ft-scout 6.0.5 → 6.0.8

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 (65) hide show
  1. package/.firebase/hosting.d2Vi.cache +2 -2
  2. package/README.md +61 -38
  3. package/bin/ft.js +1 -1
  4. package/bin/src/commands/agent.d.ts.map +1 -1
  5. package/bin/src/commands/agent.js +198 -27
  6. package/bin/src/commands/agent.js.map +1 -1
  7. package/bin/src/commands/audit.js.map +1 -1
  8. package/bin/src/commands/authCommand.js.map +1 -1
  9. package/bin/src/commands/brief.js.map +1 -1
  10. package/bin/src/commands/configCommand.d.ts.map +1 -1
  11. package/bin/src/commands/configCommand.js.map +1 -1
  12. package/bin/src/commands/dashboard.js.map +1 -1
  13. package/bin/src/commands/history.js.map +1 -1
  14. package/bin/src/commands/init.js.map +1 -1
  15. package/bin/src/commands/login.d.ts.map +1 -1
  16. package/bin/src/commands/login.js.map +1 -1
  17. package/bin/src/commands/logout.js.map +1 -1
  18. package/bin/src/commands/owners.js.map +1 -1
  19. package/bin/src/commands/quota.js.map +1 -1
  20. package/bin/src/commands/recommend.js.map +1 -1
  21. package/bin/src/commands/risky.d.ts.map +1 -1
  22. package/bin/src/commands/risky.js.map +1 -1
  23. package/bin/src/commands/setup.js.map +1 -1
  24. package/bin/src/commands/signup.d.ts.map +1 -1
  25. package/bin/src/commands/signup.js.map +1 -1
  26. package/bin/src/commands/undo.js.map +1 -1
  27. package/bin/src/commands/web.js.map +1 -1
  28. package/bin/src/discovery/config.d.ts.map +1 -1
  29. package/bin/src/discovery/config.js.map +1 -1
  30. package/bin/src/discovery/display.js.map +1 -1
  31. package/bin/src/discovery/messages.js.map +1 -1
  32. package/bin/src/discovery/signals.d.ts.map +1 -1
  33. package/bin/src/discovery/signals.js.map +1 -1
  34. package/bin/src/engine/agentEngine.d.ts.map +1 -1
  35. package/bin/src/engine/agentEngine.js +369 -33
  36. package/bin/src/engine/agentEngine.js.map +1 -1
  37. package/bin/src/engine/git.d.ts.map +1 -1
  38. package/bin/src/engine/git.js.map +1 -1
  39. package/bin/src/engine/llm.d.ts.map +1 -1
  40. package/bin/src/engine/llm.js +57 -6
  41. package/bin/src/engine/llm.js.map +1 -1
  42. package/bin/src/engine/verifier.d.ts.map +1 -1
  43. package/bin/src/engine/verifier.js.map +1 -1
  44. package/bin/src/engine/web.d.ts.map +1 -1
  45. package/bin/src/engine/web.js.map +1 -1
  46. package/bin/src/index.js +4 -4
  47. package/bin/src/index.js.map +1 -1
  48. package/bin/src/server/server.js.map +1 -1
  49. package/bin/src/utils/auth.d.ts.map +1 -1
  50. package/bin/src/utils/auth.js.map +1 -1
  51. package/bin/src/utils/branding.js +7 -7
  52. package/bin/src/utils/branding.js.map +1 -1
  53. package/bin/src/utils/config.d.ts.map +1 -1
  54. package/bin/src/utils/config.js.map +1 -1
  55. package/bin/src/utils/email.d.ts.map +1 -1
  56. package/bin/src/utils/email.js.map +1 -1
  57. package/bin/src/utils/firebaseAuth.d.ts.map +1 -1
  58. package/bin/src/utils/firebaseAuth.js.map +1 -1
  59. package/bin/src/utils/holoseneAuth.d.ts.map +1 -1
  60. package/bin/src/utils/holoseneAuth.js.map +1 -1
  61. package/bin/src/utils/language.d.ts.map +1 -1
  62. package/bin/src/utils/language.js.map +1 -1
  63. package/bin/src/utils/markdown.js.map +1 -1
  64. package/bin/src/utils/updateCheck.js.map +1 -1
  65. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
