@luckydraw/cumulus 0.16.2 → 0.18.0

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.
@@ -574,6 +574,148 @@
574
574
  '}',
575
575
  '.cumulus-topbar-title { font-weight: 600; font-size: 15px; color: #e0e0e0; }',
576
576
  '.cumulus-topbar-right { display: flex; align-items: center; gap: 10px; }',
577
+
578
+ /* ── Panel header action buttons ── */
579
+ '.cumulus-panel-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; margin-right: 8px; }',
580
+ '.cumulus-panel-action-btn {',
581
+ ' background: none; border: 1px solid transparent; color: #777;',
582
+ ' cursor: pointer; font-size: 11px; padding: 2px 7px;',
583
+ ' border-radius: 3px; font-family: inherit; white-space: nowrap;',
584
+ '}',
585
+ '.cumulus-panel-action-btn:hover { color: #ddd; border-color: #555; }',
586
+
587
+ /* ── Overlay (covers the thread panel) ── */
588
+ '.cumulus-overlay {',
589
+ ' position: absolute; top: 0; left: 0; right: 0; bottom: 0;',
590
+ ' background: #1e1e1e; z-index: 10;',
591
+ ' display: flex; flex-direction: column;',
592
+ ' overflow: hidden;',
593
+ '}',
594
+ '.cumulus-overlay-header {',
595
+ ' display: flex; align-items: center; justify-content: space-between;',
596
+ ' padding: 0 0.85em; height: 40px;',
597
+ ' background: #2d2d2d; border-bottom: 1px solid #3a3a3a;',
598
+ ' flex-shrink: 0;',
599
+ '}',
600
+ '.cumulus-overlay-title { font-weight: 600; font-size: 14px; color: #e0e0e0; }',
601
+ '.cumulus-overlay-close {',
602
+ ' background: none; border: none; color: #666; cursor: pointer;',
603
+ ' font-size: 18px; padding: 2px 4px; line-height: 1;',
604
+ '}',
605
+ '.cumulus-overlay-close:hover { color: #e0e0e0; }',
606
+ '.cumulus-overlay-body {',
607
+ ' flex: 1; overflow-y: auto; padding: 0.75em;',
608
+ '}',
609
+ '.cumulus-overlay-footer {',
610
+ ' padding: 0.6em 0.85em; background: #2d2d2d;',
611
+ ' border-top: 1px solid #3a3a3a; flex-shrink: 0;',
612
+ '}',
613
+
614
+ /* ── Include list items ── */
615
+ '.cumulus-include-item {',
616
+ ' display: flex; align-items: center; justify-content: space-between;',
617
+ ' padding: 0.45em 0.6em; border-radius: 4px;',
618
+ ' border: 1px solid #333; margin-bottom: 0.35em;',
619
+ '}',
620
+ '.cumulus-include-item:hover { border-color: #555; }',
621
+ '.cumulus-include-path {',
622
+ ' font-family: "SF Mono", Consolas, monospace; font-size: 0.85em;',
623
+ ' color: #ccc; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;',
624
+ '}',
625
+ '.cumulus-include-scope {',
626
+ ' font-size: 0.75em; color: #888; background: #2a2a2a;',
627
+ ' border: 1px solid #3a3a3a; border-radius: 3px;',
628
+ ' padding: 1px 6px; margin-left: 8px; flex-shrink: 0;',
629
+ '}',
630
+ '.cumulus-include-remove {',
631
+ ' background: none; border: none; color: #666; cursor: pointer;',
632
+ ' font-size: 16px; padding: 0 4px; margin-left: 6px; flex-shrink: 0;',
633
+ '}',
634
+ '.cumulus-include-remove:hover { color: #ef4444; }',
635
+
636
+ /* ── Include add row ── */
637
+ '.cumulus-include-add-row {',
638
+ ' display: flex; gap: 6px; align-items: center;',
639
+ '}',
640
+ '.cumulus-include-add-input {',
641
+ ' flex: 1; background: #1e1e1e; border: 1px solid #3a3a3a;',
642
+ ' color: #e0e0e0; padding: 0.4em 0.6em; border-radius: 4px;',
643
+ ' font-family: "SF Mono", Consolas, monospace; font-size: 0.85em;',
644
+ ' outline: none;',
645
+ '}',
646
+ '.cumulus-include-add-input:focus { border-color: #0066cc; }',
647
+ '.cumulus-include-add-input::placeholder { color: #555; }',
648
+ '.cumulus-scope-toggle {',
649
+ ' background: #2a2a2a; border: 1px solid #3a3a3a; color: #aaa;',
650
+ ' padding: 0.35em 0.6em; border-radius: 4px; cursor: pointer;',
651
+ ' font-size: 0.8em; white-space: nowrap;',
652
+ '}',
653
+ '.cumulus-scope-toggle:hover { border-color: #555; color: #ddd; }',
654
+ '.cumulus-include-add-btn {',
655
+ ' background: #0066cc; border: none; color: white;',
656
+ ' padding: 0.4em 0.8em; border-radius: 4px; cursor: pointer;',
657
+ ' font-size: 0.85em; white-space: nowrap;',
658
+ '}',
659
+ '.cumulus-include-add-btn:hover { background: #0077ee; }',
660
+
661
+ /* ── Revert turn items ── */
662
+ '.cumulus-revert-item {',
663
+ ' display: flex; align-items: center; gap: 0.6em;',
664
+ ' padding: 0.55em 0.6em; border-radius: 4px;',
665
+ ' border: 1px solid #333; margin-bottom: 0.35em; cursor: pointer;',
666
+ '}',
667
+ '.cumulus-revert-item:hover { border-color: #555; background: #252525; }',
668
+ '.cumulus-revert-turn-num {',
669
+ ' font-size: 0.8em; color: #888; background: #2a2a2a;',
670
+ ' border: 1px solid #3a3a3a; border-radius: 3px;',
671
+ ' padding: 1px 6px; flex-shrink: 0; min-width: 3em; text-align: center;',
672
+ '}',
673
+ '.cumulus-revert-preview {',
674
+ ' flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;',
675
+ ' color: #ccc; font-size: 0.9em;',
676
+ '}',
677
+ '.cumulus-revert-time {',
678
+ ' font-size: 0.75em; color: #666; flex-shrink: 0;',
679
+ '}',
680
+ '.cumulus-revert-git-badge {',
681
+ ' font-size: 0.7em; color: #22c55e; background: rgba(34,197,94,0.1);',
682
+ ' border: 1px solid rgba(34,197,94,0.3); border-radius: 3px;',
683
+ ' padding: 0 5px; flex-shrink: 0;',
684
+ '}',
685
+
686
+ /* ── Revert confirm panel ── */
687
+ '.cumulus-revert-confirm {',
688
+ ' padding: 1.5em; display: flex; flex-direction: column;',
689
+ ' align-items: center; gap: 1em; text-align: center;',
690
+ '}',
691
+ '.cumulus-revert-confirm-text { color: #ccc; font-size: 0.95em; }',
692
+ '.cumulus-revert-confirm-warn { color: #f59e0b; font-size: 0.85em; }',
693
+ '.cumulus-revert-confirm-actions { display: flex; gap: 8px; }',
694
+ '.cumulus-revert-confirm-btn {',
695
+ ' padding: 0.4em 1.2em; border-radius: 4px; cursor: pointer;',
696
+ ' font-size: 0.9em; border: 1px solid #3a3a3a;',
697
+ '}',
698
+ '.cumulus-revert-confirm-btn.danger {',
699
+ ' background: #8b2222; border-color: #a33; color: white;',
700
+ '}',
701
+ '.cumulus-revert-confirm-btn.danger:hover { background: #a33; }',
702
+ '.cumulus-revert-confirm-btn.cancel {',
703
+ ' background: #2a2a2a; color: #ccc;',
704
+ '}',
705
+ '.cumulus-revert-confirm-btn.cancel:hover { background: #3a3a3a; }',
706
+
707
+ /* ── Status message ── */
708
+ '.cumulus-overlay-status {',
709
+ ' padding: 0.4em 0.6em; font-size: 0.85em; border-radius: 4px;',
710
+ ' margin-top: 0.5em; text-align: center;',
711
+ '}',
712
+ '.cumulus-overlay-status.success { color: #22c55e; background: rgba(34,197,94,0.1); }',
713
+ '.cumulus-overlay-status.error { color: #ef4444; background: rgba(239,68,68,0.1); }',
714
+
715
+ /* ── Empty overlay state ── */
716
+ '.cumulus-overlay-empty {',
717
+ ' color: #555; font-size: 0.9em; text-align: center; padding: 2em;',
718
+ '}',
577
719
  ].join('\n');
