@vforsh/argus-core 0.2.0 → 0.4.0

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 (140) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/auth/state.d.ts +13 -0
  3. package/dist/auth/state.d.ts.map +1 -1
  4. package/dist/auth/state.js +31 -0
  5. package/dist/auth/state.js.map +1 -1
  6. package/dist/errorMessage.d.ts +9 -0
  7. package/dist/errorMessage.d.ts.map +1 -0
  8. package/dist/errorMessage.js +17 -0
  9. package/dist/errorMessage.js.map +1 -0
  10. package/dist/http/fetch.d.ts +34 -0
  11. package/dist/http/fetch.d.ts.map +1 -1
  12. package/dist/http/fetch.js +46 -4
  13. package/dist/http/fetch.js.map +1 -1
  14. package/dist/http/watcher.d.ts +34 -0
  15. package/dist/http/watcher.d.ts.map +1 -0
  16. package/dist/http/watcher.js +33 -0
  17. package/dist/http/watcher.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +4 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/protocol/http/auth.d.ts +25 -21
  23. package/dist/protocol/http/auth.d.ts.map +1 -1
  24. package/dist/protocol/http/auth.js +125 -0
  25. package/dist/protocol/http/auth.js.map +1 -1
  26. package/dist/protocol/http/code.d.ts +17 -12
  27. package/dist/protocol/http/code.d.ts.map +1 -1
  28. package/dist/protocol/http/code.js +53 -1
  29. package/dist/protocol/http/code.js.map +1 -1
  30. package/dist/protocol/http/dialog.d.ts +9 -6
  31. package/dist/protocol/http/dialog.d.ts.map +1 -1
  32. package/dist/protocol/http/dialog.js +21 -1
  33. package/dist/protocol/http/dialog.js.map +1 -1
  34. package/dist/protocol/http/dom.d.ts +61 -33
  35. package/dist/protocol/http/dom.d.ts.map +1 -1
  36. package/dist/protocol/http/dom.js +252 -1
  37. package/dist/protocol/http/dom.js.map +1 -1
  38. package/dist/protocol/http/domInteraction.d.ts +9 -9
  39. package/dist/protocol/http/domInteraction.d.ts.map +1 -1
  40. package/dist/protocol/http/domInteraction.js +3 -0
  41. package/dist/protocol/http/domInteraction.js.map +1 -1
  42. package/dist/protocol/http/emulation.d.ts +14 -21
  43. package/dist/protocol/http/emulation.d.ts.map +1 -1
  44. package/dist/protocol/http/emulation.js +99 -1
  45. package/dist/protocol/http/emulation.js.map +1 -1
  46. package/dist/protocol/http/errors.d.ts +51 -4
  47. package/dist/protocol/http/errors.d.ts.map +1 -1
  48. package/dist/protocol/http/errors.js +47 -1
  49. package/dist/protocol/http/errors.js.map +1 -1
  50. package/dist/protocol/http/eval.d.ts +22 -58
  51. package/dist/protocol/http/eval.d.ts.map +1 -1
  52. package/dist/protocol/http/eval.js +24 -1
  53. package/dist/protocol/http/eval.js.map +1 -1
  54. package/dist/protocol/http/extension.d.ts +52 -36
  55. package/dist/protocol/http/extension.d.ts.map +1 -1
  56. package/dist/protocol/http/extension.js +34 -1
  57. package/dist/protocol/http/extension.js.map +1 -1
  58. package/dist/protocol/http/locate.d.ts +9 -3
  59. package/dist/protocol/http/locate.d.ts.map +1 -1
  60. package/dist/protocol/http/locate.js +28 -1
  61. package/dist/protocol/http/locate.js.map +1 -1
  62. package/dist/protocol/http/logs.d.ts +9 -12
  63. package/dist/protocol/http/logs.d.ts.map +1 -1
  64. package/dist/protocol/http/net.d.ts +19 -27
  65. package/dist/protocol/http/net.d.ts.map +1 -1
  66. package/dist/protocol/http/netMock.d.ts +17 -27
  67. package/dist/protocol/http/netMock.d.ts.map +1 -1
  68. package/dist/protocol/http/netMock.js +126 -0
  69. package/dist/protocol/http/netMock.js.map +1 -1
  70. package/dist/protocol/http/query.d.ts +97 -0
  71. package/dist/protocol/http/query.d.ts.map +1 -0
  72. package/dist/protocol/http/query.js +79 -0
  73. package/dist/protocol/http/query.js.map +1 -0
  74. package/dist/protocol/http/record.d.ts +11 -6
  75. package/dist/protocol/http/record.d.ts.map +1 -1
  76. package/dist/protocol/http/record.js +56 -0
  77. package/dist/protocol/http/record.js.map +1 -1
  78. package/dist/protocol/http/screenshot.d.ts +18 -3
  79. package/dist/protocol/http/screenshot.d.ts.map +1 -1
  80. package/dist/protocol/http/screenshot.js +45 -1
  81. package/dist/protocol/http/screenshot.js.map +1 -1
  82. package/dist/protocol/http/snapshot.d.ts +5 -3
  83. package/dist/protocol/http/snapshot.d.ts.map +1 -1
  84. package/dist/protocol/http/snapshot.js +16 -1
  85. package/dist/protocol/http/snapshot.js.map +1 -1
  86. package/dist/protocol/http/status.d.ts +17 -9
  87. package/dist/protocol/http/status.d.ts.map +1 -1
  88. package/dist/protocol/http/status.js +12 -1
  89. package/dist/protocol/http/status.js.map +1 -1
  90. package/dist/protocol/http/storage.d.ts +7 -31
  91. package/dist/protocol/http/storage.d.ts.map +1 -1
  92. package/dist/protocol/http/storage.js +31 -1
  93. package/dist/protocol/http/storage.js.map +1 -1
  94. package/dist/protocol/http/throttle.d.ts +14 -21
  95. package/dist/protocol/http/throttle.d.ts.map +1 -1
  96. package/dist/protocol/http/throttle.js +27 -1
  97. package/dist/protocol/http/throttle.js.map +1 -1
  98. package/dist/protocol/http/trace.d.ts +9 -6
  99. package/dist/protocol/http/trace.d.ts.map +1 -1
  100. package/dist/protocol/http/trace.js +29 -1
  101. package/dist/protocol/http/trace.js.map +1 -1
  102. package/dist/protocol/http/visibility.d.ts +7 -3
  103. package/dist/protocol/http/visibility.d.ts.map +1 -1
  104. package/dist/protocol/http/visibility.js +19 -1
  105. package/dist/protocol/http/visibility.js.map +1 -1
  106. package/dist/protocol/http.d.ts +18 -16
  107. package/dist/protocol/http.d.ts.map +1 -1
  108. package/dist/protocol/http.js +17 -1
  109. package/dist/protocol/http.js.map +1 -1
  110. package/dist/protocol/native-messaging.d.ts +276 -0
  111. package/dist/protocol/native-messaging.d.ts.map +1 -0
  112. package/dist/protocol/native-messaging.js +19 -0
  113. package/dist/protocol/native-messaging.js.map +1 -0
  114. package/dist/protocol/scenario.d.ts +63 -0
  115. package/dist/protocol/scenario.d.ts.map +1 -0
  116. package/dist/protocol/scenario.js +2 -0
  117. package/dist/protocol/scenario.js.map +1 -0
  118. package/dist/protocol/schemaFields.d.ts +76 -0
  119. package/dist/protocol/schemaFields.d.ts.map +1 -0
  120. package/dist/protocol/schemaFields.js +152 -0
  121. package/dist/protocol/schemaFields.js.map +1 -0
  122. package/dist/protocol/version.d.ts +14 -0
  123. package/dist/protocol/version.d.ts.map +1 -1
  124. package/dist/protocol/version.js +21 -0
  125. package/dist/protocol/version.js.map +1 -1
  126. package/dist/registry/lock.d.ts.map +1 -1
  127. package/dist/registry/lock.js +2 -3
  128. package/dist/registry/lock.js.map +1 -1
  129. package/dist/registry/registry.d.ts +14 -0
  130. package/dist/registry/registry.d.ts.map +1 -1
  131. package/dist/registry/registry.js +20 -0
  132. package/dist/registry/registry.js.map +1 -1
  133. package/dist/textPattern.d.ts.map +1 -1
  134. package/dist/textPattern.js +2 -1
  135. package/dist/textPattern.js.map +1 -1
  136. package/dist/time.d.ts +20 -0
  137. package/dist/time.d.ts.map +1 -0
  138. package/dist/time.js +39 -0
  139. package/dist/time.js.map +1 -0
  140. package/package.json +9 -7
