@lydt/geogebra-studio 0.4.0-rc.1 → 0.4.0-rc.2

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 (39) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/.mcp.json +5 -2
  4. package/README.md +2 -0
  5. package/README.zh-CN.md +2 -0
  6. package/dist/export/files.d.ts.map +1 -1
  7. package/dist/export/files.js +2 -1
  8. package/dist/export/files.js.map +1 -1
  9. package/dist/export/workspace.d.ts +4 -0
  10. package/dist/export/workspace.d.ts.map +1 -0
  11. package/dist/export/workspace.js +25 -0
  12. package/dist/export/workspace.js.map +1 -0
  13. package/dist/server.d.ts.map +1 -1
  14. package/dist/server.js +13 -1
  15. package/dist/server.js.map +1 -1
  16. package/dist/studio/install.js +2 -2
  17. package/dist/studio/install.js.map +1 -1
  18. package/dist/tools/geogebra-tools.d.ts.map +1 -1
  19. package/dist/tools/geogebra-tools.js +2 -1
  20. package/dist/tools/geogebra-tools.js.map +1 -1
  21. package/dist/utils/geogebra-instance.d.ts.map +1 -1
  22. package/dist/utils/geogebra-instance.js +2 -1
  23. package/dist/utils/geogebra-instance.js.map +1 -1
  24. package/docs/TANGENT-REGRESSION.md +3 -0
  25. package/docs/VALIDATION.md +6 -3
  26. package/mcp.json +5 -2
  27. package/package.json +2 -1
  28. package/plugin.json +1 -1
  29. package/runtime/package.json +4 -0
  30. package/scripts/build-plugin.cjs +1 -1
  31. package/skills/geogebra-construct/SKILL.md +3 -0
  32. package/skills/geogebra-setup/SKILL.md +4 -0
  33. package/skills/geometry-export/SKILL.md +2 -0
  34. package/src/export/files.ts +2 -1
  35. package/src/export/workspace.ts +15 -0
  36. package/src/server.ts +13 -1
  37. package/src/studio/install.ts +2 -2
  38. package/src/tools/geogebra-tools.ts +2 -1
  39. package/src/utils/geogebra-instance.ts +2 -1
@@ -9,7 +9,7 @@
9
9
  "source": {
10
10
  "source": "npm",
11
11
  "package": "@lydt/geogebra-studio",
12
- "version": "0.4.0-rc.1"
12
+ "version": "0.4.0-rc.2"
13
13
  },
14
14
  "policy": {
15
15
  "installation": "AVAILABLE",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geogebra-studio",
3
- "version": "0.4.0-rc.1",
3
+ "version": "0.4.0-rc.2",
4
4
  "description": "GeoGebra Studio: editable geometry plugin with MCP, agent skills, interactive HTML and built-in Gikz",
5
5
  "skills": "./skills/",
6
6
  "mcpServers": "./.mcp.json",
package/.mcp.json CHANGED
@@ -4,11 +4,14 @@
4
4
  "command": "npx",
5
5
  "args": [
6
6
  "--yes",
7
- "@lydt/geogebra-studio@0.4.0-rc.1",
7
+ "--prefix",
8
+ "./runtime",
9
+ "@lydt/geogebra-studio@0.4.0-rc.2",
8
10
  "mcp"
9
11
  ],
10
12
  "env": {
11
- "GEOGEBRA_TOOL_PROFILE": "core"
13
+ "GEOGEBRA_TOOL_PROFILE": "core",
14
+ "GEOGEBRA_PLUGIN_RUNTIME": "1"
12
15
  }
13
16
  }
14
17
  }
package/README.md CHANGED
@@ -32,6 +32,8 @@ objects, embed packed GGB, reopen the final viewer, check equal axes and return
32
32
  preview for visual review. Output files are new files within the workspace; existing
33
33
  files are not overwritten. The example commands are in
34
34
  [examples/tangent-construction.json](examples/tangent-construction.json).
35
+ The agent passes the absolute user project directory as `workspace` when saving;
36
+ clients can also supply MCP roots. Output is never silently directed into the plugin cache.
35
37
 
36
38
  ## Edit and download
37
39
 
package/README.zh-CN.md CHANGED
@@ -26,6 +26,8 @@ npx @lydt/geogebra-studio install
26
26
  默认工具 `geogebra_build_artifact` 执行原生构造、检查可见对象、打包 GGB,重新
27
27
  打开最终 HTML 并检查等比画布,返回预览供 agent 检查。仅创建工作区内新文件,
28
28
  不会覆盖已有文件。完整参数见 examples/tangent-construction.json。
29
+ 保存文件时,agent 将用户项目的绝对目录传入 `workspace`;客户端也可以提供 MCP roots。
30
+ 输出文件不会默认落入插件缓存目录。
29
31
 
30
32
  ## 编辑与下载
31
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/export/files.ts"],"names":[],"mappings":"AAGA,4FAA4F;AAC5F,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB3G;AAED,eAAO,MAAM,QAAQ,GAAI,UAAU,OAAO,EAAE,SAAS,MAAM,gCAA+B,CAAC"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/export/files.ts"],"names":[],"mappings":"AAIA,4FAA4F;AAC5F,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB3G;AAED,eAAO,MAAM,QAAQ,GAAI,UAAU,OAAO,EAAE,SAAS,MAAM,gCAA+B,CAAC"}
@@ -7,13 +7,14 @@ exports.saveText = void 0;
7
7
  exports.saveFile = saveFile;
8
8
  const promises_1 = require("fs/promises");
9
9
  const path_1 = __importDefault(require("path"));
10
+ const workspace_1 = require("./workspace");
10
11
  /** Restrict new export destinations, including existing ancestor symlinks, to workspace. */
