@gkorepanov/ccodex 0.5.0-rc.1 → 0.5.0-rc.11
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.
- package/README.md +9 -3
- package/config/compatibility.json +1 -1
- package/dist/claude/commandActions.d.ts +2 -0
- package/dist/claude/commandActions.js +43 -24
- package/dist/claude/commandActions.js.map +1 -1
- package/dist/claude/native/catalog.d.ts +11 -0
- package/dist/claude/native/catalog.js +42 -15
- package/dist/claude/native/catalog.js.map +1 -1
- package/dist/claude/native/history.d.ts +8 -1
- package/dist/claude/native/history.js +39 -16
- package/dist/claude/native/history.js.map +1 -1
- package/dist/claude/native/pages.d.ts +52 -0
- package/dist/claude/native/pages.js +266 -0
- package/dist/claude/native/pages.js.map +1 -0
- package/dist/claude/native/projector.d.ts +18 -2
- package/dist/claude/native/projector.js +83 -37
- package/dist/claude/native/projector.js.map +1 -1
- package/dist/claude/native/records.d.ts +2 -0
- package/dist/claude/native/records.js +17 -14
- package/dist/claude/native/records.js.map +1 -1
- package/dist/claude/native/search.d.ts +9 -0
- package/dist/claude/native/search.js +61 -0
- package/dist/claude/native/search.js.map +1 -0
- package/dist/claude/native/summary.d.ts +2 -0
- package/dist/claude/native/summary.js +5 -1
- package/dist/claude/native/summary.js.map +1 -1
- package/dist/claude/peers.d.ts +2 -0
- package/dist/claude/peers.js +6 -1
- package/dist/claude/peers.js.map +1 -1
- package/dist/claude/sdk.d.ts +8 -3
- package/dist/claude/sdk.js +15 -5
- package/dist/claude/sdk.js.map +1 -1
- package/dist/claude/session.d.ts +13 -4
- package/dist/claude/session.js +75 -46
- package/dist/claude/session.js.map +1 -1
- package/dist/claude/threads.d.ts +22 -0
- package/dist/claude/threads.js +182 -59
- package/dist/claude/threads.js.map +1 -1
- package/dist/claude/toolMapper.d.ts +16 -3
- package/dist/claude/toolMapper.js +37 -1
- package/dist/claude/toolMapper.js.map +1 -1
- package/dist/cli/args.js +2 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +6 -2
- package/dist/config.js.map +1 -1
- package/dist/daemon/daemon.d.ts +3 -0
- package/dist/daemon/daemon.js +6 -3
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/supervisor.d.ts +8 -0
- package/dist/daemon/supervisor.js +15 -7
- package/dist/daemon/supervisor.js.map +1 -1
- package/dist/desktop/stdioFrontend.js +1 -1
- package/dist/desktop/stdioFrontend.js.map +1 -1
- package/dist/gateway/catalog.js +35 -20
- package/dist/gateway/catalog.js.map +1 -1
- package/dist/gateway/lineage.d.ts +20 -0
- package/dist/gateway/lineage.js +135 -8
- package/dist/gateway/lineage.js.map +1 -1
- package/dist/gateway/remote.js +3 -8
- package/dist/gateway/remote.js.map +1 -1
- package/dist/gateway/server.js +2 -1
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/stock.js +17 -2
- package/dist/gateway/stock.js.map +1 -1
- package/dist/meta.d.ts +9 -11
- package/dist/meta.js +30 -32
- package/dist/meta.js.map +1 -1
- package/dist/protocol/turnPagination.d.ts +10 -2
- package/dist/protocol/turnPagination.js +14 -28
- package/dist/protocol/turnPagination.js.map +1 -1
- package/package.json +4 -4
- package/scripts/migrate-0.4-to-0.5.mjs +37 -23
package/README.md
CHANGED
|
@@ -135,9 +135,11 @@ version takes over after `codex app-server daemon restart`.
|
|
|
135
135
|
### Upgrading from 0.4
|
|
136
136
|
|
|
137
137
|
0.5 drops the 0.4 databases. `ccodex setup` (also when 0.4's setup hands over to 0.5)
|
|
138
|
-
carries
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
carries provider-switch history, archive flags, sections and names over once, before it
|
|
139
|
+
activates 0.5; a failed migration activates nothing. Claude chats get their Claude session
|
|
140
|
+
ids (links to 0.4 thread ids stop working); 0.4's `/btw` side chats are archived. Claude
|
|
141
|
+
chats whose transcripts Claude's 30-day cleanup deleted come back from 0.4's turns as text.
|
|
142
|
+
The 0.4 databases move to `~/.ccodex.0.4-backup`. Then:
|
|
141
143
|
|
|
142
144
|
```sh
|
|
143
145
|
codex app-server daemon restart
|
|
@@ -162,6 +164,10 @@ keep working):
|
|
|
162
164
|
newline-delimited JSON to the existing app-server-control socket, lazily starts the
|
|
163
165
|
gateway when cold, and reconnects after gateway restarts. Provider state and lifecycle
|
|
164
166
|
remain exclusively inside the existing gateway.
|
|
167
|
+
- A gateway started otherwise (from a terminal, or for an earlier App launch) is replaced
|
|
168
|
+
at once by one the frontend starts: the App lets only processes under it use its
|
|
169
|
+
browser (Browser Use), and that gateway runs with the App's environment. Chats running
|
|
170
|
+
in the old gateway stop, as the App's own chats stop when it quits.
|
|
165
171
|
- There is **no extra macOS gateway service**. The same PID-managed gateway used over SSH
|
|
166
172
|
starts lazily when the App connects and stops through the existing daemon contract.
|
|
167
173
|
Setup/update/rollback only switch files and ask you to reconnect; they never restart a
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { CommandAction } from "../protocol/codex.js";
|
|
2
|
+
/** Parses the commands not parsed yet in one run of the parser (a page of history has hundreds), off the event loop. */
|
|
3
|
+
export declare function parseCommands(commands: readonly string[]): Promise<void>;
|
|
2
4
|
export declare function bashCommandActions(command: string, cwd: string): CommandAction[];
|
|
@@ -1,41 +1,60 @@
|
|
|
1
|
-
import { spawnSync } from "node:child_process";
|
|
1
|
+
import { execFile, spawnSync } from "node:child_process";
|
|
2
2
|
import { isAbsolute, resolve } from "node:path";
|
|
3
3
|
import { relayBinary } from "../gateway/remote.js";
|
|
4
|
+
/** Each command's parse, a failed one too (history projects the same commands page after page). */
|
|
4
5
|
const cache = new Map();
|
|
5
|
-
const maxCacheEntries =
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const maxCacheEntries = 16_384;
|
|
7
|
+
let binary;
|
|
8
|
+
function parserBinary() {
|
|
9
|
+
if (binary !== undefined)
|
|
10
|
+
return binary;
|
|
8
11
|
try {
|
|
9
|
-
binary = process.env.CCODEX_COMMAND_PARSER ?? relayBinary();
|
|
12
|
+
return binary = process.env.CCODEX_COMMAND_PARSER ?? relayBinary();
|
|
10
13
|
}
|
|
11
14
|
catch {
|
|
12
|
-
return
|
|
15
|
+
return binary = null;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
input: command,
|
|
20
|
-
encoding: "utf8",
|
|
21
|
-
timeout: 2_000,
|
|
22
|
-
maxBuffer: 1_048_576,
|
|
23
|
-
});
|
|
24
|
-
if (result.error || result.status !== 0)
|
|
17
|
+
}
|
|
18
|
+
const RUN = { encoding: "utf8", timeout: 10_000, maxBuffer: 64 << 20 };
|
|
19
|
+
/** The parser's answer for `commands`, or undefined when it failed. */
|
|
20
|
+
function decode(stdout, commands) {
|
|
21
|
+
if (stdout === undefined)
|
|
25
22
|
return undefined;
|
|
26
23
|
try {
|
|
27
|
-
const value = JSON.parse(
|
|
28
|
-
|
|
29
|
-
return undefined;
|
|
30
|
-
if (cache.size >= maxCacheEntries)
|
|
31
|
-
cache.delete(cache.keys().next().value);
|
|
32
|
-
cache.set(key, value);
|
|
33
|
-
return value;
|
|
24
|
+
const value = JSON.parse(stdout);
|
|
25
|
+
return Array.isArray(value) && value.length === commands.length ? value : undefined;
|
|
34
26
|
}
|
|
35
27
|
catch {
|
|
36
28
|
return undefined;
|
|
37
29
|
}
|
|
38
30
|
}
|
|
31
|
+
function remember(commands, values) {
|
|
32
|
+
commands.forEach((command, index) => {
|
|
33
|
+
if (cache.size >= maxCacheEntries)
|
|
34
|
+
cache.delete(cache.keys().next().value);
|
|
35
|
+
cache.set(command, values?.[index]);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/** Parses the commands not parsed yet in one run of the parser (a page of history has hundreds), off the event loop. */
|
|
39
|
+
export async function parseCommands(commands) {
|
|
40
|
+
const parser = parserBinary();
|
|
41
|
+
const fresh = [...new Set(commands)].filter((command) => command && !cache.has(command));
|
|
42
|
+
if (!parser || !fresh.length)
|
|
43
|
+
return;
|
|
44
|
+
const stdout = await new Promise((resolve) => {
|
|
45
|
+
execFile(parser, ["parse-commands"], RUN, (error, output) => resolve(error ? undefined : output)).stdin?.end(JSON.stringify(fresh));
|
|
46
|
+
});
|
|
47
|
+
remember(fresh, decode(stdout, fresh));
|
|
48
|
+
}
|
|
49
|
+
/** One live command's parse, at once (history's are parsed a page at a time). */
|
|
50
|
+
function parsed(command) {
|
|
51
|
+
const parser = parserBinary();
|
|
52
|
+
if (parser && !cache.has(command)) {
|
|
53
|
+
const result = spawnSync(parser, ["parse-commands"], { ...RUN, input: JSON.stringify([command]) });
|
|
54
|
+
remember([command], decode(result.error || result.status !== 0 ? undefined : result.stdout, [command]));
|
|
55
|
+
}
|
|
56
|
+
return cache.get(command);
|
|
57
|
+
}
|
|
39
58
|
export function bashCommandActions(command, cwd) {
|
|
40
59
|
if (!command)
|
|
41
60
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandActions.js","sourceRoot":"","sources":["../../src/claude/commandActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"commandActions.js","sourceRoot":"","sources":["../../src/claude/commandActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASnD,mGAAmG;AACnG,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgD,CAAC;AACtE,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,IAAI,MAAiC,CAAC;AAEtC,SAAS,YAAY;IACnB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,WAAW,EAAE,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAW,CAAC;AAEhF,uEAAuE;AACvE,SAAS,MAAM,CAAC,MAA0B,EAAE,QAA2B;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;QACtD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,QAA2B,EAAE,MAAyD;IACtG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,KAAK,CAAC,IAAI,IAAI,eAAe;YAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QAC5E,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wHAAwH;AACxH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAA2B;IAC7D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACzF,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO;IACrC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,EAAE;QAC/D,QAAQ,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACtI,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,iFAAiF;AACjF,SAAS,MAAM,CAAC,OAAe;IAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACnG,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,GAAW;IAC7D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAiB,EAAE;QAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACvG,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACrH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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 {
|
|
@@ -23,6 +24,7 @@ export declare class NativeSessionCatalog implements PeerDirectory {
|
|
|
23
24
|
private bySessionId;
|
|
24
25
|
private refreshInFlight;
|
|
25
26
|
private readonly projections;
|
|
27
|
+
private readonly pagers;
|
|
26
28
|
private senders;
|
|
27
29
|
private receivers;
|
|
28
30
|
bytesParsed: number;
|
|
@@ -34,7 +36,16 @@ export declare class NativeSessionCatalog implements PeerDirectory {
|
|
|
34
36
|
sender(msgId: string): string | undefined;
|
|
35
37
|
receiver(msgId: string): string | undefined;
|
|
36
38
|
has(sessionId: string): boolean;
|
|
39
|
+
/** Session id → snippet for the sessions whose visible messages hold `term` (see `searchTranscripts`). */
|
|
40
|
+
search(claudeBinary: string, term: string): Promise<Map<string, string>>;
|
|
37
41
|
projection(sessionId: string, leafUuid?: string): Promise<TranscriptProjection>;
|
|
42
|
+
/** Paged reads of a session's transcript (a page of history reads that page's part of the file), per history leaf. */
|
|
43
|
+
pages(sessionId: string, leafUuid?: string): {
|
|
44
|
+
pages: TranscriptPages;
|
|
45
|
+
source: PageSource;
|
|
46
|
+
};
|
|
47
|
+
/** The session's transcript is deleted: one written anew under its id may take the same inode. */
|
|
48
|
+
dropPages(sessionId: string): void;
|
|
38
49
|
watch(onChange: () => void): () => void;
|
|
39
50
|
private scan;
|
|
40
51
|
/** 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,12 @@ 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
|
+
};
|
|
44
|
+
}
|
|
36
45
|
async function hashHead(path, length) {
|
|
37
46
|
const handle = await open(path, "r");
|
|
38
47
|
try {
|
|
@@ -54,6 +63,7 @@ export class NativeSessionCatalog {
|
|
|
54
63
|
bySessionId = new Map();
|
|
55
64
|
refreshInFlight;
|
|
56
65
|
projections = new Map();
|
|
66
|
+
pagers = new Map();
|
|
57
67
|
senders = new Map();
|
|
58
68
|
receivers = new Map();
|
|
59
69
|
bytesParsed = 0;
|
|
@@ -83,6 +93,11 @@ export class NativeSessionCatalog {
|
|
|
83
93
|
sender(msgId) { return this.senders.get(msgId); }
|
|
84
94
|
receiver(msgId) { return this.receivers.get(msgId); }
|
|
85
95
|
has(sessionId) { return this.bySessionId.has(sessionId); }
|
|
96
|
+
/** Session id → snippet for the sessions whose visible messages hold `term` (see `searchTranscripts`). */
|
|
97
|
+
async search(claudeBinary, term) {
|
|
98
|
+
const found = await searchTranscripts(claudeBinary, this.projectsDir, term);
|
|
99
|
+
return new Map(this.ordered.flatMap((summary) => found.has(summary.path) ? [[summary.sessionId, found.get(summary.path)]] : []));
|
|
100
|
+
}
|
|
86
101
|
async projection(sessionId, leafUuid) {
|
|
87
102
|
const entry = this.entriesBySessionId.get(sessionId);
|
|
88
103
|
if (!entry)
|
|
@@ -112,6 +127,29 @@ export class NativeSessionCatalog {
|
|
|
112
127
|
void projection.catch(() => this.projections.delete(key));
|
|
113
128
|
return projection;
|
|
114
129
|
}
|
|
130
|
+
/** Paged reads of a session's transcript (a page of history reads that page's part of the file), per history leaf. */
|
|
131
|
+
pages(sessionId, leafUuid) {
|
|
132
|
+
const entry = this.entriesBySessionId.get(sessionId);
|
|
133
|
+
if (!entry)
|
|
134
|
+
throw new Error(`Unknown native Claude session: ${sessionId}`);
|
|
135
|
+
const path = entry.summary.path;
|
|
136
|
+
const key = `${sessionId}\0${leafUuid ?? ""}`;
|
|
137
|
+
const pages = this.pagers.get(key) ?? new TranscriptPages();
|
|
138
|
+
this.pagers.delete(key);
|
|
139
|
+
this.pagers.set(key, pages);
|
|
140
|
+
while (this.pagers.size > PAGES_CACHE_SIZE)
|
|
141
|
+
this.pagers.delete(this.pagers.keys().next().value);
|
|
142
|
+
return {
|
|
143
|
+
pages,
|
|
144
|
+
source: { sessionId, path, header: entry.summary, peers: this, peersVersion: `${this.senders.size}:${this.receivers.size}`, ...(leafUuid ? { leafUuid } : {}) },
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/** The session's transcript is deleted: one written anew under its id may take the same inode. */
|
|
148
|
+
dropPages(sessionId) {
|
|
149
|
+
for (const key of this.pagers.keys())
|
|
150
|
+
if (key.startsWith(`${sessionId}\0`))
|
|
151
|
+
this.pagers.delete(key);
|
|
152
|
+
}
|
|
115
153
|
watch(onChange) {
|
|
116
154
|
// Claude creates it with its first session; a missing directory can't be watched for that session.
|
|
117
155
|
mkdirSync(this.projectsDir, { recursive: true });
|
|
@@ -211,7 +249,7 @@ export class NativeSessionCatalog {
|
|
|
211
249
|
this.cacheWrite = setTimeout(() => {
|
|
212
250
|
this.cacheWrite = undefined;
|
|
213
251
|
const temporary = `${cache.path}.${process.pid}.tmp`;
|
|
214
|
-
void writeFile(temporary, JSON.stringify({ key: cache.key, entries: [...this.entries.values()] }), { mode: 0o600 })
|
|
252
|
+
void writeFile(temporary, JSON.stringify({ key: cache.key, entries: [...this.entries.values()].map((entry) => ({ ...entry, summary: undefined })) }), { mode: 0o600 })
|
|
215
253
|
.then(() => rename(temporary, cache.path))
|
|
216
254
|
.catch(() => undefined);
|
|
217
255
|
}, CACHE_WRITE_DELAY_MS);
|
|
@@ -271,12 +309,8 @@ export class NativeSessionCatalog {
|
|
|
271
309
|
}
|
|
272
310
|
async summarize(file) {
|
|
273
311
|
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
|
-
}
|
|
312
|
+
if (previous && previous.mtimeMs === file.mtimeMs && previous.size === file.size)
|
|
313
|
+
return { ...previous, summary: summaryOf(file, previous.state) };
|
|
280
314
|
let start = 0;
|
|
281
315
|
let summarizer = new TranscriptSummarizer();
|
|
282
316
|
if (previous && file.size >= previous.offset
|
|
@@ -302,14 +336,7 @@ export class NativeSessionCatalog {
|
|
|
302
336
|
headLength,
|
|
303
337
|
headHash: await hashHead(file.path, headLength),
|
|
304
338
|
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
|
-
},
|
|
339
|
+
summary: summaryOf(file, summarizer.snapshot()),
|
|
313
340
|
};
|
|
314
341
|
}
|
|
315
342
|
}
|
|
@@ -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":"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"}
|
|
@@ -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
|
-
|
|
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
|
|
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(
|
|
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
|
|
81
|
-
if (!
|
|
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(
|
|
98
|
+
if (expandedMessages.has(response))
|
|
87
99
|
continue;
|
|
88
|
-
expandedMessages.add(
|
|
89
|
-
const responseRecords = [...
|
|
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) ?? []) {
|
|
@@ -116,12 +128,14 @@ function visible(record) {
|
|
|
116
128
|
return false;
|
|
117
129
|
return (record.isMeta !== true || peer) && record.isSidechain !== true && !record.teamName;
|
|
118
130
|
}
|
|
119
|
-
|
|
131
|
+
/** `physical`: the leaf lies past a later compaction (a window of older history), where the walk reads records as written. */
|
|
132
|
+
export function selectHistory(input, leafUuid, physical = false) {
|
|
120
133
|
const chain = input.filter(isChainRecord);
|
|
121
134
|
const lastWins = new Map();
|
|
122
135
|
for (const record of chain)
|
|
123
136
|
lastWins.set(record.uuid, record);
|
|
124
|
-
const
|
|
137
|
+
const partial = new Set();
|
|
138
|
+
const records = relinkCompactions(lastWins, partial);
|
|
125
139
|
const positions = new Map();
|
|
126
140
|
chain.forEach((record, index) => positions.set(record.uuid, index));
|
|
127
141
|
const occurrences = new Map();
|
|
@@ -156,7 +170,7 @@ export function selectHistory(input, leafUuid) {
|
|
|
156
170
|
}
|
|
157
171
|
}
|
|
158
172
|
if (conversationalLeaves.length === 0) {
|
|
159
|
-
return { records: [], compactionBoundaries: new Set(), leafUuid: null };
|
|
173
|
+
return { records: [], compactionBoundaries: new Set(), leafUuid: null, truncated: false, partialCompaction: false, physicalFrom: null };
|
|
160
174
|
}
|
|
161
175
|
const preferred = conversationalLeaves.filter(({ conversational }) => conversational.isSidechain !== true && !conversational.teamName && conversational.isMeta !== true);
|
|
162
176
|
const candidates = preferred.length > 0 ? preferred : conversationalLeaves;
|
|
@@ -164,10 +178,12 @@ export function selectHistory(input, leafUuid) {
|
|
|
164
178
|
}
|
|
165
179
|
const reversed = [];
|
|
166
180
|
const selectedUuids = new Set();
|
|
167
|
-
let
|
|
168
|
-
let physicalWalk = false;
|
|
181
|
+
let physicalWalk = physical;
|
|
169
182
|
let snapshotLimit = chain.length;
|
|
183
|
+
let physicalFrom = null;
|
|
184
|
+
let cursor = physical ? before(leaf.uuid, snapshotLimit) : records.get(leaf.uuid);
|
|
170
185
|
const seenPhysicalRecords = new Set();
|
|
186
|
+
let missing;
|
|
171
187
|
while (cursor) {
|
|
172
188
|
if (physicalWalk && selectedUuids.has(cursor.uuid)) {
|
|
173
189
|
if (seenPhysicalRecords.has(cursor))
|
|
@@ -181,13 +197,17 @@ export function selectHistory(input, leafUuid) {
|
|
|
181
197
|
selectedUuids.add(cursor.uuid);
|
|
182
198
|
reversed.push(cursor);
|
|
183
199
|
if (isCompactBoundary(cursor) && cursor.logicalParentUuid) {
|
|
200
|
+
if (!physicalWalk)
|
|
201
|
+
physicalFrom = cursor.uuid;
|
|
184
202
|
physicalWalk = true;
|
|
185
203
|
snapshotLimit = positions.get(cursor.uuid) ?? snapshotLimit;
|
|
186
|
-
|
|
204
|
+
missing = cursor.logicalParentUuid;
|
|
205
|
+
cursor = before(missing, snapshotLimit);
|
|
187
206
|
}
|
|
188
207
|
else {
|
|
189
|
-
|
|
190
|
-
|
|
208
|
+
missing = cursor.parentUuid;
|
|
209
|
+
cursor = missing
|
|
210
|
+
? (physicalWalk ? before(missing, snapshotLimit) : records.get(missing))
|
|
191
211
|
: undefined;
|
|
192
212
|
}
|
|
193
213
|
}
|
|
@@ -196,6 +216,9 @@ export function selectHistory(input, leafUuid) {
|
|
|
196
216
|
records: selected,
|
|
197
217
|
compactionBoundaries: new Set(selected.filter(isCompactBoundary).map((record) => record.uuid)),
|
|
198
218
|
leafUuid: leaf.uuid,
|
|
219
|
+
truncated: Boolean(missing) && !occurrences.has(missing),
|
|
220
|
+
partialCompaction: reversed.some((record) => partial.has(record.uuid)),
|
|
221
|
+
physicalFrom,
|
|
199
222
|
};
|
|
200
223
|
}
|
|
201
224
|
//# 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,52 @@
|
|
|
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 `turnId`. */
|
|
41
|
+
since(source: PageSource, turnId: string): Promise<TurnWindow>;
|
|
42
|
+
/** The last record of the turn before `turnId` (of `turnId` itself when `inclusive`); null before the first turn. */
|
|
43
|
+
boundary(source: PageSource, turnId: string, inclusive: boolean): Promise<string | null>;
|
|
44
|
+
/** The windows projected lately, while the file is as it was then. */
|
|
45
|
+
private recentWindows;
|
|
46
|
+
private remember;
|
|
47
|
+
private serial;
|
|
48
|
+
private liveWindow;
|
|
49
|
+
/** Reads the window back until its turns are `enough` or history starts in it. */
|
|
50
|
+
private fill;
|
|
51
|
+
private index;
|
|
52
|
+
}
|