@scotthuang/agent-knock-knock 0.16.5 → 0.16.7

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 (100) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +16 -8
  3. package/connectors/deepseek-harness/README.md +105 -19
  4. package/connectors/pi/README.md +32 -7
  5. package/dist/src/claude-agent-discovery-cache.d.ts +6 -0
  6. package/dist/src/claude-agent-discovery-cache.js +41 -0
  7. package/dist/src/claude-agent-discovery-cache.js.map +1 -0
  8. package/dist/src/claude-conversation-routing-cli-adapter.js +8 -2
  9. package/dist/src/claude-conversation-routing-cli-adapter.js.map +1 -1
  10. package/dist/src/claude-managed-send-route.js +3 -0
  11. package/dist/src/claude-managed-send-route.js.map +1 -1
  12. package/dist/src/claude-native-discovery.d.ts +1 -0
  13. package/dist/src/claude-native-discovery.js +107 -47
  14. package/dist/src/claude-native-discovery.js.map +1 -1
  15. package/dist/src/claude-terminal-admission.d.ts +28 -0
  16. package/dist/src/claude-terminal-admission.js +53 -0
  17. package/dist/src/claude-terminal-admission.js.map +1 -0
  18. package/dist/src/claude-terminal-agent-observation.d.ts +4 -0
  19. package/dist/src/claude-terminal-agent-observation.js +58 -5
  20. package/dist/src/claude-terminal-agent-observation.js.map +1 -1
  21. package/dist/src/claude-terminal-registry-observation.d.ts +18 -0
  22. package/dist/src/claude-terminal-registry-observation.js +31 -0
  23. package/dist/src/claude-terminal-registry-observation.js.map +1 -1
  24. package/dist/src/cli-core.js +7 -4
  25. package/dist/src/cli-core.js.map +1 -1
  26. package/dist/src/cli-runtime-context.d.ts +7 -1
  27. package/dist/src/cli-runtime-context.js +30 -2
  28. package/dist/src/cli-runtime-context.js.map +1 -1
  29. package/dist/src/cli-usage.js +1 -1
  30. package/dist/src/codex-native-cli-adapter.js +30 -1
  31. package/dist/src/codex-native-cli-adapter.js.map +1 -1
  32. package/dist/src/codex-native-public-projection.d.ts +155 -1
  33. package/dist/src/codex-native-public-projection.js +29 -0
  34. package/dist/src/codex-native-public-projection.js.map +1 -1
  35. package/dist/src/codex-store-adapter.d.ts +6 -2
  36. package/dist/src/codex-store-adapter.js +18 -7
  37. package/dist/src/codex-store-adapter.js.map +1 -1
  38. package/dist/src/conversation-list.d.ts +1 -1
  39. package/dist/src/conversation-list.js +24 -3
  40. package/dist/src/conversation-list.js.map +1 -1
  41. package/dist/src/conversation-routing-cli-adapter.js +1 -1
  42. package/dist/src/conversation-routing-cli-adapter.js.map +1 -1
  43. package/dist/src/conversation-usage-guidance.js +42 -2
  44. package/dist/src/conversation-usage-guidance.js.map +1 -1
  45. package/dist/src/herdr-terminal-control-provider.d.ts +1 -0
  46. package/dist/src/herdr-terminal-control-provider.js +14 -2
  47. package/dist/src/herdr-terminal-control-provider.js.map +1 -1
  48. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +1 -0
  49. package/dist/src/native-thread-lifecycle-cli-adapter.js +1 -0
  50. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  51. package/dist/src/native-thread-lifecycle-cli-contract.d.ts +6 -0
  52. package/dist/src/native-thread-lifecycle-query-service.js +2 -1
  53. package/dist/src/native-thread-lifecycle-query-service.js.map +1 -1
  54. package/dist/src/native-thread-transition-application.d.ts +1 -1
  55. package/dist/src/native-thread-transition-application.js +23 -1
  56. package/dist/src/native-thread-transition-application.js.map +1 -1
  57. package/dist/src/native-thread-transition-verification-adapter.js +5 -10
  58. package/dist/src/native-thread-transition-verification-adapter.js.map +1 -1
  59. package/dist/src/semantic-tool-list-projection.js +7 -2
  60. package/dist/src/semantic-tool-list-projection.js.map +1 -1
  61. package/dist/src/semantic-tool-private-authority.js +3 -2
  62. package/dist/src/semantic-tool-private-authority.js.map +1 -1
  63. package/dist/src/semantic-tool-runtime.js +2 -0
  64. package/dist/src/semantic-tool-runtime.js.map +1 -1
  65. package/dist/src/semantic-tool-schemas.js +1 -1
  66. package/dist/src/semantic-tool-schemas.js.map +1 -1
  67. package/dist/src/terminal-command-dispatch-preparation.js +8 -6
  68. package/dist/src/terminal-command-dispatch-preparation.js.map +1 -1
  69. package/dist/src/terminal-control-provider.d.ts +3 -1
  70. package/dist/src/terminal-control-provider.js +90 -52
  71. package/dist/src/terminal-control-provider.js.map +1 -1
  72. package/dist/src/terminal-identity-authority-cli-adapter.js +6 -3
  73. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  74. package/dist/src/terminal-list-action-policy.js +9 -6
  75. package/dist/src/terminal-list-action-policy.js.map +1 -1
  76. package/dist/src/terminal-list-cli-adapter.d.ts +7 -0
  77. package/dist/src/terminal-list-cli-adapter.js +49 -73
  78. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  79. package/dist/src/terminal-list-facts.d.ts +32 -0
  80. package/dist/src/terminal-list-facts.js +66 -2
  81. package/dist/src/terminal-list-facts.js.map +1 -1
  82. package/dist/src/terminal-list-inventory.d.ts +3 -0
  83. package/dist/src/terminal-list-inventory.js +15 -16
  84. package/dist/src/terminal-list-inventory.js.map +1 -1
  85. package/dist/src/terminal-list-native-identity-recheck.d.ts +8 -2
  86. package/dist/src/terminal-list-native-identity-recheck.js +17 -2
  87. package/dist/src/terminal-list-native-identity-recheck.js.map +1 -1
  88. package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
  89. package/dist/src/terminal-permission-control-list-projection.d.ts +1 -1
  90. package/dist/src/terminal-process-source.d.ts +4 -1
  91. package/dist/src/terminal-process-source.js +18 -4
  92. package/dist/src/terminal-process-source.js.map +1 -1
  93. package/dist/src/terminal-runtime-cli-adapter.d.ts +1 -0
  94. package/dist/src/terminal-runtime-cli-adapter.js +57 -8
  95. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  96. package/docs/command-discovery-performance.md +153 -0
  97. package/docs/list-output.md +34 -6
  98. package/docs/operator-guide.md +26 -0
  99. package/package.json +1 -1
  100. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +2 -0
@@ -3,6 +3,8 @@ import { lstat, readFile, realpath } from "node:fs/promises";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
  import { promisify } from "node:util";
6
+ import { readClaudeAgentDiscovery } from "./claude-agent-discovery-cache.js";
7
+ import { cliExecutionMemoAsync } from "./cli-runtime-context.js";
6
8
  import { ClaudeNativeError, createClaudeNativeConversationId, validateClaudeNativeIdentity } from "./claude-native-identity.js";
7
9
  const execFile = promisify(execFileCallback);
8
10
  export async function runClaudeNativeCommand(file, args, env) {
@@ -11,9 +13,11 @@ export async function runClaudeNativeCommand(file, args, env) {
11
13
  }
12
14
  /** Only an executable launch failure establishes that the configured reader is unavailable. */
13
15
  async function readClaudeNativeAgentOutput(configDir, options) {
14
- const run = options.run ?? runClaudeNativeCommand;
15
16
  try {
16
- return await run(options.claudePath ?? "claude", ["agents", "--json", "--all"], { ...process.env, CLAUDE_CONFIG_DIR: configDir });
17
+ const output = await readClaudeAgentDiscovery(configDir, options.claudePath ?? "claude", options.run);
18
+ if (Buffer.byteLength(output) > 2 * 1024 * 1024)
19
+ throw new Error("Claude native discovery exceeds its output limit");
20
+ return output;
17
21
  }
18
22
  catch (error) {
19
23
  if (error?.code === "ENOENT" || error?.code === "EACCES") {
@@ -48,76 +52,132 @@ export async function readClaudeNativeRegistry(configDir, pid) {
48
52
  throw new ClaudeNativeError("invalid_registry", "Native registry entry exceeds limit");
49
53
  return record(JSON.parse(await readFile(file, "utf8")));
50
54
  }
51
- /** The agent-list row and owned registry must describe the same supported inbox. */
52
- function catalogFields(m, row, identity) {
53
- if (m.pid !== identity.pid || row.pid !== identity.pid || row.sessionId !== identity.sessionId || row.kind !== "interactive"
54
- || !absolute(m.cwd) || row.cwd !== m.cwd || typeof m.version !== "string" || !/^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/u.test(m.version)
55
+ function registryIdentity(configDir, m, pid) {
56
+ const processStart = typeof m.procStart === "string" ? m.procStart.trim().replace(/\s+/gu, " ") : "";
57
+ return validateClaudeNativeIdentity({ configDir, sessionId: String(m.sessionId), pid, processStart });
58
+ }
59
+ function registryFields(m, identity) {
60
+ if (m.pid !== identity.pid || !absolute(m.cwd)
61
+ || typeof m.version !== "string" || !/^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/u.test(m.version)
55
62
  || m.peerProtocol !== 1 || !Array.isArray(m.peerFeatures) || !m.peerFeatures.every(x => typeof x === "string")
56
63
  || !absolute(m.messagingSocketPath) || path.basename(m.messagingSocketPath) !== `${identity.pid}.sock`) {
57
- throw new ClaudeNativeError("unsupported_contract", "Claude native registry and agent list do not prove a supported live identity");
64
+ throw new ClaudeNativeError("unsupported_contract", "Claude native registry does not prove a supported live identity");
58
65
  }
59
66
  return { cwd: m.cwd, version: m.version, socketPath: m.messagingSocketPath,
60
67
  peerProtocol: 1, peerFeatures: m.peerFeatures };
61
68
  }
62
- export async function validateClaudeNativeRegistry(configDir, row, options = {}) {
63
- const pid = Number(row.pid), m = await readClaudeNativeRegistry(configDir, pid);
64
- const processStart = typeof m.procStart === "string" ? m.procStart.trim().replace(/\s+/gu, " ") : "";
65
- const identity = validateClaudeNativeIdentity({ configDir, sessionId: String(m.sessionId), pid, processStart });
66
- const fields = catalogFields(m, row, identity);
69
+ /** Never cache execution fences: every targeted inspection observes the current process and socket. */
70
+ async function assertLiveNativeRegistry(identity, fields, options) {
67
71
  const run = options.run ?? runClaudeNativeCommand;
68
- const processInfo = (await run("/bin/ps", ["-p", String(pid), "-o", "uid=", "-o", "lstart="], { ...process.env, LC_ALL: "C", TZ: "UTC" })).trim().replace(/\s+/gu, " ");
69
- if (processInfo !== `${process.getuid?.()} ${processStart}`)
72
+ const processInfo = (await run("/bin/ps", ["-p", String(identity.pid), "-o", "uid=", "-o", "lstart="], { ...process.env, LC_ALL: "C", TZ: "UTC" })).trim().replace(/\s+/gu, " ");
73
+ if (processInfo !== `${process.getuid?.()} ${identity.processStart}`)
70
74
  throw new ClaudeNativeError("process_changed", "Claude process identity changed");
71
- const socketPath = fields.socketPath;
72
- await owned(await realpath(path.dirname(socketPath)), "directory");
73
- await owned(socketPath, "socket");
75
+ await owned(await realpath(path.dirname(fields.socketPath)), "directory");
76
+ await owned(fields.socketPath, "socket");
77
+ }
78
+ function catalogEntry(identity, fields, row, status) {
74
79
  const statusMap = { idle: "idle", busy: "working", waiting: "waiting" };
75
- // Both sources must agree. Unknown or racing state remains observable, never sendable.
76
- const status = m.status === row.status && typeof m.status === "string"
77
- ? statusMap[m.status] ?? "unknown" : "unknown";
78
80
  return { ...identity, ...fields, nativeId: createClaudeNativeConversationId(identity),
79
- ...(typeof row.name === "string" ? { name: row.name.slice(0, 512) } : {}), status,
81
+ ...(typeof row.name === "string" ? { name: row.name.slice(0, 512) } : {}),
82
+ status: typeof status === "string" ? statusMap[status] ?? "unknown" : "unknown",
80
83
  ...(typeof row.waitingFor === "string" ? { waitingFor: row.waitingFor.slice(0, 256) } : {}), observedAt: new Date().toISOString() };
81
84
  }
82
- export async function discoverClaudeNativeSessions(options = {}) {
85
+ /** The agent-list row and owned registry must describe the same supported inbox. */
86
+ export async function validateClaudeNativeRegistry(configDir, row, options = {}) {
87
+ const pid = Number(row.pid), m = await readClaudeNativeRegistry(configDir, pid);
88
+ const identity = registryIdentity(configDir, m, pid), fields = registryFields(m, identity);
89
+ if (row.pid !== identity.pid || row.sessionId !== identity.sessionId || row.kind !== "interactive" || row.cwd !== m.cwd) {
90
+ throw new ClaudeNativeError("unsupported_contract", "Claude native registry and agent list do not prove a supported live identity");
91
+ }
92
+ await assertLiveNativeRegistry(identity, fields, options);
93
+ // Both sources must agree. Unknown or racing state remains observable, never sendable.
94
+ return catalogEntry(identity, fields, row, m.status === row.status ? m.status : undefined);
95
+ }
96
+ async function discoverConfigDirectory(configured, options) {
83
97
  const errors = [], sessions = [];
84
- const configDirs = [...new Set(options.configDirs ?? [process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), ".claude")])];
85
- if ((options.platform ?? process.platform) !== "darwin")
86
- return { sessions, errors: [{ configDir: "", code: "unsupported_platform" }] };
87
- for (const configured of configDirs.slice(0, 16)) {
88
- let configDir = path.resolve(configured);
89
- try {
90
- configDir = await realpath(configDir);
91
- const raw = JSON.parse(await readClaudeNativeAgentOutput(configDir, options));
92
- if (!Array.isArray(raw) || raw.length > 4096)
93
- throw new ClaudeNativeError("invalid_agent_list", "Invalid Claude agents list");
94
- for (const value of raw) {
95
- const row = record(value);
96
- if (row.kind !== "interactive")
97
- continue;
98
+ let configDir = path.resolve(configured);
99
+ try {
100
+ configDir = await realpath(configDir);
101
+ const raw = JSON.parse(await readClaudeNativeAgentOutput(configDir, options));
102
+ if (!Array.isArray(raw) || raw.length > 4096)
103
+ throw new ClaudeNativeError("invalid_agent_list", "Invalid Claude agents list");
104
+ // Bounded parallel PID checks retain input ordering without spawning one process per row at once.
105
+ for (let index = 0; index < raw.length; index += 8) {
106
+ const pending = [];
107
+ let malformed;
108
+ for (const value of raw.slice(index, index + 8)) {
109
+ let row;
98
110
  try {
99
- const entry = await validateClaudeNativeRegistry(configDir, row, options);
100
- if (sessions.some(s => s.nativeId === entry.nativeId))
101
- throw new ClaudeNativeError("duplicate_identity", "Duplicate native agent identity");
102
- sessions.push(entry);
111
+ row = record(value);
103
112
  }
104
113
  catch (error) {
105
- errors.push({ configDir, code: error instanceof ClaudeNativeError ? error.code : "registry_unavailable" });
114
+ malformed = error;
115
+ break;
106
116
  }
117
+ if (row.kind !== "interactive")
118
+ continue;
119
+ pending.push(validateClaudeNativeRegistry(configDir, row, options).catch(error => ({ configDir,
120
+ code: error instanceof ClaudeNativeError ? error.code : "registry_unavailable" })));
107
121
  }
122
+ for (const value of await Promise.all(pending)) {
123
+ if ("nativeId" in value)
124
+ sessions.push(value);
125
+ else
126
+ errors.push(value);
127
+ }
128
+ if (malformed)
129
+ throw malformed;
108
130
  }
109
- catch (error) {
110
- errors.push({ configDir, code: error instanceof ClaudeNativeError ? error.code : "discovery_unavailable" });
131
+ }
132
+ catch (error) {
133
+ errors.push({ configDir, code: error instanceof ClaudeNativeError ? error.code : "discovery_unavailable" });
134
+ }
135
+ return { sessions, errors };
136
+ }
137
+ async function discoverConfiguredSessions(configDirs, options) {
138
+ const errors = [], sessions = [], seen = new Set();
139
+ for (let index = 0; index < configDirs.length; index += 4) {
140
+ const results = await Promise.all(configDirs.slice(index, index + 4).map(dir => discoverConfigDirectory(dir, options)));
141
+ for (const result of results) {
142
+ errors.push(...result.errors);
143
+ for (const entry of result.sessions) {
144
+ if (seen.has(entry.nativeId))
145
+ errors.push({ configDir: entry.configDir, code: "duplicate_identity" });
146
+ else {
147
+ seen.add(entry.nativeId);
148
+ sessions.push(entry);
149
+ }
150
+ }
111
151
  }
112
152
  }
113
153
  return { sessions, errors };
114
154
  }
155
+ export async function discoverClaudeNativeSessions(options = {}) {
156
+ const configDirs = [...new Set(options.configDirs ?? [process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), ".claude")])].slice(0, 16);
157
+ const platform = options.platform ?? process.platform;
158
+ if (platform !== "darwin")
159
+ return { sessions: [], errors: [{ configDir: "", code: "unsupported_platform" }] };
160
+ const namespace = `claude-native-discovery:${JSON.stringify([configDirs, options.claudePath ?? "claude", platform])}`;
161
+ const snapshot = await cliExecutionMemoAsync(namespace, options.run ?? runClaudeNativeCommand, () => discoverConfiguredSessions(configDirs, options));
162
+ return structuredClone(snapshot);
163
+ }
115
164
  export async function inspectClaudeNativeSession(identity, options = {}) {
116
165
  const wanted = validateClaudeNativeIdentity(identity);
117
- const result = await discoverClaudeNativeSessions({ ...options, configDirs: [wanted.configDir] });
118
- const found = result.sessions.find(s => s.nativeId === createClaudeNativeConversationId(wanted));
119
- if (!found)
166
+ if ((options.platform ?? process.platform) !== "darwin")
167
+ throw new ClaudeNativeError("unsupported_platform", "Claude native inspection is currently validated on macOS only");
168
+ const configDir = await realpath(wanted.configDir), m = await readClaudeNativeRegistry(configDir, wanted.pid);
169
+ const current = registryIdentity(configDir, m, wanted.pid);
170
+ if (createClaudeNativeConversationId(current) !== createClaudeNativeConversationId(wanted)) {
120
171
  throw new ClaudeNativeError("identity_unavailable", "Exact Claude CLI process/session is no longer available");
121
- return found;
172
+ }
173
+ // Interactive registry ownership is the targeted counterpart of the agents-row filter.
174
+ // A parked foreground process displays a background job; it is not that job's inbox.
175
+ if (m.kind !== "interactive" || m.parkedJobId !== undefined
176
+ || m.pidDomain !== undefined && m.pidDomain !== (options.platform ?? process.platform)) {
177
+ throw new ClaudeNativeError("unsupported_contract", "Claude target is not an ordinary interactive session");
178
+ }
179
+ const fields = registryFields(m, current);
180
+ await assertLiveNativeRegistry(current, fields, options);
181
+ return catalogEntry(current, fields, m, m.status);
122
182
  }
123
183
  //# sourceMappingURL=claude-native-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-native-discovery.js","sourceRoot":"","sources":["../../src/claude-native-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-native-discovery.js","sourceRoot":"","sources":["../../src/claude-native-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type CaptureClaudeTranscriptAnchorOptions, type ClaudeTranscriptAnchor } from "./claude-local-transcript-provider.js";
2
+ import type { TerminalThreadLifecycleObservation } from "./terminal-agent-adapter.js";
3
+ export type ClaudeControlReadiness = Readonly<{
4
+ ready: true;
5
+ } | {
6
+ ready: false;
7
+ reason: string;
8
+ message: string;
9
+ }>;
10
+ export interface ClaudeTerminalAdmission {
11
+ readonly managedSend: ClaudeControlReadiness;
12
+ readonly lifecycle: ClaudeControlReadiness;
13
+ }
14
+ /** Shared before-transition policy; the native observer owns exact process evidence. */
15
+ export declare function claudeLifecycleReadiness(input: {
16
+ cwd?: string;
17
+ expectedNativeThreadId?: string;
18
+ observation?: TerminalThreadLifecycleObservation;
19
+ }): ClaudeControlReadiness;
20
+ /** Capture exactly the original managed-send proof, without importing lifecycle-only gates. */
21
+ export declare function captureClaudeManagedSendAdmission(input: CaptureClaudeTranscriptAnchorOptions): {
22
+ readiness: ClaudeControlReadiness;
23
+ anchor?: ClaudeTranscriptAnchor;
24
+ };
25
+ /** List retains only diagnostics, never a captured anchor as later mutation authority. */
26
+ export declare function observeClaudeTerminalAdmission(input: CaptureClaudeTranscriptAnchorOptions & {
27
+ processStartedAt?: number;
28
+ }): ClaudeTerminalAdmission;
@@ -0,0 +1,53 @@
1
+ import path from "node:path";
2
+ import { captureClaudeTranscriptAnchor } from "./claude-local-transcript-provider.js";
3
+ import { observeClaudeThreadLifecycle } from "./claude-terminal-agent-adapter.js";
4
+ import { isExactNativeThreadId } from "./managed-session.js";
5
+ /** Shared before-transition policy; the native observer owns exact process evidence. */
6
+ export function claudeLifecycleReadiness(input) {
7
+ const observed = input.observation;
8
+ if (input.cwd && path.isAbsolute(input.cwd) && observed?.status === "observed" &&
9
+ isExactNativeThreadId(input.expectedNativeThreadId) &&
10
+ observed.nativeThreadId === input.expectedNativeThreadId.toLowerCase() && observed.idle === true) {
11
+ return { ready: true };
12
+ }
13
+ return {
14
+ ready: false,
15
+ reason: "claude_lifecycle_identity_unavailable",
16
+ message: "AKK cannot verify one current idle Claude session in this window for a thread change. " +
17
+ "Wait for Claude to finish, check Status and the Claude reader, then refresh List and retry. " +
18
+ (observed?.reason ? `Reader detail: ${observed.reason}. ` : "") + "No terminal input was sent."
19
+ };
20
+ }
21
+ /** Capture exactly the original managed-send proof, without importing lifecycle-only gates. */
22
+ export function captureClaudeManagedSendAdmission(input) {
23
+ try {
24
+ const anchor = captureClaudeTranscriptAnchor(input);
25
+ return anchor ? { readiness: { ready: true }, anchor } : {
26
+ readiness: {
27
+ ready: false, reason: "claude_completion_monitor_unavailable",
28
+ message: "AKK cannot verify this Claude session's idle process and transcript for managed completion tracking. " +
29
+ "Wait for Claude to finish, check Status and the Claude reader, then refresh List and retry. No task text was sent."
30
+ }
31
+ };
32
+ }
33
+ catch {
34
+ return { readiness: {
35
+ ready: false, reason: "claude_transcript_boundary_unavailable",
36
+ message: "AKK cannot safely read this Claude transcript before managed Send. " +
37
+ "Check Status and Claude's transcript access; restore access or wait for Claude to finish writing, then refresh List and retry. " +
38
+ "No task text was sent."
39
+ } };
40
+ }
41
+ }
42
+ /** List retains only diagnostics, never a captured anchor as later mutation authority. */
43
+ export function observeClaudeTerminalAdmission(input) {
44
+ const observation = observeClaudeThreadLifecycle({
45
+ operation: { kind: "new_thread" }, phase: "before", pid: input.pid,
46
+ processStartedAt: input.processStartedAt, cwd: input.cwd, agentRows: input.agentRows
47
+ });
48
+ return {
49
+ lifecycle: claudeLifecycleReadiness({ cwd: input.cwd, expectedNativeThreadId: input.sessionId, observation }),
50
+ managedSend: captureClaudeManagedSendAdmission(input).readiness
51
+ };
52
+ }
53
+ //# sourceMappingURL=claude-terminal-admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-terminal-admission.js","sourceRoot":"","sources":["../../src/claude-terminal-admission.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EACP,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAY7D,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,KAIxC;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC;IACnC,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,MAAM,KAAK,UAAU;QAC1E,qBAAqB,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACnD,QAAQ,CAAC,cAAc,KAAK,KAAK,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,uCAAuC;QAC/C,OAAO,EAAE,wFAAwF;YAC/F,8FAA8F;YAC9F,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,6BAA6B;KAClG,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,iCAAiC,CAC/C,KAA2C;IAE3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACvD,SAAS,EAAE;gBACT,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC;gBAC7D,OAAO,EAAE,uGAAuG;oBAC9G,oHAAoH;aACvH;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE;gBAClB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,wCAAwC;gBAC9D,OAAO,EAAE,qEAAqE;oBAC5E,iIAAiI;oBACjI,wBAAwB;aAC3B,EAAE,CAAC;IACN,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,8BAA8B,CAC5C,KAA2E;IAE3E,MAAM,WAAW,GAAG,4BAA4B,CAAC;QAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAClE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;KACrF,CAAC,CAAC;IACH,OAAO;QACL,SAAS,EAAE,wBAAwB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC7G,WAAW,EAAE,iCAAiC,CAAC,KAAK,CAAC,CAAC,SAAS;KAChE,CAAC;AACJ,CAAC"}
@@ -14,3 +14,7 @@ export declare function normalizeClaudeAgentRows(rows: readonly unknown[]): Clau
14
14
  export declare function claudeTerminalWindowRole(options: Readonly<Record<string, unknown>>, pid: number, cwd?: string): "background_view" | undefined;
15
15
  /** Never infer a session directory from the reader's install layout. */
16
16
  export declare function readClaudeTerminalAgents(options: Readonly<Record<string, unknown>>): ClaudeTerminalAgentObservation;
17
+ /** List shares reader output with the native catalog; every registry binding is still verified. */
18
+ export declare function readClaudeTerminalAgentsForDiscovery(options: Readonly<Record<string, unknown>>): Promise<ClaudeTerminalAgentObservation>;
19
+ /** Exact-target metadata never enumerates agents, and invalid present records never fall back. */
20
+ export declare function readClaudeTerminalAgent(options: Readonly<Record<string, unknown>>, pid: number): ClaudeTerminalAgentObservation | undefined;
@@ -5,8 +5,9 @@ import { spawnSync } from "node:child_process";
5
5
  import { resolveExecutable } from "./cli-command-runtime.js";
6
6
  import { cliEnv, cliRuntimeLog } from "./cli-runtime-context.js";
7
7
  import { claudeReaderConfiguration, claudeReaderDiagnostic, claudeReaderNextAction } from "./claude-reader-configuration.js";
8
- import { observeClaudeTerminalRegistry, observeClaudeTerminalWindow } from "./claude-terminal-registry-observation.js";
8
+ import { observeClaudeTerminalRegistry, observeClaudeTerminalRegistryRow, observeClaudeTerminalWindow } from "./claude-terminal-registry-observation.js";
9
9
  import { isRecord, nonBlankString } from "./value-guards.js";
10
+ import { completedClaudeAgentDiscovery, readClaudeAgentDiscovery } from "./claude-agent-discovery-cache.js";
10
11
  export function claudeTerminalObservationFailure(result) {
11
12
  const reader = result.reader ? `; reader=${JSON.stringify(result.reader.executable)} source=${result.reader.source}` : "";
12
13
  const hint = result.next_action ? "; check AKK_NATIVE_CLAUDE_BIN in the environment that starts this Host (a separate shell export does not update a running Host)" : "";
@@ -64,11 +65,16 @@ function resolveReader(reader) {
64
65
  throw new Error("claude_reader_unavailable");
65
66
  }
66
67
  }
67
- function readerRows(reader, root) {
68
- const command = spawnSync(reader, ["agents", "--json", "--all"], {
68
+ function readerRows(reader, root, outputs, discoverySnapshot = false) {
69
+ const cached = outputs?.get(root) ?? (discoverySnapshot ? completedClaudeAgentDiscovery(root, reader) : undefined);
70
+ if (cached instanceof Error)
71
+ throw cached;
72
+ if (discoverySnapshot && cached === undefined)
73
+ throw new Error("claude_discovery_snapshot_unavailable");
74
+ const command = cached === undefined ? spawnSync(reader, ["agents", "--json", "--all"], {
69
75
  encoding: "utf8", timeout: 10_000, maxBuffer: 10 * 1024 * 1024,
70
76
  env: { ...cliEnv(), CLAUDE_CONFIG_DIR: root }
71
- });
77
+ }) : { stdout: cached, status: 0, error: undefined };
72
78
  if (command.error || command.status !== 0)
73
79
  throw new Error("claude_reader_failed");
74
80
  let raw;
@@ -97,6 +103,30 @@ function bindRegistryRows(root, legacyRoot, pid, rows) {
97
103
  }
98
104
  /** Never infer a session directory from the reader's install layout. */
99
105
  export function readClaudeTerminalAgents(options) {
106
+ return readTerminalAgents(options);
107
+ }
108
+ /** List shares reader output with the native catalog; every registry binding is still verified. */
109
+ export async function readClaudeTerminalAgentsForDiscovery(options) {
110
+ let config, reader;
111
+ try {
112
+ config = claudeReaderConfiguration(options);
113
+ reader = resolveReader(config.reader);
114
+ }
115
+ catch {
116
+ return readTerminalAgents(options);
117
+ }
118
+ const outputs = new Map();
119
+ await Promise.all([...new Set(config.configDirs.map(canonicalRoot))].map(async (root) => {
120
+ try {
121
+ outputs.set(root, await readClaudeAgentDiscovery(root, reader));
122
+ }
123
+ catch {
124
+ outputs.set(root, new Error("claude_reader_failed"));
125
+ }
126
+ }));
127
+ return readTerminalAgents(options, outputs);
128
+ }
129
+ function readTerminalAgents(options, outputs) {
100
130
  const result = { rows: [], rejectedPids: [], errors: [] };
101
131
  const fail = (code) => {
102
132
  if (result.errors.includes(code))
@@ -132,7 +162,7 @@ export function readClaudeTerminalAgents(options) {
132
162
  for (const root of new Set(config.configDirs.map(canonicalRoot))) {
133
163
  let rows;
134
164
  try {
135
- rows = readerRows(reader, root);
165
+ rows = readerRows(reader, root, outputs, options.listDiscoverySnapshot === true);
136
166
  }
137
167
  catch (error) {
138
168
  fail(error.message);
@@ -161,4 +191,27 @@ export function readClaudeTerminalAgents(options) {
161
191
  result.rows = result.rows.filter(row => !result.rejectedPids.includes(row.pid));
162
192
  return result;
163
193
  }
194
+ /** Exact-target metadata never enumerates agents, and invalid present records never fall back. */
195
+ export function readClaudeTerminalAgent(options, pid) {
196
+ let config;
197
+ try {
198
+ config = claudeReaderConfiguration(options);
199
+ }
200
+ catch {
201
+ return { rows: [], rejectedPids: [pid], errors: ["claude_reader_invalid_configuration"] };
202
+ }
203
+ const observations = [...new Set(config.configDirs.map(canonicalRoot))]
204
+ .map(configDir => observeClaudeTerminalRegistryRow({ configDir, pid }));
205
+ const invalid = observations.find(observation => observation.state === "invalid");
206
+ const present = observations.filter(observation => observation.state !== "absent");
207
+ const errors = invalid?.state === "invalid" ? [`claude_registry_${invalid.reason}`]
208
+ : present.length > 1 ? ["claude_registry_conflicting_roots"] : [];
209
+ if (errors.length)
210
+ return { rows: [], rejectedPids: [pid], errors, reader: claudeReaderDiagnostic(config) };
211
+ const selected = present[0];
212
+ if (!selected || selected.state === "legacy")
213
+ return undefined;
214
+ return { rows: selected.state === "verified" ? [selected.row] : [], rejectedPids: [], errors: [],
215
+ reader: claudeReaderDiagnostic(config) };
216
+ }
164
217
  //# sourceMappingURL=claude-terminal-agent-observation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-terminal-agent-observation.js","sourceRoot":"","sources":["../../src/claude-terminal-agent-observation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-terminal-agent-observation.js","sourceRoot":"","sources":["../../src/claude-terminal-agent-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,sBAAsB,EACnD,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACzJ,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAQ5G,MAAM,UAAU,gCAAgC,CAAC,MAAsC;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1H,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,iIAAiI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzK,OAAO,4CAA4C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,qDAAqD,CAAC;AACpJ,CAAC;AACD,mFAAmF;AACnF,MAAM,UAAU,wBAAwB,CAAC,IAAwB;IAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAoB,EAAE;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/F,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC5B,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;oBAC1E,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC9D,CAAC;AACD,iGAAiG;AACjG,MAAM,UAAU,wBAAwB,CAAC,OAA0C,EAAE,GAAW,EAC9F,GAAY;IACZ,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;SAC9E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QACtF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AACD,SAAS,aAAa,CAAC,MAAc;IACnC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAAC,CAAC;AAC3D,CAAC;AACD,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY,EAAE,OAA6C,EAAE,iBAAiB,GAAG,KAAK;IACxH,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnH,IAAI,MAAM,YAAY,KAAK;QAAE,MAAM,MAAM,CAAC;IAC1C,IAAI,iBAAiB,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QACtF,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;QAC9D,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;KAC9C,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACnF,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IACzC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAAC,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AACjG,CAAC;AACD,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAAkB,EAAE,GAAW,EAAE,IAAsB;IAC7F,MAAM,QAAQ,GAAG,6BAA6B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO;QACxF,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AACD,wEAAwE;AACxE,MAAM,UAAU,wBAAwB,CAAC,OAA0C;IACjF,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,OAA0C;IACnG,IAAI,MAAoD,EAAE,MAAc,CAAC;IACzE,IAAI,CAAC;QAAC,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAC3F,MAAM,CAAC;QAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;QACpF,IAAI,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QACxE,MAAM,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAAC,CAAC;IACjE,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA0C,EACpE,OAA6C;IAC7C,MAAM,MAAM,GAAmC,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,aAAa,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,IAAI;YACvD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;IACF,IAAI,MAAoD,CAAC;IACzD,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/C,UAAU,GAAG,aAAa,CAAC,yBAAyB,CAAC,EAAE,GAAG,OAAO;YAC/D,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC,iBAAiB;gBAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAAC,OAAO,MAAM,CAAC;IAAC,CAAC;IACvE,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAC9C,MAAM,CAAC;QAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAAC,OAAO,MAAM,CAAC;IAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,IAAsB,CAAC;QAC3B,IAAI,CAAC;YAAC,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC;QAAC,CAAC;QACzF,OAAO,KAAK,EAAE,CAAC;YAAC,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC3D,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAI,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACxD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC1G,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAAC,CAAC;IACnG,CAAC;IACD,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAI,CAAC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,uBAAuB,CAAC,OAA0C,EAChF,GAAW;IACX,IAAI,MAAoD,CAAC;IACzD,IAAI,CAAC;QAAC,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IACpD,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,qCAAqC,CAAC,EAAE,CAAC;IAAC,CAAC;IACpG,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;SACpE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,gCAAgC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC;QACjF,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5G,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QAC9F,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7C,CAAC"}
@@ -27,6 +27,19 @@ export type ClaudeTerminalWindowObservation = {
27
27
  } | Exclude<ClaudeTerminalRegistryObservation, {
28
28
  state: "verified";
29
29
  }>;
30
+ export type ClaudeTerminalRegistryRowObservation = {
31
+ state: "verified";
32
+ row: ClaudeTerminalRegistryRow & {
33
+ configDir: string;
34
+ processStart: string;
35
+ version: string;
36
+ waitingFor?: string;
37
+ };
38
+ } | {
39
+ state: "legacy";
40
+ } | Exclude<ClaudeTerminalRegistryObservation, {
41
+ state: "verified";
42
+ }>;
30
43
  /** Foreground display evidence only: never returns a session, job, socket or send authority. */
31
44
  export declare function observeClaudeTerminalWindow(input: {
32
45
  configDir: string;
@@ -39,3 +52,8 @@ export declare function observeClaudeTerminalRegistry(input: {
39
52
  pid: number;
40
53
  rows: readonly ClaudeTerminalRegistryRow[];
41
54
  }): ClaudeTerminalRegistryObservation;
55
+ /** Fresh one-PID metadata only; native socket authority and caller identity fences remain separate. */
56
+ export declare function observeClaudeTerminalRegistryRow(input: {
57
+ configDir: string;
58
+ pid: number;
59
+ }): ClaudeTerminalRegistryRowObservation;
@@ -151,4 +151,35 @@ export function observeClaudeTerminalRegistry(input) {
151
151
  return { state: "invalid", reason: "registry_unavailable" };
152
152
  }
153
153
  }
154
+ /** Fresh one-PID metadata only; native socket authority and caller identity fences remain separate. */
155
+ export function observeClaudeTerminalRegistryRow(input) {
156
+ if (!absolute(input.configDir) || !Number.isSafeInteger(input.pid) || input.pid < 1) {
157
+ return { state: "invalid", reason: "invalid_identity" };
158
+ }
159
+ try {
160
+ const configDir = realpathSync(input.configDir), registry = readRegistry(configDir, input.pid);
161
+ if (registry.kind !== undefined && registry.kind !== "interactive" || registry.parkedJobId !== undefined
162
+ || registry.pidDomain !== undefined && registry.pidDomain !== process.platform) {
163
+ throw new RegistryError("registry_mismatch");
164
+ }
165
+ // Older registries can omit kind. Verify their owner/process metadata before
166
+ // allowing the legacy reader to supply interactive-kind evidence.
167
+ const row = selectExactRow([{ ...registry, kind: "interactive" }], input.pid);
168
+ const { state: _state, ...bound } = bindRegistry(configDir, input.pid, registry, row);
169
+ assertCurrentProcess(bound);
170
+ if (registry.kind === undefined)
171
+ return { state: "legacy" };
172
+ return { state: "verified", row: { ...bound, kind: "interactive", status: row.status,
173
+ ...(statusShape(registry.waitingFor) ? { waitingFor: registry.waitingFor } : {}) } };
174
+ }
175
+ catch (error) {
176
+ if (error instanceof RegistryError)
177
+ return { state: "invalid", reason: error.reason };
178
+ if (error instanceof SyntaxError)
179
+ return { state: "invalid", reason: "invalid_registry" };
180
+ if (error?.code === "ENOENT")
181
+ return { state: "absent" };
182
+ return { state: "invalid", reason: "registry_unavailable" };
183
+ }
184
+ }
154
185
  //# sourceMappingURL=claude-terminal-registry-observation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-terminal-registry-observation.js","sourceRoot":"","sources":["../../src/claude-terminal-registry-observation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-terminal-registry-observation.js","sourceRoot":"","sources":["../../src/claude-terminal-registry-observation.ts"],"names":[],"mappings":"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"}