@creatoria/miniapp-mcp 0.1.3 → 0.2.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 (246) hide show
  1. package/README.md +14 -3
  2. package/dist/app/cli/index.d.ts +6 -0
  3. package/dist/app/cli/index.d.ts.map +1 -0
  4. package/dist/app/cli/index.js +6 -0
  5. package/dist/app/cli/index.js.map +1 -0
  6. package/dist/app/index.d.ts +6 -0
  7. package/dist/app/index.d.ts.map +1 -0
  8. package/dist/app/index.js +6 -0
  9. package/dist/app/index.js.map +1 -0
  10. package/dist/app/server/index.d.ts +7 -0
  11. package/dist/app/server/index.d.ts.map +1 -0
  12. package/dist/app/server/index.js +6 -0
  13. package/dist/app/server/index.js.map +1 -0
  14. package/dist/capabilities/assert/index.d.ts +5 -0
  15. package/dist/capabilities/assert/index.d.ts.map +1 -0
  16. package/dist/capabilities/assert/index.js +5 -0
  17. package/dist/capabilities/assert/index.js.map +1 -0
  18. package/dist/capabilities/automator/index.d.ts +6 -0
  19. package/dist/capabilities/automator/index.d.ts.map +1 -0
  20. package/dist/capabilities/automator/index.js +6 -0
  21. package/dist/capabilities/automator/index.js.map +1 -0
  22. package/dist/capabilities/automator/schemas/close.d.ts +5 -0
  23. package/dist/capabilities/automator/schemas/close.d.ts.map +1 -0
  24. package/dist/capabilities/automator/schemas/close.js +11 -0
  25. package/dist/capabilities/automator/schemas/close.js.map +1 -0
  26. package/dist/capabilities/automator/schemas/connect.d.ts +11 -0
  27. package/dist/capabilities/automator/schemas/connect.d.ts.map +1 -0
  28. package/dist/capabilities/automator/schemas/connect.js +19 -0
  29. package/dist/capabilities/automator/schemas/connect.js.map +1 -0
  30. package/dist/capabilities/automator/schemas/disconnect.d.ts +5 -0
  31. package/dist/capabilities/automator/schemas/disconnect.d.ts.map +1 -0
  32. package/dist/capabilities/automator/schemas/disconnect.js +11 -0
  33. package/dist/capabilities/automator/schemas/disconnect.js.map +1 -0
  34. package/dist/capabilities/automator/schemas/index.d.ts +4 -0
  35. package/dist/capabilities/automator/schemas/index.d.ts.map +1 -0
  36. package/dist/capabilities/automator/schemas/index.js +12 -0
  37. package/dist/capabilities/automator/schemas/index.js.map +1 -0
  38. package/dist/capabilities/automator/schemas/launch.d.ts +17 -0
  39. package/dist/capabilities/automator/schemas/launch.d.ts.map +1 -0
  40. package/dist/capabilities/automator/schemas/launch.js +26 -0
  41. package/dist/capabilities/automator/schemas/launch.js.map +1 -0
  42. package/dist/capabilities/element/index.d.ts +5 -0
  43. package/dist/capabilities/element/index.d.ts.map +1 -0
  44. package/dist/capabilities/element/index.js +5 -0
  45. package/dist/capabilities/element/index.js.map +1 -0
  46. package/dist/capabilities/index.d.ts +15 -0
  47. package/dist/capabilities/index.d.ts.map +1 -0
  48. package/dist/capabilities/index.js +14 -0
  49. package/dist/capabilities/index.js.map +1 -0
  50. package/dist/capabilities/miniprogram/index.d.ts +5 -0
  51. package/dist/capabilities/miniprogram/index.d.ts.map +1 -0
  52. package/dist/capabilities/miniprogram/index.js +5 -0
  53. package/dist/capabilities/miniprogram/index.js.map +1 -0
  54. package/dist/capabilities/network/index.d.ts +5 -0
  55. package/dist/capabilities/network/index.d.ts.map +1 -0
  56. package/dist/capabilities/network/index.js +5 -0
  57. package/dist/capabilities/network/index.js.map +1 -0
  58. package/dist/capabilities/page/index.d.ts +5 -0
  59. package/dist/capabilities/page/index.d.ts.map +1 -0
  60. package/dist/capabilities/page/index.js +5 -0
  61. package/dist/capabilities/page/index.js.map +1 -0
  62. package/dist/capabilities/record/index.d.ts +5 -0
  63. package/dist/capabilities/record/index.d.ts.map +1 -0
  64. package/dist/capabilities/record/index.js +5 -0
  65. package/dist/capabilities/record/index.js.map +1 -0
  66. package/dist/capabilities/schema-registry.d.ts +4 -0
  67. package/dist/capabilities/schema-registry.d.ts.map +1 -0
  68. package/dist/capabilities/schema-registry.js +18 -0
  69. package/dist/capabilities/schema-registry.js.map +1 -0
  70. package/dist/capabilities/schema-types.d.ts +22 -0
  71. package/dist/capabilities/schema-types.d.ts.map +1 -0
  72. package/dist/capabilities/schema-types.js +2 -0
  73. package/dist/capabilities/schema-types.js.map +1 -0
  74. package/dist/capabilities/snapshot/index.d.ts +5 -0
  75. package/dist/capabilities/snapshot/index.d.ts.map +1 -0
  76. package/dist/capabilities/snapshot/index.js +5 -0
  77. package/dist/capabilities/snapshot/index.js.map +1 -0
  78. package/dist/config/loader.js +1 -1
  79. package/dist/config/loader.js.map +1 -1
  80. package/dist/core/element-ref.d.ts +1 -43
  81. package/dist/core/element-ref.d.ts.map +1 -1
  82. package/dist/core/element-ref.js +1 -212
  83. package/dist/core/element-ref.js.map +1 -1
  84. package/dist/core/logger.d.ts +1 -54
  85. package/dist/core/logger.d.ts.map +1 -1
  86. package/dist/core/logger.js +1 -377
  87. package/dist/core/logger.js.map +1 -1
  88. package/dist/core/output.d.ts +1 -20
  89. package/dist/core/output.d.ts.map +1 -1
  90. package/dist/core/output.js +1 -55
  91. package/dist/core/output.js.map +1 -1
  92. package/dist/core/report-generator.d.ts +1 -23
  93. package/dist/core/report-generator.d.ts.map +1 -1
  94. package/dist/core/report-generator.js +1 -211
  95. package/dist/core/report-generator.js.map +1 -1
  96. package/dist/core/session.d.ts +2 -82
  97. package/dist/core/session.d.ts.map +1 -1
  98. package/dist/core/session.js +2 -305
  99. package/dist/core/session.js.map +1 -1
  100. package/dist/core/timeout.d.ts +1 -48
  101. package/dist/core/timeout.d.ts.map +1 -1
  102. package/dist/core/timeout.js +1 -66
  103. package/dist/core/timeout.js.map +1 -1
  104. package/dist/core/tool-logger.d.ts +1 -82
  105. package/dist/core/tool-logger.d.ts.map +1 -1
  106. package/dist/core/tool-logger.js +1 -452
  107. package/dist/core/tool-logger.js.map +1 -1
  108. package/dist/core/validation.d.ts +1 -38
  109. package/dist/core/validation.d.ts.map +1 -1
  110. package/dist/core/validation.js +1 -92
  111. package/dist/core/validation.js.map +1 -1
  112. package/dist/runtime/element/element-ref.d.ts +44 -0
  113. package/dist/runtime/element/element-ref.d.ts.map +1 -0
  114. package/dist/runtime/element/element-ref.js +214 -0
  115. package/dist/runtime/element/element-ref.js.map +1 -0
  116. package/dist/runtime/element/index.d.ts +2 -0
  117. package/dist/runtime/element/index.d.ts.map +1 -0
  118. package/dist/runtime/element/index.js +2 -0
  119. package/dist/runtime/element/index.js.map +1 -0
  120. package/dist/runtime/index.d.ts +10 -0
  121. package/dist/runtime/index.d.ts.map +1 -0
  122. package/dist/runtime/index.js +10 -0
  123. package/dist/runtime/index.js.map +1 -0
  124. package/dist/runtime/logging/index.d.ts +3 -0
  125. package/dist/runtime/logging/index.d.ts.map +1 -0
  126. package/dist/runtime/logging/index.js +3 -0
  127. package/dist/runtime/logging/index.js.map +1 -0
  128. package/dist/runtime/logging/logger.d.ts +55 -0
  129. package/dist/runtime/logging/logger.d.ts.map +1 -0
  130. package/dist/runtime/logging/logger.js +379 -0
  131. package/dist/runtime/logging/logger.js.map +1 -0
  132. package/dist/runtime/logging/tool-logger.d.ts +83 -0
  133. package/dist/runtime/logging/tool-logger.d.ts.map +1 -0
  134. package/dist/runtime/logging/tool-logger.js +454 -0
  135. package/dist/runtime/logging/tool-logger.js.map +1 -0
  136. package/dist/runtime/outputs/index.d.ts +3 -0
  137. package/dist/runtime/outputs/index.d.ts.map +1 -0
  138. package/dist/runtime/outputs/index.js +3 -0
  139. package/dist/runtime/outputs/index.js.map +1 -0
  140. package/dist/runtime/outputs/output-manager.d.ts +12 -0
  141. package/dist/runtime/outputs/output-manager.d.ts.map +1 -0
  142. package/dist/runtime/outputs/output-manager.js +39 -0
  143. package/dist/runtime/outputs/output-manager.js.map +1 -0
  144. package/dist/runtime/outputs/report-generator.d.ts +5 -0
  145. package/dist/runtime/outputs/report-generator.d.ts.map +1 -0
  146. package/dist/runtime/outputs/report-generator.js +175 -0
  147. package/dist/runtime/outputs/report-generator.js.map +1 -0
  148. package/dist/runtime/session/index.d.ts +3 -0
  149. package/dist/runtime/session/index.d.ts.map +1 -0
  150. package/dist/runtime/session/index.js +3 -0
  151. package/dist/runtime/session/index.js.map +1 -0
  152. package/dist/runtime/session/store.d.ts +28 -0
  153. package/dist/runtime/session/store.d.ts.map +1 -0
  154. package/dist/runtime/session/store.js +154 -0
  155. package/dist/runtime/session/store.js.map +1 -0
  156. package/dist/runtime/session/utils/cleanup.d.ts +3 -0
  157. package/dist/runtime/session/utils/cleanup.d.ts.map +1 -0
  158. package/dist/runtime/session/utils/cleanup.js +78 -0
  159. package/dist/runtime/session/utils/cleanup.js.map +1 -0
  160. package/dist/runtime/timeout/index.d.ts +2 -0
  161. package/dist/runtime/timeout/index.d.ts.map +1 -0
  162. package/dist/runtime/timeout/index.js +2 -0
  163. package/dist/runtime/timeout/index.js.map +1 -0
  164. package/dist/runtime/timeout/timeout.d.ts +49 -0
  165. package/dist/runtime/timeout/timeout.d.ts.map +1 -0
  166. package/dist/runtime/timeout/timeout.js +67 -0
  167. package/dist/runtime/timeout/timeout.js.map +1 -0
  168. package/dist/runtime/validation/index.d.ts +2 -0
  169. package/dist/runtime/validation/index.d.ts.map +1 -0
  170. package/dist/runtime/validation/index.js +2 -0
  171. package/dist/runtime/validation/index.js.map +1 -0
  172. package/dist/runtime/validation/validation.d.ts +39 -0
  173. package/dist/runtime/validation/validation.d.ts.map +1 -0
  174. package/dist/runtime/validation/validation.js +93 -0
  175. package/dist/runtime/validation/validation.js.map +1 -0
  176. package/dist/schemas/automator/miniprogram_close.json +12 -0
  177. package/dist/schemas/automator/miniprogram_connect.json +19 -0
  178. package/dist/schemas/automator/miniprogram_disconnect.json +12 -0
  179. package/dist/schemas/automator/miniprogram_launch.json +30 -0
  180. package/dist/server.js +1 -1
  181. package/dist/server.js.map +1 -1
  182. package/dist/tools/index.js +1 -1
  183. package/dist/tools/index.js.map +1 -1
  184. package/dist/tools/miniprogram.d.ts +0 -1
  185. package/dist/tools/miniprogram.d.ts.map +1 -1
  186. package/dist/tools/miniprogram.js +17 -29
  187. package/dist/tools/miniprogram.js.map +1 -1
  188. package/dist/tools/page.js +2 -2
  189. package/dist/tools/page.js.map +1 -1
  190. package/docs/directory-structure-and-code-style-best-practices.md +91 -0
  191. package/docs/migration/README.md +34 -0
  192. package/docs/migration/TC-ALIGN-01-notes.md +35 -0
  193. package/docs/migration/runtime-skeleton.md +50 -0
  194. package/docs/migration/tool-schema-strategy.md +75 -0
  195. package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +14 -14
  196. package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +7 -7
  197. package/package.json +4 -2
  198. package/docs/SIMPLE_USAGE.md +0 -210
  199. package/docs/architecture.E-Docs.md +0 -1359
  200. package/docs/architecture.F1.md +0 -720
  201. package/docs/architecture.F2.md +0 -871
  202. package/docs/architecture.F3.md +0 -905
  203. package/docs/architecture.md +0 -90
  204. package/docs/charter.A1.align.yaml +0 -170
  205. package/docs/charter.A2.align.yaml +0 -199
  206. package/docs/charter.A3.align.yaml +0 -242
  207. package/docs/charter.A4.align.yaml +0 -227
  208. package/docs/charter.B1.align.yaml +0 -179
  209. package/docs/charter.B2.align.yaml +0 -200
  210. package/docs/charter.B3.align.yaml +0 -200
  211. package/docs/charter.B4.align.yaml +0 -188
  212. package/docs/charter.C1.align.yaml +0 -190
  213. package/docs/charter.C2.align.yaml +0 -202
  214. package/docs/charter.C3.align.yaml +0 -211
  215. package/docs/charter.C4.align.yaml +0 -263
  216. package/docs/charter.C5.align.yaml +0 -220
  217. package/docs/charter.D1.align.yaml +0 -190
  218. package/docs/charter.D2.align.yaml +0 -234
  219. package/docs/charter.D3.align.yaml +0 -206
  220. package/docs/charter.E-Docs.align.yaml +0 -294
  221. package/docs/charter.F1.align.yaml +0 -193
  222. package/docs/charter.F2.align.yaml +0 -248
  223. package/docs/charter.F3.align.yaml +0 -287
  224. package/docs/charter.G.align.yaml +0 -174
  225. package/docs/charter.align.yaml +0 -111
  226. package/docs/maintenance.md +0 -682
  227. package/docs/playwright-mcp/350/260/203/347/240/224.md +0 -53
  228. package/docs/setup-guide.md +0 -775
  229. package/docs/tasks.A1.atomize.md +0 -296
  230. package/docs/tasks.A2.atomize.md +0 -408
  231. package/docs/tasks.A3.atomize.md +0 -564
  232. package/docs/tasks.A4.atomize.md +0 -496
  233. package/docs/tasks.B1.atomize.md +0 -352
  234. package/docs/tasks.B2.atomize.md +0 -561
  235. package/docs/tasks.B3.atomize.md +0 -508
  236. package/docs/tasks.B4.atomize.md +0 -504
  237. package/docs/tasks.C1.atomize.md +0 -540
  238. package/docs/tasks.C2.atomize.md +0 -665
  239. package/docs/tasks.C3.atomize.md +0 -745
  240. package/docs/tasks.C4.atomize.md +0 -908
  241. package/docs/tasks.C5.atomize.md +0 -755
  242. package/docs/tasks.D1.atomize.md +0 -547
  243. package/docs/tasks.D2.atomize.md +0 -619
  244. package/docs/tasks.D3.atomize.md +0 -790
  245. package/docs/tasks.E-Docs.atomize.md +0 -1204
  246. package/docs/tasks.atomize.md +0 -189
