momentic 2.25.4 → 2.25.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "momentic",
3
- "version": "2.25.4",
3
+ "version": "2.25.5",
4
4
  "bin": {
5
5
  "momentic": "./bin/cli.js"
6
6
  },
@@ -66,6 +66,7 @@
66
66
  "proper-lockfile": "^4.1.2",
67
67
  "puppeteer-extra-plugin-recaptcha": "^3.6.8",
68
68
  "quote": "^0.4.0",
69
+ "raindrop-ai": "0.0.67-otelv2",
69
70
  "safe-stable-stringify": "^2.5.0",
70
71
  "semver": "^7.6.0",
71
72
  "set-cookie-parser": "^2.7.1",
@@ -113,7 +113,7 @@ Error generating stack: `+r.message+`
113
113
  `:`[${a[l]}\r
114
114
  ]`;continue}n+=a[l],a[l]==="\\"?r=!0:i&&a[l]==="]"?i=!1:!i&&a[l]==="["&&(i=!0)}try{new RegExp(n)}catch{return console.warn(`Could not convert regex pattern at ${u.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return n}function P7e(e,u){var a,n,r,i,o,s;if(u.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),u.target==="openApi3"&&((a=e.keyType)==null?void 0:a._def.typeName)===ru.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((l,c)=>({...l,[c]:nn(e.valueType._def,{...u,currentPath:[...u.currentPath,"properties",c]})??es(u)}),{}),additionalProperties:u.rejectedAdditionalProperties};const t={type:"object",additionalProperties:nn(e.valueType._def,{...u,currentPath:[...u.currentPath,"additionalProperties"]})??u.allowedAdditionalProperties};if(u.target==="openApi3")return t;if(((n=e.keyType)==null?void 0:n._def.typeName)===ru.ZodString&&((r=e.keyType._def.checks)!=null&&r.length)){const{type:l,...c}=R7e(e.keyType._def,u);return{...t,propertyNames:c}}else{if(((i=e.keyType)==null?void 0:i._def.typeName)===ru.ZodEnum)return{...t,propertyNames:{enum:e.keyType._def.values}};if(((o=e.keyType)==null?void 0:o._def.typeName)===ru.ZodBranded&&e.keyType._def.type._def.typeName===ru.ZodString&&((s=e.keyType._def.type._def.checks)!=null&&s.length)){const{type:l,...c}=M7e(e.keyType._def,u);return{...t,propertyNames:c}}}return t}function hDu(e,u){if(u.mapStrategy==="record")return P7e(e,u);const t=nn(e.keyType._def,{...u,currentPath:[...u.currentPath,"items","items","0"]})||es(u),a=nn(e.valueType._def,{...u,currentPath:[...u.currentPath,"items","items","1"]})||es(u);return{type:"array",maxItems:125,items:{type:"array",items:[t,a],minItems:2,maxItems:2}}}function mDu(e){const u=e.values,a=Object.keys(e.values).filter(r=>typeof u[u[r]]!="number").map(r=>u[r]),n=Array.from(new Set(a.map(r=>typeof r)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:a}}function pDu(e){return e.target==="openAi"?void 0:{not:es({...e,currentPath:[...e.currentPath,"not"]})}}function fDu(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}const YS={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function DDu(e,u){if(u.target==="openApi3")return ole(e,u);const t=e.options instanceof Map?Array.from(e.options.values()):e.options;if(t.every(a=>a._def.typeName in YS&&(!a._def.checks||!a._def.checks.length))){const a=t.reduce((n,r)=>{const i=YS[r._def.typeName];return i&&!n.includes(i)?[...n,i]:n},[]);return{type:a.length>1?a:a[0]}}else if(t.every(a=>a._def.typeName==="ZodLiteral"&&!a.description)){const a=t.reduce((n,r)=>{const i=typeof r._def.value;switch(i){case"string":case"number":case"boolean":return[...n,i];case"bigint":return[...n,"integer"];case"object":if(r._def.value===null)return[...n,"null"];case"symbol":case"undefined":case"function":default:return n}},[]);if(a.length===t.length){const n=a.filter((r,i,o)=>o.indexOf(r)===i);return{type:n.length>1?n:n[0],enum:t.reduce((r,i)=>r.includes(i._def.value)?r:[...r,i._def.value],[])}}}else if(t.every(a=>a._def.typeName==="ZodEnum"))return{type:"string",enum:t.reduce((a,n)=>[...a,...n._def.values.filter(r=>!a.includes(r))],[])};return ole(e,u)}const ole=(e,u)=>{const t=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((a,n)=>nn(a._def,{...u,currentPath:[...u.currentPath,"anyOf",`${n}`]})).filter(a=>!!a&&(!u.strictUnions||typeof a=="object"&&Object.keys(a).length>0));return t.length?{anyOf:t}:void 0};function gDu(e,u){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return u.target==="openApi3"?{type:YS[e.innerType._def.typeName],nullable:!0}:{type:[YS[e.innerType._def.typeName],"null"]};if(u.target==="openApi3"){const a=nn(e.innerType._def,{...u,currentPath:[...u.currentPath]});return a&&"$ref"in a?{allOf:[a],nullable:!0}:a&&{...a,nullable:!0}}const t=nn(e.innerType._def,{...u,currentPath:[...u.currentPath,"anyOf","0"]});return t&&{anyOf:[t,{type:"null"}]}}function xDu(e,u){const t={type:"number"};if(!e.checks)return t;for(const a of e.checks)switch(a.kind){case"int":t.type="integer",O7e(t,"type",a.message,u);break;case"min":u.target==="jsonSchema7"?a.inclusive?fn(t,"minimum",a.value,a.message,u):fn(t,"exclusiveMinimum",a.value,a.message,u):(a.inclusive||(t.exclusiveMinimum=!0),fn(t,"minimum",a.value,a.message,u));break;case"max":u.target==="jsonSchema7"?a.inclusive?fn(t,"maximum",a.value,a.message,u):fn(t,"exclusiveMaximum",a.value,a.message,u):(a.inclusive||(t.exclusiveMaximum=!0),fn(t,"maximum",a.value,a.message,u));break;case"multipleOf":fn(t,"multipleOf",a.value,a.message,u);break}return t}function vDu(e,u){const t=u.target==="openAi",a={type:"object",properties:{}},n=[],r=e.shape();for(const o in r){let s=r[o];if(s===void 0||s._def===void 0)continue;let l=bDu(s);l&&t&&(s._def.typeName==="ZodOptional"&&(s=s._def.innerType),s.isNullable()||(s=s.nullable()),l=!1);const c=nn(s._def,{...u,currentPath:[...u.currentPath,"properties",o],propertyPath:[...u.currentPath,"properties",o]});c!==void 0&&(a.properties[o]=c,l||n.push(o))}n.length&&(a.required=n);const i=kDu(e,u);return i!==void 0&&(a.additionalProperties=i),a}function kDu(e,u){if(e.catchall._def.typeName!=="ZodNever")return nn(e.catchall._def,{...u,currentPath:[...u.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return u.allowedAdditionalProperties;case"strict":return u.rejectedAdditionalProperties;case"strip":return u.removeAdditionalStrategy==="strict"?u.allowedAdditionalProperties:u.rejectedAdditionalProperties}}function bDu(e){try{return e.isOptional()}catch{return!0}}const CDu=(e,u)=>{var a;if(u.currentPath.toString()===((a=u.propertyPath)==null?void 0:a.toString()))return nn(e.innerType._def,u);const t=nn(e.innerType._def,{...u,currentPath:[...u.currentPath,"anyOf","1"]});return t?{anyOf:[{not:es(u)},t]}:es(u)},yDu=(e,u)=>{if(u.pipeStrategy==="input")return nn(e.in._def,u);if(u.pipeStrategy==="output")return nn(e.out._def,u);const t=nn(e.in._def,{...u,currentPath:[...u.currentPath,"allOf","0"]}),a=nn(e.out._def,{...u,currentPath:[...u.currentPath,"allOf",t?"1":"0"]});return{allOf:[t,a].filter(n=>n!==void 0)}};function FDu(e,u){return nn(e.type._def,u)}function ADu(e,u){const a={type:"array",uniqueItems:!0,items:nn(e.valueType._def,{...u,currentPath:[...u.currentPath,"items"]})};return e.minSize&&fn(a,"minItems",e.minSize.value,e.minSize.message,u),e.maxSize&&fn(a,"maxItems",e.maxSize.value,e.maxSize.message,u),a}function SDu(e,u){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((t,a)=>nn(t._def,{...u,currentPath:[...u.currentPath,"items",`${a}`]})).reduce((t,a)=>a===void 0?t:[...t,a],[]),additionalItems:nn(e.rest._def,{...u,currentPath:[...u.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((t,a)=>nn(t._def,{...u,currentPath:[...u.currentPath,"items",`${a}`]})).reduce((t,a)=>a===void 0?t:[...t,a],[])}}function BDu(e){return{not:es(e)}}function wDu(e){return es(e)}const TDu=(e,u)=>nn(e.innerType._def,u),zDu=(e,u,t)=>{switch(u){case ru.ZodString:return R7e(e,t);case ru.ZodNumber:return xDu(e,t);case ru.ZodObject:return vDu(e,t);case ru.ZodBigInt:return uDu(e,t);case ru.ZodBoolean:return tDu();case ru.ZodDate:return N7e(e,t);case ru.ZodUndefined:return BDu(t);case ru.ZodNull:return fDu(t);case ru.ZodArray:return eDu(e,t);case ru.ZodUnion:case ru.ZodDiscriminatedUnion:return DDu(e,t);case ru.ZodIntersection:return lDu(e,t);case ru.ZodTuple:return SDu(e,t);case ru.ZodRecord:return P7e(e,t);case ru.ZodLiteral:return cDu(e,t);case ru.ZodEnum:return oDu(e);case ru.ZodNativeEnum:return mDu(e);case ru.ZodNullable:return gDu(e,t);case ru.ZodOptional:return CDu(e,t);case ru.ZodMap:return hDu(e,t);case ru.ZodSet:return ADu(e,t);case ru.ZodLazy:return()=>e.getter()._def;case ru.ZodPromise:return FDu(e,t);case ru.ZodNaN:case ru.ZodNever:return pDu(t);case ru.ZodEffects:return iDu(e,t);case ru.ZodAny:return es(t);case ru.ZodUnknown:return wDu(t);case ru.ZodDefault:return rDu(e,t);case ru.ZodBranded:return M7e(e,t);case ru.ZodReadonly:return TDu(e,t);case ru.ZodCatch:return aDu(e,t);case ru.ZodPipeline:return yDu(e,t);case ru.ZodFunction:case ru.ZodVoid:case ru.ZodSymbol:return;default:return(a=>{})()}};function nn(e,u,t=!1){var o;const a=u.seen.get(e);if(u.override){const s=(o=u.override)==null?void 0:o.call(u,e,u,a,t);if(s!==Qfu)return s}if(a&&!t){const s=ODu(a,u);if(s!==void 0)return s}const n={def:e,path:u.currentPath,jsonSchema:void 0};u.seen.set(e,n);const r=zDu(e,e.typeName,u),i=typeof r=="function"?nn(r(),u):r;if(i&&_Du(e,u,i),u.postProcess){const s=u.postProcess(i,e,u);return n.jsonSchema=i,s}return n.jsonSchema=i,i}const ODu=(e,u)=>{switch(u.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:_7e(u.currentPath,e.path)};case"none":case"seen":return e.path.length<u.currentPath.length&&e.path.every((t,a)=>u.currentPath[a]===t)?(console.warn(`Recursive reference detected at ${u.currentPath.join("/")}! Defaulting to any`),es(u)):u.$refStrategy==="seen"?es(u):void 0}},_Du=(e,u,t)=>(e.description&&(t.description=e.description,u.markdownDescription&&(t.markdownDescription=e.description)),t),gY=(e,u)=>{const t=Xfu(u);let a=typeof u=="object"&&u.definitions?Object.entries(u.definitions).reduce((s,[l,c])=>({...s,[l]:nn(c._def,{...t,currentPath:[...t.basePath,t.definitionPath,l]},!0)??es(t)}),{}):void 0;const n=typeof u=="string"?u:(u==null?void 0:u.nameStrategy)==="title"||u==null?void 0:u.name,r=nn(e._def,n===void 0?t:{...t,currentPath:[...t.basePath,t.definitionPath,n]},!1)??es(t),i=typeof u=="object"&&u.name!==void 0&&u.nameStrategy==="title"?u.name:void 0;i!==void 0&&(r.title=i),t.flags.hasReferencedOpenAiAnyType&&(a||(a={}),a[t.openAiAnyTypeName]||(a[t.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:t.$refStrategy==="relative"?"1":[...t.basePath,t.definitionPath,t.openAiAnyTypeName].join("/")}}));const o=n===void 0?a?{...r,[t.definitionPath]:a}:r:{$ref:[...t.$refStrategy==="relative"?[]:t.basePath,t.definitionPath,n].join("/"),[t.definitionPath]:{...a,[n]:r}};return t.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":(t.target==="jsonSchema2019-09"||t.target==="openAi")&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),t.target==="openAi"&&("anyOf"in o||"oneOf"in o||"allOf"in o||"type"in o&&Array.isArray(o.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),o};ec(ge);var RT=(e=>(e.AI_PROVIDER="AIProviderError",e.USER_INFRA="UserInfrastructureError",e.ACTION_FAILURE="ActionFailureError",e.ASSERTION_FAILURE="AssertionFailureError",e.CONFIG_ERROR="UserConfigurationError",e.SETUP_FAILURE="SetupFailureError",e.TEARDOWN_FAILURE="TeardownFailureError",e.WEB_AGENT_PLATFORM="InternalWebAgentError",e.UNKNOWN_PLATFORM="InternalPlatformError",e.JOB_TIMEOUT="JobTimeoutError",e.CONCURRENCY_ERROR="ConcurrencyError",e.UNKNOWN="UnknownError",e))(RT||{});const MDu=V({reason:Pu(RT),previousStepsDescription:Zu(F()).optional(),summary:F(),rootCause:F().optional()}).openapi({ref:"TestResultClassification"}),I7e=V({errorMessage:F(),errorStack:F().optional(),classification:MDu.optional()}).openapi({ref:"TestFailureDetails"});class NDu extends Error{constructor(u,t={}){super(u,t),this.name="StepValidationError"}}const RDu={[_.CLICK]:"Click on an element on the page.",[_.TYPE]:"Focus the element then type the specified text into an input on the page.",[_.PRESS]:"Press one or more keyboard keys.",[_.KEY_DOWN]:"Hold down one or more keyboard keys.",[_.KEY_UP]:"Release one or more keyboard keys.",[_.SELECT_OPTION]:"Choose an option from a native <select> component. Never use this command for non <select> elements. Instead, use a series of CLICK commands for those.",[_.NAVIGATE]:"Go to the specified fully qualified URL.",[_.SCROLL_UP]:"Scroll up.",[_.SCROLL_DOWN]:"Scroll down.",[_.GO_BACK]:"Go back to the previous page.",[_.HOVER]:"Hover over an element.",[_.AI_ASSERTION]:"Verify a statement about the current page, retrying until it is true. Only generate an assertion if the goal includes language like 'check that', 'verify that', etc..",[_.WAIT]:"Wait a fixed amount of seconds.",[_.DRAG]:"Drag an element from one location and drop it onto another element.",[_.JAVASCRIPT]:"Execute JavaScript code in NODE or BROWSER environment.",[_.ELEMENT_CHECK]:"Perform a manual assertion on a specific element.",[_.PAGE_CHECK]:"Perform a manual case sensitive assertion on the page's html.",[_.NEW_TAB]:"Open a new browser tab with the specified URL.",[_.WAIT_FOR_URL]:"Wait for the URL to match a pattern.",[_.AI_EXTRACT]:"Extract data from the page and optionally store it in an environment variable.",[_.COPY]:"Copy the specified text value to the browser clipboard.",[_.GO_FORWARD]:"Navigate forward to the next page in the browser history (if available). Only use this after having navigated back with GO_BACK. Do not use this to navigate to a different page - use NAVIGATE instead.",[_.LOCAL_STORAGE]:"Set or get a value in the browser's localStorage. Use this to store data that persists across page reloads or to read stored values.",[_.MOUSE_DRAG]:"Drag the mouse from a starting point (or element) in a specific direction by pixel amounts. Prefer using DRAG (drag and drop between elements) instead unless the user explicitly requests dragging in a direction or by pixels. Use this when dragging needs to move a specific distance rather than to a target element.",[_.PASTE]:"Paste the contents of the browser clipboard into the currently focused element. Use this after copying text with COPY or when pasting content that was previously copied.",[_.REFRESH]:"Reload the current page. Use this to refresh the page content or retry a failed operation.",[_.REQUEST]:"Make an HTTP API request to a specified URL. Use this to interact with REST APIs, send data to a server, or retrieve data from an endpoint. Supports GET, POST, PUT, DELETE, and PATCH methods with custom headers, query parameters, and request body."};w7e.options.forEach(e=>{const u=e.shape.type.value;if(u!==_.SUCCESS&&!RDu[u])throw new Error(`Command type ${u} is missing a description`)});const j7e=V({type:ne(_.CLICK),description:F().describe(`Description of the element to click in the Current Page. Never click on <select> elements, see ${_.SELECT_OPTION}.`),doubleClick:Te().or(fa()),rightClick:Te().or(fa())}),L7e=V({type:ne(_.TYPE),description:F().describe("Description of the element to type into, which must be an <input>, <textarea>, or contenteditable element."),text:F().describe("The text to enter, truncated to 500 characters. If the PM provided text in the goals, use it exactly without modification."),pressEnter:Te().or(fa()).describe("Press enter after typing (useful for form submissions)."),clearContent:Te().describe("Clear existing content before typing. Disable to append to the existing text.")}),$7e=V({type:ne(_.GO_BACK)}),PDu=V({type:ne(_.GO_FORWARD)}),IDu=V({type:ne(_.LOCAL_STORAGE),key:F().describe("The localStorage key to set or get."),value:F().describe("The value to store in localStorage. If reading, this can be empty.")}),K7e=V({type:ne(_.PRESS),keys:Zu(F()).describe('The keys to press. Only use key names supported by the Playwright press method, such as "a", "ArrowLeft", "Meta", "Control", and "Enter". Multiple keys will be pressed together. Do not suggest platform-specific key combinations, such as CTRL+C.')}),V7e=V({type:ne(_.SELECT_OPTION),description:F().describe("Description of the <select> element to choose from. Only use this command to interact with native HTML <select> elements. You must use CLICK to select from any other HTML element, such as <input>, <div>, or custom elements."),option:zt("type",[V({type:ne("VALUE"),value:F()}),V({type:ne("LABEL"),label:F()}),V({type:ne("INDEX"),index:F().describe("Zero-based index of the option within the select.")})]).describe("Which option to select. Choose 1 of 3 strategies for selecting. By value is exactly matching the 'value' attribute. By label is exactly matching the 'label' attribute. By index is using the zero-based index of the option within the select.")}),H7e=V({type:ne(_.NAVIGATE),url:F().describe("The URL to navigate to. Only navigate to URLs relevant to the user goal.")}),G7e=V({type:ne("SCROLL"),y:he().describe("Scroll up or down by the specified pixels. Positive values scroll down.")}),U7e=V({type:ne(_.WAIT),timeout:he().describe("The number of seconds to wait.")}),W7e=V({type:ne(_.AI_ASSERTION),assertion:F().describe("The assertion to verify. This should be a statement verifiable based on the current page HTML or screenshot. Be specific enough that the assertion is not ambiguous or open to interpretation. Make sure the assertion aligns with what the user intends to verify."),timeout:he().describe("The max amount of seconds to wait for the assertion to be true. Respect user wishes but allow no more than 60. If unspecified, choose 5 for quick checks like form status, 10 for page loads, and 30 for actions that explicitly trigger a long time, like image generation.")}),q7e=V({type:ne(_.HOVER),description:F().describe("Description of the element to hover over. Prefer elements that have visible bounding boxes according to the screenshot, element class attribute, or child contents.")}),jDu=V({type:ne(_.COPY),value:F().describe("The text value to copy to the browser clipboard. This should be the exact text that needs to be copied.")}),LDu=V({type:ne(_.PASTE)}),$Du=V({type:ne(_.REFRESH)}),KDu=V({type:ne(_.REQUEST),url:F().describe("The URL to send the HTTP request to. Can be a full URL or relative path."),method:Zs(["GET","POST","PUT","DELETE","PATCH"]).describe("The HTTP method to use. GET for retrieving data, POST for creating resources, PUT for updating resources, DELETE for removing resources, PATCH for partial updates."),headers:yu(F(),F()).or(fa()).describe("Optional HTTP headers as key-value pairs. Common headers include 'Content-Type', 'Authorization', 'Accept', etc."),params:yu(F(),F()).or(fa()).describe("Optional URL query parameters as key-value pairs. These will be appended to the URL as ?key1=value1&key2=value2."),body:F().or(fa()).describe("Optional request body as a string. For JSON data, stringify the object. Typically used with POST, PUT, or PATCH requests."),timeout:he().int().or(fa()).describe("Optional maximum number of seconds to wait for the request to complete. Defaults to 30 seconds if not specified.")}),J7e=V({type:ne(_.DRAG),fromDescription:F().describe("Description of the element to drag. Prefer precise identifiers or text that clearly distinguishes the element."),toDescription:F().describe("Description of the element to drop onto. Ensure the drop target is interactable and visible."),steps:he().int().positive().or(fa()).describe("Optional number of intermediate mouse move steps during the drag. Do not use this unless the user tells you to."),hoverSeconds:he().positive().or(fa()).describe("Optional seconds to hover over the destination before releasing the drag.")}),VDu=V({type:ne(_.MOUSE_DRAG),description:F().or(fa()).describe("Optional description of the element to start the drag from. If not provided, starts from current mouse position."),deltaX:he().describe("Number of pixels to move horizontally (positive = right, negative = left)."),deltaY:he().describe("Number of pixels to move vertically (positive = down, negative = up)."),steps:he().int().positive().or(fa()).describe("Optional number of intermediate mouse move steps during the drag.")}),HDu=V({type:ne(_.JAVASCRIPT),code:F().describe("JavaScript code to execute. Defaults to NODE environment unless BROWSER is specified."),environment:Er([ne("NODE"),ne("BROWSER")]).or(fa()).describe("Execution environment. Default is NODE."),timeout:he().or(fa()).describe("Max seconds for the code to complete. Max 60 seconds.")}),GDu=V({type:ne(_.AI_EXTRACT),goal:F().describe("Description of what data to extract from the page. Be specific about what you want to extract and where to find it."),schema:F().or(fa()).describe("JSON schema defining the expected structure of the extracted data."),envKey:F().or(fa()).describe("Environment variable name to store the extracted result in. If provided, the result will be stored and can be referenced later."),iframeUrl:F().or(fa()).describe("URL or URL regex for the iframe to extract data from.")}),UDu=V({type:ne(_.ELEMENT_CHECK),description:F().describe("Description of the element to check."),assertionType:Zs(["EXISTS","VISIBLE","CONTENT_CONTAINS","CONTENT_EQUALS"]).describe("The type of assertion. EXISTS checks if element exists, VISIBLE checks if visible, CONTENT_CONTAINS checks if text contains value, CONTENT_EQUALS checks if text equals value."),value:F().or(fa()).describe("The value to check against (required for CONTENT assertions)."),negated:Te().or(fa()).describe("If true, asserts the opposite (e.g., does NOT exist)."),timeout:he().or(fa()).describe("Max seconds to wait for the assertion to be true.")}),WDu=V({type:ne(_.PAGE_CHECK),value:F().describe("The text content to check for on the page."),negated:Te().or(fa()).describe("If true, checks that the content is NOT present."),timeout:he().or(fa()).describe("Max seconds to wait for the assertion to be true.")}),qDu=V({type:ne(_.NEW_TAB),url:F().describe("The URL to open in the new tab.")}),JDu=V({type:ne(_.WAIT_FOR_URL),matcher:zt("type",[V({type:ne("SUBSTRING"),url:F()}),V({type:ne("GLOB"),glob:F()}),V({type:ne("REGEX"),regex:F()}),V({type:ne("DOMAIN"),domain:F()})]).describe("How to match the URL."),caseInsensitive:Te().or(fa()),negated:Te().or(fa()).describe("Wait for the URL to NOT match instead."),timeout:he().or(fa()).describe("Max seconds to wait for the URL.")}),xY=V({type:ne(_.SUCCESS)}),vY=V({type:ne("FAILURE")}),Z7e=zt("type",[j7e,L7e,K7e,V7e,H7e,G7e,U7e,W7e,q7e,$7e]),ZDu=zt("type",[...Z7e.options,J7e]),kY=zt("type",[j7e,L7e,K7e,V7e,H7e,G7e,U7e,W7e,q7e,$7e,J7e,HDu,UDu,WDu,qDu,JDu,GDu,jDu,PDu,IDu,VDu,LDu,$Du,KDu]);gY(kY);zt("type",[...kY.options,xY,vY]);gY(zt("type",[...Z7e.options,xY,vY]));gY(zt("type",[...ZDu.options,xY,vY]));V({command:$t(),thoughts:F()});const Ff=V({index:he().optional().describe("global index within a test (in-order traversal)"),id:F(),skipped:Te().optional(),envKey:F().optional().describe("key in the environment to save the result of this step to"),aiSuggested:Te().optional(),retries:he().optional()});var me=(e=>(e.PRESET_ACTION="PRESET_ACTION",e.MODULE="MODULE",e.AI_ACTION="AI_ACTION",e.AI_ACTION_DYNAMIC="AI_ACTION_DYNAMIC",e.CONDITIONAL="CONDITIONAL",e.SECTION="SECTION",e))(me||{});ec(ge);const QDu=Ff.extend({type:ne(me.PRESET_ACTION)}),Af=QDu.extend({command:pY}).openapi({ref:"PresetAction"});ec(ge);const bY=Ff.extend({type:ne(me.AI_ACTION),text:F(),steps:Af.array().optional()}).openapi({ref:"AIAction"});ec(ge);const CY=Ff.extend({type:ne(me.AI_ACTION_DYNAMIC),text:F(),retries:he().optional()}).openapi({ref:"AIActionDynamic"}),Q7e=Ff.extend({type:ne(me.CONDITIONAL),skipped:Te().optional()}),YDu=V({cacheKey:F(),cacheExpiryMs:he()}),Y7e=Ff.extend({id:F().uuid().describe("ID of the module step itself. Used to 'namespace' step cache entries."),inputs:yu(F()).optional(),cacheConfig:YDu.optional()}),PT=Y7e.extend({type:ne(me.MODULE),moduleId:F().uuid()});Er([PT.pick({type:!0,moduleId:!0}),yu($t())]);const XDu=V({type:ne("URL_REGEX"),regex:F()}),egu=V({type:ne("PAGE_CHECK"),substring:F()}),X7e=V({cacheInvalidation:zt("type",[egu,XDu]).optional()}),Ox=V({moduleId:F().uuid(),name:F(),description:F().nullish(),enabled:Te().nullish(),parameters:F().array().nullish(),defaultParameters:yu(F(),F()).nullish(),parameterEnums:yu(F(),F().array()).nullish(),defaultCacheKey:F().nullish(),defaultCacheTtl:he().nullish(),defaultCacheAllInvocations:Te().nullish(),autoAuth:Te().nullish(),advanced:X7e.nullish()}),Rb=e=>e.type===me.AI_ACTION||e.type===me.AI_ACTION_DYNAMIC||e.type===me.PRESET_ACTION;var e9e=(e=>(e.ALWAYS="ALWAYS",e.ON_FAILURE="ON_FAILURE",e.ON_ACTION_FAILURE="ON_ACTION_FAILURE",e))(e9e||{});const ugu=zt("type",[V({type:ne("NAVIGATE_URL"),url:F().url()}),V({type:ne("GO_TO_SECTION_START")})]),tgu=V({trigger:Pu(e9e).optional(),attempts:he().int().optional(),restartBehavior:ugu}),yY=Ff.extend({type:ne(me.SECTION),description:F().describe("user provided goal of what the section should accomplish"),plan:F().array().optional(),autohealingConfig:tgu.optional()}),agu=Ox.merge(Y7e).extend({type:ne("RESOLVED_MODULE"),steps:dn(()=>Ai.array())}),u9e=Ox.extend({steps:dn(()=>Ai.array())}),ngu=yY.extend({steps:dn(()=>Ih.array())}),rgu=yY.extend({steps:dn(()=>Ai.array())}),t9e=Q7e.extend({blocks:V({assertion:dn(()=>Af),steps:dn(()=>Ih.array())}).array(),elseSteps:dn(()=>Ih.array().optional())}),igu=Q7e.extend({blocks:V({assertion:dn(()=>Af),steps:dn(()=>Ai.array())}).array(),elseSteps:dn(()=>Ai.array().optional())}),Ih=zt("type",[Af,bY,CY,PT,t9e,ngu]),Ai=zt("type",[Af,bY,CY,agu,igu,rgu]);V({steps:Ih.array(),beforeSteps:Ih.array().nullish(),afterSteps:Ih.array().nullish()});const IT=V({steps:Ai.array(),beforeSteps:Ai.array().nullish(),afterSteps:Ai.array().nullish()}),FY=V({steps:yu(F(),$t()).array(),beforeSteps:yu(F(),$t()).array().nullish(),afterSteps:yu(F(),$t()).array().nullish()}),ogu="1.0.21",sgu=/^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/,a9e=e=>{let u=e.trim().toLowerCase().replace(/[^a-z0-9]/g,"-");for(;u.includes("--");)u=u.replaceAll("--","-");return u.startsWith("-")&&(u=u.slice(1)),u.endsWith("-")&&(u=u.slice(0,u.length-1)),u},zm=F().min(1).max(255).superRefine((e,u)=>{try{lgu(e)}catch(t){return u.addIssue({code:Qe.custom,message:t.message,fatal:!0}),oY}});function lgu(e){if(e=e.toLowerCase().trim(),e.length===0||e.length>255)throw new Error("Name must be between 1 and 255 characters long");if(/[<>:"/\\|?*]/.test(e))throw new Error('Name contains one of the following invalid characters: <>:"/\\|?*');if(e.endsWith("-")||e.startsWith("-"))throw new Error("Name cannot start or end with a dash.");if(e.includes("\0"))throw new Error("Name cannot contain null characters");if(/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i.test(e))throw new Error(`"${e}" is a reserved name on Windows and cannot be used as a filename.`);if(/^\.+$/.test(e)||/^\s|\s$/.test(e))throw new Error("Name cannot start or end with a space or dot.");if(e.endsWith(".yaml"))throw new Error('Name cannot end with ".yaml".');if(e==="none")throw new Error("Name cannot be 'none'.");if(e.match(sgu))throw new Error("Name cannot be a UUID. Please choose a different name.")}const n9e=iY(e=>e===null?"":e,Er([F().url(),ne("")])).optional(),cgu=[_.AI_EXTRACT,_.JAVASCRIPT],dgu=V({id:F().optional().describe("Recommended way of selecting an entity. The id of the entity to resolve."),name:zm.optional().describe("1-255 chars; Only letters/numbers/dashes. Cannot start/end with '-'. Not '.yaml', 'none', or UUID."),path:F().optional().describe("The path of the entity to resolve.")}).describe("A selector for a single entity. Exactly one of id, name, or path must be provided. Id is recommended.").refine(e=>[e.id,e.name,e.path].filter(Boolean).length===1,"Exactly one of id, name, or path must be provided."),Egu=V({selector:dgu,inputs:yu(F()).or(fa())});V({type:ne(me.PRESET_ACTION),action:kY,envKey:F().or(fa()).describe(`key in the environment to save the result of this step to. Only use this for ${cgu.join(" or ")} steps.`)});V({type:ne(me.MODULE),module:Egu});V({type:ne(me.AI_ACTION_DYNAMIC),text:F().describe("The goal description for the AI action. Supports handlebars templates like {{env.VARIABLE_NAME}}.")});V({phrase:F()});V({thoughts:F().optional(),result:Er([ne("NOT_FOUND"),F(),he(),Zu($t()),yu($t(),$t()),$t()])});V({text:F()});const hgu=Te().or(Pu(jp)).transform(e=>!(!e||e===jp.Irrelevant)),r9e=V({attributes:Zu(F()).nullish(),text:hgu.nullish(),position:Pu(jp).nullish(),shape:Pu(jp).nullish()}),mgu=V({id:he().int(),requirements:r9e}),pgu=mgu.array();V({thoughts:F(),review:F().optional(),id:he().int(),updatedMemory:XAe.optional(),requirements:r9e.nullish().transform(e=>{if(e!==null)return e}),additionalElements:pgu.nullish().transform(e=>{if(e!==null)return e})});var jT=(e=>(e.NO_DESCRIPTION_PROVIDED="NO_DESCRIPTION_PROVIDED",e.FEW_WORDS="FEW_WORDS",e.STYLE_TAG="STYLE_TAG",e.TYPE_IN_DESCRIPTION="TYPE_IN_DESCRIPTION",e.HARDCODED_ATTRIBUTE="HARDCODED_ATTRIBUTE",e.NONE="NONE",e.AMBIGUOUS_DESCRIPTION="AMBIGUOUS_DESCRIPTION",e.AMBIGUOUS_ASSERTION="AMBIGUOUS_ASSERTION",e.PREFER_PAGE_CHECK="PREFER_PAGE_CHECK",e.PREFER_ASSERTION="PREFER_ASSERTION",e.HTML_ELEMENTS="HTML_ELEMENTS",e.MULTIPLE_ELEMENTS_DESCRIPTION="MULTIPLE_ELEMENTS_DESCRIPTION",e.NEEDS_DATE_VARIABLE="NEEDS_DATE_VARIABLE",e))(jT||{}),i9e=(e=>(e.NONE="NONE",e.AMBIGUOUS_DESCRIPTION="AMBIGUOUS_DESCRIPTION",e.COPILOT_MISUSE="COPILOT_MISUSE",e.IRRELEVANT_MESSAGE="IRRELEVANT_MESSAGE",e))(i9e||{}),xk=(e=>(e.LOW="LOW",e.HIGH="HIGH",e.NONE="NONE",e))(xk||{});const o9e={AMBIGUOUS_ASSERTION:"LOW",PREFER_PAGE_CHECK:"LOW",AMBIGUOUS_DESCRIPTION:"LOW",MULTIPLE_ELEMENTS_DESCRIPTION:"LOW",FEW_WORDS:"HIGH",STYLE_TAG:"HIGH",NEEDS_DATE_VARIABLE:"LOW",TYPE_IN_DESCRIPTION:"LOW",NONE:"NONE",NO_DESCRIPTION_PROVIDED:"NONE",HARDCODED_ATTRIBUTE:"LOW",PREFER_ASSERTION:"LOW",HTML_ELEMENTS:"LOW"};V({thoughts:F(),category:Pu(jT)});V({thoughts:F(),category:Pu(i9e)});const fgu=zt("op",[V({op:ne("replace"),path:F(),value:F()}),V({op:ne("add"),path:F(),value:F()}),V({op:ne("remove"),path:F()})]);V({thoughts:F(),patches:fgu.array()});const Dgu=[ne("add"),ne("replace"),ne("remove")],ggu=V({op:Er(Dgu),path:F(),value:Ai.optional()});V({patches:ggu.array(),thoughts:F()});var s9e=(e=>(e.LEGITIMATE="LEGITIMATE",e.RECOVERABLE="RECOVERABLE",e.INELIGIBLE="INELIGIBLE",e))(s9e||{});V({thoughts:F(),scenario:Pu(s9e),instructions:F().nullish()});V({reasoning:F(),scenario:F(),patch:fa().optional()});V({thoughts:F(),evaluation:he().min(0).max(10)});V({observations:F(),reasoning:F(),command:Hfu});V({summary:F(),reasoning:F(),evaluation:zt("type",[V({type:ne("DONE")}),V({type:ne("RIGHT_TRACK")}),V({type:ne("WRONG_TRACK"),feedback:F()}),V({type:ne("IMPOSSIBLE")})])});const xgu=V({startId:he().int(),endId:he().int()});var l9e=(e=>(e.SIMPLE_CONTENT_BASED_LOCATOR="SIMPLE_CONTENT_BASED_LOCATOR",e.SIMPLE_CONTENT_BASED_ASSERTION="SIMPLE_CONTENT_BASED_ASSERTION",e.OTHER="OTHER",e))(l9e||{});V({categoryThoughts:F(),category:Pu(l9e),relevantSections:xgu.array()});const Jd=Te().nullish().transform(e=>e??!1);V({thoughts:F().optional(),isPageReady:Jd,descriptionLabels:V({usesTextContent:Jd,usesAppearance:Jd,usesPosition:Jd,usesRelativeElements:Jd,usesSingleQuotes:Jd,isAmbiguous:Jd,targetDoesNotExist:Jd,usesIcon:Jd}).optional()});var s0=(e=>(e[e.IDLE=0]="IDLE",e[e.LOCATING=1]="LOCATING",e[e.LOCATED=2]="LOCATED",e[e.FAILED=3]="FAILED",e))(s0||{}),Lc=(e=>(e[e.IDLE=0]="IDLE",e[e.INITIALIZING=1]="INITIALIZING",e[e.WAITING_FOR_CLICK=2]="WAITING_FOR_CLICK",e[e.WAITING_FOR_DESCRIPTION=3]="WAITING_FOR_DESCRIPTION",e[e.ERROR=4]="ERROR",e))(Lc||{});V({thoughts:F().optional().describe("only provided if a description was provided"),target:Nb.optional().describe("only provided if a description was provided"),pageState:F().optional().describe("serialized a11y tree, only provided if a description was provided"),options:V({label:F(),value:F()}).array().optional().describe("list of options, provided for <select> elements only"),screenshot:V({data:F(),height:he().int(),width:he().int()}).optional().describe("only provided if returnScreenshot is true")});const vgu=Er([ne("ELEMENT_CHECK"),ne("NEGATED_CHECK"),ne("NEGATED_ELEMENT_VISIBLE_CHECK"),ne("SELECT_OPTION"),ne("TYPE")]);var c9e=(e=>(e.USER_SELECTOR="USER_SELECTOR",e.CSS_SELECTOR="CSS_SELECTOR",e.HYBRID_SELECTOR="HYBRID_SELECTOR",e.HTML_DISTANCE="HTML_DISTANCE",e.TEMPLATE_MATCHING="TEMPLATE_MATCHING",e.AUTO_FRAME="AUTO_FRAME",e))(c9e||{});const _x=V({matched:Te(),reason:F().optional().describe("Human understandable description"),logs:F().array().optional().describe("Logs for debugging")}),kgu=_x.extend({type:ne("USER_SELECTOR")}),bgu=_x.extend({type:ne("CSS_SELECTOR"),selectors:F().array()}),Cgu=_x.extend({type:ne("HYBRID_SELECTOR")}),ygu=_x.extend({type:ne("HTML_DISTANCE"),distance:he().optional(),closestElement:F().optional(),savedElement:F().optional()}),Fgu=_x.extend({type:ne("TEMPLATE_MATCHING"),elementImageUrl:F().url()}),Agu=_x.extend({type:ne("AUTO_FRAME"),logs:F().array().optional()}),Sgu=zt("type",[kgu,bgu,Cgu,ygu,Fgu,Agu]);var Bgu=typeof global=="object"&&global&&global.Object===Object&&global;const d9e=Bgu;var wgu=typeof self=="object"&&self&&self.Object===Object&&self,Tgu=d9e||wgu||Function("return this")();const rs=Tgu;var zgu=rs.Symbol;const kd=zgu;var E9e=Object.prototype,Ogu=E9e.hasOwnProperty,_gu=E9e.toString,V6=kd?kd.toStringTag:void 0;function Mgu(e){var u=Ogu.call(e,V6),t=e[V6];try{e[V6]=void 0;var a=!0}catch{}var n=_gu.call(e);return a&&(u?e[V6]=t:delete e[V6]),n}var Ngu=Object.prototype,Rgu=Ngu.toString;function Pgu(e){return Rgu.call(e)}var Igu="[object Null]",jgu="[object Undefined]",sle=kd?kd.toStringTag:void 0;function Mx(e){return e==null?e===void 0?jgu:Igu:sle&&sle in Object(e)?Mgu(e):Pgu(e)}function Y4(e){return e!=null&&typeof e=="object"}var Lgu="[object Symbol]";function LT(e){return typeof e=="symbol"||Y4(e)&&Mx(e)==Lgu}function $gu(e,u){for(var t=-1,a=e==null?0:e.length,n=Array(a);++t<a;)n[t]=u(e[t],t,e);return n}var Kgu=Array.isArray;const i1=Kgu;var Vgu=1/0,lle=kd?kd.prototype:void 0,cle=lle?lle.toString:void 0;function h9e(e){if(typeof e=="string")return e;if(i1(e))return $gu(e,h9e)+"";if(LT(e))return cle?cle.call(e):"";var u=e+"";return u=="0"&&1/e==-Vgu?"-0":u}var Hgu=/\s/;function Ggu(e){for(var u=e.length;u--&&Hgu.test(e.charAt(u)););return u}var Ugu=/^\s+/;function Wgu(e){return e&&e.slice(0,Ggu(e)+1).replace(Ugu,"")}function X4(e){var u=typeof e;return e!=null&&(u=="object"||u=="function")}var dle=NaN,qgu=/^[-+]0x[0-9a-f]+$/i,Jgu=/^0b[01]+$/i,Zgu=/^0o[0-7]+$/i,Qgu=parseInt;function Ygu(e){if(typeof e=="number")return e;if(LT(e))return dle;if(X4(e)){var u=typeof e.valueOf=="function"?e.valueOf():e;e=X4(u)?u+"":u}if(typeof e!="string")return e===0?e:+e;e=Wgu(e);var t=Jgu.test(e);return t||Zgu.test(e)?Qgu(e.slice(2),t?2:8):qgu.test(e)?dle:+e}var Ele=1/0,Xgu=17976931348623157e292;function e5u(e){if(!e)return e===0?e:0;if(e=Ygu(e),e===Ele||e===-Ele){var u=e<0?-1:1;return u*Xgu}return e===e?e:0}function hle(e){var u=e5u(e),t=u%1;return u===u?t?u-t:u:0}function AY(e){return e}var u5u="[object AsyncFunction]",t5u="[object Function]",a5u="[object GeneratorFunction]",n5u="[object Proxy]";function m9e(e){if(!X4(e))return!1;var u=Mx(e);return u==t5u||u==a5u||u==u5u||u==n5u}var r5u=rs["__core-js_shared__"];const gN=r5u;var mle=function(){var e=/[^.]+$/.exec(gN&&gN.keys&&gN.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function i5u(e){return!!mle&&mle in e}var o5u=Function.prototype,s5u=o5u.toString;function Sf(e){if(e!=null){try{return s5u.call(e)}catch{}try{return e+""}catch{}}return""}var l5u=/[\\^$.*+?()[\]{}|]/g,c5u=/^\[object .+?Constructor\]$/,d5u=Function.prototype,E5u=Object.prototype,h5u=d5u.toString,m5u=E5u.hasOwnProperty,p5u=RegExp("^"+h5u.call(m5u).replace(l5u,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f5u(e){if(!X4(e)||i5u(e))return!1;var u=m9e(e)?p5u:c5u;return u.test(Sf(e))}function D5u(e,u){return e==null?void 0:e[u]}function Bf(e,u){var t=D5u(e,u);return f5u(t)?t:void 0}var g5u=Bf(rs,"WeakMap");const Pb=g5u;var x5u=Pb&&new Pb;const XS=x5u;var v5u=XS?function(e,u){return XS.set(e,u),e}:AY;const p9e=v5u;var ple=Object.create,k5u=function(){function e(){}return function(u){if(!X4(u))return{};if(ple)return ple(u);e.prototype=u;var t=new e;return e.prototype=void 0,t}}();const $T=k5u;function Ib(e){return function(){var u=arguments;switch(u.length){case 0:return new e;case 1:return new e(u[0]);case 2:return new e(u[0],u[1]);case 3:return new e(u[0],u[1],u[2]);case 4:return new e(u[0],u[1],u[2],u[3]);case 5:return new e(u[0],u[1],u[2],u[3],u[4]);case 6:return new e(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return new e(u[0],u[1],u[2],u[3],u[4],u[5],u[6])}var t=$T(e.prototype),a=e.apply(t,u);return X4(a)?a:t}}var b5u=1;function C5u(e,u,t){var a=u&b5u,n=Ib(e);function r(){var i=this&&this!==rs&&this instanceof r?n:e;return i.apply(a?t:this,arguments)}return r}function f9e(e,u,t){switch(t.length){case 0:return e.call(u);case 1:return e.call(u,t[0]);case 2:return e.call(u,t[0],t[1]);case 3:return e.call(u,t[0],t[1],t[2])}return e.apply(u,t)}var y5u=Math.max;function D9e(e,u,t,a){for(var n=-1,r=e.length,i=t.length,o=-1,s=u.length,l=y5u(r-i,0),c=Array(s+l),d=!a;++o<s;)c[o]=u[o];for(;++n<i;)(d||n<r)&&(c[t[n]]=e[n]);for(;l--;)c[o++]=e[n++];return c}var F5u=Math.max;function g9e(e,u,t,a){for(var n=-1,r=e.length,i=-1,o=t.length,s=-1,l=u.length,c=F5u(r-o,0),d=Array(c+l),E=!a;++n<c;)d[n]=e[n];for(var h=n;++s<l;)d[h+s]=u[s];for(;++i<o;)(E||n<r)&&(d[h+t[i]]=e[n++]);return d}function A5u(e,u){for(var t=e.length,a=0;t--;)e[t]===u&&++a;return a}function SY(){}var S5u=4294967295;function O5(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=S5u,this.__views__=[]}O5.prototype=$T(SY.prototype);O5.prototype.constructor=O5;function x9e(){}var B5u=XS?function(e){return XS.get(e)}:x9e;const v9e=B5u;var w5u={};const fle=w5u;var T5u=Object.prototype,z5u=T5u.hasOwnProperty;function O5u(e){for(var u=e.name+"",t=fle[u],a=z5u.call(fle,u)?t.length:0;a--;){var n=t[a],r=n.func;if(r==null||r==e)return n.name}return u}function _5(e,u){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=void 0}_5.prototype=$T(SY.prototype);_5.prototype.constructor=_5;function BY(e,u){var t=-1,a=e.length;for(u||(u=Array(a));++t<a;)u[t]=e[t];return u}function _5u(e){if(e instanceof O5)return e.clone();var u=new _5(e.__wrapped__,e.__chain__);return u.__actions__=BY(e.__actions__),u.__index__=e.__index__,u.__values__=e.__values__,u}var M5u=Object.prototype,N5u=M5u.hasOwnProperty;function eB(e){if(Y4(e)&&!i1(e)&&!(e instanceof O5)){if(e instanceof _5)return e;if(N5u.call(e,"__wrapped__"))return _5u(e)}return new _5(e)}eB.prototype=SY.prototype;eB.prototype.constructor=eB;function R5u(e){var u=O5u(e),t=eB[u];if(typeof t!="function"||!(u in O5.prototype))return!1;if(e===t)return!0;var a=v9e(t);return!!a&&e===a[0]}var P5u=800,I5u=16,j5u=Date.now;function k9e(e){var u=0,t=0;return function(){var a=j5u(),n=I5u-(a-t);if(t=a,n>0){if(++u>=P5u)return arguments[0]}else u=0;return e.apply(void 0,arguments)}}var L5u=k9e(p9e);const b9e=L5u;var $5u=/\{\n\/\* \[wrapped with (.+)\] \*/,K5u=/,? & /;function V5u(e){var u=e.match($5u);return u?u[1].split(K5u):[]}var H5u=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function G5u(e,u){var t=u.length;if(!t)return e;var a=t-1;return u[a]=(t>1?"& ":"")+u[a],u=u.join(t>2?", ":" "),e.replace(H5u,`{
115
115
  /* [wrapped with `+u+`] */
116
- `)}function U5u(e){return function(){return e}}var W5u=function(){try{var e=Bf(Object,"defineProperty");return e({},"",{}),e}catch{}}();const uB=W5u;var q5u=uB?function(e,u){return uB(e,"toString",{configurable:!0,enumerable:!1,value:U5u(u),writable:!0})}:AY;const J5u=q5u;var Z5u=k9e(J5u);const Q5u=Z5u;function C9e(e,u){for(var t=-1,a=e==null?0:e.length;++t<a&&u(e[t],t,e)!==!1;);return e}function Y5u(e,u,t,a){for(var n=e.length,r=t+(a?1:-1);a?r--:++r<n;)if(u(e[r],r,e))return r;return-1}function X5u(e){return e!==e}function exu(e,u,t){for(var a=t-1,n=e.length;++a<n;)if(e[a]===u)return a;return-1}function uxu(e,u,t){return u===u?exu(e,u,t):Y5u(e,X5u,t)}function y9e(e,u){var t=e==null?0:e.length;return!!t&&uxu(e,u,0)>-1}var txu=1,axu=2,nxu=8,rxu=16,ixu=32,oxu=64,sxu=128,lxu=256,cxu=512,dxu=[["ary",sxu],["bind",txu],["bindKey",axu],["curry",nxu],["curryRight",rxu],["flip",cxu],["partial",ixu],["partialRight",oxu],["rearg",lxu]];function Exu(e,u){return C9e(dxu,function(t){var a="_."+t[0];u&t[1]&&!y9e(e,a)&&e.push(a)}),e.sort()}function F9e(e,u,t){var a=u+"";return Q5u(e,G5u(a,Exu(V5u(a),t)))}var hxu=1,mxu=2,pxu=4,fxu=8,Dle=32,gle=64;function A9e(e,u,t,a,n,r,i,o,s,l){var c=u&fxu,d=c?i:void 0,E=c?void 0:i,h=c?r:void 0,p=c?void 0:r;u|=c?Dle:gle,u&=~(c?gle:Dle),u&pxu||(u&=~(hxu|mxu));var f=[e,u,n,h,d,p,E,o,s,l],g=t.apply(void 0,f);return R5u(e)&&b9e(g,f),g.placeholder=a,F9e(g,e,u)}function S9e(e){var u=e;return u.placeholder}var Dxu=9007199254740991,gxu=/^(?:0|[1-9]\d*)$/;function wY(e,u){var t=typeof e;return u=u??Dxu,!!u&&(t=="number"||t!="symbol"&&gxu.test(e))&&e>-1&&e%1==0&&e<u}var xxu=Math.min;function vxu(e,u){for(var t=e.length,a=xxu(u.length,t),n=BY(e);a--;){var r=u[a];e[a]=wY(r,t)?n[r]:void 0}return e}var xle="__lodash_placeholder__";function tB(e,u){for(var t=-1,a=e.length,n=0,r=[];++t<a;){var i=e[t];(i===u||i===xle)&&(e[t]=xle,r[n++]=t)}return r}var kxu=1,bxu=2,Cxu=8,yxu=16,Fxu=128,Axu=512;function TY(e,u,t,a,n,r,i,o,s,l){var c=u&Fxu,d=u&kxu,E=u&bxu,h=u&(Cxu|yxu),p=u&Axu,f=E?void 0:Ib(e);function g(){for(var D=arguments.length,x=Array(D),v=D;v--;)x[v]=arguments[v];if(h)var b=S9e(g),y=A5u(x,b);if(a&&(x=D9e(x,a,n,h)),r&&(x=g9e(x,r,i,h)),D-=y,h&&D<l){var C=tB(x,b);return A9e(e,u,TY,g.placeholder,t,x,C,o,s,l-D)}var A=d?t:this,S=E?A[e]:e;return D=x.length,o?x=vxu(x,o):p&&D>1&&x.reverse(),c&&s<D&&(x.length=s),this&&this!==rs&&this instanceof g&&(S=f||Ib(S)),S.apply(A,x)}return g}function Sxu(e,u,t){var a=Ib(e);function n(){for(var r=arguments.length,i=Array(r),o=r,s=S9e(n);o--;)i[o]=arguments[o];var l=r<3&&i[0]!==s&&i[r-1]!==s?[]:tB(i,s);if(r-=l.length,r<t)return A9e(e,u,TY,n.placeholder,void 0,i,l,void 0,void 0,t-r);var c=this&&this!==rs&&this instanceof n?a:e;return f9e(c,this,i)}return n}var Bxu=1;function wxu(e,u,t,a){var n=u&Bxu,r=Ib(e);function i(){for(var o=-1,s=arguments.length,l=-1,c=a.length,d=Array(c+s),E=this&&this!==rs&&this instanceof i?r:e;++l<c;)d[l]=a[l];for(;s--;)d[l++]=arguments[++o];return f9e(E,n?t:this,d)}return i}var vle="__lodash_placeholder__",xN=1,Txu=2,zxu=4,kle=8,H6=128,ble=256,Oxu=Math.min;function _xu(e,u){var t=e[1],a=u[1],n=t|a,r=n<(xN|Txu|H6),i=a==H6&&t==kle||a==H6&&t==ble&&e[7].length<=u[8]||a==(H6|ble)&&u[7].length<=u[8]&&t==kle;if(!(r||i))return e;a&xN&&(e[2]=u[2],n|=t&xN?0:zxu);var o=u[3];if(o){var s=e[3];e[3]=s?D9e(s,o,u[4]):o,e[4]=s?tB(e[3],vle):u[4]}return o=u[5],o&&(s=e[5],e[5]=s?g9e(s,o,u[6]):o,e[6]=s?tB(e[5],vle):u[6]),o=u[7],o&&(e[7]=o),a&H6&&(e[8]=e[8]==null?u[8]:Oxu(e[8],u[8])),e[9]==null&&(e[9]=u[9]),e[0]=u[0],e[1]=n,e}var Mxu="Expected a function",Cle=1,Nxu=2,vN=8,kN=16,bN=32,yle=64,Fle=Math.max;function Rxu(e,u,t,a,n,r,i,o){var s=u&Nxu;if(!s&&typeof e!="function")throw new TypeError(Mxu);var l=a?a.length:0;if(l||(u&=~(bN|yle),a=n=void 0),i=i===void 0?i:Fle(hle(i),0),o=o===void 0?o:hle(o),l-=n?n.length:0,u&yle){var c=a,d=n;a=n=void 0}var E=s?void 0:v9e(e),h=[e,u,t,a,n,c,d,r,i,o];if(E&&_xu(h,E),e=h[0],u=h[1],t=h[2],a=h[3],n=h[4],o=h[9]=h[9]===void 0?s?0:e.length:Fle(h[9]-l,0),!o&&u&(vN|kN)&&(u&=~(vN|kN)),!u||u==Cle)var p=C5u(e,u,t);else u==vN||u==kN?p=Sxu(e,u,o):(u==bN||u==(Cle|bN))&&!n.length?p=wxu(e,u,t,a):p=TY.apply(void 0,h);var f=E?p9e:b9e;return F9e(f(p,h),e,u)}function B9e(e,u,t){u=="__proto__"&&uB?uB(e,u,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[u]=t}function zY(e,u){return e===u||e!==e&&u!==u}var Pxu=Object.prototype,Ixu=Pxu.hasOwnProperty;function w9e(e,u,t){var a=e[u];(!(Ixu.call(e,u)&&zY(a,t))||t===void 0&&!(u in e))&&B9e(e,u,t)}function KT(e,u,t,a){var n=!t;t||(t={});for(var r=-1,i=u.length;++r<i;){var o=u[r],s=a?a(t[o],e[o],o,t,e):void 0;s===void 0&&(s=e[o]),n?B9e(t,o,s):w9e(t,o,s)}return t}var jxu=9007199254740991;function OY(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jxu}function T9e(e){return e!=null&&OY(e.length)&&!m9e(e)}var Lxu=Object.prototype;function _Y(e){var u=e&&e.constructor,t=typeof u=="function"&&u.prototype||Lxu;return e===t}function $xu(e,u){for(var t=-1,a=Array(e);++t<e;)a[t]=u(t);return a}var Kxu="[object Arguments]";function Ale(e){return Y4(e)&&Mx(e)==Kxu}var z9e=Object.prototype,Vxu=z9e.hasOwnProperty,Hxu=z9e.propertyIsEnumerable,Gxu=Ale(function(){return arguments}())?Ale:function(e){return Y4(e)&&Vxu.call(e,"callee")&&!Hxu.call(e,"callee")};const O9e=Gxu;function Uxu(){return!1}var _9e=typeof Rs=="object"&&Rs&&!Rs.nodeType&&Rs,Sle=_9e&&typeof Ps=="object"&&Ps&&!Ps.nodeType&&Ps,Wxu=Sle&&Sle.exports===_9e,Ble=Wxu?rs.Buffer:void 0,qxu=Ble?Ble.isBuffer:void 0,Jxu=qxu||Uxu;const aB=Jxu;var Zxu="[object Arguments]",Qxu="[object Array]",Yxu="[object Boolean]",Xxu="[object Date]",e6u="[object Error]",u6u="[object Function]",t6u="[object Map]",a6u="[object Number]",n6u="[object Object]",r6u="[object RegExp]",i6u="[object Set]",o6u="[object String]",s6u="[object WeakMap]",l6u="[object ArrayBuffer]",c6u="[object DataView]",d6u="[object Float32Array]",E6u="[object Float64Array]",h6u="[object Int8Array]",m6u="[object Int16Array]",p6u="[object Int32Array]",f6u="[object Uint8Array]",D6u="[object Uint8ClampedArray]",g6u="[object Uint16Array]",x6u="[object Uint32Array]",Zn={};Zn[d6u]=Zn[E6u]=Zn[h6u]=Zn[m6u]=Zn[p6u]=Zn[f6u]=Zn[D6u]=Zn[g6u]=Zn[x6u]=!0;Zn[Zxu]=Zn[Qxu]=Zn[l6u]=Zn[Yxu]=Zn[c6u]=Zn[Xxu]=Zn[e6u]=Zn[u6u]=Zn[t6u]=Zn[a6u]=Zn[n6u]=Zn[r6u]=Zn[i6u]=Zn[o6u]=Zn[s6u]=!1;function v6u(e){return Y4(e)&&OY(e.length)&&!!Zn[Mx(e)]}function MY(e){return function(u){return e(u)}}var M9e=typeof Rs=="object"&&Rs&&!Rs.nodeType&&Rs,vk=M9e&&typeof Ps=="object"&&Ps&&!Ps.nodeType&&Ps,k6u=vk&&vk.exports===M9e,CN=k6u&&d9e.process,b6u=function(){try{var e=vk&&vk.require&&vk.require("util").types;return e||CN&&CN.binding&&CN.binding("util")}catch{}}();const M5=b6u;var wle=M5&&M5.isTypedArray,C6u=wle?MY(wle):v6u;const N9e=C6u;var y6u=Object.prototype,F6u=y6u.hasOwnProperty;function R9e(e,u){var t=i1(e),a=!t&&O9e(e),n=!t&&!a&&aB(e),r=!t&&!a&&!n&&N9e(e),i=t||a||n||r,o=i?$xu(e.length,String):[],s=o.length;for(var l in e)(u||F6u.call(e,l))&&!(i&&(l=="length"||n&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||wY(l,s)))&&o.push(l);return o}function P9e(e,u){return function(t){return e(u(t))}}var A6u=P9e(Object.keys,Object);const S6u=A6u;var B6u=Object.prototype,w6u=B6u.hasOwnProperty;function T6u(e){if(!_Y(e))return S6u(e);var u=[];for(var t in Object(e))w6u.call(e,t)&&t!="constructor"&&u.push(t);return u}function VT(e){return T9e(e)?R9e(e):T6u(e)}function z6u(e){var u=[];if(e!=null)for(var t in Object(e))u.push(t);return u}var O6u=Object.prototype,_6u=O6u.hasOwnProperty;function M6u(e){if(!X4(e))return z6u(e);var u=_Y(e),t=[];for(var a in e)a=="constructor"&&(u||!_6u.call(e,a))||t.push(a);return t}function NY(e){return T9e(e)?R9e(e,!0):M6u(e)}var N6u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,R6u=/^\w*$/;function RY(e,u){if(i1(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||LT(e)?!0:R6u.test(e)||!N6u.test(e)||u!=null&&e in Object(u)}var P6u=Bf(Object,"create");const jb=P6u;function I6u(){this.__data__=jb?jb(null):{},this.size=0}function j6u(e){var u=this.has(e)&&delete this.__data__[e];return this.size-=u?1:0,u}var L6u="__lodash_hash_undefined__",$6u=Object.prototype,K6u=$6u.hasOwnProperty;function V6u(e){var u=this.__data__;if(jb){var t=u[e];return t===L6u?void 0:t}return K6u.call(u,e)?u[e]:void 0}var H6u=Object.prototype,G6u=H6u.hasOwnProperty;function U6u(e){var u=this.__data__;return jb?u[e]!==void 0:G6u.call(u,e)}var W6u="__lodash_hash_undefined__";function q6u(e,u){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=jb&&u===void 0?W6u:u,this}function $p(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var a=e[u];this.set(a[0],a[1])}}$p.prototype.clear=I6u;$p.prototype.delete=j6u;$p.prototype.get=V6u;$p.prototype.has=U6u;$p.prototype.set=q6u;function J6u(){this.__data__=[],this.size=0}function HT(e,u){for(var t=e.length;t--;)if(zY(e[t][0],u))return t;return-1}var Z6u=Array.prototype,Q6u=Z6u.splice;function Y6u(e){var u=this.__data__,t=HT(u,e);if(t<0)return!1;var a=u.length-1;return t==a?u.pop():Q6u.call(u,t,1),--this.size,!0}function X6u(e){var u=this.__data__,t=HT(u,e);return t<0?void 0:u[t][1]}function evu(e){return HT(this.__data__,e)>-1}function uvu(e,u){var t=this.__data__,a=HT(t,e);return a<0?(++this.size,t.push([e,u])):t[a][1]=u,this}function mE(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var a=e[u];this.set(a[0],a[1])}}mE.prototype.clear=J6u;mE.prototype.delete=Y6u;mE.prototype.get=X6u;mE.prototype.has=evu;mE.prototype.set=uvu;var tvu=Bf(rs,"Map");const Lb=tvu;function avu(){this.size=0,this.__data__={hash:new $p,map:new(Lb||mE),string:new $p}}function nvu(e){var u=typeof e;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?e!=="__proto__":e===null}function GT(e,u){var t=e.__data__;return nvu(u)?t[typeof u=="string"?"string":"hash"]:t.map}function rvu(e){var u=GT(this,e).delete(e);return this.size-=u?1:0,u}function ivu(e){return GT(this,e).get(e)}function ovu(e){return GT(this,e).has(e)}function svu(e,u){var t=GT(this,e),a=t.size;return t.set(e,u),this.size+=t.size==a?0:1,this}function pE(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var a=e[u];this.set(a[0],a[1])}}pE.prototype.clear=avu;pE.prototype.delete=rvu;pE.prototype.get=ivu;pE.prototype.has=ovu;pE.prototype.set=svu;var lvu="Expected a function";function PY(e,u){if(typeof e!="function"||u!=null&&typeof u!="function")throw new TypeError(lvu);var t=function(){var a=arguments,n=u?u.apply(this,a):a[0],r=t.cache;if(r.has(n))return r.get(n);var i=e.apply(this,a);return t.cache=r.set(n,i)||r,i};return t.cache=new(PY.Cache||pE),t}PY.Cache=pE;var cvu=500;function dvu(e){var u=PY(e,function(a){return t.size===cvu&&t.clear(),a}),t=u.cache;return u}var Evu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,hvu=/\\(\\)?/g,mvu=dvu(function(e){var u=[];return e.charCodeAt(0)===46&&u.push(""),e.replace(Evu,function(t,a,n,r){u.push(n?r.replace(hvu,"$1"):a||t)}),u});const pvu=mvu;function fvu(e){return e==null?"":h9e(e)}function I9e(e,u){return i1(e)?e:RY(e,u)?[e]:pvu(fvu(e))}var Dvu=1/0;function UT(e){if(typeof e=="string"||LT(e))return e;var u=e+"";return u=="0"&&1/e==-Dvu?"-0":u}function j9e(e,u){u=I9e(u,e);for(var t=0,a=u.length;e!=null&&t<a;)e=e[UT(u[t++])];return t&&t==a?e:void 0}function gvu(e,u,t){var a=e==null?void 0:j9e(e,u);return a===void 0?t:a}function L9e(e,u){for(var t=-1,a=u.length,n=e.length;++t<a;)e[n+t]=u[t];return e}var xvu=P9e(Object.getPrototypeOf,Object);const $9e=xvu;function vvu(){this.__data__=new mE,this.size=0}function kvu(e){var u=this.__data__,t=u.delete(e);return this.size=u.size,t}function bvu(e){return this.__data__.get(e)}function Cvu(e){return this.__data__.has(e)}var yvu=200;function Fvu(e,u){var t=this.__data__;if(t instanceof mE){var a=t.__data__;if(!Lb||a.length<yvu-1)return a.push([e,u]),this.size=++t.size,this;t=this.__data__=new pE(a)}return t.set(e,u),this.size=t.size,this}function dd(e){var u=this.__data__=new mE(e);this.size=u.size}dd.prototype.clear=vvu;dd.prototype.delete=kvu;dd.prototype.get=bvu;dd.prototype.has=Cvu;dd.prototype.set=Fvu;function Avu(e,u){return e&&KT(u,VT(u),e)}function Svu(e,u){return e&&KT(u,NY(u),e)}var K9e=typeof Rs=="object"&&Rs&&!Rs.nodeType&&Rs,Tle=K9e&&typeof Ps=="object"&&Ps&&!Ps.nodeType&&Ps,Bvu=Tle&&Tle.exports===K9e,zle=Bvu?rs.Buffer:void 0,Ole=zle?zle.allocUnsafe:void 0;function wvu(e,u){if(u)return e.slice();var t=e.length,a=Ole?Ole(t):new e.constructor(t);return e.copy(a),a}function Tvu(e,u){for(var t=-1,a=e==null?0:e.length,n=0,r=[];++t<a;){var i=e[t];u(i,t,e)&&(r[n++]=i)}return r}function V9e(){return[]}var zvu=Object.prototype,Ovu=zvu.propertyIsEnumerable,_le=Object.getOwnPropertySymbols,_vu=_le?function(e){return e==null?[]:(e=Object(e),Tvu(_le(e),function(u){return Ovu.call(e,u)}))}:V9e;const IY=_vu;function Mvu(e,u){return KT(e,IY(e),u)}var Nvu=Object.getOwnPropertySymbols,Rvu=Nvu?function(e){for(var u=[];e;)L9e(u,IY(e)),e=$9e(e);return u}:V9e;const H9e=Rvu;function Pvu(e,u){return KT(e,H9e(e),u)}function G9e(e,u,t){var a=u(e);return i1(e)?a:L9e(a,t(e))}function _G(e){return G9e(e,VT,IY)}function Ivu(e){return G9e(e,NY,H9e)}var jvu=Bf(rs,"DataView");const MG=jvu;var Lvu=Bf(rs,"Promise");const NG=Lvu;var $vu=Bf(rs,"Set");const Fg=$vu;var Mle="[object Map]",Kvu="[object Object]",Nle="[object Promise]",Rle="[object Set]",Ple="[object WeakMap]",Ile="[object DataView]",Vvu=Sf(MG),Hvu=Sf(Lb),Gvu=Sf(NG),Uvu=Sf(Fg),Wvu=Sf(Pb),D3=Mx;(MG&&D3(new MG(new ArrayBuffer(1)))!=Ile||Lb&&D3(new Lb)!=Mle||NG&&D3(NG.resolve())!=Nle||Fg&&D3(new Fg)!=Rle||Pb&&D3(new Pb)!=Ple)&&(D3=function(e){var u=Mx(e),t=u==Kvu?e.constructor:void 0,a=t?Sf(t):"";if(a)switch(a){case Vvu:return Ile;case Hvu:return Mle;case Gvu:return Nle;case Uvu:return Rle;case Wvu:return Ple}return u});const $b=D3;var qvu=Object.prototype,Jvu=qvu.hasOwnProperty;function Zvu(e){var u=e.length,t=new e.constructor(u);return u&&typeof e[0]=="string"&&Jvu.call(e,"index")&&(t.index=e.index,t.input=e.input),t}var Qvu=rs.Uint8Array;const nB=Qvu;function jY(e){var u=new e.constructor(e.byteLength);return new nB(u).set(new nB(e)),u}function Yvu(e,u){var t=u?jY(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}var Xvu=/\w*$/;function eku(e){var u=new e.constructor(e.source,Xvu.exec(e));return u.lastIndex=e.lastIndex,u}var jle=kd?kd.prototype:void 0,Lle=jle?jle.valueOf:void 0;function uku(e){return Lle?Object(Lle.call(e)):{}}function tku(e,u){var t=u?jY(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}var aku="[object Boolean]",nku="[object Date]",rku="[object Map]",iku="[object Number]",oku="[object RegExp]",sku="[object Set]",lku="[object String]",cku="[object Symbol]",dku="[object ArrayBuffer]",Eku="[object DataView]",hku="[object Float32Array]",mku="[object Float64Array]",pku="[object Int8Array]",fku="[object Int16Array]",Dku="[object Int32Array]",gku="[object Uint8Array]",xku="[object Uint8ClampedArray]",vku="[object Uint16Array]",kku="[object Uint32Array]";function bku(e,u,t){var a=e.constructor;switch(u){case dku:return jY(e);case aku:case nku:return new a(+e);case Eku:return Yvu(e,t);case hku:case mku:case pku:case fku:case Dku:case gku:case xku:case vku:case kku:return tku(e,t);case rku:return new a;case iku:case lku:return new a(e);case oku:return eku(e);case sku:return new a;case cku:return uku(e)}}function Cku(e){return typeof e.constructor=="function"&&!_Y(e)?$T($9e(e)):{}}var yku="[object Map]";function Fku(e){return Y4(e)&&$b(e)==yku}var $le=M5&&M5.isMap,Aku=$le?MY($le):Fku;const Sku=Aku;var Bku="[object Set]";function wku(e){return Y4(e)&&$b(e)==Bku}var Kle=M5&&M5.isSet,Tku=Kle?MY(Kle):wku;const zku=Tku;var Oku=1,_ku=2,Mku=4,U9e="[object Arguments]",Nku="[object Array]",Rku="[object Boolean]",Pku="[object Date]",Iku="[object Error]",W9e="[object Function]",jku="[object GeneratorFunction]",Lku="[object Map]",$ku="[object Number]",q9e="[object Object]",Kku="[object RegExp]",Vku="[object Set]",Hku="[object String]",Gku="[object Symbol]",Uku="[object WeakMap]",Wku="[object ArrayBuffer]",qku="[object DataView]",Jku="[object Float32Array]",Zku="[object Float64Array]",Qku="[object Int8Array]",Yku="[object Int16Array]",Xku="[object Int32Array]",ebu="[object Uint8Array]",ubu="[object Uint8ClampedArray]",tbu="[object Uint16Array]",abu="[object Uint32Array]",Rn={};Rn[U9e]=Rn[Nku]=Rn[Wku]=Rn[qku]=Rn[Rku]=Rn[Pku]=Rn[Jku]=Rn[Zku]=Rn[Qku]=Rn[Yku]=Rn[Xku]=Rn[Lku]=Rn[$ku]=Rn[q9e]=Rn[Kku]=Rn[Vku]=Rn[Hku]=Rn[Gku]=Rn[ebu]=Rn[ubu]=Rn[tbu]=Rn[abu]=!0;Rn[Iku]=Rn[W9e]=Rn[Uku]=!1;function J7(e,u,t,a,n,r){var i,o=u&Oku,s=u&_ku,l=u&Mku;if(t&&(i=n?t(e,a,n,r):t(e)),i!==void 0)return i;if(!X4(e))return e;var c=i1(e);if(c){if(i=Zvu(e),!o)return BY(e,i)}else{var d=$b(e),E=d==W9e||d==jku;if(aB(e))return wvu(e,o);if(d==q9e||d==U9e||E&&!n){if(i=s||E?{}:Cku(e),!o)return s?Pvu(e,Svu(i,e)):Mvu(e,Avu(i,e))}else{if(!Rn[d])return n?e:{};i=bku(e,d,o)}}r||(r=new dd);var h=r.get(e);if(h)return h;r.set(e,i),zku(e)?e.forEach(function(g){i.add(J7(g,u,t,g,e,r))}):Sku(e)&&e.forEach(function(g,D){i.set(D,J7(g,u,t,D,e,r))});var p=l?s?Ivu:_G:s?NY:VT,f=c?void 0:p(e);return C9e(f||e,function(g,D){f&&(D=g,g=e[D]),w9e(i,D,J7(g,u,t,D,e,r))}),i}var nbu=1,rbu=4;function RG(e){return J7(e,nbu|rbu)}function Vle(e){for(var u=-1,t=e==null?0:e.length,a=0,n=[];++u<t;){var r=e[u];r&&(n[a++]=r)}return n}var ibu="__lodash_hash_undefined__";function obu(e){return this.__data__.set(e,ibu),this}function sbu(e){return this.__data__.has(e)}function Kb(e){var u=-1,t=e==null?0:e.length;for(this.__data__=new pE;++u<t;)this.add(e[u])}Kb.prototype.add=Kb.prototype.push=obu;Kb.prototype.has=sbu;function lbu(e,u){for(var t=-1,a=e==null?0:e.length;++t<a;)if(u(e[t],t,e))return!0;return!1}function J9e(e,u){return e.has(u)}var cbu=1,dbu=2;function Z9e(e,u,t,a,n,r){var i=t&cbu,o=e.length,s=u.length;if(o!=s&&!(i&&s>o))return!1;var l=r.get(e),c=r.get(u);if(l&&c)return l==u&&c==e;var d=-1,E=!0,h=t&dbu?new Kb:void 0;for(r.set(e,u),r.set(u,e);++d<o;){var p=e[d],f=u[d];if(a)var g=i?a(f,p,d,u,e,r):a(p,f,d,e,u,r);if(g!==void 0){if(g)continue;E=!1;break}if(h){if(!lbu(u,function(D,x){if(!J9e(h,x)&&(p===D||n(p,D,t,a,r)))return h.push(x)})){E=!1;break}}else if(!(p===f||n(p,f,t,a,r))){E=!1;break}}return r.delete(e),r.delete(u),E}function Ebu(e){var u=-1,t=Array(e.size);return e.forEach(function(a,n){t[++u]=[n,a]}),t}function LY(e){var u=-1,t=Array(e.size);return e.forEach(function(a){t[++u]=a}),t}var hbu=1,mbu=2,pbu="[object Boolean]",fbu="[object Date]",Dbu="[object Error]",gbu="[object Map]",xbu="[object Number]",vbu="[object RegExp]",kbu="[object Set]",bbu="[object String]",Cbu="[object Symbol]",ybu="[object ArrayBuffer]",Fbu="[object DataView]",Hle=kd?kd.prototype:void 0,yN=Hle?Hle.valueOf:void 0;function Abu(e,u,t,a,n,r,i){switch(t){case Fbu:if(e.byteLength!=u.byteLength||e.byteOffset!=u.byteOffset)return!1;e=e.buffer,u=u.buffer;case ybu:return!(e.byteLength!=u.byteLength||!r(new nB(e),new nB(u)));case pbu:case fbu:case xbu:return zY(+e,+u);case Dbu:return e.name==u.name&&e.message==u.message;case vbu:case bbu:return e==u+"";case gbu:var o=Ebu;case kbu:var s=a&hbu;if(o||(o=LY),e.size!=u.size&&!s)return!1;var l=i.get(e);if(l)return l==u;a|=mbu,i.set(e,u);var c=Z9e(o(e),o(u),a,n,r,i);return i.delete(e),c;case Cbu:if(yN)return yN.call(e)==yN.call(u)}return!1}var Sbu=1,Bbu=Object.prototype,wbu=Bbu.hasOwnProperty;function Tbu(e,u,t,a,n,r){var i=t&Sbu,o=_G(e),s=o.length,l=_G(u),c=l.length;if(s!=c&&!i)return!1;for(var d=s;d--;){var E=o[d];if(!(i?E in u:wbu.call(u,E)))return!1}var h=r.get(e),p=r.get(u);if(h&&p)return h==u&&p==e;var f=!0;r.set(e,u),r.set(u,e);for(var g=i;++d<s;){E=o[d];var D=e[E],x=u[E];if(a)var v=i?a(x,D,E,u,e,r):a(D,x,E,e,u,r);if(!(v===void 0?D===x||n(D,x,t,a,r):v)){f=!1;break}g||(g=E=="constructor")}if(f&&!g){var b=e.constructor,y=u.constructor;b!=y&&"constructor"in e&&"constructor"in u&&!(typeof b=="function"&&b instanceof b&&typeof y=="function"&&y instanceof y)&&(f=!1)}return r.delete(e),r.delete(u),f}var zbu=1,Gle="[object Arguments]",Ule="[object Array]",$F="[object Object]",Obu=Object.prototype,Wle=Obu.hasOwnProperty;function _bu(e,u,t,a,n,r){var i=i1(e),o=i1(u),s=i?Ule:$b(e),l=o?Ule:$b(u);s=s==Gle?$F:s,l=l==Gle?$F:l;var c=s==$F,d=l==$F,E=s==l;if(E&&aB(e)){if(!aB(u))return!1;i=!0,c=!1}if(E&&!c)return r||(r=new dd),i||N9e(e)?Z9e(e,u,t,a,n,r):Abu(e,u,s,t,a,n,r);if(!(t&zbu)){var h=c&&Wle.call(e,"__wrapped__"),p=d&&Wle.call(u,"__wrapped__");if(h||p){var f=h?e.value():e,g=p?u.value():u;return r||(r=new dd),n(f,g,t,a,r)}}return E?(r||(r=new dd),Tbu(e,u,t,a,n,r)):!1}function $Y(e,u,t,a,n){return e===u?!0:e==null||u==null||!Y4(e)&&!Y4(u)?e!==e&&u!==u:_bu(e,u,t,a,$Y,n)}var Mbu=1,Nbu=2;function Rbu(e,u,t,a){var n=t.length,r=n,i=!a;if(e==null)return!r;for(e=Object(e);n--;){var o=t[n];if(i&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++n<r;){o=t[n];var s=o[0],l=e[s],c=o[1];if(i&&o[2]){if(l===void 0&&!(s in e))return!1}else{var d=new dd;if(a)var E=a(l,c,s,e,u,d);if(!(E===void 0?$Y(c,l,Mbu|Nbu,a,d):E))return!1}}return!0}function Q9e(e){return e===e&&!X4(e)}function Pbu(e){for(var u=VT(e),t=u.length;t--;){var a=u[t],n=e[a];u[t]=[a,n,Q9e(n)]}return u}function Y9e(e,u){return function(t){return t==null?!1:t[e]===u&&(u!==void 0||e in Object(t))}}function Ibu(e){var u=Pbu(e);return u.length==1&&u[0][2]?Y9e(u[0][0],u[0][1]):function(t){return t===e||Rbu(t,e,u)}}function jbu(e,u){return e!=null&&u in Object(e)}function Lbu(e,u,t){u=I9e(u,e);for(var a=-1,n=u.length,r=!1;++a<n;){var i=UT(u[a]);if(!(r=e!=null&&t(e,i)))break;e=e[i]}return r||++a!=n?r:(n=e==null?0:e.length,!!n&&OY(n)&&wY(i,n)&&(i1(e)||O9e(e)))}function $bu(e,u){return e!=null&&Lbu(e,u,jbu)}var Kbu=1,Vbu=2;function Hbu(e,u){return RY(e)&&Q9e(u)?Y9e(UT(e),u):function(t){var a=gvu(t,e);return a===void 0&&a===u?$bu(t,e):$Y(u,a,Kbu|Vbu)}}function Gbu(e){return function(u){return u==null?void 0:u[e]}}function Ubu(e){return function(u){return j9e(u,e)}}function Wbu(e){return RY(e)?Gbu(UT(e)):Ubu(e)}function qbu(e){return typeof e=="function"?e:e==null?AY:typeof e=="object"?i1(e)?Hbu(e[0],e[1]):Ibu(e):Wbu(e)}var Jbu=8;function rB(e,u,t){u=t?void 0:u;var a=Rxu(e,Jbu,void 0,void 0,void 0,void 0,void 0,u);return a.placeholder=rB.placeholder,a}rB.placeholder={};function Zbu(e,u,t){for(var a=-1,n=e==null?0:e.length;++a<n;)if(t(u,e[a]))return!0;return!1}var Qbu=1/0,Ybu=Fg&&1/LY(new Fg([,-0]))[1]==Qbu?function(e){return new Fg(e)}:x9e;const Xbu=Ybu;var eCu=200;function uCu(e,u,t){var a=-1,n=y9e,r=e.length,i=!0,o=[],s=o;if(t)i=!1,n=Zbu;else if(r>=eCu){var l=u?null:Xbu(e);if(l)return LY(l);i=!1,n=J9e,s=new Kb}else s=u?[]:o;e:for(;++a<r;){var c=e[a],d=u?u(c):c;if(c=t||c!==0?c:0,i&&d===d){for(var E=s.length;E--;)if(s[E]===d)continue e;u&&s.push(d),o.push(c)}else n(s,d,t)||(s!==o&&s.push(d),o.push(c))}return o}function X9e(e,u){return e&&e.length?uCu(e,qbu(u)):[]}const eSe=V({autoFollowNewTabs:Te().optional().describe("Deprecated: Auto-follow new tabs that are opened."),showZeroOpacityElements:Er([Te(),ne("inputs-only")]).optional(),ignoreHrefForCaching:Te().optional(),disableSecondaryCacheResolution:Te().optional(),hybridSelectorMode:Zs(["off","test","prefer"]).optional(),globalLocatorRedirect:Er([Te(),ne("always")]).optional(),visualActions:Te().optional(),autoExpandIframes:Te().optional(),disableHtmlSnapshots:Te().optional(),importantAttributes:F().array().optional(),importantClasses:F().array().optional(),importantStyles:F().array().optional()}),PG=1e4,IG=6e4,tCu=V({server:F(),username:F().optional(),password:F().optional()}),uSe=eSe.extend({pageLoadTimeoutMs:he().optional().refine(e=>e===void 0||e<=IG&&e>=-1,{message:`Page load timeout must be between 0 and ${IG/1e3} seconds`}).describe("global page load timeout default for all tests in ms, can still be overridden by individual tests"),smartWaitingTimeoutMs:he().optional().refine(e=>e===void 0||e<=PG&&e>=-1,{message:`Smart waiting timeout must be between 0 and ${PG/1e3} seconds`}),localChromeExtensionPaths:F().array().optional(),extraHeaders:yu(F(),F()).optional().describe("HTTP headers to be sent on every request"),initialLocalStorage:yu(F(),yu(F(),F())).optional().describe("Initial local storage key-value pairs to set per domain on browser startup"),userAgent:F().optional(),disableGpu:Te().optional(),disableBrowserMonitoring:Te().optional().describe("Disable console logs and network request recording, which power the console and network tab in the run viewer"),bustCacheOnBoundingBoxChange:Te().optional().describe("This setting is deprecated. Bust the cache if no elements are matched that have the same bounding box and location as the original element. This will improve accuracy on sites that use many same components, at the expense of stability and speed."),allowPartialAccessibilityTree:Te().optional().describe("Allow fetching the partial accessibility tree if fetching the full tree takes too long."),ignoreHttpsErrors:Te().optional().describe("Ignore HTTPS errors, such as self-signed certificates and certificate errors. This can be useful for testing sites that use self-signed certificates or certificate errors."),proxy:tCu.optional().describe("HTTP proxy server to use for the entire browser. This can dramatically increase network latency."),disableFullStory:Te().optional().describe("Disable FullStory, a third-party analytics tool that can significantly impact browser performance. This can be useful for testing sites that use FullStory.")}),Vb="BASE_URL",aCu=F().describe("Name of the fixture (must be available locally in the fixtures directory)."),nCu=V({name:F(),variables:yu(F().describe("variable name"),F().describe("variable value"))}),rCu=V({name:F(),variables:yu(F().describe("variable name"),$t().describe("variable value")),browser:uSe.optional()}),iCu="None",G6="none";V({name:F(),variables:yu(F().describe("variable name"),$t().describe("variable value"))});ec(zx);const qle=V({env:yu($t())}).openapi({ref:"TestContextSnapshot"});var sa=(e=>(e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.RUNNING="RUNNING",e.IDLE="IDLE",e.CANCELLED="CANCELLED",e))(sa||{}),tSe=(e=>(e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.CANCELLED="CANCELLED",e))(tSe||{});ec(zx);const KY=V({beforeUrl:F().optional(),afterUrl:F().optional(),message:F().optional(),beforeSnapshot:F().optional(),afterSnapshot:F().optional(),startedAt:Wu.date(),finishedAt:Wu.date()}),oCu=KY.extend({viewport:V({height:he(),width:he()}).nullish(),status:Pu(tSe),message:F().optional(),elementInteracted:F().optional()}),wf=KY.extend({status:Pu(sa),message:F().optional(),data:$t().optional(),beforeTestContext:qle.optional(),afterTestContext:qle.optional(),failureReason:Pu(RT).optional(),details:$t().describe("Parse using StepExecutionLogSchema.array() to get type safety. We don't explicitly type it because it's non-critical information.")}).openapi({ref:"StepResultMetadata"});var aSe=(e=>(e.NOT_ELIGIBLE="NOT_ELIGIBLE",e.ATTEMPTED="ATTEMPTED",e))(aSe||{});const WT=wf.merge(Af).extend({results:oCu.array().describe("Command that was executed. Array is just for consistency with other result types. There should only ever be one item."),previousAttempts:dn(()=>Yo.array()).optional(),failureRecoveryStatus:V({type:Pu(aSe),message:F()}).optional()}),sCu=wf.merge(bY).extend({results:dn(()=>WT.array()),previousAttempts:dn(()=>Yo.array()).optional()}),lCu=wf.merge(CY).extend({results:dn(()=>WT.array()),previousAttempts:dn(()=>Yo.array()).optional()}),cCu=wf.merge(PT).extend({moduleName:F().optional(),results:dn(()=>Yo.array()),previousAttempts:dn(()=>Yo.array()).optional()}),dCu=wf.merge(t9e).extend({assertionResult:WT.optional(),results:dn(()=>Yo.array()).describe("results for the block actually executed"),previousAttempts:dn(()=>Yo.array()).optional()}),ECu=wf.merge(yY).extend({results:dn(()=>Yo.array()),healingAttempts:dn(()=>Yo.array().array()).optional(),previousAttempts:dn(()=>Yo.array()).optional()}),Yo=zt("type",[sCu,lCu,WT,cCu,dCu,ECu]);wf.pick({startedAt:!0,finishedAt:!0,status:!0,message:!0,data:!0});const hCu=KY.extend({index:he().optional(),description:F(),pageState:F().optional(),elementInteracted:F().optional(),startedAt:Wu.date().or(F()).optional().catch(void 0),finishedAt:Wu.date().or(F()).optional().catch(void 0)}),VY=hCu.extend({beforeScreenshot:F().optional(),afterScreenshot:F().optional()}),nSe=V({results:Yo.array().describe("main results"),beforeResults:Yo.array().optional(),afterResults:Yo.array().optional()}),HY=nSe.partial();var Hb=(e=>(e.WEB="WEB",e.ANDROID="ANDROID",e))(Hb||{}),GY={},iB=_e&&_e.__assign||function(){return iB=Object.assign||function(e){for(var u,t=1,a=arguments.length;t<a;t++){u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},iB.apply(this,arguments)};Object.defineProperty(GY,"__esModule",{value:!0});var rSe=GY.isValidCron=void 0,jG=function(e){return/^\d+$/.test(e)?Number(e):NaN},mCu=function(e){return e==="*"},Gb=function(e){return e==="?"},FN=function(e,u,t){return e>=u&&e<=t},pCu=function(e,u,t){var a=e.split("-");switch(a.length){case 1:return mCu(e)||FN(jG(e),u,t);case 2:var n=a.map(function(o){return jG(o)}),r=n[0],i=n[1];return r<=i&&FN(r,u,t)&&FN(i,u,t);default:return!1}},fCu=function(e){return e===void 0||e.search(/[^\d]/)===-1&&jG(e)>0},nm=function(e,u,t){if(e.search(/[^\d-,\/*]/)!==-1)return!1;var a=e.split(",");return a.every(function(n){var r=n.split("/");if(n.trim().endsWith("/")||r.length>2)return!1;var i=r[0],o=r[1];return pCu(i,u,t)&&fCu(o)})},DCu=function(e){return nm(e,0,59)},gCu=function(e){return nm(e,0,59)},xCu=function(e){return nm(e,0,23)},vCu=function(e,u){return u&&Gb(e)||nm(e,1,31)},Jle={jan:"1",feb:"2",mar:"3",apr:"4",may:"5",jun:"6",jul:"7",aug:"8",sep:"9",oct:"10",nov:"11",dec:"12"},kCu=function(e,u){if(e.search(/\/[a-zA-Z]/)!==-1)return!1;if(u){var t=e.toLowerCase().replace(/[a-z]{3}/g,function(a){return Jle[a]===void 0?a:Jle[a]});return nm(t,1,12)}return nm(e,1,12)},Zle={sun:"0",mon:"1",tue:"2",wed:"3",thu:"4",fri:"5",sat:"6"},bCu=function(e,u,t,a){if(t&&Gb(e))return!0;if(!t&&Gb(e)||e.search(/\/[a-zA-Z]/)!==-1)return!1;if(u){var n=e.toLowerCase().replace(/[a-z]{3}/g,function(r){return Zle[r]===void 0?r:Zle[r]});return nm(n,0,a?7:6)}return nm(e,0,a?7:6)},CCu=function(e,u,t){return!(t&&Gb(e)&&Gb(u))},yCu=function(e){return e.trim().split(/\s+/)},FCu={alias:!1,seconds:!1,allowBlankDay:!1,allowSevenAsSunday:!1};rSe=GY.isValidCron=function(e,u){u=iB(iB({},FCu),u);var t=yCu(e);if(t.length>(u.seconds?6:5)||t.length<5)return!1;var a=[];if(t.length===6){var n=t.shift();n&&a.push(DCu(n))}var r=t[0],i=t[1],o=t[2],s=t[3],l=t[4];return a.push(gCu(r)),a.push(xCu(i)),a.push(vCu(o,u.allowBlankDay)),a.push(kCu(s,u.alias)),a.push(bCu(l,u.alias,u.allowBlankDay,u.allowSevenAsSunday)),a.push(CCu(o,l,u.allowBlankDay)),a.every(Boolean)};var eE=(e=>(e.CHROMIUM="Chromium",e.GOOGLE_CHROME="Google Chrome",e.CHROME_FOR_TESTING="Chrome for Testing",e))(eE||{});const iSe={Chromium:"A lightweight, open-source browser that supports only a basic feature set. This is the default browser used by automation frameworks such as Playwright and Cypress.","Google Chrome":"An experimental, full-fledged Google Chrome build supporting advanced features such as Chrome extensions, PDF rendering, and WebGL.","Chrome for Testing":"A headless-only version of Google Chrome with a separate rendering engine specifically optimized for testing and automation."},oSe=V({width:he().min(200).max(1e4),height:he().min(200).max(1e4)}),cp={"Desktop Large":{width:1920,height:1080},"Desktop Small":{width:1280,height:800},iPad:{width:768,height:1024},"Pixel 8":{width:448,height:998},"iPhone 15":{width:393,height:852}},LG=Object.keys(cp),ACu="Desktop Large",sSe=cp["Desktop Large"],Qle={latitude:37.7749,longitude:-122.4194},lSe=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Araguaina","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],$G=1e4,SCu=uSe.extend({browserType:Pu(eE).optional(),slowMoMs:he().optional().refine(e=>e===void 0||e<=$G&&e>=-1,{message:`Slow motion must be between 0 and ${$G} milliseconds`}),basicAuthorization:V({username:F().optional(),password:F().optional()}).optional(),geolocation:V({latitude:Wu.number().refine(e=>e>=-90&&e<=90,{message:"Latitude must be between -90 and 90 degrees"}),longitude:Wu.number().refine(e=>e>=-180&&e<=180,{message:"Longitude must be between -180 and 180 degrees"})}).optional(),disableJavaScript:Te().optional(),locale:F().optional(),timezone:Zs(lSe).optional(),colorScheme:Zs(["light","dark"]).optional()}),cSe=V({useMemory:Te().optional(),failureRecovery:Te().optional().describe("undefined means inherit org settings")}),BCu=cSe.extend({disableAICaching:Te().optional(),failureRecoveryInstructions:F().optional()}),wCu=V({viewport:oSe.optional()}),qT=wCu.merge(BCu).merge(SCu),UY=V({cron:F().refine(e=>rSe(e),{message:"Invalid cron expression."}).default("0 0 */1 * *"),enabled:Te().default(!1),env:F().optional(),timeZone:F().default("America/Los_Angeles"),jobKey:F().optional()}),WY=V({onSuccess:Te().default(!1),failureMessage:F().optional(),onFailure:Te().default(!0),successMessage:F().optional()}),TCu=V({name:F(),required:Te().optional(),defaultValue:F().describe("this is not optional because we need a value when the editor is first loaded")}),dSe=TCu.array(),zCu=V({name:F(),value:F()}),OCu=zCu.array(),ESe=V({name:F(),default:Te().optional(),fixtures:aCu.array().optional()});ec(ge);const Nx={WEBHOOK:"WEBHOOK",CRON:"CRON",MANUAL:"MANUAL",CLI:"CLI"};var xo=(e=>(e.PENDING="PENDING",e.RUNNING="RUNNING",e.PASSED="PASSED",e.FAILED="FAILED",e.CANCELLED="CANCELLED",e.RETRYING="RETRYING",e.WAITING_FOR_USER="WAITING_FOR_USER",e))(xo||{}),qY=(e=>(e.BEFORE_ALL="BEFORE_ALL",e.AFTER_ALL="AFTER_ALL",e))(qY||{});const $0=F().pipe(Wu.date()).or(vd()),JT=V({id:F(),runKey:F(),organizationId:F(),executionType:Pu(Hb).optional().default(Hb.WEB),createdAt:$0,createdBy:F(),flake:Te().nullish(),scheduledAt:$0.or(fa()),startedAt:$0.or(fa()),updatedAt:$0.nullish(),finishedAt:$0.or(fa()),resolvedBaseUrl:F().nullish(),environmentName:F().nullish(),gitBranchName:F().nullish(),githubRepository:F().nullish(),gitlabProjectPath:F().nullish(),labels:Zu(F()).optional(),gitOriginUrl:F().nullish(),gitCommitSha:F().nullish(),gitCommitShaShort:F().nullish(),gitCommitAuthorName:F().nullish(),cliVersion:F().nullish(),section:Pu(qY).nullish(),status:Pu(xo),trigger:Pu(Nx),attempts:he(),runAttempts:Zu(V({id:F(),status:Pu(xo),startedAt:$0.or(fa()),finishedAt:$0.or(fa())})).optional(),videos:Zu(F()).optional(),failureReason:Pu(RT).nullish(),failureDetails:I7e.nullish(),failureRecoveryDetails:yu(F(),$t()).nullish(),pipelineId:F().nullish(),resolvedInputs:yu(F(),F()).nullish(),quarantined:Te().nullish().default(!1),quarantinedReason:F().nullish(),localTestId:F().nullish(),testId:F().nullish(),testName:F().nullish(),description:F().nullish(),test:V({name:F(),id:F()}).nullish().default(null),suiteId:F().nullish()}).openapi({ref:"RunMetadata"}),_Cu={id:!0,status:!0,testName:!0,localTestId:!0,testId:!0,test:{select:{name:!0,id:!0}},finishedAt:!0,failureReason:!0,failureDetails:!0},hSe=JT.pick({..._Cu,test:!0}),MCu=JT.omit({failureReason:!0,failureDetails:!0,test:!0}),mSe=JT.extend({stepsSnapshot:Zu(yu($t())).nullish(),resolvedInputs:yu(F(),F()).nullish(),test:V({name:F(),id:F(),description:F().nullish(),baseUrl:F().nullish(),advanced:qT.nullish()}).nullish()}).merge(nSe),NCu=V({id:F().uuid(),startedAt:$0.or(fa()),finishedAt:$0.or(fa()),status:Pu(xo)}).merge(HY);NCu.array();const RCu=V({id:F(),status:Pu(xo),trigger:Pu(Nx),createdAt:$0,startedAt:$0.nullish(),finishedAt:$0.nullish(),gitCommitSha:F().nullish(),gitCommitShaShort:F().nullish(),gitCommitTimestamp:$0.nullish(),gitBranchName:F().nullish(),gitOriginUrl:F().nullish(),gitCommitMessage:F().nullish(),gitCommitAuthorName:F().nullish(),githubRepository:F().nullish(),gitlabProjectPath:F().nullish(),pipelineId:F().nullish(),cliVersion:F().nullish(),labels:F().array().optional(),suite:V({id:F(),name:F()}).nullish(),runs:V({status:Pu(xo)}).array()}).openapi({ref:"RunGroup"});RCu.pick({id:!0,createdAt:!0,startedAt:!0,finishedAt:!0,status:!0,trigger:!0,suite:!0}).extend({runs:hSe.array()});const PCu=V({type:ne("TARGETING"),name:F().optional().describe("Target name to disambiguate for steps with multiple targets"),elementLocationDecisions:Sgu.array(),pageState:F().optional(),targetSource:Pu(sY).optional(),targetUpdateTime:F().optional()}),ICu=V({type:ne("AI_LOCATION"),matched:Te(),pageState:F().optional(),ragUsed:Te().optional(),thoughts:F().optional()}),jCu=V({type:ne("ASSERTION"),relevantElementsSerialized:F().array().optional(),pageState:F().optional(),ragUsed:Te().optional()});zt("type",[PCu,ICu,jCu]);const LCu=V({id:F(),name:F()});LCu.merge(V({createdAt:$0,createdBy:F(),schedule:UY,notification:WY,environment:V({name:F()}).nullish(),beforeTests:V({id:F()}).array().nullish(),afterTests:V({id:F()}).array().nullish()}));const pSe=V({id:F().uuid(),orgId:F(),createdAt:$0,startedAt:$0.or(fa()),finishedAt:$0.or(fa()),status:Pu(xo),trigger:Pu(Nx),suite:V({id:F(),name:F()}).nullish(),runs:JT.array()});pSe.pick({id:!0,createdAt:!0,startedAt:!0,finishedAt:!0,status:!0,trigger:!0,suite:!0});const $Cu=pSe.extend({runs:hSe.array()});V({thoughts:F(),subGoals:V({instruction:F()}).array()});V({thoughts:F(),newPlanMarkdown:F()});V({thoughts:F(),correct:Te(),failedActionIndex:he().optional()});const KCu=V({type:ne("PLANNING"),beforePlan:F(),goalDecision:F(),thoughts:F()}),VCu=V({type:ne("RUNNING"),stepDisplayName:F(),status:Pu(sa),results:Yo.array()}),HCu=V({type:ne("REVISING"),beforePlan:F(),afterPlan:F(),errString:F(),diffs:F(),thoughts:F()}),GCu=V({type:ne("SYSTEM"),message:F()}),UCu=zt("type",[KCu,VCu,HCu,GCu]),WCu=UCu.array();V({id:F(),scheduledAt:Wu.date().nullable(),startedAt:Wu.date().nullable(),finishedAt:Wu.date().nullable(),status:Pu(xo),history:WCu.nullable(),testPlan:V({id:F(),name:F()}).nullable(),test:V({id:F(),name:F()}).nullable()});const fSe=V({content:F(),ids:F().array(),tokenLength:he()}),qCu=V({chunks:fSe.array()});V({ids:F().array(),score:he(),tokenLength:he()});qCu.extend({description:F().describe("Input to pass to RAG engine"),tokenLimit:he()});V({ids:he().array()});V({indices:he().array()});const _i=V({disableCache:Te().optional(),useMemory:Te().optional(),clientMode:Zs(["interactive","runner"]).optional(),loggerTags:yu(F(),F()).optional(),langfuseSessionId:F().optional(),agentConfigVersion:F().optional()});_i.extend({chunks:fSe.array(),description:F().describe("Input to pass to AI"),type:Er([ne("locator"),ne("assertion"),ne("ai-action")]),softTokenLimit:he(),hardTokenLimit:he(),callId:F().optional()});const JCu=V({screenshotBase64AfterCommand:F(),urlAfterCommand:F(),serializedCommand:F(),elementInteracted:F().optional(),thoughts:F().optional()}),ZCu=V({goal:F(),browserState:F(),screenshot:F(),source:vgu.optional().catch(void 0),memory:zt("type",[e7e,V({type:ne("RESOLVED_TRACES"),traces:$t().array()})]).optional()}),QCu=V({target:F().or(he()),browserState:F().optional(),screenshot:F().optional(),boundingBox:V({x:he(),y:he(),height:he(),width:he()}).optional()}),YCu=V({goal:F(),browserState:F(),screenshot:F().optional(),returnSchema:F().optional()}),XCu=ne("NEGATED_CHECK"),e2u=V({goal:F(),browserState:F(),screenshot:F(),url:F(),contextChoice:g7e.optional(),memory:zt("type",[n7e,V({type:ne("RESOLVED_TRACES"),traces:$t().array()})]).optional(),source:XCu.optional()}),u2u=V({command:pY}),t2u=V({message:F()}),DSe=V({goal:F(),browserState:F(),startingScreenshot:F().optional(),screenshot:F(),url:F(),history:JCu.array(),actionHint:F().optional(),lastError:F().optional()}),a2u=V({results:VY.array(),errorMessage:F(),errorStack:F().optional()}),n2u=V({results:VY.array(),goal:F(),errorMessage:F()}),r2u=V({failedResults:VY.array(),nextStepsSerialized:F().array(),currentUrl:F(),currentPageState:F(),currentScreenshot:F(),customInstructions:F().optional(),testDescription:F().optional()});V({description:F(),type:Er([ne("locator"),ne("assertion"),ne("ai-action")]),excerpt:F()});const i2u=V({type:F(),browserContext:F(),currentStep:F(),screenshot:F()}),o2u=V({description:F(),browserState:F(),screenshot:F()});V({goal:F()});V({keywords:Zu(F())});var gSe=(e=>(e.LOCATOR="locator",e.ASSERTION="assertion",e.VISUAL_ASSERTION="visual-assertion",e.TEXT_EXTRACTION="text-extraction",e))(gSe||{});Pu(gSe);const s2u=Zs(["v1","v2"]);s2u.or(F().describe("for people with special configurations"));const Yle=V({attributesRequired:Zu(F()).optional(),textRequired:Te().optional(),boundsRequired:Te().optional()});V({id:he(),thoughts:F(),inWebview:Te().optional(),requirements:Yle.optional(),additionalElements:V({id:he(),requirements:Yle}).array().optional()});const l2u=V({description:F(),screenXml:F(),screenshot:F()}),c2u=V({assertion:F(),screenXml:F(),screenshot:F()});V({thoughts:F(),result:Te(),relevantElements:Zu(he()).optional()});var JY=(e=>(e.REQUEST="REQUEST",e.JAVASCRIPT="JAVASCRIPT",e))(JY||{});const xSe=V({id:F().uuid(),skipped:Te().optional(),envKey:F().optional().describe("key in the environment to save the result of this step to")}),vSe=xSe.merge(cY).extend({type:ne("REQUEST")}),kSe=xSe.merge(o7e).extend({type:ne("JAVASCRIPT")}),bSe=zt("type",[kSe,vSe]),CSe=V({id:F(),name:zm,description:F().optional().nullish(),baseUrl:n9e.nullish(),schemaVersion:F(),advanced:$t().optional(),retries:he(),envs:Zu(ESe).nullish(),parameters:dSe.nullish()}),d2u=V({createdAt:Wu.date(),updatedAt:Wu.date(),schedule:UY.nullish(),notification:WY.nullish(),createdBy:F(),organizationId:F()}),E2u=CSe.merge(d2u);E2u.extend({steps:bSe.array()});CSe.extend({steps:bSe.array()});const ySe=V({startedAt:Wu.date(),finishedAt:Wu.date(),status:Pu(sa),message:F().optional(),data:$t().optional()}),h2u=ySe.merge(kSe).extend({type:ne(JY.JAVASCRIPT)}),m2u=ySe.merge(vSe).extend({type:ne(JY.REQUEST)}),p2u=zt("type",[h2u,m2u]),f2u=V({startedAt:Wu.date(),finishedAt:Wu.date().nullish(),status:Pu(xo),results:p2u.array(),failureReason:F().nullish(),failureDetails:I7e.nullish()}),D2u=V({id:F(),organizationId:F(),createdAt:Wu.date(),updatedAt:Wu.date(),createdBy:F(),scheduledAt:Wu.date().nullish(),startedAt:Wu.date().nullish(),finishedAt:Wu.date().nullish(),status:Pu(xo),trigger:Pu(Nx),results:f2u.array().nullish(),apiTestName:F().nullish(),apiTestPath:F().nullish(),apiTestId:F().nullish()});D2u.pick({status:!0,startedAt:!0,finishedAt:!0});var FSe=(e=>(e.TestRun="test-run",e.MobileTestRun="mobile-test-run",e.CreditsUsed="credits-used",e.CreditsUsedV2="credits-used-v2",e))(FSe||{});const ASe=3;function g2u(e){return e===me.MODULE||e===me.CONDITIONAL||e===me.SECTION||e==="RESOLVED_MODULE"}function x2u(e){if(!g2u(e))switch(e){case me.PRESET_ACTION:return 0;case me.AI_ACTION:return 3;case me.AI_ACTION_DYNAMIC:return 5;default:(t=>{throw"If Typescript complains about the line below, you missed a case or break in the switch above"})()}}function v2u(e){switch(e.type){case _.AI_EXTRACT:case _.AI_ASSERTION:return ASe;case _.CAPTCHA:return 3;case _.CLICK:case _.TYPE:case _.SELECT_OPTION:case _.HOVER:case _.ELEMENT_CHECK:case _.FOCUS:case _.BLUR:case _.SCROLL_DOWN:case _.SCROLL_LEFT:case _.SCROLL_RIGHT:case _.SCROLL_UP:case _.MOUSE_DRAG:return e.useSelector||!e.target||e.target.type!=="description"?0:1;case _.DRAG:return e.useSelector?0:1;case _.VISUAL_DIFF:case _.SWITCH_TAB:case _.JAVASCRIPT:case _.NAVIGATE:case _.WAIT:case _.SUCCESS:case _.AUTH_LOAD:case _.AUTH_SAVE:case _.COOKIE:case _.DIALOG:case _.FILE_UPLOAD:case _.GO_BACK:case _.GO_FORWARD:case _.LOCAL_STORAGE:case _.NEW_TAB:case _.PAGE_CHECK:case _.PRESS:case _.KEY_DOWN:case _.KEY_UP:case _.COPY:case _.PASTE:case _.REFRESH:case _.REQUEST:case _.GRAPHQL_REQUEST:case _.WAIT_FOR_URL:case _.REGISTER_REQUEST_LISTENER:case _.AWAIT_LISTENER:case _.RECORD_REQUESTS:case _.GET_RECORDED_REQUESTS:case _.SET_HEADER:case _.MOCK_ROUTE:case _.REMOVE_ROUTE_MOCK:case _.OFFLINE_MODE:return 0;default:(t=>{throw"If Typescript complains about the line below, you missed a case or break in the switch above"})()}}const k2u=V({name:F(),value:F(),url:F().optional(),domain:F().optional(),path:F().optional(),expires:he().default(Date.now()/1e3+60*60*24*365),httpOnly:Te().optional(),secure:Te().default(!0),sameSite:Er([ne("Strict"),ne("Lax"),ne("None")]).default("None")}),b2u=V({origin:F(),localStorage:Zu(V({name:F(),value:F()}))}),C2u=V({entries:yu(F(),Zu(am([$t(),$t()]))),version:he().optional()});V({cookies:k2u.array().optional(),origins:b2u.array().optional(),idb:yu(F(),C2u).optional().describe("key is db name")});var SSe=(e=>(e.SCREEN="SCREEN",e.OPEN_APP="OPEN_APP",e.OPEN_WEBVIEW="OPEN_WEBVIEW",e.CUSTOM="CUSTOM",e.CUSTOM_COORDINATES="CUSTOM_COORDINATES",e))(SSe||{});const BSe=zt("type",[V({type:ne("SCREEN")}),V({type:ne("OPEN_APP")}),V({type:ne("OPEN_WEBVIEW")})]),ZT=V({type:ne("description"),description:F()}),wSe=V({type:ne("CUSTOM_COORDINATES"),startX:he().describe("Starting X coordinate in pixels"),startY:he().describe("Starting Y coordinate in pixels"),deltaPixels:he().describe("Number of pixels to scroll in the specified direction")}),TSe=zt("type",[...BSe.options,V({type:ne("CUSTOM"),target:ZT}),wSe]),y2u=V({type:ne("coordinates"),xPercent:he(),yPercent:he()}),zSe=zt("type",[ZT,y2u]),OSe=V({requiredText:F().optional(),requiredAttributes:yu(F(),F()).optional(),requiredBounds:Te().optional()}),F2u=V({xPath:F(),requirements:OSe.optional()}),A2u=V({type:ne("CUSTOM"),target:ZT,cache:dn(()=>_Se).optional()}),S2u=V({pixelDelta:he().describe("Number of pixels to scroll in the specified direction"),scrollableElement:Er([BSe,A2u,wSe]),direction:Zs(["up","down"])}),_Se=V({type:ne("NATIVE"),bounds:he().array(),resolvedDescription:F(),xPath:F(),elementOnlySerializedXml:F(),scrollDetails:S2u.optional(),requirements:OSe.optional(),requiredRelatedElements:F2u.array().optional()}),B2u=V({type:ne("WEBVIEW"),resolvedDescription:F(),xPath:F(),browserCache:Nb.optional()}),w2u=Er([_Se,B2u]);var ut=(e=>(e.AI_CHECK="AI_CHECK",e.TAP="TAP",e.TYPE="TYPE",e.PRESS="PRESS",e.PRESS_KEYBOARD="PRESS_KEYBOARD",e.OPEN_APP="OPEN_APP",e.KILL_APP="KILL_APP",e.OPEN_NOTIFICATION_DRAWER="OPEN_NOTIFICATION_DRAWER",e.SWIPE="SWIPE",e.SCROLL_TO="SCROLL_TO",e.SCREEN_CHECK="SCREEN_CHECK",e.JAVASCRIPT="JAVASCRIPT",e.REQUEST="REQUEST",e.WAIT="WAIT",e.ADD_FILE="ADD_FILE",e.INSTALL_APP="INSTALL_APP",e.ADB="ADB",e.STATE="STATE",e))(ut||{}),ZY=(e=>(e.BACK="BACK",e.HOME="HOME",e.APP_SWITCHER="APP_SWITCHER",e.POWER="POWER",e.SEARCH="SEARCH",e.VOLUME_UP="VOLUME_UP",e.VOLUME_DOWN="VOLUME_DOWN",e.VOLUME_MUTE="VOLUME_MUTE",e))(ZY||{}),MSe=(e=>(e.CLOSE_KEYBOARD="CLOSE_KEYBOARD",e.ENTER="ENTER",e.BACKSPACE="BACKSPACE",e))(MSe||{});const T2u=V({updatedAt:Wu.date().optional()}),O0=V({id:F().uuid(),disableCache:Te().optional()}),z2u=O0.extend({type:ne("STATE")}),O2u=O0.extend({type:ne("KILL_APP")}),QT=T2u.extend({target:w2u}),_2u=O0.extend({type:ne("AI_CHECK"),assertion:F(),timeoutSecs:he().optional()}),NSe=O0.extend({type:ne("TAP"),target:zSe,cache:QT.optional(),longPress:Te().optional(),longPressDurationMs:he().optional(),doubleTap:Te().optional(),doubleTapDelayMs:he().optional(),relativePosition:V({x:he(),y:he()}).optional()}),RSe=O0.extend({type:ne("TYPE"),target:zSe.optional(),cache:QT.optional(),keyPressDelayMs:he().optional(),text:F(),clearContent:Te().optional(),forceClearContent:Te().optional()}),M2u=O0.extend({type:ne("PRESS"),key:Pu(ZY),longPress:Te().optional()}),N2u=O0.extend({type:ne("PRESS_KEYBOARD"),key:Pu(MSe)}),R2u=O0.extend({type:ne("OPEN_APP"),packageName:F(),activityName:F().optional(),intentExtras:F().optional()}),P2u=O0.extend({type:ne("OPEN_NOTIFICATION_DRAWER")}),PSe=O0.extend({type:ne("SWIPE"),direction:Zs(["up","down","left","right"]),scrollableElement:TSe,cache:QT.optional(),viewportPercent:he().optional(),durationMs:he().optional()}),ISe=O0.extend({type:ne("SCROLL_TO"),target:ZT,direction:Zs(["down","up"]),scrollableElement:TSe,scrollStepPercent:he().min(.1).max(1).optional().describe("How much of the container height to scroll at each step (0.1 to 1.0). Default is 0.8 (80%)."),cache:QT.optional()}),I2u=V({type:ne("CONTENT"),negated:Te().optional(),value:F()}),j2u=O0.extend({type:ne("SCREEN_CHECK"),assertion:I2u,timeout:he().int().min(0).max(V3).optional().describe("max seconds to wait for the assertion to be true")}),L2u=O0.extend({type:ne("JAVASCRIPT"),code:F(),timeout:he().int().max(60).optional().describe("Max seconds for the code to complete")}),$2u=O0.extend({type:ne("REQUEST")}).merge(cY),K2u=O0.extend({type:ne("WAIT"),timeoutSecs:he()}),V2u=O0.extend({type:ne("ADB"),command:F(),jsonArgs:F().optional()}),H2u=O0.extend({type:ne("ADD_FILE"),file:F(),storageLocation:F()}),G2u=F().trim(),U2u=O0.extend({type:ne("INSTALL_APP"),uri:G2u}),W2u=zt("type",[_2u,NSe,RSe,M2u,R2u,P2u,N2u,PSe,ISe,j2u,L2u,$2u,K2u,H2u,U2u,O2u,V2u,z2u]),Xle=e=>{switch(e.type){case"description":return e.description;case"coordinates":return`${e.xPercent}%, ${e.yPercent}%`}},q2u=ge.object({type:ge.literal(ut.TAP),description:ge.string().describe("Description of the element to tap."),longPress:ge.boolean().describe("Whether to hold the tap down before releasing. Useful for triggering context menus."),doubleTap:ge.boolean().describe("Whether to tap twice in quick succession."),relativePosition:ge.null().or(ge.object({x:ge.number(),y:ge.number()})).describe("Specific position to tap within the bounding box of the element, specified in pixels. E.g. 0,0 is the top left corner.")}).describe(`
116
+ `)}function U5u(e){return function(){return e}}var W5u=function(){try{var e=Bf(Object,"defineProperty");return e({},"",{}),e}catch{}}();const uB=W5u;var q5u=uB?function(e,u){return uB(e,"toString",{configurable:!0,enumerable:!1,value:U5u(u),writable:!0})}:AY;const J5u=q5u;var Z5u=k9e(J5u);const Q5u=Z5u;function C9e(e,u){for(var t=-1,a=e==null?0:e.length;++t<a&&u(e[t],t,e)!==!1;);return e}function Y5u(e,u,t,a){for(var n=e.length,r=t+(a?1:-1);a?r--:++r<n;)if(u(e[r],r,e))return r;return-1}function X5u(e){return e!==e}function exu(e,u,t){for(var a=t-1,n=e.length;++a<n;)if(e[a]===u)return a;return-1}function uxu(e,u,t){return u===u?exu(e,u,t):Y5u(e,X5u,t)}function y9e(e,u){var t=e==null?0:e.length;return!!t&&uxu(e,u,0)>-1}var txu=1,axu=2,nxu=8,rxu=16,ixu=32,oxu=64,sxu=128,lxu=256,cxu=512,dxu=[["ary",sxu],["bind",txu],["bindKey",axu],["curry",nxu],["curryRight",rxu],["flip",cxu],["partial",ixu],["partialRight",oxu],["rearg",lxu]];function Exu(e,u){return C9e(dxu,function(t){var a="_."+t[0];u&t[1]&&!y9e(e,a)&&e.push(a)}),e.sort()}function F9e(e,u,t){var a=u+"";return Q5u(e,G5u(a,Exu(V5u(a),t)))}var hxu=1,mxu=2,pxu=4,fxu=8,Dle=32,gle=64;function A9e(e,u,t,a,n,r,i,o,s,l){var c=u&fxu,d=c?i:void 0,E=c?void 0:i,h=c?r:void 0,p=c?void 0:r;u|=c?Dle:gle,u&=~(c?gle:Dle),u&pxu||(u&=~(hxu|mxu));var f=[e,u,n,h,d,p,E,o,s,l],g=t.apply(void 0,f);return R5u(e)&&b9e(g,f),g.placeholder=a,F9e(g,e,u)}function S9e(e){var u=e;return u.placeholder}var Dxu=9007199254740991,gxu=/^(?:0|[1-9]\d*)$/;function wY(e,u){var t=typeof e;return u=u??Dxu,!!u&&(t=="number"||t!="symbol"&&gxu.test(e))&&e>-1&&e%1==0&&e<u}var xxu=Math.min;function vxu(e,u){for(var t=e.length,a=xxu(u.length,t),n=BY(e);a--;){var r=u[a];e[a]=wY(r,t)?n[r]:void 0}return e}var xle="__lodash_placeholder__";function tB(e,u){for(var t=-1,a=e.length,n=0,r=[];++t<a;){var i=e[t];(i===u||i===xle)&&(e[t]=xle,r[n++]=t)}return r}var kxu=1,bxu=2,Cxu=8,yxu=16,Fxu=128,Axu=512;function TY(e,u,t,a,n,r,i,o,s,l){var c=u&Fxu,d=u&kxu,E=u&bxu,h=u&(Cxu|yxu),p=u&Axu,f=E?void 0:Ib(e);function g(){for(var D=arguments.length,x=Array(D),v=D;v--;)x[v]=arguments[v];if(h)var b=S9e(g),y=A5u(x,b);if(a&&(x=D9e(x,a,n,h)),r&&(x=g9e(x,r,i,h)),D-=y,h&&D<l){var C=tB(x,b);return A9e(e,u,TY,g.placeholder,t,x,C,o,s,l-D)}var A=d?t:this,S=E?A[e]:e;return D=x.length,o?x=vxu(x,o):p&&D>1&&x.reverse(),c&&s<D&&(x.length=s),this&&this!==rs&&this instanceof g&&(S=f||Ib(S)),S.apply(A,x)}return g}function Sxu(e,u,t){var a=Ib(e);function n(){for(var r=arguments.length,i=Array(r),o=r,s=S9e(n);o--;)i[o]=arguments[o];var l=r<3&&i[0]!==s&&i[r-1]!==s?[]:tB(i,s);if(r-=l.length,r<t)return A9e(e,u,TY,n.placeholder,void 0,i,l,void 0,void 0,t-r);var c=this&&this!==rs&&this instanceof n?a:e;return f9e(c,this,i)}return n}var Bxu=1;function wxu(e,u,t,a){var n=u&Bxu,r=Ib(e);function i(){for(var o=-1,s=arguments.length,l=-1,c=a.length,d=Array(c+s),E=this&&this!==rs&&this instanceof i?r:e;++l<c;)d[l]=a[l];for(;s--;)d[l++]=arguments[++o];return f9e(E,n?t:this,d)}return i}var vle="__lodash_placeholder__",xN=1,Txu=2,zxu=4,kle=8,H6=128,ble=256,Oxu=Math.min;function _xu(e,u){var t=e[1],a=u[1],n=t|a,r=n<(xN|Txu|H6),i=a==H6&&t==kle||a==H6&&t==ble&&e[7].length<=u[8]||a==(H6|ble)&&u[7].length<=u[8]&&t==kle;if(!(r||i))return e;a&xN&&(e[2]=u[2],n|=t&xN?0:zxu);var o=u[3];if(o){var s=e[3];e[3]=s?D9e(s,o,u[4]):o,e[4]=s?tB(e[3],vle):u[4]}return o=u[5],o&&(s=e[5],e[5]=s?g9e(s,o,u[6]):o,e[6]=s?tB(e[5],vle):u[6]),o=u[7],o&&(e[7]=o),a&H6&&(e[8]=e[8]==null?u[8]:Oxu(e[8],u[8])),e[9]==null&&(e[9]=u[9]),e[0]=u[0],e[1]=n,e}var Mxu="Expected a function",Cle=1,Nxu=2,vN=8,kN=16,bN=32,yle=64,Fle=Math.max;function Rxu(e,u,t,a,n,r,i,o){var s=u&Nxu;if(!s&&typeof e!="function")throw new TypeError(Mxu);var l=a?a.length:0;if(l||(u&=~(bN|yle),a=n=void 0),i=i===void 0?i:Fle(hle(i),0),o=o===void 0?o:hle(o),l-=n?n.length:0,u&yle){var c=a,d=n;a=n=void 0}var E=s?void 0:v9e(e),h=[e,u,t,a,n,c,d,r,i,o];if(E&&_xu(h,E),e=h[0],u=h[1],t=h[2],a=h[3],n=h[4],o=h[9]=h[9]===void 0?s?0:e.length:Fle(h[9]-l,0),!o&&u&(vN|kN)&&(u&=~(vN|kN)),!u||u==Cle)var p=C5u(e,u,t);else u==vN||u==kN?p=Sxu(e,u,o):(u==bN||u==(Cle|bN))&&!n.length?p=wxu(e,u,t,a):p=TY.apply(void 0,h);var f=E?p9e:b9e;return F9e(f(p,h),e,u)}function B9e(e,u,t){u=="__proto__"&&uB?uB(e,u,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[u]=t}function zY(e,u){return e===u||e!==e&&u!==u}var Pxu=Object.prototype,Ixu=Pxu.hasOwnProperty;function w9e(e,u,t){var a=e[u];(!(Ixu.call(e,u)&&zY(a,t))||t===void 0&&!(u in e))&&B9e(e,u,t)}function KT(e,u,t,a){var n=!t;t||(t={});for(var r=-1,i=u.length;++r<i;){var o=u[r],s=a?a(t[o],e[o],o,t,e):void 0;s===void 0&&(s=e[o]),n?B9e(t,o,s):w9e(t,o,s)}return t}var jxu=9007199254740991;function OY(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jxu}function T9e(e){return e!=null&&OY(e.length)&&!m9e(e)}var Lxu=Object.prototype;function _Y(e){var u=e&&e.constructor,t=typeof u=="function"&&u.prototype||Lxu;return e===t}function $xu(e,u){for(var t=-1,a=Array(e);++t<e;)a[t]=u(t);return a}var Kxu="[object Arguments]";function Ale(e){return Y4(e)&&Mx(e)==Kxu}var z9e=Object.prototype,Vxu=z9e.hasOwnProperty,Hxu=z9e.propertyIsEnumerable,Gxu=Ale(function(){return arguments}())?Ale:function(e){return Y4(e)&&Vxu.call(e,"callee")&&!Hxu.call(e,"callee")};const O9e=Gxu;function Uxu(){return!1}var _9e=typeof Rs=="object"&&Rs&&!Rs.nodeType&&Rs,Sle=_9e&&typeof Ps=="object"&&Ps&&!Ps.nodeType&&Ps,Wxu=Sle&&Sle.exports===_9e,Ble=Wxu?rs.Buffer:void 0,qxu=Ble?Ble.isBuffer:void 0,Jxu=qxu||Uxu;const aB=Jxu;var Zxu="[object Arguments]",Qxu="[object Array]",Yxu="[object Boolean]",Xxu="[object Date]",e6u="[object Error]",u6u="[object Function]",t6u="[object Map]",a6u="[object Number]",n6u="[object Object]",r6u="[object RegExp]",i6u="[object Set]",o6u="[object String]",s6u="[object WeakMap]",l6u="[object ArrayBuffer]",c6u="[object DataView]",d6u="[object Float32Array]",E6u="[object Float64Array]",h6u="[object Int8Array]",m6u="[object Int16Array]",p6u="[object Int32Array]",f6u="[object Uint8Array]",D6u="[object Uint8ClampedArray]",g6u="[object Uint16Array]",x6u="[object Uint32Array]",Zn={};Zn[d6u]=Zn[E6u]=Zn[h6u]=Zn[m6u]=Zn[p6u]=Zn[f6u]=Zn[D6u]=Zn[g6u]=Zn[x6u]=!0;Zn[Zxu]=Zn[Qxu]=Zn[l6u]=Zn[Yxu]=Zn[c6u]=Zn[Xxu]=Zn[e6u]=Zn[u6u]=Zn[t6u]=Zn[a6u]=Zn[n6u]=Zn[r6u]=Zn[i6u]=Zn[o6u]=Zn[s6u]=!1;function v6u(e){return Y4(e)&&OY(e.length)&&!!Zn[Mx(e)]}function MY(e){return function(u){return e(u)}}var M9e=typeof Rs=="object"&&Rs&&!Rs.nodeType&&Rs,vk=M9e&&typeof Ps=="object"&&Ps&&!Ps.nodeType&&Ps,k6u=vk&&vk.exports===M9e,CN=k6u&&d9e.process,b6u=function(){try{var e=vk&&vk.require&&vk.require("util").types;return e||CN&&CN.binding&&CN.binding("util")}catch{}}();const M5=b6u;var wle=M5&&M5.isTypedArray,C6u=wle?MY(wle):v6u;const N9e=C6u;var y6u=Object.prototype,F6u=y6u.hasOwnProperty;function R9e(e,u){var t=i1(e),a=!t&&O9e(e),n=!t&&!a&&aB(e),r=!t&&!a&&!n&&N9e(e),i=t||a||n||r,o=i?$xu(e.length,String):[],s=o.length;for(var l in e)(u||F6u.call(e,l))&&!(i&&(l=="length"||n&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||wY(l,s)))&&o.push(l);return o}function P9e(e,u){return function(t){return e(u(t))}}var A6u=P9e(Object.keys,Object);const S6u=A6u;var B6u=Object.prototype,w6u=B6u.hasOwnProperty;function T6u(e){if(!_Y(e))return S6u(e);var u=[];for(var t in Object(e))w6u.call(e,t)&&t!="constructor"&&u.push(t);return u}function VT(e){return T9e(e)?R9e(e):T6u(e)}function z6u(e){var u=[];if(e!=null)for(var t in Object(e))u.push(t);return u}var O6u=Object.prototype,_6u=O6u.hasOwnProperty;function M6u(e){if(!X4(e))return z6u(e);var u=_Y(e),t=[];for(var a in e)a=="constructor"&&(u||!_6u.call(e,a))||t.push(a);return t}function NY(e){return T9e(e)?R9e(e,!0):M6u(e)}var N6u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,R6u=/^\w*$/;function RY(e,u){if(i1(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||LT(e)?!0:R6u.test(e)||!N6u.test(e)||u!=null&&e in Object(u)}var P6u=Bf(Object,"create");const jb=P6u;function I6u(){this.__data__=jb?jb(null):{},this.size=0}function j6u(e){var u=this.has(e)&&delete this.__data__[e];return this.size-=u?1:0,u}var L6u="__lodash_hash_undefined__",$6u=Object.prototype,K6u=$6u.hasOwnProperty;function V6u(e){var u=this.__data__;if(jb){var t=u[e];return t===L6u?void 0:t}return K6u.call(u,e)?u[e]:void 0}var H6u=Object.prototype,G6u=H6u.hasOwnProperty;function U6u(e){var u=this.__data__;return jb?u[e]!==void 0:G6u.call(u,e)}var W6u="__lodash_hash_undefined__";function q6u(e,u){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=jb&&u===void 0?W6u:u,this}function $p(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var a=e[u];this.set(a[0],a[1])}}$p.prototype.clear=I6u;$p.prototype.delete=j6u;$p.prototype.get=V6u;$p.prototype.has=U6u;$p.prototype.set=q6u;function J6u(){this.__data__=[],this.size=0}function HT(e,u){for(var t=e.length;t--;)if(zY(e[t][0],u))return t;return-1}var Z6u=Array.prototype,Q6u=Z6u.splice;function Y6u(e){var u=this.__data__,t=HT(u,e);if(t<0)return!1;var a=u.length-1;return t==a?u.pop():Q6u.call(u,t,1),--this.size,!0}function X6u(e){var u=this.__data__,t=HT(u,e);return t<0?void 0:u[t][1]}function evu(e){return HT(this.__data__,e)>-1}function uvu(e,u){var t=this.__data__,a=HT(t,e);return a<0?(++this.size,t.push([e,u])):t[a][1]=u,this}function mE(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var a=e[u];this.set(a[0],a[1])}}mE.prototype.clear=J6u;mE.prototype.delete=Y6u;mE.prototype.get=X6u;mE.prototype.has=evu;mE.prototype.set=uvu;var tvu=Bf(rs,"Map");const Lb=tvu;function avu(){this.size=0,this.__data__={hash:new $p,map:new(Lb||mE),string:new $p}}function nvu(e){var u=typeof e;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?e!=="__proto__":e===null}function GT(e,u){var t=e.__data__;return nvu(u)?t[typeof u=="string"?"string":"hash"]:t.map}function rvu(e){var u=GT(this,e).delete(e);return this.size-=u?1:0,u}function ivu(e){return GT(this,e).get(e)}function ovu(e){return GT(this,e).has(e)}function svu(e,u){var t=GT(this,e),a=t.size;return t.set(e,u),this.size+=t.size==a?0:1,this}function pE(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var a=e[u];this.set(a[0],a[1])}}pE.prototype.clear=avu;pE.prototype.delete=rvu;pE.prototype.get=ivu;pE.prototype.has=ovu;pE.prototype.set=svu;var lvu="Expected a function";function PY(e,u){if(typeof e!="function"||u!=null&&typeof u!="function")throw new TypeError(lvu);var t=function(){var a=arguments,n=u?u.apply(this,a):a[0],r=t.cache;if(r.has(n))return r.get(n);var i=e.apply(this,a);return t.cache=r.set(n,i)||r,i};return t.cache=new(PY.Cache||pE),t}PY.Cache=pE;var cvu=500;function dvu(e){var u=PY(e,function(a){return t.size===cvu&&t.clear(),a}),t=u.cache;return u}var Evu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,hvu=/\\(\\)?/g,mvu=dvu(function(e){var u=[];return e.charCodeAt(0)===46&&u.push(""),e.replace(Evu,function(t,a,n,r){u.push(n?r.replace(hvu,"$1"):a||t)}),u});const pvu=mvu;function fvu(e){return e==null?"":h9e(e)}function I9e(e,u){return i1(e)?e:RY(e,u)?[e]:pvu(fvu(e))}var Dvu=1/0;function UT(e){if(typeof e=="string"||LT(e))return e;var u=e+"";return u=="0"&&1/e==-Dvu?"-0":u}function j9e(e,u){u=I9e(u,e);for(var t=0,a=u.length;e!=null&&t<a;)e=e[UT(u[t++])];return t&&t==a?e:void 0}function gvu(e,u,t){var a=e==null?void 0:j9e(e,u);return a===void 0?t:a}function L9e(e,u){for(var t=-1,a=u.length,n=e.length;++t<a;)e[n+t]=u[t];return e}var xvu=P9e(Object.getPrototypeOf,Object);const $9e=xvu;function vvu(){this.__data__=new mE,this.size=0}function kvu(e){var u=this.__data__,t=u.delete(e);return this.size=u.size,t}function bvu(e){return this.__data__.get(e)}function Cvu(e){return this.__data__.has(e)}var yvu=200;function Fvu(e,u){var t=this.__data__;if(t instanceof mE){var a=t.__data__;if(!Lb||a.length<yvu-1)return a.push([e,u]),this.size=++t.size,this;t=this.__data__=new pE(a)}return t.set(e,u),this.size=t.size,this}function dd(e){var u=this.__data__=new mE(e);this.size=u.size}dd.prototype.clear=vvu;dd.prototype.delete=kvu;dd.prototype.get=bvu;dd.prototype.has=Cvu;dd.prototype.set=Fvu;function Avu(e,u){return e&&KT(u,VT(u),e)}function Svu(e,u){return e&&KT(u,NY(u),e)}var K9e=typeof Rs=="object"&&Rs&&!Rs.nodeType&&Rs,Tle=K9e&&typeof Ps=="object"&&Ps&&!Ps.nodeType&&Ps,Bvu=Tle&&Tle.exports===K9e,zle=Bvu?rs.Buffer:void 0,Ole=zle?zle.allocUnsafe:void 0;function wvu(e,u){if(u)return e.slice();var t=e.length,a=Ole?Ole(t):new e.constructor(t);return e.copy(a),a}function Tvu(e,u){for(var t=-1,a=e==null?0:e.length,n=0,r=[];++t<a;){var i=e[t];u(i,t,e)&&(r[n++]=i)}return r}function V9e(){return[]}var zvu=Object.prototype,Ovu=zvu.propertyIsEnumerable,_le=Object.getOwnPropertySymbols,_vu=_le?function(e){return e==null?[]:(e=Object(e),Tvu(_le(e),function(u){return Ovu.call(e,u)}))}:V9e;const IY=_vu;function Mvu(e,u){return KT(e,IY(e),u)}var Nvu=Object.getOwnPropertySymbols,Rvu=Nvu?function(e){for(var u=[];e;)L9e(u,IY(e)),e=$9e(e);return u}:V9e;const H9e=Rvu;function Pvu(e,u){return KT(e,H9e(e),u)}function G9e(e,u,t){var a=u(e);return i1(e)?a:L9e(a,t(e))}function _G(e){return G9e(e,VT,IY)}function Ivu(e){return G9e(e,NY,H9e)}var jvu=Bf(rs,"DataView");const MG=jvu;var Lvu=Bf(rs,"Promise");const NG=Lvu;var $vu=Bf(rs,"Set");const Fg=$vu;var Mle="[object Map]",Kvu="[object Object]",Nle="[object Promise]",Rle="[object Set]",Ple="[object WeakMap]",Ile="[object DataView]",Vvu=Sf(MG),Hvu=Sf(Lb),Gvu=Sf(NG),Uvu=Sf(Fg),Wvu=Sf(Pb),D3=Mx;(MG&&D3(new MG(new ArrayBuffer(1)))!=Ile||Lb&&D3(new Lb)!=Mle||NG&&D3(NG.resolve())!=Nle||Fg&&D3(new Fg)!=Rle||Pb&&D3(new Pb)!=Ple)&&(D3=function(e){var u=Mx(e),t=u==Kvu?e.constructor:void 0,a=t?Sf(t):"";if(a)switch(a){case Vvu:return Ile;case Hvu:return Mle;case Gvu:return Nle;case Uvu:return Rle;case Wvu:return Ple}return u});const $b=D3;var qvu=Object.prototype,Jvu=qvu.hasOwnProperty;function Zvu(e){var u=e.length,t=new e.constructor(u);return u&&typeof e[0]=="string"&&Jvu.call(e,"index")&&(t.index=e.index,t.input=e.input),t}var Qvu=rs.Uint8Array;const nB=Qvu;function jY(e){var u=new e.constructor(e.byteLength);return new nB(u).set(new nB(e)),u}function Yvu(e,u){var t=u?jY(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}var Xvu=/\w*$/;function eku(e){var u=new e.constructor(e.source,Xvu.exec(e));return u.lastIndex=e.lastIndex,u}var jle=kd?kd.prototype:void 0,Lle=jle?jle.valueOf:void 0;function uku(e){return Lle?Object(Lle.call(e)):{}}function tku(e,u){var t=u?jY(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}var aku="[object Boolean]",nku="[object Date]",rku="[object Map]",iku="[object Number]",oku="[object RegExp]",sku="[object Set]",lku="[object String]",cku="[object Symbol]",dku="[object ArrayBuffer]",Eku="[object DataView]",hku="[object Float32Array]",mku="[object Float64Array]",pku="[object Int8Array]",fku="[object Int16Array]",Dku="[object Int32Array]",gku="[object Uint8Array]",xku="[object Uint8ClampedArray]",vku="[object Uint16Array]",kku="[object Uint32Array]";function bku(e,u,t){var a=e.constructor;switch(u){case dku:return jY(e);case aku:case nku:return new a(+e);case Eku:return Yvu(e,t);case hku:case mku:case pku:case fku:case Dku:case gku:case xku:case vku:case kku:return tku(e,t);case rku:return new a;case iku:case lku:return new a(e);case oku:return eku(e);case sku:return new a;case cku:return uku(e)}}function Cku(e){return typeof e.constructor=="function"&&!_Y(e)?$T($9e(e)):{}}var yku="[object Map]";function Fku(e){return Y4(e)&&$b(e)==yku}var $le=M5&&M5.isMap,Aku=$le?MY($le):Fku;const Sku=Aku;var Bku="[object Set]";function wku(e){return Y4(e)&&$b(e)==Bku}var Kle=M5&&M5.isSet,Tku=Kle?MY(Kle):wku;const zku=Tku;var Oku=1,_ku=2,Mku=4,U9e="[object Arguments]",Nku="[object Array]",Rku="[object Boolean]",Pku="[object Date]",Iku="[object Error]",W9e="[object Function]",jku="[object GeneratorFunction]",Lku="[object Map]",$ku="[object Number]",q9e="[object Object]",Kku="[object RegExp]",Vku="[object Set]",Hku="[object String]",Gku="[object Symbol]",Uku="[object WeakMap]",Wku="[object ArrayBuffer]",qku="[object DataView]",Jku="[object Float32Array]",Zku="[object Float64Array]",Qku="[object Int8Array]",Yku="[object Int16Array]",Xku="[object Int32Array]",ebu="[object Uint8Array]",ubu="[object Uint8ClampedArray]",tbu="[object Uint16Array]",abu="[object Uint32Array]",Rn={};Rn[U9e]=Rn[Nku]=Rn[Wku]=Rn[qku]=Rn[Rku]=Rn[Pku]=Rn[Jku]=Rn[Zku]=Rn[Qku]=Rn[Yku]=Rn[Xku]=Rn[Lku]=Rn[$ku]=Rn[q9e]=Rn[Kku]=Rn[Vku]=Rn[Hku]=Rn[Gku]=Rn[ebu]=Rn[ubu]=Rn[tbu]=Rn[abu]=!0;Rn[Iku]=Rn[W9e]=Rn[Uku]=!1;function J7(e,u,t,a,n,r){var i,o=u&Oku,s=u&_ku,l=u&Mku;if(t&&(i=n?t(e,a,n,r):t(e)),i!==void 0)return i;if(!X4(e))return e;var c=i1(e);if(c){if(i=Zvu(e),!o)return BY(e,i)}else{var d=$b(e),E=d==W9e||d==jku;if(aB(e))return wvu(e,o);if(d==q9e||d==U9e||E&&!n){if(i=s||E?{}:Cku(e),!o)return s?Pvu(e,Svu(i,e)):Mvu(e,Avu(i,e))}else{if(!Rn[d])return n?e:{};i=bku(e,d,o)}}r||(r=new dd);var h=r.get(e);if(h)return h;r.set(e,i),zku(e)?e.forEach(function(g){i.add(J7(g,u,t,g,e,r))}):Sku(e)&&e.forEach(function(g,D){i.set(D,J7(g,u,t,D,e,r))});var p=l?s?Ivu:_G:s?NY:VT,f=c?void 0:p(e);return C9e(f||e,function(g,D){f&&(D=g,g=e[D]),w9e(i,D,J7(g,u,t,D,e,r))}),i}var nbu=1,rbu=4;function RG(e){return J7(e,nbu|rbu)}function Vle(e){for(var u=-1,t=e==null?0:e.length,a=0,n=[];++u<t;){var r=e[u];r&&(n[a++]=r)}return n}var ibu="__lodash_hash_undefined__";function obu(e){return this.__data__.set(e,ibu),this}function sbu(e){return this.__data__.has(e)}function Kb(e){var u=-1,t=e==null?0:e.length;for(this.__data__=new pE;++u<t;)this.add(e[u])}Kb.prototype.add=Kb.prototype.push=obu;Kb.prototype.has=sbu;function lbu(e,u){for(var t=-1,a=e==null?0:e.length;++t<a;)if(u(e[t],t,e))return!0;return!1}function J9e(e,u){return e.has(u)}var cbu=1,dbu=2;function Z9e(e,u,t,a,n,r){var i=t&cbu,o=e.length,s=u.length;if(o!=s&&!(i&&s>o))return!1;var l=r.get(e),c=r.get(u);if(l&&c)return l==u&&c==e;var d=-1,E=!0,h=t&dbu?new Kb:void 0;for(r.set(e,u),r.set(u,e);++d<o;){var p=e[d],f=u[d];if(a)var g=i?a(f,p,d,u,e,r):a(p,f,d,e,u,r);if(g!==void 0){if(g)continue;E=!1;break}if(h){if(!lbu(u,function(D,x){if(!J9e(h,x)&&(p===D||n(p,D,t,a,r)))return h.push(x)})){E=!1;break}}else if(!(p===f||n(p,f,t,a,r))){E=!1;break}}return r.delete(e),r.delete(u),E}function Ebu(e){var u=-1,t=Array(e.size);return e.forEach(function(a,n){t[++u]=[n,a]}),t}function LY(e){var u=-1,t=Array(e.size);return e.forEach(function(a){t[++u]=a}),t}var hbu=1,mbu=2,pbu="[object Boolean]",fbu="[object Date]",Dbu="[object Error]",gbu="[object Map]",xbu="[object Number]",vbu="[object RegExp]",kbu="[object Set]",bbu="[object String]",Cbu="[object Symbol]",ybu="[object ArrayBuffer]",Fbu="[object DataView]",Hle=kd?kd.prototype:void 0,yN=Hle?Hle.valueOf:void 0;function Abu(e,u,t,a,n,r,i){switch(t){case Fbu:if(e.byteLength!=u.byteLength||e.byteOffset!=u.byteOffset)return!1;e=e.buffer,u=u.buffer;case ybu:return!(e.byteLength!=u.byteLength||!r(new nB(e),new nB(u)));case pbu:case fbu:case xbu:return zY(+e,+u);case Dbu:return e.name==u.name&&e.message==u.message;case vbu:case bbu:return e==u+"";case gbu:var o=Ebu;case kbu:var s=a&hbu;if(o||(o=LY),e.size!=u.size&&!s)return!1;var l=i.get(e);if(l)return l==u;a|=mbu,i.set(e,u);var c=Z9e(o(e),o(u),a,n,r,i);return i.delete(e),c;case Cbu:if(yN)return yN.call(e)==yN.call(u)}return!1}var Sbu=1,Bbu=Object.prototype,wbu=Bbu.hasOwnProperty;function Tbu(e,u,t,a,n,r){var i=t&Sbu,o=_G(e),s=o.length,l=_G(u),c=l.length;if(s!=c&&!i)return!1;for(var d=s;d--;){var E=o[d];if(!(i?E in u:wbu.call(u,E)))return!1}var h=r.get(e),p=r.get(u);if(h&&p)return h==u&&p==e;var f=!0;r.set(e,u),r.set(u,e);for(var g=i;++d<s;){E=o[d];var D=e[E],x=u[E];if(a)var v=i?a(x,D,E,u,e,r):a(D,x,E,e,u,r);if(!(v===void 0?D===x||n(D,x,t,a,r):v)){f=!1;break}g||(g=E=="constructor")}if(f&&!g){var b=e.constructor,y=u.constructor;b!=y&&"constructor"in e&&"constructor"in u&&!(typeof b=="function"&&b instanceof b&&typeof y=="function"&&y instanceof y)&&(f=!1)}return r.delete(e),r.delete(u),f}var zbu=1,Gle="[object Arguments]",Ule="[object Array]",$F="[object Object]",Obu=Object.prototype,Wle=Obu.hasOwnProperty;function _bu(e,u,t,a,n,r){var i=i1(e),o=i1(u),s=i?Ule:$b(e),l=o?Ule:$b(u);s=s==Gle?$F:s,l=l==Gle?$F:l;var c=s==$F,d=l==$F,E=s==l;if(E&&aB(e)){if(!aB(u))return!1;i=!0,c=!1}if(E&&!c)return r||(r=new dd),i||N9e(e)?Z9e(e,u,t,a,n,r):Abu(e,u,s,t,a,n,r);if(!(t&zbu)){var h=c&&Wle.call(e,"__wrapped__"),p=d&&Wle.call(u,"__wrapped__");if(h||p){var f=h?e.value():e,g=p?u.value():u;return r||(r=new dd),n(f,g,t,a,r)}}return E?(r||(r=new dd),Tbu(e,u,t,a,n,r)):!1}function $Y(e,u,t,a,n){return e===u?!0:e==null||u==null||!Y4(e)&&!Y4(u)?e!==e&&u!==u:_bu(e,u,t,a,$Y,n)}var Mbu=1,Nbu=2;function Rbu(e,u,t,a){var n=t.length,r=n,i=!a;if(e==null)return!r;for(e=Object(e);n--;){var o=t[n];if(i&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++n<r;){o=t[n];var s=o[0],l=e[s],c=o[1];if(i&&o[2]){if(l===void 0&&!(s in e))return!1}else{var d=new dd;if(a)var E=a(l,c,s,e,u,d);if(!(E===void 0?$Y(c,l,Mbu|Nbu,a,d):E))return!1}}return!0}function Q9e(e){return e===e&&!X4(e)}function Pbu(e){for(var u=VT(e),t=u.length;t--;){var a=u[t],n=e[a];u[t]=[a,n,Q9e(n)]}return u}function Y9e(e,u){return function(t){return t==null?!1:t[e]===u&&(u!==void 0||e in Object(t))}}function Ibu(e){var u=Pbu(e);return u.length==1&&u[0][2]?Y9e(u[0][0],u[0][1]):function(t){return t===e||Rbu(t,e,u)}}function jbu(e,u){return e!=null&&u in Object(e)}function Lbu(e,u,t){u=I9e(u,e);for(var a=-1,n=u.length,r=!1;++a<n;){var i=UT(u[a]);if(!(r=e!=null&&t(e,i)))break;e=e[i]}return r||++a!=n?r:(n=e==null?0:e.length,!!n&&OY(n)&&wY(i,n)&&(i1(e)||O9e(e)))}function $bu(e,u){return e!=null&&Lbu(e,u,jbu)}var Kbu=1,Vbu=2;function Hbu(e,u){return RY(e)&&Q9e(u)?Y9e(UT(e),u):function(t){var a=gvu(t,e);return a===void 0&&a===u?$bu(t,e):$Y(u,a,Kbu|Vbu)}}function Gbu(e){return function(u){return u==null?void 0:u[e]}}function Ubu(e){return function(u){return j9e(u,e)}}function Wbu(e){return RY(e)?Gbu(UT(e)):Ubu(e)}function qbu(e){return typeof e=="function"?e:e==null?AY:typeof e=="object"?i1(e)?Hbu(e[0],e[1]):Ibu(e):Wbu(e)}var Jbu=8;function rB(e,u,t){u=t?void 0:u;var a=Rxu(e,Jbu,void 0,void 0,void 0,void 0,void 0,u);return a.placeholder=rB.placeholder,a}rB.placeholder={};function Zbu(e,u,t){for(var a=-1,n=e==null?0:e.length;++a<n;)if(t(u,e[a]))return!0;return!1}var Qbu=1/0,Ybu=Fg&&1/LY(new Fg([,-0]))[1]==Qbu?function(e){return new Fg(e)}:x9e;const Xbu=Ybu;var eCu=200;function uCu(e,u,t){var a=-1,n=y9e,r=e.length,i=!0,o=[],s=o;if(t)i=!1,n=Zbu;else if(r>=eCu){var l=u?null:Xbu(e);if(l)return LY(l);i=!1,n=J9e,s=new Kb}else s=u?[]:o;e:for(;++a<r;){var c=e[a],d=u?u(c):c;if(c=t||c!==0?c:0,i&&d===d){for(var E=s.length;E--;)if(s[E]===d)continue e;u&&s.push(d),o.push(c)}else n(s,d,t)||(s!==o&&s.push(d),o.push(c))}return o}function X9e(e,u){return e&&e.length?uCu(e,qbu(u)):[]}const eSe=V({autoFollowNewTabs:Te().optional().describe("Deprecated: Auto-follow new tabs that are opened."),showZeroOpacityElements:Er([Te(),ne("inputs-only")]).optional(),ignoreHrefForCaching:Te().optional(),disableSecondaryCacheResolution:Te().optional(),hybridSelectorMode:Zs(["off","test","prefer"]).optional(),globalLocatorRedirect:Er([Te(),ne("always")]).optional(),visualActions:Te().optional(),autoExpandIframes:Te().optional(),disableHtmlSnapshots:Te().optional(),importantAttributes:F().array().optional(),importantClasses:F().array().optional(),importantStyles:F().array().optional()}),PG=1e4,IG=6e4,tCu=V({server:F(),username:F().optional(),password:F().optional()}),uSe=eSe.extend({pageLoadTimeoutMs:he().optional().refine(e=>e===void 0||e<=IG&&e>=-1,{message:`Page load timeout must be between 0 and ${IG/1e3} seconds`}).describe("global page load timeout default for all tests in ms, can still be overridden by individual tests"),smartWaitingTimeoutMs:he().optional().refine(e=>e===void 0||e<=PG&&e>=-1,{message:`Smart waiting timeout must be between 0 and ${PG/1e3} seconds`}),localChromeExtensionPaths:F().array().optional(),extraHeaders:yu(F(),F()).optional().describe("HTTP headers to be sent on every request"),initialLocalStorage:yu(F(),yu(F(),F())).optional().describe("Initial local storage key-value pairs to set per domain on browser startup"),userAgent:F().optional(),disableGpu:Te().optional(),disableBrowserMonitoring:Te().optional().describe("Disable console logs and network request recording, which power the console and network tab in the run viewer"),bustCacheOnBoundingBoxChange:Te().optional().describe("This setting is deprecated. Bust the cache if no elements are matched that have the same bounding box and location as the original element. This will improve accuracy on sites that use many same components, at the expense of stability and speed."),allowPartialAccessibilityTree:Te().optional().describe("Allow fetching the partial accessibility tree if fetching the full tree takes too long."),ignoreHttpsErrors:Te().optional().describe("Ignore HTTPS errors, such as self-signed certificates and certificate errors. This can be useful for testing sites that use self-signed certificates or certificate errors."),proxy:tCu.optional().describe("HTTP proxy server to use for the entire browser. This can dramatically increase network latency."),disableFullStory:Te().optional().describe("Disable FullStory, a third-party analytics tool that can significantly impact browser performance. This can be useful for testing sites that use FullStory.")}),Vb="BASE_URL",aCu=F().describe("Name of the fixture (must be available locally in the fixtures directory)."),nCu=V({name:F(),variables:yu(F().describe("variable name"),F().describe("variable value"))}),rCu=V({name:F(),variables:yu(F().describe("variable name"),$t().describe("variable value")),browser:uSe.optional()}),iCu="None",G6="none";V({name:F(),variables:yu(F().describe("variable name"),$t().describe("variable value"))});ec(zx);const qle=V({env:yu($t())}).openapi({ref:"TestContextSnapshot"});var sa=(e=>(e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.RUNNING="RUNNING",e.IDLE="IDLE",e.CANCELLED="CANCELLED",e))(sa||{}),tSe=(e=>(e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.CANCELLED="CANCELLED",e))(tSe||{});ec(zx);const KY=V({beforeUrl:F().optional(),afterUrl:F().optional(),message:F().optional(),beforeSnapshot:F().optional(),afterSnapshot:F().optional(),startedAt:Wu.date(),finishedAt:Wu.date()}),oCu=KY.extend({viewport:V({height:he(),width:he()}).nullish(),status:Pu(tSe),message:F().optional(),elementInteracted:F().optional()}),wf=KY.extend({status:Pu(sa),message:F().optional(),data:$t().optional(),beforeTestContext:qle.optional(),afterTestContext:qle.optional(),failureReason:Pu(RT).optional(),details:$t().describe("Parse using StepExecutionLogSchema.array() to get type safety. We don't explicitly type it because it's non-critical information.")}).openapi({ref:"StepResultMetadata"});var aSe=(e=>(e.NOT_ELIGIBLE="NOT_ELIGIBLE",e.ATTEMPTED="ATTEMPTED",e))(aSe||{});const WT=wf.merge(Af).extend({results:oCu.array().describe("Command that was executed. Array is just for consistency with other result types. There should only ever be one item."),previousAttempts:dn(()=>Yo.array()).optional(),failureRecoveryStatus:V({type:Pu(aSe),message:F()}).optional()}),sCu=wf.merge(bY).extend({results:dn(()=>WT.array()),previousAttempts:dn(()=>Yo.array()).optional()}),lCu=wf.merge(CY).extend({results:dn(()=>WT.array()),previousAttempts:dn(()=>Yo.array()).optional()}),cCu=wf.merge(PT).extend({moduleName:F().optional(),results:dn(()=>Yo.array()),previousAttempts:dn(()=>Yo.array()).optional()}),dCu=wf.merge(t9e).extend({assertionResult:WT.optional(),results:dn(()=>Yo.array()).describe("results for the block actually executed"),previousAttempts:dn(()=>Yo.array()).optional()}),ECu=wf.merge(yY).extend({results:dn(()=>Yo.array()),healingAttempts:dn(()=>Yo.array().array()).optional(),previousAttempts:dn(()=>Yo.array()).optional()}),Yo=zt("type",[sCu,lCu,WT,cCu,dCu,ECu]);wf.pick({startedAt:!0,finishedAt:!0,status:!0,message:!0,data:!0});const hCu=KY.extend({index:he().optional(),userFacingStepReference:F().optional(),description:F(),pageState:F().optional(),elementInteracted:F().optional(),startedAt:Wu.date().or(F()).optional().catch(void 0),finishedAt:Wu.date().or(F()).optional().catch(void 0)}),VY=hCu.extend({beforeScreenshot:F().optional(),afterScreenshot:F().optional()}),nSe=V({results:Yo.array().describe("main results"),beforeResults:Yo.array().optional(),afterResults:Yo.array().optional()}),HY=nSe.partial();var Hb=(e=>(e.WEB="WEB",e.ANDROID="ANDROID",e))(Hb||{}),GY={},iB=_e&&_e.__assign||function(){return iB=Object.assign||function(e){for(var u,t=1,a=arguments.length;t<a;t++){u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},iB.apply(this,arguments)};Object.defineProperty(GY,"__esModule",{value:!0});var rSe=GY.isValidCron=void 0,jG=function(e){return/^\d+$/.test(e)?Number(e):NaN},mCu=function(e){return e==="*"},Gb=function(e){return e==="?"},FN=function(e,u,t){return e>=u&&e<=t},pCu=function(e,u,t){var a=e.split("-");switch(a.length){case 1:return mCu(e)||FN(jG(e),u,t);case 2:var n=a.map(function(o){return jG(o)}),r=n[0],i=n[1];return r<=i&&FN(r,u,t)&&FN(i,u,t);default:return!1}},fCu=function(e){return e===void 0||e.search(/[^\d]/)===-1&&jG(e)>0},nm=function(e,u,t){if(e.search(/[^\d-,\/*]/)!==-1)return!1;var a=e.split(",");return a.every(function(n){var r=n.split("/");if(n.trim().endsWith("/")||r.length>2)return!1;var i=r[0],o=r[1];return pCu(i,u,t)&&fCu(o)})},DCu=function(e){return nm(e,0,59)},gCu=function(e){return nm(e,0,59)},xCu=function(e){return nm(e,0,23)},vCu=function(e,u){return u&&Gb(e)||nm(e,1,31)},Jle={jan:"1",feb:"2",mar:"3",apr:"4",may:"5",jun:"6",jul:"7",aug:"8",sep:"9",oct:"10",nov:"11",dec:"12"},kCu=function(e,u){if(e.search(/\/[a-zA-Z]/)!==-1)return!1;if(u){var t=e.toLowerCase().replace(/[a-z]{3}/g,function(a){return Jle[a]===void 0?a:Jle[a]});return nm(t,1,12)}return nm(e,1,12)},Zle={sun:"0",mon:"1",tue:"2",wed:"3",thu:"4",fri:"5",sat:"6"},bCu=function(e,u,t,a){if(t&&Gb(e))return!0;if(!t&&Gb(e)||e.search(/\/[a-zA-Z]/)!==-1)return!1;if(u){var n=e.toLowerCase().replace(/[a-z]{3}/g,function(r){return Zle[r]===void 0?r:Zle[r]});return nm(n,0,a?7:6)}return nm(e,0,a?7:6)},CCu=function(e,u,t){return!(t&&Gb(e)&&Gb(u))},yCu=function(e){return e.trim().split(/\s+/)},FCu={alias:!1,seconds:!1,allowBlankDay:!1,allowSevenAsSunday:!1};rSe=GY.isValidCron=function(e,u){u=iB(iB({},FCu),u);var t=yCu(e);if(t.length>(u.seconds?6:5)||t.length<5)return!1;var a=[];if(t.length===6){var n=t.shift();n&&a.push(DCu(n))}var r=t[0],i=t[1],o=t[2],s=t[3],l=t[4];return a.push(gCu(r)),a.push(xCu(i)),a.push(vCu(o,u.allowBlankDay)),a.push(kCu(s,u.alias)),a.push(bCu(l,u.alias,u.allowBlankDay,u.allowSevenAsSunday)),a.push(CCu(o,l,u.allowBlankDay)),a.every(Boolean)};var eE=(e=>(e.CHROMIUM="Chromium",e.GOOGLE_CHROME="Google Chrome",e.CHROME_FOR_TESTING="Chrome for Testing",e))(eE||{});const iSe={Chromium:"A lightweight, open-source browser that supports only a basic feature set. This is the default browser used by automation frameworks such as Playwright and Cypress.","Google Chrome":"An experimental, full-fledged Google Chrome build supporting advanced features such as Chrome extensions, PDF rendering, and WebGL.","Chrome for Testing":"A headless-only version of Google Chrome with a separate rendering engine specifically optimized for testing and automation."},oSe=V({width:he().min(200).max(1e4),height:he().min(200).max(1e4)}),cp={"Desktop Large":{width:1920,height:1080},"Desktop Small":{width:1280,height:800},iPad:{width:768,height:1024},"Pixel 8":{width:448,height:998},"iPhone 15":{width:393,height:852}},LG=Object.keys(cp),ACu="Desktop Large",sSe=cp["Desktop Large"],Qle={latitude:37.7749,longitude:-122.4194},lSe=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Araguaina","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],$G=1e4,SCu=uSe.extend({browserType:Pu(eE).optional(),slowMoMs:he().optional().refine(e=>e===void 0||e<=$G&&e>=-1,{message:`Slow motion must be between 0 and ${$G} milliseconds`}),basicAuthorization:V({username:F().optional(),password:F().optional()}).optional(),geolocation:V({latitude:Wu.number().refine(e=>e>=-90&&e<=90,{message:"Latitude must be between -90 and 90 degrees"}),longitude:Wu.number().refine(e=>e>=-180&&e<=180,{message:"Longitude must be between -180 and 180 degrees"})}).optional(),disableJavaScript:Te().optional(),locale:F().optional(),timezone:Zs(lSe).optional(),colorScheme:Zs(["light","dark"]).optional()}),cSe=V({useMemory:Te().optional(),failureRecovery:Te().optional().describe("undefined means inherit org settings")}),BCu=cSe.extend({disableAICaching:Te().optional(),failureRecoveryInstructions:F().optional()}),wCu=V({viewport:oSe.optional()}),qT=wCu.merge(BCu).merge(SCu),UY=V({cron:F().refine(e=>rSe(e),{message:"Invalid cron expression."}).default("0 0 */1 * *"),enabled:Te().default(!1),env:F().optional(),timeZone:F().default("America/Los_Angeles"),jobKey:F().optional()}),WY=V({onSuccess:Te().default(!1),failureMessage:F().optional(),onFailure:Te().default(!0),successMessage:F().optional()}),TCu=V({name:F(),required:Te().optional(),defaultValue:F().describe("this is not optional because we need a value when the editor is first loaded")}),dSe=TCu.array(),zCu=V({name:F(),value:F()}),OCu=zCu.array(),ESe=V({name:F(),default:Te().optional(),fixtures:aCu.array().optional()});ec(ge);const Nx={WEBHOOK:"WEBHOOK",CRON:"CRON",MANUAL:"MANUAL",CLI:"CLI"};var xo=(e=>(e.PENDING="PENDING",e.RUNNING="RUNNING",e.PASSED="PASSED",e.FAILED="FAILED",e.CANCELLED="CANCELLED",e.RETRYING="RETRYING",e.WAITING_FOR_USER="WAITING_FOR_USER",e))(xo||{}),qY=(e=>(e.BEFORE_ALL="BEFORE_ALL",e.AFTER_ALL="AFTER_ALL",e))(qY||{});const $0=F().pipe(Wu.date()).or(vd()),JT=V({id:F(),runKey:F(),organizationId:F(),executionType:Pu(Hb).optional().default(Hb.WEB),createdAt:$0,createdBy:F(),flake:Te().nullish(),scheduledAt:$0.or(fa()),startedAt:$0.or(fa()),updatedAt:$0.nullish(),finishedAt:$0.or(fa()),resolvedBaseUrl:F().nullish(),environmentName:F().nullish(),gitBranchName:F().nullish(),githubRepository:F().nullish(),gitlabProjectPath:F().nullish(),labels:Zu(F()).optional(),gitOriginUrl:F().nullish(),gitCommitSha:F().nullish(),gitCommitShaShort:F().nullish(),gitCommitAuthorName:F().nullish(),cliVersion:F().nullish(),section:Pu(qY).nullish(),status:Pu(xo),trigger:Pu(Nx),attempts:he(),runAttempts:Zu(V({id:F(),status:Pu(xo),startedAt:$0.or(fa()),finishedAt:$0.or(fa())})).optional(),videos:Zu(F()).optional(),failureReason:Pu(RT).nullish(),failureDetails:I7e.nullish(),failureRecoveryDetails:yu(F(),$t()).nullish(),pipelineId:F().nullish(),resolvedInputs:yu(F(),F()).nullish(),quarantined:Te().nullish().default(!1),quarantinedReason:F().nullish(),localTestId:F().nullish(),testId:F().nullish(),testName:F().nullish(),description:F().nullish(),test:V({name:F(),id:F()}).nullish().default(null),suiteId:F().nullish()}).openapi({ref:"RunMetadata"}),_Cu={id:!0,status:!0,testName:!0,localTestId:!0,testId:!0,test:{select:{name:!0,id:!0}},finishedAt:!0,failureReason:!0,failureDetails:!0},hSe=JT.pick({..._Cu,test:!0}),MCu=JT.omit({failureReason:!0,failureDetails:!0,test:!0}),mSe=JT.extend({stepsSnapshot:Zu(yu($t())).nullish(),resolvedInputs:yu(F(),F()).nullish(),test:V({name:F(),id:F(),description:F().nullish(),baseUrl:F().nullish(),advanced:qT.nullish()}).nullish()}).merge(nSe),NCu=V({id:F().uuid(),startedAt:$0.or(fa()),finishedAt:$0.or(fa()),status:Pu(xo)}).merge(HY);NCu.array();const RCu=V({id:F(),status:Pu(xo),trigger:Pu(Nx),createdAt:$0,startedAt:$0.nullish(),finishedAt:$0.nullish(),gitCommitSha:F().nullish(),gitCommitShaShort:F().nullish(),gitCommitTimestamp:$0.nullish(),gitBranchName:F().nullish(),gitOriginUrl:F().nullish(),gitCommitMessage:F().nullish(),gitCommitAuthorName:F().nullish(),githubRepository:F().nullish(),gitlabProjectPath:F().nullish(),pipelineId:F().nullish(),cliVersion:F().nullish(),labels:F().array().optional(),suite:V({id:F(),name:F()}).nullish(),runs:V({status:Pu(xo)}).array()}).openapi({ref:"RunGroup"});RCu.pick({id:!0,createdAt:!0,startedAt:!0,finishedAt:!0,status:!0,trigger:!0,suite:!0}).extend({runs:hSe.array()});const PCu=V({type:ne("TARGETING"),name:F().optional().describe("Target name to disambiguate for steps with multiple targets"),elementLocationDecisions:Sgu.array(),pageState:F().optional(),targetSource:Pu(sY).optional(),targetUpdateTime:F().optional()}),ICu=V({type:ne("AI_LOCATION"),matched:Te(),pageState:F().optional(),ragUsed:Te().optional(),thoughts:F().optional()}),jCu=V({type:ne("ASSERTION"),relevantElementsSerialized:F().array().optional(),pageState:F().optional(),ragUsed:Te().optional()});zt("type",[PCu,ICu,jCu]);const LCu=V({id:F(),name:F()});LCu.merge(V({createdAt:$0,createdBy:F(),schedule:UY,notification:WY,environment:V({name:F()}).nullish(),beforeTests:V({id:F()}).array().nullish(),afterTests:V({id:F()}).array().nullish()}));const pSe=V({id:F().uuid(),orgId:F(),createdAt:$0,startedAt:$0.or(fa()),finishedAt:$0.or(fa()),status:Pu(xo),trigger:Pu(Nx),suite:V({id:F(),name:F()}).nullish(),runs:JT.array()});pSe.pick({id:!0,createdAt:!0,startedAt:!0,finishedAt:!0,status:!0,trigger:!0,suite:!0});const $Cu=pSe.extend({runs:hSe.array()});V({thoughts:F(),subGoals:V({instruction:F()}).array()});V({thoughts:F(),newPlanMarkdown:F()});V({thoughts:F(),correct:Te(),failedActionIndex:he().optional()});const KCu=V({type:ne("PLANNING"),beforePlan:F(),goalDecision:F(),thoughts:F()}),VCu=V({type:ne("RUNNING"),stepDisplayName:F(),status:Pu(sa),results:Yo.array()}),HCu=V({type:ne("REVISING"),beforePlan:F(),afterPlan:F(),errString:F(),diffs:F(),thoughts:F()}),GCu=V({type:ne("SYSTEM"),message:F()}),UCu=zt("type",[KCu,VCu,HCu,GCu]),WCu=UCu.array();V({id:F(),scheduledAt:Wu.date().nullable(),startedAt:Wu.date().nullable(),finishedAt:Wu.date().nullable(),status:Pu(xo),history:WCu.nullable(),testPlan:V({id:F(),name:F()}).nullable(),test:V({id:F(),name:F()}).nullable()});const fSe=V({content:F(),ids:F().array(),tokenLength:he()}),qCu=V({chunks:fSe.array()});V({ids:F().array(),score:he(),tokenLength:he()});qCu.extend({description:F().describe("Input to pass to RAG engine"),tokenLimit:he()});V({ids:he().array()});V({indices:he().array()});const _i=V({disableCache:Te().optional(),useMemory:Te().optional(),clientMode:Zs(["interactive","runner"]).optional(),loggerTags:yu(F(),F()).optional(),langfuseSessionId:F().optional(),agentConfigVersion:F().optional()});_i.extend({chunks:fSe.array(),description:F().describe("Input to pass to AI"),type:Er([ne("locator"),ne("assertion"),ne("ai-action")]),softTokenLimit:he(),hardTokenLimit:he(),callId:F().optional()});const JCu=V({screenshotBase64AfterCommand:F(),urlAfterCommand:F(),serializedCommand:F(),elementInteracted:F().optional(),thoughts:F().optional()}),ZCu=V({goal:F(),browserState:F(),screenshot:F(),source:vgu.optional().catch(void 0),memory:zt("type",[e7e,V({type:ne("RESOLVED_TRACES"),traces:$t().array()})]).optional()}),QCu=V({target:F().or(he()),browserState:F().optional(),screenshot:F().optional(),boundingBox:V({x:he(),y:he(),height:he(),width:he()}).optional()}),YCu=V({goal:F(),browserState:F(),screenshot:F().optional(),returnSchema:F().optional()}),XCu=ne("NEGATED_CHECK"),e2u=V({goal:F(),browserState:F(),screenshot:F(),url:F(),contextChoice:g7e.optional(),memory:zt("type",[n7e,V({type:ne("RESOLVED_TRACES"),traces:$t().array()})]).optional(),source:XCu.optional()}),u2u=V({command:pY}),t2u=V({message:F()}),DSe=V({goal:F(),browserState:F(),startingScreenshot:F().optional(),screenshot:F(),url:F(),history:JCu.array(),actionHint:F().optional(),lastError:F().optional()}),a2u=V({results:VY.array(),errorMessage:F(),errorStack:F().optional()}),n2u=V({results:VY.array(),goal:F(),errorMessage:F()}),r2u=V({failedResults:VY.array(),nextStepsSerialized:F().array(),currentUrl:F(),currentPageState:F(),currentScreenshot:F(),customInstructions:F().optional(),testDescription:F().optional()});V({description:F(),type:Er([ne("locator"),ne("assertion"),ne("ai-action")]),excerpt:F()});const i2u=V({type:F(),browserContext:F(),currentStep:F(),screenshot:F()}),o2u=V({description:F(),browserState:F(),screenshot:F()});V({goal:F()});V({keywords:Zu(F())});var gSe=(e=>(e.LOCATOR="locator",e.ASSERTION="assertion",e.VISUAL_ASSERTION="visual-assertion",e.TEXT_EXTRACTION="text-extraction",e))(gSe||{});Pu(gSe);const s2u=Zs(["v1","v2"]);s2u.or(F().describe("for people with special configurations"));const Yle=V({attributesRequired:Zu(F()).optional(),textRequired:Te().optional(),boundsRequired:Te().optional()});V({id:he(),thoughts:F(),inWebview:Te().optional(),requirements:Yle.optional(),additionalElements:V({id:he(),requirements:Yle}).array().optional()});const l2u=V({description:F(),screenXml:F(),screenshot:F()}),c2u=V({assertion:F(),screenXml:F(),screenshot:F()});V({thoughts:F(),result:Te(),relevantElements:Zu(he()).optional()});var JY=(e=>(e.REQUEST="REQUEST",e.JAVASCRIPT="JAVASCRIPT",e))(JY||{});const xSe=V({id:F().uuid(),skipped:Te().optional(),envKey:F().optional().describe("key in the environment to save the result of this step to")}),vSe=xSe.merge(cY).extend({type:ne("REQUEST")}),kSe=xSe.merge(o7e).extend({type:ne("JAVASCRIPT")}),bSe=zt("type",[kSe,vSe]),CSe=V({id:F(),name:zm,description:F().optional().nullish(),baseUrl:n9e.nullish(),schemaVersion:F(),advanced:$t().optional(),retries:he(),envs:Zu(ESe).nullish(),parameters:dSe.nullish()}),d2u=V({createdAt:Wu.date(),updatedAt:Wu.date(),schedule:UY.nullish(),notification:WY.nullish(),createdBy:F(),organizationId:F()}),E2u=CSe.merge(d2u);E2u.extend({steps:bSe.array()});CSe.extend({steps:bSe.array()});const ySe=V({startedAt:Wu.date(),finishedAt:Wu.date(),status:Pu(sa),message:F().optional(),data:$t().optional()}),h2u=ySe.merge(kSe).extend({type:ne(JY.JAVASCRIPT)}),m2u=ySe.merge(vSe).extend({type:ne(JY.REQUEST)}),p2u=zt("type",[h2u,m2u]),f2u=V({startedAt:Wu.date(),finishedAt:Wu.date().nullish(),status:Pu(xo),results:p2u.array(),failureReason:F().nullish(),failureDetails:I7e.nullish()}),D2u=V({id:F(),organizationId:F(),createdAt:Wu.date(),updatedAt:Wu.date(),createdBy:F(),scheduledAt:Wu.date().nullish(),startedAt:Wu.date().nullish(),finishedAt:Wu.date().nullish(),status:Pu(xo),trigger:Pu(Nx),results:f2u.array().nullish(),apiTestName:F().nullish(),apiTestPath:F().nullish(),apiTestId:F().nullish()});D2u.pick({status:!0,startedAt:!0,finishedAt:!0});var FSe=(e=>(e.TestRun="test-run",e.MobileTestRun="mobile-test-run",e.CreditsUsed="credits-used",e.CreditsUsedV2="credits-used-v2",e))(FSe||{});const ASe=3;function g2u(e){return e===me.MODULE||e===me.CONDITIONAL||e===me.SECTION||e==="RESOLVED_MODULE"}function x2u(e){if(!g2u(e))switch(e){case me.PRESET_ACTION:return 0;case me.AI_ACTION:return 3;case me.AI_ACTION_DYNAMIC:return 5;default:(t=>{throw"If Typescript complains about the line below, you missed a case or break in the switch above"})()}}function v2u(e){switch(e.type){case _.AI_EXTRACT:case _.AI_ASSERTION:return ASe;case _.CAPTCHA:return 3;case _.CLICK:case _.TYPE:case _.SELECT_OPTION:case _.HOVER:case _.ELEMENT_CHECK:case _.FOCUS:case _.BLUR:case _.SCROLL_DOWN:case _.SCROLL_LEFT:case _.SCROLL_RIGHT:case _.SCROLL_UP:case _.MOUSE_DRAG:return e.useSelector||!e.target||e.target.type!=="description"?0:1;case _.DRAG:return e.useSelector?0:1;case _.VISUAL_DIFF:case _.SWITCH_TAB:case _.JAVASCRIPT:case _.NAVIGATE:case _.WAIT:case _.SUCCESS:case _.AUTH_LOAD:case _.AUTH_SAVE:case _.COOKIE:case _.DIALOG:case _.FILE_UPLOAD:case _.GO_BACK:case _.GO_FORWARD:case _.LOCAL_STORAGE:case _.NEW_TAB:case _.PAGE_CHECK:case _.PRESS:case _.KEY_DOWN:case _.KEY_UP:case _.COPY:case _.PASTE:case _.REFRESH:case _.REQUEST:case _.GRAPHQL_REQUEST:case _.WAIT_FOR_URL:case _.REGISTER_REQUEST_LISTENER:case _.AWAIT_LISTENER:case _.RECORD_REQUESTS:case _.GET_RECORDED_REQUESTS:case _.SET_HEADER:case _.MOCK_ROUTE:case _.REMOVE_ROUTE_MOCK:case _.OFFLINE_MODE:return 0;default:(t=>{throw"If Typescript complains about the line below, you missed a case or break in the switch above"})()}}const k2u=V({name:F(),value:F(),url:F().optional(),domain:F().optional(),path:F().optional(),expires:he().default(Date.now()/1e3+60*60*24*365),httpOnly:Te().optional(),secure:Te().default(!0),sameSite:Er([ne("Strict"),ne("Lax"),ne("None")]).default("None")}),b2u=V({origin:F(),localStorage:Zu(V({name:F(),value:F()}))}),C2u=V({entries:yu(F(),Zu(am([$t(),$t()]))),version:he().optional()});V({cookies:k2u.array().optional(),origins:b2u.array().optional(),idb:yu(F(),C2u).optional().describe("key is db name")});var SSe=(e=>(e.SCREEN="SCREEN",e.OPEN_APP="OPEN_APP",e.OPEN_WEBVIEW="OPEN_WEBVIEW",e.CUSTOM="CUSTOM",e.CUSTOM_COORDINATES="CUSTOM_COORDINATES",e))(SSe||{});const BSe=zt("type",[V({type:ne("SCREEN")}),V({type:ne("OPEN_APP")}),V({type:ne("OPEN_WEBVIEW")})]),ZT=V({type:ne("description"),description:F()}),wSe=V({type:ne("CUSTOM_COORDINATES"),startX:he().describe("Starting X coordinate in pixels"),startY:he().describe("Starting Y coordinate in pixels"),deltaPixels:he().describe("Number of pixels to scroll in the specified direction")}),TSe=zt("type",[...BSe.options,V({type:ne("CUSTOM"),target:ZT}),wSe]),y2u=V({type:ne("coordinates"),xPercent:he(),yPercent:he()}),zSe=zt("type",[ZT,y2u]),OSe=V({requiredText:F().optional(),requiredAttributes:yu(F(),F()).optional(),requiredBounds:Te().optional()}),F2u=V({xPath:F(),requirements:OSe.optional()}),A2u=V({type:ne("CUSTOM"),target:ZT,cache:dn(()=>_Se).optional()}),S2u=V({pixelDelta:he().describe("Number of pixels to scroll in the specified direction"),scrollableElement:Er([BSe,A2u,wSe]),direction:Zs(["up","down"])}),_Se=V({type:ne("NATIVE"),bounds:he().array(),resolvedDescription:F(),xPath:F(),elementOnlySerializedXml:F(),scrollDetails:S2u.optional(),requirements:OSe.optional(),requiredRelatedElements:F2u.array().optional()}),B2u=V({type:ne("WEBVIEW"),resolvedDescription:F(),xPath:F(),browserCache:Nb.optional()}),w2u=Er([_Se,B2u]);var ut=(e=>(e.AI_CHECK="AI_CHECK",e.TAP="TAP",e.TYPE="TYPE",e.PRESS="PRESS",e.PRESS_KEYBOARD="PRESS_KEYBOARD",e.OPEN_APP="OPEN_APP",e.KILL_APP="KILL_APP",e.OPEN_NOTIFICATION_DRAWER="OPEN_NOTIFICATION_DRAWER",e.SWIPE="SWIPE",e.SCROLL_TO="SCROLL_TO",e.SCREEN_CHECK="SCREEN_CHECK",e.JAVASCRIPT="JAVASCRIPT",e.REQUEST="REQUEST",e.WAIT="WAIT",e.ADD_FILE="ADD_FILE",e.INSTALL_APP="INSTALL_APP",e.ADB="ADB",e.STATE="STATE",e))(ut||{}),ZY=(e=>(e.BACK="BACK",e.HOME="HOME",e.APP_SWITCHER="APP_SWITCHER",e.POWER="POWER",e.SEARCH="SEARCH",e.VOLUME_UP="VOLUME_UP",e.VOLUME_DOWN="VOLUME_DOWN",e.VOLUME_MUTE="VOLUME_MUTE",e))(ZY||{}),MSe=(e=>(e.CLOSE_KEYBOARD="CLOSE_KEYBOARD",e.ENTER="ENTER",e.BACKSPACE="BACKSPACE",e))(MSe||{});const T2u=V({updatedAt:Wu.date().optional()}),O0=V({id:F().uuid(),disableCache:Te().optional()}),z2u=O0.extend({type:ne("STATE")}),O2u=O0.extend({type:ne("KILL_APP")}),QT=T2u.extend({target:w2u}),_2u=O0.extend({type:ne("AI_CHECK"),assertion:F(),timeoutSecs:he().optional()}),NSe=O0.extend({type:ne("TAP"),target:zSe,cache:QT.optional(),longPress:Te().optional(),longPressDurationMs:he().optional(),doubleTap:Te().optional(),doubleTapDelayMs:he().optional(),relativePosition:V({x:he(),y:he()}).optional()}),RSe=O0.extend({type:ne("TYPE"),target:zSe.optional(),cache:QT.optional(),keyPressDelayMs:he().optional(),text:F(),clearContent:Te().optional(),forceClearContent:Te().optional()}),M2u=O0.extend({type:ne("PRESS"),key:Pu(ZY),longPress:Te().optional()}),N2u=O0.extend({type:ne("PRESS_KEYBOARD"),key:Pu(MSe)}),R2u=O0.extend({type:ne("OPEN_APP"),packageName:F(),activityName:F().optional(),intentExtras:F().optional()}),P2u=O0.extend({type:ne("OPEN_NOTIFICATION_DRAWER")}),PSe=O0.extend({type:ne("SWIPE"),direction:Zs(["up","down","left","right"]),scrollableElement:TSe,cache:QT.optional(),viewportPercent:he().optional(),durationMs:he().optional()}),ISe=O0.extend({type:ne("SCROLL_TO"),target:ZT,direction:Zs(["down","up"]),scrollableElement:TSe,scrollStepPercent:he().min(.1).max(1).optional().describe("How much of the container height to scroll at each step (0.1 to 1.0). Default is 0.8 (80%)."),cache:QT.optional()}),I2u=V({type:ne("CONTENT"),negated:Te().optional(),value:F()}),j2u=O0.extend({type:ne("SCREEN_CHECK"),assertion:I2u,timeout:he().int().min(0).max(V3).optional().describe("max seconds to wait for the assertion to be true")}),L2u=O0.extend({type:ne("JAVASCRIPT"),code:F(),timeout:he().int().max(60).optional().describe("Max seconds for the code to complete")}),$2u=O0.extend({type:ne("REQUEST")}).merge(cY),K2u=O0.extend({type:ne("WAIT"),timeoutSecs:he()}),V2u=O0.extend({type:ne("ADB"),command:F(),jsonArgs:F().optional()}),H2u=O0.extend({type:ne("ADD_FILE"),file:F(),storageLocation:F()}),G2u=F().trim(),U2u=O0.extend({type:ne("INSTALL_APP"),uri:G2u}),W2u=zt("type",[_2u,NSe,RSe,M2u,R2u,P2u,N2u,PSe,ISe,j2u,L2u,$2u,K2u,H2u,U2u,O2u,V2u,z2u]),Xle=e=>{switch(e.type){case"description":return e.description;case"coordinates":return`${e.xPercent}%, ${e.yPercent}%`}},q2u=ge.object({type:ge.literal(ut.TAP),description:ge.string().describe("Description of the element to tap."),longPress:ge.boolean().describe("Whether to hold the tap down before releasing. Useful for triggering context menus."),doubleTap:ge.boolean().describe("Whether to tap twice in quick succession."),relativePosition:ge.null().or(ge.object({x:ge.number(),y:ge.number()})).describe("Specific position to tap within the bounding box of the element, specified in pixels. E.g. 0,0 is the top left corner.")}).describe(`
117
117
  Tap on an element on the screen.
118
118
  `),J2u=ge.object({type:ge.literal(ut.PRESS),key:ge.nativeEnum(ZY)}).describe(`
119
119
  Press a button on the device. Some buttons are physical (volume) while others are virtual (Back/Home/App Switcher).
package/static/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
 
8
8
  <title>Momentic web app</title>
9
- <script type="module" crossorigin src="/assets/index-WnGoQIGb.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-wgGnwtvD.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-zEiWsL7o.css">
11
11
  </head>
12
12
  <body>