@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.
- package/.agents/plugins/marketplace.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.mcp.json +5 -2
- package/README.md +2 -0
- package/README.zh-CN.md +2 -0
- package/dist/export/files.d.ts.map +1 -1
- package/dist/export/files.js +2 -1
- package/dist/export/files.js.map +1 -1
- package/dist/export/workspace.d.ts +4 -0
- package/dist/export/workspace.d.ts.map +1 -0
- package/dist/export/workspace.js +25 -0
- package/dist/export/workspace.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -1
- package/dist/server.js.map +1 -1
- package/dist/studio/install.js +2 -2
- package/dist/studio/install.js.map +1 -1
- package/dist/tools/geogebra-tools.d.ts.map +1 -1
- package/dist/tools/geogebra-tools.js +2 -1
- package/dist/tools/geogebra-tools.js.map +1 -1
- package/dist/utils/geogebra-instance.d.ts.map +1 -1
- package/dist/utils/geogebra-instance.js +2 -1
- package/dist/utils/geogebra-instance.js.map +1 -1
- package/docs/TANGENT-REGRESSION.md +3 -0
- package/docs/VALIDATION.md +6 -3
- package/mcp.json +5 -2
- package/package.json +2 -1
- package/plugin.json +1 -1
- package/runtime/package.json +4 -0
- package/scripts/build-plugin.cjs +1 -1
- package/skills/geogebra-construct/SKILL.md +3 -0
- package/skills/geogebra-setup/SKILL.md +4 -0
- package/skills/geometry-export/SKILL.md +2 -0
- package/src/export/files.ts +2 -1
- package/src/export/workspace.ts +15 -0
- package/src/server.ts +13 -1
- package/src/studio/install.ts +2 -2
- package/src/tools/geogebra-tools.ts +2 -1
- package/src/utils/geogebra-instance.ts +2 -1
package/.mcp.json
CHANGED
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": [
|
|
6
6
|
"--yes",
|
|
7
|
-
"
|
|
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":"
|
|
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"}
|
package/dist/export/files.js
CHANGED
|
@@ -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)(
|
|
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))
|
package/dist/export/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/export/files.ts"],"names":[],"mappings":";;;;;;
|
|
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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
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
|
-
|
|
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);
|
package/dist/server.js.map
CHANGED
|
@@ -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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"}
|
package/dist/studio/install.js
CHANGED
|
@@ -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;
|
|
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
|
|
56
|
+
return (0, workspace_1.currentWorkspace)();
|
|
56
57
|
}
|
|
57
58
|
function getRequestedFilename(params) {
|
|
58
59
|
const filename = params['filename'];
|