doc-detective 4.35.0 → 4.36.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 (66) hide show
  1. package/dist/common/src/schemas/schemas.json +337 -337
  2. package/dist/common/src/types/generated/closeSurface_v3.d.ts +2 -2
  3. package/dist/common/src/types/generated/screenshot_v3.d.ts +1 -1
  4. package/dist/common/src/types/generated/step_v3.d.ts +6 -6
  5. package/dist/common/src/types/generated/surface_v3.d.ts +1 -1
  6. package/dist/common/src/types/generated/swipe_v3.d.ts +2 -2
  7. package/dist/common/src/types/generated/test_v3.d.ts +12 -12
  8. package/dist/common/src/types/generated/type_v3.d.ts +1 -1
  9. package/dist/core/tests/activeSurface.d.ts +46 -0
  10. package/dist/core/tests/activeSurface.d.ts.map +1 -0
  11. package/dist/core/tests/activeSurface.js +141 -0
  12. package/dist/core/tests/activeSurface.js.map +1 -0
  13. package/dist/core/tests/appSurface.d.ts +2 -0
  14. package/dist/core/tests/appSurface.d.ts.map +1 -1
  15. package/dist/core/tests/appSurface.js +24 -13
  16. package/dist/core/tests/appSurface.js.map +1 -1
  17. package/dist/core/tests/browserSessions.d.ts +3 -0
  18. package/dist/core/tests/browserSessions.d.ts.map +1 -1
  19. package/dist/core/tests/browserSessions.js +3 -0
  20. package/dist/core/tests/browserSessions.js.map +1 -1
  21. package/dist/core/tests/click.d.ts +3 -1
  22. package/dist/core/tests/click.d.ts.map +1 -1
  23. package/dist/core/tests/click.js +3 -1
  24. package/dist/core/tests/click.js.map +1 -1
  25. package/dist/core/tests/findElement.d.ts +4 -1
  26. package/dist/core/tests/findElement.d.ts.map +1 -1
  27. package/dist/core/tests/findElement.js +52 -27
  28. package/dist/core/tests/findElement.js.map +1 -1
  29. package/dist/core/tests/saveScreenshot.d.ts +4 -1
  30. package/dist/core/tests/saveScreenshot.d.ts.map +1 -1
  31. package/dist/core/tests/saveScreenshot.js +70 -54
  32. package/dist/core/tests/saveScreenshot.js.map +1 -1
  33. package/dist/core/tests/startSurface.d.ts +3 -1
  34. package/dist/core/tests/startSurface.d.ts.map +1 -1
  35. package/dist/core/tests/startSurface.js +36 -2
  36. package/dist/core/tests/startSurface.js.map +1 -1
  37. package/dist/core/tests/swipe.d.ts +4 -1
  38. package/dist/core/tests/swipe.d.ts.map +1 -1
  39. package/dist/core/tests/swipe.js +37 -25
  40. package/dist/core/tests/swipe.js.map +1 -1
  41. package/dist/core/tests/typeKeys.d.ts +3 -1
  42. package/dist/core/tests/typeKeys.d.ts.map +1 -1
  43. package/dist/core/tests/typeKeys.js +42 -36
  44. package/dist/core/tests/typeKeys.js.map +1 -1
  45. package/dist/core/tests.d.ts +3 -1
  46. package/dist/core/tests.d.ts.map +1 -1
  47. package/dist/core/tests.js +38 -9
  48. package/dist/core/tests.js.map +1 -1
  49. package/dist/hints/context.d.ts +3 -0
  50. package/dist/hints/context.d.ts.map +1 -1
  51. package/dist/hints/context.js +25 -0
  52. package/dist/hints/context.js.map +1 -1
  53. package/dist/hints/hints.d.ts.map +1 -1
  54. package/dist/hints/hints.js +19 -0
  55. package/dist/hints/hints.js.map +1 -1
  56. package/dist/hints/types.d.ts +7 -0
  57. package/dist/hints/types.d.ts.map +1 -1
  58. package/dist/index.cjs +684 -470
  59. package/dist/runtime/browserStepKeys.d.ts +37 -0
  60. package/dist/runtime/browserStepKeys.d.ts.map +1 -1
  61. package/dist/runtime/browserStepKeys.js +73 -0
  62. package/dist/runtime/browserStepKeys.js.map +1 -1
  63. package/dist/runtime/inferRuntimeNeeds.d.ts.map +1 -1
  64. package/dist/runtime/inferRuntimeNeeds.js +18 -11
  65. package/dist/runtime/inferRuntimeNeeds.js.map +1 -1
  66. package/package.json +1 -1
