clawaid 1.1.27 → 1.1.28
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/server.js +1 -1
- package/package.json +1 -1
- package/web/index.html +22 -6
package/dist/server.js
CHANGED
|
@@ -336,7 +336,7 @@ app.get('/api/fingerprint', (_req, res) => {
|
|
|
336
336
|
res.json({ fingerprint: require('./diagnose').getMachineFingerprint() });
|
|
337
337
|
});
|
|
338
338
|
app.get('/api/health', (_req, res) => {
|
|
339
|
-
res.json({ ok: true, version: '1.1.
|
|
339
|
+
res.json({ ok: true, version: '1.1.28', name: 'ClawAid', sessions: activeSessions.size });
|
|
340
340
|
});
|
|
341
341
|
function createServer(port) {
|
|
342
342
|
return new Promise((resolve) => {
|
package/package.json
CHANGED
package/web/index.html
CHANGED
|
@@ -604,7 +604,7 @@
|
|
|
604
604
|
<!-- Steps feed -->
|
|
605
605
|
<div id="feed" class="hidden"></div>
|
|
606
606
|
|
|
607
|
-
<div class="footer">ClawAid v1.1.
|
|
607
|
+
<div class="footer">ClawAid v1.1.28</div>
|
|
608
608
|
|
|
609
609
|
</div>
|
|
610
610
|
|
|
@@ -1285,6 +1285,11 @@
|
|
|
1285
1285
|
var diagnosisHtml = '';
|
|
1286
1286
|
var pendingFix = data.pendingFix;
|
|
1287
1287
|
if (pendingFix && pendingFix.description) {
|
|
1288
|
+
var cmdHtml = '';
|
|
1289
|
+
if (pendingFix.command) {
|
|
1290
|
+
cmdHtml = '<div style="margin-top:8px;padding:8px 10px;background:var(--surface-alt);border-radius:6px;font-family:var(--mono);font-size:11px;color:var(--text-secondary);word-break:break-all;">'
|
|
1291
|
+
+ '🔧 ' + (isZh ? '修复方案:' : 'Fix: ') + '<code>' + esc(pendingFix.command) + '</code></div>';
|
|
1292
|
+
}
|
|
1288
1293
|
diagnosisHtml = '<div style="background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:12px;">'
|
|
1289
1294
|
+ '<div style="font-weight:700;font-size:14px;margin-bottom:8px;">'
|
|
1290
1295
|
+ (isZh ? '🔍 已找到问题:' : '🔍 Issue found:')
|
|
@@ -1292,7 +1297,9 @@
|
|
|
1292
1297
|
+ '<div style="display:flex;align-items:flex-start;gap:8px;">'
|
|
1293
1298
|
+ '<span style="flex-shrink:0;">⚠️</span>'
|
|
1294
1299
|
+ '<div style="font-size:13px;">' + esc(pendingFix.description) + '</div>'
|
|
1295
|
-
+ '</div
|
|
1300
|
+
+ '</div>'
|
|
1301
|
+
+ cmdHtml
|
|
1302
|
+
+ '</div>';
|
|
1296
1303
|
}
|
|
1297
1304
|
|
|
1298
1305
|
// Also show rule findings if available
|
|
@@ -1339,8 +1346,8 @@
|
|
|
1339
1346
|
div.className = 'card pw-card';
|
|
1340
1347
|
div.innerHTML = '<div class="pw-hd">'
|
|
1341
1348
|
+ '<span class="pw-emoji">🩺</span>'
|
|
1342
|
-
+ '<div class="pw-title">' + (isZh ? '
|
|
1343
|
-
+ '<div class="pw-sub">' + (isZh ? '
|
|
1349
|
+
+ '<div class="pw-title">' + (isZh ? '🎯 问题已定位,修复方案已就绪' : '🎯 Issue identified, fix ready') + '</div>'
|
|
1350
|
+
+ '<div class="pw-sub">' + (isZh ? '付费解锁 → AI 自动执行修复 → 30秒搞定(自己排查可能要 1-2 小时)' : 'Pay to unlock → AI auto-fixes → 30s done (vs 1-2 hours manual debugging)') + '</div>'
|
|
1344
1351
|
+ '</div>'
|
|
1345
1352
|
+ diagnosisHtml
|
|
1346
1353
|
+ buyBtnHtml
|
|
@@ -1361,13 +1368,22 @@
|
|
|
1361
1368
|
|
|
1362
1369
|
// Fetch fingerprint for buy URL (Stripe) or xunhupay order creation
|
|
1363
1370
|
var _pwFingerprint = '';
|
|
1371
|
+
var _fpReady = false;
|
|
1372
|
+
// Disable buy button until fingerprint is loaded
|
|
1373
|
+
var _buyBtn = document.getElementById('pw-buy');
|
|
1374
|
+
if (_buyBtn && !isCN) { _buyBtn.style.opacity = '0.5'; _buyBtn.style.pointerEvents = 'none'; }
|
|
1364
1375
|
fetch('/api/fingerprint').then(function(r){return r.json();}).then(function(d) {
|
|
1365
1376
|
_pwFingerprint = d.fingerprint || '';
|
|
1377
|
+
_fpReady = true;
|
|
1366
1378
|
if (!isCN) {
|
|
1367
1379
|
var btn = document.getElementById('pw-buy');
|
|
1368
|
-
if (btn && d.fingerprint)
|
|
1380
|
+
if (btn && d.fingerprint) {
|
|
1381
|
+
btn.href = STRIPE_URL + '?client_reference_id=' + encodeURIComponent(d.fingerprint);
|
|
1382
|
+
btn.style.opacity = '1';
|
|
1383
|
+
btn.style.pointerEvents = 'auto';
|
|
1384
|
+
}
|
|
1369
1385
|
}
|
|
1370
|
-
}).catch(function(){});
|
|
1386
|
+
}).catch(function(){ _fpReady = true; });
|
|
1371
1387
|
|
|
1372
1388
|
// Auto-poll after buy (works for both Stripe and Xunhupay)
|
|
1373
1389
|
var pollTimer = null, pollCount = 0, MAX_POLLS = 120;
|