@creatoria/miniapp-mcp 0.1.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.
Files changed (160) hide show
  1. package/README.md +469 -0
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +144 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/config/defaults.d.ts +73 -0
  7. package/dist/config/defaults.d.ts.map +1 -0
  8. package/dist/config/defaults.js +118 -0
  9. package/dist/config/defaults.js.map +1 -0
  10. package/dist/config/loader.d.ts +50 -0
  11. package/dist/config/loader.d.ts.map +1 -0
  12. package/dist/config/loader.js +189 -0
  13. package/dist/config/loader.js.map +1 -0
  14. package/dist/core/element-ref.d.ts +44 -0
  15. package/dist/core/element-ref.d.ts.map +1 -0
  16. package/dist/core/element-ref.js +213 -0
  17. package/dist/core/element-ref.js.map +1 -0
  18. package/dist/core/logger.d.ts +55 -0
  19. package/dist/core/logger.d.ts.map +1 -0
  20. package/dist/core/logger.js +378 -0
  21. package/dist/core/logger.js.map +1 -0
  22. package/dist/core/output.d.ts +21 -0
  23. package/dist/core/output.d.ts.map +1 -0
  24. package/dist/core/output.js +56 -0
  25. package/dist/core/output.js.map +1 -0
  26. package/dist/core/report-generator.d.ts +24 -0
  27. package/dist/core/report-generator.d.ts.map +1 -0
  28. package/dist/core/report-generator.js +212 -0
  29. package/dist/core/report-generator.js.map +1 -0
  30. package/dist/core/session.d.ts +83 -0
  31. package/dist/core/session.d.ts.map +1 -0
  32. package/dist/core/session.js +306 -0
  33. package/dist/core/session.js.map +1 -0
  34. package/dist/core/timeout.d.ts +49 -0
  35. package/dist/core/timeout.d.ts.map +1 -0
  36. package/dist/core/timeout.js +67 -0
  37. package/dist/core/timeout.js.map +1 -0
  38. package/dist/core/tool-logger.d.ts +83 -0
  39. package/dist/core/tool-logger.d.ts.map +1 -0
  40. package/dist/core/tool-logger.js +453 -0
  41. package/dist/core/tool-logger.js.map +1 -0
  42. package/dist/core/validation.d.ts +39 -0
  43. package/dist/core/validation.d.ts.map +1 -0
  44. package/dist/core/validation.js +93 -0
  45. package/dist/core/validation.js.map +1 -0
  46. package/dist/index.d.ts +7 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +6 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/server.d.ts +7 -0
  51. package/dist/server.d.ts.map +1 -0
  52. package/dist/server.js +85 -0
  53. package/dist/server.js.map +1 -0
  54. package/dist/tools/assert.d.ts +108 -0
  55. package/dist/tools/assert.d.ts.map +1 -0
  56. package/dist/tools/assert.js +291 -0
  57. package/dist/tools/assert.js.map +1 -0
  58. package/dist/tools/automator.d.ts +45 -0
  59. package/dist/tools/automator.d.ts.map +1 -0
  60. package/dist/tools/automator.js +186 -0
  61. package/dist/tools/automator.js.map +1 -0
  62. package/dist/tools/element.d.ts +253 -0
  63. package/dist/tools/element.d.ts.map +1 -0
  64. package/dist/tools/element.js +615 -0
  65. package/dist/tools/element.js.map +1 -0
  66. package/dist/tools/index.d.ts +97 -0
  67. package/dist/tools/index.d.ts.map +1 -0
  68. package/dist/tools/index.js +1565 -0
  69. package/dist/tools/index.js.map +1 -0
  70. package/dist/tools/miniprogram.d.ts +79 -0
  71. package/dist/tools/miniprogram.d.ts.map +1 -0
  72. package/dist/tools/miniprogram.js +245 -0
  73. package/dist/tools/miniprogram.js.map +1 -0
  74. package/dist/tools/network.d.ts +65 -0
  75. package/dist/tools/network.d.ts.map +1 -0
  76. package/dist/tools/network.js +205 -0
  77. package/dist/tools/network.js.map +1 -0
  78. package/dist/tools/page.d.ts +108 -0
  79. package/dist/tools/page.d.ts.map +1 -0
  80. package/dist/tools/page.js +307 -0
  81. package/dist/tools/page.js.map +1 -0
  82. package/dist/tools/record.d.ts +86 -0
  83. package/dist/tools/record.d.ts.map +1 -0
  84. package/dist/tools/record.js +316 -0
  85. package/dist/tools/record.js.map +1 -0
  86. package/dist/tools/snapshot.d.ts +82 -0
  87. package/dist/tools/snapshot.d.ts.map +1 -0
  88. package/dist/tools/snapshot.js +258 -0
  89. package/dist/tools/snapshot.js.map +1 -0
  90. package/dist/types.d.ts +240 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +5 -0
  93. package/dist/types.js.map +1 -0
  94. package/docs/SIMPLE_USAGE.md +210 -0
  95. package/docs/api/README.md +244 -0
  96. package/docs/api/assert.md +1015 -0
  97. package/docs/api/automator.md +345 -0
  98. package/docs/api/element.md +1454 -0
  99. package/docs/api/miniprogram.md +558 -0
  100. package/docs/api/network.md +883 -0
  101. package/docs/api/page.md +909 -0
  102. package/docs/api/record.md +963 -0
  103. package/docs/api/snapshot.md +792 -0
  104. package/docs/architecture.E-Docs.md +1359 -0
  105. package/docs/architecture.F1.md +720 -0
  106. package/docs/architecture.F2.md +871 -0
  107. package/docs/architecture.F3.md +905 -0
  108. package/docs/architecture.md +90 -0
  109. package/docs/charter.A1.align.yaml +170 -0
  110. package/docs/charter.A2.align.yaml +199 -0
  111. package/docs/charter.A3.align.yaml +242 -0
  112. package/docs/charter.A4.align.yaml +227 -0
  113. package/docs/charter.B1.align.yaml +179 -0
  114. package/docs/charter.B2.align.yaml +200 -0
  115. package/docs/charter.B3.align.yaml +200 -0
  116. package/docs/charter.B4.align.yaml +188 -0
  117. package/docs/charter.C1.align.yaml +190 -0
  118. package/docs/charter.C2.align.yaml +202 -0
  119. package/docs/charter.C3.align.yaml +211 -0
  120. package/docs/charter.C4.align.yaml +263 -0
  121. package/docs/charter.C5.align.yaml +220 -0
  122. package/docs/charter.D1.align.yaml +190 -0
  123. package/docs/charter.D2.align.yaml +234 -0
  124. package/docs/charter.D3.align.yaml +206 -0
  125. package/docs/charter.E-Docs.align.yaml +294 -0
  126. package/docs/charter.F1.align.yaml +193 -0
  127. package/docs/charter.F2.align.yaml +248 -0
  128. package/docs/charter.F3.align.yaml +287 -0
  129. package/docs/charter.G.align.yaml +174 -0
  130. package/docs/charter.align.yaml +111 -0
  131. package/docs/examples/session-report-usage.md +449 -0
  132. package/docs/maintenance.md +682 -0
  133. package/docs/playwright-mcp/350/260/203/347/240/224.md +53 -0
  134. package/docs/setup-guide.md +775 -0
  135. package/docs/tasks.A1.atomize.md +296 -0
  136. package/docs/tasks.A2.atomize.md +408 -0
  137. package/docs/tasks.A3.atomize.md +564 -0
  138. package/docs/tasks.A4.atomize.md +496 -0
  139. package/docs/tasks.B1.atomize.md +352 -0
  140. package/docs/tasks.B2.atomize.md +561 -0
  141. package/docs/tasks.B3.atomize.md +508 -0
  142. package/docs/tasks.B4.atomize.md +504 -0
  143. package/docs/tasks.C1.atomize.md +540 -0
  144. package/docs/tasks.C2.atomize.md +665 -0
  145. package/docs/tasks.C3.atomize.md +745 -0
  146. package/docs/tasks.C4.atomize.md +908 -0
  147. package/docs/tasks.C5.atomize.md +755 -0
  148. package/docs/tasks.D1.atomize.md +547 -0
  149. package/docs/tasks.D2.atomize.md +619 -0
  150. package/docs/tasks.D3.atomize.md +790 -0
  151. package/docs/tasks.E-Docs.atomize.md +1204 -0
  152. package/docs/tasks.atomize.md +189 -0
  153. package/docs/troubleshooting.md +855 -0
  154. package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +155 -0
  155. package/docs//345/274/200/345/217/221/344/273/273/345/212/241/350/256/241/345/210/222.md +110 -0
  156. package/docs//345/276/256/344/277/241/345/260/217/347/250/213/345/272/217/350/207/252/345/212/250/345/214/226API/345/256/214/346/225/264/346/226/207/346/241/243.md +894 -0
  157. package/docs//345/276/256/344/277/241/345/260/217/347/250/213/345/272/217/350/207/252/345/212/250/345/214/226/345/256/214/346/225/264/346/223/215/344/275/234/346/211/213/345/206/214.md +1885 -0
  158. package/docs//346/216/245/345/217/243/346/226/271/346/241/210.md +565 -0
  159. package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +380 -0
  160. package/package.json +87 -0
