@dorokuma/herdsman 0.11.4 → 0.11.6
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/README.ja.md +4 -2
- package/README.md +5 -3
- package/dist/src/agent-history/discovery.d.ts +6 -1
- package/dist/src/agent-history/discovery.d.ts.map +1 -1
- package/dist/src/agent-history/discovery.js +71 -11
- package/dist/src/agent-history/discovery.js.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.d.ts +19 -5
- package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.js +48 -4
- package/dist/src/daemon/agent-event-reconciler.js.map +1 -1
- package/dist/src/daemon/observability-server.d.ts.map +1 -1
- package/dist/src/daemon/observability-server.js +11 -17
- package/dist/src/daemon/observability-server.js.map +1 -1
- package/dist/src/daemon/service.d.ts.map +1 -1
- package/dist/src/daemon/service.js +1 -0
- package/dist/src/daemon/service.js.map +1 -1
- package/dist/src/db/agent-events.d.ts +7 -1
- package/dist/src/db/agent-events.d.ts.map +1 -1
- package/dist/src/db/agent-events.js +11 -2
- package/dist/src/db/agent-events.js.map +1 -1
- package/dist/src/db/agent-history-cache.d.ts +4 -0
- package/dist/src/db/agent-history-cache.d.ts.map +1 -1
- package/dist/src/db/agent-history-cache.js +27 -0
- package/dist/src/db/agent-history-cache.js.map +1 -1
- package/dist/src/db/agents.d.ts.map +1 -1
- package/dist/src/db/agents.js +20 -5
- package/dist/src/db/agents.js.map +1 -1
- package/dist/src/observability/agent-context-service.d.ts +17 -1
- package/dist/src/observability/agent-context-service.d.ts.map +1 -1
- package/dist/src/observability/agent-context-service.js +82 -15
- package/dist/src/observability/agent-context-service.js.map +1 -1
- package/dist/src/observability/agent-index-service.d.ts.map +1 -1
- package/dist/src/observability/agent-index-service.js +50 -12
- package/dist/src/observability/agent-index-service.js.map +1 -1
- package/dist/src/observability/contracts.d.ts +1 -0
- package/dist/src/observability/contracts.d.ts.map +1 -1
- package/dist/src/observability/contracts.js.map +1 -1
- package/dist/src/observability/schemas.d.ts +1 -0
- package/dist/src/observability/schemas.d.ts.map +1 -1
- package/dist/src/observability/schemas.js +1 -0
- package/dist/src/observability/schemas.js.map +1 -1
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -10,7 +10,7 @@ Herdsman は、Herdr で動く coding agent の状態を記録する daemon ベ
|
|
|
10
10
|
|
|
11
11
|
Herdr の `herdr agent read` は terminal stream や scrollback を読みます。Herdsman は agent の session data から作業状況、message の抜粋、compact tool result、未読の outcome を取得します。Herdsman は agent を操作しません。agent の start、prompt、wait、pane 操作、terminal control には公式 Herdr CLI または skill を使います。
|
|
12
12
|
|
|
13
|
-
現在は Claude Code、Codex、Gemini CLI、OpenCode、Pi のセッション履歴の取得に対応しています。
|
|
13
|
+
現在は Claude Code、Codex、Gemini CLI、OpenCode、Pi、Grok、Antigravity CLI のセッション履歴の取得に対応しています。
|
|
14
14
|
|
|
15
15
|
## 要件
|
|
16
16
|
|
|
@@ -108,9 +108,11 @@ agentが完了またはblockedになると、visibleなHerdsman turnを1回開
|
|
|
108
108
|
任意のpluginはGitHub Releaseのtagからインストールします。
|
|
109
109
|
|
|
110
110
|
```bash
|
|
111
|
-
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.6
|
|
111
|
+
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.11.6 --yes
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
+
インストール済みの Herdsman CLI と同じバージョンの release tag を指定してください。
|
|
115
|
+
|
|
114
116
|
plugin は Herdsman daemon に接続し、current Herdr workspace の compact agent row を Herdr UI に表示します。row には live name と runtime kind の column、cached history の抜粋が含まれます。Herdrはrepository subdirectoryからpluginをインストールします。npmには公開せず、CLIとPi extensionだけを使う場合は不要です。
|
|
115
117
|
|
|
116
118
|
## パッケージ
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Herdsman is a daemon-backed observability layer for coding agents running in Her
|
|
|
17
17
|
|
|
18
18
|
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.
|
|
19
19
|
|
|
20
|
-
Herdsman currently supports session history from Claude Code, Codex, Gemini CLI, OpenCode, and
|
|
20
|
+
Herdsman currently supports session history from Claude Code, Codex, Gemini CLI, OpenCode, Pi, Grok, and Antigravity CLI.
|
|
21
21
|
|
|
22
22
|
## Requirements
|
|
23
23
|
|
|
@@ -102,7 +102,7 @@ Install the extension through Pi:
|
|
|
102
102
|
pi install npm:@dorokuma/herdsman-pi
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
The extension requires Pi 0.80.6 or newer and connects to the Herdsman daemon when Pi runs inside Herdr. Each connected Pi registers its exact Pi session path as presence identity, including while off. The extension sends no per-turn tool-result or message telemetry; after its own final assistant message is written to the session file it sends a turn-completion signal, so completed and blocked outcomes carry a non-empty final response.
|
|
105
|
+
The extension requires Pi 0.80.6 or newer and connects to the Herdsman daemon when Pi runs inside Herdr. Each connected Pi registers its exact Pi session path as presence identity, including while off. After a successful register it sends `agent.ping` at least every 30 seconds so the daemon heartbeat does not drop an idle connection. The extension sends no per-turn tool-result or message telemetry; after its own final assistant message is written to the session file it sends a turn-completion signal, so completed and blocked outcomes carry a non-empty final response.
|
|
106
106
|
|
|
107
107
|
Enter `/herdsman on` in Pi to make this terminal the sole Herdsman owner for its current Herdr session and workspace. Only the owner receives cached current-workspace agent context, pending counts, agent updates, and automatic wake. Its context excludes its own Pi terminal and includes other Pi terminals. A normal prompt injects the locally cached snapshot without daemon RPC or history reads, so context can be temporarily absent after startup, reconnect, or scope movement until a snapshot arrives.
|
|
108
108
|
|
|
@@ -115,9 +115,11 @@ Use `/herdsman` or `/herdsman status` to inspect the current Pi, and `/herdsman
|
|
|
115
115
|
Install the optional plugin from the GitHub release tag:
|
|
116
116
|
|
|
117
117
|
```bash
|
|
118
|
-
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.6
|
|
118
|
+
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.11.6 --yes
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
+
Use the release tag that matches the installed Herdsman CLI version.
|
|
122
|
+
|
|
121
123
|
The plugin connects to the Herdsman daemon and shows compact agent rows for the current Herdr workspace, including separate live-name and runtime-kind columns plus cached history excerpts. Herdr installs it from the repository subdirectory; it is not published to npm or required for the CLI and Pi extension.
|
|
122
124
|
|
|
123
125
|
## Packages
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AgentHistoryRef, AgentSessionRef } from "../observability/contracts.js";
|
|
2
2
|
export declare const ALLOWED_SESSION_ROOTS: readonly ["/tmp/herdr-role-sessions"];
|
|
3
|
-
export declare const DISCOVERY_RECENCY_GRACE_MS
|
|
3
|
+
export declare const DISCOVERY_RECENCY_GRACE_MS = 30000;
|
|
4
|
+
export declare const FALLBACK_DISCOVERY_RECENCY_GRACE_MS: number;
|
|
4
5
|
export type AgentHistoryLookupInput = {
|
|
5
6
|
agent: string | null;
|
|
6
7
|
agentSession: AgentSessionRef | null;
|
|
@@ -11,8 +12,12 @@ export type AgentHistoryLookupInput = {
|
|
|
11
12
|
herdrSessionName?: string;
|
|
12
13
|
homeDir?: string;
|
|
13
14
|
occupiedSessionPaths?: ReadonlySet<string>;
|
|
15
|
+
terminalTitle?: string | null;
|
|
14
16
|
};
|
|
15
17
|
export declare function discoverAgentHistory(input: AgentHistoryLookupInput): Promise<AgentHistoryRef | null>;
|
|
16
18
|
export declare function historySourceFromSessionRef(ref: AgentSessionRef): AgentHistoryRef["source"];
|
|
17
19
|
export declare function safeAllowedSessionPath(value: string, homeDir?: string): string | null;
|
|
20
|
+
export declare function usesShortDiscoveryRecency(input: Pick<AgentHistoryLookupInput, "agent" | "agentSession" | "terminalTitle">): boolean;
|
|
21
|
+
export declare function discoveryRecencyGraceMs(input: Pick<AgentHistoryLookupInput, "agent" | "agentSession" | "terminalTitle">): number;
|
|
22
|
+
export declare function sessionPathAllowedByShape(value: string, homeDir?: string): boolean;
|
|
18
23
|
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -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;
|
|
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;AAerF,eAAO,MAAM,qBAAqB,uCAAwC,CAAC;AAE3E,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,mCAAmC,QAAc,CAAC;AAC/D,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;IAC3C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AASF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA8GjC;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;AAkBD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,CAAC,GAC/E,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,CAAC,GAC/E,MAAM,CAIR;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CASlF"}
|
|
@@ -7,14 +7,18 @@ import { DatabaseSync } from "node:sqlite";
|
|
|
7
7
|
// registration) may not have landed when the agent is first observed, so
|
|
8
8
|
// discovery falls back to cwd-based guessing. A session file untouched since
|
|
9
9
|
// before the agent was first seen cannot be that agent's live session.
|
|
10
|
-
// Herdr observation delay is on the second scale
|
|
11
|
-
//
|
|
12
|
-
//
|
|
10
|
+
// Herdr observation delay is on the second scale. Pi and role-hinted lookups
|
|
11
|
+
// use a 30-second grace window to absorb detection lag; other executor
|
|
12
|
+
// fallbacks (claude/codex/gemini/grok) keep 10 minutes so idle sessions are
|
|
13
|
+
// not dropped. Antigravity already short-circuits before recency ranking.
|
|
13
14
|
// Dispatched Pi role sessions live under /tmp/herdr-role-sessions/<herdr-session>/.
|
|
14
15
|
// 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
|
+
// must be scoped to the agent's own herdr session subdirectory, and when the pane
|
|
17
|
+
// terminal title contains a complete role-<id> segment, to that role directory only
|
|
18
|
+
// (no cross-role adopt, and ~/.pi/agent/sessions is excluded while the hint is set).
|
|
16
19
|
export const ALLOWED_SESSION_ROOTS = ["/tmp/herdr-role-sessions"];
|
|
17
|
-
export const DISCOVERY_RECENCY_GRACE_MS =
|
|
20
|
+
export const DISCOVERY_RECENCY_GRACE_MS = 30_000;
|
|
21
|
+
export const FALLBACK_DISCOVERY_RECENCY_GRACE_MS = 10 * 60_000;
|
|
18
22
|
export async function discoverAgentHistory(input) {
|
|
19
23
|
if (input.agentSession?.kind === "path") {
|
|
20
24
|
const resolved = safeAllowedSessionPath(input.agentSession.value, input.homeDir);
|
|
@@ -50,7 +54,7 @@ export async function discoverAgentHistory(input) {
|
|
|
50
54
|
return { ...ref, kind: "agent_session" };
|
|
51
55
|
}
|
|
52
56
|
if (source === "pi-jsonl") {
|
|
53
|
-
const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName));
|
|
57
|
+
const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName, roleDirectoryHint(input)));
|
|
54
58
|
for (const root of roots) {
|
|
55
59
|
const matches = await scanRootById(root, input.agentSession.value, source);
|
|
56
60
|
const candidate = matches.find((item) => !input.occupiedSessionPaths?.has(item.path));
|
|
@@ -72,8 +76,9 @@ export async function discoverAgentHistory(input) {
|
|
|
72
76
|
}
|
|
73
77
|
const agent = input.agent?.toLowerCase() ?? input.agentSession?.agent.toLowerCase() ?? "";
|
|
74
78
|
const candidates = [];
|
|
79
|
+
const roleHint = roleDirectoryHint(input);
|
|
75
80
|
if (agent === "pi") {
|
|
76
|
-
const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName));
|
|
81
|
+
const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName, roleHint));
|
|
77
82
|
for (const root of roots) {
|
|
78
83
|
candidates.push(...(await scanRoot(root, "pi-jsonl")));
|
|
79
84
|
}
|
|
@@ -109,8 +114,9 @@ export async function discoverAgentHistory(input) {
|
|
|
109
114
|
const ranked = candidates
|
|
110
115
|
.filter((candidate) => normalizedCwd !== null && normalizeCwd(candidate.cwd) === normalizedCwd)
|
|
111
116
|
.filter((candidate) => !input.occupiedSessionPaths?.has(candidate.path))
|
|
117
|
+
.filter((candidate) => matchesRoleDirectory(candidate.path, roleHint))
|
|
112
118
|
.filter((candidate) => input.firstSeenAtMs === undefined ||
|
|
113
|
-
candidate.mtimeMs >= input.firstSeenAtMs -
|
|
119
|
+
candidate.mtimeMs >= input.firstSeenAtMs - discoveryRecencyGraceMs(input))
|
|
114
120
|
.sort((a, b) => {
|
|
115
121
|
if (a.mtimeMs !== b.mtimeMs)
|
|
116
122
|
return b.mtimeMs - a.mtimeMs;
|
|
@@ -172,8 +178,53 @@ const CURRENT_EUID = process.geteuid?.() ?? -1;
|
|
|
172
178
|
function isSafeHerdrSessionSegment(name) {
|
|
173
179
|
return name.length > 0 && name !== "." && name !== ".." && !/[\\/\0]/.test(name);
|
|
174
180
|
}
|
|
175
|
-
|
|
176
|
-
|
|
181
|
+
const ROLE_DIRECTORY_SEGMENT = /^role-[a-z0-9][\w-]*$/i;
|
|
182
|
+
function roleDirectoryHint(input) {
|
|
183
|
+
if (!input.terminalTitle)
|
|
184
|
+
return null;
|
|
185
|
+
for (const segment of input.terminalTitle.split(" - ")) {
|
|
186
|
+
const trimmed = segment.trim();
|
|
187
|
+
if (ROLE_DIRECTORY_SEGMENT.test(trimmed))
|
|
188
|
+
return trimmed;
|
|
189
|
+
}
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
export function usesShortDiscoveryRecency(input) {
|
|
193
|
+
const agent = input.agent?.toLowerCase() ?? input.agentSession?.agent.toLowerCase() ?? "";
|
|
194
|
+
return agent === "pi" || roleDirectoryHint(input) !== null;
|
|
195
|
+
}
|
|
196
|
+
export function discoveryRecencyGraceMs(input) {
|
|
197
|
+
return usesShortDiscoveryRecency(input)
|
|
198
|
+
? DISCOVERY_RECENCY_GRACE_MS
|
|
199
|
+
: FALLBACK_DISCOVERY_RECENCY_GRACE_MS;
|
|
200
|
+
}
|
|
201
|
+
export function sessionPathAllowedByShape(value, homeDir) {
|
|
202
|
+
if (!isAbsolute(value) || value.includes(".."))
|
|
203
|
+
return false;
|
|
204
|
+
const resolved = normalize(value);
|
|
205
|
+
const homeSessionRoot = join(homeDir ?? process.env.HOME ?? "/root", ".pi/agent/sessions");
|
|
206
|
+
const roots = [homeSessionRoot, ...ALLOWED_SESSION_ROOTS];
|
|
207
|
+
return roots.some((root) => {
|
|
208
|
+
const rest = relative(root, resolved);
|
|
209
|
+
return rest !== "" && !rest.startsWith("..") && !isAbsolute(rest);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
function pathIsUnderAllowedSessionRoot(path) {
|
|
213
|
+
return ALLOWED_SESSION_ROOTS.some((root) => {
|
|
214
|
+
const rest = relative(root, path);
|
|
215
|
+
return rest !== "" && !rest.startsWith("..") && !isAbsolute(rest);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
function matchesRoleDirectory(path, roleHint) {
|
|
219
|
+
if (!roleHint || !pathIsUnderAllowedSessionRoot(path))
|
|
220
|
+
return true;
|
|
221
|
+
return path.split("/").includes(roleHint);
|
|
222
|
+
}
|
|
223
|
+
function piJsonlScanRoots(homeDir, herdrSessionName, roleDirectory) {
|
|
224
|
+
const roots = [];
|
|
225
|
+
if (!roleDirectory) {
|
|
226
|
+
roots.push(join(homeDir, ".pi", "agent", "sessions"));
|
|
227
|
+
}
|
|
177
228
|
if (herdrSessionName === undefined || !isSafeHerdrSessionSegment(herdrSessionName)) {
|
|
178
229
|
return roots;
|
|
179
230
|
}
|
|
@@ -182,7 +233,16 @@ function piJsonlScanRoots(homeDir, herdrSessionName) {
|
|
|
182
233
|
const rest = relative(allowed, scoped);
|
|
183
234
|
if (rest === "" || rest.startsWith("..") || isAbsolute(rest))
|
|
184
235
|
continue;
|
|
185
|
-
|
|
236
|
+
if (roleDirectory && isSafeHerdrSessionSegment(roleDirectory)) {
|
|
237
|
+
const roleScoped = normalize(join(scoped, roleDirectory));
|
|
238
|
+
const roleRest = relative(scoped, roleScoped);
|
|
239
|
+
if (roleRest === "" || roleRest.startsWith("..") || isAbsolute(roleRest))
|
|
240
|
+
continue;
|
|
241
|
+
roots.push(roleScoped);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
roots.push(scoped);
|
|
245
|
+
}
|
|
186
246
|
}
|
|
187
247
|
return roots;
|
|
188
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/agent-history/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;AAC7E,uEAAuE;AACvE,8EAA8E;AAC9E,+EAA+E;AAC/E,wDAAwD;AACxD,oFAAoF;AACpF,kFAAkF;AAClF,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,0BAA0B,CAAU,CAAC;AAE3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,MAAM,CAAC;AAoBtD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAA8B;IAE9B,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,IAAI,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC;IAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAExD,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC;gBACzC,OAAO;gBACP,GAAG;gBACH,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;gBACnC,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;aACtE,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC5F,IAAI,SAAS;gBACX,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,MAAM;oBACN,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;iBAChC,CAAC;QACN,CAAC;QACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,GAAG;gBAAE,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtF,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,MAAM;wBACN,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;qBAChC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3F,IAAI,GAAG;gBAAE,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC1F,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC;YACzC,OAAO;YACP,GAAG;YACH,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,UAAU;SACtB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,KAAK,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC;SAC9F,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACvE,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,KAAK,CAAC,aAAa,KAAK,SAAS;QACjC,SAAS,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,GAAG,0BAA0B,CACxE;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACL,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,IAAI;QACT,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;QACrF,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAoB;IAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,IACE,KAAK,KAAK,KAAK;QACf,KAAK,KAAK,aAAa;QACvB,KAAK,KAAK,iBAAiB;QAC3B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAE9B,OAAO,oBAAoB,CAAC;IAC9B,IAAI,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,YAAY,CAAC;IACrE,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,cAAc,CAAC;IAC3E,IAAI,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,aAAa,CAAC;IACxE,IAAI,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAClF,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,OAAgB;IACpE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IACE,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,MAAM,CAAC,cAAc,EAAE;YACvB,MAAM,CAAC,GAAG,KAAK,YAAY;YAC3B,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YAE3B,OAAO,IAAI,CAAC;QACd,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,GAAG,qBAAqB,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC;YACA,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AAE/C,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,gBAAoC;IAC7E,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1D,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAY,EACZ,EAAU,EACV,MAAiC;IAEjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY;YAAE,SAAS;QACrF,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,KAAoB;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAiC;IACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY;YAAE,SAAS;QACrF,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;IACzE,IAAI,KAAK,GAAG,mBAAmB,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB;QAAE,OAAO,EAAE,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB;YAAE,MAAM;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE;gBAAE,SAAS;YACzE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACvC,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;gBAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC1E,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;gBACpB,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACnF,IAAI,UAAU;oBAAE,OAAO,UAAU,CAAC;gBAClC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAClF,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,8EAA8E;YAChF,CAAC;YACD,IAAI,SAAS,IAAI,GAAG;gBAAE,MAAM;QAC9B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,GACP,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBAAE,SAAS;YAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IACpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO,OAAO;SACX,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtF;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAK7B;IACC,MAAM,IAAI,GAAG,IAAI,CACf,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EACvE,UAAU,CACX,CAAC;IACF,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAAY,EACZ,GAAkB,EAClB,SAAyB;IAEzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAAE,SAAS;QACrC,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC;YAAE,SAAS;QACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CACrF,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IACE,CAAC,OAAO,CAAC,WAAW,EAAE;gBACtB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrB,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;gBAEzC,SAAS;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY;gBAAE,SAAS;YAChF,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAuB,EACvB,GAAkB,EAClB,QAA8B;IAE9B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACzF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,4EAA4E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAe,EACf,SAAwB;IAExB,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACzE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;QAC1C,OAAO,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;YACxC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;YACnF,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,SAAiB;IACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD,SAAS,uBAAuB,CAAC,KAIhC;IACC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,MAAM,GAAwB,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,MAAM;iBACf,OAAO,CAAC,6CAA6C,CAAC;iBACtD,GAAG,CAAC,KAAK,CAAC,SAAS,CAA+B,CAAC;YACtD,OAAO,GAAG;gBACR,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;gBACrF,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM;aACf,OAAO,CAAC,+EAA+E,CAAC;aACxF,GAAG,CAAC,KAAK,CAAC,GAAG,CAA+B,CAAC;QAChD,OAAO,GAAG;YACR,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;YACrF,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACzC,IAAI,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/agent-history/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AgentEventStore } from "../db/agent-events.js";
|
|
2
|
+
import type { AgentHistoryCacheStore } from "../db/agent-history-cache.js";
|
|
2
3
|
import type { AgentOrchestratorScopeStore } from "../db/agent-orchestrator-scopes.js";
|
|
3
4
|
import type { StatusEventPlanStore } from "../db/status-event-plans.js";
|
|
4
5
|
import type { HerdrSessionListEntry, HerdrSessionListRunner } from "../herdr/session-list.js";
|
|
@@ -9,9 +10,26 @@ export declare const RECONCILE_REASON = "PANE_NOT_PRESENT_RECONCILE";
|
|
|
9
10
|
export declare const SCOPE_RELEASE_TTL_MS: number;
|
|
10
11
|
/** Terminal agent events (acked/failed) are purged after 7 days in the reconcile cycle. */
|
|
11
12
|
export declare const RECONCILE_SETTLED_TTL_MS: number;
|
|
13
|
+
/** History cache rows are purged after 30 days regardless of whether the source file still exists. */
|
|
14
|
+
export declare const HISTORY_CACHE_TTL_MS: number;
|
|
15
|
+
/**
|
|
16
|
+
* Invalidated events are retained this long so an owner that already received
|
|
17
|
+
* the event can still ack it (`isInvalidatedDelivered`) and advance the cursor.
|
|
18
|
+
* Must be >= REDELIVERY_FRESHNESS_MS; 1 hour covers reconnect delays without
|
|
19
|
+
* letting invalidated rows accumulate.
|
|
20
|
+
*/
|
|
21
|
+
export declare const INVALIDATED_GRACE_MS: number;
|
|
22
|
+
export type AgentEventReconcileResult = {
|
|
23
|
+
historyCacheExpired: number;
|
|
24
|
+
historyCacheMissing: number;
|
|
25
|
+
invalidated: number;
|
|
26
|
+
purged: number;
|
|
27
|
+
released: number;
|
|
28
|
+
};
|
|
12
29
|
export declare class AgentEventReconciler {
|
|
13
30
|
#private;
|
|
14
31
|
constructor(options: {
|
|
32
|
+
agentHistoryCache?: AgentHistoryCacheStore;
|
|
15
33
|
events: AgentEventStore;
|
|
16
34
|
scopes: AgentOrchestratorScopeStore;
|
|
17
35
|
sessionList: HerdrSessionListRunner;
|
|
@@ -24,10 +42,6 @@ export declare class AgentEventReconciler {
|
|
|
24
42
|
});
|
|
25
43
|
reconcile(options?: {
|
|
26
44
|
releaseStaleOwners?: boolean;
|
|
27
|
-
}): Promise<
|
|
28
|
-
invalidated: number;
|
|
29
|
-
purged: number;
|
|
30
|
-
released: number;
|
|
31
|
-
}>;
|
|
45
|
+
}): Promise<AgentEventReconcileResult>;
|
|
32
46
|
}
|
|
33
47
|
//# sourceMappingURL=agent-event-reconciler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-event-reconciler.d.ts","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
1
2
|
import { normalizeHerdrSessionSnapshot } from "../herdr/session-snapshot.js";
|
|
2
3
|
import { HerdrSocketClient } from "../herdr/socket-client.js";
|
|
3
4
|
export const RECONCILE_BATCH_LIMIT = 100;
|
|
@@ -6,7 +7,26 @@ export const RECONCILE_REASON = "PANE_NOT_PRESENT_RECONCILE";
|
|
|
6
7
|
export const SCOPE_RELEASE_TTL_MS = 30 * 24 * 60 * 60 * 1000;
|
|
7
8
|
/** Terminal agent events (acked/failed) are purged after 7 days in the reconcile cycle. */
|
|
8
9
|
export const RECONCILE_SETTLED_TTL_MS = 7 * 24 * 60 * 60 * 1000;
|
|
10
|
+
/** History cache rows are purged after 30 days regardless of whether the source file still exists. */
|
|
11
|
+
export const HISTORY_CACHE_TTL_MS = 30 * 24 * 60 * 60 * 1000;
|
|
12
|
+
/**
|
|
13
|
+
* Invalidated events are retained this long so an owner that already received
|
|
14
|
+
* the event can still ack it (`isInvalidatedDelivered`) and advance the cursor.
|
|
15
|
+
* Must be >= REDELIVERY_FRESHNESS_MS; 1 hour covers reconnect delays without
|
|
16
|
+
* letting invalidated rows accumulate.
|
|
17
|
+
*/
|
|
18
|
+
export const INVALIDATED_GRACE_MS = 60 * 60 * 1000;
|
|
19
|
+
function emptyReconcileResult() {
|
|
20
|
+
return {
|
|
21
|
+
historyCacheExpired: 0,
|
|
22
|
+
historyCacheMissing: 0,
|
|
23
|
+
invalidated: 0,
|
|
24
|
+
purged: 0,
|
|
25
|
+
released: 0,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
9
28
|
export class AgentEventReconciler {
|
|
29
|
+
#agentHistoryCache;
|
|
10
30
|
#events;
|
|
11
31
|
#scopes;
|
|
12
32
|
#sessionList;
|
|
@@ -14,6 +34,7 @@ export class AgentEventReconciler {
|
|
|
14
34
|
#clientFactory;
|
|
15
35
|
#statusEventPlans;
|
|
16
36
|
constructor(options) {
|
|
37
|
+
this.#agentHistoryCache = options.agentHistoryCache;
|
|
17
38
|
this.#events = options.events;
|
|
18
39
|
this.#scopes = options.scopes;
|
|
19
40
|
this.#sessionList = options.sessionList;
|
|
@@ -29,7 +50,7 @@ export class AgentEventReconciler {
|
|
|
29
50
|
}
|
|
30
51
|
catch (error) {
|
|
31
52
|
console.warn("Herdsman reconcile skipped: Herdr session list unavailable", error);
|
|
32
|
-
return
|
|
53
|
+
return emptyReconcileResult();
|
|
33
54
|
}
|
|
34
55
|
const live = new Map();
|
|
35
56
|
const clients = [];
|
|
@@ -59,7 +80,7 @@ export class AgentEventReconciler {
|
|
|
59
80
|
for (const client of clients)
|
|
60
81
|
client.close();
|
|
61
82
|
console.warn("Herdsman reconcile skipped: incomplete Herdr pane snapshot", error);
|
|
62
|
-
return
|
|
83
|
+
return emptyReconcileResult();
|
|
63
84
|
}
|
|
64
85
|
finally {
|
|
65
86
|
for (const client of clients)
|
|
@@ -81,11 +102,12 @@ export class AgentEventReconciler {
|
|
|
81
102
|
invalidated += 1;
|
|
82
103
|
}
|
|
83
104
|
}
|
|
84
|
-
invalidated += this.#events.
|
|
105
|
+
invalidated += this.#events.deleteInvalidatedOlderThan(INVALIDATED_GRACE_MS);
|
|
85
106
|
this.#events.deleteSettledOlderThan(RECONCILE_SETTLED_TTL_MS);
|
|
86
107
|
// Settled status event plans share the same 7-day TTL as settled agent
|
|
87
108
|
// events: a drained/completed/cancelled/failed plan is pure bookkeeping.
|
|
88
109
|
this.#statusEventPlans?.deleteSettledOlderThan(RECONCILE_SETTLED_TTL_MS);
|
|
110
|
+
const { historyCacheExpired, historyCacheMissing } = this.#purgeHistoryCache();
|
|
89
111
|
let released = 0;
|
|
90
112
|
if (options.releaseStaleOwners !== false) {
|
|
91
113
|
for (const scope of this.#scopes.listOwnedScopes()) {
|
|
@@ -118,12 +140,34 @@ export class AgentEventReconciler {
|
|
|
118
140
|
});
|
|
119
141
|
}
|
|
120
142
|
}
|
|
121
|
-
return { invalidated, purged, released };
|
|
143
|
+
return { historyCacheExpired, historyCacheMissing, invalidated, purged, released };
|
|
144
|
+
}
|
|
145
|
+
#purgeHistoryCache() {
|
|
146
|
+
if (!this.#agentHistoryCache) {
|
|
147
|
+
return { historyCacheExpired: 0, historyCacheMissing: 0 };
|
|
148
|
+
}
|
|
149
|
+
const historyCacheExpired = this.#agentHistoryCache.deleteOlderThan(HISTORY_CACHE_TTL_MS);
|
|
150
|
+
const missing = this.#agentHistoryCache
|
|
151
|
+
.listSourcePaths()
|
|
152
|
+
.filter((sourcePath) => !historyCacheSourceExists(sourcePath));
|
|
153
|
+
const historyCacheMissing = this.#agentHistoryCache.deleteBySourcePaths(missing);
|
|
154
|
+
return { historyCacheExpired, historyCacheMissing };
|
|
122
155
|
}
|
|
123
156
|
}
|
|
124
157
|
function stringValue(value) {
|
|
125
158
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
126
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Cache keys for opencode-sqlite append `#session=...` onto the backing file
|
|
162
|
+
* path. Existence is checked against the real path, not the synthetic key.
|
|
163
|
+
*/
|
|
164
|
+
function historyCacheSourceExists(sourcePath) {
|
|
165
|
+
if (existsSync(sourcePath))
|
|
166
|
+
return true;
|
|
167
|
+
const marker = "#session=";
|
|
168
|
+
const index = sourcePath.indexOf(marker);
|
|
169
|
+
return index > 0 && existsSync(sourcePath.slice(0, index));
|
|
170
|
+
}
|
|
127
171
|
/**
|
|
128
172
|
* A live pane matches an event when the pane ids are equal and the
|
|
129
173
|
* generations do not contradict each other. A generation-less live pane is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-event-reconciler.js","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-event-reconciler.js","sourceRoot":"","sources":["../../../src/daemon/agent-event-reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability-server.d.ts","sourceRoot":"","sources":["../../../src/daemon/observability-server.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAKhB,UAAU,EAGV,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"observability-server.d.ts","sourceRoot":"","sources":["../../../src/daemon/observability-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { Value } from "@sinclair/typebox/value";
|
|
|
4
4
|
import { defaultConnectSocket } from "../daemon/process-manager.js";
|
|
5
5
|
import { resolveHerdrPaneIdentity, } from "../herdr/pane-identity-resolver.js";
|
|
6
6
|
import { OrchestratorAckError } from "../observability/errors.js";
|
|
7
|
-
import { agentEventsInputSchema, agentGetInputSchema, agentListInputSchema, agentOrchestratorAckInputSchema, agentOrchestratorGetInputSchema, agentOrchestratorRegisterInputSchema, agentOrchestratorSetInputSchema, agentReadInputSchema, agentTurnCompletedInputSchema, } from "../observability/schemas.js";
|
|
7
|
+
import { agentEventsInputSchema, agentGetInputSchema, agentListInputSchema, agentOrchestratorAckInputSchema, agentOrchestratorGetInputSchema, agentOrchestratorRegisterInputSchema, agentOrchestratorSetInputSchema, agentPingInputSchema, agentReadInputSchema, agentTurnCompletedInputSchema, } from "../observability/schemas.js";
|
|
8
8
|
import { TurnCompletionRegistry } from "../observability/turn-completion.js";
|
|
9
9
|
import { encodeJsonLine, JsonLineDecoder, JsonLineFrameTooLargeError, } from "../shared/json-lines.js";
|
|
10
10
|
import { linuxPeerPid, peerBoundToPaneCwd } from "../shared/unix-peercred.js";
|
|
@@ -258,9 +258,9 @@ export class ObservabilityRpcServer {
|
|
|
258
258
|
const input = params;
|
|
259
259
|
const scope = this.#resolveScope(input);
|
|
260
260
|
const agent = this.#stores.agents.resolveTarget(scope, input.target);
|
|
261
|
-
const preferredRef = this.#context.
|
|
262
|
-
const history = await this.#history.resolveCompactHistory(
|
|
263
|
-
preferredRef
|
|
261
|
+
const preferredRef = await this.#context.preferredHistoryRef(agent);
|
|
262
|
+
const history = await this.#history.resolveCompactHistory(this.#context.historyLookupInput(agent), {
|
|
263
|
+
...(preferredRef ? { preferredRef } : {}),
|
|
264
264
|
});
|
|
265
265
|
return { agent: { ...agent, history: history.compactHistory } };
|
|
266
266
|
}
|
|
@@ -269,10 +269,10 @@ export class ObservabilityRpcServer {
|
|
|
269
269
|
const input = params;
|
|
270
270
|
const scope = this.#resolveScope(input);
|
|
271
271
|
const agent = this.#stores.agents.resolveTarget(scope, input.target);
|
|
272
|
-
const preferredRef = this.#context.
|
|
273
|
-
const read = await this.#history.read(
|
|
272
|
+
const preferredRef = await this.#context.preferredHistoryRef(agent);
|
|
273
|
+
const read = await this.#history.read(this.#context.historyLookupInput(agent), {
|
|
274
274
|
limit: input.limit ?? 20,
|
|
275
|
-
preferredRef
|
|
275
|
+
...(preferredRef ? { preferredRef } : {}),
|
|
276
276
|
});
|
|
277
277
|
return { agent: { ...agent, historyRef: read.historyRef, messages: read.messages } };
|
|
278
278
|
}
|
|
@@ -355,6 +355,10 @@ export class ObservabilityRpcServer {
|
|
|
355
355
|
});
|
|
356
356
|
return { accepted: true };
|
|
357
357
|
}
|
|
358
|
+
case "agent.ping": {
|
|
359
|
+
assertSchema(agentPingInputSchema, params);
|
|
360
|
+
return { ok: true };
|
|
361
|
+
}
|
|
358
362
|
default:
|
|
359
363
|
throw new Error(`Unknown method: ${method}`);
|
|
360
364
|
}
|
|
@@ -626,16 +630,6 @@ class ConnectorPaneMismatchError extends Error {
|
|
|
626
630
|
this.name = "ConnectorPaneMismatchError";
|
|
627
631
|
}
|
|
628
632
|
}
|
|
629
|
-
function historyInput(agent) {
|
|
630
|
-
return {
|
|
631
|
-
agent: agent.agent,
|
|
632
|
-
agentSession: agent.agentSession,
|
|
633
|
-
cwd: agent.cwd,
|
|
634
|
-
firstSeenAtMs: agent.firstSeenAt.getTime(),
|
|
635
|
-
foregroundCwd: agent.foregroundCwd,
|
|
636
|
-
herdrSessionName: agent.herdrSessionName,
|
|
637
|
-
};
|
|
638
|
-
}
|
|
639
633
|
function assertSchema(schema, value) {
|
|
640
634
|
if (!Value.Check(schema, value))
|
|
641
635
|
throw new Error("Invalid RPC params");
|