@scotthuang/agent-knock-knock 0.11.6 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +21 -15
  3. package/dist/src/cli-core.d.ts +48 -0
  4. package/dist/src/cli-core.js +20089 -0
  5. package/dist/src/cli-core.js.map +1 -0
  6. package/dist/src/cli.js +12 -19719
  7. package/dist/src/cli.js.map +1 -1
  8. package/dist/src/doctor-capabilities.d.ts +10 -2
  9. package/dist/src/doctor-capabilities.js +48 -7
  10. package/dist/src/doctor-capabilities.js.map +1 -1
  11. package/dist/src/herdr-terminal-control-provider.d.ts +115 -0
  12. package/dist/src/herdr-terminal-control-provider.js +961 -0
  13. package/dist/src/herdr-terminal-control-provider.js.map +1 -0
  14. package/dist/src/managed-session.d.ts +15 -0
  15. package/dist/src/managed-session.js +142 -15
  16. package/dist/src/managed-session.js.map +1 -1
  17. package/dist/src/native-thread-resume-snapshot.d.ts +13 -3
  18. package/dist/src/native-thread-resume-snapshot.js +105 -16
  19. package/dist/src/native-thread-resume-snapshot.js.map +1 -1
  20. package/dist/src/openclaw-plugin-helpers.js +4 -4
  21. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  22. package/dist/src/openclaw-plugin.js +28 -26
  23. package/dist/src/openclaw-plugin.js.map +1 -1
  24. package/dist/src/session-store.js +5 -0
  25. package/dist/src/session-store.js.map +1 -1
  26. package/dist/src/terminal-agent-adapter.d.ts +5 -16
  27. package/dist/src/terminal-agent-adapter.js +10 -6
  28. package/dist/src/terminal-agent-adapter.js.map +1 -1
  29. package/dist/src/terminal-agent-bridge.d.ts +11 -1
  30. package/dist/src/terminal-agent-bridge.js +199 -86
  31. package/dist/src/terminal-agent-bridge.js.map +1 -1
  32. package/dist/src/terminal-control-provider.d.ts +60 -21
  33. package/dist/src/terminal-control-provider.js +452 -30
  34. package/dist/src/terminal-control-provider.js.map +1 -1
  35. package/dist/src/terminal-control-ref.d.ts +141 -0
  36. package/dist/src/terminal-control-ref.js +557 -0
  37. package/dist/src/terminal-control-ref.js.map +1 -0
  38. package/docs/quickstart-herdr.md +37 -0
  39. package/openclaw.plugin.json +2 -2
  40. package/package.json +4 -2
  41. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +17 -17
@@ -1,6 +1,6 @@
1
1
  export type DoctorMode = "tmux";
2
2
  export type DoctorReadiness = "ready" | "partially_ready" | "not_ready";
3
- export type DoctorProbeCommand = "openclaw" | "tmux" | "codex" | "claude";
3
+ export type DoctorProbeCommand = "openclaw" | "tmux" | "herdr" | "codex" | "claude";
4
4
  export type DoctorProbeStatus = "ok" | "not_found" | "not_executable" | "version_failed" | "timeout" | "malformed_output";