1
  styles.css,1786204910943,fe2eddb0ceda69648e303dd15d177d897a09709b9762c2642a77983e34bbcfe8
2
2
  ScoutFavicon.png,1786186569805,41a9ca9abf7acd2976e78c72a72285b49cc0e64b2b5eeb2c2b88c69628fc618a
3
- app.js,1786198646003,5c06219757fc4b42b489c55ac2b1ce35873c3a12a2b52719bf82ad0b2cf4538f
4
- index.html,1788543253040,c443266c40c786db17dacd2da3704e230df6f963bdbf8b2e052a566a3e7dca17
3
+ index.html,1788596486237,ec8226afef8a16537189dd912cd5adb786bd62fcd557860366c230a7a48f20b9
4
+ app.js,1788596486243,fd2d07d0c1332e6687680809c62f602842518c61bfb207dac80cdc5718315793
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # scout (FrontTerrain CLI v6.0.5)
1
+ # scout (FrontTerrain CLI v6.0.8)
2
2
 
3
3
  **FrontTerrain (`scout`)** — The Autonomous AI Principal Software Engineer & Codebase Co-Pilot in your terminal.
4
4
 
@@ -20,38 +20,32 @@ npm install -g ft-scout@latest
20
20
 
21
21
  Once installed, use `scout` or `ft` in any project directory:
22
22
 
23
- ### Agentic AI Actions & Interactive Sessions
23
+ ### Autonomous AI Agent & Interactive Sessions
24
24
 
