doc-detective 4.35.0 → 4.37.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 (97) hide show
  1. package/dist/cli.js +9 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/common/src/schemas/schemas.json +6702 -393
  4. package/dist/common/src/types/generated/annotate_v3.d.ts +48 -0
  5. package/dist/common/src/types/generated/annotate_v3.d.ts.map +1 -1
  6. package/dist/common/src/types/generated/annotation_v3.d.ts +24 -0
  7. package/dist/common/src/types/generated/annotation_v3.d.ts.map +1 -1
  8. package/dist/common/src/types/generated/closeSurface_v3.d.ts +2 -2
  9. package/dist/common/src/types/generated/config_v3.d.ts +12 -0
  10. package/dist/common/src/types/generated/config_v3.d.ts.map +1 -1
  11. package/dist/common/src/types/generated/context_v3.d.ts +4 -0
  12. package/dist/common/src/types/generated/context_v3.d.ts.map +1 -1
  13. package/dist/common/src/types/generated/report_v3.d.ts +12 -0
  14. package/dist/common/src/types/generated/report_v3.d.ts.map +1 -1
  15. package/dist/common/src/types/generated/resolvedTests_v3.d.ts +20 -0
  16. package/dist/common/src/types/generated/resolvedTests_v3.d.ts.map +1 -1
  17. package/dist/common/src/types/generated/screenshot_v3.d.ts +25 -1
  18. package/dist/common/src/types/generated/screenshot_v3.d.ts.map +1 -1
  19. package/dist/common/src/types/generated/spec_v3.d.ts +8 -0
  20. package/dist/common/src/types/generated/spec_v3.d.ts.map +1 -1
  21. package/dist/common/src/types/generated/step_v3.d.ts +162 -6
  22. package/dist/common/src/types/generated/step_v3.d.ts.map +1 -1
  23. package/dist/common/src/types/generated/surface_v3.d.ts +1 -1
  24. package/dist/common/src/types/generated/swipe_v3.d.ts +2 -2
  25. package/dist/common/src/types/generated/test_v3.d.ts +336 -12
  26. package/dist/common/src/types/generated/test_v3.d.ts.map +1 -1
  27. package/dist/common/src/types/generated/type_v3.d.ts +1 -1
  28. package/dist/core/annotations/geometry.d.ts +2 -1
  29. package/dist/core/annotations/geometry.d.ts.map +1 -1
  30. package/dist/core/annotations/geometry.js +11 -1
  31. package/dist/core/annotations/geometry.js.map +1 -1
  32. package/dist/core/tests/activeSurface.d.ts +46 -0
  33. package/dist/core/tests/activeSurface.d.ts.map +1 -0
  34. package/dist/core/tests/activeSurface.js +141 -0
  35. package/dist/core/tests/activeSurface.js.map +1 -0
  36. package/dist/core/tests/appSurface.d.ts +2 -0
  37. package/dist/core/tests/appSurface.d.ts.map +1 -1
  38. package/dist/core/tests/appSurface.js +24 -13
  39. package/dist/core/tests/appSurface.js.map +1 -1
  40. package/dist/core/tests/browserSessions.d.ts +3 -0
  41. package/dist/core/tests/browserSessions.d.ts.map +1 -1
  42. package/dist/core/tests/browserSessions.js +3 -0
  43. package/dist/core/tests/browserSessions.js.map +1 -1
  44. package/dist/core/tests/click.d.ts +3 -1
  45. package/dist/core/tests/click.d.ts.map +1 -1
  46. package/dist/core/tests/click.js +3 -1
  47. package/dist/core/tests/click.js.map +1 -1
  48. package/dist/core/tests/findElement.d.ts +4 -1
  49. package/dist/core/tests/findElement.d.ts.map +1 -1
  50. package/dist/core/tests/findElement.js +52 -27
  51. package/dist/core/tests/findElement.js.map +1 -1
  52. package/dist/core/tests/saveScreenshot.d.ts +4 -1
  53. package/dist/core/tests/saveScreenshot.d.ts.map +1 -1
  54. package/dist/core/tests/saveScreenshot.js +70 -54
  55. package/dist/core/tests/saveScreenshot.js.map +1 -1
  56. package/dist/core/tests/startSurface.d.ts +3 -1
  57. package/dist/core/tests/startSurface.d.ts.map +1 -1
  58. package/dist/core/tests/startSurface.js +36 -2
  59. package/dist/core/tests/startSurface.js.map +1 -1
  60. package/dist/core/tests/swipe.d.ts +4 -1
  61. package/dist/core/tests/swipe.d.ts.map +1 -1
  62. package/dist/core/tests/swipe.js +37 -25
  63. package/dist/core/tests/swipe.js.map +1 -1
  64. package/dist/core/tests/typeKeys.d.ts +3 -1
  65. package/dist/core/tests/typeKeys.d.ts.map +1 -1
  66. package/dist/core/tests/typeKeys.js +42 -36
  67. package/dist/core/tests/typeKeys.js.map +1 -1
  68. package/dist/core/tests.d.ts +9 -2
  69. package/dist/core/tests.d.ts.map +1 -1
  70. package/dist/core/tests.js +257 -15
  71. package/dist/core/tests.js.map +1 -1
  72. package/dist/core/utils.d.ts +7 -1
  73. package/dist/core/utils.d.ts.map +1 -1
  74. package/dist/core/utils.js +141 -2
  75. package/dist/core/utils.js.map +1 -1
  76. package/dist/hints/context.d.ts +15 -0
  77. package/dist/hints/context.d.ts.map +1 -1
  78. package/dist/hints/context.js +115 -0
  79. package/dist/hints/context.js.map +1 -1
  80. package/dist/hints/hints.d.ts.map +1 -1
  81. package/dist/hints/hints.js +38 -0
  82. package/dist/hints/hints.js.map +1 -1
  83. package/dist/hints/types.d.ts +15 -0
  84. package/dist/hints/types.d.ts.map +1 -1
  85. package/dist/index.cjs +7565 -884
  86. package/dist/reporters/htmlReporter.js +3 -3
  87. package/dist/runtime/browserStepKeys.d.ts +37 -0
  88. package/dist/runtime/browserStepKeys.d.ts.map +1 -1
  89. package/dist/runtime/browserStepKeys.js +73 -0
  90. package/dist/runtime/browserStepKeys.js.map +1 -1
  91. package/dist/runtime/inferRuntimeNeeds.d.ts.map +1 -1
  92. package/dist/runtime/inferRuntimeNeeds.js +18 -11
  93. package/dist/runtime/inferRuntimeNeeds.js.map +1 -1
  94. package/dist/utils.d.ts.map +1 -1
  95. package/dist/utils.js +8 -0
  96. package/dist/utils.js.map +1 -1
  97. package/package.json +2 -1
