@gkorepanov/ccodex 0.4.23 → 0.4.25

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 (49) hide show
  1. package/config/compatibility.json +1 -1
  2. package/dist/claude/service.d.ts +3 -1
  3. package/dist/claude/service.js +16 -5
  4. package/dist/claude/service.js.map +1 -1
  5. package/dist/claude/session/providerRuntimeFactory.js +15 -7
  6. package/dist/claude/session/providerRuntimeFactory.js.map +1 -1
  7. package/dist/claude/session/runtime.d.ts +10 -0
  8. package/dist/claude/session/runtime.js +44 -2
  9. package/dist/claude/session/runtime.js.map +1 -1
  10. package/dist/claude/session/session.js +30 -19
  11. package/dist/claude/session/session.js.map +1 -1
  12. package/dist/daemon/ownership.js +9 -1
  13. package/dist/daemon/ownership.js.map +1 -1
  14. package/dist/gateway/clientConnection.js +39 -12
  15. package/dist/gateway/clientConnection.js.map +1 -1
  16. package/dist/gateway/optimisticSideThreads.d.ts +11 -5
  17. package/dist/gateway/optimisticSideThreads.js +103 -47
  18. package/dist/gateway/optimisticSideThreads.js.map +1 -1
  19. package/dist/gateway/remoteControlController.d.ts +2 -0
  20. package/dist/gateway/remoteControlController.js +8 -0
  21. package/dist/gateway/remoteControlController.js.map +1 -1
  22. package/dist/gateway/remoteRelay.d.ts +2 -0
  23. package/dist/gateway/remoteRelay.js +32 -2
  24. package/dist/gateway/remoteRelay.js.map +1 -1
  25. package/dist/gateway/server.js +31 -1
  26. package/dist/gateway/server.js.map +1 -1
  27. package/dist/gateway/stockSideThreads.d.ts +3 -6
  28. package/dist/gateway/stockSideThreads.js +38 -43
  29. package/dist/gateway/stockSideThreads.js.map +1 -1
  30. package/dist/gateway/threadList.d.ts +17 -3
  31. package/dist/gateway/threadList.js +77 -17
  32. package/dist/gateway/threadList.js.map +1 -1
  33. package/dist/handoff/service.js +1 -0
  34. package/dist/handoff/service.js.map +1 -1
  35. package/dist/handoff/store.d.ts +21 -0
  36. package/dist/handoff/store.js +15 -0
  37. package/dist/handoff/store.js.map +1 -1
  38. package/dist/store/HybridStore.d.ts +3 -0
  39. package/dist/store/memoryStore.d.ts +5 -0
  40. package/dist/store/memoryStore.js +12 -0
  41. package/dist/store/memoryStore.js.map +1 -1
  42. package/dist/store/sqliteStore.d.ts +2 -0
  43. package/dist/store/sqliteStore.js +30 -0
  44. package/dist/store/sqliteStore.js.map +1 -1
  45. package/dist/store/threadFilter.d.ts +2 -0
  46. package/dist/store/threadFilter.js +8 -0
  47. package/dist/store/threadFilter.js.map +1 -1
  48. package/legal/THIRD_PARTY_NOTICES.md +0 -27
  49. package/package.json +4 -4
@@ -5,7 +5,6 @@ import { v7 as uuidv7 } from "uuid";
5
5
  import { projectRpcToPublicThread } from "./logicalThreadProjection.js";
6
6
  import { isUserSideFork } from "./sideFork.js";
7
7
  export const STOCK_SIDE_THREAD_SOURCE = "ccodexSide";
8
- export const STOCK_SIDE_DISCONNECT_GRACE_MS = 60 * 60_000;
9
8
  function requestKey(connectionId, id) {
10
9
  return `${connectionId}:${typeof id}:${id}`;
11
10
  }
@@ -13,7 +12,8 @@ function isThread(value) {
13
12
  return Boolean(value && typeof value === "object" && typeof value.id === "string");
14
13
  }
15
14
  function isMarked(thread) {
16
- return thread.threadSource === STOCK_SIDE_THREAD_SOURCE;
15
+ return thread.threadSource === STOCK_SIDE_THREAD_SOURCE
16
+ || thread.threadSource?.startsWith(`${STOCK_SIDE_THREAD_SOURCE}:`) === true;
17
17
  }