@@ -0,0 +1,615 @@
1
+ /**
2
+ * Element tool implementations
3
+ * Handles element-level operations: interactions, attributes, properties
4
+ */
5
+ /**
6
+ * Get element from session by refId
7
+ */
8
+ function getElement(session, refId) {
9
+ const cached = session.elements.get(refId);
10
+ if (!cached) {
11
+ throw new Error(`Element not found with refId: ${refId}. Use page_query to get element reference first.`);
12
+ }
13
+ return cached.element;
14
+ }
15
+ /**
16
+ * Tap (click) an element
17
+ */
18
+ export async function tap(session, args) {
19
+ const { refId } = args;
20
+ const logger = session.logger;
21
+ try {
22
+ logger?.info('Tapping element', { refId });
23
+ const element = getElement(session, refId);
24
+ await element.tap();
25
+ logger?.info('Element tapped successfully', { refId });
26
+ return {
27
+ success: true,
28
+ message: `Element tapped: ${refId}`,
29
+ };
30
+ }
31
+ catch (error) {
32
+ const errorMessage = error instanceof Error ? error.message : String(error);
33
+ logger?.error('Tap failed', {
34
+ error: errorMessage,
35
+ refId,
36
+ });
37
+ throw new Error(`Tap failed: ${errorMessage}`);
38
+ }
39
+ }
40
+ /**
41
+ * Long press an element
42
+ */
43
+ export async function longpress(session, args) {
44
+ const { refId } = args;
45
+ const logger = session.logger;
46
+ try {
47
+ logger?.info('Long pressing element', { refId });
48
+ const element = getElement(session, refId);
49
+ await element.longpress();
50
+ logger?.info('Element long pressed successfully', { refId });
51
+ return {
52
+ success: true,
53
+ message: `Element long pressed: ${refId}`,
54
+ };
55
+ }
56
+ catch (error) {
57
+ const errorMessage = error instanceof Error ? error.message : String(error);
58
+ logger?.error('Longpress failed', {
59
+ error: errorMessage,
60
+ refId,
61
+ });
62
+ throw new Error(`Longpress failed: ${errorMessage}`);
63
+ }
64
+ }
65
+ /**
66
+ * Input text into an element (input/textarea only)
67
+ */
68
+ export async function input(session, args) {
69
+ const { refId, value } = args;
70
+ const logger = session.logger;
71
+ try {
72
+ logger?.info('Inputting text', { refId, value });
73
+ const element = getElement(session, refId);
74
+ await element.input(value);
75
+ logger?.info('Text input successfully', { refId, value });
76
+ return {
77
+ success: true,
78
+ message: `Text input to element: ${refId}`,
79
+ };
80
+ }
81
+ catch (error) {
82
+ const errorMessage = error instanceof Error ? error.message : String(error);
83
+ logger?.error('Input failed', {
84
+ error: errorMessage,
85
+ refId,
86
+ value,
87
+ });
88
+ throw new Error(`Input failed: ${errorMessage}`);
89
+ }
90
+ }
91
+ /**
92
+ * Get element text content
93
+ */
94
+ export async function getText(session, args) {
95
+ const { refId } = args;
96
+ const logger = session.logger;
97
+ try {
98
+ logger?.info('Getting element text', { refId });
99
+ const element = getElement(session, refId);
100
+ const text = await element.text();
101
+ logger?.info('Element text retrieved', { refId, text });
102
+ return {
103
+ success: true,
104
+ message: 'Element text retrieved',
105
+ text,
106
+ };
107
+ }
108
+ catch (error) {
109
+ const errorMessage = error instanceof Error ? error.message : String(error);
110
+ logger?.error('GetText failed', {
111
+ error: errorMessage,
112
+ refId,
113
+ });
114
+ throw new Error(`GetText failed: ${errorMessage}`);
115
+ }
116
+ }
117
+ /**
118
+ * Get element attribute (特性)
119
+ */
120
+ export async function getAttribute(session, args) {
121
+ const { refId, name } = args;
122
+ const logger = session.logger;
123
+ try {
124
+ logger?.info('Getting element attribute', { refId, name });
125
+ const element = getElement(session, refId);
126
+ const value = await element.attribute(name);
127
+ logger?.info('Element attribute retrieved', { refId, name, value });
128
+ return {
129
+ success: true,
130
+ message: `Attribute "${name}" retrieved`,
131
+ value,
132
+ };
133
+ }
134
+ catch (error) {
135
+ const errorMessage = error instanceof Error ? error.message : String(error);
136
+ logger?.error('GetAttribute failed', {
137
+ error: errorMessage,
138
+ refId,
139
+ name,
140
+ });
141
+ throw new Error(`GetAttribute failed: ${errorMessage}`);
142
+ }
143
+ }
144
+ /**
145
+ * Get element property (属性)
146
+ */
147
+ export async function getProperty(session, args) {
148
+ const { refId, name } = args;
149
+ const logger = session.logger;
150
+ try {
151
+ logger?.info('Getting element property', { refId, name });
152
+ const element = getElement(session, refId);
153
+ const value = await element.property(name);
154
+ logger?.info('Element property retrieved', { refId, name, value });
155
+ return {
156
+ success: true,
157
+ message: `Property "${name}" retrieved`,
158
+ value,
159
+ };
160
+ }
161
+ catch (error) {
162
+ const errorMessage = error instanceof Error ? error.message : String(error);
163
+ logger?.error('GetProperty failed', {
164
+ error: errorMessage,
165
+ refId,
166
+ name,
167
+ });
168
+ throw new Error(`GetProperty failed: ${errorMessage}`);
169
+ }
170
+ }
171
+ /**
172
+ * Get element value
173
+ */
174
+ export async function getValue(session, args) {
175
+ const { refId } = args;
176
+ const logger = session.logger;
177
+ try {
178
+ logger?.info('Getting element value', { refId });
179
+ const element = getElement(session, refId);
180
+ const value = await element.value();
181
+ logger?.info('Element value retrieved', { refId, value });
182
+ return {
183
+ success: true,
184
+ message: 'Element value retrieved',
185
+ value,
186
+ };
187
+ }
188
+ catch (error) {
189
+ const errorMessage = error instanceof Error ? error.message : String(error);
190
+ logger?.error('GetValue failed', {
191
+ error: errorMessage,
192
+ refId,
193
+ });
194
+ throw new Error(`GetValue failed: ${errorMessage}`);
195
+ }
196
+ }
197
+ /**
198
+ * Get element size
199
+ */
200
+ export async function getSize(session, args) {
201
+ const { refId } = args;
202
+ const logger = session.logger;
203
+ try {
204
+ logger?.info('Getting element size', { refId });
205
+ const element = getElement(session, refId);
206
+ const size = await element.size();
207
+ logger?.info('Element size retrieved', { refId, size });
208
+ return {
209
+ success: true,
210
+ message: 'Element size retrieved',
211
+ size: size,
212
+ };
213
+ }
214
+ catch (error) {
215
+ const errorMessage = error instanceof Error ? error.message : String(error);
216
+ logger?.error('GetSize failed', {
217
+ error: errorMessage,
218
+ refId,
219
+ });
220
+ throw new Error(`GetSize failed: ${errorMessage}`);
221
+ }
222
+ }
223
+ /**
224
+ * Get element offset (position)
225
+ */
226
+ export async function getOffset(session, args) {
227
+ const { refId } = args;
228
+ const logger = session.logger;
229
+ try {
230
+ logger?.info('Getting element offset', { refId });
231
+ const element = getElement(session, refId);
232
+ const offset = await element.offset();
233
+ logger?.info('Element offset retrieved', { refId, offset });
234
+ return {
235
+ success: true,
236
+ message: 'Element offset retrieved',
237
+ offset: offset,
238
+ };
239
+ }
240
+ catch (error) {
241
+ const errorMessage = error instanceof Error ? error.message : String(error);
242
+ logger?.error('GetOffset failed', {
243
+ error: errorMessage,
244
+ refId,
245
+ });
246
+ throw new Error(`GetOffset failed: ${errorMessage}`);
247
+ }
248
+ }
249
+ /**
250
+ * Trigger an event on the element
251
+ */
252
+ export async function trigger(session, args) {
253
+ const { refId, type, detail } = args;
254
+ const logger = session.logger;
255
+ try {
256
+ logger?.info('Triggering event', { refId, type, detail });
257
+ const element = getElement(session, refId);
258
+ await element.trigger(type, detail);
259
+ logger?.info('Event triggered successfully', { refId, type });
260
+ return {
261
+ success: true,
262
+ message: `Event "${type}" triggered on element: ${refId}`,
263
+ };
264
+ }
265
+ catch (error) {
266
+ const errorMessage = error instanceof Error ? error.message : String(error);
267
+ logger?.error('Trigger failed', {
268
+ error: errorMessage,
269
+ refId,
270
+ type,
271
+ });
272
+ throw new Error(`Trigger failed: ${errorMessage}`);
273
+ }
274
+ }
275
+ /**
276
+ * Get element style value
277
+ */
278
+ export async function getStyle(session, args) {
279
+ const { refId, name } = args;
280
+ const logger = session.logger;
281
+ try {
282
+ logger?.info('Getting element style', { refId, name });
283
+ const element = getElement(session, refId);
284
+ const value = await element.style(name);
285
+ logger?.info('Element style retrieved', { refId, name, value });
286
+ return {
287
+ success: true,
288
+ message: `Style "${name}" retrieved`,
289
+ value,
290
+ };
291
+ }
292
+ catch (error) {
293
+ const errorMessage = error instanceof Error ? error.message : String(error);
294
+ logger?.error('GetStyle failed', {
295
+ error: errorMessage,
296
+ refId,
297
+ name,
298
+ });
299
+ throw new Error(`GetStyle failed: ${errorMessage}`);
300
+ }
301
+ }
302
+ /**
303
+ * Touch start on element
304
+ */
305
+ export async function touchstart(session, args) {
306
+ const { refId, touches, changedTouches } = args;
307
+ const logger = session.logger;
308
+ try {
309
+ logger?.info('Touch start on element', { refId, touches, changedTouches });
310
+ const element = getElement(session, refId);
311
+ await element.touchstart({ touches, changedTouches });
312
+ logger?.info('Touch start successful', { refId });
313
+ return {
314
+ success: true,
315
+ message: `Touch start on element: ${refId}`,
316
+ };
317
+ }
318
+ catch (error) {
319
+ const errorMessage = error instanceof Error ? error.message : String(error);
320
+ logger?.error('Touchstart failed', {
321
+ error: errorMessage,
322
+ refId,
323
+ });
324
+ throw new Error(`Touchstart failed: ${errorMessage}`);
325
+ }
326
+ }
327
+ /**
328
+ * Touch move on element
329
+ */
330
+ export async function touchmove(session, args) {
331
+ const { refId, touches, changedTouches } = args;
332
+ const logger = session.logger;
333
+ try {
334
+ logger?.info('Touch move on element', { refId, touches, changedTouches });
335
+ const element = getElement(session, refId);
336
+ await element.touchmove({ touches, changedTouches });
337
+ logger?.info('Touch move successful', { refId });
338
+ return {
339
+ success: true,
340
+ message: `Touch move on element: ${refId}`,
341
+ };
342
+ }
343
+ catch (error) {
344
+ const errorMessage = error instanceof Error ? error.message : String(error);
345
+ logger?.error('Touchmove failed', {
346
+ error: errorMessage,
347
+ refId,
348
+ });
349
+ throw new Error(`Touchmove failed: ${errorMessage}`);
350
+ }
351
+ }
352
+ /**
353
+ * Touch end on element
354
+ */
355
+ export async function touchend(session, args) {
356
+ const { refId, touches, changedTouches } = args;
357
+ const logger = session.logger;
358
+ try {
359
+ logger?.info('Touch end on element', { refId, touches, changedTouches });
360
+ const element = getElement(session, refId);
361
+ await element.touchend({ touches, changedTouches });
362
+ logger?.info('Touch end successful', { refId });
363
+ return {
364
+ success: true,
365
+ message: `Touch end on element: ${refId}`,
366
+ };
367
+ }
368
+ catch (error) {
369
+ const errorMessage = error instanceof Error ? error.message : String(error);
370
+ logger?.error('Touchend failed', {
371
+ error: errorMessage,
372
+ refId,
373
+ });
374
+ throw new Error(`Touchend failed: ${errorMessage}`);
375
+ }
376
+ }
377
+ /**
378
+ * Scroll to position (ScrollView only)
379
+ */
380
+ export async function scrollTo(session, args) {
381
+ const { refId, x, y } = args;
382
+ const logger = session.logger;
383
+ try {
384
+ logger?.info('Scrolling element to position', { refId, x, y });
385
+ const element = getElement(session, refId);
386
+ await element.scrollTo(x, y);
387
+ logger?.info('Scroll successful', { refId, x, y });
388
+ return {
389
+ success: true,
390
+ message: `Scrolled to (${x}, ${y})`,
391
+ };
392
+ }
393
+ catch (error) {
394
+ const errorMessage = error instanceof Error ? error.message : String(error);
395
+ logger?.error('ScrollTo failed', {
396
+ error: errorMessage,
397
+ refId,
398
+ x,
399
+ y,
400
+ });
401
+ throw new Error(`ScrollTo failed: ${errorMessage}`);
402
+ }
403
+ }
404
+ /**
405
+ * Get scroll width (ScrollView only)
406
+ */
407
+ export async function scrollWidth(session, args) {
408
+ const { refId } = args;
409
+ const logger = session.logger;
410
+ try {
411
+ logger?.info('Getting scroll width', { refId });
412
+ const element = getElement(session, refId);
413
+ const width = await element.scrollWidth();
414
+ logger?.info('Scroll width retrieved', { refId, width });
415
+ return {
416
+ success: true,
417
+ message: 'Scroll width retrieved',
418
+ width,
419
+ };
420
+ }
421
+ catch (error) {
422
+ const errorMessage = error instanceof Error ? error.message : String(error);
423
+ logger?.error('ScrollWidth failed', {
424
+ error: errorMessage,
425
+ refId,
426
+ });
427
+ throw new Error(`ScrollWidth failed: ${errorMessage}`);
428
+ }
429
+ }
430
+ /**
431
+ * Get scroll height (ScrollView only)
432
+ */
433
+ export async function scrollHeight(session, args) {
434
+ const { refId } = args;
435
+ const logger = session.logger;
436
+ try {
437
+ logger?.info('Getting scroll height', { refId });
438
+ const element = getElement(session, refId);
439
+ const height = await element.scrollHeight();
440
+ logger?.info('Scroll height retrieved', { refId, height });
441
+ return {
442
+ success: true,
443
+ message: 'Scroll height retrieved',
444
+ height,
445
+ };
446
+ }
447
+ catch (error) {
448
+ const errorMessage = error instanceof Error ? error.message : String(error);
449
+ logger?.error('ScrollHeight failed', {
450
+ error: errorMessage,
451
+ refId,
452
+ });
453
+ throw new Error(`ScrollHeight failed: ${errorMessage}`);
454
+ }
455
+ }
456
+ /**
457
+ * Swipe to index (Swiper only)
458
+ */
459
+ export async function swipeTo(session, args) {
460
+ const { refId, index } = args;
461
+ const logger = session.logger;
462
+ try {
463
+ logger?.info('Swiping to index', { refId, index });
464
+ const element = getElement(session, refId);
465
+ await element.swipeTo(index);
466
+ logger?.info('Swipe successful', { refId, index });
467
+ return {
468
+ success: true,
469
+ message: `Swiped to index ${index}`,
470
+ };
471
+ }
472
+ catch (error) {
473
+ const errorMessage = error instanceof Error ? error.message : String(error);
474
+ logger?.error('SwipeTo failed', {
475
+ error: errorMessage,
476
+ refId,
477
+ index,
478
+ });
479
+ throw new Error(`SwipeTo failed: ${errorMessage}`);
480
+ }
481
+ }
482
+ /**
483
+ * Move to position (MovableView only)
484
+ */
485
+ export async function moveTo(session, args) {
486
+ const { refId, x, y } = args;
487
+ const logger = session.logger;
488
+ try {
489
+ logger?.info('Moving element to position', { refId, x, y });
490
+ const element = getElement(session, refId);
491
+ await element.moveTo(x, y);
492
+ logger?.info('Move successful', { refId, x, y });
493
+ return {
494
+ success: true,
495
+ message: `Moved to (${x}, ${y})`,
496
+ };
497
+ }
498
+ catch (error) {
499
+ const errorMessage = error instanceof Error ? error.message : String(error);
500
+ logger?.error('MoveTo failed', {
501
+ error: errorMessage,
502
+ refId,
503
+ x,
504
+ y,
505
+ });
506
+ throw new Error(`MoveTo failed: ${errorMessage}`);
507
+ }
508
+ }
509
+ /**
510
+ * Slide to value (Slider only)
511
+ */
512
+ export async function slideTo(session, args) {
513
+ const { refId, value } = args;
514
+ const logger = session.logger;
515
+ try {
516
+ logger?.info('Sliding to value', { refId, value });
517
+ const element = getElement(session, refId);
518
+ await element.slideTo(value);
519
+ logger?.info('Slide successful', { refId, value });
520
+ return {
521
+ success: true,
522
+ message: `Slid to value ${value}`,
523
+ };
524
+ }
525
+ catch (error) {
526
+ const errorMessage = error instanceof Error ? error.message : String(error);
527
+ logger?.error('SlideTo failed', {
528
+ error: errorMessage,
529
+ refId,
530
+ value,
531
+ });
532
+ throw new Error(`SlideTo failed: ${errorMessage}`);
533
+ }
534
+ }
535
+ /**
536
+ * Call context method (ContextElement only)
537
+ */
538
+ export async function callContextMethod(session, args) {
539
+ const { refId, method, args: methodArgs = [] } = args;
540
+ const logger = session.logger;
541
+ try {
542
+ logger?.info('Calling context method', { refId, method, args: methodArgs });
543
+ const element = getElement(session, refId);
544
+ const result = await element.callContextMethod(method, ...methodArgs);
545
+ logger?.info('Context method called successfully', { refId, method, result });
546
+ return {
547
+ success: true,
548
+ message: `Context method "${method}" called successfully`,
549
+ result,
550
+ };
551
+ }
552
+ catch (error) {
553
+ const errorMessage = error instanceof Error ? error.message : String(error);
554
+ logger?.error('CallContextMethod failed', {
555
+ error: errorMessage,
556
+ refId,
557
+ method,
558
+ });
559
+ throw new Error(`CallContextMethod failed: ${errorMessage}`);
560
+ }
561
+ }
562
+ /**
563
+ * Set data on custom element (CustomElement only)
564
+ */
565
+ export async function setData(session, args) {
566
+ const { refId, data } = args;
567
+ const logger = session.logger;
568
+ try {
569
+ logger?.info('Setting element data', { refId, data });
570
+ const element = getElement(session, refId);
571
+ await element.setData(data);
572
+ logger?.info('Element data set successfully', { refId, keys: Object.keys(data) });
573
+ return {
574
+ success: true,
575
+ message: `Element data updated with ${Object.keys(data).length} keys`,
576
+ };
577
+ }
578
+ catch (error) {
579
+ const errorMessage = error instanceof Error ? error.message : String(error);
580
+ logger?.error('SetData failed', {
581
+ error: errorMessage,
582
+ refId,
583
+ data,
584
+ });
585
+ throw new Error(`SetData failed: ${errorMessage}`);
586
+ }
587
+ }
588
+ /**
589
+ * Call method on custom element (CustomElement only)
590
+ */
591
+ export async function callMethod(session, args) {
592
+ const { refId, method, args: methodArgs = [] } = args;
593
+ const logger = session.logger;
594
+ try {
595
+ logger?.info('Calling element method', { refId, method, args: methodArgs });
596
+ const element = getElement(session, refId);
597
+ const result = await element.callMethod(method, ...methodArgs);
598
+ logger?.info('Element method called successfully', { refId, method, result });
599
+ return {
600
+ success: true,
601
+ message: `Element method "${method}" called successfully`,
602
+ result,
603
+ };
604
+ }
605
+ catch (error) {
606
+ const errorMessage = error instanceof Error ? error.message : String(error);
607
+ logger?.error('CallMethod failed', {
608
+ error: errorMessage,
609
+ refId,
610
+ method,
611
+ });
612
+ throw new Error(`CallMethod failed: ${errorMessage}`);
613
+ }
614
+ }
615
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/tools/element.ts"],"names":[],"mappings":"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"}