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
@@ -2,7 +2,7 @@ import crypto from 'crypto';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
  import dotenv from 'dotenv';
5
- import { loadAuthConfig, saveAuthConfig } from './auth.js';
5
+ import { loadAuthConfig, saveAuthConfig, TIER_RANK } from './auth.js';
6
6
  const __filename = fileURLToPath(import.meta.url);
7
7
  const __dirname = path.dirname(__filename);
8
8
  dotenv.config({ path: path.resolve(__dirname, '../../../.env'), quiet: true });
@@ -107,6 +107,13 @@ export async function createCheckoutSession(params) {
107
107
  if (tier === 'free') {
108
108
  throw new Error('Cannot create a payment session for the free tier.');
109
109
  }
110
+ const auth = loadAuthConfig();
111
+ const currentTier = (auth.currentTier || 'free').toLowerCase();
112
+ const currentRank = TIER_RANK[currentTier] ?? 0;
113
+ const targetRank = TIER_RANK[tier] ?? 0;
114
+ if (currentRank > 0 && targetRank <= currentRank) {
115
+ throw new Error(`Downgrading paid plans is not allowed. Your ${currentTier.toUpperCase()} plan will automatically shift to the free tier upon its expiration date.`);
116
+ }
110
117
  const plans = getActivePlanConfigs();
111
118
  const plan = plans[tier];
112
119
  if (!plan) {
@@ -187,6 +194,13 @@ export async function verifyAndApplyUpgrade(params) {
187
194
  if (!plan || tier === 'free') {
188
195
  throw new Error(`Invalid plan tier specified for upgrade: ${tier}`);
189
196
  }
197
+ const currentConfig = loadAuthConfig();
198
+ const currentTier = (currentConfig.currentTier || 'free').toLowerCase();
199
+ const currentRank = TIER_RANK[currentTier] ?? 0;
200
+ const targetRank = TIER_RANK[tier] ?? 0;
201
+ if (currentRank > 0 && targetRank < currentRank) {
202
+ throw new Error(`Downgrading from ${currentTier.toUpperCase()} to ${tier.toUpperCase()} is not allowed. Your active plan will automatically shift to the free tier upon its expiration date.`);
203
+ }
190
204
  const billingCycle = params.billingCycle === 'annual' ? 'annual' : 'monthly';
191
205
  const expectedPrice = billingCycle === 'annual' ? plan.annualPrice * 12 : plan.monthlyPrice;
192
206
  // Strict verification against real PayPal API
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["payment.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export const DEFAULT_PRICING_CONFIG = {
37
37
  '1,000 AI credits / month',
38
38
  'Unlimited AI co-pilot queries',
39
39
  'Up to 5 Active CLI Sessions',
40
- 'Live Screen Sharing & Visual Perception HUD',
40
+ 'Visual Perception HUD',
41
41
  'Fast-track model response engine',
42
42
  'Priority token revocation & audit logs',
43
43
  'Direct email support response',
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["pricing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"razorpay.d.ts","sourceRoot":"","sources":["razorpay.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5E,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,mBAAmB,IAAI,QAAQ,CAc9C;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqC/F;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAyExF"}
1
+ {"version":3,"file":"razorpay.d.ts","sourceRoot":"","sources":["razorpay.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvF,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,mBAAmB,IAAI,QAAQ,CAc9C;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqC/F;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAmFxF"}
@@ -1,7 +1,7 @@
1
1
  import Razorpay from 'razorpay';
2
2
  import crypto from 'crypto';
3
3
  import dotenv from 'dotenv';
4
- import { loadAuthConfig, saveAuthConfig } from './auth.js';
4
+ import { loadAuthConfig, saveAuthConfig, TIER_RANK } from './auth.js';
5
5
  dotenv.config({ quiet: true });
6
6
  export function getRazorpayKeyId() {
7
7
  return process.env.RAZORPAY_KEY_ID || '';
@@ -104,11 +104,19 @@ export function verifyRazorpaySignature(params) {
104
104
  }
105
105
  // Provision tier upgrade and persist to auth configuration
106
106
  const tier = params.tier || 'pro';
107
+ const existing = loadAuthConfig();
108
+ const currentTier = (existing.currentTier || 'free').toLowerCase();
109
+ const currentRank = TIER_RANK[currentTier] ?? 0;
110
+ const targetRank = TIER_RANK[tier] ?? 0;
111
+ if (currentRank > 0 && targetRank < currentRank) {
112
+ const err = new Error(`Downgrading from ${currentTier.toUpperCase()} to ${tier.toUpperCase()} is not allowed. Your active plan will automatically shift to the free tier upon its expiration date.`);
113
+ err.statusCode = 400;
114
+ throw err;
115
+ }
107
116
  const totalCredits = tier === 'enterprise' ? 10000 : (tier === 'pro' ? 1000 : 100);
108
117
  const renewAt = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString();
109
118
  let updatedAuth;
110
119
  try {
111
- const existing = loadAuthConfig();
112
120
  const updated = {
113
121
  ...existing,
114
122
  currentTier: tier,
@@ -1 +1 @@
1
- {"version":3,"file":"razorpay.js","sourceRoot":"","sources":["razorpay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"razorpay.js","sourceRoot":"","sources":["razorpay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ Mock file content data stream
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ft-scout",
3
- "version": "9.0.2",
3
+ "version": "9.0.4",
4
4
  "type": "module",
5
5
  "description": "FrontTerrain — The Onboarding Co-Pilot for New Codebases",
6
6
  "main": "index.js",
package/web/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- FrontTerrain Scout — Multi-Page Application Engine v9.0.2
2
+ FrontTerrain Scout — Multi-Page Application Engine v9.0.4
3
3
  ========================================================================== */
4
4
 
5
5
  const FIREBASE_CONFIG = {
@@ -318,21 +318,22 @@ function checkSubscriptionExpiration() {
318
318
 
319
319
  const now = new Date();
320
320
  if (now >= renewDate) {
321
- if (state.cancelAtPeriodEnd) {
322
- // Expiration date has arrived! Transition gracefully to pending downgrade tier
323
- const targetTier = state.pendingDowngrade || 'free';
324
- state.currentTier = targetTier;
325
- state.paidTier = targetTier === 'free' ? null : targetTier;
321
+ if (state.currentTier !== 'free') {
322
+ // Paid plan expired / revoked on its expiration time: automatically shift to Free tier
323
+ const previousTierName = (TIER_DETAILS[state.currentTier] || {}).name || state.currentTier.toUpperCase();
324
+ state.currentTier = 'free';
325
+ state.paidTier = null;
326
326
  state.cancelAtPeriodEnd = false;
327
327
  state.pendingDowngrade = null;
328
- state.creditsTotal = targetTier === 'pro' ? 1000 : (targetTier === 'enterprise' ? 10000 : 100);
328
+ state.creditsTotal = 100;
329
329
  state.creditsUsed = 0;
330
330
  state.renewAt = new Date(now.getFullYear(), now.getMonth() + 1, 1, 0, 0, 0).toISOString();
331
331
  saveSessionToStorage();
332
332
  if (state.serverConnected) syncAuthWithServer();
333
- showToast(`Your subscription period has ended. Account transitioned to ${TIER_DETAILS[targetTier].name}.`, 'info');
334
- } else if (state.currentTier !== 'free') {
335
- // Auto-renew monthly credits cycle
333
+ renderAllDynamicComponents();
334
+ showToast(`Your ${previousTierName} subscription has reached its expiration time and your account has automatically shifted to the Free tier.`, 'info');
335
+ } else {
336
+ // Free tier monthly credits reset
336
337
  const nextRenewal = new Date(renewDate);
337
338
  while (nextRenewal <= now) {
338
339
  nextRenewal.setMonth(nextRenewal.getMonth() + 1);
@@ -341,6 +342,7 @@ function checkSubscriptionExpiration() {
341
342
  state.creditsUsed = 0;
342
343
  saveSessionToStorage();
343
344
  if (state.serverConnected) syncAuthWithServer();
345
+ renderAllDynamicComponents();
344
346
  }
345
347
  }
346
348
  }
@@ -442,24 +444,11 @@ function closeCheckoutModal() {
442
444
  if (container) container.innerHTML = '';
443
445
  }
444
446
 
445
- // Downgrade & Cancellation Modal Handlers
447
+ // Downgrade Handlers (Downgrades Disallowed: Auto-shifts to Free on Expiration)
446
448
  function openDowngradeModal(targetTier = 'free') {
447
- pendingDowngradeTier = targetTier;
448
- const currentInfo = TIER_DETAILS[state.currentTier] || TIER_DETAILS.pro;
449
+ closeDowngradeModal();
449
450
  const renewDateFormatted = formatRenewDate(state.renewAt);
450
-
451
- if (getEl('downgrade-current-plan')) {
452
- getEl('downgrade-current-plan').innerText = currentInfo.name;
453
- }
454
- if (getEl('downgrade-expiration-date')) {
455
- getEl('downgrade-expiration-date').innerText = renewDateFormatted;
456
- }
457
- if (getEl('downgrade-modal-desc')) {
458
- getEl('downgrade-modal-desc').innerHTML = `You are currently subscribed to <strong class="text-bright">${escapeHtml(currentInfo.name)}</strong>.`;
459
- }
460
-
461
- const modal = getEl('downgrade-modal');
462
- if (modal) modal.classList.remove('hidden');
451
+ showToast(`Downgrading paid plans is not allowed. Your plan remains active until ${renewDateFormatted}, after which it will automatically shift to the Free tier.`, 'warning');
463
452
  }
464
453
 
465
454
  function closeDowngradeModal() {
@@ -469,35 +458,15 @@ function closeDowngradeModal() {
469
458
  }
470
459
 
471
460
  function confirmScheduleDowngrade() {
472
- const targetTier = pendingDowngradeTier || 'free';
473
- state.cancelAtPeriodEnd = true;
474
- state.pendingDowngrade = targetTier;
475
- saveSessionToStorage();
476
- if (state.serverConnected) syncAuthWithServer();
477
461
  closeDowngradeModal();
478
- renderAllDynamicComponents();
479
- showToast(`Subscription will cancel on ${formatRenewDate(state.renewAt)}. You retain all ${TIER_DETAILS[state.currentTier].name} features until then!`, 'warning');
462
+ const renewDateFormatted = formatRenewDate(state.renewAt);
463
+ showToast(`Downgrading paid plans is not allowed. Your plan remains active until ${renewDateFormatted}, after which it will automatically shift to the Free tier.`, 'warning');
480
464
  }
481
465
 
482
466
  function confirmImmediateDowngrade() {
483
- const targetTier = pendingDowngradeTier || 'free';
484
- const previousPaidTier = state.paidTier || (state.currentTier !== 'free' ? state.currentTier : null);
485
-
486
- state.currentTier = targetTier;
487
- if (previousPaidTier && !isSubscriptionExpired()) {
488
- state.paidTier = previousPaidTier;
489
- } else {
490
- state.paidTier = targetTier === 'free' ? null : targetTier;
491
- }
492
- state.cancelAtPeriodEnd = true;
493
- state.pendingDowngrade = targetTier;
494
- state.creditsTotal = targetTier === 'pro' ? 1000 : (targetTier === 'enterprise' ? 10000 : 100);
495
-
496
- saveSessionToStorage();
497
- if (state.serverConnected) syncAuthWithServer();
498
467
  closeDowngradeModal();
499
- renderAllDynamicComponents();
500
- showToast(`Switched to ${TIER_DETAILS[targetTier].name}. You can resume ${TIER_DETAILS[previousPaidTier || 'pro']?.name || 'your plan'} anytime before ${formatRenewDate(state.renewAt)} without paying again!`, 'info');
468
+ const renewDateFormatted = formatRenewDate(state.renewAt);
469
+ showToast(`Downgrading paid plans is not allowed. Your plan remains active until ${renewDateFormatted}, after which it will automatically shift to the Free tier.`, 'warning');
501
470
  }
502
471
 
503
472
  function resumeSubscription() {
@@ -975,27 +944,24 @@ function initEventListeners() {
975
944
  const targetTier = btn.getAttribute('data-tier');
976
945
  if (!targetTier || !TIER_DETAILS[targetTier]) return;
977
946
 
947
+ const TIER_RANK = { free: 0, pro: 1, enterprise: 2 };
948
+ const currentRank = TIER_RANK[state.currentTier] || 0;
949
+ const targetRank = TIER_RANK[targetTier] || 0;
950
+
978
951
  // 1. Clicked Current Active Tier
979
952
  if (targetTier === state.currentTier) {
980
- if (state.cancelAtPeriodEnd) {
981
- resumeSubscription();
982
- }
983
- return;
984
- }
985
-
986
- // 2. Clicked to Downgrade (from Pro/Enterprise to Free, or Enterprise to Pro)
987
- if (state.currentTier !== 'free' && (targetTier === 'free' || (state.currentTier === 'enterprise' && targetTier === 'pro'))) {
988
- openDowngradeModal(targetTier);
953
+ showToast(`You are currently subscribed to the ${TIER_DETAILS[targetTier].name}.`, 'info');
989
954
  return;
990
955
  }
991
956
 
992
- // 3. User already has an active, unexpired paid subscription for this tier
993
- if (state.paidTier === targetTier && !isSubscriptionExpired()) {
994
- resumeSubscription();
957
+ // 2. Disallow Downgrade (from Pro/Enterprise to Free, or Enterprise to Pro)
958
+ if (currentRank > 0 && targetRank < currentRank) {
959
+ const renewFormatted = formatRenewDate(state.renewAt);
960
+ showToast(`Downgrading paid plans is not allowed. Your plan will automatically shift to the Free tier on ${renewFormatted}.`, 'warning');
995
961
  return;
996
962
  }
997
963
 
998
- // 4. Regular Upgrade via Checkout Modal
964
+ // 3. Regular Upgrade via Checkout Modal
999
965
  openCheckoutModal(targetTier);
1000
966
  });
1001
967
  });
@@ -1056,20 +1022,11 @@ function initTerminalSimulator() {
1056
1022
  response.innerHTML = `
1057
1023
  <span class="term-yellow">Available Scout Commands:</span><br>
1058
1024
  ↳ <code>scout agent</code> - Launch autonomous AI co-pilot agent & reasoning loop<br>
1059
- ↳ <code>scout agent --screen-share</code> - Real-time in-memory screen streaming to vision AI with target window isolation<br>
1060
1025
  ↳ <code>scout status</code> - Inspect CLI authentication, active workspace & credit balance<br>
1061
1026
  ↳ <code>scout analyze</code> - Run instant AST codebase teardown and entry point indexing<br>
1062
1027
  ↳ <code>scout teardown</code> - Generate strategic onboarding map & architectural moat report<br>
1063
1028
  ↳ <code>scout byok</code> - Verify custom LLM proxy endpoint connection<br>
1064
1029
  ↳ <code>clear</code> - Clear terminal buffer<br>
1065
- `;
1066
- } else if (lower.includes('screen-share') || lower.includes('screenshare') || lower.includes('live') || lower.includes('-s') || lower.includes('/screenshare') || lower.includes('/livescreen')) {
1067
- response.innerHTML = `
1068
- <span class="term-bg-cyan" style="background-color: #00e5ff; color: #08090c; font-weight: bold; padding: 2px 8px; border-radius: 4px;"> SCOUT LIVE SCREEN SHARE &amp; VISION ENGINE </span><br>
1069
- <span class="term-green">✔ Real-time in-memory screen streaming active (0 files written to disk).</span><br>
1070
- <span class="term-yellow">↳ Target App Isolation:</span> Chrome window bounds locked [BoundingRectangle]<br>
1071
- <span class="term-purple" style="color: #38bdf8;">↳ Visual HUD:</span> Continuous sky-blue (#00e5ff) aura HUD overlay active<br>
1072
- <span class="term-cyan">↳ Multimodal Vision:</span> Real-time video frame streaming to Gemini 2.0 Flash / NVIDIA Vision.<br>
1073
1030
  `;
1074
1031
  } else if (lower.includes('agent')) {
1075
1032
  response.innerHTML = `
@@ -1077,11 +1034,10 @@ function initTerminalSimulator() {
1077
1034
  <span class="term-green">✔ Agent Orchestrator active (Gemini 2.5 Flash / Deep Reasoning Engine)</span><br>
1078
1035
  <span class="term-cyan">↳ Workspace Vector Memory:</span> 124 files indexed and loaded<br>
1079
1036
  <span class="term-yellow">↳ Pair-Programming Status:</span> Ready for interactive tasks & refactoring loops<br>
1080
- <span class="term-dim">↳ Tip: Run 'scout agent --screen-share' to stream your active window directly to vision models.</span><br>
1081
1037
  `;
1082
1038
  } else if (lower.includes('status')) {
1083
1039
  response.innerHTML = `
1084
- <span class="term-green">✔ Scout CLI Engine: v9.0.2 Online</span><br>
1040
+ <span class="term-green">✔ Scout CLI Engine: v9.0.4 Online</span><br>
1085
1041
  ↳ User: <strong>${escapeHtml(state.user ? state.user.name : 'Guest Session')}</strong><br>
1086
1042
  ↳ Active Subscription: <strong>${escapeHtml(TIER_DETAILS[state.currentTier].name)}</strong><br>
1087
1043
  ↳ Credit Quota: <strong>${state.byokEnabled ? 'BYOK Mode (Unlimited)' : `${state.creditsUsed} / ${state.creditsTotal} Credits Used`}</strong><br>
@@ -1290,26 +1246,19 @@ function renderCreditUsageUI() {
1290
1246
  // Render Paid Tiers UI
1291
1247
  function renderTiersUI() {
1292
1248
  const current = TIER_DETAILS[state.currentTier] || TIER_DETAILS.free;
1293
- const isScheduledCancel = Boolean(state.cancelAtPeriodEnd && state.currentTier !== 'free');
1294
1249
  const formattedDate = formatRenewDate(state.renewAt);
1295
1250
 
1296
1251
  if (getEl('current-plan-title')) getEl('current-plan-title').innerText = current.name;
1297
1252
  if (getEl('tier-active-icon')) getEl('tier-active-icon').innerHTML = current.icon;
1298
1253
 
1299
1254
  if (getEl('current-plan-badge')) {
1300
- if (isScheduledCancel) {
1301
- getEl('current-plan-badge').innerText = `CANCELS ON ${formattedDate.toUpperCase()}`;
1302
- getEl('current-plan-badge').className = 'badge badge-warning';
1303
- } else {
1304
- getEl('current-plan-badge').innerText = current.badge;
1305
- getEl('current-plan-badge').className = 'badge badge-success';
1306
- }
1255
+ getEl('current-plan-badge').innerText = 'ACTIVE';
1256
+ getEl('current-plan-badge').className = 'badge badge-success';
1307
1257
  }
1308
1258
 
1309
1259
  if (getEl('current-plan-desc')) {
1310
- if (isScheduledCancel) {
1311
- const targetTierName = TIER_DETAILS[state.pendingDowngrade || 'free']?.name || 'Developer Free Tier';
1312
- getEl('current-plan-desc').innerText = `Your plan is active until ${formattedDate}. It will automatically switch to ${targetTierName} on this date. You retain all features and credits until then.`;
1260
+ if (state.currentTier !== 'free') {
1261
+ getEl('current-plan-desc').innerText = `Your ${current.name} is active until ${formattedDate}. Paid plans cannot be downgraded; upon reaching expiration time, your account will automatically shift to the Free tier.`;
1313
1262
  } else {
1314
1263
  getEl('current-plan-desc').innerText = current.desc;
1315
1264
  }
@@ -1317,11 +1266,7 @@ function renderTiersUI() {
1317
1266
 
1318
1267
  const bannerResumeBtn = getEl('btn-banner-resume-plan');
1319
1268
  if (bannerResumeBtn) {
1320
- if (isScheduledCancel) {
1321
- bannerResumeBtn.classList.remove('hidden');
1322
- } else {
1323
- bannerResumeBtn.classList.add('hidden');
1324
- }
1269
+ bannerResumeBtn.classList.add('hidden');
1325
1270
  }
1326
1271
 
1327
1272
  const isAnnual = state.billingCycle === 'annual';
@@ -1361,57 +1306,37 @@ function renderTiersUI() {
1361
1306
 
1362
1307
  if (t === state.currentTier) {
1363
1308
  card.classList.add('active-tier-card');
1364
- if (isScheduledCancel) {
1365
- btn.className = 'btn btn-primary btn-block btn-select-tier';
1366
- btn.innerHTML = `<i class="fa-solid fa-rotate-left"></i> Resume ${current.name.split(' ')[0]}`;
1367
- btn.disabled = false;
1368
- } else {
1369
- btn.className = 'btn btn-success btn-block btn-select-tier';
1370
- btn.innerText = 'Current Plan';
1371
- btn.disabled = true;
1372
- }
1309
+ btn.className = (t === 'enterprise' ? 'btn btn-warning' : (t === 'pro' ? 'btn btn-primary' : 'btn btn-success')) + ' btn-block btn-select-tier';
1310
+ btn.innerText = 'Current Plan';
1311
+ btn.disabled = true;
1373
1312
  } else {
1374
1313
  card.classList.remove('active-tier-card');
1375
1314
  if (t === 'free') {
1376
- if (isScheduledCancel && (state.pendingDowngrade === 'free' || !state.pendingDowngrade)) {
1377
- btn.className = 'btn btn-outline btn-block btn-select-tier';
1378
- btn.innerText = `Downgrade Scheduled (${formattedDate})`;
1315
+ if (state.currentTier !== 'free') {
1379
1316
  btn.disabled = true;
1317
+ btn.className = 'btn btn-outline btn-block btn-select-tier';
1318
+ btn.innerHTML = '<i class="fa-solid fa-lock" style="font-size: 11px; margin-right: 4px;"></i> Auto-shifts at Expiration';
1319
+ btn.title = `Paid plans cannot be downgraded. Your account will automatically shift to Free tier on ${formattedDate}.`;
1380
1320
  } else {
1381
- btn.disabled = false;
1321
+ btn.disabled = true;
1382
1322
  btn.className = 'btn btn-outline btn-block btn-select-tier';
1383
- btn.innerText = state.currentTier !== 'free' ? 'Switch to Free' : 'Current Plan';
1323
+ btn.innerText = 'Current Plan';
1384
1324
  }
1385
1325
  } else if (t === 'pro') {
1386
- if (state.paidTier === 'pro' && !isSubscriptionExpired()) {
1387
- btn.className = 'btn btn-primary btn-block btn-select-tier';
1388
- btn.innerHTML = `<i class="fa-solid fa-rotate-left"></i> Resume Pro Plan (No Extra Charge)`;
1389
- btn.disabled = false;
1390
- } else if (state.currentTier === 'enterprise') {
1391
- if (isScheduledCancel && state.pendingDowngrade === 'pro') {
1392
- btn.className = 'btn btn-outline btn-block btn-select-tier';
1393
- btn.innerText = `Downgrade Scheduled (${formattedDate})`;
1394
- btn.disabled = true;
1395
- } else {
1396
- btn.className = 'btn btn-outline btn-block btn-select-tier';
1397
- btn.innerText = 'Downgrade to Pro';
1398
- btn.disabled = false;
1399
- }
1326
+ if (state.currentTier === 'enterprise') {
1327
+ btn.disabled = true;
1328
+ btn.className = 'btn btn-outline btn-block btn-select-tier';
1329
+ btn.innerText = 'Downgrade Not Allowed';
1330
+ btn.title = 'Downgrading from Enterprise to Pro is not allowed.';
1400
1331
  } else {
1401
1332
  btn.className = 'btn btn-primary btn-block btn-select-tier';
1402
1333
  btn.innerText = 'Upgrade to Pro';
1403
1334
  btn.disabled = false;
1404
1335
  }
1405
1336
  } else if (t === 'enterprise') {
1406
- if (state.paidTier === 'enterprise' && !isSubscriptionExpired()) {
1407
- btn.className = 'btn btn-warning btn-block btn-select-tier';
1408
- btn.innerHTML = `<i class="fa-solid fa-rotate-left"></i> Resume Enterprise (No Extra Charge)`;
1409
- btn.disabled = false;
1410
- } else {
1411
- btn.className = 'btn btn-outline btn-block btn-select-tier';
1412
- btn.innerText = 'Upgrade to Enterprise';
1413
- btn.disabled = false;
1414
- }
1337
+ btn.className = 'btn btn-outline btn-block btn-select-tier';
1338
+ btn.innerText = 'Upgrade to Enterprise';
1339
+ btn.disabled = false;
1415
1340
  }
1416
1341
  }
1417
1342
  });
@@ -2358,13 +2283,13 @@ function initAutonomousAgentMonitor() {
2358
2283
  const data = await res.json();
2359
2284
  if (!data.success) return;
2360
2285
 
2361
- renderAgentState(data.state, data.pendingApprovals, data.scratchpad);
2286
+ renderAgentState(data.state, data.pendingApprovals);
2362
2287
  } catch (err) {
2363
2288
  console.warn('Agent state poll error:', err);
2364
2289
  }
2365
2290
  }
2366
2291
 
2367
- function renderAgentState(taskState, pendingApprovals, scratchpad) {
2292
+ function renderAgentState(taskState, pendingApprovals) {
2368
2293
  if (!taskState) return;
2369
2294
 
2370
2295
  // Status badge
@@ -2431,12 +2356,6 @@ function initAutonomousAgentMonitor() {
2431
2356
  }
2432
2357
  }
2433
2358
 
2434
- // Scratchpad view
2435
- const scratchpadView = getEl('agent-scratchpad-view');
2436
- if (scratchpadView && scratchpad) {
2437
- scratchpadView.innerText = scratchpad;
2438
- }
2439
-
2440
2359
  // Artifacts list
2441
2360
  const artList = getEl('agent-artifacts-list');
2442
2361
  if (artList) {
package/web/styles.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- FrontTerrain Scout — Design System & Visual Engine v9.0.2
2
+ FrontTerrain Scout — Design System & Visual Engine v9.0.4
3
3
  Inspired by HappyRobot, Linear.app & Vercel aesthetics
4
4
  ========================================================================== */
5
5
 
@@ -1063,7 +1063,7 @@ h1, h2, h3, h4, h5, h6 {
1063
1063
  .footer-links a:hover { color: var(--hr-rust); }
1064
1064
 
1065
1065
  /* ==========================================================================
1066
- Visual Perception & Live Screen Sharing Engine v9.0.2
1066
+ Visual Perception & Automation Engine v9.0.4
1067
1067
  ========================================================================== */
1068
1068
  .vision-banner {
1069
1069
  margin-bottom: 28px;
@@ -1 +0,0 @@
1
- {"version":3,"file":"appControl.d.ts","sourceRoot":"","sources":["appControl.ts"],"names":[],"mappings":"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"}