@subseam/mcp 0.4.37 → 0.4.38

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/dist/main.js +21 -4
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -31543,6 +31543,10 @@ var conformanceBody = external_exports.object({
31543
31543
  staticUnevaluable: external_exports.number()
31544
31544
  })
31545
31545
  });
31546
+ var conformanceJobBody = external_exports.union([
31547
+ external_exports.object({ jobId: external_exports.string(), status: external_exports.literal("running") }),
31548
+ external_exports.object({ jobId: external_exports.string(), status: external_exports.literal("failed"), error: external_exports.string() })
31549
+ ]);
31546
31550
  var generationBody = external_exports.object({
31547
31551
  runId: external_exports.string(),
31548
31552
  planned: external_exports.number(),
@@ -31555,7 +31559,8 @@ var generationBody = external_exports.object({
31555
31559
  })
31556
31560
  });
31557
31561
  var input4 = external_exports.object({
31558
- repo: external_exports.string().min(1),
31562
+ repo: external_exports.string().min(1).optional(),
31563
+ conformanceJobId: external_exports.string().min(1).optional(),
31559
31564
  commit: external_exports.string().min(1).optional(),
31560
31565
  definitionIds: external_exports.array(external_exports.string().min(1)).min(1).optional(),
31561
31566
  baseOrdinal: external_exports.number().int().nonnegative().optional(),
@@ -31563,18 +31568,30 @@ var input4 = external_exports.object({
31563
31568
  });
31564
31569
  var evalTool = {
31565
31570
  name: "eval",
31566
- description: "Evaluate definitions against a repo's code as-built. With `definitionIds`: verdicts for those definitions, plus generated-and-executed behavioral checks (banked witnesses) where applicable. Without: the whole admitted corpus. Provide `repo` and optional `commit` (defaults to resolved tip). Returns conformant/violated/unevaluable per definition; violations carry a witness. Approved (store: ratified) MUST/MUST-NEVER violations are blocking.",
31571
+ description: "Evaluate definitions against a repo's code as-built. With `definitionIds`: verdicts for those definitions, plus generated-and-executed behavioral checks (banked witnesses) where applicable. Without: the whole admitted corpus. Provide `repo` and optional `commit` (defaults to resolved tip). Returns conformant/violated/unevaluable per definition; violations carry a witness. Approved (store: ratified) MUST/MUST-NEVER violations are blocking. A pass that is still evaluating answers a job id: call again with `conformanceJobId` to read it.",
31567
31572
  capability: "define",
31568
31573
  inputSchema: input4.shape,
31569
31574
  async handler(raw, ctx) {
31570
31575
  const args2 = input4.parse(raw);
31571
- const conformancePayload = {
31576
+ if (args2.conformanceJobId !== void 0 && args2.repo !== void 0) {
31577
+ return { text: "eval: `conformanceJobId` reads a conformance pass already submitted and takes no `repo` beside it \u2014 read the job, or submit a new pass, not both." };
31578
+ }
31579
+ if (args2.conformanceJobId === void 0 && args2.repo === void 0) {
31580
+ return { text: "eval: needs `repo` to submit a conformance pass, or `conformanceJobId` to read one." };
31581
+ }
31582
+ const conformancePayload = args2.conformanceJobId !== void 0 ? { conformanceJobId: args2.conformanceJobId } : {
31572
31583
  repo: args2.repo,
31573
31584
  ...args2.commit !== void 0 ? { commit: args2.commit } : {},
31574
31585
  ...args2.baseOrdinal !== void 0 ? { baseOrdinal: args2.baseOrdinal } : {},
31575
31586
  ...args2.headOrdinal !== void 0 ? { headOrdinal: args2.headOrdinal } : {}
31576
31587
  };
31577
31588
  const wire = await ctx.gateway.invoke("define-conformance", conformancePayload);
31589
+ const job = conformanceJobBody.safeParse(wire);
31590
+ if (job.success) {
31591
+ return {
31592
+ text: job.data.status === "running" ? `eval: conformance job ${job.data.jobId} is still evaluating. Call eval again with conformanceJobId: "${job.data.jobId}" to read it.` : `eval: conformance job ${job.data.jobId} failed: ${job.data.error}`
31593
+ };
31594
+ }
31578
31595
  const body2 = readBody(conformanceBody, wire, "eval", "define-conformance");
31579
31596
  if (!body2.ok) return { text: body2.text };
31580
31597
  const report = body2.value;
@@ -48711,7 +48728,7 @@ var workReadTools = createWorkReadToolProviders({ capability: "work" });
48711
48728
  var bundledProviders = [src_default2, src_default, tension_default, ...defineTools, ...decisionTools, ...captureTools, ...buildTools, secureTool, ...workTools, ...workReadTools];
48712
48729
 
48713
48730
  // package.json
48714
- var version2 = "0.4.37";
48731
+ var version2 = "0.4.38";
48715
48732
 
48716
48733
  // src/server.ts
48717
48734
  var SERVER_VERSION = version2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subseam/mcp",
3
- "version": "0.4.37",
3
+ "version": "0.4.38",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {