@sudobility/testomniac_runner_service 0.1.66 → 0.1.68

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 (31) hide show
  1. package/dist/analyzer/page-analyzer/generators/content.d.ts.map +1 -1
  2. package/dist/analyzer/page-analyzer/generators/content.js +4 -2
  3. package/dist/analyzer/page-analyzer/generators/content.js.map +1 -1
  4. package/dist/analyzer/page-analyzer/generators/navigation.d.ts.map +1 -1
  5. package/dist/analyzer/page-analyzer/generators/navigation.js +3 -30
  6. package/dist/analyzer/page-analyzer/generators/navigation.js.map +1 -1
  7. package/dist/analyzer/page-analyzer/generators/scaffolds.d.ts.map +1 -1
  8. package/dist/analyzer/page-analyzer/generators/scaffolds.js +5 -2
  9. package/dist/analyzer/page-analyzer/generators/scaffolds.js.map +1 -1
  10. package/dist/analyzer/page-analyzer/index.d.ts.map +1 -1
  11. package/dist/analyzer/page-analyzer/index.js +94 -20
  12. package/dist/analyzer/page-analyzer/index.js.map +1 -1
  13. package/dist/api/client.d.ts +1 -1
  14. package/dist/api/client.d.ts.map +1 -1
  15. package/dist/api/client.js +2 -2
  16. package/dist/api/client.js.map +1 -1
  17. package/dist/browser/replay-selector.d.ts +23 -0
  18. package/dist/browser/replay-selector.d.ts.map +1 -0
  19. package/dist/browser/replay-selector.js +150 -0
  20. package/dist/browser/replay-selector.js.map +1 -0
  21. package/dist/expertise/tester/control-state.d.ts.map +1 -1
  22. package/dist/expertise/tester/control-state.js +2 -1
  23. package/dist/expertise/tester/control-state.js.map +1 -1
  24. package/dist/orchestrator/runner.d.ts +2 -0
  25. package/dist/orchestrator/runner.d.ts.map +1 -1
  26. package/dist/orchestrator/runner.js +170 -32
  27. package/dist/orchestrator/runner.js.map +1 -1
  28. package/dist/orchestrator/test-interaction-executor.d.ts.map +1 -1
  29. package/dist/orchestrator/test-interaction-executor.js +148 -4
  30. package/dist/orchestrator/test-interaction-executor.js.map +1 -1
  31. package/package.json +1 -1