5
5
  export interface DoctorCommandCheck {
6
6
  command: string;
@@ -42,13 +42,21 @@ interface DoctorModeCapability {
42
42
  interface DoctorTmuxCapability extends DoctorModeCapability {
43
43
  recommended: true;
44
44
  }
45
+ interface DoctorHerdrCapability extends DoctorModeCapability {
46
+ version_supported: boolean;
47
+ required_version: typeof DOCTOR_SUPPORTED_HERDR_VERSION;
48
+ }
45
49
  export interface DoctorCapabilitySummary {
46
50
  coreOk: boolean;
47
51
  transportOk: boolean;
52
+ available_transports: Array<"tmux" | "herdr">;
53
+ /** Retained for compatibility with existing doctor consumers. */
48
54
  mode: DoctorMode;
49
55
  readiness: DoctorReadiness;
50
56
  tmux: DoctorTmuxCapability;
57
+ herdr: DoctorHerdrCapability;
51
58
  }
59
+ export declare const DOCTOR_SUPPORTED_HERDR_VERSION: "0.8.0";
52
60
  export declare const DOCTOR_PROBE_COMMANDS: readonly DoctorProbeCommand[];
53
61
  /**
54
62
  * Run a bounded, non-interactive version probe for one doctor dependency.
@@ -58,7 +66,7 @@ export declare const DOCTOR_PROBE_COMMANDS: readonly DoctorProbeCommand[];
58
66
  */
59
67
  export declare function probeDoctorCommand(command: DoctorProbeCommand, options?: DoctorProbeOptions): DoctorCommandProbe;
60
68
  /**
61
- * Probe every external command used by the tmux execution mode.
69
+ * Probe every external command used by the supported terminal transports.
62
70
  */
63
71
  export declare function runDoctorCapabilityProbes(options?: DoctorProbeOptions): DoctorCommandProbe[];
64
72
  export declare function evaluateDoctorCapabilities(checks: readonly DoctorCommandCheck[]): DoctorCapabilitySummary;
@@ -1,4 +1,5 @@
1
1
  import { spawnSync } from "node:child_process";
2
+ export const DOCTOR_SUPPORTED_HERDR_VERSION = "0.8.0";
2
3
  const DEFAULT_PROBE_TIMEOUT_MS = 3_000;
3
4
  const MAX_PROBE_TIMEOUT_MS = 30_000;
4
5
  const MAX_PROBE_BUFFER_BYTES = 64 * 1024;
@@ -6,12 +7,14 @@ const MAX_REPORTED_OUTPUT_CHARS = 2_000;
6
7
  const PROBE_ARGUMENTS = {
7
8
  openclaw: ["--version"],
8
9
  tmux: ["-V"],
10
+ herdr: ["--version"],
9
11
  codex: ["--version"],
10
12
  claude: ["--version"]
11
13
  };
12
14
  const DEFAULT_PROBE_EXECUTABLES = {
13
15
  openclaw: "openclaw",
14
16
  tmux: "tmux",
17
+ herdr: "herdr",
15
18
  codex: "codex",
16
19
  claude: "claude"
17
20
  };
@@ -103,7 +106,7 @@ export function probeDoctorCommand(command, options = {}) {
103
106
  });
104
107
  }
105
108
  /**
106
- * Probe every external command used by the tmux execution mode.
109
+ * Probe every external command used by the supported terminal transports.
107
110
  */
108
111
  export function runDoctorCapabilityProbes(options = {}) {
109
112
  return DOCTOR_PROBE_COMMANDS.map((command) => probeDoctorCommand(command, options));
@@ -121,25 +124,58 @@ export function evaluateDoctorCapabilities(checks) {
121
124
  ];
122
125
  const availableAgents = ["codex", "claude"]
123
126
  .filter((agent) => isUsable(checkByCommand.get(agent)));
127
+ const agentsOk = availableAgents.length > 0;
124
128
  const tmuxTransportOk = isUsable(checkByCommand.get("tmux"));
129
+ const herdrCheck = checkByCommand.get("herdr");
130
+ const herdrExecutableOk = isUsable(herdrCheck);
131
+ const herdrVersionSupported = herdrExecutableOk && herdrCheck?.version_supported === true;
125
132
  const tmux = {
126
- available: tmuxTransportOk && availableAgents.length > 0,
127
- status: readinessFromParts([coreOk, tmuxTransportOk, availableAgents.length > 0]),
133
+ available: tmuxTransportOk && agentsOk,
134
+ status: readinessFromParts([coreOk, tmuxTransportOk, agentsOk]),
128
135
  recommended: true,
129
136
  agents: availableAgents,
130
137
  requires: ["node", "openclaw", "tmux", "codex or claude"],
131
138
  missing: [
132
139
  ...missingCore,
133
140
  ...(!tmuxTransportOk ? ["tmux"] : []),
134
- ...(availableAgents.length === 0 ? ["codex or claude"] : [])
141
+ ...(!agentsOk ? ["codex or claude"] : [])
135
142
  ]
136
143
  };
144
+ const herdr = {
145
+ available: herdrVersionSupported && agentsOk,
146
+ status: readinessFromParts([coreOk, herdrVersionSupported, agentsOk]),
147
+ version_supported: herdrVersionSupported,
148
+ required_version: DOCTOR_SUPPORTED_HERDR_VERSION,
149
+ agents: availableAgents,
150
+ requires: [
151
+ "node",
152
+ "openclaw",
153
+ `herdr ${DOCTOR_SUPPORTED_HERDR_VERSION}`,
154
+ "codex or claude"
155
+ ],
156
+ missing: [
157
+ ...missingCore,
158
+ ...(!herdrExecutableOk
159
+ ? ["herdr"]
160
+ : !herdrVersionSupported
161
+ ? [`herdr ${DOCTOR_SUPPORTED_HERDR_VERSION}`]
162
+ : []),
163
+ ...(!agentsOk ? ["codex or claude"] : [])
164
+ ]
165
+ };
166
+ const availableTransports = [
167
+ ...(tmuxTransportOk ? ["tmux"] : []),
168
+ ...(herdrVersionSupported ? ["herdr"] : [])
169
+ ];
170
+ const anyTransportOk = availableTransports.length > 0;
137
171
  return {
138
172
  coreOk,
139
- transportOk: tmux.available,
173
+ transportOk: anyTransportOk && agentsOk,
174
+ available_transports: availableTransports,
140
175
  mode: "tmux",
141
- readiness: tmux.status,
142
- tmux
176
+ readiness: readinessFromParts([coreOk, anyTransportOk, agentsOk]),
177
+ tmux,
178
+ herdr
143
179
  };
144
180
  }
