@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.
Files changed (52) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +18 -8
  3. package/dist/src/agent-session-provider.d.ts +1 -1
  4. package/dist/src/claude-local-transcript-provider.d.ts +29 -1
  5. package/dist/src/claude-local-transcript-provider.js +313 -0
  6. package/dist/src/claude-local-transcript-provider.js.map +1 -1
  7. package/dist/src/claude-terminal-agent-adapter.d.ts +6 -1
  8. package/dist/src/claude-terminal-agent-adapter.js +178 -0
  9. package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
  10. package/dist/src/cli.js +4745 -355
  11. package/dist/src/cli.js.map +1 -1
  12. package/dist/src/codex-local-session-provider.d.ts +2 -2
  13. package/dist/src/codex-local-session-provider.js +2 -2
  14. package/dist/src/codex-local-session-provider.js.map +1 -1
  15. package/dist/src/codex-store-adapter.d.ts +11 -3
  16. package/dist/src/codex-store-adapter.js +371 -4
  17. package/dist/src/codex-store-adapter.js.map +1 -1
  18. package/dist/src/codex-terminal-agent-adapter.d.ts +6 -1
  19. package/dist/src/codex-terminal-agent-adapter.js +192 -0
  20. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  21. package/dist/src/managed-session.d.ts +163 -0
  22. package/dist/src/managed-session.js +873 -0
  23. package/dist/src/managed-session.js.map +1 -0
  24. package/dist/src/native-thread-lifecycle-policy.d.ts +57 -0
  25. package/dist/src/native-thread-lifecycle-policy.js +116 -0
  26. package/dist/src/native-thread-lifecycle-policy.js.map +1 -0
  27. package/dist/src/openclaw-plugin-helpers.d.ts +31 -6
  28. package/dist/src/openclaw-plugin-helpers.js +226 -9
  29. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  30. package/dist/src/openclaw-plugin.js +238 -23
  31. package/dist/src/openclaw-plugin.js.map +1 -1
  32. package/dist/src/protocol.d.ts +6 -0
  33. package/dist/src/protocol.js.map +1 -1
  34. package/dist/src/session-store.d.ts +57 -0
  35. package/dist/src/session-store.js +529 -0
  36. package/dist/src/session-store.js.map +1 -0
  37. package/dist/src/store.d.ts +2 -1
  38. package/dist/src/store.js +233 -21
  39. package/dist/src/store.js.map +1 -1
  40. package/dist/src/terminal-agent-adapter.d.ts +153 -0
  41. package/dist/src/terminal-agent-adapter.js +12 -0
  42. package/dist/src/terminal-agent-adapter.js.map +1 -1
  43. package/dist/src/terminal-agent-bridge.d.ts +8 -0
  44. package/dist/src/terminal-agent-bridge.js +15 -0
  45. package/dist/src/terminal-agent-bridge.js.map +1 -1
  46. package/dist/src/terminal-control-provider.d.ts +2 -0
  47. package/dist/src/terminal-control-provider.js +1 -0
  48. package/dist/src/terminal-control-provider.js.map +1 -1
  49. package/docs/quickstart-tmux.md +12 -1
  50. package/openclaw.plugin.json +14 -2
  51. package/package.json +1 -1
  52. 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":"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"}
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":"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"}
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;