@dorokuma/herdsman 0.12.1 → 0.13.2

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 (61) hide show
  1. package/README.md +6 -13
  2. package/dist/src/cli/herdsman.d.ts +14 -1
  3. package/dist/src/cli/herdsman.d.ts.map +1 -1
  4. package/dist/src/cli/herdsman.js +49 -65
  5. package/dist/src/cli/herdsman.js.map +1 -1
  6. package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -1
  7. package/dist/src/daemon/agent-event-reconciler.js +53 -2
  8. package/dist/src/daemon/agent-event-reconciler.js.map +1 -1
  9. package/dist/src/daemon/herdr-session-watch-manager.d.ts +13 -1
  10. package/dist/src/daemon/herdr-session-watch-manager.d.ts.map +1 -1
  11. package/dist/src/daemon/herdr-session-watch-manager.js +52 -16
  12. package/dist/src/daemon/herdr-session-watch-manager.js.map +1 -1
  13. package/dist/src/daemon/observability-server.d.ts.map +1 -1
  14. package/dist/src/daemon/observability-server.js +16 -1
  15. package/dist/src/daemon/observability-server.js.map +1 -1
  16. package/dist/src/daemon/process-manager.d.ts +50 -49
  17. package/dist/src/daemon/process-manager.d.ts.map +1 -1
  18. package/dist/src/daemon/process-manager.js +246 -204
  19. package/dist/src/daemon/process-manager.js.map +1 -1
  20. package/dist/src/daemon/service-supervision.d.ts +68 -0
  21. package/dist/src/daemon/service-supervision.d.ts.map +1 -0
  22. package/dist/src/daemon/service-supervision.js +127 -0
  23. package/dist/src/daemon/service-supervision.js.map +1 -0
  24. package/dist/src/daemon/service.d.ts +35 -0
  25. package/dist/src/daemon/service.d.ts.map +1 -1
  26. package/dist/src/daemon/service.js +185 -27
  27. package/dist/src/daemon/service.js.map +1 -1
  28. package/dist/src/db/agent-events.d.ts +15 -0
  29. package/dist/src/db/agent-events.d.ts.map +1 -1
  30. package/dist/src/db/agent-events.js +180 -54
  31. package/dist/src/db/agent-events.js.map +1 -1
  32. package/dist/src/db/agents.js +1 -1
  33. package/dist/src/db/agents.js.map +1 -1
  34. package/dist/src/db/status-event-plans.d.ts +1 -1
  35. package/dist/src/db/status-event-plans.d.ts.map +1 -1
  36. package/dist/src/db/status-event-plans.js +5 -4
  37. package/dist/src/db/status-event-plans.js.map +1 -1
  38. package/dist/src/herdr/session-list.d.ts +11 -0
  39. package/dist/src/herdr/session-list.d.ts.map +1 -1
  40. package/dist/src/herdr/session-list.js +13 -0
  41. package/dist/src/herdr/session-list.js.map +1 -1
  42. package/dist/src/herdr/socket-client.d.ts +8 -0
  43. package/dist/src/herdr/socket-client.d.ts.map +1 -1
  44. package/dist/src/herdr/socket-client.js +43 -0
  45. package/dist/src/herdr/socket-client.js.map +1 -1
  46. package/dist/src/observability/agent-index-service.d.ts +15 -0
  47. package/dist/src/observability/agent-index-service.d.ts.map +1 -1
  48. package/dist/src/observability/agent-index-service.js +499 -135
  49. package/dist/src/observability/agent-index-service.js.map +1 -1
  50. package/dist/src/observability/agent-orchestrator-service.d.ts.map +1 -1
  51. package/dist/src/observability/agent-orchestrator-service.js +5 -1
  52. package/dist/src/observability/agent-orchestrator-service.js.map +1 -1
  53. package/dist/src/observability/contracts.d.ts +1 -0
  54. package/dist/src/observability/contracts.d.ts.map +1 -1
  55. package/dist/src/observability/contracts.js +8 -0
  56. package/dist/src/observability/contracts.js.map +1 -1
  57. package/drizzle/0010_legacy_degraded_cleanup.sql +1 -0
  58. package/drizzle/meta/0010_snapshot.json +975 -0
  59. package/drizzle/meta/_journal.json +7 -0
  60. package/package.json +3 -6
  61. package/README.ja.md +0 -153
package/README.md CHANGED
@@ -1,18 +1,7 @@
1
1
  ![Herdsman cover](./assets/herdsman-cover.png)
2
2
 
3
-
4
- ## Credits / Acknowledgements
5
-
6
- herdsman is forked from ryonakae/herdsman at commit dfdd3a2 (v0.5.1). Thanks to the original author, Ryo Nakae, and the upstream project.
7
-
8
- Upstream: https://github.com/ryonakae/herdsman
9
-
10
3
  # Herdsman
11
4
 
12
- <!-- README-I18N:START -->
13
- **English** | [日本語](./README.ja.md)
14
- <!-- README-I18N:END -->
15
-
16
5
  Herdsman is a daemon-backed observability layer for coding agents running in Herdr. It provides two interfaces over the same durable agent index: pull-based CLI access to structured history, and owner-scoped Pi notifications with cached context and automatic wake.
17
6
 
18
7
  Herdr's `herdr agent read` reads terminal streams or scrollback. Herdsman instead reads agent session data so callers can retrieve work status, structured message excerpts, compact tool results, and unread outcomes without parsing terminal output. Herdsman is read-only; use the official Herdr CLI or skill for agent start, prompts, waits, pane operations, and terminal control.
@@ -57,8 +46,12 @@ herdsman help
57
46
 
58
47
  Herdsman agent commands and Pi notifications require the daemon. The daemon watches all running Herdr sessions reported by `herdr session list --json`, rescans them every 60 seconds, and does not index stopped Herdr sessions. Runtime files live in `~/.herdsman` by default. Set `HERDSMAN_HOME` to use another directory.
59
48
 
49
+ On the production host the daemon is managed by the systemd unit `herdsman.service`, which keeps it running: use `systemctl restart herdsman.service` to restart it. There are no CLI start/stop/restart commands. `herdsman daemon status` reports the daemon state in either case.
50
+
51
+ For development or verification, run the entrypoint in the foreground with an explicit temporary data directory, so the production data directory is not used as scratch space:
52
+
60
53
  ```bash
61
- herdsman daemon start
54
+ HERDSMAN_HOME=/tmp/herdsman-dev node ./dist/src/cli/herdsman-daemon.js
62
55
  ```
63
56
 
64
57
  ## Main commands
@@ -135,7 +128,7 @@ Set `filter_upstream_errors: false` to restore waking on every outcome. `HERDSMA
135
128
  Install the optional plugin from the GitHub release tag:
136
129
 
137
130
  ```bash
138
- herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.11.6 --yes
131
+ herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.13.2 --yes
139
132
  ```
140
133
 
141
134
  Use the release tag that matches the installed Herdsman CLI version.
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { ObservabilityRpcClient } from "../daemon/client.js";
3
- type DaemonAction = "restart" | "start" | "status" | "stop";
3
+ import { type DaemonStatus } from "../daemon/process-manager.js";
4
+ type DaemonAction = "status";
4
5
  type AgentScope = {
5
6
  all?: boolean;
6
7
  herdrSessionName?: string;
@@ -9,6 +10,7 @@ type AgentScope = {
9
10
  export type CliCommand = {
10
11
  action: DaemonAction;
11
12
  command: "daemon";
13
+ text: boolean;
12
14
  } | ({
13
15
  command: "agent-list";
14
16
  json: boolean;
@@ -33,6 +35,17 @@ type RunCliDeps = {
33
35
  export declare function parseCliArgs(args: string[], environment?: NodeJS.ProcessEnv): CliCommand;
34
36
  export declare function helpText(): string;
35
37
  export declare function runCliCommand(command: CliCommand, deps: RunCliDeps): Promise<void>;
38
+ /**
39
+ * Human-readable projection of `daemon status` for `--text`. The default output
40
+ * stays JSON, so scripts and the SKILL contract are unaffected; this view keeps
41
+ * only the fields a human reads at a glance and spells an unavailable restart
42
+ * count out instead of dropping it silently.
43
+ *
44
+ * `restartCount` is rendered only for the system unit that owns the pid. For
45
+ * `unmanaged`/`unknown` the JSON omits it too, and showing a number here would
46
+ * attribute another unit's restarts to this daemon.
47
+ */
48
+ export declare function formatDaemonStatus(status: DaemonStatus): string;
36
49
  export declare function resolveRuntimeForCommand(): import("../config/runtime.js").RuntimeResolution | {
37
50
  environment: NodeJS.ProcessEnv;
38
51
  homeDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"herdsman.d.ts","sourceRoot":"","sources":["../../../src/cli/herdsman.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAa5D,KAAK,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5D,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GAC3C,CAAC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,UAAU,CAAC,GACvD,CAAC;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,GACtE,CAAC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,GACvF;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExB,KAAK,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAEvE,KAAK,UAAU,GAAG;IAChB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,UAAU,CAkBZ;AAkED,wBAAgB,QAAQ,IAAI,MAAM,CAQjC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxF;AA0MD,wBAAgB,wBAAwB;;;;EAKvC;AAuCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GAAG,OAAO,CAMV"}
1
+ {"version":3,"file":"herdsman.d.ts","sourceRoot":"","sources":["../../../src/cli/herdsman.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,6BAA6B,CAAC;AAMrC,KAAK,YAAY,GAAG,QAAQ,CAAC;AAE7B,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1D,CAAC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,UAAU,CAAC,GACvD,CAAC;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,GACtE,CAAC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,GACvF;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExB,KAAK,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAEvE,KAAK,UAAU,GAAG;IAChB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,UAAU,CAmBZ;AAkED,wBAAgB,QAAQ,IAAI,MAAM,CAiBjC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxF;AAiHD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAgB/D;AA2BD,wBAAgB,wBAAwB;;;;EAKvC;AAuCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GAAG,OAAO,CAMV"}
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { realpathSync } from "node:fs";
3
- import { dirname, resolve } from "node:path";
3
+ import { resolve } from "node:path";
4
4
  import { argv, exit } from "node:process";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { resolveRuntime, runtimePathsFromRecordOrDefault } from "../config/runtime.js";
7
7
  import { ObservabilityRpcClient } from "../daemon/client.js";
8
- import { getDaemonStatus, readDaemonRuntimeRecord, startDaemonProcess, stopDaemonProcess, withDaemonLock, } from "../daemon/process-manager.js";
8
+ import { getDaemonStatus, isSystemdHerdsmanManaged, readDaemonRuntimeRecord, } from "../daemon/process-manager.js";
9
9
  const CURRENT_HERDR_WORKSPACE_ERROR = "agent command requires HERDR_ENV=1 with HERDR_WORKSPACE_ID, --workspace <id>, --session <name>, or --all.";
10
10
  export function parseCliArgs(args, environment = process.env) {
11
11
  const [command, ...rest] = args;
@@ -16,8 +16,9 @@ export function parseCliArgs(args, environment = process.env) {
16
16
  const [action = "status", ...extra] = rest;
17
17
  if (!isDaemonAction(action))
18
18
  throw new Error(`Unknown daemon action: ${action}`);
19
+ const text = takeFlag(extra, "--text");
19
20
  rejectExtra(extra);
20
- return { action, command: "daemon" };
21
+ return { action, command: "daemon", text };
21
22
  }
22
23
  if (command === "agent") {
23
24
  return parseAgentCommand(rest, environment);
@@ -87,11 +88,20 @@ function scopedOrCurrent(scope, environment) {
87
88
  }
88
89
  export function helpText() {
89
90
  return `Usage:
90
- herdsman daemon [start|stop|restart|status]
91
+ herdsman daemon status [--text]
91
92
  herdsman agent list [--all] [--workspace <id>] [--session <name>] [--json]
92
93
  herdsman agent get <target> [--workspace <id>] [--session <name>] [--json]
93
94
  herdsman agent read <target> [--limit N] [--workspace <id>] [--session <name>] [--json]
94
95
  herdsman help