11
12
  async function saveFile(filename, content) {
12
13
  if (filename === undefined)
13
14
  return undefined;
14
15
  if (typeof filename !== 'string' || !filename.trim())
15
16
  throw new Error('filename must be a nonempty string');
16
- const root = await (0, promises_1.realpath)(process.env['VSCODE_WORKSPACE_FOLDER'] || process.cwd());
17
+ const root = await (0, promises_1.realpath)((0, workspace_1.currentWorkspace)());
17
18
  const target = path_1.default.resolve(root, filename);
18
19
  const inside = (s) => s.startsWith(root + path_1.default.sep);
19
20
  if (!inside(target))
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/export/files.ts"],"names":[],"mappings":";;;;;;AAIA,4BAkBC;AAtBD,0CAAgE;AAChE,gDAAwB;AAExB,4FAA4F;AACrF,KAAK,UAAU,QAAQ,CAAC,QAAiB,EAAE,OAA4B;IAC5E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC5G,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACzE,iEAAiE;IACjE,IAAI,OAAO,GAAC,IAAI,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,GAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YAAC,MAAM,IAAI,GAAC,MAAM,IAAA,gBAAK,EAAC,OAAO,CAAC,CAAC;YAAC,IAAG,IAAI,CAAC,cAAc,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAAC,CAAC;QAClI,OAAM,CAAC,EAAE,CAAC;YAAC,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,CAAC,CAAC;QAAC,CAAC;IAC3E,CAAC;IACD,MAAM,IAAA,gBAAK,EAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAA,mBAAQ,EAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxI,MAAM,IAAA,oBAAS,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAE,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAC,OAAO,CAAC,CAAC;AAA9E,QAAA,QAAQ,YAAsE"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/export/files.ts"],"names":[],"mappings":";;;;;;AAKA,4BAkBC;AAvBD,0CAAgE;AAChE,gDAAwB;AACxB,2CAA+C;AAE/C,4FAA4F;AACrF,KAAK,UAAU,QAAQ,CAAC,QAAiB,EAAE,OAA4B;IAC5E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC5G,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACzE,iEAAiE;IACjE,IAAI,OAAO,GAAC,IAAI,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,GAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YAAC,MAAM,IAAI,GAAC,MAAM,IAAA,gBAAK,EAAC,OAAO,CAAC,CAAC;YAAC,IAAG,IAAI,CAAC,cAAc,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAAC,CAAC;QAClI,OAAM,CAAC,EAAE,CAAC;YAAC,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,CAAC,CAAC;QAAC,CAAC;IAC3E,CAAC;IACD,MAAM,IAAA,gBAAK,EAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAA,mBAAQ,EAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxI,MAAM,IAAA,oBAAS,EAAC,MAAM,EAAC,OAAO,EAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAE,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAC,OAAO,CAAC,CAAC;AAA9E,QAAA,QAAQ,YAAsE"}
@@ -0,0 +1,4 @@
1
+ export declare const currentWorkspace: () => string;
2
+ /** Keep the requested workspace scoped to one MCP call, including asynchronous exports. */
3
+ export declare function inWorkspace<T>(workspace: unknown, operation: () => Promise<T>): Promise<T>;
4
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/export/workspace.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,cAA8E,CAAC;AAE5G,2FAA2F;AAC3F,wBAAsB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,MAAI,OAAO,CAAC,CAAC,CAAC,GAAE,OAAO,CAAC,CAAC,CAAC,CAM1F"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.currentWorkspace = void 0;
7
+ exports.inWorkspace = inWorkspace;
8
+ const async_hooks_1 = require("async_hooks");
9
+ const promises_1 = require("fs/promises");
10
+ const path_1 = __importDefault(require("path"));
11
+ const context = new async_hooks_1.AsyncLocalStorage();
12
+ const currentWorkspace = () => context.getStore() || process.env['VSCODE_WORKSPACE_FOLDER'] || process.cwd();
13
+ exports.currentWorkspace = currentWorkspace;
14
+ /** Keep the requested workspace scoped to one MCP call, including asynchronous exports. */
15
+ async function inWorkspace(workspace, operation) {
16
+ if (workspace === undefined)
17
+ return operation();
18
+ if (typeof workspace !== 'string' || !path_1.default.isAbsolute(workspace))
19
+ throw new Error('workspace must be an absolute directory path');
20
+ const root = await (0, promises_1.realpath)(workspace);
21
+ if (!(await (0, promises_1.stat)(root)).isDirectory())
22
+ throw new Error('workspace must be a directory');
23
+ return context.run(root, operation);
24
+ }
25
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/export/workspace.ts"],"names":[],"mappings":";;;;;;AAQA,kCAMC;AAdD,6CAAgD;AAChD,0CAA6C;AAC7C,gDAAwB;AAExB,MAAM,OAAO,GAAC,IAAI,+BAAiB,EAAU,CAAC;AACvC,MAAM,gBAAgB,GAAC,GAAE,EAAE,CAAA,OAAO,CAAC,QAAQ,EAAE,IAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AAA/F,QAAA,gBAAgB,oBAA+E;AAE5G,2FAA2F;AACpF,KAAK,UAAU,WAAW,CAAI,SAAiB,EAAC,SAAwB;IAC7E,IAAG,SAAS,KAAG,SAAS;QAAC,OAAO,SAAS,EAAE,CAAC;IAC5C,IAAG,OAAO,SAAS,KAAG,QAAQ,IAAE,CAAC,cAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC5H,MAAM,IAAI,GAAC,MAAM,IAAA,mBAAQ,EAAC,SAAS,CAAC,CAAC;IACrC,IAAG,CAAC,CAAC,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;QAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,SAAS,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAWnE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C,sFAAsF;AACtF,qBAAa,SAAU,SAAQ,YAAY;IAM7B,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAuC;gBAChC,MAAM,EAAE,eAAe;IAE3C,oBAAoB,IAAI,MAAM;IAoExB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,4FAA4F;IACtF,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,SAAS;;;;;;;;;IACT,SAAS;;;;;;IACT,eAAe;CAChB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAWnE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAY9C,sFAAsF;AACtF,qBAAa,SAAU,SAAQ,YAAY;IAM7B,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAuC;gBAChC,MAAM,EAAE,eAAe;IAE3C,oBAAoB,IAAI,MAAM;IA6ExB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,4FAA4F;IACtF,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,SAAS;;;;;;;;;IACT,SAAS;;;;;;IACT,eAAe;CAChB"}
package/dist/server.js CHANGED
@@ -7,6 +7,8 @@ exports.McpServer = void 0;
7
7
  const events_1 = require("events");
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = __importDefault(require("path"));
10
+ const url_1 = require("url");
11
+ const workspace_1 = require("./export/workspace");
10
12
  const http_1 = require("http");