25
25
  ```bash
26
- # Autonomous Multi-Step AI Agent (Direct prompt execution, full context inspection, automated test/build verification)
26
+ # Autonomous Multi-Step AI Agent (Direct goal execution, context inspection, automated test/build verification)
27
27
  scout agent "Build a responsive snake game in HTML and JS with smooth animations"
28
- scout agent "Add score high-score persistent storage and level progression"
28
+ scout agent "Add persistent score tracking and level progression"
29
29
  scout task "Fix typescript build errors in src/utils" -v "npm run build"
30
30
  scout goal "Refactor database query logic" -y
31
31
 
32
32
  # Interactive Scout Agent Session (Persistent chat loop with Slash Commands & full ReAct tool execution)
33
33
  scout agent
34
+
34
35
  # Inside session:
35
36
  # Agent Prompt: Add dark mode toggle button
36
- # Slash commands: /help /diff /clear /compact /undo /scan /plan /history /exit
37
+ # Slash commands: /help /tree /stats /test /explain /export /diff /undo /clear /scan /plan /history /exit
37
38
 
38
39
  # Generate and create a new source code file
39
- scout create src/utils/math.ts "Create helper functions for sum, average, and array chunking"
40
- scout gen src/components/Header.tsx "Create a responsive React navigation header"
41
-
42
- # Prompt-Driven Auto-Fix & Debugging
43
- scout fix "Fix null pointer check in calculateTotal function"
44
- scout fix -f src/sampleBug.ts "Handle optional prices defensively" -y
45
- scout fix -i 1
40
+ scout agent --create src/utils/math.ts "Create helper functions for sum, average, and array chunking"
46
41
 
47
42
  # Run terminal/shell commands with automated AI error diagnosis & self-healing
48
- scout run npm test
49
- scout exec tsc
50
- scout run python main.py
43
+ scout agent --run npm test
44
+ scout agent --run tsc
51
45
 
52
- # Interactive Agentic AI Chat session
53
- scout chat
54
- scout chat --web --lang spanish
46
+ # Feasibility roadmap & bug scan
47
+ scout agent --scan
48
+ scout agent --plan "Add rate limiting to API endpoints"
55
49
 
56
50
  # Revert Scout's last action & restore backed-up file contents
57
51
  scout undo
@@ -71,23 +65,17 @@ scout init [repoUrl] -l hi
71
65
  scout brief
72
66
 
73
67
  # Bug & code quality scan report (read-only)
74
- scout scan
68
+ scout risky
75
69
 
76
- # Feasibility + step-by-step implementation roadmap for a new feature
77
- scout add "Add rate limiting to API endpoints"
70
+ # Security & dependency / supply-chain audit
71
+ scout audit
78
72
 
79
73
  # Architecture, performance, and DSA-level suggestions
80
74
  scout recommend
81
75
 
82
- # Security & dependency / supply-chain audit
83
- scout audit
84
-
85
76
  # Show knowledge holders of a specific directory or file (from git history)
86
77
  scout owners <path>
87
78
 
88
- # Show a code fragility map based on churn and hotfixes
89
- scout risky
90
-
91
79
  # Live internet search for live web context & up-to-date documentation
92
80
  scout search "Next.js 15 App Router"
93
81
  scout web "Tailwind CSS v4" --ask --lang french
@@ -101,17 +89,52 @@ scout upgrade
101
89
 
102
90
  ---
103
91
 
104
- ## Key v6.0.5 Capabilities
105
-
106
- - **High-Agency Autonomous ReAct Loop (`scout agent`)**: Takes immediate action using `write_file`, `edit_file`, `run_command`, `read_file`, `grep_search`, and `glob_search` without prompt duplication or double-asking.
107
- - **Fail-Fast Quota & Concurrency Protection**: Enforces strict single-request concurrency queueing (`LLM_CONCURRENCY=1`) and immediate fail-fast handling on account quota exhaustion (`insufficient_quota`), preventing wasteful retry loops across fallback models.
108
- - **Interactive `/diff` Slash Command**: Type `/diff` anytime during an interactive `scout agent` session to view colorized, real-time git diffs of uncommitted workspace changes.
109
- - **Full File Context Inspection**: Loads complete line-numbered reference context (up to 250 lines) into active memory during file auto-discovery for precision editing and bug fixing.
110
- - **Automated Verification & Self-Healing**: Validates JavaScript, TypeScript, Python, Rust, Go, JSON, and embedded `<script>` HTML tags using compiler checks (`node --check`, `tsc`, `py_compile`, etc.). Automatically diagnoses and self-heals syntax or test errors before concluding.
111
- - **3-Tier Robust Snippet Editing (`edit_file`)**: Edits files using exact matching, trailing-space normalization, and full line-trim matching (ignoring indentation differences). Automatically falls back to `write_file` if snippet targets mismatch.
112
- - **AI File Generation (`scout create`)**: Specify a target path and prompt requirement to create production-ready files with automated syntax verification.
113
- - **Terminal Execution & Failure Diagnosis (`scout run`)**: Run tests, builds, or scripts live. If a command fails, Scout pinpoints the root cause and auto-fixes the failing code.
114
- - **Safety & Instant Revert (`scout undo`)**: Every code modification or file creation is backed up with timestamped history, enabling 1-command rollback.
92
+ ## 🛠️ Scout Autonomous ReAct Tools (14 Tools Available)
93
+
94
+ | Tool | Description |
95
+ |---|---|
96
+ | `read_file` | Read content & line ranges of workspace files |
97
+ | `write_file` | Create new files or overwrite existing source code |
98
+ | `edit_file` | Search & replace exact target code snippets |
99
+ | `multi_edit_file` | Apply batch snippet replacements in a single atomic tool call |
100
+ | `run_command` | Execute live terminal commands (`npm test`, `tsc`, `pytest`) |
101
+ | `tree_view` | Generate visual ASCII directory tree structures for workspace paths |
102
+ | `file_info` | Get file metadata, exact line counts, size, & modification timestamps |
103
+ | `grep_search` | String/regex pattern search across entire codebase |
104
+ | `glob_search` | Filter workspace files by file glob patterns |
105
+ | `fetch_url` | Fetch web API documentation, specs, or external web URLs |
106
+ | `git_diff` | Query uncommitted workspace git diff directly inside execution loop |
107
+ | `ask_user` | Request missing secret credentials or API keys |
108
+ | `task_completed` | Conclude autonomous goal execution with structured teardown report |
109
+
110
+ ---
111
+
112
+ ## 🚀 Interactive Slash Commands in Session
113
+
114
+ Inside an active `scout agent` interactive session, type any slash command to trigger agent actions:
115
+
116
+ - `/help` — Display comprehensive guide to all 14 tools and interactive slash commands.
117
+ - `/tree [dir]` — Render an interactive visual directory tree of any workspace folder.
118
+ - `/status` or `/stats` — View real-time session telemetry (steps executed, tool call count, modified files, elapsed time, branch info).
119
+ - `/test [cmd]` — Auto-detect and run project verification test suite directly inside session context.
120
+ - `/explain <file>` — Request a deep architectural breakdown and code explanation of a specific file.
121
+ - `/export` or `/save-session` — Export full session report and action history to `.ft/session-<timestamp>.md`.
122
+ - `/diff` — Display colorized git diff of uncommitted workspace changes.
123
+ - `/clear` or `/compact` — Clear session conversation context window.
124
+ - `/undo` — Instant 1-command revert of file modifications applied by Scout.
125
+ - `/history` — View recent Scout action logs.
126
+ - `/exit` — Quit Scout Agent session gracefully.
127
+
128
+ ---
129
+
130
+ ## 🌟 Overhauled Features & Performance
131
+
132
+ - **High-Agency Multi-File Scaffolding**: Automatically creates, implements, tests, and verifies multi-file codebases from scratch.
133
+ - **Atomic Multi-Snippet Editing (`multi_edit_file`)**: Executes multiple code replacements in a single turn for complex multi-point refactoring.
134
+ - **Session Telemetry & Analytics**: Live step counter, tool call counter, and elapsed time estimation during ReAct loop execution.
135
+ - **Automated Verification & Self-Healing**: Validates JS, TS, Python, Rust, Go, JSON, and embedded `<script>` HTML tags. Auto-diagnoses compiler errors and applies self-healing code fixes before finishing.
136
+ - **Post-Execution Review Menu**: Choose from **Keep Changes**, **Run Verification Tests**, **Create Pull Request**, **Export Session Report**, or **Revert Changes** after goal completion.
137
+ - **1-Command Rollback (`scout undo`)**: Every file modification is backed up with timestamped history for zero-risk experimentation.
115
138
 
116
139
  ---
117
140
 
package/bin/ft.js CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
  process.env.CHARSET = 'utf8';
3
3
  import('./src/index.js');
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,QAIpD;AAED,wBAAgB,cAAc,IAAI,YAAY,EAAE,CAO/C;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsDlE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3E;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAoF5F;AAED,wBAAgB,yBAAyB,CACxC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAgGV;AAID,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,iBAonB3E"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;CACvB;AAKD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,QAIpD;AAED,wBAAgB,cAAc,IAAI,YAAY,EAAE,CAO/C;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsDlE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3E;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAoF5F;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,EAAE,GACpB,MAAM,EAAE,CAgGV;AAID,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,iBA4yB3E"}
@@ -3,14 +3,14 @@ import path from 'path';
3
3
  import { spinner, text, isCancel, select, confirm } from '@clack/prompts';
4
4
  import chalk from 'chalk';
5
5
  import { simpleGit } from 'simple-git';
6
- import { generateMultiCodeFix, identifyTargetFiles, analyzeCommandError, generateCodeScanReport, generateFeaturePlan, generateCodeFile, askRepoQuestion, } from '../engine/llm.js';
6
+ import { generateMultiCodeFix, identifyTargetFiles, analyzeCommandError, generateCodeScanReport, generateFeaturePlan, generateCodeFile, askRepoQuestion, getActiveModelInfo, } from '../engine/llm.js';
7
7
  import { loadContext, recordHistoryAction, getDirectoryFiles } from '../utils/config.js';
8
8
  import { renderMarkdown, safeNote } from '../utils/markdown.js';
9
9
  import { normalizeLanguage } from '../utils/language.js';
10
10
  import { createPullRequest } from '../engine/git.js';
11
11
  import { handleUndo } from './undo.js';
12
- import { AgentExecutionLoop } from '../engine/agentEngine.js';
13
- import { verifyAndSelfHealFiles, executeSmartCommand } from '../engine/verifier.js';
12
+ import { AgentExecutionLoop, buildDirectoryTree } from '../engine/agentEngine.js';
13
+ import { verifyAndSelfHealFiles, executeSmartCommand, runProjectVerification } from '../engine/verifier.js';
14
14
  import { exec } from 'child_process';
15
15
  import { promisify } from 'util';
16
16
  const execAsync = promisify(exec);
@@ -267,17 +267,26 @@ export async function handleAgent(goalInput, options) {
267
267
  language: targetLang,
268
268
  projectName,
269
269
  });
270
+ const modelInfo = getActiveModelInfo();
271
+ const fallbackPipeline = modelInfo.fallbackChain.slice(1).join(' ➔ ');
270
272
  const welcomeBanner = `
271
273
  ${chalk.bold.cyan('Scout Autonomous AI Agent')} ${targetLang ? `(${targetLang})` : ''}
274
+ ${chalk.bold('Active Model:')} ${chalk.bold.green(modelInfo.currentActiveModel)}
275
+ ${chalk.bold('Fallback Pipeline:')} ${chalk.dim(fallbackPipeline)}
276
+
272
277
  ${chalk.dim('Type your goal, or use slash commands:')}
273
- ${chalk.cyan('/help')} - Show agent tools & commands.
274
- ${chalk.cyan('/diff')} - Show git diff for uncommited changes.
275
- ${chalk.cyan('/clear')} - Reset conversation context.
276
- ${chalk.cyan('/undo')} - Revert last file modifications.
277
- ${chalk.cyan('/scan')} - Run vulnerability scan.
278
- ${chalk.cyan('/plan')} - Generate implementation roadmap.
279
- ${chalk.cyan('/exit')} - Exit session.
280
- `.trim();
278
+ ${chalk.cyan('/help')} - Show agent tools & commands (14 tools)
279
+ ${chalk.cyan('/tree')} - View workspace directory tree
280
+ ${chalk.cyan('/stats')} - View real-time session & model telemetry
281
+ ${chalk.cyan('/test')} - Run automated project test suite
282
+ ${chalk.cyan('/diff')} - Show git diff of uncommitted changes
283
+ ${chalk.cyan('/export')} - Save session report to .ft/
284
+ ${chalk.cyan('/undo')} - Revert last file modifications
285
+ ${chalk.cyan('/clear')} - Reset conversation context
286
+ ${chalk.cyan('/scan')} - Run vulnerability scan
287
+ ${chalk.cyan('/plan')} - Generate implementation roadmap
288
+ ${chalk.cyan('/exit')} - Exit session
289
+ `.trim();
281
290
  safeNote(welcomeBanner, 'Scout Agent Active Session');