@@ -54,4 +54,41 @@ export declare function stepOpensBrowserSurface(step: any): boolean;
54
54
  * — a browser/process-only startSurface must not trigger it.
55
55
  */
56
56
  export declare function stepOpensAppSurface(step: any): boolean;
57
+ /**
58
+ * True when the step's startSurface opens at least one background PROCESS
59
+ * surface. Part of the non-browser-surface signal below (ADR 01081).
60
+ */
61
+ export declare function stepOpensProcessSurface(step: any): boolean;
62
+ /**
63
+ * True when any action payload in the step names a background process with
64
+ * the object form (`surface: { process: … }`). Such a step writes to the
65
+ * process's stdin — it never needs a browser. The bare-string form stays
66
+ * identity-only, same as stepTargetsAppSurface.
67
+ */
68
+ export declare function stepTargetsProcessSurface(step: any): boolean;
69
+ /**
70
+ * The step keys whose actions act on a surface and route through the
71
+ * active-surface resolver (ADR 01081): omitted `surface` targets the most
72
+ * recently active surface of ANY kind. Deliberately narrower than
73
+ * BROWSER_STEP_KEYS — `annotate`, cookies, `goTo`, `record`, etc. are
74
+ * browser-only by design and always imply a browser.
75
+ */
76
+ export declare const SURFACE_SENSITIVE_STEP_KEYS: readonly ["click", "find", "screenshot", "swipe", "type"];
77
+ /**
78
+ * True when the step performs a surface-sensitive action WITHOUT an explicit
79
+ * `surface` reference — the payload shapes without one include the string /
80
+ * boolean / array shorthands (`find: "text"`, `screenshot: true`,
81
+ * `type: ["hi"]`). Such a step routes to the active surface at runtime, so
82
+ * browser-need classification must not unconditionally count it as a browser
83
+ * step (see testHasNonBrowserSurfaceSignal).
84
+ */
85
+ export declare function stepIsSurfacelessInteraction(step: any): boolean;
86
+ /**
87
+ * True when any step in the test opens or explicitly targets a NON-browser
88
+ * surface (an app or a background process). In such a test, a surface-less
89
+ * interaction step is routed to the active surface at runtime and must not
90
+ * force browser provisioning; a test with no such signal keeps the browser
91
+ * default (byte-compatible with pre-ADR-01081 classification).
92
+ */
93
+ export declare function testHasNonBrowserSurfaceSignal(steps: any): boolean;
57
94
  //# sourceMappingURL=browserStepKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browserStepKeys.d.ts","sourceRoot":"","sources":["../../src/runtime/browserStepKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,6LAgBpB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAUxD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAItD"}
