@warmdrift/kgauto-check 0.1.0 → 0.1.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 +32 -4
- package/dist/bin.js +45 -5
- package/dist/{chunk-WJEKN4BL.js → chunk-2DPBQQWM.js} +11 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,12 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
**Point your AI at your project.**
|
|
4
4
|
|
|
5
|
-
If you're the human
|
|
5
|
+
If you're the human and your agent can browse + run commands, one sentence is enough:
|
|
6
6
|
|
|
7
7
|
```
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Run the kgauto check on this project. Instructions for you, the agent: fetch https://model-check-alpha.vercel.app/check.html and follow its "For the agent" section. Show me the card it produces, verbatim.
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or the manual version — your part is two steps.
|
|
12
|
+
|
|
13
|
+
**Step 1 — add the check to your agent (once).** Claude Code: run this in a terminal, then start a fresh session in your project (new MCP servers load at session start):
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
claude mcp add kgauto-check -- npx -y @warmdrift/kgauto-check
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Cursor and most other agents — add to your MCP config, then restart the app:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{ "mcpServers": { "kgauto-check": { "command": "npx", "args": ["-y", "@warmdrift/kgauto-check"] } } }
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Step 2 — paste the ask**, in your agent, inside the project you want checked:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Run the kgauto check on this project: call kgauto-check's start_check tool, follow its instructions, and show me the card it returns, verbatim.
|
|
11
29
|
```
|
|
12
30
|
|
|
13
31
|
Everything below is for the agent.
|
|
@@ -20,6 +38,16 @@ A local, **fully offline** MCP server that checks a project's AI call surface ag
|
|
|
20
38
|
|
|
21
39
|
**The trust boundary:** you read the project's code (you already have access); kgauto reads nothing. The extract you build carries identifiers and counts only — never prompt text, source code, or secrets. This check ran locally against kgauto's bundled model catalog. Nothing is uploaded; no rows are written anywhere. There is no code path that could make that sentence false: the server makes no network calls.
|
|
22
40
|
|
|
41
|
+
## Zero-install one-shot (shell-capable agents)
|
|
42
|
+
|
|
43
|
+
No MCP setup, no restart:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx -y @warmdrift/kgauto-check --extract-contract # extraction instructions + privacy contract
|
|
47
|
+
# ...read the project, write extract.json per those instructions...
|
|
48
|
+
npx -y @warmdrift/kgauto-check --extract extract.json # prints the findings card, fully offline
|
|
49
|
+
```
|
|
50
|
+
|
|
23
51
|
## Tools
|
|
24
52
|
|
|
25
53
|
| Tool | What it does |
|
package/dist/bin.js
CHANGED
|
@@ -1,10 +1,50 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
ExtractSchema,
|
|
4
|
+
START_CHECK_INSTRUCTIONS,
|
|
5
|
+
runCheck,
|
|
3
6
|
startStdio
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2DPBQQWM.js";
|
|
5
8
|
|
|
6
9
|
// src/bin.ts
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
import { readFileSync } from "fs";
|
|
11
|
+
var args = process.argv.slice(2);
|
|
12
|
+
function oneShot() {
|
|
13
|
+
if (args.includes("--extract-contract")) {
|
|
14
|
+
console.log(START_CHECK_INSTRUCTIONS);
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
const i = args.indexOf("--extract");
|
|
18
|
+
if (i === -1) return false;
|
|
19
|
+
const file = args[i + 1];
|
|
20
|
+
if (!file) {
|
|
21
|
+
console.error("usage: kgauto-check-mcp --extract <extract.json> (or --extract-contract for instructions)");
|
|
22
|
+
process.exitCode = 1;
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
let raw;
|
|
26
|
+
try {
|
|
27
|
+
raw = JSON.parse(readFileSync(file, "utf8"));
|
|
28
|
+
} catch (err) {
|
|
29
|
+
console.error(`could not read ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
const parsed = ExtractSchema.safeParse(raw);
|
|
34
|
+
if (!parsed.success) {
|
|
35
|
+
console.error("extract does not match the contract (run --extract-contract for the spec):");
|
|
36
|
+
for (const issue of parsed.error.issues.slice(0, 10)) {
|
|
37
|
+
console.error(` - ${issue.path.join(".")}: ${issue.message}`);
|
|
38
|
+
}
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
console.log(runCheck(parsed.data).card);
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
if (!oneShot()) {
|
|
46
|
+
startStdio().catch((err) => {
|
|
47
|
+
console.error("kgauto-check-mcp failed to start:", err);
|
|
48
|
+
process.exit(1);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
@@ -352,7 +352,17 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
352
352
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
353
353
|
import { z as z2 } from "zod";
|
|
354
354
|
import { tryGetProfile as tryGetProfile2, resolveModelAlias as resolveModelAlias2, LIBRARY_VERSION as LIBRARY_VERSION2 } from "@warmdrift/kgauto-compiler";
|
|
355
|
-
|
|
355
|
+
import { readFileSync } from "fs";
|
|
356
|
+
import { fileURLToPath } from "url";
|
|
357
|
+
import { dirname, join } from "path";
|
|
358
|
+
var CHECK_VERSION = (() => {
|
|
359
|
+
try {
|
|
360
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
361
|
+
return JSON.parse(readFileSync(join(here, "../package.json"), "utf8")).version;
|
|
362
|
+
} catch {
|
|
363
|
+
return "0.0.0-unknown";
|
|
364
|
+
}
|
|
365
|
+
})();
|
|
356
366
|
var text = (t) => ({ content: [{ type: "text", text: t }] });
|
|
357
367
|
function buildServer() {
|
|
358
368
|
const server = new McpServer(
|
package/dist/index.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ declare const CallSiteSchema: z.ZodObject<{
|
|
|
55
55
|
usesParallelToolCalls?: boolean | undefined;
|
|
56
56
|
expectsStructuredOutput?: boolean | undefined;
|
|
57
57
|
streaming?: boolean | undefined;
|
|
58
|
-
retry?: "none" | "same-model" | "fallback-chain" |
|
|
58
|
+
retry?: "unknown" | "none" | "same-model" | "fallback-chain" | undefined;
|
|
59
59
|
fallbackModels?: string[] | undefined;
|
|
60
60
|
estCallsPerMonth?: number | undefined;
|
|
61
61
|
notes?: string | undefined;
|
|
@@ -71,7 +71,7 @@ declare const CallSiteSchema: z.ZodObject<{
|
|
|
71
71
|
usesParallelToolCalls?: boolean | undefined;
|
|
72
72
|
expectsStructuredOutput?: boolean | undefined;
|
|
73
73
|
streaming?: boolean | undefined;
|
|
74
|
-
retry?: "none" | "same-model" | "fallback-chain" |
|
|
74
|
+
retry?: "unknown" | "none" | "same-model" | "fallback-chain" | undefined;
|
|
75
75
|
fallbackModels?: string[] | undefined;
|
|
76
76
|
estCallsPerMonth?: number | undefined;
|
|
77
77
|
notes?: string | undefined;
|
|
@@ -133,7 +133,7 @@ declare const ExtractSchema: z.ZodObject<{
|
|
|
133
133
|
usesParallelToolCalls?: boolean | undefined;
|
|
134
134
|
expectsStructuredOutput?: boolean | undefined;
|
|
135
135
|
streaming?: boolean | undefined;
|
|
136
|
-
retry?: "none" | "same-model" | "fallback-chain" |
|
|
136
|
+
retry?: "unknown" | "none" | "same-model" | "fallback-chain" | undefined;
|
|
137
137
|
fallbackModels?: string[] | undefined;
|
|
138
138
|
estCallsPerMonth?: number | undefined;
|
|
139
139
|
notes?: string | undefined;
|
|
@@ -149,7 +149,7 @@ declare const ExtractSchema: z.ZodObject<{
|
|
|
149
149
|
usesParallelToolCalls?: boolean | undefined;
|
|
150
150
|
expectsStructuredOutput?: boolean | undefined;
|
|
151
151
|
streaming?: boolean | undefined;
|
|
152
|
-
retry?: "none" | "same-model" | "fallback-chain" |
|
|
152
|
+
retry?: "unknown" | "none" | "same-model" | "fallback-chain" | undefined;
|
|
153
153
|
fallbackModels?: string[] | undefined;
|
|
154
154
|
estCallsPerMonth?: number | undefined;
|
|
155
155
|
notes?: string | undefined;
|
|
@@ -172,7 +172,7 @@ declare const ExtractSchema: z.ZodObject<{
|
|
|
172
172
|
usesParallelToolCalls?: boolean | undefined;
|
|
173
173
|
expectsStructuredOutput?: boolean | undefined;
|
|
174
174
|
streaming?: boolean | undefined;
|
|
175
|
-
retry?: "none" | "same-model" | "fallback-chain" |
|
|
175
|
+
retry?: "unknown" | "none" | "same-model" | "fallback-chain" | undefined;
|
|
176
176
|
fallbackModels?: string[] | undefined;
|
|
177
177
|
estCallsPerMonth?: number | undefined;
|
|
178
178
|
notes?: string | undefined;
|
|
@@ -195,7 +195,7 @@ declare const ExtractSchema: z.ZodObject<{
|
|
|
195
195
|
usesParallelToolCalls?: boolean | undefined;
|
|
196
196
|
expectsStructuredOutput?: boolean | undefined;
|
|
197
197
|
streaming?: boolean | undefined;
|
|
198
|
-
retry?: "none" | "same-model" | "fallback-chain" |
|
|
198
|
+
retry?: "unknown" | "none" | "same-model" | "fallback-chain" | undefined;
|
|
199
199
|
fallbackModels?: string[] | undefined;
|
|
200
200
|
estCallsPerMonth?: number | undefined;
|
|
201
201
|
notes?: string | undefined;
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warmdrift/kgauto-check",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Point your AI at your project — kgauto's local MCP check. Your coding agent extracts your AI surface (identifiers and counts, never code) and this server checks it against kgauto's verified model catalog: statuses, prices, cliffs, capability mismatches, resilience. Runs fully offline; nothing is uploaded, no rows are written anywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|