doc-detective 4.18.0 → 4.20.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 (115) hide show
  1. package/dist/common/src/schemas/schemas.json +87752 -6953
  2. package/dist/common/src/types/generated/closeSurface_v3.d.ts +83 -17
  3. package/dist/common/src/types/generated/closeSurface_v3.d.ts.map +1 -1
  4. package/dist/common/src/types/generated/config_v3.d.ts +24 -0
  5. package/dist/common/src/types/generated/config_v3.d.ts.map +1 -1
  6. package/dist/common/src/types/generated/context_v3.d.ts +24 -0
  7. package/dist/common/src/types/generated/context_v3.d.ts.map +1 -1
  8. package/dist/common/src/types/generated/dragAndDrop_v3.d.ts +2 -2
  9. package/dist/common/src/types/generated/goTo_v3.d.ts +2 -2
  10. package/dist/common/src/types/generated/record_v3.d.ts +2 -2
  11. package/dist/common/src/types/generated/report_v3.d.ts +24 -0
  12. package/dist/common/src/types/generated/report_v3.d.ts.map +1 -1
  13. package/dist/common/src/types/generated/resolvedTests_v3.d.ts +48 -0
  14. package/dist/common/src/types/generated/resolvedTests_v3.d.ts.map +1 -1
  15. package/dist/common/src/types/generated/runBrowserScript_v3.d.ts +2 -2
  16. package/dist/common/src/types/generated/screenshot_v3.d.ts +42 -5
  17. package/dist/common/src/types/generated/screenshot_v3.d.ts.map +1 -1
  18. package/dist/common/src/types/generated/spec_v3.d.ts +24 -0
  19. package/dist/common/src/types/generated/spec_v3.d.ts.map +1 -1
  20. package/dist/common/src/types/generated/startSurface_v3.d.ts +108 -0
  21. package/dist/common/src/types/generated/startSurface_v3.d.ts.map +1 -0
  22. package/dist/common/src/types/generated/startSurface_v3.js +7 -0
  23. package/dist/common/src/types/generated/startSurface_v3.js.map +1 -0
  24. package/dist/common/src/types/generated/step_v3.d.ts +548 -123
  25. package/dist/common/src/types/generated/step_v3.d.ts.map +1 -1
  26. package/dist/common/src/types/generated/surface_v3.d.ts +37 -4
  27. package/dist/common/src/types/generated/surface_v3.d.ts.map +1 -1
  28. package/dist/common/src/types/generated/test_v3.d.ts +2023 -1037
  29. package/dist/common/src/types/generated/test_v3.d.ts.map +1 -1
  30. package/dist/common/src/types/generated/type_v3.d.ts +62 -12
  31. package/dist/common/src/types/generated/type_v3.d.ts.map +1 -1
  32. package/dist/common/src/types/generated/waitUntil_v3.d.ts +22 -8
  33. package/dist/common/src/types/generated/waitUntil_v3.d.ts.map +1 -1
  34. package/dist/core/appium.d.ts.map +1 -1
  35. package/dist/core/appium.js +10 -0
  36. package/dist/core/appium.js.map +1 -1
  37. package/dist/core/detectTests.d.ts.map +1 -1
  38. package/dist/core/detectTests.js +26 -1
  39. package/dist/core/detectTests.js.map +1 -1
  40. package/dist/core/expressions.d.ts.map +1 -1
  41. package/dist/core/expressions.js +19 -1
  42. package/dist/core/expressions.js.map +1 -1
  43. package/dist/core/resolveTests.d.ts.map +1 -1
  44. package/dist/core/resolveTests.js +24 -6
  45. package/dist/core/resolveTests.js.map +1 -1
  46. package/dist/core/tests/appSurface.d.ts +106 -0
  47. package/dist/core/tests/appSurface.d.ts.map +1 -0
  48. package/dist/core/tests/appSurface.js +521 -0
  49. package/dist/core/tests/appSurface.js.map +1 -0
  50. package/dist/core/tests/browserSessions.d.ts +51 -0
  51. package/dist/core/tests/browserSessions.d.ts.map +1 -0
  52. package/dist/core/tests/browserSessions.js +219 -0
  53. package/dist/core/tests/browserSessions.js.map +1 -0
  54. package/dist/core/tests/browserSurface.d.ts +5 -1
  55. package/dist/core/tests/browserSurface.d.ts.map +1 -1
  56. package/dist/core/tests/browserSurface.js +93 -45
  57. package/dist/core/tests/browserSurface.js.map +1 -1
  58. package/dist/core/tests/click.d.ts +2 -1
  59. package/dist/core/tests/click.d.ts.map +1 -1
  60. package/dist/core/tests/click.js +2 -1
  61. package/dist/core/tests/click.js.map +1 -1
  62. package/dist/core/tests/closeSurface.d.ts +3 -1
  63. package/dist/core/tests/closeSurface.d.ts.map +1 -1
  64. package/dist/core/tests/closeSurface.js +128 -11
  65. package/dist/core/tests/closeSurface.js.map +1 -1
  66. package/dist/core/tests/dragAndDrop.d.ts.map +1 -1
  67. package/dist/core/tests/dragAndDrop.js +4 -1
  68. package/dist/core/tests/dragAndDrop.js.map +1 -1
  69. package/dist/core/tests/findElement.d.ts +2 -1
  70. package/dist/core/tests/findElement.d.ts.map +1 -1
  71. package/dist/core/tests/findElement.js +64 -4
  72. package/dist/core/tests/findElement.js.map +1 -1
  73. package/dist/core/tests/goTo.d.ts.map +1 -1
  74. package/dist/core/tests/goTo.js +9 -4
  75. package/dist/core/tests/goTo.js.map +1 -1
  76. package/dist/core/tests/runBrowserScript.d.ts.map +1 -1
  77. package/dist/core/tests/runBrowserScript.js +3 -1
  78. package/dist/core/tests/runBrowserScript.js.map +1 -1
  79. package/dist/core/tests/runCode.d.ts +2 -1
  80. package/dist/core/tests/runCode.d.ts.map +1 -1
  81. package/dist/core/tests/runCode.js +11 -1
  82. package/dist/core/tests/runCode.js.map +1 -1
  83. package/dist/core/tests/runShell.d.ts +2 -1
  84. package/dist/core/tests/runShell.d.ts.map +1 -1
  85. package/dist/core/tests/runShell.js +11 -1
  86. package/dist/core/tests/runShell.js.map +1 -1
  87. package/dist/core/tests/saveScreenshot.d.ts +2 -1
  88. package/dist/core/tests/saveScreenshot.d.ts.map +1 -1
  89. package/dist/core/tests/saveScreenshot.js +57 -10
  90. package/dist/core/tests/saveScreenshot.js.map +1 -1
  91. package/dist/core/tests/startRecording.d.ts +2 -1
  92. package/dist/core/tests/startRecording.d.ts.map +1 -1
  93. package/dist/core/tests/startRecording.js +15 -6
  94. package/dist/core/tests/startRecording.js.map +1 -1
  95. package/dist/core/tests/stopRecording.d.ts.map +1 -1
  96. package/dist/core/tests/stopRecording.js +25 -3
  97. package/dist/core/tests/stopRecording.js.map +1 -1
  98. package/dist/core/tests/typeKeys.d.ts +2 -1
  99. package/dist/core/tests/typeKeys.d.ts.map +1 -1
  100. package/dist/core/tests/typeKeys.js +89 -5
  101. package/dist/core/tests/typeKeys.js.map +1 -1
  102. package/dist/core/tests.d.ts +9 -2
  103. package/dist/core/tests.d.ts.map +1 -1
  104. package/dist/core/tests.js +305 -47
  105. package/dist/core/tests.js.map +1 -1
  106. package/dist/core/utils.d.ts +14 -1
  107. package/dist/core/utils.d.ts.map +1 -1
  108. package/dist/core/utils.js +90 -1
  109. package/dist/core/utils.js.map +1 -1
  110. package/dist/index.cjs +89465 -7627
  111. package/dist/runtime/loader.d.ts +8 -0
  112. package/dist/runtime/loader.d.ts.map +1 -1
  113. package/dist/runtime/loader.js +10 -0
  114. package/dist/runtime/loader.js.map +1 -1
  115. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"click.js","sourceRoot":"","sources":["../../../src/core/tests/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,oBAAoB;AACpB,KAAK,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAA2C;IAC3F,MAAM,MAAM,GAAQ;QAClB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,wBAAwB;IACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,sCAAsC;IACtC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;IAC1B,IAAI,QAAa,CAAC;IAElB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1C,qBAAqB;QACrB,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM;SACpC,CAAC;QACF,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAC5E,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;QACnC,MAAM;QACN,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,0EAA0E;IAC1E,qBAAqB;IACrB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"click.js","sourceRoot":"","sources":["../../../src/core/tests/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,oBAAoB;AACpB,KAAK,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAA6D;IACzH,MAAM,MAAM,GAAQ;QAClB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,wBAAwB;IACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,sCAAsC;IACtC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;IAC1B,IAAI,QAAa,CAAC;IAElB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1C,qBAAqB;QACrB,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM;SACpC,CAAC;QACF,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAC5E,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC;QACnC,MAAM;QACN,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,KAAK,EAAE,IAAI;QACX,UAAU;KACX,CAAC,CAAC;IAEH,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,0EAA0E;IAC1E,qBAAqB;IACrB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,9 +1,11 @@
1
+ import { type AppSessionState } from "./appSurface.js";
1
2
  export { closeSurface, resolveSurfaceNames };
2
3
  declare function resolveSurfaceNames(ref: any): string[];
3
- declare function closeSurface({ config, step, driver, processRegistry, }: {
4
+ declare function closeSurface({ config, step, driver, processRegistry, appSession, }: {
4
5
  config: any;
5
6
  step: any;
6
7
  driver?: any;
7
8
  processRegistry?: Map<string, any>;
9
+ appSession?: AppSessionState;
8
10
  }): Promise<any>;
9
11
  //# sourceMappingURL=closeSurface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"closeSurface.d.ts","sourceRoot":"","sources":["../../../src/core/tests/closeSurface.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAM7C,iBAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAQ/C;AAQD,iBAAe,YAAY,CAAC,EAC1B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,gBAwIA"}
1
+ {"version":3,"file":"closeSurface.d.ts","sourceRoot":"","sources":["../../../src/core/tests/closeSurface.ts"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIxE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAM7C,iBAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAQ/C;AAQD,iBAAe,YAAY,CAAC,EAC1B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,eAAe,EACf,UAAU,GACX,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,gBAyQA"}
@@ -1,6 +1,8 @@
1
1
  import { validate } from "../../common/src/validate.js";
2
2
  import { log } from "../utils.js";
3
- import { parseSurfaceRef, resolveCloseTargets, closeHandle, syncHandles, } from "./browserSurface.js";
3
+ import { parseSurfaceRef, reinterpretForSessions, resolveCloseTargets, closeHandle, syncHandles, } from "./browserSurface.js";
4
+ import { findSession, closeSession } from "./browserSessions.js";
5
+ import { closeAppSurface } from "./appSurface.js";
4
6
  import kill from "tree-kill";
5
7
  import fs from "node:fs";
6
8
  export { closeSurface, resolveSurfaceNames };
@@ -24,7 +26,7 @@ function resolveSurfaceNames(ref) {
24
26
  // selected tab, or a whole window (its tabs, then its lead). Idempotent —
25
27
  // closing a surface that is not open is a PASS no-op. Replaces the former
26
28
  // `stopProcess` step (clean rename).
27
- async function closeSurface({ config, step, driver, processRegistry, }) {
29
+ async function closeSurface({ config, step, driver, processRegistry, appSession, }) {
28
30
  const result = {
29
31
  status: "PASS",
30
32
  description: "Closed surface.",
@@ -44,17 +46,68 @@ async function closeSurface({ config, step, driver, processRegistry, }) {
44
46
  const closed = [];
45
47
  const absent = [];
46
48
  for (const item of items) {
47
- const ref = parseSurfaceRef(item);
49
+ // A bare string is identity-only: when a browser session owns the name,
50
+ // it closes that browser, not a background process (Phase 4).
51
+ const ref = reinterpretForSessions(driver, parseSurfaceRef(item));
48
52
  if (ref.kind === "browser") {
49
- // Browser windows/tabs (Phase 3). A reference without window/tab
50
- // selectors means "the whole browser" — a later-phase operation that
51
- // resolveCloseTargets rejects with guidance.
52
53
  if (!driver) {
53
54
  result.status = "FAIL";
54
55
  result.description = `No browser is running in this context to close ${JSON.stringify(item)}.`;
55
56
  return result;
56
57
  }
57
- const targets = await resolveCloseTargets(driver, ref);
58
+ const registry = driver?.state?.sessionRegistry;
59
+ // Resolve WHICH session the reference targets (Phase 4). Conflicts
60
+ // (wrong engine for a name, ambiguous engine) FAIL loudly; a reference
61
+ // that matches no session is an idempotent no-op like every other
62
+ // absent-surface close.
63
+ let targetDriver = driver;
64
+ let sessionName;
65
+ if (registry) {
66
+ const found = findSession(registry, ref);
67
+ if (!found.ok) {
68
+ result.status = "FAIL";
69
+ result.description = found.message;
70
+ return result;
71
+ }
72
+ if (!found.entry) {
73
+ // The whole browser isn't open, so a window/tab close is an absent
74
+ // no-op. Keep the selector detail in the label so `outputs.absent`
75
+ // stays as informative as the session-open no-match path below.
76
+ const base = typeof item === "string" ? item : String(ref.name ?? ref.engine);
77
+ const detail = ref.tab !== undefined
78
+ ? ` tab ${JSON.stringify(ref.tab)}`
79
+ : ref.window !== undefined
80
+ ? ` window ${JSON.stringify(ref.window)}`
81
+ : "";
82
+ absent.push(`${base}${detail}`);
83
+ continue;
84
+ }
85
+ targetDriver = found.entry.driver;
86
+ sessionName = found.entry.name;
87
+ }
88
+ // A reference without window/tab selectors closes the WHOLE browser
89
+ // session (ADR 01019). Refuse while a recording is active on it — the
90
+ // recorder tab and capture live inside the session, so deleting it
91
+ // mid-recording would leak the recording.
92
+ if (ref.window === undefined && ref.tab === undefined) {
93
+ if (!registry || !sessionName) {
94
+ result.status = "FAIL";
95
+ result.description = `Closing the whole browser surface ${JSON.stringify(item)} requires the context's session registry, which isn't available here.`;
96
+ return result;
97
+ }
98
+ if (Array.isArray(targetDriver?.state?.recordings) &&
99
+ targetDriver.state.recordings.length > 0) {
100
+ result.status = "FAIL";
101
+ result.description = `Browser surface "${sessionName}" has an active recording. Stop it (stopRecord) before closing the browser.`;
102
+ return result;
103
+ }
104
+ await closeSession(registry, sessionName);
105
+ log(config, "debug", `Closed browser surface "${sessionName}".`);
106
+ closed.push(sessionName);
107
+ continue;
108
+ }
109
+ // Window/tab close within the resolved session.
110
+ const targets = await resolveCloseTargets(targetDriver, ref);
58
111
  if (!targets.ok) {
59
112
  result.status = "FAIL";
60
113
  result.description = targets.message;
@@ -64,9 +117,18 @@ async function closeSurface({ config, step, driver, processRegistry, }) {
64
117
  // only scopes the search — see resolveCloseTargets), so label by what
65
118
  // actually closes: tab whenever a tab selector is present.
66
119
  const closesTab = item.tab !== undefined;
120
+ // A string browser ref (a bare engine keyword with no window/tab) is
121
+ // rejected as a whole-browser close by resolveCloseTargets above and
122
+ // returns before this label is built, so `item` is always an object here
123
+ // and the string arm is defensively unreachable. The tab-vs-window
124
+ // labeling is still asserted by the tests; c8's ternary-branch mapping
125
+ // can't isolate the dead string arm from this covered expression, so the
126
+ // whole label build is excluded (ADR 01017).
127
+ /* c8 ignore start */
67
128
  const label = typeof item === "string"
68
129
  ? item
69
130
  : `${ref.engine} ${closesTab ? "tab" : "window"} ${JSON.stringify(closesTab ? item.tab : item.window)}`;
131
+ /* c8 ignore stop */
70
132
  if (!targets.handles.length) {
71
133
  // Idempotent: nothing matched the selector — a no-op, still PASS.
72
134
  absent.push(label);
@@ -78,30 +140,81 @@ async function closeSurface({ config, step, driver, processRegistry, }) {
78
140
  // some tabs and then FAIL on the last one with the session already
79
141
  // mutated. (Multi-item closeSurface is not atomic — each array entry is
80
142
  // resolved and closed in turn; this guard is per-entry.)
81
- const state = await syncHandles(driver);
143
+ const state = await syncHandles(targetDriver);
82
144
  const closing = new Set(targets.handles);
83
145
  const survivors = state.windows.filter((w) => !w.internal && !closing.has(w.handle));
84
146
  if (survivors.length === 0) {
85
147
  result.status = "FAIL";
86
- result.description =
87
- "Refusing to close the last open tab — it would end the browser session. Close the whole browser with the run's teardown instead.";
148
+ result.description = `Refusing to close the last open tab — it would end the browser session. Close the whole browser instead (e.g. { "closeSurface": ${JSON.stringify(sessionName ?? ref.engine)} }).`;
88
149
  return result;
89
150
  }
90
151
  for (const handle of targets.handles) {
91
- const closedResult = await closeHandle(driver, handle);
152
+ const closedResult = await closeHandle(targetDriver, handle);
153
+ /* c8 ignore start - defensive: unreachable given the per-entry preflight
154
+ * above. resolveCloseTargets returns distinct, still-live handles (a
155
+ * window's children then its lead), and the survivors>0 guard above has
156
+ * already refused this entry unless a non-closing user tab survives. So
157
+ * in this loop closeHandle never trips its own last-tab guard (a survivor
158
+ * always remains), never resolves entry-not-found (each distinct target
159
+ * is still open on its turn), and always finds a `next` handle to focus
160
+ * -- it cannot return ok:false here. No hermetic input drives this
161
+ * branch (ADR 01017). */
92
162
  if (!closedResult.ok) {
93
163
  result.status = "FAIL";
94
164
  result.description = closedResult.message;
95
165
  return result;
96
166
  }
167
+ /* c8 ignore stop */
97
168
  }
98
169
  log(config, "debug", `Closed ${label}.`);
99
170
  closed.push(label);
100
171
  continue;
101
172
  }
173
+ // App surfaces (native app phase A1). The object form is authoritative;
174
+ // window-scoped app closes land in a later phase (the whole surface
175
+ // closes for now — the session ends, terminating a driver-launched app).
176
+ if (item &&
177
+ typeof item === "object" &&
178
+ typeof item.app === "string") {
179
+ const appName = item.app.trim();
180
+ const appEntry = appSession?.surfaces.get(appName);
181
+ if (!appEntry) {
182
+ absent.push(appName);
183
+ continue;
184
+ }
185
+ if (item.window !== undefined) {
186
+ result.status = "FAIL";
187
+ result.description = `Closing a single app window lands in a later phase; close the whole app surface ("closeSurface": {"app": "${appName}"}) instead.`;
188
+ return result;
189
+ }
190
+ await closeAppSurface({ entry: appEntry, appSession: appSession });
191
+ log(config, "debug", `Closed app surface "${appName}".`);
192
+ closed.push(appName);
193
+ continue;
194
+ }
195
+ // Every item reaching this point passed surface_v3 validation, so it is
196
+ // a browser ref (handled and `continue`d above), an app object ref
197
+ // (likewise), or a process ref with a non-empty name; a kind-less or
198
+ // nameless surface cannot pass the schema, so this guard's `continue`
199
+ // arm is unreachable (ADR 01017).
200
+ /* c8 ignore next */
102
201
  if (ref.kind !== "process" || !ref.name)
103
202
  continue;
104
203
  const name = ref.name;
204
+ // A bare string can name a process OR an app surface; processes resolve
205
+ // first (the pre-app behavior), then the app registry. A collision is
206
+ // logged so the priority is visible; the object form ({"app": …}) always
207
+ // targets the app unambiguously.
208
+ const appEntry = appSession?.surfaces.get(name);
209
+ if (processRegistry?.get(name) && appEntry) {
210
+ log(config, "debug", `"${name}" names both a background process and an app surface; closing the process (processes resolve first). Use {"app": "${name}"} to close the app surface.`);
211
+ }
212
+ if (!processRegistry?.get(name) && appEntry) {
213
+ await closeAppSurface({ entry: appEntry, appSession: appSession });
214
+ log(config, "debug", `Closed app surface "${name}".`);
215
+ closed.push(name);
216
+ continue;
217
+ }
105
218
  const entry = processRegistry?.get(name);
106
219
  if (!entry) {
107
220
  // Idempotent: closing an absent surface is a no-op (still PASS).
@@ -138,6 +251,10 @@ async function closeSurface({ config, step, driver, processRegistry, }) {
138
251
  .map((n) => `"${n}"`)
139
252
  .join(", ")} not open; nothing to close.`);
140
253
  result.status = "PASS";
254
+ // `items` has >=1 schema-validated entry and each lands in `closed` or
255
+ // `absent` (or returns early on a browser FAIL), so `parts` is never empty
256
+ // and the "No surfaces to close." fallback is unreachable (ADR 01017).
257
+ /* c8 ignore next */
141
258
  result.description = parts.join(" ") || "No surfaces to close.";
142
259
  result.outputs = {
143
260
  closed,
@@ -1 +1 @@
1
- {"version":3,"file":"closeSurface.js","sourceRoot":"","sources":["../../../src/core/tests/closeSurface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeSurface.js","sourceRoot":"","sources":["../../../src/core/tests/closeSurface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dragAndDrop.d.ts","sourceRoot":"","sources":["../../../src/core/tests/dragAndDrop.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAa9B,iBAAe,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,gBAyNlG"}
1
+ {"version":3,"file":"dragAndDrop.d.ts","sourceRoot":"","sources":["../../../src/core/tests/dragAndDrop.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAa9B,iBAAe,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,gBA4NlG"}
@@ -80,7 +80,9 @@ async function dragAndDropElement({ config, step, driver }) {
80
80
  }
81
81
  // Accept coerced and defaulted values
82
82
  step = isValidStep.object;
83
- // Multi-surface Phase 3: focus the window/tab the source and target live in.
83
+ // Multi-surface Phase 3/4: focus the session + window/tab the source and
84
+ // target live in. A cross-session reference resolves to that session's
85
+ // driver.
84
86
  if (step.dragAndDrop.surface !== undefined) {
85
87
  const switched = await switchToSurface(driver, step.dragAndDrop.surface);
86
88
  if (!switched.ok) {
@@ -88,6 +90,7 @@ async function dragAndDropElement({ config, step, driver }) {
88
90
  result.description = switched.message;
89
91
  return result;
90
92
  }
93
+ driver = switched.driver ?? driver;
91
94
  }
92
95
  // Set default duration if not provided
93
96
  const duration = step.dragAndDrop.duration || 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"dragAndDrop.js","sourceRoot":"","sources":["../../../src/core/tests/dragAndDrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,kDAAkD;AAClD,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,4EAA4E;AAC5E,+EAA+E;AAC/E,iFAAiF;AACjF,2EAA2E;AAC3E,iFAAiF;AACjF,4EAA4E;AAC5E,6CAA6C;AAC7C,KAAK,UAAU,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAA2C;IACjG,KAAK,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAA2D;QAC5H,MAAM,MAAM,CAAC,OAAO;QAClB;;;;0BAIkB;QAClB,CAAC,aAAkB,EAAE,aAAkB,EAAE,EAAE;YACzC,2DAA2D;YAC3D,SAAS,qBAAqB,CAAC,MAAW,EAAE,MAAW;gBACrD,sCAAsC;gBACtC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE;oBAChD,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI,YAAY,EAAE;iBACjC,CAAC,CAAC;gBAEH,yBAAyB;gBACzB,cAAc,CAAC,YAAa,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1B,cAAc,CAAC,YAAa,CAAC,OAAO,CAClC,aAAa,EACb,MAAM,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC;gBACJ,CAAC;gBAED,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAErC,+CAA+C;gBAC/C,MAAM,aAAa,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE;oBAC9C,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC,CAAC;gBACH,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAEpC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE;oBACtC,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC,CAAC;gBACH,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAEhC,oCAAoC;gBACpC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE;oBAC5C,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,cAAc,CAAC,YAAY;iBAC1C,CAAC,CAAC;gBACH,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEnC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,oBAAoB;QACpB,aAAa,EACb,aAAa,CACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAQ;QAClB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,wBAAwB;IACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,sCAAsC;IACtC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;IAE1B,6EAA6E;IAC7E,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC;IAEnD,IAAI,aAAkB,EAAE,aAAkB,CAAC;IAE3C,IAAI,CAAC;QACH,2CAA2C;QAC3C,IAAI,cAAmB,CAAC;QACxB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChD,cAAc,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,IAAI,cAAmB,CAAC;QACxB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChD,cAAc,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,6CAA6C;QAC7C,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YACrD,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;SACtD,CAAC,CAAC;QAEH,yEAAyE;QACzE,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;QAClE,MAAM,KAAK,GAA4B;YACrC,EAAE,SAAS,EAAE,+BAA+B,EAAE,QAAQ,EAAE,MAAM,EAAE;YAChE,EAAE,SAAS,EAAE,+BAA+B,EAAE,QAAQ,EAAE,MAAM,EAAE;SACjE,CAAC;QACF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAC7D,KAAK,EACL,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CACnD,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvB,iEAAiE;QACjE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,WAAW,GAAG,iBACnB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAC1C,WAAW,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;QAChD,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;QAChD,MAAM,CAAC,WAAW,GAAG,6CAA6C,CAAC;IACrE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,mBAAmB,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzE,GAAG,CACD,MAAM,EACN,OAAO,EACP,6BAA6B,iBAAiB,sBAAsB,mBAAmB,EAAE,CAC1F,CAAC;QAEF,yDAAyD;QACzD,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,0CAA0C,CAAC,CAAC;QAEjE,sDAAsD;QACtD,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QAChE,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAExD,MAAM,aAAa,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE7D,mDAAmD;QACnD,MAAM,mBAAmB,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAEtD,MAAM,aAAa,GACjB,qBAAqB,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC;YACjD,qBAAqB,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK;YACjD,iBAAiB,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,CAAC;QAEtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,4DAA4D;YAC5D,GAAG,CACD,MAAM,EACN,OAAO,EACP,+EAA+E,CAChF,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,GAAG,CACD,MAAM,EACN,OAAO,EACP,kEAAkE,KAAK,CAAC,OAAO,EAAE,CAClF,CAAC;gBACF,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,WAAW,IAAI,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,GAAG,CACD,MAAM,EACN,OAAO,EACP,+FAA+F,CAChG,CAAC;YACF,MAAM,CAAC,WAAW,IAAI,2BAA2B,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,4CAA4C,CAAC,CAAC;YACnE,MAAM,CAAC,WAAW,IAAI,2BAA2B,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;IACP,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"dragAndDrop.js","sourceRoot":"","sources":["../../../src/core/tests/dragAndDrop.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  export { findElement };
2
- declare function findElement({ config, step, driver, click }: {
2
+ declare function findElement({ config, step, driver, click, appSession }: {
3
3
  config: any;
4
4
  step: any;
5
5
  driver: any;
6
6
  click?: any;
7
+ appSession?: any;
7
8
  }): Promise<any>;
8
9
  //# sourceMappingURL=findElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findElement.d.ts","sourceRoot":"","sources":["../../../src/core/tests/findElement.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,CAAC;AA6BvB,iBAAe,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,gBA8K/G"}
1
+ {"version":3,"file":"findElement.d.ts","sourceRoot":"","sources":["../../../src/core/tests/findElement.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,WAAW,EAAE,CAAC;AA6BvB,iBAAe,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,gBAwO7I"}
@@ -1,5 +1,6 @@
1
1
  import { validate } from "../../common/src/validate.js";
2
2
  import { switchToSurface } from "./browserSurface.js";
3
+ import { resolveAppSurfaceRef, findAppElement } from "./appSurface.js";
3
4
  import { findElementByShorthand, findElementByCriteria, setElementOutputs, } from "./findStrategies.js";
4
5
  import { typeKeys } from "./typeKeys.js";
5
6
  import { moveTo } from "./moveTo.js";
@@ -33,7 +34,7 @@ async function finalizeFound({ result }) {
33
34
  return result;
34
35
  }
35
36
  // Find a single element
36
- async function findElement({ config, step, driver, click }) {
37
+ async function findElement({ config, step, driver, click, appSession }) {
37
38
  let result = {
38
39
  status: "PASS",
39
40
  description: "Found an element matching selector.",
@@ -48,9 +49,67 @@ async function findElement({ config, step, driver, click }) {
48
49
  }
49
50
  // Accept coerced and defaulted values
50
51
  step = isValidStep.object;
51
- // Multi-surface Phase 3: focus the requested window/tab first. The tab stays
52
- // focused afterward (active = most recently focused). click delegates here,
53
- // so its `surface` rides along in the constructed find step.
52
+ // Native app surfaces (phase A1): a find whose surface names an app runs on
53
+ // the app session's driver via the platform's semantic-locator mapping.
54
+ // click delegates here, so app clicks ride the same path.
55
+ if (typeof step.find === "object" && step.find.surface !== undefined) {
56
+ const appRef = resolveAppSurfaceRef(step.find.surface, appSession);
57
+ if (appRef) {
58
+ if (appRef.error) {
59
+ result.status = "FAIL";
60
+ result.description = appRef.error;
61
+ return result;
62
+ }
63
+ if (appRef.window !== undefined) {
64
+ result.status = "FAIL";
65
+ result.description =
66
+ "Window selectors on app surfaces land in a later part of this phase; act on the app's active window for now (omit `window`).";
67
+ return result;
68
+ }
69
+ const appDriver = appRef.entry.driver;
70
+ const found = await findAppElement({
71
+ driver: appDriver,
72
+ criteria: step.find,
73
+ // ?? so an explicit `timeout: 0` (schema minimum) stays an
74
+ // immediate check instead of being clobbered to the default.
75
+ timeout: step.find.timeout ?? 5000,
76
+ });
77
+ if (found.error) {
78
+ result.description = found.error;
79
+ result.outputs.found = false;
80
+ return await finalizeFound({ result });
81
+ }
82
+ result.outputs.found = true;
83
+ try {
84
+ result.outputs.element = { text: await found.element.getText() };
85
+ }
86
+ catch {
87
+ // Text extraction is best-effort on native elements.
88
+ }
89
+ await finalizeFound({ result });
90
+ if (step.find.moveTo || step.find.type) {
91
+ result.status = "FAIL";
92
+ result.description +=
93
+ " The moveTo/type sub-effects aren't supported on app surfaces; use a separate `type` step targeting the app surface.";
94
+ return result;
95
+ }
96
+ if (click || step.find.click) {
97
+ try {
98
+ await found.element.click();
99
+ result.description += " Clicked element.";
100
+ }
101
+ catch (error) {
102
+ result.status = "FAIL";
103
+ result.description += ` Couldn't click element. Error: ${error.message}`;
104
+ }
105
+ }
106
+ return result;
107
+ }
108
+ }
109
+ // Multi-surface Phase 3/4: focus the requested session + window/tab first.
110
+ // The surface stays active afterward (active = most recently focused).
111
+ // click delegates here, so its `surface` rides along in the constructed
112
+ // find step. A cross-session reference resolves to that session's driver.
54
113
  if (typeof step.find === "object" && step.find.surface !== undefined) {
55
114
  const switched = await switchToSurface(driver, step.find.surface);
56
115
  if (!switched.ok) {
@@ -58,6 +117,7 @@ async function findElement({ config, step, driver, click }) {
58
117
  result.description = switched.message;
59
118
  return result;
60
119
  }
120
+ driver = switched.driver ?? driver;
61
121
  }
62
122
  // Handle combo selector/text string
63
123
  if (typeof step.find === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"findElement.js","sourceRoot":"","sources":["../../../src/core/tests/findElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findElement.js","sourceRoot":"","sources":["../../../src/core/tests/findElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,oEAAoE;AACpE,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,+EAA+E;AAC/E,qCAAqC;AACrC,EAAE;AACF,uEAAuE;AACvE,6EAA6E;AAC7E,+EAA+E;AAC/E,KAAK,UAAU,aAAa,CAAC,EAAE,MAAM,EAAmB;IACtD,MAAM,KAAK,GAA4B;QACrC,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC3D,CAAC;IACF,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5E,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wBAAwB;AACxB,KAAK,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAA0E;IAC5I,IAAI,MAAM,GAAQ;QAChB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,wBAAwB;IACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,4BAA4B,WAAW,CAAC,MAAM,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,sCAAsC;IACtC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;IAE1B,4EAA4E;IAC5E,wEAAwE;IACxE,0DAA0D;IAC1D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,WAAW;oBAChB,8HAA8H,CAAC;gBACjI,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAM,CAAC,MAAM,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;gBACjC,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,2DAA2D;gBAC3D,6DAA6D;gBAC7D,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI;aACnC,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC7B,OAAO,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,qDAAqD;YACvD,CAAC;YACD,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,WAAW;oBAChB,sHAAsH,CAAC;gBACzH,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC5B,MAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC;gBAC5C,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,MAAM,CAAC,WAAW,IAAI,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3E,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC;IACrC,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC;YACxD,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,MAAM;SACP,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,WAAW,IAAI,qBAAqB,OAAO,GAAG,CAAC;YACtD,MAAM,CAAC,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YAC5B,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,sEAAsE;YACtE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBACxC,MAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC;gBAC5C,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,MAAM,CAAC,WAAW,IAAI,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACzE,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,kEAAkE;YAClE,MAAM,CAAC,WAAW,GAAG,uCAAuC,CAAC;YAC7D,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAC7B,OAAO,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,uBAAuB;IACvB,IAAI,CAAC,IAAI,GAAG;QACV,GAAG,IAAI,CAAC,IAAI;QACZ,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;QAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI;QAClC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;QACxC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK;QACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK;KAC9B,CAAC;IACF,kCAAkC;IAClC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,mDAAmD;IACnD,IAAI,OAAY,CAAC;IAEjB,6CAA6C;IAC7C,MAAM,EACJ,OAAO,EAAE,YAAY,EACrB,OAAO,EACP,KAAK,GACN,GAAG,MAAM,qBAAqB,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS;QACzC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS;QAC/C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;QAC9B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;QACtC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;QACpC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;QAC5C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;QAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;QAC1B,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,WAAW,GAAG,KAAK,IAAI,+BAA+B,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,OAAO,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,YAAY,CAAC;IACvB,MAAM,CAAC,WAAW,IAAI,qBAAqB,OAAO,GAAG,CAAC;IAEtD,uBAAuB;IACvB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,WAAW,GAAG,2CAA2C,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,OAAO,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,yBAAyB;IACzB,MAAM,CAAC,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5B,wEAAwE;IACxE,yDAAyD;IACzD,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhC,kBAAkB;IAClB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,UAAU,GAAG;YACf,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;SACF,CAAC;QAEF,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,oBAAoB,CAAC;IACjE,CAAC;IAED,gBAAgB;IAChB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM;aAC1C,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,MAAM,CAAC,WAAW,IAAI,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzE,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,YAAY;IACZ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;SACrB,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,MAAM,CAAC,WAAW,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,IAAI,cAAc,CAAC;QACvC,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO;IACP,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"goTo.d.ts","sourceRoot":"","sources":["../../../src/core/tests/goTo.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,CAAC;AAgBhB,iBAAe,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE;;;GA0WpF"}
1
+ {"version":3,"file":"goTo.d.ts","sourceRoot":"","sources":["../../../src/core/tests/goTo.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,CAAC;AAgBhB,iBAAe,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE;;;GA+WpF"}
@@ -83,20 +83,25 @@ async function goTo({ config, step, driver }) {
83
83
  step.goTo.waitUntil.domIdleTime = 1000;
84
84
  }
85
85
  }
86
- // Multi-surface Phase 3: focus the requested window/tab, and open a new
87
- // tab/window when asked. goTo is the only step that opens USER-ADDRESSABLE
88
- // windows/tabs (`record` opens an internal, non-addressable recorder tab).
86
+ // Multi-surface Phase 3/4: focus the requested session + window/tab, and
87
+ // open a new tab/window when asked. goTo is the only step that opens
88
+ // USER-ADDRESSABLE windows/tabs (`record` opens an internal, non-addressable
89
+ // recorder tab) — and, per ADR 01019, the only step that opens browser
90
+ // SESSIONS: `allowOpen` lets an unresolved browser surface launch one.
89
91
  const newTab = normalizeOpener(step.goTo.newTab);
90
92
  const newWindow = normalizeOpener(step.goTo.newWindow);
91
93
  if (step.goTo.surface !== undefined) {
92
94
  // With an opener, the surface selects the WINDOW the new tab opens in;
93
95
  // without one, it selects the tab to navigate.
94
- const switched = await switchToSurface(driver, step.goTo.surface);
96
+ const switched = await switchToSurface(driver, step.goTo.surface, {
97
+ allowOpen: true,
98
+ });
95
99
  if (!switched.ok) {
96
100
  result.status = "FAIL";
97
101
  result.description = switched.message;
98
102
  return result;
99
103
  }
104
+ driver = switched.driver ?? driver;
100
105
  }
101
106
  if (newTab || newWindow) {
102
107
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"goTo.js","sourceRoot":"","sources":["../../../src/core/tests/goTo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goTo.js","sourceRoot":"","sources":["../../../src/core/tests/goTo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runBrowserScript.d.ts","sourceRoot":"","sources":["../../../src/core/tests/runBrowserScript.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAM5B,iBAAe,gBAAgB,CAAC,EAC9B,MAAM,EACN,IAAI,EACJ,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;CACb,gBA6MA"}
1
+ {"version":3,"file":"runBrowserScript.d.ts","sourceRoot":"","sources":["../../../src/core/tests/runBrowserScript.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAM5B,iBAAe,gBAAgB,CAAC,EAC9B,MAAM,EACN,IAAI,EACJ,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;CACb,gBA+MA"}
@@ -45,7 +45,8 @@ async function runBrowserScript({ config, step, driver, }) {
45
45
  "No browser available. runBrowserScript requires a browser context.";
46
46
  return result;
47
47
  }
48
- // Multi-surface Phase 3: focus the window/tab the script runs in.
48
+ // Multi-surface Phase 3/4: focus the session + window/tab the script runs
49
+ // in. A cross-session reference resolves to that session's driver.
49
50
  if (step.runBrowserScript.surface !== undefined) {
50
51
  const switched = await switchToSurface(driver, step.runBrowserScript.surface);
51
52
  if (!switched.ok) {
@@ -53,6 +54,7 @@ async function runBrowserScript({ config, step, driver, }) {
53
54
  result.description = switched.message;
54
55
  return result;
55
56
  }
57
+ driver = switched.driver ?? driver;
56
58
  }
57
59
  // Execute script in the page, racing against a timeout.
58
60
  const timeout = step.runBrowserScript.timeout;