@elixpo/lixsketch 5.6.3 → 5.6.4

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/README.md CHANGED
@@ -210,6 +210,25 @@ Deployment requires migration `0010_mcp_workspace_grants.sql`, a shared `MCP_REL
210
210
 
211
211
  The stdio channel is reserved for MCP JSON-RPC. Server status is written to stderr.
212
212
 
213
+ Before configuring a client, verify the executable from the same terminal used to
214
+ launch that client:
215
+
216
+ ```bash
217
+ type -a codex
218
+ node --version
219
+ command -v npx
220
+ npx -y @elixpo/lixsketch@latest --help
221
+ ```
222
+
223
+ Node.js 20 or newer is required. If a desktop or sandboxed client cannot resolve
224
+ `npx`, set its MCP `command` to the absolute path returned by `command -v npx`.
225
+ The generated website configuration uses the portable `npx` command because a
226
+ website cannot inspect local executable paths. When multiple Codex installations
227
+ exist, use the first installation that shares the working Node.js environment.
228
+ For Codex TOML configurations, set `startup_timeout_sec = 30` so the first package
229
+ download has enough time to complete. `codex mcp list` confirms registration;
230
+ restart Codex and use `/mcp` in a fresh session to confirm the handshake.
231
+
213
232
  ### MCP tools
214
233
 
215
234
  | Tool | Purpose |
package/dist/mcp/index.js CHANGED
@@ -887,7 +887,7 @@ var LixSketchMcpServer = class {
887
887
  if (method === "initialize") {
888
888
  const requested = request.params?.protocolVersion;
889
889
  const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.has(requested) ? requested : PROTOCOL_VERSION;
890
- return { protocolVersion, capabilities: { tools: { listChanged: false }, resources: { subscribe: false, listChanged: false } }, serverInfo: this.serverInfo, instructions: "Read canvas_get before mutations. Use expectedRevision and dryRun for safe edits. Prefer template_insert for reusable component packs." };
890
+ return { protocolVersion, capabilities: { tools: { listChanged: false }, resources: { subscribe: false, listChanged: false } }, serverInfo: this.serverInfo, instructions: "Before any mutation, call canvas_get and retain its revision. Preserve unrelated shapes. Send expectedRevision and dryRun: true first, inspect canvas_preview for layout changes, then commit the same validated operation with dryRun: false. Never clear or replace a canvas unless the user explicitly requests it. Prefer lixscript_apply for diagrams and template_insert for reusable component packs." };
891
891
  }
892
892
  if (method === "ping") return {};
893
893
  if (method === "tools/list") return { tools: this.listTools() };