@lydt/geogebra-studio 0.0.0-stage → 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 (189) hide show
  1. package/.agents/plugins/marketplace.json +21 -0
  2. package/.codex-plugin/plugin.json +21 -0
  3. package/.mcp.json +18 -0
  4. package/LICENSE +339 -0
  5. package/LICENSE-MIT +21 -0
  6. package/README.md +108 -2
  7. package/README.zh-CN.md +89 -0
  8. package/THIRD_PARTY_NOTICES.md +35 -0
  9. package/dist/cli.d.ts +27 -0
  10. package/dist/cli.d.ts.map +1 -0
  11. package/dist/cli.js +234 -0
  12. package/dist/cli.js.map +1 -0
  13. package/dist/export/files.d.ts +4 -0
  14. package/dist/export/files.d.ts.map +1 -0
  15. package/dist/export/files.js +44 -0
  16. package/dist/export/files.js.map +1 -0
  17. package/dist/export/gikz.d.ts +11 -0
  18. package/dist/export/gikz.d.ts.map +1 -0
  19. package/dist/export/gikz.js +28 -0
  20. package/dist/export/gikz.js.map +1 -0
  21. package/dist/export/html.d.ts +14 -0
  22. package/dist/export/html.d.ts.map +1 -0
  23. package/dist/export/html.js +97 -0
  24. package/dist/export/html.js.map +1 -0
  25. package/dist/export/semantic.d.ts +43 -0
  26. package/dist/export/semantic.d.ts.map +1 -0
  27. package/dist/export/semantic.js +212 -0
  28. package/dist/export/semantic.js.map +1 -0
  29. package/dist/export/viewer-themes.d.ts +76 -0
  30. package/dist/export/viewer-themes.d.ts.map +1 -0
  31. package/dist/export/viewer-themes.js +169 -0
  32. package/dist/export/viewer-themes.js.map +1 -0
  33. package/dist/export/workspace.d.ts +4 -0
  34. package/dist/export/workspace.d.ts.map +1 -0
  35. package/dist/export/workspace.js +25 -0
  36. package/dist/export/workspace.js.map +1 -0
  37. package/dist/gikz-browser.js +770 -0
  38. package/dist/index.d.ts +5 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +84 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/server.d.ts +35 -0
  43. package/dist/server.d.ts.map +1 -0
  44. package/dist/server.js +187 -0
  45. package/dist/server.js.map +1 -0
  46. package/dist/studio/artifact.d.ts +37 -0
  47. package/dist/studio/artifact.d.ts.map +1 -0
  48. package/dist/studio/artifact.js +61 -0
  49. package/dist/studio/artifact.js.map +1 -0
  50. package/dist/studio/browser.d.ts +7 -0
  51. package/dist/studio/browser.d.ts.map +1 -0
  52. package/dist/studio/browser.js +67 -0
  53. package/dist/studio/browser.js.map +1 -0
  54. package/dist/studio/install.d.ts +4 -0
  55. package/dist/studio/install.d.ts.map +1 -0
  56. package/dist/studio/install.js +60 -0
  57. package/dist/studio/install.js.map +1 -0
  58. package/dist/tools/apps-api-tools.d.ts +4 -0
  59. package/dist/tools/apps-api-tools.d.ts.map +1 -0
  60. package/dist/tools/apps-api-tools.js +96 -0
  61. package/dist/tools/apps-api-tools.js.map +1 -0
  62. package/dist/tools/educational-templates.d.ts +33 -0
  63. package/dist/tools/educational-templates.d.ts.map +1 -0
  64. package/dist/tools/educational-templates.js +261 -0
  65. package/dist/tools/educational-templates.js.map +1 -0
  66. package/dist/tools/export-tools.d.ts +3 -0
  67. package/dist/tools/export-tools.d.ts.map +1 -0
  68. package/dist/tools/export-tools.js +118 -0
  69. package/dist/tools/export-tools.js.map +1 -0
  70. package/dist/tools/geogebra-tools.d.ts +15 -0
  71. package/dist/tools/geogebra-tools.d.ts.map +1 -0
  72. package/dist/tools/geogebra-tools.js +3442 -0
  73. package/dist/tools/geogebra-tools.js.map +1 -0
  74. package/dist/tools/index.d.ts +43 -0
  75. package/dist/tools/index.d.ts.map +1 -0
  76. package/dist/tools/index.js +183 -0
  77. package/dist/tools/index.js.map +1 -0
  78. package/dist/tools/performance-tools.d.ts +7 -0
  79. package/dist/tools/performance-tools.d.ts.map +1 -0
  80. package/dist/tools/performance-tools.js +312 -0
  81. package/dist/tools/performance-tools.js.map +1 -0
  82. package/dist/tools/templates/algebra-templates.d.ts +7 -0
  83. package/dist/tools/templates/algebra-templates.d.ts.map +1 -0
  84. package/dist/tools/templates/algebra-templates.js +568 -0
  85. package/dist/tools/templates/algebra-templates.js.map +1 -0
  86. package/dist/tools/templates/geometry-templates.d.ts +7 -0
  87. package/dist/tools/templates/geometry-templates.d.ts.map +1 -0
  88. package/dist/tools/templates/geometry-templates.js +492 -0
  89. package/dist/tools/templates/geometry-templates.js.map +1 -0
  90. package/dist/types/geogebra.d.ts +103 -0
  91. package/dist/types/geogebra.d.ts.map +1 -0
  92. package/dist/types/geogebra.js +34 -0
  93. package/dist/types/geogebra.js.map +1 -0
  94. package/dist/types/mcp.d.ts +125 -0
  95. package/dist/types/mcp.d.ts.map +1 -0
  96. package/dist/types/mcp.js +19 -0
  97. package/dist/types/mcp.js.map +1 -0
  98. package/dist/utils/app-info.d.ts +12 -0
  99. package/dist/utils/app-info.d.ts.map +1 -0
  100. package/dist/utils/app-info.js +30 -0
  101. package/dist/utils/app-info.js.map +1 -0
  102. package/dist/utils/errors.d.ts +37 -0
  103. package/dist/utils/errors.d.ts.map +1 -0
  104. package/dist/utils/errors.js +72 -0
  105. package/dist/utils/errors.js.map +1 -0
  106. package/dist/utils/gemini-compatibility.d.ts +39 -0
  107. package/dist/utils/gemini-compatibility.d.ts.map +1 -0
  108. package/dist/utils/gemini-compatibility.js +154 -0
  109. package/dist/utils/gemini-compatibility.js.map +1 -0
  110. package/dist/utils/geogebra-instance.d.ts +252 -0
  111. package/dist/utils/geogebra-instance.d.ts.map +1 -0
  112. package/dist/utils/geogebra-instance.js +1560 -0
  113. package/dist/utils/geogebra-instance.js.map +1 -0
  114. package/dist/utils/geogebra-mock.d.ts +172 -0
  115. package/dist/utils/geogebra-mock.d.ts.map +1 -0
  116. package/dist/utils/geogebra-mock.js +732 -0
  117. package/dist/utils/geogebra-mock.js.map +1 -0
  118. package/dist/utils/logger.d.ts +4 -0
  119. package/dist/utils/logger.d.ts.map +1 -0
  120. package/dist/utils/logger.js +46 -0
  121. package/dist/utils/logger.js.map +1 -0
  122. package/dist/utils/performance/index.d.ts +76 -0
  123. package/dist/utils/performance/index.d.ts.map +1 -0
  124. package/dist/utils/performance/index.js +163 -0
  125. package/dist/utils/performance/index.js.map +1 -0
  126. package/dist/utils/performance/instance-pool.d.ts +78 -0
  127. package/dist/utils/performance/instance-pool.d.ts.map +1 -0
  128. package/dist/utils/performance/instance-pool.js +268 -0
  129. package/dist/utils/performance/instance-pool.js.map +1 -0
  130. package/dist/utils/validation.d.ts +92 -0
  131. package/dist/utils/validation.d.ts.map +1 -0
  132. package/dist/utils/validation.js +557 -0
  133. package/dist/utils/validation.js.map +1 -0
  134. package/dist/widget.html +110 -0
  135. package/docs/APPS-API-BRIDGE.md +28 -0
  136. package/docs/MODERNIZATION.md +15 -0
  137. package/docs/TANGENT-REGRESSION.md +34 -0
  138. package/docs/VALIDATION.md +26 -0
  139. package/docs/VISUAL-STANDARD.md +26 -0
  140. package/docs/images/native-construction.png +0 -0
  141. package/examples/tangent-construction.json +26 -0
  142. package/gikz/LICENSE +339 -0
  143. package/gikz/PROVENANCE.md +8 -0
  144. package/gikz/browser.cjs +2 -0
  145. package/gikz/cli.cjs +195 -0
  146. package/gikz/core.cjs +806 -0
  147. package/mcp.json +20 -0
  148. package/package.json +107 -4
  149. package/plugin.json +35 -0
  150. package/runtime/package.json +4 -0
  151. package/scripts/build-plugin.cjs +15 -0
  152. package/scripts/build-widget.cjs +7 -0
  153. package/skills/geogebra-construct/SKILL.md +40 -0
  154. package/skills/geogebra-setup/SKILL.md +37 -0
  155. package/skills/geometry-export/SKILL.md +31 -0
  156. package/src/cli.ts +212 -0
  157. package/src/export/files.ts +26 -0
  158. package/src/export/gikz.ts +22 -0
  159. package/src/export/html.ts +108 -0
  160. package/src/export/semantic.ts +180 -0
  161. package/src/export/viewer-themes.ts +165 -0
  162. package/src/export/workspace.ts +15 -0
  163. package/src/index.ts +71 -0
  164. package/src/server.ts +168 -0
  165. package/src/studio/artifact.ts +50 -0
  166. package/src/studio/browser.ts +38 -0
  167. package/src/studio/install.ts +43 -0
  168. package/src/tools/apps-api-tools.ts +96 -0
  169. package/src/tools/educational-templates.ts +299 -0
  170. package/src/tools/export-tools.ts +110 -0
  171. package/src/tools/geogebra-tools.ts +3836 -0
  172. package/src/tools/index.ts +192 -0
  173. package/src/tools/performance-tools.ts +322 -0
  174. package/src/tools/templates/algebra-templates.ts +619 -0
  175. package/src/tools/templates/geometry-templates.ts +550 -0
  176. package/src/types/geogebra.ts +140 -0
  177. package/src/types/global.d.ts +31 -0
  178. package/src/types/mcp.ts +141 -0
  179. package/src/utils/app-info.ts +35 -0
  180. package/src/utils/errors.ts +97 -0
  181. package/src/utils/gemini-compatibility.ts +193 -0
  182. package/src/utils/geogebra-instance.ts +1712 -0
  183. package/src/utils/geogebra-mock.ts +867 -0
  184. package/src/utils/logger.ts +60 -0
  185. package/src/utils/performance/index.ts +211 -0
  186. package/src/utils/performance/instance-pool.ts +323 -0
  187. package/src/utils/validation.ts +647 -0
  188. package/tsconfig.json +35 -0
  189. package/widget/main.ts +12 -0
