breakpoint-mcp 1.83.0 → 1.84.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.
@@ -103,6 +103,95 @@ export function droppedTools(enabled) {
103
103
  .filter((name) => !toolAllowed(name, enabled))
104
104
  .sort();
105
105
  }
106
+ /**
107
+ * HANDLE PRODUCERS — the pairs where one tool CONSUMES an opaque handle that
108
+ * exactly one other tool MINTS.
109
+ *
110
+ * 🔴 A CAPABILITY BOUNDARY CAN RUN THROUGH THE MIDDLE OF A PAIR, AND UNTIL 296
111
+ * NOTHING ASKED WHETHER IT DID. Every reader above asks the same question — is
112
+ * the right tool dropped? `capabilities.test.ts` asserts the tagging is total
113
+ * and correct, `droppedToolMessage` asserts a dropped name is never `not found`,
114
+ * and both were right. Neither asks the OTHER question: of the tools left BEHIND
115
+ * on the secure-default surface, can any caller still use them?
116
+ *
117
+ * Measured on a real default surface (driving the shipped server over stdio):
118
+ * `godot_stop` and `godot_output` both take an `id` that ONLY `godot_run_managed`
119
+ * returns, and that tool is `code-execution`. So on a default install those two
120
+ * unprivileged tools can answer exactly one thing — `No managed process with id
121
+ * "…"` — for every input a caller can construct, and the sentence gives no hint
122
+ * that the reason is policy rather than a typo. `runtime_peers_digest` and
123
+ * `runtime_peer_stop` are the same pair one plane over, behind
124
+ * `runtime_spawn_peers`.
125
+ *
126
+ * 🔵 THE TABLE IS THE POPULATION, NOT THE FOUR ROWS. A row is owed by any tool
127
+ * whose input names another tool as the source of its value; `capabilities.test.ts`
128
+ * derives that set from the REGISTERED surface and refuses an undeclared one, so
129
+ * the next handle-taking tool cannot join the surface without this file hearing
130
+ * about it. A row whose producer is unprivileged is legal and carries no clause —
131
+ * such rows are here so the table reads as total rather than as a list of
132
+ * complaints.
133
+ */
134
+ export const HANDLE_PRODUCERS = {
135
+ // Cross-boundary — the producer is `code-execution` and the consumer is not.
136
+ godot_output: { field: "id", producer: "godot_run_managed" },
137
+ godot_stop: { field: "id", producer: "godot_run_managed" },
138
+ runtime_peer_stop: { field: "id", producer: "runtime_spawn_peers" },
139
+ runtime_peers_digest: { field: "peers", producer: "runtime_spawn_peers" },
140
+ // 🔵 AND THE SIX THAT SPAN NOTHING, WHICH ARE THE HALF THAT MAKES THIS A TABLE.
141
+ // The two debug planes hand a caller a frame id and then a variables ref, each
142
+ // minted by the tool before it, and every one of those producers is unprivileged —
143
+ // so these rows carry no clause on any surface. They are declared because the
144
+ // question this table answers is *which tools take a handle somebody else mints*,
145
+ // and a table that held only the four unhappy pairs would be a list of today's
146
+ // complaints. Tag `dbg_scopes` tomorrow and `orphanedConsumers` says so the same
147
+ // day, without anyone remembering to look.
148
+ dbg_scopes: { field: "frame_id", producer: "dbg_stack_trace" },
149
+ dbg_variables: { field: "variables_ref", producer: "dbg_scopes" },
150
+ dbg_set_variable: { field: "variables_ref", producer: "dbg_scopes" },
151
+ cs_dbg_scopes: { field: "frame_id", producer: "cs_dbg_stack_trace" },
152
+ cs_dbg_variables: { field: "variables_ref", producer: "cs_dbg_scopes" },
153
+ cs_dbg_set_variable: { field: "variables_ref", producer: "cs_dbg_scopes" },
154
+ };
155
+ /**
156
+ * The consumers whose producer is withheld under `enabled` — the tools that are
157
+ * ON the surface and cannot be reached from it. Sorted, derived, never restated.
158
+ */
159
+ export function orphanedConsumers(enabled) {
160
+ return Object.entries(HANDLE_PRODUCERS)
161
+ .filter(([consumer, row]) => toolAllowed(consumer, enabled) && !toolAllowed(row.producer, enabled))
162
+ .map(([consumer]) => consumer)
163
+ .sort();
164
+ }
165
+ /**
166
+ * The sentence a consumer appends to its own refusal when nothing on this surface
167
+ * can mint what it consumes. Empty string when the producer IS reachable — there
168
+ * the caller simply passed a handle that has expired or never existed, which is
169
+ * the ordinary case and owes no policy explanation.
170
+ *
171
+ * 🔴 IT IS APPENDED TO A REFUSAL AND NEVER SUBSTITUTED FOR ONE. The caller's own
172
+ * mistake stays first in the sentence; this explains why no correct input exists.
173
+ */
174
+ export function producerWithheldClause(consumer, enabled) {
175
+ const row = HANDLE_PRODUCERS[consumer];
176
+ if (!row)
177
+ return "";
178
+ return withheldProducerSentence(row.field, row.producer, enabled);
179
+ }
180
+ /**
181
+ * The same sentence addressed by (field, producer) rather than by consumer — for the
182
+ * call sites that serve a WHOLE family through one message. `PeerRegistry.unknownPeer`
183
+ * is the only one: twenty-five runtime tools take an optional `peer`, and the registry
184
+ * that refuses an unknown id does not know which of them is asking.
185
+ */
186
+ export function withheldProducerSentence(field, producer, enabled) {
187
+ if (toolAllowed(producer, enabled))
188
+ return "";
189
+ const groups = (TOOL_CAPABILITIES[producer] ?? []).join(", ");
190
+ return (` — and on this surface no \`${field}\` can exist: \`${producer}\`, the only tool that mints one, ` +
191
+ `is WITHHELD BY POLICY in the higher-trust group '${groups}'. This is a configuration, not a missing feature. ` +
192
+ `Enable it with BREAKPOINT_PRIVILEGED_GROUPS=${groups} in this server's env (or \`npx breakpoint-mcp init ` +
193
+ `--trust full\`) and restart, or read the godot://capabilities resource.`);
194
+ }
106
195
  /**
107
196
  * Wrap `server.registerTool` to DROP any tool whose capability group isn't
108
197
  * enabled, so a disabled group's tools never reach `tools/list`. Mirrors
@@ -243,6 +332,18 @@ export function registerCapabilitiesResource(server, enabled) {
243
332
  default_secure: enabled.size === 0,
244
333
  enabled_groups: [...enabled].sort(),
245
334
  dropped_tools: droppedTools(enabled),
335
+ // 🆕 296 — THE SECOND HALF OF WHAT A GROUP COSTS, AND IT WAS UNPRINTED.
336
+ // `dropped_tools` says what is gone. It does not say that four tools which are
337
+ // STILL HERE cannot be used, because the only tool that produces what they
338
+ // consume is in the dropped set. That is a fact about the surface a caller is
339
+ // reading, so it belongs beside the dropped list rather than only inside the
340
+ // refusal they get after trying — an agent reads this resource to plan, and
341
+ // planning around a tool that can only refuse is the mistake worth preventing.
342
+ orphaned_consumers: orphanedConsumers(enabled).map((consumer) => ({
343
+ tool: consumer,
344
+ consumes: HANDLE_PRODUCERS[consumer]?.field ?? "",
345
+ produced_only_by: HANDLE_PRODUCERS[consumer]?.producer ?? "",
346
+ })),
246
347
  how_to_enable: `Set BREAKPOINT_PRIVILEGED_GROUPS in the MCP server env (comma-separated), from: ${groupList}, or 'all'. ` +
247
348
  "Or re-run `npx breakpoint-mcp init --trust full` for a guided setup.",
248
349
  groups,
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Client tool-count caps — the numbers that decide whether this server loads at
3
+ * all, transcribed from the clients that enforce them.
4
+ *
5
+ * 🔴 WHY A MODULE AND NOT A PARAGRAPH. A client that caps its tool list does not
6
+ * degrade when the cap is exceeded: it refuses the whole server, before any code
7
+ * here runs. Google's Antigravity answers `enabled tools would exceed max limit
8
+ * of 100` and loads nothing; VS Code blocks agent mode at 128 across every server
9
+ * a session has enabled. Breakpoint's default surface is roughly three times the
10
+ * smallest of those, so on those clients it does not appear, does not warn, and
11
+ * prints nothing a user could search for. `BREAKPOINT_TOOLSETS` has been the
12
+ * remedy since 214 — the failure is that nobody who hits the wall can find it,
13
+ * because the wall names a limit rather than a remedy.
14
+ *
15
+ * 🔴 THESE ARE SOMEBODY ELSE'S NUMBERS AND THIS FILE SAYS SO. Nothing in this
16
+ * repository derives them; each row carries the issue it was read from and the
17
+ * date it was read, so a reader can re-check the claim at its source rather than
18
+ * trusting a figure that has been copied forward. What this tree DOES own is the
19
+ * relation between them and our own surface: `client_caps.test.ts` measures every
20
+ * preset published in `README.md` against `SMALLEST_CLIENT_CAP` and reddens when a
21
+ * new tool pushes one over — the documentation cannot go quietly false as the
22
+ * surface grows, which is the whole reason a published preset is worth publishing.
23
+ */
24
+ /**
25
+ * Ordered smallest cap first, because the smallest is the one a preset has to fit.
26
+ *
27
+ * 🔵 GEMINI CLI IS DELIBERATELY ABSENT. Its own limit is under an open request to
28
+ * raise it (google-gemini/gemini-cli #21823) and a number that is being argued
29
+ * about is not a number to publish a preset against; the two rows below are
30
+ * enforced today and their error text is quotable.
31
+ */
32
+ export const CLIENT_TOOL_CAPS = [
33
+ {
34
+ client: "Google Antigravity",
35
+ limit: 100,
36
+ symptom: "enabled tools would exceed max limit of 100",
37
+ source: "google-gemini/gemini-cli issue #26678, filed 2026-05-07 — read 2026-08-27",
38
+ },
39
+ {
40
+ client: "VS Code (agent mode)",
41
+ limit: 128,
42
+ symptom: "agent mode is blocked once the tools enabled across all servers exceed 128",
43
+ source: "microsoft/vscode issue #290356 — read 2026-08-27",
44
+ },
45
+ ];
46
+ /**
47
+ * The cap a preset has to fit under to fit everywhere.
48
+ *
49
+ * 🔴 DERIVED, NEVER TYPED. A second literal saying 100 is a second thing to
50
+ * update, and the one that goes stale is always the one no reader compares.
51
+ */
52
+ export const SMALLEST_CLIENT_CAP = Math.min(...CLIENT_TOOL_CAPS.map((c) => c.limit));
53
+ /**
54
+ * The presets `README.md` publishes as fitting under every cap above, by the
55
+ * `BREAKPOINT_TOOLSETS` value that selects each one.
56
+ *
57
+ * 🔴 THIS LIST IS THE PIN'S POPULATION, WHICH IS WHY IT IS HERE AND NOT IN THE
58
+ * TEST. A guard whose population lives beside the guard is a guard over the cases
59
+ * somebody remembered; this list is what the documentation actually offers, so
60
+ * publishing a preset and pinning it are the same act. `client_caps.test.ts`
61
+ * resolves each value through `selectToolsets`, counts the tools it registers, and
62
+ * refuses a count over `SMALLEST_CLIENT_CAP` — so a tool added to `lsp`, `dap`,
63
+ * `cli` or `runtime` reddens here rather than in a user's editor.
64
+ */
65
+ export const PUBLISHED_FITTING_PRESETS = ["d", "b,c,d"];
66
+ /** The startup line's advice clause, spelled once so the log and the docs agree. */
67
+ export function capAdvice(registered) {
68
+ if (registered <= SMALLEST_CLIENT_CAP)
69
+ return "";
70
+ const names = CLIENT_TOOL_CAPS.map((c) => `${c.client} ${c.limit}`).join(", ");
71
+ return (` · over some clients' tool-list caps (${names}) — if your client refuses to load this ` +
72
+ `server, set BREAKPOINT_TOOLSETS (see "Tool limits" in README.md; ` +
73
+ `BREAKPOINT_TOOLSETS=${PUBLISHED_FITTING_PRESETS[0]} fits every cap above)`);
74
+ }
75
+ //# sourceMappingURL=client-caps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-caps.js","sourceRoot":"","sources":["../src/client-caps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAcH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD;QACE,MAAM,EAAE,oBAAoB;QAC5B,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,2EAA2E;KACpF;IACD;QACE,MAAM,EAAE,sBAAsB;QAC9B,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,4EAA4E;QACrF,MAAM,EAAE,kDAAkD;KAC3D;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAE3E,oFAAoF;AACpF,MAAM,UAAU,SAAS,CAAC,UAAkB;IAC1C,IAAI,UAAU,IAAI,mBAAmB;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CACL,yCAAyC,KAAK,0CAA0C;QACxF,mEAAmE;QACnE,uBAAuB,yBAAyB,CAAC,CAAC,CAAC,wBAAwB,CAC5E,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,8 @@ import { taskStore, TASK_CAPABILITIES } from "./tasks.js";
24
24
  import { RESOURCE_CAPABILITIES, registerResourceSubscriptions } from "./subscriptions.js";