578
720
 
579
721
  // ─── HTML Escaping ───────────────────────────────────────────────────────────
@@ -1774,6 +1916,7 @@
1774
1916
 
1775
1917
  var panel = document.createElement('div');
1776
1918
  panel.className = 'cumulus-thread-panel';
1919
+ panel.style.position = 'relative'; // for overlay positioning
1777
1920
  panel.setAttribute('data-testid', 'webchat-panel-' + threadName);
1778
1921
  panel.setAttribute('data-thread-panel', threadName);
1779
1922
 
@@ -1797,6 +1940,32 @@
1797
1940
 
1798
1941
  panelHeader.appendChild(titleLeft);
1799
1942
 
1943
+ // Action buttons (include + revert)
1944
+ var actions = document.createElement('div');
1945
+ actions.className = 'cumulus-panel-actions';
1946
+
1947
+ var includeBtn = document.createElement('button');
1948
+ includeBtn.className = 'cumulus-panel-action-btn';
1949
+ includeBtn.setAttribute('data-testid', 'webchat-include-btn');
1950
+ includeBtn.setAttribute('title', 'Manage always-include files');
1951
+ includeBtn.textContent = '/include';
1952
+ includeBtn.addEventListener('click', function () {
1953
+ openIncludeOverlay(panel, threadName);
1954
+ });
1955
+ actions.appendChild(includeBtn);
1956
+
1957
+ var revertBtn = document.createElement('button');
1958
+ revertBtn.className = 'cumulus-panel-action-btn';
1959
+ revertBtn.setAttribute('data-testid', 'webchat-revert-btn');
1960
+ revertBtn.setAttribute('title', 'Revert conversation to earlier point');
1961
+ revertBtn.textContent = '/revert';
1962
+ revertBtn.addEventListener('click', function () {
1963
+ openRevertOverlay(panel, threadName);
1964
+ });
1965
+ actions.appendChild(revertBtn);
1966
+
1967
+ panelHeader.appendChild(actions);
1968
+
1800
1969
  var closeBtn = document.createElement('button');