@@ -1,3 +1,4 @@
1
+ import type { Ok } from './errors.js';
1
2
  /** Browser dialog types exposed by Chrome DevTools Protocol. */
2
3
  export type DialogType = 'alert' | 'confirm' | 'prompt' | 'beforeunload';
3
4
  /** Snapshot of the currently active JavaScript dialog. */
@@ -10,19 +11,21 @@ export type DialogStatus = {
10
11
  openedAt: number;
11
12
  };
12
13
  /** Response payload for GET /dialog. */
13
- export type DialogStatusResponse = {
14
- ok: true;
14
+ export type DialogStatusResponse = Ok<{
15
15
  dialog: DialogStatus | null;
16
- };
16
+ }>;
17
17
  /** Request payload for POST /dialog. */
18
18
  export type DialogHandleRequest = {
19
19
  action: 'accept' | 'dismiss';
20
20
  promptText?: string;
21
21
  };
22
22
  /** Response payload for POST /dialog. */
23
- export type DialogHandleResponse = {
24
- ok: true;
23
+ export type DialogHandleResponse = Ok<{
25
24
  action: 'accept' | 'dismiss';
26
25
  dialog: DialogStatus;
27
- };
26
+ }>;
27
+ /** Actions accepted by POST /dialog. */
28
+ export declare const DIALOG_ACTIONS: readonly ["accept", "dismiss"];
29
+ /** Schema for POST /dialog request payloads. */
30
+ export declare const dialogHandleRequestSchema: import("../schema.js").ProtocolSchema<DialogHandleRequest>;
28
31
  //# sourceMappingURL=dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/dialog.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAA;AAExE,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,IAAI,CAAA;IACR,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,IAAI,CAAA;IACR,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5B,MAAM,EAAE,YAAY,CAAA;CACpB,CAAA"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/dialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAA;AAExE,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,oBAAoB,GAAG,EAAE,CAAC;IACrC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CAC3B,CAAC,CAAA;AAEF,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,EAAE,CAAC;IACrC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5B,MAAM,EAAE,YAAY,CAAA;CACpB,CAAC,CAAA;AAEF,wCAAwC;AACxC,eAAO,MAAM,cAAc,gCAAiC,CAAA;AAE5D,gDAAgD;AAChD,eAAO,MAAM,yBAAyB,4DAgBpC,CAAA"}