@@ -61,7 +61,7 @@ export type TypeKeysDetailed = {
61
61
  */
62
62
  export type TypeKeysSimple1 = string | string[];
63
63
  /**
64
- * The surface a step acts on. Omit to act on the active surface. Supports background processes, browser windows/tabs, and native app windows.
64
+ * The surface a step acts on. Omit to act on the active surface — the most recently opened, focused, or explicitly targeted surface, whatever its kind. Specifying a surface switches the active surface for the steps that follow. Supports background processes, browser windows/tabs, and native app windows.
65
65
  */
66
66
  export type Surface = SurfaceByName | ProcessSurface | BrowserSurface | AppSurface;
67
67
  /**
@@ -1,6 +1,6 @@
1
1
  import type { ResolvedAnnotation } from "./model.js";
2
2
  import type { PlacedAnnotation, Rect } from "./svg.js";
3
- export { computeScale, toCanvasRect, positionTargetRect, appCriteriaError, allTargetError, appWindowOrigin, resolveAnnotationRects, APP_UNSUPPORTED_CRITERIA, APP_SUPPORTED_CRITERIA, };
3
+ export { computeScale, toCanvasRect, positionTargetRect, appCriteriaError, allTargetError, appWindowOrigin, criteriaFromTarget, resolveAnnotationRects, APP_UNSUPPORTED_CRITERIA, APP_SUPPORTED_CRITERIA, };
4
4
  type Point = {
5
5
  x: number;
6
6
  y: number;
@@ -40,6 +40,7 @@ declare function appWindowOrigin(platform: string | undefined, windowRect: {
40
40
  } | null | undefined): Point;
41
41
  declare function appCriteriaError(target: any): string | null;
42
42
  declare function allTargetError(target: any, all: boolean, isAppCapture?: boolean): string | null;
43
+ declare function criteriaFromTarget(target: any): any;
43
44
  /**
44
45
  * Resolve every annotation's target into a rect in the final image.
45
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/core/annotations/geometry.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,CAAC;AAEF,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAWtC,QAAA,MAAM,wBAAwB,UAI7B,CAAC;AACF,QAAA,MAAM,sBAAsB,UAK3B,CAAC;AAMF,iBAAS,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CASvE;AAKD,iBAAS,YAAY,CACnB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,KAAsB,GACjC,IAAI,CAON;AAOD,iBAAS,kBAAkB,CACzB,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,MAAM,GACZ,IAAI,CAiBN;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,eAAe,CACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACtD,KAAK,CAKP;AAGD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAYpD;AAaD,iBAAS,cAAc,CACrB,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,OAAO,EACZ,YAAY,UAAQ,GACnB,MAAM,GAAG,IAAI,CASf;AAqDD;;;;;;;GAOG;AACH,iBAAe,sBAAsB,CAAC,EACpC,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,KAAK,EACL,UAAU,GACX,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;IAId,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0G5D"}
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/core/annotations/geometry.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,CAAC;AAEF,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAWtC,QAAA,MAAM,wBAAwB,UAI7B,CAAC;AACF,QAAA,MAAM,sBAAsB,UAK3B,CAAC;AAMF,iBAAS,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CASvE;AAKD,iBAAS,YAAY,CACnB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,KAAsB,GACjC,IAAI,CAON;AAOD,iBAAS,kBAAkB,CACzB,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,MAAM,GACZ,IAAI,CAiBN;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,eAAe,CACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACtD,KAAK,CAKP;AAGD,iBAAS,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAYpD;AAaD,iBAAS,cAAc,CACrB,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,OAAO,EACZ,YAAY,UAAQ,GACnB,MAAM,GAAG,IAAI,CASf;AAaD,iBAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAY5C;AAsCD;;;;;;;GAOG;AACH,iBAAe,sBAAsB,CAAC,EACpC,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,KAAK,EACL,UAAU,GACX,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;IAId,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0G5D"}
@@ -32,7 +32,7 @@
32
32
  import { findElement } from "../tests/findElement.js";
33
33
  import { findElementByCriteria } from "../tests/findStrategies.js";
34
34
  import { anchorPoint } from "./svg.js";
35
- export { computeScale, toCanvasRect, positionTargetRect, appCriteriaError, allTargetError, appWindowOrigin, resolveAnnotationRects, APP_UNSUPPORTED_CRITERIA, APP_SUPPORTED_CRITERIA, };
35
+ export { computeScale, toCanvasRect, positionTargetRect, appCriteriaError, allTargetError, appWindowOrigin, criteriaFromTarget, resolveAnnotationRects, APP_UNSUPPORTED_CRITERIA, APP_SUPPORTED_CRITERIA, };
36
36
  // Criteria with no native-locator equivalent. appSurface.ts maps the semantic
37
37
  // fields onto UIA / AX / UiAutomator2 / XCUITest locators, but a CSS selector,
38
38
  // a DOM class list, and arbitrary DOM attributes have nothing to map to.
@@ -159,6 +159,15 @@ function allTargetError(target, all, isAppCapture = false) {
159
159
  }
160
160
  // Turn an annotation target into the criteria object findElement expects.
161
161
  // A string target passes straight through as find's selector-or-text shorthand.
162
+ //
163
+ // `timeout` rides along with the finding fields rather than being handled
164
+ // separately, because every consumer below already knows what to do with it:
165
+ // findElement reads `step.find.timeout` on both its browser and app paths, and
166
+ // findElementByCriteria takes it as a parameter. Leaving it out of this list
167
+ // was the only reason annotation targets were pinned to the hardcoded 5000 ms
168
+ // while `find` could ask for longer. Deliberately NOT defaulted here — the
169
+ // number belongs to find, and a copy of it here would be a second thing to
170
+ // keep in sync.
162
171
  function criteriaFromTarget(target) {
163
172
  if (typeof target === "string")
164
173
  return target;
@@ -170,6 +179,7 @@ function criteriaFromTarget(target) {
170
179
  elementClass: target?.elementClass,
171
180
  elementAttribute: target?.elementAttribute,
172
181
  elementAria: target?.elementAria,
182
+ timeout: target?.timeout,
173
183
  };
174
184
  }
175
185
  // Read a browser element's viewport-relative rect. Mirrors the crop path's
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../src/core/annotations/geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../src/core/annotations/geometry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,wEAAwE;AACxE,aAAa;AACb,EAAE;AACF,gGAAgG;AAChG,0GAA0G;AAC1G,oGAAoG;AACpG,oGAAoG;AACpG,kFAAkF;AAClF,oGAAoG;AACpG,+GAA+G;AAC/G,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,gBAAgB;AAChB,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAC/E,iEAAiE;AACjE,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,CAAC;AAIF,8EAA8E;AAC9E,+EAA+E;AAC/E,yEAAyE;AACzE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,+EAA+E;AAC/E,sDAAsD;AACtD,MAAM,wBAAwB,GAAG;IAC/B,UAAU;IACV,cAAc;IACd,kBAAkB;CACnB,CAAC;AACF,MAAM,sBAAsB,GAAG;IAC7B,aAAa;IACb,WAAW;IACX,eAAe;IACf,aAAa;CACd,CAAC;AAEF,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,kBAAkB;AAClB,SAAS,YAAY,CAAC,UAAkB,EAAE,YAAqB;IAC7D,IACE,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,YAAY,IAAI,CAAC,EACjB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,UAAU,GAAG,YAAY,CAAC;AACnC,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,8BAA8B;AAC9B,SAAS,YAAY,CACnB,OAAa,EACb,KAAa,EACb,aAAoB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAElC,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;QACnC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,KAAK;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK;KAC/B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,8EAA8E;AAC9E,mEAAmE;AACnE,SAAS,kBAAkB,CACzB,QAAa,EACb,MAAyC,EACzC,KAAa;IAEb,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,sEAAsE;QACtE,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,KAAK,GAAG,WAAW,CACvB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAC1D,QAAQ,CACT,CAAC;QACF,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,OAAO;QACL,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;QAC7B,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;QAC7B,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,eAAe,CACtB,QAA4B,EAC5B,UAAuD;IAEvD,IAAI,QAAQ,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,MAAW;IACnC,MAAM,SAAS,GAAG,8BAA8B,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,mEAAmE,MAAM,yJAAyJ,MAAM,SAAS,SAAS,EAAE,CAAC;IACtQ,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,CACzC,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,+EAA+E,SAAS,EAAE,CAAC;IAC3K,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,oEAAoE;AACpE,yEAAyE;AACzE,2BAA2B;AAC3B,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,cAAc;AACd,SAAS,cAAc,CACrB,MAAW,EACX,GAAY,EACZ,YAAY,GAAG,KAAK;IAEpB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,uPAAuP,CAAC;IACjQ,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,gEAAgE,MAAM,iFAAiF,MAAM,MAAM,CAAC;IAC7K,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,gFAAgF;AAChF,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,2EAA2E;AAC3E,gBAAgB;AAChB,SAAS,kBAAkB,CAAC,MAAW;IACrC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO;QACL,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAC1B,WAAW,EAAE,MAAM,EAAE,WAAW;QAChC,SAAS,EAAE,MAAM,EAAE,SAAS;QAC5B,aAAa,EAAE,MAAM,EAAE,aAAa;QACpC,YAAY,EAAE,MAAM,EAAE,YAAY;QAClC,gBAAgB,EAAE,MAAM,EAAE,gBAAgB;QAC1C,WAAW,EAAE,MAAM,EAAE,WAAW;QAChC,OAAO,EAAE,MAAM,EAAE,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,qCAAqC;AACrC,KAAK,UAAU,kBAAkB,CAAC,MAAW,EAAE,OAAY;IACzD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QAC1C,OAAO;YACL,CAAC,EAAE,MAAM,CAAC,IAAI;YACd,CAAC,EAAE,MAAM,CAAC,GAAG;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,qEAAqE;AACrE,wEAAwE;AACxE,wBAAwB;AACxB,KAAK,UAAU,cAAc,CAC3B,MAAW,EACX,OAAY,EACZ,YAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,OAAO;QACL,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAClC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAClC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;QACvB,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAC,EACpC,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,KAAK,EACL,UAAU,GAgBX;IACC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAEnC,sEAAsE;QACtE,0EAA0E;QAC1E,+BAA+B;QAC/B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,UAAU;gBACb,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;aACzD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,qEAAqE;YACrE,kDAAkD;YAClD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;gBACnC,MAAM;gBACN,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE;gBAC1D,MAAM;gBACN,UAAU;aACX,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;YAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CACT,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CACpE,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,SAAS,IAAI,MAAM,EACnB,OAAO,EACP,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAC/B,CAAC;YACF,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,UAAU;gBACb,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;aAC/C,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,GAAU,EAAE,CAAC;QACzB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC;gBACxC,GAAG,kBAAkB,CAAC,MAAM,CAAC;gBAC7B,MAAM;gBACN,GAAG,EAAE,IAAI;aACV,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CACT,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CACpE,CAAC;gBACF,SAAS;YACX,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;gBACnC,MAAM;gBACN,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE;gBAC1C,MAAM;aACP,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;YAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CACT,0CACE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAC7D,GAAG,CACJ,CAAC;gBACF,SAAS;YACX,CAAC;YACD,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,UAAU;gBACb,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;gBAC9C,+DAA+D;gBAC/D,kEAAkE;gBAClE,kEAAkE;gBAClE,+DAA+D;gBAC/D,oDAAoD;gBACpD,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,46 @@
1
+ export { createActiveSurfaceTracker, activateSurface, currentSurface, resolveTargetSurface, };
2
+ export type { ActiveSurfaceTracker, SurfaceHandle, SurfaceTarget };
3
+ type SurfaceKind = "browser" | "app" | "process";
4
+ interface SurfaceHandle {
5
+ kind: SurfaceKind;
6
+ name: string;
7
+ }
8
+ interface ActiveSurfaceTracker {
9
+ mru: SurfaceHandle[];
10
+ }
11
+ interface SurfaceRegistries {
12
+ browserRegistry?: {
13
+ sessions: Map<string, any>;
14
+ };
15
+ appSession?: {
16
+ surfaces: Map<string, any>;
17
+ activeApp?: string;
18
+ };
19
+ processRegistry?: Map<string, any>;
20
+ }
21
+ type SurfaceTarget = {
22
+ kind: "app";
23
+ entry: any;
24
+ window?: any;
25
+ } | {
26
+ kind: "browser";
27
+ surface?: any;
28
+ } | {
29
+ kind: "process";
30
+ name: string;
31
+ entry?: any;
32
+ } | {
33
+ kind: "error";
34
+ message: string;
35
+ };
36
+ declare function createActiveSurfaceTracker(): ActiveSurfaceTracker;
37
+ declare function activateSurface(tracker: ActiveSurfaceTracker | undefined, handle: SurfaceHandle): void;
38
+ declare function currentSurface(tracker: ActiveSurfaceTracker | undefined, registries: SurfaceRegistries): SurfaceHandle | null;
39
+ declare function resolveTargetSurface({ surface, tracker, driver, appSession, processRegistry, }: {
40
+ surface?: any;
41
+ tracker?: ActiveSurfaceTracker;
42
+ driver?: any;
43
+ appSession?: SurfaceRegistries["appSession"];
44
+ processRegistry?: Map<string, any>;
45
+ }): SurfaceTarget;
46
+ //# sourceMappingURL=activeSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeSurface.d.ts","sourceRoot":"","sources":["../../../src/core/tests/activeSurface.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAEnE,KAAK,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAEjD,UAAU,aAAa;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,UAAU,oBAAoB;IAC5B,GAAG,EAAE,aAAa,EAAE,CAAC;CACtB;AAID,UAAU,iBAAiB;IACzB,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IACjD,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAQD,KAAK,aAAa,GACd;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAOvC,iBAAS,0BAA0B,IAAI,oBAAoB,CAE1D;AAKD,iBAAS,eAAe,CACtB,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,MAAM,EAAE,aAAa,GACpB,IAAI,CAQN;AAaD,iBAAS,cAAc,CACrB,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,UAAU,EAAE,iBAAiB,GAC5B,aAAa,GAAG,IAAI,CAKtB;AAUD,iBAAS,oBAAoB,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,eAAe,GAChB,EAAE;IACD,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,GAAG,aAAa,CAsFhB"}
@@ -0,0 +1,141 @@
1
+ // Uniform active-surface routing (ADR 01081). One per-context MRU tracker
2
+ // covers every surface kind — browser sessions, app surfaces, background
3
+ // processes — and one resolver classifies each surface-sensitive step's
4
+ // target. The routing rule is kind-agnostic: an explicit `surface` reference
5
+ // switches to that surface; an omitted `surface` acts on the most recently
6
+ // active one, whatever its kind. Only EXECUTION differs per kind (an element
7
+ // find on a driver vs. stdin bytes to a process), and a step whose action the
8
+ // resolved kind can't perform fails with a capability error — routing never
9
+ // silently reroutes to another kind.
10
+ //
11
+ // The module is dependency-free (registries are duck-typed), so the browser
12
+ // session registry and the app session can both import `activateSurface`
13
+ // without a cycle, and unit tests drive it with plain objects.
14
+ export { createActiveSurfaceTracker, activateSurface, currentSurface, resolveTargetSurface, };
15
+ const ENGINE_KEYWORDS = new Set(["chrome", "firefox", "safari", "webkit", "edge"]);
16
+ const NO_ACTIVE_SURFACE_MESSAGE = "No active surface to act on. Open one first with a startSurface step (or a goTo step for a browser), or target a surface explicitly with `surface`.";
17
+ function createActiveSurfaceTracker() {
18
+ return { mru: [] };
19
+ }
20
+ // Move-to-front activation, deduped by kind+name. Tolerates an undefined
21
+ // tracker so callers outside runContext (unit tests, embedders) need no
22
+ // guards.
23
+ function activateSurface(tracker, handle) {
24
+ if (!tracker)
25
+ return;
26
+ tracker.mru = [
27
+ handle,
28
+ ...tracker.mru.filter((h) => !(h.kind === handle.kind && h.name === handle.name)),
29
+ ];
30
+ }
31
+ function isLive(handle, registries) {
32
+ if (handle.kind === "browser")
33
+ return !!registries.browserRegistry?.sessions?.has(handle.name);
34
+ if (handle.kind === "app")
35
+ return !!registries.appSession?.surfaces?.has(handle.name);
36
+ return !!registries.processRegistry?.has(handle.name);
37
+ }
38
+ // The active surface: the most recently activated handle whose surface is
39
+ // still open. Dead entries (closed surfaces) are pruned as they're passed
40
+ // over, so closes never have to touch the tracker.
41
+ function currentSurface(tracker, registries) {
42
+ if (!tracker)
43
+ return null;
44
+ const live = tracker.mru.filter((h) => isLive(h, registries));
45
+ tracker.mru = live;
46
+ return live[0] ?? null;
47
+ }
48
+ // Classify a step's surface target. Explicit references resolve by shape —
49
+ // `{ app }` / `{ browser }` / `{ process }` are authoritative by key; a bare
50
+ // string is an engine keyword (browser) or a unique cross-registry name
51
+ // lookup (names are unique across kinds per context) — and a surface-less
52
+ // step resolves to the active surface. Pure classification: activation side
53
+ // effects stay in the kinds' execution paths (switchToSurface's session
54
+ // activation, ensureAppForeground, the process lanes), so a reference that
55
+ // fails to act never becomes the active surface.
56
+ function resolveTargetSurface({ surface, tracker, driver, appSession, processRegistry, }) {
57
+ const browserRegistry = driver?.state?.sessionRegistry;
58
+ const registries = {
59
+ browserRegistry,
60
+ appSession,
61
+ processRegistry,
62
+ };
63
+ if (surface !== undefined && surface !== null) {
64
+ // Object forms: the key names the kind.
65
+ if (typeof surface === "object") {
66
+ if (typeof surface.app === "string") {
67
+ const name = surface.app.trim();
68
+ if (!appSession) {
69
+ return {
70
+ kind: "error",
71
+ message: `The surface names an app ("${name}"), but no app session is active in this context. Open the app first with startSurface.`,
72
+ };
73
+ }
74
+ const entry = appSession.surfaces.get(name);
75
+ if (!entry) {
76
+ return {
77
+ kind: "error",
78
+ message: `No app surface named "${name}" is open. Open it first with startSurface.`,
79
+ };
80
+ }
81
+ return { kind: "app", entry, window: surface.window };
82
+ }
83
+ if (typeof surface.process === "string") {
84
+ const name = surface.process.trim();
85
+ return { kind: "process", name, entry: processRegistry?.get(name) };
86
+ }
87
+ // { browser: … } and any other object shape resolve in the browser
88
+ // execution path (session + window/tab sub-resolution).
89
+ return { kind: "browser", surface };
90
+ }
91
+ if (typeof surface === "string") {
92
+ const name = surface.trim();
93
+ if (ENGINE_KEYWORDS.has(name.toLowerCase())) {
94
+ return { kind: "browser", surface };
95
+ }
96
+ // Bare-string identity lookup. Names are unique across kinds per
97
+ // context (registries enforce cross-kind collisions at open time), so
98
+ // the precedence below only decides ties left by pre-uniqueness runs:
99
+ // app registry (authoritative for its names, matching the pre-ADR
100
+ // handler order), then browser sessions, then processes.
101
+ if (appSession?.surfaces?.has(name)) {
102
+ return { kind: "app", entry: appSession.surfaces.get(name) };
103
+ }
104
+ if (browserRegistry?.sessions?.has(name)) {
105
+ return { kind: "browser", surface };
106
+ }
107
+ if (processRegistry?.has(name)) {
108
+ return { kind: "process", name, entry: processRegistry.get(name) };
109
+ }
110
+ return {
111
+ kind: "error",
112
+ message: `No surface named "${name}" is open in this context. Open it first with a startSurface step (or a goTo step for a browser).`,
113
+ };
114
+ }
115
+ }
116
+ // Surface-less: the active surface, whatever its kind.
117
+ const active = currentSurface(tracker, registries);
118
+ if (active) {
119
+ if (active.kind === "app") {
120
+ return { kind: "app", entry: appSession.surfaces.get(active.name) };
121
+ }
122
+ if (active.kind === "process") {
123
+ return {
124
+ kind: "process",
125
+ name: active.name,
126
+ entry: processRegistry?.get(active.name),
127
+ };
128
+ }
129
+ return { kind: "browser" };
130
+ }
131
+ // No tracker, or nothing live in it: legacy defaults so handlers invoked
132
+ // outside runContext keep their pre-ADR behavior — a live driver means the
133
+ // browser, an app session with an active app means that app.
134
+ if (driver)
135
+ return { kind: "browser" };
136
+ if (appSession?.activeApp && appSession.surfaces?.has(appSession.activeApp)) {
137
+ return { kind: "app", entry: appSession.surfaces.get(appSession.activeApp) };
138
+ }
139
+ return { kind: "error", message: NO_ACTIVE_SURFACE_MESSAGE };
140
+ }
141
+ //# sourceMappingURL=activeSurface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeSurface.js","sourceRoot":"","sources":["../../../src/core/tests/activeSurface.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { resolveHeavyDepPath, resolveHeavyDepPathInCache, resolveHeavyDepSource, ensureRuntimeInstalled } from "../../runtime/loader.js";
2
2
  import { type ManagedWdaHit } from "../../runtime/wdaProducts.js";
3
3
  import { stepTargetsAppSurface } from "../../runtime/browserStepKeys.js";
4
+ import { type ActiveSurfaceTracker } from "./activeSurface.js";
4
5
  export { classifyAppIdentifier, defaultAppSurfaceName, classifyNativeSelector, buildUiaLocator, buildAxLocator, buildUiAutomator2Locator, buildXCUITestLocator, createAppSessionState, appSurfacePreflight, probeMacAccessibility, isAppDriverRequired, stepTargetsAppSurface, resolveAppSurfaceRef, ensureAppForeground, startAppSurface, findAppElement, buildAppLocator, closeAppSurface, teardownAppSession, snapshotAppServerDescendants, reapConsoleOrphans, listWindowsDescendantPids, invalidateStaleAppiumManifest, probeIosToolchain, };
5
6
  export type { AppSessionState, AppSurfaceEntry };
6
7
  type AppIdentifierKind = "path" | "aumid" | "id";
@@ -111,6 +112,7 @@ interface AppSessionState {
111
112
  appiumHome?: string;
112
113
  surfaces: Map<string, AppSurfaceEntry>;
113
114
  activeApp?: string;
115
+ tracker?: ActiveSurfaceTracker;
114
116
  recordingHost: {
115
117
  state: {
116
118
  recordings: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"appSurface.d.ts","sourceRoot":"","sources":["../../../src/core/tests/appSurface.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAUtC,OAAO,EACL,qBAAqB,EAEtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EAInB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EAGzB,6BAA6B,EAC7B,iBAAiB,GAClB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAEjD,KAAK,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAMjD,iBAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAK7D;AAQD,iBAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAalD;AAED,KAAK,kBAAkB,GAAG,OAAO,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAM9D,iBAAS,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAIpE;AAoDD,iBAAS,eAAe,CAAC,QAAQ,EAAE;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgC7C;AAyCD,iBAAS,cAAc,CAAC,QAAQ,EAAE;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgD7C;AA+CD,iBAAS,wBAAwB,CAAC,QAAQ,EAAE;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0B7C;AAKD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE7C;AAWD,UAAU,iBAAiB;IACzB,aAAa,EAAE,MAAM,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IAGvB,YAAY,CAAC,QAAQ,EAAE;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAI/C,iBAAiB,CACf,UAAU,EAAE,GAAG,EACf,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QAGd,SAAS,CAAC,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;KACxC,GACA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKvB,iBAAiB,EAAE,OAAO,CAAC;IAI3B,iBAAiB,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL;AAiBD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAiNlE,CAAC;AAOF,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IAGtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAI7B,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AASD,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QAAE,KAAK,EAAE;YAAE,UAAU,EAAE,GAAG,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IAKhD,cAAc,CAAC,EAAE,GAAG,CAClB,MAAM,EACN;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CACtD,CAAC;IACF,aAAa,CAAC,EAAE,GAAG,CAAC;IAKpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAMxB,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED,iBAAS,qBAAqB,IAAI,eAAe,CAMhD;AAOD,iBAAS,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAK7D;AAWD,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,GAAG,EACZ,UAAU,CAAC,EAAE,eAAe,GAC3B;IAAE,KAAK,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBlE;AAUD,iBAAS,6BAA6B,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,IAAI,CAaN;AAeD,iBAAe,qBAAqB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAkB9D;AAWD,iBAAS,iBAAiB,CACxB,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,CACJ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,KACX;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D,GACL;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqD9C;AAQD,iBAAe,mBAAmB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,IAAS,GACV,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,aAAa,CAAC,EAAE,OAAO,qBAAqB,CAAC;QAC7C,WAAW,CAAC,EAAE,OAAO,mBAAmB,CAAC;QACzC,kBAAkB,CAAC,EAAE,OAAO,0BAA0B,CAAC;QACvD,eAAe,CAAC,EAAE,OAAO,sBAAsB,CAAC;QAChD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACnD,iBAAiB,CAAC,EAAE,MAAM;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,KAAK,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACxE,CAAC;CACH,GAAG,OAAO,CACP;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAChC,CAuGA;AAOD,iBAAS,eAAe,CACtB,QAAQ,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,EACD,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAoDzD;AAOD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,iBAAe,cAAc,CAAC,EAC5B,MAAM,EACN,QAAQ,EACR,OAAc,EACd,QAAQ,EACR,IAAI,GACL,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,GAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2D7C;AAKD,iBAAe,eAAe,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAIjB,UAAU,EAAE;QACV,WAAW,EAAE,CACX,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;QAC7C,WAAW,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QAI/D,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,GAAG,KACN,OAAO,CAAC;YAAE,KAAK,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAG3E,SAAS,CAAC,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC;KACxC,CAAC;CACH,GAAG,OAAO,CAAC,GAAG,CAAC,CAsSf;AAMD,iBAAe,mBAAmB,CAChC,KAAK,EAAE,eAAe,EACtB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB7B;AAOD,iBAAe,eAAe,CAAC,EAC7B,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhB;AAKD,UAAU,kBAAkB;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC/D,uEAAuE;IACvE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,oCAAoC;IACpC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAkDD,iBAAe,yBAAyB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,GAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAyBtB;AAQD,iBAAe,4BAA4B,CACzC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAUtB;AAMD,iBAAe,kBAAkB,CAC/B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAYD,iBAAe,kBAAkB,CAC/B,UAAU,EAAE,eAAe,GAAG,SAAS,EACvC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,EACtD,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
1
+ {"version":3,"file":"appSurface.d.ts","sourceRoot":"","sources":["../../../src/core/tests/appSurface.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { normalizeDeviceDescriptor } from "./androidEmulator.js";
20
20
  import { APP_GESTURES } from "./appGestures.js";
21
21
  import { isMobileTargetPlatform } from "./mobilePlatform.js";
22
22
  import { stepTargetsAppSurface, stepOpensAppSurface, } from "../../runtime/browserStepKeys.js";
23
+ import { activateSurface, } from "./activeSurface.js";
23
24
  import { validate } from "../../common/src/validate.js";
24
25
  export { classifyAppIdentifier, defaultAppSurfaceName, classifyNativeSelector, buildUiaLocator, buildAxLocator, buildUiAutomator2Locator, buildXCUITestLocator, createAppSessionState, appSurfacePreflight,
25
26
  // Exported as a test seam: the JXA probe must return a definitive boolean
@@ -1100,6 +1101,7 @@ async function startAppSurface({ config, step, appSession, platform, serverDeps,
1100
1101
  deviceName,
1101
1102
  });
1102
1103
  appSession.activeApp = name;
1104
+ activateSurface(appSession.tracker, { kind: "app", name });
1103
1105
  // Window-selector baseline (ADR 01036, desktop): capture the main window
1104
1106
  // handle / pid / known-vs-foreign handles (Windows) or the (title, frame)
1105
1107
  // baseline (macOS) so `-1` "newest window" diffs and pid-filtered adoption
@@ -1169,11 +1171,19 @@ async function startAppSurface({ config, step, appSession, platform, serverDeps,
1169
1171
  }
1170
1172
  // Bring an app surface's app to the foreground on its shared Android device
1171
1173
  // session before acting on it — the active-surface switch, mirroring browser
1172
- // tab focus. No-op for desktop surfaces (one driver per app) and when the app
1173
- // is already foreground. Returns an error string if activation fails.
1174
+ // tab focus. Desktop surfaces (one driver per app) need no driver-level
1175
+ // foregrounding, but the ACTIVE-SURFACE pointer still moves (ADR 01081): a
1176
+ // step that references an app surface makes it the surface later
1177
+ // surface-less steps act on, uniformly across kinds. Returns an error string
1178
+ // if activation fails.
1174
1179
  async function ensureAppForeground(entry, appSession) {
1175
- if (!entry.deviceName || !appSession)
1180
+ if (!appSession)
1181
+ return {};
1182
+ if (!entry.deviceName) {
1183
+ appSession.activeApp = entry.name;
1184
+ activateSurface(appSession.tracker, { kind: "app", name: entry.name });
1176
1185
  return {};
1186
+ }
1177
1187
  const session = appSession.deviceSessions?.get(entry.deviceName);
1178
1188
  // A surface carrying a deviceName must have a live device session. A missing
1179
1189
  // one is an internal inconsistency — fail loudly instead of skipping the
@@ -1183,18 +1193,19 @@ async function ensureAppForeground(entry, appSession) {
1183
1193
  error: `Couldn't switch to app surface "${entry.name}" (${entry.appId}): no active session for device "${entry.deviceName}".`,
1184
1194
  };
1185
1195
  }
1186
- if (session.foregroundApp === entry.appId)
1187
- return {};
1188
- try {
1189
- await session.driver.activateApp(entry.appId);
1190
- }
1191
- catch (error) {
1192
- return {
1193
- error: `Couldn't switch to app surface "${entry.name}" (${entry.appId}) on device "${entry.deviceName}": ${error?.message ?? error}`,
1194
- };
1196
+ if (session.foregroundApp !== entry.appId) {
1197
+ try {
1198
+ await session.driver.activateApp(entry.appId);
1199
+ }
1200
+ catch (error) {
1201
+ return {
1202
+ error: `Couldn't switch to app surface "${entry.name}" (${entry.appId}) on device "${entry.deviceName}": ${error?.message ?? error}`,
1203
+ };
1204
+ }
1205
+ session.foregroundApp = entry.appId;
1195
1206
  }
1196
- session.foregroundApp = entry.appId;
1197
1207
  appSession.activeApp = entry.name;
1208
+ activateSurface(appSession.tracker, { kind: "app", name: entry.name });
1198
1209
  return {};
1199
1210
  }
1200
1211
  // Close a registered app surface and deregister it. On desktop, ending the