1801
1970
  closeBtn.className = 'cumulus-thread-panel-close';
1802
1971
  closeBtn.setAttribute('data-testid', 'webchat-panel-close');
@@ -2142,6 +2311,272 @@
2142
2311
  }
2143
2312
  }
2144
2313
 
2314
+ // ── Include overlay ──
2315
+ function openIncludeOverlay(panel, threadName) {
2316
+ // Remove existing overlay if any
2317
+ var existing = panel.querySelector('.cumulus-overlay');
2318
+ if (existing) { existing.remove(); return; }
2319
+
2320
+ var overlay = document.createElement('div');
2321
+ overlay.className = 'cumulus-overlay';
2322
+
2323
+ var header = document.createElement('div');
2324
+ header.className = 'cumulus-overlay-header';
2325
+ var title = document.createElement('span');
2326
+ title.className = 'cumulus-overlay-title';
2327
+ title.textContent = 'Always-Include Files';
2328
+ header.appendChild(title);
2329
+ var closeBtn = document.createElement('button');
2330
+ closeBtn.className = 'cumulus-overlay-close';
2331
+ closeBtn.textContent = '\xD7';
2332
+ closeBtn.addEventListener('click', function () { overlay.remove(); });
2333
+ header.appendChild(closeBtn);
2334
+ overlay.appendChild(header);
2335
+
2336
+ var body = document.createElement('div');
2337
+ body.className = 'cumulus-overlay-body';
2338
+ body.innerHTML = '<div class="cumulus-overlay-empty">Loading\u2026</div>';
2339
+ overlay.appendChild(body);
2340
+
2341
+ // Footer with add input
2342
+ var footer = document.createElement('div');
2343
+ footer.className = 'cumulus-overlay-footer';
2344
+ var addRow = document.createElement('div');
2345
+ addRow.className = 'cumulus-include-add-row';
2346
+
2347
+ var addInput = document.createElement('input');
2348
+ addInput.className = 'cumulus-include-add-input';
2349
+ addInput.setAttribute('placeholder', '/path/to/file');
2350
+ addInput.setAttribute('data-testid', 'webchat-include-add-input');
2351
+
2352
+ var currentScope = 'thread';
2353
+ var scopeBtn = document.createElement('button');
2354
+ scopeBtn.className = 'cumulus-scope-toggle';
2355
+ scopeBtn.textContent = 'thread';
2356
+ scopeBtn.setAttribute('data-testid', 'webchat-include-scope-toggle');
2357
+ scopeBtn.addEventListener('click', function () {
2358
+ currentScope = currentScope === 'thread' ? 'global' : 'thread';
2359
+ scopeBtn.textContent = currentScope;
2360
+ });
2361
+
2362
+ var addBtn = document.createElement('button');
2363
+ addBtn.className = 'cumulus-include-add-btn';
2364
+ addBtn.textContent = 'Add';
2365
+ addBtn.setAttribute('data-testid', 'webchat-include-add-btn');
2366
+ addBtn.addEventListener('click', function () {
2367
+ var filePath = addInput.value.trim();
2368
+ if (!filePath) return;
2369
+ connection && connection.send(JSON.stringify({
2370
+ type: 'include_add', threadName: threadName,
2371
+ filePath: filePath, scope: currentScope,
2372
+ }));
2373
+ addInput.value = '';
2374
+ });
2375
+
2376
+ addInput.addEventListener('keydown', function (e) {
2377
+ if (e.key === 'Enter') { addBtn.click(); }
2378
+ });
2379
+
2380
+ addRow.appendChild(addInput);
2381
+ addRow.appendChild(scopeBtn);
2382
+ addRow.appendChild(addBtn);
2383
+ footer.appendChild(addRow);
2384
+ overlay.appendChild(footer);
2385
+
2386
+ // Store references for the message handler to update
2387
+ overlay._includeBody = body;
2388
+ overlay._threadName = threadName;
2389
+
2390
+ panel.appendChild(overlay);
2391
+
2392
+ // Request the list
2393
+ connection && connection.send(JSON.stringify({ type: 'include_list', threadName: threadName }));
2394
+ }
2395
+
2396
+ function renderIncludeList(panel, threadName, files) {
2397
+ var overlay = panel.querySelector('.cumulus-overlay');
2398
+ if (!overlay || overlay._threadName !== threadName) return;
2399
+ var body = overlay._includeBody;
2400
+ if (!body) return;
2401
+
2402
+ body.innerHTML = '';
2403
+ if (files.length === 0) {
2404
+ body.innerHTML = '<div class="cumulus-overlay-empty">No always-include files configured.</div>';
2405
+ return;
2406
+ }
2407
+
2408
+ files.forEach(function (f) {
2409
+ var item = document.createElement('div');
2410
+ item.className = 'cumulus-include-item';
2411
+
2412
+ var pathEl = document.createElement('span');
2413
+ pathEl.className = 'cumulus-include-path';
2414
+ pathEl.textContent = f.path;
2415
+ pathEl.setAttribute('title', f.path);
2416
+ item.appendChild(pathEl);
2417
+
2418
+ var scopeEl = document.createElement('span');
2419
+ scopeEl.className = 'cumulus-include-scope';
2420
+ scopeEl.textContent = f.scope;
2421
+ item.appendChild(scopeEl);
2422
+
2423
+ var removeBtn = document.createElement('button');
2424
+ removeBtn.className = 'cumulus-include-remove';
2425
+ removeBtn.textContent = '\xD7';
2426
+ removeBtn.setAttribute('title', 'Remove');
2427
+ removeBtn.addEventListener('click', function () {
2428
+ connection && connection.send(JSON.stringify({
2429
+ type: 'include_remove', threadName: threadName, filePath: f.path,
2430
+ }));
2431
+ });
2432
+ item.appendChild(removeBtn);
2433
+
2434
+ body.appendChild(item);
2435
+ });
2436
+ }
2437
+
2438
+ // ── Revert overlay ──
2439
+ function openRevertOverlay(panel, threadName) {
2440
+ var existing = panel.querySelector('.cumulus-overlay');
2441
+ if (existing) { existing.remove(); return; }
2442
+
2443
+ var overlay = document.createElement('div');
2444
+ overlay.className = 'cumulus-overlay';
2445
+
2446
+ var header = document.createElement('div');
2447
+ header.className = 'cumulus-overlay-header';
2448
+ var title = document.createElement('span');
2449
+ title.className = 'cumulus-overlay-title';
2450
+ title.textContent = 'Revert Conversation';
2451
+ header.appendChild(title);
2452
+ var closeBtn = document.createElement('button');
2453
+ closeBtn.className = 'cumulus-overlay-close';
2454
+ closeBtn.textContent = '\xD7';
2455
+ closeBtn.addEventListener('click', function () { overlay.remove(); });
2456
+ header.appendChild(closeBtn);
2457
+ overlay.appendChild(header);
2458
+
2459
+ var body = document.createElement('div');
2460
+ body.className = 'cumulus-overlay-body';
2461
+ body.innerHTML = '<div class="cumulus-overlay-empty">Loading\u2026</div>';
2462
+ overlay.appendChild(body);
2463
+
2464
+ overlay._revertBody = body;
2465
+ overlay._threadName = threadName;
2466
+
2467
+ panel.appendChild(overlay);
2468
+
2469
+ // Request the turn list
2470
+ connection && connection.send(JSON.stringify({ type: 'revert_list', threadName: threadName }));
2471
+ }
2472
+
2473
+ function renderRevertList(panel, threadName, turns) {
2474
+ var overlay = panel.querySelector('.cumulus-overlay');
2475
+ if (!overlay || overlay._threadName !== threadName) return;
2476
+ var body = overlay._revertBody;
2477
+ if (!body) return;
2478
+
2479
+ body.innerHTML = '';
2480
+ if (turns.length === 0) {
2481
+ body.innerHTML = '<div class="cumulus-overlay-empty">No turns to revert to.</div>';
2482
+ return;
2483
+ }
2484
+
2485
+ // Skip the first turn (most recent) — nothing to revert to
2486
+ var revertableTurns = turns.length > 1 ? turns.slice(1) : turns;
2487
+
2488
+ revertableTurns.forEach(function (turn) {
2489
+ var item = document.createElement('div');
2490
+ item.className = 'cumulus-revert-item';
2491
+ item.setAttribute('data-testid', 'webchat-revert-turn');
2492
+
2493
+ var numEl = document.createElement('span');
2494
+ numEl.className = 'cumulus-revert-turn-num';
2495
+ numEl.textContent = '#' + turn.index;
2496
+ item.appendChild(numEl);
2497
+
2498
+ var previewEl = document.createElement('span');
2499
+ previewEl.className = 'cumulus-revert-preview';
2500
+ previewEl.textContent = turn.preview;
2501
+ item.appendChild(previewEl);
2502
+
2503
+ if (turn.hasGitSnapshot) {
2504
+ var gitBadge = document.createElement('span');
2505
+ gitBadge.className = 'cumulus-revert-git-badge';
2506
+ gitBadge.textContent = 'git';
2507
+ item.appendChild(gitBadge);
2508
+ }
2509
+
2510
+ var timeEl = document.createElement('span');
2511
+ timeEl.className = 'cumulus-revert-time';
2512
+ timeEl.textContent = formatTime(turn.timestamp);
2513
+ item.appendChild(timeEl);
2514
+
2515
+ item.addEventListener('click', function () {
2516
+ showRevertConfirm(overlay, threadName, turn);
2517
+ });
2518
+
2519
+ body.appendChild(item);
2520
+ });
2521
+ }
2522
+
2523
+ function showRevertConfirm(overlay, threadName, turn) {
2524
+ var body = overlay._revertBody;
2525
+ if (!body) return;
2526
+
2527
+ body.innerHTML = '';
2528
+ var confirm = document.createElement('div');
2529
+ confirm.className = 'cumulus-revert-confirm';
2530
+
2531
+ var text = document.createElement('div');
2532
+ text.className = 'cumulus-revert-confirm-text';
2533
+ text.textContent = 'Revert to after turn #' + turn.index + '?';
2534
+ confirm.appendChild(text);
2535
+
2536
+ var warn = document.createElement('div');
2537
+ warn.className = 'cumulus-revert-confirm-warn';
2538
+ warn.textContent = turn.messageCount + ' message(s) will be removed. This cannot be undone.';
2539
+ confirm.appendChild(warn);
2540
+
2541
+ var actions = document.createElement('div');
2542
+ actions.className = 'cumulus-revert-confirm-actions';
2543
+
2544
+ var cancelBtn = document.createElement('button');
2545
+ cancelBtn.className = 'cumulus-revert-confirm-btn cancel';
2546
+ cancelBtn.textContent = 'Cancel';
2547
+ cancelBtn.addEventListener('click', function () {
2548
+ // Re-request list
2549
+ connection && connection.send(JSON.stringify({ type: 'revert_list', threadName: threadName }));
2550
+ });
2551
+ actions.appendChild(cancelBtn);
2552
+
2553
+ var revertBtn = document.createElement('button');
2554
+ revertBtn.className = 'cumulus-revert-confirm-btn danger';
2555
+ revertBtn.setAttribute('data-testid', 'webchat-revert-confirm');
2556
+ revertBtn.textContent = 'Revert';
2557
+ revertBtn.addEventListener('click', function () {
2558
+ revertBtn.disabled = true;
2559
+ revertBtn.textContent = 'Reverting\u2026';
2560
+ connection && connection.send(JSON.stringify({
2561
+ type: 'revert_execute', threadName: threadName,
2562
+ targetMessageId: turn.userMessageId,
2563
+ }));
2564
+ });
2565
+ actions.appendChild(revertBtn);
2566
+
2567
+ confirm.appendChild(actions);
2568
+ body.appendChild(confirm);
2569
+ }
2570
+
2571
+ function formatTime(ts) {
2572
+ var d = new Date(typeof ts === 'number' ? ts : Date.parse(ts));
2573
+ var h = d.getHours();
2574
+ var m = d.getMinutes();
2575
+ var ampm = h >= 12 ? 'PM' : 'AM';
2576
+ h = h % 12 || 12;
2577
+ return h + ':' + (m < 10 ? '0' : '') + m + ' ' + ampm;
2578
+ }
2579
+
2145
2580
  // ── Message router ──
