@gkorepanov/ccodex 0.5.0-rc.2 → 0.5.0-rc.21

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 (93) hide show
  1. package/README.md +156 -157
  2. package/claude/chat-formatting.md +25 -0
  3. package/config/compatibility.json +1 -1
  4. package/dist/claude/commandActions.d.ts +2 -0
  5. package/dist/claude/commandActions.js +43 -24
  6. package/dist/claude/commandActions.js.map +1 -1
  7. package/dist/claude/delegation.d.ts +10 -0
  8. package/dist/claude/delegation.js +41 -0
  9. package/dist/claude/delegation.js.map +1 -0
  10. package/dist/claude/native/catalog.d.ts +14 -0
  11. package/dist/claude/native/catalog.js +52 -17
  12. package/dist/claude/native/catalog.js.map +1 -1
  13. package/dist/claude/native/history.d.ts +8 -1
  14. package/dist/claude/native/history.js +43 -19
  15. package/dist/claude/native/history.js.map +1 -1
  16. package/dist/claude/native/pages.d.ts +54 -0
  17. package/dist/claude/native/pages.js +271 -0
  18. package/dist/claude/native/pages.js.map +1 -0
  19. package/dist/claude/native/projector.d.ts +18 -2
  20. package/dist/claude/native/projector.js +104 -46
  21. package/dist/claude/native/projector.js.map +1 -1
  22. package/dist/claude/native/records.d.ts +2 -0
  23. package/dist/claude/native/records.js +35 -13
  24. package/dist/claude/native/records.js.map +1 -1
  25. package/dist/claude/native/search.d.ts +7 -0
  26. package/dist/claude/native/search.js +79 -0
  27. package/dist/claude/native/search.js.map +1 -0
  28. package/dist/claude/native/summary.d.ts +6 -1
  29. package/dist/claude/native/summary.js +24 -6
  30. package/dist/claude/native/summary.js.map +1 -1
  31. package/dist/claude/peers.d.ts +4 -0
  32. package/dist/claude/peers.js +19 -5
  33. package/dist/claude/peers.js.map +1 -1
  34. package/dist/claude/processes.d.ts +2 -0
  35. package/dist/claude/processes.js +15 -0
  36. package/dist/claude/processes.js.map +1 -1
  37. package/dist/claude/sdk.d.ts +8 -2
  38. package/dist/claude/sdk.js +23 -6
  39. package/dist/claude/sdk.js.map +1 -1
  40. package/dist/claude/session.d.ts +34 -7
  41. package/dist/claude/session.js +184 -72
  42. package/dist/claude/session.js.map +1 -1
  43. package/dist/claude/threads.d.ts +61 -3
  44. package/dist/claude/threads.js +408 -100
  45. package/dist/claude/threads.js.map +1 -1
  46. package/dist/claude/toolMapper.d.ts +23 -3
  47. package/dist/claude/toolMapper.js +50 -1
  48. package/dist/claude/toolMapper.js.map +1 -1
  49. package/dist/cli/args.js +2 -1
  50. package/dist/cli/args.js.map +1 -1
  51. package/dist/config.d.ts +1 -0
  52. package/dist/config.js +7 -3
  53. package/dist/config.js.map +1 -1
  54. package/dist/daemon/daemon.d.ts +3 -0
  55. package/dist/daemon/daemon.js +6 -3
  56. package/dist/daemon/daemon.js.map +1 -1
  57. package/dist/daemon/supervisor.d.ts +8 -0
  58. package/dist/daemon/supervisor.js +15 -7
  59. package/dist/daemon/supervisor.js.map +1 -1
  60. package/dist/desktop/stdioFrontend.js +1 -1
  61. package/dist/desktop/stdioFrontend.js.map +1 -1
  62. package/dist/gateway/catalog.js +35 -20
  63. package/dist/gateway/catalog.js.map +1 -1
  64. package/dist/gateway/connection.js +2 -2
  65. package/dist/gateway/connection.js.map +1 -1
  66. package/dist/gateway/lineage.d.ts +29 -1
  67. package/dist/gateway/lineage.js +260 -38
  68. package/dist/gateway/lineage.js.map +1 -1
  69. package/dist/gateway/remote.js +3 -8
  70. package/dist/gateway/remote.js.map +1 -1
  71. package/dist/gateway/server.d.ts +2 -1
  72. package/dist/gateway/server.js +26 -13
  73. package/dist/gateway/server.js.map +1 -1
  74. package/dist/gateway/status.d.ts +15 -5
  75. package/dist/gateway/status.js +142 -47
  76. package/dist/gateway/status.js.map +1 -1
  77. package/dist/gateway/stock.js +17 -2
  78. package/dist/gateway/stock.js.map +1 -1
  79. package/dist/management/commands.d.ts +2 -0
  80. package/dist/management/commands.js +66 -3
  81. package/dist/management/commands.js.map +1 -1
  82. package/dist/meta.d.ts +39 -11
  83. package/dist/meta.js +59 -28
  84. package/dist/meta.js.map +1 -1
  85. package/dist/protocol/codex.d.ts +1 -3
  86. package/dist/protocol/codex.js +1 -4
  87. package/dist/protocol/codex.js.map +1 -1
  88. package/dist/protocol/turnPagination.d.ts +35 -2
  89. package/dist/protocol/turnPagination.js +53 -28
  90. package/dist/protocol/turnPagination.js.map +1 -1
  91. package/examples/config.toml +2 -2
  92. package/package.json +5 -4
  93. package/scripts/migrate-0.4-to-0.5.mjs +31 -20
