@glubean/mcp 0.2.4 → 0.3.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.
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +208 -141
- package/dist/index.js.map +1 -1
- package/dist/version-compat.d.ts +52 -0
- package/dist/version-compat.d.ts.map +1 -0
- package/dist/version-compat.js +176 -0
- package/dist/version-compat.js.map +1 -0
- package/package.json +6 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type NormalizedContractMeta as SharedExtractedContract } from "@glubean/scanner";
|
|
2
|
+
import { type CompatResult } from "./version-compat.js";
|
|
2
3
|
type Vars = Record<string, string>;
|
|
3
4
|
export declare function findProjectRoot(startDir: string): Promise<string>;
|
|
4
5
|
/**
|
|
@@ -18,6 +19,7 @@ interface DiscoveredTest {
|
|
|
18
19
|
skip?: boolean;
|
|
19
20
|
only?: boolean;
|
|
20
21
|
tags?: string[];
|
|
22
|
+
groupId?: string;
|
|
21
23
|
requires?: string;
|
|
22
24
|
defaultRun?: string;
|
|
23
25
|
deferred?: string;
|
|
@@ -159,6 +161,15 @@ export declare function runLocalTestsFromFile(args: {
|
|
|
159
161
|
failed: number;
|
|
160
162
|
};
|
|
161
163
|
error?: string;
|
|
164
|
+
/** Runner-fallback or protocol warnings emitted by the executor. (Plan 1 AC6) */
|
|
165
|
+
warnings?: string[];
|
|
166
|
+
/**
|
|
167
|
+
* SDK / runner version compat probe result (Plan 3).
|
|
168
|
+
* Always populated. When `ok: false`, tests were NOT run because we
|
|
169
|
+
* detected a dual-package hazard that would have produced misleading
|
|
170
|
+
* errors. See `versionInfo.message` for the install command.
|
|
171
|
+
*/
|
|
172
|
+
versionInfo?: CompatResult;
|
|
162
173
|
}>;
|
|
163
174
|
export declare const MCP_TOOL_NAMES: {
|
|
164
175
|
readonly discoverTests: "glubean_discover_tests";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,14 +14,16 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
14
14
|
import { z } from "zod";
|
|
15
15
|
import { basename, dirname, resolve } from "node:path";
|
|
16
16
|
import { readFile, stat } from "node:fs/promises";
|
|
17
|
+
import { parse as parseYaml } from "yaml";
|
|
17
18
|
import { createHash } from "node:crypto";
|
|
18
19
|
import { pathToFileURL } from "node:url";
|
|
19
|
-
import { applyEnvTemplating, bootstrap, loadProjectEnv, LOCAL_RUN_DEFAULTS, ProjectRunner } from "@glubean/runner";
|
|
20
|
+
import { applyEnvTemplating, bootstrap, loadProjectEnv, LOCAL_RUN_DEFAULTS, ProjectRunner, TestExecutor } from "@glubean/runner";
|
|
20
21
|
import { renderArtifact, openapiArtifact } from "@glubean/sdk";
|
|
21
|
-
import { createScanner, extractFromSource, scan } from "@glubean/scanner";
|
|
22
|
+
import { createScanner, extractFromSource, matchesTemplateFilter, matchesTemplateId, scan, } from "@glubean/scanner";
|
|
22
23
|
import { extractContractCases } from "@glubean/scanner/static";
|
|
23
24
|
import { extractContractFromFile as sharedExtractFromFile, extractContractsFromProject as sharedExtractFromProject, } from "@glubean/scanner";
|
|
24
25
|
import { MCP_PACKAGE_VERSION, DEFAULT_GENERATED_BY } from "./version.js";
|
|
26
|
+
import { checkSdkCompat } from "./version-compat.js";
|
|
25
27
|
const METADATA_SCHEMA_VERSION = "1";
|
|
26
28
|
function toLegacyHttpContract(c) {
|
|
27
29
|
// Support BOTH shapes during transitional P4:
|
|
@@ -65,6 +67,9 @@ function toLegacyHttpContract(c) {
|
|
|
65
67
|
defaultRun: cs.defaultRun,
|
|
66
68
|
tags: cs.tags,
|
|
67
69
|
extensions: cs.extensions,
|
|
70
|
+
given: cs.given ?? csAny.given,
|
|
71
|
+
hasVerify: cs.hasVerify ?? csAny.hasVerify,
|
|
72
|
+
verifyRules: cs.verifyRules ?? csAny.verifyRules,
|
|
68
73
|
protocolExpect: response?.status != null
|
|
69
74
|
? { status: response.status }
|
|
70
75
|
: csAny.protocolExpect,
|
|
@@ -86,17 +91,27 @@ const DEFAULT_MCP_TRACE_CONFIG = {
|
|
|
86
91
|
keepResponseHeaders: ["content-type", "set-cookie", "location"],
|
|
87
92
|
};
|
|
88
93
|
let _mcpTraceConfig;
|
|
94
|
+
// Accept a header allow-list only if it's an array of strings. Anything else
|
|
95
|
+
// (a bare string, a non-string element) falls back to the default — the MCP
|
|
96
|
+
// server must not crash `filterHeaders` on a malformed glubean.yaml. The CLI's
|
|
97
|
+
// `loadProjectConfigV1` hard-errors on the same input, so the config mistake
|
|
98
|
+
// still surfaces on `glubean run`.
|
|
99
|
+
function asHeaderList(value, fallback) {
|
|
100
|
+
return Array.isArray(value) && value.every((h) => typeof h === "string")
|
|
101
|
+
? value
|
|
102
|
+
: fallback;
|
|
103
|
+
}
|
|
89
104
|
async function loadMcpTraceConfig(projectRoot) {
|
|
90
105
|
if (_mcpTraceConfig)
|
|
91
106
|
return _mcpTraceConfig;
|
|
92
107
|
try {
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
const userConfig =
|
|
108
|
+
const yamlPath = resolve(projectRoot, "glubean.yaml");
|
|
109
|
+
const parsed = parseYaml(await readFile(yamlPath, "utf-8"));
|
|
110
|
+
const userConfig = parsed?.mcp?.trace;
|
|
96
111
|
if (userConfig) {
|
|
97
112
|
_mcpTraceConfig = {
|
|
98
|
-
keepRequestHeaders: userConfig.keepRequestHeaders
|
|
99
|
-
keepResponseHeaders: userConfig.keepResponseHeaders
|
|
113
|
+
keepRequestHeaders: asHeaderList(userConfig.keepRequestHeaders, DEFAULT_MCP_TRACE_CONFIG.keepRequestHeaders),
|
|
114
|
+
keepResponseHeaders: asHeaderList(userConfig.keepResponseHeaders, DEFAULT_MCP_TRACE_CONFIG.keepResponseHeaders),
|
|
100
115
|
};
|
|
101
116
|
}
|
|
102
117
|
else {
|
|
@@ -318,6 +333,7 @@ export async function discoverTestsFromFile(filePath) {
|
|
|
318
333
|
skip: m.skip,
|
|
319
334
|
only: m.only,
|
|
320
335
|
tags: m.tags,
|
|
336
|
+
groupId: m.groupId ?? (m.variant === "pick" || m.parallel ? m.id : undefined),
|
|
321
337
|
}));
|
|
322
338
|
return { fileUrl, tests };
|
|
323
339
|
}
|
|
@@ -477,6 +493,31 @@ export async function runLocalTestsFromFile(args) {
|
|
|
477
493
|
const absolutePath = resolve(args.filePath);
|
|
478
494
|
const testDir = dirname(absolutePath);
|
|
479
495
|
const projectRoot = await findProjectRoot(testDir);
|
|
496
|
+
// Plan 3: SDK / runner version-skew probe. Fires BEFORE we spawn the
|
|
497
|
+
// harness so an unrecoverable dual-package hazard (project has @glubean/sdk
|
|
498
|
+
// pinned at a different version + no @glubean/runner installed → Plan 1's
|
|
499
|
+
// fallback path can't produce a hazard-free spawn) is reported as a
|
|
500
|
+
// structured `sdk_version_skew` error instead of a misleading runtime
|
|
501
|
+
// error inside the test. Plan 1's runner fix transparently handles the
|
|
502
|
+
// common case (project-local runner present); this probe only short-
|
|
503
|
+
// circuits the residual sdk-only scenario.
|
|
504
|
+
const versionInfo = checkSdkCompat(projectRoot);
|
|
505
|
+
if (!versionInfo.ok) {
|
|
506
|
+
const fileUrl = pathToFileURL(absolutePath).href;
|
|
507
|
+
return {
|
|
508
|
+
fileUrl,
|
|
509
|
+
projectRoot,
|
|
510
|
+
vars: {},
|
|
511
|
+
secrets: {},
|
|
512
|
+
results: [],
|
|
513
|
+
summary: { total: 0, passed: 0, failed: 0 },
|
|
514
|
+
// Failure class differentiates the two `ok: false` paths in checkSdkCompat:
|
|
515
|
+
// - "sdk_version_skew" — recoverable; user installs @glubean/runner
|
|
516
|
+
// - "mcp_packaging_bug" — MCP itself broken; file an issue
|
|
517
|
+
error: versionInfo.failureCode ?? "sdk_version_skew",
|
|
518
|
+
versionInfo,
|
|
519
|
+
};
|
|
520
|
+
}
|
|
480
521
|
const traceConfig = await loadMcpTraceConfig(projectRoot);
|
|
481
522
|
const envPath = await resolveEnvPath(projectRoot, args.envFile);
|
|
482
523
|
const { vars, secrets } = await loadProjectEnv(projectRoot, basename(envPath));
|
|
@@ -498,7 +539,8 @@ export async function runLocalTestsFromFile(args) {
|
|
|
498
539
|
const haystack = [t.id, t.name ?? "", ...(t.tags ?? [])]
|
|
499
540
|
.join(" ")
|
|
500
541
|
.toLowerCase();
|
|
501
|
-
return haystack.includes(normalizedFilter)
|
|
542
|
+
return haystack.includes(normalizedFilter) ||
|
|
543
|
+
matchesTemplateFilter(t.id, normalizedFilter);
|
|
502
544
|
});
|
|
503
545
|
if (selected.length === 0) {
|
|
504
546
|
return {
|
|
@@ -512,6 +554,7 @@ export async function runLocalTestsFromFile(args) {
|
|
|
512
554
|
? "No tests discovered in file. Check that exports use test() or contract.http.with() from @glubean/sdk."
|
|
513
555
|
: `No tests matched filter "${args.filter}". Available: ${tests.map((t) => t.id).join(", ")}`,
|
|
514
556
|
...(discoveryErrors && discoveryErrors.length > 0 ? { importErrors: discoveryErrors } : {}),
|
|
557
|
+
versionInfo,
|
|
515
558
|
};
|
|
516
559
|
}
|
|
517
560
|
const includeLogs = args.includeLogs ?? true;
|
|
@@ -536,21 +579,23 @@ export async function runLocalTestsFromFile(args) {
|
|
|
536
579
|
id: t.id,
|
|
537
580
|
name: t.name,
|
|
538
581
|
tags: t.tags,
|
|
582
|
+
groupId: t.groupId,
|
|
539
583
|
only: t.only,
|
|
540
584
|
skip: t.skip,
|
|
541
585
|
},
|
|
542
586
|
}));
|
|
543
587
|
// ── Spike 3 runner input channels (attachment-model §8) ─────────────────
|
|
544
|
-
//
|
|
545
|
-
//
|
|
546
|
-
//
|
|
547
|
-
// tool calls don't leak state.
|
|
588
|
+
// The harness reads `GLUBEAN_RUNNER_*` env vars and populates the SDK's
|
|
589
|
+
// runner-input channel. MCP is a long-lived server, so these values are
|
|
590
|
+
// attached to the per-run executor env instead of process.env.
|
|
548
591
|
const hasInputChannel = args.inputJson !== undefined ||
|
|
549
592
|
args.bootstrapInput !== undefined ||
|
|
550
593
|
args.forceStandalone === true;
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
594
|
+
const runnerEnv = {
|
|
595
|
+
GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP: undefined,
|
|
596
|
+
GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP: undefined,
|
|
597
|
+
GLUBEAN_RUNNER_FORCE_STANDALONE_IDS: undefined,
|
|
598
|
+
};
|
|
554
599
|
if (hasInputChannel) {
|
|
555
600
|
// §5.1 invariant: explicit input always wins; overlay never invoked.
|
|
556
601
|
// Two channels are mutually exclusive — surface boundary enforces it
|
|
@@ -565,6 +610,7 @@ export async function runLocalTestsFromFile(args) {
|
|
|
565
610
|
summary: { total: 0, passed: 0, failed: 0 },
|
|
566
611
|
error: "inputJson and bootstrapInput are mutually exclusive. " +
|
|
567
612
|
"Per attachment-model §5.1: explicit input bypasses the overlay, so bootstrap params would be ignored. Pick one channel per run.",
|
|
613
|
+
versionInfo,
|
|
568
614
|
};
|
|
569
615
|
}
|
|
570
616
|
if (selected.length !== 1) {
|
|
@@ -581,12 +627,10 @@ export async function runLocalTestsFromFile(args) {
|
|
|
581
627
|
? `: ${selected.map((t) => t.id).slice(0, 10).join(", ")}`
|
|
582
628
|
: "") +
|
|
583
629
|
".",
|
|
630
|
+
versionInfo,
|
|
584
631
|
};
|
|
585
632
|
}
|
|
586
633
|
const targetTestId = selected[0].id;
|
|
587
|
-
savedExplicitMap = process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"];
|
|
588
|
-
savedBootstrapMap = process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"];
|
|
589
|
-
savedForceIds = process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"];
|
|
590
634
|
// §8 templating env — project vars+secrets + process.env (secrets win
|
|
591
635
|
// over vars; process.env wins over both, matching loadProjectEnv).
|
|
592
636
|
const templatingEnv = {
|
|
@@ -596,44 +640,22 @@ export async function runLocalTestsFromFile(args) {
|
|
|
596
640
|
};
|
|
597
641
|
if (args.inputJson !== undefined) {
|
|
598
642
|
const templated = applyEnvTemplating(args.inputJson, templatingEnv);
|
|
599
|
-
|
|
643
|
+
runnerEnv["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"] = JSON.stringify({
|
|
600
644
|
[targetTestId]: templated,
|
|
601
645
|
});
|
|
602
646
|
}
|
|
603
647
|
if (args.bootstrapInput !== undefined) {
|
|
604
648
|
const templated = applyEnvTemplating(args.bootstrapInput, templatingEnv);
|
|
605
|
-
|
|
649
|
+
runnerEnv["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"] = JSON.stringify({
|
|
606
650
|
[targetTestId]: templated,
|
|
607
651
|
});
|
|
608
652
|
}
|
|
609
653
|
if (args.forceStandalone === true) {
|
|
610
|
-
|
|
654
|
+
runnerEnv["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"] = JSON.stringify([
|
|
611
655
|
targetTestId,
|
|
612
656
|
]);
|
|
613
657
|
}
|
|
614
658
|
}
|
|
615
|
-
const restoreEnv = () => {
|
|
616
|
-
if (!hasInputChannel)
|
|
617
|
-
return;
|
|
618
|
-
if (savedExplicitMap === undefined) {
|
|
619
|
-
delete process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"];
|
|
620
|
-
}
|
|
621
|
-
else {
|
|
622
|
-
process.env["GLUBEAN_RUNNER_EXPLICIT_INPUT_MAP"] = savedExplicitMap;
|
|
623
|
-
}
|
|
624
|
-
if (savedBootstrapMap === undefined) {
|
|
625
|
-
delete process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"];
|
|
626
|
-
}
|
|
627
|
-
else {
|
|
628
|
-
process.env["GLUBEAN_RUNNER_BOOTSTRAP_INPUT_MAP"] = savedBootstrapMap;
|
|
629
|
-
}
|
|
630
|
-
if (savedForceIds === undefined) {
|
|
631
|
-
delete process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"];
|
|
632
|
-
}
|
|
633
|
-
else {
|
|
634
|
-
process.env["GLUBEAN_RUNNER_FORCE_STANDALONE_IDS"] = savedForceIds;
|
|
635
|
-
}
|
|
636
|
-
};
|
|
637
659
|
// Index results by testId as events stream in. Each test's events flow
|
|
638
660
|
// between its `start` and `status` events; we key the accumulator by the
|
|
639
661
|
// current testId observed from `start`.
|
|
@@ -646,6 +668,10 @@ export async function runLocalTestsFromFile(args) {
|
|
|
646
668
|
secrets,
|
|
647
669
|
tests: facadeTests,
|
|
648
670
|
sessionStartDir: testDir,
|
|
671
|
+
executor: TestExecutor.fromSharedConfig(shared, {
|
|
672
|
+
cwd: projectRoot,
|
|
673
|
+
env: runnerEnv,
|
|
674
|
+
}),
|
|
649
675
|
});
|
|
650
676
|
let currentTestId;
|
|
651
677
|
// Capture orchestration-level failures so we surface them to the MCP
|
|
@@ -653,126 +679,150 @@ export async function runLocalTestsFromFile(args) {
|
|
|
653
679
|
// "no tests" success). Populated by `run:failed` / `bootstrap:failed` /
|
|
654
680
|
// `session:setup:failed` events from the facade.
|
|
655
681
|
let orchestrationError;
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
682
|
+
// Plan 1 AC6: collect runner-fallback / protocol warnings emitted at the
|
|
683
|
+
// start of every TestExecutor.run() call. Deduped by message so the same
|
|
684
|
+
// warning doesn't repeat across session setup + each file's invocation.
|
|
685
|
+
const warningSet = new Set();
|
|
686
|
+
for await (const evt of runner.run()) {
|
|
687
|
+
// Surface non-file failure events so callers can distinguish them from
|
|
688
|
+
// "clean empty run" outcomes.
|
|
689
|
+
if (evt.type === "bootstrap:failed") {
|
|
690
|
+
orchestrationError = `Bootstrap failed: ${evt.error.message}`;
|
|
691
|
+
continue;
|
|
692
|
+
}
|
|
693
|
+
if (evt.type === "session:setup:failed") {
|
|
694
|
+
orchestrationError = `Session setup failed${evt.error ? `: ${evt.error}` : ""}`;
|
|
695
|
+
continue;
|
|
696
|
+
}
|
|
697
|
+
if (evt.type === "run:failed") {
|
|
698
|
+
// Prefer the more specific earlier error if we already captured one.
|
|
699
|
+
if (!orchestrationError) {
|
|
700
|
+
orchestrationError = `Run failed (${evt.reason})${evt.error ? `: ${evt.error}` : ""}`;
|
|
663
701
|
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
702
|
+
continue;
|
|
703
|
+
}
|
|
704
|
+
if (evt.type !== "file:event")
|
|
705
|
+
continue; // MCP only cares about test-level events below
|
|
706
|
+
const event = evt.event;
|
|
707
|
+
switch (event.type) {
|
|
708
|
+
case "start": {
|
|
709
|
+
currentTestId = event.id;
|
|
710
|
+
accumulators.set(event.id, {
|
|
711
|
+
start: Date.now(),
|
|
712
|
+
logs: [],
|
|
713
|
+
assertions: [],
|
|
714
|
+
traces: [],
|
|
715
|
+
statusSuccess: false,
|
|
716
|
+
});
|
|
717
|
+
break;
|
|
667
718
|
}
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
719
|
+
case "log": {
|
|
720
|
+
if (!includeLogs || !currentTestId)
|
|
721
|
+
break;
|
|
722
|
+
const acc = accumulators.get(currentTestId);
|
|
723
|
+
if (acc)
|
|
724
|
+
acc.logs.push({ message: event.message, data: event.data });
|
|
725
|
+
break;
|
|
674
726
|
}
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
const event = evt.event;
|
|
678
|
-
switch (event.type) {
|
|
679
|
-
case "start": {
|
|
680
|
-
currentTestId = event.id;
|
|
681
|
-
accumulators.set(event.id, {
|
|
682
|
-
start: Date.now(),
|
|
683
|
-
logs: [],
|
|
684
|
-
assertions: [],
|
|
685
|
-
traces: [],
|
|
686
|
-
statusSuccess: false,
|
|
687
|
-
});
|
|
727
|
+
case "assertion": {
|
|
728
|
+
if (!currentTestId)
|
|
688
729
|
break;
|
|
730
|
+
const acc = accumulators.get(currentTestId);
|
|
731
|
+
if (acc) {
|
|
732
|
+
acc.assertions.push({
|
|
733
|
+
passed: event.passed,
|
|
734
|
+
message: event.message,
|
|
735
|
+
actual: event.actual,
|
|
736
|
+
expected: event.expected,
|
|
737
|
+
});
|
|
689
738
|
}
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
if (acc)
|
|
695
|
-
acc.logs.push({ message: event.message, data: event.data });
|
|
739
|
+
break;
|
|
740
|
+
}
|
|
741
|
+
case "trace": {
|
|
742
|
+
if (!includeTraces || !currentTestId)
|
|
696
743
|
break;
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
passed: event.passed,
|
|
705
|
-
message: event.message,
|
|
706
|
-
actual: event.actual,
|
|
707
|
-
expected: event.expected,
|
|
708
|
-
});
|
|
709
|
-
}
|
|
744
|
+
const acc = accumulators.get(currentTestId);
|
|
745
|
+
if (acc)
|
|
746
|
+
acc.traces.push(stripTraceHeaders(event.data, traceConfig));
|
|
747
|
+
break;
|
|
748
|
+
}
|
|
749
|
+
case "status": {
|
|
750
|
+
if (!currentTestId)
|
|
710
751
|
break;
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
if (!includeTraces || !currentTestId)
|
|
714
|
-
break;
|
|
715
|
-
const acc = accumulators.get(currentTestId);
|
|
716
|
-
if (acc)
|
|
717
|
-
acc.traces.push(stripTraceHeaders(event.data, traceConfig));
|
|
752
|
+
const acc = accumulators.get(currentTestId);
|
|
753
|
+
if (!acc)
|
|
718
754
|
break;
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
755
|
+
acc.statusSuccess = event.status === "completed";
|
|
756
|
+
if (event.error)
|
|
757
|
+
acc.errorMessage = event.error;
|
|
758
|
+
if (event.stack)
|
|
759
|
+
acc.errorStack = event.stack;
|
|
760
|
+
// Finalize this test's result.
|
|
761
|
+
const allAssertionsPassed = acc.assertions.every((a) => a.passed);
|
|
762
|
+
const success = acc.statusSuccess && allAssertionsPassed && !acc.errorMessage;
|
|
763
|
+
const testMeta = selected.find((t) => matchesTemplateId(t.id, currentTestId));
|
|
764
|
+
const result = {
|
|
765
|
+
exportName: testMeta?.exportName ?? "",
|
|
766
|
+
id: currentTestId,
|
|
767
|
+
name: testMeta?.name ?? currentTestId,
|
|
768
|
+
success,
|
|
769
|
+
durationMs: Date.now() - acc.start,
|
|
770
|
+
assertions: acc.assertions,
|
|
771
|
+
logs: acc.logs,
|
|
772
|
+
traces: acc.traces,
|
|
773
|
+
error: acc.errorMessage
|
|
774
|
+
? { message: acc.errorMessage, stack: acc.errorStack }
|
|
775
|
+
: undefined,
|
|
776
|
+
};
|
|
777
|
+
resultsByTestId.set(currentTestId, result);
|
|
778
|
+
currentTestId = undefined;
|
|
779
|
+
break;
|
|
780
|
+
}
|
|
781
|
+
case "error": {
|
|
782
|
+
if (!currentTestId) {
|
|
783
|
+
// Subprocess crashed before starting any test (e.g. tsx failed to
|
|
784
|
+
// start, syntax error before first `start` event). Capture as an
|
|
785
|
+
// orchestration error so the caller sees a non-empty error field
|
|
786
|
+
// instead of total:0 which looks like "no tests found" success.
|
|
787
|
+
if (!orchestrationError)
|
|
788
|
+
orchestrationError = event.message;
|
|
750
789
|
break;
|
|
751
790
|
}
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
791
|
+
const acc = accumulators.get(currentTestId);
|
|
792
|
+
if (acc && !acc.errorMessage)
|
|
793
|
+
acc.errorMessage = event.message;
|
|
794
|
+
break;
|
|
795
|
+
}
|
|
796
|
+
case "warning": {
|
|
797
|
+
// Plan 1 AC6: collect runner-fallback / protocol-min warnings.
|
|
798
|
+
// Discriminate by the `code` field (set by executor diagnostics
|
|
799
|
+
// only — user-emitted ctx.warn(false, "...") warnings have no
|
|
800
|
+
// code and are intentionally NOT surfaced at the run level since
|
|
801
|
+
// they're per-test concerns, not project-wide).
|
|
802
|
+
if (event.code && event.message) {
|
|
803
|
+
warningSet.add(event.message);
|
|
759
804
|
}
|
|
805
|
+
break;
|
|
760
806
|
}
|
|
761
807
|
}
|
|
762
808
|
}
|
|
763
|
-
finally {
|
|
764
|
-
restoreEnv();
|
|
765
|
-
}
|
|
766
809
|
// Preserve the original `selected` order (also matches AI-agent
|
|
767
810
|
// expectation: results in the order they were listed).
|
|
768
811
|
const results = [];
|
|
812
|
+
const emitted = new Set();
|
|
813
|
+
const resultValues = [...resultsByTestId.values()];
|
|
769
814
|
for (const t of selected) {
|
|
770
|
-
const
|
|
771
|
-
|
|
815
|
+
const matches = resultValues.filter((r) => matchesTemplateId(t.id, r.id));
|
|
816
|
+
for (const r of matches) {
|
|
817
|
+
if (emitted.has(r.id))
|
|
818
|
+
continue;
|
|
819
|
+
emitted.add(r.id);
|
|
772
820
|
results.push(r);
|
|
821
|
+
}
|
|
773
822
|
}
|
|
774
823
|
const passed = results.filter((r) => r.success).length;
|
|
775
824
|
const failed = results.filter((r) => !r.success).length;
|
|
825
|
+
const warningsArr = [...warningSet];
|
|
776
826
|
return {
|
|
777
827
|
fileUrl,
|
|
778
828
|
projectRoot,
|
|
@@ -781,6 +831,8 @@ export async function runLocalTestsFromFile(args) {
|
|
|
781
831
|
results,
|
|
782
832
|
summary: { total: results.length, passed, failed },
|
|
783
833
|
...(orchestrationError !== undefined && { error: orchestrationError }),
|
|
834
|
+
...(warningsArr.length > 0 && { warnings: warningsArr }),
|
|
835
|
+
versionInfo,
|
|
784
836
|
};
|
|
785
837
|
}
|
|
786
838
|
function bearerHeaders(token) {
|
|
@@ -912,6 +964,18 @@ server.registerTool(MCP_TOOL_NAMES.runLocalFile, {
|
|
|
912
964
|
if (result.error) {
|
|
913
965
|
safe.error = result.error;
|
|
914
966
|
}
|
|
967
|
+
// Plan 1 AC6: forward runner-fallback / protocol warnings to the agent
|
|
968
|
+
// so it can surface version-skew misconfigurations instead of leaving
|
|
969
|
+
// the user with mysterious "configure() values" errors.
|
|
970
|
+
if (result.warnings && result.warnings.length > 0) {
|
|
971
|
+
safe.warnings = result.warnings;
|
|
972
|
+
}
|
|
973
|
+
// Plan 3: forward structured compat info. Always include — even when
|
|
974
|
+
// tests ran successfully — so the agent has full SDK/runner version
|
|
975
|
+
// context if it wants to render it.
|
|
976
|
+
if (result.versionInfo) {
|
|
977
|
+
safe.versionInfo = result.versionInfo;
|
|
978
|
+
}
|
|
915
979
|
lastLocalRunSnapshot = {
|
|
916
980
|
createdAt: new Date().toISOString(),
|
|
917
981
|
fileUrl: result.fileUrl,
|
|
@@ -1097,6 +1161,9 @@ server.registerTool(MCP_TOOL_NAMES.projectContracts, {
|
|
|
1097
1161
|
lifecycle: cas.lifecycle,
|
|
1098
1162
|
severity: cas.severity,
|
|
1099
1163
|
status: cas.protocolExpect?.status,
|
|
1164
|
+
given: cas.given,
|
|
1165
|
+
hasVerify: cas.hasVerify,
|
|
1166
|
+
verifyRules: cas.verifyRules,
|
|
1100
1167
|
})),
|
|
1101
1168
|
})),
|
|
1102
1169
|
})),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK / runner version compat probe for the MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Companion to Plan 1's project-local runner resolution. Plan 1 transparently
|
|
5
|
+
* routes spawn-time SDK identity through the project-local runner when one is
|
|
6
|
+
* installed. When NO project-local runner is installed (sdk-only projects),
|
|
7
|
+
* Plan 1 falls back to bundled and emits a `runner_fallback_no_project`
|
|
8
|
+
* warning — but the dual-package hazard still reproduces because the bundled
|
|
9
|
+
* harness's `@glubean/sdk` won't match user code's `@glubean/sdk`.
|
|
10
|
+
*
|
|
11
|
+
* This module's job: detect that scenario at MCP tool entry time, BEFORE we
|
|
12
|
+
* spawn the harness, and return a structured `sdk_version_skew` error to the
|
|
13
|
+
* agent so it surfaces an actionable install command instead of the user
|
|
14
|
+
* hitting the misleading "configure() values can only be accessed..." error.
|
|
15
|
+
*
|
|
16
|
+
* Discriminator: this probe is MCP-specific because (a) MCP responses go to
|
|
17
|
+
* an LLM agent who needs structured `versionInfo`, not a stack trace; (b)
|
|
18
|
+
* `npx -y @glubean/mcp@latest` causes silent version drift via the npm cache
|
|
19
|
+
* TTL — users don't pin MCP the way they pin CLI.
|
|
20
|
+
*/
|
|
21
|
+
export interface CompatResult {
|
|
22
|
+
ok: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Differentiates failure modes when `ok: false`:
|
|
25
|
+
* - "sdk_version_skew" — project pins @glubean/sdk at a realpath
|
|
26
|
+
* different from bundled AND no project @glubean/runner is
|
|
27
|
+
* installed. The dual-package hazard would reproduce. Recoverable
|
|
28
|
+
* by `npm i -D @glubean/runner`.
|
|
29
|
+
* - "mcp_packaging_bug" — MCP process can't resolve its own bundled
|
|
30
|
+
* @glubean/sdk. Not the user's fault — file an issue against MCP.
|
|
31
|
+
* Omitted when `ok: true`.
|
|
32
|
+
*/
|
|
33
|
+
failureCode?: "sdk_version_skew" | "mcp_packaging_bug";
|
|
34
|
+
projectSdkVersion?: string;
|
|
35
|
+
bundledSdkVersion: string;
|
|
36
|
+
projectRunnerInstalled: boolean;
|
|
37
|
+
projectRunnerVersion?: string;
|
|
38
|
+
bundledRunnerVersion?: string;
|
|
39
|
+
message?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Probe the SDK + runner identities of the running MCP process and the
|
|
43
|
+
* caller's project. Returns `ok: false` only when the hazard is real:
|
|
44
|
+
* project has its own @glubean/sdk, the realpath differs from MCP's
|
|
45
|
+
* bundled SDK, AND project has no @glubean/runner installed (so Plan 1's
|
|
46
|
+
* project-local resolution would fall back to bundled).
|
|
47
|
+
*
|
|
48
|
+
* Every other case (no project SDK at all / matching SDK / project has
|
|
49
|
+
* runner) returns ok with structured metadata so the agent has full context.
|
|
50
|
+
*/
|
|
51
|
+
export declare function checkSdkCompat(projectRoot: string): CompatResult;
|
|
52
|
+
//# sourceMappingURL=version-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-compat.d.ts","sourceRoot":"","sources":["../src/version-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2DD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAgGhE"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK / runner version compat probe for the MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Companion to Plan 1's project-local runner resolution. Plan 1 transparently
|
|
5
|
+
* routes spawn-time SDK identity through the project-local runner when one is
|
|
6
|
+
* installed. When NO project-local runner is installed (sdk-only projects),
|
|
7
|
+
* Plan 1 falls back to bundled and emits a `runner_fallback_no_project`
|
|
8
|
+
* warning — but the dual-package hazard still reproduces because the bundled
|
|
9
|
+
* harness's `@glubean/sdk` won't match user code's `@glubean/sdk`.
|
|
10
|
+
*
|
|
11
|
+
* This module's job: detect that scenario at MCP tool entry time, BEFORE we
|
|
12
|
+
* spawn the harness, and return a structured `sdk_version_skew` error to the
|
|
13
|
+
* agent so it surfaces an actionable install command instead of the user
|
|
14
|
+
* hitting the misleading "configure() values can only be accessed..." error.
|
|
15
|
+
*
|
|
16
|
+
* Discriminator: this probe is MCP-specific because (a) MCP responses go to
|
|
17
|
+
* an LLM agent who needs structured `versionInfo`, not a stack trace; (b)
|
|
18
|
+
* `npx -y @glubean/mcp@latest` causes silent version drift via the npm cache
|
|
19
|
+
* TTL — users don't pin MCP the way they pin CLI.
|
|
20
|
+
*/
|
|
21
|
+
import { createRequire } from "node:module";
|
|
22
|
+
import { dirname, resolve } from "node:path";
|
|
23
|
+
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
24
|
+
/**
|
|
25
|
+
* Walk up from a starting file looking for a package.json whose `name` field
|
|
26
|
+
* matches `expectedName`. Layout-independent — mirrors the helper in
|
|
27
|
+
* `@glubean/runner`'s executor.ts so MCP's probe survives the same bundler
|
|
28
|
+
* topologies. Returns the realpath of the package root.
|
|
29
|
+
*/
|
|
30
|
+
function findPackageRoot(startFile, expectedName) {
|
|
31
|
+
let dir = dirname(startFile);
|
|
32
|
+
for (let i = 0; i < 16; i++) {
|
|
33
|
+
const candidate = resolve(dir, "package.json");
|
|
34
|
+
if (existsSync(candidate)) {
|
|
35
|
+
try {
|
|
36
|
+
const pkg = JSON.parse(readFileSync(candidate, "utf-8"));
|
|
37
|
+
if (pkg?.name === expectedName) {
|
|
38
|
+
try {
|
|
39
|
+
return realpathSync(dir);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return dir;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// continue walking — corrupt / non-json
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const parent = dirname(dir);
|
|
51
|
+
if (parent === dir)
|
|
52
|
+
return undefined;
|
|
53
|
+
dir = parent;
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve a package's main entry, then walk up to its package.json by name.
|
|
59
|
+
* Uses a cwd-rooted createRequire to avoid the workspace self-reference trap
|
|
60
|
+
* (see Plan 1 §3.1 for context). Returns undefined when not resolvable.
|
|
61
|
+
*/
|
|
62
|
+
function probePkg(name, projectCwd) {
|
|
63
|
+
try {
|
|
64
|
+
const stubPath = projectCwd
|
|
65
|
+
? resolve(projectCwd, "__glubean_compat_stub__.js")
|
|
66
|
+
: resolve(dirname(new URL(import.meta.url).pathname), "__bundled_stub__.js");
|
|
67
|
+
const req = createRequire(stubPath);
|
|
68
|
+
const mainEntry = req.resolve(name);
|
|
69
|
+
const pkgDir = findPackageRoot(mainEntry, name);
|
|
70
|
+
if (!pkgDir)
|
|
71
|
+
return undefined;
|
|
72
|
+
const pkg = JSON.parse(readFileSync(resolve(pkgDir, "package.json"), "utf-8"));
|
|
73
|
+
return { pkgDir, version: pkg.version };
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Probe the SDK + runner identities of the running MCP process and the
|
|
81
|
+
* caller's project. Returns `ok: false` only when the hazard is real:
|
|
82
|
+
* project has its own @glubean/sdk, the realpath differs from MCP's
|
|
83
|
+
* bundled SDK, AND project has no @glubean/runner installed (so Plan 1's
|
|
84
|
+
* project-local resolution would fall back to bundled).
|
|
85
|
+
*
|
|
86
|
+
* Every other case (no project SDK at all / matching SDK / project has
|
|
87
|
+
* runner) returns ok with structured metadata so the agent has full context.
|
|
88
|
+
*/
|
|
89
|
+
export function checkSdkCompat(projectRoot) {
|
|
90
|
+
const bundledSdk = probePkg("@glubean/sdk");
|
|
91
|
+
const bundledRunner = probePkg("@glubean/runner");
|
|
92
|
+
if (!bundledSdk) {
|
|
93
|
+
return {
|
|
94
|
+
ok: false,
|
|
95
|
+
failureCode: "mcp_packaging_bug",
|
|
96
|
+
bundledSdkVersion: "<unresolved>",
|
|
97
|
+
projectRunnerInstalled: false,
|
|
98
|
+
message: `@glubean/mcp is missing its runtime dependency on @glubean/sdk. ` +
|
|
99
|
+
`This is a packaging bug — please file an issue.`,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const projectSdk = probePkg("@glubean/sdk", projectRoot);
|
|
103
|
+
const projectRunner = probePkg("@glubean/runner", projectRoot);
|
|
104
|
+
const projectRunnerInstalled = projectRunner !== undefined;
|
|
105
|
+
if (!projectSdk) {
|
|
106
|
+
return {
|
|
107
|
+
ok: true,
|
|
108
|
+
bundledSdkVersion: bundledSdk.version,
|
|
109
|
+
bundledRunnerVersion: bundledRunner?.version,
|
|
110
|
+
projectRunnerInstalled,
|
|
111
|
+
projectRunnerVersion: projectRunner?.version,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
if (projectSdk.pkgDir === bundledSdk.pkgDir) {
|
|
115
|
+
return {
|
|
116
|
+
ok: true,
|
|
117
|
+
projectSdkVersion: projectSdk.version,
|
|
118
|
+
bundledSdkVersion: bundledSdk.version,
|
|
119
|
+
bundledRunnerVersion: bundledRunner?.version,
|
|
120
|
+
projectRunnerInstalled,
|
|
121
|
+
projectRunnerVersion: projectRunner?.version,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (projectRunnerInstalled && projectRunner) {
|
|
125
|
+
// Partial-upgrade hazard guard: project's @glubean/runner may have
|
|
126
|
+
// nested its OWN @glubean/sdk in its private node_modules (npm/pnpm
|
|
127
|
+
// sometimes leaves a nested copy when versions can't dedup). In that
|
|
128
|
+
// case the harness loads the runner's nested SDK while user test code
|
|
129
|
+
// loads project's direct SDK → different realpaths → dual-package
|
|
130
|
+
// hazard reproduces despite Plan 1's project-local runner resolution.
|
|
131
|
+
//
|
|
132
|
+
// Verify the runner's resolved SDK realpath matches the project's
|
|
133
|
+
// direct SDK realpath. If not, this is a real skew worth reporting.
|
|
134
|
+
const runnerNestedSdk = probePkg("@glubean/sdk", projectRunner.pkgDir);
|
|
135
|
+
if (runnerNestedSdk && runnerNestedSdk.pkgDir !== projectSdk.pkgDir) {
|
|
136
|
+
return {
|
|
137
|
+
ok: false,
|
|
138
|
+
failureCode: "sdk_version_skew",
|
|
139
|
+
projectSdkVersion: projectSdk.version,
|
|
140
|
+
bundledSdkVersion: bundledSdk.version,
|
|
141
|
+
bundledRunnerVersion: bundledRunner?.version,
|
|
142
|
+
projectRunnerInstalled: true,
|
|
143
|
+
projectRunnerVersion: projectRunner.version,
|
|
144
|
+
message: `Project pins @glubean/sdk ${projectSdk.version} at ${projectSdk.pkgDir}, ` +
|
|
145
|
+
`but @glubean/runner ${projectRunner.version} resolves its own nested ` +
|
|
146
|
+
`@glubean/sdk ${runnerNestedSdk.version} at ${runnerNestedSdk.pkgDir}. ` +
|
|
147
|
+
`These are different module instances; tests will fail with a misleading ` +
|
|
148
|
+
`"configure() values can only be accessed during test execution" error. ` +
|
|
149
|
+
`Fix: align versions — e.g. \`npm dedupe\`, or update @glubean/runner to a ` +
|
|
150
|
+
`version that uses your pinned @glubean/sdk.`,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
ok: true,
|
|
155
|
+
projectSdkVersion: projectSdk.version,
|
|
156
|
+
bundledSdkVersion: bundledSdk.version,
|
|
157
|
+
bundledRunnerVersion: bundledRunner?.version,
|
|
158
|
+
projectRunnerInstalled: true,
|
|
159
|
+
projectRunnerVersion: projectRunner.version,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
ok: false,
|
|
164
|
+
failureCode: "sdk_version_skew",
|
|
165
|
+
projectSdkVersion: projectSdk.version,
|
|
166
|
+
bundledSdkVersion: bundledSdk.version,
|
|
167
|
+
bundledRunnerVersion: bundledRunner?.version,
|
|
168
|
+
projectRunnerInstalled: false,
|
|
169
|
+
message: `Project pins @glubean/sdk ${projectSdk.version} but has no @glubean/runner installed; ` +
|
|
170
|
+
`MCP is using its bundled @glubean/runner${bundledRunner ? ` ${bundledRunner.version}` : ""} ` +
|
|
171
|
+
`+ @glubean/sdk ${bundledSdk.version}. These are different module instances; tests will fail ` +
|
|
172
|
+
`with a misleading "configure() values can only be accessed during test execution" error. ` +
|
|
173
|
+
`Fix: run "npm i -D @glubean/runner@${bundledRunner?.version ?? bundledSdk.version}" in the project.`,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=version-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-compat.js","sourceRoot":"","sources":["../src/version-compat.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glubean/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"glubean-mcp": "./bin/mcp.js"
|
|
@@ -20,16 +20,17 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"yaml": "^2.7.0",
|
|
23
24
|
"@modelcontextprotocol/sdk": "^1.18.0",
|
|
24
25
|
"dotenv": "^16.4.0",
|
|
25
26
|
"zod": "^4.3.6",
|
|
26
|
-
"@glubean/
|
|
27
|
-
"@glubean/
|
|
27
|
+
"@glubean/runner": "0.3.0",
|
|
28
|
+
"@glubean/scanner": "0.3.0",
|
|
29
|
+
"@glubean/sdk": "0.3.0"
|
|
28
30
|
},
|
|
29
31
|
"devDependencies": {
|
|
30
32
|
"@types/node": "^22.0.0",
|
|
31
|
-
"@glubean/graphql": "0.2.
|
|
32
|
-
"@glubean/sdk": "0.2.3"
|
|
33
|
+
"@glubean/graphql": "0.2.4"
|
|
33
34
|
},
|
|
34
35
|
"repository": {
|
|
35
36
|
"type": "git",
|