@qduc/term2 0.36.0 → 0.38.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.
Files changed (183) hide show
  1. package/README.md +4 -0
  2. package/dist/agent.d.ts +1 -1
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +30 -64
  5. package/dist/agent.js.map +1 -1
  6. package/dist/build-info.json +3 -3
  7. package/dist/cli.js +25 -17
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/guarded-settings-command.d.ts +1 -1
  10. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  11. package/dist/commands/guarded-settings-command.js +13 -10
  12. package/dist/commands/guarded-settings-command.js.map +1 -1
  13. package/dist/commands/mode-commands.d.ts +4 -3
  14. package/dist/commands/mode-commands.d.ts.map +1 -1
  15. package/dist/commands/mode-commands.js +15 -13
  16. package/dist/commands/mode-commands.js.map +1 -1
  17. package/dist/components/layout/Banner.d.ts.map +1 -1
  18. package/dist/components/layout/Banner.js +5 -8
  19. package/dist/components/layout/Banner.js.map +1 -1
  20. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  21. package/dist/components/layout/StatusBar.js +3 -9
  22. package/dist/components/layout/StatusBar.js.map +1 -1
  23. package/dist/components/message/command-message-helpers.d.ts +5 -5
  24. package/dist/contracts/provider-input.d.ts +2 -0
  25. package/dist/contracts/provider-input.d.ts.map +1 -1
  26. package/dist/contracts/provider-input.js.map +1 -1
  27. package/dist/gateway/gateway.d.ts.map +1 -1
  28. package/dist/gateway/gateway.js +6 -3
  29. package/dist/gateway/gateway.js.map +1 -1
  30. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  31. package/dist/hooks/use-app-commands.js +5 -3
  32. package/dist/hooks/use-app-commands.js.map +1 -1
  33. package/dist/hooks/use-profile-selection.d.ts +2 -2
  34. package/dist/hooks/use-profile-selection.d.ts.map +1 -1
  35. package/dist/hooks/use-profile-selection.js +1 -2
  36. package/dist/hooks/use-profile-selection.js.map +1 -1
  37. package/dist/lib/agent-chat-service.d.ts +10 -0
  38. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  39. package/dist/lib/agent-chat-service.js +39 -0
  40. package/dist/lib/agent-chat-service.js.map +1 -1
  41. package/dist/lib/agent-client.d.ts +7 -0
  42. package/dist/lib/agent-client.d.ts.map +1 -1
  43. package/dist/lib/agent-client.js +76 -18
  44. package/dist/lib/agent-client.js.map +1 -1
  45. package/dist/lib/agent-factory.d.ts.map +1 -1
  46. package/dist/lib/agent-factory.js +20 -51
  47. package/dist/lib/agent-factory.js.map +1 -1
  48. package/dist/non-interactive.d.ts +3 -0
  49. package/dist/non-interactive.d.ts.map +1 -1
  50. package/dist/non-interactive.js +23 -1
  51. package/dist/non-interactive.js.map +1 -1
  52. package/dist/prompts/bare.md +3 -1
  53. package/dist/prompts/context-compaction.d.ts +3 -1
  54. package/dist/prompts/context-compaction.d.ts.map +1 -1
  55. package/dist/prompts/context-compaction.js +9 -1
  56. package/dist/prompts/context-compaction.js.map +1 -1
  57. package/dist/prompts/context-compaction.ts +13 -2
  58. package/dist/prompts/prompt-constructor.d.ts +2 -1
  59. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  60. package/dist/prompts/prompt-constructor.js +22 -34
  61. package/dist/prompts/prompt-constructor.js.map +1 -1
  62. package/dist/prompts/prompt-constructor.ts +22 -37
  63. package/dist/prompts/prompt-profiles.d.ts +1 -3
  64. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  65. package/dist/prompts/prompt-profiles.js +2 -7
  66. package/dist/prompts/prompt-profiles.js.map +1 -1
  67. package/dist/prompts/prompt-profiles.ts +3 -8
  68. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  69. package/dist/providers/codex-responses-model.js +3 -1
  70. package/dist/providers/codex-responses-model.js.map +1 -1
  71. package/dist/providers/grok.provider.js +1 -1
  72. package/dist/providers/grok.provider.js.map +1 -1
  73. package/dist/providers/opencode-session.d.ts.map +1 -1
  74. package/dist/providers/opencode-session.js +2 -0
  75. package/dist/providers/opencode-session.js.map +1 -1
  76. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  77. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  78. package/dist/services/agent-runtime/application-run-loop.js +2 -1
  79. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  80. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
  81. package/dist/services/agent-runtime/context-compaction/index.js +17 -16
  82. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
  83. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +7 -0
  84. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
  85. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +91 -8
  86. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
  87. package/dist/services/agent-runtime/tool-call-execution.d.ts.map +1 -1
  88. package/dist/services/agent-runtime/tool-call-execution.js +16 -0
  89. package/dist/services/agent-runtime/tool-call-execution.js.map +1 -1
  90. package/dist/services/conversation/conversation-persistence.d.ts +10 -3
  91. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  92. package/dist/services/conversation/conversation-persistence.js +186 -64
  93. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  94. package/dist/services/conversation/recent-conversations.js +1 -1
  95. package/dist/services/conversation/recent-conversations.js.map +1 -1
  96. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  97. package/dist/services/conversation/session-browser.js +11 -4
  98. package/dist/services/conversation/session-browser.js.map +1 -1
  99. package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -1
  100. package/dist/services/conversation/session-index/session-index-worker-client.js +9 -7
  101. package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -1
  102. package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -1
  103. package/dist/services/conversation/session-index/session-index-worker.js +1 -1
  104. package/dist/services/conversation/session-index/session-index-worker.js.map +1 -1
  105. package/dist/services/models/model-picker-host.d.ts +1 -1
  106. package/dist/services/models/model-picker-host.d.ts.map +1 -1
  107. package/dist/services/models/model-picker-host.js +8 -4
  108. package/dist/services/models/model-picker-host.js.map +1 -1
  109. package/dist/services/profiles/labels.d.ts +2 -1
  110. package/dist/services/profiles/labels.d.ts.map +1 -1
  111. package/dist/services/profiles/labels.js +5 -19
  112. package/dist/services/profiles/labels.js.map +1 -1
  113. package/dist/services/profiles/legacy-adapter.d.ts +5 -1
  114. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -1
  115. package/dist/services/profiles/legacy-adapter.js +11 -5
  116. package/dist/services/profiles/legacy-adapter.js.map +1 -1
  117. package/dist/services/profiles/profile-transition.js +2 -2
  118. package/dist/services/profiles/registry.d.ts.map +1 -1
  119. package/dist/services/profiles/registry.js +14 -24
  120. package/dist/services/profiles/registry.js.map +1 -1
  121. package/dist/services/profiles/resolver.d.ts.map +1 -1
  122. package/dist/services/profiles/resolver.js +2 -1
  123. package/dist/services/profiles/resolver.js.map +1 -1
  124. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  125. package/dist/services/queue/queue-controller.js +10 -4
  126. package/dist/services/queue/queue-controller.js.map +1 -1
  127. package/dist/services/service-interfaces.d.ts +2 -0
  128. package/dist/services/service-interfaces.d.ts.map +1 -1
  129. package/dist/services/session/session-composition.d.ts.map +1 -1
  130. package/dist/services/session/session-composition.js +2 -1
  131. package/dist/services/session/session-composition.js.map +1 -1
  132. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  133. package/dist/services/settings/settings-schema.js +3 -4
  134. package/dist/services/settings/settings-schema.js.map +1 -1
  135. package/dist/services/settings/settings-service.d.ts.map +1 -1
  136. package/dist/services/settings/settings-service.js +16 -2
  137. package/dist/services/settings/settings-service.js.map +1 -1
  138. package/dist/services/settings/settings-ui-metadata.js +3 -3
  139. package/dist/services/settings/settings-ui-metadata.js.map +1 -1
  140. package/dist/services/skills/skills-service.d.ts +3 -1
  141. package/dist/services/skills/skills-service.d.ts.map +1 -1
  142. package/dist/services/skills/skills-service.js +7 -3
  143. package/dist/services/skills/skills-service.js.map +1 -1
  144. package/dist/services/tool-toggles.d.ts.map +1 -1
  145. package/dist/services/tool-toggles.js +4 -10
  146. package/dist/services/tool-toggles.js.map +1 -1
  147. package/dist/theme/palettes.d.ts +1 -1
  148. package/dist/theme/palettes.d.ts.map +1 -1
  149. package/dist/theme/palettes.js +6 -0
  150. package/dist/theme/palettes.js.map +1 -1
  151. package/dist/tools/file/upstream-apply-patch.d.ts +14 -6
  152. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  153. package/dist/tools/file/upstream-apply-patch.js +15 -6
  154. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  155. package/dist/tools/session-rollover/session-rollover-tool.js +1 -1
  156. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  157. package/dist/tools/system/bare-shell.d.ts +11 -0
  158. package/dist/tools/system/bare-shell.d.ts.map +1 -0
  159. package/dist/tools/system/bare-shell.js +38 -0
  160. package/dist/tools/system/bare-shell.js.map +1 -0
  161. package/dist/tools/system/run-code/run-code.d.ts +2 -0
  162. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  163. package/dist/tools/system/run-code/run-code.js +1 -1
  164. package/dist/tools/system/run-code/run-code.js.map +1 -1
  165. package/dist/tools/system/run-code/tools-header.d.ts +3 -1
  166. package/dist/tools/system/run-code/tools-header.d.ts.map +1 -1
  167. package/dist/tools/system/run-code/tools-header.js +7 -4
  168. package/dist/tools/system/run-code/tools-header.js.map +1 -1
  169. package/dist/tools/system/shell.d.ts +1 -1
  170. package/dist/tools/system/shell.d.ts.map +1 -1
  171. package/dist/tools/system/shell.js +1 -1
  172. package/dist/tools/system/shell.js.map +1 -1
  173. package/dist/tools/types.d.ts +11 -2
  174. package/dist/tools/types.d.ts.map +1 -1
  175. package/dist/tools/types.js.map +1 -1
  176. package/dist/utils/shell/sandbox/sandbox-policy.js +2 -2
  177. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  178. package/package.json +4 -4
  179. package/dist/prompts/lite.md +0 -14
  180. package/dist/scripts/eval-gpt6-prompts.d.ts +0 -2
  181. package/dist/scripts/eval-gpt6-prompts.d.ts.map +0 -1
  182. package/dist/scripts/eval-gpt6-prompts.js +0 -249
  183. package/dist/scripts/eval-gpt6-prompts.js.map +0 -1
