@whittlelabs/sifter 0.5.0 → 0.5.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 CHANGED
@@ -1,16 +1,13 @@
1
1
  # @whittlelabs/sifter
2
2
 
3
- The Whittle Sifter is a paired AI reviewer for [Whittle Sift](https://sift.staging.whittlelabs.com). It runs on your machine, executes review prompts against your own AI credentials (Claude Code, Anthropic API key, etc.), and submits the results back to Sift. Token spend stays on your account.
3
+ The Whittle Sifter is a paired AI reviewer for [Whittle Sift](https://sift.stage.whittlelabs.com). It runs on your machine, executes review prompts against your own AI credentials (Claude Code, Anthropic API key, etc.), and submits the results back to Sift. Token spend stays on your account.
4
4
 
5
5
  ## Install
6
6
 
7
- `@whittlelabs/sifter` is published to the private Whittle Labs GitHub Packages registry. You'll need a GitHub personal access token with `read:packages` scope and access to the `whittlelabs` org.
7
+ `@whittlelabs/sifter` is published publicly to npmjs.com (released by
8
+ `sifter-release.yml` on a version bump):
8
9
 
9
10
  ```bash
10
- # One-time: tell npm where to find @whittlelabs packages
11
- echo "@whittlelabs:registry=https://npm.pkg.github.com" >> ~/.npmrc
12
- echo "//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN" >> ~/.npmrc
13
-
14
11
  npm install -g @whittlelabs/sifter
15
12
  ```
16
13
 
@@ -24,11 +21,11 @@ Visit Sift's **Settings → Pair a Sifter**. Sift will display a pairing code an
24
21
  whittle-sifter init --pairing-code=ABCD-1234
25
22
  ```
26
23
 
27
- The Sifter defaults to the staging Keep instance (`https://keep.staging.whittlelabs.com`). To pair against a different environment, pass `--keep-url`:
24
+ The Sifter defaults to the stage Keep instance (`https://keep.stage.whittlelabs.com`). To pair against a different environment, pass `--keep-url`:
28
25
 
29
26
  ```bash
30
27
  whittle-sifter init \
31
- --keep-url=https://keep.testing.whittlelabs.com \
28
+ --keep-url=https://keep.test.whittlelabs.com \
32
29
  --pairing-code=ABCD-1234
33
30
  ```
34
31
 
package/bin.js CHANGED
@@ -17985,7 +17985,10 @@ var require_canonicalise = __commonJS({
17985
17985
  transitionResolver: options.transition.resolver,
17986
17986
  transitionContext: extractTransitionContext(options.transition)
17987
17987
  } : {},
17988
- ...options.qualityGates !== void 0 ? { qualityGates: serialiseQualityGates(options.qualityGates) } : {}
17988
+ ...options.qualityGates !== void 0 ? { qualityGates: serialiseQualityGates(options.qualityGates) } : {},
17989
+ // Normalise the emit spec: `true` → emit-all (`{}`); object → as-is;
17990
+ // `false`/omitted → not emitted (field absent).
17991
+ ...options.emitOutput === true ? { emitOutput: {} } : options.emitOutput && typeof options.emitOutput === "object" ? { emitOutput: options.emitOutput } : {}
17989
17992
  };
17990
17993
  }
17991
17994
  function interpolate(value, env) {
@@ -18732,6 +18735,7 @@ var require_claude_code = __commonJS({
18732
18735
  var child_process_1 = require("child_process");
18733
18736
  var loom_1 = require_dist3();
18734
18737
  var validate_output_1 = require_validate_output();
18738
+ var apply_1 = require_apply();
18735
18739
  var DEFAULT_TIMEOUT = 6e5;
18736
18740
  var ClaudeCodeExecutor = class {
18737
18741
  capability;
@@ -18823,10 +18827,11 @@ var require_claude_code = __commonJS({
18823
18827
  }
18824
18828
  };
18825
18829
  function createClaudeCodeExecutor(config, capabilityId = "claude-code") {
18826
- const cwd = config.cwd;
18827
- if (typeof cwd !== "string" || cwd.length === 0) {
18830
+ const cwdRaw = config.cwd;
18831
+ if (typeof cwdRaw !== "string" || cwdRaw.length === 0) {
18828
18832
  throw new Error('ClaudeCodeExecutor requires a non-empty "cwd" string in config');
18829
18833
  }
18834
+ const cwd = (0, apply_1.expandHome)(cwdRaw);
18830
18835
  const validated = { cwd, capabilityId };
18831
18836
  if (config.model !== void 0) {
18832
18837
  if (typeof config.model !== "string")
@@ -20710,7 +20715,7 @@ var import_shuttle = __toESM(require_dist5());
20710
20715
  // package.json
20711
20716
  var package_default = {
20712
20717
  name: "@whittlelabs/sifter",
20713
- version: "0.5.0",
20718
+ version: "0.5.1",
20714
20719
  description: "Whittle Sifter: paired AI reviewer for Whittle Sift job pools.",
20715
20720
  bin: {
20716
20721
  "whittle-sifter": "./dist/bin.js"