11
13
  const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
12
14
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
@@ -17,6 +19,7 @@ const tools_1 = require("./tools");
17
19
  const geogebra_tools_1 = require("./tools/geogebra-tools");
18
20
  const instance_pool_1 = require("./utils/performance/instance-pool");
19
21
  const guidance = 'Use geogebra_build_artifact by default to produce a checked local HTML with a packed editable GGB and preview. geogebra_create_html is an unverified command-template alternative. ' +
22
+ 'When saving files, pass workspace as the absolute user project directory; never use the installed plugin cache as the output directory. MCP roots are used when available. ' +
20
23
  'For server-side work use geogebra_eval_commands, then native exports. ' +
21
24
  'All TikZ exports use native PGF followed by Gikz; never return raw PGF as a final export. ' +
22
25
  'Use geogebra_get_semantic_scene before semantic export; report unsupported objects and coordinate fallbacks. ' +
@@ -45,6 +48,7 @@ class McpServer extends events_1.EventEmitter {
45
48
  'geogebra_create_html', 'geogebra_export_html', 'geogebra_get_semantic_scene',
46
49
  'geogebra_export_source', 'geogebra_export_tikz', 'geogebra_clean_tikz', 'geogebra_api_list_methods', 'geogebra_api_call', 'geogebra_api_get_callback_events']);
47
50
  const tools = tools_1.toolRegistry.getTools().filter(t => process.env['GEOGEBRA_TOOL_PROFILE'] !== 'core' || core.has(t.name))
51
+ .map(tool => tool.inputSchema.properties['filename'] ? { ...tool, inputSchema: { ...tool.inputSchema, properties: { ...tool.inputSchema.properties, workspace: { type: 'string', description: 'Absolute user workspace directory for saved files. Pass this when the client does not provide MCP roots; never use the plugin cache directory.' } } } } : tool)
48
52
  .sort((a, b) => a.name.localeCompare(b.name));
49
53
  const validators = new Map(tools.map(t => [t.name, ajv.compile(t.inputSchema)]));
50
54
  sdk.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({ tools }));
