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
@@ -1,336 +0,0 @@
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
-
8
- type CommandCapabilityFlag =
9
- | "closesSession"
10
- | "openNavigation"
11
- | "readOnlyDiagnosticSessionTarget"
12
- | "excludedFromPinning"
13
- | "excludedFromPostCommandCorrection"
14
- | "guardsPageRefs"
15
- | "invalidatesBatchRefs"
16
- | "eligibleForElectronHealthProbe"
17
- | "navigationObservable"
18
- | "triggersPostMutationSnapshot"
19
- | "eligibleForPageChangeSummary";
20
-
21
- interface CommandCapabilityEntry extends Partial<Record<CommandCapabilityFlag, true>> {
22
- aliases?: readonly string[];
23
- command: string;
24
- }
25
-
26
- const COMMAND_CAPABILITIES: readonly CommandCapabilityEntry[] = [
27
- {
28
- command: "back",
29
- eligibleForElectronHealthProbe: true,
30
- eligibleForPageChangeSummary: true,
31
- invalidatesBatchRefs: true,
32
- navigationObservable: true,
33
- triggersPostMutationSnapshot: true,
34
- },
35
- {
36
- command: "batch",
37
- excludedFromPostCommandCorrection: true,
38
- },
39
- {
40
- command: "check",
41
- eligibleForElectronHealthProbe: true,
42
- eligibleForPageChangeSummary: true,
43
- guardsPageRefs: true,
44
- invalidatesBatchRefs: true,
45
- triggersPostMutationSnapshot: true,
46
- },
47
- {
48
- command: "click",
49
- eligibleForElectronHealthProbe: true,
50
- eligibleForPageChangeSummary: true,
51
- guardsPageRefs: true,
52
- invalidatesBatchRefs: true,
53
- navigationObservable: true,
54
- triggersPostMutationSnapshot: true,
55
- },
56
- {
57
- aliases: ["quit", "exit"],
58
- closesSession: true,
59
- command: "close",
60
- excludedFromPinning: true,
61
- excludedFromPostCommandCorrection: true,
62
- },
63
- {
64
- command: "console",
65
- readOnlyDiagnosticSessionTarget: true,
66
- },
67
- {
68
- command: "cookies",
69
- readOnlyDiagnosticSessionTarget: true,
70
- },
71
- {
72
- command: "dblclick",
73
- eligibleForElectronHealthProbe: true,
74
- eligibleForPageChangeSummary: true,
75
- guardsPageRefs: true,
76
- invalidatesBatchRefs: true,
77
- navigationObservable: true,
78
- triggersPostMutationSnapshot: true,
79
- },
80
- {
81
- command: "dialog",
82
- eligibleForPageChangeSummary: true,
83
- invalidatesBatchRefs: true,
84
- triggersPostMutationSnapshot: true,
85
- },
86
- {
87
- command: "download",
88
- eligibleForPageChangeSummary: true,
89
- guardsPageRefs: true,
90
- },
91
- {
92
- command: "drag",
93
- guardsPageRefs: true,
94
- invalidatesBatchRefs: true,
95
- },
96
- {
97
- command: "errors",
98
- readOnlyDiagnosticSessionTarget: true,
99
- },
100
- {
101
- command: "fill",
102
- eligibleForElectronHealthProbe: true,
103
- eligibleForPageChangeSummary: true,
104
- guardsPageRefs: true,
105
- triggersPostMutationSnapshot: true,
106
- },
107
- {
108
- command: "find",
109
- eligibleForElectronHealthProbe: true,
110
- },
111
- {
112
- command: "focus",
113
- guardsPageRefs: true,
114
- },
115
- {
116
- command: "forward",
117
- eligibleForElectronHealthProbe: true,
118
- eligibleForPageChangeSummary: true,
119
- invalidatesBatchRefs: true,
120
- navigationObservable: true,
121
- triggersPostMutationSnapshot: true,
122
- },
123
- {
124
- command: "hover",
125
- eligibleForPageChangeSummary: true,
126
- guardsPageRefs: true,
127
- invalidatesBatchRefs: true,
128
- triggersPostMutationSnapshot: true,
129
- },
130
- {
131
- command: "keydown",
132
- eligibleForElectronHealthProbe: true,
133
- eligibleForPageChangeSummary: true,
134
- invalidatesBatchRefs: true,
135
- triggersPostMutationSnapshot: true,
136
- },
137
- {
138
- command: "keyboard",
139
- eligibleForElectronHealthProbe: true,
140
- eligibleForPageChangeSummary: true,
141
- guardsPageRefs: true,
142
- invalidatesBatchRefs: true,
143
- triggersPostMutationSnapshot: true,
144
- },
145
- {
146
- command: "keyup",
147
- eligibleForElectronHealthProbe: true,
148
- eligibleForPageChangeSummary: true,
149
- invalidatesBatchRefs: true,
150
- triggersPostMutationSnapshot: true,
151
- },
152
- {
153
- command: "mouse",
154
- eligibleForElectronHealthProbe: true,
155
- guardsPageRefs: true,
156
- invalidatesBatchRefs: true,
157
- },
158
- {
159
- command: "network",
160
- readOnlyDiagnosticSessionTarget: true,
161
- },
162
- {
163
- aliases: ["goto", "navigate"],
164
- command: "open",
165
- eligibleForPageChangeSummary: true,
166
- excludedFromPinning: true,
167
- invalidatesBatchRefs: true,
168
- openNavigation: true,
169
- },
170
- {
171
- command: "pdf",
172
- eligibleForPageChangeSummary: true,
173
- },
174
- {
175
- aliases: ["key"],
176
- command: "press",
177
- eligibleForElectronHealthProbe: true,
178
- eligibleForPageChangeSummary: true,
179
- guardsPageRefs: true,
180
- invalidatesBatchRefs: true,
181
- triggersPostMutationSnapshot: true,
182
- },
183
- {
184
- command: "pushstate",
185
- eligibleForPageChangeSummary: true,
186
- invalidatesBatchRefs: true,
187
- triggersPostMutationSnapshot: true,
188
- },
189
- {
190
- command: "reload",
191
- eligibleForElectronHealthProbe: true,
192
- eligibleForPageChangeSummary: true,
193
- invalidatesBatchRefs: true,
194
- navigationObservable: true,
195
- triggersPostMutationSnapshot: true,
196
- },
197
- {
198
- command: "screenshot",
199
- eligibleForPageChangeSummary: true,
200
- },
201
- {
202
- command: "scroll",
203
- eligibleForPageChangeSummary: true,
204
- invalidatesBatchRefs: true,
205
- triggersPostMutationSnapshot: true,
206
- },
207
- {
208
- aliases: ["scrollinto"],
209
- command: "scrollintoview",
210
- eligibleForPageChangeSummary: true,
211
- guardsPageRefs: true,
212
- invalidatesBatchRefs: true,
213
- triggersPostMutationSnapshot: true,
214
- },
215
- {
216
- command: "select",
217
- eligibleForElectronHealthProbe: true,
218
- eligibleForPageChangeSummary: true,
219
- guardsPageRefs: true,
220
- invalidatesBatchRefs: true,
221
- triggersPostMutationSnapshot: true,
222
- },
223
- {
224
- command: "session",
225
- excludedFromPinning: true,
226
- excludedFromPostCommandCorrection: true,
227
- },
228
- {
229
- command: "storage",
230
- readOnlyDiagnosticSessionTarget: true,
231
- },
232
- {
233
- command: "swipe",
234
- eligibleForPageChangeSummary: true,
235
- invalidatesBatchRefs: true,
236
- triggersPostMutationSnapshot: true,
237
- },
238
- {
239
- command: "tab",
240
- excludedFromPinning: true,
241
- excludedFromPostCommandCorrection: true,
242
- },
243
- {
244
- command: "tap",
245
- eligibleForElectronHealthProbe: true,
246
- eligibleForPageChangeSummary: true,
247
- guardsPageRefs: true,
248
- invalidatesBatchRefs: true,
249
- triggersPostMutationSnapshot: true,
250
- },
251
- {
252
- command: "type",
253
- eligibleForElectronHealthProbe: true,
254
- eligibleForPageChangeSummary: true,
255
- guardsPageRefs: true,
256
- invalidatesBatchRefs: true,
257
- triggersPostMutationSnapshot: true,
258
- },
259
- {
260
- command: "uncheck",
261
- eligibleForElectronHealthProbe: true,
262
- eligibleForPageChangeSummary: true,
263
- guardsPageRefs: true,
264
- invalidatesBatchRefs: true,
265
- triggersPostMutationSnapshot: true,
266
- },
267
- {
268
- command: "upload",
269
- guardsPageRefs: true,
270
- invalidatesBatchRefs: true,
271
- },
272
- ];
273
-
274
- const COMMAND_CAPABILITY_BY_NAME = new Map<string, CommandCapabilityEntry>();
275
- for (const entry of COMMAND_CAPABILITIES) {
276
- COMMAND_CAPABILITY_BY_NAME.set(entry.command, entry);
277
- for (const alias of entry.aliases ?? []) {
278
- COMMAND_CAPABILITY_BY_NAME.set(alias, entry);
279
- }
280
- }
281
-
282
- function getCommandCapability(command: string | undefined): CommandCapabilityEntry | undefined {
283
- return command === undefined ? undefined : COMMAND_CAPABILITY_BY_NAME.get(command);
284
- }
285
-
286
- function hasCommandCapability(command: string | undefined, capability: CommandCapabilityFlag): boolean {
287
- return getCommandCapability(command)?.[capability] === true;
288
- }
289
-
290
- export function normalizeCommandName(command: string | undefined): string | undefined {
291
- return getCommandCapability(command)?.command ?? command;
292
- }
293
-
294
- export function isCloseCommand(command: string | undefined): boolean {
295
- return hasCommandCapability(command, "closesSession");
296
- }
297
-
298
- export function isOpenNavigationCommand(command: string | undefined): boolean {
299
- return hasCommandCapability(command, "openNavigation");
300
- }
301
-
302
- export function isReadOnlyDiagnosticSessionTargetCommand(command: string | undefined, _subcommand?: string): boolean {
303
- return hasCommandCapability(command, "readOnlyDiagnosticSessionTarget");
304
- }
305
-
306
- export function isSessionTabPinningExcludedCommand(command: string | undefined): boolean {
307
- return hasCommandCapability(command, "excludedFromPinning");
308
- }
309
-
310
- export function isSessionTabPostCommandCorrectionExcludedCommand(command: string | undefined): boolean {
311
- return hasCommandCapability(command, "excludedFromPostCommandCorrection");
312
- }
313
-
314
- export function isRefInvalidatingBatchCommand(command: string | undefined): boolean {
315
- return hasCommandCapability(command, "invalidatesBatchRefs");
316
- }
317
-
318
- export function isRefGuardedCommand(command: string | undefined): boolean {
319
- return hasCommandCapability(command, "guardsPageRefs");
320
- }
321
-
322
- export function isElectronPostCommandHealthCommand(command: string | undefined): boolean {
323
- return hasCommandCapability(command, "eligibleForElectronHealthProbe");
324
- }
325
-
326
- export function isNavigationObservableCommandName(command: string | undefined): boolean {
327
- return hasCommandCapability(command, "navigationObservable");
328
- }
329
-
330
- export function isPageMutationCommand(command: string | undefined): boolean {
331
- return hasCommandCapability(command, "triggersPostMutationSnapshot");
332
- }
333
-
334
- export function isPageChangeSummaryCommand(command: string | undefined): boolean {
335
- return hasCommandCapability(command, "eligibleForPageChangeSummary");
336
- }