breakpoint-mcp 1.25.0 → 1.26.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/cli/tools.js CHANGED
@@ -28,26 +28,7 @@ import { applyOutputSchemas } from "../schemas.js";
28
28
  import { applyAnnotations, annotationsFor } from "../annotations.js";
29
29
  import { TOOL_CAPABILITIES, CAPABILITY_GROUPS, GROUP_DESCRIBE } from "../capabilities.js";
30
30
  import { loadConfig } from "../config.js";
31
- import { readFileSync } from "node:fs";
32
- import { fileURLToPath } from "node:url";
33
- import { dirname, join } from "node:path";
34
- /**
35
- * Read the version from package.json at runtime rather than hardcoding it.
36
- * Deliberate: the version already has to be bumped in `package.json`, the
37
- * `serverInfo` literal, both `plugin.cfg`s, and the doctor/init surface strings
38
- * — this command must not become a sixth place to forget. package.json ships in
39
- * the npm tarball, so the read is safe in an installed package; if it ever
40
- * isn't, an unknown version is better than a stale one.
41
- */
42
- function packageVersion() {
43
- try {
44
- const here = dirname(fileURLToPath(import.meta.url));
45
- return JSON.parse(readFileSync(join(here, "..", "..", "package.json"), "utf8")).version ?? "unknown";
46
- }
47
- catch {
48
- return "unknown";
49
- }
50
- }
31
+ import { packageVersion } from "../version.js";
51
32
  /**
52
33
  * Register the whole surface against a recorder, exactly as `index.ts` does
53
34
  * (`applyOutputSchemas` → `applyAnnotations` → every `register*Tools`), and
package/dist/cslsp.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import { LspError } from "./lsp.js";
3
+ import { packageVersion } from "./version.js";
3
4
  /**
4
5
  * Minimal LSP client for the C#/.NET semantic plane (D4 C2). Transport-agnostic:
5
6
  * it drives any `JsonRpcChannel`, so production spawns OmniSharp over stdio
@@ -164,7 +165,7 @@ export class CsLspClient {
164
165
  workspace: { symbol: {}, workspaceFolders: true },
165
166
  },
166
167
  workspaceFolders: [{ uri: this.rootUri, name: "csharp-project" }],
167
- clientInfo: { name: "breakpoint-mcp", version: "0.2.0" },
168
+ clientInfo: { name: "breakpoint-mcp", version: packageVersion() },
168
169
  }));
169
170
  this.serverCapabilities = result?.capabilities ?? {};
170
171
  await this.notify("initialized", {});
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ async function main() {
36
36
  // so long jobs (export/import/headless script) support poll/await/cancel.
37
37
  // D3: also advertise resources.subscribe so clients can subscribe to
38
38
  // godot://… resources and receive notifications/resources/updated.
39
- const server = new McpServer({ name: "breakpoint-mcp", version: "1.25.0" }, { capabilities: { ...TASK_CAPABILITIES, ...RESOURCE_CAPABILITIES }, taskStore });
39
+ const server = new McpServer({ name: "breakpoint-mcp", version: "1.26.0" }, { capabilities: { ...TASK_CAPABILITIES, ...RESOURCE_CAPABILITIES }, taskStore });
40
40
  // B1: enforce frozen output schemas on every structured tool. Must run before
41
41
  // any register*Tools call — it wraps server.registerTool.
42
42
  applyOutputSchemas(server);
package/dist/lsp.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import { FramedConnection } from "./framing.js";
3
+ import { packageVersion } from "./version.js";
3
4
  export class LspError extends Error {
4
5
  code;
5
6
  constructor(code, message) {
@@ -165,7 +166,7 @@ export class LspClient {
165
166
  workspace: { symbol: {}, workspaceFolders: true },
166
167
  },
167
168
  workspaceFolders: [{ uri: this.rootUri, name: "godot-project" }],
168
- clientInfo: { name: "breakpoint-mcp", version: "0.2.0" },
169
+ clientInfo: { name: "breakpoint-mcp", version: packageVersion() },
169
170
  }));
170
171
  this.serverCapabilities = result?.capabilities ?? {};
171
172
  await this.notify("initialized", {});
@@ -0,0 +1,32 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { fileURLToPath } from "node:url";
3
+ import { dirname, join } from "node:path";
4
+ /**
5
+ * The package version, read at runtime rather than hardcoded.
6
+ *
7
+ * Every literal version string in the source is a place a release can forget,
8
+ * and `contract_check.py` check 14 exists because two consecutive releases did.
9
+ * The best outcome is not a gated literal but no literal at all — so anything
10
+ * that merely needs to *report* the version should call this instead of being
11
+ * added to the roster.
12
+ *
13
+ * This was not academic. `lsp.ts` and `cslsp.ts` announced
14
+ * `clientInfo: { version: "0.2.0" }` to Godot's language server and to
15
+ * OmniSharp from the initial commit until 1.26.0 — the project shipped
16
+ * twenty-odd releases telling every LSP server it was 0.2.0, and nothing
17
+ * noticed, because a literal nobody compares to anything cannot go stale
18
+ * loudly.
19
+ *
20
+ * `package.json` ships in the npm tarball, so the read is safe in an installed
21
+ * package; if it ever isn't, an unknown version is better than a stale one.
22
+ */
23
+ export function packageVersion() {
24
+ try {
25
+ const here = dirname(fileURLToPath(import.meta.url));
26
+ return JSON.parse(readFileSync(join(here, "..", "package.json"), "utf8")).version ?? "unknown";
27
+ }
28
+ catch {
29
+ return "unknown";
30
+ }
31
+ }
32
+ //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "breakpoint-mcp",
3
- "version": "1.25.0",
3
+ "version": "1.26.0",
4
4
  "description": "MCP server exposing Godot to AI coding assistants over the Model Context Protocol — developed and tested with Claude — across four planes (CLI, live editor, LSP+DAP, runtime) with elicitation-gated destructive tools, long jobs on the formal MCP task model, captured console output, and MCP resources.",
5
5
  "type": "module",
6
6
  "license": "MIT",