@dorokuma/herdsman 0.9.0 → 0.11.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.
Files changed (111) hide show
  1. package/dist/src/agent-history/antigravity-proto.js +1 -1
  2. package/dist/src/agent-history/antigravity-proto.js.map +1 -1
  3. package/dist/src/agent-history/antigravity-reader.d.ts +13 -1
  4. package/dist/src/agent-history/antigravity-reader.d.ts.map +1 -1
  5. package/dist/src/agent-history/antigravity-reader.js +22 -1
  6. package/dist/src/agent-history/antigravity-reader.js.map +1 -1
  7. package/dist/src/agent-history/discovery.d.ts +2 -1
  8. package/dist/src/agent-history/discovery.d.ts.map +1 -1
  9. package/dist/src/agent-history/discovery.js +24 -4
  10. package/dist/src/agent-history/discovery.js.map +1 -1
  11. package/dist/src/agent-history/readers.d.ts +15 -1
  12. package/dist/src/agent-history/readers.d.ts.map +1 -1
  13. package/dist/src/agent-history/readers.js +77 -31
  14. package/dist/src/agent-history/readers.js.map +1 -1
  15. package/dist/src/agent-history/service.d.ts +4 -2
  16. package/dist/src/agent-history/service.d.ts.map +1 -1
  17. package/dist/src/agent-history/service.js +22 -22
  18. package/dist/src/agent-history/service.js.map +1 -1
  19. package/dist/src/agent-history/source-fingerprint.d.ts +7 -0
  20. package/dist/src/agent-history/source-fingerprint.d.ts.map +1 -0
  21. package/dist/src/agent-history/source-fingerprint.js +26 -0
  22. package/dist/src/agent-history/source-fingerprint.js.map +1 -0
  23. package/dist/src/agent-history/text.d.ts.map +1 -1
  24. package/dist/src/agent-history/text.js +5 -0
  25. package/dist/src/agent-history/text.js.map +1 -1
  26. package/dist/src/cli/herdsman.d.ts.map +1 -1
  27. package/dist/src/cli/herdsman.js +31 -9
  28. package/dist/src/cli/herdsman.js.map +1 -1
  29. package/dist/src/daemon/agent-event-reconciler.d.ts +7 -0
  30. package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -1
  31. package/dist/src/daemon/agent-event-reconciler.js +39 -5
  32. package/dist/src/daemon/agent-event-reconciler.js.map +1 -1
  33. package/dist/src/daemon/herdr-session-watch-manager.d.ts +1 -0
  34. package/dist/src/daemon/herdr-session-watch-manager.d.ts.map +1 -1
  35. package/dist/src/daemon/herdr-session-watch-manager.js +176 -55
  36. package/dist/src/daemon/herdr-session-watch-manager.js.map +1 -1
  37. package/dist/src/daemon/observability-server.d.ts +3 -0
  38. package/dist/src/daemon/observability-server.d.ts.map +1 -1
  39. package/dist/src/daemon/observability-server.js +64 -9
  40. package/dist/src/daemon/observability-server.js.map +1 -1
  41. package/dist/src/daemon/process-manager.d.ts +41 -2
  42. package/dist/src/daemon/process-manager.d.ts.map +1 -1
  43. package/dist/src/daemon/process-manager.js +340 -19
  44. package/dist/src/daemon/process-manager.js.map +1 -1
  45. package/dist/src/daemon/service.d.ts +46 -0
  46. package/dist/src/daemon/service.d.ts.map +1 -1
  47. package/dist/src/daemon/service.js +171 -12
  48. package/dist/src/daemon/service.js.map +1 -1
  49. package/dist/src/db/agent-events.d.ts +27 -0
  50. package/dist/src/db/agent-events.d.ts.map +1 -1
  51. package/dist/src/db/agent-events.js +157 -26
  52. package/dist/src/db/agent-events.js.map +1 -1
  53. package/dist/src/db/agent-orchestrator-scopes.d.ts +8 -0
  54. package/dist/src/db/agent-orchestrator-scopes.d.ts.map +1 -1
  55. package/dist/src/db/agent-orchestrator-scopes.js +13 -0
  56. package/dist/src/db/agent-orchestrator-scopes.js.map +1 -1
  57. package/dist/src/db/agents.d.ts +44 -0
  58. package/dist/src/db/agents.d.ts.map +1 -1
  59. package/dist/src/db/agents.js +71 -0
  60. package/dist/src/db/agents.js.map +1 -1
  61. package/dist/src/db/client.d.ts +1 -0
  62. package/dist/src/db/client.d.ts.map +1 -1
  63. package/dist/src/db/client.js +12 -0
  64. package/dist/src/db/client.js.map +1 -1
  65. package/dist/src/db/schema.d.ts +391 -0
  66. package/dist/src/db/schema.d.ts.map +1 -1
  67. package/dist/src/db/schema.js +34 -0
  68. package/dist/src/db/schema.js.map +1 -1
  69. package/dist/src/db/status-event-plans.d.ts +62 -0
  70. package/dist/src/db/status-event-plans.d.ts.map +1 -0
  71. package/dist/src/db/status-event-plans.js +147 -0
  72. package/dist/src/db/status-event-plans.js.map +1 -0
  73. package/dist/src/herdr/pane-identity-resolver.d.ts +4 -0
  74. package/dist/src/herdr/pane-identity-resolver.d.ts.map +1 -1
  75. package/dist/src/herdr/pane-identity-resolver.js +13 -1
  76. package/dist/src/herdr/pane-identity-resolver.js.map +1 -1
  77. package/dist/src/herdr/socket-client.d.ts +2 -0
  78. package/dist/src/herdr/socket-client.d.ts.map +1 -1
  79. package/dist/src/herdr/socket-client.js +64 -20
  80. package/dist/src/herdr/socket-client.js.map +1 -1
  81. package/dist/src/observability/agent-context-service.d.ts.map +1 -1
  82. package/dist/src/observability/agent-context-service.js +3 -6
  83. package/dist/src/observability/agent-context-service.js.map +1 -1
  84. package/dist/src/observability/agent-index-service.d.ts +47 -2
  85. package/dist/src/observability/agent-index-service.d.ts.map +1 -1
  86. package/dist/src/observability/agent-index-service.js +1075 -103
  87. package/dist/src/observability/agent-index-service.js.map +1 -1
  88. package/dist/src/observability/agent-orchestrator-service.d.ts.map +1 -1
  89. package/dist/src/observability/agent-orchestrator-service.js +34 -12
  90. package/dist/src/observability/agent-orchestrator-service.js.map +1 -1
  91. package/dist/src/observability/contracts.d.ts +1 -1
  92. package/dist/src/observability/contracts.d.ts.map +1 -1
  93. package/dist/src/observability/contracts.js.map +1 -1
  94. package/dist/src/observability/interactive-pi.d.ts +1 -1
  95. package/dist/src/observability/interactive-pi.d.ts.map +1 -1
  96. package/dist/src/observability/interactive-pi.js +1 -1
  97. package/dist/src/observability/interactive-pi.js.map +1 -1
  98. package/dist/src/observability/turn-completion.d.ts +2 -1
  99. package/dist/src/observability/turn-completion.d.ts.map +1 -1
  100. package/dist/src/observability/turn-completion.js +10 -1
  101. package/dist/src/observability/turn-completion.js.map +1 -1
  102. package/dist/src/shared/unix-peercred.d.ts +14 -0
  103. package/dist/src/shared/unix-peercred.d.ts.map +1 -0
  104. package/dist/src/shared/unix-peercred.js +144 -0
  105. package/dist/src/shared/unix-peercred.js.map +1 -0
  106. package/drizzle/0008_pane_tombstones.sql +9 -0
  107. package/drizzle/0009_high_lake.sql +24 -0
  108. package/drizzle/meta/0008_snapshot.json +823 -0
  109. package/drizzle/meta/0009_snapshot.json +975 -0
  110. package/drizzle/meta/_journal.json +14 -0
  111. package/package.json +24 -22
@@ -12,9 +12,9 @@ export function decodeAntigravityMessage(value) {
12
12
  ]);
13
13
  if (user)
14
14
  return { role: "user", text: user };
15
+ // Note: [20, 3] is thinking-only; do not decode it as assistant body text.
15
16
  const assistant = firstTextAtPaths(fields, [
16
17
  [20, 8],
17
- [20, 3],
18
18
  [20, 1],
19
19
  ]);
20
20
  if (assistant)
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-proto.js","sourceRoot":"","sources":["../../../src/agent-history/antigravity-proto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-proto.js","sourceRoot":"","sources":["../../../src/agent-history/antigravity-proto.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,18 @@ export declare class AntigravityHistoryReader implements AgentHistoryReader {
6
6
  read(ref: AgentHistoryRef, options?: {
7
7
  limit?: number;
8
8
  }): Promise<AgentHistoryMessage[]>;
9
- readCompact(ref: AgentHistoryRef): Promise<import("../observability/contracts.js").CompactAgentHistory>;
9
+ readCompact(ref: AgentHistoryRef): Promise<{
10
+ lastAssistantMessage: {
11
+ ref: string;
12
+ text: string;
13
+ timestamp: string | null;
14
+ } | null;
15
+ historyRef: AgentHistoryRef | null;
16
+ lastToolResult: import("../observability/contracts.js").CompactToolResult | null;
17
+ lastUserMessage: import("../observability/contracts.js").AgentHistoryExcerpt | null;
18
+ messageCount: number;
19
+ source: string | null;
20
+ updatedAt: string | null;
21
+ }>;
10
22
  }