25
25
  import { pauseLatch, installPauseSignalHandlers } from "./pause.js";
26
26
  import { applyResultCost } from "./result-cost.js";
27
+ import { installToolCensus } from "./tool-census.js";
28
+ import { capAdvice } from "./client-caps.js";
27
29
  import { log } from "./logger.js";
28
30
  async function main() {
29
31
  const config = loadConfig();
@@ -71,6 +73,14 @@ async function main() {
71
73
  // not merely early: McpServer installs its tools/list handler from inside the FIRST
72
74
  // registerTool, so a wrapper added after any registration wraps nothing.
73
75
  applyWireDefaults(server);
76
+ // 🆕 289 — THE CENSUS, AND IT IS FIRST BECAUSE FIRST IS INNERMOST. Every apply*
77
+ // below makes itself the OUTERMOST registerTool wrapper, so the earliest one
78
+ // installed is the LAST in the call chain and counts only what reached the SDK —
79
+ // after `applyCapabilities` dropped a privileged tool and after the toolset
80
+ // filter declined a whole group. Installed later it would count 292 attempts on
81
+ // every configuration and be wrong exactly on the default one. `applyWireDefaults`
82
+ // keeps its FIRST claim above: it wraps setRequestHandler, not registerTool.
83
+ const toolCensus = installToolCensus(server);
74
84
  // B1: enforce frozen output schemas on every structured tool. Must run before
75
85
  // any register*Tools call — it wraps server.registerTool.
76
86
  applyOutputSchemas(server);
@@ -174,6 +184,16 @@ async function main() {
174
184
  const on = [...privilegedGroups].sort().join(", ") || "(none)";
175
185
  log(`privileged groups enabled: ${on}; dropped ${droppedTools(privilegedGroups).length} tool(s) from the surface`);
176
186
  }
187
+ // 🆕 289 — THE COUNT A CAPPED CLIENT JUDGES THIS SERVER BY, PRINTED WHERE ITS
188
+ // OPERATOR CAN SEE IT. Unconditional, because the configurations that need it
189
+ // most are the ones nobody configured: a client that refuses a long tool list
190
+ // refuses BEFORE anything here runs, so a user whose editor went quiet has no
191
+ // output to search and no reason to suspect a count. The advice clause is
192
+ // silent under the smallest cap and names the remedy above it — a number
193
+ // without a remedy is what the client's own error message already gives them.
194
+ const registeredTools = toolCensus();
195
+ log(`tool surface: ${registeredTools} tool(s) registered · groups ` +
196
+ `${[...enabled].sort().join(",")}${capAdvice(registeredTools)}`);
177
197
  // Track 2 — global-pause latch (prototype). A coarse overlay on the destructive
178
198
  // gate: SIGUSR1 pauses, SIGUSR2 resumes; BREAKPOINT_START_PAUSED starts held.
179
199
  // Per-tool elicitation gating stays the lead control (see src/pause.ts).
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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"}
package/dist/peers.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { BridgeClient, BridgeError } from "./bridge.js";
2
2
  import { ProcessRegistry } from "./tools/processes.js";
3
3
  import { ensureProjectSecret, readProjectSecret } from "./secret.js";
4
+ import { selectPrivilegedGroups, withheldProducerSentence } from "./capabilities.js";
4
5
  import { log } from "./logger.js";
5
6
  import { portFree } from "./ports.js";
6
7
  import { waitForBridge } from "./readiness.js";
@@ -72,7 +73,15 @@ export class PeerRegistry {
72
73
  const ids = this.live().map((p) => p.id);
73
74
  return new BridgeError("unknown_peer", `No peer with id "${id}". Live peers: ${ids.length ? ids.join(", ") : "(none)"}.`, ids.length
74
75
  ? `Address one of the live peer ids above, or omit \`peer\` to address the default running game.`
75
- : `Spawn peers with runtime_spawn_peers, or omit \`peer\` to address the default running game.`);
76
+ : // 🆕 296 — AND ON THE SECURE DEFAULT, "spawn peers" NAMES A TOOL THIS CALLER
77
+ // DOES NOT HAVE. Twenty-five runtime tools take an optional `peer` whose only
78
+ // producer is `runtime_spawn_peers`, which is `code-execution` and dropped by
79
+ // default. Omitting `peer` still works — that is why these tools are not
80
+ // orphaned — but a caller who passed one was told to spawn peers with a name
81
+ // absent from their own tools/list, which reads as a broken suggestion rather
82
+ // than as the configuration it is. One call site, the whole `peer` family.
83
+ `Spawn peers with runtime_spawn_peers, or omit \`peer\` to address the default running game.` +
84
+ withheldProducerSentence("peer", "runtime_spawn_peers", selectPrivilegedGroups(this.cfg.privilegedGroups)));
76
85
  }
77
86
  /**
78
87
  * The bridge client addressing one peer. Throws a BridgeError the runtime
package/dist/peers.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"peers.js","sourceRoot":"","sources":["../src/peers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peers.js","sourceRoot":"","sources":["../src/peers.ts"],"names":[],"mappings":"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"}
package/dist/schemas.js CHANGED
@@ -138,6 +138,38 @@ export const OVERWRITE_DOC = "Replace if it exists";
138
138
  * 🔵 SPREAD, NOT RESTATED. A tool that gains a destination cannot be added with the
139
139
  * reporting half missing, which is exactly how these nineteen came to exist.
140
140
  */
141
+ /**
142
+ * The envelope EVERY tool that MOVES the editor's edited scene as a SIDE EFFECT
143
+ * answers with — 298.
144
+ *
145
+ * 🔴 THE EDITOR TOOLS WHOSE SUBJECT IS THE EDITED SCENE ALL NAME IT ALREADY.
146
+ * `scene_open` answers `opened`, `scene_new` answers `created`, `scene_save_as`
147
+ * answers `saved_as`. The four tabletop composites decompose onto `scene.new`,
148
+ * which calls `open_scene_from_path`, so they move it too — and they answered
149
+ * `scene_path` + `saved` and nothing else. A caller reading `saved: true` has no
150
+ * way to learn that the scene they were composing is no longer the one the next
151
+ * `card_instance` will land in.
152
+ *
153
+ * 🔵 NULLABLE BECAUSE THE HONEST ANSWER CAN BE "NONE". The editor can hold no
154
+ * open scene; a reader that could not spell that would have to invent a path.
155
+ *
156
+ * 🔵 SPREAD, NOT RESTATED, FOR `wroteDestination`'s REASON one block down: a
157
+ * composite that gains a `scene.new` cannot be added with the reporting half
158
+ * missing. That is exactly how these four came to exist.
159
+ *
160
+ * 🆕 299 — AND THE FOUR NOW PUT THE CALLER BACK, SO THE ENVELOPE WAS RENAMED
161
+ * WITH THEM. 298 shipped this field as a WARNING LABEL: the tools moved you and
162
+ * at least said where to. Steered at 299, they restore the scene that was
163
+ * being edited when the call arrived, and the field stops being a warning and
164
+ * becomes the PROOF — read from the editor after the restore, so a reopen that
165
+ * failed is visible as a path that is not the caller's. `movedEditedScene` was
166
+ * the honest name for a tool that moved you and the wrong name for one that
167
+ * does not; a field whose envelope still claimed the move would be the same
168
+ * defect 298 found, inverted.
169
+ */
170
+ const reportsEditedScene = {
171
+ edited_scene: z.string().nullable(),
172
+ };
141
173
  const wroteDestination = {
142
174
  replaced: z.boolean().optional(),
143
175
  };
@@ -982,7 +1014,7 @@ export const outputSchemas = {
982
1014
  };
983
1015
  })(),
