agentflight 0.2.0 → 0.3.1

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/README.md +171 -88
  3. package/dist/adapters/agentloopkit.d.ts.map +1 -1
  4. package/dist/adapters/agentloopkit.js +26 -7
  5. package/dist/adapters/agentloopkit.js.map +1 -1
  6. package/dist/adapters/projscan.d.ts.map +1 -1
  7. package/dist/adapters/projscan.js +26 -7
  8. package/dist/adapters/projscan.js.map +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +11 -0
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/doctor.d.ts +1 -0
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +17 -0
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/replay.d.ts +1 -0
  17. package/dist/commands/replay.d.ts.map +1 -1
  18. package/dist/commands/replay.js +20 -8
  19. package/dist/commands/replay.js.map +1 -1
  20. package/dist/commands/report.d.ts +1 -0
  21. package/dist/commands/report.d.ts.map +1 -1
  22. package/dist/commands/report.js +19 -2
  23. package/dist/commands/report.js.map +1 -1
  24. package/dist/commands/resume.d.ts +1 -0
  25. package/dist/commands/resume.d.ts.map +1 -1
  26. package/dist/commands/resume.js +20 -1
  27. package/dist/commands/resume.js.map +1 -1
  28. package/dist/commands/snapshot.d.ts +13 -0
  29. package/dist/commands/snapshot.d.ts.map +1 -0
  30. package/dist/commands/snapshot.js +45 -0
  31. package/dist/commands/snapshot.js.map +1 -0
  32. package/dist/commands/status.d.ts.map +1 -1
  33. package/dist/commands/status.js +28 -2
  34. package/dist/commands/status.js.map +1 -1
  35. package/dist/commands/verify.d.ts.map +1 -1
  36. package/dist/commands/verify.js +26 -2
  37. package/dist/commands/verify.js.map +1 -1
  38. package/dist/core/risk.d.ts.map +1 -1
  39. package/dist/core/risk.js +3 -0
  40. package/dist/core/risk.js.map +1 -1
  41. package/dist/core/session.d.ts +14 -1
  42. package/dist/core/session.d.ts.map +1 -1
  43. package/dist/core/session.js +78 -0
  44. package/dist/core/session.js.map +1 -1
  45. package/dist/core/verification.js +3 -1
  46. package/dist/core/verification.js.map +1 -1
  47. package/dist/renderers/html-replay.d.ts +4 -5
  48. package/dist/renderers/html-replay.d.ts.map +1 -1
  49. package/dist/renderers/html-replay.js +40 -2
  50. package/dist/renderers/html-replay.js.map +1 -1
  51. package/dist/renderers/markdown-report.d.ts +2 -1
  52. package/dist/renderers/markdown-report.d.ts.map +1 -1
  53. package/dist/renderers/markdown-report.js +13 -0
  54. package/dist/renderers/markdown-report.js.map +1 -1
  55. package/dist/renderers/resume-prompt.d.ts +2 -0
  56. package/dist/renderers/resume-prompt.d.ts.map +1 -1
  57. package/dist/renderers/resume-prompt.js +6 -0
  58. package/dist/renderers/resume-prompt.js.map +1 -1
  59. package/dist/types/index.d.ts +10 -0
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/docs/assets/agentflight-replay-timeline.png +0 -0
  62. package/docs/development/dogfooding.md +173 -0
  63. package/docs/development/release.md +66 -0
  64. package/docs/examples/basic-agentflight-session.md +164 -0
  65. package/docs/roadmap.md +49 -0
  66. package/package.json +12 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,140 @@
1
+ # Changelog
2
+
3
+ All notable AgentFlight changes are documented here.
4
+
5
+ ## [0.3.1] - 2026-06-13
6
+
7
+ ### Changed
8
+
9
+ - Reworked the README around a clearer 60-second AgentFlight workflow.
10
+ - Added sample CLI output for status, report, replay, and resume.
11
+ - Added a replay timeline screenshot to make the v0.3.0 experience easier to understand.
12
+ - Added a basic example session walkthrough and v0.3.0 launch-note drafts.
13
+ - Improved npm keywords and package metadata.
14
+ - Narrowed packaged files to include useful README-linked docs/assets without shipping marketing drafts.
15
+
16
+ ### Documentation
17
+
18
+ - Added launch notes draft for v0.3.0 public/demo positioning.
19
+ - Updated development log with post-v0.3.0 polish verification.
20
+
21
+ ### Verification
22
+
23
+ - `npm run verify` passed.
24
+ - `npm run format:check` passed.
25
+ - `npm pack --dry-run` passed.
26
+ - `npm audit --audit-level=moderate` found `0 vulnerabilities`.
27
+ - ProjScan preflight passed.
28
+ - AgentLoopKit verification passed.
29
+
30
+ ## [0.3.0] - 2026-06-13
31
+
32
+ AgentFlight now records session events and snapshots so reports and replays show how a coding session evolved.
33
+
34
+ ### Added
35
+
36
+ - Added `agentflight snapshot --note "..."` to record a local checkpoint for the active session.
37
+ - Added session-level `events` with backward compatibility for older sessions.
38
+ - Added event recording for session start, verification attempts, snapshots, report generation, replay generation, resume prompt generation, and doctor runs.
39
+ - Added timeline sections to Markdown reports and HTML replays.
40
+ - Added latest snapshot context to status and resume prompts.
41
+ - Added changed-file groups to replay output.
42
+ - Added tests for session events, snapshot creation, missing active sessions, timeline rendering, older session compatibility, and verification events.
43
+
44
+ ### Changed
45
+
46
+ - Replays now feel more like flight recorder timelines instead of final-state summaries.
47
+ - Reports now include a concise event timeline before changed files and proof evidence.
48
+ - Resume prompts now include latest snapshot notes and current verification state.
49
+
50
+ ### Verification
51
+
52
+ - `npm run verify` passed.
53
+ - `npm run format:check` passed.
54
+ - `npm pack --dry-run` passed for `agentflight@0.3.0`.
55
+ - `npm audit --audit-level=moderate` found `0 vulnerabilities`.
56
+ - ProjScan preflight passed with health `100/100`.
57
+ - AgentLoopKit verification passed.
58
+
59
+ ## [0.2.1] - 2026-06-13
60
+
61
+ Patch release candidate focused on friction found while dogfooding the v0.2.0 core workflow.
62
+
63
+ ### Changed
64
+
65
+ - `agentflight verify` now prints the stdout and stderr evidence paths immediately after each recorded run.
66
+ - Failed verification output and downstream next actions now include the exact command to rerun.
67
+ - `agentflight report`, `agentflight replay`, and `agentflight resume` now avoid stale "generate a report" next actions once proof is ready.
68
+ - HTML replays now include a compact summary strip for risk, changed files, proof counts, and review readiness.
69
+ - AgentLoopKit workflow files under `.agentloop/` are treated as low-risk dogfooding artifacts instead of unknown code changes.
70
+
71
+ ### Fixed
72
+
73
+ - ProjScan and AgentLoopKit adapters now prefer repo-local `node_modules/.bin` binaries before PATH-global commands, preventing stale global versions from appearing in reports.
74
+ - Tool adapter version output is normalized when CLIs include decorated version text.
75
+
76
+ ### Verification
77
+
78
+ - Targeted v0.2.1 regression tests passed.
79
+ - `npm run verify` passed.
80
+ - `npm run format:check` passed.
81
+ - `npm pack --dry-run` passed for `agentflight@0.2.1`.
82
+ - `npm audit --audit-level=moderate` found `0 vulnerabilities`.
83
+ - ProjScan preflight passed with health `100/100`.
84
+ - AgentLoopKit verification passed.
85
+
86
+ ## [0.2.0] - 2026-06-13
87
+
88
+ AgentFlight now captures real verification evidence and uses it across status, report, replay, and resume.
89
+
90
+ ### Added
91
+
92
+ - Added `agentflight verify` to run verification commands and capture local evidence.
93
+ - Added verification run persistence in session records, including command, timestamps, duration, exit code, status, stdout path, and stderr path.
94
+ - Added `.agentflight/evidence/` for local stdout/stderr artifacts.
95
+ - Added evidence-aware status, report, replay, and resume outputs.
96
+ - Added tests for verification success, failure, persistence, evidence-aware outputs, and v0.1 session compatibility.
97
+
98
+ ### Changed
99
+
100
+ - `agentflight status` now reports changed areas, proof gaps, review readiness, and a next action based on captured evidence.
101
+ - `agentflight report` now includes verification evidence and honest review recommendations.
102
+ - `agentflight replay` now renders verification cards in the local HTML artifact.
103
+ - `agentflight resume` now includes verification gaps, the exact next command, and stronger continuation guardrails.
104
+
105
+ ### Fixed
106
+
107
+ - `agentflight doctor` now checks write permission for `.agentflight/`, not just path existence.
108
+ - `agentflight --version` now reports the package version instead of the stale `0.1.0` value.
109
+
110
+ ### Verification
111
+
112
+ - `npm run verify` passed.
113
+ - `npm run format:check` passed.
114
+ - `npm pack --dry-run` passed.
115
+ - `npm audit --audit-level=moderate` found 0 vulnerabilities.
116
+ - ProjScan preflight passed.
117
+ - AgentLoopKit verification passed.
118
+
119
+ ## [0.1.1] - 2026-06-13
120
+
121
+ ### Fixed
122
+
123
+ - Fixed npm `.bin` symlink invocation so `npx agentflight --help` runs the CLI instead of exiting silently.
124
+
125
+ ### Added
126
+
127
+ - Added CI verification on pushes and pull requests.
128
+ - Added tag-based npm publishing through GitHub Actions Trusted Publishing.
129
+ - Added release process documentation.
130
+
131
+ ## [0.1.0] - 2026-06-13
132
+
133
+ ### Added
134
+
135
+ - First AgentFlight MVP CLI.
136
+ - Added `init`, `start`, `status`, `report`, `replay`, `resume`, and `doctor` commands.
137
+ - Added local `.agentflight/` config, session, report, replay, and resume prompt artifacts.
138
+ - Added ProjScan and AgentLoopKit adapters with graceful fallbacks.
139
+ - Added TypeScript, Vitest, ESLint, Prettier, and npm package setup.
140
+ - Added README, architecture docs, dogfooding docs, verification docs, roadmap, and monetisation notes.
package/README.md CHANGED
@@ -2,23 +2,163 @@
2
2
 
3
3
  See what your coding agent did. Prove it works. Know what to do next.
4
4
 
5
- AgentFlight is a local-first flight recorder for AI coding agents from Baseframe Labs. It records AI-assisted coding sessions, explains what changed, highlights risk, captures proof gaps, generates replay artifacts, and produces a clean handoff for the next agent or human reviewer.
5
+ AgentFlight is a local-first flight recorder for AI coding agents from Baseframe Labs. It sits around Codex, Claude Code, Cursor, Windsurf, Gemini CLI, Aider, OpenCode, and similar tools so you can review the session instead of guessing what happened.
6
6
 
7
- AgentFlight is not another coding agent. It is the trust, observability, replay, and proof layer around tools like Codex, Claude Code, Cursor, Windsurf, Gemini CLI, Aider, OpenCode, and similar coding agents.
7
+ AgentFlight helps you:
8
8
 
9
- ## Why AgentFlight Exists
9
+ - start an AI coding session
10
+ - capture verification evidence
11
+ - see changed files and risk
12
+ - create snapshots during the session
13
+ - generate a proof report
14
+ - generate a local replay timeline
15
+ - create a resume prompt for the next agent or reviewer
10
16
 
11
- AI coding agents can move quickly, but developers still need to answer practical review questions:
17
+ ![AgentFlight replay timeline](docs/assets/agentflight-replay-timeline.png)
12
18
 
13
- - What changed?
14
- - Which files are risky?
15
- - What proof exists?
16
- - What proof is missing?
17
- - What should the next agent or reviewer do?
19
+ ## 60-Second Workflow
18
20
 
19
- AgentFlight makes those answers local, inspectable, and repeatable without uploading source code or adding cloud infrastructure.
21
+ ```bash
22
+ npx agentflight@latest init
23
+ npx agentflight@latest start --task "Add password reset flow"
24
+
25
+ # Run Codex, Claude Code, Cursor, or your coding agent normally
26
+
27
+ npx agentflight@latest verify -- npm test
28
+ npx agentflight@latest snapshot --note "Initial implementation verified"
29
+ npx agentflight@latest status
30
+ npx agentflight@latest report
31
+ npx agentflight@latest replay
32
+ npx agentflight@latest resume
33
+ ```
34
+
35
+ What you get:
36
+
37
+ - `init` creates local `.agentflight/` project files.
38
+ - `start` records the task, git branch, commit, dirty state, package manager, and tool availability.
39
+ - `verify -- npm test` runs the command and stores stdout, stderr, exit code, timing, and pass/fail status.
40
+ - `snapshot --note "..."` records the current git, risk, and proof state as a timeline event.
41
+ - `status` answers what changed, how risky it is, what proof exists, what proof is missing, and what to do next.
42
+ - `report` writes a Markdown proof report for review.
43
+ - `replay` writes a local HTML timeline you can open in a browser.
44
+ - `resume` writes a Codex/Claude-ready prompt for the next safe step.
45
+
46
+ ## Why This Exists
47
+
48
+ AI coding agents move fast. After a few prompts, you can lose track of:
49
+
50
+ - what changed
51
+ - whether the agent drifted from the task
52
+ - what was verified
53
+ - what failed
54
+ - what is safe to review
55
+ - how to resume the work later
56
+
57
+ AgentFlight gives you a local control room for that work. It records the session, captures proof, shows risk, and creates handoff artifacts without uploading source code.
58
+
59
+ ## Sample Outputs
60
+
61
+ `agentflight status`:
62
+
63
+ ```text
64
+ AgentFlight status
65
+
66
+ Task:
67
+ Add password reset flow
68
+
69
+ Changed files:
70
+ 3
71
+
72
+ Risk: medium
73
+ - Dependency, backend, or unknown files changed.
74
+
75
+ Verification Evidence:
76
+ 1 passed, 0 failed
77
+
78
+ Latest snapshot:
79
+ - Note: Initial implementation verified
80
+ - Risk: medium
81
+ - Changed files: 3
82
+
83
+ Review readiness: Ready for review
84
+
85
+ Next action:
86
+ Generate a proof report with agentflight report
87
+ ```
88
+
89
+ `agentflight report`:
90
+
91
+ ```text
92
+ # AgentFlight Proof Report
93
+
94
+ ## Recommendation
95
+ Ready for review
96
+
97
+ ## Verification Evidence
98
+ - passed: npm test
99
+ - stdout: .agentflight/evidence/.../verification-1.stdout.txt
100
+ - stderr: .agentflight/evidence/.../verification-1.stderr.txt
101
+ ```
102
+
103
+ `agentflight replay`:
104
+
105
+ ```text
106
+ Replay saved:
107
+ .agentflight/reports/af-...-replay.html
108
+
109
+ Timeline:
110
+ session_started -> verification_passed -> snapshot_created -> replay_generated
111
+ ```
112
+
113
+ `agentflight resume`:
114
+
115
+ ```text
116
+ Continue the AgentFlight session for: Add password reset flow
117
+
118
+ Latest snapshot:
119
+ Initial implementation verified
120
+
121
+ Verification state:
122
+ 1 passed, 0 failed
123
+
124
+ Guardrails:
125
+ - Stay scoped to the current task.
126
+ - Do not claim completion without proof.
127
+ - Run relevant verification before declaring success.
128
+ ```
129
+
130
+ ## Current Capabilities
20
131
 
