@reticlehq/browser 3.5.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/action-report.d.ts +54 -0
- package/dist/actions/action-report.js +60 -0
- package/dist/actions/actions-dom.d.ts +1 -0
- package/dist/actions/actions-dom.js +56 -43
- package/dist/actions/actions-press.d.ts +11 -4
- package/dist/actions/actions-press.js +132 -17
- package/dist/actions/actions.d.ts +1 -35
- package/dist/actions/actions.js +32 -65
- package/dist/actions/appeared-text.js +3 -0
- package/dist/actions/danger-context.d.ts +2 -0
- package/dist/actions/danger-context.js +29 -3
- package/dist/actions/value-input.d.ts +1 -0
- package/dist/actions/value-input.js +11 -0
- package/dist/commands/commands.js +4 -0
- package/dist/connect-options.d.ts +1 -0
- package/dist/dom/a11y.js +264 -14
- package/dist/dom/addressing/coverage-markers.d.ts +6 -0
- package/dist/dom/addressing/coverage-markers.js +13 -0
- package/dist/dom/addressing/refs.js +2 -1
- package/dist/dom/addressing/testid-attr.d.ts +4 -0
- package/dist/dom/addressing/testid-attr.js +14 -0
- package/dist/dom/dom-ignore.d.ts +2 -0
- package/dist/dom/dom-ignore.js +15 -2
- package/dist/dom/query.d.ts +2 -1
- package/dist/dom/query.js +116 -27
- package/dist/dom/render-page.d.ts +12 -0
- package/dist/dom/render-page.js +135 -0
- package/dist/dom/snapshot.js +56 -7
- package/dist/observers/departure.js +51 -9
- package/dist/observers/dom.js +35 -18
- package/dist/observers/field.js +5 -21
- package/dist/observers/health.js +63 -2
- package/dist/observers/network-stream.d.ts +1 -1
- package/dist/observers/network-stream.js +3 -3
- package/dist/observers/network.js +57 -8
- package/dist/observers/perf.js +53 -1
- package/dist/observers/route.js +6 -5
- package/dist/observers/storage.js +6 -1
- package/dist/presenter/carousel/carousel.d.ts +5 -2
- package/dist/presenter/carousel/carousel.js +30 -8
- package/dist/presenter/carousel/panel-slides.d.ts +3 -4
- package/dist/presenter/carousel/panel-slides.js +48 -9
- package/dist/presenter/carousel/talk-card.d.ts +1 -1
- package/dist/presenter/chrome/log-kinds.d.ts +5 -0
- package/dist/presenter/chrome/log-kinds.js +1 -0
- package/dist/presenter/chrome/log-memory.d.ts +13 -0
- package/dist/presenter/chrome/log-memory.js +39 -0
- package/dist/presenter/chrome/presenter-hud-chrome.d.ts +1 -0
- package/dist/presenter/chrome/presenter-hud-chrome.js +7 -1
- package/dist/presenter/chrome/presenter-log.d.ts +12 -4
- package/dist/presenter/chrome/presenter-log.js +100 -10
- package/dist/presenter/chrome/presenter-morph.d.ts +1 -0
- package/dist/presenter/chrome/presenter-morph.js +34 -0
- package/dist/presenter/chrome/presenter-report-copy.d.ts +28 -5
- package/dist/presenter/chrome/presenter-report-copy.js +40 -5
- package/dist/presenter/hud-telemetry.js +83 -3
- package/dist/presenter/icons/presenter-heroicons-data.d.ts +1 -0
- package/dist/presenter/icons/presenter-heroicons-data.js +4 -3
- package/dist/presenter/icons/presenter-icons.d.ts +2 -0
- package/dist/presenter/icons/presenter-icons.js +2 -0
- package/dist/presenter/presenter-account-styles.js +3 -3
- package/dist/presenter/presenter-account.d.ts +31 -8
- package/dist/presenter/presenter-account.js +105 -15
- package/dist/presenter/presenter-agent-link.d.ts +9 -0
- package/dist/presenter/presenter-agent-link.js +62 -0
- package/dist/presenter/presenter-chat-views.d.ts +43 -0
- package/dist/presenter/presenter-chat-views.js +622 -0
- package/dist/presenter/presenter-config.d.ts +5 -2
- package/dist/presenter/presenter-config.js +5 -3
- package/dist/presenter/presenter-controls.d.ts +3 -2
- package/dist/presenter/presenter-controls.js +163 -61
- package/dist/presenter/presenter-design-tokens.d.ts +1 -0
- package/dist/presenter/presenter-design-tokens.js +34 -0
- package/dist/presenter/presenter-dock-layout.js +1 -1
- package/dist/presenter/presenter-frame.d.ts +12 -0
- package/dist/presenter/presenter-frame.js +187 -0
- package/dist/presenter/presenter-harness-row.d.ts +67 -0
- package/dist/presenter/presenter-harness-row.js +209 -0
- package/dist/presenter/presenter-personas.d.ts +35 -0
- package/dist/presenter/presenter-personas.js +95 -0
- package/dist/presenter/presenter-plan.d.ts +10 -0
- package/dist/presenter/presenter-plan.js +186 -0
- package/dist/presenter/presenter-report-styles.js +46 -21
- package/dist/presenter/presenter-report.d.ts +2 -1
- package/dist/presenter/presenter-report.js +123 -20
- package/dist/presenter/presenter-settings-styles.js +18 -4
- package/dist/presenter/presenter-settings.d.ts +8 -2
- package/dist/presenter/presenter-settings.js +134 -33
- package/dist/presenter/presenter-shell-styles.js +48 -42
- package/dist/presenter/presenter-shell.d.ts +17 -4
- package/dist/presenter/presenter-shell.js +139 -79
- package/dist/presenter/presenter-styles.js +9 -3
- package/dist/presenter/presenter-workspace.js +10 -3
- package/dist/presenter/presenter.d.ts +6 -4
- package/dist/presenter/presenter.js +171 -22
- package/dist/presenter/tour/tour.d.ts +4 -1
- package/dist/presenter/tour/tour.js +6 -4
- package/dist/recorder/recorder.js +2 -2
- package/dist/registry/auto-testids.js +3 -4
- package/dist/registry/declared-platform.js +4 -0
- package/dist/reticle-inject.js +938 -494
- package/dist/reticle.d.ts +10 -1
- package/dist/reticle.js +109 -11
- package/dist/review/annotator-styles.d.ts +1 -1
- package/dist/review/annotator.d.ts +7 -0
- package/dist/review/annotator.js +20 -2
- package/dist/review/mark-anchor.js +2 -2
- package/dist/session-continuity.js +2 -1
- package/dist/storage-keys.d.ts +15 -0
- package/dist/storage-keys.js +21 -0
- package/dist/transport/transport.js +5 -3
- package/dist/transport/unreachable-message.d.ts +1 -1
- package/dist/transport/unreachable-message.js +3 -5
- package/package.json +3 -2
- package/dist/presenter/carousel/offer-card.d.ts +0 -21
- package/dist/presenter/carousel/offer-card.js +0 -55
package/dist/reticle-inject.js
CHANGED
|
@@ -1,60 +1,61 @@
|
|
|
1
|
-
"use strict";var ReticleSdk=(()=>{var ip=Object.defineProperty;var Qv=Object.getOwnPropertyDescriptor;var Jv=Object.getOwnPropertyNames;var e0=Object.prototype.hasOwnProperty;var sg=t=>{throw TypeError(t)};var T=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Va=(t,e)=>{for(var n in e)ip(t,n,{get:e[n],enumerable:!0})},t0=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Jv(e))!e0.call(t,i)&&i!==n&&ip(t,i,{get:()=>e[i],enumerable:!(r=Qv(e,i))||r.enumerable});return t};var n0=t=>t0(ip({},"__esModule",{value:!0}),t);var sp=(t,e,n)=>e.has(t)||sg("Cannot "+n);var c=(t,e,n)=>(sp(t,e,"read from private field"),n?n.call(t):e.get(t)),m=(t,e,n)=>e.has(t)?sg("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),p=(t,e,n,r)=>(sp(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),h=(t,e,n)=>(sp(t,e,"access private method"),n);var ag=(t,e,n,r)=>({set _(i){p(t,e,i,n)},get _(){return c(t,e,r)}});function lg(t){ap=t}function dg(){return ap}function ug(t){cg=t.join(",")}function Le(t){return t.closest(qi)!==null}function Xi(t){return t!==null&&t.closest(qi)!==null}function hn(t){let n=[ap?"":qi,r0,cg].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Ul(t){for(let e of Array.from(t.querySelectorAll(o0)))if(e.closest(qi)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var qi,r0,cg,ap,o0,et=T(()=>{"use strict";qi="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",r0="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",cg="",ap=!1;o0='dialog[open], [aria-modal="true"]'});var pg=T(()=>{"use strict"});var J,cp,O,Dn,Ka=T(()=>{(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function n(i){throw new Error}t.assertNever=n,t.arrayToEnum=i=>{let s={};for(let a of i)s[a]=a;return s},t.getValidEnumValues=i=>{let s=t.objectKeys(i).filter(l=>typeof i[i[l]]!="number"),a={};for(let l of s)a[l]=i[l];return t.objectValues(a)},t.objectValues=i=>t.objectKeys(i).map(function(s){return i[s]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let s=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&s.push(a);return s},t.find=(i,s)=>{for(let a of i)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=r,t.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(J||(J={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(cp||(cp={}));O=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Dn=t=>{switch(typeof t){case"undefined":return O.undefined;case"string":return O.string;case"number":return Number.isNaN(t)?O.nan:O.number;case"boolean":return O.boolean;case"function":return O.function;case"bigint":return O.bigint;case"symbol":return O.symbol;case"object":return Array.isArray(t)?O.array:t===null?O.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?O.promise:typeof Map<"u"&&t instanceof Map?O.map:typeof Set<"u"&&t instanceof Set?O.set:typeof Date<"u"&&t instanceof Date?O.date:O.object;default:return O.unknown}}});var x,i0,vt,Hl=T(()=>{Ka();x=J.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),i0=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),vt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(s){return s.message},r={_errors:[]},i=s=>{for(let a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let l=r,d=0;for(;d<a.path.length;){let u=a.path[d];d===a.path.length-1?(l[u]=l[u]||{_errors:[]},l[u]._errors.push(n(a))):l[u]=l[u]||{_errors:[]},l=l[u],d++}}};return i(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let i of this.issues)if(i.path.length>0){let s=i.path[0];n[s]=n[s]||[],n[s].push(e(i))}else r.push(e(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};vt.create=t=>new vt(t)});var s0,ar,lp=T(()=>{Hl();Ka();s0=(t,e)=>{let n;switch(t.code){case x.invalid_type:t.received===O.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case x.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,J.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:n=`Unrecognized key(s) in object: ${J.joinValues(t.keys,", ")}`;break;case x.invalid_union:n="Invalid input";break;case x.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${J.joinValues(t.options)}`;break;case x.invalid_enum_value:n=`Invalid enum value. Expected ${J.joinValues(t.options)}, received '${t.received}'`;break;case x.invalid_arguments:n="Invalid function arguments";break;case x.invalid_return_type:n="Invalid function return type";break;case x.invalid_date:n="Invalid date";break;case x.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:J.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case x.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case x.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case x.custom:n="Invalid input";break;case x.invalid_intersection_types:n="Intersection results could not be merged";break;case x.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case x.not_finite:n="Number must be finite";break;default:n=e.defaultError,J.assertNever(t)}return{message:n}},ar=s0});function a0(t){fg=t}function Zi(){return fg}var fg,Fl=T(()=>{lp();fg=ar});function v(t,e){let n=Zi(),r=Wa({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===ar?void 0:ar].filter(i=>!!i)});t.common.issues.push(r)}var Wa,c0,ze,F,Io,tt,Bl,Gl,Wr,Qi,dp=T(()=>{Fl();lp();Wa=t=>{let{data:e,path:n,errorMaps:r,issueData:i}=t,s=[...n,...i.path||[]],a={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let l="",d=r.filter(u=>!!u).slice().reverse();for(let u of d)l=u(a,{data:e,defaultError:l}).message;return{...i,path:s,message:l}},c0=[];ze=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let i of n){if(i.status==="aborted")return F;i.status==="dirty"&&e.dirty(),r.push(i.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let i of n){let s=await i.key,a=await i.value;r.push({key:s,value:a})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let i of n){let{key:s,value:a}=i;if(s.status==="aborted"||a.status==="aborted")return F;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(r[s.value]=a.value)}return{status:e.value,value:r}}},F=Object.freeze({status:"aborted"}),Io=t=>({status:"dirty",value:t}),tt=t=>({status:"valid",value:t}),Bl=t=>t.status==="aborted",Gl=t=>t.status==="dirty",Wr=t=>t.status==="valid",Qi=t=>typeof Promise<"u"&&t instanceof Promise});var hg=T(()=>{});var M,mg=T(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(M||(M={}))});function K(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:i}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(a,l)=>{let{message:d}=t;return a.code==="invalid_enum_value"?{message:d??l.defaultError}:typeof l.data>"u"?{message:d??r??l.defaultError}:a.code!=="invalid_type"?{message:l.defaultError}:{message:d??n??l.defaultError}},description:i}}function Tg(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function R0(t){return new RegExp(`^${Tg(t)}$`)}function _g(t){let e=`${bg}T${Tg(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function v0(t,e){return!!((e==="v4"||!e)&&b0.test(t)||(e==="v6"||!e)&&_0.test(t))}function N0(t,e){if(!h0.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function O0(t,e){return!!((e==="v4"||!e)&&T0.test(t)||(e==="v6"||!e)&&S0.test(t))}function w0(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,i=n>r?n:r,s=Number.parseInt(t.toFixed(i).replace(".","")),a=Number.parseInt(e.toFixed(i).replace(".",""));return s%a/10**i}function Ji(t){if(t instanceof Nt){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=Yt.create(Ji(r))}return new Nt({...t._def,shape:()=>e})}else return t instanceof dr?new dr({...t._def,type:Ji(t.element)}):t instanceof Yt?Yt.create(Ji(t.unwrap())):t instanceof Pn?Pn.create(Ji(t.unwrap())):t instanceof Mn?Mn.create(t.items.map(e=>Ji(e))):t}function pp(t,e){let n=Dn(t),r=Dn(e);if(t===e)return{valid:!0,data:t};if(n===O.object&&r===O.object){let i=J.objectKeys(e),s=J.objectKeys(t).filter(l=>i.indexOf(l)!==-1),a={...t,...e};for(let l of s){let d=pp(t[l],e[l]);if(!d.valid)return{valid:!1};a[l]=d.data}return{valid:!0,data:a}}else if(n===O.array&&r===O.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let s=0;s<t.length;s++){let a=t[s],l=e[s],d=pp(a,l);if(!d.valid)return{valid:!1};i.push(d.data)}return{valid:!0,data:i}}else return n===O.date&&r===O.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function Sg(t,e){return new Go({values:t,typeName:B.ZodEnum,...K(e)})}function Eg(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function xg(t,e={},n){return t?Yr.create().superRefine((r,i)=>{let s=t(r);if(s instanceof Promise)return s.then(a=>{if(!a){let l=Eg(e,r),d=l.fatal??n??!0;i.addIssue({code:"custom",...l,fatal:d})}});if(!s){let a=Eg(e,r),l=a.fatal??n??!0;i.addIssue({code:"custom",...a,fatal:l})}}):Yr.create()}var qt,gg,q,l0,d0,u0,p0,f0,h0,m0,g0,E0,up,b0,T0,_0,S0,x0,A0,bg,y0,zr,Lo,ko,Do,Mo,es,Po,$o,Yr,lr,mn,ts,dr,Nt,Uo,cr,jl,Ho,Mn,Vl,ns,rs,Kl,Fo,Bo,Go,jo,qr,Xt,Yt,Pn,Vo,Ko,os,C0,za,Ya,Wo,I0,B,L0,Ag,yg,k0,D0,Rg,M0,P0,$0,U0,H0,F0,B0,G0,j0,V0,K0,W0,z0,Y0,q0,X0,Z0,Q0,J0,eN,tN,nN,rN,oN,iN,sN,aN,cN,lN,dN,uN,pN,fN,hN,vg=T(()=>{Hl();Fl();mg();dp();Ka();qt=class{constructor(e,n,r,i){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},gg=(t,e)=>{if(Wr(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new vt(t.common.issues);return this._error=n,this._error}}};q=class{get description(){return this._def.description}_getType(e){return Dn(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Dn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ze,ctx:{common:e.parent.common,data:e.data,parsedType:Dn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Qi(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dn(e)},i=this._parseSync({data:e,path:r.path,parent:r});return gg(r,i)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dn(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return Wr(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>Wr(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dn(e)},i=this._parse({data:e,path:r.path,parent:r}),s=await(Qi(i)?i:Promise.resolve(i));return gg(r,s)}refine(e,n){let r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{let a=e(i),l=()=>s.addIssue({code:x.custom,...r(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(d=>d?!0:(l(),!1)):a?!0:(l(),!1)})}refinement(e,n){return this._refinement((r,i)=>e(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(e){return new Xt({schema:this,typeName:B.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Yt.create(this,this._def)}nullable(){return Pn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return dr.create(this)}promise(){return qr.create(this,this._def)}or(e){return Uo.create([this,e],this._def)}and(e){return Ho.create(this,e,this._def)}transform(e){return new Xt({...K(this._def),schema:this,typeName:B.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new Vo({...K(this._def),innerType:this,defaultValue:n,typeName:B.ZodDefault})}brand(){return new za({typeName:B.ZodBranded,type:this,...K(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new Ko({...K(this._def),innerType:this,catchValue:n,typeName:B.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Ya.create(this,e)}readonly(){return Wo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},l0=/^c[^\s-]{8,}$/i,d0=/^[0-9a-z]+$/,u0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,p0=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,f0=/^[a-z0-9_-]{21}$/i,h0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,m0=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,g0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,E0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",b0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,T0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,_0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,S0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,x0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,A0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,bg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",y0=new RegExp(`^${bg}$`);zr=class t extends q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==O.string){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_type,expected:O.string,received:s.parsedType}),F}let r=new ze,i;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){let a=e.data.length>s.value,l=e.data.length<s.value;(a||l)&&(i=this._getOrReturnCtx(e,i),a?v(i,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):l&&v(i,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")g0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"email",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")up||(up=new RegExp(E0,"u")),up.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"emoji",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")p0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"uuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")f0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"nanoid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")l0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"cuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")d0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"cuid2",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")u0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"ulid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),v(i,{validation:"url",code:x.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"regex",code:x.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?_g(s).test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?y0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?R0(s).test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?m0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"duration",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?v0(e.data,s.version)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"ip",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?N0(e.data,s.alg)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"jwt",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?O0(e.data,s.version)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"cidr",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?x0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"base64",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?A0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"base64url",code:x.invalid_string,message:s.message}),r.dirty()):J.assertNever(s);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(i=>e.test(i),{validation:n,code:x.invalid_string,...M.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...M.errToObj(e)})}url(e){return this._addCheck({kind:"url",...M.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...M.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...M.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...M.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...M.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...M.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...M.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...M.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...M.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...M.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...M.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...M.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...M.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...M.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...M.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...M.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...M.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...M.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...M.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...M.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...M.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...M.errToObj(n)})}nonempty(e){return this.min(1,M.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};zr.create=t=>new zr({checks:[],typeName:B.ZodString,coerce:t?.coerce??!1,...K(t)});Lo=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==O.number){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_type,expected:O.number,received:s.parsedType}),F}let r,i=new ze;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),v(r,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?w0(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),v(r,{code:x.not_finite,message:s.message}),i.dirty()):J.assertNever(s);return{status:i.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,M.toString(n))}gt(e,n){return this.setLimit("min",e,!1,M.toString(n))}lte(e,n){return this.setLimit("max",e,!0,M.toString(n))}lt(e,n){return this.setLimit("max",e,!1,M.toString(n))}setLimit(e,n,r,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:M.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:M.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:M.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:M.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:M.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:M.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:M.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:M.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:M.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:M.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Lo.create=t=>new Lo({checks:[],typeName:B.ZodNumber,coerce:t?.coerce||!1,...K(t)});ko=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==O.bigint)return this._getInvalidInput(e);let r,i=new ze;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):J.assertNever(s);return{status:i.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return v(n,{code:x.invalid_type,expected:O.bigint,received:n.parsedType}),F}gte(e,n){return this.setLimit("min",e,!0,M.toString(n))}gt(e,n){return this.setLimit("min",e,!1,M.toString(n))}lte(e,n){return this.setLimit("max",e,!0,M.toString(n))}lt(e,n){return this.setLimit("max",e,!1,M.toString(n))}setLimit(e,n,r,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:M.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:M.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:M.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:M.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:M.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:M.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ko.create=t=>new ko({checks:[],typeName:B.ZodBigInt,coerce:t?.coerce??!1,...K(t)});Do=class extends q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==O.boolean){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.boolean,received:r.parsedType}),F}return tt(e.data)}};Do.create=t=>new Do({typeName:B.ZodBoolean,coerce:t?.coerce||!1,...K(t)});Mo=class t extends q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==O.date){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_type,expected:O.date,received:s.parsedType}),F}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_date}),F}let r=new ze,i;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):J.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:M.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:M.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Mo.create=t=>new Mo({checks:[],coerce:t?.coerce||!1,typeName:B.ZodDate,...K(t)});es=class extends q{_parse(e){if(this._getType(e)!==O.symbol){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.symbol,received:r.parsedType}),F}return tt(e.data)}};es.create=t=>new es({typeName:B.ZodSymbol,...K(t)});Po=class extends q{_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.undefined,received:r.parsedType}),F}return tt(e.data)}};Po.create=t=>new Po({typeName:B.ZodUndefined,...K(t)});$o=class extends q{_parse(e){if(this._getType(e)!==O.null){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.null,received:r.parsedType}),F}return tt(e.data)}};$o.create=t=>new $o({typeName:B.ZodNull,...K(t)});Yr=class extends q{constructor(){super(...arguments),this._any=!0}_parse(e){return tt(e.data)}};Yr.create=t=>new Yr({typeName:B.ZodAny,...K(t)});lr=class extends q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return tt(e.data)}};lr.create=t=>new lr({typeName:B.ZodUnknown,...K(t)});mn=class extends q{_parse(e){let n=this._getOrReturnCtx(e);return v(n,{code:x.invalid_type,expected:O.never,received:n.parsedType}),F}};mn.create=t=>new mn({typeName:B.ZodNever,...K(t)});ts=class extends q{_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.void,received:r.parsedType}),F}return tt(e.data)}};ts.create=t=>new ts({typeName:B.ZodVoid,...K(t)});dr=class t extends q{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),i=this._def;if(n.parsedType!==O.array)return v(n,{code:x.invalid_type,expected:O.array,received:n.parsedType}),F;if(i.exactLength!==null){let a=n.data.length>i.exactLength.value,l=n.data.length<i.exactLength.value;(a||l)&&(v(n,{code:a?x.too_big:x.too_small,minimum:l?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(v(n,{code:x.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(v(n,{code:x.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,l)=>i.type._parseAsync(new qt(n,a,n.path,l)))).then(a=>ze.mergeArray(r,a));let s=[...n.data].map((a,l)=>i.type._parseSync(new qt(n,a,n.path,l)));return ze.mergeArray(r,s)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:M.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:M.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:M.toString(n)}})}nonempty(e){return this.min(1,e)}};dr.create=(t,e)=>new dr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:B.ZodArray,...K(e)});Nt=class t extends q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=J.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==O.object){let u=this._getOrReturnCtx(e);return v(u,{code:x.invalid_type,expected:O.object,received:u.parsedType}),F}let{status:r,ctx:i}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),l=[];if(!(this._def.catchall instanceof mn&&this._def.unknownKeys==="strip"))for(let u in i.data)a.includes(u)||l.push(u);let d=[];for(let u of a){let f=s[u],g=i.data[u];d.push({key:{status:"valid",value:u},value:f._parse(new qt(i,g,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof mn){let u=this._def.unknownKeys;if(u==="passthrough")for(let f of l)d.push({key:{status:"valid",value:f},value:{status:"valid",value:i.data[f]}});else if(u==="strict")l.length>0&&(v(i,{code:x.unrecognized_keys,keys:l}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let f of l){let g=i.data[f];d.push({key:{status:"valid",value:f},value:u._parse(new qt(i,g,i.path,f)),alwaysSet:f in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let f of d){let g=await f.key,E=await f.value;u.push({key:g,value:E,alwaysSet:f.alwaysSet})}return u}).then(u=>ze.mergeObjectSync(r,u)):ze.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return M.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let i=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:M.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:B.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of J.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of J.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return Ji(this)}partial(e){let n={};for(let r of J.objectKeys(this.shape)){let i=this.shape[r];e&&!e[r]?n[r]=i:n[r]=i.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of J.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Yt;)s=s._def.innerType;n[r]=s}return new t({...this._def,shape:()=>n})}keyof(){return Sg(J.objectKeys(this.shape))}};Nt.create=(t,e)=>new Nt({shape:()=>t,unknownKeys:"strip",catchall:mn.create(),typeName:B.ZodObject,...K(e)});Nt.strictCreate=(t,e)=>new Nt({shape:()=>t,unknownKeys:"strict",catchall:mn.create(),typeName:B.ZodObject,...K(e)});Nt.lazycreate=(t,e)=>new Nt({shape:t,unknownKeys:"strip",catchall:mn.create(),typeName:B.ZodObject,...K(e)});Uo=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function i(s){for(let l of s)if(l.result.status==="valid")return l.result;for(let l of s)if(l.result.status==="dirty")return n.common.issues.push(...l.ctx.common.issues),l.result;let a=s.map(l=>new vt(l.ctx.common.issues));return v(n,{code:x.invalid_union,unionErrors:a}),F}if(n.common.async)return Promise.all(r.map(async s=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(i);{let s,a=[];for(let d of r){let u={...n,common:{...n.common,issues:[]},parent:null},f=d._parseSync({data:n.data,path:n.path,parent:u});if(f.status==="valid")return f;f.status==="dirty"&&!s&&(s={result:f,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;let l=a.map(d=>new vt(d));return v(n,{code:x.invalid_union,unionErrors:l}),F}}get options(){return this._def.options}};Uo.create=(t,e)=>new Uo({options:t,typeName:B.ZodUnion,...K(e)});cr=t=>t instanceof Fo?cr(t.schema):t instanceof Xt?cr(t.innerType()):t instanceof Bo?[t.value]:t instanceof Go?t.options:t instanceof jo?J.objectValues(t.enum):t instanceof Vo?cr(t._def.innerType):t instanceof Po?[void 0]:t instanceof $o?[null]:t instanceof Yt?[void 0,...cr(t.unwrap())]:t instanceof Pn?[null,...cr(t.unwrap())]:t instanceof za||t instanceof Wo?cr(t.unwrap()):t instanceof Ko?cr(t._def.innerType):[],jl=class t extends q{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.object)return v(n,{code:x.invalid_type,expected:O.object,received:n.parsedType}),F;let r=this.discriminator,i=n.data[r],s=this.optionsMap.get(i);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(v(n,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),F)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let i=new Map;for(let s of n){let a=cr(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let l of a){if(i.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);i.set(l,s)}}return new t({typeName:B.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:i,...K(r)})}};Ho=class extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=(s,a)=>{if(Bl(s)||Bl(a))return F;let l=pp(s.value,a.value);return l.valid?((Gl(s)||Gl(a))&&n.dirty(),{status:n.value,value:l.data}):(v(r,{code:x.invalid_intersection_types}),F)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,a])=>i(s,a)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Ho.create=(t,e,n)=>new Ho({left:t,right:e,typeName:B.ZodIntersection,...K(n)});Mn=class t extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.array)return v(r,{code:x.invalid_type,expected:O.array,received:r.parsedType}),F;if(r.data.length<this._def.items.length)return v(r,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F;!this._def.rest&&r.data.length>this._def.items.length&&(v(r,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,l)=>{let d=this._def.items[l]||this._def.rest;return d?d._parse(new qt(r,a,r.path,l)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>ze.mergeArray(n,a)):ze.mergeArray(n,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Mn.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Mn({items:t,typeName:B.ZodTuple,rest:null,...K(e)})};Vl=class t extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.object)return v(r,{code:x.invalid_type,expected:O.object,received:r.parsedType}),F;let i=[],s=this._def.keyType,a=this._def.valueType;for(let l in r.data)i.push({key:s._parse(new qt(r,l,r.path,l)),value:a._parse(new qt(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?ze.mergeObjectAsync(n,i):ze.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof q?new t({keyType:e,valueType:n,typeName:B.ZodRecord,...K(r)}):new t({keyType:zr.create(),valueType:e,typeName:B.ZodRecord,...K(n)})}},ns=class extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.map)return v(r,{code:x.invalid_type,expected:O.map,received:r.parsedType}),F;let i=this._def.keyType,s=this._def.valueType,a=[...r.data.entries()].map(([l,d],u)=>({key:i._parse(new qt(r,l,r.path,[u,"key"])),value:s._parse(new qt(r,d,r.path,[u,"value"]))}));if(r.common.async){let l=new Map;return Promise.resolve().then(async()=>{for(let d of a){let u=await d.key,f=await d.value;if(u.status==="aborted"||f.status==="aborted")return F;(u.status==="dirty"||f.status==="dirty")&&n.dirty(),l.set(u.value,f.value)}return{status:n.value,value:l}})}else{let l=new Map;for(let d of a){let u=d.key,f=d.value;if(u.status==="aborted"||f.status==="aborted")return F;(u.status==="dirty"||f.status==="dirty")&&n.dirty(),l.set(u.value,f.value)}return{status:n.value,value:l}}}};ns.create=(t,e,n)=>new ns({valueType:e,keyType:t,typeName:B.ZodMap,...K(n)});rs=class t extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.set)return v(r,{code:x.invalid_type,expected:O.set,received:r.parsedType}),F;let i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(v(r,{code:x.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(v(r,{code:x.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());let s=this._def.valueType;function a(d){let u=new Set;for(let f of d){if(f.status==="aborted")return F;f.status==="dirty"&&n.dirty(),u.add(f.value)}return{status:n.value,value:u}}let l=[...r.data.values()].map((d,u)=>s._parse(new qt(r,d,r.path,u)));return r.common.async?Promise.all(l).then(d=>a(d)):a(l)}min(e,n){return new t({...this._def,minSize:{value:e,message:M.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:M.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};rs.create=(t,e)=>new rs({valueType:t,minSize:null,maxSize:null,typeName:B.ZodSet,...K(e)});Kl=class t extends q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.function)return v(n,{code:x.invalid_type,expected:O.function,received:n.parsedType}),F;function r(l,d){return Wa({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Zi(),ar].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:d}})}function i(l,d){return Wa({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Zi(),ar].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:d}})}let s={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof qr){let l=this;return tt(async function(...d){let u=new vt([]),f=await l._def.args.parseAsync(d,s).catch(_=>{throw u.addIssue(r(d,_)),u}),g=await Reflect.apply(a,this,f);return await l._def.returns._def.type.parseAsync(g,s).catch(_=>{throw u.addIssue(i(g,_)),u})})}else{let l=this;return tt(function(...d){let u=l._def.args.safeParse(d,s);if(!u.success)throw new vt([r(d,u.error)]);let f=Reflect.apply(a,this,u.data),g=l._def.returns.safeParse(f,s);if(!g.success)throw new vt([i(f,g.error)]);return g.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Mn.create(e).rest(lr.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||Mn.create([]).rest(lr.create()),returns:n||lr.create(),typeName:B.ZodFunction,...K(r)})}},Fo=class extends q{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Fo.create=(t,e)=>new Fo({getter:t,typeName:B.ZodLazy,...K(e)});Bo=class extends q{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return v(n,{received:n.data,code:x.invalid_literal,expected:this._def.value}),F}return{status:"valid",value:e.data}}get value(){return this._def.value}};Bo.create=(t,e)=>new Bo({value:t,typeName:B.ZodLiteral,...K(e)});Go=class t extends q{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return v(n,{expected:J.joinValues(r),received:n.parsedType,code:x.invalid_type}),F}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return v(n,{received:n.data,code:x.invalid_enum_value,options:r}),F}return tt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Go.create=Sg;jo=class extends q{_parse(e){let n=J.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==O.string&&r.parsedType!==O.number){let i=J.objectValues(n);return v(r,{expected:J.joinValues(i),received:r.parsedType,code:x.invalid_type}),F}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=J.objectValues(n);return v(r,{received:r.data,code:x.invalid_enum_value,options:i}),F}return tt(e.data)}get enum(){return this._def.values}};jo.create=(t,e)=>new jo({values:t,typeName:B.ZodNativeEnum,...K(e)});qr=class extends q{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.promise&&n.common.async===!1)return v(n,{code:x.invalid_type,expected:O.promise,received:n.parsedType}),F;let r=n.parsedType===O.promise?n.data:Promise.resolve(n.data);return tt(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}};qr.create=(t,e)=>new qr({type:t,typeName:B.ZodPromise,...K(e)});Xt=class extends q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===B.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:a=>{v(r,a),a.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){let a=i.transform(r.data,s);if(r.common.async)return Promise.resolve(a).then(async l=>{if(n.value==="aborted")return F;let d=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return d.status==="aborted"?F:d.status==="dirty"?Io(d.value):n.value==="dirty"?Io(d.value):d});{if(n.value==="aborted")return F;let l=this._def.schema._parseSync({data:a,path:r.path,parent:r});return l.status==="aborted"?F:l.status==="dirty"?Io(l.value):n.value==="dirty"?Io(l.value):l}}if(i.type==="refinement"){let a=l=>{let d=i.refinement(l,s);if(r.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){let l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?F:(l.status==="dirty"&&n.dirty(),a(l.value),{status:n.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?F:(l.status==="dirty"&&n.dirty(),a(l.value).then(()=>({status:n.value,value:l.value}))))}if(i.type==="transform")if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Wr(a))return F;let l=i.transform(a.value,s);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>Wr(a)?Promise.resolve(i.transform(a.value,s)).then(l=>({status:n.value,value:l})):F);J.assertNever(i)}};Xt.create=(t,e,n)=>new Xt({schema:t,typeName:B.ZodEffects,effect:e,...K(n)});Xt.createWithPreprocess=(t,e,n)=>new Xt({schema:e,effect:{type:"preprocess",transform:t},typeName:B.ZodEffects,...K(n)});Yt=class extends q{_parse(e){return this._getType(e)===O.undefined?tt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Yt.create=(t,e)=>new Yt({innerType:t,typeName:B.ZodOptional,...K(e)});Pn=class extends q{_parse(e){return this._getType(e)===O.null?tt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Pn.create=(t,e)=>new Pn({innerType:t,typeName:B.ZodNullable,...K(e)});Vo=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===O.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Vo.create=(t,e)=>new Vo({innerType:t,typeName:B.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...K(e)});Ko=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Qi(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new vt(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new vt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ko.create=(t,e)=>new Ko({innerType:t,typeName:B.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...K(e)});os=class extends q{_parse(e){if(this._getType(e)!==O.nan){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.nan,received:r.parsedType}),F}return{status:"valid",value:e.data}}};os.create=t=>new os({typeName:B.ZodNaN,...K(t)});C0=Symbol("zod_brand"),za=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Ya=class t extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?F:s.status==="dirty"?(n.dirty(),Io(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?F:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:B.ZodPipeline})}},Wo=class extends q{_parse(e){let n=this._def.innerType._parse(e),r=i=>(Wr(i)&&(i.value=Object.freeze(i.value)),i);return Qi(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}};Wo.create=(t,e)=>new Wo({innerType:t,typeName:B.ZodReadonly,...K(e)});I0={object:Nt.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(B||(B={}));L0=(t,e={message:`Input not instance of ${t.name}`})=>xg(n=>n instanceof t,e),Ag=zr.create,yg=Lo.create,k0=os.create,D0=ko.create,Rg=Do.create,M0=Mo.create,P0=es.create,$0=Po.create,U0=$o.create,H0=Yr.create,F0=lr.create,B0=mn.create,G0=ts.create,j0=dr.create,V0=Nt.create,K0=Nt.strictCreate,W0=Uo.create,z0=jl.create,Y0=Ho.create,q0=Mn.create,X0=Vl.create,Z0=ns.create,Q0=rs.create,J0=Kl.create,eN=Fo.create,tN=Bo.create,nN=Go.create,rN=jo.create,oN=qr.create,iN=Xt.create,sN=Yt.create,aN=Pn.create,cN=Xt.createWithPreprocess,lN=Ya.create,dN=()=>Ag().optional(),uN=()=>yg().optional(),pN=()=>Rg().optional(),fN={string:(t=>zr.create({...t,coerce:!0})),number:(t=>Lo.create({...t,coerce:!0})),boolean:(t=>Do.create({...t,coerce:!0})),bigint:(t=>ko.create({...t,coerce:!0})),date:(t=>Mo.create({...t,coerce:!0}))},hN=F});var o={};Va(o,{BRAND:()=>C0,DIRTY:()=>Io,EMPTY_PATH:()=>c0,INVALID:()=>F,NEVER:()=>hN,OK:()=>tt,ParseStatus:()=>ze,Schema:()=>q,ZodAny:()=>Yr,ZodArray:()=>dr,ZodBigInt:()=>ko,ZodBoolean:()=>Do,ZodBranded:()=>za,ZodCatch:()=>Ko,ZodDate:()=>Mo,ZodDefault:()=>Vo,ZodDiscriminatedUnion:()=>jl,ZodEffects:()=>Xt,ZodEnum:()=>Go,ZodError:()=>vt,ZodFirstPartyTypeKind:()=>B,ZodFunction:()=>Kl,ZodIntersection:()=>Ho,ZodIssueCode:()=>x,ZodLazy:()=>Fo,ZodLiteral:()=>Bo,ZodMap:()=>ns,ZodNaN:()=>os,ZodNativeEnum:()=>jo,ZodNever:()=>mn,ZodNull:()=>$o,ZodNullable:()=>Pn,ZodNumber:()=>Lo,ZodObject:()=>Nt,ZodOptional:()=>Yt,ZodParsedType:()=>O,ZodPipeline:()=>Ya,ZodPromise:()=>qr,ZodReadonly:()=>Wo,ZodRecord:()=>Vl,ZodSchema:()=>q,ZodSet:()=>rs,ZodString:()=>zr,ZodSymbol:()=>es,ZodTransformer:()=>Xt,ZodTuple:()=>Mn,ZodType:()=>q,ZodUndefined:()=>Po,ZodUnion:()=>Uo,ZodUnknown:()=>lr,ZodVoid:()=>ts,addIssueToContext:()=>v,any:()=>H0,array:()=>j0,bigint:()=>D0,boolean:()=>Rg,coerce:()=>fN,custom:()=>xg,date:()=>M0,datetimeRegex:()=>_g,defaultErrorMap:()=>ar,discriminatedUnion:()=>z0,effect:()=>iN,enum:()=>nN,function:()=>J0,getErrorMap:()=>Zi,getParsedType:()=>Dn,instanceof:()=>L0,intersection:()=>Y0,isAborted:()=>Bl,isAsync:()=>Qi,isDirty:()=>Gl,isValid:()=>Wr,late:()=>I0,lazy:()=>eN,literal:()=>tN,makeIssue:()=>Wa,map:()=>Z0,nan:()=>k0,nativeEnum:()=>rN,never:()=>B0,null:()=>U0,nullable:()=>aN,number:()=>yg,object:()=>V0,objectUtil:()=>cp,oboolean:()=>pN,onumber:()=>uN,optional:()=>sN,ostring:()=>dN,pipeline:()=>lN,preprocess:()=>cN,promise:()=>oN,quotelessJson:()=>i0,record:()=>X0,set:()=>Q0,setErrorMap:()=>a0,strictObject:()=>K0,string:()=>Ag,symbol:()=>P0,transformer:()=>iN,tuple:()=>q0,undefined:()=>$0,union:()=>W0,unknown:()=>F0,util:()=>J,void:()=>G0});var fp=T(()=>{Fl();dp();hg();Ka();vg();Hl()});var ne=T(()=>{fp();fp()});var is,hp=T(()=>{"use strict";is={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var Wl,mp,y,Z5,mN,Q5,ur=T(()=>{"use strict";Wl={SIGNAL:"signal",NET:"net",STATE:"state"},mp={ELEMENT:"element",TEXT:"text"},y={ELEMENT:mp.ELEMENT,TEXT:mp.TEXT,SIGNAL:Wl.SIGNAL,NET:Wl.NET,STATE:Wl.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},Z5=new Set(Object.values(Wl)),mN=new Set(Object.values(mp)),Q5=new Set([...mN,y.ROUTE])});var Ng,Og,wg,gp,gN,Cg,Zt,Ig,Ae,ut,zl,qa=T(()=>{"use strict";Ng=1,Og={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},wg={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},gp=2,gN=3,Cg=new Set([1,gp,gN]),Zt={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},Ig="unresolved",Ae={ASSERT_SIGNAL:"assert-signal",ASSERT_VISIBLE:"assert-visible",ASSERT_STATE:"assert-state",ASSERT_NET:"assert-net",MARK_DYNAMIC:"mark-dynamic",SUCCESS_STATE:"success-state",INTENT:"intent"},ut={IDLE:"idle",RECORDING:"recording",ANNOTATING:"annotating"},zl={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var Lg,Ep=T(()=>{"use strict";Lg={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var b,kg=T(()=>{"use strict";b={DOM_ADDED:"dom.added",DOM_REMOVED:"dom.removed",DOM_ATTR:"dom.attr",DOM_TEXT:"dom.text",NET_REQUEST:"net.request",NET_PENDING:"net.pending",NET_STREAM:"net.stream",PERF:"perf",ROUTE_CHANGE:"route.change",CONSOLE_LOG:"console.log",CONSOLE_WARN:"console.warn",CONSOLE_ERROR:"console.error",CONSOLE_INFO:"console.info",CONSOLE_DEBUG:"console.debug",ERROR_UNCAUGHT:"error.uncaught",VISIBLE_SHOWN:"visible.shown",ANIM_START:"anim.start",ANIM_END:"anim.end",SCROLL_POSITION:"scroll.position",REVEAL_SHOWN:"reveal.shown",SIGNAL:"signal",STATE_CHANGE:"state.change",STORAGE_CHANGE:"storage.change",PAGE_HEALTH:"page.health",CONTEXT_OPENED:"context.opened",DIALOG_OPENED:"dialog.opened",RENDER_COMMIT:"render.commit",FOCUS_CHANGE:"focus.change",FIELD_CHANGE:"field.change",FLOW_RECORDED:"flow.recorded",TRANSPORT_OVERFLOW:"transport.overflow",TRUNCATED:"truncated",BLIND_SPOT:"blind-spot",SDK_FAILED:"sdk.failed",NET_DETAIL:"net.detail",HUMAN_CONTROL:"human.control",HUMAN_MARK:"human.mark",DOWNLOAD:"download",HUD_USED:"hud.used"}});function Mg(t=bp,e=EN){return`ws://${e}:${String(t)}${Yl}`}var bp,Yl,ql,Dg,EN,pr,r2,H,ye,Xl,Pg,ss,o2,$g,s2,Zl,Ql,Ug,as,Jl,bN,a2,R,Hg,Fg,re,pt,C,Me,cs,ft,Ot=T(()=>{"use strict";kg();bp=4400,Yl="/reticle",ql=1,Dg=1,EN="localhost";pr={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened"},r2={MAX_RUNS:50,MAX_BYTES:4*1024*1024},H={MAX_MESSAGE_BYTES:1024*1024,MAX_MESSAGES_PER_SECOND:2e4,MAX_SESSIONS:32,MAX_PENDING_CONNECTIONS:16,HELLO_TIMEOUT_MS:5e3,MAX_BUFFER_BYTES:8*1024*1024,MAX_SESSION_ID_LENGTH:128,MAX_URL_LENGTH:4096,MAX_TITLE_LENGTH:512,MAX_ADAPTERS:32,MAX_CONTRACT_NAMES:128,MAX_ADAPTER_NAME_LENGTH:128,MAX_TOKEN_LENGTH:512,MAX_COMMAND_ID_LENGTH:128,MAX_COMMAND_NAME_LENGTH:128,MAX_REF_LENGTH:128,MAX_ERROR_LENGTH:4096,MAX_STACK_LENGTH:4e3,MAX_SERIALIZE_DEPTH:8,MAX_COLLECTION_ITEMS:200,MAX_OBJECT_KEYS:200,MAX_STRING_LENGTH:64*1024,MAX_MARK_NOTE_LENGTH:2e3,MAX_MARK_LABEL_LENGTH:256},ye="[REDACTED]",Xl="confirmDangerous",Pg="native",ss={NO_PROVIDER:"no-visual-provider",CAPTURE_FAILED:"capture-failed",BASELINE_MISSING:"baseline-missing",DIMENSION_MISMATCH:"dimension-mismatch",FULL_PAGE_UNSUPPORTED:"full-page-unsupported",NOT_COMPOSITED:"window-not-composited"},o2=1440*60*1e3,$g=1,s2={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:H.MAX_BUFFER_BYTES},Zl="__reticle_renders",Ql={DOM:"dom",JOURNAL:"journal"},Ug={WINDOW:"window"},as={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},Jl={HOVER_NATIVE_ENTER_LEAVE:"target has enter/leave handlers; synthetic hover may not trigger them \u2014 expect no state change",REAL_INPUT_FELL_BACK:"real-input provider was available but failed; fell back to synthetic dispatch",CLICK_OCCLUDED:"target is visually occluded by another element; a real user could not click it (synthetic dispatch still delivered the event) \u2014 dismiss the overlay or scroll the target clear",GLOBAL_PRESS:"press landed on the focused element or document \u2014 no named target was given, so this effect does not claim one"},bN="console.",a2=[b.CONSOLE_LOG,b.CONSOLE_WARN,b.CONSOLE_ERROR,b.CONSOLE_INFO].map(t=>t.slice(bN.length)),R={CLICK:"click",DBLCLICK:"dblclick",HOVER:"hover",FOCUS:"focus",BLUR:"blur",FILL:"fill",TYPE:"type",CLEAR:"clear",SELECT:"select",CHECK:"check",UNCHECK:"uncheck",SUBMIT:"submit",PRESS:"press",UPLOAD:"upload",SCROLL_INTO_VIEW:"scrollIntoView",SCROLL:"scroll",DRAG:"drag",TAP:"tap",ZOOM:"zoom"},Hg={TIMEOUT:"timeout",THROTTLED:"throttled"},Fg={UNAVAILABLE:"component-state-unavailable"},re={VISIBLE:"visible",HIDDEN:"hidden",ENABLED:"enabled",DISABLED:"disabled",CHECKED:"checked",EXPANDED:"expanded",PRESSED:"pressed",FOCUSED:"focused",PRESENT:"present",IN_VIEWPORT:"inViewport"},pt={ROLE:"role",TEXT:"text",LABEL:"label",PLACEHOLDER:"placeholder",TESTID:"testid",ALT:"alt",COMPONENT:"component"},C={SNAPSHOT:"snapshot",QUERY:"query",MATCH:"match",INSPECT:"inspect",ACT:"act",ACT_SEQUENCE:"act_sequence",ANIMATIONS:"animations",NARRATE:"narrate",CLOCK:"clock",CAPABILITIES:"capabilities",STATE_READ:"state_read",STORAGE_READ:"storage_read",SCROLL:"scroll",SESSION_CONFIG:"session_config",PRESENTER:"presenter",IMPACT:"impact",CAPTURE:"capture",NAVIGATE:"navigate",REFRESH:"refresh",FLOWS:"flows"},Me={IDLE:"idle",READING:"reading",ACTING:"acting"},cs={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},ft={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var Qt,TN,Jt,d2,zo=T(()=>{"use strict";ne();Qt={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},TN=o.union([o.nativeEnum(Qt),o.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),Jt=o.object({surface:TN,instance:o.string().min(1),epoch:o.number().int().nonnegative().optional(),locator:o.string().optional(),revision:o.string().optional()}),d2=o.object({kind:o.enum(["instance","epoch"]),from:o.string(),to:o.string()})});var A,kt,wt,ht,Tp,_p,gn=T(()=>{"use strict";ne();A={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},kt=o.union([o.nativeEnum(A),o.string().regex(/^x-[a-z0-9-]+$/,"a channel this specification does not name must start with x-")]),wt={INDEPENDENT:"independent",ACTUATION_DERIVED:"actuation-derived"},ht={CONSEQUENCE:"consequence",PRESENCE:"presence",CONTEXT:"context"},Tp=o.object({id:kt,independence:o.nativeEnum(wt),grade:o.nativeEnum(ht),note:o.string().optional()}),_p={[A.UI]:{independence:wt.ACTUATION_DERIVED,grade:ht.PRESENCE},[A.NET]:{independence:wt.INDEPENDENT,grade:ht.CONSEQUENCE},[A.STATE]:{independence:wt.ACTUATION_DERIVED,grade:ht.CONSEQUENCE},[A.SIGNAL]:{independence:wt.ACTUATION_DERIVED,grade:ht.CONSEQUENCE},[A.LOG]:{independence:wt.INDEPENDENT,grade:ht.CONTEXT},[A.ROUTE]:{independence:wt.ACTUATION_DERIVED,grade:ht.PRESENCE},[A.STORAGE]:{independence:wt.ACTUATION_DERIVED,grade:ht.CONSEQUENCE},[A.TIME]:{independence:wt.INDEPENDENT,grade:ht.CONTEXT},[A.VISUAL]:{independence:wt.ACTUATION_DERIVED,grade:ht.PRESENCE}}});var Bg=T(()=>{"use strict"});var E2,Gg=T(()=>{"use strict";ne();zo();E2=o.object({id:o.string().min(1),subject:Jt,capturedAt:o.number().int(),payload:o.unknown().optional()})});var _2,jg=T(()=>{"use strict";ne();_2=o.object({mutation:o.string().min(1)})});var _N,Sp,SN,xN,Vg,Kg,xp,Wg,zg,Xa=T(()=>{"use strict";ne();gn();_N={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},Sp={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},SN=o.object({id:o.string().min(1),statement:o.string().min(1),origin:o.nativeEnum(_N),claims:o.array(o.string()).default([]),declaredAt:o.number().int().optional()}),xN=o.discriminatedUnion("status",[o.object({status:o.literal(Sp.ABANDONED),abandonedBecause:o.string().trim().min(1)}),o.object({status:o.literal(Sp.DECLARED),abandonedBecause:o.undefined().optional()}),o.object({status:o.literal(Sp.BOUND),abandonedBecause:o.undefined().optional()})]),Vg=SN.and(xN),Kg={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},xp=o.object({id:o.string().min(1),predicate:o.unknown(),reads:o.string().min(1),channels:o.array(kt).min(1)}),Wg=o.object({id:o.string().min(1),intent:o.string().optional(),statement:o.string().min(1),declaredAt:o.nativeEnum(Kg),assertions:o.array(xp).default([])}),zg=o.object({id:o.string().min(1),statement:o.string().min(1),predicate:o.unknown(),channels:o.array(kt).min(1),severity:o.enum(["blocking","advisory"]).default("blocking")})});var AN,ls,O2,Ap,Yg,qg,yN,Xg,Xr=T(()=>{"use strict";ne();gn();zo();AN=o.object({id:o.string().min(1),window:o.string().min(1),channel:kt,at:o.number().int(),value:o.unknown(),summary:o.string().min(1)}),ls={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},O2={[ls.LEARNED]:0,[ls.OBSERVED]:1,[ls.DERIVED]:2,[ls.AUTHORITATIVE]:3},Ap=o.object({class:o.nativeEnum(ls),source:o.string().min(1),method:o.string().min(1),subject:Jt,at:o.number().int(),confidence:o.number().min(0).max(1).optional()}),Yg=o.object({observation:AN,provenance:Ap,independence:o.nativeEnum(wt),grade:o.nativeEnum(ht)}),qg={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},yN=o.object({kind:o.nativeEnum(qg),channel:kt.optional(),detail:o.string().min(1),impeaching:o.boolean(),remedy:o.string().optional()}),Xg=o.object({window:o.string().min(1),observed:o.array(kt),blindSpots:o.array(yN)})});var vN,NN,ed,ON,td,yp,k2,Zg=T(()=>{"use strict";ne();gn();Xr();vN=o.object({channel:kt}),NN=o.union([o.object({summary:o.string().min(1),valueContains:o.string().min(1)}),o.object({summary:o.string().min(1).optional(),valueContains:o.undefined().optional()})]),ed=vN.and(NN),ON={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},td={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},yp={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},k2=o.discriminatedUnion("kind",[o.object({kind:o.literal(td.COUNT),match:ed,op:o.nativeEnum(ON),value:o.number().int().nonnegative()}),o.object({kind:o.literal(td.PRESENT),match:ed}),o.object({kind:o.literal(td.ABSENT),match:ed}),o.object({kind:o.literal(td.MEASURE),match:ed,op:o.nativeEnum(yp),value:o.number().finite(),tolerance:o.number().nonnegative().finite().default(0)})])});var $2,Rp,U2,nd,Qg,Za,Jg,H2,Yo=T(()=>{"use strict";ne();zo();$2=o.object({name:o.string().min(1),meaning:o.string().min(1),parameters:o.unknown().optional(),mutating:o.boolean()}),Rp={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},U2=o.object({ref:o.string().min(1),describes:o.string().min(1),at:o.string().optional()}),nd=o.object({id:o.string().min(1),actor:o.string().min(1),capability:o.string().min(1),target:o.string().optional(),parameters:o.unknown().optional(),at:o.number().int()}),Qg=o.object({action:o.string().min(1),dispatched:o.boolean(),refused:o.object({reason:o.nativeEnum(Rp),detail:o.string().min(1)}).optional(),subject:Jt,at:o.number().int()}),Za={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},Jg=o.object({id:o.string().min(1),openedAt:o.number().int(),closedAt:o.number().int().optional(),budgetMs:o.number().int().positive(),closes:o.nativeEnum(Za),closedBy:o.nativeEnum(Za).optional(),subject:Jt}),H2=new Set([Za.BUDGET_EXHAUSTED,Za.TERMINATED])});var rd,wN,eE,CN,vp,Np,tE,ds=T(()=>{"use strict";ne();gn();rd={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},wN=o.string().min(1),eE={ADVANCED_OVER_FAILURE:"advanced-over-failure",CLAIMED_OVER_FAILURE:"claimed-over-failure",EFFECT_DISCARDED:"effect-discarded",CLAIM_UNCORROBORATED:"claim-uncorroborated",FAILURE_INSIDE_SUCCESS:"failure-inside-success",VALUE_NOT_APPLIED:"value-not-applied",DUPLICATED_EFFECT:"duplicated-effect",STALE_APPLIED:"stale-applied",NO_EFFECT:"no-effect",FAULT_MISATTRIBUTED:"fault-misattributed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},CN=o.union([o.nativeEnum(eE),o.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),vp={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},Np=o.object({kind:CN,tier:o.nativeEnum(vp),claim:o.string().min(1),counter:o.string().min(1),between:o.tuple([kt,kt]),evidence:o.array(o.string()).default([])}),tE=o.object({id:o.string().min(1),claim:o.string().min(1),window:o.string().min(1),verdict:o.nativeEnum(rd),grade:o.nativeEnum(ht).optional(),reasons:o.array(wN).default([]),evidence:o.array(o.string()).default([]),anomalies:o.array(Np).default([]),supersedes:o.string().optional(),at:o.number().int()})});var IN,LN,kN,q2,nE,DN,X2,Op=T(()=>{"use strict";ne();Yo();Xa();Xr();ds();IN=o.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),LN=o.object({id:o.string().min(1),invoke:IN,with:o.unknown().optional(),at:o.number().int()}),kN=o.union([nd,LN]),q2=o.object({name:o.string().min(1),version:o.number().int().positive(),startState:o.unknown().optional(),requires:o.unknown().optional(),ensures:o.unknown().optional(),claim:o.string().min(1),steps:o.array(kN),expects:o.array(xp).default([]),mayRebind:o.boolean().default(!1)}),nE=o.object({verdict:o.string().min(1),expected:o.string().min(1),actual:o.string().min(1),evidence:o.array(o.string()).min(1),location:o.object({file:o.string(),line:o.number().int().optional(),symbol:o.string().optional()}).optional(),instruction:o.string().min(1)}),DN={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},X2=o.object({id:o.string().min(1),kind:o.nativeEnum(DN),statement:o.string().min(1),provenance:Ap,observations:o.number().int().nonnegative().default(0),promotedBy:o.string().optional(),promotedAt:o.number().int().optional()})});var MN,PN,sM,rE=T(()=>{"use strict";ne();gn();Xa();Yo();Xr();ds();Op();zo();MN="1.0",PN=o.object({constraint:o.string().min(1),at:o.number().int(),detail:o.string().min(1),evidence:o.array(o.string()).default([])}),sM=o.object({ovp:o.literal(MN),id:o.string().min(1),verifier:o.object({name:o.string().min(1),version:o.string().min(1),profile:o.string().optional()}),subject:Jt,channels:o.array(Tp),witnesses:o.array(o.object({name:o.string().min(1),subject:Jt,channels:o.array(Tp)})).default([]),intents:o.array(Vg).default([]),claims:o.array(Wg).default([]),constraints:o.array(zg).default([]),actions:o.array(nd).default([]),receipts:o.array(Qg).default([]),windows:o.array(Jg).default([]),evidence:o.array(Yg).default([]),coverage:o.array(Xg).default([]),anomalies:o.array(Np).default([]),verdicts:o.array(tE).default([]),violations:o.array(PN).default([]),repairs:o.array(nE).default([]),startedAt:o.number().int(),endedAt:o.number().int()})});var wp=T(()=>{"use strict";ds()});var Cp=T(()=>{"use strict";Xa();gn();Xr();Yo();ds()});var Ip=T(()=>{"use strict";Yo();gn();wp();Xr();Cp()});var Lp=T(()=>{"use strict"});var oE=T(()=>{"use strict";Lp()});var qo,IM,LM,kM,iE=T(()=>{"use strict";ne();gn();qo={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},IM=[qo.EFFECT,qo.IN_REALM,qo.SURFACE],LM={[qo.EFFECT]:[A.NET,A.LOG],[qo.IN_REALM]:[A.NET,A.LOG,A.STATE,A.SIGNAL],[qo.SURFACE]:[A.NET,A.LOG,A.STATE,A.SIGNAL,A.UI]},kM=o.object({name:o.string().min(1),version:o.string().min(1),platform:o.string().min(1),claims:o.nativeEnum(qo),homepage:o.string().optional()})});var sE=T(()=>{"use strict";Ip();gn();Yo();Xr();zo()});var Qa=T(()=>{"use strict";zo();gn();Bg();Gg();jg();Xa();Zg();Yo();Xr();ds();Op();rE();Ip();wp();Lp();oE();Cp();iE();sE()});var us,$e,aE,mt,Xo=T(()=>{"use strict";us={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},$e={VERSION_SKEW:"version_skew",CAPABILITY_ABSENT:"capability-absent",INCONCLUSIVE:"inconclusive",OBSERVATION_LOST:"observation_lost",WINDOW_CLOSED_EARLY:"window_closed_early",ASSERTION_FAILED:"assertion_failed",CONTRADICTED:"contradicted",ALREADY_TRUE:"already_true",UNCLEAN_CAPTURE:"unclean_capture",VACUOUS_GRADE:"vacuous_grade",NOTHING_DECLARED:"nothing_declared",OUTCOME_PENDING:"outcome_pending",OUTCOME_UNREAD:"outcome_unread",UNSETTLED:"unsettled",EVIDENCE_INCOMPLETE:"evidence_incomplete",PROVED:"proved",ABSENCE_BLIND_SPOT:"absence_blind_spot"},aE={BUFFER_LOSS:"buffer_loss",TRANSPORT_GAP:"transport_gap",BLIND_SPOT:"blind_spot",JOURNAL_LOSS:"journal_loss",OTHER:"other"},mt={CLOSED_SHADOW_ROOT:"closed-shadow-root",RATE_LIMITED:"rate-limited",CROSS_ORIGIN_IFRAME:"cross-origin-iframe",UNINSTRUMENTED_FRAME:"uninstrumented-frame",VIRTUALIZED_UNMOUNTED:"virtualized-unmounted",WRAPPED_NETWORK:"wrapped-network",UNOBSERVED_IPC:"unobserved-ipc",VERDICTLESS_SEND:"verdictless-send",UNWATCHED_STATE:"unwatched-state"}});var HN,FN,BN,GN,jN,VN,KN,WN,od,zN,YN,qN,XN,ZN,QN,JN,eO,tO,nO,hP,rO,oO,iO,sO,aO,cO,lO,dO,uO,mP,kp=T(()=>{"use strict";ne();Qa();ur();Xo();HN=3,FN=1,BN=2,GN={pass:us.YES,fail:us.NO},jN={network:y.NET,layout:y.ELEMENT},VN=o.string().brand(),KN={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},WN={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},od={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},zN={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},YN={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},qN={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},XN={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},ZN={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},QN={PREVIEW:"preview",CI:"ci",LOCAL:"local"},JN={HIGH:"high",MEDIUM:"medium",LOW:"low"},eO={DEV:"dev",PROD_PREVIEW:"prod-preview"},tO=o.object({file:o.string(),line:o.number().optional(),component:o.string().optional()}),nO=o.object({path:o.string(),changeKind:o.nativeEnum(qN),risk:o.array(o.nativeEnum(od)).default([])}),hP=64*1024,rO=o.object({step:o.number(),anchor:o.string(),ok:o.boolean(),page:o.string().optional(),endPage:o.string().optional(),consequence:o.string().optional(),error:o.string().optional(),drift:o.string().optional()}),oO=o.object({startPath:o.string().optional(),steps:o.array(o.unknown())}),iO=o.object({name:o.string(),status:o.nativeEnum(WN),steps:o.number(),durationMs:o.number(),oracle:o.string().optional(),healed:o.object({from:o.string(),to:o.string(),consequenceVerified:o.boolean()}).optional(),evidenceRef:o.string().optional(),failureReason:o.string().optional(),stepResults:o.array(rO).optional(),recording:oO.optional(),recordingOmitted:o.boolean().optional()}),sO=o.object({kind:o.preprocess(t=>typeof t=="string"?jN[t]??t:t,o.nativeEnum(y).optional()),predicate:o.string(),status:o.preprocess(t=>typeof t=="string"?GN[t]??t:t,o.nativeEnum(us)),evidence:o.unknown().optional(),declaredBeforeActing:o.boolean().optional(),grade:o.string().optional(),couldNotSee:o.array(o.string()).optional(),reason:o.string().optional(),checkId:o.string().optional(),supersedes:o.string().optional()}),aO=o.object({surface:o.nativeEnum(od),severity:o.nativeEnum(zN),detail:o.string(),evidence:o.object({file:o.string().optional(),line:o.number().optional(),network:o.string().optional()}).optional(),gated:o.boolean().default(!1)}),cO=o.object({consoleErrors:o.array(o.object({level:o.string(),message:o.string(),at:o.number()})).default([]),networkAnomalies:o.array(o.object({method:o.string(),url:o.string(),status:o.number().optional(),issue:o.string()})).default([]),stateAssertions:o.array(o.object({store:o.string(),path:o.string(),expected:o.unknown(),actual:o.unknown(),ok:o.boolean()})).default([]),timeline:o.array(o.object({at:o.number(),kind:o.string(),summary:o.string()})).default([])}),lO=o.object({flow:o.string().optional(),step:o.number().optional(),expected:o.string(),actual:o.string(),sourceLocation:tO.optional(),suggestedPrompt:o.string()}),dO=o.object({status:o.nativeEnum(KN),reasons:o.array(o.string()).default([]),confidence:o.nativeEnum(JN),blockingRisks:o.number().default(0),checkId:o.string().optional(),supersedes:o.string().optional()}),uO=o.object({alg:o.string(),value:o.string(),signedAt:o.number()}),mP=o.object({schemaVersion:o.union([o.literal(HN),o.literal(BN),o.literal(FN)]),runId:VN,createdAt:o.number(),durationMs:o.number(),profile:o.nativeEnum(eO),project:o.object({name:o.string(),framework:o.nativeEnum(ZN),commit:o.string().optional(),env:o.nativeEnum(QN).optional(),previewUrl:o.string().optional()}),agent:o.object({id:o.string(),kind:o.nativeEnum(XN),model:o.string().optional()}),trigger:o.object({kind:o.nativeEnum(YN),diffRef:o.string().optional(),note:o.string().optional()}),editEpoch:o.number().optional(),subject:Jt.optional(),changedFiles:o.array(nO).default([]),flows:o.array(iO).default([]),checks:o.array(sO).default([]),risks:o.array(aO).default([]),evidence:cO,repair:o.object({failurePackets:o.array(lO).default([])}).optional(),verdict:dO,signature:uO.optional()})});var pO,id,fO,hO,mO,gO,xP,EO,bO,TO,AP,yP,Dp=T(()=>{"use strict";ne();Ot();qa();kp();pO=o.array(o.string().refine(t=>!t.includes("="),t=>({message:`\`attrs\` takes attribute NAMES only, not \`name=value\` \u2014 got ${JSON.stringify(t)}. It PROJECTS each attribute onto the match, it does not filter on it. Drop the \`=value\` half and read the returned \`attrs\` map, or assert the value with an \`element\` predicate carrying \`value\`.`}))),id=o.object({by:o.nativeEnum(pt).optional(),value:o.string().optional(),role:o.string().optional(),name:o.string().optional(),text:o.string().optional(),label:o.string().optional(),placeholder:o.string().optional(),testid:o.string().optional(),alt:o.string().optional(),component:o.string().optional(),attrs:pO.optional(),source:o.object({file:o.string(),line:o.number(),column:o.number().optional()}).strict().optional(),scope:o.string().optional(),self:o.boolean().optional()}).strict(),fO=o.object({name:o.string(),steps:o.array(o.string())}),hO=o.object({surface:o.nativeEnum(od),paths:o.array(o.string()).optional(),note:o.string().optional()}),mO=o.object({owner:o.string().optional(),safety:o.array(o.string()).optional(),scope:o.array(o.string()).optional(),redact:o.array(o.string()).optional(),risk:o.array(hO).optional()}),gO=o.object({testids:o.array(o.string()),signals:o.array(o.string()),stores:o.array(o.string()),flows:o.array(fO),governance:mO.optional()}),xP=o.object({version:o.literal($g),generatedAt:o.number(),capabilities:gO}),EO=o.object({consoleErrors:o.number().optional(),networkErrors:o.number().optional(),driftSteps:o.number().optional()}),bO=o.object({kind:o.nativeEnum(Og),name:o.string(),status:o.nativeEnum(wg),at:o.number(),summary:o.string().optional(),evidence:EO.optional(),durationMs:o.number().optional()}),TO=o.object({flows:o.array(o.string()).optional(),routes:o.array(o.string()).optional(),bestObservability:o.object({percent:o.number(),at:o.number()}).optional()}),AP=o.object({version:o.literal(Ng),learned:TO.optional(),runs:o.array(bO)}),yP=o.discriminatedUnion("kind",[o.object({kind:o.literal(Ae.ASSERT_SIGNAL),name:o.string().min(1),dataMatches:o.record(o.unknown()).optional()}),o.object({kind:o.literal(Ae.ASSERT_VISIBLE),testid:o.string().min(1)}),o.object({kind:o.literal(Ae.ASSERT_STATE),statePath:o.string().min(1),store:o.string().min(1).optional(),equals:o.unknown().optional()}),o.object({kind:o.literal(Ae.ASSERT_NET),net:o.object({method:o.string().min(1).optional(),urlContains:o.string().min(1).optional(),status:o.number().optional(),count:o.number().int().nonnegative().optional()})}),o.object({kind:o.literal(Ae.MARK_DYNAMIC),testid:o.string().min(1)}),o.object({kind:o.literal(Ae.SUCCESS_STATE),signal:o.string().min(1).optional(),testid:o.string().min(1).optional(),statePath:o.string().min(1).optional(),store:o.string().min(1).optional(),equals:o.unknown().optional(),hold:o.boolean().optional(),net:o.object({method:o.string().min(1).optional(),urlContains:o.string().min(1).optional(),status:o.number().optional(),count:o.number().int().nonnegative().optional()}).optional(),console:o.object({level:o.string().min(1).optional(),absent:o.boolean().optional()}).optional(),text:o.object({contains:o.string().min(1),scope:o.string().min(1).optional(),absent:o.boolean().optional(),visible:o.boolean().optional()}).optional()}),o.object({kind:o.literal(Ae.INTENT),text:o.string().min(1)})])});function lE(t,e){let n=cE(t),r=cE(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(s=>n[s]===r[s])}function cE(t){return y.NET===t.from?{...t,body:t.body??Pp.RESPONSE,method:t.method?.toUpperCase()}:{...t}}var Pp,sd,Mp,$p,Up=T(()=>{"use strict";ne();ur();Pp={RESPONSE:"response",REQUEST:"request"},sd={VALUE:"value",NUMBER:"number"},Mp=o.string().min(1),$p=o.discriminatedUnion("from",[o.object({from:o.literal(y.NET),urlContains:o.string().min(1),method:o.string().optional(),body:o.enum([Pp.RESPONSE,Pp.REQUEST]).optional(),path:Mp}).strict(),o.object({from:o.literal(y.SIGNAL),name:o.string().min(1),path:Mp}).strict(),o.object({from:o.literal(y.STATE),store:o.string().optional(),path:Mp}).strict(),o.object({from:o.literal(y.TEXT),scope:o.string().min(1)}).strict()])});var dE,Hp,Fp=T(()=>{"use strict";ne();Qa();dE=o.object({op:o.nativeEnum(yp),value:o.number().finite(),tolerance:o.number().finite().nonnegative().optional()}).strict(),Hp=o.discriminatedUnion("property",[o.object({property:o.literal("nonEmpty")}).strict(),o.object({property:o.literal("oneOf"),values:o.array(o.unknown()).min(1)}).strict(),o.object({property:o.literal("withinTolerance"),of:o.number().finite(),tolerance:o.number().finite().nonnegative()}).strict(),o.object({property:o.literal("matchesPattern"),pattern:o.string().min(1)}).strict(),o.object({property:o.literal("type"),is:o.enum(["string","number","boolean","array","object"])}).strict(),o.object({property:o.literal("changed")}).strict(),o.object({property:o.literal("unchanged")}).strict(),o.object({property:o.literal("increased"),by:dE.optional()}).strict(),o.object({property:o.literal("decreased"),by:dE.optional()}).strict()])});function xO(t){if(t.kind!==void 0||typeof t[Bp]!="string")return t;let e={...t,kind:t[Bp]};return delete e[Bp],e}function AO(t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let n=xO(t),r=typeof n.kind=="string"?n.kind:"",i=_O[r],s=n;if(i!==void 0){s={...n};for(let[a,l]of Object.entries(i))s[a]!==void 0&&(s[l]===void 0&&(s[l]=s[a]),delete s[a])}return y.ELEMENT===r?yO(s):s}function yO(t){let e=SO.filter(i=>t[i]!==void 0);if(e.length===0)return t;let n={...t},r={};for(let i of e)r[i]=n[i],delete n[i];return n.query===void 0&&(n.query=r),n}function RO(){return o.discriminatedUnion("kind",[o.object({kind:o.literal(y.ELEMENT),query:id,state:o.nativeEnum(re).optional(),absent:o.boolean().optional()}).strict(),o.object({kind:o.literal(y.TEXT),contains:o.string().optional(),visible:o.boolean().optional(),absent:o.boolean().optional(),scope:o.string().optional(),self:o.boolean().optional(),satisfies:Hp.optional()}).strict(),o.object({kind:o.literal(y.NET),method:o.string().optional(),urlContains:o.string().optional(),status:o.number().optional(),ok:o.boolean().optional(),since:o.number().optional(),count:o.number().int().nonnegative().optional(),bodyContains:o.string().min(1).optional(),bodyMatches:o.record(o.string(),o.unknown()).optional(),requestBodyContains:o.string().min(1).optional(),requestBodyMatches:o.record(o.string(),o.unknown()).optional()}).strict(),o.object({kind:o.literal(y.ROUTE),pathname:o.string().optional(),contains:o.string().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.CONSOLE),level:o.string().optional(),contains:o.string().min(1).optional(),absent:o.boolean().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.ANIMATION),name:o.string().optional(),target:o.string().optional(),completed:o.boolean().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.SIGNAL),name:o.string().optional(),dataMatches:o.record(o.unknown()).optional(),count:o.number().int().nonnegative().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.STATE),store:o.string().optional(),path:o.string(),equals:o.unknown().optional(),satisfies:Hp.optional()}).strict(),o.object({kind:o.literal(y.SETTLED),quietMs:o.number().positive().optional()}).strict(),o.object({kind:o.literal(y.COMPARE),left:$p,right:$p,as:o.enum([sd.VALUE,sd.NUMBER]).optional(),tolerance:o.number().finite().nonnegative().optional()}).strict(),o.object({kind:o.literal(y.ALL_OF),predicates:o.array(Ja).min(1)}).strict(),o.object({kind:o.literal(y.ANY_OF),predicates:o.array(Ja).min(1)}).strict(),o.object({kind:o.literal(y.NOT),predicate:Ja}).strict()])}function vO(t,e){if(typeof t!="object"||t===null)return;let n=t;if(y.COMPARE===n.kind){NO(t,e);return}y.TEXT===n.kind&&(n.contains===void 0&&n.satisfies===void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:"a text predicate must say WHAT about the text: `contains` for a substring, `satisfies` for a property of it. With neither it matches any element with any text and cannot fail"}),n.satisfies!==void 0&&n.contains===void 0&&n.scope===void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:"`satisfies` needs a subject: add `scope` (the element whose text is tested, with `self: true` to read the scope root itself) or a `contains` that selects one. Without either, the locator is every element on the page and the property would run against whichever one happened to match first"}))}function NO(t,e){lE(t.left,t.right)&&e.addIssue({code:o.ZodIssueCode.custom,message:"`left` and `right` read the same value, so this comparison agrees with itself on every page and cannot fail. Compare two different readings: what the page shows against what the server answered, or what was sent against what came back"}),t.tolerance!==void 0&&sd.NUMBER!==t.as&&e.addIssue({code:o.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var _O,Bp,SO,Ja,Gp=T(()=>{"use strict";ne();Dp();Ot();Up();ur();Fp();_O={[y.TEXT]:{text:"contains",value:"contains",query:"contains"},[y.ROUTE]:{path:"pathname",urlContains:"contains",url:"contains"},[y.NET]:{url:"urlContains",responseBodyMatches:"bodyMatches"},[y.CONSOLE]:{textContains:"contains"},[y.SIGNAL]:{data:"dataMatches"},[y.ALL_OF]:{of:"predicates"},[y.ANY_OF]:{of:"predicates"},[y.NOT]:{of:"predicate"}},Bp="type",SO=["by","value","role","name","text","label","placeholder","testid","alt","component"];Ja=o.lazy(()=>o.preprocess(AO,RO()).superRefine(vO))});function uE(t){return`${t} is an element ref, which only exists in the session that minted it \u2014 scope by a CSS selector or a testid so the flow can check it again`}function ad(t){let e=(n,r)=>r!==void 0&&OO.test(r)?`${n} "${r}"`:void 0;switch(t.kind){case y.ALL_OF:case y.ANY_OF:for(let n of t.predicates){let r=ad(n);if(r!==void 0)return r}return;case y.NOT:return ad(t.predicate);case y.TEXT:return e("text.scope",t.scope);case y.ELEMENT:return e("element.query.scope",t.query.scope);case y.ANIMATION:return e("animation.target",t.target);case y.COMPARE:for(let[n,r]of[["left",t.left],["right",t.right]]){if(y.TEXT!==r.from)continue;let i=e(`compare.${n}.scope`,r.scope);if(i!==void 0)return i}return;default:return}}var OO,jp=T(()=>{"use strict";ur();OO=/^e\d+$/});function fE(t){let e=[];if(t.signal!==void 0){let a={kind:y.SIGNAL,name:t.signal};t.signalData!==void 0&&(a.dataMatches=t.signalData),t.signalCount!==void 0&&(a.count=t.signalCount,e.push({kind:y.SETTLED})),e.push(a)}if(t.route!==void 0){let a={kind:y.ROUTE};return t.route.pathname!==void 0&&(a.pathname=t.route.pathname),t.route.contains!==void 0&&(a.contains=t.route.contains),a}if(t.net!==void 0){let a={kind:y.NET};t.net.method!==void 0&&(a.method=t.net.method),t.net.urlContains!==void 0&&(a.urlContains=t.net.urlContains),t.net.status!==void 0&&(a.status=t.net.status),t.net.count!==void 0&&(a.count=t.net.count,e.push({kind:y.SETTLED})),e.push(a)}if(t.console!==void 0){let a={kind:y.CONSOLE};t.console.level!==void 0&&(a.level=t.console.level),t.console.absent!==void 0&&(a.absent=t.console.absent,t.console.absent&&e.push({kind:y.SETTLED})),e.push(a)}let n=t.state;if(n!==void 0){let a={kind:y.STATE,path:n.path};n.store!==void 0&&(a.store=n.store),n.equals!==void 0&&(a.equals=n.equals),n.hold===!0&&e.push({kind:y.SETTLED}),e.push(a)}let r=t.element;if(r!==void 0){let a={};r.testid!==void 0&&(a.testid=r.testid),r.role!==void 0&&(a.role=r.role),r.name!==void 0&&(a.name=r.name),Object.keys(a).length>0&&e.push({kind:y.ELEMENT,query:a})}let i=t.text;if(i!==void 0){let a={kind:y.TEXT,contains:i.contains};i.scope!==void 0&&(a.scope=i.scope),i.visible!==void 0&&(a.visible=i.visible),i.absent===!0&&(a.absent=!0,e.push({kind:y.SETTLED})),e.push(a)}let[s]=e;if(e.length!==0)return e.length===1&&s!==void 0?s:{kind:y.ALL_OF,predicates:e}}var pE,Vp=T(()=>{"use strict";ne();ur();pE=o.object({route:o.object({pathname:o.string().optional(),contains:o.string().optional()}).optional(),signal:o.string().optional(),signalData:o.record(o.unknown()).optional(),signalCount:o.number().int().nonnegative().optional(),net:o.object({method:o.string().optional(),urlContains:o.string().optional(),status:o.number().optional(),count:o.number().int().nonnegative().optional()}).strict().optional(),console:o.object({level:o.string().optional(),absent:o.boolean().optional()}).strict().optional(),element:o.object({testid:o.string().optional(),role:o.string().optional(),name:o.string().optional()}).strict().optional(),text:o.object({contains:o.string().min(1),scope:o.string().optional(),absent:o.boolean().optional(),visible:o.boolean().optional()}).strict().optional(),state:o.object({store:o.string().optional(),path:o.string(),equals:o.unknown().optional(),hold:o.boolean().optional()}).strict().optional()}).strict()});var mE,wO,Kp,hE,CO,gE,IO,JP,EE=T(()=>{"use strict";ne();qa();Ep();Ot();Gp();jp();Vp();qa();mE=o.discriminatedUnion("kind",[o.object({kind:o.literal(Zt.TESTID),value:o.string().min(1),source:o.object({file:o.string(),line:o.number(),column:o.number().optional()}).optional()}),o.object({kind:o.literal(Zt.ROLE),role:o.string().min(1),name:o.string().optional()}),o.object({kind:o.literal(Zt.SIGNAL),name:o.string().min(1)}),o.object({kind:o.literal(Zt.COMPONENT),component:o.string().optional(),source:o.object({file:o.string(),line:o.number(),column:o.number().optional()}).optional(),role:o.string().optional(),name:o.string().optional()})]),wO=Ja.superRefine((t,e)=>{let n=ad(t);n!==void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:uE(n)})}),Kp=o.union([wO,pE.transform(t=>fE(t))]),hE=o.array(Kp).transform(t=>t.filter(e=>e!==void 0)),CO=o.object({tool:o.string(),anchor:mE,source:o.object({file:o.string().min(1),line:o.number().int().positive().optional()}).optional(),id:o.string().min(1).optional(),effect:o.nativeEnum(Lg).optional(),healed:o.object({from:o.string(),at:o.number()}).optional(),action:o.nativeEnum(R).optional(),args:o.record(o.unknown()).optional(),expect:Kp.optional(),degraded:o.boolean().optional(),timeoutMs:o.number().int().positive().optional(),invoke:o.string().min(1).optional(),page:o.string().optional(),endPage:o.string().optional()}),gE=CO.extend({steps:o.lazy(()=>o.array(gE).optional())}),IO=o.object({version:o.number().int().refine(t=>Cg.has(t)),name:o.string(),intent:o.string().optional(),intentId:o.string().optional(),projectId:o.string().optional(),startPath:o.string().optional(),fixture:o.string().optional(),requires:hE.optional(),ensures:hE.optional(),author:o.object({agent:o.string().min(1).optional(),person:o.string().min(1).optional()}).optional(),createdAt:o.number(),steps:o.array(gE),signalTimeoutMs:o.number().int().positive().optional(),success:Kp.optional(),dynamic:o.array(mE).optional(),labels:o.array(o.string().min(1)).optional(),needs:o.array(o.string().min(1)).optional(),status:o.enum([zl.ACTIVE,zl.QUARANTINED,zl.DRAFT]).optional(),learned:o.array(o.object({kind:o.string().min(1),step:o.number().int().min(-1),state:o.enum(["open","guarded"]),cleanRuns:o.number().int().nonnegative().optional()})).optional(),knownBugs:o.array(o.object({id:o.string().min(1),summary:o.string().min(1),assertions:o.array(o.string())})).optional(),quarantine:o.object({reason:o.string().min(1),since:o.string().min(1),owner:o.string().min(1),until:o.string().optional()}).optional()}),JP=o.object({name:o.string(),flow:IO})});var bE=T(()=>{"use strict"});var TE=T(()=>{"use strict"});var _E=T(()=>{"use strict"});var cd,ld,SE,xE=T(()=>{"use strict";cd="data-reticle-source",ld="__RETICLE_ROOT__",SE="__RETICLE_SDK_VERSION__"});var AE,yE=T(()=>{"use strict";Ot();AE=new Set([b.DOM_TEXT,b.ANIM_START,b.ANIM_END,b.RENDER_COMMIT,b.PAGE_HEALTH,b.SCROLL_POSITION])});function Wp(t){let e=t.text;if(typeof e=="string"&&0<e.length)return e;let n=t.key;return typeof n=="string"&&0<n.length?n:LO}function MO(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function RE(t){return MO(t)?!0:DO.has(Wp(t).toLowerCase())}var LO,kO,DO,vE=T(()=>{"use strict";LO="Enter",kO=["Escape","Tab"],DO=new Set(kO.map(t=>t.toLowerCase()))});var Ye,l$,NE=T(()=>{"use strict";Xo();Ye={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},l$={[$e.ASSERTION_FAILED]:Ye.CODE,[$e.CONTRADICTED]:Ye.CODE,[$e.OUTCOME_PENDING]:Ye.ENVIRONMENT,[$e.UNSETTLED]:Ye.ENVIRONMENT,[$e.VERSION_SKEW]:Ye.HARNESS,[$e.WINDOW_CLOSED_EARLY]:Ye.HARNESS,[$e.NOTHING_DECLARED]:Ye.HARNESS,[$e.VACUOUS_GRADE]:Ye.HARNESS,[$e.ALREADY_TRUE]:Ye.HARNESS,[$e.CAPABILITY_ABSENT]:Ye.COULD_NOT_SEE,[$e.OBSERVATION_LOST]:Ye.COULD_NOT_SEE,[$e.UNCLEAN_CAPTURE]:Ye.COULD_NOT_SEE,[$e.EVIDENCE_INCOMPLETE]:Ye.COULD_NOT_SEE,[$e.ABSENCE_BLIND_SPOT]:Ye.COULD_NOT_SEE,[$e.OUTCOME_UNREAD]:Ye.COULD_NOT_SEE,[$e.INCONCLUSIVE]:Ye.COULD_NOT_SEE,[$e.PROVED]:Ye.NONE}});var Zo,PO,$O,UO,p$,OE=T(()=>{"use strict";ne();Zo={CONNECTING:"connecting",WAITING_FOR_APP:"waiting_for_app",FLOWS_FOUND:"flows_found",FLOW_STARTED:"flow_started",FLOW_FINISHED:"flow_finished",GRADING:"grading",PUSHED:"pushed"},PO=120,$O=200,UO=o.object({phase:o.enum([Zo.CONNECTING,Zo.WAITING_FOR_APP,Zo.FLOWS_FOUND,Zo.FLOW_STARTED,Zo.FLOW_FINISHED,Zo.GRADING,Zo.PUSHED]),index:o.number().int().nonnegative().optional(),total:o.number().int().nonnegative().optional(),name:o.string().max(PO).optional(),ok:o.boolean().optional(),at:o.number().int().nonnegative()}),p$=o.object({runId:o.string().min(1).max(200),events:o.array(UO).max($O)})});function wE(t){return t===Re.ACTIVE||t===Re.PAUSED||t===Re.ENDED}var Re,ec,$n,Qo,CE,IE,ps,zp=T(()=>{"use strict";Re={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};ec="auto",$n={PAUSE:"pause",RESUME:"resume",END:"end",MESSAGE:"message",REPLAY:"replay",SYNC:"sync",HARNESS:"harness"},Qo={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"},CE={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},IE={IDLE_END_MS:3e5,IDLE_END_MIN_MS:5e3,REAP_INTERVAL_MS:5e3,BRIDGE_LOST_MS:15e3,DAEMON_IDLE_SHUTDOWN_MS:3e5,DAEMON_IDLE_CHECK_MS:3e4},ps={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var Zr,Qr,tc,Yp=T(()=>{"use strict";Zr={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},Qr={CHAT:"chat",SETTINGS:"settings",REPORT:"report",NONE:"none"},tc={ON:"on",OFF:"off"}});var fs,kE,DE,LE,g$,ME=T(()=>{"use strict";fs="https://calendar.app.google/h9NRDbBBQetyTzWM6",kE="hey@reticle.sh",DE="mailto:hey@reticle.sh?subject=Reticle%20feedback",LE="npx @reticlehq/server identify --context company --email you@company.com",g$={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${fs} \xB7 or leave your email: ${LE}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${fs}) or the email command (${LE}). Offer it; never book a call or submit an email for them.`}});function PE(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*qp.length);e+=qp[Math.min(Math.max(r,0),qp.length-1)]}return e}var qp,$E=T(()=>{"use strict";qp="0123456789abcdefghijklmnopqrstuvwxyz"});var UE=T(()=>{"use strict"});var En,Xp,nc,HO,_$,HE,dd,FE,Zp,ud,pd=T(()=>{"use strict";En={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},Xp="ipc://",nc={OK:200,ERROR:500},HO={NEXT_DEV_OVERLAY:"/__nextjs",NEXT_HMR:"/_next/webpack-hmr",NEXT_HMR_CHUNKS:"/_next/static/webpack/",WEBPACK_HOT_UPDATE:".hot-update.",VITE_CLIENT:"/@vite/",VITE_REACT_REFRESH:"/@react-refresh",VITE_PING:"/__vite_ping"},_$=Object.values(HO),HE="urlRaw",dd="requestShape",FE="none",Zp="Next-Action",ud="nextAction"});function Qp(t){return FO.test(t)}function BE(t){let e=new Set;for(let n of t??[]){let r=n.trim().toLowerCase();r.length>0&&e.add(r)}return e}function GE(t,e){let n=BE(t?.keys?.filter(a=>typeof a=="string")),r=(t?.keys??[]).filter(a=>a instanceof RegExp),i=BE(t?.allow),s=[...i].filter(a=>Qp(a)&&!n.has(a));return s.length>0&&e!==void 0&&e(`[reticle] redact.allow is exempting ${s.join(", ")} from redaction. The default rule treats ${s.length===1?"that key":"those keys"} as a credential, so ${s.length===1?"its value":"their values"} will now reach the agent transcript and the on-disk journal in cleartext.`),{isSensitiveKey:a=>{let l=a.toLowerCase();if(n.has(l))return!0;for(let d of r)if(d.lastIndex=0,d.test(a))return!0;return i.has(l)?!1:Qp(a)}}}function jE(t){Jp=t}function He(t){return Jp===void 0?Qp(t):Jp.isSensitiveKey(t)}function jO(t){return new TextEncoder().encode(t).byteLength}function VO(t){if(!/^data:/i.test(t))return;let e=t.indexOf(","),n=e===-1?t.slice(5):t.slice(5,e),[r="",...i]=n.split(";"),s=/^[\w.+-]+\/[\w.+-]+$/.test(r)?r:"text/plain",a=i.some(d=>d.toLowerCase()==="base64")?";base64":"",l=e===-1?"":t.slice(e+1);return`data:${s}${a},<\u2026${String(jO(l))} bytes\u2026>`}function fd(t,e=He){let n=VO(t);if(n!==void 0)return n;let r=t.indexOf("#"),i=r===-1?"":t.slice(r),s=r===-1?t:t.slice(0,r),a=s.indexOf("?"),l=a===-1?s:s.slice(0,a),d=a===-1?"":s.slice(a+1),u=!1,f=l,g=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);g!==null&&(f=`${g[1]??""}${ye}@${l.slice(g[0].length)}`,u=!0);let E=d;if(d!==""){let L=new URLSearchParams(d),G=!1;for(let $ of[...L.keys()])e($)&&(L.set($,ye),G=!0);G&&(E=L.toString(),u=!0)}let _=f.split("/");for(let L=0;L+1<_.length;L++){let G=_[L],$=_[L+1];G!==void 0&&$!==void 0&&$.length>=GO&&BO.test(G)&&(_[L+1]=ye,u=!0)}let S=i;if(i.length>1&&(S=i.replace(/(^|[#&?/])([A-Za-z0-9_.-]+)=([^&\s]+)/g,(L,G,$)=>e($)?`${G}${$}=${ye}`:L),S!==i&&(u=!0)),!u)return t;let U=a===-1?"":`?${E}`;return`${_.join("/")}${U}${S}`}function Un(t,e=He){let n=fd(t,e);return n===t?{url:n}:{url:n,[HE]:t}}function VE(t){let e=new Set,n=[];for(let r of t?.keys??[]){if(typeof r!="string")continue;let i=r.trim();if(i.length===0||i.length>tf)continue;let s=i.toLowerCase();if(!e.has(s)&&(e.add(s),n.push(i),n.length>=ef))break}return n}function Jo(t){return t.replace(KO,ye)}var FO,Jp,BO,GO,ef,tf,KO,nf=T(()=>{"use strict";Ot();pd();FO=/password|passwd|passcode|pass[-_]?phrase|(?:otp|totp|mfa|recovery|backup)[-_]?codes?|(?:^|[-_])(?:otp|totp)(?=$|[-_])|secret|(?:(?:access|refresh|auth|bearer|api|id|session|csrf|client)[-_]?tokens?|(?:^|[-_])tokens?(?=$|[-_]))|session[-_]?id|(?:^|[-_])(?:sid|pwd|jwt)(?=$|[-_])|authorization|(?:^|[-_])(?:set[-_])?cookie(?=$|[-_])|api[-_]?key|access[-_]?key|private[-_]?key|client[-_]?secret|credit[-_]?card|card[-_]?(?:number|num|no|pan)(?=$|[-_])|(?:^|[-_])(?:card|pan)(?=$|[-_])|cvv|cvc|ssn|(?:^|[-_])(?:signature|sig)$|(?:^|[-_])credential$|x-(?:amz|goog)-(?:signature|credential|security-token)$/i;BO=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,GO=12;ef=64,tf=128;KO=/eyJ[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}|(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{10,}|sk-(?:ant|proj|svcacct|admin)-[A-Za-z0-9_-]{20,}|(?:AKIA|ASIA)[0-9A-Z]{16}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{22,}|AIza[0-9A-Za-z_-]{35}|xox[baprs]-[A-Za-z0-9-]{10,}|ya29\.[A-Za-z0-9._-]{20,}/g});var Hn,hd=T(()=>{"use strict";Hn={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function rf(){return[A.UI,A.NET,A.STATE,A.SIGNAL,A.LOG,A.ROUTE,A.TIME]}var O$,w$,md=T(()=>{"use strict";Qa();ur();O$={[y.ELEMENT]:[A.UI],[y.TEXT]:[A.UI],[y.SIGNAL]:[A.SIGNAL],[y.NET]:[A.NET],[y.STATE]:[A.STATE],[y.ROUTE]:[A.ROUTE],[y.CONSOLE]:[A.LOG],[y.ANIMATION]:[A.UI,A.TIME],[y.SETTLED]:[A.TIME,A.NET],[y.COMPARE]:[A.UI,A.NET,A.STATE,A.SIGNAL],[y.ALL_OF]:rf(),[y.ANY_OF]:rf(),[y.NOT]:rf()};w$=Object.fromEntries(Object.entries(_p).map(([t,e])=>[t,e.independence]))});var gd,KE,WO,WE,zE,YE,zO,YO,sf,qO,XO,H$,af=T(()=>{"use strict";ne();Yp();Ot();zp();nf();hd();md();gd=o.string().min(1).max(H.MAX_SESSION_ID_LENGTH),KE=o.string().max(H.MAX_REF_LENGTH),WO=o.string().min(1).max(8),WE=o.object({kind:o.nativeEnum($n),text:o.string().optional()}),zE=o.object({control:o.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:o.nativeEnum(tc).optional(),view:o.nativeEnum(Zr).optional(),panel:o.nativeEnum(Qr).optional()}),YE=o.object({note:o.string().min(1).max(H.MAX_MARK_NOTE_LENGTH),anchor:o.string().max(H.MAX_REF_LENGTH),strategy:o.nativeEnum(Qo),label:o.string().max(H.MAX_MARK_LABEL_LENGTH).optional(),source:o.object({file:o.string().max(H.MAX_URL_LENGTH),line:o.number().int().min(0)}).optional(),route:o.string().max(H.MAX_URL_LENGTH).optional()}),zO=o.object({t:o.number(),type:o.nativeEnum(b),sessionId:gd,ref:KE.optional(),seq:o.number().int().min(0).optional(),actionId:KE.optional(),attribution:o.nativeEnum(Ug).optional(),documentId:WO.optional(),editEpoch:o.number().int().min(0).optional(),data:o.record(o.unknown()).default({})}),YO=o.object({kind:o.literal(ft.HELLO),protocolVersion:o.number().int().min(Dg).max(ql),sessionId:gd,url:o.string().max(H.MAX_URL_LENGTH),title:o.string().max(H.MAX_TITLE_LENGTH),projectId:gd.optional(),adapters:o.array(o.string().max(H.MAX_ADAPTER_NAME_LENGTH)).max(H.MAX_ADAPTERS),token:o.string().max(H.MAX_TOKEN_LENGTH).optional(),platform:o.nativeEnum(Hn).optional(),channels:o.array(o.nativeEnum(A)).max(H.MAX_ADAPTERS).optional(),commands:o.array(o.string().max(H.MAX_TOKEN_LENGTH)).max(H.MAX_ADAPTERS).optional(),contractParts:o.object({commands:o.array(o.string()).max(H.MAX_CONTRACT_NAMES),events:o.array(o.string()).max(H.MAX_CONTRACT_NAMES),actions:o.array(o.string()).max(H.MAX_CONTRACT_NAMES)}).optional(),hasCapabilities:o.boolean().optional(),captureBodies:o.boolean().optional(),sourceMapping:o.boolean().optional(),sdkVersion:o.string().max(H.MAX_ADAPTER_NAME_LENGTH).optional(),contract:o.string().max(H.MAX_ADAPTER_NAME_LENGTH).optional(),redactKeys:o.array(o.string().min(1).max(tf)).max(ef).optional()}),sf=o.object({kind:o.literal(ft.COMMAND),id:o.string().min(1).max(H.MAX_COMMAND_ID_LENGTH),sessionId:gd.optional(),name:o.string().min(1).max(H.MAX_COMMAND_NAME_LENGTH),args:o.record(o.unknown()).default({})}),qO=o.object({kind:o.literal(ft.COMMAND_RESULT),id:o.string().min(1).max(H.MAX_COMMAND_ID_LENGTH),ok:o.boolean(),result:o.unknown().optional(),error:o.string().max(H.MAX_ERROR_LENGTH).optional()}),XO=o.object({kind:o.literal(ft.EVENT),event:zO}),H$=o.discriminatedUnion("kind",[YO,sf,qO,XO])});var ZO,QO,Jr,JO,Ne,ew,tw,nw,rw,ow,iw,cf,qE,sw,XE,hs=T(()=>{"use strict";ne();ZO={AGENT:"agent",HUMAN:"human"},QO={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},Jr={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},JO={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},Ne={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},ew={CDP:"cdp",SDK:"sdk"},tw={USER:"user",PROJECT:"project"},nw=4e3,rw=8e3,ow=1,iw=5,cf=1e3,qE=o.object({source:o.nativeEnum(ZO),kind:o.nativeEnum(QO),text:o.string().min(1).max(nw),trace:o.string().max(rw).optional(),rating:o.number().int().min(ow).max(iw).optional(),need:o.string().max(cf).optional(),impact:o.string().max(cf).optional(),currentApproach:o.string().max(cf).optional(),model:o.string().min(1).max(64).optional(),clientVersion:o.string().min(1).max(32).optional(),stack:o.string().min(1).max(64).optional(),stackMajor:o.number().int().nonnegative().optional(),runtime:o.nativeEnum(Jr).optional(),engine:o.nativeEnum(JO).optional(),driver:o.nativeEnum(ew).optional(),client:o.string().min(1).max(64).optional(),mcpScope:o.nativeEnum(tw).optional()}),sw={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},XE=o.object({context:o.nativeEnum(sw),company:o.string().min(1).max(128).optional(),email:o.string().min(3).max(254).optional()})});var Fn,Bn,bd,ei,aw,cw,q$,Ed,lw,dw,uw,rc,X$,ZE=T(()=>{"use strict";ne();Ot();Xo();hs();af();pd();Fn={SSE:"sse",WS:"ws",FETCH:"fetch"},Bn={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},bd={UP:"up",DOWN:"down"},ei={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},aw=o.object({name:o.string().describe("Cookie name."),value:o.string().describe("Cookie value."),domain:o.string().optional().describe("Cookie domain. Defaults to the navigation URL domain."),path:o.string().optional().describe('Cookie path. Defaults to "/".'),url:o.string().optional().describe("Cookie URL. Defaults to the navigation URL."),httpOnly:o.boolean().optional().describe("Whether the cookie is httpOnly."),secure:o.boolean().optional().describe("Whether the cookie is secure."),sameSite:o.enum(["Strict","Lax","None"]).optional().describe("SameSite policy."),expires:o.number().optional().describe("Unix timestamp in seconds for cookie expiration.")}),cw=o.union([o.record(o.string()),o.array(aw)]),q$=o.object({local:o.record(o.string()).optional().describe("Key-value pairs to seed into window.localStorage before first navigation."),session:o.record(o.string()).optional().describe("Key-value pairs to seed into window.sessionStorage before first navigation."),cookies:cw.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),Ed=o.object({role:o.string().optional(),name:o.string().optional()}),lw=o.object({mimeType:o.string(),bytes:o.number(),filename:o.string().optional(),lines:o.number().optional(),preview:o.string().optional(),previewTruncated:o.boolean().optional()}).passthrough(),dw=o.object({transport:o.nativeEnum(Fn),direction:o.nativeEnum(Bn),url:o.string()}).passthrough(),uw=o.object({id:o.string(),method:o.string(),url:o.string(),status:o.number(),ok:o.boolean(),durationMs:o.number(),initiator:o.string(),urlRaw:o.string().optional(),[ud]:o.string().optional(),[dd]:o.string().optional()}).passthrough(),rc=o.object({message:o.string()}).passthrough(),X$={[b.DOM_ADDED]:Ed,[b.DOM_REMOVED]:Ed,[b.DOM_ATTR]:o.object({attr:o.string(),value:o.string().optional(),old:o.string().optional()}).passthrough(),[b.DOM_TEXT]:o.object({text:o.string(),old:o.string().optional()}),[b.NET_REQUEST]:uw,[b.NET_PENDING]:o.object({id:o.string(),method:o.string(),url:o.string(),initiator:o.string(),urlRaw:o.string().optional()}),[b.NET_STREAM]:dw,[b.DOWNLOAD]:lw,[b.PERF]:o.object({metric:o.nativeEnum(as),value:o.number(),at:o.number()}),[b.ROUTE_CHANGE]:o.object({from:o.string(),to:o.string(),pathname:o.string(),search:o.string(),hash:o.string()}),[b.CONSOLE_LOG]:rc,[b.CONSOLE_WARN]:rc,[b.CONSOLE_ERROR]:rc,[b.CONSOLE_INFO]:rc,[b.CONSOLE_DEBUG]:rc,[b.ERROR_UNCAUGHT]:o.object({message:o.string(),source:o.string().optional(),line:o.number().optional(),kind:o.string().optional()}).passthrough(),[b.VISIBLE_SHOWN]:Ed,[b.ANIM_START]:o.object({name:o.string()}),[b.ANIM_END]:o.object({name:o.string()}),[b.SCROLL_POSITION]:o.object({x:o.number(),y:o.number(),percent:o.number(),direction:o.nativeEnum(bd)}),[b.REVEAL_SHOWN]:Ed.passthrough(),[b.SIGNAL]:o.object({name:o.string(),data:o.unknown().optional()}),[b.STATE_CHANGE]:o.object({name:o.string(),value:o.unknown()}).passthrough(),[b.STORAGE_CHANGE]:o.object({area:o.nativeEnum(ei),key:o.string(),old:o.string().optional(),new:o.string().optional()}),[b.PAGE_HEALTH]:o.object({hidden:o.boolean(),focused:o.boolean(),reason:o.string().optional(),brand:o.nativeEnum(Ne).optional(),runtime:o.string().optional(),engine:o.string().optional()}).passthrough(),[b.CONTEXT_OPENED]:o.object({href:o.string().optional()}).passthrough(),[b.DIALOG_OPENED]:o.object({kind:o.enum(["alert","confirm","prompt"]),message:o.string().optional(),answered:o.union([o.boolean(),o.null()]).optional()}).passthrough(),[b.RENDER_COMMIT]:o.object({commits:o.number()}),[b.FOCUS_CHANGE]:o.object({to:o.string().optional(),from:o.string().optional(),toBody:o.boolean()}),[b.FIELD_CHANGE]:o.object({field:o.string(),kind:o.enum(["input","change"]),length:o.number().int().nonnegative(),value:o.string().optional(),redacted:o.literal(!0).optional()}),[b.FLOW_RECORDED]:o.object({name:o.string(),flow:o.unknown()}),[b.TRANSPORT_OVERFLOW]:o.object({dropped:o.number()}),[b.TRUNCATED]:o.object({channel:o.string(),dropped:o.number()}),[b.BLIND_SPOT]:o.object({kind:o.nativeEnum(mt),count:o.number()}),[b.SDK_FAILED]:o.object({site:o.string().max(64),message:o.string().max(500),errorType:o.string().max(64).optional()}),[b.NET_DETAIL]:o.object({url:o.string(),method:o.string().optional(),status:o.number(),headers:o.record(o.string()),resourceType:o.string().optional()}).passthrough(),[b.HUMAN_CONTROL]:WE,[b.HUMAN_MARK]:YE,[b.HUD_USED]:zE}});var J$,QE=T(()=>{"use strict";Ot();J$=new Set([b.NET_REQUEST,b.NET_PENDING,b.NET_STREAM,b.NET_DETAIL,b.CONSOLE_ERROR,b.CONSOLE_WARN,b.ERROR_UNCAUGHT,b.ROUTE_CHANGE,b.SIGNAL,b.STORAGE_CHANGE,b.FLOW_RECORDED,b.TRANSPORT_OVERFLOW,b.TRUNCATED,b.BLIND_SPOT])});var JE=T(()=>{"use strict"});var eb,tb=T(()=>{"use strict";eb=t=>t});var ue,iU,sU,aU,nb=T(()=>{"use strict";md();ue={UI_ADVANCED_REQUEST_FAILED:"ui-advanced-request-failed",SIGNAL_CONTRADICTED:"signal-contradicted",RESPONSE_IGNORED:"response-ignored",SIGNAL_WITHOUT_CONSEQUENCE:"signal-without-consequence",STATE_VS_RENDER:"state-vs-render",CONSEQUENCE_ELSEWHERE:"consequence-elsewhere",DUPLICATE_REQUEST:"duplicate-request",DUPLICATE_REQUEST_UNRELATED:"duplicate-request-unrelated",STALE_RESPONSE_APPLIED:"stale-response-applied",PARTIAL_FAILURE_IN_OK_RESPONSE:"partial-failure-in-ok-response",UNIT_MISMATCH:"unit-mismatch",WRITE_FIELD_IGNORED:"write-field-ignored",REQUEST_NEVER_SETTLED:"request-never-settled",FAILURE_MISATTRIBUTED:"failure-misattributed",ACTION_HAD_NO_EFFECT:"action-had-no-effect",ROUTE_RENDERED_NOTHING:"route-rendered-nothing",ROUTE_RENDERED_NOTHING_CRASHED:"route-rendered-nothing-crashed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},iU=new Set([ue.REQUEST_NEVER_SETTLED,ue.RESPONSE_IGNORED,ue.SIGNAL_WITHOUT_CONSEQUENCE,ue.STATE_VS_RENDER,ue.CONSEQUENCE_ELSEWHERE,ue.ROUTE_RENDERED_NOTHING,ue.ACTION_HAD_NO_EFFECT,ue.DUPLICATE_REQUEST,ue.EVIDENCE_SUPERSEDED,ue.EVIDENCE_PREDATES_EDIT]),sU=new Set([ue.DUPLICATE_REQUEST_UNRELATED]),aU={[ue.UI_ADVANCED_REQUEST_FAILED]:[A.UI,A.NET],[ue.SIGNAL_CONTRADICTED]:[A.SIGNAL,A.NET],[ue.RESPONSE_IGNORED]:[A.NET,A.UI],[ue.SIGNAL_WITHOUT_CONSEQUENCE]:[A.SIGNAL,A.NET],[ue.STATE_VS_RENDER]:[A.STATE,A.UI],[ue.CONSEQUENCE_ELSEWHERE]:[A.NET,A.UI],[ue.DUPLICATE_REQUEST]:[A.NET,A.NET],[ue.DUPLICATE_REQUEST_UNRELATED]:[A.NET,A.NET],[ue.STALE_RESPONSE_APPLIED]:[A.NET,A.UI],[ue.PARTIAL_FAILURE_IN_OK_RESPONSE]:[A.NET,A.NET],[ue.UNIT_MISMATCH]:[A.UI,A.NET],[ue.WRITE_FIELD_IGNORED]:[A.NET,A.NET],[ue.REQUEST_NEVER_SETTLED]:[A.TIME,A.NET],[ue.FAILURE_MISATTRIBUTED]:[A.UI,A.NET],[ue.ACTION_HAD_NO_EFFECT]:[A.NET,A.UI],[ue.ROUTE_RENDERED_NOTHING]:[A.ROUTE,A.NET],[ue.ROUTE_RENDERED_NOTHING_CRASHED]:[A.ROUTE,A.LOG],[ue.EVIDENCE_SUPERSEDED]:[A.TIME,A.UI],[ue.EVIDENCE_PREDATES_EDIT]:[A.TIME,A.UI]}});var eo,Td,dU,uU,rb=T(()=>{"use strict";Ot();eo="__reticleIpc",Td="reticle_capture",dU=ss.FULL_PAGE_UNSUPPORTED,uU=ss.NOT_COMPOSITED});var ob=T(()=>{"use strict"});function ib(t){return t===ms.CALM||t===ms.WAITING||t===ms.ASK||t===ms.WARN}var ms,sb,hU,mU,ab=T(()=>{"use strict";ms={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};sb="note that a lease is a SEPARATE context: the human watching this tab sees nothing of what you do there, so prefer this tab while someone is following along",hU='tab hidden and may be un-focusable from here; timers and rAF are clamped in a background tab, so an action can land on a page that never advances. Refocus it, or acquire a guaranteed scriptable context yourself with `reticle_run { tool: "reticle_lease", args: { action: "acquire", url } }` (a human can equivalently run `reticle drive <url>`) \u2014 '+sb,mU="tab is not hidden but has not reported health recently \u2014 usually a quiet page rather than a stuck one, and very often still driveable. This is also the tab a human can see, so try it first. Timing-sensitive work (animations, debounces, gestures) is what degrades: pass `refuseWhenThrottled: true` to refuse rather than act over events that may not land. Lease a separate context only if a drive here actually fails; "+sb});var cb,SU,xU,AU,lb=T(()=>{"use strict";ne();Ot();Xo();ur();cb=1,SU=o.object({v:o.literal(cb),actionId:o.string().min(1).max(H.MAX_REF_LENGTH),tool:o.string().min(1).max(H.MAX_COMMAND_NAME_LENGTH),args:o.record(o.unknown()).default({}),effect:o.unknown().optional(),settled:o.boolean().optional(),settledInMs:o.number().int().min(0).optional(),seqRange:o.object({from:o.number().int().min(0),to:o.number().int().min(0)}).optional(),tRange:o.object({from:o.number().int().min(0),to:o.number().int().min(0)}),at:o.number().int().min(0)}),xU=o.object({v:o.literal(cb),channel:o.literal(Ql.JOURNAL),capBytes:o.number().int().min(1).optional(),bytesOnDisk:o.number().int().min(0).optional(),droppedInBatch:o.number().int().min(0).optional(),at:o.number().optional()}),AU=o.object({claim:o.string().min(1).max(H.MAX_STRING_LENGTH),verified:o.nativeEnum(us),source:o.string().max(H.MAX_URL_LENGTH).optional(),kind:o.nativeEnum(y).optional(),declaredBeforeActing:o.boolean().optional(),grade:o.string().max(H.MAX_STRING_LENGTH).optional(),couldNotSee:o.array(o.string().max(H.MAX_STRING_LENGTH)).optional(),reason:o.string().max(H.MAX_STRING_LENGTH).optional()})});var db=T(()=>{"use strict"});var NU,ub=T(()=>{"use strict";ne();NU=o.object({port:o.number(),pid:o.number(),cwd:o.string(),projectId:o.string().optional(),startedAt:o.number()})});var CU,pb=T(()=>{"use strict";ne();CU=o.object({port:o.number(),pid:o.number(),root:o.string(),url:o.string(),sdkVersion:o.string().min(1).optional(),startedAt:o.number(),projectId:o.string().optional()})});var pw,kU,fb=T(()=>{"use strict";ne();pw=o.object({directory:o.string().min(1),lastSeenAt:o.number()}),kU=o.object({version:o.literal(1),projects:o.record(o.string(),pw)})});var fw,lf,hw,mw,gw,PU,hb=T(()=>{"use strict";ne();fw=1,lf={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},hw=o.object({route:o.string().optional(),flow:o.string().optional(),files:o.array(o.string()).optional()}),mw=o.object({verdictId:o.string(),grade:o.string(),at:o.number()}),gw=o.object({id:o.string().min(1),statement:o.string().min(1),state:o.enum([lf.DECLARED,lf.BOUND,lf.PROVED]),declaredAt:o.number(),binding:o.unknown().optional(),surface:hw.optional(),provenBy:mw.optional(),amended:o.array(o.object({statement:o.string(),at:o.number()})).optional()}),PU=o.object({version:o.literal(fw),intents:o.record(o.string(),gw)})});var mb=T(()=>{"use strict"});var fr,HU,gb=T(()=>{"use strict";fr={NO_SOURCE_MAPPING:"no-source-mapping",NO_STORE_REGISTERED:"no-store-registered",NO_SIGNAL_ON_MUTATION:"no-signal-on-mutation",UNDECLARED_CONTROL:"undeclared-control",MISSING_TESTID:"missing-testid",UNDECLARED_CHANGE:"undeclared-change",INTENT_UNDISCHARGED:"intent-undischarged",NO_FLOW_INTENT:"no-flow-intent",SOURCE_MAPPING_OFF:"source-mapping-off"},HU={[fr.NO_SOURCE_MAPPING]:"add the Reticle build plugin (@reticlehq/vite-plugin, @reticlehq/next, or the babel plugin) so elements carry data-reticle-source",[fr.NO_STORE_REGISTERED]:"register the store itself with reticle.registerStore(name, store), or registerStore(name, getState, subscribe), so its changes are observed \u2014 a bare getter can be read but never reports a change",[fr.NO_SIGNAL_ON_MUTATION]:"fire reticle.signal(name, data) where this state is committed \u2014 commitAndSignal binds the two so they cannot drift",[fr.UNDECLARED_CONTROL]:"add this control to reticle.describe() so the capability contract matches what the app actually exposes",[fr.MISSING_TESTID]:'add data-testid="..." on this control so the flow can name it after a refactor',[fr.UNDECLARED_CHANGE]:'declare it with reticle_intent { action: "declare", intents: [{ id, statement }] } \u2014 the statement is prose, in your own words: which user does what, and what should become true',[fr.INTENT_UNDISCHARGED]:'draw a verdict whose `until` asserts the intent itself, then it discharges \u2014 or call reticle_run({ tool: "reticle_context" }) to see exactly what is still owed',[fr.SOURCE_MAPPING_OFF]:"nothing to install \u2014 this build has sourceMapping turned off, so no element carries data-reticle-source. Re-enable it in the Reticle plugin options unless this app renders through a non-DOM reconciler (react-three-fiber, react-pdf, ink), where the stamp is what would break it",[fr.NO_FLOW_INTENT]:'save it again with intent: "<which user does what, and what should become true>" \u2014 prose, in your own words \u2014 or set intentId to an intent already in the ledger'}});function df(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(Tw.includes(e))return!0;let n=e.split(".");return Sw===n.length&&_w===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let i=Number(r);return i>=0&&i<=xw})}function Eb(t,e){return df(e)||Aw.includes(t.toLowerCase())?!0:e.toLowerCase()===yw}function bb(t,e){return e!==void 0&&bw.has(e.trim().toLowerCase())?!1:Ew.test(t.replace(/[_-]+/g," "))}var Ew,bw,Tw,_w,Sw,xw,Aw,yw,Tb=T(()=>{"use strict";Ew=/\b(delete|remove|destroy|erase|drop|terminate|revoke|reset|close account|cancel subscription|purchase|buy|pay|payment|place order|confirm order|send money|send funds|transfer|withdraw|refund)\b/i,bw=new Set(["option","radio"]),Tw=["localhost","::1","0:0:0:0:0:0:0:1"],_w="127",Sw=4,xw=255;Aw=["file:","app:","tauri:"],yw="tauri.localhost"});function Rw(t){return Array.isArray(t)||typeof t=="string"}function vw(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),uf],total:t.length+1};if(typeof t=="string")return{keys:[uf],total:1};if(t instanceof Map){let e=[],n=0;for(let r of t.keys())n+=1,typeof r=="string"&&e.length<49&&e.push(r);return t.has(oc)?{keys:e,total:n}:{keys:[...e,oc],total:n+1}}if(t instanceof Set){let e=[];for(let n of t)typeof n=="string"&&e.length<49&&e.push(n);return{keys:[...e,oc],total:t.size+1}}if(typeof t=="object"&&t!==null){let e=Object.keys(t);return{keys:e.slice(0,50),total:e.length}}return{keys:[],total:0}}function _d(t){let{keys:e,total:n}=vw(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function _b(t,e){let n=e.split(".").filter(i=>i.length>0),r=t;for(let i of n){if(uf===i&&Rw(r)){r=r.length;continue}if(Array.isArray(r)){let s=Number(i);if(!Number.isInteger(s)||s<0||String(s)!==i||s>=r.length)return _d(r);r=r[s];continue}if(r instanceof Map){if(r.has(i)){r=r.get(i);continue}if(oc===i){r=r.size;continue}return _d(r)}if(r instanceof Set){if(oc===i){r=r.size;continue}if(r.has(i)){r=!0;continue}return _d(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,i)){r=r[i];continue}return _d(r)}return{found:!0,value:r}}function gs(t,e){if(e<0)return t;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Set)return e===0?`[Set(${String(t.size)})]`:[...t].map(n=>gs(n,e-1));if(t instanceof Map){if(e===0)return`{Map(${String(t.size)})}`;let n=Object.create(null);for(let[r,i]of t)n[String(r)]=gs(i,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>gs(n,e-1));if(typeof t=="object"&&t!==null){let n=Object.keys(t);if(e===0)return`{\u2026${String(n.length)} keys}`;let r=Object.create(null);for(let i of n)r[i]=gs(t[i],e-1);return r}return t}var uf,oc,Sb=T(()=>{"use strict";uf="length";oc="size"});var VU,KU,xb=T(()=>{"use strict";Ot();VU={[re.ENABLED]:"en",[re.DISABLED]:"dis",[re.CHECKED]:"chk",[re.EXPANDED]:"exp",[re.PRESSED]:"prs",[re.FOCUSED]:"focus"},KU=new Set([re.PRESENT,re.VISIBLE,re.HIDDEN])});var ti,YU,qU,Ab=T(()=>{"use strict";ne();ti={SHARE_PROOF:"share_proof",RUN_HISTORY:"run_history",TEAM_REVIEW:"team_review",CORPUS_HEAL:"corpus_heal",CI_GATE:"ci_gate",HOSTED_RUNNER:"hosted_runner"},YU=o.object({capability:o.nativeEnum(ti),reason:o.string(),unlockedBy:o.string(),learnMoreUrl:o.string().url()}),qU={[ti.SHARE_PROOF]:{reason:"Sharing a verification result with a teammate needs a hosted, linkable proof page.",unlockedBy:"Link a free Reticle Cloud account (reticle login), then share the run."},[ti.RUN_HISTORY]:{reason:"Run history beyond this session lives in the hosted dashboard; local keeps only a buffer.",unlockedBy:"Link a free Reticle Cloud account to keep run history and trends."},[ti.TEAM_REVIEW]:{reason:"A shared review queue of pinned mistakes is a team feature \u2014 it needs a hosted store.",unlockedBy:"Add your team to Reticle Cloud to share a review queue."},[ti.CORPUS_HEAL]:{reason:"Corpus-ranked heal uses refactor outcomes learned across the fleet, served from the cloud.",unlockedBy:"Enable the hosted heal service on Reticle Cloud."},[ti.CI_GATE]:{reason:"Verify-before-merge is a governance gate that runs in your CI against a hosted policy.",unlockedBy:"Configure the Reticle Cloud CI gate for your repository."},[ti.HOSTED_RUNNER]:{reason:"Verifying without a local browser (CI, a background agent, or a deployed URL) needs a browser we run for you.",unlockedBy:"Link a Reticle Cloud account to run verifications on hosted browsers."}}});var ic,yb,Rb,Nw,vb,Nb=T(()=>{"use strict";ne();ic={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},yb={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},Rb={[ic.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[ic.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[ic.FIRST_RUN]:["project_detected","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},Nw=Object.values(Rb).flatMap(t=>[...t]),vb=o.object({phase:o.nativeEnum(ic),step:o.enum(Nw),status:o.nativeEnum(yb),elapsedMs:o.number().int().nonnegative().optional(),reason:o.string().max(64).optional(),stack:o.string().max(64).optional(),unattended:o.boolean().optional()})});var Ob,pf=T(()=>{"use strict";Ob={AUTH_REFUSED:"auth_refused",LEASE_EXPIRED:"lease_expired",TAB_GONE:"tab_gone",ROUTE_SERVER_ERROR:"route_server_error",APP_NOT_REOPENED:"app_not_reopened",CONFIG_ELSEWHERE:"config_elsewhere",NO_LISTENER_NO_CONFIG:"no_listener_no_config",NO_LISTENER:"no_listener",NO_CONFIG:"no_config",SDK_NOT_REACHING_DAEMON:"sdk_not_reaching_daemon"}});var Ow,wb,ff=T(()=>{"use strict";ne();pf();Ow={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},wb=o.object({tool:o.string().min(1).max(64),reason:o.nativeEnum(Ow),noSessionReason:o.nativeEnum(Ob).optional(),retried:o.boolean()})});var Cb,ww,Cw,hf,Iw,Lw,Ib,kw,Dw,Lb,mf=T(()=>{"use strict";ne();Cb=o.object({fingerprint:o.string().min(1).max(64),count:o.number().int().nonnegative(),message:o.string().max(300),tool:o.string().max(64).optional()}),ww={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},Cw={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},hf=o.object({rssMb:o.number().int().nonnegative(),heapUsedMb:o.number().int().nonnegative(),freeMemMb:o.number().int().nonnegative(),totalMemMb:o.number().int().nonnegative(),load1x100:o.number().int().nonnegative(),cpuCount:o.number().int().nonnegative()}),Iw=o.object({totalMs:o.number().int().nonnegative(),maxMs:o.number().int().nonnegative()}),Lw=o.object({attempts:o.number().int().nonnegative(),successes:o.number().int().nonnegative(),failures:o.record(o.string(),o.number().int().nonnegative()).optional()}),Ib=o.object({durationMs:o.number().int().nonnegative(),toolCalls:o.number().int().nonnegative(),toolCounts:o.record(o.string(),o.number().int().nonnegative()),toolErrors:o.number().int().nonnegative(),errors:o.array(Cb).max(40).optional(),sdkFailures:o.number().int().nonnegative().optional(),sdkErrors:o.array(Cb).max(40).optional(),verifications:o.number().int().nonnegative(),bugsFound:o.number().int().nonnegative().optional(),bugKinds:o.record(o.string(),o.number().int().nonnegative()).optional(),toolParams:o.record(o.string(),o.record(o.string(),o.number().int().nonnegative())).optional(),connections:o.record(o.string(),Lw).optional(),toolTiming:o.record(o.string(),Iw).optional(),busyMs:o.number().int().nonnegative().optional(),browserMs:o.number().int().nonnegative().optional(),browserCommands:o.number().int().nonnegative().optional(),peakConcurrentTools:o.number().int().nonnegative().optional(),unknownToolCalls:o.number().int().nonnegative().optional(),unknownTools:o.record(o.string().max(64),o.number().int().nonnegative()).optional(),noSessionErrors:o.number().int().nonnegative().optional(),postSocketFailures:o.number().int().nonnegative().optional(),postRetriesSaved:o.number().int().nonnegative().optional(),consecutiveRepeats:o.record(o.number().int().positive()).optional(),abandonedActions:o.number().int().nonnegative().optional(),machine:hf.optional(),clients:o.array(o.string().max(64)).max(8).optional(),clientVersions:o.record(o.string().max(64),o.string().max(32)).optional(),surface:o.string().max(32).optional(),appConnects:o.number().int().nonnegative().optional(),msToFirstApp:o.number().int().nonnegative().optional(),endReason:o.enum(["never_used","explored","abandoned","verified","client_left"]).optional(),feedbackPrompted:o.number().int().nonnegative().optional(),errorClasses:o.record(o.string().max(16),o.number().int().nonnegative()).optional(),errorsRecovered:o.number().int().nonnegative().optional(),errorsRepeated:o.number().int().nonnegative().optional(),endedWithVerdict:o.boolean().optional(),updateNudged:o.boolean().optional(),updateOffered:o.string().max(32).optional(),hudControls:o.record(o.number()).optional(),hudViewMs:o.record(o.number()).optional(),hudPanelMs:o.record(o.number()).optional(),hudJourney:o.array(o.string().max(64)).max(60).optional(),hudJourneyCut:o.literal(!0).optional(),final:o.boolean(),exit:o.enum(["idle","signal","unknown"]).optional()}),kw={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},Dw={NO_APP_FOUND:"no_app_found",MANIFEST_UNRECOGNISED:"manifest_unrecognised",WORKSPACE_APPS_UNRECOGNISED:"workspace_apps_unrecognised",WORKSPACE_ROOT_NO_APPS:"workspace_root_no_apps",DISCOVERY_FAILED:"discovery_failed"},Lb=o.object({stack:o.string().min(1).max(64).optional(),stackSource:o.enum(["cwd","workspace"]).optional(),stackUnknownReason:o.nativeEnum(Dw).optional(),stackMajor:o.number().int().nonnegative().optional(),size:o.nativeEnum(kw).optional(),monorepo:o.boolean().optional(),git:o.nativeEnum(ww),forge:o.nativeEnum(Cw).optional(),ageWeeks:o.number().int().nonnegative().optional(),flowCount:o.number().int().nonnegative(),baselineCount:o.number().int().nonnegative(),visualBaselineCount:o.number().int().nonnegative(),runCount:o.number().int().nonnegative(),hasContract:o.boolean(),initialized:o.boolean().optional(),appConnectedBefore:o.boolean().optional(),capsuleCount:o.number().int().nonnegative(),featuresUsed:o.array(o.string().max(32)).max(24),featureDepth:o.number().min(0).max(1)})});var kb,gf=T(()=>{"use strict";kb={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var Mw,en,hH,Pw,$w,Uw,Hw,Fw,Db,Bw,Gw,jw,Vw,Kw,Ww,zw,Yw,qw,Xw,Zw,Qw,Jw,mH,Mb=T(()=>{"use strict";ne();Nb();ff();mf();hs();Xo();hs();gf();Mw=3,en={RETICLE_INSTALLED:"reticle_installed",CLI_COMMAND_RUN:"cli_command_run",DAEMON_STARTED:"daemon_started",DAEMON_STOPPED:"daemon_stopped",SESSION_PROGRESS:"session_progress",VERIFICATION_COMPLETED:"verification_completed",PROJECT_PROFILED:"project_profiled",VERSION_CHANGED:"version_changed",RUNTIME_CRASHED:"runtime_crashed",FEEDBACK_SUBMITTED:"feedback_submitted",IDENTIFIED:"identified",MCP_CLIENT_CONNECTED:"mcp_client_connected",APP_INSTRUMENTED:"app_instrumented",MCP_CONNECTION_LOST:"mcp_connection_lost",INIT_COMPLETED:"init_completed",ONBOARDING_STEP:"onboarding_step",BUG_FOUND:"bug_found",TOOL_REFUSED:"tool_refused"},hH=new Set([en.DAEMON_STARTED,en.DAEMON_STOPPED,en.SESSION_PROGRESS,en.MCP_CLIENT_CONNECTED,en.APP_INSTRUMENTED,en.PROJECT_PROFILED,en.VERIFICATION_COMPLETED,en.BUG_FOUND,en.RUNTIME_CRASHED,en.FEEDBACK_SUBMITTED,en.TOOL_REFUSED]),Pw={HUMAN:"human",AGENT:"agent"},$w={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},Uw={HARNESS:"harness"},Hw=o.object({via:o.string().min(1).max(64),verified:o.string().min(1).max(16),passed:o.boolean(),falseGreenCaught:o.boolean(),durationMs:o.number().int().nonnegative().optional(),browser:o.string().min(1).max(16).optional(),brand:o.nativeEnum(Ne).optional(),reason:o.nativeEnum($e).optional(),uncleanLoss:o.nativeEnum(aE).optional(),driven:o.nativeEnum(Uw).optional()}),Fw=o.object({from:o.string().min(1).max(64),to:o.string().min(1).max(64),nudged:o.boolean().optional(),direction:o.string().min(1).max(16)}),Db={RETICLE:"reticle",OTHER:"other"},Bw=o.object({kind:o.string().min(1).max(32),errorType:o.string().min(1).max(64).optional(),fingerprint:o.string().min(1).max(64).optional(),message:o.string().max(300).optional(),frames:o.array(o.string().max(120)).max(12).optional(),tool:o.string().min(1).max(64).optional(),breadcrumb:o.array(o.string().max(64)).max(12).optional(),nodeVersion:o.string().max(24).optional(),arch:o.string().max(16).optional(),machine:hf.optional(),syscall:o.string().max(32).optional(),errno:o.string().max(32).optional(),loopback:o.boolean().optional(),port:o.enum([Db.RETICLE,Db.OTHER]).optional(),internalFrame:o.string().max(64).optional()}),Gw={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},jw={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},Vw=o.object({source:o.nativeEnum(Gw),kind:o.string().min(1).max(64),falseGreen:o.boolean(),tool:o.string().min(1).max(64).optional(),repeat:o.boolean(),attribution:o.nativeEnum(jw),fingerprint:o.string().max(16).optional()}),Kw=o.object({reconnect:o.boolean(),daemonAgeMs:o.number().int().nonnegative(),client:o.string().min(1).max(64).optional(),appConnected:o.boolean().optional()}),Ww=o.object({initialized:o.boolean(),agentAttached:o.boolean(),msToFirstApp:o.number().int().nonnegative()}),zw={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},Yw={SSE_ENDED:"sse_ended",DAEMON_SHUTDOWN:"daemon_shutdown",SSE_ERROR:"sse_error",SSE_ABORTED:"sse_aborted",SSE_CLOSED:"sse_closed",CONNECT_ERROR:"connect_error",OTHER:"other"},qw=o.object({stage:o.nativeEnum(zw),reason:o.nativeEnum(Yw),attempts:o.number().int().nonnegative(),pendingLost:o.number().int().nonnegative().optional()}),Xw={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",DOCS_SITE:"docs_site",README:"readme",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},Zw={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",NO_TTY:"no_tty"},Qw={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},Jw=o.object({ok:o.boolean(),reason:o.string().max(64).optional(),stack:o.string().max(64).optional(),mcpRegistered:o.boolean().optional(),confirmation:o.nativeEnum(Qw).optional()}),mH=o.object({v:o.literal(Mw),anonymousId:o.string().min(1).max(128),projectId:o.string().min(1).max(128).optional(),sessionId:o.string().min(1).max(64).optional(),event:o.nativeEnum(en),ts:o.number().int().nonnegative(),version:o.string().min(1).max(64),ci:o.boolean(),automation:o.nativeEnum(Zw).optional(),projectIdSource:o.nativeEnum($w).optional(),os:o.string().min(1).max(32),tzOffsetMin:o.number().int().min(-900).max(900).optional(),feedback:qE.optional(),actor:o.nativeEnum(Pw).optional(),command:o.string().min(1).max(32).optional(),flags:o.array(o.string().max(32)).max(16).optional(),session:Ib.optional(),project:Lb.optional(),verification:Hw.optional(),versionChange:Fw.optional(),crash:Bw.optional(),identity:XE.optional(),connection:Kw.optional(),init:Jw.optional(),onboarding:vb.optional(),bug:Vw.optional(),refusal:wb.optional(),outage:qw.optional(),instrumentation:Ww.optional(),installSource:o.nativeEnum(Xw).optional(),licenseId:o.string().min(1).max(64).optional(),licenseStatus:o.nativeEnum(kb).optional(),licenseKeyPresent:o.boolean().optional()})});var Pb=T(()=>{"use strict"});var TH,$b=T(()=>{"use strict";hp();TH={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:is.ACT,ACT_SEQUENCE:is.ACT_SEQUENCE,ACT_AND_WAIT:is.ACT_AND_WAIT,OBSERVE:"reticle_observe",LINEAGE:"reticle_lineage",WAIT_FOR:"reticle_wait_for",NETWORK:"reticle_network",CONSOLE:"reticle_console",ANIMATIONS:"reticle_animations",ASSERT:"reticle_assert",RECONCILE:"reticle_reconcile",BASELINE_SAVE:"reticle_baseline_save",BASELINE_LIST:"reticle_baseline_list",DIFF:"reticle_diff",RECORD_START:"reticle_record_start",RECORD_STOP:"reticle_record_stop",REPLAY:"reticle_replay",EXPLORE:"reticle_explore",NARRATE:"reticle_narrate",CLOCK:"reticle_clock",STATE:"reticle_state",STORAGE:"reticle_storage",CAPABILITIES:"reticle_capabilities",CONTRACT_SAVE:"reticle_contract_save",DOMAIN:"reticle_domain",FLOW_SAVE:"reticle_flow_save",FLOW_LIST:"reticle_flow_list",FLOW_LOAD:"reticle_flow_load",FLOW_DELETE:"reticle_flow_delete",FLOW_REPLAY:"reticle_flow_replay",FLOW_VERIFY:"reticle_flow_verify",FLOW_SAVE_RECORDED:"reticle_flow_save_recorded",FLOW_HEAL:"reticle_flow_heal",FLOW_MUTATE:"reticle_flow_mutate",ANNOTATE:"reticle_annotate",AFFECTED:"reticle_affected",COVERAGE:"reticle_coverage",VERIFY_CHANGE:"reticle_verify_change",VERIFY_EXPLORE:"reticle_verify_explore",INTENT:"reticle_intent",CONTEXT:"reticle_context",VERIFY:"reticle_verify",PROJECT:"reticle_project",MEMORY:"reticle_memory",RUN_RECORD:"reticle_run_record",SCREENSHOT:"reticle_screenshot",NETWORK_MOCK:"reticle_network_mock",VIEWPORT:"reticle_viewport",VISUAL_DIFF:"reticle_visual_diff",CRAWL:"reticle_crawl",SCROLL_TO:"reticle_scroll_to",SESSION_TUNE:"reticle_session_tune",END_SESSION:"reticle_end_session",YIELD:"reticle_yield",RESUME:"reticle_resume",MESSAGES:"reticle_messages",REVIEW:"reticle_review",WAIT_READY:"reticle_wait_ready",NAVIGATE:"reticle_navigate",REFRESH:"reticle_refresh",RUN_EXPORT:"reticle_run_export",BASELINE:"reticle_baseline",SESSION:"reticle_session",RECORD:"reticle_record",FLOW:"reticle_flow",LEASE:"reticle_lease",LEASE_ACQUIRE:"reticle_lease_acquire",LEASE_RELEASE:"reticle_lease_release",TOOLS:"reticle_tools",RUN:"reticle_run",FEEDBACK:"reticle_feedback"}});var Ub=T(()=>{"use strict"});var Hb=T(()=>{"use strict"});var vH,NH,OH,Fb=T(()=>{"use strict";Qa();hs();hd();vH={[Jr.WEB]:{surface:Qt.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[Jr.ELECTRON]:{surface:Qt.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[Jr.TAURI]:{surface:Qt.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},NH={[Jr.WEB]:Hn.WEB,[Jr.ELECTRON]:Hn.WEBVIEW,[Jr.TAURI]:Hn.WEBVIEW},OH={[Qt.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Qt.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Qt.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[Qt.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[Qt.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[Qt.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var jb,eC,tC,Bb,nC,Vb,rC,Gb,oC,iC,sC,Kb,Wb=T(()=>{"use strict";ne();jb=o.object({calls:o.number().int().nonnegative(),verdicts:o.number().int().nonnegative(),passed:o.number().int().nonnegative(),failed:o.number().int().nonnegative(),unknown:o.number().int().nonnegative(),refusals:o.number().int().nonnegative(),marks:o.number().int().nonnegative(),sessions:o.number().int().nonnegative(),tokensReturned:o.number().int().nonnegative(),drivingMs:o.number().int().nonnegative()}),eC=o.object({date:o.string(),counts:jb}),tC=o.object({longestRunMs:o.number().int().nonnegative(),bestVerdictDay:o.number().int().nonnegative(),bestDefectDay:o.number().int().nonnegative(),streakDays:o.number().int().nonnegative(),bestStreakDays:o.number().int().nonnegative()}),Bb=o.object({value:o.number().nonnegative(),basis:o.string()}),nC=o.object({tokens:Bb,minutes:Bb}),Vb=10,rC=o.object({at:o.number().int().nonnegative(),title:o.string(),detail:o.string().optional(),source:o.string().optional()}),Gb=o.object({counts:jb,days:o.array(eC),records:tC,savings:nC,since:o.number().int().nonnegative(),defects:o.array(rC).default([])}),oC=o.object({signedIn:o.boolean(),org:o.string().optional(),email:o.string().optional(),host:o.string().optional()}),iC=o.object({claimed:o.boolean(),expiresAt:o.number().optional(),daysRemaining:o.number().optional(),claimUrl:o.string().optional(),drivable:o.boolean().optional(),eligible:o.boolean().optional()}),sC=o.object({provider:o.string(),harnessEnabled:o.boolean(),harnessEntitled:o.boolean()}),Kb=o.object({schemaVersion:o.number().int().positive(),project:Gb,global:Gb,projectName:o.string().optional(),dashboardUrl:o.string().optional(),account:oC.optional(),harnessOffer:iC.optional(),harnessConfig:sC.optional()})});var zb=T(()=>{"use strict"});function Es(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619)>>>0;return e.toString(16).padStart(8,"0")}function Yb(t){let e=Object.keys(t).sort().map(n=>`${n}:${[...t[n]??[]].sort().join(",")}`).join("|");return Es(e)}var Ef,sc,qb=T(()=>{"use strict";Ot();Ef=Yb({messageKinds:Object.values(ft),commands:Object.values(C),actions:Object.values(R),events:Object.values(b)}),sc={commands:Object.values(C),events:Object.values(b),actions:Object.values(R)}});var Xb,Zb=T(()=>{"use strict";Xb="[Reticle] this page could not open a websocket to "});var D=T(()=>{"use strict";pg();bE();TE();_E();Ot();xE();yE();vE();Xo();NE();OE();zp();Yp();ME();$E();UE();af();ZE();QE();qa();hp();EE();Ep();JE();kp();Dp();tb();pd();nb();rb();ur();Fp();Up();Gp();jp();Vp();ob();ab();lb();db();ub();pb();fb();hb();mb();gb();Tb();nf();Sb();xb();Ab();Mb();pf();ff();Pb();$b();Ub();hd();md();Hb();Fb();mf();gf();hs();Wb();zb();qb();Zb()});function ni(t){let e=H.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${aC}`}function dC(t){try{let e=t?.getItem(tT),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var eT,aC,bf,cC,tT,lC,cc,je,lc,hr,bs,Ts,_s,mr,nT,Tf,rT,ac,X,gt=T(()=>{"use strict";D();eT=1e4,aC="\u2026",bf="e";cC=1e3,tT="__reticle_ref_base",lC=100;ac=class{constructor(e=()=>globalThis.sessionStorage){m(this,mr);m(this,cc,new WeakMap);m(this,je,new Map);m(this,lc);m(this,hr,0);m(this,bs,0);m(this,Ts,0);m(this,_s,0);p(this,lc,e)}get size(){return c(this,je).size}markEdited(){p(this,_s,c(this,hr))}mintedBeforeLastEdit(e){if(c(this,_s)===0||!e.startsWith(bf))return!1;let n=Number(e.slice(bf.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,_s)}refFor(e){let n=c(this,cc).get(e);if(n!==void 0){let i=c(this,je).get(n);return c(this,je).delete(n),c(this,je).set(n,i??new WeakRef(e)),n}c(this,hr)>=c(this,bs)&&h(this,mr,nT).call(this),p(this,hr,c(this,hr)+1);let r=eb(`${bf}${String(c(this,hr))}`);return c(this,cc).set(e,r),c(this,je).set(r,new WeakRef(e)),p(this,Ts,c(this,Ts)+1),c(this,Ts)>=cC?(p(this,Ts,0),h(this,mr,rT).call(this)):c(this,je).size>eT&&h(this,mr,Tf).call(this),r}resolve(e){let n=c(this,je).get(e);if(n===void 0)return null;let r=n.deref();return r===void 0||!r.isConnected?(c(this,je).delete(e),null):(c(this,je).delete(e),c(this,je).set(e,n),r)}};cc=new WeakMap,je=new WeakMap,lc=new WeakMap,hr=new WeakMap,bs=new WeakMap,Ts=new WeakMap,_s=new WeakMap,mr=new WeakSet,nT=function(){let e;try{e=c(this,lc).call(this)}catch{e=void 0}let n=Math.max(dC(e),c(this,hr));p(this,bs,n+lC);try{e?.setItem(tT,String(c(this,bs)))}catch{}p(this,hr,n)},Tf=function(){let e=c(this,je).keys().next();e.done!==!0&&c(this,je).delete(e.value)},rT=function(){for(let[e,n]of c(this,je)){let r=n.deref();(r===void 0||!r.isConnected)&&c(this,je).delete(e)}for(;c(this,je).size>eT;)h(this,mr,Tf).call(this)};X=new ac});function he(t,e){return t[e]}function oT(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:he(e,"set")}var to=T(()=>{"use strict"});function TC(){for(let t of no)t.deref()===void 0&&no.delete(t);for(;no.size>EC;){let t=no.values().next();if(t.done===!0)break;no.delete(t.value)}}function aT(){let t=[];for(let e of no){let n=e.deref();n!==void 0&&t.push(n)}return t}function sT(t,e){if(!iT.has(t)){iT.add(t),no.add(new WeakRef(t)),Af+=1,Af>=bC&&(Af=0,TC()),yf.add(e);for(let n of Sd)n(t)}}function cT(){return aT()}function lT(t){return yf.has(t)}function As(t){if(!yf.has(t))return null;for(let e of aT())if(e.host===t)return e;return null}function dT(t){return Sd.add(t),()=>Sd.delete(t)}function uT(){let t=Element.prototype,e=he(t,"attachShadow");if(typeof e!="function")return()=>{};xf+=1;let n=function(s){let a=e.call(this,s);return sT(a,this),a};t.attachShadow=n;let r=i=>{for(let s of i.querySelectorAll("*")){let a=s.shadowRoot;a!==null&&(sT(a,s),r(a))}};return document.documentElement!==null&&r(document.documentElement),()=>{he(t,"attachShadow")===n&&(t.attachShadow=e),xf-=1,!(xf>0)&&(no.clear(),Sd.clear())}}var xf,no,iT,yf,EC,bC,Af,Sd,ys=T(()=>{"use strict";to();xf=0,no=new Set,iT=new WeakSet,yf=new WeakSet,EC=4e3,bC=250,Af=0;Sd=new Set});function pT(t,e){if(t===null||typeof t!="object")return;let r=(t.ownerDocument??t).defaultView;if(r!=null)return r[e]}function Dt(t,e,n){let r=pT(t,e)??n;return typeof r=="function"&&t instanceof r}function ET(t){let e=Et(t)?"HTMLTextAreaElement":"HTMLInputElement",n=pT(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var gr,Rf,bn,_C,ri,me,Et,Tn,Rs,fT,hT,mT,gT,xd,_n=T(()=>{"use strict";gr=t=>Dt(t,"Element",typeof Element>"u"?void 0:Element),Rf=t=>Dt(t,"HTMLImageElement",typeof HTMLImageElement>"u"?void 0:HTMLImageElement),bn=t=>Dt(t,"HTMLElement",typeof HTMLElement>"u"?void 0:HTMLElement),_C=t=>Dt(t,"SVGElement",typeof SVGElement>"u"?void 0:SVGElement),ri=t=>bn(t)||_C(t),me=t=>Dt(t,"HTMLInputElement",typeof HTMLInputElement>"u"?void 0:HTMLInputElement),Et=t=>Dt(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement>"u"?void 0:HTMLTextAreaElement),Tn=t=>Dt(t,"HTMLSelectElement",typeof HTMLSelectElement>"u"?void 0:HTMLSelectElement),Rs=t=>Dt(t,"HTMLButtonElement",typeof HTMLButtonElement>"u"?void 0:HTMLButtonElement),fT=t=>Dt(t,"HTMLMeterElement",typeof HTMLMeterElement>"u"?void 0:HTMLMeterElement),hT=t=>Dt(t,"HTMLOutputElement",typeof HTMLOutputElement>"u"?void 0:HTMLOutputElement),mT=t=>Dt(t,"HTMLProgressElement",typeof HTMLProgressElement>"u"?void 0:HTMLProgressElement),gT=t=>Dt(t,"HTMLFormElement",typeof HTMLFormElement>"u"?void 0:HTMLFormElement),xd=t=>Dt(t,"HTMLIFrameElement",typeof HTMLIFrameElement>"u"?void 0:HTMLIFrameElement)});function bT(t){return(t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi)??[]).map(n=>Number(n))}function AC(t){return/NaN|Infinity/i.test(t)?!0:bT(t).some(e=>!Number.isFinite(e))}function yC(t){let e=bT(t).filter(s=>Number.isFinite(s));if(e.length===0)return!0;let n=e.filter((s,a)=>a%2===0),r=e.filter((s,a)=>a%2===1),i=s=>s.every(a=>a===s[0]);return n.length>1&&i(n)&&i(r)}function Ad(t){let e=[],n=0;for(let i of SC)for(let s of Array.from(t.querySelectorAll(i)))for(let a of xC){let l=s.getAttribute(a);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;AC(l)?e.push({kind:"non-finite-coordinates",tag:i,attr:a,sample:d}):l.trim().length===0?e.push({kind:"empty-geometry",tag:i,attr:a,sample:d}):yC(l)&&e.push({kind:"degenerate-geometry",tag:i,attr:a,sample:d})}let r=t.querySelectorAll("canvas").length>0;return{examined:n,findings:e,canvas:r}}function TT(t,e){let n=e.Chart?.getChart?.(t);if(n!=null)return{library:"chartjs",data:n.data??null};let r=e.echarts?.getInstanceByDom?.(t);return r!=null?{library:"echarts",data:r.getOption?.()??null}:null}var SC,xC,vf=T(()=>{"use strict";SC=["path","polyline","polygon"],xC=["d","points"]});function pc(t,e,n){let r=Math.max(0,Math.min(n,e.remainingCharacters));if(t.length<=r)return e.remainingCharacters-=t.length,t;e.truncatedValues+=1;let i=r<=fc.length?fc.slice(0,r):`${t.slice(0,r-fc.length)}${fc}`;return e.remainingCharacters-=i.length,i}function hc(t,e,n,r){if(r!==void 0&&He(r))return ye;if(n>H.MAX_SERIALIZE_DEPTH||e.nodes>=vs)return e.truncatedValues+=1,fc;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return pc(t,e,r?.toLowerCase()==="error"?H.MAX_ERROR_LENGTH:H.MAX_STRING_LENGTH);if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="bigint")return t.toString();if(typeof t>"u"||typeof t=="function"||typeof t=="symbol")return Ns;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Map){let i=Object.create(null),s=0;for(let[a,l]of t){if(e.nodes>=vs||s>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let d=pc(typeof a=="string"?a:String(a),e,_T),u=hc(l,e,n+1,d);u!==Ns&&(i[d]=u),s+=1}return i}if(t instanceof Set){let i=[],s=0;for(let a of t){if(e.nodes>=vs||s>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let l=hc(a,e,n+1);i.push(l===Ns?null:l),s+=1}return i}if(ArrayBuffer.isView(t)&&!(t instanceof DataView)){let i=t.length,s=[],a=0;for(let l of t){if(e.nodes>=vs||a>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=i-a;break}s.push(l),e.nodes+=1,a+=1}return s}if(t instanceof Error)return{name:pc(t.name,e,256),message:pc(t.message,e,H.MAX_ERROR_LENGTH)};if(e.seen.has(t))return"[CIRCULAR]";e.seen.add(t);try{if(Array.isArray(t)){let d=[],u=t.slice(0,H.MAX_COLLECTION_ITEMS);e.droppedItems+=Math.max(0,t.length-u.length);for(let f of u){if(e.nodes>=vs){e.droppedItems+=1;continue}let g=hc(f,e,n+1);if(e.nodes>=vs){e.droppedItems+=1;continue}d.push(g===Ns?null:g)}return d}let i=Object.create(null),s=Object.keys(t),a=s.slice(0,H.MAX_OBJECT_KEYS);e.droppedItems+=Math.max(0,s.length-a.length);let l=a.map(d=>{try{let u=t[d];return{key:d,value:u,scalar:u===null||typeof u!="object",ok:!0}}catch{return{key:d,value:void 0,scalar:!0,ok:!1}}});for(let d of[...l.filter(u=>u.scalar),...l.filter(u=>!u.scalar)]){let u=pc(d.key,e,_T);if(!d.ok){i[u]=Nf;continue}try{let f=hc(d.value,e,n+1,d.key);f!==Ns&&(i[u]=f)}catch{i[u]=Nf}}return i}finally{e.seen.delete(t)}}function mc(t){return gc(t).value}function gc(t){let e={seen:new WeakSet,remainingCharacters:RC,nodes:0,droppedItems:0,truncatedValues:0},n=hc(t,e,0),r=n===Ns?null:n;if(e.droppedItems===0&&e.truncatedValues===0)return{value:r};let i=[];return e.droppedItems>0&&i.push(`${e.droppedItems} item(s) dropped`),e.truncatedValues>0&&i.push(`${e.truncatedValues} value(s) truncated`),{value:r,truncation:{droppedItems:e.droppedItems,truncatedValues:e.truncatedValues,note:`partial \u2014 ${i.join(", ")}; this is NOT the whole value. Scope the read with \`path\`/\`depth\` to see the rest.`}}}function Gn(t){try{return JSON.stringify(mc(t))}catch{return JSON.stringify(Nf)}}var fc,Nf,Ns,_T,RC,vs,jn=T(()=>{"use strict";D();fc="[TRUNCATED]",Nf="[UNSERIALIZABLE]",Ns=Symbol("omit"),_T=256,RC=Math.floor(H.MAX_MESSAGE_BYTES/4),vs=H.MAX_COLLECTION_ITEMS*5});function vC(t){if(t===null)return;let e=/^(.*):(\d+):(\d+)$/.exec(t);if(e===null)return;let n=e[1],r=Number(e[2]);if(!(n===void 0||n.length===0||!Number.isFinite(r)))return{file:n,line:r}}function Ec(t){let e=t.closest(`[${Of}]`);return e!==null?vC(e.getAttribute(Of)):void 0}function yd(t,e){return e!==void 0?{file:e.file,line:e.line}:Ec(t)}function ST(t){return t.querySelector(`[${Of}]`)!==null}function Rd(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var Of,bc=T(()=>{"use strict";D();Of=cd});function LC(t){let e=t.type.toLowerCase();return IC.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function kC(t){let e=t.getAttribute("aria-label");if(e!==null&&e.trim().length>0)return!0;let n=t.getAttribute("aria-labelledby");if(n!==null&&n.trim().length>0)return!0;let r=t.getAttribute("title");return r!==null&&r.trim().length>0}function Oe(t){let e=t.getAttribute("role");if(e!==null&&e.trim().length>0)return e.trim();switch(t.tagName.toLowerCase()){case"a":return t.hasAttribute("href")?"link":"generic";case"button":return"button";case"input":return LC(t);case"textarea":return"textbox";case"select":return t.multiple?"listbox":"combobox";case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return"heading";case"ul":case"ol":return"list";case"li":return"listitem";case"nav":return"navigation";case"main":return"main";case"aside":return"complementary";case"dialog":return"dialog";case"img":return"img";case"table":return"table";case"tr":return"row";case"tbody":case"thead":case"tfoot":return"rowgroup";case"td":return t.closest('[role~="grid"], [role~="treegrid"]')!==null?"gridcell":"cell";case"th":{let r=(t.getAttribute("scope")??"").toLowerCase();return r==="row"||r==="rowgroup"?"rowheader":"columnheader"}case"option":return"option";case"optgroup":return"group";case"section":return kC(t)?"region":"generic";case"article":return"article";case"fieldset":return"group";case"details":return"group";case"summary":return"button";case"progress":return"progressbar";case"meter":return"meter";case"output":return"status";case"hr":return"separator";case"area":return t.hasAttribute("href")?"link":"generic";case"form":return"form";case"p":return"paragraph";case"header":return"banner";case"footer":return"contentinfo";default:return"generic"}}function Os(t){return t.replace(/\s+/g," ").trim()}function DC(t){let e=t.getAttribute("aria-labelledby");if(e===null)return null;let n=[];for(let i of e.split(/\s+/)){let s=t.ownerDocument.getElementById(i);s!==null&&n.push(Os(Tc(s)))}let r=n.join(" ").trim();return r.length>0?r:null}function Tc(t){if(t.nodeType===Node.TEXT_NODE)return t.textContent??"";if(t.nodeType!==Node.ELEMENT_NODE)return"";let e=t;if(e.getAttribute("aria-hidden")==="true")return"";if(Rf(e)){let i=e.getAttribute("alt");return i===null?"":i}let n="",r=!1;for(let i of e.childNodes){let s=Tc(i);if(s.length===0)continue;let a=Node.ELEMENT_NODE===i.nodeType;n.length>0&&(a||r)&&(n+=" "),n+=s,r=a}return n}function be(t){let e=DC(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(Rf(t)){let s=t.getAttribute("alt");if(s!==null)return s.trim()}if(me(t)||Et(t)||Tn(t)||Rs(t)||fT(t)||hT(t)||mT(t)){let s=t.labels;if(s!==null&&s.length>0){let a=[...s].map(l=>Os(Tc(l))).join(" ").trim();if(a.length>0)return a}}if(t.tagName.toLowerCase()==="fieldset"){let s=[...t.children].find(a=>a.tagName.toLowerCase()==="legend");if(s!==void 0){let a=Os(Tc(s));if(a.length>0)return a}}if(me(t)||Et(t)||Tn(t)){if(me(t)){let s=t.type.toLowerCase();if(s==="submit"||s==="button"||s==="reset"){let a=Os(t.value);if(a.length>0)return a}}if(me(t)||Et(t)){let s=t.getAttribute("placeholder");if(s!==null&&s.trim().length>0)return s.trim()}}if(CC.has(Oe(t))){let s=Os(Tc(t));if(s.length>0)return s}let i=t.getAttribute("title");return i!==null&&i.trim().length>0?i.trim():""}function vd(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function Er(t,e=nt(t)){let n=[re.PRESENT];n.push(e?re.VISIBLE:re.HIDDEN);let i=(Rs(t)||me(t)||Tn(t)||Et(t))&&t.disabled||vd(t,"aria-disabled")===!0;return n.push(i?re.DISABLED:re.ENABLED),(me(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||vd(t,"aria-checked")===!0)&&n.push(re.CHECKED),vd(t,"aria-expanded")===!0&&n.push(re.EXPANDED),vd(t,"aria-pressed")===!0&&n.push(re.PRESSED),t.ownerDocument.activeElement===t&&n.push(re.FOCUSED),n}function wf(t){if(!me(t)&&!Et(t)&&!Tn(t))return!1;let e=t.getAttribute("autocomplete")??"",n=[t.getAttribute("name")??"",t.id,t.getAttribute("data-testid")??"",t.getAttribute("aria-label")??""],r=/current-password|new-password|cc-number|cc-csc|one-time-code/i.test(e);return me(t)&&t.type.toLowerCase()==="password"||r||n.some(He)}function Cf(t){return me(t)||Et(t)||Tn(t)?wf(t)?ye:t.value:t.getAttribute("aria-valuenow")??void 0}function MC(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(NC);if(n===null||n.hasAttribute(OC))return!1;let r=Array.from(n.children).find(i=>wC===i.localName);return r===void 0||!r.contains(t)}function PC(t){if(t.getAttribute("aria-hidden")==="true"||bn(t)&&t.hidden||MC(t))return!0;let e=t.ownerDocument.defaultView;if(e!==null){let n=e.getComputedStyle(t);if(n.display==="none"||n.visibility==="hidden"||n.visibility==="collapse"||Number.parseFloat(n.opacity||"1")===0)return!0}return!1}function $C(t){let e=t.parentElement;if(e===null||e.shadowRoot!==null)return null;let n=As(e);if(n===null)return null;for(let r of Array.from(n.querySelectorAll("slot")))if(r.assignedElements().includes(t))return r;return null}function UC(t){let e=t.assignedSlot??$C(t);return e!==null?e:t.parentElement!==null?t.parentElement:t.getRootNode().host??null}function If(t,e){if(!nt(t,e))return!1;let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=t.getBoundingClientRect();return r.width<=0||r.height<=0?!1:r.bottom>0&&r.right>0&&r.top<n.innerHeight&&r.left<n.innerWidth}function nt(t,e){if(!t.isConnected)return!1;let n=e?.get(t);if(n!==void 0)return n;let r=UC(t),i=!PC(t)&&(r===null||nt(r,e));return e!==void 0&&e.set(t,i),i}function HC(t){let e=Os(t.textContent??"");return e.length>xT?`${e.slice(0,xT)}\u2026`:e}function Vn(t,e){let n=Cf(t),r=HC(t),i=be(t),s=nt(t,e),a={ref:X.refFor(t),role:Oe(t),name:i,states:Er(t,s),visible:s};n!==void 0&&n.length>0&&(a.value=n),r.length>0&&r!==i&&(a.text=r);let l=Rd(Ec(t));if(l!==void 0&&(a.source=l),t.querySelector("path, polyline, polygon")!==null){let d=Ad(t).findings;d.length>0&&(a.chart=d)}return a}var NC,OC,wC,CC,IC,xT,Mt=T(()=>{"use strict";D();_n();gt();ys();vf();jn();bc();NC="details",OC="open",wC="summary",CC=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),IC=new Set(["text","email","tel","url","search","password",""]);xT=80});function CT(t){let e=[],n=new Set,r;try{r=t.querySelectorAll(rI)}catch{return e}for(let i=0;i<r.length&&e.length<oI;i+=1){let s=r[i]?.getAttribute(wT);if(s==null)continue;let a=s.trim();a.length===0||n.has(a)||a.startsWith(iI)||(n.add(a),e.push(a))}return e}var wT,rI,oI,iI,IT=T(()=>{"use strict";wT="data-testid",rI=`[${wT}]`,oI=200,iI="reticle-"});var kf,sI,Kn,_c=T(()=>{"use strict";kf=globalThis,sI=typeof kf.console?.warn=="function"?kf.console.warn.bind(kf.console):null,Kn=(...t)=>{sI?.(...t)}});function DT(t){return Df.add(t),()=>Df.delete(t)}function aI(t){if(t===null||typeof t!="object"&&typeof t!="function")return!1;let e=t;return typeof e.getState=="function"&&typeof e.subscribe=="function"}function MT(t,e,n){if(dI(t,e),aI(e)){let r=()=>e.getState(),i=s=>e.subscribe(s);ws.set(t,r),Od.set(t,i),LT(t,r,i);return}if(typeof e!="function"){let r=typeof e=="object"&&e!==null&&"subscribe"in e;Kn(`[reticle] store "${t}" is neither a getter function nor a {getState, subscribe} store`+(r?" \u2014 it has subscribe but no getState. Wrap it with an adapter or add getState.":"."));return}if(ws.set(t,e),n!==void 0){Od.set(t,n),LT(t,e,n);return}lI(t)}function LT(t,e,n){for(let r of Df)try{r([t,e,n])}catch{}}function PT(t){ws.delete(t),Od.delete(t)}function ro(){return[...ws.keys()]}function $T(){let t=[];for(let[e,n]of Od){let r=ws.get(e);r!==void 0&&t.push([e,r,n])}return t}function Pf(t){let e={};for(let[n,r]of ws)if(!(t!==void 0&&n!==t))try{e[n]=r()}catch(i){e[n]={__error:i instanceof Error?i.message:String(i)}}return e}function UT(t){return Sc(t).stores}function Sc(t){let e={},n={};for(let[r,i]of Object.entries(Pf(t))){let s=gc(i);e[r]=s.value,s.truncation!==void 0&&(n[r]=s.truncation)}return Object.keys(n).length>0?{stores:e,truncation:n}:{stores:e}}function lI(t){cI.has(t)||kT.has(t)||(kT.add(t),Kn(`[reticle] store "${t}" was registered without a subscribe function. It can be READ, but its changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`))}function wd(t,e){HT.set(t,e)}function dI(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;Mf.set(e,t);let n=HT.get(e);n!==void 0&&Mf.set(n,t)}function FT(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return Mf.get(t)}var br,ws,Od,Df,kT,cI,Mf,HT,oi=T(()=>{"use strict";D();_c();jn();br=globalThis,ws=br.__reticleStores??(br.__reticleStores=new Map),Od=br.__reticleStoreSubs??(br.__reticleStoreSubs=new Map),Df=br.__reticleStoreListeners??(br.__reticleStoreListeners=new Set);kT=new Set,cI=new Set([Zl]);Mf=new WeakMap,HT=new WeakMap});function BT(){return typeof document>"u"?[]:CT(document)}function GT(){return ro().filter(t=>Zl!==t)}function Cd(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function uI(){return{testids:[],signals:[],stores:[],flows:[]}}function Uf(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function Id(t){jT=t}function Cs(t){if(Uf(Ct.testids,t.testids),Uf(Ct.signals,t.signals),Uf(Ct.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=Ct.flows.find(r=>r.name===e.name);n===void 0?Ct.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}jT?.()}function oo(){return{testids:Cd(Ct.testids,BT()),signals:[...Ct.signals],stores:Cd(Ct.stores,GT()),flows:Ct.flows.map(t=>({name:t.name,steps:[...t.steps]})),...dg()?{presenterExposed:!0}:{}}}function VT(){return[...Ct.testids]}function Ld(){return Ct.signals.length>0||Ct.flows.length>0||Cd(Ct.testids,BT()).length>0||Cd(Ct.stores,GT()).length>0}var $f,Ct,jT,io=T(()=>{"use strict";D();et();IT();oi();$f=globalThis;Ct=$f.__reticleCapabilities??($f.__reticleCapabilities=uI())});function KT(t){Is.some(e=>e.name===t.name)||Is.push(t)}function Wn(t){for(let e of Is){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function kd(t){for(let e of Is){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function Dd(t){for(let e of Is)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function Md(){return Is.map(t=>t.name)}var Hf,Is,ii=T(()=>{"use strict";Hf=globalThis,Is=Hf.__reticleAdapters??(Hf.__reticleAdapters=[])});function Ud(){return jf>0}function Fe(t){jf+=1;try{return t()}finally{jf-=1}}var jf,Ds=T(()=>{"use strict";jf=0});var tn,o_,HI,i_,s_,Gd,z,pe,a_,c_,l_,ao,d_,Ve=T(()=>{"use strict";tn=globalThis,o_=typeof tn.setTimeout=="function"?tn.setTimeout.bind(tn):null,HI=typeof tn.clearTimeout=="function"?tn.clearTimeout.bind(tn):null,i_=typeof tn.requestAnimationFrame=="function"?tn.requestAnimationFrame.bind(tn):null,s_=typeof tn.performance?.now=="function"?tn.performance.now.bind(tn.performance):null,Gd=()=>s_?s_():0,z=(t,e=0)=>o_?o_(t,e):0,pe=t=>{HI?.(t)},a_=(t,e)=>{let n=!1,r=0,i=()=>{n||(t(),!n&&(r=z(i,e)))};return r=z(i,e),()=>{n=!0,pe(r)}},c_=200,l_=(t=c_)=>new Promise(e=>{let n=!1,r=s=>{n||(n=!0,pe(i),e({settled:s}))},i=z(()=>r(!1),t);i_?i_(()=>r(!0)):z(()=>r(!0),0)}),ao=()=>l_().then(()=>{}),d_=async(t=c_)=>(await Promise.resolve(),l_(t))});function iS(t,e){return`${Xb}${t}. ${String(e)} attempts, all failed. That is everything the page can see: from inside the browser it cannot tell a daemon that is not there from one it is not allowed to reach, so this is not evidence about the daemon. What answers it: run \`npx @reticlehq/server status\` to see whether one is listening and on which port. If your app runs in a container, devcontainer or WSL, the daemon is on a different host, so set the URL explicitly (Vite: VITE_RETICLE_WS_URL, or reticle.connect({ url })). An https page cannot open a ws:// socket at all. Still retrying\u2026`}function sS(t,e){return`no bridge at ${t} \u2014 ${String(e)} attempt${e===1?"":"s"}`}var oh=T(()=>{"use strict";D()});var Ke,Pt,mh=T(()=>{"use strict";Ke={READ:"read",ACT:"act",NARRATION:"narration",HUMAN:"human"},Pt={PASS:"pass",FAIL:"fail"}});function Pc(t){switch(t){case R.CLICK:case R.DBLCLICK:return"Clicking";case R.FILL:case R.TYPE:return"Typing into";case R.HOVER:return"Hovering";case R.SELECT:return"Selecting";case R.SUBMIT:return"Submitting";case R.CHECK:case R.UNCHECK:return"Toggling";case R.UPLOAD:return"Uploading to";case R.DRAG:return"Dragging";default:return t}}var gh=T(()=>{"use strict";D()});function Rr(t){return typeof t=="string"&&t.length>0}function Nk(t){return`${t.file.split("/").pop()??t.file}:${t.line}`}function kx(t){if(Rr(t.testid))return{strategy:Rn.TESTID,value:t.testid,stable:!0};if(Rr(t.component)&&t.source!==void 0)return{strategy:Rn.COMPONENT,value:`${t.component}@${Nk(t.source)}`,stable:!0};if(Rr(t.component)&&(Rr(t.role)||Rr(t.name))){let e=Rr(t.name)?t.name:t.role;return{strategy:Rn.COMPONENT,value:`${t.component}[${e??""}]`,stable:!0}}if(Rr(t.role)&&Rr(t.name))return{strategy:Rn.ROLE,value:`${t.role}:${t.name}`,stable:!1};if(Rr(t.role)){let e=t.nth!==void 0?`#${t.nth}`:"";return{strategy:Rn.ROLE,value:`${t.role}${e}`,stable:!1}}return{strategy:Rn.POSITION,value:`el#${t.nth??0}`,stable:!1}}var Rn,Dx=T(()=>{"use strict";Rn={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"}});function Ck(t,e,n){return n.length>0?e.length>0?`${e} "${n}"`:`"${n}"`:e.length>0?e:t.tagName.toLowerCase()}function Bc(t){let e=t.getAttribute(Ok)??void 0,n=Wn(t),r=n?.componentStack[0],i=yd(t,n?.source),s=Oe(t),a=be(t),l={};e!==void 0&&(l.testid=e),r!==void 0&&(l.component=r),i!==void 0&&(l.source=i),s.length>0&&(l.role=s),a.length>0&&(l.name=a);let d=kx(l),u={anchor:d.value,strategy:wk[d.strategy],label:Ck(t,s,a)};return i!==void 0&&(u.source=i),u}var Ok,wk,Sh=T(()=>{"use strict";D();Dx();Mt();ii();bc();Ok="data-testid",wk={[Rn.TESTID]:Qo.TESTID,[Rn.COMPONENT]:Qo.COMPONENT,[Rn.ROLE]:Qo.ROLE,[Rn.POSITION]:Qo.POSITION}});function Mx(t){return`${String(t)} ${t===1?"note":"notes"} on this page`}function Px(t,e){let n=t.length,r=`I marked ${String(n)} ${n===1?"issue":"issues"} on ${e} with Reticle. Fix each one, then verify it in the running app:`,i=t.map((s,a)=>{let l=s.source===void 0?s.anchor:`${s.anchor}, ${s.source}`;return`${String(a+1)}. ${s.note}
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
${
|
|
1
|
+
"use strict";var ReticleSdk=(()=>{var em=Object.defineProperty;var ZC=Object.getOwnPropertyDescriptor;var QC=Object.getOwnPropertyNames;var JC=Object.prototype.hasOwnProperty;var JT=t=>{throw TypeError(t)};var S=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var bs=(t,e)=>{for(var n in e)em(t,n,{get:e[n],enumerable:!0})},eL=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of QC(e))!JC.call(t,o)&&o!==n&&em(t,o,{get:()=>e[o],enumerable:!(r=ZC(e,o))||r.enumerable});return t};var tL=t=>eL(em({},"__esModule",{value:!0}),t);var tm=(t,e,n)=>e.has(t)||JT("Cannot "+n);var c=(t,e,n)=>(tm(t,e,"read from private field"),n?n.call(t):e.get(t)),b=(t,e,n)=>e.has(t)?JT("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),h=(t,e,n,r)=>(tm(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),E=(t,e,n)=>(tm(t,e,"access private method"),n);var eS=(t,e,n,r)=>({set _(o){h(t,e,o,n)},get _(){return c(t,e,r)}});var tS=S(()=>{"use strict"});var le,nm,P,vr,Pl=S(()=>{(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function n(o){throw new Error}t.assertNever=n,t.arrayToEnum=o=>{let a={};for(let s of o)a[s]=s;return a},t.getValidEnumValues=o=>{let a=t.objectKeys(o).filter(l=>typeof o[o[l]]!="number"),s={};for(let l of a)s[l]=o[l];return t.objectValues(s)},t.objectValues=o=>t.objectKeys(o).map(function(a){return o[a]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let a=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&a.push(s);return a},t.find=(o,a)=>{for(let s of o)if(a(s))return s},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,a=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(a)}t.joinValues=r,t.jsonStringifyReplacer=(o,a)=>typeof a=="bigint"?a.toString():a})(le||(le={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(nm||(nm={}));P=le.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vr=t=>{switch(typeof t){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN(t)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":return Array.isArray(t)?P.array:t===null?P.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?P.promise:typeof Map!="undefined"&&t instanceof Map?P.map:typeof Set!="undefined"&&t instanceof Set?P.set:typeof Date!="undefined"&&t instanceof Date?P.date:P.object;default:return P.unknown}}});var N,nL,Zt,Yu=S(()=>{Pl();N=le.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),nL=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Zt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(a){return a.message},r={_errors:[]},o=a=>{for(let s of a.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let l=r,d=0;for(;d<s.path.length;){let u=s.path[d];d===s.path.length-1?(l[u]=l[u]||{_errors:[]},l[u]._errors.push(n(s))):l[u]=l[u]||{_errors:[]},l=l[u],d++}}};return o(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,le.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let o of this.issues)if(o.path.length>0){let a=o.path[0];n[a]=n[a]||[],n[a].push(e(o))}else r.push(e(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Zt.create=t=>new Zt(t)});var rL,oo,rm=S(()=>{Yu();Pl();rL=(t,e)=>{let n;switch(t.code){case N.invalid_type:t.received===P.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case N.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,le.jsonStringifyReplacer)}`;break;case N.unrecognized_keys:n=`Unrecognized key(s) in object: ${le.joinValues(t.keys,", ")}`;break;case N.invalid_union:n="Invalid input";break;case N.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${le.joinValues(t.options)}`;break;case N.invalid_enum_value:n=`Invalid enum value. Expected ${le.joinValues(t.options)}, received '${t.received}'`;break;case N.invalid_arguments:n="Invalid function arguments";break;case N.invalid_return_type:n="Invalid function return type";break;case N.invalid_date:n="Invalid date";break;case N.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:le.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case N.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case N.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case N.custom:n="Invalid input";break;case N.invalid_intersection_types:n="Intersection results could not be merged";break;case N.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case N.not_finite:n="Number must be finite";break;default:n=e.defaultError,le.assertNever(t)}return{message:n}},oo=rL});function oL(t){nS=t}function Ts(){return nS}var nS,Xu=S(()=>{rm();nS=oo});function M(t,e){let n=Ts(),r=Hl({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===oo?void 0:oo].filter(o=>!!o)});t.common.issues.push(r)}var Hl,iL,ft,W,Bi,yt,qu,Zu,zo,Ss,om=S(()=>{Xu();rm();Hl=t=>{let{data:e,path:n,errorMaps:r,issueData:o}=t,a=[...n,...o.path||[]],s={...o,path:a};if(o.message!==void 0)return{...o,path:a,message:o.message};let l="",d=r.filter(u=>!!u).slice().reverse();for(let u of d)l=u(s,{data:e,defaultError:l}).message;return{...o,path:a,message:l}},iL=[];ft=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let o of n){if(o.status==="aborted")return W;o.status==="dirty"&&e.dirty(),r.push(o.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let o of n){let a=await o.key,s=await o.value;r.push({key:a,value:s})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let o of n){let{key:a,value:s}=o;if(a.status==="aborted"||s.status==="aborted")return W;a.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof s.value!="undefined"||o.alwaysSet)&&(r[a.value]=s.value)}return{status:e.value,value:r}}},W=Object.freeze({status:"aborted"}),Bi=t=>({status:"dirty",value:t}),yt=t=>({status:"valid",value:t}),qu=t=>t.status==="aborted",Zu=t=>t.status==="dirty",zo=t=>t.status==="valid",Ss=t=>typeof Promise!="undefined"&&t instanceof Promise});var rS=S(()=>{});var V,oS=S(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}))});function Q(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:o}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(s,l)=>{var u,p;let{message:d}=t;return s.code==="invalid_enum_value"?{message:d!=null?d:l.defaultError}:typeof l.data=="undefined"?{message:(u=d!=null?d:r)!=null?u:l.defaultError}:s.code!=="invalid_type"?{message:l.defaultError}:{message:(p=d!=null?d:n)!=null?p:l.defaultError}},description:o}}function cS(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function xL(t){return new RegExp(`^${cS(t)}$`)}function lS(t){let e=`${sS}T${cS(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function AL(t,e){return!!((e==="v4"||!e)&&mL.test(t)||(e==="v6"||!e)&&EL.test(t))}function yL(t,e){if(!uL.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function vL(t,e){return!!((e==="v4"||!e)&&gL.test(t)||(e==="v6"||!e)&&bL.test(t))}function RL(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,o=n>r?n:r,a=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return a%s/10**o}function _s(t){if(t instanceof Qt){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=Ln.create(_s(r))}return new Qt({...t._def,shape:()=>e})}else return t instanceof so?new so({...t._def,type:_s(t.element)}):t instanceof Ln?Ln.create(_s(t.unwrap())):t instanceof Nr?Nr.create(_s(t.unwrap())):t instanceof Rr?Rr.create(t.items.map(e=>_s(e))):t}function am(t,e){let n=vr(t),r=vr(e);if(t===e)return{valid:!0,data:t};if(n===P.object&&r===P.object){let o=le.objectKeys(e),a=le.objectKeys(t).filter(l=>o.indexOf(l)!==-1),s={...t,...e};for(let l of a){let d=am(t[l],e[l]);if(!d.valid)return{valid:!1};s[l]=d.data}return{valid:!0,data:s}}else if(n===P.array&&r===P.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let a=0;a<t.length;a++){let s=t[a],l=e[a],d=am(s,l);if(!d.valid)return{valid:!1};o.push(d.data)}return{valid:!0,data:o}}else return n===P.date&&r===P.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function dS(t,e){return new Ji({values:t,typeName:z.ZodEnum,...Q(e)})}function aS(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function uS(t,e={},n){return t?Xo.create().superRefine((r,o)=>{var s,l;let a=t(r);if(a instanceof Promise)return a.then(d=>{var u,p;if(!d){let f=aS(e,r),m=(p=(u=f.fatal)!=null?u:n)!=null?p:!0;o.addIssue({code:"custom",...f,fatal:m})}});if(!a){let d=aS(e,r),u=(l=(s=d.fatal)!=null?s:n)!=null?l:!0;o.addIssue({code:"custom",...d,fatal:u})}}):Xo.create()}var kn,iS,ie,aL,sL,cL,lL,dL,uL,pL,fL,hL,im,mL,gL,EL,bL,TL,SL,sS,_L,Yo,Vi,ji,Ki,Wi,xs,zi,Yi,Xo,ao,er,As,so,Qt,Xi,io,Qu,qi,Rr,Ju,ys,vs,ep,Zi,Qi,Ji,ea,qo,Dn,Ln,Nr,ta,na,Rs,NL,Ul,Fl,ra,wL,z,OL,pS,fS,IL,CL,hS,LL,kL,DL,ML,$L,PL,HL,UL,FL,GL,BL,VL,jL,KL,WL,zL,YL,XL,qL,ZL,QL,JL,e1,t1,n1,r1,o1,i1,a1,s1,c1,l1,d1,u1,mS=S(()=>{Yu();Xu();oS();om();Pl();kn=class{constructor(e,n,r,o){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},iS=(t,e)=>{if(zo(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Zt(t.common.issues);return this._error=n,this._error}}};ie=class{get description(){return this._def.description}_getType(e){return vr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:vr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ft,ctx:{common:e.parent.common,data:e.data,parsedType:vr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Ss(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){var a;let r={common:{issues:[],async:(a=n==null?void 0:n.async)!=null?a:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vr(e)},o=this._parseSync({data:e,path:r.path,parent:r});return iS(r,o)}"~validate"(e){var r,o;let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vr(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:n});return zo(a)?{value:a.value}:{issues:n.common.issues}}catch(a){(o=(r=a==null?void 0:a.message)==null?void 0:r.toLowerCase())!=null&&o.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(a=>zo(a)?{value:a.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vr(e)},o=this._parse({data:e,path:r.path,parent:r}),a=await(Ss(o)?o:Promise.resolve(o));return iS(r,a)}refine(e,n){let r=o=>typeof n=="string"||typeof n=="undefined"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,a)=>{let s=e(o),l=()=>a.addIssue({code:N.custom,...r(o)});return typeof Promise!="undefined"&&s instanceof Promise?s.then(d=>d?!0:(l(),!1)):s?!0:(l(),!1)})}refinement(e,n){return this._refinement((r,o)=>e(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(e){return new Dn({schema:this,typeName:z.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Ln.create(this,this._def)}nullable(){return Nr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return so.create(this)}promise(){return qo.create(this,this._def)}or(e){return Xi.create([this,e],this._def)}and(e){return qi.create(this,e,this._def)}transform(e){return new Dn({...Q(this._def),schema:this,typeName:z.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new ta({...Q(this._def),innerType:this,defaultValue:n,typeName:z.ZodDefault})}brand(){return new Ul({typeName:z.ZodBranded,type:this,...Q(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new na({...Q(this._def),innerType:this,catchValue:n,typeName:z.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Fl.create(this,e)}readonly(){return ra.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},aL=/^c[^\s-]{8,}$/i,sL=/^[0-9a-z]+$/,cL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,dL=/^[a-z0-9_-]{21}$/i,uL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,pL=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,fL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,gL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,EL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,bL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,TL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,SL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,sS="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",_L=new RegExp(`^${sS}$`);Yo=class t extends ie{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==P.string){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_type,expected:P.string,received:a.parsedType}),W}let r=new ft,o;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="max")e.data.length>a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="length"){let s=e.data.length>a.value,l=e.data.length<a.value;(s||l)&&(o=this._getOrReturnCtx(e,o),s?M(o,{code:N.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):l&&M(o,{code:N.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),r.dirty())}else if(a.kind==="email")fL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"email",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="emoji")im||(im=new RegExp(hL,"u")),im.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"emoji",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="uuid")lL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"uuid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="nanoid")dL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"nanoid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid")aL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"cuid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid2")sL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"cuid2",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="ulid")cL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"ulid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),M(o,{validation:"url",code:N.invalid_string,message:a.message}),r.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"regex",code:N.invalid_string,message:a.message}),r.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),r.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:{startsWith:a.value},message:a.message}),r.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:{endsWith:a.value},message:a.message}),r.dirty()):a.kind==="datetime"?lS(a).test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:"datetime",message:a.message}),r.dirty()):a.kind==="date"?_L.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:"date",message:a.message}),r.dirty()):a.kind==="time"?xL(a).test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:"time",message:a.message}),r.dirty()):a.kind==="duration"?pL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"duration",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="ip"?AL(e.data,a.version)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"ip",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="jwt"?yL(e.data,a.alg)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"jwt",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="cidr"?vL(e.data,a.version)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"cidr",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="base64"?TL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"base64",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="base64url"?SL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"base64url",code:N.invalid_string,message:a.message}),r.dirty()):le.assertNever(a);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:N.invalid_string,...V.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...V.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...V.errToObj(e)})}datetime(e){var n,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,offset:(n=e==null?void 0:e.offset)!=null?n:!1,local:(r=e==null?void 0:e.local)!=null?r:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...V.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...V.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...V.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...V.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...V.errToObj(n)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Yo.create=t=>{var e;return new Yo({checks:[],typeName:z.ZodString,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...Q(t)})};Vi=class t extends ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==P.number){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_type,expected:P.number,received:a.parsedType}),W}let r,o=new ft;for(let a of this._def.checks)a.kind==="int"?le.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),M(r,{code:N.invalid_type,expected:"integer",received:"float",message:a.message}),o.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="multipleOf"?RL(e.data,a.value)!==0&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),M(r,{code:N.not_finite,message:a.message}),o.dirty()):le.assertNever(a);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&le.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Vi.create=t=>new Vi({checks:[],typeName:z.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...Q(t)});ji=class t extends ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==P.bigint)return this._getInvalidInput(e);let r,o=new ft;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),o.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),o.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):le.assertNever(a);return{status:o.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return M(n,{code:N.invalid_type,expected:P.bigint,received:n.parsedType}),W}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ji.create=t=>{var e;return new ji({checks:[],typeName:z.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...Q(t)})};Ki=class extends ie{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==P.boolean){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.boolean,received:r.parsedType}),W}return yt(e.data)}};Ki.create=t=>new Ki({typeName:z.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...Q(t)});Wi=class t extends ie{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==P.date){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_type,expected:P.date,received:a.parsedType}),W}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_date}),W}let r=new ft,o;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),r.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),r.dirty()):le.assertNever(a);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Wi.create=t=>new Wi({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:z.ZodDate,...Q(t)});xs=class extends ie{_parse(e){if(this._getType(e)!==P.symbol){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.symbol,received:r.parsedType}),W}return yt(e.data)}};xs.create=t=>new xs({typeName:z.ZodSymbol,...Q(t)});zi=class extends ie{_parse(e){if(this._getType(e)!==P.undefined){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.undefined,received:r.parsedType}),W}return yt(e.data)}};zi.create=t=>new zi({typeName:z.ZodUndefined,...Q(t)});Yi=class extends ie{_parse(e){if(this._getType(e)!==P.null){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.null,received:r.parsedType}),W}return yt(e.data)}};Yi.create=t=>new Yi({typeName:z.ZodNull,...Q(t)});Xo=class extends ie{constructor(){super(...arguments),this._any=!0}_parse(e){return yt(e.data)}};Xo.create=t=>new Xo({typeName:z.ZodAny,...Q(t)});ao=class extends ie{constructor(){super(...arguments),this._unknown=!0}_parse(e){return yt(e.data)}};ao.create=t=>new ao({typeName:z.ZodUnknown,...Q(t)});er=class extends ie{_parse(e){let n=this._getOrReturnCtx(e);return M(n,{code:N.invalid_type,expected:P.never,received:n.parsedType}),W}};er.create=t=>new er({typeName:z.ZodNever,...Q(t)});As=class extends ie{_parse(e){if(this._getType(e)!==P.undefined){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.void,received:r.parsedType}),W}return yt(e.data)}};As.create=t=>new As({typeName:z.ZodVoid,...Q(t)});so=class t extends ie{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==P.array)return M(n,{code:N.invalid_type,expected:P.array,received:n.parsedType}),W;if(o.exactLength!==null){let s=n.data.length>o.exactLength.value,l=n.data.length<o.exactLength.value;(s||l)&&(M(n,{code:s?N.too_big:N.too_small,minimum:l?o.exactLength.value:void 0,maximum:s?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(M(n,{code:N.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(M(n,{code:N.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,l)=>o.type._parseAsync(new kn(n,s,n.path,l)))).then(s=>ft.mergeArray(r,s));let a=[...n.data].map((s,l)=>o.type._parseSync(new kn(n,s,n.path,l)));return ft.mergeArray(r,a)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:V.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:V.toString(n)}})}nonempty(e){return this.min(1,e)}};so.create=(t,e)=>new so({type:t,minLength:null,maxLength:null,exactLength:null,typeName:z.ZodArray,...Q(e)});Qt=class t extends ie{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=le.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==P.object){let u=this._getOrReturnCtx(e);return M(u,{code:N.invalid_type,expected:P.object,received:u.parsedType}),W}let{status:r,ctx:o}=this._processInputParams(e),{shape:a,keys:s}=this._getCached(),l=[];if(!(this._def.catchall instanceof er&&this._def.unknownKeys==="strip"))for(let u in o.data)s.includes(u)||l.push(u);let d=[];for(let u of s){let p=a[u],f=o.data[u];d.push({key:{status:"valid",value:u},value:p._parse(new kn(o,f,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof er){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of l)d.push({key:{status:"valid",value:p},value:{status:"valid",value:o.data[p]}});else if(u==="strict")l.length>0&&(M(o,{code:N.unrecognized_keys,keys:l}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of l){let f=o.data[p];d.push({key:{status:"valid",value:p},value:u._parse(new kn(o,f,o.path,p)),alwaysSet:p in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of d){let f=await p.key,m=await p.value;u.push({key:f,value:m,alwaysSet:p.alwaysSet})}return u}).then(u=>ft.mergeObjectSync(r,u)):ft.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{var a,s,l,d;let o=(l=(s=(a=this._def).errorMap)==null?void 0:s.call(a,n,r).message)!=null?l:r.defaultError;return n.code==="unrecognized_keys"?{message:(d=V.errToObj(e).message)!=null?d:o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:z.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of le.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of le.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return _s(this)}partial(e){let n={};for(let r of le.objectKeys(this.shape)){let o=this.shape[r];e&&!e[r]?n[r]=o:n[r]=o.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of le.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let a=this.shape[r];for(;a instanceof Ln;)a=a._def.innerType;n[r]=a}return new t({...this._def,shape:()=>n})}keyof(){return dS(le.objectKeys(this.shape))}};Qt.create=(t,e)=>new Qt({shape:()=>t,unknownKeys:"strip",catchall:er.create(),typeName:z.ZodObject,...Q(e)});Qt.strictCreate=(t,e)=>new Qt({shape:()=>t,unknownKeys:"strict",catchall:er.create(),typeName:z.ZodObject,...Q(e)});Qt.lazycreate=(t,e)=>new Qt({shape:t,unknownKeys:"strip",catchall:er.create(),typeName:z.ZodObject,...Q(e)});Xi=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function o(a){for(let l of a)if(l.result.status==="valid")return l.result;for(let l of a)if(l.result.status==="dirty")return n.common.issues.push(...l.ctx.common.issues),l.result;let s=a.map(l=>new Zt(l.ctx.common.issues));return M(n,{code:N.invalid_union,unionErrors:s}),W}if(n.common.async)return Promise.all(r.map(async a=>{let s={...n,common:{...n.common,issues:[]},parent:null};return{result:await a._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(o);{let a,s=[];for(let d of r){let u={...n,common:{...n.common,issues:[]},parent:null},p=d._parseSync({data:n.data,path:n.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(a)return n.common.issues.push(...a.ctx.common.issues),a.result;let l=s.map(d=>new Zt(d));return M(n,{code:N.invalid_union,unionErrors:l}),W}}get options(){return this._def.options}};Xi.create=(t,e)=>new Xi({options:t,typeName:z.ZodUnion,...Q(e)});io=t=>t instanceof Zi?io(t.schema):t instanceof Dn?io(t.innerType()):t instanceof Qi?[t.value]:t instanceof Ji?t.options:t instanceof ea?le.objectValues(t.enum):t instanceof ta?io(t._def.innerType):t instanceof zi?[void 0]:t instanceof Yi?[null]:t instanceof Ln?[void 0,...io(t.unwrap())]:t instanceof Nr?[null,...io(t.unwrap())]:t instanceof Ul||t instanceof ra?io(t.unwrap()):t instanceof na?io(t._def.innerType):[],Qu=class t extends ie{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.object)return M(n,{code:N.invalid_type,expected:P.object,received:n.parsedType}),W;let r=this.discriminator,o=n.data[r],a=this.optionsMap.get(o);return a?n.common.async?a._parseAsync({data:n.data,path:n.path,parent:n}):a._parseSync({data:n.data,path:n.path,parent:n}):(M(n,{code:N.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),W)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let o=new Map;for(let a of n){let s=io(a.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let l of s){if(o.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);o.set(l,a)}}return new t({typeName:z.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...Q(r)})}};qi=class extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=(a,s)=>{if(qu(a)||qu(s))return W;let l=am(a.value,s.value);return l.valid?((Zu(a)||Zu(s))&&n.dirty(),{status:n.value,value:l.data}):(M(r,{code:N.invalid_intersection_types}),W)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([a,s])=>o(a,s)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};qi.create=(t,e,n)=>new qi({left:t,right:e,typeName:z.ZodIntersection,...Q(n)});Rr=class t extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.array)return M(r,{code:N.invalid_type,expected:P.array,received:r.parsedType}),W;if(r.data.length<this._def.items.length)return M(r,{code:N.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W;!this._def.rest&&r.data.length>this._def.items.length&&(M(r,{code:N.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let a=[...r.data].map((s,l)=>{let d=this._def.items[l]||this._def.rest;return d?d._parse(new kn(r,s,r.path,l)):null}).filter(s=>!!s);return r.common.async?Promise.all(a).then(s=>ft.mergeArray(n,s)):ft.mergeArray(n,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Rr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Rr({items:t,typeName:z.ZodTuple,rest:null,...Q(e)})};Ju=class t extends ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.object)return M(r,{code:N.invalid_type,expected:P.object,received:r.parsedType}),W;let o=[],a=this._def.keyType,s=this._def.valueType;for(let l in r.data)o.push({key:a._parse(new kn(r,l,r.path,l)),value:s._parse(new kn(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?ft.mergeObjectAsync(n,o):ft.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof ie?new t({keyType:e,valueType:n,typeName:z.ZodRecord,...Q(r)}):new t({keyType:Yo.create(),valueType:e,typeName:z.ZodRecord,...Q(n)})}},ys=class extends ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.map)return M(r,{code:N.invalid_type,expected:P.map,received:r.parsedType}),W;let o=this._def.keyType,a=this._def.valueType,s=[...r.data.entries()].map(([l,d],u)=>({key:o._parse(new kn(r,l,r.path,[u,"key"])),value:a._parse(new kn(r,d,r.path,[u,"value"]))}));if(r.common.async){let l=new Map;return Promise.resolve().then(async()=>{for(let d of s){let u=await d.key,p=await d.value;if(u.status==="aborted"||p.status==="aborted")return W;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}})}else{let l=new Map;for(let d of s){let u=d.key,p=d.value;if(u.status==="aborted"||p.status==="aborted")return W;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}}}};ys.create=(t,e,n)=>new ys({valueType:e,keyType:t,typeName:z.ZodMap,...Q(n)});vs=class t extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.set)return M(r,{code:N.invalid_type,expected:P.set,received:r.parsedType}),W;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(M(r,{code:N.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(M(r,{code:N.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());let a=this._def.valueType;function s(d){let u=new Set;for(let p of d){if(p.status==="aborted")return W;p.status==="dirty"&&n.dirty(),u.add(p.value)}return{status:n.value,value:u}}let l=[...r.data.values()].map((d,u)=>a._parse(new kn(r,d,r.path,u)));return r.common.async?Promise.all(l).then(d=>s(d)):s(l)}min(e,n){return new t({...this._def,minSize:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:V.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};vs.create=(t,e)=>new vs({valueType:t,minSize:null,maxSize:null,typeName:z.ZodSet,...Q(e)});ep=class t extends ie{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.function)return M(n,{code:N.invalid_type,expected:P.function,received:n.parsedType}),W;function r(l,d){return Hl({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),oo].filter(u=>!!u),issueData:{code:N.invalid_arguments,argumentsError:d}})}function o(l,d){return Hl({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),oo].filter(u=>!!u),issueData:{code:N.invalid_return_type,returnTypeError:d}})}let a={errorMap:n.common.contextualErrorMap},s=n.data;if(this._def.returns instanceof qo){let l=this;return yt(async function(...d){let u=new Zt([]),p=await l._def.args.parseAsync(d,a).catch(g=>{throw u.addIssue(r(d,g)),u}),f=await Reflect.apply(s,this,p);return await l._def.returns._def.type.parseAsync(f,a).catch(g=>{throw u.addIssue(o(f,g)),u})})}else{let l=this;return yt(function(...d){let u=l._def.args.safeParse(d,a);if(!u.success)throw new Zt([r(d,u.error)]);let p=Reflect.apply(s,this,u.data),f=l._def.returns.safeParse(p,a);if(!f.success)throw new Zt([o(p,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Rr.create(e).rest(ao.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||Rr.create([]).rest(ao.create()),returns:n||ao.create(),typeName:z.ZodFunction,...Q(r)})}},Zi=class extends ie{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Zi.create=(t,e)=>new Zi({getter:t,typeName:z.ZodLazy,...Q(e)});Qi=class extends ie{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return M(n,{received:n.data,code:N.invalid_literal,expected:this._def.value}),W}return{status:"valid",value:e.data}}get value(){return this._def.value}};Qi.create=(t,e)=>new Qi({value:t,typeName:z.ZodLiteral,...Q(e)});Ji=class t extends ie{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return M(n,{expected:le.joinValues(r),received:n.parsedType,code:N.invalid_type}),W}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return M(n,{received:n.data,code:N.invalid_enum_value,options:r}),W}return yt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Ji.create=dS;ea=class extends ie{_parse(e){let n=le.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==P.string&&r.parsedType!==P.number){let o=le.objectValues(n);return M(r,{expected:le.joinValues(o),received:r.parsedType,code:N.invalid_type}),W}if(this._cache||(this._cache=new Set(le.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=le.objectValues(n);return M(r,{received:r.data,code:N.invalid_enum_value,options:o}),W}return yt(e.data)}get enum(){return this._def.values}};ea.create=(t,e)=>new ea({values:t,typeName:z.ZodNativeEnum,...Q(e)});qo=class extends ie{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.promise&&n.common.async===!1)return M(n,{code:N.invalid_type,expected:P.promise,received:n.parsedType}),W;let r=n.parsedType===P.promise?n.data:Promise.resolve(n.data);return yt(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};qo.create=(t,e)=>new qo({type:t,typeName:z.ZodPromise,...Q(e)});Dn=class extends ie{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=this._def.effect||null,a={addIssue:s=>{M(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),o.type==="preprocess"){let s=o.transform(r.data,a);if(r.common.async)return Promise.resolve(s).then(async l=>{if(n.value==="aborted")return W;let d=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return d.status==="aborted"?W:d.status==="dirty"?Bi(d.value):n.value==="dirty"?Bi(d.value):d});{if(n.value==="aborted")return W;let l=this._def.schema._parseSync({data:s,path:r.path,parent:r});return l.status==="aborted"?W:l.status==="dirty"?Bi(l.value):n.value==="dirty"?Bi(l.value):l}}if(o.type==="refinement"){let s=l=>{let d=o.refinement(l,a);if(r.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){let l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?W:(l.status==="dirty"&&n.dirty(),s(l.value),{status:n.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?W:(l.status==="dirty"&&n.dirty(),s(l.value).then(()=>({status:n.value,value:l.value}))))}if(o.type==="transform")if(r.common.async===!1){let s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!zo(s))return W;let l=o.transform(s.value,a);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>zo(s)?Promise.resolve(o.transform(s.value,a)).then(l=>({status:n.value,value:l})):W);le.assertNever(o)}};Dn.create=(t,e,n)=>new Dn({schema:t,typeName:z.ZodEffects,effect:e,...Q(n)});Dn.createWithPreprocess=(t,e,n)=>new Dn({schema:e,effect:{type:"preprocess",transform:t},typeName:z.ZodEffects,...Q(n)});Ln=class extends ie{_parse(e){return this._getType(e)===P.undefined?yt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ln.create=(t,e)=>new Ln({innerType:t,typeName:z.ZodOptional,...Q(e)});Nr=class extends ie{_parse(e){return this._getType(e)===P.null?yt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Nr.create=(t,e)=>new Nr({innerType:t,typeName:z.ZodNullable,...Q(e)});ta=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===P.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ta.create=(t,e)=>new ta({innerType:t,typeName:z.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Q(e)});na=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ss(o)?o.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Zt(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Zt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};na.create=(t,e)=>new na({innerType:t,typeName:z.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Q(e)});Rs=class extends ie{_parse(e){if(this._getType(e)!==P.nan){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.nan,received:r.parsedType}),W}return{status:"valid",value:e.data}}};Rs.create=t=>new Rs({typeName:z.ZodNaN,...Q(t)});NL=Symbol("zod_brand"),Ul=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Fl=class t extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?W:a.status==="dirty"?(n.dirty(),Bi(a.value)):this._def.out._parseAsync({data:a.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?W:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:z.ZodPipeline})}},ra=class extends ie{_parse(e){let n=this._def.innerType._parse(e),r=o=>(zo(o)&&(o.value=Object.freeze(o.value)),o);return Ss(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};ra.create=(t,e)=>new ra({innerType:t,typeName:z.ZodReadonly,...Q(e)});wL={object:Qt.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(z||(z={}));OL=(t,e={message:`Input not instance of ${t.name}`})=>uS(n=>n instanceof t,e),pS=Yo.create,fS=Vi.create,IL=Rs.create,CL=ji.create,hS=Ki.create,LL=Wi.create,kL=xs.create,DL=zi.create,ML=Yi.create,$L=Xo.create,PL=ao.create,HL=er.create,UL=As.create,FL=so.create,GL=Qt.create,BL=Qt.strictCreate,VL=Xi.create,jL=Qu.create,KL=qi.create,WL=Rr.create,zL=Ju.create,YL=ys.create,XL=vs.create,qL=ep.create,ZL=Zi.create,QL=Qi.create,JL=Ji.create,e1=ea.create,t1=qo.create,n1=Dn.create,r1=Ln.create,o1=Nr.create,i1=Dn.createWithPreprocess,a1=Fl.create,s1=()=>pS().optional(),c1=()=>fS().optional(),l1=()=>hS().optional(),d1={string:(t=>Yo.create({...t,coerce:!0})),number:(t=>Vi.create({...t,coerce:!0})),boolean:(t=>Ki.create({...t,coerce:!0})),bigint:(t=>ji.create({...t,coerce:!0})),date:(t=>Wi.create({...t,coerce:!0}))},u1=W});var i={};bs(i,{BRAND:()=>NL,DIRTY:()=>Bi,EMPTY_PATH:()=>iL,INVALID:()=>W,NEVER:()=>u1,OK:()=>yt,ParseStatus:()=>ft,Schema:()=>ie,ZodAny:()=>Xo,ZodArray:()=>so,ZodBigInt:()=>ji,ZodBoolean:()=>Ki,ZodBranded:()=>Ul,ZodCatch:()=>na,ZodDate:()=>Wi,ZodDefault:()=>ta,ZodDiscriminatedUnion:()=>Qu,ZodEffects:()=>Dn,ZodEnum:()=>Ji,ZodError:()=>Zt,ZodFirstPartyTypeKind:()=>z,ZodFunction:()=>ep,ZodIntersection:()=>qi,ZodIssueCode:()=>N,ZodLazy:()=>Zi,ZodLiteral:()=>Qi,ZodMap:()=>ys,ZodNaN:()=>Rs,ZodNativeEnum:()=>ea,ZodNever:()=>er,ZodNull:()=>Yi,ZodNullable:()=>Nr,ZodNumber:()=>Vi,ZodObject:()=>Qt,ZodOptional:()=>Ln,ZodParsedType:()=>P,ZodPipeline:()=>Fl,ZodPromise:()=>qo,ZodReadonly:()=>ra,ZodRecord:()=>Ju,ZodSchema:()=>ie,ZodSet:()=>vs,ZodString:()=>Yo,ZodSymbol:()=>xs,ZodTransformer:()=>Dn,ZodTuple:()=>Rr,ZodType:()=>ie,ZodUndefined:()=>zi,ZodUnion:()=>Xi,ZodUnknown:()=>ao,ZodVoid:()=>As,addIssueToContext:()=>M,any:()=>$L,array:()=>FL,bigint:()=>CL,boolean:()=>hS,coerce:()=>d1,custom:()=>uS,date:()=>LL,datetimeRegex:()=>lS,defaultErrorMap:()=>oo,discriminatedUnion:()=>jL,effect:()=>n1,enum:()=>JL,function:()=>qL,getErrorMap:()=>Ts,getParsedType:()=>vr,instanceof:()=>OL,intersection:()=>KL,isAborted:()=>qu,isAsync:()=>Ss,isDirty:()=>Zu,isValid:()=>zo,late:()=>wL,lazy:()=>ZL,literal:()=>QL,makeIssue:()=>Hl,map:()=>YL,nan:()=>IL,nativeEnum:()=>e1,never:()=>HL,null:()=>ML,nullable:()=>o1,number:()=>fS,object:()=>GL,objectUtil:()=>nm,oboolean:()=>l1,onumber:()=>c1,optional:()=>r1,ostring:()=>s1,pipeline:()=>a1,preprocess:()=>i1,promise:()=>t1,quotelessJson:()=>nL,record:()=>zL,set:()=>XL,setErrorMap:()=>oL,strictObject:()=>BL,string:()=>pS,symbol:()=>kL,transformer:()=>n1,tuple:()=>WL,undefined:()=>DL,union:()=>VL,unknown:()=>PL,util:()=>le,void:()=>UL});var sm=S(()=>{Xu();om();rS();Pl();mS();Yu()});var ne=S(()=>{sm();sm()});var Ns,cm=S(()=>{"use strict";Ns={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var tp,lm,C,eB,p1,tB,co=S(()=>{"use strict";tp={SIGNAL:"signal",NET:"net",STATE:"state"},lm={ELEMENT:"element",TEXT:"text"},C={ELEMENT:lm.ELEMENT,TEXT:lm.TEXT,SIGNAL:tp.SIGNAL,NET:tp.NET,STATE:tp.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},eB=new Set(Object.values(tp)),p1=new Set(Object.values(lm)),tB=new Set([...p1,C.ROUTE])});var gS,ES,bS,dm,f1,TS,Mn,SS,Le,kt,np,Gl=S(()=>{"use strict";gS=1,ES={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},bS={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},dm=2,f1=3,TS=new Set([1,dm,f1]),Mn={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},SS="unresolved",Le={ASSERT_SIGNAL:"assert-signal",ASSERT_VISIBLE:"assert-visible",ASSERT_STATE:"assert-state",ASSERT_NET:"assert-net",MARK_DYNAMIC:"mark-dynamic",SUCCESS_STATE:"success-state",INTENT:"intent"},kt={IDLE:"idle",RECORDING:"recording",ANNOTATING:"annotating"},np={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var _S,um=S(()=>{"use strict";_S={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var xS=S(()=>{"use strict"});var x,AS=S(()=>{"use strict";x={DOM_ADDED:"dom.added",DOM_REMOVED:"dom.removed",DOM_ATTR:"dom.attr",DOM_TEXT:"dom.text",NET_REQUEST:"net.request",NET_PENDING:"net.pending",NET_STREAM:"net.stream",PERF:"perf",ROUTE_CHANGE:"route.change",CONSOLE_LOG:"console.log",CONSOLE_WARN:"console.warn",CONSOLE_ERROR:"console.error",CONSOLE_INFO:"console.info",CONSOLE_DEBUG:"console.debug",ERROR_UNCAUGHT:"error.uncaught",VISIBLE_SHOWN:"visible.shown",ANIM_START:"anim.start",ANIM_END:"anim.end",SCROLL_POSITION:"scroll.position",REVEAL_SHOWN:"reveal.shown",SIGNAL:"signal",STATE_CHANGE:"state.change",STORAGE_CHANGE:"storage.change",PAGE_HEALTH:"page.health",CONTEXT_OPENED:"context.opened",DIALOG_OPENED:"dialog.opened",RENDER_COMMIT:"render.commit",FOCUS_CHANGE:"focus.change",FIELD_CHANGE:"field.change",FLOW_RECORDED:"flow.recorded",TRANSPORT_OVERFLOW:"transport.overflow",TRUNCATED:"truncated",BLIND_SPOT:"blind-spot",SDK_FAILED:"sdk.failed",NET_DETAIL:"net.detail",HUMAN_CONTROL:"human.control",HUMAN_MARK:"human.mark",DOWNLOAD:"download",HUD_USED:"hud.used"}});function vS(t=pm,e=h1){return`ws://${e}:${String(t)}${oa}`}var pm,oa,rp,yS,h1,$n,op,sB,G,_e,ip,RS,ws,cB,NS,dB,ap,sp,wS,Os,cp,m1,uB,k,OS,IS,fe,et,L,je,Is,Dt,Mt=S(()=>{"use strict";xS();AS();pm=4400,oa="/reticle",rp=1,yS=1,h1="localhost";$n={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened",HUD:"__reticle_hud"},op="https://app.reticle.sh",sB={MAX_RUNS:50,MAX_BYTES:4*1024*1024},G={MAX_MESSAGE_BYTES:1024*1024,MAX_MESSAGES_PER_SECOND:2e4,MAX_SESSIONS:32,MAX_PENDING_CONNECTIONS:16,HELLO_TIMEOUT_MS:5e3,MAX_BUFFER_BYTES:8*1024*1024,MAX_SESSION_ID_LENGTH:128,MAX_URL_LENGTH:4096,MAX_TITLE_LENGTH:512,MAX_ADAPTERS:32,MAX_CONTRACT_NAMES:128,MAX_ADAPTER_NAME_LENGTH:128,MAX_TOKEN_LENGTH:512,MAX_COMMAND_ID_LENGTH:128,MAX_COMMAND_NAME_LENGTH:128,MAX_REF_LENGTH:128,MAX_ERROR_LENGTH:4096,MAX_STACK_LENGTH:4e3,MAX_SERIALIZE_DEPTH:8,MAX_COLLECTION_ITEMS:200,MAX_OBJECT_KEYS:200,MAX_STRING_LENGTH:64*1024,MAX_MARK_NOTE_LENGTH:2e3,MAX_MARK_LABEL_LENGTH:256},_e="[REDACTED]",ip="confirmDangerous",RS="native",ws={NO_PROVIDER:"no-visual-provider",CAPTURE_FAILED:"capture-failed",BASELINE_MISSING:"baseline-missing",DIMENSION_MISMATCH:"dimension-mismatch",FULL_PAGE_UNSUPPORTED:"full-page-unsupported",NOT_COMPOSITED:"window-not-composited"},cB=1440*60*1e3,NS=1,dB={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:G.MAX_BUFFER_BYTES},ap="__reticle_renders",sp={DOM:"dom",JOURNAL:"journal"},wS={WINDOW:"window"},Os={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},cp={HOVER_NATIVE_ENTER_LEAVE:"target has enter/leave handlers; synthetic hover may not trigger them \u2014 expect no state change",REAL_INPUT_FELL_BACK:"real-input provider was available but failed; fell back to synthetic dispatch",CLICK_OCCLUDED:"target is visually occluded by another element; a real user could not click it (synthetic dispatch still delivered the event) \u2014 dismiss the overlay or scroll the target clear",GLOBAL_PRESS:"press landed on the focused element or document \u2014 no named target was given, so this effect does not claim one"},m1="console.",uB=[x.CONSOLE_LOG,x.CONSOLE_WARN,x.CONSOLE_ERROR,x.CONSOLE_INFO].map(t=>t.slice(m1.length)),k={CLICK:"click",DBLCLICK:"dblclick",HOVER:"hover",FOCUS:"focus",BLUR:"blur",FILL:"fill",TYPE:"type",CLEAR:"clear",SELECT:"select",CHECK:"check",UNCHECK:"uncheck",SUBMIT:"submit",PRESS:"press",UPLOAD:"upload",SCROLL_INTO_VIEW:"scrollIntoView",SCROLL:"scroll",DRAG:"drag",TAP:"tap",ZOOM:"zoom"},OS={TIMEOUT:"timeout",THROTTLED:"throttled"},IS={UNAVAILABLE:"component-state-unavailable"},fe={VISIBLE:"visible",HIDDEN:"hidden",ENABLED:"enabled",DISABLED:"disabled",CHECKED:"checked",EXPANDED:"expanded",PRESSED:"pressed",FOCUSED:"focused",PRESENT:"present",IN_VIEWPORT:"inViewport"},et={ROLE:"role",TEXT:"text",LABEL:"label",PLACEHOLDER:"placeholder",TESTID:"testid",ALT:"alt",COMPONENT:"component"},L={SNAPSHOT:"snapshot",QUERY:"query",MATCH:"match",INSPECT:"inspect",ACT:"act",ACT_SEQUENCE:"act_sequence",ANIMATIONS:"animations",NARRATE:"narrate",CLOCK:"clock",CAPABILITIES:"capabilities",STATE_READ:"state_read",STORAGE_READ:"storage_read",SCROLL:"scroll",SESSION_CONFIG:"session_config",PRESENTER:"presenter",IMPACT:"impact",CAPTURE:"capture",RENDER:"render",NAVIGATE:"navigate",REFRESH:"refresh",FLOWS:"flows",FLOW_PROGRESS:"flow.progress",PLAN:"plan",MARKERS:"markers"},je={IDLE:"idle",READING:"reading",ACTING:"acting"},Is={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},Dt={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var Pn,g1,Hn,mB,ia=S(()=>{"use strict";ne();Pn={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},g1=i.union([i.nativeEnum(Pn),i.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),Hn=i.object({surface:g1,instance:i.string().min(1),epoch:i.number().int().nonnegative().optional(),locator:i.string().optional(),revision:i.string().optional()}),mB=i.object({kind:i.enum(["instance","epoch"]),from:i.string(),to:i.string()})});var R,gn,Jt,$t,fm,hm,tr=S(()=>{"use strict";ne();R={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},gn=i.union([i.nativeEnum(R),i.string().regex(/^x-[a-z0-9-]+$/,"a channel this specification does not name must start with x-")]),Jt={INDEPENDENT:"independent",ACTUATION_DERIVED:"actuation-derived"},$t={CONSEQUENCE:"consequence",PRESENCE:"presence",CONTEXT:"context"},fm=i.object({id:gn,independence:i.nativeEnum(Jt),grade:i.nativeEnum($t),note:i.string().optional()}),hm={[R.UI]:{independence:Jt.ACTUATION_DERIVED,grade:$t.PRESENCE},[R.NET]:{independence:Jt.INDEPENDENT,grade:$t.CONSEQUENCE},[R.STATE]:{independence:Jt.ACTUATION_DERIVED,grade:$t.CONSEQUENCE},[R.SIGNAL]:{independence:Jt.ACTUATION_DERIVED,grade:$t.CONSEQUENCE},[R.LOG]:{independence:Jt.INDEPENDENT,grade:$t.CONTEXT},[R.ROUTE]:{independence:Jt.ACTUATION_DERIVED,grade:$t.PRESENCE},[R.STORAGE]:{independence:Jt.ACTUATION_DERIVED,grade:$t.CONSEQUENCE},[R.TIME]:{independence:Jt.INDEPENDENT,grade:$t.CONTEXT},[R.VISUAL]:{independence:Jt.ACTUATION_DERIVED,grade:$t.PRESENCE}}});var CS=S(()=>{"use strict"});var xB,LS=S(()=>{"use strict";ne();ia();xB=i.object({id:i.string().min(1),subject:Hn,capturedAt:i.number().int(),payload:i.unknown().optional()})});var vB,kS=S(()=>{"use strict";ne();vB=i.object({mutation:i.string().min(1)})});var E1,mm,b1,T1,DS,MS,gm,$S,PS,Bl=S(()=>{"use strict";ne();tr();E1={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},mm={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},b1=i.object({id:i.string().min(1),statement:i.string().min(1),origin:i.nativeEnum(E1),claims:i.array(i.string()).default([]),declaredAt:i.number().int().optional()}),T1=i.discriminatedUnion("status",[i.object({status:i.literal(mm.ABANDONED),abandonedBecause:i.string().trim().min(1)}),i.object({status:i.literal(mm.DECLARED),abandonedBecause:i.undefined().optional()}),i.object({status:i.literal(mm.BOUND),abandonedBecause:i.undefined().optional()})]),DS=b1.and(T1),MS={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},gm=i.object({id:i.string().min(1),predicate:i.unknown(),reads:i.string().min(1),channels:i.array(gn).min(1)}),$S=i.object({id:i.string().min(1),intent:i.string().optional(),statement:i.string().min(1),declaredAt:i.nativeEnum(MS),assertions:i.array(gm).default([])}),PS=i.object({id:i.string().min(1),statement:i.string().min(1),predicate:i.unknown(),channels:i.array(gn).min(1),severity:i.enum(["blocking","advisory"]).default("blocking")})});var S1,Cs,kB,Em,HS,US,_1,FS,Zo=S(()=>{"use strict";ne();tr();ia();S1=i.object({id:i.string().min(1),window:i.string().min(1),channel:gn,at:i.number().int(),value:i.unknown(),summary:i.string().min(1)}),Cs={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},kB={[Cs.LEARNED]:0,[Cs.OBSERVED]:1,[Cs.DERIVED]:2,[Cs.AUTHORITATIVE]:3},Em=i.object({class:i.nativeEnum(Cs),source:i.string().min(1),method:i.string().min(1),subject:Hn,at:i.number().int(),confidence:i.number().min(0).max(1).optional()}),HS=i.object({observation:S1,provenance:Em,independence:i.nativeEnum(Jt),grade:i.nativeEnum($t)}),US={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},_1=i.object({kind:i.nativeEnum(US),channel:gn.optional(),detail:i.string().min(1),impeaching:i.boolean(),remedy:i.string().optional()}),FS=i.object({window:i.string().min(1),observed:i.array(gn),blindSpots:i.array(_1)})});var A1,y1,lp,v1,dp,bm,HB,GS=S(()=>{"use strict";ne();tr();Zo();A1=i.object({channel:gn}),y1=i.union([i.object({summary:i.string().min(1),valueContains:i.string().min(1)}),i.object({summary:i.string().min(1).optional(),valueContains:i.undefined().optional()})]),lp=A1.and(y1),v1={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},dp={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},bm={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},HB=i.discriminatedUnion("kind",[i.object({kind:i.literal(dp.COUNT),match:lp,op:i.nativeEnum(v1),value:i.number().int().nonnegative()}),i.object({kind:i.literal(dp.PRESENT),match:lp}),i.object({kind:i.literal(dp.ABSENT),match:lp}),i.object({kind:i.literal(dp.MEASURE),match:lp,op:i.nativeEnum(bm),value:i.number().finite(),tolerance:i.number().nonnegative().finite().default(0)})])});var BB,Tm,VB,up,BS,Vl,VS,jB,aa=S(()=>{"use strict";ne();ia();BB=i.object({name:i.string().min(1),meaning:i.string().min(1),parameters:i.unknown().optional(),mutating:i.boolean()}),Tm={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},VB=i.object({ref:i.string().min(1),describes:i.string().min(1),at:i.string().optional()}),up=i.object({id:i.string().min(1),actor:i.string().min(1),capability:i.string().min(1),target:i.string().optional(),parameters:i.unknown().optional(),at:i.number().int()}),BS=i.object({action:i.string().min(1),dispatched:i.boolean(),refused:i.object({reason:i.nativeEnum(Tm),detail:i.string().min(1)}).optional(),subject:Hn,at:i.number().int()}),Vl={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},VS=i.object({id:i.string().min(1),openedAt:i.number().int(),closedAt:i.number().int().optional(),budgetMs:i.number().int().positive(),closes:i.nativeEnum(Vl),closedBy:i.nativeEnum(Vl).optional(),subject:Hn}),jB=new Set([Vl.BUDGET_EXHAUSTED,Vl.TERMINATED])});var pp,R1,jS,N1,Sm,_m,KS,Ls=S(()=>{"use strict";ne();tr();pp={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},R1=i.string().min(1),jS={ADVANCED_OVER_FAILURE:"advanced-over-failure",CLAIMED_OVER_FAILURE:"claimed-over-failure",EFFECT_DISCARDED:"effect-discarded",CLAIM_UNCORROBORATED:"claim-uncorroborated",FAILURE_INSIDE_SUCCESS:"failure-inside-success",VALUE_NOT_APPLIED:"value-not-applied",DUPLICATED_EFFECT:"duplicated-effect",STALE_APPLIED:"stale-applied",NO_EFFECT:"no-effect",FAULT_MISATTRIBUTED:"fault-misattributed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},N1=i.union([i.nativeEnum(jS),i.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),Sm={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},_m=i.object({kind:N1,tier:i.nativeEnum(Sm),claim:i.string().min(1),counter:i.string().min(1),between:i.tuple([gn,gn]),evidence:i.array(i.string()).default([])}),KS=i.object({id:i.string().min(1),claim:i.string().min(1),window:i.string().min(1),verdict:i.nativeEnum(pp),grade:i.nativeEnum($t).optional(),reasons:i.array(R1).default([]),evidence:i.array(i.string()).default([]),anomalies:i.array(_m).default([]),supersedes:i.string().optional(),at:i.number().int()})});var w1,O1,I1,e4,WS,C1,t4,xm=S(()=>{"use strict";ne();aa();Bl();Zo();Ls();w1=i.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),O1=i.object({id:i.string().min(1),invoke:w1,with:i.unknown().optional(),at:i.number().int()}),I1=i.union([up,O1]),e4=i.object({name:i.string().min(1),version:i.number().int().positive(),startState:i.unknown().optional(),requires:i.unknown().optional(),ensures:i.unknown().optional(),claim:i.string().min(1),steps:i.array(I1),expects:i.array(gm).default([]),mayRebind:i.boolean().default(!1)}),WS=i.object({verdict:i.string().min(1),expected:i.string().min(1),actual:i.string().min(1),evidence:i.array(i.string()).min(1),location:i.object({file:i.string(),line:i.number().int().optional(),symbol:i.string().optional()}).optional(),instruction:i.string().min(1)}),C1={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},t4=i.object({id:i.string().min(1),kind:i.nativeEnum(C1),statement:i.string().min(1),provenance:Em,observations:i.number().int().nonnegative().default(0),promotedBy:i.string().optional(),promotedAt:i.number().int().optional()})});var L1,k1,u4,zS=S(()=>{"use strict";ne();tr();Bl();aa();Zo();Ls();xm();ia();L1="1.0",k1=i.object({constraint:i.string().min(1),at:i.number().int(),detail:i.string().min(1),evidence:i.array(i.string()).default([])}),u4=i.object({ovp:i.literal(L1),id:i.string().min(1),verifier:i.object({name:i.string().min(1),version:i.string().min(1),profile:i.string().optional()}),subject:Hn,channels:i.array(fm),witnesses:i.array(i.object({name:i.string().min(1),subject:Hn,channels:i.array(fm)})).default([]),intents:i.array(DS).default([]),claims:i.array($S).default([]),constraints:i.array(PS).default([]),actions:i.array(up).default([]),receipts:i.array(BS).default([]),windows:i.array(VS).default([]),evidence:i.array(HS).default([]),coverage:i.array(FS).default([]),anomalies:i.array(_m).default([]),verdicts:i.array(KS).default([]),violations:i.array(k1).default([]),repairs:i.array(WS).default([]),startedAt:i.number().int(),endedAt:i.number().int()})});var Am=S(()=>{"use strict";Ls()});var ym=S(()=>{"use strict";Bl();tr();Zo();aa();Ls()});var vm=S(()=>{"use strict";aa();tr();Am();Zo();ym()});var Rm=S(()=>{"use strict"});var YS=S(()=>{"use strict";Rm()});var sa,$4,P4,H4,XS=S(()=>{"use strict";ne();tr();sa={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},$4=[sa.EFFECT,sa.IN_REALM,sa.SURFACE],P4={[sa.EFFECT]:[R.NET,R.LOG],[sa.IN_REALM]:[R.NET,R.LOG,R.STATE,R.SIGNAL],[sa.SURFACE]:[R.NET,R.LOG,R.STATE,R.SIGNAL,R.UI]},H4=i.object({name:i.string().min(1),version:i.string().min(1),platform:i.string().min(1),claims:i.nativeEnum(sa),homepage:i.string().optional()})});var qS=S(()=>{"use strict";vm();tr();aa();Zo();ia()});var ks=S(()=>{"use strict";ia();tr();CS();LS();kS();Bl();GS();aa();Zo();Ls();xm();zS();vm();Am();Rm();YS();ym();XS();qS()});var lo,Ke,ZS,Pt,Qo=S(()=>{"use strict";lo={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},Ke={VERSION_SKEW:"version_skew",CAPABILITY_ABSENT:"capability-absent",INCONCLUSIVE:"inconclusive",OBSERVATION_LOST:"observation_lost",WINDOW_CLOSED_EARLY:"window_closed_early",ASSERTION_FAILED:"assertion_failed",CONTRADICTED:"contradicted",ALREADY_TRUE:"already_true",HIDDEN_MATCH:"hidden_match",UNCLEAN_CAPTURE:"unclean_capture",VACUOUS_GRADE:"vacuous_grade",NOTHING_DECLARED:"nothing_declared",OUTCOME_PENDING:"outcome_pending",OUTCOME_UNREAD:"outcome_unread",UNSETTLED:"unsettled",EVIDENCE_INCOMPLETE:"evidence_incomplete",PROVED:"proved",ABSENCE_BLIND_SPOT:"absence_blind_spot"},ZS={BUFFER_LOSS:"buffer_loss",TRANSPORT_GAP:"transport_gap",BLIND_SPOT:"blind_spot",JOURNAL_LOSS:"journal_loss",OTHER:"other"},Pt={CLOSED_SHADOW_ROOT:"closed-shadow-root",RATE_LIMITED:"rate-limited",CROSS_ORIGIN_IFRAME:"cross-origin-iframe",UNINSTRUMENTED_FRAME:"uninstrumented-frame",VIRTUALIZED_UNMOUNTED:"virtualized-unmounted",WRAPPED_NETWORK:"wrapped-network",UNOBSERVED_IPC:"unobserved-ipc",VERDICTLESS_SEND:"verdictless-send",UNWATCHED_STATE:"unwatched-state"}});var $1,P1,QS,Nm=S(()=>{"use strict";ne();Qo();$1={FINDABLE:"findable",DISCOVERABILITY:"discoverability",AGENT_ASSUMPTION:"agent_assumption",DEFECT:"defect"},P1=20,QS=i.object({goal:i.string().min(1).max(500),kind:i.nativeEnum($1),agent:i.object({verified:i.nativeEnum(lo),claim:i.string().max(2e3)}),harness:i.object({verified:i.nativeEnum(lo),found:i.boolean(),searched:i.array(i.string().max(500)).max(P1),gaveUpAt:i.string().max(500).optional()})})});var H1,U1,F1,G1,B1,V1,JS,j1,fp,K1,W1,z1,Y1,X1,q1,Z1,Q1,J1,ek,AV,tk,wm,Om,nk,rk,ok,ik,ak,sk,ck,lk,dk,uk,yV,Im=S(()=>{"use strict";ne();ks();co();Qo();Nm();H1=3,U1=1,F1=2,G1={pass:lo.YES,fail:lo.NO},B1={network:C.NET,layout:C.ELEMENT},V1=i.string().brand(),JS={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},j1={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},fp={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},K1={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},W1={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},z1={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},Y1={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},X1={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},q1={PREVIEW:"preview",CI:"ci",LOCAL:"local"},Z1={HIGH:"high",MEDIUM:"medium",LOW:"low"},Q1={DEV:"dev",PROD_PREVIEW:"prod-preview"},J1=i.object({file:i.string(),line:i.number().optional(),component:i.string().optional()}),ek=i.object({path:i.string(),changeKind:i.nativeEnum(z1),risk:i.array(i.nativeEnum(fp)).default([])}),AV=64*1024,tk={BROWSER:"browser",RENDERED:"rendered"},wm={RUNS_DIR:"runs",MANIFEST_FILE:"shots.jsonl",JPEG_QUALITY:.7,MAX_SIDE_PX:1600,MAX_PER_RUN:300,MAX_BYTES:1.5*1024*1024},Om=i.object({file:i.string(),source:i.nativeEnum(tk),width:i.number(),height:i.number(),sha256:i.string()}),nk=Om.extend({seq:i.number(),tool:i.string(),step:i.string().optional(),verdict:i.boolean().optional(),checkId:i.string().optional(),actionId:i.string().optional()}),rk=i.object({step:i.number(),anchor:i.string(),ok:i.boolean(),page:i.string().optional(),endPage:i.string().optional(),consequence:i.string().optional(),error:i.string().optional(),drift:i.string().optional(),screenshot:Om.optional()}),ok=i.object({startPath:i.string().optional(),steps:i.array(i.unknown())}),ik=i.object({name:i.string(),template:i.string().optional(),status:i.nativeEnum(j1),steps:i.number(),durationMs:i.number(),oracle:i.string().optional(),healed:i.object({from:i.string(),to:i.string(),consequenceVerified:i.boolean()}).optional(),evidenceRef:i.string().optional(),failureReason:i.string().optional(),stepResults:i.array(rk).optional(),recording:ok.optional(),recordingOmitted:i.boolean().optional()}),ak=i.object({kind:i.preprocess(t=>{var e;return typeof t=="string"&&(e=B1[t])!=null?e:t},i.nativeEnum(C).optional()),predicate:i.string(),status:i.preprocess(t=>{var e;return typeof t=="string"&&(e=G1[t])!=null?e:t},i.nativeEnum(lo)),evidence:i.unknown().optional(),declaredBeforeActing:i.boolean().optional(),expected:i.string().optional(),observed:i.string().optional(),grade:i.string().optional(),couldNotSee:i.array(i.string()).optional(),reason:i.string().optional(),checkId:i.string().optional(),actionId:i.string().optional(),intent:i.string().optional(),screenshot:Om.optional(),supersedes:i.string().optional()}),sk=i.object({surface:i.nativeEnum(fp),severity:i.nativeEnum(K1),detail:i.string(),evidence:i.object({file:i.string().optional(),line:i.number().optional(),network:i.string().optional()}).optional(),gated:i.boolean().default(!1)}),ck=i.object({consoleErrors:i.array(i.object({level:i.string(),message:i.string(),at:i.number()})).default([]),networkAnomalies:i.array(i.object({method:i.string(),url:i.string(),status:i.number().optional(),issue:i.string()})).default([]),stateAssertions:i.array(i.object({store:i.string(),path:i.string(),expected:i.unknown(),actual:i.unknown(),ok:i.boolean()})).default([]),timeline:i.array(i.object({at:i.number(),kind:i.string(),summary:i.string()})).default([])}),lk=i.object({flow:i.string().optional(),step:i.number().optional(),expected:i.string(),actual:i.string(),sourceLocation:J1.optional(),suggestedPrompt:i.string()}),dk=i.object({status:i.nativeEnum(JS),reasons:i.array(i.string()).default([]),confidence:i.nativeEnum(Z1),blockingRisks:i.number().default(0),checkId:i.string().optional(),supersedes:i.string().optional()}),uk=i.object({alg:i.string(),value:i.string(),signedAt:i.number()}),yV=i.object({schemaVersion:i.union([i.literal(H1),i.literal(F1),i.literal(U1)]),runId:V1,createdAt:i.number(),durationMs:i.number(),profile:i.nativeEnum(Q1),project:i.object({name:i.string(),framework:i.nativeEnum(X1),commit:i.string().optional(),env:i.nativeEnum(q1).optional(),previewUrl:i.string().optional()}),agent:i.object({id:i.string(),kind:i.nativeEnum(Y1),model:i.string().optional()}),trigger:i.object({kind:i.nativeEnum(W1),diffRef:i.string().optional(),note:i.string().optional()}),editEpoch:i.number().optional(),subject:Hn.optional(),context:i.record(i.unknown()).optional(),changedFiles:i.array(ek).default([]),flows:i.array(ik).default([]),checks:i.array(ak).default([]),risks:i.array(sk).default([]),evidence:ck,repair:i.object({failurePackets:i.array(lk).default([])}).optional(),screenshots:i.array(nk).optional(),verdict:dk,signature:uk.optional(),disparity:i.array(QS).optional(),agentClaim:i.nativeEnum(JS).optional()})});var pk,jl,fk,hk,mk,gk,CV,Ek,bk,Tk,LV,kV,Cm=S(()=>{"use strict";ne();Mt();Gl();Im();pk=i.array(i.string().refine(t=>!t.includes("="),t=>({message:`\`attrs\` takes attribute NAMES only, not \`name=value\` \u2014 got ${JSON.stringify(t)}. It PROJECTS each attribute onto the match, it does not filter on it. Drop the \`=value\` half and read the returned \`attrs\` map, or assert the value with an \`element\` predicate carrying \`value\`.`}))),jl=i.object({by:i.nativeEnum(et).optional(),value:i.string().optional(),role:i.string().optional(),name:i.string().optional(),text:i.string().optional(),label:i.string().optional(),placeholder:i.string().optional(),testid:i.string().optional(),alt:i.string().optional(),component:i.string().optional(),attrs:pk.optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).strict().optional(),scope:i.string().optional(),self:i.boolean().optional(),matchCase:i.boolean().optional()}).strict(),fk=i.object({name:i.string(),steps:i.array(i.string())}),hk=i.object({surface:i.nativeEnum(fp),paths:i.array(i.string()).optional(),note:i.string().optional()}),mk=i.object({owner:i.string().optional(),safety:i.array(i.string()).optional(),scope:i.array(i.string()).optional(),redact:i.array(i.string()).optional(),risk:i.array(hk).optional()}),gk=i.object({testids:i.array(i.string()),signals:i.array(i.string()),stores:i.array(i.string()),flows:i.array(fk),governance:mk.optional()}),CV=i.object({version:i.literal(NS),generatedAt:i.number(),capabilities:gk}),Ek=i.object({consoleErrors:i.number().optional(),networkErrors:i.number().optional(),driftSteps:i.number().optional()}),bk=i.object({kind:i.nativeEnum(ES),name:i.string(),status:i.nativeEnum(bS),at:i.number(),summary:i.string().optional(),evidence:Ek.optional(),durationMs:i.number().optional()}),Tk=i.object({flows:i.array(i.string()).optional(),routes:i.array(i.string()).optional(),bestObservability:i.object({percent:i.number(),at:i.number()}).optional()}),LV=i.object({version:i.literal(gS),learned:Tk.optional(),runs:i.array(bk)}),kV=i.discriminatedUnion("kind",[i.object({kind:i.literal(Le.ASSERT_SIGNAL),name:i.string().min(1),dataMatches:i.record(i.unknown()).optional()}),i.object({kind:i.literal(Le.ASSERT_VISIBLE),testid:i.string().min(1)}),i.object({kind:i.literal(Le.ASSERT_STATE),statePath:i.string().min(1),store:i.string().min(1).optional(),equals:i.unknown().optional()}),i.object({kind:i.literal(Le.ASSERT_NET),net:i.object({method:i.string().min(1).optional(),urlContains:i.string().min(1).optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()})}),i.object({kind:i.literal(Le.MARK_DYNAMIC),testid:i.string().min(1)}),i.object({kind:i.literal(Le.SUCCESS_STATE),signal:i.string().min(1).optional(),testid:i.string().min(1).optional(),statePath:i.string().min(1).optional(),store:i.string().min(1).optional(),equals:i.unknown().optional(),hold:i.boolean().optional(),net:i.object({method:i.string().min(1).optional(),urlContains:i.string().min(1).optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()}).optional(),console:i.object({level:i.string().min(1).optional(),absent:i.boolean().optional()}).optional(),text:i.object({contains:i.string().min(1),scope:i.string().min(1).optional(),absent:i.boolean().optional(),visible:i.boolean().optional()}).optional()}),i.object({kind:i.literal(Le.INTENT),text:i.string().min(1)})])});function t_(t,e){let n=e_(t),r=e_(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(a=>n[a]===r[a])}function e_(t){var e,n;return C.NET===t.from?{...t,body:(e=t.body)!=null?e:km.RESPONSE,method:(n=t.method)==null?void 0:n.toUpperCase()}:{...t}}var km,hp,Lm,Dm,Mm=S(()=>{"use strict";ne();co();km={RESPONSE:"response",REQUEST:"request"},hp={VALUE:"value",NUMBER:"number"},Lm=i.string().min(1),Dm=i.discriminatedUnion("from",[i.object({from:i.literal(C.NET),urlContains:i.string().min(1),method:i.string().optional(),body:i.enum([km.RESPONSE,km.REQUEST]).optional(),path:Lm}).strict(),i.object({from:i.literal(C.SIGNAL),name:i.string().min(1),path:Lm}).strict(),i.object({from:i.literal(C.STATE),store:i.string().optional(),path:Lm}).strict(),i.object({from:i.literal(C.TEXT),scope:i.string().min(1)}).strict()])});var n_,$m,Pm=S(()=>{"use strict";ne();ks();n_=i.object({op:i.nativeEnum(bm),value:i.number().finite(),tolerance:i.number().finite().nonnegative().optional()}).strict(),$m=i.discriminatedUnion("property",[i.object({property:i.literal("nonEmpty")}).strict(),i.object({property:i.literal("oneOf"),values:i.array(i.unknown()).min(1)}).strict(),i.object({property:i.literal("withinTolerance"),of:i.number().finite(),tolerance:i.number().finite().nonnegative()}).strict(),i.object({property:i.literal("matchesPattern"),pattern:i.string().min(1)}).strict(),i.object({property:i.literal("type"),is:i.enum(["string","number","boolean","array","object"])}).strict(),i.object({property:i.literal("changed")}).strict(),i.object({property:i.literal("unchanged")}).strict(),i.object({property:i.literal("increased"),by:n_.optional()}).strict(),i.object({property:i.literal("decreased"),by:n_.optional()}).strict()])});function xk(t){if(t.kind!==void 0||typeof t[Hm]!="string")return t;let e={...t,kind:t[Hm]};return delete e[Hm],e}function Ak(t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let n=xk(t),r=typeof n.kind=="string"?n.kind:"",o=Sk[r],a=n;if(o!==void 0){a={...n};for(let[s,l]of Object.entries(o))a[s]!==void 0&&(a[l]===void 0&&(a[l]=a[s]),delete a[s])}return C.ELEMENT===r?yk(a):a}function yk(t){let e=_k.filter(o=>t[o]!==void 0);if(e.length===0)return t;let n={...t},r={};for(let o of e)r[o]=n[o],delete n[o];return n.query===void 0&&(n.query=r),n}function vk(){return i.discriminatedUnion("kind",[i.object({kind:i.literal(C.ELEMENT),query:jl,state:i.nativeEnum(fe).optional(),absent:i.boolean().optional()}).strict(),i.object({kind:i.literal(C.TEXT),contains:i.string().optional(),visible:i.boolean().optional(),absent:i.boolean().optional(),scope:i.string().optional(),self:i.boolean().optional(),satisfies:$m.optional(),ignoreCase:i.boolean().optional()}).strict(),i.object({kind:i.literal(C.NET),method:i.string().optional(),urlContains:i.string().optional(),status:i.number().optional(),ok:i.boolean().optional(),since:i.number().optional(),count:i.number().int().nonnegative().optional(),bodyContains:i.string().min(1).optional(),bodyMatches:i.record(i.string(),i.unknown()).optional(),requestBodyContains:i.string().min(1).optional(),requestBodyMatches:i.record(i.string(),i.unknown()).optional(),repeatable:i.boolean().optional()}).strict(),i.object({kind:i.literal(C.ROUTE),pathname:i.string().optional(),contains:i.string().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.CONSOLE),level:i.string().optional(),contains:i.string().min(1).optional(),absent:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.ANIMATION),name:i.string().optional(),target:i.string().optional(),completed:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.SIGNAL),name:i.string().optional(),dataMatches:i.record(i.unknown()).optional(),count:i.number().int().nonnegative().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.STATE),store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),satisfies:$m.optional()}).strict(),i.object({kind:i.literal(C.SETTLED),quietMs:i.number().positive().optional()}).strict(),i.object({kind:i.literal(C.COMPARE),left:Dm,right:Dm,as:i.enum([hp.VALUE,hp.NUMBER]).optional(),tolerance:i.number().finite().nonnegative().optional()}).strict(),i.object({kind:i.literal(C.ALL_OF),predicates:i.array(Kl).min(1)}).strict(),i.object({kind:i.literal(C.ANY_OF),predicates:i.array(Kl).min(1)}).strict(),i.object({kind:i.literal(C.NOT),predicate:Kl}).strict()])}function Rk(t,e){if(typeof t!="object"||t===null)return;let n=t;if(C.NET===n.kind){Nk(n.repeatable,n.urlContains,e);return}if(C.COMPARE===n.kind){wk(t,e);return}C.TEXT===n.kind&&(n.contains===void 0&&n.satisfies===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:"a text predicate must say WHAT about the text: `contains` for a substring, `satisfies` for a property of it. With neither it matches any element with any text and cannot fail"}),n.satisfies!==void 0&&n.contains===void 0&&n.scope===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:"`satisfies` needs a subject: add `scope` (the element whose text is tested, with `self: true` to read the scope root itself) or a `contains` that selects one. Without either, the locator is every element on the page and the property would run against whichever one happened to match first"}))}function Nk(t,e,n){t===!0&&(typeof e=="string"&&e.trim().length>0||n.addIssue({code:i.ZodIssueCode.custom,message:'`repeatable: true` needs a non-empty `urlContains` naming the read endpoint, for example `{ kind: "net", method: "POST", urlContains: "/graphql", repeatable: true }`. Without one it would excuse every request in the window from duplicate-request, a real double submit included'}))}function wk(t,e){t_(t.left,t.right)&&e.addIssue({code:i.ZodIssueCode.custom,message:"`left` and `right` read the same value, so this comparison agrees with itself on every page and cannot fail. Compare two different readings: what the page shows against what the server answered, or what was sent against what came back"}),t.tolerance!==void 0&&hp.NUMBER!==t.as&&e.addIssue({code:i.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var Sk,Hm,_k,Kl,Um=S(()=>{"use strict";ne();Cm();Mt();Mm();co();Pm();Sk={[C.TEXT]:{text:"contains",value:"contains",query:"contains"},[C.ROUTE]:{path:"pathname",urlContains:"contains",url:"contains",pathContains:"contains"},[C.NET]:{url:"urlContains",responseBodyMatches:"bodyMatches",pathContains:"urlContains"},[C.CONSOLE]:{textContains:"contains"},[C.SIGNAL]:{data:"dataMatches"},[C.ALL_OF]:{of:"predicates"},[C.ANY_OF]:{of:"predicates"},[C.NOT]:{of:"predicate"}},Hm="type",_k=Object.keys(jl.shape);Kl=i.lazy(()=>i.preprocess(Ak,vk()).superRefine(Rk))});function r_(t){return`${t} is an element ref, which only exists in the session that minted it \u2014 scope by a CSS selector or a testid so the flow can check it again`}function mp(t){let e=(n,r)=>r!==void 0&&Ok.test(r)?`${n} "${r}"`:void 0;switch(t.kind){case C.ALL_OF:case C.ANY_OF:for(let n of t.predicates){let r=mp(n);if(r!==void 0)return r}return;case C.NOT:return mp(t.predicate);case C.TEXT:return e("text.scope",t.scope);case C.ELEMENT:return e("element.query.scope",t.query.scope);case C.ANIMATION:return e("animation.target",t.target);case C.COMPARE:for(let[n,r]of[["left",t.left],["right",t.right]]){if(C.TEXT!==r.from)continue;let o=e(`compare.${n}.scope`,r.scope);if(o!==void 0)return o}return;default:return}}var Ok,Fm=S(()=>{"use strict";co();Ok=/^e\d+$/});function i_(t){let e=[];if(t.signal!==void 0){let s={kind:C.SIGNAL,name:t.signal};t.signalData!==void 0&&(s.dataMatches=t.signalData),t.signalCount!==void 0&&(s.count=t.signalCount,e.push({kind:C.SETTLED})),e.push(s)}if(t.route!==void 0){let s={kind:C.ROUTE};return t.route.pathname!==void 0&&(s.pathname=t.route.pathname),t.route.contains!==void 0&&(s.contains=t.route.contains),s}if(t.net!==void 0){let s={kind:C.NET};t.net.method!==void 0&&(s.method=t.net.method),t.net.urlContains!==void 0&&(s.urlContains=t.net.urlContains),t.net.status!==void 0&&(s.status=t.net.status),t.net.count!==void 0&&(s.count=t.net.count,e.push({kind:C.SETTLED})),e.push(s)}if(t.console!==void 0){let s={kind:C.CONSOLE};t.console.level!==void 0&&(s.level=t.console.level),t.console.absent!==void 0&&(s.absent=t.console.absent,t.console.absent&&e.push({kind:C.SETTLED})),e.push(s)}let n=t.state;if(n!==void 0){let s={kind:C.STATE,path:n.path};n.store!==void 0&&(s.store=n.store),n.equals!==void 0&&(s.equals=n.equals),n.hold===!0&&e.push({kind:C.SETTLED}),e.push(s)}let r=t.element;if(r!==void 0){let s={};r.testid!==void 0&&(s.testid=r.testid),r.role!==void 0&&(s.role=r.role),r.name!==void 0&&(s.name=r.name),Object.keys(s).length>0&&e.push({kind:C.ELEMENT,query:s})}let o=t.text;if(o!==void 0){let s={kind:C.TEXT,contains:o.contains};o.scope!==void 0&&(s.scope=o.scope),o.visible!==void 0&&(s.visible=o.visible),o.absent===!0&&(s.absent=!0,e.push({kind:C.SETTLED})),e.push(s)}let[a]=e;if(e.length!==0)return e.length===1&&a!==void 0?a:{kind:C.ALL_OF,predicates:e}}var o_,Gm=S(()=>{"use strict";ne();co();o_=i.object({route:i.object({pathname:i.string().optional(),contains:i.string().optional()}).optional(),signal:i.string().optional(),signalData:i.record(i.unknown()).optional(),signalCount:i.number().int().nonnegative().optional(),net:i.object({method:i.string().optional(),urlContains:i.string().optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()}).strict().optional(),console:i.object({level:i.string().optional(),absent:i.boolean().optional()}).strict().optional(),element:i.object({testid:i.string().optional(),role:i.string().optional(),name:i.string().optional()}).strict().optional(),text:i.object({contains:i.string().min(1),scope:i.string().optional(),absent:i.boolean().optional(),visible:i.boolean().optional()}).strict().optional(),state:i.object({store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),hold:i.boolean().optional()}).strict().optional()}).strict()});var a_=S(()=>{"use strict"});var c_,Ik,Bm,s_,Ck,l_,Lk,cj,d_=S(()=>{"use strict";ne();Gl();um();Mt();Um();Fm();Gm();Gl();a_();c_=i.discriminatedUnion("kind",[i.object({kind:i.literal(Mn.TESTID),value:i.string().min(1),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).optional()}),i.object({kind:i.literal(Mn.ROLE),role:i.string().min(1),name:i.string().optional(),nth:i.number().int().min(0).optional(),of:i.number().int().min(2).optional()}),i.object({kind:i.literal(Mn.SIGNAL),name:i.string().min(1)}),i.object({kind:i.literal(Mn.COMPONENT),component:i.string().optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).optional(),role:i.string().optional(),name:i.string().optional()})]),Ik=Kl.superRefine((t,e)=>{let n=mp(t);n!==void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:r_(n)})}),Bm=i.union([Ik,o_.transform(t=>i_(t))]),s_=i.array(Bm).transform(t=>t.filter(e=>e!==void 0)),Ck=i.object({tool:i.string(),anchor:c_,source:i.object({file:i.string().min(1),line:i.number().int().positive().optional()}).optional(),id:i.string().min(1).optional(),effect:i.nativeEnum(_S).optional(),healed:i.object({from:i.string(),at:i.number()}).optional(),action:i.nativeEnum(k).optional(),args:i.record(i.unknown()).optional(),expect:Bm.optional(),degraded:i.boolean().optional(),timeoutMs:i.number().int().nonnegative().optional(),invoke:i.string().min(1).optional(),page:i.string().optional(),endPage:i.string().optional()}),l_=Ck.extend({steps:i.lazy(()=>i.array(l_).optional())}),Lk=i.object({version:i.number().int().refine(t=>TS.has(t)),name:i.string(),intent:i.string().optional(),intentId:i.string().optional(),projectId:i.string().optional(),startPath:i.string().optional(),template:i.string().min(1).optional(),fixture:i.string().optional(),requires:s_.optional(),ensures:s_.optional(),author:i.object({agent:i.string().min(1).optional(),person:i.string().min(1).optional()}).optional(),createdAt:i.number(),steps:i.array(l_),signalTimeoutMs:i.number().int().positive().optional(),success:Bm.optional(),dynamic:i.array(c_).optional(),labels:i.array(i.string().min(1)).optional(),needs:i.array(i.string().min(1)).optional(),status:i.enum([np.ACTIVE,np.QUARANTINED,np.DRAFT]).optional(),learned:i.array(i.object({kind:i.string().min(1),step:i.number().int().min(-1),state:i.enum(["open","guarded"]),cleanRuns:i.number().int().nonnegative().optional()})).optional(),knownBugs:i.array(i.object({id:i.string().min(1),summary:i.string().min(1),assertions:i.array(i.string())})).optional(),quarantine:i.object({reason:i.string().min(1),since:i.string().min(1),owner:i.string().min(1),until:i.string().optional()}).optional()}),cj=i.object({name:i.string(),flow:Lk})});var u_=S(()=>{"use strict"});var p_=S(()=>{"use strict"});var f_=S(()=>{"use strict"});var Ds,gp,h_,m_=S(()=>{"use strict";Ds="data-reticle-source",gp="__RETICLE_ROOT__",h_="__RETICLE_SDK_VERSION__"});var ca,g_,E_,b_=S(()=>{"use strict";ca="data-testid",g_=["data-test-subj","data-cy","data-test","data-qa","data-e2e"],E_=/^[a-zA-Z_][\w-]*$/});var T_,S_=S(()=>{"use strict";Mt();T_=new Set([x.DOM_TEXT,x.ANIM_START,x.ANIM_END,x.RENDER_COMMIT,x.PAGE_HEALTH,x.SCROLL_POSITION])});function Vm(t){let e=t.text;if(typeof e=="string"&&0<e.length)return e;let n=t.key;return typeof n=="string"&&0<n.length?n:kk}function jm(t){let e=t.keys;if(!Array.isArray(e))return[];let n=[];for(let r of e)typeof r=="string"&&0<r.length&&n.push(r);return n}function Mk(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function x_(t){if(Mk(t))return!0;let e=jm(t);if(1<e.length)return!0;if(e.length===1){let n=e[0];return n!==void 0&&__.has(n.toLowerCase())}return __.has(Vm(t).toLowerCase())}var kk,Dk,__,A_=S(()=>{"use strict";kk="Enter",Dk=["Escape","Tab"],__=new Set(Dk.map(t=>t.toLowerCase()))});function Ms(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,3e4)}var y_=S(()=>{"use strict"});var it,_j,v_=S(()=>{"use strict";Qo();it={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},_j={[Ke.ASSERTION_FAILED]:it.CODE,[Ke.CONTRADICTED]:it.CODE,[Ke.OUTCOME_PENDING]:it.ENVIRONMENT,[Ke.UNSETTLED]:it.ENVIRONMENT,[Ke.VERSION_SKEW]:it.HARNESS,[Ke.WINDOW_CLOSED_EARLY]:it.HARNESS,[Ke.NOTHING_DECLARED]:it.HARNESS,[Ke.VACUOUS_GRADE]:it.HARNESS,[Ke.ALREADY_TRUE]:it.HARNESS,[Ke.HIDDEN_MATCH]:it.HARNESS,[Ke.CAPABILITY_ABSENT]:it.COULD_NOT_SEE,[Ke.OBSERVATION_LOST]:it.COULD_NOT_SEE,[Ke.UNCLEAN_CAPTURE]:it.COULD_NOT_SEE,[Ke.EVIDENCE_INCOMPLETE]:it.COULD_NOT_SEE,[Ke.ABSENCE_BLIND_SPOT]:it.COULD_NOT_SEE,[Ke.OUTCOME_UNREAD]:it.COULD_NOT_SEE,[Ke.INCONCLUSIVE]:it.COULD_NOT_SEE,[Ke.PROVED]:it.NONE}});var la,$k,Pk,Hk,yj,R_=S(()=>{"use strict";ne();la={CONNECTING:"connecting",WAITING_FOR_APP:"waiting_for_app",FLOWS_FOUND:"flows_found",FLOW_STARTED:"flow_started",FLOW_FINISHED:"flow_finished",GRADING:"grading",PUSHED:"pushed"},$k=120,Pk=200,Hk=i.object({phase:i.enum([la.CONNECTING,la.WAITING_FOR_APP,la.FLOWS_FOUND,la.FLOW_STARTED,la.FLOW_FINISHED,la.GRADING,la.PUSHED]),index:i.number().int().nonnegative().optional(),total:i.number().int().nonnegative().optional(),name:i.string().max($k).optional(),ok:i.boolean().optional(),at:i.number().int().nonnegative()}),yj=i.object({runId:i.string().min(1).max(200),events:i.array(Hk).max(Pk)})});function N_(t){return t===Me.ACTIVE||t===Me.PAUSED||t===Me.ENDED}var Me,Wl,Ht,da,w_,O_,ua,Km=S(()=>{"use strict";Me={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};Wl="auto",Ht={PAUSE:"pause",RESUME:"resume",END:"end",MESSAGE:"message",REPLAY:"replay",SYNC:"sync",SIGNIN:"signin",HARNESS:"harness",HARNESS_RUN:"harness-run",HARNESS_STOP:"harness-stop",HARNESS_LINK:"harness-link"},da={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"},w_={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},O_={IDLE_END_MS:3e5,IDLE_END_MIN_MS:5e3,REAP_INTERVAL_MS:5e3,BRIDGE_LOST_MS:15e3,DAEMON_IDLE_SHUTDOWN_MS:3e5,DAEMON_IDLE_CHECK_MS:3e4},ua={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var en,vt,Jo,zl,En,Ep,$s,tn,Yl=S(()=>{"use strict";en={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},vt={CHAT:"chat",FLOWS:"flows",NOTES:"notes",HARNESS:"harness",SETTINGS:"settings",REPORT:"report",ACCOUNT:"account",NONE:"none"},Jo={RAIL:"rail",HARNESS:"harness",HEADER:"header"},zl={ON:"on",OFF:"off"},En={SHOWN:"shown",HIDDEN:"hidden",REMOVED:"removed"},Ep={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},$s={PLAYING:"playing",PASSED:"passed",FAILED:"failed"},tn={PENDING:"pending",RUNNING:"running",PASSED:"passed",FAILED:"failed",BLOCKED:"blocked",NOT_TAKEN:"not-taken",UNDECIDED:"undecided"}});var Xl,wj,I_=S(()=>{"use strict";Xl="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",wj=`${Xl}{display:none !important}`});var Wm,C_,Uk,Fk,Gk,Lj,kj,pa,bp,zm=S(()=>{"use strict";ne();Yl();Wm={TAB:"tab",HEADLESS:"headless",HEADED:"headed"},C_={LOCAL:"local",PLATFORM:"platform"},Uk=2e3,Fk=128,Gk=500,Lj={target:i.enum([Wm.TAB,Wm.HEADLESS,Wm.HEADED]),mode:i.enum([C_.LOCAL,C_.PLATFORM]),url:i.string().url().refine(t=>/^https?:/i.test(t)),hud:i.enum([En.SHOWN,En.HIDDEN,En.REMOVED]),persona:i.string().min(1).max(Uk),maxSteps:i.number().int().min(1).max(Gk),record:i.boolean(),plan:i.string().min(1).max(Fk),confirmDangerous:i.boolean()},kj=i.object({seq:i.number().int().nonnegative(),tool:i.string().min(1).max(100),args:i.record(i.unknown()).default({})}),pa={SOURCE:"source",TESTID:"testid"},bp="file:line source mapping"});var Tp,k_,D_,L_,Mj,M_=S(()=>{"use strict";Tp="https://calendar.app.google/h9NRDbBBQetyTzWM6",k_="hey@reticle.sh",D_="mailto:hey@reticle.sh?subject=Reticle%20feedback",L_="npx @reticlehq/server identify --context company --email you@company.com",Mj={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${Tp} \xB7 or leave your email: ${L_}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${Tp}) or the email command (${L_}). Offer it; never book a call or submit an email for them.`}});function $_(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*Ym.length);e+=Ym[Math.min(Math.max(r,0),Ym.length-1)]}return e}var Ym,P_=S(()=>{"use strict";Ym="0123456789abcdefghijklmnopqrstuvwxyz"});var H_=S(()=>{"use strict"});var nr,Xm,ql,Bk,Uj,U_,Zl,F_,qm,Sp,_p=S(()=>{"use strict";nr={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},Xm="ipc://",ql={OK:200,ERROR:500},Bk={NEXT_DEV_OVERLAY:"/__nextjs",NEXT_HMR:"/_next/webpack-hmr",NEXT_HMR_CHUNKS:"/_next/static/webpack/",WEBPACK_HOT_UPDATE:".hot-update.",VITE_CLIENT:"/@vite/",VITE_REACT_REFRESH:"/@react-refresh",VITE_PING:"/__vite_ping"},Uj=Object.values(Bk),U_="urlRaw",Zl="requestShape",F_="none",qm="Next-Action",Sp="nextAction"});function Zm(t){return Vk.test(t)}function G_(t){let e=new Set;for(let n of t!=null?t:[]){let r=n.trim().toLowerCase();r.length>0&&e.add(r)}return e}function B_(t,e){var s,l;let n=G_((s=t==null?void 0:t.keys)==null?void 0:s.filter(d=>typeof d=="string")),r=((l=t==null?void 0:t.keys)!=null?l:[]).filter(d=>d instanceof RegExp),o=G_(t==null?void 0:t.allow),a=[...o].filter(d=>Zm(d)&&!n.has(d));return a.length>0&&e!==void 0&&e(`[reticle] redact.allow is exempting ${a.join(", ")} from redaction. The default rule treats ${a.length===1?"that key":"those keys"} as a credential, so ${a.length===1?"its value":"their values"} will now reach the agent transcript and the on-disk journal in cleartext.`),{isSensitiveKey:d=>{let u=d.toLowerCase();if(n.has(u))return!0;for(let p of r)if(p.lastIndex=0,p.test(d))return!0;return o.has(u)?!1:Zm(d)}}}function V_(t){Qm=t}function tt(t){return Qm===void 0?Zm(t):Qm.isSensitiveKey(t)}function Wk(t){return new TextEncoder().encode(t).byteLength}function zk(t){if(!/^data:/i.test(t))return;let e=t.indexOf(","),n=e===-1?t.slice(5):t.slice(5,e),[r="",...o]=n.split(";"),a=/^[\w.+-]+\/[\w.+-]+$/.test(r)?r:"text/plain",s=o.some(d=>d.toLowerCase()==="base64")?";base64":"",l=e===-1?"":t.slice(e+1);return`data:${a}${s},<\u2026${String(Wk(l))} bytes\u2026>`}function xp(t,e=tt){var y;let n=zk(t);if(n!==void 0)return n;let r=t.indexOf("#"),o=r===-1?"":t.slice(r),a=r===-1?t:t.slice(0,r),s=a.indexOf("?"),l=s===-1?a:a.slice(0,s),d=s===-1?"":a.slice(s+1),u=!1,p=l,f=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);f!==null&&(p=`${(y=f[1])!=null?y:""}${_e}@${l.slice(f[0].length)}`,u=!0);let m=d;if(d!==""){let A=new URLSearchParams(d),v=!1;for(let O of[...A.keys()])e(O)&&(A.set(O,_e),v=!0);v&&(m=A.toString(),u=!0)}let g=p.split("/");for(let A=0;A+1<g.length;A++){let v=g[A],O=g[A+1];v!==void 0&&O!==void 0&&O.length>=Kk&&jk.test(v)&&(g[A+1]=_e,u=!0)}let T=o;if(o.length>1&&(T=o.replace(/(^|[#&?/])([A-Za-z0-9_.-]+)=([^&\s]+)/g,(A,v,O)=>e(O)?`${v}${O}=${_e}`:A),T!==o&&(u=!0)),!u)return t;let _=s===-1?"":`?${m}`;return`${g.join("/")}${_}${T}`}function wr(t,e=tt){let n=xp(t,e);return n===t?{url:n}:{url:n,[U_]:t}}function j_(t){var r;let e=new Set,n=[];for(let o of(r=t==null?void 0:t.keys)!=null?r:[]){if(typeof o!="string")continue;let a=o.trim();if(a.length===0||a.length>eg)continue;let s=a.toLowerCase();if(!e.has(s)&&(e.add(s),n.push(a),n.length>=Jm))break}return n}function fa(t){return t.replace(Yk,_e)}var Vk,Qm,jk,Kk,Jm,eg,Yk,tg=S(()=>{"use strict";Mt();_p();Vk=/password|passwd|passcode|pass[-_]?phrase|(?:otp|totp|mfa|recovery|backup)[-_]?codes?|(?:^|[-_])(?:otp|totp)(?=$|[-_])|secret|(?:(?:access|refresh|auth|bearer|api|id|session|csrf|client)[-_]?tokens?|(?:^|[-_])tokens?(?=$|[-_]))|session[-_]?id|(?:^|[-_])(?:sid|pwd|jwt)(?=$|[-_])|authorization|(?:^|[-_])(?:set[-_])?cookie(?=$|[-_])|api[-_]?key|access[-_]?key|private[-_]?key|client[-_]?secret|credit[-_]?card|card[-_]?(?:number|num|no|pan)(?=$|[-_])|(?:^|[-_])(?:card|pan)(?=$|[-_])|cvv|cvc|ssn|(?:^|[-_])(?:signature|sig)$|(?:^|[-_])credential$|x-(?:amz|goog)-(?:signature|credential|security-token)$/i;jk=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,Kk=12;Jm=64,eg=128;Yk=/eyJ[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}|(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{10,}|sk-(?:ant|proj|svcacct|admin)-[A-Za-z0-9_-]{20,}|(?:AKIA|ASIA)[0-9A-Z]{16}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{22,}|AIza[0-9A-Za-z_-]{35}|xox[baprs]-[A-Za-z0-9-]{10,}|ya29\.[A-Za-z0-9._-]{20,}/g});var Or,Ap=S(()=>{"use strict";Or={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function ng(){return[R.UI,R.NET,R.STATE,R.SIGNAL,R.LOG,R.ROUTE,R.TIME]}var zj,Yj,yp=S(()=>{"use strict";ks();co();zj={[C.ELEMENT]:[R.UI],[C.TEXT]:[R.UI],[C.SIGNAL]:[R.SIGNAL],[C.NET]:[R.NET],[C.STATE]:[R.STATE],[C.ROUTE]:[R.ROUTE],[C.CONSOLE]:[R.LOG],[C.ANIMATION]:[R.UI,R.TIME],[C.SETTLED]:[R.TIME,R.NET],[C.COMPARE]:[R.UI,R.NET,R.STATE,R.SIGNAL],[C.ALL_OF]:ng(),[C.ANY_OF]:ng(),[C.NOT]:ng()};Yj=Object.fromEntries(Object.entries(hm).map(([t,e])=>[t,e.independence]))});function rg(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(qk.includes(e))return!0;let n=e.split(".");return Qk===n.length&&Zk===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let o=Number(r);return o>=0&&o<=Jk})}function W_(t,e){return rg(e)||eD.includes(t.toLowerCase())?!0:e.toLowerCase()===tD}function z_(t,e){return e!==void 0&&K_.has(e.trim().toLowerCase())?!1:Xk.test(t.replace(/[_-]+/g," "))}function Y_(t,e){var r;if(e!==void 0&&K_.has(e.trim().toLowerCase()))return;let n=t.replace(/[_-]+/g," ");return(r=nD.find(([,o])=>o.test(n)))==null?void 0:r[0]}var Xk,K_,qk,Zk,Qk,Jk,eD,tD,nn,nD,X_,og=S(()=>{"use strict";Xk=/\b(delete|remove|destroy|erase|drop|terminate|revoke|reset|close account|cancel subscription|purchase|buy|pay|payment|place order|confirm order|send money|send funds|transfer|withdraw|refund)\b/i,K_=new Set(["option","radio"]),qk=["localhost","::1","0:0:0:0:0:0:0:1"],Zk="127",Qk=4,Jk=255;eD=["file:","app:","tauri:"],tD="tauri.localhost";nn={INVITE:"invite",SEND:"send",SHARE:"share",DELETE:"delete",PAY:"pay",PUBLISH:"publish",REVOKE:"revoke",TRANSFER:"transfer",SIGN_OUT:"sign out",CHANGE_ROLE:"change role",CREATE_KEY:"create key",CHANGE_STATE:"change state"},nD=[[nn.INVITE,/\binvit(?:e|es|ed|ing|ation|ations)\b|\/invit/i],[nn.TRANSFER,/\b(?:transfer|send money|send funds|withdraw)\b/i],[nn.SEND,/\b(?:send|sends|sending|resend|email (?:it|them|the))\b/i],[nn.SHARE,/\b(?:share|shares|sharing)\b/i],[nn.DELETE,/\b(?:delete|deletes|deleting|remove|removes|removing|destroy|erase|drop)\b/i],[nn.PAY,/\b(?:pay|pays|paying|payment|purchase|buy|checkout|check out|subscribe|upgrade|place order|confirm order|refund|add (?:a )?card|start (?:the |your |a )?(?:\d+-day |free )?trial)\b|\/(?:billing|checkout)\b/i],[nn.PUBLISH,/\b(?:publish|publishes|deploy|deploys|go live)\b/i],[nn.REVOKE,/\b(?:revoke|revokes|deactivate|suspend)\b/i],[nn.SIGN_OUT,/\b(?:sign ?out|log ?out|sign off)\b/i],[nn.CHANGE_ROLE,/\b(?:change (?:the |their |his |her )?role|make (?:an? )?(?:admin|owner)|promote|demote|set role)\b/i],[nn.CREATE_KEY,/\b(?:create|generate|new|mint)(?: an?)?(?: api)? key\b|\/keys\b/i],[nn.CHANGE_STATE,/\b(?:reassign|reassigns|reopen|reopens|re-open|archive|archives|unarchive|approve|approves|reject|rejects|mark as (?:fixed|resolved|done|closed))\b/i]];X_=t=>`would need to ${t} \u2014 not done (outward action): the journey does not ask for it`});var vp,q_,rD,Z_,Q_,J_,oD,iD,Ql,ag,aD,sD,a6,sg=S(()=>{"use strict";ne();Yl();Mt();Km();tg();Ap();yp();og();vp=i.string().min(1).max(G.MAX_SESSION_ID_LENGTH),q_=i.string().max(G.MAX_REF_LENGTH),rD=i.string().min(1).max(8),Z_=i.object({kind:i.nativeEnum(Ht),text:i.string().optional()}),Q_=i.object({control:i.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:i.nativeEnum(zl).optional(),view:i.nativeEnum(en).optional(),panel:i.nativeEnum(vt).optional(),slide:i.string().max(56).optional(),prompt:i.nativeEnum(Jo).optional()}),J_=i.object({note:i.string().min(1).max(G.MAX_MARK_NOTE_LENGTH),anchor:i.string().max(G.MAX_REF_LENGTH),strategy:i.nativeEnum(da),label:i.string().max(G.MAX_MARK_LABEL_LENGTH).optional(),source:i.object({file:i.string().max(G.MAX_URL_LENGTH),line:i.number().int().min(0)}).optional(),route:i.string().max(G.MAX_URL_LENGTH).optional()}),oD=i.object({t:i.number(),type:i.nativeEnum(x),sessionId:vp,ref:q_.optional(),seq:i.number().int().min(0).optional(),actionId:q_.optional(),attribution:i.nativeEnum(wS).optional(),documentId:rD.optional(),editEpoch:i.number().int().min(0).optional(),data:i.record(i.unknown()).default({})}),iD=i.object({kind:i.literal(Dt.HELLO),protocolVersion:i.number().int().min(yS).max(rp),sessionId:vp,url:i.string().max(G.MAX_URL_LENGTH),title:i.string().max(G.MAX_TITLE_LENGTH),projectId:vp.optional(),adapters:i.array(i.string().max(G.MAX_ADAPTER_NAME_LENGTH)).max(G.MAX_ADAPTERS),token:i.string().max(G.MAX_TOKEN_LENGTH).optional(),platform:i.nativeEnum(Or).optional(),channels:i.array(i.nativeEnum(R)).max(G.MAX_ADAPTERS).optional(),commands:i.array(i.string().max(G.MAX_TOKEN_LENGTH)).max(G.MAX_ADAPTERS).optional(),contractParts:i.object({commands:i.array(i.string()).max(G.MAX_CONTRACT_NAMES),events:i.array(i.string()).max(G.MAX_CONTRACT_NAMES),actions:i.array(i.string()).max(G.MAX_CONTRACT_NAMES)}).optional(),hasCapabilities:i.boolean().optional(),captureBodies:i.boolean().optional(),sourceMapping:i.boolean().optional(),sdkVersion:i.string().max(G.MAX_ADAPTER_NAME_LENGTH).optional(),contract:i.string().max(G.MAX_ADAPTER_NAME_LENGTH).optional(),redactKeys:i.array(i.string().min(1).max(eg)).max(Jm).optional()}),Ql={HARNESS:"harness"},ag=i.object({kind:i.literal(Dt.COMMAND),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),sessionId:vp.optional(),name:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),by:i.nativeEnum(Ql).optional(),outward:i.object({allowed:i.array(i.nativeEnum(nn)).max(16)}).optional()}),aD=i.object({kind:i.literal(Dt.COMMAND_RESULT),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),ok:i.boolean(),result:i.unknown().optional(),error:i.string().max(G.MAX_ERROR_LENGTH).optional()}),sD=i.object({kind:i.literal(Dt.EVENT),event:oD}),a6=i.discriminatedUnion("kind",[iD,ag,aD,sD])});var cD,lD,ei,dD,$e,uD,pD,fD,hD,mD,gD,cg,ex,ED,tx,Ps=S(()=>{"use strict";ne();cD={AGENT:"agent",HUMAN:"human"},lD={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},ei={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},dD={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},$e={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},uD={CDP:"cdp",SDK:"sdk"},pD={USER:"user",PROJECT:"project"},fD=4e3,hD=8e3,mD=1,gD=5,cg=1e3,ex=i.object({source:i.nativeEnum(cD),kind:i.nativeEnum(lD),text:i.string().min(1).max(fD),trace:i.string().max(hD).optional(),rating:i.number().int().min(mD).max(gD).optional(),need:i.string().max(cg).optional(),impact:i.string().max(cg).optional(),currentApproach:i.string().max(cg).optional(),model:i.string().min(1).max(64).optional(),clientVersion:i.string().min(1).max(32).optional(),stack:i.string().min(1).max(64).optional(),stackMajor:i.number().int().nonnegative().optional(),runtime:i.nativeEnum(ei).optional(),engine:i.nativeEnum(dD).optional(),driver:i.nativeEnum(uD).optional(),client:i.string().min(1).max(64).optional(),mcpScope:i.nativeEnum(pD).optional()}),ED={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},tx=i.object({context:i.nativeEnum(ED),company:i.string().min(1).max(128).optional(),email:i.string().min(3).max(254).optional()})});var Ir,Cr,Np,ed,lg,ha,bD,TD,g6,Rp,SD,_D,xD,Jl,E6,nx=S(()=>{"use strict";ne();Mt();Qo();Ps();sg();_p();Ir={SSE:"sse",WS:"ws",FETCH:"fetch"},Cr={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},Np={UP:"up",DOWN:"down"},ed={PUSH:"push",REPLACE:"replace",POP:"pop"},lg="how",ha={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},bD=i.object({name:i.string().describe("Cookie name."),value:i.string().describe("Cookie value."),domain:i.string().optional().describe("Cookie domain. Defaults to the navigation URL domain."),path:i.string().optional().describe('Cookie path. Defaults to "/".'),url:i.string().optional().describe("Cookie URL. Defaults to the navigation URL."),httpOnly:i.boolean().optional().describe("Whether the cookie is httpOnly."),secure:i.boolean().optional().describe("Whether the cookie is secure."),sameSite:i.enum(["Strict","Lax","None"]).optional().describe("SameSite policy."),expires:i.number().optional().describe("Unix timestamp in seconds for cookie expiration.")}),TD=i.union([i.record(i.string()),i.array(bD)]),g6=i.object({local:i.record(i.string()).optional().describe("Key-value pairs to seed into window.localStorage before first navigation."),session:i.record(i.string()).optional().describe("Key-value pairs to seed into window.sessionStorage before first navigation."),cookies:TD.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),Rp=i.object({role:i.string().optional(),name:i.string().optional()}),SD=i.object({mimeType:i.string(),bytes:i.number(),filename:i.string().optional(),lines:i.number().optional(),preview:i.string().optional(),previewTruncated:i.boolean().optional()}).passthrough(),_D=i.object({transport:i.nativeEnum(Ir),direction:i.nativeEnum(Cr),url:i.string(),urlRaw:i.string().optional()}).passthrough(),xD=i.object({id:i.string(),method:i.string(),url:i.string(),status:i.number(),ok:i.boolean(),durationMs:i.number(),initiator:i.string(),urlRaw:i.string().optional(),[Sp]:i.string().optional(),[Zl]:i.string().optional()}).passthrough(),Jl=i.object({message:i.string()}).passthrough(),E6={[x.DOM_ADDED]:Rp,[x.DOM_REMOVED]:Rp,[x.DOM_ATTR]:i.object({attr:i.string(),value:i.string().optional(),old:i.string().optional()}).passthrough(),[x.DOM_TEXT]:i.object({text:i.string(),old:i.string().optional()}),[x.NET_REQUEST]:xD,[x.NET_PENDING]:i.object({id:i.string(),method:i.string(),url:i.string(),initiator:i.string(),urlRaw:i.string().optional()}),[x.NET_STREAM]:_D,[x.DOWNLOAD]:SD,[x.PERF]:i.object({metric:i.nativeEnum(Os),value:i.number(),at:i.number(),shifted:i.object({ref:i.string(),selector:i.string()}).optional()}),[x.ROUTE_CHANGE]:i.object({from:i.string(),to:i.string(),pathname:i.string(),search:i.string(),hash:i.string(),[lg]:i.nativeEnum(ed)}),[x.CONSOLE_LOG]:Jl,[x.CONSOLE_WARN]:Jl,[x.CONSOLE_ERROR]:Jl,[x.CONSOLE_INFO]:Jl,[x.CONSOLE_DEBUG]:Jl,[x.ERROR_UNCAUGHT]:i.object({message:i.string(),source:i.string().optional(),line:i.number().optional(),kind:i.string().optional()}).passthrough(),[x.VISIBLE_SHOWN]:Rp,[x.ANIM_START]:i.object({name:i.string()}),[x.ANIM_END]:i.object({name:i.string()}),[x.SCROLL_POSITION]:i.object({x:i.number(),y:i.number(),percent:i.number(),direction:i.nativeEnum(Np)}),[x.REVEAL_SHOWN]:Rp.passthrough(),[x.SIGNAL]:i.object({name:i.string(),data:i.unknown().optional()}),[x.STATE_CHANGE]:i.object({name:i.string(),value:i.unknown()}).passthrough(),[x.STORAGE_CHANGE]:i.object({area:i.nativeEnum(ha),key:i.string(),old:i.string().optional(),new:i.string().optional()}),[x.PAGE_HEALTH]:i.object({hidden:i.boolean(),focused:i.boolean(),reason:i.string().optional(),brand:i.nativeEnum($e).optional(),runtime:i.string().optional(),engine:i.string().optional(),windowLabel:i.string().optional(),documentStatus:i.number().int().optional()}).passthrough(),[x.CONTEXT_OPENED]:i.object({href:i.string().optional()}).passthrough(),[x.DIALOG_OPENED]:i.object({kind:i.enum(["alert","confirm","prompt"]),message:i.string().optional(),answered:i.union([i.boolean(),i.null()]).optional()}).passthrough(),[x.RENDER_COMMIT]:i.object({commits:i.number()}),[x.FOCUS_CHANGE]:i.object({to:i.string().optional(),from:i.string().optional(),toBody:i.boolean()}),[x.FIELD_CHANGE]:i.object({field:i.string(),kind:i.enum(["input","change"]),length:i.number().int().nonnegative(),value:i.string().optional(),redacted:i.literal(!0).optional()}),[x.FLOW_RECORDED]:i.object({name:i.string(),flow:i.unknown()}),[x.TRANSPORT_OVERFLOW]:i.object({dropped:i.number()}),[x.TRUNCATED]:i.object({channel:i.string(),dropped:i.number()}),[x.BLIND_SPOT]:i.object({kind:i.nativeEnum(Pt),count:i.number()}),[x.SDK_FAILED]:i.object({site:i.string().max(64),message:i.string().max(500),errorType:i.string().max(64).optional()}),[x.NET_DETAIL]:i.object({url:i.string(),method:i.string().optional(),status:i.number(),headers:i.record(i.string()),resourceType:i.string().optional()}).passthrough(),[x.HUMAN_CONTROL]:Z_,[x.HUMAN_MARK]:J_,[x.HUD_USED]:Q_}});var S6,rx=S(()=>{"use strict";Mt();S6=new Set([x.NET_REQUEST,x.NET_PENDING,x.NET_STREAM,x.NET_DETAIL,x.CONSOLE_ERROR,x.CONSOLE_WARN,x.ERROR_UNCAUGHT,x.ROUTE_CHANGE,x.SIGNAL,x.STORAGE_CHANGE,x.FLOW_RECORDED,x.TRANSPORT_OVERFLOW,x.TRUNCATED,x.BLIND_SPOT])});var ox=S(()=>{"use strict"});var ix,ax=S(()=>{"use strict";ix=t=>t});var me,R6,N6,w6,sx=S(()=>{"use strict";yp();me={UI_ADVANCED_REQUEST_FAILED:"ui-advanced-request-failed",SIGNAL_CONTRADICTED:"signal-contradicted",RESPONSE_IGNORED:"response-ignored",SIGNAL_WITHOUT_CONSEQUENCE:"signal-without-consequence",STATE_VS_RENDER:"state-vs-render",CONSEQUENCE_ELSEWHERE:"consequence-elsewhere",DUPLICATE_REQUEST:"duplicate-request",DUPLICATE_REQUEST_UNRELATED:"duplicate-request-unrelated",SCREEN_REQUEST_MISMATCH:"screen-request-mismatch",STALE_RESPONSE_APPLIED:"stale-response-applied",PARTIAL_FAILURE_IN_OK_RESPONSE:"partial-failure-in-ok-response",UNIT_MISMATCH:"unit-mismatch",PAGINATION_NOT_FETCHED:"pagination-not-fetched",WRITE_FIELD_IGNORED:"write-field-ignored",REQUEST_NEVER_SETTLED:"request-never-settled",FAILURE_MISATTRIBUTED:"failure-misattributed",ACTION_HAD_NO_EFFECT:"action-had-no-effect",ROUTE_RENDERED_NOTHING:"route-rendered-nothing",ROUTE_RENDERED_NOTHING_CRASHED:"route-rendered-nothing-crashed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},R6=new Set([me.REQUEST_NEVER_SETTLED,me.RESPONSE_IGNORED,me.SIGNAL_WITHOUT_CONSEQUENCE,me.STATE_VS_RENDER,me.CONSEQUENCE_ELSEWHERE,me.ROUTE_RENDERED_NOTHING,me.ACTION_HAD_NO_EFFECT,me.DUPLICATE_REQUEST,me.EVIDENCE_SUPERSEDED,me.EVIDENCE_PREDATES_EDIT]),N6=new Set([me.DUPLICATE_REQUEST_UNRELATED,me.SCREEN_REQUEST_MISMATCH]),w6={[me.UI_ADVANCED_REQUEST_FAILED]:[R.UI,R.NET],[me.SIGNAL_CONTRADICTED]:[R.SIGNAL,R.NET],[me.RESPONSE_IGNORED]:[R.NET,R.UI],[me.SIGNAL_WITHOUT_CONSEQUENCE]:[R.SIGNAL,R.NET],[me.STATE_VS_RENDER]:[R.STATE,R.UI],[me.CONSEQUENCE_ELSEWHERE]:[R.NET,R.UI],[me.DUPLICATE_REQUEST]:[R.NET,R.NET],[me.DUPLICATE_REQUEST_UNRELATED]:[R.NET,R.NET],[me.SCREEN_REQUEST_MISMATCH]:[R.UI,R.NET],[me.STALE_RESPONSE_APPLIED]:[R.NET,R.UI],[me.PARTIAL_FAILURE_IN_OK_RESPONSE]:[R.NET,R.NET],[me.UNIT_MISMATCH]:[R.UI,R.NET],[me.PAGINATION_NOT_FETCHED]:[R.UI,R.NET],[me.WRITE_FIELD_IGNORED]:[R.NET,R.NET],[me.REQUEST_NEVER_SETTLED]:[R.TIME,R.NET],[me.FAILURE_MISATTRIBUTED]:[R.UI,R.NET],[me.ACTION_HAD_NO_EFFECT]:[R.NET,R.UI],[me.ROUTE_RENDERED_NOTHING]:[R.ROUTE,R.NET],[me.ROUTE_RENDERED_NOTHING_CRASHED]:[R.ROUTE,R.LOG],[me.EVIDENCE_SUPERSEDED]:[R.TIME,R.UI],[me.EVIDENCE_PREDATES_EDIT]:[R.TIME,R.UI]}});var uo,wp,C6,L6,cx=S(()=>{"use strict";Mt();uo="__reticleIpc",wp="reticle_capture",C6=ws.FULL_PAGE_UNSUPPORTED,L6=ws.NOT_COMPOSITED});var lx=S(()=>{"use strict"});function dx(t){return t===Hs.CALM||t===Hs.WAITING||t===Hs.ASK||t===Hs.WARN}var Hs,ux,M6,$6,px=S(()=>{"use strict";Hs={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};ux="note that a lease is a SEPARATE context: the human watching this tab sees nothing of what you do there, so prefer this tab while someone is following along",M6='tab hidden and may be un-focusable from here; timers and rAF are clamped in a background tab, so an action can land on a page that never advances. Refocus it, or acquire a guaranteed scriptable context yourself with `reticle_run { tool: "reticle_lease", args: { action: "acquire", url } }` (a human can equivalently run `reticle drive <url>`) \u2014 '+ux,$6="tab is not hidden but has not reported health recently \u2014 usually a quiet page rather than a stuck one, and very often still driveable. This is also the tab a human can see, so try it first. Timing-sensitive work (animations, debounces, gestures) is what degrades: pass `refuseWhenThrottled: true` to refuse rather than act over events that may not land. Lease a separate context only if a drive here actually fails; "+ux});var fx,AD,B6,V6,j6,hx=S(()=>{"use strict";ne();Mt();Qo();co();fx=1,AD=i.object({harness:i.string().min(1).max(G.MAX_REF_LENGTH),driver:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),persona:i.string().max(1e3).optional()}),B6=i.object({v:i.literal(fx),actionId:i.string().min(1).max(G.MAX_REF_LENGTH),tool:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),effect:i.unknown().optional(),settled:i.boolean().optional(),settledInMs:i.number().int().min(0).optional(),seqRange:i.object({from:i.number().int().min(0),to:i.number().int().min(0)}).optional(),tRange:i.object({from:i.number().int().min(0),to:i.number().int().min(0)}),at:i.number().int().min(0),drivenBy:AD.optional(),agent:i.string().min(1).max(G.MAX_REF_LENGTH).optional()}),V6=i.object({v:i.literal(fx),channel:i.literal(sp.JOURNAL),capBytes:i.number().int().min(1).optional(),bytesOnDisk:i.number().int().min(0).optional(),droppedInBatch:i.number().int().min(0).optional(),at:i.number().optional()}),j6=i.object({claim:i.string().min(1).max(G.MAX_STRING_LENGTH),verified:i.nativeEnum(lo),source:i.string().max(G.MAX_URL_LENGTH).optional(),observed:i.string().max(G.MAX_STRING_LENGTH).optional(),expected:i.string().max(G.MAX_STRING_LENGTH).optional(),kind:i.nativeEnum(C).optional(),declaredBeforeActing:i.boolean().optional(),net:i.array(i.object({method:i.string().max(G.MAX_COMMAND_NAME_LENGTH),url:i.string().max(G.MAX_URL_LENGTH),status:i.number().optional(),body:i.string().max(G.MAX_STRING_LENGTH).optional()})).max(5).optional(),grade:i.string().max(G.MAX_STRING_LENGTH).optional(),couldNotSee:i.array(i.string().max(G.MAX_STRING_LENGTH)).optional(),reason:i.string().max(G.MAX_STRING_LENGTH).optional()})});var mx=S(()=>{"use strict"});var Y6,gx=S(()=>{"use strict";ne();Y6=i.object({port:i.number(),pid:i.number(),cwd:i.string(),projectId:i.string().optional(),startedAt:i.number()})});var Z6,Ex=S(()=>{"use strict";ne();Z6=i.object({port:i.number(),pid:i.number(),root:i.string(),url:i.string(),sdkVersion:i.string().min(1).optional(),startedAt:i.number(),projectId:i.string().optional()})});var yD,eK,bx=S(()=>{"use strict";ne();yD=i.object({directory:i.string().min(1),lastSeenAt:i.number()}),eK=i.object({version:i.literal(1),projects:i.record(i.string(),yD)})});var vD,dg,RD,ND,wD,rK,Tx=S(()=>{"use strict";ne();vD=1,dg={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},RD=i.object({route:i.string().optional(),flow:i.string().optional(),files:i.array(i.string()).optional()}),ND=i.object({verdictId:i.string(),grade:i.string(),at:i.number(),runId:i.string().optional()}),wD=i.object({id:i.string().min(1),statement:i.string().min(1),state:i.enum([dg.DECLARED,dg.BOUND,dg.PROVED]),declaredAt:i.number(),binding:i.unknown().optional(),surface:RD.optional(),provenBy:ND.optional(),amended:i.array(i.object({statement:i.string(),at:i.number()})).optional()}),rK=i.object({version:i.literal(vD),intents:i.record(i.string(),wD)})});var Sx=S(()=>{"use strict"});function td(t){return OD[t]}var qe,OD,ug=S(()=>{"use strict";qe={NO_SOURCE_MAPPING:"no-source-mapping",NO_STORE_REGISTERED:"no-store-registered",NO_SIGNAL_ON_MUTATION:"no-signal-on-mutation",UNDECLARED_CONTROL:"undeclared-control",MISSING_TESTID:"missing-testid",UNDECLARED_CHANGE:"undeclared-change",INTENT_UNDISCHARGED:"intent-undischarged",NO_FLOW_INTENT:"no-flow-intent",SOURCE_MAPPING_OFF:"source-mapping-off"},OD={[qe.NO_SOURCE_MAPPING]:"add the Reticle build plugin (@reticlehq/vite-plugin, @reticlehq/next, or the babel plugin) so elements carry data-reticle-source",[qe.NO_STORE_REGISTERED]:"import { registerStore } from '@reticlehq/browser' and call registerStore(name, store) with a subscribable store so its changes are observed; a bare getter is readable but does not report changes. For component-local React state, import { useReticleStore } from '@reticlehq/react/store' and call useReticleStore(name, value), assert the DOM, or read it with reticle_look { action: 'state', ref: '...' }",[qe.NO_SIGNAL_ON_MUTATION]:"fire reticle.signal(name, data) where this state is committed \u2014 commitAndSignal binds the two so they cannot drift",[qe.UNDECLARED_CONTROL]:"add this control to reticle.describe() so the capability contract matches what the app actually exposes",[qe.MISSING_TESTID]:'add data-testid="..." on this control so the flow can name it after a refactor',[qe.UNDECLARED_CHANGE]:'declare it with reticle_intent { action: "declare", intents: [{ id, statement }] } \u2014 the statement is prose, in your own words: which user does what, and what should become true',[qe.INTENT_UNDISCHARGED]:'draw a verdict whose `until` asserts the intent itself, then it discharges \u2014 or call reticle_run({ tool: "reticle_context" }) to see exactly what is still owed',[qe.SOURCE_MAPPING_OFF]:"nothing to install \u2014 this build has sourceMapping turned off, so no element carries data-reticle-source. Re-enable it in the Reticle plugin options unless this app renders through a non-DOM reconciler (react-three-fiber, react-pdf, ink), where the stamp is what would break it",[qe.NO_FLOW_INTENT]:'save it again with intent: "<which user does what, and what should become true>" \u2014 prose, in your own words \u2014 or set intentId to an intent already in the ledger'}});var po,_x,uK,pK,xx=S(()=>{"use strict";ne();ks();ug();zm();po={PAGE_CONNECTED:"page connected",DOM_ACTIONS:"DOM actions",NETWORK:"network",CONSOLE:"console",APP_STATE:"app state (store registered)",SIGNALS:"signals on mutation",SOURCE_MAPPING:bp,TEST_IDS:"stable test ids"},_x="run `npx @reticlehq/server init` in the app so its pages connect to Reticle in development",uK=[{capability:po.PAGE_CONNECTED,gaps:[],cost:"no page has connected, so nothing can be verified",fix:_x},{capability:po.DOM_ACTIONS,channel:R.UI,always:!0,gaps:[],cost:"controls cannot be driven or read",fix:_x},{capability:po.NETWORK,channel:R.NET,always:!0,gaps:[],cost:"requests cannot be asserted, so a save that never reached the server can pass",fix:"update @reticlehq/browser so the page reports its network channel"},{capability:po.CONSOLE,channel:R.LOG,always:!0,gaps:[],cost:"errors thrown in the page are invisible to a verdict",fix:"update @reticlehq/browser so the page reports its console channel"},{capability:po.APP_STATE,channel:R.STATE,gaps:[qe.NO_STORE_REGISTERED],cost:"state predicates fall back to reading the DOM",fix:td(qe.NO_STORE_REGISTERED)},{capability:po.SIGNALS,channel:R.SIGNAL,gaps:[qe.NO_SIGNAL_ON_MUTATION],cost:"the app never says it succeeded, so every verdict infers success from the DOM",fix:td(qe.NO_SIGNAL_ON_MUTATION)},{capability:po.SOURCE_MAPPING,channel:pa.SOURCE,gaps:[qe.NO_SOURCE_MAPPING,qe.SOURCE_MAPPING_OFF],perControl:[qe.NO_SOURCE_MAPPING],cost:"a broken control is named, never the line that renders it",fix:td(qe.NO_SOURCE_MAPPING)},{capability:po.TEST_IDS,channel:pa.TESTID,gaps:[qe.MISSING_TESTID],cost:"a saved flow loses its controls after a refactor",fix:td(qe.MISSING_TESTID)}],pK=i.array(i.nativeEnum(po)).max(8)});function ID(t){return Array.isArray(t)||typeof t=="string"}function CD(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),pg],total:t.length+1};if(typeof t=="string")return{keys:[pg],total:1};if(t instanceof Map){let e=[],n=0;for(let r of t.keys())n+=1,typeof r=="string"&&e.length<49&&e.push(r);return t.has(nd)?{keys:e,total:n}:{keys:[...e,nd],total:n+1}}if(t instanceof Set){let e=[];for(let n of t)typeof n=="string"&&e.length<49&&e.push(n);return{keys:[...e,nd],total:t.size+1}}if(typeof t=="object"&&t!==null){let e=Object.keys(t);return{keys:e.slice(0,50),total:e.length}}return{keys:[],total:0}}function Op(t){let{keys:e,total:n}=CD(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function Ax(t,e){let n=e.split(".").filter(o=>o.length>0),r=t;for(let o of n){if(pg===o&&ID(r)){r=r.length;continue}if(Array.isArray(r)){let a=Number(o);if(!Number.isInteger(a)||a<0||String(a)!==o||a>=r.length)return Op(r);r=r[a];continue}if(r instanceof Map){if(r.has(o)){r=r.get(o);continue}if(nd===o){r=r.size;continue}return Op(r)}if(r instanceof Set){if(nd===o){r=r.size;continue}if(r.has(o)){r=!0;continue}return Op(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,o)){r=r[o];continue}return Op(r)}return{found:!0,value:r}}function Us(t,e){if(e<0)return t;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Set)return e===0?`[Set(${String(t.size)})]`:[...t].map(n=>Us(n,e-1));if(t instanceof Map){if(e===0)return`{Map(${String(t.size)})}`;let n=Object.create(null);for(let[r,o]of t)n[String(r)]=Us(o,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>Us(n,e-1));if(typeof t=="object"&&t!==null){let n=Object.keys(t);if(e===0)return`{\u2026${String(n.length)} keys}`;let r=Object.create(null);for(let o of n)r[o]=Us(t[o],e-1);return r}return t}var pg,nd,yx=S(()=>{"use strict";pg="length";nd="size"});var gK,EK,vx=S(()=>{"use strict";Mt();gK={[fe.ENABLED]:"en",[fe.DISABLED]:"dis",[fe.CHECKED]:"chk",[fe.EXPANDED]:"exp",[fe.PRESSED]:"prs",[fe.FOCUSED]:"focus"},EK=new Set([fe.PRESENT,fe.VISIBLE,fe.HIDDEN])});var ma,SK,_K,Rx=S(()=>{"use strict";ne();ma={SHARE_PROOF:"share_proof",RUN_HISTORY:"run_history",TEAM_REVIEW:"team_review",CORPUS_HEAL:"corpus_heal",CI_GATE:"ci_gate",HOSTED_RUNNER:"hosted_runner"},SK=i.object({capability:i.nativeEnum(ma),reason:i.string(),unlockedBy:i.string(),learnMoreUrl:i.string().url()}),_K={[ma.SHARE_PROOF]:{reason:"Sharing a verification result with a teammate needs a hosted, linkable proof page.",unlockedBy:"Link a free Reticle Cloud account (reticle connect), then share the run."},[ma.RUN_HISTORY]:{reason:"Run history beyond this session lives in the hosted dashboard; local keeps only a buffer.",unlockedBy:"Link a free Reticle Cloud account to keep run history and trends."},[ma.TEAM_REVIEW]:{reason:"A shared review queue of pinned mistakes is a team feature \u2014 it needs a hosted store.",unlockedBy:"Add your team to Reticle Cloud to share a review queue."},[ma.CORPUS_HEAL]:{reason:"Corpus-ranked heal uses refactor outcomes learned across the fleet, served from the cloud.",unlockedBy:"Enable the hosted heal service on Reticle Cloud."},[ma.CI_GATE]:{reason:"Verify-before-merge is a governance gate that runs in your CI against a hosted policy.",unlockedBy:"Configure the Reticle Cloud CI gate for your repository."},[ma.HOSTED_RUNNER]:{reason:"Verifying without a local browser (CI, a background agent, or a deployed URL) needs a browser we run for you.",unlockedBy:"Link a Reticle Cloud account to run verifications on hosted browsers."}}});var rd,Nx,wx,LD,Ox,Ix=S(()=>{"use strict";ne();rd={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},Nx={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},wx={[rd.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[rd.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[rd.FIRST_RUN]:["project_detected","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},LD=Object.values(wx).flatMap(t=>[...t]),Ox=i.object({phase:i.nativeEnum(rd),step:i.enum(LD),status:i.nativeEnum(Nx),elapsedMs:i.number().int().nonnegative().optional(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),unattended:i.boolean().optional(),firstEver:i.boolean().optional()})});var Cx,fg=S(()=>{"use strict";Cx={AUTH_REFUSED:"auth_refused",LEASE_EXPIRED:"lease_expired",TAB_GONE:"tab_gone",NAVIGATED_AWAY:"navigated_away",ROUTE_SERVER_ERROR:"route_server_error",APP_NOT_REOPENED:"app_not_reopened",CONFIG_ELSEWHERE:"config_elsewhere",NO_LISTENER_NO_CONFIG:"no_listener_no_config",NO_LISTENER:"no_listener",NO_CONFIG:"no_config",SDK_NOT_REACHING_DAEMON:"sdk_not_reaching_daemon"}});var kD,Lx,hg=S(()=>{"use strict";ne();fg();kD={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},Lx=i.object({tool:i.string().min(1).max(64),reason:i.nativeEnum(kD),noSessionReason:i.nativeEnum(Cx).optional(),retried:i.boolean()})});var DD,Dx,IK,kx,MD,$D,mg,PD,HD,Mx,UD,FD,$x,gg=S(()=>{"use strict";ne();DD={CONNECT:"connect",CLOSE_GAPS:"close_gaps",SWITCH_ON:"switch_on",EXPLORE:"explore"},Dx={B0:"0-19",B20:"20-39",B40:"40-59",B60:"60-79",B80:"80-100"},IK=Object.values(Dx),kx=i.object({fingerprint:i.string().min(1).max(64),count:i.number().int().nonnegative(),message:i.string().max(300),tool:i.string().max(64).optional()}),MD={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},$D={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},mg=i.object({rssMb:i.number().int().nonnegative(),heapUsedMb:i.number().int().nonnegative(),freeMemMb:i.number().int().nonnegative(),totalMemMb:i.number().int().nonnegative(),load1x100:i.number().int().nonnegative(),cpuCount:i.number().int().nonnegative()}),PD=i.object({totalMs:i.number().int().nonnegative(),maxMs:i.number().int().nonnegative()}),HD=i.object({attempts:i.number().int().nonnegative(),successes:i.number().int().nonnegative(),failures:i.record(i.string(),i.number().int().nonnegative()).optional()}),Mx=i.object({durationMs:i.number().int().nonnegative(),toolCalls:i.number().int().nonnegative(),toolCounts:i.record(i.string(),i.number().int().nonnegative()),toolErrors:i.number().int().nonnegative(),errors:i.array(kx).max(40).optional(),sdkFailures:i.number().int().nonnegative().optional(),sdkErrors:i.array(kx).max(40).optional(),verifications:i.number().int().nonnegative(),bugsFound:i.number().int().nonnegative().optional(),bugKinds:i.record(i.string(),i.number().int().nonnegative()).optional(),toolParams:i.record(i.string(),i.record(i.string(),i.number().int().nonnegative())).optional(),connections:i.record(i.string(),HD).optional(),toolTiming:i.record(i.string(),PD).optional(),busyMs:i.number().int().nonnegative().optional(),browserMs:i.number().int().nonnegative().optional(),browserCommands:i.number().int().nonnegative().optional(),peakConcurrentTools:i.number().int().nonnegative().optional(),unknownToolCalls:i.number().int().nonnegative().optional(),unknownTools:i.record(i.string().max(64),i.number().int().nonnegative()).optional(),noSessionErrors:i.number().int().nonnegative().optional(),postSocketFailures:i.number().int().nonnegative().optional(),postRetriesSaved:i.number().int().nonnegative().optional(),consecutiveRepeats:i.record(i.number().int().positive()).optional(),abandonedActions:i.number().int().nonnegative().optional(),machine:mg.optional(),clients:i.array(i.string().max(64)).max(8).optional(),clientVersions:i.record(i.string().max(64),i.string().max(32)).optional(),surface:i.string().max(32).optional(),appConnects:i.number().int().nonnegative().optional(),msToFirstApp:i.number().int().nonnegative().optional(),endReason:i.enum(["never_used","explored","abandoned","verified","client_left"]).optional(),feedbackPrompted:i.number().int().nonnegative().optional(),errorClasses:i.record(i.string().max(16),i.number().int().nonnegative()).optional(),errorsRecovered:i.number().int().nonnegative().optional(),errorsRepeated:i.number().int().nonnegative().optional(),endedWithVerdict:i.boolean().optional(),lifetimeToolCalls:i.number().int().nonnegative().optional(),lifetimeVerifications:i.number().int().nonnegative().optional(),lifetimeBugsFound:i.number().int().nonnegative().optional(),updateNudged:i.boolean().optional(),updateOffered:i.string().max(32).optional(),hudControls:i.record(i.number()).optional(),hudViewMs:i.record(i.number()).optional(),hudPanelMs:i.record(i.number()).optional(),hudSlides:i.record(i.number()).optional(),hudJourney:i.array(i.string().max(64)).max(60).optional(),hudJourneyCut:i.literal(!0).optional(),nudgesShown:i.record(i.nativeEnum(DD),i.number().int().positive()).optional(),harnessRefusedCoverage:i.record(i.nativeEnum(Dx),i.number().int().positive()).optional(),final:i.boolean(),exit:i.enum(["idle","signal","unknown"]).optional()}),UD={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},FD={NO_APP_FOUND:"no_app_found",MANIFEST_UNRECOGNISED:"manifest_unrecognised",WORKSPACE_APPS_UNRECOGNISED:"workspace_apps_unrecognised",WORKSPACE_ROOT_NO_APPS:"workspace_root_no_apps",DISCOVERY_FAILED:"discovery_failed"},$x=i.object({stack:i.string().min(1).max(64).optional(),stackSource:i.enum(["cwd","workspace"]).optional(),stackUnknownReason:i.nativeEnum(FD).optional(),stackMajor:i.number().int().nonnegative().optional(),size:i.nativeEnum(UD).optional(),monorepo:i.boolean().optional(),git:i.nativeEnum(MD),forge:i.nativeEnum($D).optional(),ageWeeks:i.number().int().nonnegative().optional(),flowCount:i.number().int().nonnegative(),baselineCount:i.number().int().nonnegative(),visualBaselineCount:i.number().int().nonnegative(),runCount:i.number().int().nonnegative(),hasContract:i.boolean(),initialized:i.boolean().optional(),appConnectedBefore:i.boolean().optional(),capsuleCount:i.number().int().nonnegative(),featuresUsed:i.array(i.string().max(32)).max(24),featureDepth:i.number().min(0).max(1)})});var Px,Eg=S(()=>{"use strict";Px={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var GD,BD,VD,bg,jD,KD,WD,zD,YD,XD,qD,Hx,Tg=S(()=>{"use strict";ne();Yl();GD={SIGNED_OUT:"signed_out",SIGNED_IN:"signed_in",LINKED:"linked"},BD={CLAUDE_CODE:"claude_code",CLAUDE_DESKTOP:"claude_desktop",CODEX:"codex",CURSOR:"cursor",GEMINI_CLI:"gemini_cli",ANTIGRAVITY:"antigravity",WINDSURF:"windsurf",CLINE:"cline",OPENCODE:"opencode",ZED:"zed",VSCODE:"vscode",OTHER:"other"},VD={NPX:"npx",GLOBAL:"global",PROJECT:"project",OTHER:"other"},bg={ZERO:"0",ONE:"1",TWO_THREE:"2-3",FOUR_NINE:"4-9",TEN_PLUS:"10+"},jD=i.object({view:i.nativeEnum(vt).optional(),surface:i.nativeEnum(Jo).optional(),tabs:i.nativeEnum(bg).optional()}),KD={CONNECT:"connect",HUD:"hud",LINK:"link"},WD=i.object({via:i.nativeEnum(KD)}),zD={STARTED:"started",COMPLETED:"completed"},YD={PROVED:"proved",NOT_PROVED:"not_proved",FAILED:"failed",BLOCKED:"blocked",STOPPED:"stopped"},XD={AGENT:"agent",HUD:"hud",DASHBOARD:"dashboard",CLI_TRY:"cli_try",PLAN:"plan"},qD=i.object({phase:i.nativeEnum(zD),source:i.nativeEnum(XD),hosted:i.boolean(),outcome:i.nativeEnum(YD).optional(),journeys:i.nativeEnum(bg).optional(),replayed:i.nativeEnum(bg).optional()}),Hx={accountState:i.nativeEnum(GD).optional(),linked:i.boolean().optional(),workspaceId:i.string().min(1).max(128).optional(),client:i.nativeEnum(BD).optional(),launch:i.nativeEnum(VD).optional(),hud:jD.optional(),link:WD.optional(),harness:qD.optional()}});var ZD,QD,Ux,Sg=S(()=>{"use strict";ne();ZD={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},QD={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},Ux=i.object({source:i.nativeEnum(ZD),kind:i.string().min(1).max(64),falseGreen:i.boolean(),tool:i.string().min(1).max(64).optional(),repeat:i.boolean(),attribution:i.nativeEnum(QD),fingerprint:i.string().max(16).optional(),occurrence:i.number().int().positive().optional()})});var JD,Ut,YK,eM,tM,nM,rM,oM,Fx,iM,aM,sM,cM,lM,dM,uM,pM,fM,hM,XK,Gx=S(()=>{"use strict";ne();Ix();hg();gg();Ps();Qo();Ps();Eg();Tg();Sg();Sg();JD=3,Ut={RETICLE_INSTALLED:"reticle_installed",CLI_COMMAND_RUN:"cli_command_run",DAEMON_STARTED:"daemon_started",DAEMON_STOPPED:"daemon_stopped",SESSION_PROGRESS:"session_progress",VERIFICATION_COMPLETED:"verification_completed",PROJECT_PROFILED:"project_profiled",VERSION_CHANGED:"version_changed",RUNTIME_CRASHED:"runtime_crashed",FEEDBACK_SUBMITTED:"feedback_submitted",IDENTIFIED:"identified",MCP_CLIENT_CONNECTED:"mcp_client_connected",APP_INSTRUMENTED:"app_instrumented",MCP_CONNECTION_LOST:"mcp_connection_lost",INIT_COMPLETED:"init_completed",ONBOARDING_STEP:"onboarding_step",BUG_FOUND:"bug_found",TOOL_REFUSED:"tool_refused",HUD_VIEWED:"hud_viewed",HUD_SIGNIN_PROMPTED:"hud_signin_prompted",PLATFORM_LINKED:"platform_linked",HARNESS_RUN:"harness_run"},YK=new Set([Ut.DAEMON_STARTED,Ut.DAEMON_STOPPED,Ut.SESSION_PROGRESS,Ut.MCP_CLIENT_CONNECTED,Ut.APP_INSTRUMENTED,Ut.PROJECT_PROFILED,Ut.VERIFICATION_COMPLETED,Ut.BUG_FOUND,Ut.RUNTIME_CRASHED,Ut.FEEDBACK_SUBMITTED,Ut.TOOL_REFUSED,Ut.HUD_VIEWED,Ut.HUD_SIGNIN_PROMPTED,Ut.HARNESS_RUN]),eM={HUMAN:"human",AGENT:"agent"},tM={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},nM={HARNESS:"harness"},rM=i.object({via:i.string().min(1).max(64),verified:i.string().min(1).max(16),passed:i.boolean(),falseGreenCaught:i.boolean(),durationMs:i.number().int().nonnegative().optional(),browser:i.string().min(1).max(16).optional(),brand:i.nativeEnum($e).optional(),reason:i.nativeEnum(Ke).optional(),uncleanLoss:i.nativeEnum(ZS).optional(),driven:i.nativeEnum(nM).optional()}),oM=i.object({from:i.string().min(1).max(64),to:i.string().min(1).max(64),nudged:i.boolean().optional(),direction:i.string().min(1).max(16)}),Fx={RETICLE:"reticle",OTHER:"other"},iM=i.object({kind:i.string().min(1).max(32),errorType:i.string().min(1).max(64).optional(),fingerprint:i.string().min(1).max(64).optional(),message:i.string().max(300).optional(),frames:i.array(i.string().max(120)).max(12).optional(),tool:i.string().min(1).max(64).optional(),breadcrumb:i.array(i.string().max(64)).max(12).optional(),nodeVersion:i.string().max(24).optional(),arch:i.string().max(16).optional(),machine:mg.optional(),syscall:i.string().max(32).optional(),errno:i.string().max(32).optional(),loopback:i.boolean().optional(),port:i.enum([Fx.RETICLE,Fx.OTHER]).optional(),internalFrame:i.string().max(64).optional()}),aM=i.object({reconnect:i.boolean(),daemonAgeMs:i.number().int().nonnegative(),client:i.string().min(1).max(64).optional(),appConnected:i.boolean().optional()}),sM=i.object({initialized:i.boolean(),agentAttached:i.boolean(),msToFirstApp:i.number().int().nonnegative(),firstEver:i.boolean().optional()}),cM={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},lM={SSE_ENDED:"sse_ended",DAEMON_SHUTDOWN:"daemon_shutdown",SSE_ERROR:"sse_error",SSE_ABORTED:"sse_aborted",SSE_CLOSED:"sse_closed",CONNECT_ERROR:"connect_error",OTHER:"other"},dM=i.object({stage:i.nativeEnum(cM),reason:i.nativeEnum(lM),attempts:i.number().int().nonnegative(),pendingLost:i.number().int().nonnegative().optional()}),uM={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",INSTALL_SCRIPT:"install_script",DOCS_SITE:"docs_site",README:"readme",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},pM={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",CI_RUNNER:"ci_runner",AGENT_SANDBOX:"agent_sandbox"},fM={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},hM=i.object({ok:i.boolean(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),mcpRegistered:i.boolean().optional(),confirmation:i.nativeEnum(fM).optional()}),XK=i.object({v:i.literal(JD),anonymousId:i.string().min(1).max(128),projectId:i.string().min(1).max(128).optional(),sessionId:i.string().min(1).max(64).optional(),event:i.nativeEnum(Ut),ts:i.number().int().nonnegative(),version:i.string().min(1).max(64),ci:i.boolean(),automation:i.nativeEnum(pM).optional(),projectIdSource:i.nativeEnum(tM).optional(),os:i.string().min(1).max(32),tzOffsetMin:i.number().int().min(-900).max(900).optional(),internal:i.boolean().optional(),idEphemeral:i.boolean().optional(),feedback:ex.optional(),actor:i.nativeEnum(eM).optional(),command:i.string().min(1).max(32).optional(),flags:i.array(i.string().max(32)).max(16).optional(),session:Mx.optional(),project:$x.optional(),verification:rM.optional(),versionChange:oM.optional(),crash:iM.optional(),identity:tx.optional(),connection:aM.optional(),init:hM.optional(),onboarding:Ox.optional(),bug:Ux.optional(),refusal:Lx.optional(),outage:dM.optional(),instrumentation:sM.optional(),installSource:i.nativeEnum(uM).optional(),licenseId:i.string().min(1).max(64).optional(),licenseStatus:i.nativeEnum(Px).optional(),licenseKeyPresent:i.boolean().optional(),...Hx})});var Bx=S(()=>{"use strict"});var e3,Vx=S(()=>{"use strict";cm();e3={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:Ns.ACT,ACT_SEQUENCE:Ns.ACT_SEQUENCE,ACT_AND_WAIT:Ns.ACT_AND_WAIT,OBSERVE:"reticle_observe",LINEAGE:"reticle_lineage",WAIT_FOR:"reticle_wait_for",NETWORK:"reticle_network",CONSOLE:"reticle_console",ANIMATIONS:"reticle_animations",ASSERT:"reticle_assert",RECONCILE:"reticle_reconcile",BASELINE_SAVE:"reticle_baseline_save",BASELINE_LIST:"reticle_baseline_list",DIFF:"reticle_diff",RECORD_START:"reticle_record_start",RECORD_STOP:"reticle_record_stop",REPLAY:"reticle_replay",EXPLORE:"reticle_explore",NARRATE:"reticle_narrate",CLOCK:"reticle_clock",STATE:"reticle_state",STORAGE:"reticle_storage",CAPABILITIES:"reticle_capabilities",CONTRACT_SAVE:"reticle_contract_save",DOMAIN:"reticle_domain",FLOW_SAVE:"reticle_flow_save",FLOW_LIST:"reticle_flow_list",FLOW_LOAD:"reticle_flow_load",FLOW_DELETE:"reticle_flow_delete",FLOW_REPLAY:"reticle_flow_replay",FLOW_VERIFY:"reticle_flow_verify",FLOW_SAVE_RECORDED:"reticle_flow_save_recorded",FLOW_HEAL:"reticle_flow_heal",FLOW_MUTATE:"reticle_flow_mutate",ANNOTATE:"reticle_annotate",AFFECTED:"reticle_affected",COVERAGE:"reticle_coverage",VERIFY_CHANGE:"reticle_verify_change",VERIFY_EXPLORE:"reticle_verify_explore",INTENT:"reticle_intent",CONTEXT:"reticle_context",VERIFY:"reticle_verify",PROJECT:"reticle_project",ACCOUNT:"reticle_account",MEMORY:"reticle_memory",RUN_RECORD:"reticle_run_record",SCREENSHOT:"reticle_screenshot",NETWORK_MOCK:"reticle_network_mock",VIEWPORT:"reticle_viewport",VISUAL_DIFF:"reticle_visual_diff",CRAWL:"reticle_crawl",SCROLL_TO:"reticle_scroll_to",SESSION_TUNE:"reticle_session_tune",END_SESSION:"reticle_end_session",YIELD:"reticle_yield",RESUME:"reticle_resume",MESSAGES:"reticle_messages",REVIEW:"reticle_review",WAIT_READY:"reticle_wait_ready",NAVIGATE:"reticle_navigate",REFRESH:"reticle_refresh",RUN_EXPORT:"reticle_run_export",BASELINE:"reticle_baseline",SESSION:"reticle_session",RECORD:"reticle_record",FLOW:"reticle_flow",LEASE:"reticle_lease",LEASE_ACQUIRE:"reticle_lease_acquire",LEASE_RELEASE:"reticle_lease_release",TOOLS:"reticle_tools",RUN:"reticle_run",FEEDBACK:"reticle_feedback"}});var jx=S(()=>{"use strict"});var Kx=S(()=>{"use strict"});var c3,l3,d3,u3,Wx=S(()=>{"use strict";ks();Ps();Ap();Mt();c3={[ei.WEB]:{surface:Pn.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[ei.ELECTRON]:{surface:Pn.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[ei.TAURI]:{surface:Pn.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},l3=new Set(Object.values($n)),d3={[ei.WEB]:Or.WEB,[ei.ELECTRON]:Or.WEBVIEW,[ei.TAURI]:Or.WEBVIEW},u3={[Pn.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Pn.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Pn.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[Pn.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[Pn.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[Pn.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var Xx,mM,gM,zx,EM,qx,bM,Yx,TM,nt,SM,_M,xM,AM,Zx,yM,vM,Qx,_g=S(()=>{"use strict";ne();Xx=i.object({calls:i.number().int().nonnegative(),verdicts:i.number().int().nonnegative(),passed:i.number().int().nonnegative(),failed:i.number().int().nonnegative(),unknown:i.number().int().nonnegative(),refusals:i.number().int().nonnegative(),marks:i.number().int().nonnegative(),sessions:i.number().int().nonnegative(),tokensReturned:i.number().int().nonnegative(),drivingMs:i.number().int().nonnegative()}),mM=i.object({date:i.string(),counts:Xx}),gM=i.object({longestRunMs:i.number().int().nonnegative(),bestVerdictDay:i.number().int().nonnegative(),bestDefectDay:i.number().int().nonnegative(),streakDays:i.number().int().nonnegative(),bestStreakDays:i.number().int().nonnegative()}),zx=i.object({value:i.number().nonnegative(),basis:i.string()}),EM=i.object({tokens:zx,minutes:zx}),qx=10,bM=i.object({at:i.number().int().nonnegative(),title:i.string(),detail:i.string().optional(),source:i.string().optional()}),Yx=i.object({counts:Xx,days:i.array(mM),records:gM,savings:EM,since:i.number().int().nonnegative(),defects:i.array(bM).default([])}),TM=i.object({signedIn:i.boolean(),org:i.string().optional(),email:i.string().optional(),host:i.string().optional()}),nt={FREE:"free",TRIAL:"trial",PAID:"paid"},SM=i.object({provider:i.string(),harnessEnabled:i.boolean(),harnessEntitled:i.boolean(),providerReady:i.boolean().optional(),credits:i.object({used:i.number().int().min(0),limit:i.number().int().min(0),kind:i.enum([nt.FREE,nt.TRIAL,nt.PAID]).optional(),daysLeft:i.number().int().min(0).optional()}).optional(),platformUrl:i.string().optional(),gate:i.object({unlocked:i.boolean(),percent:i.number().int().min(0).max(100).optional(),reason:i.string().max(400).optional(),prompt:i.string().max(4e3).optional()}).optional(),plan:i.object({kind:i.enum([nt.FREE,nt.TRIAL,nt.PAID]),daysLeft:i.number().int().min(0).optional(),seats:i.number().int().min(0).optional()}).optional(),harnessRuns:i.number().int().min(0).optional(),memoryEntries:i.number().int().min(0).optional()}),_M=i.object({runId:i.string(),steps:i.number().int().min(0)}),xM=500,AM=5,Zx=64,yM=i.object({text:i.string().max(xM),seen:i.boolean(),by:i.string().max(Zx).optional()}),vM=i.object({agents:i.array(i.string().max(Zx)).max(8),notes:i.array(yM).max(AM)}),Qx=i.object({schemaVersion:i.number().int().positive(),project:Yx,global:Yx,projectName:i.string().optional(),dashboardUrl:i.string().optional(),account:TM.optional(),harnessConfig:SM.optional(),harnessDrive:_M.optional(),agent:vM.optional(),notices:i.array(i.unknown()).max(8).optional(),coverage:i.record(i.number()).optional(),sync:i.record(i.unknown()).optional(),instrumentation:i.record(i.unknown()).optional()})});var Jx=S(()=>{"use strict"});function Fs(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619)>>>0;return e.toString(16).padStart(8,"0")}function eA(t){let e=Object.keys(t).sort().map(n=>{var r;return`${n}:${[...(r=t[n])!=null?r:[]].sort().join(",")}`}).join("|");return Fs(e)}var xg,od,tA=S(()=>{"use strict";Mt();xg=eA({messageKinds:Object.values(Dt),commands:Object.values(L),actions:Object.values(k),events:Object.values(x)}),od={commands:Object.values(L),events:Object.values(x),actions:Object.values(k)}});var nA,rA=S(()=>{"use strict";nA="[Reticle] this page could not open a websocket to "});var oA=S(()=>{"use strict"});var H=S(()=>{"use strict";tS();u_();p_();f_();Mt();m_();b_();S_();A_();y_();Qo();v_();R_();Km();Yl();I_();zm();M_();P_();H_();sg();nx();rx();Gl();cm();d_();um();ox();Im();Nm();Cm();ax();_p();sx();cx();co();Pm();Mm();Um();Fm();Gm();lx();px();hx();mx();gx();Ex();bx();Tx();Sx();ug();xx();og();tg();yx();vx();Rx();Gx();fg();hg();Bx();Vx();jx();Ap();yp();Kx();Wx();gg();Tg();Eg();Ps();_g();Jx();tA();rA();oA()});function aA(t){Ag=t}function yg(t){sA=t}function lA(){return Ag}function dA(t){iA=t.join(",")}function ht(t){return t.closest(ti)!==null}function ni(t){return ht(t)?!cA()||t.closest(NM)===null:!1}function Gs(t){return t!==null&&t.closest(ti)!==null}function rn(t){let n=[cA()?wM:ti,RM,iA].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Ip(t){for(let e of Array.from(t.querySelectorAll(OM)))if(e.closest(ti)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var ti,RM,iA,Ag,sA,cA,NM,wM,OM,at=S(()=>{"use strict";H();ti=Xl,RM="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",iA="",Ag=!1;sA=!1;cA=()=>Ag&&!sA;NM="[data-reticle-dock]";wM="[data-reticle-log],[data-reticle-harness-log],[data-reticle-chat-pill-text],[data-reticle-agent-said],[data-reticle-agent-note]";OM='dialog[open], [aria-modal="true"]'});function Bs(){return Cp}function rr(){return`[${Cp}]`}function Pe(t){return t.getAttribute(Cp)}function uA(t){Cp=t!==void 0&&E_.test(t)?t:ca}var Cp,on=S(()=>{"use strict";H();Cp=ca});function pA(t,e){var o;if(t===null||typeof t!="object")return;let r=((o=t.ownerDocument)!=null?o:t).defaultView;if(r!=null)return r[e]}function bn(t,e,n){var o;let r=(o=pA(t,e))!=null?o:n;return typeof r=="function"&&t instanceof r}function EA(t){let e=Ft(t)?"HTMLTextAreaElement":"HTMLInputElement",n=pA(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var an,vg,Ze,IM,ri,ve,Ft,or,Vs,fA,hA,mA,gA,Lp,Un=S(()=>{"use strict";an=t=>bn(t,"Element",typeof Element=="undefined"?void 0:Element),vg=t=>bn(t,"HTMLImageElement",typeof HTMLImageElement=="undefined"?void 0:HTMLImageElement),Ze=t=>bn(t,"HTMLElement",typeof HTMLElement=="undefined"?void 0:HTMLElement),IM=t=>bn(t,"SVGElement",typeof SVGElement=="undefined"?void 0:SVGElement),ri=t=>Ze(t)||IM(t),ve=t=>bn(t,"HTMLInputElement",typeof HTMLInputElement=="undefined"?void 0:HTMLInputElement),Ft=t=>bn(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement=="undefined"?void 0:HTMLTextAreaElement),or=t=>bn(t,"HTMLSelectElement",typeof HTMLSelectElement=="undefined"?void 0:HTMLSelectElement),Vs=t=>bn(t,"HTMLButtonElement",typeof HTMLButtonElement=="undefined"?void 0:HTMLButtonElement),fA=t=>bn(t,"HTMLMeterElement",typeof HTMLMeterElement=="undefined"?void 0:HTMLMeterElement),hA=t=>bn(t,"HTMLOutputElement",typeof HTMLOutputElement=="undefined"?void 0:HTMLOutputElement),mA=t=>bn(t,"HTMLProgressElement",typeof HTMLProgressElement=="undefined"?void 0:HTMLProgressElement),gA=t=>bn(t,"HTMLFormElement",typeof HTMLFormElement=="undefined"?void 0:HTMLFormElement),Lp=t=>bn(t,"HTMLIFrameElement",typeof HTMLIFrameElement=="undefined"?void 0:HTMLIFrameElement)});function $p(t){return CM.has(t)||t.startsWith(kp)||t.startsWith(Dp)||t.startsWith(Mp)}var st,kp,Dp,Mp,CM,Lr=S(()=>{"use strict";st={SESSION:"__reticle_session",REF_BASE:"__reticle_ref_base",PRESENTER_LOG:"reticle-presenter-log",PRESENTER_LOG_OWNER:"reticle-presenter-log-owner",PRESENTER_SETTINGS:"reticle-presenter-settings",PRESENTER_MINIMISED:"reticle-presenter-minimised",PRESENTER_VIEW:"reticle-presenter-view",CAROUSEL_DISMISSED:"reticle.carousel.dismissed",ANNOTATION_HISTORY:"reticle.annotations.history.v1"},kp="reticle.tour.seen.",Dp="reticle.harness.persona.",Mp="reticle.impact.seen.",CM=new Set(Object.values(st))});function ga(t){let e=G.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${LM}`}function MM(t){try{let e=t==null?void 0:t.getItem(TA),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var bA,LM,Rg,kM,TA,DM,ad,ct,sd,fo,js,Ks,Ws,ho,SA,Ng,_A,id,J,Rt=S(()=>{"use strict";H();Lr();bA=1e4,LM="\u2026",Rg="e";kM=1e3,TA=st.REF_BASE,DM=100;id=class{constructor(e=()=>globalThis.sessionStorage){b(this,ho);b(this,ad,new WeakMap);b(this,ct,new Map);b(this,sd);b(this,fo,0);b(this,js,0);b(this,Ks,0);b(this,Ws,0);h(this,sd,e)}get size(){return c(this,ct).size}markEdited(){h(this,Ws,c(this,fo))}mintedBeforeLastEdit(e){if(c(this,Ws)===0||!e.startsWith(Rg))return!1;let n=Number(e.slice(Rg.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,Ws)}refFor(e){let n=c(this,ad).get(e);if(n!==void 0){let o=c(this,ct).get(n);return c(this,ct).delete(n),c(this,ct).set(n,o!=null?o:new WeakRef(e)),n}c(this,fo)>=c(this,js)&&E(this,ho,SA).call(this),h(this,fo,c(this,fo)+1);let r=ix(`${Rg}${String(c(this,fo))}`);return c(this,ad).set(e,r),c(this,ct).set(r,new WeakRef(e)),h(this,Ks,c(this,Ks)+1),c(this,Ks)>=kM?(h(this,Ks,0),E(this,ho,_A).call(this)):c(this,ct).size>bA&&E(this,ho,Ng).call(this),r}resolve(e){let n=c(this,ct).get(e);if(n===void 0)return null;let r=n.deref();return r===void 0||!r.isConnected?(c(this,ct).delete(e),null):(c(this,ct).delete(e),c(this,ct).set(e,n),r)}};ad=new WeakMap,ct=new WeakMap,sd=new WeakMap,fo=new WeakMap,js=new WeakMap,Ks=new WeakMap,Ws=new WeakMap,ho=new WeakSet,SA=function(){let e;try{e=c(this,sd).call(this)}catch{e=void 0}let n=Math.max(MM(e),c(this,fo));h(this,js,n+DM);try{e==null||e.setItem(TA,String(c(this,js)))}catch{}h(this,fo,n)},Ng=function(){let e=c(this,ct).keys().next();e.done!==!0&&c(this,ct).delete(e.value)},_A=function(){for(let[e,n]of c(this,ct)){let r=n.deref();(r===void 0||!r.isConnected)&&c(this,ct).delete(e)}for(;c(this,ct).size>bA;)E(this,ho,Ng).call(this)};J=new id});function Re(t,e){return t[e]}function xA(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:Re(e,"set")}var oi=S(()=>{"use strict"});function HM(){for(let t of ii)t.deref()===void 0&&ii.delete(t);for(;ii.size>$M;){let t=ii.values().next();if(t.done===!0)break;ii.delete(t.value)}}function vA(){let t=[];for(let e of ii){let n=e.deref();n!==void 0&&t.push(n)}return t}function yA(t,e){if(!AA.has(t)){AA.add(t),ii.add(new WeakRef(t)),Og+=1,Og>=PM&&(Og=0,HM()),Ig.add(e);for(let n of Pp)n(t)}}function RA(){return vA()}function NA(t){return Ig.has(t)}function zs(t){if(!Ig.has(t))return null;for(let e of vA())if(e.host===t)return e;return null}function wA(t){return Pp.add(t),()=>Pp.delete(t)}function OA(){let t=Element.prototype,e=Re(t,"attachShadow");if(typeof e!="function")return()=>{};wg+=1;let n=function(a){let s=e.call(this,a);return yA(s,this),s};t.attachShadow=n;let r=o=>{for(let a of o.querySelectorAll("*")){let s=a.shadowRoot;s!==null&&(yA(s,a),r(s))}};return document.documentElement!==null&&r(document.documentElement),()=>{Re(t,"attachShadow")===n&&(t.attachShadow=e),wg-=1,!(wg>0)&&(ii.clear(),Pp.clear())}}var wg,ii,AA,Ig,$M,PM,Og,Pp,Ys=S(()=>{"use strict";oi();wg=0,ii=new Set,AA=new WeakSet,Ig=new WeakSet,$M=4e3,PM=250,Og=0;Pp=new Set});function IA(t){var n;return((n=t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi))!=null?n:[]).map(r=>Number(r))}function GM(t){return/NaN|Infinity/i.test(t)?!0:IA(t).some(e=>!Number.isFinite(e))}function BM(t){let e=IA(t).filter(a=>Number.isFinite(a));if(e.length===0)return!0;let n=e.filter((a,s)=>s%2===0),r=e.filter((a,s)=>s%2===1),o=a=>a.every(s=>s===a[0]);return n.length>1&&o(n)&&o(r)}function Hp(t){let e=[],n=0;for(let o of UM)for(let a of Array.from(t.querySelectorAll(o)))for(let s of FM){let l=a.getAttribute(s);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;GM(l)?e.push({kind:"non-finite-coordinates",tag:o,attr:s,sample:d}):l.trim().length===0?e.push({kind:"empty-geometry",tag:o,attr:s,sample:d}):BM(l)&&e.push({kind:"degenerate-geometry",tag:o,attr:s,sample:d})}let r=t.querySelectorAll("canvas").length>0;return{examined:n,findings:e,canvas:r}}function CA(t,e){var o,a,s,l,d,u,p;let n=(a=(o=e.Chart)==null?void 0:o.getChart)==null?void 0:a.call(o,t);if(n!=null)return{library:"chartjs",data:(s=n.data)!=null?s:null};let r=(d=(l=e.echarts)==null?void 0:l.getInstanceByDom)==null?void 0:d.call(l,t);return r!=null?{library:"echarts",data:(p=(u=r.getOption)==null?void 0:u.call(r))!=null?p:null}:null}var UM,FM,Cg=S(()=>{"use strict";UM=["path","polyline","polygon"],FM=["d","points"]});function cd(t,e,n){let r=Math.max(0,Math.min(n,e.remainingCharacters));if(t.length<=r)return e.remainingCharacters-=t.length,t;e.truncatedValues+=1;let o=r<=ld.length?ld.slice(0,r):`${t.slice(0,r-ld.length)}${ld}`;return e.remainingCharacters-=o.length,o}function dd(t,e,n,r){if(r!==void 0&&tt(r))return _e;if(n>G.MAX_SERIALIZE_DEPTH||e.nodes>=Xs)return e.truncatedValues+=1,ld;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return cd(t,e,(r==null?void 0:r.toLowerCase())==="error"?G.MAX_ERROR_LENGTH:G.MAX_STRING_LENGTH);if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="bigint")return t.toString();if(typeof t=="undefined"||typeof t=="function"||typeof t=="symbol")return qs;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Map){let o=Object.create(null),a=0;for(let[s,l]of t){if(e.nodes>=Xs||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-a;break}let d=cd(typeof s=="string"?s:String(s),e,LA),u=dd(l,e,n+1,d);u!==qs&&(o[d]=u),a+=1}return o}if(t instanceof Set){let o=[],a=0;for(let s of t){if(e.nodes>=Xs||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-a;break}let l=dd(s,e,n+1);o.push(l===qs?null:l),a+=1}return o}if(ArrayBuffer.isView(t)&&!(t instanceof DataView)){let o=t.length,a=[],s=0;for(let l of t){if(e.nodes>=Xs||s>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=o-s;break}a.push(l),e.nodes+=1,s+=1}return a}if(t instanceof Error)return{name:cd(t.name,e,256),message:cd(t.message,e,G.MAX_ERROR_LENGTH)};if(e.seen.has(t))return"[CIRCULAR]";e.seen.add(t);try{if(Array.isArray(t)){let d=[],u=t.slice(0,G.MAX_COLLECTION_ITEMS);e.droppedItems+=Math.max(0,t.length-u.length);for(let p of u){if(e.nodes>=Xs){e.droppedItems+=1;continue}let f=dd(p,e,n+1);if(e.nodes>=Xs){e.droppedItems+=1;continue}d.push(f===qs?null:f)}return d}let o=Object.create(null),a=Object.keys(t),s=a.slice(0,G.MAX_OBJECT_KEYS);e.droppedItems+=Math.max(0,a.length-s.length);let l=s.map(d=>{try{let u=t[d];return{key:d,value:u,scalar:u===null||typeof u!="object",ok:!0}}catch{return{key:d,value:void 0,scalar:!0,ok:!1}}});for(let d of[...l.filter(u=>u.scalar),...l.filter(u=>!u.scalar)]){let u=cd(d.key,e,LA);if(!d.ok){o[u]=Lg;continue}try{let p=dd(d.value,e,n+1,d.key);p!==qs&&(o[u]=p)}catch{o[u]=Lg}}return o}finally{e.seen.delete(t)}}function ud(t){return pd(t).value}function pd(t){let e={seen:new WeakSet,remainingCharacters:VM,nodes:0,droppedItems:0,truncatedValues:0},n=dd(t,e,0),r=n===qs?null:n;if(e.droppedItems===0&&e.truncatedValues===0)return{value:r};let o=[];return e.droppedItems>0&&o.push(`${e.droppedItems} item(s) dropped`),e.truncatedValues>0&&o.push(`${e.truncatedValues} value(s) truncated`),{value:r,truncation:{droppedItems:e.droppedItems,truncatedValues:e.truncatedValues,note:`partial \u2014 ${o.join(", ")}; this is NOT the whole value. Scope the read with \`path\`/\`depth\` to see the rest.`}}}function kr(t){try{return JSON.stringify(ud(t))}catch{return JSON.stringify(Lg)}}var ld,Lg,qs,LA,VM,Xs,Dr=S(()=>{"use strict";H();ld="[TRUNCATED]",Lg="[UNSERIALIZABLE]",qs=Symbol("omit"),LA=256,VM=Math.floor(G.MAX_MESSAGE_BYTES/4),Xs=G.MAX_COLLECTION_ITEMS*5});function jM(t){if(t===null)return;let e=/^(.*):(\d+):(\d+)$/.exec(t);if(e===null)return;let n=e[1],r=Number(e[2]);if(!(n===void 0||n.length===0||!Number.isFinite(r)))return{file:n,line:r}}function fd(t){let e=t.closest(`[${kg}]`);return e!==null?jM(e.getAttribute(kg)):void 0}function Up(t,e){return e!==void 0?{file:e.file,line:e.line}:fd(t)}function kA(t){return t.querySelector(`[${kg}]`)!==null}function Fp(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var kg,hd=S(()=>{"use strict";H();kg=Ds});function qM(t){let e=t.type.toLowerCase();return e==="search"?"searchbox":XM.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function ZM(t){let e=t.getAttribute("aria-label");if(e!==null&&e.trim().length>0)return!0;let n=t.getAttribute("aria-labelledby");if(n!==null&&n.trim().length>0)return!0;let r=t.getAttribute("title");return r!==null&&r.trim().length>0}function xe(t){var r;let e=t.getAttribute("role");if(e!==null&&e.trim().length>0)return e.trim();switch(t.tagName.toLowerCase()){case"a":return t.hasAttribute("href")?"link":"generic";case"button":return"button";case"input":return qM(t);case"textarea":return"textbox";case"select":return t.multiple?"listbox":"combobox";case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return"heading";case"ul":case"ol":return"list";case"li":return"listitem";case"nav":return"navigation";case"main":return"main";case"aside":return"complementary";case"dialog":return"dialog";case"img":return"img";case"table":return"table";case"tr":return"row";case"tbody":case"thead":case"tfoot":return"rowgroup";case"td":return t.closest('[role~="grid"], [role~="treegrid"]')!==null?"gridcell":"cell";case"th":{let o=((r=t.getAttribute("scope"))!=null?r:"").toLowerCase();return o==="row"||o==="rowgroup"?"rowheader":"columnheader"}case"option":return"option";case"optgroup":return"group";case"section":return ZM(t)?"region":"generic";case"article":return"article";case"fieldset":return"group";case"details":return"group";case"summary":return"button";case"progress":return"progressbar";case"meter":return"meter";case"output":return"status";case"hr":return"separator";case"area":return t.hasAttribute("href")?"link":"generic";case"form":return"form";case"p":return"paragraph";case"header":return"banner";case"footer":return"contentinfo";default:return"generic"}}function Zs(t){return t.replace(/\s+/g," ").trim()}function QM(t){let e=t.getAttribute("aria-labelledby");if(e===null)return null;let n=[];for(let o of e.split(/\s+/)){let a=t.ownerDocument.getElementById(o);a!==null&&n.push(Zs(md(a)))}let r=n.join(" ").trim();return r.length>0?r:null}function md(t){var o;if(t.nodeType===Node.TEXT_NODE)return(o=t.textContent)!=null?o:"";if(t.nodeType!==Node.ELEMENT_NODE)return"";let e=t;if(e.getAttribute("aria-hidden")==="true")return"";if(vg(e)){let a=e.getAttribute("alt");return a===null?"":a}let n="",r=!1;for(let a of e.childNodes){let s=md(a);if(s.length===0)continue;let l=Node.ELEMENT_NODE===a.nodeType;n.length>0&&(l||r)&&(n+=" "),n+=s,r=l}return n}function Ne(t){let e=QM(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(vg(t)){let a=t.getAttribute("alt");if(a!==null)return a.trim()}if(ve(t)||Ft(t)||or(t)||Vs(t)||fA(t)||hA(t)||mA(t)){let a=t.labels;if(a!==null&&a.length>0){let s=[...a].map(l=>Zs(md(l))).join(" ").trim();if(s.length>0)return s}}if(t.tagName.toLowerCase()==="fieldset"){let a=[...t.children].find(s=>s.tagName.toLowerCase()==="legend");if(a!==void 0){let s=Zs(md(a));if(s.length>0)return s}}if(ve(t)||Ft(t)||or(t)){if(ve(t)){let a=t.type.toLowerCase();if(a==="submit"||a==="button"||a==="reset"){let s=Zs(t.value);if(s.length>0)return s}}if(ve(t)||Ft(t)){let a=t.getAttribute("placeholder");if(a!==null&&a.trim().length>0)return a.trim()}}if(YM.has(xe(t))){let a=Zs(md(t));if(a.length>0)return a}let o=t.getAttribute("title");return o!==null&&o.trim().length>0?o.trim():""}function Gp(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function go(t,e=Gt(t)){let n=[fe.PRESENT];n.push(e?fe.VISIBLE:fe.HIDDEN);let o=(Vs(t)||ve(t)||or(t)||Ft(t))&&t.disabled||Gp(t,"aria-disabled")===!0;return n.push(o?fe.DISABLED:fe.ENABLED),(ve(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||Gp(t,"aria-checked")===!0)&&n.push(fe.CHECKED),Gp(t,"aria-expanded")===!0&&n.push(fe.EXPANDED),Gp(t,"aria-pressed")===!0&&n.push(fe.PRESSED),t.ownerDocument.activeElement===t&&n.push(fe.FOCUSED),n}function ir(t){var o,a,s,l,d;if(!ve(t)&&!Ft(t)&&!or(t))return!1;let e=(o=t.getAttribute("autocomplete"))!=null?o:"",n=[(a=t.getAttribute("name"))!=null?a:"",t.id,(s=Pe(t))!=null?s:"",(l=t.getAttribute(ca))!=null?l:"",(d=t.getAttribute("aria-label"))!=null?d:""],r=JM.test(e);return ve(t)&&t.type.toLowerCase()==="password"||r||n.some(tt)}function Mg(t){if(ve(t)||Ft(t)||or(t))return ir(t)?t.value===""?"":_e:t.value;let e=t.getAttribute("aria-valuenow");return e!=null?e:void 0}function e2(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(KM);if(n===null||n.hasAttribute(WM))return!1;let r=Array.from(n.children).find(o=>zM===o.localName);return r===void 0||!r.contains(t)}function t2(t){return!t.ownerDocument.hidden||!("getAnimations"in t)?!1:t.getAnimations().some(e=>e.playState==="running"||e.pending)}function r2(t){return t.hasAttribute(n2)}function o2(t,e){return!!(t.getAttribute("aria-hidden")==="true"&&!r2(t)||Ze(t)&&t.hidden||e2(t)||e!==null&&(e.display==="none"||e.visibility==="hidden"||e.visibility==="collapse"||Number.parseFloat(e.opacity||"1")===0&&!t2(t)))}function i2(t){let e=t.parentElement;if(e===null||e.shadowRoot!==null)return null;let n=zs(e);if(n===null)return null;for(let r of Array.from(n.querySelectorAll("slot")))if(r.assignedElements().includes(t))return r;return null}function a2(t){var r;let e=(r=t.assignedSlot)!=null?r:i2(t);if(e!==null)return e;if(t.parentElement!==null)return t.parentElement;let n=t.getRootNode().host;return n!=null?n:null}function BA(t){if(t===void 0)return new Map;let e=PA.get(t);return e===void 0&&(e=new Map,PA.set(t,e)),e}function mo(t,e){var r,o,a;let n=e.get(t);if(n===void 0){let s=(o=(r=t.ownerDocument.defaultView)==null?void 0:r.getComputedStyle(t))!=null?o:null;if(o2(t,s))return n={hidden:!0,style:s,parent:null,clipX:!1,clipY:!1,scrollX:!1,scrollY:!1,hasClipping:!1},e.set(t,n),n;let l=a2(t),d=l===null?void 0:mo(l,e),[u,p]=Dg(s),f=t.ownerDocument.documentElement,g=!(t===f||t===t.ownerDocument.body&&Dg(mo(f,e).style).every(y=>y==="visible"))&&!FA.has((a=s==null?void 0:s.display)!=null?a:"")&&!(Ze(t)&&(s==null?void 0:s.display)==="inline"),T=g&&DA.has(u),_=g&&DA.has(p);n={hidden:(d==null?void 0:d.hidden)===!0,style:s,parent:l,clipX:T,clipY:_,scrollX:g&&MA.has(u),scrollY:g&&MA.has(p),hasClipping:T||_||(d==null?void 0:d.hasClipping)===!0},e.set(t,n)}return n}function Dg(t){var o;let e=(o=t==null?void 0:t.overflow)!=null?o:"",[n="visible",r=n]=(e===""?"visible":e).split(/\s+/);return[t===null||t.overflowX===""?n:t.overflowX,t===null||t.overflowY===""?r:t.overflowY]}function l2(t,e,n){for(let r=mo(t,n).parent;r!==null;r=mo(r,n).parent){let o=mo(r,n).style;if(o===null||o.display==="contents")continue;if(!e&&o.position!==""&&o.position!=="static")return r;let a=!(o.display==="inline"&&Ze(r)&&!c2.has(r.localName))&&o.display!=="table-column"&&o.display!=="table-column-group",s=l=>a||!GA.has(l);if([...$A].some(l=>{let d=o.getPropertyValue(l);return s(l)&&d!==""&&d!=="none"})||o.willChange.split(",").some(l=>$A.has(l.trim())&&s(l.trim()))||a&&!FA.has(o.display)&&(o.contain.split(/\s+/).some(l=>s2.has(l))||o.contentVisibility==="auto"))return r}return null}function HA(t,e){var ce;if(e.clipBox!==void 0)return e.clipBox;let n=t.getBoundingClientRect(),r=e.style,o=he=>Number.parseFloat(he!=null?he:"")||0,a=(he,Ie)=>Ie===void 0||Ie===""||Ie==="none"||Ie==="hidden"?0:o(he),s=Ze(t)&&t.offsetWidth>0?n.width/t.offsetWidth:1,l=Ze(t)&&t.offsetHeight>0?n.height/t.offsetHeight:1,d=Ze(t)&&t.offsetWidth>0?n.left+t.clientLeft*s:n.left+a(r==null?void 0:r.borderLeftWidth,r==null?void 0:r.borderLeftStyle),u=Ze(t)&&t.offsetHeight>0?n.top+t.clientTop*l:n.top+a(r==null?void 0:r.borderTopWidth,r==null?void 0:r.borderTopStyle),p=Ze(t)&&t.offsetWidth>0?d+t.clientWidth*s:n.right-a(r==null?void 0:r.borderRightWidth,r==null?void 0:r.borderRightStyle),f=Ze(t)&&t.offsetHeight>0?u+t.clientHeight*l:n.bottom-a(r==null?void 0:r.borderBottomWidth,r==null?void 0:r.borderBottomStyle),m=((ce=r==null?void 0:r.overflowClipMargin)!=null?ce:"").split(/\s+/),g=o(m.at(-1)),T=m.includes("border-box"),_=m.includes("content-box"),[y,A]=Dg(r),v=y==="clip"?(T?n.left:d+(_?o(r==null?void 0:r.paddingLeft)*s:0))-g*s:d,O=y==="clip"?(T?n.right:p-(_?o(r==null?void 0:r.paddingRight)*s:0))+g*s:p,B=A==="clip"?(T?n.top:u+(_?o(r==null?void 0:r.paddingTop)*l:0))-g*l:u,oe=A==="clip"?(T?n.bottom:f-(_?o(r==null?void 0:r.paddingBottom)*l:0))+g*l:f;return e.clipBox={left:v,right:O,top:B,bottom:oe,width:O-v,height:oe-B},e.clipBox}function d2(t,e,n,r){let o=(u,p,f,m,g)=>{if(p>m&&u<g)return[u,p];let T=Math.min(f,g-m);return u>=g?[g-T,g]:[m,m+T]},[a,s]=n?o(t.left,t.right,t.width,e.left,e.right):[t.left,t.right],[l,d]=r?o(t.top,t.bottom,t.height,e.top,e.bottom):[t.top,t.bottom];return{left:a,right:s,top:l,bottom:d,width:s-a,height:d-l}}function VA(t,e,n,r=!1){let o=n,a=mo(t,e);if(a.hidden)return null;if(a.parent===null||!mo(a.parent,e).hasClipping)return o;let s;for(let l=t;l!==null;l=mo(l,e).parent){let d=mo(l,e);if(d.hidden)return null;l===s&&(s=void 0);let u=d.style;if(r&&l!==t&&s===void 0&&(d.scrollX||d.scrollY)&&(o!=null||(o=t.getBoundingClientRect()),o.width>0&&o.height>0&&(o=d2(o,HA(l,d),d.scrollX,d.scrollY))),l!==t&&s===void 0&&(d.clipX||d.clipY)&&(o!=null||(o=t.getBoundingClientRect()),o.width>0&&o.height>0)){let p=HA(l,d),f=d.clipX?Math.max(o.left,p.left):o.left,m=d.clipX?Math.min(o.right,p.right):o.right,g=d.clipY?Math.max(o.top,p.top):o.top,T=d.clipY?Math.min(o.bottom,p.bottom):o.bottom;if(m<=f||T<=g)return null;o={left:f,right:m,top:g,bottom:T,width:m-f,height:T-g}}s===void 0&&((u==null?void 0:u.position)==="absolute"||(u==null?void 0:u.position)==="fixed")&&(s=l2(l,(u==null?void 0:u.position)==="fixed",e))}return o}function $g(t,e){if(!Gt(t,e))return!1;let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=VA(t,BA(e),t.getBoundingClientRect());return r==null||r.width<=0||r.height<=0?!1:r.bottom>0&&r.right>0&&r.top<n.innerHeight&&r.left<n.innerWidth}function Gt(t,e){if(!t.isConnected)return!1;let n=e==null?void 0:e.get(t);if(n!==void 0)return n;let r=VA(t,BA(e),void 0,!0)!==null;return e!==void 0&&e.set(t,r),r}function u2(t){var n;let e=Zs((n=t.textContent)!=null?n:"");return e.length>UA?`${e.slice(0,UA)}\u2026`:e}function Mr(t,e){let n=Mg(t),r=u2(t),o=Ne(t),a=Gt(t,e),s={ref:J.refFor(t),role:xe(t),name:o,states:go(t,a),visible:a};n!==void 0&&n.length>0&&(s.value=n),r.length>0&&r!==o&&(s.text=r);let l=Fp(fd(t));if(l!==void 0&&(s.source=l),t.querySelector("path, polyline, polygon")!==null){let d=Hp(t).findings;d.length>0&&(s.chart=d)}return s}var KM,WM,zM,YM,XM,JM,n2,DA,MA,FA,GA,$A,s2,c2,PA,UA,Bt=S(()=>{"use strict";on();H();Un();Rt();Ys();Cg();Dr();hd();KM="details",WM="open",zM="summary",YM=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),XM=new Set(["text","email","tel","url","password",""]);JM=/\b(cc-|current-password|new-password|one-time-code)/i;n2="data-aria-hidden";DA=new Set(["hidden","clip"]),MA=new Set(["auto","scroll"]),FA=new Set(["contents","table-row","table-row-group","table-header-group","table-footer-group","table-column","table-column-group"]),GA=new Set(["transform","translate","rotate","scale","perspective"]),$A=new Set([...GA,"filter","backdrop-filter"]),s2=new Set(["layout","paint","strict","content"]),c2=new Set(["img","video","audio","canvas","iframe","embed","object","input","textarea","select"]),PA=new WeakMap;UA=80});function sy(t){var o;let e=[],n=new Set,r;try{r=t.querySelectorAll(rr())}catch{return e}for(let a=0;a<r.length&&e.length<F2;a+=1){let s=(o=r[a])==null?void 0:o.getAttribute(Bs());if(s==null)continue;let l=s.trim();l.length===0||n.has(l)||l.startsWith(G2)||(n.add(l),e.push(l))}return e}var F2,G2,cy=S(()=>{"use strict";on();F2=200,G2="reticle-"});var Bg,ly,Vg,ar,Td=S(()=>{"use strict";Bg=globalThis,Vg=typeof((ly=Bg.console)==null?void 0:ly.warn)=="function"?Bg.console.warn.bind(Bg.console):null,ar=(...t)=>{Vg==null||Vg(...t)}});function my(t){return jg.add(t),()=>jg.delete(t)}function B2(t){if(t===null||typeof t!="object"&&typeof t!="function")return!1;let e=t;return typeof e.getState=="function"&&typeof e.subscribe=="function"}function gy(t,e,n){if(K2(t,e),B2(e)){let r=()=>e.getState(),o=a=>e.subscribe(a);ec.set(t,r),Wp.set(t,o),dy(t,r,o);return}if(typeof e!="function"){let r=typeof e=="object"&&e!==null&&"subscribe"in e;ar(`[reticle] store "${t}" is neither a getter function nor a {getState, subscribe} store`+(r?" \u2014 it has subscribe but no getState. Wrap it with an adapter or add getState.":"."));return}if(ec.set(t,e),n!==void 0){Wp.set(t,n),dy(t,e,n);return}j2(t)}function dy(t,e,n){for(let r of jg)try{r([t,e,n])}catch{}}function Ey(t){ec.delete(t),Wp.delete(t)}function ai(){return[...ec.keys()]}function by(){let t=[];for(let[e,n]of Wp){let r=ec.get(e);r!==void 0&&t.push([e,r,n])}return t}function Wg(t){let e={};for(let[n,r]of ec)if(!(t!==void 0&&n!==t))try{e[n]=r()}catch(o){e[n]={__error:o instanceof Error?o.message:String(o)}}return e}function Ty(t){return Sd(t).stores}function Sd(t){let e={},n={};for(let[r,o]of Object.entries(Wg(t))){let a=pd(o);e[r]=a.value,a.truncation!==void 0&&(n[r]=a.truncation)}return Object.keys(n).length>0?{stores:e,truncation:n}:{stores:e}}function j2(t){V2.has(t)||uy.has(t)||(uy.add(t),ar(`[reticle] store "${t}" was registered without a subscribe function. It can be READ, but its changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`))}function zp(t,e){Sy.set(t,e)}function K2(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;Kg.set(e,t);let n=Sy.get(e);n!==void 0&&Kg.set(n,t)}function _y(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return Kg.get(t)}var Eo,py,ec,fy,Wp,hy,jg,uy,V2,Kg,Sy,Ea=S(()=>{"use strict";H();Td();Dr();Eo=globalThis,ec=(py=Eo.__reticleStores)!=null?py:Eo.__reticleStores=new Map,Wp=(fy=Eo.__reticleStoreSubs)!=null?fy:Eo.__reticleStoreSubs=new Map,jg=(hy=Eo.__reticleStoreListeners)!=null?hy:Eo.__reticleStoreListeners=new Set;uy=new Set,V2=new Set([ap]);Kg=new WeakMap,Sy=new WeakMap});function Ay(){return typeof document=="undefined"?[]:sy(document)}function yy(){return ai().filter(t=>ap!==t)}function Xp(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function W2(){return{testids:[],signals:[],stores:[],flows:[]}}function Yg(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function qp(t){Yp=t}function tc(t){if(Yg(sn.testids,t.testids),Yg(sn.signals,t.signals),Yg(sn.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=sn.flows.find(r=>r.name===e.name);n===void 0?sn.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}Yp==null||Yp()}function si(){return{testids:Xp(sn.testids,Ay()),signals:[...sn.signals],stores:Xp(sn.stores,yy()),flows:sn.flows.map(t=>({name:t.name,steps:[...t.steps]})),...lA()?{presenterExposed:!0}:{}}}function vy(){return[...sn.testids]}function Zp(){return sn.signals.length>0||sn.flows.length>0||Xp(sn.testids,Ay()).length>0||Xp(sn.stores,yy()).length>0}var zg,xy,sn,Yp,ci=S(()=>{"use strict";H();at();cy();Ea();zg=globalThis;sn=(xy=zg.__reticleCapabilities)!=null?xy:zg.__reticleCapabilities=W2()});function Ny(t){nc.some(e=>e.name===t.name)||nc.push(t)}function $r(t){for(let e of nc){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function Qp(t){for(let e of nc){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function Jp(t){for(let e of nc)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function _d(){return nc.map(t=>t.name)}var Xg,Ry,nc,li=S(()=>{"use strict";Xg=globalThis,nc=(Ry=Xg.__reticleAdapters)!=null?Ry:Xg.__reticleAdapters=[]});function rf(){return Jg>0}function We(t){Jg+=1;try{return t()}finally{Jg-=1}}var Jg,rc=S(()=>{"use strict";Jg=0});var Gn,Vy,rE,jy,Wy,Ky,af,ee,Te,zy,Yy,Xy,di,qy,lt=S(()=>{"use strict";Gn=globalThis,Vy=typeof Gn.setTimeout=="function"?Gn.setTimeout.bind(Gn):null,rE=typeof Gn.clearTimeout=="function"?Gn.clearTimeout.bind(Gn):null,jy=typeof Gn.requestAnimationFrame=="function"?Gn.requestAnimationFrame.bind(Gn):null,Ky=typeof((Wy=Gn.performance)==null?void 0:Wy.now)=="function"?Gn.performance.now.bind(Gn.performance):null,af=()=>Ky?Ky():0,ee=(t,e=0)=>Vy?Vy(t,e):0,Te=t=>{rE==null||rE(t)},zy=(t,e)=>{let n=!1,r=0,o=()=>{n||(t(),!n&&(r=ee(o,e)))};return r=ee(o,e),()=>{n=!0,Te(r)}},Yy=200,Xy=(t=Yy)=>new Promise(e=>{let n=!1,r=a=>{n||(n=!0,Te(o),e({settled:a}))},o=ee(()=>r(!1),t);jy?jy(()=>r(!0)):ee(()=>r(!0),0)}),di=()=>Xy().then(()=>{}),qy=async(t=Yy)=>(await Promise.resolve(),Xy(t))});var Vv={};bs(Vv,{MASK:()=>Gv,cloneForRender:()=>Bv,renderPage:()=>UP});function kP(t){var e;return t instanceof HTMLInputElement&&t.type==="password"?!0:[t.name,t.id,(e=t.getAttribute("autocomplete"))!=null?e:""].some(n=>n.length>0&&tt(n))}function DP(t,e){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){let n=kP(t)&&t.value.length>0?Gv:t.value;t instanceof HTMLTextAreaElement?e.textContent=n:e.setAttribute("value",n)}t instanceof HTMLInputElement&&(t.checked?e.setAttribute("checked",""):e.removeAttribute("checked")),t instanceof HTMLOptionElement&&(t.selected?e.setAttribute("selected",""):e.removeAttribute("selected"))}function MP(t){var r;let e=[...Array.from(t.styleSheets),...(r=t.adoptedStyleSheets)!=null?r:[]],n=[];for(let o of e)try{for(let a of Array.from(o.cssRules))n.push(a.cssText)}catch{}return n.join(`
|
|
2
|
+
`)}function Bv(t){var l;let e=t.documentElement,n=e.cloneNode(!0),r=e.querySelectorAll("*"),o=n.querySelectorAll("*");r.forEach((d,u)=>{let p=o[u];p!==void 0&&DP(d,p)});let a=[ti,"script","noscript",'link[rel~="stylesheet"]',"style"];n.querySelectorAll(a.join(",")).forEach(d=>d.remove());let s=t.createElement("style");return s.textContent=MP(t),((l=n.querySelector("head"))!=null?l:n).append(s),n}function $P(t){let e=t.defaultView;for(let n of[t.body,t.documentElement]){if(e===null||n===null)continue;let r=e.getComputedStyle(n).backgroundColor;if(r.length>0&&r!=="transparent"&&r!=="rgba(0, 0, 0, 0)")return r}return IP}function PP(t){return new Promise((e,n)=>{let r=new Image,o=setTimeout(()=>n(new Error("the page did not render in time")),wP);r.onload=()=>{clearTimeout(o),e(r)},r.onerror=()=>{clearTimeout(o),n(new Error("the page could not be drawn as an image"))},r.src=t})}function HP(t){let e=[];for(let n=0;n<t.length;n+=Fv)e.push(t.slice(n,n+Fv));return e}async function UP(){try{let t=Math.max(1,window.innerWidth),e=Math.max(1,window.innerHeight),n=Bv(document);n.style.transform=`translate(${String(-window.scrollX)}px, ${String(-window.scrollY)}px)`;let r=new XMLSerializer().serializeToString(n),o=`<svg xmlns="${OP}" width="${String(t)}" height="${String(e)}"><foreignObject x="0" y="0" width="100%" height="100%">${r}</foreignObject></svg>`,a=await PP(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(o)}`),s=$P(document),l=Math.min(1,wm.MAX_SIDE_PX/Math.max(t,e));for(let d=0;d<NP;d+=1,l*=RP){let u=document.createElement("canvas");u.width=Math.max(1,Math.round(t*l)),u.height=Math.max(1,Math.round(e*l));let p=u.getContext("2d");if(p===null)return{ok:!1,reason:"this page has no 2D canvas to draw into"};p.fillStyle=s,p.fillRect(0,0,u.width,u.height),p.drawImage(a,0,0,u.width,u.height);let f=u.toDataURL(CP,wm.JPEG_QUALITY).replace(LP,"");if(f.length<=vP)return{ok:!0,width:u.width,height:u.height,chunks:HP(f)}}return{ok:!1,reason:"the rendered page was too large to send, even scaled down"}}catch(t){return{ok:!1,reason:t instanceof Error?t.message:String(t)}}}var Gv,vP,Fv,RP,NP,wP,OP,IP,CP,LP,jv=S(()=>{"use strict";H();at();Gv="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",vP=24e4,Fv=6e4,RP=.75,NP=4,wP=5e3,OP="http://www.w3.org/2000/svg",IP="#ffffff",CP="image/jpeg",LP=/^data:[^,]*,/});function Af(t,e){return`${nA}${t}. ${String(e)} attempts, all failed. That is everything the page can see: from inside the browser it cannot tell a daemon that is not there from one it is not allowed to reach, so this is not evidence about the daemon. What answers it: run \`npx @reticlehq/server status\` to see whether one is listening and on which port. If your app runs in a container, devcontainer or WSL, the daemon is on a different host, so point the page at it: RETICLE_PORT or reticle({ port }) with the Vite plugin, reticle.connect({ url }) by hand. An https page cannot open a ws:// socket. Still retrying\u2026`}var Jv,TE=S(()=>{"use strict";H();Jv="Can't reach Reticle from this page. Run reticle status to check, or reticle serve to start it."});var Fe,Tn,ln,CE=S(()=>{"use strict";Fe={READ:"read",ACT:"act",NARRATION:"narration",HUMAN:"human"},Tn={PASS:"pass",FAIL:"fail"},ln={AGENT:"agent",HARNESS:"harness"}});function $d(t){switch(t){case k.CLICK:case k.DBLCLICK:return"Clicking";case k.FILL:case k.TYPE:return"Typing into";case k.HOVER:return"Hovering";case k.SELECT:return"Selecting";case k.SUBMIT:return"Submitting";case k.CHECK:case k.UNCHECK:return"Toggling";case k.UPLOAD:return"Uploading to";case k.DRAG:return"Dragging";default:return t}}var LE=S(()=>{"use strict";H()});function Ao(t){return typeof t=="string"&&t.length>0}function WH(t){var n;return`${(n=t.file.split("/").pop())!=null?n:t.file}:${t.line}`}function IN(t){var e;if(Ao(t.testid))return{strategy:lr.TESTID,value:t.testid,stable:!0};if(Ao(t.component)&&t.source!==void 0)return{strategy:lr.COMPONENT,value:`${t.component}@${WH(t.source)}`,stable:!0};if(Ao(t.component)&&(Ao(t.role)||Ao(t.name))){let n=Ao(t.name)?t.name:t.role;return{strategy:lr.COMPONENT,value:`${t.component}[${n!=null?n:""}]`,stable:!0}}if(Ao(t.role)&&Ao(t.name))return{strategy:lr.ROLE,value:`${t.role}:${t.name}`,stable:!1};if(Ao(t.role)){let n=t.nth!==void 0?`#${t.nth}`:"";return{strategy:lr.ROLE,value:`${t.role}${n}`,stable:!1}}return{strategy:lr.POSITION,value:`el#${(e=t.nth)!=null?e:0}`,stable:!1}}var lr,CN=S(()=>{"use strict";lr={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"}});function YH(t,e,n){return n.length>0?e.length>0?`${e} "${n}"`:`"${n}"`:e.length>0?e:t.tagName.toLowerCase()}function Gd(t){var p;let e=(p=Pe(t))!=null?p:void 0,n=$r(t),r=n==null?void 0:n.componentStack[0],o=Up(t,n==null?void 0:n.source),a=xe(t),s=Ne(t),l={};e!==void 0&&(l.testid=e),r!==void 0&&(l.component=r),o!==void 0&&(l.source=o),a.length>0&&(l.role=a),s.length>0&&(l.name=s);let d=IN(l),u={anchor:d.value,strategy:zH[d.strategy],label:YH(t,a,s)};return o!==void 0&&(u.source=o),u}var zH,PE=S(()=>{"use strict";on();H();CN();Bt();li();hd();zH={[lr.TESTID]:da.TESTID,[lr.COMPONENT]:da.COMPONENT,[lr.ROLE]:da.ROLE,[lr.POSITION]:da.POSITION}});function LN(t){return`${String(t)} ${t===1?"note":"notes"} on this page`}function If(t,e){let n=t.length,r=`I marked ${String(n)} ${n===1?"issue":"issues"} on ${e} with Reticle. Fix each one, then verify it in the running app:`,o=t.map((a,s)=>{let l=a.source===void 0?a.anchor:`${a.anchor}, ${a.source}`;return`${String(s+1)}. ${a.note}
|
|
3
|
+
${a.label} (${l}) on ${a.route}`});return[r,"",...o].join(`
|
|
4
|
+
`)}var HE=S(()=>{"use strict"});var Cf,ge,UE,MN,$N,PN,kN,HN,UN,FN=S(()=>{"use strict";Cf="data-reticle-mark",ge=t=>`[${Cf}="${t}"]`,UE="What should change?",MN="Add",$N="Cancel",PN="+",kN=2147483601,HN=`
|
|
5
|
+
${ge("root")}{position:fixed;inset:0;pointer-events:none;z-index:${String(kN)};}
|
|
6
|
+
${ge("root")}[data-hide="1"] ${ge("pin")}{display:none;}
|
|
6
7
|
html[data-reticle-mark-active] *{cursor:crosshair !important;}
|
|
7
8
|
html[data-reticle-mark-active] [data-reticle-overlay],
|
|
8
9
|
html[data-reticle-mark-active] [data-reticle-overlay] *,
|
|
9
|
-
html[data-reticle-mark-active] ${
|
|
10
|
-
html[data-reticle-mark-active] ${
|
|
11
|
-
html[data-reticle-mark-active] ${
|
|
12
|
-
html[data-reticle-mark-active] ${
|
|
13
|
-
${
|
|
10
|
+
html[data-reticle-mark-active] ${ge("pop")},
|
|
11
|
+
html[data-reticle-mark-active] ${ge("pop")} *,
|
|
12
|
+
html[data-reticle-mark-active] ${ge("pin")},
|
|
13
|
+
html[data-reticle-mark-active] ${ge("pending")}{cursor:pointer !important;}
|
|
14
|
+
${ge("hi")}{position:fixed;pointer-events:none;opacity:0;box-sizing:border-box;
|
|
14
15
|
border:2px solid color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 50%, transparent);
|
|
15
16
|
border-radius:4px;background:color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 4%, transparent);}
|
|
16
|
-
${
|
|
17
|
-
${
|
|
17
|
+
${ge("hi")}[data-on="1"]{opacity:1;animation:reticle-mark-hi-in .12s ease-out;}
|
|
18
|
+
${ge("hilabel")}{position:absolute;top:-28px;left:0;font:500 11px/1.2 system-ui,sans-serif;color:#fff;
|
|
18
19
|
background:rgba(0,0,0,.85);padding:.35rem .6rem;border-radius:.375rem;white-space:nowrap;
|
|
19
20
|
max-width:280px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
|
|
20
|
-
${
|
|
21
|
+
${ge("sel")}{position:fixed;pointer-events:none;box-sizing:border-box;border-radius:4px;
|
|
21
22
|
border:2px solid color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 60%, transparent);
|
|
22
23
|
background:color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 5%, transparent);}
|
|
23
|
-
${
|
|
24
|
+
${ge("pin")},${ge("pending")}{position:fixed;pointer-events:auto;width:22px;height:22px;
|
|
24
25
|
margin:0;border:none;border-radius:50%;background:var(--reticle-mark-accent, #0088ff);color:#fff;
|
|
25
26
|
font:600 11px/22px system-ui,sans-serif;text-align:center;cursor:pointer;
|
|
26
27
|
box-shadow:0 2px 6px rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.04);
|
|
27
28
|
transform:translate(-50%,-50%);user-select:none;z-index:1;}
|
|
28
|
-
${
|
|
29
|
-
${
|
|
30
|
-
${
|
|
31
|
-
${
|
|
29
|
+
${ge("pin")}:hover{transform:translate(-50%,-50%) scale(1.1);z-index:2;}
|
|
30
|
+
${ge("pin")}[data-stale="1"]{opacity:.45;}
|
|
31
|
+
${ge("pending")}{cursor:default;}
|
|
32
|
+
${ge("tip")}{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.909);
|
|
32
33
|
background:#1a1a1a;color:#fff;padding:8px 12px;border-radius:12px;min-width:120px;max-width:200px;
|
|
33
34
|
box-shadow:0 4px 20px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);pointer-events:none;text-align:left;
|
|
34
35
|
font:400 13px/1.4 system-ui,sans-serif;display:none;z-index:3;}
|
|
35
|
-
${
|
|
36
|
-
${
|
|
36
|
+
${ge("pin")}:hover ${ge("tip")}{display:block;}
|
|
37
|
+
${ge("tipq")}{display:block;font-size:12px;font-style:italic;color:rgba(255,255,255,.6);
|
|
37
38
|
margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
38
|
-
${
|
|
39
|
-
${
|
|
40
|
-
background:#1a1a1a;border-radius:16px;color:#fff;z-index:${String(
|
|
39
|
+
${ge("tipn")}{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
40
|
+
${ge("pop")}{position:fixed;pointer-events:auto;width:280px;box-sizing:border-box;padding:12px 16px 14px;
|
|
41
|
+
background:#1a1a1a;border-radius:16px;color:#fff;z-index:${String(kN+8)};
|
|
41
42
|
box-shadow:0 4px 24px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);
|
|
42
43
|
font:13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;transform:translateX(-50%);opacity:0;}
|
|
43
|
-
${
|
|
44
|
-
${
|
|
45
|
-
${
|
|
44
|
+
${ge("pop")}[data-in="1"]{opacity:1;animation:reticle-mark-pop-in .2s cubic-bezier(.34,1.56,.64,1) forwards;}
|
|
45
|
+
${ge("pop")}.reticle-mark-shake{animation:reticle-mark-shake .25s ease-out;}
|
|
46
|
+
${ge("pop")} .reticle-mark-where{font-size:12px;font-weight:400;color:rgba(255,255,255,.5);
|
|
46
47
|
margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
47
|
-
${
|
|
48
|
+
${ge("pop")} textarea{box-sizing:border-box;width:100%;min-height:52px;resize:none;padding:8px 10px;
|
|
48
49
|
font:13px/1.45 inherit;background:rgba(255,255,255,.05);color:#fff;
|
|
49
50
|
border:1px solid rgba(255,255,255,.15);border-radius:8px;outline:none;}
|
|
50
|
-
${
|
|
51
|
-
${
|
|
52
|
-
${
|
|
53
|
-
${
|
|
51
|
+
${ge("pop")} textarea:focus{border-color:var(--reticle-mark-accent, #0088ff);}
|
|
52
|
+
${ge("pop")} textarea::placeholder{color:rgba(255,255,255,.35);}
|
|
53
|
+
${ge("pop")} .reticle-mark-row{display:flex;justify-content:flex-end;gap:6px;margin-top:8px;}
|
|
54
|
+
${ge("pop")} button{font:500 12px/1 system-ui,sans-serif;padding:.4rem .875rem;border-radius:1rem;
|
|
54
55
|
border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.5);}
|
|
55
|
-
${
|
|
56
|
-
${
|
|
57
|
-
${
|
|
56
|
+
${ge("pop")} button:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);}
|
|
57
|
+
${ge("pop")} button[data-send]{background:var(--reticle-mark-accent, #0088ff);color:#fff;}
|
|
58
|
+
${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
58
59
|
@keyframes reticle-mark-hi-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
|
|
59
60
|
@keyframes reticle-mark-pop-in{from{opacity:0;transform:translateX(-50%) scale(.95) translateY(4px)}
|
|
60
61
|
to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}
|
|
@@ -64,19 +65,23 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
64
65
|
40%{transform:translateX(calc(-50% + 3px))}
|
|
65
66
|
60%{transform:translateX(calc(-50% - 2px))}
|
|
66
67
|
80%{transform:translateX(calc(-50% + 2px))}}
|
|
67
|
-
`,
|
|
68
|
-
<textarea rows="2" placeholder="${
|
|
68
|
+
`,UN=`<div ${Cf}="hi"><span ${Cf}="hilabel"></span></div><div ${Cf}="sel" hidden></div>`});function VN(t){return t.source===void 0?void 0:`${t.source.file}:${String(t.source.line)}`}function kf(){return typeof location=="undefined"?"":location.pathname+location.search}function ZH(t){return Gd(t).anchor}function QH(t){if(t===void 0||typeof getComputedStyle=="undefined")return!1;let e=getComputedStyle(t).position;return e==="fixed"||e==="sticky"}function KN(t,e){let n=document.elementsFromPoint.bind(document);if(n!==void 0){for(let r of n(t,e))if(!Gs(r))return r}}function WN(t,e){let n=window.innerWidth,r=window.innerHeight,o=Math.min(Math.max(t,Lf+GN/2),n-Lf-GN/2),a=e+12;return a+BN>r-Lf&&(a=Math.max(Lf,e-BN-12)),{left:o,top:a}}function JH(t){var a;let e=Pe(t);if(e!==null&&e.length>0)return e;let n=t.tagName.toLowerCase(),r=t.getAttribute("aria-label");if(r!==null&&r.length>0)return`${n} "${r}"`;let o=((a=t.textContent)!=null?a:"").trim().replace(/\s+/g," ").slice(0,40);return o.length>0?`${n} "${o}"`:n}function rw(t){let e=new Da(t);return e.mount(),e}var XH,qH,GN,BN,Lf,Ur,FE,yo,Sc,_c,Vd,jd,Kd,_n,xn,xc,va,dn,Ra,Vn,vo,jn,mt,Ti,Na,Ro,No,wa,Oa,Wd,zd,Ia,Ac,yc,Ca,$,zN,Tc,YN,XN,qN,ZN,Df,GE,BE,QN,VE,La,ka,JN,jE,KE,ew,WE,zE,tw,Bd,YE,nw,dr,Da,jN,XE=S(()=>{"use strict";on();rc();H();at();PE();HE();lt();FN();XH=130,qH=250,GN=280,BN=170,Lf=8,Ur="data-reticle-mark",FE="data-reticle-mark-active",yo=t=>`[${Ur}="${t}"]`,Da=class{constructor(e){b(this,$);b(this,Sc);b(this,_c);b(this,Vd);b(this,jd);b(this,Kd);b(this,_n);b(this,xn);b(this,xc);b(this,va);b(this,dn);b(this,Ra);b(this,Vn);b(this,vo);b(this,jn,!1);b(this,mt,[]);b(this,Ti);b(this,Na);b(this,Ro);b(this,No);b(this,wa);b(this,Oa);b(this,Wd);b(this,zd);b(this,Ia);b(this,Ac);b(this,yc);b(this,Ca);b(this,La);b(this,ka,{x:0,y:0});var n;h(this,Sc,e.emit),h(this,_c,e.now),h(this,Vd,e.onMark),h(this,jd,(n=e.shouldBlock)!=null?n:(()=>!0)),h(this,Kd,e.onCountChange)}get active(){return c(this,jn)}get markCount(){return c(this,mt).length}annotations(){return c(this,mt).map(({id:e,createdAt:n,note:r,label:o,anchor:a,route:s,source:l})=>({id:e,createdAt:n,note:r,label:o,anchor:a,route:s,...l===void 0?{}:{source:l}}))}mount(){var o,a,s;if(c(this,_n)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute(Ur,"style"),e.textContent=HN,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute(Ur,"root"),n.innerHTML=UN,document.body.appendChild(n),h(this,_n,n),h(this,xn,(o=n.querySelector(yo("hi")))!=null?o:void 0),h(this,xc,(a=n.querySelector(yo("hilabel")))!=null?a:void 0),h(this,va,(s=n.querySelector(yo("sel")))!=null?s:void 0);let r=new AbortController;h(this,yc,r),document.addEventListener("click",l=>E(this,$,XN).call(this,l),{capture:!0,signal:r.signal}),document.addEventListener("mousemove",l=>E(this,$,qN).call(this,l),{passive:!0,capture:!0,signal:r.signal}),document.addEventListener("keydown",l=>E(this,$,YN).call(this,l),{signal:r.signal}),window.addEventListener("scroll",()=>E(this,$,YE).call(this),{capture:!0,signal:r.signal}),window.addEventListener("resize",()=>E(this,$,YE).call(this),{signal:r.signal}),h(this,Ca,new MutationObserver(()=>this.syncAnchors())),c(this,Ca).observe(document.documentElement,{childList:!0,subtree:!0}),c(this,Ac)!==void 0&&this.setAccent(c(this,Ac))}setAccent(e){var n;h(this,Ac,e),(n=c(this,_n))==null||n.style.setProperty("--reticle-mark-accent",e)}attachChrome(e){var n,r;h(this,No,e.markersBtn),h(this,wa,e.clearBtn),h(this,Oa,e.copyRow),h(this,Wd,e.onCount),h(this,zd,e.onMarksChange),h(this,Ia,e.countEl),(n=c(this,No))==null||n.addEventListener("click",o=>{o.stopPropagation(),E(this,$,zN).call(this)}),(r=c(this,wa))==null||r.addEventListener("click",o=>{o.stopPropagation(),this.clearAll()}),E(this,$,Tc).call(this)}destroy(){var e,n,r;(e=c(this,yc))==null||e.abort(),h(this,yc,void 0),(n=c(this,Ca))==null||n.disconnect(),h(this,Ca,void 0),c(this,Vn)!==void 0&&Te(c(this,Vn)),c(this,vo)!==void 0&&Te(c(this,vo)),E(this,$,dr).call(this),document.documentElement.removeAttribute(FE),(r=c(this,_n))==null||r.remove(),document.querySelectorAll(`style[${Ur}="style"]`).forEach(o=>o.remove()),h(this,_n,void 0),h(this,jn,!1),h(this,mt,[])}toggle(e){h(this,jn,e!=null?e:!c(this,jn)),c(this,jn)?document.documentElement.setAttribute(FE,"1"):(document.documentElement.removeAttribute(FE),E(this,$,Df).call(this),E(this,$,dr).call(this)),E(this,$,Tc).call(this)}agentPrompt(e){return If(c(this,mt),e)}clearAll(){E(this,$,dr).call(this);for(let e of c(this,mt))e.pin.remove();h(this,mt,[]),E(this,$,Tc).call(this)}syncAnchors(){let e=kf();for(let n of c(this,mt))n.target!==void 0&&document.contains(n.target)?n.pin.removeAttribute("data-stale"):(n.target=void 0,n.pin.setAttribute("data-stale","1")),n.pin.hidden=n.route!==e;E(this,$,Bd).call(this)}};Sc=new WeakMap,_c=new WeakMap,Vd=new WeakMap,jd=new WeakMap,Kd=new WeakMap,_n=new WeakMap,xn=new WeakMap,xc=new WeakMap,va=new WeakMap,dn=new WeakMap,Ra=new WeakMap,Vn=new WeakMap,vo=new WeakMap,jn=new WeakMap,mt=new WeakMap,Ti=new WeakMap,Na=new WeakMap,Ro=new WeakMap,No=new WeakMap,wa=new WeakMap,Oa=new WeakMap,Wd=new WeakMap,zd=new WeakMap,Ia=new WeakMap,Ac=new WeakMap,yc=new WeakMap,Ca=new WeakMap,$=new WeakSet,zN=function(){var r,o;let e=c(this,_n);if(e===void 0)return;let n=e.getAttribute("data-hide")==="1"?"0":"1";n==="1"?e.setAttribute("data-hide","1"):e.removeAttribute("data-hide"),(r=c(this,No))==null||r.setAttribute("data-active",n==="0"?"0":"1"),(o=c(this,No))==null||o.setAttribute("aria-pressed",n==="1"?"true":"false")},Tc=function(){var n,r,o,a,s;let e=c(this,mt).length;if((n=c(this,Kd))==null||n.call(this,e),c(this,Ia)!==void 0&&(c(this,Ia).textContent=String(e),c(this,Ia).hidden=e===0),(r=c(this,wa))==null||r.toggleAttribute("disabled",e===0),(o=c(this,Wd))==null||o.call(this,e),(a=c(this,zd))==null||a.call(this,this.annotations()),c(this,Oa)!==void 0){c(this,Oa).hidden=e===0;let l=c(this,Oa).querySelector("[data-reticle-marks-text]");l!==null&&(l.textContent=LN(e))}(s=c(this,No))==null||s.toggleAttribute("disabled",e===0)},YN=function(e){if(!(e.key!=="Escape"||!c(this,jn))){if(c(this,dn)!==void 0){e.preventDefault(),E(this,$,dr).call(this);return}this.toggle(!1)}},XN=function(e){var l,d;if(!c(this,jn)||rf())return;let n=e.target;if(!(n instanceof Element))return;let r=n.hasAttribute(jN)?KN(e.clientX,e.clientY):n;if(r===void 0||ht(r)||((l=c(this,No))==null?void 0:l.contains(r))===!0||((d=c(this,wa))==null?void 0:d.contains(r))===!0||r.closest(yo("pin"))!==null||r.closest(yo("pop"))!==null)return;if(c(this,dn)!==void 0){e.preventDefault(),e.stopPropagation(),E(this,$,KE).call(this);return}let o=r instanceof HTMLElement?r:r.parentElement;if(o===null)return;c(this,jd).call(this)?(e.preventDefault(),e.stopPropagation()):e.preventDefault();let a=ZH(o),s=c(this,mt).find(u=>u.anchor===a&&u.route===kf());if(s!==void 0){E(this,$,GE).call(this,s);return}E(this,$,QN).call(this,o,e.clientX,e.clientY)},qN=function(e){c(this,Vn)!==void 0&&Te(c(this,Vn)),h(this,Vn,ee(()=>{h(this,Vn,void 0),E(this,$,ZN).call(this,e)},XH))},ZN=function(e){if(c(this,xn)===void 0)return;let n=e.target,r=n instanceof Element&&n.hasAttribute(jN)?KN(e.clientX,e.clientY):n;if(!c(this,jn)||c(this,dn)!==void 0||!(r instanceof Element)||ht(r)||r.closest(yo("pin"))!==null){c(this,xn).setAttribute("data-on","0");return}let a=r.getBoundingClientRect();if(a.width===0&&a.height===0){c(this,xn).setAttribute("data-on","0");return}c(this,xn).style.left=`${String(a.left)}px`,c(this,xn).style.top=`${String(a.top)}px`,c(this,xn).style.width=`${String(a.width)}px`,c(this,xn).style.height=`${String(a.height)}px`,c(this,xn).setAttribute("data-on","1"),c(this,xc)!==void 0&&(c(this,xc).textContent=JH(r))},Df=function(){var e;c(this,Vn)!==void 0&&(Te(c(this,Vn)),h(this,Vn,void 0)),(e=c(this,xn))==null||e.setAttribute("data-on","0")},GE=function(e){E(this,$,dr).call(this),h(this,Ti,e),h(this,Na,e.anchor),h(this,Ro,e.target),E(this,$,Df).call(this);let n=E(this,$,BE).call(this,e);E(this,$,VE).call(this,e.label,n.x,n.y,e.note),E(this,$,zE).call(this,n.x,n.y),E(this,$,Bd).call(this)},BE=function(e){let n=e.target;if(n!==void 0&&n.isConnected){let r=n.getBoundingClientRect();if(r.width>0||r.height>0)return{x:r.left+r.width/2,y:r.top+r.height/2}}return{x:e.clientX,y:e.isFixed?e.clientY:e.yDoc-window.scrollY}},QN=function(e,n,r){let o=Gd(e),a=o.anchor;if(c(this,Na)===a&&c(this,dn)!==void 0){E(this,$,KE).call(this);return}E(this,$,dr).call(this),E(this,$,Df).call(this),h(this,Ti,void 0),h(this,Na,a),h(this,Ro,e);let s=o.source!==void 0?`${o.label} \xB7 ${o.source.file}:${String(o.source.line)}`:o.label;E(this,$,VE).call(this,s,n,r,""),E(this,$,zE).call(this,n,r),E(this,$,Bd).call(this),E(this,$,JN).call(this,o,n,r)},VE=function(e,n,r,o){var p,f;let a=document.createElement("div");a.setAttribute(Ur,"pop"),a.setAttribute("role","dialog"),a.setAttribute("aria-label",UE),a.innerHTML=`<div class="reticle-mark-where"></div>
|
|
69
|
+
<textarea rows="2" placeholder="${UE}"></textarea>
|
|
69
70
|
<div class="reticle-mark-row">
|
|
70
|
-
<button type="button" data-cancel data-reticle-mark-cancel>${
|
|
71
|
-
<button type="button" data-send data-reticle-mark-send disabled>${
|
|
72
|
-
</div>`;let a=s.querySelector(".reticle-mark-where");a!==null&&(a.textContent=e);let l=Zx(n,r);s.style.left=`${String(l.left)}px`,s.style.top=`${String(l.top)}px`,c(this,$t)?.appendChild(s),p(this,It,s),requestAnimationFrame(()=>s.setAttribute("data-in","1"));let d=s.querySelector("textarea"),u=s.querySelector("button[data-send]");d!==null&&(d.value=i,u!==null&&(u.disabled=d.value.trim().length===0),d.addEventListener("input",()=>{u!==null&&(u.disabled=d.value.trim().length===0)}),d.addEventListener("keydown",f=>{f.stopPropagation(),!f.isComposing&&(f.key==="Escape"?(f.preventDefault(),h(this,w,vn).call(this)):f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),h(this,w,Nh).call(this)))}),z(()=>d.focus(),50)),s.querySelector("button[data-cancel]")?.addEventListener("click",()=>h(this,w,vn).call(this)),u?.addEventListener("click",()=>h(this,w,Nh).call(this)),p(this,_i,void 0),p(this,Si,{x:n,y:r})},_i=new WeakMap,Si=new WeakMap,oA=function(e,n,r){p(this,_i,e),p(this,Si,{x:n,y:r})},Nh=function(){let e=c(this,It)?.querySelector("textarea")?.value.trim()??"";if(e.length===0)return;let n=c(this,mo);if(n!==void 0){n.note=e;let i=n.pin.querySelector(vr("tipn"));i!==null&&(i.textContent=e),c(this,qs).call(this,b.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),h(this,w,wh).call(this,e,n.anchor,n.label,c(this,ot).indexOf(n)+1,n.source),h(this,w,vn).call(this);return}let r=c(this,_i);r!==void 0&&(h(this,w,iA).call(this,e,r,c(this,Si).x,c(this,Si).y),h(this,w,vn).call(this))},Oh=function(){let e=c(this,It);e!==void 0&&(e.classList.remove("reticle-mark-shake"),e.offsetWidth,e.classList.add("reticle-mark-shake"),c(this,Nr)!==void 0&&pe(c(this,Nr)),p(this,Nr,z(()=>{e.classList.remove("reticle-mark-shake"),p(this,Nr,void 0)},Lk)))},iA=function(e,n,r,i){let s={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:pu()};n.source!==void 0&&(s.source=n.source),c(this,qs).call(this,b.HUMAN_MARK,s),c(this,Xs).call(this),h(this,w,sA).call(this,n,e,r,i),h(this,w,wh).call(this,e,n.anchor,n.label,c(this,ot).length,Yx(n))},wh=function(e,n,r,i,s){var l;let a={note:e,anchor:n,label:r,index:i};s!==void 0&&(a.source=s),(l=c(this,Vc))==null||l.call(this,a)},Ch=function(e,n){c(this,hi)?.remove();let r=document.createElement("div");r.setAttribute(Yn,"pending"),r.textContent=Gx,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,c(this,$t)?.appendChild(r),p(this,hi,r)},sA=function(e,n,r,i){if(c(this,$t)===void 0)return;let s=document.createElement("button");s.type="button",s.setAttribute(Yn,"pin"),s.setAttribute("aria-label",e.label);let a=c(this,ot).length+1;s.innerHTML=`<span>${String(a)}</span><span ${Yn}="tip"><span ${Yn}="tipq"></span><span ${Yn}="tipn"></span></span>`;let l=s.querySelector(vr("tipq")),d=s.querySelector(vr("tipn"));l!==null&&(l.textContent=e.label),d!==null&&(d.textContent=n);let u=Dk(c(this,Or)),f=u?i:i+window.scrollY;s.style.left=`${String(r/window.innerWidth*100)}%`,s.style.top=`${String(u?i:f-window.scrollY)}px`,c(this,$t).appendChild(s);let g={id:`${e.anchor}:${String(c(this,Xs).call(this))}:${String(a)}`,note:n,label:e.label,anchor:e.anchor,route:pu(),xPct:r/window.innerWidth*100,yDoc:f,clientX:r,clientY:i,isFixed:u,pin:s,target:c(this,Or),source:Yx(e)};s.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),c(this,sn)&&h(this,w,yh).call(this,g)}),c(this,ot).push(g),h(this,w,Gc).call(this)},jc=function(){let e=c(this,fi);if(e===void 0)return;let n=c(this,Or);if(n===void 0||!document.contains(n)||c(this,It)===void 0){e.hidden=!0;return}let r=n.getBoundingClientRect();e.hidden=!1,e.style.left=`${String(r.left)}px`,e.style.top=`${String(r.top)}px`,e.style.width=`${String(r.width)}px`,e.style.height=`${String(r.height)}px`},Ih=function(){for(let e of c(this,ot)){if(e.isFixed){e.pin.style.top=`${String(e.clientY)}px`;continue}e.pin.style.top=`${String(e.yDoc-window.scrollY)}px`}h(this,w,aA).call(this),h(this,w,jc).call(this)},aA=function(){let e=c(this,It),n=c(this,mo);if(e===void 0||n===void 0)return;let r=h(this,w,Rh).call(this,n),i=Zx(r.x,r.y);e.style.left=`${String(i.left)}px`,e.style.top=`${String(i.top)}px`},vn=function(){c(this,It)?.remove(),p(this,It,void 0),c(this,hi)?.remove(),p(this,hi,void 0),p(this,mi,void 0),p(this,Or,void 0),p(this,_i,void 0),p(this,mo,void 0),c(this,fi)!==void 0&&(c(this,fi).hidden=!0)};qx="data-reticle-blocker"});var Pk,hu,$k,lA,dA=T(()=>{"use strict";Pk={view:'<g><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0"/><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7s-8.268-2.943-9.542-7"/></g>',pointer:'<path d="M15.042 21.672L13.684 16.6m0 0l-2.51 2.225l.569-9.47l5.227 7.917l-3.286-.672ZM12 2.25V4.5m5.834.166l-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243l-1.59-1.59"/>',send:'<path d="M6 12 3.269 3.126A59.768 59.768 0 0 1 21.485 12 59.77 59.77 0 0 1 3.27 20.876L5.999 12Zm0 0h7.5"/>',chart:'<path d="M9 19v-6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v10m-6 0a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2"/>',"caret-down":'<path d="m19 9l-7 7l-7-7"/>',check:'<path d="m5 13l4 4L19 7"/>',remove:'<path d="m4.5 19.5l15-15m-15 0l15 15"/>',pause:'<path d="M10 9v6m4-6v6m7-3a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',play:'<g><path d="m14.752 11.168l-3.197-2.132A1 1 0 0 0 10 9.87v4.263a1 1 0 0 0 1.555.832l3.197-2.132a1 1 0 0 0 0-1.664"/><path d="M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/></g>',stop:'<g><path d="M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/><path d="M9 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></g>',copy:'<path d="M8 7v8a2 2 0 0 0 2 2h6M8 7V5a2 2 0 0 1 2-2h4.586a1 1 0 0 1 .707.293l4.414 4.414a1 1 0 0 1 .293.707V15a2 2 0 0 1-2 2h-2M8 7H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"/>',download:'<path d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/>',message:'<path d="M8.625 9.75a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227c1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332a48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z"/>',gear:'<g><path d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87c.074.04.147.083.22.127c.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 0 1 0 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124c.072-.044.146-.087.22-.128c.332-.183.582-.495.644-.869l.214-1.281Z"/><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0Z"/></g>',layout:'<path d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"/>',trash:'<path d="m19 7l-.867 12.142A2 2 0 0 1 16.138 21H7.862a2 2 0 0 1-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3M4 7h16"/>',help:'<path d="M8.228 9c.549-1.165 2.03-2 3.772-2c2.21 0 4 1.343 4 3c0 1.4-1.278 2.575-3.006 2.907c-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',"caret-right":'<path d="m9 5l7 7l-7 7"/>',annotate:'<path d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"/>',sync:'<path d="M4.5 12c0-1.232.046-2.453.138-3.662a4.006 4.006 0 0 1 3.7-3.7a48.678 48.678 0 0 1 7.324 0a4.006 4.006 0 0 1 3.7 3.7c.017.22.032.441.046.662M4.5 12l-3-3m3 3l3-3m12 3c0 1.232-.046 2.453-.138 3.662a4.006 4.006 0 0 1-3.7 3.7a48.657 48.657 0 0 1-7.324 0a4.006 4.006 0 0 1-3.7-3.7c-.017-.22-.032-.441-.046-.662M19.5 12l-3 3m3-3l3 3"/>'},hu=Pk,$k={chart:'<path fill="currentColor" d="M2 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm6-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1zm6-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"/>',annotate:'<path fill="currentColor" fill-rule="evenodd" d="m5.433 13.916l1.262-3.154a4 4 0 0 1 .885-1.343L14.5 2.5a2.121 2.121 0 1 1 3 3l-6.92 6.919c-.383.383-.84.684-1.343.885l-3.154 1.262a.5.5 0 0 1-.65-.65ZM2.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H3.75A2.75 2.75 0 0 0 1 5.75v10.5A2.75 2.75 0 0 0 3.75 19h10.5A2.75 2.75 0 0 0 17 16.25V10a.75.75 0 0 0-1.5 0v6.25c0 .69-.56 1.25-1.25 1.25H3.75c-.69 0-1.25-.56-1.25-1.25V5.75Z" clip-rule="evenodd"/>',message:'<path fill="currentColor" fill-rule="evenodd" d="M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902c.848.137 1.705.248 2.57.331v3.443a.75.75 0 0 0 1.28.53l3.58-3.579a.78.78 0 0 1 .527-.224a41.202 41.202 0 0 0 5.183-.5c1.437-.232 2.43-1.49 2.43-2.903V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2Zm0 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2ZM8 8a1 1 0 1 1-2 0a1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2Z" clip-rule="evenodd"/>',view:'<g fill="currentColor"><path d="M10 12a2 2 0 1 0 0-4a2 2 0 0 0 0 4"/><path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10M14 10a4 4 0 1 1-8 0a4 4 0 0 1 8 0" clip-rule="evenodd"/></g>',gear:'<path fill="currentColor" fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54a6.993 6.993 0 0 1 1.93-1.115l.33-1.652ZM10 13a3 3 0 1 0 0-6a3 3 0 0 0 0 6Z" clip-rule="evenodd"/>'},lA=$k});function Uk(t,e){let n=`${t}:${String(e)}`,r=uA.get(n);if(r!==void 0)return document.importNode(r,!0);let i=hu[t];if(i===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let a=new DOMParser().parseFromString(`<svg xmlns="${Yc}" viewBox="${qc}" fill="none">${i}</svg>`,"image/svg+xml").documentElement,l=a instanceof SVGSVGElement?document.importNode(a,!0):document.createElementNS(Yc,"svg");return l.setAttribute("viewBox",qc),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),a instanceof SVGSVGElement||(l.innerHTML=i),uA.set(n,l),document.importNode(l,!0)}function qn(t,e=16){let n=document.createElement("span");return n.className="reticle-hi-icon",n.setAttribute("aria-hidden","true"),n.style.width=`${String(e)}px`,n.style.height=`${String(e)}px`,n.appendChild(Uk(t,e)),n}function kh(t,e,n=16){t.replaceChildren(qn(e,n))}function Te(t,e=16){let n=hu[t];if(n===void 0)throw new Error(`missing heroicon body: ${String(t)}`);return`<span class="reticle-hi-icon" aria-hidden="true" style="width:${String(e)}px;height:${String(e)}px"><svg xmlns="${Yc}" viewBox="${qc}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function Ai(t,e=16){let n=hu[t],r=lA[t];if(n===void 0||r===void 0)throw new Error(`missing heroicon toggle pair: ${String(t)}`);let i=String(e);return`<span class="reticle-hi-toggle" aria-hidden="true" style="width:${i}px;height:${i}px"><span class="reticle-hi-icon reticle-hi-icon--outline" style="width:${i}px;height:${i}px"><svg xmlns="${Yc}" viewBox="${qc}" width="${i}" height="${i}" fill="none">${n}</svg></span><span class="reticle-hi-icon reticle-hi-icon--solid" style="width:${i}px;height:${i}px"><svg xmlns="${Yc}" viewBox="${qc}" width="${i}" height="${i}" fill="currentColor">${r}</svg></span></span>`}var V,ie,Yc,qc,uA,Xn=T(()=>{"use strict";dA();V={VIEW:"view",POINTER:"pointer",SEND:"send",CHART:"chart",CARET_DOWN:"caret-down",CHECK:"check",REMOVE:"remove",PAUSE:"pause",PLAY:"play",STOP:"stop",COPY:"copy",DOWNLOAD:"download",MESSAGE:"message",GEAR:"gear",LAYOUT:"layout",TRASH:"trash",HELP:"help",CARET_RIGHT:"caret-right",ANNOTATE:"annotate",SYNC:"sync"},ie={CHIP:11,LOG:11,TALLY:12,CTL:10,SEND:14,MIN:12,HELP:12,TOOLBAR:18,FAB:22},Yc="http://www.w3.org/2000/svg",qc="0 0 24 24",uA=new Map});function Xc(t){t.scrollTop=t.scrollHeight}function gA(t){Xc(t),requestAnimationFrame(()=>{Xc(t),requestAnimationFrame(()=>Xc(t))}),z(()=>Xc(t),Yk)}function EA(t){return[...t.children].filter(e=>e.hasAttribute(hA))}function Mh(t,e){let n=EA(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function bA(t){for(let e of EA(t))e.remove()}function Ph(t){return t===void 0||!Number.isFinite(t)||t<=0?Hk:Math.floor(t)}function Qc(t){let e=Math.max(0,Math.floor(t/1e3));if(e<60)return`${e}s`;let n=Math.floor(e/60);if(n<60)return e%60===0?`${n}m`:`${n}m ${e%60}s`;let r=Math.floor(n/60);return n%60===0?`${r}h`:`${r}h ${n%60}m`}function TA(t){return Qc(t)}function _A(t,e,n,r,i){let s=document.createElement("div");s.setAttribute(hA,""),s.setAttribute(Vk,e);let a=document.createElement("span");a.setAttribute(mu,""),a.textContent=r;let l=[];e!==Ke.HUMAN&&l.push(a);let d=Fk[e],u=Bk[e];if(d.length>0||u!==void 0){let E=document.createElement("span");if(E.className=Wk,E.setAttribute("data-mode",Gk[e]),u!==void 0&&E.appendChild(qn(u,ie.LOG)),d.length>0){let _=document.createElement("span");_.className="reticle-chip-label",_.textContent=d,E.appendChild(_)}l.push(E)}let f=document.createElement("span");f.className=Kk,f.textContent=n;let g=document.createElement("span");return g.className=Dh,l.push(f),e!==Ke.HUMAN&&l.push(g),s.append(...l),t.appendChild(s),Mh(t,i),requestAnimationFrame(()=>{Xc(t)}),{result:E=>{if(E===Pt.PASS){g.textContent="",g.className=`${Dh} ${pA.pass}`;return}g.textContent=` ${jk[E]}`,g.className=`${Dh} ${pA[E]}`}}}var Hk,Fk,Bk,fA,Gk,jk,pA,Zc,hA,mu,Vk,Kk,Dh,Wk,zk,Yk,mA,go=T(()=>{"use strict";D();mh();Ve();Xn();Hk=50,Fk={read:"READ",act:"ACT",narration:"",human:""},Bk={read:V.VIEW,act:V.POINTER},fA={[Me.IDLE]:"",[Me.READING]:"READING",[Me.ACTING]:"ACTING"},Gk={read:Me.READING,act:Me.ACTING,narration:Me.IDLE,human:Me.IDLE},jk={pass:"",fail:"Fail"},pA={pass:"reticle-pass",fail:"reticle-fail"},Zc="data-reticle-log",hA="data-reticle-log-row",mu="data-reticle-log-time",Vk="data-kind",Kk="reticle-log-text",Dh="reticle-res",Wk="reticle-chip",zk="Agent activity will appear here",Yk=160,mA=`
|
|
71
|
+
<button type="button" data-cancel data-reticle-mark-cancel>${$N}</button>
|
|
72
|
+
<button type="button" data-send data-reticle-mark-send disabled>${MN}</button>
|
|
73
|
+
</div>`;let s=a.querySelector(".reticle-mark-where");s!==null&&(s.textContent=e);let l=WN(n,r);a.style.left=`${String(l.left)}px`,a.style.top=`${String(l.top)}px`,(p=c(this,_n))==null||p.appendChild(a),h(this,dn,a),requestAnimationFrame(()=>a.setAttribute("data-in","1"));let d=a.querySelector("textarea"),u=a.querySelector("button[data-send]");d!==null&&(d.value=o,u!==null&&(u.disabled=d.value.trim().length===0),d.addEventListener("input",()=>{u!==null&&(u.disabled=d.value.trim().length===0)}),d.addEventListener("keydown",m=>{m.stopPropagation(),!m.isComposing&&(m.key==="Escape"?(m.preventDefault(),E(this,$,dr).call(this)):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),E(this,$,jE).call(this)))}),ee(()=>d.focus(),50)),(f=a.querySelector("button[data-cancel]"))==null||f.addEventListener("click",()=>E(this,$,dr).call(this)),u==null||u.addEventListener("click",()=>E(this,$,jE).call(this)),h(this,La,void 0),h(this,ka,{x:n,y:r})},La=new WeakMap,ka=new WeakMap,JN=function(e,n,r){h(this,La,e),h(this,ka,{x:n,y:r})},jE=function(){var o,a,s;let e=(s=(a=(o=c(this,dn))==null?void 0:o.querySelector("textarea"))==null?void 0:a.value.trim())!=null?s:"";if(e.length===0)return;let n=c(this,Ti);if(n!==void 0){n.note=e;let l=n.pin.querySelector(yo("tipn"));l!==null&&(l.textContent=e),c(this,Sc).call(this,x.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),E(this,$,WE).call(this,e,n.anchor,n.label,c(this,mt).indexOf(n)+1,n.source),E(this,$,Tc).call(this),E(this,$,dr).call(this);return}let r=c(this,La);r!==void 0&&(E(this,$,ew).call(this,e,r,c(this,ka).x,c(this,ka).y),E(this,$,dr).call(this))},KE=function(){let e=c(this,dn);e!==void 0&&(e.classList.remove("reticle-mark-shake"),e.offsetWidth,e.classList.add("reticle-mark-shake"),c(this,vo)!==void 0&&Te(c(this,vo)),h(this,vo,ee(()=>{e.classList.remove("reticle-mark-shake"),h(this,vo,void 0)},qH)))},ew=function(e,n,r,o){let a={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:kf()};n.source!==void 0&&(a.source=n.source),c(this,Sc).call(this,x.HUMAN_MARK,a),c(this,_c).call(this),E(this,$,tw).call(this,n,e,r,o),E(this,$,WE).call(this,e,n.anchor,n.label,c(this,mt).length,VN(n))},WE=function(e,n,r,o,a){var l;let s={note:e,anchor:n,label:r,index:o};a!==void 0&&(s.source=a),(l=c(this,Vd))==null||l.call(this,s)},zE=function(e,n){var o,a;(o=c(this,Ra))==null||o.remove();let r=document.createElement("div");r.setAttribute(Ur,"pending"),r.textContent=PN,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,(a=c(this,_n))==null||a.appendChild(r),h(this,Ra,r)},tw=function(e,n,r,o){if(c(this,_n)===void 0)return;let a=document.createElement("button");a.type="button",a.setAttribute(Ur,"pin"),a.setAttribute("aria-label",e.label);let s=c(this,mt).length+1;a.innerHTML=`<span>${String(s)}</span><span ${Ur}="tip"><span ${Ur}="tipq"></span><span ${Ur}="tipn"></span></span>`;let l=a.querySelector(yo("tipq")),d=a.querySelector(yo("tipn"));l!==null&&(l.textContent=e.label),d!==null&&(d.textContent=n);let u=QH(c(this,Ro)),p=u?o:o+window.scrollY;a.style.left=`${String(r/window.innerWidth*100)}%`,a.style.top=`${String(u?o:p-window.scrollY)}px`,c(this,_n).appendChild(a);let f=c(this,_c).call(this),m={id:`${e.anchor}:${String(f)}:${String(s)}`,createdAt:f,note:n,label:e.label,anchor:e.anchor,route:kf(),xPct:r/window.innerWidth*100,yDoc:p,clientX:r,clientY:o,isFixed:u,pin:a,target:c(this,Ro),source:VN(e)};a.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),c(this,jn)&&E(this,$,GE).call(this,m)}),c(this,mt).push(m),E(this,$,Tc).call(this)},Bd=function(){let e=c(this,va);if(e===void 0)return;let n=c(this,Ro);if(n===void 0||!document.contains(n)||c(this,dn)===void 0){e.hidden=!0;return}let r=n.getBoundingClientRect();e.hidden=!1,e.style.left=`${String(r.left)}px`,e.style.top=`${String(r.top)}px`,e.style.width=`${String(r.width)}px`,e.style.height=`${String(r.height)}px`},YE=function(){for(let e of c(this,mt)){if(e.isFixed){e.pin.style.top=`${String(e.clientY)}px`;continue}e.pin.style.top=`${String(e.yDoc-window.scrollY)}px`}E(this,$,nw).call(this),E(this,$,Bd).call(this)},nw=function(){let e=c(this,dn),n=c(this,Ti);if(e===void 0||n===void 0)return;let r=E(this,$,BE).call(this,n),o=WN(r.x,r.y);e.style.left=`${String(o.left)}px`,e.style.top=`${String(o.top)}px`},dr=function(){var e,n;(e=c(this,dn))==null||e.remove(),h(this,dn,void 0),(n=c(this,Ra))==null||n.remove(),h(this,Ra,void 0),h(this,Na,void 0),h(this,Ro,void 0),h(this,La,void 0),h(this,Ti,void 0),c(this,va)!==void 0&&(c(this,va).hidden=!0)};jN="data-reticle-blocker"});var eU,Mf,tU,ow,iw=S(()=>{"use strict";eU={view:'<g><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0"/><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7s-8.268-2.943-9.542-7"/></g>',pointer:'<path d="M15.042 21.672L13.684 16.6m0 0l-2.51 2.225l.569-9.47l5.227 7.917l-3.286-.672ZM12 2.25V4.5m5.834.166l-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243l-1.59-1.59"/>',send:'<path d="M6 12 3.269 3.126A59.768 59.768 0 0 1 21.485 12 59.77 59.77 0 0 1 3.27 20.876L5.999 12Zm0 0h7.5"/>',chart:'<path d="M9 19v-6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v10m-6 0a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2"/>',"caret-down":'<path d="m19 9l-7 7l-7-7"/>',check:'<path d="m5 13l4 4L19 7"/>',remove:'<path d="m4.5 19.5l15-15m-15 0l15 15"/>',pause:'<path d="M8 5v14M16 5v14"/>',play:'<path d="M8 5.75v12.5L18 12 8 5.75Z"/>',stop:'<rect x="6.5" y="6.5" width="11" height="11" rx="2"/>',copy:'<path d="M8 7v8a2 2 0 0 0 2 2h6M8 7V5a2 2 0 0 1 2-2h4.586a1 1 0 0 1 .707.293l4.414 4.414a1 1 0 0 1 .293.707V15a2 2 0 0 1-2 2h-2M8 7H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"/>',download:'<path d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/>',message:'<path d="M8.625 9.75a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227c1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332a48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z"/>',gear:'<g><path d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87c.074.04.147.083.22.127c.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 0 1 0 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124c.072-.044.146-.087.22-.128c.332-.183.582-.495.644-.869l.214-1.281Z"/><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0Z"/></g>',layout:'<path d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"/>',notes:'<path d="M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75a2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"/>',trash:'<path d="m19 7l-.867 12.142A2 2 0 0 1 16.138 21H7.862a2 2 0 0 1-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3M4 7h16"/>',help:'<path d="M8.228 9c.549-1.165 2.03-2 3.772-2c2.21 0 4 1.343 4 3c0 1.4-1.278 2.575-3.006 2.907c-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',"caret-right":'<path d="m9 5l7 7l-7 7"/>',annotate:'<path d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"/>',sync:'<path d="M4.5 12c0-1.232.046-2.453.138-3.662a4.006 4.006 0 0 1 3.7-3.7a48.678 48.678 0 0 1 7.324 0a4.006 4.006 0 0 1 3.7 3.7c.017.22.032.441.046.662M4.5 12l-3-3m3 3l3-3m12 3c0 1.232-.046 2.453-.138 3.662a4.006 4.006 0 0 1-3.7 3.7a48.657 48.657 0 0 1-7.324 0a4.006 4.006 0 0 1-3.7-3.7c-.017-.22-.032-.441-.046-.662M19.5 12l-3 3m3-3l3 3"/>'},Mf=eU,tU={chart:'<path fill="currentColor" d="M2 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm6-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1zm6-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"/>',annotate:'<path fill="currentColor" fill-rule="evenodd" d="m5.433 13.916l1.262-3.154a4 4 0 0 1 .885-1.343L14.5 2.5a2.121 2.121 0 1 1 3 3l-6.92 6.919c-.383.383-.84.684-1.343.885l-3.154 1.262a.5.5 0 0 1-.65-.65ZM2.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H3.75A2.75 2.75 0 0 0 1 5.75v10.5A2.75 2.75 0 0 0 3.75 19h10.5A2.75 2.75 0 0 0 17 16.25V10a.75.75 0 0 0-1.5 0v6.25c0 .69-.56 1.25-1.25 1.25H3.75c-.69 0-1.25-.56-1.25-1.25V5.75Z" clip-rule="evenodd"/>',message:'<path fill="currentColor" fill-rule="evenodd" d="M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902c.848.137 1.705.248 2.57.331v3.443a.75.75 0 0 0 1.28.53l3.58-3.579a.78.78 0 0 1 .527-.224a41.202 41.202 0 0 0 5.183-.5c1.437-.232 2.43-1.49 2.43-2.903V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2Zm0 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2ZM8 8a1 1 0 1 1-2 0a1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2Z" clip-rule="evenodd"/>',view:'<g fill="currentColor"><path d="M10 12a2 2 0 1 0 0-4a2 2 0 0 0 0 4"/><path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10M14 10a4 4 0 1 1-8 0a4 4 0 0 1 8 0" clip-rule="evenodd"/></g>',gear:'<path fill="currentColor" fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54a6.993 6.993 0 0 1 1.93-1.115l.33-1.652ZM10 13a3 3 0 1 0 0-6a3 3 0 0 0 0 6Z" clip-rule="evenodd"/>'},ow=tU});function nU(t,e){let n=`${t}:${String(e)}`,r=aw.get(n);if(r!==void 0)return document.importNode(r,!0);let o=Mf[t];if(o===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let s=new DOMParser().parseFromString(`<svg xmlns="${Yd}" viewBox="${Xd}" fill="none">${o}</svg>`,"image/svg+xml").documentElement,l=s instanceof SVGSVGElement?document.importNode(s,!0):document.createElementNS(Yd,"svg");return l.setAttribute("viewBox",Xd),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),s instanceof SVGSVGElement||(l.innerHTML=o),aw.set(n,l),document.importNode(l,!0)}function Fr(t,e=16){let n=document.createElement("span");return n.className="reticle-hi-icon",n.setAttribute("aria-hidden","true"),n.style.width=`${String(e)}px`,n.style.height=`${String(e)}px`,n.appendChild(nU(t,e)),n}function qE(t,e,n=16){t.replaceChildren(Fr(e,n))}function Ee(t,e=16){let n=Mf[t];if(n===void 0)throw new Error(`missing heroicon body: ${String(t)}`);return`<span class="reticle-hi-icon" aria-hidden="true" style="width:${String(e)}px;height:${String(e)}px"><svg xmlns="${Yd}" viewBox="${Xd}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function $f(t,e=16){let n=Mf[t],r=ow[t];if(n===void 0||r===void 0)throw new Error(`missing heroicon toggle pair: ${String(t)}`);let o=String(e);return`<span class="reticle-hi-toggle" aria-hidden="true" style="width:${o}px;height:${o}px"><span class="reticle-hi-icon reticle-hi-icon--outline" style="width:${o}px;height:${o}px"><svg xmlns="${Yd}" viewBox="${Xd}" width="${o}" height="${o}" fill="none">${n}</svg></span><span class="reticle-hi-icon reticle-hi-icon--solid" style="width:${o}px;height:${o}px"><svg xmlns="${Yd}" viewBox="${Xd}" width="${o}" height="${o}" fill="currentColor">${r}</svg></span></span>`}var Y,pe,Yd,Xd,aw,ur=S(()=>{"use strict";iw();Y={VIEW:"view",POINTER:"pointer",SEND:"send",CHART:"chart",CARET_DOWN:"caret-down",CHECK:"check",REMOVE:"remove",PAUSE:"pause",PLAY:"play",STOP:"stop",COPY:"copy",DOWNLOAD:"download",MESSAGE:"message",NOTES:"notes",GEAR:"gear",LAYOUT:"layout",TRASH:"trash",HELP:"help",CARET_RIGHT:"caret-right",ANNOTATE:"annotate",SYNC:"sync"},pe={CHIP:11,LOG:11,TALLY:12,CTL:10,SEND:14,MIN:12,HELP:12,NAV:18,TOOLBAR:18,FAB:22},Yd="http://www.w3.org/2000/svg",Xd="0 0 24 24",aw=new Map});function qd(t){t.scrollTop=t.scrollHeight,t.toggleAttribute(uU,t.scrollHeight>t.clientHeight+1)}function mw(t){qd(t),requestAnimationFrame(()=>{qd(t),requestAnimationFrame(()=>qd(t))}),ee(()=>qd(t),dU)}function gw(t){return[...t.children].filter(e=>e.hasAttribute(Ff))}function Bf(t,e){let n=gw(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function Vf(t){for(let e of gw(t))e.remove()}function eb(t){return t===void 0||!Number.isFinite(t)||t<=0?rU:Math.floor(t)}function Qd(t){let e=Math.max(0,Math.floor(t/1e3));if(e<60)return`${e}s`;let n=Math.floor(e/60);if(n<60)return e%60===0?`${n}m`:`${n}m ${e%60}s`;let r=Math.floor(n/60);return n%60===0?`${r}h`:`${r}h ${n%60}m`}function Ew(t){return Qd(t)}function tb(t,e,n,r,o,a=ln.AGENT){var _,y,A;let s=e===Fe.READ?pU(t,n,a):void 0;if(s!==void 0){let v=Number((_=s.getAttribute(lw))!=null?_:"1")+1;s.setAttribute(lw,String(v));let O=s.querySelector(`.${dw}`);O===null&&(O=document.createElement("span"),O.className=dw,(y=s.querySelector(`.${Hf}`))==null||y.after(O)),O.textContent=`\xD7${String(v)}`;let B=s.querySelector(`[${Zd}]`);B!==null&&(B.textContent=r);let oe=s.querySelector(`.${Gf}`);return oe===null?{result:()=>{}}:uw(s,oe)}let l=e===Fe.ACT||e===Fe.READ;if(l&&((A=t.getAttribute(Uf))!=null?A:ln.AGENT)!==a){let v=document.createElement("div");v.setAttribute(Ff,""),v.setAttribute(QE,cU),v.setAttribute(ZE,a);let O=document.createElement("span");O.className=Hf,O.textContent=sU[a],v.appendChild(O),t.appendChild(v)}l&&t.setAttribute(Uf,a);let d=document.createElement("div");d.setAttribute(Ff,""),d.setAttribute(QE,e),d.setAttribute(ZE,a),e===Fe.ACT&&d.setAttribute(fw,"running");let u=document.createElement("span");u.setAttribute(Zd,""),u.textContent=r;let p=[];e!==Fe.HUMAN&&p.push(u);let f=oU[e],m=iU[e];if(f.length>0||m!==void 0){let v=document.createElement("span");if(v.className=lU,v.setAttribute("data-mode",aU[e]),m!==void 0&&v.appendChild(Fr(m,pe.LOG)),f.length>0){let O=document.createElement("span");O.className="reticle-chip-label",O.textContent=f,v.appendChild(O)}p.push(v)}let g=document.createElement("span");g.className=Hf,g.textContent=n;let T=document.createElement("span");return T.className=Gf,p.push(g),e!==Fe.HUMAN&&p.push(T),d.append(...p),t.appendChild(d),Bf(t,o),requestAnimationFrame(()=>{qd(t)}),uw(d,T)}function pU(t,e,n){var o;let r=t.lastElementChild;if(!(!(r instanceof HTMLElement)||!r.hasAttribute(Ff))&&!(r.getAttribute(QE)!==Fe.READ||r.getAttribute(ZE)!==n))return((o=r.querySelector(`.${Hf}`))==null?void 0:o.textContent)===e?r:void 0}function uw(t,e){return{result:n=>{if(t.setAttribute(fw,n),n===Tn.PASS){e.textContent=sw.pass,e.className=`${Gf} ${cw.pass}`;return}e.textContent=` ${sw[n]}`,e.className=`${Gf} ${cw[n]}`}}}var rU,oU,iU,pw,aU,sw,sU,Uf,ZE,fw,cU,cw,JE,Ff,Zd,QE,Hf,lw,dw,Gf,lU,Pf,dU,hw,uU,wo=S(()=>{"use strict";H();CE();lt();ur();rU=50,oU={read:"READ",act:"ACT",narration:"",human:""},iU={read:Y.VIEW,act:Y.POINTER},pw={[je.IDLE]:"",[je.READING]:"READING",[je.ACTING]:"ACTING"},aU={read:je.READING,act:je.ACTING,narration:je.IDLE,human:je.IDLE},sw={pass:"\u2713",fail:"Fail"},sU={agent:"Your agent is driving",harness:"Reticle Harness is driving"},Uf="data-reticle-log-actor",ZE="data-actor",fw="data-state",cU="handover",cw={pass:"reticle-pass",fail:"reticle-fail"},JE="data-reticle-log",Ff="data-reticle-log-row",Zd="data-reticle-log-time",QE="data-kind",Hf="reticle-log-text",lw="data-reticle-repeat",dw="reticle-log-repeat",Gf="reticle-res",lU="reticle-chip",Pf={TITLE:"Reticle checks your app from the inside.",OFFLINE_TITLE:"Not connected yet.",OFFLINE_BODY:"Once Reticle is running, this page connects by itself and the steps show here.",BODY:"Ask your coding agent to verify a change with Reticle: each step shows here, live.\\AOr open Harness below: Reticle clicks through the app as the person you pick and reports what breaks."},dU=160,hw=`
|
|
73
74
|
[data-reticle-log]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y;
|
|
74
75
|
display:flex;flex-direction:column;
|
|
75
76
|
gap:4px;padding:8px 10px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;
|
|
76
77
|
background:transparent;}
|
|
77
|
-
[data-reticle-log]:empty{align-items:center;justify-content:center;}
|
|
78
|
-
[data-reticle-log]:empty::
|
|
79
|
-
color:var(--reticle-
|
|
78
|
+
[data-reticle-log]:empty{align-items:center;justify-content:center;gap:6px;padding:16px 18px;}
|
|
79
|
+
[data-reticle-log]:empty::before{content:"${Pf.TITLE}";display:block;text-align:center;
|
|
80
|
+
color:var(--reticle-hud-text);font-size:var(--reticle-hud-size-base);font-weight:600;line-height:1.4;}
|
|
81
|
+
[data-reticle-log]:empty::after{content:"${Pf.BODY}";display:block;max-width:260px;text-align:center;white-space:pre-line;
|
|
82
|
+
color:var(--reticle-hud-text-muted);font-size:var(--reticle-hud-size-sm);line-height:1.5;}
|
|
83
|
+
[data-reticle-state="unreachable"] [data-reticle-log]:empty::before{content:"${Pf.OFFLINE_TITLE}";}
|
|
84
|
+
[data-reticle-state="unreachable"] [data-reticle-log]:empty::after{content:"${Pf.OFFLINE_BODY}";}
|
|
80
85
|
[data-reticle-log]::-webkit-scrollbar{width:8px;}
|
|
81
86
|
[data-reticle-log]::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:content-box;}
|
|
82
87
|
[data-reticle-log]::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.26);background-clip:content-box;}
|
|
@@ -99,40 +104,63 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
99
104
|
[data-reticle-log] [data-reticle-log-row] .reticle-chip-label{
|
|
100
105
|
position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
|
|
101
106
|
[data-reticle-log] [data-reticle-log-row][data-kind="read"] .reticle-chip{opacity:.5;}
|
|
102
|
-
[${
|
|
107
|
+
[${Zd}]{flex:none;color:var(--reticle-faint);font-size:11px;font-variant-numeric:tabular-nums;padding-top:2px;min-width:2em;opacity:.85;}
|
|
103
108
|
[data-reticle-log] .reticle-log-text{flex:1;min-width:0;color:var(--reticle-muted);overflow-wrap:anywhere;word-break:break-word;}
|
|
109
|
+
[data-reticle-log] .reticle-log-repeat{flex:none;color:var(--reticle-muted);font-variant-numeric:tabular-nums;opacity:.7;}
|
|
104
110
|
[data-reticle-log] .reticle-res{flex:none;font-size:7.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--reticle-bad);opacity:.75;padding-top:2px;}
|
|
105
111
|
[data-reticle-log] .reticle-res.reticle-pass{display:none;}
|
|
106
112
|
[data-reticle-log-row][data-kind="human"]{align-self:flex-end;max-width:78%;margin:6px 0 2px;
|
|
107
113
|
padding:8px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
|
|
108
114
|
border-radius:16px 16px 4px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
|
|
109
115
|
[data-reticle-log-row][data-kind="human"] .reticle-log-text{color:var(--reticle-fg);font-size:12px;line-height:1.45;}
|
|
110
|
-
|
|
111
|
-
|
|
116
|
+
/* Rows arrive, rather than appear: the person watching should see the log move. */
|
|
117
|
+
[data-reticle-log-row]{animation:reticle-row-in .22s var(--reticle-hud-ease,ease) both;}
|
|
118
|
+
@keyframes reticle-row-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
|
|
119
|
+
@media (prefers-reduced-motion:reduce){[data-reticle-log-row]{animation:none;}}
|
|
120
|
+
/* The step in flight pulses until its verdict lands; then it says how it ended. */
|
|
121
|
+
[data-reticle-log-row][data-state="running"] .reticle-res{display:inline-block;width:6px;height:6px;margin-top:5px;
|
|
122
|
+
border-radius:50%;background:var(--reticle-c-active);opacity:1;animation:reticle-row-pulse 1s ease-in-out infinite;}
|
|
123
|
+
@keyframes reticle-row-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
|
|
124
|
+
[data-reticle-log] .reticle-res.reticle-pass{display:inline;color:#4ade80;font-size:11px;opacity:.9;}
|
|
125
|
+
[data-reticle-log] .reticle-res.reticle-fail{color:#fca5a5;background:rgba(239,68,68,.16);border-radius:999px;padding:1px 6px;font-size:8px;opacity:1;}
|
|
126
|
+
/* The Harness's rows wear its own colour, so two drivers never read as one. */
|
|
127
|
+
[data-reticle-log-row][data-actor="harness"]{--reticle-row-accent:#a78bfa;}
|
|
128
|
+
[data-reticle-log-row][data-actor="harness"] .reticle-chip{color:#a78bfa;}
|
|
129
|
+
[data-reticle-log-row][data-actor="harness"]:not([data-kind="handover"]){box-shadow:inset 2px 0 0 color-mix(in srgb,#a78bfa 55%,transparent);padding-left:8px;}
|
|
130
|
+
[data-reticle-log-row][data-kind="handover"]{align-items:center;gap:8px;margin:8px 0 4px;padding:0;
|
|
131
|
+
font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--reticle-row-accent,var(--reticle-c-active));}
|
|
132
|
+
[data-reticle-log-row][data-kind="handover"]::before,[data-reticle-log-row][data-kind="handover"]::after{
|
|
133
|
+
content:"";flex:1;height:1px;background:color-mix(in srgb,var(--reticle-row-accent,var(--reticle-c-active)) 40%,transparent);}
|
|
134
|
+
[data-reticle-log-row][data-kind="handover"] .reticle-log-text{flex:none;color:inherit;}
|
|
135
|
+
/* What the Harness or the daemon says about a drive reads as a notice, not an aside. */
|
|
136
|
+
[data-reticle-log-row][data-kind="narration"]{font-style:normal;color:var(--reticle-fg);margin:4px 0;padding:7px 10px;
|
|
137
|
+
border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
|
|
138
|
+
`;uU="data-reticle-log-scrollable"});function Sw(t,e=typeof navigator=="undefined"?void 0:navigator){return t!==void 0?t:(e==null?void 0:e.webdriver)===!0?0:fU}var Ma,bw,Jd,Tw,jf,fU,pr,_w,xw,Aw,fr,yw,vw,Rw,Oo,Si,Wt,Kf,nb,ke,ot,D,Nw,Wf,zt,Io,_i,Nt,vc,zf,Yf,Xf,qf,ww,Zf,rb,un,w,ob,gt,Ye,eu,I,ib,Rc,ab,Qf,Ow,tu,Iw,Nc,Jf,Gr,Cw,eh,th,nh,sb,rh,Lw,kw,cb,ut=S(()=>{"use strict";Lr();Ma={SESSION:"session",BUSY:"busy"},bw=Ma.SESSION,Jd="data-busy",Tw="1",jf="0",fU=450;pr={IDLE:"idle",BUSY:"busy",FADING:"fading"},_w=700,xw=1e3,Aw=4e3,fr={READY:"Ready",PLANNING_PREFIX:"planning next action \xB7 ",STOPPED:"stopped",STOPPED_PREFIX:"stopped \xB7 ",NOW:"now",SINCE_LAST:" since last action",harnessTesting:t=>`Testing \xB7 Harness \xB7 ${String(t)} step${t===1?"":"s"}`},yw=3e5,vw=5e3,Rw=250,Oo="1",Si="0",Wt="data-on",Kf="data-reticle-state",nb="unreachable",ke="data-reticle-min",ot="data-reticle-chat",D="data-reticle-dock",Nw="data-reticle-fab",Wf="data-reticle-chat-toggle",zt="data-reticle-chat-panel",Io="data-reticle-chat-placement",_i="data-reticle-settings-placement",Nt="data-reticle-dock-align",vc={ABOVE:"above",BELOW:"below"},zf="data-reticle-markers-btn",Yf="data-reticle-clear-marks",Xf="data-reticle-copy-marks",qf="data-reticle-marks-row",ww="data-reticle-mark-count",Zf="data-reticle-annotate-btn",rb="data-reticle-chat-min",un="data-reticle-report",w="data-reticle-report-panel",ob="data-reticle-report-close",gt="data-reticle-chat-pill",Ye="data-reticle-settings",eu="data-reticle-settings-btn",I="data-reticle-settings-panel",ib="data-reticle-settings-close",Rc="data-reticle-setting",ab=st.PRESENTER_SETTINGS,Qf=st.PRESENTER_MINIMISED,Ow="data-reticle-ambient-glow",tu="data-reticle-live",Iw="data-reticle-block",Nc="data-reticle-hidden",Jf="data-reticle-log-ts",Gr="data-reticle-reduce-motion",Cw="https://github.com/reticlehq/reticle/blob/main/docs/getting-started.md",eh="data-dragged",th="--reticle-hud-x",nh="--reticle-hud-y",sb=4,rh=8,Lw="[data-reticle-pause], [data-reticle-annotate-btn], [data-reticle-markers-btn], [data-reticle-clear-marks], [data-reticle-copy-marks], [data-reticle-end], [data-reticle-min-btn], [data-reticle-settings-btn], [data-reticle-settings-panel], [data-reticle-report-btn], [data-reticle-report-panel], [data-reticle-chat-panel], [data-reticle-chat-toggle], [data-reticle-workspace-btn], [data-reticle-workspace-menu], [data-reticle-copy], [data-reticle-export], .reticle-toolbar-chrome button, .reticle-toolbar-actions button, input, textarea, select, a, .reticle-head-ctl, [data-reticle-tally], .reticle-maxhint",kw="data-reticle-throttled",cb=100});var An,lb,nu,hr,wc,Dw,oh,Mw,mr=S(()=>{"use strict";An="reticle-hud-surface",lb="linear-gradient(165deg,#121218 0%,#09090c 42%,#000 100%)",nu=`background:${lb};box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.09);`,hr="0 16px 40px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08)",wc=["background:radial-gradient(130% 80% at 50% 0%,color-mix(in srgb,var(--reticle-c-active) 20%,transparent),transparent 62%),","linear-gradient(180deg,#121a2e,#080b14);","border:1px solid color-mix(in srgb,var(--reticle-c-active) 30%,rgba(255,255,255,.1));",`box-shadow:${hr},0 0 64px -12px color-mix(in srgb,var(--reticle-c-active) 75%,transparent);`].join(""),Dw=`
|
|
139
|
+
.${An}{
|
|
112
140
|
position:relative;overflow:hidden;
|
|
113
141
|
contain:layout style paint;
|
|
114
|
-
${
|
|
142
|
+
${nu}
|
|
115
143
|
}
|
|
116
|
-
.${
|
|
144
|
+
.${An}::before,
|
|
117
145
|
[data-reticle-hud] .reticle-hud-deco::after{
|
|
118
146
|
content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:1;
|
|
119
147
|
background:
|
|
120
148
|
radial-gradient(ellipse 120% 70% at 50% -18%,rgba(255,255,255,.07),transparent 52%),
|
|
121
149
|
linear-gradient(180deg,rgba(255,255,255,.035) 0%,transparent 36%,rgba(0,0,0,.12) 100%);
|
|
122
150
|
}
|
|
123
|
-
.${
|
|
124
|
-
.${
|
|
151
|
+
.${An} > *{position:relative;z-index:2;}`,oh="reticle-hud-log-well",Mw=`
|
|
152
|
+
.${oh}{
|
|
125
153
|
/* A settled height, but still allowed to shrink: pinned with flex:none it pushed the composer
|
|
126
154
|
off the bottom of the panel the moment the rest of the content grew. */
|
|
127
155
|
/* A flex column, so the feed inside actually FILLS the height: as a plain block the log was only
|
|
128
156
|
as tall as its rows, which left the empty-state line floating near the top of an otherwise
|
|
129
157
|
empty panel instead of centred in it. */
|
|
130
158
|
position:relative;display:flex;flex-direction:column;
|
|
131
|
-
flex:1 1 auto;height:
|
|
159
|
+
flex:1 1 auto;height:240px;min-height:120px;max-height:300px;overflow:hidden;
|
|
132
160
|
contain:layout style paint;
|
|
133
161
|
margin:0 6px;border-radius:12px;background:transparent;}
|
|
134
|
-
.${
|
|
135
|
-
[data-reticle-overlay][${
|
|
162
|
+
.${oh} > *{position:relative;z-index:1;}`});function Oc(t){return t.getAttribute(eh)==="1"}function Ic(t,e,n,r,o,a,s=rh){let l=s,d=s,u=Math.max(l,o-n-s),p=Math.max(d,a-r-s);return{left:Math.max(l,Math.min(t,u)),top:Math.max(d,Math.min(e,p))}}function xi(t,e,n){t.setAttribute(eh,"1"),t.style.setProperty(th,`${String(e)}px`),t.style.setProperty(nh,`${String(n)}px`)}function ru(t){t.removeAttribute(eh),t.style.removeProperty(th),t.style.removeProperty(nh)}function Cc(t){let e=t.getBoundingClientRect();return{left:e.left,top:e.top,width:e.width,height:e.height}}function ih(t){let e=t.style.getPropertyValue(th),n=t.style.getPropertyValue(nh);if(e!==""&&n!=="")return{left:Number.parseFloat(e),top:Number.parseFloat(n)};let r=t.getBoundingClientRect();return{left:r.left,top:r.top}}function ou(t){if(!Oc(t))return;let{left:e,top:n}=ih(t),{width:r,height:o}=Cc(t),a=Ic(e,n,r,o,window.innerWidth,window.innerHeight);xi(t,a.left,a.top)}var iu=S(()=>{"use strict";ut()});function EU(t){var a,s,l,d,u,p,f,m;if(t.length===0)return;let e=(s=(a=t[0])==null?void 0:a.left)!=null?s:0,n=(d=(l=t[0])==null?void 0:l.top)!=null?d:0,r=(p=(u=t[0])==null?void 0:u.right)!=null?p:0,o=(m=(f=t[0])==null?void 0:f.bottom)!=null?m:0;for(let g of t.slice(1))e=Math.min(e,g.left),n=Math.min(n,g.top),r=Math.max(r,g.right),o=Math.max(o,g.bottom);return{left:e,top:n,right:r,bottom:o}}function Gw(t,e,n){return t>=n?vc.ABOVE:e>=n?vc.BELOW:e>t?vc.BELOW:vc.ABOVE}function Bw(t,e,n,r){let o=vc.ABOVE===t?e-r:n-r;return Math.max(0,o)}function Vw(t,e,n){let r=`${String(n)}px`;t.style.setProperty(e,r),t.style.maxHeight=r}function jw(t,e){t.style.removeProperty(e),t.style.removeProperty("max-height")}function ah(t){if(t===null)return!1;let e=window.getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"}function bU(t){let e=t.querySelector(`[${$w}]`);if(e instanceof HTMLElement)return e;if(t.hasAttribute($w)||Oc(t))return t}function Kw(t,e){let n=bU(t);if(n===void 0)return;let r=e.getAttribute(ot)==="1",o=e.getAttribute(Ye)==="1",a=t.querySelector(`[${zt}]`),s=t.querySelector(`[${I}]`),l=rh,d=window.innerWidth,u=window.innerHeight,p=n.getBoundingClientRect(),f=p.top-l,m=u-p.bottom-l;if(r&&a instanceof HTMLElement&&ah(a)){let B=a.getBoundingClientRect().height||Uw,oe=Gw(f,m,B+Pw);t.setAttribute(Io,oe);let ce=Math.min(Uw,Math.max(mU,Bw(oe,f,m,Pw)));Vw(a,"--reticle-chat-max-h",ce)}else t.removeAttribute(Io),a instanceof HTMLElement&&jw(a,"--reticle-chat-max-h");if(o&&s instanceof HTMLElement&&ah(s)){let B=s.getBoundingClientRect().height||Fw,oe=Gw(f,m,B+hU+Hw);t.setAttribute(_i,oe);let ce=Math.min(Fw,Math.max(gU,Bw(oe,f,m,Hw)));Vw(s,"--reticle-settings-max-h",ce)}else t.removeAttribute(_i),s instanceof HTMLElement&&jw(s,"--reticle-settings-max-h");let g=Math.max(r&&a instanceof HTMLElement?a.getBoundingClientRect().width:0,o&&s instanceof HTMLElement?s.getBoundingClientRect().width:0);if(r||o){let B=p.right-g,oe=p.left+g;B<l||p.left<l?t.setAttribute(Nt,"start"):oe>d-l||p.right>d-l?t.setAttribute(Nt,"end"):t.setAttribute(Nt,"end")}else t.removeAttribute(Nt);if(!r&&!o){Oc(t)&&ou(t);return}let T=[p];r&&a instanceof HTMLElement&&ah(a)&&T.push(a.getBoundingClientRect()),o&&s instanceof HTMLElement&&ah(s)&&T.push(s.getBoundingClientRect());let _=EU(T);if(_===void 0)return;let y=0,A=0;if(_.left<l?y=l-_.left:_.right>d-l&&(y=d-l-_.right),_.top<l?A=l-_.top:_.bottom>u-l&&(A=u-l-_.bottom),y===0&&A===0)return;let v=t.getBoundingClientRect(),O=Oc(t)?ih(t):{left:v.left,top:v.top};xi(t,O.left+y,O.top+A)}function gr(t,e){sh!==void 0&&cancelAnimationFrame(sh),sh=requestAnimationFrame(()=>{sh=void 0,Kw(t,e),requestAnimationFrame(()=>Kw(t,e))})}function Ww(t){let e=t.querySelector(`[${D}]`);return e instanceof HTMLElement?e:void 0}var $w,Pw,Hw,hU,mU,Uw,Fw,gU,sh,au=S(()=>{"use strict";ut();iu();$w="data-reticle-hud",Pw=8,Hw=12,hU=44,mU=160,Uw=440,Fw=520,gU=200});function Yw(t,e){var u,p;let n=()=>{gr(t,e)},r=new AbortController,{signal:o}=r,a=()=>n();window.addEventListener("resize",a,{signal:o});let s;typeof ResizeObserver!="undefined"&&(s=new ResizeObserver(()=>n()),s.observe(t));let l=new MutationObserver(()=>n());l.observe(e,{attributes:!0,attributeFilter:[ke,ot,Ye]});let d=()=>n();return(u=window.visualViewport)==null||u.addEventListener("resize",d,{signal:o}),(p=window.visualViewport)==null||p.addEventListener("scroll",d,{signal:o}),()=>{r.abort(),s==null||s.disconnect(),l.disconnect()}}function TU(t,e,n={}){let r=!1,o=0,a=0,s=0,l=0,d=!1,u,p=()=>{var O;let v=d;if(r=!1,e.classList.remove(zw),u=void 0,d=!1,v){let B=t.parentElement;B instanceof HTMLElement?gr(t,B):ou(t)}(O=n.onDragEnd)==null||O.call(n,v)},f=v=>{if(v.button!==0)return;let O=v.target;if(!(O instanceof Element)||O.closest(Lw)!==null)return;let B=t.getBoundingClientRect();o=v.clientX,a=v.clientY,s=B.left,l=B.top,r=!0,d=!1,u=v.pointerId,e.classList.add(zw),typeof e.setPointerCapture=="function"&&e.setPointerCapture(v.pointerId),v.preventDefault()},m=v=>{var he;if(!r||v.pointerId!==u)return;let O=v.clientX-o,B=v.clientY-a;if(!d&&Math.abs(O)<sb&&Math.abs(B)<sb)return;d=!0,(he=n.onDragMove)==null||he.call(n);let oe=Cc(t),ce=Ic(s+O,l+B,oe.width,oe.height,window.innerWidth,window.innerHeight);xi(t,ce.left,ce.top),v.preventDefault()},g=v=>{typeof e.releasePointerCapture=="function"&&e.releasePointerCapture(v)},T=v=>{!r||v.pointerId!==u||(d&&v.preventDefault(),g(v.pointerId),p())},_=v=>{!r||v.pointerId!==u||(g(v.pointerId),p())},y=new AbortController,{signal:A}=y;return e.addEventListener("pointerdown",f,{signal:A}),e.addEventListener("pointermove",m,{signal:A}),e.addEventListener("pointerup",T,{signal:A}),e.addEventListener("pointercancel",_,{signal:A}),()=>{y.abort(),r&&g(u!=null?u:0),p()}}function Xw(t,e,n={}){let r=e.map(o=>TU(t,o,n));return()=>{for(let o of r)o()}}var zw,db=S(()=>{"use strict";ut();au();iu();iu();zw="reticle-drag-handle--dragging"});var ch,ub=S(()=>{"use strict";ut();mr();ch=`
|
|
163
|
+
[data-reticle-overlay][${Ye}="1"] [data-reticle-chat-panel]{
|
|
136
164
|
display:none !important;visibility:hidden !important;pointer-events:none !important;}
|
|
137
165
|
[${I}]{
|
|
138
166
|
position:absolute;right:0;left:auto;top:auto;bottom:calc(100% + 12px);z-index:30;
|
|
@@ -140,21 +168,21 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
140
168
|
max-width:min(272px,calc(100vw - 16px));
|
|
141
169
|
max-height:min(var(--reticle-settings-max-h,78vh),calc(100vh - 96px));
|
|
142
170
|
padding:0;border:none;border-radius:16px;overflow:hidden;
|
|
143
|
-
box-shadow:${
|
|
171
|
+
box-shadow:${hr};
|
|
144
172
|
color:var(--reticle-fg);font-size:13px;line-height:1.35;
|
|
145
173
|
opacity:0;pointer-events:none;visibility:hidden;touch-action:manipulation;
|
|
146
174
|
transform:translate3d(0,6px,0) scale(.98);
|
|
147
175
|
transition:opacity .14s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility .14s;
|
|
148
|
-
contain:none;isolation:isolate;${
|
|
149
|
-
[${
|
|
176
|
+
contain:none;isolation:isolate;${nu}}
|
|
177
|
+
[${D}][${_i}="below"] [${I}]{
|
|
150
178
|
bottom:auto;top:calc(100% + 12px);}
|
|
151
|
-
[${
|
|
179
|
+
[${D}][${Nt}="start"] [${I}]{
|
|
152
180
|
right:auto;left:0;}
|
|
153
|
-
[${
|
|
181
|
+
[${D}][${_i}="below"] [${I}].${An}::after{
|
|
154
182
|
top:auto;bottom:100%;margin-top:0;margin-bottom:-4px;box-shadow:-1px -1px 0 0 rgba(255,255,255,.08);}
|
|
155
|
-
[${
|
|
183
|
+
[${D}][${Nt}="start"] [${I}].${An}::after{
|
|
156
184
|
right:auto;left:14px;}
|
|
157
|
-
[data-reticle-overlay][${
|
|
185
|
+
[data-reticle-overlay][${Ye}="1"] [${I}]{
|
|
158
186
|
opacity:1;pointer-events:auto;visibility:visible;transform:translate3d(0,0,0) scale(1);}
|
|
159
187
|
[${I}] .reticle-settings-inner{
|
|
160
188
|
position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
|
|
@@ -164,7 +192,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
164
192
|
padding:12px 14px 8px;border-bottom:1px solid rgba(255,255,255,.06);}
|
|
165
193
|
[${I}] .reticle-settings-title{
|
|
166
194
|
font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);}
|
|
167
|
-
[${I}].${
|
|
195
|
+
[${I}].${An}::after{
|
|
168
196
|
content:"";position:absolute;top:100%;right:14px;width:8px;height:8px;margin-top:-4px;
|
|
169
197
|
background:#000;transform:rotate(45deg);box-shadow:1px 1px 0 0 rgba(255,255,255,.08);z-index:0;pointer-events:none;}
|
|
170
198
|
[${I}] .reticle-settings-close{
|
|
@@ -187,8 +215,10 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
187
215
|
[${I}] .reticle-settings-row{
|
|
188
216
|
display:flex;align-items:center;justify-content:space-between;gap:12px;
|
|
189
217
|
padding:8px 14px;min-height:30px;}
|
|
218
|
+
[${I}] .reticle-settings-labelcol{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;}
|
|
190
219
|
[${I}] .reticle-settings-label{
|
|
191
|
-
display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.
|
|
220
|
+
display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.86);font-size:13px;font-weight:500;}
|
|
221
|
+
[${I}] .reticle-settings-desc{color:rgba(255,255,255,.5);font-size:11px;line-height:1.35;}
|
|
192
222
|
[${I}] .reticle-settings-help{
|
|
193
223
|
display:inline-flex;align-items:center;justify-content:center;
|
|
194
224
|
width:14px;height:14px;border:none;border-radius:999px;padding:0;cursor:help;
|
|
@@ -217,7 +247,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
217
247
|
[${I}] .reticle-settings-toggle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
|
|
218
248
|
[${I}] .reticle-settings-row[data-disabled="1"]{opacity:.45;pointer-events:none;}
|
|
219
249
|
[${I}] .reticle-settings-section{
|
|
220
|
-
padding:10px 14px 6px;color:rgba(255,255,255,.38);font-size:
|
|
250
|
+
padding:10px 14px 6px;color:rgba(255,255,255,.38);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
|
|
221
251
|
[${I}] .reticle-settings-swatches{
|
|
222
252
|
display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;}
|
|
223
253
|
[${I}] .reticle-settings-swatch{
|
|
@@ -229,13 +259,13 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
229
259
|
border-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);}
|
|
230
260
|
[${I}] .reticle-settings-swatch:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:2px;}
|
|
231
261
|
[${I}] .reticle-settings-checkrow{
|
|
232
|
-
display:flex;align-items:center;gap:10px;padding:7px 14px;color:rgba(255,255,255,.
|
|
262
|
+
display:flex;align-items:center;gap:10px;padding:7px 14px;color:rgba(255,255,255,.86);font-size:13px;
|
|
233
263
|
cursor:pointer;user-select:none;margin:0;transition:background .12s;}
|
|
234
264
|
[${I}] .reticle-settings-checkrow:hover{background:rgba(255,255,255,.03);}
|
|
235
265
|
[${I}] .reticle-settings-check{
|
|
236
266
|
width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.22);
|
|
237
267
|
background:rgba(255,255,255,.04);display:inline-flex;align-items:center;justify-content:center;
|
|
238
|
-
color:transparent;font-size:
|
|
268
|
+
color:transparent;font-size:11px;line-height:1;flex:none;transition:background .12s,border-color .12s,color .12s;}
|
|
239
269
|
[${I}] .reticle-settings-check[data-on="1"]{
|
|
240
270
|
background:#fafafa;border-color:#fafafa;color:#111;}
|
|
241
271
|
[${I}] .reticle-settings-check:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
|
|
@@ -256,7 +286,19 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
256
286
|
[${I}] .reticle-settings-link-caret{display:inline-flex;align-items:center;flex:none;opacity:.55;}
|
|
257
287
|
[${I}] .reticle-settings-link:hover{background:rgba(255,255,255,.04);color:#fff;}
|
|
258
288
|
[${I}] .reticle-settings-link:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
|
|
259
|
-
[
|
|
289
|
+
[${I}] .reticle-settings-kill-row{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.08);}
|
|
290
|
+
[${I}] .reticle-settings-kill{
|
|
291
|
+
width:100%;display:flex;align-items:center;justify-content:center;
|
|
292
|
+
border:1px solid rgba(239,68,68,.55);border-radius:8px;background:rgba(239,68,68,.12);color:#f87171;
|
|
293
|
+
font:inherit;font-size:13px;font-weight:600;padding:8px 12px;cursor:pointer;
|
|
294
|
+
transition:background .12s,border-color .12s,color .12s;}
|
|
295
|
+
[${I}] .reticle-settings-kill:hover{background:rgba(239,68,68,.22);border-color:#ef4444;color:#fca5a5;}
|
|
296
|
+
[${I}] .reticle-settings-kill[data-armed="1"]{background:#ef4444;border-color:#ef4444;color:#fff;}
|
|
297
|
+
[${I}] .reticle-settings-kill:focus-visible{outline:2px solid rgba(239,68,68,.6);outline-offset:2px;}
|
|
298
|
+
[${I}] .reticle-settings-kill-sub{margin:8px 0 0;font-size:11px;line-height:1.45;color:rgba(255,255,255,.55);}
|
|
299
|
+
/* The SDK version line sits straight in the foot, so it takes the rows' inset rather than none. */
|
|
300
|
+
[${I}] .reticle-settings-foot > .reticle-settings-kill-sub{padding:0 14px;}
|
|
301
|
+
[data-reticle-overlay][${Ye}="1"] [data-reticle-hud] .reticle-tb-tip{
|
|
260
302
|
opacity:0;visibility:hidden;transition-delay:0s;}
|
|
261
303
|
/* The dock's accent IS the theme's active colour, published as --reticle-accent on the overlay by
|
|
262
304
|
applyPresenterSettings. It used to be a seventh independent picker with its own attribute. */
|
|
@@ -279,86 +321,267 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
279
321
|
position:fixed;inset:0;z-index:1;background:rgba(0,0,0,.16);pointer-events:auto;}
|
|
280
322
|
[data-reticle-overlay][data-reticle-block="0"] [data-reticle-blocker]{
|
|
281
323
|
display:none;pointer-events:none;}
|
|
282
|
-
[data-reticle-overlay][data-reticle-hidden="1"] [${
|
|
324
|
+
[data-reticle-overlay][data-reticle-hidden="1"] [${D}],
|
|
283
325
|
[data-reticle-overlay][data-reticle-hidden="1"] [${I}]{display:none !important;}
|
|
284
326
|
|
|
285
|
-
`});function Xe(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function sl(t){try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}var Xh=T(()=>{"use strict"});function ey(t){let n=(t??"").trim().split(/[\s._-]+/).filter(r=>r.length>0).slice(0,2).map(r=>[...r][0]??"").join("");return n.length>0?n.toUpperCase():de.AVATAR_FALLBACK}function sa(t,e={},n=!1){if(t===void 0)return"";if(!t.signedIn)return n?`<div class="reticle-account" ${JA}><button type="button" class="reticle-account-signin" ${Ri} title="${de.SIGNIN_TITLE}" aria-label="${de.SIGNIN_TITLE}">${de.SIGNED_OUT}</button></div>`:"";let r=t.org??"",i=r.length>0?Xe(r):de.SIGNED_IN_AS,s=`<span class="reticle-account-avatar" aria-hidden="true">${Xe(ey(t.org))}</span>`,a=`<button type="button" class="reticle-account-trigger" ${Zh} aria-haspopup="true" aria-expanded="false" title="${de.TRIGGER_TITLE}" aria-label="${de.TRIGGER_TITLE}: ${i}">${s}</button>`;return`<div class="reticle-account" ${JA}>${a}${oD(t,e)}</div>`}function Uu(t,e){return e===void 0||e.length===0?"":`<div class="reticle-account-row"><span class="reticle-account-k">${Xe(t)}</span><span class="reticle-account-v" title="${Xe(e)}">${Xe(e)}</span></div>`}function oD(t,e){let n=t.org??"",r=`<div class="reticle-account-head"><span class="reticle-account-avatar reticle-account-avatar--lg" aria-hidden="true">${Xe(ey(t.org))}</span><span class="reticle-account-who"><span class="reticle-account-org">${n.length>0?Xe(n):de.SIGNED_IN_AS}</span>`+(t.email!==void 0&&t.email.length>0?`<span class="reticle-account-email" title="${Xe(t.email)}">${Xe(t.email)}</span>`:`<span class="reticle-account-email">${de.SIGNED_IN_AS}</span>`)+"</span></div>",i=Uu(de.HOST_LABEL,t.host)+Uu(de.PROJECT_LABEL,e.projectName)+Uu(de.VERDICTS_LABEL,e.verdicts!==void 0?String(e.verdicts):void 0)+Uu(de.DEFECTS_LABEL,e.defects!==void 0?String(e.defects):void 0),a=e.dashboardUrl!==void 0&&sl(e.dashboardUrl)?`<a class="reticle-account-action" data-reticle-account-dashboard href="${Xe(e.dashboardUrl??"")}" target="_blank" rel="noreferrer noopener" title="${de.DASHBOARD_TITLE}">${Te(V.VIEW,ie.HELP)}<span>${de.DASHBOARD_ACTION}</span></a>`:`<button type="button" class="reticle-account-action reticle-account-action--hint" ${Ri} data-reticle-copy="${de.LINK_COMMAND}" title="${de.LINK_HINT}"><span>${de.LINK_HINT}</span></button>`,l=`<button type="button" class="reticle-account-action" ${nD} data-reticle-copy="${de.SIGNOUT_COMMAND}" title="${de.SIGNOUT_TITLE}"><span>${de.SIGNOUT_ACTION}</span></button>`;return`<div class="reticle-account-menu" ${Hu} role="menu" aria-label="${de.MENU_LABEL}" aria-hidden="true" hidden>`+r+(i.length>0?`<div class="reticle-account-rows">${i}</div>`:"")+`<div class="reticle-account-actions">${a}${l}</div></div>`}function Jh(t){return t===void 0||!sl(t)?"":`<button type="button" class="reticle-sync-now" ${Qh} title="${de.SYNC_TITLE}" aria-label="${de.SYNC_TITLE}">${Te(V.SYNC,ie.HELP)}</button>`}function ty(t){let e=new AbortController,{signal:n}=e,r=s=>{for(let a of t.querySelectorAll(`[${Hu}]`))a!==s&&(a.setAttribute("hidden",""),a.setAttribute("aria-hidden","true"));for(let a of t.querySelectorAll(`[${Zh}]`))s!==void 0&&a.parentElement===s.parentElement||a.setAttribute("aria-expanded","false")},i=s=>{let a=s.querySelector("span")??s,l=a.textContent;a.textContent=de.COPIED,setTimeout(()=>{a.textContent=l},rD)};return t.addEventListener("click",s=>{let a=s.target;if(!(a instanceof Element))return;let l=a.closest(`[${Zh}]`);if(l instanceof HTMLElement){s.preventDefault(),s.stopPropagation();let f=l.parentElement?.querySelector(`[${Hu}]`);if(!(f instanceof HTMLElement))return;let g=!f.hasAttribute("hidden");if(r(),g)return;f.removeAttribute("hidden"),f.setAttribute("aria-hidden","false"),l.setAttribute("aria-expanded","true");return}let d=a.closest("[data-reticle-copy]");if(d instanceof HTMLElement){s.preventDefault(),s.stopPropagation();let f=d.getAttribute("data-reticle-copy")??"";f.length>0&&navigator.clipboard?.writeText(f).catch(()=>{}),i(d);return}let u=a.closest(`[${Ri}]`);if(u instanceof HTMLElement){s.preventDefault(),s.stopPropagation(),navigator.clipboard?.writeText(de.SIGNIN_COMMAND).catch(()=>{}),i(u);return}r()},{signal:n}),document.addEventListener("pointerdown",s=>{let a=s.target;a instanceof Node&&t.contains(a)||r()},{signal:n}),document.addEventListener("keydown",s=>{s.key!=="Escape"||t.querySelector(`[${Hu}]:not([hidden])`)===null||(s.stopPropagation(),r())},{signal:n}),()=>e.abort()}var JA,Ri,Qh,Zh,Hu,nD,de,rD,al=T(()=>{"use strict";Xn();Xh();JA="data-reticle-account",Ri="data-reticle-account-signin",Qh="data-reticle-sync-now",Zh="data-reticle-account-trigger",Hu="data-reticle-account-menu",nD="data-reticle-account-signout",de={SIGNED_OUT:"Sign in",SIGNIN_TITLE:"Run `reticle login` in your terminal \u2014 click to copy the command",SIGNIN_COMMAND:"reticle login",DASHBOARD_TITLE:"Open this project on the dashboard",SYNC_TITLE:"Push to the dashboard now, instead of waiting for the next sync",COPIED:"Copied",AVATAR_FALLBACK:"\u2022",MENU_LABEL:"Reticle account",TRIGGER_TITLE:"Your Reticle account",SIGNED_IN_AS:"Signed in",DASHBOARD_ACTION:"Open dashboard",LINK_HINT:"Not linked \u2014 run `reticle link` to keep a record on the dashboard",LINK_COMMAND:"reticle link",SIGNOUT_ACTION:"Sign out",SIGNOUT_TITLE:"Run `reticle logout` in your terminal \u2014 click to copy the command",SIGNOUT_COMMAND:"reticle logout",PROJECT_LABEL:"Project",HOST_LABEL:"Host",VERDICTS_LABEL:"Verdicts",DEFECTS_LABEL:"Defects found"},rD=1200});var ly={};Va(ly,{OutputDetail:()=>On,PresenterSettingsPanel:()=>ll,SETTINGS_ACCOUNT_ATTR:()=>sm,SETTINGS_CSS:()=>$u,blockerHtml:()=>lm,getPresenterSettings:()=>Bt,loadPresenterSettings:()=>im,paintHarnessRow:()=>ay,paintSettingsAccount:()=>am,settingsPanelHtml:()=>cm,statusTheme:()=>dl,syncPageBlocker:()=>ul});function dl(t){return om.find(e=>e.id===t)??iD}function Bt(){return Ze}function im(){if(typeof localStorage>"u")return{...cn};try{let t=localStorage.getItem(Gh);if(t===null)return{...cn};let e=JSON.parse(t);if(typeof e!="object"||e===null)return{...cn};let n=e;return{outputDetail:sD(n.outputDetail)?n.outputDetail:cn.outputDetail,reactComponents:n.reactComponents===!0,hideUntilRestart:!1,statusThemeId:aD(n.statusThemeId)?n.statusThemeId:cn.statusThemeId,ambientGlow:typeof n.ambientGlow=="boolean"?n.ambientGlow:cn.ambientGlow,clearOnCopy:n.clearOnCopy===!0,blockPageInteractions:typeof n.blockPageInteractions=="boolean"?n.blockPageInteractions:cn.blockPageInteractions,showTally:typeof n.showTally=="boolean"?n.showTally:cn.showTally,showTimestamps:typeof n.showTimestamps=="boolean"?n.showTimestamps:cn.showTimestamps,autoOpenChat:typeof n.autoOpenChat=="boolean"?n.autoOpenChat:cn.autoOpenChat,reduceMotion:typeof n.reduceMotion=="boolean"?n.reduceMotion:cn.reduceMotion}}catch{return{...cn}}}function sD(t){return t===On.MINIMAL||t===On.STANDARD||t===On.VERBOSE}function aD(t){return om.some(e=>e.id===t)}function cD(t){if(Ze=t,!(typeof localStorage>"u"))try{localStorage.setItem(Gh,JSON.stringify(t))}catch{}}function lD(t){let e={...Ze,...t};return cD(e),e}function dD(){return Te(V.HELP,ie.HELP)}function em(t,e){let n=dD();return`<span class="reticle-settings-label">${t}<button type="button" class="reticle-settings-help" data-reticle-settings-help title="${e}" aria-label="${e}">${n}</button></span>`}function To(t,e,n,r=""){return`<div class="reticle-settings-row" ${r}>
|
|
286
|
-
${
|
|
287
|
-
<button type="button" class="reticle-settings-toggle" ${
|
|
288
|
-
</div>`}function
|
|
289
|
-
<span class="reticle-settings-check" data-reticle-check="${t}" role="checkbox" aria-checked="${
|
|
290
|
-
<span class="reticle-settings-check-label">${
|
|
291
|
-
</label>`}function
|
|
327
|
+
`});function Zw(t){return su!=null||(su=new Set([...SU,...Object.entries(_U).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),su.has(t)}var SU,qw,_U,su,Qw=S(()=>{"use strict";SU=["fab","pause","chat-toggle","markers-btn","end","clear-marks","copy-marks","copy","export","annotate-btn","report-btn","settings-btn","min-btn","chat-min","chat-pill","chat-impact","copy-all-notes","promo-link","replay","carousel-dot","carousel-prev","carousel-next","carousel-close","page-close","team-open","team-save","talk-book","account-signin","account-trigger","account-signout","account-dashboard","sync-now","report-scope","report-close","share-x","share-in","share-copy","refer","settings-close","settings-help","settings-reset","settings-mcp","settings-kill","feedback-email","feedback-call","workspace-btn","workspace-copy","mark-cancel","mark-send","harness-switch","harness-run","harness-stop","harness-open","harness-toggle","harness-link","harness-copy-prompt","agent-copy","defects-all","plan-close","plan-journey"],qw=["setting","check","settings-cycle","theme","tour-target","link","annotation-tab","chat-view-btn"],_U={setting:["autoOpenChat","showTimestamps","showTally","reactComponents","hideUntilRestart","harnessEnabled","reduceMotion","ambientGlow"],check:["blockPageInteractions","clearOnCopy"],"settings-cycle":["outputDetail"],theme:["signal","traffic","mono","neon","ember"],"tour-target":["copy","back","done","next","skip"],link:["docs","github","site","discord","defect","dashboard"],"annotation-tab":["current","history"],"chat-view-btn":["activity","flows","annotations","harness"]}});function vU(t){try{let e=new URL(t);return e.protocol!=="https:"?!1:xU.has(e.hostname)?!0:AU===e.hostname&&e.pathname.startsWith(yU)}catch{return!1}}var xU,AU,yU,pb,RU,yq,Jw=S(()=>{"use strict";ne();xU=new Set(["reticle.sh","www.reticle.sh","app.reticle.sh","docs.reticle.sh"]),AU="github.com",yU="/reticlehq/";pb=i.object({id:i.string().regex(/^[a-z0-9-]{1,48}$/),kicker:i.string().min(1).max(40).optional(),title:i.string().min(1).max(80),detail:i.string().min(1).max(120).optional(),cta:i.object({label:i.string().min(1).max(24),url:i.string().refine(vU)}).optional()}),RU=i.object({signedIn:i.boolean().optional(),entitled:i.boolean().optional()}),yq=pb.extend({audience:RU.optional(),from:i.string().optional(),until:i.string().optional(),minSdk:i.string().optional(),weight:i.number().optional()})});function Ai(t){return t!==void 0&&t.used>=t.limit}function o0(t){let e=`${$a(Math.max(0,t.limit-t.used))} of ${$a(t.limit)}`;return nt.FREE===t.kind?`${e} free credits`:nt.TRIAL===t.kind?`${e} trial credits`:`${e} credits left`}function hb(t){let e=t.kind===void 0?void 0:NU[t.kind],n=Math.max(0,t.limit-t.used),r=t.daysLeft===void 0?"":` \xB7 ${String(t.daysLeft)} day${t.daysLeft===1?"":"s"} left`;return`${e===void 0?"":`${e}: `}${$a(t.used)} of ${$a(t.limit)} credits used \xB7 ${$a(n)} left${r}`}function lh(t){return nt.FREE===t.kind?{said:`Your ${$a(t.limit)} free credits are used.`,action:`Add a card to start your ${String(fb)}-day trial`}:nt.TRIAL===t.kind?{said:`Your ${$a(t.limit)} trial credits are used. Pro starts when your trial ends.`}:{said:"This month's credits are used. They renew over the next 30 days."}}var fb,e0,t0,n0,r0,$a,NU,i0=S(()=>{"use strict";_g();fb=14,e0=10,t0=500,n0=`Sign up: ${String(e0)} free credits to try Reticle Harness \xB7 add a card for a ${String(t0)}-credit, ${String(fb)}-day trial`,r0=`a card starts a ${String(fb)}-day trial with ${String(t0)} Harness credits; without one, ${String(e0)} sign-up credits`,$a=t=>t.toLocaleString("en-US",{maximumFractionDigits:2});NU={[nt.FREE]:"Free",[nt.TRIAL]:"Trial"}});var Lc=S(()=>{"use strict";Qw();Jw();i0()});function Z(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Co(t){try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}var Pa=S(()=>{"use strict"});function cu(t,e){let n=document.createElement("template");n.innerHTML=e,a0(t,n.content)}function a0(t,e){let n=[...t.childNodes],r=[...e.childNodes];r.forEach((o,a)=>{let s=n[a];s===void 0?t.appendChild(o):s.nodeType===o.nodeType&&s.nodeName===o.nodeName?wU(s,o):t.replaceChild(o,s)});for(let o of n.slice(r.length))t.removeChild(o)}function wU(t,e){if(!(t instanceof Element)||!(e instanceof Element)){t.nodeValue!==e.nodeValue&&(t.nodeValue=e.nodeValue);return}for(let{name:n}of[...t.attributes])e.hasAttribute(n)||t.removeAttribute(n);for(let{name:n,value:r}of[...e.attributes])t.getAttribute(n)!==r&&t.setAttribute(n,r);a0(t,e)}var mb=S(()=>{"use strict"});function c0(t){let n=(t!=null?t:"").trim().split(/[\s._-]+/).filter(r=>r.length>0).slice(0,2).map(r=>{var o;return(o=[...r][0])!=null?o:""}).join("");return n.length>0?n.toUpperCase():te.AVATAR_FALLBACK}function Dc(t,e={},n=!1){var l;if(t===void 0)return"";if(!t.signedIn)return n?`<div class="reticle-account" ${s0}><button type="button" class="reticle-account-signin" ${wt} title="${te.SIGNIN_TITLE}" aria-label="${te.SIGNIN_TITLE}">${te.SIGNED_OUT}</button></div>`:"";let r=(l=t.org)!=null?l:"",o=r.length>0?Z(r):te.SIGNED_IN_AS,a=`<span class="reticle-account-avatar" aria-hidden="true">${Z(c0(t.org))}</span>`,s=`<button type="button" class="reticle-account-trigger" ${uh} aria-haspopup="true" aria-expanded="false" title="${te.TRIGGER_TITLE}" aria-label="${te.TRIGGER_TITLE}: ${o}">${a}</button>`;return`<div class="reticle-account" ${s0}>${s}${LU(t,e)}</div>`}function Lo(t,e){return e===void 0||e.length===0?"":`<div class="reticle-account-row"><span class="reticle-account-k">${Z(t)}</span><span class="reticle-account-v" title="${Z(e)}">${Z(e)}</span></div>`}function LU(t,e){var d,u;let n=(d=t.org)!=null?d:"",r=`<div class="reticle-account-head"><span class="reticle-account-avatar reticle-account-avatar--lg" aria-hidden="true">${Z(c0(t.org))}</span><span class="reticle-account-who"><span class="reticle-account-org">${n.length>0?Z(n):te.SIGNED_IN_AS}</span>`+(t.email!==void 0&&t.email.length>0?`<span class="reticle-account-email" title="${Z(t.email)}">${Z(t.email)}</span>`:n.length>0?`<span class="reticle-account-email">${te.SIGNED_IN_AS}</span>`:"")+"</span></div>",o=Lo(te.HOST_LABEL,t.host)+Lo(te.PROJECT_LABEL,e.projectName)+Lo(te.VERDICTS_LABEL,e.verdicts!==void 0?String(e.verdicts):void 0)+Lo(te.DEFECTS_LABEL,e.defects!==void 0?String(e.defects):void 0)+Lo(te.ON_PLATFORM_LABEL,e.onPlatform)+Lo(te.PLAN_LABEL,e.plan)+Lo(te.CREDITS_LABEL,e.credits)+Lo(te.HARNESS_RUNS_LABEL,e.harnessRuns)+Lo(te.MEMORY_LABEL,e.memory),s=e.dashboardUrl!==void 0&&Co(e.dashboardUrl)?`<a class="reticle-account-action" data-reticle-account-dashboard href="${Z((u=e.dashboardUrl)!=null?u:"")}" target="_blank" rel="noreferrer noopener" title="${te.DASHBOARD_TITLE}">${Ee(Y.VIEW,pe.HELP)}<span>${te.DASHBOARD_ACTION}</span></a>`:`<button type="button" class="reticle-account-action reticle-account-action--hint" ${wt} data-reticle-copy="${te.LINK_COMMAND}" title="${te.LINK_HINT}"><span>${te.LINK_HINT}</span></button>`,l=`<button type="button" class="reticle-account-action" ${OU} data-reticle-copy="${te.SIGNOUT_COMMAND}" title="${te.SIGNOUT_TITLE}"><span>${te.SIGNOUT_ACTION}</span></button>`;return`<div class="reticle-account-menu" ${yi} role="menu" aria-label="${te.MENU_LABEL}" aria-hidden="true" hidden>`+r+(o.length>0?`<div class="reticle-account-rows">${o}</div>`:"")+`<div class="reticle-account-actions">${s}${l}</div></div>`}function l0(t,e){let n=t==null?void 0:t.plan,r=e==null?void 0:e.onPlatform;return{...n===void 0?{}:{plan:[kU[n.kind],n.daysLeft===void 0?"":`${gb(n.daysLeft,"day","days")} left`,n.seats===void 0?"":gb(n.seats,"seat","seats")].filter(o=>o.length>0).join(" \xB7 ")},...(t==null?void 0:t.credits)===void 0?{}:{credits:`${Math.max(0,t.credits.limit-t.credits.used).toLocaleString("en-US")} of ${t.credits.limit.toLocaleString("en-US")} left`},...(t==null?void 0:t.harnessRuns)===void 0?{}:{harnessRuns:String(t.harnessRuns)},...(t==null?void 0:t.memoryEntries)===void 0?{}:{memory:gb(t.memoryEntries,"entry","entries")},...typeof r=="number"?{onPlatform:String(r)}:{}}}function d0(t,e){return t===void 0||!t.signedIn?"":e!==void 0&&Co(e)?`<a ${IU} class="reticle-team-link" href="${Z(e)}" target="_blank" rel="noreferrer noopener" title="${Z(dh.OPEN_TITLE)}">${dh.OPEN}</a>`:`<button type="button" ${lu} class="reticle-team-link" title="${Z(dh.SAVE_TITLE)}"><span>${dh.SAVE_LINK}</span></button>`}function du(t,e){var o;let n=t.querySelector(`[${yi}]:not([hidden])`)!==null;if(cu(t,e),!n)return;let r=t.querySelector(`[${yi}]`);r!==null&&(r.removeAttribute("hidden"),r.setAttribute("aria-hidden","false"),(o=t.querySelector(`[${uh}]`))==null||o.setAttribute("aria-expanded","true"))}function bb(t){return t===void 0||!Co(t)?"":`<button type="button" class="reticle-sync-now" ${Eb} title="${te.SYNC_TITLE}" aria-label="${te.SYNC_TITLE}">${Ee(Y.SYNC,pe.HELP)}</button>`}function u0(t,e){let n=new AbortController,{signal:r}=n,o=l=>{for(let d of t.querySelectorAll(`[${yi}]`))d!==l&&(d.setAttribute("hidden",""),d.setAttribute("aria-hidden","true"));for(let d of t.querySelectorAll(`[${uh}]`))l!==void 0&&d.parentElement===l.parentElement||d.setAttribute("aria-expanded","false")},a=(l,d)=>{var f;let u=(f=l.querySelector("span"))!=null?f:l,p=u.textContent;u.textContent=d,setTimeout(()=>{u.textContent=p},CU)},s=async(l,d)=>{try{if(navigator.clipboard===void 0)throw new Error("Clipboard unavailable");await navigator.clipboard.writeText(l),a(d,te.COPIED)}catch{a(d,l===te.SIGNOUT_COMMAND?te.SIGNOUT_COPY_FAILED:`Run ${l} in terminal`)}};return t.addEventListener("click",l=>{var m,g;let d=l.target;if(!(d instanceof Element))return;let u=d.closest(`[${uh}]`);if(u instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(m=u.parentElement)==null?void 0:m.querySelector(`[${yi}]`);if(!(T instanceof HTMLElement))return;let _=!T.hasAttribute("hidden");if(o(),_)return;T.removeAttribute("hidden"),T.setAttribute("aria-hidden","false"),u.setAttribute("aria-expanded","true");return}let p=d.closest("[data-reticle-copy]");if(p instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(g=p.getAttribute("data-reticle-copy"))!=null?g:"";T.length>0&&s(T,p);return}let f=d.closest(`[${wt}]`);if(f instanceof HTMLElement){l.preventDefault(),l.stopPropagation(),e==null||e(),s(te.SIGNIN_COMMAND,f);return}o()},{signal:r}),document.addEventListener("pointerdown",l=>{let d=l.target;d instanceof Node&&t.contains(d)||o()},{signal:r}),document.addEventListener("keydown",l=>{l.key!=="Escape"||t.querySelector(`[${yi}]:not([hidden])`)===null||(l.stopPropagation(),o())},{signal:r}),()=>n.abort()}var s0,wt,Eb,uh,yi,OU,IU,lu,kc,dh,te,CU,kU,gb,Br=S(()=>{"use strict";H();Lc();ur();Pa();mb();s0="data-reticle-account",wt="data-reticle-account-signin",Eb="data-reticle-sync-now",uh="data-reticle-account-trigger",yi="data-reticle-account-menu",OU="data-reticle-account-signout",IU="data-reticle-team-open",lu="data-reticle-team-save",kc="data-reticle-team",dh={OPEN:"Open on dashboard \u2197",OPEN_TITLE:"This project's runs, kept for your team on the Reticle dashboard",SAVE_LINK:"Save runs for your team",SAVE_TITLE:`Keep every run, flow and Harness result on a dashboard your team shares. On Reticle, ${r0}.`},te={SIGNED_OUT:"Sign in",SIGNIN_TITLE:"Sign in through your browser. Also copies `reticle connect`, for a terminal",SIGNIN_COMMAND:"reticle connect",DASHBOARD_TITLE:"Open this project on the dashboard",SYNC_TITLE:"Push to the dashboard now, instead of waiting for the next sync",COPIED:"Copied",AVATAR_FALLBACK:"\u2022",MENU_LABEL:"Reticle account",TRIGGER_TITLE:"Your Reticle account",SIGNED_IN_AS:"Signed in",DASHBOARD_ACTION:"Open dashboard",LINK_HINT:"Not linked \u2014 run `reticle connect` to keep a record on the dashboard",LINK_COMMAND:"reticle connect",SIGNOUT_ACTION:"Copy sign-out command",SIGNOUT_TITLE:"Copy `reticle logout` to run in your terminal",SIGNOUT_COMMAND:"reticle logout",SIGNOUT_COPY_FAILED:"Run reticle logout in terminal",PROJECT_LABEL:"Project",HOST_LABEL:"Host",VERDICTS_LABEL:"Verdicts",DEFECTS_LABEL:"Defects found",PLAN_LABEL:"Plan",CREDITS_LABEL:"Credits",HARNESS_RUNS_LABEL:"Harness runs",MEMORY_LABEL:"Memory",ON_PLATFORM_LABEL:"Runs on dashboard"},CU=1200;kU={[nt.FREE]:"Free",[nt.TRIAL]:"Trial",[nt.PAID]:"Pro"},gb=(t,e,n)=>`${String(t)} ${t===1?e:n}`});var A0={};bs(A0,{HARNESS_LOCKED_HELP:()=>b0,OutputDetail:()=>Er,PresenterSettingsPanel:()=>pu,SETTINGS_ACCOUNT_ATTR:()=>Nb,SETTINGS_CSS:()=>ch,blockerHtml:()=>Cb,creditsLeft:()=>T0,getPresenterSettings:()=>yn,loadPresenterSettings:()=>Rb,paintHarnessRow:()=>S0,paintSdkVersion:()=>Ob,paintSettingsAccount:()=>wb,settingsPanelHtml:()=>Ib,statusTheme:()=>fu,syncPageBlocker:()=>hh});function fu(t){var e;return(e=vb.find(n=>n.id===t))!=null?e:DU}function yn(){return Et}function Rb(){if(typeof localStorage=="undefined")return{...Kn};try{let t=localStorage.getItem(ab);if(t===null)return{...Kn};let e=JSON.parse(t);if(typeof e!="object"||e===null)return{...Kn};let n=e;return{outputDetail:MU(n.outputDetail)?n.outputDetail:Kn.outputDetail,reactComponents:n.reactComponents===!0,hideUntilRestart:!1,statusThemeId:$U(n.statusThemeId)?n.statusThemeId:Kn.statusThemeId,ambientGlow:typeof n.ambientGlow=="boolean"?n.ambientGlow:Kn.ambientGlow,clearOnCopy:n.clearOnCopy===!0,blockPageInteractions:typeof n.blockPageInteractions=="boolean"?n.blockPageInteractions:Kn.blockPageInteractions,showTally:typeof n.showTally=="boolean"?n.showTally:Kn.showTally,showTimestamps:typeof n.showTimestamps=="boolean"?n.showTimestamps:Kn.showTimestamps,autoOpenChat:typeof n.autoOpenChat=="boolean"?n.autoOpenChat:Kn.autoOpenChat,reduceMotion:typeof n.reduceMotion=="boolean"?n.reduceMotion:Kn.reduceMotion}}catch{return{...Kn}}}function MU(t){return t===Er.MINIMAL||t===Er.STANDARD||t===Er.VERBOSE}function $U(t){return vb.some(e=>e.id===t)}function PU(t){if(Et=t,typeof localStorage!="undefined")try{localStorage.setItem(ab,JSON.stringify(t))}catch{}}function HU(t){let e={...Et,...t};return PU(e),e}function UU(){return Ee(Y.HELP,pe.HELP)}function Tb(t,e,n=""){let r=UU(),o=n===""?"":`<span class="reticle-settings-desc">${n}</span>`;return`<span class="reticle-settings-labelcol"><span class="reticle-settings-label">${t}<button type="button" class="reticle-settings-help" data-reticle-settings-help title="${e}" aria-label="${e}">${r}</button></span>${o}</span>`}function vi(t,e,n=""){let[r,o]=Mc[t];return`<div class="reticle-settings-row" ${n}>
|
|
328
|
+
${Tb(r,e,o)}
|
|
329
|
+
<button type="button" class="reticle-settings-toggle" ${Rc}="${t}" role="switch" aria-checked="false"></button>
|
|
330
|
+
</div>`}function p0(t,e){let[n,r]=Mc[t];return`<label class="reticle-settings-checkrow" data-reticle-check-row="${t}">
|
|
331
|
+
<span class="reticle-settings-check" data-reticle-check="${t}" role="checkbox" aria-checked="${e?"true":"false"}" tabindex="0"></span>
|
|
332
|
+
<span class="reticle-settings-labelcol"><span class="reticle-settings-check-label">${n}</span><span class="reticle-settings-desc">${r}</span></span>
|
|
333
|
+
</label>`}function T0(t){return t===void 0?"":Ai(t)?lh(t).said:o0(t)}function S0(t,e,n){let r=t.querySelector(`[${g0}]`);if(!(r instanceof HTMLElement))return;if(e===void 0){r.hidden=!0;return}r.hidden=!1;let o=r.querySelector(`[${Rc}="harnessEnabled"]`);if(!(o instanceof HTMLElement))return;let a=n!==void 0&&!n.unlocked?n.reason:void 0,s=e.harnessEntitled&&a===void 0;o.setAttribute("aria-checked",e.harnessEnabled&&s?"true":"false"),o.setAttribute("aria-disabled",s?"false":"true");let l=r.querySelector("[data-reticle-settings-help]"),d=T0(e.credits);l instanceof HTMLElement&&(l.title=a!=null?a:s?[E0,d].filter(u=>0<u.length).join(" "):Ai(e.credits)?d:b0)}function wb(t,e,n,r={}){let o=t.querySelector(`[${m0}]`),a=t.querySelector(`[${Nb}]`);if(!(o instanceof HTMLElement)||!(a instanceof HTMLElement))return;let s=Dc(e,{...r,dashboardUrl:n},!0);o.hidden=s.length===0,du(a,s)}function Ob(t,e){let n=t.querySelector(`[${_0}]`);n!==null&&(n.textContent=e===void 0?_b.UNKNOWN:_b.KNOWN(e))}function Ib(){let t=Ee(Y.REMOVE,pe.MIN),e=Ee(Y.CARET_RIGHT,pe.HELP),n="How much detail is included when you copy or export the run",r="Include React component paths in exported run state when available",o="Hide the Reticle HUD until you reload the page",a=E0;return`<div ${I} class="reticle-settings ${An}" role="region" aria-label="Reticle settings" aria-hidden="true">
|
|
292
334
|
<div class="reticle-settings-inner">
|
|
293
335
|
<div class="reticle-settings-head">
|
|
294
336
|
<span class="reticle-settings-title">Settings</span>
|
|
295
|
-
<button type="button" ${
|
|
337
|
+
<button type="button" ${ib} class="reticle-settings-close" title="Close settings" aria-label="Close settings">${t}</button>
|
|
296
338
|
</div>
|
|
297
339
|
<div class="reticle-settings-body">
|
|
298
340
|
<div class="reticle-settings-section">Session</div>
|
|
299
341
|
<div class="reticle-settings-row">
|
|
300
|
-
${
|
|
342
|
+
${Tb(Mc.outputDetail[0],n,Mc.outputDetail[1])}
|
|
301
343
|
<button type="button" class="reticle-settings-cycle" data-reticle-settings-cycle="outputDetail"><span data-reticle-cycle-label></span><span class="reticle-settings-dots" data-reticle-cycle-dots></span></button>
|
|
302
344
|
</div>
|
|
303
|
-
${
|
|
304
|
-
${
|
|
305
|
-
${
|
|
345
|
+
${vi("autoOpenChat","On by default. Opens the agent chat by itself when a session starts and when you expand the HUD. Off leaves the toolbar bare until you ask for the chat.")}
|
|
346
|
+
${vi("showTimestamps","Show relative timestamps on each activity-log row")}
|
|
347
|
+
${vi("showTally","Show the pass/fail score pill in the toolbar")}
|
|
306
348
|
<div class="reticle-settings-section">Inspector</div>
|
|
307
|
-
${
|
|
349
|
+
${vi("reactComponents",r,"data-reticle-settings-react-row")}
|
|
308
350
|
<div class="reticle-settings-section">Interaction</div>
|
|
309
|
-
${
|
|
310
|
-
${
|
|
311
|
-
${
|
|
312
|
-
${
|
|
313
|
-
${
|
|
351
|
+
${p0("blockPageInteractions",!0)}
|
|
352
|
+
${p0("clearOnCopy",!1)}
|
|
353
|
+
${vi("hideUntilRestart",o)}
|
|
354
|
+
${vi("harnessEnabled",a,`${g0} hidden`)}
|
|
355
|
+
${vi("reduceMotion","Reduce HUD animations for accessibility")}
|
|
314
356
|
<div class="reticle-settings-section">Account</div>
|
|
315
|
-
<div class="reticle-settings-row" ${
|
|
316
|
-
${
|
|
317
|
-
<span ${
|
|
357
|
+
<div class="reticle-settings-row" ${m0} hidden>
|
|
358
|
+
${Tb(Mc.workspace[0],FU,Mc.workspace[1])}
|
|
359
|
+
<span ${Nb}></span>
|
|
318
360
|
</div>
|
|
319
361
|
<div class="reticle-settings-section">Status theme</div>
|
|
320
|
-
${
|
|
362
|
+
${vi("ambientGlow","Glow the page edges in the status colour while a session is live. Off keeps the HUD signals and leaves your app alone.")}
|
|
321
363
|
<div class="reticle-settings-themes" data-reticle-settings-themes></div>
|
|
322
|
-
|
|
323
|
-
|
|
364
|
+
<div class="reticle-settings-section">Help</div>
|
|
365
|
+
<div class="reticle-settings-foot">
|
|
324
366
|
<button type="button" class="reticle-settings-reset" data-reticle-settings-reset>Reset HUD position</button>
|
|
325
|
-
<button type="button" class="reticle-settings-link" data-reticle-settings-mcp>
|
|
326
|
-
<a class="reticle-settings-link" data-reticle-feedback-email href="${
|
|
327
|
-
<a class="reticle-settings-link" data-reticle-feedback-call href="${
|
|
367
|
+
<button type="button" class="reticle-settings-link" data-reticle-settings-mcp>MCP setup guide<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></button>
|
|
368
|
+
<a class="reticle-settings-link" data-reticle-feedback-email href="${D_}" target="_blank" rel="noopener noreferrer" title="${ph.EMAIL_TITLE}">${ph.EMAIL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
|
|
369
|
+
<a class="reticle-settings-link" data-reticle-feedback-call href="${Tp}" target="_blank" rel="noopener noreferrer" title="${ph.CALL_TITLE}">${ph.CALL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
|
|
370
|
+
<p class="reticle-settings-kill-sub" ${_0}>${_b.UNKNOWN}</p>
|
|
371
|
+
<div class="reticle-settings-kill-row">
|
|
372
|
+
<button type="button" class="reticle-settings-kill" ${Sb}><span data-reticle-kill-label>${fh.LABEL}</span></button>
|
|
373
|
+
<p class="reticle-settings-kill-sub">${fh.WARNING}</p>
|
|
374
|
+
</div>
|
|
375
|
+
</div>
|
|
328
376
|
</div>
|
|
329
377
|
</div>
|
|
330
|
-
</div>`}function ry(t,e){let n=dl(e.statusThemeId);t.style.setProperty("--reticle-mark-accent",n.active),t.style.setProperty("--reticle-accent",n.active),t.style.setProperty("--reticle-c-active",n.active),t.style.setProperty("--reticle-c-idle",n.idle),t.style.setProperty("--reticle-c-ended",n.ended),t.setAttribute(LA,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(jh,"1"):t.removeAttribute(jh),t.setAttribute(yu,e.showTimestamps?"1":"0"),t.setAttribute(Zn,e.reduceMotion?"1":"0");let r=t.querySelector("[data-reticle-tally]");r instanceof HTMLElement&&!e.showTally&&r.setAttribute("hidden","")}function ul(t,e,n){t.setAttribute(kA,e.blockPageInteractions&&n?"1":"0")}function lm(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var On,vi,om,iD,cl,cn,Ze,sm,oy,iy,sy,uD,pD,Fu,At,st,Qn,Dr,ce,tm,ln,nm,_o,rm,cy,ll,aa=T(()=>{"use strict";it();Xn();Lr();Yh();Pu();qh();D();al();On={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},vi={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},om=[{id:vi.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:vi.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:vi.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:vi.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:vi.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],iD={id:vi.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};cl=[{value:On.MINIMAL,label:"Minimal"},{value:On.STANDARD,label:"Standard"},{value:On.VERBOSE,label:"Verbose"}],cn={outputDetail:On.STANDARD,statusThemeId:vi.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},Ze=im();sm="data-reticle-settings-account",oy="data-reticle-settings-account-row",iy="data-reticle-settings-harness-row",sy="Let Reticle drive this app by itself to find defects. Set here or in your dashboard \u2014 both write to the same place.",uD="Autonomous driving runs on Reticle\u2019s model spend, so it needs a plan or the free period. Claim it from the chat panel.",pD="Whether this machine is signed in to a Reticle workspace. Signing in happens in your terminal.";Fu={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${kE}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"};ll=class{constructor(e={}){m(this,ce);m(this,At);m(this,st);m(this,Qn);m(this,Dr);p(this,Dr,e),Ze=im()}contains(e){return c(this,st)?.contains(e)===!0}mount(e){p(this,At,e);let n=e.querySelector(`[${I}]`);p(this,st,n instanceof HTMLElement?n:void 0),c(this,st)?.addEventListener("pointerdown",s=>{s.stopPropagation()});let r=e.querySelector(`[${nl}]`);p(this,Qn,r instanceof HTMLElement?r:void 0);let i=e.querySelector(`[${Bh}]`);i instanceof HTMLElement&&kh(i,V.REMOVE,ie.MIN),c(this,Qn)!==void 0&&(kh(c(this,Qn),V.GEAR,ie.TOOLBAR),c(this,Qn).addEventListener("click",s=>{s.stopPropagation(),this.toggle()})),e.querySelector('[data-reticle-settings-cycle="outputDetail"]')?.addEventListener("click",s=>{s.stopPropagation();let a=cl.findIndex(d=>d.value===Ze.outputDetail),l=cl[(a+1)%cl.length];l!==void 0&&h(this,ce,ln).call(this,{outputDetail:l.value})});for(let s of e.querySelectorAll(".reticle-settings-help"))s.addEventListener("click",a=>{a.stopPropagation()});for(let s of e.querySelectorAll(`[${ra}]`)){let a=()=>{if(!(s instanceof HTMLElement))return;let l=s.getAttribute(ra);if(l==="harnessEnabled"){if(s.getAttribute("aria-disabled")==="true")return;let d=s.getAttribute("aria-checked")!=="true";s.setAttribute("aria-checked",d?"true":"false"),c(this,Dr).onHarness?.(d)}else if(l==="reactComponents")h(this,ce,ln).call(this,{reactComponents:!Ze.reactComponents});else if(l==="hideUntilRestart"){let d=!Ze.hideUntilRestart;h(this,ce,ln).call(this,{hideUntilRestart:d}),d&&c(this,Dr).onHideUntilRestart?.()}else l==="showTally"?h(this,ce,ln).call(this,{showTally:!Ze.showTally}):l==="autoOpenChat"?h(this,ce,ln).call(this,{autoOpenChat:!Ze.autoOpenChat}):l==="showTimestamps"?h(this,ce,ln).call(this,{showTimestamps:!Ze.showTimestamps}):l==="reduceMotion"?h(this,ce,ln).call(this,{reduceMotion:!Ze.reduceMotion}):l==="ambientGlow"&&h(this,ce,ln).call(this,{ambientGlow:!Ze.ambientGlow})};s.addEventListener("click",l=>{l.stopPropagation(),a()}),s.addEventListener("keydown",l=>{l instanceof KeyboardEvent&&(l.key===" "||l.key==="Enter")&&(l.preventDefault(),l.stopPropagation(),a())})}for(let s of e.querySelectorAll("[data-reticle-check]")){let a=()=>{if(!(s instanceof HTMLElement))return;let d=s.getAttribute("data-reticle-check");d==="clearOnCopy"?h(this,ce,ln).call(this,{clearOnCopy:!Ze.clearOnCopy}):d==="blockPageInteractions"&&h(this,ce,ln).call(this,{blockPageInteractions:!Ze.blockPageInteractions})};s.closest("[data-reticle-check-row]")?.addEventListener("click",d=>{d.stopPropagation(),!(d.target instanceof HTMLElement&&d.target.classList.contains("reticle-settings-help"))&&a()}),s.addEventListener("keydown",d=>{d instanceof KeyboardEvent&&(d.key===" "||d.key==="Enter")&&(d.preventDefault(),a())})}e.querySelector("[data-reticle-settings-mcp]")?.addEventListener("click",s=>{s.stopPropagation(),window.open(DA,"_blank","noopener,noreferrer")}),e.querySelector("[data-reticle-settings-reset]")?.addEventListener("click",s=>{s.stopPropagation();let a=e.querySelector(`[${j}]`);a instanceof HTMLElement&&zh(a)}),i?.addEventListener("click",s=>{s.stopPropagation(),this.close()}),h(this,ce,cy).call(this),h(this,ce,nm).call(this),ry(e,Ze),c(this,Dr).onSettingsChange?.(Ze)}paintHarness(e){let n=c(this,st);n!==void 0&&ay(n,e)}teardown(){p(this,At,void 0),p(this,st,void 0),p(this,Qn,void 0)}isOpen(){return c(this,At)?.getAttribute(Ge)==="1"}open(){c(this,At)!==void 0&&(c(this,Dr).onBeforeOpen?.(),c(this,At).setAttribute(Ge,"1"),c(this,st)?.setAttribute("aria-hidden","false"),c(this,Qn)?.setAttribute("data-active","1"),h(this,ce,tm).call(this))}close(){c(this,At)!==void 0&&(c(this,At).setAttribute(Ge,"0"),c(this,st)?.setAttribute("aria-hidden","true"),c(this,Qn)?.setAttribute("data-active","0"),h(this,ce,tm).call(this))}toggle(){this.isOpen()?this.close():this.open()}};At=new WeakMap,st=new WeakMap,Qn=new WeakMap,Dr=new WeakMap,ce=new WeakSet,tm=function(){if(c(this,At)===void 0)return;let e=qA(c(this,At));e!==void 0&&kr(e,c(this,At))},ln=function(e){let n=lD(e);c(this,At)!==void 0&&ry(c(this,At),n),h(this,ce,nm).call(this),c(this,Dr).onSettingsChange?.(n)},nm=function(){let e=Ze,n=c(this,st)?.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=cl.find(i=>i.value===e.outputDetail)?.label??"Standard");let r=c(this,st)?.querySelector("[data-reticle-cycle-dots]");r?.replaceChildren(...cl.map(i=>{let s=document.createElement("span");return s.className="reticle-settings-dot",s.setAttribute("data-on",i.value===e.outputDetail?"1":"0"),s})),h(this,ce,_o).call(this,"reactComponents",e.reactComponents),h(this,ce,_o).call(this,"hideUntilRestart",e.hideUntilRestart),h(this,ce,_o).call(this,"showTally",e.showTally),h(this,ce,_o).call(this,"autoOpenChat",e.autoOpenChat),h(this,ce,_o).call(this,"showTimestamps",e.showTimestamps),h(this,ce,_o).call(this,"reduceMotion",e.reduceMotion),h(this,ce,_o).call(this,"ambientGlow",e.ambientGlow),h(this,ce,rm).call(this,"clearOnCopy",e.clearOnCopy),h(this,ce,rm).call(this,"blockPageInteractions",e.blockPageInteractions);for(let i of c(this,st)?.querySelectorAll("[data-reticle-theme]")??[])i instanceof HTMLElement&&i.setAttribute("data-on",i.getAttribute("data-reticle-theme")===e.statusThemeId?"1":"0")},_o=function(e,n){let r=c(this,st)?.querySelector(`[${ra}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},rm=function(e,n){let r=c(this,st)?.querySelector(`[data-reticle-check="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"),r.textContent=n?"\u2713":"")},cy=function(){let e=c(this,st)?.querySelector("[data-reticle-settings-themes]");e?.replaceChildren(...om.map(n=>{let r=document.createElement("button");r.type="button",r.className="reticle-settings-theme",r.setAttribute("data-reticle-theme",n.id),r.title=n.label,r.setAttribute("aria-label",`${n.label} status theme`);for(let s of[n.active,n.idle,n.ended]){let a=document.createElement("span");a.className="reticle-settings-theme-band",a.style.background=s,r.appendChild(a)}let i=document.createElement("span");return i.className="reticle-settings-theme-name",i.textContent=n.label,r.appendChild(i),r.addEventListener("click",s=>{s.stopPropagation(),h(this,ce,ln).call(this,{statusThemeId:n.id})}),r}))}});function gD(){let t=globalThis[ld];return typeof t=="string"&&t.length>0?t:void 0}function ED(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"").split("/").filter(i=>i.length>0),r=n[n.length-1];return r!==void 0&&r.length>0?r:pm}function bD(){if(typeof window>"u")return;let t=new URLSearchParams(window.location.search).get(pr.PROJECT);return t!==null&&t.length>0?t:void 0}function gy(){let t=gD(),e=bD(),n=t!==void 0?ED(t):pm;if(t===void 0&&e===void 0)return{folder:n};let r={folder:n};return t!==void 0&&(r.root=t),e!==void 0&&(r.projectId=e),r}function Ey(){let t=Te(V.LAYOUT,ie.HELP),e=Te(V.CARET_DOWN,ie.HELP),n=Te(V.COPY,ie.HELP);return`<div class="reticle-workspace-wrap">
|
|
331
|
-
<button type="button" class="reticle-workspace" ${
|
|
378
|
+
</div>`}function h0(t,e){let n=fu(e.statusThemeId);t.style.setProperty("--reticle-mark-accent",n.active),t.style.setProperty("--reticle-accent",n.active),t.style.setProperty("--reticle-c-active",n.active),t.style.setProperty("--reticle-c-idle",n.idle),t.style.setProperty("--reticle-c-ended",n.ended),t.setAttribute(Ow,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(Nc,"1"):t.removeAttribute(Nc),t.setAttribute(Jf,e.showTimestamps?"1":"0"),t.setAttribute(Gr,e.reduceMotion?"1":"0");let r=t.querySelector("[data-reticle-tally]");r instanceof HTMLElement&&!e.showTally&&r.setAttribute("hidden","")}function hh(t,e,n){t.setAttribute(Iw,e.blockPageInteractions&&n?"1":"0")}function Cb(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var Er,Ha,vb,DU,uu,Kn,Et,Mc,Nb,m0,f0,g0,E0,b0,FU,ph,Sb,fh,_0,_b,Yt,bt,zn,Vr,be,xb,Wn,Ab,Ri,yb,x0,pu,$c=S(()=>{"use strict";ut();ur();mr();db();au();ub();Lc();H();Br();Er={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},Ha={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},vb=[{id:Ha.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:Ha.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:Ha.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:Ha.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:Ha.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],DU={id:Ha.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};uu=[{value:Er.MINIMAL,label:"Minimal"},{value:Er.STANDARD,label:"Standard"},{value:Er.VERBOSE,label:"Verbose"}],Kn={outputDetail:Er.STANDARD,statusThemeId:Ha.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},Et=Rb();Mc={outputDetail:["Output detail","How much a copied run includes."],autoOpenChat:["Open the log automatically","Opens this panel when a session starts."],showTimestamps:["Show timestamps","Shows how long ago each log row happened."],showTally:["Show pass/fail count","A score pill for this session in the toolbar."],reactComponents:["React component names","Adds component names to copied runs."],blockPageInteractions:["Block page while adding notes","Clicks pin a note instead of using the app."],clearOnCopy:["Clear notes after copying","Starts fresh once your notes are copied."],hideUntilRestart:["Hide until reload","Hides the HUD until this page reloads."],harnessEnabled:["Allow Reticle to drive","Off by default. Unlocks at 80% instrumentation; lets Run Harness test this project."],reduceMotion:["Reduce motion","Fewer HUD animations."],ambientGlow:["Page glow","Tints the page edges while a session runs."],workspace:["Workspace","The Reticle account this machine is signed in to."]};Nb="data-reticle-settings-account",m0="data-reticle-settings-account-row",f0="data-reticle-settings-helptext",g0="data-reticle-settings-harness-row",E0="Let Reticle test this app by itself to find defects, from Run Harness or from your coding agent. Off blocks every run. Set here or in your dashboard \u2014 both write to the same place.",b0="The Harness is not available to this workspace right now: see Plan in your Reticle dashboard.";FU=`Whether this machine is signed in to a Reticle workspace. Press ${te.SIGNED_OUT} to sign in through your browser.`;ph={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${k_}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"},Sb="data-reticle-settings-kill",fh={LABEL:"Kill Reticle",ARMED:"Click again to kill Reticle",WARNING:"Disconnects Reticle from this page: no HUD, no agent, nothing recorded. To bring it back, restart your dev server or reload the page."},_0="data-reticle-sdk-version",_b={UNKNOWN:"Reticle SDK version unknown",KNOWN:t=>`Reticle SDK ${t}`};pu=class{constructor(e={}){b(this,be);b(this,Yt);b(this,bt);b(this,zn);b(this,Vr);h(this,Vr,e),Et=Rb()}contains(e){var n;return((n=c(this,bt))==null?void 0:n.contains(e))===!0}mount(e){var a,s,l,d,u,p,f;h(this,Yt,e);let n=e.querySelector(`[${I}]`);h(this,bt,n instanceof HTMLElement?n:void 0),(a=c(this,bt))==null||a.addEventListener("pointerdown",m=>{m.stopPropagation()});let r=e.querySelector(`[${eu}]`);h(this,zn,r instanceof HTMLElement?r:void 0);let o=e.querySelector(`[${ib}]`);if(o instanceof HTMLElement&&qE(o,Y.REMOVE,pe.MIN),c(this,zn)!==void 0){let m=c(this,zn).querySelector(".reticle-nav-label");qE(c(this,zn),Y.GEAR,pe.TOOLBAR),m!==null&&c(this,zn).append(m),c(this,zn).addEventListener("click",g=>{g.stopPropagation(),this.open()})}(s=e.querySelector('[data-reticle-settings-cycle="outputDetail"]'))==null||s.addEventListener("click",m=>{m.stopPropagation();let g=uu.findIndex(_=>_.value===Et.outputDetail),T=uu[(g+1)%uu.length];T!==void 0&&E(this,be,Wn).call(this,{outputDetail:T.value})});for(let m of e.querySelectorAll(".reticle-settings-help"))m.setAttribute("aria-expanded","false"),m.addEventListener("click",g=>{var A;g.stopPropagation();let T=m.closest(".reticle-settings-row");if(T===null)return;let _=T.querySelector(`[${f0}]`);if(_!==null){_.remove(),m.setAttribute("aria-expanded","false");return}let y=document.createElement("p");y.className="reticle-settings-helptext",y.setAttribute(f0,""),y.textContent=(A=m.getAttribute("title"))!=null?A:"",T.appendChild(y),m.setAttribute("aria-expanded","true")});for(let m of e.querySelectorAll(`[${Rc}]`)){let g=()=>{var _,y,A,v;if(!(m instanceof HTMLElement))return;let T=m.getAttribute(Rc);if(T==="harnessEnabled"){if(m.getAttribute("aria-disabled")==="true")return;let O=m.getAttribute("aria-checked")!=="true";m.setAttribute("aria-checked",O?"true":"false"),(y=(_=c(this,Vr)).onHarness)==null||y.call(_,O)}else if(T==="reactComponents")E(this,be,Wn).call(this,{reactComponents:!Et.reactComponents});else if(T==="hideUntilRestart"){let O=!Et.hideUntilRestart;E(this,be,Wn).call(this,{hideUntilRestart:O}),O&&((v=(A=c(this,Vr)).onHideUntilRestart)==null||v.call(A))}else T==="showTally"?E(this,be,Wn).call(this,{showTally:!Et.showTally}):T==="autoOpenChat"?E(this,be,Wn).call(this,{autoOpenChat:!Et.autoOpenChat}):T==="showTimestamps"?E(this,be,Wn).call(this,{showTimestamps:!Et.showTimestamps}):T==="reduceMotion"?E(this,be,Wn).call(this,{reduceMotion:!Et.reduceMotion}):T==="ambientGlow"&&E(this,be,Wn).call(this,{ambientGlow:!Et.ambientGlow})};m.addEventListener("click",T=>{T.stopPropagation(),g()}),m.addEventListener("keydown",T=>{T instanceof KeyboardEvent&&(T.key===" "||T.key==="Enter")&&(T.preventDefault(),T.stopPropagation(),g())})}for(let m of e.querySelectorAll("[data-reticle-check]")){let g=()=>{if(!(m instanceof HTMLElement))return;let _=m.getAttribute("data-reticle-check");_==="clearOnCopy"?E(this,be,Wn).call(this,{clearOnCopy:!Et.clearOnCopy}):_==="blockPageInteractions"&&E(this,be,Wn).call(this,{blockPageInteractions:!Et.blockPageInteractions})},T=m.closest("[data-reticle-check-row]");T==null||T.addEventListener("click",_=>{_.stopPropagation(),!(_.target instanceof HTMLElement&&_.target.classList.contains("reticle-settings-help"))&&g()}),m.addEventListener("keydown",_=>{_ instanceof KeyboardEvent&&(_.key===" "||_.key==="Enter")&&(_.preventDefault(),g())})}(l=e.querySelector("[data-reticle-settings-mcp]"))==null||l.addEventListener("click",m=>{m.stopPropagation(),window.open(Cw,"_blank","noopener,noreferrer")}),(d=e.querySelector("[data-reticle-settings-reset]"))==null||d.addEventListener("click",m=>{m.stopPropagation();let g=e.querySelector(`[${D}]`);g instanceof HTMLElement&&ru(g)}),(u=e.querySelector(`[${Sb}]`))==null||u.addEventListener("click",m=>{var _,y;m.stopPropagation();let g=m.currentTarget;if(!(g instanceof HTMLElement))return;if(g.getAttribute("data-armed")==="1"){(y=(_=c(this,Vr)).onKill)==null||y.call(_);return}g.setAttribute("data-armed","1");let T=g.querySelector("[data-reticle-kill-label]");T!==null&&(T.textContent=fh.ARMED)}),o==null||o.addEventListener("click",m=>{m.stopPropagation(),this.close()}),E(this,be,x0).call(this),E(this,be,Ab).call(this),h0(e,Et),(f=(p=c(this,Vr)).onSettingsChange)==null||f.call(p,Et)}paintHarness(e,n){let r=c(this,bt);r!==void 0&&S0(r,e,n)}teardown(){h(this,Yt,void 0),h(this,bt,void 0),h(this,zn,void 0)}isOpen(){var e;return((e=c(this,Yt))==null?void 0:e.getAttribute(Ye))==="1"}open(){var e,n,r,o;c(this,Yt)!==void 0&&((n=(e=c(this,Vr)).onBeforeOpen)==null||n.call(e),c(this,Yt).setAttribute(Ye,"1"),(r=c(this,bt))==null||r.setAttribute("aria-hidden","false"),(o=c(this,zn))==null||o.setAttribute("data-active","1"),E(this,be,xb).call(this))}close(){var n,r,o;if(c(this,Yt)===void 0)return;let e=(n=c(this,bt))==null?void 0:n.querySelector(`[${Sb}]`);if(e instanceof HTMLElement){e.removeAttribute("data-armed");let a=e.querySelector("[data-reticle-kill-label]");a!==null&&(a.textContent=fh.LABEL)}c(this,Yt).setAttribute(Ye,"0"),(r=c(this,bt))==null||r.setAttribute("aria-hidden","true"),(o=c(this,zn))==null||o.setAttribute("data-active","0"),E(this,be,xb).call(this)}toggle(){this.isOpen()?this.close():this.open()}};Yt=new WeakMap,bt=new WeakMap,zn=new WeakMap,Vr=new WeakMap,be=new WeakSet,xb=function(){if(c(this,Yt)===void 0)return;let e=Ww(c(this,Yt));e!==void 0&&gr(e,c(this,Yt))},Wn=function(e){var r,o;let n=HU(e);c(this,Yt)!==void 0&&h0(c(this,Yt),n),E(this,be,Ab).call(this),(o=(r=c(this,Vr)).onSettingsChange)==null||o.call(r,n)},Ab=function(){var o,a,s,l,d,u;let e=Et,n=(o=c(this,bt))==null?void 0:o.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=(s=(a=uu.find(p=>p.value===e.outputDetail))==null?void 0:a.label)!=null?s:"Standard");let r=(l=c(this,bt))==null?void 0:l.querySelector("[data-reticle-cycle-dots]");r!=null&&r.replaceChildren(...uu.map(p=>{let f=document.createElement("span");return f.className="reticle-settings-dot",f.setAttribute("data-on",p.value===e.outputDetail?"1":"0"),f})),E(this,be,Ri).call(this,"reactComponents",e.reactComponents),E(this,be,Ri).call(this,"hideUntilRestart",e.hideUntilRestart),E(this,be,Ri).call(this,"showTally",e.showTally),E(this,be,Ri).call(this,"autoOpenChat",e.autoOpenChat),E(this,be,Ri).call(this,"showTimestamps",e.showTimestamps),E(this,be,Ri).call(this,"reduceMotion",e.reduceMotion),E(this,be,Ri).call(this,"ambientGlow",e.ambientGlow),E(this,be,yb).call(this,"clearOnCopy",e.clearOnCopy),E(this,be,yb).call(this,"blockPageInteractions",e.blockPageInteractions);for(let p of(u=(d=c(this,bt))==null?void 0:d.querySelectorAll("[data-reticle-theme]"))!=null?u:[])p instanceof HTMLElement&&p.setAttribute("data-on",p.getAttribute("data-reticle-theme")===e.statusThemeId?"1":"0")},Ri=function(e,n){var o;let r=(o=c(this,bt))==null?void 0:o.querySelector(`[${Rc}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},yb=function(e,n){var o;let r=(o=c(this,bt))==null?void 0:o.querySelector(`[data-reticle-check="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"),r.textContent=n?"\u2713":"")},x0=function(){var n;let e=(n=c(this,bt))==null?void 0:n.querySelector("[data-reticle-settings-themes]");e!=null&&e.replaceChildren(...vb.map(r=>{let o=document.createElement("button");o.type="button",o.className="reticle-settings-theme",o.setAttribute("data-reticle-theme",r.id),o.title=r.label,o.setAttribute("aria-label",`${r.label} status theme`);for(let s of[r.active,r.idle,r.ended]){let l=document.createElement("span");l.className="reticle-settings-theme-band",l.style.background=s,o.appendChild(l)}let a=document.createElement("span");return a.className="reticle-settings-theme-name",a.textContent=r.label,o.appendChild(a),o.addEventListener("click",s=>{s.stopPropagation(),E(this,be,Wn).call(this,{statusThemeId:r.id})}),o}))}});function WU(){let t=globalThis[gp];return typeof t=="string"&&t.length>0?t:void 0}function zU(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"").split("/").filter(o=>o.length>0),r=n[n.length-1];return r!==void 0&&r.length>0?r:Mb}function YU(){if(typeof window=="undefined")return;let t=new URLSearchParams(window.location.search).get($n.PROJECT);return t!==null&&t.length>0?t:void 0}function I0(){let t=WU(),e=YU(),n=t!==void 0?zU(t):Mb;if(t===void 0&&e===void 0)return{folder:n};let r={folder:n};return t!==void 0&&(r.root=t),e!==void 0&&(r.projectId=e),r}function C0(){let t=Ee(Y.LAYOUT,pe.HELP),e=Ee(Y.CARET_DOWN,pe.HELP),n=Ee(Y.COPY,pe.HELP);return`<div class="reticle-workspace-wrap">
|
|
379
|
+
<button type="button" class="reticle-workspace" ${mh} aria-haspopup="true" aria-expanded="false" title="${VU}">
|
|
332
380
|
<span class="reticle-workspace-icon" aria-hidden="true">${t}</span>
|
|
333
|
-
<span class="reticle-workspace-
|
|
381
|
+
<span class="reticle-workspace-k">${BU}</span>
|
|
382
|
+
<span class="reticle-workspace-name" ${N0}>${Mb}</span>
|
|
334
383
|
<span class="reticle-workspace-caret" aria-hidden="true">${e}</span>
|
|
335
384
|
</button>
|
|
336
|
-
<div class="reticle-workspace-menu" ${
|
|
385
|
+
<div class="reticle-workspace-menu" ${R0} role="region" aria-label="${Lb}" aria-hidden="true" hidden>
|
|
337
386
|
<div class="reticle-workspace-menu-head">
|
|
338
|
-
<div class="reticle-workspace-menu-title">${
|
|
387
|
+
<div class="reticle-workspace-menu-title">${Lb}</div>
|
|
339
388
|
<div class="reticle-workspace-menu-actions">
|
|
340
|
-
<button type="button" class="reticle-workspace-copy" ${
|
|
389
|
+
<button type="button" class="reticle-workspace-copy" ${kb} title="${y0}" aria-label="${y0}">${n}</button>
|
|
341
390
|
</div>
|
|
342
391
|
</div>
|
|
343
392
|
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Folder</span><span class="reticle-workspace-menu-v" data-reticle-workspace-folder></span></div>
|
|
344
|
-
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Path</span><span class="reticle-workspace-menu-v reticle-workspace-menu-path" ${
|
|
345
|
-
<div class="reticle-workspace-menu-row" data-reticle-workspace-project-row hidden><span class="reticle-workspace-menu-k">${
|
|
393
|
+
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Path</span><span class="reticle-workspace-menu-v reticle-workspace-menu-path" ${w0}></span></div>
|
|
394
|
+
<div class="reticle-workspace-menu-row" data-reticle-workspace-project-row hidden><span class="reticle-workspace-menu-k">${jU}</span><span class="reticle-workspace-menu-v" ${O0}></span></div>
|
|
395
|
+
</div>
|
|
396
|
+
</div>`}function v0(t){var p,f;let e=I0(),n=t.querySelector(".reticle-workspace-wrap");if(n instanceof HTMLElement){let m=e.root!==void 0||e.projectId!==void 0;n.toggleAttribute("hidden",!m)}let r=t.querySelector(`[${mh}] [${N0}]`);r instanceof HTMLElement&&(r.textContent=e.folder);let o=t.querySelector("[data-reticle-workspace-folder]");o instanceof HTMLElement&&(o.textContent=e.folder);let a=t.querySelector(`[${w0}]`);a instanceof HTMLElement&&(a.textContent=(p=e.root)!=null?p:"-",a.title=(f=e.root)!=null?f:"");let s=t.querySelector(`[${O0}]`),l=t.querySelector("[data-reticle-workspace-project-row]"),d=t.querySelector(`[${kb}]`);e.projectId!==void 0?(l==null||l.removeAttribute("hidden"),s instanceof HTMLElement&&(s.textContent=e.projectId)):(l==null||l.setAttribute("hidden",""),s instanceof HTMLElement&&(s.textContent="")),d instanceof HTMLButtonElement&&(d.disabled=e.root===void 0);let u=t.querySelector(`[${mh}]`);u instanceof HTMLElement&&e.root!==void 0&&(u.title=`${Lb}: ${e.root}`)}function L0(t){let e=new AbortController;v0(t);let n=t.querySelector(`[${mh}]`),r=t.querySelector(`[${R0}]`),o=t.querySelector(`[${kb}]`);if(!(n instanceof HTMLElement)||!(r instanceof HTMLElement))return()=>{};let a=()=>{r.setAttribute("aria-hidden","true"),r.setAttribute("hidden",""),n.setAttribute("aria-expanded","false")},s=()=>{v0(t),r.removeAttribute("hidden"),r.setAttribute("aria-hidden","false"),n.setAttribute("aria-expanded","true")},l=()=>{r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")?s():a()},d=g=>{g.stopPropagation(),l()},u=g=>{var A;let T=g.target;if(!(T instanceof Element))return;let _=T.closest(`[${wt}]`);if(_===null)return;g.stopPropagation(),(A=navigator.clipboard)==null||A.writeText(te.SIGNIN_COMMAND).catch(()=>{});let y=_.textContent;_.textContent=te.COPIED,setTimeout(()=>{_.textContent=y},GU)};r.addEventListener("click",u);let p=g=>{let T=g.target;T instanceof Node&&(n.contains(T)||r.contains(T)||a())},f=g=>{g.key==="Escape"&&(r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")||(g.preventDefault(),g.stopPropagation(),a()))},m=g=>{var _;g.stopPropagation();let T=I0().root;if(T!==void 0&&((_=navigator.clipboard)==null||_.writeText(T),o instanceof HTMLButtonElement)){let y=o.title;o.title=KU,window.setTimeout(()=>{o.title=y},1200)}};return n.addEventListener("click",d),r.addEventListener("pointerdown",g=>g.stopPropagation()),o==null||o.addEventListener("click",m),document.addEventListener("pointerdown",p,{signal:e.signal}),document.addEventListener("keydown",f,{signal:e.signal}),()=>{n.removeEventListener("click",d),o==null||o.removeEventListener("click",m),e.abort()}}function k0(t,e,n,r={}){let o=t.querySelector(`[${kc}]`);o instanceof HTMLElement&&du(o,d0(e,n));let a=t.querySelector(`[${Db}]`);if(!(a instanceof HTMLElement))return;let s=!(o instanceof HTMLElement);du(a,Dc(e,{...r,dashboardUrl:n},s))}var mh,R0,N0,w0,O0,kb,Db,GU,Lb,BU,VU,jU,y0,KU,Mb,$b=S(()=>{"use strict";H();ur();Br();mh="data-reticle-workspace-btn",R0="data-reticle-workspace-menu",N0="data-reticle-workspace-name",w0="data-reticle-workspace-path",O0="data-reticle-workspace-project",kb="data-reticle-workspace-copy",Db="data-reticle-toolbar-account",GU=1200,Lb="Workspace",BU="Project",VU="The project folder this page is served from, which Reticle reports to. Click for its path.",jU="Project",y0="Copy path",KU="Copied",Mb="This page"});function $0(t){return typeof t=="string"&&XU.has(t)?t:tn.PENDING}function hu(t){return typeof t=="string"?t:""}function Hb(t){return Array.isArray(t)?t.filter(e=>typeof e=="object"&&e!==null):[]}function F0(t){let e=Hb(t.lanes).map(r=>({id:hu(r.id),journeys:Hb(r.journeys).map(o=>({id:hu(o.id),title:hu(o.title),...typeof o.persona=="string"?{persona:o.persona}:{},waitsOn:Array.isArray(o.waitsOn)?o.waitsOn.map(hu):[],status:$0(o.status),steps:Hb(o.steps).map(a=>({label:hu(a.label),status:$0(a.status)}))}))}));return e.length===0?void 0:{parallel:typeof t.parallel=="number"?t.parallel:1,lanes:e}}function Tt(t,e,n){let r=document.createElement(t);return r.className=e,n!==void 0&&(r.textContent=n),r}var P0,D0,Pb,H0,Pc,M0,U0,XU,Hc,gu,Ua,Uc,ko,mu,G0,gh,Eh=S(()=>{"use strict";H();P0="data-reticle-plan",D0="data-reticle-plan-close",Pb="data-reticle-plan-journey",H0=`<div ${P0} class="reticle-plan" hidden></div>`,Pc={TITLE:"Harness plan",CLOSE:"Hide the plan",WAITS:"waits on",AT_ONCE:"at once",LANE:"Lane"},M0={[tn.PENDING]:"\u25CB",[tn.RUNNING]:"\u25D0",[tn.PASSED]:"\u2713",[tn.FAILED]:"\u2717",[tn.BLOCKED]:"\u2298",[tn.NOT_TAKEN]:"\u2013",[tn.UNDECIDED]:"?"},U0=`
|
|
397
|
+
[data-reticle-page-panel="harness"] .reticle-plan{flex:none;margin:0 10px 8px;padding:8px 10px;border:1px solid var(--reticle-hud-border);border-radius:10px;background:rgba(255,255,255,.03);}
|
|
398
|
+
[data-reticle-page-panel="harness"] .reticle-plan[hidden]{display:none;}
|
|
399
|
+
[data-reticle-page-panel="harness"] .reticle-plan-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
400
|
+
[data-reticle-page-panel="harness"] .reticle-plan-head strong{color:var(--reticle-hud-text);font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
401
|
+
[data-reticle-page-panel="harness"] .reticle-plan-head span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
402
|
+
[data-reticle-page-panel="harness"] .reticle-plan-close{flex:none;border:0;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;}
|
|
403
|
+
[data-reticle-page-panel="harness"] .reticle-plan-lanes{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;scrollbar-width:none;}
|
|
404
|
+
[data-reticle-page-panel="harness"] .reticle-plan-lanes::-webkit-scrollbar{display:none;}
|
|
405
|
+
[data-reticle-page-panel="harness"] .reticle-plan-lane{display:flex;gap:6px;align-items:flex-start;min-width:0;}
|
|
406
|
+
[data-reticle-page-panel="harness"] .reticle-plan-lane-name{flex:none;width:16px;padding-top:6px;font-size:11px;font-weight:600;text-align:center;color:var(--reticle-hud-text-muted);}
|
|
407
|
+
[data-reticle-page-panel="harness"] .reticle-plan-lane-journeys{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px;}
|
|
408
|
+
[data-reticle-page-panel="harness"] .reticle-plan-journey{display:block;width:100%;text-align:left;border:1px solid transparent;border-radius:8px;padding:5px 7px;background:rgba(255,255,255,.04);color:var(--reticle-hud-text);font:inherit;font-size:var(--reticle-hud-size-xs);cursor:pointer;}
|
|
409
|
+
[data-reticle-page-panel="harness"] .reticle-plan-journey[data-status="running"]{border-color:var(--reticle-c-active);box-shadow:0 0 12px -4px var(--reticle-c-active);}
|
|
410
|
+
[data-reticle-page-panel="harness"] .reticle-plan-journey[data-status="blocked"],[data-reticle-page-panel="harness"] .reticle-plan-journey[data-status="not-taken"]{opacity:.55;}
|
|
411
|
+
[data-reticle-page-panel="harness"] .reticle-plan-row{display:flex;gap:6px;align-items:baseline;min-width:0;}
|
|
412
|
+
[data-reticle-page-panel="harness"] .reticle-plan-row b{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
413
|
+
[data-reticle-page-panel="harness"] .reticle-plan-glyph{flex:none;width:12px;text-align:center;}
|
|
414
|
+
[data-reticle-page-panel="harness"] [data-status="running"]>.reticle-plan-row>.reticle-plan-glyph,[data-reticle-page-panel="harness"] .reticle-plan-step[data-status="running"]>.reticle-plan-glyph{color:var(--reticle-c-active);animation:reticle-flow-pulse 1.2s ease-in-out infinite;}
|
|
415
|
+
[data-reticle-page-panel="harness"] [data-status="passed"]>.reticle-plan-row>.reticle-plan-glyph,[data-reticle-page-panel="harness"] .reticle-plan-step[data-status="passed"]>.reticle-plan-glyph{color:#4ade80;}
|
|
416
|
+
[data-reticle-page-panel="harness"] [data-status="failed"]>.reticle-plan-row>.reticle-plan-glyph,[data-reticle-page-panel="harness"] .reticle-plan-step[data-status="failed"]>.reticle-plan-glyph{color:#f87171;}
|
|
417
|
+
[data-reticle-page-panel="harness"] .reticle-plan-meta{display:block;margin:2px 0 0 18px;color:var(--reticle-hud-text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
418
|
+
[data-reticle-page-panel="harness"] .reticle-plan-steps{margin:4px 0 0 18px;display:flex;flex-direction:column;gap:2px;}
|
|
419
|
+
[data-reticle-page-panel="harness"] .reticle-plan-step{display:flex;gap:6px;color:var(--reticle-hud-text-muted);font-size:11px;min-width:0;}
|
|
420
|
+
[data-reticle-page-panel="harness"] .reticle-plan-step span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
421
|
+
`,XU=new Set(Object.values(tn));gh=class{constructor(){b(this,ko);b(this,Hc);b(this,gu);b(this,Ua,!1);b(this,Uc,new Map)}mount(e){var n,r;h(this,Hc,(n=e.querySelector(`[${P0}]`))!=null?n:void 0),(r=c(this,Hc))==null||r.addEventListener("click",o=>{let a=o.target;if(!(a instanceof Element))return;if(a.closest(`[${D0}]`)!==null){h(this,Ua,!0),E(this,ko,mu).call(this);return}let s=a.closest(`[${Pb}]`),l=s==null?void 0:s.getAttribute(Pb);l!=null&&(c(this,Uc).set(l,(s==null?void 0:s.getAttribute("aria-expanded"))!=="true"),E(this,ko,mu).call(this))}),E(this,ko,mu).call(this)}paint(e){e.lanes.every(r=>r.journeys.every(o=>tn.PENDING===o.status))&&(h(this,Ua,!1),c(this,Uc).clear()),h(this,gu,e),E(this,ko,mu).call(this)}};Hc=new WeakMap,gu=new WeakMap,Ua=new WeakMap,Uc=new WeakMap,ko=new WeakSet,mu=function(){let e=c(this,Hc),n=c(this,gu);if(e===void 0||(e.replaceChildren(),e.hidden=n===void 0||c(this,Ua),n===void 0||c(this,Ua)))return;let r=n.lanes.flatMap(d=>d.journeys),o=r.filter(d=>tn.PASSED===d.status).length,a=Tt("div","reticle-plan-head");a.append(Tt("strong","",Pc.TITLE),Tt("span","",`${String(o)} of ${String(r.length)} passed \xB7 ${String(n.lanes.length)} lane(s)`+(1<n.parallel?`, ${String(n.parallel)} ${Pc.AT_ONCE}`:"")));let s=Tt("button","reticle-plan-close","\xD7");s.setAttribute("type","button"),s.setAttribute(D0,""),s.setAttribute("aria-label",Pc.CLOSE),s.setAttribute("title",Pc.CLOSE),a.append(s);let l=Tt("div","reticle-plan-lanes");for(let d of n.lanes){let u=Tt("div","reticle-plan-lane"),p=Tt("span","reticle-plan-lane-name",d.id);p.setAttribute("title",`${Pc.LANE} ${d.id}`);let f=Tt("div","reticle-plan-lane-journeys");for(let m of d.journeys)f.append(E(this,ko,G0).call(this,d.id,m));u.append(p,f),l.append(u)}e.append(a,l)},G0=function(e,n){var d;let r=`${e}/${n.id}`,o=(d=c(this,Uc).get(r))!=null?d:tn.RUNNING===n.status||tn.FAILED===n.status,a=Tt("button","reticle-plan-journey");a.setAttribute("type","button"),a.setAttribute(Pb,r),a.setAttribute("data-status",n.status),a.setAttribute("aria-expanded",String(o));let s=Tt("span","reticle-plan-row");s.append(Tt("span","reticle-plan-glyph",M0[n.status]),Tt("b","",n.title)),a.append(s);let l=[n.persona,0<n.waitsOn.length?`${Pc.WAITS} ${n.waitsOn.join(", ")}`:void 0].filter(u=>u!==void 0&&0<u.length);if(0<l.length&&a.append(Tt("span","reticle-plan-meta",l.join(" \xB7 "))),o&&0<n.steps.length){let u=Tt("span","reticle-plan-steps");for(let p of n.steps){let f=Tt("span","reticle-plan-step");f.setAttribute("data-status",p.status),f.append(Tt("span","reticle-plan-glyph",M0[p.status]),Tt("span","",p.label)),u.append(f)}a.append(u)}return a}});function Th(t){return Fb.find(e=>e.id===t)}function B0(t,e){let n=Th(t);if(n!==void 0)return`${n.label}: ${n.hint}`;let r=e.trim();return r.length===0?void 0:r}function Gb(t){var e,n;return(n=(e=Th(t))==null?void 0:e.label)!=null?n:Fa.CUSTOM_SHORT}function V0(t,e=!1){var o,a;let n=[...Fb.map(s=>({id:s.id,label:s.label,hint:s.hint})),{id:Ub,label:Fa.CUSTOM,hint:Fa.CUSTOM_HINT}].map(s=>`<option value="${s.id}" title="${Z(s.hint)}"${s.id===t?" selected":""}>${Z(s.label)}</option>`).join(""),r=Z((a=(o=Th(t))==null?void 0:o.hint)!=null?a:Fa.CUSTOM_HINT);return`<label class="reticle-harness-as" for="${Fc}">${Fa.LABEL}</label><select id="${Fc}" data-reticle-harness-persona-pick class="reticle-harness-persona" title="${r}" aria-describedby="${Fc}-hint"${e?" disabled":""}>${n}</select><span id="${Fc}-hint" class="reticle-sr">${r}</span>`}function Bb(t,e=!1){return Ub===t?`<input type="text" id="${qU}" data-reticle-harness-persona class="reticle-harness-persona" aria-label="${Fa.CUSTOM_HINT}" placeholder="${Fa.CUSTOM_PLACEHOLDER}"${e?" disabled":""}>`:""}function Vb(t){return t!=null&&(Ub===t||Th(t))?t:void 0}function j0(t){var e;try{return(e=Vb(localStorage.getItem(`${Dp}${t!=null?t:""}`)))!=null?e:bh}catch{return bh}}function K0(t,e){try{localStorage.setItem(`${Dp}${t!=null?t:""}`,e)}catch{}}var Ub,Fb,bh,Fa,Fc,qU,jb=S(()=>{"use strict";Lr();Pa();Ub="custom",Fb=[{id:"first-time",label:"First-time visitor",hint:"starts from the first page, reads the labels and follows the obvious path"},{id:"power-user",label:"Returning power user",hint:"goes straight to the main task, takes shortcuts and repeats it quickly"},{id:"phone",label:"On a phone, slow connection",hint:"small-screen habits: taps, waits on loading, retries when nothing seems to happen"},{id:"keyboard",label:"Keyboard only",hint:"Tab, Enter and Escape only: focus order, traps and controls it cannot reach"},{id:"careless",label:"Careless user (bad and unexpected input)",hint:"empty fields, wrong formats, very long text, double submits, going back mid-flow"},{id:"admin",label:"Admin / settings",hint:"changes settings and permissions, then checks they stick after a reload"}],bh=Fb[0].id,Fa={LABEL:"As",CUSTOM:"Custom\u2026",CUSTOM_SHORT:"Custom",CUSTOM_HINT:"Describe who to be or what to try, in your own words.",CUSTOM_PLACEHOLDER:"e.g. a first-time shopper paying by card"},Fc="reticle-harness-persona-pick",qU="reticle-harness-persona"});function z0(t,e){var s,l,d,u;let n=ZU(t),r=e==null?void 0:e.gate;if(r===void 0)return n;let o=(s=r.prompt)!=null?s:n==null?void 0:n.prompt,a=r.unlocked?void 0:(l=r.reason)!=null?l:n==null?void 0:n.reason;return{percent:(u=(d=r.percent)!=null?d:n==null?void 0:n.percent)!=null?u:0,unlocked:r.unlocked,...a===void 0?{}:{reason:a},...o===void 0?{}:{prompt:o}}}function ZU(t){let e=t==null?void 0:t.harnessGate;if(typeof e!="object"||e===null)return;let n=e,r=n.percent,o=n.unlocked;if(typeof r!="number"||typeof o!="boolean")return;let a=n.reason,s=t==null?void 0:t.prompt;return{percent:Math.round(r),unlocked:o,...typeof a=="string"?{reason:a}:{},...typeof s=="string"?{prompt:s}:{}}}function X0(t){return t===void 0||Ai(t)?"":hb(t)}function QU(t,e){if(t.kind===void 0)return Ga(`${Do(re.NO_CREDITS)}${Eu(e,re.MORE)}`);let n=lh(t),r=n.action!==void 0?Eu(e,`${n.action} \u2197`):nt.TRIAL===t.kind?Eu(e,re.PLAN):"";return Sh(`${Do(n.said)}${r}`)}function JU(t){if(t.starting===!0)return re.STARTING;let e=t.gate;if(e!==void 0&&!e.unlocked&&e.reason!==void 0)return re.footSetup(e.percent);let n=t.config;if(n===void 0)return re.FOOT_LINK;if(n.credits!==void 0&&Ai(n.credits))return re.FOOT_NO_CREDITS;if(!n.harnessEntitled)return re.FOOT_NOT_ENTITLED;if(n.providerReady===!1)return re.FOOT_NO_PROVIDER;let r=n.credits;return r===void 0?"":re.creditsLeft(Math.max(0,r.limit-r.used),r.daysLeft)}function eF(t){let e=t.config;return e===void 0||t.gate!==void 0&&!t.gate.unlocked&&t.gate.reason!==void 0||e.credits!==void 0&&Ai(e.credits)?!1:e.harnessEntitled&&e.providerReady!==!1}function q0(t){var a,s;if(t.account===void 0||!t.account.signedIn)return"";if(t.drive!==void 0&&t.canDrive)return Ga(`<button type="button" ${_h} class="reticle-harness-open"><span class="reticle-harness-name">${re.NAME}</span><span class="reticle-harness-state">${Z(re.driving(t.startedAs===void 0?void 0:Gb(t.startedAs),t.drive.steps))}</span><span class="reticle-harness-chev" aria-hidden="true">\u203A</span></button>${Y0}`);let e=((a=t.config)==null?void 0:a.harnessEnabled)===!0,n=(s=t.config)==null?void 0:s.credits,r=n===void 0?"":` title="${Z(hb(n))}"`,o=eF(t)?`<button type="button" role="switch" ${Wb} class="reticle-harness-toggle" aria-checked="${String(e)}" aria-label="${re.TOGGLE}"><span class="reticle-harness-knob"></span></button>`:"";return Ga(`<button type="button" ${_h} class="reticle-harness-open"${r}><span class="reticle-harness-name">${re.NAME}</span><span class="reticle-harness-state">${Z(JU(t))}</span><span class="reticle-harness-chev" aria-hidden="true">\u203A</span></button>${o}`)}function Z0(t){if(t.account===void 0)return"";if(!t.account.signedIn)return Sh(`${Do(re.SIGNED_OUT)}<button type="button" ${wt} class="reticle-harness-link">${re.SIGN_IN}</button>`);if(t.drive!==void 0&&t.canDrive)return W0(Do(re.driving(t.startedAs===void 0?void 0:Gb(t.startedAs),t.drive.steps)),Y0)+Bb(t.pick,!0);let e=t.gate;if(e!==void 0&&!e.unlocked&&e.reason!==void 0)return Sh(`${Do(Z(e.reason))}${e.prompt===void 0?"":`<button type="button" ${zb} class="reticle-harness-link">${re.COPY_PROMPT}</button>`}`);let n=t.config;if(n===void 0)return Sh(`${Do(re.UNLINKED)}<button type="button" ${bu} class="reticle-harness-run"${t.linking===!0?" disabled":""}>${t.linking===!0?re.LINKING:re.LINK}</button>`);if(n.credits!==void 0&&Ai(n.credits))return QU(n.credits,t.planUrl);if(!n.harnessEntitled)return Ga(`${Do(re.NOT_ENTITLED)}${Eu(t.planUrl,re.PLANS)}`);if(n.providerReady===!1)return Ga(`${Do(re.NO_PROVIDER)}${Eu(t.setupUrl,re.SET_UP)}`);if(!n.harnessEnabled)return Ga(`${Do(e===void 0?re.OFF:re.canSwitchOn(e.percent))}<button type="button" ${Kb} class="reticle-harness-run">${re.TURN_ON}</button>`);if(!t.canDrive)return"";let r=t.starting===!0;return W0(V0(t.pick,r),`<button type="button" data-reticle-harness-run class="reticle-harness-run"${r?" disabled":""}>${r?re.STARTING:re.RUN}</button>`)+Bb(t.pick,r)}var re,Kb,bu,_h,xh,Wb,zb,Ga,Sh,Do,W0,Y0,Eu,Yb,Ah=S(()=>{"use strict";H();Lc();Pa();Br();jb();re={RUN:"Run Harness",STARTING:"Starting\u2026",STOP:"Stop",SIGNED_OUT:n0,SIGN_IN:"Sign in",UNLINKED:"This project is not on your dashboard yet.",LINK:"Link this project",LINKING:"Linking\u2026",NOT_ENTITLED:"Harness is not on your plan",NO_CREDITS:"No Harness credits left",NO_PROVIDER:"No model provider set",OFF:"Harness is off",canSwitchOn:t=>`Setup score ${String(t)}%. Harness is off.`,TURN_ON:"Switch on",COPY_PROMPT:"Copy setup prompt",COPIED:"Copied",SET_UP:"Set up \u2197",PLANS:"See plans \u2197",PLAN:"Plan \u2197",MORE:"Get more \u2197",driving:(t,e)=>`Driving${t===void 0?"":` as ${t}`} \xB7 ${String(e)} step${e===1?"":"s"}`,NAME:"Harness",TOGGLE:"Reticle Harness on this project",creditsLeft:(t,e)=>`${t.toLocaleString("en-US")} credit${t===1?"":"s"}${e===void 0?"":` \xB7 ${String(e)} day${e===1?"":"s"}`}`,FOOT_LINK:"Link project",FOOT_NO_CREDITS:"No credits",FOOT_NOT_ENTITLED:"Not on your plan",FOOT_NO_PROVIDER:"No model provider",footSetup:t=>`Setup ${String(t)}% \xB7 needs 80%`,PAGE_TITLE:"Reticle Harness",LOG_LABEL:"What the Harness did",LOG_EMPTY:"Runs show here, step by step.",PAGE_SUBTITLE:"Tests your app by itself"},Kb="data-reticle-harness-switch",bu="data-reticle-harness-link",_h="data-reticle-harness-open",xh="data-reticle-harness-log",Wb="data-reticle-harness-toggle",zb="data-reticle-harness-copy-prompt";Ga=t=>`<div class="reticle-harness-row">${t}</div>`,Sh=t=>`<div class="reticle-harness-row reticle-harness-row-wrap">${t}</div>`,Do=t=>`<span class="reticle-harness-said">${t}</span>`,W0=(t,e)=>Ga(`<span class="reticle-harness-lead">${t}</span>${e}`),Y0=`<button type="button" data-reticle-harness-stop class="reticle-harness-run reticle-harness-stop">${re.STOP}</button>`,Eu=(t,e)=>`<a class="reticle-harness-link" href="${t}" target="_blank" rel="noopener noreferrer">${e}</a>`;Yb=`
|
|
422
|
+
[data-reticle-chat-panel] .reticle-harness-spot{flex:none;display:flex;flex-direction:column;gap:4px;}
|
|
423
|
+
[data-reticle-chat-panel] .reticle-harness-spot[hidden],[data-reticle-chat-panel] .reticle-harness-spot:empty{display:none;}
|
|
424
|
+
[data-reticle-chat-panel] .reticle-harness-row{display:flex;align-items:center;gap:6px;min-height:30px;min-width:0;}
|
|
425
|
+
[data-reticle-chat-panel] .reticle-harness-lead{flex:1;min-width:0;display:flex;align-items:center;gap:6px;}
|
|
426
|
+
[data-reticle-chat-panel] .reticle-harness-said{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-sm);color:var(--reticle-hud-text);}
|
|
427
|
+
[data-reticle-chat-panel] .reticle-harness-row-wrap{flex-wrap:wrap;row-gap:2px;padding:4px 0;}
|
|
428
|
+
[data-reticle-chat-panel] .reticle-harness-row-wrap .reticle-harness-said{flex:1 1 100%;white-space:normal;}
|
|
429
|
+
[data-reticle-chat-panel] .reticle-harness-said code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;}
|
|
430
|
+
[data-reticle-chat-panel] .reticle-harness-as{flex:none;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
431
|
+
[data-reticle-chat-panel] .reticle-harness-persona{box-sizing:border-box;flex:1;min-width:0;width:100%;height:30px;font:inherit;font-size:var(--reticle-hud-size-sm);color:var(--reticle-hud-text);
|
|
432
|
+
background:var(--reticle-hud-ground);border:1px solid var(--reticle-hud-border-strong);border-radius:var(--reticle-hud-radius-sm);padding:0 var(--reticle-hud-space-2);}
|
|
433
|
+
[data-reticle-chat-panel] .reticle-harness-spot > .reticle-harness-persona{flex:none;}
|
|
434
|
+
[data-reticle-chat-panel] select.reticle-harness-persona{padding-right:2px;text-overflow:ellipsis;}
|
|
435
|
+
[data-reticle-chat-panel] .reticle-harness-persona::placeholder{color:var(--reticle-hud-text-faint);}
|
|
436
|
+
[data-reticle-chat-panel] .reticle-harness-persona:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:0;}
|
|
437
|
+
[data-reticle-chat-panel] .reticle-harness-run{flex:none;box-sizing:border-box;height:30px;padding:0 12px;border:0;border-radius:var(--reticle-hud-radius-sm);cursor:pointer;white-space:nowrap;
|
|
438
|
+
background:var(--reticle-hud-brand);color:#160b02;font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;}
|
|
439
|
+
[data-reticle-chat-panel] .reticle-harness-run:hover{filter:brightness(1.08);}
|
|
440
|
+
[data-reticle-chat-panel] .reticle-harness-run:focus-visible{outline:2px solid var(--reticle-hud-text);outline-offset:2px;}
|
|
441
|
+
[data-reticle-chat-panel] .reticle-harness-stop{background:transparent;color:var(--reticle-hud-text);border:1px solid var(--reticle-hud-border-strong);}
|
|
442
|
+
[data-reticle-chat-panel] .reticle-harness-link{flex:none;border:0;padding:0;background:none;cursor:pointer;font:inherit;color:var(--reticle-hud-brand);font-size:var(--reticle-hud-size-sm);font-weight:600;text-decoration:none;white-space:nowrap;}
|
|
443
|
+
[data-reticle-chat-panel] .reticle-harness-link:hover{text-decoration:underline;}
|
|
444
|
+
[data-reticle-chat-panel] .reticle-harness-open{flex:1;min-width:0;height:30px;display:flex;align-items:center;gap:8px;padding:0 var(--reticle-hud-space-2);border:0;border-radius:var(--reticle-hud-radius-sm);background:transparent;cursor:pointer;
|
|
445
|
+
text-align:left;white-space:nowrap;font:inherit;font-size:var(--reticle-hud-size-sm);color:var(--reticle-hud-text);}
|
|
446
|
+
[data-reticle-chat-panel] .reticle-harness-name{flex:none;font-weight:600;}
|
|
447
|
+
[data-reticle-chat-panel] .reticle-harness-state{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--reticle-hud-text-muted);font-size:11px;font-variant-numeric:tabular-nums;}
|
|
448
|
+
[data-reticle-chat-panel] .reticle-harness-chev{flex:none;color:var(--reticle-hud-text-faint);}
|
|
449
|
+
[data-reticle-chat-panel] .reticle-harness-toggle{flex:none;position:relative;width:30px;height:18px;padding:0;border:0;border-radius:9px;cursor:pointer;background:var(--reticle-hud-border-strong);transition:background .15s;}
|
|
450
|
+
[data-reticle-chat-panel] .reticle-harness-toggle[aria-checked="true"]{background:var(--reticle-hud-brand);}
|
|
451
|
+
[data-reticle-chat-panel] .reticle-harness-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;}
|
|
452
|
+
[data-reticle-chat-panel] .reticle-harness-toggle[aria-checked="true"] .reticle-harness-knob{transform:translateX(12px);}
|
|
453
|
+
[data-reticle-chat-panel] .reticle-harness-toggle:focus-visible{outline:2px solid var(--reticle-hud-text);outline-offset:2px;}
|
|
454
|
+
[data-reticle-chat-panel] .reticle-harness-open:hover{background:var(--reticle-hud-hover);}
|
|
455
|
+
[data-reticle-chat-panel] .reticle-harness-open:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:0;}
|
|
456
|
+
[data-reticle-chat-panel] .reticle-harness-run:disabled,[data-reticle-chat-panel] .reticle-harness-persona:disabled{opacity:.6;cursor:default;}
|
|
457
|
+
[data-reticle-chat-panel] .reticle-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
|
|
458
|
+
[data-reticle-chat-panel] .reticle-foot-meta{margin:0;font-size:11px;line-height:1.3;color:var(--reticle-hud-text-muted);overflow-wrap:anywhere;}
|
|
459
|
+
[data-reticle-chat-panel] .reticle-foot-meta:empty{display:none;}
|
|
460
|
+
`});function jr(t){return t<1e3?String(Math.round(t)):t<1e6?`${J0(t/1e3)}k`:`${J0(t/1e6)}M`}function J0(t){return t>=10?String(Math.round(t)):String(Math.round(t*10)/10)}function Tu(t){let e=Math.floor(t/1e3);if(e<60)return`${String(e)}s`;let n=Math.floor(e/60);if(n<60)return`${String(n)}m`;let r=Math.floor(n/60);return n%60===0?`${String(r)}h`:`${String(r)}h ${String(n%60)}m`}function Xb(t,e){let n=t.counts,r=e!==void 0&&e.length>0?` on ${e}`:"",o=[`My agent verified its own work ${String(n.verdicts)} times${r}.`,`${String(n.failed)} checks it refused to pass before I looked at any of them.`];return n.unknown>0&&o.push(`${String(n.unknown)} came back "unknown" - it drove the app and could not tell. That is the number I watch.`),t.records.longestRunMs>0&&o.push(`Longest unattended run: ${Tu(t.records.longestRunMs)}.`),o.join(`
|
|
461
|
+
`)}function tO(t){let e=new URLSearchParams({text:t,url:Ni.SITE});return Q0.length>0&&e.set("via",Q0),`https://twitter.com/intent/tweet?${e.toString()}`}function nO(){return`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(Ni.SITE)}`}function qb(){return`I have been verifying my agent's work from inside the running app with Reticle - it returns pass/fail with the file:line to fix. ${Ni.SITE}`}function rO(t){let e=Qx.safeParse(t);return e.success?e.data:void 0}var Ni,Q0,j,eO,oO,yh=S(()=>{"use strict";H();Ni={DOCS:"https://docs.reticle.sh",SITE:"https://reticle.sh",GITHUB:"https://github.com/reticlehq/reticle",DISCORD:"https://discord.gg/BwAbzv9ZRz"},Q0="",j={TITLE:"Impact",COVERAGE:"Reticle Coverage",COVERAGE_HELP:"How much of this app Reticle has reached, touched and proved, from the coverage ledger in .reticle",PROJECT:"This project",GLOBAL:"All projects",GLOBAL_TITLE:"Every project on this computer",SCOPE_LABEL:"Show impact for",heroDefects:t=>`failed check${t===1?"":"s"} caught before you shipped`,VERDICTS:"Verdicts",PASSED:"passed",FAILED:"failed",UNKNOWN:"unknown",UNKNOWN_HELP:"Reticle drove the app and could not tell what happened. Not a pass - shown, not hidden.",CALLS:"Tool calls",TOKENS:"Tokens returned",DRIVING:"Time driving",SESSIONS:"Sessions",STREAK:"day streak",LONGEST:"Longest run",SAVED_TOKENS:"Tokens saved",SAVED_MINUTES:"Time saved",ESTIMATE_TAG:"estimate",CHART:"Verdicts, last 30 days",DEFECTS:"What broke",DEFECTS_MORE:"Manage all of them on the dashboard \u2014 triage, assign, and push to GitHub",DEFECTS_SEE_ALL:"See all on the dashboard",DEFECTS_SEE_ALL_TITLE:"Sign up free, link this project, and see every bug Reticle caught",DEFECT_LINK_TITLE:"Open on the dashboard to triage or push to GitHub",LOCAL_ONLY:"This record stops at this machine.",LOCAL_ONLY_ACTION:"reticle connect",LOCAL_ONLY_TAIL:"keeps it, and lets a team see it.",UNLINKED:"Signed in, but this repo is not linked.",UNLINKED_ACTION:"reticle connect",UNLINKED_TAIL:"sends this record to your workspace.",DEFECTS_NONE:"Nothing has failed a declared consequence yet.",EMPTY:"Nothing recorded yet. Drive the app once and this fills in.",SHARE:"Share",COPY:"Copy",COPIED:"Copied",SEE_RUN:"See it in your dashboard",KEY_REFUSED:"Key refused",NOT_SENT:"not synced",NOT_SENT_HELP:"Runs saved on this machine but not on your dashboard yet. Run reticle connect in this project to send them.",INSTRUMENTATION:"What Reticle can see",INSTRUMENTATION_HELP:"What Reticle can see in this app, from its handshake and the gaps its verdicts recorded",covered:(t,e)=>`${String(t)} of ${String(e)}`,NOT_SEEN_YET:"not checked yet",COPY_PROMPT:"Copy prompt for your coding agent",SHARE_LABEL:"Share",POST_X:"X",POST_IN:"LinkedIn",REFER:"Invite a friend"},eO={"page connected":"Page connected","DOM actions":"Clicks and typing",network:"Network requests",console:"Console errors","app state (store registered)":"App state","signals on mutation":"Success signals from your code","file:line source mapping":"Source file and line","stable test ids":"Stable test ids"};oO=[{key:"reached",label:"routes reached"},{key:"touched",label:"controls touched"},{key:"proved",label:"controls proved"},{key:"branched",label:"write failures driven"},{key:"executed",label:"code executed"}]});var tF,Su,iO,aO,Gc,vh,sO=S(()=>{"use strict";yh();tF=1600,Su={NONE:"No coding agent connected",named:t=>`${t} connected`,COPY:"Copy prompt",prompt:t=>`Use Reticle to check ${t} in my running app, then tell me the verdict.`},iO=`<div data-reticle-agent-spot class="reticle-agent-spot" hidden>
|
|
462
|
+
<div class="reticle-agent-row"><span data-reticle-agent-dot class="reticle-agent-dot" aria-hidden="true"></span><span data-reticle-agent-said class="reticle-agent-said">${Su.NONE}</span><button type="button" data-reticle-agent-copy class="reticle-agent-copy" aria-label="${j.COPY_PROMPT}" title="${j.COPY_PROMPT}">${Su.COPY}</button></div>
|
|
463
|
+
</div>`,aO=`
|
|
464
|
+
[data-reticle-chat-panel] .reticle-agent-spot{flex:none;display:flex;flex-direction:column;gap:3px;}
|
|
465
|
+
[data-reticle-chat-panel] .reticle-agent-spot[hidden]{display:none;}
|
|
466
|
+
[data-reticle-chat-panel] .reticle-agent-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:30px;padding:0 var(--reticle-hud-space-2);}
|
|
467
|
+
[data-reticle-chat-panel] .reticle-agent-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--reticle-hud-text-faint);}
|
|
468
|
+
[data-reticle-chat-panel] .reticle-agent-row[data-connected="1"] .reticle-agent-dot{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.15);}
|
|
469
|
+
[data-reticle-chat-panel] .reticle-agent-said{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-sm);color:var(--reticle-hud-text-muted);}
|
|
470
|
+
[data-reticle-chat-panel] .reticle-agent-copy:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:0;}
|
|
471
|
+
[data-reticle-chat-panel] .reticle-agent-copy{flex:none;height:22px;padding:0 9px;border:1px solid var(--reticle-hud-border-strong);border-radius:11px;background:transparent;color:var(--reticle-hud-text);font:inherit;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;}
|
|
472
|
+
[data-reticle-chat-panel] .reticle-agent-copy:hover{border-color:var(--reticle-hud-brand);color:var(--reticle-hud-brand);}
|
|
473
|
+
[data-reticle-chat-panel] .reticle-agent-copy[hidden]{display:none;}
|
|
474
|
+
`,vh=class{constructor(){b(this,Gc)}mount(e,n){var r;h(this,Gc,e),(r=e.querySelector("[data-reticle-agent-copy]"))==null||r.addEventListener("click",o=>{var s;let a=o.currentTarget;(s=navigator.clipboard)==null||s.writeText(Su.prompt(location.href)).catch(()=>{}).finally(()=>{a instanceof HTMLElement&&(a.textContent=j.COPIED,window.setTimeout(()=>a.textContent=j.COPY_PROMPT,tF))})},{signal:n})}teardown(){h(this,Gc,void 0)}paint(e){var l;let n=c(this,Gc),r=n==null?void 0:n.querySelector("[data-reticle-agent-spot]");if(n===void 0||r===null||r===void 0||(r.hidden=e===void 0,e===void 0))return;let o=0<e.agents.length;(l=r.querySelector(".reticle-agent-row"))==null||l.setAttribute("data-connected",o?"1":"0");let a=r.querySelector("[data-reticle-agent-said]");a!==null&&(a.textContent=o?Su.named(e.agents.join(", ")):Su.NONE);let s=r.querySelector("[data-reticle-agent-copy]");s!==null&&(s.hidden=o)}};Gc=new WeakMap});function iT(t,e){let n=[t==null?void 0:t.platformUrl,e.host].find(r=>r!==void 0&&Co(r));return Z((n!=null?n:op).replace(/\/+$/,""))}function aF(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.id=="string"&&typeof e.note=="string"&&typeof e.label=="string"&&typeof e.anchor=="string"&&typeof e.route=="string"&&typeof e.createdAt=="number"&&typeof e.pageUrl=="string"}function sF(){var t;try{let e=JSON.parse((t=localStorage.getItem(hO))!=null?t:"[]");return Array.isArray(e)?e.filter(aF).slice(0,oT):[]}catch{return[]}}function cF(t){var e;try{return Number((e=localStorage.getItem(`${Mp}${t!=null?t:""}`))!=null?e:0)||0}catch{return}}function cO(t,e){try{localStorage.setItem(`${Mp}${t!=null?t:""}`,String(e))}catch{}}function lF(t){try{localStorage.setItem(hO,JSON.stringify(t.slice(0,oT)))}catch{}}function pO(){var t,e;try{let n=JSON.parse((t=globalThis.sessionStorage.getItem(st.PRESENTER_VIEW))!=null?t:"{}"),r=n!==null&&typeof n=="object"?n:{};return{view:(e=fO.find(a=>a===r.view))!=null?e:"activity",runFocused:r.runFocused===!0}}catch{return{view:"activity",runFocused:!1}}}function Jb(t){try{globalThis.sessionStorage.setItem(st.PRESENTER_VIEW,JSON.stringify(t))}catch{}}var fO,hO,oT,nF,rF,oF,iF,mO,gO,_u,wi,eT,Ba,EO,Zb,lO,dO,uO,Bc,bO,TO,SO,Qb,Xt,Mo,Au,Vc,Wr,yu,Va,jc,Kc,Wc,Oi,zc,vu,Yc,ja,zr,Ka,Yr,Ii,Wa,Xc,qc,Zc,Qc,za,$o,ae,tT,Rh,Nh,Kr,nT,wh,xu,_O,rT,Oh,Ih=S(()=>{"use strict";H();Eh();HE();ut();ur();mr();wo();Ah();Pa();mb();Lr();jb();sO();Br();fO=["flows","annotations","harness"],hO=st.ANNOTATION_HISTORY,oT=200,nF="/settings?group=project",rF="#model",oF="/settings?group=billing",iF=2e4;mO=`${iO}
|
|
475
|
+
<div data-reticle-harness-spot class="reticle-harness-spot" hidden></div>`,gO=`<section data-reticle-page-panel="flows" class="reticle-page-panel reticle-flows-view" role="region" aria-label="Saved Flows" hidden>
|
|
476
|
+
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>Saved flows</strong><span class="reticle-page-subtitle">Journeys your agent verified, replayable here</span></span><button type="button" data-reticle-page-close aria-label="Close Saved Flows" title="Close">\xD7</button></div>
|
|
477
|
+
<div data-reticle-all-flows class="reticle-all-flows"></div>
|
|
478
|
+
</section>`,_u=pe.NAV,wi={LOG:"Log",FLOWS:"Flows",NOTES:"Notes",IMPACT:"Impact",HARNESS:"Harness",SETTINGS:"Settings",HIDE:"Hide"},eT={SEEN:"Open Impact",NEW:"Open Impact, new results"},Ba=t=>`<span class="reticle-nav-label">${t}</span>`,EO=`<nav class="reticle-chat-nav" aria-label="Reticle views">
|
|
479
|
+
<button type="button" ${Wf} data-reticle-chat-view-btn="activity" aria-label="Agent log" title="Agent log" aria-current="page">${Ee(Y.MESSAGE,_u)}${Ba(wi.LOG)}</button>
|
|
480
|
+
<button type="button" data-reticle-chat-view-btn="harness" aria-label="${re.PAGE_TITLE}" title="${re.PAGE_TITLE}" hidden>${Ee(Y.PLAY,_u)}${Ba(wi.HARNESS)}</button>
|
|
481
|
+
<button type="button" data-reticle-chat-view-btn="flows" aria-label="Saved flows" title="Saved flows">${Ee(Y.LAYOUT,_u)}${Ba(wi.FLOWS)}</button>
|
|
482
|
+
<button type="button" data-reticle-chat-view-btn="annotations" aria-label="Notes" title="Notes">${Ee(Y.NOTES,_u)}<span class="reticle-nav-label">${wi.NOTES}<span data-reticle-note-count class="reticle-nav-count" hidden></span></span></button>
|
|
483
|
+
<button type="button" data-reticle-chat-impact class="reticle-chat-impact" aria-label="${eT.SEEN}" title="Impact">${Ee(Y.CHART,_u)}${Ba(wi.IMPACT)}<span data-reticle-impact-dot class="reticle-nav-dot" aria-hidden="true" hidden></span></button>
|
|
484
|
+
</nav>`,Zb=pe.TOOLBAR,lO="Show note markers on the page",dO="Clear notes from this page",uO="Copy all notes",Bc={SUBTITLE:"Feedback for your agent",SUBTITLE_FULL:"Pin feedback on the page for your agent",PAGE_EMPTY:"No notes on this page",PAGE_HINT:"Select Add notes, then click anything on the page to pin feedback for your agent.",HISTORY_EMPTY:"No saved notes yet",HISTORY_HINT:"Notes from every page you annotate are kept here."},bO=`<section data-reticle-page-panel="harness" class="reticle-page-panel reticle-harness-page" role="region" aria-label="${re.PAGE_TITLE}" hidden>
|
|
485
|
+
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>${re.PAGE_TITLE}</strong><span class="reticle-page-subtitle">${re.PAGE_SUBTITLE}</span></span><button type="button" data-reticle-page-close aria-label="Close ${re.PAGE_TITLE}" title="Close">\xD7</button></div>
|
|
486
|
+
<div data-reticle-harness-page class="reticle-harness-body"></div>
|
|
487
|
+
${H0}
|
|
488
|
+
<div ${xh} ${Uf}="${ln.HARNESS}" class="reticle-harness-log" aria-live="polite" aria-label="${re.LOG_LABEL}"></div>
|
|
489
|
+
<p data-reticle-harness-page-meta class="reticle-foot-meta"></p>
|
|
490
|
+
</section>`,TO=`<section data-reticle-page-panel="annotations" class="reticle-page-panel reticle-annotations-view" role="region" aria-label="Notes" hidden>
|
|
491
|
+
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>Notes</strong><span class="reticle-page-subtitle" title="${Bc.SUBTITLE_FULL}">${Bc.SUBTITLE}</span></span><button type="button" ${Zf} class="reticle-add-notes reticle-primary-btn" title="Add notes" aria-label="Add notes" aria-pressed="false" data-active="0"><span class="reticle-add-notes-icon">${Ee(Y.ANNOTATE,pe.TOOLBAR)}</span><span data-reticle-notes-toggle-label>Add notes</span></button><button type="button" data-reticle-page-close aria-label="Close Notes" title="Close">\xD7</button></div>
|
|
492
|
+
<div class="reticle-annotations-tabs" role="group" aria-label="Notes lists">
|
|
493
|
+
<span class="reticle-segmented"><button type="button" data-reticle-annotation-tab="current" aria-pressed="true">This page</button><button type="button" data-reticle-annotation-tab="history" aria-pressed="false">History</button></span>
|
|
494
|
+
<div data-reticle-current-annotation-actions class="reticle-annotation-actions" aria-label="Current page note actions">
|
|
495
|
+
<button type="button" ${zf} class="reticle-annotation-icon-btn reticle-annotation-marker-toggle" title="${lO}" aria-label="${lO}" aria-pressed="false" data-active="0" disabled>${$f(Y.VIEW,Zb)}</button>
|
|
496
|
+
<button type="button" ${Yf} class="reticle-annotation-icon-btn" title="${dO}" aria-label="${dO}" disabled>${Ee(Y.TRASH,Zb)}</button>
|
|
346
497
|
</div>
|
|
347
|
-
|
|
348
|
-
|
|
498
|
+
<button type="button" data-reticle-copy-all-notes class="reticle-annotation-icon-btn reticle-copy-all" title="${uO}" aria-label="${uO}">${Ee(Y.COPY,Zb)}</button>
|
|
499
|
+
</div>
|
|
500
|
+
<div data-reticle-annotation-list class="reticle-annotation-list"></div>
|
|
501
|
+
</section>`,SO=`
|
|
502
|
+
${Yb}
|
|
503
|
+
${Yb.replaceAll("[data-reticle-chat-panel]",'[data-reticle-page-panel="harness"]')}
|
|
504
|
+
[data-reticle-page-panel="harness"] .reticle-harness-body{flex:none;display:flex;flex-direction:column;gap:var(--reticle-hud-space-2);padding:var(--reticle-hud-space-3);}
|
|
505
|
+
/* The run as it happens, then its result: the Harness's rows only, scrolling under the controls. */
|
|
506
|
+
[data-reticle-page-panel="harness"] .reticle-harness-log{flex:1;min-height:0;overflow-y:auto;padding:0 var(--reticle-hud-space-3) var(--reticle-hud-space-2);}
|
|
507
|
+
[data-reticle-page-panel="harness"] .reticle-harness-log:empty::before{content:"${re.LOG_EMPTY}";display:block;padding:var(--reticle-hud-space-2) 0;color:var(--reticle-hud-text-faint);font-size:11px;}
|
|
508
|
+
[data-reticle-page-panel="harness"] .reticle-foot-meta{flex:none;padding:0 var(--reticle-hud-space-3) var(--reticle-hud-space-3);}
|
|
509
|
+
[data-reticle-page-open="harness"] [data-reticle-page-panel="harness"]{display:flex;}
|
|
510
|
+
[data-reticle-page-open="harness"] [data-reticle-chat-panel]{display:none!important;}
|
|
511
|
+
[data-reticle-hud] .reticle-chat-nav{display:contents;}
|
|
512
|
+
[data-reticle-hud] .reticle-chat-nav button{position:relative;width:var(--reticle-hud-control-size);height:var(--reticle-hud-control-size);justify-self:center;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--reticle-hud-radius-md);padding:0;background:transparent;color:var(--reticle-hud-text-muted);cursor:pointer;}
|
|
513
|
+
[data-reticle-hud] .reticle-chat-nav button:hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
514
|
+
[data-reticle-hud] .reticle-chat-nav button[aria-current="page"],[data-reticle-hud] .reticle-chat-nav button[data-active="1"]{background:transparent;color:var(--reticle-hud-text);}
|
|
515
|
+
/* The page you are on: a short straight bar under its name, nothing louder. */
|
|
516
|
+
[data-reticle-hud] .reticle-toolbar-chrome :is(.reticle-chat-nav button[aria-current="page"],.reticle-chat-nav button[data-active="1"],.reticle-tb-btn[data-active="1"])::after{content:"";position:absolute;left:50%;bottom:1px;width:16px;height:2px;border-radius:1px;transform:translateX(-50%);background:currentColor;}
|
|
517
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-hi-icon{opacity:.92;}
|
|
518
|
+
[data-reticle-hud] .reticle-chat-nav button[hidden]{display:none;}
|
|
519
|
+
/* An icon with its name under it, small: every page says what it is without a hover. */
|
|
520
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-chat-nav button{flex-direction:column;gap:2px;width:100%;height:auto;min-height:42px;padding:4px 0 3px;}
|
|
521
|
+
[data-reticle-hud] .reticle-nav-label{display:block;font-size:9px;line-height:1;font-weight:500;letter-spacing:.01em;color:inherit;white-space:nowrap;}
|
|
522
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-count:empty{display:none;}
|
|
523
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-count:not(:empty){margin-left:3px;font-variant-numeric:tabular-nums;color:var(--reticle-hud-brand);font-weight:600;}
|
|
524
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-count[hidden]{display:none;}
|
|
525
|
+
/* New results since Impact was last opened: a dot on the icon's corner, out of the flow, so no number can push the label. */
|
|
526
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-dot{position:absolute;top:4px;left:calc(50% + 5px);width:7px;height:7px;border-radius:50%;background:var(--reticle-hud-brand);box-shadow:0 0 0 2px var(--reticle-hud-surface);pointer-events:none;}
|
|
527
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-dot[hidden]{display:none;}
|
|
528
|
+
[data-reticle-page-panel]{position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:6;box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 16px));height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));max-height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));flex-direction:column;overflow:hidden;border-radius:var(--reticle-hud-radius-lg);${wc}color:var(--reticle-hud-text);font-size:13px;line-height:1.5;pointer-events:auto;text-align:left;}
|
|
529
|
+
[data-reticle-page-panel][hidden]{display:none!important;}
|
|
530
|
+
[data-reticle-page-open="annotations"] [data-reticle-page-panel="annotations"],[data-reticle-page-open="flows"] [data-reticle-page-panel="flows"]{display:flex;}
|
|
531
|
+
[data-reticle-page-open="annotations"] [data-reticle-chat-panel],[data-reticle-page-open="flows"] [data-reticle-chat-panel]{display:none!important;}
|
|
532
|
+
[data-reticle-page-heading],.reticle-page-heading{display:flex;align-items:center;justify-content:space-between;min-height:42px;box-sizing:border-box;padding:7px 12px;border-bottom:1px solid var(--reticle-hud-border);}
|
|
533
|
+
.reticle-page-heading strong{font-size:12px;font-weight:600;}
|
|
534
|
+
.reticle-page-heading button{width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--reticle-hud-text-muted);font:inherit;font-size:19px;line-height:1;cursor:pointer;}
|
|
535
|
+
.reticle-page-heading button:hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
536
|
+
.reticle-page-subtitle{flex:none;padding:5px 12px;border-bottom:1px solid var(--reticle-hud-border);color:var(--reticle-hud-text-muted);font-size:11px;}
|
|
537
|
+
.reticle-page-panel .reticle-all-flows,.reticle-page-panel .reticle-annotation-list{flex:1;min-height:0;overflow-y:auto;}
|
|
538
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs{flex:none;}
|
|
539
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-list{flex:1;}
|
|
540
|
+
[data-reticle-chat-panel] .reticle-marks-row{display:none !important;}
|
|
541
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs{display:flex;align-items:center;gap:2px;min-height:var(--reticle-hud-control-size);padding:var(--reticle-hud-space-1) var(--reticle-hud-space-2);border-bottom:1px solid var(--reticle-hud-border);}
|
|
542
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs button{border:0;border-radius:var(--reticle-hud-radius-sm);background:transparent;color:var(--reticle-hud-text-muted);padding:var(--reticle-hud-space-1) var(--reticle-hud-space-2);font:inherit;font-size:var(--reticle-hud-size-xs);cursor:pointer;}
|
|
543
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs button[aria-pressed="true"]{background:var(--reticle-hud-inset);color:var(--reticle-hud-text);}
|
|
544
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs .reticle-add-notes{display:inline-flex;align-items:center;gap:4px;margin-left:5px;padding:5px 7px;border:1px solid var(--reticle-hud-border-strong);background:var(--reticle-hud-inset);color:var(--reticle-hud-text);font-weight:600;white-space:nowrap;}
|
|
545
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs .reticle-add-notes[data-active="1"]{border-color:var(--reticle-accent);background:var(--reticle-accent-soft);color:var(--reticle-accent);}
|
|
546
|
+
[data-reticle-page-panel="annotations"] .reticle-add-notes-icon{display:inline-flex;align-items:center;}
|
|
547
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs .reticle-copy-all{margin-left:auto;color:var(--reticle-hud-brand);white-space:nowrap;}
|
|
548
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-actions{display:flex;align-items:center;gap:0;margin-left:0;}
|
|
549
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-actions[hidden]{display:none;}
|
|
550
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--reticle-hud-radius-sm);background:transparent;color:var(--reticle-hud-text-muted);cursor:pointer;}
|
|
551
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn .reticle-hi-icon--solid{opacity:0;}
|
|
552
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn:hover:not(:disabled){color:var(--reticle-hud-text);background:var(--reticle-hud-hover);}
|
|
553
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn[data-active="1"]{color:var(--reticle-accent);background:var(--reticle-accent-soft);border-color:color-mix(in srgb,var(--reticle-accent) 40%,transparent);}
|
|
554
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn:disabled{opacity:.35;cursor:not-allowed;}
|
|
555
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-list{flex:1;min-height:0;overflow-y:auto;padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);}
|
|
556
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-empty{padding:var(--reticle-hud-space-4) var(--reticle-hud-space-2);text-align:center;color:var(--reticle-hud-text-muted);font-size:var(--reticle-hud-size-sm);}
|
|
557
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-item{display:flex;align-items:start;gap:var(--reticle-hud-space-2);padding:var(--reticle-hud-space-2) 2px;border-bottom:1px solid var(--reticle-hud-border);}
|
|
558
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-content{flex:1;min-width:0;}
|
|
559
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-content strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere;}
|
|
560
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-content span{display:block;margin-top:3px;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);overflow-wrap:anywhere;}
|
|
561
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-item button{flex:none;border:1px solid var(--reticle-line);border-radius:6px;background:rgba(255,255,255,.04);color:var(--reticle-muted);font:inherit;font-size:11px;padding:4px 6px;cursor:pointer;}
|
|
562
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-item button:hover{color:#fff;background:rgba(255,255,255,.1);}
|
|
563
|
+
${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reticle-harness-stop])";Oh=class{constructor(e,n,r){b(this,ae);b(this,Xt);b(this,Mo,pO().view);b(this,Au,pO().runFocused);b(this,Vc,!1);b(this,Wr,"current");b(this,yu,[]);b(this,Va,sF());b(this,jc);b(this,Kc);b(this,Wc);b(this,Oi,0);b(this,zc,!1);b(this,vu);b(this,Yc);b(this,ja);b(this,zr);b(this,Ka);b(this,Yr);b(this,Ii,bh);b(this,Wa,"");b(this,Xc,"");b(this,qc,"");b(this,Zc,!1);b(this,Qc,new vh);b(this,za);b(this,$o);h(this,vu,e),h(this,Yc,n),h(this,zr,r)}mount(e){var a,s,l,d,u,p,f;h(this,Xt,e),h(this,ja,new AbortController);let n=c(this,ja).signal;e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(m=>m.addEventListener("click",()=>{let g=m.getAttribute("data-reticle-chat-view-btn");c(this,Yc).call(this,g),this.open(g)},{signal:n})),(a=e.querySelector("[data-reticle-chat-impact]"))==null||a.addEventListener("click",()=>c(this,vu).call(this),{signal:n});let r=m=>{var v,O,B,oe,ce,he,Ie;let g=m.target;if(!(g instanceof Element))return;if(g.closest(`[${_h}]`)!==null){c(this,Yc).call(this,"harness"),this.open("harness");return}if(g.closest(`[${Kb}]`)!==null){(v=c(this,zr))==null||v.setHarness(!0);return}let T=g.closest(`[${Wb}]`);if(T!==null){let Ge=T.getAttribute("aria-checked")!=="true";T.setAttribute("aria-checked",String(Ge)),(O=c(this,zr))==null||O.setHarness(Ge);return}let _=g.closest(`[${bu}],[${lu}]:not([${wt}])`);if(_!==null){if(_.disabled)return;h(this,Zc,!0),(B=c(this,zr))==null||B.link(),E(this,ae,Kr).call(this);return}let y=g.closest("[data-reticle-harness-run]");if(y!==null){if(y.disabled)return;h(this,za,c(this,Ii)),E(this,ae,Rh).call(this,!0),(oe=c(this,zr))==null||oe.run(B0(c(this,Ii),c(this,Wa)));return}if(g.closest("[data-reticle-harness-stop]")!==null){(ce=c(this,zr))==null||ce.stop();return}let A=g.closest(`[${zb}]`);if(A!==null){let Ge=(he=c(this,Wc))==null?void 0:he.prompt;Ge!==void 0&&((Ie=navigator.clipboard)==null||Ie.writeText(Ge).then(()=>A.textContent=re.COPIED).catch(()=>{}))}};(s=e.querySelector("[data-reticle-harness-spot]"))==null||s.addEventListener("click",r,{signal:n}),(l=e.querySelector("[data-reticle-harness-page]"))==null||l.addEventListener("click",r,{signal:n}),(d=e.querySelector(`[${kc}]`))==null||d.addEventListener("click",r,{signal:n});let o=e.querySelector("[data-reticle-harness-page]");o==null||o.addEventListener("change",m=>{var _,y;let g=m.target;if(!(g instanceof HTMLSelectElement))return;let T=Vb(g.value);T!==void 0&&(h(this,Ii,T),K0(c(this,Yr),T),E(this,ae,Kr).call(this),(y=(_=c(this,Xt))==null?void 0:_.querySelector(`#${Fc}`))==null||y.focus())},{signal:n}),o==null||o.addEventListener("input",m=>{m.target instanceof HTMLInputElement&&h(this,Wa,m.target.value)},{signal:n}),c(this,Qc).mount(e,n),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(m=>m.addEventListener("click",()=>{h(this,Wr,m.getAttribute("data-reticle-annotation-tab")==="history"?"history":"current"),E(this,ae,xu).call(this)},{signal:n})),(u=e.querySelector("[data-reticle-annotate-btn]"))==null||u.addEventListener("click",()=>{h(this,Wr,"current"),E(this,ae,xu).call(this)},{signal:n}),(p=e.querySelector("[data-reticle-copy-all-notes]"))==null||p.addEventListener("click",()=>E(this,ae,_O).call(this),{signal:n}),e.querySelectorAll("[data-reticle-page-close]").forEach(m=>m.addEventListener("click",()=>this.closePage(),{signal:n})),(f=e.querySelector("[data-reticle-annotation-list]"))==null||f.addEventListener("click",m=>{let g=m.target;if(!(g instanceof Element))return;let T=g.closest("[data-reticle-copy-note]");if(T===null)return;let _=Number(T.getAttribute("data-reticle-copy-note"));if(!Number.isInteger(_))return;let y=E(this,ae,wh).call(this)[_];y!==void 0&&E(this,ae,rT).call(this,[y],"pageUrl"in y?y.pageUrl:location.href)},{signal:n}),e.addEventListener("focusin",m=>E(this,ae,tT).call(this,m.target instanceof Element&&m.target.matches(Qb)),{signal:n}),e.addEventListener("focusout",m=>{let g=m.relatedTarget;E(this,ae,tT).call(this,g instanceof Element&&g.matches(Qb))},{signal:n}),this.open(c(this,Mo)),E(this,ae,Kr).call(this),this.paintImpact(c(this,Oi)),E(this,ae,xu).call(this)}teardown(){var e;E(this,ae,Rh).call(this,!1),(e=c(this,ja))==null||e.abort(),h(this,ja,void 0),h(this,Xt,void 0),h(this,Xc,""),h(this,qc,""),c(this,Qc).teardown()}open(e){var o;if(e!=="activity"&&!fO.includes(e))return;h(this,Mo,e),Jb({view:e,runFocused:c(this,Vc)});let n=c(this,Xt);if(n===void 0)return;e==="activity"?n.removeAttribute("data-reticle-page-open"):n.setAttribute("data-reticle-page-open",e);let r=n.querySelector("[data-reticle-chat-panel]");r!==null&&(r.hidden=e!=="activity"),n.querySelectorAll("[data-reticle-page-panel]").forEach(a=>{a.hidden=a.getAttribute("data-reticle-page-panel")!==e}),(o=c(this,Xt))==null||o.querySelectorAll("[data-reticle-chat-view-btn]").forEach(a=>{a.getAttribute("data-reticle-chat-view-btn")===e?a.setAttribute("aria-current","page"):a.removeAttribute("aria-current")})}closePage(){let e=c(this,Xt);e!==void 0&&(e.removeAttribute("data-reticle-page-open"),e.querySelectorAll("[data-reticle-page-panel]").forEach(n=>{n.hidden=!0}),h(this,Mo,"activity"),Jb({view:"activity",runFocused:!1}),e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(n=>{n.removeAttribute("aria-current")}))}setProjectId(e){h(this,Yr,e),h(this,Ii,j0(e)),E(this,ae,Kr).call(this),E(this,ae,Nh).call(this)}paintAgent(e){c(this,Qc).paint(e),E(this,ae,nT).call(this)}paintAccount(e){var r;h(this,jc,e);let n=(r=c(this,Xt))==null?void 0:r.querySelector('[data-reticle-chat-view-btn="harness"]');n!=null&&(n.hidden=(e==null?void 0:e.signedIn)!==!0),E(this,ae,Kr).call(this)}paintDrive(e){h(this,Ka,e),e!==void 0?E(this,ae,Rh).call(this,!1):c(this,$o)===void 0&&h(this,za,void 0),E(this,ae,Kr).call(this)}paintHarness(e,n){e!==void 0&&h(this,Zc,!1),h(this,Kc,e),h(this,Wc,n),E(this,ae,Kr).call(this)}paintImpact(e){h(this,Oi,e),c(this,zc)&&cO(c(this,Yr),e),E(this,ae,Nh).call(this)}setImpactOpen(e){h(this,zc,e),e&&cO(c(this,Yr),c(this,Oi)),E(this,ae,Nh).call(this)}paintAnnotations(e){var a;h(this,yu,[...e]);let n=location.href,r=new Map(c(this,Va).map(s=>[s.id,s]));for(let s of e)r.set(s.id,{...s,pageUrl:n});h(this,Va,[...r.values()].sort((s,l)=>l.createdAt-s.createdAt).slice(0,oT)),lF(c(this,Va));let o=(a=c(this,Xt))==null?void 0:a.querySelector("[data-reticle-note-count]");o!=null&&(o.hidden=e.length===0,o.textContent=String(e.length)),E(this,ae,xu).call(this)}};Xt=new WeakMap,Mo=new WeakMap,Au=new WeakMap,Vc=new WeakMap,Wr=new WeakMap,yu=new WeakMap,Va=new WeakMap,jc=new WeakMap,Kc=new WeakMap,Wc=new WeakMap,Oi=new WeakMap,zc=new WeakMap,vu=new WeakMap,Yc=new WeakMap,ja=new WeakMap,zr=new WeakMap,Ka=new WeakMap,Yr=new WeakMap,Ii=new WeakMap,Wa=new WeakMap,Xc=new WeakMap,qc=new WeakMap,Zc=new WeakMap,Qc=new WeakMap,za=new WeakMap,$o=new WeakMap,ae=new WeakSet,tT=function(e){e!==c(this,Vc)&&(h(this,Vc,e),Jb({view:c(this,Mo),runFocused:e}))},Rh=function(e){c(this,$o)!==void 0&&clearTimeout(c(this,$o)),h(this,$o,e?setTimeout(()=>{h(this,$o,void 0),c(this,Ka)===void 0&&h(this,za,void 0),E(this,ae,Kr).call(this)},iF):void 0),e&&E(this,ae,Kr).call(this)},Nh=function(){var a;let e=(a=c(this,Xt))==null?void 0:a.querySelector("[data-reticle-chat-impact]"),n=e==null?void 0:e.querySelector("[data-reticle-impact-dot]");if(e==null||n===void 0||n===null)return;let r=c(this,zc)?c(this,Oi):cF(c(this,Yr)),o=r!==void 0&&c(this,Oi)>r;n.hidden=!o,e.setAttribute("aria-label",o?eT.NEW:eT.SEEN)},Kr=function(){let e=c(this,Xt),n=e==null?void 0:e.querySelector("[data-reticle-harness-spot]");if(e===void 0||n===null||n===void 0)return;let r=c(this,jc),o=c(this,Kc);n.hidden=!1;let a=iT(o,r!=null?r:{signedIn:!1}),s=c(this,Yr)===void 0?"":`&project=${encodeURIComponent(c(this,Yr))}`,l={account:r,config:o,gate:c(this,Wc),drive:c(this,Ka),canDrive:c(this,zr)!==void 0,pick:c(this,Ii),startedAs:c(this,za),setupUrl:`${a}${nF}${s}${rF}`,planUrl:`${a}${oF}`,linking:c(this,Zc),starting:c(this,$o)!==void 0&&c(this,Ka)===void 0},d=q0(l);d!==c(this,Xc)&&(cu(n,d),h(this,Xc,d)),r!==void 0&&!r.signedIn&&c(this,Mo)==="harness"&&this.closePage();let u=e.querySelector("[data-reticle-harness-page]");if(u!==null){let p=Z0(l);p!==c(this,qc)&&(cu(u,p),h(this,qc,p));let f=c(this,Au)?u.querySelector(Qb):null;f!==null&&c(this,Mo)==="harness"&&(h(this,Au,!1),f.focus());let m=u.querySelector("[data-reticle-harness-persona]");m!==null&&m.value!==c(this,Wa)&&(m.value=c(this,Wa))}E(this,ae,nT).call(this)},nT=function(){var r,o,a;let e=((r=c(this,jc))==null?void 0:r.signedIn)===!0,n=(o=c(this,Xt))==null?void 0:o.querySelector("[data-reticle-harness-page-meta]");n!=null&&(n.textContent=e?X0((a=c(this,Kc))==null?void 0:a.credits):"")},wh=function(){return c(this,Wr)==="history"?c(this,Va):c(this,yu)},xu=function(){let e=c(this,Xt);if(e===void 0)return;let n=e.querySelector("[data-reticle-current-annotation-actions]");n!==null&&(n.hidden=c(this,Wr)==="history"),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(a=>a.setAttribute("aria-pressed",String(a.getAttribute("data-reticle-annotation-tab")===c(this,Wr))));let r=e.querySelector("[data-reticle-annotation-list]");if(r===null)return;r.replaceChildren();let o=E(this,ae,wh).call(this);if(o.length===0){let a=document.createElement("div");a.className="reticle-annotation-empty";let s=document.createElement("strong"),l=document.createElement("span"),d=c(this,Wr)==="history";s.textContent=d?Bc.HISTORY_EMPTY:Bc.PAGE_EMPTY,l.textContent=d?Bc.HISTORY_HINT:Bc.PAGE_HINT,a.append(s,l),r.appendChild(a);return}o.forEach((a,s)=>{let l=document.createElement("div");l.className="reticle-annotation-item";let d=document.createElement("div");d.className="reticle-annotation-content";let u=document.createElement("strong");u.textContent=a.note;let p=document.createElement("span");p.textContent=`${a.label} \xB7 ${a.route}${a.source===void 0?"":` \xB7 ${a.source}`}`,d.append(u,p);let f=document.createElement("button");f.type="button",f.textContent="Copy",f.setAttribute("data-reticle-copy-note",String(s)),l.append(d,f),r.appendChild(l)})},_O=function(){let e=E(this,ae,wh).call(this);e.length>0&&E(this,ae,rT).call(this,e,c(this,Wr)==="history"?location.origin:location.href)},rT=function(e,n){var r;(r=navigator.clipboard)==null||r.writeText(If(e,n)).catch(()=>{})}});function gF(t){let{name:e,done:n,total:r,status:o}=t;if(!(typeof e!="string"||typeof n!="number"||typeof r!="number")&&Object.values($s).includes(o))return{name:e,done:n,total:r,status:o}}function TF(t){let e=t.replace(/[-_]+/g," ").trim();return e.length===0?t:e.charAt(0).toUpperCase()+e.slice(1)}function vO(t,e){let n=e?Y.PLAY:Y.PAUSE,r=e?Jc.RESUME:Jc.PAUSE;t.setAttribute("aria-label",r),t.setAttribute("title",r),t.replaceChildren(Fr(n,pe.TOOLBAR)),t.classList.toggle("reticle-tb-btn--primary",e),t.setAttribute("data-active",e?"1":"0")}function SF(t){var e,n,r,o,a,s,l;return{pauseBtn:(e=t.querySelector("[data-reticle-pause]"))!=null?e:void 0,endBtn:(n=t.querySelector("[data-reticle-end]"))!=null?n:void 0,banner:(r=t.querySelector("[data-reticle-banner]"))!=null?r:void 0,copyBtn:(o=t.querySelector("[data-reticle-copy]"))!=null?o:void 0,exportBtn:(a=t.querySelector("[data-reticle-export]"))!=null?a:void 0,exportMsg:(s=t.querySelector("[data-reticle-export-msg]"))!=null?s:void 0,allFlows:(l=t.querySelector("[data-reticle-all-flows]"))!=null?l:void 0}}var dF,xO,uF,pF,Jc,fF,NO,AO,yO,hF,mF,EF,bF,wO,Ch,OO,RO,Lh,IO,CO,LO,kO,pn,Po,Xr,Ya,Ru,el,tl,nl,rl,Xa,vn,Xe,aT,DO,MO,$O,PO,kh,Dh,Mh,sT=S(()=>{"use strict";on();H();lt();ut();ur();$c();$b();Ih();dF="data-reticle-state",xO="data-reticle-tone",uF="data-on",pF="0",Jc={PAUSE:"Pause",RESUME:"Resume",END:"End",SEND:"Send"},fF="PAUSED",NO="Session ended",AO="Copy run",yO="Export",hF=6e3,mF={[$s.PLAYING]:"\u23F5",[$s.PASSED]:"\u2713",[$s.FAILED]:"\u2717"};EF="Copied \u2713",bF="reticle-run.json",wO=4e3,Ch={REPLAYABLE:"Replay without an agent",ELSEWHERE:"Starts on another page",EMPTY_TITLE:"No saved flows yet",EMPTY_HINT:"Every journey your agent verifies is saved here, ready to replay in one click."};OO=`
|
|
564
|
+
[data-reticle-chat-panel] [data-reticle-foot]{flex:none;padding:6px 10px 8px;border-top:1px solid rgba(255,255,255,.07);
|
|
349
565
|
background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.55) 100%);pointer-events:auto;}
|
|
566
|
+
[data-reticle-chat-panel] .reticle-foot-workspace-row{display:flex;flex-wrap:wrap;align-items:center;min-width:0;}
|
|
350
567
|
[data-reticle-chat-panel] .reticle-hud-log-well{margin:0 0 4px;}
|
|
351
568
|
[data-reticle-chat-panel] .reticle-workspace-wrap{position:relative;align-self:flex-start;max-width:100%;}
|
|
569
|
+
[data-reticle-chat-panel] .reticle-workspace-wrap[hidden]{display:none;}
|
|
352
570
|
[data-reticle-chat-panel] .reticle-workspace{
|
|
353
571
|
display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px 3px 6px;border-radius:999px;cursor:pointer;
|
|
354
572
|
border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.78);
|
|
355
573
|
font:inherit;font-size:11px;font-weight:500;line-height:1.2;
|
|
356
574
|
box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:background .15s,border-color .15s,color .15s;}
|
|
575
|
+
[data-reticle-chat-panel] .reticle-workspace-k{color:var(--reticle-hud-text-faint);font-weight:400;}
|
|
357
576
|
[data-reticle-chat-panel] .reticle-workspace:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff;}
|
|
358
577
|
[data-reticle-chat-panel] .reticle-workspace[aria-expanded="true"]{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff;}
|
|
359
578
|
[data-reticle-chat-panel] .reticle-workspace-icon,
|
|
360
579
|
[data-reticle-chat-panel] .reticle-workspace-caret{display:inline-flex;align-items:center;opacity:.72;flex:none;}
|
|
361
580
|
[data-reticle-chat-panel] .reticle-workspace-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(200px,calc(100vw - 120px));}
|
|
581
|
+
@media (max-width:480px){
|
|
582
|
+
[data-reticle-chat-panel] .reticle-workspace-wrap{flex:none;}
|
|
583
|
+
[data-reticle-chat-panel] .reticle-workspace-name{max-width:88px;}
|
|
584
|
+
}
|
|
362
585
|
[data-reticle-chat-panel] .reticle-workspace[aria-expanded="true"] .reticle-workspace-caret{transform:rotate(180deg);}
|
|
363
586
|
[data-reticle-chat-panel] .reticle-workspace-caret{transition:transform .18s ease;}
|
|
364
587
|
[data-reticle-chat-panel] .reticle-workspace-menu{
|
|
@@ -373,7 +596,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
373
596
|
[data-reticle-chat-panel] .reticle-workspace-menu-head{
|
|
374
597
|
display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
|
|
375
598
|
[data-reticle-chat-panel] .reticle-workspace-menu-title{
|
|
376
|
-
color:rgba(255,255,255,.42);font-size:
|
|
599
|
+
color:rgba(255,255,255,.42);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
|
|
377
600
|
[data-reticle-chat-panel] .reticle-workspace-copy{
|
|
378
601
|
display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;
|
|
379
602
|
background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);cursor:pointer;line-height:0;transition:background .12s,color .12s;}
|
|
@@ -387,9 +610,9 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
387
610
|
[data-reticle-chat-panel] .reticle-workspace-menu-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 0;}
|
|
388
611
|
[data-reticle-chat-panel] .reticle-workspace-menu-k{flex:none;color:rgba(255,255,255,.42);}
|
|
389
612
|
[data-reticle-chat-panel] .reticle-workspace-menu-v{min-width:0;text-align:right;color:rgba(255,255,255,.9);font-weight:500;word-break:break-all;}
|
|
390
|
-
[data-reticle-chat-panel] .reticle-banner{display:none;flex:none;align-items:center;gap:8px;padding:
|
|
391
|
-
font-size:12px;font-weight:
|
|
392
|
-
[data-reticle-overlay][data-reticle-state="ended"] [data-reticle-chat-panel] .reticle-banner{display:
|
|
613
|
+
[data-reticle-chat-panel] .reticle-banner{display:none;flex:none;align-items:center;gap:8px;min-height:38px;box-sizing:border-box;padding:8px 14px;
|
|
614
|
+
color:var(--reticle-hud-text);font-size:12px;font-weight:600;border-bottom:1px solid var(--reticle-hud-border);background:var(--reticle-hud-inset);line-height:1.35;}
|
|
615
|
+
[data-reticle-overlay][data-reticle-state="ended"] [data-reticle-chat-panel] .reticle-banner{display:flex;}
|
|
393
616
|
[data-reticle-overlay][data-reticle-state="paused"] [data-reticle-glow][data-on="1"]{
|
|
394
617
|
box-shadow:inset 0 0 0 2px rgba(255,255,255,.2);}
|
|
395
618
|
[data-reticle-overlay][data-reticle-state="ended"] [data-reticle-glow][data-on="1"]{
|
|
@@ -409,13 +632,19 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
409
632
|
[data-reticle-overlay][data-reticle-tone="ask"] [data-reticle-glow][data-on="1"],
|
|
410
633
|
[data-reticle-overlay][data-reticle-tone="warn"] [data-reticle-glow][data-on="1"]{
|
|
411
634
|
box-shadow:inset 0 0 0 2px rgba(255,255,255,.22);}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
[data-reticle-chat-panel] .reticle-
|
|
416
|
-
|
|
417
|
-
[data-reticle-chat-panel] .reticle-
|
|
418
|
-
|
|
635
|
+
/* A replay the person started: the chip becomes a player, its bar filling step by step. */
|
|
636
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state]{position:relative;overflow:hidden;
|
|
637
|
+
border-color:color-mix(in srgb,var(--reticle-c-active) 55%,transparent);color:var(--reticle-fg);}
|
|
638
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state]::after{content:"";position:absolute;left:0;bottom:0;height:2px;
|
|
639
|
+
width:var(--reticle-flow-progress,4%);background:var(--reticle-c-active);transition:width .25s var(--reticle-hud-ease,ease);}
|
|
640
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state="playing"]::after{animation:reticle-flow-pulse 1.2s ease-in-out infinite;}
|
|
641
|
+
@keyframes reticle-flow-pulse{50%{opacity:.55}}
|
|
642
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state="passed"]::after{background:#4ade80;}
|
|
643
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state="failed"]::after{background:#f87171;}
|
|
644
|
+
[data-reticle-chat-panel] .reticle-all-flows{flex:1;min-height:0;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;align-items:stretch;gap:5px;}
|
|
645
|
+
[data-reticle-chat-panel] .reticle-all-flows .reticle-flow{width:100%;height:auto;min-height:32px;text-align:left;justify-content:flex-start;}
|
|
646
|
+
[data-reticle-chat-panel] .reticle-all-flows .reticle-flow:disabled{opacity:.45;cursor:not-allowed;}
|
|
647
|
+
[data-reticle-chat-panel] .reticle-flows-empty{padding:25px 8px;color:var(--reticle-faint);font-size:11px;text-align:center;}
|
|
419
648
|
[data-reticle-chat-panel] .reticle-flow{pointer-events:auto;cursor:pointer;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;
|
|
420
649
|
border-radius:7px;border:1px solid var(--reticle-line);background:rgba(255,255,255,.04);color:var(--reticle-muted);
|
|
421
650
|
font-family:var(--reticle-font);font-size:11px;font-weight:500;transition:background .15s,color .15s,border-color .15s,transform .1s;}
|
|
@@ -434,7 +663,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
434
663
|
[data-reticle-chat-panel] .reticle-marks-copy[data-copied="1"]{color:#22c55e;border-color:#22c55e;}
|
|
435
664
|
[data-reticle-hud] .reticle-export-msg{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
|
|
436
665
|
overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
|
|
437
|
-
`;
|
|
666
|
+
`;RO="Copy for your agent",Lh=pe.TOOLBAR,IO=`<button type="button" data-reticle-pause class="reticle-status-btn" title="${Jc.PAUSE}" aria-label="${Jc.PAUSE}">${Ee(Y.PAUSE,Lh)}</button><span data-reticle-badge class="reticle-pause-badge">${fF}</span><button type="button" data-reticle-end class="reticle-status-btn reticle-status-stop" title="${Jc.END}" aria-label="${Jc.END}">${Ee(Y.STOP,Lh)}</button><button type="button" data-reticle-copy class="reticle-status-btn" title="${AO}" aria-label="${AO}" hidden>${Ee(Y.COPY,Lh)}</button><button type="button" data-reticle-export class="reticle-status-btn" title="${yO}" aria-label="${yO}" hidden>${Ee(Y.DOWNLOAD,Lh)}</button><span data-reticle-export-msg class="reticle-export-msg" aria-live="polite"></span>`,CO=`<div data-reticle-banner class="reticle-banner">${NO}</div>`,LO=`<div ${qf} class="reticle-marks-row" hidden><span data-reticle-marks-text class="reticle-marks-text"></span><button type="button" ${Xf} class="reticle-marks-copy" title="${RO}">${Ee(Y.COPY,pe.HELP)}<span>${RO}</span></button></div>`,kO=`<div data-reticle-foot><div class="reticle-foot-stack">${mO}<div class="reticle-foot-workspace-row">${C0()}</div></div></div>`;Mh=class{constructor(e){b(this,Xe);b(this,pn,{pauseBtn:void 0,endBtn:void 0,banner:void 0,copyBtn:void 0,exportBtn:void 0,exportMsg:void 0,allFlows:void 0});b(this,Po,Me.ACTIVE);b(this,Xr);b(this,Ya);b(this,Ru);b(this,el,[]);b(this,tl);b(this,nl);b(this,rl);b(this,Xa);b(this,vn);h(this,vn,e)}get state(){return c(this,Po)}mount(e,n){var s,l,d,u,p;h(this,Xa,new AbortController);let{signal:r}=c(this,Xa);h(this,Ya,e),h(this,Ru,n),h(this,pn,SF(e));let o=c(this,pn).pauseBtn;o!==void 0&&vO(o,c(this,Po)===Me.PAUSED),(s=c(this,pn).pauseBtn)==null||s.addEventListener("click",()=>E(this,Xe,$O).call(this),{signal:r}),(l=c(this,pn).endBtn)==null||l.addEventListener("click",()=>E(this,Xe,PO).call(this),{signal:r});let a=f=>{let m=f.target;if(!(m instanceof HTMLElement))return;let g=m.closest("[data-reticle-replay]");if(g===null||g.disabled)return;let T=g.getAttribute("data-reticle-replay");T!==null&&T.length>0&&c(this,vn).emit(Ht.REPLAY,T)};(d=c(this,pn).allFlows)==null||d.addEventListener("click",a,{signal:r}),(u=c(this,pn).copyBtn)==null||u.addEventListener("click",()=>E(this,Xe,DO).call(this),{signal:r}),(p=c(this,pn).exportBtn)==null||p.addEventListener("click",()=>E(this,Xe,MO).call(this),{signal:r}),h(this,rl,L0(e)),E(this,Xe,Dh).call(this),this.setState(Me.ACTIVE)}teardown(){var e,n;(e=c(this,Xa))==null||e.abort(),h(this,Xa,void 0),(n=c(this,rl))==null||n.call(this),h(this,rl,void 0),c(this,Xr)!==void 0&&Te(c(this,Xr)),h(this,Xr,void 0)}setFlowProgress(e){let n=gF(e);n!==void 0&&(h(this,tl,n),c(this,nl)!==void 0&&Te(c(this,nl)),h(this,nl,$s.PLAYING===n.status?void 0:ee(()=>{h(this,tl,void 0),E(this,Xe,kh).call(this)},hF)),E(this,Xe,kh).call(this))}setFlows(e){let n=Array.isArray(e)?e:[];h(this,el,n.map(r=>{if(typeof r=="string")return r.length>0?{name:r}:null;if(typeof r=="object"&&r!==null){let o=r,a=o.name;if(typeof a!="string"||a.length===0)return null;let s=o.start,l=o.createdAt;return{name:a,...typeof s=="string"&&s.length>0?{start:s}:{},...typeof l=="number"&&Number.isFinite(l)?{createdAt:l}:{}}}return null}).filter(r=>r!==null)),E(this,Xe,Dh).call(this)}refilterFlows(){E(this,Xe,Dh).call(this)}setState(e,n,r){var l,d,u,p,f;h(this,Po,e),(l=c(this,Ya))==null||l.setAttribute(dF,e);let o=r!==void 0&&r!==Hs.CALM;o?(d=c(this,Ya))==null||d.setAttribute(xO,r):(u=c(this,Ya))==null||u.removeAttribute(xO),c(this,Xr)!==void 0&&(Te(c(this,Xr)),h(this,Xr,void 0));let a=c(this,pn),s=e===Me.ENDED;if(a.pauseBtn!==void 0&&(vO(a.pauseBtn,e===Me.PAUSED),a.pauseBtn.hidden=s),a.endBtn!==void 0&&(a.endBtn.hidden=s),a.copyBtn!==void 0&&(s?a.copyBtn.removeAttribute("hidden"):a.copyBtn.setAttribute("hidden","")),a.exportBtn!==void 0&&(s?a.exportBtn.removeAttribute("hidden"):a.exportBtn.setAttribute("hidden","")),a.banner!==void 0){let m=n!==void 0&&n.trim().length>0?n.trim():"";a.banner.textContent=o&&m.length>0?m:`${NO}${m.length>0?` \xB7 ${m}`:""}`}if(s){let m=c(this,Ru);h(this,Xr,ee(()=>{m==null||m.setAttribute(uF,pF)},c(this,vn).endedFadeMs))}(f=(p=c(this,vn)).onStateChange)==null||f.call(p,e)}};pn=new WeakMap,Po=new WeakMap,Xr=new WeakMap,Ya=new WeakMap,Ru=new WeakMap,el=new WeakMap,tl=new WeakMap,nl=new WeakMap,rl=new WeakMap,Xa=new WeakMap,vn=new WeakMap,Xe=new WeakSet,aT=function(){return JSON.stringify(c(this,vn).runState(),null,2)},DO=function(){var n,r,o;(n=navigator.clipboard)==null||n.writeText(E(this,Xe,aT).call(this)),yn().clearOnCopy&&((o=(r=c(this,vn)).clearRunLog)==null||o.call(r));let e=c(this,pn).exportMsg;e!==void 0&&(e.textContent=EF,e.setAttribute("data-show","1"),ee(()=>e.setAttribute("data-show","0"),1600))},MO=function(){var o,a;let e=new Blob([E(this,Xe,aT).call(this)],{type:"application/json"}),n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=bF,r.click(),URL.revokeObjectURL(n),yn().clearOnCopy&&((a=(o=c(this,vn)).clearRunLog)==null||a.call(o))},$O=function(){c(this,Po)===Me.PAUSED?(c(this,vn).emit(Ht.RESUME),this.setState(Me.ACTIVE)):c(this,Po)===Me.ACTIVE&&(c(this,vn).emit(Ht.PAUSE),this.setState(Me.PAUSED))},PO=function(){c(this,Po)!==Me.ENDED&&(c(this,vn).emit(Ht.END),this.setState(Me.ENDED))},kh=function(){var n,r,o;let e=c(this,tl);for(let a of(r=(n=c(this,pn).allFlows)==null?void 0:n.querySelectorAll("[data-reticle-replay]"))!=null?r:[]){let s=(o=a.getAttribute("data-reticle-replay"))!=null?o:"";if(!(e!==void 0&&e.name===s)){a.removeAttribute("data-state"),a.style.removeProperty("--reticle-flow-progress"),a.classList.contains("reticle-flow")&&(a.textContent=`\u25B6 ${s}`);continue}let d=0<e.total?Math.round(100*e.done/e.total):4;a.setAttribute("data-state",e.status),a.style.setProperty("--reticle-flow-progress",`${String(Math.max(4,d))}%`);let u=mF[e.status];a.classList.contains("reticle-flow")&&(a.textContent=`${u} ${s}`);let p=a.querySelector(".reticle-flow-play");p!==null&&(p.textContent=u);let f=a.querySelector(".reticle-flow-meta");f!==null&&0<e.total&&(f.textContent=`Step ${String(e.done)} of ${String(e.total)}`)}},Dh=function(){let e=c(this,pn).allFlows;if(e===void 0)return;let n=e.ownerDocument,r=new Set(Array.from(n.querySelectorAll(rr())).map(s=>Pe(s))),o=s=>s.start===void 0||r.has(s.start);e.replaceChildren();let a=(s,l,d)=>{let u=n.createElement("button");u.type="button",u.className="reticle-flow-row",u.setAttribute("data-reticle-replay",l.name),u.title=l.name,u.disabled=!d;let p=n.createElement("span");p.className="reticle-flow-play",p.setAttribute("aria-hidden","true"),p.textContent="\u25B6";let f=n.createElement("span");f.className="reticle-flow-text";let m=n.createElement("span");m.className="reticle-flow-name",m.textContent=TF(l.name);let g=n.createElement("span");g.className="reticle-flow-meta",g.textContent=d?Ch.REPLAYABLE:Ch.ELSEWHERE,f.append(m,g),u.append(p,f),s.appendChild(u)};if(c(this,el).length===0){let s=n.createElement("div");s.className="reticle-flows-empty";let l=n.createElement("strong");l.textContent=Ch.EMPTY_TITLE;let d=n.createElement("span");d.textContent=Ch.EMPTY_HINT,s.append(l,d),e.appendChild(s)}else for(let s of[...c(this,el)].sort((l,d)=>{var u,p;return((u=d.createdAt)!=null?u:0)-((p=l.createdAt)!=null?p:0)}))a(e,s,o(s));E(this,Xe,kh).call(this)}});var se,U,X,br,cT,HO,UO=S(()=>{"use strict";wo();ut();ut();mr();se="data-reticle-overlay",U="data-reticle-hud",X="data-reticle-chat-panel",br="data-reticle-state",cT="data-reticle-tone",HO=`
|
|
438
667
|
/**
|
|
439
668
|
* ONE colour says what the session is doing, and the user picks all three.
|
|
440
669
|
*
|
|
@@ -443,73 +672,67 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
443
672
|
* The defaults are blue / amber / red; the settings panel writes --reticle-c-* from the swatches,
|
|
444
673
|
* because a signal colour that disappears into the user's own palette is not a signal.
|
|
445
674
|
*/
|
|
446
|
-
[${
|
|
675
|
+
[${se}]{
|
|
447
676
|
--reticle-c-active:#3b82f6;--reticle-c-idle:#eab308;--reticle-c-ended:#ef4444;
|
|
448
677
|
--reticle-state:var(--reticle-c-idle);}
|
|
449
|
-
[${
|
|
450
|
-
[${
|
|
451
|
-
[${
|
|
452
|
-
[${
|
|
453
|
-
--reticle-surface:
|
|
678
|
+
[${se}][${tu}="active"]{--reticle-state:var(--reticle-c-active);}
|
|
679
|
+
[${se}][${br}="paused"]{--reticle-state:var(--reticle-c-idle);}
|
|
680
|
+
[${se}][${br}="ended"]{--reticle-state:var(--reticle-c-ended);}
|
|
681
|
+
[${D}]{
|
|
682
|
+
--reticle-surface:color-mix(in srgb,var(--reticle-hud-surface) 78%,transparent);
|
|
454
683
|
/* No literal here: --reticle-accent is published on the overlay from the chosen status theme.
|
|
455
684
|
Redefining it on the dock made every accented control - toolbar toggles, focus rings, the send
|
|
456
685
|
button - stay blue no matter which theme was picked, because the dock's value won for its own
|
|
457
686
|
subtree. The fallback only matters if the presenter is mounted without settings. */
|
|
458
687
|
--reticle-accent:var(--reticle-c-active,#3b82f6);
|
|
459
688
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-accent) 18%,transparent);
|
|
460
|
-
--reticle-bg
|
|
461
|
-
--reticle-fg
|
|
462
|
-
--reticle-line:
|
|
689
|
+
--reticle-bg:var(--reticle-hud-ground);--reticle-bg2:var(--reticle-hud-surface);
|
|
690
|
+
--reticle-fg:var(--reticle-hud-text);--reticle-muted:var(--reticle-hud-text-muted);--reticle-faint:var(--reticle-hud-text-faint);
|
|
691
|
+
--reticle-line:var(--reticle-hud-border-strong);--reticle-line2:color-mix(in srgb,var(--reticle-hud-border) 70%,transparent);
|
|
463
692
|
--reticle-read:#d4d4d4;--reticle-ok:#fafafa;--reticle-bad:#f5f5f5;
|
|
464
|
-
--reticle-font:
|
|
465
|
-
--reticle-shell-ease:
|
|
693
|
+
--reticle-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
|
|
694
|
+
--reticle-shell-ease:var(--reticle-hud-ease);
|
|
466
695
|
--reticle-shell-fast:.22s var(--reticle-shell-ease);
|
|
467
696
|
--reticle-mark-accent:var(--reticle-accent);
|
|
468
697
|
position:fixed;right:20px;bottom:20px;left:auto;
|
|
469
698
|
z-index:2147483647;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
|
|
470
699
|
overflow:visible;max-width:calc(100vw - 24px);font-family:var(--reticle-font);-webkit-font-smoothing:antialiased;
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
*/
|
|
475
|
-
/* ONE width for the chat, the capsule and the toolbar. It used to be 440 with a "compact" 340
|
|
476
|
-
toggle; 340 is the size that actually reads well beside an app, so it is simply the size. */
|
|
477
|
-
--reticle-dock-w:340px;
|
|
700
|
+
/* ONE width for the chat, the capsule and the toolbar: the dock-width token. Two widths made the
|
|
701
|
+
toolbar overhang the panel it belongs to, and the pair read as two unrelated widgets. */
|
|
702
|
+
--reticle-dock-w:var(--reticle-hud-dock-width,320px);
|
|
478
703
|
/* The log is the reason the panel exists, so it gets the height rather than the chrome. */
|
|
479
|
-
--reticle-chat-h:
|
|
704
|
+
--reticle-chat-h:var(--reticle-hud-panel-height,440px);
|
|
480
705
|
opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--reticle-shell-fast),transform var(--reticle-shell-fast);}
|
|
481
|
-
[${
|
|
482
|
-
[${
|
|
483
|
-
[${
|
|
484
|
-
[${
|
|
706
|
+
[${D}][data-dragged="1"]{left:var(--reticle-hud-x);top:var(--reticle-hud-y);bottom:auto;right:auto;transform:none;}
|
|
707
|
+
[${D}][data-dragged="1"][data-on="1"]{transform:none;}
|
|
708
|
+
[${D}][data-on="1"]{opacity:1;transform:translate3d(0,0,0);pointer-events:none;}
|
|
709
|
+
[${D}][data-on="0"]{opacity:0;pointer-events:none;}
|
|
485
710
|
/**
|
|
486
|
-
* The panel is
|
|
487
|
-
*
|
|
488
|
-
*
|
|
489
|
-
* thing in the whole SDK (+4pp of main thread on the hostile fixture), and the tint buys the look
|
|
490
|
-
* without the bill.
|
|
711
|
+
* The panel is painted by HUD_GLASS_PAINT: an opaque navy fill, lit by the state colour, with that
|
|
712
|
+
* colour glowing behind it. No backdrop-filter: blur(24px) here was measured as the single most
|
|
713
|
+
* expensive thing in the whole SDK.
|
|
491
714
|
*/
|
|
492
|
-
[${
|
|
493
|
-
|
|
494
|
-
radial-gradient(130% 90% at 50% 0%,color-mix(in srgb,var(--reticle-c-active) 18%,transparent),transparent 62%),
|
|
495
|
-
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
496
|
-
border:1px solid color-mix(in srgb,var(--reticle-c-active) 26%,rgba(255,255,255,.1));
|
|
715
|
+
[${X}]{
|
|
716
|
+
${wc}
|
|
497
717
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);top:auto;z-index:5;
|
|
498
718
|
box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 16px));
|
|
719
|
+
height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));
|
|
499
720
|
max-height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));
|
|
500
721
|
flex-direction:column;overflow:hidden;text-align:left;
|
|
501
722
|
color:var(--reticle-fg);font-size:13px;line-height:1.5;
|
|
502
|
-
border-radius:
|
|
503
|
-
box-shadow:${Ir},0 0 54px -18px var(--reticle-c-active);
|
|
723
|
+
border-radius:var(--reticle-hud-radius-lg);
|
|
504
724
|
contain:layout style paint;
|
|
505
725
|
transform:translateZ(0);
|
|
506
726
|
pointer-events:none;}
|
|
507
|
-
[${
|
|
727
|
+
[${D}][${Io}="below"] [${X}]{
|
|
508
728
|
bottom:auto;top:calc(100% + 8px);}
|
|
509
|
-
[${
|
|
729
|
+
[${D}][${Nt}="start"] [${X}]{
|
|
510
730
|
right:auto;left:0;}
|
|
511
|
-
[${
|
|
731
|
+
[${se}][${ot}="1"] [${X}]{
|
|
512
732
|
display:flex;pointer-events:auto;}
|
|
733
|
+
[${X}][hidden]{display:none!important;}
|
|
734
|
+
[${D}][${Io}="below"] [data-reticle-page-panel]{bottom:auto;top:calc(100% + 8px);}
|
|
735
|
+
[${D}][${Nt}="start"] [data-reticle-page-panel]{right:auto;left:0;}
|
|
513
736
|
/**
|
|
514
737
|
* Idle, and not blocking the page: the card is not in use.
|
|
515
738
|
*
|
|
@@ -517,10 +740,13 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
517
740
|
* under the card landed on an empty transcript. Playwright named that div. The card passes the
|
|
518
741
|
* event through. The buttons stay clickable, which is the chrome a person still needs (#992).
|
|
519
742
|
*/
|
|
520
|
-
[${
|
|
521
|
-
[${
|
|
743
|
+
[${se}][data-reticle-mode="idle"][data-reticle-block="0"] [${X}],
|
|
744
|
+
[${se}][data-reticle-mode="idle"][data-reticle-block="0"] [${X}] [data-reticle-log]{
|
|
522
745
|
pointer-events:none;}
|
|
523
|
-
|
|
746
|
+
/* ...except a log with more than it shows: a feed nobody can scroll back through is not a log. */
|
|
747
|
+
[${se}][data-reticle-mode="idle"][data-reticle-block="0"] [${X}] [data-reticle-log][data-reticle-log-scrollable]{
|
|
748
|
+
pointer-events:auto;}
|
|
749
|
+
[${se}][data-reticle-mode="idle"][data-reticle-block="0"] [${X}] :is(button,a,input,select,textarea){
|
|
524
750
|
pointer-events:auto;}
|
|
525
751
|
/**
|
|
526
752
|
* Minimising the chat leaves a CAPSULE, not a hole: the same glass, the same state dot, the last
|
|
@@ -528,7 +754,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
528
754
|
* clicked. Leaving the toolbar alone above an empty gap would make a minimised session look
|
|
529
755
|
* identical to no session at all.
|
|
530
756
|
*/
|
|
531
|
-
[${
|
|
757
|
+
[${gt}]{
|
|
532
758
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:5;
|
|
533
759
|
box-sizing:border-box;width:var(--reticle-dock-w);
|
|
534
760
|
max-width:min(var(--reticle-dock-w),calc(100vw - 16px));
|
|
@@ -537,91 +763,101 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
537
763
|
radial-gradient(120% 160% at 50% 0%,color-mix(in srgb,var(--reticle-state) 18%,transparent),transparent 70%),
|
|
538
764
|
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
539
765
|
border:1px solid color-mix(in srgb,var(--reticle-state) 26%,rgba(255,255,255,.1));
|
|
540
|
-
box-shadow:${
|
|
766
|
+
box-shadow:${hr},0 0 34px -14px var(--reticle-state);
|
|
541
767
|
color:var(--reticle-muted);font-family:var(--reticle-font);font-size:11px;line-height:1;
|
|
542
768
|
transition:transform .1s ease,border-color .2s ease;}
|
|
543
|
-
[${
|
|
544
|
-
[${
|
|
545
|
-
[${
|
|
769
|
+
[${D}][${Io}="below"] [${gt}]{bottom:auto;top:calc(100% + 8px);}
|
|
770
|
+
[${D}][${Nt}="start"] [${gt}]{right:auto;left:0;}
|
|
771
|
+
[${se}][${ke}="0"]:not([${ot}="1"]) [${gt}]{
|
|
546
772
|
display:inline-flex;pointer-events:auto;}
|
|
547
|
-
[${
|
|
548
|
-
[${
|
|
773
|
+
[${gt}]:hover{border-color:color-mix(in srgb,var(--reticle-c-active) 45%,transparent);}
|
|
774
|
+
[${gt}]:active{transform:scale(.98);}
|
|
549
775
|
/* No dot in the capsule: the mark, the border and the glow already carry the state colour, and a
|
|
550
776
|
pulsing dot next to a line of text that changes on its own was two things moving for one fact. */
|
|
551
|
-
[${
|
|
777
|
+
[${gt}] .reticle-mark{flex:none;height:14px;width:auto;color:var(--reticle-fg);opacity:.9;}
|
|
552
778
|
/* Header: who this panel belongs to, and what the session is doing right now. */
|
|
553
|
-
[${
|
|
779
|
+
[${X}] .reticle-chat-head{
|
|
554
780
|
flex:none;display:flex;align-items:center;gap:8px;padding:11px 44px 9px 14px;
|
|
555
781
|
border-bottom:1px solid rgba(255,255,255,.06);}
|
|
556
|
-
[${
|
|
782
|
+
[${X}] .reticle-chat-brand{display:inline-flex;align-items:center;gap:7px;color:var(--reticle-fg);}
|
|
557
783
|
/* The account capsule lives in the header, not the toolbar. The toolbar row is already 13px over its
|
|
558
784
|
own width, so a 20px avatar there pushed the close button outside the panel. The header has the
|
|
559
785
|
space, is visible under exactly the same condition, and is where an account avatar belongs anyway.
|
|
560
786
|
margin-left:auto right-aligns it; the head reserves 44px of right padding for the caret above it,
|
|
561
787
|
so the two never overlap. The :empty rule keeps the gap closed when no account state was sent. */
|
|
562
|
-
[${
|
|
563
|
-
[${
|
|
564
|
-
|
|
565
|
-
[${
|
|
788
|
+
[${X}] .reticle-head-account{margin-left:auto;display:inline-flex;align-items:center;}
|
|
789
|
+
[${X}] .reticle-head-account:empty{display:none;}
|
|
790
|
+
/* The quiet way to the platform: one line of small text before the avatar, cut short before it pushes. */
|
|
791
|
+
[${X}] .reticle-head-team{margin-left:auto;min-width:0;display:inline-flex;}
|
|
792
|
+
[${X}] .reticle-head-team:empty{display:none;}
|
|
793
|
+
[${X}] .reticle-head-team:not(:empty) + .reticle-head-account{margin-left:0;}
|
|
794
|
+
[${X}] .reticle-team-link{min-width:0;max-width:100%;overflow:hidden;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--reticle-hud-size-xs);font-weight:500;color:var(--reticle-hud-text-muted);text-decoration:none;white-space:nowrap;text-overflow:ellipsis;}
|
|
795
|
+
[${X}] .reticle-team-link span{display:block;overflow:hidden;text-overflow:ellipsis;}
|
|
796
|
+
[${X}] .reticle-team-link:hover{color:var(--reticle-hud-brand);}
|
|
797
|
+
[${X}] .reticle-team-link:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:2px;border-radius:var(--reticle-hud-radius-sm);}
|
|
798
|
+
[${X}] .reticle-chat-brand .reticle-mark{height:14px;width:auto;}
|
|
799
|
+
[${X}] .reticle-chat-brandname{font-size:12.5px;font-weight:600;letter-spacing:.01em;}
|
|
800
|
+
[${X}] .reticle-view-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-height:28px;box-sizing:border-box;padding:6px 12px 4px;border-bottom:1px solid var(--reticle-hud-border);}
|
|
801
|
+
[${X}] .reticle-view-heading strong{font-size:11px;font-weight:600;}
|
|
566
802
|
/* No state word here: the activity strip immediately below already says "idle \xB7 21s", and the
|
|
567
803
|
dot in front of it carries the same colour. One fact, one place. */
|
|
568
|
-
[${
|
|
804
|
+
[${gt}] .reticle-chat-pill-text{
|
|
569
805
|
flex:1;text-align:left;
|
|
570
806
|
min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
571
807
|
font-variant-numeric:tabular-nums;letter-spacing:.01em;}
|
|
572
|
-
[${
|
|
808
|
+
[${gt}] .reticle-chat-pill-time{
|
|
573
809
|
flex:none;color:var(--reticle-faint);font-variant-numeric:tabular-nums;}
|
|
574
|
-
[${
|
|
810
|
+
[${gt}] .reticle-chat-pill-caret{
|
|
575
811
|
flex:none;display:inline-flex;color:var(--reticle-faint);line-height:0;transform:rotate(180deg);}
|
|
576
|
-
[${
|
|
812
|
+
[${gt}] .reticle-chat-pill-caret svg{
|
|
577
813
|
display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
|
|
578
814
|
/* Minimise the chat without collapsing the whole HUD \u2014 sits over the panel's top-right corner. */
|
|
579
|
-
[${
|
|
815
|
+
[${D}] .reticle-chat-min{
|
|
580
816
|
position:absolute;top:6px;right:6px;z-index:4;
|
|
581
817
|
width:26px;height:26px;padding:0;border:none;border-radius:50%;cursor:pointer;
|
|
582
818
|
display:inline-flex;align-items:center;justify-content:center;
|
|
583
819
|
background:transparent;color:rgba(255,255,255,.6);line-height:0;}
|
|
584
|
-
[${
|
|
585
|
-
[${
|
|
820
|
+
[${D}] .reticle-chat-min:hover{background:rgba(255,255,255,.07);color:var(--reticle-fg);}
|
|
821
|
+
[${D}] .reticle-chat-min svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;
|
|
586
822
|
stroke-linecap:round;stroke-linejoin:round;}
|
|
587
|
-
[${
|
|
588
|
-
[${
|
|
589
|
-
[${
|
|
590
|
-
[${
|
|
823
|
+
[${se}][${Jf}="0"] [${Zd}]{display:none;}
|
|
824
|
+
[${se}][${Gr}="1"] [${U}],
|
|
825
|
+
[${se}][${Gr}="1"] [${X}],
|
|
826
|
+
[${se}][${Gr}="1"] [data-reticle-settings-panel]{
|
|
591
827
|
transition-duration:.01ms !important;}
|
|
592
|
-
[${
|
|
593
|
-
[${
|
|
594
|
-
[${
|
|
595
|
-
[${
|
|
828
|
+
[${se}][${Gr}="1"] .reticle-fab-pulse,
|
|
829
|
+
[${se}][${Gr}="1"] .reticle-act-dot,
|
|
830
|
+
[${se}][${Gr}="1"] [data-bump="1"]{animation:none !important;}
|
|
831
|
+
[${U}]{
|
|
596
832
|
/* Centre the toolbar in the pill. The toolbar is 32px inside a 36px content box and, as a plain
|
|
597
833
|
block child, sat flush against padding-top - every icon rode 2px high in a rounded bar, which
|
|
598
834
|
is exactly the offset the eye picks up on a pill. */
|
|
599
835
|
position:relative;box-sizing:border-box;pointer-events:auto;flex:none;
|
|
600
836
|
display:flex;align-items:center;
|
|
601
837
|
width:44px;height:44px;min-height:44px;max-height:44px;overflow:visible;
|
|
602
|
-
background:${
|
|
838
|
+
background:${lb};
|
|
603
839
|
color:#fff;border:none;border-radius:22px;
|
|
604
840
|
box-shadow:0 2px 12px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.1);
|
|
605
841
|
contain:layout style;
|
|
606
842
|
transition:width .26s var(--reticle-shell-ease),border-radius .26s var(--reticle-shell-ease),
|
|
607
843
|
transform var(--reticle-shell-fast),opacity .18s ease;
|
|
608
844
|
will-change:width,border-radius,transform;}
|
|
609
|
-
[${
|
|
845
|
+
[${se}][${ke}="0"] [${U}]{
|
|
610
846
|
box-shadow:0 4px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.12);}
|
|
611
|
-
[${
|
|
847
|
+
[${U}] .reticle-hud-deco{
|
|
612
848
|
position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
|
|
613
849
|
opacity:0;visibility:hidden;}
|
|
614
|
-
[${
|
|
850
|
+
[${se}][${ke}="0"] [${U}] .reticle-hud-deco{
|
|
615
851
|
opacity:1;visibility:visible;}
|
|
616
|
-
[${
|
|
617
|
-
[${
|
|
852
|
+
[${U}][data-on="0"]{opacity:0;transform:scale(.8);pointer-events:none;}
|
|
853
|
+
[${U}][data-on="1"]{opacity:1;transform:scale(1);}
|
|
618
854
|
/* The expanded HUD IS the shared column width; the toolbar fills its content box. Sizing the
|
|
619
855
|
toolbar to the dock width instead pushed it past the HUD's padding, and the last button - Exit -
|
|
620
856
|
rendered outside the rounded box it belongs to. */
|
|
621
|
-
[${
|
|
857
|
+
[${se}][${ke}="0"] [${U}]{
|
|
622
858
|
width:min(calc(100vw - 24px),var(--reticle-dock-w));height:44px;min-height:44px;max-height:44px;
|
|
623
859
|
min-width:44px;border-radius:24px;padding:4px 6px;}
|
|
624
|
-
[${
|
|
860
|
+
[${U}] .reticle-fab{
|
|
625
861
|
position:absolute;inset:0;z-index:2;display:inline-flex;align-items:center;justify-content:center;
|
|
626
862
|
width:44px;height:44px;padding:0;margin:0;border:none;border-radius:22px;cursor:pointer;
|
|
627
863
|
background:transparent;color:var(--reticle-fg);line-height:0;
|
|
@@ -631,128 +867,116 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
631
867
|
* waiting or done. It carries the state colour as a halo: breathing while the agent drives, a
|
|
632
868
|
* steady soft ring while idle, and a flat dim ring once the session has ended.
|
|
633
869
|
*/
|
|
634
|
-
[${
|
|
870
|
+
[${se}][${ke}="1"] [${U}] .reticle-fab{
|
|
635
871
|
cursor:grab;touch-action:none;user-select:none;
|
|
636
872
|
box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 55%,transparent),
|
|
637
873
|
0 0 14px -2px color-mix(in srgb,var(--reticle-state) 45%,transparent);}
|
|
638
|
-
[${
|
|
874
|
+
[${se}][${ke}="1"][${tu}="active"] [${U}] .reticle-fab{
|
|
639
875
|
animation:reticle-fab-breathe 1.6s ease-in-out infinite;}
|
|
640
|
-
[${
|
|
876
|
+
[${se}][${ke}="1"][${br}="ended"] [${U}] .reticle-fab{
|
|
641
877
|
animation:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 40%,transparent);}
|
|
642
878
|
@keyframes reticle-fab-breathe{
|
|
643
879
|
0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 70%,transparent),
|
|
644
880
|
0 0 16px -2px color-mix(in srgb,var(--reticle-state) 55%,transparent)}
|
|
645
881
|
50%{box-shadow:0 0 0 2px var(--reticle-state),
|
|
646
882
|
0 0 28px 2px color-mix(in srgb,var(--reticle-state) 70%,transparent)}}
|
|
647
|
-
[${
|
|
648
|
-
[${
|
|
883
|
+
[${se}][${Gr}="1"] [${U}] .reticle-fab{animation:none;}
|
|
884
|
+
[${se}][${ke}="1"] [${U}] .reticle-fab.reticle-drag-handle--dragging{
|
|
649
885
|
cursor:grabbing;}
|
|
650
|
-
[${
|
|
651
|
-
[${
|
|
652
|
-
[${
|
|
653
|
-
[${
|
|
654
|
-
[${
|
|
886
|
+
[${U}] .reticle-fab-mark{height:22px;width:auto;pointer-events:none;}
|
|
887
|
+
[${U}] .reticle-fab:hover{background:rgba(255,255,255,.08);}
|
|
888
|
+
[${U}] .reticle-fab:active{transform:scale(.95);}
|
|
889
|
+
[${U}] .reticle-fab:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 75%,transparent);outline-offset:2px;}
|
|
890
|
+
[${U}] .reticle-fab-pulse{
|
|
655
891
|
position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;
|
|
656
892
|
background:var(--reticle-accent);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;}
|
|
657
|
-
[${
|
|
658
|
-
[${
|
|
893
|
+
[${U}] .reticle-fab[data-pulse="1"] .reticle-fab-pulse{opacity:1;transform:scale(1);}
|
|
894
|
+
[${U}] .reticle-fab-badge{
|
|
659
895
|
position:absolute;top:-13px;right:-13px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
|
|
660
896
|
background:var(--reticle-accent);color:#fff;font-size:10px;font-weight:600;
|
|
661
897
|
display:flex;align-items:center;justify-content:center;pointer-events:none;
|
|
662
898
|
box-shadow:0 1px 3px rgba(0,0,0,.15);}
|
|
663
|
-
[${
|
|
664
|
-
[${
|
|
899
|
+
[${U}] .reticle-fab-badge[hidden]{display:none;}
|
|
900
|
+
[${se}][${ke}="0"] [${U}] .reticle-fab{
|
|
665
901
|
opacity:0;pointer-events:none;visibility:hidden;}
|
|
666
902
|
/* The toolbar is the third element in the same column, so it carries the same width as the chat
|
|
667
903
|
and the capsule above it and spreads its groups across it, rather than hugging its icons. */
|
|
668
|
-
[${
|
|
904
|
+
[${U}] .reticle-toolbar{
|
|
669
905
|
position:relative;z-index:1;display:none;align-items:center;justify-content:space-between;
|
|
670
906
|
box-sizing:border-box;width:100%;
|
|
671
907
|
gap:4px;height:32px;padding:0 2px;
|
|
672
908
|
overflow:visible;opacity:0;transform:scale(.94);pointer-events:none;
|
|
673
909
|
transition:opacity .2s var(--reticle-shell-ease),transform .18s var(--reticle-shell-ease);}
|
|
674
|
-
[${
|
|
910
|
+
[${se}][${ke}="0"] [${U}] .reticle-toolbar{
|
|
675
911
|
display:flex;opacity:1;transform:scale(1);pointer-events:auto;}
|
|
676
912
|
/* The HUD block is transformed, which makes it a stacking context at level 0 inside the dock, so a
|
|
677
913
|
tooltip's z-index only ranked it within the block and it drew behind the chat and settings panels,
|
|
678
914
|
its siblings. Lift the block while a tooltip can show. */
|
|
679
|
-
[${
|
|
680
|
-
[${
|
|
681
|
-
[${
|
|
682
|
-
[${
|
|
915
|
+
[${U}]:hover,[${U}]:focus-within{z-index:${String(cb)};}
|
|
916
|
+
[${U}] .reticle-toolbar-drag{cursor:grab;touch-action:none;user-select:none;}
|
|
917
|
+
[${U}] .reticle-toolbar-drag.reticle-drag-handle--dragging{cursor:grabbing;}
|
|
918
|
+
[${U}] .reticle-toolbar-actions{
|
|
683
919
|
display:inline-flex;align-items:center;gap:2px;flex:none;
|
|
684
920
|
padding:2px;border-radius:999px;background:rgba(0,0,0,.2);}
|
|
685
|
-
[${
|
|
686
|
-
[${
|
|
921
|
+
[${U}] .reticle-toolbar-chrome{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:var(--reticle-hud-space-1);flex:1;min-width:0;}
|
|
922
|
+
[${U}] .reticle-tb-sep{width:1px;height:14px;background:rgba(255,255,255,.12);margin:0 4px;flex:none;align-self:center;}
|
|
687
923
|
|
|
688
|
-
[${
|
|
689
|
-
[${
|
|
924
|
+
[${U}] .reticle-tb-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;}
|
|
925
|
+
[${U}] .reticle-tb-btn{
|
|
690
926
|
flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
691
|
-
width:
|
|
927
|
+
width:var(--reticle-hud-control-size);height:var(--reticle-hud-control-size);padding:0;border:none;border-radius:var(--reticle-hud-radius-pill);cursor:pointer;
|
|
692
928
|
background:transparent;color:rgba(255,255,255,.85);line-height:0;
|
|
693
929
|
transition:background-color .15s ease,color .15s ease,transform .1s ease,opacity .2s ease;}
|
|
694
|
-
[${
|
|
695
|
-
[${
|
|
696
|
-
[${
|
|
697
|
-
[${
|
|
698
|
-
[${
|
|
930
|
+
[${U}] .reticle-tb-btn:hover{background:rgba(255,255,255,.12);color:#fff;}
|
|
931
|
+
[${U}] .reticle-tb-btn:active{transform:scale(.92);}
|
|
932
|
+
[${U}] .reticle-tb-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 65%,transparent);outline-offset:1px;}
|
|
933
|
+
[${U}] .reticle-tb-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;}
|
|
934
|
+
[${U}] .reticle-tb-btn[data-active="1"]{color:var(--reticle-accent);
|
|
699
935
|
background:color-mix(in srgb, var(--reticle-accent) 25%, transparent);}
|
|
700
|
-
[${
|
|
936
|
+
[${U}] .reticle-tb-btn--toggle[data-active="1"]{
|
|
701
937
|
color:var(--reticle-accent);background:transparent;}
|
|
702
|
-
[${
|
|
703
|
-
[${
|
|
938
|
+
[${U}] .reticle-tb-btn--toggle[data-active="1"]:hover{background:rgba(255,255,255,.06);color:var(--reticle-accent);}
|
|
939
|
+
[${U}] .reticle-hi-toggle{
|
|
704
940
|
position:relative;display:inline-flex;align-items:center;justify-content:center;
|
|
705
941
|
width:18px;height:18px;line-height:0;flex:none;}
|
|
706
|
-
[${
|
|
942
|
+
[${U}] .reticle-hi-toggle .reticle-hi-icon{
|
|
707
943
|
position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;
|
|
708
944
|
transition:opacity .14s ease;}
|
|
709
|
-
[${
|
|
710
|
-
[${
|
|
945
|
+
[${U}] .reticle-hi-toggle .reticle-hi-icon--solid{opacity:0;}
|
|
946
|
+
[${U}] .reticle-hi-toggle .reticle-hi-icon--solid svg{
|
|
711
947
|
transform:scale(1.12);transform-origin:center;}
|
|
712
948
|
/*
|
|
713
949
|
* Active toggles keep the OUTLINE icon. The solid heroicon is a filled glyph next to 1.5px strokes
|
|
714
950
|
* everywhere else, so a pressed button reads as a heavier typeface rather than as a state. Accent
|
|
715
951
|
* colour and the background above already carry the state without changing the icon's weight.
|
|
716
952
|
*/
|
|
717
|
-
[${
|
|
718
|
-
[${
|
|
719
|
-
[${
|
|
720
|
-
[${
|
|
953
|
+
[${U}] .reticle-tb-btn--toggle[data-active="1"] .reticle-hi-icon--outline{opacity:1;}
|
|
954
|
+
[${U}] .reticle-tb-btn--toggle .reticle-hi-icon--solid{opacity:0;}
|
|
955
|
+
[${U}] .reticle-tb-btn--toggle .reticle-hi-icon--solid svg{color:inherit;}
|
|
956
|
+
[${U}] .reticle-tb-btn--primary[data-active="1"]{
|
|
721
957
|
color:#fff;background:rgba(255,255,255,.14);}
|
|
722
|
-
[${
|
|
958
|
+
[${U}] .reticle-tb-btn[data-danger]:hover:not(:disabled){color:#ff383c;
|
|
723
959
|
background:color-mix(in srgb, #ff383c 25%, transparent);}
|
|
724
|
-
|
|
725
|
-
* The toolbar is a FIXED number of slots.
|
|
726
|
-
*
|
|
727
|
-
* Copy and Export appear when a session ends, and the bar is already full - eleven icons in a pill
|
|
728
|
-
* sized for nine renders the last one outside the rounded box. They take the two slots Pause and End
|
|
729
|
-
* vacate: neither can do anything to an ended session, so the bar swaps two dead controls for two
|
|
730
|
-
* live ones and never changes width.
|
|
731
|
-
*/
|
|
732
|
-
[${N}] .reticle-tb-btn--export{display:none;}
|
|
733
|
-
[${Z}][${Vt}="ended"] [${N}] .reticle-tb-btn--export{display:inline-flex;}
|
|
734
|
-
[${Z}][${Vt}="ended"] [${N}] [data-reticle-pause],
|
|
735
|
-
[${Z}][${Vt}="ended"] [${N}] [data-reticle-end]{display:none;}
|
|
736
|
-
[${N}] .reticle-tb-tip{
|
|
960
|
+
[${U}] .reticle-tb-tip{
|
|
737
961
|
position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) scale(.95);
|
|
738
962
|
padding:6px 10px;background:#1a1a1a;color:rgba(255,255,255,.9);font-size:12px;font-weight:500;
|
|
739
|
-
border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:${String(
|
|
963
|
+
border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:${String(cb)};
|
|
740
964
|
box-shadow:0 2px 8px rgba(0,0,0,.3);transition:opacity .135s ease,transform .135s ease,visibility .135s;}
|
|
741
|
-
[${
|
|
965
|
+
[${U}] .reticle-tb-tip::after{
|
|
742
966
|
content:"";position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%) rotate(45deg);
|
|
743
967
|
width:8px;height:8px;background:#1a1a1a;border-radius:0 0 2px 0;}
|
|
744
|
-
[${
|
|
968
|
+
[${U}] .reticle-tb-wrap:hover .reticle-tb-tip{
|
|
745
969
|
opacity:1;visibility:visible;transform:translateX(-50%) scale(1);transition-delay:.3s;}
|
|
746
|
-
[${
|
|
747
|
-
[${
|
|
748
|
-
[${
|
|
749
|
-
[${
|
|
970
|
+
[${U}] .reticle-tb-wrap:has(.reticle-tb-btn:disabled):hover .reticle-tb-tip{opacity:0;visibility:hidden;}
|
|
971
|
+
[${U}] .reticle-tb-wrap--pause:hover .reticle-pause-badge{opacity:0;}
|
|
972
|
+
[${U}] .reticle-tb-kbd{margin-left:4px;opacity:.5;}
|
|
973
|
+
[${U}] .reticle-pause-badge{
|
|
750
974
|
display:none;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);
|
|
751
975
|
align-items:center;flex:none;font-weight:600;letter-spacing:.08em;font-size:7px;
|
|
752
976
|
color:var(--reticle-fg);border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.55);
|
|
753
977
|
padding:2px 6px;border-radius:999px;white-space:nowrap;pointer-events:none;z-index:2;
|
|
754
978
|
transition:opacity .12s ease;}
|
|
755
|
-
[${
|
|
979
|
+
[${se}][${br}="paused"] [data-reticle-badge]{display:inline-flex;}
|
|
756
980
|
/**
|
|
757
981
|
* The mode, ON the status row rather than under it.
|
|
758
982
|
*
|
|
@@ -760,46 +984,46 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
760
984
|
* from the elided action text. Nothing above or below moves: growing and shrinking by the height of
|
|
761
985
|
* this pill on every tool call makes one status line look like a second UI appearing and leaving.
|
|
762
986
|
*/
|
|
763
|
-
[${
|
|
987
|
+
[${D}] .reticle-chip{display:none;flex:none;align-items:center;gap:4px;font-size:8px;font-weight:600;letter-spacing:.06em;
|
|
764
988
|
height:16px;padding:0 7px;line-height:1;border-radius:999px;text-transform:uppercase;
|
|
765
989
|
background:rgba(255,255,255,.06);opacity:0;transition:opacity .12s ease;}
|
|
766
|
-
[${
|
|
767
|
-
[${
|
|
768
|
-
[${
|
|
769
|
-
[${
|
|
770
|
-
[${
|
|
771
|
-
[${
|
|
772
|
-
[${
|
|
990
|
+
[${D}] .reticle-chip[data-mode="reading"],
|
|
991
|
+
[${D}] .reticle-chip[data-mode="acting"]{opacity:1;}
|
|
992
|
+
[${D}] .reticle-chip[data-mode="reading"],
|
|
993
|
+
[${D}] .reticle-chip[data-mode="acting"]{display:inline-flex;color:var(--reticle-fg);}
|
|
994
|
+
[${D}] .reticle-tally[hidden]{display:none;}
|
|
995
|
+
[${D}] .reticle-tally{align-self:center;flex:none;}
|
|
996
|
+
[${D}] .reticle-pill-group{
|
|
773
997
|
display:inline-flex;align-items:stretch;flex:none;border-radius:999px;overflow:hidden;
|
|
774
998
|
background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}
|
|
775
|
-
[${
|
|
999
|
+
[${D}] .reticle-pill-segment{
|
|
776
1000
|
display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;
|
|
777
1001
|
font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:var(--reticle-fg);}
|
|
778
|
-
[${
|
|
779
|
-
[${
|
|
780
|
-
[${
|
|
781
|
-
[${
|
|
782
|
-
[${
|
|
783
|
-
[${
|
|
1002
|
+
[${D}] .reticle-pill-segment[data-z="1"]{opacity:.4;}
|
|
1003
|
+
[${D}] .reticle-t-pass.reticle-pill-segment{background:rgba(34,197,94,.14);color:#bbf7d0;}
|
|
1004
|
+
[${D}] .reticle-t-fail.reticle-pill-segment{background:rgba(239,68,68,.14);color:#fecaca;}
|
|
1005
|
+
[${D}] .reticle-pill-sep{width:1px;align-self:stretch;background:rgba(255,255,255,.12);flex:none;margin:0;}
|
|
1006
|
+
[${D}] .reticle-pill-count{min-width:1ch;}
|
|
1007
|
+
[${D}] .reticle-tally .reticle-hi-icon{opacity:.92;}
|
|
784
1008
|
@keyframes reticle-tally-pop{0%{transform:scale(1)}38%{transform:scale(1.3)}100%{transform:scale(1)}}
|
|
785
|
-
[${
|
|
786
|
-
[${
|
|
787
|
-
[${
|
|
788
|
-
[${
|
|
789
|
-
[${
|
|
1009
|
+
[${D}] .reticle-tally [data-bump="1"]{display:inline-flex;animation:reticle-tally-pop .36s cubic-bezier(.16,1,.3,1);}
|
|
1010
|
+
[${U}] .reticle-hi-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:inherit;}
|
|
1011
|
+
[${U}] .reticle-hi-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
|
|
1012
|
+
[${U}] .reticle-live{display:none;}
|
|
1013
|
+
[${X}] .reticle-act-strip{flex:none;display:flex;align-items:center;gap:7px;min-height:36px;box-sizing:border-box;padding:4px 12px;
|
|
790
1014
|
border-bottom:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.22);}
|
|
791
|
-
[${
|
|
1015
|
+
[${X}] .reticle-act-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--reticle-faint);
|
|
792
1016
|
box-shadow:0 0 0 2px rgba(255,255,255,.04);transition:background .2s,box-shadow .2s;}
|
|
793
1017
|
/**
|
|
794
1018
|
* The status dot carries the session state in COLOUR, not only in the word next to it - and in the
|
|
795
1019
|
* user's own colour for that state, so it reads against their app rather than ours.
|
|
796
1020
|
*/
|
|
797
|
-
[${
|
|
798
|
-
[${
|
|
1021
|
+
[${X}] .reticle-act-strip[data-liveness="active"] .reticle-act-dot,
|
|
1022
|
+
[${X}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
|
|
799
1023
|
background:var(--reticle-state);
|
|
800
1024
|
box-shadow:0 0 0 2px color-mix(in srgb,var(--reticle-state) 18%,transparent),
|
|
801
1025
|
0 0 8px color-mix(in srgb,var(--reticle-state) 45%,transparent);}
|
|
802
|
-
[${
|
|
1026
|
+
[${X}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
|
|
803
1027
|
animation:reticle-idle-pulse 2.4s ease-in-out infinite;}
|
|
804
1028
|
/**
|
|
805
1029
|
* Unreachable: present, and plainly not working.
|
|
@@ -807,15 +1031,26 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
807
1031
|
* Muted rather than alarming. Nothing is broken in the user's app \u2014 Reticle simply has nobody to
|
|
808
1032
|
* talk to \u2014 and a dev overlay that shouts about its own plumbing is one the user turns off.
|
|
809
1033
|
*/
|
|
810
|
-
[${
|
|
811
|
-
[${
|
|
812
|
-
|
|
813
|
-
[${
|
|
1034
|
+
[${se}][${br}="unreachable"]{--reticle-state:var(--reticle-faint);}
|
|
1035
|
+
[${se}][${br}="unreachable"] [${X}] .reticle-act-dot{animation:none;}
|
|
1036
|
+
/* The one status that is a sentence to act on: two lines, full contrast, the detail on hover. */
|
|
1037
|
+
[${se}][${br}="unreachable"] [${X}] .reticle-act{white-space:normal;line-height:1.35;color:var(--reticle-fg);cursor:help;}
|
|
1038
|
+
[${se}][${br}="paused"] [${X}] .reticle-act-dot,
|
|
1039
|
+
[${se}][${br}="ended"] [${X}] .reticle-act-dot{animation:none;}
|
|
814
1040
|
@keyframes reticle-idle-pulse{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
|
|
815
|
-
[${
|
|
1041
|
+
[${X}] .reticle-act{display:block;flex:1;min-width:0;color:var(--reticle-muted);font-size:11px;
|
|
816
1042
|
font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
817
|
-
[${
|
|
818
|
-
[${
|
|
1043
|
+
[${X}] .reticle-act-actions{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto;}
|
|
1044
|
+
[${X}] .reticle-status-btn{position:relative;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
|
|
1045
|
+
border:1px solid var(--reticle-line);border-radius:var(--reticle-hud-radius-sm);background:transparent;color:var(--reticle-muted);cursor:pointer;}
|
|
1046
|
+
[${X}] .reticle-status-btn[hidden]{display:none;}
|
|
1047
|
+
[${X}] .reticle-status-btn:hover:not(:disabled){background:var(--reticle-hud-hover);color:var(--reticle-fg);}
|
|
1048
|
+
[${X}] .reticle-status-btn:focus-visible{outline:2px solid var(--reticle-accent);outline-offset:2px;}
|
|
1049
|
+
[${X}] .reticle-status-btn:disabled{opacity:.35;cursor:not-allowed;}
|
|
1050
|
+
[${X}] .reticle-status-stop:hover:not(:disabled){color:var(--reticle-state);border-color:var(--reticle-state);}
|
|
1051
|
+
[${X}] .reticle-act-actions .reticle-pause-badge{display:none;position:static;transform:none;padding:2px 5px;font-size:8px;}
|
|
1052
|
+
[${X}] .reticle-act-strip[data-liveness="active"] .reticle-act{color:var(--reticle-fg);}
|
|
1053
|
+
[${U}] .reticle-pass{color:var(--reticle-ok);}[${U}] .reticle-fail{color:var(--reticle-bad);}
|
|
819
1054
|
/**
|
|
820
1055
|
* Paused and ended keep the STATE colour rather than washing out to grey.
|
|
821
1056
|
*
|
|
@@ -825,19 +1060,19 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
825
1060
|
* the theme's own paused/ended colour now, so "which state am I in" is answered by the same hue
|
|
826
1061
|
* everywhere: the dot, the glow, the FAB halo, and the toolbar.
|
|
827
1062
|
*/
|
|
828
|
-
[${
|
|
829
|
-
[${
|
|
830
|
-
[${
|
|
1063
|
+
[${se}][${br}="paused"] [${U}],
|
|
1064
|
+
[${se}][${br}="ended"] [${U}],
|
|
1065
|
+
[${se}][${cT}="waiting"] [${U}]{
|
|
831
1066
|
--reticle-accent:var(--reticle-state);
|
|
832
1067
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-state) 18%,transparent);}
|
|
833
|
-
[${
|
|
834
|
-
[${
|
|
1068
|
+
[${se}][${cT}="ask"] [${U}],
|
|
1069
|
+
[${se}][${cT}="warn"] [${U}]{
|
|
835
1070
|
--reticle-accent:var(--reticle-state);
|
|
836
1071
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-state) 18%,transparent);}
|
|
837
1072
|
@media (max-width:480px){
|
|
838
|
-
[${
|
|
839
|
-
[${
|
|
840
|
-
}`});var
|
|
1073
|
+
[${X}]{width:min(100vw - 24px,320px);max-height:min(440px,calc(100vh - 100px));}
|
|
1074
|
+
[${se}][${ke}="0"] [${U}]{max-width:calc(100vw - 24px);}
|
|
1075
|
+
}`});var FO,GO,BO,VO=S(()=>{"use strict";mr();FO=20,GO=28,BO=`
|
|
841
1076
|
/* The control establishes its own stacking context, and a high one.
|
|
842
1077
|
Its menu is absolutely positioned inside a panel whose other children (the log well, the act strip)
|
|
843
1078
|
are themselves positioned with their own z-index, so a z-index on the MENU alone was being compared
|
|
@@ -855,11 +1090,11 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
855
1090
|
.reticle-account{position:relative;z-index:9;display:inline-flex;align-items:center;gap:6px;flex:none;}
|
|
856
1091
|
.reticle-account-avatar{
|
|
857
1092
|
display:inline-flex;align-items:center;justify-content:center;
|
|
858
|
-
width:${String(
|
|
1093
|
+
width:${String(FO)}px;height:${String(FO)}px;border-radius:999px;
|
|
859
1094
|
font-size:9px;font-weight:600;letter-spacing:.02em;
|
|
860
1095
|
background:rgba(255,255,255,.12);color:rgba(255,255,255,.92);user-select:none;}
|
|
861
1096
|
.reticle-account-avatar--lg{
|
|
862
|
-
width:${String(
|
|
1097
|
+
width:${String(GO)}px;height:${String(GO)}px;font-size:11px;}
|
|
863
1098
|
|
|
864
1099
|
/* The trigger is the avatar plus a hit area, never a second visual element: an avatar that looks
|
|
865
1100
|
like a button reads as an action, and this one opens a menu about a state. */
|
|
@@ -872,7 +1107,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
872
1107
|
.reticle-account-trigger[aria-expanded="true"]{box-shadow:0 0 0 2px rgba(255,255,255,.28);}
|
|
873
1108
|
|
|
874
1109
|
.reticle-account-signin{
|
|
875
|
-
border:none;border-radius:6px;padding:2px 9px;cursor:pointer;font:inherit;font-size:
|
|
1110
|
+
border:none;border-radius:6px;padding:2px 9px;cursor:pointer;font:inherit;font-size:11px;
|
|
876
1111
|
background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);transition:background .12s,color .12s;}
|
|
877
1112
|
.reticle-account-signin:hover{background:rgba(255,255,255,.12);color:#fff;}
|
|
878
1113
|
|
|
@@ -889,8 +1124,8 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
889
1124
|
/* The HUD's own surface tokens, not a colour invented here. A menu with its own near-black is a
|
|
890
1125
|
second design language in the same panel, and a translucent one lets the panel's empty-state text
|
|
891
1126
|
read straight through the rows -- which is what the first version did. */
|
|
892
|
-
${
|
|
893
|
-
box-shadow:inset 0 1px 0 rgba(255,255,255,.09),${
|
|
1127
|
+
${nu}
|
|
1128
|
+
box-shadow:inset 0 1px 0 rgba(255,255,255,.09),${hr};
|
|
894
1129
|
font-size:11px;color:rgba(255,255,255,.78);text-align:left;}
|
|
895
1130
|
.reticle-account-menu[hidden]{display:none;}
|
|
896
1131
|
|
|
@@ -900,7 +1135,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
900
1135
|
font-size:11.5px;font-weight:600;color:rgba(255,255,255,.95);
|
|
901
1136
|
overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
902
1137
|
.reticle-account-email{
|
|
903
|
-
font-size:
|
|
1138
|
+
font-size:11px;color:rgba(255,255,255,.55);
|
|
904
1139
|
overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
905
1140
|
|
|
906
1141
|
.reticle-account-rows{
|
|
@@ -926,14 +1161,14 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
926
1161
|
/* The unlinked hint is a sentence, not a verb: it wraps rather than truncating, because a clipped
|
|
927
1162
|
instruction is worse than a tall menu. */
|
|
928
1163
|
.reticle-account-action--hint{
|
|
929
|
-
color:rgba(255,255,255,.5);font-size:
|
|
1164
|
+
color:rgba(255,255,255,.5);font-size:11px;line-height:1.35;white-space:normal;cursor:pointer;}
|
|
930
1165
|
|
|
931
1166
|
.reticle-account-dashboard{
|
|
932
1167
|
display:inline-flex;align-items:center;justify-content:center;
|
|
933
1168
|
border:none;background:transparent;color:rgba(255,255,255,.6);cursor:pointer;line-height:0;padding:2px;}
|
|
934
1169
|
.reticle-account-dashboard:hover{color:#fff;}
|
|
935
|
-
`});var
|
|
936
|
-
[${
|
|
1170
|
+
`});var _F,jO,KO=S(()=>{"use strict";mr();ut();_F="data-reticle-overlay",jO=`
|
|
1171
|
+
[${w}]{
|
|
937
1172
|
position:absolute;right:0;left:auto;bottom:calc(100% + 12px);z-index:31;
|
|
938
1173
|
box-sizing:border-box;display:flex;flex-direction:column;width:var(--reticle-dock-w);
|
|
939
1174
|
max-width:min(var(--reticle-dock-w),calc(100vw - 16px));max-height:calc(100vh - 140px);
|
|
@@ -942,80 +1177,102 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
942
1177
|
background:
|
|
943
1178
|
radial-gradient(130% 90% at 50% 0%,color-mix(in srgb,var(--reticle-c-active) 18%,transparent),transparent 62%),
|
|
944
1179
|
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
945
|
-
box-shadow:${
|
|
1180
|
+
box-shadow:${hr},0 0 54px -18px var(--reticle-c-active);
|
|
946
1181
|
color:var(--reticle-fg);font-family:var(--reticle-font);
|
|
947
1182
|
transition:opacity .18s ease,transform .18s ease,visibility .18s;}
|
|
948
|
-
[${
|
|
949
|
-
[${
|
|
1183
|
+
[${D}][${Nt}="start"] [${w}]{right:auto;left:0;}
|
|
1184
|
+
[${_F}][${un}="1"] [${w}]{
|
|
950
1185
|
opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);pointer-events:auto;}
|
|
951
|
-
[${
|
|
1186
|
+
[${w}] .reticle-report-inner{
|
|
952
1187
|
display:flex;flex-direction:column;min-height:0;overflow:hidden;}
|
|
953
|
-
[${
|
|
1188
|
+
[${w}] .reticle-report-head{
|
|
954
1189
|
flex:none;display:flex;align-items:center;gap:8px;padding:11px 12px 9px 14px;
|
|
955
1190
|
border-bottom:1px solid rgba(255,255,255,.06);}
|
|
956
|
-
[${
|
|
957
|
-
[${
|
|
1191
|
+
[${w}] .reticle-report-title{font-size:12.5px;font-weight:600;}
|
|
1192
|
+
[${w}] .reticle-report-scope{
|
|
958
1193
|
margin-left:auto;padding:3px 9px;border-radius:999px;cursor:pointer;
|
|
959
1194
|
border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
|
|
960
|
-
color:var(--reticle-muted);font:inherit;font-size:
|
|
961
|
-
[${
|
|
962
|
-
[${
|
|
1195
|
+
color:var(--reticle-muted);font:inherit;font-size:11px;}
|
|
1196
|
+
[${w}] .reticle-report-scope:hover{background:rgba(255,255,255,.08);color:var(--reticle-fg);}
|
|
1197
|
+
[${w}] .reticle-report-close{
|
|
963
1198
|
flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
|
|
964
1199
|
border:none;background:transparent;color:var(--reticle-faint);cursor:pointer;line-height:0;}
|
|
965
|
-
[${
|
|
966
|
-
[${
|
|
967
|
-
min-height:0;overflow-y:auto;padding:12px 14px 6px;
|
|
1200
|
+
[${w}] .reticle-report-close svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;}
|
|
1201
|
+
[${w}] .reticle-report-body{
|
|
1202
|
+
flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 6px;
|
|
968
1203
|
scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;}
|
|
969
|
-
[${
|
|
970
|
-
margin:0;padding:22px 6px;text-align:center;color:var(--reticle-faint);font-size:
|
|
1204
|
+
[${w}] .reticle-report-empty{
|
|
1205
|
+
margin:0;padding:22px 6px;text-align:center;color:var(--reticle-faint);font-size:12px;}
|
|
971
1206
|
/* The streak sits above the hero, as a flame and a number: it is the one stat that is about
|
|
972
1207
|
TODAY, so it reads first and never competes with the count it sits over. */
|
|
973
|
-
[${
|
|
1208
|
+
[${w}] .reticle-report-streak{
|
|
974
1209
|
display:inline-flex;align-items:baseline;gap:5px;margin-bottom:8px;padding:3px 9px;
|
|
975
1210
|
border-radius:999px;background:rgba(255,255,255,.05);
|
|
976
1211
|
border:1px solid color-mix(in srgb,var(--reticle-c-active) 22%,transparent);
|
|
977
1212
|
font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}
|
|
978
|
-
[${
|
|
979
|
-
color:var(--reticle-faint);font-size:
|
|
980
|
-
[${
|
|
981
|
-
[${
|
|
1213
|
+
[${w}] .reticle-report-streak-label{
|
|
1214
|
+
color:var(--reticle-faint);font-size:11px;font-weight:400;}
|
|
1215
|
+
[${w}] .reticle-report-hero{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
|
|
1216
|
+
[${w}] .reticle-report-hero-value{
|
|
982
1217
|
font-size:34px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--reticle-c-active);}
|
|
983
|
-
[${
|
|
984
|
-
[${
|
|
985
|
-
[${
|
|
986
|
-
|
|
1218
|
+
[${w}] .reticle-report-hero-label{color:var(--reticle-muted);font-size:12px;}
|
|
1219
|
+
[${w}] .reticle-report-verdicts{display:flex;gap:6px;margin-bottom:12px;}
|
|
1220
|
+
[${w}] .reticle-sync-status{font-size:11px;color:var(--reticle-faint);font-variant-numeric:tabular-nums;white-space:nowrap;}
|
|
1221
|
+
[${w}] .reticle-sync-status[data-reticle-sync-status="refused"]{color:var(--reticle-c-error,#f87171);}
|
|
1222
|
+
[${w}] .reticle-report-coverage{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--reticle-hud-border);border-radius:var(--reticle-hud-radius-sm,8px);}
|
|
1223
|
+
[${w}] .reticle-report-coverage-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--reticle-hud-text);}
|
|
1224
|
+
[${w}] .reticle-report-coverage-levels{display:flex;flex-wrap:wrap;gap:4px 10px;width:100%;font-size:11px;color:var(--reticle-faint);font-variant-numeric:tabular-nums;}
|
|
1225
|
+
[${w}] .reticle-report-instrumentation{margin-bottom:12px;padding:10px;border:1px solid var(--reticle-hud-border);border-radius:var(--reticle-hud-radius-md);}
|
|
1226
|
+
[${w}] .reticle-report-instrumentation-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
|
|
1227
|
+
[${w}] .reticle-report-instrumentation-head .reticle-report-section{margin-bottom:0;}
|
|
1228
|
+
[${w}] .reticle-report-instrumentation-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--reticle-hud-text);}
|
|
1229
|
+
[${w}] .reticle-report-caps{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:8px 0 0;padding:0;list-style:none;}
|
|
1230
|
+
[${w}] .reticle-report-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;min-width:0;font-size:11px;line-height:1.4;color:var(--reticle-muted);}
|
|
1231
|
+
[${w}] .reticle-report-cap-mark{flex:none;width:10px;text-align:center;}
|
|
1232
|
+
[${w}] .reticle-report-cap-name{flex:1;min-width:0;}
|
|
1233
|
+
[${w}] .reticle-report-cap[data-state="seen"] .reticle-report-cap-mark{color:#86efac;}
|
|
1234
|
+
[${w}] .reticle-report-cap[data-state="missing"]{grid-column:1/-1;color:var(--reticle-hud-text);}
|
|
1235
|
+
[${w}] .reticle-report-cap[data-state="missing"] .reticle-report-cap-mark{color:#fca5a5;}
|
|
1236
|
+
[${w}] .reticle-report-cap[data-state="unseen"]{color:var(--reticle-faint);}
|
|
1237
|
+
[${w}] .reticle-report-cap-cost{flex-basis:100%;padding-left:16px;color:var(--reticle-faint);}
|
|
1238
|
+
[${w}] .reticle-report-caps-note{display:block;margin-top:6px;color:var(--reticle-faint);font-size:11px;}
|
|
1239
|
+
[${w}] .reticle-report-copy-prompt{display:block;width:100%;margin-top:10px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--reticle-hud-brand) 50%,transparent);
|
|
1240
|
+
border-radius:var(--reticle-hud-radius-sm);background:var(--reticle-hud-brand-soft);color:var(--reticle-hud-brand);font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
|
|
1241
|
+
[${w}] .reticle-report-copy-prompt:hover{filter:brightness(1.15);}
|
|
1242
|
+
[${w}] .reticle-report-verdict{
|
|
1243
|
+
flex:1;padding:5px 8px;border-radius:8px;font-size:11px;text-align:center;
|
|
987
1244
|
background:rgba(255,255,255,.05);color:var(--reticle-muted);}
|
|
988
|
-
[${
|
|
989
|
-
[${
|
|
990
|
-
[${
|
|
1245
|
+
[${w}] .reticle-report-verdict[data-kind="fail"]{color:#fca5a5;}
|
|
1246
|
+
[${w}] .reticle-report-verdict[data-kind="unknown"]{color:#fcd34d;}
|
|
1247
|
+
[${w}] .reticle-report-grid{
|
|
991
1248
|
display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
|
|
992
|
-
[${
|
|
1249
|
+
[${w}] .reticle-report-card{
|
|
993
1250
|
display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:10px;
|
|
994
1251
|
background:rgba(255,255,255,.04);}
|
|
995
|
-
[${
|
|
996
|
-
[${
|
|
1252
|
+
[${w}] .reticle-report-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
|
|
1253
|
+
[${w}] .reticle-report-label{color:var(--reticle-faint);font-size:11px;line-height:1.3;}
|
|
997
1254
|
/* An estimate is labelled as one, and its label carries what it is measured against. */
|
|
998
|
-
[${
|
|
1255
|
+
[${w}] .reticle-report-basis{
|
|
999
1256
|
display:block;margin-top:2px;color:var(--reticle-c-active);opacity:.8;
|
|
1000
|
-
font-size:
|
|
1001
|
-
[${
|
|
1257
|
+
font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:help;}
|
|
1258
|
+
[${w}] .reticle-report-defects-wrap{margin-top:14px;}
|
|
1002
1259
|
/* The heading and its push control on one line, so the button reads as belonging to this section
|
|
1003
1260
|
rather than floating above the list. */
|
|
1004
|
-
[${
|
|
1261
|
+
[${w}] .reticle-report-defects-head{
|
|
1005
1262
|
display:flex;align-items:center;justify-content:space-between;gap:8px;}
|
|
1006
|
-
[${
|
|
1263
|
+
[${w}] .reticle-report-defects{
|
|
1007
1264
|
display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
|
|
1008
1265
|
/* A left rule rather than a card per row: ten cards in a 320px panel is a wall, and the rule keeps
|
|
1009
1266
|
the list scannable as a list \u2014 which is what a person is doing when they open this. */
|
|
1010
|
-
[${
|
|
1267
|
+
[${w}] .reticle-report-defect{
|
|
1011
1268
|
display:flex;flex-direction:column;gap:1px;padding:4px 0 4px 8px;
|
|
1012
1269
|
border-left:2px solid color-mix(in srgb,#f87171 70%,transparent);}
|
|
1013
|
-
[${
|
|
1270
|
+
[${w}] .reticle-report-defect-title{
|
|
1014
1271
|
font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
|
|
1015
|
-
[${
|
|
1016
|
-
color:var(--reticle-faint);font-size:
|
|
1017
|
-
[${
|
|
1018
|
-
color:var(--reticle-faint);font-size:
|
|
1272
|
+
[${w}] .reticle-report-defect-detail{
|
|
1273
|
+
color:var(--reticle-faint);font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
|
|
1274
|
+
[${w}] .reticle-report-defect-source{
|
|
1275
|
+
color:var(--reticle-faint);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
|
|
1019
1276
|
overflow-wrap:anywhere;}
|
|
1020
1277
|
.reticle-report-defect-link{flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
1021
1278
|
width:20px;height:20px;border-radius:6px;color:var(--reticle-faint);pointer-events:auto;
|
|
@@ -1023,88 +1280,274 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
1023
1280
|
.reticle-report-defect:hover .reticle-report-defect-link,
|
|
1024
1281
|
.reticle-report-defect-link:focus-visible{opacity:1;}
|
|
1025
1282
|
.reticle-report-defect-link:hover{color:var(--reticle-fg);background:rgba(255,255,255,.07);}
|
|
1026
|
-
[${
|
|
1027
|
-
display:inline-block;margin-top:8px;font-size:
|
|
1283
|
+
[${w}] .reticle-report-defects-more{
|
|
1284
|
+
display:inline-block;margin-top:8px;font-size:11px;color:var(--reticle-c-active);
|
|
1028
1285
|
text-decoration:none;}
|
|
1029
|
-
[${
|
|
1030
|
-
[${
|
|
1286
|
+
[${w}] .reticle-report-defects-more:hover{text-decoration:underline;}
|
|
1287
|
+
[${w}] .reticle-report-defects-all{display:inline-block;margin-top:8px;border:0;padding:0;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:500;color:var(--reticle-c-active);}
|
|
1288
|
+
[${w}] .reticle-report-defects-all:hover{text-decoration:underline;}
|
|
1289
|
+
[${w}] .reticle-report-local-only{
|
|
1031
1290
|
margin:14px 0 0;padding-top:10px;border-top:1px solid var(--reticle-line);
|
|
1032
|
-
color:var(--reticle-faint);font-size:
|
|
1033
|
-
[${
|
|
1291
|
+
color:var(--reticle-faint);font-size:11px;line-height:1.45;}
|
|
1292
|
+
[${w}] .reticle-report-local-only code{
|
|
1034
1293
|
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--reticle-c-active);}
|
|
1035
|
-
[${
|
|
1036
|
-
[${
|
|
1037
|
-
display:block;margin-bottom:6px;color:var(--reticle-faint);font-size:
|
|
1294
|
+
[${w}] .reticle-report-chart-wrap{margin-top:12px;}
|
|
1295
|
+
[${w}] .reticle-report-section{
|
|
1296
|
+
display:block;margin-bottom:6px;color:var(--reticle-faint);font-size:11px;
|
|
1038
1297
|
letter-spacing:.06em;text-transform:uppercase;}
|
|
1039
1298
|
/* Thirty fixed slots, not a flex row: one recorded day is one thin bar on a month's axis, and a
|
|
1040
1299
|
single stretched block would read as "a month of solid work" on the day you install it. */
|
|
1041
|
-
[${
|
|
1300
|
+
[${w}] .reticle-report-chart{
|
|
1042
1301
|
display:grid;grid-template-columns:repeat(30,1fr);align-items:end;gap:2px;height:44px;padding:0 1px;}
|
|
1043
|
-
[${
|
|
1302
|
+
[${w}] .reticle-report-bar{
|
|
1044
1303
|
min-width:2px;border-radius:2px 2px 0 0;
|
|
1045
1304
|
background:color-mix(in srgb,var(--reticle-c-active) 55%,transparent);}
|
|
1046
|
-
[${
|
|
1047
|
-
|
|
1048
|
-
|
|
1305
|
+
[${w}] .reticle-report-bar[data-hot="1"]{background:#f87171;}
|
|
1306
|
+
/* Sharing is a quiet row under the record, never the loudest thing on the panel. */
|
|
1307
|
+
[${w}] .reticle-report-foot{
|
|
1308
|
+
flex:none;display:flex;flex-wrap:nowrap;align-items:center;gap:2px;padding:6px 10px 2px 14px;
|
|
1049
1309
|
border-top:1px solid rgba(255,255,255,.06);}
|
|
1050
|
-
[${
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
[${
|
|
1055
|
-
|
|
1056
|
-
[${
|
|
1057
|
-
flex:none;display:flex;gap:12px;padding:
|
|
1058
|
-
[${
|
|
1059
|
-
color:var(--reticle-faint);font-size:
|
|
1060
|
-
[${
|
|
1310
|
+
[${w}] .reticle-report-share-label{margin-right:4px;color:var(--reticle-faint);font-size:11px;}
|
|
1311
|
+
[${w}] .reticle-report-share{
|
|
1312
|
+
flex:none;padding:3px 6px;border:0;border-radius:6px;cursor:pointer;font:inherit;font-size:11px;
|
|
1313
|
+
background:transparent;color:var(--reticle-muted);white-space:nowrap;}
|
|
1314
|
+
[${w}] .reticle-report-share:hover{background:rgba(255,255,255,.08);color:var(--reticle-fg);}
|
|
1315
|
+
[${w}] .reticle-report-refer{margin-left:auto;color:var(--reticle-hud-brand);}
|
|
1316
|
+
[${w}] .reticle-report-links{
|
|
1317
|
+
flex:none;display:flex;gap:12px;padding:2px 14px 10px;}
|
|
1318
|
+
[${w}] .reticle-report-links a{
|
|
1319
|
+
color:var(--reticle-faint);font-size:11px;text-decoration:none;}
|
|
1320
|
+
[${w}] .reticle-report-links a:hover{color:var(--reticle-fg);text-decoration:underline;}
|
|
1061
1321
|
|
|
1062
1322
|
/* Who this record belongs to, and the push-now control. Tokens only \u2014 no literal colours. */
|
|
1063
|
-
[${
|
|
1323
|
+
[${w}] .reticle-report-identity{
|
|
1064
1324
|
display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 14px 0;min-height:0;}
|
|
1065
|
-
[${
|
|
1066
|
-
[${
|
|
1325
|
+
[${w}] .reticle-report-identity:empty{display:none;}
|
|
1326
|
+
[${w}] .reticle-sync-now{
|
|
1067
1327
|
display:inline-flex;align-items:center;justify-content:center;
|
|
1068
1328
|
border:none;background:transparent;color:var(--reticle-faint);cursor:pointer;line-height:0;padding:2px;}
|
|
1069
|
-
[${
|
|
1329
|
+
[${w}] .reticle-sync-now:hover{color:var(--reticle-fg);}
|
|
1070
1330
|
/* The one moment this control has an opinion: it says it is going, not that it has arrived. */
|
|
1071
|
-
[${
|
|
1331
|
+
[${w}] .reticle-sync-now[data-syncing="1"]{
|
|
1072
1332
|
color:var(--reticle-c-active);animation:reticle-sync-spin 900ms linear infinite;}
|
|
1073
1333
|
@keyframes reticle-sync-spin{to{transform:rotate(360deg);}}
|
|
1074
1334
|
@media (prefers-reduced-motion:reduce){
|
|
1075
|
-
[${
|
|
1076
|
-
`});
|
|
1077
|
-
<span class="reticle-offer-title">${ml(hl.HEADLINE)}</span>
|
|
1078
|
-
<p class="reticle-offer-body">${ml(hl.BODY)}</p>
|
|
1079
|
-
<a ${wD} class="reticle-offer-claim" href="${ml(n)}" target="_blank" rel="noopener noreferrer">${ml(hl.CLAIM)}</a>
|
|
1080
|
-
</div>`}var Ky,wD,CD,hl,ID,ml,Yy,Wu=T(()=>{"use strict";Ky="data-reticle-offer",wD="data-reticle-offer-claim",CD="reticle.harnessOffer.dismissed",hl={HEADLINE:"Get Harness free for 3 months",BODY:"Explores your app and saves every journey as a free replay.",CLAIM:"Claim now",DISMISS:"Not now",claimed:t=>`Harness active \u2014 ${String(t)} days left`,ending:t=>1>=t?"Harness free period ends today":`Harness free period ends in ${String(t)} days`},ID=14;ml=t=>t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");Yy=`
|
|
1081
|
-
.reticle-offer{margin:8px 10px;padding:10px 12px;border:1px solid var(--reticle-line,#2a2f3a);border-radius:10px;background:var(--reticle-surface-inset,rgba(255,255,255,.03));}
|
|
1082
|
-
.reticle-offer-title{display:block;font-weight:600;font-size:12px;padding-right:18px;}
|
|
1083
|
-
.reticle-offer-body{margin:6px 0 8px;font-size:11px;line-height:1.45;opacity:.8;}
|
|
1084
|
-
.reticle-offer-claim{display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--reticle-accent,#4f7cff);color:#fff;text-decoration:none;}
|
|
1085
|
-
.reticle-offer-claimed{margin:6px 10px;font-size:10px;opacity:.6;}
|
|
1086
|
-
`});function qy(){return`<div class="reticle-talk">
|
|
1087
|
-
<span class="reticle-talk-title">${zu(_m.HEADLINE)}</span>
|
|
1088
|
-
<p class="reticle-talk-body">${zu(_m.BODY)}</p>
|
|
1089
|
-
<a ${LD} class="reticle-talk-book" href="${zu(fs)}" target="_blank" rel="noopener noreferrer">${zu(_m.BOOK)}</a>
|
|
1090
|
-
</div>`}var LD,_m,zu,Xy,Sm=T(()=>{"use strict";D();LD="data-reticle-talk-book",_m={HEADLINE:"Talk to Founders",BODY:"Tell us where Reticle got in your way.",BOOK:"Book a call"},zu=t=>t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");Xy=`
|
|
1335
|
+
[${w}] .reticle-sync-now[data-syncing="1"]{animation:none;}}
|
|
1336
|
+
`});var WO,zO=S(()=>{"use strict";WO=`
|
|
1091
1337
|
.reticle-talk-title{display:block;font-weight:600;font-size:12px;padding-right:18px;}
|
|
1092
1338
|
.reticle-talk-body{margin:6px 0 8px;font-size:11px;line-height:1.45;opacity:.8;}
|
|
1093
1339
|
.reticle-talk-book{display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--reticle-accent,#4f7cff);color:#fff;text-decoration:none;}
|
|
1094
|
-
`});function
|
|
1095
|
-
<button type="button" ${
|
|
1340
|
+
`});function dT(t){let e=lT.get(t);e!==void 0&&clearInterval(e),lT.delete(t)}function AF(){var t;try{return((t=globalThis.matchMedia)==null?void 0:t.call(globalThis,"(prefers-reduced-motion: reduce)").matches)===!0}catch{return!1}}function $h(t,e){t.setAttribute("data-active",String(e));let n=t.querySelectorAll(`[${Nu}]`),r=t.querySelector(`[${JO}]`);r!==null&&(r.textContent=`${String(e+1)} / ${String(n.length)}`),n.forEach((o,a)=>{o.hidden=a!==e}),t.querySelectorAll(`[${Ph}]`).forEach((o,a)=>{o.setAttribute("aria-current",String(a===e))})}function vF(t,e){if(t.length===0)return"";let n=yF(e,t.length),r=t.map((a,s)=>`<div ${Nu}="${a.id}" class="reticle-carousel-slide"${s===n?"":" hidden"}>${a.html}</div>`).join(""),o=t.length===1?"":`<div class="reticle-carousel-controls"><button type="button" ${ZO} aria-label="Previous message" class="reticle-carousel-arrow">\u2039</button><div class="reticle-carousel-dots">${t.map((a,s)=>`<button type="button" ${Ph}="${String(s)}" class="reticle-carousel-dot" aria-label="Show ${a.id}" aria-current="${String(s===n)}"></button>`).join("")}</div><span ${JO} aria-live="polite">${String(n+1)} / ${String(t.length)}</span><button type="button" ${QO} aria-label="Next message" class="reticle-carousel-arrow">\u203A</button></div>`;return`<div ${XO} class="reticle-carousel" role="region" aria-label="Reticle" data-active="${String(n)}">
|
|
1341
|
+
<button type="button" ${qO} class="reticle-carousel-close" aria-label="${YO}" title="${YO}">\xD7</button>
|
|
1096
1342
|
<div class="reticle-carousel-track">${r}</div>
|
|
1097
|
-
${
|
|
1098
|
-
</div>`}function
|
|
1343
|
+
${o}
|
|
1344
|
+
</div>`}function RF(t){try{return(t==null?void 0:t.getItem(eI))==="1"}catch{return!1}}function tI(t,e,n){var l,d,u,p;let r=t.querySelector(`:scope > [${XO}]`),o=Number((l=r==null?void 0:r.getAttribute("data-active"))!=null?l:"0");if(r==null||r.remove(),dT(t),RF(n))return;let a=vF(e,o);if(a==="")return;t.insertAdjacentHTML("afterbegin",a);let s=t.firstElementChild;if(s instanceof HTMLElement){(d=s.querySelector(`[${qO}]`))==null||d.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation();try{n==null||n.setItem(eI,"1")}catch{}dT(t),s.remove()});for(let f of s.querySelectorAll(`[${Ph}]`))f.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),$h(s,Number(f.getAttribute(Ph)))});(u=s.querySelector(`[${ZO}]`))==null||u.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),$h(s,(Number(s.getAttribute("data-active"))+e.length-1)%e.length)}),(p=s.querySelector(`[${QO}]`))==null||p.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),$h(s,(Number(s.getAttribute("data-active"))+1)%e.length)}),NF(t,s,e.length)}}function NF(t,e,n){if(n<2||AF())return;let r=!1,o=()=>{r=!0},a=()=>{r=!1};e.addEventListener("mouseenter",o),e.addEventListener("mouseleave",a),e.addEventListener("focusin",o),e.addEventListener("focusout",a),lT.set(t,setInterval(()=>{if(!e.isConnected){dT(t);return}r||$h(e,(Number(e.getAttribute("data-active"))+1)%n)},xF))}var XO,Nu,Ph,qO,ZO,QO,JO,eI,YO,xF,lT,yF,nI,Hh=S(()=>{"use strict";Lr();XO="data-reticle-carousel",Nu="data-reticle-carousel-slide",Ph="data-reticle-carousel-dot",qO="data-reticle-carousel-close",ZO="data-reticle-carousel-prev",QO="data-reticle-carousel-next",JO="data-reticle-carousel-position",eI=st.CAROUSEL_DISMISSED,YO="Close",xF=6e3,lT=new WeakMap;yF=(t,e)=>Number.isInteger(t)&&t>=0&&t<e?t:0;nI=`
|
|
1099
1345
|
.reticle-carousel{position:relative;margin:8px 10px;padding:10px 12px 8px;border:1px solid var(--reticle-line,#2a2f3a);border-radius:10px;background:var(--reticle-surface-inset,rgba(255,255,255,.03));}
|
|
1100
1346
|
.reticle-carousel-track{height:100px;overflow:hidden;}
|
|
1101
|
-
.reticle-carousel-slide .reticle-
|
|
1347
|
+
.reticle-carousel-slide .reticle-talk{margin:0;padding:0;border:0;background:none;}
|
|
1102
1348
|
.reticle-carousel-close{position:absolute;top:4px;right:6px;width:20px;height:20px;padding:0;border:0;background:none;color:inherit;opacity:.55;cursor:pointer;font-size:14px;line-height:20px;}
|
|
1103
1349
|
.reticle-carousel-close:hover{opacity:1;}
|
|
1104
1350
|
.reticle-carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:6px;}
|
|
1105
1351
|
.reticle-carousel-dot{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:currentColor;opacity:.3;cursor:pointer;}
|
|
1106
1352
|
.reticle-carousel-dot[aria-current="true"]{opacity:.9;}
|
|
1107
|
-
|
|
1353
|
+
.reticle-carousel-controls{display:flex;align-items:center;gap:8px;margin-top:6px;}
|
|
1354
|
+
.reticle-carousel-arrow{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--reticle-line);border-radius:6px;background:rgba(255,255,255,.04);color:var(--reticle-fg);font:inherit;font-size:18px;line-height:1;cursor:pointer;}
|
|
1355
|
+
.reticle-carousel-arrow:hover{border-color:var(--reticle-accent);background:var(--reticle-accent-soft);}
|
|
1356
|
+
.reticle-carousel-position{margin-left:auto;color:var(--reticle-muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;}
|
|
1357
|
+
`});function aI(t,e){let n=t.querySelector(`[${Fh}]`),r=t.querySelector(`[${Gh}]`),o=e!==void 0&&!e.signedIn;n!==null&&(n.hidden=!o),r!==null&&(r.hidden=o)}var ye,Fh,Gh,wF,Ot,Uh,uT,iI,pT,rI,oI,sI,Bh=S(()=>{"use strict";Br();ut();mr();ye="data-reticle-rail",Fh="data-reticle-rail-signin",Gh="data-reticle-rail-promo",wF="data-reticle-page-open",Ot="data-reticle-page-panel",Uh="data-reticle-overlay",uT={TITLE:"Sign in to try Reticle Harness",DETAIL:"Free Harness credits to start.",CTA:"Sign in"},iI=`<div ${ye} class="reticle-rail" role="complementary" aria-label="Reticle">
|
|
1358
|
+
<div ${Fh} class="reticle-rail-signin" hidden>
|
|
1359
|
+
<span class="reticle-rail-copy"><strong>${uT.TITLE}</strong><span>${uT.DETAIL}</span></span>
|
|
1360
|
+
<button type="button" ${wt} class="reticle-rail-cta" title="${te.SIGNIN_TITLE}">${uT.CTA}</button>
|
|
1361
|
+
</div>
|
|
1362
|
+
<div ${Gh} class="reticle-rail-promo"></div>
|
|
1363
|
+
</div>`;pT=`:is([${zt}],[${Ot}],[${w}],[${I}])`,rI=`[${Uh}][${ke}="0"]:is([${ot}="1"],[${wF}],[${un}="1"],[${Ye}="1"])`,oI=`[${D}]:is([${Io}="below"],[${_i}="below"])`,sI=`
|
|
1364
|
+
[${D}]{
|
|
1365
|
+
/* Short enough to leave most of a laptop screen to the app; the log scrolls inside it. */
|
|
1366
|
+
--reticle-frame-h:min(440px,60vh,calc(100vh - 190px));
|
|
1367
|
+
--reticle-rail-h:52px;--reticle-frame-gap:6px;}
|
|
1368
|
+
[${D}] ${pT}{
|
|
1369
|
+
right:0;left:auto;top:auto;
|
|
1370
|
+
bottom:calc(100% + 8px + var(--reticle-rail-h) + var(--reticle-frame-gap));
|
|
1371
|
+
width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 24px));
|
|
1372
|
+
height:var(--reticle-frame-h);max-height:var(--reticle-frame-h);
|
|
1373
|
+
border-radius:var(--reticle-hud-radius-lg);
|
|
1374
|
+
${wc}}
|
|
1375
|
+
[${D}] [${I}]::after{display:none;}
|
|
1376
|
+
[${D}] [${I}] .reticle-settings-inner{height:100%;}
|
|
1377
|
+
[${D}] [${I}] :is(.reticle-settings-body,.reticle-settings-foot){background:transparent;}
|
|
1378
|
+
[${D}] [${w}] .reticle-report-inner{height:100%;}
|
|
1379
|
+
/* The Agent Log section fills the frame, so the footer sits on the bottom edge, not mid-panel. */
|
|
1380
|
+
[${zt}] .reticle-chat-view{flex:1;min-height:0;display:flex;flex-direction:column;}
|
|
1381
|
+
[${zt}] .reticle-chat-view > .reticle-hud-log-well{flex:1;min-height:0;}
|
|
1382
|
+
/*
|
|
1383
|
+
* Two rows above the log in every state: the header and the status row. "Session ended" (or the
|
|
1384
|
+
* handoff notice) takes the status text's place instead of arriving as a row of its own, and the
|
|
1385
|
+
* Harness block sits in the footer above the project capsule.
|
|
1386
|
+
*/
|
|
1387
|
+
[${Uh}] [${zt}] .reticle-act-strip .reticle-banner{display:none;flex:1;min-width:0;min-height:0;padding:0;border:0;background:none;
|
|
1388
|
+
font-size:11px;font-weight:600;line-height:1.3;color:var(--reticle-hud-text);
|
|
1389
|
+
overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
|
|
1390
|
+
[${Uh}][data-reticle-state="ended"] [${zt}] .reticle-act-strip .reticle-banner{display:-webkit-box;}
|
|
1391
|
+
[${Uh}][data-reticle-state="ended"] [${zt}] .reticle-act-strip .reticle-act{display:none;}
|
|
1392
|
+
[${zt}] .reticle-foot-workspace-row{gap:var(--reticle-hud-space-2);}
|
|
1393
|
+
/* The Harness block sits above the project capsule, full width: one clear thing to press. */
|
|
1394
|
+
[${zt}] [data-reticle-foot] .reticle-foot-stack{display:flex;flex-direction:column;gap:var(--reticle-hud-space-2);}
|
|
1395
|
+
[${zt}] [data-reticle-foot] .reticle-foot-workspace-row:has(> .reticle-workspace-wrap[hidden]){display:none;}
|
|
1396
|
+
${oI} ${pT}{bottom:auto;top:calc(100% + 8px + var(--reticle-rail-h) + var(--reticle-frame-gap));}
|
|
1397
|
+
[${D}][${Nt}="start"] :is(${pT},[${ye}]){right:auto;left:0;}
|
|
1398
|
+
|
|
1399
|
+
/* \u2500\u2500 Every page's header: title over a one-line subtitle, its actions, then close. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1400
|
+
[${D}] :is(.reticle-page-heading,.reticle-report-head,.reticle-settings-head){
|
|
1401
|
+
flex:none;display:flex;align-items:center;gap:var(--reticle-hud-space-2);min-height:52px;box-sizing:border-box;
|
|
1402
|
+
padding:var(--reticle-hud-space-2) var(--reticle-hud-space-2) var(--reticle-hud-space-2) var(--reticle-hud-space-3);
|
|
1403
|
+
border-bottom:1px solid var(--reticle-hud-border);background:none;}
|
|
1404
|
+
[${D}] .reticle-page-titles{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px;}
|
|
1405
|
+
[${D}] :is(.reticle-page-heading strong,.reticle-report-title,.reticle-settings-title){
|
|
1406
|
+
font-size:var(--reticle-hud-size-base);font-weight:600;letter-spacing:0;text-transform:none;color:var(--reticle-hud-text);}
|
|
1407
|
+
[${D}] .reticle-settings-title{flex:1;}
|
|
1408
|
+
[${D}] .reticle-page-heading .reticle-page-subtitle{padding:0;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
1409
|
+
font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1410
|
+
[${D}] .reticle-primary-btn{flex:none;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 var(--reticle-hud-space-3);
|
|
1411
|
+
border:0;border-radius:var(--reticle-hud-radius-pill);background:var(--reticle-hud-brand);color:#160b02;
|
|
1412
|
+
font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;white-space:nowrap;cursor:pointer;}
|
|
1413
|
+
[${D}] .reticle-primary-btn:hover{filter:brightness(1.08);}
|
|
1414
|
+
[${D}] .reticle-page-heading .reticle-primary-btn{width:auto;height:28px;border-radius:var(--reticle-hud-radius-pill);background:var(--reticle-hud-brand);color:#160b02;font-size:var(--reticle-hud-size-sm);}
|
|
1415
|
+
/* One close control everywhere: a quiet 28px square, the same glyph weight on every page. */
|
|
1416
|
+
[${D}] :is([data-reticle-page-close],.reticle-report-close,.reticle-settings-close){flex:none;width:28px;height:28px;
|
|
1417
|
+
display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--reticle-hud-radius-sm);
|
|
1418
|
+
background:transparent;color:var(--reticle-hud-text-muted);font-size:18px;line-height:1;cursor:pointer;}
|
|
1419
|
+
[${D}] :is([data-reticle-page-close],.reticle-report-close,.reticle-settings-close):hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
1420
|
+
[${D}] .reticle-primary-btn[data-active="1"]{background:var(--reticle-hud-text);color:var(--reticle-hud-ground);}
|
|
1421
|
+
[${D}] .reticle-primary-btn svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;}
|
|
1422
|
+
/* One empty state for every page: what is missing, then how it gets filled. */
|
|
1423
|
+
[${D}] :is(.reticle-flows-empty,.reticle-annotation-empty){display:flex;flex-direction:column;align-items:center;gap:6px;
|
|
1424
|
+
margin:auto 0;padding:40px var(--reticle-hud-space-4);text-align:center;}
|
|
1425
|
+
[${D}] :is(.reticle-flows-empty,.reticle-annotation-empty) strong{font-size:var(--reticle-hud-size-base);font-weight:600;color:var(--reticle-hud-text);}
|
|
1426
|
+
[${D}] :is(.reticle-flows-empty,.reticle-annotation-empty) span{max-width:260px;font-size:var(--reticle-hud-size-sm);line-height:1.45;color:var(--reticle-hud-text-muted);}
|
|
1427
|
+
|
|
1428
|
+
/* \u2500\u2500 Saved flows: one row per journey. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1429
|
+
[${Ot}="flows"] .reticle-all-flows{display:flex;flex-direction:column;gap:var(--reticle-hud-space-1);padding:var(--reticle-hud-space-2);}
|
|
1430
|
+
[${Ot}="flows"] .reticle-flow-row{display:flex;align-items:center;gap:var(--reticle-hud-space-3);width:100%;min-height:48px;
|
|
1431
|
+
padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);border:1px solid transparent;border-radius:var(--reticle-hud-radius-md);
|
|
1432
|
+
background:transparent;color:var(--reticle-hud-text);font:inherit;text-align:left;cursor:pointer;}
|
|
1433
|
+
[${Ot}="flows"] .reticle-flow-row:hover:not(:disabled){background:var(--reticle-hud-hover);border-color:var(--reticle-hud-border);}
|
|
1434
|
+
[${Ot}="flows"] .reticle-flow-row:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:1px;}
|
|
1435
|
+
[${Ot}="flows"] .reticle-flow-row:disabled{cursor:not-allowed;opacity:.5;}
|
|
1436
|
+
[${Ot}="flows"] .reticle-flow-play{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
|
|
1437
|
+
border-radius:50%;background:var(--reticle-hud-brand-soft);color:var(--reticle-hud-brand);font-size:11px;}
|
|
1438
|
+
[${Ot}="flows"] .reticle-flow-row:disabled .reticle-flow-play{background:var(--reticle-hud-inset);color:var(--reticle-hud-text-faint);}
|
|
1439
|
+
[${Ot}="flows"] .reticle-flow-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px;}
|
|
1440
|
+
[${Ot}="flows"] .reticle-flow-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1441
|
+
[${Ot}="flows"] .reticle-flow-meta{font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1442
|
+
|
|
1443
|
+
/* \u2500\u2500 Notes: a segmented list switch, then the page's tools on the right. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1444
|
+
[${Ot}="annotations"] .reticle-annotations-tabs{gap:var(--reticle-hud-space-1);padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);}
|
|
1445
|
+
/* One segmented switch for every "show me this or that": Notes' list and Impact's scope. */
|
|
1446
|
+
[${D}] .reticle-segmented{display:inline-flex;flex:none;padding:2px;border-radius:var(--reticle-hud-radius-sm);background:var(--reticle-hud-inset);}
|
|
1447
|
+
[${Ot}="annotations"] .reticle-segmented{margin-right:auto;}
|
|
1448
|
+
[${D}] .reticle-segmented button{height:24px;padding:0 var(--reticle-hud-space-3);border:0;border-radius:4px;background:transparent;
|
|
1449
|
+
color:var(--reticle-hud-text-muted);font:inherit;font-size:var(--reticle-hud-size-xs);white-space:nowrap;cursor:pointer;}
|
|
1450
|
+
[${D}] .reticle-segmented button:hover{color:var(--reticle-hud-text);}
|
|
1451
|
+
[${D}] .reticle-segmented button[aria-pressed="true"]{background:var(--reticle-hud-border-strong);color:var(--reticle-hud-text);}
|
|
1452
|
+
[${D}] .reticle-report-head .reticle-segmented{margin-left:auto;}
|
|
1453
|
+
[${Ot}="annotations"] .reticle-annotations-tabs .reticle-copy-all{margin-left:0;color:var(--reticle-hud-text-muted);}
|
|
1454
|
+
[${Ot}="annotations"] .reticle-annotation-list{display:flex;flex-direction:column;}
|
|
1455
|
+
[${Ot}="annotations"] .reticle-annotation-item{padding:var(--reticle-hud-space-3) 2px;}
|
|
1456
|
+
|
|
1457
|
+
/* \u2500\u2500 Impact: the streak and the account share the first line instead of a row each. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1458
|
+
[${w}] .reticle-report-top{display:flex;align-items:center;justify-content:space-between;gap:var(--reticle-hud-space-2);min-height:28px;margin-bottom:var(--reticle-hud-space-2);}
|
|
1459
|
+
[${w}] .reticle-report-top .reticle-report-streak{margin-bottom:0;}
|
|
1460
|
+
[${w}] .reticle-report-top .reticle-report-identity{margin:0 0 0 auto;padding:0;}
|
|
1461
|
+
[${w}] .reticle-report-hero-value{color:var(--reticle-hud-text);}
|
|
1462
|
+
[${w}] .reticle-report-card{background:var(--reticle-hud-inset);border-radius:var(--reticle-hud-radius-md);}
|
|
1463
|
+
[${w}] :is(.reticle-report-foot,.reticle-report-links){padding-left:var(--reticle-hud-space-3);padding-right:var(--reticle-hud-space-3);}
|
|
1464
|
+
|
|
1465
|
+
/* \u2500\u2500 Settings: the help links scroll with the rest instead of pinning a footer over the options. */
|
|
1466
|
+
[${I}] .reticle-settings-body .reticle-settings-foot{margin-top:0;border-top:0;}
|
|
1467
|
+
[${I}] .reticle-settings-row{flex-wrap:wrap;}
|
|
1468
|
+
[${I}] .reticle-settings-helptext{flex-basis:100%;margin:6px 0 2px;font-size:var(--reticle-hud-size-xs);line-height:1.45;color:var(--reticle-hud-text-muted);}
|
|
1469
|
+
[${I}] .reticle-settings-help[aria-expanded="true"]{color:var(--reticle-hud-brand);}
|
|
1470
|
+
[${I}] .reticle-settings-reset{background:none;text-align:left;padding-left:14px;font-weight:500;}
|
|
1471
|
+
|
|
1472
|
+
/* \u2500\u2500 Toolbar: Settings and Exit are tabs like the four beside them, so they light the same way. \u2500\u2500 */
|
|
1473
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn{width:100%;height:auto;flex-direction:column;gap:2px;min-height:42px;padding:4px 0 3px;
|
|
1474
|
+
border-radius:var(--reticle-hud-radius-md);background:transparent;color:var(--reticle-hud-text-muted);}
|
|
1475
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn:hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
1476
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn[data-active="1"],
|
|
1477
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn[data-active="1"]:hover{background:transparent;color:var(--reticle-hud-text);}
|
|
1478
|
+
|
|
1479
|
+
[${ye}]{
|
|
1480
|
+
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:7;
|
|
1481
|
+
box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 24px));
|
|
1482
|
+
height:var(--reticle-rail-h);padding:0 var(--reticle-hud-space-3);align-items:center;
|
|
1483
|
+
border:1px solid color-mix(in srgb,var(--reticle-hud-brand) 30%,var(--reticle-hud-border));
|
|
1484
|
+
border-radius:var(--reticle-hud-radius-lg);
|
|
1485
|
+
background:linear-gradient(135deg,var(--reticle-hud-brand-soft),var(--reticle-hud-surface) 65%);
|
|
1486
|
+
box-shadow:${hr};color:var(--reticle-hud-text);font-family:var(--reticle-font);
|
|
1487
|
+
pointer-events:auto;}
|
|
1488
|
+
${oI} [${ye}]{bottom:auto;top:calc(100% + 8px);}
|
|
1489
|
+
${rI} [${ye}]{display:flex;}
|
|
1490
|
+
/* The capsule and the rail share a slot: the capsule is for "nothing open", the rail for "a page is". */
|
|
1491
|
+
${rI} [${gt}]{display:none !important;}
|
|
1492
|
+
[${ye}] > [hidden]{display:none !important;}
|
|
1493
|
+
[${ye}] .reticle-rail-signin,[${ye}] .reticle-rail-promo{flex:1;min-width:0;}
|
|
1494
|
+
[${ye}] .reticle-rail-signin{display:flex;align-items:center;gap:var(--reticle-hud-space-3);}
|
|
1495
|
+
[${ye}] .reticle-rail-copy{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.3;}
|
|
1496
|
+
[${ye}] .reticle-rail-copy strong{font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1497
|
+
[${ye}] .reticle-rail-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1498
|
+
[${ye}] .reticle-rail-cta{flex:none;height:28px;padding:0 var(--reticle-hud-space-3);border:0;border-radius:var(--reticle-hud-radius-pill);
|
|
1499
|
+
background:var(--reticle-hud-brand);color:#160b02;font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;cursor:pointer;}
|
|
1500
|
+
[${ye}] .reticle-rail-cta:hover{filter:brightness(1.08);}
|
|
1501
|
+
[${ye}] .reticle-rail-cta:focus-visible{outline:2px solid var(--reticle-hud-text);outline-offset:2px;}
|
|
1502
|
+
/* The promo: one line of copy, its link, and dots. The carousel draws no frame of its own here. */
|
|
1503
|
+
[${ye}] .reticle-carousel{margin:0;padding:0;border:0;background:none;}
|
|
1504
|
+
[${ye}] .reticle-carousel-track{height:32px;overflow:hidden;}
|
|
1505
|
+
[${ye}] :is(.reticle-carousel-close,.reticle-carousel-arrow,[data-reticle-carousel-position]){display:none;}
|
|
1506
|
+
[${ye}] .reticle-carousel-controls{position:absolute;right:var(--reticle-hud-space-3);top:6px;height:auto;margin:0;}
|
|
1507
|
+
[${ye}] .reticle-carousel-dots{position:static;display:flex;gap:4px;margin:0;}
|
|
1508
|
+
[${ye}] .reticle-carousel-dot{width:10px;height:3px;padding:0;border:0;border-radius:99px;background:var(--reticle-hud-text-muted);opacity:.35;cursor:pointer;}
|
|
1509
|
+
[${ye}] .reticle-carousel-dot[aria-current="true"]{background:var(--reticle-hud-brand);opacity:1;}
|
|
1510
|
+
[${ye}] .reticle-promo-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding-right:0;}
|
|
1511
|
+
[${ye}] .reticle-promo-kicker{display:none;}
|
|
1512
|
+
[${ye}] .reticle-promo-title{grid-column:1/-1;overflow:hidden;padding-right:40px;font-size:var(--reticle-hud-size-sm);font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
|
|
1513
|
+
[${ye}] .reticle-promo-detail{grid-column:1;overflow:hidden;color:var(--reticle-hud-text-muted);font-size:var(--reticle-hud-size-xs);line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
|
|
1514
|
+
[${ye}] .reticle-promo-link{position:static;grid-column:2;color:var(--reticle-hud-brand);font-size:var(--reticle-hud-size-xs);font-weight:600;text-decoration:none;white-space:nowrap;}
|
|
1515
|
+
[${ye}] .reticle-promo-link:hover{text-decoration:underline;}
|
|
1516
|
+
`});var cI,lI=S(()=>{"use strict";cI=`
|
|
1517
|
+
[data-reticle-overlay]{
|
|
1518
|
+
--reticle-hud-space-0:0px;
|
|
1519
|
+
--reticle-hud-space-1:4px;
|
|
1520
|
+
--reticle-hud-space-2:8px;
|
|
1521
|
+
--reticle-hud-space-3:12px;
|
|
1522
|
+
--reticle-hud-space-4:16px;
|
|
1523
|
+
--reticle-hud-radius-sm:6px;
|
|
1524
|
+
--reticle-hud-radius-md:10px;
|
|
1525
|
+
--reticle-hud-radius-lg:14px;
|
|
1526
|
+
--reticle-hud-radius-pill:9999px;
|
|
1527
|
+
--reticle-hud-size-xs:11px;
|
|
1528
|
+
--reticle-hud-size-sm:12px;
|
|
1529
|
+
--reticle-hud-size-base:13px;
|
|
1530
|
+
--reticle-hud-icon-size:18px;
|
|
1531
|
+
--reticle-hud-control-size:36px;
|
|
1532
|
+
--reticle-hud-control-gap:4px;
|
|
1533
|
+
/* Compact: the HUD sits over the user's own app. 400\xD7560 covered too much of it. */
|
|
1534
|
+
--reticle-hud-dock-width:320px;
|
|
1535
|
+
--reticle-hud-panel-height:440px;
|
|
1536
|
+
--reticle-hud-ground:#0b0b0c;
|
|
1537
|
+
--reticle-hud-surface:#151417;
|
|
1538
|
+
--reticle-hud-inset:#232227;
|
|
1539
|
+
--reticle-hud-hover:#1e1d22;
|
|
1540
|
+
--reticle-hud-border:#29282d;
|
|
1541
|
+
--reticle-hud-border-strong:#3a3941;
|
|
1542
|
+
--reticle-hud-text:#f5f3ef;
|
|
1543
|
+
--reticle-hud-text-muted:#a6a29a;
|
|
1544
|
+
--reticle-hud-text-faint:#8b867d;
|
|
1545
|
+
--reticle-hud-brand:#f0872e;
|
|
1546
|
+
--reticle-hud-brand-soft:#2a1b0d;
|
|
1547
|
+
--reticle-hud-ease:cubic-bezier(.4,0,.2,1);
|
|
1548
|
+
}
|
|
1549
|
+
`});var dI,uI=S(()=>{"use strict";wo();sT();UO();ub();VO();mr();KO();zO();Hh();Ih();Eh();Bh();lI();dI=`
|
|
1550
|
+
${cI}
|
|
1108
1551
|
[data-reticle-overlay]{position:fixed;inset:0;pointer-events:none;z-index:${String(2147483600)};}
|
|
1109
1552
|
/**
|
|
1110
1553
|
* The session glow: the page itself says an agent is here, and BREATHES while it is working.
|
|
@@ -1154,103 +1597,103 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
1154
1597
|
[data-reticle-overlay] .reticle-sl-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:inherit;overflow:visible;}
|
|
1155
1598
|
[data-reticle-overlay] .reticle-hi-icon svg,
|
|
1156
1599
|
[data-reticle-overlay] .reticle-sl-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible;}
|
|
1157
|
-
${
|
|
1158
|
-
${
|
|
1159
|
-
${
|
|
1160
|
-
${
|
|
1161
|
-
${
|
|
1162
|
-
${
|
|
1163
|
-
${
|
|
1164
|
-
${
|
|
1165
|
-
${
|
|
1166
|
-
${
|
|
1167
|
-
${
|
|
1168
|
-
|
|
1600
|
+
${Dw}
|
|
1601
|
+
${Mw}
|
|
1602
|
+
${HO}
|
|
1603
|
+
${ch}
|
|
1604
|
+
${jO}
|
|
1605
|
+
${BO}
|
|
1606
|
+
${WO}
|
|
1607
|
+
${nI}
|
|
1608
|
+
${hw}
|
|
1609
|
+
${SO}
|
|
1610
|
+
${U0}
|
|
1611
|
+
${OO}
|
|
1612
|
+
${sI}`});function EI(){let t=Ee(Y.REMOVE,pe.MIN);return`<div ${w} class="reticle-report ${An}" role="region" aria-label="Reticle impact" aria-hidden="true">
|
|
1169
1613
|
<div class="reticle-report-inner">
|
|
1170
1614
|
<div class="reticle-report-head">
|
|
1171
|
-
<span class="reticle-report-title">${
|
|
1172
|
-
<button type="button" ${
|
|
1173
|
-
<button type="button" ${
|
|
1615
|
+
<span class="reticle-report-title">${j.TITLE}</span>
|
|
1616
|
+
<span class="reticle-segmented reticle-report-scopes" role="group" aria-label="${j.SCOPE_LABEL}"><button type="button" ${jh}="${mT.PROJECT}" aria-pressed="true">${j.PROJECT}</button><button type="button" ${jh}="${mT.MACHINE}" aria-pressed="false" title="${j.GLOBAL_TITLE}">${j.GLOBAL}</button></span>
|
|
1617
|
+
<button type="button" ${ob} class="reticle-report-close" title="Close" aria-label="Close impact">${t}</button>
|
|
1174
1618
|
</div>
|
|
1175
1619
|
<div class="reticle-report-body" data-reticle-report-body></div>
|
|
1176
|
-
<div class="reticle-report-foot">
|
|
1177
|
-
<
|
|
1178
|
-
<button type="button" ${
|
|
1179
|
-
<button type="button" ${
|
|
1180
|
-
<button type="button" ${
|
|
1620
|
+
<div class="reticle-report-foot" role="group" aria-label="${j.SHARE_LABEL}">
|
|
1621
|
+
<span class="reticle-report-share-label">${j.SHARE_LABEL}</span>
|
|
1622
|
+
<button type="button" ${fI} class="reticle-report-share">${j.POST_X}</button>
|
|
1623
|
+
<button type="button" ${hI} class="reticle-report-share">${j.POST_IN}</button>
|
|
1624
|
+
<button type="button" ${mI} class="reticle-report-share">${j.COPY}</button>
|
|
1625
|
+
<button type="button" ${gI} class="reticle-report-share reticle-report-refer">${j.REFER}</button>
|
|
1181
1626
|
</div>
|
|
1182
1627
|
<div class="reticle-report-links">
|
|
1183
|
-
<a data-reticle-link="docs" href="${
|
|
1184
|
-
<a data-reticle-link="github" href="${
|
|
1185
|
-
<a data-reticle-link="site" href="${
|
|
1186
|
-
<a data-reticle-link="discord" href="${
|
|
1628
|
+
<a data-reticle-link="docs" href="${Ni.DOCS}" target="_blank" rel="noreferrer noopener">Docs</a>
|
|
1629
|
+
<a data-reticle-link="github" href="${Ni.GITHUB}" target="_blank" rel="noreferrer noopener">GitHub</a>
|
|
1630
|
+
<a data-reticle-link="site" href="${Ni.SITE}" target="_blank" rel="noreferrer noopener">reticle.sh</a>
|
|
1631
|
+
<a data-reticle-link="discord" href="${Ni.DISCORD}" target="_blank" rel="noreferrer noopener">Discord</a>
|
|
1187
1632
|
</div>
|
|
1188
1633
|
</div>
|
|
1189
|
-
</div>`}function
|
|
1190
|
-
<span class="reticle-report-verdict" data-kind="pass">${
|
|
1191
|
-
<span class="reticle-report-verdict" data-kind="fail">${
|
|
1192
|
-
<span class="reticle-report-verdict" data-kind="unknown">${
|
|
1193
|
-
</div>`,d=[Ao(er(i.verdicts),te.VERDICTS),Ao(er(i.calls),te.CALLS),Ao(gl(i.drivingMs),te.DRIVING),Ao(er(i.sessions),te.SESSIONS),Ao(gl(t.records.longestRunMs),te.LONGEST),Ao(er(i.tokensReturned),te.TOKENS),Ao(er(t.savings.tokens.value),te.SAVED_TOKENS,t.savings.tokens.basis),Ao(gl(t.savings.minutes.value*6e4),te.SAVED_MINUTES,t.savings.minutes.basis)].join("");return`${`<div class="reticle-report-identity">${sa(n,{dashboardUrl:e,projectName:r,verdicts:i.verdicts,defects:i.failed})}${Jh(e)}</div>`}${s}${a}${l}<div class="reticle-report-grid">${d}</div>${FD(t,e)}${HD(t)}${GD(t,e,n)}`}function GD(t,e,n){if(e!==void 0||t.counts.verdicts<=0||n===void 0)return"";let[r,i,s]=n.signedIn?[te.UNLINKED,te.UNLINKED_ACTION,te.UNLINKED_TAIL]:[te.LOCAL_ONLY,te.LOCAL_ONLY_ACTION,te.LOCAL_ONLY_TAIL];return`<p class="reticle-report-local-only">${r} <code>${i}</code> ${s}</p>`}var fR,hR,mR,gR,ER,UD,jD,pR,Ci,la,yo,tr,Pr,da,ct,TR,qu,Om,El,Xu,_R=T(()=>{"use strict";D();Xn();Lr();Xh();al();it();Nm();fR="data-reticle-report-scope",hR="data-reticle-share-x",mR="data-reticle-share-in",gR="data-reticle-share-copy",ER="data-reticle-refer",UD=1600;jD=1200,pR="data-syncing",Xu=class{constructor(e={}){m(this,ct);m(this,Ci);m(this,la);m(this,yo);m(this,tr);m(this,Pr,!1);m(this,da);p(this,da,e)}mount(e){p(this,yo,e),p(this,Ci,e.querySelector(`[${P}]`)??void 0),p(this,la,e.querySelector("[data-reticle-report-body]")??void 0),e.querySelector(`[${Fh}]`)?.addEventListener("click",r=>{r.stopPropagation(),this.close()});let n=e.querySelector(`[${fR}]`);n?.addEventListener("click",r=>{r.stopPropagation(),p(this,Pr,!c(this,Pr)),n.setAttribute("aria-pressed",c(this,Pr)?"true":"false"),n.textContent=c(this,Pr)?te.GLOBAL:te.PROJECT,h(this,ct,qu).call(this)}),e.querySelector(`[${hR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,Om).call(this,lR(this.shareText()))}),e.querySelector(`[${mR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,El).call(this,this.shareText()),h(this,ct,Om).call(this,dR())}),e.querySelector(`[${gR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,El).call(this,this.shareText(),r.currentTarget)}),e.querySelector(`[${ER}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,El).call(this,vm(),r.currentTarget)}),e.addEventListener("click",r=>{let i=r.target;if(!(i instanceof Element))return;let s=i.closest(`[${Ri}]`);if(s!==null){r.stopPropagation(),h(this,ct,El).call(this,de.SIGNIN_COMMAND,s);return}let a=i.closest(`[${Qh}]`);a!==null&&(r.stopPropagation(),c(this,da).onSyncNow?.(),a.setAttribute(pR,"1"),setTimeout(()=>a.removeAttribute(pR),jD))})}setSnapshot(e){p(this,tr,e),this.isOpen()&&h(this,ct,qu).call(this)}snapshot(){return c(this,tr)}isOpen(){return c(this,yo)?.getAttribute(an)==="1"}open(){c(this,yo)!==void 0&&(c(this,da).onBeforeOpen?.(),h(this,ct,qu).call(this),c(this,yo).setAttribute(an,"1"),c(this,Ci)?.setAttribute("aria-hidden","false"))}close(){c(this,yo)?.setAttribute(an,"0"),c(this,Ci)?.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){return c(this,Ci)?.contains(e)===!0}shareText(){let e=c(this,tr);return e===void 0?vm():c(this,Pr)?Rm(e.global):Rm(e.project,e.projectName)}};Ci=new WeakMap,la=new WeakMap,yo=new WeakMap,tr=new WeakMap,Pr=new WeakMap,da=new WeakMap,ct=new WeakSet,TR=function(){let e=c(this,tr);if(e!==void 0)return c(this,Pr)?e.global:e.project},qu=function(){let e=h(this,ct,TR).call(this);c(this,la)!==void 0&&(c(this,la).innerHTML=e===void 0?`<p class="reticle-report-empty">${te.EMPTY}</p>`:BD(e,c(this,tr)?.dashboardUrl,c(this,tr)?.account,c(this,tr)?.projectName))},Om=function(e){window.open(e,"_blank","noopener,noreferrer")},El=async function(e,n){try{await navigator.clipboard?.writeText(e)}catch{}if(n instanceof HTMLElement){let r=n.textContent??"";n.textContent=te.COPIED,window.setTimeout(()=>{n.textContent=r},UD)}}});function xR(t,e){let n=zy(t,e);return[...n===""?[]:[{id:SR.HARNESS,html:n}],{id:SR.FOUNDERS,html:qy()}]}var SR,AR=T(()=>{"use strict";Wu();Sm();SR={HARNESS:"harness",FOUNDERS:"founders"}});var wm,yR,Cm,VD,RR,vR=T(()=>{"use strict";wm="Reticle",yR='<path d="M92.82 92.16C93.07 93.4 91.77 94.4 90.63 93.83C89.62 93.33 88.62 92.82 87.63 92.3C71.14 83.78 54.79 72.27 39.61 57.96C39.09 57.49 38.57 56.98 38.06 56.49C22.45 41.52 9.78 25.14 .33 8.52C0.29 8.45 .25 8.38 .2 8.31C-0.44 7.2 .51 5.84 1.79 6.05L24.07 9.71C43.06 12.83 60.63 11.75 75.55 6.53L93.95 .09C95.15-0.33 96.31 .78 95.93 1.98L90.1 20.49C85.37 35.48 84.9 52.97 88.69 71.73L92.83 92.16H92.82Z"/><path d="M58.72 89.23L6.15 92.8C5.24 92.86 4.48 92.13 4.51 91.22L6.56 30.39C6.61 28.91 8.51 28.36 9.35 29.57C16.23 39.43 24.98 52.35 33.01 61.26C41.05 70.17 50.6 78.72 59.62 86.56C60.65 87.45 60.08 89.13 58.72 89.23Z"/>',Cm=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yR}</svg>`,VD=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yR}</svg>`,RR=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${wm}" aria-expanded="false">${VD}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function WD(){try{return globalThis.sessionStorage.getItem(Au)==="1"}catch{return!1}}function CR(t){try{t?globalThis.sessionStorage.setItem(Au,"1"):globalThis.sessionStorage.removeItem(Au)}catch{}}function $m(t){return t&&!WD()}var NR,KD,Im,OR,wR,Lm,km,Dm,Ee,lt,dn,Ii,nr,ua,yt,pa,fa,Li,ki,Di,Mi,Pi,$i,Ro,rr,ha,ma,Tl,Lt,Mm,IR,LR,Pm,kR,Zu,Qu,bl,Um=T(()=>{"use strict";et();_R();fm();al();aa();it();Wu();ym();AR();vR();go();Yh();Pu();Xn();Lr();Ku();aa();NR="reticle-toolbar-drag",KD=120,Im="Annotate",OR="Minimise chat",wR="Open agent chat",Lm="Impact",km="Settings",Dm="Exit",bl=class{constructor(e={}){m(this,Lt);m(this,Ee);m(this,lt);m(this,dn);m(this,Ii);m(this,nr);m(this,ua);m(this,yt);m(this,pa);m(this,fa);m(this,Li,!1);m(this,ki,!1);m(this,Di);m(this,Mi,!1);m(this,Pi);m(this,$i);m(this,Ro,new Xu({onBeforeOpen:()=>{c(this,yt).close(),this.closeChat()},onSyncNow:()=>c(this,rr).onSyncNow?.()}));m(this,rr);m(this,ha);m(this,ma);m(this,Tl);m(this,Zu,e=>{if(c(this,Ee)===void 0||c(this,lt)===void 0||!c(this,yt).isOpen())return;let n=e.target;n instanceof Node&&(c(this,lt).contains(n)||c(this,yt).contains(n)||c(this,yt).close())});m(this,Qu,e=>{if(e.key!=="Escape"||c(this,Ee)===void 0||e.defaultPrevented||Ul(document))return;let n=e.target;if(!(n instanceof HTMLElement&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable===!0))){if(this.isChatOpen()){this.closeChat();return}if(c(this,yt).isOpen()){c(this,yt).close();return}this.isCollapsed()||this.collapse()}});p(this,rr,e),p(this,yt,new ll({...e.settings,onBeforeOpen:()=>{this.closeChat(),c(this,Ro).close(),e.settings?.onBeforeOpen?.()}}))}paintHarness(e){c(this,yt).paintHarness(e)}paintAccount(e,n,r={}){p(this,ha,{account:e,dashboardUrl:n,details:r}),c(this,Ee)!==void 0&&(Ty(c(this,Ee),e,n,r),am(c(this,Ee),e,n,r))}paintOffer(e){p(this,Tl,e),h(this,Lt,Mm).call(this)}static dockHtml(e,n,r,i,s){let a=Ai(V.ANNOTATE,ie.TOOLBAR),l=Ai(V.CHART,ie.TOOLBAR),d=Ai(V.GEAR,ie.TOOLBAR),u=Te(V.REMOVE,ie.TOOLBAR);return`<div ${j}>
|
|
1194
|
-
<div ${
|
|
1634
|
+
</div>`}function Ci(t,e,n){let r=n===void 0?"":`<span class="reticle-report-basis" title="${n}">${j.ESTIMATE_TAG}</span>`;return`<div class="reticle-report-card"><span class="reticle-report-value">${t}</span><span class="reticle-report-label">${e}${r}</span></div>`}function IF(t){let e=t.days.slice(-30);if(e.length===0)return"";let n=Math.max(1,...e.map(o=>o.counts.verdicts)),r=e.map(o=>{let a=Math.max(4,Math.round(o.counts.verdicts/n*100)),s=`${o.date}: ${String(o.counts.verdicts)} verdicts, ${String(o.counts.failed)} defects`,l=o.counts.failed>0?' data-hot="1"':"";return`<span class="reticle-report-bar" style="height:${String(a)}%" title="${s}"${l}></span>`}).join("");return`<div class="reticle-report-chart-wrap"><span class="reticle-report-section">${j.CHART}</span><div class="reticle-report-chart">${r}</div></div>`}function CF(t,e){var u;let n=((u=t.defects)!=null?u:[]).slice(0,qx);if(n.length===0)return"";let r=e!==void 0&&Co(e),o=r?`<a class="reticle-report-defect-link" data-reticle-link="defect" href="${Z(e)}" target="_blank" rel="noreferrer noopener" title="${j.DEFECT_LINK_TITLE}" aria-label="${j.DEFECT_LINK_TITLE}">${Ee(Y.VIEW,pe.SEND)}</a>`:"",a=n.map(p=>{let f=p.detail===void 0?"":`<span class="reticle-report-defect-detail">${Z(p.detail)}</span>`,m=p.source===void 0?"":`<span class="reticle-report-defect-source">${Z(p.source)}</span>`;return`<li class="reticle-report-defect"><span class="reticle-report-defect-title">${Z(p.title)}</span>${f}${m}${o}</li>`}).join(""),s=t.counts.failed>n.length,l=r?`<a class="reticle-report-defects-more" data-reticle-link="dashboard" href="${Z(e)}" target="_blank" rel="noreferrer noopener">${j.DEFECTS_MORE}${s?` (${String(t.counts.failed)})`:""}</a>`:s?`<button type="button" data-reticle-defects-all ${wt} class="reticle-report-defects-all" title="${j.DEFECTS_SEE_ALL_TITLE}">${j.DEFECTS_SEE_ALL} (${String(t.counts.failed)}) \u2192</button>`:"",d=bb(e);return`<div class="reticle-report-defects-wrap"><div class="reticle-report-defects-head"><span class="reticle-report-section">${j.DEFECTS}</span>${d}</div><ul class="reticle-report-defects">${a}</ul>${l}</div>`}function LF(t){if(t===void 0)return"";let e=d=>typeof t[d]=="number"?t[d]:0,n=t.status,r=typeof t.keyRefused=="string"?t.keyRefused:void 0,o=r!==void 0?j.KEY_REFUSED:n==="refused"?`${String(e("refused"))} refused`:n==="pending"?`${String(e("pending"))} waiting`:n==="on-platform"?`Synced \xB7 ${String(e("onPlatform"))}`:n==="local-only"?`${String(e("pending"))} ${j.NOT_SENT}`:void 0;if(o===void 0)return"";let a=r!==void 0?r:n==="local-only"?j.NOT_SENT_HELP:typeof t.said=="string"?t.said:"",s=t.runUrl,l=typeof s=="string"&&Co(s)?` <a class="reticle-sync-run" data-reticle-link="run" href="${Z(s)}" target="_blank" rel="noreferrer noopener">${j.SEE_RUN}</a>`:"";return`<span class="reticle-sync-status" data-reticle-sync-status="${Z(String(n))}" title="${Z(a)}">${o}</span>${l}`}function hT(t,e,n=""){let r=t==="seen"?"\u2713":t==="missing"?"\u2715":"\u25CB",o=n===""?"":`<span class="reticle-report-cap-cost">${n}</span>`;return`<li class="reticle-report-cap" data-state="${t}"><span class="reticle-report-cap-mark" aria-hidden="true">${r}</span><span class="reticle-report-cap-name">${e}</span>${o}</li>`}function kF(t){if(t===void 0)return"";let e=t.covered,n=t.total;if(typeof e!="number"||typeof n!="number")return"";let r=p=>{let f=t[p];return Array.isArray(f)?f:[]},o=r("seen").flatMap(p=>{let f=fT(p);return f===void 0?[]:[hT("seen",f)]}),a=r("missing").flatMap(p=>{if(typeof p!="object"||p===null)return[];let f=p,m=fT(f.capability),g=typeof f.cost=="string"?Z(f.cost):"";return m===void 0?[]:[hT("missing",m,g)]}),s=r("notSeenYet").flatMap(p=>{let f=fT(p);return f===void 0?[]:[hT("unseen",f)]}),l=[...a,...o,...s],d=l.length===0?"":`<ul class="reticle-report-caps">${l.join("")}</ul>${s.length===0?"":`<span class="reticle-report-caps-note">\u25CB ${j.NOT_SEEN_YET}</span>`}`,u=typeof t.prompt=="string"?`<button type="button" class="reticle-report-copy-prompt" ${bI}>${j.COPY_PROMPT}</button>`:"";return`<div class="reticle-report-instrumentation" title="${j.INSTRUMENTATION_HELP}"><div class="reticle-report-instrumentation-head"><span class="reticle-report-section">${j.INSTRUMENTATION}</span><span class="reticle-report-instrumentation-value">${j.covered(Math.round(e),Math.round(n))}</span></div>${d}${u}</div>`}function DF(t){var a,s;if(t===void 0)return"";let e=oO.filter(l=>typeof t[l.key]=="number");if(e.length===0)return"";let n=l=>{var d;return`${String(Math.round((d=t[l])!=null?d:0))}%`},r=typeof t.proved=="number"?n("proved"):n((s=(a=e[0])==null?void 0:a.key)!=null?s:""),o=e.map(l=>`<span class="reticle-report-coverage-level">${n(l.key)} ${l.label}</span>`).join("");return`<div class="reticle-report-coverage" title="${j.COVERAGE_HELP}"><span class="reticle-report-section">${j.COVERAGE}</span><span class="reticle-report-coverage-value">${r}</span><div class="reticle-report-coverage-levels">${o}</div></div>`}function MF(t,e,n,r,o,a,s){let l=t.counts;if(l.calls===0)return`<p class="reticle-report-empty">${j.EMPTY}</p>`;let d=t.records.streakDays>0?`<span class="reticle-report-streak" title="Consecutive days with at least one verdict">\u{1F525} ${String(t.records.streakDays)} <span class="reticle-report-streak-label">${j.STREAK}</span></span>`:"",u=`<div class="reticle-report-hero"><span class="reticle-report-hero-value">${jr(l.failed)}</span><span class="reticle-report-hero-label">${j.heroDefects(l.failed)}</span></div>`,p=`<div class="reticle-report-verdicts" title="${j.UNKNOWN_HELP}">
|
|
1635
|
+
<span class="reticle-report-verdict" data-kind="pass">${jr(l.passed)} ${j.PASSED}</span>
|
|
1636
|
+
<span class="reticle-report-verdict" data-kind="fail">${jr(l.failed)} ${j.FAILED}</span>
|
|
1637
|
+
<span class="reticle-report-verdict" data-kind="unknown">${jr(l.unknown)} ${j.UNKNOWN}</span>
|
|
1638
|
+
</div>`,f=[Ci(jr(l.verdicts),j.VERDICTS),Ci(jr(l.calls),j.CALLS),Ci(Tu(l.drivingMs),j.DRIVING),Ci(jr(l.sessions),j.SESSIONS),Ci(Tu(t.records.longestRunMs),j.LONGEST),Ci(jr(l.tokensReturned),j.TOKENS),Ci(jr(t.savings.tokens.value),j.SAVED_TOKENS,t.savings.tokens.basis),Ci(Tu(t.savings.minutes.value*6e4),j.SAVED_MINUTES,t.savings.minutes.basis)].join(""),m=`<div class="reticle-report-identity">${Dc(n,{dashboardUrl:e,projectName:r,verdicts:l.verdicts,defects:l.failed})}${bb(e)}${LF(a)}</div>`;return`<div class="reticle-report-top">${d}${m}</div>${u}${p}${kF(s)}${DF(o)}<div class="reticle-report-grid">${f}</div>${CF(t,e)}${IF(t)}${$F(t,e,n)}`}function $F(t,e,n){if(e!==void 0||t.counts.verdicts<=0||n===void 0)return"";let[r,o,a]=n.signedIn?[j.UNLINKED,j.UNLINKED_ACTION,j.UNLINKED_TAIL]:[j.LOCAL_ONLY,j.LOCAL_ONLY_ACTION,j.LOCAL_ONLY_TAIL];return`<p class="reticle-report-local-only">${r} <code>${o}</code> ${a}</p>`}var jh,mT,fI,hI,mI,gI,OF,fT,bI,PF,pI,qa,il,Li,fn,Ho,al,St,TI,Vh,gT,ol,Kh,SI=S(()=>{"use strict";H();ur();mr();Pa();Br();ut();yh();jh="data-reticle-report-scope",mT={PROJECT:"project",MACHINE:"machine"},fI="data-reticle-share-x",hI="data-reticle-share-in",mI="data-reticle-share-copy",gI="data-reticle-refer",OF=1600;fT=t=>{var e;return typeof t=="string"?Z((e=eO[t])!=null?e:t):void 0};bI="data-reticle-copy-prompt";PF=1200,pI="data-syncing",Kh=class{constructor(e={}){b(this,St);b(this,qa);b(this,il);b(this,Li);b(this,fn);b(this,Ho,!1);b(this,al);h(this,al,e)}mount(e){var r,o,a,s,l,d,u;h(this,Li,e),h(this,qa,(r=e.querySelector(`[${w}]`))!=null?r:void 0),h(this,il,(o=e.querySelector("[data-reticle-report-body]"))!=null?o:void 0),(a=e.querySelector(`[${ob}]`))==null||a.addEventListener("click",p=>{p.stopPropagation(),this.close()});let n=e.querySelectorAll(`[${jh}]`);for(let p of n)p.addEventListener("click",f=>{f.stopPropagation(),h(this,Ho,mT.MACHINE===p.getAttribute(jh));for(let m of n)m.setAttribute("aria-pressed",m===p?"true":"false");E(this,St,Vh).call(this)});(s=e.querySelector(`[${fI}]`))==null||s.addEventListener("click",p=>{p.stopPropagation(),E(this,St,gT).call(this,tO(this.shareText()))}),(l=e.querySelector(`[${hI}]`))==null||l.addEventListener("click",p=>{p.stopPropagation(),E(this,St,ol).call(this,this.shareText()),E(this,St,gT).call(this,nO())}),(d=e.querySelector(`[${mI}]`))==null||d.addEventListener("click",p=>{p.stopPropagation(),E(this,St,ol).call(this,this.shareText(),p.currentTarget)}),(u=e.querySelector(`[${gI}]`))==null||u.addEventListener("click",p=>{p.stopPropagation(),E(this,St,ol).call(this,qb(),p.currentTarget)}),e.addEventListener("click",p=>{var y,A,v,O;let f=p.target;if(!(f instanceof Element))return;let m=f.closest(`[${wt}]`);if(m!==null){p.stopPropagation(),E(this,St,ol).call(this,te.SIGNIN_COMMAND,m);return}let g=f.closest(`[${bI}]`),T=(A=(y=c(this,fn))==null?void 0:y.instrumentation)==null?void 0:A.prompt;if(g!==null&&typeof T=="string"){p.stopPropagation(),E(this,St,ol).call(this,T,g);return}let _=f.closest(`[${Eb}]`);_!==null&&(p.stopPropagation(),(O=(v=c(this,al)).onSyncNow)==null||O.call(v),_.setAttribute(pI,"1"),setTimeout(()=>_.removeAttribute(pI),PF))})}setSnapshot(e){h(this,fn,e),this.isOpen()&&E(this,St,Vh).call(this)}snapshot(){return c(this,fn)}isOpen(){var e;return((e=c(this,Li))==null?void 0:e.getAttribute(un))==="1"}open(){var e,n,r;c(this,Li)!==void 0&&((n=(e=c(this,al)).onBeforeOpen)==null||n.call(e),E(this,St,Vh).call(this),c(this,Li).setAttribute(un,"1"),(r=c(this,qa))==null||r.setAttribute("aria-hidden","false"))}close(){var e,n;(e=c(this,Li))==null||e.setAttribute(un,"0"),(n=c(this,qa))==null||n.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){var n;return((n=c(this,qa))==null?void 0:n.contains(e))===!0}shareText(){let e=c(this,fn);return e===void 0?qb():c(this,Ho)?Xb(e.global):Xb(e.project,e.projectName)}};qa=new WeakMap,il=new WeakMap,Li=new WeakMap,fn=new WeakMap,Ho=new WeakMap,al=new WeakMap,St=new WeakSet,TI=function(){let e=c(this,fn);if(e!==void 0)return c(this,Ho)?e.global:e.project},Vh=function(){var n,r,o,a,s,l;let e=E(this,St,TI).call(this);c(this,il)!==void 0&&(c(this,il).innerHTML=e===void 0?`<p class="reticle-report-empty">${j.EMPTY}</p>`:MF(e,(n=c(this,fn))==null?void 0:n.dashboardUrl,(r=c(this,fn))==null?void 0:r.account,(o=c(this,fn))==null?void 0:o.projectName,c(this,Ho)||(a=c(this,fn))==null?void 0:a.coverage,c(this,Ho)||(s=c(this,fn))==null?void 0:s.sync,c(this,Ho)||(l=c(this,fn))==null?void 0:l.instrumentation))},gT=function(e){window.open(e,"_blank","noopener,noreferrer")},ol=async function(e,n){var r,o;try{await((r=navigator.clipboard)==null?void 0:r.writeText(e))}catch{}if(n instanceof HTMLElement){let a=(o=n.textContent)!=null?o:"";n.textContent=j.COPIED,window.setTimeout(()=>{n.textContent=a},OF)}}});function BF(t){let e=t.kicker===void 0?"":`<span class="reticle-promo-kicker">${Z(t.kicker)}</span>`,n=t.detail===void 0?"":`<span class="reticle-promo-detail" title="${Z(t.detail)}">${Z(t.detail)}</span>`,r=t.cta===void 0?"":`<a data-reticle-promo-link class="reticle-promo-link" href="${Z(t.cta.url)}" target="_blank" rel="noopener noreferrer">${Z(t.cta.label)} \u2192</a>`;return{id:`${GF}${t.id}`,html:`<div class="reticle-promo-copy">${e}<strong class="reticle-promo-title">${Z(t.title)}</strong>${n}${r}</div>`}}function xI(t=[],e=op){let n=t.flatMap(r=>{let o=pb.safeParse(r);return o.success&&!o.data.id.startsWith(FF)?[o.data]:[]});return 0<n.length?n.map(BF):[...UF(e)]}var HF,_I,wu,UF,FF,GF,AI=S(()=>{"use strict";Lc();Pa();H();HF="/settings?group=billing",_I={REPLAY:"replay-confidence",NOTES:"notes-for-agent"},wu={REPLAY_TITLE:"Replay what your agent verified",REPLAY_DETAIL:"Saved flows re-run after each edit.",REPLAY_LINK:"See how \u2192",NOTES_TITLE:"Point your agent at anything",NOTES_DETAIL:"Open Notes, then click an element."},UF=t=>[{id:_I.REPLAY,html:`<div class="reticle-promo-copy"><strong class="reticle-promo-title">${wu.REPLAY_TITLE}</strong><span class="reticle-promo-detail">${wu.REPLAY_DETAIL}</span><a data-reticle-promo-link class="reticle-promo-link" href="${t}${HF}" target="_blank" rel="noopener noreferrer">${wu.REPLAY_LINK}</a></div>`},{id:_I.NOTES,html:`<div class="reticle-promo-copy"><strong class="reticle-promo-title">${wu.NOTES_TITLE}</strong><span class="reticle-promo-detail">${wu.NOTES_DETAIL}</span></div>`}],FF="harness",GF="notice-"});var VF,yI,ET,jF,vI,RI=S(()=>{"use strict";VF="Reticle",yI='<path d="M92.82 92.16C93.07 93.4 91.77 94.4 90.63 93.83C89.62 93.33 88.62 92.82 87.63 92.3C71.14 83.78 54.79 72.27 39.61 57.96C39.09 57.49 38.57 56.98 38.06 56.49C22.45 41.52 9.78 25.14 .33 8.52C0.29 8.45 .25 8.38 .2 8.31C-0.44 7.2 .51 5.84 1.79 6.05L24.07 9.71C43.06 12.83 60.63 11.75 75.55 6.53L93.95 .09C95.15-0.33 96.31 .78 95.93 1.98L90.1 20.49C85.37 35.48 84.9 52.97 88.69 71.73L92.83 92.16H92.82Z"/><path d="M58.72 89.23L6.15 92.8C5.24 92.86 4.48 92.13 4.51 91.22L6.56 30.39C6.61 28.91 8.51 28.36 9.35 29.57C16.23 39.43 24.98 52.35 33.01 61.26C41.05 70.17 50.6 78.72 59.62 86.56C60.65 87.45 60.08 89.13 58.72 89.23Z"/>',ET=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yI}</svg>`,jF=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yI}</svg>`,vI=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${VF}" aria-expanded="false">${jF}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function ST(t,e=[],n){let r=t.querySelector(`[${Gh}]`);if(r===null)return;let o;try{o=window.sessionStorage}catch{o=void 0}tI(r,xI(e,n),o)}function zF(){try{return globalThis.sessionStorage.getItem(Qf)==="1"}catch{return!1}}function II(t){try{t?globalThis.sessionStorage.setItem(Qf,"1"):globalThis.sessionStorage.removeItem(Qf)}catch{}}function AT(t){return t&&!zF()}var NI,KF,wI,OI,bT,WF,TT,Se,It,Yn,Za,sl,_t,Qe,cl,ll,Qa,Ja,qr,ki,es,ts,Zr,Tr,ns,dl,Iu,Uo,ul,hn,Wh,_T,xT,CI,zh,Yh,Ou,yT=S(()=>{"use strict";at();SI();$b();Br();$c();ut();Hh();AI();Bh();RI();wo();db();au();ur();mr();Ih();$c();NI="reticle-toolbar-drag",KF=120,wI="Minimise chat",OI="Open agent chat",bT="Settings",WF="Reticle",TT="Exit";Ou=class{constructor(e={}){b(this,hn);b(this,Se);b(this,It);b(this,Yn);b(this,Za);b(this,sl);b(this,_t);b(this,Qe);b(this,cl);b(this,ll);b(this,Qa,!1);b(this,Ja,!1);b(this,qr);b(this,ki,!1);b(this,es);b(this,ts);b(this,Zr,new Kh({onBeforeOpen:()=>{c(this,_t).close(),this.closeChat()},onSyncNow:()=>{var e,n;return(n=(e=c(this,Tr)).onSyncNow)==null?void 0:n.call(e)}}));b(this,Tr);b(this,ns);b(this,dl,[]);b(this,Iu);b(this,Uo);b(this,ul);b(this,zh,e=>{if(c(this,Se)===void 0||c(this,It)===void 0||!c(this,_t).isOpen())return;let n=e.target;n instanceof Node&&(c(this,It).contains(n)||c(this,_t).contains(n)||c(this,_t).close())});b(this,Yh,e=>{if(e.key!=="Escape"||c(this,Se)===void 0||e.defaultPrevented||Ip(document))return;let n=e.target;if(!(n instanceof HTMLElement&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable===!0))){if(this.isChatOpen()){this.closeChat();return}if(c(this,_t).isOpen()){c(this,_t).close();return}this.isCollapsed()||this.collapse()}});h(this,Tr,e),h(this,Qe,new Oh(()=>{c(this,Qe).closePage(),this.closeChat(),c(this,Zr).open()},n=>{if(n==="activity"){c(this,Qe).open(n),this.showChat();return}this.isCollapsed()&&this.expand(),this.closeChat(),c(this,_t).close(),c(this,Zr).close()},{run:n=>{var r;return(r=e.onHarnessRun)==null?void 0:r.call(e,n)},stop:()=>{var n;return(n=e.onHarnessStop)==null?void 0:n.call(e)},setHarness:n=>{var r;return(r=e.onHarness)==null?void 0:r.call(e,n)},link:()=>{var n;return(n=e.onHarnessLink)==null?void 0:n.call(e)}})),h(this,_t,new pu({...e.settings,onBeforeOpen:()=>{var n,r;this.closeChat(),c(this,Qe).closePage(),c(this,Zr).close(),(r=(n=e.settings)==null?void 0:n.onBeforeOpen)==null||r.call(n)}}))}setProjectId(e){c(this,Qe).setProjectId(e)}paintHarnessDrive(e){c(this,Qe).paintDrive(e)}paintAgent(e){c(this,Qe).paintAgent(e)}paintHarness(e,n){h(this,Iu,e),c(this,_t).paintHarness(e,n),c(this,Qe).paintHarness(e,n),E(this,hn,_T).call(this)}paintImpact(e){c(this,Qe).paintImpact(e)}paintAnnotations(e){c(this,Qe).paintAnnotations(e)}openView(e){e==="activity"?this.showChat():(this.isCollapsed()&&this.expand(),this.closeChat(),c(this,_t).close(),c(this,Zr).close()),c(this,Qe).open(e)}paintAccount(e,n,r={}){h(this,ns,{account:e,dashboardUrl:n,details:r}),c(this,Se)!==void 0&&(k0(c(this,Se),e,n,r),wb(c(this,Se),e,n,r),aI(c(this,Se),e),c(this,Qe).paintAccount(e),E(this,hn,_T).call(this))}paintNotices(e=[]){h(this,dl,e),h(this,Uo,E(this,hn,Wh).call(this)),c(this,Se)!==void 0&&ST(c(this,Se),e,c(this,Uo))}static dockHtml(e,n,r,o,a){let s=$f(Y.GEAR,pe.TOOLBAR),l=Ee(Y.REMOVE,pe.TOOLBAR);return`<div ${D} role="complementary" aria-label="Reticle">
|
|
1639
|
+
<div ${zt} class="reticle-chat-panel ${An}" role="region" aria-label="Agent Log" aria-hidden="true">
|
|
1195
1640
|
<div class="reticle-chat-head">
|
|
1196
|
-
<span class="reticle-chat-brand">${
|
|
1197
|
-
<span ${
|
|
1641
|
+
<span class="reticle-chat-brand">${ET}<span class="reticle-chat-brandname">${WF}</span></span>
|
|
1642
|
+
<span ${kc} class="reticle-head-team"></span>
|
|
1643
|
+
<span ${Db} class="reticle-head-account"></span>
|
|
1198
1644
|
</div>
|
|
1199
|
-
<button type="button" ${
|
|
1645
|
+
<button type="button" ${rb} class="reticle-chat-min" title="${wI}" aria-label="${wI}">${Ee(Y.CARET_DOWN,pe.TOOLBAR)}</button>
|
|
1200
1646
|
${e}
|
|
1201
1647
|
<span class="reticle-tally" data-reticle-tally hidden></span>
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1648
|
+
<section class="reticle-chat-view" role="region" aria-label="Agent Log">
|
|
1649
|
+
${n}
|
|
1650
|
+
<div class="${oh}"><div ${r}></div></div>
|
|
1651
|
+
${o}
|
|
1652
|
+
</section>
|
|
1653
|
+
${a}
|
|
1206
1654
|
</div>
|
|
1207
|
-
|
|
1208
|
-
|
|
1655
|
+
${gO}
|
|
1656
|
+
${bO}
|
|
1657
|
+
${TO}
|
|
1658
|
+
<button type="button" ${gt} class="reticle-chat-pill" title="${OI}" aria-label="${OI}">
|
|
1659
|
+
${ET}
|
|
1209
1660
|
<span class="reticle-chat-pill-text" data-reticle-chat-pill-text></span>
|
|
1210
1661
|
<span class="reticle-chat-pill-time" data-reticle-chat-pill-time></span>
|
|
1211
|
-
<span class="reticle-chat-pill-caret" aria-hidden="true">${
|
|
1662
|
+
<span class="reticle-chat-pill-caret" aria-hidden="true">${Ee(Y.CARET_DOWN,pe.TOOLBAR)}</span>
|
|
1212
1663
|
</button>
|
|
1213
|
-
${
|
|
1214
|
-
${
|
|
1664
|
+
${Ib()}
|
|
1665
|
+
${EI()}
|
|
1666
|
+
${iI}
|
|
1215
1667
|
<div data-reticle-hud>
|
|
1216
1668
|
<div class="reticle-hud-deco" aria-hidden="true"></div>
|
|
1217
|
-
${
|
|
1218
|
-
<div class="reticle-toolbar ${
|
|
1219
|
-
<div class="reticle-toolbar-actions">${Oy}</div>
|
|
1220
|
-
<span class="reticle-tb-sep" aria-hidden="true"></span>
|
|
1669
|
+
${vI}
|
|
1670
|
+
<div class="reticle-toolbar ${NI}" role="toolbar" aria-label="Reticle controls">
|
|
1221
1671
|
<div class="reticle-toolbar-chrome">
|
|
1672
|
+
${EO}
|
|
1222
1673
|
<div class="reticle-tb-wrap">
|
|
1223
|
-
<button type="button" ${
|
|
1224
|
-
<span class="reticle-tb-tip">${
|
|
1225
|
-
</div>
|
|
1226
|
-
<div class="reticle-tb-wrap">
|
|
1227
|
-
<button type="button" ${xu} class="reticle-tb-btn reticle-tb-btn--toggle" title="${Lm}" aria-label="${Lm}" aria-pressed="false" data-active="0">${l}</button>
|
|
1228
|
-
<span class="reticle-tb-tip">${Lm}</span>
|
|
1229
|
-
</div>
|
|
1230
|
-
<div class="reticle-tb-wrap">
|
|
1231
|
-
<button type="button" ${nl} class="reticle-tb-btn reticle-tb-btn--toggle" title="${km}" aria-label="${km}" aria-pressed="false" data-active="0">${d}</button>
|
|
1232
|
-
<span class="reticle-tb-tip">${km}</span>
|
|
1674
|
+
<button type="button" ${eu} class="reticle-tb-btn reticle-tb-btn--toggle" title="${bT}" aria-label="${bT}" aria-pressed="false" data-active="0">${s}${Ba(wi.SETTINGS)}</button>
|
|
1675
|
+
<span class="reticle-tb-tip">${bT}</span>
|
|
1233
1676
|
</div>
|
|
1234
1677
|
<div class="reticle-tb-wrap">
|
|
1235
|
-
<button type="button" data-reticle-min-btn class="reticle-tb-btn" title="${
|
|
1236
|
-
<span class="reticle-tb-tip">${
|
|
1678
|
+
<button type="button" data-reticle-min-btn class="reticle-tb-btn" title="${TT}" aria-label="${TT}">${l}${Ba(wi.HIDE)}</button>
|
|
1679
|
+
<span class="reticle-tb-tip">${TT}<span class="reticle-tb-kbd">Esc</span></span>
|
|
1237
1680
|
</div>
|
|
1238
1681
|
</div>
|
|
1239
1682
|
</div>
|
|
1240
1683
|
</div>
|
|
1241
|
-
</div>`}get report(){return c(this,Ro)}isAnnotateOn(){return c(this,Mi)}setAnnotateOn(e){p(this,Mi,e),c(this,Di)?.setAttribute("aria-pressed",e?"true":"false"),c(this,Di)?.setAttribute("data-active",e?"1":"0")}mount(e){p(this,$i,new AbortController);let{signal:n}=c(this,$i);p(this,Ee,e),p(this,lt,e.querySelector(`[${j}]`)??void 0);let r=e.querySelector(`[${CA}]`);p(this,dn,r instanceof HTMLButtonElement?r:void 0);let i=e.querySelector(`[${tl}]`);p(this,Ii,i instanceof HTMLElement?i:void 0);let s=e.querySelector(`[${el}]`);p(this,nr,s instanceof HTMLElement?s:void 0);let a=e.querySelector(`[${Uh}]`);p(this,Di,a instanceof HTMLButtonElement?a:void 0),c(this,Di)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),this.setAnnotateOn(!c(this,Mi)),c(this,rr).onAnnotateToggle?.(c(this,Mi))},{signal:n}),e.querySelector(`[${xt}]`)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),this.showChat()},{signal:n}),e.querySelector(`[${Hh}]`)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),this.closeChat()},{signal:n});let u=e.querySelector("[data-reticle-min-btn]");p(this,ua,u instanceof HTMLButtonElement?u:void 0),e.setAttribute(ke,"1"),e.setAttribute(Ge,"0"),e.removeAttribute(qe),c(this,yt).mount(e),c(this,Ro).mount(e),p(this,Pi,new MutationObserver(()=>h(this,Lt,Pm).call(this))),c(this,Pi).observe(e,{attributes:!0,attributeFilter:[qe,Ge,an]}),h(this,Lt,Pm).call(this),e.querySelector(`[${xu}]`)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),c(this,Ro).toggle()},{signal:n}),c(this,dn)?.addEventListener("click",E=>{if(E.stopPropagation(),c(this,ki)){p(this,ki,!1);return}this.expand()},{signal:n}),c(this,ua)?.addEventListener("click",E=>{E.stopPropagation(),this.collapse()},{signal:n}),c(this,nr)?.addEventListener("click",E=>{E.stopPropagation(),this.toggleChat()},{signal:n});let f=e.querySelector(`.${NR}`),g=[c(this,dn),f].filter(E=>E instanceof HTMLElement);if(c(this,lt)!==void 0&&g.length>0&&(p(this,pa,QA(c(this,lt),g,{onDragMove:()=>{p(this,ki,!0)},onDragEnd:E=>{E&&this.isCollapsed()&&p(this,ki,!0)}})),p(this,fa,ZA(c(this,lt),e))),document.addEventListener("pointerdown",c(this,Zu),{signal:n}),document.addEventListener("keydown",c(this,Qu),{signal:n}),p(this,ma,ty(e)),c(this,ha)!==void 0){let E=c(this,ha);this.paintAccount(E.account,E.dashboardUrl,E.details)}h(this,Lt,Mm).call(this)}teardown(){var e,n,r;(e=c(this,ma))==null||e.call(this),p(this,ma,void 0),c(this,$i)?.abort(),p(this,$i,void 0),c(this,Pi)?.disconnect(),p(this,Pi,void 0),(n=c(this,pa))==null||n.call(this),p(this,pa,void 0),(r=c(this,fa))==null||r.call(this),p(this,fa,void 0),c(this,yt).teardown(),p(this,Ee,void 0),p(this,lt,void 0),p(this,dn,void 0),p(this,Ii,void 0),p(this,nr,void 0),p(this,ua,void 0)}isCollapsed(){return c(this,Ee)?.getAttribute(ke)==="1"}isChatOpen(){return c(this,Ee)?.getAttribute(qe)==="1"}expand(){c(this,Ee)===void 0||!this.isCollapsed()||c(this,Li)||(h(this,Lt,kR).call(this),c(this,Ee).setAttribute(ke,"0"),CR(!1),c(this,dn)!==void 0&&c(this,dn).setAttribute("aria-expanded","true"),c(this,rr).onExpand?.(),this.openChat(),c(this,lt)!==void 0&&kr(c(this,lt),c(this,Ee)))}collapse(){c(this,Ee)!==void 0&&(p(this,Li,!1),this.closeChat(),c(this,yt).close(),c(this,Ee).setAttribute(ke,"1"),CR(!0),c(this,dn)!==void 0&&c(this,dn).setAttribute("aria-expanded","false"),c(this,rr).onCollapse?.())}openChat(){if(c(this,Ee)===void 0||(this.isCollapsed()&&this.expand(),c(this,yt).close(),this.isChatOpen()))return;c(this,Ee).setAttribute(qe,"1");let e=c(this,Ee).querySelector("[data-reticle-log]");e!==null&&gA(e),c(this,Ii)?.setAttribute("aria-hidden","false"),c(this,nr)?.setAttribute("data-active","1"),c(this,nr)?.setAttribute("aria-pressed","true"),c(this,rr).onChatOpen?.(),c(this,lt)!==void 0&&kr(c(this,lt),c(this,Ee))}closeChat(){c(this,Ee)===void 0||!this.isChatOpen()||(c(this,Ee).removeAttribute(qe),c(this,Ii)?.setAttribute("aria-hidden","true"),c(this,nr)?.setAttribute("data-active","0"),c(this,nr)?.setAttribute("aria-pressed","false"),c(this,rr).onChatClose?.(),c(this,lt)!==void 0&&kr(c(this,lt),c(this,Ee)))}toggleChat(){this.isChatOpen()?this.closeChat():this.showChat()}showChat(){c(this,Ro).close(),this.openChat()}pulseFab(e){c(this,dn)?.setAttribute("data-pulse",e?"1":"0")}};Ee=new WeakMap,lt=new WeakMap,dn=new WeakMap,Ii=new WeakMap,nr=new WeakMap,ua=new WeakMap,yt=new WeakMap,pa=new WeakMap,fa=new WeakMap,Li=new WeakMap,ki=new WeakMap,Di=new WeakMap,Mi=new WeakMap,Pi=new WeakMap,$i=new WeakMap,Ro=new WeakMap,rr=new WeakMap,ha=new WeakMap,ma=new WeakMap,Tl=new WeakMap,Lt=new WeakSet,Mm=function(){let e=c(this,Ee)?.querySelector(`[${Zc}]`);if(!(e instanceof HTMLElement))return;let n=Wy(h(this,Lt,LR).call(this));rR(e,xR(c(this,Tl),n),h(this,Lt,IR).call(this))},IR=function(){try{return globalThis.sessionStorage}catch{return}},LR=function(){try{return globalThis.localStorage}catch{return}},Pm=function(){let e=c(this,Ee);if(e===void 0)return;let n=(r,i)=>{let s=e.querySelector(`[${r}]`);s?.setAttribute("data-active",i?"1":"0"),s?.setAttribute("aria-pressed",i?"true":"false")};n(el,e.getAttribute(qe)==="1"),n(nl,e.getAttribute(Ge)==="1"),n(xu,e.getAttribute(an)==="1")},kR=function(){p(this,Li,!0),window.setTimeout(()=>{p(this,Li,!1)},KD)},Zu=new WeakMap,Qu=new WeakMap});function DR(t){let e=t.startMs??t.now,n={reads:0,acts:0,narrations:0,human:0,passes:0,fails:0};for(let r of t.runLog)r.kind===Ke.READ?n.reads+=1:r.kind===Ke.ACT?n.acts+=1:r.kind===Ke.NARRATION?n.narrations+=1:r.kind===Ke.HUMAN&&(n.human+=1),r.result===Pt.PASS?n.passes+=1:r.result===Pt.FAIL&&(n.fails+=1);return{session:t.sessionId,url:typeof location>"u"?"":location.href,state:t.state,startedMs:e,durationMs:Math.max(0,(t.endMs??t.now)-e),counts:n,capabilities:oo(),log:t.runLog.map(r=>({...r}))}}var MR=T(()=>{"use strict";go();io()});function PR(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function $R(t,e){t!==void 0&&(t.style.left=`${String(e.left-4)}px`,t.style.top=`${String(e.top-4)}px`,t.style.width=`${String(e.width+8)}px`,t.style.height=`${String(e.height+8)}px`,t.setAttribute("data-on","1"),z(()=>t.setAttribute("data-on","0"),700))}function UR(t,e,n){if(t===void 0)return;let r=document.createElement("div");r.setAttribute("data-reticle-ripple",""),r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,t.appendChild(r),z(()=>r.remove(),520)}function Hm(t){return new Promise(e=>z(e,t))}var HR=T(()=>{"use strict";Ve()});var wn,Ui,Cn,In,vo,ga,Ea,Hi,_l,ba,Sl,un,FR,Fm,Bm,BR,Ju,GR=T(()=>{"use strict";D();Ve();it();Ju=class{constructor(e){m(this,un);m(this,wn,Nn.IDLE);m(this,Ui,0);m(this,Cn);m(this,In);m(this,vo);m(this,ga);m(this,Ea);m(this,Hi);m(this,_l);m(this,ba);m(this,Sl);p(this,Ea,e.now),p(this,Hi,e.idleAfterMs),p(this,_l,e.glowFadeMs),p(this,ba,e.borderMode),p(this,Sl,e.setMode)}setElements(e,n){p(this,vo,e),p(this,ga,n)}phase(){return c(this,wn)}lastActivityMs(){return c(this,Ui)}resetActivity(e){p(this,Ui,e)}markActivity(e=c(this,Ea).call(this)){p(this,Ui,e),(c(this,wn)===Nn.IDLE||c(this,wn)===Nn.FADING)&&h(this,un,FR).call(this),h(this,un,Fm).call(this)}scheduleIdle(){h(this,un,Fm).call(this)}teardown(){c(this,Cn)!==void 0&&pe(c(this,Cn)),c(this,In)!==void 0&&pe(c(this,In)),p(this,Cn,void 0),p(this,In,void 0)}};wn=new WeakMap,Ui=new WeakMap,Cn=new WeakMap,In=new WeakMap,vo=new WeakMap,ga=new WeakMap,Ea=new WeakMap,Hi=new WeakMap,_l=new WeakMap,ba=new WeakMap,Sl=new WeakMap,un=new WeakSet,FR=function(){c(this,In)!==void 0&&(pe(c(this,In)),p(this,In,void 0)),p(this,wn,Nn.BUSY),c(this,ba)===yi.SESSION?c(this,vo)?.setAttribute(Jc,xA):c(this,vo)?.setAttribute(St,Cr),c(this,ga)?.setAttribute(St,Cr)},Fm=function(){c(this,Cn)!==void 0&&pe(c(this,Cn)),p(this,Cn,z(()=>h(this,un,Bm).call(this),c(this,Hi)))},Bm=function(){if(p(this,Cn,void 0),c(this,wn)!==Nn.BUSY)return;let e=c(this,Ea).call(this)-c(this,Ui);if(e<c(this,Hi)){p(this,Cn,z(()=>h(this,un,Bm).call(this),c(this,Hi)-e));return}h(this,un,BR).call(this)},BR=function(){p(this,wn,Nn.FADING),c(this,ba)===yi.SESSION?c(this,vo)?.setAttribute(Jc,gu):c(this,vo)?.setAttribute(St,bo),c(this,ga)?.setAttribute(St,bo),c(this,Sl).call(this,Me.IDLE),p(this,In,z(()=>{p(this,In,void 0),c(this,wn)===Nn.FADING&&p(this,wn,Nn.IDLE)},c(this,_l)))}});function jR(t,e,n){let r=zD(e);if(t===void 0)return r;if(r.passes===0&&r.fails===0)return t.setAttribute("hidden",""),t.replaceChildren(),r;let i=t.ownerDocument;t.removeAttribute("hidden"),t.className="reticle-tally reticle-pill-group reticle-head-ctl",t.replaceChildren();let s=i.createElement("span");if(s.className="reticle-t-pass reticle-pill-segment",r.passes===0&&s.setAttribute("data-z","1"),r.passes>n.passes&&s.setAttribute("data-bump","1"),s.append(qn(V.CHECK,ie.TALLY)),r.passes>0){let d=i.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.passes),s.append(d)}let a=i.createElement("span");a.className="reticle-pill-sep",a.setAttribute("aria-hidden","true");let l=i.createElement("span");if(l.className="reticle-t-fail reticle-pill-segment",r.fails===0&&l.setAttribute("data-z","1"),r.fails>n.fails&&l.setAttribute("data-bump","1"),l.append(qn(V.REMOVE,ie.TALLY)),r.fails>0){let d=i.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.fails),l.append(d)}return t.append(s,a,l),r}function zD(t){let e=0,n=0;for(let r of t)r.result===Pt.PASS?e+=1:r.result===Pt.FAIL&&(n+=1);return{passes:e,fails:n}}var VR=T(()=>{"use strict";go();Xn()});function WR(t){return Gm??(Gm=new Set([...YD,...Object.entries(qD).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),Gm.has(t)}var YD,KR,qD,Gm,zR=T(()=>{"use strict";YD=["fab","pause","chat-toggle","markers-btn","end","clear-marks","copy-marks","copy","export","annotate-btn","report-btn","settings-btn","min-btn","chat-min","chat-pill","replay","carousel-dot","carousel-close","offer-claim","talk-book","account-signin","account-trigger","account-signout","account-dashboard","sync-now","report-scope","report-close","share-x","share-in","share-copy","refer","settings-close","settings-help","settings-reset","settings-mcp","feedback-email","feedback-call","workspace-btn","workspace-copy","mark-cancel","mark-send"],KR=["setting","check","settings-cycle","theme","tour-target","link"],qD={setting:["autoOpenChat","showTimestamps","showTally","reactComponents","hideUntilRestart","harnessEnabled","reduceMotion","ambientGlow"],check:["blockPageInteractions","clearOnCopy"],"settings-cycle":["outputDetail"],theme:["signal","traffic","mono","neon","ember"],"tour-target":["copy","back","done","next","skip"],link:["docs","github","site","discord","defect","dashboard"]}});var YR=T(()=>{"use strict";zR()});function XR(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(qR))continue;let n=e.name.slice(qR.length),r=KR.includes(n)?`${n}.${e.value}`:n;if(WR(r))return r}}function ZD(t){for(let e of t)if(e instanceof Element&&XR(e)!==void 0)return e}function QD(t){return t.getAttribute(ke)==="1"?{view:Zr.BUBBLE,panel:Qr.NONE}:t.getAttribute(Ge)==="1"?{view:Zr.EXPANDED,panel:Qr.SETTINGS}:t.getAttribute(an)==="1"?{view:Zr.EXPANDED,panel:Qr.REPORT}:t.getAttribute(qe)==="1"?{view:Zr.EXPANDED,panel:Qr.CHAT}:{view:Zr.COLLAPSED,panel:Qr.NONE}}function ZR(t,e,n){let r=d=>{try{n(d)}catch{}},i=d=>{let u=ZD(d.composedPath());if(u===void 0||!Xi(u))return;let f=XR(u);if(f!==void 0){if(!XD.has(u.getAttribute("role")??"")){r({control:f});return}z(()=>{let g=u.getAttribute("aria-checked")==="true";r({control:f,toggle:g?tc.ON:tc.OFF})},0)}},s="",a=()=>{let d=QD(e),u=`${d.view}/${d.panel}`;u!==s&&(s=u,r(d))};t.addEventListener("click",i,!0);let l=new MutationObserver(a);return l.observe(e,{attributes:!0,attributeFilter:[ke,qe,Ge,an]}),a(),()=>{t.removeEventListener("click",i,!0),l.disconnect()}}var qR,XD,QR=T(()=>{"use strict";YR();D();et();Ve();it();qR="data-reticle-",XD=new Set(["switch","checkbox"])});var av={};Va(av,{GlowPhase:()=>Nn,LOG_KIND:()=>Ke,LOG_RESULT:()=>Pt,Presenter:()=>jm});var JD,Sa,Ce,$r,Fi,Al,Bi,Ur,xa,Aa,No,Hr,Gi,ya,Ra,pn,va,yl,ji,Kt,Fr,dt,Na,Rl,vl,Vi,Br,Ln,Gr,kn,Oo,wo,Oa,wa,Wt,Ie,Ca,Y,JR,Ta,Vm,ev,xl,Km,tv,nv,rv,ov,iv,_a,sv,jm,cv=T(()=>{"use strict";D();gt();oh();gh();Ve();go();sR();Um();Nm();it();MR();HR();GR();Xn();VR();Ku();aa();Um();QR();it();go();JD=1600,jm=class{constructor(e={}){m(this,Y);m(this,Sa);m(this,Ce);m(this,$r);m(this,Fi);m(this,Al);m(this,Bi);m(this,Ur);m(this,xa);m(this,Aa);m(this,No);m(this,Hr);m(this,Gi);m(this,ya,{passes:0,fails:0});m(this,Ra,Me.IDLE);m(this,pn);m(this,va);m(this,yl);m(this,ji);m(this,Kt);m(this,Fr,"");m(this,dt);m(this,Na);m(this,Rl);m(this,vl);m(this,Vi);m(this,Br,[]);m(this,Ln,!1);m(this,Gr);m(this,kn);m(this,Oo);m(this,wo);m(this,Oa);m(this,wa);m(this,Wt);m(this,Ie);m(this,Ca);p(this,Sa,AA(e.paceMs)),p(this,pn,e.now??Gd),p(this,va,e.heartbeatMs??RA),p(this,yl,e.idleNoticeMs??vA),p(this,Na,e.idleEndMs??NA),p(this,Rl,e.sessionId??""),p(this,ji,e.border??SA),p(this,Kt,new Ju({now:c(this,pn),idleAfterMs:e.idleAfterMs??yA,glowFadeMs:e.glowFadeMs??wA,borderMode:c(this,ji),setMode:n=>this.setMode(n)})),p(this,Gr,Ph(e.logMax)),p(this,wo,e.onControl),p(this,Oa,e.onHudUse),p(this,Wt,new Vu({emit:(n,r)=>{var i;return(i=c(this,wo))==null?void 0:i.call(this,r!==void 0?{kind:n,text:r}:{kind:n})},logHuman:n=>{this.log(Ke.HUMAN,n)},endedFadeMs:e.endedFadeMs??vy,runState:()=>this.runState(),clearRunLog:()=>h(this,Y,rv).call(this),onStateChange:()=>h(this,Y,Ta).call(this)})),p(this,Ie,new bl({onChatOpen:()=>c(this,Ie).pulseFab(!1),onExpand:()=>h(this,Y,Ta).call(this),onAnnotateToggle:()=>h(this,Y,Ta).call(this),onCollapse:()=>h(this,Y,Ta).call(this),onSyncNow:()=>{var n;return(n=c(this,wo))==null?void 0:n.call(this,{kind:$n.SYNC})},settings:{onBeforeOpen:()=>{c(this,Ie).isCollapsed()&&c(this,Ie).expand()},onHideUntilRestart:()=>h(this,Y,ov).call(this),onSettingsChange:n=>h(this,Y,iv).call(this,n),onHarness:n=>{var r;return(r=c(this,wo))==null?void 0:r.call(this,{kind:$n.HARNESS,text:n?"on":"off"})}}}))}setControlHandler(e){p(this,wo,e)}get state(){return c(this,Wt).state}get sessionActive(){return c(this,Ln)}setState(e,n,r){c(this,Wt).setState(e,n,r)}refilterFlows(){c(this,Wt).refilterFlows()}handlePush(e){let n=e.args;if(e.name===C.FLOWS)return void c(this,Wt).setFlows(n.flows);if(e.name===C.IMPACT){let a=uR(n.snapshot);a!==void 0&&(c(this,Ie).report.setSnapshot(a),c(this,Ie).paintOffer(a.harnessOffer),c(this,Ie).paintHarness(a.harnessConfig),c(this,Ie).paintAccount(a.account,a.dashboardUrl,{projectName:a.projectName,dashboardUrl:a.dashboardUrl,verdicts:a.project.counts.verdicts,defects:a.project.counts.failed}));return}let r=n.state,i=n.tone,s=typeof n.text=="string"&&n.text.length>0?n.text:void 0;wE(r)&&this.setState(r,s,ib(i)?i:void 0)}get logMax(){return c(this,Gr)}set logMax(e){p(this,Gr,Ph(e)),h(this,Y,sv).call(this)}mount(){if(c(this,Ce)!==void 0||typeof document>"u")return;let e=document.createElement("style");e.setAttribute("data-reticle-overlay",""),e.textContent=iR,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute("data-reticle-overlay","");let r=`<div class="reticle-act-strip" data-liveness="idle"><span class="reticle-act-dot" aria-hidden="true"></span><span class="reticle-act">${Eo.READY}</span><span class="reticle-chip" data-reticle-chip></span></div>`;n.innerHTML=`
|
|
1242
|
-
${
|
|
1684
|
+
</div>`}get report(){return c(this,Zr)}isAnnotateOn(){return c(this,ki)}setAnnotateOn(e){var r,o,a,s,l,d,u;h(this,ki,e),(r=c(this,qr))==null||r.setAttribute("aria-pressed",e?"true":"false"),(o=c(this,qr))==null||o.setAttribute("data-active",e?"1":"0"),(a=c(this,qr))==null||a.setAttribute("aria-label",e?"Stop adding notes":"Add notes"),(s=c(this,qr))==null||s.setAttribute("title",e?"Stop adding notes":"Add notes");let n=(l=c(this,qr))==null?void 0:l.querySelector("[data-reticle-notes-toggle-label]");n!=null&&(n.textContent=e?"Stop adding notes":"Add notes"),(u=(d=c(this,Se))==null?void 0:d.querySelector('[data-reticle-chat-view-btn="annotations"]'))==null||u.setAttribute("data-capture",e?"1":"0")}mount(e){var f,m,g,T;h(this,ts,new AbortController);let{signal:n}=c(this,ts);h(this,Se,e),h(this,It,(f=e.querySelector(`[${D}]`))!=null?f:void 0);let r=e.querySelector(`[${Nw}]`);h(this,Yn,r instanceof HTMLButtonElement?r:void 0);let o=e.querySelector(`[${zt}]`);h(this,Za,o instanceof HTMLElement?o:void 0);let a=e.querySelector(`[${Zf}]`);h(this,qr,a instanceof HTMLButtonElement?a:void 0),this.setAnnotateOn(c(this,ki)),(m=c(this,qr))==null||m.addEventListener("click",_=>{var y,A;_.preventDefault(),_.stopPropagation(),this.setAnnotateOn(!c(this,ki)),(A=(y=c(this,Tr)).onAnnotateToggle)==null||A.call(y,c(this,ki))},{signal:n});let s=e.querySelector(`[${gt}]`);s==null||s.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),this.showChat()},{signal:n});let l=e.querySelector(`[${rb}]`);l==null||l.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),this.closeChat()},{signal:n});let d=e.querySelector("[data-reticle-min-btn]");h(this,sl,d instanceof HTMLButtonElement?d:void 0),e.setAttribute(ke,"1"),e.setAttribute(Ye,"0"),e.removeAttribute(ot),c(this,_t).mount(e),c(this,Zr).mount(e),c(this,Qe).mount(e),h(this,Uo,E(this,hn,Wh).call(this)),ST(e,c(this,dl),c(this,Uo)),h(this,es,new MutationObserver(()=>E(this,hn,xT).call(this))),c(this,es).observe(e,{attributes:!0,attributeFilter:[ot,Ye,un]}),E(this,hn,xT).call(this),(g=c(this,Yn))==null||g.addEventListener("click",_=>{if(_.stopPropagation(),c(this,Ja)){h(this,Ja,!1);return}this.expand()},{signal:n}),(T=c(this,sl))==null||T.addEventListener("click",_=>{_.stopPropagation(),this.collapse()},{signal:n});let u=e.querySelector(`.${NI}`),p=[c(this,Yn),u].filter(_=>_ instanceof HTMLElement);if(c(this,It)!==void 0&&p.length>0&&(h(this,cl,Xw(c(this,It),p,{onDragMove:()=>{h(this,Ja,!0)},onDragEnd:_=>{h(this,Ja,_&&this.isCollapsed())}})),h(this,ll,Yw(c(this,It),e))),document.addEventListener("pointerdown",c(this,zh),{signal:n}),document.addEventListener("keydown",c(this,Yh),{signal:n}),h(this,ul,u0(e,()=>{var _,y;return(y=(_=c(this,Tr)).onSignIn)==null?void 0:y.call(_)})),c(this,ns)!==void 0){let _=c(this,ns);this.paintAccount(_.account,_.dashboardUrl,_.details)}}teardown(){var e,n,r,o,a;(e=c(this,ul))==null||e.call(this),h(this,ul,void 0),(n=c(this,ts))==null||n.abort(),h(this,ts,void 0),(r=c(this,es))==null||r.disconnect(),h(this,es,void 0),(o=c(this,cl))==null||o.call(this),h(this,cl,void 0),(a=c(this,ll))==null||a.call(this),h(this,ll,void 0),c(this,_t).teardown(),c(this,Qe).teardown(),h(this,Se,void 0),h(this,It,void 0),h(this,Yn,void 0),h(this,Za,void 0),h(this,sl,void 0)}isCollapsed(){var e;return((e=c(this,Se))==null?void 0:e.getAttribute(ke))==="1"}isChatOpen(){var e;return((e=c(this,Se))==null?void 0:e.getAttribute(ot))==="1"}expand(){var e,n;c(this,Se)===void 0||!this.isCollapsed()||c(this,Qa)||(E(this,hn,CI).call(this),c(this,Se).setAttribute(ke,"0"),II(!1),c(this,Yn)!==void 0&&c(this,Yn).setAttribute("aria-expanded","true"),(n=(e=c(this,Tr)).onExpand)==null||n.call(e),this.openChat(),c(this,It)!==void 0&&gr(c(this,It),c(this,Se)))}collapse(){var e,n;c(this,Se)!==void 0&&(h(this,Qa,!1),this.closeChat(),c(this,_t).close(),c(this,Se).setAttribute(ke,"1"),II(!0),c(this,Yn)!==void 0&&c(this,Yn).setAttribute("aria-expanded","false"),(n=(e=c(this,Tr)).onCollapse)==null||n.call(e))}openChat(){var n,r,o;if(c(this,Se)===void 0||(this.isCollapsed()&&this.expand(),c(this,_t).close(),c(this,Qe).closePage(),c(this,Qe).open("activity"),this.isChatOpen()))return;c(this,Se).setAttribute(ot,"1");let e=c(this,Se).querySelector("[data-reticle-log]");e!==null&&mw(e),(n=c(this,Za))==null||n.setAttribute("aria-hidden","false"),(o=(r=c(this,Tr)).onChatOpen)==null||o.call(r),c(this,It)!==void 0&&gr(c(this,It),c(this,Se))}closeChat(){var e,n,r;c(this,Se)===void 0||!this.isChatOpen()||(c(this,Se).removeAttribute(ot),(e=c(this,Za))==null||e.setAttribute("aria-hidden","true"),(r=(n=c(this,Tr)).onChatClose)==null||r.call(n),c(this,It)!==void 0&&gr(c(this,It),c(this,Se)))}toggleChat(){this.isChatOpen()?this.closeChat():this.showChat()}showChat(){c(this,Zr).close(),this.openChat()}pulseFab(e){var n;(n=c(this,Yn))==null||n.setAttribute("data-pulse",e?"1":"0")}};Se=new WeakMap,It=new WeakMap,Yn=new WeakMap,Za=new WeakMap,sl=new WeakMap,_t=new WeakMap,Qe=new WeakMap,cl=new WeakMap,ll=new WeakMap,Qa=new WeakMap,Ja=new WeakMap,qr=new WeakMap,ki=new WeakMap,es=new WeakMap,ts=new WeakMap,Zr=new WeakMap,Tr=new WeakMap,ns=new WeakMap,dl=new WeakMap,Iu=new WeakMap,Uo=new WeakMap,ul=new WeakMap,hn=new WeakSet,Wh=function(){var e,n;return iT(c(this,Iu),(n=(e=c(this,ns))==null?void 0:e.account)!=null?n:{signedIn:!1})},_T=function(){let e=E(this,hn,Wh).call(this);c(this,Se)===void 0||e===c(this,Uo)||(h(this,Uo,e),ST(c(this,Se),c(this,dl),e))},xT=function(){let e=c(this,Se);if(e===void 0)return;let n=(o,a)=>{let s=e.querySelector(`[${o}]`);s==null||s.setAttribute("data-active",a?"1":"0"),s==null||s.setAttribute("aria-pressed",a?"true":"false")};n(Wf,e.getAttribute(ot)==="1"),n(eu,e.getAttribute(Ye)==="1");let r=e.querySelector("[data-reticle-chat-impact]");if(r!==null){let o=e.getAttribute(un)==="1";r.setAttribute("data-active",o?"1":"0"),c(this,Qe).setImpactOpen(o),o?r.setAttribute("aria-current","page"):r.removeAttribute("aria-current")}},CI=function(){h(this,Qa,!0),window.setTimeout(()=>{h(this,Qa,!1)},KF)},zh=new WeakMap,Yh=new WeakMap});function LI(t){var r,o;let e=(r=t.startMs)!=null?r:t.now,n={reads:0,acts:0,narrations:0,human:0,passes:0,fails:0};for(let a of t.runLog)a.kind===Fe.READ?n.reads+=1:a.kind===Fe.ACT?n.acts+=1:a.kind===Fe.NARRATION?n.narrations+=1:a.kind===Fe.HUMAN&&(n.human+=1),a.result===Tn.PASS?n.passes+=1:a.result===Tn.FAIL&&(n.fails+=1);return{session:t.sessionId,url:typeof location=="undefined"?"":location.href,state:t.state,startedMs:e,durationMs:Math.max(0,((o=t.endMs)!=null?o:t.now)-e),counts:n,capabilities:si(),log:t.runLog.map(a=>({...a}))}}var kI=S(()=>{"use strict";wo();ci()});function DI(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function MI(t,e){t!==void 0&&(t.style.left=`${String(e.left-4)}px`,t.style.top=`${String(e.top-4)}px`,t.style.width=`${String(e.width+8)}px`,t.style.height=`${String(e.height+8)}px`,t.setAttribute("data-on","1"),ee(()=>t.setAttribute("data-on","0"),700))}function $I(t,e,n){if(t===void 0)return;let r=document.createElement("div");r.setAttribute("data-reticle-ripple",""),r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,t.appendChild(r),ee(()=>r.remove(),520)}function vT(t){return new Promise(e=>ee(e,t))}var PI=S(()=>{"use strict";lt()});var Sr,rs,_r,xr,Di,pl,fl,os,Cu,hl,Lu,Xn,HI,RT,NT,UI,Xh,FI=S(()=>{"use strict";H();lt();ut();Xh=class{constructor(e){b(this,Xn);b(this,Sr,pr.IDLE);b(this,rs,0);b(this,_r);b(this,xr);b(this,Di);b(this,pl);b(this,fl);b(this,os);b(this,Cu);b(this,hl);b(this,Lu);h(this,fl,e.now),h(this,os,e.idleAfterMs),h(this,Cu,e.glowFadeMs),h(this,hl,e.borderMode),h(this,Lu,e.setMode)}setElements(e,n){h(this,Di,e),h(this,pl,n)}phase(){return c(this,Sr)}lastActivityMs(){return c(this,rs)}resetActivity(e){h(this,rs,e)}markActivity(e=c(this,fl).call(this)){h(this,rs,e),(c(this,Sr)===pr.IDLE||c(this,Sr)===pr.FADING)&&E(this,Xn,HI).call(this),E(this,Xn,RT).call(this)}scheduleIdle(){E(this,Xn,RT).call(this)}teardown(){c(this,_r)!==void 0&&Te(c(this,_r)),c(this,xr)!==void 0&&Te(c(this,xr)),h(this,_r,void 0),h(this,xr,void 0)}};Sr=new WeakMap,rs=new WeakMap,_r=new WeakMap,xr=new WeakMap,Di=new WeakMap,pl=new WeakMap,fl=new WeakMap,os=new WeakMap,Cu=new WeakMap,hl=new WeakMap,Lu=new WeakMap,Xn=new WeakSet,HI=function(){var e,n,r;c(this,xr)!==void 0&&(Te(c(this,xr)),h(this,xr,void 0)),h(this,Sr,pr.BUSY),c(this,hl)===Ma.SESSION?(e=c(this,Di))==null||e.setAttribute(Jd,Tw):(n=c(this,Di))==null||n.setAttribute(Wt,Oo),(r=c(this,pl))==null||r.setAttribute(Wt,Oo)},RT=function(){c(this,_r)!==void 0&&Te(c(this,_r)),h(this,_r,ee(()=>E(this,Xn,NT).call(this),c(this,os)))},NT=function(){if(h(this,_r,void 0),c(this,Sr)!==pr.BUSY)return;let e=c(this,fl).call(this)-c(this,rs);if(e<c(this,os)){h(this,_r,ee(()=>E(this,Xn,NT).call(this),c(this,os)-e));return}E(this,Xn,UI).call(this)},UI=function(){var e,n,r;h(this,Sr,pr.FADING),c(this,hl)===Ma.SESSION?(e=c(this,Di))==null||e.setAttribute(Jd,jf):(n=c(this,Di))==null||n.setAttribute(Wt,Si),(r=c(this,pl))==null||r.setAttribute(Wt,Si),c(this,Lu).call(this,je.IDLE),h(this,xr,ee(()=>{h(this,xr,void 0),c(this,Sr)===pr.FADING&&h(this,Sr,pr.IDLE)},c(this,Cu)))}});function GI(t,e,n){let r=YF(e);if(t===void 0)return r;if(r.passes===0&&r.fails===0)return t.setAttribute("hidden",""),t.replaceChildren(),r;let o=t.ownerDocument;t.removeAttribute("hidden"),t.className="reticle-tally reticle-pill-group reticle-head-ctl",t.replaceChildren();let a=o.createElement("span");if(a.className="reticle-t-pass reticle-pill-segment",r.passes===0&&a.setAttribute("data-z","1"),r.passes>n.passes&&a.setAttribute("data-bump","1"),a.append(Fr(Y.CHECK,pe.TALLY)),r.passes>0){let d=o.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.passes),a.append(d)}let s=o.createElement("span");s.className="reticle-pill-sep",s.setAttribute("aria-hidden","true");let l=o.createElement("span");if(l.className="reticle-t-fail reticle-pill-segment",r.fails===0&&l.setAttribute("data-z","1"),r.fails>n.fails&&l.setAttribute("data-bump","1"),l.append(Fr(Y.REMOVE,pe.TALLY)),r.fails>0){let d=o.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.fails),l.append(d)}return t.append(a,s,l),r}function YF(t){let e=0,n=0;for(let r of t)r.result===Tn.PASS?e+=1:r.result===Tn.FAIL&&(n+=1);return{passes:e,fails:n}}var BI=S(()=>{"use strict";wo();ur()});function KI(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(VI))continue;let n=e.name.slice(VI.length),r=qw.includes(n)?`${n}.${e.value}`:n;if(Zw(r))return r}}function qF(t){for(let e of t)if(e instanceof Element&&KI(e)!==void 0)return e}function wT(t){let e=ZF(t);return en.BUBBLE===e.view||t.querySelector(`[${yi}]:not([hidden])`)===null?e:{view:e.view,panel:vt.ACCOUNT}}function ZF(t){if(t.getAttribute(ke)==="1")return{view:en.BUBBLE,panel:vt.NONE};if(t.getAttribute(Ye)==="1")return{view:en.EXPANDED,panel:vt.SETTINGS};if(t.getAttribute(un)==="1")return{view:en.EXPANDED,panel:vt.REPORT};let e=t.getAttribute(jI);return e==="flows"?{view:en.EXPANDED,panel:vt.FLOWS}:e==="annotations"?{view:en.EXPANDED,panel:vt.NOTES}:e==="harness"?{view:en.EXPANDED,panel:vt.HARNESS}:t.getAttribute(ot)==="1"?{view:en.EXPANDED,panel:vt.CHAT}:{view:en.COLLAPSED,panel:vt.NONE}}function WI(t,e,n){let r=g=>{try{n(g)}catch{}},o=g=>{var y;let T=qF(g.composedPath());if(T===void 0||!Gs(T))return;let _=KI(T);if(_!==void 0){if(!XF.has((y=T.getAttribute("role"))!=null?y:"")){r({control:_});return}ee(()=>{let A=T.getAttribute("aria-checked")==="true";r({control:_,toggle:A?zl.ON:zl.OFF})},0)}},a="",s=()=>{let g=wT(e),T=`${g.view}/${g.panel}`;T!==a&&(a=T,r(g))},l="",d=()=>{var _;if(vt.CHAT!==wT(e).panel)return;let g=e.querySelector(`[${Nu}]:not([hidden])`),T=(_=g==null?void 0:g.getAttribute(Nu))!=null?_:"";T.length===0||T===l||(l=T,r({slide:T}))},u=new Set,p=()=>{let g=wT(e);for(let T of QF){if(u.has(T.surface)||!T.shown(g))continue;let _=e.querySelector(T.selector);_===null||!JF(_)||(u.add(T.surface),r({prompt:T.surface}))}},f=new MutationObserver(()=>{d(),s(),p()});f.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-active","hidden"]}),t.addEventListener("click",o,!0);let m=new MutationObserver(g=>{s(),0<g.length&&d(),p()});return m.observe(e,{attributes:!0,attributeFilter:[ke,ot,Ye,un,jI]}),s(),p(),()=>{t.removeEventListener("click",o,!0),m.disconnect(),f.disconnect()}}var VI,jI,XF,QF,JF,zI=S(()=>{"use strict";Lc();H();at();lt();ut();Hh();Br();Ah();Bh();VI="data-reticle-",jI="data-reticle-page-open",XF=new Set(["switch","checkbox"]);QF=[{surface:Jo.RAIL,selector:`[${Fh}]`,shown:t=>en.EXPANDED===t.view},{surface:Jo.HARNESS,selector:`[data-reticle-page-panel="harness"] :is([${wt}],[${bu}])`,shown:t=>vt.HARNESS===t.panel},{surface:Jo.HEADER,selector:`[${lu}]`,shown:t=>en.BUBBLE!==t.view}],JF=t=>t.closest("[hidden]")===null});function YI(){var t;try{let e=JSON.parse((t=globalThis.sessionStorage.getItem(OT))!=null?t:"[]");return Array.isArray(e)?e.filter(n=>typeof n=="object"&&n!==null&&typeof n.text=="string"&&typeof n.kind=="string"&&typeof n.ts=="string"&&typeof n.at=="number"):[]}catch{return[]}}function ku(t){try{globalThis.sessionStorage.setItem(OT,JSON.stringify(t))}catch{}}function XI(t){try{let e=t!=null?t:"",n=globalThis.sessionStorage.getItem(st.PRESENTER_LOG_OWNER);return globalThis.sessionStorage.setItem(st.PRESENTER_LOG_OWNER,e),n===null||n===e?!1:(globalThis.sessionStorage.removeItem(OT),!0)}catch{return!1}}var OT,qI=S(()=>{"use strict";Lr();OT=st.PRESENTER_LOG});var aC={};bs(aC,{GlowPhase:()=>pr,LOG_KIND:()=>Fe,LOG_RESULT:()=>Tn,Presenter:()=>IT});var eG,gl,De,Fo,as,Du,ss,Ar,El,bl,$i,Go,cs,Tl,Sl,Rn,_l,Mu,ls,Nn,Qr,$u,Ct,xl,Pu,Hu,ds,Jr,yr,wn,qn,Zn,Uu,Pi,Fu,Qn,eo,On,Al,yl,In,we,vl,K,ZI,QI,is,CT,JI,eC,Mi,LT,tC,nC,kT,rC,oC,DT,ml,iC,IT,sC=S(()=>{"use strict";H();Rt();TE();LE();lt();wo();uI();yT();Ah();Br();yh();au();iu();ut();kI();PI();FI();ur();BI();sT();$c();yT();zI();Eh();qI();ut();wo();eG=1600,IT=class{constructor(e={}){b(this,K);b(this,gl);b(this,De);b(this,Fo);b(this,as);b(this,Du);b(this,ss);b(this,Ar);b(this,El);b(this,bl);b(this,$i);b(this,Go);b(this,cs);b(this,Tl,{passes:0,fails:0});b(this,Sl,je.IDLE);b(this,Rn);b(this,_l);b(this,Mu);b(this,ls);b(this,Nn);b(this,Qr,"");b(this,$u);b(this,Ct);b(this,xl);b(this,Pu);b(this,Hu);b(this,ds);b(this,Jr,[]);b(this,yr,!1);b(this,wn);b(this,qn);b(this,Zn);b(this,Uu);b(this,Pi);b(this,Fu,new gh);b(this,Qn,[]);b(this,eo);b(this,On);b(this,Al);b(this,yl);b(this,In);b(this,we);b(this,vl);var n,r,o,a,s,l,d,u,p;h(this,gl,Sw(e.paceMs)),h(this,Rn,(n=e.now)!=null?n:af),h(this,_l,(r=e.heartbeatMs)!=null?r:xw),h(this,Mu,(o=e.idleNoticeMs)!=null?o:Aw),h(this,xl,(a=e.idleEndMs)!=null?a:yw),h(this,Pu,(s=e.sessionId)!=null?s:""),h(this,ls,(l=e.border)!=null?l:bw),h(this,Nn,new Xh({now:c(this,Rn),idleAfterMs:(d=e.idleAfterMs)!=null?d:_w,glowFadeMs:(u=e.glowFadeMs)!=null?u:Rw,borderMode:c(this,ls),setMode:f=>this.setMode(f)})),h(this,wn,eb(e.logMax)),h(this,On,e.onControl),h(this,Al,e.onHudUse),h(this,In,new Mh({emit:(f,m)=>{var g;return(g=c(this,On))==null?void 0:g.call(this,m!==void 0?{kind:f,text:m}:{kind:f})},logHuman:f=>{this.log(Fe.HUMAN,f)},endedFadeMs:(p=e.endedFadeMs)!=null?p:wO,runState:()=>this.runState(),clearRunLog:()=>E(this,K,kT).call(this),onStateChange:()=>E(this,K,is).call(this)})),h(this,we,new Ou({onChatOpen:()=>c(this,we).pulseFab(!1),onExpand:()=>E(this,K,is).call(this),onAnnotateToggle:()=>E(this,K,is).call(this),onCollapse:()=>E(this,K,is).call(this),onSyncNow:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.SYNC})},onSignIn:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.SIGNIN})},onHarness:f=>{var m;return(m=c(this,On))==null?void 0:m.call(this,{kind:Ht.HARNESS,text:f?"on":"off"})},onHarnessRun:f=>{var m;return(m=c(this,On))==null?void 0:m.call(this,{kind:Ht.HARNESS_RUN,...f===void 0?{}:{text:f}})},onHarnessStop:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.HARNESS_STOP})},onHarnessLink:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.HARNESS_LINK})},settings:{onBeforeOpen:()=>{c(this,we).isCollapsed()&&c(this,we).expand()},onHideUntilRestart:()=>E(this,K,rC).call(this),onKill:()=>{var f;return(f=e.onKill)==null?void 0:f.call(e)},onSettingsChange:f=>E(this,K,oC).call(this,f),onHarness:f=>{var m;return(m=c(this,On))==null?void 0:m.call(this,{kind:Ht.HARNESS,text:f?"on":"off"})}}})),c(this,we).setProjectId(e.projectId)}setControlHandler(e){h(this,On,e)}get state(){return c(this,In).state}get sessionActive(){return c(this,yr)}setState(e,n,r){c(this,In).setState(e,n,r)}refilterFlows(){c(this,In).refilterFlows()}showSdkVersion(e){c(this,De)!==void 0&&Ob(c(this,De),e)}handlePush(e){var s;let n=e.args;if(e.name===L.FLOWS)return void c(this,In).setFlows(n.flows);if(e.name===L.FLOW_PROGRESS)return void c(this,In).setFlowProgress(n);if(e.name===L.PLAN){let l=F0(n);l!==void 0&&c(this,Fu).paint(l);return}if(e.name===L.IMPACT){let l=rO(n.snapshot);if(l!==void 0){c(this,we).report.setSnapshot(l),c(this,we).paintNotices(l.notices),c(this,we).paintHarness(l.harnessConfig,z0(l.instrumentation,l.harnessConfig)),c(this,we).paintHarnessDrive(l.harnessDrive),E(this,K,eC).call(this,l.harnessDrive),c(this,we).paintAgent(l.agent),c(this,we).paintImpact(l.project.counts.verdicts);let d=((s=l.account)==null?void 0:s.signedIn)===!0?l.account.email:void 0;XI(d)&&E(this,K,kT).call(this),c(this,we).paintAccount(l.account,l.dashboardUrl,{projectName:l.projectName,dashboardUrl:l.dashboardUrl,verdicts:l.project.counts.verdicts,defects:l.project.counts.failed,...l0(l.harnessConfig,l.sync)})}return}let r=n.state,o=n.tone,a=typeof n.text=="string"&&n.text.length>0?n.text:void 0;N_(r)&&this.setState(r,a,dx(o)?o:void 0)}get logMax(){return c(this,wn)}set logMax(e){h(this,wn,eb(e)),E(this,K,iC).call(this)}mount(){var o,a,s,l,d,u,p,f,m,g,T,_;if(c(this,De)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute("data-reticle-overlay",""),e.textContent=dI,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute("data-reticle-overlay","");let r=`<div class="reticle-act-strip" data-liveness="idle"><span class="reticle-act-dot" aria-hidden="true"></span><span class="reticle-act">${fr.READY}</span>${CO}<span class="reticle-chip" data-reticle-chip></span><div class="reticle-act-actions">${IO}</div></div>`;n.innerHTML=`
|
|
1685
|
+
${Cb()}
|
|
1243
1686
|
<div data-reticle-glow></div>
|
|
1244
1687
|
<div data-reticle-cursor></div>
|
|
1245
1688
|
<div data-reticle-ring></div>
|
|
1246
|
-
${bl.dockHtml(r,wy,Zc,Cy+Iy,Ly)}`,document.body.appendChild(n),p(this,Ce,n),p(this,$r,n.querySelector("[data-reticle-glow]")??void 0),p(this,Fi,n.querySelector("[data-reticle-cursor]")??void 0),p(this,Al,n.querySelector("[data-reticle-ring]")??void 0),p(this,Bi,n.querySelector("[data-reticle-hud]")??void 0),p(this,Ur,n.querySelector(".reticle-act")??void 0),p(this,xa,n.querySelector(".reticle-act-strip")??void 0),p(this,Aa,n.querySelector("[data-reticle-chat-pill-text]")??void 0),p(this,No,n.querySelector("[data-reticle-chat-pill-time]")??void 0),p(this,kn,n.querySelector(`[${Zc}]`)??void 0),p(this,Hr,n.querySelector("[data-reticle-chip]")??void 0),p(this,Gi,n.querySelector("[data-reticle-tally]")??void 0),c(this,Ie).mount(n),ul(n,Bt(),!1),c(this,Kt).setElements(c(this,$r),c(this,Fi)),c(this,Wt).mount(n,c(this,$r)),c(this,Oa)!==void 0&&p(this,wa,ZR(document,n,c(this,Oa))),this.setMode(c(this,Ra)),h(this,Y,_a).call(this)}bindAnnotator(e){p(this,Ca,e);let n=c(this,Ce);if(n===void 0)return;let r=n.querySelector(`[${bu}]`),i=n.querySelector(`[${Tu}]`),s=n.querySelector(`[${IA}]`),a=n.querySelector(`[${_u}]`),l=n.querySelector(`[${Su}]`),d={};l instanceof HTMLElement&&(d.copyRow=l);let u=e.markCount;d.onCount=f=>{u===0&&f>0&&c(this,Ie).openChat(),u=f},a instanceof HTMLElement&&a.addEventListener("click",f=>{f.stopPropagation(),h(this,Y,JR).call(this,e,a)}),r instanceof HTMLElement&&(d.markersBtn=r),i instanceof HTMLElement&&(d.clearBtn=i),s instanceof HTMLElement&&(d.countEl=s),e.attachChrome(d),e.setAccent(dl(Bt().statusThemeId).active),h(this,Y,Ta).call(this)}destroy(){var e;c(this,Kt).teardown(),c(this,dt)!==void 0&&pe(c(this,dt)),p(this,dt,void 0),(e=c(this,wa))==null||e.call(this),p(this,wa,void 0),c(this,Ie).teardown(),c(this,Wt).teardown(),p(this,Ln,!1),p(this,Oo,void 0),p(this,kn,void 0),c(this,Ce)?.remove(),document.querySelectorAll("style[data-reticle-overlay]").forEach(n=>n.remove()),p(this,Ce,void 0)}sessionStart(){if(this.state===Re.ENDED){h(this,Y,ev).call(this);return}c(this,Ln)||($h===c(this,Ce)?.getAttribute(Eu)&&c(this,Ce).removeAttribute(Eu),p(this,Ln,!0),c(this,vl)??p(this,vl,c(this,pn).call(this)),p(this,Vi,void 0),h(this,Y,Vm).call(this),c(this,Kt).resetActivity(c(this,pn).call(this)),h(this,Y,Km).call(this),$m(Bt().autoOpenChat)&&c(this,Ie).openChat())}showUnreachable(e,n){if(c(this,Ln))return;c(this,Ce)?.setAttribute(Eu,$h),c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,Cr),c(this,Bi)?.setAttribute(St,Cr),p(this,Fr,sS(e,n)),h(this,Y,xl).call(this,c(this,Fr),!0),$m(Bt().autoOpenChat)&&c(this,Ie).openChat()}sessionEnd(){if(!c(this,Ln))return;p(this,Ln,!1),c(this,dt)!==void 0&&(pe(c(this,dt)),p(this,dt,void 0)),c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,bo),c(this,Bi)?.setAttribute(St,bo),c(this,Ie).collapse(),c(this,ji)===yi.SESSION&&(c(this,$r)?.setAttribute(St,bo),c(this,$r)?.setAttribute(Jc,gu))}markActivity(){c(this,Kt).markActivity()}scheduleIdle(){c(this,Kt).scheduleIdle()}glowPhase(){return c(this,Kt).phase()}get mode(){return c(this,Ra)}setMode(e){if(p(this,Ra,e),c(this,Ce)?.setAttribute("data-reticle-mode",e),c(this,Hr)!==void 0){let n=fA[e];if(c(this,Hr).setAttribute("data-mode",e),c(this,Hr).replaceChildren(),n.length>0){let r=e===Me.READING?V.VIEW:e===Me.ACTING?V.POINTER:void 0;r!==void 0&&c(this,Hr).appendChild(qn(r,ie.CHIP));let i=document.createElement("span");i.className="reticle-chip-label",i.textContent=n,c(this,Hr).appendChild(i)}}e===Me.READING&&c(this,Fi)?.setAttribute(St,bo)}status(e){this.markActivity(),c(this,No)!==void 0&&(c(this,No).textContent=Eo.NOW),p(this,Fr,e),h(this,Y,xl).call(this,e,!1)}setIdleEndMs(e){Number.isFinite(e)&&p(this,Na,Math.max(OA,Math.floor(e)))}runState(){let e=DR({sessionId:c(this,Rl),state:this.state,startMs:c(this,vl),endMs:c(this,Vi),now:c(this,pn).call(this),runLog:c(this,Br)}),n=Bt();return n.outputDetail===On.MINIMAL?{session:e.session,url:e.url,state:e.state,startedMs:e.startedMs,durationMs:e.durationMs,counts:e.counts}:n.outputDetail===On.VERBOSE&&n.reactComponents?{...e,includeReactComponents:!0}:e}log(e,n,r){let i=c(this,pn).call(this);if(c(this,Kt).markActivity(i),c(this,kn)===void 0)return;let s=n.trim();if(s.length===0)return;c(this,Oo)??p(this,Oo,i);let a=r!==void 0?{at:i-c(this,Oo),kind:e,text:s,result:r}:{at:i-c(this,Oo),kind:e,text:s};for(c(this,Br).push(a);c(this,Br).length>c(this,Gr);)c(this,Br).shift();let l=TA(i-c(this,Oo)),d=_A(c(this,kn),e,s,l,c(this,Gr));return r!==void 0&&d.result(r),c(this,Ie).isCollapsed()&&c(this,Ie).pulseFab(!0),h(this,Y,_a).call(this),{result:u=>{d.result(u),a.result=u,h(this,Y,_a).call(this)}}}narrate(e,n="info"){let r=n==="info"?e:`[${n}] ${e}`;return this.log(Ke.NARRATION,r)}setThrottled(e){c(this,Ce)?.setAttribute(PA,e?"1":"0"),e&&c(this,Ur)!==void 0&&(c(this,Ur).textContent="Tab backgrounded - actions throttled. Bring tab to front or use `reticle drive`.")}async beforeAct(e,n,r){let i=X.resolve(e);if(this.status(`${Pc(n)} ${r}`),!(i instanceof HTMLElement)){await Hm(c(this,Sa));return}let s=i.getBoundingClientRect(),a=s.left+s.width/2,l=s.top+s.height/2;PR(c(this,Fi),a,l),$R(c(this,Al),s),await Hm(c(this,Sa)),(R.CLICK===n||R.DBLCLICK===n||R.SUBMIT===n)&&UR(c(this,Ce),a,l)}};Sa=new WeakMap,Ce=new WeakMap,$r=new WeakMap,Fi=new WeakMap,Al=new WeakMap,Bi=new WeakMap,Ur=new WeakMap,xa=new WeakMap,Aa=new WeakMap,No=new WeakMap,Hr=new WeakMap,Gi=new WeakMap,ya=new WeakMap,Ra=new WeakMap,pn=new WeakMap,va=new WeakMap,yl=new WeakMap,ji=new WeakMap,Kt=new WeakMap,Fr=new WeakMap,dt=new WeakMap,Na=new WeakMap,Rl=new WeakMap,vl=new WeakMap,Vi=new WeakMap,Br=new WeakMap,Ln=new WeakMap,Gr=new WeakMap,kn=new WeakMap,Oo=new WeakMap,wo=new WeakMap,Oa=new WeakMap,wa=new WeakMap,Wt=new WeakMap,Ie=new WeakMap,Ca=new WeakMap,Y=new WeakSet,JR=function(e,n){let r=e.agentPrompt(window.location.href);navigator.clipboard?.writeText(r).catch(()=>{}),n.setAttribute("data-copied","1"),z(()=>n.removeAttribute("data-copied"),JD),Bt().clearOnCopy&&e.clearAll()},Ta=function(){let e=!c(this,Ie).isCollapsed()&&c(this,Ie).isAnnotateOn();c(this,Ca)?.toggle(e),c(this,Ce)!==void 0&&ul(c(this,Ce),Bt(),e)},Vm=function(){c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,Cr),c(this,Bi)?.setAttribute(St,Cr),c(this,ji)===yi.SESSION&&c(this,$r)?.setAttribute(St,Cr)},ev=function(){c(this,Wt).setState(Re.ACTIVE),p(this,Vi,void 0),h(this,Y,Vm).call(this),c(this,Kt).resetActivity(c(this,pn).call(this)),h(this,Y,Km).call(this)},xl=function(e,n){c(this,Ur)!==void 0&&(c(this,Ur).textContent=e);let r=n?"idle":"active";c(this,xa)!==void 0&&c(this,xa).setAttribute("data-liveness",r),c(this,Ce)?.setAttribute(rl,r),c(this,Aa)!==void 0&&(c(this,Aa).textContent=n?c(this,Fr)!==""?c(this,Fr):Eo.READY:e)},Km=function(){c(this,dt)!==void 0&&pe(c(this,dt));let e=()=>{h(this,Y,tv).call(this),p(this,dt,z(e,c(this,va)))};p(this,dt,z(e,c(this,va)))},tv=function(){if(!c(this,Ln)||c(this,Ur)===void 0||this.state===Re.ENDED)return;let e=c(this,pn).call(this)-c(this,Kt).lastActivityMs();if(e>=c(this,Na)){h(this,Y,nv).call(this,e);return}if(e<c(this,yl)||c(this,Fr)==="")return;let n=Eo.SINCE_LAST;h(this,Y,xl).call(this,`${Eo.PLANNING_PREFIX}${Qc(e)}${n}`,!0),c(this,No)!==void 0&&(c(this,No).textContent=Qc(e))},nv=function(e){p(this,Vi,c(this,pn).call(this)),c(this,Wt).setState(Re.ENDED,`${Eo.STOPPED_PREFIX}${Qc(e)} quiet`),h(this,Y,xl).call(this,Eo.STOPPED,!1),c(this,dt)!==void 0&&(pe(c(this,dt)),p(this,dt,void 0))},rv=function(){p(this,Br,[]),p(this,ya,{passes:0,fails:0}),c(this,kn)!==void 0&&bA(c(this,kn)),h(this,Y,_a).call(this)},ov=function(){c(this,Ce)?.setAttribute("data-reticle-hidden","1"),c(this,Ie).collapse()},iv=function(e){if(c(this,Ca)?.setAccent(dl(e.statusThemeId).active),e.showTally?h(this,Y,_a).call(this):c(this,Gi)?.setAttribute("hidden",""),c(this,Ce)!==void 0){let n=Re.ACTIVE===c(this,Wt).state&&!c(this,Ie).isCollapsed();ul(c(this,Ce),e,n)}},_a=function(){if(!Bt().showTally){c(this,Gi)?.setAttribute("hidden","");return}p(this,ya,jR(c(this,Gi),c(this,Br),c(this,ya)))},sv=function(){c(this,kn)!==void 0&&Mh(c(this,kn),c(this,Gr))}});var Ue,lv,dv,uv,pv=T(()=>{"use strict";Ue={NONE:"none",HUD:"hud",APP:"app",HUD_CHAT:"hud-chat",HUD_ANNOTATE:"hud-annotate",HUD_IMPACT:"hud-impact",HUD_SETTINGS:"hud-settings"},lv=[{label:"Verify one flow",text:"verify the login flow with Reticle, and tell me the verdict"},{label:"Check what is proved",text:"/reticle"},{label:"Let it loose",text:"monkey-test the checkout flow with Reticle and tell me what breaks"}],dv=[{id:"connect",title:"Yayyy! It is connected",say:"That panel is Reticle. Seeing it is your proof the SDK is connected to your app.",why:"It only mounts on a connected session, so it cannot show up without one. Having the tools is not the same as being set up.",call:'reticle_session { action: "list" }',anchor:Ue.HUD},{id:"look",title:"Look, without pixels",say:"Take a semantic snapshot. You get the controls and their refs, not pixels, so you can point at things by name.",why:"A ref is stable across snapshots, which is what lets you plan several steps before spending any of them.",call:'reticle_look { action: "page" }',anchor:Ue.APP},{id:"declare",title:"Say it first",say:'Decide what should happen BEFORE you touch anything. "Clicking Pay makes the receipt appear" is a claim that can be wrong.',why:"This is the whole idea. A consequence named first is a check; the same sentence written after the fact is a rationalisation, and it is the difference between a verdict and a story.",call:'until: { signal: "order:placed" } // a consequence \u2014 not until: { ms: 500 }',anchor:Ue.NONE},{id:"verdict",title:"Act, and prove it",say:"Act and prove in one call. The answer says verified yes / no / unknown, and `because` names the evidence that decided it.",why:'Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. A drive that ends without one has no result, however many tools it used \u2014 and "unknown" is an honest answer, not a pass.',call:'reticle_act_and_wait { ref, action: "click", until: { signal: "order:placed" } }',anchor:Ue.HUD}],uv=[{id:"hud-chat",title:"Activity Panel",say:"Watch what your agent is doing in your app, as it happens.",anchor:Ue.HUD_CHAT,tryIt:"Open it."},{id:"hud-annotate",title:"Annotate",say:"Click anywhere in your app to drop a numbered pin with a note. Hand the pins to your agent and it fixes them.",anchor:Ue.HUD_ANNOTATE,tryIt:"Turn it on, then click something in your app."},{id:"hud-impact",title:"What's the impact?",say:"Everything Reticle has done here. Every bug it caught, every metric.",anchor:Ue.HUD_IMPACT,tryIt:"Take a look."},{id:"hud-settings",title:"Make it yours",say:"Change how Reticle looks and behaves.",anchor:Ue.HUD_SETTINGS,tryIt:"Open it."}]});var Wm=T(()=>{"use strict";pv()});function qm(){return[...zm.map(t5),{index:e5,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Ue.NONE,prompts:lv}]}function Nl(t){return t.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")}function n5(t){return Nl(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function Xm(t,e){let n=t+e;return n<0?0:n>ep-1?ep-1:n}function Ev(t,e,n){let r=Math.max(0,t.left),i=Math.max(0,t.top),s=Math.min(e,t.left+t.width),a=Math.min(n,t.top+t.height);return[{left:0,top:0,width:e,height:i},{left:0,top:a,width:e,height:n-a},{left:0,top:i,width:r,height:a-i},{left:s,top:i,width:e-s,height:a-i}].filter(d=>d.width>0&&d.height>0)}function bv(t){let e=qm().map(a=>`<span class="reticle-tour-dot${a.index===t.index?" is-on":""}" aria-hidden="true"></span>`).join(""),n=t.tryIt===void 0?"":`<p class="reticle-tour-try" ${jr}="try">${Nl(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((a,l)=>`<div class="reticle-tour-prompt" ${Ol}="${String(l)}"><span class="reticle-tour-prompt-label">${Nl(a.label)}</span><pre class="reticle-tour-prompt-text">${Nl(a.text)}</pre><button type="button" class="reticle-tour-copy" ${jr}="copy" ${Ol}="${String(l)}">${Ym}</button></div>`).join("")+"</div>",i=t.index===0?"":`<button type="button" class="reticle-tour-back" ${jr}="back">Back</button>`,s=Zm(t.index)?`<button type="button" class="reticle-tour-next" ${jr}="done">Done</button>`:`<button type="button" class="reticle-tour-next" ${jr}="next">Next</button>`;return`<div class="reticle-tour-card" role="dialog" aria-modal="false" aria-label="Reticle tour"><button type="button" class="reticle-tour-skip" ${jr}="skip" aria-label="Skip the tour">Skip</button><p class="reticle-tour-step">Step ${String(t.index+1)} of ${String(ep)}</p><h2 class="reticle-tour-title">${Nl(t.title)}</h2><p class="reticle-tour-body">${n5(t.body)}</p>`+n+r+`<div class="reticle-tour-foot"><div class="reticle-tour-dots">${e}</div><div class="reticle-tour-nav">${i}${s}</div></div></div>`}var zm,e5,ep,ee,jr,Ol,Ym,fv,hv,mv,t5,gv,Zm,Tv,_v=T(()=>{"use strict";Wm();zm=[...dv.slice(0,1),...uv],e5=zm.length,ep=zm.length+1,ee="data-reticle-tour",jr="data-reticle-tour-target",Ol="data-reticle-tour-prompt",Ym="Copy",fv="Copied",hv="Selected \u2014 press Ctrl/Cmd+C",mv=1600,t5=(t,e)=>({index:e,title:t.title,body:t.say,anchor:t.anchor??Ue.NONE,...t.tryIt===void 0?{}:{tryIt:t.tryIt}}),gv=t=>t.tryIt!==void 0;Zm=t=>t===ep-1;Tv=`
|
|
1247
|
-
[${
|
|
1689
|
+
${Ou.dockHtml(r,"",JE,LO,kO)}`,document.body.appendChild(n),h(this,De,n),h(this,Fo,(o=n.querySelector("[data-reticle-glow]"))!=null?o:void 0),h(this,as,(a=n.querySelector("[data-reticle-cursor]"))!=null?a:void 0),h(this,Du,(s=n.querySelector("[data-reticle-ring]"))!=null?s:void 0),h(this,ss,(l=n.querySelector("[data-reticle-hud]"))!=null?l:void 0),h(this,Ar,(d=n.querySelector(".reticle-act"))!=null?d:void 0),h(this,El,(u=n.querySelector(".reticle-act-strip"))!=null?u:void 0),h(this,bl,(p=n.querySelector("[data-reticle-chat-pill-text]"))!=null?p:void 0),h(this,$i,(f=n.querySelector("[data-reticle-chat-pill-time]"))!=null?f:void 0),h(this,qn,(m=n.querySelector(`[${JE}]`))!=null?m:void 0),h(this,Zn,(g=n.querySelector(`[${xh}]`))!=null?g:void 0),h(this,Go,(T=n.querySelector("[data-reticle-chip]"))!=null?T:void 0),h(this,cs,(_=n.querySelector("[data-reticle-tally]"))!=null?_:void 0),c(this,we).mount(n),hh(n,yn(),!1),c(this,Nn).setElements(c(this,Fo),c(this,as)),c(this,In).mount(n,c(this,Fo)),c(this,Fu).mount(n),c(this,Al)!==void 0&&h(this,yl,WI(document,n,c(this,Al))),this.setMode(c(this,Sl)),E(this,K,ZI).call(this),E(this,K,ml).call(this)}bindAnnotator(e){h(this,vl,e);let n=c(this,De);if(n===void 0)return;let r=n.querySelector(`[${zf}]`),o=n.querySelector(`[${Yf}]`),a=n.querySelector(`[${ww}]`),s=n.querySelector(`[${Xf}]`),l=n.querySelector(`[${qf}]`),d={};l instanceof HTMLElement&&(d.copyRow=l);let u=e.markCount;d.onCount=p=>{u===0&&p>0&&c(this,we).openView("annotations"),u=p},d.onMarksChange=p=>c(this,we).paintAnnotations(p),s instanceof HTMLElement&&s.addEventListener("click",p=>{p.stopPropagation(),E(this,K,QI).call(this,e,s)}),r instanceof HTMLElement&&(d.markersBtn=r),o instanceof HTMLElement&&(d.clearBtn=o),a instanceof HTMLElement&&(d.countEl=a),e.attachChrome(d),e.setAccent(fu(yn().statusThemeId).active),E(this,K,is).call(this)}destroy(){var e,n;c(this,Nn).teardown(),c(this,Ct)!==void 0&&Te(c(this,Ct)),h(this,Ct,void 0),(e=c(this,yl))==null||e.call(this),h(this,yl,void 0),c(this,we).teardown(),c(this,In).teardown(),h(this,yr,!1),h(this,eo,void 0),h(this,qn,void 0),h(this,Zn,void 0),h(this,Qn,[]),ku([]),(n=c(this,De))==null||n.remove(),document.querySelectorAll("style[data-reticle-overlay]").forEach(r=>r.remove()),h(this,De,void 0)}sessionStart(){var e,n;if(this.state===Me.ENDED){E(this,K,JI).call(this);return}c(this,yr)||(nb===((e=c(this,De))==null?void 0:e.getAttribute(Kf))&&c(this,De).removeAttribute(Kf),h(this,yr,!0),(n=c(this,Hu))!=null||h(this,Hu,c(this,Rn).call(this)),h(this,ds,void 0),E(this,K,CT).call(this),c(this,Nn).resetActivity(c(this,Rn).call(this)),E(this,K,LT).call(this),AT(yn().autoOpenChat)&&c(this,we).openChat())}showUnreachable(e,n){var o,a,s,l;if(c(this,yr))return;(o=c(this,De))==null||o.setAttribute(Kf,nb);let r=(a=c(this,De))==null?void 0:a.querySelector("[data-reticle-dock]");r==null||r.setAttribute(Wt,Oo),(s=c(this,ss))==null||s.setAttribute(Wt,Oo),h(this,Qr,Jv),E(this,K,Mi).call(this,c(this,Qr),!0),(l=c(this,Ar))==null||l.setAttribute("title",Af(e,n)),AT(yn().autoOpenChat)&&c(this,we).openChat()}sessionEnd(){var n,r,o,a;if(!c(this,yr))return;h(this,yr,!1),c(this,Ct)!==void 0&&(Te(c(this,Ct)),h(this,Ct,void 0));let e=(n=c(this,De))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(Wt,Si),(r=c(this,ss))==null||r.setAttribute(Wt,Si),c(this,we).collapse(),c(this,ls)===Ma.SESSION&&((o=c(this,Fo))==null||o.setAttribute(Wt,Si),(a=c(this,Fo))==null||a.setAttribute(Jd,jf))}markActivity(){c(this,Nn).markActivity()}scheduleIdle(){c(this,Nn).scheduleIdle()}glowPhase(){return c(this,Nn).phase()}get mode(){return c(this,Sl)}setMode(e){var n,r;if(h(this,Sl,e),(n=c(this,De))==null||n.setAttribute("data-reticle-mode",e),c(this,Go)!==void 0){let o=pw[e];if(c(this,Go).setAttribute("data-mode",e),c(this,Go).replaceChildren(),o.length>0){let a=e===je.READING?Y.VIEW:e===je.ACTING?Y.POINTER:void 0;a!==void 0&&c(this,Go).appendChild(Fr(a,pe.CHIP));let s=document.createElement("span");s.className="reticle-chip-label",s.textContent=o,c(this,Go).appendChild(s)}}e===je.READING&&((r=c(this,as))==null||r.setAttribute(Wt,Si))}status(e){this.markActivity(),c(this,$i)!==void 0&&(c(this,$i).textContent=fr.NOW),h(this,Qr,e),E(this,K,Mi).call(this,e,!1)}placeHud(e,n){let r=c(this,De);if(r===void 0)return[];let o=[];if(En.REMOVED===e)return this.destroy(),[e];En.HIDDEN===e&&r.setAttribute(Nc,"1"),En.SHOWN===e&&r.removeAttribute(Nc),e!==void 0&&o.push(e);let a=r.querySelector(`[${D}]`);if(n!==void 0&&a instanceof HTMLElement){if(Ep.BOTTOM_RIGHT===n)ru(a);else{let s=Cc(a),l=n.endsWith("left")?0:window.innerWidth,d=n.startsWith("top")?0:window.innerHeight,u=Ic(l,d,s.width,s.height,window.innerWidth,window.innerHeight);xi(a,u.left,u.top)}o.push(n),gr(a,r)}return o}setIdleEndMs(e){Number.isFinite(e)&&h(this,xl,Math.max(vw,Math.floor(e)))}runState(){let e=LI({sessionId:c(this,Pu),state:this.state,startMs:c(this,Hu),endMs:c(this,ds),now:c(this,Rn).call(this),runLog:c(this,Jr)}),n=yn();return n.outputDetail===Er.MINIMAL?{session:e.session,url:e.url,state:e.state,startedMs:e.startedMs,durationMs:e.durationMs,counts:e.counts}:n.outputDetail===Er.VERBOSE&&n.reactComponents?{...e,includeReactComponents:!0}:e}log(e,n,r,o,a=!1){var g;let s=c(this,Rn).call(this);if(c(this,Nn).markActivity(s),h(this,$u,o),c(this,qn)===void 0)return;let l=n.trim();if(l.length===0)return;(g=c(this,eo))!=null||h(this,eo,s);let d=r!==void 0?{at:s-c(this,eo),kind:e,text:l,result:r}:{at:s-c(this,eo),kind:e,text:l};for(c(this,Jr).push(d);c(this,Jr).length>c(this,wn);)c(this,Jr).shift();let u=Ew(s-c(this,eo)),p=E(this,K,DT).call(this,o,a).map(T=>tb(T,e,l,u,c(this,wn),o)),f={result:T=>p.forEach(_=>_.result(T))};r!==void 0&&f.result(r);let m={kind:e,text:l,ts:u,at:s-c(this,eo),...o===void 0?{}:{actor:o},...a?{summary:!0}:{},...r===void 0?{}:{result:r}};for(c(this,Qn).push(m);c(this,Qn).length>c(this,wn);)c(this,Qn).shift();return ku(c(this,Qn)),c(this,we).isCollapsed()&&c(this,we).pulseFab(!0),E(this,K,ml).call(this),{result:T=>{f.result(T),d.result=T,m.result=T,ku(c(this,Qn)),E(this,K,ml).call(this)}}}narrate(e,n="info",r=ln.AGENT,o=!1){let a=n==="info"?e:`[${n}] ${e}`;return this.log(Fe.NARRATION,a,void 0,r,o)}setThrottled(e){var n;(n=c(this,De))==null||n.setAttribute(kw,e?"1":"0"),e&&c(this,Ar)!==void 0&&(c(this,Ar).textContent="Tab backgrounded - actions throttled. Bring tab to front or use `reticle drive`.")}async beforeAct(e,n,r){let o=J.resolve(e);if(this.status(`${$d(n)} ${r}`),!(o instanceof HTMLElement)){await vT(c(this,gl));return}let a=o.getBoundingClientRect(),s=a.left+a.width/2,l=a.top+a.height/2;DI(c(this,as),s,l),MI(c(this,Du),a),await vT(c(this,gl)),(k.CLICK===n||k.DBLCLICK===n||k.SUBMIT===n)&&$I(c(this,De),s,l)}};gl=new WeakMap,De=new WeakMap,Fo=new WeakMap,as=new WeakMap,Du=new WeakMap,ss=new WeakMap,Ar=new WeakMap,El=new WeakMap,bl=new WeakMap,$i=new WeakMap,Go=new WeakMap,cs=new WeakMap,Tl=new WeakMap,Sl=new WeakMap,Rn=new WeakMap,_l=new WeakMap,Mu=new WeakMap,ls=new WeakMap,Nn=new WeakMap,Qr=new WeakMap,$u=new WeakMap,Ct=new WeakMap,xl=new WeakMap,Pu=new WeakMap,Hu=new WeakMap,ds=new WeakMap,Jr=new WeakMap,yr=new WeakMap,wn=new WeakMap,qn=new WeakMap,Zn=new WeakMap,Uu=new WeakMap,Pi=new WeakMap,Fu=new WeakMap,Qn=new WeakMap,eo=new WeakMap,On=new WeakMap,Al=new WeakMap,yl=new WeakMap,In=new WeakMap,we=new WeakMap,vl=new WeakMap,K=new WeakSet,ZI=function(){if(!(c(this,qn)===void 0||0<c(this,Qn).length))for(let e of YI().slice(-c(this,wn))){for(let n of E(this,K,DT).call(this,e.actor,e.summary===!0)){let r=tb(n,e.kind,e.text,e.ts,c(this,wn),e.actor);e.result!==void 0&&r.result(e.result)}h(this,eo,c(this,Rn).call(this)-e.at),c(this,Jr).push({at:e.at,kind:e.kind,text:e.text,...e.result===void 0?{}:{result:e.result}}),c(this,Qn).push(e)}},QI=function(e,n){var o;let r=e.agentPrompt(window.location.href);(o=navigator.clipboard)==null||o.writeText(r).catch(()=>{}),n.setAttribute("data-copied","1"),ee(()=>n.removeAttribute("data-copied"),eG),yn().clearOnCopy&&e.clearAll()},is=function(){var n;let e=!c(this,we).isCollapsed()&&c(this,we).isAnnotateOn();(n=c(this,vl))==null||n.toggle(e),c(this,De)!==void 0&&hh(c(this,De),yn(),e)},CT=function(){var n,r,o;let e=(n=c(this,De))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(Wt,Oo),(r=c(this,ss))==null||r.setAttribute(Wt,Oo),c(this,ls)===Ma.SESSION&&((o=c(this,Fo))==null||o.setAttribute(Wt,Oo))},JI=function(){c(this,In).setState(Me.ACTIVE),h(this,ds,void 0),E(this,K,CT).call(this),c(this,Nn).resetActivity(c(this,Rn).call(this)),E(this,K,LT).call(this)},eC=function(e){e!==void 0&&e.runId!==c(this,Uu)&&(h(this,Uu,e.runId),c(this,Zn)!==void 0&&Vf(c(this,Zn)));let n=c(this,Pi);h(this,Pi,e==null?void 0:e.steps),e!==void 0?E(this,K,Mi).call(this,c(this,Qr),!1):n!==void 0&&E(this,K,Mi).call(this,fr.READY,!0)},Mi=function(e,n){var a;let r=c(this,Pi)===void 0?e:fr.harnessTesting(c(this,Pi));c(this,Ar)!==void 0&&(c(this,Ar).textContent=r,c(this,Ar).removeAttribute("title"));let o=n?"idle":"active";c(this,El)!==void 0&&c(this,El).setAttribute("data-liveness",o),(a=c(this,De))==null||a.setAttribute(tu,o),c(this,bl)!==void 0&&(c(this,bl).textContent=n?c(this,Qr)!==""?c(this,Qr):fr.READY:r)},LT=function(){c(this,Ct)!==void 0&&Te(c(this,Ct));let e=()=>{E(this,K,tC).call(this),h(this,Ct,ee(e,c(this,_l)))};h(this,Ct,ee(e,c(this,_l)))},tC=function(){if(!c(this,yr)||c(this,Ar)===void 0||this.state===Me.ENDED)return;let e=c(this,Rn).call(this)-c(this,Nn).lastActivityMs();if(e>=c(this,xl)){E(this,K,nC).call(this,e);return}if(e<c(this,Mu)||c(this,Qr)===""||c(this,Pi)!==void 0)return;if(ln.HARNESS===c(this,$u)){E(this,K,Mi).call(this,fr.READY,!0);return}let n=fr.SINCE_LAST;E(this,K,Mi).call(this,`${fr.PLANNING_PREFIX}${Qd(e)}${n}`,!0),c(this,$i)!==void 0&&(c(this,$i).textContent=Qd(e))},nC=function(e){h(this,ds,c(this,Rn).call(this)),c(this,In).setState(Me.ENDED,`${fr.STOPPED_PREFIX}${Qd(e)} quiet`),E(this,K,Mi).call(this,fr.STOPPED,!1),c(this,Ct)!==void 0&&(Te(c(this,Ct)),h(this,Ct,void 0))},kT=function(){h(this,Jr,[]),h(this,Qn,[]),ku([]),h(this,Tl,{passes:0,fails:0}),c(this,qn)!==void 0&&Vf(c(this,qn)),c(this,Zn)!==void 0&&Vf(c(this,Zn)),E(this,K,ml).call(this)},rC=function(){var e;(e=c(this,De))==null||e.setAttribute("data-reticle-hidden","1"),c(this,we).collapse()},oC=function(e){var n,r;(n=c(this,vl))==null||n.setAccent(fu(e.statusThemeId).active),e.showTally?E(this,K,ml).call(this):(r=c(this,cs))==null||r.setAttribute("hidden",""),E(this,K,is).call(this)},DT=function(e,n){let r=c(this,qn),o=c(this,Zn);return ln.HARNESS!==e||o===void 0?r===void 0?[]:[r]:n&&r!==void 0?[r,o]:[o]},ml=function(){var e;if(!yn().showTally){(e=c(this,cs))==null||e.setAttribute("hidden","");return}h(this,Tl,GI(c(this,cs),c(this,Jr),c(this,Tl)))},iC=function(){c(this,qn)!==void 0&&(Bf(c(this,qn),c(this,wn)),c(this,Zn)!==void 0&&Bf(c(this,Zn),c(this,wn)))}});var Be,cC,lC,dC,uC=S(()=>{"use strict";Be={NONE:"none",HUD:"hud",APP:"app",HUD_CHAT:"hud-chat",HUD_FLOWS:"hud-flows",HUD_ANNOTATE:"hud-annotate",HUD_IMPACT:"hud-impact",HUD_SETTINGS:"hud-settings"},cC=[{label:"Verify one flow",text:"verify the login flow with Reticle, and tell me the verdict"},{label:"Check what is proved",text:"/reticle"},{label:"Let it loose",text:"monkey-test the checkout flow with Reticle and tell me what breaks"}],lC=[{id:"connect",title:"Yayyy! It is connected",say:"That panel is Reticle. Seeing it is your proof the SDK is connected to your app.",why:"It only mounts on a connected session, so it cannot show up without one. Having the tools is not the same as being set up.",call:'reticle_session { action: "list" }',anchor:Be.HUD},{id:"look",title:"Look, without pixels",say:"Take a semantic snapshot. You get the controls and their refs, not pixels, so you can point at things by name.",why:"A ref is stable across snapshots, which is what lets you plan several steps before spending any of them.",call:'reticle_look { action: "page" }',anchor:Be.APP},{id:"declare",title:"Say it first",say:'Decide what should happen BEFORE you touch anything. "Clicking Pay makes the receipt appear" is a claim that can be wrong.',why:"This is the whole idea. A consequence named first is a check; the same sentence written after the fact is a rationalisation, and it is the difference between a verdict and a story.",call:'until: { signal: "order:placed" } // a consequence \u2014 not until: { ms: 500 }',anchor:Be.NONE},{id:"verdict",title:"Act, and prove it",say:"Act and prove in one call. The answer says verified yes / no / unknown, and `because` names the evidence that decided it.",why:'Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. A drive that ends without one has no result, however many tools it used \u2014 and "unknown" is an honest answer, not a pass.',call:'reticle_act_and_wait { ref, action: "click", until: { signal: "order:placed" } }',anchor:Be.HUD}],dC=[{id:"hud-chat",title:"Agent Log",say:"Watch what your agent is doing in your app, as it happens, and which steps it proved.",anchor:Be.HUD_CHAT,tryIt:"Open it."},{id:"hud-flows",title:"Saved flows",say:"Every journey your agent verifies is saved here. Replay one with a click, with no agent in the loop.",anchor:Be.HUD_FLOWS,tryIt:"Open them."},{id:"hud-annotate",title:"Notes",say:"Open Notes, then click anywhere in your app to drop a numbered pin with a note. Hand the pins to your agent and it fixes them.",anchor:Be.HUD_ANNOTATE,tryIt:"Open Notes, then pin something in your app."},{id:"hud-impact",title:"What's the impact?",say:"Everything Reticle has done here. Every bug it caught, every metric.",anchor:Be.HUD_IMPACT,tryIt:"Take a look."},{id:"hud-settings",title:"Make it yours",say:"Change how Reticle looks and behaves.",anchor:Be.HUD_SETTINGS,tryIt:"Open it."}]});var MT=S(()=>{"use strict";uC()});function HT(){return[...$T.map(nG),{index:tG,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Be.NONE,prompts:cC}]}function Gu(t){return t.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")}function rG(t){return Gu(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function UT(t,e){let n=t+e;return n<0?0:n>qh-1?qh-1:n}function gC(t,e,n){let r=Math.max(0,t.left),o=Math.max(0,t.top),a=Math.min(e,t.left+t.width),s=Math.min(n,t.top+t.height);return[{left:0,top:0,width:e,height:o},{left:0,top:s,width:e,height:n-s},{left:0,top:o,width:r,height:s-o},{left:a,top:o,width:e-a,height:s-o}].filter(d=>d.width>0&&d.height>0)}function EC(t){let e=HT().map(s=>`<span class="reticle-tour-dot${s.index===t.index?" is-on":""}" aria-hidden="true"></span>`).join(""),n=t.tryIt===void 0?"":`<p class="reticle-tour-try" ${Bo}="try">${Gu(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((s,l)=>`<div class="reticle-tour-prompt" ${Bu}="${String(l)}"><span class="reticle-tour-prompt-label">${Gu(s.label)}</span><pre class="reticle-tour-prompt-text">${Gu(s.text)}</pre><button type="button" class="reticle-tour-copy" ${Bo}="copy" ${Bu}="${String(l)}">${PT}</button></div>`).join("")+"</div>",o=t.index===0?"":`<button type="button" class="reticle-tour-back" ${Bo}="back">Back</button>`,a=FT(t.index)?`<button type="button" class="reticle-tour-next" ${Bo}="done">Done</button>`:`<button type="button" class="reticle-tour-next" ${Bo}="next">Next</button>`;return`<div class="reticle-tour-card" role="dialog" aria-modal="false" aria-label="Reticle tour"><button type="button" class="reticle-tour-skip" ${Bo}="skip" aria-label="Skip the tour">Skip</button><p class="reticle-tour-step">Step ${String(t.index+1)} of ${String(qh)}</p><h2 class="reticle-tour-title">${Gu(t.title)}</h2><p class="reticle-tour-body">${rG(t.body)}</p>`+n+r+`<div class="reticle-tour-foot"><div class="reticle-tour-dots">${e}</div><div class="reticle-tour-nav">${o}${a}</div></div></div>`}var $T,tG,qh,de,Bo,Bu,PT,pC,fC,hC,nG,mC,FT,bC,TC=S(()=>{"use strict";MT();$T=[...lC.slice(0,1),...dC],tG=$T.length,qh=$T.length+1,de="data-reticle-tour",Bo="data-reticle-tour-target",Bu="data-reticle-tour-prompt",PT="Copy",pC="Copied",fC="Selected \u2014 press Ctrl/Cmd+C",hC=1600,nG=(t,e)=>{var n;return{index:e,title:t.title,body:t.say,anchor:(n=t.anchor)!=null?n:Be.NONE,...t.tryIt===void 0?{}:{tryIt:t.tryIt}}},mC=t=>t.tryIt!==void 0;FT=t=>t===qh-1;bC=`
|
|
1690
|
+
[${de}]{position:fixed;inset:0;z-index:${String(2147483630)};pointer-events:none;
|
|
1248
1691
|
font:13px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
|
|
1249
|
-
[${
|
|
1692
|
+
[${de}] .reticle-tour-scrim{position:absolute;inset:0;background:rgba(6,8,14,.55);
|
|
1250
1693
|
backdrop-filter:blur(1.5px);pointer-events:auto;z-index:0;}
|
|
1251
1694
|
/* Blocks the click everywhere the hole is not. Same job as the scrim, minus the one rectangle the
|
|
1252
1695
|
slide is inviting somebody to press. */
|
|
1253
|
-
[${
|
|
1696
|
+
[${de}] .reticle-tour-blocker{position:absolute;pointer-events:auto;z-index:0;}
|
|
1254
1697
|
/* Ringed slides dim through the ring's own 9999px shadow, which leaves a hole over the thing being
|
|
1255
1698
|
pointed at. The scrim would cover that hole -- dimming the HUD the slide is ABOUT, and washing
|
|
1256
1699
|
the page twice (~80% rather than 55%).
|
|
@@ -1258,7 +1701,7 @@ ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(t/1e3)}k`
|
|
|
1258
1701
|
VISIBLY blocking: reported from the field on 3.1.0 by several users, one of whom removed the
|
|
1259
1702
|
plugin, because a cleared scrim went on eating every press on a page that looked lit and
|
|
1260
1703
|
reachable. An overlay that looks transparent and behaves opaque reads as the app being broken. */
|
|
1261
|
-
[${
|
|
1704
|
+
[${de}] .reticle-tour-scrim.is-clear{background:transparent;backdrop-filter:none;
|
|
1262
1705
|
pointer-events:none;}
|
|
1263
1706
|
/* Above the ring, and the z-index is the whole point.
|
|
1264
1707
|
The ring is appended after the card, and both are positioned with an auto z-index, so the ring
|
|
@@ -1266,58 +1709,58 @@ ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(t/1e3)}k`
|
|
|
1266
1709
|
card as well. On every ringed slide the card was washed at 55% and read as sitting BEHIND the page
|
|
1267
1710
|
it was drawn over. The ring must stay above the scrim and below the card; saying so explicitly is
|
|
1268
1711
|
the fix, because DOM order alone cannot express "between these two". */
|
|
1269
|
-
[${
|
|
1712
|
+
[${de}] .reticle-tour-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
|
|
1270
1713
|
width:min(430px,calc(100vw - 32px));box-sizing:border-box;pointer-events:auto;z-index:3;
|
|
1271
1714
|
background:#14161d;color:#e8eaf0;border:1px solid #2b303d;border-radius:14px;padding:20px 20px 16px;
|
|
1272
1715
|
box-shadow:0 24px 60px rgba(0,0,0,.5);}
|
|
1273
|
-
[${
|
|
1716
|
+
[${de}] .reticle-tour-skip{position:absolute;top:10px;right:12px;background:none;border:0;
|
|
1274
1717
|
color:#8a93a6;font:inherit;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px;}
|
|
1275
|
-
[${
|
|
1276
|
-
[${
|
|
1718
|
+
[${de}] .reticle-tour-skip:hover{color:#e8eaf0;background:rgba(255,255,255,.06);}
|
|
1719
|
+
[${de}] .reticle-tour-step{margin:0 0 6px;font-size:11px;letter-spacing:.06em;
|
|
1277
1720
|
text-transform:uppercase;color:#7f8798;}
|
|
1278
|
-
[${
|
|
1721
|
+
[${de}] .reticle-tour-title{margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:650;
|
|
1279
1722
|
color:#f2f4f8;}
|
|
1280
|
-
[${
|
|
1723
|
+
[${de}] .reticle-tour-body{margin:0 0 10px;color:#c9cedb;}
|
|
1281
1724
|
/* A call named inside a sentence. Sets its own colour for the reason every other text class does:
|
|
1282
1725
|
an inherited one loses to any direct element selector in the host app. */
|
|
1283
|
-
[${
|
|
1726
|
+
[${de}] .reticle-tour-code{padding:1px 5px;border-radius:5px;background:#0c0e14;
|
|
1284
1727
|
border:1px solid #232834;color:#9fb6ff;
|
|
1285
1728
|
font:11.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;}
|
|
1286
|
-
[${
|
|
1729
|
+
[${de}] .reticle-tour-try{margin:0 0 12px;padding:8px 10px;border-radius:8px;
|
|
1287
1730
|
background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.32);color:#c7cbff;
|
|
1288
1731
|
font-size:12.5px;font-weight:550;}
|
|
1289
|
-
[${
|
|
1290
|
-
[${
|
|
1732
|
+
[${de}] .reticle-tour-prompts{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;}
|
|
1733
|
+
[${de}] .reticle-tour-prompt{display:grid;gap:6px;padding:9px 10px;border-radius:8px;
|
|
1291
1734
|
background:#0c0e14;border:1px solid #232834;
|
|
1292
1735
|
grid-template-columns:1fr auto;grid-template-areas:"label copy" "text text";align-items:center;}
|
|
1293
|
-
[${
|
|
1736
|
+
[${de}] .reticle-tour-prompt-label{grid-area:label;color:#8a93a6;font-size:11px;
|
|
1294
1737
|
letter-spacing:.05em;text-transform:uppercase;}
|
|
1295
|
-
[${
|
|
1738
|
+
[${de}] .reticle-tour-prompt-text{grid-area:text;width:100%;box-sizing:border-box;margin:0;
|
|
1296
1739
|
white-space:pre-wrap;overflow-wrap:anywhere;color:#c9cedb;
|
|
1297
1740
|
font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;}
|
|
1298
|
-
[${
|
|
1741
|
+
[${de}] .reticle-tour-copy{grid-area:copy;padding:5px 10px;border-radius:6px;
|
|
1299
1742
|
border:1px solid #2b303d;background:transparent;color:#c9cedb;font:inherit;font-size:11.5px;
|
|
1300
1743
|
font-weight:600;cursor:pointer;white-space:nowrap;}
|
|
1301
|
-
[${
|
|
1744
|
+
[${de}] .reticle-tour-copy:hover{background:rgba(255,255,255,.07);color:#fff;}
|
|
1302
1745
|
/* The flash that tells somebody the click did something. Colour AND text: colour alone is not an
|
|
1303
1746
|
answer for the people who cannot see the difference. */
|
|
1304
|
-
[${
|
|
1305
|
-
[${
|
|
1306
|
-
[${
|
|
1307
|
-
[${
|
|
1308
|
-
[${
|
|
1309
|
-
[${
|
|
1310
|
-
[${
|
|
1311
|
-
[${
|
|
1747
|
+
[${de}] .reticle-tour-copy.is-done{background:#16a34a;border-color:#16a34a;color:#fff;}
|
|
1748
|
+
[${de}] .reticle-tour-copy.is-manual{background:#b45309;border-color:#b45309;color:#fff;}
|
|
1749
|
+
[${de}] .reticle-tour-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;}
|
|
1750
|
+
[${de}] .reticle-tour-dots{display:flex;gap:6px;}
|
|
1751
|
+
[${de}] .reticle-tour-dot{width:6px;height:6px;border-radius:50%;background:#333a49;}
|
|
1752
|
+
[${de}] .reticle-tour-dot.is-on{background:#6366f1;}
|
|
1753
|
+
[${de}] .reticle-tour-nav{display:flex;gap:8px;}
|
|
1754
|
+
[${de}] .reticle-tour-back,[${de}] .reticle-tour-next{padding:8px 14px;border-radius:8px;
|
|
1312
1755
|
font:inherit;font-weight:600;cursor:pointer;border:1px solid #2b303d;background:transparent;color:#c9cedb;}
|
|
1313
|
-
[${
|
|
1314
|
-
[${
|
|
1315
|
-
[${
|
|
1316
|
-
[${
|
|
1756
|
+
[${de}] .reticle-tour-next{background:#6366f1;border-color:#6366f1;color:#fff;}
|
|
1757
|
+
[${de}] .reticle-tour-next:hover{filter:brightness(1.08);}
|
|
1758
|
+
[${de}] .reticle-tour-back:hover{background:rgba(255,255,255,.06);color:#e8eaf0;}
|
|
1759
|
+
[${de}] .reticle-tour-ring{position:absolute;border-radius:14px;pointer-events:none;z-index:1;
|
|
1317
1760
|
box-shadow:0 0 0 3px #6366f1,0 0 0 9999px rgba(6,8,14,.55);transition:all .25s ease;}
|
|
1318
1761
|
/* A ring somebody is being asked to press, rather than to look at: it pulses, so the invitation in
|
|
1319
1762
|
the prose has something on the page agreeing with it. */
|
|
1320
|
-
[${
|
|
1763
|
+
[${de}] .reticle-tour-ring.is-live{animation:reticle-tour-pulse 1.8s ease-in-out infinite;}
|
|
1321
1764
|
@keyframes reticle-tour-pulse{
|
|
1322
1765
|
0%,100%{box-shadow:0 0 0 3px #6366f1,0 0 0 9999px rgba(6,8,14,.55);}
|
|
1323
1766
|
50%{box-shadow:0 0 0 6px rgba(99,102,241,.55),0 0 0 9999px rgba(6,8,14,.55);}
|
|
@@ -1326,12 +1769,13 @@ ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(t/1e3)}k`
|
|
|
1326
1769
|
something small and wrong for the app: the hole becomes the whole viewport, the dimming
|
|
1327
1770
|
disappears, and the card is left competing with a fully lit page while the ring edges sit off at
|
|
1328
1771
|
the margins pointing at nothing. An outline says "all of this" without turning the lights on. */
|
|
1329
|
-
[${
|
|
1772
|
+
[${de}] .reticle-tour-ring.is-region{box-shadow:none;border:2px dashed #7c83f5;
|
|
1330
1773
|
background:rgba(99,102,241,.06);}
|
|
1331
1774
|
@media (prefers-reduced-motion:reduce){
|
|
1332
|
-
[${
|
|
1775
|
+
[${de}] .reticle-tour-ring{transition:none;}
|
|
1333
1776
|
}
|
|
1334
|
-
`});var yv={};Va(yv,{TOUR_SEEN_KEY_PREFIX:()=>Sv,isLastSlide:()=>Zm,mountTour:()=>l5,openedByReticle:()=>xv,safeLocalStorage:()=>d5,tourAlreadySeen:()=>Av,tourSeenKey:()=>Qm});function i5(t,e){let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let a of e){let l=t.querySelector(a)?.getBoundingClientRect();l===void 0||l.width<=0||l.height<=0||(n=Math.min(n,l.left),r=Math.min(r,l.top),i=Math.max(i,l.left+l.width),s=Math.max(s,l.top+l.height))}if(i!==Number.NEGATIVE_INFINITY)return{left:n,top:r,width:i-n,height:s-r}}function a5(t,e){if(Ue.HUD===e)return i5(t,o5);let n=s5[e];if(n!==void 0){let r=t.querySelector(n)?.getBoundingClientRect();return r===void 0?void 0:r}if(Ue.APP===e)for(let r of r5){let i=t.querySelector(r);if(i===null)continue;let s=i.getBoundingClientRect();if(s.width>0)return s}}function xv(t){if(t===void 0||t==="")return!1;let e=new URLSearchParams(t.startsWith("?")?t.slice(1):t);return e.has(pr.OPENED)||e.has(pr.SESSION)||e.has(pr.PROJECT)}function Av(t,e){if(t===void 0)return!0;try{return t.getItem(Qm(e))!==null}catch{return!0}}function c5(t,e){try{t?.setItem(Qm(e),"1")}catch{}}function l5(t){if(t.isDriving()||xv(t.search)||t.navigator?.webdriver===!0||Av(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(ee,""),n.textContent=Tv,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(ee,"");let i=qm(),s=0,a=!0,l=()=>{},d=()=>{},u=()=>{a&&(a=!1,l(),d(),r.remove(),n.remove())},f=()=>{a&&(c5(t.storage,t.projectId),u())},g=()=>{t.isDriving()&&u()},E=()=>{let L=i[s];if(L!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${bv(L)}`,Ue.NONE!==L.anchor)){let G=a5(e,L.anchor);if(G!==void 0&&G.width>0){let $=Ue.APP===L.anchor,Q=e.createElement("div");Q.className=$?"reticle-tour-ring is-region":"reticle-tour-ring";let se=$?-2:6;if(Q.style.left=`${String(Math.round(G.left-se))}px`,Q.style.top=`${String(Math.round(G.top-se))}px`,Q.style.width=`${String(Math.round(G.width+se*2))}px`,Q.style.height=`${String(Math.round(G.height+se*2))}px`,r.appendChild(Q),$||r.querySelector(".reticle-tour-scrim")?.classList.add("is-clear"),gv(L)){Q.classList.add("is-live"),r.querySelector(".reticle-tour-scrim")?.remove();let xe=e.defaultView;for(let ge of Ev({left:G.left-se,top:G.top-se,width:G.width+se*2,height:G.height+se*2},xe?.innerWidth??e.documentElement.clientWidth,xe?.innerHeight??e.documentElement.clientHeight)){let ve=e.createElement("div");ve.className="reticle-tour-blocker",ve.style.left=`${String(Math.round(ge.left))}px`,ve.style.top=`${String(Math.round(ge.top))}px`,ve.style.width=`${String(Math.round(ge.width))}px`,ve.style.height=`${String(Math.round(ge.height))}px`,r.appendChild(ve)}}}}},_=L=>{let G=i[s],$=Number(L.getAttribute(Ol)),Q=G?.prompts?.[$];if(Q===void 0)return;let se=(ve,zt)=>{L.textContent=ve,L.classList.add(zt),e.defaultView?.setTimeout(()=>{L.textContent=Ym,L.classList.remove(zt)},mv)},xe=ve=>{if(ve){se(fv,"is-done");return}let zt=r.querySelector(`.reticle-tour-prompt[${Ol}="${String($)}"] .reticle-tour-prompt-text`);zt!==null&&t.select?.(zt),se(hv,"is-manual")},ge=t.copy?.(Q.text);if(ge===void 0){xe(!1);return}if(typeof ge=="boolean"){xe(ge);return}ge.then(xe).catch(()=>{xe(!1)})};r.addEventListener("click",L=>{let G=L.target;if(!(G instanceof Element))return;let $=G.closest(`[${jr}]`);if($===null)return;let Q=$.getAttribute(jr);if(Q===null)return;if(L.preventDefault(),L.stopPropagation(),Q==="skip"||Q==="done"){f();return}if(Q==="copy"){_($);return}let se=Xm(s,Q==="back"?-1:1);se!==s&&(s=se,E())});let S=L=>{if(!a||Ul(e))return;let G=L.key==="ArrowRight"?1:L.key==="ArrowLeft"?-1:0;if(L.key==="Escape"){L.preventDefault(),f();return}if(G===0)return;let $=Xm(s,G);$!==s&&(L.preventDefault(),s=$,E())};e.addEventListener("keydown",S),l=()=>{e.removeEventListener("keydown",S)},E(),e.body.appendChild(r);let U=e.querySelector("[data-reticle-overlay]");if(U!==null){let L=new MutationObserver(g);L.observe(U,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>L.disconnect(),g()}return{destroy:f,isOpen:()=>a}}function d5(){try{return window.localStorage}catch{return}}var Sv,r5,o5,s5,Qm,Rv=T(()=>{"use strict";_v();Wm();D();et();Sv="reticle.tour.seen.",r5=["main","#root","#app"],o5=["[data-reticle-hud]","[data-reticle-chat-panel]"];s5={[Ue.HUD_CHAT]:"[data-reticle-chat-toggle]",[Ue.HUD_ANNOTATE]:"[data-reticle-annotate-btn]",[Ue.HUD_IMPACT]:"[data-reticle-report-btn]",[Ue.HUD_SETTINGS]:"[data-reticle-settings-btn]"};Qm=t=>`${Sv}${t}`});var _5={};Va(_5,{Annotator:()=>xi,RefRegistry:()=>ac,Reticle:()=>Ha,SESSION_AUTO:()=>ec,adapterNames:()=>Md,buildSnapshot:()=>Nd,canvasChartData:()=>TT,commitAndSignal:()=>Kv,createReticleEmitter:()=>Vv,describe:()=>Vn,elementHasHoverHandlers:()=>Dd,executeAction:()=>Oc,executeSequence:()=>Zd,getAccessibleName:()=>be,getCapabilities:()=>oo,getRole:()=>Oe,getStates:()=>Er,hasCapabilities:()=>Ld,identifyComponent:()=>Wn,inspectChart:()=>Ad,installAnnotator:()=>cA,isVisible:()=>nt,jotaiStore:()=>Pv,markAdapterSource:()=>wd,matchQuery:()=>xc,mobxStore:()=>Hv,piniaStore:()=>Gv,pushStore:()=>jv,readComponentState:()=>kd,readStores:()=>UT,readStoresWithTruncation:()=>Sc,recoilStore:()=>Fv,refs:()=>X,registerAdapter:()=>KT,registerCapabilities:()=>Cs,registerReticleDomain:()=>Wv,registerStore:()=>MT,resolveMarkAnchor:()=>Bc,reticle:()=>np,runQuery:()=>$d,setCapabilitiesListener:()=>Id,setIgnoreSelectors:()=>ug,sourceOwner:()=>FT,storeNames:()=>ro,svelteStore:()=>Bv,tanstackQueryStore:()=>Mv,unregisterStore:()=>PT,valtioStore:()=>Uv,xstateStore:()=>$v});et();D();var Qb="__reticle_session";function Jb(t,e,n){let r=()=>{try{let l=e?.getItem(Qb);return l!=null&&l.length>0?l:void 0}catch{return}},i=l=>{try{e?.setItem(Qb,l)}catch{}},a=(t!==void 0&&t.length>0?t:void 0)??r()??n();return i(a),a}gt();var uC="vite:afterUpdate",pC=3,fC="no longer resolves to an element",hC="the code changed underneath it";function _f(t){return t!==null&&typeof t=="object"?t:void 0}function mC(t){return typeof _f(t)?.on=="function"}function gC(t){let e=_f(t)?.updates;if(!Array.isArray(e))return[];let n=[];for(let r of e){let i=_f(r)?.path;typeof i=="string"&&i.length>0&&!n.includes(i)&&n.push(i)}return n}var dc,Ss,xs,Sf=class{constructor(e){m(this,dc,0);m(this,Ss,[]);m(this,xs);p(this,xs,e)}get current(){return c(this,dc)}observe(e){mC(e)&&e.on(uC,n=>this.applied(gC(n)))}applied(e){p(this,dc,c(this,dc)+1),p(this,Ss,e.slice(0,pC)),c(this,xs).markEdited()}staleRefMessage(e){let n=`ref '${ni(e)}' ${fC}`;if(!c(this,xs).mintedBeforeLastEdit(e))return n;let r=c(this,Ss).length===0?"the page hot-updated":`${c(this,Ss).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${hC} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};dc=new WeakMap,Ss=new WeakMap,xs=new WeakMap;var uc=new Sf(X);D();D();ys();_n();Mt();gt();et();var RT=new Set(["button","link","textbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),FC=new Set(["script","style","noscript","template","head","meta","link"]),BC=new Set(["alert","status"]);function GC(t,e){if(BC.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var AT=80;function jC(t){let e="";for(let r of t.childNodes)r.nodeType===3&&(e+=r.textContent??"");let n=e.replace(/\s+/g," ").trim();return n.length>AT?`${n.slice(0,AT)}\u2026`:n}var VC=50;function vT(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function KC(t){return FC.has(t.tagName.toLowerCase())||hn(t)?!0:vT(t)}function WC(t){let e=Er(t).filter(n=>n===re.DISABLED||n===re.CHECKED||n===re.EXPANDED||n===re.PRESSED||n===re.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function zC(t,e,n,r,i,s=""){let a=" ".repeat(e),l=Cf(t),d=r,u=d.length>0?` "${d}"`:"",f=RT.has(n)||d.length>0?` (ref=${X.refFor(t)})`:"",g=l!==void 0&&l.length>0?` [value="${l}"]`:"",E=i.length>0?` [${i}]`:"",_=s.length>0?` [text="${s}"]`:"";return`${a}- ${n}${u}${f}${g}${_}${E}${WC(t)}`}function YC(t,e){return`${" ".repeat(t)}- text "${e}"`}function qC(t){if(t===null)return"";let e=t.display;if(e==="grid"||e==="inline-grid"){let n=t.gridTemplateColumns;return n!==""&&n!=="none"?`grid-cols:${n}`:"grid"}return""}function yT(t,e){for(let n of t){if(e.unread.length>=VC){e.unreadOverflow=!0;return}e.unread.push(X.refFor(n))}}function XC(t){let e=[...t.children],n=t.shadowRoot??As(t);if(n!==null&&e.push(...n.children),xd(t))try{let r=t.contentDocument?.body;r!=null&&e.push(...r.children)}catch{}return e}function NT(t,e,n,r){if(KC(t)){vT(t)&&(n.hiddenSkipped+=1);return}let i=t.ownerDocument.defaultView,s=i!==null?i.getComputedStyle(t):null;if(s!==null&&s.display==="none"){n.hiddenSkipped+=1;return}let a=Oe(t),l=be(t),d=RT.has(a),u=r||GC(t,a),f=n.mode===cs.INTERACTIVE&&!u,g=!f&&l.length===0?jC(t):"",E=f?"":qC(s),_=d,S=_||a!=="generic"||l.length>0||g.length>0||E.length>0,U=f?_:S;f&&!U&&S&&(n.leanSkipped+=1),U?(n.nodes+=1,n.lines.push(a==="generic"&&g.length>0&&E.length===0?YC(e,g):zC(t,e,a,l,E,g)),Lf(t,e+1,n,u)):Lf(t,e,n,u)}function Lf(t,e,n,r=!1){let i=XC(t);if(e>n.maxDepth){i.length>0&&(n.truncated=!0,yT([t],n));return}for(let s=0;s<i.length;s+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,yT(i.slice(s),n);return}let a=i[s];a!==void 0&&NT(a,e,n,r)}}function ZC(t){let e=t.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n=[];for(let r of e)Le(r)||nt(r)&&n.push(be(r)||"(unnamed dialog)");return n}function QC(t){if(t!==document.body)return;let e=document.body.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n,r;for(let a of e)if(!Le(a)){if(nt(a)){n=a;break}r??(r=a)}if(n??(n=r),n===void 0)return;let i=n,s=Array.from(document.body.children).filter(a=>!a.contains(i));if(s.length!==0&&s.every(a=>a.getAttribute("aria-hidden")==="true"))return"the rest of the page is aria-hidden behind an open overlay (a focus-trap modal), so this snapshot shows only the overlay. If it will not close its cleanup may be stuck on a throttled tab: dismiss the overlay, or snapshot with { scope } inside it."}function JC(t){let e=ZC(t),n=QC(t);return{route:`${location.pathname}${location.search}${location.hash}`,title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function Nd(t={}){let e=t.mode??cs.FULL,n=t.scope!==void 0?X.resolve(t.scope)??document.querySelector(t.scope):document.body,r=t.scope!==void 0&&!(n instanceof Element),i=n instanceof Element?n:document.body,s=JC(i);if(r)return{tree:"",status:s,nodes:0,truncated:!1,scopeMissing:!0};if(e===cs.STATUS)return{tree:"",status:s,nodes:0,truncated:!1};let a={lines:[],nodes:0,leanSkipped:0,hiddenSkipped:0,truncated:!1,mode:e,maxNodes:t.maxNodes??400,maxDepth:t.maxDepth??20,unread:[],unreadOverflow:!1};return t.includeRoot===!0?NT(i,0,a,!1):Lf(i,0,a),{tree:a.lines.join(`
|
|
1335
|
-
`),status:s,nodes:a.nodes,truncated:a.truncated,...a.nodes===0?{domElements:i.querySelectorAll("*").length}:{},...a.leanSkipped>0?{leanSkipped:a.leanSkipped}:{},...a.hiddenSkipped>0?{hiddenSkipped:a.hiddenSkipped}:{},...a.unread.length>0?{unread:a.unread}:{},...a.unreadOverflow?{unreadOverflow:!0}:{}}}var eI=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],tI={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"};function nI(t){if(t.id.length>0)return`#${t.id}`;let e=t.getAttribute("class");return e!==null&&e.trim().length>0?`.${e.trim().split(/\s+/).join(".")}`:t.tagName.toLowerCase()}function OT(t){let e=t.ownerDocument.defaultView;if(e===null)return[];let n=[];for(let r=t;r!==null&&r!==t.ownerDocument.documentElement;r=r.parentElement){let i=e.getComputedStyle(r);for(let s of eI){let a=i.getPropertyValue(s);a.length>0&&a!==tI[s]&&n.push({on:nI(r),property:s,value:a})}}return n}D();_n();ys();Mt();et();jn();io();ii();gt();var Pd="data-testid",e_=cd,pI=12,fI=2e3,hI=`[${e_}], [${Pd}], button, a, input, select, textarea, [role]`;function so(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}function Ls(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}function ks(t,e){return Ls(t).toLowerCase().includes(Ls(e).toLowerCase())}function mI(t,e){return Ls(t)===Ls(e)}var gI=["script","style","template","noscript"];function t_(t){return gI.includes(t.tagName.toLowerCase())}function EI(t){if(me(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return t_(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>e.textContent??"").join("")}function Bf(t,e){if(t_(t)||hn(t)||!nt(t,e))return"";let n="";for(let r of Array.from(t.childNodes))Node.TEXT_NODE===r.nodeType?n+=r.textContent??"":gr(r)&&(n+=Bf(r,e));return n}function bI(t){if(me(t)||Et(t)||Tn(t))return!0;let e=t.tagName.toLowerCase();return e==="button"||e==="meter"||e==="output"||e==="progress"||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")}function Gf(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=X.resolve(t);if(ri(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(ri(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function TI(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${e_}^="${n}"]`))}catch{return[]}}function _I(t,e){let n=[],r=0;for(let i of Array.from(t.querySelectorAll(hI))){if(r>=fI)break;r+=1;let s=Wn(i);s!==null&&s.componentStack[0]===e&&n.push(i)}return n}function WT(t,e){if(e.source!==void 0){let n=TI(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?_I(t,e.component):[]}function Ff(t,e,n){return so(t).filter(r=>Oe(r)===e&&(n===void 0||mI(be(r),n)))}function zT(t,e){return so(t).filter(n=>ks(EI(n),e))}function YT(t,e){return so(t).filter(n=>bI(n)&&ks(be(n),e))}function qT(t,e){return so(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&ks(r,e)})}function XT(t,e){return so(t).filter(n=>n.getAttribute(Pd)===e)}function ZT(t,e){return so(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&ks(r,e)})}function QT(t,e){let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case pt.ROLE:return Ff(t,r,e.name);case pt.TEXT:return zT(t,r);case pt.LABEL:return YT(t,r);case pt.PLACEHOLDER:return qT(t,r);case pt.TESTID:return XT(t,r);case pt.ALT:return ZT(t,r);case pt.COMPONENT:return WT(t,{...e,component:e.component??r});default:throw new Error(`unsupported query strategy '${String(n)}' - use one of: ${Object.values(pt).join(", ")}`)}return e.component!==void 0||e.source!==void 0?WT(t,e):e.role!==void 0?Ff(t,e.role,e.name):e.text!==void 0?zT(t,e.text):e.label!==void 0?YT(t,e.label):e.placeholder!==void 0?qT(t,e.placeholder):e.testid!==void 0?XT(t,e.testid):e.alt!==void 0?ZT(t,e.alt):[]}function SI(t){try{return t.contentDocument?.body??null}catch{return null}}var xI=3;function AI(t){let e=[],n=(r,i)=>{for(let s of r.querySelectorAll("*")){let a=s.shadowRoot??As(s);if(a!==null){e.push(a),n(a,i);continue}if(i>=xI||!xd(s))continue;let l=SI(s);l!==null&&(e.push(l),n(l,i+1))}};return n(t,0),e}function yI(t){let{container:e,scopeMissing:n}=Gf(t.scope);if(e===null)return{candidates:[],scopeMissing:!0};if(t.self===!0)return t.scope===void 0?{candidates:[],scopeMissing:n}:t.text!==void 0&&!ks(Bf(e,new Map),t.text)?{candidates:[],scopeMissing:n}:{candidates:hn(e)?[]:[e],scopeMissing:n};let r=new Set,i=[],s=a=>{for(let l of a)r.has(l)||hn(l)||(r.add(l),i.push(l))};s(QT(e,t));for(let a of AI(e))s(QT(a,t));return{candidates:i,scopeMissing:n}}var RI=512,vI=12;function NI(t,e){let n={};for(let r of e.slice(0,vI)){let i=t.getAttribute(r);i!==null&&(n[r]=He(r)?ye:i.slice(0,RI))}return Object.keys(n).length>0?n:void 0}function OI(t,e,n){return re.IN_VIEWPORT===e?If(t,n):Er(t,nt(t,n)).includes(e)}var JT=H.MAX_COLLECTION_ITEMS;function xc(t,e,n=JT){let r=yI(t),i=r.candidates,s=r.scopeMissing,a=new Map,l=e===void 0?i:i.filter(E=>OI(E,e,a)),d=t.attrs,u=l.slice(0,Math.max(0,Math.min(n,JT))),f=u.length>1||re.IN_VIEWPORT===e,g=u.map(E=>{let _=Vn(E,a);if(f&&If(E,a)&&!_.states.includes(re.IN_VIEWPORT)&&(_={..._,states:[..._.states,re.IN_VIEWPORT]}),d===void 0||d.length===0)return _;let S=NI(E,d);return S===void 0?_:{..._,attrs:S}});return{matched:l.length>0,count:l.length,elements:g,...s?{scopeMissing:!0}:{},...l.length===0?{hint:n_(t)}:{}}}function wI(t){let e=t.getAttribute("aria-labelledby");if(e===null)return;let n=e.split(/\s+/).map(r=>r.length>0?t.ownerDocument.getElementById(r)?.textContent?.trim()??"":"").filter(r=>r.length>0).join(" ");return n.length>0?n:void 0}function CI(t){let e=Gf(t.scope).container??document.body,n=[],r=["list","listbox","grid","table","tree","treegrid","dialog","alertdialog","navigation","main","banner","form","search","menu","menubar","tablist"];for(let i of r){let s=Ff(e,i,void 0);for(let a of s){if(Le(a))continue;let l=a.getAttribute("aria-label")??wI(a)??a.getAttribute("data-testid")??void 0,d=a.querySelectorAll("[role]"),u=[];for(let g of Array.from(d)){if(u.length>=3)break;let E=g.getAttribute("role"),_=g.getAttribute("aria-label")??g.getAttribute("data-testid")??g.textContent?.trim().slice(0,40)??"";E!==null&&_.length>0&&u.push(`${E}[${_}]`)}let f={role:i,childCount:d.length,sample:u};if(l!==void 0&&l.length>0&&(f.name=l),n.push(f),n.length>=10)return n}}return n}function II(t,e){let n,r=-1,i=new Map;for(let s of so(t)){if(hn(s)||!ks(Bf(s,i),e))continue;let a=0;for(let l=s.parentElement;l!==null;l=l.parentElement)a++;a>r&&(n=s,r=a)}return n}function LI(t){return t.text!==void 0?t.text:pt.TEXT===t.by?t.value:void 0}var kI=5;function DI(t,e){let n=pt.ROLE===e.by?e.value:void 0,r=e.name;if(n===void 0||r===void 0||r.length===0)return[];let i=Ls(r).toLowerCase();if(i.length===0)return[];let s=[];for(let a of so(t)){if(hn(a)||Oe(a)!==n)continue;let l=Ls(be(a));if(l.length===0)continue;let d=l.toLowerCase();if(!(!d.includes(i)&&!i.includes(d))&&(s.includes(l)||s.push(l),s.length>=kI))break}return s}function n_(t){let e=Gf(t.scope).container??document.body,n=e.querySelectorAll(`[${Pd}]`),r=[],i=new Set;for(let g of Array.from(n)){if(hn(g))continue;let E=g.getAttribute(Pd);E===null||E.length===0||i.has(E)||(i.add(E),r.length<pI&&r.push(E))}let s=VT(),a=r.some(g=>s.includes(g)),d={route:`${location.pathname}${location.search}`,presentTestids:r,...i.size>r.length?{presentTestidsTotal:i.size}:{},presentRegions:CI(t),knownEmptyState:a},u=LI(t);if(u!==void 0){let g=II(e,u);g!==void 0&&(d.splitText=Vn(g))}let f=DI(e,t);return f.length>0&&(d.nameNearMiss=f),d}function $d(t,e){let n=xc(t,void 0,e),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:n_(t),...r}:{elements:n.elements,count:n.count,...r}}D();Ds();gt();D();Mt();_n();var MI=new Set(["submit","button","reset","image"]);function PI(t){return bn(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!MI.has(t.type.toLowerCase()):!1}function Hd(t){let e=t.closest("form"),n=PI(t)?["",""]:[t.textContent??"",t.getAttribute("value")??""];return[be(t),...n,t.getAttribute("title")??"",t.getAttribute("aria-label")??"",t.getAttribute("href")??"",e?.getAttribute("action")??""].join(" ")}var $I='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function r_(t){let e=t.closest("form")?.querySelector($I);return e instanceof HTMLElement?e:null}function Fd(t,e){return bb(t,e)}to();_n();function Bd(t,e){let n=ET(t),r=n===void 0?void 0:oT(n);r!==void 0?r.call(t,e):t.value=e;let i=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!i}function UI(t){let e=t.getAttribute("contenteditable");if(bn(t)&&t.isContentEditable||e!==null&&e!=="false"||t.getAttribute("role")==="textbox")return!0;if(!("editContext"in t))return!1;let n=t;return n.editContext!==null&&n.editContext!==void 0}function Vf(t,e){if(UI(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function Kf(t,e){if(t.disabled)throw new Error(`cannot ${e} a disabled <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`);if(t.readOnly)throw new Error(`cannot ${e} a readonly <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`)}Mt();ii();_n();Ve();et();var Wf=200,u_=" | ",FI=3,BI=/\p{L}/u;function GI(t){return BI.test(t)}var jI=3;function VI(t){return t instanceof Element&&t.querySelectorAll("*").length>jI}var Ms,Ac,co,zf,Yf,jd=class{constructor(){m(this,co);m(this,Ms,new Set);m(this,Ac,0)}collect(e){for(let n of e){if(h(this,co,zf).call(this))return;if(n.type==="characterData"){h(this,co,Yf).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(h(this,co,zf).call(this))return;if(VI(r))continue;let i=FI===r.nodeType?r.parentElement:KI(r);h(this,co,Yf).call(this,r.textContent,i)}}}effect(e){let n=[...c(this,Ms)].filter(i=>i!==e);if(n.length===0)return{};let r=n.join(u_);return{appeared:r.length>Wf?`${r.slice(0,Wf)}\u2026`:r}}};Ms=new WeakMap,Ac=new WeakMap,co=new WeakSet,zf=function(){return c(this,Ac)>Wf},Yf=function(e,n){if(n!==null&&hn(n))return;let r=(e??"").replace(/\s+/g," ").trim();r.length!==0&&GI(r)&&(c(this,Ms).has(r)||(c(this,Ms).add(r),p(this,Ac,c(this,Ac)+(r.length+u_.length))))};function KI(t){return t instanceof Element?t:t.parentElement}D();_n();var WI=new Set(["checkbox","switch"]),p_="aria-checked",Vd=t=>!me(t)&&WI.has(t.getAttribute("role")??""),f_=t=>t.getAttribute(p_)==="true";function h_(t,e,n){if(n||!Vd(t)||e!==R.CHECK&&e!==R.UNCHECK)return;let r=e===R.CHECK;if(f_(t)!==r)throw new Error(`${e} clicked the ${t.getAttribute("role")??""} but ${p_} is still "${String(!r)}" \u2014 the app did not toggle it`)}function Kd(t,e){if(e!==R.CHECK&&e!==R.UNCHECK)return!1;let n=e===R.CHECK;return me(t)?t.checked===n:Vd(t)&&f_(t)===n}D();Ds();Ve();_n();var qf=t=>new Promise(e=>z(e,t));function g_(t,e=""){return typeof t=="string"?t:e}function zd(t){return Wp(t)}function E_(t){let e=t.modifiers,n=Array.isArray(e)?e.map(i=>g_(i).toLowerCase()):[],r=(...i)=>i.some(s=>n.includes(s));return{metaKey:r("meta","cmd","command","super","win"),ctrlKey:r("control","ctrl"),shiftKey:r("shift"),altKey:r("alt","option","opt")}}function Wd(t,e){let n=t.code;return typeof n=="string"&&0<n.length?n:e===" "?"Space":e.length===1?/[a-z]/i.test(e)?`Key${e.toUpperCase()}`:/[0-9]/.test(e)?`Digit${e}`:"":/^[A-Z][A-Za-z0-9]*$/.test(e)&&zI.has(e)?e:""}var zI=new Set(["Enter","Escape","Tab","Backspace","Delete","Home","End","PageUp","PageDown","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Insert","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),YI="no document to press into";function b_(){let t=document.activeElement;if(bn(t)&&document.body!==t)return t;if(bn(document.body))return document.body;let e=document.documentElement;if(bn(e))return e;throw new Error(YI)}function T_(t,e,n){return t.length===0&&RE(n)&&R.PRESS===e}function __(t){let e=t.keys;return Array.isArray(e)?e.map(n=>g_(n)).filter(n=>n.length>0):[]}var qI=33,m_=500;async function S_(t,e,n,r,i){let s=Date.now();for(i>m_&&await qf(m_);Date.now()-s<i;)Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r}))),await qf(Math.min(qI,Math.max(0,i-(Date.now()-s))))}async function x_(t,e,n,r){let i=!1;for(let s of e){let a=Wd({},s);Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:s,code:a,bubbles:!0,cancelable:!0,...n})))||(i=!0)}r>0&&await qf(r);for(let s of[...e].reverse()){let a=Wd({},s);Fe(()=>t.dispatchEvent(new KeyboardEvent("keyup",{key:s,code:a,bubbles:!0,...n})))}return i}gt();et();var XI=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],ZI=3;function Yd(t,e){if(e.width===0||e.height===0)return null;let n=t.ownerDocument;if(typeof n.elementFromPoint!="function")return null;let r=n,i=u=>Xi(u)&&u!==t&&!t.contains(u)&&!u.contains(t),s=(u,f)=>(r.elementsFromPoint?.(u,f)??[n.elementFromPoint(u,f)]).find(E=>E!==null&&!i(E))??null,a=new Map;for(let[u,f]of XI){let g=s(e.left+e.width*u,e.top+e.height*f);g!==null&&(g===t||t.contains(g)||g.contains(t)||a.set(g,(a.get(g)??0)+1))}let l=null,d=0;for(let[u,f]of a)f>d&&(l=u,d=f);return d>=ZI?l:null}Ve();Ds();var qd={occluded:!1,occludedBy:null,scrolledIntoView:!1};function Sn(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function Xd(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}async function Rc(t,e,n){let r=t.ownerDocument,i=r.activeElement??r.body,s={bubbles:!0,cancelable:!0,detail:n??0};yc(t,"pointerdown",i),Fe(()=>t.dispatchEvent(Sn(t,"mousedown",s))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let a=0;if(e!==void 0&&e.ms>0){let d=e.now();await e.sleep(e.ms),a=e.now()-d}return yc(t,"pointerup",i),Fe(()=>t.dispatchEvent(Sn(t,"mouseup",s))),{prevented:!Fe(()=>t.dispatchEvent(Sn(t,"click",s))),heldMs:a}}function QI(t){return t.width>0||t.height>0}function JI(t,e){let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=e.left+e.width/2,i=e.top+e.height/2;return r<0||i<0||r>n.innerWidth||i>n.innerHeight}function eL(t,e){let n=Yd(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:X.refFor(n)}}function O_(t){if(typeof t.getBoundingClientRect!="function")return qd;let e=t.getBoundingClientRect();if(!QI(e))return qd;let n=!1;return JI(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect()),{...eL(t,e),scrolledIntoView:n}}function yc(t,e,n=null){Fe(()=>t.dispatchEvent(Xd(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function w_(t,e,n=null){Fe(()=>t.dispatchEvent(Xd(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function tL(t){if(typeof DataTransfer!="function")return null;let e=new DataTransfer,n=Array.isArray(t)?t:t!==void 0?[t]:[];for(let r of n)if(typeof r=="object"&&r!==null){let i=r;typeof i.mime=="string"&&typeof i.value=="string"&&e.setData(i.mime,i.value)}return e}var rt=1,A_=0,y_=5;function R_(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function nL(t,e,n){return{x:Math.round(t.x+(e.x-t.x)*n),y:Math.round(t.y+(e.y-t.y)*n)}}async function Xf(t,e,n){let r=e??t,i=R_(t),s=R_(r),a=(_,S,U,L,G)=>{let Q={bubbles:!(S.endsWith("enter")||S.endsWith("leave")),cancelable:!0,clientX:U.x,clientY:U.y,screenX:U.x,screenY:U.y,buttons:L,button:0,...G!==void 0?{relatedTarget:G}:{}};_.dispatchEvent(S.startsWith("pointer")?Xd(_,S,{...Q,pointerId:1,isPrimary:!0}):Sn(_,S,Q))},l=t.getBoundingClientRect(),d=e!==null?r.getBoundingClientRect():null,u=(_,S)=>S.x>=_.left&&S.x<=_.right&&S.y>=_.top&&S.y<=_.bottom;a(t,"pointerdown",i,rt),a(t,"mousedown",i,rt),await ao();let f=!1,g=!1;for(let _=1;_<=y_;_+=1){let S=nL(i,s,_/y_);!f&&!u(l,S)&&(f=!0,a(t,"pointerout",S,rt,r),a(t,"mouseout",S,rt,r),a(t,"pointerleave",S,rt,r),a(t,"mouseleave",S,rt,r)),f&&!g&&d!==null&&u(d,S)&&(g=!0,a(r,"pointerover",S,rt,t),a(r,"mouseover",S,rt,t),a(r,"pointerenter",S,rt,t),a(r,"mouseenter",S,rt,t)),a(r,"pointermove",S,rt),a(r,"mousemove",S,rt),await ao()}!g&&d!==null&&(a(r,"pointerover",s,rt,t),a(r,"mouseover",s,rt,t),a(r,"pointerenter",s,rt,t),a(r,"mouseenter",s,rt,t)),a(r,"pointerup",s,A_),a(r,"mouseup",s,A_);let E=!1;if(typeof DragEvent=="function"){let _=tL(n),S={bubbles:!0,cancelable:!0};_!==null&&(S.dataTransfer=_),t.dispatchEvent(new DragEvent("dragstart",S)),await ao(),r.dispatchEvent(new DragEvent("dragenter",S)),r.dispatchEvent(new DragEvent("dragover",S)),await ao(),E=!r.dispatchEvent(new DragEvent("drop",S)),t.dispatchEvent(new DragEvent("dragend",S))}return E}async function C_(t,e){let n=rL(t);v_(t,"pointerdown"),Fe(()=>t.dispatchEvent(N_("touchstart",n))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let r=0;if(e!==void 0&&e.ms>0){let s=e.now();await e.sleep(e.ms),r=e.now()-s}return Fe(()=>t.dispatchEvent(N_("touchend",[]))),v_(t,"pointerup"),{prevented:!Fe(()=>t.dispatchEvent(Sn(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function v_(t,e){Fe(()=>t.dispatchEvent(Xd(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function rL(t){if(typeof Touch!="function"||typeof t.getBoundingClientRect!="function")return[];let e=t.getBoundingClientRect();try{return[new Touch({identifier:0,target:t,clientX:e.left+e.width/2,clientY:e.top+e.height/2})]}catch{return[]}}function N_(t,e){if(typeof TouchEvent=="function")try{return new TouchEvent(t,{bubbles:!0,cancelable:!0,touches:e,targetTouches:e,changedTouches:e})}catch{}return new Event(t,{bubbles:!0,cancelable:!0})}gt();var oL=400,iL=.8;function sL(t,e){let n=t;for(;n!==null&&n!==document.body;){let r=getComputedStyle(n),i=e==="x"?r.overflowX:r.overflowY,s=e==="x"?n.scrollWidth>n.clientWidth:n.scrollHeight>n.clientHeight;if((i==="auto"||i==="scroll")&&s)return n;n=n.parentElement}return document.scrollingElement??document.documentElement}function I_(t,e,n,r){let i=t!==void 0?X.resolve(t):null;return Zf(i instanceof Element?i:void 0,e,n,r)}function Zf(t,e,n,r){let s=t!==void 0?sL(t,r!==void 0&&r!==0&&(e===void 0||e===0)?"x":"y"):document.scrollingElement??document.documentElement,a=s.scrollTop,l=s.scrollLeft;if(n!==void 0&&n>=0&&n<=1)s.scrollTop=Math.round(s.scrollHeight*n);else if(r!==void 0&&r!==0&&(s.scrollLeft=l+r),r===void 0||e!==void 0&&e!==0){let f=e??(Math.round(s.clientHeight*iL)||oL);s.scrollTop=a+f}s.dispatchEvent(new Event("scroll",{bubbles:!1}));let d=s.scrollTop,u=s.scrollLeft;return{scrolled:d!==a||u!==l,scrollTop:d,scrollHeight:s.scrollHeight,clientHeight:s.clientHeight,atEnd:d+s.clientHeight>=s.scrollHeight-1,atStart:d<=1,scrollLeft:u,scrollWidth:s.scrollWidth,clientWidth:s.clientWidth,atLeftEnd:u<=1,atRightEnd:u+s.clientWidth>=s.scrollWidth-1}}function vc(t,e=""){return typeof t=="string"?t:e}function aL(t){let e=X.resolve(t);if(e===null)throw new Error(`ref '${ni(t)}' no longer resolves to an element`);if(!ri(e))throw new Error(`ref '${ni(t)}' is not an HTML or SVG element`);return e}function cL(t){let e=t.getAttribute("data-testid")??void 0,n=Wn(t),r={};e!==void 0&&(r.testid=e);let i=n?.componentStack[0];i!==void 0&&(r.component=i),n?.source!==void 0&&(r.source=n.source);let s=Oe(t),a=be(t);return s.length>0&&(r.role=s),a.length>0&&(r.name=a),r}var lL=(t,e,n,r,i,s,a)=>{let l={ok:!0,ref:t,action:e,dispatched:!0,settled:r,settleReason:i,effect:n};return s.testid!==void 0&&(l.testid=s.testid),s.component!==void 0&&(l.component=s.component),s.source!==void 0&&(l.source=s.source),s.role!==void 0&&(l.role=s.role),s.name!==void 0&&(l.name=s.name),a!==void 0&&(l.warning=a),l},dL=new Set([R.FILL,R.TYPE,R.CLEAR,R.SELECT]),uL=t=>dL.has(t),pL=new Set([R.CLICK,R.DBLCLICK,R.CHECK,R.UNCHECK]);function M_(t){let e=vc(t.toRef);return e!==""?e:vc(t.target)}var L_=new Set(["content","name","type","__base64"]),fL=new Set([Xl,Pg,"holdMs"]);function hL(t){let e=Object.keys(t),n=e.filter(i=>!L_.has(i)&&!fL.has(i));if(n.length===0&&e.some(i=>L_.has(i)))return;let r=n.length===0?"no file was described":`upload does not read ${n.join(", ")}, so it would be dropped`;throw new Error(`upload needs the file described as args: { name, content?, type? } \u2014 ${r}. To upload a file from disk, use the reticle daemon which reads it via args.path and delivers real bytes; calling with { path } directly reaches only fabricated content.`)}function mL(t,e,n){let r=e===R.CLICK||e===R.DBLCLICK||e===R.CHECK||e===R.UNCHECK||e===R.DRAG||e===R.SUBMIT||e===R.PRESS&&zd(n)==="Enter",i=e===R.DRAG?X.resolve(M_(n)):null,s=e===R.PRESS&&zd(n)==="Enter"?r_(t):null,a=Fd(Hd(t),Oe(t))||s!==null&&Fd(Hd(s),Oe(s)),l=ri(i)&&Fd(Hd(i),Oe(i));if(r&&(a||l)&&n[Xl]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${Xl}=true`)}function P_(t){return!Er(t).includes(re.DISABLED)}function k_(t){if(me(t)||Et(t)||Tn(t))return t.value}function D_(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:X.refFor(e)}var gL=3e4;function Nc(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,gL)}async function EL(t,e,n){if(R.CLICK===e){let r=Nc(n.holdMs);return await Rc(t,r===0?void 0:{ms:r,sleep:Jf,now:()=>Date.now()})}if(R.TAP===e){let r=Nc(n.holdMs);return await C_(t,r===0?void 0:{ms:r,sleep:Jf,now:()=>Date.now()})}return{prevented:await TL(t,e,n),heldMs:0}}var bL="cannot zoom from inside the page \u2014 CSS zoom changes how it LOOKS without changing the layout viewport, visualViewport or media queries, so a layout that breaks at 200% would be reported as checked and passing. Drive a real browser (reticle drive <url>, or reticle_lease) and zoom there.";function Qf(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function TL(t,e,n){switch(e){case R.DBLCLICK:return await Rc(t,void 0,1),await Rc(t,void 0,2),!Fe(()=>t.dispatchEvent(Sn(t,"dblclick",{bubbles:!0,cancelable:!0,detail:2})));case R.HOVER:{let r=t.ownerDocument,i=r.activeElement??r.body;yc(t,"pointerover",i),t.dispatchEvent(Sn(t,"mouseover",{bubbles:!0,relatedTarget:i})),w_(t,"pointerenter",i),t.dispatchEvent(Sn(t,"mouseenter",{relatedTarget:i})),yc(t,"pointermove",i);let s=t.dispatchEvent(Sn(t,"mousemove",{bubbles:!0,cancelable:!0})),a=Nc(n.holdMs);return a>0&&await Jf(a),!s}case R.FOCUS:return t.focus(),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0})),!1;case R.BLUR:{let i=t.getRootNode().activeElement===t;return t.blur(),i||(t.dispatchEvent(new FocusEvent("blur")),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0}))),!1}case R.FILL:if(me(t)||Et(t)){if(typeof n.value!="string")throw new Error("fill requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }. To empty a field on purpose use the `clear` action, or fill with an explicit \"\".");return Kf(t,"fill"),t.focus(),Bd(t,n.value)}throw Vf(t,"fill"),new Error(`cannot fill a <${t.tagName.toLowerCase()}>`);case R.TYPE:if(me(t)||Et(t)){if(typeof n.text!="string")throw new Error("type requires a string `text` \u2014 pass it nested, as args: { text: '\u2026' }.");return Kf(t,"type"),t.focus(),Bd(t,t.value+n.text)}throw Vf(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case R.CLEAR:if(me(t)||Et(t))return Bd(t,"");throw new Error(`cannot clear a <${t.tagName.toLowerCase()}>`);case R.SELECT:if(Tn(t)){if(typeof n.value!="string")throw new Error("select requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }.");let r=n.value,i=Array.from(t.options);if(!i.some(s=>s.value===r)){let s=i.map(a=>`${a.value} (${a.label})`).join(", ");throw new Error(`no <option> with value '${ni(r)}' \u2014 available: ${i.length===0?"(none)":s}`)}return t.value=r,t.dispatchEvent(new Event("change",{bubbles:!0})),!1}throw new Error(`cannot select on a <${t.tagName.toLowerCase()}>`);case R.CHECK:case R.UNCHECK:{let r=Vd(t);if(!me(t)&&!r)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!P_(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!me(t))return Kd(t,e)?!1:(await Rc(t)).prevented;if(t.type==="radio"&&e===R.UNCHECK)throw new Error("cannot uncheck a radio button \u2014 a real user could not; select another radio in the group");if(Kd(t,e))return!1;let i=Sn(t,"click",{bubbles:!0,cancelable:!0,composed:!0});return!Fe(()=>t.dispatchEvent(i))||i.defaultPrevented}case R.SUBMIT:{let r=gT(t)?t:t.closest("form");if(r===null)throw new Error("no form to submit");return r.requestSubmit(),!1}case R.PRESS:{let r=E_(n),i=__(n);if(i.length>0)return await x_(t,i,r,Nc(n.holdMs));let s=zd(n),a=Wd(n,s),l=Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:s,code:a,bubbles:!0,cancelable:!0,...r}))),d=Nc(n.holdMs);return d>0&&await S_(t,s,a,r,d),Fe(()=>t.dispatchEvent(new KeyboardEvent("keyup",{key:s,code:a,bubbles:!0,...r}))),!l}case R.SCROLL_INTO_VIEW:return t.scrollIntoView(),!1;case R.ZOOM:throw new Error(bL);case R.SCROLL:{let r=Qf(n.dy),i=Qf(n.dx),s=Qf(n.fraction);return Zf(t,r,s,i),!1}case R.UPLOAD:{if(!me(t)||t.type!=="file")throw new Error('upload target must be a <input type="file">');hL(n);let r=vc(n.content,"reticle test file"),i=r;if(n.__base64===!0){let d=atob(r),u=new Uint8Array(d.length);for(let f=0;f<d.length;f++)u[f]=d.charCodeAt(f);i=u.buffer.slice(0)}let s=new File([i],vc(n.name,"file.txt"),{type:vc(n.type,"text/plain")}),a=new DataTransfer;a.items.add(s),t.files=a.files;let l=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!l}case R.DRAG:{let r=M_(n);if(r==="")return await Xf(t,null,n.data);let i=X.resolve(r);if(!ri(i))throw new Error(`drag target '${ni(r)}' did not resolve to an element \u2014 pass a ref from reticle_snapshot or reticle_query as args.toRef (alias: args.target)`);return await Xf(t,i,n.data)}default:throw new Error(`unknown action '${e}'`)}}function _L(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,SL))}var SL=200;async function Oc(t,e,n={}){let r=0<t.length,i=T_(t,e,n)?b_():aL(t);r&&mL(i,e,n);let s=r?cL(i):{},a=nt(i),l=P_(i),d=D_(i),u=k_(i),f=pL.has(e)?O_(i):qd,g=Kd(i,e),E=0,_=new jd,S=new MutationObserver(ve=>{E+=ve.length,_.collect(ve)});S.observe(i.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let U=!1,L=0,G=!1,$=null;try{let ve=await EL(i,e,n);U=ve.prevented,L=ve.heldMs}finally{let ve=_L(n.settleMs),zt=await d_(ve);G=zt.settled,$=zt.settled?null:Hg.TIMEOUT,S.disconnect()}h_(i,e,g);let Q=k_(i),se=D_(i),xe={dispatched:!0,targetMatched:r&&i.isConnected,visible:a,enabled:l,defaultPrevented:U,focusMoved:d!==se?`${d??"null"}->${se??"null"}`:null,valueChanged:uL(e)?u!==Q:!1,domMutatedWithin:E,..._.effect(Q),occluded:f.occluded,occludedBy:f.occludedBy,scrolledIntoView:f.scrolledIntoView,...L>0?{heldMs:L}:{},...g?{alreadyAtValue:!0}:{}},ge=r?f.occluded?Jl.CLICK_OCCLUDED:e===R.HOVER&&Dd(i)?Jl.HOVER_NATIVE_ENTER_LEAVE:void 0:Jl.GLOBAL_PRESS;return lL(t,e,xe,G,$,s,ge)}var Jf=t=>new Promise(e=>z(e,t));async function Zd(t){let e=[],n=[];for(let r of t){let i=await Oc(r.ref,r.action,r.args??{});e.push(i.effect);let s={ref:i.ref,action:i.action,dispatched:i.dispatched,settled:i.settled,settleReason:i.settleReason};i.testid!==void 0&&(s.testid=i.testid),i.component!==void 0&&(s.component=i.component),i.role!==void 0&&(s.role=i.role),i.name!==void 0&&(s.name=i.name),i.source!==void 0&&(s.source=i.source),i.warning!==void 0&&(s.warning=i.warning),n.push(s)}return{ok:!0,count:t.length,effects:e,steps:n}}Mt();bc();var $_="data-theme";function xL(){let t=new Set;for(let e of Array.from(document.styleSheets)){let n=null;try{n=e.cssRules}catch{continue}if(n!==null){for(let r of Array.from(n))if(r instanceof CSSStyleRule)for(let i of Array.from(r.style))i.startsWith("--")&&t.add(i)}}return t}function AL(){let t=new Map,e=document.body??document.documentElement;if(e===null)return t;let n=getComputedStyle(e),r=document.createElement("span");r.style.position="absolute",r.style.pointerEvents="none",document.body.appendChild(r);try{for(let i of xL()){let s=yL(r,n.getPropertyValue(i).trim());if(s===null)continue;let a=t.get(s);a===void 0?t.set(s,[i]):a.push(i)}}finally{r.remove()}for(let i of t.values())i.sort();return t}function yL(t,e){return e.length===0||(t.style.color="",t.style.color=e,t.style.color==="")?null:getComputedStyle(t).color}function U_(t){return t==="rgba(0, 0, 0, 0)"||t==="transparent"}function RL(){let t=document.documentElement;if(t===null)return null;let e=Array.from(t.classList).map(i=>`.${i}`).join(""),n=t.getAttribute($_),r=`${e}${n===null?"":`[${$_}="${n}"]`}`;return r.length===0?null:r}function H_(t){return t.length===1?t[0]??null:null}function F_(t){let e=AL(),n=e.get(t.color)??[],r=e.get(t.backgroundColor)??[],i=!U_(t.color)&&n.length===0,s=!U_(t.backgroundColor)&&r.length===0,a=0;for(let l of e.values())a+=l.length;return{colorToken:H_(n),colorTokens:n,backgroundToken:H_(r),backgroundTokens:r,offTheme:a>0&&(i||s),tokenCount:a,themeScope:RL()}}gt();_n();D();jn();function W(t){try{t()}catch{}}function nn(t){try{return t()}catch{return}}function wc(t){try{return t()}catch{return null}}function Qd(t){let e={};if(t===null)return e;for(let n=0;n<t.length;n+=1){let r=t.key(n);if(r===null)continue;let i=t.getItem(r)??"";e[r]=He(r)?ye:Jo(i)}return e}function B_(){let t={},e="";try{e=typeof document<"u"?document.cookie:""}catch{return t}for(let n of e.split(";")){let r=n.indexOf("=");if(r===-1)continue;let i=n.slice(0,r).trim();if(i==="")continue;if(He(i)){t[i]=ye;continue}let s="";try{s=decodeURIComponent(n.slice(r+1).trim())}catch{s=n.slice(r+1).trim()}t[i]=Jo(s)}return t}function G_(t){return t===ei.LOCAL?Qd(wc(()=>window.localStorage)):t===ei.SESSION?Qd(wc(()=>window.sessionStorage)):ei.COOKIE===t?B_():{local:Qd(wc(()=>window.localStorage)),session:Qd(wc(()=>window.sessionStorage)),cookies:B_()}}function si(t,e){if(e!==null)return He(t)?ye:Jo(e)}function j_(t){if(typeof Storage>"u")return()=>{};let e=Storage.prototype,n=Object.getOwnPropertyDescriptor(e,"setItem")?.value,r=Object.getOwnPropertyDescriptor(e,"removeItem")?.value,i=Object.getOwnPropertyDescriptor(e,"clear")?.value;if(n===void 0||r===void 0||i===void 0)return()=>{};let s=f=>f===wc(()=>window.sessionStorage)?ei.SESSION:ei.LOCAL,a=(f,g)=>{try{return f.getItem(g)}catch{return null}},l=function(f,g){let E=nn(()=>a(this,f))??null;n.call(this,f,g),E!==g&&W(()=>{t(b.STORAGE_CHANGE,{area:s(this),key:f,...si(f,E)===void 0?{}:{old:si(f,E)},new:si(f,g)??ye})})};e.setItem=l;let d=function(f){let g=nn(()=>a(this,f))??null;r.call(this,f),W(()=>{t(b.STORAGE_CHANGE,{area:s(this),key:f,...si(f,g)===void 0?{}:{old:si(f,g)}})})};e.removeItem=d;let u=function(){let f=s(this),g=[];try{for(let E=0;E<this.length;E+=1){let _=this.key(E);_!==null&&g.push({key:_,old:a(this,_)})}}catch{}i.call(this);for(let{key:E,old:_}of g)W(()=>{t(b.STORAGE_CHANGE,{area:f,key:E,...si(E,_)===void 0?{}:{old:si(E,_)}})})};return e.clear=u,()=>{e.setItem===l&&(e.setItem=n),e.removeItem===d&&(e.removeItem=r),e.clear===u&&(e.clear=i)}}D();Ve();et();var vL=ss.FULL_PAGE_UNSUPPORTED,NL=[vL,ss.NOT_COMPOSITED],OL="__TAURI_INTERNALS__";function wL(){let t=window[OL];if(typeof t?.invoke!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(Td,{fullPage:n===!0});return typeof r=="string"?r:null}}async function CL(t){let e=[...document.querySelectorAll(qi)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await ao(),await ao()),await t()}finally{e.forEach((r,i)=>{r.style.visibility=n[i]??""})}}async function V_(t=!1){let e=window[eo],n=typeof e?.capture=="function"?e.capture:wL();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await CL(()=>n(t));return typeof r=="string"&&r.length>0?{ok:!0,path:r}:{ok:!1,reason:"capture returned no image"}}catch(r){let i=r instanceof Error?r.message:String(r);for(let s of NL)if(i.includes(s))return{ok:!1,reason:s};return{ok:!1,reason:i}}}ii();oi();jn();io();function IL(t,e){return Object.getOwnPropertyDescriptor(t,e)?.value}function xn(t,e){let n=IL(t,e);if(n===void 0)throw new Error(`[Reticle] cannot patch ${String(e)}: it is not an own property of the target`);return n}to();var LL=12e4,$s=!1,Tr=0,K_=0,W_=1,_r=[],Ps=null,ai,Jd={};function z_(){if(Ps===null)return;let t=Ps,e=t.clearTimeout.bind(window);ai!==void 0&&e(ai),ai=t.setTimeout.bind(window)(()=>{ai=void 0,Us()},LL)}function Y_(){return $s}function q_(){if($s||typeof window>"u")return;$s=!0,Tr=0,K_=Date.now(),Ps={setTimeout:xn(window,"setTimeout"),clearTimeout:xn(window,"clearTimeout"),setInterval:xn(window,"setInterval"),clearInterval:xn(window,"clearInterval"),dateNow:xn(Date,"now")};let t=(r,i,s)=>{let a=W_;return W_+=1,_r.push({id:a,time:Tr+Math.max(0,i),cb:r,interval:s}),a},e=r=>{_r=_r.filter(i=>i.id!==r)},n=(r,i)=>()=>{r(...i)};window.setTimeout=((r,i=0,...s)=>t(n(r,s),i)),window.clearTimeout=(r=>e(r)),window.setInterval=((r,i=0,...s)=>t(n(r,s),i,Math.max(1,i))),window.clearInterval=(r=>e(r)),Jd={setTimeout:he(window,"setTimeout"),clearTimeout:he(window,"clearTimeout"),setInterval:he(window,"setInterval"),clearInterval:he(window,"clearInterval")},Date.now=()=>K_+Tr,Jd.dateNow=he(Date,"now"),z_()}function X_(t){if(!$s)return;let e=Tr+Math.max(0,t),n=0;for(;n+=1,!(n>1e5);){let i=_r.filter(s=>s.time<=e).sort((s,a)=>s.time-a.time)[0];if(i===void 0)break;_r=_r.filter(s=>s!==i),Tr=i.time,i.cb(),i.interval!==void 0&&_r.push({...i,time:Tr+i.interval})}Tr=e,z_()}function Us(){if(!$s||Ps===null)return;let t=Ps,e=_r;ai!==void 0&&(t.clearTimeout.bind(window)(ai),ai=void 0);let n=Jd;Jd={},window.setTimeout===n.setTimeout&&(window.setTimeout=t.setTimeout),window.clearTimeout===n.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.setInterval===n.setInterval&&(window.setInterval=t.setInterval),window.clearInterval===n.clearInterval&&(window.clearInterval=t.clearInterval),Date.now===n.dateNow&&(Date.now=t.dateNow);let r=Tr;if(Ps=null,_r=[],$s=!1,Tr=0,e.length===0)return;let i=t.setTimeout.bind(window),s=t.setInterval.bind(window),a=new Map,l={},d=u=>{a.delete(u),a.size===0&&l.current!==void 0&&DL(t,l.current)};for(let u of e)u.interval!==void 0?a.set(u.id,s(u.cb,u.interval)):a.set(u.id,i(()=>{d(u.id),u.cb()},Math.max(0,u.time-r)));l.current=kL(a,t,d)}function kL(t,e,n){let r=i=>{let s=i.bind(window);return(a=>{let l=t.get(a);if(l===void 0){s(a);return}s(l),n(a)})};return window.clearTimeout=r(e.clearTimeout),window.clearInterval=r(e.clearInterval),{clearTimeout:he(window,"clearTimeout"),clearInterval:he(window,"clearInterval")}}function DL(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var eu="_reticle_reload";function we(t){return typeof t=="string"?t:void 0}function J_(t){return typeof t=="number"?t:void 0}function Z_(t){return typeof t=="object"&&t!==null?t:{}}function ML(t){if(typeof t!="object"||t===null)return;let e=t;if(!(typeof e.file!="string"||typeof e.line!="number"))return{file:e.file,line:e.line,column:J_(e.column)}}function PL(t){return{by:we(t.by),value:we(t.value),role:we(t.role),name:we(t.name),text:we(t.text),label:we(t.label),placeholder:we(t.placeholder),testid:we(t.testid),alt:we(t.alt),component:we(t.component),scope:we(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:ML(t.source)}}function $L(t){let e=X.resolve(t);if(e===null)throw new Error(uc.staleRefMessage(t));let n=e.getBoundingClientRect(),r=Wn(e),i=e.ownerDocument.defaultView,s=i!==null?i.getComputedStyle(e):null,a=s!==null?{color:s.color,backgroundColor:s.backgroundColor,opacity:s.opacity,cursor:s.cursor,display:s.display,visibility:s.visibility}:null,l=Rd(yd(e,r?.source)),d=l!==void 0?void 0:ST(e.ownerDocument)?"This element has no source stamp. Others on the page do, so the stamping loader is running \u2014 the nearest stamped ancestor is out of range, or this element is rendered outside instrumented code.":"No element in this document carries a source stamp, so the stamping loader is not running: an older adapter, a bundler whose hook never ran, or a build the plugin was dropped from. Add @reticlehq/vite-plugin (or @reticlehq/babel-plugin) to the dev build and restart the dev server to get `file:line` back.",u={scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,overflowY:s?.overflowY??"visible",scrollLeft:e.scrollLeft,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,overflowX:s?.overflowX??"visible"},f=OT(e);return{...Vn(e),...l!==void 0?{source:l}:{},...f.length>0?{paintContext:f}:{},...d!==void 0?{sourceUnavailable:d}:{},tag:e.tagName.toLowerCase(),href:e.getAttribute("href")??void 0,formAction:Rs(e)||me(e)?e.form?.getAttribute("action")??void 0:void 0,formText:Rs(e)||me(e)?e.form?.textContent??void 0:void 0,box:{x:n.x,y:n.y,width:n.width,height:n.height},occluded:UL(e,n),styles:a,scroll:u,theme:s!==null?F_(s):null,component:r}}function UL(t,e){return Yd(t,e)!==null}function HL(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var Q_={ok:!1,reason:Fg.UNAVAILABLE};function FL(t,e,n,r){let i=ro();if(n!==void 0||r!==void 0){let d=Pf(e),u=e!==void 0?d[e]:{stores:d,storeNames:i},f=n!==void 0?_b(u,n):{found:!0,value:u},g=f.found&&r!==void 0?gs(f.value,r):f.value,E=gc(g);return{store:e,path:n,found:f.found,value:E.value,...E.truncation===void 0?{}:{truncation:E.truncation},..."availableKeys"in f?{availableKeys:f.availableKeys}:{},..."totalKeys"in f?{totalKeys:f.totalKeys}:{},storeNames:i}}let{stores:s,truncation:a}=Sc(e),l={stores:s,storeNames:i};if(a!==void 0&&(l.truncation=a),t!==void 0&&t.length>0){let d=X.resolve(t);if(d===null)l.component=Q_;else{let u=kd(d);l.component=HL(u)?u:Q_}}return l}function BL(){let t=document;return typeof t.getAnimations!="function"?{animations:[]}:{animations:t.getAnimations().map(n=>{let r=n.effect,i=r?.getTiming(),s=r?.target??null;return{playState:n.playState,currentTime:n.currentTime,duration:i?.duration,target:s===null?null:Vn(s)}})}}function GL(t,e){if(t.length===0||t.length>H.MAX_URL_LENGTH)return null;try{let n=new URL(t,e);return n.protocol==="http:"||n.protocol==="https:"?n.toString():null}catch{return null}}function eS(){let t=new Map;return t.set(C.SNAPSHOT,e=>Nd({scope:we(e.scope),mode:we(e.mode)??cs.FULL,includeRoot:e.includeRoot===!0})),t.set(C.QUERY,e=>{let n=e.limit;return $d(PL(e),typeof n=="number"?n:void 0)}),t.set(C.MATCH,e=>xc(id.parse(Z_(e.query)),we(e.state))),t.set(C.ACT,e=>{let n=we(e.action)??"";return Oc(we(e.ref)??"",n,Z_(e.args))}),t.set(C.ACT_SEQUENCE,e=>Zd(Array.isArray(e.steps)?e.steps:[])),t.set(C.INSPECT,e=>$L(we(e.ref)??"")),t.set(C.ANIMATIONS,()=>BL()),t.set(C.CLOCK,e=>{if(e.reset===!0)Us();else{e.freeze===!0&&q_();let n=e.advanceMs;typeof n=="number"&&X_(n)}return{frozen:Y_()}}),t.set(C.STATE_READ,e=>FL(we(e.ref),we(e.store),we(e.path),J_(e.depth))),t.set(C.STORAGE_READ,e=>G_(we(e.area))),t.set(C.CAPABILITIES,()=>oo()),t.set(C.CAPTURE,e=>V_(e.fullPage===!0)),t.set(C.SCROLL,e=>{let n=e.dy,r=e.fraction;return I_(we(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(C.NAVIGATE,e=>{let n=we(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=GL(n,window.location.href);return r===null?{ok:!1,reason:"only http(s) navigation is allowed"}:(window.location.assign(r),{ok:!0,url:r})}),t.set(C.REFRESH,e=>{if(e.hard===!0){let n=new URL(window.location.href);n.searchParams.set(eu,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}D();Ve();_c();jn();function jL(t){if(typeof document>"u")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var eh=1e3,VL=3e4;function KL(t){return Math.min(t*2,VL)}var WL=500,zL=1008,YL=3,bt,Sr,lo,ru,xr,Hs,ci,Fs,Ic,Bs,Lc,Gs,li,js,Vs,Tt,kc,fe,tS,tu,th,nS,nh,rh,rS,Cc,oS,nu=class{constructor(e){m(this,fe);m(this,bt);m(this,Sr,[]);m(this,lo,[]);m(this,ru,0);m(this,xr,!1);m(this,Hs);m(this,ci,eh);m(this,Fs,!1);m(this,Ic,!1);m(this,Bs,0);m(this,Lc,!1);m(this,Gs,0);m(this,li);m(this,js);m(this,Vs);m(this,Tt);m(this,kc);p(this,Tt,e),p(this,kc,e.now??Gd)}connect(){typeof WebSocket>"u"||(p(this,xr,!1),c(this,Vs)??p(this,Vs,(c(this,Tt).onVisible??jL)(()=>h(this,fe,tS).call(this))),h(this,fe,tu).call(this))}sendEvent(e){h(this,fe,Cc).call(this,Gn({kind:ft.EVENT,event:e}),{seq:e.seq,t:e.t,type:e.type})}reannounce(){c(this,bt)===void 0||c(this,bt).readyState!==WebSocket.OPEN||c(this,bt).send(JSON.stringify(c(this,Tt).hello()))}close(){var e;p(this,xr,!0),(e=c(this,Vs))==null||e.call(this),p(this,Vs,void 0),c(this,bt)?.close(),p(this,bt,void 0)}};bt=new WeakMap,Sr=new WeakMap,lo=new WeakMap,ru=new WeakMap,xr=new WeakMap,Hs=new WeakMap,ci=new WeakMap,Fs=new WeakMap,Ic=new WeakMap,Bs=new WeakMap,Lc=new WeakMap,Gs=new WeakMap,li=new WeakMap,js=new WeakMap,Vs=new WeakMap,Tt=new WeakMap,kc=new WeakMap,fe=new WeakSet,tS=function(){c(this,xr)||(p(this,ci,eh),c(this,bt)===void 0&&h(this,fe,tu).call(this))},tu=function(){let e;try{e=new WebSocket(c(this,Tt).url)}catch{h(this,fe,rh).call(this),h(this,fe,nh).call(this),h(this,fe,th).call(this);return}p(this,bt,e),e.onopen=()=>{p(this,Hs,void 0),p(this,Fs,!1),p(this,Ic,!0),p(this,ci,eh);let n=c(this,Tt).hello();c(this,js)??p(this,js,n.sessionId),e.send(JSON.stringify(n)),h(this,fe,oS).call(this,e,n.sessionId);let r=[...c(this,Sr),...c(this,lo)].sort((i,s)=>i.order-s.order);for(let i of r)e.send(i.text);p(this,Sr,[]),p(this,lo,[]),c(this,Tt).onConnected?.()},e.onmessage=n=>{let r=n.data;h(this,fe,rS).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{if(p(this,bt,void 0),n.code===zL){p(this,xr,!0);let r=n.reason.length>0?n.reason:"policy violation";Kn(`[reticle] bridge refused the connection: ${r} \u2014 not retrying.`),c(this,Tt).onConnectionLost?.();return}h(this,fe,rh).call(this),h(this,fe,nh).call(this),h(this,fe,th).call(this)},e.onerror=()=>{e.close()}},th=function(){if(c(this,xr))return;let e=c(this,ci);p(this,ci,KL(e)),(c(this,Tt).schedule??z)(()=>h(this,fe,nS).call(this),e)},nS=function(){c(this,xr)||c(this,bt)!==void 0||h(this,fe,tu).call(this)},nh=function(){c(this,Ic)||c(this,Lc)||(p(this,Bs,c(this,Bs)+1),c(this,Bs)>=YL&&(p(this,Lc,!0),c(this,Tt).onUnreachable?.({url:c(this,Tt).url,attempts:c(this,Bs)})))},rh=function(){let e=c(this,kc).call(this);c(this,Hs)??p(this,Hs,e),!c(this,Fs)&&e-c(this,Hs)>=IE.BRIDGE_LOST_MS&&(p(this,Fs,!0),c(this,Tt).onConnectionLost?.())},rS=async function(e){let n;try{n=JSON.parse(e)}catch{return}let r=sf.safeParse(n);if(!r.success){let a=n?.id;typeof a=="string"&&a.length>0&&h(this,fe,Cc).call(this,Gn({kind:ft.COMMAND_RESULT,id:a,ok:!1,error:"this page could not parse the command \u2014 the @reticlehq/browser SDK and the daemon are probably different versions. Nothing ran."}));return}let i=r.data;if(i.sessionId!==void 0&&i.sessionId!==c(this,js)){h(this,fe,Cc).call(this,Gn({kind:ft.COMMAND_RESULT,id:i.id,ok:!1,error:`command addressed to session ${i.sessionId} but this page is ${c(this,js)??"(none)"} \u2014 the page reconnected under a new id, or two sessions share a socket. Nothing ran.`}));return}let s;try{s=await c(this,Tt).handleCommand(i)}catch(a){s={ok:!1,error:a instanceof Error?a.message:String(a)}}h(this,fe,Cc).call(this,Gn({kind:ft.COMMAND_RESULT,id:i.id,ok:s.ok,result:s.result,error:s.error}))},Cc=function(e,n){if(c(this,bt)!==void 0&&c(this,bt).readyState===WebSocket.OPEN){c(this,bt).send(e);return}if(c(this,Sr).length+c(this,lo).length>=WL){let s=c(this,Sr).length>0?c(this,Sr).shift():c(this,lo).shift();if(s?.event!==void 0){p(this,Gs,c(this,Gs)+1);let a=c(this,li);(a===void 0||s.event.t<a.t)&&p(this,li,s.event)}}let r=n!==void 0&&AE.has(n.type),i=ag(this,ru)._++;r?c(this,Sr).push({text:e,event:n,order:i}):c(this,lo).push({text:e,event:n,order:i})},oS=function(e,n){let r=c(this,li);if(r===void 0)return;let i={t:r.t,seq:r.seq,type:b.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,Gs)}};e.send(Gn({kind:ft.EVENT,event:i})),p(this,li,void 0),p(this,Gs,0)};oh();ii();D();oi();function aS(){let t=[A.UI,A.NET,A.LOG,A.ROUTE,A.STORAGE,A.TIME,A.SIGNAL];return ro().length>0?[...t,A.STATE]:t}D();var qL="__TAURI_INTERNALS__";function cS(){if(typeof window>"u")return Hn.SERVICE;let t=window;return t[eo]!==void 0||t[qL]!==void 0?Hn.WEBVIEW:Hn.WEB}var XL=[C.SNAPSHOT,C.QUERY,C.MATCH,C.INSPECT,C.ACT,C.ACT_SEQUENCE,C.ANIMATIONS,C.NARRATE,C.CLOCK,C.CAPABILITIES,C.STATE_READ,C.STORAGE_READ,C.SCROLL,C.SESSION_CONFIG,C.PRESENTER,C.IMPACT,C.CAPTURE,C.NAVIGATE,C.REFRESH,C.FLOWS];function lS(){return[...XL]}io();D();Mt();gt();et();ys();_n();function ZL(t){try{return t.contentDocument?.body??null}catch{return null}}function ih(t){let e=[],n=(r,i)=>{if(!(i>=3))for(let s of r.querySelectorAll("iframe")){let a=ZL(s);a!==null&&(e.push(a),n(a,i+1))}};return n(t,0),e}function dS(t){let e=new AbortController,n=()=>{for(let i of ih(document))t(i)};n();let r=i=>{i.target instanceof HTMLIFrameElement&&n()};return document.addEventListener("load",r,{capture:!0,signal:e.signal}),()=>e.abort()}function uS(t){let e=gr(t)?t:null;return e===null?void 0:e.closest("[data-testid]")?.getAttribute("data-testid")??X.refFor(e)}var QL=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],pS=120;function ou(t){if(t!==null)return t.length>pS?`${t.slice(0,pS)}\u2026`:t}var JL=new Set(["dialog","alertdialog"]),e1=new Set(["alert","status"]),Dc=40;function fS(t,e){return t!=="generic"||e.length>0}var t1=40;function hS(t){let e=Oe(t),n=be(t);if(fS(e,n))return{role:e,name:n,el:t};let r=0;for(let i of t.querySelectorAll("*")){if(r>=t1)return;if(r+=1,Le(i))continue;let s=Oe(i),a=be(i);if(fS(s,a))return{role:s,name:a,el:i}}}var n1=3;function sh(t){let e="";for(let r of t)r.nodeType===n1&&(e+=r.nodeValue??"");let n=e.trim();return n.length>0?n:void 0}function mS(t){let e=uT(),n=new MutationObserver(a=>{let l=0,d=0,u=0,f=0;for(let g of a){if(g.type==="attributes"){let E=g.target;if(gr(E)&&g.attributeName!==null&&!Le(E)){if(u>=Dc){f+=1;continue}u+=1;let _=ou(E.getAttribute(g.attributeName)),S=ou(g.oldValue);t(b.DOM_ATTR,{attr:g.attributeName,..._===void 0?{}:{value:_},...S===void 0?{}:{old:S}},X.refFor(E))}continue}if(g.type==="characterData"){let E=g.target.parentElement;if(E!==null&&!Le(E)){if(u>=Dc){f+=1;continue}u+=1;let _=(g.target.textContent??"").trim().slice(0,80),S=ou(g.oldValue?.trim()??null);t(b.DOM_TEXT,{text:_,...S===void 0?{}:{old:S}},X.refFor(E))}continue}if(sh(g.addedNodes)!==void 0||sh(g.removedNodes)!==void 0){let E=gr(g.target)?g.target:null;if(E!==null&&!Le(E))if(u>=Dc)f+=1;else{u+=1;let _=(E.textContent??"").trim().slice(0,80),S=ou(sh(g.removedNodes)??null);t(b.DOM_TEXT,{text:_,...S===void 0?{}:{old:S}},X.refFor(E))}}for(let E of g.addedNodes){if(!gr(E))continue;if(l>=Dc){f+=1;continue}if(Le(E))continue;let _=hS(E);if(_===void 0)continue;let{role:S,name:U}=_;l+=1;let L=X.refFor(_.el);t(b.DOM_ADDED,{role:S,name:U,region:uS(g.target)},L),(JL.has(S)||e1.has(S)||E.getAttribute("aria-modal")==="true")&&nt(E)&&t(b.VISIBLE_SHOWN,{role:S,name:U},L)}for(let E of g.removedNodes){if(!gr(E))continue;if(d>=Dc){f+=1;continue}if(Le(E)||gr(g.target)&&Le(g.target))continue;let _=hS(E);if(_===void 0)continue;let{role:S,name:U}=_;d+=1,t(b.DOM_REMOVED,{role:S,name:U,region:uS(g.target)})}}f>0&&t(b.TRUNCATED,{channel:Ql.DOM,dropped:f})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:QL,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let a of cT())n.observe(a,r);let i=dT(a=>n.observe(a,r)),s=dS(a=>n.observe(a,r));return()=>{s(),i(),e(),n.disconnect()}}D();oi();jn();function gS(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function r1(t,e){if(!gS(t)||!gS(e))return Object.is(t,e)?[]:[{path:"",old:t,new:e}];let n=[];for(let r of new Set([...Object.keys(t),...Object.keys(e)]))Object.is(t[r],e[r])||n.push({path:r,old:t[r],new:e[r]});return n}function ES(t,e){return He(t)?ye:mc(e)}function bS(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function TS(t){try{return t()}catch{return}}function _S(t){let e=new Map,n=([i,s,a])=>{try{e.get(i)?.()}catch{}let l=TS(s);e.set(i,a(()=>{W(()=>{let d=TS(s),u=r1(l,d);l=d;for(let f of u){let g=ES(f.path,f.new),E=ES(f.path,f.old);(He(f.path)?bS(mc(f.old),mc(f.new)):bS(E,g))||W(()=>t(b.STATE_CHANGE,{name:i,path:f.path,value:g,old:E}))}})}))};for(let i of $T())n(i);e.size===0&&t(b.BLIND_SPOT,{kind:mt.UNWATCHED_STATE,count:1});let r=DT(i=>{let s=e.size===0;n(i),s&&e.size>0&&t(b.BLIND_SPOT,{kind:mt.UNWATCHED_STATE,count:0})});return()=>{r();for(let i of e.values())try{i()}catch{}e.clear()}}D();Mt();function Ks(t){if(!(t instanceof Element)||t===document.body)return;let e=Oe(t),n=be(t);return n.length>0?`${e} "${n}"`:e}function o1(t){return t===null||t===document.body}function SS(t){let e=new AbortController,{signal:n}=e,r=null,i=a=>{let l=a.target,d=r;r=l,t(b.FOCUS_CHANGE,{...Ks(l)===void 0?{}:{to:Ks(l)},...Ks(d)===void 0?{}:{from:Ks(d)},toBody:o1(l)})},s=a=>{if(a.relatedTarget!==null)return;let l=r;r=null,t(b.FOCUS_CHANGE,{...Ks(l)===void 0?{}:{from:Ks(l)},toBody:!0})};return document.addEventListener("focusin",i,{signal:n}),document.addEventListener("focusout",s,{signal:n}),()=>e.abort()}D();Mt();var xS=160,i1=150,s1=/^(cc-|current-password|new-password)/i;function AS(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function a1(t){let e=t.getAttribute("data-testid");if(e!==null&&e.length>0)return e;if(t.name.length>0)return t.name;let n=be(t);if(n.length>0)return n;let r=t.getAttribute("id");return r!==null&&r.length>0?r:t.tagName.toLowerCase()}function c1(t){if(t instanceof HTMLInputElement&&t.type==="password")return!0;let e=t.getAttribute("autocomplete");if(e!==null&&s1.test(e))return!0;for(let n of[t.name,t.getAttribute("data-testid"),t.getAttribute("id")])if(n!==null&&n.length>0&&He(n))return!0;return!1}function yS(t){let e=new AbortController,{signal:n}=e,r=new Map,i=(d,u)=>{let f=d.value,g=c1(d);t(b.FIELD_CHANGE,{field:a1(d),kind:u,length:f.length,...g?{redacted:!0}:{value:f.length>xS?`${f.slice(0,xS)}\u2026`:f}})},s=d=>{let u=r.get(d);u!==void 0&&clearTimeout(u),r.delete(d)},a=d=>{let u=d.target;AS(u)&&(s(u),r.set(u,setTimeout(()=>{r.delete(u),i(u,"input")},i1)))},l=d=>{let u=d.target;AS(u)&&(s(u),i(u,"change"))};return document.addEventListener("input",a,{signal:n,capture:!0}),document.addEventListener("change",l,{signal:n,capture:!0}),()=>{for(let d of r.values())clearTimeout(d);r.clear(),e.abort()}}D();function l1(t){let e=t;for(let n=0;n<3;n+=1){let r=Array.from(e.children).filter(s=>s instanceof HTMLElement),i=r.length===1?r[0]:void 0;if(i===void 0||i.offsetHeight<e.scrollHeight*.9)return e;e=i}return e}function d1(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=l1(t),i=Array.from(r.children).filter(f=>f instanceof HTMLElement);if(i.length<2)return 0;let s=1/0,a=0,l=0;for(let f of i){let g=f.offsetTop,E=g+f.offsetHeight;g<s&&(s=g),E>a&&(a=E),l+=f.offsetHeight}let d=Math.max(0,s)+Math.max(0,e-a);if(d<e*.25)return 0;let u=l/i.length;return u<=0?0:Math.round(d/u)}function RS(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=d1(e));return t}ys();Ve();function u1(){let t=0;for(let e of document.querySelectorAll("*"))e.tagName.includes("-")&&e.shadowRoot===null&&(lT(e)||e.children.length>0||(e.textContent??"").trim().length>0||e.offsetHeight<=0&&e.offsetWidth<=0||(t+=1));return t}function p1(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function f1(t){let e=0;for(let n of t)p1(n)&&(e+=1);return e}function h1(){return f1(Array.from(document.querySelectorAll("iframe")))}function m1(){return ih(document).length}var g1=250;function vS(t){let e=[{kind:mt.CROSS_ORIGIN_IFRAME,count:h1},{kind:mt.UNINSTRUMENTED_FRAME,count:m1},{kind:mt.CLOSED_SHADOW_ROOT,count:u1},{kind:mt.VIRTUALIZED_UNMOUNTED,count:RS}],n=new Map,r=()=>{for(let a of e){let l=a.count();l!==n.get(a.kind)&&(n.set(a.kind,l),l>0&&t(b.BLIND_SPOT,{kind:a.kind,count:l}))}};r();let i,s=new MutationObserver(()=>{i===void 0&&(i=z(()=>{i=void 0,r()},g1))});return s.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{i!==void 0&&pe(i),s.disconnect()}}D();to();D();jn();Ve();var E1=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,b1=/event-stream|x-ndjson|application\/stream/i,T1=/event-stream/i;function wS(t,e){return t!==null&&T1.test(t)?!1:e===null}var _1=500;async function CS(t){let e;try{return await Promise.race([t,new Promise(n=>{e=z(()=>n(void 0),_1)})])}finally{e!==void 0&&pe(e)}}function ah(t){return t===null||b1.test(t)?!1:E1.test(t)}var IS=8192,S1=262144,x1=256,Mc=IS;function LS(t){Number.isFinite(t)&&(Mc=Math.min(S1,Math.max(x1,Math.floor(t))))}var A1=IS*2;function y1(t){let e=Mc*2;return t?Math.min(e,A1):e}var R1=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function NS(t){return t.replace(R1,(e,n)=>`${n} ${ye}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>He(n)?`${n}${r}${ye}`:e)}var OS=4096;function ch(t,e){return e&&t>=400}function lh(t,e){let n=uo(t,e);return n.body.length<=OS?n:{body:n.body.slice(0,OS),truncated:!0}}function uo(t,e){let n=e!==null&&/json|graphql/i.test(e),r=y1(!n),i=t.length>r,s=i?t.slice(0,r):t,a;if(n)try{a=Gn(JSON.parse(s))}catch{a=NS(s)}else a=NS(s);a=Jo(a);let l=i||a.length>Mc;return{body:a.length>Mc?a.slice(0,Mc):a,truncated:l}}var v1=/text\/|json|csv|xml|ndjson|javascript/i,N1=2e3;function kS(t,e={}){if(typeof URL.createObjectURL!="function")return()=>{};let n=new AbortController,r=URL.createObjectURL.bind(URL),i=new Map,s=he(URL,"createObjectURL"),a=function(_){let S=r(_);return W(()=>{if(typeof Blob<"u"&&_ instanceof Blob){let U=v1.test(_.type)?_.text().catch(()=>{}):Promise.resolve(void 0);i.set(S,{type:_.type,size:_.size,text:U})}}),S};URL.createObjectURL=a;let l=(E,_)=>{let S=i.get(E);S!==void 0&&(i.delete(E),S.text.then(U=>{W(()=>{d(S,_,U)})}))},d=(E,_,S)=>{let U={mimeType:E.type,bytes:E.size};if(_!==void 0&&_.length>0&&(U.filename=_),S!==void 0&&(U.lines=S.split(`
|
|
1336
|
-
`).filter(
|
|
1337
|
-
`).slice(1).map(r=>r.trim()).filter(r=>r.length>0&&!D1.test(r));return(e.find(r=>!M1.test(r))??e[0])?.slice(0,300)}function ph(){return P1(new Error().stack)}function $1(t){if(t===void 0)return{};let e={};return t.responseStart>0&&t.requestStart>0&&(e.ttfbMs=Math.round(t.responseStart-t.requestStart)),t.transferSize>0&&(e.transferSize=t.transferSize),e}function HS(t){try{let e=performance.getEntriesByName(t,"resource");return $1(e[e.length-1])}catch{return{}}}function U1(t){try{return new URL(t,location.href).pathname===Yl}catch{return t.includes(Yl)}}function H1(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var FS=new WeakSet;function BS(t,e={}){var Yi,rg;let n=e.captureBodies===!0,r=e.captureErrorBodies!==!1,i=e.reinterpret,s=xn(window,"fetch"),a=s.bind(window);!H1(s)&&!FS.has(s)&&t(b.BLIND_SPOT,{kind:mt.WRAPPED_NETWORK,count:1});let l=0,d=()=>`n${++l}`;window.fetch=async(De,oe)=>{let We=I1(De);if(e.ignore?.(We)===!0)return a(De,oe);let le=d(),Qe=performance.now(),Rt=L1(De,oe),Ml=k1(De,oe),Pl=Ml===void 0?{}:{[ud]:Ml},Fa=Un(We),Ba=Fa.url,og=nn(()=>ph()),rp=og===void 0?{}:{initiatorStack:og};W(()=>{t(b.NET_PENDING,{id:le,method:Rt,...Fa,initiator:"fetch",...rp})});try{let Je=await a(De,oe),Yv=performance.now(),Ga=nn(()=>Je.headers.get("content-type"))??null;W(()=>{MS(t,Je,le,Ba,Ga,Je.headers.get("content-length"))}),Dl.add(We);let ig=ja=>{W(()=>{t(b.NET_REQUEST,{id:le,method:Rt,...Fa,status:Je.status,ok:$S(Je.status),durationMs:Math.round(Yv-Qe),initiator:"fetch",...rp,...HS(We),...US(Je.statusText,Ga,Je.headers.get("content-length")),...uh(oe?.body,n),...Pl,...ja,...i?.(Ba,$l=>Je.headers.get($l))??{}})})},qv=ch(Je.status,r);if((n||qv)&&ah(Ga)){let ja;try{ja=Je.clone()}catch{}(async()=>{let $l={};if(ja!==void 0)try{let op=await CS(ja.text());if(op!==void 0){let{body:Xv,truncated:Zv}=n?uo(op,Ga):lh(op,Ga);$l={responseBody:Xv,...Zv?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}}catch{}try{ig($l)}catch{}})().catch(()=>{})}else ig({});return Je}catch(Je){throw W(()=>{t(b.NET_REQUEST,{id:le,method:Rt,url:Ba,status:0,ok:!1,error:Je instanceof Error?Je.message:String(Je),durationMs:Math.round(performance.now()-Qe),initiator:"fetch",...rp,...Pl})}),Je}};let u=xn(window,"fetch");FS.add(u);let f=new WeakMap,g=XMLHttpRequest.prototype,E=he(g,"open"),_=he(g,"send"),S=E;g.open=function(De,oe,...We){W(()=>{f.set(this,{id:d(),method:De.toUpperCase(),url:fd(String(oe)),rawUrl:String(oe),start:0})}),S.call(this,De,oe,...We)};let U=he(g,"open"),L=new WeakSet;g.send=function(De){W(()=>{let oe=f.get(this);if(oe!==void 0){oe.start=performance.now(),oe.reqBody=De??null,oe.initiatorStack=ph();let We=oe.initiatorStack===void 0?{}:{initiatorStack:oe.initiatorStack};t(b.NET_PENDING,{id:oe.id,method:oe.method,...Un(oe.rawUrl),initiator:"xhr",...We}),L.has(this)||(L.add(this),this.addEventListener("loadend",()=>{W(()=>{let le=f.get(this);if(le===void 0)return;Dl.add(le.rawUrl);let Qe=this.getResponseHeader("content-type"),Rt={},Ml=this.responseType===""||this.responseType==="text",Pl=ch(this.status,r);if((n||Pl)&&Ml&&ah(Qe))try{let{body:Fa,truncated:Ba}=n?uo(this.responseText,Qe):lh(this.responseText,Qe);Rt={responseBody:Fa,...Ba?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}catch{}t(b.NET_REQUEST,{id:le.id,method:le.method,...Un(le.rawUrl),status:this.status,ok:$S(this.status),durationMs:Math.round(performance.now()-le.start),initiator:"xhr",...le.initiatorStack===void 0?{}:{initiatorStack:le.initiatorStack},...HS(le.rawUrl),...US(this.statusText,Qe,this.getResponseHeader("content-length")),...uh(le.reqBody,n),...Rt})})}))}}),_.call(this,De??null)};let G=he(g,"send"),$=window.EventSource,Q=window.WebSocket,se,xe;n&&typeof $=="function"&&(window.EventSource=class extends ${constructor(De,oe){super(De,oe),W(()=>{let We=Un(String(De));t(b.NET_STREAM,{transport:Fn.SSE,direction:Bn.OPEN,...We}),this.addEventListener("message",le=>{W(()=>{t(b.NET_STREAM,{transport:Fn.SSE,direction:Bn.IN,...We,...dh(le.data,n)})})})})}},se=window.EventSource),n&&typeof Q=="function"&&(window.WebSocket=(rg=class extends Q{constructor(oe,We){super(oe,We);m(this,Yi);p(this,Yi,U1(String(oe))),!c(this,Yi)&&W(()=>{let le=Un(String(oe));t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.OPEN,...le}),this.addEventListener("message",Qe=>{W(()=>{t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.IN,...le,...dh(Qe.data,n)})})})})}send(oe){if(c(this,Yi)){super.send(oe);return}super.send(oe),W(()=>{t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.OUT,...Un(this.url),...dh(oe,n)})})}},Yi=new WeakMap,rg),xe=window.WebSocket);let ge=typeof navigator<"u"?Object.getPrototypeOf(navigator):null,ve=ge===null?void 0:Object.getOwnPropertyDescriptor(ge,"sendBeacon")?.value,zt;ge!==null&&ve!==void 0&&(zt=function(De,oe){let We=d(),le=nn(()=>Un(String(De))),Qe=nn(()=>ph()),Rt=ve.call(this,De,oe);return W(()=>{t(b.NET_REQUEST,{id:We,method:"POST",...le,status:0,ok:Rt,queued:Rt,durationMs:0,initiator:"beacon",...Qe===void 0?{}:{initiatorStack:Qe},...uh(oe,!1)})}),Rt},ge.sendBeacon=zt);let Dl=new Set,tg=0,zv=200,ng;if(typeof PerformanceObserver<"u")try{let De=new PerformanceObserver(oe=>{for(let We of oe.getEntries()){let le=We;if(tg>=zv)return;let Qe=le.initiatorType||"other";if(Qe==="fetch"||Qe==="xmlhttprequest")continue;let Rt=le.name;Dl.has(Rt)||(Dl.add(Rt),tg+=1,t(b.NET_REQUEST,{id:d(),method:"GET",...Un(Rt),durationMs:Math.round(le.duration),initiator:Qe,...le.transferSize>0?{transferSize:le.transferSize}:{},...(le.responseStatus??0)>0?{status:le.responseStatus,ok:(le.responseStatus??0)>=200&&(le.responseStatus??0)<400}:{}}))}});ng=De,De.observe({type:"resource",buffered:!0})}catch{}return()=>{ng?.disconnect(),window.fetch===u&&(window.fetch=s),he(g,"open")===U&&(g.open=E),he(g,"send")===G&&(g.send=_),se!==void 0&&window.EventSource===se&&(window.EventSource=$),xe!==void 0&&window.WebSocket===xe&&(window.WebSocket=Q),ge!==null&&ve!==void 0&&ge.sendBeacon===zt&&(ge.sendBeacon=ve)}}D();var F1="Tauri-Response",B1="error",GS={OK:"Ok",ERROR:"Err"},jS=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function VS(t,e){let r=jS.exec(t)?.[1];if(r===void 0)return;let i=e(F1)!==B1;return{url:`${Xp}${r}`,initiator:En.IPC,method:En.IPC,ok:i,status:i?nc.OK:nc.ERROR,statusText:i?GS.OK:GS.ERROR}}function KS(t){return jS.exec(t)?.[1]===Td}function G1(){return navigator.userAgent.includes("Electron")}function WS(t,e={}){let n=window[eo];if(typeof n?.subscribe!="function")return G1()&&t(b.BLIND_SPOT,{kind:mt.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(i=>{W(()=>{let s=`${Xp}${i.channel}`;if(i.phase==="start"){t(b.NET_PENDING,{id:i.id,method:En.IPC,url:s,initiator:En.IPC});return}let a=i.oneWay===!0&&i.ok===void 0;a&&t(b.BLIND_SPOT,{kind:mt.VERDICTLESS_SEND,count:1});let l=i.ok===!0;t(b.NET_REQUEST,{id:i.id,method:En.IPC,url:s,...a?{}:{ok:l,status:l?nc.OK:nc.ERROR},...i.oneWay===!0?{oneWay:!0}:{},durationMs:i.durationMs??0,initiator:En.IPC,...i.error===void 0?{}:{error:i.error},...i.responseSize===void 0?{}:{responseSize:i.responseSize},...e.captureBodies===!0?{...i.requestBody===void 0?{}:{requestBody:i.requestBody},...i.responseBody===void 0?{}:{responseBody:i.responseBody},...i.responseBodyTruncated===!0?{responseBodyTruncated:!0}:{}}:{}})})});return()=>{n.unsubscribe?.(r)}}D();function zS(t){if(typeof PerformanceObserver!="function")return()=>{};let e=[],n=(s,a)=>{try{let l=new PerformanceObserver(d=>{for(let u of d.getEntries())a(u)});l.observe({type:s,buffered:!0}),e.push(l)}catch{}},r=0,i=0;return n("largest-contentful-paint",s=>{let a=Math.round(s.startTime);a<=i||(i=a,t(b.PERF,{metric:as.LCP,value:a,at:a}))}),n("layout-shift",s=>{let a=s;a.hadRecentInput!==!0&&(r+=a.value??0,t(b.PERF,{metric:as.CLS,value:r,at:Math.round(s.startTime)}))}),n("longtask",s=>{t(b.PERF,{metric:as.LONGTASK,value:Math.round(s.duration),at:Math.round(s.startTime)})}),()=>{for(let s of e)s.disconnect()}}D();to();function j1(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}function YS(t){let e=new AbortController,n=he(history,"pushState"),r=he(history,"replaceState"),i=n.bind(history),s=r.bind(history),a=location.href,l=g=>{W(()=>{let E=j1();E.href!==g&&(a=E.href,t(b.ROUTE_CHANGE,{from:g,to:E.href,pathname:E.pathname,search:E.search,hash:E.hash}))})},d=(g,E,_)=>{let S=location.href;i(g,E,_??null),l(S)},u=(g,E,_)=>{let S=location.href;s(g,E,_??null),l(S)};history.pushState=d,history.replaceState=u;let f=()=>{l(a)};return window.addEventListener("popstate",f,{signal:e.signal}),window.addEventListener("hashchange",f,{signal:e.signal}),()=>{history.pushState===d&&(history.pushState=n),history.replaceState===u&&(history.replaceState=r),e.abort()}}D();var V1=new Set(["navigate","reload","back_forward"]);function K1(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function qS(t){let e=K1(),n=e?.type,r=e?.name;if(e===void 0||typeof r!="string"||r.length===0)return()=>{};if(typeof n!="string"||!V1.has(n))return()=>{};let i=e.responseStatus,s=typeof i=="number"&&i>0;return t(b.NET_REQUEST,{id:`doc-${String(Math.round(e.duration??0))}`,method:"GET",url:r,initiator:En.DOCUMENT,durationMs:Math.round(e.duration??0),...s?{status:i,ok:i<400}:{},navigationType:n,...typeof e.transferSize=="number"?{transferSize:e.transferSize}:{}}),()=>{}}D();var W1=/^(javascript|mailto|tel|sms|blob|data):/i;function z1(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}function Y1(t,e,n){if(t.length===0||W1.test(t))return!1;if(e)return!0;try{let r=new URL(t,n),i=new URL(n);return r.origin===i.origin?r.pathname!==i.pathname||r.search!==i.search:!0}catch{return!1}}function XS(t){if(typeof document>"u")return()=>{};let e=0,n=r=>{W(()=>{let i=z1(r.target);if(i===void 0)return;let s=i.getAttribute("href")??"",a=document.location.href,l=i.hasAttribute("download");if(!Y1(s,l,a))return;let d=new URL(s,a).toString();queueMicrotask(()=>{W(()=>{r.defaultPrevented||(e+=1,t(b.NET_PENDING,{id:`nav-${String(e)}`,method:"GET",url:d,initiator:En.NAVIGATION,...l?{download:!0}:{}}))})})})};return document.addEventListener("click",n,!0),()=>document.removeEventListener("click",n,!0)}D();jn();D();var q1=3,X1=256,Z1={emit:!0},Q1={emit:!1};function J1(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function ek(t){return Es([t.message,t.source??"",t.line===void 0?"":String(t.line),t.kind??"",t.stack??""].join("\0"))}function ZS(t=q1,e=X1){let n=new Map;return{admit(r){let i=ek(r),s=(n.get(i)??0)+1;if(n.delete(i),n.size>=e){let a=n.keys().next();(a.done??!1)||n.delete(a.value)}return n.set(i,s),s<=t?Z1:J1(s)?{emit:!0,repeats:s}:Q1}}}var QS="securitypolicyviolation",tk="report",nk={log:b.CONSOLE_LOG,warn:b.CONSOLE_WARN,error:b.CONSOLE_ERROR,info:b.CONSOLE_INFO,debug:b.CONSOLE_DEBUG};function rk(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:Gn(e)).join(" ")}var JS=H.MAX_STACK_LENGTH;function fh(t){if(!(t===void 0||t.length===0))return t.length>JS?t.slice(0,JS):t}function ok(t){for(let e of t)if(e instanceof Error)return fh(e.stack)}function ex(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let g of e){let E=xn(console,g);n.set(g,E);let _=E.bind(console),S=(...U)=>{_(...U),W(()=>{let L=g==="error"?ok(U):void 0;t(nk[g],{message:rk(U),...L===void 0?{}:{stack:L}})})};r.set(g,S),console[g]=S}let i=ZS(),s=g=>{let E=i.admit(g);E.emit&&t(b.ERROR_UNCAUGHT,{...g,...E.repeats===void 0?{}:{repeats:E.repeats}})},a=g=>{if(!(g instanceof ErrorEvent)){let E=g.target;if(!(E instanceof Element)||E===document)return;let _=E.tagName.toLowerCase(),S=E.getAttribute("src")??E.getAttribute("href")??"";W(()=>{let U=`<${_}> failed to load${S.length===0?"":`: ${S}`}`;s({message:U,kind:"resource",...S.length===0?{}:{source:S}})});return}W(()=>{let E=fh(g.error instanceof Error?g.error.stack:void 0),_={message:g.message,source:g.filename,line:g.lineno,...E===void 0?{}:{stack:E}};s(_)})},l=g=>{W(()=>{let E=g.reason,_=fh(E instanceof Error?E.stack:void 0),S={message:E instanceof Error?E.message:String(E),kind:"unhandledrejection",..._===void 0?{}:{stack:_}};s(S)})},d=g=>{let E=g.blockedURI.length===0?"inline content":g.blockedURI,_=tk===g.disposition;t(_?b.CONSOLE_WARN:b.CONSOLE_ERROR,{message:_?`[Report Only] Content Security Policy directive: ${g.violatedDirective} would block ${E}`:`Content Security Policy directive: ${g.violatedDirective} blocked ${E}`,kind:QS,...g.blockedURI.length===0?{}:{source:g.blockedURI}})},u=new AbortController,{signal:f}=u;return window.addEventListener("error",a,{capture:!0,signal:f}),window.addEventListener("unhandledrejection",l,{signal:f}),window.addEventListener(QS,d,{capture:!0,signal:f}),()=>{for(let[g,E]of n)console[g]===r.get(g)&&(console[g]=E);u.abort()}}D();Ds();var ik={alert:void 0,confirm:!1,prompt:null},sk=["alert","confirm","prompt"];function tx(t){let e=window,n=new Map,r=new Map;for(let i of sk){let s=e[i];if(typeof s!="function")continue;n.set(i,s);let a=s.bind(window),l=(...d)=>{if(!Ud())return a(...d);let u=ik[i],f=d[0];return W(()=>{t(b.DIALOG_OPENED,{kind:i,...typeof f=="string"?{message:f}:{},...u===void 0?{}:{answered:u}})}),u};r.set(i,l),e[i]=l}return()=>{for(let[i,s]of n)e[i]===r.get(i)&&(e[i]=s)}}D();gt();et();function nx(t){let e=new AbortController,{signal:n}=e,r=a=>{let l=a.target;l instanceof Element&&!Le(l)&&t(b.ANIM_START,{name:a.animationName},X.refFor(l))},i=a=>{let l=a.target;l instanceof Element&&!Le(l)&&t(b.ANIM_END,{name:a.animationName},X.refFor(l))},s=a=>{let l=a.target;l instanceof Element&&!Le(l)&&t(b.ANIM_END,{name:a.propertyName,kind:"transition"},X.refFor(l))};return document.addEventListener("animationstart",r,{capture:!0,signal:n}),document.addEventListener("animationend",i,{capture:!0,signal:n}),document.addEventListener("transitionend",s,{capture:!0,signal:n}),()=>e.abort()}D();gt();Ve();var rx=100,ak="[data-reticle-reveal], [data-reveal], section";function ox(t){let e=new AbortController,{signal:n}=e,r=0,i=0,s,a=()=>{r=performance.now();let u=window.scrollY,f=Math.max(1,document.documentElement.scrollHeight-window.innerHeight);t(b.SCROLL_POSITION,{x:window.scrollX,y:u,percent:Math.round(u/f*100),direction:u>=i?bd.DOWN:bd.UP}),i=u},l=()=>{let u=performance.now()-r;if(u>=rx){s!==void 0&&(pe(s),s=void 0),a();return}s===void 0&&(s=z(()=>{s=void 0,a()},rx-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(f=>{for(let g of f)g.isIntersecting&&t(b.REVEAL_SHOWN,{ratio:g.intersectionRatio},X.refFor(g.target))},{threshold:.25});let u=d;for(let f of document.querySelectorAll(ak))u.observe(f)}return()=>{e.abort(),s!==void 0&&pe(s),d?.disconnect()}}D();Ve();function ck(){let t=window;return t.__TAURI_INTERNALS__!==void 0||t.__TAURI__!==void 0?"tauri":navigator.userAgent.includes("Electron")||t[eo]!==void 0?"electron":"web"}function lk(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var dk={"google chrome":Ne.CHROME,chrome:Ne.CHROME,"microsoft edge":Ne.EDGE,edge:Ne.EDGE,brave:Ne.BRAVE,opera:Ne.OPERA,arc:Ne.ARC,dia:Ne.DIA,firefox:Ne.FIREFOX,safari:Ne.SAFARI};function uk(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function pk(){try{let n=navigator.userAgentData?.brands;if(Array.isArray(n)){let r;for(let i of n){let s=typeof i?.brand=="string"?i.brand.toLowerCase():"";if(s===""||uk(s))continue;let a=dk[s];if(a!==void 0)if(Ne.CHROME===a)r=a;else return a}return r??Ne.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?Ne.EDGE:/OPR\/|Opera/.test(t)?Ne.OPERA:/Firefox/.test(t)?Ne.FIREFOX:/Chrome|Chromium/.test(t)?Ne.CHROME:/Safari/.test(t)?Ne.SAFARI:Ne.OTHER}function fk(){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:ck(),engine:lk(),brand:pk()}}function ix(t){let e=new AbortController,{signal:n}=e,r=s=>{t(b.PAGE_HEALTH,{...fk(),reason:s})};document.addEventListener("visibilitychange",()=>r(ps.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>r(ps.FOCUS),{signal:n}),window.addEventListener("blur",()=>r(ps.BLUR),{signal:n}),r(ps.INITIAL);let i=a_(()=>r(ps.HEARTBEAT),CE.HEARTBEAT_MS);return()=>{i(),e.abort()}}D();var Pe={CONNECT:"connect",DOM_OBSERVER:"dom_observer",NETWORK_OBSERVER:"network_observer",CONSOLE_OBSERVER:"console_observer",IPC_OBSERVER:"ipc_observer",HEALTH_OBSERVER:"health_observer",ROUTER_OBSERVER:"router_observer",ANIMATION_OBSERVER:"animation_observer",STORE_ADAPTER:"store_adapter",SNAPSHOT:"snapshot",ACTION:"action",COMMAND:"command",RECORDER:"recorder",TRANSPORT:"transport",TEARDOWN:"teardown"},hk=500;function hh(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(b.SDK_FAILED,{site:e,message:r.slice(0,hk),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function Be(t,e,n){try{return n()}catch(r){return hh(t,e,r),()=>{}}}function sx(t,e){for(let n of e)try{n()}catch(r){hh(t,Pe.TEARDOWN,r)}}function ax(t,e){return[Be(t,Pe.NETWORK_OBSERVER,()=>BS(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:VS,ignore:KS})),Be(t,Pe.IPC_OBSERVER,()=>WS(t,{captureBodies:e.captureBodies})),Be(t,Pe.ANIMATION_OBSERVER,()=>zS(t)),Be(t,Pe.ROUTER_OBSERVER,()=>YS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>qS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>XS(t)),Be(t,Pe.CONSOLE_OBSERVER,()=>ex(t)),Be(t,Pe.CONSOLE_OBSERVER,()=>tx(t)),Be(t,Pe.ANIMATION_OBSERVER,()=>nx(t)),Be(t,Pe.DOM_OBSERVER,()=>ox(t)),Be(t,Pe.DOM_OBSERVER,()=>mS(t)),Be(t,Pe.STORE_ADAPTER,()=>j_(t)),Be(t,Pe.STORE_ADAPTER,()=>_S(t)),Be(t,Pe.DOM_OBSERVER,()=>SS(t)),Be(t,Pe.DOM_OBSERVER,()=>yS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>kS(t,{capturePreview:e.captureBodies})),Be(t,Pe.DOM_OBSERVER,()=>vS(t)),Be(t,Pe.HEALTH_OBSERVER,()=>ix(t)),Be(t,Pe.DOM_OBSERVER,()=>DS(t))]}var mk=["position:fixed","bottom:8px","right:8px","z-index:2147483647","font:11px ui-monospace,SFMono-Regular,Menlo,monospace","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:8px","padding:6px 10px","pointer-events:none","opacity:0.85"].join(";");function cx(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=mk,t.textContent="Reticle: connecting\u2026",document.body.appendChild(t),{update:e=>{t.textContent=`Reticle ${e.connected?"\u25CF":"\u25CB"} ${String(e.events)} events`},destroy:()=>{t.remove()}}}mh();gh();D();gt();Mt();function An(t,e=""){return typeof t=="string"?t:e}function Ar(t){let e=An(t);return e===""?void 0:e}function su(t){let e=X.resolve(t);if(!(e instanceof Element))return t;let n=Vn(e);return n.name.length>0?`${n.role} "${n.name}"`:`${n.role} (${t})`}function lx(t){switch(t){case C.ACT:case C.ACT_SEQUENCE:return Me.ACTING;case C.SNAPSHOT:case C.QUERY:case C.MATCH:case C.INSPECT:case C.ANIMATIONS:case C.STATE_READ:case C.CAPABILITIES:return Me.READING;default:return Me.IDLE}}function dx(t,e={}){switch(t){case C.SNAPSHOT:return"Looking at the page";case C.QUERY:case C.MATCH:{let n=t===C.MATCH?e.query??{}:e,r=gk(n);return r!==void 0?`Finding ${r}`:"Finding an element"}case C.INSPECT:{let n=Ar(e.ref);return n!==void 0?`Inspecting ${su(n)}`:"Inspecting an element"}case C.ANIMATIONS:return"Reading animations";case C.STATE_READ:{let n=Ar(e.store);return n!==void 0?`Reading state: ${n}`:"Reading state"}case C.CAPABILITIES:return"Reading capabilities";default:return t}}function gk(t){let e=Ar(t.testid)??(pt.TESTID===An(t.by)?Ar(t.value):void 0);if(e!==void 0)return`[testid=${e}]`;let n=Ar(t.name),r=Ar(t.value)??Ar(t.text)??Ar(t.label)??Ar(t.role);return r!==void 0?n!==void 0?`"${r}" (${n})`:`"${r}"`:n!==void 0?`"${n}"`:void 0}_c();D();D();bc();Mt();et();io();var ux=["position:fixed","top:8px","left:50%","transform:translateX(-50%)","z-index:2147483647","display:flex","gap:6px","align-items:center","flex-wrap:wrap","max-width:90vw","font:12px ui-sans-serif,system-ui,sans-serif","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:10px","padding:6px 10px","box-shadow:0 8px 30px rgba(0,0,0,.5)"].join(";"),au=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),Eh=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),px=["opacity:.75","margin-left:4px"].join(";"),fx=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var Ek="recorded 0 steps",bk="recording\u2026",hx="ready",Tk="pick an annotation",_k="data-testid",Sk=is.ACT,bh={record:"Record",stop:"Stop",annotate:"Annotate"},xk={[Ae.ASSERT_SIGNAL]:"assert signal",[Ae.ASSERT_VISIBLE]:"assert visible",[Ae.ASSERT_STATE]:"assert state",[Ae.ASSERT_NET]:"assert request",[Ae.MARK_DYNAMIC]:"mark dynamic",[Ae.SUCCESS_STATE]:"success state",[Ae.INTENT]:"intent"},Ak=new Set([Ae.ASSERT_SIGNAL,Ae.SUCCESS_STATE]),yk="recorded-flow";function Ex(t){let e=t.getAttribute(_k);if(e!==null&&e.length>0)return{anchor:{kind:Zt.TESTID,value:e},degraded:!1};let n=Oe(t),r=be(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:Zt.ROLE,role:n,name:r}:{kind:Zt.ROLE,role:n},degraded:!1}:{anchor:{kind:Zt.ROLE,role:Ig},degraded:!0}}function mx(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&$c(t)==="textbox"}function $c(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function zs(t,e,n){let{anchor:r,degraded:i}=Ex(t),s={tool:Sk,anchor:r,action:e};n!==void 0&&(s.args=n),i&&(s.degraded=!0);let a=Ec(t);return a!==void 0&&(s.source=a.line===void 0?{file:a.file}:{file:a.file,line:a.line}),s}function Rk(t,e,n,r,i){let s=e.map(u=>({...u})),a=[],l;for(let u of n){if(u.kind===Ae.MARK_DYNAMIC){a.push(u.anchor);continue}if(u.kind===Ae.SUCCESS_STATE){u.signal!==void 0&&(l={kind:y.SIGNAL,name:u.signal});continue}let f=s.at(-1);f!==void 0&&(u.kind===Ae.ASSERT_SIGNAL&&u.signal!==void 0?f.expect=gx(f.expect,{kind:y.SIGNAL,name:u.signal}):u.kind===Ae.ASSERT_VISIBLE&&(f.expect=gx(f.expect,{kind:y.ELEMENT,query:vk(u.anchor)})))}let d={version:gp,name:t,createdAt:r,steps:s};return i!==void 0&&i.length>0&&(d.startPath=i),a.length>0&&(d.dynamic=a),l!==void 0&&(d.success=l),d}function gx(t,e){return t===void 0?e:t.kind===y.ALL_OF?{kind:y.ALL_OF,predicates:[...t.predicates,e]}:{kind:y.ALL_OF,predicates:[t,e]}}function vk(t){return t.kind===Zt.TESTID?{testid:t.value}:t.kind===Zt.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var ui,rn,_t,Fc,fo,yr,Ys,ho,pi,zn,yn,k,bx,Uc,Tx,_x,Sx,xx,po,Ax,yx,_h,Rx,vx,Nx,di,Ox,cu,wx,Cx,Hc,lu,Ix,Th=class{constructor(e){m(this,k);m(this,ui);m(this,rn,ut.IDLE);m(this,_t,[]);m(this,Fc);m(this,fo,[]);m(this,yr);m(this,Ys);m(this,ho);m(this,pi);m(this,zn);m(this,yn);p(this,ui,e)}phase(){return c(this,rn)}steps(){return c(this,_t).map(e=>({...e}))}mount(){c(this,ho)===void 0&&(typeof document>"u"||(h(this,k,Ox).call(this),h(this,k,bx).call(this)))}destroy(){c(this,Ys)?.abort(),p(this,Ys,void 0),c(this,ho)?.remove(),p(this,ho,void 0),p(this,pi,void 0),p(this,zn,void 0),p(this,rn,ut.IDLE),p(this,_t,[]),p(this,fo,[]),p(this,yn,void 0),p(this,yr,void 0)}};ui=new WeakMap,rn=new WeakMap,_t=new WeakMap,Fc=new WeakMap,fo=new WeakMap,yr=new WeakMap,Ys=new WeakMap,ho=new WeakMap,pi=new WeakMap,zn=new WeakMap,yn=new WeakMap,k=new WeakSet,bx=function(){let e=new AbortController;p(this,Ys,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>h(this,k,Tx).call(this,r),n),document.addEventListener("input",r=>h(this,k,_x).call(this,r),n),document.addEventListener("change",r=>h(this,k,Sx).call(this,r),n),document.addEventListener("submit",r=>h(this,k,xx).call(this,r),n)},Uc=function(e){let n=e.target;if(n instanceof Element&&!Le(n))return n},Tx=function(e){let n=h(this,k,Uc).call(this,e);if(n!==void 0){if(c(this,rn)===ut.ANNOTATING){h(this,k,Ax).call(this,n);return}c(this,rn)===ut.RECORDING&&(n instanceof HTMLInputElement&&($c(n)==="checkbox"||$c(n)==="radio")||n instanceof HTMLSelectElement||(h(this,k,po).call(this),c(this,_t).push(zs(n,R.CLICK))))}},_x=function(e){if(c(this,rn)!==ut.RECORDING)return;let n=h(this,k,Uc).call(this,e);n===void 0||!mx(n)||p(this,yr,{el:n,value:n.value})},Sx=function(e){if(c(this,rn)!==ut.RECORDING)return;let n=h(this,k,Uc).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&$c(n)==="checkbox"){h(this,k,po).call(this),c(this,_t).push(zs(n,n.checked?R.CHECK:R.UNCHECK));return}if(n instanceof HTMLInputElement&&$c(n)==="radio"){h(this,k,po).call(this),c(this,_t).push(zs(n,R.CHECK));return}if(n instanceof HTMLSelectElement){h(this,k,po).call(this),c(this,_t).push(zs(n,R.SELECT,{value:n.value}));return}mx(n)&&(p(this,yr,{el:n,value:n.value}),h(this,k,po).call(this))}},xx=function(e){if(c(this,rn)!==ut.RECORDING)return;let n=h(this,k,Uc).call(this,e);n!==void 0&&(h(this,k,po).call(this),c(this,_t).push(zs(n,R.SUBMIT)))},po=function(){let e=c(this,yr);if(e===void 0)return;p(this,yr,void 0);let n=wf(e.el)?ye:e.value;c(this,_t).push(zs(e.el,R.FILL,{value:n}))},Ax=function(e){let n=c(this,yn);if(n===void 0)return;let{anchor:r}=Ex(e),i={kind:n.kind,anchor:r},s=h(this,k,_h).call(this);s!==void 0&&(i.signal=s),c(this,fo).push(i),p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,Hc).call(this)},yx=function(){let e=c(this,yn);if(e===void 0)return;let n=c(this,_t).at(-1);if(n===void 0){p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,Hc).call(this);return}let r={kind:e.kind,anchor:n.anchor},i=h(this,k,_h).call(this);i!==void 0&&(r.signal=i),c(this,fo).push(r),p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,Hc).call(this)},_h=function(){let n=c(this,zn)?.querySelector("[data-reticle-signal]")?.value??"";return n.length>0?n:void 0},Rx=function(){p(this,_t,[]),p(this,Fc,typeof location>"u"?void 0:location.pathname),p(this,fo,[]),p(this,yr,void 0),p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,lu).call(this,bk)},vx=function(){h(this,k,po).call(this);let e=h(this,k,Ix).call(this)??c(this,ui).defaultName??yk,n=Rk(e,c(this,_t),c(this,fo),c(this,ui).now(),c(this,Fc));c(this,ui).emit(b.FLOW_RECORDED,{name:e,flow:n}),h(this,k,lu).call(this,c(this,_t).length===0?Ek:hx),h(this,k,di).call(this,ut.IDLE),h(this,k,Hc).call(this)},Nx=function(){c(this,rn)===ut.RECORDING&&(h(this,k,di).call(this,ut.ANNOTATING),h(this,k,lu).call(this,Tk),h(this,k,wx).call(this))},di=function(e){p(this,rn,e)},Ox=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=ux;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=Eh,e.appendChild(n),e.appendChild(h(this,k,cu).call(this,"record",bh.record,()=>h(this,k,Rx).call(this))),e.appendChild(h(this,k,cu).call(this,"stop",bh.stop,()=>h(this,k,vx).call(this))),e.appendChild(h(this,k,cu).call(this,"annotate",bh.annotate,()=>h(this,k,Nx).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=px,r.textContent=hx,e.appendChild(r);let i=document.createElement("div");i.setAttribute("data-reticle-menu",""),i.style.cssText=fx,e.appendChild(i),document.body.appendChild(e),p(this,ho,e),p(this,pi,r),p(this,zn,i)},cu=function(e,n,r){let i=document.createElement("button");return i.setAttribute("data-reticle-action",e),i.textContent=n,i.style.cssText=au,i.addEventListener("click",r),i},wx=function(){let e=c(this,zn);if(e!==void 0){e.textContent="";for(let n of Object.values(Ae)){if(n===Ae.INTENT)continue;let r=document.createElement("button");r.setAttribute("data-reticle-annkind",n),r.textContent=xk[n],r.style.cssText=au,r.addEventListener("click",()=>h(this,k,Cx).call(this,n)),e.appendChild(r)}}},Cx=function(e){p(this,yn,{kind:e});let n=c(this,zn);if(n===void 0)return;if(Ak.has(e)){let i=document.createElement("select");i.setAttribute("data-reticle-signal",""),i.style.cssText=Eh;for(let s of oo().signals){let a=document.createElement("option");a.value=s,a.textContent=s,i.appendChild(a)}n.appendChild(i)}let r=document.createElement("button");r.setAttribute("data-reticle-action","annotate-confirm"),r.textContent="on prior step",r.style.cssText=au,r.addEventListener("click",()=>h(this,k,yx).call(this)),n.appendChild(r)},Hc=function(){c(this,zn)!==void 0&&(c(this,zn).textContent="")},lu=function(e){c(this,pi)!==void 0&&(c(this,pi).textContent=e)},Ix=function(){let n=c(this,ho)?.querySelector("[data-reticle-name]")?.value.trim()??"";return n.length>0?n:void 0};function Lx(t){return new Th(t)}Lh();function u5(t,e){return t==="production"&&!e}function p5(t,e,n,r,i="http:"){let s;try{s=new URL(e)}catch{return{allowed:!1,reason:"invalid Reticle bridge URL"}}if(s.protocol!=="ws:"&&s.protocol!=="wss:")return{allowed:!1,reason:"Reticle bridge URL must use ws:// or wss://"};if((r?.length??0)>H.MAX_TOKEN_LENGTH)return{allowed:!1,reason:`Reticle pairing token exceeds ${String(H.MAX_TOKEN_LENGTH)} characters`};let a=!df(s.hostname);return a&&s.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!Eb(i,t)||a?n?r===void 0||r.length===0?{allowed:!1,reason:"a pairing token is required outside localhost"}:{allowed:!0}:{allowed:!1,reason:"Reticle is disabled outside localhost unless allowNonLocalhost is explicitly enabled"}:{allowed:!0}}var f5="Session ended - lost connection to Reticle (the agent is no longer running).";function h5(t,e){return t===void 0||t===ec?e():t}function m5(){try{let t=new URL(window.location.href);if(!t.searchParams.has(eu))return;t.searchParams.delete(eu),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function vv(t){let e=new URLSearchParams(t),n={},r=e.get(pr.SESSION),i=e.get(pr.PROJECT);return r!==null&&r.length>0&&(n.session=r),i!==null&&i.length>0&&(n.projectId=i),n}function g5(t,e){let n=vv(e),r=t.session!==void 0&&t.session!==ec?t.session:void 0,i=t.projectId??n.projectId;return{session:r??n.session,projectId:i!==void 0&&i.length>0?i:void 0}}function E5(t){return{t:t.t,seq:t.seq,type:t.type,sessionId:t.sessionId,ref:t.ref,documentId:t.documentId,editEpoch:0===t.editEpoch?void 0:t.editEpoch,data:t.data}}var Vr,wl,Ki,or,Wi,tp,Cl,Co,Se,Ia,Il,Ll,kl,zi,ir,La,ka,Da,Ma,Pa,$a,Ua,Kr,fn,Nv,sr,Ov,wv,Cv,Iv,Ha=class{constructor(){m(this,fn);m(this,Vr);m(this,wl,new Map);m(this,Ki,[]);m(this,or,!1);m(this,Wi,"default");m(this,tp,PE(Math.random));m(this,Cl,0);m(this,Co);m(this,Se);m(this,Ia,new Map);m(this,Il);m(this,Ll,!1);m(this,kl,!1);m(this,zi);m(this,ir);m(this,La,0);m(this,ka);m(this,Da);m(this,Ma,!1);m(this,Pa);m(this,$a);m(this,Ua,[]);m(this,Kr);m(this,sr,(e,n,r)=>{let i=E5({seq:c(this,La),t:Math.round(performance.now()-c(this,Cl)),type:e,sessionId:c(this,Wi),documentId:c(this,tp),editEpoch:uc.current,data:n,ref:r});try{c(this,Vr)?.sendEvent(i),p(this,La,c(this,La)+1),c(this,Co)?.update({connected:!0,events:c(this,La)}),e===b.ROUTE_CHANGE&&c(this,Se)?.refilterFlows()}catch{}})}connect(e={}){if(c(this,or)||typeof window>"u"||typeof document>"u")return;let r=globalThis.process?.env?.NODE_ENV;if(u5(r,e.allowInProduction===!0)){globalThis.console.warn("[Reticle] disabled in production (NODE_ENV=production). Gate the import behind import.meta.env.DEV, or pass allowInProduction:true to override.");return}m5();let i=e.url??Mg(bp),s=p5(window.location.hostname,i,e.allowNonLocalhost===!0,e.token,window.location.protocol);if(!s.allowed){globalThis.console.warn(`[Reticle] ${s.reason??"connection blocked"}`);return}e.root!==void 0&&e.root.length>0&&(globalThis[ld]=e.root);let a=e.sdkVersion??globalThis[SE];p(this,Da,typeof a=="string"&&a.length>0?a:void 0);let l=g5(e,window.location.search),d=h5(l.session,()=>"");p(this,Wi,Jb(d.length>0?d:void 0,typeof globalThis.sessionStorage>"u"?void 0:globalThis.sessionStorage,()=>typeof globalThis.crypto?.randomUUID=="function"?`s${globalThis.crypto.randomUUID()}`:`s${Date.now().toString(36)}`)),p(this,ka,e.token!==void 0&&e.token.length>0?e.token:void 0),p(this,$a,l.projectId),h(this,fn,Ov).call(this,e.redact),p(this,Cl,performance.now()),p(this,wl,eS()),p(this,Vr,new nu({url:i,hello:()=>h(this,fn,wv).call(this),handleCommand:f=>h(this,fn,Cv).call(this,f),onConnected:()=>{p(this,kl,!0),c(this,Se)?.sessionStart()},onConnectionLost:()=>{Us(),c(this,Se)?.sessionActive===!0&&c(this,Se).setState(Re.ENDED,f5)},onUnreachable:({url:f,attempts:g})=>{Kn(iS(f,g)),c(this,Se)?.showUnreachable(f,g)}})),Id(()=>c(this,Vr)?.reannounce()),lg(e.exposePresenter===!0),e.networkBodyMaxChars!==void 0&&LS(e.networkBodyMaxChars);let u=c(this,sr);p(this,Ma,e.captureNetworkBodies===!0),p(this,Pa,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),p(this,Ki,ax(u,{captureBodies:c(this,Ma),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(p(this,Co,cx()),c(this,Co).update({connected:!0,events:0})),e.present!==!1&&h(this,fn,Nv).call(this,e),e.recorder===!0&&(p(this,zi,Lx({emit:u,now:()=>Date.now()})),c(this,zi).mount()),(e.annotate??e.present!==!1)&&(p(this,ir,new xi({emit:u,now:()=>Date.now(),onMark:f=>c(this,Se)?.log(Ke.HUMAN,`\u{1F6A9} #${String(f.index)} ${f.anchor}${f.source!==void 0?` \xB7 ${f.source}`:""} \u2014 ${f.note}`),shouldBlock:()=>{var f;return((f=c(this,Il))==null?void 0:f.call(this).blockPageInteractions)??!0}})),c(this,ir).mount(),c(this,Se)?.bindAnnotator(c(this,ir))),c(this,Vr).connect(),p(this,or,!0)}get connected(){return c(this,or)}signal(e,n={}){c(this,sr).call(this,b.SIGNAL,{name:e,data:n})}state(e,n){c(this,sr).call(this,b.STATE_CHANGE,{name:e,value:n})}renderCommit(e){e>0&&c(this,sr).call(this,b.RENDER_COMMIT,{commits:e})}describe(e){Cs(e)}endSession(){c(this,Se)?.setState(Re.ENDED)}observeHotUpdates(e){uc.observe(e)}disconnect(){c(this,or)&&(sx(c(this,sr),c(this,Ki)),p(this,Ki,[]),c(this,Vr)?.close(),p(this,Vr,void 0),c(this,Co)?.destroy(),p(this,Co,void 0),c(this,Se)?.sessionEnd(),c(this,Se)?.destroy(),p(this,Se,void 0),c(this,zi)?.destroy(),p(this,zi,void 0),c(this,ir)?.destroy(),p(this,ir,void 0),Us(),p(this,or,!1))}};Vr=new WeakMap,wl=new WeakMap,Ki=new WeakMap,or=new WeakMap,Wi=new WeakMap,tp=new WeakMap,Cl=new WeakMap,Co=new WeakMap,Se=new WeakMap,Ia=new WeakMap,Il=new WeakMap,Ll=new WeakMap,kl=new WeakMap,zi=new WeakMap,ir=new WeakMap,La=new WeakMap,ka=new WeakMap,Da=new WeakMap,Ma=new WeakMap,Pa=new WeakMap,$a=new WeakMap,Ua=new WeakMap,Kr=new WeakMap,fn=new WeakSet,Nv=function(e){c(this,Ll)||(p(this,Ll,!0),Promise.resolve().then(()=>(cv(),av)).then(({Presenter:n})=>Promise.resolve().then(()=>(aa(),ly)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,or))return;p(this,Il,r.getPresenterSettings);let i={};e.pace!==void 0&&(i.paceMs=e.pace),e.narrationDwellMs!==void 0&&(i.narrationDwellMs=e.narrationDwellMs),e.border!==void 0&&(i.border=e.border),e.logMax!==void 0&&(i.logMax=e.logMax),e.endedFadeMs!==void 0&&(i.endedFadeMs=e.endedFadeMs),e.idleEndMs!==void 0&&(i.idleEndMs=e.idleEndMs),i.sessionId=c(this,Wi),i.onControl=a=>c(this,sr).call(this,b.HUMAN_CONTROL,a.text!==void 0?{kind:a.kind,text:a.text}:{kind:a.kind}),i.onHudUse=a=>c(this,sr).call(this,b.HUD_USED,{...a});let s=new n(i);p(this,Se,s),s.mount();for(let a of c(this,Ia).values())s.handlePush(a);c(this,Ia).clear(),Promise.resolve().then(()=>(Rv(),yv)).then(a=>{if(!c(this,or))return;let l=a.mountTour({document,storage:a.safeLocalStorage(),projectId:vv(window.location.search).projectId??window.location.origin,isDriving:()=>Me.IDLE!==s.mode,search:window.location.search,navigator,copy:d=>navigator.clipboard?.writeText(d).then(()=>!0,()=>!1)??!1,select:d=>{let u=window.getSelection();if(u===null)return;let f=document.createRange();f.selectNodeContents(d),u.removeAllRanges(),u.addRange(f)}});l!==void 0&&c(this,Ki).push(l.destroy)}),c(this,kl)&&s.sessionStart(),c(this,ir)!==void 0&&s.bindAnnotator(c(this,ir))}).catch(()=>{}))},sr=new WeakMap,Ov=function(e){jE(GE(e,Kn)),p(this,Ua,VE(e))},wv=function(){return{kind:ft.HELLO,protocolVersion:ql,sessionId:c(this,Wi),...c(this,$a)===void 0?{}:{projectId:c(this,$a)},url:location.href,title:document.title,adapters:Md(),...c(this,ka)===void 0?{}:{token:c(this,ka)},hasCapabilities:Ld(),channels:aS(),platform:cS(),commands:lS(),captureBodies:c(this,Ma),...c(this,Pa)===void 0?{}:{sourceMapping:c(this,Pa)},...c(this,Da)===void 0?{}:{sdkVersion:c(this,Da)},contract:Ef,contractParts:{commands:[...sc.commands],events:[...sc.events],actions:[...sc.actions]},...c(this,Ua).length===0?{}:{redactKeys:c(this,Ua)}}},Cv=async function(e){if(e.name===C.NARRATE)return c(this,Se)?.sessionStart(),c(this,Se)?.narrate(An(e.args.text),An(e.args.level,"info")),{ok:!0,result:{shown:c(this,Se)!==void 0}};if(e.name===C.SESSION_CONFIG){let r=e.args.idleEndMs;return typeof r=="number"&&c(this,Se)?.setIdleEndMs(r),{ok:!0,result:{applied:c(this,Se)!==void 0,idleEndMs:r}}}if(e.name===C.PRESENTER||e.name===C.FLOWS||e.name===C.IMPACT)return c(this,Se)===void 0?(c(this,Ia).set(e.name,e),{ok:!0,result:{applied:!1,buffered:!0}}):(c(this,Se).handlePush(e),{ok:!0,result:{applied:!0}});let n=c(this,wl).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};c(this,Se)?.sessionStart(),await h(this,fn,Iv).call(this,e);try{let r=await n(e.args);return c(this,Kr)?.result(Pt.PASS),{ok:!0,result:r}}catch(r){return c(this,Kr)?.result(Pt.FAIL),{ok:!1,error:r instanceof Error?r.message:String(r)}}finally{p(this,Kr,void 0),c(this,Se)?.scheduleIdle()}},Iv=async function(e){let n=c(this,Se);if(n!==void 0)if(n.setMode(lx(e.name)),p(this,Kr,void 0),e.name===C.ACT){let r=An(e.args.ref),i=su(r);p(this,Kr,n.log(Ke.ACT,`${Pc(An(e.args.action))} ${i}`)),await n.beforeAct(r,An(e.args.action),i)}else if(e.name===C.ACT_SEQUENCE){let r=Array.isArray(e.args.steps)?e.args.steps:[];for(let i of r){let s=i,a=An(s.ref),l=su(a);p(this,Kr,n.log(Ke.ACT,`${Pc(An(s.action))} ${l}`)),await n.beforeAct(a,An(s.action),l)}}else{let r=dx(e.name,e.args);n.status(r),n.log(Ke.READ,r)}};var Jm=globalThis,np=Jm.__reticleInstance??(Jm.__reticleInstance=new Ha);D();et();ii();oi();_c();oi();function Dv(t){try{return eg(t,new WeakMap)}catch{return t}}function eg(t,e){if(typeof t!="object"||t===null)return t;let n=e.get(t);if(n!==void 0)return n;if(Array.isArray(t)){let s=[];e.set(t,s);for(let a of t)s.push(eg(a,e));return s}let r=Object.getPrototypeOf(t);if(r!==Object.prototype&&r!==null)return t;let i={};e.set(t,i);for(let[s,a]of Object.entries(t))i[s]=eg(a,e);return i}function Mv(t){let e={getState:()=>{let n={};for(let r of t.getQueryCache().getAll()){let i=r.queryKey.map(s=>String(s)).join("/");n[i]={status:r.state.status,fetchStatus:r.state.fetchStatus,isStale:r.isStale?.(),dataUpdatedAt:r.state.dataUpdatedAt,error:r.state.error?.message??null,data:r.state.data}}return n},subscribe:n=>t.getQueryCache().subscribe(n)};return wd(e,t),e}function Pv(t,e){return{getState:()=>{let n={};for(let[r,i]of Object.entries(e))n[r]=t.get(i);return n},subscribe:n=>{let r=Object.values(e).map(i=>t.sub(i,n));return()=>{for(let i of r)i()}}}}function $v(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function Uv(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function Hv(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var Lv={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function b5(t){if(t.state===Lv.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==Lv.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function Fv(t,e,n){return{getState:()=>{let r=e(),i={};for(let[s,a]of Object.entries(t))i[s]=b5(r.getLoadable(a));return i},subscribe:n}}function kv(t){if(typeof t=="function"){t();return}t.unsubscribe()}function Bv(t,e=Kn){let n=!1;return{getState:()=>{let r,i=!1;return kv(t.subscribe(s=>{r=Dv(s),i=!0})),!i&&!n&&(n=!0,e("[reticle] a store passed to svelteStore did not call its subscriber synchronously, so its current value cannot be read. reticle_state will report undefined for it. Svelte stores always call back immediately; an RxJS Observable does not unless it is a BehaviorSubject.")),r},subscribe:r=>{let i=!0,s=t.subscribe(()=>{i||r()});return i=!1,()=>kv(s)}}}var T5={detached:!0,flush:"sync"};function Gv(t){return{getState:()=>Dv(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...T5})}}function jv(t){let e=t,n=new Set;return{store:{getState:()=>e,subscribe:i=>(n.add(i),()=>n.delete(i))},push:i=>{e=i;for(let s of n)s()}}}io();function Vv(t={}){let e=t.target??np;return{signal(n,r={}){e.connected&&e.signal(n,r)},state(n,r){e.connected&&e.state(n,r)}}}function Kv(t,e,n,r){let i=e();return t.signal(n,r),i}io();function Wv(t){let e={};t.testids!==void 0&&(e.testids=[...t.testids]),t.signals!==void 0&&(e.signals=[...t.signals]),t.stores!==void 0&&(e.stores=[...t.stores]),Cs(e)}vf();Mt();gt();Lh();Sh();return n0(_5);})();
|
|
1777
|
+
`});var AC={};bs(AC,{HUD_CONTROL_SELECTORS:()=>SC,TOUR_SEEN_KEY_PREFIX:()=>kp,isLastSlide:()=>FT,mountTour:()=>lG,openedByReticle:()=>_C,safeLocalStorage:()=>dG,tourAlreadySeen:()=>xC,tourSeenKey:()=>GT});function aG(t,e){var s;let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let l of e){let d=(s=t.querySelector(l))==null?void 0:s.getBoundingClientRect();d===void 0||d.width<=0||d.height<=0||(n=Math.min(n,d.left),r=Math.min(r,d.top),o=Math.max(o,d.left+d.width),a=Math.max(a,d.top+d.height))}if(o!==Number.NEGATIVE_INFINITY)return{left:n,top:r,width:o-n,height:a-r}}function sG(t,e){var r;if(Be.HUD===e)return aG(t,iG);let n=SC[e];if(n!==void 0){let o=(r=t.querySelector(n))==null?void 0:r.getBoundingClientRect();return o===void 0?void 0:o}if(Be.APP===e)for(let o of oG){let a=t.querySelector(o);if(a===null)continue;let s=a.getBoundingClientRect();if(s.width>0)return s}}function _C(t){if(t===void 0||t==="")return!1;let e=new URLSearchParams(t.startsWith("?")?t.slice(1):t);return e.has($n.OPENED)||e.has($n.SESSION)||e.has($n.PROJECT)}function xC(t,e){if(t===void 0)return!0;try{return t.getItem(GT(e))!==null}catch{return!0}}function cG(t,e){try{t==null||t.setItem(GT(e),"1")}catch{}}function lG(t){var y;if(t.isDriving()||_C(t.search)||((y=t.navigator)==null?void 0:y.webdriver)===!0||xC(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(de,""),n.textContent=bC,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(de,"");let o=HT(),a=0,s=!0,l=()=>{},d=()=>{},u=()=>{s&&(s=!1,l(),d(),r.remove(),n.remove())},p=()=>{s&&(cG(t.storage,t.projectId),u())},f=()=>{t.isDriving()&&u()},m=()=>{var v,O,B,oe;let A=o[a];if(A!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${EC(A)}`,Be.NONE!==A.anchor)){let ce=sG(e,A.anchor);if(ce!==void 0&&ce.width>0){let he=Be.APP===A.anchor,Ie=e.createElement("div");Ie.className=he?"reticle-tour-ring is-region":"reticle-tour-ring";let Ge=he?-2:6;if(Ie.style.left=`${String(Math.round(ce.left-Ge))}px`,Ie.style.top=`${String(Math.round(ce.top-Ge))}px`,Ie.style.width=`${String(Math.round(ce.width+Ge*2))}px`,Ie.style.height=`${String(Math.round(ce.height+Ge*2))}px`,r.appendChild(Ie),he||(v=r.querySelector(".reticle-tour-scrim"))==null||v.classList.add("is-clear"),mC(A)){Ie.classList.add("is-live"),(O=r.querySelector(".reticle-tour-scrim"))==null||O.remove();let mn=e.defaultView;for(let Cn of gC({left:ce.left-Ge,top:ce.top-Ge,width:ce.width+Ge*2,height:ce.height+Ge*2},(B=mn==null?void 0:mn.innerWidth)!=null?B:e.documentElement.clientWidth,(oe=mn==null?void 0:mn.innerHeight)!=null?oe:e.documentElement.clientHeight)){let pt=e.createElement("div");pt.className="reticle-tour-blocker",pt.style.left=`${String(Math.round(Cn.left))}px`,pt.style.top=`${String(Math.round(Cn.top))}px`,pt.style.width=`${String(Math.round(Cn.width))}px`,pt.style.height=`${String(Math.round(Cn.height))}px`,r.appendChild(pt)}}}}},g=A=>{var Ie,Ge;let v=o[a],O=Number(A.getAttribute(Bu)),B=(Ie=v==null?void 0:v.prompts)==null?void 0:Ie[O];if(B===void 0)return;let oe=(mn,Cn)=>{var pt;A.textContent=mn,A.classList.add(Cn),(pt=e.defaultView)==null||pt.setTimeout(()=>{A.textContent=PT,A.classList.remove(Cn)},hC)},ce=mn=>{var pt;if(mn){oe(pC,"is-done");return}let Cn=r.querySelector(`.reticle-tour-prompt[${Bu}="${String(O)}"] .reticle-tour-prompt-text`);Cn!==null&&((pt=t.select)==null||pt.call(t,Cn)),oe(fC,"is-manual")},he=(Ge=t.copy)==null?void 0:Ge.call(t,B.text);if(he===void 0){ce(!1);return}if(typeof he=="boolean"){ce(he);return}he.then(ce).catch(()=>{ce(!1)})};r.addEventListener("click",A=>{let v=A.target;if(!(v instanceof Element))return;let O=v.closest(`[${Bo}]`);if(O===null)return;let B=O.getAttribute(Bo);if(B===null)return;if(A.preventDefault(),A.stopPropagation(),B==="skip"||B==="done"){p();return}if(B==="copy"){g(O);return}let oe=UT(a,B==="back"?-1:1);oe!==a&&(a=oe,m())});let T=A=>{if(!s||Ip(e))return;let v=A.key==="ArrowRight"?1:A.key==="ArrowLeft"?-1:0;if(A.key==="Escape"){A.preventDefault(),p();return}if(v===0)return;let O=UT(a,v);O!==a&&(A.preventDefault(),a=O,m())};e.addEventListener("keydown",T),l=()=>{e.removeEventListener("keydown",T)},m(),e.body.appendChild(r);let _=e.querySelector("[data-reticle-overlay]");if(_!==null){let A=new MutationObserver(f);A.observe(_,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>A.disconnect(),f()}return{destroy:p,isOpen:()=>s}}function dG(){try{return window.localStorage}catch{return}}var oG,iG,SC,GT,yC=S(()=>{"use strict";TC();MT();H();at();Lr();oG=["main","#root","#app"],iG=["[data-reticle-hud]","[data-reticle-chat-panel]"];SC={[Be.HUD_CHAT]:"[data-reticle-chat-toggle]",[Be.HUD_FLOWS]:'[data-reticle-chat-view-btn="flows"]',[Be.HUD_ANNOTATE]:'[data-reticle-chat-view-btn="annotations"]',[Be.HUD_IMPACT]:"[data-reticle-chat-impact]",[Be.HUD_SETTINGS]:"[data-reticle-settings-btn]"};GT=t=>`${kp}${t}`});var yG={};bs(yG,{Annotator:()=>Da,RefRegistry:()=>id,Reticle:()=>Ll,SESSION_AUTO:()=>Wl,adapterNames:()=>_d,buildSnapshot:()=>Kp,canvasChartData:()=>CA,commitAndSignal:()=>KC,createReticleEmitter:()=>jC,describe:()=>Mr,elementHasHoverHandlers:()=>Jp,executeAction:()=>wd,executeSequence:()=>gf,getAccessibleName:()=>Ne,getCapabilities:()=>si,getRole:()=>xe,getStates:()=>go,hasCapabilities:()=>Zp,identifyComponent:()=>$r,inspectChart:()=>Hp,installAnnotator:()=>rw,isVisible:()=>Gt,jotaiStore:()=>$C,markAdapterSource:()=>zp,matchQuery:()=>xd,mobxStore:()=>UC,piniaStore:()=>BC,pushStore:()=>VC,readComponentState:()=>Qp,readStores:()=>Ty,readStoresWithTruncation:()=>Sd,recoilStore:()=>FC,refs:()=>J,registerAdapter:()=>Ny,registerCapabilities:()=>tc,registerReticleDomain:()=>WC,registerStore:()=>gy,resolveMarkAnchor:()=>Gd,reticle:()=>Qh,runQuery:()=>nf,setCapabilitiesListener:()=>qp,setIgnoreSelectors:()=>dA,sourceOwner:()=>_y,storeNames:()=>ai,svelteStore:()=>GC,tanstackQueryStore:()=>MC,unregisterStore:()=>Ey,valtioStore:()=>HC,xstateStore:()=>PC});at();H();Bt();Un();var p2=new Set(["submit","button","reset","image"]);function f2(t){return Ze(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!p2.has(t.type.toLowerCase()):!1}var h2="A",m2=/^\s*(#.*|javascript:.*)?$/i;function g2(t){if(h2!==t.tagName)return;let e=t.getAttribute("href");return e===null||m2.test(e)?void 0:e}function gd(t){var o,a,s,l,d,u;let e=g2(t);if(e!==void 0)return e;let n=t.closest("form"),r=f2(t)?["",""]:[(o=t.textContent)!=null?o:"",(a=t.getAttribute("value"))!=null?a:""];return[Ne(t),...r,(s=t.getAttribute("title"))!=null?s:"",(l=t.getAttribute("aria-label"))!=null?l:"",(d=t.getAttribute("href"))!=null?d:"",(u=n==null?void 0:n.getAttribute("action"))!=null?u:""].join(" ")}var E2='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function jA(t){var n;let e=(n=t.closest("form"))==null?void 0:n.querySelector(E2);return Ze(e)?e:null}function Bp(t,e){return z_(t,e)}var Pg;function Hg(t){Pg=t}function KA(t){if(Pg!==void 0)for(let e of t){if(e===null)continue;let n=Y_(gd(e),xe(e));if(n!==void 0&&!Pg.includes(n))throw new Error(X_(n))}}H();on();var WA=(t,e)=>Array.from(t.querySelectorAll(e)).some(n=>n.closest(Xl)===null);function zA(t){return[...WA(t,`[${Ds}]`)?[pa.SOURCE]:[],...WA(t,rr())?[pa.TESTID]:[]]}function YA(t){return t.buildPlugin||0<t.adapters.length||t.markers.includes(pa.SOURCE)?[]:[bp]}H();Lr();var XA=st.SESSION;function qA(t,e,n){var l;let r=()=>{try{let d=e==null?void 0:e.getItem(XA);return d!=null&&d.length>0?d:void 0}catch{return}},o=d=>{try{e==null||e.setItem(XA,d)}catch{}},a=t!==void 0&&t.length>0?t:void 0,s=(l=a!=null?a:r())!=null?l:n();return o(s),s}Rt();var b2="vite:afterUpdate",T2=3,S2="no longer resolves to an element",_2="the code changed underneath it";function Ug(t){return t!==null&&typeof t=="object"?t:void 0}function x2(t){var e;return typeof((e=Ug(t))==null?void 0:e.on)=="function"}function A2(t){var r,o;let e=(r=Ug(t))==null?void 0:r.updates;if(!Array.isArray(e))return[];let n=[];for(let a of e){let s=(o=Ug(a))==null?void 0:o.path;typeof s=="string"&&s.length>0&&!n.includes(s)&&n.push(s)}return n}var Ed,Qs,Js,Fg=class{constructor(e){b(this,Ed,0);b(this,Qs,[]);b(this,Js);h(this,Js,e)}get current(){return c(this,Ed)}observe(e){x2(e)&&e.on(b2,n=>this.applied(A2(n)))}applied(e){h(this,Ed,c(this,Ed)+1),h(this,Qs,e.slice(0,T2)),c(this,Js).markEdited()}staleRefMessage(e){let n=`ref '${ga(e)}' ${S2}`;if(!c(this,Js).mintedBeforeLastEdit(e))return n;let r=c(this,Qs).length===0?"the page hot-updated":`${c(this,Qs).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${_2} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};Ed=new WeakMap,Qs=new WeakMap,Js=new WeakMap;var bd=new Fg(J);H();H();Ys();Un();Bt();Rt();at();var jp=new Set(["button","link","textbox","searchbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),y2=new Set(["script","style","noscript","template","head","meta","link"]),v2=new Set(["alert","status"]);function JA(t,e){if(v2.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var ZA=80;function R2(t){let e=ey(t),n=(e.own?e.text:"").replace(/\s+/g," ").trim();return n.length>ZA?`${n.slice(0,ZA)}\u2026`:n}function ey(t){var r,o;let e="",n=!1;for(let a of t.childNodes)if(a.nodeType===3)e+=(r=a.textContent)!=null?r:"",n||(n=0<((o=a.textContent)!=null?o:"").trim().length);else if(an(a)&&ny(a)){let s=ey(a);e+=s.text,n||(n=s.own)}else an(a)&&ty(a)&&jp.has(xe(a))&&(e+=Ne(a));return{text:e,own:n}}function ty(t){let e=t.ownerDocument.defaultView,n=t.parentElement;if(e===null||n===null)return!1;let r=e.getComputedStyle(n).display;return r.includes("flex")||r.includes("grid")?!1:e.getComputedStyle(t).display==="inline"}function ny(t){if(oy(t)||!ty(t))return!1;let e=xe(t);return!jp.has(e)&&!JA(t,e)&&Ne(t).length===0}var N2=50;function ry(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function oy(t){return y2.has(t.tagName.toLowerCase())||rn(t)?!0:ry(t)}function w2(t){let e=go(t).filter(n=>n===fe.DISABLED||n===fe.CHECKED||n===fe.EXPANDED||n===fe.PRESSED||n===fe.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function O2(t,e,n,r,o,a=""){let s=" ".repeat(e),l=Mg(t),d=r,u=d.length>0?` "${d}"`:"",p=jp.has(n)||d.length>0?` (ref=${J.refFor(t)})`:"",f=l!==void 0&&l.length>0?` [value="${l}"]`:"",m=o.length>0?` [${o}]`:"",g=a.length>0?` [text="${a}"]`:"";return`${s}- ${n}${u}${p}${f}${g}${m}${w2(t)}`}function I2(t,e){return`${" ".repeat(t)}- text "${e}"`}function C2(t){if(t===null)return"";let e=t.display;if(e==="grid"||e==="inline-grid"){let n=t.gridTemplateColumns;return n!==""&&n!=="none"?`grid-cols:${n}`:"grid"}return""}var iy=t=>t.hasAttribute("data-aria-hidden")&&t.getAttribute("aria-hidden")==="true";function QA(t,e){for(let n of t){if(e.unread.length>=N2){e.unreadOverflow=!0;return}e.unread.push(J.refFor(n))}}function L2(t){var r,o;let e=[...t.children],n=(r=t.shadowRoot)!=null?r:zs(t);if(n!==null&&e.push(...n.children),Lp(t))try{let a=(o=t.contentDocument)==null?void 0:o.body;a!=null&&e.push(...a.children)}catch{}return e}function Gg(t,e,n,r){if(!(n.throughOverlay===!0&&iy(t)&&!rn(t)&&!(t instanceof HTMLElement&&t.hidden))&&oy(t)){ry(t)&&(n.hiddenSkipped+=1);return}let a=t.ownerDocument.defaultView,s=a!==null?a.getComputedStyle(t):null;if(s!==null&&s.display==="none"){n.hiddenSkipped+=1;return}if(s!==null&&s.display==="inline"&&!r&&ny(t)){Vp(t,e,n,r);return}let l=xe(t),d=Ne(t),u=jp.has(l),p=r||JA(t,l),f=n.mode===Is.INTERACTIVE&&!p,m=!f&&d.length===0?R2(t):"",g=f?"":C2(s),T=u,_=T||l!=="generic"||d.length>0||m.length>0||g.length>0,y=f?T:_;f&&!y&&_&&(n.leanSkipped+=1),y?(n.nodes+=1,n.lines.push(l==="generic"&&m.length>0&&g.length===0?I2(e,m):O2(t,e,l,d,g,m)),Vp(t,e+1,n,p)):Vp(t,e,n,p)}function Vp(t,e,n,r=!1){let o=L2(t);if(e>n.maxDepth){o.length>0&&(n.truncated=!0,QA([t],n));return}for(let a=0;a<o.length;a+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,QA(o.slice(a),n);return}let s=o[a];s!==void 0&&Gg(s,e,n,r)}}function k2(t){let e=t.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n=[];for(let r of e)ht(r)||Gt(r)&&n.push(Ne(r)||"(unnamed dialog)");return n}var D2='[role="dialog"], [role="alertdialog"], dialog[open], [aria-modal="true"]';function M2(t){if(t!==document.body)return;let e=document.body.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n,r;for(let s of e)if(!ht(s)){if(Gt(s)){n=s;break}r!=null||(r=s)}if(n!=null||(n=r),n===void 0)return;let o=n,a=Array.from(document.body.children).filter(s=>!s.contains(o));if(a.length!==0&&a.every(s=>s.getAttribute("aria-hidden")==="true"))return"the rest of the page is aria-hidden behind an open overlay (a focus-trap modal), so this snapshot shows only the overlay. If it will not close its cleanup may be stuck on a throttled tab: dismiss the overlay, or snapshot with { scope } inside it."}function $2(t){let e=k2(t),n=M2(t);return{route:`${location.pathname}${location.search}${location.hash}`,title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function Kp(t={}){var l,d,u,p;let e=(l=t.mode)!=null?l:Is.FULL,n=t.scope!==void 0?(d=J.resolve(t.scope))!=null?d:document.querySelector(t.scope):document.body,r=t.scope!==void 0&&!(n instanceof Element),o=n instanceof Element?n:document.body,a=$2(o);if(r)return{tree:"",status:a,nodes:0,truncated:!1,scopeMissing:!0};if(e===Is.STATUS)return{tree:"",status:a,nodes:0,truncated:!1};let s={lines:[],nodes:0,leanSkipped:0,hiddenSkipped:0,truncated:!1,mode:e,maxNodes:(u=t.maxNodes)!=null?u:400,maxDepth:(p=t.maxDepth)!=null?p:20,unread:[],unreadOverflow:!1};if(t.includeRoot===!0?Gg(o,0,s,!1):Vp(o,0,s),s.nodes===0&&o===document.body){s.throughOverlay=!0;for(let f of Array.from(o.children))iy(f)&&f.querySelector(D2)!==null&&Gg(f,0,s,!1);s.throughOverlay=!1}return{tree:s.lines.join(`
|
|
1778
|
+
`),status:a,nodes:s.nodes,truncated:s.truncated,...s.nodes===0?{domElements:o.querySelectorAll("*").length}:{},...s.leanSkipped>0?{leanSkipped:s.leanSkipped}:{},...s.hiddenSkipped>0?{hiddenSkipped:s.hiddenSkipped}:{},...s.unread.length>0?{unread:s.unread}:{},...s.unreadOverflow?{unreadOverflow:!0}:{}}}var P2=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],H2={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"};function U2(t){if(t.id.length>0)return`#${t.id}`;let e=t.getAttribute("class");return e!==null&&e.trim().length>0?`.${e.trim().split(/\s+/).join(".")}`:t.tagName.toLowerCase()}function ay(t){let e=t.ownerDocument.defaultView;if(e===null)return[];let n=[];for(let r=t;r!==null&&r!==t.ownerDocument.documentElement;r=r.parentElement){let o=e.getComputedStyle(r);for(let a of P2){let s=o.getPropertyValue(a);s.length>0&&s!==H2[a]&&n.push({on:U2(r),property:a,value:s})}}return n}H();Un();Ys();Bt();at();Dr();ci();li();Rt();on();var $y=Ds,z2=12,Y2=2e3,X2=()=>`[${$y}], ${rr()}, button, a, input, select, textarea, [role]`;function Pr(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}function Fn(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}function Zg(t,e){return Fn(t).toLowerCase().includes(Fn(e).toLowerCase())}function Qg(t,e,n){return e.matchCase!==!0?Zg(t,n):Fn(t).includes(Fn(n))}function q2(t,e){return Fn(t)===Fn(e)}var Z2=["script","style","template","noscript"];function Py(t){return Z2.includes(t.tagName.toLowerCase())}function Q2(t){if(ve(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return Py(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("")}function ef(t,e){var a;if(Py(t)||rn(t))return"";let n=Gt(t,e),r=J2(t),o="";for(let s of Array.from(t.childNodes))if(Node.TEXT_NODE===s.nodeType&&n)o+=(a=s.textContent)!=null?a:"";else if(an(s)){let l=ef(s,e);o+=r||e$(s)?` ${l} `:l}return o}function J2(t){var n,r;let e=(r=(n=t.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(t).display)!=null?r:"";return e.includes("flex")||e.includes("grid")}function e$(t){var n,r;let e=(r=(n=t.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(t).display)!=null?r:"inline";return!e.startsWith("inline")&&e!=="contents"}function t$(t){if(ve(t)||Ft(t)||or(t))return!0;let e=t.tagName.toLowerCase();return e==="button"||e==="meter"||e==="output"||e==="progress"||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")}function tf(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=J.resolve(t);if(ri(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(ri(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function n$(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${$y}^="${n}"]`))}catch{return[]}}function r$(t,e){let n=[],r=0;for(let o of Array.from(t.querySelectorAll(X2()))){if(r>=Y2)break;r+=1;let a=$r(o);a!==null&&a.componentStack[0]===e&&n.push(o)}return n}function wy(t,e){if(e.source!==void 0){let n=n$(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?r$(t,e.component):[]}function o$(t,e){return t===e||e==="textbox"&&t==="searchbox"}function qg(t,e,n){return Pr(t).filter(r=>o$(xe(r),e)&&(n===void 0||q2(Ne(r),n)))}function Oy(t,e,n){return Pr(t).filter(r=>Qg(Q2(r),n,e))}function Iy(t,e){let n=Fn(e).toLowerCase(),r=[],o=[];for(let a of Pr(t)){if(!t$(a))continue;let s=Fn(Ne(a)).toLowerCase();s.includes(n)&&(s===n?r:o).push(a)}return r.length>0?r:o}function Cy(t,e){return Pr(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&Zg(r,e)})}function Ly(t,e){return Pr(t).filter(n=>Pe(n)===e)}function ky(t,e){return Pr(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&Zg(r,e)})}function Dy(t,e){var o;let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case et.ROLE:return qg(t,r,e.name);case et.TEXT:return Oy(t,r,e);case et.LABEL:return Iy(t,r);case et.PLACEHOLDER:return Cy(t,r);case et.TESTID:return Ly(t,r);case et.ALT:return ky(t,r);case et.COMPONENT:return wy(t,{...e,component:(o=e.component)!=null?o:r});default:throw new Error(`unsupported query strategy '${String(n)}' - use one of: ${Object.values(et).join(", ")}`)}return e.component!==void 0||e.source!==void 0?wy(t,e):e.role!==void 0?qg(t,e.role,e.name):e.text!==void 0?Oy(t,e.text,e):e.label!==void 0?Iy(t,e.label):e.placeholder!==void 0?Cy(t,e.placeholder):e.testid!==void 0?Ly(t,e.testid):e.alt!==void 0?ky(t,e.alt):[]}function i$(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}var a$=3;function s$(t){let e=[],n=(r,o)=>{var a;for(let s of r.querySelectorAll("*")){let l=(a=s.shadowRoot)!=null?a:zs(s);if(l!==null){e.push(l),n(l,o);continue}if(o>=a$||!Lp(s))continue;let d=i$(s);d!==null&&(e.push(d),n(d,o+1))}};return n(t,0),e}function Hy(t){let{container:e,scopeMissing:n}=tf(t.scope);if(e===null)return{candidates:[],scopeMissing:!0};if(t.self===!0)return t.scope===void 0?{candidates:[],scopeMissing:n}:t.text!==void 0&&!Qg(ef(e,new Map),t,t.text)?{candidates:[],scopeMissing:n}:{candidates:rn(e)?[]:[e],scopeMissing:n};let r=new Set,o=[],a=s=>{for(let l of s)r.has(l)||rn(l)||(r.add(l),o.push(l))};a(Dy(e,t));for(let s of s$(e))a(Dy(s,t));return{candidates:o,scopeMissing:n}}var c$=512,l$=12;function d$(t,e){let n={};for(let r of e.slice(0,l$)){let o=t.getAttribute(r);o!==null&&(n[r]=tt(r)?_e:o.slice(0,c$))}return Object.keys(n).length>0?n:void 0}function u$(t,e,n){return fe.IN_VIEWPORT===e?$g(t,n):go(t,Gt(t,n)).includes(e)}var My=G.MAX_COLLECTION_ITEMS;function xd(t,e,n=My,r=!0){let o=Hy(t),a=o.scopeMissing,s=r&&g$(t)?Fy(t):void 0,l=o.candidates.length===0?tf(t.scope).container:null,d=l===null||s===void 0?void 0:Uy(l,s,t),u=d===void 0?o.candidates:[d],p=new Map,f=e===void 0?u:u.filter(y=>u$(y,e,p)),m=t.attrs,g=f.slice(0,Math.max(0,Math.min(n,My))),T=g.length>1||fe.IN_VIEWPORT===e,_=g.map(y=>{let A=Mr(y,p);if(T&&$g(y,p)&&!A.states.includes(fe.IN_VIEWPORT)&&(A={...A,states:[...A.states,fe.IN_VIEWPORT]}),m===void 0||m.length===0)return A;let v=d$(y,m);return v===void 0?A:{...A,attrs:v}});return{matched:f.length>0,count:f.length,elements:_,...a?{scopeMissing:!0}:{},...f.length===0?{hint:Gy(t)}:{}}}function p$(t){let e=t.getAttribute("aria-labelledby");if(e===null)return;let n=e.split(/\s+/).map(r=>{var o,a,s;return r.length>0&&(s=(a=(o=t.ownerDocument.getElementById(r))==null?void 0:o.textContent)==null?void 0:a.trim())!=null?s:""}).filter(r=>r.length>0).join(" ");return n.length>0?n:void 0}function f$(t){var o,a,s,l,d,u,p,f;let e=(o=tf(t.scope).container)!=null?o:document.body,n=[],r=["list","listbox","grid","table","tree","treegrid","dialog","alertdialog","navigation","main","banner","form","search","menu","menubar","tablist"];for(let m of r){let g=qg(e,m,void 0);for(let T of g){if(ht(T))continue;let _=(l=(s=(a=T.getAttribute("aria-label"))!=null?a:p$(T))!=null?s:Pe(T))!=null?l:void 0,y=T.querySelectorAll("[role]"),A=[];for(let O of Array.from(y)){if(A.length>=3)break;let B=O.getAttribute("role"),oe=(f=(p=(d=O.getAttribute("aria-label"))!=null?d:Pe(O))!=null?p:(u=O.textContent)==null?void 0:u.trim().slice(0,40))!=null?f:"";B!==null&&oe.length>0&&A.push(`${B}[${oe}]`)}let v={role:m,childCount:y.length,sample:A};if(_!==void 0&&_.length>0&&(v.name=_),n.push(v),n.length>=10)return n}}return n}function Uy(t,e,n){let r,o=-1,a=new Map;for(let s of Pr(t)){if(rn(s)||!Qg(ef(s,a),n,e))continue;let l=0;for(let d=s.parentElement;d!==null;d=d.parentElement)l++;l>o&&(r=s,o=l)}return r}function h$(t,e){let n=Fn(e).toLowerCase();if(n.length===0)return;let r=new Map;for(let o of Pr(t)){if(rn(o))continue;let a=Fn(ef(o,r)),s=a.toLowerCase().indexOf(n);if(s!==-1)return a.slice(s,s+n.length)}}var m$=new Set(["text","matchCase","scope","by","value"]);function g$(t){return(t.by===void 0||et.TEXT===t.by)&&Object.keys(t).every(e=>m$.has(e))}function Fy(t){return t.text!==void 0?t.text:et.TEXT===t.by?t.value:void 0}var E$=5;function b$(t,e){let n=et.ROLE===e.by?e.value:e.role,r=e.name;if(n===void 0||r===void 0||r.length===0)return[];let o=Fn(r).toLowerCase();if(o.length===0)return[];let a=[];for(let s of Pr(t)){if(rn(s)||xe(s)!==n)continue;let l=Fn(Ne(s));if(l.length===0)continue;let d=l.toLowerCase();if(!(!d.includes(o)&&!o.includes(d))&&(a.includes(l)||a.push(l),a.length>=E$))break}return a}function T$(t,e){if(et.TESTID!==e.by||e.value===void 0)return;let n=Bs();for(let r of[ca,...g_]){if(r===n)continue;if(Pr(t).some(a=>a.getAttribute(r)===e.value&&!rn(a)))return r}}function Gy(t){var m;let e=(m=tf(t.scope).container)!=null?m:document.body,n=e.querySelectorAll(rr()),r=[],o=new Set;for(let g of Array.from(n)){if(rn(g))continue;let T=Pe(g);T===null||T.length===0||o.has(T)||(o.add(T),r.length<z2&&r.push(T))}let a=vy(),s=r.some(g=>a.includes(g)),d={route:`${location.pathname}${location.search}`,presentTestids:r,...o.size>r.length?{presentTestidsTotal:o.size}:{},presentRegions:f$(t),knownEmptyState:s},u=Fy(t);if(u!==void 0){let g=Uy(e,u,t);if(g!==void 0)d.splitText=Mr(g);else if(t.matchCase===!0){let T=h$(e,u);T!==void 0&&(d.caseMiss=T)}}let p=b$(e,t);p.length>0&&(d.nameNearMiss=p);let f=T$(e,t);return f!==void 0&&(d.testidFoundUnder=f),d}function By(t){return Hy(t).candidates}function nf(t,e){let n=xd(t,void 0,e,!1),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:Gy(t),...r}:{elements:n.elements,count:n.count,...r}}H();rc();Rt();oi();Un();var S$=/\b(current|new)-password\b/,_$=/Chrome|Chromium|Edg\/|Firefox|Gecko\//;function eE(t,e=navigator.userAgent){var r,o,a;return!(t instanceof HTMLInputElement)||!(t.type.toLowerCase()==="password"||S$.test((r=t.getAttribute("autocomplete"))!=null?r:""))||_$.test(e)?!1:600<=Number((a=(o=/AppleWebKit\/(\d+)/.exec(e))==null?void 0:o[1])!=null?a:0)}function of(t,e){let n=EA(t),r=n===void 0?void 0:xA(n);r!==void 0?r.call(t,e):t.value=e;let o=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!o}function x$(t){let e=t.getAttribute("contenteditable");if(Ze(t)&&t.isContentEditable||e!==null&&e!=="false"||t.getAttribute("role")==="textbox")return!0;if(!("editContext"in t))return!1;let n=t;return n.editContext!==null&&n.editContext!==void 0}function tE(t,e){if(x$(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function nE(t,e){if(t.disabled)throw new Error(`cannot ${e} a disabled <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`);if(t.readOnly)throw new Error(`cannot ${e} a readonly <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`)}Bt();li();Un();lt();at();Bt();var oE=200,Zy=" | ",A$=3,y$=/\p{L}/u;function v$(t){return y$.test(t)}var R$=3;function N$(t){return t instanceof Element&&t.querySelectorAll("*").length>R$}var oc,Ad,ui,iE,aE,sf=class{constructor(){b(this,ui);b(this,oc,new Set);b(this,Ad,0)}collect(e){for(let n of e){if(E(this,ui,iE).call(this))return;if(n.type==="characterData"){E(this,ui,aE).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(E(this,ui,iE).call(this))return;if(N$(r))continue;let o=A$===r.nodeType?r.parentElement:w$(r);E(this,ui,aE).call(this,r.textContent,o)}}}effect(e){let n=[...c(this,oc)].filter(o=>o!==e);if(n.length===0)return{};let r=n.join(Zy);return{appeared:r.length>oE?`${r.slice(0,oE)}\u2026`:r}}};oc=new WeakMap,Ad=new WeakMap,ui=new WeakSet,iE=function(){return c(this,Ad)>oE},aE=function(e,n){if(n!==null&&rn(n)||n!==null&&ir(n))return;let r=(e!=null?e:"").replace(/\s+/g," ").trim();r.length!==0&&v$(r)&&(c(this,oc).has(r)||(c(this,oc).add(r),h(this,Ad,c(this,Ad)+(r.length+Zy.length))))};function w$(t){return t instanceof Element?t:t.parentElement}H();Un();var O$=new Set(["checkbox","switch"]),Qy="aria-checked",cf=t=>{var e;return!ve(t)&&O$.has((e=t.getAttribute("role"))!=null?e:"")},Jy=t=>t.getAttribute(Qy)==="true";function ev(t,e,n){var o;if(n||!cf(t)||e!==k.CHECK&&e!==k.UNCHECK)return;let r=e===k.CHECK;if(Jy(t)!==r)throw new Error(`${e} clicked the ${(o=t.getAttribute("role"))!=null?o:""} but ${Qy} is still "${String(!r)}" \u2014 the app did not toggle it`)}function lf(t,e){if(e!==k.CHECK&&e!==k.UNCHECK)return!1;let n=e===k.CHECK;return ve(t)?t.checked===n:cf(t)&&Jy(t)===n}H();rc();lt();Un();var sE=t=>new Promise(e=>ee(e,t));function I$(t,e=""){return typeof t=="string"?t:e}function uf(t){return Vm(t)}var C$=["metaKey","ctrlKey","shiftKey","altKey"],ov={meta:"metaKey",cmd:"metaKey",command:"metaKey",super:"metaKey",win:"metaKey",control:"ctrlKey",ctrl:"ctrlKey",shift:"shiftKey",alt:"altKey",option:"altKey",opt:"altKey"};function iv(t){let e=t.modifiers,n=Array.isArray(e)?e.map(o=>I$(o).toLowerCase()):[],r={metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1};for(let o of n){let a=ov[o];a!==void 0&&(r[a]=!0)}return r}function tv(t){return ov[t.toLowerCase()]}function df(t,e){let n=t.code;return typeof n=="string"&&0<n.length?n:e===" "?"Space":e.length===1?/[a-z]/i.test(e)?`Key${e.toUpperCase()}`:/[0-9]/.test(e)?`Digit${e}`:"":/^[A-Z][A-Za-z0-9]*$/.test(e)&&D$.has(e)?e:""}function pf(t,e,n,r,o=!1){if(nv!==e&&e.length!==1)return;let a=new KeyboardEvent("keypress",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:o,...r}),s=nv===e?L$:e.charCodeAt(0);for(let l of k$)Object.defineProperty(a,l,{value:s});We(()=>t.dispatchEvent(a))}var nv="Enter",L$=13,k$=["keyCode","charCode","which"],D$=new Set(["Enter","Escape","Tab","Backspace","Delete","Home","End","PageUp","PageDown","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Insert","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),M$="no document to press into";function av(){let t=document.activeElement;if(Ze(t)&&document.body!==t)return t;if(Ze(document.body))return document.body;let e=document.documentElement;if(Ze(e))return e;throw new Error(M$)}function sv(t,e,n){return t.length===0&&x_(n)&&k.PRESS===e}function cv(t){return jm(t)}var $$=33,rv=500,P$={Backspace:8,Tab:9,Enter:13,Shift:16,Control:17,Alt:18,Escape:27," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Delete:46,Meta:91},H$=/^[a-z0-9]$/i,U$=t=>{var e;return(e=P$[t])!=null?e:H$.test(t)?t.toUpperCase().charCodeAt(0):0};function yd(t,e){let n=new KeyboardEvent(t,e),r=U$(e.key);for(let o of["keyCode","which"])Object.defineProperty(n,o,{get:()=>r});return n}async function lv(t,e,n,r,o){let a=Date.now();for(o>rv&&await sE(rv);Date.now()-a<o;)We(()=>t.dispatchEvent(yd("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r})))&&pf(t,e,n,r,!0),await sE(Math.min($$,Math.max(0,o-(Date.now()-a))))}async function dv(t,e,n,r){let o={...n},a=(p,f)=>{let m=df({},f);return We(()=>t.dispatchEvent(yd(p,{key:f,code:m,bubbles:!0,cancelable:!0,...o})))},s=new Map;for(let p of C$)o[p]&&s.set(p,1);let l=p=>{var f;s.set(p,((f=s.get(p))!=null?f:0)+1),o[p]=!0},d=p=>{var m;let f=((m=s.get(p))!=null?m:1)-1;s.set(p,f),f<=0&&(o[p]=!1)},u=!1;for(let p of e){let f=tv(p);f!==void 0&&l(f);let m=a("keydown",p);m||(u=!0),m&&pf(t,p,df({},p),o),cE(t,p,m)}r>0&&await sE(r);for(let p of[...e].reverse()){let f=tv(p);f!==void 0&&d(f),a("keyup",p)}return u}function cE(t,e,n){var r,o;if(!(e!=="Escape"||!n))for(let a=t.closest("dialog");a!==null;a=(o=(r=a.parentElement)==null?void 0:r.closest("dialog"))!=null?o:null){try{if(!a.open||!a.matches(":modal"))continue}catch{return}typeof a.requestClose=="function"?a.requestClose():a.dispatchEvent(new Event("cancel",{cancelable:!0}))&&a.close();return}}on();H();Bt();li();function uv(t){var l;let e=(l=Pe(t))!=null?l:void 0,n=$r(t),r={};e!==void 0&&(r.testid=e);let o=n==null?void 0:n.componentStack[0];o!==void 0&&(r.component=o),(n==null?void 0:n.source)!==void 0&&(r.source=n.source);let a=xe(t),s=Ne(t);if(a.length>0&&(r.role=a),s.length>0&&(r.name=s),a.length>0&&s.length>0){let d=By({by:et.ROLE,value:a,name:s}),u=d.indexOf(t);1<d.length&&0<=u&&(r.nth=u,r.of=d.length)}return r}var pv=(t,e,n,r,o,a,s)=>{let l={ok:!0,ref:t,action:e,dispatched:!0,settled:r,settleReason:o,effect:n};return a.testid!==void 0&&(l.testid=a.testid),a.component!==void 0&&(l.component=a.component),a.source!==void 0&&(l.source=a.source),a.role!==void 0&&(l.role=a.role),a.name!==void 0&&(l.name=a.name),a.nth!==void 0&&(l.nth=a.nth),a.of!==void 0&&(l.of=a.of),s!==void 0&&(l.warning=s),l};Rt();at();var F$=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],G$=3;function ff(t,e){var u;if(e.width===0||e.height===0)return null;let n=t.ownerDocument;if(typeof n.elementFromPoint!="function")return null;let r=n,o=p=>Gs(p)&&p!==t&&!t.contains(p)&&!p.contains(t),a=(p,f)=>{var g,T,_;return(_=((T=(g=r.elementsFromPoint)==null?void 0:g.call(r,p,f))!=null?T:[n.elementFromPoint(p,f)]).find(y=>y!==null&&!o(y)))!=null?_:null},s=new Map;for(let[p,f]of F$){let m=a(e.left+e.width*p,e.top+e.height*f);m!==null&&(m===t||t.contains(m)||m.contains(t)||s.set(m,((u=s.get(m))!=null?u:0)+1))}let l=null,d=0;for(let[p,f]of s)f>d&&(l=p,d=f);return d>=G$?l:null}lt();rc();var hf={occluded:!1,occludedBy:null,scrolledIntoView:!1};function pi(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function mf(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}var dt=1,vd=0;function He(t,e,n,r,o,a=0){let s={bubbles:!(e.endsWith("enter")||e.endsWith("leave")),cancelable:!0,detail:a,clientX:n.x,clientY:n.y,screenX:n.x,screenY:n.y,buttons:r,button:0,...o!==void 0?{relatedTarget:o}:{}};return t.dispatchEvent(e.startsWith("pointer")?mf(t,e,{...s,pointerId:1,isPrimary:!0}):pi(t,e,s))}async function Rd(t,e,n){var u;let r=t.ownerDocument,o=(u=r.activeElement)!=null?u:r.body,a=lE(t),s=n!=null?n:0;We(()=>He(t,"pointerdown",a,dt,o,s)),We(()=>He(t,"mousedown",a,dt,void 0,s)),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let l=0;if(e!==void 0&&e.ms>0){let p=e.now();await e.sleep(e.ms),l=e.now()-p}return We(()=>He(t,"pointerup",a,vd,o,s)),We(()=>He(t,"mouseup",a,vd,void 0,s)),{prevented:!We(()=>He(t,"click",a,vd,void 0,s)),heldMs:l}}function B$(t){return t.width>0||t.height>0}function V$(t,e){let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=e.left+e.width/2,o=e.top+e.height/2;return r<0||o<0||r>n.innerWidth||o>n.innerHeight}function j$(t,e){let n=ff(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:J.refFor(n)}}function gv(t){if(typeof t.getBoundingClientRect!="function")return hf;let e=t.getBoundingClientRect();if(!B$(e))return hf;let n=!1;return V$(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect()),{...j$(t,e),scrolledIntoView:n}}function dE(t,e,n=null){We(()=>t.dispatchEvent(mf(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function Ev(t,e,n=null){We(()=>t.dispatchEvent(mf(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function K$(t){if(typeof DataTransfer!="function")return null;let e=new DataTransfer,n=Array.isArray(t)?t:t!==void 0?[t]:[];for(let r of n)if(typeof r=="object"&&r!==null){let o=r;typeof o.mime=="string"&&typeof o.value=="string"&&e.setData(o.mime,o.value)}return e}var fv=5;function lE(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function W$(t,e,n){return{x:Math.round(t.x+(e.x-t.x)*n),y:Math.round(t.y+(e.y-t.y)*n)}}async function uE(t,e,n){let r=e!=null?e:t,o=lE(t),a=lE(r),s=t.getBoundingClientRect(),l=e!==null?r.getBoundingClientRect():null,d=(m,g)=>g.x>=m.left&&g.x<=m.right&&g.y>=m.top&&g.y<=m.bottom;He(t,"pointerdown",o,dt),He(t,"mousedown",o,dt),await di();let u=!1,p=!1;for(let m=1;m<=fv;m+=1){let g=W$(o,a,m/fv);!u&&!d(s,g)&&(u=!0,He(t,"pointerout",g,dt,r),He(t,"mouseout",g,dt,r),He(t,"pointerleave",g,dt,r),He(t,"mouseleave",g,dt,r)),u&&!p&&l!==null&&d(l,g)&&(p=!0,He(r,"pointerover",g,dt,t),He(r,"mouseover",g,dt,t),He(r,"pointerenter",g,dt,t),He(r,"mouseenter",g,dt,t)),He(r,"pointermove",g,dt),He(r,"mousemove",g,dt),await di()}!p&&l!==null&&(He(r,"pointerover",a,dt,t),He(r,"mouseover",a,dt,t),He(r,"pointerenter",a,dt,t),He(r,"mouseenter",a,dt,t)),He(r,"pointerup",a,vd),He(r,"mouseup",a,vd);let f=!1;if(typeof DragEvent=="function"){let m=K$(n),g={bubbles:!0,cancelable:!0};m!==null&&(g.dataTransfer=m),t.dispatchEvent(new DragEvent("dragstart",g)),await di(),r.dispatchEvent(new DragEvent("dragenter",g)),r.dispatchEvent(new DragEvent("dragover",g)),await di(),f=!r.dispatchEvent(new DragEvent("drop",g)),t.dispatchEvent(new DragEvent("dragend",g))}return f}async function bv(t,e){let n=z$(t);hv(t,"pointerdown"),We(()=>t.dispatchEvent(mv("touchstart",n))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let r=0;if(e!==void 0&&e.ms>0){let a=e.now();await e.sleep(e.ms),r=e.now()-a}return We(()=>t.dispatchEvent(mv("touchend",[]))),hv(t,"pointerup"),{prevented:!We(()=>t.dispatchEvent(pi(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function hv(t,e){We(()=>t.dispatchEvent(mf(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function z$(t){if(typeof Touch!="function"||typeof t.getBoundingClientRect!="function")return[];let e=t.getBoundingClientRect();try{return[new Touch({identifier:0,target:t,clientX:e.left+e.width/2,clientY:e.top+e.height/2})]}catch{return[]}}function mv(t,e){if(typeof TouchEvent=="function")try{return new TouchEvent(t,{bubbles:!0,cancelable:!0,touches:e,targetTouches:e,changedTouches:e})}catch{}return new Event(t,{bubbles:!0,cancelable:!0})}var Y$=new Set(["menu","menubar","listbox","dialog","alertdialog","tooltip"]),X$="closed";function Tv(t){var e,n;for(let r=t.parentElement;r!==null;r=r.parentElement)if(X$===r.getAttribute("data-state")&&Y$.has((e=r.getAttribute("role"))!=null?e:""))throw new Error(`'${(n=r.getAttribute("role"))!=null?n:"popup"}' holding this element is closing (data-state="closed"), so a person could not click it: look again once it has gone and act on what is open`)}Rt();var q$=400,Z$=.8;function Q$(t,e){var r;let n=t;for(;n!==null&&n!==document.body;){let o=getComputedStyle(n),a=e==="x"?o.overflowX:o.overflowY,s=e==="x"?n.scrollWidth>n.clientWidth:n.scrollHeight>n.clientHeight;if((a==="auto"||a==="scroll")&&s)return n;n=n.parentElement}return(r=document.scrollingElement)!=null?r:document.documentElement}function Sv(t,e,n,r){let o=t!==void 0?J.resolve(t):null;return pE(o instanceof Element?o:void 0,e,n,r)}function pE(t,e,n,r){var p;let a=t!==void 0?Q$(t,r!==void 0&&r!==0&&(e===void 0||e===0)?"x":"y"):(p=document.scrollingElement)!=null?p:document.documentElement,s=a.scrollTop,l=a.scrollLeft;if(n!==void 0&&n>=0&&n<=1)a.scrollTop=Math.round(a.scrollHeight*n);else if(r!==void 0&&r!==0&&(a.scrollLeft=l+r),r===void 0||e!==void 0&&e!==0){let f=e!=null?e:Math.round(a.clientHeight*Z$)||q$;a.scrollTop=s+f}a.dispatchEvent(new Event("scroll",{bubbles:!1}));let d=a.scrollTop,u=a.scrollLeft;return{scrolled:d!==s||u!==l,scrollTop:d,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight,atEnd:d+a.clientHeight>=a.scrollHeight-1,atStart:d<=1,scrollLeft:u,scrollWidth:a.scrollWidth,clientWidth:a.clientWidth,atLeftEnd:u<=1,atRightEnd:u+a.clientWidth>=a.scrollWidth-1}}function Nd(t,e=""){return typeof t=="string"?t:e}function J$(t){let e=J.resolve(t);if(e===null)throw new Error(`ref '${ga(t)}' no longer resolves to an element`);if(!ri(e))throw new Error(`ref '${ga(t)}' is not an HTML or SVG element`);return e}var eP=new Set([k.FILL,k.TYPE,k.CLEAR,k.SELECT]),tP=t=>eP.has(t),nP=new Set([k.CLICK,k.DBLCLICK,k.CHECK,k.UNCHECK]);function yv(t){let e=Nd(t.toRef);return e!==""?e:Nd(t.target)}var _v=new Set(["content","name","type","__base64"]),rP=new Set([ip,RS,"holdMs"]);function oP(t){let e=Object.keys(t),n=e.filter(o=>!_v.has(o)&&!rP.has(o));if(n.length===0&&e.some(o=>_v.has(o)))return;let r=n.length===0?"no file was described":`upload does not read ${n.join(", ")}, so it would be dropped`;throw new Error(`upload needs the file described as args: { name, content?, type? } \u2014 ${r}. To upload a file from disk, use the reticle daemon which reads it via args.path and delivers real bytes; calling with { path } directly reaches only fabricated content.`)}function iP(t,e,n){let r=e===k.CLICK||e===k.DBLCLICK||e===k.CHECK||e===k.UNCHECK||e===k.DRAG||e===k.SUBMIT||e===k.PRESS&&uf(n)==="Enter",o=e===k.DRAG?J.resolve(yv(n)):null,a=e===k.PRESS&&uf(n)==="Enter"?jA(t):null;r&&KA([t,a,ri(o)?o:null]);let s=Bp(gd(t),xe(t))||a!==null&&Bp(gd(a),xe(a)),l=ri(o)&&Bp(gd(o),xe(o));if(r&&(s||l)&&n[ip]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${ip}=true`)}function aP(t,e){var r,o;if(t.some(a=>a.value===e))return e;let n=t.filter(a=>a.label.trim()===e.trim());return n.length===1&&(o=(r=n[0])==null?void 0:r.value)!=null?o:e}function vv(t){return!go(t).includes(fe.DISABLED)}function xv(t){if(ve(t)||Ft(t)||or(t))return t.value}function Av(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:J.refFor(e)}async function sP(t,e,n){if(k.CLICK===e){let r=Ms(n.holdMs);return await Rd(t,r===0?void 0:{ms:r,sleep:hE,now:()=>Date.now()})}if(k.TAP===e){let r=Ms(n.holdMs);return await bv(t,r===0?void 0:{ms:r,sleep:hE,now:()=>Date.now()})}return{prevented:await lP(t,e,n),heldMs:0}}var cP="cannot zoom from inside the page \u2014 CSS zoom changes how it LOOKS without changing the layout viewport, visualViewport or media queries, so a layout that breaks at 200% would be reported as checked and passing. Drive a real browser (reticle drive <url>, or reticle_lease) and zoom there.";function fE(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function lP(t,e,n){var r;switch(e){case k.DBLCLICK:return await Rd(t,void 0,1),await Rd(t,void 0,2),!We(()=>t.dispatchEvent(pi(t,"dblclick",{bubbles:!0,cancelable:!0,detail:2})));case k.HOVER:{let o=t.ownerDocument,a=(r=o.activeElement)!=null?r:o.body;dE(t,"pointerover",a),t.dispatchEvent(pi(t,"mouseover",{bubbles:!0,relatedTarget:a})),Ev(t,"pointerenter",a),t.dispatchEvent(pi(t,"mouseenter",{relatedTarget:a})),dE(t,"pointermove",a);let s=t.dispatchEvent(pi(t,"mousemove",{bubbles:!0,cancelable:!0})),l=Ms(n.holdMs);return l>0&&await hE(l),!s}case k.FOCUS:return t.focus(),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0})),!1;case k.BLUR:{let a=t.getRootNode().activeElement===t;return t.blur(),a||(t.dispatchEvent(new FocusEvent("blur")),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0}))),!1}case k.FILL:if(ve(t)||Ft(t)){if(typeof n.value!="string")throw new Error("fill requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }. To empty a field on purpose use the `clear` action, or fill with an explicit \"\".");return nE(t,"fill"),eE(t)||t.focus(),of(t,n.value)}throw tE(t,"fill"),new Error(`cannot fill a <${t.tagName.toLowerCase()}>`);case k.TYPE:if(ve(t)||Ft(t)){if(typeof n.text!="string")throw new Error("type requires a string `text` \u2014 pass it nested, as args: { text: '\u2026' }.");return nE(t,"type"),t.focus(),of(t,t.value+n.text)}throw tE(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case k.CLEAR:if(ve(t)||Ft(t))return of(t,"");throw new Error(`cannot clear a <${t.tagName.toLowerCase()}>`);case k.SELECT:if(or(t)){if(typeof n.value!="string")throw new Error("select requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }.");let o=Array.from(t.options),a=aP(o,n.value);if(!o.some(s=>s.value===a)){let s=o.map(l=>`${l.value} (${l.label})`).join(", ");throw new Error(`no <option> with value '${ga(a)}' \u2014 available: ${o.length===0?"(none)":s}`)}return t.value=a,t.dispatchEvent(new Event("change",{bubbles:!0})),!1}throw new Error(`cannot select on a <${t.tagName.toLowerCase()}>`);case k.CHECK:case k.UNCHECK:{let o=cf(t);if(!ve(t)&&!o)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!vv(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!ve(t))return lf(t,e)?!1:(await Rd(t)).prevented;if(t.type==="radio"&&e===k.UNCHECK)throw new Error("cannot uncheck a radio button \u2014 a real user could not; select another radio in the group");if(lf(t,e))return!1;let a=pi(t,"click",{bubbles:!0,cancelable:!0,composed:!0});return!We(()=>t.dispatchEvent(a))||a.defaultPrevented}case k.SUBMIT:{let o=gA(t)?t:t.closest("form");if(o===null)throw new Error("no form to submit");return o.requestSubmit(),!1}case k.PRESS:{let o=iv(n),a=cv(n);if(a.length>0)return await dv(t,a,o,Ms(n.holdMs));let s=uf(n),l=df(n,s),d=We(()=>t.dispatchEvent(yd("keydown",{key:s,code:l,bubbles:!0,cancelable:!0,...o})));cE(t,s,d),d&&pf(t,s,l,o);let u=Ms(n.holdMs);return u>0&&await lv(t,s,l,o,u),We(()=>t.dispatchEvent(yd("keyup",{key:s,code:l,bubbles:!0,...o}))),!d}case k.SCROLL_INTO_VIEW:return t.scrollIntoView(),!1;case k.ZOOM:throw new Error(cP);case k.SCROLL:{let o=fE(n.dy),a=fE(n.dx),s=fE(n.fraction);return pE(t,o,s,a),!1}case k.UPLOAD:{if(!ve(t)||t.type!=="file")throw new Error('upload target must be a <input type="file">');oP(n);let o=Nd(n.content,"reticle test file"),a=o;if(n.__base64===!0){let u=atob(o),p=new Uint8Array(u.length);for(let f=0;f<u.length;f++)p[f]=u.charCodeAt(f);a=p.buffer.slice(0)}let s=new File([a],Nd(n.name,"file.txt"),{type:Nd(n.type,"text/plain")}),l=new DataTransfer;l.items.add(s),t.files=l.files;let d=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!d}case k.DRAG:{let o=yv(n);if(o==="")return await uE(t,null,n.data);let a=J.resolve(o);if(!ri(a))throw new Error(`drag target '${ga(o)}' did not resolve to an element \u2014 pass a ref from reticle_snapshot or reticle_query as args.toRef (alias: args.target)`);return await uE(t,a,n.data)}default:throw new Error(`unknown action '${e}'`)}}function dP(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,uP))}var uP=200;async function wd(t,e,n={}){let r=0<t.length,o=sv(t,e,n)?av():J$(t);r&&iP(o,e,n),r&&Tv(o);let a=r?uv(o):{},s=Gt(o),l=vv(o),d=Av(o),u=xv(o),p=nP.has(e)?gv(o):hf,f=lf(o,e),m=0,g=new sf,T=new MutationObserver(he=>{m+=he.length,g.collect(he)});T.observe(o.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let _=!1,y=0,A=!1,v=null;try{let he=await sP(o,e,n);_=he.prevented,y=he.heldMs}finally{let he=dP(n.settleMs),Ie=await qy(he);A=Ie.settled,v=Ie.settled?null:OS.TIMEOUT,T.disconnect()}ev(o,e,f);let O=xv(o),B=Av(o),oe={dispatched:!0,targetMatched:r&&o.isConnected,visible:s,enabled:l,defaultPrevented:_,focusMoved:d!==B?`${d!=null?d:"null"}->${B!=null?B:"null"}`:null,valueChanged:tP(e)?u!==O:!1,...k.FILL===e&&eE(o)?{autofillSafe:!0}:{},domMutatedWithin:m,...g.effect(O),occluded:p.occluded,occludedBy:p.occludedBy,scrolledIntoView:p.scrolledIntoView,...y>0?{heldMs:y}:{},...f?{alreadyAtValue:!0}:{}},ce=r?p.occluded?cp.CLICK_OCCLUDED:e===k.HOVER&&Jp(o)?cp.HOVER_NATIVE_ENTER_LEAVE:void 0:cp.GLOBAL_PRESS;return pv(t,e,oe,A,v,a,ce)}var hE=t=>new Promise(e=>ee(e,t));async function gf(t){var r;let e=[],n=[];for(let o of t){let a=await wd(o.ref,o.action,(r=o.args)!=null?r:{});e.push(a.effect);let s={ref:a.ref,action:a.action,dispatched:a.dispatched,settled:a.settled,settleReason:a.settleReason};a.testid!==void 0&&(s.testid=a.testid),a.component!==void 0&&(s.component=a.component),a.role!==void 0&&(s.role=a.role),a.name!==void 0&&(s.name=a.name),a.source!==void 0&&(s.source=a.source),a.warning!==void 0&&(s.warning=a.warning),n.push(s)}return{ok:!0,count:t.length,effects:e,steps:n}}Bt();hd();var Rv="data-theme";function pP(){let t=new Set;for(let e of Array.from(document.styleSheets)){let n=null;try{n=e.cssRules}catch{continue}if(n!==null){for(let r of Array.from(n))if(r instanceof CSSStyleRule)for(let o of Array.from(r.style))o.startsWith("--")&&t.add(o)}}return t}function fP(){var o;let t=new Map,e=(o=document.body)!=null?o:document.documentElement;if(e===null)return t;let n=getComputedStyle(e),r=document.createElement("span");r.style.position="absolute",r.style.pointerEvents="none",document.body.appendChild(r);try{for(let a of pP()){let s=hP(r,n.getPropertyValue(a).trim());if(s===null)continue;let l=t.get(s);l===void 0?t.set(s,[a]):l.push(a)}}finally{r.remove()}for(let a of t.values())a.sort();return t}function hP(t,e){return e.length===0||(t.style.color="",t.style.color=e,t.style.color==="")?null:getComputedStyle(t).color}function Nv(t){return t==="rgba(0, 0, 0, 0)"||t==="transparent"}function mP(){let t=document.documentElement;if(t===null)return null;let e=Array.from(t.classList).map(o=>`.${o}`).join(""),n=t.getAttribute(Rv),r=`${e}${n===null?"":`[${Rv}="${n}"]`}`;return r.length===0?null:r}function wv(t){var e;return t.length===1&&(e=t[0])!=null?e:null}function Ov(t){var l,d;let e=fP(),n=(l=e.get(t.color))!=null?l:[],r=(d=e.get(t.backgroundColor))!=null?d:[],o=!Nv(t.color)&&n.length===0,a=!Nv(t.backgroundColor)&&r.length===0,s=0;for(let u of e.values())s+=u.length;return{colorToken:wv(n),colorTokens:n,backgroundToken:wv(r),backgroundTokens:r,offTheme:s>0&&(o||a),tokenCount:s,themeScope:mP()}}Rt();Un();H();Dr();Lr();function q(t){try{t()}catch{}}function cn(t){try{return t()}catch{return}}function Od(t){try{return t()}catch{return null}}function Ef(t){var n;let e={};if(t===null)return e;for(let r=0;r<t.length;r+=1){let o=t.key(r);if(o===null)continue;let a=(n=t.getItem(o))!=null?n:"";e[o]=tt(o)?_e:fa(a)}return e}function Iv(){let t={},e="";try{e=typeof document!="undefined"?document.cookie:""}catch{return t}for(let n of e.split(";")){let r=n.indexOf("=");if(r===-1)continue;let o=n.slice(0,r).trim();if(o==="")continue;if(tt(o)){t[o]=_e;continue}let a="";try{a=decodeURIComponent(n.slice(r+1).trim())}catch{a=n.slice(r+1).trim()}t[o]=fa(a)}return t}function Cv(t){return t===ha.LOCAL?Ef(Od(()=>window.localStorage)):t===ha.SESSION?Ef(Od(()=>window.sessionStorage)):ha.COOKIE===t?Iv():{local:Ef(Od(()=>window.localStorage)),session:Ef(Od(()=>window.sessionStorage)),cookies:Iv()}}function ba(t,e){if(e!==null)return tt(t)?_e:fa(e)}function Lv(t){var p,f,m;if(typeof Storage=="undefined")return()=>{};let e=Storage.prototype,n=(p=Object.getOwnPropertyDescriptor(e,"setItem"))==null?void 0:p.value,r=(f=Object.getOwnPropertyDescriptor(e,"removeItem"))==null?void 0:f.value,o=(m=Object.getOwnPropertyDescriptor(e,"clear"))==null?void 0:m.value;if(n===void 0||r===void 0||o===void 0)return()=>{};let a=g=>g===Od(()=>window.sessionStorage)?ha.SESSION:ha.LOCAL,s=(g,T)=>{try{return g.getItem(T)}catch{return null}},l=function(g,T){var y;let _=(y=cn(()=>s(this,g)))!=null?y:null;n.call(this,g,T),_!==T&&($p(g)||q(()=>{var A;t(x.STORAGE_CHANGE,{area:a(this),key:g,...ba(g,_)===void 0?{}:{old:ba(g,_)},new:(A=ba(g,T))!=null?A:_e})}))};e.setItem=l;let d=function(g){var _;let T=(_=cn(()=>s(this,g)))!=null?_:null;r.call(this,g),!$p(g)&&q(()=>{t(x.STORAGE_CHANGE,{area:a(this),key:g,...ba(g,T)===void 0?{}:{old:ba(g,T)}})})};e.removeItem=d;let u=function(){let g=a(this),T=[];try{for(let _=0;_<this.length;_+=1){let y=this.key(_);y!==null&&!$p(y)&&T.push({key:y,old:s(this,y)})}}catch{}o.call(this);for(let{key:_,old:y}of T)q(()=>{t(x.STORAGE_CHANGE,{area:g,key:_,...ba(_,y)===void 0?{}:{old:ba(_,y)}})})};return e.clear=u,()=>{e.setItem===l&&(e.setItem=n),e.removeItem===d&&(e.removeItem=r),e.clear===u&&(e.clear=o)}}H();lt();at();var gP=ws.FULL_PAGE_UNSUPPORTED,EP=[gP,ws.NOT_COMPOSITED],bP="__TAURI_INTERNALS__";function TP(){let t=window[bP];if(typeof(t==null?void 0:t.invoke)!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(wp,{fullPage:n===!0});return typeof r=="string"?r:null}}async function SP(t){let e=[...document.querySelectorAll(ti)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await di(),await di()),await t()}finally{e.forEach((r,o)=>{var a;r.style.visibility=(a=n[o])!=null?a:""})}}async function kv(t=!1){let e=window[uo],n=typeof(e==null?void 0:e.capture)=="function"?e.capture:TP();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await SP(()=>n(t));return typeof r=="string"&&r.length>0?{ok:!0,path:r}:{ok:!1,reason:"capture returned no image"}}catch(r){let o=r instanceof Error?r.message:String(r);for(let a of EP)if(o.includes(a))return{ok:!1,reason:a};return{ok:!1,reason:o}}}li();Ea();Dr();ci();function _P(t,e){var n;return(n=Object.getOwnPropertyDescriptor(t,e))==null?void 0:n.value}function sr(t,e){let n=_P(t,e);if(n===void 0)throw new Error(`[Reticle] cannot patch ${String(e)}: it is not an own property of the target`);return n}oi();var xP=12e4,ac=!1,bo=0,Dv=0,Mv=1,To=[],ic=null,Ta,bf={};function $v(){if(ic===null)return;let t=ic,e=t.clearTimeout.bind(window);Ta!==void 0&&e(Ta),Ta=t.setTimeout.bind(window)(()=>{Ta=void 0,sc()},xP)}function Pv(){return ac}function Hv(){if(ac||typeof window=="undefined")return;ac=!0,bo=0,Dv=Date.now(),ic={setTimeout:sr(window,"setTimeout"),clearTimeout:sr(window,"clearTimeout"),setInterval:sr(window,"setInterval"),clearInterval:sr(window,"clearInterval"),dateNow:sr(Date,"now")};let t=(r,o,a)=>{let s=Mv;return Mv+=1,To.push({id:s,time:bo+Math.max(0,o),cb:r,interval:a}),s},e=r=>{To=To.filter(o=>o.id!==r)},n=(r,o)=>()=>{r(...o)};window.setTimeout=((r,o=0,...a)=>t(n(r,a),o)),window.clearTimeout=(r=>e(r)),window.setInterval=((r,o=0,...a)=>t(n(r,a),o,Math.max(1,o))),window.clearInterval=(r=>e(r)),bf={setTimeout:Re(window,"setTimeout"),clearTimeout:Re(window,"clearTimeout"),setInterval:Re(window,"setInterval"),clearInterval:Re(window,"clearInterval")},Date.now=()=>Dv+bo,bf.dateNow=Re(Date,"now"),$v()}function Uv(t){if(!ac)return;let e=bo+Math.max(0,t),n=0;for(;n+=1,!(n>1e5);){let o=To.filter(a=>a.time<=e).sort((a,s)=>a.time-s.time)[0];if(o===void 0)break;To=To.filter(a=>a!==o),bo=o.time,o.cb(),o.interval!==void 0&&To.push({...o,time:bo+o.interval})}bo=e,$v()}function sc(){if(!ac||ic===null)return;let t=ic,e=To;Ta!==void 0&&(t.clearTimeout.bind(window)(Ta),Ta=void 0);let n=bf;bf={},window.setTimeout===n.setTimeout&&(window.setTimeout=t.setTimeout),window.clearTimeout===n.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.setInterval===n.setInterval&&(window.setInterval=t.setInterval),window.clearInterval===n.clearInterval&&(window.clearInterval=t.clearInterval),Date.now===n.dateNow&&(Date.now=t.dateNow);let r=bo;if(ic=null,To=[],ac=!1,bo=0,e.length===0)return;let o=t.setTimeout.bind(window),a=t.setInterval.bind(window),s=new Map,l={},d=u=>{s.delete(u),s.size===0&&l.current!==void 0&&yP(t,l.current)};for(let u of e)u.interval!==void 0?s.set(u.id,a(u.cb,u.interval)):s.set(u.id,o(()=>{d(u.id),u.cb()},Math.max(0,u.time-r)));l.current=AP(s,t,d)}function AP(t,e,n){let r=o=>{let a=o.bind(window);return(s=>{let l=t.get(s);if(l===void 0){a(s);return}a(l),n(s)})};return window.clearTimeout=r(e.clearTimeout),window.clearInterval=r(e.clearInterval),{clearTimeout:Re(window,"clearTimeout"),clearInterval:Re(window,"clearInterval")}}function yP(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var Tf="_reticle_reload";function Ue(t){return typeof t=="string"?t:void 0}function zv(t){return typeof t=="number"?t:void 0}function Kv(t){return typeof t=="object"&&t!==null?t:{}}function FP(t){if(typeof t!="object"||t===null)return;let e=t;if(!(typeof e.file!="string"||typeof e.line!="number"))return{file:e.file,line:e.line,column:zv(e.column)}}function GP(t){return{by:Ue(t.by),value:Ue(t.value),role:Ue(t.role),name:Ue(t.name),text:Ue(t.text),label:Ue(t.label),placeholder:Ue(t.placeholder),testid:Ue(t.testid),alt:Ue(t.alt),component:Ue(t.component),scope:Ue(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:FP(t.source)}}function BP(t){var f,m,g,T,_,y,A;let e=J.resolve(t);if(e===null)throw new Error(bd.staleRefMessage(t));let n=e.getBoundingClientRect(),r=$r(e),o=e.ownerDocument.defaultView,a=o!==null?o.getComputedStyle(e):null,s=a!==null?{color:a.color,backgroundColor:a.backgroundColor,opacity:a.opacity,cursor:a.cursor,display:a.display,visibility:a.visibility}:null,l=Fp(Up(e,r==null?void 0:r.source)),d=l!==void 0?void 0:kA(e.ownerDocument)?"This element has no source stamp. Others on the page do, so the stamping loader is running \u2014 the nearest stamped ancestor is out of range, or this element is rendered outside instrumented code.":"No element in this document carries a source stamp, so the stamping loader is not running: an older adapter, a bundler whose hook never ran, or a build the plugin was dropped from. Add @reticlehq/vite-plugin (or @reticlehq/babel-plugin) to the dev build and restart the dev server to get `file:line` back.",u={scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,overflowY:(f=a==null?void 0:a.overflowY)!=null?f:"visible",scrollLeft:e.scrollLeft,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,overflowX:(m=a==null?void 0:a.overflowX)!=null?m:"visible"},p=ay(e);return{...Mr(e),...l!==void 0?{source:l}:{},...p.length>0?{paintContext:p}:{},...d!==void 0?{sourceUnavailable:d}:{},tag:e.tagName.toLowerCase(),href:(g=e.getAttribute("href"))!=null?g:void 0,formAction:(Vs(e)||ve(e))&&(_=(T=e.form)==null?void 0:T.getAttribute("action"))!=null?_:void 0,formText:(Vs(e)||ve(e))&&(A=(y=e.form)==null?void 0:y.textContent)!=null?A:void 0,box:{x:n.x,y:n.y,width:n.width,height:n.height},occluded:VP(e,n),styles:s,scroll:u,theme:a!==null?Ov(a):null,component:r}}function VP(t,e){return ff(t,e)!==null}function jP(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var Wv={ok:!1,reason:IS.UNAVAILABLE};function KP(t,e,n,r){let o=ai();if(n!==void 0||r!==void 0){let d=Wg(e);if(e!==void 0&&!Object.hasOwn(d,e))return{store:e,path:n,found:!1,value:null,storeNames:o};let u=e!==void 0?d[e]:{stores:d,storeNames:o},p=n!==void 0?Ax(u,n):{found:!0,value:u},f=p.found&&r!==void 0?Us(p.value,r):p.value,m=pd(f);return{store:e,path:n,found:p.found,value:m.value,...m.truncation===void 0?{}:{truncation:m.truncation},..."availableKeys"in p?{availableKeys:p.availableKeys}:{},..."totalKeys"in p?{totalKeys:p.totalKeys}:{},storeNames:o}}let{stores:a,truncation:s}=Sd(e),l={stores:a,storeNames:o};if(s!==void 0&&(l.truncation=s),t!==void 0&&t.length>0){let d=J.resolve(t);if(d===null)l.component=Wv;else{let u=Qp(d);l.component=jP(u)?u:Wv}}return l}function WP(){let t=document;return typeof t.getAnimations!="function"?{animations:[]}:{animations:t.getAnimations().map(n=>{var s;let r=n.effect,o=r==null?void 0:r.getTiming(),a=(s=r==null?void 0:r.target)!=null?s:null;return{playState:n.playState,currentTime:n.currentTime,duration:o==null?void 0:o.duration,target:a===null?null:Mr(a)}})}}function zP(t,e){if(t.length===0||t.length>G.MAX_URL_LENGTH)return null;try{let n=new URL(t,e);return n.protocol==="http:"||n.protocol==="https:"?n.toString():null}catch{return null}}function Yv(){let t=new Map;return t.set(L.SNAPSHOT,e=>{var n;return Kp({scope:Ue(e.scope),mode:(n=Ue(e.mode))!=null?n:Is.FULL,includeRoot:e.includeRoot===!0})}),t.set(L.QUERY,e=>{let n=e.limit;return nf(GP(e),typeof n=="number"?n:void 0)}),t.set(L.MATCH,e=>xd(jl.parse(Kv(e.query)),Ue(e.state))),t.set(L.ACT,e=>{var r,o;let n=(r=Ue(e.action))!=null?r:"";return wd((o=Ue(e.ref))!=null?o:"",n,Kv(e.args))}),t.set(L.ACT_SEQUENCE,e=>gf(Array.isArray(e.steps)?e.steps:[])),t.set(L.INSPECT,e=>{var n;return BP((n=Ue(e.ref))!=null?n:"")}),t.set(L.ANIMATIONS,()=>WP()),t.set(L.CLOCK,e=>{if(e.reset===!0)sc();else{e.freeze===!0&&Hv();let n=e.advanceMs;typeof n=="number"&&Uv(n)}return{frozen:Pv()}}),t.set(L.STATE_READ,e=>KP(Ue(e.ref),Ue(e.store),Ue(e.path),zv(e.depth))),t.set(L.STORAGE_READ,e=>Cv(Ue(e.area))),t.set(L.CAPABILITIES,()=>si()),t.set(L.CAPTURE,e=>kv(e.fullPage===!0)),t.set(L.RENDER,()=>Promise.resolve().then(()=>(jv(),Vv)).then(e=>e.renderPage())),t.set(L.SCROLL,e=>{let n=e.dy,r=e.fraction;return Sv(Ue(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(L.NAVIGATE,e=>{let n=Ue(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=zP(n,window.location.href);return r===null?{ok:!1,reason:"only http(s) navigation is allowed"}:(window.location.assign(r),{ok:!0,url:r})}),t.set(L.REFRESH,e=>{if(e.hard===!0){let n=new URL(window.location.href);n.searchParams.set(Tf,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}H();lt();Td();Dr();function YP(t){if(typeof document=="undefined")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var mE=1e3,XP=3e4;function qP(t){return Math.min(t*2,XP)}var ZP=500,QP=1008,JP=3,Vt,So,fi,xf,hi,cc,lc,Sa,dc,Cd,uc,Ld,pc,_a,fc,hc,jt,kd,Ae,Xv,Sf,gE,qv,EE,bE,Zv,Id,Qv,_f=class{constructor(e){b(this,Ae);b(this,Vt);b(this,So,[]);b(this,fi,[]);b(this,xf,0);b(this,hi,!1);b(this,cc,!1);b(this,lc);b(this,Sa,mE);b(this,dc,!1);b(this,Cd,!1);b(this,uc,0);b(this,Ld,!1);b(this,pc,0);b(this,_a);b(this,fc);b(this,hc);b(this,jt);b(this,kd);var n;h(this,jt,e),h(this,kd,(n=e.now)!=null?n:af)}connect(){var e,n;typeof WebSocket!="undefined"&&(h(this,hi,!1),(n=c(this,hc))!=null||h(this,hc,((e=c(this,jt).onVisible)!=null?e:YP)(()=>E(this,Ae,Xv).call(this))),E(this,Ae,Sf).call(this))}sendEvent(e){E(this,Ae,Id).call(this,kr({kind:Dt.EVENT,event:e}),{seq:e.seq,t:e.t,type:e.type})}reannounce(){c(this,Vt)===void 0||c(this,Vt).readyState!==WebSocket.OPEN||c(this,Vt).send(JSON.stringify(c(this,jt).hello()))}close(){var e,n;h(this,hi,!0),(e=c(this,hc))==null||e.call(this),h(this,hc,void 0),(n=c(this,Vt))==null||n.close(),h(this,Vt,void 0)}};Vt=new WeakMap,So=new WeakMap,fi=new WeakMap,xf=new WeakMap,hi=new WeakMap,cc=new WeakMap,lc=new WeakMap,Sa=new WeakMap,dc=new WeakMap,Cd=new WeakMap,uc=new WeakMap,Ld=new WeakMap,pc=new WeakMap,_a=new WeakMap,fc=new WeakMap,hc=new WeakMap,jt=new WeakMap,kd=new WeakMap,Ae=new WeakSet,Xv=function(){c(this,hi)||(h(this,Sa,mE),c(this,Vt)===void 0&&(h(this,cc,!1),E(this,Ae,Sf).call(this)))},Sf=function(){let e;try{e=new WebSocket(c(this,jt).url)}catch{E(this,Ae,bE).call(this),E(this,Ae,EE).call(this),E(this,Ae,gE).call(this);return}h(this,Vt,e),e.onopen=()=>{var o,a,s;h(this,lc,void 0),h(this,dc,!1),h(this,Cd,!0),h(this,Sa,mE);let n=c(this,jt).hello();(o=c(this,fc))!=null||h(this,fc,n.sessionId),e.send(JSON.stringify(n)),E(this,Ae,Qv).call(this,e,n.sessionId);let r=[...c(this,So),...c(this,fi)].sort((l,d)=>l.order-d.order);for(let l of r)e.send(l.text);h(this,So,[]),h(this,fi,[]),(s=(a=c(this,jt)).onConnected)==null||s.call(a)},e.onmessage=n=>{let r=n.data;E(this,Ae,Zv).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{var r,o;if(h(this,Vt,void 0),n.code===QP){h(this,cc,!0);let a=n.reason.length>0?n.reason:"policy violation";ar(`[reticle] bridge refused the connection: ${a} \u2014 not retrying until you come back to this tab.`),(o=(r=c(this,jt)).onConnectionLost)==null||o.call(r);return}E(this,Ae,bE).call(this),E(this,Ae,EE).call(this),E(this,Ae,gE).call(this)},e.onerror=()=>{e.close()}},gE=function(){var r;if(c(this,hi)||c(this,cc))return;let e=c(this,Sa);h(this,Sa,qP(e)),((r=c(this,jt).schedule)!=null?r:ee)(()=>E(this,Ae,qv).call(this),e)},qv=function(){c(this,hi)||c(this,Vt)!==void 0||E(this,Ae,Sf).call(this)},EE=function(){var e,n;c(this,Cd)||c(this,Ld)||(h(this,uc,c(this,uc)+1),c(this,uc)>=JP&&(h(this,Ld,!0),(n=(e=c(this,jt)).onUnreachable)==null||n.call(e,{url:c(this,jt).url,attempts:c(this,uc)})))},bE=function(){var n,r,o;let e=c(this,kd).call(this);(n=c(this,lc))!=null||h(this,lc,e),!c(this,dc)&&e-c(this,lc)>=O_.BRIDGE_LOST_MS&&(h(this,dc,!0),(o=(r=c(this,jt)).onConnectionLost)==null||o.call(r))},Zv=async function(e){var s;let n;try{n=JSON.parse(e)}catch{return}let r=ag.safeParse(n);if(!r.success){let l=n==null?void 0:n.id;typeof l=="string"&&l.length>0&&E(this,Ae,Id).call(this,kr({kind:Dt.COMMAND_RESULT,id:l,ok:!1,error:"this page could not parse the command \u2014 the @reticlehq/browser SDK and the daemon are probably different versions. Nothing ran."}));return}let o=r.data;if(o.sessionId!==void 0&&o.sessionId!==c(this,fc)){E(this,Ae,Id).call(this,kr({kind:Dt.COMMAND_RESULT,id:o.id,ok:!1,error:`command addressed to session ${o.sessionId} but this page is ${(s=c(this,fc))!=null?s:"(none)"} \u2014 the page reconnected under a new id, or two sessions share a socket. Nothing ran.`}));return}let a;try{a=await c(this,jt).handleCommand(o)}catch(l){a={ok:!1,error:l instanceof Error?l.message:String(l)}}E(this,Ae,Id).call(this,kr({kind:Dt.COMMAND_RESULT,id:o.id,ok:a.ok,result:a.result,error:a.error}))},Id=function(e,n){if(c(this,Vt)!==void 0&&c(this,Vt).readyState===WebSocket.OPEN){c(this,Vt).send(e);return}if(c(this,So).length+c(this,fi).length>=ZP){let a=c(this,So).length>0?c(this,So).shift():c(this,fi).shift();if((a==null?void 0:a.event)!==void 0){h(this,pc,c(this,pc)+1);let s=c(this,_a);(s===void 0||a.event.t<s.t)&&h(this,_a,a.event)}}let r=n!==void 0&&T_.has(n.type),o=eS(this,xf)._++;r?c(this,So).push({text:e,event:n,order:o}):c(this,fi).push({text:e,event:n,order:o})},Qv=function(e,n){let r=c(this,_a);if(r===void 0)return;let o={t:r.t,seq:r.seq,type:x.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,pc)}};e.send(kr({kind:Dt.EVENT,event:o})),h(this,_a,void 0),h(this,pc,0)};TE();li();H();Ea();function eR(){let t=[R.UI,R.NET,R.LOG,R.ROUTE,R.STORAGE,R.TIME,R.SIGNAL];return ai().length>0?[...t,R.STATE]:t}H();var e5="__TAURI_INTERNALS__";function tR(){if(typeof window=="undefined")return Or.SERVICE;let t=window;return t[uo]!==void 0||t[e5]!==void 0?Or.WEBVIEW:Or.WEB}var t5=[L.SNAPSHOT,L.QUERY,L.MATCH,L.INSPECT,L.ACT,L.ACT_SEQUENCE,L.ANIMATIONS,L.NARRATE,L.CLOCK,L.CAPABILITIES,L.STATE_READ,L.STORAGE_READ,L.SCROLL,L.SESSION_CONFIG,L.PRESENTER,L.IMPACT,L.CAPTURE,L.RENDER,L.NAVIGATE,L.REFRESH,L.FLOWS,L.FLOW_PROGRESS,L.PLAN,L.MARKERS];function nR(){return[...t5]}ci();on();H();Bt();Rt();at();Ys();Un();function n5(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}function SE(t){let e=[],n=(r,o)=>{if(!(o>=3))for(let a of r.querySelectorAll("iframe")){let s=n5(a);s!==null&&(e.push(s),n(s,o+1))}};return n(t,0),e}function rR(t){let e=new AbortController,n=()=>{for(let o of SE(document))t(o)};n();let r=o=>{o.target instanceof HTMLIFrameElement&&n()};return document.addEventListener("load",r,{capture:!0,signal:e.signal}),()=>e.abort()}function oR(t){var r;let e=an(t)?t:null;if(e===null)return;let n=e.closest(rr());return(r=n?Pe(n):null)!=null?r:J.refFor(e)}var r5=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],iR=120;function yf(t){if(t!==null)return t.length>iR?`${t.slice(0,iR)}\u2026`:t}var o5=new Set(["dialog","alertdialog"]),i5=new Set(["alert","status"]),Dd=40;function aR(t,e){return t!=="generic"||e.length>0}var a5=40;function sR(t){let e=xe(t),n=Ne(t);if(aR(e,n))return{role:e,name:n,el:t};let r=0;for(let o of t.querySelectorAll("*")){if(r>=a5)return;if(r+=1,ni(o))continue;let a=xe(o),s=Ne(o);if(aR(a,s))return{role:a,name:s,el:o}}}var s5=3;function _E(t){var r;let e="";for(let o of t)o.nodeType===s5&&(e+=(r=o.nodeValue)!=null?r:"");let n=e.trim();return n.length>0?n:void 0}var c5=new Set(["class","style","type","disabled","readonly","required","hidden"]);function l5(t,e){return!c5.has(e)&&!e.startsWith("aria-")&&ir(t)}function cR(t){let e=OA(),n=new MutationObserver(s=>{var f,m,g,T,_;let l=0,d=0,u=0,p=0;for(let y of s){if(y.type==="attributes"){let A=y.target;if(an(A)&&y.attributeName!==null&&!ni(A)){if(u>=Dd){p+=1;continue}u+=1;let v=l5(A,y.attributeName),O=v?_e:yf(A.getAttribute(y.attributeName)),B=v&&y.oldValue!==null?_e:yf(y.oldValue);t(x.DOM_ATTR,{attr:y.attributeName,...O===void 0?{}:{value:O},...B===void 0?{}:{old:B}},J.refFor(A))}continue}if(y.type==="characterData"){let A=y.target.parentElement;if(A!==null&&!ni(A)){if(u>=Dd){p+=1;continue}u+=1;let v=ir(A),O=v?_e:((f=y.target.textContent)!=null?f:"").trim().slice(0,80),B=v?void 0:yf((g=(m=y.oldValue)==null?void 0:m.trim())!=null?g:null);t(x.DOM_TEXT,{text:O,...B===void 0?{}:{old:B}},J.refFor(A))}continue}if(_E(y.addedNodes)!==void 0||_E(y.removedNodes)!==void 0){let A=an(y.target)?y.target:null;if(A!==null&&!ni(A))if(u>=Dd)p+=1;else{u+=1;let v=ir(A),O=v?_e:((T=A.textContent)!=null?T:"").trim().slice(0,80),B=v?void 0:yf((_=_E(y.removedNodes))!=null?_:null);t(x.DOM_TEXT,{text:O,...B===void 0?{}:{old:B}},J.refFor(A))}}for(let A of y.addedNodes){if(!an(A))continue;if(l>=Dd){p+=1;continue}if(ni(A))continue;let v=sR(A);if(v===void 0)continue;let{role:O,name:B}=v;l+=1;let oe=J.refFor(v.el);t(x.DOM_ADDED,{role:O,name:B,region:oR(y.target)},oe),(o5.has(O)||i5.has(O)||A.getAttribute("aria-modal")==="true")&&Gt(A)&&t(x.VISIBLE_SHOWN,{role:O,name:B},oe)}for(let A of y.removedNodes){if(!an(A))continue;if(d>=Dd){p+=1;continue}if(ni(A)||an(y.target)&&ni(y.target))continue;let v=sR(A);if(v===void 0)continue;let{role:O,name:B}=v;d+=1,t(x.DOM_REMOVED,{role:O,name:B,region:oR(y.target)})}}p>0&&t(x.TRUNCATED,{channel:sp.DOM,dropped:p})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:r5,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let s of RA())n.observe(s,r);let o=wA(s=>n.observe(s,r)),a=rR(s=>n.observe(s,r));return()=>{a(),o(),e(),n.disconnect()}}H();Ea();Dr();function lR(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function d5(t,e){if(!lR(t)||!lR(e))return Object.is(t,e)?[]:[{path:"",old:t,new:e}];let n=[];for(let r of new Set([...Object.keys(t),...Object.keys(e)]))Object.is(t[r],e[r])||n.push({path:r,old:t[r],new:e[r]});return n}function dR(t,e){return tt(t)?_e:ud(e)}function uR(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function pR(t){try{return t()}catch{return}}function fR(t){let e=new Map,n=([o,a,s])=>{var d;try{(d=e.get(o))==null||d()}catch{}let l=pR(a);e.set(o,s(()=>{q(()=>{let u=pR(a),p=d5(l,u);l=u;for(let f of p){let m=dR(f.path,f.new),g=dR(f.path,f.old);(tt(f.path)?uR(ud(f.old),ud(f.new)):uR(g,m))||q(()=>t(x.STATE_CHANGE,{name:o,path:f.path,value:m,old:g}))}})}))};for(let o of by())n(o);e.size===0&&t(x.BLIND_SPOT,{kind:Pt.UNWATCHED_STATE,count:1});let r=my(o=>{let a=e.size===0;n(o),a&&e.size>0&&t(x.BLIND_SPOT,{kind:Pt.UNWATCHED_STATE,count:0})});return()=>{r();for(let o of e.values())try{o()}catch{}e.clear()}}H();Bt();function mc(t){if(!(t instanceof Element)||t===document.body)return;let e=xe(t),n=Ne(t);return n.length>0?`${e} "${n}"`:e}function u5(t){return t===null||t===document.body}function hR(t){let e=new AbortController,{signal:n}=e,r=null,o=s=>{let l=s.target,d=r;r=l,t(x.FOCUS_CHANGE,{...mc(l)===void 0?{}:{to:mc(l)},...mc(d)===void 0?{}:{from:mc(d)},toBody:u5(l)})},a=s=>{if(s.relatedTarget!==null)return;let l=r;r=null,t(x.FOCUS_CHANGE,{...mc(l)===void 0?{}:{from:mc(l)},toBody:!0})};return document.addEventListener("focusin",o,{signal:n}),document.addEventListener("focusout",a,{signal:n}),()=>e.abort()}on();H();Bt();var mR=160,p5=150;function gR(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function f5(t){let e=Pe(t);if(e!==null&&e.length>0)return e;if(t.name.length>0)return t.name;let n=Ne(t);if(n.length>0)return n;let r=t.getAttribute("id");return r!==null&&r.length>0?r:t.tagName.toLowerCase()}function ER(t){let e=new AbortController,{signal:n}=e,r=new Map,o=(d,u)=>{let p=d.value,f=ir(d);t(x.FIELD_CHANGE,{field:f5(d),kind:u,length:p.length,...f?{redacted:!0}:{value:p.length>mR?`${p.slice(0,mR)}\u2026`:p}})},a=d=>{let u=r.get(d);u!==void 0&&clearTimeout(u),r.delete(d)},s=d=>{let u=d.target;gR(u)&&(a(u),r.set(u,setTimeout(()=>{r.delete(u),o(u,"input")},p5)))},l=d=>{let u=d.target;gR(u)&&(a(u),o(u,"change"))};return document.addEventListener("input",s,{signal:n,capture:!0}),document.addEventListener("change",l,{signal:n,capture:!0}),()=>{for(let d of r.values())clearTimeout(d);r.clear(),e.abort()}}H();function h5(t){let e=t;for(let n=0;n<3;n+=1){let r=Array.from(e.children).filter(a=>a instanceof HTMLElement),o=r.length===1?r[0]:void 0;if(o===void 0||o.offsetHeight<e.scrollHeight*.9)return e;e=o}return e}function m5(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=h5(t),o=Array.from(r.children).filter(p=>p instanceof HTMLElement);if(o.length<2)return 0;let a=1/0,s=0,l=0;for(let p of o){let f=p.offsetTop,m=f+p.offsetHeight;f<a&&(a=f),m>s&&(s=m),l+=p.offsetHeight}let d=Math.max(0,a)+Math.max(0,e-s);if(d<e*.25)return 0;let u=l/o.length;return u<=0?0:Math.round(d/u)}function bR(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=m5(e));return t}Ys();lt();function g5(){var e;let t=0;for(let n of document.querySelectorAll("*"))n.tagName.includes("-")&&n.shadowRoot===null&&(NA(n)||n.children.length>0||((e=n.textContent)!=null?e:"").trim().length>0||n.offsetHeight<=0&&n.offsetWidth<=0||(t+=1));return t}function E5(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function b5(t){let e=0;for(let n of t)E5(n)&&(e+=1);return e}function T5(){return b5(Array.from(document.querySelectorAll("iframe")))}function S5(){return SE(document).length}var _5=250;function TR(t){let e=[{kind:Pt.CROSS_ORIGIN_IFRAME,count:T5},{kind:Pt.UNINSTRUMENTED_FRAME,count:S5},{kind:Pt.CLOSED_SHADOW_ROOT,count:g5},{kind:Pt.VIRTUALIZED_UNMOUNTED,count:bR}],n=new Map,r=()=>{for(let s of e){let l=s.count();l!==n.get(s.kind)&&(n.set(s.kind,l),l>0&&t(x.BLIND_SPOT,{kind:s.kind,count:l}))}};r();let o,a=new MutationObserver(()=>{o===void 0&&(o=ee(()=>{o=void 0,r()},_5))});return a.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{o!==void 0&&Te(o),a.disconnect()}}H();oi();H();Dr();lt();var x5=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,A5=/event-stream|x-ndjson|application\/stream/i,y5=/event-stream/i;function xR(t,e){return t!==null&&y5.test(t)?!1:e===null}var v5=500;async function AR(t){let e;try{return await Promise.race([t,new Promise(n=>{e=ee(()=>n(void 0),v5)})])}finally{e!==void 0&&Te(e)}}function xE(t){return t===null||A5.test(t)?!1:x5.test(t)}var yR=8192,R5=262144,N5=256,Md=yR;function vR(t){Number.isFinite(t)&&(Md=Math.min(R5,Math.max(N5,Math.floor(t))))}var w5=yR*2;function O5(t){let e=Md*2;return t?Math.min(e,w5):e}var I5=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function SR(t){return t.replace(I5,(e,n)=>`${n} ${_e}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>tt(n)?`${n}${r}${_e}`:e)}var _R=4096;function AE(t,e){return e&&t>=400}function yE(t,e){let n=mi(t,e);return n.body.length<=_R?n:{body:n.body.slice(0,_R),truncated:!0}}function mi(t,e){let n=e!==null&&/json|graphql/i.test(e),r=O5(!n),o=t.length>r,a=o?t.slice(0,r):t,s;if(n)try{s=kr(JSON.parse(a))}catch{s=SR(a)}else s=SR(a);s=fa(s);let l=o||s.length>Md;return{body:s.length>Md?s.slice(0,Md):s,truncated:l}}var C5=/text\/|json|csv|xml|ndjson|javascript/i,L5=2e3;function RR(t,e={}){if(typeof URL.createObjectURL!="function")return()=>{};let n=new AbortController,r=URL.createObjectURL.bind(URL),o=new Map,a=Re(URL,"createObjectURL"),s=function(g){let T=r(g);return q(()=>{if(typeof Blob!="undefined"&&g instanceof Blob){let _=C5.test(g.type)?g.text().catch(()=>{}):Promise.resolve(void 0);o.set(T,{type:g.type,size:g.size,text:_})}}),T};URL.createObjectURL=s;let l=(m,g)=>{let T=o.get(m);T!==void 0&&(o.delete(m),T.text.then(_=>{q(()=>{d(T,g,_)})}))},d=(m,g,T)=>{let _={mimeType:m.type,bytes:m.size};if(g!==void 0&&g.length>0&&(_.filename=g),T!==void 0&&(_.lines=T.split(`
|
|
1779
|
+
`).filter(y=>y.length>0).length,e.capturePreview===!0)){let{body:y,truncated:A}=mi(T.slice(0,L5),m.type);_.preview=y,A&&(_.previewTruncated=!0)}t(x.DOWNLOAD,_)},u=m=>{q(()=>{var _,y;let g=m.target,T=g instanceof Element?g.closest("a[download]"):null;T!==null&&l((_=T.getAttribute("href"))!=null?_:"",(y=T.getAttribute("download"))!=null?y:void 0)})};document.addEventListener("click",u,{capture:!0,signal:n.signal});let p=Re(HTMLAnchorElement.prototype,"click"),f=function(){let g=cn(()=>{var T,_;return this.hasAttribute("download")?{href:(T=this.getAttribute("href"))!=null?T:"",name:(_=this.getAttribute("download"))!=null?_:void 0}:void 0});p.call(this),q(()=>{g!==void 0&&l(g.href,g.name)})};return HTMLAnchorElement.prototype.click=f,()=>{n.abort(),URL.createObjectURL===s&&(URL.createObjectURL=a),HTMLAnchorElement.prototype.click===f&&(HTMLAnchorElement.prototype.click=p),o.clear()}}H();oi();function NR(t){let e=Re(window,"open");if(e===void 0)return()=>{};let r=function(o,a,s){let l=e.call(this,o,a,s);return q(()=>{t(x.CONTEXT_OPENED,{...o===void 0?{}:{href:o}})}),l};return window.open=r,()=>{window.open===r&&(window.open=e)}}H();oi();H();H();lt();var k5=1e4;function wR(t,e,n,r,o,a){var d;if(!xR(o,a)||typeof((d=e.body)==null?void 0:d.getReader)!="function")return;let s;try{s=e.clone()}catch{return}let l=s.body;l!==null&&(t(x.NET_STREAM,{transport:Ir.FETCH,direction:Cr.OPEN,...r,id:n}),(async()=>{let u=l.getReader(),p=!1,f,m=new Promise(g=>{f=ee(()=>g("expired"),k5)});try{for(;;){let g=await Promise.race([u.read(),m]);if(g==="expired"){p=!0,u.cancel().catch(()=>{});break}if(g.done)break}}catch{}finally{f!==void 0&&Te(f)}t(x.NET_STREAM,{transport:Ir.FETCH,direction:Cr.CLOSE,...r,id:n,...p?{gaveUp:!0}:{}})})())}function D5(t){if(t instanceof ArrayBuffer)return t.byteLength;if(typeof Blob!="undefined"&&t instanceof Blob)return t.size;if(ArrayBuffer.isView(t))return t.byteLength}function vE(t,e){if(typeof t!="string"){let r=D5(t);return r===void 0?{frameType:typeof t}:{frameType:"binary",frameBytes:r}}let n={frameBytes:t.length};if(e){let{body:r,truncated:o}=mi(t,"application/json");n.frame=r,o&&(n.frameTruncated=!0)}return n}var gc={NULL:"0",STRING:"s",NUMBER:"n",BOOLEAN:"b",OTHER:"?"};function vf(t){if(t===null)return gc.NULL;if(Array.isArray(t))return`[${t.map(vf).join(",")}]`;if(typeof t=="object"){let e=t;return`{${Object.keys(e).sort().map(n=>`${n}:${vf(e[n])}`).join(",")}}`}return typeof t=="string"?gc.STRING:typeof t=="number"?gc.NUMBER:typeof t=="boolean"?gc.BOOLEAN:gc.OTHER}function wE(t,e){return Fs(`${t}#${String(e)}`)}function M5(t){try{return vf(JSON.parse(t))}catch{return gc.OTHER}}var $5=1<<20,P5=9,H5=10,U5=13,F5=32,G5=127;function B5(t){for(let e=0;e<t.length;e+=1){let n=t.charCodeAt(e);if(n===G5||n<F5&&n!==P5&&n!==H5&&n!==U5)return!0}return!1}function V5(t){if((t instanceof ArrayBuffer||ArrayBuffer.isView(t))&&!(t.byteLength>$5))try{let e=new TextDecoder("utf-8",{fatal:!0}).decode(t);return B5(e)?void 0:e}catch{return}}function j5(t){let e=[],n=0;return t.forEach((r,o)=>{typeof r=="string"&&(n+=r.length),e.push(JSON.stringify([o,typeof r=="string"?0:[r.type,r.size]]))}),e.length===0?void 0:wE(e.sort().join(),n)}function RE(t,e){let n,r="application/json",o=F_,a=V5(t),s=()=>{var p,f;return(f=(p=t.constructor)==null?void 0:p.name)!=null?f:typeof t};if(typeof t=="string"||a!==void 0)n=a!=null?a:t,n.length>0&&(o=wE(M5(n),n.length));else if(typeof FormData!="undefined"&&t instanceof FormData){let p=j5(t);return{...p===void 0?{}:{[Zl]:p},...e?{requestBodyType:s()}:{}}}else if(typeof URLSearchParams!="undefined"&&t instanceof URLSearchParams){if(n=t.toString(),r="application/x-www-form-urlencoded",n.length>0){let p=Object.fromEntries(new URLSearchParams(n));o=wE(vf(p),n.length)}}else if(t!=null)return e?{requestBodyType:s()}:{};let l={[Zl]:o};if(!e||n===void 0||n.length===0)return l;let{body:d,truncated:u}=mi(n,r);return u?{...l,requestBody:d,requestBodyTruncated:!0}:{...l,requestBody:d}}function OR(t){return t>=200&&t<400}function IR(t,e,n){let r={};t!==""&&(r.statusText=t),e!==null&&e!==""&&(r.contentType=e);let o=n!==null?Number.parseInt(n,10):Number.NaN;return Number.isFinite(o)&&(r.responseSize=o),r}function K5(t){return typeof t=="string"?t:t instanceof URL?t.href:t.url}function W5(t,e){return(e==null?void 0:e.method)!==void 0?e.method.toUpperCase():t instanceof Request?t.method.toUpperCase():"GET"}function z5(t,e){var n,r;if(e!==void 0&&e.headers!==void 0)return(n=cn(()=>new Headers(e.headers).get(qm)))!=null?n:void 0;if(t instanceof Request)return(r=cn(()=>t.headers.get(qm)))!=null?r:void 0}var Y5=/@reticlehq|reticle\.ts|network\.ts|transport\.ts|<anonymous>|new Promise|node:internal/i,X5=/node_modules|\/\.vite\/deps\//i;function q5(t){var r;if(t===void 0)return;let e=t.split(`
|
|
1780
|
+
`).slice(1).map(o=>o.trim()).filter(o=>o.length>0&&!Y5.test(o)),n=e.find(o=>!X5.test(o));return(r=n!=null?n:e[0])==null?void 0:r.slice(0,300)}function NE(){return q5(new Error().stack)}function Z5(t){if(t===void 0)return{};let e={};return t.responseStart>0&&t.requestStart>0&&(e.ttfbMs=Math.round(t.responseStart-t.requestStart)),t.transferSize>0&&(e.transferSize=t.transferSize),e}function CR(t){try{let e=performance.getEntriesByName(t,"resource");return Z5(e[e.length-1])}catch{return{}}}function Q5(t){try{return new URL(t,location.href).pathname===oa}catch{return t.includes(oa)}}function J5(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var LR=new WeakSet;function kR(t,e={}){var gs,WT,zT;let n=e.captureBodies===!0,r=e.captureErrorBodies!==!1,o=e.reinterpret,a=sr(window,"fetch"),s=a.bind(window);!J5(a)&&!LR.has(a)&&t(x.BLIND_SPOT,{kind:Pt.WRAPPED_NETWORK,count:1});let l=0,d=()=>`n${++l}`;window.fetch=async(Ce,ue)=>{var XT,qT,ZT;let Je=K5(Ce);if(((XT=e.ignore)==null?void 0:XT.call(e,Je))===!0)return s(Ce,ue);let xt=d(),Ve=performance.now(),qt=W5(Ce,ue),Lt=z5(Ce,ue),Wo=Lt===void 0?{}:{[Sp]:Lt},Gi=(qT=cn(()=>RE(ue==null?void 0:ue.body,n)))!=null?qT:{},Es=wr(Je),zu=Es.url,YT=cn(()=>NE()),Jh=YT===void 0?{}:{initiatorStack:YT};q(()=>{t(x.NET_PENDING,{id:xt,method:qt,...Es,initiator:"fetch",...Jh})});try{let At=await s(Ce,ue),zC=performance.now(),kl=(ZT=cn(()=>At.headers.get("content-type")))!=null?ZT:null;q(()=>{wR(t,At,xt,Es,kl,At.headers.get("content-length"))}),Ge.add(Je);let QT=Dl=>{q(()=>{var Ml;t(x.NET_REQUEST,{id:xt,method:qt,...Es,status:At.status,ok:OR(At.status),durationMs:Math.round(zC-Ve),initiator:"fetch",...Jh,...CR(Je),...IR(At.statusText,kl,At.headers.get("content-length")),...Gi,...Wo,...Dl,...(Ml=o==null?void 0:o(zu,$l=>At.headers.get($l)))!=null?Ml:{}})})},YC=AE(At.status,r);if((n||YC)&&xE(kl)){let Dl;try{Dl=At.clone()}catch{}(async()=>{let Ml={};if(Dl!==void 0)try{let $l=await AR(Dl.text());if($l!==void 0){let{body:XC,truncated:qC}=n?mi($l,kl):yE($l,kl);Ml={responseBody:XC,...qC?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}}catch{}try{QT(Ml)}catch{}})().catch(()=>{})}else QT({});return At}catch(At){throw q(()=>{t(x.NET_REQUEST,{id:xt,method:qt,url:zu,status:0,ok:!1,error:At instanceof Error?At.message:String(At),durationMs:Math.round(performance.now()-Ve),initiator:"fetch",...Jh,...Wo})}),At}};let u=sr(window,"fetch");LR.add(u);let p=new WeakMap,f=XMLHttpRequest.prototype,m=Re(f,"open"),g=Re(f,"send"),T=m;f.open=function(Ce,ue,...Je){q(()=>{p.set(this,{id:d(),method:Ce.toUpperCase(),url:xp(String(ue)),rawUrl:String(ue),start:0})}),T.call(this,Ce,ue,...Je)};let _=Re(f,"open"),y=new WeakSet;f.send=function(Ce){q(()=>{var Je;let ue=p.get(this);if(ue!==void 0){ue.start=performance.now(),ue.reqFields=(Je=cn(()=>RE(Ce!=null?Ce:null,n)))!=null?Je:{},ue.initiatorStack=NE();let xt=ue.initiatorStack===void 0?{}:{initiatorStack:ue.initiatorStack};t(x.NET_PENDING,{id:ue.id,method:ue.method,...wr(ue.rawUrl),initiator:"xhr",...xt}),y.has(this)||(y.add(this),this.addEventListener("loadend",()=>{q(()=>{let Ve=p.get(this);if(Ve===void 0)return;Ge.add(Ve.rawUrl);let qt=this.getResponseHeader("content-type"),Lt={},Wo=this.responseType===""||this.responseType==="text",Gi=AE(this.status,r);if((n||Gi)&&Wo&&xE(qt))try{let{body:Es,truncated:zu}=n?mi(this.responseText,qt):yE(this.responseText,qt);Lt={responseBody:Es,...zu?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}catch{}t(x.NET_REQUEST,{id:Ve.id,method:Ve.method,...wr(Ve.rawUrl),status:this.status,ok:OR(this.status),durationMs:Math.round(performance.now()-Ve.start),initiator:"xhr",...Ve.initiatorStack===void 0?{}:{initiatorStack:Ve.initiatorStack},...CR(Ve.rawUrl),...IR(this.statusText,qt,this.getResponseHeader("content-length")),...Ve.reqFields,...Lt})})}))}}),g.call(this,Ce!=null?Ce:null)};let A=Re(f,"send"),v=window.EventSource,O=window.WebSocket,B,oe;n&&typeof v=="function"&&(window.EventSource=class extends v{constructor(Ce,ue){super(Ce,ue),q(()=>{let Je=wr(String(Ce));t(x.NET_STREAM,{transport:Ir.SSE,direction:Cr.OPEN,...Je}),this.addEventListener("message",xt=>{q(()=>{t(x.NET_STREAM,{transport:Ir.SSE,direction:Cr.IN,...Je,...vE(xt.data,n)})})})})}},B=window.EventSource),n&&typeof O=="function"&&(window.WebSocket=(WT=class extends O{constructor(ue,Je){super(ue,Je);b(this,gs);h(this,gs,Q5(String(ue))),!c(this,gs)&&q(()=>{let xt=wr(String(ue));t(x.NET_STREAM,{transport:Ir.WS,direction:Cr.OPEN,...xt}),this.addEventListener("message",Ve=>{q(()=>{t(x.NET_STREAM,{transport:Ir.WS,direction:Cr.IN,...xt,...vE(Ve.data,n)})})})})}send(ue){if(c(this,gs)){super.send(ue);return}super.send(ue),q(()=>{t(x.NET_STREAM,{transport:Ir.WS,direction:Cr.OUT,...wr(this.url),...vE(ue,n)})})}},gs=new WeakMap,WT),oe=window.WebSocket);let ce=typeof navigator!="undefined"?Object.getPrototypeOf(navigator):null,he=ce===null||(zT=Object.getOwnPropertyDescriptor(ce,"sendBeacon"))==null?void 0:zT.value,Ie;ce!==null&&he!==void 0&&(Ie=function(Ce,ue){let Je=d(),xt=cn(()=>wr(String(Ce))),Ve=cn(()=>NE()),qt=he.call(this,Ce,ue);return q(()=>{t(x.NET_REQUEST,{id:Je,method:"POST",...xt,status:0,ok:qt,queued:qt,durationMs:0,initiator:"beacon",...Ve===void 0?{}:{initiatorStack:Ve},...RE(ue,!1)})}),qt},ce.sendBeacon=Ie);let Ge=new Set,mn=0,Cn=200,pt;if(typeof PerformanceObserver!="undefined")try{let Ce=new PerformanceObserver(ue=>{var Je,xt,Ve;for(let qt of ue.getEntries()){let Lt=qt;if(mn>=Cn)return;let Wo=Lt.initiatorType||"other";if(Wo==="fetch"||Wo==="xmlhttprequest")continue;let Gi=Lt.name;Ge.has(Gi)||(Ge.add(Gi),mn+=1,t(x.NET_REQUEST,{id:d(),method:"GET",...wr(Gi),durationMs:Math.round(Lt.duration),initiator:Wo,...Lt.transferSize>0?{transferSize:Lt.transferSize}:{},...((Je=Lt.responseStatus)!=null?Je:0)>0?{status:Lt.responseStatus,ok:((xt=Lt.responseStatus)!=null?xt:0)>=200&&((Ve=Lt.responseStatus)!=null?Ve:0)<400}:{}}))}});pt=Ce,Ce.observe({type:"resource",buffered:!0})}catch{}return()=>{pt==null||pt.disconnect(),window.fetch===u&&(window.fetch=a),Re(f,"open")===_&&(f.open=m),Re(f,"send")===A&&(f.send=g),B!==void 0&&window.EventSource===B&&(window.EventSource=v),oe!==void 0&&window.WebSocket===oe&&(window.WebSocket=O),ce!==null&&he!==void 0&&ce.sendBeacon===Ie&&(ce.sendBeacon=he)}}H();var eH="Tauri-Response",tH="error",DR={OK:"Ok",ERROR:"Err"},MR=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function $R(t,e){let n=MR.exec(t),r=n==null?void 0:n[1];if(r===void 0)return;let o=e(eH)!==tH;return{url:`${Xm}${r}`,initiator:nr.IPC,method:nr.IPC,ok:o,status:o?ql.OK:ql.ERROR,statusText:o?DR.OK:DR.ERROR}}function PR(t){var e;return((e=MR.exec(t))==null?void 0:e[1])===wp}function nH(){return navigator.userAgent.includes("Electron")}function HR(t,e={}){let n=window[uo];if(typeof(n==null?void 0:n.subscribe)!="function")return nH()&&t(x.BLIND_SPOT,{kind:Pt.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(o=>{q(()=>{var d;let a=`${Xm}${o.channel}`;if(o.phase==="start"){t(x.NET_PENDING,{id:o.id,method:nr.IPC,url:a,initiator:nr.IPC});return}let s=o.oneWay===!0&&o.ok===void 0;s&&t(x.BLIND_SPOT,{kind:Pt.VERDICTLESS_SEND,count:1});let l=o.ok===!0;t(x.NET_REQUEST,{id:o.id,method:nr.IPC,url:a,...s?{}:{ok:l,status:l?ql.OK:ql.ERROR},...o.oneWay===!0?{oneWay:!0}:{},durationMs:(d=o.durationMs)!=null?d:0,initiator:nr.IPC,...o.error===void 0?{}:{error:o.error},...o.responseSize===void 0?{}:{responseSize:o.responseSize},...e.captureBodies===!0?{...o.requestBody===void 0?{}:{requestBody:o.requestBody},...o.responseBody===void 0?{}:{responseBody:o.responseBody},...o.responseBodyTruncated===!0?{responseBodyTruncated:!0}:{}}:{}})})});return()=>{var o;(o=n.unsubscribe)==null||o.call(n,r)}}H();Rt();on();at();Un();var UR=t=>t===void 0?0:Math.max(0,t.width)*Math.max(0,t.height);function FR(t){let e=globalThis.CSS;if(typeof(e==null?void 0:e.escape)=="function")return e.escape(t);let n="";for(let[r,o]of[...t].entries())/\d/.test(o)&&(r===0||r===1&&t.startsWith("-"))?n+=`\\${o.charCodeAt(0).toString(16)} `:/[\w-]/.test(o)?n+=o:n+=`\\${o}`;return n}function rH(t){let e=Pe(t);if(e!==null)return`[${Bs()}="${e.replace(/["\\]/g,"\\$&")}"]`;let n=t.tagName.toLowerCase();if(0<t.id.length)return`${n}#${FR(t.id)}`;let r=t.classList.item(0);return r===null?n:`${n}.${FR(r)}`}function oH(t){var n;let e;for(let r of t!=null?t:[]){let o=(n=r.node)!=null?n:null,a=o===null?null:an(o)?o:o.parentElement;if(a===null||ht(a))continue;let s=Math.max(UR(r.previousRect),UR(r.currentRect));(e===void 0||s>e.area)&&(e={el:a,area:s})}return e===void 0?void 0:{ref:J.refFor(e.el),selector:rH(e.el)}}function GR(t){if(typeof PerformanceObserver!="function")return()=>{};let e=[],n=(a,s)=>{try{let l=new PerformanceObserver(d=>{for(let u of d.getEntries())s(u)});l.observe({type:a,buffered:!0}),e.push(l)}catch{}},r=0,o=0;return n("largest-contentful-paint",a=>{let s=Math.round(a.startTime);s<=o||(o=s,t(x.PERF,{metric:Os.LCP,value:s,at:s}))}),n("layout-shift",a=>{var d;let s=a;if(s.hadRecentInput===!0)return;r+=(d=s.value)!=null?d:0;let l=oH(s.sources);t(x.PERF,{metric:Os.CLS,value:r,at:Math.round(a.startTime),...l===void 0?{}:{shifted:l}})}),n("longtask",a=>{t(x.PERF,{metric:Os.LONGTASK,value:Math.round(a.duration),at:Math.round(a.startTime)})}),()=>{for(let a of e)a.disconnect()}}H();oi();function iH(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}function BR(t){let e=new AbortController,n=Re(history,"pushState"),r=Re(history,"replaceState"),o=n.bind(history),a=r.bind(history),s=location.href,l=(f,m)=>{q(()=>{let g=iH();g.href!==f&&(s=g.href,t(x.ROUTE_CHANGE,{from:f,to:g.href,pathname:g.pathname,search:g.search,hash:g.hash,[lg]:m}))})},d=(f,m,g)=>{let T=location.href;o(f,m,g!=null?g:null),l(T,ed.PUSH)},u=(f,m,g)=>{let T=location.href;a(f,m,g!=null?g:null),l(T,ed.REPLACE)};history.pushState=d,history.replaceState=u;let p=()=>{l(s,ed.POP)};return window.addEventListener("popstate",p,{signal:e.signal}),window.addEventListener("hashchange",p,{signal:e.signal}),()=>{history.pushState===d&&(history.pushState=n),history.replaceState===u&&(history.replaceState=r),e.abort()}}H();var aH=new Set(["navigate","reload","back_forward"]);function sH(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function VR(t){var s,l;let e=sH(),n=e==null?void 0:e.type,r=e==null?void 0:e.name;if(e===void 0||typeof r!="string"||r.length===0)return()=>{};if(typeof n!="string"||!aH.has(n))return()=>{};let o=e.responseStatus,a=typeof o=="number"&&o>0;return t(x.NET_REQUEST,{id:`doc-${String(Math.round((s=e.duration)!=null?s:0))}`,method:"GET",url:r,initiator:nr.DOCUMENT,durationMs:Math.round((l=e.duration)!=null?l:0),...a?{status:o,ok:o<400}:{},navigationType:n,...typeof e.transferSize=="number"?{transferSize:e.transferSize}:{}}),()=>{}}H();var cH=/^(javascript|mailto|tel|sms|blob|data):/i;function lH(){if(typeof window=="undefined")return;let t=window.navigation;return t instanceof EventTarget?t:void 0}function dH(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}var uH=1e3;function jR(t,e,n){if(t.length===0||cH.test(t))return!1;if(e)return!0;try{let r=new URL(t,n),o=new URL(n);return r.origin===o.origin?r.pathname!==o.pathname||r.search!==o.search:!0}catch{return!1}}function KR(t){if(typeof document=="undefined")return()=>{};let e=0,n,r=(l,d)=>{let u=Date.now();n!==void 0&&n.url===l&&u-n.at<uH||(n={url:l,at:u},e+=1,t(x.NET_PENDING,{id:`nav-${String(e)}`,method:"GET",url:l,initiator:nr.NAVIGATION,...d?{download:!0}:{}}))},o=l=>{q(()=>{var g;let d=dH(l.target);if(d===void 0)return;let u=(g=d.getAttribute("href"))!=null?g:"",p=document.location.href,f=d.hasAttribute("download");if(!jR(u,f,p))return;let m=new URL(u,p).toString();queueMicrotask(()=>{q(()=>{l.defaultPrevented||r(m,f)})})})},a=l=>{q(()=>{let d=l.destination;if(d===void 0||d.sameDocument)return;let u=d.url;jR(u,!1,document.location.href)&&queueMicrotask(()=>{q(()=>{l.defaultPrevented||r(u,!1)})})})},s=lH();return s!==void 0&&s.addEventListener("navigate",a),document.addEventListener("click",o,!0),()=>{document.removeEventListener("click",o,!0),s!==void 0&&s.removeEventListener("navigate",a)}}H();Dr();H();var pH=3,fH=256,hH={emit:!0},mH={emit:!1};function gH(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function EH(t){var e,n,r;return Fs([t.message,(e=t.source)!=null?e:"",t.line===void 0?"":String(t.line),(n=t.kind)!=null?n:"",(r=t.stack)!=null?r:""].join("\0"))}function WR(t=pH,e=fH){let n=new Map;return{admit(r){var s,l;let o=EH(r),a=((s=n.get(o))!=null?s:0)+1;if(n.delete(o),n.size>=e){let d=n.keys().next();(l=d.done)!=null&&l||n.delete(d.value)}return n.set(o,a),a<=t?hH:gH(a)?{emit:!0,repeats:a}:mH}}}var zR="securitypolicyviolation",bH="report",TH={log:x.CONSOLE_LOG,warn:x.CONSOLE_WARN,error:x.CONSOLE_ERROR,info:x.CONSOLE_INFO,debug:x.CONSOLE_DEBUG};function SH(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:kr(e)).join(" ")}var YR=G.MAX_STACK_LENGTH;function OE(t){if(!(t===void 0||t.length===0))return t.length>YR?t.slice(0,YR):t}function _H(t){for(let e of t)if(e instanceof Error)return OE(e.stack)}function XR(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let f of e){let m=sr(console,f);n.set(f,m);let g=m.bind(console),T=(..._)=>{g(..._),q(()=>{let y=f==="error"?_H(_):void 0;t(TH[f],{message:SH(_),...y===void 0?{}:{stack:y}})})};r.set(f,T),console[f]=T}let o=WR(),a=f=>{let m=o.admit(f);m.emit&&t(x.ERROR_UNCAUGHT,{...f,...m.repeats===void 0?{}:{repeats:m.repeats}})},s=f=>{var m,g;if(!(f instanceof ErrorEvent)){let T=f.target;if(!(T instanceof Element)||T===document)return;let _=T.tagName.toLowerCase(),y=(g=(m=T.getAttribute("src"))!=null?m:T.getAttribute("href"))!=null?g:"";q(()=>{let A=`<${_}> failed to load${y.length===0?"":`: ${y}`}`;a({message:A,kind:"resource",...y.length===0?{}:{source:y}})});return}q(()=>{let T=OE(f.error instanceof Error?f.error.stack:void 0),_={message:f.message,source:f.filename,line:f.lineno,...T===void 0?{}:{stack:T}};a(_)})},l=f=>{q(()=>{let m=f.reason,g=OE(m instanceof Error?m.stack:void 0),T={message:m instanceof Error?m.message:String(m),kind:"unhandledrejection",...g===void 0?{}:{stack:g}};a(T)})},d=f=>{let m=f.blockedURI.length===0?"inline content":f.blockedURI,g=bH===f.disposition;t(g?x.CONSOLE_WARN:x.CONSOLE_ERROR,{message:g?`[Report Only] Content Security Policy directive: ${f.violatedDirective} would block ${m}`:`Content Security Policy directive: ${f.violatedDirective} blocked ${m}`,kind:zR,...f.blockedURI.length===0?{}:{source:f.blockedURI}})},u=new AbortController,{signal:p}=u;return window.addEventListener("error",s,{capture:!0,signal:p}),window.addEventListener("unhandledrejection",l,{signal:p}),window.addEventListener(zR,d,{capture:!0,signal:p}),()=>{for(let[f,m]of n)console[f]===r.get(f)&&(console[f]=m);u.abort()}}H();rc();var xH={alert:void 0,confirm:!1,prompt:null},AH=["alert","confirm","prompt"];function qR(t){let e=window,n=new Map,r=new Map;for(let o of AH){let a=e[o];if(typeof a!="function")continue;n.set(o,a);let s=a.bind(window),l=(...d)=>{if(!rf())return s(...d);let u=xH[o],p=d[0];return q(()=>{t(x.DIALOG_OPENED,{kind:o,...typeof p=="string"?{message:p}:{},...u===void 0?{}:{answered:u}})}),u};r.set(o,l),e[o]=l}return()=>{for(let[o,a]of n)e[o]===r.get(o)&&(e[o]=a)}}H();Rt();at();function ZR(t){let e=new AbortController,{signal:n}=e,r=s=>{let l=s.target;l instanceof Element&&!ht(l)&&t(x.ANIM_START,{name:s.animationName},J.refFor(l))},o=s=>{let l=s.target;l instanceof Element&&!ht(l)&&t(x.ANIM_END,{name:s.animationName},J.refFor(l))},a=s=>{let l=s.target;l instanceof Element&&!ht(l)&&t(x.ANIM_END,{name:s.propertyName,kind:"transition"},J.refFor(l))};return document.addEventListener("animationstart",r,{capture:!0,signal:n}),document.addEventListener("animationend",o,{capture:!0,signal:n}),document.addEventListener("transitionend",a,{capture:!0,signal:n}),()=>e.abort()}H();Rt();lt();var QR=100,yH="[data-reticle-reveal], [data-reveal], section";function JR(t){let e=new AbortController,{signal:n}=e,r=0,o=0,a,s=()=>{r=performance.now();let u=window.scrollY,p=Math.max(1,document.documentElement.scrollHeight-window.innerHeight);t(x.SCROLL_POSITION,{x:window.scrollX,y:u,percent:Math.round(u/p*100),direction:u>=o?Np.DOWN:Np.UP}),o=u},l=()=>{let u=performance.now()-r;if(u>=QR){a!==void 0&&(Te(a),a=void 0),s();return}a===void 0&&(a=ee(()=>{a=void 0,s()},QR-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(p=>{for(let f of p)f.isIntersecting&&t(x.REVEAL_SHOWN,{ratio:f.intersectionRatio},J.refFor(f.target))},{threshold:.25});let u=d;for(let p of document.querySelectorAll(yH))u.observe(p)}return()=>{e.abort(),a!==void 0&&Te(a),d==null||d.disconnect()}}H();lt();function tN(){let t=window;return t.__TAURI_INTERNALS__!==void 0||t.__TAURI__!==void 0?"tauri":navigator.userAgent.includes("Electron")||t[uo]!==void 0?"electron":"web"}function vH(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var RH={"google chrome":$e.CHROME,chrome:$e.CHROME,"microsoft edge":$e.EDGE,edge:$e.EDGE,brave:$e.BRAVE,opera:$e.OPERA,arc:$e.ARC,dia:$e.DIA,firefox:$e.FIREFOX,safari:$e.SAFARI};function NH(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function wH(){var e;try{let r=(e=navigator.userAgentData)==null?void 0:e.brands;if(Array.isArray(r)){let o;for(let a of r){let s=typeof(a==null?void 0:a.brand)=="string"?a.brand.toLowerCase():"";if(s===""||NH(s))continue;let l=RH[s];if(l!==void 0)if($e.CHROME===l)o=l;else return l}return o!=null?o:$e.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?$e.EDGE:/OPR\/|Opera/.test(t)?$e.OPERA:/Firefox/.test(t)?$e.FIREFOX:/Chrome|Chromium/.test(t)?$e.CHROME:/Safari/.test(t)?$e.SAFARI:$e.OTHER}var eN=typeof window!="undefined"&&typeof window.fetch=="function"?window.fetch.bind(window):void 0;function OH(){var n,r;let t=window.__TAURI_INTERNALS__,e=(r=(n=t==null?void 0:t.metadata)==null?void 0:n.currentWindow)==null?void 0:r.label;return typeof e=="string"&&e.length>0?e:void 0}function IH(){try{let[t]=performance.getEntriesByType("navigation"),e=t==null?void 0:t.responseStatus;return typeof e=="number"&&e>0?e:void 0}catch{return}}async function CH(t){let e=IH();if(e!==void 0)return e;try{return t==="web"||eN===void 0||!/^https?:$/.test(location.protocol)?void 0:(await eN(location.href,{method:"HEAD",cache:"no-store"})).status}catch{return}}async function LH(){let t=window[uo];if(typeof(t==null?void 0:t.windowLabel)=="function")try{let e=await t.windowLabel();return typeof e=="string"&&e.length>0?e:void 0}catch{return}}function kH(t){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:tN(),engine:vH(),brand:wH(),...t===void 0?{}:{windowLabel:t}}}function nN(t){let e=new AbortController,{signal:n}=e,r,o=OH(),a=l=>{t(x.PAGE_HEALTH,{...kH(o),...r===void 0?{}:{documentStatus:r},reason:l})};document.addEventListener("visibilitychange",()=>a(ua.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>a(ua.FOCUS),{signal:n}),window.addEventListener("blur",()=>a(ua.BLUR),{signal:n}),a(ua.INITIAL),Promise.all([CH(tN()),o===void 0?LH():Promise.resolve(o)]).then(([l,d])=>{n.aborted||l===void 0&&d===o||(r=l,o=d,a(ua.HEARTBEAT))});let s=zy(()=>a(ua.HEARTBEAT),w_.HEARTBEAT_MS);return()=>{s(),e.abort()}}H();var ze={CONNECT:"connect",DOM_OBSERVER:"dom_observer",NETWORK_OBSERVER:"network_observer",CONSOLE_OBSERVER:"console_observer",IPC_OBSERVER:"ipc_observer",HEALTH_OBSERVER:"health_observer",ROUTER_OBSERVER:"router_observer",ANIMATION_OBSERVER:"animation_observer",STORE_ADAPTER:"store_adapter",SNAPSHOT:"snapshot",ACTION:"action",COMMAND:"command",RECORDER:"recorder",TRANSPORT:"transport",TEARDOWN:"teardown"},DH=500;function IE(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(x.SDK_FAILED,{site:e,message:r.slice(0,DH),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function rt(t,e,n){try{return n()}catch(r){return IE(t,e,r),()=>{}}}function rN(t,e){for(let n of e)try{n()}catch(r){IE(t,ze.TEARDOWN,r)}}function oN(t,e){return[rt(t,ze.NETWORK_OBSERVER,()=>kR(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:$R,ignore:PR})),rt(t,ze.IPC_OBSERVER,()=>HR(t,{captureBodies:e.captureBodies})),rt(t,ze.ANIMATION_OBSERVER,()=>GR(t)),rt(t,ze.ROUTER_OBSERVER,()=>BR(t)),rt(t,ze.NETWORK_OBSERVER,()=>VR(t)),rt(t,ze.NETWORK_OBSERVER,()=>KR(t)),rt(t,ze.CONSOLE_OBSERVER,()=>XR(t)),rt(t,ze.CONSOLE_OBSERVER,()=>qR(t)),rt(t,ze.ANIMATION_OBSERVER,()=>ZR(t)),rt(t,ze.DOM_OBSERVER,()=>JR(t)),rt(t,ze.DOM_OBSERVER,()=>cR(t)),rt(t,ze.STORE_ADAPTER,()=>Lv(t)),rt(t,ze.STORE_ADAPTER,()=>fR(t)),rt(t,ze.DOM_OBSERVER,()=>hR(t)),rt(t,ze.DOM_OBSERVER,()=>ER(t)),rt(t,ze.NETWORK_OBSERVER,()=>RR(t,{capturePreview:e.captureBodies})),rt(t,ze.DOM_OBSERVER,()=>TR(t)),rt(t,ze.HEALTH_OBSERVER,()=>nN(t)),rt(t,ze.DOM_OBSERVER,()=>NR(t))]}on();var MH=["position:fixed","bottom:8px","right:8px","z-index:2147483647","font:11px ui-monospace,SFMono-Regular,Menlo,monospace","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:8px","padding:6px 10px","pointer-events:none","opacity:0.85"].join(";");function iN(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=MH,t.textContent="Reticle: connecting\u2026",document.body.appendChild(t),{update:e=>{t.textContent=`Reticle ${e.connected?"\u25CF":"\u25CB"} ${String(e.events)} events`},destroy:()=>{t.remove()}}}CE();LE();H();Rt();Bt();function Sn(t,e=""){return typeof t=="string"?t:e}function _o(t){let e=Sn(t);return e===""?void 0:e}function Rf(t){let e=J.resolve(t);if(!(e instanceof Element))return t;let n=Mr(e);return n.name.length>0?`${n.role} "${n.name}"`:`${n.role} (${t})`}function aN(t){switch(t){case L.ACT:case L.ACT_SEQUENCE:return je.ACTING;case L.SNAPSHOT:case L.QUERY:case L.MATCH:case L.INSPECT:case L.ANIMATIONS:case L.STATE_READ:case L.CAPABILITIES:return je.READING;default:return je.IDLE}}function sN(t,e={}){var n;switch(t){case L.SNAPSHOT:return"Looking at the page";case L.QUERY:case L.MATCH:{let r=t===L.MATCH?(n=e.query)!=null?n:{}:e,o=$H(r);return o!==void 0?`Finding ${o}`:"Finding an element"}case L.INSPECT:{let r=_o(e.ref);return r!==void 0?`Inspecting ${Rf(r)}`:"Inspecting an element"}case L.ANIMATIONS:return"Reading animations";case L.STATE_READ:{let r=_o(e.store);return r!==void 0?`Reading state: ${r}`:"Reading state"}case L.CAPABILITIES:return"Reading capabilities";default:return t}}function $H(t){var o,a,s,l;let e=(o=_o(t.testid))!=null?o:et.TESTID===Sn(t.by)?_o(t.value):void 0;if(e!==void 0)return`[testid=${e}]`;let n=_o(t.name),r=(l=(s=(a=_o(t.value))!=null?a:_o(t.text))!=null?s:_o(t.label))!=null?l:_o(t.role);return r!==void 0?n!==void 0?`"${r}" (${n})`:`"${r}"`:n!==void 0?`"${n}"`:void 0}Td();on();H();H();hd();Bt();at();ci();var cN=["position:fixed","top:8px","left:50%","transform:translateX(-50%)","z-index:2147483647","display:flex","gap:6px","align-items:center","flex-wrap:wrap","max-width:90vw","font:12px ui-sans-serif,system-ui,sans-serif","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:10px","padding:6px 10px","box-shadow:0 8px 30px rgba(0,0,0,.5)"].join(";"),Nf=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),kE=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),lN=["opacity:.75","margin-left:4px"].join(";"),dN=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var PH="recorded 0 steps",HH="recording\u2026",uN="ready",UH="pick an annotation",FH=Ns.ACT,DE={record:"Record",stop:"Stop",annotate:"Annotate"},GH={[Le.ASSERT_SIGNAL]:"assert signal",[Le.ASSERT_VISIBLE]:"assert visible",[Le.ASSERT_STATE]:"assert state",[Le.ASSERT_NET]:"assert request",[Le.MARK_DYNAMIC]:"mark dynamic",[Le.SUCCESS_STATE]:"success state",[Le.INTENT]:"intent"},BH=new Set([Le.ASSERT_SIGNAL,Le.SUCCESS_STATE]),VH="recorded-flow";function hN(t){let e=Pe(t);if(e!==null&&e.length>0)return{anchor:{kind:Mn.TESTID,value:e},degraded:!1};let n=xe(t),r=Ne(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:Mn.ROLE,role:n,name:r}:{kind:Mn.ROLE,role:n},degraded:!1}:{anchor:{kind:Mn.ROLE,role:SS},degraded:!0}}function pN(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&Pd(t)==="textbox"}function Pd(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function Ec(t,e,n){let{anchor:r,degraded:o}=hN(t),a={tool:FH,anchor:r,action:e};n!==void 0&&(a.args=n),o&&(a.degraded=!0);let s=fd(t);return s!==void 0&&(a.source=s.line===void 0?{file:s.file}:{file:s.file,line:s.line}),a}function jH(t,e,n,r,o){let a=e.map(u=>({...u})),s=[],l;for(let u of n){if(u.kind===Le.MARK_DYNAMIC){s.push(u.anchor);continue}if(u.kind===Le.SUCCESS_STATE){u.signal!==void 0&&(l={kind:C.SIGNAL,name:u.signal});continue}let p=a.at(-1);p!==void 0&&(u.kind===Le.ASSERT_SIGNAL&&u.signal!==void 0?p.expect=fN(p.expect,{kind:C.SIGNAL,name:u.signal}):u.kind===Le.ASSERT_VISIBLE&&(p.expect=fN(p.expect,{kind:C.ELEMENT,query:KH(u.anchor)})))}let d={version:dm,name:t,createdAt:r,steps:a};return o!==void 0&&o.length>0&&(d.startPath=o),s.length>0&&(d.dynamic=s),l!==void 0&&(d.success=l),d}function fN(t,e){return t===void 0?e:t.kind===C.ALL_OF?{kind:C.ALL_OF,predicates:[...t.predicates,e]}:{kind:C.ALL_OF,predicates:[t,e]}}function KH(t){return t.kind===Mn.TESTID?{testid:t.value}:t.kind===Mn.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var Aa,Bn,Kt,Fd,Ei,xo,bc,bi,ya,Hr,cr,F,mN,Hd,gN,EN,bN,TN,gi,SN,_N,$E,xN,AN,yN,xa,vN,wf,RN,NN,Ud,Of,wN,ME=class{constructor(e){b(this,F);b(this,Aa);b(this,Bn,kt.IDLE);b(this,Kt,[]);b(this,Fd);b(this,Ei,[]);b(this,xo);b(this,bc);b(this,bi);b(this,ya);b(this,Hr);b(this,cr);h(this,Aa,e)}phase(){return c(this,Bn)}steps(){return c(this,Kt).map(e=>({...e}))}mount(){c(this,bi)===void 0&&typeof document!="undefined"&&(E(this,F,vN).call(this),E(this,F,mN).call(this))}destroy(){var e,n;(e=c(this,bc))==null||e.abort(),h(this,bc,void 0),(n=c(this,bi))==null||n.remove(),h(this,bi,void 0),h(this,ya,void 0),h(this,Hr,void 0),h(this,Bn,kt.IDLE),h(this,Kt,[]),h(this,Ei,[]),h(this,cr,void 0),h(this,xo,void 0)}};Aa=new WeakMap,Bn=new WeakMap,Kt=new WeakMap,Fd=new WeakMap,Ei=new WeakMap,xo=new WeakMap,bc=new WeakMap,bi=new WeakMap,ya=new WeakMap,Hr=new WeakMap,cr=new WeakMap,F=new WeakSet,mN=function(){let e=new AbortController;h(this,bc,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>E(this,F,gN).call(this,r),n),document.addEventListener("input",r=>E(this,F,EN).call(this,r),n),document.addEventListener("change",r=>E(this,F,bN).call(this,r),n),document.addEventListener("submit",r=>E(this,F,TN).call(this,r),n)},Hd=function(e){let n=e.target;if(n instanceof Element&&!ht(n))return n},gN=function(e){let n=E(this,F,Hd).call(this,e);if(n!==void 0){if(c(this,Bn)===kt.ANNOTATING){E(this,F,SN).call(this,n);return}c(this,Bn)===kt.RECORDING&&(n instanceof HTMLInputElement&&(Pd(n)==="checkbox"||Pd(n)==="radio")||n instanceof HTMLSelectElement||(E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.CLICK))))}},EN=function(e){if(c(this,Bn)!==kt.RECORDING)return;let n=E(this,F,Hd).call(this,e);n===void 0||!pN(n)||h(this,xo,{el:n,value:n.value})},bN=function(e){if(c(this,Bn)!==kt.RECORDING)return;let n=E(this,F,Hd).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&Pd(n)==="checkbox"){E(this,F,gi).call(this),c(this,Kt).push(Ec(n,n.checked?k.CHECK:k.UNCHECK));return}if(n instanceof HTMLInputElement&&Pd(n)==="radio"){E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.CHECK));return}if(n instanceof HTMLSelectElement){E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.SELECT,{value:n.value}));return}pN(n)&&(h(this,xo,{el:n,value:n.value}),E(this,F,gi).call(this))}},TN=function(e){if(c(this,Bn)!==kt.RECORDING)return;let n=E(this,F,Hd).call(this,e);n!==void 0&&(E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.SUBMIT)))},gi=function(){let e=c(this,xo);if(e===void 0)return;h(this,xo,void 0);let n=ir(e.el)?_e:e.value;c(this,Kt).push(Ec(e.el,k.FILL,{value:n}))},SN=function(e){let n=c(this,cr);if(n===void 0)return;let{anchor:r}=hN(e),o={kind:n.kind,anchor:r},a=E(this,F,$E).call(this);a!==void 0&&(o.signal=a),c(this,Ei).push(o),h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Ud).call(this)},_N=function(){let e=c(this,cr);if(e===void 0)return;let n=c(this,Kt).at(-1);if(n===void 0){h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Ud).call(this);return}let r={kind:e.kind,anchor:n.anchor},o=E(this,F,$E).call(this);o!==void 0&&(r.signal=o),c(this,Ei).push(r),h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Ud).call(this)},$E=function(){var r,o;let e=(r=c(this,Hr))==null?void 0:r.querySelector("[data-reticle-signal]"),n=(o=e==null?void 0:e.value)!=null?o:"";return n.length>0?n:void 0},xN=function(){h(this,Kt,[]),h(this,Fd,typeof location=="undefined"?void 0:location.pathname),h(this,Ei,[]),h(this,xo,void 0),h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Of).call(this,HH)},AN=function(){var r,o;E(this,F,gi).call(this);let e=(o=(r=E(this,F,wN).call(this))!=null?r:c(this,Aa).defaultName)!=null?o:VH,n=jH(e,c(this,Kt),c(this,Ei),c(this,Aa).now(),c(this,Fd));c(this,Aa).emit(x.FLOW_RECORDED,{name:e,flow:n}),E(this,F,Of).call(this,c(this,Kt).length===0?PH:uN),E(this,F,xa).call(this,kt.IDLE),E(this,F,Ud).call(this)},yN=function(){c(this,Bn)===kt.RECORDING&&(E(this,F,xa).call(this,kt.ANNOTATING),E(this,F,Of).call(this,UH),E(this,F,RN).call(this))},xa=function(e){h(this,Bn,e)},vN=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=cN;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=kE,e.appendChild(n),e.appendChild(E(this,F,wf).call(this,"record",DE.record,()=>E(this,F,xN).call(this))),e.appendChild(E(this,F,wf).call(this,"stop",DE.stop,()=>E(this,F,AN).call(this))),e.appendChild(E(this,F,wf).call(this,"annotate",DE.annotate,()=>E(this,F,yN).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=lN,r.textContent=uN,e.appendChild(r);let o=document.createElement("div");o.setAttribute("data-reticle-menu",""),o.style.cssText=dN,e.appendChild(o),document.body.appendChild(e),h(this,bi,e),h(this,ya,r),h(this,Hr,o)},wf=function(e,n,r){let o=document.createElement("button");return o.setAttribute("data-reticle-action",e),o.textContent=n,o.style.cssText=Nf,o.addEventListener("click",r),o},RN=function(){let e=c(this,Hr);if(e!==void 0){e.textContent="";for(let n of Object.values(Le)){if(n===Le.INTENT)continue;let r=document.createElement("button");r.setAttribute("data-reticle-annkind",n),r.textContent=GH[n],r.style.cssText=Nf,r.addEventListener("click",()=>E(this,F,NN).call(this,n)),e.appendChild(r)}}},NN=function(e){h(this,cr,{kind:e});let n=c(this,Hr);if(n===void 0)return;if(BH.has(e)){let o=document.createElement("select");o.setAttribute("data-reticle-signal",""),o.style.cssText=kE;for(let a of si().signals){let s=document.createElement("option");s.value=a,s.textContent=a,o.appendChild(s)}n.appendChild(o)}let r=document.createElement("button");r.setAttribute("data-reticle-action","annotate-confirm"),r.textContent="on prior step",r.style.cssText=Nf,r.addEventListener("click",()=>E(this,F,_N).call(this)),n.appendChild(r)},Ud=function(){c(this,Hr)!==void 0&&(c(this,Hr).textContent="")},Of=function(e){c(this,ya)!==void 0&&(c(this,ya).textContent=e)},wN=function(){var r,o;let e=(r=c(this,bi))==null?void 0:r.querySelector("[data-reticle-name]"),n=(o=e==null?void 0:e.value.trim())!=null?o:"";return n.length>0?n:void 0};function ON(t){return new ME(t)}XE();function uG(t,e){return t==="production"&&!e}function pG(t){let e;try{e=new URL(t)}catch{return{url:t,adjusted:!1}}return e.protocol!=="ws:"&&e.protocol!=="wss:"||e.pathname!==""&&e.pathname!=="/"?{url:t,adjusted:!1}:(e.pathname=oa,{url:e.toString(),adjusted:!0})}function fG(t,e,n,r,o="http:"){var d;let a;try{a=new URL(e)}catch{return{allowed:!1,reason:"invalid Reticle bridge URL"}}if(a.protocol!=="ws:"&&a.protocol!=="wss:")return{allowed:!1,reason:"Reticle bridge URL must use ws:// or wss://"};if(((d=r==null?void 0:r.length)!=null?d:0)>G.MAX_TOKEN_LENGTH)return{allowed:!1,reason:`Reticle pairing token exceeds ${String(G.MAX_TOKEN_LENGTH)} characters`};let s=!rg(a.hostname);return s&&a.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!W_(o,t)||s?n?r===void 0||r.length===0?{allowed:!1,reason:"a pairing token is required outside localhost"}:{allowed:!0}:{allowed:!1,reason:"Reticle is disabled outside localhost unless allowNonLocalhost is explicitly enabled"}:{allowed:!0}}var hG=20,mG="[Reticle] killed for this page. Restart your dev server or reload the page to bring it back.",gG="Session ended - lost connection to Reticle (the agent is no longer running).";function EG(t,e){return t===void 0||t===Wl?e():t}function bG(){try{let t=new URL(window.location.href);if(!t.searchParams.has(Tf))return;t.searchParams.delete(Tf),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function BT(t){let e=new URLSearchParams(t),n={},r=e.get($n.SESSION),o=e.get($n.PROJECT),a=VT(En,e.get($n.HUD));return r!==null&&r.length>0&&(n.session=r),o!==null&&o.length>0&&(n.projectId=o),a!==void 0&&(n.hud=a),n}function TG(t){return t===void 0?{placed:[]}:{remember:t,placed:En.SHOWN===t?[]:[t]}}function SG(t,e){var a;let n=BT(e),r=t.session!==void 0&&t.session!==Wl?t.session:void 0,o=(a=t.projectId)!=null?a:n.projectId;return{session:r!=null?r:n.session,projectId:o!==void 0&&o.length>0?o:void 0}}function _G(t){return{t:t.t,seq:t.seq,type:t.type,sessionId:t.sessionId,ref:t.ref,documentId:t.documentId,editEpoch:0===t.editEpoch?void 0:t.editEpoch,data:t.data}}var Vo,Vu,us,to,ps,Zh,ju,Hi,Oe,Rl,fs,jo,Ku,Nl,Wu,hs,no,wl,Ol,Ui,Il,ms,Fi,Cl,Ko,Jn,RC,ro,NC,wC,OC,IC,Ll=class{constructor(){b(this,Jn);b(this,Vo);b(this,Vu,new Map);b(this,us,[]);b(this,to,!1);b(this,ps,"default");b(this,Zh,$_(Math.random));b(this,ju,0);b(this,Hi);b(this,Oe);b(this,Rl,new Map);b(this,fs,[]);b(this,jo);b(this,Ku);b(this,Nl,!1);b(this,Wu,!1);b(this,hs);b(this,no);b(this,wl,0);b(this,Ol);b(this,Ui);b(this,Il,!1);b(this,ms);b(this,Fi);b(this,Cl,[]);b(this,Ko);b(this,ro,(e,n,r)=>{var a,s,l;let o=_G({seq:c(this,wl),t:Math.round(performance.now()-c(this,ju)),type:e,sessionId:c(this,ps),documentId:c(this,Zh),editEpoch:bd.current,data:n,ref:r});try{(a=c(this,Vo))==null||a.sendEvent(o),h(this,wl,c(this,wl)+1),(s=c(this,Hi))==null||s.update({connected:!0,events:c(this,wl)}),e===x.ROUTE_CHANGE&&((l=c(this,Oe))==null||l.refilterFlows())}catch{}})}connect(e={}){var f,m,g,T,_,y;if(c(this,to)||typeof window=="undefined"||typeof document=="undefined")return;let n=globalThis.process,r=(f=n==null?void 0:n.env)==null?void 0:f.NODE_ENV;if(uG(r,e.allowInProduction===!0)){globalThis.console.warn("[Reticle] disabled in production (NODE_ENV=production). Gate the import behind import.meta.env.DEV, or pass allowInProduction:true to override.");return}bG();let o=pG((m=e.url)!=null?m:vS(pm)),a=o.url;o.adjusted&&globalThis.console.warn(`[Reticle] bridge URL has no path; using ${a} (the bridge only accepts WebSocket upgrades on ${oa}).`);let s=fG(window.location.hostname,a,e.allowNonLocalhost===!0,e.token,window.location.protocol);if(!s.allowed){globalThis.console.warn(`[Reticle] ${(g=s.reason)!=null?g:"connection blocked"}`);return}e.root!==void 0&&e.root.length>0&&(globalThis[gp]=e.root);let l=(T=e.sdkVersion)!=null?T:globalThis[h_];h(this,Ui,typeof l=="string"&&l.length>0?l:void 0);let d=SG(e,window.location.search),u=EG(d.session,()=>"");h(this,ps,qA(u.length>0?u:void 0,typeof globalThis.sessionStorage=="undefined"?void 0:globalThis.sessionStorage,()=>{var A;return typeof((A=globalThis.crypto)==null?void 0:A.randomUUID)=="function"?`s${globalThis.crypto.randomUUID()}`:`s${Date.now().toString(36)}`})),h(this,Ol,e.token!==void 0&&e.token.length>0?e.token:void 0),h(this,Fi,d.projectId),E(this,Jn,NC).call(this,e.redact),h(this,ju,performance.now()),h(this,Vu,Yv()),h(this,Vo,new _f({url:a,hello:()=>E(this,Jn,wC).call(this),handleCommand:A=>E(this,Jn,OC).call(this,A),onConnected:()=>{var A;h(this,Wu,!0),(A=c(this,Oe))==null||A.sessionStart()},onConnectionLost:()=>{var A;sc(),((A=c(this,Oe))==null?void 0:A.sessionActive)===!0&&c(this,Oe).setState(Me.ENDED,gG)},onUnreachable:({url:A,attempts:v})=>{var O;ar(Af(A,v)),(O=c(this,Oe))==null||O.showUnreachable(A,v)}})),qp(()=>{var A;return(A=c(this,Vo))==null?void 0:A.reannounce()}),aA(e.exposePresenter===!0),uA(e.testIdAttribute),e.networkBodyMaxChars!==void 0&&vR(e.networkBodyMaxChars);let p=c(this,ro);h(this,Il,e.captureNetworkBodies===!0),h(this,ms,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),h(this,us,oN(p,{captureBodies:c(this,Il),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(h(this,Hi,iN()),c(this,Hi).update({connected:!0,events:0})),h(this,jo,BT(window.location.search).hud),e.present!==!1&&En.REMOVED!==c(this,jo)&&E(this,Jn,RC).call(this,e),e.recorder===!0&&(h(this,hs,ON({emit:p,now:()=>Date.now()})),c(this,hs).mount()),((_=e.annotate)!=null?_:e.present!==!1)&&(h(this,no,new Da({emit:p,now:()=>Date.now(),onMark:A=>{var v;return(v=c(this,Oe))==null?void 0:v.log(Fe.HUMAN,`\u{1F6A9} #${String(A.index)} ${A.label}${A.source!==void 0?` \xB7 ${A.source}`:""} \u2014 ${A.note}`)},shouldBlock:()=>{var A,v;return(v=(A=c(this,Ku))==null?void 0:A.call(this).blockPageInteractions)!=null?v:!0}})),c(this,no).mount(),(y=c(this,Oe))==null||y.bindAnnotator(c(this,no))),c(this,Vo).connect(),h(this,to,!0)}get connected(){return c(this,to)}signal(e,n={}){c(this,ro).call(this,x.SIGNAL,{name:e,data:n})}state(e,n){c(this,ro).call(this,x.STATE_CHANGE,{name:e,value:n})}renderCommit(e){e>0&&c(this,ro).call(this,x.RENDER_COMMIT,{commits:e})}describe(e){tc(e)}endSession(){var e;(e=c(this,Oe))==null||e.setState(Me.ENDED)}observeHotUpdates(e){bd.observe(e)}disconnect(){var e,n,r,o,a,s;c(this,to)&&(rN(c(this,ro),c(this,us)),h(this,us,[]),(e=c(this,Vo))==null||e.close(),h(this,Vo,void 0),(n=c(this,Hi))==null||n.destroy(),h(this,Hi,void 0),(r=c(this,Oe))==null||r.sessionEnd(),(o=c(this,Oe))==null||o.destroy(),h(this,Oe,void 0),(a=c(this,hs))==null||a.destroy(),h(this,hs,void 0),(s=c(this,no))==null||s.destroy(),h(this,no,void 0),sc(),h(this,to,!1))}};Vo=new WeakMap,Vu=new WeakMap,us=new WeakMap,to=new WeakMap,ps=new WeakMap,Zh=new WeakMap,ju=new WeakMap,Hi=new WeakMap,Oe=new WeakMap,Rl=new WeakMap,fs=new WeakMap,jo=new WeakMap,Ku=new WeakMap,Nl=new WeakMap,Wu=new WeakMap,hs=new WeakMap,no=new WeakMap,wl=new WeakMap,Ol=new WeakMap,Ui=new WeakMap,Il=new WeakMap,ms=new WeakMap,Fi=new WeakMap,Cl=new WeakMap,Ko=new WeakMap,Jn=new WeakSet,RC=function(e){c(this,Nl)||(h(this,Nl,!0),Promise.resolve().then(()=>(sC(),aC)).then(({Presenter:n})=>Promise.resolve().then(()=>($c(),A0)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,to))return;h(this,Ku,r.getPresenterSettings);let o={};e.pace!==void 0&&(o.paceMs=e.pace),e.narrationDwellMs!==void 0&&(o.narrationDwellMs=e.narrationDwellMs),e.border!==void 0&&(o.border=e.border),e.logMax!==void 0&&(o.logMax=e.logMax),e.endedFadeMs!==void 0&&(o.endedFadeMs=e.endedFadeMs),e.idleEndMs!==void 0&&(o.idleEndMs=e.idleEndMs),o.sessionId=c(this,ps),c(this,Fi)!==void 0&&(o.projectId=c(this,Fi)),o.onControl=s=>c(this,ro).call(this,x.HUMAN_CONTROL,s.text!==void 0?{kind:s.kind,text:s.text}:{kind:s.kind}),o.onHudUse=s=>c(this,ro).call(this,x.HUD_USED,{...s}),o.onKill=()=>{this.disconnect(),ar(mG)};let a=new n(o);h(this,Oe,a),a.mount(),a.showSdkVersion(c(this,Ui));for(let s of c(this,Rl).values())a.handlePush(s);c(this,Rl).clear(),0<c(this,fs).length&&a.sessionStart();for(let s of c(this,fs).splice(0))a.narrate(s.text,s.level,s.actor,s.summary);c(this,jo)!==void 0&&a.placeHud(c(this,jo),void 0),h(this,jo,void 0),Promise.resolve().then(()=>(yC(),AC)).then(s=>{var d;if(!c(this,to))return;let l=s.mountTour({document,storage:s.safeLocalStorage(),projectId:(d=BT(window.location.search).projectId)!=null?d:window.location.origin,isDriving:()=>je.IDLE!==a.mode,search:window.location.search,navigator,copy:u=>{var p,f;return(f=(p=navigator.clipboard)==null?void 0:p.writeText(u).then(()=>!0,()=>!1))!=null?f:!1},select:u=>{let p=window.getSelection();if(p===null)return;let f=document.createRange();f.selectNodeContents(u),p.removeAllRanges(),p.addRange(f)}});l!==void 0&&c(this,us).push(l.destroy)}),c(this,Wu)&&a.sessionStart(),c(this,no)!==void 0&&a.bindAnnotator(c(this,no))}).catch(()=>{}))},ro=new WeakMap,NC=function(e){V_(B_(e,ar)),h(this,Cl,j_(e))},wC=function(){return{kind:Dt.HELLO,protocolVersion:rp,sessionId:c(this,ps),...c(this,Fi)===void 0?{}:{projectId:c(this,Fi)},url:location.href,title:document.title,adapters:_d(),...c(this,Ol)===void 0?{}:{token:c(this,Ol)},hasCapabilities:Zp(),channels:eR(),platform:tR(),commands:nR(),captureBodies:c(this,Il),...c(this,ms)===void 0?{}:{sourceMapping:c(this,ms)},...c(this,Ui)===void 0?{}:{sdkVersion:c(this,Ui)},contract:xg,contractParts:{commands:[...od.commands],events:[...od.events],actions:[...od.actions]},...c(this,Cl).length===0?{}:{redactKeys:c(this,Cl)}}},OC=async function(e){var r,o,a,s,l,d,u,p;if(e.name===L.MARKERS){let f=zA(document),m=c(this,Ui)!==void 0||c(this,ms)!==void 0,g=YA({buildPlugin:m,adapters:_d(),markers:f});return{ok:!0,result:{markers:f,...g.length===0?{}:{notApplicable:g}}}}if(e.name===L.NARRATE)return c(this,Oe)===void 0&&c(this,Nl)?(c(this,fs).length<hG&&c(this,fs).push({text:Sn(e.args.text),level:Sn(e.args.level,"info"),actor:vC(e.args),summary:e.args.summary===!0}),{ok:!0,result:{shown:!1,buffered:!0}}):((r=c(this,Oe))==null||r.sessionStart(),(o=c(this,Oe))==null||o.narrate(Sn(e.args.text),Sn(e.args.level,"info"),vC(e.args),e.args.summary===!0),{ok:!0,result:{shown:c(this,Oe)!==void 0}});if(e.name===L.SESSION_CONFIG){let f=e.args.idleEndMs;typeof f=="number"&&((a=c(this,Oe))==null||a.setIdleEndMs(f));let m=VT(En,e.args.hud),g=VT(Ep,e.args.corner),T=c(this,Oe),_;if(T!==void 0)_=T.placeHud(m,g);else{let y=TG(m);y.remember!==void 0&&h(this,jo,y.remember),_=y.placed}return{ok:!0,result:{applied:c(this,Oe)!==void 0,idleEndMs:f,...0<_.length?{hud:_}:{}}}}if(e.name===L.PRESENTER||e.name===L.FLOWS||e.name===L.FLOW_PROGRESS||e.name===L.PLAN||e.name===L.IMPACT)return c(this,Oe)===void 0?(c(this,Rl).set(e.name,e),{ok:!0,result:{applied:!1,buffered:!0}}):(c(this,Oe).handlePush(e),{ok:!0,result:{applied:!0}});let n=c(this,Vu).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};(s=c(this,Oe))==null||s.sessionStart(),await E(this,Jn,IC).call(this,e),yg(Ql.HARNESS===e.by),Hg((l=e.outward)==null?void 0:l.allowed);try{let f=await n(e.args);return(d=c(this,Ko))==null||d.result(Tn.PASS),{ok:!0,result:f}}catch(f){return(u=c(this,Ko))==null||u.result(Tn.FAIL),{ok:!1,error:f instanceof Error?f.message:String(f)}}finally{yg(!1),Hg(void 0),h(this,Ko,void 0),(p=c(this,Oe))==null||p.scheduleIdle()}},IC=async function(e){let n=c(this,Oe);if(n===void 0)return;n.setMode(aN(e.name)),h(this,Ko,void 0);let r=Ql.HARNESS===e.by?ln.HARNESS:ln.AGENT;if(e.name===L.ACT){let o=Sn(e.args.ref),a=Rf(o);h(this,Ko,n.log(Fe.ACT,`${$d(Sn(e.args.action))} ${a}`,void 0,r)),await n.beforeAct(o,Sn(e.args.action),a)}else if(e.name===L.ACT_SEQUENCE){let o=Array.isArray(e.args.steps)?e.args.steps:[];for(let a of o){let s=a,l=Sn(s.ref),d=Rf(l);h(this,Ko,n.log(Fe.ACT,`${$d(Sn(s.action))} ${d}`,void 0,r)),await n.beforeAct(l,Sn(s.action),d)}}else{let o=sN(e.name,e.args);n.status(o),n.log(Fe.READ,o,void 0,r)}};function vC(t){return Ql.HARNESS===t.actor?ln.HARNESS:ln.AGENT}function VT(t,e){return Object.values(t).includes(e)?e:void 0}var jT=globalThis,CC,Qh=(CC=jT.__reticleInstance)!=null?CC:jT.__reticleInstance=new Ll;H();at();li();Ea();Td();Ea();function DC(t){try{return KT(t,new WeakMap)}catch{return t}}function KT(t,e){if(typeof t!="object"||t===null)return t;let n=e.get(t);if(n!==void 0)return n;if(Array.isArray(t)){let a=[];e.set(t,a);for(let s of t)a.push(KT(s,e));return a}let r=Object.getPrototypeOf(t);if(r!==Object.prototype&&r!==null)return t;let o={};e.set(t,o);for(let[a,s]of Object.entries(t))o[a]=KT(s,e);return o}function MC(t){let e={getState:()=>{var r,o,a;let n={};for(let s of t.getQueryCache().getAll()){let l=s.queryKey.map(d=>String(d)).join("/");n[l]={status:s.state.status,fetchStatus:s.state.fetchStatus,isStale:(r=s.isStale)==null?void 0:r.call(s),dataUpdatedAt:s.state.dataUpdatedAt,error:(a=(o=s.state.error)==null?void 0:o.message)!=null?a:null,data:s.state.data}}return n},subscribe:n=>t.getQueryCache().subscribe(n)};return zp(e,t),e}function $C(t,e){return{getState:()=>{let n={};for(let[r,o]of Object.entries(e))n[r]=t.get(o);return n},subscribe:n=>{let r=Object.values(e).map(o=>t.sub(o,n));return()=>{for(let o of r)o()}}}}function PC(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function HC(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function UC(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var LC={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function xG(t){if(t.state===LC.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==LC.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function FC(t,e,n){return{getState:()=>{let r=e(),o={};for(let[a,s]of Object.entries(t))o[a]=xG(r.getLoadable(s));return o},subscribe:n}}function kC(t){if(typeof t=="function"){t();return}t.unsubscribe()}function GC(t,e=ar){let n=!1;return{getState:()=>{let r,o=!1;return kC(t.subscribe(a=>{r=DC(a),o=!0})),!o&&!n&&(n=!0,e("[reticle] a store passed to svelteStore did not call its subscriber synchronously, so its current value cannot be read. reticle_state will report undefined for it. Svelte stores always call back immediately; an RxJS Observable does not unless it is a BehaviorSubject.")),r},subscribe:r=>{let o=!0,a=t.subscribe(()=>{o||r()});return o=!1,()=>kC(a)}}}var AG={detached:!0,flush:"sync"};function BC(t){return{getState:()=>DC(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...AG})}}function VC(t){let e=t,n=new Set;return{store:{getState:()=>e,subscribe:o=>(n.add(o),()=>n.delete(o))},push:o=>{e=o;for(let a of n)a()}}}ci();function jC(t={}){var n;let e=(n=t.target)!=null?n:Qh;return{signal(r,o={}){e.connected&&e.signal(r,o)},state(r,o){e.connected&&e.state(r,o)}}}function KC(t,e,n,r){let o=e();return t.signal(n,r),o}ci();function WC(t){let e={};t.testids!==void 0&&(e.testids=[...t.testids]),t.signals!==void 0&&(e.signals=[...t.signals]),t.stores!==void 0&&(e.stores=[...t.stores]),tc(e)}Cg();Bt();Rt();XE();PE();return tL(yG);})();
|
|
1781
|
+
if(typeof module==="object"&&module&&module.exports)module.exports=ReticleSdk;
|