@@ -1,4 +1,5 @@
1
1
  import type { PeerDirectory } from "../peers.js";
2
+ import { TranscriptPages, type PageSource } from "./pages.js";
2
3
  import { type TranscriptProjection } from "./projector.js";
3
4
  import { type TranscriptHeader } from "./summary.js";
4
5
  export interface SessionSummary extends TranscriptHeader {
@@ -7,6 +8,8 @@ export interface SessionSummary extends TranscriptHeader {
7
8
  readonly projectKey: string;
8
9
  readonly sizeBytes: number;
9
10
  readonly hasSubagents: boolean;
11
+ /** Proactive delegation (the `ultra` effort) as the transcript last told Claude. */
12
+ readonly delegating: boolean;
10
13
  }
11
14
  /** Where the summaries are kept between runs; `key` (the package version) drops them when the summarizer may differ. */
12
15
  export interface CatalogCache {
@@ -22,7 +25,9 @@ export declare class NativeSessionCatalog implements PeerDirectory {
22
25
  private ordered;
23
26
  private bySessionId;
24
27
  private refreshInFlight;
28
+ private refreshQueued;
25
29
  private readonly projections;
30
+ private readonly pagers;
26
31
  private senders;
27
32
  private receivers;
28
33
  bytesParsed: number;
@@ -34,7 +39,16 @@ export declare class NativeSessionCatalog implements PeerDirectory {
34
39
  sender(msgId: string): string | undefined;
35
40
  receiver(msgId: string): string | undefined;
36
41
  has(sessionId: string): boolean;
42
+ /** Session id → snippet for the sessions whose visible messages hold `term` (see `searchTranscripts`). */
43
+ search(claudeBinary: string, term: string): Promise<Map<string, string>>;
37
44
  projection(sessionId: string, leafUuid?: string): Promise<TranscriptProjection>;
45
+ /** Paged reads of a session's transcript (a page of history reads that page's part of the file), per history leaf. */
46
+ pages(sessionId: string, leafUuid?: string): {
47
+ pages: TranscriptPages;
48
+ source: PageSource;
49
+ };
50
+ /** The session's transcript is deleted: one written anew under its id may take the same inode. */
51
+ dropPages(sessionId: string): void;
38
52
  watch(onChange: () => void): () => void;
39
53
  private scan;
40
54
  /** Soon after a change, so a restart re-reads only what was written since. */
@@ -3,12 +3,15 @@ import { createHash } from "node:crypto";
3
3
  import { mkdirSync, readFileSync, watch as watchFileSystem } from "node:fs";
4
4
  import { open, readdir, rename, stat, writeFile } from "node:fs/promises";
5
5
  import { basename, join, resolve } from "node:path";
6
+ import { TranscriptPages } from "./pages.js";
6
7
  import { projectTranscript } from "./projector.js";
7
8
  import { readTranscriptRecords } from "./records.js";
9
+ import { searchTranscripts } from "./search.js";
8
10
  import { TranscriptSummarizer, } from "./summary.js";
9
11
  const HEAD_BYTES = 4_096;
10
12
  const CACHE_WRITE_DELAY_MS = 1_000;
11
13
  const PROJECTION_CACHE_SIZE = 8;
14
+ const PAGES_CACHE_SIZE = 16;
12
15
  const WATCH_DEBOUNCE_MS = 250;
13
16
  function ignored(error) {
14
17
  const code = error.code;
@@ -33,6 +36,13 @@ function readCache(cache) {
33
36
  return new Map();
34
37
  }
35
38
  }
39
+ function summaryOf(file, state) {
40
+ return {
41
+ ...new TranscriptSummarizer(state).header(),
42
+ sessionId: file.sessionId, path: file.path, projectKey: file.projectKey, sizeBytes: file.size, hasSubagents: file.hasSubagents,
43
+ delegating: state.delegating,
44
+ };
45
+ }
36
46
  async function hashHead(path, length) {
37
47
  const handle = await open(path, "r");
38
48
  try {
@@ -53,7 +63,9 @@ export class NativeSessionCatalog {
53
63
  ordered = [];
54
64
  bySessionId = new Map();
55
65
  refreshInFlight;
66
+ refreshQueued;
56
67
  projections = new Map();
68
+ pagers = new Map();
57
69
  senders = new Map();
58
70
  receivers = new Map();
59
71
  bytesParsed = 0;
@@ -65,8 +77,14 @@ export class NativeSessionCatalog {
65
77
  this.entries = readCache(cache);
66
78
  }
67
79
  refresh(_sessionId) {
68
- if (this.refreshInFlight)
69
- return this.refreshInFlight;
80
+ // A scan in flight may have begun before what the caller just wrote: one more follows it, for all who wait meanwhile.
81
+ if (this.refreshInFlight) {
82
+ this.refreshQueued ??= this.refreshInFlight.catch(() => undefined).then(() => {
83
+ this.refreshQueued = undefined;
84
+ return this.refresh();
85
+ });
86
+ return this.refreshQueued;
87
+ }
70
88
  const refresh = this.scan().finally(() => {
71
89
  if (this.refreshInFlight === refresh)
72
90
  this.refreshInFlight = undefined;
@@ -83,6 +101,11 @@ export class NativeSessionCatalog {
83
101
  sender(msgId) { return this.senders.get(msgId); }
84
102
  receiver(msgId) { return this.receivers.get(msgId); }
85
103
  has(sessionId) { return this.bySessionId.has(sessionId); }
104
+ /** Session id → snippet for the sessions whose visible messages hold `term` (see `searchTranscripts`). */
105
+ async search(claudeBinary, term) {
106
+ const found = await searchTranscripts(claudeBinary, this.projectsDir, term);
107
+ return new Map(this.ordered.flatMap((summary) => found.has(summary.path) ? [[summary.sessionId, found.get(summary.path)]] : []));
108
+ }
86
109
  async projection(sessionId, leafUuid) {
87
110
  const entry = this.entriesBySessionId.get(sessionId);
88
111
  if (!entry)
@@ -112,6 +135,29 @@ export class NativeSessionCatalog {
112
135
  void projection.catch(() => this.projections.delete(key));
113
136
  return projection;
114
137
  }
138
+ /** Paged reads of a session's transcript (a page of history reads that page's part of the file), per history leaf. */
139
+ pages(sessionId, leafUuid) {
140
+ const entry = this.entriesBySessionId.get(sessionId);
141
+ if (!entry)
142
+ throw new Error(`Unknown native Claude session: ${sessionId}`);
143
+ const path = entry.summary.path;
144
+ const key = `${sessionId}\0${leafUuid ?? ""}`;
145
+ const pages = this.pagers.get(key) ?? new TranscriptPages();
146
+ this.pagers.delete(key);
147
+ this.pagers.set(key, pages);
148
+ while (this.pagers.size > PAGES_CACHE_SIZE)
149
+ this.pagers.delete(this.pagers.keys().next().value);
150
+ return {
151
+ pages,
152
+ source: { sessionId, path, header: entry.summary, peers: this, peersVersion: `${this.senders.size}:${this.receivers.size}`, ...(leafUuid ? { leafUuid } : {}) },
153
+ };
154
+ }
155
+ /** The session's transcript is deleted: one written anew under its id may take the same inode. */
156
+ dropPages(sessionId) {
157
+ for (const key of this.pagers.keys())
158
+ if (key.startsWith(`${sessionId}\0`))
159
+ this.pagers.delete(key);
160
+ }
115
161
  watch(onChange) {
116
162
  // Claude creates it with its first session; a missing directory can't be watched for that session.
117
163
  mkdirSync(this.projectsDir, { recursive: true });
@@ -211,7 +257,7 @@ export class NativeSessionCatalog {
211
257
  this.cacheWrite = setTimeout(() => {
212
258
  this.cacheWrite = undefined;
213
259
  const temporary = `${cache.path}.${process.pid}.tmp`;
214
- void writeFile(temporary, JSON.stringify({ key: cache.key, entries: [...this.entries.values()] }), { mode: 0o600 })
260
+ void writeFile(temporary, JSON.stringify({ key: cache.key, entries: [...this.entries.values()].map((entry) => ({ ...entry, summary: undefined })) }), { mode: 0o600 })
215
261
  .then(() => rename(temporary, cache.path))
216
262
  .catch(() => undefined);
217
263
  }, CACHE_WRITE_DELAY_MS);
@@ -271,12 +317,8 @@ export class NativeSessionCatalog {
271
317
  }
272
318
  async summarize(file) {
273
319
  const previous = this.entries.get(file.path);
274
- if (previous && previous.mtimeMs === file.mtimeMs && previous.size === file.size) {
275
- return {
276
- ...previous,
277
- summary: { ...previous.summary, hasSubagents: file.hasSubagents },
278
- };
279
- }
320
+ if (previous && previous.mtimeMs === file.mtimeMs && previous.size === file.size)
321
+ return { ...previous, summary: summaryOf(file, previous.state) };
280
322
  let start = 0;
281
323
  let summarizer = new TranscriptSummarizer();
282
324
  if (previous && file.size >= previous.offset
@@ -302,14 +344,7 @@ export class NativeSessionCatalog {
302
344
  headLength,
303
345
  headHash: await hashHead(file.path, headLength),
304
346
  state: summarizer.snapshot(),
305
- summary: {
306
- ...summarizer.header(),
307
- sessionId: file.sessionId,
308
- path: file.path,
309
- projectKey: file.projectKey,
310
- sizeBytes: file.size,
311
- hasSubagents: file.hasSubagents,
312
- },
347
+ summary: summaryOf(file, summarizer.snapshot()),
313
348
  };
314
349
  }
315
350
  }
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/claude/native/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/claude/native/catalog.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,eAAe,EAAkB,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA6B,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,oBAAoB,GAGrB,MAAM,cAAc,CAAC;AAwCtB,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;IACnD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAKD,SAAS,SAAS,CAAC,KAAmB;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAA8C,CAAC;QACvG,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IACvI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAoB,EAAE,KAA6B;IACpE,OAAO;QACL,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;QAC3C,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY;QAC9H,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,oBAAoB;IAgB0B;IAfxC,WAAW,CAAS;IAC7B,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,kBAAkB,GAAG,IAAI,GAAG,EAAwB,CAAC;IACrD,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,OAAO,GAA8B,EAAE,CAAC;IACxC,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,eAAe,CAA4B;IAC3C,aAAa,CAA4B;IAChC,WAAW,GAAG,IAAI,GAAG,EAAyC,CAAC;IAC/D,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,WAAW,GAAG,CAAC,CAAC;IACf,UAAU,CAAkB;IAEpC,YAAmB,WAAmB,EAAmB,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;QAC3E,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,UAAmB;QAChC,sHAAsH;QACtH,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3E,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACvC,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO;gBAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,GAAG,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,KAAa,IAAwB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7E,QAAQ,CAAC,KAAa,IAAwB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjF,GAAG,CAAC,SAAiB,IAAa,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAElF,0GAA0G;IACnG,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,IAAY;QACpD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpI,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,QAAiB;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,gHAAgH;QAChH,6EAA6E;QAC7E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,KAAK,IAAI,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC;YACnC,SAAS;YACT,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,sHAAsH;IAC/G,KAAK,CAAC,SAAiB,EAAE,QAAiB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,SAAS,KAAK,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QACjG,OAAO;YACL,KAAK;YACL,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAChK,CAAC;IACJ,CAAC;IAED,kGAAkG;IAC3F,SAAS,CAAC,SAAiB;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IAEM,KAAK,CAAC,QAAoB;QAC/B,mGAAmG;QACnG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC9C,IAAI,KAAiC,CAAC;QACtC,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC;YACvC,IAAI,CAAC,WAAW;YAChB,GAAG,IAAI,CAAC,kBAAkB;SAC3B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACjC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACzF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;wBACvB,OAAO,CAAC,KAAK,EAAE,CAAC;wBAChB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,MAAM,KAAK,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,MAAM;oBAAE,OAAO;gBACnB,YAAY,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC,CAAC;QACF,SAAS,QAAQ;YACf,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAC5D,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAED,YAAY,EAAE,CAAC;QACf,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YACzD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACzD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACrC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM;eAC5G,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aACpD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAU,CAAC,CAAC,CAAC,CAAC;QACzH,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAU,CAAC,CAAC,CAAC,CAAC;IACjI,CAAC;IAED,8EAA8E;IACtE,UAAU;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YACrD,KAAK,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACnK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBAClE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBACtC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;gBACpC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC;YACV,IAAI,CAAC;gBACH,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC/D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAClE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAuC,EAAE;gBAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC3F,OAAO;wBACL,SAAS;wBACT,IAAI;wBACJ,UAAU,EAAE,OAAO,CAAC,IAAI;wBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,YAAY;qBACb,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,OAAO,CAAC,KAAK,CAAC;wBAAE,OAAO,SAAS,CAAC;oBACrC,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAoB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAEnJ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM;eACvC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1E,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;YACxB,UAAU,GAAG,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM;gBAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC;YACrC,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC;QAChC,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU;YACV,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAC/C,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;CACF"}
@@ -4,5 +4,12 @@ export interface SelectedHistory {
4
4
  readonly records: readonly TranscriptChainRecord[];
5
5
  readonly compactionBoundaries: ReadonlySet<string>;
6
6
  readonly leafUuid: string | null;
7
+ /** The walk stopped at a parent the records lack (a window of the transcript, not all of it). */
8
+ readonly truncated: boolean;
9
+ /** A selected compaction keeps messages the records lack (they precede it in the file): their order is unknown. */
10
+ readonly partialCompaction: boolean;
11
+ /** The compaction past which the walk followed the file's own order (older records read as written). */
12
+ readonly physicalFrom: string | null;
7
13
  }
8
- export declare function selectHistory(input: readonly TranscriptRecord[], leafUuid?: string): SelectedHistory;
14
+ /** `physical`: the leaf lies past a later compaction (a window of older history), where the walk reads records as written. */
15
+ export declare function selectHistory(input: readonly TranscriptRecord[], leafUuid?: string, physical?: boolean): SelectedHistory;
@@ -7,13 +7,17 @@ function isToolResult(record) {
7
7
  return record.type === "user" && record.parentUuid !== null && Array.isArray(record.message.content)
8
8
  && record.message.content.some((block) => block.type === "tool_result");
9
9
  }
10
- function relinkCompactions(records) {
10
+ function relinkCompactions(records, partial) {
11
11
  const linked = new Map(records);
12
12
  for (const record of linked.values()) {
13
13
  if (!isCompactBoundary(record))
14
14
  continue;
15
15
  const messages = record.compactMetadata?.preservedMessages;
16
16
  const segment = record.compactMetadata?.preservedSegment;
17
+ // Its anchor follows it: without the anchor, nothing links (the file lacks the kept messages too).
18
+ if (messages && linked.has(messages.anchorUuid) && messages.uuids.some((uuid) => !linked.has(uuid))
19
+ || segment && linked.has(segment.anchorUuid) && (!linked.has(segment.headUuid) || !linked.has(segment.tailUuid)))
20
+ partial.add(record.uuid);
17
21
  if (messages) {
18
22
  if (messages.uuids.length === 0 || messages.uuids.some((uuid) => !linked.has(uuid)))
19
23
  continue;
@@ -47,16 +51,24 @@ function siblingBlocks(records, selected) {
47
51
  const selectedAssistants = selected.filter((record) => record.type === "assistant");
48
52
  if (selectedAssistants.length === 0)
49
53
  return [...selected];
54
+ // An API message's records, as written: one message never spans a prompt (0.4's restored turns share one id).
55
+ const responseOf = new Map();
50
56
  const assistantsByMessage = new Map();
51
57
  const resultsByParent = new Map();
52
58
  const fileOrder = new Map();
59
+ let prompts = 0;
53
60
  for (const [index, record] of [...records.values()].entries()) {
54
61
  fileOrder.set(record.uuid, index);
55
62
  const messageId = apiMessageId(record);
56
63
  if (messageId) {
57
- const values = assistantsByMessage.get(messageId) ?? [];
64
+ const response = `${prompts}:${messageId}`;
65
+ responseOf.set(record.uuid, response);
66
+ const values = assistantsByMessage.get(response) ?? [];
58
67
  values.push(record);
59
- assistantsByMessage.set(messageId, values);
68
+ assistantsByMessage.set(response, values);
69
+ }
70
+ else if (record.type === "user" && record.isMeta !== true && !isToolResult(record)) {
71
+ prompts += 1;
60
72
  }
61
73
  else if (isToolResult(record)) {
62
74
  const values = resultsByParent.get(record.parentUuid) ?? [];
@@ -77,16 +89,16 @@ function siblingBlocks(records, selected) {
77
89
  for (const record of selected) {
78
90
  if (expandedUuids.has(record.uuid))
79
91
  continue;
80
- const messageId = apiMessageId(record);
81
- if (!messageId) {
92
+ const response = responseOf.get(record.uuid);
93
+ if (!response) {
82
94
  expandedUuids.add(record.uuid);
83
95
  expanded.push(record);
84
96
  continue;
85
97
  }
86
- if (expandedMessages.has(messageId))
98
+ if (expandedMessages.has(response))
87
99
  continue;
88
- expandedMessages.add(messageId);
89
- const responseRecords = [...(assistantsByMessage.get(messageId) ?? [record])].sort(byResponseOrder);
100
+ expandedMessages.add(response);
101
+ const responseRecords = [...assistantsByMessage.get(response)].sort(byResponseOrder);
90
102
  const toolResults = [];
91
103
  for (const responseRecord of responseRecords) {
92
104
  for (const result of resultsByParent.get(responseRecord.uuid) ?? []) {
@@ -104,24 +116,27 @@ function siblingBlocks(records, selected) {
104
116
  return expanded;
105
117
  }
106
118
  /** A message another agent sent: a meta record Claude answers like a prompt, or (while it works) a queued command. */
107
- function peerMessage(record) {
119
+ /** Another agent's message, or any message Claude folded into a running turn (a steer too). */
120
+ function sentMessage(record) {
108
121
  if (record.type === "user")
109
122
  return record.origin?.kind === "peer";
110
123
  const attachment = record.type === "attachment" ? record.attachment : undefined;
111
- return attachment?.type === "queued_command" && attachment.origin?.kind === "peer";
124
+ return attachment?.type === "queued_command";
112
125
  }
113
126
  function visible(record) {
114
- const peer = peerMessage(record);
127
+ const peer = sentMessage(record);
115
128
  if (record.type !== "user" && record.type !== "assistant" && record.type !== "system" && !peer)
116
129
  return false;
117
130
  return (record.isMeta !== true || peer) && record.isSidechain !== true && !record.teamName;
118
131
  }
119
- export function selectHistory(input, leafUuid) {
132
+ /** `physical`: the leaf lies past a later compaction (a window of older history), where the walk reads records as written. */
133
+ export function selectHistory(input, leafUuid, physical = false) {
120
134
  const chain = input.filter(isChainRecord);
121
135
  const lastWins = new Map();
122
136
  for (const record of chain)
123
137
  lastWins.set(record.uuid, record);
124
- const records = relinkCompactions(lastWins);
138
+ const partial = new Set();
139
+ const records = relinkCompactions(lastWins, partial);
125
140
  const positions = new Map();
126
141
  chain.forEach((record, index) => positions.set(record.uuid, index));
127
142
  const occurrences = new Map();
@@ -156,7 +171,7 @@ export function selectHistory(input, leafUuid) {
156
171
  }
157
172
  }
158
173
  if (conversationalLeaves.length === 0) {
159
- return { records: [], compactionBoundaries: new Set(), leafUuid: null };
174
+ return { records: [], compactionBoundaries: new Set(), leafUuid: null, truncated: false, partialCompaction: false, physicalFrom: null };
160
175
  }
161
176
  const preferred = conversationalLeaves.filter(({ conversational }) => conversational.isSidechain !== true && !conversational.teamName && conversational.isMeta !== true);
162
177
  const candidates = preferred.length > 0 ? preferred : conversationalLeaves;
@@ -164,10 +179,12 @@ export function selectHistory(input, leafUuid) {
164
179
  }
165
180
  const reversed = [];
166
181
  const selectedUuids = new Set();
167
- let cursor = records.get(leaf.uuid);
168
- let physicalWalk = false;
182
+ let physicalWalk = physical;
169
183
  let snapshotLimit = chain.length;
184
+ let physicalFrom = null;
185
+ let cursor = physical ? before(leaf.uuid, snapshotLimit) : records.get(leaf.uuid);
170
186
  const seenPhysicalRecords = new Set();
187
+ let missing;
171
188
  while (cursor) {
172
189
  if (physicalWalk && selectedUuids.has(cursor.uuid)) {
173
190
  if (seenPhysicalRecords.has(cursor))
@@ -181,13 +198,17 @@ export function selectHistory(input, leafUuid) {
181
198
  selectedUuids.add(cursor.uuid);
182
199
  reversed.push(cursor);
183
200
  if (isCompactBoundary(cursor) && cursor.logicalParentUuid) {
201
+ if (!physicalWalk)
202
+ physicalFrom = cursor.uuid;
184
203
  physicalWalk = true;
185
204
  snapshotLimit = positions.get(cursor.uuid) ?? snapshotLimit;
186
- cursor = before(cursor.logicalParentUuid, snapshotLimit);
205
+ missing = cursor.logicalParentUuid;
206
+ cursor = before(missing, snapshotLimit);
187
207
  }
188
208
  else {
189
- cursor = cursor.parentUuid
190
- ? (physicalWalk ? before(cursor.parentUuid, snapshotLimit) : records.get(cursor.parentUuid))
209
+ missing = cursor.parentUuid;
210
+ cursor = missing
211
+ ? (physicalWalk ? before(missing, snapshotLimit) : records.get(missing))
191
212
  : undefined;
192
213
  }
193
214
  }
@@ -196,6 +217,9 @@ export function selectHistory(input, leafUuid) {
196
217
  records: selected,
197
218
  compactionBoundaries: new Set(selected.filter(isCompactBoundary).map((record) => record.uuid)),
198
219
  leafUuid: leaf.uuid,
220
+ truncated: Boolean(missing) && !occurrences.has(missing),
221
+ partialCompaction: reversed.some((record) => partial.has(record.uuid)),
222
+ physicalFrom,
199
223
  };
200
224
  }
201
225
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/claude/native/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/claude/native/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { Turn } from "../../protocol/codex.js";
2
+ import type { PeerDirectory } from "../peers.js";
3
+ import { type TranscriptProjection } from "./projector.js";
4
+ import type { TranscriptHeader } from "./summary.js";
5
+ export interface PageSource {
6
+ readonly sessionId: string;
7
+ readonly path: string;
8
+ readonly header: TranscriptHeader;
9
+ readonly peers: PeerDirectory;
10
+ /** Changes when the peers can link more messages (their projection differs). */
11
+ readonly peersVersion: string;
12
+ /** The rolled-back-to record; else the latest one. */
13
+ readonly leafUuid?: string;
14
+ }
15
+ export interface TurnWindow {
16
+ /** Complete turns, oldest first. */
17
+ readonly turns: readonly Turn[];
18
+ /** History goes on before them. */
19
+ readonly older: boolean;
20
+ readonly projection: TranscriptProjection;
21
+ }
22
+ export declare class TranscriptPages {
23
+ private readonly chunkBytes;
24
+ /** The newest part of the file; follows Claude's writes. */
25
+ private live?;
26
+ private readonly places;
27
+ /**
28
+ * How background commands ended, from every part of the file read. A turn is read after the turns that follow it
29
+ * (pages go back from the end), so its commands' ends are known by then.
30
+ */
31
+ private readonly ends;
32
+ /** Windows projected lately, newest first, for the file as it was (`key`). */
33
+ private recent;
34
+ private queue;
35
+ constructor(chunkBytes?: number);
36
+ /** The newest turns: at least `count` of them unless history is shorter. */
37
+ newest(source: PageSource, count: number): Promise<TurnWindow>;
38
+ /** The window of `turnId` (the last of its turns unless it is the newest) with at least `before` turns before it. */
39
+ around(source: PageSource, turnId: string, before: number): Promise<TurnWindow>;
40
+ /** The newest turns back to the one holding the record at `offset` (bytes into the file). */
41
+ reaching(source: PageSource, offset: number): Promise<TurnWindow>;
42
+ /** The newest turns back to `turnId`. */
43
+ since(source: PageSource, turnId: string): Promise<TurnWindow>;
44
+ /** The last record of the turn before `turnId` (of `turnId` itself when `inclusive`); null before the first turn. */
45
+ boundary(source: PageSource, turnId: string, inclusive: boolean): Promise<string | null>;
46
+ /** The windows projected lately, while the file is as it was then. */
47
+ private recentWindows;
48
+ private remember;
49
+ private serial;
50
+ private liveWindow;
51
+ /** Reads the window back until its turns are `enough` or history starts in it. */
52
+ private fill;
53
+ private index;
54
+ }