@dorokuma/herdsman 0.9.0 → 0.11.5
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/antigravity-proto.js +1 -1
- package/dist/src/agent-history/antigravity-proto.js.map +1 -1
- package/dist/src/agent-history/antigravity-reader.d.ts +13 -1
- package/dist/src/agent-history/antigravity-reader.d.ts.map +1 -1
- package/dist/src/agent-history/antigravity-reader.js +22 -1
- package/dist/src/agent-history/antigravity-reader.js.map +1 -1
- package/dist/src/agent-history/discovery.d.ts +8 -2
- package/dist/src/agent-history/discovery.d.ts.map +1 -1
- package/dist/src/agent-history/discovery.js +89 -9
- package/dist/src/agent-history/discovery.js.map +1 -1
- package/dist/src/agent-history/readers.d.ts +15 -1
- package/dist/src/agent-history/readers.d.ts.map +1 -1
- package/dist/src/agent-history/readers.js +77 -31
- package/dist/src/agent-history/readers.js.map +1 -1
- package/dist/src/agent-history/service.d.ts +4 -2
- package/dist/src/agent-history/service.d.ts.map +1 -1
- package/dist/src/agent-history/service.js +22 -22
- package/dist/src/agent-history/service.js.map +1 -1
- package/dist/src/agent-history/source-fingerprint.d.ts +7 -0
- package/dist/src/agent-history/source-fingerprint.d.ts.map +1 -0
- package/dist/src/agent-history/source-fingerprint.js +26 -0
- package/dist/src/agent-history/source-fingerprint.js.map +1 -0
- package/dist/src/agent-history/text.d.ts.map +1 -1
- package/dist/src/agent-history/text.js +5 -0
- package/dist/src/agent-history/text.js.map +1 -1
- package/dist/src/cli/herdsman.d.ts.map +1 -1
- package/dist/src/cli/herdsman.js +31 -9
- package/dist/src/cli/herdsman.js.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.d.ts +25 -4
- package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.js +84 -6
- package/dist/src/daemon/agent-event-reconciler.js.map +1 -1
- package/dist/src/daemon/herdr-session-watch-manager.d.ts +1 -0
- package/dist/src/daemon/herdr-session-watch-manager.d.ts.map +1 -1
- package/dist/src/daemon/herdr-session-watch-manager.js +176 -55
- package/dist/src/daemon/herdr-session-watch-manager.js.map +1 -1
- package/dist/src/daemon/observability-server.d.ts +3 -0
- package/dist/src/daemon/observability-server.d.ts.map +1 -1
- package/dist/src/daemon/observability-server.js +73 -24
- package/dist/src/daemon/observability-server.js.map +1 -1
- package/dist/src/daemon/process-manager.d.ts +41 -2
- package/dist/src/daemon/process-manager.d.ts.map +1 -1
- package/dist/src/daemon/process-manager.js +340 -19
- package/dist/src/daemon/process-manager.js.map +1 -1
- package/dist/src/daemon/service.d.ts +46 -0
- package/dist/src/daemon/service.d.ts.map +1 -1
- package/dist/src/daemon/service.js +172 -12
- package/dist/src/daemon/service.js.map +1 -1
- package/dist/src/db/agent-events.d.ts +34 -1
- package/dist/src/db/agent-events.d.ts.map +1 -1
- package/dist/src/db/agent-events.js +168 -28
- 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/agent-orchestrator-scopes.d.ts +8 -0
- package/dist/src/db/agent-orchestrator-scopes.d.ts.map +1 -1
- package/dist/src/db/agent-orchestrator-scopes.js +13 -0
- package/dist/src/db/agent-orchestrator-scopes.js.map +1 -1
- package/dist/src/db/agents.d.ts +44 -0
- package/dist/src/db/agents.d.ts.map +1 -1
- package/dist/src/db/agents.js +91 -5
- package/dist/src/db/agents.js.map +1 -1
- package/dist/src/db/client.d.ts +1 -0
- package/dist/src/db/client.d.ts.map +1 -1
- package/dist/src/db/client.js +12 -0
- package/dist/src/db/client.js.map +1 -1
- package/dist/src/db/schema.d.ts +391 -0
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +34 -0
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/db/status-event-plans.d.ts +62 -0
- package/dist/src/db/status-event-plans.d.ts.map +1 -0
- package/dist/src/db/status-event-plans.js +147 -0
- package/dist/src/db/status-event-plans.js.map +1 -0
- package/dist/src/herdr/pane-identity-resolver.d.ts +4 -0
- package/dist/src/herdr/pane-identity-resolver.d.ts.map +1 -1
- package/dist/src/herdr/pane-identity-resolver.js +13 -1
- package/dist/src/herdr/pane-identity-resolver.js.map +1 -1
- package/dist/src/herdr/socket-client.d.ts +2 -0
- package/dist/src/herdr/socket-client.d.ts.map +1 -1
- package/dist/src/herdr/socket-client.js +64 -20
- package/dist/src/herdr/socket-client.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 +85 -21
- package/dist/src/observability/agent-context-service.js.map +1 -1
- package/dist/src/observability/agent-index-service.d.ts +47 -2
- package/dist/src/observability/agent-index-service.d.ts.map +1 -1
- package/dist/src/observability/agent-index-service.js +1125 -115
- 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 +34 -12
- package/dist/src/observability/agent-orchestrator-service.js.map +1 -1
- package/dist/src/observability/contracts.d.ts +2 -1
- package/dist/src/observability/contracts.d.ts.map +1 -1
- package/dist/src/observability/contracts.js.map +1 -1
- package/dist/src/observability/interactive-pi.d.ts +1 -1
- package/dist/src/observability/interactive-pi.d.ts.map +1 -1
- package/dist/src/observability/interactive-pi.js +1 -1
- package/dist/src/observability/interactive-pi.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/dist/src/observability/turn-completion.d.ts +2 -1
- package/dist/src/observability/turn-completion.d.ts.map +1 -1
- package/dist/src/observability/turn-completion.js +10 -1
- package/dist/src/observability/turn-completion.js.map +1 -1
- package/dist/src/shared/unix-peercred.d.ts +14 -0
- package/dist/src/shared/unix-peercred.d.ts.map +1 -0
- package/dist/src/shared/unix-peercred.js +144 -0
- package/dist/src/shared/unix-peercred.js.map +1 -0
- package/drizzle/0008_pane_tombstones.sql +9 -0
- package/drizzle/0009_high_lake.sql +24 -0
- package/drizzle/meta/0008_snapshot.json +823 -0
- package/drizzle/meta/0009_snapshot.json +975 -0
- package/drizzle/meta/_journal.json +14 -0
- package/package.json +24 -22
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.
|
|
111
|
+
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.11.5 --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.
|
|
118
|
+
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.11.5 --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
|
|
@@ -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":"AAOA,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE;QACpC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACV,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACV,CAAC,EAAE,EAAE,CAAC,CAAC;KACR,CAAC,CAAC;IACH,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,EAAE;QACzC,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,CAAC,EAAE,EAAE,CAAC,CAAC;
|
|
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<
|
|
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
|
|
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
|
-
|
|
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,6 +1,7 @@
|
|
|
1
1
|
import type { AgentHistoryRef, AgentSessionRef } from "../observability/contracts.js";
|
|
2
|
-
export declare const ALLOWED_SESSION_ROOTS: readonly ["/tmp/
|
|
3
|
-
export declare const DISCOVERY_RECENCY_GRACE_MS
|
|
2
|
+
export declare const ALLOWED_SESSION_ROOTS: readonly ["/tmp/herdr-role-sessions"];
|
|
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;
|
|
@@ -8,10 +9,15 @@ export type AgentHistoryLookupInput = {
|
|
|
8
9
|
foregroundCwd: string | null;
|
|
9
10
|
firstSeenAtMs?: number;
|
|
10
11
|
grokHome?: string;
|
|
12
|
+
herdrSessionName?: string;
|
|
11
13
|
homeDir?: string;
|
|
12
14
|
occupiedSessionPaths?: ReadonlySet<string>;
|
|
15
|
+
terminalTitle?: string | null;
|
|
13
16
|
};
|
|
14
17
|
export declare function discoverAgentHistory(input: AgentHistoryLookupInput): Promise<AgentHistoryRef | null>;
|
|
15
18
|
export declare function historySourceFromSessionRef(ref: AgentSessionRef): AgentHistoryRef["source"];
|
|
16
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;
|
|
17
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,11 +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
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
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.
|
|
14
|
+
// Dispatched Pi role sessions live under /tmp/herdr-role-sessions/<herdr-session>/.
|
|
15
|
+
// Exact-path registration may resolve any file under this root; fallback/id scans
|
|
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).
|
|
19
|
+
export const ALLOWED_SESSION_ROOTS = ["/tmp/herdr-role-sessions"];
|
|
20
|
+
export const DISCOVERY_RECENCY_GRACE_MS = 30_000;
|
|
21
|
+
export const FALLBACK_DISCOVERY_RECENCY_GRACE_MS = 10 * 60_000;
|
|
15
22
|
export async function discoverAgentHistory(input) {
|
|
16
23
|
if (input.agentSession?.kind === "path") {
|
|
17
24
|
const resolved = safeAllowedSessionPath(input.agentSession.value, input.homeDir);
|
|
@@ -47,7 +54,7 @@ export async function discoverAgentHistory(input) {
|
|
|
47
54
|
return { ...ref, kind: "agent_session" };
|
|
48
55
|
}
|
|
49
56
|
if (source === "pi-jsonl") {
|
|
50
|
-
const roots = new Set(
|
|
57
|
+
const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName, roleDirectoryHint(input)));
|
|
51
58
|
for (const root of roots) {
|
|
52
59
|
const matches = await scanRootById(root, input.agentSession.value, source);
|
|
53
60
|
const candidate = matches.find((item) => !input.occupiedSessionPaths?.has(item.path));
|
|
@@ -69,8 +76,9 @@ export async function discoverAgentHistory(input) {
|
|
|
69
76
|
}
|
|
70
77
|
const agent = input.agent?.toLowerCase() ?? input.agentSession?.agent.toLowerCase() ?? "";
|
|
71
78
|
const candidates = [];
|
|
79
|
+
const roleHint = roleDirectoryHint(input);
|
|
72
80
|
if (agent === "pi") {
|
|
73
|
-
const roots = new Set(
|
|
81
|
+
const roots = new Set(piJsonlScanRoots(homeDir, input.herdrSessionName, roleHint));
|
|
74
82
|
for (const root of roots) {
|
|
75
83
|
candidates.push(...(await scanRoot(root, "pi-jsonl")));
|
|
76
84
|
}
|
|
@@ -106,8 +114,9 @@ export async function discoverAgentHistory(input) {
|
|
|
106
114
|
const ranked = candidates
|
|
107
115
|
.filter((candidate) => normalizedCwd !== null && normalizeCwd(candidate.cwd) === normalizedCwd)
|
|
108
116
|
.filter((candidate) => !input.occupiedSessionPaths?.has(candidate.path))
|
|
117
|
+
.filter((candidate) => matchesRoleDirectory(candidate.path, roleHint))
|
|
109
118
|
.filter((candidate) => input.firstSeenAtMs === undefined ||
|
|
110
|
-
candidate.mtimeMs >= input.firstSeenAtMs -
|
|
119
|
+
candidate.mtimeMs >= input.firstSeenAtMs - discoveryRecencyGraceMs(input))
|
|
111
120
|
.sort((a, b) => {
|
|
112
121
|
if (a.mtimeMs !== b.mtimeMs)
|
|
113
122
|
return b.mtimeMs - a.mtimeMs;
|
|
@@ -166,6 +175,77 @@ export function safeAllowedSessionPath(value, homeDir) {
|
|
|
166
175
|
}
|
|
167
176
|
}
|
|
168
177
|
const CURRENT_EUID = process.geteuid?.() ?? -1;
|
|
178
|
+
function isSafeHerdrSessionSegment(name) {
|
|
179
|
+
return name.length > 0 && name !== "." && name !== ".." && !/[\\/\0]/.test(name);
|
|
180
|
+
}
|
|
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
|
+
}
|
|
228
|
+
if (herdrSessionName === undefined || !isSafeHerdrSessionSegment(herdrSessionName)) {
|
|
229
|
+
return roots;
|
|
230
|
+
}
|
|
231
|
+
for (const allowed of ALLOWED_SESSION_ROOTS) {
|
|
232
|
+
const scoped = normalize(join(allowed, herdrSessionName));
|
|
233
|
+
const rest = relative(allowed, scoped);
|
|
234
|
+
if (rest === "" || rest.startsWith("..") || isAbsolute(rest))
|
|
235
|
+
continue;
|
|
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
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return roots;
|
|
248
|
+
}
|
|
169
249
|
async function scanRootById(root, id, source) {
|
|
170
250
|
if (!existsSync(root))
|
|
171
251
|
return [];
|
|
@@ -376,7 +456,7 @@ function safeConversationDb(path, sessionId) {
|
|
|
376
456
|
return false;
|
|
377
457
|
try {
|
|
378
458
|
const stats = lstatSync(path);
|
|
379
|
-
return stats.isFile() && (stats.mode &
|
|
459
|
+
return stats.isFile() && (stats.mode & 0o022) === 0;
|
|
380
460
|
}
|
|
381
461
|
catch {
|
|
382
462
|
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
|
|
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":"
|
|
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 {
|
|
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
|
|
12
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
63
|
-
|
|
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
|