@@ -0,0 +1,252 @@
1
+ import { GeoGebraConfig, GeoGebraAPI, GeoGebraCommandResult, GeoGebraObject } from '../types/geogebra';
2
+ export declare class GeoGebraInstance implements GeoGebraAPI {
3
+ private browser?;
4
+ private page?;
5
+ private isInitialized;
6
+ private lastActivity;
7
+ readonly id: string;
8
+ readonly config: GeoGebraConfig;
9
+ constructor(config?: GeoGebraConfig);
10
+ /**
11
+ * Initialize the GeoGebra instance
12
+ */
13
+ initialize(headless?: boolean, browserArgs?: string[]): Promise<void>;
14
+ /**
15
+ * Load GeoGebra applet in the browser
16
+ */
17
+ private loadGeoGebra;
18
+ /**
19
+ * Generate HTML content with GeoGebra applet
20
+ */
21
+ private generateAppletHTML;
22
+ /**
23
+ * Wait for GeoGebra to be ready
24
+ */
25
+ private waitForReady;
26
+ /**
27
+ * Execute a GeoGebra command
28
+ */
29
+ evalCommand(command: string): Promise<GeoGebraCommandResult>;
30
+ /**
31
+ * Execute command and get labels of created objects
32
+ */
33
+ evalCommandGetLabels(command: string): Promise<string[]>;
34
+ /** Invoke a documented GeoGebra Apps API method against the live applet. */
35
+ callAppsApi(method: string, args?: unknown[], options?: {
36
+ waitForCallbackIndex?: number;
37
+ callbackTimeoutMs?: number;
38
+ callbacks?: Array<{
39
+ argumentIndex: number;
40
+ id: string;
41
+ }>;
42
+ }): Promise<unknown>;
43
+ readAppsApiCallbackEvents(id: string, clear?: boolean): Promise<unknown[][]>;
44
+ /** Enumerate callable methods exposed by the currently loaded official applet API. */
45
+ listAppsApiMethods(): Promise<string[]>;
46
+ /**
47
+ * Delete an object
48
+ */
49
+ deleteObject(objName: string): Promise<boolean>;
50
+ /**
51
+ * Check if object exists
52
+ */
53
+ exists(objName: string): Promise<boolean>;
54
+ /**
55
+ * Check if object is defined
56
+ */
57
+ isDefined(objName: string): Promise<boolean>;
58
+ /**
59
+ * Get all object names
60
+ */
61
+ getAllObjectNames(type?: string): Promise<string[]>;
62
+ /**
63
+ * Set each object's caption to LaTeX name form ($name$) and show caption label mode.
64
+ */
65
+ applyLatexCaptionDefaults(objectNames: string[], showLabel?: boolean): Promise<void>;
66
+ /**
67
+ * Apply default visual style settings to objects.
68
+ * - Point-like objects: point size
69
+ * - Line-like objects: line thickness
70
+ */
71
+ applyDefaultStyleSettings(objectNames: string[], pointSize: number, lineThickness: number): Promise<void>;
72
+ /**
73
+ * Get object information
74
+ */
75
+ getObjectInfo(objName: string): Promise<GeoGebraObject | null>;
76
+ /**
77
+ * Get X coordinate of object
78
+ */
79
+ getXcoord(objName: string): Promise<number>;
80
+ /**
81
+ * Get Y coordinate of object
82
+ */
83
+ getYcoord(objName: string): Promise<number>;
84
+ /**
85
+ * Get Z coordinate of object
86
+ */
87
+ getZcoord(objName: string): Promise<number>;
88
+ /**
89
+ * Get value of object
90
+ */
91
+ getValue(objName: string): Promise<number>;
92
+ /**
93
+ * Get value string of object
94
+ */
95
+ getValueString(objName: string): Promise<string>;
96
+ /**
97
+ * Clear construction
98
+ */
99
+ newConstruction(): Promise<void>;
100
+ /**
101
+ * Reset construction
102
+ */
103
+ reset(): Promise<void>;
104
+ /**
105
+ * Refresh views
106
+ */
107
+ refreshViews(): Promise<void>;
108
+ /**
109
+ * Set coordinate system bounds
110
+ */
111
+ setCoordSystem(xmin: number, xmax: number, ymin: number, ymax: number): Promise<void>;
112
+ /**
113
+ * Set axes visibility
114
+ */
115
+ setAxesVisible(xAxis: boolean, yAxis: boolean): Promise<void>;
116
+ /**
117
+ * Set grid visibility
118
+ */
119
+ setGridVisible(visible: boolean): Promise<void>;
120
+ /**
121
+ * Check if GeoGebra is ready
122
+ */
123
+ isReady(): Promise<boolean>;
124
+ /**
125
+ * Export construction as PNG (base64) with enhanced parameters
126
+ * GEB-17: Enhanced with validation, retry logic, and better error handling
127
+ */
128
+ exportPNG(scale?: number, transparent?: boolean, dpi?: number, width?: number, height?: number): Promise<string>;
129
+ /**
130
+ * Export construction as SVG
131
+ * GEB-17: Enhanced with better validation and error handling, no more placeholder responses
132
+ */
133
+ /** Raw PGF is internal input to the mandatory Gikz pipeline. */
134
+ exportNativeTikZ(): Promise<string>;
135
+ exportSVG(): Promise<string>;
136
+ exportPDF(): Promise<string>;
137
+ exportGGB(): Promise<string>;
138
+ private nativeExport;
139
+ /** Load a generated viewer and wait for its native applet and responsive layout. */
140
+ renderHtml(html: string): Promise<void>;
141
+ capturePreview(): Promise<Uint8Array>;
142
+ getConstructionXML(): Promise<string>;
143
+ /**
144
+ * Validate that a file path is within the workspace directory to prevent path traversal attacks
145
+ * @param filePath - The file path to validate
146
+ * @param workspaceDir - The workspace directory
147
+ * @returns The validated absolute path
148
+ * @throws Error if path is outside workspace
149
+ */
150
+ validateFilePath(filePath: string, workspaceDir: string): string;
151
+ /**
152
+ * Calculate optimal view coordinates to fit all visible objects
153
+ * @param padding - Padding percentage around objects (default: 0.2 for 20% margin)
154
+ * @param minRange - Minimum range for each axis (default: 2)
155
+ * @returns View coordinates {xmin, xmax, ymin, ymax} or null if no visible points
156
+ */
157
+ calculateAutoZoomCoordinates(padding?: number, minRange?: number): Promise<{
158
+ xmin: number;
159
+ xmax: number;
160
+ ymin: number;
161
+ ymax: number;
162
+ } | null>;
163
+ /**
164
+ * Apply auto-zoom to fit all visible objects
165
+ * @param padding - Padding percentage around objects (default: 0.2 for 20% margin)
166
+ * @param minRange - Minimum range for each axis (default: 2)
167
+ * @returns true if auto-zoom was applied, false if no visible points
168
+ */
169
+ applyAutoZoom(padding?: number, minRange?: number): Promise<boolean>;
170
+ /**
171
+ * Load a GeoGebra construction from a .ggb file
172
+ * @param ggbBase64OrPath - Either base64-encoded .ggb content or file path
173
+ */
174
+ loadGGB(ggbBase64OrPath: string): Promise<void>;
175
+ /**
176
+ * Export animation as GIF or video frames
177
+ * GEB-17: Enhanced with comprehensive applet availability checks
178
+ */
179
+ exportAnimation(options?: {
180
+ duration?: number;
181
+ frameRate?: number;
182
+ format?: 'gif' | 'frames';
183
+ width?: number;
184
+ height?: number;
185
+ }): Promise<string | string[]>;
186
+ /**
187
+ * Cleanup resources
188
+ */
189
+ cleanup(): Promise<void>;
190
+ /**
191
+ * Get instance state
192
+ */
193
+ getState(): {
194
+ id: string;
195
+ isReady: boolean;
196
+ lastActivity: Date;
197
+ config: GeoGebraConfig;
198
+ };
199
+ /**
200
+ * GEB-17: Enhanced diagnostic method to check applet health
201
+ */
202
+ checkAppletHealth(): Promise<{
203
+ isHealthy: boolean;
204
+ issues: string[];
205
+ capabilities: {
206
+ hasApplet: boolean;
207
+ hasEvalCommand: boolean;
208
+ hasExportMethods: boolean;
209
+ hasAnimationMethods: boolean;
210
+ };
211
+ exportAvailability: {
212
+ png: boolean;
213
+ svg: boolean;
214
+ pdf: boolean;
215
+ };
216
+ }>;
217
+ /**
218
+ * GEB-17: Enhanced method to validate export readiness before attempting export
219
+ */
220
+ validateExportReadiness(exportType: 'png' | 'svg' | 'pdf' | 'animation'): Promise<{
221
+ ready: boolean;
222
+ issues: string[];
223
+ recommendations: string[];
224
+ }>;
225
+ /**
226
+ * GEB-17: Retry mechanism for failed operations
227
+ */
228
+ private retryOperation;
229
+ /**
230
+ * Execute code in the browser context for debugging
231
+ */
232
+ debugEvaluate<T>(code: string | Function): Promise<T>;
233
+ /**
234
+ * Update last activity timestamp
235
+ */
236
+ private updateActivity;
237
+ /**
238
+ * Ensure instance is initialized
239
+ */
240
+ private ensureInitialized;
241
+ /**
242
+ * Animation Methods
243
+ */
244
+ setAnimating(objName: string, animate: boolean): Promise<void>;
245
+ setAnimationSpeed(objName: string, speed: number): Promise<void>;
246
+ startAnimation(): Promise<void>;
247
+ stopAnimation(): Promise<void>;
248
+ isAnimationRunning(): Promise<boolean>;
249
+ setTrace(objName: string, flag: boolean): Promise<void>;
250
+ setValue(objName: string, value: number): Promise<void>;
251
+ }
252
+ //# sourceMappingURL=geogebra-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geogebra-instance.d.ts","sourceRoot":"","sources":["../../src/utils/geogebra-instance.ts"],"names":[],"mappings":"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"}