@@ -0,0 +1,150 @@
1
+ const REPLAY_SELECTOR_PREFIX = "tmnc-replay:";
2
+ function normalizeText(value) {
3
+ return (value ?? "").replace(/\s+/g, " ").trim();
4
+ }
5
+ export function isTransientSnapshotSelector(selector) {
6
+ return Boolean(selector && selector.includes("data-tmnc-id"));
7
+ }
8
+ export function isReplaySelector(selector) {
9
+ return Boolean(selector && selector.startsWith(REPLAY_SELECTOR_PREFIX));
10
+ }
11
+ export function encodeReplaySelector(metadata) {
12
+ const params = new URLSearchParams();
13
+ for (const [key, value] of Object.entries(metadata)) {
14
+ const normalizedValue = normalizeText(value);
15
+ if (normalizedValue.length > 0) {
16
+ params.set(key, normalizedValue);
17
+ }
18
+ }
19
+ return `${REPLAY_SELECTOR_PREFIX}${params.toString()}`;
20
+ }
21
+ export function parseReplaySelector(selector) {
22
+ if (!isReplaySelector(selector)) {
23
+ return null;
24
+ }
25
+ const raw = (selector ?? "").slice(REPLAY_SELECTOR_PREFIX.length);
26
+ const params = new URLSearchParams(raw);
27
+ const metadata = {};
28
+ for (const key of [
29
+ "css",
30
+ "tagName",
31
+ "role",
32
+ "inputType",
33
+ "accessibleName",
34
+ "textContent",
35
+ "href",
36
+ "testId",
37
+ "id",
38
+ "name",
39
+ "placeholder",
40
+ ]) {
41
+ const value = normalizeText(params.get(key) ?? "");
42
+ if (value.length > 0) {
43
+ metadata[key] = value;
44
+ }
45
+ }
46
+ return metadata;
47
+ }
48
+ export function buildReplaySelectorFromActionableItem(item) {
49
+ const css = item.selector && !isTransientSnapshotSelector(item.selector)
50
+ ? item.selector
51
+ : undefined;
52
+ return encodeReplaySelector({
53
+ css,
54
+ tagName: item.tagName,
55
+ role: item.role,
56
+ inputType: item.inputType,
57
+ accessibleName: item.accessibleName,
58
+ textContent: item.textContent,
59
+ href: item.href,
60
+ testId: asString(item.attributes?._testId),
61
+ id: asString(item.attributes?.id),
62
+ name: asString(item.attributes?.name),
63
+ placeholder: asString(item.attributes?.placeholder),
64
+ });
65
+ }
66
+ export function buildReplaySelectorFromDescription(actionType, description, fallbackPath) {
67
+ const compact = normalizeText(description.split("\n")[0] ?? description);
68
+ const prefixes = [
69
+ "Hover over ",
70
+ "Click ",
71
+ "Select variant ",
72
+ "Select ",
73
+ "Type into ",
74
+ "Activate ",
75
+ ];
76
+ let label = compact;
77
+ for (const prefix of prefixes) {
78
+ if (label.startsWith(prefix)) {
79
+ label = label.slice(prefix.length);
80
+ break;
81
+ }
82
+ }
83
+ for (const token of [" leads to ", " should "]) {
84
+ const index = label.toLowerCase().indexOf(token.trim());
85
+ if (index > 0) {
86
+ label = label.slice(0, index).trim();
87
+ }
88
+ }
89
+ if (!label) {
90
+ return undefined;
91
+ }
92
+ return encodeReplaySelector({
93
+ css: fallbackPath && !isTransientSnapshotSelector(fallbackPath)
94
+ ? fallbackPath
95
+ : undefined,
96
+ tagName: actionType === "selectOption" ? "select" : undefined,
97
+ accessibleName: label,
98
+ textContent: label,
99
+ });
100
+ }
101
+ export function matchesControlSelector(selector, state) {
102
+ if (!selector)
103
+ return false;
104
+ if (!isReplaySelector(selector)) {
105
+ return state.selector === selector;
106
+ }
107
+ const replay = parseReplaySelector(selector);
108
+ if (!replay)
109
+ return false;
110
+ const normalizedLabel = normalizeText(state.label);
111
+ const normalizedName = normalizeText(state.name);
112
+ if (replay.tagName &&
113
+ replay.tagName.toLowerCase() !== state.tagName.toLowerCase()) {
114
+ return false;
115
+ }
116
+ if (replay.role &&
117
+ replay.role.toLowerCase() !== (state.role ?? "").toLowerCase()) {
118
+ return false;
119
+ }
120
+ if (replay.inputType &&
121
+ replay.inputType.toLowerCase() !== (state.inputType ?? "").toLowerCase()) {
122
+ return false;
123
+ }
124
+ const targetNames = [
125
+ normalizeText(replay.accessibleName),
126
+ normalizeText(replay.textContent),
127
+ ].filter(Boolean);
128
+ if (targetNames.length > 0) {
129
+ const matchesName = targetNames.some(target => target === normalizedLabel ||
130
+ target === normalizedName ||
131
+ normalizedLabel.includes(target) ||
132
+ normalizedName.includes(target));
133
+ if (!matchesName) {
134
+ return false;
135
+ }
136
+ }
137
+ if (replay.name && replay.name !== state.name) {
138
+ return false;
139
+ }
140
+ if (replay.placeholder &&
141
+ replay.placeholder !== state.name &&
142
+ replay.placeholder !== state.label) {
143
+ return false;
144
+ }
145
+ return true;
146
+ }
147
+ function asString(value) {
148
+ return typeof value === "string" ? value : undefined;
149
+ }
150
+ //# sourceMappingURL=replay-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay-selector.js","sourceRoot":"","sources":["../../src/browser/replay-selector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../../../src/expertise/tester/control-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY,GAAG,SAAS,CAG1B;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,EAAE,CAGhB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAErE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAiBlE"}
1
+ {"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../../../src/expertise/tester/control-state.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY,GAAG,SAAS,CAG1B;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,CAAC,EAAE,YAAY,GACpB,YAAY,EAAE,CAGhB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAErE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAiBlE"}
@@ -1,7 +1,8 @@
1
+ import { matchesControlSelector } from "../../browser/replay-selector";
1
2
  export function findControlBySelector(states, selector) {
2
3
  if (!selector)
3
4
  return undefined;
4
- return states.find(state => state.selector === selector);
5
+ return states.find(state => matchesControlSelector(selector, state));
5
6
  }