96
+
97
+ Notes:
98
+ \`daemon status\` keeps printing JSON by default (the existing machine
99
+ contract); \`--text\` is the human view. Its two supervision facts are
100
+ read-only: \`managedBy\` only says whether the pid belongs to the
101
+ herdsman.service system unit — \`unmanaged\` does not mean unsupervised, and
102
+ it is not a licence to kill anything. \`restartCount\` is systemd's
103
+ NRestarts, which reset-failed, a stop+start pair or an unloaded unit all
104
+ reset to 0 — so 0 is not "never crashed".
95
105
  `;
96
106
  }
97
107
  export async function runCliCommand(command, deps) {
@@ -210,6 +220,36 @@ function formatAgentRead(result) {
210
220
  function oneLine(value) {
211
221
  return value.replace(/\s+/g, " ").slice(0, 160);
212
222
  }
223
+ /**
224
+ * Human-readable projection of `daemon status` for `--text`. The default output
225
+ * stays JSON, so scripts and the SKILL contract are unaffected; this view keeps
226
+ * only the fields a human reads at a glance and spells an unavailable restart
227
+ * count out instead of dropping it silently.
228
+ *
229
+ * `restartCount` is rendered only for the system unit that owns the pid. For
230
+ * `unmanaged`/`unknown` the JSON omits it too, and showing a number here would
231
+ * attribute another unit's restarts to this daemon.
232
+ */
233
+ export function formatDaemonStatus(status) {
234
+ const lines = [`state: ${status.state}`];
235
+ const pid = "pid" in status ? status.pid : undefined;
236
+ if (pid !== undefined)
237
+ lines.push(`pid: ${pid}`);
238
+ if ("pidFileMissing" in status && status.pidFileMissing)
239
+ lines.push("pidFileMissing: true");
240
+ if ("stalePid" in status && status.stalePid !== undefined) {
241
+ lines.push(`stalePid: ${status.stalePid}`);
242
+ }
243
+ if ("socketReachable" in status)
244
+ lines.push(`socketReachable: ${status.socketReachable}`);
245
+ if (status.managedBy !== undefined) {
246
+ lines.push(`managedBy: ${status.managedBy}`);
247
+ if (isSystemdHerdsmanManaged(status.managedBy)) {
248
+ lines.push(`restartCount: ${status.restartCount ?? "unavailable"}`);
249
+ }
250
+ }
251
+ return lines.join("\n");
252
+ }
213
253
  async function main() {
214
254
  const command = parseCliArgs(argv.slice(2));
215
255
  const runtime = resolveRuntimeForCommand();
@@ -224,67 +264,11 @@ async function main() {
224
264
  });
225
265
  }
226
266
  async function runDaemonCommand(command, runtime) {
227
- const lockPath = `${runtime.paths.pidPath}.lock`;
228
- if (command.action === "status") {
229
- console.log(JSON.stringify(await getDaemonStatus({
230
- pidPath: runtime.paths.pidPath,
231
- socketPath: runtime.paths.socketPath,
232
- })));
233
- return;
234
- }
235
- if (command.action === "stop") {
236
- const result = await withDaemonLock(lockPath, () => stopDaemonProcess({
237
- pidPath: runtime.paths.pidPath,
238
- socketPath: runtime.paths.socketPath,
239
- timeoutMs: 10_000,
240
- }));
241
- console.log(JSON.stringify(result));
242
- return;
243
- }
244
- if (command.action === "restart") {
245
- const result = await withDaemonLock(lockPath, async () => {
246
- await stopDaemonProcess({
247
- pidPath: runtime.paths.pidPath,
248
- socketPath: runtime.paths.socketPath,
249
- timeoutMs: 10_000,
250
- });
251
- return await startDaemonProcess({
252
- entrypointPath: resolve(dirname(fileURLToPath(import.meta.url)), "herdsman-daemon.js"),
253
- env: runtime.environment,
254
- logPath: runtime.paths.logPath,
255
- nodePath: process.execPath,
256
- pidPath: runtime.paths.pidPath,
257
- runtimeRecord: {
258
- dbPath: runtime.paths.dbPath,
259
- homeDir: runtime.homeDir,
260
- logPath: runtime.paths.logPath,
261
- pidPath: runtime.paths.pidPath,
262
- socketPath: runtime.paths.socketPath,
263
- },
264
- runtimeRecordPath: runtime.paths.runtimeRecordPath,
265
- socketPath: runtime.paths.socketPath,
266
- });
267
- });
268
- console.log(JSON.stringify({ ...result, socketPath: runtime.paths.socketPath }));
269
- return;
270
- }
271
- const result = await withDaemonLock(lockPath, () => startDaemonProcess({
272
- entrypointPath: resolve(dirname(fileURLToPath(import.meta.url)), "herdsman-daemon.js"),
273
- env: runtime.environment,
274
- logPath: runtime.paths.logPath,
275
- nodePath: process.execPath,
267
+ const status = await getDaemonStatus({
276
268
  pidPath: runtime.paths.pidPath,
277
- runtimeRecord: {
278
- dbPath: runtime.paths.dbPath,
279
- homeDir: runtime.homeDir,
280
- logPath: runtime.paths.logPath,
281
- pidPath: runtime.paths.pidPath,
282
- socketPath: runtime.paths.socketPath,
283
- },
284
- runtimeRecordPath: runtime.paths.runtimeRecordPath,
285
269
  socketPath: runtime.paths.socketPath,
286
- }));
287
- console.log(JSON.stringify({ ...result, socketPath: runtime.paths.socketPath }));
270
+ });
271
+ console.log(command.text ? formatDaemonStatus(status) : JSON.stringify(status));
288
272
  }
289
273
  export function resolveRuntimeForCommand() {
290
274
  const paths = runtimePathsFromRecordOrDefault({ environment: process.env });
@@ -315,7 +299,7 @@ function rejectExtra(args) {
315
299
  throw new Error(`Invalid argument: ${args[0]}`);
316
300
  }
317
301
  function isDaemonAction(value) {
318
- return value === "restart" || value === "start" || value === "status" || value === "stop";
302
+ return value === "status";
319
303
  }
320
304
  function formatCliError(error) {
321
305
  const message = error instanceof Error ? error.message : String(error);
@@ -323,7 +307,7 @@ function formatCliError(error) {
323
307
  message.includes("ECONNREFUSED") ||
324
308
  message.includes("Herdsman daemon socket closed") ||
325
309
  message.includes("Observability RPC socket closed")) {
326
- return `${message}\nRun \`herdsman daemon start\` before using Herdsman commands.`;
310
+ return `${message}\nHerdsman's daemon has no CLI start/stop commands; check the systemd-managed service with \`systemctl status herdsman.service\`.`;
327
311
  }
328
312
  return message;
329
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"herdsman.js","sourceRoot":"","sources":["../../../src/cli/herdsman.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"herdsman.js","sourceRoot":"","sources":["../../../src/cli/herdsman.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-event-reconciler.d.ts","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAE7D,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,QAA0B,CAAC;AAEhE,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AAInD,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAYF,qBAAa,oBAAoB;;gBASnB,OAAO,EAAE;QACnB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;QAC3C,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,2BAA2B,CAAC;QACpC,WAAW,EAAE,sBAAsB,CAAC;QACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,iBAAiB,CAAC;QACpE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;QACzF,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;KACzC;IAWK,SAAS,CACb,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7C,OAAO,CAAC,yBAAyB,CAAC;CA8GtC"}
1
+ {"version":3,"file":"agent-event-reconciler.d.ts","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAE7D,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,QAA0B,CAAC;AAEhE,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AAInD,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAYF,qBAAa,oBAAoB;;gBASnB,OAAO,EAAE;QACnB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;QAC3C,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,2BAA2B,CAAC;QACpC,WAAW,EAAE,sBAAsB,CAAC;QACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,iBAAiB,CAAC;QACpE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;QACzF,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;KACzC;IAWK,SAAS,CACb,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7C,OAAO,CAAC,yBAAyB,CAAC;CAgJtC"}
@@ -1,4 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
+ import { REDELIVERY_FRESHNESS_MS } from "../db/agent-events.js";
2
3
  import { normalizeHerdrSessionSnapshot } from "../herdr/session-snapshot.js";
3
4
  import { HerdrSocketClient } from "../herdr/socket-client.js";
4
5
  export const RECONCILE_BATCH_LIMIT = 100;
@@ -97,9 +98,45 @@ export class AgentEventReconciler {
97
98
  const panes = live.get(event.herdrSessionName);
98
99
  if (!panes)
99
100
  continue;
100
- const present = panes.some((pane) => paneMatchesEvent(pane, event));
101
- if (!present && this.#events.deleteReconcileCandidate(event.id))
101
+ // 存活比对:代际匹配的存活 pane 继续正常保留
102
+ const matchingPane = panes.find((pane) => paneMatchesEvent(pane, event));
103
+ if (matchingPane)
104
+ continue;
105
+ // 执行点补完(判别 1):快照中存在同名 paneId 但 paneMatchesEvent 判定不兼容(属 E3 跨代冲突)
106
+ const samePaneExists = panes.some((pane) => pane.paneId === event.paneId);
107
+ if (samePaneExists) {
108
+ // 跨代冲突不能物理删掉尚未投递过的终态失败行:它必须在 reconciler
109
+ // 的下一轮扫描中活下去,直到拿到首次投递机会。
110
+ if (isRetainableTerminalFailure(event)) {
111
+ if (this.#events.markRetainedInvalidated(event.id))
112
+ invalidated += 1;
113
+ }
114
+ else if (this.#events.deleteReconcileCandidate(event.id)) {
115
+ invalidated += 1;
116
+ }
117
+ continue;
118
+ }
119
+ // 执行点补完(判别 2):paneId 在快照中完全缺失,评估保留资格与时限
120
+ const payload = (event.payload ?? {});
121
+ const now = Date.now();
122
+ const eventAgeMs = now - event.createdAt.getTime();
123
+ const isFresh = eventAgeMs <= REDELIVERY_FRESHNESS_MS; // E6 判定:300s 关页时限
124
+ // 终态失败行不走 300s 新鲜度窗口:它的保留窗口以「首次投递尝试」为界
125
+ // (delivery_attempts = 0),因为这条事件常常是在 pane 关闭(agents 行
126
+ // 物理删除)之后才补写出来的。agent.discarded 不保留。
127
+ const isRetainable = isRetainableTerminalFailure(event) ||
128
+ (event.deliverable === 1 &&
129
+ isFresh &&
130
+ ((event.type === "agent.done" && payload.from === "working") ||
131
+ (event.type === "agent.idle" && payload.from === "working")));
132
+ if (isRetainable) {
133
+ // 保留交付性,转移为保留作废态
134
+ this.#events.markRetainedInvalidated(event.id);
135
+ invalidated += 1;
136
+ }
137
+ else if (this.#events.deleteReconcileCandidate(event.id)) {
102
138
  invalidated += 1;
139
+ }
103
140
  }
104
141
  }
105
142
  invalidated += this.#events.deleteInvalidatedOlderThan(INVALIDATED_GRACE_MS);
@@ -157,6 +194,20 @@ export class AgentEventReconciler {
157
194
  function stringValue(value) {
158
195
  return typeof value === "string" && value.length > 0 ? value : null;
159
196
  }
197
+ /**
198
+ * A terminal `agent.failed` row that has never been delivered must survive the
199
+ * reconcile sweep: when a plan reaches its failed state after the pane was
200
+ * retired, the event is written with `agent_id = null` and no live pane to match
201
+ * it, so the ordinary 300s freshness rule would physically delete the only
202
+ * remaining evidence of the failure before any orchestrator could see it. The
203
+ * window is bounded by the first delivery attempt (`delivery_attempts = 0`),
204
+ * which is paired with the retention whitelist in `#invalidatePaneCore` and with
205
+ * the invalidation gate in `AgentEventStore#reclaimDelivered`. `agent.discarded`
206
+ * is deliberately not retained.
207
+ */
208
+ function isRetainableTerminalFailure(event) {
209
+ return event.type === "agent.failed" && event.deliverable === 1 && event.deliveryAttempts === 0;
210
+ }
160
211
  /**
161
212
  * Cache keys for opencode-sqlite append `#session=...` onto the backing file
162
213
  * path. Existence is checked against the real path, not the synthetic key.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-event-reconciler.js","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-event-reconciler.js","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,13 @@ import type { AgentIndexService } from "../observability/agent-index-service.js"
6
6
  import type { AgentEventRecord, AgentIndexRecord, AgentScope } from "../observability/contracts.js";
7
7
  export declare const ACTIVE_REVISION_POLL_MS = 10000;
8
8
  export declare const FULL_RESCAN_MS = 60000;
9
- export declare const PLAN_DRAIN_GRACE_MS = 12000;
9
+ /**
10
+ * Grace for status event plans still executing when the manager stops. Must stay
11
+ * below the daemon shutdown budget (SHUTDOWN_BUDGET_MS in src/daemon/service.ts,
12
+ * 5000ms) and therefore below the unit's TimeoutStopSec (10s): a drain grace
13
+ * longer than the stop timeout is what let SIGTERM end in systemd SIGKILL.
14
+ */
15
+ export declare const PLAN_DRAIN_GRACE_MS = 3000;
10
16
  export declare class HerdrSessionWatchManager {
11
17
  #private;
12
18
  constructor(options: {
@@ -26,6 +32,12 @@ export declare class HerdrSessionWatchManager {
26
32
  }): void;
27
33
  reconnectDelayMs?: number;
28
34
  sessionList: HerdrSessionListRunner;
35
+ /**
36
+ * Aborted when the daemon starts shutting down. Watchers stop as soon as it
37
+ * aborts instead of waiting for the daemon to reach its watchManager.stop()
38
+ * step, so teardown also happens when the shutdown budget cuts that step short.
39
+ */
40
+ shutdownSignal?: AbortSignal;
29
41
  });
30
42
  start(): Promise<void>;
31
43
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"herdr-session-watch-manager.d.ts","sourceRoot":"","sources":["../../../src/daemon/herdr-session-watch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAyB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAA8B,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,KAAK,EAGV,iBAAiB,EAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEnG,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAsB1C,qBAAa,wBAAwB;;gBA8BvB,OAAO,EAAE;QACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;YACtB,UAAU,EAAE,MAAM,CAAC;SACpB,KAAK,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAAC;QAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,iBAAiB,CAAC;QACjC,KAAK,EAAE,iBAAiB,CAAC;QACzB,qBAAqB,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;QAChD,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAC5C,qBAAqB,CAAC,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,sBAAsB,CAAC;KACrC;IAcK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgRjC"}
1
+ {"version":3,"file":"herdr-session-watch-manager.d.ts","sourceRoot":"","sources":["../../../src/daemon/herdr-session-watch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAyB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAA8B,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,KAAK,EAGV,iBAAiB,EAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAGnG,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAazC,qBAAa,wBAAwB;;gBA+BvB,OAAO,EAAE;QACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;YACtB,UAAU,EAAE,MAAM,CAAC;SACpB,KAAK,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAAC;QAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,iBAAiB,CAAC;QACjC,KAAK,EAAE,iBAAiB,CAAC;QACzB,qBAAqB,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;QAChD,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAC5C,qBAAqB,CAAC,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,sBAAsB,CAAC;QACpC;;;;WAIG;QACH,cAAc,CAAC,EAAE,WAAW,CAAC;KAC9B;IA+BK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgRjC"}
@@ -1,15 +1,14 @@
1
1
  import { HERDR_TOPOLOGY_EVENT_TYPES, HerdrSocketClient } from "../herdr/socket-client.js";
2
+ import { VALID_AGENT_EVENT_TYPES } from "../observability/contracts.js";
2
3
  export const ACTIVE_REVISION_POLL_MS = 10_000;
3
4
  export const FULL_RESCAN_MS = 60_000;
4
- export const PLAN_DRAIN_GRACE_MS = 12_000;
5
- const VALID_AGENT_EVENT_TYPES = new Set([
6
- "agent.status.changed",
7
- "agent.idle",
8
- "agent.done",
9
- "agent.blocked",
10
- "agent.failed",
11
- "agent.discarded",
12
- ]);
5
+ /**
6
+ * Grace for status event plans still executing when the manager stops. Must stay
7
+ * below the daemon shutdown budget (SHUTDOWN_BUDGET_MS in src/daemon/service.ts,
8
+ * 5000ms) and therefore below the unit's TimeoutStopSec (10s): a drain grace
9
+ * longer than the stop timeout is what let SIGTERM end in systemd SIGKILL.
10
+ */
11
+ export const PLAN_DRAIN_GRACE_MS = 3_000;
13
12
  export class HerdrSessionWatchManager {
14
13
  #agents;
15
14
  #activeRevisionPollMs;
@@ -25,6 +24,7 @@ export class HerdrSessionWatchManager {
25
24
  #retiringWatcherLoops = new Set();
26
25
  #inFlightPlans = new Set();
27
26
  #sessionList;
27
+ #shutdownSignal;
28
28
  #watchers = new Map();
29
29
  #lastFullRescanAt = 0;
30
30
  #lifecycleGeneration = 0;
@@ -43,6 +43,20 @@ export class HerdrSessionWatchManager {
43
43
  this.#onAgentIndexRefreshed = options.onAgentIndexRefreshed ?? (() => undefined);
44
44
  this.#reconnectDelayMs = options.reconnectDelayMs ?? 1_000;
45
45
  this.#sessionList = options.sessionList;
46
+ this.#shutdownSignal = options.shutdownSignal;
47
+ if (this.#shutdownSignal?.aborted) {
48
+ void this.#beginShutdown().catch((error) => {
49
+ console.warn("Herdsman Herdr session watch shutdown failed", {
50
+ error: error instanceof Error ? error.message : String(error),
51
+ step: "begin-shutdown",
52
+ });
53
+ });
54
+ }
55
+ else {
56
+ this.#shutdownSignal?.addEventListener("abort", () => {
57
+ void this.#beginShutdown().catch(() => undefined);
58
+ }, { once: true });
59
+ }
46
60
  }
47
61
  async start() {
48
62
  this.#stopping = false;
@@ -53,19 +67,28 @@ export class HerdrSessionWatchManager {
53
67
  return;
54
68
  this.#scheduler = setInterval(() => {
55
69
  if (!this.#tickInFlight) {
56
- this.#tickInFlight = this.#tick().finally(() => {
70
+ // The rejection handler must be attached here, not only in stop(): when
71
+ // the shutdown budget abandons the watchManager.stop step, stop() never
72
+ // reaches its own `.catch`. By then stop() has also removed the daemon's
73
+ // own unhandledRejection/uncaughtException listeners, so an in-flight
74
+ // tick that throws has no listener left: the rejection falls through to
75
+ // Node's default action, which throws and ends the process with exit code
76
+ // 1, skipping the daemon's finally cleanup.
77
+ this.#tickInFlight = this.#tick()
78
+ .catch((error) => {
79
+ console.warn("Herdsman Herdr session watch tick failed", {
80
+ error: error instanceof Error ? error.message : String(error),
81
+ step: "active-revision-poll",
82
+ });
83
+ })
84
+ .finally(() => {
57
85
  this.#tickInFlight = undefined;
58
86
  });
59
87
  }
60
88
  }, this.#activeRevisionPollMs);
61
89
  }
62
90
  async stop() {
63
- this.#stopping = true;
64
- this.#lifecycleGeneration += 1;
65
- if (this.#scheduler)
66
- clearInterval(this.#scheduler);
67
- this.#scheduler = undefined;
68
- await this.#abortWatchers();
91
+ await this.#beginShutdown();
69
92
  await this.#tickInFlight?.catch(() => undefined);
70
93
  await Promise.all([...this.#retiringWatcherLoops]);
71
94
  if (this.#inFlightPlans.size > 0) {
@@ -77,6 +100,19 @@ export class HerdrSessionWatchManager {
77
100
  }
78
101
  await this.#abortWatchers();
79
102
  }
103
+ /**
104
+ * Synchronous teardown entry: stop scheduling ticks and abort every watcher.
105
+ * Shared by stop() and by the daemon shutdown signal so an aborted shutdown
106
+ * can never leave watchers (and their sockets) running.
107
+ */
108
+ #beginShutdown() {
109
+ this.#stopping = true;
110
+ this.#lifecycleGeneration += 1;
111
+ if (this.#scheduler)
112
+ clearInterval(this.#scheduler);
113
+ this.#scheduler = undefined;
114
+ return this.#abortWatchers();
115
+ }
80
116
  async rescanNow() {
81
117
  const generation = this.#lifecycleGeneration;
82
118
  const sessions = await this.#sessionList();