@@ -1,2 +1,22 @@
1
- export {};
1
+ import { defineProtocolSchema, invalidProtocolPayload, validProtocolPayload } from '../schema.js';
2
+ import { compact, optionalEnum, optionalString, readFields, requireObject } from '../schemaFields.js';
3
+ /** Actions accepted by POST /dialog. */
4
+ export const DIALOG_ACTIONS = ['accept', 'dismiss'];
5
+ /** Schema for POST /dialog request payloads. */
6
+ export const dialogHandleRequestSchema = defineProtocolSchema((value) => {
7
+ const invalid = requireObject(value);
8
+ if (invalid)
9
+ return invalid;
10
+ const fields = readFields(value, {
11
+ action: (source, key) => optionalEnum(source, key, DIALOG_ACTIONS),
12
+ promptText: optionalString,
13
+ });
14
+ if (!fields.ok)
15
+ return fields;
16
+ const { action, promptText } = fields.value;
17
+ if (action == null) {
18
+ return invalidProtocolPayload('Dialog action must be "accept" or "dismiss"');
19
+ }
20
+ return validProtocolPayload(compact({ action, promptText }));
21
+ });
2
22
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/protocol/http/dialog.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/protocol/http/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAiCrG,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAU,CAAA;AAE5D,gDAAgD;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAsB,CAAC,KAAK,EAAE,EAAE;IAC5F,MAAM,OAAO,GAAG,aAAa,CAAsB,KAAK,CAAC,CAAA;IACzD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAE3B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAgC,EAAE;QAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC;QAClE,UAAU,EAAE,cAAc;KAC1B,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAA;IAC7B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,CAAA;IAE3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,sBAAsB,CAAC,6CAA6C,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;AAC7D,CAAC,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ import { type ProtocolValidationResult } from '../schema.js';
2
+ import type { Ok } from './errors.js';
1
3
  /** Stable element ref emitted by `snapshot` / `locate` and accepted by ref-aware commands. */
2
4
  export type ElementRef = string;
3
5
  /** Shared element-target shape for commands that can address a node by selector or ref. */