2146
2581
  function handleServerMessage(data) {
2147
2582
  switch (data.type) {
@@ -2187,7 +2622,7 @@
2187
2622
  var state = getThreadState(data.threadName);
2188
2623
  if (data.messages && data.messages.length > 0) {
2189
2624
  state.messages = data.messages.map(function (m) {
2190
- return { role: m.role, content: m.content };
2625
+ return { id: m.id, role: m.role, content: m.content };
2191
2626
  });
2192
2627
  }
2193
2628
  refreshThreadPanel(data.threadName);
@@ -2249,6 +2684,52 @@
2249
2684
  refreshThreadPanel(data.threadName);
2250
2685
  }
2251
2686
  break;
2687
+
2688
+ // ── Include/Revert responses ──
2689
+ case 'include_list':
2690
+ if (data.threadName && data.files) {
2691
+ var panel = document.querySelector('[data-thread-panel="' + data.threadName + '"]');
2692
+ if (panel) renderIncludeList(panel, data.threadName, data.files);
2693
+ }
2694
+ break;
2695
+
2696
+ case 'include_added':
2697
+ case 'include_removed':
2698
+ // List already updated by the handler — no extra action needed
2699
+ break;
2700
+
2701
+ case 'revert_list':
2702
+ if (data.threadName && data.turns) {
2703
+ var panel = document.querySelector('[data-thread-panel="' + data.threadName + '"]');
2704
+ if (panel) renderRevertList(panel, data.threadName, data.turns);
2705
+ }
2706
+ break;
2707
+
2708
+ case 'revert_done':
2709
+ if (data.threadName) {
2710
+ var panel = document.querySelector('[data-thread-panel="' + data.threadName + '"]');
2711
+ if (panel) {
2712
+ var overlay = panel.querySelector('.cumulus-overlay');
2713
+ if (data.success) {
2714
+ // Reload history and close overlay
2715
+ var tState = getThreadState(data.threadName);
2716
+ tState.messages = [];
2717
+ tState.historyLoaded = false;
2718
+ // Re-request history
2719
+ connection && connection.send(JSON.stringify({
2720
+ type: 'history', threadName: data.threadName, limit: 200,
2721
+ }));
2722
+ if (overlay) overlay.remove();
2723
+ } else {
2724
+ // Show error in overlay
2725
+ if (overlay && overlay._revertBody) {
2726
+ overlay._revertBody.innerHTML = '<div class="cumulus-overlay-status error">' +
2727
+ escapeHtml(data.error || 'Revert failed') + '</div>';
2728
+ }
2729
+ }
2730
+ }
2731
+ }
2732
+ break;
2252
2733
  }
