@whittlelabs/sifter 0.30.12 → 0.30.14
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/bin.js +43 -5
- package/bin.js.map +2 -2
- package/package.json +1 -1
package/bin.js
CHANGED
|
@@ -10030,6 +10030,7 @@ var require_claude_code = __commonJS({
|
|
|
10030
10030
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
10031
10031
|
exports2.classifyEnvironmentFault = classifyEnvironmentFault;
|
|
10032
10032
|
exports2.createClaudeCodeExecutor = createClaudeCodeExecutor;
|
|
10033
|
+
exports2.checkoutScopedTools = checkoutScopedTools;
|
|
10033
10034
|
exports2.parseStreamJson = parseStreamJson;
|
|
10034
10035
|
exports2.relativeWorkspaceReads = relativeWorkspaceReads;
|
|
10035
10036
|
exports2.globToRegExp = globToRegExp;
|
|
@@ -10046,6 +10047,26 @@ var require_claude_code = __commonJS({
|
|
|
10046
10047
|
var progress_1 = require_progress();
|
|
10047
10048
|
var apply_1 = require_apply();
|
|
10048
10049
|
var DEFAULT_TIMEOUT = 6e5;
|
|
10050
|
+
var UNTRUSTED_TREE_ARGS = ["--setting-sources", "user", "--strict-mcp-config"];
|
|
10051
|
+
var CHECKOUT_READ_TOOLS = ["Read", "Grep", "Glob", "LS"];
|
|
10052
|
+
var HOSTED_ENV_PASSTHROUGH = [
|
|
10053
|
+
"PATH",
|
|
10054
|
+
"HOME",
|
|
10055
|
+
"TMPDIR",
|
|
10056
|
+
"LANG",
|
|
10057
|
+
"LC_ALL",
|
|
10058
|
+
"LC_CTYPE",
|
|
10059
|
+
"TZ",
|
|
10060
|
+
"NODE_EXTRA_CA_CERTS",
|
|
10061
|
+
"SSL_CERT_FILE",
|
|
10062
|
+
"SSL_CERT_DIR",
|
|
10063
|
+
"HTTPS_PROXY",
|
|
10064
|
+
"HTTP_PROXY",
|
|
10065
|
+
"NO_PROXY",
|
|
10066
|
+
"https_proxy",
|
|
10067
|
+
"http_proxy",
|
|
10068
|
+
"no_proxy"
|
|
10069
|
+
];
|
|
10049
10070
|
function describeClaudeFailure(meta, fallback) {
|
|
10050
10071
|
if (!meta)
|
|
10051
10072
|
return fallback;
|
|
@@ -10308,8 +10329,9 @@ var require_claude_code = __commonJS({
|
|
|
10308
10329
|
runClaude(prompt, spec, cwd, childEnv, signal, modelOverride, reporter, resumeSessionId, transcriptName, local = false) {
|
|
10309
10330
|
const outputLabel = spec.outputLabel;
|
|
10310
10331
|
const model = modelOverride ?? this.config.model;
|
|
10332
|
+
const allowedTools = local ? this.config.allowedTools : checkoutScopedTools(this.config.allowedTools);
|
|
10311
10333
|
return new Promise((resolve, reject) => {
|
|
10312
|
-
const args = ["--print", "--output-format", "stream-json", "--verbose"];
|
|
10334
|
+
const args = ["--print", "--output-format", "stream-json", "--verbose", ...UNTRUSTED_TREE_ARGS];
|
|
10313
10335
|
if (resumeSessionId)
|
|
10314
10336
|
args.push("--resume", resumeSessionId);
|
|
10315
10337
|
if (spec.outputSchema && typeof spec.outputSchema === "object" && Object.keys(spec.outputSchema).length > 0) {
|
|
@@ -10319,8 +10341,8 @@ var require_claude_code = __commonJS({
|
|
|
10319
10341
|
args.push("--model", model);
|
|
10320
10342
|
if (this.config.maxTurns !== void 0)
|
|
10321
10343
|
args.push("--max-turns", String(this.config.maxTurns));
|
|
10322
|
-
if (
|
|
10323
|
-
args.push("--allowedTools",
|
|
10344
|
+
if (allowedTools && allowedTools.length > 0) {
|
|
10345
|
+
args.push("--allowedTools", allowedTools.join(","));
|
|
10324
10346
|
}
|
|
10325
10347
|
let child;
|
|
10326
10348
|
try {
|
|
@@ -10517,11 +10539,27 @@ var require_claude_code = __commonJS({
|
|
|
10517
10539
|
}
|
|
10518
10540
|
return new ClaudeCodeExecutor(validated);
|
|
10519
10541
|
}
|
|
10542
|
+
function checkoutScopedTools(tools) {
|
|
10543
|
+
if (!tools)
|
|
10544
|
+
return void 0;
|
|
10545
|
+
return tools.map((tool) => {
|
|
10546
|
+
const name = CHECKOUT_READ_TOOLS.find((t) => tool === t || tool === `${t}(./**)`);
|
|
10547
|
+
if (!name) {
|
|
10548
|
+
throw new Error(`claude-code: a hosted run may use only ${CHECKOUT_READ_TOOLS.join(", ")} inside the checkout; "${tool}" is not allowed`);
|
|
10549
|
+
}
|
|
10550
|
+
return `${name}(./**)`;
|
|
10551
|
+
});
|
|
10552
|
+
}
|
|
10520
10553
|
function buildChildEnv(modelKey, configDir) {
|
|
10521
10554
|
if (!modelKey && !configDir)
|
|
10522
10555
|
return void 0;
|
|
10556
|
+
const env = {};
|
|
10557
|
+
for (const name of HOSTED_ENV_PASSTHROUGH) {
|
|
10558
|
+
if (process.env[name] !== void 0)
|
|
10559
|
+
env[name] = process.env[name];
|
|
10560
|
+
}
|
|
10523
10561
|
return {
|
|
10524
|
-
...
|
|
10562
|
+
...env,
|
|
10525
10563
|
...modelKey ? { ANTHROPIC_API_KEY: modelKey } : {},
|
|
10526
10564
|
...configDir ? { CLAUDE_CONFIG_DIR: configDir } : {}
|
|
10527
10565
|
};
|
|
@@ -26869,7 +26907,7 @@ var import_path = require("path");
|
|
|
26869
26907
|
var import_promises = require("fs/promises");
|
|
26870
26908
|
var import_yaml = __toESM(require_dist3());
|
|
26871
26909
|
var import_shuttle = __toESM(require_dist5());
|
|
26872
|
-
var buildVersion = true ? "0.30.
|
|
26910
|
+
var buildVersion = true ? "0.30.14" : pkg.version;
|
|
26873
26911
|
var sifterBrand = {
|
|
26874
26912
|
product: {
|
|
26875
26913
|
id: "sifter",
|