pi-agent-browser-native 0.2.47 → 0.2.49

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 (185) hide show
  1. package/CHANGELOG.md +63 -19
  2. package/README.md +52 -19
  3. package/dist/extensions/agent-browser/index.js +785 -0
  4. package/dist/extensions/agent-browser/lib/argv-descriptor.js +71 -0
  5. package/dist/extensions/agent-browser/lib/argv-grammar.js +121 -0
  6. package/dist/extensions/agent-browser/lib/bash-guard.js +190 -0
  7. package/dist/extensions/agent-browser/lib/command-policy.js +85 -0
  8. package/dist/extensions/agent-browser/lib/command-taxonomy.js +302 -0
  9. package/dist/extensions/agent-browser/lib/config-policy.js +686 -0
  10. package/dist/extensions/agent-browser/lib/config.js +122 -0
  11. package/dist/extensions/agent-browser/lib/electron/cdp.js +51 -0
  12. package/dist/extensions/agent-browser/lib/electron/cleanup.js +212 -0
  13. package/dist/extensions/agent-browser/lib/electron/discovery.js +633 -0
  14. package/dist/extensions/agent-browser/lib/electron/launch.js +351 -0
  15. package/{extensions/agent-browser/lib/electron/text.ts → dist/extensions/agent-browser/lib/electron/text.js} +5 -5
  16. package/dist/extensions/agent-browser/lib/executable-path.js +20 -0
  17. package/dist/extensions/agent-browser/lib/fs-utils.js +18 -0
  18. package/dist/extensions/agent-browser/lib/input-modes/electron.js +165 -0
  19. package/dist/extensions/agent-browser/lib/input-modes/job.js +519 -0
  20. package/dist/extensions/agent-browser/lib/input-modes/lookups.js +440 -0
  21. package/dist/extensions/agent-browser/lib/input-modes/params.js +164 -0
  22. package/dist/extensions/agent-browser/lib/input-modes/semantic-action.js +119 -0
  23. package/dist/extensions/agent-browser/lib/input-modes/shared.js +42 -0
  24. package/dist/extensions/agent-browser/lib/input-modes/types.js +21 -0
  25. package/dist/extensions/agent-browser/lib/input-modes.js +10 -0
  26. package/dist/extensions/agent-browser/lib/json-schema.js +58 -0
  27. package/dist/extensions/agent-browser/lib/launch-scoped-flags.js +59 -0
  28. package/dist/extensions/agent-browser/lib/navigation-policy.js +83 -0
  29. package/dist/extensions/agent-browser/lib/orchestration/batch-stdin.js +62 -0
  30. package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-paths.js +39 -0
  31. package/dist/extensions/agent-browser/lib/orchestration/browser-run/click-dispatch.js +276 -0
  32. package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostics.js +909 -0
  33. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result.js +443 -0
  34. package/dist/extensions/agent-browser/lib/orchestration/browser-run/index.js +47 -0
  35. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/direct-anchor-download.js +141 -0
  36. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/network-page-filter.js +108 -0
  37. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/scroll-shims.js +112 -0
  38. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter.js +158 -0
  39. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/wait-timeouts.js +54 -0
  40. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare.js +762 -0
  41. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output.js +491 -0
  42. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prompt-guards.js +40 -0
  43. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-artifacts.js +5 -0
  44. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state.js +731 -0
  45. package/dist/extensions/agent-browser/lib/orchestration/browser-run/types.js +1 -0
  46. package/dist/extensions/agent-browser/lib/orchestration/electron-host/index.js +718 -0
  47. package/dist/extensions/agent-browser/lib/orchestration/input-plan.js +247 -0
  48. package/dist/extensions/agent-browser/lib/orchestration/output-file.js +68 -0
  49. package/{extensions/agent-browser/lib/parsing.ts → dist/extensions/agent-browser/lib/parsing.js} +12 -11
  50. package/dist/extensions/agent-browser/lib/pi-tool-rendering.js +241 -0
  51. package/dist/extensions/agent-browser/lib/playbook.js +121 -0
  52. package/dist/extensions/agent-browser/lib/process.js +448 -0
  53. package/dist/extensions/agent-browser/lib/prompt-policy.js +91 -0
  54. package/dist/extensions/agent-browser/lib/results/action-recommendations.js +220 -0
  55. package/dist/extensions/agent-browser/lib/results/artifact-manifest.js +111 -0
  56. package/{extensions/agent-browser/lib/results/artifact-state.ts → dist/extensions/agent-browser/lib/results/artifact-state.js} +4 -8
  57. package/dist/extensions/agent-browser/lib/results/categories.js +76 -0
  58. package/dist/extensions/agent-browser/lib/results/confirmation.js +63 -0
  59. package/dist/extensions/agent-browser/lib/results/contracts.js +8 -0
  60. package/dist/extensions/agent-browser/lib/results/editable-ref-evidence.js +74 -0
  61. package/dist/extensions/agent-browser/lib/results/envelope.js +166 -0
  62. package/dist/extensions/agent-browser/lib/results/network-routes.js +92 -0
  63. package/dist/extensions/agent-browser/lib/results/network.js +73 -0
  64. package/dist/extensions/agent-browser/lib/results/next-actions.js +72 -0
  65. package/dist/extensions/agent-browser/lib/results/presentation/artifacts.js +515 -0
  66. package/dist/extensions/agent-browser/lib/results/presentation/batch.js +397 -0
  67. package/dist/extensions/agent-browser/lib/results/presentation/browser-profile-recovery.js +55 -0
  68. package/dist/extensions/agent-browser/lib/results/presentation/common.js +46 -0
  69. package/dist/extensions/agent-browser/lib/results/presentation/content.js +24 -0
  70. package/dist/extensions/agent-browser/lib/results/presentation/diagnostics.js +960 -0
  71. package/dist/extensions/agent-browser/lib/results/presentation/errors.js +205 -0
  72. package/dist/extensions/agent-browser/lib/results/presentation/large-output.js +134 -0
  73. package/dist/extensions/agent-browser/lib/results/presentation/navigation.js +159 -0
  74. package/dist/extensions/agent-browser/lib/results/presentation/registry.js +216 -0
  75. package/dist/extensions/agent-browser/lib/results/presentation/semantic-action.js +104 -0
  76. package/dist/extensions/agent-browser/lib/results/presentation/skills.js +152 -0
  77. package/dist/extensions/agent-browser/lib/results/presentation.js +177 -0
  78. package/dist/extensions/agent-browser/lib/results/recovery-actions.js +107 -0
  79. package/dist/extensions/agent-browser/lib/results/recovery-next-actions.js +50 -0
  80. package/dist/extensions/agent-browser/lib/results/selector-recovery.js +225 -0
  81. package/{extensions/agent-browser/lib/results/shared.ts → dist/extensions/agent-browser/lib/results/shared.js} +0 -1
  82. package/dist/extensions/agent-browser/lib/results/snapshot-high-value-controls.js +208 -0
  83. package/dist/extensions/agent-browser/lib/results/snapshot-refs.js +78 -0
  84. package/dist/extensions/agent-browser/lib/results/snapshot-segments.js +331 -0
  85. package/dist/extensions/agent-browser/lib/results/snapshot-spill.js +40 -0
  86. package/dist/extensions/agent-browser/lib/results/snapshot.js +264 -0
  87. package/dist/extensions/agent-browser/lib/results/text.js +40 -0
  88. package/{extensions/agent-browser/lib/results.ts → dist/extensions/agent-browser/lib/results.js} +2 -32
  89. package/dist/extensions/agent-browser/lib/runtime.js +816 -0
  90. package/dist/extensions/agent-browser/lib/session-page-state.js +411 -0
  91. package/dist/extensions/agent-browser/lib/string-enum-schema.js +13 -0
  92. package/dist/extensions/agent-browser/lib/temp.js +498 -0
  93. package/dist/extensions/agent-browser/lib/web-search.js +562 -0
  94. package/docs/ARCHITECTURE.md +10 -10
  95. package/docs/COMMAND_REFERENCE.md +35 -21
  96. package/docs/ELECTRON.md +3 -3
  97. package/docs/RELEASE.md +46 -26
  98. package/docs/REQUIREMENTS.md +1 -1
  99. package/docs/SUPPORT_MATRIX.md +35 -106
  100. package/docs/TOOL_CONTRACT.md +23 -21
  101. package/package.json +12 -8
  102. package/scripts/agent-browser-capability-baseline.mjs +6 -3
  103. package/scripts/config.mjs +8 -2
  104. package/scripts/doctor.mjs +19 -17
  105. package/scripts/platform-smoke.mjs +1 -1
  106. package/extensions/agent-browser/index.ts +0 -952
  107. package/extensions/agent-browser/lib/argv-descriptor.ts +0 -90
  108. package/extensions/agent-browser/lib/argv-grammar.ts +0 -128
  109. package/extensions/agent-browser/lib/bash-guard.ts +0 -205
  110. package/extensions/agent-browser/lib/command-policy.ts +0 -71
  111. package/extensions/agent-browser/lib/command-taxonomy.ts +0 -336
  112. package/extensions/agent-browser/lib/config-policy.js +0 -690
  113. package/extensions/agent-browser/lib/config.ts +0 -209
  114. package/extensions/agent-browser/lib/electron/cdp.ts +0 -69
  115. package/extensions/agent-browser/lib/electron/cleanup.ts +0 -235
  116. package/extensions/agent-browser/lib/electron/discovery.ts +0 -710
  117. package/extensions/agent-browser/lib/electron/launch.ts +0 -499
  118. package/extensions/agent-browser/lib/executable-path.ts +0 -19
  119. package/extensions/agent-browser/lib/fs-utils.ts +0 -18
  120. package/extensions/agent-browser/lib/input-modes/electron.ts +0 -170
  121. package/extensions/agent-browser/lib/input-modes/job.ts +0 -451
  122. package/extensions/agent-browser/lib/input-modes/lookups.ts +0 -447
  123. package/extensions/agent-browser/lib/input-modes/params.ts +0 -205
  124. package/extensions/agent-browser/lib/input-modes/semantic-action.ts +0 -127
  125. package/extensions/agent-browser/lib/input-modes/shared.ts +0 -46
  126. package/extensions/agent-browser/lib/input-modes/types.ts +0 -225
  127. package/extensions/agent-browser/lib/input-modes.ts +0 -45
  128. package/extensions/agent-browser/lib/json-schema.ts +0 -73
  129. package/extensions/agent-browser/lib/launch-scoped-flags.ts +0 -67
  130. package/extensions/agent-browser/lib/navigation-policy.ts +0 -95
  131. package/extensions/agent-browser/lib/orchestration/batch-stdin.ts +0 -65
  132. package/extensions/agent-browser/lib/orchestration/browser-run/click-dispatch.ts +0 -257
  133. package/extensions/agent-browser/lib/orchestration/browser-run/diagnostics.ts +0 -912
  134. package/extensions/agent-browser/lib/orchestration/browser-run/final-result.ts +0 -512
  135. package/extensions/agent-browser/lib/orchestration/browser-run/index.ts +0 -53
  136. package/extensions/agent-browser/lib/orchestration/browser-run/prepare.ts +0 -1481
  137. package/extensions/agent-browser/lib/orchestration/browser-run/process-output.ts +0 -564
  138. package/extensions/agent-browser/lib/orchestration/browser-run/prompt-guards.ts +0 -47
  139. package/extensions/agent-browser/lib/orchestration/browser-run/session-state.ts +0 -868
  140. package/extensions/agent-browser/lib/orchestration/browser-run/types.ts +0 -564
  141. package/extensions/agent-browser/lib/orchestration/electron-host/index.ts +0 -855
  142. package/extensions/agent-browser/lib/orchestration/input-plan.ts +0 -375
  143. package/extensions/agent-browser/lib/orchestration/output-file.ts +0 -86
  144. package/extensions/agent-browser/lib/pi-tool-rendering.ts +0 -252
  145. package/extensions/agent-browser/lib/playbook.ts +0 -142
  146. package/extensions/agent-browser/lib/process.ts +0 -516
  147. package/extensions/agent-browser/lib/prompt-policy.ts +0 -105
  148. package/extensions/agent-browser/lib/results/action-recommendations.ts +0 -264
  149. package/extensions/agent-browser/lib/results/artifact-manifest.ts +0 -111
  150. package/extensions/agent-browser/lib/results/categories.ts +0 -106
  151. package/extensions/agent-browser/lib/results/confirmation.ts +0 -76
  152. package/extensions/agent-browser/lib/results/contracts.ts +0 -241
  153. package/extensions/agent-browser/lib/results/editable-ref-evidence.ts +0 -72
  154. package/extensions/agent-browser/lib/results/envelope.ts +0 -195
  155. package/extensions/agent-browser/lib/results/network-routes.ts +0 -83
  156. package/extensions/agent-browser/lib/results/network.ts +0 -78
  157. package/extensions/agent-browser/lib/results/next-actions.ts +0 -117
  158. package/extensions/agent-browser/lib/results/presentation/artifacts.ts +0 -588
  159. package/extensions/agent-browser/lib/results/presentation/batch.ts +0 -450
  160. package/extensions/agent-browser/lib/results/presentation/browser-profile-recovery.ts +0 -67
  161. package/extensions/agent-browser/lib/results/presentation/common.ts +0 -53
  162. package/extensions/agent-browser/lib/results/presentation/content.ts +0 -36
  163. package/extensions/agent-browser/lib/results/presentation/diagnostics.ts +0 -923
  164. package/extensions/agent-browser/lib/results/presentation/errors.ts +0 -227
  165. package/extensions/agent-browser/lib/results/presentation/large-output.ts +0 -182
  166. package/extensions/agent-browser/lib/results/presentation/navigation.ts +0 -184
  167. package/extensions/agent-browser/lib/results/presentation/registry.ts +0 -242
  168. package/extensions/agent-browser/lib/results/presentation/semantic-action.ts +0 -131
  169. package/extensions/agent-browser/lib/results/presentation/skills.ts +0 -143
  170. package/extensions/agent-browser/lib/results/presentation.ts +0 -257
  171. package/extensions/agent-browser/lib/results/recovery-actions.ts +0 -139
  172. package/extensions/agent-browser/lib/results/recovery-next-actions.ts +0 -71
  173. package/extensions/agent-browser/lib/results/selector-recovery.ts +0 -320
  174. package/extensions/agent-browser/lib/results/snapshot-high-value-controls.ts +0 -273
  175. package/extensions/agent-browser/lib/results/snapshot-refs.ts +0 -100
  176. package/extensions/agent-browser/lib/results/snapshot-segments.ts +0 -366
  177. package/extensions/agent-browser/lib/results/snapshot-spill.ts +0 -63
  178. package/extensions/agent-browser/lib/results/snapshot.ts +0 -329
  179. package/extensions/agent-browser/lib/results/text.ts +0 -40
  180. package/extensions/agent-browser/lib/runtime.ts +0 -988
  181. package/extensions/agent-browser/lib/session-page-state.ts +0 -512
  182. package/extensions/agent-browser/lib/string-enum-schema.ts +0 -20
  183. package/extensions/agent-browser/lib/temp.ts +0 -577
  184. package/extensions/agent-browser/lib/web-search.ts +0 -721
  185. /package/{extensions/agent-browser/lib/orchestration/browser-run.ts → dist/extensions/agent-browser/lib/orchestration/browser-run.js} +0 -0
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Purpose: Centralize upstream agent-browser command capabilities that wrapper behavior depends on.
3
+ * Responsibilities: Normalize command aliases once and expose capability predicates for runtime planning,
4
+ * session/ref guards, result recommendations, and presentation summaries without coupling unrelated behaviors.
5
+ * Scope: Static command capability taxonomy only; command-shape parsing, spawning, and formatting live elsewhere.
6
+ */
7
+ const COMMAND_CAPABILITIES = [
8
+ {
9
+ command: "back",
10
+ eligibleForElectronHealthProbe: true,
11
+ eligibleForPageChangeSummary: true,
12
+ invalidatesBatchRefs: true,
13
+ navigationObservable: true,
14
+ triggersPostMutationSnapshot: true,
15
+ },
16
+ {
17
+ command: "batch",
18
+ excludedFromPostCommandCorrection: true,
19
+ },
20
+ {
21
+ command: "check",
22
+ eligibleForElectronHealthProbe: true,
23
+ eligibleForPageChangeSummary: true,
24
+ guardsPageRefs: true,
25
+ invalidatesBatchRefs: true,
26
+ triggersPostMutationSnapshot: true,
27
+ },
28
+ {
29
+ command: "click",
30
+ eligibleForElectronHealthProbe: true,
31
+ eligibleForPageChangeSummary: true,
32
+ guardsPageRefs: true,
33
+ invalidatesBatchRefs: true,
34
+ navigationObservable: true,
35
+ triggersPostMutationSnapshot: true,
36
+ },
37
+ {
38
+ aliases: ["quit", "exit"],
39
+ closesSession: true,
40
+ command: "close",
41
+ excludedFromPinning: true,
42
+ excludedFromPostCommandCorrection: true,
43
+ },
44
+ {
45
+ command: "console",
46
+ readOnlyDiagnosticSessionTarget: true,
47
+ },
48
+ {
49
+ command: "cookies",
50
+ readOnlyDiagnosticSessionTarget: true,
51
+ },
52
+ {
53
+ command: "dblclick",
54
+ eligibleForElectronHealthProbe: true,
55
+ eligibleForPageChangeSummary: true,
56
+ guardsPageRefs: true,
57
+ invalidatesBatchRefs: true,
58
+ navigationObservable: true,
59
+ triggersPostMutationSnapshot: true,
60
+ },
61
+ {
62
+ command: "dialog",
63
+ eligibleForPageChangeSummary: true,
64
+ invalidatesBatchRefs: true,
65
+ triggersPostMutationSnapshot: true,
66
+ },
67
+ {
68
+ command: "download",
69
+ eligibleForPageChangeSummary: true,
70
+ guardsPageRefs: true,
71
+ },
72
+ {
73
+ command: "drag",
74
+ guardsPageRefs: true,
75
+ invalidatesBatchRefs: true,
76
+ },
77
+ {
78
+ command: "errors",
79
+ readOnlyDiagnosticSessionTarget: true,
80
+ },
81
+ {
82
+ command: "fill",
83
+ eligibleForElectronHealthProbe: true,
84
+ eligibleForPageChangeSummary: true,
85
+ guardsPageRefs: true,
86
+ triggersPostMutationSnapshot: true,
87
+ },
88
+ {
89
+ command: "find",
90
+ eligibleForElectronHealthProbe: true,
91
+ },
92
+ {
93
+ command: "focus",
94
+ guardsPageRefs: true,
95
+ },
96
+ {
97
+ command: "forward",
98
+ eligibleForElectronHealthProbe: true,
99
+ eligibleForPageChangeSummary: true,
100
+ invalidatesBatchRefs: true,
101
+ navigationObservable: true,
102
+ triggersPostMutationSnapshot: true,
103
+ },
104
+ {
105
+ command: "hover",
106
+ eligibleForPageChangeSummary: true,
107
+ guardsPageRefs: true,
108
+ invalidatesBatchRefs: true,
109
+ triggersPostMutationSnapshot: true,
110
+ },
111
+ {
112
+ command: "keydown",
113
+ eligibleForElectronHealthProbe: true,
114
+ eligibleForPageChangeSummary: true,
115
+ invalidatesBatchRefs: true,
116
+ triggersPostMutationSnapshot: true,
117
+ },
118
+ {
119
+ command: "keyboard",
120
+ eligibleForElectronHealthProbe: true,
121
+ eligibleForPageChangeSummary: true,
122
+ guardsPageRefs: true,
123
+ invalidatesBatchRefs: true,
124
+ triggersPostMutationSnapshot: true,
125
+ },
126
+ {
127
+ command: "keyup",
128
+ eligibleForElectronHealthProbe: true,
129
+ eligibleForPageChangeSummary: true,
130
+ invalidatesBatchRefs: true,
131
+ triggersPostMutationSnapshot: true,
132
+ },
133
+ {
134
+ command: "mouse",
135
+ eligibleForElectronHealthProbe: true,
136
+ guardsPageRefs: true,
137
+ invalidatesBatchRefs: true,
138
+ },
139
+ {
140
+ command: "network",
141
+ readOnlyDiagnosticSessionTarget: true,
142
+ },
143
+ {
144
+ aliases: ["goto", "navigate"],
145
+ command: "open",
146
+ eligibleForPageChangeSummary: true,
147
+ excludedFromPinning: true,
148
+ invalidatesBatchRefs: true,
149
+ openNavigation: true,
150
+ },
151
+ {
152
+ command: "pdf",
153
+ eligibleForPageChangeSummary: true,
154
+ },
155
+ {
156
+ aliases: ["key"],
157
+ command: "press",
158
+ eligibleForElectronHealthProbe: true,
159
+ eligibleForPageChangeSummary: true,
160
+ guardsPageRefs: true,
161
+ invalidatesBatchRefs: true,
162
+ triggersPostMutationSnapshot: true,
163
+ },
164
+ {
165
+ command: "pushstate",
166
+ eligibleForPageChangeSummary: true,
167
+ invalidatesBatchRefs: true,
168
+ triggersPostMutationSnapshot: true,
169
+ },
170
+ {
171
+ command: "reload",
172
+ eligibleForElectronHealthProbe: true,
173
+ eligibleForPageChangeSummary: true,
174
+ invalidatesBatchRefs: true,
175
+ navigationObservable: true,
176
+ triggersPostMutationSnapshot: true,
177
+ },
178
+ {
179
+ command: "screenshot",
180
+ eligibleForPageChangeSummary: true,
181
+ },
182
+ {
183
+ command: "scroll",
184
+ eligibleForPageChangeSummary: true,
185
+ invalidatesBatchRefs: true,
186
+ triggersPostMutationSnapshot: true,
187
+ },
188
+ {
189
+ aliases: ["scrollinto"],
190
+ command: "scrollintoview",
191
+ eligibleForPageChangeSummary: true,
192
+ guardsPageRefs: true,
193
+ invalidatesBatchRefs: true,
194
+ triggersPostMutationSnapshot: true,
195
+ },
196
+ {
197
+ command: "select",
198
+ eligibleForElectronHealthProbe: true,
199
+ eligibleForPageChangeSummary: true,
200
+ guardsPageRefs: true,
201
+ invalidatesBatchRefs: true,
202
+ triggersPostMutationSnapshot: true,
203
+ },
204
+ {
205
+ command: "session",
206
+ excludedFromPinning: true,
207
+ excludedFromPostCommandCorrection: true,
208
+ },
209
+ {
210
+ command: "storage",
211
+ readOnlyDiagnosticSessionTarget: true,
212
+ },
213
+ {
214
+ command: "swipe",
215
+ eligibleForPageChangeSummary: true,
216
+ invalidatesBatchRefs: true,
217
+ triggersPostMutationSnapshot: true,
218
+ },
219
+ {
220
+ command: "tab",
221
+ excludedFromPinning: true,
222
+ excludedFromPostCommandCorrection: true,
223
+ },
224
+ {
225
+ command: "tap",
226
+ eligibleForElectronHealthProbe: true,
227
+ eligibleForPageChangeSummary: true,
228
+ guardsPageRefs: true,
229
+ invalidatesBatchRefs: true,
230
+ triggersPostMutationSnapshot: true,
231
+ },
232
+ {
233
+ command: "type",
234
+ eligibleForElectronHealthProbe: true,
235
+ eligibleForPageChangeSummary: true,
236
+ guardsPageRefs: true,
237
+ invalidatesBatchRefs: true,
238
+ triggersPostMutationSnapshot: true,
239
+ },
240
+ {
241
+ command: "uncheck",
242
+ eligibleForElectronHealthProbe: true,
243
+ eligibleForPageChangeSummary: true,
244
+ guardsPageRefs: true,
245
+ invalidatesBatchRefs: true,
246
+ triggersPostMutationSnapshot: true,
247
+ },
248
+ {
249
+ command: "upload",
250
+ guardsPageRefs: true,
251
+ invalidatesBatchRefs: true,
252
+ },
253
+ ];
254
+ const COMMAND_CAPABILITY_BY_NAME = new Map();
255
+ for (const entry of COMMAND_CAPABILITIES) {
256
+ COMMAND_CAPABILITY_BY_NAME.set(entry.command, entry);
257
+ for (const alias of entry.aliases ?? []) {
258
+ COMMAND_CAPABILITY_BY_NAME.set(alias, entry);
259
+ }
260
+ }
261
+ function getCommandCapability(command) {
262
+ return command === undefined ? undefined : COMMAND_CAPABILITY_BY_NAME.get(command);
263
+ }
264
+ function hasCommandCapability(command, capability) {
265
+ return getCommandCapability(command)?.[capability] === true;
266
+ }
267
+ export function normalizeCommandName(command) {
268
+ return getCommandCapability(command)?.command ?? command;
269
+ }
270
+ export function isCloseCommand(command) {
271
+ return hasCommandCapability(command, "closesSession");
272
+ }
273
+ export function isOpenNavigationCommand(command) {
274
+ return hasCommandCapability(command, "openNavigation");
275
+ }
276
+ export function isReadOnlyDiagnosticSessionTargetCommand(command, _subcommand) {
277
+ return hasCommandCapability(command, "readOnlyDiagnosticSessionTarget");
278
+ }
279
+ export function isSessionTabPinningExcludedCommand(command) {
280
+ return hasCommandCapability(command, "excludedFromPinning");
281
+ }
282
+ export function isSessionTabPostCommandCorrectionExcludedCommand(command) {
283
+ return hasCommandCapability(command, "excludedFromPostCommandCorrection");
284
+ }
285
+ export function isRefInvalidatingBatchCommand(command) {
286
+ return hasCommandCapability(command, "invalidatesBatchRefs");
287
+ }
288
+ export function isRefGuardedCommand(command) {
289
+ return hasCommandCapability(command, "guardsPageRefs");
290
+ }
291
+ export function isElectronPostCommandHealthCommand(command) {
292
+ return hasCommandCapability(command, "eligibleForElectronHealthProbe");
293
+ }
294
+ export function isNavigationObservableCommandName(command) {
295
+ return hasCommandCapability(command, "navigationObservable");
296
+ }
297
+ export function isPageMutationCommand(command) {
298
+ return hasCommandCapability(command, "triggersPostMutationSnapshot");
299
+ }
300
+ export function isPageChangeSummaryCommand(command) {
301
+ return hasCommandCapability(command, "eligibleForPageChangeSummary");
302
+ }