@sandagent/runner-cli 0.9.19-beta.3 → 0.9.19-beta.4
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/bundle.mjs +15 -12
- package/package.json +4 -4
package/dist/bundle.mjs
CHANGED
|
@@ -1301,16 +1301,13 @@ function redactSecrets(text, secrets) {
|
|
|
1301
1301
|
if (Object.keys(secrets).length === 0)
|
|
1302
1302
|
return text;
|
|
1303
1303
|
let result = text;
|
|
1304
|
-
const
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
result = result.replace(new RegExp(
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
if (v.length >= 8) {
|
|
1312
|
-
result = result.split(v).join("***");
|
|
1313
|
-
}
|
|
1304
|
+
const escapeRegex = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1305
|
+
const values = Object.values(secrets).filter((v) => v.length >= 8).sort((a, b) => b.length - a.length);
|
|
1306
|
+
for (const v of values) {
|
|
1307
|
+
const ev = escapeRegex(v);
|
|
1308
|
+
result = result.replace(new RegExp(`^\\S+=.*${ev}.*$\\n?`, "gm"), "");
|
|
1309
|
+
result = result.replace(new RegExp(`\\s*["']?\\w+["']?\\s*:\\s*['"][^'"]*${ev}[^'"]*['"],?`, "g"), "");
|
|
1310
|
+
result = result.split(v).join("***");
|
|
1314
1311
|
}
|
|
1315
1312
|
result = result.replace(/\n{3,}/g, "\n\n");
|
|
1316
1313
|
return result.trim();
|
|
@@ -1646,8 +1643,11 @@ ${options.systemPrompt}` : options.systemPrompt);
|
|
|
1646
1643
|
yield* endTextStreamIfOpen();
|
|
1647
1644
|
yield* beginTextStream();
|
|
1648
1645
|
} else if (sub.type === "text_delta") {
|
|
1649
|
-
|
|
1646
|
+
let delta = sub.delta;
|
|
1650
1647
|
if (delta) {
|
|
1648
|
+
if (options.env && Object.keys(options.env).length > 0) {
|
|
1649
|
+
delta = redactSecrets(delta, options.env);
|
|
1650
|
+
}
|
|
1651
1651
|
if (!textStreamOpen) {
|
|
1652
1652
|
yield* beginTextStream();
|
|
1653
1653
|
}
|
|
@@ -1671,7 +1671,10 @@ ${options.systemPrompt}` : options.systemPrompt);
|
|
|
1671
1671
|
|
|
1672
1672
|
`;
|
|
1673
1673
|
} else if (event.type === "tool_execution_end") {
|
|
1674
|
-
|
|
1674
|
+
let output = extractToolResultText(event.result);
|
|
1675
|
+
if (options.env && Object.keys(options.env).length > 0) {
|
|
1676
|
+
output = redactSecrets(output, options.env);
|
|
1677
|
+
}
|
|
1675
1678
|
yield `data: ${JSON.stringify({ type: "tool-output-available", toolCallId: event.toolCallId, output, isError: event.isError, dynamic: true, providerExecuted: true })}
|
|
1676
1679
|
|
|
1677
1680
|
`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sandagent/runner-cli",
|
|
3
|
-
"version": "0.9.19-beta.
|
|
3
|
+
"version": "0.9.19-beta.4",
|
|
4
4
|
"description": "SandAgent Runner CLI - Like gemini-cli or claude-code, runs in your local terminal with AI SDK UI streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
"vitest": "^1.6.1",
|
|
56
56
|
"@sandagent/runner-core": "0.1.1-beta.0",
|
|
57
57
|
"@sandagent/runner-claude": "0.6.2",
|
|
58
|
-
"@sandagent/runner-
|
|
58
|
+
"@sandagent/runner-codex": "0.6.2",
|
|
59
59
|
"@sandagent/runner-gemini": "0.6.2",
|
|
60
|
-
"@sandagent/runner-
|
|
61
|
-
"@sandagent/runner-
|
|
60
|
+
"@sandagent/runner-opencode": "0.6.2",
|
|
61
|
+
"@sandagent/runner-pi": "0.6.4-beta.0"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build": "tsc && pnpm bundle",
|