@whittlelabs/sifter 0.30.14 → 0.30.15

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.
Files changed (3) hide show
  1. package/bin.js +29 -12
  2. package/bin.js.map +2 -2
  3. package/package.json +1 -1
package/bin.js CHANGED
@@ -10047,8 +10047,19 @@ var require_claude_code = __commonJS({
10047
10047
  var progress_1 = require_progress();
10048
10048
  var apply_1 = require_apply();
10049
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"];
10050
+ var REVIEW_TOOLS = ["Read", "Grep", "Glob"];
10051
+ var REVIEW_RUN_ARGS = [
10052
+ "--setting-sources",
10053
+ "user",
10054
+ "--strict-mcp-config",
10055
+ "--tools",
10056
+ REVIEW_TOOLS.join(","),
10057
+ "--permission-mode",
10058
+ "default",
10059
+ "--settings",
10060
+ JSON.stringify({ disableAllHooks: true })
10061
+ ];
10062
+ var RETIRED_READ_TOOLS = ["LS"];
10052
10063
  var HOSTED_ENV_PASSTHROUGH = [
10053
10064
  "PATH",
10054
10065
  "HOME",
@@ -10331,7 +10342,7 @@ var require_claude_code = __commonJS({
10331
10342
  const model = modelOverride ?? this.config.model;
10332
10343
  const allowedTools = local ? this.config.allowedTools : checkoutScopedTools(this.config.allowedTools);
10333
10344
  return new Promise((resolve, reject) => {
10334
- const args = ["--print", "--output-format", "stream-json", "--verbose", ...UNTRUSTED_TREE_ARGS];
10345
+ const args = ["--print", "--output-format", "stream-json", "--verbose", ...REVIEW_RUN_ARGS];
10335
10346
  if (resumeSessionId)
10336
10347
  args.push("--resume", resumeSessionId);
10337
10348
  if (spec.outputSchema && typeof spec.outputSchema === "object" && Object.keys(spec.outputSchema).length > 0) {
@@ -10542,13 +10553,17 @@ var require_claude_code = __commonJS({
10542
10553
  function checkoutScopedTools(tools) {
10543
10554
  if (!tools)
10544
10555
  return void 0;
10545
- return tools.map((tool) => {
10546
- const name = CHECKOUT_READ_TOOLS.find((t) => tool === t || tool === `${t}(./**)`);
10556
+ const scoped = [];
10557
+ for (const tool of tools) {
10558
+ if (RETIRED_READ_TOOLS.some((t) => tool === t || tool === `${t}(./**)`))
10559
+ continue;
10560
+ const name = REVIEW_TOOLS.find((t) => tool === t || tool === `${t}(./**)`);
10547
10561
  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`);
10562
+ throw new Error(`claude-code: a hosted run may use only ${REVIEW_TOOLS.join(", ")} inside the checkout; "${tool}" is not allowed`);
10549
10563
  }
10550
- return `${name}(./**)`;
10551
- });
10564
+ scoped.push(`${name}(./**)`);
10565
+ }
10566
+ return scoped;
10552
10567
  }
10553
10568
  function buildChildEnv(modelKey, configDir) {
10554
10569
  if (!modelKey && !configDir)
@@ -26907,7 +26922,7 @@ var import_path = require("path");
26907
26922
  var import_promises = require("fs/promises");
26908
26923
  var import_yaml = __toESM(require_dist3());
26909
26924
  var import_shuttle = __toESM(require_dist5());
26910
- var buildVersion = true ? "0.30.14" : pkg.version;
26925
+ var buildVersion = true ? "0.30.15" : pkg.version;
26911
26926
  var sifterBrand = {
26912
26927
  product: {
26913
26928
  id: "sifter",
@@ -26940,11 +26955,13 @@ var sifterBrand = {
26940
26955
  // number chosen for tidiness rather than necessity would refuse a working
26941
26956
  // install. `git` 2.20 (Dec 2018) is older than any supported distro and is
26942
26957
  // where the `--no-tags --depth=1` fetch-by-ref path the materializer uses
26943
- // settled; `claude` 2.0 is where `--json-schema` and the stream-json shape
26944
- // the executor parses arrived, and the hosted image pins 2.1.x.
26958
+ // settled; `claude` 2.0.45 is the first release with `--json-schema`, the
26959
+ // newest of the flags every review passes (`--tools` arrived in 2.0.31;
26960
+ // the executor's REVIEW_RUN_ARGS names them all), and the hosted image pins
26961
+ // 2.1.x. Below it a review fails on an unknown option.
26945
26962
  minimumToolVersions: {
26946
26963
  git: "2.20.0",
26947
- claude: "2.0.0"
26964
+ claude: "2.0.45"
26948
26965
  },
26949
26966
  // Overlay-fetch origins for the signed standards-content URLs each Sift
26950
26967
  // tier signs (SIFT_PUBLIC_API_URL). Without these, the executor's SSRF