@dyyz1993/agent-browser 0.9.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 (187) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +907 -0
  3. package/bin/agent-browser-darwin-arm64 +0 -0
  4. package/bin/agent-browser.js +120 -0
  5. package/dist/__tests__/e2e/utils/test-helpers.d.ts +5 -0
  6. package/dist/__tests__/e2e/utils/test-helpers.d.ts.map +1 -0
  7. package/dist/__tests__/e2e/utils/test-helpers.js +22 -0
  8. package/dist/__tests__/e2e/utils/test-helpers.js.map +1 -0
  9. package/dist/__tests__/test-iframe.d.ts +2 -0
  10. package/dist/__tests__/test-iframe.d.ts.map +1 -0
  11. package/dist/__tests__/test-iframe.js +52 -0
  12. package/dist/__tests__/test-iframe.js.map +1 -0
  13. package/dist/__tests__/utils/parseCli.d.ts +20 -0
  14. package/dist/__tests__/utils/parseCli.d.ts.map +1 -0
  15. package/dist/__tests__/utils/parseCli.js +1086 -0
  16. package/dist/__tests__/utils/parseCli.js.map +1 -0
  17. package/dist/actions.d.ts +50 -0
  18. package/dist/actions.d.ts.map +1 -0
  19. package/dist/actions.js +2164 -0
  20. package/dist/actions.js.map +1 -0
  21. package/dist/browser.d.ts +556 -0
  22. package/dist/browser.d.ts.map +1 -0
  23. package/dist/browser.js +2599 -0
  24. package/dist/browser.js.map +1 -0
  25. package/dist/cli/commands.d.ts +8 -0
  26. package/dist/cli/commands.d.ts.map +1 -0
  27. package/dist/cli/commands.js +1038 -0
  28. package/dist/cli/commands.js.map +1 -0
  29. package/dist/cli/connection.d.ts +50 -0
  30. package/dist/cli/connection.d.ts.map +1 -0
  31. package/dist/cli/connection.js +595 -0
  32. package/dist/cli/connection.js.map +1 -0
  33. package/dist/cli/flags.d.ts +36 -0
  34. package/dist/cli/flags.d.ts.map +1 -0
  35. package/dist/cli/flags.js +206 -0
  36. package/dist/cli/flags.js.map +1 -0
  37. package/dist/cli/help.d.ts +4 -0
  38. package/dist/cli/help.d.ts.map +1 -0
  39. package/dist/cli/help.js +1024 -0
  40. package/dist/cli/help.js.map +1 -0
  41. package/dist/cli/output.d.ts +14 -0
  42. package/dist/cli/output.d.ts.map +1 -0
  43. package/dist/cli/output.js +456 -0
  44. package/dist/cli/output.js.map +1 -0
  45. package/dist/cli-new.d.ts +3 -0
  46. package/dist/cli-new.d.ts.map +1 -0
  47. package/dist/cli-new.js +308 -0
  48. package/dist/cli-new.js.map +1 -0
  49. package/dist/cli-old.d.ts +3 -0
  50. package/dist/cli-old.d.ts.map +1 -0
  51. package/dist/cli-old.js +1101 -0
  52. package/dist/cli-old.js.map +1 -0
  53. package/dist/cli.d.ts +3 -0
  54. package/dist/cli.d.ts.map +1 -0
  55. package/dist/cli.js +403 -0
  56. package/dist/cli.js.map +1 -0
  57. package/dist/content-detection.d.ts +18 -0
  58. package/dist/content-detection.d.ts.map +1 -0
  59. package/dist/content-detection.js +68 -0
  60. package/dist/content-detection.js.map +1 -0
  61. package/dist/daemon.d.ts +55 -0
  62. package/dist/daemon.d.ts.map +1 -0
  63. package/dist/daemon.js +426 -0
  64. package/dist/daemon.js.map +1 -0
  65. package/dist/diff.d.ts +42 -0
  66. package/dist/diff.d.ts.map +1 -0
  67. package/dist/diff.js +166 -0
  68. package/dist/diff.js.map +1 -0
  69. package/dist/human-mouse.d.ts +31 -0
  70. package/dist/human-mouse.d.ts.map +1 -0
  71. package/dist/human-mouse.js +184 -0
  72. package/dist/human-mouse.js.map +1 -0
  73. package/dist/ios-actions.d.ts +11 -0
  74. package/dist/ios-actions.d.ts.map +1 -0
  75. package/dist/ios-actions.js +228 -0
  76. package/dist/ios-actions.js.map +1 -0
  77. package/dist/ios-manager.d.ts +266 -0
  78. package/dist/ios-manager.d.ts.map +1 -0
  79. package/dist/ios-manager.js +1076 -0
  80. package/dist/ios-manager.js.map +1 -0
  81. package/dist/message-bridge.d.ts +10 -0
  82. package/dist/message-bridge.d.ts.map +1 -0
  83. package/dist/message-bridge.js +60 -0
  84. package/dist/message-bridge.js.map +1 -0
  85. package/dist/protocol.d.ts +26 -0
  86. package/dist/protocol.d.ts.map +1 -0
  87. package/dist/protocol.js +912 -0
  88. package/dist/protocol.js.map +1 -0
  89. package/dist/recorder/binding.d.ts +24 -0
  90. package/dist/recorder/binding.d.ts.map +1 -0
  91. package/dist/recorder/binding.js +215 -0
  92. package/dist/recorder/binding.js.map +1 -0
  93. package/dist/recorder/index.d.ts +4 -0
  94. package/dist/recorder/index.d.ts.map +1 -0
  95. package/dist/recorder/index.js +4 -0
  96. package/dist/recorder/index.js.map +1 -0
  97. package/dist/recorder/inject.js +1913 -0
  98. package/dist/recorder/recorder.d.ts +19 -0
  99. package/dist/recorder/recorder.d.ts.map +1 -0
  100. package/dist/recorder/recorder.js +101 -0
  101. package/dist/recorder/recorder.js.map +1 -0
  102. package/dist/recorder/store.d.ts +22 -0
  103. package/dist/recorder/store.d.ts.map +1 -0
  104. package/dist/recorder/store.js +150 -0
  105. package/dist/recorder/store.js.map +1 -0
  106. package/dist/recorder/types.d.ts +73 -0
  107. package/dist/recorder/types.d.ts.map +1 -0
  108. package/dist/recorder/types.js +5 -0
  109. package/dist/recorder/types.js.map +1 -0
  110. package/dist/snapshot.d.ts +81 -0
  111. package/dist/snapshot.d.ts.map +1 -0
  112. package/dist/snapshot.js +1348 -0
  113. package/dist/snapshot.js.map +1 -0
  114. package/dist/stream-server-standalone.d.ts +38 -0
  115. package/dist/stream-server-standalone.d.ts.map +1 -0
  116. package/dist/stream-server-standalone.js +494 -0
  117. package/dist/stream-server-standalone.js.map +1 -0
  118. package/dist/stream-server.d.ts +214 -0
  119. package/dist/stream-server.d.ts.map +1 -0
  120. package/dist/stream-server.js +811 -0
  121. package/dist/stream-server.js.map +1 -0
  122. package/dist/types.d.ts +914 -0
  123. package/dist/types.d.ts.map +1 -0
  124. package/dist/types.js +4 -0
  125. package/dist/types.js.map +1 -0
  126. package/dist/viewer-html.d.ts +2 -0
  127. package/dist/viewer-html.d.ts.map +1 -0
  128. package/dist/viewer-html.js +185 -0
  129. package/dist/viewer-html.js.map +1 -0
  130. package/dist/viewer-script.d.ts +47 -0
  131. package/dist/viewer-script.d.ts.map +1 -0
  132. package/dist/viewer-script.js +586 -0
  133. package/dist/viewer-script.js.map +1 -0
  134. package/package.json +86 -0
  135. package/scripts/build-all-platforms.sh +68 -0
  136. package/scripts/check-version-sync.js +39 -0
  137. package/scripts/check_goods_container.js +35 -0
  138. package/scripts/check_page_content.js +36 -0
  139. package/scripts/click_applause_rate.js +30 -0
  140. package/scripts/copy-native.js +36 -0
  141. package/scripts/copy-recorder.js +21 -0
  142. package/scripts/e2e-test-recorder.ts +584 -0
  143. package/scripts/explore_jd_page.js +31 -0
  144. package/scripts/extract_all_jd_data.js +80 -0
  145. package/scripts/extract_jd_product_detail.js +62 -0
  146. package/scripts/extract_jd_products_correct_links.js +78 -0
  147. package/scripts/extract_jd_products_final.js +80 -0
  148. package/scripts/extract_jd_reviews.js +48 -0
  149. package/scripts/extract_jd_seafood_final.js +78 -0
  150. package/scripts/extract_multiple_products.js +77 -0
  151. package/scripts/extract_products_no_scroll.js +68 -0
  152. package/scripts/extract_products_simple.js +68 -0
  153. package/scripts/find_applause_rate.js +26 -0
  154. package/scripts/find_jd_links.js +28 -0
  155. package/scripts/find_main_content.js +20 -0
  156. package/scripts/find_product_cards.js +38 -0
  157. package/scripts/find_root_content.js +26 -0
  158. package/scripts/find_unique_products.js +55 -0
  159. package/scripts/get_jd_product_detail.js +16 -0
  160. package/scripts/get_jd_products.js +23 -0
  161. package/scripts/get_jd_seafood_products.js +44 -0
  162. package/scripts/get_product_details_from_images.js +54 -0
  163. package/scripts/postinstall.js +235 -0
  164. package/scripts/scroll_and_get_products.js +47 -0
  165. package/scripts/scroll_deep_and_find.js +45 -0
  166. package/scripts/sync-version.js +69 -0
  167. package/scripts/verify-baidu-enter.ts +116 -0
  168. package/skills/agent-browser/SKILL.md +310 -0
  169. package/skills/agent-browser/references/authentication.md +198 -0
  170. package/skills/agent-browser/references/commands.md +471 -0
  171. package/skills/agent-browser/references/data-extraction.md +377 -0
  172. package/skills/agent-browser/references/proxy-support.md +188 -0
  173. package/skills/agent-browser/references/session-management.md +197 -0
  174. package/skills/agent-browser/references/snapshot-refs.md +379 -0
  175. package/skills/agent-browser/references/video-recording.md +173 -0
  176. package/skills/agent-browser/templates/api-interception.sh +53 -0
  177. package/skills/agent-browser/templates/authenticated-session.sh +97 -0
  178. package/skills/agent-browser/templates/capture-workflow.sh +69 -0
  179. package/skills/agent-browser/templates/data-extraction.sh +210 -0
  180. package/skills/agent-browser/templates/form-automation.sh +62 -0
  181. package/skills/skill-creator/LICENSE.txt +202 -0
  182. package/skills/skill-creator/SKILL.md +356 -0
  183. package/skills/skill-creator/references/output-patterns.md +82 -0
  184. package/skills/skill-creator/references/workflows.md +28 -0
  185. package/skills/skill-creator/scripts/init_skill.py +303 -0
  186. package/skills/skill-creator/scripts/package_skill.py +113 -0
  187. package/skills/skill-creator/scripts/quick_validate.py +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAA2B;IACxC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBP;IACC,IAAI,EAAE;;;;;;;;;CASP;IACC,OAAO,EAAE;;;;;;;;;CASV;IACC,MAAM,EAAE;;;;;;;;;CAST;IACC,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBR;IACC,IAAI,EAAE;;;;;;;;;;;;;;;;CAgBP;IACC,IAAI,EAAE;;;;;;;;;;;;;;;;CAgBP;IACC,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBR;IACC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BP;IACC,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBb;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BX;IACC,IAAI,EAAE;;;;;;;;;;;;;;;;;;CAkBP;IACC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBN;IACC,EAAE,EAAE;;;;;;;;;;;;;;;;;CAiBL;IACC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BP;IACC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;CAmBN;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBV;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBV;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;;;CAkBV;IACC,GAAG,EAAE;;;;;;;;;;;;;;;;CAgBN;IACC,OAAO,EAAE;;;;;;;;;;;;;;;;CAgBV;IACC,OAAO,EAAE;;;;;;;;;;;;;CAaV;IACC,OAAO,EAAE;;;;;;;;;;;;;;CAcV;IACC,KAAK,EAAE;;;;;;;;;;;CAWR;IACC,MAAM,EAAE;;;;;;;;;;;;;CAaT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BX;IACC,KAAK,EAAE;;;;;;;;;;;;CAYR;IACC,KAAK,EAAE;;;;;;;;;;;;CAYR;IACC,MAAM,EAAE;;;;;;;;;;CAUT;IACC,KAAK,EAAE;;;;;;;;;;;;;;;CAeR;IACC,KAAK,EAAE;;;;;;;;;;;;;;;CAeR;IACC,KAAK,EAAE;;;;;;;;;;;;;;;CAeR;IACC,OAAO,EAAE;;;;;;;;;;;;;;;CAeV;IACC,MAAM,EAAE;;;;;;;;;;;;;;;CAeT;IACC,IAAI,EAAE;;;;;;;;;;;;;;CAcP;IACC,MAAM,EAAE;;;;;;;;;;;;;;CAcT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;CAcX;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;CAiBT;IACC,cAAc,EAAE;;;;;;;;;;;;;;CAcjB;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;CAeX;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBT;IACC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CN;IACC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BT;CACA,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Lb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Response } from './connection.js';