@@ -58,7 +62,15 @@ class McpServer extends events_1.EventEmitter {
58
62
  // Queue the entire operation, including export, to avoid cross-request mutation races.
59
63
  const operation = this.queue.then(async () => {
60
64
  try {
61
- const result = await tools_1.toolRegistry.executeTool(name, args);
65
+ let workspace = args['workspace'];
66
+ if (args['filename'] !== undefined && !workspace && sdk.getClientCapabilities()?.roots) {
67
+ const roots = await sdk.listRoots({}, { timeout: 5000 });
68
+ const folders = roots.roots.filter(root => root.uri.startsWith('file:')).map(root => (0, url_1.fileURLToPath)(root.uri));
69
+ workspace = folders.length === 1 ? folders[0] : folders.find(root => typeof args['filename'] === 'string' && path_1.default.isAbsolute(args['filename']) && args['filename'].startsWith(root + path_1.default.sep));
70
+ }
71
+ if (args['filename'] !== undefined && !workspace && process.env['GEOGEBRA_PLUGIN_RUNTIME'] === '1' && !process.env['VSCODE_WORKSPACE_FOLDER'])
72
+ throw new Error('Provide workspace as the absolute user project directory. The plugin cache is not an output workspace.');
73
+ const result = await (0, workspace_1.inWorkspace)(workspace, () => tools_1.toolRegistry.executeTool(name, args));
62
74
  if (!result.structuredContent && result.content.length === 1 && result.content[0]?.text) {
63
75
  try {
64
76
  const value = JSON.parse(result.content[0].text);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ async function installPlugin(local = false) {
37
37
  }
38
38
  await (0, promises_1.mkdir)(target, { recursive: true });
39
39
  const packageRoot = path_1.default.join(__dirname, '../..');
40
- for (const entry of ['dist', 'gikz', 'skills', 'docs', 'plugin.json', 'mcp.json', '.codex-plugin', '.mcp.json', 'package.json', 'LICENSE', 'LICENSE-MIT', 'THIRD_PARTY_NOTICES.md'])
40
+ for (const entry of ['dist', 'runtime', 'gikz', 'skills', 'docs', 'plugin.json', 'mcp.json', '.codex-plugin', '.mcp.json', 'package.json', 'LICENSE', 'LICENSE-MIT', 'THIRD_PARTY_NOTICES.md'])
41
41
  await (0, promises_1.cp)(path_1.default.join(packageRoot, entry), path_1.default.join(target, entry), { recursive: true });
42
42
  const localPackagePath = path_1.default.join(target, 'package.json');
43
43
  const localPackage = JSON.parse(await (0, promises_1.readFile)(localPackagePath, 'utf8'));
@@ -46,7 +46,7 @@ async function installPlugin(local = false) {
46
46
  await run(process.platform === 'win32' ? 'npm.cmd' : 'npm', ['install', '--omit=dev', '--ignore-scripts', '--no-audit', '--no-fund'], target);
47
47
  // Authoring mode tests the CLI installed at this stable path. Keep its command
48
48
  // portable and resolve the entry point from the plugin root.
49
- const localServer = { command: 'node', args: ['dist/cli.js', 'mcp'], cwd: './', env: { GEOGEBRA_TOOL_PROFILE: 'core' } };
49
+ const localServer = { command: 'node', args: ['dist/cli.js', 'mcp'], cwd: './', env: { GEOGEBRA_TOOL_PROFILE: 'core', GEOGEBRA_PLUGIN_RUNTIME: '1' } };
50
50
  await (0, promises_1.writeFile)(path_1.default.join(target, 'mcp.json'), JSON.stringify({ $schema: 'https://agent-plugins.org/schemas/1.0.0/mcp.schema.json', mcpServers: { geogebra: { type: 'stdio', ...localServer } } }, null, 2) + '\n');
51
51
  await (0, promises_1.writeFile)(path_1.default.join(target, '.mcp.json'), JSON.stringify({ mcpServers: { geogebra: localServer } }, null, 2) + '\n');
52
52
  source = { source: 'local', path: './plugin' };
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/studio/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/studio/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"geogebra-tools.d.ts","sourceRoot":"","sources":["../../src/tools/geogebra-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA2B9D,cAAM,oBAAoB;IACxB,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,eAAe,CAA+B;IAEhD,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwB/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B;AAED,eAAO,MAAM,YAAY,sBAA6B,CAAC;AAmPvD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAAc,EA67GzC,CAAC"}
1
+ {"version":3,"file":"geogebra-tools.d.ts","sourceRoot":"","sources":["../../src/tools/geogebra-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA4B9D,cAAM,oBAAoB;IACxB,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,eAAe,CAA+B;IAEhD,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwB/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B;AAED,eAAO,MAAM,YAAY,sBAA6B,CAAC;AAmPvD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAAc,EA67GzC,CAAC"}
@@ -9,6 +9,7 @@ const geogebra_instance_1 = require("../utils/geogebra-instance"); // Real imple
9
9
  const logger_1 = __importDefault(require("../utils/logger"));
10
10
  const fs_1 = __importDefault(require("fs"));
11
11
  const path_1 = __importDefault(require("path"));
12
+ const workspace_1 = require("../export/workspace");
12
13
  const validation_1 = require("../utils/validation");
13
14
  // Global instance pool for managing GeoGebra instances
14
15
  class GeoGebraInstancePool {
@@ -52,7 +53,7 @@ const DEFAULT_LINE_THICKNESS = 2;
52
53
  const DEFAULT_POINT_SIZE = 2;
53
54
  const LABEL_MODE_VALUES = ['all', 'none', 'points_only', 'specified'];
54
55
  function getWorkspaceDir() {
55
- return process.env['VSCODE_WORKSPACE_FOLDER'] || process.cwd();
56
+ return (0, workspace_1.currentWorkspace)();
56
57
  }
57
58
  function getRequestedFilename(params) {
58
59
  const filename = params['filename'];