@dyyz1993/agent-browser 0.28.0 → 0.29.1

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 (209) hide show
  1. package/dist/actions/context.d.ts +4 -0
  2. package/dist/actions/context.d.ts.map +1 -1
  3. package/dist/actions/context.js +41 -1
  4. package/dist/actions/context.js.map +1 -1
  5. package/dist/actions/index.d.ts.map +1 -1
  6. package/dist/actions/index.js +164 -297
  7. package/dist/actions/index.js.map +1 -1
  8. package/dist/actions/interaction.d.ts.map +1 -1
  9. package/dist/actions/interaction.js +96 -30
  10. package/dist/actions/interaction.js.map +1 -1
  11. package/dist/actions/touch.d.ts +25 -0
  12. package/dist/actions/touch.d.ts.map +1 -0
  13. package/dist/actions/touch.js +114 -0
  14. package/dist/actions/touch.js.map +1 -0
  15. package/dist/browser/browser-manager.d.ts +15 -0
  16. package/dist/browser/browser-manager.d.ts.map +1 -1
  17. package/dist/browser/browser-manager.js +75 -7
  18. package/dist/browser/browser-manager.js.map +1 -1
  19. package/dist/browser/network-analysis.d.ts +65 -0
  20. package/dist/browser/network-analysis.d.ts.map +1 -0
  21. package/dist/browser/network-analysis.js +359 -0
  22. package/dist/browser/network-analysis.js.map +1 -0
  23. package/dist/browser/network-tracker.d.ts +4 -0
  24. package/dist/browser/network-tracker.d.ts.map +1 -1
  25. package/dist/browser/network-tracker.js +41 -0
  26. package/dist/browser/network-tracker.js.map +1 -1
  27. package/dist/browser/popup-detector.d.ts +22 -0
  28. package/dist/browser/popup-detector.d.ts.map +1 -0
  29. package/dist/browser/popup-detector.js +138 -0
  30. package/dist/browser/popup-detector.js.map +1 -0
  31. package/dist/cli/commands/index.d.ts +5 -0
  32. package/dist/cli/commands/index.d.ts.map +1 -0
  33. package/dist/cli/commands/index.js +219 -0
  34. package/dist/cli/commands/index.js.map +1 -0
  35. package/dist/cli/commands/interact.d.ts +7 -0
  36. package/dist/cli/commands/interact.d.ts.map +1 -0
  37. package/dist/cli/commands/interact.js +371 -0
  38. package/dist/cli/commands/interact.js.map +1 -0
  39. package/dist/cli/commands/navigate.d.ts +4 -0
  40. package/dist/cli/commands/navigate.d.ts.map +1 -0
  41. package/dist/cli/commands/navigate.js +46 -0
  42. package/dist/cli/commands/navigate.js.map +1 -0
  43. package/dist/cli/commands/network.d.ts +3 -0
  44. package/dist/cli/commands/network.d.ts.map +1 -0
  45. package/dist/cli/commands/network.js +292 -0
  46. package/dist/cli/commands/network.js.map +1 -0
  47. package/dist/cli/commands/plugin.d.ts +3 -0
  48. package/dist/cli/commands/plugin.d.ts.map +1 -0
  49. package/dist/cli/commands/plugin.js +84 -0
  50. package/dist/cli/commands/plugin.js.map +1 -0
  51. package/dist/cli/commands/query.d.ts +7 -0
  52. package/dist/cli/commands/query.d.ts.map +1 -0
  53. package/dist/cli/commands/query.js +333 -0
  54. package/dist/cli/commands/query.js.map +1 -0
  55. package/dist/cli/commands/session.d.ts +3 -0
  56. package/dist/cli/commands/session.d.ts.map +1 -0
  57. package/dist/cli/commands/session.js +372 -0
  58. package/dist/cli/commands/session.js.map +1 -0
  59. package/dist/cli/commands/shared.d.ts +24 -0
  60. package/dist/cli/commands/shared.d.ts.map +1 -0
  61. package/dist/cli/commands/shared.js +113 -0
  62. package/dist/cli/commands/shared.js.map +1 -0
  63. package/dist/cli/commands.d.ts +1 -7
  64. package/dist/cli/commands.d.ts.map +1 -1
  65. package/dist/cli/commands.js +1 -1684
  66. package/dist/cli/commands.js.map +1 -1
  67. package/dist/cli/connection.d.ts.map +1 -1
  68. package/dist/cli/connection.js +9 -1
  69. package/dist/cli/connection.js.map +1 -1
  70. package/dist/cli/help.d.ts.map +1 -1
  71. package/dist/cli/help.js +1 -24
  72. package/dist/cli/help.js.map +1 -1
  73. package/dist/cli.js +2 -2
  74. package/dist/cli.js.map +1 -1
  75. package/dist/daemon.d.ts.map +1 -1
  76. package/dist/daemon.js +21 -1
  77. package/dist/daemon.js.map +1 -1
  78. package/dist/diff.d.ts +4 -0
  79. package/dist/diff.d.ts.map +1 -1
  80. package/dist/diff.js +16 -0
  81. package/dist/diff.js.map +1 -1
  82. package/dist/flow/exporters/cypress.js +1 -1
  83. package/dist/flow/exporters/cypress.js.map +1 -1
  84. package/dist/flow/exporters/selenium.js +1 -1
  85. package/dist/flow/exporters/selenium.js.map +1 -1
  86. package/dist/openapi.d.ts.map +1 -1
  87. package/dist/openapi.js +2 -1
  88. package/dist/openapi.js.map +1 -1
  89. package/dist/plugins/registry.d.ts.map +1 -1
  90. package/dist/plugins/registry.js +4 -1
  91. package/dist/plugins/registry.js.map +1 -1
  92. package/dist/plugins/types.d.ts +4 -4
  93. package/dist/plugins/types.d.ts.map +1 -1
  94. package/dist/protocol.d.ts.map +1 -1
  95. package/dist/protocol.js +30 -7
  96. package/dist/protocol.js.map +1 -1
  97. package/dist/snapshot/constants.d.ts +6 -0
  98. package/dist/snapshot/constants.d.ts.map +1 -0
  99. package/dist/snapshot/constants.js +77 -0
  100. package/dist/snapshot/constants.js.map +1 -0
  101. package/dist/snapshot/dom-scripts.d.ts +12 -0
  102. package/dist/snapshot/dom-scripts.d.ts.map +1 -0
  103. package/dist/snapshot/dom-scripts.js +438 -0
  104. package/dist/snapshot/dom-scripts.js.map +1 -0
  105. package/dist/snapshot/format.d.ts +13 -0
  106. package/dist/snapshot/format.d.ts.map +1 -0
  107. package/dist/snapshot/format.js +175 -0
  108. package/dist/snapshot/format.js.map +1 -0
  109. package/dist/snapshot/index.d.ts +6 -0
  110. package/dist/snapshot/index.d.ts.map +1 -0
  111. package/dist/snapshot/index.js +5 -0
  112. package/dist/snapshot/index.js.map +1 -0
  113. package/dist/snapshot/refs.d.ts +3 -0
  114. package/dist/snapshot/refs.d.ts.map +1 -0
  115. package/dist/snapshot/refs.js +8 -0
  116. package/dist/snapshot/refs.js.map +1 -0
  117. package/dist/snapshot/selectors.d.ts +17 -0
  118. package/dist/snapshot/selectors.d.ts.map +1 -0
  119. package/dist/snapshot/selectors.js +619 -0
  120. package/dist/snapshot/selectors.js.map +1 -0
  121. package/dist/snapshot/snapshot.d.ts +12 -0
  122. package/dist/snapshot/snapshot.d.ts.map +1 -0
  123. package/dist/snapshot/snapshot.js +104 -0
  124. package/dist/snapshot/snapshot.js.map +1 -0
  125. package/dist/snapshot/types.d.ts +27 -0
  126. package/dist/snapshot/types.d.ts.map +1 -0
  127. package/dist/snapshot/types.js +2 -0
  128. package/dist/snapshot/types.js.map +1 -0
  129. package/dist/snapshot.d.ts +1 -79
  130. package/dist/snapshot.d.ts.map +1 -1
  131. package/dist/snapshot.js +1 -1800
  132. package/dist/snapshot.js.map +1 -1
  133. package/dist/stream/client-state.d.ts +13 -0
  134. package/dist/stream/client-state.d.ts.map +1 -0
  135. package/dist/stream/client-state.js +2 -0
  136. package/dist/stream/client-state.js.map +1 -0
  137. package/dist/stream/element-utils.d.ts +8 -0
  138. package/dist/stream/element-utils.d.ts.map +1 -0
  139. package/dist/stream/element-utils.js +25 -0
  140. package/dist/stream/element-utils.js.map +1 -0
  141. package/dist/stream/frame-processor.d.ts +63 -0
  142. package/dist/stream/frame-processor.d.ts.map +1 -0
  143. package/dist/stream/frame-processor.js +178 -0
  144. package/dist/stream/frame-processor.js.map +1 -0
  145. package/dist/stream/index.d.ts +10 -0
  146. package/dist/stream/index.d.ts.map +1 -0
  147. package/dist/stream/index.js +5 -0
  148. package/dist/stream/index.js.map +1 -0
  149. package/dist/stream/input-handler.d.ts +10 -0
  150. package/dist/stream/input-handler.d.ts.map +1 -0
  151. package/dist/stream/input-handler.js +81 -0
  152. package/dist/stream/input-handler.js.map +1 -0
  153. package/dist/stream/messages.d.ts +144 -0
  154. package/dist/stream/messages.d.ts.map +1 -0
  155. package/dist/stream/messages.js +46 -0
  156. package/dist/stream/messages.js.map +1 -0
  157. package/dist/stream-server-standalone.d.ts +0 -3
  158. package/dist/stream-server-standalone.d.ts.map +1 -1
  159. package/dist/stream-server-standalone.js +22 -82
  160. package/dist/stream-server-standalone.js.map +1 -1
  161. package/dist/stream-server.d.ts +8 -212
  162. package/dist/stream-server.d.ts.map +1 -1
  163. package/dist/stream-server.js +35 -389
  164. package/dist/stream-server.js.map +1 -1
  165. package/dist/types/base.d.ts +11 -0
  166. package/dist/types/base.d.ts.map +1 -0
  167. package/dist/types/base.js +2 -0
  168. package/dist/types/base.js.map +1 -0
  169. package/dist/types/browser.d.ts +26 -0
  170. package/dist/types/browser.d.ts.map +1 -0
  171. package/dist/types/browser.js +2 -0
  172. package/dist/types/browser.js.map +1 -0
  173. package/dist/types/commands.d.ts +768 -0
  174. package/dist/types/commands.d.ts.map +1 -0
  175. package/dist/types/commands.js +2 -0
  176. package/dist/types/commands.js.map +1 -0
  177. package/dist/types/crawl.d.ts +89 -0
  178. package/dist/types/crawl.d.ts.map +1 -0
  179. package/dist/types/crawl.js +2 -0
  180. package/dist/types/crawl.js.map +1 -0
  181. package/dist/types/index.d.ts +9 -0
  182. package/dist/types/index.d.ts.map +1 -0
  183. package/dist/types/index.js +9 -0
  184. package/dist/types/index.js.map +1 -0
  185. package/dist/types/interact.d.ts +61 -0
  186. package/dist/types/interact.d.ts.map +1 -0
  187. package/dist/types/interact.js +2 -0
  188. package/dist/types/interact.js.map +1 -0
  189. package/dist/types/plugins.d.ts +39 -0
  190. package/dist/types/plugins.d.ts.map +1 -0
  191. package/dist/types/plugins.js +2 -0
  192. package/dist/types/plugins.js.map +1 -0
  193. package/dist/types/responses.d.ts +140 -0
  194. package/dist/types/responses.d.ts.map +1 -0
  195. package/dist/types/responses.js +4 -0
  196. package/dist/types/responses.js.map +1 -0
  197. package/dist/types/utils.d.ts +12 -0
  198. package/dist/types/utils.d.ts.map +1 -0
  199. package/dist/types/utils.js +2 -0
  200. package/dist/types/utils.js.map +1 -0
  201. package/dist/types.d.ts +1 -1125
  202. package/dist/types.d.ts.map +1 -1
  203. package/dist/types.js +1 -3
  204. package/dist/types.js.map +1 -1
  205. package/dist/version.d.ts +2 -0
  206. package/dist/version.d.ts.map +1 -0
  207. package/dist/version.js +31 -0
  208. package/dist/version.js.map +1 -0
  209. package/package.json +11 -11