@@ -60,8 +62,7 @@ export type DomTreeRequest = {
60
62
  /**
61
63
  * Response payload for POST /dom/tree.
62
64
  */
63
- export type DomTreeResponse = {
64
- ok: true;
65
+ export type DomTreeResponse = Ok<{
65
66
  /** Number of elements matched by selector. */
66
67
  matches: number;
67
68
  /** Subtree roots (one per match). Empty if no matches. */
@@ -70,7 +71,7 @@ export type DomTreeResponse = {
70
71
  truncated: boolean;
71
72
  /** Reason for truncation if truncated is true. */
72
73
  truncatedReason?: 'max_nodes' | 'depth';
73
- };
74
+ }>;
74
75
  /**
75
76
  * Request payload for POST /dom/info.
76
77
  */
@@ -85,13 +86,12 @@ export type DomInfoRequest = DomElementTarget & {
85
86
  /**
86
87
  * Response payload for POST /dom/info.
87
88
  */
88
- export type DomInfoResponse = {
89
- ok: true;
89
+ export type DomInfoResponse = Ok<{
90
90
  /** Number of elements matched by selector. */
91
91
  matches: number;
92
92
  /** Element info (one per match). Empty if no matches. */
93
93
  elements: DomElementInfo[];
94
- };
94
+ }>;
95
95
  /**
96
96
  * Request payload for POST /dom/keydown.
97
97
  */
@@ -125,8 +125,7 @@ export type DomKeydownEvent = {
125
125
  /**
126
126
  * Response payload for POST /dom/keydown.
127
127
  */
128
- export type DomKeydownResponse = {
129
- ok: true;
128
+ export type DomKeydownResponse = Ok<{
130
129
  /** The key that was dispatched. */
131
130
  key: string;
132
131
  /** The physical KeyboardEvent.code that was dispatched. */
@@ -137,7 +136,7 @@ export type DomKeydownResponse = {
137
136
  focused: boolean;
138
137
  /** Full resolved event shape for debugging exact key/code/modifier dispatch. */
139
138
  event: DomKeydownEvent;
140
- };
139
+ }>;
141
140
  /** Valid positions for insertAdjacentHTML. */
142
141
  export type DomInsertPosition = 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend';
143
142
  /**
@@ -162,13 +161,12 @@ export type DomAddRequest = {
162
161
  /**
163
162
  * Response payload for POST /dom/add.
164
163
  */
165
- export type DomAddResponse = {
166
- ok: true;
164
+ export type DomAddResponse = Ok<{
167
165
  /** Number of elements matched by selector. */
168
166
  matches: number;
169
167
  /** Number of elements where HTML was inserted. */
170
168
  inserted: number;
171
- };
169
+ }>;
172
170
  /**
173
171
  * Request payload for POST /dom/remove.
174
172
  */
@@ -183,13 +181,12 @@ export type DomRemoveRequest = {
183
181
  /**
184
182
  * Response payload for POST /dom/remove.
185
183
  */
186
- export type DomRemoveResponse = {
187
- ok: true;
184
+ export type DomRemoveResponse = Ok<{
188
185
  /** Number of elements matched by selector. */
189
186
  matches: number;
190
187
  /** Number of elements removed. */
191
188
  removed: number;
192
- };
189
+ }>;
193
190
  /**
194
191
  * Request payload for POST /dom/modify.
195
192
  * Discriminated union based on 'type' field.
@@ -224,13 +221,12 @@ export type DomModifyRequest = {
224
221
  /**
225
222
  * Response payload for POST /dom/modify.
226
223
  */
227
- export type DomModifyResponse = {
228
- ok: true;
224
+ export type DomModifyResponse = Ok<{
229
225
  /** Number of elements matched by selector. */
230
226
  matches: number;
231
227
  /** Number of elements modified. */
232
228
  modified: number;
233
- };
229
+ }>;
234
230
  /**
235
231
  * Request payload for POST /dom/set-file.
236
232
  */
@@ -249,13 +245,12 @@ export type DomSetFileRequest = {
249
245
  /**
250
246
  * Response payload for POST /dom/set-file.
251
247
  */
252
- export type DomSetFileResponse = {
253
- ok: true;
248
+ export type DomSetFileResponse = Ok<{
254
249
  /** Number of elements matched by selector. */
255
250
  matches: number;
256
251
  /** Number of file inputs updated. */
257
252
  updated: number;
258
- };
253
+ }>;
259
254
  /**
260
255
  * Request payload for POST /dom/scroll-to.
261
256
  * At least one of selector, to, or by must be provided.
@@ -283,8 +278,7 @@ export type DomScrollToRequest = {
283
278
  /**
284
279
  * Response payload for POST /dom/scroll-to.
285
280
  */
286
- export type DomScrollToResponse = {
287
- ok: true;
281
+ export type DomScrollToResponse = Ok<{
288
282
  /** Number of elements matched by selector (only when selector is used). */
289
283
  matches?: number;
290
284
  /** Number of elements scrolled (only when selector is used). */
@@ -293,7 +287,7 @@ export type DomScrollToResponse = {
293
287
  scrollX: number;
294
288
  /** Final vertical scroll position. */
295
289
  scrollY: number;
296
- };
290
+ }>;
297
291
  /**
298
292
  * Request payload for POST /dom/scroll.
299
293
  * Dispatches mouse wheel input via CDP Input.dispatchMouseEvent (type=mouseWheel).
@@ -320,13 +314,12 @@ export type DomScrollRequest = {
320
314
  /**
321
315
  * Response payload for POST /dom/scroll.
322
316
  */
323
- export type DomScrollResponse = {
324
- ok: true;
317
+ export type DomScrollResponse = Ok<{
325
318
  /** Number of elements matched by selector (only when selector is used). */
326
319
  matches?: number;
327
320
  /** Number of elements scrolled (only when selector is used). */
328
321
  scrolled?: number;
329
- };
322
+ }>;
330
323
  /**
331
324
  * Request payload for POST /dom/fill.
332
325
  */
@@ -343,13 +336,12 @@ export type DomFillRequest = DomElementTarget & {
343
336
  /**
344
337
  * Response payload for POST /dom/fill.
345
338
  */
346
- export type DomFillResponse = {
347
- ok: true;
339
+ export type DomFillResponse = Ok<{
348
340
  /** Number of elements matched by selector. */
349
341
  matches: number;
350
342
  /** Number of elements filled. */
351
343
  filled: number;
352
- };
344
+ }>;
353
345
  /**
354
346
  * Request payload for POST /dom/focus.
355
347
  */
@@ -362,11 +354,47 @@ export type DomFocusRequest = DomElementTarget & {
362
354
  /**
363
355
  * Response payload for POST /dom/focus.
364
356
  */
365
- export type DomFocusResponse = {
366
- ok: true;
357
+ export type DomFocusResponse = Ok<{
367
358
  /** Number of elements matched by selector. */
368
359
  matches: number;
369
360
  /** Number of elements focused. */
370
361
  focused: number;
371
- };
362
+ }>;
363
+ /** Insert positions accepted by POST /dom/add. */
364
+ export declare const DOM_INSERT_POSITIONS: readonly ["beforebegin", "afterbegin", "beforeend", "afterend"];
365
+ /** Modification kinds accepted by POST /dom/modify. */
366
+ export declare const DOM_MODIFY_TYPES: readonly ["attr", "class", "style", "text", "html"];
367
+ /**
368
+ * Validate the selector/ref/all/text/wait body every element-target route shares.
369
+ *
370
+ * `defineDomTargetRoute` resolves the target for hover/focus/fill identically, so the
371
+ * body rules are identical too; routes that add fields layer them on top of this.
372
+ */
373
+ export declare const domTargetPayload: <T extends DomElementTarget & {
374
+ all?: boolean;
375
+ text?: string;
376
+ wait?: number;
377
+ }>(value: unknown) => ProtocolValidationResult<T>;
378
+ /** Schema for POST /dom/info request payloads. */
379
+ export declare const domInfoRequestSchema: import("../schema.js").ProtocolSchema<DomInfoRequest>;
380
+ /** Schema for POST /dom/remove request payloads. */
381
+ export declare const domRemoveRequestSchema: import("../schema.js").ProtocolSchema<DomRemoveRequest>;
382
+ /** Schema for POST /dom/tree request payloads. */
383
+ export declare const domTreeRequestSchema: import("../schema.js").ProtocolSchema<DomTreeRequest>;
384
+ /** Schema for POST /dom/add request payloads. */
385
+ export declare const domAddRequestSchema: import("../schema.js").ProtocolSchema<DomAddRequest>;
386
+ /** Schema for POST /dom/modify request payloads. */
387
+ export declare const domModifyRequestSchema: import("../schema.js").ProtocolSchema<DomModifyRequest>;
388
+ /** Schema for POST /dom/keydown request payloads. */
389
+ export declare const domKeydownRequestSchema: import("../schema.js").ProtocolSchema<DomKeydownRequest>;
390
+ /** Schema for POST /dom/focus request payloads. */
391
+ export declare const domFocusRequestSchema: import("../schema.js").ProtocolSchema<DomFocusRequest>;
392
+ /** Schema for POST /dom/fill request payloads. */
393
+ export declare const domFillRequestSchema: import("../schema.js").ProtocolSchema<DomFillRequest>;
394
+ /** Schema for POST /dom/scroll request payloads. */
395
+ export declare const domScrollRequestSchema: import("../schema.js").ProtocolSchema<DomScrollRequest>;
396
+ /** Schema for POST /dom/scroll-to request payloads. */
397
+ export declare const domScrollToRequestSchema: import("../schema.js").ProtocolSchema<DomScrollToRequest>;
398
+ /** Schema for POST /dom/set-file request payloads. */
399
+ export declare const domSetFileRequestSchema: import("../schema.js").ProtocolSchema<DomSetFileRequest>;
372
400
  //# sourceMappingURL=dom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsE,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAkBhI,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,2FAA2F;AAC3F,MAAM,MAAM,gBAAgB,GAAG;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,UAAU,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG;IACrB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,mGAAmG;IACnG,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAA;IACzB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,0DAA0D;IAC1D,kBAAkB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;IAChC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAA;IAClB,kDAAkD;IAClD,eAAe,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;CACvC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC/C,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;IAChC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC1B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,4FAA4F;IAC5F,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uGAAuG;IACvG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG;IAC7B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC;IACnC,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAA;IAChB,gFAAgF;IAChF,KAAK,EAAE,eAAe,CAAA;CACtB,CAAC,CAAA;AAEF,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAA;AAEvF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;IAC/B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAClC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,CACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACjC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAClC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC;IACnC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,EAAE,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,wEAAwE;IACxE,EAAE,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,EAAE,CAAC;IACpC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kGAAkG;IAClG,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,oEAAoE;IACpE,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,wDAAwD;IACxD,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAClC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC/C,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;IAChC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAChD,4EAA4E;IAC5E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;IACjC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAWF,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,iEAAkE,CAAA;AAEnG,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,qDAAsD,CAAA;AAcnF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,gBAAgB,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5G,OAAO,OAAO,KACZ,wBAAwB,CAAC,CAAC,CAc5B,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,uDAc/B,CAAA;AAEF,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,yDAYjC,CAAA;AAEF,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,uDAc/B,CAAA;AAEF,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,sDAoB9B,CAAA;AAEF,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,yDAwBjC,CAAA;AAEF,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,0DAiBlC,CAAA;AAEF,mDAAmD;AACnD,eAAO,MAAM,qBAAqB,wDAA6F,CAAA;AAE/H,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,uDAU/B,CAAA;AAoBF,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,yDAyBjC,CAAA;AAEF,uDAAuD;AACvD,eAAO,MAAM,wBAAwB,2DAsBnC,CAAA;AAEF,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,0DAkBlC,CAAA"}
@@ -1,2 +1,253 @@
1
- export {};
1
+ import { defineProtocolSchema, invalidProtocolPayload, validProtocolPayload } from '../schema.js';
2
+ import { compact, fieldError, isFieldError, optionalBoolean, optionalEnum, optionalInteger, optionalNonEmptyString, optionalNumber, optionalRecord, optionalString, optionalStringArray, readFields, requireObject, requiredString, } from '../schemaFields.js';
3
+ // ─────────────────────────────────────────────────────────────────────────────
4
+ // Request schemas
5
+ //
6
+ // These own body validation for the DOM routes. The watcher used to re-prove each
7
+ // payload field by field inside the route, which is where "non-empty string" and
8
+ // "non-negative integer" drifted between endpoints; the checks now live beside the
9
+ // types they validate.
10
+ // ─────────────────────────────────────────────────────────────────────────────
11
+ /** Insert positions accepted by POST /dom/add. */
12
+ export const DOM_INSERT_POSITIONS = ['beforebegin', 'afterbegin', 'beforeend', 'afterend'];
13
+ /** Modification kinds accepted by POST /dom/modify. */
14
+ export const DOM_MODIFY_TYPES = ['attr', 'class', 'style', 'text', 'html'];
15
+ /** Readers for the selector/ref/all/text target every DOM route accepts. */
16
+ const domTargetReaders = {
17
+ selector: optionalNonEmptyString,
18
+ ref: optionalNonEmptyString,
19
+ all: optionalBoolean,
20
+ text: optionalString,
21
+ };
22
+ /** Require exactly one of selector/ref, the rule every ref-aware DOM route enforces. */
23
+ const requireExactlyOneTarget = (target) => Boolean(target.selector) === Boolean(target.ref) ? 'Exactly one of selector or ref is required' : null;
24
+ /**
25
+ * Validate the selector/ref/all/text/wait body every element-target route shares.
26
+ *
27
+ * `defineDomTargetRoute` resolves the target for hover/focus/fill identically, so the
28
+ * body rules are identical too; routes that add fields layer them on top of this.
29
+ */
30
+ export const domTargetPayload = (value) => {
31
+ const invalid = requireObject(value);
32
+ if (invalid)
33
+ return invalid;
34
+ const fields = readFields(value, {
35
+ ...domTargetReaders,
36
+ wait: (source, key) => optionalNumber(source, key, { min: 0 }),
37
+ });
38
+ if (!fields.ok)
39
+ return fields;
40
+ const targetError = requireExactlyOneTarget(fields.value);
41
+ if (targetError)
42
+ return invalidProtocolPayload(targetError);
43
+ return validProtocolPayload(compact(fields.value));
44
+ };
45
+ /** Schema for POST /dom/info request payloads. */
46
+ export const domInfoRequestSchema = defineProtocolSchema((value) => {
47
+ const invalid = requireObject(value);
48
+ if (invalid)
49
+ return invalid;
50
+ const fields = readFields(value, {
51
+ ...domTargetReaders,
52
+ outerHtmlMaxChars: (source, key) => optionalInteger(source, key, { min: 0 }),
53
+ });
54
+ if (!fields.ok)
55
+ return fields;
56
+ const targetError = requireExactlyOneTarget(fields.value);
57
+ if (targetError)
58
+ return invalidProtocolPayload(targetError);
59
+ return validProtocolPayload(compact(fields.value));
60
+ });
61
+ /** Schema for POST /dom/remove request payloads. */
62
+ export const domRemoveRequestSchema = defineProtocolSchema((value) => {
63
+ const invalid = requireObject(value);
64
+ if (invalid)
65
+ return invalid;
66
+ const fields = readFields(value, {
67
+ selector: requiredString,
68
+ all: optionalBoolean,
69
+ text: optionalString,
70
+ });
71
+ if (!fields.ok)
72
+ return fields;
73
+ return validProtocolPayload(compact(fields.value));
74
+ });
75
+ /** Schema for POST /dom/tree request payloads. */
76
+ export const domTreeRequestSchema = defineProtocolSchema((value) => {
77
+ const invalid = requireObject(value);
78
+ if (invalid)
79
+ return invalid;
80
+ const fields = readFields(value, {
81
+ selector: requiredString,
82
+ depth: (source, key) => optionalInteger(source, key, { min: 0 }),
83
+ maxNodes: (source, key) => optionalInteger(source, key, { min: 1 }),
84
+ all: optionalBoolean,
85
+ text: optionalString,
86
+ });
87
+ if (!fields.ok)
88
+ return fields;
89
+ return validProtocolPayload(compact(fields.value));
90
+ });
91
+ /** Schema for POST /dom/add request payloads. */
92
+ export const domAddRequestSchema = defineProtocolSchema((value) => {
93
+ const invalid = requireObject(value);
94
+ if (invalid)
95
+ return invalid;
96
+ const fields = readFields(value, {
97
+ selector: requiredString,
98
+ html: requiredString,
99
+ position: (source, key) => optionalEnum(source, key, DOM_INSERT_POSITIONS),
100
+ all: optionalBoolean,
101
+ nth: (source, key) => optionalInteger(source, key, { min: 0 }),
102
+ expect: (source, key) => optionalInteger(source, key, { min: 0 }),
103
+ text: optionalBoolean,
104
+ });
105
+ if (!fields.ok)
106
+ return fields;
107
+ if (fields.value.all === true && fields.value.nth != null) {
108
+ return invalidProtocolPayload('nth cannot be combined with all=true');
109
+ }
110
+ return validProtocolPayload(compact(fields.value));
111
+ });
112
+ /** Schema for POST /dom/modify request payloads. */
113
+ export const domModifyRequestSchema = defineProtocolSchema((value) => {
114
+ const invalid = requireObject(value);
115
+ if (invalid)
116
+ return invalid;
117
+ const source = value;
118
+ const fields = readFields(source, {
119
+ selector: requiredString,
120
+ all: optionalBoolean,
121
+ text: optionalString,
122
+ type: (input, key) => optionalEnum(input, key, DOM_MODIFY_TYPES),
123
+ });
124
+ if (!fields.ok)
125
+ return fields;
126
+ const { type } = fields.value;
127
+ if (type == null) {
128
+ return invalidProtocolPayload(`type must be one of: ${DOM_MODIFY_TYPES.join(', ')}`);
129
+ }
130
+ if ((type === 'text' || type === 'html') && typeof source.value !== 'string') {
131
+ return invalidProtocolPayload('value is required for text/html modifications');
132
+ }
133
+ // The per-type payload (set/remove/add/toggle/value) passes through: it is a
134
+ // discriminated union the page-side function reads, and callers get its type checking.
135
+ return validProtocolPayload(compact({ ...source, ...fields.value }));
136
+ });
137
+ /** Schema for POST /dom/keydown request payloads. */
138
+ export const domKeydownRequestSchema = defineProtocolSchema((value) => {
139
+ const invalid = requireObject(value);
140
+ if (invalid)
141
+ return invalid;
142
+ const fields = readFields(value, {
143
+ key: optionalNonEmptyString,
144
+ code: optionalNonEmptyString,
145
+ selector: optionalNonEmptyString,
146
+ modifiers: optionalString,
147
+ });
148
+ if (!fields.ok)
149
+ return fields;
150
+ if (fields.value.key == null && fields.value.code == null) {
151
+ return invalidProtocolPayload('key or code is required');
152
+ }
153
+ return validProtocolPayload(compact(fields.value));
154
+ });
155
+ /** Schema for POST /dom/focus request payloads. */
156
+ export const domFocusRequestSchema = defineProtocolSchema((value) => domTargetPayload(value));
157
+ /** Schema for POST /dom/fill request payloads. */
158
+ export const domFillRequestSchema = defineProtocolSchema((value) => {
159
+ const base = domTargetPayload(value);
160
+ if (!base.ok)
161
+ return base;
162
+ const fillValue = value.value;
163
+ if (typeof fillValue !== 'string') {
164
+ return invalidProtocolPayload('value is required');
165
+ }
166
+ return validProtocolPayload({ ...base.value, value: fillValue });
167
+ });
168
+ /** Read a required `{ x, y }` point. */
169
+ const requiredPoint = (source, key) => {
170
+ const point = optionalRecord(source, key);
171
+ if (point == null || isFieldError(point)) {
172
+ return fieldError(`${key} is required with { x, y } numbers`);
173
+ }
174
+ if (typeof point.x !== 'number' || typeof point.y !== 'number' || !Number.isFinite(point.x) || !Number.isFinite(point.y)) {
175
+ return fieldError(`${key}.x and ${key}.y must be finite numbers`);
176
+ }
177
+ return { x: point.x, y: point.y };
178
+ };
179
+ /** Read an optional `{ x, y }` point. */
180
+ const optionalPoint = (source, key) => {
181
+ if (source[key] == null)
182
+ return undefined;
183
+ return requiredPoint(source, key);
184
+ };
185
+ /** Schema for POST /dom/scroll request payloads. */
186
+ export const domScrollRequestSchema = defineProtocolSchema((value) => {
187
+ const invalid = requireObject(value);
188
+ if (invalid)
189
+ return invalid;
190
+ const source = value;
191
+ const fields = readFields(source, {
192
+ delta: requiredPoint,
193
+ selector: optionalNonEmptyString,
194
+ x: optionalNumber,
195
+ y: optionalNumber,
196
+ all: optionalBoolean,
197
+ text: optionalString,
198
+ });
199
+ if (!fields.ok)
200
+ return fields;
201
+ const { selector, x, y } = fields.value;
202
+ const hasPosition = source.x != null || source.y != null;
203
+ if (selector && hasPosition) {
204
+ return invalidProtocolPayload('selector and x/y coordinates are mutually exclusive');
205
+ }
206
+ if (hasPosition && (x == null || y == null)) {
207
+ return invalidProtocolPayload('x and y must both be finite numbers');
208
+ }
209
+ return validProtocolPayload(compact(fields.value));
210
+ });
211
+ /** Schema for POST /dom/scroll-to request payloads. */
212
+ export const domScrollToRequestSchema = defineProtocolSchema((value) => {
213
+ const invalid = requireObject(value);
214
+ if (invalid)
215
+ return invalid;
216
+ const fields = readFields(value, {
217
+ selector: optionalNonEmptyString,
218
+ to: optionalPoint,
219
+ by: optionalPoint,
220
+ all: optionalBoolean,
221
+ text: optionalString,
222
+ });
223
+ if (!fields.ok)
224
+ return fields;
225
+ const { selector, to, by } = fields.value;
226
+ if (!selector && to == null && by == null) {
227
+ return invalidProtocolPayload('at least one of selector, to, or by is required');
228
+ }
229
+ if (to != null && by != null) {
230
+ return invalidProtocolPayload('to and by are mutually exclusive');
231
+ }
232
+ return validProtocolPayload(compact(fields.value));
233
+ });
234
+ /** Schema for POST /dom/set-file request payloads. */
235
+ export const domSetFileRequestSchema = defineProtocolSchema((value) => {
236
+ const invalid = requireObject(value);
237
+ if (invalid)
238
+ return invalid;
239
+ const fields = readFields(value, {
240
+ selector: requiredString,
241
+ files: optionalStringArray,
242
+ all: optionalBoolean,
243
+ text: optionalString,
244
+ wait: (source, key) => optionalNumber(source, key, { min: 0 }),
245
+ });
246
+ if (!fields.ok)
247
+ return fields;
248
+ if (!fields.value.files || fields.value.files.length === 0) {
249
+ return invalidProtocolPayload('files array is required and must not be empty');
250
+ }
251
+ return validProtocolPayload(compact({ ...fields.value, files: fields.value.files }));
252
+ });
2
253
  //# sourceMappingURL=dom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/protocol/http/dom.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/protocol/http/dom.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DomElementTarget, ElementRef } from './dom.js';
2
+ import type { Ok } from './errors.js';
2
3
  /** Viewport coordinate or delta used by pointer/mouse interaction commands. */
3
4
  export type DomPoint = {
4
5
  /** CSS pixel x-coordinate or horizontal delta. */
@@ -18,13 +19,12 @@ export type DomHoverRequest = DomElementTarget & {
18
19
  /**
19
20
  * Response payload for POST /dom/hover.
20
21
  */
21
- export type DomHoverResponse = {
22
- ok: true;
22
+ export type DomHoverResponse = Ok<{
23
23
  /** Number of elements matched by selector. */
24
24
  matches: number;
25
25
  /** Number of elements hovered. */
26
26
  hovered: number;
27
- };
27
+ }>;
28
28
  /** Mouse button for pointer-style interaction commands. Default: 'left'. */
29
29
  export type MouseButton = 'left' | 'middle' | 'right';
30
30
  /** Runtime list of mouse buttons accepted by pointer-style interaction commands. */
@@ -55,13 +55,12 @@ export declare const domClickRequestSchema: import("../schema.js").ProtocolSchem
55
55
  /**
56
56
  * Response payload for POST /dom/click.
57
57
  */
58
- export type DomClickResponse = {
59
- ok: true;
58
+ export type DomClickResponse = Ok<{
60
59
  /** Number of elements matched by selector. */
61
60
  matches: number;
62
61
  /** Number of elements clicked. */
63
62
  clicked: number;
64
- };
63
+ }>;
65
64
  /**
66
65
  * Request payload for POST /dom/drag.
67
66
  *
@@ -99,11 +98,12 @@ export declare const domDragRequestSchema: import("../schema.js").ProtocolSchema
99
98
  /**
100
99
  * Response payload for POST /dom/drag.
101
100
  */
102
- export type DomDragResponse = {
103
- ok: true;
101
+ export type DomDragResponse = Ok<{
104
102
  /** Number of elements matched by selector/ref. Zero for coordinate-only drags. */
105
103
  matches: number;
106
104
  /** Number of drag gestures completed. */
107
105
  dragged: number;
108
- };
106
+ }>;
107
+ /** Schema for POST /dom/hover request payloads. */
108
+ export declare const domHoverRequestSchema: import("../schema.js").ProtocolSchema<DomHoverRequest>;
109
109
  //# sourceMappingURL=domInteraction.d.ts.map