@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 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/extension.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,mBAAmB,EAAE,CAAA;CAC3B,CAAA;AAED,+FAA+F;AAC/F,MAAM,MAAM,0BAA0B,GAAG;IACxC,EAAE,EAAE,IAAI,CAAA;IACR,GAAG,EAAE,mBAAmB,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,uEAAuE;AACvE,MAAM,MAAM,4BAA4B,GAAG;IAC1C,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,iEAAiE;AACjE,MAAM,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,4DAA4D;AAC5D,MAAM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvC,OAAO,EAAE,MAAM,CAAA;CACf,CAAA;AAED,2FAA2F;AAC3F,MAAM,MAAM,4BAA4B,GAAG;IAC1C,EAAE,EAAE,IAAI,CAAA;IACR,SAAS,EAAE;QACV,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB,CAAA;IACD,OAAO,EAAE,4BAA4B,CAAA;IACrC,WAAW,EAAE,wBAAwB,EAAE,CAAA;IACvC,YAAY,EAAE,oBAAoB,EAAE,CAAA;CACpC,CAAA"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/extension.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC1H,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;IACtC,IAAI,EAAE,mBAAmB,EAAE,CAAA;CAC3B,CAAC,CAAA;AAEF,+FAA+F;AAC/F,MAAM,MAAM,0BAA0B,GAAG,EAAE,CAAC;IAC3C,GAAG,EAAE,mBAAmB,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yFAAyF;IACzF,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,yCAAyC;AACzC,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC;IACzC,OAAO,EAAE,sBAAsB,EAAE,CAAA;CACjC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,mGAAmG;AACnG,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,2FAA2F;AAC3F,MAAM,MAAM,4BAA4B,GAAG,EAAE,CAAC;IAC7C,SAAS,EAAE;QACV,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB,CAAA;IACD,OAAO,EAAE,4BAA4B,CAAA;IACrC,WAAW,EAAE,wBAAwB,EAAE,CAAA;IACvC,YAAY,EAAE,oBAAoB,EAAE,CAAA;CACpC,CAAC,CAAA;AAUF,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,+DAWvC,CAAA;AAEF,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,+DAWvC,CAAA"}
@@ -1,2 +1,35 @@
1
- export {};
1
+ import { defineProtocolSchema, invalidProtocolPayload, validProtocolPayload } from '../schema.js';
2
+ import { compact, optionalInteger, optionalNonEmptyString, readFields, requireObject } from '../schemaFields.js';
3
+ /** Read the targetId/tabId pair both extension action routes accept. */
4
+ const readExtensionTarget = (value) => readFields(value, {
5
+ targetId: optionalNonEmptyString,
6
+ tabId: (source, key) => optionalInteger(source, key),
7
+ watcherId: optionalNonEmptyString,
8
+ });
9
+ /** Schema for POST /attach request payloads. */
10
+ export const extensionAttachRequestSchema = defineProtocolSchema((value) => {
11
+ const invalid = requireObject(value);
12
+ if (invalid)
13
+ return invalid;
14
+ const fields = readExtensionTarget(value);
15
+ if (!fields.ok)
16
+ return fields;
17
+ if (fields.value.targetId == null && fields.value.tabId == null) {
18
+ return invalidProtocolPayload('targetId is required');
19
+ }
20
+ return validProtocolPayload(compact(fields.value));
21
+ });
22
+ /** Schema for POST /detach request payloads. */
23
+ export const extensionDetachRequestSchema = defineProtocolSchema((value) => {
24
+ const invalid = requireObject(value);
25
+ if (invalid)
26
+ return invalid;
27
+ const fields = readExtensionTarget(value);
28
+ if (!fields.ok)
29
+ return fields;
30
+ if (fields.value.targetId == null && fields.value.tabId == null) {
31
+ return invalidProtocolPayload('targetId is required');
32
+ }
33
+ return validProtocolPayload(compact({ targetId: fields.value.targetId, tabId: fields.value.tabId }));
34
+ });
2
35
  //# sourceMappingURL=extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/protocol/http/extension.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/protocol/http/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAkFhH,wEAAwE;AACxE,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAE,CAC9C,UAAU,CAAC,KAAgC,EAAE;IAC5C,QAAQ,EAAE,sBAAsB;IAChC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC;IACpD,SAAS,EAAE,sBAAsB;CACjC,CAAC,CAAA;AAEH,gDAAgD;AAChD,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAyB,CAAC,KAAK,EAAE,EAAE;IAClG,MAAM,OAAO,GAAG,aAAa,CAAyB,KAAK,CAAC,CAAA;IAC5D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAE3B,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAA;IAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACjE,OAAO,sBAAsB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAyB,CAAC,KAAK,EAAE,EAAE;IAClG,MAAM,OAAO,GAAG,aAAa,CAAyB,KAAK,CAAC,CAAA;IAC5D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAE3B,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAA;IAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACjE,OAAO,sBAAsB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACrG,CAAC,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import type { ElementRef } from './dom.js';