282
291
  while (true) {
283
292
  let rawGoal = undefined;
@@ -304,27 +313,146 @@ ${chalk.cyan('/clear')} - Reset conversation context.
304
313
  }
305
314
  if (trimmedInput.toLowerCase() === '/help') {
306
315
  const helpText = `
307
- ### Scout Agent Tools
308
- - **read_file**: Read content & line ranges of codebase files.
309
- - **write_file**: Create new files or overwrite existing code.
310
- - **edit_file**: Search-and-replace exact code snippets.
311
- - **run_command**: Execute shell commands live (\`npm test\`, \`build\`).
312
- - **grep_search**: Regex/string search across all files.
313
- - **glob_search**: Pattern search for workspace files.
316
+ ### 🛠️ Scout Autonomous Agent Tools (14 Available)
317
+ - **read_file**: Read content & line ranges of workspace files.
318
+ - **write_file**: Create new files or overwrite code directly.
319
+ - **edit_file**: Search & replace exact target code snippets.
320
+ - **multi_edit_file**: Apply batch snippet replacements in a single step.
321
+ - **run_command**: Execute live terminal commands (\`npm test\`, \`build\`).
322
+ - **tree_view**: Generate visual ASCII directory tree structures.
323
+ - **file_info**: Get file statistics, size, lines, & modification time.
324
+ - **grep_search**: String/regex pattern search across codebase.
325
+ - **glob_search**: Filter workspace files by file pattern.
326
+ - **fetch_url**: Fetch web API documentation or URL content.
327
+ - **git_diff**: Retrieve uncommitted workspace git diff.
328
+ - **ask_user**: Request missing secret credentials or API keys.
329
+ - **task_completed**: Conclude autonomous goal execution with teardown.
314
330
 
315
- ### Slash Commands
316
- - \`/help\`: View this assistance screen.
317
- - \`/diff\`: Display colorized git diff of uncommitted workspace changes.
318
- - \`/clear\` or \`/compact\`: Clear session context window.
319
- - \`/undo\`: Revert last changes applied by Scout Agent.
320
- - \`/scan\`: Perform read-only security & bug scan.
321
- - \`/plan <idea>\`: Generate feature feasibility roadmap.
322
- - \`/history\`: View recent Scout actions.
323
- - \`/exit\`: Quit Scout Agent session.
331
+ ### 🚀 Interactive Slash Commands
332
+ - \`/help\`: Show this tools & commands guide.
333
+ - \`/tree [dir]\`: Display workspace directory tree structure.
334
+ - \`/status\` or \`/stats\`: Show session telemetry & statistics.
335
+ - \`/test [cmd]\`: Run project verification test suite.
336
+ - \`/explain <file>\`: Get deep architectural breakdown of a file.
337
+ - \`/export\` or \`/save-session\`: Save session report to \`.ft/session-<timestamp>.md\`.
338
+ - \`/diff\`: Display colorized git diff of uncommitted changes.
339
+ - \`/clear\` or \`/compact\`: Reset agent conversation context.
340
+ - \`/undo\`: Revert last file modifications.
341
+ - \`/history\`: View recent Scout action logs.
342
+ - \`/exit\`: End Scout Agent session.
324
343
  `.trim();
325
344
  safeNote(renderMarkdown(helpText), ' Scout Slash Commands & Tools');
326
345
  continue;
327
346
  }
