@scotthuang/agent-knock-knock 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +18 -8
- package/dist/src/agent-session-provider.d.ts +1 -1
- package/dist/src/claude-local-transcript-provider.d.ts +29 -1
- package/dist/src/claude-local-transcript-provider.js +313 -0
- package/dist/src/claude-local-transcript-provider.js.map +1 -1
- package/dist/src/claude-terminal-agent-adapter.d.ts +6 -1
- package/dist/src/claude-terminal-agent-adapter.js +178 -0
- package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
- package/dist/src/cli.js +4745 -355
- package/dist/src/cli.js.map +1 -1
- package/dist/src/codex-local-session-provider.d.ts +2 -2
- package/dist/src/codex-local-session-provider.js +2 -2
- package/dist/src/codex-local-session-provider.js.map +1 -1
- package/dist/src/codex-store-adapter.d.ts +11 -3
- package/dist/src/codex-store-adapter.js +371 -4
- package/dist/src/codex-store-adapter.js.map +1 -1
- package/dist/src/codex-terminal-agent-adapter.d.ts +6 -1
- package/dist/src/codex-terminal-agent-adapter.js +192 -0
- package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
- package/dist/src/managed-session.d.ts +163 -0
- package/dist/src/managed-session.js +873 -0
- package/dist/src/managed-session.js.map +1 -0
- package/dist/src/native-thread-lifecycle-policy.d.ts +57 -0
- package/dist/src/native-thread-lifecycle-policy.js +116 -0
- package/dist/src/native-thread-lifecycle-policy.js.map +1 -0
- package/dist/src/openclaw-plugin-helpers.d.ts +31 -6
- package/dist/src/openclaw-plugin-helpers.js +226 -9
- package/dist/src/openclaw-plugin-helpers.js.map +1 -1
- package/dist/src/openclaw-plugin.js +238 -23
- package/dist/src/openclaw-plugin.js.map +1 -1
- package/dist/src/protocol.d.ts +6 -0
- package/dist/src/protocol.js.map +1 -1
- package/dist/src/session-store.d.ts +57 -0
- package/dist/src/session-store.js +529 -0
- package/dist/src/session-store.js.map +1 -0
- package/dist/src/store.d.ts +2 -1
- package/dist/src/store.js +233 -21
- package/dist/src/store.js.map +1 -1
- package/dist/src/terminal-agent-adapter.d.ts +153 -0
- package/dist/src/terminal-agent-adapter.js +12 -0
- package/dist/src/terminal-agent-adapter.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +8 -0
- package/dist/src/terminal-agent-bridge.js +15 -0
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-control-provider.d.ts +2 -0
- package/dist/src/terminal-control-provider.js +1 -0
- package/dist/src/terminal-control-provider.js.map +1 -1
- package/docs/quickstart-tmux.md +12 -1
- package/openclaw.plugin.json +14 -2
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +23 -5
|
@@ -4,7 +4,7 @@ export interface CodexLocalSessionAdapter {
|
|
|
4
4
|
listThreadRows(): Promise<CodexThreadRow[]>;
|
|
5
5
|
readRollout(path: string): Promise<string | undefined>;
|
|
6
6
|
listProcessSnapshots(): Promise<CodexProcessSnapshot[]>;
|
|
7
|
-
resolveActiveSessionIdentityForPid?(pid: number, cwd?: string): Promise<ActiveAgentSessionIdentity | undefined>;
|
|
7
|
+
resolveActiveSessionIdentityForPid?(pid: number, cwd?: string, preferredSessionId?: string, allowedCompanionIdentity?: ActiveAgentSessionIdentity, allowedAdditionalIdentities?: readonly ActiveAgentSessionIdentity[]): Promise<ActiveAgentSessionIdentity | undefined>;
|
|
8
8
|
}
|
|
9
9
|
export declare class CodexLocalSessionProvider implements CodingAgentSessionProvider {
|
|
10
10
|
readonly agent: "codex";
|
|
@@ -13,7 +13,7 @@ export declare class CodexLocalSessionProvider implements CodingAgentSessionProv
|
|
|
13
13
|
getCapabilities(): Promise<AgentSessionCapabilities>;
|
|
14
14
|
listHistoricalSessions(): Promise<CodexSessionSummary[]>;
|
|
15
15
|
listActiveSessions(): Promise<ActiveCodexProcess[]>;
|
|
16
|
-
resolveActiveSessionIdentityForPid(pid: number, cwd?: string): Promise<ActiveAgentSessionIdentity | undefined>;
|
|
16
|
+
resolveActiveSessionIdentityForPid(pid: number, cwd?: string, preferredSessionId?: string, allowedCompanionIdentity?: ActiveAgentSessionIdentity, allowedAdditionalIdentities?: readonly ActiveAgentSessionIdentity[]): Promise<ActiveAgentSessionIdentity | undefined>;
|
|
17
17
|
getSession(sessionId: string): Promise<CodexSessionSummary | undefined>;
|
|
18
18
|
getForkContext(options: ForkContextOptions): Promise<ForkContextPackage | undefined>;
|
|
19
19
|
}
|
|
@@ -44,12 +44,12 @@ export class CodexLocalSessionProvider {
|
|
|
44
44
|
return discoverCodexProcesses(await this.adapter.listProcessSnapshots())
|
|
45
45
|
.filter((process) => process.kind === "codex_cli");
|
|
46
46
|
}
|
|
47
|
-
async resolveActiveSessionIdentityForPid(pid, cwd) {
|
|
47
|
+
async resolveActiveSessionIdentityForPid(pid, cwd, preferredSessionId, allowedCompanionIdentity, allowedAdditionalIdentities) {
|
|
48
48
|
if (!Number.isSafeInteger(pid) || pid <= 1) {
|
|
49
49
|
throw new Error("Codex process pid must be a positive integer greater than 1");
|
|
50
50
|
}
|
|
51
51
|
if (this.adapter.resolveActiveSessionIdentityForPid) {
|
|
52
|
-
return this.adapter.resolveActiveSessionIdentityForPid(pid, cwd);
|
|
52
|
+
return this.adapter.resolveActiveSessionIdentityForPid(pid, cwd, preferredSessionId, allowedCompanionIdentity, allowedAdditionalIdentities);
|
|
53
53
|
}
|
|
54
54
|
const sessionId = (await this.listActiveSessions())
|
|
55
55
|
.find((process) => process.pid === pid)?.sessionId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-local-session-provider.js","sourceRoot":"","sources":["../../src/codex-local-session-provider.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EAMvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-local-session-provider.js","sourceRoot":"","sources":["../../src/codex-local-session-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ActiveAgentSessionIdentity } from "./agent-session-provider.js";
|
|
2
2
|
import { type CodexProcessSnapshot, type CodexThreadRow } from "./codex-session-provider.js";
|
|
3
3
|
import type { CodexLocalSessionAdapter } from "./codex-local-session-provider.js";
|
|
4
|
+
import type { TerminalThreadLifecycleCandidate, TerminalThreadLifecycleCandidateProvider, TerminalThreadLifecycleCandidateRequest, TerminalThreadLifecycleCandidateToken, TerminalThreadLifecycleCandidateValidation } from "./terminal-agent-adapter.js";
|
|
4
5
|
import { type ProcessCommandResult } from "./terminal-process-source.js";
|
|
5
6
|
export { parseLsofCwdMap, parsePsProcessSnapshots, type ProcessCommandResult as CommandResult } from "./terminal-process-source.js";
|
|
6
7
|
export interface CodexStoreAdapterOptions {
|
|
@@ -8,15 +9,18 @@ export interface CodexStoreAdapterOptions {
|
|
|
8
9
|
runCommand?: (command: string, args: string[]) => ProcessCommandResult;
|
|
9
10
|
maxSessions?: number;
|
|
10
11
|
}
|
|
11
|
-
export declare class CodexStoreAdapter implements CodexLocalSessionAdapter {
|
|
12
|
+
export declare class CodexStoreAdapter implements CodexLocalSessionAdapter, TerminalThreadLifecycleCandidateProvider {
|
|
12
13
|
private readonly codexHome;
|
|
13
14
|
private readonly runCommand;
|
|
14
15
|
private readonly maxSessions;
|
|
15
16
|
constructor(options?: CodexStoreAdapterOptions);
|
|
16
17
|
listThreadRows(): Promise<CodexThreadRow[]>;
|
|
18
|
+
listThreadLifecycleCandidates(request: TerminalThreadLifecycleCandidateRequest): Promise<TerminalThreadLifecycleCandidate[]>;
|
|
19
|
+
revalidateThreadLifecycleCandidate(candidate: TerminalThreadLifecycleCandidate | TerminalThreadLifecycleCandidateToken, request: TerminalThreadLifecycleCandidateRequest): Promise<TerminalThreadLifecycleCandidateValidation>;
|
|
20
|
+
private getThreadRow;
|
|
17
21
|
readRollout(rolloutPath: string): Promise<string | undefined>;
|
|
18
22
|
listProcessSnapshots(): Promise<CodexProcessSnapshot[]>;
|
|
19
|
-
resolveActiveSessionIdentityForPid(pid: number, cwd?: string): Promise<ActiveAgentSessionIdentity | undefined>;
|
|
23
|
+
resolveActiveSessionIdentityForPid(pid: number, cwd?: string, preferredSessionId?: string, allowedCompanionIdentity?: ActiveAgentSessionIdentity, allowedAdditionalIdentities?: readonly ActiveAgentSessionIdentity[]): Promise<ActiveAgentSessionIdentity | undefined>;
|
|
20
24
|
private queryJson;
|
|
21
25
|
}
|
|
22
26
|
export declare function latestStateDbPath(codexHome: string): string | undefined;
|
|
@@ -28,11 +32,15 @@ export interface LsofOpenFileRecord {
|
|
|
28
32
|
path?: string;
|
|
29
33
|
}
|
|
30
34
|
export declare function parseLsofOpenFiles(text: string): LsofOpenFileRecord[];
|
|
31
|
-
export declare function resolveCodexOpenRolloutIdentity({ codexHome, pid, cwd, processBirth, lsofOutput }: {
|
|
35
|
+
export declare function resolveCodexOpenRolloutIdentity({ codexHome, pid, cwd, preferredSessionId, allowedCompanionIdentity, allowedAdditionalIdentities, processBirth, lsofOutput }: {
|
|
32
36
|
codexHome: string;
|
|
33
37
|
pid: number;
|
|
34
38
|
cwd?: string;
|
|
39
|
+
preferredSessionId?: string;
|
|
40
|
+
allowedCompanionIdentity?: ActiveAgentSessionIdentity;
|
|
41
|
+
allowedAdditionalIdentities?: readonly ActiveAgentSessionIdentity[];
|
|
35
42
|
processBirth: string;
|
|
36
43
|
lsofOutput: string;
|
|
37
44
|
}): ActiveAgentSessionIdentity | undefined;
|
|
38
45
|
export declare function buildThreadSelect(columns: string[], limit: number): string;
|
|
46
|
+
export declare function buildThreadByIdSelect(columns: string[], nativeThreadId: string): string;
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
import fs from "node:fs";
|
|
2
3
|
import os from "node:os";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import { discoverCodexProcesses } from "./codex-session-provider.js";
|
|
5
6
|
import { SystemTerminalProcessSource, runProcessCommand } from "./terminal-process-source.js";
|
|
6
7
|
export { parseLsofCwdMap, parsePsProcessSnapshots } from "./terminal-process-source.js";
|
|
8
|
+
const CODEX_LIFECYCLE_VERSION = "0.146.0";
|
|
9
|
+
const NATIVE_THREAD_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu;
|
|
10
|
+
const MAX_CODEX_SESSION_META_BYTES = 1024 * 1024;
|
|
11
|
+
const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
|
|
12
|
+
? fs.constants.O_NOFOLLOW
|
|
13
|
+
: 0;
|
|
7
14
|
export class CodexStoreAdapter {
|
|
8
15
|
codexHome;
|
|
9
16
|
runCommand;
|
|
@@ -25,6 +32,96 @@ export class CodexStoreAdapter {
|
|
|
25
32
|
}
|
|
26
33
|
return this.queryJson(dbPath, buildThreadSelect(columns, this.maxSessions));
|
|
27
34
|
}
|
|
35
|
+
async listThreadLifecycleCandidates(request) {
|
|
36
|
+
assertCodexLifecycleCandidateRequest(request);
|
|
37
|
+
const candidates = [];
|
|
38
|
+
for (const row of await this.listThreadRows()) {
|
|
39
|
+
try {
|
|
40
|
+
const candidate = codexLifecycleCandidateFromRow({
|
|
41
|
+
row,
|
|
42
|
+
codexHome: this.codexHome,
|
|
43
|
+
request
|
|
44
|
+
});
|
|
45
|
+
if (candidate) {
|
|
46
|
+
candidates.push(candidate);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Historical rows are untrusted discovery input. Unsafe or unstable rows
|
|
51
|
+
// are hidden and can never become resume targets.
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return candidates.sort((left, right) => Number(right.updatedAtMs ?? 0) - Number(left.updatedAtMs ?? 0));
|
|
55
|
+
}
|
|
56
|
+
async revalidateThreadLifecycleCandidate(candidate, request) {
|
|
57
|
+
try {
|
|
58
|
+
assertCodexLifecycleCandidateRequest(request);
|
|
59
|
+
const token = "candidateToken" in candidate
|
|
60
|
+
? candidate.candidateToken
|
|
61
|
+
: candidate;
|
|
62
|
+
if (token.schema !== "agent-knock-knock/thread-candidate-token" ||
|
|
63
|
+
token.version !== 1 ||
|
|
64
|
+
token.agent !== "codex" ||
|
|
65
|
+
token.source !== "codex_rollout" ||
|
|
66
|
+
token.agentVersion !== request.agentVersion ||
|
|
67
|
+
!path.isAbsolute(token.cwd) ||
|
|
68
|
+
path.resolve(token.cwd) !== path.resolve(request.cwd) ||
|
|
69
|
+
!NATIVE_THREAD_ID_PATTERN.test(token.nativeThreadId)) {
|
|
70
|
+
return {
|
|
71
|
+
status: "unsafe",
|
|
72
|
+
reason: "candidate is not an exact Codex root-thread identity"
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const row = await this.getThreadRow(token.nativeThreadId);
|
|
76
|
+
if (!row) {
|
|
77
|
+
return {
|
|
78
|
+
status: "unavailable",
|
|
79
|
+
reason: "the Codex thread row no longer exists"
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const current = codexLifecycleCandidateFromRow({
|
|
83
|
+
row,
|
|
84
|
+
codexHome: this.codexHome,
|
|
85
|
+
request
|
|
86
|
+
});
|
|
87
|
+
if (!current) {
|
|
88
|
+
return {
|
|
89
|
+
status: "unavailable",
|
|
90
|
+
reason: "the Codex thread is no longer a resumable root CLI session"
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (!sameThreadFileToken(current.fileToken, token.fileToken) ||
|
|
94
|
+
current.metadataFingerprint !== token.metadataFingerprint ||
|
|
95
|
+
current.modelProvider !== token.modelProvider) {
|
|
96
|
+
return {
|
|
97
|
+
status: "changed",
|
|
98
|
+
candidate: current,
|
|
99
|
+
reason: "the Codex rollout changed after candidate discovery"
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return { status: "valid", candidate: current };
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return {
|
|
106
|
+
status: "unsafe",
|
|
107
|
+
reason: error instanceof Error ? error.message : String(error)
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async getThreadRow(nativeThreadId) {
|
|
112
|
+
if (!NATIVE_THREAD_ID_PATTERN.test(nativeThreadId)) {
|
|
113
|
+
throw new Error("Codex thread lookup requires an exact UUID");
|
|
114
|
+
}
|
|
115
|
+
const dbPath = latestStateDbPath(this.codexHome);
|
|
116
|
+
if (!dbPath) {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
const columns = this.queryJson(dbPath, "pragma table_info(threads)").map((column) => column.name);
|
|
120
|
+
if (!columns.includes("id") || !columns.includes("cwd")) {
|
|
121
|
+
throw new Error("Codex threads table is missing required id or cwd columns");
|
|
122
|
+
}
|
|
123
|
+
return this.queryJson(dbPath, buildThreadByIdSelect(columns, nativeThreadId))[0];
|
|
124
|
+
}
|
|
28
125
|
async readRollout(rolloutPath) {
|
|
29
126
|
if (!fs.existsSync(rolloutPath)) {
|
|
30
127
|
return undefined;
|
|
@@ -35,7 +132,7 @@ export class CodexStoreAdapter {
|
|
|
35
132
|
return new SystemTerminalProcessSource({ runCommand: this.runCommand })
|
|
36
133
|
.listProcessSnapshots((snapshot) => discoverCodexProcesses([snapshot]).length > 0);
|
|
37
134
|
}
|
|
38
|
-
async resolveActiveSessionIdentityForPid(pid, cwd) {
|
|
135
|
+
async resolveActiveSessionIdentityForPid(pid, cwd, preferredSessionId, allowedCompanionIdentity, allowedAdditionalIdentities) {
|
|
39
136
|
if (!Number.isSafeInteger(pid) || pid <= 1) {
|
|
40
137
|
throw new Error("Codex process pid must be a positive integer greater than 1");
|
|
41
138
|
}
|
|
@@ -59,12 +156,15 @@ export class CodexStoreAdapter {
|
|
|
59
156
|
codexHome: this.codexHome,
|
|
60
157
|
pid,
|
|
61
158
|
cwd,
|
|
159
|
+
preferredSessionId,
|
|
160
|
+
allowedCompanionIdentity,
|
|
161
|
+
allowedAdditionalIdentities,
|
|
62
162
|
processBirth,
|
|
63
163
|
lsofOutput: result.stdout
|
|
64
164
|
});
|
|
65
165
|
}
|
|
66
166
|
queryJson(dbPath, sql) {
|
|
67
|
-
const result = this.runCommand("sqlite3", ["-json", dbPath, sql]);
|
|
167
|
+
const result = this.runCommand("sqlite3", ["-readonly", "-json", dbPath, sql]);
|
|
68
168
|
if (result.status !== 0) {
|
|
69
169
|
throw new Error(result.stderr || result.error?.message || "sqlite3 query failed");
|
|
70
170
|
}
|
|
@@ -109,7 +209,7 @@ export function parseLsofOpenFiles(text) {
|
|
|
109
209
|
flush();
|
|
110
210
|
return records;
|
|
111
211
|
}
|
|
112
|
-
export function resolveCodexOpenRolloutIdentity({ codexHome, pid, cwd, processBirth, lsofOutput }) {
|
|
212
|
+
export function resolveCodexOpenRolloutIdentity({ codexHome, pid, cwd, preferredSessionId, allowedCompanionIdentity, allowedAdditionalIdentities, processBirth, lsofOutput }) {
|
|
113
213
|
const rolloutFiles = parseLsofOpenFiles(lsofOutput).filter((openFile) => {
|
|
114
214
|
if (!openFile.path) {
|
|
115
215
|
return false;
|
|
@@ -204,12 +304,74 @@ export function resolveCodexOpenRolloutIdentity({ codexHome, pid, cwd, processBi
|
|
|
204
304
|
if (identities.length === 0) {
|
|
205
305
|
throw new Error(`Codex process ${pid} has open rollout files but no exact TUI root identity`);
|
|
206
306
|
}
|
|
307
|
+
if (preferredSessionId) {
|
|
308
|
+
const preferred = identities.filter((identity) => identity.sessionId === preferredSessionId);
|
|
309
|
+
if (preferred.length > 1) {
|
|
310
|
+
throw new Error(`Codex process ${pid} has multiple open root rollouts for preferred ` +
|
|
311
|
+
`session ${preferredSessionId}`);
|
|
312
|
+
}
|
|
313
|
+
if (allowedCompanionIdentity) {
|
|
314
|
+
const allowedConstraints = [
|
|
315
|
+
allowedCompanionIdentity,
|
|
316
|
+
...(allowedAdditionalIdentities ?? [])
|
|
317
|
+
];
|
|
318
|
+
const allowedMatches = [];
|
|
319
|
+
for (const constraint of allowedConstraints) {
|
|
320
|
+
const matches = identities.filter((identity) => sameActiveCodexIdentity(identity, constraint));
|
|
321
|
+
if (matches.length > 1) {
|
|
322
|
+
throw new Error(`Codex process ${pid} has multiple open root rollouts for an ` +
|
|
323
|
+
"allowed companion session");
|
|
324
|
+
}
|
|
325
|
+
if (matches[0] && !allowedMatches.includes(matches[0])) {
|
|
326
|
+
allowedMatches.push(matches[0]);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
const unexpected = identities.filter((identity) => identity !== preferred[0] && !allowedMatches.includes(identity));
|
|
330
|
+
if (unexpected.length > 0) {
|
|
331
|
+
throw new Error(`Codex process ${pid} has an unexpected open root rollout outside ` +
|
|
332
|
+
"the preferred and exact companion identities");
|
|
333
|
+
}
|
|
334
|
+
if (preferred.length === 1) {
|
|
335
|
+
return preferred[0];
|
|
336
|
+
}
|
|
337
|
+
const primaryCompanion = identities.find((identity) => sameActiveCodexIdentity(identity, allowedCompanionIdentity));
|
|
338
|
+
if (primaryCompanion) {
|
|
339
|
+
return primaryCompanion;
|
|
340
|
+
}
|
|
341
|
+
if (allowedMatches.length > 0) {
|
|
342
|
+
// The immediately preceding rollout can close while an older,
|
|
343
|
+
// independently verified managed ancestor remains open. Constraint
|
|
344
|
+
// order is authoritative and deterministic; unknown roots were
|
|
345
|
+
// rejected above, so the first surviving exact companion is safe
|
|
346
|
+
// process-incarnation evidence for a fresh status-card proof.
|
|
347
|
+
return allowedMatches[0];
|
|
348
|
+
}
|
|
349
|
+
throw new Error(`Codex process ${pid} has neither the preferred session nor an ` +
|
|
350
|
+
"exact managed companion rollout open");
|
|
351
|
+
}
|
|
352
|
+
else if (preferred.length === 1 && identities.length === 1) {
|
|
353
|
+
return preferred[0];
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
throw new Error(`Codex process ${pid} does not have the preferred session as its ` +
|
|
357
|
+
"sole open root rollout");
|
|
358
|
+
}
|
|
359
|
+
}
|
|
207
360
|
if (identities.length !== 1) {
|
|
208
361
|
throw new Error(`Codex process ${pid} has ${identities.length} open root rollout files; ` +
|
|
209
362
|
"the foreground native session is ambiguous");
|
|
210
363
|
}
|
|
211
364
|
return identities[0];
|
|
212
365
|
}
|
|
366
|
+
function sameActiveCodexIdentity(left, right) {
|
|
367
|
+
return Boolean(left.sessionId === right.sessionId &&
|
|
368
|
+
left.processUuid === right.processUuid &&
|
|
369
|
+
left.processBirth === right.processBirth &&
|
|
370
|
+
left.rollout?.fd === right.rollout?.fd &&
|
|
371
|
+
left.rollout?.device === right.rollout?.device &&
|
|
372
|
+
left.rollout?.inode === right.rollout?.inode &&
|
|
373
|
+
left.rollout?.path === right.rollout?.path);
|
|
374
|
+
}
|
|
213
375
|
function parseLsofInteger(value) {
|
|
214
376
|
try {
|
|
215
377
|
return BigInt(value);
|
|
@@ -273,8 +435,213 @@ export function buildThreadSelect(columns, limit) {
|
|
|
273
435
|
columnSet.has("preview") ? "preview" : "null as preview",
|
|
274
436
|
columnSet.has("first_user_message") ? "first_user_message" : "null as first_user_message",
|
|
275
437
|
columnSet.has("updated_at_ms") ? "updated_at_ms" : columnSet.has("updated_at") ? "updated_at * 1000 as updated_at_ms" : "null as updated_at_ms",
|
|
276
|
-
columnSet.has("archived") ? "archived" : "0 as archived"
|
|
438
|
+
columnSet.has("archived") ? "archived" : "0 as archived",
|
|
439
|
+
columnSet.has("source") ? "source" : "null as source",
|
|
440
|
+
columnSet.has("model_provider") ? "model_provider" : "null as model_provider",
|
|
441
|
+
columnSet.has("cli_version") ? "cli_version" : "null as cli_version",
|
|
442
|
+
columnSet.has("name") ? "name" : "null as name"
|
|
277
443
|
].join(", ");
|
|
278
444
|
return `select ${select} from threads order by ${updatedAtExpression} desc limit ${Math.max(1, Math.floor(limit))}`;
|
|
279
445
|
}
|
|
446
|
+
export function buildThreadByIdSelect(columns, nativeThreadId) {
|
|
447
|
+
if (!NATIVE_THREAD_ID_PATTERN.test(nativeThreadId)) {
|
|
448
|
+
throw new Error("Codex thread lookup requires an exact UUID");
|
|
449
|
+
}
|
|
450
|
+
const base = buildThreadSelect(columns, 1);
|
|
451
|
+
return base.replace(" from threads order by ", ` from threads where id = '${nativeThreadId.toLowerCase()}' order by `);
|
|
452
|
+
}
|
|
453
|
+
function assertCodexLifecycleCandidateRequest(request) {
|
|
454
|
+
if (request.agentVersion !== CODEX_LIFECYCLE_VERSION) {
|
|
455
|
+
throw new Error(`Codex lifecycle candidates require exact version ${CODEX_LIFECYCLE_VERSION}`);
|
|
456
|
+
}
|
|
457
|
+
if (!request.cwd || !path.isAbsolute(request.cwd)) {
|
|
458
|
+
throw new Error("Codex lifecycle candidate discovery requires an absolute cwd");
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
function codexLifecycleCandidateFromRow({ row, codexHome, request }) {
|
|
462
|
+
const nativeThreadId = stringField(row.id)?.toLowerCase();
|
|
463
|
+
const rowCwd = stringField(row.cwd);
|
|
464
|
+
const rolloutPath = stringField(row.rollout_path ?? row.rolloutPath);
|
|
465
|
+
const rowSource = stringField(row.source);
|
|
466
|
+
const rowVersion = stringField(row.cli_version);
|
|
467
|
+
const rowModelProvider = stringField(row.model_provider);
|
|
468
|
+
if (!nativeThreadId ||
|
|
469
|
+
!NATIVE_THREAD_ID_PATTERN.test(nativeThreadId) ||
|
|
470
|
+
!rowCwd ||
|
|
471
|
+
!rolloutPath ||
|
|
472
|
+
!path.isAbsolute(rowCwd) ||
|
|
473
|
+
!path.isAbsolute(rolloutPath) ||
|
|
474
|
+
rowSource !== "cli" ||
|
|
475
|
+
rowVersion !== CODEX_LIFECYCLE_VERSION ||
|
|
476
|
+
row.archived === true ||
|
|
477
|
+
row.archived === 1 ||
|
|
478
|
+
path.resolve(rowCwd) !== path.resolve(request.cwd) ||
|
|
479
|
+
(request.modelProvider !== undefined &&
|
|
480
|
+
rowModelProvider !== request.modelProvider)) {
|
|
481
|
+
return undefined;
|
|
482
|
+
}
|
|
483
|
+
const opened = readCodexLifecycleMetadata({
|
|
484
|
+
codexHome,
|
|
485
|
+
rolloutPath,
|
|
486
|
+
nativeThreadId
|
|
487
|
+
});
|
|
488
|
+
if (opened.metadata.id !== nativeThreadId ||
|
|
489
|
+
!path.isAbsolute(opened.metadata.cwd) ||
|
|
490
|
+
path.resolve(opened.metadata.cwd) !== path.resolve(request.cwd) ||
|
|
491
|
+
opened.metadata.originator !== "codex-tui" ||
|
|
492
|
+
opened.metadata.source !== "cli" ||
|
|
493
|
+
opened.metadata.cliVersion !== CODEX_LIFECYCLE_VERSION ||
|
|
494
|
+
(rowModelProvider !== undefined &&
|
|
495
|
+
opened.metadata.modelProvider !== rowModelProvider) ||
|
|
496
|
+
(request.modelProvider !== undefined &&
|
|
497
|
+
opened.metadata.modelProvider !== request.modelProvider)) {
|
|
498
|
+
return undefined;
|
|
499
|
+
}
|
|
500
|
+
const title = boundedCandidateText(row.name ?? row.title);
|
|
501
|
+
const preview = boundedCandidateText(row.preview ?? row.first_user_message ?? row.firstUserMessage);
|
|
502
|
+
const updatedAtMs = finiteNumber(row.updated_at_ms ?? row.updatedAtMs) ??
|
|
503
|
+
opened.fileToken.mtimeMs;
|
|
504
|
+
const metadataFingerprint = createHash("sha256")
|
|
505
|
+
.update(JSON.stringify({
|
|
506
|
+
nativeThreadId,
|
|
507
|
+
cwd: path.resolve(opened.metadata.cwd),
|
|
508
|
+
originator: opened.metadata.originator,
|
|
509
|
+
source: opened.metadata.source,
|
|
510
|
+
cliVersion: opened.metadata.cliVersion,
|
|
511
|
+
modelProvider: opened.metadata.modelProvider ?? null,
|
|
512
|
+
rolloutPath: opened.fileToken.path
|
|
513
|
+
}))
|
|
514
|
+
.digest("hex");
|
|
515
|
+
const candidateToken = {
|
|
516
|
+
schema: "agent-knock-knock/thread-candidate-token",
|
|
517
|
+
version: 1,
|
|
518
|
+
agent: "codex",
|
|
519
|
+
nativeThreadId,
|
|
520
|
+
cwd: path.resolve(request.cwd),
|
|
521
|
+
source: "codex_rollout",
|
|
522
|
+
agentVersion: CODEX_LIFECYCLE_VERSION,
|
|
523
|
+
fileToken: opened.fileToken,
|
|
524
|
+
metadataFingerprint,
|
|
525
|
+
modelProvider: opened.metadata.modelProvider
|
|
526
|
+
};
|
|
527
|
+
return {
|
|
528
|
+
agent: "codex",
|
|
529
|
+
nativeThreadId,
|
|
530
|
+
cwd: path.resolve(request.cwd),
|
|
531
|
+
source: "codex_rollout",
|
|
532
|
+
rootInteractive: true,
|
|
533
|
+
fileToken: opened.fileToken,
|
|
534
|
+
agentVersion: CODEX_LIFECYCLE_VERSION,
|
|
535
|
+
title,
|
|
536
|
+
preview,
|
|
537
|
+
updatedAtMs,
|
|
538
|
+
modelProvider: opened.metadata.modelProvider,
|
|
539
|
+
metadataFingerprint,
|
|
540
|
+
candidateToken
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
function readCodexLifecycleMetadata({ codexHome, rolloutPath, nativeThreadId }) {
|
|
544
|
+
const configuredRoot = path.resolve(codexHome, "sessions");
|
|
545
|
+
const lexicalRelative = path.relative(configuredRoot, path.resolve(rolloutPath));
|
|
546
|
+
if (!lexicalRelative ||
|
|
547
|
+
lexicalRelative.startsWith("..") ||
|
|
548
|
+
path.isAbsolute(lexicalRelative)) {
|
|
549
|
+
throw new Error("Codex lifecycle rollout is outside CODEX_HOME/sessions");
|
|
550
|
+
}
|
|
551
|
+
const sessionsRoot = fs.realpathSync(configuredRoot);
|
|
552
|
+
const lstat = fs.lstatSync(rolloutPath);
|
|
553
|
+
if (lstat.isSymbolicLink() || !lstat.isFile()) {
|
|
554
|
+
throw new Error("Codex lifecycle rollout must be a non-symlink regular file");
|
|
555
|
+
}
|
|
556
|
+
const realPath = fs.realpathSync(rolloutPath);
|
|
557
|
+
const realRelative = path.relative(sessionsRoot, realPath);
|
|
558
|
+
if (!realRelative ||
|
|
559
|
+
realRelative.startsWith("..") ||
|
|
560
|
+
path.isAbsolute(realRelative)) {
|
|
561
|
+
throw new Error("Codex lifecycle rollout resolves outside CODEX_HOME/sessions");
|
|
562
|
+
}
|
|
563
|
+
const filenameId = /([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/iu
|
|
564
|
+
.exec(path.basename(realPath))?.[1]?.toLowerCase();
|
|
565
|
+
if (filenameId !== nativeThreadId) {
|
|
566
|
+
throw new Error("Codex lifecycle rollout filename does not match its thread UUID");
|
|
567
|
+
}
|
|
568
|
+
const fd = fs.openSync(realPath, fs.constants.O_RDONLY | NO_FOLLOW_FLAG);
|
|
569
|
+
try {
|
|
570
|
+
const before = fs.fstatSync(fd);
|
|
571
|
+
if (!before.isFile() || before.size <= 0 || !Number.isSafeInteger(before.size)) {
|
|
572
|
+
throw new Error("Codex lifecycle rollout has an invalid file identity");
|
|
573
|
+
}
|
|
574
|
+
if (process.platform !== "win32" &&
|
|
575
|
+
typeof process.getuid === "function" &&
|
|
576
|
+
before.uid !== process.getuid()) {
|
|
577
|
+
throw new Error("Codex lifecycle rollout is not owned by the current user");
|
|
578
|
+
}
|
|
579
|
+
if (process.platform !== "win32" && (before.mode & 0o022) !== 0) {
|
|
580
|
+
throw new Error("Codex lifecycle rollout is writable by another user");
|
|
581
|
+
}
|
|
582
|
+
const bytesToRead = Math.min(before.size, MAX_CODEX_SESSION_META_BYTES);
|
|
583
|
+
const buffer = Buffer.allocUnsafe(bytesToRead);
|
|
584
|
+
const bytesRead = fs.readSync(fd, buffer, 0, bytesToRead, 0);
|
|
585
|
+
const text = buffer.subarray(0, bytesRead).toString("utf8");
|
|
586
|
+
const newline = text.indexOf("\n");
|
|
587
|
+
if (newline < 0 && before.size > bytesRead) {
|
|
588
|
+
throw new Error("Codex lifecycle session metadata line exceeds the read limit");
|
|
589
|
+
}
|
|
590
|
+
const parsed = JSON.parse(newline >= 0 ? text.slice(0, newline) : text);
|
|
591
|
+
const payload = parsed?.type === "session_meta" ? parsed.payload : undefined;
|
|
592
|
+
const id = stringField(payload?.id)?.toLowerCase();
|
|
593
|
+
const cwd = stringField(payload?.cwd);
|
|
594
|
+
const originator = stringField(payload?.originator);
|
|
595
|
+
const source = stringField(payload?.source);
|
|
596
|
+
const cliVersion = stringField(payload?.cli_version);
|
|
597
|
+
const modelProvider = stringField(payload?.model_provider);
|
|
598
|
+
if (!id || !cwd || !originator || !source || !cliVersion) {
|
|
599
|
+
throw new Error("Codex lifecycle rollout has incomplete session metadata");
|
|
600
|
+
}
|
|
601
|
+
const after = fs.fstatSync(fd);
|
|
602
|
+
if (after.dev !== before.dev ||
|
|
603
|
+
after.ino !== before.ino ||
|
|
604
|
+
after.size !== before.size ||
|
|
605
|
+
after.mtimeMs !== before.mtimeMs ||
|
|
606
|
+
fs.realpathSync(realPath) !== realPath) {
|
|
607
|
+
throw new Error("Codex lifecycle rollout changed while it was inspected");
|
|
608
|
+
}
|
|
609
|
+
return {
|
|
610
|
+
fileToken: {
|
|
611
|
+
path: realPath,
|
|
612
|
+
device: String(before.dev),
|
|
613
|
+
inode: String(before.ino),
|
|
614
|
+
size: before.size,
|
|
615
|
+
mtimeMs: before.mtimeMs
|
|
616
|
+
},
|
|
617
|
+
metadata: { id, cwd, originator, source, cliVersion, modelProvider }
|
|
618
|
+
};
|
|
619
|
+
}
|
|
620
|
+
finally {
|
|
621
|
+
fs.closeSync(fd);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
function sameThreadFileToken(left, right) {
|
|
625
|
+
return left.path === right.path &&
|
|
626
|
+
left.device === right.device &&
|
|
627
|
+
left.inode === right.inode &&
|
|
628
|
+
left.size === right.size &&
|
|
629
|
+
left.mtimeMs === right.mtimeMs;
|
|
630
|
+
}
|
|
631
|
+
function stringField(value) {
|
|
632
|
+
return typeof value === "string" && value.trim().length > 0
|
|
633
|
+
? value.trim()
|
|
634
|
+
: undefined;
|
|
635
|
+
}
|
|
636
|
+
function finiteNumber(value) {
|
|
637
|
+
const number = Number(value);
|
|
638
|
+
return Number.isFinite(number) ? number : undefined;
|
|
639
|
+
}
|
|
640
|
+
function boundedCandidateText(value) {
|
|
641
|
+
const text = stringField(value)?.replace(/\s+/gu, " ");
|
|
642
|
+
if (!text) {
|
|
643
|
+
return undefined;
|
|
644
|
+
}
|
|
645
|
+
return text.length <= 400 ? text : `${text.slice(0, 399)}…`;
|
|
646
|
+
}
|
|
280
647
|
//# sourceMappingURL=codex-store-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-store-adapter.js","sourceRoot":"","sources":["../../src/codex-store-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAkD,MAAM,6BAA6B,CAAC;AAErH,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,uBAAuB,EAExB,MAAM,8BAA8B,CAAC;AAQtC,MAAM,OAAO,iBAAiB;IACX,SAAS,CAAS;IAClB,UAAU,CAA4D;IACtE,WAAW,CAAS;IAErC,YAAY,OAAO,GAA6B,EAAE;QAChD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAmB,MAAM,EAAE,4BAA4B,CAAC;aACnF,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAiB,MAAM,EAAE,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,2BAA2B,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACpE,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,kCAAkC,CACtC,GAAW,EACX,GAAY;QAEZ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO;gBAChD,kDAAkD,GAAG,EAAE,CACxD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACrC,IAAI;YACJ,IAAI;YACJ,MAAM,CAAC,GAAG,CAAC;YACX,SAAS;SACV,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO;gBACtC,0DAA0D,GAAG,EAAE,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,+BAA+B,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG;YACH,GAAG;YACH,YAAY;YACZ,UAAU,EAAE,MAAM,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAI,MAAc,EAAE,GAAW;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,sBAAsB,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAQ,CAAC;IAClD,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC3C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAUD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,OAAuC,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,EAAE,CAAC;YACR,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,EAC9C,SAAS,EACT,GAAG,EACH,GAAG,EACH,YAAY,EACZ,UAAU,EAOX;IACC,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,8EAA8E;IAC9E,8EAA8E;IAC9E,wEAAwE;IACxE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChE,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,gEAAgE,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,UAAU,GAAiC,EAAE,CAAC;IACpD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAK,CAAC;QAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CACnC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EACpC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAC7B,CAAC;QACF,IACE,CAAC,eAAe;YAChB,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAChC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,kDAAkD,CACvE,CAAC;QACJ,CAAC;QACD,IACE,QAAQ,CAAC,IAAI,KAAK,KAAK;YACvB,CAAC,QAAQ,CAAC,EAAE;YACZ,CAAC,QAAQ,CAAC,MAAM;YAChB,CAAC,QAAQ,CAAC,KAAK;YACf,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EACjC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,8CAA8C,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,4CAA4C,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,kDAAkD,CACvE,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,wBAAwB,CACvC,cAAc,EACd,cAAc,EACd,aAAa,EACb,GAAG,CACJ,CAAC;QACF,IAAI,iBAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,4CAA4C,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,mDAAmD,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,iBAAiB,GAAG,0EAA0E;aACjG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,iBAAiB,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,uCAAuC,CAC5D,CAAC;QACJ,CAAC;QACD,IACE,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;YACnC,QAAQ,CAAC,MAAM,KAAK,IAAI;YACxB,UAAU,IAAI,QAAQ,CAAC,MAAM,EAC7B,CAAC;YACD,SAAS;QACX,CAAC;QACD,IACE,QAAQ,CAAC,UAAU,KAAK,WAAW;YACnC,QAAQ,CAAC,MAAM,KAAK,KAAK;YACzB,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,EAC3D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,yCAAyC,CAC9D,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACd,SAAS,EAAE,QAAQ,CAAC,EAAE;YACtB,WAAW,EAAE,aAAa,GAAG,UAAU,YAAY,EAAE;YACrD,YAAY;YACZ,OAAO,EAAE;gBACP,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,IAAI,EAAE,iBAAiB;aACxB;YACD,QAAQ,EAAE,yBAAyB;SACpC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,wDAAwD,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,QAAQ,UAAU,CAAC,MAAM,4BAA4B;YACzE,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,cAAsB,EACtB,aAAqB,EACrB,GAAW;IAOX,IAAI,EAAU,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CACd,QAAQ,EACR,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAChD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,4CAA4C,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IACE,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,CAAC,GAAG,KAAK,cAAc;YAC3B,IAAI,CAAC,GAAG,KAAK,aAAa,EAC1B,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,gDAAgD,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,IACE,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ;YAC/B,OAAO,OAAO,EAAE,GAAG,KAAK,QAAQ;YAChC,OAAO,OAAO,EAAE,UAAU,KAAK,QAAQ,EACvC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAiB,EAAE,KAAa;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;QACxD,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,GAAG,CAAC;IACV,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,KAAK;QACL,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB;QACvE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;QAClD,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;QACxD,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,4BAA4B;QACzF,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,uBAAuB;QAC/I,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe;KACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,UAAU,MAAM,0BAA0B,mBAAmB,eAAe,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC"}
|
|
1
|
+
{"version":3,"file":"codex-store-adapter.js","sourceRoot":"","sources":["../../src/codex-store-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CodexProcessKind } from "./codex-session-provider.js";
|
|
2
|
-
import type { TerminalAgentAdapter, TerminalCompletionEvidence, TerminalDurableCompletionRequest, TerminalScreenInspection, TerminalScreenInspectionOptions } from "./terminal-agent-adapter.js";
|
|
2
|
+
import type { TerminalAgentAdapter, TerminalCompletionEvidence, TerminalDurableCompletionRequest, TerminalScreenInspection, TerminalScreenInspectionOptions, TerminalThreadLifecycleCapabilities, TerminalThreadLifecycleObservation, TerminalThreadLifecycleObservationRequest, TerminalThreadLifecycleOperation, TerminalThreadLifecyclePlan } from "./terminal-agent-adapter.js";
|
|
3
3
|
export type CodexApprovalPromptDetection = {
|
|
4
4
|
approvable: true;
|
|
5
5
|
key: string;
|
|
@@ -17,6 +17,11 @@ export interface CreateCodexTerminalAgentAdapterOptions {
|
|
|
17
17
|
detectDurableCompletion?: NonNullable<TerminalAgentAdapter<CodexProcessKind>["detectDurableCompletion"]>;
|
|
18
18
|
}
|
|
19
19
|
export declare function createCodexTerminalAgentAdapter(options?: CreateCodexTerminalAgentAdapterOptions): TerminalAgentAdapter<CodexProcessKind>;
|
|
20
|
+
export declare function probeCodexThreadLifecycle(agentVersion: string | undefined): TerminalThreadLifecycleCapabilities;
|
|
21
|
+
export declare function planCodexThreadLifecycle(operation: TerminalThreadLifecycleOperation, capabilities: TerminalThreadLifecycleCapabilities): TerminalThreadLifecyclePlan;
|
|
22
|
+
export declare function observeCodexThreadLifecycle(request: TerminalThreadLifecycleObservationRequest): TerminalThreadLifecycleObservation;
|
|
23
|
+
/** @deprecated Pass a typed observation request. */
|
|
24
|
+
export declare function observeCodexThreadLifecycle(screen: string, operation: TerminalThreadLifecycleOperation): TerminalThreadLifecycleObservation;
|
|
20
25
|
export declare const codexTerminalAgentAdapter: TerminalAgentAdapter<"codex_cli">;
|
|
21
26
|
export declare function inspectCodexScreen(options: TerminalScreenInspectionOptions): TerminalScreenInspection;
|
|
22
27
|
export declare function detectCodexApprovalPrompt(screen: string): CodexApprovalPromptDetection;
|