2
+ import type { Ok } from './errors.js';
2
3
  /** Common matching options for semantic element lookup commands. */
3
4
  export type LocateMatchOptions = {
4
5
  /** Allow multiple matches. If false and >1 match, the route returns an ambiguity error. */
@@ -36,11 +37,16 @@ export type LocateLabelRequest = LocateMatchOptions & {
36
37
  label: string;
37
38
  };
38
39
  /** Shared response payload for `/locate/*` routes. */
39
- export type LocateResponse = {
40
- ok: true;
40
+ export type LocateResponse = Ok<{
41
41
  /** Number of matched semantic elements before any `all=false` truncation. */
42
42
  matches: number;
43
43
  /** Element summaries for the resolved matches. */
44
44
  elements: LocatedElement[];
45
- };
45
+ }>;
46
+ /** Schema for POST /locate/role request payloads. */
47
+ export declare const locateRoleRequestSchema: import("../schema.js").ProtocolSchema<LocateRoleRequest>;
48
+ /** Schema for POST /locate/text request payloads. */
49
+ export declare const locateTextRequestSchema: import("../schema.js").ProtocolSchema<LocateTextRequest>;
50
+ /** Schema for POST /locate/label request payloads. */
51
+ export declare const locateLabelRequestSchema: import("../schema.js").ProtocolSchema<LocateLabelRequest>;
46
52
  //# sourceMappingURL=locate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locate.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/locate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG;IAChC,2FAA2F;IAC3F,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG;IAC5B,mEAAmE;IACnE,GAAG,EAAE,UAAU,CAAA;IACf,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACpD,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACpD,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACrD,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;CACb,CAAA;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,IAAI,CAAA;IACR,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC1B,CAAA"}
1
+ {"version":3,"file":"locate.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/locate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG;IAChC,2FAA2F;IAC3F,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG;IAC5B,mEAAmE;IACnE,GAAG,EAAE,UAAU,CAAA;IACf,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACpD,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACpD,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACrD,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;CACb,CAAA;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;IAC/B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC1B,CAAC,CAAA;AAwBF,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,0DAAgD,CAAA;AAEpF,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,0DAAgD,CAAA;AAEpF,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,2DAAkD,CAAA"}
@@ -1,2 +1,29 @@
1
- export {};
1
+ import { defineProtocolSchema, validProtocolPayload } from '../schema.js';
2
+ import { compact, optionalBoolean, optionalString, readFields, requireObject, requiredString } from '../schemaFields.js';
3
+ /**
4
+ * Build the schema for one `/locate/*` route.
5
+ *
6
+ * The three routes differ only in which field is required, so they share one builder
7
+ * rather than three near-identical validate closures.
8
+ */
9
+ const defineLocateSchema = (requiredField) => defineProtocolSchema((value) => {
10
+ const invalid = requireObject(value);
11
+ if (invalid)
12
+ return invalid;
13
+ const fields = readFields(value, {
14
+ [requiredField]: requiredString,
15
+ name: optionalString,
16
+ all: optionalBoolean,
17
+ exact: optionalBoolean,
18
+ });
19
+ if (!fields.ok)
20
+ return fields;
21
+ return validProtocolPayload(compact(fields.value));
22
+ });
23
+ /** Schema for POST /locate/role request payloads. */
24
+ export const locateRoleRequestSchema = defineLocateSchema('role');
25
+ /** Schema for POST /locate/text request payloads. */
26
+ export const locateTextRequestSchema = defineLocateSchema('text');
27
+ /** Schema for POST /locate/label request payloads. */
28
+ export const locateLabelRequestSchema = defineLocateSchema('label');
2
29
  //# sourceMappingURL=locate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../../src/protocol/http/locate.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../../src/protocol/http/locate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAsDxH;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAA+B,aAAwC,EAAE,EAAE,CACrG,oBAAoB,CAAI,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,aAAa,CAAI,KAAK,CAAC,CAAA;IACvC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAE3B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAgC,EAAE;QAC3D,CAAC,aAAa,CAAC,EAAE,cAAc;QAC/B,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,eAAe;KACtB,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAA;IAE7B,OAAO,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAM,CAAC,CAAA;AACxD,CAAC,CAAC,CAAA;AAEH,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAoB,MAAM,CAAC,CAAA;AAEpF,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAoB,MAAM,CAAC,CAAA;AAEpF,sDAAsD;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAqB,OAAO,CAAC,CAAA"}
@@ -1,28 +1,25 @@
1
1
  import type { LogEpoch, LogEvent } from '../logs.js';
2
+ import type { Ok } from './errors.js';
2
3
  /** Response payload for GET /logs. */
3
- export type LogsResponse = {
4
- ok: true;
4
+ export type LogsResponse = Ok<{
5
5
  events: LogEvent[];
6
6
  /** Opaque position after the last returned event, or the requested epoch when empty. */
7
7
  nextCursor: LogEpoch;
8
- };
8
+ }>;
9
9
  /** Response payload for GET /logs/cursor. */
10
- export type LogCursorResponse = {
11
- ok: true;
10
+ export type LogCursorResponse = Ok<{
12
11
  /** Opaque position in the current watcher session. */
13
12
  cursor: LogEpoch;
14
- };
13
+ }>;
15
14
  /** Response payload for GET /logs/epoch. */
16
- export type LogEpochResponse = {
17
- ok: true;
15
+ export type LogEpochResponse = Ok<{
18
16
  epoch: LogEpoch;
19
- };
17
+ }>;
20
18
  /** Response payload for GET /tail. */
21
- export type TailResponse = {
22
- ok: true;
19
+ export type TailResponse = Ok<{
23
20
  events: LogEvent[];
24
21
  /** Opaque position after the last returned event, or the requested epoch when empty. */
25
22
  nextCursor: LogEpoch;
26
23
  timedOut: boolean;
27
- };
24
+ }>;
28
25
  //# sourceMappingURL=logs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEpD,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,IAAI,CAAA;IACR,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,wFAAwF;IACxF,UAAU,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,IAAI,CAAA;IACR,sDAAsD;IACtD,MAAM,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,4CAA4C;AAC5C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,IAAI,CAAA;IACR,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,wFAAwF;IACxF,UAAU,EAAE,QAAQ,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;CACjB,CAAA"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,wFAAwF;IACxF,UAAU,EAAE,QAAQ,CAAA;CACpB,CAAC,CAAA;AAEF,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAClC,sDAAsD;IACtD,MAAM,EAAE,QAAQ,CAAA;CAChB,CAAC,CAAA;AAEF,4CAA4C;AAC5C,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;IACjC,KAAK,EAAE,QAAQ,CAAA;CACf,CAAC,CAAA;AAEF,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,wFAAwF;IACxF,UAAU,EAAE,QAAQ,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { Ok } from './errors.js';
1
2
  /** Network request summary captured from CDP. */
2
3
  export type NetworkRequestSummary = {
3
4
  id: number;
@@ -76,47 +77,41 @@ export type NetworkRequestDetail = NetworkRequestSummary & {
76
77
  body: NetworkBodyAvailability;
77
78
  };
78
79
  /** Response payload for GET /net. */
79
- export type NetResponse = {
80
- ok: true;
80
+ export type NetResponse = Ok<{
81
81
  requests: NetworkRequestSummary[];
82
82
  nextAfter: number;
83
- };
83
+ }>;
84
84
  /** Response payload for GET /net/requests. */
85
- export type NetRequestsResponse = {
86
- ok: true;
85
+ export type NetRequestsResponse = Ok<{
87
86
  requests: NetworkRequestDetail[];
88
87
  nextAfter: number;
89
- };
88
+ }>;
90
89
  /** Response payload for GET /net/tail. */
91
- export type NetTailResponse = {
92
- ok: true;
90
+ export type NetTailResponse = Ok<{
93
91
  requests: NetworkRequestSummary[];
94
92
  nextAfter: number;
95
93
  timedOut: boolean;
96
- };
94
+ }>;
97
95
  /** Response payload for POST /net/clear. */
98
- export type NetClearResponse = {
99
- ok: true;
96
+ export type NetClearResponse = Ok<{
100
97
  /** Number of buffered requests removed. */
101
98
  cleared: number;
102
- };
99
+ }>;
103
100
  /** Response payload for GET /net/request. */
104
- export type NetRequestResponse = {
105
- ok: true;
101
+ export type NetRequestResponse = Ok<{
106
102
  request: NetworkRequestDetail;
107
- };
103
+ }>;
108
104
  /** Which body payload to fetch for a buffered request. */
109
105
  export type NetRequestBodyPart = 'request' | 'response';
110
106
  /** Response payload for GET /net/request/body. */
111
- export type NetRequestBodyResponse = {
112
- ok: true;
107
+ export type NetRequestBodyResponse = Ok<{
113
108
  id: number;
114
109
  requestId: string;
115
110
  part: NetRequestBodyPart;
116
111
  mimeType: string | null;
117
112
  body: string;
118
113
  base64Encoded: boolean;
119
- };
114
+ }>;
120
115
  /** Direction for a captured WebSocket frame preview. */
121
116
  export type NetWebSocketFrameDirection = 'sent' | 'received';
122
117
  /** Bounded preview of a WebSocket frame payload. */
@@ -183,20 +178,17 @@ export type NetSseSummary = {
183
178
  errorText: string | null;
184
179
  };
185
180
  /** Response payload for GET /net/ws. */
186
- export type NetWebSocketsResponse = {
187
- ok: true;
181
+ export type NetWebSocketsResponse = Ok<{
188
182
  connections: NetWebSocketSummary[];
189
183
  nextAfter: number;
190
- };
184
+ }>;
191
185
  /** Response payload for GET /net/ws/connection. */
192
- export type NetWebSocketResponse = {
193
- ok: true;
186
+ export type NetWebSocketResponse = Ok<{
194
187
  connection: NetWebSocketDetail;
195
- };
188
+ }>;
196
189
  /** Response payload for GET /net/sse. */
197
- export type NetSseResponse = {
198
- ok: true;
190
+ export type NetSseResponse = Ok<{
199
191
  streams: NetSseSummary[];
200
192
  nextAfter: number;
201
- };
193
+ }>;
202
194
  //# sourceMappingURL=net.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/net.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/net.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,7 @@
7
7
  * continue with rewrites. Rules persist in the watcher until removed and are
8
8
  * re-armed when the watcher reattaches.
9
9
  */
10
- /**
11
- * Match criteria for a mock rule.
12
- *
13
- * `url` is matched against the full request URL, case-insensitively.
14
- * `*` matches any run of characters; a pattern without `*` is treated as a
15
- * substring match (equivalent to `*pattern*`).
16
- */
10
+ import type { ErrorDetail, Ok } from './errors.js';
17
11
  export type NetMockMatch = {
18
12
  /** URL wildcard pattern (substring match when it contains no `*`). */
19
13
  url: string;
@@ -85,8 +79,7 @@ export type NetMockAddRequest = {
85
79
  times?: number;
86
80
  };
87
81
  /** POST /net/mock/add response. */
88
- export type NetMockAddResponse = {
89
- ok: true;
82
+ export type NetMockAddResponse = Ok<{
90
83
  /** Whether the watcher is currently attached to a CDP target. */
91
84
  attached: boolean;
92
85
  /** Whether Fetch interception is active on the attached target. False when detached (rule is queued). */
@@ -94,35 +87,29 @@ export type NetMockAddResponse = {
94
87
  /** The installed rule. */
95
88
  rule: NetMockRule;
96
89
  /** Optional error details when interception could not be enabled. */
97
- error?: {
98
- message: string;
99
- code?: string;
100
- } | null;
101
- };
90
+ error?: ErrorDetail | null;
91
+ }>;
102
92
  /** POST /net/mock/remove request payload. */
103
93
  export type NetMockRemoveRequest = {
104
94
  /** Rule id to remove. */
105
95
  id: number;
106
96
  };
107
97
  /** POST /net/mock/remove response. */
108
- export type NetMockRemoveResponse = {
109
- ok: true;
98
+ export type NetMockRemoveResponse = Ok<{
110
99
  /** True when a rule with the given id existed and was removed. */
111
100
  removed: boolean;
112
101
  /** Whether Fetch interception remains active after the removal. */
113
102
  enabled: boolean;
114
- };
103
+ }>;
115
104
  /** POST /net/mock/clear response. */
116
- export type NetMockClearResponse = {
117
- ok: true;
105
+ export type NetMockClearResponse = Ok<{
118
106
  /** Number of rules removed. */
119
107
  removed: number;
120
108
  /** Whether Fetch interception remains active (always false after clear unless disable failed). */
121
109
  enabled: boolean;
122
- };
110
+ }>;
123
111
  /** GET /net/mock response. */
124
- export type NetMockStatusResponse = {
125
- ok: true;
112
+ export type NetMockStatusResponse = Ok<{
126
113
  /** Whether the watcher is currently attached to a CDP target. */
127
114
  attached: boolean;
128
115
  /** Whether Fetch interception is active on the attached target. */
@@ -130,9 +117,12 @@ export type NetMockStatusResponse = {
130
117
  /** Installed rules in match order (first match wins). */
131
118
  rules: NetMockRule[];
132
119
  /** Last interception error (enable/disable or action failure), if any. */
133
- lastError?: {
134
- message: string;
135
- code?: string;
136
- } | null;
137
- };
120
+ lastError?: ErrorDetail | null;
121
+ }>;
122
+ /** Scopes accepted by POST /net/mock/add. */
123
+ export declare const NET_MOCK_SCOPES: readonly ["page", "selected"];
124
+ /** Schema for POST /net/mock/add request payloads. */
125
+ export declare const netMockAddRequestSchema: import("../schema.js").ProtocolSchema<NetMockAddRequest>;
126
+ /** Schema for POST /net/mock/remove request payloads. */
127
+ export declare const netMockRemoveRequestSchema: import("../schema.js").ProtocolSchema<NetMockRemoveRequest>;
138
128
  //# sourceMappingURL=netMock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"netMock.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/netMock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"netMock.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/netMock.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@
7
7
  * continue with rewrites. Rules persist in the watcher until removed and are
8
8
  * re-armed when the watcher reattaches.
9
9
  */
10
+ /**
11
+ * Match criteria for a mock rule.
12
+ *
13
+ * `url` is matched against the full request URL, case-insensitively.
14
+ * `*` matches any run of characters; a pattern without `*` is treated as a
15
+ * substring match (equivalent to `*pattern*`).
16
+ */
17
+ import { defineProtocolSchema, invalidProtocolPayload, isProtocolObject, validProtocolPayload } from '../schema.js';
18
+ import { compact, fieldError, isFieldError, optionalArray, optionalEnum, optionalInteger, optionalNonEmptyString, optionalNumber, optionalString, readFields, requireObject, requiredString, } from '../schemaFields.js';
10
19
  /** CDP network error reasons accepted by `fail` actions. */
11
20
  export const NET_MOCK_FAIL_REASONS = [
12
21
  'Failed',
@@ -24,4 +33,121 @@ export const NET_MOCK_FAIL_REASONS = [
24
33
  'BlockedByClient',
25
34
  'BlockedByResponse',
26
35
  ];
36
+ // ─────────────────────────────────────────────────────────────────────────────
37
+ // Request schemas
38
+ // ─────────────────────────────────────────────────────────────────────────────
39
+ /** Scopes accepted by POST /net/mock/add. */
40
+ export const NET_MOCK_SCOPES = ['page', 'selected'];
41
+ /** Read an optional list of `{ name, value }` header entries. */
42
+ const optionalHeaders = (source, key) => {
43
+ const headers = optionalArray(source, key);
44
+ if (headers == null || isFieldError(headers)) {
45
+ return headers === undefined ? undefined : fieldError(`${key} must be an array of { name, value } entries`);
46
+ }
47
+ const parsed = [];
48
+ for (const header of headers) {
49
+ if (!isProtocolObject(header) || typeof header.name !== 'string' || header.name.trim() === '' || typeof header.value !== 'string') {
50
+ return fieldError(`${key} entries must have a non-empty string name and a string value`);
51
+ }
52
+ parsed.push({ name: header.name, value: header.value });
53
+ }
54
+ return parsed;
55
+ };
56
+ /** Validate the `match` half of an add request. */
57
+ const parseNetMockMatch = (value) => {
58
+ if (!isProtocolObject(value)) {
59
+ return fieldError('match must be an object');
60
+ }
61
+ const fields = readFields(value, {
62
+ url: requiredString,
63
+ method: optionalNonEmptyString,
64
+ resourceType: optionalNonEmptyString,
65
+ });
66
+ if (!fields.ok) {
67
+ return fieldError(`match.${fields.issues[0]?.message ?? 'url must be a non-empty string'}`);
68
+ }
69
+ return compact(fields.value);
70
+ };
71
+ /**
72
+ * Validate the `action` half of an add request.
73
+ *
74
+ * `delayMs` participates because a bare `continue` with no header rewrite, host rewrite,
75
+ * or delay would install a rule that does nothing.
76
+ */
77
+ const parseNetMockAction = (value, delayMs) => {
78
+ if (!isProtocolObject(value) || typeof value.kind !== 'string') {
79
+ return fieldError('action.kind must be one of: block, fail, fulfill, continue');
80
+ }
81
+ if (value.kind === 'block') {
82
+ return { kind: 'block' };
83
+ }
84
+ if (value.kind === 'fail') {
85
+ const reason = optionalEnum(value, 'reason', NET_MOCK_FAIL_REASONS);
86
+ if (isFieldError(reason) || reason == null) {
87
+ return fieldError(`action.reason must be one of: ${NET_MOCK_FAIL_REASONS.join(', ')}`);
88
+ }
89
+ return { kind: 'fail', reason };
90
+ }
91
+ if (value.kind === 'fulfill') {
92
+ const status = optionalInteger(value, 'status', { min: 100, max: 599 });
93
+ if (isFieldError(status) || status == null) {
94
+ return fieldError('action.status must be an integer between 100 and 599');
95
+ }
96
+ const headers = optionalHeaders(value, 'headers');
97
+ if (isFieldError(headers))
98
+ return fieldError(headers.__fieldError.replace(/^headers/, 'action.headers'));
99
+ const bodyBase64 = optionalString(value, 'bodyBase64');
100
+ if (isFieldError(bodyBase64))
101
+ return fieldError('action.bodyBase64 must be a string');
102
+ return compact({ kind: 'fulfill', status, headers, bodyBase64 });
103
+ }
104
+ if (value.kind === 'continue') {
105
+ const setHeaders = optionalHeaders(value, 'setHeaders');
106
+ if (isFieldError(setHeaders))
107
+ return fieldError(setHeaders.__fieldError.replace(/^setHeaders/, 'action.setHeaders'));
108
+ const rewriteHost = optionalNonEmptyString(value, 'rewriteHost');
109
+ if (isFieldError(rewriteHost))
110
+ return fieldError('action.rewriteHost must be a non-empty string');
111
+ if (value.rewriteHost !== undefined && rewriteHost == null) {
112
+ return fieldError('action.rewriteHost must be a non-empty string');
113
+ }
114
+ if (!setHeaders?.length && rewriteHost == null && delayMs === undefined) {
115
+ return fieldError('continue action requires at least one of: setHeaders, rewriteHost, delayMs');
116
+ }
117
+ return compact({ kind: 'continue', setHeaders, rewriteHost });
118
+ }
119
+ return fieldError('action.kind must be one of: block, fail, fulfill, continue');
120
+ };
121
+ /** Schema for POST /net/mock/add request payloads. */
122
+ export const netMockAddRequestSchema = defineProtocolSchema((value) => {
123
+ const invalid = requireObject(value);
124
+ if (invalid)
125
+ return invalid;
126
+ const source = value;
127
+ const fields = readFields(source, {
128
+ delayMs: (input, key) => optionalNumber(input, key, { min: 0 }),
129
+ times: (input, key) => optionalInteger(input, key, { min: 1 }),
130
+ scope: (input, key) => optionalEnum(input, key, NET_MOCK_SCOPES),
131
+ });
132
+ if (!fields.ok)
133
+ return fields;
134
+ const match = parseNetMockMatch(source.match);
135
+ if (isFieldError(match))
136
+ return invalidProtocolPayload(match.__fieldError);
137
+ const action = parseNetMockAction(source.action, fields.value.delayMs);
138
+ if (isFieldError(action))
139
+ return invalidProtocolPayload(action.__fieldError);
140
+ return validProtocolPayload(compact({ ...fields.value, match, action }));
141
+ });
142
+ /** Schema for POST /net/mock/remove request payloads. */
143
+ export const netMockRemoveRequestSchema = defineProtocolSchema((value) => {
144
+ const invalid = requireObject(value);
145
+ if (invalid)
146
+ return invalid;
147
+ const id = optionalInteger(value, 'id', { min: 1 });
148
+ if (isFieldError(id) || id == null) {
149
+ return invalidProtocolPayload('id must be an integer >= 1');
150
+ }
151
+ return validProtocolPayload({ id });
152
+ });
27
153
  //# sourceMappingURL=netMock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"netMock.js","sourceRoot":"","sources":["../../../src/protocol/http/netMock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2BH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,QAAQ;IACR,SAAS;IACT,UAAU;IACV,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;CACV,CAAA"}
1
+ {"version":3,"file":"netMock.js","sourceRoot":"","sources":["../../../src/protocol/http/netMock.ts"],"names":[],"mappings":"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"}