antri_cli 1.57.32 → 1.57.34

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 (71) hide show
  1. package/README.md +26 -34
  2. package/dist/cli/promptToolkit.d.ts.map +1 -1
  3. package/dist/cli/promptToolkit.js +3 -1
  4. package/dist/cli/promptToolkit.js.map +1 -1
  5. package/dist/cli/renderer.d.ts.map +1 -1
  6. package/dist/cli/renderer.js +15 -12
  7. package/dist/cli/renderer.js.map +1 -1
  8. package/dist/cli/shortcuts.d.ts.map +1 -1
  9. package/dist/cli/shortcuts.js +73 -1
  10. package/dist/cli/shortcuts.js.map +1 -1
  11. package/dist/core/agent.d.ts +2 -0
  12. package/dist/core/agent.d.ts.map +1 -1
  13. package/dist/core/agent.js +106 -5
  14. package/dist/core/agent.js.map +1 -1
  15. package/dist/core/bugTwin.d.ts +83 -0
  16. package/dist/core/bugTwin.d.ts.map +1 -0
  17. package/dist/core/bugTwin.js +741 -0
  18. package/dist/core/bugTwin.js.map +1 -0
  19. package/dist/core/config.js +13 -13
  20. package/dist/core/config.js.map +1 -1
  21. package/dist/core/crashZero.d.ts +61 -0
  22. package/dist/core/crashZero.d.ts.map +1 -0
  23. package/dist/core/crashZero.js +493 -0
  24. package/dist/core/crashZero.js.map +1 -0
  25. package/dist/core/diffManager.d.ts +35 -0
  26. package/dist/core/diffManager.d.ts.map +1 -0
  27. package/dist/core/diffManager.js +182 -0
  28. package/dist/core/diffManager.js.map +1 -0
  29. package/dist/core/tools.d.ts.map +1 -1
  30. package/dist/core/tools.js +16 -0
  31. package/dist/core/tools.js.map +1 -1
  32. package/dist/core/updater.d.ts +1 -1
  33. package/dist/core/updater.js +1 -1
  34. package/dist/desktop/public/app.js +207 -0
  35. package/dist/desktop/public/index.html +74 -12
  36. package/dist/desktop/server.d.ts.map +1 -1
  37. package/dist/desktop/server.js +87 -2
  38. package/dist/desktop/server.js.map +1 -1
  39. package/dist/index.js +48 -5
  40. package/dist/index.js.map +1 -1
  41. package/dist/mobile/server.d.ts.map +1 -1
  42. package/dist/mobile/server.js +1 -1
  43. package/dist/mobile/server.js.map +1 -1
  44. package/dist/providers/gemini.d.ts +3 -0
  45. package/dist/providers/gemini.d.ts.map +1 -1
  46. package/dist/providers/gemini.js +163 -22
  47. package/dist/providers/gemini.js.map +1 -1
  48. package/dist/providers/index.js +2 -2
  49. package/dist/providers/index.js.map +1 -1
  50. package/dist/providers/models.d.ts.map +1 -1
  51. package/dist/providers/models.js +29 -5
  52. package/dist/providers/models.js.map +1 -1
  53. package/dist/repository/itemRepository.d.ts +13 -0
  54. package/dist/repository/itemRepository.d.ts.map +1 -0
  55. package/dist/repository/itemRepository.js +66 -0
  56. package/dist/repository/itemRepository.js.map +1 -0
  57. package/dist/routes/items.d.ts +2 -0
  58. package/dist/routes/items.d.ts.map +1 -0
  59. package/dist/routes/items.js +43 -0
  60. package/dist/routes/items.js.map +1 -0
  61. package/dist/server.d.ts +2 -0
  62. package/dist/server.d.ts.map +1 -0
  63. package/dist/server.js +26 -0
  64. package/dist/server.js.map +1 -0
  65. package/dist/types/item.d.ts +35 -0
  66. package/dist/types/item.d.ts.map +1 -0
  67. package/dist/types/item.js +2 -0
  68. package/dist/types/item.js.map +1 -0
  69. package/dist/types.d.ts +1 -1
  70. package/dist/types.d.ts.map +1 -1
  71. package/package.json +2 -1