145
181
  function buildProbeResult({ command, executable, args, status, durationMs, version, output, error, exitCode, signal }) {
@@ -149,6 +185,11 @@ function buildProbeResult({ command, executable, args, status, durationMs, versi
149
185
  args,
150
186
  status,
151
187
  available: status === "ok",
188
+ ...(command === "herdr"
189
+ ? {
190
+ version_supported: status === "ok" && version === DOCTOR_SUPPORTED_HERDR_VERSION
191
+ }
192
+ : {}),
152
193
  found: status !== "not_found",
153
194
  executable_ok: !["not_found", "not_executable"].includes(status),
154
195
  duration_ms: durationMs,
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-capabilities.js","sourceRoot":"","sources":["../../src/doctor-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-capabilities.js","sourceRoot":"","sources":["../../src/doctor-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { type CommandResult, type TerminalControlProvider } from "./terminal-control-provider.js";
2
+ import { type TerminalControlCapability, type TerminalControlRef, type TerminalEndpointRef, type TerminalProviderCapability } from "./terminal-control-ref.js";
3
+ import type { TerminalProcessSnapshot } from "./terminal-agent-adapter.js";
4
+ export declare const HERDR_EXACT_VERSION = "0.8.0";
5
+ export declare const HERDR_EXACT_PROTOCOL = 19;
6
+ type JsonRecord = Record<string, unknown>;
7
+ export interface HerdrWireRequest {
8
+ id: string;
9
+ method: string;
10
+ params: JsonRecord;
11
+ }
12
+ export interface HerdrSocketIdentity {
13
+ device: string;
14
+ inode: string;
15
+ ctimeNs: string;
16
+ ownerUid?: number;
17
+ }
18
+ export interface HerdrRequestOptions {
19
+ expectedSocketIdentity?: HerdrSocketIdentity;
20
+ }
21
+ export type HerdrRequestFunction = (socketPath: string, request: HerdrWireRequest, options?: HerdrRequestOptions) => Promise<unknown>;
22
+ export interface HerdrSessionInfo {
23
+ name: string;
24
+ default: boolean;
25
+ running: boolean;
26
+ socketPath: string;
27
+ sessionDir: string;
28
+ }
29
+ export interface HerdrTerminalControlDiagnostics {
30
+ commands: string[];
31
+ selectedCommand?: string;
32
+ expectedVersion: string;
33
+ expectedProtocol: number;
34
+ sessions: HerdrSessionInfo[];
35
+ attempts: Array<{
36
+ session: string;
37
+ socketPath: string;
38
+ status: "ok" | "error";
39
+ paneCount?: number;
40
+ skippedWithoutShellPid?: string[];
41
+ error?: string;
42
+ }>;
43
+ terminalCount: number;
44
+ }
45
+ /** A structured Herdr API rejection received after a complete request. */
46
+ export declare class HerdrApiError extends Error {
47
+ readonly code: string;
48
+ readonly requestId: string;
49
+ constructor(code: string, message: string, requestId: string);
50
+ }
51
+ /**
52
+ * Raw socket failure with an explicit dispatch boundary.
53
+ *
54
+ * `definitelyNotSent` is true only when the Unix socket never connected or
55
+ * the request was rejected locally before any socket write was attempted.
56
+ */
57
+ export declare class HerdrTransportError extends Error {
58
+ readonly definitelyNotSent: boolean;
59
+ constructor(message: string, definitelyNotSent: boolean, options?: {
60
+ cause?: unknown;
61
+ });
62
+ }
63
+ /**
64
+ * Send one newline-delimited JSON request over a Herdr Unix-domain socket.
65
+ * Normal Herdr requests receive exactly one newline-delimited JSON response.
66
+ */
67
+ export declare function requestHerdrUnixSocket(socketPath: string, request: HerdrWireRequest, options?: {
68
+ timeoutMs?: number;
69
+ maxResponseBytes?: number;
70
+ expectedSocketIdentity?: HerdrSocketIdentity;
71
+ }): Promise<unknown>;
72
+ export declare class HerdrTerminalControlProvider implements TerminalControlProvider {
73
+ readonly kind = "herdr";
74
+ readonly supportedCapabilities: readonly TerminalControlCapability[];
75
+ readonly providerCapabilities: readonly TerminalProviderCapability[];
76
+ private readonly commands;
77
+ private selectedCommand?;
78
+ private readonly runCommand;
79
+ private readonly request;
80
+ private readonly statSocket;
81
+ private readonly endpointSocketIdentities;
82
+ private requestSequence;
83
+ constructor(options?: {
84
+ command?: string;
85
+ runCommand?: (command: string, args: string[]) => CommandResult;
86
+ request?: HerdrRequestFunction;
87
+ requestTimeoutMs?: number;
88
+ statSocket?: (socketPath: string) => HerdrSocketIdentity;
89
+ });
90
+ diagnostics(): Promise<Record<string, unknown>>;
91
+ listTerminals(): Promise<TerminalEndpointRef[]>;
92
+ endpoint(terminalControl: TerminalControlRef): TerminalEndpointRef;
93
+ toControlRef(terminal: TerminalEndpointRef, capabilities?: readonly TerminalControlCapability[]): TerminalControlRef;
94
+ resolve(terminal: TerminalEndpointRef): Promise<TerminalEndpointRef>;
95
+ containsProcess(terminal: TerminalEndpointRef, process: Pick<TerminalProcessSnapshot, "pid" | "ppid">, processes: readonly Pick<TerminalProcessSnapshot, "pid" | "ppid">[]): boolean;
96
+ capture(terminal: TerminalEndpointRef, options?: {
97
+ scrollbackLines?: number;
98
+ preserveEscapes?: boolean;
99
+ }): Promise<string>;
100
+ sendText(terminal: TerminalEndpointRef, text: string): Promise<void>;
101
+ sendKeys(terminal: TerminalEndpointRef, keys: readonly string[]): Promise<void>;
102
+ private discoverSessions;
103
+ private probeCommand;
104
+ private inspectSession;
105
+ private assertCompatibleServer;
106
+ private invoke;
107
+ private resolveForInput;
108
+ private sendInput;
109
+ private requireEndpointSocketIdentity;
110
+ }
111
+ export declare function parseHerdrSessionList(output: string): HerdrSessionInfo[];
112
+ /** Translate the tmux-oriented bridge key vocabulary to Herdr key combos. */
113
+ export declare function translateHerdrKey(value: string): string;
114
+ export declare function readHerdrSocketIdentity(socketPath: string): HerdrSocketIdentity;
115
+ export {};