@sudobility/testomniac_runner_service 0.1.114 → 0.1.115

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.
package/dist/adapter.d.ts CHANGED
@@ -68,5 +68,11 @@ export interface BrowserAdapter {
68
68
  getRuntimeArtifacts?(): RuntimeArtifacts;
69
69
  /** Clear any buffered runtime artifacts, when supported by the adapter. */
70
70
  resetRuntimeArtifacts?(): void;
71
+ /** Wait for a new tab/window to open. Returns a tab identifier, or null on timeout. */
72
+ waitForNewTab?(timeoutMs?: number): Promise<number | null>;
73
+ /** Switch the adapter to operate on a different tab/window. */
74
+ switchToTab?(tabId: number): Promise<void>;
75
+ /** Return the current tab identifier. */
76
+ getCurrentTabId?(): number;
71
77
  }
72
78
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,13 @@ export interface SSOCredentials {
19
19
  /**
20
20
  * Execute an SSO login flow for a specific provider.
21
21
  *
22
- * 1. Clicks the SSO button on the app's login page
23
- * 2. Waits for navigation to the provider
24
- * 3. Walks through the provider-specific steps
25
- * 4. Waits for redirect back to the app
22
+ * After clicking the SSO button the function races two signals:
23
+ * - **Redirect:** the current tab navigates to the provider (same-window OAuth)
24
+ * - **Popup:** a new tab/window opens (popup-based OAuth)
25
+ *
26
+ * Whichever fires first determines the execution path. The provider-
27
+ * specific steps (type email → next → password → submit) are the same
28
+ * in both cases — only the tab context differs.
26
29
  */
27
30
  export declare function executeSSOFlow(adapter: BrowserAdapter, ssoButtonSelector: string, provider: AuthProviderType, credentials: SSOCredentials, appOrigin: string): Promise<boolean>;
28
31
  export declare function getSSOFlow(provider: AuthProviderType): SSOFlowStep[];
@@ -1 +1 @@
1
- {"version":3,"file":"sso-handler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuJD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CA+FlB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,EAAE,CAEpE"}
1
+ {"version":3,"file":"sso-handler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgOD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAoIlB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,EAAE,CAEpE"}
@@ -133,70 +133,171 @@ function resolveValue(template, credentials) {
133
133
  .replace("{{email}}", credentials.email)
134
134
  .replace("{{password}}", credentials.password);
135
135
  }
136
+ /**
137
+ * Wait for the current tab URL to change from `startUrl`.
138
+ * Returns true if the URL changed, false on timeout.
139
+ */
140
+ async function waitForUrlChange(adapter, startUrl, timeoutMs) {
141
+ const deadline = Date.now() + timeoutMs;
142
+ while (Date.now() < deadline) {
143
+ const currentUrl = await adapter.getUrl();
144
+ if (currentUrl !== startUrl)
145
+ return true;
146
+ await new Promise(r => setTimeout(r, 300));
147
+ }
148
+ return false;
149
+ }
150
+ /**
151
+ * Execute the provider-specific SSO steps (type email, password, click
152
+ * submit, etc.) on whatever page the adapter is currently pointed at.
153
+ */
154
+ async function executeProviderSteps(adapter, provider, credentials) {
155
+ const steps = SSO_FLOWS[provider] ?? GENERIC_SSO_FLOW;
156
+ for (const step of steps) {
157
+ const timeout = step.timeout ?? 10000;
158
+ const found = await adapter.waitForSelector(step.waitFor, {
159
+ visible: true,
160
+ timeout,
161
+ });
162
+ if (!found) {
163
+ logSSO("step:element-not-found", {
164
+ waitFor: step.waitFor,
165
+ action: step.action,
166
+ });
167
+ continue;
168
+ }
169
+ switch (step.action) {
170
+ case "type": {
171
+ const value = resolveValue(step.value, credentials);
172
+ if (step.selector) {
173
+ await adapter.type(step.selector, value);
174
+ }
175
+ logSSO("step:typed", { selector: step.selector });
176
+ break;
177
+ }
178
+ case "click": {
179
+ if (step.selector) {
180
+ await adapter.click(step.selector, { timeout: 5000 });
181
+ }
182
+ logSSO("step:clicked", { selector: step.selector });
183
+ await adapter.waitForNavigation({ timeout: 10000 }).catch(err => logSSO("navigation-wait:timeout", {
184
+ error: err instanceof Error ? err.message : String(err),
185
+ }));
186
+ break;
187
+ }
188
+ case "wait": {
189
+ break;
190
+ }
191
+ }
192
+ }
193
+ }
136
194
  /**
137
195
  * Execute an SSO login flow for a specific provider.
138
196
  *
139
- * 1. Clicks the SSO button on the app's login page
140
- * 2. Waits for navigation to the provider
141
- * 3. Walks through the provider-specific steps
142
- * 4. Waits for redirect back to the app
197
+ * After clicking the SSO button the function races two signals:
198
+ * - **Redirect:** the current tab navigates to the provider (same-window OAuth)
199
+ * - **Popup:** a new tab/window opens (popup-based OAuth)
200
+ *
201
+ * Whichever fires first determines the execution path. The provider-
202
+ * specific steps (type email → next → password → submit) are the same
203
+ * in both cases — only the tab context differs.
143
204
  */
144
205
  export async function executeSSOFlow(adapter, ssoButtonSelector, provider, credentials, appOrigin) {
145
206
  logSSO("flow:start", { provider, ssoButtonSelector });
146
207
  try {
208
+ const startUrl = await adapter.getUrl();
209
+ const originalTabId = adapter.getCurrentTabId?.();
147
210
  // Click SSO button on the app login page
148
211
  await adapter.click(ssoButtonSelector, { timeout: 5000 });
149
212
  logSSO("button:clicked");
150
- // Wait for navigation to the provider
151
- await adapter.waitForNavigation({ timeout: 10000 });
152
- logSSO("navigated:to-provider");
153
- // Get the flow steps for this provider
154
- const steps = SSO_FLOWS[provider] ?? GENERIC_SSO_FLOW;
155
- for (const step of steps) {
156
- const timeout = step.timeout ?? 10000;
157
- // Wait for the expected element
158
- const found = await adapter.waitForSelector(step.waitFor, {
159
- visible: true,
160
- timeout,
161
- });
162
- if (!found) {
163
- logSSO("step:element-not-found", {
164
- waitFor: step.waitFor,
165
- action: step.action,
166
- });
167
- continue;
213
+ // Race: popup vs redirect
214
+ const supportsPopup = !!(adapter.waitForNewTab && adapter.switchToTab);
215
+ let popupTabId = null;
216
+ if (supportsPopup) {
217
+ // Race popup detection against URL change (redirect)
218
+ const [newTabId, urlChanged] = await Promise.all([
219
+ adapter.waitForNewTab(10000),
220
+ waitForUrlChange(adapter, startUrl, 10000),
221
+ ]);
222
+ if (newTabId != null) {
223
+ popupTabId = newTabId;
224
+ logSSO("popup:detected", { popupTabId });
225
+ }
226
+ else if (urlChanged) {
227
+ logSSO("redirect:detected");
168
228
  }
169
- switch (step.action) {
170
- case "type": {
171
- const value = resolveValue(step.value, credentials);
172
- if (step.selector) {
173
- await adapter.type(step.selector, value);
229
+ else {
230
+ logSSO("flow:no-navigation-or-popup");
231
+ return false;
232
+ }
233
+ }
234
+ else {
235
+ // Adapter doesn't support popup detection — assume redirect
236
+ await adapter.waitForNavigation({ timeout: 10000 });
237
+ logSSO("navigated:to-provider");
238
+ }
239
+ // If popup, switch to it
240
+ if (popupTabId != null) {
241
+ await adapter.switchToTab(popupTabId);
242
+ // Wait for the popup page to finish loading
243
+ await adapter.waitForNavigation({ timeout: 10000 }).catch(() => {
244
+ /* popup may already be loaded */
245
+ });
246
+ logSSO("popup:switched", { url: await adapter.getUrl() });
247
+ }
248
+ // Execute provider-specific steps (same logic for both paths)
249
+ await executeProviderSteps(adapter, provider, credentials);
250
+ // Return to original tab if we used a popup
251
+ if (popupTabId != null && originalTabId != null) {
252
+ // Wait for the popup to close or the original tab to receive
253
+ // the auth callback (URL change)
254
+ logSSO("popup:waiting-for-completion");
255
+ const deadline = Date.now() + 15000;
256
+ let returned = false;
257
+ while (Date.now() < deadline) {
258
+ // Check if original tab URL changed (auth callback received)
259
+ await adapter.switchToTab(originalTabId);
260
+ const origUrl = await adapter.getUrl();
261
+ try {
262
+ if (origUrl !== startUrl && new URL(origUrl).origin === appOrigin) {
263
+ returned = true;
264
+ break;
174
265
  }
175
- logSSO("step:typed", { selector: step.selector });
176
- break;
177
266
  }
178
- case "click": {
179
- if (step.selector) {
180
- await adapter.click(step.selector, { timeout: 5000 });
181
- }
182
- logSSO("step:clicked", { selector: step.selector });
183
- // Wait for potential navigation after click
184
- await adapter.waitForNavigation({ timeout: 10000 }).catch(err => logSSO("navigation-wait:timeout", {
185
- error: err instanceof Error ? err.message : String(err),
186
- }));
187
- break;
267
+ catch {
268
+ // Invalid URL, keep waiting
269
+ }
270
+ // Brief pause before checking again
271
+ await new Promise(r => setTimeout(r, 1000));
272
+ }
273
+ // Try to close the popup tab
274
+ if (popupTabId != null) {
275
+ try {
276
+ await adapter.switchToTab(popupTabId);
277
+ await adapter.close();
188
278
  }
189
- case "wait": {
190
- // Just wait for the selector (already done above)
191
- break;
279
+ catch {
280
+ // Popup may already be closed
192
281
  }
282
+ // Ensure we're back on the original tab
283
+ try {
284
+ await adapter.switchToTab(originalTabId);
285
+ }
286
+ catch {
287
+ // Best effort
288
+ }
289
+ }
290
+ if (returned) {
291
+ logSSO("flow:success:popup", { returnUrl: await adapter.getUrl() });
292
+ return true;
193
293
  }
194
294
  }
195
- // Wait for redirect back to the app
295
+ // Wait for redirect back to the app (redirect flow, or popup
296
+ // fallback if we didn't detect the callback above)
196
297
  logSSO("waiting:redirect-back", { appOrigin });
197
- const startTime = Date.now();
298
+ const redirectStart = Date.now();
198
299
  const maxWait = 30000;
199
- while (Date.now() - startTime < maxWait) {
300
+ while (Date.now() - redirectStart < maxWait) {
200
301
  const currentUrl = await adapter.getUrl();
201
302
  try {
202
303
  if (new URL(currentUrl).origin === appOrigin) {
@@ -1 +1 @@
1
- {"version":3,"file":"sso-handler.js","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"AAyBA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,MAAM,WAAW,GAAkB;IACjC;QACE,OAAO,EAAE,+CAA+C;QACxD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,+CAA+C;QACzD,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,wCAAwC;KACnD;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,8CAA8C;QACxD,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,IAAI;KACd;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,sCAAsC;KACjD;CACF,CAAC;AAEF,MAAM,cAAc,GAAkB;IACpC;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,6CAA6C;QACvD,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,8CAA8C;QACxD,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,IAAI;KACd;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;CACF,CAAC;AAEF,MAAM,WAAW,GAAkB;IACjC;QACE,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,mCAAmC;QAC7C,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,mCAAmC;QAC7C,KAAK,EAAE,cAAc;KACtB;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;CACF,CAAC;AAEF,MAAM,aAAa,GAAkB;IACnC;QACE,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,6BAA6B;QACvC,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,2BAA2B;QACrC,KAAK,EAAE,cAAc;KACtB;IACD;QACE,OAAO,EAAE,2DAA2D;QACpE,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,2DAA2D;KACtE;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAkB;IACtC;QACE,OAAO,EACL,uFAAuF;QACzF,MAAM,EAAE,MAAM;QACd,QAAQ,EACN,uFAAuF;QACzF,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,gDAAgD;QACzD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,gDAAgD;QAC1D,KAAK,EAAE,cAAc;KACtB;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;CACF,CAAC;AAEF,MAAM,SAAS,GAAqD;IAClE,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,gBAAgB;IAC1B,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,SAAS,MAAM,CAAC,IAAY,EAAE,OAAiC;IAC7D,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CACnB,QAA4B,EAC5B,WAA2B;IAE3B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,QAAQ;SACZ,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC;SACvC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,iBAAyB,EACzB,QAA0B,EAC1B,WAA2B,EAC3B,SAAiB;IAEjB,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,yCAAyC;QACzC,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEzB,sCAAsC;QACtC,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAEhC,uCAAuC;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;YAEtC,gCAAgC;YAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;gBACxD,OAAO,EAAE,IAAI;gBACb,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,wBAAwB,EAAE;oBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBACD,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAClD,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,CAAC;oBACD,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpD,4CAA4C;oBAC5C,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAC9D,MAAM,CAAC,yBAAyB,EAAE;wBAChC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC,CACH,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,kDAAkD;oBAClD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,MAAM,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC;QAEtB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC7C,MAAM,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,MAAM,CAAC,YAAY,EAAE;YACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA0B;IACnD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"sso-handler.js","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/testomniac_runner_service",
3
- "version": "0.1.114",
3
+ "version": "0.1.115",
4
4
  "description": "Shared scanning logic for Testomniac scanner and Chrome extension",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",