ft-scout 1.0.9 → 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.
Files changed (240) hide show
  1. package/.firebase/hosting.d2Vi.cache +9 -0
  2. package/.firebaserc +14 -0
  3. package/AUTONOMOUS_FEATURES.md +192 -0
  4. package/README.md +482 -29
  5. package/bin/ft.js +2 -0
  6. package/bin/src/commands/agent.d.ts.map +1 -0
  7. package/bin/src/commands/agent.js +1230 -0
  8. package/bin/src/commands/agent.js.map +1 -0
  9. package/bin/src/commands/audit.d.ts.map +1 -0
  10. package/bin/src/commands/audit.js +104 -0
  11. package/bin/src/commands/audit.js.map +1 -0
  12. package/bin/src/commands/authCommand.d.ts.map +1 -0
  13. package/bin/src/commands/authCommand.js +38 -0
  14. package/bin/src/commands/authCommand.js.map +1 -0
  15. package/bin/src/commands/benchmark.d.ts.map +1 -0
  16. package/bin/src/commands/benchmark.js +135 -0
  17. package/bin/src/commands/benchmark.js.map +1 -0
  18. package/bin/src/commands/brief.d.ts.map +1 -0
  19. package/bin/src/commands/brief.js +37 -0
  20. package/bin/src/commands/brief.js.map +1 -0
  21. package/bin/src/commands/configCommand.d.ts.map +1 -0
  22. package/bin/src/commands/configCommand.js +53 -0
  23. package/bin/src/commands/configCommand.js.map +1 -0
  24. package/bin/src/commands/dashboard.d.ts.map +1 -0
  25. package/bin/src/commands/dashboard.js +41 -0
  26. package/bin/src/commands/dashboard.js.map +1 -0
  27. package/bin/src/commands/history.d.ts.map +1 -0
  28. package/bin/src/commands/history.js +20 -0
  29. package/bin/src/commands/history.js.map +1 -0
  30. package/bin/src/commands/init.d.ts.map +1 -1
  31. package/bin/src/commands/init.js +408 -79
  32. package/bin/src/commands/init.js.map +1 -1
  33. package/bin/src/commands/login.d.ts.map +1 -0
  34. package/bin/src/commands/login.js +190 -0
  35. package/bin/src/commands/login.js.map +1 -0
  36. package/bin/src/commands/logout.d.ts.map +1 -0
  37. package/bin/src/commands/logout.js +15 -0
  38. package/bin/src/commands/logout.js.map +1 -0
  39. package/bin/src/commands/mcp.d.ts.map +1 -0
  40. package/bin/src/commands/mcp.js +393 -0
  41. package/bin/src/commands/mcp.js.map +1 -0
  42. package/bin/src/commands/owners.js +6 -6
  43. package/bin/src/commands/owners.js.map +1 -1
  44. package/bin/src/commands/plan.d.ts.map +1 -0
  45. package/bin/src/commands/plan.js +152 -0
  46. package/bin/src/commands/plan.js.map +1 -0
  47. package/bin/src/commands/quota.d.ts.map +1 -0
  48. package/bin/src/commands/quota.js +32 -0
  49. package/bin/src/commands/quota.js.map +1 -0
  50. package/bin/src/commands/recommend.d.ts.map +1 -0
  51. package/bin/src/commands/recommend.js +46 -0
  52. package/bin/src/commands/recommend.js.map +1 -0
  53. package/bin/src/commands/risky.d.ts.map +1 -1
  54. package/bin/src/commands/risky.js +235 -39
  55. package/bin/src/commands/risky.js.map +1 -1
  56. package/bin/src/commands/setup.d.ts.map +1 -1
  57. package/bin/src/commands/setup.js +411 -16
  58. package/bin/src/commands/setup.js.map +1 -1
  59. package/bin/src/commands/signup.d.ts.map +1 -0
  60. package/bin/src/commands/signup.js +118 -0
  61. package/bin/src/commands/signup.js.map +1 -0
  62. package/bin/src/commands/undo.d.ts.map +1 -0
  63. package/bin/src/commands/undo.js +59 -0
  64. package/bin/src/commands/undo.js.map +1 -0
  65. package/bin/src/commands/web.d.ts.map +1 -0
  66. package/bin/src/commands/web.js +90 -0
  67. package/bin/src/commands/web.js.map +1 -0
  68. package/bin/src/discovery/config.d.ts.map +1 -0
  69. package/bin/src/discovery/config.js +41 -0
  70. package/bin/src/discovery/config.js.map +1 -0
  71. package/bin/src/discovery/display.d.ts.map +1 -0
  72. package/bin/src/discovery/display.js +57 -0
  73. package/bin/src/discovery/display.js.map +1 -0
  74. package/bin/src/discovery/messages.d.ts.map +1 -0
  75. package/bin/src/discovery/messages.js +7 -0
  76. package/bin/src/discovery/messages.js.map +1 -0
  77. package/bin/src/discovery/signals.d.ts.map +1 -0
  78. package/bin/src/discovery/signals.js +33 -0
  79. package/bin/src/discovery/signals.js.map +1 -0
  80. package/bin/src/engine/actionVerifier.d.ts.map +1 -0
  81. package/bin/src/engine/actionVerifier.js +283 -0
  82. package/bin/src/engine/actionVerifier.js.map +1 -0
  83. package/bin/src/engine/agentEngine.d.ts.map +1 -0
  84. package/bin/src/engine/agentEngine.js +2188 -0
  85. package/bin/src/engine/agentEngine.js.map +1 -0
  86. package/bin/src/engine/agentState.d.ts.map +1 -0
  87. package/bin/src/engine/agentState.js +381 -0
  88. package/bin/src/engine/agentState.js.map +1 -0
  89. package/bin/src/engine/browser/browserController.d.ts.map +1 -0
  90. package/bin/src/engine/browser/browserController.js +737 -0
  91. package/bin/src/engine/browser/browserController.js.map +1 -0
  92. package/bin/src/engine/browser/index.d.ts.map +1 -0
  93. package/bin/src/engine/browser/index.js +2 -0
  94. package/bin/src/engine/browser/index.js.map +1 -0
  95. package/bin/src/engine/computer/computerController.d.ts.map +1 -0
  96. package/bin/src/engine/computer/computerController.js +773 -0
  97. package/bin/src/engine/computer/computerController.js.map +1 -0
  98. package/bin/src/engine/computer/computerDiagnostic.d.ts.map +1 -0
  99. package/bin/src/engine/computer/computerDiagnostic.js +71 -0
  100. package/bin/src/engine/computer/computerDiagnostic.js.map +1 -0
  101. package/bin/src/engine/computer/index.d.ts.map +1 -0
  102. package/bin/src/engine/computer/index.js +4 -0
  103. package/bin/src/engine/computer/index.js.map +1 -0
  104. package/bin/src/engine/computer/mockComputer.d.ts.map +1 -0
  105. package/bin/src/engine/computer/mockComputer.js +260 -0
  106. package/bin/src/engine/computer/mockComputer.js.map +1 -0
  107. package/bin/src/engine/computer/scoutDriver.cs +1161 -0
  108. package/bin/src/engine/computer/scout_driver.exe +0 -0
  109. package/bin/src/engine/git.d.ts.map +1 -1
  110. package/bin/src/engine/git.js +71 -0
  111. package/bin/src/engine/git.js.map +1 -1
  112. package/bin/src/engine/llm.d.ts.map +1 -1
  113. package/bin/src/engine/llm.js +1264 -35
  114. package/bin/src/engine/llm.js.map +1 -1
  115. package/bin/src/engine/planner.d.ts.map +1 -0
  116. package/bin/src/engine/planner.js +321 -0
  117. package/bin/src/engine/planner.js.map +1 -0
  118. package/bin/src/engine/runtime/agentRuntime.d.ts.map +1 -0
  119. package/bin/src/engine/runtime/agentRuntime.js +1258 -0
  120. package/bin/src/engine/runtime/agentRuntime.js.map +1 -0
  121. package/bin/src/engine/runtime/index.d.ts.map +1 -0
  122. package/bin/src/engine/runtime/index.js +2 -0
  123. package/bin/src/engine/runtime/index.js.map +1 -0
  124. package/bin/src/engine/safety.d.ts.map +1 -0
  125. package/bin/src/engine/safety.js +316 -0
  126. package/bin/src/engine/safety.js.map +1 -0
  127. package/bin/src/engine/scoutAudioRecorder.cs +215 -0
  128. package/bin/src/engine/scout_audio_recorder.exe +0 -0
  129. package/bin/src/engine/toolRegistry.d.ts.map +1 -0
  130. package/bin/src/engine/toolRegistry.js +521 -0
  131. package/bin/src/engine/toolRegistry.js.map +1 -0
  132. package/bin/src/engine/verifier.d.ts.map +1 -0
  133. package/bin/src/engine/verifier.js +414 -0
  134. package/bin/src/engine/verifier.js.map +1 -0
  135. package/bin/src/engine/voiceEngine.d.ts.map +1 -0
  136. package/bin/src/engine/voiceEngine.js +474 -0
  137. package/bin/src/engine/voiceEngine.js.map +1 -0
  138. package/bin/src/engine/web.d.ts.map +1 -0
  139. package/bin/src/engine/web.js +161 -0
  140. package/bin/src/engine/web.js.map +1 -0
  141. package/bin/src/engine/workspace/agentWorkspace.d.ts.map +1 -0
  142. package/bin/src/engine/workspace/agentWorkspace.js +505 -0
  143. package/bin/src/engine/workspace/agentWorkspace.js.map +1 -0
  144. package/bin/src/engine/workspace/index.d.ts.map +1 -0
  145. package/bin/src/engine/workspace/index.js +2 -0
  146. package/bin/src/engine/workspace/index.js.map +1 -0
  147. package/bin/src/index.js +369 -19
  148. package/bin/src/index.js.map +1 -1
  149. package/bin/src/mcp/client.d.ts.map +1 -0
  150. package/bin/src/mcp/client.js +127 -0
  151. package/bin/src/mcp/client.js.map +1 -0
  152. package/bin/src/mcp/discovery.d.ts.map +1 -0
  153. package/bin/src/mcp/discovery.js +91 -0
  154. package/bin/src/mcp/discovery.js.map +1 -0
  155. package/bin/src/mcp/health.d.ts.map +1 -0
  156. package/bin/src/mcp/health.js +44 -0
  157. package/bin/src/mcp/health.js.map +1 -0
  158. package/bin/src/mcp/index.d.ts.map +1 -0
  159. package/bin/src/mcp/index.js +15 -0
  160. package/bin/src/mcp/index.js.map +1 -0
  161. package/bin/src/mcp/manager.d.ts.map +1 -0
  162. package/bin/src/mcp/manager.js +648 -0
  163. package/bin/src/mcp/manager.js.map +1 -0
  164. package/bin/src/mcp/permissions.d.ts.map +1 -0
  165. package/bin/src/mcp/permissions.js +50 -0
  166. package/bin/src/mcp/permissions.js.map +1 -0
  167. package/bin/src/mcp/persistence.d.ts.map +1 -0
  168. package/bin/src/mcp/persistence.js +171 -0
  169. package/bin/src/mcp/persistence.js.map +1 -0
  170. package/bin/src/mcp/recovery.d.ts.map +1 -0
  171. package/bin/src/mcp/recovery.js +75 -0
  172. package/bin/src/mcp/recovery.js.map +1 -0
  173. package/bin/src/mcp/telemetry.d.ts.map +1 -0
  174. package/bin/src/mcp/telemetry.js +82 -0
  175. package/bin/src/mcp/telemetry.js.map +1 -0
  176. package/bin/src/mcp/toolRouter.d.ts.map +1 -0
  177. package/bin/src/mcp/toolRouter.js +127 -0
  178. package/bin/src/mcp/toolRouter.js.map +1 -0
  179. package/bin/src/mcp/transport.d.ts.map +1 -0
  180. package/bin/src/mcp/transport.js +328 -0
  181. package/bin/src/mcp/transport.js.map +1 -0
  182. package/bin/src/mcp/types.d.ts.map +1 -0
  183. package/bin/src/mcp/types.js +6 -0
  184. package/bin/src/mcp/types.js.map +1 -0
  185. package/bin/src/server/server.d.ts.map +1 -0
  186. package/bin/src/server/server.js +989 -0
  187. package/bin/src/server/server.js.map +1 -0
  188. package/bin/src/utils/admin.d.ts.map +1 -0
  189. package/bin/src/utils/admin.js +231 -0
  190. package/bin/src/utils/admin.js.map +1 -0
  191. package/bin/src/utils/auditLogger.d.ts.map +1 -0
  192. package/bin/src/utils/auditLogger.js +70 -0
  193. package/bin/src/utils/auditLogger.js.map +1 -0
  194. package/bin/src/utils/auth.d.ts.map +1 -0
  195. package/bin/src/utils/auth.js +679 -0
  196. package/bin/src/utils/auth.js.map +1 -0
  197. package/bin/src/utils/branding.d.ts.map +1 -0
  198. package/bin/src/utils/branding.js +14 -0
  199. package/bin/src/utils/branding.js.map +1 -0
  200. package/bin/src/utils/config.d.ts.map +1 -1
  201. package/bin/src/utils/config.js +124 -3
  202. package/bin/src/utils/config.js.map +1 -1
  203. package/bin/src/utils/email.d.ts.map +1 -0
  204. package/bin/src/utils/email.js +267 -0
  205. package/bin/src/utils/email.js.map +1 -0
  206. package/bin/src/utils/firebaseAuth.d.ts.map +1 -0
  207. package/bin/src/utils/firebaseAuth.js +174 -0
  208. package/bin/src/utils/firebaseAuth.js.map +1 -0
  209. package/bin/src/utils/holoseneAuth.d.ts.map +1 -0
  210. package/bin/src/utils/holoseneAuth.js +307 -0
  211. package/bin/src/utils/holoseneAuth.js.map +1 -0
  212. package/bin/src/utils/language.d.ts.map +1 -0
  213. package/bin/src/utils/language.js +181 -0
  214. package/bin/src/utils/language.js.map +1 -0
  215. package/bin/src/utils/markdown.d.ts.map +1 -0
  216. package/bin/src/utils/markdown.js +215 -0
  217. package/bin/src/utils/markdown.js.map +1 -0
  218. package/bin/src/utils/payment.d.ts.map +1 -0
  219. package/bin/src/utils/payment.js +290 -0
  220. package/bin/src/utils/payment.js.map +1 -0
  221. package/bin/src/utils/pricing.d.ts.map +1 -0
  222. package/bin/src/utils/pricing.js +165 -0
  223. package/bin/src/utils/pricing.js.map +1 -0
  224. package/bin/src/utils/razorpay.d.ts.map +1 -0
  225. package/bin/src/utils/razorpay.js +144 -0
  226. package/bin/src/utils/razorpay.js.map +1 -0
  227. package/bin/src/utils/session.d.ts.map +1 -0
  228. package/bin/src/utils/session.js +82 -0
  229. package/bin/src/utils/session.js.map +1 -0
  230. package/bin/src/utils/updateCheck.d.ts.map +1 -0
  231. package/bin/src/utils/updateCheck.js +108 -0
  232. package/bin/src/utils/updateCheck.js.map +1 -0
  233. package/downloads/invoice-2026-03.pdf +1 -0
  234. package/firebase.json +74 -0
  235. package/package.json +49 -46
  236. package/web/ScoutFavicon.png +0 -0
  237. package/web/app.js +3944 -0
  238. package/web/styles.css +3081 -0
  239. package/.ft/context.json +0 -17
  240. package/email-template.txt +0 -44
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["web.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentWorkspace.d.ts","sourceRoot":"","sources":["agentWorkspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,505 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import { TaskStateManager, } from '../agentState.js';
5
+ export function resolveDesktopPath(filename) {
6
+ const home = os.homedir();
7
+ if (process.platform === 'win32') {
8
+ const oneDriveDesktop = path.join(home, 'OneDrive', 'Desktop');
9
+ if (fs.existsSync(oneDriveDesktop)) {
10
+ return filename ? path.join(oneDriveDesktop, filename) : oneDriveDesktop;
11
+ }
12
+ }
13
+ const standardDesktop = path.join(home, 'Desktop');
14
+ return filename ? path.join(standardDesktop, filename) : standardDesktop;
15
+ }
16
+ export function inferExecutionIntent(goal) {
17
+ const raw = String(goal || '').trim();
18
+ const lower = raw.toLowerCase();
19
+ // Check if user explicitly allows alternatives (e.g. "any method you prefer")
20
+ const allowsAlternative = /\b(any method|any tool|whatever method|whatever tool|any way you prefer|any way you want|up to you|by any means|whichever tool)\b/i.test(lower);
21
+ // Detect target destination
22
+ let targetDestination = undefined;
23
+ if (/\b(?:on|to|in)\s+(?:my\s+)?desktop\b/i.test(lower)) {
24
+ targetDestination = 'Desktop';
25
+ }
26
+ else if (/\b(?:on|to|in)\s+(?:my\s+)?downloads\b/i.test(lower)) {
27
+ targetDestination = 'Downloads';
28
+ }
29
+ else if (/\b(?:on|to|in)\s+(?:my\s+)?documents\b/i.test(lower)) {
30
+ targetDestination = 'Documents';
31
+ }
32
+ // Detect target artifact filename (e.g. scout-test.txt, report.csv)
33
+ let targetArtifactName = undefined;
34
+ const fileMatch = raw.match(/\b([a-zA-Z0-9_\-./\\]+\.(?:txt|csv|json|md|pdf|xlsx|docx|png|jpg))\b/i);
35
+ if (fileMatch && fileMatch[1]) {
36
+ targetArtifactName = path.basename(fileMatch[1]);
37
+ }
38
+ // Recognized desktop applications
39
+ const appKeywords = {
40
+ 'notepad': 'Notepad',
41
+ 'textedit': 'TextEdit',
42
+ 'vscode': 'Visual Studio Code',
43
+ 'vs code': 'Visual Studio Code',
44
+ 'excel': 'Microsoft Excel',
45
+ 'word': 'Microsoft Word',
46
+ 'calc': 'Calculator',
47
+ 'calculator': 'Calculator',
48
+ 'paint': 'Paint',
49
+ 'explorer': 'File Explorer',
50
+ 'file explorer': 'File Explorer',
51
+ 'terminal': 'Terminal',
52
+ 'powershell': 'PowerShell',
53
+ 'cmd': 'Command Prompt',
54
+ 'chrome': 'Google Chrome',
55
+ 'firefox': 'Mozilla Firefox',
56
+ 'edge': 'Microsoft Edge',
57
+ 'browser': 'Web Browser',
58
+ };
59
+ const requiredApplications = [];
60
+ for (const [kw, appName] of Object.entries(appKeywords)) {
61
+ const regex = new RegExp(`\\b${kw}\\b`, 'i');
62
+ if (regex.test(lower)) {
63
+ if (!requiredApplications.includes(appName)) {
64
+ requiredApplications.push(appName);
65
+ }
66
+ }
67
+ }
68
+ const isBrowserGoal = requiredApplications.some(a => ['Google Chrome', 'Mozilla Firefox', 'Microsoft Edge', 'Web Browser'].includes(a)) ||
69
+ /\b(?:browse|website|web page|webpage|url|http|navigate to)\b/i.test(lower);
70
+ const isDesktopAppGoal = requiredApplications.some(a => !['Google Chrome', 'Mozilla Firefox', 'Microsoft Edge', 'Web Browser'].includes(a)) ||
71
+ /\b(?:open|launch|switch to|in)\s+(?:the\s+)?(?:notepad|excel|word|calculator|paint|terminal|powershell|cmd|app|window)\b/i.test(lower);
72
+ if (isDesktopAppGoal && isBrowserGoal) {
73
+ return {
74
+ requiredApplications,
75
+ requiredInteraction: 'mixed',
76
+ allowAlternativeTools: allowsAlternative,
77
+ targetDestination,
78
+ targetArtifactName,
79
+ rationale: `Multi-application workflow requiring both desktop application(s) [${requiredApplications.join(', ')}] and browser interaction.`
80
+ };
81
+ }
82
+ if (isDesktopAppGoal) {
83
+ return {
84
+ requiredApplications,
85
+ requiredInteraction: 'computer',
86
+ allowAlternativeTools: allowsAlternative,
87
+ targetDestination,
88
+ targetArtifactName,
89
+ rationale: `User explicitly specified desktop application interaction with [${requiredApplications.join(', ')}]. UI automation via computer tools is required.`
90
+ };
91
+ }
92
+ if (isBrowserGoal) {
93
+ return {
94
+ requiredApplications,
95
+ requiredInteraction: 'browser',
96
+ allowAlternativeTools: allowsAlternative,
97
+ targetDestination,
98
+ targetArtifactName,
99
+ rationale: `User explicitly requested browser interaction. Web automation tools are required.`
100
+ };
101
+ }
102
+ return {
103
+ requiredApplications: [],
104
+ requiredInteraction: 'code_repo',
105
+ allowAlternativeTools: true,
106
+ targetDestination,
107
+ targetArtifactName,
108
+ rationale: `General coding/file creation task. Standard filesystem, CLI, and code tools are permitted.`
109
+ };
110
+ }
111
+ export class AgentWorkspace {
112
+ data;
113
+ stateManager;
114
+ workspaceDir;
115
+ constructor(taskIdOrDir, objective = '', workspaceDir) {
116
+ this.workspaceDir = workspaceDir || (taskIdOrDir && fs.existsSync(taskIdOrDir) ? taskIdOrDir : process.cwd());
117
+ this.stateManager = new TaskStateManager(taskIdOrDir, objective, this.workspaceDir);
118
+ const state = this.stateManager.getCurrentState();
119
+ const effectiveGoal = objective || state.goal || '';
120
+ const intent = inferExecutionIntent(effectiveGoal);
121
+ this.data = {
122
+ taskId: state.taskId,
123
+ objective: effectiveGoal,
124
+ status: state.status,
125
+ plan: state.plan || [],
126
+ currentStep: state.currentStep || 0,
127
+ completedSteps: state.completed_steps || [],
128
+ observations: state.observations || [],
129
+ environment: {
130
+ activeApplication: state.active_application || null,
131
+ activeWindow: state.active_window || null,
132
+ expectedApplication: intent.requiredApplications[0] || null,
133
+ activeUrl: state.active_url || null,
134
+ cwd: this.workspaceDir,
135
+ desktopDir: resolveDesktopPath(),
136
+ platform: process.platform,
137
+ },
138
+ executionIntent: intent,
139
+ artifacts: state.artifacts || [],
140
+ errors: state.errors || [],
141
+ constraints: [],
142
+ verificationStatus: state.verification_status || null,
143
+ createdAt: state.created_at || new Date().toISOString(),
144
+ updatedAt: state.updated_at || new Date().toISOString(),
145
+ };
146
+ }
147
+ getStateManager() {
148
+ return this.stateManager;
149
+ }
150
+ getData() {
151
+ return {
152
+ ...this.data,
153
+ plan: [...this.data.plan],
154
+ completedSteps: [...this.data.completedSteps],
155
+ observations: [...this.data.observations],
156
+ artifacts: [...this.data.artifacts],
157
+ errors: [...this.data.errors],
158
+ constraints: [...this.data.constraints],
159
+ };
160
+ }
161
+ getExecutionIntent() {
162
+ return { ...this.data.executionIntent };
163
+ }
164
+ setExecutionIntent(intent) {
165
+ this.data.executionIntent = intent;
166
+ if (intent.requiredApplications[0]) {
167
+ this.data.environment.expectedApplication = intent.requiredApplications[0];
168
+ }
169
+ this.touch();
170
+ }
171
+ getExpectedApplication() {
172
+ return this.data.environment.expectedApplication;
173
+ }
174
+ setExpectedApplication(app) {
175
+ this.data.environment.expectedApplication = app;
176
+ this.touch();
177
+ }
178
+ validateToolExecution(toolName, args) {
179
+ const intent = this.data.executionIntent;
180
+ // Strict enforcement: When user specifically demands desktop application interaction,
181
+ // direct file creation/editing tools CANNOT be used as a substitute!
182
+ if (!intent.allowAlternativeTools && intent.requiredInteraction === 'computer') {
183
+ const forbiddenDirectFileTools = ['write_file', 'edit_file', 'multi_edit_file'];
184
+ if (forbiddenDirectFileTools.includes(toolName)) {
185
+ const requestedApp = intent.requiredApplications[0] || 'the requested application';
186
+ return {
187
+ allowed: false,
188
+ reason: `[INTENT VIOLATION BLOCKED]: The user explicitly requested to perform this workflow using application "${requestedApp}". ` +
189
+ `To silently substitute direct filesystem API calls ("${toolName}") is strictly prohibited because USER INTENT > TOOL CONVENIENCE. ` +
190
+ `You must interact with ${requestedApp} using computer tools: ` +
191
+ `1) Ensure ${requestedApp} is open & focused (computer_open_app or computer_switch_window), ` +
192
+ `2) Enter text (computer_type), ` +
193
+ `3) Open the application's Save dialog (computer_hotkey ["ctrl", "s"]), ` +
194
+ `4) Type the save path (${intent.targetDestination === 'Desktop' ? resolveDesktopPath(intent.targetArtifactName || 'file.txt') : (intent.targetArtifactName || 'file.txt')}) and press Enter.`
195
+ };
196
+ }
197
+ if (toolName === 'run_command') {
198
+ const cmd = String(args.command || '');
199
+ const fileWritePatterns = [
200
+ />/,
201
+ /\bSet-Content\b/i,
202
+ /\bOut-File\b/i,
203
+ /\bNew-Item\b/i,
204
+ /\becho\b.*>/i,
205
+ /\bAdd-Content\b/i,
206
+ /\btee\b/i,
207
+ /\bcopy\b.*con/i,
208
+ /\btype\b.*>/i,
209
+ ];
210
+ if (fileWritePatterns.some(p => p.test(cmd))) {
211
+ const requestedApp = intent.requiredApplications[0] || 'the requested application';
212
+ return {
213
+ allowed: false,
214
+ reason: `[INTENT VIOLATION BLOCKED]: Direct file creation via shell command ("${cmd}") is blocked because the user explicitly requested to perform this workflow using "${requestedApp}". Use computer tools to interact with the GUI.`
215
+ };
216
+ }
217
+ }
218
+ }
219
+ // Safety check for destination mismatch
220
+ if (intent.targetDestination === 'Desktop' && toolName === 'write_file') {
221
+ const rawP = String(args.path || '').trim();
222
+ // Plain filename like 'hello.txt' is automatically redirected to Desktop by the runtime.
223
+ // Only reject if an explicit path targeting another folder (e.g. repo root) was provided.
224
+ const isExplicitPath = rawP.includes('/') || rawP.includes('\\') || rawP.startsWith('.');
225
+ if (isExplicitPath) {
226
+ const fullP = path.isAbsolute(rawP) ? rawP : path.resolve(this.workspaceDir, rawP);
227
+ const desktopPath = resolveDesktopPath();
228
+ if (!fullP.toLowerCase().startsWith(desktopPath.toLowerCase())) {
229
+ return {
230
+ allowed: false,
231
+ reason: `[DESTINATION MISMATCH]: The user requested this file to be saved on their Desktop ("${desktopPath}"), ` +
232
+ `but "${rawP}" targets the local workspace repository directory ("${this.workspaceDir}"). ` +
233
+ `Never assume the repository root is the user's Desktop!`
234
+ };
235
+ }
236
+ }
237
+ }
238
+ return { allowed: true };
239
+ }
240
+ setObjective(objective) {
241
+ this.data.objective = objective;
242
+ this.stateManager.setObjective(objective);
243
+ this.touch();
244
+ }
245
+ setPlan(steps) {
246
+ const formatted = steps.map((s, idx) => {
247
+ if (typeof s === 'string') {
248
+ return {
249
+ id: idx + 1,
250
+ description: s,
251
+ status: 'pending',
252
+ };
253
+ }
254
+ return {
255
+ ...s,
256
+ id: s.id ?? idx + 1,
257
+ status: s.status || 'pending',
258
+ };
259
+ });
260
+ this.data.plan = formatted;
261
+ this.stateManager.setPlan(formatted);
262
+ this.touch();
263
+ }
264
+ updatePlan(steps) {
265
+ this.setPlan(steps);
266
+ }
267
+ startStep(stepNumber, description) {
268
+ this.data.currentStep = stepNumber;
269
+ this.data.status = 'running';
270
+ const item = this.data.plan.find((p) => p.id === stepNumber);
271
+ if (item) {
272
+ item.status = 'in_progress';
273
+ }
274
+ else if (description) {
275
+ this.data.plan.push({
276
+ id: stepNumber,
277
+ description,
278
+ status: 'in_progress',
279
+ });
280
+ }
281
+ this.stateManager.startStep(stepNumber, description);
282
+ this.touch();
283
+ }
284
+ completeStep(stepNumber, summary) {
285
+ if (!this.data.completedSteps.includes(stepNumber)) {
286
+ this.data.completedSteps.push(stepNumber);
287
+ this.data.completedSteps.sort((a, b) => a - b);
288
+ }
289
+ const item = this.data.plan.find((p) => p.id === stepNumber);
290
+ if (item) {
291
+ item.status = 'completed';
292
+ if (summary)
293
+ item.result = summary;
294
+ item.completedAt = new Date().toISOString();
295
+ }
296
+ this.stateManager.completeStep(stepNumber, summary);
297
+ this.touch();
298
+ }
299
+ failStep(stepNumber, reason) {
300
+ const item = this.data.plan.find((p) => p.id === stepNumber);
301
+ if (item) {
302
+ item.status = 'failed';
303
+ item.result = reason;
304
+ }
305
+ this.stateManager.failStep(stepNumber, reason);
306
+ this.touch();
307
+ }
308
+ addObservation(obs) {
309
+ const entry = {
310
+ step: obs.step ?? this.data.currentStep,
311
+ timestamp: new Date().toISOString(),
312
+ tool: obs.tool,
313
+ action: obs.tool,
314
+ target: obs.target,
315
+ resultSummary: obs.resultSummary.slice(0, 1000),
316
+ result: obs.resultSummary.slice(0, 1000),
317
+ verified: obs.verified ?? true,
318
+ activeApplication: this.data.environment.activeApplication,
319
+ activeUrl: this.data.environment.activeUrl,
320
+ };
321
+ this.data.observations.push(entry);
322
+ if (this.data.observations.length > 50) {
323
+ this.data.observations.shift();
324
+ }
325
+ this.stateManager.recordObservation(obs);
326
+ this.touch();
327
+ }
328
+ recordArtifact(artifact) {
329
+ const saved = this.stateManager.recordArtifact(artifact);
330
+ this.data.artifacts.push(saved);
331
+ this.touch();
332
+ return saved;
333
+ }
334
+ recordError(message, tool, recoveryAttempted, recovered = false) {
335
+ const err = {
336
+ step: this.data.currentStep,
337
+ timestamp: new Date().toISOString(),
338
+ tool,
339
+ message,
340
+ recoveryAttempted,
341
+ recovered,
342
+ };
343
+ this.data.errors.push(err);
344
+ if (this.data.errors.length > 30) {
345
+ this.data.errors.shift();
346
+ }
347
+ this.stateManager.recordError(message, tool, recoveryAttempted, recovered);
348
+ this.touch();
349
+ }
350
+ setRecoveryInfo(info) {
351
+ this.data.recoveryInfo = info;
352
+ if (info) {
353
+ this.data.status = 'recovering';
354
+ }
355
+ this.touch();
356
+ }
357
+ setActiveApplication(appName) {
358
+ this.data.environment.activeApplication = appName;
359
+ this.stateManager.setActiveApplication(appName);
360
+ this.touch();
361
+ }
362
+ setActiveWindow(windowTitle) {
363
+ this.data.environment.activeWindow = windowTitle;
364
+ this.stateManager.setActiveWindow(windowTitle);
365
+ this.touch();
366
+ }
367
+ setActiveUrl(url) {
368
+ this.data.environment.activeUrl = url;
369
+ this.stateManager.setActiveUrl(url);
370
+ this.touch();
371
+ }
372
+ setPendingApproval(pending) {
373
+ this.data.pendingApproval = pending;
374
+ this.data.status = pending ? 'waiting_approval' : 'running';
375
+ this.stateManager.setPendingAction(pending);
376
+ this.touch();
377
+ }
378
+ setVerificationStatus(status) {
379
+ this.data.verificationStatus = status;
380
+ this.stateManager.setVerificationStatus(status);
381
+ this.touch();
382
+ }
383
+ addConstraint(constraint) {
384
+ if (!this.data.constraints.includes(constraint)) {
385
+ this.data.constraints.push(constraint);
386
+ this.touch();
387
+ }
388
+ }
389
+ setStatus(status) {
390
+ this.data.status = status;
391
+ if (status === 'cancelled') {
392
+ this.stateManager.setStatus('failed');
393
+ }
394
+ else {
395
+ this.stateManager.setStatus(status);
396
+ }
397
+ this.touch();
398
+ }
399
+ touch() {
400
+ this.data.updatedAt = new Date().toISOString();
401
+ this.stateManager.touch();
402
+ }
403
+ /**
404
+ * Compacts the current structured operational workspace into a concise,
405
+ * high-signal summary string for model injection.
406
+ * Prevents context explosion while keeping key state visible.
407
+ */
408
+ compactWorkspaceForPrompt() {
409
+ const lines = [];
410
+ lines.push(`### [AGENT OPERATIONAL WORKSPACE]`);
411
+ lines.push(`• Objective: "${this.data.objective}"`);
412
+ lines.push(`• Status: ${this.data.status.toUpperCase()} (Step ${this.data.currentStep})`);
413
+ // Execution Intent & Constraints
414
+ const intent = this.data.executionIntent;
415
+ lines.push(`• Execution Intent: ${intent.requiredInteraction.toUpperCase()} (Applications: [${intent.requiredApplications.join(', ') || 'None'}])`);
416
+ lines.push(`• Allow Alternative Tools: ${intent.allowAlternativeTools ? 'YES' : 'NO (STRICT: Must interact through requested application)'}`);
417
+ if (intent.targetDestination) {
418
+ lines.push(`• Target Destination: ${intent.targetDestination} (Resolved Path: "${this.data.environment.desktopDir}")`);
419
+ }
420
+ if (intent.targetArtifactName) {
421
+ lines.push(`• Target Artifact: "${intent.targetArtifactName}"`);
422
+ }
423
+ // Environment
424
+ const envParts = [];
425
+ if (this.data.environment.expectedApplication)
426
+ envParts.push(`Expected App: ${this.data.environment.expectedApplication}`);
427
+ if (this.data.environment.activeApplication)
428
+ envParts.push(`Active App: ${this.data.environment.activeApplication}`);
429
+ if (this.data.environment.activeWindow)
430
+ envParts.push(`Active Window: "${this.data.environment.activeWindow}"`);
431
+ if (this.data.environment.activeUrl)
432
+ envParts.push(`URL: ${this.data.environment.activeUrl}`);
433
+ if (envParts.length > 0) {
434
+ lines.push(`• Environment: ${envParts.join(' | ')}`);
435
+ }
436
+ // Plan progress
437
+ if (this.data.plan.length > 0) {
438
+ lines.push(`• Plan Progress (${this.data.completedSteps.length}/${this.data.plan.length} completed):`);
439
+ for (const p of this.data.plan) {
440
+ const mark = p.status === 'completed' ? '[x]' : p.status === 'in_progress' ? '➔' : p.status === 'failed' ? '[!]' : '[ ]';
441
+ lines.push(` ${mark} ${p.id}. ${p.description}${p.result ? ` (${p.result.slice(0, 80)})` : ''}`);
442
+ }
443
+ }
444
+ // Artifacts
445
+ if (this.data.artifacts.length > 0) {
446
+ lines.push(`• Tracked Artifacts (${this.data.artifacts.length}):`);
447
+ for (const a of this.data.artifacts.slice(-5)) {
448
+ lines.push(` - ${a.filename} [${a.path}] (Verified: ${a.verified ? 'YES' : 'NO'})`);
449
+ }
450
+ }
451
+ // Recent observations (last 4)
452
+ if (this.data.observations.length > 0) {
453
+ lines.push(`• Recent Observations:`);
454
+ for (const obs of this.data.observations.slice(-4)) {
455
+ lines.push(` - [Step ${obs.step} • ${obs.tool}]: ${obs.resultSummary.slice(0, 150)}`);
456
+ }
457
+ }
458
+ // Recovery / Error status if active
459
+ if (this.data.recoveryInfo) {
460
+ lines.push(`• ACTIVE RECOVERY [Strategy: ${this.data.recoveryInfo.strategy}]: ${this.data.recoveryInfo.reason}`);
461
+ }
462
+ else if (this.data.errors.length > 0) {
463
+ const lastErr = this.data.errors[this.data.errors.length - 1];
464
+ if (!lastErr.recovered) {
465
+ lines.push(`• Last Error (Step ${lastErr.step}): ${lastErr.message.slice(0, 120)}`);
466
+ }
467
+ }
468
+ if (this.data.constraints.length > 0) {
469
+ lines.push(`• Constraints: ${this.data.constraints.join('; ')}`);
470
+ }
471
+ return lines.join('\n');
472
+ }
473
+ /**
474
+ * Compacts history messages array by keeping the initial context,
475
+ * summarizing middle steps into workspace state, and keeping the latest turns.
476
+ */
477
+ compactHistoryMessages(messages, maxRecentTurns = 6) {
478
+ if (messages.length <= maxRecentTurns + 3) {
479
+ return messages;
480
+ }
481
+ const systemMsg = messages.find((m) => m.role === 'system') || messages[0];
482
+ const preloaded = messages.filter((m) => m.role === 'user' && typeof m.content === 'string' && m.content.includes('[Reference Workspace Context'));
483
+ const initialGoalMsg = messages.find((m) => m.role === 'user' && !m.content.includes('[Reference Workspace Context') && !m.content.includes('Tool Execution Result') && !m.content.includes('Scout Operational Memory'));
484
+ const compactedSummaryMsg = {
485
+ role: 'user',
486
+ content: `[Scout Operational Memory - Compacted Context Summary]\n${this.compactWorkspaceForPrompt()}\n\nNote: Earlier execution turns have been compacted into the structured workspace above. Continue executing from the current step.`
487
+ };
488
+ const recentTurns = messages.slice(-maxRecentTurns);
489
+ const result = [systemMsg];
490
+ if (initialGoalMsg && !recentTurns.includes(initialGoalMsg)) {
491
+ result.push(initialGoalMsg);
492
+ }
493
+ for (const p of preloaded) {
494
+ if (!recentTurns.includes(p))
495
+ result.push(p);
496
+ }
497
+ result.push(compactedSummaryMsg);
498
+ for (const r of recentTurns) {
499
+ if (!result.includes(r))
500
+ result.push(r);
501
+ }
502
+ return result;
503
+ }
504
+ }
505
+ //# sourceMappingURL=agentWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentWorkspace.js","sourceRoot":"","sources":["agentWorkspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './agentWorkspace.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}