11
23
  //# sourceMappingURL=antigravity-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-reader.d.ts","sourceRoot":"","sources":["../../../src/agent-history/antigravity-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEzF,OAAO,EAAE,KAAK,kBAAkB,EAAsC,MAAM,cAAc,CAAC;AAG3F,kEAAkE;AAClE,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO;IAIhC,IAAI,CACR,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsD3B,WAAW,CAAC,GAAG,EAAE,eAAe;CAGvC"}
1
+ {"version":3,"file":"antigravity-reader.d.ts","sourceRoot":"","sources":["../../../src/agent-history/antigravity-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEzF,OAAO,EAAE,KAAK,kBAAkB,EAAsC,MAAM,cAAc,CAAC;AAG3F,kEAAkE;AAClE,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO;IAIhC,IAAI,CACR,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsD3B,WAAW,CAAC,GAAG,EAAE,eAAe;;;;;;;;;;;;;CAwBvC"}
@@ -58,7 +58,28 @@ export class AntigravityHistoryReader {
58
58
  }
59
59
  }
60
60
  async readCompact(ref) {
61
- return compactFromMessages(ref, await this.read(ref));
61
+ const messages = await this.read(ref);
62
+ const compact = compactFromMessages(ref, messages);
63
+ const lastUserIndex = messages.findLastIndex((message) => message.role === "user");
64
+ if (lastUserIndex === -1) {
65
+ return {
66
+ ...compact,
67
+ lastAssistantMessage: null,
68
+ };
69
+ }
70
+ const assistantAfterUser = messages
71
+ .slice(lastUserIndex + 1)
72
+ .findLast((message) => message.role === "assistant");
73
+ return {
74
+ ...compact,
75
+ lastAssistantMessage: assistantAfterUser
76
+ ? {
77
+ ref: assistantAfterUser.ref,
78
+ text: assistantAfterUser.text,
79
+ timestamp: assistantAfterUser.timestamp,
80
+ }
81
+ : null,
82
+ };
62
83
  }
63
84
  }
64
85
  function payloadText(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-reader.js","sourceRoot":"","sources":["../../../src/agent-history/antigravity-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-reader.js","sourceRoot":"","sources":["../../../src/agent-history/antigravity-reader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AgentHistoryRef, AgentSessionRef } from "../observability/contracts.js";
2
- export declare const ALLOWED_SESSION_ROOTS: readonly ["/tmp/pi-role-sessions"];
2
+ export declare const ALLOWED_SESSION_ROOTS: readonly ["/tmp/herdr-role-sessions"];
3
3
  export declare const DISCOVERY_RECENCY_GRACE_MS: number;
