@subseam/mcp 0.4.15 → 0.4.17

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 +19 -10
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -30587,7 +30587,9 @@ var definitionDraft = external_exports.object({
30587
30587
  atTip: external_exports.object({
30588
30588
  sha: external_exports.string(),
30589
30589
  failures: external_exports.array(external_exports.object({ path: external_exports.string(), line: external_exports.number(), cause: external_exports.string() })),
30590
- uncomputed: external_exports.array(external_exports.object({ path: external_exports.string(), reason: external_exports.string() }))
30590
+ uncomputed: external_exports.array(external_exports.object({ path: external_exports.string(), reason: external_exports.string() })),
30591
+ /** Why the rule has no verdict at the tip; null when it was evaluated. Absent from older servers. */
30592
+ notEvaluated: external_exports.string().nullable().optional()
30591
30593
  }),
30592
30594
  gated: external_exports.string().nullable().optional(),
30593
30595
  conflicts: external_exports.literal("not checked")
@@ -30614,14 +30616,18 @@ function renderDraft(d) {
30614
30616
  const h = d.history;
30615
30617
  const since = h === null || h.since === null ? "" : ` since ${at(h.since)}`;
30616
30618
  const partial2 = h !== null && h.complete === false ? ` so far (still running: ${h.of} of ${h.planned ?? "?"} trunk versions counted, through ${h.reached === void 0 ? "?" : at(h.reached)})` : "";
30617
- const history = h === null ? "not computed yet" : h.last === null ? `never fired on ${h.of} trunk versions${since}${partial2}` : `would have fired at ${h.fired} of ${h.of} trunk versions${since}, last at ${at(h.last)}${partial2}`;
30618
- const floor = h === null || h.uncomputedVersions === 0 ? [] : [` ${h.uncomputedVersions} of those versions could not be evaluated: the count is a floor there`];
30619
+ const evaluatedVersions = h === null ? 0 : h.of - h.uncomputedVersions;
30620
+ const history = h === null ? "not computed yet" : h.of > 0 && evaluatedVersions === 0 ? `not evaluated at any of ${h.of} trunk versions${since}${partial2}` : h.last === null ? h.uncomputedVersions === 0 ? `never fired on ${h.of} trunk versions${since}${partial2}` : `never fired on the ${evaluatedVersions} of ${h.of} trunk versions it could be evaluated at${since}${partial2}` : `would have fired at ${h.fired} of ${h.of} trunk versions${since}, last at ${at(h.last)}${partial2}`;
30621
+ const floor = h === null || h.uncomputedVersions === 0 || evaluatedVersions === 0 || h.last === null ? [] : [` ${h.uncomputedVersions} of those versions could not be evaluated: the count is a floor there`];
30619
30622
  const shown = d.atTip.failures.slice(0, FAILURES_SHOWN).map((f) => `${f.path}:${f.line} ${f.cause}`);
30620
30623
  const more = d.atTip.failures.length - shown.length;
30621
- const tip = d.atTip.failures.length === 0 ? ` at tip ${d.atTip.sha.slice(0, 9)}: holds` : ` at tip ${d.atTip.sha.slice(0, 9)}: ${d.atTip.failures.length} failing: ` + shown.join("; ") + (more > 0 ? `; \u2026 and ${more} more` : "");
30624
+ const notEvaluated = d.atTip.notEvaluated ?? null;
30625
+ const tipAt = ` at tip ${d.atTip.sha.slice(0, 9)}`;
30626
+ const tip = d.atTip.failures.length > 0 ? `${tipAt}: ${d.atTip.failures.length} failing: ` + shown.join("; ") + (more > 0 ? `; \u2026 and ${more} more` : "") : notEvaluated !== null ? `${tipAt}: not evaluated (${notEvaluated})` : `${tipAt}: holds`;
30627
+ const tipRest = d.atTip.failures.length > 0 && notEvaluated !== null ? [`${tipAt}, the rest was not evaluated (${notEvaluated})`] : [];
30622
30628
  const open7 = notComputedLines(d.atTip.uncomputed);
30623
30629
  if (typeof d.gated === "string") return [` ${d.statement}`, ` gated: ${d.gated} This definition is not evaluated.`, ` conflicts: ${d.conflicts}`].join("\n");
30624
- return [` ${d.statement}`, ...exampleLines(d.examples), ` history: ${history}`, ...floor, tip, ...open7, ` conflicts: ${d.conflicts}`].join("\n");
30630
+ return [` ${d.statement}`, ...exampleLines(d.examples), ` history: ${history}`, ...floor, tip, ...tipRest, ...open7, ` conflicts: ${d.conflicts}`].join("\n");
30625
30631
  }
30626
30632
 
30627
30633
  // ../define/src/tool/define.ts
@@ -31929,19 +31935,22 @@ var defineProposalReadTool = {
31929
31935
  init_esm_shims();
31930
31936
  var input9 = external_exports.object({
31931
31937
  taskId: external_exports.string().uuid(),
31932
- sha: external_exports.string().regex(/^[0-9a-f]{40}$/),
31933
- gitDir: external_exports.string().startsWith("/")
31938
+ files: external_exports.array(external_exports.object({ path: external_exports.string().min(1), content: external_exports.string().nullable() })).min(1).optional(),
31939
+ sha: external_exports.string().regex(/^[0-9a-f]{40}$/).optional(),
31940
+ gitDir: external_exports.string().startsWith("/").optional()
31934
31941
  });
31935
31942
  var site2 = external_exports.object({ definitionName: external_exports.string(), path: external_exports.string(), line: external_exports.number(), cause: external_exports.string() });
31936
31943
  var siteLine2 = (d) => ` ${d.definitionName} at ${d.path}:${d.line} \u2014 ${d.cause}`;
31937
31944
  var defineProposalCheckTool = {
31938
31945
  name: "define_proposal_check",
31939
- description: "Before submitting a fill for a PR-check proposal, ask what the check would say about your candidate: commit your worktree on the PR head (git write-tree, then git commit-tree <tree> -p <headSha>) and pass that sha with your git directory. Answers the divergences still standing at the candidate, the ones it closes and the ones it opens. Records nothing.",
31946
+ description: "Before submitting a fill for a PR-check proposal, ask what the check would say about your candidate: pass `files`, the same file-set you would submit with tasks_submit ({path, content} each; content null deletes the file). Answers the divergences still standing at the candidate, the ones it closes and the ones it opens. Records nothing.",
31940
31947
  capability: "decision",
31941
31948
  inputSchema: input9.shape,
31942
31949
  async handler(raw, ctx) {
31943
31950
  const args2 = input9.parse(raw);
31944
- const wire = await ctx.gateway.invoke("decision-proposal-check", args2);
31951
+ const candidate = args2.files !== void 0 ? { taskId: args2.taskId, files: args2.files } : args2.sha !== void 0 && args2.gitDir !== void 0 ? { taskId: args2.taskId, sha: args2.sha, gitDir: args2.gitDir } : null;
31952
+ if (candidate === null) return { text: "define_proposal_check: pass `files`, the file-set you would submit as the fill." };
31953
+ const wire = await ctx.gateway.invoke("decision-proposal-check", candidate);
31945
31954
  const body2 = readBody(
31946
31955
  external_exports.object({
31947
31956
  delta: external_exports.object({
@@ -48341,7 +48350,7 @@ var workReadTools = createWorkReadToolProviders({ capability: "work" });
48341
48350
  var bundledProviders = [src_default2, src_default, tension_default, ...defineTools, ...decisionTools, ...captureTools, ...buildTools, secureTool, ...workTools, ...workReadTools];
48342
48351
 
48343
48352
  // package.json
48344
- var version2 = "0.4.15";
48353
+ var version2 = "0.4.17";
48345
48354
 
48346
48355
  // src/server.ts
48347
48356
  var SERVER_VERSION = version2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subseam/mcp",
3
- "version": "0.4.15",
3
+ "version": "0.4.17",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {