@scotthuang/agent-knock-knock 0.12.2 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +4 -4
- package/dist/src/cli-core.js +1105 -176
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/herdr-terminal-control-provider.d.ts +26 -1
- package/dist/src/herdr-terminal-control-provider.js +325 -4
- package/dist/src/herdr-terminal-control-provider.js.map +1 -1
- package/dist/src/openclaw-plugin.js +2 -2
- package/dist/src/openclaw-plugin.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +37 -3
- package/dist/src/terminal-agent-bridge.js +410 -31
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-control-provider.d.ts +19 -0
- package/dist/src/terminal-control-provider.js +86 -7
- package/dist/src/terminal-control-provider.js.map +1 -1
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CommandResult, type TerminalControlProvider } from "./terminal-control-provider.js";
|
|
1
|
+
import { type CommandResult, type TerminalControlProvider, type TerminalViewport } from "./terminal-control-provider.js";
|
|
2
2
|
import { type TerminalControlCapability, type TerminalControlRef, type TerminalEndpointRef, type TerminalProviderCapability } from "./terminal-control-ref.js";
|
|
3
3
|
import type { TerminalProcessSnapshot } from "./terminal-agent-adapter.js";
|
|
4
4
|
export declare const HERDR_EXACT_VERSION = "0.8.0";
|
|
@@ -15,6 +15,22 @@ export interface HerdrSocketIdentity {
|
|
|
15
15
|
ctimeNs: string;
|
|
16
16
|
ownerUid?: number;
|
|
17
17
|
}
|
|
18
|
+
export interface HerdrTtyDeviceIdentity {
|
|
19
|
+
device: string;
|
|
20
|
+
inode: string;
|
|
21
|
+
rdev: string;
|
|
22
|
+
ctimeNs: string;
|
|
23
|
+
ownerUid: number;
|
|
24
|
+
symbolicLink: boolean;
|
|
25
|
+
characterDevice: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface HerdrTtyViewportInspectionOptions {
|
|
28
|
+
platform?: NodeJS.Platform;
|
|
29
|
+
runCommand?: (command: string, args: string[]) => CommandResult;
|
|
30
|
+
statTty?: (ttyPath: string) => HerdrTtyDeviceIdentity;
|
|
31
|
+
currentUid?: number;
|
|
32
|
+
}
|
|
33
|
+
export type HerdrTtyViewportInspector = (shellPid: number) => TerminalViewport | undefined | Promise<TerminalViewport | undefined>;
|
|
18
34
|
export interface HerdrRequestOptions {
|
|
19
35
|
expectedSocketIdentity?: HerdrSocketIdentity;
|
|
20
36
|
}
|
|
@@ -78,6 +94,7 @@ export declare class HerdrTerminalControlProvider implements TerminalControlProv
|
|
|
78
94
|
private readonly runCommand;
|
|
79
95
|
private readonly request;
|
|
80
96
|
private readonly statSocket;
|
|
97
|
+
private readonly inspectTtyViewport;
|
|
81
98
|
private readonly endpointSocketIdentities;
|
|
82
99
|
private requestSequence;
|
|
83
100
|
constructor(options?: {
|
|
@@ -86,6 +103,7 @@ export declare class HerdrTerminalControlProvider implements TerminalControlProv
|
|
|
86
103
|
request?: HerdrRequestFunction;
|
|
87
104
|
requestTimeoutMs?: number;
|
|
88
105
|
statSocket?: (socketPath: string) => HerdrSocketIdentity;
|
|
106
|
+
inspectTtyViewport?: HerdrTtyViewportInspector;
|
|
89
107
|
});
|
|
90
108
|
diagnostics(): Promise<Record<string, unknown>>;
|
|
91
109
|
listTerminals(): Promise<TerminalEndpointRef[]>;
|
|
@@ -93,6 +111,7 @@ export declare class HerdrTerminalControlProvider implements TerminalControlProv
|
|
|
93
111
|
toControlRef(terminal: TerminalEndpointRef, capabilities?: readonly TerminalControlCapability[]): TerminalControlRef;
|
|
94
112
|
resolve(terminal: TerminalEndpointRef): Promise<TerminalEndpointRef>;
|
|
95
113
|
containsProcess(terminal: TerminalEndpointRef, process: Pick<TerminalProcessSnapshot, "pid" | "ppid">, processes: readonly Pick<TerminalProcessSnapshot, "pid" | "ppid">[]): boolean;
|
|
114
|
+
inspectViewport(terminal: TerminalEndpointRef): Promise<TerminalViewport | undefined>;
|
|
96
115
|
capture(terminal: TerminalEndpointRef, options?: {
|
|
97
116
|
scrollbackLines?: number;
|
|
98
117
|
preserveEscapes?: boolean;
|
|
@@ -111,5 +130,11 @@ export declare class HerdrTerminalControlProvider implements TerminalControlProv
|
|
|
111
130
|
export declare function parseHerdrSessionList(output: string): HerdrSessionInfo[];
|
|
112
131
|
/** Translate the tmux-oriented bridge key vocabulary to Herdr key combos. */
|
|
113
132
|
export declare function translateHerdrKey(value: string): string;
|
|
133
|
+
/**
|
|
134
|
+
* Read the exact inner PTY viewport owned by a verified Herdr shell process.
|
|
135
|
+
* Herdr layout geometry is deliberately not used here: direct attaches may
|
|
136
|
+
* resize the PTY without updating the layout rectangle that owns the pane.
|
|
137
|
+
*/
|
|
138
|
+
export declare function inspectHerdrTtyViewport(shellPid: number, options?: HerdrTtyViewportInspectionOptions): TerminalViewport | undefined;
|
|
114
139
|
export declare function readHerdrSocketIdentity(socketPath: string): HerdrSocketIdentity;
|
|
115
140
|
export {};
|
|
@@ -2,7 +2,7 @@ import { spawnSync } from "node:child_process";
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import { createConnection } from "node:net";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { TerminalControlInputNotSentError } from "./terminal-control-provider.js";
|
|
5
|
+
import { TerminalControlInputNotSentError, TerminalControlUnavailableError } from "./terminal-control-provider.js";
|
|
6
6
|
import { createTerminalEndpointRef, herdrTerminalRouteKey, sameTerminalControlIncarnation, sameTerminalEndpointIdentity, terminalControlWithCapabilities, terminalEndpointFromControlRef } from "./terminal-control-ref.js";
|
|
7
7
|
export const HERDR_EXACT_VERSION = "0.8.0";
|
|
8
8
|
export const HERDR_EXACT_PROTOCOL = 19;
|
|
@@ -10,6 +10,8 @@ const HERDR_MAX_REQUEST_BYTES = 1024 * 1024;
|
|
|
10
10
|
const HERDR_MAX_RESPONSE_BYTES = 16 * 1024 * 1024;
|
|
11
11
|
const HERDR_DEFAULT_TIMEOUT_MS = 5_000;
|
|
12
12
|
const HERDR_MAX_READ_LINES = 1_000;
|
|
13
|
+
const HERDR_MAX_TTY_PATH_BYTES = 1_024;
|
|
14
|
+
const HERDR_MAX_TTY_VIEWPORT_DIMENSION = 65_535;
|
|
13
15
|
/** A structured Herdr API rejection received after a complete request. */
|
|
14
16
|
export class HerdrApiError extends Error {
|
|
15
17
|
code;
|
|
@@ -185,6 +187,7 @@ export class HerdrTerminalControlProvider {
|
|
|
185
187
|
runCommand;
|
|
186
188
|
request;
|
|
187
189
|
statSocket;
|
|
190
|
+
inspectTtyViewport;
|
|
188
191
|
endpointSocketIdentities = new WeakMap();
|
|
189
192
|
requestSequence = 0;
|
|
190
193
|
constructor(options = {}) {
|
|
@@ -193,6 +196,8 @@ export class HerdrTerminalControlProvider {
|
|
|
193
196
|
: ["herdr", "/opt/homebrew/bin/herdr", "/usr/local/bin/herdr"];
|
|
194
197
|
this.runCommand = options.runCommand ?? runHerdrCommand;
|
|
195
198
|
this.statSocket = options.statSocket ?? readHerdrSocketIdentity;
|
|
199
|
+
this.inspectTtyViewport = options.inspectTtyViewport ??
|
|
200
|
+
inspectHerdrTtyViewport;
|
|
196
201
|
const requestTimeoutMs = options.requestTimeoutMs;
|
|
197
202
|
this.request = options.request ?? ((socketPath, request, requestOptions) => requestHerdrUnixSocket(socketPath, request, {
|
|
198
203
|
timeoutMs: requestTimeoutMs,
|
|
@@ -299,10 +304,11 @@ export class HerdrTerminalControlProvider {
|
|
|
299
304
|
assertProviderCapability(this.providerCapabilities, "stable_resource_resolution");
|
|
300
305
|
assertEndpointKind(terminal, this.kind);
|
|
301
306
|
const matches = (await this.listTerminals()).filter((candidate) => sameTerminalEndpointIdentity(candidate, terminal));
|
|
307
|
+
if (matches.length === 0) {
|
|
308
|
+
throw new TerminalControlUnavailableError(`Herdr terminal resource ${terminal.route.label} is no longer available`);
|
|
309
|
+
}
|
|
302
310
|
if (matches.length !== 1) {
|
|
303
|
-
throw new Error(
|
|
304
|
-
? `Herdr terminal resource ${terminal.route.label} is no longer available`
|
|
305
|
-
: `Herdr terminal resource ${terminal.route.label} is ambiguous`);
|
|
311
|
+
throw new Error(`Herdr terminal resource ${terminal.route.label} is ambiguous`);
|
|
306
312
|
}
|
|
307
313
|
const expectedSocketIdentity = this.endpointSocketIdentities.get(terminal);
|
|
308
314
|
const candidateSocketIdentity = this.endpointSocketIdentities.get(matches[0]);
|
|
@@ -344,6 +350,139 @@ export class HerdrTerminalControlProvider {
|
|
|
344
350
|
}
|
|
345
351
|
return false;
|
|
346
352
|
}
|
|
353
|
+
async inspectViewport(terminal) {
|
|
354
|
+
assertEndpointKind(terminal, this.kind);
|
|
355
|
+
const resolved = await this.resolve(terminal);
|
|
356
|
+
if (!sameTerminalControlIncarnation(terminal, resolved)) {
|
|
357
|
+
throw new Error("Herdr terminal stable resource or process anchor changed before viewport inspection");
|
|
358
|
+
}
|
|
359
|
+
const control = herdrControlFromEndpoint(resolved);
|
|
360
|
+
const socketIdentity = this.requireEndpointSocketIdentity(resolved);
|
|
361
|
+
const result = await this.invoke(control.socketPath, "session.snapshot", {}, { expectedSocketIdentity: socketIdentity });
|
|
362
|
+
if (result.type !== "session_snapshot" || !isRecord(result.snapshot)) {
|
|
363
|
+
throw new Error(`Herdr session ${control.session} returned an unexpected viewport snapshot`);
|
|
364
|
+
}
|
|
365
|
+
if (result.snapshot.version !== HERDR_EXACT_VERSION ||
|
|
366
|
+
result.snapshot.protocol !== HERDR_EXACT_PROTOCOL) {
|
|
367
|
+
throw new HerdrCompatibilityError(`Herdr session ${control.session} viewport snapshot is not exact ` +
|
|
368
|
+
`${HERDR_EXACT_VERSION}/protocol ${HERDR_EXACT_PROTOCOL}`);
|
|
369
|
+
}
|
|
370
|
+
if (!Array.isArray(result.snapshot.panes)) {
|
|
371
|
+
throw new Error(`Herdr session ${control.session} viewport snapshot panes are invalid`);
|
|
372
|
+
}
|
|
373
|
+
const matchingPanes = result.snapshot.panes
|
|
374
|
+
.map((value, index) => parsePaneInfo(value, `${control.session} viewport pane ${index}`))
|
|
375
|
+
.filter((pane) => pane.paneId === control.paneId);
|
|
376
|
+
if (matchingPanes.length !== 1) {
|
|
377
|
+
throw new Error(`Herdr terminal ${control.target} changed during viewport inspection`);
|
|
378
|
+
}
|
|
379
|
+
const [pane] = matchingPanes;
|
|
380
|
+
if (pane.terminalId !== control.terminalId ||
|
|
381
|
+
pane.workspaceId !== control.workspaceId ||
|
|
382
|
+
pane.tabId !== control.tabId) {
|
|
383
|
+
throw new Error(`Herdr terminal ${control.target} identity or route changed during viewport inspection`);
|
|
384
|
+
}
|
|
385
|
+
if (result.snapshot.layouts === undefined) {
|
|
386
|
+
return undefined;
|
|
387
|
+
}
|
|
388
|
+
if (!Array.isArray(result.snapshot.layouts)) {
|
|
389
|
+
throw new Error(`Herdr session ${control.session} viewport snapshot layouts are invalid`);
|
|
390
|
+
}
|
|
391
|
+
const matchingLayouts = result.snapshot.layouts.filter((value, index) => {
|
|
392
|
+
if (!isRecord(value)) {
|
|
393
|
+
throw new Error(`invalid Herdr ${control.session} viewport layout ${index}`);
|
|
394
|
+
}
|
|
395
|
+
const workspaceId = nonEmptyString(value.workspace_id);
|
|
396
|
+
const tabId = nonEmptyString(value.tab_id);
|
|
397
|
+
if (!workspaceId || !tabId) {
|
|
398
|
+
throw new Error(`invalid Herdr ${control.session} viewport layout ${index} route`);
|
|
399
|
+
}
|
|
400
|
+
return workspaceId === control.workspaceId && tabId === control.tabId;
|
|
401
|
+
});
|
|
402
|
+
if (matchingLayouts.length === 0) {
|
|
403
|
+
return undefined;
|
|
404
|
+
}
|
|
405
|
+
if (matchingLayouts.length !== 1) {
|
|
406
|
+
throw new Error(`Herdr terminal ${control.target} has an ambiguous viewport layout`);
|
|
407
|
+
}
|
|
408
|
+
const layout = matchingLayouts[0];
|
|
409
|
+
if (typeof layout.zoomed !== "boolean") {
|
|
410
|
+
throw new Error(`Herdr terminal ${control.target} viewport layout zoom state is invalid`);
|
|
411
|
+
}
|
|
412
|
+
const layoutPanes = layout.panes;
|
|
413
|
+
if (layoutPanes === undefined) {
|
|
414
|
+
return undefined;
|
|
415
|
+
}
|
|
416
|
+
if (!Array.isArray(layoutPanes)) {
|
|
417
|
+
throw new Error(`Herdr terminal ${control.target} viewport layout panes are invalid`);
|
|
418
|
+
}
|
|
419
|
+
const matchingLayoutPanes = layoutPanes.filter((value, index) => {
|
|
420
|
+
if (!isRecord(value)) {
|
|
421
|
+
throw new Error(`invalid Herdr ${control.target} viewport layout pane ${index}`);
|
|
422
|
+
}
|
|
423
|
+
const paneId = nonEmptyString(value.pane_id);
|
|
424
|
+
if (!paneId) {
|
|
425
|
+
throw new Error(`invalid Herdr ${control.target} viewport layout pane ${index} identity`);
|
|
426
|
+
}
|
|
427
|
+
return paneId === control.paneId;
|
|
428
|
+
});
|
|
429
|
+
if (matchingLayoutPanes.length === 0) {
|
|
430
|
+
return undefined;
|
|
431
|
+
}
|
|
432
|
+
if (matchingLayoutPanes.length !== 1) {
|
|
433
|
+
throw new Error(`Herdr terminal ${control.target} has an ambiguous viewport rectangle`);
|
|
434
|
+
}
|
|
435
|
+
const layoutPane = matchingLayoutPanes[0];
|
|
436
|
+
const paneFocused = layoutPane.focused;
|
|
437
|
+
if (typeof paneFocused !== "boolean") {
|
|
438
|
+
throw new Error(`Herdr terminal ${control.target} viewport layout pane focus is invalid`);
|
|
439
|
+
}
|
|
440
|
+
const focusedPaneId = nonEmptyString(layout.focused_pane_id);
|
|
441
|
+
if (layout.focused_pane_id !== undefined &&
|
|
442
|
+
focusedPaneId === undefined) {
|
|
443
|
+
throw new Error(`Herdr terminal ${control.target} viewport layout focused pane identity is invalid`);
|
|
444
|
+
}
|
|
445
|
+
if (layout.zoomed === true) {
|
|
446
|
+
if (!focusedPaneId) {
|
|
447
|
+
throw new Error(`Herdr terminal ${control.target} zoomed viewport requires an exact focused pane identity`);
|
|
448
|
+
}
|
|
449
|
+
if (focusedPaneId !== control.paneId) {
|
|
450
|
+
if (paneFocused === true) {
|
|
451
|
+
throw new Error(`Herdr terminal ${control.target} zoomed viewport focus metadata is inconsistent`);
|
|
452
|
+
}
|
|
453
|
+
return undefined;
|
|
454
|
+
}
|
|
455
|
+
if (paneFocused !== true) {
|
|
456
|
+
throw new Error(`Herdr terminal ${control.target} zoomed viewport focus metadata is inconsistent or missing`);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
else if (focusedPaneId !== undefined &&
|
|
460
|
+
((focusedPaneId === control.paneId && paneFocused === false) ||
|
|
461
|
+
(focusedPaneId !== control.paneId && paneFocused === true))) {
|
|
462
|
+
throw new Error(`Herdr terminal ${control.target} viewport focus metadata is inconsistent`);
|
|
463
|
+
}
|
|
464
|
+
const shellPid = positiveInteger(resolved.processAnchorPid);
|
|
465
|
+
if (!shellPid) {
|
|
466
|
+
return undefined;
|
|
467
|
+
}
|
|
468
|
+
const viewport = await this.inspectTtyViewport(shellPid);
|
|
469
|
+
if (viewport === undefined) {
|
|
470
|
+
return undefined;
|
|
471
|
+
}
|
|
472
|
+
const columns = positiveInteger(viewport.columns);
|
|
473
|
+
const rows = positiveInteger(viewport.rows);
|
|
474
|
+
if (!columns ||
|
|
475
|
+
!rows ||
|
|
476
|
+
columns > HERDR_MAX_TTY_VIEWPORT_DIMENSION ||
|
|
477
|
+
rows > HERDR_MAX_TTY_VIEWPORT_DIMENSION) {
|
|
478
|
+
throw new Error(`Herdr terminal ${control.target} returned invalid exact PTY viewport dimensions`);
|
|
479
|
+
}
|
|
480
|
+
const finalResolved = await this.resolve(resolved);
|
|
481
|
+
if (!sameTerminalControlIncarnation(resolved, finalResolved)) {
|
|
482
|
+
throw new Error(`Herdr terminal ${control.target} changed after exact PTY viewport inspection`);
|
|
483
|
+
}
|
|
484
|
+
return { columns, rows };
|
|
485
|
+
}
|
|
347
486
|
async capture(terminal, options = {}) {
|
|
348
487
|
assertEndpointCapability(terminal, "screen_status");
|
|
349
488
|
assertProviderCapability(this.providerCapabilities, options.preserveEscapes ? "ansi_capture" : "screen_capture");
|
|
@@ -910,6 +1049,188 @@ function runHerdrCommand(command, args) {
|
|
|
910
1049
|
error: result.error
|
|
911
1050
|
};
|
|
912
1051
|
}
|
|
1052
|
+
/**
|
|
1053
|
+
* Read the exact inner PTY viewport owned by a verified Herdr shell process.
|
|
1054
|
+
* Herdr layout geometry is deliberately not used here: direct attaches may
|
|
1055
|
+
* resize the PTY without updating the layout rectangle that owns the pane.
|
|
1056
|
+
*/
|
|
1057
|
+
export function inspectHerdrTtyViewport(shellPid, options = {}) {
|
|
1058
|
+
const pid = positiveInteger(shellPid);
|
|
1059
|
+
if (!pid) {
|
|
1060
|
+
throw new Error("Herdr exact PTY viewport requires a positive shell PID");
|
|
1061
|
+
}
|
|
1062
|
+
const commands = herdrTtyCommands(options.platform ?? process.platform);
|
|
1063
|
+
if (!commands) {
|
|
1064
|
+
return undefined;
|
|
1065
|
+
}
|
|
1066
|
+
const runCommand = options.runCommand ?? runHerdrTtyCommand;
|
|
1067
|
+
const statTty = options.statTty ?? readHerdrTtyDeviceIdentity;
|
|
1068
|
+
const currentUid = options.currentUid ?? (typeof process.getuid === "function" ? process.getuid() : undefined);
|
|
1069
|
+
if (currentUid === undefined) {
|
|
1070
|
+
return undefined;
|
|
1071
|
+
}
|
|
1072
|
+
const before = readHerdrProcessTtyEvidence(commands.ps, pid, runCommand, "before stty");
|
|
1073
|
+
if (!before) {
|
|
1074
|
+
return undefined;
|
|
1075
|
+
}
|
|
1076
|
+
const beforeDevice = statTty(before.ttyPath);
|
|
1077
|
+
assertSafeHerdrTtyDevice(before.ttyPath, beforeDevice, currentUid);
|
|
1078
|
+
const sizeResult = runCommand(commands.stty, [
|
|
1079
|
+
commands.sttyDeviceFlag,
|
|
1080
|
+
before.ttyPath,
|
|
1081
|
+
"size"
|
|
1082
|
+
]);
|
|
1083
|
+
if (sizeResult.status !== 0) {
|
|
1084
|
+
return undefined;
|
|
1085
|
+
}
|
|
1086
|
+
const size = parseHerdrSttySize(sizeResult.stdout);
|
|
1087
|
+
if (!size) {
|
|
1088
|
+
throw new Error(`Herdr stty returned malformed PTY viewport dimensions for ${before.ttyPath}`);
|
|
1089
|
+
}
|
|
1090
|
+
const after = readHerdrProcessTtyEvidence(commands.ps, pid, runCommand, "after stty");
|
|
1091
|
+
if (!after) {
|
|
1092
|
+
return undefined;
|
|
1093
|
+
}
|
|
1094
|
+
if (after.pid !== before.pid ||
|
|
1095
|
+
after.ttyPath !== before.ttyPath ||
|
|
1096
|
+
after.processBirth !== before.processBirth) {
|
|
1097
|
+
throw new Error(`Herdr shell ${pid} TTY process identity changed during viewport inspection`);
|
|
1098
|
+
}
|
|
1099
|
+
const afterDevice = statTty(after.ttyPath);
|
|
1100
|
+
assertSafeHerdrTtyDevice(after.ttyPath, afterDevice, currentUid);
|
|
1101
|
+
if (!sameHerdrTtyDeviceIdentity(beforeDevice, afterDevice)) {
|
|
1102
|
+
throw new Error(`Herdr TTY device ${after.ttyPath} changed during viewport inspection`);
|
|
1103
|
+
}
|
|
1104
|
+
return size;
|
|
1105
|
+
}
|
|
1106
|
+
function herdrTtyCommands(platform) {
|
|
1107
|
+
if (platform === "darwin") {
|
|
1108
|
+
return { ps: "/bin/ps", stty: "/bin/stty", sttyDeviceFlag: "-f" };
|
|
1109
|
+
}
|
|
1110
|
+
if (platform === "linux") {
|
|
1111
|
+
return { ps: "/bin/ps", stty: "/bin/stty", sttyDeviceFlag: "-F" };
|
|
1112
|
+
}
|
|
1113
|
+
return undefined;
|
|
1114
|
+
}
|
|
1115
|
+
function runHerdrTtyCommand(command, args) {
|
|
1116
|
+
const result = spawnSync(command, args, {
|
|
1117
|
+
encoding: "utf8",
|
|
1118
|
+
maxBuffer: 1024 * 1024,
|
|
1119
|
+
timeout: HERDR_DEFAULT_TIMEOUT_MS
|
|
1120
|
+
});
|
|
1121
|
+
return {
|
|
1122
|
+
status: result.status,
|
|
1123
|
+
stdout: result.stdout ?? "",
|
|
1124
|
+
stderr: result.stderr ?? "",
|
|
1125
|
+
error: result.error
|
|
1126
|
+
};
|
|
1127
|
+
}
|
|
1128
|
+
function readHerdrProcessTtyEvidence(psCommand, pid, runCommand, stage) {
|
|
1129
|
+
const result = runCommand(psCommand, [
|
|
1130
|
+
"-p",
|
|
1131
|
+
String(pid),
|
|
1132
|
+
"-o",
|
|
1133
|
+
"pid=,tty=,lstart="
|
|
1134
|
+
]);
|
|
1135
|
+
if (result.status !== 0) {
|
|
1136
|
+
return undefined;
|
|
1137
|
+
}
|
|
1138
|
+
const raw = result.stdout.trim();
|
|
1139
|
+
if (!raw) {
|
|
1140
|
+
return undefined;
|
|
1141
|
+
}
|
|
1142
|
+
if (raw.includes("\n") || raw.includes("\r")) {
|
|
1143
|
+
throw new Error(`Herdr ps returned ambiguous TTY ${stage}`);
|
|
1144
|
+
}
|
|
1145
|
+
const match = /^(\d+)\s+(\S+)\s+(.+)$/u.exec(raw);
|
|
1146
|
+
if (!match) {
|
|
1147
|
+
throw new Error(`Herdr ps returned malformed process TTY evidence ${stage}`);
|
|
1148
|
+
}
|
|
1149
|
+
const observedPid = positiveInteger(Number(match[1]));
|
|
1150
|
+
if (observedPid !== pid) {
|
|
1151
|
+
throw new Error(`Herdr ps returned mismatched shell PID ${stage}`);
|
|
1152
|
+
}
|
|
1153
|
+
const rawTty = match[2];
|
|
1154
|
+
if (rawTty === "?" || rawTty === "??" || rawTty === "-") {
|
|
1155
|
+
return undefined;
|
|
1156
|
+
}
|
|
1157
|
+
const processBirth = match[3].trim();
|
|
1158
|
+
if (!processBirth) {
|
|
1159
|
+
throw new Error(`Herdr ps returned missing shell process birth ${stage}`);
|
|
1160
|
+
}
|
|
1161
|
+
return {
|
|
1162
|
+
pid: observedPid,
|
|
1163
|
+
ttyPath: safeHerdrTtyPath(rawTty, stage),
|
|
1164
|
+
processBirth
|
|
1165
|
+
};
|
|
1166
|
+
}
|
|
1167
|
+
function safeHerdrTtyPath(raw, stage) {
|
|
1168
|
+
if (Buffer.byteLength(raw) > HERDR_MAX_TTY_PATH_BYTES) {
|
|
1169
|
+
throw new Error(`Herdr ps returned overlong TTY path ${stage}`);
|
|
1170
|
+
}
|
|
1171
|
+
const relative = raw.startsWith("/dev/") ? raw.slice(5) : raw;
|
|
1172
|
+
const segments = relative.split("/");
|
|
1173
|
+
if (segments.length === 0 ||
|
|
1174
|
+
segments.some((segment) => !segment ||
|
|
1175
|
+
segment === "." ||
|
|
1176
|
+
segment === ".." ||
|
|
1177
|
+
!/^[A-Za-z0-9._-]+$/u.test(segment))) {
|
|
1178
|
+
throw new Error(`Herdr ps returned unsafe TTY path ${stage}`);
|
|
1179
|
+
}
|
|
1180
|
+
const ttyPath = `/dev/${segments.join("/")}`;
|
|
1181
|
+
if (Buffer.byteLength(ttyPath) > HERDR_MAX_TTY_PATH_BYTES ||
|
|
1182
|
+
path.posix.normalize(ttyPath) !== ttyPath) {
|
|
1183
|
+
throw new Error(`Herdr ps returned unsafe TTY path ${stage}`);
|
|
1184
|
+
}
|
|
1185
|
+
return ttyPath;
|
|
1186
|
+
}
|
|
1187
|
+
function parseHerdrSttySize(output) {
|
|
1188
|
+
const match = /^(\d+)\s+(\d+)$/u.exec(output.trim());
|
|
1189
|
+
if (!match) {
|
|
1190
|
+
return undefined;
|
|
1191
|
+
}
|
|
1192
|
+
const rows = positiveInteger(Number(match[1]));
|
|
1193
|
+
const columns = positiveInteger(Number(match[2]));
|
|
1194
|
+
if (!rows ||
|
|
1195
|
+
!columns ||
|
|
1196
|
+
rows > HERDR_MAX_TTY_VIEWPORT_DIMENSION ||
|
|
1197
|
+
columns > HERDR_MAX_TTY_VIEWPORT_DIMENSION) {
|
|
1198
|
+
return undefined;
|
|
1199
|
+
}
|
|
1200
|
+
return { columns, rows };
|
|
1201
|
+
}
|
|
1202
|
+
function readHerdrTtyDeviceIdentity(ttyPath) {
|
|
1203
|
+
const stats = fs.lstatSync(ttyPath, { bigint: true });
|
|
1204
|
+
return {
|
|
1205
|
+
device: stats.dev.toString(),
|
|
1206
|
+
inode: stats.ino.toString(),
|
|
1207
|
+
rdev: stats.rdev.toString(),
|
|
1208
|
+
ctimeNs: stats.ctimeNs.toString(),
|
|
1209
|
+
ownerUid: Number(stats.uid),
|
|
1210
|
+
symbolicLink: stats.isSymbolicLink(),
|
|
1211
|
+
characterDevice: stats.isCharacterDevice()
|
|
1212
|
+
};
|
|
1213
|
+
}
|
|
1214
|
+
function assertSafeHerdrTtyDevice(ttyPath, identity, currentUid) {
|
|
1215
|
+
if (identity.symbolicLink) {
|
|
1216
|
+
throw new Error(`Herdr TTY must not be a symbolic link: ${ttyPath}`);
|
|
1217
|
+
}
|
|
1218
|
+
if (!identity.characterDevice) {
|
|
1219
|
+
throw new Error(`Herdr TTY is not a character device: ${ttyPath}`);
|
|
1220
|
+
}
|
|
1221
|
+
if (identity.ownerUid !== currentUid) {
|
|
1222
|
+
throw new Error(`Herdr TTY ${ttyPath} is owned by uid ${identity.ownerUid}, expected ${currentUid}`);
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
function sameHerdrTtyDeviceIdentity(left, right) {
|
|
1226
|
+
return left.device === right.device &&
|
|
1227
|
+
left.inode === right.inode &&
|
|
1228
|
+
left.rdev === right.rdev &&
|
|
1229
|
+
left.ctimeNs === right.ctimeNs &&
|
|
1230
|
+
left.ownerUid === right.ownerUid &&
|
|
1231
|
+
left.symbolicLink === right.symbolicLink &&
|
|
1232
|
+
left.characterDevice === right.characterDevice;
|
|
1233
|
+
}
|
|
913
1234
|
export function readHerdrSocketIdentity(socketPath) {
|
|
914
1235
|
const stats = fs.lstatSync(socketPath, { bigint: true });
|
|
915
1236
|
if (stats.isSymbolicLink()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-terminal-control-provider.js","sourceRoot":"","sources":["../../src/herdr-terminal-control-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"herdr-terminal-control-provider.js","sourceRoot":"","sources":["../../src/herdr-terminal-control-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -436,7 +436,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
|
|
|
436
436
|
});
|
|
437
437
|
registerCliTool(api, {
|
|
438
438
|
name: "agent_knock_knock_list",
|
|
439
|
-
description: "List existing Codex and Claude Code tmux or Herdr panes as the primary terminals[] resources. Each terminal may include managed.current_turn or managed.recent_turn; all=true also includes older managed.history and retained unavailable history. By default, unavailable_managed_turns contains attention-needed records whose pane is unavailable. A live human thread switch remains management_state=conflict and exposes handoff_state as adoptable or blocked without mutating the Store. Use only each row's available_actions and authoritative prefilled arguments:
|
|
439
|
+
description: "List existing Codex and Claude Code tmux or Herdr panes as the primary terminals[] resources. Each terminal may include managed.current_turn or managed.recent_turn; all=true also includes older managed.history and retained unavailable history. By default, unavailable_managed_turns contains attention-needed records whose pane is unavailable. A live human thread switch remains management_state=conflict and exposes handoff_state as adoptable or blocked without mutating the Store. Use only each row's available_actions and authoritative prefilled arguments, except for two explicit-confirmation nested recovery paths: handoff_decision.choices.take_over_current.action and blocking_turns[].recovery_action. The latter is only for collateral blockers; an active handoff source Turn remains exclusively snapshot-fenced by handoff_decision. Refresh list immediately after either nested action. A session-scoped send targets session_id strictly and never redirects to the pane's replacement context; a terminal-scoped follow-current send preserves that row's exact selector and expected_terminal_token and may absorb only a verified quiescent human handoff before starting a Turn; legacy discovery sends remain compatible. respond targets the exact in-flight turn; native_inspect runs only a closed, exact-version Codex or Claude status profile with the current terminal/binding token; read-only thread listing targets the exact terminal, while new/resume mutations also require the current binding token and create no Turn; reconcile_binding remains a low-level conflict recovery action; managed controls target the exact turn; a raw terminal row may prefill its own compatibility selector for status or recovery controls. Never construct identifiers or tokens. AKK revalidates every terminal side effect and never starts a coding-agent process.",
|
|
440
440
|
parameters: listParameters,
|
|
441
441
|
buildArgs: (params) => {
|
|
442
442
|
const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
|
|
@@ -675,7 +675,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
|
|
|
675
675
|
});
|
|
676
676
|
registerCliTool(api, {
|
|
677
677
|
name: "agent_knock_knock_close",
|
|
678
|
-
description: "Close an AKK-managed turn record without terminating the shared terminal pane. For a list-prefilled raw-terminal recovery, the user must explicitly request it and provide the exact expected_message_id or expected_transition_id reported by that AKK list entry. When a verified human native-thread switch conflicts with one active Turn, only the complete nested handoff_decision take_over_current action is authoritative: it requires explicit user confirmation and its exact turn_id, supersede reason, and expected_handoff_token.",
|
|
678
|
+
description: "Close an AKK-managed turn record without terminating the shared terminal pane. For a list-prefilled raw-terminal recovery, the user must explicitly request it and provide the exact expected_message_id or expected_transition_id reported by that AKK list entry. When a verified human native-thread switch conflicts with one active Turn, only the complete nested handoff_decision take_over_current action is authoritative: it requires explicit user confirmation and its exact turn_id, supersede reason, and expected_handoff_token. When list exposes blocking_turns[], its complete nested recovery_action is likewise authoritative only after explicit user confirmation; copy it unchanged and refresh list after the Store-only close.",
|
|
679
679
|
parameters: closeParameters,
|
|
680
680
|
isErrorResult: isBlockedTerminalDispatchResult,
|
|
681
681
|
buildArgs: (params) => {
|