21
- ## How It Works
132
+ The current AgentFlight release supports:
133
+
134
+ - local session setup
135
+ - active session tracking
136
+ - git branch, commit, dirty state, and changed file detection
137
+ - changed file risk categorisation
138
+ - verification evidence capture with `agentflight verify`
139
+ - session events
140
+ - snapshots with `agentflight snapshot --note "..."`
141
+ - Markdown proof reports
142
+ - self-contained HTML replay timelines
143
+ - resume prompts for Codex, Claude Code, or a human reviewer
144
+ - doctor checks for local setup
145
+ - defensive ProjScan and AgentLoopKit adapters
146
+ - no telemetry, cloud sync, or source upload
147
+
148
+ ## What AgentFlight Is Not
149
+
150
+ AgentFlight is:
151
+
152
+ - not a coding agent
153
+ - not a cloud service
154
+ - not a replacement for tests
155
+ - not a security scanner
156
+ - not a CI platform
157
+ - not a code review replacement
158
+
159
+ Use your coding agent to make changes. Use AgentFlight to understand, verify, replay, and hand off the work.
160
+
161
+ ## How It Works Locally
22
162
 
23
163
  AgentFlight creates a local `.agentflight/` directory in your repo:
24
164
 
@@ -28,62 +168,32 @@ AgentFlight creates a local `.agentflight/` directory in your repo:
28
168
  - `reports/` stores Markdown proof reports and HTML replays.
29
169
  - `evidence/` stores stdout and stderr from captured verification runs.
30
170
 
31
- Reports include filenames and summaries by default, not full source diffs. AgentFlight does not collect telemetry and does not upload source code.
32
-
33
- ## Quick Start
171
+ Sessions 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.
34
172
 
35
- ```bash
36
- npm install
37
- npm run build
38
- npx agentflight init
39
- npx agentflight start --task "Add example feature"
40
- npx agentflight status
41
- npx agentflight verify -- npm test
42
- npx agentflight report
43
- npx agentflight replay
44
- npx agentflight resume
45
- npx agentflight doctor
46
- ```
173
+ Runtime session data is ignored by git by default in this repo:
47
174
 
48
- During local development of this repo, use:
175
+ - `.agentflight/sessions/`
176
+ - `.agentflight/reports/`
177
+ - `.agentflight/evidence/`
178
+ - `.agentflight/current/`
49
179
 
50
- ```bash
51
- npm run agentflight -- init
52
- npm run agentflight -- start --task "Add example feature"
53
- ```
180
+ `.agentflight/config.json` is intentionally not ignored, so a project can commit its local AgentFlight defaults when useful.
54
181
 
55
182
  ## Commands
56
183
 
57
184
  - `agentflight init` initializes `.agentflight/` with safe writes.
58
185
  - `agentflight start --task "..."` starts a session and writes the current handoff.
59
- - `agentflight status` summarizes changed files, risk, verification status, and next action.
186
+ - `agentflight status` summarizes changed files, risk, verification status, snapshots, and next action.
60
187
  - `agentflight verify -- <command>` runs a proof command and records stdout/stderr evidence.
61
188
  - `agentflight verify` runs commands from `.agentflight/config.json`.
189
+ - `agentflight snapshot --note "..."` records current git, risk, and verification state as a timeline event.
62
190
  - `agentflight report` generates a Markdown proof report.
63
191
  - `agentflight replay` generates a local self-contained HTML replay.
64
- - `agentflight resume` prints and saves a Codex/Claude-ready continuation prompt.
192
+ - `agentflight resume` prints and saves a continuation prompt.
65
193
  - `agentflight doctor` checks local setup, scripts, tools, config, and current session state.
66
194
 
67
195
  Future placeholders exist for `upgrade`, `license`, and `login`; AgentFlight Pro/Team is not available yet.
68
196
 
69
- ## Example Workflow With Codex Or Claude Code
70
-
71
- ```bash
72
- agentflight init
73
- agentflight start --task "Add password reset flow"
74
-
75
- # Run Codex, Claude Code, Cursor, or another coding agent normally.
76
-
77
- agentflight status
78
- agentflight verify -- npm run typecheck
79
- agentflight verify -- npm test
80
- agentflight report
81
- agentflight replay
82
- agentflight resume
83
- ```
84
-
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.
86
-
87
197
  ## Powered By ProjScan And AgentLoopKit
88
198
 
89
199
  AgentFlight is powered by two open engines from Baseframe Labs:
