aikoql-mcp 0.1.18 → 0.2.0

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 (2) hide show
  1. package/package.json +1 -1
  2. package/run.js +9 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aikoql-mcp",
3
- "version": "0.1.18",
3
+ "version": "0.2.0",
4
4
  "description": "Aikoql — The Agent-First Knowledge Database. Single binary, zero deps. MCP server for knowledge CRUD, aikoql queries, graph traversal, hybrid search, context compilation, document ingestion, and more.",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
package/run.js CHANGED
@@ -102,17 +102,22 @@ function download() {
102
102
  }
103
103
  }
104
104
 
105
- if (!fs.existsSync(binPath)) {
105
+ // R7 (review round 3): AIKOQL_BINARY=<path> skips the release download and
106
+ // runs a local binary instead — the CI tarball smoke uses it because a PR's
107
+ // version has no GitHub Release yet.
108
+ const binary = process.env.AIKOQL_BINARY || binPath;
109
+
110
+ if (binary === binPath && !fs.existsSync(binPath)) {
106
111
  download();
107
112
  }
108
113
 
109
- if (!fs.existsSync(binPath)) {
110
- fail('binary not found after download.');
114
+ if (!fs.existsSync(binary)) {
115
+ fail(`binary not found: ${binary}`);
111
116
  }
112
117
 
113
118
  // Forward all args to the binary via long-lived spawn (MCP needs persistent stdio)
114
119
  const args = process.argv.slice(2);
115
- const child = spawn(binPath, args, { stdio: 'inherit' });
120
+ const child = spawn(binary, args, { stdio: 'inherit' });
116
121
 
117
122
  child.on('exit', (code, signal) => {
118
123
  if (signal) {