18
18
  async function hasPersistedMarker(thread) {
19
19
  if (isMarked(thread))
@@ -25,8 +25,10 @@ async function hasPersistedMarker(thread) {
25
25
  try {
26
26
  for await (const line of lines) {
27
27
  const record = JSON.parse(line);
28
- return record.type === "session_meta"
29
- && record.payload?.thread_source === STOCK_SIDE_THREAD_SOURCE;
28
+ if (record.type !== "session_meta" || typeof record.payload?.thread_source !== "string")
29
+ return false;
30
+ thread.threadSource = record.payload.thread_source;
31
+ return isMarked(thread);
30
32
  }
31
33
  return false;
32
34
  }
@@ -47,24 +49,20 @@ export class StockSideThreads {
47
49
  enabled;
48
50
  cleanupStock;
49
51
  logger;
50
- graceMs;
51
52
  hidden = new Set();
52
53
  pending = new Map();
53
54
  connectionsByThread = new Map();
54
55
  threadsByConnection = new Map();
55
- cleanupTimers = new Map();
56
56
  publicParents = new Map();
57
57
  publicSources = new Map();
58
58
  publicIds = new Map();
59
59
  optimisticBySource = new Map();
60
60
  serverRequests = new Map();
61
61
  serverRequestAliases = new Map();
62
- closed = false;
63
- constructor(enabled, cleanupStock, logger, graceMs = STOCK_SIDE_DISCONNECT_GRACE_MS) {
62
+ constructor(enabled, cleanupStock, logger) {
64
63
  this.enabled = enabled;
65
64
  this.cleanupStock = cleanupStock;
66
65
  this.logger = logger;
67
- this.graceMs = graceMs;
68
66
  }
69
67
  async recover() {
70
68
  if (!this.enabled)
@@ -76,8 +74,9 @@ export class StockSideThreads {
76
74
  if (!await hasPersistedMarker(thread))
77
75
  continue;
78
76
  this.hidden.add(thread.id);
79
- const ageMs = Math.max(0, Date.now() - thread.updatedAt * 1_000);
80
- this.scheduleCleanup(thread.id, Math.max(0, this.graceMs - ageMs));
77
+ const publicId = thread.threadSource?.slice(STOCK_SIDE_THREAD_SOURCE.length + 1);
78
+ if (publicId)
79
+ this.publicIds.set(thread.id, publicId);
81
80
  }
82
81
  cursor = result.nextCursor;
83
82
  } while (cursor);
@@ -137,6 +136,12 @@ export class StockSideThreads {
137
136
  }
138
137
  async prepareOptimisticSide(params, publicSourceThreadId, publicSideThreadId) {
139
138
  this.publicSources.set(params.threadId, publicSourceThreadId);
139
+ const recovered = [...this.publicIds].find(([, publicId]) => publicId === publicSideThreadId)?.[0];
140
+ if (recovered) {
141
+ this.publicParents.set(recovered, publicSourceThreadId);
142
+ const response = await this.cleanupStock.request("thread/resume", { threadId: recovered });
143
+ return { response: { ...response, thread: this.projectThread(response.thread) }, backendThreadId: recovered };
144
+ }
140
145
  const pending = this.optimisticBySource.get(params.threadId) ?? [];
141
146
  pending.push(publicSideThreadId);
142
147
  this.optimisticBySource.set(params.threadId, pending);
@@ -144,7 +149,7 @@ export class StockSideThreads {
144
149
  const response = await this.cleanupStock.request("thread/fork", {
145
150
  ...params,
146
151
  ephemeral: false,
147
- threadSource: STOCK_SIDE_THREAD_SOURCE,
152
+ threadSource: `${STOCK_SIDE_THREAD_SOURCE}:${publicSideThreadId}`,
148
153
  });
149
154
  this.bindOptimistic(response.thread, publicSideThreadId);
150
155
  return {
@@ -161,6 +166,12 @@ export class StockSideThreads {
161
166
  this.optimisticBySource.delete(params.threadId);
162
167
  }
163
168
  }
169
+ restoreOptimistic(publicThreadId, backendThreadId, publicParentId) {
170
+ this.hidden.add(backendThreadId);
171
+ this.publicIds.set(backendThreadId, publicThreadId);
172
+ if (publicParentId)
173
+ this.publicParents.set(backendThreadId, publicParentId);
174
+ }
164
175
  async discardOptimistic(publicThreadId) {
165
176
  const backend = [...this.publicIds].find(([, publicId]) => publicId === publicThreadId)?.[0];
166
177
  if (!backend)
@@ -232,6 +243,8 @@ export class StockSideThreads {
232
243
  this.forget(pending.threadId);
233
244
  if (pending?.kind === "promote" && "result" in message && pending.threadId) {
234
245
  this.detachThread(pending.connectionId, pending.threadId);
246
+ const threadId = pending.threadId;
247
+ void this.cleanupStock.request("thread/delete", { threadId }).then(() => this.forget(threadId), (error) => this.logger.warn("stock.side.cleanup-failed", { threadId, error: String(error) }));
235
248
  }
236
249
  if (pending?.kind === "create" && "result" in message) {
237
250
  const thread = this.resultThread(message.result);
@@ -264,9 +277,15 @@ export class StockSideThreads {
264
277
  : undefined;
265
278
  const backendThreadId = typeof params?.threadId === "string" ? params.threadId : undefined;
266
279
  const publicThreadId = backendThreadId ? this.publicIds.get(backendThreadId) : undefined;
267
- return forward(publicThreadId
280
+ const projected = publicThreadId
268
281
  ? projectRpcToPublicThread(message, { backendThreadId: backendThreadId, publicThreadId })
269
- : message);
282
+ : message;
283
+ if (backendThreadId && this.hidden.has(backendThreadId)
284
+ && "method" in projected && projected.method === "thread/status/changed"
285
+ && projected.params.status.type === "notLoaded") {
286
+ return forward({ ...projected, params: { ...projected.params, status: { type: "idle" } } });
287
+ }
288
+ return forward(projected);
270
289
  }
271
290
  if (isMarked(thread)) {
272
291
  if (trackConnection)
@@ -301,6 +320,9 @@ export class StockSideThreads {
301
320
  this.filterThreads(threads);
302
321
  return this.hidden;
303
322
  }
323
+ loadedSideIds() {
324
+ return [...this.hidden].map((id) => this.publicIds.get(id) ?? id);
325
+ }
304
326
  detachConnection(connectionId) {
305
327
  for (const threadId of this.threadsByConnection.get(connectionId) ?? [])
306
328
  this.detachThread(connectionId, threadId);
@@ -311,10 +333,6 @@ export class StockSideThreads {
311
333
  }
312
334
  }
313
335
  close() {
314
- this.closed = true;
315
- for (const timer of this.cleanupTimers.values())
316
- clearTimeout(timer);
317
- this.cleanupTimers.clear();
318
336
  this.pending.clear();
319
337
  this.publicParents.clear();
320
338
  this.publicSources.clear();
@@ -344,10 +362,6 @@ export class StockSideThreads {
344
362
  }
345
363
  attach(connectionId, threadId) {
346
364
  this.hidden.add(threadId);
347
- const timer = this.cleanupTimers.get(threadId);
348
- if (timer)
349
- clearTimeout(timer);
350
- this.cleanupTimers.delete(threadId);
351
365
  const connections = this.connectionsByThread.get(threadId) ?? new Set();
352
366
  connections.add(connectionId);
353
367
  this.connectionsByThread.set(threadId, connections);
@@ -364,29 +378,8 @@ export class StockSideThreads {
364
378
  threads?.delete(threadId);
365
379
  if (threads?.size === 0)
366
380
  this.threadsByConnection.delete(connectionId);
367
- if (!this.connectionsByThread.has(threadId))
368
- this.scheduleCleanup(threadId, this.graceMs);
369
- }
370
- scheduleCleanup(threadId, delayMs) {
371
- if (this.closed || this.cleanupTimers.has(threadId))
372
- return;
373
- const timer = setTimeout(() => {
374
- this.cleanupTimers.delete(threadId);
375
- if (this.connectionsByThread.has(threadId))
376
- return;
377
- void this.cleanupStock.request("thread/delete", { threadId }).then(() => this.forget(threadId), (error) => {
378
- this.logger.warn("stock.side.cleanup-failed", { threadId, error: String(error) });
379
- this.scheduleCleanup(threadId, Math.min(this.graceMs, 60_000));
380
- });
381
- }, delayMs);
382
- timer.unref();
383
- this.cleanupTimers.set(threadId, timer);
384
381
  }
385
382
  forget(threadId) {
386
- const timer = this.cleanupTimers.get(threadId);
387
- if (timer)
388
- clearTimeout(timer);
389
- this.cleanupTimers.delete(threadId);
390
383
  this.hidden.delete(threadId);
391
384
  this.publicParents.delete(threadId);
392
385
  this.publicIds.delete(threadId);
@@ -409,9 +402,11 @@ export class StockSideThreads {
409
402
  return {
410
403
  ...thread,
411
404
  id: this.publicIds.get(thread.id) ?? thread.id,
405
+ sessionId: this.publicIds.get(thread.id) ?? thread.sessionId,
412
406
  ephemeral: true,
413
407
  path: null,
414
408
  threadSource: "user",
409
+ status: thread.status.type === "notLoaded" ? { type: "idle" } : thread.status,
415
410
  forkedFromId: this.publicParents.get(thread.id)
416
411
  ?? (thread.forkedFromId
417
412
  ? this.publicIds.get(thread.forkedFromId) ?? this.publicSources.get(thread.forkedFromId)
@@ -1 +1 @@
1
- {"version":3,"file":"stockSideThreads.js","sourceRoot":"","sources":["../../src/gateway/stockSideThreads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stockSideThreads.js","sourceRoot":"","sources":["../../src/gateway/stockSideThreads.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { ThreadLoadedListParams } from "../codex/generated/v2/ThreadLoadedL
5
5
  import type { ThreadLoadedListResponse } from "../codex/generated/v2/ThreadLoadedListResponse.js";
6
6
  import type { ThreadSearchParams } from "../codex/generated/v2/ThreadSearchParams.js";
7
7
  import type { ThreadSearchResponse } from "../codex/generated/v2/ThreadSearchResponse.js";
8
+ import type { ThreadSectionMoveParams } from "../codex/generated/v2/ThreadSectionMoveParams.js";
8
9
  import type { ClaudeService } from "../claude/service.js";
9
10
  import type { StockRpc } from "./stockRpc.js";
10
11
  import { CursorCodec } from "../protocol/cursor.js";
@@ -28,13 +29,26 @@ export declare class ThreadCatalog {
28
29
  private readonly cursors;
29
30
  private readonly logical?;
30
31
  private readonly sideThreads?;
31
- constructor(stock: StockRpc, claude: ClaudeService, cursors: CursorCodec, logical?: ThreadCatalogProjection | undefined, sideThreads?: Partial<Pick<StockSideThreads, "filterThreads" | "hiddenIds">> | undefined);
32
+ constructor(stock: StockRpc, claude: ClaudeService, cursors: CursorCodec, logical?: ThreadCatalogProjection | undefined, sideThreads?: Partial<Pick<StockSideThreads, "filterThreads" | "hiddenIds" | "loadedSideIds">> | undefined);
32
33
  private projected;
34
+ /**
35
+ * Manual order of one section, ascending: the gateway-owned order first, then
36
+ * stock's own order for threads it has not seen, then newcomers by entry time.
37
+ * Stock keeps positions server-internal, so its order is only visible as the
38
+ * order of a section-scoped `section_position` listing.
39
+ */
40
+ private orderedSection;
33
41
  list(params: ThreadListParams): Promise<ThreadListResponse>;
42
+ /**
43
+ * Records `thread/section/move` in the gateway-owned order and returns the
44
+ * `beforeThreadId` stock can honor for the same move: the next stock-owned
45
+ * thread after the new position, since stock never sees Claude threads.
46
+ */
47
+ moveInSection(move: ThreadSectionMoveParams, stockOwned: (threadId: string) => boolean): Promise<string | null>;
34
48
  /** `thread/search`: stock matches plus Claude matches, projected onto public threads and sorted by time like stock. */
35
49
  search(params: ThreadSearchParams): Promise<ThreadSearchResponse>;
36
50
  private paginate;
37
- loaded(params: ThreadLoadedListParams): Promise<ThreadLoadedListResponse>;
51
+ loaded(params: ThreadLoadedListParams, projectSides?: (ids: string[]) => string[]): Promise<ThreadLoadedListResponse>;
38
52
  remoteSnapshot(): Promise<RemoteCatalogSnapshot>;
39
53
  reconcileRemote(sink: CatalogNotificationSink): Promise<void>;
40
54
  }
@@ -43,4 +57,4 @@ export declare function mergedThreadList(params: ThreadListParams, stock: StockR
43
57
  }, sideThreads?: Pick<StockSideThreads, "filterThreads">): Promise<ThreadListResponse>;
44
58
  export declare function mergedLoadedList(params: ThreadLoadedListParams, stock: StockRpc, claude: ClaudeService, cursors: CursorCodec, logical?: {
45
59
  projectLoadedThreadIds(stock: string[], claude: string[]): string[];
46
- }, sideThreads?: Pick<StockSideThreads, "hiddenIds">): Promise<ThreadLoadedListResponse>;
60
+ }, sideThreads?: Pick<StockSideThreads, "hiddenIds"> & Partial<Pick<StockSideThreads, "loadedSideIds">>, projectSides?: (ids: string[]) => string[]): Promise<ThreadLoadedListResponse>;
@@ -1,11 +1,11 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { queryFingerprint } from "../protocol/cursor.js";
3
3
  import { invalidParams, invalidRequest } from "../protocol/errors.js";
4
- import { cwdIdentity, filterSortThreads } from "../store/threadFilter.js";
4
+ import { cwdIdentity, filterSortThreads, publicListParams } from "../store/threadFilter.js";
5
5
  function threadKey(params) {
6
6
  return params.sortKey === "updated_at" ? "updatedAt"
7
7
  : params.sortKey === "recency_at" ? "recencyAt"
8
- : params.sortKey === "section_position" ? "sectionEnteredAt"
8
+ : params.sortKey === "section_position" ? (typeof params.sectionId === "string" ? "sectionRank" : "sectionEnteredAt")
9
9
  : "createdAt";
10
10
  }
11
11
  function threadQuery(params) {
@@ -22,10 +22,6 @@ function threadQuery(params) {
22
22
  parentThreadId: params.parentThreadId ?? null, ancestorThreadId: params.ancestorThreadId ?? null,
23
23
  });
24
24
  }
25
- function compareThreads(left, right, key, direction) {
26
- const sign = direction === "asc" ? 1 : -1;
27
- return ((((left[key] ?? 0) - (right[key] ?? 0)) || left.id.localeCompare(right.id)) * sign);
28
- }
29
25
  async function allStockSearchResults(stock, params) {
30
26
  const results = [];
31
27
  let cursor = null;
@@ -68,10 +64,15 @@ export class ThreadCatalog {
68
64
  // minutes while a turn is active, and the app drops the connection after
69
65
  // 30s. Refresh native metadata in the background; it applies next poll.
70
66
  void this.claude.refreshNativeMetadata?.();
67
+ // Stock scans rollout files unless `useStateDbOnly` is forwarded, and it
68
+ // omits sub-agent threads unless a parent/ancestor filter is forwarded.
71
69
  const providerParams = {
72
70
  archived: params.archived ?? false,
73
71
  cursor: null,
74
72
  limit: 100,
73
+ ...(params.useStateDbOnly ? { useStateDbOnly: true } : {}),
74
+ ...(params.parentThreadId ? { parentThreadId: params.parentThreadId } : {}),
75
+ ...(params.ancestorThreadId ? { ancestorThreadId: params.ancestorThreadId } : {}),
75
76
  };
76
77
  const [stockCatalog, claudeCatalog] = await Promise.all([
77
78
  allStockThreads(this.stock, providerParams),
@@ -81,10 +82,62 @@ export class ThreadCatalog {
81
82
  const projected = this.logical
82
83
  ? this.logical.projectThreadCatalog(stockThreads, claudeCatalog, providerParams)
83
84
  : [...stockThreads, ...claudeCatalog];
84
- return filterSortThreads(projected, params);
85
+ const threads = filterSortThreads(projected, publicListParams(params));
86
+ return threadKey(params) === "sectionRank" ? this.orderedSection(params.sectionId, threads, params) : threads;
87
+ }
88
+ /**
89
+ * Manual order of one section, ascending: the gateway-owned order first, then
90
+ * stock's own order for threads it has not seen, then newcomers by entry time.
91
+ * Stock keeps positions server-internal, so its order is only visible as the
92
+ * order of a section-scoped `section_position` listing.
93
+ */
94
+ async orderedSection(sectionId, members, params) {
95
+ const stockOrder = await allStockThreads(this.stock, {
96
+ archived: params.archived ?? false, cursor: null, limit: 100, sectionId, sortKey: "section_position", sortDirection: "asc",
97
+ ...(params.useStateDbOnly ? { useStateDbOnly: true } : {}),
98
+ });
99
+ const stockRank = new Map(stockOrder.map((thread, index) => [thread.id, index]));
100
+ const ownRank = new Map((this.claude.sectionOrders().get(sectionId) ?? []).map((id, index) => [id, index]));
101
+ const rank = (thread) => {
102
+ const own = ownRank.get(thread.id);
103
+ if (own !== undefined)
104
+ return own;
105
+ const stock = stockRank.get(this.logical?.currentBackendId?.(thread.id) ?? thread.id);
106
+ return stock === undefined ? 2e15 + (thread.sectionEnteredAt ?? 0) : 1e15 + stock;
107
+ };
108
+ return [...members].sort((left, right) => (rank(left) - rank(right)) || left.id.localeCompare(right.id));
85
109
  }
86
110
  async list(params) {
87
- return this.paginate("thread", await this.projected(params), (thread) => thread, params, threadQuery(params), threadKey(params));
111
+ const key = threadKey(params);
112
+ const threads = await this.projected(params);
113
+ if (key !== "sectionRank")
114
+ return this.paginate("thread", threads, (thread) => thread, params, threadQuery(params), key);
115
+ const rank = new Map(threads.map((thread, index) => [thread.id, index]));
116
+ // Stock defaults section_position to ascending.
117
+ const sortDirection = params.sortDirection ?? "asc";
118
+ return this.paginate("thread", sortDirection === "asc" ? threads : [...threads].reverse(), (thread) => thread, { ...params, sortDirection }, threadQuery(params), key, (thread) => rank.get(thread.id) ?? 0);
119
+ }
120
+ /**
121
+ * Records `thread/section/move` in the gateway-owned order and returns the
122
+ * `beforeThreadId` stock can honor for the same move: the next stock-owned
123
+ * thread after the new position, since stock never sees Claude threads.
124
+ */
125
+ async moveInSection(move, stockOwned) {
126
+ for (const [sectionId, ids] of this.claude.sectionOrders()) {
127
+ if (sectionId !== move.sectionId && ids.includes(move.threadId)) {
128
+ this.claude.setSectionOrder(sectionId, ids.filter((id) => id !== move.threadId));
129
+ }
130
+ }
131
+ if (move.sectionId === null)
132
+ return null;
133
+ const order = (await this.projected({ archived: false, sectionId: move.sectionId, sortKey: "section_position", useStateDbOnly: true }))
134
+ .map((thread) => thread.id).filter((id) => id !== move.threadId);
135
+ const at = move.beforeThreadId ? order.indexOf(move.beforeThreadId) : order.length;
136
+ if (at < 0)
137
+ throw invalidRequest(`before thread ${move.beforeThreadId} is not in section ${move.sectionId}`);
138
+ order.splice(at, 0, move.threadId);
139
+ this.claude.setSectionOrder(move.sectionId, order);
140
+ return order.slice(at + 1).find(stockOwned) ?? null;
88
141
  }
89
142
  /** `thread/search`: stock matches plus Claude matches, projected onto public threads and sorted by time like stock. */
90
143
  async search(params) {
@@ -117,19 +170,21 @@ export class ThreadCatalog {
117
170
  const query = queryFingerprint({ searchTerm, ...listParams, sortDirection: null });
118
171
  return this.paginate("thread-search", results, (result) => result.thread, params, query, threadKey(listParams));
119
172
  }
120
- paginate(scope, entries, threadOf, params, query, key) {
173
+ paginate(scope, entries, threadOf, params, query, key, valueOf = (thread) => (key === "sectionRank" ? 0 : thread[key] ?? 0)) {
121
174
  const direction = params.sortDirection === "asc" ? "asc" : "desc";
122
175
  const cursor = this.cursors.decode(scope, params.cursor);
123
176
  if (cursor && (cursor.query !== query || cursor.direction !== direction || cursor.key !== key
124
177
  || typeof cursor.value !== "number" || typeof cursor.id !== "string")) {
125
178
  throw invalidParams("Thread pagination query changed; restart pagination.");
126
179
  }
127
- const anchor = cursor ? { [key]: cursor.value, id: cursor.id } : undefined;
128
- const catalog = entries.filter((entry) => !anchor || compareThreads(threadOf(entry), anchor, key, direction) > 0);
180
+ const sign = direction === "asc" ? 1 : -1;
181
+ const afterCursor = (thread) => !cursor
182
+ || (((valueOf(thread) - cursor.value) || thread.id.localeCompare(cursor.id)) * sign) > 0;
183
+ const catalog = entries.filter((entry) => afterCursor(threadOf(entry)));
129
184
  const limit = Math.max(1, Math.min(params.limit ?? (scope === "thread" ? 50 : 25), 100));
130
185
  const data = catalog.slice(0, limit);
131
186
  const cursorFor = (thread, cursorDirection) => this.cursors.encode(scope, {
132
- query, direction: cursorDirection, key, value: thread[key] ?? 0, id: thread.id,
187
+ query, direction: cursorDirection, key, value: valueOf(thread), id: thread.id,
133
188
  });
134
189
  return {
135
190
  data,
@@ -137,11 +192,14 @@ export class ThreadCatalog {
137
192
  backwardsCursor: data.length > 0 ? cursorFor(threadOf(data[0]), direction === "asc" ? "desc" : "asc") : null,
138
193
  };
139
194
  }
140
- async loaded(params) {
195
+ async loaded(params, projectSides) {
141
196
  const hidden = this.sideThreads?.hiddenIds
142
- ? { hiddenIds: this.sideThreads.hiddenIds.bind(this.sideThreads) }
197
+ ? {
198
+ hiddenIds: this.sideThreads.hiddenIds.bind(this.sideThreads),
199
+ loadedSideIds: () => this.sideThreads?.loadedSideIds?.() ?? [],
200
+ }
143
201
  : undefined;
144
- return mergedLoadedList(params, this.stock, this.claude, this.cursors, this.logical, hidden);
202
+ return mergedLoadedList(params, this.stock, this.claude, this.cursors, this.logical, hidden, projectSides);
145
203
  }
146
204
  async remoteSnapshot() {
147
205
  const [active, archived, activeStock, archivedStock, activeClaude, archivedClaude] = await Promise.all([
@@ -203,7 +261,7 @@ async function allStockLoaded(stock) {
203
261
  } while (cursor);
204
262
  return ids;
205
263
  }
206
- export async function mergedLoadedList(params, stock, claude, cursors, logical, sideThreads) {
264
+ export async function mergedLoadedList(params, stock, claude, cursors, logical, sideThreads, projectSides) {
207
265
  const [stockIds, stockThreads] = await Promise.all([
208
266
  allStockLoaded(stock),
209
267
  sideThreads ? allStockThreads(stock, { cursor: null }) : Promise.resolve([]),
@@ -211,9 +269,11 @@ export async function mergedLoadedList(params, stock, claude, cursors, logical,
211
269
  const hidden = sideThreads?.hiddenIds(stockThreads) ?? new Set();
212
270
  const visibleStockIds = stockIds.filter((id) => !hidden.has(id));
213
271
  const claudeIds = claude.loadedThreadIds();
214
- const data = logical
272
+ const projected = logical
215
273
  ? logical.projectLoadedThreadIds(visibleStockIds, claudeIds)
216
274
  : [...new Set([...visibleStockIds, ...claudeIds])];
275
+ const retained = [...new Set([...projected, ...sideThreads?.loadedSideIds?.() ?? []])];
276
+ const data = projectSides ? projectSides(retained) : retained;
217
277
  const version = createHash("sha256").update(data.join("\0")).digest("hex").slice(0, 16);
218
278
  const query = queryFingerprint({});
219
279
  const cursor = cursors.decode("loaded", params.cursor);
@@ -1 +1 @@
1
- {"version":3,"file":"threadList.js","sourceRoot":"","sources":["../../src/gateway/threadList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threadList.js","sourceRoot":"","sources":["../../src/gateway/threadList.ts"],"names":[],"mappings":"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"}
@@ -1939,6 +1939,7 @@ export class CrossProviderForks {
1939
1939
  threadId: resolved.epoch.backendThreadId,
1940
1940
  model: resolved.epoch.model,
1941
1941
  ephemeral: true,
1942
+ excludeTurns: true,
1942
1943
  threadSource: "subAgent",
1943
1944
  });
1944
1945
  try {