clawaid 1.1.16 → 1.1.17

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/dist/loop.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type LoopState = 'idle' | 'waiting_user_description' | 'observing' | 'running' | 'waiting' | 'fixed' | 'not_fixed' | 'healthy' | 'paywall' | 'error';
1
+ export type LoopState = 'idle' | 'waiting_user_description' | 'observing' | 'running' | 'waiting' | 'fixed' | 'not_fixed' | 'healthy' | 'degraded' | 'paywall' | 'error';
2
2
  export interface AgentStep {
3
3
  type: 'read' | 'fix' | 'done';
4
4
  command?: string;
@@ -25,6 +25,7 @@ export declare class DoctorLoop {
25
25
  private state;
26
26
  private stopped;
27
27
  private token?;
28
+ private lang;
28
29
  private userDescription;
29
30
  private userScreenshot?;
30
31
  private observation?;
@@ -36,6 +37,7 @@ export declare class DoctorLoop {
36
37
  private sbSessionId?;
37
38
  constructor(callback: EventCallback);
38
39
  setToken(token: string): void;
40
+ setLang(lang: string): void;
39
41
  private callComplete;
40
42
  stop(): void;
41
43
  private emit;
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,0BAA0B,GAC1B,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EACA,cAAc,GACd,UAAU,GACV,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,SAAS,GACT,eAAe,GACf,OAAO,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEvD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAC,CAA6D;IACpF,OAAO,CAAC,kBAAkB,CAAC,CAA6E;IACxG,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,QAAQ,EAAE,aAAa;IAInC,QAAQ,CAAC,KAAK,EAAE,MAAM;YAER,YAAY;IAmB1B,IAAI;IAEJ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAEV,KAAK;IAqBL,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAU1E,WAAW,CAAC,SAAS,EAAE,OAAO;IAQ9B,QAAQ;YAIA,OAAO;IAqGrB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;YAqBR,QAAQ;IAiFhB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;CAIlC"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,0BAA0B,GAC1B,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EACA,cAAc,GACd,UAAU,GACV,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,SAAS,GACT,eAAe,GACf,OAAO,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEvD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAC,CAA6D;IACpF,OAAO,CAAC,kBAAkB,CAAC,CAA6E;IACxG,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,QAAQ,EAAE,aAAa;IAInC,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,OAAO,CAAC,IAAI,EAAE,MAAM;YAEN,YAAY;IAmB1B,IAAI;IAEJ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAEV,KAAK;IAqBL,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAU1E,WAAW,CAAC,SAAS,EAAE,OAAO;IAQ9B,QAAQ;YAIA,OAAO;IA6GrB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;YAqBR,QAAQ;IAkFhB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;CAIlC"}
package/dist/loop.js CHANGED
@@ -50,6 +50,7 @@ class DoctorLoop {
50
50
  constructor(callback) {
51
51
  this.state = 'idle';
52
52
  this.stopped = false;
53
+ this.lang = 'en';
53
54
  this.userDescription = '';
54
55
  this.observationText = '';
55
56
  this.history = [];
@@ -57,6 +58,7 @@ class DoctorLoop {
57
58
  this.callback = callback;
58
59
  }
59
60
  setToken(token) { this.token = token; }
61
+ setLang(lang) { this.lang = lang || 'en'; }
60
62
  async callComplete(token) {
61
63
  const url = new URL(`${CLAWAID_API}/complete`);
62
64
  const isLocal = url.hostname === 'localhost' || url.hostname === '127.0.0.1';
@@ -160,22 +162,31 @@ class DoctorLoop {
160
162
  if (step.type === 'done') {
161
163
  this.emit({ type: 'step_start', data: { step, index: stepIndex } });
162
164
  const warnings = step.warnings || [];
165
+ const problem = step.problem || null;
166
+ const fix = step.fix || null;
167
+ const degraded = step.degraded || false;
168
+ const baseData = { summary: step.summary, warnings, problem, fix, history: this.history, sbSessionId: this.sbSessionId };
163
169
  if (step.fixed) {
164
170
  this.setState('fixed');
165
171
  // Deduct 1 credit if using a paid token
166
172
  if (this.token) {
167
173
  this.callComplete(this.token).catch(() => { });
168
174
  }
169
- this.emit({ type: 'complete', data: { fixed: true, summary: step.summary, warnings, history: this.history } });
175
+ this.emit({ type: 'complete', data: { ...baseData, fixed: true } });
176
+ }
177
+ else if (degraded) {
178
+ // System runs but has functional issues (auth errors, model failures, etc.)
179
+ this.setState('degraded');
180
+ this.emit({ type: 'complete', data: { ...baseData, fixed: false, degraded: true } });
170
181
  }
171
182
  else if (this.fixAttempts === 0 && !step.fixed) {
172
183
  // Healthy — no fixes were needed
173
184
  this.setState('healthy');
174
- this.emit({ type: 'complete', data: { fixed: false, healthy: true, summary: step.summary, warnings, history: this.history } });
185
+ this.emit({ type: 'complete', data: { ...baseData, fixed: false, healthy: true } });
175
186
  }
176
187
  else {
177
188
  this.setState('not_fixed');
178
- this.emit({ type: 'complete', data: { fixed: false, summary: step.summary, warnings, history: this.history } });
189
+ this.emit({ type: 'complete', data: { ...baseData, fixed: false } });
179
190
  }
180
191
  return;
181
192
  }
@@ -267,6 +278,7 @@ class DoctorLoop {
267
278
  modeContext,
268
279
  history: this.history.map(h => ({ step: h.step, output: h.output, skipped: h.skipped })),
269
280
  fingerprint,
281
+ lang: this.lang,
270
282
  ...(this.token ? { token: this.token } : {}),
271
283
  ...(isFirst ? { sessionStart: true, userDescription: this.userDescription || undefined } : {}),
272
284
  ...(this.sbSessionId ? { supabaseSessionId: this.sbSessionId } : {}),
package/dist/loop.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAgVD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,WAAW,EAAE,CAgB9D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAmClE"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAudD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,WAAW,EAAE,CAgB9D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAmClE"}
package/dist/rules.js CHANGED
@@ -217,10 +217,116 @@ const gatewayAuthConflict = (obs) => {
217
217
  }
218
218
  return [];
219
219
  };
220
+ // ─── Functional-layer Rules (does the system actually WORK, not just "run") ──
221
+ const recentAuthFailure = (obs) => {
222
+ const logs = obs.recentLogs || '';
223
+ const lines = logs.split('\n');
224
+ // Look for 401/403 errors in recent logs
225
+ const authErrorLines = lines.filter(l => /\b(401|403)\b/.test(l) &&
226
+ /invalid.*(key|auth|token)|unauthorized|forbidden|authentication.*fail/i.test(l));
227
+ if (authErrorLines.length >= 2) {
228
+ // Try to extract provider name
229
+ let provider = '';
230
+ for (const line of authErrorLines) {
231
+ const m = line.match(/(openrouter|anthropic|openai|google|moonshot|deepseek|siliconflow|groq|mistral|together)/i);
232
+ if (m) {
233
+ provider = m[1];
234
+ break;
235
+ }
236
+ }
237
+ return [{
238
+ id: 'recent-auth-failure',
239
+ severity: 'high',
240
+ title: 'API authentication errors detected' + (provider ? ` (${provider})` : ''),
241
+ description: `Found ${authErrorLines.length} authentication errors (401/403) in recent logs. ` +
242
+ (provider
243
+ ? `The "${provider}" provider's API key may be invalid, expired, or missing.`
244
+ : 'One or more provider API keys may be invalid, expired, or missing.') +
245
+ ' This means AI requests are failing right now.',
246
+ }];
247
+ }
248
+ return [];
249
+ };
250
+ const nodeTooOld = (obs) => {
251
+ const nodeVer = obs.nodeVersion || '';
252
+ const match = nodeVer.match(/v?(\d+)\./);
253
+ if (match) {
254
+ const major = parseInt(match[1], 10);
255
+ if (major < 18) {
256
+ return [{
257
+ id: 'node-too-old',
258
+ severity: 'critical',
259
+ title: `Node.js ${nodeVer.trim()} is too old — CLI will not work`,
260
+ description: `OpenClaw requires Node.js 18 or newer. Your current version (${nodeVer.trim()}) ` +
261
+ 'is not supported. The CLI will fail with syntax errors or missing APIs.',
262
+ fix: 'curl -fsSL https://fnm.vercel.app/install | bash && fnm install --lts && fnm use lts-latest',
263
+ }];
264
+ }
265
+ }
266
+ return [];
267
+ };
268
+ const providerMissingKey = (obs) => {
269
+ const config = obs.configContent || '';
270
+ const logs = obs.recentLogs || '';
271
+ // Only flag if a provider has empty apiKey AND recent logs show failures for that provider
272
+ const findings = [];
273
+ // Find providers with empty or placeholder keys in config
274
+ const providerPattern = /"(\w+)"\s*:\s*\{[^}]*"apiKey"\s*:\s*""\s*[^}]*\}/g;
275
+ let m;
276
+ while ((m = providerPattern.exec(config)) !== null) {
277
+ const provName = m[1];
278
+ // Check if this provider appears in recent error logs
279
+ if (new RegExp(provName, 'i').test(logs) && /error|fail|401|403/i.test(logs)) {
280
+ findings.push({
281
+ id: 'provider-missing-key',
282
+ severity: 'high',
283
+ title: `Provider "${provName}" has empty API key`,
284
+ description: `The "${provName}" provider is configured but has an empty API key, ` +
285
+ 'and recent logs show errors from this provider. Requests to this provider will always fail.',
286
+ });
287
+ }
288
+ }
289
+ return findings;
290
+ };
291
+ const recentTimeoutLoop = (obs) => {
292
+ const logs = obs.recentLogs || '';
293
+ const lines = logs.split('\n');
294
+ const timeoutLines = lines.filter(l => /timeout|ETIMEDOUT|ECONNREFUSED|ECONNRESET/i.test(l));
295
+ if (timeoutLines.length >= 4) {
296
+ return [{
297
+ id: 'recent-timeout-loop',
298
+ severity: 'high',
299
+ title: 'Repeated connection timeouts detected',
300
+ description: `Found ${timeoutLines.length} timeout/connection errors in recent logs. ` +
301
+ 'This usually means a network issue, proxy misconfiguration, or the AI provider is unreachable. ' +
302
+ 'The system may be in a backoff loop.',
303
+ }];
304
+ }
305
+ return [];
306
+ };
307
+ const fallbackNotAvailable = (obs) => {
308
+ const logs = obs.recentLogs || '';
309
+ // Look for fallback failures in logs
310
+ const fallbackErrors = logs.split('\n').filter(l => /fallback.*fail|fallback.*error|all.*fallback.*exhaust|no.*fallback.*available/i.test(l));
311
+ if (fallbackErrors.length >= 2) {
312
+ return [{
313
+ id: 'fallback-not-available',
314
+ severity: 'high',
315
+ title: 'Fallback models are failing',
316
+ description: 'Recent logs show multiple fallback model failures. When the primary model fails, ' +
317
+ 'the fallback chain is also broken. The system has no working recovery path.',
318
+ }];
319
+ }
320
+ return [];
321
+ };
220
322
  // ─── Warning Rules ───────────────────────────────────────────────────────────
221
323
  const versionMismatch = (obs) => {
222
324
  const desktopVer = obs.desktopAppVersion || '';
223
325
  const cliVer = obs.openclawVersion || '';
326
+ // If desktop app is not installed (error reading plist, "does not exist", etc.), don't report
327
+ if (/not exist|does not|error|command not found/i.test(desktopVer)) {
328
+ return [];
329
+ }
224
330
  // Extract version numbers (e.g., "3.7.1" or "2026.2.22")
225
331
  const desktopMatch = desktopVer.match(/(\d+)\.(\d+)\.?(\d*)/);
226
332
  const cliMatch = cliVer.match(/(\d+)\.(\d+)\.?(\d*)/);
@@ -246,6 +352,15 @@ const versionMismatch = (obs) => {
246
352
  };
247
353
  const whatsappAllowlistEmpty = (obs) => {
248
354
  const config = obs.configContent || '';
355
+ // Only check if WhatsApp is actually configured as a channel
356
+ // Skip if the channel doesn't exist or is disabled
357
+ const hasWhatsappChannel = /["']?whatsapp["']?\s*:\s*\{/i.test(config);
358
+ if (!hasWhatsappChannel)
359
+ return [];
360
+ // Check if disabled
361
+ const whatsappSection = config.match(/["']?whatsapp["']?\s*:\s*\{([^}]*)\}/s);
362
+ if (whatsappSection && /["']?enabled["']?\s*:\s*false/i.test(whatsappSection[1]))
363
+ return [];
249
364
  // Check for groupPolicy: "allowlist"
250
365
  const hasAllowlist = /["']?groupPolicy["']?\s*:\s*["']allowlist["']/i.test(config);
251
366
  if (hasAllowlist) {
@@ -272,10 +387,15 @@ const ALL_RULES = [
272
387
  configParseError,
273
388
  gatewayNotRunning,
274
389
  portConflict,
275
- // High
390
+ nodeTooOld,
391
+ // High — functional layer (does it actually WORK?)
276
392
  zombieGateway,
277
393
  badModel,
278
394
  gatewayAuthConflict,
395
+ recentAuthFailure,
396
+ providerMissingKey,
397
+ recentTimeoutLoop,
398
+ fallbackNotAvailable,
279
399
  // Warning
280
400
  versionMismatch,
281
401
  whatsappAllowlistEmpty,
package/dist/rules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,GAAG,6CAAY,CAAC;AAyKtB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxD;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,GAAG,6CAAY,CAAC;AA6PtB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxD;AAED,eAAe,GAAG,CAAC"}
package/dist/server.js CHANGED
@@ -62,6 +62,7 @@ app.get('/', (_req, res) => {
62
62
  const activeSessions = new Map();
63
63
  app.get('/api/diagnose', (req, res) => {
64
64
  const sessionId = Date.now().toString();
65
+ const lang = req.query.lang || 'en';
65
66
  // Set SSE headers
66
67
  res.setHeader('Content-Type', 'text/event-stream');
67
68
  res.setHeader('Cache-Control', 'no-cache');
@@ -75,7 +76,8 @@ app.get('/api/diagnose', (req, res) => {
75
76
  const loop = new loop_1.DoctorLoop((event) => {
76
77
  sendEvent(event.type, event.data);
77
78
  });
78
- // Restore verified token if available
79
+ // Set language and restore verified token if available
80
+ loop.setLang(lang);
79
81
  if (verifiedToken) {
80
82
  loop.setToken(verifiedToken);
81
83
  }
@@ -146,14 +148,16 @@ app.post('/api/redeem', (req, res) => {
146
148
  try {
147
149
  const parsed = JSON.parse(data);
148
150
  if (parsed.valid) {
151
+ // Use the real CA-XXXX token returned by Worker (not the user's input which might be an email)
152
+ const realToken = parsed.token || token.trim();
149
153
  // Cache the token for this server process
150
- verifiedToken = token.trim();
154
+ verifiedToken = realToken;
151
155
  // Also propagate to any active sessions
152
156
  activeSessions.forEach(({ loop }) => {
153
- loop.setToken(token.trim());
157
+ loop.setToken(realToken);
154
158
  });
155
159
  }
156
- res.json({ valid: Boolean(parsed.valid), credits: parsed.credits || 0 });
160
+ res.json({ valid: Boolean(parsed.valid), credits: parsed.credits || 0, token: parsed.token || undefined });
157
161
  }
158
162
  catch {
159
163
  res.status(500).json({ valid: false, error: 'Failed to parse backend response' });
@@ -170,12 +174,16 @@ app.post('/api/redeem', (req, res) => {
170
174
  request.write(body);
171
175
  request.end();
172
176
  });
173
- // Health check
177
+ // Feedback — forward to backend with fingerprint
174
178
  app.post('/api/feedback', (req, res) => {
175
- const { feedback, sessionId: sid } = req.body || {};
176
- // Forward feedback to ClawAid backend
179
+ const { feedback, sessionId: sid, sbSessionId } = req.body || {};
177
180
  const https = require('https');
178
- const body = JSON.stringify({ feedback, sessionId: sid, fingerprint: require('./diagnose').getMachineFingerprint() });
181
+ const body = JSON.stringify({
182
+ feedback,
183
+ sessionId: sid,
184
+ sbSessionId,
185
+ fingerprint: require('./diagnose').getMachineFingerprint(),
186
+ });
179
187
  const fReq = https.request({
180
188
  hostname: 'api.clawaid.app',
181
189
  path: '/feedback',
@@ -187,6 +195,84 @@ app.post('/api/feedback', (req, res) => {
187
195
  fReq.end();
188
196
  res.json({ ok: true });
189
197
  });
198
+ // Poll endpoint — frontend checks if a token was created for this machine's fingerprint
199
+ // Used after Stripe payment: frontend polls until a token is found, then auto-activates
200
+ app.get('/api/poll-token', (_req, res) => {
201
+ const fingerprint = require('./diagnose').getMachineFingerprint();
202
+ const url = new URL(`${CLAWAID_API}/poll/${fingerprint}`);
203
+ const lib = url.protocol === 'http:' ? require('http') : require('https');
204
+ const options = {
205
+ hostname: url.hostname,
206
+ port: url.port ? parseInt(url.port) : (url.protocol === 'http:' ? 80 : 443),
207
+ path: url.pathname,
208
+ method: 'GET',
209
+ };
210
+ const request = lib.request(options, (backendRes) => {
211
+ let data = '';
212
+ backendRes.on('data', (chunk) => { data += chunk; });
213
+ backendRes.on('end', () => {
214
+ try {
215
+ const parsed = JSON.parse(data);
216
+ if (parsed.found && parsed.token) {
217
+ // Auto-activate: cache the token and propagate to active sessions
218
+ verifiedToken = parsed.token;
219
+ activeSessions.forEach(({ loop }) => { loop.setToken(parsed.token); });
220
+ }
221
+ res.json(parsed);
222
+ }
223
+ catch {
224
+ res.json({ found: false });
225
+ }
226
+ });
227
+ });
228
+ request.on('error', () => { res.json({ found: false }); });
229
+ request.setTimeout(10000, () => { request.destroy(); res.json({ found: false }); });
230
+ request.end();
231
+ });
232
+ // Lookup endpoint — proxy to Worker /lookup to find token by email
233
+ app.post('/api/lookup', (req, res) => {
234
+ const { email } = req.body;
235
+ if (!email) {
236
+ res.status(400).json({ found: false });
237
+ return;
238
+ }
239
+ const body = JSON.stringify({ email });
240
+ const url = new URL(`${CLAWAID_API}/lookup`);
241
+ const lib = url.protocol === 'http:' ? require('http') : require('https');
242
+ const options = {
243
+ hostname: url.hostname,
244
+ port: url.port ? parseInt(url.port) : (url.protocol === 'http:' ? 80 : 443),
245
+ path: url.pathname,
246
+ method: 'POST',
247
+ headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(body) },
248
+ };
249
+ const request = lib.request(options, (backendRes) => {
250
+ let data = '';
251
+ backendRes.on('data', (chunk) => { data += chunk; });
252
+ backendRes.on('end', () => {
253
+ try {
254
+ const parsed = JSON.parse(data);
255
+ if (parsed.found && parsed.token) {
256
+ // Auto-activate the token
257
+ verifiedToken = parsed.token;
258
+ activeSessions.forEach(({ loop }) => { loop.setToken(parsed.token); });
259
+ }
260
+ res.json(parsed);
261
+ }
262
+ catch {
263
+ res.json({ found: false });
264
+ }
265
+ });
266
+ });
267
+ request.on('error', () => { res.json({ found: false }); });
268
+ request.setTimeout(10000, () => { request.destroy(); res.json({ found: false }); });
269
+ request.write(body);
270
+ request.end();
271
+ });
272
+ // Return machine fingerprint so frontend can include it in Stripe payment link
273
+ app.get('/api/fingerprint', (_req, res) => {
274
+ res.json({ fingerprint: require('./diagnose').getMachineFingerprint() });
275
+ });
190
276
  app.get('/api/health', (_req, res) => {
191
277
  res.json({ ok: true, version: '1.0.0', name: 'ClawAid', sessions: activeSessions.size });
192
278
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawaid",
3
- "version": "1.1.16",
3
+ "version": "1.1.17",
4
4
  "description": "AI-powered diagnostic and repair tool for OpenClaw",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/web/index.html CHANGED
@@ -1,8 +1,10 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en">
2
+ <html lang="en" class="notranslate" translate="no">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="google" content="notranslate">
7
+ <meta http-equiv="Content-Language" content="en, zh">
6
8
  <title>ClawAid</title>
7
9
  <!-- Mixpanel -->
8
10
  <script>(function(f,b){if(!b.__SV){var e,g,i,h;window.mixpanel=b;b._i=[];b.init=function(e,f,c){function g(a,d){var b=d.split(".");2==b.length&&(a=a[b[0]],d=b[1]);a[d]=function(){a.push([d].concat(Array.prototype.slice.call(arguments,0)))}}var a=b;"undefined"!==typeof c?a=b[c]=[]:c="mixpanel";a.people=a.people||[];a.toString=function(a){var d="mixpanel";"mixpanel"!==c&&(d+="."+c);a||(d+=" (stub)");return d};a.people.toString=function(){return a.toString(1)+".people (stub)"};i="disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset init people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split(" ");for(h=0;h<i.length;h++)g(a,i[h]);var j="set set_once union unset remove delete".split(" ");a.get_group=function(){function b(c){d[c]=function(){call2_args=arguments;call2=[c].concat(Array.prototype.slice.call(call2_args,0));a.push([e,call2])}}for(var d={},e=["get_group"].concat(Array.prototype.slice.call(arguments,0)),c=0;c<j.length;c++)b(j[c]);return d};b._i.push([e,f,c])};b.__SV=1.2;e=f.createElement("script");e.type="text/javascript";e.async=!0;e.src="https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";g=f.getElementsByTagName("script")[0];g.parentNode.insertBefore(e,g)}})(document,window.mixpanel||[]);
@@ -20,7 +22,7 @@
20
22
  --yellow: #ca8a04; --yellow-bg: #fefce8; --yellow-border: #fde68a;
21
23
  --r: 12px; --rs: 8px;
22
24
  }
23
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; padding: 24px 16px 80px; }
25
+ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', 'PingFang SC', 'Noto Sans SC', sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; padding: 24px 16px 80px; }
24
26
  .wrap { max-width: 540px; margin: 0 auto; }
25
27
 
26
28
  /* Header */
@@ -205,6 +207,29 @@
205
207
  }
206
208
  .screenshot-preview-row .spr-remove:hover { color: var(--red); }
207
209
 
210
+ /* Anti-garbling: protect technical content from browser translation plugins */
211
+ code, .step-cmd, .step-output, .input-field, [translate="no"] {
212
+ font-family: 'SF Mono', 'Menlo', 'Consolas', 'Microsoft YaHei', monospace !important;
213
+ }
214
+
215
+ /* Warning action buttons */
216
+ .wi-action {
217
+ display: inline-flex; align-items: center; gap: 4px;
218
+ margin-top: 6px; padding: 4px 10px; font-size: 11px; font-weight: 500;
219
+ background: var(--surface); border: 1px solid var(--yellow-border); border-radius: 4px;
220
+ cursor: pointer; color: var(--yellow); transition: background 0.15s;
221
+ }
222
+ .wi-action:hover { background: var(--yellow-bg); }
223
+ .wi-action.copied { color: var(--green); border-color: var(--green-border); }
224
+ .wi-rec { font-size: 10px; font-weight: 600; padding: 1px 5px; border-radius: 3px; margin-left: 4px; }
225
+ .wi-rec-fix { background: var(--yellow-bg); color: var(--yellow); }
226
+ .wi-rec-review { background: var(--blue-bg); color: var(--blue); }
227
+ .wi-rec-ignore { background: #f3f3f3; color: var(--muted); }
228
+
229
+ /* Degraded result card */
230
+ .result-degraded { border-color: var(--yellow-border); }
231
+ .result-degraded .result-icon { color: var(--yellow); }
232
+
208
233
  /* Hide sections */
209
234
  .hidden { display: none; }
210
235
  </style>
@@ -363,7 +388,7 @@
363
388
  </div>
364
389
  <div class="step-detail" id="step-detail-${index}">
365
390
  ${reasoningHtml}
366
- ${step.command ? `<div class="step-cmd">$ ${esc(step.command)}</div>` : ''}
391
+ ${step.command ? `<div class="step-cmd" translate="no">$ ${esc(step.command)}</div>` : ''}
367
392
  <div id="step-output-area-${index}"></div>
368
393
  </div>
369
394
  `;
@@ -380,7 +405,7 @@
380
405
  const trimmed = output.length > 800 ? output.slice(0, 800) + '\n...' : output;
381
406
  outputArea.innerHTML = `
382
407
  <div class="step-output-label">Output</div>
383
- <div class="step-output">${esc(trimmed)}</div>
408
+ <div class="step-output" translate="no">${esc(trimmed)}</div>
384
409
  `;
385
410
  }
386
411
  }
@@ -444,7 +469,32 @@
444
469
  if (!warnings || warnings.length === 0) return '';
445
470
  let html = '<div class="warnings-list"><div class="warnings-title">' + T.warnings + '</div>';
446
471
  for (const w of warnings) {
447
- html += `<div class="warning-item"><span class="wi-icon">💡</span><span class="wi-text">${esc(w)}</span><button class="wi-dismiss" title="Dismiss" onclick="(function(btn){var item=btn.closest('.warning-item');item.classList.add('dismissing');setTimeout(function(){item.remove();},300);})(this)">×</button></div>`;
472
+ // Support both string warnings (legacy) and structured {text, recommendation, fixCommand, reason}
473
+ const isStructured = typeof w === 'object' && w !== null;
474
+ const text = isStructured ? (w.text || '') : String(w);
475
+ const rec = isStructured ? (w.recommendation || 'review') : 'review';
476
+ const fixCmd = isStructured ? (w.fixCommand || null) : null;
477
+ const reason = isStructured ? (w.reason || '') : '';
478
+
479
+ // Recommendation badge
480
+ const recLabel = rec === 'fix' ? (isZh ? '建议修复' : 'Fix') : rec === 'ignore' ? (isZh ? '可忽略' : 'Ignore') : (isZh ? '检查' : 'Review');
481
+ const recClass = rec === 'fix' ? 'wi-rec-fix' : rec === 'ignore' ? 'wi-rec-ignore' : 'wi-rec-review';
482
+ const icon = rec === 'fix' ? '🔧' : rec === 'ignore' ? '💡' : '👀';
483
+
484
+ html += `<div class="warning-item">`;
485
+ html += `<span class="wi-icon">${icon}</span>`;
486
+ html += `<span class="wi-text">`;
487
+ html += esc(text);
488
+ if (reason) html += `<br><span style="font-size:12px;color:var(--muted);">${esc(reason)}</span>`;
489
+ if (fixCmd) {
490
+ const btnId = 'wcopy-' + Math.random().toString(36).slice(2, 8);
491
+ html += `<br><button class="wi-action" id="${btnId}" onclick="(function(btn){navigator.clipboard.writeText('${esc(fixCmd).replace(/'/g, "\\'")}');btn.textContent='✓ ${isZh ? '已复制' : 'Copied'}';btn.classList.add('copied');setTimeout(function(){btn.textContent='📋 ${isZh ? '复制命令' : 'Copy command'}';btn.classList.remove('copied');},2000);})(this)">📋 ${isZh ? '复制命令' : 'Copy command'}</button>`;
492
+ html += ` <code translate="no" style="font-size:11px;background:#f0f0f0;padding:2px 6px;border-radius:3px;color:var(--text2);word-break:break-all;">${esc(fixCmd)}</code>`;
493
+ }
494
+ html += `</span>`;
495
+ html += `<span class="wi-rec ${recClass}">${recLabel}</span>`;
496
+ html += `<button class="wi-dismiss" title="Dismiss" onclick="(function(btn){var item=btn.closest('.warning-item');item.classList.add('dismissing');setTimeout(function(){item.remove();},300);})(this)">×</button>`;
497
+ html += `</div>`;
448
498
  }
449
499
  html += '</div>';
450
500
  return html;
@@ -487,11 +537,42 @@
487
537
  ${feedbackHtml}
488
538
  <button class="btn btn-ghost btn-big" onclick="location.reload()" style="margin-top:14px;">${T.scanAgain}</button>
489
539
  `;
540
+ } else if (data.degraded) {
541
+ div.classList.add('result-degraded');
542
+ const degradedTitle = isZh ? '⚠️ 系统运行中,但有功能异常' : '⚠️ Running, but with issues';
543
+ const degradedDesc = isZh ? '你的 OpenClaw 能启动,但部分功能不正常。' : 'Your OpenClaw is running, but some features aren\'t working correctly.';
544
+ // Show problem/fix short sentences if available
545
+ let problemFixHtml = '';
546
+ if (data.problem) {
547
+ problemFixHtml += `<div style="margin:10px 0;padding:10px 14px;background:var(--yellow-bg);border:1px solid var(--yellow-border);border-radius:8px;text-align:left;font-size:13px;">`;
548
+ problemFixHtml += `<div style="font-weight:600;margin-bottom:4px;">${isZh ? '问题' : 'Problem'}:</div><div>${esc(data.problem)}</div>`;
549
+ if (data.fix) {
550
+ problemFixHtml += `<div style="font-weight:600;margin-top:8px;margin-bottom:4px;">${isZh ? '建议' : 'Suggestion'}:</div><div>${esc(data.fix)}</div>`;
551
+ }
552
+ problemFixHtml += `</div>`;
553
+ }
554
+ div.innerHTML = `
555
+ <div class="result-icon">⚠️</div>
556
+ <div class="result-title">${degradedTitle}</div>
557
+ <div class="result-desc">${esc(data.summary || degradedDesc)}</div>
558
+ ${problemFixHtml}
559
+ ${warningsHtml}
560
+ ${feedbackHtml}
561
+ <button class="btn btn-ghost btn-big" onclick="location.reload()" style="margin-top:14px;">${T.scanAgain}</button>
562
+ `;
490
563
  } else {
564
+ // Not fixed — show problem/fix short sentences
565
+ let problemFixHtml = '';
566
+ if (data.problem) {
567
+ problemFixHtml += `<div style="margin:10px 0;padding:10px 14px;background:var(--red-bg);border:1px solid var(--red-border);border-radius:8px;text-align:left;font-size:13px;">`;
568
+ problemFixHtml += `<div style="font-weight:600;margin-bottom:4px;">${isZh ? '问题' : 'Problem'}:</div><div>${esc(data.problem)}</div>`;
569
+ problemFixHtml += `</div>`;
570
+ }
491
571
  div.innerHTML = `
492
572
  <div class="result-icon">😔</div>
493
573
  <div class="result-title">${T.notFixed}</div>
494
574
  <div class="result-desc">${esc(data.summary || T.notFixedDesc)}</div>
575
+ ${problemFixHtml}
495
576
  ${warningsHtml}
496
577
  ${feedbackHtml}
497
578
  <button class="btn btn-ghost btn-big" onclick="location.reload()" style="margin-top:14px;">${T.tryAgain}</button>
@@ -515,7 +596,8 @@
515
596
  currentStepIndex = -1;
516
597
  scanBlockAdded = false;
517
598
 
518
- eventSource = new EventSource('/api/diagnose');
599
+ const langParam = isZh ? 'zh' : 'en';
600
+ eventSource = new EventSource('/api/diagnose?lang=' + langParam);
519
601
 
520
602
  eventSource.onmessage = function(e) {
521
603
  let msg;
@@ -592,7 +674,8 @@
592
674
  case 'complete': {
593
675
  if (eventSource) { eventSource.close(); eventSource = null; }
594
676
  finishScanBlock();
595
- mp('scan_complete', { outcome: data.healthy ? 'healthy' : data.fixed ? 'fixed' : 'not_fixed', steps: currentStepIndex + 1 });
677
+ const outcome = data.healthy ? 'healthy' : data.fixed ? 'fixed' : data.degraded ? 'degraded' : 'not_fixed';
678
+ mp('scan_complete', { outcome: outcome, steps: currentStepIndex + 1 });
596
679
  showResult(data);
597
680
  break;
598
681
  }
@@ -633,10 +716,11 @@
633
716
  const isCN = price && price.isChinese;
634
717
  const credits = (price && price.credits) || 5;
635
718
 
636
- const STRIPE_URL = 'https://buy.stripe.com/8x26oJ6WrdNnd9T4hI0oM01';
719
+ const STRIPE_BASE_URL = 'https://buy.stripe.com/8x26oJ6WrdNnd9T4hI0oM01';
637
720
 
638
721
  const div = document.createElement('div');
639
722
  div.className = 'start-card';
723
+ div.id = 'paywall-card';
640
724
 
641
725
  // Emoji + headline
642
726
  let html = `
@@ -651,17 +735,25 @@
651
735
  </div>
652
736
  `;
653
737
 
654
- // Primary buy button — Stripe (works for everyone)
655
- html += `<a href="${STRIPE_URL}" target="_blank" class="btn btn-primary btn-big" style="text-decoration:none; margin-bottom:10px;">${isZh ? '💳 立即购买' : '💳 Buy Now'}</a>`;
738
+ // Primary buy button — Stripe (works for everyone). URL updated dynamically with fingerprint below.
739
+ html += `<a href="${STRIPE_BASE_URL}" target="_blank" class="btn btn-primary btn-big" id="pw-buy-btn" style="text-decoration:none; margin-bottom:10px;">${isZh ? '💳 立即购买' : '💳 Buy Now'}</a>`;
740
+
741
+ // Auto-detection notice (hidden until user clicks Buy)
742
+ html += `<div id="pw-auto-detect" style="display:none; text-align:center; padding:10px; margin-bottom:10px; background:var(--blue-bg); border:1px solid var(--blue-border); border-radius:8px; font-size:13px; color:var(--blue);">
743
+ <div class="spinner" style="display:inline-block; margin-right:8px; vertical-align:middle;"></div>
744
+ <span>${isZh ? '等待支付完成,完成后自动激活...' : 'Waiting for payment — will activate automatically...'}</span>
745
+ </div>`;
656
746
 
657
747
  // Divider
658
748
  html += `<hr style="border:none; border-top:1px solid var(--border); margin:14px 0;">`;
659
749
 
660
- // Token redemption section
750
+ // Token redemption section (collapsed by default, for users who already have a token)
661
751
  html += `
662
- <p style="font-size:13px; color:var(--text2); margin-bottom:8px;">${isZh ? '已购买?输入激活码或邮箱:' : 'Already purchased? Enter your token or email:'}</p>
663
- <input class="input-field" id="pw-token" type="text" placeholder="${isZh ? '激活码 CA-XXXX 或购买邮箱' : 'Token CA-XXXX or purchase email'}" />
664
- <button class="btn btn-ghost btn-big" id="pw-activate" style="margin-top:6px;">${isZh ? '🔑 激活' : '🔑 Activate'}</button>
752
+ <details style="margin-bottom:8px;">
753
+ <summary style="font-size:13px; color:var(--text2); cursor:pointer; margin-bottom:8px;">${isZh ? '已有激活码?点击输入' : 'Already have a token? Click here'}</summary>
754
+ <input class="input-field" id="pw-token" type="text" placeholder="${isZh ? '激活码 CA-XXXX 或购买邮箱' : 'Token CA-XXXX or purchase email'}" />
755
+ <button class="btn btn-ghost btn-big" id="pw-activate" style="margin-top:6px;">${isZh ? '🔑 激活' : '🔑 Activate'}</button>
756
+ </details>
665
757
  <div id="pw-msg" style="font-size:12px; text-align:center; margin-top:6px; min-height:16px;"></div>
666
758
  `;
667
759
 
@@ -675,6 +767,55 @@
675
767
  div.innerHTML = html;
676
768
  feed.appendChild(div);
677
769
 
770
+ // Fetch fingerprint and update buy button URL to include client_reference_id
771
+ // This lets Stripe webhook bind the token to this machine
772
+ fetch('/api/fingerprint').then(function(r) { return r.json(); }).then(function(d) {
773
+ var btn = document.getElementById('pw-buy-btn');
774
+ if (btn && d.fingerprint) {
775
+ btn.href = STRIPE_BASE_URL + '?client_reference_id=' + encodeURIComponent(d.fingerprint);
776
+ }
777
+ }).catch(function() {});
778
+
779
+ // ── Auto-detection: poll for token after user clicks Buy ──
780
+ let pollTimer = null;
781
+ let pollCount = 0;
782
+ const MAX_POLLS = 60; // 5 minutes max (every 5 seconds)
783
+
784
+ function startPolling() {
785
+ const autoDetect = document.getElementById('pw-auto-detect');
786
+ if (autoDetect) autoDetect.style.display = 'block';
787
+ pollCount = 0;
788
+
789
+ pollTimer = setInterval(async () => {
790
+ pollCount++;
791
+ if (pollCount > MAX_POLLS) {
792
+ clearInterval(pollTimer);
793
+ if (autoDetect) autoDetect.innerHTML = `<span style="color:var(--muted);">${isZh ? '自动检测超时,请手动输入激活码' : 'Auto-detect timed out. Please enter your token manually.'}</span>`;
794
+ return;
795
+ }
796
+ try {
797
+ const r = await (await fetch('/api/poll-token')).json();
798
+ // If a token was found for this fingerprint (Stripe payment completed), activate
799
+ if (r.found && r.token) {
800
+ clearInterval(pollTimer);
801
+ mp('auto_activate_success');
802
+ if (autoDetect) autoDetect.innerHTML = `<span style="color:var(--green);">✅ ${isZh ? '支付成功!自动激活中...' : 'Payment received! Activating...'}</span>`;
803
+ // Redeem the token to cache it locally
804
+ fetch('/api/redeem', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token: r.token }) }).catch(() => {});
805
+ setTimeout(() => location.reload(), 1500);
806
+ return;
807
+ }
808
+ } catch { /* silent */ }
809
+ }, 5000);
810
+ }
811
+
812
+ document.getElementById('pw-buy-btn').addEventListener('click', () => {
813
+ mp('buy_clicked');
814
+ // Start polling after a short delay (give user time to complete payment)
815
+ setTimeout(startPolling, 3000);
816
+ });
817
+
818
+ // Manual token activation
678
819
  document.getElementById('pw-activate').addEventListener('click', async () => {
679
820
  const token = document.getElementById('pw-token').value.trim();
680
821
  const msg = document.getElementById('pw-msg');
@@ -684,6 +825,7 @@
684
825
  try {
685
826
  const r = await (await fetch('/api/redeem', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token }) })).json();
686
827
  if (r.valid) {
828
+ if (pollTimer) clearInterval(pollTimer);
687
829
  mp('token_redeem_success');
688
830
  msg.style.color = 'var(--green)';
689
831
  msg.textContent = isZh ? '✅ 激活成功!重新扫描中...' : '✅ Activated! Restarting scan...';