@@ -0,0 +1,138 @@
1
+ const POPUP_NAME_PATTERN = /confirm|delete|submit|save|close|dismiss|warning|error|success|notice|notification|message|modal|overlay|popup/i;
2
+ const SILENT_TYPES = new Set(['tooltip']);
3
+ const POPUP_ROLES = {
4
+ dialog: 'modal',
5
+ alertdialog: 'alert',
6
+ menu: 'dropdown',
7
+ listbox: 'dropdown',
8
+ tooltip: 'tooltip',
9
+ alert: 'alert',
10
+ };
11
+ const NOISE_ROLES = new Set([
12
+ 'text',
13
+ 'paragraph',
14
+ 'img',
15
+ 'link',
16
+ 'navigation',
17
+ 'main',
18
+ 'header',
19
+ 'footer',
20
+ 'banner',
21
+ 'complementary',
22
+ ]);
23
+ const CHILD_ROLES = new Set([
24
+ 'option',
25
+ 'menuitem',
26
+ 'listitem',
27
+ 'treeitem',
28
+ 'gridcell',
29
+ ]);
30
+ const MAX_TIPS = 3;
31
+ const MAX_TIP_LENGTH = 100;
32
+ function classifyByRole(role) {
33
+ return POPUP_ROLES[role] ?? null;
34
+ }
35
+ function classifyByName(name) {
36
+ if (name && POPUP_NAME_PATTERN.test(name))
37
+ return 'popup';
38
+ return null;
39
+ }
40
+ function classifyByHeuristic(role, name) {
41
+ if ((role === 'generic' || role === 'text') && name)
42
+ return 'popup';
43
+ return null;
44
+ }
45
+ function classify(role, name) {
46
+ return classifyByRole(role) ?? classifyByName(name) ?? classifyByHeuristic(role, name);
47
+ }
48
+ function isNoise(candidate, parentType) {
49
+ if (NOISE_ROLES.has(candidate.role) && !(candidate.role in POPUP_ROLES))
50
+ return true;
51
+ if (!candidate.name && !candidate.ref)
52
+ return true;
53
+ if (candidate.name === '' && candidate.role === 'generic')
54
+ return true;
55
+ if (parentType) {
56
+ const INTERACTIVE_ROLES = new Set([
57
+ 'button', 'link', 'textbox', 'searchbox', 'combobox',
58
+ 'checkbox', 'radio', 'switch', 'slider', 'spinbutton',
59
+ 'heading', 'paragraph',
60
+ ]);
61
+ if (INTERACTIVE_ROLES.has(candidate.role))
62
+ return true;
63
+ }
64
+ return false;
65
+ }
66
+ function countChildren(added, startIndex) {
67
+ let count = 0;
68
+ for (let i = startIndex + 1; i < added.length; i++) {
69
+ if (CHILD_ROLES.has(added[i].role)) {
70
+ count++;
71
+ }
72
+ else {
73
+ break;
74
+ }
75
+ }
76
+ return count;
77
+ }
78
+ function truncate(text, max) {
79
+ if (text.length <= max)
80
+ return text;
81
+ return text.slice(0, max - 3) + '...';
82
+ }
83
+ function formatTip(type, name, role, childCount) {
84
+ const label = type.charAt(0).toUpperCase() + type.slice(1);
85
+ const subject = name || null;
86
+ let tip;
87
+ if (subject) {
88
+ tip = `[popup] ${label} appeared: "${subject}"`;
89
+ }
90
+ else {
91
+ tip = `[popup] ${label} appeared (${role}, no label)`;
92
+ }
93
+ if (childCount !== undefined && childCount > 0) {
94
+ tip += ` with ${childCount} options`;
95
+ }
96
+ return truncate(tip, MAX_TIP_LENGTH);
97
+ }
98
+ export function detectPopups(added) {
99
+ const tips = [];
100
+ let lastParentType;
101
+ for (let i = 0; i < added.length && tips.length < MAX_TIPS; i++) {
102
+ const candidate = added[i];
103
+ if (isNoise(candidate, lastParentType))
104
+ continue;
105
+ if (CHILD_ROLES.has(candidate.role))
106
+ continue;
107
+ const type = classify(candidate.role, candidate.name);
108
+ if (!type)
109
+ continue;
110
+ lastParentType = type;
111
+ if (SILENT_TYPES.has(type))
112
+ continue;
113
+ const isDropdown = type === 'dropdown';
114
+ const childCount = isDropdown ? countChildren(added, i) : undefined;
115
+ const info = {
116
+ type,
117
+ role: candidate.role,
118
+ name: candidate.name,
119
+ ref: candidate.ref,
120
+ childCount,
121
+ };
122
+ tips.push({
123
+ text: formatTip(type, candidate.name, candidate.role, childCount),
124
+ popup: info,
125
+ });
126
+ }
127
+ return tips;
128
+ }
129
+ export function detectPopupsFromDiff(added) {
130
+ const candidates = added.map((el) => ({
131
+ role: el.role,
132
+ name: el.name,
133
+ ref: el.ref,
134
+ value: el.value,
135
+ }));
136
+ return detectPopups(candidates);
137
+ }
138
+ //# sourceMappingURL=popup-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup-detector.js","sourceRoot":"","sources":["../../src/browser/popup-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Command, Flags } from './shared.js';
2
+ import { CliError } from './shared.js';
3
+ export { CliError };
4
+ export declare function parseCommand(args: string[], flags: Flags): Command;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAA6B,MAAM,aAAa,CAAC;AAclE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CA+NlE"}
@@ -0,0 +1,219 @@
1
+ import { CliError, error, genId } from './shared.js';
2
+ import { handleNavigate, handleConnect } from './navigate.js';
3
+ import { handleInteract, handleWait, handleScreenshot, handleSnapshot, handleEval, } from './interact.js';
4
+ import { handleGet, handleIs, handleFind, handleMouse, handleSet } from './query.js';
5
+ import { handleNetwork } from './network.js';
6
+ import { handleSession } from './session.js';
7
+ import { handlePlugin } from './plugin.js';
8
+ export { CliError };
9
+ export function parseCommand(args, flags) {
10
+ if (args.length === 0) {
11
+ error('No command provided', 'agent-browser <command> [args...]');
12
+ }
13
+ const cmd = args[0];
14
+ const rest = args.slice(1);
15
+ const id = genId();
16
+ switch (cmd) {
17
+ case 'open':
18
+ case 'goto':
19
+ case 'navigate':
20
+ return handleNavigate(cmd, rest, id, flags);
21
+ case 'back':
22
+ return { id, action: 'back' };
23
+ case 'forward':
24
+ return { id, action: 'forward' };
25
+ case 'reload':
26
+ return { id, action: 'reload' };
27
+ case 'click':
28
+ case 'dblclick':
29
+ case 'fill':
30
+ case 'type':
31
+ case 'hover':
32
+ case 'focus':
33
+ case 'check':
34
+ case 'uncheck':
35
+ case 'select':
36
+ case 'drag':
37
+ case 'upload':
38
+ case 'download':
39
+ case 'press':
40
+ case 'key':
41
+ case 'keydown':
42
+ case 'keyup':
43
+ case 'scroll':
44
+ case 'scrollintoview':
45
+ case 'scrollinto':
46
+ case 'highlight':
47
+ case 'tap':
48
+ case 'swipe': {
49
+ const result = handleInteract(cmd, rest, id, flags);
50
+ if (result !== undefined)
51
+ return result;
52
+ break;
53
+ }
54
+ case 'wait':
55
+ return handleWait(rest, id);
56
+ case 'screenshot':
57
+ return handleScreenshot(rest, id);
58
+ case 'snapshot':
59
+ return handleSnapshot(rest, id);
60
+ case 'eval':
61
+ return handleEval(rest, id);
62
+ case 'pdf':
63
+ return {
64
+ id,
65
+ action: 'pdf',
66
+ path: rest[0] || error('Missing path', 'agent-browser pdf <path>'),
67
+ };
68
+ case 'get':
69
+ return handleGet(rest, id);
70
+ case 'is':
71
+ return handleIs(rest, id);
72
+ case 'find':
73
+ return handleFind(rest, id);
74
+ case 'mouse':
75
+ return handleMouse(rest, id, flags);
76
+ case 'set':
77
+ return handleSet(rest, id);
78
+ case 'network':
79
+ case 'storage':
80
+ case 'cookies':
81
+ case 'scrape':
82
+ case 'crawl':
83
+ case 'map':
84
+ case 'search': {
85
+ const result = handleNetwork(cmd, rest, id, flags);
86
+ if (result !== undefined)
87
+ return result;
88
+ break;
89
+ }
90
+ case 'close':
91
+ case 'quit':
92
+ case 'exit':
93
+ case 'tab':
94
+ case 'window':
95
+ case 'frame':
96
+ case 'dialog':
97
+ case 'trace':
98
+ case 'record':
99
+ case 'recorder':
100
+ case 'console':
101
+ case 'errors':
102
+ case 'state':
103
+ case 'frames':
104
+ case 'iframes':
105
+ case 'viewer':
106
+ case 'preview':
107
+ case 'ask':
108
+ case 'config':
109
+ case 'devices':
110
+ case 'history':
111
+ case 'flow':
112
+ case 'interact': {
113
+ const result = handleSession(cmd, rest, id, flags);
114
+ if (result !== undefined)
115
+ return result;
116
+ break;
117
+ }
118
+ case 'connect':
119
+ return handleConnect(rest, id);
120
+ case 'plugin':
121
+ return handlePlugin(rest, id);
122
+ default:
123
+ break;
124
+ }
125
+ const allCommands = [
126
+ 'open',
127
+ 'goto',
128
+ 'navigate',
129
+ 'click',
130
+ 'dblclick',
131
+ 'type',
132
+ 'fill',
133
+ 'press',
134
+ 'hover',
135
+ 'focus',
136
+ 'check',
137
+ 'uncheck',
138
+ 'select',
139
+ 'drag',
140
+ 'upload',
141
+ 'download',
142
+ 'scroll',
143
+ 'scrollintoview',
144
+ 'wait',
145
+ 'screenshot',
146
+ 'pdf',
147
+ 'snapshot',
148
+ 'eval',
149
+ 'connect',
150
+ 'scrape',
151
+ 'search',
152
+ 'crawl',
153
+ 'map',
154
+ 'close',
155
+ 'back',
156
+ 'forward',
157
+ 'reload',
158
+ 'get',
159
+ 'is',
160
+ 'find',
161
+ 'mouse',
162
+ 'set',
163
+ 'network',
164
+ 'cookies',
165
+ 'storage',
166
+ 'tab',
167
+ 'trace',
168
+ 'record',
169
+ 'recorder',
170
+ 'console',
171
+ 'errors',
172
+ 'highlight',
173
+ 'state',
174
+ 'session',
175
+ 'kill',
176
+ 'update',
177
+ 'restart',
178
+ 'viewer',
179
+ 'ask',
180
+ 'config',
181
+ 'devices',
182
+ 'install',
183
+ 'dialog',
184
+ 'window',
185
+ 'history',
186
+ 'frames',
187
+ 'flow',
188
+ 'plugin',
189
+ 'interact',
190
+ ];
191
+ const subCommand = rest[0] || '';
192
+ const pluginArgs = [];
193
+ const pluginFlags = {};
194
+ for (let i = subCommand ? 1 : 0; i < rest.length; i++) {
195
+ if (rest[i].startsWith('--')) {
196
+ const key = rest[i];
197
+ const val = rest[i + 1];
198
+ if (val && !val.startsWith('--')) {
199
+ pluginFlags[key.slice(2)] = val;
200
+ i++;
201
+ }
202
+ else {
203
+ pluginFlags[key.slice(2)] = true;
204
+ }
205
+ }
206
+ else {
207
+ pluginArgs.push(rest[i]);
208
+ }
209
+ }
210
+ return {
211
+ id,
212
+ action: 'plugin_run',
213
+ pluginName: cmd,
214
+ commandName: subCommand,
215
+ args: pluginArgs,
216
+ flags: pluginFlags,
217
+ };
218
+ }
219
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Command, Flags } from './shared.js';
2
+ export declare function handleInteract(cmd: string, rest: string[], id: string, flags: Flags): Command | undefined;
3
+ export declare function handleWait(rest: string[], id: string): Command;
4
+ export declare function handleScreenshot(rest: string[], id: string): Command;
5
+ export declare function handleSnapshot(rest: string[], id: string): Command;
6
+ export declare function handleEval(rest: string[], id: string): Command;
7
+ //# sourceMappingURL=interact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interact.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/interact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGlD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,GACX,OAAO,GAAG,SAAS,CAkNrB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAmE9D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CA4BpE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAoDlE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CA2B9D"}