agentflight 0.2.0 → 0.3.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 +7 -3
- package/dist/adapters/agentloopkit.d.ts.map +1 -1
- package/dist/adapters/agentloopkit.js +26 -7
- package/dist/adapters/agentloopkit.js.map +1 -1
- package/dist/adapters/projscan.d.ts.map +1 -1
- package/dist/adapters/projscan.js +26 -7
- package/dist/adapters/projscan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +11 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +17 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/replay.d.ts +1 -0
- package/dist/commands/replay.d.ts.map +1 -1
- package/dist/commands/replay.js +20 -8
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/report.d.ts +1 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +19 -2
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/resume.d.ts +1 -0
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +20 -1
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/snapshot.d.ts +13 -0
- package/dist/commands/snapshot.d.ts.map +1 -0
- package/dist/commands/snapshot.js +45 -0
- package/dist/commands/snapshot.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +28 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +26 -2
- package/dist/commands/verify.js.map +1 -1
- package/dist/core/risk.d.ts.map +1 -1
- package/dist/core/risk.js +3 -0
- package/dist/core/risk.js.map +1 -1
- package/dist/core/session.d.ts +14 -1
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +78 -0
- package/dist/core/session.js.map +1 -1
- package/dist/core/verification.js +3 -1
- package/dist/core/verification.js.map +1 -1
- package/dist/renderers/html-replay.d.ts +4 -5
- package/dist/renderers/html-replay.d.ts.map +1 -1
- package/dist/renderers/html-replay.js +40 -2
- package/dist/renderers/html-replay.js.map +1 -1
- package/dist/renderers/markdown-report.d.ts +2 -1
- package/dist/renderers/markdown-report.d.ts.map +1 -1
- package/dist/renderers/markdown-report.js +13 -0
- package/dist/renderers/markdown-report.js.map +1 -1
- package/dist/renderers/resume-prompt.d.ts +2 -0
- package/dist/renderers/resume-prompt.d.ts.map +1 -1
- package/dist/renderers/resume-prompt.js +6 -0
- package/dist/renderers/resume-prompt.js.map +1 -1
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ AgentFlight creates a local `.agentflight/` directory in your repo:
|
|
|
28
28
|
- `reports/` stores Markdown proof reports and HTML replays.
|
|
29
29
|
- `evidence/` stores stdout and stderr from captured verification runs.
|
|
30
30
|
|
|
31
|
-
Reports include filenames and summaries by default, not full source diffs. AgentFlight does not collect telemetry and does not upload source code.
|
|
31
|
+
Sessions also store an `events` timeline with meaningful moments such as session start, verification attempts, snapshots, and generated artifacts. Reports include filenames and summaries by default, not full source diffs. AgentFlight does not collect telemetry and does not upload source code.
|
|
32
32
|
|
|
33
33
|
## Quick Start
|
|
34
34
|
|
|
@@ -39,6 +39,7 @@ npx agentflight init
|
|
|
39
39
|
npx agentflight start --task "Add example feature"
|
|
40
40
|
npx agentflight status
|
|
41
41
|
npx agentflight verify -- npm test
|
|
42
|
+
npx agentflight snapshot --note "Tests passing locally"
|
|
42
43
|
npx agentflight report
|
|
43
44
|
npx agentflight replay
|
|
44
45
|
npx agentflight resume
|
|
@@ -59,6 +60,7 @@ npm run agentflight -- start --task "Add example feature"
|
|
|
59
60
|
- `agentflight status` summarizes changed files, risk, verification status, and next action.
|
|
60
61
|
- `agentflight verify -- <command>` runs a proof command and records stdout/stderr evidence.
|
|
61
62
|
- `agentflight verify` runs commands from `.agentflight/config.json`.
|
|
63
|
+
- `agentflight snapshot --note "..."` records current git, risk, and verification state as a timeline event.
|
|
62
64
|
- `agentflight report` generates a Markdown proof report.
|
|
63
65
|
- `agentflight replay` generates a local self-contained HTML replay.
|
|
64
66
|
- `agentflight resume` prints and saves a Codex/Claude-ready continuation prompt.
|
|
@@ -77,12 +79,13 @@ agentflight start --task "Add password reset flow"
|
|
|
77
79
|
agentflight status
|
|
78
80
|
agentflight verify -- npm run typecheck
|
|
79
81
|
agentflight verify -- npm test
|
|
82
|
+
agentflight snapshot --note "Implementation and proof complete"
|
|
80
83
|
agentflight report
|
|
81
84
|
agentflight replay
|
|
82
85
|
agentflight resume
|
|
83
86
|
```
|
|
84
87
|
|
|
85
|
-
Use `agentflight verify -- <command>` when you want AgentFlight to capture proof. The command records exit code, timing, stdout path, and stderr path in the current session. Use the generated report for review and the resume prompt when handing the work to another agent or human.
|
|
88
|
+
Use `agentflight verify -- <command>` when you want AgentFlight to capture proof. The command records exit code, timing, stdout path, and stderr path in the current session, then prints the evidence paths. Use `agentflight snapshot --note "..."` at meaningful milestones so replay and report artifacts show the session timeline. Use the generated report for review and the resume prompt when handing the work to another agent or human.
|
|
86
89
|
|
|
87
90
|
## Powered By ProjScan And AgentLoopKit
|
|
88
91
|
|
|
@@ -114,7 +117,7 @@ Runtime session data is ignored by git by default:
|
|
|
114
117
|
|
|
115
118
|
## Current Status
|
|
116
119
|
|
|
117
|
-
AgentFlight current
|
|
120
|
+
AgentFlight current package version is `0.3.0`, centered on local session timelines, snapshots, and verification evidence.
|
|
118
121
|
|
|
119
122
|
Implemented:
|
|
120
123
|
|
|
@@ -127,6 +130,7 @@ Implemented:
|
|
|
127
130
|
- Resume prompt generation
|
|
128
131
|
- Doctor checks
|
|
129
132
|
- Verification evidence capture with `agentflight verify`
|
|
133
|
+
- Session events and snapshots with `agentflight snapshot`
|
|
130
134
|
- Defensive ProjScan and AgentLoopKit adapters
|
|
131
135
|
- Vitest coverage for core behavior, renderers, adapters, and command workflow
|
|
132
136
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentloopkit.d.ts","sourceRoot":"","sources":["../../src/adapters/agentloopkit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agentloopkit.d.ts","sourceRoot":"","sources":["../../src/adapters/agentloopkit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAsC5B;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,aAA0B,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAoC5B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
1
2
|
import { runCommand } from "../core/process.js";
|
|
2
3
|
export async function inspectAgentLoopKit(options = {}) {
|
|
3
4
|
const run = options.run ?? runCommand;
|
|
@@ -12,7 +13,7 @@ export async function inspectAgentLoopKit(options = {}) {
|
|
|
12
13
|
const doctor = await runWithFallback(run, command, "agentloopkit@latest", ["doctor"], options.cwd, 20_000);
|
|
13
14
|
const result = {
|
|
14
15
|
available: true,
|
|
15
|
-
version: version.stdout
|
|
16
|
+
version: normalizeVersion(version.stdout),
|
|
16
17
|
summary: doctor.stdout.trim() || "AgentLoopKit available for task discipline.",
|
|
17
18
|
warnings: []
|
|
18
19
|
};
|
|
@@ -53,16 +54,34 @@ function summarizeFailure(result) {
|
|
|
53
54
|
return (result.stderr || result.stdout || "no output").trim();
|
|
54
55
|
}
|
|
55
56
|
async function runWithFallback(run, localCommand, packageName, args, cwd, timeoutMs = 10_000) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
const localFailures = [];
|
|
58
|
+
for (const candidate of repoLocalCommandCandidates(localCommand, cwd)) {
|
|
59
|
+
const local = await run(candidate, args, { cwd, timeoutMs });
|
|
60
|
+
if (local.exitCode === 0)
|
|
61
|
+
return local;
|
|
62
|
+
localFailures.push(local);
|
|
63
|
+
}
|
|
59
64
|
const fallback = await run("npx", ["--yes", packageName, ...args], { cwd, timeoutMs });
|
|
60
65
|
if (fallback.exitCode === 0)
|
|
61
66
|
return fallback;
|
|
67
|
+
const pathCommand = await run(localCommand, args, { cwd, timeoutMs });
|
|
68
|
+
if (pathCommand.exitCode === 0)
|
|
69
|
+
return pathCommand;
|
|
62
70
|
return {
|
|
63
|
-
exitCode:
|
|
64
|
-
stdout:
|
|
65
|
-
stderr: `${summarizeFailure(
|
|
71
|
+
exitCode: pathCommand.exitCode,
|
|
72
|
+
stdout: pathCommand.stdout,
|
|
73
|
+
stderr: `${localFailures.map(summarizeFailure).join("; ")}; npx fallback failed: ${summarizeFailure(fallback)}; PATH command failed: ${summarizeFailure(pathCommand)}`
|
|
66
74
|
};
|
|
67
75
|
}
|
|
76
|
+
function repoLocalCommandCandidates(command, cwd) {
|
|
77
|
+
if (!cwd || command.includes("/") || command.includes("\\"))
|
|
78
|
+
return [];
|
|
79
|
+
const executable = process.platform === "win32" ? `${command}.cmd` : command;
|
|
80
|
+
return [join(cwd, "node_modules", ".bin", executable)];
|
|
81
|
+
}
|
|
82
|
+
function normalizeVersion(output) {
|
|
83
|
+
const trimmed = output.trim();
|
|
84
|
+
const match = trimmed.match(/\bv?(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)\b/);
|
|
85
|
+
return match?.[1] ?? trimmed;
|
|
86
|
+
}
|
|
68
87
|
//# sourceMappingURL=agentloopkit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentloopkit.js","sourceRoot":"","sources":["../../src/adapters/agentloopkit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agentloopkit.js","sourceRoot":"","sources":["../../src/adapters/agentloopkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projscan.d.ts","sourceRoot":"","sources":["../../src/adapters/projscan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projscan.d.ts","sourceRoot":"","sources":["../../src/adapters/projscan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,eAAe,CACnC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,iBAAiB,CAAC,CA+B5B;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,aAA0B,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAsB5B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
1
2
|
import { runCommand } from "../core/process.js";
|
|
2
3
|
export async function inspectProjScan(options = {}) {
|
|
3
4
|
const run = options.run ?? runCommand;
|
|
@@ -12,7 +13,7 @@ export async function inspectProjScan(options = {}) {
|
|
|
12
13
|
const help = await runWithFallback(run, command, "projscan@latest", ["--help"], options.cwd);
|
|
13
14
|
const result = {
|
|
14
15
|
available: true,
|
|
15
|
-
version: version.stdout
|
|
16
|
+
version: normalizeVersion(version.stdout),
|
|
16
17
|
summary: "ProjScan available for repo intelligence and risk analysis.",
|
|
17
18
|
warnings: []
|
|
18
19
|
};
|
|
@@ -39,16 +40,34 @@ function summarizeFailure(result) {
|
|
|
39
40
|
return (result.stderr || result.stdout || "no output").trim();
|
|
40
41
|
}
|
|
41
42
|
async function runWithFallback(run, localCommand, packageName, args, cwd, timeoutMs = 10_000) {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const localFailures = [];
|
|
44
|
+
for (const candidate of repoLocalCommandCandidates(localCommand, cwd)) {
|
|
45
|
+
const local = await run(candidate, args, { cwd, timeoutMs });
|
|
46
|
+
if (local.exitCode === 0)
|
|
47
|
+
return local;
|
|
48
|
+
localFailures.push(local);
|
|
49
|
+
}
|
|
45
50
|
const fallback = await run("npx", ["--yes", packageName, ...args], { cwd, timeoutMs });
|
|
46
51
|
if (fallback.exitCode === 0)
|
|
47
52
|
return fallback;
|
|
53
|
+
const pathCommand = await run(localCommand, args, { cwd, timeoutMs });
|
|
54
|
+
if (pathCommand.exitCode === 0)
|
|
55
|
+
return pathCommand;
|
|
48
56
|
return {
|
|
49
|
-
exitCode:
|
|
50
|
-
stdout:
|
|
51
|
-
stderr: `${summarizeFailure(
|
|
57
|
+
exitCode: pathCommand.exitCode,
|
|
58
|
+
stdout: pathCommand.stdout,
|
|
59
|
+
stderr: `${localFailures.map(summarizeFailure).join("; ")}; npx fallback failed: ${summarizeFailure(fallback)}; PATH command failed: ${summarizeFailure(pathCommand)}`
|
|
52
60
|
};
|
|
53
61
|
}
|
|
62
|
+
function repoLocalCommandCandidates(command, cwd) {
|
|
63
|
+
if (!cwd || command.includes("/") || command.includes("\\"))
|
|
64
|
+
return [];
|
|
65
|
+
const executable = process.platform === "win32" ? `${command}.cmd` : command;
|
|
66
|
+
return [join(cwd, "node_modules", ".bin", executable)];
|
|
67
|
+
}
|
|
68
|
+
function normalizeVersion(output) {
|
|
69
|
+
const trimmed = output.trim();
|
|
70
|
+
const match = trimmed.match(/\bv?(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)\b/);
|
|
71
|
+
return match?.[1] ?? trimmed;
|
|
72
|
+
}
|
|
54
73
|
//# sourceMappingURL=projscan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projscan.js","sourceRoot":"","sources":["../../src/adapters/projscan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projscan.js","sourceRoot":"","sources":["../../src/adapters/projscan.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,SAAS,IAAI,OAAO,CAuGnC;AAeD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG5F"}
|
package/dist/cli.js
CHANGED
|
@@ -9,6 +9,7 @@ import { runInitCommand } from "./commands/init.js";
|
|
|
9
9
|
import { runReplayCommand } from "./commands/replay.js";
|
|
10
10
|
import { runReportCommand } from "./commands/report.js";
|
|
11
11
|
import { runResumeCommand } from "./commands/resume.js";
|
|
12
|
+
import { runSnapshotCommand } from "./commands/snapshot.js";
|
|
12
13
|
import { runStartCommand } from "./commands/start.js";
|
|
13
14
|
import { runStatusCommand } from "./commands/status.js";
|
|
14
15
|
import { runVerifyCommand } from "./commands/verify.js";
|
|
@@ -54,6 +55,16 @@ export function createCli() {
|
|
|
54
55
|
commandArgs
|
|
55
56
|
}));
|
|
56
57
|
});
|
|
58
|
+
program
|
|
59
|
+
.command("snapshot")
|
|
60
|
+
.description("Record a timeline snapshot for the current session.")
|
|
61
|
+
.option("--note <note>", "short snapshot note")
|
|
62
|
+
.action(async (options) => {
|
|
63
|
+
await printResult(runSnapshotCommand({
|
|
64
|
+
repoRoot: await getRepositoryRoot(process.cwd()),
|
|
65
|
+
note: options.note
|
|
66
|
+
}));
|
|
67
|
+
});
|
|
57
68
|
program
|
|
58
69
|
.command("report")
|
|
59
70
|
.description("Generate a Markdown proof report for the current session.")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,mDAAmD,CAAC;SAChE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEjC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,uCAAuC,CAAC;SACpD,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC;SAC7C,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,OAAwC,EAAE,EAAE;QACzD,MAAM,WAAW,CACf,eAAe,CAAC;YACd,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAChD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sEAAsE,CAAC;SACnF,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC;SAC1B,QAAQ,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,WAAqB,EAAE,EAAE;QACtC,MAAM,WAAW,CACf,gBAAgB,CAAC;YACf,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAChD,WAAW;SACZ,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEL,KAAK,MAAM,WAAW,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO;aACJ,OAAO,CAAC,WAAW,CAAC;aACpB,WAAW,CAAC,0CAA0C,CAAC;aACvD,MAAM,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAuD;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,QAA4B;IACjF,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAE3F,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAA0B,CAAC;QAC3F,OAAO,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface DoctorCommandOptions {
|
|
|
7
7
|
packageManager?: string | null | undefined;
|
|
8
8
|
projscanAvailable?: boolean | undefined;
|
|
9
9
|
agentloopkitAvailable?: boolean | undefined;
|
|
10
|
+
now?: Date | undefined;
|
|
10
11
|
}
|
|
11
12
|
export interface DoctorCommandResult {
|
|
12
13
|
output: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAgD9B"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -9,6 +9,8 @@ import { renderStatus } from "../core/output.js";
|
|
|
9
9
|
import { detectPackageManager, readPackageJson } from "../core/project.js";
|
|
10
10
|
import { runCommand } from "../core/process.js";
|
|
11
11
|
import { resolveAgentFlightPaths } from "../core/paths.js";
|
|
12
|
+
import { appendSessionEvent } from "../core/session.js";
|
|
13
|
+
import { readCurrentSession } from "./status.js";
|
|
12
14
|
export async function runDoctorCommand(options) {
|
|
13
15
|
const paths = resolveAgentFlightPaths(options.repoRoot);
|
|
14
16
|
const packageJson = await readPackageJson(options.repoRoot);
|
|
@@ -48,11 +50,26 @@ export async function runDoctorCommand(options) {
|
|
|
48
50
|
lint: Boolean(scripts.lint)
|
|
49
51
|
}
|
|
50
52
|
});
|
|
53
|
+
await recordDoctorEvent(options.repoRoot, result.status, options.now ?? new Date());
|
|
51
54
|
return {
|
|
52
55
|
output: renderDoctor(result),
|
|
53
56
|
result
|
|
54
57
|
};
|
|
55
58
|
}
|
|
59
|
+
async function recordDoctorEvent(repoRoot, status, now) {
|
|
60
|
+
try {
|
|
61
|
+
const session = await readCurrentSession(repoRoot);
|
|
62
|
+
await appendSessionEvent(repoRoot, session, {
|
|
63
|
+
type: "doctor_run",
|
|
64
|
+
timestamp: now,
|
|
65
|
+
title: "Doctor run",
|
|
66
|
+
metadata: { status }
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Doctor should still report configuration issues when no session is active or writable.
|
|
71
|
+
}
|
|
72
|
+
}
|
|
56
73
|
async function getNpmVersion(repoRoot) {
|
|
57
74
|
const result = await runCommand("npm", ["--version"], { cwd: repoRoot, timeoutMs: 10_000 });
|
|
58
75
|
return result.exitCode === 0 ? result.stdout.trim() : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/commands/replay.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/commands/replay.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAuC9B"}
|
package/dist/commands/replay.js
CHANGED
|
@@ -2,6 +2,7 @@ import { writeTextFileSafe } from "../core/fs-safe.js";
|
|
|
2
2
|
import { listChangedFiles } from "../core/git.js";
|
|
3
3
|
import { resolveAgentFlightPaths } from "../core/paths.js";
|
|
4
4
|
import { analyzeRisk } from "../core/risk.js";
|
|
5
|
+
import { addSessionEvent, getSessionTimelineEvents, saveSession } from "../core/session.js";
|
|
5
6
|
import { buildVerificationSummary } from "../core/verification.js";
|
|
6
7
|
import { renderHtmlReplay } from "../renderers/html-replay.js";
|
|
7
8
|
import { readCurrentSession } from "./status.js";
|
|
@@ -14,23 +15,28 @@ export async function runReplayCommand(options) {
|
|
|
14
15
|
riskLevel: risk.level
|
|
15
16
|
});
|
|
16
17
|
const replayPath = `${resolveAgentFlightPaths(options.repoRoot).reports}/${session.id}-replay.html`;
|
|
18
|
+
const updatedSession = addSessionEvent(session, {
|
|
19
|
+
type: "replay_generated",
|
|
20
|
+
timestamp: options.now ?? new Date(),
|
|
21
|
+
title: "Replay generated",
|
|
22
|
+
metadata: {
|
|
23
|
+
path: `.agentflight/reports/${session.id}-replay.html`
|
|
24
|
+
}
|
|
25
|
+
});
|
|
17
26
|
const html = renderHtmlReplay({
|
|
18
27
|
task: session.task.title,
|
|
19
28
|
sessionId: session.id,
|
|
20
29
|
startedAt: session.startedAt,
|
|
21
|
-
timeline:
|
|
22
|
-
{ label: "Session started", timestamp: session.startedAt },
|
|
23
|
-
...verification.runs.map((run) => ({
|
|
24
|
-
label: `Verification ${run.status}: ${run.command}`,
|
|
25
|
-
timestamp: run.finishedAt
|
|
26
|
-
}))
|
|
27
|
-
],
|
|
30
|
+
timeline: getSessionTimelineEvents(updatedSession),
|
|
28
31
|
changedFiles,
|
|
32
|
+
changedFileGroups: risk.categories,
|
|
29
33
|
riskBadges: [risk.level, ...risk.categories.map((summary) => summary.category)],
|
|
30
34
|
verificationEvidence: verification.runs,
|
|
31
|
-
|
|
35
|
+
reviewReadiness: verification.readiness,
|
|
36
|
+
recommendation: `${verification.readiness}. ${buildReplayNextAction(verification.readiness, verification.nextAction)}`
|
|
32
37
|
});
|
|
33
38
|
await writeTextFileSafe(replayPath, html, { overwrite: true });
|
|
39
|
+
await saveSession(options.repoRoot, updatedSession);
|
|
34
40
|
return {
|
|
35
41
|
output: `Replay generated:
|
|
36
42
|
${replayPath}
|
|
@@ -38,4 +44,10 @@ ${replayPath}
|
|
|
38
44
|
replayPath
|
|
39
45
|
};
|
|
40
46
|
}
|
|
47
|
+
function buildReplayNextAction(readiness, fallback) {
|
|
48
|
+
if (readiness === "Ready for review") {
|
|
49
|
+
return "Use this replay for review and handoff; continue only scoped follow-up work.";
|
|
50
|
+
}
|
|
51
|
+
return fallback;
|
|
52
|
+
}
|
|
41
53
|
//# sourceMappingURL=replay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/commands/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/commands/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAajD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA6B;IAE7B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE;QACrD,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,SAAS,EAAE,IAAI,CAAC,KAAK;KACtB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,cAAc,CAAC;IACpG,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;QACpC,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE;YACR,IAAI,EAAE,wBAAwB,OAAO,CAAC,EAAE,cAAc;SACvD;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACxB,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,wBAAwB,CAAC,cAAc,CAAC;QAClD,YAAY;QACZ,iBAAiB,EAAE,IAAI,CAAC,UAAU;QAClC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/E,oBAAoB,EAAE,YAAY,CAAC,IAAI;QACvC,eAAe,EAAE,YAAY,CAAC,SAAS;QACvC,cAAc,EAAE,GAAG,YAAY,CAAC,SAAS,KAAK,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE;KACvH,CAAC,CAAC;IAEH,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEpD,OAAO;QACL,MAAM,EAAE;EACV,UAAU;CACX;QACG,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,QAAgB;IAChE,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACrC,OAAO,8EAA8E,CAAC;IACxF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAyC9B"}
|
package/dist/commands/report.js
CHANGED
|
@@ -2,6 +2,7 @@ import { writeTextFileSafe } from "../core/fs-safe.js";
|
|
|
2
2
|
import { listChangedFiles } from "../core/git.js";
|
|
3
3
|
import { resolveAgentFlightPaths } from "../core/paths.js";
|
|
4
4
|
import { analyzeRisk } from "../core/risk.js";
|
|
5
|
+
import { addSessionEvent, getSessionTimelineEvents, saveSession } from "../core/session.js";
|
|
5
6
|
import { buildVerificationSummary } from "../core/verification.js";
|
|
6
7
|
import { renderMarkdownReport } from "../renderers/markdown-report.js";
|
|
7
8
|
import { readCurrentSession } from "./status.js";
|
|
@@ -13,21 +14,31 @@ export async function runReportCommand(options) {
|
|
|
13
14
|
changedFilesCount: changedFiles.length,
|
|
14
15
|
riskLevel: risk.level
|
|
15
16
|
});
|
|
17
|
+
const reportPath = `${resolveAgentFlightPaths(options.repoRoot).reports}/${session.id}-proof.md`;
|
|
18
|
+
const updatedSession = addSessionEvent(session, {
|
|
19
|
+
type: "report_generated",
|
|
20
|
+
timestamp: options.now ?? new Date(),
|
|
21
|
+
title: "Report generated",
|
|
22
|
+
metadata: {
|
|
23
|
+
path: `.agentflight/reports/${session.id}-proof.md`
|
|
24
|
+
}
|
|
25
|
+
});
|
|
16
26
|
const report = renderMarkdownReport({
|
|
17
27
|
task: session.task.title,
|
|
18
28
|
sessionId: session.id,
|
|
19
29
|
startedAt: session.startedAt,
|
|
20
30
|
changedFiles,
|
|
31
|
+
timelineEvents: getSessionTimelineEvents(updatedSession),
|
|
21
32
|
risk,
|
|
22
33
|
verificationCommands: session.verificationCommands,
|
|
23
34
|
verificationEvidence: verification.runs,
|
|
24
35
|
verificationGaps: verification.gaps,
|
|
25
36
|
recommendation: verification.readiness,
|
|
26
|
-
nextAction: verification.nextAction,
|
|
37
|
+
nextAction: buildReportNextAction(verification.readiness, verification.nextAction),
|
|
27
38
|
tooling: session.tools
|
|
28
39
|
});
|
|
29
|
-
const reportPath = `${resolveAgentFlightPaths(options.repoRoot).reports}/${session.id}-proof.md`;
|
|
30
40
|
await writeTextFileSafe(reportPath, report, { overwrite: true });
|
|
41
|
+
await saveSession(options.repoRoot, updatedSession);
|
|
31
42
|
return {
|
|
32
43
|
output: `Report generated:
|
|
33
44
|
${reportPath}
|
|
@@ -35,4 +46,10 @@ ${reportPath}
|
|
|
35
46
|
reportPath
|
|
36
47
|
};
|
|
37
48
|
}
|
|
49
|
+
function buildReportNextAction(readiness, fallback) {
|
|
50
|
+
if (readiness === "Ready for review") {
|
|
51
|
+
return "Share this report with the reviewer and keep follow-up scoped to the risk areas above.";
|
|
52
|
+
}
|
|
53
|
+
return fallback;
|
|
54
|
+
}
|
|
38
55
|
//# sourceMappingURL=report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAajD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA6B;IAE7B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE;QACrD,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,SAAS,EAAE,IAAI,CAAC,KAAK;KACtB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,WAAW,CAAC;IACjG,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;QACpC,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE;YACR,IAAI,EAAE,wBAAwB,OAAO,CAAC,EAAE,WAAW;SACpD;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACxB,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;QACZ,cAAc,EAAE,wBAAwB,CAAC,cAAc,CAAC;QACxD,IAAI;QACJ,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,oBAAoB,EAAE,YAAY,CAAC,IAAI;QACvC,gBAAgB,EAAE,YAAY,CAAC,IAAI;QACnC,cAAc,EAAE,YAAY,CAAC,SAAS;QACtC,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC;QAClF,OAAO,EAAE,OAAO,CAAC,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEpD,OAAO;QACL,MAAM,EAAE;EACV,UAAU;CACX;QACG,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,QAAgB;IAChE,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACrC,OAAO,wFAAwF,CAAC;IAClG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAsC9B"}
|
package/dist/commands/resume.js
CHANGED
|
@@ -2,6 +2,7 @@ import { writeTextFileSafe } from "../core/fs-safe.js";
|
|
|
2
2
|
import { listChangedFiles } from "../core/git.js";
|
|
3
3
|
import { resolveAgentFlightPaths } from "../core/paths.js";
|
|
4
4
|
import { analyzeRisk } from "../core/risk.js";
|
|
5
|
+
import { addSessionEvent, getLatestSessionEvent, saveSession } from "../core/session.js";
|
|
5
6
|
import { buildVerificationSummary } from "../core/verification.js";
|
|
6
7
|
import { renderResumePrompt } from "../renderers/resume-prompt.js";
|
|
7
8
|
import { readCurrentSession } from "./status.js";
|
|
@@ -13,6 +14,15 @@ export async function runResumeCommand(options) {
|
|
|
13
14
|
changedFilesCount: changedFiles.length,
|
|
14
15
|
riskLevel: risk.level
|
|
15
16
|
});
|
|
17
|
+
const latestSnapshot = getLatestSessionEvent(session, "snapshot_created");
|
|
18
|
+
const updatedSession = addSessionEvent(session, {
|
|
19
|
+
type: "resume_generated",
|
|
20
|
+
timestamp: options.now ?? new Date(),
|
|
21
|
+
title: "Resume prompt generated",
|
|
22
|
+
metadata: {
|
|
23
|
+
path: ".agentflight/current/resume-prompt.md"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
16
26
|
const prompt = renderResumePrompt({
|
|
17
27
|
task: session.task.title,
|
|
18
28
|
sessionId: session.id,
|
|
@@ -21,13 +31,22 @@ export async function runResumeCommand(options) {
|
|
|
21
31
|
riskLevel: risk.level,
|
|
22
32
|
riskReasons: risk.reasons,
|
|
23
33
|
verificationGaps: verification.gaps,
|
|
24
|
-
|
|
34
|
+
latestSnapshotNote: latestSnapshot?.message,
|
|
35
|
+
verificationState: `${verification.passed} passed, ${verification.failed} failed`,
|
|
36
|
+
nextAction: buildResumeNextAction(verification.readiness, verification.nextAction)
|
|
25
37
|
});
|
|
26
38
|
const resumePath = resolveAgentFlightPaths(options.repoRoot).currentResumePrompt;
|
|
27
39
|
await writeTextFileSafe(resumePath, prompt, { overwrite: true });
|
|
40
|
+
await saveSession(options.repoRoot, updatedSession);
|
|
28
41
|
return {
|
|
29
42
|
output: prompt,
|
|
30
43
|
resumePath
|
|
31
44
|
};
|
|
32
45
|
}
|
|
46
|
+
function buildResumeNextAction(readiness, fallback) {
|
|
47
|
+
if (readiness === "Ready for review") {
|
|
48
|
+
return "Use the generated report or replay if available, then hand off for review or continue only scoped follow-up work.";
|
|
49
|
+
}
|
|
50
|
+
return fallback;
|
|
51
|
+
}
|
|
33
52
|
//# sourceMappingURL=resume.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAajD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA6B;IAE7B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE;QACrD,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,SAAS,EAAE,IAAI,CAAC,KAAK;KACtB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE;QAC9C,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE;QACpC,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE;YACR,IAAI,EAAE,uCAAuC;SAC9C;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACxB,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;QAC1B,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,gBAAgB,EAAE,YAAY,CAAC,IAAI;QACnC,kBAAkB,EAAE,cAAc,EAAE,OAAO;QAC3C,iBAAiB,EAAE,GAAG,YAAY,CAAC,MAAM,YAAY,YAAY,CAAC,MAAM,SAAS;QACjF,UAAU,EAAE,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC;KACnF,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;IAEjF,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEpD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,QAAgB;IAChE,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACrC,OAAO,mHAAmH,CAAC;IAC7H,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GitInfo, SessionEvent } from "../types/index.js";
|
|
2
|
+
export interface SnapshotCommandOptions {
|
|
3
|
+
repoRoot: string;
|
|
4
|
+
note?: string | undefined;
|
|
5
|
+
now?: Date | undefined;
|
|
6
|
+
git?: GitInfo | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface SnapshotCommandResult {
|
|
9
|
+
output: string;
|
|
10
|
+
event: SessionEvent;
|
|
11
|
+
}
|
|
12
|
+
export declare function runSnapshotCommand(options: SnapshotCommandOptions): Promise<SnapshotCommandResult>;
|
|
13
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/commands/snapshot.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAyChC"}
|