@@ -1 +1 @@
1
- {"version":3,"file":"tool-logger.js","sourceRoot":"","sources":["../../src/core/tool-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-logger.js","sourceRoot":"","sources":["../../src/core/tool-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA"}
@@ -1,39 +1,2 @@
1
- /**
2
- * Input validation utilities
3
- */
4
- /**
5
- * Validates a filename to prevent path traversal attacks
6
- *
7
- * Rules:
8
- * - No path separators (/ or \)
9
- * - No parent directory references (..)
10
- * - Only alphanumeric, underscore, hyphen, and dot
11
- * - Must have a valid extension
12
- *
13
- * @param filename - The filename to validate
14
- * @param allowedExtensions - Array of allowed extensions (without dot)
15
- * @throws Error if filename is invalid
16
- *
17
- * @example
18
- * ```typescript
19
- * validateFilename('screenshot.png', ['png', 'jpg']) // OK
20
- * validateFilename('../etc/passwd', ['png']) // throws
21
- * validateFilename('file/path.png', ['png']) // throws
22
- * ```
23
- */
24
- export declare function validateFilename(filename: string, allowedExtensions?: string[]): void;
25
- /**
26
- * Sanitizes a filename by removing or replacing invalid characters
27
- *
28
- * @param filename - The filename to sanitize
29
- * @param defaultExtension - Default extension if none provided
30
- * @returns A safe filename
31
- *
32
- * @example
33
- * ```typescript
34
- * sanitizeFilename('my file!.png') // 'my-file.png'
35
- * sanitizeFilename('test', 'json') // 'test.json'
36
- * ```
37
- */
38
- export declare function sanitizeFilename(filename: string, defaultExtension?: string): string;
1
+ export * from '../runtime/validation/validation.js';
39
2
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,iBAAiB,GAAE,MAAM,EAA0C,GAClE,IAAI,CA0CN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BpF"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA"}
@@ -1,93 +1,2 @@
1
- /**
2
- * Input validation utilities
3
- */
4
- /**
5
- * Validates a filename to prevent path traversal attacks
6
- *
7
- * Rules:
8
- * - No path separators (/ or \)
9
- * - No parent directory references (..)
10
- * - Only alphanumeric, underscore, hyphen, and dot
11
- * - Must have a valid extension
12
- *
13
- * @param filename - The filename to validate
14
- * @param allowedExtensions - Array of allowed extensions (without dot)
15
- * @throws Error if filename is invalid
16
- *
17
- * @example
18
- * ```typescript
19
- * validateFilename('screenshot.png', ['png', 'jpg']) // OK
20
- * validateFilename('../etc/passwd', ['png']) // throws
21
- * validateFilename('file/path.png', ['png']) // throws
22
- * ```
23
- */
24
- export function validateFilename(filename, allowedExtensions = ['png', 'jpg', 'jpeg', 'json', 'txt']) {
25
- if (!filename || filename.trim() === '') {
26
- throw new Error('Filename cannot be empty');
27
- }
28
- // Check for path traversal attempts
29
- if (filename.includes('..')) {
30
- throw new Error('Filename must not contain ".." sequences (path traversal attempt)');
31
- }
32
- // Check for path separators
33
- if (filename.includes('/') || filename.includes('\\')) {
34
- throw new Error('Filename must not contain path separators');
35
- }
36
- // Check for null bytes (security)
37
- if (filename.includes('\0')) {
38
- throw new Error('Filename must not contain null bytes');
39
- }
40
- // Validate format: alphanumeric, underscore, hyphen, and dot
41
- if (!/^[a-zA-Z0-9_.-]+$/.test(filename)) {
42
- throw new Error('Filename must only contain alphanumeric characters, underscores, hyphens, and dots');
43
- }
44
- // Check extension
45
- const parts = filename.split('.');
46
- if (parts.length < 2) {
47
- throw new Error('Filename must have an extension');
48
- }
49
- const extension = parts[parts.length - 1].toLowerCase();
50
- if (!allowedExtensions.includes(extension)) {
51
- throw new Error(`Invalid file extension. Allowed extensions: ${allowedExtensions.join(', ')}`);
52
- }
53
- // Check length (防止过长文件名)
54
- if (filename.length > 255) {
55
- throw new Error('Filename is too long (max 255 characters)');
56
- }
57
- }
58
- /**
59
- * Sanitizes a filename by removing or replacing invalid characters
60
- *
61
- * @param filename - The filename to sanitize
62
- * @param defaultExtension - Default extension if none provided
63
- * @returns A safe filename
64
- *
65
- * @example
66
- * ```typescript
67
- * sanitizeFilename('my file!.png') // 'my-file.png'
68
- * sanitizeFilename('test', 'json') // 'test.json'
69
- * ```
70
- */
71
- export function sanitizeFilename(filename, defaultExtension) {
72
- // Remove path components
73
- filename = filename.split('/').pop();
74
- filename = filename.split('\\').pop();
75
- // Remove or replace invalid characters
76
- filename = filename.replace(/[^a-zA-Z0-9_.-]/g, '-');
77
- // Remove multiple consecutive hyphens or dots
78
- filename = filename.replace(/[-]{2,}/g, '-');
79
- filename = filename.replace(/[.]{2,}/g, '.');
80
- // Ensure extension
81
- if (defaultExtension && !filename.includes('.')) {
82
- filename = `${filename}.${defaultExtension}`;
83
- }
84
- // Limit length
85
- if (filename.length > 255) {
86
- const parts = filename.split('.');
87
- const ext = parts.pop();
88
- const name = parts.join('.').substring(0, 255 - ext.length - 1);
89
- filename = `${name}.${ext}`;
90
- }
91
- return filename;
92
- }
1
+ export * from '../runtime/validation/validation.js';
93
2
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,oBAA8B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IAEnE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;IAED,oCAAoC;IACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACtF,CAAC;IAED,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,kCAAkC;IAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+CAA+C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,yBAAyB;IACzB,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,gBAAyB;IAC1E,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAA;IACrC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAA;IAEtC,uCAAuC;IACvC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;IAEpD,8CAA8C;IAC9C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC5C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAE5C,mBAAmB;IACnB,IAAI,gBAAgB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,QAAQ,GAAG,GAAG,QAAQ,IAAI,gBAAgB,EAAE,CAAA;IAC9C,CAAC;IAED,eAAe;IACf,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAChE,QAAQ,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ElementRef resolver for locating elements in miniProgram pages
3
+ * Supports multiple location strategies: refId, selector, xpath, index
4
+ *
5
+ * Cache Invalidation:
6
+ * - Element cache is automatically cleared when page navigation is detected
7
+ * - Cached elements are validated against current page before use
8
+ * - Stale elements (from different pages) are removed automatically
9
+ */
10
+ import type { SessionState, ElementRefInput, ResolvedElement } from '../../types.js';
11
+ import type { Page } from '../../types/miniprogram-automator.js';
12
+ /**
13
+ * Generate a unique reference ID for caching elements
14
+ */
15
+ export declare function generateRefId(): string;
16
+ /**
17
+ * Check if page has changed and clear stale element cache
18
+ * Called before each element resolution to ensure cache validity
19
+ *
20
+ * @param state - Session state with element cache
21
+ * @param currentPagePath - Current page path
22
+ */
23
+ export declare function invalidateStaleCacheEntries(state: SessionState, currentPagePath: string): void;
24
+ /**
25
+ * Resolve page object from sessionState
26
+ * @param state - Session state containing miniProgram instance
27
+ * @param pagePath - Optional page path. If not provided, uses currentPage
28
+ * @returns Page object
29
+ * @throws Error if miniProgram not connected or page not found
30
+ */
31
+ export declare function resolvePage(state: SessionState, pagePath?: string): Promise<Page>;
32
+ /**
33
+ * Resolve element using various location strategies
34
+ * @param state - Session state containing element cache
35
+ * @param ref - Element reference input with location strategy
36
+ * @returns Resolved element with page, element object, and optional refId
37
+ * @throws Error if element not found or invalid reference
38
+ */
39
+ export declare function resolveElement(state: SessionState, ref: ElementRefInput): Promise<ResolvedElement>;
40
+ /**
41
+ * Validate ElementRefInput and provide helpful error messages
42
+ */
43
+ export declare function validateElementRef(ref: ElementRefInput): void;
44
+ //# sourceMappingURL=element-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-ref.d.ts","sourceRoot":"","sources":["../../../src/runtime/element/element-ref.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,sCAAsC,CAAA;AAEzE;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAgB9F;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,eAAe,CAAC,CAoI1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAwB7D"}
@@ -0,0 +1,214 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /**
3
+ * ElementRef resolver for locating elements in miniProgram pages
4
+ * Supports multiple location strategies: refId, selector, xpath, index
5
+ *
6
+ * Cache Invalidation:
7
+ * - Element cache is automatically cleared when page navigation is detected
8
+ * - Cached elements are validated against current page before use
9
+ * - Stale elements (from different pages) are removed automatically
10
+ */
11
+ /**
12
+ * Generate a unique reference ID for caching elements
13
+ */
14
+ export function generateRefId() {
15
+ return Math.random().toString(36).slice(2) + Date.now().toString(36);
16
+ }
17
+ /**
18
+ * Check if page has changed and clear stale element cache
19
+ * Called before each element resolution to ensure cache validity
20
+ *
21
+ * @param state - Session state with element cache
22
+ * @param currentPagePath - Current page path
23
+ */
24
+ export function invalidateStaleCacheEntries(state, currentPagePath) {
25
+ // If page has changed, clear entire cache (safe approach)
26
+ if (state.currentPagePath && state.currentPagePath !== currentPagePath) {
27
+ const previousPath = state.currentPagePath;
28
+ const clearedCount = state.elements.size;
29
+ state.elements.clear();
30
+ state.logger?.info('Element cache cleared due to page navigation', {
31
+ previousPage: previousPath,
32
+ currentPage: currentPagePath,
33
+ clearedElements: clearedCount,
34
+ });
35
+ }
36
+ // Update current page path
37
+ state.currentPagePath = currentPagePath;
38
+ }
39
+ /**
40
+ * Resolve page object from sessionState
41
+ * @param state - Session state containing miniProgram instance
42
+ * @param pagePath - Optional page path. If not provided, uses currentPage
43
+ * @returns Page object
44
+ * @throws Error if miniProgram not connected or page not found
45
+ */
46
+ export async function resolvePage(state, pagePath) {
47
+ if (!state.miniProgram) {
48
+ throw new Error('MiniProgram not launched or connected. Call miniprogram_launch or miniprogram_connect first.');
49
+ }
50
+ // If no pagePath specified, use current page
51
+ if (!pagePath) {
52
+ const currentPage = await state.miniProgram.currentPage();
53
+ if (!currentPage) {
54
+ throw new Error('No current page found. Ensure the miniProgram has navigated to a page.');
55
+ }
56
+ return currentPage;
57
+ }
58
+ // Find page in pageStack by path
59
+ const pageStack = await state.miniProgram.pageStack();
60
+ if (!Array.isArray(pageStack) || pageStack.length === 0) {
61
+ throw new Error('Page stack is empty. Ensure miniProgram has navigated to pages.');
62
+ }
63
+ // Normalize pagePath (support both '/path' and 'path')
64
+ const normalizedPath = pagePath.startsWith('/') ? pagePath.slice(1) : pagePath;
65
+ const found = pageStack.find((p) => p.path === normalizedPath || p.path === pagePath);
66
+ if (!found) {
67
+ const availablePaths = pageStack.map((p) => p.path).join(', ');
68
+ throw new Error(`Page not found in stack: ${pagePath}. Available pages: ${availablePaths}`);
69
+ }
70
+ return found;
71
+ }
72
+ /**
73
+ * Resolve element using various location strategies
74
+ * @param state - Session state containing element cache
75
+ * @param ref - Element reference input with location strategy
76
+ * @returns Resolved element with page, element object, and optional refId
77
+ * @throws Error if element not found or invalid reference
78
+ */
79
+ export async function resolveElement(state, ref) {
80
+ // Get the page first
81
+ const page = await resolvePage(state, ref.pagePath);
82
+ // Get current page path for cache validation
83
+ const currentPagePath = page.path || (await state.miniProgram?.currentPage())?.path;
84
+ // Invalidate stale cache entries if page has changed
85
+ if (currentPagePath) {
86
+ invalidateStaleCacheEntries(state, currentPagePath);
87
+ }
88
+ let element = null;
89
+ // Strategy 1: Use cached refId
90
+ if (ref.refId) {
91
+ const cached = state.elements.get(ref.refId);
92
+ if (!cached) {
93
+ const availableRefs = Array.from(state.elements.keys()).join(', ');
94
+ throw new Error(`Invalid refId: ${ref.refId}. ` +
95
+ `Available refIds: ${availableRefs || '(none)'}. ` +
96
+ `The element may have been removed or the page has changed.`);
97
+ }
98
+ // Validate that cached element is from current page
99
+ if (currentPagePath && cached.pagePath !== currentPagePath) {
100
+ // Remove stale entry
101
+ state.elements.delete(ref.refId);
102
+ throw new Error(`Cached element refId ${ref.refId} is stale. ` +
103
+ `Element was cached on page '${cached.pagePath}' but current page is '${currentPagePath}'. ` +
104
+ `Please re-query the element on the current page.`);
105
+ }
106
+ element = cached.element;
107
+ }
108
+ // Strategy 2: Use XPath (requires SDK 0.11.0+)
109
+ else if (ref.xpath) {
110
+ const anyPage = page;
111
+ // Check if xpath is supported
112
+ if (typeof anyPage.xpath !== 'function' && typeof anyPage.getElementByXpath !== 'function') {
113
+ throw new Error('XPath is not supported by current miniprogram-automator SDK version. ' +
114
+ 'Please upgrade to SDK 0.11.0 or later, or use selector instead.');
115
+ }
116
+ // If index is specified, use getElementsByXpath
117
+ if (typeof ref.index === 'number') {
118
+ if (typeof anyPage.getElementsByXpath === 'function') {
119
+ const elements = await anyPage.getElementsByXpath(ref.xpath);
120
+ if (!Array.isArray(elements) || elements.length === 0) {
121
+ throw new Error(`No elements found with XPath: ${ref.xpath}`);
122
+ }
123
+ if (ref.index < 0 || ref.index >= elements.length) {
124
+ throw new Error(`Index ${ref.index} out of range. Found ${elements.length} elements with XPath: ${ref.xpath}`);
125
+ }
126
+ element = elements[ref.index];
127
+ }
128
+ else {
129
+ throw new Error('getElementsByXpath is not supported. Cannot use index with xpath in this SDK version.');
130
+ }
131
+ }
132
+ else {
133
+ // Use getElementByXpath or xpath (fallback)
134
+ if (typeof anyPage.getElementByXpath === 'function') {
135
+ element = await anyPage.getElementByXpath(ref.xpath);
136
+ }
137
+ else if (typeof anyPage.xpath === 'function') {
138
+ element = await anyPage.xpath(ref.xpath);
139
+ }
140
+ }
141
+ if (!element) {
142
+ throw new Error(`Element not found with XPath: ${ref.xpath}`);
143
+ }
144
+ }
145
+ // Strategy 3: Use CSS selector
146
+ else if (ref.selector) {
147
+ // If index is specified, use $$
148
+ if (typeof ref.index === 'number') {
149
+ const elements = await page.$$(ref.selector);
150
+ if (!Array.isArray(elements) || elements.length === 0) {
151
+ throw new Error(`No elements found with selector: ${ref.selector}`);
152
+ }
153
+ if (ref.index < 0 || ref.index >= elements.length) {
154
+ throw new Error(`Index ${ref.index} out of range. Found ${elements.length} elements with selector: ${ref.selector}`);
155
+ }
156
+ element = elements[ref.index];
157
+ }
158
+ else {
159
+ // Use $ for single element
160
+ element = await page.$(ref.selector);
161
+ if (!element) {
162
+ throw new Error(`Element not found with selector: ${ref.selector}`);
163
+ }
164
+ }
165
+ }
166
+ // No valid location strategy provided
167
+ else {
168
+ throw new Error('Invalid ElementRef: must provide one of: refId, selector, or xpath');
169
+ }
170
+ // Cache element if save=true
171
+ let newRefId;
172
+ if (ref.save && element) {
173
+ newRefId = generateRefId();
174
+ // Store element with page metadata for cache invalidation
175
+ state.elements.set(newRefId, {
176
+ element,
177
+ pagePath: currentPagePath || page.path || 'unknown',
178
+ cachedAt: new Date(),
179
+ });
180
+ state.logger?.info('Element cached with refId', {
181
+ refId: newRefId,
182
+ pagePath: currentPagePath || page.path,
183
+ });
184
+ }
185
+ return {
186
+ page,
187
+ element,
188
+ refId: newRefId,
189
+ };
190
+ }
191
+ /**
192
+ * Validate ElementRefInput and provide helpful error messages
193
+ */
194
+ export function validateElementRef(ref) {
195
+ if (!ref || typeof ref !== 'object') {
196
+ throw new Error('ElementRef must be an object');
197
+ }
198
+ const hasRefId = typeof ref.refId === 'string' && ref.refId.length > 0;
199
+ const hasSelector = typeof ref.selector === 'string' && ref.selector.length > 0;
200
+ const hasXpath = typeof ref.xpath === 'string' && ref.xpath.length > 0;
201
+ if (!hasRefId && !hasSelector && !hasXpath) {
202
+ throw new Error('ElementRef must provide one of: refId, selector, or xpath');
203
+ }
204
+ if (ref.index !== undefined && typeof ref.index !== 'number') {
205
+ throw new Error('ElementRef.index must be a number');
206
+ }
207
+ if (ref.pagePath !== undefined && typeof ref.pagePath !== 'string') {
208
+ throw new Error('ElementRef.pagePath must be a string');
209
+ }
210
+ if (ref.save !== undefined && typeof ref.save !== 'boolean') {
211
+ throw new Error('ElementRef.save must be a boolean');
212
+ }
213
+ }
214
+ //# sourceMappingURL=element-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-ref.js","sourceRoot":"","sources":["../../../src/runtime/element/element-ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './element-ref.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/element/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './element-ref.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/element/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Runtime facade aggregating session, logging, output, timeout, and validation helpers.
3
+ */
4
+ export * from './session/index.js';
5
+ export * from './logging/index.js';
6
+ export * from './outputs/index.js';
7
+ export * from './timeout/index.js';
8
+ export * from './validation/index.js';
9
+ export * from './element/index.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Runtime facade aggregating session, logging, output, timeout, and validation helpers.
3
+ */
4
+ export * from './session/index.js';
5
+ export * from './logging/index.js';
6
+ export * from './outputs/index.js';
7
+ export * from './timeout/index.js';
8
+ export * from './validation/index.js';
9
+ export * from './element/index.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { createLogger, ConsoleLogger } from './logger.js';
2
+ export { ToolLogger } from './tool-logger.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { createLogger, ConsoleLogger } from './logger.js';
2
+ export { ToolLogger } from './tool-logger.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Logger implementation for structured logging with file support
3
+ */
4
+ import type { Logger, LoggerConfig } from '../../types.js';
5
+ /**
6
+ * Console-based logger implementation
7
+ */
8
+ export declare class ConsoleLogger implements Logger {
9
+ private sessionId?;
10
+ private toolName?;
11
+ private config;
12
+ private fileWriter?;
13
+ constructor(sessionId?: string, toolName?: string, config?: LoggerConfig);
14
+ /**
15
+ * Merge user config with defaults and validate values (Issue #7)
16
+ */
17
+ private mergeConfig;
18
+ /**
19
+ * Check if log level should be output
20
+ */
21
+ private shouldLog;
22
+ /**
23
+ * Create log entry with metadata
24
+ */
25
+ private createEntry;
26
+ /**
27
+ * Format log entry for console output
28
+ */
29
+ private format;
30
+ info(message: string, context?: Record<string, any>): void;
31
+ warn(message: string, context?: Record<string, any>): void;
32
+ error(message: string, context?: Record<string, any>): void;
33
+ debug(message: string, context?: Record<string, any>): void;
34
+ /**
35
+ * Log entry to console and optionally to file
36
+ */
37
+ private log;
38
+ /**
39
+ * Flush log buffer to file
40
+ */
41
+ flush(): Promise<void>;
42
+ /**
43
+ * Dispose logger and flush buffer
44
+ */
45
+ dispose(): Promise<void>;
46
+ /**
47
+ * Create a child logger with specific tool name
48
+ */
49
+ child(toolName: string): Logger;
50
+ }
51
+ /**
52
+ * Create a logger for a session
53
+ */
54
+ export declare function createLogger(sessionId: string, config?: LoggerConfig): Logger;
55
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/runtime/logging/logger.ts"],"names":[],"mappings":"AACA;;GAEG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AA8P9E;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAY;gBAEnB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY;IAgBxE;;OAEG;IACH,OAAO,CAAC,WAAW;IA2CnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,MAAM;IAUd,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM1D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM1D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM3D;;OAEG;IACH,OAAO,CAAC,GAAG;IAQX;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAGhC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE7E"}