2253
2734
  }
2254
2735
 
package/dist/index.d.ts CHANGED
@@ -16,6 +16,8 @@ export { retrieve, RETRIEVAL_BUDGET_FRACTION } from './lib/retriever.js';
16
16
  export type { RetrievalResult, RetrieverOptions } from './lib/retriever.js';
17
17
  export { buildSegments, catchUpSegmentation, detectBoundary, findSegmentForMessage, getSegmentsPath, loadSegmentBoundaries, saveSegmentBoundaries, } from './lib/segments.js';
18
18
  export type { Segment, SegmentBoundary } from './lib/segments.js';
19
+ export { generatePendingSummaries, searchSummaries, loadSummaries as loadSegmentSummaries, saveSummaries as saveSegmentSummaries, getSummariesPath, findUnsummarizedSegments, buildSummarizationPrompt, parseSummaryResponse, } from './lib/summaries.js';
20
+ export type { SegmentSummary, ScoredSummaryResult } from './lib/summaries.js';
19
21
  export { classifyQuery, getRetrievalWeights } from './lib/query-classifier.js';
20
22
  export type { QueryType, RetrievalWeights } from './lib/query-classifier.js';
21
23
  export { StreamProcessor, shouldExternalizeUserInput, externalizeUserInput, } from './lib/stream-processor.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGjF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7E,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGzF,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGnE,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACtF,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAQ5F,qFAAqF;AACrF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,6 +18,8 @@ export { SessionManager } from './lib/session.js';