6
7
  export function findControlPeers(states, target) {
7
8
  if (!target?.groupKey)
@@ -1 +1 @@
1
- {"version":3,"file":"control-state.js","sourceRoot":"","sources":["../../../src/expertise/tester/control-state.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,QAAiB;IAEjB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAsB,EACtB,MAAqB;IAErB,IAAI,CAAC,MAAM,EAAE,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1D,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;QAAE,OAAO,YAAY,CAAC;IAClD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,IAAI,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,IAAI,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACvE,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzE,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAChD,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"control-state.js","sourceRoot":"","sources":["../../../src/expertise/tester/control-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AA4BvE,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,QAAiB;IAEjB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAsB,EACtB,MAAqB;IAErB,IAAI,CAAC,MAAM,EAAE,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1D,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;QAAE,OAAO,YAAY,CAAC;IAClD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,IAAI,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,IAAI,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACvE,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzE,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAChD,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { BrowserAdapter } from "../adapter";
2
2
  import type { ApiClient } from "../api/client";
3
+ import type { TestInteractionResponse, TestInteractionRunResponse } from "@sudobility/testomniac_types";
3
4
  import type { RunConfig, ScanEventHandler, ScanResult } from "./types";
4
5
  import type { Expertise } from "../expertise/types";
5
6
  /**
@@ -8,4 +9,5 @@ import type { Expertise } from "../expertise/types";
8
9
  * Execution: bundle → iterate surfaces → iterate cases → run case
9
10
  */
10
11
  export declare function runTestRun(adapter: BrowserAdapter, config: RunConfig, api: ApiClient, expertises: Expertise[], events: ScanEventHandler): Promise<ScanResult>;
12
+ export declare function selectNextOpenTestInteractionRun(openRuns: TestInteractionRunResponse[], testInteractions: TestInteractionResponse[], activeDependencyBranch: number[]): TestInteractionRunResponse;
11
13
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO/C,OAAO,KAAK,EAEV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CAmRrB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAG3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAEV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA0BpD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CA8UrB;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,0BAA0B,EAAE,EACtC,gBAAgB,EAAE,uBAAuB,EAAE,EAC3C,sBAAsB,EAAE,MAAM,EAAE,GAC/B,0BAA0B,CA6D5B"}
@@ -1,5 +1,21 @@
1
1
  import { PageAnalyzer } from "../analyzer";
2
2
  import { executeTestInteraction } from "./test-interaction-executor";
3
+ function logRunner(step, details) {
4
+ console.info("[Runner]", step, details ?? {});
5
+ }
6
+ function summarizeInteraction(testInteraction) {
7
+ if (!testInteraction) {
8
+ return null;
9
+ }
10
+ return {
11
+ id: testInteraction.id,
12
+ title: testInteraction.title,
13
+ priority: testInteraction.priority,
14
+ dependencyTestInteractionId: testInteraction.dependencyTestInteractionId ?? null,
15
+ surfaceTags: testInteraction.surfaceTags,
16
+ startingPath: testInteraction.startingPath ?? null,
17
+ };
18
+ }
3
19
  /**
4
20
  * Main entry point for the runner execution loop.
5
21
  *
@@ -96,6 +112,15 @@ export async function runTestRun(adapter, config, api, expertises, events) {
96
112
  if (!testRun.testSurfaceBundleRunId) {
97
113
  throw new Error(`Test run ${config.testRunId} has no test surface bundle run`);
98
114
  }
115
+ logRunner("test-run:loaded", {
116
+ testRunId: testRun.id,
117
+ discovery: testRun.discovery,
118
+ runnerId: testRun.runnerId,
119
+ bundleRunId: testRun.testSurfaceBundleRunId,
120
+ testEnvironmentId: testRun.testEnvironmentId ?? null,
121
+ sizeClass: testRun.sizeClass,
122
+ scanUrl: testRun.scanUrl ?? null,
123
+ });
99
124
  // Set up analyzer for discovery mode
100
125
  const analyzer = testRun.discovery ? new PageAnalyzer() : null;
101
126
  if (testRun.discovery) {
@@ -118,43 +143,73 @@ export async function runTestRun(adapter, config, api, expertises, events) {
118
143
  const bundleRun = testRun.testSurfaceBundleRunId
119
144
  ? await api.getTestSurfaceBundleRun(testRun.testSurfaceBundleRunId)
120
145
  : null;
121
- // Execution loop: iterate open surface runs in the bundle
122
- let hasOpenSurfaces = true;
123
- while (hasOpenSurfaces) {
146
+ // Execution loop: select the next executable interaction across the bundle.
147
+ while (true) {
124
148
  await waitForCheckpoint("before_surface");
125
149
  const openSurfaceRuns = await api.getOpenTestSurfaceRuns(testRun.testSurfaceBundleRunId);
150
+ logRunner("surface-runs:open", {
151
+ bundleRunId: testRun.testSurfaceBundleRunId,
152
+ count: openSurfaceRuns.length,
153
+ openSurfaceRunIds: openSurfaceRuns.map(surfaceRun => surfaceRun.id),
154
+ });
126
155
  if (openSurfaceRuns.length === 0) {
127
- hasOpenSurfaces = false;
128
156
  break;
129
157
  }
130
158
  const testSurfaces = await api.getTestSurfacesByRunner(config.runnerId);
131
- const currentSurfaceRun = selectNextOpenTestSurfaceRun(openSurfaceRuns, testSurfaces);
132
- activeDependencyBranch = [];
133
- // Iterate open element runs in this surface
134
- let hasOpenCases = true;
135
- while (hasOpenCases) {
136
- await waitForCheckpoint("before_test_interaction");
137
- const openCaseRuns = await api.getOpenTestInteractionRuns(currentSurfaceRun.id);
138
- if (openCaseRuns.length === 0) {
139
- hasOpenCases = false;
140
- break;
159
+ const testInteractions = await api.getTestInteractionsByRunner(config.runnerId);
160
+ const pendingInteractionRunsBySurface = await loadPendingInteractionRuns(api, openSurfaceRuns);
161
+ const exhaustedSurfaceRuns = pendingInteractionRunsBySurface.filter(entry => entry.allPendingRuns.length === 0);
162
+ for (const exhaustedSurfaceRun of exhaustedSurfaceRuns) {
163
+ logRunner("surface-runs:completing-exhausted", {
164
+ surfaceRunId: exhaustedSurfaceRun.surfaceRun.id,
165
+ surface: summarizeSurface(testSurfaces.find(surface => surface.id === exhaustedSurfaceRun.surfaceRun.testSurfaceId)),
166
+ });
167
+ await api.completeTestSurfaceRun(exhaustedSurfaceRun.surfaceRun.id, {
168
+ status: "completed",
169
+ });
170
+ }
171
+ const runnableSurfaceEntries = pendingInteractionRunsBySurface.filter(entry => entry.eligibleRuns.length > 0);
172
+ const blockedSurfaceEntries = pendingInteractionRunsBySurface.filter(entry => entry.allPendingRuns.length > 0 && entry.eligibleRuns.length === 0);
173
+ logRunner("interaction-runs:bundle-state", {
174
+ activeDependencyBranch,
175
+ runnableSurfaceRuns: runnableSurfaceEntries.map(entry => ({
176
+ surfaceRunId: entry.surfaceRun.id,
177
+ eligibleRunIds: entry.eligibleRuns.map(run => run.id),
178
+ allPendingRunIds: entry.allPendingRuns.map(run => run.id),
179
+ })),
180
+ blockedSurfaceRuns: blockedSurfaceEntries.map(entry => ({
181
+ surfaceRunId: entry.surfaceRun.id,
182
+ allPendingRunIds: entry.allPendingRuns.map(run => run.id),
183
+ })),
184
+ });
185
+ if (runnableSurfaceEntries.length === 0) {
186
+ if (blockedSurfaceEntries.length > 0) {
187
+ throw new Error(`Blocked interaction tree detected for bundle run ${testRun.testSurfaceBundleRunId}`);
141
188
  }
142
- const testInteractions = await api.getTestInteractionsByRunner(config.runnerId);
143
- const currentCaseRun = selectNextOpenTestInteractionRun(openCaseRuns, testInteractions, activeDependencyBranch);
144
- // Execute the test element
145
- await executeTestInteraction(adapter, currentCaseRun, testRun, expertises, analyzer, api, wrappedEvents, navigationSurface && bundleRun
146
- ? {
147
- navigationSurface,
148
- bundleRun,
149
- }
150
- : undefined);
151
- activeDependencyBranch = buildDependencyChainIds(currentCaseRun.testInteractionId, testInteractions);
152
- await waitForCheckpoint("after_test_interaction");
189
+ continue;
153
190
  }
154
- // All elements done in this surface — mark surface run completed
155
- await api.completeTestSurfaceRun(currentSurfaceRun.id, {
156
- status: "completed",
191
+ await waitForCheckpoint("before_test_interaction");
192
+ const selected = selectNextInteractionAcrossBundle(runnableSurfaceEntries, testSurfaces, testInteractions, activeDependencyBranch);
193
+ const selectedInteraction = testInteractions.find(testInteraction => testInteraction.id === selected.testInteractionRun.testInteractionId);
194
+ logRunner("interaction-runs:selected", {
195
+ selectedRunId: selected.testInteractionRun.id,
196
+ selectedSurfaceRunId: selected.surfaceRun.id,
197
+ activeDependencyBranch,
198
+ selectedInteraction: summarizeInteraction(selectedInteraction),
157
199
  });
200
+ await executeTestInteraction(adapter, selected.testInteractionRun, testRun, expertises, analyzer, api, wrappedEvents, navigationSurface && bundleRun
201
+ ? {
202
+ navigationSurface,
203
+ bundleRun,
204
+ }
205
+ : undefined);
206
+ activeDependencyBranch = buildDependencyChainIds(selected.testInteractionRun.testInteractionId, testInteractions);
207
+ logRunner("interaction-runs:completed", {
208
+ completedRunId: selected.testInteractionRun.id,
209
+ completedSurfaceRunId: selected.surfaceRun.id,
210
+ nextActiveDependencyBranch: activeDependencyBranch,
211
+ });
212
+ await waitForCheckpoint("after_test_interaction");
158
213
  }
159
214
  await waitForCheckpoint("before_completion");
160
215
  // All surfaces done — mark bundle run and test run completed
@@ -207,8 +262,8 @@ export async function runTestRun(adapter, config, api, expertises, events) {
207
262
  throw error;
208
263
  }
209
264
  }
210
- function selectNextOpenTestInteractionRun(openRuns, testInteractions, activeDependencyBranch) {
211
- if (openRuns.length <= 1 || activeDependencyBranch.length === 0) {
265
+ export function selectNextOpenTestInteractionRun(openRuns, testInteractions, activeDependencyBranch) {
266
+ if (openRuns.length <= 1) {
212
267
  return openRuns[0];
213
268
  }
214
269
  const testInteractionById = new Map(testInteractions.map(testInteraction => [
@@ -227,10 +282,50 @@ function selectNextOpenTestInteractionRun(openRuns, testInteractions, activeDepe
227
282
  const parentTestInteractionId = activeDependencyBranch[index];
228
283
  const branchChildren = runsByDependency.get(parentTestInteractionId) ?? [];
229
284
  if (branchChildren.length > 0) {
230
- return branchChildren[0];
285
+ const sortedBranchChildren = sortOpenTestInteractionRuns(branchChildren, testInteractionById);
286
+ logRunner("interaction-runs:branch-candidates", {
287
+ parentTestInteractionId,
288
+ activeDependencyBranch,
289
+ candidates: sortedBranchChildren.map(run => ({
290
+ runId: run.id,
291
+ interaction: summarizeInteraction(testInteractionById.get(run.testInteractionId)),
292
+ })),
293
+ });
294
+ return sortedBranchChildren[0];
231
295
  }
232
296
  }
233
- return openRuns[0];
297
+ const sortedOpenRuns = sortOpenTestInteractionRuns(openRuns, testInteractionById);
298
+ logRunner("interaction-runs:global-candidates", {
299
+ activeDependencyBranch,
300
+ candidates: sortedOpenRuns.map(run => ({
301
+ runId: run.id,
302
+ interaction: summarizeInteraction(testInteractionById.get(run.testInteractionId)),
303
+ })),
304
+ });
305
+ return sortedOpenRuns[0];
306
+ }
307
+ function sortOpenTestInteractionRuns(openRuns, testInteractionById) {
308
+ return [...openRuns].sort((left, right) => {
309
+ const leftInteraction = testInteractionById.get(left.testInteractionId);
310
+ const rightInteraction = testInteractionById.get(right.testInteractionId);
311
+ const hoverDiff = Number(isHoverInteraction(rightInteraction)) -
312
+ Number(isHoverInteraction(leftInteraction));
313
+ if (hoverDiff !== 0) {
314
+ return hoverDiff;
315
+ }
316
+ const priorityDiff = (leftInteraction?.priority ?? 999) - (rightInteraction?.priority ?? 999);
317
+ if (priorityDiff !== 0) {
318
+ return priorityDiff;
319
+ }
320
+ return left.id - right.id;
321
+ });
322
+ }
323
+ function isHoverInteraction(testInteraction) {
324
+ if (!testInteraction) {
325
+ return false;
326
+ }
327
+ return (testInteraction.surfaceTags.includes("hover") ||
328
+ testInteraction.title.startsWith("Hover over "));
234
329
  }
235
330
  function selectNextOpenTestSurfaceRun(openSurfaceRuns, testSurfaces) {
236
331
  if (openSurfaceRuns.length <= 1) {
@@ -270,6 +365,49 @@ function getSurfaceExecutionGroup(surface) {
270
365
  return 6;
271
366
  return 7;
272
367
  }
368
+ function summarizeSurface(testSurface) {
369
+ if (!testSurface) {
370
+ return null;
371
+ }
372
+ return {
373
+ id: testSurface.id,
374
+ title: testSurface.title,
375
+ priority: testSurface.priority,
376
+ startingPath: testSurface.startingPath,
377
+ dependencyTestInteractionId: testSurface.dependencyTestInteractionId ?? null,
378
+ surfaceTags: testSurface.surfaceTags,
379
+ };
380
+ }
381
+ async function loadPendingInteractionRuns(api, openSurfaceRuns) {
382
+ return Promise.all(openSurfaceRuns.map(async (surfaceRun) => ({
383
+ surfaceRun,
384
+ eligibleRuns: await api.getOpenTestInteractionRuns(surfaceRun.id),
385
+ allPendingRuns: await api.getOpenTestInteractionRuns(surfaceRun.id, true),
386
+ })));
387
+ }
388
+ function selectNextInteractionAcrossBundle(runnableSurfaceEntries, testSurfaces, testInteractions, activeDependencyBranch) {
389
+ if (activeDependencyBranch.length > 0) {
390
+ const branchCandidates = runnableSurfaceEntries.flatMap(entry => entry.eligibleRuns);
391
+ const selectedRun = selectNextOpenTestInteractionRun(branchCandidates, testInteractions, activeDependencyBranch);
392
+ const selectedSurfaceEntry = runnableSurfaceEntries.find(entry => entry.eligibleRuns.some(run => run.id === selectedRun.id));
393
+ if (!selectedSurfaceEntry) {
394
+ throw new Error(`Selected interaction run ${selectedRun.id} is not attached to a runnable surface`);
395
+ }
396
+ return {
397
+ surfaceRun: selectedSurfaceEntry.surfaceRun,
398
+ testInteractionRun: selectedRun,
399
+ };
400
+ }
401
+ const selectedSurfaceRun = selectNextOpenTestSurfaceRun(runnableSurfaceEntries.map(entry => entry.surfaceRun), testSurfaces);
402
+ const selectedSurfaceEntry = runnableSurfaceEntries.find(entry => entry.surfaceRun.id === selectedSurfaceRun.id);
403
+ if (!selectedSurfaceEntry) {
404
+ throw new Error(`Selected surface run ${selectedSurfaceRun.id} has no runnable interactions`);
405
+ }
406
+ return {
407
+ surfaceRun: selectedSurfaceRun,
408
+ testInteractionRun: selectNextOpenTestInteractionRun(selectedSurfaceEntry.eligibleRuns, testInteractions, []),
409
+ };
410
+ }
273
411
  function buildDependencyChainIds(testInteractionId, testInteractions) {
274
412
  const testInteractionById = new Map(testInteractions.map(testInteraction => [
275
413
  testInteraction.id,
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-interaction-executor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/test-interaction-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-interaction-executor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/test-interaction-executor.ts"],"names":[],"mappings":"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"}