@zeroroot-ai/zerocool-claude 0.6.0 → 0.6.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.
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "homepage": "https://github.com/zeroroot-ai/zerocool-plugins",
11
11
  "repository": "https://github.com/zeroroot-ai/zerocool-plugins",
12
- "license": "MIT",
12
+ "license": "Elastic-2.0",
13
13
  "keywords": [
14
14
  "gibson",
15
15
  "security",
package/.mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "gibson": {
4
4
  "command": "npx",
5
- "args": ["--yes", "--package", "@zeroroot-ai/gibson-mcp@latest", "gibson-mcp", "--transport", "stdio"]
5
+ "args": ["--yes", "--package", "@zeroroot-ai/gibson-mcp@0.2.1", "gibson-mcp", "--transport", "stdio"]
6
6
  }
7
7
  }
8
8
  }
package/dist/hook-run.js CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-License-Identifier: Elastic-2.0
2
+ // Copyright 2026 Zero Root AI
1
3
  import { readFile } from "node:fs/promises";
2
4
  import { openTaskHarness } from "@zeroroot-ai/sdk";
3
5
  import { readAmbient, readLive, stateDir } from "./state.js";
package/dist/hook.js CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env node
2
+ // SPDX-License-Identifier: Elastic-2.0
3
+ // Copyright 2026 Zero Root AI
2
4
  import { runHook } from "./hook-run.js";
3
5
  /**
4
6
  * The hook bin. Runs unconditionally: npm installs it as a symlink named
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-License-Identifier: Elastic-2.0
2
+ // Copyright 2026 Zero Root AI
1
3
  // @zeroroot-ai/zerocool-claude: the Claude Code host adapter (ADR-0008).
2
4
  //
3
5
  // The tools are not here. They come from the Gibson MCP server, which the
package/dist/state.js CHANGED
@@ -1,3 +1,5 @@
1
+ // SPDX-License-Identifier: Elastic-2.0
2
+ // Copyright 2026 Zero Root AI
1
3
  import { readFile } from "node:fs/promises";
2
4
  import { homedir } from "node:os";
3
5
  import { join } from "node:path";
package/hooks/hooks.json CHANGED
@@ -6,8 +6,8 @@
6
6
  "hooks": [
7
7
  {
8
8
  "type": "command",
9
- "command": "npx",
10
- "args": ["--yes", "--package", "@zeroroot-ai/zerocool-claude@latest", "zerocool-claude-hook"],
9
+ "command": "node",
10
+ "args": ["${CLAUDE_PLUGIN_ROOT}/hooks/zerocool-claude-hook.mjs"],
11
11
  "timeout": 30,
12
12
  "statusMessage": "Loading Gibson context"
13
13
  }
@@ -19,8 +19,8 @@
19
19
  "hooks": [
20
20
  {
21
21
  "type": "command",
22
- "command": "npx",
23
- "args": ["--yes", "--package", "@zeroroot-ai/zerocool-claude@latest", "zerocool-claude-hook"],
22
+ "command": "node",
23
+ "args": ["${CLAUDE_PLUGIN_ROOT}/hooks/zerocool-claude-hook.mjs"],
24
24
  "timeout": 60
25
25
  }
26
26
  ]
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ // SPDX-License-Identifier: Elastic-2.0
3
+ // Copyright 2026 Zero Root AI
4
+
5
+ // The hook entry Claude Code runs (hooks.json, exec form: `node` plus this
6
+ // path, which works on every platform). It runs this package's own hook bin
7
+ // from the registry at this package's own version, so a session never runs a
8
+ // floating tag.
9
+ //
10
+ // The version below is the one line release-please bumps: the annotation on
11
+ // it is what the generic updater looks for, and release-please-config.json
12
+ // lists this file under the package's extra-files. The guard in
13
+ // src/pins.test.ts fails when the line, the annotation or the config entry
14
+ // goes missing, never after a routine release.
15
+ //
16
+ // No import outside node's own modules: the plugin directory carries no
17
+ // node_modules.
18
+ import { spawn } from "node:child_process"
19
+
20
+ const VERSION = "0.6.1" // x-release-please-version
21
+ const PACKAGE = `@zeroroot-ai/zerocool-claude@${VERSION}`
22
+ const BIN = "zerocool-claude-hook"
23
+
24
+ // npx on Windows is a .cmd shim, which only a shell can start. The argv is
25
+ // three constants, so the shell sees nothing a person typed.
26
+ const child = spawn("npx", ["--yes", "--package", PACKAGE, BIN], { stdio: "inherit", shell: process.platform === "win32" })
27
+ child.on("error", (e) => {
28
+ // Fail open, like the bin: a hook error must not block the session.
29
+ process.stderr.write(`[zerocool-claude hook] cannot run npx: ${e.message}\n`)
30
+ process.exit(0)
31
+ })
32
+ child.on("exit", (code, signal) => process.exit(code ?? (signal ? 1 : 0)))
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@zeroroot-ai/zerocool-claude",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Claude Code host adapter for Gibson (zerocool): the plugin bundle around the Gibson MCP server, plus SessionStart and SessionEnd hooks. The model stays on your Claude login.",
5
- "license": "MIT",
5
+ "license": "Elastic-2.0",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/zeroroot-ai/zerocool-plugins.git",
@@ -25,7 +25,7 @@
25
25
  "test": "tsc -p tsconfig.test.json && node --test \"dist-test/**/*.test.js\""
26
26
  },
27
27
  "dependencies": {
28
- "@zeroroot-ai/sdk": "^0.9.0"
28
+ "@zeroroot-ai/sdk": "^0.12.0"
29
29
  },
30
30
  "bin": {
31
31
  "zerocool-claude-hook": "dist/hook.js"