@godscene/core 1.7.11

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/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/es/agent/agent.mjs +767 -0
  4. package/dist/es/agent/common.mjs +0 -0
  5. package/dist/es/agent/execution-session.mjs +39 -0
  6. package/dist/es/agent/index.mjs +6 -0
  7. package/dist/es/agent/task-builder.mjs +343 -0
  8. package/dist/es/agent/task-cache.mjs +212 -0
  9. package/dist/es/agent/tasks.mjs +428 -0
  10. package/dist/es/agent/ui-utils.mjs +101 -0
  11. package/dist/es/agent/utils.mjs +167 -0
  12. package/dist/es/ai-model/auto-glm/actions.mjs +237 -0
  13. package/dist/es/ai-model/auto-glm/index.mjs +6 -0
  14. package/dist/es/ai-model/auto-glm/parser.mjs +237 -0
  15. package/dist/es/ai-model/auto-glm/planning.mjs +69 -0
  16. package/dist/es/ai-model/auto-glm/prompt.mjs +220 -0
  17. package/dist/es/ai-model/auto-glm/util.mjs +7 -0
  18. package/dist/es/ai-model/connectivity.mjs +136 -0
  19. package/dist/es/ai-model/conversation-history.mjs +193 -0
  20. package/dist/es/ai-model/index.mjs +12 -0
  21. package/dist/es/ai-model/inspect.mjs +395 -0
  22. package/dist/es/ai-model/llm-planning.mjs +231 -0
  23. package/dist/es/ai-model/prompt/common.mjs +5 -0
  24. package/dist/es/ai-model/prompt/describe.mjs +64 -0
  25. package/dist/es/ai-model/prompt/extraction.mjs +129 -0
  26. package/dist/es/ai-model/prompt/llm-locator.mjs +49 -0
  27. package/dist/es/ai-model/prompt/llm-planning.mjs +584 -0
  28. package/dist/es/ai-model/prompt/llm-section-locator.mjs +42 -0
  29. package/dist/es/ai-model/prompt/order-sensitive-judge.mjs +33 -0
  30. package/dist/es/ai-model/prompt/playwright-generator.mjs +115 -0
  31. package/dist/es/ai-model/prompt/ui-tars-planning.mjs +34 -0
  32. package/dist/es/ai-model/prompt/util.mjs +57 -0
  33. package/dist/es/ai-model/prompt/yaml-generator.mjs +201 -0
  34. package/dist/es/ai-model/service-caller/codex-app-server.mjs +573 -0
  35. package/dist/es/ai-model/service-caller/image-detail.mjs +4 -0
  36. package/dist/es/ai-model/service-caller/index.mjs +648 -0
  37. package/dist/es/ai-model/service-caller/request-timeout.mjs +47 -0
  38. package/dist/es/ai-model/ui-tars-planning.mjs +247 -0
  39. package/dist/es/common.mjs +382 -0
  40. package/dist/es/device/device-options.mjs +0 -0
  41. package/dist/es/device/index.mjs +340 -0
  42. package/dist/es/dump/html-utils.mjs +290 -0
  43. package/dist/es/dump/index.mjs +3 -0
  44. package/dist/es/dump/screenshot-restoration.mjs +30 -0
  45. package/dist/es/dump/screenshot-store.mjs +125 -0
  46. package/dist/es/index.mjs +17 -0
  47. package/dist/es/report-cli.mjs +149 -0
  48. package/dist/es/report-generator.mjs +203 -0
  49. package/dist/es/report-markdown.mjs +216 -0
  50. package/dist/es/report.mjs +287 -0
  51. package/dist/es/screenshot-item.mjs +120 -0
  52. package/dist/es/service/index.mjs +272 -0
  53. package/dist/es/service/utils.mjs +13 -0
  54. package/dist/es/skill/index.mjs +35 -0
  55. package/dist/es/task-runner.mjs +261 -0
  56. package/dist/es/task-timing.mjs +10 -0
  57. package/dist/es/tree.mjs +11 -0
  58. package/dist/es/types.mjs +202 -0
  59. package/dist/es/utils.mjs +232 -0
  60. package/dist/es/yaml/builder.mjs +11 -0
  61. package/dist/es/yaml/index.mjs +4 -0
  62. package/dist/es/yaml/player.mjs +425 -0
  63. package/dist/es/yaml/utils.mjs +100 -0
  64. package/dist/es/yaml.mjs +0 -0
  65. package/dist/lib/agent/agent.js +815 -0
  66. package/dist/lib/agent/common.js +5 -0
  67. package/dist/lib/agent/execution-session.js +73 -0
  68. package/dist/lib/agent/index.js +76 -0
  69. package/dist/lib/agent/task-builder.js +380 -0
  70. package/dist/lib/agent/task-cache.js +264 -0
  71. package/dist/lib/agent/tasks.js +471 -0
  72. package/dist/lib/agent/ui-utils.js +153 -0
  73. package/dist/lib/agent/utils.js +238 -0
  74. package/dist/lib/ai-model/auto-glm/actions.js +271 -0
  75. package/dist/lib/ai-model/auto-glm/index.js +64 -0
  76. package/dist/lib/ai-model/auto-glm/parser.js +280 -0
  77. package/dist/lib/ai-model/auto-glm/planning.js +103 -0
  78. package/dist/lib/ai-model/auto-glm/prompt.js +257 -0
  79. package/dist/lib/ai-model/auto-glm/util.js +44 -0
  80. package/dist/lib/ai-model/connectivity.js +180 -0
  81. package/dist/lib/ai-model/conversation-history.js +227 -0
  82. package/dist/lib/ai-model/index.js +127 -0
  83. package/dist/lib/ai-model/inspect.js +441 -0
  84. package/dist/lib/ai-model/llm-planning.js +268 -0
  85. package/dist/lib/ai-model/prompt/common.js +39 -0
  86. package/dist/lib/ai-model/prompt/describe.js +98 -0
  87. package/dist/lib/ai-model/prompt/extraction.js +169 -0
  88. package/dist/lib/ai-model/prompt/llm-locator.js +86 -0
  89. package/dist/lib/ai-model/prompt/llm-planning.js +621 -0
  90. package/dist/lib/ai-model/prompt/llm-section-locator.js +79 -0
  91. package/dist/lib/ai-model/prompt/order-sensitive-judge.js +70 -0
  92. package/dist/lib/ai-model/prompt/playwright-generator.js +176 -0
  93. package/dist/lib/ai-model/prompt/ui-tars-planning.js +71 -0
  94. package/dist/lib/ai-model/prompt/util.js +103 -0
  95. package/dist/lib/ai-model/prompt/yaml-generator.js +262 -0
  96. package/dist/lib/ai-model/service-caller/codex-app-server.js +622 -0
  97. package/dist/lib/ai-model/service-caller/image-detail.js +38 -0
  98. package/dist/lib/ai-model/service-caller/index.js +716 -0
  99. package/dist/lib/ai-model/service-caller/request-timeout.js +93 -0
  100. package/dist/lib/ai-model/ui-tars-planning.js +281 -0
  101. package/dist/lib/common.js +491 -0
  102. package/dist/lib/device/device-options.js +18 -0
  103. package/dist/lib/device/index.js +467 -0
  104. package/dist/lib/dump/html-utils.js +366 -0
  105. package/dist/lib/dump/index.js +58 -0
  106. package/dist/lib/dump/screenshot-restoration.js +64 -0
  107. package/dist/lib/dump/screenshot-store.js +165 -0
  108. package/dist/lib/index.js +184 -0
  109. package/dist/lib/report-cli.js +189 -0
  110. package/dist/lib/report-generator.js +244 -0
  111. package/dist/lib/report-markdown.js +253 -0
  112. package/dist/lib/report.js +333 -0
  113. package/dist/lib/screenshot-item.js +154 -0
  114. package/dist/lib/service/index.js +306 -0
  115. package/dist/lib/service/utils.js +47 -0
  116. package/dist/lib/skill/index.js +69 -0
  117. package/dist/lib/task-runner.js +298 -0
  118. package/dist/lib/task-timing.js +44 -0
  119. package/dist/lib/tree.js +51 -0
  120. package/dist/lib/types.js +298 -0
  121. package/dist/lib/utils.js +314 -0
  122. package/dist/lib/yaml/builder.js +55 -0
  123. package/dist/lib/yaml/index.js +79 -0
  124. package/dist/lib/yaml/player.js +459 -0
  125. package/dist/lib/yaml/utils.js +153 -0
  126. package/dist/lib/yaml.js +18 -0
  127. package/dist/types/agent/agent.d.ts +220 -0
  128. package/dist/types/agent/common.d.ts +0 -0
  129. package/dist/types/agent/execution-session.d.ts +36 -0
  130. package/dist/types/agent/index.d.ts +9 -0
  131. package/dist/types/agent/task-builder.d.ts +34 -0
  132. package/dist/types/agent/task-cache.d.ts +49 -0
  133. package/dist/types/agent/tasks.d.ts +70 -0
  134. package/dist/types/agent/ui-utils.d.ts +14 -0
  135. package/dist/types/agent/utils.d.ts +25 -0
  136. package/dist/types/ai-model/auto-glm/actions.d.ts +78 -0
  137. package/dist/types/ai-model/auto-glm/index.d.ts +6 -0
  138. package/dist/types/ai-model/auto-glm/parser.d.ts +18 -0
  139. package/dist/types/ai-model/auto-glm/planning.d.ts +12 -0
  140. package/dist/types/ai-model/auto-glm/prompt.d.ts +27 -0
  141. package/dist/types/ai-model/auto-glm/util.d.ts +13 -0
  142. package/dist/types/ai-model/connectivity.d.ts +20 -0
  143. package/dist/types/ai-model/conversation-history.d.ts +105 -0
  144. package/dist/types/ai-model/index.d.ts +16 -0
  145. package/dist/types/ai-model/inspect.d.ts +67 -0
  146. package/dist/types/ai-model/llm-planning.d.ts +19 -0
  147. package/dist/types/ai-model/prompt/common.d.ts +2 -0
  148. package/dist/types/ai-model/prompt/describe.d.ts +1 -0
  149. package/dist/types/ai-model/prompt/extraction.d.ts +7 -0
  150. package/dist/types/ai-model/prompt/llm-locator.d.ts +3 -0
  151. package/dist/types/ai-model/prompt/llm-planning.d.ts +10 -0
  152. package/dist/types/ai-model/prompt/llm-section-locator.d.ts +3 -0
  153. package/dist/types/ai-model/prompt/order-sensitive-judge.d.ts +2 -0
  154. package/dist/types/ai-model/prompt/playwright-generator.d.ts +26 -0
  155. package/dist/types/ai-model/prompt/ui-tars-planning.d.ts +2 -0
  156. package/dist/types/ai-model/prompt/util.d.ts +33 -0
  157. package/dist/types/ai-model/prompt/yaml-generator.d.ts +102 -0
  158. package/dist/types/ai-model/service-caller/codex-app-server.d.ts +42 -0
  159. package/dist/types/ai-model/service-caller/image-detail.d.ts +2 -0
  160. package/dist/types/ai-model/service-caller/index.d.ts +60 -0
  161. package/dist/types/ai-model/service-caller/request-timeout.d.ts +32 -0
  162. package/dist/types/ai-model/ui-tars-planning.d.ts +72 -0
  163. package/dist/types/common.d.ts +288 -0
  164. package/dist/types/device/device-options.d.ts +155 -0
  165. package/dist/types/device/index.d.ts +2565 -0
  166. package/dist/types/dump/html-utils.d.ts +75 -0
  167. package/dist/types/dump/index.d.ts +5 -0
  168. package/dist/types/dump/screenshot-restoration.d.ts +8 -0
  169. package/dist/types/dump/screenshot-store.d.ts +49 -0
  170. package/dist/types/index.d.ts +21 -0
  171. package/dist/types/report-cli.d.ts +36 -0
  172. package/dist/types/report-generator.d.ts +88 -0
  173. package/dist/types/report-markdown.d.ts +24 -0
  174. package/dist/types/report.d.ts +52 -0
  175. package/dist/types/screenshot-item.d.ts +67 -0
  176. package/dist/types/service/index.d.ts +24 -0
  177. package/dist/types/service/utils.d.ts +2 -0
  178. package/dist/types/skill/index.d.ts +25 -0
  179. package/dist/types/task-runner.d.ts +50 -0
  180. package/dist/types/task-timing.d.ts +8 -0
  181. package/dist/types/tree.d.ts +4 -0
  182. package/dist/types/types.d.ts +684 -0
  183. package/dist/types/utils.d.ts +45 -0
  184. package/dist/types/yaml/builder.d.ts +2 -0
  185. package/dist/types/yaml/index.d.ts +4 -0
  186. package/dist/types/yaml/player.d.ts +34 -0
  187. package/dist/types/yaml/utils.d.ts +9 -0
  188. package/dist/types/yaml.d.ts +215 -0
  189. package/package.json +130 -0
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ createEventCounts: ()=>createEventCounts,
28
+ filterEventsByType: ()=>filterEventsByType,
29
+ processEventsForLLM: ()=>processEventsForLLM,
30
+ validateEvents: ()=>validateEvents,
31
+ createMessageContent: ()=>createMessageContent,
32
+ generateYamlTestStream: ()=>generateYamlTestStream,
33
+ getScreenshotsForLLM: ()=>getScreenshotsForLLM,
34
+ extractInputDescriptions: ()=>extractInputDescriptions,
35
+ prepareEventSummary: ()=>prepareEventSummary,
36
+ generateYamlTest: ()=>generateYamlTest
37
+ });
38
+ const constants_namespaceObject = require("@godscene/shared/constants");
39
+ const external_index_js_namespaceObject = require("../index.js");
40
+ const getScreenshotsForLLM = (events, maxScreenshots = 1)=>{
41
+ const eventsWithScreenshots = events.filter((event)=>event.screenshotBefore || event.screenshotAfter || event.screenshotWithBox);
42
+ const sortedEvents = [
43
+ ...eventsWithScreenshots
44
+ ].sort((a, b)=>{
45
+ if ('navigation' === a.type && 'navigation' !== b.type) return -1;
46
+ if ('navigation' !== a.type && 'navigation' === b.type) return 1;
47
+ if ('click' === a.type && 'click' !== b.type) return -1;
48
+ if ('click' !== a.type && 'click' === b.type) return 1;
49
+ return 0;
50
+ });
51
+ const screenshots = [];
52
+ for (const event of sortedEvents){
53
+ const screenshot = event.screenshotWithBox || event.screenshotAfter || event.screenshotBefore;
54
+ if (screenshot && !screenshots.includes(screenshot)) {
55
+ screenshots.push(screenshot);
56
+ if (screenshots.length >= maxScreenshots) break;
57
+ }
58
+ }
59
+ return screenshots;
60
+ };
61
+ const filterEventsByType = (events)=>({
62
+ navigationEvents: events.filter((event)=>'navigation' === event.type),
63
+ clickEvents: events.filter((event)=>'click' === event.type),
64
+ inputEvents: events.filter((event)=>'input' === event.type),
65
+ scrollEvents: events.filter((event)=>'scroll' === event.type)
66
+ });
67
+ const createEventCounts = (filteredEvents, totalEvents)=>({
68
+ navigation: filteredEvents.navigationEvents.length,
69
+ click: filteredEvents.clickEvents.length,
70
+ input: filteredEvents.inputEvents.length,
71
+ scroll: filteredEvents.scrollEvents.length,
72
+ total: totalEvents
73
+ });
74
+ const extractInputDescriptions = (inputEvents)=>inputEvents.map((event)=>({
75
+ description: event.elementDescription || '',
76
+ value: event.value || ''
77
+ })).filter((item)=>item.description && item.value);
78
+ const processEventsForLLM = (events)=>events.map((event)=>({
79
+ type: event.type,
80
+ timestamp: event.timestamp,
81
+ url: event.url,
82
+ title: event.title,
83
+ elementDescription: event.elementDescription,
84
+ value: event.value,
85
+ pageInfo: event.pageInfo,
86
+ elementRect: event.elementRect
87
+ }));
88
+ const prepareEventSummary = (events, options = {})=>{
89
+ const filteredEvents = filterEventsByType(events);
90
+ const eventCounts = createEventCounts(filteredEvents, events.length);
91
+ const startUrl = filteredEvents.navigationEvents.length > 0 ? filteredEvents.navigationEvents[0].url || '' : '';
92
+ const clickDescriptions = filteredEvents.clickEvents.map((event)=>event.elementDescription).filter((desc)=>Boolean(desc)).slice(0, 10);
93
+ const inputDescriptions = extractInputDescriptions(filteredEvents.inputEvents).slice(0, 10);
94
+ const urls = filteredEvents.navigationEvents.map((e)=>e.url).filter((url)=>Boolean(url)).slice(0, 5);
95
+ const processedEvents = processEventsForLLM(events);
96
+ return {
97
+ testName: options.testName || 'Automated test from recorded events',
98
+ startUrl,
99
+ eventCounts,
100
+ urls,
101
+ clickDescriptions,
102
+ inputDescriptions,
103
+ events: processedEvents
104
+ };
105
+ };
106
+ const createMessageContent = (promptText, screenshots = [], includeScreenshots = true)=>{
107
+ const messageContent = [
108
+ {
109
+ type: 'text',
110
+ text: promptText
111
+ }
112
+ ];
113
+ if (includeScreenshots && screenshots.length > 0) {
114
+ messageContent.unshift({
115
+ type: 'text',
116
+ text: 'Here are screenshots from the recording session to help you understand the context:'
117
+ });
118
+ screenshots.forEach((screenshot)=>{
119
+ messageContent.push({
120
+ type: 'image_url',
121
+ image_url: {
122
+ url: screenshot
123
+ }
124
+ });
125
+ });
126
+ }
127
+ return messageContent;
128
+ };
129
+ const getYamlLanguageInstruction = (language)=>{
130
+ const normalizedLanguage = language?.trim();
131
+ if (!normalizedLanguage) return '';
132
+ return `
133
+ Language requirement:
134
+ - Write all human-readable YAML content in ${normalizedLanguage}.
135
+ - Keep YAML keys, field names, and Midscene API names unchanged.`;
136
+ };
137
+ const createYamlPrompt = ({ yamlSummary, screenshots, language })=>{
138
+ const prompt = [
139
+ {
140
+ role: 'system',
141
+ content: `You are an expert in RPA智能助手 YAML test generation. Generate clean, accurate YAML following these rules: ${constants_namespaceObject.YAML_EXAMPLE_CODE}`
142
+ },
143
+ {
144
+ role: 'user',
145
+ content: `Generate YAML test for RPA智能助手 automation from recorded browser events.
146
+
147
+ Event Summary:
148
+ ${JSON.stringify(yamlSummary, null, 2)}
149
+
150
+ Convert events:
151
+ - navigation → target.url
152
+ - click → aiTap with element description
153
+ - input → aiInput with value and locate
154
+ - scroll → aiScroll with appropriate direction
155
+ - Add aiAssert for important state changes${getYamlLanguageInstruction(language)}
156
+
157
+ Important: Return ONLY the raw YAML content. Do NOT wrap the response in markdown code blocks (no \`\`\`yaml or \`\`\`). Start directly with the YAML content.`
158
+ }
159
+ ];
160
+ if (screenshots.length > 0) {
161
+ prompt.push({
162
+ role: 'user',
163
+ content: 'Here are screenshots from the recording session to help you understand the context:'
164
+ });
165
+ prompt.push({
166
+ role: 'user',
167
+ content: screenshots.map((screenshot)=>({
168
+ type: 'image_url',
169
+ image_url: {
170
+ url: screenshot
171
+ }
172
+ }))
173
+ });
174
+ }
175
+ return prompt;
176
+ };
177
+ const validateEvents = (events)=>{
178
+ if (!events.length) throw new Error('No events provided for test generation');
179
+ };
180
+ const generateYamlTest = async (events, options, modelConfig)=>{
181
+ try {
182
+ validateEvents(events);
183
+ const summary = prepareEventSummary(events, {
184
+ testName: options.testName,
185
+ maxScreenshots: options.maxScreenshots || 3
186
+ });
187
+ const yamlSummary = {
188
+ ...summary,
189
+ includeTimestamps: options.includeTimestamps || false
190
+ };
191
+ const screenshots = getScreenshotsForLLM(events, options.maxScreenshots || 3);
192
+ const prompt = createYamlPrompt({
193
+ yamlSummary,
194
+ screenshots,
195
+ language: options.language
196
+ });
197
+ const response = await (0, external_index_js_namespaceObject.callAIWithStringResponse)(prompt, modelConfig);
198
+ if (response?.content && 'string' == typeof response.content) return response.content;
199
+ throw new Error('Failed to generate YAML test configuration');
200
+ } catch (error) {
201
+ throw new Error(`Failed to generate YAML test: ${error}`);
202
+ }
203
+ };
204
+ const generateYamlTestStream = async (events, options, modelConfig)=>{
205
+ try {
206
+ validateEvents(events);
207
+ const summary = prepareEventSummary(events, {
208
+ testName: options.testName,
209
+ maxScreenshots: options.maxScreenshots || 3
210
+ });
211
+ const yamlSummary = {
212
+ ...summary,
213
+ includeTimestamps: options.includeTimestamps || false
214
+ };
215
+ const screenshots = getScreenshotsForLLM(events, options.maxScreenshots || 3);
216
+ const prompt = createYamlPrompt({
217
+ yamlSummary,
218
+ screenshots,
219
+ language: options.language
220
+ });
221
+ if (options.stream && options.onChunk) return await (0, external_index_js_namespaceObject.callAI)(prompt, modelConfig, {
222
+ stream: true,
223
+ onChunk: options.onChunk
224
+ });
225
+ {
226
+ const response = await (0, external_index_js_namespaceObject.callAIWithStringResponse)(prompt, modelConfig);
227
+ if (response?.content && 'string' == typeof response.content) return {
228
+ content: response.content,
229
+ usage: response.usage,
230
+ isStreamed: false
231
+ };
232
+ throw new Error('Failed to generate YAML test configuration');
233
+ }
234
+ } catch (error) {
235
+ throw new Error(`Failed to generate YAML test: ${error}`);
236
+ }
237
+ };
238
+ exports.createEventCounts = __webpack_exports__.createEventCounts;
239
+ exports.createMessageContent = __webpack_exports__.createMessageContent;
240
+ exports.extractInputDescriptions = __webpack_exports__.extractInputDescriptions;
241
+ exports.filterEventsByType = __webpack_exports__.filterEventsByType;
242
+ exports.generateYamlTest = __webpack_exports__.generateYamlTest;
243
+ exports.generateYamlTestStream = __webpack_exports__.generateYamlTestStream;
244
+ exports.getScreenshotsForLLM = __webpack_exports__.getScreenshotsForLLM;
245
+ exports.prepareEventSummary = __webpack_exports__.prepareEventSummary;
246
+ exports.processEventsForLLM = __webpack_exports__.processEventsForLLM;
247
+ exports.validateEvents = __webpack_exports__.validateEvents;
248
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
249
+ "createEventCounts",
250
+ "createMessageContent",
251
+ "extractInputDescriptions",
252
+ "filterEventsByType",
253
+ "generateYamlTest",
254
+ "generateYamlTestStream",
255
+ "getScreenshotsForLLM",
256
+ "prepareEventSummary",
257
+ "processEventsForLLM",
258
+ "validateEvents"
259
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
260
+ Object.defineProperty(exports, '__esModule', {
261
+ value: true
262
+ });