2
+ declare function successIndicator(): string;
3
+ declare function errorIndicator(): string;
4
+ declare function warningIndicator(): string;
5
+ declare function bold(text: string): string;
6
+ declare function dim(text: string): string;
7
+ declare function green(text: string): string;
8
+ declare function cyan(text: string): string;
9
+ export declare function printResponse(resp: Response, jsonMode: boolean, action?: string): void;
10
+ export declare function printSession(session: string, sessions: string[], jsonMode: boolean): void;
11
+ export declare function printError(message: string, jsonMode: boolean): void;
12
+ export declare function printWarning(message: string): void;
13
+ export { successIndicator, errorIndicator, warningIndicator, bold, dim, green, cyan };
14
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAqH3C,iBAAS,gBAAgB,IAAI,MAAM,CAElC;AAED,iBAAS,cAAc,IAAI,MAAM,CAEhC;AAED,iBAAS,gBAAgB,IAAI,MAAM,CAElC;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElC;AAED,iBAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjC;AAED,iBAAS,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnC;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElC;AAeD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAsVtF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgBzF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAMnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,456 @@
1
+ /**
2
+ * 检查 refs 中是否有 path/attrs 信息需要显示
3
+ */
4
+ function hasPathOrAttrs(refs) {
5
+ for (const ref of Object.values(refs)) {
6
+ if (ref.xpath || ref.cssPath || ref.attributes) {
7
+ return true;
8
+ }
9
+ }
10
+ return false;
11
+ }
12
+ /**
13
+ * 转义字符串中的特殊字符用于终端显示
14
+ */
15
+ function truncatePath(path, maxLength = 60) {
16
+ if (path.length <= maxLength)
17
+ return path;
18
+ return path.substring(0, maxLength - 3) + '...';
19
+ }
20
+ /**
21
+ * 在 snapshot 文本中内联显示 refs 的 xpath/cssPath/attributes 信息
22
+ */
23
+ function enhanceSnapshotWithRefs(snapshot, refs) {
24
+ // 如果没有 path/attrs 信息,直接返回原 snapshot
25
+ if (!hasPathOrAttrs(refs)) {
26
+ return snapshot;
27
+ }
28
+ const lines = snapshot.split('\n');
29
+ const enhancedLines = [];
30
+ for (const line of lines) {
31
+ // 匹配 [ref=e1] 或 [ref=e12] 等模式
32
+ const refMatch = line.match(/\[ref=(e\d+)\]/);
33
+ if (refMatch) {
34
+ const refId = refMatch[1];
35
+ const refInfo = refs[refId];
36
+ if (refInfo) {
37
+ const extras = [];
38
+ // 添加 xpath(使用反引号避免引号冲突)
39
+ if (refInfo.xpath) {
40
+ extras.push(`xpath=\`${truncatePath(refInfo.xpath)}\``);
41
+ }
42
+ // 添加 cssPath
43
+ if (refInfo.cssPath) {
44
+ extras.push(`css=\`${truncatePath(refInfo.cssPath)}\``);
45
+ }
46
+ // 添加 attributes(只显示关键属性)
47
+ if (refInfo.attributes && Object.keys(refInfo.attributes).length > 0) {
48
+ const importantAttrs = ['id', 'name', 'type', 'placeholder', 'data-testid', 'aria-label'];
49
+ const attrsToShow = [];
50
+ for (const key of importantAttrs) {
51
+ if (refInfo.attributes[key]) {
52
+ attrsToShow.push(`${key}=\`${refInfo.attributes[key]}\``);
53
+ }
54
+ }
55
+ // 如果没有重要属性,显示前 2 个属性
56
+ if (attrsToShow.length === 0) {
57
+ const keys = Object.keys(refInfo.attributes).slice(0, 2);
58
+ for (const key of keys) {
59
+ attrsToShow.push(`${key}=\`${refInfo.attributes[key]}\``);
60
+ }
61
+ }
62
+ if (attrsToShow.length > 0) {
63
+ extras.push(`attrs: ${attrsToShow.join(', ')}`);
64
+ }
65
+ }
66
+ if (extras.length > 0) {
67
+ // 在行尾添加额外信息(保持缩进格式)
68
+ enhancedLines.push(line + ` {${extras.join(' | ')}}`);
69
+ }
70
+ else {
71
+ enhancedLines.push(line);
72
+ }
73
+ }
74
+ else {
75
+ enhancedLines.push(line);
76
+ }
77
+ }
78
+ else {
79
+ enhancedLines.push(line);
80
+ }
81
+ }
82
+ return enhancedLines.join('\n');
83
+ }
84
+ const COLORS = {
85
+ reset: '\x1b[0m',
86
+ bold: '\x1b[1m',
87
+ dim: '\x1b[2m',
88
+ green: '\x1b[32m',
89
+ red: '\x1b[31m',
90
+ yellow: '\x1b[33m',
91
+ cyan: '\x1b[36m',
92
+ };
93
+ function colorize(text, color) {
94
+ return `${COLORS[color]}${text}${COLORS.reset}`;
95
+ }
96
+ function successIndicator() {
97
+ return colorize('✓', 'green');
98
+ }
99
+ function errorIndicator() {
100
+ return colorize('✗', 'red');
101
+ }
102
+ function warningIndicator() {
103
+ return colorize('⚠', 'yellow');
104
+ }
105
+ function bold(text) {
106
+ return colorize(text, 'bold');
107
+ }
108
+ function dim(text) {
109
+ return colorize(text, 'dim');
110
+ }
111
+ function green(text) {
112
+ return colorize(text, 'green');
113
+ }
114
+ function cyan(text) {
115
+ return colorize(text, 'cyan');
116
+ }
117
+ function consoleLevelPrefix(level) {
118
+ switch (level) {
119
+ case 'error':
120
+ return colorize('✗', 'red');
121
+ case 'warn':
122
+ return colorize('⚠', 'yellow');
123
+ case 'info':
124
+ return colorize('ℹ', 'cyan');
125
+ default:
126
+ return colorize('›', 'dim');
127
+ }
128
+ }
129
+ export function printResponse(resp, jsonMode, action) {
130
+ if (jsonMode) {
131
+ console.log(JSON.stringify(resp));
132
+ return;
133
+ }
134
+ if (!resp.success) {
135
+ console.error(`${errorIndicator()} ${resp.error || 'Unknown error'}`);
136
+ return;
137
+ }
138
+ // 文本模式:在输出 data 之前显示 tips
139
+ if (resp.tips) {
140
+ const tipsArray = Array.isArray(resp.tips) ? resp.tips : [resp.tips];
141
+ for (const tip of tipsArray) {
142
+ console.error(`💡 ${tip}`);
143
+ }
144
+ console.error('');
145
+ }
146
+ if (!resp.data) {
147
+ console.log(`${successIndicator()} Done`);
148
+ return;
149
+ }
150
+ const data = resp.data;
151
+ if (data.body !== undefined) {
152
+ console.log(JSON.stringify(data.body, null, 2));
153
+ return;
154
+ }
155
+ if (data.url && typeof data.url === 'string') {
156
+ if (data.title && typeof data.title === 'string') {
157
+ console.log(`${successIndicator()} ${bold(data.title)}`);
158
+ console.log(` ${dim(data.url)}`);
159
+ return;
160
+ }
161
+ console.log(data.url);
162
+ return;
163
+ }
164
+ if (data.snapshot && typeof data.snapshot === 'string') {
165
+ // 如果有 refs 且包含 path/attrs 信息,内联显示
166
+ if (data.refs && typeof data.refs === 'object') {
167
+ const enhancedSnapshot = enhanceSnapshotWithRefs(data.snapshot, data.refs);
168
+ console.log(enhancedSnapshot);
169
+ }
170
+ else {
171
+ console.log(data.snapshot);
172
+ }
173
+ return;
174
+ }
175
+ if (data.title && typeof data.title === 'string') {
176
+ console.log(data.title);
177
+ return;
178
+ }
179
+ if (data.text && typeof data.text === 'string') {
180
+ console.log(data.text);
181
+ return;
182
+ }
183
+ if (data.html && typeof data.html === 'string') {
184
+ console.log(data.html);
185
+ return;
186
+ }
187
+ if (data.value && typeof data.value === 'string') {
188
+ console.log(data.value);
189
+ return;
190
+ }
191
+ if (typeof data.count === 'number') {
192
+ console.log(data.count);
193
+ return;
194
+ }
195
+ if (typeof data.visible === 'boolean') {
196
+ console.log(data.visible);
197
+ return;
198
+ }
199
+ if (typeof data.enabled === 'boolean') {
200
+ console.log(data.enabled);
201
+ return;
202
+ }
203
+ if (typeof data.checked === 'boolean') {
204
+ console.log(data.checked);
205
+ return;
206
+ }
207
+ if (data.result !== undefined) {
208
+ console.log(JSON.stringify(data.result, null, 2));
209
+ return;
210
+ }
211
+ if (Array.isArray(data.devices)) {
212
+ if (data.devices.length === 0) {
213
+ console.log('No iOS devices available. Open Xcode to download simulator runtimes.');
214
+ return;
215
+ }
216
+ const realDevices = data.devices.filter((d) => d.isRealDevice);
217
+ const simulators = data.devices.filter((d) => !d.isRealDevice);
218
+ if (realDevices.length > 0) {
219
+ console.log('Connected Devices:\n');
220
+ for (const device of realDevices) {
221
+ const name = device.name || 'Unknown';
222
+ const runtime = device.runtime || '';
223
+ const udid = device.udid || '';
224
+ console.log(` ${green('●')} ${name} (${runtime})`);
225
+ console.log(` ${dim(String(udid))}`);
226
+ }
227
+ console.log();
228
+ }
229
+ if (simulators.length > 0) {
230
+ console.log('Simulators:\n');
231
+ for (const device of simulators) {
232
+ const name = device.name || 'Unknown';
233
+ const runtime = device.runtime || '';
234
+ const state = device.state || 'Unknown';
235
+ const udid = device.udid || '';
236
+ const stateIndicator = state === 'Booted' ? green('●') : dim('○');
237
+ console.log(` ${stateIndicator} ${name} (${runtime})`);
238
+ console.log(` ${dim(String(udid))}`);
239
+ }
240
+ }
241
+ return;
242
+ }
243
+ if (Array.isArray(data.tabs)) {
244
+ for (let i = 0; i < data.tabs.length; i++) {
245
+ const tab = data.tabs[i];
246
+ const title = tab.title || 'Untitled';
247
+ const url = tab.url || '';
248
+ const active = tab.active;
249
+ const marker = active ? cyan('→') : ' ';
250
+ console.log(`${marker} [${i}] ${title} - ${url}`);
251
+ }
252
+ return;
253
+ }
254
+ if (Array.isArray(data.messages)) {
255
+ for (const log of data.messages) {
256
+ const level = log.type || 'log';
257
+ const text = log.text || '';
258
+ console.log(`${consoleLevelPrefix(level)} ${text}`);
259
+ }
260
+ return;
261
+ }
262
+ if (Array.isArray(data.errors)) {
263
+ for (const err of data.errors) {
264
+ const msg = err.message || '';
265
+ console.log(`${errorIndicator()} ${msg}`);
266
+ }
267
+ return;
268
+ }
269
+ if (Array.isArray(data.cookies)) {
270
+ for (const cookie of data.cookies) {
271
+ const name = cookie.name || '';
272
+ const value = cookie.value || '';
273
+ console.log(`${name}=${value}`);
274
+ }
275
+ return;
276
+ }
277
+ if (Array.isArray(data.requests)) {
278
+ if (data.requests.length === 0) {
279
+ console.log('No requests captured');
280
+ }
281
+ else {
282
+ for (const req of data.requests) {
283
+ const method = req.method || 'GET';
284
+ const url = req.url || '';
285
+ const resourceType = req.resourceType || '';
286
+ console.log(`${method} ${url} (${resourceType})`);
287
+ }
288
+ }
289
+ return;
290
+ }
291
+ if (data.cleared === true) {
292
+ console.log(`${successIndicator()} Request log cleared`);
293
+ return;
294
+ }
295
+ if (data.box) {
296
+ console.log(JSON.stringify(data.box, null, 2));
297
+ return;
298
+ }
299
+ if (Array.isArray(data.elements)) {
300
+ for (let i = 0; i < data.elements.length; i++) {
301
+ const el = data.elements[i];
302
+ const tag = el.tag || '?';
303
+ const text = el.text || '';
304
+ console.log(`[${i}] ${tag} "${text}"`);
305
+ if (el.box) {
306
+ const box = el.box;
307
+ const w = box.width || 0;
308
+ const h = box.height || 0;
309
+ const x = box.x || 0;
310
+ const y = box.y || 0;
311
+ console.log(` box: ${w}x${h} at (${x}, ${y})`);
312
+ }
313
+ if (el.styles) {
314
+ const styles = el.styles;
315
+ console.log(` font: ${styles.fontSize || ''} ${styles.fontWeight || ''} ${styles.fontFamily || ''}`);
316
+ console.log(` color: ${styles.color || ''}`);
317
+ console.log(` background: ${styles.backgroundColor || ''}`);
318
+ }
319
+ console.log();
320
+ }
321
+ return;
322
+ }
323
+ if (data.closed !== undefined) {
324
+ console.log(`${successIndicator()} Browser closed`);
325
+ return;
326
+ }
327
+ if (data.started === true) {
328
+ if (data.path) {
329
+ console.log(`${successIndicator()} Recording started: ${data.path}`);
330
+ }
331
+ else {
332
+ console.log(`${successIndicator()} Recording started`);
333
+ }
334
+ return;
335
+ }
336
+ if (data.stopped !== undefined) {
337
+ const path = data.path || 'unknown';
338
+ if (data.previousPath) {
339
+ console.log(`${successIndicator()} Recording restarted: ${path} (previous saved to ${data.previousPath})`);
340
+ }
341
+ else {
342
+ console.log(`${successIndicator()} Recording started: ${path}`);
343
+ }
344
+ return;
345
+ }
346
+ if (data.frames !== undefined) {
347
+ if (data.path) {
348
+ if (data.error) {
349
+ console.log(`${warningIndicator()} Recording saved to ${data.path} - ${data.error}`);
350
+ }
351
+ else {
352
+ console.log(`${successIndicator()} Recording saved to ${data.path}`);
353
+ }
354
+ }
355
+ else {
356
+ console.log(`${successIndicator()} Recording stopped`);
357
+ }
358
+ return;
359
+ }
360
+ if (data.suggestedFilename || data.filename) {
361
+ if (data.path) {
362
+ const filename = data.suggestedFilename || data.filename || '';
363
+ if (filename) {
364
+ console.log(`${successIndicator()} Downloaded to ${green(data.path)} (${filename})`);
365
+ }
366
+ else {
367
+ console.log(`${successIndicator()} Downloaded to ${green(data.path)}`);
368
+ }
369
+ }
370
+ return;
371
+ }
372
+ if (data.path && typeof data.path === 'string') {
373
+ switch (action || '') {
374
+ case 'screenshot':
375
+ console.log(`${successIndicator()} Screenshot saved to ${green(data.path)}`);
376
+ break;
377
+ case 'pdf':
378
+ console.log(`${successIndicator()} PDF saved to ${green(data.path)}`);
379
+ break;
380
+ case 'trace_stop':
381
+ console.log(`${successIndicator()} Trace saved to ${green(data.path)}`);
382
+ break;
383
+ case 'download':
384
+ case 'waitfordownload':
385
+ console.log(`${successIndicator()} Download saved to ${green(data.path)}`);
386
+ break;
387
+ case 'state_save':
388
+ console.log(`${successIndicator()} State saved to ${green(data.path)}`);
389
+ break;
390
+ case 'state_load':
391
+ if (data.note)
392
+ console.log(data.note);
393
+ console.log(`${successIndicator()} State path set to ${green(data.path)}`);
394
+ break;
395
+ case 'recorder_stop':
396
+ console.log(`${successIndicator()} Recorded ${data.steps} steps, saved to ${green(data.path)}`);
397
+ // 显示 YAML 内容
398
+ if ('yaml' in data && typeof data.yaml === 'string') {
399
+ console.log(data.yaml);
400
+ }
401
+ // 显示 tips(完整文件路径)
402
+ if ('tip' in data && typeof data.tip === 'string') {
403
+ console.log(dim(data.tip));
404
+ }
405
+ break;
406
+ default:
407
+ console.log(`${successIndicator()} Saved to ${green(data.path)}`);
408
+ }
409
+ return;
410
+ }
411
+ if (data.note && typeof data.note === 'string') {
412
+ console.log(data.note);
413
+ return;
414
+ }
415
+ if (data.yaml && typeof data.yaml === 'string') {
416
+ console.log(`${successIndicator()} Recorded ${data.steps} steps`);
417
+ console.log(data.yaml);
418
+ return;
419
+ }
420
+ if (data.diff && typeof data.diff === 'string') {
421
+ console.log(`${successIndicator()} Done`);
422
+ const scope = data.diffScope ? ` (scope: ${data.diffScope})` : '';
423
+ console.log(`\n${bold('--- Diff')}${scope}${bold(' ---')}`);
424
+ console.log(data.diff);
425
+ return;
426
+ }
427
+ console.log(`${successIndicator()} Done`);
428
+ }
429
+ export function printSession(session, sessions, jsonMode) {
430
+ if (jsonMode) {
431
+ console.log(JSON.stringify({ success: true, data: { session, sessions } }));
432
+ return;
433
+ }
434
+ if (sessions.length === 0) {
435
+ console.log('No active sessions');
436
+ return;
437
+ }
438
+ console.log('Active sessions:');
439
+ for (const s of sessions) {
440
+ const marker = s === session ? cyan('→') : ' ';
441
+ console.log(`${marker} ${s}`);
442
+ }
443
+ }
444
+ export function printError(message, jsonMode) {
445
+ if (jsonMode) {
446
+ console.log(JSON.stringify({ success: false, error: message }));
447
+ }
448
+ else {
449
+ console.error(`${errorIndicator()} ${message}`);
450
+ }
451
+ }
452
+ export function printWarning(message) {
453
+ console.error(`${warningIndicator()} ${message}`);
454
+ }
455
+ export { successIndicator, errorIndicator, warningIndicator, bold, dim, green, cyan };
456
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,SAAS,cAAc,CAAC,IAA6B;IACnD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,YAAoB,EAAE;IACxD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,QAAgB,EAAE,IAA6B;IAC9E,oCAAoC;IACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAE5B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAa,EAAE,CAAC;gBAE5B,wBAAwB;gBACxB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBAED,aAAa;gBACb,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBAED,yBAAyB;gBACzB,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrE,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;oBAC1F,MAAM,WAAW,GAAa,EAAE,CAAC;oBAEjC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;wBACjC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC5B,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAED,qBAAqB;oBACrB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;4BACvB,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,oBAAoB;oBACpB,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,SAAS,QAAQ,CAAC,IAAY,EAAE,KAA0B;IACxD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/B;YACE,OAAO,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,QAAiB,EAAE,MAAe;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;IAElD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvD,kCAAkC;QAClC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,gBAAgB,GAAG,uBAAuB,CAC9C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAA+B,CACrC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAExF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAI,MAAkC,CAAC,IAAI,IAAI,SAAS,CAAC;gBACnE,MAAM,OAAO,GAAI,MAAkC,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAI,MAAkC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAI,MAAkC,CAAC,IAAI,IAAI,SAAS,CAAC;gBACnE,MAAM,OAAO,GAAI,MAAkC,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAI,MAAkC,CAAC,KAAK,IAAI,SAAS,CAAC;gBACrE,MAAM,IAAI,GAAI,MAAkC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC5D,MAAM,cAAc,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,cAAc,IAAI,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC;YACpD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAqC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAI,GAAG,CAAC,IAAe,IAAI,KAAK,CAAC;YAC5C,MAAM,IAAI,GAAI,GAAG,CAAC,IAAe,IAAI,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAmC,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAI,GAAG,CAAC,OAAkB,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAoC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAqC,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;gBACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,GAAG,KAAK,YAAY,GAAG,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAA4B,CAAC;YACvD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;YAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;YAEvC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,EAAE,CAAC,GAA8B,CAAC;gBAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,EAAE,CAAC,MAAiC,CAAC;gBACpD,OAAO,CAAC,GAAG,CACT,aAAa,MAAM,CAAC,QAAQ,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAC3F,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,SAAS,CAAC;QAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,GAAG,gBAAgB,EAAE,yBAAyB,IAAI,uBAAuB,IAAI,CAAC,YAAY,GAAG,CAC9F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,uBAAuB,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,QAAQ,GAAI,IAAI,CAAC,iBAA4B,IAAK,IAAI,CAAC,QAAmB,IAAI,EAAE,CAAC;YACvF,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CACT,GAAG,gBAAgB,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,KAAK,QAAQ,GAAG,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,QAAQ,MAAM,IAAI,EAAE,EAAE,CAAC;YACrB,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7E,MAAM;YACR,KAAK,KAAK;gBACR,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtE,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,iBAAiB;gBACpB,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,eAAe;gBAClB,OAAO,CAAC,GAAG,CACT,GAAG,gBAAgB,EAAE,aAAa,IAAI,CAAC,KAAK,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAC;gBACF,aAAa;gBACb,IAAI,MAAM,IAAI,IAAI,IAAI,OAAQ,IAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;gBACD,kBAAkB;gBAClB,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM;YACR;gBACE,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,aAAa,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAkB,EAAE,QAAiB;IACjF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,QAAiB;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,cAAc,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,gBAAgB,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ //# sourceMappingURL=cli-new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-new.d.ts","sourceRoot":"","sources":["../src/cli-new.ts"],"names":[],"mappings":""}