opencode-samcp 0.0.4__tar.gz → 0.0.5__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: opencode-samcp
3
- Version: 0.0.4
3
+ Version: 0.0.5
4
4
  Summary: Sub-agent MCP: let Devin, Codex, Claude Code and other agents spawn opencode sessions to do work
5
5
  Project-URL: Homepage, https://github.com/amirdaraby/opencode-samcp
6
6
  Project-URL: Repository, https://github.com/amirdaraby/opencode-samcp
@@ -5,7 +5,10 @@ const { spawn, spawnSync } = require("node:child_process");
5
5
  const path = require("node:path");
6
6
 
7
7
  const pkgRoot = path.resolve(__dirname, "..");
8
- const args = process.argv.slice(2);
8
+ // postinstall: build uv's cached env now, so the first MCP start doesn't download deps
9
+ // and time out in clients like Claude Desktop. Never fail the install over it.
10
+ const warmup = process.env.npm_lifecycle_event === "postinstall";
11
+ const args = warmup ? ["--help"] : process.argv.slice(2);
9
12
 
10
13
  function has(cmd) {
11
14
  return spawnSync(cmd, ["--version"], { stdio: "ignore" }).status === 0;
@@ -21,7 +24,13 @@ if (has("uvx")) {
21
24
  "opencode-samcp failed: uv is not installed on machine (needed to run the Python server). " +
22
25
  "Install it from https://docs.astral.sh/uv/getting-started/installation/"
23
26
  );
24
- process.exit(1);
27
+ process.exit(warmup ? 0 : 1);
28
+ }
29
+
30
+ if (warmup) {
31
+ const r = spawnSync(cmd, cmdArgs, { stdio: ["ignore", "ignore", "inherit"] });
32
+ if (r.status !== 0) console.error("opencode-samcp: warm-up failed; the first start may be slow.");
33
+ process.exit(0);
25
34
  }
26
35
 
27
36
  const child = spawn(cmd, cmdArgs, { stdio: "inherit" });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-samcp",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Sub-agent MCP: let Devin, Codex, Claude Code and other agents spawn opencode sessions to do work",
5
5
  "license": "MIT",
6
6
  "author": "Amir Daraby",
@@ -8,6 +8,7 @@
8
8
  "homepage": "https://github.com/amirdaraby/opencode-samcp#readme",
9
9
  "bugs": { "url": "https://github.com/amirdaraby/opencode-samcp/issues" },
10
10
  "bin": { "opencode-samcp": "bin/opencode-samcp.js" },
11
+ "scripts": { "postinstall": "node bin/opencode-samcp.js" },
11
12
  "files": ["bin", "src", "!**/__pycache__", "pyproject.toml", "README.md", "LICENSE"],
12
13
  "keywords": ["mcp", "opencode", "subagent", "devin", "codex", "ai-agents"],
13
14
  "engines": { "node": ">=18" }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "opencode-samcp"
3
- version = "0.0.4"
3
+ version = "0.0.5"
4
4
  description = "Sub-agent MCP: let Devin, Codex, Claude Code and other agents spawn opencode sessions to do work"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -394,7 +394,7 @@ wheels = [
394
394
 
395
395
  [[package]]
396
396
  name = "opencode-samcp"
397
- version = "0.0.4"
397
+ version = "0.0.5"
398
398
  source = { editable = "." }
399
399
  dependencies = [
400
400
  { name = "mcp" },
File without changes
File without changes