ft-scout 9.0.2 → 9.0.4

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 (79) hide show
  1. package/.firebase/hosting.d2Vi.cache +7 -7
  2. package/README.md +76 -83
  3. package/bin/src/commands/agent.d.ts.map +1 -1
  4. package/bin/src/commands/agent.js +13 -223
  5. package/bin/src/commands/agent.js.map +1 -1
  6. package/bin/src/commands/plan.d.ts.map +1 -1
  7. package/bin/src/commands/plan.js +45 -18
  8. package/bin/src/commands/plan.js.map +1 -1
  9. package/bin/src/engine/actionVerifier.d.ts.map +1 -1
  10. package/bin/src/engine/actionVerifier.js +61 -9
  11. package/bin/src/engine/actionVerifier.js.map +1 -1
  12. package/bin/src/engine/agentEngine.d.ts.map +1 -1
  13. package/bin/src/engine/agentEngine.js +459 -547
  14. package/bin/src/engine/agentEngine.js.map +1 -1
  15. package/bin/src/engine/agentState.d.ts.map +1 -1
  16. package/bin/src/engine/agentState.js +0 -64
  17. package/bin/src/engine/agentState.js.map +1 -1
  18. package/bin/src/engine/browser/browserController.d.ts.map +1 -1
  19. package/bin/src/engine/browser/browserController.js +8 -0
  20. package/bin/src/engine/browser/browserController.js.map +1 -1
  21. package/bin/src/engine/computer/computerController.d.ts.map +1 -1
  22. package/bin/src/engine/computer/computerController.js +479 -269
  23. package/bin/src/engine/computer/computerController.js.map +1 -1
  24. package/bin/src/engine/computer/index.d.ts.map +1 -1
  25. package/bin/src/engine/computer/index.js +1 -0
  26. package/bin/src/engine/computer/index.js.map +1 -1
  27. package/bin/src/engine/computer/mockComputer.d.ts.map +1 -0
  28. package/bin/src/engine/computer/mockComputer.js +164 -0
  29. package/bin/src/engine/computer/mockComputer.js.map +1 -0
  30. package/bin/src/engine/runtime/agentRuntime.d.ts.map +1 -0
  31. package/bin/src/engine/runtime/agentRuntime.js +829 -0
  32. package/bin/src/engine/runtime/agentRuntime.js.map +1 -0
  33. package/bin/src/engine/runtime/index.d.ts.map +1 -0
  34. package/bin/src/engine/runtime/index.js +2 -0
  35. package/bin/src/engine/runtime/index.js.map +1 -0
  36. package/bin/src/engine/safety.d.ts.map +1 -1
  37. package/bin/src/engine/safety.js +49 -25
  38. package/bin/src/engine/safety.js.map +1 -1
  39. package/bin/src/engine/toolRegistry.d.ts.map +1 -1
  40. package/bin/src/engine/toolRegistry.js +162 -81
  41. package/bin/src/engine/toolRegistry.js.map +1 -1
  42. package/bin/src/engine/voiceEngine.d.ts.map +1 -1
  43. package/bin/src/engine/voiceEngine.js +0 -1
  44. package/bin/src/engine/voiceEngine.js.map +1 -1
  45. package/bin/src/engine/workspace/agentWorkspace.d.ts.map +1 -0
  46. package/bin/src/engine/workspace/agentWorkspace.js +484 -0
  47. package/bin/src/engine/workspace/agentWorkspace.js.map +1 -0
  48. package/bin/src/engine/workspace/index.d.ts.map +1 -0
  49. package/bin/src/engine/workspace/index.js +2 -0
  50. package/bin/src/engine/workspace/index.js.map +1 -0
  51. package/bin/src/index.js +4 -5
  52. package/bin/src/index.js.map +1 -1
  53. package/bin/src/server/server.d.ts.map +1 -1
  54. package/bin/src/server/server.js +25 -4
  55. package/bin/src/server/server.js.map +1 -1
  56. package/bin/src/utils/auth.d.ts.map +1 -1
  57. package/bin/src/utils/auth.js +67 -49
  58. package/bin/src/utils/auth.js.map +1 -1
  59. package/bin/src/utils/branding.js +1 -1
  60. package/bin/src/utils/payment.d.ts.map +1 -1
  61. package/bin/src/utils/payment.js +15 -1
  62. package/bin/src/utils/payment.js.map +1 -1
  63. package/bin/src/utils/pricing.js +1 -1
  64. package/bin/src/utils/pricing.js.map +1 -1
  65. package/bin/src/utils/razorpay.d.ts.map +1 -1
  66. package/bin/src/utils/razorpay.js +10 -2
  67. package/bin/src/utils/razorpay.js.map +1 -1
  68. package/downloads/invoice-2026-03.pdf +1 -0
  69. package/package.json +1 -1
  70. package/web/app.js +54 -135
  71. package/web/styles.css +2 -2
  72. package/bin/src/engine/appControl.d.ts.map +0 -1
  73. package/bin/src/engine/appControl.js +0 -2320
  74. package/bin/src/engine/appControl.js.map +0 -1
  75. package/bin/src/engine/liveScreenEngine.d.ts.map +0 -1
  76. package/bin/src/engine/liveScreenEngine.js +0 -421
  77. package/bin/src/engine/liveScreenEngine.js.map +0 -1
  78. package/bin/src/engine/scripts/winCapture.ps1 +0 -248
  79. package/downloads/INVOICE_2026_ACME.pdf +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"appControl.js","sourceRoot":"","sources":["appControl.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"liveScreenEngine.d.ts","sourceRoot":"","sources":["liveScreenEngine.ts"],"names":[],"mappings":"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"}
@@ -1,421 +0,0 @@
1
- import { exec, spawn } from 'child_process';
2
- import { promisify } from 'util';
3
- import chalk from 'chalk';
4
- import OpenAI from 'openai';
5
- import dotenv from 'dotenv';
6
- import { showScreenAuraOverlay, startScreenAuraOverlay, stopScreenAuraOverlay } from './appControl.js';
7
- import { loadAuthConfig, checkTierFeatureCapability } from '../utils/auth.js';
8
- import { logAuditEvent } from '../utils/auditLogger.js';
9
- dotenv.config({ quiet: true });
10
- const execAsync = promisify(exec);
11
- /**
12
- * Capture current active app window or desktop screen directly in memory as a compressed JPEG base64 string.
13
- * When targetApp is specified (e.g. 'chrome', 'browser', 'code'), captures ONLY that application's window rectangle.
14
- * Zero files are written to disk.
15
- */
16
- export async function captureLiveScreenFrameInMemory(targetApp) {
17
- const platform = process.platform;
18
- if (platform === 'win32') {
19
- const cleanTarget = (targetApp || '').trim().replace(/"/g, '');
20
- const psScript = `
21
- Add-Type -AssemblyName System.Windows.Forms
22
- Add-Type -AssemblyName System.Drawing
23
- Add-Type -AssemblyName UIAutomationClient
24
-
25
- $targetApp = "${cleanTarget}"
26
- $screen = [System.Windows.Forms.Screen]::PrimaryScreen
27
- $rect = $screen.Bounds
28
- $activeTitle = "Desktop"
29
- $isIsolated = $false
30
-
31
- if ($targetApp) {
32
- $procNames = @($targetApp)
33
- if ($targetApp -match "browser|chrome|edge|web") {
34
- $procNames = @("chrome", "msedge", "brave", "firefox")
35
- } elseif ($targetApp -match "editor|code|vscode") {
36
- $procNames = @("Code", "cursor", "notepad")
37
- }
38
-
39
- $proc = Get-Process -Name $procNames -ErrorAction SilentlyContinue | Where-Object { $_.MainWindowHandle -ne 0 } | Select-Object -First 1
40
- if ($proc) {
41
- $activeTitle = if ($proc.MainWindowTitle) { $proc.MainWindowTitle } else { $proc.ProcessName }
42
- try {
43
- $el = [System.Windows.Automation.AutomationElement]::FromHandle($proc.MainWindowHandle)
44
- $b = $el.Current.BoundingRectangle
45
- if ($b.Width -gt 80 -and $b.Height -gt 80) {
46
- $rect = New-Object System.Drawing.Rectangle([int]$b.X, [int]$b.Y, [int]$b.Width, [int]$b.Height)
47
- $isIsolated = $true
48
- }
49
- } catch {}
50
- }
51
- }
52
-
53
- $bmp = New-Object System.Drawing.Bitmap($rect.Width, $rect.Height)
54
- $g = [System.Drawing.Graphics]::FromImage($bmp)
55
- try {
56
- $g.CopyFromScreen($rect.Location, [System.Drawing.Point]::Empty, $rect.Size)
57
- } catch {}
58
-
59
- $ms = New-Object System.IO.MemoryStream
60
- $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Jpeg)
61
- $base64 = [System.Convert]::ToBase64String($ms.ToArray())
62
- $cur = [System.Windows.Forms.Cursor]::Position
63
-
64
- $g.Dispose()
65
- $bmp.Dispose()
66
- $ms.Dispose()
67
-
68
- @{
69
- width = $rect.Width
70
- height = $rect.Height
71
- cursorX = $cur.X
72
- cursorY = $cur.Y
73
- activeWindow = $activeTitle
74
- targetApp = $targetApp
75
- isIsolated = $isIsolated
76
- base64 = $base64
77
- } | ConvertTo-Json -Compress
78
- `;
79
- try {
80
- const encoded = Buffer.from(psScript, 'utf16le').toString('base64');
81
- const { stdout } = await execAsync(`powershell -NoProfile -EncodedCommand ${encoded}`, {
82
- maxBuffer: 30 * 1024 * 1024,
83
- timeout: 8000,
84
- });
85
- const parsed = JSON.parse(stdout.trim());
86
- if (parsed && parsed.base64) {
87
- return {
88
- data: parsed.base64,
89
- mimeType: 'image/jpeg',
90
- width: Number(parsed.width) || 1920,
91
- height: Number(parsed.height) || 1080,
92
- timestamp: Date.now(),
93
- activeWindow: String(parsed.activeWindow || 'Desktop'),
94
- targetApp: parsed.targetApp || targetApp,
95
- isAppIsolated: Boolean(parsed.isIsolated),
96
- cursorPosition: {
97
- x: Number(parsed.cursorX) || 0,
98
- y: Number(parsed.cursorY) || 0,
99
- },
100
- };
101
- }
102
- }
103
- catch {
104
- return null;
105
- }
106
- }
107
- else if (platform === 'darwin') {
108
- try {
109
- // macOS: capture directly to stdout as jpg
110
- const { stdout } = await execAsync('screencapture -t jpg -x /dev/stdout', {
111
- encoding: 'buffer',
112
- maxBuffer: 20 * 1024 * 1024,
113
- timeout: 5000,
114
- });
115
- if (stdout && stdout.length > 0) {
116
- return {
117
- data: Buffer.from(stdout).toString('base64'),
118
- mimeType: 'image/jpeg',
119
- width: 1920,
120
- height: 1080,
121
- timestamp: Date.now(),
122
- activeWindow: 'Desktop',
123
- cursorPosition: { x: 0, y: 0 },
124
- };
125
- }
126
- }
127
- catch {
128
- return null;
129
- }
130
- }
131
- else {
132
- // Linux: capture to stdout using scrot or import
133
- try {
134
- const { stdout } = await execAsync('import -window root jpg:- || scrot -b -F -', {
135
- encoding: 'buffer',
136
- maxBuffer: 20 * 1024 * 1024,
137
- timeout: 5000,
138
- });
139
- if (stdout && stdout.length > 0) {
140
- return {
141
- data: Buffer.from(stdout).toString('base64'),
142
- mimeType: 'image/jpeg',
143
- width: 1920,
144
- height: 1080,
145
- timestamp: Date.now(),
146
- activeWindow: 'Desktop',
147
- cursorPosition: { x: 0, y: 0 },
148
- };
149
- }
150
- }
151
- catch {
152
- return null;
153
- }
154
- }
155
- return null;
156
- }
157
- /**
158
- * Call Vision AI directly with an in-memory base64 frame without writing anything to disk.
159
- */
160
- export async function callVisionAiWithFrame(frame, prompt, maxTokens = 350) {
161
- if (!frame || !frame.data)
162
- return null;
163
- const nvidiaKey = process.env.NVIDIA_API_KEY || process.env.NVCF_API_KEY;
164
- const geminiKey = process.env.GEMINI_API_KEY;
165
- const openaiKey = process.env.OPENAI_API_KEY;
166
- const byokKey = process.env.BYOK_API_KEY;
167
- const candidates = [];
168
- if (geminiKey) {
169
- candidates.push({ apiKey: geminiKey, baseURL: 'https://generativelanguage.googleapis.com/v1beta/openai', model: 'gemini-2.0-flash', timeout: 20000 });
170
- }
171
- if (nvidiaKey) {
172
- candidates.push({ apiKey: nvidiaKey, baseURL: 'https://integrate.api.nvidia.com/v1', model: 'meta/llama-3.2-11b-vision-instruct', timeout: 35000 });
173
- }
174
- if (openaiKey) {
175
- candidates.push({ apiKey: openaiKey, model: 'gpt-4o-mini', timeout: 20000 });
176
- }
177
- if (byokKey) {
178
- candidates.push({ apiKey: byokKey, model: 'gpt-4o-mini', timeout: 20000 });
179
- }
180
- for (const cand of candidates) {
181
- try {
182
- const client = new OpenAI({ apiKey: cand.apiKey, baseURL: cand.baseURL, timeout: cand.timeout });
183
- const resp = await client.chat.completions.create({
184
- model: cand.model,
185
- messages: [
186
- {
187
- role: 'user',
188
- content: [
189
- { type: 'text', text: prompt },
190
- { type: 'image_url', image_url: { url: `data:image/jpeg;base64,${frame.data}` } },
191
- ],
192
- },
193
- ],
194
- max_tokens: maxTokens,
195
- });
196
- const reply = resp.choices[0]?.message?.content?.trim();
197
- if (reply) {
198
- return reply;
199
- }
200
- }
201
- catch {
202
- continue;
203
- }
204
- }
205
- return null;
206
- }
207
- /**
208
- * Continuous Live Screen Share Session Manager.
209
- * Maintains real-time screen stream in memory and shares frames directly with the AI model.
210
- */
211
- export class LiveScreenShareSession {
212
- isStreaming = false;
213
- timer = null;
214
- latestFrame = null;
215
- frameListeners = [];
216
- streamStartTime = 0;
217
- frameCount = 0;
218
- targetApp = undefined;
219
- isActive() {
220
- return this.isStreaming;
221
- }
222
- setTargetApp(appName) {
223
- this.targetApp = appName;
224
- if (this.isStreaming) {
225
- const appLabel = this.targetApp ? ` [App: ${this.targetApp}]` : '';
226
- startScreenAuraOverlay(`Live Screen Share Active${appLabel} • Streaming to Model`).catch(() => { });
227
- }
228
- }
229
- getTargetApp() {
230
- return this.targetApp;
231
- }
232
- getLatestFrame() {
233
- return this.latestFrame;
234
- }
235
- async getOrCaptureFrame() {
236
- if (this.latestFrame && Date.now() - this.latestFrame.timestamp < 3000) {
237
- return this.latestFrame;
238
- }
239
- const fresh = await captureLiveScreenFrameInMemory(this.targetApp);
240
- if (fresh) {
241
- this.latestFrame = fresh;
242
- }
243
- return this.latestFrame;
244
- }
245
- async start(options) {
246
- if (this.isStreaming) {
247
- return { success: true, message: 'Live screen sharing is already active.' };
248
- }
249
- const tierCheck = checkTierFeatureCapability('continuous_screen');
250
- if (!tierCheck.allowed) {
251
- // Free Tier: Single-frame snapshot mode with notification
252
- console.log(chalk.bold.yellow('\n[FREE TIER VISUAL SNAPSHOT]') + chalk.cyan(' Capturing single in-memory screen snapshot.'));
253
- console.log(chalk.dim('ℹ Continuous 30fps screen streaming & Screen Aura HUD are exclusive to Pro & Enterprise tiers. Upgrade to unlock.\n'));
254
- showScreenAuraOverlay(2500, 'Single-Frame Visual Snapshot Captured (Free Tier)').catch(() => { });
255
- const snapshot = await captureLiveScreenFrameInMemory(options?.targetApp);
256
- if (snapshot) {
257
- this.latestFrame = snapshot;
258
- if (options?.onFrame) {
259
- try {
260
- options.onFrame(snapshot);
261
- }
262
- catch { }
263
- }
264
- }
265
- return {
266
- success: true,
267
- message: 'Free tier snapshot captured. Continuous real-time streaming is available on Pro and Enterprise tiers.'
268
- };
269
- }
270
- if (options?.targetApp) {
271
- const isolationCheck = checkTierFeatureCapability('window_isolation');
272
- if (!isolationCheck.allowed) {
273
- console.log(chalk.dim('ℹ Note: Per-window privacy isolation & background masking are Enterprise features. Operating in standard window focus mode.'));
274
- }
275
- }
276
- this.isStreaming = true;
277
- this.streamStartTime = Date.now();
278
- this.frameCount = 0;
279
- if (options?.targetApp) {
280
- this.targetApp = options.targetApp;
281
- }
282
- if (options?.onFrame) {
283
- this.frameListeners.push(options.onFrame);
284
- }
285
- logAuditEvent('live_screen_start', { targetApp: this.targetApp });
286
- // Show live visual screen share aura HUD continuously while screen sharing is running
287
- const appLabel = this.targetApp ? ` [App: ${this.targetApp}]` : '';
288
- startScreenAuraOverlay(`Live Screen Share Active${appLabel} • Streaming to Model`).catch(() => { });
289
- console.log(chalk.bold.red('\n[LIVE SCREEN SHARE ACTIVE]') + chalk.cyan(` Real-time screen feed is streaming directly to the model (0 files saved to disk).${appLabel ? ` Focused window: ${this.targetApp}` : ''}`));
290
- // Capture initial frame immediately
291
- const initFrame = await captureLiveScreenFrameInMemory(this.targetApp);
292
- if (initFrame) {
293
- this.latestFrame = initFrame;
294
- this.frameCount++;
295
- this.notifyListeners(initFrame);
296
- }
297
- const intervalMs = Math.max(1000, options?.intervalMs || 2000);
298
- this.timer = setInterval(async () => {
299
- if (!this.isStreaming)
300
- return;
301
- try {
302
- const frame = await captureLiveScreenFrameInMemory(this.targetApp);
303
- if (frame) {
304
- this.latestFrame = frame;
305
- this.frameCount++;
306
- this.notifyListeners(frame);
307
- }
308
- }
309
- catch { }
310
- }, intervalMs);
311
- return {
312
- success: true,
313
- message: `Live screen share initiated. ${this.targetApp ? `Only the ${this.targetApp} window is being shared.` : 'Screen is streaming to model in real time.'}`,
314
- };
315
- }
316
- stop() {
317
- if (!this.isStreaming) {
318
- return { success: true, summary: 'Live screen share was not running.' };
319
- }
320
- this.isStreaming = false;
321
- if (this.timer) {
322
- clearInterval(this.timer);
323
- this.timer = null;
324
- }
325
- this.frameListeners = [];
326
- // Close persistent screen share aura overlay
327
- stopScreenAuraOverlay();
328
- const elapsedSecs = Math.round((Date.now() - this.streamStartTime) / 1000);
329
- const summary = `Live screen share session ended. Streamed ${this.frameCount} frames over ${elapsedSecs}s in-memory.`;
330
- console.log(chalk.yellow(`\n[LIVE SCREEN SHARE STOPPED] ${summary}`));
331
- logAuditEvent('live_screen_stop', { durationSeconds: elapsedSecs, framesStreamed: this.frameCount });
332
- return { success: true, summary };
333
- }
334
- onFrame(callback) {
335
- this.frameListeners.push(callback);
336
- return () => {
337
- this.frameListeners = this.frameListeners.filter((cb) => cb !== callback);
338
- };
339
- }
340
- notifyListeners(frame) {
341
- for (const listener of this.frameListeners) {
342
- try {
343
- listener(frame);
344
- }
345
- catch { }
346
- }
347
- }
348
- /**
349
- * Inspect active live screen share stream directly in memory.
350
- */
351
- async analyzeLiveStream(targetQuery) {
352
- const frame = await this.getOrCaptureFrame();
353
- if (!frame) {
354
- return {
355
- success: false,
356
- output: 'Could not capture frame from live screen stream.',
357
- };
358
- }
359
- let aiVision = '';
360
- try {
361
- const prompt = targetQuery
362
- ? `Analyze this live screen stream frame specifically regarding: "${targetQuery}". Keep it concise, noting active window, visible UI elements, buttons, or error messages.`
363
- : `Briefly describe what is currently visible on this live application/screen stream: active window, main content/tabs, and system state in 2-3 sentences.`;
364
- const reply = await callVisionAiWithFrame(frame, prompt, 350);
365
- if (reply) {
366
- aiVision = `\nScout Live Screen Stream Analysis:\n${reply.trim()}`;
367
- }
368
- }
369
- catch { }
370
- const isolationLabel = frame.isAppIsolated
371
- ? `YES (Focused ONLY on "${frame.targetApp || frame.activeWindow}" window)`
372
- : `Full Desktop (${frame.targetApp ? `Waiting for ${frame.targetApp} window to focus` : 'Default'})`;
373
- const report = [
374
- `=== SCOUT LIVE SCREEN SHARE FEED ===`,
375
- `Status: Live Stream Active`,
376
- `Target App: ${frame.targetApp || 'All Active Windows'}`,
377
- `App Isolation: ${isolationLabel}`,
378
- `Resolution: ${frame.width}x${frame.height}`,
379
- `Active Window: "${frame.activeWindow}"`,
380
- `Mouse Cursor: (${frame.cursorPosition.x}, ${frame.cursorPosition.y})`,
381
- `Capture Mode: In-Memory Live Video Stream (Zero disk I/O / No screenshot files created)`,
382
- `Live Feed Status: Screen is actively shared with the model in real time.${aiVision}`,
383
- ].join('\n');
384
- return {
385
- success: true,
386
- output: report,
387
- details: {
388
- width: frame.width,
389
- height: frame.height,
390
- activeWindow: frame.activeWindow,
391
- targetApp: frame.targetApp,
392
- isAppIsolated: frame.isAppIsolated,
393
- cursorPosition: frame.cursorPosition,
394
- timestamp: frame.timestamp,
395
- },
396
- };
397
- }
398
- }
399
- export const globalScreenShareSession = new LiveScreenShareSession();
400
- export async function startLiveScreenShare(options) {
401
- return await globalScreenShareSession.start(options);
402
- }
403
- export function stopLiveScreenShare() {
404
- return globalScreenShareSession.stop();
405
- }
406
- export function isLiveScreenShareActive() {
407
- return globalScreenShareSession.isActive();
408
- }
409
- export async function getLiveScreenFrame() {
410
- return await globalScreenShareSession.getOrCaptureFrame();
411
- }
412
- export async function analyzeLiveScreen(targetQuery) {
413
- return await globalScreenShareSession.analyzeLiveStream(targetQuery);
414
- }
415
- export function setLiveScreenTargetApp(appName) {
416
- globalScreenShareSession.setTargetApp(appName);
417
- }
418
- export function getLiveScreenTargetApp() {
419
- return globalScreenShareSession.getTargetApp();
420
- }
421
- //# sourceMappingURL=liveScreenEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"liveScreenEngine.js","sourceRoot":"","sources":["liveScreenEngine.ts"],"names":[],"mappings":"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"}