18
18
  export { retrieve, RETRIEVAL_BUDGET_FRACTION } from './lib/retriever.js';
19
19
  // Segments
20
20
  export { buildSegments, catchUpSegmentation, detectBoundary, findSegmentForMessage, getSegmentsPath, loadSegmentBoundaries, saveSegmentBoundaries, } from './lib/segments.js';
21
+ // Segment Summaries
22
+ export { generatePendingSummaries, searchSummaries, loadSummaries as loadSegmentSummaries, saveSummaries as saveSegmentSummaries, getSummariesPath, findUnsummarizedSegments, buildSummarizationPrompt, parseSummaryResponse, } from './lib/summaries.js';
21
23
  // Query Classifier
22
24
  export { classifyQuery, getRetrievalWeights } from './lib/query-classifier.js';
23
25
  // Stream Processor
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface RetrievalResult {
13
13
  historyCount: number;
14
14
  /** Number of content items included */
15
15
  contentCount: number;
16
+ /** Number of segment summaries included */
17
+ summaryCount: number;
16
18
  /** Total tokens used by retrieved context */
17
19
  tokensUsed: number;
18
20
  /** Debug info about what was retrieved */
@@ -33,6 +35,13 @@ export interface RetrievalResult {
33
35
  score: number;
34
36
  snippet: string;
35
37
  }>;
38
+ summaryResults: Array<{
39
+ segmentStart: number;
40
+ segmentEnd: number;
41
+ score: number;
42
+ topics: string[];
43
+ }>;
44
+ queryType?: string;
36
45
  };
37
46
  }
38
47
  export interface RetrieverOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/lib/retriever.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAUvE,OAAO,EAAE,YAAY,EAA4B,MAAM,cAAc,CAAC;AAmEtE,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,MAAM,CAAC;AA0D7C,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,KAAK,EAAE;QACL,cAAc,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,cAAc,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtE,cAAc,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9E,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAo1BD;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAgG1B"}
1
+ {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/lib/retriever.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAUvE,OAAO,EAAE,YAAY,EAA4B,MAAM,cAAc,CAAC;AAoEtE,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,MAAM,CAAC;AA0D7C,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,KAAK,EAAE;QACL,cAAc,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,cAAc,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtE,cAAc,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC7E,cAAc,EAAE,KAAK,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QACrG,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAk3BD;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAwH1B"}