347
+ if (trimmedInput.toLowerCase().startsWith('/tree')) {
348
+ const parts = trimmedInput.split(/\s+/);
349
+ const targetDir = parts[1] || '.';
350
+ const fullDir = path.resolve(process.cwd(), targetDir);
351
+ if (!fs.existsSync(fullDir) || !fs.statSync(fullDir).isDirectory()) {
352
+ safeNote(chalk.yellow(`Directory not found: "${targetDir}"`), '️ Directory Tree Error');
353
+ }
354
+ else {
355
+ const treeStr = buildDirectoryTree(fullDir, '', 0, 3);
356
+ safeNote(`Directory Tree for "${targetDir}":\n${targetDir}/\n${treeStr}`, ' Workspace Directory Tree');
357
+ }
358
+ continue;
359
+ }
360
+ if (['/status', '/stats'].includes(trimmedInput.toLowerCase())) {
361
+ const stats = agentLoop.getStats();
362
+ const modifiedFiles = agentLoop.getModifiedFiles();
363
+ const backups = agentLoop.getBackups();
364
+ const git = simpleGit();
365
+ let currentBranch = 'main';
366
+ try {
367
+ const branchSummary = await git.branch();
368
+ currentBranch = branchSummary.current || 'main';
369
+ }
370
+ catch { }
371
+ const elapsedSec = Math.round(stats.elapsedMs / 1000);
372
+ const activeModel = getActiveModelInfo();
373
+ const fallbackStatus = activeModel.lastFallbackInfo
374
+ ? `Switched from \`${activeModel.lastFallbackInfo.previousModel}\` ➔ \`${activeModel.lastFallbackInfo.fallbackModel}\` (${activeModel.lastFallbackInfo.reason})`
375
+ : 'None (Primary model actively responding)';
376
+ const statsMd = `
377
+ ### 📊 Scout Session & AI Model Telemetry
378
+ - **Active AI Model**: \`${activeModel.currentActiveModel}\`
379
+ - **Primary AI Model**: \`${activeModel.primaryModel}\`
380
+ - **Fallback Chain**: \`${activeModel.fallbackChain.join(' ➔ ')}\`
381
+ - **Last Fallback Event**: ${fallbackStatus}
382
+ - **Active Branch**: \`${currentBranch}\`
383
+ - **Elapsed Session Time**: \`${elapsedSec}s\`
384
+ - **Steps Executed**: \`${stats.totalSteps}\`
385
+ - **Total Tool Calls**: \`${stats.totalToolCalls}\`
386
+ - **Modified Files**: \`${modifiedFiles.length}\` (${modifiedFiles.map(f => `\`${f}\``).join(', ') || 'None'})
387
+ - **Stored File Backups**: \`${backups.length}\`
388
+ `.trim();
389
+ safeNote(renderMarkdown(statsMd), ' Scout Session & Model Telemetry');
390
+ continue;
391
+ }
392
+ if (trimmedInput.toLowerCase().startsWith('/test')) {
393
+ const parts = trimmedInput.split(/\s+/);
394
+ const customCmd = parts.slice(1).join(' ') || options?.verifyCmd;
395
+ const testSpin = spinner();
396
+ testSpin.start(`Running project verification test suite ${customCmd ? `(\`${customCmd}\`)` : ''}...`);
397
+ const testRes = await runProjectVerification(process.cwd(), customCmd);
398
+ if (testRes.valid) {
399
+ testSpin.stop(chalk.green('Project verification tests passed cleanly!'));
400
+ safeNote(`${chalk.green(' Verification Passed:')}\n\`\`\`\n${testRes.output.slice(0, 3000)}\n\`\`\``, ' Test Suite Clean');
401
+ }
402
+ else {
403
+ testSpin.stop(chalk.red('Project verification test suite failed.'));
404
+ safeNote(`${chalk.red('️ Verification Failed:')}\n${testRes.errors.join('\n')}\n\`\`\`\n${testRes.output.slice(0, 3000)}\n\`\`\``, ' Test Failure Warning');
405
+ }
406
+ continue;
407
+ }
408
+ if (trimmedInput.toLowerCase().startsWith('/explain')) {
409
+ const parts = trimmedInput.split(/\s+/);
410
+ const targetPath = parts[1];
411
+ if (!targetPath) {
412
+ safeNote(chalk.yellow('Usage: /explain <filePath> (e.g. /explain bin/src/index.ts)'), ' Explain Command');
413
+ continue;
414
+ }
415
+ const fullP = path.resolve(process.cwd(), targetPath);
416
+ if (!fs.existsSync(fullP)) {
417
+ safeNote(chalk.yellow(`File not found: ${targetPath}`), ' Explain Error');
418
+ continue;
419
+ }
420
+ const explainSpin = spinner();
421
+ explainSpin.start(`Analyzing architecture and structure of ${targetPath}...`);
422
+ const content = fs.readFileSync(fullP, 'utf-8');
423
+ const explanation = await askRepoQuestion(`Provide a deep architectural breakdown, primary purpose, component breakdown, and code explanation for file "${targetPath}":\n\`\`\`\n${content.slice(0, 6000)}\n\`\`\``, projectName, filesList, '', [], { language: targetLang });
424
+ explainSpin.stop('Analysis complete.');
425
+ safeNote(renderMarkdown(explanation), ` Architectural Breakdown: ${targetPath}`);
426
+ continue;
427
+ }
428
+ if (['/export', '/save-session'].includes(trimmedInput.toLowerCase())) {
429
+ const ftDir = path.join(process.cwd(), '.ft');
430
+ if (!fs.existsSync(ftDir))
431
+ fs.mkdirSync(ftDir, { recursive: true });
432
+ const timeStamp = new Date().toISOString().replace(/[:.]/g, '-');
433
+ const sessionPath = path.join(ftDir, `session-${timeStamp}.md`);
434
+ const stats = agentLoop.getStats();
435
+ const modifiedFiles = agentLoop.getModifiedFiles();
436
+ const history = (await import('../utils/config.js')).loadHistory();
437
+ const exportContent = `# Scout Agent Session Report
438
+ Date: ${new Date().toLocaleString()}
439
+ Project: ${projectName}
440
+
441
+ ## Session Statistics
442
+ - Total Steps: ${stats.totalSteps}
443
+ - Tool Calls: ${stats.totalToolCalls}
444
+ - Modified Files Count: ${modifiedFiles.length}
445
+
446
+ ## Modified Files
447
+ ${modifiedFiles.map(f => `- ${f}`).join('\n') || 'None'}
448
+
449
+ ## Action History
450
+ ${history.slice(0, 15).map(h => `- [${h.timestamp}] ${h.command}: ${h.description}`).join('\n')}
451
+ `;
452
+ fs.writeFileSync(sessionPath, exportContent, 'utf-8');
453
+ safeNote(chalk.green(`Session report saved to: ${chalk.bold.cyan(path.relative(process.cwd(), sessionPath))}`), ' Session Exported');
454
+ continue;
455
+ }
328
456
  if (trimmedInput.toLowerCase() === '/diff') {
329
457
  try {
330
458
  const { execSync } = await import('child_process');
@@ -665,7 +793,9 @@ ${execResult.summary}
665
793
  message: chalk.bold('Review Scout Agent result. What would you like to do?'),
666
794
  options: [
667
795
  { value: 'keep', label: ' Keep Changes', hint: `Retain agent changes on current branch (${currentBranch})` },
796
+ { value: 'test', label: ' Run Verification Tests', hint: 'Execute test suite to confirm zero regressions' },
668
797
  { value: 'pr', label: ' Create Pull Request', hint: 'Push fix to a new branch & open a Pull Request' },
798
+ { value: 'export', label: ' Export Session Report', hint: 'Save detailed session teardown report to .ft/' },
669
799
  { value: 'revert', label: '️ Revert Changes', hint: 'Restore original code immediately' },
670
800
  ],
671
801
  });
