@sandagent/runner-cli 0.9.19-beta.2 → 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 -9
- package/package.json +2 -2
package/dist/bundle.mjs
CHANGED
|
@@ -1301,13 +1301,14 @@ function redactSecrets(text, secrets) {
|
|
|
1301
1301
|
if (Object.keys(secrets).length === 0)
|
|
1302
1302
|
return text;
|
|
1303
1303
|
let result = text;
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
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("***");
|
|
1308
1311
|
}
|
|
1309
|
-
result = result.replace(/^\s*=\s*\S*$/gm, "");
|
|
1310
|
-
result = result.replace(/\s*:\s*['"]["'],?\s*/g, "");
|
|
1311
1312
|
result = result.replace(/\n{3,}/g, "\n\n");
|
|
1312
1313
|
return result.trim();
|
|
1313
1314
|
}
|
|
@@ -1504,7 +1505,6 @@ function createPiRunner(options = {}) {
|
|
|
1504
1505
|
await resourceLoader.reload();
|
|
1505
1506
|
}
|
|
1506
1507
|
const customTools = options.env && Object.keys(options.env).length > 0 ? [buildEnvInjectedBashTool(cwd, options.env)] : [];
|
|
1507
|
-
const _secrets = options.env && Object.keys(options.env).length > 0 ? options.env : null;
|
|
1508
1508
|
const { session } = await createAgentSession({
|
|
1509
1509
|
cwd,
|
|
1510
1510
|
model,
|
|
@@ -1643,8 +1643,11 @@ ${options.systemPrompt}` : options.systemPrompt);
|
|
|
1643
1643
|
yield* endTextStreamIfOpen();
|
|
1644
1644
|
yield* beginTextStream();
|
|
1645
1645
|
} else if (sub.type === "text_delta") {
|
|
1646
|
-
|
|
1646
|
+
let delta = sub.delta;
|
|
1647
1647
|
if (delta) {
|
|
1648
|
+
if (options.env && Object.keys(options.env).length > 0) {
|
|
1649
|
+
delta = redactSecrets(delta, options.env);
|
|
1650
|
+
}
|
|
1648
1651
|
if (!textStreamOpen) {
|
|
1649
1652
|
yield* beginTextStream();
|
|
1650
1653
|
}
|
|
@@ -1668,7 +1671,10 @@ ${options.systemPrompt}` : options.systemPrompt);
|
|
|
1668
1671
|
|
|
1669
1672
|
`;
|
|
1670
1673
|
} else if (event.type === "tool_execution_end") {
|
|
1671
|
-
|
|
1674
|
+
let output = extractToolResultText(event.result);
|
|
1675
|
+
if (options.env && Object.keys(options.env).length > 0) {
|
|
1676
|
+
output = redactSecrets(output, options.env);
|
|
1677
|
+
}
|
|
1672
1678
|
yield `data: ${JSON.stringify({ type: "tool-output-available", toolCallId: event.toolCallId, output, isError: event.isError, dynamic: true, providerExecuted: true })}
|
|
1673
1679
|
|
|
1674
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,8 +55,8 @@
|
|
|
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-gemini": "0.6.2",
|
|
59
58
|
"@sandagent/runner-codex": "0.6.2",
|
|
59
|
+
"@sandagent/runner-gemini": "0.6.2",
|
|
60
60
|
"@sandagent/runner-opencode": "0.6.2",
|
|
61
61
|
"@sandagent/runner-pi": "0.6.4-beta.0"
|
|
62
62
|
},
|