@@ -91,7 +201,7 @@ AgentFlight is powered by two open engines from Baseframe Labs:
91
201
  - ProjScan provides repo intelligence, risk analysis, codebase understanding, and preflight signals.
92
202
  - AgentLoopKit provides task discipline, verification evidence, policies, and handoffs.
93
203
 
94
- This repository dogfoods both tools from day one. See [docs/development/dogfooding.md](docs/development/dogfooding.md).
204
+ This repository dogfoods both tools. See [docs/development/dogfooding.md](docs/development/dogfooding.md).
95
205
 
96
206
  Strategic architecture:
97
207
 
@@ -99,49 +209,22 @@ Strategic architecture:
99
209
  - AgentLoopKit: agent workflow discipline engine
100
210
  - AgentFlight: commercial and user-facing experience layer
101
211
 
102
- ## Local-First And Privacy
103
-
104
- AgentFlight runs locally. It does not add telemetry, login, billing, cloud sync, or source upload. The MVP reads git status and package metadata, writes human-readable local artifacts, and calls local or `npx` ProjScan/AgentLoopKit commands with graceful fallbacks.
105
-
106
- Runtime session data is ignored by git by default:
107
-
108
- - `.agentflight/sessions/`
109
- - `.agentflight/reports/`
110
- - `.agentflight/evidence/`
111
- - `.agentflight/current/`
212
+ ## Example Session
112
213
 
113
- `.agentflight/config.json` is intentionally not ignored, so a project can commit its local AgentFlight defaults if that is useful.
214
+ Read [docs/examples/basic-agentflight-session.md](docs/examples/basic-agentflight-session.md) for a short password-reset walkthrough with status, report, replay, and resume artifacts.
114
215
 
115
- ## Current Status
216
+ ## Roadmap
116
217
 
117
- AgentFlight current release is `0.2.0`, centered on real verification evidence capture.
218
+ See [docs/roadmap.md](docs/roadmap.md).
118
219
 
119
- Implemented:
220
+ Not built yet:
120
221
 
121
- - TypeScript ESM npm CLI package
122
- - Safe local initialization
123
- - Session start and current handoff
124
- - Status risk summary
125
- - Markdown proof reports
126
- - Self-contained HTML replay
127
- - Resume prompt generation
128
- - Doctor checks
129
- - Verification evidence capture with `agentflight verify`
130
- - Defensive ProjScan and AgentLoopKit adapters
131
- - Vitest coverage for core behavior, renderers, adapters, and command workflow
132
-
133
- Not implemented:
134
-
135
- - Cloud sync
136
- - Login
137
- - Billing
222
+ - cloud sync
223
+ - login
224
+ - billing
138
225
  - GitHub App
139
226
  - Team dashboards
140
- - Paid feature gates
141
-
142
- ## Roadmap
143
-
144
- See [docs/roadmap.md](docs/roadmap.md).
227
+ - paid feature gates
145
228
 
146
229
  ## Releases
147
230
 
@@ -1 +1 @@
1
- {"version":3,"file":"agentloopkit.d.ts","sourceRoot":"","sources":["../../src/adapters/agentloopkit.ts"],"names":[],"mappings":"AAAA,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
+ {"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.trim(),
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 local = await run(localCommand, args, { cwd, timeoutMs });
57
- if (local.exitCode === 0)
58
- return local;
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: fallback.exitCode,
64
- stdout: fallback.stdout,
65
- stderr: `${summarizeFailure(local)}; npx fallback failed: ${summarizeFailure(fallback)}`
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":"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"}
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":"AAAA,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
+ {"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.trim(),
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 local = await run(localCommand, args, { cwd, timeoutMs });
43
- if (local.exitCode === 0)
44
- return local;
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: fallback.exitCode,
50
- stdout: fallback.stdout,
51
- stderr: `${summarizeFailure(local)}; npx fallback failed: ${summarizeFailure(fallback)}`
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":"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"}
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;AAWpC,wBAAgB,SAAS,IAAI,OAAO,CA0FnC;AAeD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG5F"}
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":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}