@@ -372,8 +372,10 @@ export function loadConversationUnscopedForIndex(id, sourceDir) {
372
372
  /**
373
373
  * Enumerates canonical local logs through the same decoder/replay/context path
374
374
  * as resume. Unlike the UI list, this reports malformed candidates generically.
375
+ * With `idPrefix`, only matching filenames are replayed and counted; callers
376
+ * resolving a reference must retain its entire eight-character collision bucket.
375
377
  */
376
- export function browseConversationsForProject(expectedProjectPath, expectedSshHost) {
378
+ export function browseConversationsForProject(expectedProjectPath, expectedSshHost, idPrefix) {
377
379
  const dir = getConversationsDir();
378
380
  const directoryVersionBefore = getConversationsDirectoryVersionReadOnly();
379
381
  let files;
@@ -390,6 +392,8 @@ export function browseConversationsForProject(expectedProjectPath, expectedSshHo
390
392
  let unavailable = 0;
391
393
  for (const file of files) {
392
394
  const id = file.slice(0, -'.jsonl'.length);
395
+ if (idPrefix !== undefined && !id.toLowerCase().startsWith(idPrefix.toLowerCase()))
396
+ continue;
393
397
  if (!SAFE_SESSION_ID.test(id)) {
394
398
  // An unsafe filename cannot be context-checked without deriving a path
395
399
  // from an untrusted identifier, so it is neither exposed nor counted.
@@ -576,9 +580,112 @@ export function deleteConversation(id) {
576
580
  }
577
581
  return removed;
578
582
  }
579
- export function listConversations(expectedProjectPath, expectedSshHost) {
583
+ export function listConversations(expectedProjectPath, expectedSshHost, limit) {
580
584
  ensureConversationsDir();
581
- return listConversationsInDirectory(getConversationsDir(), expectedProjectPath, expectedSshHost);
585
+ return listConversationsInDirectory(getConversationsDir(), expectedProjectPath, expectedSshHost, limit);
586
+ }
587
+ const INIT_READ_CHUNK_BYTES = 4096;
588
+ const RELEVANT_LIST_EVENT_TYPE_HINT = /"type"\s*:\s*"(?:session_init|user_message|assistant_turn|undo)"/;
589
+ const UUID_FILENAME_SUFFIX = '.jsonl';
590
+ function findSessionInitInLines(lines) {
591
+ for (const line of lines) {
592
+ const trimmed = line.trim();
593
+ if (!trimmed || !trimmed.includes('"session_init"'))
594
+ continue;
595
+ try {
596
+ const parsed = JSON.parse(trimmed);
597
+ const envelope = decodeLogEnvelope(parsed);
598
+ if (!envelope || isTruncatedLogEvent(envelope.event))
599
+ continue;
600
+ if (envelope.event.type === 'session_init') {
601
+ return envelope.event;
602
+ }
603
+ }
604
+ catch {
605
+ // skip corrupt line
606
+ }
607
+ }
608
+ return null;
609
+ }
610
+ function readFirstSessionInit(filePath, fileSize) {
611
+ if (fileSize <= 0)
612
+ return null;
613
+ const fd = fs.openSync(filePath, 'r');
614
+ try {
615
+ const chunkLength = Math.min(INIT_READ_CHUNK_BYTES, fileSize);
616
+ const buffer = Buffer.allocUnsafe(chunkLength);
617
+ const bytesRead = fs.readSync(fd, buffer, 0, chunkLength, 0);
618
+ if (bytesRead <= 0)
619
+ return null;
620
+ const head = buffer.subarray(0, bytesRead).toString('utf-8');
621
+ const usableEnd = bytesRead < fileSize ? head.lastIndexOf('\n') : head.length;
622
+ if (usableEnd > 0) {
623
+ const init = findSessionInitInLines(head.slice(0, usableEnd).split('\n'));
624
+ if (init)
625
+ return init;
626
+ }
627
+ }
628
+ finally {
629
+ fs.closeSync(fd);
630
+ }
631
+ const content = fs.readFileSync(filePath, 'utf-8');
632
+ return findSessionInitInLines(content.split('\n'));
633
+ }
634
+ function parseConversationListEntry(filePath, updatedAt) {
635
+ const content = fs.readFileSync(filePath, 'utf-8');
636
+ const lines = content.split('\n');
637
+ let initEnvelope = null;
638
+ let firstUserMessage;
639
+ let messageCount = 0;
640
+ for (const line of lines) {
641
+ const trimmed = line.trim();
642
+ if (!trimmed || !RELEVANT_LIST_EVENT_TYPE_HINT.test(trimmed))
643
+ continue;
644
+ try {
645
+ const parsed = JSON.parse(trimmed);
646
+ const envelope = decodeLogEnvelope(parsed);
647
+ if (!envelope)
648
+ continue;
649
+ // Truncated events carry no lifecycle fields; skip them entirely.
650
+ if (isTruncatedLogEvent(envelope.event))
651
+ continue;
652
+ if (!initEnvelope && envelope.event.type === 'session_init') {
653
+ initEnvelope = envelope;
654
+ }
655
+ if (envelope.event.type === 'user_message') {
656
+ messageCount++;
657
+ if (!firstUserMessage && envelope.event.message?.text) {
658
+ firstUserMessage = envelope.event.message.text;
659
+ }
660
+ }
661
+ else if (envelope.event.type === 'assistant_turn') {
662
+ messageCount++;
663
+ }
664
+ else if (envelope.event.type === 'undo') {
665
+ const undone = envelope.event.removedUserTurns || 0;
666
+ messageCount = Math.max(0, messageCount - undone * 2);
667
+ }
668
+ }
669
+ catch {
670
+ // skip corrupt line
671
+ }
672
+ }
673
+ if (!initEnvelope || isTruncatedLogEvent(initEnvelope.event) || initEnvelope.event.type !== 'session_init') {
674
+ return null;
675
+ }
676
+ const init = initEnvelope.event;
677
+ return {
678
+ id: init.id,
679
+ updatedAt,
680
+ ...(init.projectPath ? { projectPath: init.projectPath } : {}),
681
+ ...(init.sshHost ? { sshHost: init.sshHost } : {}),
682
+ firstUserMessage,
683
+ activeProfileId: init.activeProfileId,
684
+ appMode: init.appMode,
685
+ model: init.model,
686
+ provider: init.provider,
687
+ messageCount,
688
+ };
582
689
  }
583
690
  /**
584
691
  * Canonical resume-listing parse over an explicit conversations directory.
@@ -589,8 +696,13 @@ export function listConversations(expectedProjectPath, expectedSshHost) {
589
696
  * worker (a separate module instance that does not inherit the in-process
590
697
  * test override) list the same directory the caller listed without relying on
591
698
  * `process.env`.
699
+ *
700
+ * When a finite `limit` is provided, files are ordered by `mtime` descending
701
+ * first so only the top `limit` matching sessions undergo full-transcript
702
+ * parsing, while remaining files are only probed when needed to disambiguate
703
+ * `shortRef` prefixes.
592
704
  */
593
- export function listConversationsInDirectory(dir, expectedProjectPath, expectedSshHost) {
705
+ export function listConversationsInDirectory(dir, expectedProjectPath, expectedSshHost, limit) {
594
706
  // The worker receives an explicit directory rather than the caller's
595
707
  // in-process override. Preserve the default-path legacy migration there.
596
708
  if (dir === (process.env['TERM2_TEST_DB_DIR'] || CONVERSATIONS_DIR))
@@ -599,80 +711,90 @@ export function listConversationsInDirectory(dir, expectedProjectPath, expectedS
599
711
  if (!fs.existsSync(dir)) {
600
712
  return [];
601
713
  }
602
- const files = fs.readdirSync(dir).filter((f) => f.endsWith('.jsonl'));
603
- const entries = [];
604
- for (const f of files) {
605
- const fp = path.join(dir, f);
714
+ const maxEntries = limit !== undefined && Number.isFinite(limit) ? Math.max(0, Math.floor(limit)) : Number.POSITIVE_INFINITY;
715
+ if (maxEntries === 0) {
716
+ return [];
717
+ }
718
+ const files = fs.readdirSync(dir).filter((f) => f.endsWith(UUID_FILENAME_SUFFIX));
719
+ const candidates = [];
720
+ for (const file of files) {
721
+ const filePath = path.join(dir, file);
606
722
  try {
607
- const stat = fs.statSync(fp);
608
- const content = fs.readFileSync(fp, 'utf-8');
609
- const lines = content.split('\n');
610
- let initEnvelope = null;
611
- let firstUserMessage;
612
- let messageCount = 0;
613
- for (const line of lines) {
614
- const trimmed = line.trim();
615
- if (!trimmed)
616
- continue;
617
- try {
618
- const parsed = JSON.parse(trimmed);
619
- const envelope = decodeLogEnvelope(parsed);
620
- if (!envelope)
723
+ const stat = fs.statSync(filePath);
724
+ candidates.push({
725
+ file,
726
+ filePath,
727
+ updatedAt: stat.mtime.toISOString(),
728
+ size: stat.size,
729
+ });
730
+ }
731
+ catch {
732
+ // skip unreadable stat
733
+ }
734
+ }
735
+ candidates.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
736
+ const entries = [];
737
+ const topPrefixes8 = new Set();
738
+ const remainingCandidates = [];
739
+ const hasScopeFilter = expectedProjectPath !== undefined || expectedSshHost !== undefined;
740
+ for (const candidate of candidates) {
741
+ if (entries.length < maxEntries) {
742
+ try {
743
+ if (hasScopeFilter) {
744
+ const init = readFirstSessionInit(candidate.filePath, candidate.size);
745
+ if (!init)
621
746
  continue;
622
- // Truncated events carry no lifecycle fields; skip them entirely.
623
- if (isTruncatedLogEvent(envelope.event))
747
+ if (!matchesEntryContext({ id: init.id, updatedAt: candidate.updatedAt, projectPath: init.projectPath, sshHost: init.sshHost }, expectedProjectPath, expectedSshHost)) {
624
748
  continue;
625
- if (!initEnvelope && envelope.event.type === 'session_init') {
626
- initEnvelope = envelope;
627
- }
628
- if (envelope.event.type === 'user_message') {
629
- messageCount++;
630
- if (!firstUserMessage && envelope.event.message?.text) {
631
- firstUserMessage = envelope.event.message.text;
632
- }
633
- }
634
- else if (envelope.event.type === 'assistant_turn') {
635
- messageCount++;
636
- }
637
- else if (envelope.event.type === 'undo') {
638
- const undone = envelope.event.removedUserTurns || 0;
639
- messageCount = Math.max(0, messageCount - undone * 2);
640
749
  }
641
750
  }
642
- catch {
643
- // skip corrupt line
751
+ const entry = parseConversationListEntry(candidate.filePath, candidate.updatedAt);
752
+ if (!entry)
753
+ continue;
754
+ if (hasScopeFilter && !matchesEntryContext(entry, expectedProjectPath, expectedSshHost)) {
755
+ continue;
756
+ }
757
+ entries.push(entry);
758
+ if (UUID.test(entry.id)) {
759
+ topPrefixes8.add(entry.id.slice(0, 8).toLowerCase());
644
760
  }
645
761
  }
646
- if (!initEnvelope || isTruncatedLogEvent(initEnvelope.event) || initEnvelope.event.type !== 'session_init') {
762
+ catch {
763
+ // skip
764
+ }
765
+ }
766
+ else {
767
+ remainingCandidates.push(candidate);
768
+ }
769
+ }
770
+ // Disambiguate shortRefs against any older conversations in the same scope
771
+ // that share an 8-character UUID prefix with the selected entries.
772
+ const shortRefCandidates = entries.map((entry) => ({ id: entry.id }));
773
+ if (topPrefixes8.size > 0 && remainingCandidates.length > 0) {
774
+ for (const candidate of remainingCandidates) {
775
+ const stem = candidate.file.slice(0, -UUID_FILENAME_SUFFIX.length);
776
+ if (UUID.test(stem) && !topPrefixes8.has(stem.slice(0, 8).toLowerCase())) {
647
777
  continue;
648
778
  }
649
- const init = initEnvelope.event;
650
- const entry = {
651
- id: init.id,
652
- updatedAt: stat.mtime.toISOString(),
653
- ...(init.projectPath ? { projectPath: init.projectPath } : {}),
654
- ...(init.sshHost ? { sshHost: init.sshHost } : {}),
655
- firstUserMessage,
656
- activeProfileId: init.activeProfileId,
657
- appMode: init.appMode,
658
- model: init.model,
659
- provider: init.provider,
660
- messageCount,
661
- };
662
- if (expectedProjectPath !== undefined || expectedSshHost !== undefined) {
663
- if (!matchesEntryContext(entry, expectedProjectPath, expectedSshHost)) {
779
+ try {
780
+ const init = readFirstSessionInit(candidate.filePath, candidate.size);
781
+ if (!init || !UUID.test(init.id))
782
+ continue;
783
+ if (!topPrefixes8.has(init.id.slice(0, 8).toLowerCase()))
784
+ continue;
785
+ if (hasScopeFilter &&
786
+ !matchesEntryContext({ id: init.id, updatedAt: candidate.updatedAt, projectPath: init.projectPath, sshHost: init.sshHost }, expectedProjectPath, expectedSshHost)) {
664
787
  continue;
665
788
  }
789
+ shortRefCandidates.push({ id: init.id });
790
+ }
791
+ catch {
792
+ // skip
666
793
  }
667
- entries.push(entry);
668
- }
669
- catch {
670
- // skip
671
794
  }
672
795
  }
673
- const sorted = entries.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
674
- const shortRefs = uniqueConversationShortRefs(sorted);
675
- return sorted.map((entry) => ({ ...entry, shortRef: shortRefs.get(entry.id) ?? entry.id }));
796
+ const shortRefs = uniqueConversationShortRefs(shortRefCandidates);
797
+ return entries.map((entry) => ({ ...entry, shortRef: shortRefs.get(entry.id) ?? entry.id }));
676
798
  }
677
799
  catch {
678
800
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-persistence.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-persistence.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-persistence.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ async function listConversationsOffMainThread(projectPath, sshHost, limit, optio
45
45
  // runtime forbids worker threads). Parsing in-process keeps the listing
46
46
  // correct at the cost of briefly blocking, which is preferable to returning
47
47
  // a misleadingly empty list.
48
- return listConversations(projectPath, sshHost);
48
+ return listConversations(projectPath, sshHost, limit);
49
49
  }
50
50
  finally {
51
51
  await client?.close({ force: failed }).catch(() => { });
@@ -1 +1 @@
1
- {"version":3,"file":"recent-conversations.js","sourceRoot":"","sources":["../../../source/services/conversation/recent-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAA8B,MAAM,+BAA+B,CAAC;AACnH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAWrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAoB,EACpB,OAAgB,EAChB,KAAK,GAAW,kCAAkC,EAClD,OAAoC;IAEpC,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,WAA+B,EAC/B,OAA2B,EAC3B,KAAa,EACb,OAA+C;IAE/C,MAAM,YAAY,GAChB,OAAO,EAAE,YAAY;QACrB,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAEtG,IAAI,MAAM,GAAoC,IAAI,CAAC;IACnD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,EAAE,CAAC;QACxB,OAAO,MAAM,MAAM,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,0EAA0E;QAC1E,wEAAwE;QACxE,4EAA4E;QAC5E,6BAA6B;QAC7B,OAAO,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"recent-conversations.js","sourceRoot":"","sources":["../../../source/services/conversation/recent-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAA8B,MAAM,+BAA+B,CAAC;AACnH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAWrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAoB,EACpB,OAAgB,EAChB,KAAK,GAAW,kCAAkC,EAClD,OAAoC;IAEpC,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,WAA+B,EAC/B,OAA2B,EAC3B,KAAa,EACb,OAA+C;IAE/C,MAAM,YAAY,GAChB,OAAO,EAAE,YAAY;QACrB,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAEtG,IAAI,MAAM,GAAoC,IAAI,CAAC;IACnD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,EAAE,CAAC;QACxB,OAAO,MAAM,MAAM,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,0EAA0E;QAC1E,wEAAwE;QACxE,4EAA4E;QAC5E,6BAA6B;QAC7B,OAAO,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-browser.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/session-browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-browser.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/session-browser.ts"],"names":[],"mappings":"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"}
@@ -229,7 +229,7 @@ export class SessionBrowser {
229
229
  resolvedId = conversation.id;
230
230
  }
231
231
  else {
232
- const browsed = this.conversations();
232
+ const browsed = this.conversations(input.id);
233
233
  const resolution = resolveSessionReference(input.id, browsed.conversations, context.currentSessionId);
234
234
  if (resolution.kind === 'ambiguous') {
235
235
  return (fitted({
@@ -299,7 +299,10 @@ export class SessionBrowser {
299
299
  return this.#pageReadResult(input, context, conversation, projection, shortRef, resolvedId, currentRevision);
300
300
  }
301
301
  async #readIndexed(input) {
302
- if (input.cursor?.startsWith('f')) {
302
+ // Explicit references need only their filename-prefix collision bucket,
303
+ // not a refresh of the whole project-wide search index. Keep canonical
304
+ // replay off the main thread and its cursor state in the same worker.
305
+ if ((!input.cursor && input.id !== 'previous') || input.cursor?.startsWith('f')) {
303
306
  return this.#browseCanonicalInWorker({ operation: 'read', input });
304
307
  }
305
308
  const budget = input.maxChars ?? DEFAULT_READ_CHARS;
@@ -539,9 +542,13 @@ export class SessionBrowser {
539
542
  const state = this.#cursorStates.get(cursor);
540
543
  return state?.sessionId === id ? state : null;
541
544
  }
542
- conversations() {
545
+ conversations(reference) {
543
546
  const context = this.getContext();
544
- const result = browseConversationsForProject(context.projectPath, context.sshHost);
547
+ // Include the whole minimum-short-ref collision bucket, even for exact
548
+ // IDs, so short refs and ambiguity match a full scoped catalog.
549
+ // `previous` still needs all sessions for predecessor/recency selection.
550
+ const idPrefix = reference && reference !== 'previous' ? reference.slice(0, 8) : undefined;
551
+ const result = browseConversationsForProject(context.projectPath, context.sshHost, idPrefix);
545
552
  return {
546
553
  unavailable: result.unavailable,
547
554
  scope: context.projectPath,