@applitools/nlp-web-runner 5.4.2 → 5.5.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.
@@ -1 +1 @@
1
- var r=D;(function(O,A){var G=D,p=O();while(!![]){try{var c=parseInt(G(0x1b9))/0x1+parseInt(G(0x1b1))/0x2*(parseInt(G(0x1b4))/0x3)+-parseInt(G(0x1bd))/0x4*(parseInt(G(0x1b7))/0x5)+parseInt(G(0x1b3))/0x6+-parseInt(G(0x1b6))/0x7*(parseInt(G(0x1bc))/0x8)+-parseInt(G(0x1b8))/0x9+parseInt(G(0x1b2))/0xa*(parseInt(G(0x1ba))/0xb);if(c===A)break;else p['push'](p['shift']());}catch(Y){p['push'](p['shift']());}}}(m,0x4c2ff));var __defProp=Object[r(0x1bb)],__exportAll=(O,A)=>{var T=r;let p={};for(var c in O)__defProp(p,c,{'get':O[c],'enumerable':!![]});if(!A)__defProp(p,Symbol['toStringTag'],{'value':T(0x1b5)});return p;};export{__exportAll as t};function D(O,A){O=O-0x1b1;var p=m();var c=p[O];if(D['ZMykjN']===undefined){var Y=function(g){var d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var f='',s='';for(var l=0x0,P,w,B=0x0;w=g['charAt'](B++);~w&&(P=l%0x4?P*0x40+w:w,l++%0x4)?f+=String['fromCharCode'](0xff&P>>(-0x2*l&0x6)):0x0){w=d['indexOf'](w);}for(var J=0x0,I=f['length'];J<I;J++){s+='%'+('00'+f['charCodeAt'](J)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(s);};D['TumrpD']=Y,D['OKnKkF']={},D['ZMykjN']=!![];}var G=p[0x0],r=O+G,T=D['OKnKkF'][r];return!T?(c=D['TumrpD'](c),D['OKnKkF'][r]=c):c=T,c;}function m(){var g=['mJa4Cw54Egrm','mJiWrhr3C0rQ','neXTDerTDG','mZm5odbjvMrRvMy','mtu3ndiWmMjtyxnZrq','mZqZotuZsvLcwhHu','tw9KDwXL','mtm5mJa5EvH6Avfd','nJC1ufzWvgLS','mZe2nZCYmuDbr2jmtq','mJC4odK2DMTMyvnm','mtm1m0fHALrUtG','zgvMAw5LuhjVCgvYDhK'];m=function(){return g;};return m();}
1
+ var r=f;function f(u,J){u=u-0xe6;var C=F();var b=C[u];if(f['kuwJDi']===undefined){var T=function(H){var z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var h='',P='';for(var R=0x0,Y,v,s=0x0;v=H['charAt'](s++);~v&&(Y=R%0x4?Y*0x40+v:v,R++%0x4)?h+=String['fromCharCode'](0xff&Y>>(-0x2*R&0x6)):0x0){v=z['indexOf'](v);}for(var K=0x0,q=h['length'];K<q;K++){P+='%'+('00'+h['charCodeAt'](K)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(P);};f['btqXfV']=T,f['pWhVEA']={},f['kuwJDi']=!![];}var n=C[0x0],r=u+n,l=f['pWhVEA'][r];return!l?(b=f['btqXfV'](b),f['pWhVEA'][r]=b):b=l,b;}(function(u,J){var n=f,C=u();while(!![]){try{var b=parseInt(n(0xf0))/0x1*(parseInt(n(0xf4))/0x2)+parseInt(n(0xee))/0x3*(-parseInt(n(0xe8))/0x4)+parseInt(n(0xf3))/0x5*(-parseInt(n(0xf1))/0x6)+-parseInt(n(0xed))/0x7*(parseInt(n(0xef))/0x8)+-parseInt(n(0xe7))/0x9+parseInt(n(0xe6))/0xa*(parseInt(n(0xf2))/0xb)+parseInt(n(0xea))/0xc;if(b===J)break;else C['push'](C['shift']());}catch(T){C['push'](C['shift']());}}}(F,0xe22a0));var __defProp=Object[r(0xec)],__exportAll=(u,J)=>{var l=r;let C={};for(var b in u)__defProp(C,b,{'get':u[b],'enumerable':!![]});if(!J)__defProp(C,Symbol[l(0xeb)],{'value':l(0xe9)});return C;};export{__exportAll as t};function F(){var H=['ntG5otmYovjIvwzqsa','ndi4nZy0y0nVAgL6','tw9KDwXL','mZm3mZaZntzusufpAMm','Dg9tDhjPBMDuywC','zgvMAw5LuhjVCgvYDhK','nJK4nMzezeT3va','mtj4qMXLtKC','ndq0ogXjt0LevW','mtLqsKPQywG','mte0vwLWAMXQ','mZu4ntaYmxvbwMP2AW','ndm2ntCWs2Tcugfs','mte0ndK0yMXhsND5','mtbHC3DKt3G'];F=function(){return H;};return F();}
@@ -652,19 +652,22 @@ declare class EventTargetNode<TEventMap extends Record<string, Event>> extends E
652
652
  constructor();
653
653
  }
654
654
  declare namespace logger_d_exports {
655
- export { Logger$1 as Logger, debug, error$1 as error, log, trace, use };
655
+ export { LogEventCatalog, Logger$1 as Logger, debug, error$1 as error, log, trace, use };
656
656
  }
657
657
  interface Logger$1 {
658
- log(...args: any): void;
659
- error(...args: any[]): void;
660
- trace(...args: any[]): void;
661
- debug(...args: any[]): void;
658
+ log(type: string, data: Record<string, unknown>): void;
659
+ error(type: string, data: Record<string, unknown>): void;
660
+ trace(type: string, data: Record<string, unknown>): void;
661
+ debug(type: string, data: Record<string, unknown>): void;
662
662
  }
663
+ interface LogEventCatalog {}
663
664
  declare function use(logger: Logger$1 | null | undefined): void;
664
- declare function log(...args: any[]): any;
665
- declare function error$1(...args: any[]): any;
666
- declare function trace(...args: any[]): any;
667
- declare function debug(...args: any[]): any; //#endregion
665
+ declare function log<TType extends keyof LogEventCatalog>(type: TType, data: LogEventCatalog[TType]): void;
666
+ declare function error$1<TType extends keyof LogEventCatalog>(type: TType, data: LogEventCatalog[TType]): void;
667
+ declare function trace<TType extends keyof LogEventCatalog>(type: TType, data: LogEventCatalog[TType]): void;
668
+ declare function debug<TType extends keyof LogEventCatalog>(type: TType, data: LogEventCatalog[TType]): void; //#endregion
669
+ //#region src/log/event-logger.d.ts
670
+ //#endregion
668
671
  //#region src/color.d.ts
669
672
  type ColorLike = Record<'r' | 'g' | 'b' | 'a', number>;
670
673
  //#endregion
@@ -766,7 +769,7 @@ declare class Rectangle {
766
769
  //#region src/patterns.d.ts
767
770
  type Match = (text: string) => string | null;
768
771
  //#endregion
769
- //#region dist/_inline/_chunks/script-mslAJBZz.d.ts
772
+ //#region dist/_inline/_chunks/script-De9VUKC6.d.ts
770
773
  //#region src/port.d.ts
771
774
  interface PortMessageEvent<TName extends string = string, TPayload = unknown> extends Event {
772
775
  readonly name: TName;
@@ -1379,7 +1382,7 @@ declare class Browser extends EventTargetNode<BrowserEventMap> implements Automa
1379
1382
  stabilize(stage: 'basic' | 'strict' | 'paranoid', {
1380
1383
  signal,
1381
1384
  timeout
1382
- }: {
1385
+ }?: {
1383
1386
  signal?: AbortSignal;
1384
1387
  timeout?: number;
1385
1388
  }): Promise<void>;
@@ -8494,12 +8497,21 @@ type FindCandidatesOptions = {
8494
8497
  debug?: {
8495
8498
  reason?: FindCandidateReason;
8496
8499
  };
8500
+ /**
8501
+ * Whether required-type matching may fall back to the legacy safety-net score (0.01) for
8502
+ * backward-compatible types when classification finds no real score. Defaults to true —
8503
+ * element finding must locate *something* for old descriptors. Search-style consumers pass
8504
+ * false so "all buttons" doesn't include nodes that merely might be buttons.
8505
+ */
8506
+ useBackwardCompatibleTypeScore?: boolean;
8497
8507
  }; //#endregion
8498
8508
  //#region src/public/ax-provider.d.ts
8499
8509
  interface AXProvider {
8500
8510
  makeAXTree<TNode>(flat: AXTreeFlat<TNode>): IAXTreeView<TNode>;
8501
8511
  describeAXNode<TNode>(tree: IAXTreeView<TNode>, query: ElementDescriptorQuery<IAXNodeView<TNode>>): ResolvedElementDescriptor | undefined;
8502
8512
  findAXNode<TNode>(nodes: Iterable<IAXNodeView<TNode>>, descriptor: ResolvedElementDescriptor, options?: FindCandidatesOptions): CandidateMetric | null;
8513
+ /** Optional: remote providers may not support returning the full ranked candidate list. */
8514
+ findAXNodes?<TNode>(nodes: Iterable<IAXNodeView<TNode>>, descriptor: ResolvedElementDescriptor, options?: FindCandidatesOptions): CandidateMetric[];
8503
8515
  } //#endregion
8504
8516
  //#endregion
8505
8517
  //#region src/scope.d.ts
@@ -9197,7 +9209,7 @@ type RunResult$1<TResult extends HandleResult> = TResult & {
9197
9209
  before?: Capture;
9198
9210
  after?: Capture;
9199
9211
  values: UsedValues;
9200
- metrics?: StepMetrics;
9212
+ metrics?: InstructionMetrics;
9201
9213
  };
9202
9214
  type HandleResult = {
9203
9215
  status: string;
@@ -9230,6 +9242,12 @@ type ErrorResult = {
9230
9242
  type Capture = {
9231
9243
  image: string;
9232
9244
  elements?: ElementMarker[];
9245
+ viewport?: {
9246
+ width: number;
9247
+ height: number;
9248
+ scrollX: number;
9249
+ scrollY: number;
9250
+ };
9233
9251
  };
9234
9252
  type ElementMarker = {
9235
9253
  region: {
@@ -9255,7 +9273,7 @@ declare abstract class Handler$1<TAutomator extends Automator, TInstruction exte
9255
9273
  readonly expectedNavigationStatuses: number[];
9256
9274
  get action(): TInstruction extends Action<any> ? TInstruction : unknown;
9257
9275
  get stack(): ValuesStack;
9258
- get metrics(): StepMetrics;
9276
+ get metrics(): InstructionMetrics;
9259
9277
  get findTimeout(): any;
9260
9278
  get frameStabilityTimeout(): any;
9261
9279
  get navigateTimeout(): any;
@@ -9947,7 +9965,10 @@ type RunnerOptions<TAutomator extends Automator> = {
9947
9965
  type RunOptions = {
9948
9966
  stepIndex?: number;
9949
9967
  signal?: AbortSignal;
9950
- shouldCapture?: boolean; /** @internal */
9968
+ shouldCapture?: boolean;
9969
+ /** Opaque id echoed on each `subinstructionExecutionStarted` so a caller can tie the resulting
9970
+ * instruction logs back to the run it triggered (e.g. the devtools instruction details view). */
9971
+ correlationId?: string; /** @internal */
9951
9972
  runningPreinstructions?: boolean; /** @internal for BE usage only */
9952
9973
  shouldNotThrowOnUnexpectedNavigationStatus?: boolean; /** @internal for BE usage only */
9953
9974
  expectedNavigationStatuses?: number[];
@@ -10084,7 +10105,7 @@ type SubinstructionExecutionStartedDetails = {
10084
10105
  instruction: Instruction;
10085
10106
  };
10086
10107
  };
10087
- type StepMetrics = {
10108
+ type InstructionMetrics = {
10088
10109
  platform?: 'web' | 'mobile';
10089
10110
  stabilizeMs?: number;
10090
10111
  handleMs?: number;
@@ -10102,7 +10123,7 @@ type SubinstructionExecutionFinishedDetails = {
10102
10123
  duration: number;
10103
10124
  status: HandlerResult<Automator, Instruction>['status'];
10104
10125
  errorcode?: ErrorCode;
10105
- metrics?: StepMetrics;
10126
+ metrics?: InstructionMetrics;
10106
10127
  };
10107
10128
  };
10108
10129
  type RecorderLogDetails = RecordingStartedDetails | RecordingStopedDetails | InstructionRecordedDetails | ElementSelectionStartedDetails | ElementSelectionStoppedDetails | ElementDescriptorGeneratedDetails | ElementSelectorGeneratedDetails | RecorderErrorDetails;
@@ -10118,7 +10139,7 @@ type InstructionRecordedDetails = {
10118
10139
  instruction: string;
10119
10140
  guid: string;
10120
10141
  analytics?: any;
10121
- metrics?: StepMetrics;
10142
+ metrics?: InstructionMetrics;
10122
10143
  };
10123
10144
  };
10124
10145
  type ElementSelectionStartedDetails = {
@@ -10134,7 +10155,7 @@ type ElementDescriptorGeneratedDetails = {
10134
10155
  type: 'elementDescriptorGenerated';
10135
10156
  data: {
10136
10157
  description: string;
10137
- metrics?: StepMetrics;
10158
+ metrics?: InstructionMetrics;
10138
10159
  };
10139
10160
  };
10140
10161
  type ElementSelectorGeneratedDetails = {
@@ -10161,7 +10182,11 @@ declare class LogEvent extends CustomEvent<LogDetails & {
10161
10182
  timestamp: number;
10162
10183
  }> {
10163
10184
  readonly component: 'runner' | 'recorder';
10164
- constructor(details: LogDetails);
10185
+ constructor(details: LogDetails & {
10186
+ timestamp?: number;
10187
+ });
10188
+ /** An already-dispatched event can't be dispatched again — re-dispatchers need a fresh instance. */
10189
+ clone(): LogEvent;
10165
10190
  }
10166
10191
  //#endregion
10167
10192
  //#region src/ax/ax-ops.d.ts
@@ -10169,7 +10194,7 @@ type FindNodeOptions = {
10169
10194
  stack: ValuesStack;
10170
10195
  timeout?: number;
10171
10196
  signal?: AbortSignal;
10172
- metrics?: StepMetrics;
10197
+ metrics?: InstructionMetrics;
10173
10198
  };
10174
10199
  type FindNodeResult<TAutomator extends Automator> = {
10175
10200
  web: IAXNodeView<WebNode> | null;
@@ -10183,6 +10208,16 @@ declare class AXOps<TAutomator extends Automator = Automator> {
10183
10208
  extractTree<TNode = unknown>(): Promise<IAXTreeView<TNode>>;
10184
10209
  makeTree<TNode>(flat: AXTreeFlat<TNode>): IAXTreeView<TNode>;
10185
10210
  findCandidate<TNode>(tree: IAXTreeView<TNode>, descriptor: ResolvedElementDescriptor, options?: FindCandidatesOptions): CandidateMetric | null;
10211
+ findCandidates<TNode>(tree: IAXTreeView<TNode>, descriptor: ResolvedElementDescriptor, options?: FindCandidatesOptions): CandidateMetric[];
10212
+ /**
10213
+ * Search-oriented "find all": ranked candidates matching the descriptor, and — when the
10214
+ * descriptor combines a title with a type — the remaining candidates of that type appended
10215
+ * after the title matches. A search for "ok button" should surface ALL buttons with the "ok"
10216
+ * ones ranked first, whereas plain candidate matching filters non-matching titles out entirely.
10217
+ * The legacy safety-net type score is disabled: "all buttons" must not include nodes that
10218
+ * merely might be buttons.
10219
+ */
10220
+ searchCandidates<TNode>(tree: IAXTreeView<TNode>, descriptor: ResolvedElementDescriptor, options?: FindCandidatesOptions): CandidateMetric[];
10186
10221
  describeNode<TNode>(tree: IAXTreeView<TNode>, query: ElementDescriptorQuery<IAXNodeView<TNode>>): ResolvedElementDescriptor | undefined;
10187
10222
  findNode(descriptor: ResolvedElementDescriptor, options: FindNodeOptions): Promise<FindNodeResult<TAutomator>>;
10188
10223
  }