@@ -676,6 +806,47 @@ ${execResult.summary}
676
806
  revSpinner.stop('Changes reverted successfully.');
677
807
  continue;
678
808
  }
809
+ if (actionChoice === 'test') {
810
+ const testSpin = spinner();
811
+ testSpin.start('Running project verification test suite...');
812
+ const testRes = await runProjectVerification(process.cwd(), options?.verifyCmd);
813
+ if (testRes.valid) {
814
+ testSpin.stop(chalk.green('Project verification tests passed cleanly!'));
815
+ safeNote(`${chalk.green(' Verification Passed:')}\n\`\`\`\n${testRes.output.slice(0, 3000)}\n\`\`\``, ' Test Suite Clean');
816
+ }
817
+ else {
818
+ testSpin.stop(chalk.red('Project verification test suite failed.'));
819
+ safeNote(`${chalk.red('️ Verification Failed:')}\n${testRes.errors.join('\n')}\n\`\`\`\n${testRes.output.slice(0, 3000)}\n\`\`\``, ' Test Failure Warning');
820
+ }
821
+ continue;
822
+ }
823
+ if (actionChoice === 'export') {
824
+ const ftDir = path.join(process.cwd(), '.ft');
825
+ if (!fs.existsSync(ftDir))
826
+ fs.mkdirSync(ftDir, { recursive: true });
827
+ const timeStamp = new Date().toISOString().replace(/[:.]/g, '-');
828
+ const sessionPath = path.join(ftDir, `session-${timeStamp}.md`);
829
+ const stats = agentLoop.getStats();
830
+ const exportContent = `# Scout Agent Session Report
831
+ Date: ${new Date().toLocaleString()}
832
+ Project: ${projectName}
833
+ Goal: ${finalGoal}
834
+
835
+ ## Session Statistics
836
+ - Total Steps: ${stats.totalSteps}
837
+ - Tool Calls: ${stats.totalToolCalls}
838
+ - Modified Files Count: ${modifiedFiles.length}
839
+
840
+ ## Modified Files
841
+ ${modifiedFiles.map(f => `- ${f}`).join('\n') || 'None'}
842
+
843
+ ## Execution Summary
844
+ ${execResult.summary}
845
+ `;
846
+ fs.writeFileSync(sessionPath, exportContent, 'utf-8');
847
+ safeNote(chalk.green(`Session report saved to: ${chalk.bold.cyan(path.relative(process.cwd(), sessionPath))}`), ' Session Exported');
848
+ continue;
849
+ }
679
850
  if (actionChoice === 'pr') {
680
851
  const prSpinner = spinner();
681
852
  prSpinner.start('Creating Pull Request...');
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"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"}