4
4
  export type AgentHistoryLookupInput = {
5
5
  agent: string | null;
@@ -8,6 +8,7 @@ export type AgentHistoryLookupInput = {
8
8
  foregroundCwd: string | null;
9
9
  firstSeenAtMs?: number;
10
10
  grokHome?: string;
11
+ herdrSessionName?: string;
11
12
  homeDir?: string;
12
13
  occupiedSessionPaths?: ReadonlySet<string>;
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/agent-history/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AASrF,eAAO,MAAM,qBAAqB,oCAAqC,CAAC;AAExE,eAAO,MAAM,0BAA0B,QAAc,CAAC;AACtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC;AASF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA0GjC;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAiB3F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBrF"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/agent-history/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAYrF,eAAO,MAAM,qBAAqB,uCAAwC,CAAC;AAE3E,eAAO,MAAM,0BAA0B,QAAc,CAAC;AACtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC;AASF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA0GjC;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAiB3F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBrF"}
@@ -10,7 +10,10 @@ import { DatabaseSync } from "node:sqlite";
10
10
  // Herdr observation delay is on the second scale, so a 10-minute grace window
11
11
  // is far more generous than needed; it only discards sessions that had already
12
12
  // stopped being written well before the agent appeared.
13
- export const ALLOWED_SESSION_ROOTS = ["/tmp/pi-role-sessions"];
13
+ // Dispatched Pi role sessions live under /tmp/herdr-role-sessions/<herdr-session>/.
14
+ // Exact-path registration may resolve any file under this root; fallback/id scans
15
+ // must be scoped to the agent's own herdr session subdirectory.
16
+ export const ALLOWED_SESSION_ROOTS = ["/tmp/herdr-role-sessions"];
14
17
  export const DISCOVERY_RECENCY_GRACE_MS = 10 * 60_000;
15
18
  export async function discoverAgentHistory(input) {
16
19
  if (input.agentSession?.kind === "path") {
@@ -47,7 +50,7 @@ export async function discoverAgentHistory(input) {
47
50
  return { ...ref, kind: "agent_session" };
48
51
  }
49
52
  if (source === "pi-jsonl") {
50
- const roots = new Set([join(homeDir, ".pi", "agent", "sessions"), ...ALLOWED_SESSION_ROOTS]);
53
+ const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName));
51
54
  for (const root of roots) {
52
55
  const matches = await scanRootById(root, input.agentSession.value, source);
53
56
  const candidate = matches.find((item) => !input.occupiedSessionPaths?.has(item.path));
@@ -70,7 +73,7 @@ export async function discoverAgentHistory(input) {
70
73
  const agent = input.agent?.toLowerCase() ?? input.agentSession?.agent.toLowerCase() ?? "";
71
74
  const candidates = [];
72
75
  if (agent === "pi") {
73
- const roots = new Set([join(homeDir, ".pi", "agent", "sessions"), ...ALLOWED_SESSION_ROOTS]);
76
+ const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName));
74
77
  for (const root of roots) {
75
78
  candidates.push(...(await scanRoot(root, "pi-jsonl")));
76
79
  }
@@ -166,6 +169,23 @@ export function safeAllowedSessionPath(value, homeDir) {
166
169
  }
167
170
  }
168
171
  const CURRENT_EUID = process.geteuid?.() ?? -1;
172
+ function isSafeHerdrSessionSegment(name) {
173
+ return name.length > 0 && name !== "." && name !== ".." && !/[\\/\0]/.test(name);
174
+ }
175
+ function piJsonlScanRoots(homeDir, herdrSessionName) {
176
+ const roots = [join(homeDir, ".pi", "agent", "sessions")];
177
+ if (herdrSessionName === undefined || !isSafeHerdrSessionSegment(herdrSessionName)) {
178
+ return roots;
179
+ }
180
+ for (const allowed of ALLOWED_SESSION_ROOTS) {
181
+ const scoped = normalize(join(allowed, herdrSessionName));
182
+ const rest = relative(allowed, scoped);
183
+ if (rest === "" || rest.startsWith("..") || isAbsolute(rest))
184
+ continue;
185
+ roots.push(scoped);
186
+ }
187
+ return roots;
188
+ }
169
189
  async function scanRootById(root, id, source) {
170
190
  if (!existsSync(root))
171
191
  return [];
@@ -376,7 +396,7 @@ function safeConversationDb(path, sessionId) {
376
396
  return false;
377
397
  try {
378
398
  const stats = lstatSync(path);
379
- return stats.isFile() && (stats.mode & 0o077) === 0;
399
+ return stats.isFile() && (stats.mode & 0o022) === 0;
380
400
  }
381
401
  catch {
382
402
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/agent-history/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/agent-history/discovery.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export type JsonlEntry = {
3
3
  line: number;
4
4
  value: Record<string, unknown>;
5
5
  };
6
+ /** Cap JSONL reads; larger files are consumed from a tail window of this size. */
7
+ export declare const JSONL_MAX_BYTES: number;
6
8
  /** A writer can leave a partial final record while message_end is firing. */
7
9
  export declare class UnstableJsonlError extends Error {
8
10
  readonly details: {
@@ -16,6 +18,16 @@ export declare class UnstableJsonlError extends Error {
16
18
  mtimeMs: number;
17
19
  });
18
20
  }
21
+ export declare class JsonlTooLargeError extends Error {
22
+ readonly details: {
23
+ maxBytes: number;
24
+ size: number;
25
+ };
26
+ constructor(details: {
27
+ maxBytes: number;
28
+ size: number;
29
+ });
30
+ }
19
31
  export type AgentHistoryReader = {
20
32
  canRead(ref: AgentHistoryRef): boolean;
21
33
  read(ref: AgentHistoryRef, options: {
@@ -23,7 +35,9 @@ export type AgentHistoryReader = {
23
35
  }): Promise<AgentHistoryMessage[]>;
24
36
  readCompact(ref: AgentHistoryRef): Promise<CompactAgentHistory>;
25
37
  };
26
- export declare function readJsonl(path: string): Promise<JsonlEntry[]>;
38
+ export declare function readJsonl(path: string, options?: {
39
+ maxBytes?: number;
40
+ }): Promise<JsonlEntry[]>;
27
41
  export declare function compactFromMessages(ref: AgentHistoryRef, messages: AgentHistoryMessage[]): CompactAgentHistory;
28
42
  export declare function limitMessages(messages: AgentHistoryMessage[], limit: number | undefined): AgentHistoryMessage[];
29
43
  //# sourceMappingURL=readers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../../src/agent-history/readers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE1E,6EAA6E;AAC7E,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;gBAAlE,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIxF;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxF,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAgCnE;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,mBAAmB,CAarB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,mBAAmB,EAAE,CAGvB"}
1
+ {"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../../src/agent-history/readers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE1E,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,6EAA6E;AAC7E,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;gBAAlE,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIxF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;gBAA3C,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAIjE;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxF,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,UAAU,EAAE,CAAC,CAiEvB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,mBAAmB,CAarB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,mBAAmB,EAAE,CAIvB"}
@@ -1,4 +1,9 @@
1
- import { readFile, stat } from "node:fs/promises";
1
+ import { createReadStream } from "node:fs";
2
+ import { stat } from "node:fs/promises";
3
+ import { createInterface } from "node:readline";
4
+ import { sanitizeText } from "./text.js";
5
+ /** Cap JSONL reads; larger files are consumed from a tail window of this size. */
6
+ export const JSONL_MAX_BYTES = 32 * 1024 * 1024;
2
7
  /** A writer can leave a partial final record while message_end is firing. */
3
8
  export class UnstableJsonlError extends Error {
4
9
  details;
@@ -8,39 +13,77 @@ export class UnstableJsonlError extends Error {
8
13
  this.name = "UnstableJsonlError";
9
14
  }
10
15
  }
11
- export async function readJsonl(path) {
12
- const [content, metadata] = await Promise.all([readFile(path, "utf8"), stat(path)]);
16
+ export class JsonlTooLargeError extends Error {
17
+ details;
18
+ constructor(details) {
19
+ super(`JSONL file exceeds maximum size (${details.size} > ${details.maxBytes} bytes)`);
20
+ this.details = details;
21
+ this.name = "JsonlTooLargeError";
22
+ }
23
+ }
24
+ export async function readJsonl(path, options = {}) {
25
+ const maxBytes = options.maxBytes ?? JSONL_MAX_BYTES;
26
+ const metadata = await stat(path);
27
+ const start = metadata.size > maxBytes ? metadata.size - maxBytes : 0;
28
+ if (start > 0) {
29
+ console.warn("Herdsman reading JSONL tail window to stay within size cap", {
30
+ maxBytes,
31
+ path,
32
+ size: metadata.size,
33
+ });
34
+ }
35
+ const input = createReadStream(path, { encoding: "utf8", start });
36
+ let streamError;
37
+ input.on("error", (error) => {
38
+ streamError = error;
39
+ });
40
+ const lines = createInterface({ crlfDelay: Infinity, input });
13
41
  const entries = [];
14
- const lines = content.split(/\r?\n/);
15
42
  let malformedLines = 0;
16
- for (let index = 0; index < lines.length; index += 1) {
17
- const line = lines[index];
18
- if (!line || line.trim().length === 0)
19
- continue;
20
- try {
21
- const parsed = JSON.parse(line);
22
- if (typeof parsed === "object" && parsed !== null) {
23
- entries.push({ line: index + 1, value: parsed });
43
+ let lineNumber = 0;
44
+ let skipPartialLead = start > 0;
45
+ let tailMalformed = false;
46
+ try {
47
+ for await (const line of lines) {
48
+ if (skipPartialLead) {
49
+ skipPartialLead = false;
50
+ continue;
51
+ }
52
+ lineNumber += 1;
53
+ if (!line || line.trim().length === 0)
54
+ continue;
55
+ try {
56
+ const parsed = JSON.parse(line);
57
+ if (typeof parsed === "object" && parsed !== null) {
58
+ entries.push({ line: lineNumber, value: parsed });
59
+ }
60
+ tailMalformed = false;
61
+ }
62
+ catch {
63
+ malformedLines += 1;
64
+ tailMalformed = true;
24
65
  }
25
- }
26
- catch {
27
- malformedLines += 1;
28
66
  }
29
67
  }
68
+ finally {
69
+ lines.close();
70
+ input.destroy();
71
+ }
72
+ if (streamError)
73
+ throw streamError;
30
74
  // Only the tail can be transient: malformed historical records remain
31
75
  // observable, but a malformed final record must not be mistaken for no data.
32
- const tail = lines.findLastIndex((line) => line.trim().length > 0);
33
- if (malformedLines > 0 && tail >= 0) {
34
- try {
35
- JSON.parse(lines[tail] ?? "");
36
- }
37
- catch {
38
- throw new UnstableJsonlError({
39
- malformedLines,
40
- size: metadata.size,
41
- mtimeMs: metadata.mtimeMs,
42
- });
43
- }
76
+ if (malformedLines > 0 && tailMalformed) {
77
+ throw new UnstableJsonlError({
78
+ malformedLines,
79
+ size: metadata.size,
80
+ mtimeMs: metadata.mtimeMs,
81
+ });
82
+ }
83
+ // A single record larger than the tail window is skipped as a partial lead,
84
+ // which would otherwise look like an empty history with no error.
85
+ if (start > 0 && entries.length === 0) {
86
+ throw new JsonlTooLargeError({ maxBytes, size: metadata.size });
44
87
  }
45
88
  return entries;
46
89
  }
@@ -59,14 +102,17 @@ export function compactFromMessages(ref, messages) {
59
102
  };
60
103
  }
61
104
  export function limitMessages(messages, limit) {
62
- if (!limit || messages.length <= limit)
63
- return messages;
64
- return messages.slice(messages.length - limit);
105
+ const selected = !limit || messages.length <= limit ? messages : messages.slice(messages.length - limit);
106
+ return selected.map(sanitizeHistoryMessage);
65
107
  }
66
108
  function lastByRole(messages, role) {
67
109
  return [...messages].reverse().find((message) => message.role === role);
68
110
  }
69
111
  function excerpt(message) {
70
- return { ref: message.ref, text: message.text, timestamp: message.timestamp };
112
+ return { ref: message.ref, text: sanitizeText(message.text).text, timestamp: message.timestamp };
113
+ }
114
+ function sanitizeHistoryMessage(message) {
115
+ const text = sanitizeText(message.text).text;
116
+ return text === message.text ? message : { ...message, text };
71
117
  }
72
118
  //# sourceMappingURL=readers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readers.js","sourceRoot":"","sources":["../../../src/agent-history/readers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readers.js","sourceRoot":"","sources":["../../../src/agent-history/readers.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { AgentHistoryCacheStore } from "../db/agent-history-cache.js";
2
2
  import type { AgentHistoryMessage, AgentHistoryRef, AgentHistorySourceFingerprint, CompactAgentHistory } from "../observability/contracts.js";
3
3
  import { type AgentHistoryLookupInput } from "./discovery.js";
4
4
  import type { AgentHistoryReader } from "./readers.js";
5
- export declare const agentHistoryFormatterVersion = "agent-history-v1";
5
+ export declare const agentHistoryFormatterVersion = "agent-history-v3";
6
6
  type CacheLike = Pick<AgentHistoryCacheStore, "getFresh" | "put">;
7
7
  type Discovery = (input: AgentHistoryLookupInput) => Promise<AgentHistoryRef | null>;
8
8
  export type ResolvedCompactAgentHistory = {
@@ -18,7 +18,9 @@ export declare function createAgentHistoryService(options?: {
18
18
  }): {
19
19
  discover: Discovery;
20
20
  getCompactHistory: (input: AgentHistoryLookupInput) => Promise<CompactAgentHistory>;
21
- readCompactRef: (historyRef: AgentHistoryRef) => Promise<ResolvedCompactAgentHistory>;
21
+ readCompactRef: (historyRef: AgentHistoryRef, readCompactOptions?: {
22
+ forceRefresh?: boolean | undefined;
23
+ }) => Promise<ResolvedCompactAgentHistory>;
22
24
  resolveCompactHistory: (input: AgentHistoryLookupInput, resolveOptions?: {
23
25
  forceDiscovery?: boolean;
24
26
  forceRefresh?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/agent-history/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,gBAAgB,CAAC;AAKpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAE/D,KAAK,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;AAClE,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AAErF,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,6BAA6B,GAAG,IAAI,CAAC;CACzD,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3B;;+BA8H6B,uBAAuB,KAAG,OAAO,CAAC,mBAAmB,CAAC;iCA3G/C,eAAe,KAAG,OAAO,CAAC,2BAA2B,CAAC;mCAyDvF,uBAAuB,mBACd;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;KACvC,KACA,OAAO,CAAC,2BAA2B,CAAC;gBAiD5B,uBAAuB,eACjB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,GACpE,OAAO,CAAC;QAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;EAUtF;AAUD,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAGT;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,mBAAmB,CAUrF"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/agent-history/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,gBAAgB,CAAC;AAKpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAE/D,KAAK,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;AAClE,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AAErF,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,6BAA6B,GAAG,IAAI,CAAC;CACzD,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3B;;+BAoI6B,uBAAuB,KAAG,OAAO,CAAC,mBAAmB,CAAC;iCAhH3E,eAAe,uBACP;QAAE,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,KACzD,OAAO,CAAC,2BAA2B,CAAC;mCAsD9B,uBAAuB,mBACd;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;KACvC,KACA,OAAO,CAAC,2BAA2B,CAAC;gBAuD5B,uBAAuB,eACjB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,GACpE,OAAO,CAAC;QAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;EAUtF;AAUD,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAGT;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,mBAAmB,CAUrF"}
@@ -7,7 +7,8 @@ import { GeminiHistoryReader } from "./gemini-reader.js";
7
7
  import { GrokHistoryReader } from "./grok-reader.js";
8
8
  import { OpenCodeHistoryReader } from "./opencode-reader.js";
9
9
  import { PiHistoryReader } from "./pi-reader.js";
10
- export const agentHistoryFormatterVersion = "agent-history-v1";
10
+ import { statSourceFingerprint } from "./source-fingerprint.js";
11
+ export const agentHistoryFormatterVersion = "agent-history-v3";
11
12
  export function createAgentHistoryService(options = {}) {
12
13
  const readers = options.readers ?? [
13
14
  new PiHistoryReader(),
@@ -23,28 +24,25 @@ export function createAgentHistoryService(options = {}) {
23
24
  ...input,
24
25
  ...(options.homeDir ? { homeDir: options.homeDir } : {}),
25
26
  }));
26
- async function readCompactRef(historyRef) {
27
+ async function readCompactRef(historyRef, readCompactOptions = {}) {
27
28
  const reader = readers.find((candidate) => candidate.canRead(historyRef));
28
29
  if (!reader)
29
30
  return unresolvedCompactHistory(historyRef.source);
30
31
  const path = historyRef.path ?? historyRef.value;
31
- const stats = await stat(path).catch(() => null);
32
- if (!stats)
32
+ const sourceFingerprint = await statSourceFingerprint(path);
33
+ if (!sourceFingerprint)
33
34
  return unresolvedCompactHistory(historyRef.source);
34
- const sourceFingerprint = {
35
- mtimeMs: Math.trunc(stats.mtimeMs),
36
- path,
37
- size: stats.size,
38
- };
39
35
  const cacheSourcePath = cacheSourcePathForRef(historyRef);
40
- const cached = options.cache?.getFresh({
41
- formatterVersion: agentHistoryFormatterVersion,
42
- sourceMtimeMs: sourceFingerprint.mtimeMs,
43
- sourcePath: cacheSourcePath,
44
- sourceSize: sourceFingerprint.size,
45
- });
46
- if (cached) {
47
- return { compactHistory: cached.compactHistory, historyRef, sourceFingerprint };
36
+ if (!readCompactOptions.forceRefresh) {
37
+ const cached = options.cache?.getFresh({
38
+ formatterVersion: agentHistoryFormatterVersion,
39
+ sourceMtimeMs: sourceFingerprint.mtimeMs,
40
+ sourcePath: cacheSourcePath,
41
+ sourceSize: sourceFingerprint.size,
42
+ });
43
+ if (cached && cached.compactHistory.lastAssistantMessage !== null) {
44
+ return { compactHistory: cached.compactHistory, historyRef, sourceFingerprint };
45
+ }
48
46
  }
49
47
  try {
50
48
  const compactHistory = await reader.readCompact(historyRef);
@@ -79,10 +77,10 @@ export function createAgentHistoryService(options = {}) {
79
77
  }
80
78
  }
81
79
  async function resolveCompactHistory(input, resolveOptions = {}) {
82
- if (!resolveOptions.forceRefresh &&
83
- resolveOptions.preferredRef &&
84
- !resolveOptions.forceDiscovery) {
85
- const preferred = await readCompactRef(resolveOptions.preferredRef);
80
+ if (resolveOptions.preferredRef && !resolveOptions.forceDiscovery) {
81
+ const preferred = await readCompactRef(resolveOptions.preferredRef, resolveOptions.forceRefresh !== undefined
82
+ ? { forceRefresh: resolveOptions.forceRefresh }
83
+ : {});
86
84
  if (preferred.historyRef)
87
85
  return preferred;
88
86
  }
@@ -91,7 +89,9 @@ export function createAgentHistoryService(options = {}) {
91
89
  console.warn("Herdsman agent history discovery returned no reference", input);
92
90
  return unresolvedCompactHistory();
93
91
  }
94
- return readCompactRef(historyRef);
92
+ return readCompactRef(historyRef, resolveOptions.forceRefresh !== undefined
93
+ ? { forceRefresh: resolveOptions.forceRefresh }
94
+ : {});
95
95
  }
96
96
  async function readRef(historyRef, readOptions) {
97
97
  const reader = readers.find((candidate) => candidate.canRead(historyRef));