ft-scout 8.0.7 → 8.0.9
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 +6 -6
- package/README.md +49 -3
- package/bin/ft.js +2 -1
- package/bin/src/engine/liveScreenEngine.d.ts.map +1 -1
- package/bin/src/engine/liveScreenEngine.js +32 -1
- package/bin/src/engine/liveScreenEngine.js.map +1 -1
- package/bin/src/engine/llm.d.ts.map +1 -1
- package/bin/src/engine/llm.js +33 -2
- package/bin/src/engine/llm.js.map +1 -1
- package/bin/src/index.js +4 -4
- package/bin/src/server/server.d.ts.map +1 -1
- package/bin/src/server/server.js +42 -3
- package/bin/src/server/server.js.map +1 -1
- 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 -1
- package/bin/src/utils/auth.js +166 -30
- package/bin/src/utils/auth.js.map +1 -1
- package/bin/src/utils/branding.js +1 -1
- package/bin/src/utils/razorpay.js +1 -1
- package/bin/src/utils/razorpay.js.map +1 -1
- package/package.json +1 -1
- package/web/app.js +290 -27
- package/web/styles.css +2 -2
- package/firebase-debug.log +0 -103
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
export function renderBranding(version = '8.0.
|
|
2
|
+
export function renderBranding(version = '8.0.9') {
|
|
3
3
|
const logo = chalk.cyan.bold(' ███████╗████████╗') + ' ' + chalk.cyan.bold('███████╗ ██████╗ ██████╗ ██╗ ██╗████████╗') + '\n' +
|
|
4
4
|
chalk.cyan.bold(' ██╔════╝╚══██╔══╝') + ' ' + chalk.cyan.bold('██╔════╝ ██╔════╝██╔═══██╗ ██║ ██║╚══██╔══╝') + '\n' +
|
|
5
5
|
chalk.cyan.bold(' █████╗ ██║ ') + ' ' + chalk.cyan.bold(' ███████╗ ██║ ██║ ██║ ██║ ██║ ██║ ') + '\n' +
|
|
@@ -2,7 +2,7 @@ import Razorpay from 'razorpay';
|
|
|
2
2
|
import crypto from 'crypto';
|
|
3
3
|
import dotenv from 'dotenv';
|
|
4
4
|
import { loadAuthConfig, saveAuthConfig } from './auth.js';
|
|
5
|
-
dotenv.config();
|
|
5
|
+
dotenv.config({ quiet: true });
|
|
6
6
|
export function getRazorpayKeyId() {
|
|
7
7
|
return process.env.RAZORPAY_KEY_ID || '';
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"razorpay.js","sourceRoot":"","sources":["razorpay.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5E,MAAM,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"razorpay.js","sourceRoot":"","sources":["razorpay.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5E,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/B,MAAM,UAAU,gBAAgB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB;IAC/B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,oHAAoH,CAAC,CAAC;QACjJ,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,MAAM,GAAG,CAAC;IACd,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC;QAChB,MAAM;QACN,UAAU;KACb,CAAC,CAAC;AACP,CAAC;AAgBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAyB;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAChC,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC3F,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,MAAM,GAAG,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAE3F,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,MAAM;YACN,QAAQ;YACR,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC5B,CAAC,CAAC;QAEH,OAAO;YACH,QAAQ,EAAE,KAAK,CAAC,EAAE;YAClB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAG,KAAK,CAAC,OAAkB,IAAI,OAAO;SAChD,CAAC;IACN,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC3I,MAAM,OAAO,GAAQ,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3G,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YACzB,MAAM,OAAO,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAQ,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,GAAG,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC1H,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,MAAM,MAAM,CAAC;IACjB,CAAC;AACL,CAAC;AAqBD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA2B;IAC/D,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,sCAAsC;IACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QACzG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,MAAM,GAAG,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACrE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,MAAM,GAAG,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,MAAM;SAC3B,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC5B,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,eAAe,CAC5B,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EACvC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAClC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QACzF,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,MAAM,GAAG,CAAC;IACd,CAAC;IAED,2DAA2D;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9E,IAAI,WAAmC,CAAC;IACxC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAe;YACxB,GAAG,QAAQ;YACX,WAAW,EAAE,IAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC;YACd,OAAO;YACP,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,UAAU;SAC9B,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,CAAC;QACxB,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IAEX,OAAO;QACH,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,UAAU;QACV,IAAI;QACJ,YAAY;QACZ,OAAO;QACP,IAAI,EAAE,WAAW;KACpB,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
package/web/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
FrontTerrain Scout — Multi-Page Application Engine v8.0.
|
|
2
|
+
FrontTerrain Scout — Multi-Page Application Engine v8.0.9
|
|
3
3
|
========================================================================== */
|
|
4
4
|
|
|
5
5
|
const FIREBASE_CONFIG = {
|
|
@@ -44,6 +44,9 @@ let state = {
|
|
|
44
44
|
creditsUsed: 0,
|
|
45
45
|
creditsTotal: 100,
|
|
46
46
|
renewAt: null,
|
|
47
|
+
cancelAtPeriodEnd: false,
|
|
48
|
+
pendingDowngrade: null,
|
|
49
|
+
paidTier: null,
|
|
47
50
|
byokEnabled: false,
|
|
48
51
|
customLlmProvider: 'nvidia',
|
|
49
52
|
customApiKey: '',
|
|
@@ -52,6 +55,7 @@ let state = {
|
|
|
52
55
|
};
|
|
53
56
|
|
|
54
57
|
let pendingCheckoutTier = null;
|
|
58
|
+
let pendingDowngradeTier = null;
|
|
55
59
|
|
|
56
60
|
// Audio Synthesizer via Web Audio API
|
|
57
61
|
let audioCtx = null;
|
|
@@ -113,9 +117,13 @@ function applyTierUpgrade(tier, transactionId) {
|
|
|
113
117
|
const quota = targetTier === 'enterprise' ? 10000 : (targetTier === 'pro' ? 1000 : 100);
|
|
114
118
|
|
|
115
119
|
state.currentTier = targetTier;
|
|
120
|
+
state.paidTier = targetTier;
|
|
121
|
+
state.cancelAtPeriodEnd = false;
|
|
122
|
+
state.pendingDowngrade = null;
|
|
116
123
|
state.creditsTotal = quota;
|
|
117
124
|
state.creditsUsed = 0;
|
|
118
|
-
|
|
125
|
+
const durationDays = state.billingCycle === 'annual' ? 365 : 30;
|
|
126
|
+
state.renewAt = new Date(Date.now() + durationDays * 24 * 60 * 60 * 1000).toISOString();
|
|
119
127
|
|
|
120
128
|
saveSessionToStorage();
|
|
121
129
|
renderAllDynamicComponents();
|
|
@@ -205,6 +213,59 @@ function timeAgo(dateInput) {
|
|
|
205
213
|
return `${days}d ago`;
|
|
206
214
|
}
|
|
207
215
|
|
|
216
|
+
// Date and Expiration Helpers
|
|
217
|
+
function formatRenewDate(isoDateStr) {
|
|
218
|
+
if (!isoDateStr) return 'End of billing period';
|
|
219
|
+
try {
|
|
220
|
+
const d = new Date(isoDateStr);
|
|
221
|
+
if (isNaN(d.getTime())) return 'End of billing period';
|
|
222
|
+
return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
|
|
223
|
+
} catch {
|
|
224
|
+
return 'End of billing period';
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function isSubscriptionExpired() {
|
|
229
|
+
if (!state.renewAt) return true;
|
|
230
|
+
const renewDate = new Date(state.renewAt);
|
|
231
|
+
if (isNaN(renewDate.getTime())) return true;
|
|
232
|
+
return Date.now() >= renewDate.getTime();
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function checkSubscriptionExpiration() {
|
|
236
|
+
if (!state.renewAt) return;
|
|
237
|
+
const renewDate = new Date(state.renewAt);
|
|
238
|
+
if (isNaN(renewDate.getTime())) return;
|
|
239
|
+
|
|
240
|
+
const now = new Date();
|
|
241
|
+
if (now >= renewDate) {
|
|
242
|
+
if (state.cancelAtPeriodEnd) {
|
|
243
|
+
// Expiration date has arrived! Transition gracefully to pending downgrade tier
|
|
244
|
+
const targetTier = state.pendingDowngrade || 'free';
|
|
245
|
+
state.currentTier = targetTier;
|
|
246
|
+
state.paidTier = targetTier === 'free' ? null : targetTier;
|
|
247
|
+
state.cancelAtPeriodEnd = false;
|
|
248
|
+
state.pendingDowngrade = null;
|
|
249
|
+
state.creditsTotal = targetTier === 'pro' ? 1000 : (targetTier === 'enterprise' ? 10000 : 100);
|
|
250
|
+
state.creditsUsed = 0;
|
|
251
|
+
state.renewAt = new Date(now.getFullYear(), now.getMonth() + 1, 1, 0, 0, 0).toISOString();
|
|
252
|
+
saveSessionToStorage();
|
|
253
|
+
if (state.serverConnected) syncAuthWithServer();
|
|
254
|
+
showToast(`Your subscription period has ended. Account transitioned to ${TIER_DETAILS[targetTier].name}.`, 'info');
|
|
255
|
+
} else if (state.currentTier !== 'free') {
|
|
256
|
+
// Auto-renew monthly credits cycle
|
|
257
|
+
const nextRenewal = new Date(renewDate);
|
|
258
|
+
while (nextRenewal <= now) {
|
|
259
|
+
nextRenewal.setMonth(nextRenewal.getMonth() + 1);
|
|
260
|
+
}
|
|
261
|
+
state.renewAt = nextRenewal.toISOString();
|
|
262
|
+
state.creditsUsed = 0;
|
|
263
|
+
saveSessionToStorage();
|
|
264
|
+
if (state.serverConnected) syncAuthWithServer();
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
208
269
|
// Load Subscription Tier & Dynamic Credits from Local Storage
|
|
209
270
|
function loadTierAndCreditsFromStorage() {
|
|
210
271
|
const savedTier = localStorage.getItem('scout_current_tier');
|
|
@@ -230,10 +291,17 @@ function loadTierAndCreditsFromStorage() {
|
|
|
230
291
|
state.renewAt = new Date(now.getFullYear(), now.getMonth() + 1, 1, 0, 0, 0).toISOString();
|
|
231
292
|
}
|
|
232
293
|
|
|
294
|
+
state.cancelAtPeriodEnd = localStorage.getItem('scout_cancel_at_period_end') === 'true';
|
|
295
|
+
state.pendingDowngrade = localStorage.getItem('scout_pending_downgrade') || null;
|
|
296
|
+
const savedPaidTier = localStorage.getItem('scout_paid_tier');
|
|
297
|
+
state.paidTier = (savedPaidTier && TIER_DETAILS[savedPaidTier]) ? savedPaidTier : (state.currentTier !== 'free' ? state.currentTier : null);
|
|
298
|
+
|
|
233
299
|
state.byokEnabled = localStorage.getItem('scout_byok_enabled') === 'true';
|
|
234
300
|
state.customLlmProvider = localStorage.getItem('scout_byok_provider') || 'nvidia';
|
|
235
301
|
state.customApiKey = localStorage.getItem('scout_byok_key') || '';
|
|
236
302
|
state.customBaseUrl = localStorage.getItem('scout_byok_endpoint') || '';
|
|
303
|
+
|
|
304
|
+
checkSubscriptionExpiration();
|
|
237
305
|
}
|
|
238
306
|
|
|
239
307
|
// Render All Dynamic Components
|
|
@@ -283,6 +351,78 @@ function closeCheckoutModal() {
|
|
|
283
351
|
if (container) container.innerHTML = '';
|
|
284
352
|
}
|
|
285
353
|
|
|
354
|
+
// Downgrade & Cancellation Modal Handlers
|
|
355
|
+
function openDowngradeModal(targetTier = 'free') {
|
|
356
|
+
pendingDowngradeTier = targetTier;
|
|
357
|
+
const currentInfo = TIER_DETAILS[state.currentTier] || TIER_DETAILS.pro;
|
|
358
|
+
const renewDateFormatted = formatRenewDate(state.renewAt);
|
|
359
|
+
|
|
360
|
+
if (getEl('downgrade-current-plan')) {
|
|
361
|
+
getEl('downgrade-current-plan').innerText = currentInfo.name;
|
|
362
|
+
}
|
|
363
|
+
if (getEl('downgrade-expiration-date')) {
|
|
364
|
+
getEl('downgrade-expiration-date').innerText = renewDateFormatted;
|
|
365
|
+
}
|
|
366
|
+
if (getEl('downgrade-modal-desc')) {
|
|
367
|
+
getEl('downgrade-modal-desc').innerHTML = `You are currently subscribed to <strong class="text-bright">${escapeHtml(currentInfo.name)}</strong>.`;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
const modal = getEl('downgrade-modal');
|
|
371
|
+
if (modal) modal.classList.remove('hidden');
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
function closeDowngradeModal() {
|
|
375
|
+
pendingDowngradeTier = null;
|
|
376
|
+
const modal = getEl('downgrade-modal');
|
|
377
|
+
if (modal) modal.classList.add('hidden');
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
function confirmScheduleDowngrade() {
|
|
381
|
+
const targetTier = pendingDowngradeTier || 'free';
|
|
382
|
+
state.cancelAtPeriodEnd = true;
|
|
383
|
+
state.pendingDowngrade = targetTier;
|
|
384
|
+
saveSessionToStorage();
|
|
385
|
+
if (state.serverConnected) syncAuthWithServer();
|
|
386
|
+
closeDowngradeModal();
|
|
387
|
+
renderAllDynamicComponents();
|
|
388
|
+
showToast(`Subscription will cancel on ${formatRenewDate(state.renewAt)}. You retain all ${TIER_DETAILS[state.currentTier].name} features until then!`, 'warning');
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
function confirmImmediateDowngrade() {
|
|
392
|
+
const targetTier = pendingDowngradeTier || 'free';
|
|
393
|
+
state.currentTier = targetTier;
|
|
394
|
+
state.paidTier = targetTier === 'free' ? null : targetTier;
|
|
395
|
+
state.cancelAtPeriodEnd = false;
|
|
396
|
+
state.pendingDowngrade = null;
|
|
397
|
+
state.creditsTotal = targetTier === 'pro' ? 1000 : (targetTier === 'enterprise' ? 10000 : 100);
|
|
398
|
+
state.creditsUsed = 0;
|
|
399
|
+
const now = new Date();
|
|
400
|
+
state.renewAt = new Date(now.getFullYear(), now.getMonth() + 1, 1, 0, 0, 0).toISOString();
|
|
401
|
+
saveSessionToStorage();
|
|
402
|
+
if (state.serverConnected) syncAuthWithServer();
|
|
403
|
+
closeDowngradeModal();
|
|
404
|
+
renderAllDynamicComponents();
|
|
405
|
+
showToast(`Downgraded to ${TIER_DETAILS[targetTier].name} immediately.`, 'info');
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
function resumeSubscription() {
|
|
409
|
+
if (!state.currentTier || state.currentTier === 'free') {
|
|
410
|
+
if (state.paidTier && state.paidTier !== 'free' && !isSubscriptionExpired()) {
|
|
411
|
+
state.currentTier = state.paidTier;
|
|
412
|
+
state.creditsTotal = state.currentTier === 'pro' ? 1000 : 10000;
|
|
413
|
+
} else {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
state.cancelAtPeriodEnd = false;
|
|
418
|
+
state.pendingDowngrade = null;
|
|
419
|
+
state.paidTier = state.currentTier;
|
|
420
|
+
saveSessionToStorage();
|
|
421
|
+
if (state.serverConnected) syncAuthWithServer();
|
|
422
|
+
renderAllDynamicComponents();
|
|
423
|
+
showToast(`🎉 Subscription resumed! Your ${TIER_DETAILS[state.currentTier].name} is active and will auto-renew.`, 'success');
|
|
424
|
+
}
|
|
425
|
+
|
|
286
426
|
// Render and initialize Razorpay button UI
|
|
287
427
|
function renderRazorpayButton(targetTier) {
|
|
288
428
|
const isAnnual = state.billingCycle === 'annual';
|
|
@@ -590,6 +730,13 @@ function initEventListeners() {
|
|
|
590
730
|
getEl('btn-cancel-checkout')?.addEventListener('click', closeCheckoutModal);
|
|
591
731
|
getEl('btn-razorpay-checkout')?.addEventListener('click', handleRazorpayCheckout);
|
|
592
732
|
|
|
733
|
+
// Downgrade Modal Events
|
|
734
|
+
getEl('btn-close-downgrade')?.addEventListener('click', closeDowngradeModal);
|
|
735
|
+
getEl('btn-cancel-downgrade-modal')?.addEventListener('click', closeDowngradeModal);
|
|
736
|
+
getEl('btn-confirm-schedule-downgrade')?.addEventListener('click', confirmScheduleDowngrade);
|
|
737
|
+
getEl('btn-confirm-immediate-downgrade')?.addEventListener('click', confirmImmediateDowngrade);
|
|
738
|
+
getEl('btn-banner-resume-plan')?.addEventListener('click', resumeSubscription);
|
|
739
|
+
|
|
593
740
|
getEl('btn-confirm-checkout')?.addEventListener('click', async () => {
|
|
594
741
|
if (!pendingCheckoutTier) return;
|
|
595
742
|
|
|
@@ -727,18 +874,28 @@ function initEventListeners() {
|
|
|
727
874
|
const targetTier = btn.getAttribute('data-tier');
|
|
728
875
|
if (!targetTier || !TIER_DETAILS[targetTier]) return;
|
|
729
876
|
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
state.
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
877
|
+
// 1. Clicked Current Active Tier
|
|
878
|
+
if (targetTier === state.currentTier) {
|
|
879
|
+
if (state.cancelAtPeriodEnd) {
|
|
880
|
+
resumeSubscription();
|
|
881
|
+
}
|
|
882
|
+
return;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
// 2. Clicked to Downgrade (from Pro/Enterprise to Free, or Enterprise to Pro)
|
|
886
|
+
if (state.currentTier !== 'free' && (targetTier === 'free' || (state.currentTier === 'enterprise' && targetTier === 'pro'))) {
|
|
887
|
+
openDowngradeModal(targetTier);
|
|
888
|
+
return;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
// 3. User already has an active, unexpired paid subscription for this tier
|
|
892
|
+
if (state.paidTier === targetTier && !isSubscriptionExpired()) {
|
|
893
|
+
resumeSubscription();
|
|
894
|
+
return;
|
|
741
895
|
}
|
|
896
|
+
|
|
897
|
+
// 4. Regular Upgrade via Checkout Modal
|
|
898
|
+
openCheckoutModal(targetTier);
|
|
742
899
|
});
|
|
743
900
|
});
|
|
744
901
|
}
|
|
@@ -823,7 +980,7 @@ function initTerminalSimulator() {
|
|
|
823
980
|
`;
|
|
824
981
|
} else if (lower.includes('status')) {
|
|
825
982
|
response.innerHTML = `
|
|
826
|
-
<span class="term-green">✔ Scout CLI Engine: v8.0.
|
|
983
|
+
<span class="term-green">✔ Scout CLI Engine: v8.0.9 Online</span><br>
|
|
827
984
|
↳ User: <strong>${escapeHtml(state.user ? state.user.name : 'Guest Session')}</strong><br>
|
|
828
985
|
↳ Active Subscription: <strong>${escapeHtml(TIER_DETAILS[state.currentTier].name)}</strong><br>
|
|
829
986
|
↳ Credit Quota: <strong>${state.byokEnabled ? 'BYOK Mode (Unlimited)' : `${state.creditsUsed} / ${state.creditsTotal} Credits Used`}</strong><br>
|
|
@@ -882,6 +1039,21 @@ function saveSessionsToStorage() {
|
|
|
882
1039
|
|
|
883
1040
|
function renderSessionsTable() {
|
|
884
1041
|
const tbody = getEl('session-table-body');
|
|
1042
|
+
const slotCounter = getEl('session-slot-counter');
|
|
1043
|
+
|
|
1044
|
+
const tier = (state.currentTier || 'free').toLowerCase();
|
|
1045
|
+
const maxSlots = tier === 'enterprise' ? 'Unlimited' : (tier === 'pro' ? 5 : 1);
|
|
1046
|
+
const sessionCount = state.sessions && state.sessions.length > 0 ? state.sessions.length : 1;
|
|
1047
|
+
|
|
1048
|
+
if (slotCounter) {
|
|
1049
|
+
slotCounter.innerText = `${sessionCount} / ${maxSlots} Slots Used`;
|
|
1050
|
+
if (typeof maxSlots === 'number' && sessionCount >= maxSlots) {
|
|
1051
|
+
slotCounter.className = 'badge badge-warning';
|
|
1052
|
+
} else {
|
|
1053
|
+
slotCounter.className = 'badge badge-primary';
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
|
|
885
1057
|
if (!tbody) return;
|
|
886
1058
|
|
|
887
1059
|
if (!state.sessions || state.sessions.length === 0) {
|
|
@@ -1005,18 +1177,52 @@ function renderCreditUsageUI() {
|
|
|
1005
1177
|
renewDateStr = `${nextMonth.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' })} at 00:00:00 UTC`;
|
|
1006
1178
|
}
|
|
1007
1179
|
|
|
1008
|
-
if (valRenew)
|
|
1180
|
+
if (valRenew) {
|
|
1181
|
+
if (state.cancelAtPeriodEnd && state.currentTier !== 'free') {
|
|
1182
|
+
valRenew.innerHTML = `${renewDateStr} <span style="color: #eab308; font-weight: 600; margin-left: 6px;">(Cancels at period end)</span>`;
|
|
1183
|
+
} else {
|
|
1184
|
+
valRenew.innerText = renewDateStr;
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1009
1187
|
}
|
|
1010
1188
|
|
|
1011
1189
|
// Render Paid Tiers UI
|
|
1012
1190
|
function renderTiersUI() {
|
|
1013
1191
|
const current = TIER_DETAILS[state.currentTier] || TIER_DETAILS.free;
|
|
1192
|
+
const isScheduledCancel = Boolean(state.cancelAtPeriodEnd && state.currentTier !== 'free');
|
|
1193
|
+
const formattedDate = formatRenewDate(state.renewAt);
|
|
1014
1194
|
|
|
1015
1195
|
if (getEl('current-plan-title')) getEl('current-plan-title').innerText = current.name;
|
|
1016
|
-
if (getEl('current-plan-badge')) getEl('current-plan-badge').innerText = current.badge;
|
|
1017
|
-
if (getEl('current-plan-desc')) getEl('current-plan-desc').innerText = current.desc;
|
|
1018
1196
|
if (getEl('tier-active-icon')) getEl('tier-active-icon').innerHTML = current.icon;
|
|
1019
1197
|
|
|
1198
|
+
if (getEl('current-plan-badge')) {
|
|
1199
|
+
if (isScheduledCancel) {
|
|
1200
|
+
getEl('current-plan-badge').innerText = `CANCELS ON ${formattedDate.toUpperCase()}`;
|
|
1201
|
+
getEl('current-plan-badge').className = 'badge badge-warning';
|
|
1202
|
+
} else {
|
|
1203
|
+
getEl('current-plan-badge').innerText = current.badge;
|
|
1204
|
+
getEl('current-plan-badge').className = 'badge badge-success';
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
if (getEl('current-plan-desc')) {
|
|
1209
|
+
if (isScheduledCancel) {
|
|
1210
|
+
const targetTierName = TIER_DETAILS[state.pendingDowngrade || 'free']?.name || 'Developer Free Tier';
|
|
1211
|
+
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.`;
|
|
1212
|
+
} else {
|
|
1213
|
+
getEl('current-plan-desc').innerText = current.desc;
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
const bannerResumeBtn = getEl('btn-banner-resume-plan');
|
|
1218
|
+
if (bannerResumeBtn) {
|
|
1219
|
+
if (isScheduledCancel) {
|
|
1220
|
+
bannerResumeBtn.classList.remove('hidden');
|
|
1221
|
+
} else {
|
|
1222
|
+
bannerResumeBtn.classList.add('hidden');
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1020
1226
|
const isAnnual = state.billingCycle === 'annual';
|
|
1021
1227
|
if (getEl('price-pro-val')) getEl('price-pro-val').innerText = isAnnual ? '15' : '19';
|
|
1022
1228
|
if (getEl('price-pro-period')) getEl('price-pro-period').innerText = isAnnual ? '/ month (billed annually)' : '/ month';
|
|
@@ -1031,18 +1237,57 @@ function renderTiersUI() {
|
|
|
1031
1237
|
|
|
1032
1238
|
if (t === state.currentTier) {
|
|
1033
1239
|
card.classList.add('active-tier-card');
|
|
1034
|
-
|
|
1035
|
-
btn.innerText = 'Current Plan';
|
|
1036
|
-
btn.disabled = true;
|
|
1037
|
-
} else {
|
|
1038
|
-
card.classList.remove('active-tier-card');
|
|
1039
|
-
btn.disabled = false;
|
|
1040
|
-
if (t === 'pro') {
|
|
1240
|
+
if (isScheduledCancel) {
|
|
1041
1241
|
btn.className = 'btn btn-primary btn-block btn-select-tier';
|
|
1042
|
-
btn.
|
|
1242
|
+
btn.innerHTML = `<i class="fa-solid fa-rotate-left"></i> Resume ${current.name.split(' ')[0]}`;
|
|
1243
|
+
btn.disabled = false;
|
|
1043
1244
|
} else {
|
|
1044
|
-
btn.className = 'btn btn-
|
|
1045
|
-
btn.innerText =
|
|
1245
|
+
btn.className = 'btn btn-success btn-block btn-select-tier';
|
|
1246
|
+
btn.innerText = 'Current Plan';
|
|
1247
|
+
btn.disabled = true;
|
|
1248
|
+
}
|
|
1249
|
+
} else {
|
|
1250
|
+
card.classList.remove('active-tier-card');
|
|
1251
|
+
if (t === 'free') {
|
|
1252
|
+
if (isScheduledCancel && (state.pendingDowngrade === 'free' || !state.pendingDowngrade)) {
|
|
1253
|
+
btn.className = 'btn btn-outline btn-block btn-select-tier';
|
|
1254
|
+
btn.innerText = `Downgrade Scheduled (${formattedDate})`;
|
|
1255
|
+
btn.disabled = true;
|
|
1256
|
+
} else {
|
|
1257
|
+
btn.disabled = false;
|
|
1258
|
+
btn.className = 'btn btn-outline btn-block btn-select-tier';
|
|
1259
|
+
btn.innerText = state.currentTier !== 'free' ? 'Switch to Free' : 'Current Plan';
|
|
1260
|
+
}
|
|
1261
|
+
} else if (t === 'pro') {
|
|
1262
|
+
if (state.paidTier === 'pro' && !isSubscriptionExpired()) {
|
|
1263
|
+
btn.className = 'btn btn-primary btn-block btn-select-tier';
|
|
1264
|
+
btn.innerHTML = `<i class="fa-solid fa-rotate-left"></i> Reactivate Pro (Active until ${formattedDate})`;
|
|
1265
|
+
btn.disabled = false;
|
|
1266
|
+
} else if (state.currentTier === 'enterprise') {
|
|
1267
|
+
if (isScheduledCancel && state.pendingDowngrade === 'pro') {
|
|
1268
|
+
btn.className = 'btn btn-outline btn-block btn-select-tier';
|
|
1269
|
+
btn.innerText = `Downgrade Scheduled (${formattedDate})`;
|
|
1270
|
+
btn.disabled = true;
|
|
1271
|
+
} else {
|
|
1272
|
+
btn.className = 'btn btn-outline btn-block btn-select-tier';
|
|
1273
|
+
btn.innerText = 'Downgrade to Pro';
|
|
1274
|
+
btn.disabled = false;
|
|
1275
|
+
}
|
|
1276
|
+
} else {
|
|
1277
|
+
btn.className = 'btn btn-primary btn-block btn-select-tier';
|
|
1278
|
+
btn.innerText = 'Upgrade to Pro';
|
|
1279
|
+
btn.disabled = false;
|
|
1280
|
+
}
|
|
1281
|
+
} else if (t === 'enterprise') {
|
|
1282
|
+
if (state.paidTier === 'enterprise' && !isSubscriptionExpired()) {
|
|
1283
|
+
btn.className = 'btn btn-warning btn-block btn-select-tier';
|
|
1284
|
+
btn.innerHTML = `<i class="fa-solid fa-rotate-left"></i> Reactivate Enterprise (Active until ${formattedDate})`;
|
|
1285
|
+
btn.disabled = false;
|
|
1286
|
+
} else {
|
|
1287
|
+
btn.className = 'btn btn-outline btn-block btn-select-tier';
|
|
1288
|
+
btn.innerText = 'Upgrade to Enterprise';
|
|
1289
|
+
btn.disabled = false;
|
|
1290
|
+
}
|
|
1046
1291
|
}
|
|
1047
1292
|
}
|
|
1048
1293
|
});
|
|
@@ -1094,6 +1339,9 @@ async function checkServerStatusAndSession() {
|
|
|
1094
1339
|
if (typeof data.auth.creditsTotal === 'number') state.creditsTotal = data.auth.creditsTotal;
|
|
1095
1340
|
if (data.auth.currentTier) state.currentTier = data.auth.currentTier;
|
|
1096
1341
|
if (data.auth.renewAt) state.renewAt = data.auth.renewAt;
|
|
1342
|
+
if (typeof data.auth.cancelAtPeriodEnd === 'boolean') state.cancelAtPeriodEnd = data.auth.cancelAtPeriodEnd;
|
|
1343
|
+
if (data.auth.pendingDowngrade !== undefined) state.pendingDowngrade = data.auth.pendingDowngrade;
|
|
1344
|
+
if (data.auth.paidTier !== undefined) state.paidTier = data.auth.paidTier;
|
|
1097
1345
|
if (typeof data.auth.byokEnabled === 'boolean') state.byokEnabled = data.auth.byokEnabled;
|
|
1098
1346
|
if (data.auth.customLlmProvider) state.customLlmProvider = data.auth.customLlmProvider;
|
|
1099
1347
|
if (typeof data.auth.customApiKey === 'string') state.customApiKey = data.auth.customApiKey;
|
|
@@ -1432,6 +1680,15 @@ function updateUserUI() {
|
|
|
1432
1680
|
if (getEl('input-byok-endpoint')) getEl('input-byok-endpoint').value = state.customBaseUrl || '';
|
|
1433
1681
|
if (getEl('input-byok-key')) getEl('input-byok-key').value = state.customApiKey || '';
|
|
1434
1682
|
if (getEl('checkbox-enable-byok')) getEl('checkbox-enable-byok').checked = Boolean(state.byokEnabled);
|
|
1683
|
+
|
|
1684
|
+
const inceptionBadge = getEl('nvidia-inception-badge');
|
|
1685
|
+
if (inceptionBadge) {
|
|
1686
|
+
if (state.currentTier === 'pro' || state.currentTier === 'enterprise') {
|
|
1687
|
+
inceptionBadge.style.display = 'inline-flex';
|
|
1688
|
+
} else {
|
|
1689
|
+
inceptionBadge.style.display = 'none';
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1435
1692
|
}
|
|
1436
1693
|
|
|
1437
1694
|
async function handleLogout() {
|
|
@@ -1461,6 +1718,9 @@ function saveSessionToStorage() {
|
|
|
1461
1718
|
localStorage.setItem('scout_credits_used', String(state.creditsUsed));
|
|
1462
1719
|
localStorage.setItem('scout_credits_total', String(state.creditsTotal));
|
|
1463
1720
|
if (state.renewAt) localStorage.setItem('scout_renew_at', state.renewAt);
|
|
1721
|
+
localStorage.setItem('scout_cancel_at_period_end', String(Boolean(state.cancelAtPeriodEnd)));
|
|
1722
|
+
localStorage.setItem('scout_pending_downgrade', state.pendingDowngrade || '');
|
|
1723
|
+
localStorage.setItem('scout_paid_tier', state.paidTier || '');
|
|
1464
1724
|
localStorage.setItem('scout_byok_enabled', String(state.byokEnabled));
|
|
1465
1725
|
localStorage.setItem('scout_byok_provider', state.customLlmProvider);
|
|
1466
1726
|
localStorage.setItem('scout_byok_key', state.customApiKey);
|
|
@@ -1481,6 +1741,9 @@ async function syncAuthWithServer() {
|
|
|
1481
1741
|
creditsTotal: state.creditsTotal,
|
|
1482
1742
|
currentTier: state.currentTier,
|
|
1483
1743
|
renewAt: state.renewAt,
|
|
1744
|
+
cancelAtPeriodEnd: state.cancelAtPeriodEnd,
|
|
1745
|
+
pendingDowngrade: state.pendingDowngrade,
|
|
1746
|
+
paidTier: state.paidTier,
|
|
1484
1747
|
byokEnabled: state.byokEnabled,
|
|
1485
1748
|
customLlmProvider: state.customLlmProvider,
|
|
1486
1749
|
customApiKey: state.customApiKey,
|
package/web/styles.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
FrontTerrain Scout — Design System & Visual Engine v8.0.
|
|
2
|
+
FrontTerrain Scout — Design System & Visual Engine v8.0.9
|
|
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 v8.0.
|
|
1066
|
+
Visual Perception & Live Screen Sharing Engine v8.0.9
|
|
1067
1067
|
========================================================================== */
|
|
1068
1068
|
.vision-banner {
|
|
1069
1069
|
margin-bottom: 28px;
|