@monotykamary/localterm-server 2.66.8 → 2.66.9
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/dist/agent-git-status.d.ts +3 -0
- package/dist/agent-git-status.d.ts.map +1 -0
- package/dist/agent-git-status.js +46 -0
- package/dist/agent-git-status.js.map +1 -0
- package/dist/agent-log-utils.d.ts +18 -0
- package/dist/agent-log-utils.d.ts.map +1 -0
- package/dist/agent-log-utils.js +123 -0
- package/dist/agent-log-utils.js.map +1 -0
- package/dist/agent-models.d.ts +4 -0
- package/dist/agent-models.d.ts.map +1 -0
- package/dist/agent-models.js +100 -0
- package/dist/agent-models.js.map +1 -0
- package/dist/agent-runner.d.ts +3 -5
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +8 -522
- package/dist/agent-runner.js.map +1 -1
- package/dist/agent-session-reader.d.ts +3 -0
- package/dist/agent-session-reader.d.ts.map +1 -0
- package/dist/agent-session-reader.js +113 -0
- package/dist/agent-session-reader.js.map +1 -0
- package/dist/build-pty-environment.d.ts +8 -0
- package/dist/build-pty-environment.d.ts.map +1 -0
- package/dist/build-pty-environment.js +44 -0
- package/dist/build-pty-environment.js.map +1 -0
- package/dist/caffeinate-automatic-detector.d.ts +57 -0
- package/dist/caffeinate-automatic-detector.d.ts.map +1 -0
- package/dist/caffeinate-automatic-detector.js +275 -0
- package/dist/caffeinate-automatic-detector.js.map +1 -0
- package/dist/caffeinate-battery-guard.d.ts +35 -0
- package/dist/caffeinate-battery-guard.d.ts.map +1 -0
- package/dist/caffeinate-battery-guard.js +190 -0
- package/dist/caffeinate-battery-guard.js.map +1 -0
- package/dist/caffeinate-manager.d.ts +5 -31
- package/dist/caffeinate-manager.d.ts.map +1 -1
- package/dist/caffeinate-manager.js +55 -400
- package/dist/caffeinate-manager.js.map +1 -1
- package/dist/cdp/cdp-client.d.ts +4 -70
- package/dist/cdp/cdp-client.d.ts.map +1 -1
- package/dist/cdp/cdp-client.js +58 -418
- package/dist/cdp/cdp-client.js.map +1 -1
- package/dist/cdp/cdp-connection.d.ts +72 -0
- package/dist/cdp/cdp-connection.d.ts.map +1 -0
- package/dist/cdp/cdp-connection.js +272 -0
- package/dist/cdp/cdp-connection.js.map +1 -0
- package/dist/cdp/constants.d.ts +6 -0
- package/dist/cdp/constants.d.ts.map +1 -0
- package/dist/cdp/constants.js +9 -0
- package/dist/cdp/constants.js.map +1 -0
- package/dist/cdp/target-registry.d.ts +41 -0
- package/dist/cdp/target-registry.d.ts.map +1 -0
- package/dist/cdp/target-registry.js +118 -0
- package/dist/cdp/target-registry.js.map +1 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/git-branch-metadata.d.ts +11 -0
- package/dist/git-branch-metadata.d.ts.map +1 -0
- package/dist/git-branch-metadata.js +85 -0
- package/dist/git-branch-metadata.js.map +1 -0
- package/dist/git-diff-cache.d.ts +13 -0
- package/dist/git-diff-cache.d.ts.map +1 -0
- package/dist/git-diff-cache.js +32 -0
- package/dist/git-diff-cache.js.map +1 -0
- package/dist/git-diff-parser.d.ts +15 -0
- package/dist/git-diff-parser.d.ts.map +1 -0
- package/dist/git-diff-parser.js +196 -0
- package/dist/git-diff-parser.js.map +1 -0
- package/dist/git-diff-service.d.ts +10 -0
- package/dist/git-diff-service.d.ts.map +1 -0
- package/dist/git-diff-service.js +395 -0
- package/dist/git-diff-service.js.map +1 -0
- package/dist/git-diff.d.ts +8 -41
- package/dist/git-diff.d.ts.map +1 -1
- package/dist/git-diff.js +5 -944
- package/dist/git-diff.js.map +1 -1
- package/dist/github-pr.d.ts +32 -0
- package/dist/github-pr.d.ts.map +1 -0
- package/dist/github-pr.js +266 -0
- package/dist/github-pr.js.map +1 -0
- package/dist/pi-binary-resolver.d.ts +6 -0
- package/dist/pi-binary-resolver.d.ts.map +1 -0
- package/dist/pi-binary-resolver.js +70 -0
- package/dist/pi-binary-resolver.js.map +1 -0
- package/dist/pi-rpc-client.d.ts +14 -0
- package/dist/pi-rpc-client.d.ts.map +1 -0
- package/dist/pi-rpc-client.js +87 -0
- package/dist/pi-rpc-client.js.map +1 -0
- package/dist/session-client-hub.d.ts +57 -0
- package/dist/session-client-hub.d.ts.map +1 -0
- package/dist/session-client-hub.js +435 -0
- package/dist/session-client-hub.js.map +1 -0
- package/dist/session-command-executor.d.ts +14 -0
- package/dist/session-command-executor.d.ts.map +1 -0
- package/dist/session-command-executor.js +207 -0
- package/dist/session-command-executor.js.map +1 -0
- package/dist/session-git-event-bridge.d.ts +16 -0
- package/dist/session-git-event-bridge.d.ts.map +1 -0
- package/dist/session-git-event-bridge.js +56 -0
- package/dist/session-git-event-bridge.js.map +1 -0
- package/dist/session-lifecycle-policy.d.ts +15 -0
- package/dist/session-lifecycle-policy.d.ts.map +1 -0
- package/dist/session-lifecycle-policy.js +105 -0
- package/dist/session-lifecycle-policy.js.map +1 -0
- package/dist/session-manager.d.ts +11 -42
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +72 -987
- package/dist/session-manager.js.map +1 -1
- package/dist/session-output-coordinator.d.ts +21 -0
- package/dist/session-output-coordinator.d.ts.map +1 -0
- package/dist/session-output-coordinator.js +134 -0
- package/dist/session-output-coordinator.js.map +1 -0
- package/dist/session-output-transport.d.ts +22 -0
- package/dist/session-output-transport.d.ts.map +1 -0
- package/dist/session-output-transport.js +160 -0
- package/dist/session-output-transport.js.map +1 -0
- package/dist/session.d.ts +0 -4
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +11 -258
- package/dist/session.js.map +1 -1
- package/dist/shell-hook-builder.d.ts +16 -0
- package/dist/shell-hook-builder.d.ts.map +1 -0
- package/dist/shell-hook-builder.js +230 -0
- package/dist/shell-hook-builder.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-git-status.d.ts","sourceRoot":"","sources":["../src/agent-git-status.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,GAAG,CAAC,MAAM,CAWpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAY,GAAG,CAAC,MAAM,CAAC,OAAO,MAAM,KAAG,MAAM,EAO5E,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { MAX_AUTOMATION_CHANGED_FILES } from "./constants.js";
|
|
3
|
+
const parseGitStatus = (output) => {
|
|
4
|
+
const set = new Set();
|
|
5
|
+
for (const line of output.split("\n")) {
|
|
6
|
+
if (line.length < 3)
|
|
7
|
+
continue;
|
|
8
|
+
let filePath = line.slice(3);
|
|
9
|
+
const arrow = filePath.indexOf(" -> ");
|
|
10
|
+
if (arrow !== -1)
|
|
11
|
+
filePath = filePath.slice(arrow + 4);
|
|
12
|
+
if (filePath.startsWith('"') && filePath.endsWith('"')) {
|
|
13
|
+
filePath = filePath.slice(1, -1);
|
|
14
|
+
}
|
|
15
|
+
if (filePath.length > 0)
|
|
16
|
+
set.add(filePath);
|
|
17
|
+
}
|
|
18
|
+
return set;
|
|
19
|
+
};
|
|
20
|
+
export const gitStatusSet = (cwd) => {
|
|
21
|
+
try {
|
|
22
|
+
const result = spawnSync("git", ["-C", cwd, "status", "--porcelain"], {
|
|
23
|
+
encoding: "utf8",
|
|
24
|
+
timeout: 5000,
|
|
25
|
+
});
|
|
26
|
+
if (result.error || result.status !== 0)
|
|
27
|
+
return new Set();
|
|
28
|
+
return parseGitStatus(result.stdout);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return new Set();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
export const computeChangedFiles = (before, cwd) => {
|
|
35
|
+
const after = gitStatusSet(cwd);
|
|
36
|
+
const changed = [];
|
|
37
|
+
for (const filePath of after)
|
|
38
|
+
if (!before.has(filePath))
|
|
39
|
+
changed.push(filePath);
|
|
40
|
+
for (const filePath of before)
|
|
41
|
+
if (!after.has(filePath))
|
|
42
|
+
changed.push(filePath);
|
|
43
|
+
changed.sort();
|
|
44
|
+
return changed.slice(0, MAX_AUTOMATION_CHANGED_FILES);
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=agent-git-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-git-status.js","sourceRoot":"","sources":["../src/agent-git-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,cAAc,GAAG,CAAC,MAAc,EAAe,EAAE;IACrD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAe,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE;YACpE,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC1D,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAE,GAAW,EAAY,EAAE;IAChF,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK;QAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,KAAK,MAAM,QAAQ,IAAI,MAAM;QAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentLogEntry } from "./types.js";
|
|
2
|
+
export declare const truncateFindings: (raw: string) => string | null;
|
|
3
|
+
export declare const truncateLog: (raw: string) => string | null;
|
|
4
|
+
export declare const extractAssistantText: (message: {
|
|
5
|
+
content?: unknown;
|
|
6
|
+
} | null) => string;
|
|
7
|
+
export declare const extractAssistantThinking: (message: {
|
|
8
|
+
content?: unknown;
|
|
9
|
+
} | null) => string;
|
|
10
|
+
export declare const formatToolInput: (args: unknown) => string;
|
|
11
|
+
export declare const truncateToolInput: (raw: string) => string;
|
|
12
|
+
export declare const capSessionToolResult: (raw: string) => string;
|
|
13
|
+
export declare const truncateToolResult: (raw: string) => string;
|
|
14
|
+
export declare const capLogEntries: (entries: AgentLogEntry[]) => AgentLogEntry[];
|
|
15
|
+
export declare const extractToolResultText: (part: {
|
|
16
|
+
content?: unknown;
|
|
17
|
+
}) => string;
|
|
18
|
+
//# sourceMappingURL=agent-log-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-log-utils.d.ts","sourceRoot":"","sources":["../src/agent-log-utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAahD,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,MAAM,GAAG,IACmB,CAAC;AAE5E,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAAM,GAAG,IACc,CAAC;AAElE,eAAO,MAAM,oBAAoB,YAAa;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,KAAG,MAS5E,CAAC;AAIF,eAAO,MAAM,wBAAwB,YAAa;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,KAAG,MAShF,CAAC;AASF,eAAO,MAAM,eAAe,SAAU,OAAO,KAAG,MAgB/C,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,MAMvC,CAAC;AAKV,eAAO,MAAM,oBAAoB,QAAS,MAAM,KAAG,MAQlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,KAAG,MAMxC,CAAC;AAaV,eAAO,MAAM,aAAa,YAAa,aAAa,EAAE,KAAG,aAAa,EAWrE,CAAC;AAIF,eAAO,MAAM,qBAAqB,SAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,MAanE,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { AUTOMATION_SESSION_TOOL_MAX_BYTES, AUTOMATION_SESSION_TOOL_MAX_LINES, MAX_AUTOMATION_FINDINGS_LENGTH, MAX_AUTOMATION_LOG_ENTRIES, MAX_AUTOMATION_LOG_LENGTH, MAX_AUTOMATION_TOOL_INPUT_LENGTH, MAX_AUTOMATION_TOOL_RESULT_LENGTH, } from "./constants.js";
|
|
2
|
+
const FINDINGS_TRUNCATION_MARKER = "\n…[truncated]";
|
|
3
|
+
const LOG_TRUNCATION_MARKER = "\n…[log truncated]";
|
|
4
|
+
const truncate = (raw, max, marker) => {
|
|
5
|
+
if (raw.length === 0)
|
|
6
|
+
return null;
|
|
7
|
+
// Slice below `max` by the marker length so the result (text + marker) fits
|
|
8
|
+
// the schema's `.max(max)` — otherwise the stored value exceeds the cap and
|
|
9
|
+
// the file fails to load next time.
|
|
10
|
+
return raw.length > max ? raw.slice(0, Math.max(0, max - marker.length)) + marker : raw;
|
|
11
|
+
};
|
|
12
|
+
export const truncateFindings = (raw) => truncate(raw, MAX_AUTOMATION_FINDINGS_LENGTH, FINDINGS_TRUNCATION_MARKER);
|
|
13
|
+
export const truncateLog = (raw) => truncate(raw, MAX_AUTOMATION_LOG_LENGTH, LOG_TRUNCATION_MARKER);
|
|
14
|
+
export const extractAssistantText = (message) => {
|
|
15
|
+
if (!message || !Array.isArray(message.content))
|
|
16
|
+
return "";
|
|
17
|
+
return message.content
|
|
18
|
+
.filter((block) => {
|
|
19
|
+
const blockType = block?.type;
|
|
20
|
+
return blockType === "text";
|
|
21
|
+
})
|
|
22
|
+
.map((block) => block.text)
|
|
23
|
+
.join("");
|
|
24
|
+
};
|
|
25
|
+
// The assistant's reasoning blocks, concatenated. Hidden by default in the UI
|
|
26
|
+
// (behind a "show thinking" toggle) since it's noisy but sometimes useful.
|
|
27
|
+
export const extractAssistantThinking = (message) => {
|
|
28
|
+
if (!message || !Array.isArray(message.content))
|
|
29
|
+
return "";
|
|
30
|
+
return message.content
|
|
31
|
+
.filter((block) => {
|
|
32
|
+
const blockType = block?.type;
|
|
33
|
+
return blockType === "thinking";
|
|
34
|
+
})
|
|
35
|
+
.map((block) => block.thinking)
|
|
36
|
+
.join("");
|
|
37
|
+
};
|
|
38
|
+
const TOOL_RESULT_TRUNCATION_MARKER = "…[truncated]";
|
|
39
|
+
const TOOL_INPUT_TRUNCATION_MARKER = "…";
|
|
40
|
+
const SESSION_TOOL_TRUNCATION_MARKER = "\n…[output truncated]";
|
|
41
|
+
// Format a tool call's arguments as a short header string (the path a read
|
|
42
|
+
// took, the command bash ran, the pattern grep searched). Mirrors pi's per-tool
|
|
43
|
+
// render (read shows the path, bash the command) with a generic fallback.
|
|
44
|
+
export const formatToolInput = (args) => {
|
|
45
|
+
if (!args || typeof args !== "object")
|
|
46
|
+
return "";
|
|
47
|
+
const record = args;
|
|
48
|
+
const command = record.command;
|
|
49
|
+
if (typeof command === "string")
|
|
50
|
+
return command;
|
|
51
|
+
const filePath = record.file_path ?? record.path;
|
|
52
|
+
const pattern = record.pattern;
|
|
53
|
+
if (typeof pattern === "string")
|
|
54
|
+
return typeof filePath === "string" ? `${pattern} · ${filePath}` : pattern;
|
|
55
|
+
if (typeof filePath === "string")
|
|
56
|
+
return filePath;
|
|
57
|
+
try {
|
|
58
|
+
const json = JSON.stringify(args);
|
|
59
|
+
return json === "{}" ? "" : json;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return "";
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
export const truncateToolInput = (raw) => raw.length > MAX_AUTOMATION_TOOL_INPUT_LENGTH
|
|
66
|
+
? raw.slice(0, Math.max(0, MAX_AUTOMATION_TOOL_INPUT_LENGTH - TOOL_INPUT_TRUNCATION_MARKER.length)) + TOOL_INPUT_TRUNCATION_MARKER
|
|
67
|
+
: raw;
|
|
68
|
+
// Safety-net cap for a session-transcript tool result, matching pi core's
|
|
69
|
+
// tool-output truncation (2000 lines or 50 KB, head kept). The session file is
|
|
70
|
+
// already pi-truncated, so this rarely fires.
|
|
71
|
+
export const capSessionToolResult = (raw) => {
|
|
72
|
+
const lines = raw.split("\n");
|
|
73
|
+
let out = raw;
|
|
74
|
+
if (lines.length > AUTOMATION_SESSION_TOOL_MAX_LINES)
|
|
75
|
+
out = lines.slice(0, AUTOMATION_SESSION_TOOL_MAX_LINES).join("\n");
|
|
76
|
+
if (out.length > AUTOMATION_SESSION_TOOL_MAX_BYTES)
|
|
77
|
+
out = out.slice(0, AUTOMATION_SESSION_TOOL_MAX_BYTES);
|
|
78
|
+
return out === raw ? raw : out + SESSION_TOOL_TRUNCATION_MARKER;
|
|
79
|
+
};
|
|
80
|
+
export const truncateToolResult = (raw) => raw.length > MAX_AUTOMATION_TOOL_RESULT_LENGTH
|
|
81
|
+
? raw.slice(0, Math.max(0, MAX_AUTOMATION_TOOL_RESULT_LENGTH - TOOL_RESULT_TRUNCATION_MARKER.length)) + TOOL_RESULT_TRUNCATION_MARKER
|
|
82
|
+
: raw;
|
|
83
|
+
const entrySize = (entry) => {
|
|
84
|
+
let size = entry.text.length;
|
|
85
|
+
if (entry.type === "assistant" && entry.thinking)
|
|
86
|
+
size += entry.thinking.length;
|
|
87
|
+
if (entry.type === "tool")
|
|
88
|
+
size += entry.name.length;
|
|
89
|
+
return size;
|
|
90
|
+
};
|
|
91
|
+
// Bound the structured log: cap the entry count, then drop oldest entries
|
|
92
|
+
// until the total is under the byte cap (keeps the recent turns, which hold
|
|
93
|
+
// the final answer). User/assistant text is kept full per entry; only the
|
|
94
|
+
// total is bounded for storage.
|
|
95
|
+
export const capLogEntries = (entries) => {
|
|
96
|
+
let trimmed = entries.length > MAX_AUTOMATION_LOG_ENTRIES
|
|
97
|
+
? entries.slice(entries.length - MAX_AUTOMATION_LOG_ENTRIES)
|
|
98
|
+
: entries;
|
|
99
|
+
let total = trimmed.reduce((sum, entry) => sum + entrySize(entry), 0);
|
|
100
|
+
while (total > MAX_AUTOMATION_LOG_LENGTH && trimmed.length > 1) {
|
|
101
|
+
total -= entrySize(trimmed[0]);
|
|
102
|
+
trimmed = trimmed.slice(1);
|
|
103
|
+
}
|
|
104
|
+
return trimmed;
|
|
105
|
+
};
|
|
106
|
+
// Extract the text of a tool_result content block: it's either a plain string
|
|
107
|
+
// or an array of content blocks (Anthropic's tool_result.content shape).
|
|
108
|
+
export const extractToolResultText = (part) => {
|
|
109
|
+
const content = part.content;
|
|
110
|
+
if (typeof content === "string")
|
|
111
|
+
return content;
|
|
112
|
+
if (Array.isArray(content)) {
|
|
113
|
+
return content
|
|
114
|
+
.filter((block) => {
|
|
115
|
+
const blockType = block?.type;
|
|
116
|
+
return blockType === "text";
|
|
117
|
+
})
|
|
118
|
+
.map((block) => block.text)
|
|
119
|
+
.join("");
|
|
120
|
+
}
|
|
121
|
+
return "";
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=agent-log-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-log-utils.js","sourceRoot":"","sources":["../src/agent-log-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-models.d.ts","sourceRoot":"","sources":["../src/agent-models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4FjD,eAAO,MAAM,eAAe,aAChB,MAAM,iBACD,MAAM,KACpB,OAAO,CAAC,cAAc,EAAE,CAO1B,CAAC;AAIF,eAAO,MAAM,sBAAsB,QAAO,IAEzC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { RpcClient } from "./pi-rpc-client.js";
|
|
5
|
+
import { resolvePiAndPath } from "./pi-binary-resolver.js";
|
|
6
|
+
// Cache of the available-models list (pi's RPC get_available_models). The list
|
|
7
|
+
// rarely changes, so cache it for a few minutes; the first call spawns pi
|
|
8
|
+
// (slow, ~1-5s), later calls reuse the cache.
|
|
9
|
+
const MODEL_CACHE_TTL_MS = 5 * 60 * 1000;
|
|
10
|
+
let cachedModels = null;
|
|
11
|
+
const listModelsViaRpcWith = async (binary, pathEnv, extraFlags) => {
|
|
12
|
+
const args = ["--mode", "rpc", "--no-session", ...extraFlags];
|
|
13
|
+
const client = new RpcClient(binary, args, os.tmpdir(), {
|
|
14
|
+
...process.env,
|
|
15
|
+
PATH: pathEnv || process.env.PATH,
|
|
16
|
+
});
|
|
17
|
+
client.send({ type: "get_available_models", id: "models" });
|
|
18
|
+
let models = [];
|
|
19
|
+
const deadline = Date.now() + 15_000;
|
|
20
|
+
while (Date.now() < deadline) {
|
|
21
|
+
const line = await client.nextLine(Math.min(1000, deadline - Date.now()));
|
|
22
|
+
if (line === null) {
|
|
23
|
+
if (client.closed)
|
|
24
|
+
break;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
let event;
|
|
28
|
+
try {
|
|
29
|
+
event = JSON.parse(line);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (event.type === "response" && event.id === "models" && event.success) {
|
|
35
|
+
const raw = event.data?.models;
|
|
36
|
+
if (Array.isArray(raw)) {
|
|
37
|
+
models = raw
|
|
38
|
+
.map((model) => {
|
|
39
|
+
const entry = model;
|
|
40
|
+
return {
|
|
41
|
+
id: String(entry.id ?? ""),
|
|
42
|
+
name: String(entry.name ?? entry.id ?? ""),
|
|
43
|
+
provider: String(entry.provider ?? ""),
|
|
44
|
+
...(typeof entry.contextWindow === "number"
|
|
45
|
+
? { contextWindow: entry.contextWindow }
|
|
46
|
+
: {}),
|
|
47
|
+
...(typeof entry.reasoning === "boolean" ? { reasoning: entry.reasoning } : {}),
|
|
48
|
+
};
|
|
49
|
+
})
|
|
50
|
+
.filter((model) => model.id.length > 0);
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
client.close();
|
|
56
|
+
return models;
|
|
57
|
+
};
|
|
58
|
+
const listModelsViaRpc = async (shimsDir, extraFlags) => {
|
|
59
|
+
const { binary: realPi, pathEnv } = resolvePiAndPath(shimsDir);
|
|
60
|
+
// Prefer the localterm shim for the model list: it injects the pi-process
|
|
61
|
+
// secrets (so every provider with a key registers its models) then execs the
|
|
62
|
+
// real pi. The bare real pi has none of those keys, so most providers don't
|
|
63
|
+
// register and the list is nearly empty.
|
|
64
|
+
let binary = realPi;
|
|
65
|
+
const shimPi = path.join(shimsDir, "pi");
|
|
66
|
+
try {
|
|
67
|
+
if (fs.statSync(shimPi).isFile()) {
|
|
68
|
+
fs.accessSync(shimPi, fs.constants.X_OK);
|
|
69
|
+
binary = shimPi;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// no shim; fall back to the real pi
|
|
74
|
+
}
|
|
75
|
+
if (!binary)
|
|
76
|
+
return [];
|
|
77
|
+
return listModelsViaRpcWith(binary, pathEnv, extraFlags);
|
|
78
|
+
};
|
|
79
|
+
// List models available to the pi harness. Tries with extensions on (the
|
|
80
|
+
// default, so custom-provider models appear); if that yields nothing (e.g. the
|
|
81
|
+
// provider extensions crash headless), retries with --no-extensions for the
|
|
82
|
+
// built-in providers. Cached for a few minutes. A `piBinaryPath` override
|
|
83
|
+
// (tests) bypasses the shim + cache.
|
|
84
|
+
export const listAgentModels = async (shimsDir, piBinaryPath) => {
|
|
85
|
+
if (piBinaryPath)
|
|
86
|
+
return listModelsViaRpcWith(piBinaryPath, process.env.PATH ?? "", []);
|
|
87
|
+
if (cachedModels && Date.now() - cachedModels.at < MODEL_CACHE_TTL_MS)
|
|
88
|
+
return cachedModels.models;
|
|
89
|
+
let models = await listModelsViaRpc(shimsDir, []);
|
|
90
|
+
if (models.length === 0)
|
|
91
|
+
models = await listModelsViaRpc(shimsDir, ["--no-extensions"]);
|
|
92
|
+
cachedModels = { at: Date.now(), models };
|
|
93
|
+
return models;
|
|
94
|
+
};
|
|
95
|
+
// Test-only: reset the model-list cache so a case never sees another case's
|
|
96
|
+
// (or another file's) cached result.
|
|
97
|
+
export const __resetAgentModelCache = () => {
|
|
98
|
+
cachedModels = null;
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=agent-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-models.js","sourceRoot":"","sources":["../src/agent-models.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-runner.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { AgentHarnessConfig, AgentLogEntry,
|
|
1
|
+
import type { AgentHarnessConfig, AgentLogEntry, AutomationRunner } from "./types.js";
|
|
2
|
+
export { __resetAgentModelCache, listAgentModels } from "./agent-models.js";
|
|
3
|
+
export { readAgentSession } from "./agent-session-reader.js";
|
|
2
4
|
type AgentRunner = Extract<AutomationRunner, {
|
|
3
5
|
kind: "agent";
|
|
4
6
|
}>;
|
|
@@ -34,8 +36,4 @@ export interface AgentHarness {
|
|
|
34
36
|
}
|
|
35
37
|
export declare const runAgent: (request: AgentRunRequest) => Promise<AgentRunResult>;
|
|
36
38
|
export declare const compactAgent: (request: AgentCompactRequest) => Promise<AgentCompactResult>;
|
|
37
|
-
export declare const listAgentModels: (shimsDir: string, piBinaryPath?: string) => Promise<AgentModelInfo[]>;
|
|
38
|
-
export declare const __resetAgentModelCache: () => void;
|
|
39
|
-
export declare const readAgentSession: (sessionFile: string, untilMs?: number) => Promise<AgentSessionEntry[]>;
|
|
40
|
-
export {};
|
|
41
39
|
//# sourceMappingURL=agent-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,KAAK,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAIhE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAI3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAK7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;IAErC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACpE;AAwWD,eAAO,MAAM,QAAQ,YAAa,eAAe,KAAG,OAAO,CAAC,cAAc,CACC,CAAC;AAE5E,eAAO,MAAM,YAAY,YAAa,mBAAmB,KAAG,OAAO,CAAC,kBAAkB,CACd,CAAC"}
|