@dorokuma/herdsman 0.6.5 → 0.8.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 +2 -2
- package/README.md +4 -4
- package/dist/src/agent-history/antigravity-proto.d.ts +7 -0
- package/dist/src/agent-history/antigravity-proto.d.ts.map +1 -0
- package/dist/src/agent-history/antigravity-proto.js +124 -0
- package/dist/src/agent-history/antigravity-proto.js.map +1 -0
- package/dist/src/agent-history/antigravity-reader.d.ts +11 -0
- package/dist/src/agent-history/antigravity-reader.d.ts.map +1 -0
- package/dist/src/agent-history/antigravity-reader.js +72 -0
- package/dist/src/agent-history/antigravity-reader.js.map +1 -0
- package/dist/src/agent-history/discovery.d.ts +2 -1
- package/dist/src/agent-history/discovery.d.ts.map +1 -1
- package/dist/src/agent-history/discovery.js +168 -2
- package/dist/src/agent-history/discovery.js.map +1 -1
- package/dist/src/agent-history/grok-reader.d.ts +11 -0
- package/dist/src/agent-history/grok-reader.d.ts.map +1 -0
- package/dist/src/agent-history/grok-reader.js +54 -0
- package/dist/src/agent-history/grok-reader.js.map +1 -0
- package/dist/src/agent-history/readers.d.ts +13 -0
- package/dist/src/agent-history/readers.d.ts.map +1 -1
- package/dist/src/agent-history/readers.js +30 -3
- package/dist/src/agent-history/readers.js.map +1 -1
- package/dist/src/agent-history/service.d.ts +1 -0
- package/dist/src/agent-history/service.d.ts.map +1 -1
- package/dist/src/agent-history/service.js +39 -5
- package/dist/src/agent-history/service.js.map +1 -1
- package/dist/src/agent-history/tool-compaction.js +2 -2
- package/dist/src/agent-history/tool-compaction.js.map +1 -1
- package/dist/src/cli/herdsman.d.ts +5 -0
- package/dist/src/cli/herdsman.d.ts.map +1 -1
- package/dist/src/cli/herdsman.js +7 -9
- package/dist/src/cli/herdsman.js.map +1 -1
- package/dist/src/config/runtime.d.ts.map +1 -1
- package/dist/src/config/runtime.js +1 -4
- package/dist/src/config/runtime.js.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.d.ts +26 -0
- package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -0
- package/dist/src/daemon/agent-event-reconciler.js +117 -0
- package/dist/src/daemon/agent-event-reconciler.js.map +1 -0
- package/dist/src/daemon/client.d.ts.map +1 -1
- package/dist/src/daemon/client.js +6 -1
- package/dist/src/daemon/client.js.map +1 -1
- package/dist/src/daemon/observability-server.d.ts +18 -0
- package/dist/src/daemon/observability-server.d.ts.map +1 -1
- package/dist/src/daemon/observability-server.js +97 -8
- 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 +14 -0
- package/dist/src/daemon/service.js.map +1 -1
- package/dist/src/db/agent-context-snapshots.js +12 -1
- package/dist/src/db/agent-context-snapshots.js.map +1 -1
- package/dist/src/db/agent-events.d.ts +24 -0
- package/dist/src/db/agent-events.d.ts.map +1 -1
- package/dist/src/db/agent-events.js +128 -11
- package/dist/src/db/agent-events.js.map +1 -1
- package/dist/src/db/agent-orchestrator-scopes.d.ts +15 -0
- package/dist/src/db/agent-orchestrator-scopes.d.ts.map +1 -1
- package/dist/src/db/agent-orchestrator-scopes.js +43 -0
- package/dist/src/db/agent-orchestrator-scopes.js.map +1 -1
- package/dist/src/db/agents.d.ts +5 -0
- package/dist/src/db/agents.d.ts.map +1 -1
- package/dist/src/db/agents.js +67 -11
- package/dist/src/db/agents.js.map +1 -1
- package/dist/src/db/schema.d.ts +146 -0
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +12 -1
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/observability/agent-context-service.d.ts +1 -0
- package/dist/src/observability/agent-context-service.d.ts.map +1 -1
- package/dist/src/observability/agent-context-service.js +12 -7
- package/dist/src/observability/agent-context-service.js.map +1 -1
- package/dist/src/observability/agent-index-service.d.ts +2 -0
- package/dist/src/observability/agent-index-service.d.ts.map +1 -1
- package/dist/src/observability/agent-index-service.js +116 -19
- package/dist/src/observability/agent-index-service.js.map +1 -1
- package/dist/src/observability/agent-orchestrator-service.d.ts.map +1 -1
- package/dist/src/observability/agent-orchestrator-service.js +74 -9
- package/dist/src/observability/agent-orchestrator-service.js.map +1 -1
- package/dist/src/observability/contracts.d.ts +16 -1
- package/dist/src/observability/contracts.d.ts.map +1 -1
- package/dist/src/observability/contracts.js.map +1 -1
- package/dist/src/observability/errors.d.ts +53 -0
- package/dist/src/observability/errors.d.ts.map +1 -0
- package/dist/src/observability/errors.js +30 -0
- package/dist/src/observability/errors.js.map +1 -0
- package/dist/src/observability/schemas.d.ts +7 -0
- package/dist/src/observability/schemas.d.ts.map +1 -1
- package/dist/src/observability/schemas.js +7 -0
- package/dist/src/observability/schemas.js.map +1 -1
- package/dist/src/observability/turn-completion.d.ts +45 -0
- package/dist/src/observability/turn-completion.d.ts.map +1 -0
- package/dist/src/observability/turn-completion.js +85 -0
- package/dist/src/observability/turn-completion.js.map +1 -0
- package/drizzle/0006_grok_home.sql +1 -0
- package/drizzle/0007_moaning_guardian.sql +10 -0
- package/drizzle/meta/0006_snapshot.json +686 -0
- package/drizzle/meta/0007_snapshot.json +762 -0
- package/drizzle/meta/_journal.json +57 -7
- package/package.json +2 -2
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { normalizeHerdrSessionSnapshot } from "../herdr/session-snapshot.js";
|
|
2
|
+
import { HerdrSocketClient } from "../herdr/socket-client.js";
|
|
3
|
+
export const RECONCILE_BATCH_LIMIT = 100;
|
|
4
|
+
export const RECONCILE_REASON = "PANE_NOT_PRESENT_RECONCILE";
|
|
5
|
+
export class AgentEventReconciler {
|
|
6
|
+
#events;
|
|
7
|
+
#scopes;
|
|
8
|
+
#sessionList;
|
|
9
|
+
#connectedTerminal;
|
|
10
|
+
#clientFactory;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.#events = options.events;
|
|
13
|
+
this.#scopes = options.scopes;
|
|
14
|
+
this.#sessionList = options.sessionList;
|
|
15
|
+
this.#clientFactory =
|
|
16
|
+
options.clientFactory ?? ((entry) => new HerdrSocketClient({ socketPath: entry.socketPath }));
|
|
17
|
+
this.#connectedTerminal = options.connectedTerminal ?? (() => true);
|
|
18
|
+
}
|
|
19
|
+
async reconcile(options = {}) {
|
|
20
|
+
let sessions;
|
|
21
|
+
try {
|
|
22
|
+
sessions = await this.#sessionList();
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.warn("Herdsman reconcile skipped: Herdr session list unavailable", error);
|
|
26
|
+
return { invalidated: 0, released: 0 };
|
|
27
|
+
}
|
|
28
|
+
const live = new Map();
|
|
29
|
+
const clients = [];
|
|
30
|
+
try {
|
|
31
|
+
for (const entry of sessions.filter((item) => item.running)) {
|
|
32
|
+
const client = this.#clientFactory(entry);
|
|
33
|
+
clients.push(client);
|
|
34
|
+
const snapshot = normalizeHerdrSessionSnapshot(await client.sessionSnapshot());
|
|
35
|
+
live.set(entry.name, snapshot.panes.flatMap((pane) => {
|
|
36
|
+
if (typeof pane !== "object" || pane === null)
|
|
37
|
+
return [];
|
|
38
|
+
const item = pane;
|
|
39
|
+
const paneId = stringValue(item.pane_id) ?? stringValue(item.paneId);
|
|
40
|
+
if (!paneId)
|
|
41
|
+
return [];
|
|
42
|
+
return [
|
|
43
|
+
{
|
|
44
|
+
paneId,
|
|
45
|
+
generation: stringValue(item.pane_generation) ?? stringValue(item.paneGeneration),
|
|
46
|
+
terminalId: stringValue(item.terminal_id) ?? stringValue(item.terminalId),
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
for (const client of clients)
|
|
54
|
+
client.close();
|
|
55
|
+
console.warn("Herdsman reconcile skipped: incomplete Herdr pane snapshot", error);
|
|
56
|
+
return { invalidated: 0, released: 0 };
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
for (const client of clients)
|
|
60
|
+
client.close();
|
|
61
|
+
}
|
|
62
|
+
let invalidated = 0;
|
|
63
|
+
let cursor = 0;
|
|
64
|
+
for (;;) {
|
|
65
|
+
const candidates = this.#events.listReconcileCandidates(RECONCILE_BATCH_LIMIT, cursor);
|
|
66
|
+
if (candidates.length === 0)
|
|
67
|
+
break;
|
|
68
|
+
for (const event of candidates) {
|
|
69
|
+
cursor = event.id;
|
|
70
|
+
const panes = live.get(event.herdrSessionName);
|
|
71
|
+
if (!panes)
|
|
72
|
+
continue;
|
|
73
|
+
const present = panes.some((pane) => pane.paneId === event.paneId &&
|
|
74
|
+
(event.paneGeneration === null || pane.generation === event.paneGeneration));
|
|
75
|
+
if (!present && this.#events.deleteReconcileCandidate(event.id))
|
|
76
|
+
invalidated += 1;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
invalidated += this.#events.deleteInvalidated();
|
|
80
|
+
let released = 0;
|
|
81
|
+
if (options.releaseStaleOwners !== false) {
|
|
82
|
+
for (const scope of this.#scopes.listOwnedScopes()) {
|
|
83
|
+
const panes = live.get(scope.herdrSessionName);
|
|
84
|
+
if (!panes)
|
|
85
|
+
continue;
|
|
86
|
+
if (this.#scopes.releaseIfStaleOwner({
|
|
87
|
+
herdrSessionName: scope.herdrSessionName,
|
|
88
|
+
workspaceId: scope.workspaceId,
|
|
89
|
+
livePaneIds: new Set(panes.map((pane) => pane.paneId)),
|
|
90
|
+
liveTerminalIds: new Set(panes.flatMap((pane) => pane.terminalId &&
|
|
91
|
+
this.#connectedTerminal({
|
|
92
|
+
herdrSessionName: scope.herdrSessionName,
|
|
93
|
+
terminalId: pane.terminalId,
|
|
94
|
+
})
|
|
95
|
+
? [pane.terminalId]
|
|
96
|
+
: [])),
|
|
97
|
+
})) {
|
|
98
|
+
released += 1;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
for (const scope of this.#scopes.listOwnedScopes()) {
|
|
103
|
+
if (scope.owner?.paneId) {
|
|
104
|
+
this.#events.ackSelfOwned({
|
|
105
|
+
herdrSessionName: scope.herdrSessionName,
|
|
106
|
+
workspaceId: scope.workspaceId,
|
|
107
|
+
paneId: scope.owner.paneId,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return { invalidated, released };
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function stringValue(value) {
|
|
115
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=agent-event-reconciler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":"client.d.ts","sourceRoot":"","sources":["../../../src/daemon/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/daemon/client.ts"],"names":[],"mappings":"AAWA,qBAAa,sBAAsB;;gBAMrB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAO3C,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAwC3D"}
|
|
@@ -34,7 +34,12 @@ export class ObservabilityRpcClient {
|
|
|
34
34
|
}
|
|
35
35
|
this.#pending.delete(String(response.id));
|
|
36
36
|
if (response.error) {
|
|
37
|
-
|
|
37
|
+
const error = new Error(response.error.message ?? "Observability RPC failed");
|
|
38
|
+
if (response.error.code !== undefined)
|
|
39
|
+
error.code = response.error.code;
|
|
40
|
+
if (response.error.retryable !== undefined)
|
|
41
|
+
error.retryable = response.error.retryable;
|
|
42
|
+
pending.reject(error);
|
|
38
43
|
}
|
|
39
44
|
else {
|
|
40
45
|
pending.resolve(response.result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/daemon/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/daemon/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,11 @@ import { type HerdrPaneIdentity } from "../herdr/pane-identity-resolver.js";
|
|
|
7
7
|
import type { AgentContextService } from "../observability/agent-context-service.js";
|
|
8
8
|
import type { AgentOrchestratorService } from "../observability/agent-orchestrator-service.js";
|
|
9
9
|
import type { AgentEventRecord, AgentIndexRecord, AgentScope, PiPresenceRegistration } from "../observability/contracts.js";
|
|
10
|
+
import { TurnCompletionRegistry } from "../observability/turn-completion.js";
|
|
10
11
|
export declare const DISCONNECT_GRACE_MS = 5000;
|
|
11
12
|
export declare const STARTUP_RECONNECT_GRACE_MS = 10000;
|
|
13
|
+
export declare const TERMINAL_HEARTBEAT_TIMEOUT_MS = 90000;
|
|
14
|
+
export declare const TERMINAL_HEARTBEAT_SCAN_INTERVAL_MS = 30000;
|
|
12
15
|
type AgentStores = {
|
|
13
16
|
agentEvents: AgentEventStore;
|
|
14
17
|
agents: AgentStore;
|
|
@@ -22,12 +25,17 @@ export type PiPresence = AgentScope & {
|
|
|
22
25
|
terminalId: string;
|
|
23
26
|
};
|
|
24
27
|
type TimerHandle = ReturnType<typeof setTimeout>;
|
|
28
|
+
type IntervalHandle = ReturnType<typeof setInterval>;
|
|
25
29
|
export declare class ObservabilityRpcServer {
|
|
26
30
|
#private;
|
|
27
31
|
constructor(options: {
|
|
32
|
+
clearInterval?: (handle: IntervalHandle) => void;
|
|
33
|
+
setInterval?: (callback: () => void, delay: number) => IntervalHandle;
|
|
28
34
|
clearTimeout?: (handle: TimerHandle) => void;
|
|
29
35
|
context: AgentContextService;
|
|
30
36
|
disconnectGraceMs?: number;
|
|
37
|
+
heartbeatScanIntervalMs?: number;
|
|
38
|
+
heartbeatTimeoutMs?: number;
|
|
31
39
|
history: AgentHistoryService;
|
|
32
40
|
now?: () => number;
|
|
33
41
|
orchestrator: AgentOrchestratorService;
|
|
@@ -45,7 +53,12 @@ export declare class ObservabilityRpcServer {
|
|
|
45
53
|
setTimeout?: (callback: () => void, delay: number) => TimerHandle;
|
|
46
54
|
socketPath: string;
|
|
47
55
|
startupReconnectGraceMs?: number;
|
|
56
|
+
connectedTerminal?: (input: {
|
|
57
|
+
herdrSessionName: string;
|
|
58
|
+
terminalId: string;
|
|
59
|
+
}) => boolean;
|
|
48
60
|
stores: AgentStores;
|
|
61
|
+
turnCompletions?: TurnCompletionRegistry;
|
|
49
62
|
});
|
|
50
63
|
start(): Promise<void>;
|
|
51
64
|
stop(): Promise<void>;
|
|
@@ -55,6 +68,11 @@ export declare class ObservabilityRpcServer {
|
|
|
55
68
|
agents: AgentIndexRecord[];
|
|
56
69
|
herdrSessionName: string;
|
|
57
70
|
}): void;
|
|
71
|
+
/** Authoritative live Pi connection registry; intentionally empty after daemon startup. */
|
|
72
|
+
isTerminalConnected(input: {
|
|
73
|
+
herdrSessionName: string;
|
|
74
|
+
terminalId: string;
|
|
75
|
+
}): boolean;
|
|
58
76
|
}
|
|
59
77
|
export {};
|
|
60
78
|
//# sourceMappingURL=observability-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability-server.d.ts","sourceRoot":"","sources":["../../../src/daemon/observability-server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,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,
|
|
1
|
+
{"version":3,"file":"observability-server.d.ts","sourceRoot":"","sources":["../../../src/daemon/observability-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,20 +2,32 @@ import { chmodSync, existsSync, unlinkSync } from "node:fs";
|
|
|
2
2
|
import { createServer } from "node:net";
|
|
3
3
|
import { Value } from "@sinclair/typebox/value";
|
|
4
4
|
import { resolveHerdrPaneIdentity, } from "../herdr/pane-identity-resolver.js";
|
|
5
|
-
import {
|
|
5
|
+
import { OrchestratorAckError } from "../observability/errors.js";
|
|
6
|
+
import { agentEventsInputSchema, agentGetInputSchema, agentListInputSchema, agentOrchestratorAckInputSchema, agentOrchestratorGetInputSchema, agentOrchestratorRegisterInputSchema, agentOrchestratorSetInputSchema, agentReadInputSchema, agentTurnCompletedInputSchema, } from "../observability/schemas.js";
|
|
7
|
+
import { TurnCompletionRegistry } from "../observability/turn-completion.js";
|
|
6
8
|
import { encodeJsonLine, JsonLineDecoder, JsonLineFrameTooLargeError, } from "../shared/json-lines.js";
|
|
7
9
|
export const DISCONNECT_GRACE_MS = 5_000;
|
|
8
10
|
export const STARTUP_RECONNECT_GRACE_MS = 10_000;
|
|
11
|
+
export const TERMINAL_HEARTBEAT_TIMEOUT_MS = 90_000;
|
|
12
|
+
export const TERMINAL_HEARTBEAT_SCAN_INTERVAL_MS = 30_000;
|
|
9
13
|
export class ObservabilityRpcServer {
|
|
14
|
+
#clearInterval;
|
|
15
|
+
#setInterval;
|
|
10
16
|
#clearTimeout;
|
|
11
17
|
#context;
|
|
12
18
|
#connectionOrderBySocket = new Map();
|
|
19
|
+
#publishedContextFingerprintByScope = new Map();
|
|
13
20
|
#disconnectGraceMs;
|
|
14
21
|
#disconnectTimers = new Map();
|
|
15
22
|
#history;
|
|
23
|
+
#heartbeatScanIntervalMs;
|
|
24
|
+
#heartbeatTimeoutMs;
|
|
25
|
+
#lastActivityByTerminal = new Map();
|
|
26
|
+
#heartbeatTimer;
|
|
16
27
|
#now;
|
|
17
28
|
#orchestrator;
|
|
18
29
|
#piPresenceBySocket = new Map();
|
|
30
|
+
#socketsByTerminal = new Map();
|
|
19
31
|
#registerPiSessionRef;
|
|
20
32
|
#resolvePaneIdentity;
|
|
21
33
|
#server;
|
|
@@ -25,12 +37,18 @@ export class ObservabilityRpcServer {
|
|
|
25
37
|
#startupReconnectGraceMs;
|
|
26
38
|
#startupTimers = new Map();
|
|
27
39
|
#stores;
|
|
40
|
+
#turnCompletions;
|
|
28
41
|
#connectionSequence = 0;
|
|
29
42
|
#stopping = false;
|
|
30
43
|
constructor(options) {
|
|
44
|
+
this.#clearInterval = options.clearInterval ?? clearInterval;
|
|
45
|
+
this.#setInterval = options.setInterval ?? setInterval;
|
|
31
46
|
this.#clearTimeout = options.clearTimeout ?? clearTimeout;
|
|
32
47
|
this.#context = options.context;
|
|
33
48
|
this.#disconnectGraceMs = options.disconnectGraceMs ?? DISCONNECT_GRACE_MS;
|
|
49
|
+
this.#heartbeatScanIntervalMs =
|
|
50
|
+
options.heartbeatScanIntervalMs ?? TERMINAL_HEARTBEAT_SCAN_INTERVAL_MS;
|
|
51
|
+
this.#heartbeatTimeoutMs = options.heartbeatTimeoutMs ?? TERMINAL_HEARTBEAT_TIMEOUT_MS;
|
|
34
52
|
this.#history = options.history;
|
|
35
53
|
this.#now = options.now ?? Date.now;
|
|
36
54
|
this.#orchestrator = options.orchestrator;
|
|
@@ -41,6 +59,7 @@ export class ObservabilityRpcServer {
|
|
|
41
59
|
this.#socketPath = options.socketPath;
|
|
42
60
|
this.#startupReconnectGraceMs = options.startupReconnectGraceMs ?? STARTUP_RECONNECT_GRACE_MS;
|
|
43
61
|
this.#stores = options.stores;
|
|
62
|
+
this.#turnCompletions = options.turnCompletions ?? new TurnCompletionRegistry();
|
|
44
63
|
this.#server = createServer((socket) => this.#handleConnection(socket));
|
|
45
64
|
}
|
|
46
65
|
async start() {
|
|
@@ -56,16 +75,22 @@ export class ObservabilityRpcServer {
|
|
|
56
75
|
resolve();
|
|
57
76
|
});
|
|
58
77
|
});
|
|
78
|
+
this.#heartbeatTimer = this.#setInterval(() => this.#scanHeartbeats(), this.#heartbeatScanIntervalMs);
|
|
59
79
|
this.#armStartupGrace();
|
|
60
80
|
}
|
|
61
81
|
async stop() {
|
|
62
82
|
this.#stopping = true;
|
|
83
|
+
if (this.#heartbeatTimer) {
|
|
84
|
+
this.#clearInterval(this.#heartbeatTimer);
|
|
85
|
+
this.#heartbeatTimer = undefined;
|
|
86
|
+
}
|
|
63
87
|
this.#clearGraceTimers(this.#disconnectTimers);
|
|
64
88
|
this.#clearGraceTimers(this.#startupTimers);
|
|
65
89
|
for (const socket of this.#sockets)
|
|
66
90
|
socket.destroy();
|
|
67
91
|
this.#sockets.clear();
|
|
68
92
|
this.#piPresenceBySocket.clear();
|
|
93
|
+
this.#socketsByTerminal.clear();
|
|
69
94
|
this.#connectionOrderBySocket.clear();
|
|
70
95
|
await new Promise((resolve, reject) => {
|
|
71
96
|
if (!this.#server.listening) {
|
|
@@ -88,6 +113,11 @@ export class ObservabilityRpcServer {
|
|
|
88
113
|
...scope,
|
|
89
114
|
excludeTerminalId: owner.terminalId,
|
|
90
115
|
});
|
|
116
|
+
const contextFingerprint = JSON.stringify(context);
|
|
117
|
+
const scopeKey = `${scope.herdrSessionName}\0${scope.workspaceId}`;
|
|
118
|
+
if (this.#publishedContextFingerprintByScope.get(scopeKey) === contextFingerprint)
|
|
119
|
+
return;
|
|
120
|
+
this.#publishedContextFingerprintByScope.set(scopeKey, contextFingerprint);
|
|
91
121
|
this.#write(socket, {
|
|
92
122
|
method: "agent.context.changed",
|
|
93
123
|
params: { context, herdrSessionName: scope.herdrSessionName, workspaceId: scope.workspaceId },
|
|
@@ -169,6 +199,7 @@ export class ObservabilityRpcServer {
|
|
|
169
199
|
socket.on("data", (chunk) => {
|
|
170
200
|
try {
|
|
171
201
|
for (const message of decoder.push(chunk.toString("utf8"))) {
|
|
202
|
+
this.#markTerminalActivity(socket);
|
|
172
203
|
void this.#handleRequest(socket, message);
|
|
173
204
|
}
|
|
174
205
|
}
|
|
@@ -191,7 +222,12 @@ export class ObservabilityRpcServer {
|
|
|
191
222
|
}
|
|
192
223
|
catch (error) {
|
|
193
224
|
this.#write(socket, {
|
|
194
|
-
error: {
|
|
225
|
+
error: {
|
|
226
|
+
...(error instanceof OrchestratorAckError
|
|
227
|
+
? { code: error.code, retryable: error.retryable }
|
|
228
|
+
: {}),
|
|
229
|
+
message: error instanceof Error ? error.message : String(error),
|
|
230
|
+
},
|
|
195
231
|
id: request.id,
|
|
196
232
|
});
|
|
197
233
|
}
|
|
@@ -235,7 +271,11 @@ export class ObservabilityRpcServer {
|
|
|
235
271
|
assertSchema(agentOrchestratorRegisterInputSchema, params);
|
|
236
272
|
const previous = this.#piPresenceBySocket.get(socket);
|
|
237
273
|
const presence = await this.#resolvePiPresence(params);
|
|
274
|
+
if (previous)
|
|
275
|
+
this.#unregisterTerminalSocket(socket, previous);
|
|
238
276
|
this.#piPresenceBySocket.set(socket, presence);
|
|
277
|
+
this.#registerTerminalSocket(socket, presence);
|
|
278
|
+
this.#lastActivityByTerminal.set(terminalPresenceKey(presence), this.#now());
|
|
239
279
|
this.#cancelGraceForTerminal(presence);
|
|
240
280
|
if (previous && terminalPresenceKey(previous) !== terminalPresenceKey(presence)) {
|
|
241
281
|
this.#scheduleDisconnect(previous);
|
|
@@ -288,6 +328,19 @@ export class ObservabilityRpcServer {
|
|
|
288
328
|
});
|
|
289
329
|
return { acknowledged: true, state: toWireState(state) };
|
|
290
330
|
}
|
|
331
|
+
case "agent.turn.completed": {
|
|
332
|
+
assertSchema(agentTurnCompletedInputSchema, params);
|
|
333
|
+
const presence = this.#requirePiPresence(socket);
|
|
334
|
+
const input = params;
|
|
335
|
+
this.#turnCompletions.record({
|
|
336
|
+
confirmed: input.confirmed,
|
|
337
|
+
herdrSessionName: presence.herdrSessionName,
|
|
338
|
+
paneId: presence.paneId,
|
|
339
|
+
terminalId: presence.terminalId,
|
|
340
|
+
workspaceId: input.workspaceId,
|
|
341
|
+
});
|
|
342
|
+
return { accepted: true };
|
|
343
|
+
}
|
|
291
344
|
default:
|
|
292
345
|
throw new Error(`Unknown method: ${method}`);
|
|
293
346
|
}
|
|
@@ -377,6 +430,10 @@ export class ObservabilityRpcServer {
|
|
|
377
430
|
this.#connectionOrderBySocket.delete(socket);
|
|
378
431
|
const presence = this.#piPresenceBySocket.get(socket);
|
|
379
432
|
this.#piPresenceBySocket.delete(socket);
|
|
433
|
+
if (presence)
|
|
434
|
+
this.#unregisterTerminalSocket(socket, presence);
|
|
435
|
+
// A socket that closes is no longer a trusted connected terminal. The
|
|
436
|
+
// grace timer remains only to tolerate a same-terminal reconnect.
|
|
380
437
|
if (!this.#stopping && presence)
|
|
381
438
|
this.#scheduleDisconnect(presence);
|
|
382
439
|
}
|
|
@@ -436,13 +493,45 @@ export class ObservabilityRpcServer {
|
|
|
436
493
|
this.#cancelTimer(this.#startupTimers, key);
|
|
437
494
|
}
|
|
438
495
|
#hasTerminalPresence(input) {
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
496
|
+
return (this.#socketsByTerminal.get(terminalPresenceKey(input))?.size ?? 0) > 0;
|
|
497
|
+
}
|
|
498
|
+
#registerTerminalSocket(socket, presence) {
|
|
499
|
+
const key = terminalPresenceKey(presence);
|
|
500
|
+
let sockets = this.#socketsByTerminal.get(key);
|
|
501
|
+
if (!sockets) {
|
|
502
|
+
sockets = new Set();
|
|
503
|
+
this.#socketsByTerminal.set(key, sockets);
|
|
444
504
|
}
|
|
445
|
-
|
|
505
|
+
sockets.add(socket);
|
|
506
|
+
}
|
|
507
|
+
#unregisterTerminalSocket(socket, presence) {
|
|
508
|
+
const key = terminalPresenceKey(presence);
|
|
509
|
+
const sockets = this.#socketsByTerminal.get(key);
|
|
510
|
+
sockets?.delete(socket);
|
|
511
|
+
if (sockets?.size === 0) {
|
|
512
|
+
this.#socketsByTerminal.delete(key);
|
|
513
|
+
this.#lastActivityByTerminal.delete(key);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
#markTerminalActivity(socket) {
|
|
517
|
+
const presence = this.#piPresenceBySocket.get(socket);
|
|
518
|
+
if (presence)
|
|
519
|
+
this.#lastActivityByTerminal.set(terminalPresenceKey(presence), this.#now());
|
|
520
|
+
}
|
|
521
|
+
#scanHeartbeats() {
|
|
522
|
+
if (this.#stopping)
|
|
523
|
+
return;
|
|
524
|
+
const cutoff = this.#now() - this.#heartbeatTimeoutMs;
|
|
525
|
+
for (const [key, lastActivity] of this.#lastActivityByTerminal) {
|
|
526
|
+
if (lastActivity >= cutoff)
|
|
527
|
+
continue;
|
|
528
|
+
for (const socket of this.#socketsByTerminal.get(key) ?? [])
|
|
529
|
+
socket.destroy();
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
/** Authoritative live Pi connection registry; intentionally empty after daemon startup. */
|
|
533
|
+
isTerminalConnected(input) {
|
|
534
|
+
return this.#hasTerminalPresence(input);
|
|
446
535
|
}
|
|
447
536
|
#cancelTimer(registry, key) {
|
|
448
537
|
const timer = registry.get(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability-server.js","sourceRoot":"","sources":["../../../src/daemon/observability-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observability-server.js","sourceRoot":"","sources":["../../../src/daemon/observability-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"AAwBA,wBAAsB,6BAA6B,CACjD,KAAK,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;CAAO,GAC1D,OAAO,CAAC,IAAI,CAAC,CA+Ff;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAahE"}
|
|
@@ -17,6 +17,8 @@ import { createHerdrSessionListRunner } from "../herdr/session-list.js";
|
|
|
17
17
|
import { AgentContextService } from "../observability/agent-context-service.js";
|
|
18
18
|
import { AgentIndexService } from "../observability/agent-index-service.js";
|
|
19
19
|
import { AgentOrchestratorService } from "../observability/agent-orchestrator-service.js";
|
|
20
|
+
import { TurnCompletionRegistry } from "../observability/turn-completion.js";
|
|
21
|
+
import { AgentEventReconciler } from "./agent-event-reconciler.js";
|
|
20
22
|
import { HerdrSessionWatchManager } from "./herdr-session-watch-manager.js";
|
|
21
23
|
import { ObservabilityRpcServer } from "./observability-server.js";
|
|
22
24
|
export async function runObservabilityDaemonService(input = {}) {
|
|
@@ -58,6 +60,7 @@ export async function runObservabilityDaemonService(input = {}) {
|
|
|
58
60
|
agents,
|
|
59
61
|
scopes: agentOrchestratorScopes,
|
|
60
62
|
});
|
|
63
|
+
const turnCompletions = new TurnCompletionRegistry();
|
|
61
64
|
const index = new AgentIndexService({
|
|
62
65
|
context: daemonServices.context,
|
|
63
66
|
stores: {
|
|
@@ -68,6 +71,14 @@ export async function runObservabilityDaemonService(input = {}) {
|
|
|
68
71
|
herdrSessions,
|
|
69
72
|
herdrWorkspaces,
|
|
70
73
|
},
|
|
74
|
+
turnCompletions,
|
|
75
|
+
});
|
|
76
|
+
let connectedTerminal = (_input) => false;
|
|
77
|
+
const reconciler = new AgentEventReconciler({
|
|
78
|
+
connectedTerminal: (input) => connectedTerminal(input),
|
|
79
|
+
events: agentEvents,
|
|
80
|
+
scopes: agentOrchestratorScopes,
|
|
81
|
+
sessionList: createHerdrSessionListRunner({ env: runtime.environment }),
|
|
71
82
|
});
|
|
72
83
|
const server = new ObservabilityRpcServer({
|
|
73
84
|
context: daemonServices.context,
|
|
@@ -76,7 +87,9 @@ export async function runObservabilityDaemonService(input = {}) {
|
|
|
76
87
|
registerPiSessionRef: (registration) => index.registerPiSessionRef(registration),
|
|
77
88
|
socketPath: runtime.paths.socketPath,
|
|
78
89
|
stores: { agentEvents, agents, herdrSessions, herdrWorkspaces },
|
|
90
|
+
turnCompletions,
|
|
79
91
|
});
|
|
92
|
+
connectedTerminal = (input) => server.isTerminalConnected(input);
|
|
80
93
|
const watchManager = new HerdrSessionWatchManager({
|
|
81
94
|
agents,
|
|
82
95
|
herdrSessions,
|
|
@@ -87,6 +100,7 @@ export async function runObservabilityDaemonService(input = {}) {
|
|
|
87
100
|
sessionList: createHerdrSessionListRunner({ env: runtime.environment }),
|
|
88
101
|
});
|
|
89
102
|
await server.start();
|
|
103
|
+
await reconciler.reconcile({ releaseStaleOwners: false });
|
|
90
104
|
await watchManager.start();
|
|
91
105
|
console.log(`Herdsman daemon listening on ${runtime.paths.socketPath}`);
|
|
92
106
|
const stop = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/daemon/service.ts"],"names":[],"mappings":"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"}
|