984
1016
  // ---- Group N: card/board/piece authoring composites (tools/tabletop.ts) ----
985
- card_template_create: { ...wroteDestination,
1017
+ card_template_create: { ...wroteDestination, ...reportsEditedScene,
986
1018
  scene_path: z.string(),
987
1019
  script_path: z.string(),
988
1020
  root_type: z.string(),
@@ -1022,7 +1054,7 @@ export const outputSchemas = {
1022
1054
  player_path: z.string().nullable(),
1023
1055
  anim: z.string().nullable(),
1024
1056
  },
1025
- board_create: { ...wroteDestination,
1057
+ board_create: { ...wroteDestination, ...reportsEditedScene,
1026
1058
  scene_path: z.string(),
1027
1059
  root_type: z.string(),
1028
1060
  cell_kind: z.string(),
@@ -1039,7 +1071,7 @@ export const outputSchemas = {
1039
1071
  node_path: z.string(),
1040
1072
  align: z.object({ x: z.number(), y: z.number() }),
1041
1073
  },
1042
- board_tile_create: { ...wroteDestination,
1074
+ board_tile_create: { ...wroteDestination, ...reportsEditedScene,
1043
1075
  scene_path: z.string(),
1044
1076
  layer_path: z.string(),
1045
1077
  layer_name: z.string(),
@@ -1064,7 +1096,7 @@ export const outputSchemas = {
1064
1096
  align: z.object({ x: z.number(), y: z.number() }),
1065
1097
  reparented: z.boolean(),
1066
1098
  },
1067
- piece_template_create: { ...wroteDestination,
1099
+ piece_template_create: { ...wroteDestination, ...reportsEditedScene,
1068
1100
  scene_path: z.string(),
1069
1101
  script_path: z.string(),
1070
1102
  root_type: z.string(),