@flowriki/agent 0.1.0-beta.4 → 0.1.0-beta.40
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/README.md +54 -7
- package/dist/accname.global.js +1 -0
- package/dist/chunk-T7I2US4Y.js +12038 -0
- package/dist/cli.js +2029 -3
- package/dist/engine.js +1 -1
- package/package.json +4 -2
- package/dist/chunk-7JLRYAQ2.js +0 -7265
package/README.md
CHANGED
|
@@ -25,11 +25,44 @@ npx @flowriki/agent@latest doctor # diagnose setup problems
|
|
|
25
25
|
npx @flowriki/agent@latest disconnect # forget this computer's credential
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## Write tests with Claude
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
The agent is also an MCP server, so Claude Code or Claude Desktop can write
|
|
31
|
+
Flowriki tests for you, on your own Claude plan. Claude drives a browser on
|
|
32
|
+
this computer, each step is performed before it is kept, and what it writes is
|
|
33
|
+
saved to a **new branch** for you to review and publish in the dashboard.
|
|
34
|
+
|
|
35
|
+
Connect this computer first (`connect` above), then add Flowriki to Claude:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
claude mcp add flowriki -- npx -y @flowriki/agent@latest mcp
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
For Claude Desktop, add this to its MCP settings (`claude_desktop_config.json`):
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{ "mcpServers": { "flowriki": { "command": "npx", "args": ["-y", "@flowriki/agent@latest", "mcp"] } } }
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Then ask, for example: *"Write a Flowriki test that signs up and verifies the
|
|
48
|
+
email"*. Claude reads your project's features, sign-in profiles and helpers,
|
|
49
|
+
and uses them. You do not run `mcp` yourself — Claude starts it. It works
|
|
50
|
+
alongside `start`, in a browser window of its own.
|
|
51
|
+
|
|
52
|
+
## What you do not need
|
|
53
|
+
|
|
54
|
+
No checkout of Flowriki, and nothing to build. `connect` and `start` are the
|
|
55
|
+
whole installation.
|
|
56
|
+
|
|
57
|
+
For recording, running and debugging from the dashboard you do not need a
|
|
58
|
+
checkout of the project under test either: the service reads the flow from your
|
|
59
|
+
connected repository and sends it with the command, so this machine can be one
|
|
60
|
+
that has never cloned anything.
|
|
61
|
+
|
|
62
|
+
## Serving a local checkout
|
|
63
|
+
|
|
64
|
+
Optional, and for one case: working against files on this machine rather than
|
|
65
|
+
what is committed.
|
|
33
66
|
|
|
34
67
|
```
|
|
35
68
|
npx @flowriki/agent@latest start --project /path/to/checkout
|
|
@@ -39,6 +72,10 @@ Repeat `--project` for several. They are remembered, so later runs need no
|
|
|
39
72
|
arguments. Each folder identifies itself from the `.flowriki/project.json`
|
|
40
73
|
committed when its repository was connected — you never pass a project id.
|
|
41
74
|
|
|
75
|
+
One dashboard action still needs one: **verifying unsaved steps** from the
|
|
76
|
+
flow editor, which reads the flow from a checkout rather than being sent it. It
|
|
77
|
+
says so plainly when there is none. Recording, running and debugging do not.
|
|
78
|
+
|
|
42
79
|
## Where things are kept
|
|
43
80
|
|
|
44
81
|
Credentials and project mappings live outside the npm cache, so upgrading or
|
|
@@ -52,7 +89,17 @@ clearing the cache does not lose them:
|
|
|
52
89
|
|
|
53
90
|
`FLOWRIKI_HOME` overrides it.
|
|
54
91
|
|
|
55
|
-
##
|
|
92
|
+
## Which Flowriki this talks to
|
|
93
|
+
|
|
94
|
+
Production, unless you say otherwise. `--service <url>` (or
|
|
95
|
+
`FLOWRIKI_SERVICE_URL`) points at another one — our own dev and staging
|
|
96
|
+
environments, or a self-hosted install.
|
|
97
|
+
|
|
98
|
+
Credentials are kept **per service**, so a production credential is never sent
|
|
99
|
+
to a development one, and connecting to a second does not disturb the first.
|
|
100
|
+
`doctor` prints which environment answered.
|
|
101
|
+
|
|
102
|
+
This is not the site your tests run against. That is a project setting in the
|
|
103
|
+
dashboard, and changing it never requires connecting this machine again.
|
|
56
104
|
|
|
57
|
-
|
|
58
|
-
so a production credential is never sent to a development one.
|
|
105
|
+
For a terminal where Flowriki should not open the default browser, use `npx @flowriki/agent connect --no-open` and open the printed approval link yourself. Approval is still required.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(()=>{function U(e,t,i){function u(r){let a=e.__flAccName;if(a){let l=a(r);return l||t(r.placeholder)||t(r.title)||""}return b(r)}function b(r){let a=r.getAttribute&&r.getAttribute("aria-labelledby");if(a){let p=a.split(/\s+/).map(y=>document.getElementById(y)).filter(Boolean).map(y=>t(y.textContent)).filter(Boolean).join(" ");if(p)return p}let l=t(r.getAttribute&&r.getAttribute("aria-label"));if(l)return l;if(r.id){let p=document.querySelector('label[for="'+CSS.escape(r.id)+'"]');if(p&&t(p.textContent))return t(p.textContent)}let o=r.closest&&r.closest("label");if(o&&t(o.textContent))return t(o.textContent);let s=r.tagName.toLowerCase(),g=(r.type||"").toLowerCase();return(["button","a","summary"].includes(s)||r.getAttribute&&r.getAttribute("role")==="button")&&t(r.textContent)?t(r.textContent):s==="input"&&["submit","button","reset"].includes(g)&&r.value?t(r.value):t(r.placeholder)||t(r.title)||""}let L="input,select,textarea,button,meter,output,progress,[contenteditable]";function h(r){let a=r.parentElement;if(!a||!r.matches?.(L))return"";for(let l of Array.from(a.querySelectorAll("label"))){let o=l.getAttribute("for");if(o&&document.getElementById(o))continue;let s=t(l.textContent).replace(/\s*\*+$/,"");if(s)return s}return""}function C(r,a){return r.getAttribute?.("aria-label")||r.getAttribute?.("aria-labelledby")||r.labels?.length||a!==t(r.placeholder)&&a!==t(r.title)?!1:(r.parentElement?.querySelectorAll("input:not([type=hidden]),select,textarea,[contenteditable]")??[]).length===1}let M=new WeakMap,D=crypto.randomUUID(),I=0;function V(r){let a=r.getRootNode(),l=E=>a.querySelectorAll(E).length===1,o=[],s=r.getAttribute?.("data-testid");s&&l(`[data-testid=${JSON.stringify(s)}]`)&&o.push({strategy:"testId",value:s});let g=t(r.placeholder);g&&l(`[placeholder=${JSON.stringify(r.placeholder)}]`)&&o.push({strategy:"placeholder",value:g});let p=t(r.getAttribute?.("alt"));p&&l(`[alt=${JSON.stringify(r.getAttribute("alt"))}]`)&&o.push({strategy:"altText",value:p});let y=r.getAttribute?.("title");return y&&l(`[title=${JSON.stringify(y)}]`)&&o.push({strategy:"title",value:t(y)}),r.id&&!/:r|[a-f0-9]{12}|\d{6}/i.test(r.id)&&l(`#${CSS.escape(r.id)}`)&&o.push({strategy:"css",value:`#${CSS.escape(r.id)}`}),o.slice(0,4)}function q(r){let a=M.get(r);a||(a=`${D}:${++I}`,M.set(r,a));let l=V(r),o={__targetId:a,...l.length?{candidates:l}:{}},s=r.getRootNode(),g=u(r),p=h(r);if(g&&!(p&&C(r,g)))return{...o,name:g};if(p)return{...o,name:p,nameFrom:"adjacent-label"};let y=t(Array.from(r.childNodes||[]).filter(O=>O.nodeType===3).map(O=>O.textContent).join(" "));if(y&&y.length<=80)return{...o,name:y,nameFrom:"text"};let E=l[0];return E?{...o,name:"",locator:E.strategy==="placeholder"||E.strategy==="altText"?{strategy:"css",value:`[${E.strategy==="altText"?"alt":"placeholder"}=${JSON.stringify(E.value)}]`}:E}:{...o,name:""}}function P(r){let a=r.getAttribute&&r.getAttribute("role");if(a)return a;let l=r.tagName.toLowerCase(),o=(r.type||"").toLowerCase();return l==="button"?"button":l==="a"&&r.href?"link":l==="select"?r.multiple||r.size>1?"listbox":"combobox":l==="textarea"?"textbox":l==="input"?["submit","button","reset","file"].includes(o)?"button":o==="checkbox"||o==="radio"?o:o==="number"?"spinbutton":o==="search"?"searchbox":o==="range"?"slider":"textbox":r.isContentEditable?"textbox":_[l]??""}let _={li:"listitem",ul:"list",ol:"list",tr:"row",td:"cell",th:"columnheader",table:"table",nav:"navigation",main:"main",header:"banner",footer:"contentinfo",aside:"complementary",form:"form",dialog:"dialog",details:"group",fieldset:"group",img:"img",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading"};function R(r){let a=r,l=null;for(let o=0;a&&o<6&&!(a===document.body||a===document.documentElement);o++){let s="";try{s=getComputedStyle(a).cursor}catch{break}if(s==="pointer")l=a;else if(l)break;a=a.parentElement}return l}let B="tr, [role=row], li, [role=listitem], [role=article], [role=gridcell]";function J(r){try{let a=r.cloneNode(!0);for(let l of Array.from(a.querySelectorAll(i+", input, select, textarea")))l.remove();for(let l of Array.from(a.querySelectorAll("td, th, li, p, div, span, tr")))l.append(" ");return t(a.textContent).slice(0,120)}catch{return""}}function A(r,a,l){if(!l)return!1;let o;try{o=Array.from(document.querySelectorAll(i+", input, select, textarea"))}catch{return!1}if(o.length>400)return!0;let s=0;for(let g of o)if(g!==r&&P(g)===a&&q(g).name===l&&++s>0)return!0;return!1}function n(r,a,l){if(!A(r,a,l))return null;let o=r.closest&&r.closest(B);if(!o)return null;let s=J(o);if(!s)return null;let g=o.getAttribute&&o.getAttribute("role"),p=o.tagName.toLowerCase();return{scope:s,scopeRole:g||(p==="tr"?"row":p==="li"?"listitem":p)}}function f(r){if(!r.closest)return null;let a=r.closest("nav, main, aside, header, footer, [role=navigation], [role=main], [role=complementary], [role=banner], [role=contentinfo], [role=search]");if(!a)return null;let l=a.getAttribute&&a.getAttribute("role");if(l)return{scope:u(a),scopeRole:l};let o=a.tagName.toLowerCase();return o==="nav"?{scope:u(a),scopeRole:"navigation"}:o==="main"?{scope:u(a),scopeRole:"main"}:o==="aside"?{scope:u(a),scopeRole:"complementary"}:a.closest("article, aside, main, nav, section")!==a&&a.closest("article, aside, main, nav, section")!==null?null:o==="header"?{scope:u(a),scopeRole:"banner"}:o==="footer"?{scope:u(a),scopeRole:"contentinfo"}:null}let c=new WeakMap;function w(r,a){r&&a&&Object.keys(a).length&&c.set(r,a)}function S(r,a,l){let o=c.get(r);if(o&&(o.scopeRole||o.nth!==void 0||o.warning))return{scope:o.scope??"",...o.scopeRole?{scopeRole:o.scopeRole}:{},...o.nth===void 0?{}:{nth:o.nth},...o.warning?{warning:o.warning}:{}};let s=n(r,a,l);return s||{scope:T(r)}}function T(r){let a=r.closest&&r.closest("form, fieldset, section, [role=group], [role=region], [role=dialog], [role=alertdialog], dialog");return a?u(a):""}function N(r){if(r.id)return"#"+CSS.escape(r.id);let a=[],l=r;for(;l&&l.nodeType===1&&l!==document.body;){let o=Array.from(l.parentNode?l.parentNode.children:[]).filter(s=>s.tagName===l.tagName);a.unshift(o.length>1?`${l.tagName.toLowerCase()}:nth-of-type(${o.indexOf(l)+1})`:l.tagName.toLowerCase()),l=l.parentElement}return"body > "+a.join(" > ")}return{accName:u,identify:q,roleOf:P,pointerTarget:R,scoping:S,cssPath:N,isAmbiguous:A,landmarkScope:f,remember:w}}var ge=Object.prototype.toString;function Q(e){return typeof e=="function"||ge.call(e)==="[object Function]"}function ye(e){var t=Number(e);return isNaN(t)?0:t===0||!isFinite(t)?t:(t>0?1:-1)*Math.floor(Math.abs(t))}var he=Math.pow(2,53)-1;function ve(e){var t=ye(e);return Math.min(Math.max(t,0),he)}function v(e,t){var i=Array,u=Object(e);if(e==null)throw new TypeError("Array.from requires an array-like object - not null or undefined");if(typeof t<"u"&&!Q(t))throw new TypeError("Array.from: when provided, the second argument must be a function");for(var b=ve(u.length),L=Q(i)?Object(new i(b)):new Array(b),h=0,C;h<b;)C=u[h],t?L[h]=t(C,h):L[h]=C,h+=1;return L.length=b,L}function j(e){"@babel/helpers - typeof";return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(e)}function we(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function X(e,t){for(var i=0;i<t.length;i++){var u=t[i];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(e,Y(u.key),u)}}function Se(e,t,i){return t&&X(e.prototype,t),i&&X(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ee(e,t,i){return t=Y(t),t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Y(e){var t=xe(e,"string");return j(t)=="symbol"?t:t+""}function xe(e,t){if(j(e)!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var u=i.call(e,t||"default");if(j(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ae=(function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];we(this,e),Ee(this,"items",void 0),this.items=t}return Se(e,[{key:"add",value:function(i){return this.has(i)===!1&&this.items.push(i),this}},{key:"clear",value:function(){this.items=[]}},{key:"delete",value:function(i){var u=this.items.length;return this.items=this.items.filter(function(b){return b!==i}),u!==this.items.length}},{key:"forEach",value:function(i){var u=this;this.items.forEach(function(b){i(b,b,u)})}},{key:"has",value:function(i){return this.items.indexOf(i)!==-1}},{key:"size",get:function(){return this.items.length}}])})(),Z=typeof Set>"u"?Set:Ae;function m(e){var t;return(t=e.localName)!==null&&t!==void 0?t:e.tagName.toLowerCase()}var Te={article:"article",aside:"complementary",button:"button",datalist:"listbox",dd:"definition",details:"group",dialog:"dialog",dt:"term",fieldset:"group",figure:"figure",form:"form",footer:"contentinfo",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",header:"banner",hr:"separator",html:"document",legend:"legend",li:"listitem",math:"math",main:"main",menu:"list",nav:"navigation",ol:"list",optgroup:"group",option:"option",output:"status",progress:"progressbar",section:"region",summary:"button",table:"table",tbody:"rowgroup",textarea:"textbox",tfoot:"rowgroup",td:"cell",th:"columnheader",thead:"rowgroup",tr:"row",ul:"list"},Le={caption:new Set(["aria-label","aria-labelledby"]),code:new Set(["aria-label","aria-labelledby"]),deletion:new Set(["aria-label","aria-labelledby"]),emphasis:new Set(["aria-label","aria-labelledby"]),generic:new Set(["aria-label","aria-labelledby","aria-roledescription"]),insertion:new Set(["aria-label","aria-labelledby"]),none:new Set(["aria-label","aria-labelledby"]),paragraph:new Set(["aria-label","aria-labelledby"]),presentation:new Set(["aria-label","aria-labelledby"]),strong:new Set(["aria-label","aria-labelledby"]),subscript:new Set(["aria-label","aria-labelledby"]),superscript:new Set(["aria-label","aria-labelledby"])};function Ne(e,t){return["aria-atomic","aria-busy","aria-controls","aria-current","aria-description","aria-describedby","aria-details","aria-dropeffect","aria-flowto","aria-grabbed","aria-hidden","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"].some(function(i){var u;return e.hasAttribute(i)&&!((u=Le[t])!==null&&u!==void 0&&u.has(i))})}function ee(e,t){return Ne(e,t)}function G(e){var t=Re(e);if(t===null||k.indexOf(t)!==-1){var i=Ce(e);if(k.indexOf(t||"")===-1||ee(e,i||""))return i}return t}function Ce(e){var t=Te[m(e)];if(t!==void 0)return t;switch(m(e)){case"a":case"area":case"link":if(e.hasAttribute("href"))return"link";break;case"img":return e.getAttribute("alt")===""&&!ee(e,"img")?"presentation":"img";case"input":{var i=e,u=i.type;switch(u){case"button":case"image":case"reset":case"submit":return"button";case"checkbox":case"radio":return u;case"range":return"slider";case"email":case"tel":case"text":case"url":return e.hasAttribute("list")?"combobox":"textbox";case"search":return e.hasAttribute("list")?"combobox":"searchbox";case"number":return"spinbutton";default:return null}}case"select":return e.hasAttribute("multiple")||e.size>1?"listbox":"combobox"}return null}function Re(e){var t=e.getAttribute("role");if(t!==null){var i=t.trim().split(" ")[0];if(i.length>0)return i}return null}var k=["presentation","none"];function d(e){return e!==null&&e.nodeType===e.ELEMENT_NODE}function z(e){return d(e)&&m(e)==="caption"}function H(e){return d(e)&&m(e)==="input"}function te(e){return d(e)&&m(e)==="optgroup"}function re(e){return d(e)&&m(e)==="select"}function ne(e){return d(e)&&m(e)==="table"}function ie(e){return d(e)&&m(e)==="textarea"}function ae(e){var t=e.ownerDocument===null?e:e.ownerDocument,i=t.defaultView;if(i===null)throw new TypeError("no window available");return i}function oe(e){return d(e)&&m(e)==="fieldset"}function le(e){return d(e)&&m(e)==="legend"}function ue(e){return d(e)&&m(e)==="slot"}function Ie(e){return d(e)&&e.ownerSVGElement!==void 0}function se(e){return d(e)&&m(e)==="svg"}function ce(e){return Ie(e)&&m(e)==="title"}function $(e,t){if(d(e)&&e.hasAttribute(t)){var i=e.getAttribute(t).split(" "),u=e.getRootNode?e.getRootNode():e.ownerDocument;return i.map(function(b){return u.getElementById(b)}).filter(function(b){return b!==null})}return[]}function x(e,t){return d(e)?t.indexOf(G(e))!==-1:!1}function Oe(e){return e.trim().replace(/\s\s+/g," ")}function Me(e,t){if(!d(e))return!1;if(e.hasAttribute("hidden")||e.getAttribute("aria-hidden")==="true")return!0;var i=t(e);return i.getPropertyValue("display")==="none"||i.getPropertyValue("visibility")==="hidden"}function Pe(e){return x(e,["button","combobox","listbox","textbox"])||pe(e,"range")}function pe(e,t){if(!d(e))return!1;if(t==="range")return x(e,["meter","progressbar","scrollbar","slider","spinbutton"]);throw new TypeError("No knowledge about abstract role '".concat(t,"'. This is likely a bug :("))}function fe(e,t){var i=v(e.querySelectorAll(t));return $(e,"aria-owns").forEach(function(u){i.push.apply(i,v(u.querySelectorAll(t)))}),i}function _e(e){return re(e)?e.selectedOptions||fe(e,"[selected]"):fe(e,'[aria-selected="true"]')}function je(e){return x(e,k)}function ke(e){return z(e)}function He(e){return x(e,["button","cell","checkbox","columnheader","gridcell","heading","label","legend","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowheader","switch","tab","tooltip","treeitem"])}function $e(e){return!1}function De(e){return H(e)||ie(e)?e.value:e.textContent||""}function de(e){var t=e.getPropertyValue("content");return/^["'].*["']$/.test(t)?t.slice(1,-1):""}function me(e){var t=m(e);return t==="button"||t==="input"&&e.getAttribute("type")!=="hidden"||t==="meter"||t==="output"||t==="progress"||t==="select"||t==="textarea"}function be(e){if(me(e))return e;var t=null;return e.childNodes.forEach(function(i){if(t===null&&d(i)){var u=be(i);u!==null&&(t=u)}}),t}function Ve(e){if(e.control!==void 0)return e.control;var t=e.getAttribute("for");return t!==null?e.ownerDocument.getElementById(t):be(e)}function qe(e){var t=e.labels;if(t===null)return t;if(t!==void 0)return v(t);if(!me(e))return null;var i=e.ownerDocument;return v(i.querySelectorAll("label")).filter(function(u){return Ve(u)===e})}function Ge(e){var t=e.assignedNodes();return t.length===0?v(e.childNodes):t}function F(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=new Z,u=typeof Map>"u"?void 0:new Map,b=ae(e),L=t.compute,h=L===void 0?"name":L,C=t.computedStyleSupportsPseudoElements,M=C===void 0?t.getComputedStyle!==void 0:C,D=t.getComputedStyle,I=D===void 0?b.getComputedStyle.bind(b):D,V=t.hidden,q=V===void 0?!1:V,P=function(f,c){if(c!==void 0)throw new Error("use uncachedGetComputedStyle directly for pseudo elements");if(u===void 0)return I(f);var w=u.get(f);if(w)return w;var S=I(f,c);return u.set(f,S),S};function _(n,f){var c="";if(d(n)&&M){var w=I(n,"::before"),S=de(w);c="".concat(S," ").concat(c)}var T=ue(n)?Ge(n):v(n.childNodes).concat($(n,"aria-owns"));if(T.forEach(function(a){var l=A(a,{isEmbeddedInLabel:f.isEmbeddedInLabel,isReferenced:!1,recursion:!0}),o=d(a)?P(a).getPropertyValue("display"):"inline",s=o!=="inline"?" ":"";c+="".concat(s).concat(l).concat(s)}),d(n)&&M){var N=I(n,"::after"),r=de(N);c="".concat(c," ").concat(r)}return c.trim()}function R(n,f){var c=n.getAttributeNode(f);return c!==null&&!i.has(c)&&c.value.trim()!==""?(i.add(c),c.value):null}function B(n){return d(n)?R(n,"title"):null}function J(n){if(!d(n))return null;if(oe(n)){i.add(n);for(var f=v(n.childNodes),c=0;c<f.length;c+=1){var w=f[c];if(le(w))return A(w,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(ne(n)){i.add(n);for(var S=v(n.childNodes),T=0;T<S.length;T+=1){var N=S[T];if(z(N))return A(N,{isEmbeddedInLabel:!1,isReferenced:!1,recursion:!1})}}else if(se(n)){i.add(n);for(var r=v(n.childNodes),a=0;a<r.length;a+=1){var l=r[a];if(ce(l))return l.textContent}return null}else if(m(n)==="img"||m(n)==="area"){var o=R(n,"alt");if(o!==null)return o}else if(te(n)){var s=R(n,"label");if(s!==null)return s}if(H(n)&&(n.type==="button"||n.type==="submit"||n.type==="reset")){var g=R(n,"value");if(g!==null)return g;if(n.type==="submit")return"Submit";if(n.type==="reset")return"Reset"}var p=qe(n);if(p!==null&&p.length!==0)return i.add(n),v(p).map(function(W){return A(W,{isEmbeddedInLabel:!0,isReferenced:!1,recursion:!0})}).filter(function(W){return W.length>0}).join(" ");if(H(n)&&n.type==="image"){var y=R(n,"alt");if(y!==null)return y;var E=R(n,"title");return E!==null?E:"Submit Query"}if(x(n,["button"])){var O=_(n,{isEmbeddedInLabel:!1,isReferenced:!1});if(O!=="")return O}return null}function A(n,f){if(i.has(n))return"";if(!q&&Me(n,P)&&!f.isReferenced)return i.add(n),"";var c=d(n)?n.getAttributeNode("aria-labelledby"):null,w=c!==null&&!i.has(c)?$(n,"aria-labelledby"):[];if(h==="name"&&!f.isReferenced&&w.length>0)return i.add(c),w.map(function(o){return A(o,{isEmbeddedInLabel:f.isEmbeddedInLabel,isReferenced:!0,recursion:!1})}).join(" ");var S=f.recursion&&Pe(n)&&h==="name";if(!S){var T=(d(n)&&n.getAttribute("aria-label")||"").trim();if(T!==""&&h==="name")return i.add(n),T;if(!je(n)){var N=J(n);if(N!==null)return i.add(n),N}}if(x(n,["menu"]))return i.add(n),"";if(S||f.isEmbeddedInLabel||f.isReferenced){if(x(n,["combobox","listbox"])){i.add(n);var r=_e(n);return r.length===0?H(n)?n.value:"":v(r).map(function(o){return A(o,{isEmbeddedInLabel:f.isEmbeddedInLabel,isReferenced:!1,recursion:!0})}).join(" ")}if(pe(n,"range"))return i.add(n),n.hasAttribute("aria-valuetext")?n.getAttribute("aria-valuetext"):n.hasAttribute("aria-valuenow")?n.getAttribute("aria-valuenow"):n.getAttribute("value")||"";if(x(n,["textbox"]))return i.add(n),De(n)}if(He(n)||d(n)&&f.isReferenced||ke(n)||$e(n)){var a=_(n,{isEmbeddedInLabel:f.isEmbeddedInLabel,isReferenced:!1});if(a!=="")return i.add(n),a}if(n.nodeType===n.TEXT_NODE)return i.add(n),n.textContent||"";if(f.recursion)return i.add(n),_(n,{isEmbeddedInLabel:f.isEmbeddedInLabel,isReferenced:!1});var l=B(n);return l!==null?(i.add(n),l):(i.add(n),"")}return Oe(A(e,{isEmbeddedInLabel:!1,isReferenced:h==="description",recursion:!1}))}function Be(e){return x(e,["caption","code","deletion","emphasis","generic","insertion","none","paragraph","presentation","strong","subscript","superscript"])}function K(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Be(e)?"":F(e,t)}window.__flAccName=e=>{try{return K(e).replace(/\s+/g," ").trim()}catch{return""}};window.__flCreateTargetIdentity=U;})();
|