1
+ {"version":3,"file":"browserStepKeys.d.ts","sourceRoot":"","sources":["../../src/runtime/browserStepKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,6LAgBpB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAUxD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAItD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAU5D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,2DAM9B,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAY/D;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CASlE"}
@@ -87,4 +87,77 @@ export function stepOpensBrowserSurface(step) {
87
87
  export function stepOpensAppSurface(step) {
88
88
  return startSurfaceDescriptors(step).some((d) => d && typeof d === "object" && typeof d.app === "string");
89
89
  }
90
+ /**
91
+ * True when the step's startSurface opens at least one background PROCESS
92
+ * surface. Part of the non-browser-surface signal below (ADR 01081).
93
+ */
94
+ export function stepOpensProcessSurface(step) {
95
+ return startSurfaceDescriptors(step).some((d) => d && typeof d === "object" && typeof d.process === "string");
96
+ }
97
+ /**
98
+ * True when any action payload in the step names a background process with
99
+ * the object form (`surface: { process: … }`). Such a step writes to the
100
+ * process's stdin — it never needs a browser. The bare-string form stays
101
+ * identity-only, same as stepTargetsAppSurface.
102
+ */
103
+ export function stepTargetsProcessSurface(step) {
104
+ if (!step || typeof step !== "object")
105
+ return false;
106
+ return Object.values(step).some((payload) => payload &&
107
+ typeof payload === "object" &&
108
+ payload.surface &&
109
+ typeof payload.surface === "object" &&
110
+ typeof payload.surface.process === "string");
111
+ }
112
+ /**
113
+ * The step keys whose actions act on a surface and route through the
114
+ * active-surface resolver (ADR 01081): omitted `surface` targets the most
115
+ * recently active surface of ANY kind. Deliberately narrower than
116
+ * BROWSER_STEP_KEYS — `annotate`, cookies, `goTo`, `record`, etc. are
117
+ * browser-only by design and always imply a browser.
118
+ */
119
+ export const SURFACE_SENSITIVE_STEP_KEYS = [
120
+ "click",
121
+ "find",
122
+ "screenshot",
123
+ "swipe",
124
+ "type",
125
+ ];
126
+ /**
127
+ * True when the step performs a surface-sensitive action WITHOUT an explicit
128
+ * `surface` reference — the payload shapes without one include the string /
129
+ * boolean / array shorthands (`find: "text"`, `screenshot: true`,
130
+ * `type: ["hi"]`). Such a step routes to the active surface at runtime, so
131
+ * browser-need classification must not unconditionally count it as a browser
132
+ * step (see testHasNonBrowserSurfaceSignal).
133
+ */
134
+ export function stepIsSurfacelessInteraction(step) {
135
+ if (!step || typeof step !== "object")
136
+ return false;
137
+ return SURFACE_SENSITIVE_STEP_KEYS.some((key) => {
138
+ if (typeof step[key] === "undefined")
139
+ return false;
140
+ const payload = step[key];
141
+ const hasExplicitSurface = payload &&
142
+ typeof payload === "object" &&
143
+ !Array.isArray(payload) &&
144
+ payload.surface !== undefined;
145
+ return !hasExplicitSurface;
146
+ });
147
+ }
148
+ /**
149
+ * True when any step in the test opens or explicitly targets a NON-browser
150
+ * surface (an app or a background process). In such a test, a surface-less
151
+ * interaction step is routed to the active surface at runtime and must not
152
+ * force browser provisioning; a test with no such signal keeps the browser
153
+ * default (byte-compatible with pre-ADR-01081 classification).
154
+ */
155
+ export function testHasNonBrowserSurfaceSignal(steps) {
156
+ if (!Array.isArray(steps))
157
+ return false;
158
+ return steps.some((step) => stepOpensAppSurface(step) ||
159
+ stepOpensProcessSurface(step) ||
160
+ stepTargetsAppSurface(step) ||
161
+ stepTargetsProcessSurface(step));
162
+ }
90
163
  //# sourceMappingURL=browserStepKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browserStepKeys.js","sourceRoot":"","sources":["../../src/runtime/browserStepKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU;IACV,OAAO;IACP,aAAa;IACb,MAAM;IACN,MAAM;IACN,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,MAAM;CACE,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC7B,CAAC,OAAY,EAAE,EAAE,CACf,OAAO;QACP,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,CAAC,OAAO;QACf,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,MAAM,GAAG,GAAG,IAAI,EAAE,YAAY,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CACvC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CACxE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAS;IAC3C,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CACvC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CACpE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"browserStepKeys.js","sourceRoot":"","sources":["../../src/runtime/browserStepKeys.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inferRuntimeNeeds.d.ts","sourceRoot":"","sources":["../../src/runtime/inferRuntimeNeeds.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAKzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IAGvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,GAAG,EAClB,OAAO,GAAE,wBAA6B,GACrC,YAAY,CAuEd"}
1
+ {"version":3,"file":"inferRuntimeNeeds.d.ts","sourceRoot":"","sources":["../../src/runtime/inferRuntimeNeeds.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAKzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IAGvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,GAAG,EAClB,OAAO,GAAE,wBAA6B,GACrC,YAAY,CA6Ed"}
@@ -1,4 +1,4 @@
1
- import { BROWSER_STEP_KEYS, stepTargetsAppSurface, startSurfaceDescriptors, stepOpensBrowserSurface, } from "./browserStepKeys.js";
1
+ import { BROWSER_STEP_KEYS, stepTargetsAppSurface, stepTargetsProcessSurface, stepIsSurfacelessInteraction, testHasNonBrowserSurfaceSignal, startSurfaceDescriptors, stepOpensBrowserSurface, } from "./browserStepKeys.js";
2
2
  // Set view of the shared canonical list for O(1) membership checks below.
3
3
  const BROWSER_STEP_KEY_SET = new Set(BROWSER_STEP_KEYS);
4
4
  const SCREENSHOT_STEP_KEYS = new Set(["screenshot"]);
@@ -34,8 +34,9 @@ export function inferRuntimeNeeds(resolvedSpecs, options = {}) {
34
34
  if (typeof ctx?.browser?.name === "string") {
35
35
  addBrowserName(browsers, ctx.browser.name);
36
36
  }
37
+ const ctxHasNonBrowserSignal = testHasNonBrowserSurfaceSignal(ctx?.steps);
37
38
  for (const step of arrayOrEmpty(ctx?.steps)) {
38
- const flags = classifyStep(step);
39
+ const flags = classifyStep(step, ctxHasNonBrowserSignal);
39
40
  if (flags.browser)
40
41
  sawBrowserStep = true;
41
42
  if (flags.screenshot)
@@ -47,8 +48,9 @@ export function inferRuntimeNeeds(resolvedSpecs, options = {}) {
47
48
  collectStartSurfaceEngines(step, browsers);
48
49
  }
49
50
  }
51
+ const testHasNonBrowserSignal = testHasNonBrowserSurfaceSignal(test?.steps);
50
52
  for (const step of arrayOrEmpty(test?.steps)) {
51
- const flags = classifyStep(step);
53
+ const flags = classifyStep(step, testHasNonBrowserSignal);
52
54
  if (flags.browser)
53
55
  sawBrowserStep = true;
54
56
  if (flags.screenshot)
@@ -163,20 +165,25 @@ function collectBrowserNamesFromRunOn(runOn, set) {
163
165
  }
164
166
  }
165
167
  }
166
- function classifyStep(step) {
168
+ function classifyStep(step, hasNonBrowserSignal = false) {
167
169
  if (!step || typeof step !== "object")
168
170
  return { browser: false, screenshot: false, recording: false };
169
171
  let browser = false;
170
172
  let screenshot = false;
171
173
  let recording = false;
172
- // An app-object-targeted step (`surface: { app: … }`) drives a native app
173
- // driver, not a browser — mirror the runner's `isBrowserRequired` exclusion
174
- // so app-only specs don't provision a browser binary. This gates ONLY the
175
- // browser flag: an app screenshot still needs the image stack, and an app
176
- // recording still needs ffmpeg.
177
- const appTargeted = stepTargetsAppSurface(step);
174
+ // A non-browser-targeted step drives a native app driver or a background
175
+ // process's stdin, not a browser — mirror the runner's `isBrowserRequired`
176
+ // exclusions so app/process-only specs don't provision a browser binary:
177
+ // explicit `surface: { app: … }` / `surface: { process: … }` payloads, and
178
+ // (ADR 01081) surface-less interaction steps in a test that opens or
179
+ // targets a non-browser surface (they route to the active surface at
180
+ // runtime). This gates ONLY the browser flag: an app screenshot still
181
+ // needs the image stack, and an app recording still needs ffmpeg.
182
+ const nonBrowserTargeted = stepTargetsAppSurface(step) ||
183
+ stepTargetsProcessSurface(step) ||
184
+ (hasNonBrowserSignal && stepIsSurfacelessInteraction(step));
178
185
  for (const key of Object.keys(step)) {
179
- if (!appTargeted && BROWSER_STEP_KEY_SET.has(key))
186
+ if (!nonBrowserTargeted && BROWSER_STEP_KEY_SET.has(key))
180
187
  browser = true;
181
188
  if (SCREENSHOT_STEP_KEYS.has(key))
182
189
  screenshot = true;
@@ -1 +1 @@
1
- {"version":3,"file":"inferRuntimeNeeds.js","sourceRoot":"","sources":["../../src/runtime/inferRuntimeNeeds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inferRuntimeNeeds.js","sourceRoot":"","sources":["../../src/runtime/inferRuntimeNeeds.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doc-detective",
3
- "version": "4.35.0",
3
+ "version": "4.36.0",
4
4
  "description": "Treat doc content as testable assertions to validate doc accuracy and product UX.",
5
5
  "bin": {
6
6
  "doc-detective": "bin/doc-detective.js",