@scotthuang/agent-knock-knock 0.8.0 → 0.9.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/dist/src/store.js CHANGED
@@ -3,6 +3,7 @@ import { AsyncLocalStorage } from "node:async_hooks";
3
3
  import fs from "node:fs";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
+ import { sessionIdForConversation, turnIdForConversation, validateMessage } from "./protocol.js";
6
7
  const PRIVATE_DIRECTORY_MODE = 0o700;
7
8
  const PRIVATE_FILE_MODE = 0o600;
8
9
  const STORE_SCHEMA = "agent-knock-knock/store";
@@ -21,7 +22,8 @@ const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
21
22
  ? fs.constants.O_NOFOLLOW
22
23
  : 0;
23
24
  export const STORE_FORMAT_VERSION = 1;
24
- export const STORE_WRITER_PROTOCOL = 1;
25
+ export const STORE_WRITER_PROTOCOL = 2;
26
+ const STORE_UPGRADEABLE_WRITER_PROTOCOL = 1;
25
27
  const STORE_WRITER_LEASE_BRAND = Symbol("akk-store-writer-lease");
26
28
  const activeStoreWriterLease = new AsyncLocalStorage();
27
29
  export class StoreCompatibilityError extends Error {
@@ -72,7 +74,16 @@ export function inspectStoreCompatibility(storeDir = defaultStoreDir()) {
72
74
  if (!storeStat.isDirectory()) {
73
75
  throw new Error(`store directory must be a real directory: ${storeDir}`);
74
76
  }
75
- if (!fs.existsSync(manifestPath)) {
77
+ let manifestStat;
78
+ try {
79
+ manifestStat = fs.lstatSync(manifestPath);
80
+ }
81
+ catch (error) {
82
+ if (!isNodeError(error, "ENOENT")) {
83
+ throw error;
84
+ }
85
+ }
86
+ if (!manifestStat) {
76
87
  if (storeHasConversationData(resolvedStoreDir)) {
77
88
  return {
78
89
  status: "legacy",
@@ -91,15 +102,26 @@ export function inspectStoreCompatibility(storeDir = defaultStoreDir()) {
91
102
  writable: true
92
103
  };
93
104
  }
105
+ if (manifestStat.isSymbolicLink() || !manifestStat.isFile()) {
106
+ throw new Error(`store manifest must be a regular file: ${manifestPath}`);
107
+ }
94
108
  const manifest = readStoreManifest(manifestPath);
95
109
  const readable = manifest.format_version === STORE_FORMAT_VERSION;
96
- const writable = readable && manifest.writer_protocol === STORE_WRITER_PROTOCOL;
110
+ const compatible = readable && manifest.writer_protocol === STORE_WRITER_PROTOCOL;
111
+ const upgradeable = readable &&
112
+ manifest.writer_protocol === STORE_UPGRADEABLE_WRITER_PROTOCOL;
113
+ const writable = compatible || upgradeable;
97
114
  return {
98
- status: readable && writable ? "compatible" : "incompatible",
115
+ status: compatible
116
+ ? "compatible"
117
+ : upgradeable
118
+ ? "upgradeable"
119
+ : "incompatible",
99
120
  store_dir: storeDir,
100
121
  manifest_path: manifestPath,
101
122
  readable,
102
123
  writable,
124
+ upgradeable,
103
125
  format_version: manifest.format_version,
104
126
  writer_protocol: manifest.writer_protocol,
105
127
  ...(!readable
@@ -242,13 +264,17 @@ export function logPathForStatePath(statePath) {
242
264
  return statePath.replace(/\.state\.json$/, ".ndjson");
243
265
  }
244
266
  export function saveState(statePath, conversation) {
267
+ // Validate the state identity before acquiring a writer lease. In particular,
268
+ // a malformed state must not initialize or upgrade the Store manifest.
269
+ assertConversationStateIdentity(conversation);
245
270
  const paths = assertCanonicalConversationDataPath(statePath, "state.json");
271
+ assertConversationStateIdentity(conversation, path.basename(paths.conversationDir));
272
+ assertConversationStorageMetadata(statePath, conversation);
246
273
  withStoreWriterLease(paths.storeDir, () => {
247
274
  saveStateWithWriterLease(statePath, conversation);
248
275
  });
249
276
  }
250
277
  function saveStateWithWriterLease(statePath, conversation) {
251
- validateConversationId(conversation.conversation_id);
252
278
  secureConversationStorageMetadata(statePath, conversation);
253
279
  prepareDataDirectory(statePath);
254
280
  const serialized = `${JSON.stringify(conversation, null, 2)}\n`;
@@ -289,7 +315,7 @@ export function loadState(statePath) {
289
315
  assertNotSymlink(path.dirname(statePath), "conversation directory");
290
316
  const fd = openRegularFileNoFollow(statePath, fs.constants.O_RDONLY, "state file");
291
317
  try {
292
- return JSON.parse(fs.readFileSync(fd, "utf8"));
318
+ return withConversationIdentity(JSON.parse(fs.readFileSync(fd, "utf8")));
293
319
  }
294
320
  finally {
295
321
  fs.closeSync(fd);
@@ -336,6 +362,31 @@ function withCanonicalConversationStorage(conversation, paths) {
336
362
  event_log_path: path.resolve(paths.logPath)
337
363
  };
338
364
  }
365
+ function withConversationIdentity(conversation) {
366
+ const { sessionId, turnId } = assertConversationStateIdentity(conversation);
367
+ return {
368
+ ...conversation,
369
+ session_id: sessionId,
370
+ turn_id: turnId
371
+ };
372
+ }
373
+ function assertConversationStateIdentity(value, expectedConversationId) {
374
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
375
+ throw new Error("conversation state must be an object");
376
+ }
377
+ const conversation = value;
378
+ validateConversationId(conversation.conversation_id);
379
+ const sessionId = sessionIdForConversation(conversation);
380
+ const turnId = turnIdForConversation(conversation);
381
+ if (turnId !== conversation.conversation_id) {
382
+ throw new Error(`conversation turn_id ${turnId} does not match its store identity ${conversation.conversation_id}`);
383
+ }
384
+ if (expectedConversationId !== undefined &&
385
+ conversation.conversation_id !== expectedConversationId) {
386
+ throw new Error(`conversation id ${conversation.conversation_id} does not match its store directory ${expectedConversationId}`);
387
+ }
388
+ return { conversation, sessionId, turnId };
389
+ }
339
390
  export function appendEvent(logPath, event) {
340
391
  const paths = assertCanonicalConversationDataPath(logPath, "events.ndjson");
341
392
  withStoreWriterLease(paths.storeDir, () => {
@@ -444,6 +495,12 @@ function prepareDataDirectory(dataPath) {
444
495
  }
445
496
  }
446
497
  function secureConversationStorageMetadata(statePath, conversation) {
498
+ const paths = assertConversationStorageMetadata(statePath, conversation);
499
+ ensureStoreWritable(paths.storeDir);
500
+ ensureStoreDir(paths.storeDir, paths.conversationDir);
501
+ ensureDir(paths.conversationDir);
502
+ }
503
+ function assertConversationStorageMetadata(statePath, conversation) {
447
504
  if (typeof conversation.store_dir !== "string" ||
448
505
  typeof conversation.conversation_dir !== "string" ||
449
506
  typeof conversation.state_path !== "string") {
@@ -455,9 +512,7 @@ function secureConversationStorageMetadata(statePath, conversation) {
455
512
  path.resolve(paths.statePath) !== path.resolve(statePath)) {
456
513
  throw new Error(`conversation storage metadata does not match state path: ${statePath}`);
457
514
  }
458
- ensureStoreWritable(paths.storeDir);
459
- ensureStoreDir(paths.storeDir, paths.conversationDir);
460
- ensureDir(paths.conversationDir);
515
+ return paths;
461
516
  }
462
517
  function secureEventStorageMetadata(logPath, event) {
463
518
  if (typeof event.conversation_id !== "string") {
@@ -561,6 +616,10 @@ function ensureStoreWritableWhileLocked(storeDir) {
561
616
  createStoreManifest(storeDir);
562
617
  compatibility = inspectStoreCompatibility(storeDir);
563
618
  }
619
+ else if (compatibility.status === "upgradeable") {
620
+ upgradeStoreWriterProtocolWhileLocked(storeDir);
621
+ compatibility = inspectStoreCompatibility(storeDir);
622
+ }
564
623
  assertWritableCompatibility(compatibility);
565
624
  // Permission repair is a write and therefore happens only after the
566
625
  // manifest has been validated under the root writer lock.
@@ -656,9 +715,136 @@ function createStoreManifest(storeDir) {
656
715
  throw error;
657
716
  }
658
717
  }
718
+ /** Upgrade the one explicitly supported predecessor while holding the root lock. */
719
+ function upgradeStoreWriterProtocolWhileLocked(storeDir) {
720
+ const manifestPath = storeManifestPath(storeDir);
721
+ const previous = readStoreManifestSnapshot(manifestPath);
722
+ assertUpgradeableStoreManifest(previous.manifest, storeDir);
723
+ // Protocol 2 makes the Session/Turn identity pair a writer invariant. Check
724
+ // every existing state before publishing that claim, but do not rewrite any
725
+ // conversation state as part of the manifest upgrade.
726
+ assertUpgradeableStoreStateIdentities(storeDir);
727
+ const upgraded = {
728
+ ...previous.manifest,
729
+ writer_protocol: STORE_WRITER_PROTOCOL,
730
+ created_at: previous.manifest.created_at
731
+ };
732
+ const tempPath = path.join(storeDir, `${STORE_MANIFEST_TEMP_PREFIX}${process.pid}.${randomUUID()}${STORE_MANIFEST_TEMP_SUFFIX}`);
733
+ let fd;
734
+ try {
735
+ fd = fs.openSync(tempPath, fs.constants.O_CREAT |
736
+ fs.constants.O_EXCL |
737
+ fs.constants.O_WRONLY |
738
+ NO_FOLLOW_FLAG, PRIVATE_FILE_MODE);
739
+ fs.fchmodSync(fd, PRIVATE_FILE_MODE);
740
+ fs.writeFileSync(fd, `${JSON.stringify(upgraded, null, 2)}\n`, "utf8");
741
+ fs.fsyncSync(fd);
742
+ fs.closeSync(fd);
743
+ fd = undefined;
744
+ // A process that ignores the root writer lock must not trick us into
745
+ // replacing a different manifest. Re-check both file identity and the
746
+ // supported predecessor immediately before the atomic rename.
747
+ const current = readStoreManifestSnapshot(manifestPath);
748
+ if (current.device !== previous.device ||
749
+ current.inode !== previous.inode ||
750
+ current.manifest.schema !== previous.manifest.schema ||
751
+ current.manifest.format_version !== previous.manifest.format_version ||
752
+ current.manifest.writer_protocol !== STORE_UPGRADEABLE_WRITER_PROTOCOL ||
753
+ current.manifest.created_at !== previous.manifest.created_at) {
754
+ throw new Error("AKK store manifest changed while upgrading writer protocol; refusing to replace it");
755
+ }
756
+ const manifestPathStat = fs.lstatSync(manifestPath, { bigint: true });
757
+ if (manifestPathStat.isSymbolicLink() ||
758
+ !manifestPathStat.isFile() ||
759
+ manifestPathStat.dev !== current.device ||
760
+ manifestPathStat.ino !== current.inode) {
761
+ throw new Error("AKK store manifest path changed while upgrading writer protocol; refusing to replace it");
762
+ }
763
+ fs.renameSync(tempPath, manifestPath);
764
+ fsyncDirectory(storeDir);
765
+ }
766
+ finally {
767
+ if (fd !== undefined) {
768
+ fs.closeSync(fd);
769
+ }
770
+ try {
771
+ fs.unlinkSync(tempPath);
772
+ }
773
+ catch (error) {
774
+ if (!isNodeError(error, "ENOENT")) {
775
+ throw error;
776
+ }
777
+ }
778
+ }
779
+ }
780
+ function assertUpgradeableStoreManifest(manifest, storeDir) {
781
+ if (manifest.schema !== STORE_SCHEMA ||
782
+ manifest.format_version !== STORE_FORMAT_VERSION ||
783
+ manifest.writer_protocol !== STORE_UPGRADEABLE_WRITER_PROTOCOL) {
784
+ throw new StoreCompatibilityError(`store is not the supported writer protocol ${STORE_UPGRADEABLE_WRITER_PROTOCOL} predecessor`, inspectStoreCompatibility(storeDir));
785
+ }
786
+ }
787
+ function assertUpgradeableStoreStateIdentities(storeDir) {
788
+ const conversationsDir = storeConversationsDir(storeDir);
789
+ let conversationsStat;
790
+ try {
791
+ conversationsStat = fs.lstatSync(conversationsDir);
792
+ }
793
+ catch (error) {
794
+ if (isNodeError(error, "ENOENT")) {
795
+ return;
796
+ }
797
+ throw error;
798
+ }
799
+ if (conversationsStat.isSymbolicLink() || !conversationsStat.isDirectory()) {
800
+ throw new Error(`conversations directory must be a real directory: ${conversationsDir}`);
801
+ }
802
+ for (const entry of fs.readdirSync(conversationsDir, { withFileTypes: true })) {
803
+ const conversationDir = path.join(conversationsDir, entry.name);
804
+ const conversationStat = fs.lstatSync(conversationDir);
805
+ if (conversationStat.isSymbolicLink()) {
806
+ throw new Error(`conversation directory must not be a symlink: ${conversationDir}`);
807
+ }
808
+ if (!conversationStat.isDirectory()) {
809
+ continue;
810
+ }
811
+ const statePath = path.join(conversationDir, "state.json");
812
+ let stateStat;
813
+ try {
814
+ stateStat = fs.lstatSync(statePath);
815
+ }
816
+ catch (error) {
817
+ if (isNodeError(error, "ENOENT")) {
818
+ continue;
819
+ }
820
+ throw error;
821
+ }
822
+ if (stateStat.isSymbolicLink() || !stateStat.isFile()) {
823
+ throw new Error(`state file must be a regular file: ${statePath}`);
824
+ }
825
+ const stateFd = openRegularFileNoFollow(statePath, fs.constants.O_RDONLY, "state file");
826
+ try {
827
+ let parsed;
828
+ try {
829
+ parsed = JSON.parse(fs.readFileSync(stateFd, "utf8"));
830
+ }
831
+ catch (error) {
832
+ throw new Error(`invalid conversation state during Store upgrade: ${statePath}: ${error instanceof Error ? error.message : String(error)}`);
833
+ }
834
+ assertConversationStateIdentity(parsed, entry.name);
835
+ }
836
+ finally {
837
+ fs.closeSync(stateFd);
838
+ }
839
+ }
840
+ }
659
841
  function readStoreManifest(manifestPath) {
842
+ return readStoreManifestSnapshot(manifestPath).manifest;
843
+ }
844
+ function readStoreManifestSnapshot(manifestPath) {
660
845
  const fd = openRegularFileNoFollow(manifestPath, fs.constants.O_RDONLY, "store manifest");
661
846
  try {
847
+ const stat = fs.fstatSync(fd, { bigint: true });
662
848
  const parsed = JSON.parse(fs.readFileSync(fd, "utf8"));
663
849
  if (parsed.schema !== STORE_SCHEMA ||
664
850
  !Number.isSafeInteger(parsed.format_version) ||
@@ -666,7 +852,11 @@ function readStoreManifest(manifestPath) {
666
852
  typeof parsed.created_at !== "string") {
667
853
  throw new Error(`invalid AKK store manifest: ${manifestPath}`);
668
854
  }
669
- return parsed;
855
+ return {
856
+ manifest: parsed,
857
+ device: stat.dev,
858
+ inode: stat.ino
859
+ };
670
860
  }
671
861
  finally {
672
862
  fs.closeSync(fd);
@@ -885,9 +1075,12 @@ function isNodeError(error, code) {
885
1075
  return error instanceof Error && error.code === code;
886
1076
  }
887
1077
  export function messageEvent(message) {
1078
+ validateMessage(message);
888
1079
  return {
889
1080
  ts: message.ts,
890
1081
  conversation_id: message.conversation_id,
1082
+ session_id: message.session_id ?? message.conversation_id,
1083
+ turn_id: message.turn_id ?? message.conversation_id,
891
1084
  event: "message",
892
1085
  from: message.from,
893
1086
  to: message.to,
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,28 @@ export interface TerminalCompletionEvidence {
97
97
  export interface TerminalRuntimeIdentity {
98
98
  pid?: number;
99
99
  sessionId?: string;
100
+ nativeSessionId?: string;
101
+ nativeProcessUuid?: string;
102
+ nativeProcessBirth?: string;
103
+ /**
104
+ * Modern Claude turns require an exact process-incarnation token in addition
105
+ * to the native session id. A numeric PID can be reused and is not enough to
106
+ * authorize terminal side effects by itself.
107
+ */
108
+ requireNativeProcessUuid?: boolean;
109
+ /**
110
+ * Current Codex turns require the exact open root rollout descriptor and
111
+ * process-birth evidence. A session id by itself is not an incarnation
112
+ * fence and cannot authorize terminal side effects.
113
+ */
114
+ requireNativeRolloutIdentity?: boolean;
115
+ nativeRollout?: {
116
+ fd: string;
117
+ device: string;
118
+ inode: string;
119
+ path: string;
120
+ };
121
+ expectedEmptyNativeSession?: boolean;
100
122
  cwd?: string;
101
123
  conversationId?: string;
102
124
  messageId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-agent-adapter.js","sourceRoot":"","sources":["../../src/terminal-agent-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-agent-adapter.js","sourceRoot":"","sources":["../../src/terminal-agent-adapter.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export interface TerminalIdentityVerificationRequest {
71
71
  agent: ExecutorKind;
72
72
  pid: number;
73
73
  terminalControl: TerminalControlRef;
74
+ runtime?: TerminalRuntimeIdentity;
74
75
  }
75
76
  export interface TerminalIdentityVerificationResult {
76
77
  terminalControl?: TerminalControlRef;
@@ -559,7 +559,8 @@ export class TerminalAgentBridge {
559
559
  const result = await this.verifyIdentity({
560
560
  agent,
561
561
  pid: Number(runtime?.pid),
562
- terminalControl
562
+ terminalControl,
563
+ runtime
563
564
  });
564
565
  return result?.terminalControl ?? terminalControl;
565
566
  }