ft-scout 1.0.8 → 1.1.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/.firebase/hosting.d2Vi.cache +9 -0
- package/.firebaserc +14 -0
- package/AUTONOMOUS_FEATURES.md +192 -0
- package/README.md +482 -32
- package/bin/ft.js +2 -0
- package/bin/src/commands/agent.d.ts.map +1 -0
- package/bin/src/commands/agent.js +1230 -0
- package/bin/src/commands/agent.js.map +1 -0
- package/bin/src/commands/audit.d.ts.map +1 -0
- package/bin/src/commands/audit.js +104 -0
- package/bin/src/commands/audit.js.map +1 -0
- package/bin/src/commands/authCommand.d.ts.map +1 -0
- package/bin/src/commands/authCommand.js +38 -0
- package/bin/src/commands/authCommand.js.map +1 -0
- package/bin/src/commands/benchmark.d.ts.map +1 -0
- package/bin/src/commands/benchmark.js +135 -0
- package/bin/src/commands/benchmark.js.map +1 -0
- package/bin/src/commands/brief.d.ts.map +1 -1
- package/bin/src/commands/brief.js +28 -19
- package/bin/src/commands/brief.js.map +1 -1
- package/bin/src/commands/configCommand.d.ts.map +1 -0
- package/bin/src/commands/configCommand.js +53 -0
- package/bin/src/commands/configCommand.js.map +1 -0
- package/bin/src/commands/dashboard.d.ts.map +1 -0
- package/bin/src/commands/dashboard.js +41 -0
- package/bin/src/commands/dashboard.js.map +1 -0
- package/bin/src/commands/history.d.ts.map +1 -0
- package/bin/src/commands/history.js +20 -0
- package/bin/src/commands/history.js.map +1 -0
- package/bin/src/commands/init.d.ts.map +1 -1
- package/bin/src/commands/init.js +411 -78
- package/bin/src/commands/init.js.map +1 -1
- package/bin/src/commands/login.d.ts.map +1 -0
- package/bin/src/commands/login.js +190 -0
- package/bin/src/commands/login.js.map +1 -0
- package/bin/src/commands/logout.d.ts.map +1 -0
- package/bin/src/commands/logout.js +15 -0
- package/bin/src/commands/logout.js.map +1 -0
- package/bin/src/commands/mcp.d.ts.map +1 -0
- package/bin/src/commands/mcp.js +393 -0
- package/bin/src/commands/mcp.js.map +1 -0
- package/bin/src/commands/owners.js +6 -6
- package/bin/src/commands/owners.js.map +1 -1
- package/bin/src/commands/plan.d.ts.map +1 -0
- package/bin/src/commands/plan.js +152 -0
- package/bin/src/commands/plan.js.map +1 -0
- package/bin/src/commands/quota.d.ts.map +1 -0
- package/bin/src/commands/quota.js +32 -0
- package/bin/src/commands/quota.js.map +1 -0
- package/bin/src/commands/recommend.d.ts.map +1 -0
- package/bin/src/commands/recommend.js +46 -0
- package/bin/src/commands/recommend.js.map +1 -0
- package/bin/src/commands/risky.d.ts.map +1 -1
- package/bin/src/commands/risky.js +235 -39
- package/bin/src/commands/risky.js.map +1 -1
- package/bin/src/commands/setup.d.ts.map +1 -1
- package/bin/src/commands/setup.js +411 -16
- package/bin/src/commands/setup.js.map +1 -1
- package/bin/src/commands/signup.d.ts.map +1 -0
- package/bin/src/commands/signup.js +118 -0
- package/bin/src/commands/signup.js.map +1 -0
- package/bin/src/commands/undo.d.ts.map +1 -0
- package/bin/src/commands/undo.js +59 -0
- package/bin/src/commands/undo.js.map +1 -0
- package/bin/src/commands/web.d.ts.map +1 -0
- package/bin/src/commands/web.js +90 -0
- package/bin/src/commands/web.js.map +1 -0
- package/bin/src/discovery/config.d.ts.map +1 -0
- package/bin/src/discovery/config.js +41 -0
- package/bin/src/discovery/config.js.map +1 -0
- package/bin/src/discovery/display.d.ts.map +1 -0
- package/bin/src/discovery/display.js +57 -0
- package/bin/src/discovery/display.js.map +1 -0
- package/bin/src/discovery/messages.d.ts.map +1 -0
- package/bin/src/discovery/messages.js +7 -0
- package/bin/src/discovery/messages.js.map +1 -0
- package/bin/src/discovery/signals.d.ts.map +1 -0
- package/bin/src/discovery/signals.js +33 -0
- package/bin/src/discovery/signals.js.map +1 -0
- package/bin/src/engine/actionVerifier.d.ts.map +1 -0
- package/bin/src/engine/actionVerifier.js +283 -0
- package/bin/src/engine/actionVerifier.js.map +1 -0
- package/bin/src/engine/agentEngine.d.ts.map +1 -0
- package/bin/src/engine/agentEngine.js +2188 -0
- package/bin/src/engine/agentEngine.js.map +1 -0
- package/bin/src/engine/agentState.d.ts.map +1 -0
- package/bin/src/engine/agentState.js +381 -0
- package/bin/src/engine/agentState.js.map +1 -0
- package/bin/src/engine/browser/browserController.d.ts.map +1 -0
- package/bin/src/engine/browser/browserController.js +737 -0
- package/bin/src/engine/browser/browserController.js.map +1 -0
- package/bin/src/engine/browser/index.d.ts.map +1 -0
- package/bin/src/engine/browser/index.js +2 -0
- package/bin/src/engine/browser/index.js.map +1 -0
- package/bin/src/engine/computer/computerController.d.ts.map +1 -0
- package/bin/src/engine/computer/computerController.js +773 -0
- package/bin/src/engine/computer/computerController.js.map +1 -0
- package/bin/src/engine/computer/computerDiagnostic.d.ts.map +1 -0
- package/bin/src/engine/computer/computerDiagnostic.js +71 -0
- package/bin/src/engine/computer/computerDiagnostic.js.map +1 -0
- package/bin/src/engine/computer/index.d.ts.map +1 -0
- package/bin/src/engine/computer/index.js +4 -0
- package/bin/src/engine/computer/index.js.map +1 -0
- package/bin/src/engine/computer/mockComputer.d.ts.map +1 -0
- package/bin/src/engine/computer/mockComputer.js +260 -0
- package/bin/src/engine/computer/mockComputer.js.map +1 -0
- package/bin/src/engine/computer/scoutDriver.cs +1161 -0
- package/bin/src/engine/computer/scout_driver.exe +0 -0
- package/bin/src/engine/git.d.ts.map +1 -1
- package/bin/src/engine/git.js +71 -0
- package/bin/src/engine/git.js.map +1 -1
- package/bin/src/engine/llm.d.ts.map +1 -1
- package/bin/src/engine/llm.js +1272 -23
- package/bin/src/engine/llm.js.map +1 -1
- package/bin/src/engine/planner.d.ts.map +1 -0
- package/bin/src/engine/planner.js +321 -0
- package/bin/src/engine/planner.js.map +1 -0
- package/bin/src/engine/runtime/agentRuntime.d.ts.map +1 -0
- package/bin/src/engine/runtime/agentRuntime.js +1258 -0
- package/bin/src/engine/runtime/agentRuntime.js.map +1 -0
- package/bin/src/engine/runtime/index.d.ts.map +1 -0
- package/bin/src/engine/runtime/index.js +2 -0
- package/bin/src/engine/runtime/index.js.map +1 -0
- package/bin/src/engine/safety.d.ts.map +1 -0
- package/bin/src/engine/safety.js +316 -0
- package/bin/src/engine/safety.js.map +1 -0
- package/bin/src/engine/scoutAudioRecorder.cs +215 -0
- package/bin/src/engine/scout_audio_recorder.exe +0 -0
- package/bin/src/engine/toolRegistry.d.ts.map +1 -0
- package/bin/src/engine/toolRegistry.js +521 -0
- package/bin/src/engine/toolRegistry.js.map +1 -0
- package/bin/src/engine/verifier.d.ts.map +1 -0
- package/bin/src/engine/verifier.js +414 -0
- package/bin/src/engine/verifier.js.map +1 -0
- package/bin/src/engine/voiceEngine.d.ts.map +1 -0
- package/bin/src/engine/voiceEngine.js +474 -0
- package/bin/src/engine/voiceEngine.js.map +1 -0
- package/bin/src/engine/web.d.ts.map +1 -0
- package/bin/src/engine/web.js +161 -0
- package/bin/src/engine/web.js.map +1 -0
- package/bin/src/engine/workspace/agentWorkspace.d.ts.map +1 -0
- package/bin/src/engine/workspace/agentWorkspace.js +505 -0
- package/bin/src/engine/workspace/agentWorkspace.js.map +1 -0
- package/bin/src/engine/workspace/index.d.ts.map +1 -0
- package/bin/src/engine/workspace/index.js +2 -0
- package/bin/src/engine/workspace/index.js.map +1 -0
- package/bin/src/index.js +365 -23
- package/bin/src/index.js.map +1 -1
- package/bin/src/mcp/client.d.ts.map +1 -0
- package/bin/src/mcp/client.js +127 -0
- package/bin/src/mcp/client.js.map +1 -0
- package/bin/src/mcp/discovery.d.ts.map +1 -0
- package/bin/src/mcp/discovery.js +91 -0
- package/bin/src/mcp/discovery.js.map +1 -0
- package/bin/src/mcp/health.d.ts.map +1 -0
- package/bin/src/mcp/health.js +44 -0
- package/bin/src/mcp/health.js.map +1 -0
- package/bin/src/mcp/index.d.ts.map +1 -0
- package/bin/src/mcp/index.js +15 -0
- package/bin/src/mcp/index.js.map +1 -0
- package/bin/src/mcp/manager.d.ts.map +1 -0
- package/bin/src/mcp/manager.js +648 -0
- package/bin/src/mcp/manager.js.map +1 -0
- package/bin/src/mcp/permissions.d.ts.map +1 -0
- package/bin/src/mcp/permissions.js +50 -0
- package/bin/src/mcp/permissions.js.map +1 -0
- package/bin/src/mcp/persistence.d.ts.map +1 -0
- package/bin/src/mcp/persistence.js +171 -0
- package/bin/src/mcp/persistence.js.map +1 -0
- package/bin/src/mcp/recovery.d.ts.map +1 -0
- package/bin/src/mcp/recovery.js +75 -0
- package/bin/src/mcp/recovery.js.map +1 -0
- package/bin/src/mcp/telemetry.d.ts.map +1 -0
- package/bin/src/mcp/telemetry.js +82 -0
- package/bin/src/mcp/telemetry.js.map +1 -0
- package/bin/src/mcp/toolRouter.d.ts.map +1 -0
- package/bin/src/mcp/toolRouter.js +127 -0
- package/bin/src/mcp/toolRouter.js.map +1 -0
- package/bin/src/mcp/transport.d.ts.map +1 -0
- package/bin/src/mcp/transport.js +328 -0
- package/bin/src/mcp/transport.js.map +1 -0
- package/bin/src/mcp/types.d.ts.map +1 -0
- package/bin/src/mcp/types.js +6 -0
- package/bin/src/mcp/types.js.map +1 -0
- package/bin/src/server/server.d.ts.map +1 -0
- package/bin/src/server/server.js +989 -0
- package/bin/src/server/server.js.map +1 -0
- package/bin/src/utils/admin.d.ts.map +1 -0
- package/bin/src/utils/admin.js +231 -0
- package/bin/src/utils/admin.js.map +1 -0
- package/bin/src/utils/auditLogger.d.ts.map +1 -0
- package/bin/src/utils/auditLogger.js +70 -0
- package/bin/src/utils/auditLogger.js.map +1 -0
- package/bin/src/utils/auth.d.ts.map +1 -0
- package/bin/src/utils/auth.js +679 -0
- package/bin/src/utils/auth.js.map +1 -0
- package/bin/src/utils/branding.d.ts.map +1 -0
- package/bin/src/utils/branding.js +14 -0
- package/bin/src/utils/branding.js.map +1 -0
- package/bin/src/utils/config.d.ts.map +1 -1
- package/bin/src/utils/config.js +124 -3
- package/bin/src/utils/config.js.map +1 -1
- package/bin/src/utils/email.d.ts.map +1 -0
- package/bin/src/utils/email.js +267 -0
- package/bin/src/utils/email.js.map +1 -0
- package/bin/src/utils/firebaseAuth.d.ts.map +1 -0
- package/bin/src/utils/firebaseAuth.js +174 -0
- package/bin/src/utils/firebaseAuth.js.map +1 -0
- package/bin/src/utils/holoseneAuth.d.ts.map +1 -0
- package/bin/src/utils/holoseneAuth.js +307 -0
- package/bin/src/utils/holoseneAuth.js.map +1 -0
- package/bin/src/utils/language.d.ts.map +1 -0
- package/bin/src/utils/language.js +181 -0
- package/bin/src/utils/language.js.map +1 -0
- package/bin/src/utils/markdown.d.ts.map +1 -0
- package/bin/src/utils/markdown.js +215 -0
- package/bin/src/utils/markdown.js.map +1 -0
- package/bin/src/utils/payment.d.ts.map +1 -0
- package/bin/src/utils/payment.js +290 -0
- package/bin/src/utils/payment.js.map +1 -0
- package/bin/src/utils/pricing.d.ts.map +1 -0
- package/bin/src/utils/pricing.js +165 -0
- package/bin/src/utils/pricing.js.map +1 -0
- package/bin/src/utils/razorpay.d.ts.map +1 -0
- package/bin/src/utils/razorpay.js +144 -0
- package/bin/src/utils/razorpay.js.map +1 -0
- package/bin/src/utils/session.d.ts.map +1 -0
- package/bin/src/utils/session.js +82 -0
- package/bin/src/utils/session.js.map +1 -0
- package/bin/src/utils/updateCheck.d.ts.map +1 -0
- package/bin/src/utils/updateCheck.js +108 -0
- package/bin/src/utils/updateCheck.js.map +1 -0
- package/downloads/invoice-2026-03.pdf +1 -0
- package/firebase.json +74 -0
- package/package.json +49 -46
- package/web/ScoutFavicon.png +0 -0
- package/web/app.js +3944 -0
- package/web/styles.css +3081 -0
- package/.ft/context.json +0 -18
- package/email-template.html +0 -223
- package/email-template.txt +0 -45
- package/scripts/send-brevo-campaign.cjs +0 -167
- package/scripts/send-email.js +0 -77
package/README.md
CHANGED
|
@@ -1,32 +1,482 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
FrontTerrain
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
# scout (FrontTerrain CLI v1.1.0)
|
|
2
|
+
|
|
3
|
+
**FrontTerrain (`scout`)** The Autonomous AI Principal Software Engineer & Codebase Co-Pilot in your terminal.
|
|
4
|
+
|
|
5
|
+
Scout executes autonomous multi-step engineering loops, builds complete projects from scratch, edits and refactors existing codebases, controls external desktop/browser applications, self-heals syntax/build/test errors, runs terminal commands with AI error diagnostics, and provides an interactive agent session built for high-agency developer productivity.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
Install globally using npm:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g ft-scout@latest
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Quick Start & Commands
|
|
20
|
+
|
|
21
|
+
Once installed, use `scout` or `ft` in any project directory:
|
|
22
|
+
|
|
23
|
+
### Autonomous Computer-Use Operator & AI Agent Sessions
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Autonomous Multi-Step AI Agent (Direct goal execution, context inspection, automated test/build verification)
|
|
27
|
+
scout agent "Open Notepad, type 'Autonomous test note', and save to Desktop"
|
|
28
|
+
scout agent "Build a responsive snake game in HTML and JS with smooth animations"
|
|
29
|
+
scout task "Fix typescript build errors in src/utils" -v "npm run build"
|
|
30
|
+
scout goal "Refactor database query logic" -y
|
|
31
|
+
|
|
32
|
+
### Interactive Scout Agent Session (Persistent operator loop with Slash Commands & full tool execution)
|
|
33
|
+
scout agent
|
|
34
|
+
|
|
35
|
+
# Optional voice interaction flags:
|
|
36
|
+
scout agent -V # Launch with Audio Voice mode (STT + TTS)
|
|
37
|
+
scout agent --voice
|
|
38
|
+
|
|
39
|
+
# Inside session:
|
|
40
|
+
# Slash commands: /help /voice /speak /tree /stats /test /explain /export /diff /undo /clear /history /exit
|
|
41
|
+
|
|
42
|
+
# Generate and create a new source code file
|
|
43
|
+
scout agent --create src/utils/math.ts "Create helper functions for sum, average, and array chunking"
|
|
44
|
+
|
|
45
|
+
# Run terminal/shell commands with automated AI error diagnosis & self-healing
|
|
46
|
+
scout agent --run npm test
|
|
47
|
+
scout agent --run tsc
|
|
48
|
+
|
|
49
|
+
# Feasibility roadmap & bug scan
|
|
50
|
+
scout agent --scan
|
|
51
|
+
scout agent --plan "Add rate limiting to API endpoints"
|
|
52
|
+
|
|
53
|
+
# Revert Scout's last action & restore backed-up file contents
|
|
54
|
+
scout undo
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Codebase Understanding & Due-Diligence
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Initialize understanding map of a local or remote repository
|
|
61
|
+
scout init [repoUrl]
|
|
62
|
+
|
|
63
|
+
# Multilingual AI teardowns & onboarding summaries (e.g. spanish, hindi, french, japanese, etc.)
|
|
64
|
+
scout init [repoUrl] --lang spanish
|
|
65
|
+
scout init [repoUrl] -l hi
|
|
66
|
+
|
|
67
|
+
# Human-readable onboarding summary (the "week-one explainer")
|
|
68
|
+
scout brief
|
|
69
|
+
|
|
70
|
+
# Bug & code quality scan report (read-only)
|
|
71
|
+
scout risky
|
|
72
|
+
|
|
73
|
+
# Security & dependency / supply-chain audit
|
|
74
|
+
scout audit
|
|
75
|
+
|
|
76
|
+
# Architecture, performance, and DSA-level suggestions
|
|
77
|
+
scout recommend
|
|
78
|
+
|
|
79
|
+
# Show knowledge holders of a specific directory or file (from git history)
|
|
80
|
+
scout owners <path>
|
|
81
|
+
|
|
82
|
+
# Live internet search for live web context & up-to-date documentation
|
|
83
|
+
scout search "Next.js 15 App Router"
|
|
84
|
+
scout web "Tailwind CSS v4" --ask --lang french
|
|
85
|
+
|
|
86
|
+
# History log of everything Scout has done in this repository
|
|
87
|
+
scout history
|
|
88
|
+
|
|
89
|
+
# Check for updates and auto-upgrade Scout
|
|
90
|
+
scout upgrade
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Account Authentication & Session Management
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Create a new Scout developer account
|
|
97
|
+
scout signup
|
|
98
|
+
|
|
99
|
+
# Log into your FrontTerrain / Holosene account
|
|
100
|
+
scout login
|
|
101
|
+
|
|
102
|
+
# Check active session status and user credentials
|
|
103
|
+
scout auth
|
|
104
|
+
|
|
105
|
+
# Terminate active session
|
|
106
|
+
scout logout
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Interactive Web Dashboard & Local GUI
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Launch the Scout Web Dashboard sync server
|
|
113
|
+
scout dashboard
|
|
114
|
+
|
|
115
|
+
# Launch and automatically open browser to the local UI
|
|
116
|
+
scout dashboard --open
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Quota, Usage & Subscription Plans
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Check credit balance, renewal status, and BYOK mode
|
|
123
|
+
scout quota
|
|
124
|
+
|
|
125
|
+
# Manage subscription tier, view pricing, and upgrade quota
|
|
126
|
+
scout plan
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Model Latency & Performance Benchmark
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Measure latency and tokens/second across configured models (Nemotron, Qwen, Gemini, GPT)
|
|
133
|
+
scout benchmark
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Model Context Protocol (MCP) Ecosystem
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# List all configured MCP connections with live status and tool counts
|
|
140
|
+
scout mcp list
|
|
141
|
+
|
|
142
|
+
# Connect an external MCP server over HTTP/SSE with bearer token
|
|
143
|
+
scout mcp add "GitHub" --transport http --endpoint "https://api.github.com/mcp" --token "$GITHUB_PAT"
|
|
144
|
+
|
|
145
|
+
# Connect a local stdio MCP server (child process)
|
|
146
|
+
scout mcp add "Filesystem" --transport stdio --command "npx" --args "-y @modelcontextprotocol/server-filesystem /path/to/dir"
|
|
147
|
+
|
|
148
|
+
# Deep inspection of server capabilities, transport, and permissions
|
|
149
|
+
scout mcp inspect GitHub
|
|
150
|
+
|
|
151
|
+
# View discovered tools and schemas from an MCP server
|
|
152
|
+
scout mcp tools GitHub
|
|
153
|
+
|
|
154
|
+
# Manually trigger protocol handshake / reconnect
|
|
155
|
+
scout mcp connect GitHub
|
|
156
|
+
scout mcp disconnect GitHub
|
|
157
|
+
|
|
158
|
+
# Remove an MCP connection and securely wipe encrypted credentials
|
|
159
|
+
scout mcp rm GitHub
|
|
160
|
+
|
|
161
|
+
# Probe latency, error count, and health across all MCP servers
|
|
162
|
+
scout mcp health
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Autonomous Computer-Use Agent Architecture
|
|
168
|
+
|
|
169
|
+
Scout is built as a high-agency autonomous operator capable of operating external desktop applications, browsers, operating systems, and terminal workspaces while strictly preserving user intent:
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
┌────────────────────────────────────────────────────────┐
|
|
173
|
+
│ User Goal / Objective │
|
|
174
|
+
└──────────────────────────┬─────────────────────────────┘
|
|
175
|
+
│
|
|
176
|
+
▼
|
|
177
|
+
┌────────────────────┐
|
|
178
|
+
│ Task Planner │ ◄─── Goal Decomposition & Dependencies
|
|
179
|
+
└──────────┬─────────┘
|
|
180
|
+
│
|
|
181
|
+
▼
|
|
182
|
+
┌────────────────────────────────────────────────────────┐
|
|
183
|
+
│ Execution Intent Engine │
|
|
184
|
+
│ • Inferred Intent: Computer / Browser / Code / Mixed │
|
|
185
|
+
│ • Required Apps: [Notepad, Excel, Chrome, ...] │
|
|
186
|
+
│ • Destination: Desktop / Downloads / Repository Root │
|
|
187
|
+
│ • Constraint: USER INTENT > TOOL CONVENIENCE │
|
|
188
|
+
└──────────────────────────┬─────────────────────────────┘
|
|
189
|
+
│
|
|
190
|
+
▼
|
|
191
|
+
┌────────────────────────────────────────────────────────┐
|
|
192
|
+
│ Task State Manager │
|
|
193
|
+
│ • Checkpoints: .ft/tasks/<taskId>.json │
|
|
194
|
+
│ • Structured Memory: AgentWorkspace & Intent Gates │
|
|
195
|
+
│ • Resume Support: scout agent --resume <taskId> │
|
|
196
|
+
└──────────────────────────┬─────────────────────────────┘
|
|
197
|
+
│
|
|
198
|
+
┌─────────────────────┴─────────────────────┐
|
|
199
|
+
▼ ▼
|
|
200
|
+
┌─────────────────────┐ ┌─────────────────────┐
|
|
201
|
+
│ Risk Classifier │ │ Approval Manager │
|
|
202
|
+
│ • LOW / MEDIUM │ │ • Human-in-the-loop│
|
|
203
|
+
│ • HIGH / CRITICAL │ ──────────────────► │ approval queue │
|
|
204
|
+
└──────────┬──────────┘ └──────────┬──────────┘
|
|
205
|
+
│ Safe / Approved │ Approved
|
|
206
|
+
└─────────────────────┬─────────────────────┘
|
|
207
|
+
│
|
|
208
|
+
▼
|
|
209
|
+
┌────────────────────────────────────────────────────────┐
|
|
210
|
+
│ Tool Execution Guard │
|
|
211
|
+
│ • Strictly blocks direct filesystem shortcuts when │
|
|
212
|
+
│ application interaction was requested │
|
|
213
|
+
│ • Native Computer Controller (PowerShell, AppleScript) │
|
|
214
|
+
│ • Semantic Browser Engine & Core Codebase Tools │
|
|
215
|
+
└──────────────────────────┬─────────────────────────────┘
|
|
216
|
+
│
|
|
217
|
+
▼
|
|
218
|
+
┌────────────────────┐
|
|
219
|
+
│ Action Verifier │
|
|
220
|
+
│ • File existence │
|
|
221
|
+
│ • Desktop vs repo │ ◄── Rejects substitute paths
|
|
222
|
+
│ • Window active │
|
|
223
|
+
│ • Content check │
|
|
224
|
+
└──────────┬─────────┘
|
|
225
|
+
│
|
|
226
|
+
┌─────────────────────┴─────────────────────┐
|
|
227
|
+
│ Success │ Failure (Structured Error)
|
|
228
|
+
▼ ▼
|
|
229
|
+
┌─────────────────────┐ ┌─────────────────────┐
|
|
230
|
+
│ Next Step / │ │ Bounded Recovery │
|
|
231
|
+
│ Completion │ │ • OBSERVE (capture) │
|
|
232
|
+
│ │ │ • REFOCUS WINDOW │
|
|
233
|
+
└─────────────────────┘ │ • RETRY COMPUTER OP │
|
|
234
|
+
└─────────────────────┘
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 1. Execution Intent Preservation (`USER INTENT > TOOL CONVENIENCE`)
|
|
238
|
+
- **Outcome vs. Execution Requirements**: Scout clearly differentiates between outcome tasks (*"Create file X"*) and execution tasks (*"Open Notepad, type X, and save to Desktop"*).
|
|
239
|
+
- **Anti-Substitution Gating**: When a user specifies desktop application interaction, Scout strictly prevents silent shortcuts (such as invoking direct filesystem APIs) and executes the requested workflow through the application interface.
|
|
240
|
+
- **True Desktop Path Resolution**: Automatically discovers and targets the user's actual Desktop path (including Windows OneDrive/Desktop and `~/Desktop`), rejecting accidental substitutions into repository roots.
|
|
241
|
+
|
|
242
|
+
### 2. Native Computer & Desktop Application Control
|
|
243
|
+
- **Cross-Platform System Controller**: Native mouse movement, clicking (`left`, `right`, `double`), text typing (`SendWait`), keyboard combinations (`Ctrl+S`, `Alt+F4`), window activation, and UI inspection across Windows (PowerShell `-EncodedCommand`), macOS (AppleScript), and Linux (`xdotool`).
|
|
244
|
+
- **Active Application State Tracking**: Continuously monitors `expectedApplication`, `activeApplication`, and `activeWindow` before and after UI actions.
|
|
245
|
+
- **Bounded Error Recovery Loop**: When an action fails (e.g. lost foreground focus), Scout returns structured feedback `{ success: false, action, error, recoverable: true }` and executes a bounded recovery cycle (`OBSERVE ➔ REFOCUS ➔ RETRY`) instead of abandoning the interface.
|
|
246
|
+
|
|
247
|
+
### 3. Task State Persistence & Resumability
|
|
248
|
+
- **Checkpointed Task Architecture**: Real-time step progress, observations, artifacts, and execution intents are continuously persisted to `.ft/tasks/<taskId>.json`.
|
|
249
|
+
- **Operational Memory Compaction**: Context summarization prevents unbounded transcript growth during long multi-step workflows while keeping active goals and variables visible to the model.
|
|
250
|
+
- **Task Resumption**: Re-attach to any paused or interrupted session with `scout agent --resume <taskId>`.
|
|
251
|
+
|
|
252
|
+
### 4. Safety Guardrails & Human-in-the-Loop Approvals
|
|
253
|
+
- **Risk Classification**: Classifies every action as `LOW`, `MEDIUM`, `HIGH`, or `CRITICAL`.
|
|
254
|
+
- **Approval Gate**: Pauses and queues high-impact operations (destructive file deletes, system commands, credential requests) for explicit human authorization.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Model Context Protocol (MCP) Ecosystem Architecture
|
|
259
|
+
|
|
260
|
+
Scout implements a production-grade, standard-compliant **Model Context Protocol (MCP)** host and client runtime. It enables Scout to connect to, discover, manage, monitor, and autonomously use external MCP servers across the **CLI**, **Agent Runtime**, and **Web Dashboard** without hardcoding integrations for individual vendors.
|
|
261
|
+
|
|
262
|
+
```mermaid
|
|
263
|
+
graph TD
|
|
264
|
+
CLI["Scout CLI (scout mcp)"] --> Manager["MCPManager (Singleton Orchestrator)"]
|
|
265
|
+
Web["Web Dashboard (REST API)"] --> Manager
|
|
266
|
+
Runtime["Agent Runtime & Engine"] --> Manager
|
|
267
|
+
|
|
268
|
+
Manager --> Persistence["Persistence & AES-256 Vault"]
|
|
269
|
+
Manager --> Permissions["MCPPermissionManager"]
|
|
270
|
+
Manager --> Router["MCPToolRouter (Max 10 / Prompt)"]
|
|
271
|
+
Manager --> Telemetry["MCPTelemetry (~/.ft/mcp_activity.json)"]
|
|
272
|
+
Manager --> Health["MCPHealthMonitor & Recovery"]
|
|
273
|
+
|
|
274
|
+
Manager --> Client["MCPClient Instance(s)"]
|
|
275
|
+
Client --> HTTPTransport["HttpMcpTransport (SSE / POST Streamable)"]
|
|
276
|
+
Client --> StdioTransport["StdioMcpTransport (Subprocess JSON-RPC)"]
|
|
277
|
+
|
|
278
|
+
HTTPTransport --> RemoteServers["External MCP Servers (Motion, GitHub, Figma, etc.)"]
|
|
279
|
+
StdioTransport --> LocalServers["Local MCP Servers (Filesystem, Postgres, etc.)"]
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 1. Standard-Compliant Transports & Protocol Handshake
|
|
283
|
+
- **Streamable HTTP / SSE / POST (`HttpMcpTransport`)**: Implements standard HTTP transport with JSON-RPC 2.0 request/response framing, server-sent events for streaming, custom authorization headers, and ping keep-alives.
|
|
284
|
+
- **Local Subprocess Stdio (`StdioMcpTransport`)**: Spawns local CLI tools as child processes with newline-delimited JSON-RPC message framing, robust stdout/stderr stream isolation, and clean termination.
|
|
285
|
+
- **Protocol Handshake & Discovery**: Automatically performs `initialize` and `notifications/initialized` handshakes, measures roundtrip ping latency, and fetches paginated tool definitions via `tools/list`.
|
|
286
|
+
|
|
287
|
+
### 2. Zero Plaintext Secrets & AES-256-GCM Credential Vault
|
|
288
|
+
- **Encrypted Vault (`~/.ft/mcp_credentials.enc`)**: Bearer tokens and API keys are strictly encrypted at rest using **AES-256-GCM** with PBKDF2 machine-keyed derivation and random initialization vectors (IV).
|
|
289
|
+
- **Public Config Sanitization (`~/.ft/mcp_servers.json`)**: Server configuration files store endpoints, transport modes, and permission settings while stripping all sensitive keys (`token`, `key`, `password`, `secret`).
|
|
290
|
+
- **UI & Log Safety**: No plaintext secret is ever emitted in CLI outputs, REST API responses, web dashboard templates, or audit logs.
|
|
291
|
+
|
|
292
|
+
### 3. Dynamic Capability Routing & Context-Window Protection
|
|
293
|
+
- **Semantic Relevance Ranking**: External tools are dynamically evaluated against the active user prompt and goal using semantic keyword matching and capability scoring.
|
|
294
|
+
- **Strict 10-Tool Maximum**: Scout enforces an autonomous ceiling of **10 tools per completion** to prevent LLM context-window bloating and ensure focused reasoning.
|
|
295
|
+
- **System Prompt Capability Summaries**: Injects a compact summary of available external servers and active tool categories into the agent's system prompt without overwhelming prompt tokens.
|
|
296
|
+
|
|
297
|
+
### 4. Granular Permissions & Safety Controls
|
|
298
|
+
- **Server-Level Controls**: Entire external servers can be enabled, disabled, or set to require confirmation.
|
|
299
|
+
- **Per-Tool Enable/Disable Toggles**: Individual tools can be switched on or off dynamically from the CLI or Web Dashboard.
|
|
300
|
+
- **Safety Classification**: Discovered tools are classified into permission levels: `read`, `write`, `destructive`, or `admin`. Destructive tools (e.g., delete repository, drop table) require explicit human confirmation.
|
|
301
|
+
|
|
302
|
+
### 5. Observable Telemetry & Redacted Audit Logs
|
|
303
|
+
- **Structured Activity Trail (`~/.ft/mcp_activity.json`)**: Every MCP tool execution is logged with timestamp, server ID, tool name, execution duration (ms), outcome, and recovery metadata.
|
|
304
|
+
- **Deep Redaction**: Sensitive parameter keys and values are automatically masked with `[REDACTED]` prior to logging.
|
|
305
|
+
- **Health Probing**: Continuous background health checks monitor server status, tracking latency and failure counts.
|
|
306
|
+
|
|
307
|
+
### 6. Universal Control Plane
|
|
308
|
+
The same synchronized MCP state is shared across:
|
|
309
|
+
1. **Scout CLI (`scout mcp`)**: Terminal management, manual testing, inspection, and health probes.
|
|
310
|
+
2. **Scout Agent Runtime**: Autonomous execution and function calling during multi-step tasks.
|
|
311
|
+
3. **Scout Web Dashboard**: Visual management UI with live KPI counters, server cards, per-tool toggle switches, and a real-time audit trail.
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Scout Autonomous Tool Registry
|
|
316
|
+
|
|
317
|
+
> 📘 **Full Architecture & Specifications**: For complete deep-dive documentation, flowcharts, and schemas, see [AUTONOMOUS_FEATURES.md](./AUTONOMOUS_FEATURES.md).
|
|
318
|
+
|
|
319
|
+
### Desktop & Computer-Use Control Tools
|
|
320
|
+
| Tool | Description | Tier Availability |
|
|
321
|
+
|---|---|:---:|
|
|
322
|
+
| `computer` | Unified multi-action desktop dispatcher (click, drag, type, hotkey, open, etc.) | Pro / Enterprise |
|
|
323
|
+
| `computer_screenshot` | Capture display screen image and inspect active foreground window | Pro / Enterprise |
|
|
324
|
+
| `computer_click` | Move cursor and click mouse at coordinate (left, right, middle) | Pro / Enterprise |
|
|
325
|
+
| `computer_double_click` | Double-click mouse at specified screen coordinate | Pro / Enterprise |
|
|
326
|
+
| `computer_right_click` | Right-click mouse at screen coordinate to open context menus | Pro / Enterprise |
|
|
327
|
+
| `computer_mouse_move` | Move mouse cursor to specific display (x, y) coordinates | Pro / Enterprise |
|
|
328
|
+
| `computer_mouse_down` | Hold down mouse button for drag operations | Pro / Enterprise |
|
|
329
|
+
| `computer_mouse_up` | Release mouse button | Pro / Enterprise |
|
|
330
|
+
| `computer_drag` | Drag mouse cursor from `(fromX, fromY)` to `(toX, toY)` | Pro / Enterprise |
|
|
331
|
+
| `computer_scroll` | Scroll vertical or horizontal mouse wheel deltas | Pro / Enterprise |
|
|
332
|
+
| `computer_type` | Ensure target window focus and type text keystrokes via OS keyboard | Pro / Enterprise |
|
|
333
|
+
| `computer_key_press` | Press individual keyboard key (`enter`, `tab`, `escape`, `backspace`) | Pro / Enterprise |
|
|
334
|
+
| `computer_hotkey` | Trigger key combination (`["ctrl", "s"]`, `["alt", "f4"]`, `["alt", "tab"]`) | Pro / Enterprise |
|
|
335
|
+
| `computer_open_app` | Launch desktop application (Notepad, Excel, Chrome, Terminal) and focus window | Pro / Enterprise |
|
|
336
|
+
| `computer_close_app` | Gracefully close application or window by title/executable | Pro / Enterprise |
|
|
337
|
+
| `computer_switch_window` | Switch foreground active window to target application | Pro / Enterprise |
|
|
338
|
+
| `computer_inspect_ui` | Inspect active window coordinates, title, and UI state | Pro / Enterprise |
|
|
339
|
+
| `computer_wait` | Pause execution to allow desktop applications or animations to settle | Pro / Enterprise |
|
|
340
|
+
| `computer_diagnostic` | Retrieve system display resolution, DPI scaling, and Scout driver health | Pro / Enterprise |
|
|
341
|
+
|
|
342
|
+
### Browser Automation & Web Scraping Tools
|
|
343
|
+
| Tool | Description | Tier Availability |
|
|
344
|
+
|---|---|:---:|
|
|
345
|
+
| `browser_navigate` | Open URL, handle navigation history, and construct semantic DOM tree | Pro / Enterprise |
|
|
346
|
+
| `browser_inspect` | Inspect clickable buttons, links, inputs, and assign element ref IDs (`[ref=1]`) | Pro / Enterprise |
|
|
347
|
+
| `browser_click` | Click element by CSS selector, visible label text, or ref ID | Pro / Enterprise |
|
|
348
|
+
| `browser_type` | Type text strings into active form fields and search inputs | Pro / Enterprise |
|
|
349
|
+
| `browser_select` | Choose option from dropdown `<select>` menus by value or visible text | Pro / Enterprise |
|
|
350
|
+
| `browser_scroll` | Scroll webpage up or down to load lazy-loaded elements | Pro / Enterprise |
|
|
351
|
+
| `browser_content` | Extract clean, structured visible text and tabular data from page | Pro / Enterprise |
|
|
352
|
+
| `browser_screenshot` | Capture visual viewport image of active browser page | Pro / Enterprise |
|
|
353
|
+
| `browser_download` | Automatically download web files, invoices, PDFs to workspace `downloads/` | Pro / Enterprise |
|
|
354
|
+
|
|
355
|
+
### Cognitive Scratchpad & Reasoning Tools
|
|
356
|
+
| Tool | Description | Tier Availability |
|
|
357
|
+
|---|---|:---:|
|
|
358
|
+
| `scratchpad` | Private working memory for multi-step plans, hypotheses, and state (`write`, `read`, `append`, `clear`) | Pro / Enterprise |
|
|
359
|
+
|
|
360
|
+
### Workspace & Engineering Tools (Developer Baseline)
|
|
361
|
+
| Tool | Description | Tier Availability |
|
|
362
|
+
|---|---|:---:|
|
|
363
|
+
| `read_file` | Read content & line ranges of workspace files | All Tiers (Free, Pro, Enterprise) |
|
|
364
|
+
| `write_file` | Create new files or overwrite existing source code | All Tiers (Free, Pro, Enterprise) |
|
|
365
|
+
| `edit_file` | Search & replace exact target code snippets | All Tiers (Free, Pro, Enterprise) |
|
|
366
|
+
| `multi_edit_file` | Apply batch snippet replacements in a single atomic tool call | All Tiers (Free, Pro, Enterprise) |
|
|
367
|
+
| `run_command` | Execute live terminal commands (`npm test`, `tsc`, `pytest`) | All Tiers (Free, Pro, Enterprise) |
|
|
368
|
+
| `list_dir` | List contents of workspace directories | All Tiers (Free, Pro, Enterprise) |
|
|
369
|
+
| `tree_view` | Generate visual ASCII directory tree structures for workspace paths | All Tiers (Free, Pro, Enterprise) |
|
|
370
|
+
| `file_info` | Get file metadata, exact line counts, size, & modification timestamps | All Tiers (Free, Pro, Enterprise) |
|
|
371
|
+
| `grep_search` | String/regex pattern search across entire codebase | All Tiers (Free, Pro, Enterprise) |
|
|
372
|
+
| `glob_search` | Filter workspace files by file glob patterns | All Tiers (Free, Pro, Enterprise) |
|
|
373
|
+
| `fetch_url` | Fetch web API documentation, specs, or external web URLs | All Tiers (Free, Pro, Enterprise) |
|
|
374
|
+
| `git_diff` | Query uncommitted workspace git diff directly inside execution loop | All Tiers (Free, Pro, Enterprise) |
|
|
375
|
+
| `ask_user` | Request missing secret credentials or API keys | All Tiers (Free, Pro, Enterprise) |
|
|
376
|
+
| `speak_text` | Read text phrases out loud via ElevenLabs AI Human Voice (Pro/Enterprise) or Windows SAPI5 (Free) | All Tiers (Free, Pro, Enterprise) |
|
|
377
|
+
| `task_completed` | Conclude autonomous goal execution with verification and report | All Tiers (Free, Pro, Enterprise) |
|
|
378
|
+
|
|
379
|
+
### Dynamic External MCP Tools
|
|
380
|
+
| Tool Namespace | Description | Tier Availability |
|
|
381
|
+
|---|---|:---:|
|
|
382
|
+
| `<server>__<tool_name>` | Dynamically discovered from connected MCP servers (GitHub, Figma, Notion, Slack, Motion, or custom servers), normalized to OpenAI function schemas, and routed to agent context | All Tiers (Free, Pro, Enterprise) |
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Multi-Provider LLM Resilience & Fallback Engine
|
|
387
|
+
|
|
388
|
+
Scout is built for uninterrupted autonomy across multiple LLM providers:
|
|
389
|
+
|
|
390
|
+
- **Multi-Provider Routing**: Seamlessly routes and fails over across **NVIDIA NIM** (Nemotron, DeepSeek R1/V3), **Groq** (Llama 3.3 70B), **Google Gemini**, and **OpenAI** (GPT-4o).
|
|
391
|
+
- **Universal Tool-Calling Fallback**: For reasoning models or providers that do not natively support OpenAI tool/function calling (e.g., Nemotron, DeepSeek reasoning models), Scout automatically injects structured JSON schema instructions and robustly parses tool invocations.
|
|
392
|
+
- **Adaptive Timeout Handling**: Extended 90-second execution window for deep reasoning models on NVIDIA NIM.
|
|
393
|
+
- **Instant Model Failover**: Automatically detects timeouts (`ETIMEDOUT`, `ECONNABORTED`, `408`, `AbortError`), payload errors, and tool-definition errors, instantly switching to fallback models without wasting retry cycles.
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## Conversational Voice Co-Pilot & Audio Engine
|
|
398
|
+
|
|
399
|
+
When starting interactive sessions in `scout agent` (`-V` or `--voice`), `scout init` (ask mode), or `scout search`, Scout presents full two-way audio dialogue:
|
|
400
|
+
|
|
401
|
+
1. **Native C# High-Performance Audio Capture**: Built-in standalone Win32 `waveIn` audio recording engine (`scout_audio_recorder.exe`) compiled directly via native Windows toolchain without requiring Python or external heavy runtime dependencies.
|
|
402
|
+
2. **Real-Time Voice Activity Detection (VAD)**: Intelligent RMS audio power monitoring with a 2.5-second silence debounce cutoff, allowing developers to speak natural multi-sentence thoughts without mid-sentence interruptions.
|
|
403
|
+
3. **Groq Whisper STT with Developer Vocabulary Hints**: Lightning-fast speech-to-text powered by `whisper-large-v3-turbo` with technical prompt biasing (e.g., *Scout, Chrome, Notepad, VS Code, TypeScript, Python*) to prevent mishearing developer commands.
|
|
404
|
+
4. **Ultra-Realistic ElevenLabs Human Voice TTS**:
|
|
405
|
+
- **Pro & Enterprise Tiers**: Full access to **ElevenLabs AI Voice Synthesis** (`eleven_turbo_v2_5`, PCM 24kHz / WAV container) delivering human-quality, natural speech dialogue.
|
|
406
|
+
- **Developer Free Tier**: Fully supported with local Windows SAPI5 speech synthesis (zero API billing cost).
|
|
407
|
+
5. **Conversational Co-Pilot Persona**: Instant spoken acknowledgment (e.g., *"On it! Opening Chrome for you."*) and warm conversational completion summaries rather than dry robotic execution logs.
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## Interactive Slash Commands in Session
|
|
412
|
+
|
|
413
|
+
Inside an active `scout agent` interactive session, type any slash command to trigger agent actions:
|
|
414
|
+
|
|
415
|
+
- `/help` Display comprehensive guide to all 15 tools and interactive slash commands.
|
|
416
|
+
- `/voice` Activate microphone Speech-to-Text (STT) listener to speak your prompt into CLI.
|
|
417
|
+
- `/speak <text>` Read entered text out loud via ElevenLabs AI (Pro/Enterprise) or SAPI5 (Free).
|
|
418
|
+
- `/tree [dir]` Render an interactive visual directory tree of any workspace folder.
|
|
419
|
+
- `/status` or `/stats` View real-time session telemetry (steps executed, tool call count, modified files, elapsed time, branch info).
|
|
420
|
+
- `/test [cmd]` Auto-detect and run project verification test suite directly inside session context.
|
|
421
|
+
- `/explain <file>` Request a deep architectural breakdown and code explanation of a specific file.
|
|
422
|
+
- `/export` or `/save-session` Export full session report and action history to `.ft/session-<timestamp>.md`.
|
|
423
|
+
- `/diff` Display colorized git diff of uncommitted workspace changes.
|
|
424
|
+
- `/clear` or `/compact` Clear session conversation context window.
|
|
425
|
+
- `/undo` Instant 1-command revert of file modifications applied by Scout.
|
|
426
|
+
- `/history` View recent Scout action logs.
|
|
427
|
+
- `/exit` Quit Scout Agent session gracefully.
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## What's New in v1.1.0
|
|
432
|
+
- **Ultra-Realistic ElevenLabs AI Voice Engine**: Integrated human-grade voice synthesis via ElevenLabs for Pro and Enterprise subscribers, bringing lifelike conversational audio feedback directly to the CLI co-pilot.
|
|
433
|
+
- **Native C# Audio Recorder with Real-Time VAD**: Standalone Win32 `waveIn` audio recording binary (`scout_audio_recorder.exe`) with RMS energy detection and 2.5s silence debounce cutoff.
|
|
434
|
+
- **Zero-Latency Groq Whisper STT**: Integrated Groq `whisper-large-v3-turbo` with specialized developer vocabulary hints to eliminate speech recognition errors.
|
|
435
|
+
- **Intelligent Single-Step App Intent Engine (`checkSimpleAppAction`)**: Natural language comprehension for desktop app commands across English and Hinglish (e.g., *"open chrome"*, *"chrome open kar do"*, *"launch vscode"*), terminating immediately on Step 1 without unnecessary repository file exploration.
|
|
436
|
+
- **Autonomous Computer-Use & Desktop App Operator**: Native desktop application control (Notepad, Excel, VS Code, Browser) with full mouse, keyboard, hotkey, and window focus management across Windows, macOS, and Linux powered by the native `scout_driver.exe` engine.
|
|
437
|
+
- **Autonomous Browser Automation & Document Download Engine**: Fully automated web browsing (`browser_navigate`, `browser_inspect`, `browser_click`, `browser_type`, `browser_select`, `browser_scroll`, `browser_content`, `browser_screenshot`, `browser_download`) with DOM extraction and automatic file downloads to `downloads/`.
|
|
438
|
+
- **Cognitive Scratchpad & Working Memory (`scratchpad`)**: Long-horizon multi-step reasoning memory (`write`, `read`, `append`, `clear`) saved to `.ft/scratchpad.md`, keeping model context concise and focused.
|
|
439
|
+
- **Strict Execution Intent Alignment (`USER INTENT > TOOL CONVENIENCE`)**: Differentiates between outcome and execution requirements; strictly blocks silent filesystem shortcuts when application interaction is requested.
|
|
440
|
+
- **Bounded Computer Recovery Loop**: Structured action feedback (`{ success, action, error, recoverable }`) with automated re-observation, window refocusing, and retries.
|
|
441
|
+
- **Action Verifier & Anti-Substitute Path Rejection**: Verifies true destination (resolving Windows OneDrive/Desktop and `~/Desktop`) and rejects substitute files created in the workspace root.
|
|
442
|
+
- **Interactive Web Dashboard & Sync Server (`scout dashboard`)**: Launch a local web GUI to visually inspect repository maps, audit logs, plan details, live agent controls, and subscription tiers.
|
|
443
|
+
- **Developer Authentication Guard (`scout login` / `signup` / `auth`)**: Unified account management with Firebase and Holosene token authentication, securing command execution and session persistence.
|
|
444
|
+
- **Quota & Subscription Management (`scout quota` / `plan`)**: Easily inspect real-time usage quotas, track billing renewal cycles, switch between tiers, or configure BYOK (Bring-Your-Own-Key) access.
|
|
445
|
+
- **Automated Model Benchmark Suite (`scout benchmark`)**: Run live end-to-end latency and throughput benchmarks (tokens/sec) across all configured LLM providers (Nemotron, Qwen, Gemini, GPT).
|
|
446
|
+
- **Nemotron & DeepSeek Fallback Tool-Calling**: Smart JSON prompt formatting and fallback parser for models lacking native function-calling.
|
|
447
|
+
- **Extended 90s LLM Timeout & Instant Failover**: Extended execution window for deep reasoning models and immediate failover upon timeout or connection abort.
|
|
448
|
+
- **First-Class Model Context Protocol (MCP) Ecosystem**: Connect, discover, monitor, and autonomously invoke tools across external MCP servers (Motion, Higgsfield, GitHub, Figma, Notion, Slack, or any custom server) over streamable HTTP/SSE or local stdio processes.
|
|
449
|
+
- **AES-256-GCM Encrypted Credential Vault (`~/.ft/mcp_credentials.enc`)**: Machine-keyed zero-plaintext credential storage protecting API keys and bearer tokens at rest and across all UI/CLI interfaces.
|
|
450
|
+
- **Intelligent Context-Window Tool Router**: Semantic relevance ranking dynamically selects and injects external MCP tools up to a strict ceiling of 10 tools per prompt, eliminating LLM context window bloat.
|
|
451
|
+
- **Granular Server & Tool Safety Permissions**: Fine-grained access control with per-tool enable/disable switches, destruction prevention guards, and bounded recovery.
|
|
452
|
+
- **Observable MCP Audit Trail & Web Control Plane**: Append-only redacted telemetry (`~/.ft/mcp_activity.json`) and a dedicated Web Dashboard management interface (`scout dashboard`) for visual server and tool orchestration.
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## Overhauled Features & Performance
|
|
457
|
+
|
|
458
|
+
- **Autonomous Multi-Step Computer-Use**: Decompose complex tasks into structured steps, verify outcomes, and self-heal from failures.
|
|
459
|
+
- **Strict Intent Governance**: Preserves required applications and target paths without unauthorized tool substitutions.
|
|
460
|
+
- **Task State Persistence (`.ft/tasks/`)**: Maintains checkpointed task states across execution sessions.
|
|
461
|
+
- **Safety & Human Approval**: Automatic risk rating with human-in-the-loop intervention for high-risk operations.
|
|
462
|
+
- **In-Terminal Native STT & TTS Voice Engine**: Direct in-terminal microphone voice input and OS native speech synthesis with zero browser popups.
|
|
463
|
+
- **Multi-Model Provider Resilience**: Intelligent automatic routing and failover across NVIDIA NIM, Groq, Gemini, and OpenAI with universal JSON tool-call fallback.
|
|
464
|
+
- **High-Agency Multi-File Scaffolding**: Automatically creates, implements, tests, and verifies multi-file codebases from scratch.
|
|
465
|
+
- **Atomic Multi-Snippet Editing (`multi_edit_file`)**: Executes multiple code replacements in a single turn for complex multi-point refactoring.
|
|
466
|
+
- **Session Telemetry & Analytics**: Live step counter, tool call counter, and elapsed time estimation during ReAct loop execution.
|
|
467
|
+
- **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.
|
|
468
|
+
- **Post-Execution Review Menu**: Choose from **Keep Changes**, **Run Verification Tests**, **Create Pull Request**, **Export Session Report**, or **Revert Changes** after goal completion.
|
|
469
|
+
- **1-Command Rollback (`scout undo`)**: Every file modification is backed up with timestamped history for zero-risk experimentation.
|
|
470
|
+
- **Universal MCP Host & Orchestrator**: Synchronized MCP connection state, tool routing, and permission controls shared seamlessly across the Scout CLI, autonomous Agent Runtime, and Web Dashboard.
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## License
|
|
475
|
+
|
|
476
|
+
ISC © [FrontTerrain](https://npmjs.com/package/ft-scout)
|
|
477
|
+
|
|
478
|
+
**For any question or concern contact**
|
|
479
|
+
[FrontTerrain support](https://frontterrain.com/support)
|
|
480
|
+
|
|
481
|
+
**Made with ❤️ by FrontTerrain**
|
|
482
|
+
|
package/bin/ft.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"AA6BA,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;AA2CD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,QAKpD;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,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;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;AAED,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAMxF;AAED,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,iBA8oC3E"}
|