llm-cli-gateway 1.17.0 → 1.17.2
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/CHANGELOG.md +28 -0
- package/README.md +16 -19
- package/dist/cache-stats.d.ts +47 -0
- package/dist/cache-stats.js +85 -2
- package/dist/config.js +1 -1
- package/dist/doctor.d.ts +22 -1
- package/dist/doctor.js +35 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +123 -39
- package/dist/process-monitor.d.ts +1 -2
- package/dist/process-monitor.js +7 -7
- package/dist/prompt-parts.d.ts +1 -1
- package/dist/prompt-parts.js +1 -1
- package/dist/provider-login-guidance.js +5 -5
- package/dist/provider-status.js +0 -4
- package/dist/request-helpers.d.ts +28 -26
- package/dist/request-helpers.js +50 -43
- package/dist/session-manager.js +1 -1
- package/dist/stream-json-parser.js +30 -15
- package/dist/upstream-contracts.d.ts +24 -0
- package/dist/upstream-contracts.js +213 -18
- package/dist/validation-tools.js +1 -1
- package/package.json +11 -8
- package/setup/status.schema.json +31 -0
- package/socket.yml +8 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llm-cli-gateway",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.2",
|
|
4
4
|
"mcpName": "io.github.verivus-oss/llm-cli-gateway",
|
|
5
5
|
"description": "MCP server providing unified access to Claude Code, Codex, Gemini, Grok, and Mistral Vibe CLIs with session management, retry logic, async job orchestration, durable job results, and cross-LLM validation.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
"migrate": "node dist/migrate.js",
|
|
63
63
|
"test": "vitest run",
|
|
64
64
|
"test:ci": "vitest run --pool=forks --maxWorkers=1",
|
|
65
|
+
"test:fuzz": "vitest run src/__tests__/fuzz.test.ts",
|
|
65
66
|
"test:coverage": "vitest run --coverage",
|
|
66
67
|
"test:watch": "vitest",
|
|
67
68
|
"test:unit": "vitest run src/__tests__/executor.test.ts",
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
"check": "npm run build && npm run lint && npm test && npm run security:audit",
|
|
82
83
|
"release:build": "bash installer/build-release.sh",
|
|
83
84
|
"release:checksums": "cd installer/dist && sha256sum --check SHA256SUMS",
|
|
84
|
-
"release:docker": "docker compose -f docker
|
|
85
|
+
"release:docker": "docker compose -f docker/personal.compose.yml build"
|
|
85
86
|
},
|
|
86
87
|
"dependencies": {
|
|
87
88
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
"content-type": "1.0.5",
|
|
90
91
|
"smol-toml": "^1.6.1",
|
|
91
92
|
"type-is": "2.0.1",
|
|
92
|
-
"zod": "^
|
|
93
|
+
"zod": "^4.4.3"
|
|
93
94
|
},
|
|
94
95
|
"peerDependencies": {
|
|
95
96
|
"pg": "^8.12.0"
|
|
@@ -100,18 +101,20 @@
|
|
|
100
101
|
}
|
|
101
102
|
},
|
|
102
103
|
"devDependencies": {
|
|
104
|
+
"@eslint/js": "^10.0.1",
|
|
103
105
|
"@types/better-sqlite3": "^7.6.0",
|
|
104
|
-
"@types/node": "^
|
|
106
|
+
"@types/node": "^25.9.1",
|
|
105
107
|
"@types/pg": "^8.11.10",
|
|
106
108
|
"@typescript-eslint/eslint-plugin": "^8.59.4",
|
|
107
109
|
"@typescript-eslint/parser": "^8.59.4",
|
|
108
110
|
"@vitest/coverage-v8": "^4.1.2",
|
|
109
|
-
"eslint": "^
|
|
110
|
-
"eslint-config-prettier": "^
|
|
111
|
-
"eslint-plugin-security": "^
|
|
111
|
+
"eslint": "^10.4.1",
|
|
112
|
+
"eslint-config-prettier": "^10.1.8",
|
|
113
|
+
"eslint-plugin-security": "^4.0.0",
|
|
114
|
+
"fast-check": "^4.8.0",
|
|
112
115
|
"pg": "^8.12.0",
|
|
113
116
|
"prettier": "^3.0.0",
|
|
114
|
-
"typescript": "^
|
|
117
|
+
"typescript": "^6.0.3",
|
|
115
118
|
"vitest": "^4.0.18"
|
|
116
119
|
},
|
|
117
120
|
"overrides": {
|
package/setup/status.schema.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"endpoint_exposure",
|
|
16
16
|
"client_config",
|
|
17
17
|
"cache_awareness",
|
|
18
|
+
"upstream",
|
|
18
19
|
"next_actions"
|
|
19
20
|
],
|
|
20
21
|
"properties": {
|
|
@@ -302,6 +303,36 @@
|
|
|
302
303
|
},
|
|
303
304
|
"additionalProperties": false
|
|
304
305
|
},
|
|
306
|
+
"upstream": {
|
|
307
|
+
"type": "object",
|
|
308
|
+
"required": [
|
|
309
|
+
"note",
|
|
310
|
+
"recommendation",
|
|
311
|
+
"how_to_check",
|
|
312
|
+
"probed",
|
|
313
|
+
"installed_versions",
|
|
314
|
+
"contracts"
|
|
315
|
+
],
|
|
316
|
+
"properties": {
|
|
317
|
+
"note": { "type": "string" },
|
|
318
|
+
"recommendation": { "type": "string" },
|
|
319
|
+
"how_to_check": { "type": "string" },
|
|
320
|
+
"probed": { "type": "boolean" },
|
|
321
|
+
"installed_versions": {
|
|
322
|
+
"type": "object",
|
|
323
|
+
"additionalProperties": { "type": ["string", "null"] }
|
|
324
|
+
},
|
|
325
|
+
"contracts": {
|
|
326
|
+
"type": "object",
|
|
327
|
+
"additionalProperties": true
|
|
328
|
+
},
|
|
329
|
+
"probe_report": {
|
|
330
|
+
"type": ["object", "null"],
|
|
331
|
+
"additionalProperties": true
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
"additionalProperties": false
|
|
335
|
+
},
|
|
305
336
|
"next_actions": {
|
|
306
337
|
"type": "array",
|
|
307
338
|
"items": { "type": "string" }
|
package/socket.yml
CHANGED
|
@@ -2,11 +2,9 @@ version: 2
|
|
|
2
2
|
|
|
3
3
|
# Socket alerts on llm-cli-gateway
|
|
4
4
|
# ---------------------------------
|
|
5
|
-
# This package intentionally triggers
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# this dependency. The rationale for each is documented inline below and in
|
|
9
|
-
# detail under "Security Considerations" in README.md.
|
|
5
|
+
# This package intentionally triggers behavioural alerts. They are accurate
|
|
6
|
+
# descriptions of what the package does; the rationale for each is documented
|
|
7
|
+
# inline below and in detail under "Security Considerations" in README.md.
|
|
10
8
|
#
|
|
11
9
|
# networkAccess
|
|
12
10
|
# src/http-transport.ts opens an HTTP MCP transport (createServer/listen).
|
|
@@ -23,9 +21,10 @@ version: 2
|
|
|
23
21
|
#
|
|
24
22
|
# shellAccess
|
|
25
23
|
# This alert fires on every module that imports node:child_process, and
|
|
26
|
-
# because spawning provider CLIs and git is the entire purpose of the
|
|
27
|
-
#
|
|
28
|
-
#
|
|
24
|
+
# because spawning provider CLIs and git is the entire purpose of the package
|
|
25
|
+
# it is a reviewed capability description, not a finding. As of v1.17.1 this
|
|
26
|
+
# specific reviewed alert is suppressed via `issueRules.shellAccess: false`
|
|
27
|
+
# to avoid noisy repeat findings on every release.
|
|
29
28
|
#
|
|
30
29
|
# INVARIANT enforced across ALL sites below: arguments are always passed
|
|
31
30
|
# as an array and `shell: true` is NEVER set, so there is no shell
|
|
@@ -75,6 +74,7 @@ issueRules:
|
|
|
75
74
|
installScripts: true
|
|
76
75
|
telemetry: true
|
|
77
76
|
hasNativeCode: true # better-sqlite3 — known and expected
|
|
77
|
+
shellAccess: false # reviewed gateway capability; see rationale above
|
|
78
78
|
shellScriptOverride: true
|
|
79
79
|
gitDependency: true
|
|
80
80
|
httpDependency: true
|