@prestyj/cli 5.31.0 → 5.32.1
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.md +3 -2
- package/assets/skills/task-list/SKILL.md +39 -0
- package/dist/app-sidecar/app-settings.js +11 -5
- package/dist/app-sidecar/app-settings.js.map +1 -1
- package/dist/app-sidecar/auth-routes.js +10 -3
- package/dist/app-sidecar/auth-routes.js.map +1 -1
- package/dist/app-sidecar/git-target.d.ts +15 -2
- package/dist/app-sidecar/git-target.js +24 -10
- package/dist/app-sidecar/git-target.js.map +1 -1
- package/dist/app-sidecar/goal-routes.js +14 -2
- package/dist/app-sidecar/goal-routes.js.map +1 -1
- package/dist/app-sidecar/history-routes.js +7 -0
- package/dist/app-sidecar/history-routes.js.map +1 -1
- package/dist/app-sidecar/history.d.ts +5 -0
- package/dist/app-sidecar/history.js.map +1 -1
- package/dist/app-sidecar/integration-routes.js +4 -0
- package/dist/app-sidecar/integration-routes.js.map +1 -1
- package/dist/app-sidecar/mcp-routes.js +1 -0
- package/dist/app-sidecar/mcp-routes.js.map +1 -1
- package/dist/app-sidecar/mcp-rows.d.ts +2 -0
- package/dist/app-sidecar/mcp-rows.js +4 -1
- package/dist/app-sidecar/mcp-rows.js.map +1 -1
- package/dist/app-sidecar/prompt-routes.js +67 -1
- package/dist/app-sidecar/prompt-routes.js.map +1 -1
- package/dist/app-sidecar/route-context.d.ts +2 -0
- package/dist/app-sidecar/run-control-routes.d.ts +14 -0
- package/dist/app-sidecar/run-control-routes.js +104 -25
- package/dist/app-sidecar/run-control-routes.js.map +1 -1
- package/dist/app-sidecar/session-routes.js +15 -1
- package/dist/app-sidecar/session-routes.js.map +1 -1
- package/dist/app-sidecar/task-routes.js +24 -0
- package/dist/app-sidecar/task-routes.js.map +1 -1
- package/dist/app-sidecar/trophy-manager.d.ts +15 -0
- package/dist/app-sidecar/trophy-manager.js +71 -0
- package/dist/app-sidecar/trophy-manager.js.map +1 -0
- package/dist/app-sidecar/workspace-routes.js +1 -0
- package/dist/app-sidecar/workspace-routes.js.map +1 -1
- package/dist/app-sidecar.js +157 -30
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli/auth.js +22 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/mcp.js +6 -1
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli.js +13 -9
- package/dist/cli.js.map +1 -1
- package/dist/config.js +4 -2
- package/dist/config.js.map +1 -1
- package/dist/core/action-threats.d.ts +68 -0
- package/dist/core/action-threats.js +894 -0
- package/dist/core/action-threats.js.map +1 -0
- package/dist/core/agent-notifications.d.ts +18 -0
- package/dist/core/agent-notifications.js +35 -2
- package/dist/core/agent-notifications.js.map +1 -1
- package/dist/core/agent-session/verification-tracker.d.ts +21 -0
- package/dist/core/agent-session/verification-tracker.js +39 -1
- package/dist/core/agent-session/verification-tracker.js.map +1 -1
- package/dist/core/agent-session.d.ts +176 -2
- package/dist/core/agent-session.js +515 -30
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/blocked-packages-file.d.ts +33 -0
- package/dist/core/blocked-packages-file.js +274 -0
- package/dist/core/blocked-packages-file.js.map +1 -0
- package/dist/core/compaction/policy.d.ts +2 -2
- package/dist/core/compaction/policy.js +86 -43
- package/dist/core/compaction/policy.js.map +1 -1
- package/dist/core/compaction/token-estimator.d.ts +4 -1
- package/dist/core/compaction/token-estimator.js +5 -2
- package/dist/core/compaction/token-estimator.js.map +1 -1
- package/dist/core/event-bus.d.ts +10 -0
- package/dist/core/event-bus.js +2 -0
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/goal-run-marker.d.ts +32 -0
- package/dist/core/goal-run-marker.js +178 -0
- package/dist/core/goal-run-marker.js.map +1 -0
- package/dist/core/goal-summary.js +8 -2
- package/dist/core/goal-summary.js.map +1 -1
- package/dist/core/idle-wake.d.ts +62 -0
- package/dist/core/idle-wake.js +103 -0
- package/dist/core/idle-wake.js.map +1 -0
- package/dist/core/injection-detect.d.ts +2 -1
- package/dist/core/injection-detect.js +13 -4
- package/dist/core/injection-detect.js.map +1 -1
- package/dist/core/installed-threats.d.ts +23 -0
- package/dist/core/installed-threats.js +71 -0
- package/dist/core/installed-threats.js.map +1 -0
- package/dist/core/mcp/catalog-cache.d.ts +2 -0
- package/dist/core/mcp/catalog-cache.js +4 -0
- package/dist/core/mcp/catalog-cache.js.map +1 -1
- package/dist/core/mcp/client.d.ts +8 -0
- package/dist/core/mcp/client.js +37 -3
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/deferred-catalog.d.ts +12 -1
- package/dist/core/mcp/deferred-catalog.js +37 -10
- package/dist/core/mcp/deferred-catalog.js.map +1 -1
- package/dist/core/mcp/index.d.ts +2 -0
- package/dist/core/mcp/index.js +1 -0
- package/dist/core/mcp/index.js.map +1 -1
- package/dist/core/mcp/tool-guard.d.ts +58 -0
- package/dist/core/mcp/tool-guard.js +215 -0
- package/dist/core/mcp/tool-guard.js.map +1 -0
- package/dist/core/network-guard.d.ts +0 -20
- package/dist/core/network-guard.js +6 -0
- package/dist/core/network-guard.js.map +1 -1
- package/dist/core/package-cooldown.d.ts +71 -0
- package/dist/core/package-cooldown.js +301 -0
- package/dist/core/package-cooldown.js.map +1 -0
- package/dist/core/package-threats.d.ts +77 -3
- package/dist/core/package-threats.js +1250 -78
- package/dist/core/package-threats.js.map +1 -1
- package/dist/core/process-manager.d.ts +54 -12
- package/dist/core/process-manager.js +233 -56
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/prompt-commands.js +1 -0
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/resolve-start.d.ts +2 -0
- package/dist/core/resolve-start.js +34 -5
- package/dist/core/resolve-start.js.map +1 -1
- package/dist/core/session-manager.d.ts +3 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -0
- package/dist/core/settings-manager.js +4 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/shell-threats.d.ts +14 -1
- package/dist/core/shell-threats.js +73 -24
- package/dist/core/shell-threats.js.map +1 -1
- package/dist/core/skill-scan.d.ts +112 -0
- package/dist/core/skill-scan.js +781 -0
- package/dist/core/skill-scan.js.map +1 -0
- package/dist/core/skills.d.ts +33 -0
- package/dist/core/skills.js +87 -16
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts +5 -1
- package/dist/core/slash-commands.js +24 -9
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/steering.d.ts +7 -0
- package/dist/core/steering.js +13 -0
- package/dist/core/steering.js.map +1 -1
- package/dist/core/style-packs/index.js +1 -1
- package/dist/core/style-packs/index.js.map +1 -1
- package/dist/core/style-packs/packs.js +2 -2
- package/dist/core/subagent-manager.js +5 -4
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-policy.js +4 -1
- package/dist/core/subagent-policy.js.map +1 -1
- package/dist/core/threat-feed.d.ts +65 -0
- package/dist/core/threat-feed.js +329 -0
- package/dist/core/threat-feed.js.map +1 -0
- package/dist/core/trophies/catalog-more.d.ts +2 -0
- package/dist/core/trophies/catalog-more.js +857 -0
- package/dist/core/trophies/catalog-more.js.map +1 -0
- package/dist/core/trophies/catalog.d.ts +4 -0
- package/dist/core/trophies/catalog.js +649 -0
- package/dist/core/trophies/catalog.js.map +1 -0
- package/dist/core/trophies/engine.d.ts +70 -0
- package/dist/core/trophies/engine.js +351 -0
- package/dist/core/trophies/engine.js.map +1 -0
- package/dist/core/trophies/store.d.ts +17 -0
- package/dist/core/trophies/store.js +113 -0
- package/dist/core/trophies/store.js.map +1 -0
- package/dist/core/trophies/types.d.ts +119 -0
- package/dist/core/trophies/types.js +78 -0
- package/dist/core/trophies/types.js.map +1 -0
- package/dist/core/verification-evidence.d.ts +10 -6
- package/dist/core/verification-evidence.js +190 -11
- package/dist/core/verification-evidence.js.map +1 -1
- package/dist/goals-agent/goals-agent.js +46 -3
- package/dist/goals-agent/goals-agent.js.map +1 -1
- package/dist/interactive.js +16 -5
- package/dist/interactive.js.map +1 -1
- package/dist/modes/acp-goals.d.ts +6 -2
- package/dist/modes/acp-goals.js +1 -2
- package/dist/modes/acp-goals.js.map +1 -1
- package/dist/modes/acp-mode.js +14 -3
- package/dist/modes/acp-mode.js.map +1 -1
- package/dist/modes/agent-home-mode.js +13 -1
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/rpc-mode.d.ts +2 -1
- package/dist/modes/rpc-mode.js +15 -3
- package/dist/modes/rpc-mode.js.map +1 -1
- package/dist/modes/serve-mode.js +13 -1
- package/dist/modes/serve-mode.js.map +1 -1
- package/dist/system-prompt.d.ts +1 -0
- package/dist/system-prompt.js +12 -8
- package/dist/system-prompt.js.map +1 -1
- package/dist/test-support/slow-git.d.ts +1 -0
- package/dist/test-support/slow-git.js +21 -0
- package/dist/test-support/slow-git.js.map +1 -0
- package/dist/tools/background-watch-lint.d.ts +18 -0
- package/dist/tools/background-watch-lint.js +102 -0
- package/dist/tools/background-watch-lint.js.map +1 -0
- package/dist/tools/bash.d.ts +15 -4
- package/dist/tools/bash.js +72 -47
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/checklist.d.ts +3 -3
- package/dist/tools/compress.js +45 -0
- package/dist/tools/compress.js.map +1 -1
- package/dist/tools/edit.js +5 -0
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/generate-image.d.ts +29 -6
- package/dist/tools/generate-image.js +325 -151
- package/dist/tools/generate-image.js.map +1 -1
- package/dist/tools/grep.d.ts +14 -0
- package/dist/tools/grep.js +36 -2
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/index.d.ts +5 -1
- package/dist/tools/index.js +7 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/skill.d.ts +2 -2
- package/dist/tools/skill.js +8 -1
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/subagent-shared.js +4 -1
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/task-output.js +11 -1
- package/dist/tools/task-output.js.map +1 -1
- package/dist/tools/write.js +8 -0
- package/dist/tools/write.js.map +1 -1
- package/dist/ui/components/Footer.js +4 -0
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/ModelSelector.d.ts +10 -0
- package/dist/ui/components/ModelSelector.js +51 -5
- package/dist/ui/components/ModelSelector.js.map +1 -1
- package/dist/ui/components/ToolExecution.js +2 -2
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/mcp.d.ts +2 -0
- package/dist/ui/mcp.js.map +1 -1
- package/dist/ui/terminal-history.js +2 -1
- package/dist/ui/terminal-history.js.map +1 -1
- package/dist/ui/tool-line-summary.js +3 -1
- package/dist/ui/tool-line-summary.js.map +1 -1
- package/dist/utils/git-overview.d.ts +41 -0
- package/dist/utils/git-overview.js +146 -0
- package/dist/utils/git-overview.js.map +1 -0
- package/dist/utils/git.d.ts +12 -3
- package/dist/utils/git.js +21 -8
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/image.d.ts +14 -0
- package/dist/utils/image.js +23 -0
- package/dist/utils/image.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Warnings for a background command whose output or exit code cannot tell the
|
|
3
|
+
* agent what it is waiting to learn.
|
|
4
|
+
*
|
|
5
|
+
* A background task wakes a waiting agent in three ways: it exits, its output
|
|
6
|
+
* matches the agent's wake pattern, or its output looks like a failure. Two
|
|
7
|
+
* habits defeat all of them, and session logs showed both on most CI waits:
|
|
8
|
+
*
|
|
9
|
+
* - Redirecting stdout to /dev/null or a file. The task log never sees the
|
|
10
|
+
* lines, so no pattern or failure check can match them, and a failure that
|
|
11
|
+
* happens mid-run is only noticed at exit or when the wait runs out.
|
|
12
|
+
* - `gh run watch` without `--exit-status`. It exits 0 when the run FAILS, so
|
|
13
|
+
* the exit looks like success.
|
|
14
|
+
*
|
|
15
|
+
* These are warnings, not refusals: a redirect is sometimes exactly what the
|
|
16
|
+
* agent wants (a setup step whose output is noise).
|
|
17
|
+
*/
|
|
18
|
+
/** First words of commands whose redirect writes a file on purpose. */
|
|
19
|
+
const FILE_WRITERS = new Set([
|
|
20
|
+
"cat",
|
|
21
|
+
"echo",
|
|
22
|
+
"printf",
|
|
23
|
+
"tee",
|
|
24
|
+
"true",
|
|
25
|
+
":",
|
|
26
|
+
"mkdir",
|
|
27
|
+
"touch",
|
|
28
|
+
"git",
|
|
29
|
+
]);
|
|
30
|
+
/** Heredoc bodies hold arbitrary text (often code with `>` in it), never redirects. */
|
|
31
|
+
function stripHeredocs(command) {
|
|
32
|
+
const lines = command.split("\n");
|
|
33
|
+
const kept = [];
|
|
34
|
+
let terminator = null;
|
|
35
|
+
for (const line of lines) {
|
|
36
|
+
if (terminator !== null) {
|
|
37
|
+
if (line.trim() === terminator)
|
|
38
|
+
terminator = null;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
kept.push(line);
|
|
42
|
+
const heredoc = /<<-?\s*(['"]?)([A-Za-z_][A-Za-z0-9_]*)\1/.exec(line);
|
|
43
|
+
if (heredoc?.[2])
|
|
44
|
+
terminator = heredoc[2];
|
|
45
|
+
}
|
|
46
|
+
return kept.join("\n");
|
|
47
|
+
}
|
|
48
|
+
/** Drop quoted strings and `$(...)` bodies, whose `>` is not this command's redirect. */
|
|
49
|
+
function stripNested(command) {
|
|
50
|
+
let text = command.replace(/'[^']*'/g, "''").replace(/"(?:[^"\\]|\\.)*"/g, '""');
|
|
51
|
+
// Innermost-first, bounded: nested substitutions are rare in a watch command.
|
|
52
|
+
for (let i = 0; i < 5 && /\$\([^()]*\)/.test(text); i++) {
|
|
53
|
+
text = text.replace(/\$\([^()]*\)/g, "$()");
|
|
54
|
+
}
|
|
55
|
+
return text;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A stdout redirect: `>`, `>>`, `1>`, `&>`, `&>>` to a target. Not `2>` (stderr
|
|
59
|
+
* only — stdout still reaches the log) and not `>&2` (still captured).
|
|
60
|
+
*/
|
|
61
|
+
const STDOUT_REDIRECT = /(?<![0-9<>&])(?:&>>?|1?>>?)\s*(?!&)([^\s;|&)]+)/;
|
|
62
|
+
export function backgroundWatchWarnings(command) {
|
|
63
|
+
const warnings = [];
|
|
64
|
+
const shellText = stripNested(stripHeredocs(command));
|
|
65
|
+
if (/\bgh\s+run\s+watch\b/.test(shellText) && !/--exit-status\b/.test(shellText)) {
|
|
66
|
+
warnings.push("`gh run watch` without --exit-status exits 0 even when the run fails, so its exit " +
|
|
67
|
+
"code will look like success. Add --exit-status.");
|
|
68
|
+
}
|
|
69
|
+
for (const segment of shellText.split(/\n|;|&&|\|\|/)) {
|
|
70
|
+
const trimmed = segment.trim();
|
|
71
|
+
if (!trimmed)
|
|
72
|
+
continue;
|
|
73
|
+
const firstWord = trimmed.split(/\s+/)[0] ?? "";
|
|
74
|
+
if (FILE_WRITERS.has(firstWord))
|
|
75
|
+
continue;
|
|
76
|
+
const redirect = STDOUT_REDIRECT.exec(trimmed);
|
|
77
|
+
if (!redirect?.[1])
|
|
78
|
+
continue;
|
|
79
|
+
const target = redirect[1];
|
|
80
|
+
const where = target === "/dev/null"
|
|
81
|
+
? "discards its output"
|
|
82
|
+
: /^[\w./~-]+$/.test(target)
|
|
83
|
+
? `writes its output to ${target}`
|
|
84
|
+
: "writes its output to a file";
|
|
85
|
+
// Quoted text and $(...) were blanked for detection; naming a mangled
|
|
86
|
+
// segment back to the agent would only confuse it.
|
|
87
|
+
const named = /''|""|\$\(\)/.test(trimmed)
|
|
88
|
+
? "A command here"
|
|
89
|
+
: `\`${boundedSegment(trimmed)}\``;
|
|
90
|
+
warnings.push(`${named} ${where}, so the task log cannot see it: no wake pattern ` +
|
|
91
|
+
"or failure check can fire on those lines, and a mid-run failure is only noticed at " +
|
|
92
|
+
"exit. If that is the output you are waiting on, drop the redirect — the task log " +
|
|
93
|
+
"already keeps everything.");
|
|
94
|
+
break; // One redirect warning says it; more would only repeat it.
|
|
95
|
+
}
|
|
96
|
+
return warnings;
|
|
97
|
+
}
|
|
98
|
+
function boundedSegment(segment) {
|
|
99
|
+
const collapsed = segment.replace(/\s+/g, " ");
|
|
100
|
+
return collapsed.length <= 80 ? collapsed : `${collapsed.slice(0, 79)}\u2026`;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=background-watch-lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-watch-lint.js","sourceRoot":"","sources":["../../src/tools/background-watch-lint.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/bash.d.ts
CHANGED
|
@@ -22,10 +22,19 @@ export declare function autoBackgroundedId(result: string): string | undefined;
|
|
|
22
22
|
* the model can recover the lost portion with `read --offset` instead of
|
|
23
23
|
* re-running the command. The offload is best-effort — a full disk or
|
|
24
24
|
* permission error never fails the tool result.
|
|
25
|
+
*
|
|
26
|
+
* A check whose exit status cannot prove success (`npm test | grep x; git diff`)
|
|
27
|
+
* gets no note in its result. The host still refuses it as evidence; if the
|
|
28
|
+
* turn would end unverified, the session re-runs the check on its own
|
|
29
|
+
* (AgentSession.rerunRefusedCheck) and counts only that exit status. The note
|
|
30
|
+
* used to flag the command mid-task; on Haiku 5.5 the model re-ran
|
|
31
|
+
* the suite after it nearly every time, and spent thinking deciding whether
|
|
32
|
+
* the note was an injection, while the output it had was already correct.
|
|
33
|
+
* Removing it cut model requests 7% and input tokens 9% at an unchanged pass
|
|
34
|
+
* rate; time saved was within noise (bench/h2h/arena, haiku-confirm, 100
|
|
35
|
+
* paired trials, 2026-10-18).
|
|
25
36
|
*/
|
|
26
|
-
export declare function renderBashOutput(rawOutput: string
|
|
27
|
-
/** bash with pipefail (not the cmd.exe fallback): see classifyVerificationCommand. */
|
|
28
|
-
posixShell?: boolean): Promise<string>;
|
|
37
|
+
export declare function renderBashOutput(rawOutput: string): Promise<string>;
|
|
29
38
|
declare const BashParams: z.ZodObject<{
|
|
30
39
|
command: z.ZodString;
|
|
31
40
|
review: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -45,5 +54,7 @@ export declare function createBashTool(cwd: string, processManager: ProcessManag
|
|
|
45
54
|
current: GoalMode;
|
|
46
55
|
} | ResolveShellOpts, shellOptsOrNetworkPolicy?: ResolveShellOpts | GetNetworkPolicy, getNetworkPolicyArg?: GetNetworkPolicy, getSandboxPolicyArg?: () => SandboxPolicy,
|
|
47
56
|
/** Default foreground budget; injectable so tests need not wait 120s. */
|
|
48
|
-
defaultTimeoutMs?: number
|
|
57
|
+
defaultTimeoutMs?: number,
|
|
58
|
+
/** Package release-age cooldown in days; 0 disables. Default 2. */
|
|
59
|
+
getPackageCooldownDays?: () => number): AgentTool<typeof BashParams>;
|
|
49
60
|
export {};
|
package/dist/tools/bash.js
CHANGED
|
@@ -8,19 +8,21 @@ import { getSafeToolEnv } from "./safe-env.js";
|
|
|
8
8
|
import { resolveShell } from "../core/shell.js";
|
|
9
9
|
import { PersistentShell } from "../core/persistent-shell.js";
|
|
10
10
|
import { isReadOnlyCommand, sleepOnlySeconds } from "./read-only-bash.js";
|
|
11
|
+
import { backgroundWatchWarnings } from "./background-watch-lint.js";
|
|
11
12
|
import { getActiveGoalMode, goalModeBashRestriction, isPlanModeActive, planModeRestriction, } from "../core/runtime-mode.js";
|
|
12
13
|
import { isCatastrophicCommand } from "../core/workspace-guard.js";
|
|
13
14
|
import { checkDestructiveGit } from "../core/destructive-git-guard.js";
|
|
14
15
|
import { shellThreatBlockMessage } from "../core/shell-threats.js";
|
|
15
|
-
import { checkPackageInstall } from "../core/package-threats.js";
|
|
16
|
-
import {
|
|
16
|
+
import { checkPackageInstall, packageBlockMessage } from "../core/package-threats.js";
|
|
17
|
+
import { bunCooldownCommand, cooldownFailureHint, detectMentionedVersions, mayInstall, packageCooldownEnv, scopeCooldown, } from "../core/package-cooldown.js";
|
|
18
|
+
import { classifyVerificationCommand } from "../core/verification-evidence.js";
|
|
17
19
|
import { checkCommandPolicy } from "../core/network-guard.js";
|
|
18
20
|
import { prepareSandboxLaunch, SANDBOX_ENV_PATCH, } from "../core/sandbox.js";
|
|
19
21
|
import { annotateSandboxDenial } from "../core/sandbox-feedback.js";
|
|
20
22
|
import { collectVerificationReview } from "./verification-review.js";
|
|
21
23
|
/** Tool env, plus the tweaks that only make sense inside the OS sandbox. */
|
|
22
|
-
function sandboxAwareEnv(sandboxed) {
|
|
23
|
-
const env = getSafeToolEnv();
|
|
24
|
+
function sandboxAwareEnv(sandboxed, cooldown = {}) {
|
|
25
|
+
const env = { ...getSafeToolEnv(), ...cooldown };
|
|
24
26
|
return sandboxed ? { ...env, ...SANDBOX_ENV_PATCH } : env;
|
|
25
27
|
}
|
|
26
28
|
const DEFAULT_TIMEOUT = 120_000; // 120 seconds
|
|
@@ -89,26 +91,22 @@ function isGoalModeRef(value) {
|
|
|
89
91
|
* the model can recover the lost portion with `read --offset` instead of
|
|
90
92
|
* re-running the command. The offload is best-effort — a full disk or
|
|
91
93
|
* permission error never fails the tool result.
|
|
94
|
+
*
|
|
95
|
+
* A check whose exit status cannot prove success (`npm test | grep x; git diff`)
|
|
96
|
+
* gets no note in its result. The host still refuses it as evidence; if the
|
|
97
|
+
* turn would end unverified, the session re-runs the check on its own
|
|
98
|
+
* (AgentSession.rerunRefusedCheck) and counts only that exit status. The note
|
|
99
|
+
* used to flag the command mid-task; on Haiku 5.5 the model re-ran
|
|
100
|
+
* the suite after it nearly every time, and spent thinking deciding whether
|
|
101
|
+
* the note was an injection, while the output it had was already correct.
|
|
102
|
+
* Removing it cut model requests 7% and input tokens 9% at an unchanged pass
|
|
103
|
+
* rate; time saved was within noise (bench/h2h/arena, haiku-confirm, 100
|
|
104
|
+
* paired trials, 2026-10-18).
|
|
92
105
|
*/
|
|
93
|
-
export async function renderBashOutput(rawOutput
|
|
94
|
-
/** bash with pipefail (not the cmd.exe fallback): see classifyVerificationCommand. */
|
|
95
|
-
posixShell = false) {
|
|
96
|
-
// Feedback only when the command wraps a real check. Exploration that merely
|
|
97
|
-
// mentions a verifier (`ls .venv/bin | grep ruff`) is not a verification
|
|
98
|
-
// attempt; nagging it made the model reshape harmless commands repeatedly.
|
|
99
|
-
// Showing the note only once per session was measured and rejected: it cut
|
|
100
|
-
// notes by a third but raised tool calls 27% (bench/h2h/DIRAC-FINDINGS.md).
|
|
101
|
-
const check = command && containsBoundedCheck(command)
|
|
102
|
-
? classifyVerificationCommand(command, { posixShell })
|
|
103
|
-
: undefined;
|
|
104
|
-
const feedback = check?.candidate && !check.accepted && check.snapshotPreserveOnly
|
|
105
|
-
? "\n\n[This mixed check/inspection chain cannot establish fresh verification; it can only preserve earlier successful checks. If the current changes are not already verified, run the check standalone or chain only checks with &&. Do not claim fresh verification from this shell exit status.]"
|
|
106
|
-
: check?.candidate && !check.accepted && !check.snapshotEligible
|
|
107
|
-
? `\n\n[Verification evidence rejected: ${check.reason}. The output is still valid information; do not reshape this command to satisfy this note. When you need verification, run the check once as a standalone command (or chain only checks with &&) after your last edit, and do not claim verification from this shell exit status.]`
|
|
108
|
-
: "";
|
|
106
|
+
export async function renderBashOutput(rawOutput) {
|
|
109
107
|
const result = truncateTail(rawOutput);
|
|
110
108
|
if (!result.truncated)
|
|
111
|
-
return result.content
|
|
109
|
+
return result.content;
|
|
112
110
|
const overflowPath = Buffer.byteLength(rawOutput, "utf-8") > MAX_BYTES
|
|
113
111
|
? await writeOverflow(rawOutput, "bash").catch(() => null)
|
|
114
112
|
: null;
|
|
@@ -117,7 +115,7 @@ posixShell = false) {
|
|
|
117
115
|
: "";
|
|
118
116
|
const c = compressToolOutput(rawOutput);
|
|
119
117
|
const what = describeCompressed(rawOutput, c.content);
|
|
120
|
-
return `[${c.notice}${what ? ` ${what}` : ""}${overflowNotice}]\n${c.content}
|
|
118
|
+
return `[${c.notice}${what ? ` ${what}` : ""}${overflowNotice}]\n${c.content}`;
|
|
121
119
|
}
|
|
122
120
|
const BashParams = z.object({
|
|
123
121
|
command: z.string(),
|
|
@@ -138,7 +136,9 @@ const BashParams = z.object({
|
|
|
138
136
|
});
|
|
139
137
|
export function createBashTool(cwd, processManager, ops = localOperations, planModeRefArg, goalModeRefOrShellOpts, shellOptsOrNetworkPolicy, getNetworkPolicyArg, getSandboxPolicyArg,
|
|
140
138
|
/** Default foreground budget; injectable so tests need not wait 120s. */
|
|
141
|
-
defaultTimeoutMs = DEFAULT_TIMEOUT
|
|
139
|
+
defaultTimeoutMs = DEFAULT_TIMEOUT,
|
|
140
|
+
/** Package release-age cooldown in days; 0 disables. Default 2. */
|
|
141
|
+
getPackageCooldownDays = () => 2) {
|
|
142
142
|
const planModeRef = isPlanModeRef(planModeRefArg) ? planModeRefArg : undefined;
|
|
143
143
|
const goalModeRef = isGoalModeRef(planModeRefArg)
|
|
144
144
|
? planModeRefArg
|
|
@@ -155,8 +155,6 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
155
155
|
// Lazily created on the first persist:true call; one session per tool
|
|
156
156
|
// instance (i.e. per agent session), killed when the process exits.
|
|
157
157
|
let sessionShell = null;
|
|
158
|
-
/** Install commands the model re-ran after a typosquat warning. */
|
|
159
|
-
const confirmedInstalls = new Set();
|
|
160
158
|
let sessionSandboxKey = null;
|
|
161
159
|
let sessionSandboxed = false;
|
|
162
160
|
// Shell selection doesn't depend on the command, so resolve ONCE at tool
|
|
@@ -250,19 +248,37 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
250
248
|
if (threatBlocked) {
|
|
251
249
|
return `Error: ${threatBlocked}`;
|
|
252
250
|
}
|
|
253
|
-
// Package-install guard: known malware (
|
|
254
|
-
//
|
|
255
|
-
|
|
256
|
-
const
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
251
|
+
// Package-install guard: known malware (local feed + version-aware OSV),
|
|
252
|
+
// lockfile contents, provenance downgrade, release age and precise
|
|
253
|
+
// typosquats. A catch is a block; network only for installs, fail-open.
|
|
254
|
+
const cooldownDays = getPackageCooldownDays();
|
|
255
|
+
// Version detection starts now, in parallel with the check (shared, once per process).
|
|
256
|
+
const install = mayInstall(command);
|
|
257
|
+
const versionsReady = install
|
|
258
|
+
? detectMentionedVersions(command, cwd)
|
|
259
|
+
: Promise.resolve({});
|
|
260
|
+
const packageThreats = install
|
|
261
|
+
? await checkPackageInstall(command, { signal: context.signal, cwd, cooldownDays })
|
|
262
|
+
: [];
|
|
263
|
+
const packageBlocked = packageBlockMessage(packageThreats);
|
|
264
|
+
if (packageBlocked) {
|
|
265
|
+
// `details` carries the refused packages to the session, which records
|
|
266
|
+
// them in the project's "don't install" list (core/blocked-packages-file.ts).
|
|
267
|
+
const blocked = packageThreats.flatMap((t) => t.blocked ?? []);
|
|
268
|
+
return {
|
|
269
|
+
content: `Error: ${packageBlocked}`,
|
|
270
|
+
...(blocked.length > 0 ? { details: { safetyBlock: { packages: blocked } } } : {}),
|
|
271
|
+
};
|
|
265
272
|
}
|
|
273
|
+
// Native release-age cooldown for every install (transitive deps too).
|
|
274
|
+
const versions = await versionsReady;
|
|
275
|
+
const cooldownEnv = install
|
|
276
|
+
? packageCooldownEnv(command, { days: cooldownDays, now: Date.now(), cwd, versions })
|
|
277
|
+
: {};
|
|
278
|
+
// bun has no env setting: the cooldown goes in as a flag.
|
|
279
|
+
const runCommand = install
|
|
280
|
+
? bunCooldownCommand(command, cooldownDays, versions.bun ?? null)
|
|
281
|
+
: command;
|
|
266
282
|
// Network allowlist — defence in depth only. Recognises the common egress
|
|
267
283
|
// command shapes; an unrecognised command is never blocked (see
|
|
268
284
|
// core/network-guard.ts for why this is not a sandbox).
|
|
@@ -287,7 +303,10 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
287
303
|
...shell,
|
|
288
304
|
args: ["--norc", "--noprofile", "-o", "pipefail"],
|
|
289
305
|
});
|
|
290
|
-
sessionShell = new PersistentShell(cwd,
|
|
306
|
+
sessionShell = new PersistentShell(cwd,
|
|
307
|
+
// Env is fixed at shell start: only pip's (always safe) here;
|
|
308
|
+
// the others are scoped per command below.
|
|
309
|
+
sandboxAwareEnv(launch.sandboxed, cooldownDays > 0 ? { PIP_UPLOADED_PRIOR_TO: `P${cooldownDays}D` } : {}), MAX_OUTPUT_BYTES, shellOpts, launch);
|
|
291
310
|
sessionSandboxKey = sandboxKey;
|
|
292
311
|
sessionSandboxed = launch.sandboxed;
|
|
293
312
|
}
|
|
@@ -297,10 +316,11 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
297
316
|
}
|
|
298
317
|
if (context.signal.aborted)
|
|
299
318
|
return CANCELLED_BEFORE_START;
|
|
300
|
-
const res = await sessionShell.run(
|
|
319
|
+
const res = await sessionShell.run(scopeCooldown(runCommand, cooldownEnv), timeoutMs ?? DEFAULT_TIMEOUT, context.signal, context.onUpdate
|
|
301
320
|
? (text) => context.onUpdate?.({ type: "bash_progress", output: text, totalBytes: 0 })
|
|
302
321
|
: undefined);
|
|
303
|
-
const
|
|
322
|
+
const hint = install && res.exitCode !== 0 ? cooldownFailureHint(res.output, cooldownDays) : null;
|
|
323
|
+
const output = (hint ? `[${hint}]\n` : "") + (await renderBashOutput(res.output));
|
|
304
324
|
const exitCode = res.exitCode === "TIMEOUT"
|
|
305
325
|
? `TIMEOUT (${timeoutMs ?? DEFAULT_TIMEOUT}ms)` +
|
|
306
326
|
(res.shellKept
|
|
@@ -316,14 +336,15 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
316
336
|
if (run_in_background) {
|
|
317
337
|
let launch;
|
|
318
338
|
try {
|
|
319
|
-
launch = await prepareLaunch(resolveShell(
|
|
339
|
+
launch = await prepareLaunch(resolveShell(runCommand, shellOpts));
|
|
320
340
|
}
|
|
321
341
|
catch (error) {
|
|
322
342
|
return `Error: OS sandbox unavailable; command was not run: ${error.message}`;
|
|
323
343
|
}
|
|
324
344
|
if (context.signal.aborted)
|
|
325
345
|
return CANCELLED_BEFORE_START;
|
|
326
|
-
const result = await processManager.start(
|
|
346
|
+
const result = await processManager.start(runCommand, cwd, launch, wakeRules, cooldownEnv);
|
|
347
|
+
const watchWarnings = backgroundWatchWarnings(command);
|
|
327
348
|
return (`Background process started.\n` +
|
|
328
349
|
`ID: ${result.id}\n` +
|
|
329
350
|
`PID: ${result.pid}\n` +
|
|
@@ -339,12 +360,13 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
339
360
|
: `Wake conditions were NOT armed: this session has no notification path, so nothing will wake you automatically. Poll task_output periodically instead.\n`
|
|
340
361
|
: "") +
|
|
341
362
|
`Use task_output with id="${result.id}" to read output, ` +
|
|
342
|
-
`task_send to type input/answer prompts, task_stop to stop it.`
|
|
363
|
+
`task_send to type input/answer prompts, task_stop to stop it.` +
|
|
364
|
+
watchWarnings.map((warning) => `\nWarning: ${warning}`).join(""));
|
|
343
365
|
}
|
|
344
366
|
const effectiveTimeout = timeoutMs ?? defaultTimeoutMs;
|
|
345
367
|
// Cross-platform shell: bash on macOS/Linux, Git Bash on Windows (or
|
|
346
368
|
// cmd.exe fallback), wrapped by the OS sandbox before any child starts.
|
|
347
|
-
const shell = resolveShell(
|
|
369
|
+
const shell = resolveShell(runCommand, shellOpts);
|
|
348
370
|
let launch;
|
|
349
371
|
try {
|
|
350
372
|
launch = await prepareLaunch(shell);
|
|
@@ -361,7 +383,7 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
361
383
|
cwd,
|
|
362
384
|
detached: true,
|
|
363
385
|
stdio: ["ignore", "pipe", "pipe"],
|
|
364
|
-
env: sandboxAwareEnv(launch.sandboxed),
|
|
386
|
+
env: sandboxAwareEnv(launch.sandboxed, cooldownEnv),
|
|
365
387
|
});
|
|
366
388
|
const chunks = [];
|
|
367
389
|
let totalBytes = 0;
|
|
@@ -422,7 +444,7 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
422
444
|
`ID: ${adopted.id}\n` +
|
|
423
445
|
`PID: ${adopted.pid}\n` +
|
|
424
446
|
`Log: ${adopted.logFile}\n` +
|
|
425
|
-
`You will be notified when it exits. Use task_output with id="${adopted.id}" ` +
|
|
447
|
+
`You will be notified when it exits or prints a failure. Use task_output with id="${adopted.id}" ` +
|
|
426
448
|
`(wait_ms to block until it exits) to read output, task_stop to stop it. ` +
|
|
427
449
|
`Pass an explicit timeout to have a command stopped instead.\n` +
|
|
428
450
|
(soFar ? `Output so far:\n${soFar}` : "No output so far."));
|
|
@@ -467,7 +489,7 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
467
489
|
if (backgrounded)
|
|
468
490
|
return;
|
|
469
491
|
const rawOutput = Buffer.concat(chunks).toString("utf-8");
|
|
470
|
-
let output = await renderBashOutput(rawOutput
|
|
492
|
+
let output = await renderBashOutput(rawOutput);
|
|
471
493
|
if (outputCapped) {
|
|
472
494
|
output =
|
|
473
495
|
`[Output capped at ${MAX_OUTPUT_BYTES / 1024 / 1024} MB to prevent memory exhaustion]\n` +
|
|
@@ -483,6 +505,9 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
|
|
|
483
505
|
"Install Git for Windows to get bash.]\n" +
|
|
484
506
|
output;
|
|
485
507
|
}
|
|
508
|
+
const hint = install && code !== 0 && !killed ? cooldownFailureHint(rawOutput, cooldownDays) : null;
|
|
509
|
+
if (hint)
|
|
510
|
+
output = `[${hint}]\n` + output;
|
|
486
511
|
if (leftover && !killed) {
|
|
487
512
|
const fate = leftover === "stopped"
|
|
488
513
|
? "so it was stopped"
|
package/dist/tools/bash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,23 +7,23 @@ declare const ChecklistParams: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7
7
|
action: z.ZodLiteral<"record">;
|
|
8
8
|
id: z.ZodEnum<{
|
|
9
9
|
secrets: "secrets";
|
|
10
|
+
security: "security";
|
|
11
|
+
ci: "ci";
|
|
12
|
+
dependencies: "dependencies";
|
|
10
13
|
"agent-setup": "agent-setup";
|
|
11
14
|
docs: "docs";
|
|
12
15
|
naming: "naming";
|
|
13
16
|
"git-github": "git-github";
|
|
14
17
|
"quality-tools": "quality-tools";
|
|
15
18
|
tests: "tests";
|
|
16
|
-
ci: "ci";
|
|
17
19
|
"commit-gate": "commit-gate";
|
|
18
20
|
"code-health": "code-health";
|
|
19
21
|
"errors-logging": "errors-logging";
|
|
20
|
-
dependencies: "dependencies";
|
|
21
22
|
"design-system": "design-system";
|
|
22
23
|
"styling-consistency": "styling-consistency";
|
|
23
24
|
"motion-consistency": "motion-consistency";
|
|
24
25
|
accessibility: "accessibility";
|
|
25
26
|
"ui-states": "ui-states";
|
|
26
|
-
security: "security";
|
|
27
27
|
"data-safety": "data-safety";
|
|
28
28
|
compliance: "compliance";
|
|
29
29
|
performance: "performance";
|
package/dist/tools/compress.js
CHANGED
|
@@ -160,6 +160,40 @@ function compressText(lines, o) {
|
|
|
160
160
|
const dropped = lines.length - budget;
|
|
161
161
|
return [...head, `… ${dropped} lines omitted …`, ...tail].join("\n");
|
|
162
162
|
}
|
|
163
|
+
/* ----------------------------------------------------------------------- */
|
|
164
|
+
/* Tool-output integration seam */
|
|
165
|
+
/* ----------------------------------------------------------------------- */
|
|
166
|
+
/** Same byte cap the bash / task_output truncation enforces (tools/truncate.ts MAX_BYTES). */
|
|
167
|
+
const TOOL_OUTPUT_MAX_BYTES = 50 * 1024;
|
|
168
|
+
/** Longer lines are minified bundles, base64, or data dumps — never readable as-is. */
|
|
169
|
+
const LONG_LINE_CHARS = 2_000;
|
|
170
|
+
function clipLongLines(text) {
|
|
171
|
+
if (text.length <= LONG_LINE_CHARS)
|
|
172
|
+
return text;
|
|
173
|
+
let changed = false;
|
|
174
|
+
const lines = text.split("\n").map((line) => {
|
|
175
|
+
if (line.length <= LONG_LINE_CHARS)
|
|
176
|
+
return line;
|
|
177
|
+
changed = true;
|
|
178
|
+
return `${line.slice(0, LONG_LINE_CHARS)}… [${line.length - LONG_LINE_CHARS} more chars on this line]`;
|
|
179
|
+
});
|
|
180
|
+
return changed ? lines.join("\n") : text;
|
|
181
|
+
}
|
|
182
|
+
function capBytes(text) {
|
|
183
|
+
if (Buffer.byteLength(text, "utf-8") <= TOOL_OUTPUT_MAX_BYTES)
|
|
184
|
+
return text;
|
|
185
|
+
const lines = text.split("\n");
|
|
186
|
+
let size = 0;
|
|
187
|
+
let start = lines.length;
|
|
188
|
+
while (start > 0) {
|
|
189
|
+
const next = Buffer.byteLength(lines[start - 1], "utf-8") + 1;
|
|
190
|
+
if (size + next > TOOL_OUTPUT_MAX_BYTES)
|
|
191
|
+
break;
|
|
192
|
+
size += next;
|
|
193
|
+
start--;
|
|
194
|
+
}
|
|
195
|
+
return [`… ${start} earlier lines omitted (byte cap) …`, ...lines.slice(start)].join("\n");
|
|
196
|
+
}
|
|
163
197
|
/**
|
|
164
198
|
* Compress output that a tool was ALREADY going to truncate.
|
|
165
199
|
*
|
|
@@ -172,6 +206,17 @@ function compressText(lines, o) {
|
|
|
172
206
|
*/
|
|
173
207
|
export function compressToolOutput(raw) {
|
|
174
208
|
const r = compressOutput(raw, { headLines: 12, tailLines: 30, minTokens: 0 });
|
|
209
|
+
// Compression is line-based, so a few huge lines survive it intact: one
|
|
210
|
+
// `rg` that hit minified bundles kept 42 lines totalling 245 KB — 135k
|
|
211
|
+
// input tokens in a single result, ~50× a normal trial (bench/h2h/arena
|
|
212
|
+
// opt-arena-full, ez-before explore r3). The caller only gets here because
|
|
213
|
+
// the output was over the byte cap, so hold the compressed text to it too:
|
|
214
|
+
// clip pathological lines, then keep the tail within the cap.
|
|
215
|
+
const capped = capBytes(clipLongLines(r.content));
|
|
216
|
+
if (capped !== r.content) {
|
|
217
|
+
r.content = capped;
|
|
218
|
+
r.compressedTokens = tokens(capped);
|
|
219
|
+
}
|
|
175
220
|
const saved = r.originalTokens - r.compressedTokens;
|
|
176
221
|
const notice = r.strategy === "none"
|
|
177
222
|
? ""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../src/tools/compress.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../src/tools/compress.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/edit.js
CHANGED
|
@@ -8,6 +8,7 @@ import { resolveAnchoredEdit } from "../core/hashline.js";
|
|
|
8
8
|
import { getActiveGoalMode, goalModeMutationRestriction, isPlanModeActive, planModeRestriction, } from "../core/runtime-mode.js";
|
|
9
9
|
import { resolveWriteGuard } from "../core/workspace-guard.js";
|
|
10
10
|
import { redactedOldTextHint, redactionLossError } from "./redaction-guard.js";
|
|
11
|
+
import { configWriteBlockMessage } from "../core/action-threats.js";
|
|
11
12
|
function isMutationCallback(value) {
|
|
12
13
|
return typeof value === "function";
|
|
13
14
|
}
|
|
@@ -608,6 +609,10 @@ export function createEditTool(cwd, readFiles, ops = localOperations, planModeRe
|
|
|
608
609
|
const lossError = redactionLossError(originalNormalized, working, fileName);
|
|
609
610
|
if (lossError)
|
|
610
611
|
throw new Error(lossError);
|
|
612
|
+
// Action guard: no switching on auto-run / guard-off settings elsewhere.
|
|
613
|
+
const configBlocked = configWriteBlockMessage(resolved, working, originalNormalized);
|
|
614
|
+
if (configBlocked)
|
|
615
|
+
throw new Error(configBlocked);
|
|
611
616
|
const relPath = path.relative(cwd, resolved);
|
|
612
617
|
const diff = generateDiff(originalNormalized, working, relPath);
|
|
613
618
|
const changed = working !== originalNormalized;
|