@@ -521,6 +521,8 @@ async function clearCurrentChatContext() {
521
521
  <p>Minimalist environment for autonomous coding, architectural planning, and self-refinement. State, memory, profiles, and skills are synchronized across CLI and Desktop.</p>
522
522
  <div class="quick-action-pills">
523
523
  <button onclick="setPrompt('Plan the architecture for a real-time collaborative code editor')">Plan Editor Architecture</button>
524
+ <button onclick="setPrompt('/reproduce TypeError: Cannot read properties of undefined in calculateCartTotal')">🧬 BugTwin Reproduce</button>
525
+ <button onclick="setPrompt('/replay TypeError: Unhandled exception at src/server.ts:42:15')">⏱️ CrashZero Replay</button>
524
526
  <button onclick="setPrompt('/debate What are the trade-offs between WebSockets vs Server-Sent Events?')">Start Dialectic Debate</button>
525
527
  <button onclick="setPrompt('/goal Implement a zero-dependency LRU cache with TTL in TypeScript')">Run Goal Loop</button>
526
528
  </div>
@@ -2114,3 +2116,208 @@ function setSandboxDevice(device) {
2114
2116
  }
2115
2117
  }
2116
2118
 
2119
+ // -------------------------------------------------------------
2120
+ // ARTIFACTS HUB & INTERACTIVE STAGE ENGINE
2121
+ // -------------------------------------------------------------
2122
+
2123
+ let allArtifactsList = [];
2124
+ let activeStageArtifact = null;
2125
+ let currentArtifactTypeFilter = 'all';
2126
+ let currentArtifactSearchQuery = '';
2127
+
2128
+ async function loadArtifactsTab() {
2129
+ const container = document.getElementById('artifacts-list-container');
2130
+ if (!container) return;
2131
+ container.innerHTML = '<div class="placeholder-text" style="text-align:center;padding:30px 10px;color:var(--text-muted);font-size:13px;">Loading artifacts...</div>';
2132
+
2133
+ try {
2134
+ const res = await fetch('/api/artifacts');
2135
+ const data = await res.json();
2136
+ allArtifactsList = data.artifacts || [];
2137
+
2138
+ if (allArtifactsList.length === 0) {
2139
+ container.innerHTML = '<div class="placeholder-text" style="text-align:center;padding:40px 10px;color:var(--text-muted);font-size:13px;">No artifacts generated yet.<br><br>Use <code>/reproduce</code>, <code>/replay</code>, or <code>/view</code> in Agent Studio to generate interactive artifacts!</div>';
2140
+ return;
2141
+ }
2142
+
2143
+ renderArtifactsList();
2144
+
2145
+ // Auto-preview first artifact if none selected
2146
+ if (!activeStageArtifact && allArtifactsList.length > 0) {
2147
+ previewArtifactOnStage(allArtifactsList[0].id);
2148
+ }
2149
+ } catch (err) {
2150
+ container.innerHTML = `<div class="placeholder-text" style="color:#ef4444;text-align:center;padding:20px;">Failed to load artifacts: ${err.message}</div>`;
2151
+ }
2152
+ }
2153
+
2154
+ function renderArtifactsList() {
2155
+ const container = document.getElementById('artifacts-list-container');
2156
+ if (!container) return;
2157
+
2158
+ const filtered = allArtifactsList.filter((art) => {
2159
+ // Type filter
2160
+ if (currentArtifactTypeFilter !== 'all') {
2161
+ const artType = (art.type || '').toLowerCase();
2162
+ if (currentArtifactTypeFilter === 'bugtwin' && !artType.includes('bugtwin') && !art.id.startsWith('bugtwin_')) return false;
2163
+ if (currentArtifactTypeFilter === 'crashzero' && !artType.includes('crashzero') && !art.id.startsWith('crashzero_')) return false;
2164
+ if (currentArtifactTypeFilter === 'mindmap' && !artType.includes('mindmap') && !art.id.startsWith('mindmap_')) return false;
2165
+ if (currentArtifactTypeFilter === 'html' && (artType.includes('bugtwin') || artType.includes('crashzero') || artType.includes('mindmap'))) return false;
2166
+ }
2167
+
2168
+ // Search query filter
2169
+ if (currentArtifactSearchQuery) {
2170
+ const q = currentArtifactSearchQuery.toLowerCase();
2171
+ const matchTitle = (art.title || '').toLowerCase().includes(q);
2172
+ const matchId = (art.id || '').toLowerCase().includes(q);
2173
+ const matchSession = (art.sessionTitle || '').toLowerCase().includes(q);
2174
+ if (!matchTitle && !matchId && !matchSession) return false;
2175
+ }
2176
+
2177
+ return true;
2178
+ });
2179
+
2180
+ if (filtered.length === 0) {
2181
+ container.innerHTML = '<div class="placeholder-text" style="text-align:center;padding:30px 10px;color:var(--text-muted);font-size:12px;">No matching artifacts found.</div>';
2182
+ return;
2183
+ }
2184
+
2185
+ container.innerHTML = '';
2186
+ filtered.forEach((art) => {
2187
+ const isSelected = activeStageArtifact && activeStageArtifact.id === art.id;
2188
+ const card = document.createElement('div');
2189
+ card.className = `artifact-list-card ${isSelected ? 'active' : ''}`;
2190
+ card.style.cssText = `padding:12px;border-radius:10px;background:${isSelected ? 'var(--primary-subtle)' : 'var(--bg-subtle)'};border:1px solid ${isSelected ? 'var(--primary)' : 'var(--border-color)'};cursor:pointer;transition:all 0.15s ease;display:flex;flex-direction:column;gap:6px;`;
2191
+
2192
+ let icon = '🌐';
2193
+ let badgeColor = 'var(--text-muted)';
2194
+ let typeLabel = 'HTML App';
2195
+
2196
+ if (art.id.startsWith('bugtwin_') || (art.type || '').includes('bugtwin')) {
2197
+ icon = '🧬';
2198
+ badgeColor = '#10b981';
2199
+ typeLabel = 'BugTwin Sandbox';
2200
+ } else if (art.id.startsWith('crashzero_') || (art.type || '').includes('crashzero')) {
2201
+ icon = '⏱️';
2202
+ badgeColor = '#ef4444';
2203
+ typeLabel = 'CrashZero Replay';
2204
+ } else if (art.id.startsWith('mindmap_') || (art.type || '').includes('mindmap')) {
2205
+ icon = '🧠';
2206
+ badgeColor = '#6366f1';
2207
+ typeLabel = 'Mind Map';
2208
+ } else if (art.id.startsWith('graph_') || (art.type || '').includes('graph')) {
2209
+ icon = '🏗️';
2210
+ badgeColor = '#3b82f6';
2211
+ typeLabel = 'Architecture Graph';
2212
+ }
2213
+
2214
+ const timeStr = art.createdAt ? new Date(art.createdAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) : '';
2215
+
2216
+ card.innerHTML = `
2217
+ <div style="display:flex;align-items:center;justify-content:space-between;gap:8px;">
2218
+ <div style="display:flex;align-items:center;gap:6px;overflow:hidden;">
2219
+ <span style="font-size:16px;">${icon}</span>
2220
+ <span style="font-size:12.5px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">${art.title || art.id}</span>
2221
+ </div>
2222
+ <span style="font-size:10px;font-family:var(--font-mono);color:${badgeColor};background:rgba(255,255,255,0.05);padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,0.08);white-space:nowrap;">${typeLabel}</span>
2223
+ </div>
2224
+ <div style="display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted);">
2225
+ <span style="font-family:var(--font-mono);font-size:10px;">${art.id}</span>
2226
+ <span>${timeStr}</span>
2227
+ </div>
2228
+ `;
2229
+
2230
+ card.onclick = () => previewArtifactOnStage(art.id);
2231
+ container.appendChild(card);
2232
+ });
2233
+ }
2234
+
2235
+ function filterArtifactsList(query) {
2236
+ currentArtifactSearchQuery = (query || '').trim();
2237
+ renderArtifactsList();
2238
+ }
2239
+
2240
+ function filterArtifactsByType(type) {
2241
+ currentArtifactTypeFilter = type;
2242
+ document.querySelectorAll('.artifact-type-pills .device-btn').forEach((b) => b.classList.remove('active'));
2243
+ event?.target?.classList.add('active');
2244
+ renderArtifactsList();
2245
+ }
2246
+
2247
+ function previewArtifactOnStage(artifactId) {
2248
+ const art = allArtifactsList.find((a) => a.id === artifactId);
2249
+ if (!art) return;
2250
+
2251
+ activeStageArtifact = art;
2252
+ renderArtifactsList();
2253
+
2254
+ const titleEl = document.getElementById('stage-artifact-title');
2255
+ const metaEl = document.getElementById('stage-artifact-meta');
2256
+ const iconEl = document.getElementById('stage-artifact-icon');
2257
+ const iframe = document.getElementById('stage-artifact-iframe');
2258
+
2259
+ if (titleEl) titleEl.textContent = art.title || art.id;
2260
+
2261
+ let icon = '🌐';
2262
+ let typeLabel = 'Interactive Application';
2263
+
2264
+ if (art.id.startsWith('bugtwin_') || (art.type || '').includes('bugtwin')) {
2265
+ icon = '🧬';
2266
+ typeLabel = 'BugTwin Autonomous Verification Sandbox';
2267
+ } else if (art.id.startsWith('crashzero_') || (art.type || '').includes('crashzero')) {
2268
+ icon = '⏱️';
2269
+ typeLabel = 'CrashZero Time-Travel Scrubbable Replay';
2270
+ } else if (art.id.startsWith('mindmap_') || (art.type || '').includes('mindmap')) {
2271
+ icon = '🧠';
2272
+ typeLabel = 'Hierarchical Visual Mind Map';
2273
+ }
2274
+
2275
+ if (iconEl) iconEl.textContent = icon;
2276
+ if (metaEl) metaEl.textContent = `${typeLabel} · ID: ${art.id}`;
2277
+
2278
+ if (iframe) {
2279
+ if (art.type === 'mindmap' || (art.content || '').startsWith('mindmap')) {
2280
+ const escaped = (art.content || '').replace(/`/g, '\\`');
2281
+ iframe.srcdoc = `<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script><style>body{margin:0;background:#090d16;color:#f8fafc;display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:sans-serif;}</style></head><body><pre class="mermaid" style="width:100%;height:100%;display:flex;align-items:center;justify-content:center;">${art.content}</pre><script>mermaid.initialize({startOnLoad:true,theme:'dark'});</script></body></html>`;
2282
+ } else {
2283
+ iframe.srcdoc = art.content || '';
2284
+ }
2285
+ }
2286
+ }
2287
+
2288
+ function setStageDevice(device) {
2289
+ const iframe = document.getElementById('stage-artifact-iframe');
2290
+ document.querySelectorAll('#stage-device-toggles .device-btn').forEach((b) => b.classList.remove('active'));
2291
+ event?.target?.classList.add('active');
2292
+
2293
+ if (!iframe) return;
2294
+ if (device === 'mobile') {
2295
+ iframe.style.width = '375px';
2296
+ iframe.style.height = '667px';
2297
+ } else if (device === 'tablet') {
2298
+ iframe.style.width = '768px';
2299
+ iframe.style.height = '1024px';
2300
+ } else {
2301
+ iframe.style.width = '100%';
2302
+ iframe.style.height = '100%';
2303
+ }
2304
+ }
2305
+
2306
+ function reloadStageArtifact() {
2307
+ if (activeStageArtifact) {
2308
+ previewArtifactOnStage(activeStageArtifact.id);
2309
+ showToast('Stage refreshed');
2310
+ }
2311
+ }
2312
+
2313
+ function openActiveArtifactInNewTab() {
2314
+ if (!activeStageArtifact) return;
2315
+ const newWin = window.open('', '_blank');
2316
+ if (newWin) {
2317
+ newWin.document.open();
2318
+ newWin.document.write(activeStageArtifact.content || '');
2319
+ newWin.document.close();
2320
+ }
2321
+ }
2322
+
2323
+
@@ -31,18 +31,12 @@
31
31
  <!-- Global Controls -->
32
32
  <div class="header-controls">
33
33
  <div class="control-group">
34
- <label>Provider</label>
35
- <select id="select-provider" onchange="onProviderChange(this.value)">
36
- <option value="cerebras">Cerebras (CS-3)</option>
37
- <option value="cohere">Cohere (Command R+)</option>
38
- <option value="vortex">Vortex API</option>
39
- <option value="opencode">OpenCode</option>
40
- <option value="deepseek" selected>DeepSeek (V3/R1)</option>
41
- <option value="nvidia-nim">NVIDIA NIM</option>
42
- <option value="openai">OpenAI (GPT-4o/o1)</option>
43
- <option value="anthropic">Anthropic (Claude 3.7)</option>
44
- <option value="gemini">Google Gemini</option>
45
- <option value="ollama">Ollama (Local)</option>
34
+ <label>Engine</label>
35
+ <div class="engine-badge" style="display: flex; align-items: center; gap: 6px; padding: 6px 12px; background: rgba(59, 130, 246, 0.12); border: 1px solid rgba(59, 130, 246, 0.35); border-radius: 8px; color: #60a5fa; font-size: 12px; font-weight: 600; letter-spacing: 0.3px;">
36
+ <span>♊ Google Gemini</span>
37
+ </div>
38
+ <select id="select-provider" style="display: none;">
39
+ <option value="gemini" selected>Google Gemini</option>
46
40
  </select>
47
41
  </div>
48
42
 
@@ -144,6 +138,8 @@
144
138
  <p>Minimalist environment for autonomous coding, architectural planning, and self-refinement. State, memory, profiles, and skills are synchronized across CLI and Desktop.</p>
145
139
  <div class="quick-action-pills">
146
140
  <button onclick="setPrompt('Plan the architecture for a real-time collaborative code editor')">Plan Editor Architecture</button>
141
+ <button onclick="setPrompt('/reproduce TypeError: Cannot read properties of undefined in calculateCartTotal')">🧬 BugTwin Reproduce</button>
142
+ <button onclick="setPrompt('/replay TypeError: Unhandled exception at src/server.ts:42:15')">⏱️ CrashZero Replay</button>
147
143
  <button onclick="setPrompt('/debate What are the trade-offs between WebSockets vs Server-Sent Events?')">Start Dialectic Debate</button>
148
144
  <button onclick="setPrompt('/goal Implement a zero-dependency LRU cache with TTL in TypeScript')">Run Goal Loop</button>
149
145
  </div>
@@ -506,6 +502,72 @@
506
502
  </div>
507
503
  </section>
508
504
 
505
+ <!-- TAB 8: Artifacts Hub & Live Interactive Studio -->
506
+ <section id="tab-artifacts" class="tab-panel">
507
+ <div class="panel-header">
508
+ <div class="panel-title-group">
509
+ <h2 class="panel-title">🎨 Artifacts Hub & Interactive Studio</h2>
510
+ <p class="panel-subtitle">Browse and interact with generated BugTwin sandboxes, CrashZero time-travel replays, mind maps, and live SPA artifacts.</p>
511
+ </div>
512
+ <div style="display:flex;gap:8px;">
513
+ <button class="action-btn-secondary" onclick="loadArtifactsTab()">⟳ Refresh Artifacts</button>
514
+ <button class="action-btn" onclick="showTab('chat')">✨ Generate New Artifact</button>
515
+ </div>
516
+ </div>
517
+
518
+ <div class="artifacts-hub-layout" style="display:grid;grid-template-columns:360px 1fr;gap:20px;height:calc(100vh - 160px);">
519
+ <!-- Left: Artifacts Explorer List -->
520
+ <div class="artifacts-sidebar" style="background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;">
521
+ <!-- Filter Bar -->
522
+ <div style="padding:12px;border-bottom:1px solid var(--border-color);background:var(--bg-subtle);">
523
+ <input type="text" id="artifact-search-input" placeholder="Search artifacts..." oninput="filterArtifactsList(this.value)" style="width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-size:12px;outline:none;" />
524
+ <div class="artifact-type-pills" style="display:flex;gap:6px;margin-top:8px;overflow-x:auto;padding-bottom:2px;">
525
+ <button class="device-btn active" onclick="filterArtifactsByType('all')">All</button>
526
+ <button class="device-btn" onclick="filterArtifactsByType('bugtwin')">🧬 BugTwin</button>
527
+ <button class="device-btn" onclick="filterArtifactsByType('crashzero')">⏱️ CrashZero</button>
528
+ <button class="device-btn" onclick="filterArtifactsByType('mindmap')">🧠 Mindmap</button>
529
+ <button class="device-btn" onclick="filterArtifactsByType('html')">🌐 HTML</button>
530
+ </div>
531
+ </div>
532
+
533
+ <!-- List of Artifact Cards -->
534
+ <div id="artifacts-list-container" style="flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;">
535
+ <div class="placeholder-text" style="text-align:center;padding:30px 10px;color:var(--text-muted);font-size:13px;">Loading artifacts...</div>
536
+ </div>
537
+ </div>
538
+
539
+ <!-- Right: Live Interactive Artifact Preview Stage -->
540
+ <div class="artifacts-stage-container" style="background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;">
541
+ <!-- Top Action Header -->
542
+ <div style="padding:10px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-subtle);display:flex;align-items:center;justify-content:between;gap:12px;">
543
+ <div style="display:flex;align-items:center;gap:10px;flex:1;overflow:hidden;">
544
+ <span id="stage-artifact-icon" style="font-size:20px;">🎨</span>
545
+ <div style="overflow:hidden;">
546
+ <h3 id="stage-artifact-title" style="margin:0;font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">Select an artifact to preview</h3>
547
+ <span id="stage-artifact-meta" style="font-size:11px;color:var(--text-muted);font-family:var(--font-mono);">Interactive Sandbox Standby</span>
548
+ </div>
549
+ </div>
550
+
551
+ <!-- Device Viewport Toggles & Actions -->
552
+ <div style="display:flex;align-items:center;gap:8px;">
553
+ <div class="device-toggles" id="stage-device-toggles">
554
+ <button class="device-btn active" id="btn-device-desktop" onclick="setStageDevice('desktop')">🖥️ Desktop</button>
555
+ <button class="device-btn" id="btn-device-tablet" onclick="setStageDevice('tablet')">📱 Tablet</button>
556
+ <button class="device-btn" id="btn-device-mobile" onclick="setStageDevice('mobile')">📲 Mobile</button>
557
+ </div>
558
+ <button class="action-btn-secondary" style="padding:4px 10px;font-size:11px;" onclick="reloadStageArtifact()">⟳ Reload</button>
559
+ <button class="action-btn" style="padding:4px 12px;font-size:11px;" onclick="openActiveArtifactInNewTab()">↗ Open Full Screen</button>
560
+ </div>
561
+ </div>
562
+
563
+ <!-- Stage Iframe Viewport Container -->
564
+ <div id="stage-iframe-wrapper" style="flex:1;background:#090d16;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px;transition:all 0.25s ease;">
565
+ <iframe id="stage-artifact-iframe" allow="autoplay; clipboard-read; clipboard-write;" sandbox="allow-scripts allow-same-origin allow-popups allow-forms allow-modals" style="width:100%;height:100%;border:none;border-radius:8px;background:#ffffff;box-shadow:0 10px 30px rgba(0,0,0,0.5);transition:width 0.25s ease;"></iframe>
566
+ </div>
567
+ </div>
568
+ </div>
569
+ </section>
570
+
509
571
  <!-- TAB 9: Codebase Intelligence Radar (Desktop Exclusive) -->
510
572
  <section id="tab-codebase" class="tab-panel">
511
573
  <div class="panel-header">
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/desktop/server.ts"],"names":[],"mappings":"AAsCA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,kBAAkB,CAAiD;IAC3E,OAAO,CAAC,gBAAgB,CAAqD;;IAO7E,OAAO,CAAC,sBAAsB;IA2BjB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAqExB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUpB,SAAS;WAwrBH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBnD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/desktop/server.ts"],"names":[],"mappings":"AAsCA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAA4C;IACxD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,kBAAkB,CAAiD;IAC3E,OAAO,CAAC,gBAAgB,CAAqD;;IAO7E,OAAO,CAAC,sBAAsB;IA2BjB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAkGxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUpB,SAAS;WAuvBH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBnD"}
@@ -35,7 +35,7 @@ function getPublicDir() {
35
35
  }
36
36
  export class DesktopServer {
37
37
  server = null;
38
- port = 3456;
38
+ port = parseInt(process.env.PORT || '3456', 10);
39
39
  activeAgent;
40
40
  pendingPermissions = new Map();
41
41
  currentSseSender = null;
@@ -89,7 +89,33 @@ export class DesktopServer {
89
89
  await this.handleApi(pathname, url, req, res);
90
90
  return;
91
91
  }
92
- // 2. Static File Serving
92
+ // Pure Backend API Mode: When deployed as a backend service, return API info instead of HTML
93
+ if (pathname === '/' && (process.env.ANTRI_BACKEND_ONLY === 'true' || process.env.BACKEND_ONLY === 'true')) {
94
+ res.writeHead(200, { 'Content-Type': 'application/json' });
95
+ res.end(JSON.stringify({
96
+ status: 'online',
97
+ service: 'ANTRI Code Google Cloud Run Backend API',
98
+ version: configManager.get().version,
99
+ provider: 'gemini',
100
+ model: 'gemini-3.7-flash',
101
+ framework: '@google/genai (Google GenAI SDK)',
102
+ platform: 'Google Cloud Run',
103
+ endpoints: {
104
+ health: 'GET /api/health',
105
+ status: 'GET /api/status',
106
+ models: 'GET /api/models',
107
+ commands: 'GET /api/commands',
108
+ chatStream: 'POST /api/chat',
109
+ bugTwinReproduce: 'POST /api/bugtwin/reproduce',
110
+ crashZeroReplay: 'POST /api/crashzero/replay',
111
+ dialecticDebate: 'POST /api/debate',
112
+ goalLoop: 'POST /api/goal',
113
+ },
114
+ documentation: 'https://github.com/ashu90-prog/antri_cli',
115
+ }, null, 2));
116
+ return;
117
+ }
118
+ // 2. Static File Serving (Desktop & Web Control Plane)
93
119
  let filePath = path.join(publicDir, pathname === '/' ? 'index.html' : pathname);
94
120
  if (!fs.existsSync(filePath)) {
95
121
  filePath = path.join(publicDir, 'index.html');
@@ -142,6 +168,26 @@ export class DesktopServer {
142
168
  }
143
169
  async handleApi(pathname, url, req, res) {
144
170
  const config = configManager.get();
171
+ // GET /api/health (Google Cloud Run probe & verification endpoint)
172
+ if (pathname === '/api/health' && req.method === 'GET') {
173
+ res.writeHead(200, { 'Content-Type': 'application/json' });
174
+ res.end(JSON.stringify({
175
+ status: 'healthy',
176
+ service: 'antri_backend',
177
+ version: config.version,
178
+ provider: config.provider,
179
+ model: config.model,
180
+ googleCloud: {
181
+ platform: 'Google Cloud Run',
182
+ project: process.env.GOOGLE_CLOUD_PROJECT || process.env.GCP_PROJECT || 'antri-agentic-hackathon',
183
+ framework: '@google/genai (Google GenAI SDK)',
184
+ modelFamily: 'Gemini 3.7 / 3.5 Suite',
185
+ region: process.env.K_SERVICE ? 'cloud-run-managed' : 'local-node',
186
+ },
187
+ uptime: process.uptime(),
188
+ }));
189
+ return;
190
+ }
145
191
  // GET /api/status
146
192
  if (pathname === '/api/status' && req.method === 'GET') {
147
193
  const { AuthManager } = await import('../cloud/auth.js');
@@ -323,6 +369,13 @@ export class DesktopServer {
323
369
  res.end(fullHtml);
324
370
  return;
325
371
  }
372
+ // GET /api/commands (List all available slash commands for desktop autocomplete)
373
+ if (pathname === '/api/commands' && req.method === 'GET') {
374
+ const { PROMPT_TOOLKIT_COMMANDS } = await import('../cli/promptToolkit.js');
375
+ res.writeHead(200, { 'Content-Type': 'application/json' });
376
+ res.end(JSON.stringify({ success: true, commands: PROMPT_TOOLKIT_COMMANDS }));
377
+ return;
378
+ }
326
379
  // Read Body for POST requests
327
380
  let body = '';
328
381
  req.on('data', (chunk) => {
@@ -525,6 +578,38 @@ export class DesktopServer {
525
578
  }
526
579
  return;
527
580
  }
581
+ // POST /api/bugtwin/reproduce or POST /api/fix
582
+ if ((pathname === '/api/bugtwin/reproduce' || pathname === '/api/fix') && req.method === 'POST') {
583
+ const input = payload.input || payload.description || 'Fix workspace bugs';
584
+ const { BugTwinEngine } = await import('../core/bugTwin.js');
585
+ const engine = new BugTwinEngine(configManager.get());
586
+ try {
587
+ const result = await engine.reproduceAndFix(input);
588
+ res.writeHead(200, { 'Content-Type': 'application/json' });
589
+ res.end(JSON.stringify({ success: true, result }));
590
+ }
591
+ catch (err) {
592
+ res.writeHead(500, { 'Content-Type': 'application/json' });
593
+ res.end(JSON.stringify({ success: false, error: err.message }));
594
+ }
595
+ return;
596
+ }
597
+ // POST /api/crashzero/replay
598
+ if (pathname === '/api/crashzero/replay' && req.method === 'POST') {
599
+ const input = payload.input || payload.trace || 'TypeError: Unhandled runtime state exception';
600
+ const { CrashZeroEngine } = await import('../core/crashZero.js');
601
+ const engine = new CrashZeroEngine(configManager.get());
602
+ try {
603
+ const result = await engine.replayAndHeal(input);
604
+ res.writeHead(200, { 'Content-Type': 'application/json' });
605
+ res.end(JSON.stringify({ success: true, result }));
606
+ }
607
+ catch (err) {
608
+ res.writeHead(500, { 'Content-Type': 'application/json' });
609
+ res.end(JSON.stringify({ success: false, error: err.message }));
610
+ }
611
+ return;
612
+ }
528
613
  // POST /api/config
529
614
  if (pathname === '/api/config' && req.method === 'POST') {
530
615
  if (payload.mode)
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/desktop/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/desktop/server.ts"],"names":[],"mappings":"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"}