@reticlehq/browser 3.4.0 → 3.6.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/actions-dom.js +44 -43
- package/dist/actions/actions-press.d.ts +10 -4
- package/dist/actions/actions-press.js +108 -17
- package/dist/actions/actions.d.ts +2 -1
- package/dist/actions/actions.js +25 -26
- package/dist/actions/danger-context.js +1 -1
- package/dist/commands/commands.js +2 -6
- package/dist/connect-options.d.ts +1 -0
- package/dist/dom/a11y.js +43 -11
- 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/occlusion.js +5 -1
- package/dist/dom/query.d.ts +1 -0
- package/dist/dom/query.js +42 -15
- package/dist/dom/snapshot.js +1 -0
- package/dist/observers/departure.js +51 -9
- package/dist/observers/dom.js +3 -2
- package/dist/observers/field.js +5 -3
- 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 +1 -1
- package/dist/observers/storage.js +6 -1
- package/dist/presenter/carousel/carousel.d.ts +5 -2
- package/dist/presenter/carousel/carousel.js +34 -7
- package/dist/presenter/carousel/offer-card.d.ts +2 -2
- package/dist/presenter/carousel/offer-card.js +2 -1
- package/dist/presenter/carousel/panel-slides.d.ts +4 -3
- package/dist/presenter/carousel/panel-slides.js +43 -6
- 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 +12 -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 +5 -4
- package/dist/presenter/chrome/presenter-log.js +55 -5
- package/dist/presenter/chrome/presenter-report-copy.d.ts +11 -1
- package/dist/presenter/chrome/presenter-report-copy.js +14 -1
- package/dist/presenter/hud-telemetry.js +31 -2
- 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.d.ts +5 -4
- package/dist/presenter/presenter-account.js +23 -10
- package/dist/presenter/presenter-chat-views.d.ts +21 -0
- package/dist/presenter/presenter-chat-views.js +382 -0
- package/dist/presenter/presenter-config.d.ts +3 -2
- package/dist/presenter/presenter-config.js +4 -3
- package/dist/presenter/presenter-controls.d.ts +4 -2
- package/dist/presenter/presenter-controls.js +231 -51
- 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 +189 -0
- package/dist/presenter/presenter-plan.d.ts +10 -0
- package/dist/presenter/presenter-plan.js +185 -0
- package/dist/presenter/presenter-report-styles.js +7 -0
- package/dist/presenter/presenter-report.d.ts +1 -1
- package/dist/presenter/presenter-report.js +53 -16
- package/dist/presenter/presenter-settings-styles.js +10 -0
- package/dist/presenter/presenter-settings.d.ts +5 -0
- package/dist/presenter/presenter-settings.js +71 -11
- package/dist/presenter/presenter-shell-styles.js +39 -42
- package/dist/presenter/presenter-shell.d.ts +8 -1
- package/dist/presenter/presenter-shell.js +124 -72
- package/dist/presenter/presenter-styles.js +9 -1
- package/dist/presenter/presenter.d.ts +4 -3
- package/dist/presenter/presenter.js +101 -13
- 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 +2 -0
- package/dist/reticle-inject.js +880 -513
- package/dist/reticle.d.ts +10 -1
- package/dist/reticle.js +73 -9
- 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 +14 -0
- package/dist/storage-keys.js +17 -0
- package/package.json +3 -2
package/dist/reticle-inject.js
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
"use strict";var ReticleSdk=(()=>{var op=Object.defineProperty;var Zv=Object.getOwnPropertyDescriptor;var Qv=Object.getOwnPropertyNames;var Jv=Object.prototype.hasOwnProperty;var ig=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 Ba=(t,e)=>{for(var n in e)op(t,n,{get:e[n],enumerable:!0})},e0=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Qv(e))!Jv.call(t,i)&&i!==n&&op(t,i,{get:()=>e[i],enumerable:!(r=Zv(e,i))||r.enumerable});return t};var t0=t=>e0(op({},"__esModule",{value:!0}),t);var ip=(t,e,n)=>e.has(t)||ig("Cannot "+n);var c=(t,e,n)=>(ip(t,e,"read from private field"),n?n.call(t):e.get(t)),m=(t,e,n)=>e.has(t)?ig("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),p=(t,e,n,r)=>(ip(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),h=(t,e,n)=>(ip(t,e,"access private method"),n);var sg=(t,e,n,r)=>({set _(i){p(t,e,i,n)},get _(){return c(t,e,r)}});function cg(t){sp=t}function lg(){return sp}function dg(t){ag=t.join(",")}function Le(t){return t.closest(Yi)!==null}function qi(t){return t!==null&&t.closest(Yi)!==null}function mn(t){let n=[sp?"":Yi,n0,ag].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Pl(t){for(let e of Array.from(t.querySelectorAll(r0)))if(e.closest(Yi)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var Yi,n0,ag,sp,r0,et=T(()=>{"use strict";Yi="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",n0="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",ag="",sp=!1;r0='dialog[open], [aria-modal="true"]'});var ug=T(()=>{"use strict"});var J,ap,O,Dn,Ga=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})})(ap||(ap={}));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,o0,vt,$l=T(()=>{Ga();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"]),o0=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 i0,ar,cp=T(()=>{$l();Ga();i0=(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=i0});function s0(t){pg=t}function Xi(){return pg}var pg,Ul=T(()=>{cp();pg=ar});function v(t,e){let n=Xi(),r=ja({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 ja,a0,ze,F,Co,tt,Hl,Fl,Wr,Zi,lp=T(()=>{Ul();cp();ja=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}},a0=[];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"}),Co=t=>({status:"dirty",value:t}),tt=t=>({status:"valid",value:t}),Hl=t=>t.status==="aborted",Fl=t=>t.status==="dirty",Wr=t=>t.status==="valid",Zi=t=>typeof Promise<"u"&&t instanceof Promise});var fg=T(()=>{});var M,hg=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 bg(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 y0(t){return new RegExp(`^${bg(t)}$`)}function Tg(t){let e=`${Eg}T${bg(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 R0(t,e){return!!((e==="v4"||!e)&&E0.test(t)||(e==="v6"||!e)&&T0.test(t))}function v0(t,e){if(!f0.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 N0(t,e){return!!((e==="v4"||!e)&&b0.test(t)||(e==="v6"||!e)&&_0.test(t))}function O0(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 Qi(t){if(t instanceof Nt){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=qt.create(Qi(r))}return new Nt({...t._def,shape:()=>e})}else return t instanceof dr?new dr({...t._def,type:Qi(t.element)}):t instanceof qt?qt.create(Qi(t.unwrap())):t instanceof Pn?Pn.create(Qi(t.unwrap())):t instanceof Mn?Mn.create(t.items.map(e=>Qi(e))):t}function up(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=up(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=up(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 _g(t,e){return new Bo({values:t,typeName:B.ZodEnum,...K(e)})}function gg(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function Sg(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=gg(e,r),d=l.fatal??n??!0;i.addIssue({code:"custom",...l,fatal:d})}});if(!s){let a=gg(e,r),l=a.fatal??n??!0;i.addIssue({code:"custom",...a,fatal:l})}}):Yr.create()}var Xt,mg,q,c0,l0,d0,u0,p0,f0,h0,m0,g0,dp,E0,b0,T0,_0,S0,x0,Eg,A0,zr,Io,Lo,ko,Do,Ji,Mo,Po,Yr,lr,gn,es,dr,Nt,$o,cr,Bl,Uo,Mn,Gl,ts,ns,jl,Ho,Fo,Bo,Go,qr,Zt,qt,Pn,jo,Vo,rs,w0,Va,Ka,Ko,C0,B,I0,xg,Ag,L0,k0,yg,D0,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,Rg=T(()=>{$l();Ul();hg();lp();Ga();Xt=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}},mg=(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(Zi(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 mg(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(Zi(i)?i:Promise.resolve(i));return mg(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 Zt({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 qt.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 $o.create([this,e],this._def)}and(e){return Uo.create(this,e,this._def)}transform(e){return new Zt({...K(this._def),schema:this,typeName:B.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new jo({...K(this._def),innerType:this,defaultValue:n,typeName:B.ZodDefault})}brand(){return new Va({typeName:B.ZodBranded,type:this,...K(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new Vo({...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 Ka.create(this,e)}readonly(){return Ko.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},c0=/^c[^\s-]{8,}$/i,l0=/^[0-9a-z]+$/,d0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,u0=/^[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,p0=/^[a-z0-9_-]{21}$/i,f0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,h0=/^[-+]?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)?)??$/,m0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,g0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",E0=/^(?:(?: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])$/,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])\/(3[0-2]|[12]?[0-9])$/,T0=/^(([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]))$/,_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]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,S0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,x0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Eg="((\\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])))",A0=new RegExp(`^${Eg}$`);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")m0.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")dp||(dp=new RegExp(g0,"u")),dp.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")u0.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")p0.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")c0.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")l0.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")d0.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"?Tg(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"?A0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?y0(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"?h0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"duration",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?R0(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"?v0(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"?N0(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"?S0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"base64",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?x0.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)});Io=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"?O0(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)}};Io.create=t=>new Io({checks:[],typeName:B.ZodNumber,coerce:t?.coerce||!1,...K(t)});Lo=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}};Lo.create=t=>new Lo({checks:[],typeName:B.ZodBigInt,coerce:t?.coerce??!1,...K(t)});ko=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)}};ko.create=t=>new ko({typeName:B.ZodBoolean,coerce:t?.coerce||!1,...K(t)});Do=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}};Do.create=t=>new Do({checks:[],coerce:t?.coerce||!1,typeName:B.ZodDate,...K(t)});Ji=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)}};Ji.create=t=>new Ji({typeName:B.ZodSymbol,...K(t)});Mo=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)}};Mo.create=t=>new Mo({typeName:B.ZodUndefined,...K(t)});Po=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)}};Po.create=t=>new Po({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)});gn=class extends q{_parse(e){let n=this._getOrReturnCtx(e);return v(n,{code:x.invalid_type,expected:O.never,received:n.parsedType}),F}};gn.create=t=>new gn({typeName:B.ZodNever,...K(t)});es=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)}};es.create=t=>new es({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 Xt(n,a,n.path,l)))).then(a=>ze.mergeArray(r,a));let s=[...n.data].map((a,l)=>i.type._parseSync(new Xt(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 gn&&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],E=i.data[u];d.push({key:{status:"valid",value:u},value:f._parse(new Xt(i,E,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof gn){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 E=i.data[f];d.push({key:{status:"valid",value:f},value:u._parse(new Xt(i,E,i.path,f)),alwaysSet:f in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let f of d){let E=await f.key,g=await f.value;u.push({key:E,value:g,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 Qi(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 qt;)s=s._def.innerType;n[r]=s}return new t({...this._def,shape:()=>n})}keyof(){return _g(J.objectKeys(this.shape))}};Nt.create=(t,e)=>new Nt({shape:()=>t,unknownKeys:"strip",catchall:gn.create(),typeName:B.ZodObject,...K(e)});Nt.strictCreate=(t,e)=>new Nt({shape:()=>t,unknownKeys:"strict",catchall:gn.create(),typeName:B.ZodObject,...K(e)});Nt.lazycreate=(t,e)=>new Nt({shape:t,unknownKeys:"strip",catchall:gn.create(),typeName:B.ZodObject,...K(e)});$o=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}};$o.create=(t,e)=>new $o({options:t,typeName:B.ZodUnion,...K(e)});cr=t=>t instanceof Ho?cr(t.schema):t instanceof Zt?cr(t.innerType()):t instanceof Fo?[t.value]:t instanceof Bo?t.options:t instanceof Go?J.objectValues(t.enum):t instanceof jo?cr(t._def.innerType):t instanceof Mo?[void 0]:t instanceof Po?[null]:t instanceof qt?[void 0,...cr(t.unwrap())]:t instanceof Pn?[null,...cr(t.unwrap())]:t instanceof Va||t instanceof Ko?cr(t.unwrap()):t instanceof Vo?cr(t._def.innerType):[],Bl=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)})}};Uo=class extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=(s,a)=>{if(Hl(s)||Hl(a))return F;let l=up(s.value,a.value);return l.valid?((Fl(s)||Fl(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}))}};Uo.create=(t,e,n)=>new Uo({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 Xt(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)})};Gl=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 Xt(r,l,r.path,l)),value:a._parse(new Xt(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)})}},ts=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 Xt(r,l,r.path,[u,"key"])),value:s._parse(new Xt(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}}}};ts.create=(t,e,n)=>new ts({valueType:e,keyType:t,typeName:B.ZodMap,...K(n)});ns=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 Xt(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)}};ns.create=(t,e)=>new ns({valueType:t,minSize:null,maxSize:null,typeName:B.ZodSet,...K(e)});jl=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 ja({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Xi(),ar].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:d}})}function i(l,d){return ja({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Xi(),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}),E=await Reflect.apply(a,this,f);return await l._def.returns._def.type.parseAsync(E,s).catch(_=>{throw u.addIssue(i(E,_)),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),E=l._def.returns.safeParse(f,s);if(!E.success)throw new vt([i(f,E.error)]);return E.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)})}},Ho=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})}};Ho.create=(t,e)=>new Ho({getter:t,typeName:B.ZodLazy,...K(e)});Fo=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}};Fo.create=(t,e)=>new Fo({value:t,typeName:B.ZodLiteral,...K(e)});Bo=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})}};Bo.create=_g;Go=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}};Go.create=(t,e)=>new Go({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)});Zt=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"?Co(d.value):n.value==="dirty"?Co(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"?Co(l.value):n.value==="dirty"?Co(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)}};Zt.create=(t,e,n)=>new Zt({schema:t,typeName:B.ZodEffects,effect:e,...K(n)});Zt.createWithPreprocess=(t,e,n)=>new Zt({schema:e,effect:{type:"preprocess",transform:t},typeName:B.ZodEffects,...K(n)});qt=class extends q{_parse(e){return this._getType(e)===O.undefined?tt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};qt.create=(t,e)=>new qt({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)});jo=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}};jo.create=(t,e)=>new jo({innerType:t,typeName:B.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...K(e)});Vo=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 Zi(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}};Vo.create=(t,e)=>new Vo({innerType:t,typeName:B.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...K(e)});rs=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}}};rs.create=t=>new rs({typeName:B.ZodNaN,...K(t)});w0=Symbol("zod_brand"),Va=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}},Ka=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(),Co(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})}},Ko=class extends q{_parse(e){let n=this._def.innerType._parse(e),r=i=>(Wr(i)&&(i.value=Object.freeze(i.value)),i);return Zi(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}};Ko.create=(t,e)=>new Ko({innerType:t,typeName:B.ZodReadonly,...K(e)});C0={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={}));I0=(t,e={message:`Input not instance of ${t.name}`})=>Sg(n=>n instanceof t,e),xg=zr.create,Ag=Io.create,L0=rs.create,k0=Lo.create,yg=ko.create,D0=Do.create,M0=Ji.create,P0=Mo.create,$0=Po.create,U0=Yr.create,H0=lr.create,F0=gn.create,B0=es.create,G0=dr.create,j0=Nt.create,V0=Nt.strictCreate,K0=$o.create,W0=Bl.create,z0=Uo.create,Y0=Mn.create,q0=Gl.create,X0=ts.create,Z0=ns.create,Q0=jl.create,J0=Ho.create,eN=Fo.create,tN=Bo.create,nN=Go.create,rN=qr.create,oN=Zt.create,iN=qt.create,sN=Pn.create,aN=Zt.createWithPreprocess,cN=Ka.create,lN=()=>xg().optional(),dN=()=>Ag().optional(),uN=()=>yg().optional(),pN={string:(t=>zr.create({...t,coerce:!0})),number:(t=>Io.create({...t,coerce:!0})),boolean:(t=>ko.create({...t,coerce:!0})),bigint:(t=>Lo.create({...t,coerce:!0})),date:(t=>Do.create({...t,coerce:!0}))},fN=F});var o={};Ba(o,{BRAND:()=>w0,DIRTY:()=>Co,EMPTY_PATH:()=>a0,INVALID:()=>F,NEVER:()=>fN,OK:()=>tt,ParseStatus:()=>ze,Schema:()=>q,ZodAny:()=>Yr,ZodArray:()=>dr,ZodBigInt:()=>Lo,ZodBoolean:()=>ko,ZodBranded:()=>Va,ZodCatch:()=>Vo,ZodDate:()=>Do,ZodDefault:()=>jo,ZodDiscriminatedUnion:()=>Bl,ZodEffects:()=>Zt,ZodEnum:()=>Bo,ZodError:()=>vt,ZodFirstPartyTypeKind:()=>B,ZodFunction:()=>jl,ZodIntersection:()=>Uo,ZodIssueCode:()=>x,ZodLazy:()=>Ho,ZodLiteral:()=>Fo,ZodMap:()=>ts,ZodNaN:()=>rs,ZodNativeEnum:()=>Go,ZodNever:()=>gn,ZodNull:()=>Po,ZodNullable:()=>Pn,ZodNumber:()=>Io,ZodObject:()=>Nt,ZodOptional:()=>qt,ZodParsedType:()=>O,ZodPipeline:()=>Ka,ZodPromise:()=>qr,ZodReadonly:()=>Ko,ZodRecord:()=>Gl,ZodSchema:()=>q,ZodSet:()=>ns,ZodString:()=>zr,ZodSymbol:()=>Ji,ZodTransformer:()=>Zt,ZodTuple:()=>Mn,ZodType:()=>q,ZodUndefined:()=>Mo,ZodUnion:()=>$o,ZodUnknown:()=>lr,ZodVoid:()=>es,addIssueToContext:()=>v,any:()=>U0,array:()=>G0,bigint:()=>k0,boolean:()=>yg,coerce:()=>pN,custom:()=>Sg,date:()=>D0,datetimeRegex:()=>Tg,defaultErrorMap:()=>ar,discriminatedUnion:()=>W0,effect:()=>oN,enum:()=>tN,function:()=>Q0,getErrorMap:()=>Xi,getParsedType:()=>Dn,instanceof:()=>I0,intersection:()=>z0,isAborted:()=>Hl,isAsync:()=>Zi,isDirty:()=>Fl,isValid:()=>Wr,late:()=>C0,lazy:()=>J0,literal:()=>eN,makeIssue:()=>ja,map:()=>X0,nan:()=>L0,nativeEnum:()=>nN,never:()=>F0,null:()=>$0,nullable:()=>sN,number:()=>Ag,object:()=>j0,objectUtil:()=>ap,oboolean:()=>uN,onumber:()=>dN,optional:()=>iN,ostring:()=>lN,pipeline:()=>cN,preprocess:()=>aN,promise:()=>rN,quotelessJson:()=>o0,record:()=>q0,set:()=>Z0,setErrorMap:()=>s0,strictObject:()=>V0,string:()=>xg,symbol:()=>M0,transformer:()=>oN,tuple:()=>Y0,undefined:()=>P0,union:()=>K0,unknown:()=>H0,util:()=>J,void:()=>B0});var pp=T(()=>{Ul();lp();fg();Ga();Rg();$l()});var ne=T(()=>{pp();pp()});var os,fp=T(()=>{"use strict";os={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var Vl,hp,y,q5,hN,X5,ur=T(()=>{"use strict";Vl={SIGNAL:"signal",NET:"net",STATE:"state"},hp={ELEMENT:"element",TEXT:"text"},y={ELEMENT:hp.ELEMENT,TEXT:hp.TEXT,SIGNAL:Vl.SIGNAL,NET:Vl.NET,STATE:Vl.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},q5=new Set(Object.values(Vl)),hN=new Set(Object.values(hp)),X5=new Set([...hN,y.ROUTE])});var vg,Ng,Og,mp,mN,wg,Qt,Cg,Ae,ut,Kl,Wa=T(()=>{"use strict";vg=1,Ng={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},Og={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},mp=2,mN=3,wg=new Set([1,mp,mN]),Qt={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},Cg="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"},Kl={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var Ig,gp=T(()=>{"use strict";Ig={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var b,Lg=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 Dg(t=Ep,e=gN){return`ws://${e}:${String(t)}${Wl}`}var Ep,Wl,zl,kg,gN,pr,t2,H,ye,Wo,Mg,is,n2,Pg,o2,Yl,ql,$g,ss,Xl,EN,i2,R,Ug,Hg,oe,pt,C,Me,as,ft,Ot=T(()=>{"use strict";Lg();Ep=4400,Wl="/reticle",zl=1,kg=1,gN="localhost";pr={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened"},t2={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]",Wo="confirmDangerous",Mg="native",is={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"},n2=1440*60*1e3,Pg=1,o2={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:H.MAX_BUFFER_BYTES},Yl="__reticle_renders",ql={DOM:"dom",JOURNAL:"journal"},$g={WINDOW:"window"},ss={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},Xl={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"},EN="console.",i2=[b.CONSOLE_LOG,b.CONSOLE_WARN,b.CONSOLE_ERROR,b.CONSOLE_INFO].map(t=>t.slice(EN.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",WEBMCP:"webmcp"},Ug={TIMEOUT:"timeout",THROTTLED:"throttled"},Hg={UNAVAILABLE:"component-state-unavailable"},oe={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"},as={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},ft={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var Jt,bN,en,c2,zo=T(()=>{"use strict";ne();Jt={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},bN=o.union([o.nativeEnum(Jt),o.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),en=o.object({surface:bN,instance:o.string().min(1),epoch:o.number().int().nonnegative().optional(),locator:o.string().optional(),revision:o.string().optional()}),c2=o.object({kind:o.enum(["instance","epoch"]),from:o.string(),to:o.string()})});var A,Dt,wt,ht,bp,Tp,En=T(()=>{"use strict";ne();A={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},Dt=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"},bp=o.object({id:Dt,independence:o.nativeEnum(wt),grade:o.nativeEnum(ht),note:o.string().optional()}),Tp={[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 Fg=T(()=>{"use strict"});var m2,Bg=T(()=>{"use strict";ne();zo();m2=o.object({id:o.string().min(1),subject:en,capturedAt:o.number().int(),payload:o.unknown().optional()})});var b2,Gg=T(()=>{"use strict";ne();b2=o.object({mutation:o.string().min(1)})});var TN,_p,_N,SN,jg,Vg,Sp,Kg,Wg,za=T(()=>{"use strict";ne();En();TN={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},_p={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},_N=o.object({id:o.string().min(1),statement:o.string().min(1),origin:o.nativeEnum(TN),claims:o.array(o.string()).default([]),declaredAt:o.number().int().optional()}),SN=o.discriminatedUnion("status",[o.object({status:o.literal(_p.ABANDONED),abandonedBecause:o.string().trim().min(1)}),o.object({status:o.literal(_p.DECLARED),abandonedBecause:o.undefined().optional()}),o.object({status:o.literal(_p.BOUND),abandonedBecause:o.undefined().optional()})]),jg=_N.and(SN),Vg={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},Sp=o.object({id:o.string().min(1),predicate:o.unknown(),reads:o.string().min(1),channels:o.array(Dt).min(1)}),Kg=o.object({id:o.string().min(1),intent:o.string().optional(),statement:o.string().min(1),declaredAt:o.nativeEnum(Vg),assertions:o.array(Sp).default([])}),Wg=o.object({id:o.string().min(1),statement:o.string().min(1),predicate:o.unknown(),channels:o.array(Dt).min(1),severity:o.enum(["blocking","advisory"]).default("blocking")})});var xN,cs,v2,xp,zg,Yg,AN,qg,Xr=T(()=>{"use strict";ne();En();zo();xN=o.object({id:o.string().min(1),window:o.string().min(1),channel:Dt,at:o.number().int(),value:o.unknown(),summary:o.string().min(1)}),cs={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},v2={[cs.LEARNED]:0,[cs.OBSERVED]:1,[cs.DERIVED]:2,[cs.AUTHORITATIVE]:3},xp=o.object({class:o.nativeEnum(cs),source:o.string().min(1),method:o.string().min(1),subject:en,at:o.number().int(),confidence:o.number().min(0).max(1).optional()}),zg=o.object({observation:xN,provenance:xp,independence:o.nativeEnum(wt),grade:o.nativeEnum(ht)}),Yg={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},AN=o.object({kind:o.nativeEnum(Yg),channel:Dt.optional(),detail:o.string().min(1),impeaching:o.boolean(),remedy:o.string().optional()}),qg=o.object({window:o.string().min(1),observed:o.array(Dt),blindSpots:o.array(AN)})});var RN,vN,Zl,NN,Ql,Ap,I2,Xg=T(()=>{"use strict";ne();En();Xr();RN=o.object({channel:Dt}),vN=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()})]),Zl=RN.and(vN),NN={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},Ql={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},Ap={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},I2=o.discriminatedUnion("kind",[o.object({kind:o.literal(Ql.COUNT),match:Zl,op:o.nativeEnum(NN),value:o.number().int().nonnegative()}),o.object({kind:o.literal(Ql.PRESENT),match:Zl}),o.object({kind:o.literal(Ql.ABSENT),match:Zl}),o.object({kind:o.literal(Ql.MEASURE),match:Zl,op:o.nativeEnum(Ap),value:o.number().finite(),tolerance:o.number().nonnegative().finite().default(0)})])});var M2,yp,P2,Jl,Zg,Ya,Qg,$2,Yo=T(()=>{"use strict";ne();zo();M2=o.object({name:o.string().min(1),meaning:o.string().min(1),parameters:o.unknown().optional(),mutating:o.boolean()}),yp={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},P2=o.object({ref:o.string().min(1),describes:o.string().min(1),at:o.string().optional()}),Jl=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()}),Zg=o.object({action:o.string().min(1),dispatched:o.boolean(),refused:o.object({reason:o.nativeEnum(yp),detail:o.string().min(1)}).optional(),subject:en,at:o.number().int()}),Ya={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},Qg=o.object({id:o.string().min(1),openedAt:o.number().int(),closedAt:o.number().int().optional(),budgetMs:o.number().int().positive(),closes:o.nativeEnum(Ya),closedBy:o.nativeEnum(Ya).optional(),subject:en}),$2=new Set([Ya.BUDGET_EXHAUSTED,Ya.TERMINATED])});var ed,ON,Jg,wN,Rp,vp,eE,ls=T(()=>{"use strict";ne();En();ed={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},ON=o.string().min(1),Jg={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"},wN=o.union([o.nativeEnum(Jg),o.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),Rp={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},vp=o.object({kind:wN,tier:o.nativeEnum(Rp),claim:o.string().min(1),counter:o.string().min(1),between:o.tuple([Dt,Dt]),evidence:o.array(o.string()).default([])}),eE=o.object({id:o.string().min(1),claim:o.string().min(1),window:o.string().min(1),verdict:o.nativeEnum(ed),grade:o.nativeEnum(ht).optional(),reasons:o.array(ON).default([]),evidence:o.array(o.string()).default([]),anomalies:o.array(vp).default([]),supersedes:o.string().optional(),at:o.number().int()})});var CN,IN,LN,z2,tE,kN,Y2,Np=T(()=>{"use strict";ne();Yo();za();Xr();ls();CN=o.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),IN=o.object({id:o.string().min(1),invoke:CN,with:o.unknown().optional(),at:o.number().int()}),LN=o.union([Jl,IN]),z2=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(LN),expects:o.array(Sp).default([]),mayRebind:o.boolean().default(!1)}),tE=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)}),kN={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},Y2=o.object({id:o.string().min(1),kind:o.nativeEnum(kN),statement:o.string().min(1),provenance:xp,observations:o.number().int().nonnegative().default(0),promotedBy:o.string().optional(),promotedAt:o.number().int().optional()})});var DN,MN,oM,nE=T(()=>{"use strict";ne();En();za();Yo();Xr();ls();Np();zo();DN="1.0",MN=o.object({constraint:o.string().min(1),at:o.number().int(),detail:o.string().min(1),evidence:o.array(o.string()).default([])}),oM=o.object({ovp:o.literal(DN),id:o.string().min(1),verifier:o.object({name:o.string().min(1),version:o.string().min(1),profile:o.string().optional()}),subject:en,channels:o.array(bp),witnesses:o.array(o.object({name:o.string().min(1),subject:en,channels:o.array(bp)})).default([]),intents:o.array(jg).default([]),claims:o.array(Kg).default([]),constraints:o.array(Wg).default([]),actions:o.array(Jl).default([]),receipts:o.array(Zg).default([]),windows:o.array(Qg).default([]),evidence:o.array(zg).default([]),coverage:o.array(qg).default([]),anomalies:o.array(vp).default([]),verdicts:o.array(eE).default([]),violations:o.array(MN).default([]),repairs:o.array(tE).default([]),startedAt:o.number().int(),endedAt:o.number().int()})});var Op=T(()=>{"use strict";ls()});var wp=T(()=>{"use strict";za();En();Xr();Yo();ls()});var Cp=T(()=>{"use strict";Yo();En();Op();Xr();wp()});var Ip=T(()=>{"use strict"});var rE=T(()=>{"use strict";Ip()});var qo,wM,CM,IM,oE=T(()=>{"use strict";ne();En();qo={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},wM=[qo.EFFECT,qo.IN_REALM,qo.SURFACE],CM={[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]},IM=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 iE=T(()=>{"use strict";Cp();En();Yo();Xr();zo()});var qa=T(()=>{"use strict";zo();En();Fg();Bg();Gg();za();Xg();Yo();Xr();ls();Np();nE();Cp();Op();Ip();rE();wp();oE();iE()});var ds,$e,sE,mt,Xo=T(()=>{"use strict";ds={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"},sE={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 UN,HN,FN,BN,GN,jN,VN,KN,td,WN,zN,YN,qN,XN,ZN,QN,JN,eO,tO,pP,nO,rO,oO,iO,sO,aO,cO,lO,dO,fP,Lp=T(()=>{"use strict";ne();qa();ur();Xo();UN=3,HN=1,FN=2,BN={pass:ds.YES,fail:ds.NO},GN={network:y.NET,layout:y.ELEMENT},jN=o.string().brand(),VN={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},KN={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},td={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},WN={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},zN={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},YN={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},qN={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},XN={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},ZN={PREVIEW:"preview",CI:"ci",LOCAL:"local"},QN={HIGH:"high",MEDIUM:"medium",LOW:"low"},JN={DEV:"dev",PROD_PREVIEW:"prod-preview"},eO=o.object({file:o.string(),line:o.number().optional(),component:o.string().optional()}),tO=o.object({path:o.string(),changeKind:o.nativeEnum(YN),risk:o.array(o.nativeEnum(td)).default([])}),pP=64*1024,nO=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()}),rO=o.object({startPath:o.string().optional(),steps:o.array(o.unknown())}),oO=o.object({name:o.string(),status:o.nativeEnum(KN),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(nO).optional(),recording:rO.optional(),recordingOmitted:o.boolean().optional()}),iO=o.object({kind:o.preprocess(t=>typeof t=="string"?GN[t]??t:t,o.nativeEnum(y).optional()),predicate:o.string(),status:o.preprocess(t=>typeof t=="string"?BN[t]??t:t,o.nativeEnum(ds)),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()}),sO=o.object({surface:o.nativeEnum(td),severity:o.nativeEnum(WN),detail:o.string(),evidence:o.object({file:o.string().optional(),line:o.number().optional(),network:o.string().optional()}).optional(),gated:o.boolean().default(!1)}),aO=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([])}),cO=o.object({flow:o.string().optional(),step:o.number().optional(),expected:o.string(),actual:o.string(),sourceLocation:eO.optional(),suggestedPrompt:o.string()}),lO=o.object({status:o.nativeEnum(VN),reasons:o.array(o.string()).default([]),confidence:o.nativeEnum(QN),blockingRisks:o.number().default(0),checkId:o.string().optional(),supersedes:o.string().optional()}),dO=o.object({alg:o.string(),value:o.string(),signedAt:o.number()}),fP=o.object({schemaVersion:o.union([o.literal(UN),o.literal(FN),o.literal(HN)]),runId:jN,createdAt:o.number(),durationMs:o.number(),profile:o.nativeEnum(JN),project:o.object({name:o.string(),framework:o.nativeEnum(XN),commit:o.string().optional(),env:o.nativeEnum(ZN).optional(),previewUrl:o.string().optional()}),agent:o.object({id:o.string(),kind:o.nativeEnum(qN),model:o.string().optional()}),trigger:o.object({kind:o.nativeEnum(zN),diffRef:o.string().optional(),note:o.string().optional()}),editEpoch:o.number().optional(),subject:en.optional(),changedFiles:o.array(tO).default([]),flows:o.array(oO).default([]),checks:o.array(iO).default([]),risks:o.array(sO).default([]),evidence:aO,repair:o.object({failurePackets:o.array(cO).default([])}).optional(),verdict:lO,signature:dO.optional()})});var uO,nd,pO,fO,hO,mO,_P,gO,EO,bO,SP,xP,kp=T(()=>{"use strict";ne();Ot();Wa();Lp();uO=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\`.`}))),nd=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:uO.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(),pO=o.object({name:o.string(),steps:o.array(o.string())}),fO=o.object({surface:o.nativeEnum(td),paths:o.array(o.string()).optional(),note:o.string().optional()}),hO=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(fO).optional()}),mO=o.object({testids:o.array(o.string()),signals:o.array(o.string()),stores:o.array(o.string()),flows:o.array(pO),governance:hO.optional()}),_P=o.object({version:o.literal(Pg),generatedAt:o.number(),capabilities:mO}),gO=o.object({consoleErrors:o.number().optional(),networkErrors:o.number().optional(),driftSteps:o.number().optional()}),EO=o.object({kind:o.nativeEnum(Ng),name:o.string(),status:o.nativeEnum(Og),at:o.number(),summary:o.string().optional(),evidence:gO.optional(),durationMs:o.number().optional()}),bO=o.object({flows:o.array(o.string()).optional(),routes:o.array(o.string()).optional(),bestObservability:o.object({percent:o.number(),at:o.number()}).optional()}),SP=o.object({version:o.literal(vg),learned:bO.optional(),runs:o.array(EO)}),xP=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 cE(t,e){let n=aE(t),r=aE(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(s=>n[s]===r[s])}function aE(t){return y.NET===t.from?{...t,body:t.body??Mp.RESPONSE,method:t.method?.toUpperCase()}:{...t}}var Mp,rd,Dp,Pp,$p=T(()=>{"use strict";ne();ur();Mp={RESPONSE:"response",REQUEST:"request"},rd={VALUE:"value",NUMBER:"number"},Dp=o.string().min(1),Pp=o.discriminatedUnion("from",[o.object({from:o.literal(y.NET),urlContains:o.string().min(1),method:o.string().optional(),body:o.enum([Mp.RESPONSE,Mp.REQUEST]).optional(),path:Dp}).strict(),o.object({from:o.literal(y.SIGNAL),name:o.string().min(1),path:Dp}).strict(),o.object({from:o.literal(y.STATE),store:o.string().optional(),path:Dp}).strict(),o.object({from:o.literal(y.TEXT),scope:o.string().min(1)}).strict()])});var lE,Up,Hp=T(()=>{"use strict";ne();qa();lE=o.object({op:o.nativeEnum(Ap),value:o.number().finite(),tolerance:o.number().finite().nonnegative().optional()}).strict(),Up=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:lE.optional()}).strict(),o.object({property:o.literal("decreased"),by:lE.optional()}).strict()])});function SO(t){if(t.kind!==void 0||typeof t[Fp]!="string")return t;let e={...t,kind:t[Fp]};return delete e[Fp],e}function xO(t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let n=SO(t),r=typeof n.kind=="string"?n.kind:"",i=TO[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?AO(s):s}function AO(t){let e=_O.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 yO(){return o.discriminatedUnion("kind",[o.object({kind:o.literal(y.ELEMENT),query:nd,state:o.nativeEnum(oe).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:Up.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:Up.optional()}).strict(),o.object({kind:o.literal(y.SETTLED),quietMs:o.number().positive().optional()}).strict(),o.object({kind:o.literal(y.COMPARE),left:Pp,right:Pp,as:o.enum([rd.VALUE,rd.NUMBER]).optional(),tolerance:o.number().finite().nonnegative().optional()}).strict(),o.object({kind:o.literal(y.ALL_OF),predicates:o.array(Xa).min(1)}).strict(),o.object({kind:o.literal(y.ANY_OF),predicates:o.array(Xa).min(1)}).strict(),o.object({kind:o.literal(y.NOT),predicate:Xa}).strict()])}function RO(t,e){if(typeof t!="object"||t===null)return;let n=t;if(y.COMPARE===n.kind){vO(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 vO(t,e){cE(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&&rd.NUMBER!==t.as&&e.addIssue({code:o.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var TO,Fp,_O,Xa,Bp=T(()=>{"use strict";ne();kp();Ot();$p();ur();Hp();TO={[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"}},Fp="type",_O=["by","value","role","name","text","label","placeholder","testid","alt","component"];Xa=o.lazy(()=>o.preprocess(xO,yO()).superRefine(RO))});function dE(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 od(t){let e=(n,r)=>r!==void 0&&NO.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=od(n);if(r!==void 0)return r}return;case y.NOT:return od(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 NO,Gp=T(()=>{"use strict";ur();NO=/^e\d+$/});function pE(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 uE,jp=T(()=>{"use strict";ne();ur();uE=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 hE,OO,Vp,fE,wO,mE,CO,ZP,gE=T(()=>{"use strict";ne();Wa();gp();Ot();Bp();Gp();jp();Wa();hE=o.discriminatedUnion("kind",[o.object({kind:o.literal(Qt.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(Qt.ROLE),role:o.string().min(1),name:o.string().optional()}),o.object({kind:o.literal(Qt.SIGNAL),name:o.string().min(1)}),o.object({kind:o.literal(Qt.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()})]),OO=Xa.superRefine((t,e)=>{let n=od(t);n!==void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:dE(n)})}),Vp=o.union([OO,uE.transform(t=>pE(t))]),fE=o.array(Vp).transform(t=>t.filter(e=>e!==void 0)),wO=o.object({tool:o.string(),anchor:hE,source:o.object({file:o.string().min(1),line:o.number().int().positive().optional()}).optional(),id:o.string().min(1).optional(),effect:o.nativeEnum(Ig).optional(),healed:o.object({from:o.string(),at:o.number()}).optional(),action:o.nativeEnum(R).optional(),args:o.record(o.unknown()).optional(),expect:Vp.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()}),mE=wO.extend({steps:o.lazy(()=>o.array(mE).optional())}),CO=o.object({version:o.number().int().refine(t=>wg.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:fE.optional(),ensures:fE.optional(),author:o.object({agent:o.string().min(1).optional(),person:o.string().min(1).optional()}).optional(),createdAt:o.number(),steps:o.array(mE),signalTimeoutMs:o.number().int().positive().optional(),success:Vp.optional(),dynamic:o.array(hE).optional(),labels:o.array(o.string().min(1)).optional(),needs:o.array(o.string().min(1)).optional(),status:o.enum([Kl.ACTIVE,Kl.QUARANTINED,Kl.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()}),ZP=o.object({name:o.string(),flow:CO})});var EE=T(()=>{"use strict"});var bE=T(()=>{"use strict"});var TE=T(()=>{"use strict"});var id,sd,_E,SE=T(()=>{"use strict";id="data-reticle-source",sd="__RETICLE_ROOT__",_E="__RETICLE_SDK_VERSION__"});var xE,AE=T(()=>{"use strict";Ot();xE=new Set([b.DOM_TEXT,b.ANIM_START,b.ANIM_END,b.RENDER_COMMIT,b.PAGE_HEALTH,b.SCROLL_POSITION])});function Kp(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:IO}function DO(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function yE(t){return DO(t)?!0:kO.has(Kp(t).toLowerCase())}var IO,LO,kO,RE=T(()=>{"use strict";IO="Enter",LO=["Escape","Tab"],kO=new Set(LO.map(t=>t.toLowerCase()))});var Ye,a$,vE=T(()=>{"use strict";Xo();Ye={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},a$={[$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,MO,PO,$O,d$,NE=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"},MO=120,PO=200,$O=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(MO).optional(),ok:o.boolean().optional(),at:o.number().int().nonnegative()}),d$=o.object({runId:o.string().min(1).max(200),events:o.array($O).max(PO)})});function OE(t){return t===Re.ACTIVE||t===Re.PAUSED||t===Re.ENDED}var Re,Za,$n,Qo,wE,CE,us,Wp=T(()=>{"use strict";Re={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};Za="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"},wE={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},CE={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},us={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var Zr,Qr,Qa,zp=T(()=>{"use strict";Zr={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},Qr={CHAT:"chat",SETTINGS:"settings",REPORT:"report",NONE:"none"},Qa={ON:"on",OFF:"off"}});var ps,LE,kE,IE,h$,DE=T(()=>{"use strict";ps="https://calendar.app.google/h9NRDbBBQetyTzWM6",LE="hey@reticle.sh",kE="mailto:hey@reticle.sh?subject=Reticle%20feedback",IE="npx @reticlehq/server identify --context company --email you@company.com",h$={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${ps} \xB7 or leave your email: ${IE}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${ps}) or the email command (${IE}). Offer it; never book a call or submit an email for them.`}});function ME(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*Yp.length);e+=Yp[Math.min(Math.max(r,0),Yp.length-1)]}return e}var Yp,PE=T(()=>{"use strict";Yp="0123456789abcdefghijklmnopqrstuvwxyz"});var $E=T(()=>{"use strict"});var bn,qp,Ja,UO,b$,UE,ad,HE,Xp,cd,ld=T(()=>{"use strict";bn={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},qp="ipc://",Ja={OK:200,ERROR:500},UO={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"},b$=Object.values(UO),UE="urlRaw",ad="requestShape",HE="none",Xp="Next-Action",cd="nextAction"});function Zp(t){return HO.test(t)}function FE(t){let e=new Set;for(let n of t??[]){let r=n.trim().toLowerCase();r.length>0&&e.add(r)}return e}function BE(t,e){let n=FE(t?.keys?.filter(a=>typeof a=="string")),r=(t?.keys??[]).filter(a=>a instanceof RegExp),i=FE(t?.allow),s=[...i].filter(a=>Zp(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:Zp(a)}}}function GE(t){Qp=t}function He(t){return Qp===void 0?Zp(t):Qp.isSensitiveKey(t)}function GO(t){return new TextEncoder().encode(t).byteLength}function jO(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(GO(l))} bytes\u2026>`}function dd(t,e=He){let n=jO(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,E=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);E!==null&&(f=`${E[1]??""}${ye}@${l.slice(E[0].length)}`,u=!0);let g=d;if(d!==""){let L=new URLSearchParams(d),G=!1;for(let $ of[...L.keys()])e($)&&(L.set($,ye),G=!0);G&&(g=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>=BO&&FO.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?"":`?${g}`;return`${_.join("/")}${U}${S}`}function Un(t,e=He){let n=dd(t,e);return n===t?{url:n}:{url:n,[UE]:t}}function jE(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>ef)continue;let s=i.toLowerCase();if(!e.has(s)&&(e.add(s),n.push(i),n.length>=Jp))break}return n}function Jo(t){return t.replace(VO,ye)}var HO,Qp,FO,BO,Jp,ef,VO,tf=T(()=>{"use strict";Ot();ld();HO=/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;FO=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,BO=12;Jp=64,ef=128;VO=/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,ud=T(()=>{"use strict";Hn={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function nf(){return[A.UI,A.NET,A.STATE,A.SIGNAL,A.LOG,A.ROUTE,A.TIME]}var v$,N$,pd=T(()=>{"use strict";qa();ur();v$={[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]:nf(),[y.ANY_OF]:nf(),[y.NOT]:nf()};N$=Object.fromEntries(Object.entries(Tp).map(([t,e])=>[t,e.independence]))});var fd,VE,KO,KE,WE,zE,WO,zO,of,YO,qO,$$,sf=T(()=>{"use strict";ne();zp();Ot();Wp();tf();ud();pd();fd=o.string().min(1).max(H.MAX_SESSION_ID_LENGTH),VE=o.string().max(H.MAX_REF_LENGTH),KO=o.string().min(1).max(8),KE=o.object({kind:o.nativeEnum($n),text:o.string().optional()}),WE=o.object({control:o.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:o.nativeEnum(Qa).optional(),view:o.nativeEnum(Zr).optional(),panel:o.nativeEnum(Qr).optional()}),zE=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()}),WO=o.object({t:o.number(),type:o.nativeEnum(b),sessionId:fd,ref:VE.optional(),seq:o.number().int().min(0).optional(),actionId:VE.optional(),attribution:o.nativeEnum($g).optional(),documentId:KO.optional(),editEpoch:o.number().int().min(0).optional(),data:o.record(o.unknown()).default({})}),zO=o.object({kind:o.literal(ft.HELLO),protocolVersion:o.number().int().min(kg).max(zl),sessionId:fd,url:o.string().max(H.MAX_URL_LENGTH),title:o.string().max(H.MAX_TITLE_LENGTH),projectId:fd.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(ef)).max(Jp).optional()}),of=o.object({kind:o.literal(ft.COMMAND),id:o.string().min(1).max(H.MAX_COMMAND_ID_LENGTH),sessionId:fd.optional(),name:o.string().min(1).max(H.MAX_COMMAND_NAME_LENGTH),args:o.record(o.unknown()).default({})}),YO=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()}),qO=o.object({kind:o.literal(ft.EVENT),event:WO}),$$=o.discriminatedUnion("kind",[zO,of,YO,qO])});var XO,ZO,Jr,QO,Oe,JO,ew,tw,nw,rw,ow,af,YE,iw,qE,fs=T(()=>{"use strict";ne();XO={AGENT:"agent",HUMAN:"human"},ZO={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},Jr={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},QO={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},Oe={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},JO={CDP:"cdp",SDK:"sdk"},ew={USER:"user",PROJECT:"project"},tw=4e3,nw=8e3,rw=1,ow=5,af=1e3,YE=o.object({source:o.nativeEnum(XO),kind:o.nativeEnum(ZO),text:o.string().min(1).max(tw),trace:o.string().max(nw).optional(),rating:o.number().int().min(rw).max(ow).optional(),need:o.string().max(af).optional(),impact:o.string().max(af).optional(),currentApproach:o.string().max(af).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(QO).optional(),driver:o.nativeEnum(JO).optional(),client:o.string().min(1).max(64).optional(),mcpScope:o.nativeEnum(ew).optional()}),iw={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},qE=o.object({context:o.nativeEnum(iw),company:o.string().min(1).max(128).optional(),email:o.string().min(3).max(254).optional()})});var Fn,Bn,md,ei,sw,aw,z$,hd,cw,lw,dw,ec,Y$,XE=T(()=>{"use strict";ne();Ot();Xo();fs();sf();ld();Fn={SSE:"sse",WS:"ws",FETCH:"fetch"},Bn={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},md={UP:"up",DOWN:"down"},ei={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},sw=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.")}),aw=o.union([o.record(o.string()),o.array(sw)]),z$=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:aw.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),hd=o.object({role:o.string().optional(),name:o.string().optional()}),cw=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(),lw=o.object({transport:o.nativeEnum(Fn),direction:o.nativeEnum(Bn),url:o.string()}).passthrough(),dw=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(),[cd]:o.string().optional(),[ad]:o.string().optional()}).passthrough(),ec=o.object({message:o.string()}).passthrough(),Y$={[b.DOM_ADDED]:hd,[b.DOM_REMOVED]:hd,[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]:dw,[b.NET_PENDING]:o.object({id:o.string(),method:o.string(),url:o.string(),initiator:o.string(),urlRaw:o.string().optional()}),[b.NET_STREAM]:lw,[b.DOWNLOAD]:cw,[b.PERF]:o.object({metric:o.nativeEnum(ss),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]:ec,[b.CONSOLE_WARN]:ec,[b.CONSOLE_ERROR]:ec,[b.CONSOLE_INFO]:ec,[b.CONSOLE_DEBUG]:ec,[b.ERROR_UNCAUGHT]:o.object({message:o.string(),source:o.string().optional(),line:o.number().optional(),kind:o.string().optional()}).passthrough(),[b.VISIBLE_SHOWN]:hd,[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(md)}),[b.REVEAL_SHOWN]:hd.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(Oe).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]:KE,[b.HUMAN_MARK]:zE,[b.HUD_USED]:WE}});var Z$,ZE=T(()=>{"use strict";Ot();Z$=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 QE=T(()=>{"use strict"});var JE,eb=T(()=>{"use strict";JE=t=>t});var ue,rU,oU,iU,tb=T(()=>{"use strict";pd();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"},rU=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]),oU=new Set([ue.DUPLICATE_REQUEST_UNRELATED]),iU={[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,gd,cU,lU,nb=T(()=>{"use strict";Ot();eo="__reticleIpc",gd="reticle_capture",cU=is.FULL_PAGE_UNSUPPORTED,lU=is.NOT_COMPOSITED});var rb=T(()=>{"use strict"});function ob(t){return t===hs.CALM||t===hs.WAITING||t===hs.ASK||t===hs.WARN}var hs,ib,pU,fU,sb=T(()=>{"use strict";hs={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};ib="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",pU='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 '+ib,fU="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; "+ib});var ab,TU,_U,SU,cb=T(()=>{"use strict";ne();Ot();Xo();ur();ab=1,TU=o.object({v:o.literal(ab),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)}),_U=o.object({v:o.literal(ab),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()}),SU=o.object({claim:o.string().min(1).max(H.MAX_STRING_LENGTH),verified:o.nativeEnum(ds),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 lb=T(()=>{"use strict"});var RU,db=T(()=>{"use strict";ne();RU=o.object({port:o.number(),pid:o.number(),cwd:o.string(),projectId:o.string().optional(),startedAt:o.number()})});var OU,ub=T(()=>{"use strict";ne();OU=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 uw,IU,pb=T(()=>{"use strict";ne();uw=o.object({directory:o.string().min(1),lastSeenAt:o.number()}),IU=o.object({version:o.literal(1),projects:o.record(o.string(),uw)})});var pw,cf,fw,hw,mw,DU,fb=T(()=>{"use strict";ne();pw=1,cf={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},fw=o.object({route:o.string().optional(),flow:o.string().optional(),files:o.array(o.string()).optional()}),hw=o.object({verdictId:o.string(),grade:o.string(),at:o.number()}),mw=o.object({id:o.string().min(1),statement:o.string().min(1),state:o.enum([cf.DECLARED,cf.BOUND,cf.PROVED]),declaredAt:o.number(),binding:o.unknown().optional(),surface:fw.optional(),provenBy:hw.optional(),amended:o.array(o.object({statement:o.string(),at:o.number()})).optional()}),DU=o.object({version:o.literal(pw),intents:o.record(o.string(),mw)})});var hb=T(()=>{"use strict"});var fr,$U,mb=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"},$U={[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 lf(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(bw.includes(e))return!0;let n=e.split(".");return _w===n.length&&Tw===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let i=Number(r);return i>=0&&i<=Sw})}function gb(t,e){return lf(e)||xw.includes(t.toLowerCase())?!0:e.toLowerCase()===Aw}function Eb(t,e){return e!==void 0&&Ew.has(e.trim().toLowerCase())?!1:gw.test(t.replace(/[_-]+/g," "))}var gw,Ew,bw,Tw,_w,Sw,xw,Aw,bb=T(()=>{"use strict";gw=/\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,Ew=new Set(["option","radio"]),bw=["localhost","::1","0:0:0:0:0:0:0:1"],Tw="127",_w=4,Sw=255;xw=["file:","app:","tauri:"],Aw="tauri.localhost"});function yw(t){return Array.isArray(t)||typeof t=="string"}function Rw(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),df],total:t.length+1};if(typeof t=="string")return{keys:[df],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(tc)?{keys:e,total:n}:{keys:[...e,tc],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,tc],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 Ed(t){let{keys:e,total:n}=Rw(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function Tb(t,e){let n=e.split(".").filter(i=>i.length>0),r=t;for(let i of n){if(df===i&&yw(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 Ed(r);r=r[s];continue}if(r instanceof Map){if(r.has(i)){r=r.get(i);continue}if(tc===i){r=r.size;continue}return Ed(r)}if(r instanceof Set){if(tc===i){r=r.size;continue}if(r.has(i)){r=!0;continue}return Ed(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,i)){r=r[i];continue}return Ed(r)}return{found:!0,value:r}}function ms(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=>ms(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)]=ms(i,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>ms(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]=ms(t[i],e-1);return r}return t}var df,tc,_b=T(()=>{"use strict";df="length";tc="size"});var GU,jU,Sb=T(()=>{"use strict";Ot();GU={[oe.ENABLED]:"en",[oe.DISABLED]:"dis",[oe.CHECKED]:"chk",[oe.EXPANDED]:"exp",[oe.PRESSED]:"prs",[oe.FOCUSED]:"focus"},jU=new Set([oe.PRESENT,oe.VISIBLE,oe.HIDDEN])});var ti,WU,zU,xb=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"},WU=o.object({capability:o.nativeEnum(ti),reason:o.string(),unlockedBy:o.string(),learnMoreUrl:o.string().url()}),zU={[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 nc,Ab,yb,vw,Rb,vb=T(()=>{"use strict";ne();nc={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},Ab={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},yb={[nc.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[nc.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[nc.FIRST_RUN]:["project_detected","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},vw=Object.values(yb).flatMap(t=>[...t]),Rb=o.object({phase:o.nativeEnum(nc),step:o.enum(vw),status:o.nativeEnum(Ab),elapsedMs:o.number().int().nonnegative().optional(),reason:o.string().max(64).optional(),stack:o.string().max(64).optional(),unattended:o.boolean().optional()})});var Nb,uf=T(()=>{"use strict";Nb={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 Nw,Ob,pf=T(()=>{"use strict";ne();uf();Nw={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},Ob=o.object({tool:o.string().min(1).max(64),reason:o.nativeEnum(Nw),noSessionReason:o.nativeEnum(Nb).optional(),retried:o.boolean()})});var wb,Ow,ww,ff,Cw,Iw,Cb,Lw,kw,Ib,hf=T(()=>{"use strict";ne();wb=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()}),Ow={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},ww={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},ff=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()}),Cw=o.object({totalMs:o.number().int().nonnegative(),maxMs:o.number().int().nonnegative()}),Iw=o.object({attempts:o.number().int().nonnegative(),successes:o.number().int().nonnegative(),failures:o.record(o.string(),o.number().int().nonnegative()).optional()}),Cb=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(wb).max(40).optional(),sdkFailures:o.number().int().nonnegative().optional(),sdkErrors:o.array(wb).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(),Iw).optional(),toolTiming:o.record(o.string(),Cw).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:ff.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()}),Lw={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},kw={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"},Ib=o.object({stack:o.string().min(1).max(64).optional(),stackSource:o.enum(["cwd","workspace"]).optional(),stackUnknownReason:o.nativeEnum(kw).optional(),stackMajor:o.number().int().nonnegative().optional(),size:o.nativeEnum(Lw).optional(),monorepo:o.boolean().optional(),git:o.nativeEnum(Ow),forge:o.nativeEnum(ww).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 Lb,mf=T(()=>{"use strict";Lb={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var Dw,tn,pH,Mw,Pw,$w,Uw,Hw,kb,Fw,Bw,Gw,jw,Vw,Kw,Ww,zw,Yw,qw,Xw,Zw,Qw,fH,Db=T(()=>{"use strict";ne();vb();pf();hf();fs();Xo();fs();mf();Dw=3,tn={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"},pH=new Set([tn.DAEMON_STARTED,tn.DAEMON_STOPPED,tn.SESSION_PROGRESS,tn.MCP_CLIENT_CONNECTED,tn.APP_INSTRUMENTED,tn.PROJECT_PROFILED,tn.VERIFICATION_COMPLETED,tn.BUG_FOUND,tn.RUNTIME_CRASHED,tn.FEEDBACK_SUBMITTED,tn.TOOL_REFUSED]),Mw={HUMAN:"human",AGENT:"agent"},Pw={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},$w={HARNESS:"harness"},Uw=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(Oe).optional(),reason:o.nativeEnum($e).optional(),uncleanLoss:o.nativeEnum(sE).optional(),driven:o.nativeEnum($w).optional()}),Hw=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)}),kb={RETICLE:"reticle",OTHER:"other"},Fw=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:ff.optional(),syscall:o.string().max(32).optional(),errno:o.string().max(32).optional(),loopback:o.boolean().optional(),port:o.enum([kb.RETICLE,kb.OTHER]).optional(),internalFrame:o.string().max(64).optional()}),Bw={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},Gw={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},jw=o.object({source:o.nativeEnum(Bw),kind:o.string().min(1).max(64),falseGreen:o.boolean(),tool:o.string().min(1).max(64).optional(),repeat:o.boolean(),attribution:o.nativeEnum(Gw),fingerprint:o.string().max(16).optional()}),Vw=o.object({reconnect:o.boolean(),daemonAgeMs:o.number().int().nonnegative(),client:o.string().min(1).max(64).optional(),appConnected:o.boolean().optional()}),Kw=o.object({initialized:o.boolean(),agentAttached:o.boolean(),msToFirstApp:o.number().int().nonnegative()}),Ww={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},zw={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"},Yw=o.object({stage:o.nativeEnum(Ww),reason:o.nativeEnum(zw),attempts:o.number().int().nonnegative(),pendingLost:o.number().int().nonnegative().optional()}),qw={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",DOCS_SITE:"docs_site",README:"readme",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},Xw={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",NO_TTY:"no_tty"},Zw={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},Qw=o.object({ok:o.boolean(),reason:o.string().max(64).optional(),stack:o.string().max(64).optional(),mcpRegistered:o.boolean().optional(),confirmation:o.nativeEnum(Zw).optional()}),fH=o.object({v:o.literal(Dw),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(tn),ts:o.number().int().nonnegative(),version:o.string().min(1).max(64),ci:o.boolean(),automation:o.nativeEnum(Xw).optional(),projectIdSource:o.nativeEnum(Pw).optional(),os:o.string().min(1).max(32),tzOffsetMin:o.number().int().min(-900).max(900).optional(),feedback:YE.optional(),actor:o.nativeEnum(Mw).optional(),command:o.string().min(1).max(32).optional(),flags:o.array(o.string().max(32)).max(16).optional(),session:Cb.optional(),project:Ib.optional(),verification:Uw.optional(),versionChange:Hw.optional(),crash:Fw.optional(),identity:qE.optional(),connection:Vw.optional(),init:Qw.optional(),onboarding:Rb.optional(),bug:jw.optional(),refusal:Ob.optional(),outage:Yw.optional(),instrumentation:Kw.optional(),installSource:o.nativeEnum(qw).optional(),licenseId:o.string().min(1).max(64).optional(),licenseStatus:o.nativeEnum(Lb).optional(),licenseKeyPresent:o.boolean().optional()})});var Mb=T(()=>{"use strict"});var EH,Pb=T(()=>{"use strict";fp();EH={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:os.ACT,ACT_SEQUENCE:os.ACT_SEQUENCE,ACT_AND_WAIT:os.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 $b=T(()=>{"use strict"});var Ub=T(()=>{"use strict"});var yH,RH,vH,Hb=T(()=>{"use strict";qa();fs();ud();yH={[Jr.WEB]:{surface:Jt.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[Jr.ELECTRON]:{surface:Jt.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[Jr.TAURI]:{surface:Jt.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},RH={[Jr.WEB]:Hn.WEB,[Jr.ELECTRON]:Hn.WEBVIEW,[Jr.TAURI]:Hn.WEBVIEW},vH={[Jt.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Jt.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Jt.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[Jt.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[Jt.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[Jt.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var Gb,Jw,eC,Fb,tC,jb,nC,Bb,rC,oC,iC,Vb,Kb=T(()=>{"use strict";ne();Gb=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()}),Jw=o.object({date:o.string(),counts:Gb}),eC=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()}),Fb=o.object({value:o.number().nonnegative(),basis:o.string()}),tC=o.object({tokens:Fb,minutes:Fb}),jb=10,nC=o.object({at:o.number().int().nonnegative(),title:o.string(),detail:o.string().optional(),source:o.string().optional()}),Bb=o.object({counts:Gb,days:o.array(Jw),records:eC,savings:tC,since:o.number().int().nonnegative(),defects:o.array(nC).default([])}),rC=o.object({signedIn:o.boolean(),org:o.string().optional(),email:o.string().optional(),host:o.string().optional()}),oC=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()}),iC=o.object({provider:o.string(),harnessEnabled:o.boolean(),harnessEntitled:o.boolean()}),Vb=o.object({schemaVersion:o.number().int().positive(),project:Bb,global:Bb,projectName:o.string().optional(),dashboardUrl:o.string().optional(),account:rC.optional(),harnessOffer:oC.optional(),harnessConfig:iC.optional()})});var Wb=T(()=>{"use strict"});function gs(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 zb(t){let e=Object.keys(t).sort().map(n=>`${n}:${[...t[n]??[]].sort().join(",")}`).join("|");return gs(e)}var gf,rc,Yb=T(()=>{"use strict";Ot();gf=zb({messageKinds:Object.values(ft),commands:Object.values(C),actions:Object.values(R),events:Object.values(b)}),rc={commands:Object.values(C),events:Object.values(b),actions:Object.values(R)}});var qb,Xb=T(()=>{"use strict";qb="[Reticle] this page could not open a websocket to "});var D=T(()=>{"use strict";ug();EE();bE();TE();Ot();SE();AE();RE();Xo();vE();NE();Wp();zp();DE();PE();$E();sf();XE();ZE();Wa();fp();gE();gp();QE();Lp();kp();eb();ld();tb();nb();ur();Hp();$p();Bp();Gp();jp();rb();sb();cb();lb();db();ub();pb();fb();hb();mb();bb();tf();_b();Sb();xb();Db();uf();pf();Mb();Pb();$b();ud();pd();Ub();Hb();hf();mf();fs();Kb();Wb();Yb();Xb()});function ni(t){let e=H.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${sC}`}function lC(t){try{let e=t?.getItem(eT),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var Jb,sC,Ef,aC,eT,cC,ic,je,sc,hr,Es,bs,Ts,mr,tT,bf,nT,oc,X,gt=T(()=>{"use strict";D();Jb=1e4,sC="\u2026",Ef="e";aC=1e3,eT="__reticle_ref_base",cC=100;oc=class{constructor(e=()=>globalThis.sessionStorage){m(this,mr);m(this,ic,new WeakMap);m(this,je,new Map);m(this,sc);m(this,hr,0);m(this,Es,0);m(this,bs,0);m(this,Ts,0);p(this,sc,e)}get size(){return c(this,je).size}markEdited(){p(this,Ts,c(this,hr))}mintedBeforeLastEdit(e){if(c(this,Ts)===0||!e.startsWith(Ef))return!1;let n=Number(e.slice(Ef.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,Ts)}refFor(e){let n=c(this,ic).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,Es)&&h(this,mr,tT).call(this),p(this,hr,c(this,hr)+1);let r=JE(`${Ef}${String(c(this,hr))}`);return c(this,ic).set(e,r),c(this,je).set(r,new WeakRef(e)),p(this,bs,c(this,bs)+1),c(this,bs)>=aC?(p(this,bs,0),h(this,mr,nT).call(this)):c(this,je).size>Jb&&h(this,mr,bf).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)}};ic=new WeakMap,je=new WeakMap,sc=new WeakMap,hr=new WeakMap,Es=new WeakMap,bs=new WeakMap,Ts=new WeakMap,mr=new WeakSet,tT=function(){let e;try{e=c(this,sc).call(this)}catch{e=void 0}let n=Math.max(lC(e),c(this,hr));p(this,Es,n+cC);try{e?.setItem(eT,String(c(this,Es)))}catch{}p(this,hr,n)},bf=function(){let e=c(this,je).keys().next();e.done!==!0&&c(this,je).delete(e.value)},nT=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>Jb;)h(this,mr,bf).call(this)};X=new oc});function uT(t,e){if(t===null||typeof t!="object")return;let r=(t.ownerDocument??t).defaultView;if(r!=null)return r[e]}function Mt(t,e,n){let r=uT(t,e)??n;return typeof r=="function"&&t instanceof r}function gT(t){let e=Et(t)?"HTMLTextAreaElement":"HTMLInputElement",n=uT(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var gr,yf,Ct,TC,_d,me,Et,Tn,xs,pT,fT,hT,mT,Sd,_n=T(()=>{"use strict";gr=t=>Mt(t,"Element",typeof Element>"u"?void 0:Element),yf=t=>Mt(t,"HTMLImageElement",typeof HTMLImageElement>"u"?void 0:HTMLImageElement),Ct=t=>Mt(t,"HTMLElement",typeof HTMLElement>"u"?void 0:HTMLElement),TC=t=>Mt(t,"SVGElement",typeof SVGElement>"u"?void 0:SVGElement),_d=t=>Ct(t)||TC(t),me=t=>Mt(t,"HTMLInputElement",typeof HTMLInputElement>"u"?void 0:HTMLInputElement),Et=t=>Mt(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement>"u"?void 0:HTMLTextAreaElement),Tn=t=>Mt(t,"HTMLSelectElement",typeof HTMLSelectElement>"u"?void 0:HTMLSelectElement),xs=t=>Mt(t,"HTMLButtonElement",typeof HTMLButtonElement>"u"?void 0:HTMLButtonElement),pT=t=>Mt(t,"HTMLMeterElement",typeof HTMLMeterElement>"u"?void 0:HTMLMeterElement),fT=t=>Mt(t,"HTMLOutputElement",typeof HTMLOutputElement>"u"?void 0:HTMLOutputElement),hT=t=>Mt(t,"HTMLProgressElement",typeof HTMLProgressElement>"u"?void 0:HTMLProgressElement),mT=t=>Mt(t,"HTMLFormElement",typeof HTMLFormElement>"u"?void 0:HTMLFormElement),Sd=t=>Mt(t,"HTMLIFrameElement",typeof HTMLIFrameElement>"u"?void 0:HTMLIFrameElement)});function ET(t){return(t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi)??[]).map(n=>Number(n))}function xC(t){return/NaN|Infinity/i.test(t)?!0:ET(t).some(e=>!Number.isFinite(e))}function AC(t){let e=ET(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 xd(t){let e=[],n=0;for(let i of _C)for(let s of Array.from(t.querySelectorAll(i)))for(let a of SC){let l=s.getAttribute(a);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;xC(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}):AC(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 bT(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 _C,SC,Rf=T(()=>{"use strict";_C=["path","polyline","polygon"],SC=["d","points"]});function lc(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<=dc.length?dc.slice(0,r):`${t.slice(0,r-dc.length)}${dc}`;return e.remainingCharacters-=i.length,i}function uc(t,e,n,r){if(r!==void 0&&He(r))return ye;if(n>H.MAX_SERIALIZE_DEPTH||e.nodes>=As)return e.truncatedValues+=1,dc;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return lc(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 ys;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>=As||s>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let d=lc(typeof a=="string"?a:String(a),e,TT),u=uc(l,e,n+1,d);u!==ys&&(i[d]=u),s+=1}return i}if(t instanceof Set){let i=[],s=0;for(let a of t){if(e.nodes>=As||s>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let l=uc(a,e,n+1);i.push(l===ys?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>=As||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:lc(t.name,e,256),message:lc(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>=As){e.droppedItems+=1;continue}let E=uc(f,e,n+1);if(e.nodes>=As){e.droppedItems+=1;continue}d.push(E===ys?null:E)}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=lc(d.key,e,TT);if(!d.ok){i[u]=vf;continue}try{let f=uc(d.value,e,n+1,d.key);f!==ys&&(i[u]=f)}catch{i[u]=vf}}return i}finally{e.seen.delete(t)}}function pc(t){return fc(t).value}function fc(t){let e={seen:new WeakSet,remainingCharacters:yC,nodes:0,droppedItems:0,truncatedValues:0},n=uc(t,e,0),r=n===ys?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(pc(t))}catch{return JSON.stringify(vf)}}var dc,vf,ys,TT,yC,As,jn=T(()=>{"use strict";D();dc="[TRUNCATED]",vf="[UNSERIALIZABLE]",ys=Symbol("omit"),TT=256,yC=Math.floor(H.MAX_MESSAGE_BYTES/4),As=H.MAX_COLLECTION_ITEMS*5});function RC(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 hc(t){let e=t.closest(`[${Nf}]`);return e!==null?RC(e.getAttribute(Nf)):void 0}function Ad(t,e){return e!==void 0?{file:e.file,line:e.line}:hc(t)}function _T(t){return t.querySelector(`[${Nf}]`)!==null}function yd(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var Nf,mc=T(()=>{"use strict";D();Nf=id});function IC(t){let e=t.type.toLowerCase();return CC.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function LC(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 we(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 IC(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 LC(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 Rs(t){return t.replace(/\s+/g," ").trim()}function kC(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(Rs(gc(s)))}let r=n.join(" ").trim();return r.length>0?r:null}function gc(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(yf(e)){let r=e.getAttribute("alt");return r===null?"":r}let n=[];for(let r of e.childNodes){let i=gc(r);i.length>0&&n.push(i)}return n.join(" ")}function be(t){let e=kC(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(yf(t)){let s=t.getAttribute("alt");if(s!==null)return s.trim()}if(me(t)||Et(t)||Tn(t)||xs(t)||pT(t)||fT(t)||hT(t)){let s=t.labels;if(s!==null&&s.length>0){let a=[...s].map(l=>Rs(gc(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=Rs(gc(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=Rs(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(wC.has(we(t))){let s=Rs(gc(t));if(s.length>0)return s}let i=t.getAttribute("title");return i!==null&&i.trim().length>0?i.trim():""}function Rd(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function Er(t,e=nt(t)){let n=[oe.PRESENT];n.push(e?oe.VISIBLE:oe.HIDDEN);let i=(xs(t)||me(t)||Tn(t)||Et(t))&&t.disabled||Rd(t,"aria-disabled")===!0;return n.push(i?oe.DISABLED:oe.ENABLED),(me(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||Rd(t,"aria-checked")===!0)&&n.push(oe.CHECKED),Rd(t,"aria-expanded")===!0&&n.push(oe.EXPANDED),Rd(t,"aria-pressed")===!0&&n.push(oe.PRESSED),t.ownerDocument.activeElement===t&&n.push(oe.FOCUSED),n}function Of(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 wf(t){return me(t)||Et(t)||Tn(t)?Of(t)?ye:t.value:t.getAttribute("aria-valuenow")??void 0}function DC(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(vC);if(n===null||n.hasAttribute(NC))return!1;let r=n.querySelector(OC);return r===null||!r.contains(t)}function MC(t){if(t.getAttribute("aria-hidden")==="true"||Ct(t)&&t.hidden||DC(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 PC(t){return t.parentElement!==null?t.parentElement:t.getRootNode().host??null}function Cf(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=PC(t),i=!MC(t)&&(r===null||nt(r,e));return e!==void 0&&e.set(t,i),i}function $C(t){let e=Rs(t.textContent??"");return e.length>ST?`${e.slice(0,ST)}\u2026`:e}function Vn(t,e){let n=wf(t),r=$C(t),i=be(t),s=nt(t,e),a={ref:X.refFor(t),role:we(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=yd(hc(t));if(l!==void 0&&(a.source=l),t.querySelector("path, polyline, polygon")!==null){let d=xd(t).findings;d.length>0&&(a.chart=d)}return a}var vC,NC,OC,wC,CC,ST,Pt=T(()=>{"use strict";D();_n();gt();Rf();jn();mc();vC="details",NC="open",OC=":scope > summary",wC=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),CC=new Set(["text","email","tel","url","search","password",""]);ST=80});function wT(t){let e=[],n=new Set,r;try{r=t.querySelectorAll(tI)}catch{return e}for(let i=0;i<r.length&&e.length<nI;i+=1){let s=r[i]?.getAttribute(OT);if(s==null)continue;let a=s.trim();a.length===0||n.has(a)||a.startsWith(rI)||(n.add(a),e.push(a))}return e}var OT,tI,nI,rI,CT=T(()=>{"use strict";OT="data-testid",tI=`[${OT}]`,nI=200,rI="reticle-"});var Lf,oI,Kn,Ec=T(()=>{"use strict";Lf=globalThis,oI=typeof Lf.console?.warn=="function"?Lf.console.warn.bind(Lf.console):null,Kn=(...t)=>{oI?.(...t)}});function kT(t){return kf.add(t),()=>kf.delete(t)}function iI(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 DT(t,e,n){if(cI(t,e),iI(e)){let r=()=>e.getState(),i=s=>e.subscribe(s);vs.set(t,r),Nd.set(t,i),IT(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(vs.set(t,e),n!==void 0){Nd.set(t,n),IT(t,e,n);return}aI(t)}function IT(t,e,n){for(let r of kf)try{r([t,e,n])}catch{}}function MT(t){vs.delete(t),Nd.delete(t)}function no(){return[...vs.keys()]}function PT(){let t=[];for(let[e,n]of Nd){let r=vs.get(e);r!==void 0&&t.push([e,r,n])}return t}function Mf(t){let e={};for(let[n,r]of vs)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 $T(t){return bc(t).stores}function bc(t){let e={},n={};for(let[r,i]of Object.entries(Mf(t))){let s=fc(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 aI(t){sI.has(t)||LT.has(t)||(LT.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 Od(t,e){UT.set(t,e)}function cI(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;Df.set(e,t);let n=UT.get(e);n!==void 0&&Df.set(n,t)}function HT(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return Df.get(t)}var br,vs,Nd,kf,LT,sI,Df,UT,ri=T(()=>{"use strict";D();Ec();jn();br=globalThis,vs=br.__reticleStores??(br.__reticleStores=new Map),Nd=br.__reticleStoreSubs??(br.__reticleStoreSubs=new Map),kf=br.__reticleStoreListeners??(br.__reticleStoreListeners=new Set);LT=new Set,sI=new Set([Yl]);Df=new WeakMap,UT=new WeakMap});function FT(){return typeof document>"u"?[]:wT(document)}function BT(){return no().filter(t=>Yl!==t)}function wd(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function lI(){return{testids:[],signals:[],stores:[],flows:[]}}function $f(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function Cd(t){GT=t}function Ns(t){if($f(It.testids,t.testids),$f(It.signals,t.signals),$f(It.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=It.flows.find(r=>r.name===e.name);n===void 0?It.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}GT?.()}function ro(){return{testids:wd(It.testids,FT()),signals:[...It.signals],stores:wd(It.stores,BT()),flows:It.flows.map(t=>({name:t.name,steps:[...t.steps]})),...lg()?{presenterExposed:!0}:{}}}function jT(){return[...It.testids]}function Id(){return It.signals.length>0||It.flows.length>0||wd(It.testids,FT()).length>0||wd(It.stores,BT()).length>0}var Pf,It,GT,oo=T(()=>{"use strict";D();et();CT();ri();Pf=globalThis;It=Pf.__reticleCapabilities??(Pf.__reticleCapabilities=lI())});function VT(t){Os.some(e=>e.name===t.name)||Os.push(t)}function Wn(t){for(let e of Os){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function Ld(t){for(let e of Os){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function kd(t){for(let e of Os)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function Dd(){return Os.map(t=>t.name)}var Uf,Os,oi=T(()=>{"use strict";Uf=globalThis,Os=Uf.__reticleAdapters??(Uf.__reticleAdapters=[])});function $d(){return Gf>0}function Fe(t){Gf+=1;try{return t()}finally{Gf-=1}}var Gf,Is=T(()=>{"use strict";Gf=0});var nn,r_,$I,o_,i_,Fd,z,pe,s_,a_,c_,so,l_,Ve=T(()=>{"use strict";nn=globalThis,r_=typeof nn.setTimeout=="function"?nn.setTimeout.bind(nn):null,$I=typeof nn.clearTimeout=="function"?nn.clearTimeout.bind(nn):null,o_=typeof nn.requestAnimationFrame=="function"?nn.requestAnimationFrame.bind(nn):null,i_=typeof nn.performance?.now=="function"?nn.performance.now.bind(nn.performance):null,Fd=()=>i_?i_():0,z=(t,e=0)=>r_?r_(t,e):0,pe=t=>{$I?.(t)},s_=(t,e)=>{let n=!1,r=0,i=()=>{n||(t(),!n&&(r=z(i,e)))};return r=z(i,e),()=>{n=!0,pe(r)}},a_=200,c_=(t=a_)=>new Promise(e=>{let n=!1,r=s=>{n||(n=!0,pe(i),e({settled:s}))},i=z(()=>r(!1),t);o_?o_(()=>r(!0)):z(()=>r(!0),0)}),so=()=>c_().then(()=>{}),l_=async(t=a_)=>(await Promise.resolve(),c_(t))});function oS(t,e){return`${qb}${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 iS(t,e){return`no bridge at ${t} \u2014 ${String(e)} attempt${e===1?"":"s"}`}var rh=T(()=>{"use strict";D()});var Ke,$t,hh=T(()=>{"use strict";Ke={READ:"read",ACT:"act",NARRATION:"narration",HUMAN:"human"},$t={PASS:"pass",FAIL:"fail"}});function Dc(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 mh=T(()=>{"use strict";D()});function Rr(t){return typeof t=="string"&&t.length>0}function Rk(t){return`${t.file.split("/").pop()??t.file}:${t.line}`}function Lx(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}@${Rk(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,kx=T(()=>{"use strict";Rn={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"}});function Ok(t,e,n){return n.length>0?e.length>0?`${e} "${n}"`:`"${n}"`:e.length>0?e:t.tagName.toLowerCase()}function Hc(t){let e=t.getAttribute(vk)??void 0,n=Wn(t),r=n?.componentStack[0],i=Ad(t,n?.source),s=we(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=Lx(l),u={anchor:d.value,strategy:Nk[d.strategy],label:Ok(t,s,a)};return i!==void 0&&(u.source=i),u}var vk,Nk,_h=T(()=>{"use strict";D();kx();Pt();oi();mc();vk="data-testid",Nk={[Rn.TESTID]:Qo.TESTID,[Rn.COMPONENT]:Qo.COMPONENT,[Rn.ROLE]:Qo.ROLE,[Rn.POSITION]:Qo.POSITION}});function Dx(t){return`${String(t)} ${t===1?"note":"notes"} on this page`}function Mx(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
|
-
`)}var
|
|
4
|
-
${
|
|
5
|
-
${
|
|
1
|
+
"use strict";var ReticleSdk=(()=>{var Cf=Object.defineProperty;var HN=Object.getOwnPropertyDescriptor;var UN=Object.getOwnPropertyNames;var FN=Object.prototype.hasOwnProperty;var XE=t=>{throw TypeError(t)};var _=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Uc=(t,e)=>{for(var n in e)Cf(t,n,{get:e[n],enumerable:!0})},BN=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of UN(e))!FN.call(t,o)&&o!==n&&Cf(t,o,{get:()=>e[o],enumerable:!(r=HN(e,o))||r.enumerable});return t};var GN=t=>BN(Cf({},"__esModule",{value:!0}),t);var Lf=(t,e,n)=>e.has(t)||XE("Cannot "+n);var c=(t,e,n)=>(Lf(t,e,"read from private field"),n?n.call(t):e.get(t)),b=(t,e,n)=>e.has(t)?XE("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),f=(t,e,n,r)=>(Lf(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),E=(t,e,n)=>(Lf(t,e,"access private method"),n);var ZE=(t,e,n,r)=>({set _(o){f(t,e,o,n)},get _(){return c(t,e,r)}});function JE(t){kf=t}function eb(){return kf}function tb(t){QE=t.join(",")}function $e(t){return t.closest(Da)!==null}function Ma(t){return t!==null&&t.closest(Da)!==null}function pn(t){let n=[kf?"":Da,jN,QE].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Kd(t){for(let e of Array.from(t.querySelectorAll(VN)))if(e.closest(Da)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var Da,jN,QE,kf,VN,bt=_(()=>{"use strict";Da="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",jN="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",QE="",kf=!1;VN='dialog[open], [aria-modal="true"]'});var nb=_(()=>{"use strict"});var ne,Df,P,lr,Fc=_(()=>{(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})(ne||(ne={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(Df||(Df={}));P=ne.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),lr=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 R,KN,Ft,Wd=_(()=>{Fc();R=ne.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"]),KN=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ft=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,ne.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()}};Ft.create=t=>new Ft(t)});var WN,Br,Mf=_(()=>{Wd();Fc();WN=(t,e)=>{let n;switch(t.code){case R.invalid_type:t.received===P.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case R.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,ne.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:n=`Unrecognized key(s) in object: ${ne.joinValues(t.keys,", ")}`;break;case R.invalid_union:n="Invalid input";break;case R.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${ne.joinValues(t.options)}`;break;case R.invalid_enum_value:n=`Invalid enum value. Expected ${ne.joinValues(t.options)}, received '${t.received}'`;break;case R.invalid_arguments:n="Invalid function arguments";break;case R.invalid_return_type:n="Invalid function return type";break;case R.invalid_date:n="Invalid date";break;case R.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}"`:ne.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case R.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 R.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 R.custom:n="Invalid input";break;case R.invalid_intersection_types:n="Intersection results could not be merged";break;case R.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case R.not_finite:n="Number must be finite";break;default:n=e.defaultError,ne.assertNever(t)}return{message:n}},Br=WN});function zN(t){rb=t}function $a(){return rb}var rb,zd=_(()=>{Mf();rb=Br});function L(t,e){let n=$a(),r=Bc({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===Br?void 0:Br].filter(o=>!!o)});t.common.issues.push(r)}var Bc,YN,ct,j,co,Tt,Yd,qd,wi,Pa,$f=_(()=>{zd();Mf();Bc=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}},YN=[];ct=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 j;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 j;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}}},j=Object.freeze({status:"aborted"}),co=t=>({status:"dirty",value:t}),Tt=t=>({status:"valid",value:t}),Yd=t=>t.status==="aborted",qd=t=>t.status==="dirty",wi=t=>t.status==="valid",Pa=t=>typeof Promise!="undefined"&&t instanceof Promise});var ib=_(()=>{});var B,ob=_(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(B||(B={}))});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 lb(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 uO(t){return new RegExp(`^${lb(t)}$`)}function db(t){let e=`${cb}T${lb(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 pO(t,e){return!!((e==="v4"||!e)&&iO.test(t)||(e==="v6"||!e)&&aO.test(t))}function fO(t,e){if(!eO.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 hO(t,e){return!!((e==="v4"||!e)&&oO.test(t)||(e==="v6"||!e)&&sO.test(t))}function mO(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 Ha(t){if(t instanceof Bt){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=fn.create(Ha(r))}return new Bt({...t._def,shape:()=>e})}else return t instanceof Vr?new Vr({...t._def,type:Ha(t.element)}):t instanceof fn?fn.create(Ha(t.unwrap())):t instanceof ur?ur.create(Ha(t.unwrap())):t instanceof dr?dr.create(t.items.map(e=>Ha(e))):t}function Hf(t,e){let n=lr(t),r=lr(e);if(t===e)return{valid:!0,data:t};if(n===P.object&&r===P.object){let o=ne.objectKeys(e),a=ne.objectKeys(t).filter(l=>o.indexOf(l)!==-1),s={...t,...e};for(let l of a){let d=Hf(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=Hf(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 ub(t,e){return new xo({values:t,typeName:V.ZodEnum,...q(e)})}function sb(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function pb(t,e={},n){return t?Oi.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 h=sb(e,r),m=(p=(u=h.fatal)!=null?u:n)!=null?p:!0;o.addIssue({code:"custom",...h,fatal:m})}});if(!a){let d=sb(e,r),u=(l=(s=d.fatal)!=null?s:n)!=null?l:!0;o.addIssue({code:"custom",...d,fatal:u})}}):Oi.create()}var hn,ab,Q,qN,XN,ZN,QN,JN,eO,tO,nO,rO,Pf,iO,oO,aO,sO,cO,lO,cb,dO,Ni,lo,uo,po,fo,Ua,ho,mo,Oi,jr,Hn,Fa,Vr,Bt,go,Gr,Xd,Eo,dr,Zd,Ba,Ga,Qd,bo,To,xo,_o,Ii,mn,fn,ur,So,Ao,ja,gO,Gc,jc,yo,EO,V,bO,fb,hb,TO,xO,mb,_O,SO,AO,yO,vO,RO,wO,NO,OO,IO,CO,LO,kO,DO,MO,$O,PO,HO,UO,FO,BO,GO,jO,VO,KO,WO,zO,YO,qO,XO,ZO,QO,JO,eI,gb=_(()=>{Wd();zd();ob();$f();Fc();hn=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}},ab=(t,e)=>{if(wi(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 Ft(t.common.issues);return this._error=n,this._error}}};Q=class{get description(){return this._def.description}_getType(e){return lr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:lr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ct,ctx:{common:e.parent.common,data:e.data,parsedType:lr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Pa(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:lr(e)},o=this._parseSync({data:e,path:r.path,parent:r});return ab(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:lr(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:n});return wi(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=>wi(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:lr(e)},o=this._parse({data:e,path:r.path,parent:r}),a=await(Pa(o)?o:Promise.resolve(o));return ab(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:R.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 mn({schema:this,typeName:V.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 fn.create(this,this._def)}nullable(){return ur.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Vr.create(this)}promise(){return Ii.create(this,this._def)}or(e){return go.create([this,e],this._def)}and(e){return Eo.create(this,e,this._def)}transform(e){return new mn({...q(this._def),schema:this,typeName:V.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new So({...q(this._def),innerType:this,defaultValue:n,typeName:V.ZodDefault})}brand(){return new Gc({typeName:V.ZodBranded,type:this,...q(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new Ao({...q(this._def),innerType:this,catchValue:n,typeName:V.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return jc.create(this,e)}readonly(){return yo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},qN=/^c[^\s-]{8,}$/i,XN=/^[0-9a-z]+$/,ZN=/^[0-9A-HJKMNP-TV-Z]{26}$/i,QN=/^[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,JN=/^[a-z0-9_-]{21}$/i,eO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,tO=/^[-+]?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)?)??$/,nO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",iO=/^(?:(?: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])$/,oO=/^(?:(?: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])$/,aO=/^(([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]))$/,sO=/^(([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])$/,cO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,cb="((\\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])))",dO=new RegExp(`^${cb}$`);Ni=class t extends Q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==P.string){let a=this._getOrReturnCtx(e);return L(a,{code:R.invalid_type,expected:P.string,received:a.parsedType}),j}let r=new ct,o;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(o=this._getOrReturnCtx(e,o),L(o,{code:R.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),L(o,{code:R.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?L(o,{code:R.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):l&&L(o,{code:R.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),r.dirty())}else if(a.kind==="email")nO.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"email",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="emoji")Pf||(Pf=new RegExp(rO,"u")),Pf.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"emoji",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="uuid")QN.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"uuid",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="nanoid")JN.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"nanoid",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid")qN.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"cuid",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid2")XN.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"cuid2",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="ulid")ZN.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"ulid",code:R.invalid_string,message:a.message}),r.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),L(o,{validation:"url",code:R.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),L(o,{validation:"regex",code:R.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),L(o,{code:R.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),L(o,{code:R.invalid_string,validation:{startsWith:a.value},message:a.message}),r.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(o=this._getOrReturnCtx(e,o),L(o,{code:R.invalid_string,validation:{endsWith:a.value},message:a.message}),r.dirty()):a.kind==="datetime"?db(a).test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{code:R.invalid_string,validation:"datetime",message:a.message}),r.dirty()):a.kind==="date"?dO.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{code:R.invalid_string,validation:"date",message:a.message}),r.dirty()):a.kind==="time"?uO(a).test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{code:R.invalid_string,validation:"time",message:a.message}),r.dirty()):a.kind==="duration"?tO.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"duration",code:R.invalid_string,message:a.message}),r.dirty()):a.kind==="ip"?pO(e.data,a.version)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"ip",code:R.invalid_string,message:a.message}),r.dirty()):a.kind==="jwt"?fO(e.data,a.alg)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"jwt",code:R.invalid_string,message:a.message}),r.dirty()):a.kind==="cidr"?hO(e.data,a.version)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"cidr",code:R.invalid_string,message:a.message}),r.dirty()):a.kind==="base64"?cO.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"base64",code:R.invalid_string,message:a.message}),r.dirty()):a.kind==="base64url"?lO.test(e.data)||(o=this._getOrReturnCtx(e,o),L(o,{validation:"base64url",code:R.invalid_string,message:a.message}),r.dirty()):ne.assertNever(a);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:R.invalid_string,...B.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...B.errToObj(e)})}url(e){return this._addCheck({kind:"url",...B.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...B.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...B.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...B.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...B.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...B.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...B.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...B.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...B.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...B.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...B.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...B.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,...B.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,...B.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...B.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...B.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...B.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...B.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...B.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...B.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...B.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...B.errToObj(n)})}nonempty(e){return this.min(1,B.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}};Ni.create=t=>{var e;return new Ni({checks:[],typeName:V.ZodString,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...q(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)!==P.number){let a=this._getOrReturnCtx(e);return L(a,{code:R.invalid_type,expected:P.number,received:a.parsedType}),j}let r,o=new ct;for(let a of this._def.checks)a.kind==="int"?ne.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),L(r,{code:R.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),L(r,{code:R.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),L(r,{code:R.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="multipleOf"?mO(e.data,a.value)!==0&&(r=this._getOrReturnCtx(e,r),L(r,{code:R.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),L(r,{code:R.not_finite,message:a.message}),o.dirty()):ne.assertNever(a);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,B.toString(n))}gt(e,n){return this.setLimit("min",e,!1,B.toString(n))}lte(e,n){return this.setLimit("max",e,!0,B.toString(n))}lt(e,n){return this.setLimit("max",e,!1,B.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:B.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:B.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:B.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:B.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:B.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:B.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:B.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:B.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:B.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:B.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"&&ne.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:V.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...q(t)});uo=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)!==P.bigint)return this._getInvalidInput(e);let r,o=new ct;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),L(r,{code:R.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),L(r,{code:R.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),L(r,{code:R.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):ne.assertNever(a);return{status:o.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return L(n,{code:R.invalid_type,expected:P.bigint,received:n.parsedType}),j}gte(e,n){return this.setLimit("min",e,!0,B.toString(n))}gt(e,n){return this.setLimit("min",e,!1,B.toString(n))}lte(e,n){return this.setLimit("max",e,!0,B.toString(n))}lt(e,n){return this.setLimit("max",e,!1,B.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:B.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:B.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:B.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:B.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:B.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:B.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}};uo.create=t=>{var e;return new uo({checks:[],typeName:V.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...q(t)})};po=class extends Q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==P.boolean){let r=this._getOrReturnCtx(e);return L(r,{code:R.invalid_type,expected:P.boolean,received:r.parsedType}),j}return Tt(e.data)}};po.create=t=>new po({typeName:V.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...q(t)});fo=class t extends Q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==P.date){let a=this._getOrReturnCtx(e);return L(a,{code:R.invalid_type,expected:P.date,received:a.parsedType}),j}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return L(a,{code:R.invalid_date}),j}let r=new ct,o;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(o=this._getOrReturnCtx(e,o),L(o,{code:R.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),L(o,{code:R.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),r.dirty()):ne.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:B.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:B.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}};fo.create=t=>new fo({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:V.ZodDate,...q(t)});Ua=class extends Q{_parse(e){if(this._getType(e)!==P.symbol){let r=this._getOrReturnCtx(e);return L(r,{code:R.invalid_type,expected:P.symbol,received:r.parsedType}),j}return Tt(e.data)}};Ua.create=t=>new Ua({typeName:V.ZodSymbol,...q(t)});ho=class extends Q{_parse(e){if(this._getType(e)!==P.undefined){let r=this._getOrReturnCtx(e);return L(r,{code:R.invalid_type,expected:P.undefined,received:r.parsedType}),j}return Tt(e.data)}};ho.create=t=>new ho({typeName:V.ZodUndefined,...q(t)});mo=class extends Q{_parse(e){if(this._getType(e)!==P.null){let r=this._getOrReturnCtx(e);return L(r,{code:R.invalid_type,expected:P.null,received:r.parsedType}),j}return Tt(e.data)}};mo.create=t=>new mo({typeName:V.ZodNull,...q(t)});Oi=class extends Q{constructor(){super(...arguments),this._any=!0}_parse(e){return Tt(e.data)}};Oi.create=t=>new Oi({typeName:V.ZodAny,...q(t)});jr=class extends Q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Tt(e.data)}};jr.create=t=>new jr({typeName:V.ZodUnknown,...q(t)});Hn=class extends Q{_parse(e){let n=this._getOrReturnCtx(e);return L(n,{code:R.invalid_type,expected:P.never,received:n.parsedType}),j}};Hn.create=t=>new Hn({typeName:V.ZodNever,...q(t)});Fa=class extends Q{_parse(e){if(this._getType(e)!==P.undefined){let r=this._getOrReturnCtx(e);return L(r,{code:R.invalid_type,expected:P.void,received:r.parsedType}),j}return Tt(e.data)}};Fa.create=t=>new Fa({typeName:V.ZodVoid,...q(t)});Vr=class t extends Q{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==P.array)return L(n,{code:R.invalid_type,expected:P.array,received:n.parsedType}),j;if(o.exactLength!==null){let s=n.data.length>o.exactLength.value,l=n.data.length<o.exactLength.value;(s||l)&&(L(n,{code:s?R.too_big:R.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&&(L(n,{code:R.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&&(L(n,{code:R.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 hn(n,s,n.path,l)))).then(s=>ct.mergeArray(r,s));let a=[...n.data].map((s,l)=>o.type._parseSync(new hn(n,s,n.path,l)));return ct.mergeArray(r,a)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:B.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:B.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:B.toString(n)}})}nonempty(e){return this.min(1,e)}};Vr.create=(t,e)=>new Vr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:V.ZodArray,...q(e)});Bt=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=ne.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 L(u,{code:R.invalid_type,expected:P.object,received:u.parsedType}),j}let{status:r,ctx:o}=this._processInputParams(e),{shape:a,keys:s}=this._getCached(),l=[];if(!(this._def.catchall instanceof Hn&&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],h=o.data[u];d.push({key:{status:"valid",value:u},value:p._parse(new hn(o,h,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Hn){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&&(L(o,{code:R.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 h=o.data[p];d.push({key:{status:"valid",value:p},value:u._parse(new hn(o,h,o.path,p)),alwaysSet:p in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of d){let h=await p.key,m=await p.value;u.push({key:h,value:m,alwaysSet:p.alwaysSet})}return u}).then(u=>ct.mergeObjectSync(r,u)):ct.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return B.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=B.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:V.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 ne.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 ne.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return Ha(this)}partial(e){let n={};for(let r of ne.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 ne.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let a=this.shape[r];for(;a instanceof fn;)a=a._def.innerType;n[r]=a}return new t({...this._def,shape:()=>n})}keyof(){return ub(ne.objectKeys(this.shape))}};Bt.create=(t,e)=>new Bt({shape:()=>t,unknownKeys:"strip",catchall:Hn.create(),typeName:V.ZodObject,...q(e)});Bt.strictCreate=(t,e)=>new Bt({shape:()=>t,unknownKeys:"strict",catchall:Hn.create(),typeName:V.ZodObject,...q(e)});Bt.lazycreate=(t,e)=>new Bt({shape:t,unknownKeys:"strip",catchall:Hn.create(),typeName:V.ZodObject,...q(e)});go=class extends Q{_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 Ft(l.ctx.common.issues));return L(n,{code:R.invalid_union,unionErrors:s}),j}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 Ft(d));return L(n,{code:R.invalid_union,unionErrors:l}),j}}get options(){return this._def.options}};go.create=(t,e)=>new go({options:t,typeName:V.ZodUnion,...q(e)});Gr=t=>t instanceof bo?Gr(t.schema):t instanceof mn?Gr(t.innerType()):t instanceof To?[t.value]:t instanceof xo?t.options:t instanceof _o?ne.objectValues(t.enum):t instanceof So?Gr(t._def.innerType):t instanceof ho?[void 0]:t instanceof mo?[null]:t instanceof fn?[void 0,...Gr(t.unwrap())]:t instanceof ur?[null,...Gr(t.unwrap())]:t instanceof Gc||t instanceof yo?Gr(t.unwrap()):t instanceof Ao?Gr(t._def.innerType):[],Xd=class t extends Q{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.object)return L(n,{code:R.invalid_type,expected:P.object,received:n.parsedType}),j;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}):(L(n,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),j)}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=Gr(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:V.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...q(r)})}};Eo=class extends Q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=(a,s)=>{if(Yd(a)||Yd(s))return j;let l=Hf(a.value,s.value);return l.valid?((qd(a)||qd(s))&&n.dirty(),{status:n.value,value:l.data}):(L(r,{code:R.invalid_intersection_types}),j)};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}))}};Eo.create=(t,e,n)=>new Eo({left:t,right:e,typeName:V.ZodIntersection,...q(n)});dr=class t extends Q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.array)return L(r,{code:R.invalid_type,expected:P.array,received:r.parsedType}),j;if(r.data.length<this._def.items.length)return L(r,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),j;!this._def.rest&&r.data.length>this._def.items.length&&(L(r,{code:R.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 hn(r,s,r.path,l)):null}).filter(s=>!!s);return r.common.async?Promise.all(a).then(s=>ct.mergeArray(n,s)):ct.mergeArray(n,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};dr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new dr({items:t,typeName:V.ZodTuple,rest:null,...q(e)})};Zd=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!==P.object)return L(r,{code:R.invalid_type,expected:P.object,received:r.parsedType}),j;let o=[],a=this._def.keyType,s=this._def.valueType;for(let l in r.data)o.push({key:a._parse(new hn(r,l,r.path,l)),value:s._parse(new hn(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?ct.mergeObjectAsync(n,o):ct.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Q?new t({keyType:e,valueType:n,typeName:V.ZodRecord,...q(r)}):new t({keyType:Ni.create(),valueType:e,typeName:V.ZodRecord,...q(n)})}},Ba=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!==P.map)return L(r,{code:R.invalid_type,expected:P.map,received:r.parsedType}),j;let o=this._def.keyType,a=this._def.valueType,s=[...r.data.entries()].map(([l,d],u)=>({key:o._parse(new hn(r,l,r.path,[u,"key"])),value:a._parse(new hn(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 j;(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 j;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}}}};Ba.create=(t,e,n)=>new Ba({valueType:e,keyType:t,typeName:V.ZodMap,...q(n)});Ga=class t extends Q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.set)return L(r,{code:R.invalid_type,expected:P.set,received:r.parsedType}),j;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(L(r,{code:R.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&&(L(r,{code:R.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 j;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 hn(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:B.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:B.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};Ga.create=(t,e)=>new Ga({valueType:t,minSize:null,maxSize:null,typeName:V.ZodSet,...q(e)});Qd=class t extends Q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.function)return L(n,{code:R.invalid_type,expected:P.function,received:n.parsedType}),j;function r(l,d){return Bc({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,$a(),Br].filter(u=>!!u),issueData:{code:R.invalid_arguments,argumentsError:d}})}function o(l,d){return Bc({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,$a(),Br].filter(u=>!!u),issueData:{code:R.invalid_return_type,returnTypeError:d}})}let a={errorMap:n.common.contextualErrorMap},s=n.data;if(this._def.returns instanceof Ii){let l=this;return Tt(async function(...d){let u=new Ft([]),p=await l._def.args.parseAsync(d,a).catch(g=>{throw u.addIssue(r(d,g)),u}),h=await Reflect.apply(s,this,p);return await l._def.returns._def.type.parseAsync(h,a).catch(g=>{throw u.addIssue(o(h,g)),u})})}else{let l=this;return Tt(function(...d){let u=l._def.args.safeParse(d,a);if(!u.success)throw new Ft([r(d,u.error)]);let p=Reflect.apply(s,this,u.data),h=l._def.returns.safeParse(p,a);if(!h.success)throw new Ft([o(p,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:dr.create(e).rest(jr.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||dr.create([]).rest(jr.create()),returns:n||jr.create(),typeName:V.ZodFunction,...q(r)})}},bo=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})}};bo.create=(t,e)=>new bo({getter:t,typeName:V.ZodLazy,...q(e)});To=class extends Q{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return L(n,{received:n.data,code:R.invalid_literal,expected:this._def.value}),j}return{status:"valid",value:e.data}}get value(){return this._def.value}};To.create=(t,e)=>new To({value:t,typeName:V.ZodLiteral,...q(e)});xo=class t extends Q{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return L(n,{expected:ne.joinValues(r),received:n.parsedType,code:R.invalid_type}),j}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 L(n,{received:n.data,code:R.invalid_enum_value,options:r}),j}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})}};xo.create=ub;_o=class extends Q{_parse(e){let n=ne.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==P.string&&r.parsedType!==P.number){let o=ne.objectValues(n);return L(r,{expected:ne.joinValues(o),received:r.parsedType,code:R.invalid_type}),j}if(this._cache||(this._cache=new Set(ne.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=ne.objectValues(n);return L(r,{received:r.data,code:R.invalid_enum_value,options:o}),j}return Tt(e.data)}get enum(){return this._def.values}};_o.create=(t,e)=>new _o({values:t,typeName:V.ZodNativeEnum,...q(e)});Ii=class extends Q{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.promise&&n.common.async===!1)return L(n,{code:R.invalid_type,expected:P.promise,received:n.parsedType}),j;let r=n.parsedType===P.promise?n.data:Promise.resolve(n.data);return Tt(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ii.create=(t,e)=>new Ii({type:t,typeName:V.ZodPromise,...q(e)});mn=class extends Q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===V.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=>{L(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 j;let d=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return d.status==="aborted"?j:d.status==="dirty"?co(d.value):n.value==="dirty"?co(d.value):d});{if(n.value==="aborted")return j;let l=this._def.schema._parseSync({data:s,path:r.path,parent:r});return l.status==="aborted"?j:l.status==="dirty"?co(l.value):n.value==="dirty"?co(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"?j:(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"?j:(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(!wi(s))return j;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=>wi(s)?Promise.resolve(o.transform(s.value,a)).then(l=>({status:n.value,value:l})):j);ne.assertNever(o)}};mn.create=(t,e,n)=>new mn({schema:t,typeName:V.ZodEffects,effect:e,...q(n)});mn.createWithPreprocess=(t,e,n)=>new mn({schema:e,effect:{type:"preprocess",transform:t},typeName:V.ZodEffects,...q(n)});fn=class extends Q{_parse(e){return this._getType(e)===P.undefined?Tt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};fn.create=(t,e)=>new fn({innerType:t,typeName:V.ZodOptional,...q(e)});ur=class extends Q{_parse(e){return this._getType(e)===P.null?Tt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ur.create=(t,e)=>new ur({innerType:t,typeName:V.ZodNullable,...q(e)});So=class extends Q{_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}};So.create=(t,e)=>new So({innerType:t,typeName:V.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...q(e)});Ao=class extends Q{_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 Pa(o)?o.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Ft(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ft(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ao.create=(t,e)=>new Ao({innerType:t,typeName:V.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...q(e)});ja=class extends Q{_parse(e){if(this._getType(e)!==P.nan){let r=this._getOrReturnCtx(e);return L(r,{code:R.invalid_type,expected:P.nan,received:r.parsedType}),j}return{status:"valid",value:e.data}}};ja.create=t=>new ja({typeName:V.ZodNaN,...q(t)});gO=Symbol("zod_brand"),Gc=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}},jc=class t extends Q{_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"?j:a.status==="dirty"?(n.dirty(),co(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"?j: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:V.ZodPipeline})}},yo=class extends Q{_parse(e){let n=this._def.innerType._parse(e),r=o=>(wi(o)&&(o.value=Object.freeze(o.value)),o);return Pa(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};yo.create=(t,e)=>new yo({innerType:t,typeName:V.ZodReadonly,...q(e)});EO={object:Bt.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"})(V||(V={}));bO=(t,e={message:`Input not instance of ${t.name}`})=>pb(n=>n instanceof t,e),fb=Ni.create,hb=lo.create,TO=ja.create,xO=uo.create,mb=po.create,_O=fo.create,SO=Ua.create,AO=ho.create,yO=mo.create,vO=Oi.create,RO=jr.create,wO=Hn.create,NO=Fa.create,OO=Vr.create,IO=Bt.create,CO=Bt.strictCreate,LO=go.create,kO=Xd.create,DO=Eo.create,MO=dr.create,$O=Zd.create,PO=Ba.create,HO=Ga.create,UO=Qd.create,FO=bo.create,BO=To.create,GO=xo.create,jO=_o.create,VO=Ii.create,KO=mn.create,WO=fn.create,zO=ur.create,YO=mn.createWithPreprocess,qO=jc.create,XO=()=>fb().optional(),ZO=()=>hb().optional(),QO=()=>mb().optional(),JO={string:(t=>Ni.create({...t,coerce:!0})),number:(t=>lo.create({...t,coerce:!0})),boolean:(t=>po.create({...t,coerce:!0})),bigint:(t=>uo.create({...t,coerce:!0})),date:(t=>fo.create({...t,coerce:!0}))},eI=j});var i={};Uc(i,{BRAND:()=>gO,DIRTY:()=>co,EMPTY_PATH:()=>YN,INVALID:()=>j,NEVER:()=>eI,OK:()=>Tt,ParseStatus:()=>ct,Schema:()=>Q,ZodAny:()=>Oi,ZodArray:()=>Vr,ZodBigInt:()=>uo,ZodBoolean:()=>po,ZodBranded:()=>Gc,ZodCatch:()=>Ao,ZodDate:()=>fo,ZodDefault:()=>So,ZodDiscriminatedUnion:()=>Xd,ZodEffects:()=>mn,ZodEnum:()=>xo,ZodError:()=>Ft,ZodFirstPartyTypeKind:()=>V,ZodFunction:()=>Qd,ZodIntersection:()=>Eo,ZodIssueCode:()=>R,ZodLazy:()=>bo,ZodLiteral:()=>To,ZodMap:()=>Ba,ZodNaN:()=>ja,ZodNativeEnum:()=>_o,ZodNever:()=>Hn,ZodNull:()=>mo,ZodNullable:()=>ur,ZodNumber:()=>lo,ZodObject:()=>Bt,ZodOptional:()=>fn,ZodParsedType:()=>P,ZodPipeline:()=>jc,ZodPromise:()=>Ii,ZodReadonly:()=>yo,ZodRecord:()=>Zd,ZodSchema:()=>Q,ZodSet:()=>Ga,ZodString:()=>Ni,ZodSymbol:()=>Ua,ZodTransformer:()=>mn,ZodTuple:()=>dr,ZodType:()=>Q,ZodUndefined:()=>ho,ZodUnion:()=>go,ZodUnknown:()=>jr,ZodVoid:()=>Fa,addIssueToContext:()=>L,any:()=>vO,array:()=>OO,bigint:()=>xO,boolean:()=>mb,coerce:()=>JO,custom:()=>pb,date:()=>_O,datetimeRegex:()=>db,defaultErrorMap:()=>Br,discriminatedUnion:()=>kO,effect:()=>KO,enum:()=>GO,function:()=>UO,getErrorMap:()=>$a,getParsedType:()=>lr,instanceof:()=>bO,intersection:()=>DO,isAborted:()=>Yd,isAsync:()=>Pa,isDirty:()=>qd,isValid:()=>wi,late:()=>EO,lazy:()=>FO,literal:()=>BO,makeIssue:()=>Bc,map:()=>PO,nan:()=>TO,nativeEnum:()=>jO,never:()=>wO,null:()=>yO,nullable:()=>zO,number:()=>hb,object:()=>IO,objectUtil:()=>Df,oboolean:()=>QO,onumber:()=>ZO,optional:()=>WO,ostring:()=>XO,pipeline:()=>qO,preprocess:()=>YO,promise:()=>VO,quotelessJson:()=>KN,record:()=>$O,set:()=>HO,setErrorMap:()=>zN,strictObject:()=>CO,string:()=>fb,symbol:()=>SO,transformer:()=>KO,tuple:()=>MO,undefined:()=>AO,union:()=>LO,unknown:()=>RO,util:()=>ne,void:()=>NO});var Uf=_(()=>{zd();$f();ib();Fc();gb();Wd()});var re=_(()=>{Uf();Uf()});var Va,Ff=_(()=>{"use strict";Va={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var Jd,Bf,O,gP,tI,EP,Kr=_(()=>{"use strict";Jd={SIGNAL:"signal",NET:"net",STATE:"state"},Bf={ELEMENT:"element",TEXT:"text"},O={ELEMENT:Bf.ELEMENT,TEXT:Bf.TEXT,SIGNAL:Jd.SIGNAL,NET:Jd.NET,STATE:Jd.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},gP=new Set(Object.values(Jd)),tI=new Set(Object.values(Bf)),EP=new Set([...tI,O.ROUTE])});var Eb,bb,Tb,Gf,nI,xb,gn,_b,we,Nt,eu,Vc=_(()=>{"use strict";Eb=1,bb={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},Tb={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},Gf=2,nI=3,xb=new Set([1,Gf,nI]),gn={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},_b="unresolved",we={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"},Nt={IDLE:"idle",RECORDING:"recording",ANNOTATING:"annotating"},eu={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var Sb,jf=_(()=>{"use strict";Sb={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var S,Ab=_(()=>{"use strict";S={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 vb(t=Vf,e=rI){return`ws://${e}:${String(t)}${vo}`}var Vf,vo,tu,yb,rI,pr,nu,SP,G,Ne,ru,Rb,Ka,AP,wb,vP,iu,ou,Nb,Wa,au,iI,RP,I,Ob,Ib,ce,et,D,Ge,za,Ot,Gt=_(()=>{"use strict";Ab();Vf=4400,vo="/reticle",tu=1,yb=1,rI="localhost";pr={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened",HUD:"__reticle_hud"},nu="https://app.reticle.sh",SP={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},Ne="[REDACTED]",ru="confirmDangerous",Rb="native",Ka={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"},AP=1440*60*1e3,wb=1,vP={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:G.MAX_BUFFER_BYTES},iu="__reticle_renders",ou={DOM:"dom",JOURNAL:"journal"},Nb={WINDOW:"window"},Wa={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},au={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"},iI="console.",RP=[S.CONSOLE_LOG,S.CONSOLE_WARN,S.CONSOLE_ERROR,S.CONSOLE_INFO].map(t=>t.slice(iI.length)),I={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"},Ob={TIMEOUT:"timeout",THROTTLED:"throttled"},Ib={UNAVAILABLE:"component-state-unavailable"},ce={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"},D={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",FLOW_PROGRESS:"flow.progress",PLAN:"plan"},Ge={IDLE:"idle",READING:"reading",ACTING:"acting"},za={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},Ot={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var En,oI,bn,OP,Ro=_(()=>{"use strict";re();En={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},oI=i.union([i.nativeEnum(En),i.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),bn=i.object({surface:oI,instance:i.string().min(1),epoch:i.number().int().nonnegative().optional(),locator:i.string().optional(),revision:i.string().optional()}),OP=i.object({kind:i.enum(["instance","epoch"]),from:i.string(),to:i.string()})});var v,qt,jt,It,Kf,Wf,Un=_(()=>{"use strict";re();v={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},qt=i.union([i.nativeEnum(v),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"},It={CONSEQUENCE:"consequence",PRESENCE:"presence",CONTEXT:"context"},Kf=i.object({id:qt,independence:i.nativeEnum(jt),grade:i.nativeEnum(It),note:i.string().optional()}),Wf={[v.UI]:{independence:jt.ACTUATION_DERIVED,grade:It.PRESENCE},[v.NET]:{independence:jt.INDEPENDENT,grade:It.CONSEQUENCE},[v.STATE]:{independence:jt.ACTUATION_DERIVED,grade:It.CONSEQUENCE},[v.SIGNAL]:{independence:jt.ACTUATION_DERIVED,grade:It.CONSEQUENCE},[v.LOG]:{independence:jt.INDEPENDENT,grade:It.CONTEXT},[v.ROUTE]:{independence:jt.ACTUATION_DERIVED,grade:It.PRESENCE},[v.STORAGE]:{independence:jt.ACTUATION_DERIVED,grade:It.CONSEQUENCE},[v.TIME]:{independence:jt.INDEPENDENT,grade:It.CONTEXT},[v.VISUAL]:{independence:jt.ACTUATION_DERIVED,grade:It.PRESENCE}}});var Cb=_(()=>{"use strict"});var $P,Lb=_(()=>{"use strict";re();Ro();$P=i.object({id:i.string().min(1),subject:bn,capturedAt:i.number().int(),payload:i.unknown().optional()})});var UP,kb=_(()=>{"use strict";re();UP=i.object({mutation:i.string().min(1)})});var aI,zf,sI,cI,Db,Mb,Yf,$b,Pb,Kc=_(()=>{"use strict";re();Un();aI={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},zf={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},sI=i.object({id:i.string().min(1),statement:i.string().min(1),origin:i.nativeEnum(aI),claims:i.array(i.string()).default([]),declaredAt:i.number().int().optional()}),cI=i.discriminatedUnion("status",[i.object({status:i.literal(zf.ABANDONED),abandonedBecause:i.string().trim().min(1)}),i.object({status:i.literal(zf.DECLARED),abandonedBecause:i.undefined().optional()}),i.object({status:i.literal(zf.BOUND),abandonedBecause:i.undefined().optional()})]),Db=sI.and(cI),Mb={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},Yf=i.object({id:i.string().min(1),predicate:i.unknown(),reads:i.string().min(1),channels:i.array(qt).min(1)}),$b=i.object({id:i.string().min(1),intent:i.string().optional(),statement:i.string().min(1),declaredAt:i.nativeEnum(Mb),assertions:i.array(Yf).default([])}),Pb=i.object({id:i.string().min(1),statement:i.string().min(1),predicate:i.unknown(),channels:i.array(qt).min(1),severity:i.enum(["blocking","advisory"]).default("blocking")})});var lI,Ya,zP,qf,Hb,Ub,dI,Fb,Ci=_(()=>{"use strict";re();Un();Ro();lI=i.object({id:i.string().min(1),window:i.string().min(1),channel:qt,at:i.number().int(),value:i.unknown(),summary:i.string().min(1)}),Ya={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},zP={[Ya.LEARNED]:0,[Ya.OBSERVED]:1,[Ya.DERIVED]:2,[Ya.AUTHORITATIVE]:3},qf=i.object({class:i.nativeEnum(Ya),source:i.string().min(1),method:i.string().min(1),subject:bn,at:i.number().int(),confidence:i.number().min(0).max(1).optional()}),Hb=i.object({observation:lI,provenance:qf,independence:i.nativeEnum(jt),grade:i.nativeEnum(It)}),Ub={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},dI=i.object({kind:i.nativeEnum(Ub),channel:qt.optional(),detail:i.string().min(1),impeaching:i.boolean(),remedy:i.string().optional()}),Fb=i.object({window:i.string().min(1),observed:i.array(qt),blindSpots:i.array(dI)})});var pI,fI,su,hI,cu,Xf,QP,Bb=_(()=>{"use strict";re();Un();Ci();pI=i.object({channel:qt}),fI=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()})]),su=pI.and(fI),hI={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},cu={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},Xf={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},QP=i.discriminatedUnion("kind",[i.object({kind:i.literal(cu.COUNT),match:su,op:i.nativeEnum(hI),value:i.number().int().nonnegative()}),i.object({kind:i.literal(cu.PRESENT),match:su}),i.object({kind:i.literal(cu.ABSENT),match:su}),i.object({kind:i.literal(cu.MEASURE),match:su,op:i.nativeEnum(Xf),value:i.number().finite(),tolerance:i.number().nonnegative().finite().default(0)})])});var nH,Zf,rH,lu,Gb,Wc,jb,iH,wo=_(()=>{"use strict";re();Ro();nH=i.object({name:i.string().min(1),meaning:i.string().min(1),parameters:i.unknown().optional(),mutating:i.boolean()}),Zf={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},rH=i.object({ref:i.string().min(1),describes:i.string().min(1),at:i.string().optional()}),lu=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()}),Gb=i.object({action:i.string().min(1),dispatched:i.boolean(),refused:i.object({reason:i.nativeEnum(Zf),detail:i.string().min(1)}).optional(),subject:bn,at:i.number().int()}),Wc={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},jb=i.object({id:i.string().min(1),openedAt:i.number().int(),closedAt:i.number().int().optional(),budgetMs:i.number().int().positive(),closes:i.nativeEnum(Wc),closedBy:i.nativeEnum(Wc).optional(),subject:bn}),iH=new Set([Wc.BUDGET_EXHAUSTED,Wc.TERMINATED])});var du,mI,Vb,gI,Qf,Jf,Kb,qa=_(()=>{"use strict";re();Un();du={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},mI=i.string().min(1),Vb={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"},gI=i.union([i.nativeEnum(Vb),i.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),Qf={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},Jf=i.object({kind:gI,tier:i.nativeEnum(Qf),claim:i.string().min(1),counter:i.string().min(1),between:i.tuple([qt,qt]),evidence:i.array(i.string()).default([])}),Kb=i.object({id:i.string().min(1),claim:i.string().min(1),window:i.string().min(1),verdict:i.nativeEnum(du),grade:i.nativeEnum(It).optional(),reasons:i.array(mI).default([]),evidence:i.array(i.string()).default([]),anomalies:i.array(Jf).default([]),supersedes:i.string().optional(),at:i.number().int()})});var EI,bI,TI,hH,Wb,xI,mH,eh=_(()=>{"use strict";re();wo();Kc();Ci();qa();EI=i.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),bI=i.object({id:i.string().min(1),invoke:EI,with:i.unknown().optional(),at:i.number().int()}),TI=i.union([lu,bI]),hH=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(TI),expects:i.array(Yf).default([]),mayRebind:i.boolean().default(!1)}),Wb=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)}),xI={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},mH=i.object({id:i.string().min(1),kind:i.nativeEnum(xI),statement:i.string().min(1),provenance:qf,observations:i.number().int().nonnegative().default(0),promotedBy:i.string().optional(),promotedAt:i.number().int().optional()})});var _I,SI,vH,zb=_(()=>{"use strict";re();Un();Kc();wo();Ci();qa();eh();Ro();_I="1.0",SI=i.object({constraint:i.string().min(1),at:i.number().int(),detail:i.string().min(1),evidence:i.array(i.string()).default([])}),vH=i.object({ovp:i.literal(_I),id:i.string().min(1),verifier:i.object({name:i.string().min(1),version:i.string().min(1),profile:i.string().optional()}),subject:bn,channels:i.array(Kf),witnesses:i.array(i.object({name:i.string().min(1),subject:bn,channels:i.array(Kf)})).default([]),intents:i.array(Db).default([]),claims:i.array($b).default([]),constraints:i.array(Pb).default([]),actions:i.array(lu).default([]),receipts:i.array(Gb).default([]),windows:i.array(jb).default([]),evidence:i.array(Hb).default([]),coverage:i.array(Fb).default([]),anomalies:i.array(Jf).default([]),verdicts:i.array(Kb).default([]),violations:i.array(SI).default([]),repairs:i.array(Wb).default([]),startedAt:i.number().int(),endedAt:i.number().int()})});var th=_(()=>{"use strict";qa()});var nh=_(()=>{"use strict";Kc();Un();Ci();wo();qa()});var rh=_(()=>{"use strict";wo();Un();th();Ci();nh()});var ih=_(()=>{"use strict"});var Yb=_(()=>{"use strict";ih()});var No,XH,ZH,QH,qb=_(()=>{"use strict";re();Un();No={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},XH=[No.EFFECT,No.IN_REALM,No.SURFACE],ZH={[No.EFFECT]:[v.NET,v.LOG],[No.IN_REALM]:[v.NET,v.LOG,v.STATE,v.SIGNAL],[No.SURFACE]:[v.NET,v.LOG,v.STATE,v.SIGNAL,v.UI]},QH=i.object({name:i.string().min(1),version:i.string().min(1),platform:i.string().min(1),claims:i.nativeEnum(No),homepage:i.string().optional()})});var Xb=_(()=>{"use strict";rh();Un();wo();Ci();Ro()});var zc=_(()=>{"use strict";Ro();Un();Cb();Lb();kb();Kc();Bb();wo();Ci();qa();eh();zb();rh();th();ih();Yb();nh();qb();Xb()});var Xa,je,Zb,Ct,Oo=_(()=>{"use strict";Xa={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},je={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"},Zb={BUFFER_LOSS:"buffer_loss",TRANSPORT_GAP:"transport_gap",BLIND_SPOT:"blind_spot",JOURNAL_LOSS:"journal_loss",OTHER:"other"},Ct={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 vI,RI,wI,NI,OI,II,CI,LI,uu,kI,DI,MI,$I,PI,HI,UI,FI,BI,GI,kU,jI,VI,KI,WI,zI,YI,qI,XI,ZI,DU,oh=_(()=>{"use strict";re();zc();Kr();Oo();vI=3,RI=1,wI=2,NI={pass:Xa.YES,fail:Xa.NO},OI={network:O.NET,layout:O.ELEMENT},II=i.string().brand(),CI={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},LI={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},uu={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},kI={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},DI={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},MI={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},$I={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},PI={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},HI={PREVIEW:"preview",CI:"ci",LOCAL:"local"},UI={HIGH:"high",MEDIUM:"medium",LOW:"low"},FI={DEV:"dev",PROD_PREVIEW:"prod-preview"},BI=i.object({file:i.string(),line:i.number().optional(),component:i.string().optional()}),GI=i.object({path:i.string(),changeKind:i.nativeEnum(MI),risk:i.array(i.nativeEnum(uu)).default([])}),kU=64*1024,jI=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()}),VI=i.object({startPath:i.string().optional(),steps:i.array(i.unknown())}),KI=i.object({name:i.string(),template:i.string().optional(),status:i.nativeEnum(LI),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(jI).optional(),recording:VI.optional(),recordingOmitted:i.boolean().optional()}),WI=i.object({kind:i.preprocess(t=>{var e;return typeof t=="string"&&(e=OI[t])!=null?e:t},i.nativeEnum(O).optional()),predicate:i.string(),status:i.preprocess(t=>{var e;return typeof t=="string"&&(e=NI[t])!=null?e:t},i.nativeEnum(Xa)),evidence:i.unknown().optional(),declaredBeforeActing:i.boolean().optional(),grade:i.string().optional(),couldNotSee:i.array(i.string()).optional(),reason:i.string().optional(),checkId:i.string().optional(),supersedes:i.string().optional()}),zI=i.object({surface:i.nativeEnum(uu),severity:i.nativeEnum(kI),detail:i.string(),evidence:i.object({file:i.string().optional(),line:i.number().optional(),network:i.string().optional()}).optional(),gated:i.boolean().default(!1)}),YI=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([])}),qI=i.object({flow:i.string().optional(),step:i.number().optional(),expected:i.string(),actual:i.string(),sourceLocation:BI.optional(),suggestedPrompt:i.string()}),XI=i.object({status:i.nativeEnum(CI),reasons:i.array(i.string()).default([]),confidence:i.nativeEnum(UI),blockingRisks:i.number().default(0),checkId:i.string().optional(),supersedes:i.string().optional()}),ZI=i.object({alg:i.string(),value:i.string(),signedAt:i.number()}),DU=i.object({schemaVersion:i.union([i.literal(vI),i.literal(wI),i.literal(RI)]),runId:II,createdAt:i.number(),durationMs:i.number(),profile:i.nativeEnum(FI),project:i.object({name:i.string(),framework:i.nativeEnum(PI),commit:i.string().optional(),env:i.nativeEnum(HI).optional(),previewUrl:i.string().optional()}),agent:i.object({id:i.string(),kind:i.nativeEnum($I),model:i.string().optional()}),trigger:i.object({kind:i.nativeEnum(DI),diffRef:i.string().optional(),note:i.string().optional()}),editEpoch:i.number().optional(),subject:bn.optional(),context:i.record(i.unknown()).optional(),changedFiles:i.array(GI).default([]),flows:i.array(KI).default([]),checks:i.array(WI).default([]),risks:i.array(zI).default([]),evidence:YI,repair:i.object({failurePackets:i.array(qI).default([])}).optional(),verdict:XI,signature:ZI.optional()})});var QI,Yc,JI,eC,tC,nC,BU,rC,iC,oC,GU,jU,ah=_(()=>{"use strict";re();Gt();Vc();oh();QI=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\`.`}))),Yc=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:QI.optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).strict().optional(),scope:i.string().optional(),self:i.boolean().optional()}).strict(),JI=i.object({name:i.string(),steps:i.array(i.string())}),eC=i.object({surface:i.nativeEnum(uu),paths:i.array(i.string()).optional(),note:i.string().optional()}),tC=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(eC).optional()}),nC=i.object({testids:i.array(i.string()),signals:i.array(i.string()),stores:i.array(i.string()),flows:i.array(JI),governance:tC.optional()}),BU=i.object({version:i.literal(wb),generatedAt:i.number(),capabilities:nC}),rC=i.object({consoleErrors:i.number().optional(),networkErrors:i.number().optional(),driftSteps:i.number().optional()}),iC=i.object({kind:i.nativeEnum(bb),name:i.string(),status:i.nativeEnum(Tb),at:i.number(),summary:i.string().optional(),evidence:rC.optional(),durationMs:i.number().optional()}),oC=i.object({flows:i.array(i.string()).optional(),routes:i.array(i.string()).optional(),bestObservability:i.object({percent:i.number(),at:i.number()}).optional()}),GU=i.object({version:i.literal(Eb),learned:oC.optional(),runs:i.array(iC)}),jU=i.discriminatedUnion("kind",[i.object({kind:i.literal(we.ASSERT_SIGNAL),name:i.string().min(1),dataMatches:i.record(i.unknown()).optional()}),i.object({kind:i.literal(we.ASSERT_VISIBLE),testid:i.string().min(1)}),i.object({kind:i.literal(we.ASSERT_STATE),statePath:i.string().min(1),store:i.string().min(1).optional(),equals:i.unknown().optional()}),i.object({kind:i.literal(we.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(we.MARK_DYNAMIC),testid:i.string().min(1)}),i.object({kind:i.literal(we.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(we.INTENT),text:i.string().min(1)})])});function Jb(t,e){let n=Qb(t),r=Qb(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(a=>n[a]===r[a])}function Qb(t){var e,n;return O.NET===t.from?{...t,body:(e=t.body)!=null?e:ch.RESPONSE,method:(n=t.method)==null?void 0:n.toUpperCase()}:{...t}}var ch,pu,sh,lh,dh=_(()=>{"use strict";re();Kr();ch={RESPONSE:"response",REQUEST:"request"},pu={VALUE:"value",NUMBER:"number"},sh=i.string().min(1),lh=i.discriminatedUnion("from",[i.object({from:i.literal(O.NET),urlContains:i.string().min(1),method:i.string().optional(),body:i.enum([ch.RESPONSE,ch.REQUEST]).optional(),path:sh}).strict(),i.object({from:i.literal(O.SIGNAL),name:i.string().min(1),path:sh}).strict(),i.object({from:i.literal(O.STATE),store:i.string().optional(),path:sh}).strict(),i.object({from:i.literal(O.TEXT),scope:i.string().min(1)}).strict()])});var eT,uh,ph=_(()=>{"use strict";re();zc();eT=i.object({op:i.nativeEnum(Xf),value:i.number().finite(),tolerance:i.number().finite().nonnegative().optional()}).strict(),uh=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:eT.optional()}).strict(),i.object({property:i.literal("decreased"),by:eT.optional()}).strict()])});function cC(t){if(t.kind!==void 0||typeof t[fh]!="string")return t;let e={...t,kind:t[fh]};return delete e[fh],e}function lC(t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let n=cC(t),r=typeof n.kind=="string"?n.kind:"",o=aC[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 O.ELEMENT===r?dC(a):a}function dC(t){let e=sC.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 uC(){return i.discriminatedUnion("kind",[i.object({kind:i.literal(O.ELEMENT),query:Yc,state:i.nativeEnum(ce).optional(),absent:i.boolean().optional()}).strict(),i.object({kind:i.literal(O.TEXT),contains:i.string().optional(),visible:i.boolean().optional(),absent:i.boolean().optional(),scope:i.string().optional(),self:i.boolean().optional(),satisfies:uh.optional()}).strict(),i.object({kind:i.literal(O.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()}).strict(),i.object({kind:i.literal(O.ROUTE),pathname:i.string().optional(),contains:i.string().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(O.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(O.ANIMATION),name:i.string().optional(),target:i.string().optional(),completed:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(O.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(O.STATE),store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),satisfies:uh.optional()}).strict(),i.object({kind:i.literal(O.SETTLED),quietMs:i.number().positive().optional()}).strict(),i.object({kind:i.literal(O.COMPARE),left:lh,right:lh,as:i.enum([pu.VALUE,pu.NUMBER]).optional(),tolerance:i.number().finite().nonnegative().optional()}).strict(),i.object({kind:i.literal(O.ALL_OF),predicates:i.array(qc).min(1)}).strict(),i.object({kind:i.literal(O.ANY_OF),predicates:i.array(qc).min(1)}).strict(),i.object({kind:i.literal(O.NOT),predicate:qc}).strict()])}function pC(t,e){if(typeof t!="object"||t===null)return;let n=t;if(O.COMPARE===n.kind){fC(t,e);return}O.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 fC(t,e){Jb(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&&pu.NUMBER!==t.as&&e.addIssue({code:i.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var aC,fh,sC,qc,hh=_(()=>{"use strict";re();ah();Gt();dh();Kr();ph();aC={[O.TEXT]:{text:"contains",value:"contains",query:"contains"},[O.ROUTE]:{path:"pathname",urlContains:"contains",url:"contains"},[O.NET]:{url:"urlContains",responseBodyMatches:"bodyMatches"},[O.CONSOLE]:{textContains:"contains"},[O.SIGNAL]:{data:"dataMatches"},[O.ALL_OF]:{of:"predicates"},[O.ANY_OF]:{of:"predicates"},[O.NOT]:{of:"predicate"}},fh="type",sC=Object.keys(Yc.shape);qc=i.lazy(()=>i.preprocess(lC,uC()).superRefine(pC))});function tT(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 fu(t){let e=(n,r)=>r!==void 0&&hC.test(r)?`${n} "${r}"`:void 0;switch(t.kind){case O.ALL_OF:case O.ANY_OF:for(let n of t.predicates){let r=fu(n);if(r!==void 0)return r}return;case O.NOT:return fu(t.predicate);case O.TEXT:return e("text.scope",t.scope);case O.ELEMENT:return e("element.query.scope",t.query.scope);case O.ANIMATION:return e("animation.target",t.target);case O.COMPARE:for(let[n,r]of[["left",t.left],["right",t.right]]){if(O.TEXT!==r.from)continue;let o=e(`compare.${n}.scope`,r.scope);if(o!==void 0)return o}return;default:return}}var hC,mh=_(()=>{"use strict";Kr();hC=/^e\d+$/});function rT(t){let e=[];if(t.signal!==void 0){let s={kind:O.SIGNAL,name:t.signal};t.signalData!==void 0&&(s.dataMatches=t.signalData),t.signalCount!==void 0&&(s.count=t.signalCount,e.push({kind:O.SETTLED})),e.push(s)}if(t.route!==void 0){let s={kind:O.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:O.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:O.SETTLED})),e.push(s)}if(t.console!==void 0){let s={kind:O.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:O.SETTLED})),e.push(s)}let n=t.state;if(n!==void 0){let s={kind:O.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:O.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:O.ELEMENT,query:s})}let o=t.text;if(o!==void 0){let s={kind:O.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:O.SETTLED})),e.push(s)}let[a]=e;if(e.length!==0)return e.length===1&&a!==void 0?a:{kind:O.ALL_OF,predicates:e}}var nT,gh=_(()=>{"use strict";re();Kr();nT=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 oT,mC,Eh,iT,gC,aT,EC,bF,sT=_(()=>{"use strict";re();Vc();jf();Gt();hh();mh();gh();Vc();oT=i.discriminatedUnion("kind",[i.object({kind:i.literal(gn.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(gn.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(gn.SIGNAL),name:i.string().min(1)}),i.object({kind:i.literal(gn.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()})]),mC=qc.superRefine((t,e)=>{let n=fu(t);n!==void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:tT(n)})}),Eh=i.union([mC,nT.transform(t=>rT(t))]),iT=i.array(Eh).transform(t=>t.filter(e=>e!==void 0)),gC=i.object({tool:i.string(),anchor:oT,source:i.object({file:i.string().min(1),line:i.number().int().positive().optional()}).optional(),id:i.string().min(1).optional(),effect:i.nativeEnum(Sb).optional(),healed:i.object({from:i.string(),at:i.number()}).optional(),action:i.nativeEnum(I).optional(),args:i.record(i.unknown()).optional(),expect:Eh.optional(),degraded:i.boolean().optional(),timeoutMs:i.number().int().positive().optional(),invoke:i.string().min(1).optional(),page:i.string().optional(),endPage:i.string().optional()}),aT=gC.extend({steps:i.lazy(()=>i.array(aT).optional())}),EC=i.object({version:i.number().int().refine(t=>xb.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:iT.optional(),ensures:iT.optional(),author:i.object({agent:i.string().min(1).optional(),person:i.string().min(1).optional()}).optional(),createdAt:i.number(),steps:i.array(aT),signalTimeoutMs:i.number().int().positive().optional(),success:Eh.optional(),dynamic:i.array(oT).optional(),labels:i.array(i.string().min(1)).optional(),needs:i.array(i.string().min(1)).optional(),status:i.enum([eu.ACTIVE,eu.QUARANTINED,eu.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()}),bF=i.object({name:i.string(),flow:EC})});var cT=_(()=>{"use strict"});var lT=_(()=>{"use strict"});var dT=_(()=>{"use strict"});var hu,mu,uT,pT=_(()=>{"use strict";hu="data-reticle-source",mu="__RETICLE_ROOT__",uT="__RETICLE_SDK_VERSION__"});var Wr,fT,hT,mT=_(()=>{"use strict";Wr="data-testid",fT=["data-test-subj","data-cy","data-test","data-qa","data-e2e"],hT=/^[a-zA-Z_][\w-]*$/});var gT,ET=_(()=>{"use strict";Gt();gT=new Set([S.DOM_TEXT,S.ANIM_START,S.ANIM_END,S.RENDER_COMMIT,S.PAGE_HEALTH,S.SCROLL_POSITION])});function bh(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:bC}function Th(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 xC(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function TT(t){if(xC(t))return!0;let e=Th(t);if(1<e.length)return!0;if(e.length===1){let n=e[0];return n!==void 0&&bT.has(n.toLowerCase())}return bT.has(bh(t).toLowerCase())}var bC,TC,bT,xT=_(()=>{"use strict";bC="Enter",TC=["Escape","Tab"],bT=new Set(TC.map(t=>t.toLowerCase()))});function Za(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,3e4)}var _T=_(()=>{"use strict"});var tt,IF,ST=_(()=>{"use strict";Oo();tt={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},IF={[je.ASSERTION_FAILED]:tt.CODE,[je.CONTRADICTED]:tt.CODE,[je.OUTCOME_PENDING]:tt.ENVIRONMENT,[je.UNSETTLED]:tt.ENVIRONMENT,[je.VERSION_SKEW]:tt.HARNESS,[je.WINDOW_CLOSED_EARLY]:tt.HARNESS,[je.NOTHING_DECLARED]:tt.HARNESS,[je.VACUOUS_GRADE]:tt.HARNESS,[je.ALREADY_TRUE]:tt.HARNESS,[je.HIDDEN_MATCH]:tt.HARNESS,[je.CAPABILITY_ABSENT]:tt.COULD_NOT_SEE,[je.OBSERVATION_LOST]:tt.COULD_NOT_SEE,[je.UNCLEAN_CAPTURE]:tt.COULD_NOT_SEE,[je.EVIDENCE_INCOMPLETE]:tt.COULD_NOT_SEE,[je.ABSENCE_BLIND_SPOT]:tt.COULD_NOT_SEE,[je.OUTCOME_UNREAD]:tt.COULD_NOT_SEE,[je.INCONCLUSIVE]:tt.COULD_NOT_SEE,[je.PROVED]:tt.NONE}});var Io,_C,SC,AC,kF,AT=_(()=>{"use strict";re();Io={CONNECTING:"connecting",WAITING_FOR_APP:"waiting_for_app",FLOWS_FOUND:"flows_found",FLOW_STARTED:"flow_started",FLOW_FINISHED:"flow_finished",GRADING:"grading",PUSHED:"pushed"},_C=120,SC=200,AC=i.object({phase:i.enum([Io.CONNECTING,Io.WAITING_FOR_APP,Io.FLOWS_FOUND,Io.FLOW_STARTED,Io.FLOW_FINISHED,Io.GRADING,Io.PUSHED]),index:i.number().int().nonnegative().optional(),total:i.number().int().nonnegative().optional(),name:i.string().max(_C).optional(),ok:i.boolean().optional(),at:i.number().int().nonnegative()}),kF=i.object({runId:i.string().min(1).max(200),events:i.array(AC).max(SC)})});function yT(t){return t===Ce.ACTIVE||t===Ce.PAUSED||t===Ce.ENDED}var Ce,Xc,Tn,Co,vT,RT,Lo,xh=_(()=>{"use strict";Ce={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};Xc="auto",Tn={PAUSE:"pause",RESUME:"resume",END:"end",MESSAGE:"message",REPLAY:"replay",SYNC:"sync",SIGNIN:"signin",HARNESS:"harness"},Co={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"},vT={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},RT={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},Lo={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var fr,Fn,Zc,Xt,gu,Qa,Zt,Eu=_(()=>{"use strict";fr={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},Fn={CHAT:"chat",FLOWS:"flows",NOTES:"notes",SETTINGS:"settings",REPORT:"report",NONE:"none"},Zc={ON:"on",OFF:"off"},Xt={SHOWN:"shown",HIDDEN:"hidden",REMOVED:"removed"},gu={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},Qa={PLAYING:"playing",PASSED:"passed",FAILED:"failed"},Zt={PENDING:"pending",RUNNING:"running",PASSED:"passed",FAILED:"failed",BLOCKED:"blocked",NOT_TAKEN:"not-taken"}});var _h,wT,yC,vC,UF,FF,NT=_(()=>{"use strict";re();Eu();_h={TAB:"tab",HEADLESS:"headless",HEADED:"headed"},wT={LOCAL:"local",PLATFORM:"platform"},yC=2e3,vC=500,UF={target:i.enum([_h.TAB,_h.HEADLESS,_h.HEADED]),mode:i.enum([wT.LOCAL,wT.PLATFORM]),url:i.string().url().refine(t=>/^https?:/i.test(t)),hud:i.enum([Xt.SHOWN,Xt.HIDDEN,Xt.REMOVED]),persona:i.string().min(1).max(yC),maxSteps:i.number().int().min(1).max(vC),record:i.boolean()},FF=i.object({seq:i.number().int().nonnegative(),tool:i.string().min(1).max(100),args:i.record(i.unknown()).default({})})});var bu,IT,CT,OT,GF,LT=_(()=>{"use strict";bu="https://calendar.app.google/h9NRDbBBQetyTzWM6",IT="hey@reticle.sh",CT="mailto:hey@reticle.sh?subject=Reticle%20feedback",OT="npx @reticlehq/server identify --context company --email you@company.com",GF={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${bu} \xB7 or leave your email: ${OT}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${bu}) or the email command (${OT}). Offer it; never book a call or submit an email for them.`}});function kT(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*Sh.length);e+=Sh[Math.min(Math.max(r,0),Sh.length-1)]}return e}var Sh,DT=_(()=>{"use strict";Sh="0123456789abcdefghijklmnopqrstuvwxyz"});var MT=_(()=>{"use strict"});var Bn,Ah,Qc,RC,WF,$T,Tu,PT,yh,xu,_u=_(()=>{"use strict";Bn={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},Ah="ipc://",Qc={OK:200,ERROR:500},RC={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"},WF=Object.values(RC),$T="urlRaw",Tu="requestShape",PT="none",yh="Next-Action",xu="nextAction"});function vh(t){return wC.test(t)}function HT(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 UT(t,e){var s,l;let n=HT((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=HT(t==null?void 0:t.allow),a=[...o].filter(d=>vh(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:vh(d)}}}function FT(t){Rh=t}function Xe(t){return Rh===void 0?vh(t):Rh.isSensitiveKey(t)}function IC(t){return new TextEncoder().encode(t).byteLength}function CC(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(IC(l))} bytes\u2026>`}function Su(t,e=Xe){var y;let n=CC(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,h=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);h!==null&&(p=`${(y=h[1])!=null?y:""}${Ne}@${l.slice(h[0].length)}`,u=!0);let m=d;if(d!==""){let A=new URLSearchParams(d),w=!1;for(let k of[...A.keys()])e(k)&&(A.set(k,Ne),w=!0);w&&(m=A.toString(),u=!0)}let g=p.split("/");for(let A=0;A+1<g.length;A++){let w=g[A],k=g[A+1];w!==void 0&&k!==void 0&&k.length>=OC&&NC.test(w)&&(g[A+1]=Ne,u=!0)}let T=o;if(o.length>1&&(T=o.replace(/(^|[#&?/])([A-Za-z0-9_.-]+)=([^&\s]+)/g,(A,w,k)=>e(k)?`${w}${k}=${Ne}`:A),T!==o&&(u=!0)),!u)return t;let x=s===-1?"":`?${m}`;return`${g.join("/")}${x}${T}`}function hr(t,e=Xe){let n=Su(t,e);return n===t?{url:n}:{url:n,[$T]:t}}function BT(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>Nh)continue;let s=a.toLowerCase();if(!e.has(s)&&(e.add(s),n.push(a),n.length>=wh))break}return n}function ko(t){return t.replace(LC,Ne)}var wC,Rh,NC,OC,wh,Nh,LC,Oh=_(()=>{"use strict";Gt();_u();wC=/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;NC=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,OC=12;wh=64,Nh=128;LC=/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 mr,Au=_(()=>{"use strict";mr={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function Ih(){return[v.UI,v.NET,v.STATE,v.SIGNAL,v.LOG,v.ROUTE,v.TIME]}var eB,tB,yu=_(()=>{"use strict";zc();Kr();eB={[O.ELEMENT]:[v.UI],[O.TEXT]:[v.UI],[O.SIGNAL]:[v.SIGNAL],[O.NET]:[v.NET],[O.STATE]:[v.STATE],[O.ROUTE]:[v.ROUTE],[O.CONSOLE]:[v.LOG],[O.ANIMATION]:[v.UI,v.TIME],[O.SETTLED]:[v.TIME,v.NET],[O.COMPARE]:[v.UI,v.NET,v.STATE,v.SIGNAL],[O.ALL_OF]:Ih(),[O.ANY_OF]:Ih(),[O.NOT]:Ih()};tB=Object.fromEntries(Object.entries(Wf).map(([t,e])=>[t,e.independence]))});var vu,GT,kC,jT,VT,KT,DC,MC,Lh,kh,$C,PC,uB,Dh=_(()=>{"use strict";re();Eu();Gt();xh();Oh();Au();yu();vu=i.string().min(1).max(G.MAX_SESSION_ID_LENGTH),GT=i.string().max(G.MAX_REF_LENGTH),kC=i.string().min(1).max(8),jT=i.object({kind:i.nativeEnum(Tn),text:i.string().optional()}),VT=i.object({control:i.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:i.nativeEnum(Zc).optional(),view:i.nativeEnum(fr).optional(),panel:i.nativeEnum(Fn).optional(),slide:i.string().max(56).optional()}),KT=i.object({note:i.string().min(1).max(G.MAX_MARK_NOTE_LENGTH),anchor:i.string().max(G.MAX_REF_LENGTH),strategy:i.nativeEnum(Co),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()}),DC=i.object({t:i.number(),type:i.nativeEnum(S),sessionId:vu,ref:GT.optional(),seq:i.number().int().min(0).optional(),actionId:GT.optional(),attribution:i.nativeEnum(Nb).optional(),documentId:kC.optional(),editEpoch:i.number().int().min(0).optional(),data:i.record(i.unknown()).default({})}),MC=i.object({kind:i.literal(Ot.HELLO),protocolVersion:i.number().int().min(yb).max(tu),sessionId:vu,url:i.string().max(G.MAX_URL_LENGTH),title:i.string().max(G.MAX_TITLE_LENGTH),projectId:vu.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(mr).optional(),channels:i.array(i.nativeEnum(v)).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(Nh)).max(wh).optional()}),Lh={HARNESS:"harness"},kh=i.object({kind:i.literal(Ot.COMMAND),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),sessionId:vu.optional(),name:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),by:i.nativeEnum(Lh).optional()}),$C=i.object({kind:i.literal(Ot.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()}),PC=i.object({kind:i.literal(Ot.EVENT),event:DC}),uB=i.discriminatedUnion("kind",[MC,kh,$C,PC])});var HC,UC,Li,FC,Le,BC,GC,jC,VC,KC,WC,Mh,WT,zC,zT,Ja=_(()=>{"use strict";re();HC={AGENT:"agent",HUMAN:"human"},UC={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},Li={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},FC={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},Le={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},BC={CDP:"cdp",SDK:"sdk"},GC={USER:"user",PROJECT:"project"},jC=4e3,VC=8e3,KC=1,WC=5,Mh=1e3,WT=i.object({source:i.nativeEnum(HC),kind:i.nativeEnum(UC),text:i.string().min(1).max(jC),trace:i.string().max(VC).optional(),rating:i.number().int().min(KC).max(WC).optional(),need:i.string().max(Mh).optional(),impact:i.string().max(Mh).optional(),currentApproach:i.string().max(Mh).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(Li).optional(),engine:i.nativeEnum(FC).optional(),driver:i.nativeEnum(BC).optional(),client:i.string().min(1).max(64).optional(),mcpScope:i.nativeEnum(GC).optional()}),zC={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},zT=i.object({context:i.nativeEnum(zC),company:i.string().min(1).max(128).optional(),email:i.string().min(3).max(254).optional()})});var gr,Er,wu,Do,YC,qC,_B,Ru,XC,ZC,QC,Jc,SB,YT=_(()=>{"use strict";re();Gt();Oo();Ja();Dh();_u();gr={SSE:"sse",WS:"ws",FETCH:"fetch"},Er={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},wu={UP:"up",DOWN:"down"},Do={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},YC=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.")}),qC=i.union([i.record(i.string()),i.array(YC)]),_B=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:qC.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),Ru=i.object({role:i.string().optional(),name:i.string().optional()}),XC=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(),ZC=i.object({transport:i.nativeEnum(gr),direction:i.nativeEnum(Er),url:i.string(),urlRaw:i.string().optional()}).passthrough(),QC=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(),[xu]:i.string().optional(),[Tu]:i.string().optional()}).passthrough(),Jc=i.object({message:i.string()}).passthrough(),SB={[S.DOM_ADDED]:Ru,[S.DOM_REMOVED]:Ru,[S.DOM_ATTR]:i.object({attr:i.string(),value:i.string().optional(),old:i.string().optional()}).passthrough(),[S.DOM_TEXT]:i.object({text:i.string(),old:i.string().optional()}),[S.NET_REQUEST]:QC,[S.NET_PENDING]:i.object({id:i.string(),method:i.string(),url:i.string(),initiator:i.string(),urlRaw:i.string().optional()}),[S.NET_STREAM]:ZC,[S.DOWNLOAD]:XC,[S.PERF]:i.object({metric:i.nativeEnum(Wa),value:i.number(),at:i.number()}),[S.ROUTE_CHANGE]:i.object({from:i.string(),to:i.string(),pathname:i.string(),search:i.string(),hash:i.string()}),[S.CONSOLE_LOG]:Jc,[S.CONSOLE_WARN]:Jc,[S.CONSOLE_ERROR]:Jc,[S.CONSOLE_INFO]:Jc,[S.CONSOLE_DEBUG]:Jc,[S.ERROR_UNCAUGHT]:i.object({message:i.string(),source:i.string().optional(),line:i.number().optional(),kind:i.string().optional()}).passthrough(),[S.VISIBLE_SHOWN]:Ru,[S.ANIM_START]:i.object({name:i.string()}),[S.ANIM_END]:i.object({name:i.string()}),[S.SCROLL_POSITION]:i.object({x:i.number(),y:i.number(),percent:i.number(),direction:i.nativeEnum(wu)}),[S.REVEAL_SHOWN]:Ru.passthrough(),[S.SIGNAL]:i.object({name:i.string(),data:i.unknown().optional()}),[S.STATE_CHANGE]:i.object({name:i.string(),value:i.unknown()}).passthrough(),[S.STORAGE_CHANGE]:i.object({area:i.nativeEnum(Do),key:i.string(),old:i.string().optional(),new:i.string().optional()}),[S.PAGE_HEALTH]:i.object({hidden:i.boolean(),focused:i.boolean(),reason:i.string().optional(),brand:i.nativeEnum(Le).optional(),runtime:i.string().optional(),engine:i.string().optional(),windowLabel:i.string().optional(),documentStatus:i.number().int().optional()}).passthrough(),[S.CONTEXT_OPENED]:i.object({href:i.string().optional()}).passthrough(),[S.DIALOG_OPENED]:i.object({kind:i.enum(["alert","confirm","prompt"]),message:i.string().optional(),answered:i.union([i.boolean(),i.null()]).optional()}).passthrough(),[S.RENDER_COMMIT]:i.object({commits:i.number()}),[S.FOCUS_CHANGE]:i.object({to:i.string().optional(),from:i.string().optional(),toBody:i.boolean()}),[S.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()}),[S.FLOW_RECORDED]:i.object({name:i.string(),flow:i.unknown()}),[S.TRANSPORT_OVERFLOW]:i.object({dropped:i.number()}),[S.TRUNCATED]:i.object({channel:i.string(),dropped:i.number()}),[S.BLIND_SPOT]:i.object({kind:i.nativeEnum(Ct),count:i.number()}),[S.SDK_FAILED]:i.object({site:i.string().max(64),message:i.string().max(500),errorType:i.string().max(64).optional()}),[S.NET_DETAIL]:i.object({url:i.string(),method:i.string().optional(),status:i.number(),headers:i.record(i.string()),resourceType:i.string().optional()}).passthrough(),[S.HUMAN_CONTROL]:jT,[S.HUMAN_MARK]:KT,[S.HUD_USED]:VT}});var vB,qT=_(()=>{"use strict";Gt();vB=new Set([S.NET_REQUEST,S.NET_PENDING,S.NET_STREAM,S.NET_DETAIL,S.CONSOLE_ERROR,S.CONSOLE_WARN,S.ERROR_UNCAUGHT,S.ROUTE_CHANGE,S.SIGNAL,S.STORAGE_CHANGE,S.FLOW_RECORDED,S.TRANSPORT_OVERFLOW,S.TRUNCATED,S.BLIND_SPOT])});var XT=_(()=>{"use strict"});var ZT,QT=_(()=>{"use strict";ZT=t=>t});var he,CB,LB,kB,JT=_(()=>{"use strict";yu();he={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",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"},CB=new Set([he.REQUEST_NEVER_SETTLED,he.RESPONSE_IGNORED,he.SIGNAL_WITHOUT_CONSEQUENCE,he.STATE_VS_RENDER,he.CONSEQUENCE_ELSEWHERE,he.ROUTE_RENDERED_NOTHING,he.ACTION_HAD_NO_EFFECT,he.DUPLICATE_REQUEST,he.EVIDENCE_SUPERSEDED,he.EVIDENCE_PREDATES_EDIT]),LB=new Set([he.DUPLICATE_REQUEST_UNRELATED]),kB={[he.UI_ADVANCED_REQUEST_FAILED]:[v.UI,v.NET],[he.SIGNAL_CONTRADICTED]:[v.SIGNAL,v.NET],[he.RESPONSE_IGNORED]:[v.NET,v.UI],[he.SIGNAL_WITHOUT_CONSEQUENCE]:[v.SIGNAL,v.NET],[he.STATE_VS_RENDER]:[v.STATE,v.UI],[he.CONSEQUENCE_ELSEWHERE]:[v.NET,v.UI],[he.DUPLICATE_REQUEST]:[v.NET,v.NET],[he.DUPLICATE_REQUEST_UNRELATED]:[v.NET,v.NET],[he.STALE_RESPONSE_APPLIED]:[v.NET,v.UI],[he.PARTIAL_FAILURE_IN_OK_RESPONSE]:[v.NET,v.NET],[he.UNIT_MISMATCH]:[v.UI,v.NET],[he.PAGINATION_NOT_FETCHED]:[v.UI,v.NET],[he.WRITE_FIELD_IGNORED]:[v.NET,v.NET],[he.REQUEST_NEVER_SETTLED]:[v.TIME,v.NET],[he.FAILURE_MISATTRIBUTED]:[v.UI,v.NET],[he.ACTION_HAD_NO_EFFECT]:[v.NET,v.UI],[he.ROUTE_RENDERED_NOTHING]:[v.ROUTE,v.NET],[he.ROUTE_RENDERED_NOTHING_CRASHED]:[v.ROUTE,v.LOG],[he.EVIDENCE_SUPERSEDED]:[v.TIME,v.UI],[he.EVIDENCE_PREDATES_EDIT]:[v.TIME,v.UI]}});var zr,Nu,$B,PB,ex=_(()=>{"use strict";Gt();zr="__reticleIpc",Nu="reticle_capture",$B=Ka.FULL_PAGE_UNSUPPORTED,PB=Ka.NOT_COMPOSITED});var tx=_(()=>{"use strict"});function nx(t){return t===es.CALM||t===es.WAITING||t===es.ASK||t===es.WARN}var es,rx,FB,BB,ix=_(()=>{"use strict";es={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};rx="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",FB='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 '+rx,BB="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; "+rx});var ox,JC,zB,YB,qB,ax=_(()=>{"use strict";re();Gt();Oo();Kr();ox=1,JC=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()}),zB=i.object({v:i.literal(ox),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:JC.optional()}),YB=i.object({v:i.literal(ox),channel:i.literal(ou.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()}),qB=i.object({claim:i.string().min(1).max(G.MAX_STRING_LENGTH),verified:i.nativeEnum(Xa),source:i.string().max(G.MAX_URL_LENGTH).optional(),kind:i.nativeEnum(O).optional(),declaredBeforeActing:i.boolean().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 sx=_(()=>{"use strict"});var JB,cx=_(()=>{"use strict";re();JB=i.object({port:i.number(),pid:i.number(),cwd:i.string(),projectId:i.string().optional(),startedAt:i.number()})});var nG,lx=_(()=>{"use strict";re();nG=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 eL,oG,dx=_(()=>{"use strict";re();eL=i.object({directory:i.string().min(1),lastSeenAt:i.number()}),oG=i.object({version:i.literal(1),projects:i.record(i.string(),eL)})});var tL,$h,nL,rL,iL,cG,ux=_(()=>{"use strict";re();tL=1,$h={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},nL=i.object({route:i.string().optional(),flow:i.string().optional(),files:i.array(i.string()).optional()}),rL=i.object({verdictId:i.string(),grade:i.string(),at:i.number()}),iL=i.object({id:i.string().min(1),statement:i.string().min(1),state:i.enum([$h.DECLARED,$h.BOUND,$h.PROVED]),declaredAt:i.number(),binding:i.unknown().optional(),surface:nL.optional(),provenBy:rL.optional(),amended:i.array(i.object({statement:i.string(),at:i.number()})).optional()}),cG=i.object({version:i.literal(tL),intents:i.record(i.string(),iL)})});var px=_(()=>{"use strict"});var Yr,uG,fx=_(()=>{"use strict";Yr={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"},uG={[Yr.NO_SOURCE_MAPPING]:"add the Reticle build plugin (@reticlehq/vite-plugin, @reticlehq/next, or the babel plugin) so elements carry data-reticle-source",[Yr.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",[Yr.NO_SIGNAL_ON_MUTATION]:"fire reticle.signal(name, data) where this state is committed \u2014 commitAndSignal binds the two so they cannot drift",[Yr.UNDECLARED_CONTROL]:"add this control to reticle.describe() so the capability contract matches what the app actually exposes",[Yr.MISSING_TESTID]:'add data-testid="..." on this control so the flow can name it after a refactor',[Yr.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',[Yr.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',[Yr.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",[Yr.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 Ph(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(sL.includes(e))return!0;let n=e.split(".");return lL===n.length&&cL===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let o=Number(r);return o>=0&&o<=dL})}function hx(t,e){return Ph(e)||uL.includes(t.toLowerCase())?!0:e.toLowerCase()===pL}function mx(t,e){return e!==void 0&&aL.has(e.trim().toLowerCase())?!1:oL.test(t.replace(/[_-]+/g," "))}var oL,aL,sL,cL,lL,dL,uL,pL,gx=_(()=>{"use strict";oL=/\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,aL=new Set(["option","radio"]),sL=["localhost","::1","0:0:0:0:0:0:0:1"],cL="127",lL=4,dL=255;uL=["file:","app:","tauri:"],pL="tauri.localhost"});function fL(t){return Array.isArray(t)||typeof t=="string"}function hL(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),Hh],total:t.length+1};if(typeof t=="string")return{keys:[Hh],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(el)?{keys:e,total:n}:{keys:[...e,el],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,el],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 Ou(t){let{keys:e,total:n}=hL(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function Ex(t,e){let n=e.split(".").filter(o=>o.length>0),r=t;for(let o of n){if(Hh===o&&fL(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 Ou(r);r=r[a];continue}if(r instanceof Map){if(r.has(o)){r=r.get(o);continue}if(el===o){r=r.size;continue}return Ou(r)}if(r instanceof Set){if(el===o){r=r.size;continue}if(r.has(o)){r=!0;continue}return Ou(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,o)){r=r[o];continue}return Ou(r)}return{found:!0,value:r}}function ts(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=>ts(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)]=ts(o,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>ts(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]=ts(t[o],e-1);return r}return t}var Hh,el,bx=_(()=>{"use strict";Hh="length";el="size"});var gG,EG,Tx=_(()=>{"use strict";Gt();gG={[ce.ENABLED]:"en",[ce.DISABLED]:"dis",[ce.CHECKED]:"chk",[ce.EXPANDED]:"exp",[ce.PRESSED]:"prs",[ce.FOCUSED]:"focus"},EG=new Set([ce.PRESENT,ce.VISIBLE,ce.HIDDEN])});var Mo,xG,_G,xx=_(()=>{"use strict";re();Mo={SHARE_PROOF:"share_proof",RUN_HISTORY:"run_history",TEAM_REVIEW:"team_review",CORPUS_HEAL:"corpus_heal",CI_GATE:"ci_gate",HOSTED_RUNNER:"hosted_runner"},xG=i.object({capability:i.nativeEnum(Mo),reason:i.string(),unlockedBy:i.string(),learnMoreUrl:i.string().url()}),_G={[Mo.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."},[Mo.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."},[Mo.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."},[Mo.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."},[Mo.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."},[Mo.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 tl,_x,Sx,mL,Ax,yx=_(()=>{"use strict";re();tl={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},_x={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},Sx={[tl.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[tl.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[tl.FIRST_RUN]:["project_detected","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},mL=Object.values(Sx).flatMap(t=>[...t]),Ax=i.object({phase:i.nativeEnum(tl),step:i.enum(mL),status:i.nativeEnum(_x),elapsedMs:i.number().int().nonnegative().optional(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),unattended:i.boolean().optional()})});var vx,Uh=_(()=>{"use strict";vx={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 gL,Rx,Fh=_(()=>{"use strict";re();Uh();gL={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},Rx=i.object({tool:i.string().min(1).max(64),reason:i.nativeEnum(gL),noSessionReason:i.nativeEnum(vx).optional(),retried:i.boolean()})});var wx,EL,bL,Bh,TL,xL,Nx,_L,SL,Ox,Gh=_(()=>{"use strict";re();wx=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()}),EL={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},bL={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},Bh=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()}),TL=i.object({totalMs:i.number().int().nonnegative(),maxMs:i.number().int().nonnegative()}),xL=i.object({attempts:i.number().int().nonnegative(),successes:i.number().int().nonnegative(),failures:i.record(i.string(),i.number().int().nonnegative()).optional()}),Nx=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(wx).max(40).optional(),sdkFailures:i.number().int().nonnegative().optional(),sdkErrors:i.array(wx).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(),xL).optional(),toolTiming:i.record(i.string(),TL).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:Bh.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(),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(),final:i.boolean(),exit:i.enum(["idle","signal","unknown"]).optional()}),_L={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},SL={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"},Ox=i.object({stack:i.string().min(1).max(64).optional(),stackSource:i.enum(["cwd","workspace"]).optional(),stackUnknownReason:i.nativeEnum(SL).optional(),stackMajor:i.number().int().nonnegative().optional(),size:i.nativeEnum(_L).optional(),monorepo:i.boolean().optional(),git:i.nativeEnum(EL),forge:i.nativeEnum(bL).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 Ix,jh=_(()=>{"use strict";Ix={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var AL,xn,FG,yL,vL,RL,wL,NL,Cx,OL,IL,CL,LL,kL,DL,ML,$L,PL,HL,UL,FL,BL,BG,Lx=_(()=>{"use strict";re();yx();Fh();Gh();Ja();Oo();Ja();jh();AL=3,xn={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"},FG=new Set([xn.DAEMON_STARTED,xn.DAEMON_STOPPED,xn.SESSION_PROGRESS,xn.MCP_CLIENT_CONNECTED,xn.APP_INSTRUMENTED,xn.PROJECT_PROFILED,xn.VERIFICATION_COMPLETED,xn.BUG_FOUND,xn.RUNTIME_CRASHED,xn.FEEDBACK_SUBMITTED,xn.TOOL_REFUSED]),yL={HUMAN:"human",AGENT:"agent"},vL={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},RL={HARNESS:"harness"},wL=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(Le).optional(),reason:i.nativeEnum(je).optional(),uncleanLoss:i.nativeEnum(Zb).optional(),driven:i.nativeEnum(RL).optional()}),NL=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)}),Cx={RETICLE:"reticle",OTHER:"other"},OL=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:Bh.optional(),syscall:i.string().max(32).optional(),errno:i.string().max(32).optional(),loopback:i.boolean().optional(),port:i.enum([Cx.RETICLE,Cx.OTHER]).optional(),internalFrame:i.string().max(64).optional()}),IL={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},CL={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},LL=i.object({source:i.nativeEnum(IL),kind:i.string().min(1).max(64),falseGreen:i.boolean(),tool:i.string().min(1).max(64).optional(),repeat:i.boolean(),attribution:i.nativeEnum(CL),fingerprint:i.string().max(16).optional()}),kL=i.object({reconnect:i.boolean(),daemonAgeMs:i.number().int().nonnegative(),client:i.string().min(1).max(64).optional(),appConnected:i.boolean().optional()}),DL=i.object({initialized:i.boolean(),agentAttached:i.boolean(),msToFirstApp:i.number().int().nonnegative()}),ML={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},$L={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"},PL=i.object({stage:i.nativeEnum(ML),reason:i.nativeEnum($L),attempts:i.number().int().nonnegative(),pendingLost:i.number().int().nonnegative().optional()}),HL={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",DOCS_SITE:"docs_site",README:"readme",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},UL={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",NO_TTY:"no_tty"},FL={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},BL=i.object({ok:i.boolean(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),mcpRegistered:i.boolean().optional(),confirmation:i.nativeEnum(FL).optional()}),BG=i.object({v:i.literal(AL),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(xn),ts:i.number().int().nonnegative(),version:i.string().min(1).max(64),ci:i.boolean(),automation:i.nativeEnum(UL).optional(),projectIdSource:i.nativeEnum(vL).optional(),os:i.string().min(1).max(32),tzOffsetMin:i.number().int().min(-900).max(900).optional(),feedback:WT.optional(),actor:i.nativeEnum(yL).optional(),command:i.string().min(1).max(32).optional(),flags:i.array(i.string().max(32)).max(16).optional(),session:Nx.optional(),project:Ox.optional(),verification:wL.optional(),versionChange:NL.optional(),crash:OL.optional(),identity:zT.optional(),connection:kL.optional(),init:BL.optional(),onboarding:Ax.optional(),bug:LL.optional(),refusal:Rx.optional(),outage:PL.optional(),instrumentation:DL.optional(),installSource:i.nativeEnum(HL).optional(),licenseId:i.string().min(1).max(64).optional(),licenseStatus:i.nativeEnum(Ix).optional(),licenseKeyPresent:i.boolean().optional()})});var kx=_(()=>{"use strict"});var KG,Dx=_(()=>{"use strict";Ff();KG={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:Va.ACT,ACT_SEQUENCE:Va.ACT_SEQUENCE,ACT_AND_WAIT:Va.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 Mx=_(()=>{"use strict"});var $x=_(()=>{"use strict"});var QG,JG,e4,Px=_(()=>{"use strict";zc();Ja();Au();QG={[Li.WEB]:{surface:En.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[Li.ELECTRON]:{surface:En.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[Li.TAURI]:{surface:En.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},JG={[Li.WEB]:mr.WEB,[Li.ELECTRON]:mr.WEBVIEW,[Li.TAURI]:mr.WEBVIEW},e4={[En.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[En.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[En.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[En.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[En.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[En.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var Fx,GL,jL,Hx,VL,Bx,KL,Ux,WL,zL,YL,Gx,jx=_(()=>{"use strict";re();Fx=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()}),GL=i.object({date:i.string(),counts:Fx}),jL=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()}),Hx=i.object({value:i.number().nonnegative(),basis:i.string()}),VL=i.object({tokens:Hx,minutes:Hx}),Bx=10,KL=i.object({at:i.number().int().nonnegative(),title:i.string(),detail:i.string().optional(),source:i.string().optional()}),Ux=i.object({counts:Fx,days:i.array(GL),records:jL,savings:VL,since:i.number().int().nonnegative(),defects:i.array(KL).default([])}),WL=i.object({signedIn:i.boolean(),org:i.string().optional(),email:i.string().optional(),host:i.string().optional()}),zL=i.object({claimed:i.boolean(),expiresAt:i.number().optional(),daysRemaining:i.number().optional(),claimUrl:i.string().optional(),drivable:i.boolean().optional(),eligible:i.boolean().optional()}),YL=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)}).optional(),platformUrl:i.string().optional()}),Gx=i.object({schemaVersion:i.number().int().positive(),project:Ux,global:Ux,projectName:i.string().optional(),dashboardUrl:i.string().optional(),account:WL.optional(),harnessOffer:zL.optional(),harnessConfig:YL.optional(),notices:i.array(i.unknown()).max(8).optional(),coverage:i.record(i.number()).optional(),sync:i.record(i.unknown()).optional()})});var Vx=_(()=>{"use strict"});function ns(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 Kx(t){let e=Object.keys(t).sort().map(n=>{var r;return`${n}:${[...(r=t[n])!=null?r:[]].sort().join(",")}`}).join("|");return ns(e)}var Vh,nl,Wx=_(()=>{"use strict";Gt();Vh=Kx({messageKinds:Object.values(Ot),commands:Object.values(D),actions:Object.values(I),events:Object.values(S)}),nl={commands:Object.values(D),events:Object.values(S),actions:Object.values(I)}});var zx,Yx=_(()=>{"use strict";zx="[Reticle] this page could not open a websocket to "});var F=_(()=>{"use strict";nb();cT();lT();dT();Gt();pT();mT();ET();xT();_T();Oo();ST();AT();xh();Eu();NT();LT();DT();MT();Dh();YT();qT();Vc();Ff();sT();jf();XT();oh();ah();QT();_u();JT();ex();Kr();ph();dh();hh();mh();gh();tx();ix();ax();sx();cx();lx();dx();ux();px();fx();gx();Oh();bx();Tx();xx();Lx();Uh();Fh();kx();Dx();Mx();Au();yu();$x();Px();Gh();jh();Ja();jx();Vx();Wx();Yx()});function Cu(t){return qL.has(t)||t.startsWith(Iu)}var ze,Iu,qL,Gn=_(()=>{"use strict";ze={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",CAROUSEL_DISMISSED:"reticle.carousel.dismissed",HARNESS_OFFER_DISMISSED:"reticle.harnessOffer.dismissed",ANNOTATION_HISTORY:"reticle.annotations.history.v1",RECENT_PLAYS:"reticle.flow.recent.v1"},Iu="reticle.tour.seen.",qL=new Set(Object.values(ze))});function $o(t){let e=G.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${XL}`}function JL(t){try{let e=t==null?void 0:t.getItem(Qx),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var Zx,XL,Kh,ZL,Qx,QL,il,nt,ol,qr,rs,is,os,Xr,Jx,Wh,e_,rl,J,Lt=_(()=>{"use strict";F();Gn();Zx=1e4,XL="\u2026",Kh="e";ZL=1e3,Qx=ze.REF_BASE,QL=100;rl=class{constructor(e=()=>globalThis.sessionStorage){b(this,Xr);b(this,il,new WeakMap);b(this,nt,new Map);b(this,ol);b(this,qr,0);b(this,rs,0);b(this,is,0);b(this,os,0);f(this,ol,e)}get size(){return c(this,nt).size}markEdited(){f(this,os,c(this,qr))}mintedBeforeLastEdit(e){if(c(this,os)===0||!e.startsWith(Kh))return!1;let n=Number(e.slice(Kh.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,os)}refFor(e){let n=c(this,il).get(e);if(n!==void 0){let o=c(this,nt).get(n);return c(this,nt).delete(n),c(this,nt).set(n,o!=null?o:new WeakRef(e)),n}c(this,qr)>=c(this,rs)&&E(this,Xr,Jx).call(this),f(this,qr,c(this,qr)+1);let r=ZT(`${Kh}${String(c(this,qr))}`);return c(this,il).set(e,r),c(this,nt).set(r,new WeakRef(e)),f(this,is,c(this,is)+1),c(this,is)>=ZL?(f(this,is,0),E(this,Xr,e_).call(this)):c(this,nt).size>Zx&&E(this,Xr,Wh).call(this),r}resolve(e){let n=c(this,nt).get(e);if(n===void 0)return null;let r=n.deref();return r===void 0||!r.isConnected?(c(this,nt).delete(e),null):(c(this,nt).delete(e),c(this,nt).set(e,n),r)}};il=new WeakMap,nt=new WeakMap,ol=new WeakMap,qr=new WeakMap,rs=new WeakMap,is=new WeakMap,os=new WeakMap,Xr=new WeakSet,Jx=function(){let e;try{e=c(this,ol).call(this)}catch{e=void 0}let n=Math.max(JL(e),c(this,qr));f(this,rs,n+QL);try{e==null||e.setItem(Qx,String(c(this,rs)))}catch{}f(this,qr,n)},Wh=function(){let e=c(this,nt).keys().next();e.done!==!0&&c(this,nt).delete(e.value)},e_=function(){for(let[e,n]of c(this,nt)){let r=n.deref();(r===void 0||!r.isConnected)&&c(this,nt).delete(e)}for(;c(this,nt).size>Zx;)E(this,Xr,Wh).call(this)};J=new rl});function Te(t,e){return t[e]}function t_(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:Te(e,"set")}var ki=_(()=>{"use strict"});function c1(){for(let t of Di)t.deref()===void 0&&Di.delete(t);for(;Di.size>a1;){let t=Di.values().next();if(t.done===!0)break;Di.delete(t.value)}}function i_(){let t=[];for(let e of Di){let n=e.deref();n!==void 0&&t.push(n)}return t}function r_(t,e){if(!n_.has(t)){n_.add(t),Di.add(new WeakRef(t)),Xh+=1,Xh>=s1&&(Xh=0,c1()),Zh.add(e);for(let n of Lu)n(t)}}function o_(){return i_()}function a_(t){return Zh.has(t)}function cs(t){if(!Zh.has(t))return null;for(let e of i_())if(e.host===t)return e;return null}function s_(t){return Lu.add(t),()=>Lu.delete(t)}function c_(){let t=Element.prototype,e=Te(t,"attachShadow");if(typeof e!="function")return()=>{};qh+=1;let n=function(a){let s=e.call(this,a);return r_(s,this),s};t.attachShadow=n;let r=o=>{for(let a of o.querySelectorAll("*")){let s=a.shadowRoot;s!==null&&(r_(s,a),r(s))}};return document.documentElement!==null&&r(document.documentElement),()=>{Te(t,"attachShadow")===n&&(t.attachShadow=e),qh-=1,!(qh>0)&&(Di.clear(),Lu.clear())}}var qh,Di,n_,Zh,a1,s1,Xh,Lu,ls=_(()=>{"use strict";ki();qh=0,Di=new Set,n_=new WeakSet,Zh=new WeakSet,a1=4e3,s1=250,Xh=0;Lu=new Set});function l_(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 Qt(t,e,n){var o;let r=(o=l_(t,e))!=null?o:n;return typeof r=="function"&&t instanceof r}function h_(t){let e=kt(t)?"HTMLTextAreaElement":"HTMLInputElement",n=l_(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var Zr,Qh,_n,l1,Po,xe,kt,jn,ds,d_,u_,p_,f_,ku,Vn=_(()=>{"use strict";Zr=t=>Qt(t,"Element",typeof Element=="undefined"?void 0:Element),Qh=t=>Qt(t,"HTMLImageElement",typeof HTMLImageElement=="undefined"?void 0:HTMLImageElement),_n=t=>Qt(t,"HTMLElement",typeof HTMLElement=="undefined"?void 0:HTMLElement),l1=t=>Qt(t,"SVGElement",typeof SVGElement=="undefined"?void 0:SVGElement),Po=t=>_n(t)||l1(t),xe=t=>Qt(t,"HTMLInputElement",typeof HTMLInputElement=="undefined"?void 0:HTMLInputElement),kt=t=>Qt(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement=="undefined"?void 0:HTMLTextAreaElement),jn=t=>Qt(t,"HTMLSelectElement",typeof HTMLSelectElement=="undefined"?void 0:HTMLSelectElement),ds=t=>Qt(t,"HTMLButtonElement",typeof HTMLButtonElement=="undefined"?void 0:HTMLButtonElement),d_=t=>Qt(t,"HTMLMeterElement",typeof HTMLMeterElement=="undefined"?void 0:HTMLMeterElement),u_=t=>Qt(t,"HTMLOutputElement",typeof HTMLOutputElement=="undefined"?void 0:HTMLOutputElement),p_=t=>Qt(t,"HTMLProgressElement",typeof HTMLProgressElement=="undefined"?void 0:HTMLProgressElement),f_=t=>Qt(t,"HTMLFormElement",typeof HTMLFormElement=="undefined"?void 0:HTMLFormElement),ku=t=>Qt(t,"HTMLIFrameElement",typeof HTMLIFrameElement=="undefined"?void 0:HTMLIFrameElement)});function Mu(){return Du}function Qr(){return`[${Du}]`}function Pe(t){return t.getAttribute(Du)}function m_(t){Du=t!==void 0&&hT.test(t)?t:Wr}var Du,Sn=_(()=>{"use strict";F();Du=Wr});function g_(t){var n;return((n=t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi))!=null?n:[]).map(r=>Number(r))}function p1(t){return/NaN|Infinity/i.test(t)?!0:g_(t).some(e=>!Number.isFinite(e))}function f1(t){let e=g_(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 $u(t){let e=[],n=0;for(let o of d1)for(let a of Array.from(t.querySelectorAll(o)))for(let s of u1){let l=a.getAttribute(s);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;p1(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}):f1(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 E_(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 d1,u1,Jh=_(()=>{"use strict";d1=["path","polyline","polygon"],u1=["d","points"]});function cl(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<=ll.length?ll.slice(0,r):`${t.slice(0,r-ll.length)}${ll}`;return e.remainingCharacters-=o.length,o}function dl(t,e,n,r){if(r!==void 0&&Xe(r))return Ne;if(n>G.MAX_SERIALIZE_DEPTH||e.nodes>=us)return e.truncatedValues+=1,ll;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return cl(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 ps;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>=us||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-a;break}let d=cl(typeof s=="string"?s:String(s),e,b_),u=dl(l,e,n+1,d);u!==ps&&(o[d]=u),a+=1}return o}if(t instanceof Set){let o=[],a=0;for(let s of t){if(e.nodes>=us||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-a;break}let l=dl(s,e,n+1);o.push(l===ps?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>=us||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:cl(t.name,e,256),message:cl(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>=us){e.droppedItems+=1;continue}let h=dl(p,e,n+1);if(e.nodes>=us){e.droppedItems+=1;continue}d.push(h===ps?null:h)}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=cl(d.key,e,b_);if(!d.ok){o[u]=em;continue}try{let p=dl(d.value,e,n+1,d.key);p!==ps&&(o[u]=p)}catch{o[u]=em}}return o}finally{e.seen.delete(t)}}function ul(t){return pl(t).value}function pl(t){let e={seen:new WeakSet,remainingCharacters:h1,nodes:0,droppedItems:0,truncatedValues:0},n=dl(t,e,0),r=n===ps?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 br(t){try{return JSON.stringify(ul(t))}catch{return JSON.stringify(em)}}var ll,em,ps,b_,h1,us,Tr=_(()=>{"use strict";F();ll="[TRUNCATED]",em="[UNSERIALIZABLE]",ps=Symbol("omit"),b_=256,h1=Math.floor(G.MAX_MESSAGE_BYTES/4),us=G.MAX_COLLECTION_ITEMS*5});function m1(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 fl(t){let e=t.closest(`[${tm}]`);return e!==null?m1(e.getAttribute(tm)):void 0}function Pu(t,e){return e!==void 0?{file:e.file,line:e.line}:fl(t)}function T_(t){return t.querySelector(`[${tm}]`)!==null}function Hu(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var tm,hl=_(()=>{"use strict";F();tm=hu});function _1(t){let e=t.type.toLowerCase();return e==="search"?"searchbox":x1.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function S1(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 ke(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 _1(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 S1(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 fs(t){return t.replace(/\s+/g," ").trim()}function A1(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(fs(ml(a)))}let r=n.join(" ").trim();return r.length>0?r:null}function ml(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(Qh(e)){let a=e.getAttribute("alt");return a===null?"":a}let n="",r=!1;for(let a of e.childNodes){let s=ml(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 ve(t){let e=A1(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(Qh(t)){let a=t.getAttribute("alt");if(a!==null)return a.trim()}if(xe(t)||kt(t)||jn(t)||ds(t)||d_(t)||u_(t)||p_(t)){let a=t.labels;if(a!==null&&a.length>0){let s=[...a].map(l=>fs(ml(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=fs(ml(a));if(s.length>0)return s}}if(xe(t)||kt(t)||jn(t)){if(xe(t)){let a=t.type.toLowerCase();if(a==="submit"||a==="button"||a==="reset"){let s=fs(t.value);if(s.length>0)return s}}if(xe(t)||kt(t)){let a=t.getAttribute("placeholder");if(a!==null&&a.trim().length>0)return a.trim()}}if(T1.has(ke(t))){let a=fs(ml(t));if(a.length>0)return a}let o=t.getAttribute("title");return o!==null&&o.trim().length>0?o.trim():""}function Uu(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function Jr(t,e=xt(t)){let n=[ce.PRESENT];n.push(e?ce.VISIBLE:ce.HIDDEN);let o=(ds(t)||xe(t)||jn(t)||kt(t))&&t.disabled||Uu(t,"aria-disabled")===!0;return n.push(o?ce.DISABLED:ce.ENABLED),(xe(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||Uu(t,"aria-checked")===!0)&&n.push(ce.CHECKED),Uu(t,"aria-expanded")===!0&&n.push(ce.EXPANDED),Uu(t,"aria-pressed")===!0&&n.push(ce.PRESSED),t.ownerDocument.activeElement===t&&n.push(ce.FOCUSED),n}function nm(t){var o,a,s,l,d;if(!xe(t)&&!kt(t)&&!jn(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(Wr))!=null?l:"",(d=t.getAttribute("aria-label"))!=null?d:""],r=/current-password|new-password|cc-number|cc-csc|one-time-code/i.test(e);return xe(t)&&t.type.toLowerCase()==="password"||r||n.some(Xe)}function rm(t){if(xe(t)||kt(t)||jn(t))return nm(t)?Ne:t.value;let e=t.getAttribute("aria-valuenow");return e!=null?e:void 0}function y1(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(g1);if(n===null||n.hasAttribute(E1))return!1;let r=Array.from(n.children).find(o=>b1===o.localName);return r===void 0||!r.contains(t)}function v1(t){return!t.ownerDocument.hidden||!("getAnimations"in t)?!1:t.getAnimations().some(e=>e.playState==="running"||e.pending)}function R1(t){if(t.getAttribute("aria-hidden")==="true"||_n(t)&&t.hidden||y1(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&&!v1(t))return!0}return!1}function w1(t){let e=t.parentElement;if(e===null||e.shadowRoot!==null)return null;let n=cs(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 N1(t){var r;let e=(r=t.assignedSlot)!=null?r:w1(t);if(e!==null)return e;if(t.parentElement!==null)return t.parentElement;let n=t.getRootNode().host;return n!=null?n:null}function im(t,e){if(!xt(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 xt(t,e){if(!t.isConnected)return!1;let n=e==null?void 0:e.get(t);if(n!==void 0)return n;let r=N1(t),o=!R1(t)&&(r===null||xt(r,e));return e!==void 0&&e.set(t,o),o}function O1(t){var n;let e=fs((n=t.textContent)!=null?n:"");return e.length>x_?`${e.slice(0,x_)}\u2026`:e}function xr(t,e){let n=rm(t),r=O1(t),o=ve(t),a=xt(t,e),s={ref:J.refFor(t),role:ke(t),name:o,states:Jr(t,a),visible:a};n!==void 0&&n.length>0&&(s.value=n),r.length>0&&r!==o&&(s.text=r);let l=Hu(fl(t));if(l!==void 0&&(s.source=l),t.querySelector("path, polyline, polygon")!==null){let d=$u(t).findings;d.length>0&&(s.chart=d)}return s}var g1,E1,b1,T1,x1,x_,Jt=_(()=>{"use strict";Sn();F();Vn();Lt();ls();Jh();Tr();hl();g1="details",E1="open",b1="summary",T1=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),x1=new Set(["text","email","tel","url","password",""]);x_=80});function w_(t){var o;let e=[],n=new Set,r;try{r=t.querySelectorAll(Qr())}catch{return e}for(let a=0;a<r.length&&e.length<z1;a+=1){let s=(o=r[a])==null?void 0:o.getAttribute(Mu());if(s==null)continue;let l=s.trim();l.length===0||n.has(l)||l.startsWith(Y1)||(n.add(l),e.push(l))}return e}var z1,Y1,N_=_(()=>{"use strict";Sn();z1=200,Y1="reticle-"});var am,O_,sm,Kn,gl=_(()=>{"use strict";am=globalThis,sm=typeof((O_=am.console)==null?void 0:O_.warn)=="function"?am.console.warn.bind(am.console):null,Kn=(...t)=>{sm==null||sm(...t)}});function M_(t){return cm.add(t),()=>cm.delete(t)}function q1(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 $_(t,e,n){if(Q1(t,e),q1(e)){let r=()=>e.getState(),o=a=>e.subscribe(a);hs.set(t,r),Bu.set(t,o),I_(t,r,o);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(hs.set(t,e),n!==void 0){Bu.set(t,n),I_(t,e,n);return}Z1(t)}function I_(t,e,n){for(let r of cm)try{r([t,e,n])}catch{}}function P_(t){hs.delete(t),Bu.delete(t)}function Mi(){return[...hs.keys()]}function H_(){let t=[];for(let[e,n]of Bu){let r=hs.get(e);r!==void 0&&t.push([e,r,n])}return t}function dm(t){let e={};for(let[n,r]of hs)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 U_(t){return El(t).stores}function El(t){let e={},n={};for(let[r,o]of Object.entries(dm(t))){let a=pl(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 Z1(t){X1.has(t)||C_.has(t)||(C_.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 Gu(t,e){F_.set(t,e)}function Q1(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;lm.set(e,t);let n=F_.get(e);n!==void 0&&lm.set(n,t)}function B_(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return lm.get(t)}var ei,L_,hs,k_,Bu,D_,cm,C_,X1,lm,F_,Ho=_(()=>{"use strict";F();gl();Tr();ei=globalThis,hs=(L_=ei.__reticleStores)!=null?L_:ei.__reticleStores=new Map,Bu=(k_=ei.__reticleStoreSubs)!=null?k_:ei.__reticleStoreSubs=new Map,cm=(D_=ei.__reticleStoreListeners)!=null?D_:ei.__reticleStoreListeners=new Set;C_=new Set,X1=new Set([iu]);lm=new WeakMap,F_=new WeakMap});function j_(){return typeof document=="undefined"?[]:w_(document)}function V_(){return Mi().filter(t=>iu!==t)}function Vu(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function J1(){return{testids:[],signals:[],stores:[],flows:[]}}function pm(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function Ku(t){ju=t}function ms(t){if(pm(Vt.testids,t.testids),pm(Vt.signals,t.signals),pm(Vt.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=Vt.flows.find(r=>r.name===e.name);n===void 0?Vt.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}ju==null||ju()}function $i(){return{testids:Vu(Vt.testids,j_()),signals:[...Vt.signals],stores:Vu(Vt.stores,V_()),flows:Vt.flows.map(t=>({name:t.name,steps:[...t.steps]})),...eb()?{presenterExposed:!0}:{}}}function K_(){return[...Vt.testids]}function Wu(){return Vt.signals.length>0||Vt.flows.length>0||Vu(Vt.testids,j_()).length>0||Vu(Vt.stores,V_()).length>0}var um,G_,Vt,ju,Pi=_(()=>{"use strict";F();bt();N_();Ho();um=globalThis;Vt=(G_=um.__reticleCapabilities)!=null?G_:um.__reticleCapabilities=J1()});function z_(t){gs.some(e=>e.name===t.name)||gs.push(t)}function _r(t){for(let e of gs){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function zu(t){for(let e of gs){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function Yu(t){for(let e of gs)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function qu(){return gs.map(t=>t.name)}var fm,W_,gs,Uo=_(()=>{"use strict";fm=globalThis,gs=(W_=fm.__reticleAdapters)!=null?W_:fm.__reticleAdapters=[]});function Zu(){return Em>0}function Ye(t){Em+=1;try{return t()}finally{Em-=1}}var Em,Ts=_(()=>{"use strict";Em=0});var An,cS,xm,lS,uS,dS,tp,X,me,pS,fS,hS,Hi,mS,rt=_(()=>{"use strict";An=globalThis,cS=typeof An.setTimeout=="function"?An.setTimeout.bind(An):null,xm=typeof An.clearTimeout=="function"?An.clearTimeout.bind(An):null,lS=typeof An.requestAnimationFrame=="function"?An.requestAnimationFrame.bind(An):null,dS=typeof((uS=An.performance)==null?void 0:uS.now)=="function"?An.performance.now.bind(An.performance):null,tp=()=>dS?dS():0,X=(t,e=0)=>cS?cS(t,e):0,me=t=>{xm==null||xm(t)},pS=(t,e)=>{let n=!1,r=0,o=()=>{n||(t(),!n&&(r=X(o,e)))};return r=X(o,e),()=>{n=!0,me(r)}},fS=200,hS=(t=fS)=>new Promise(e=>{let n=!1,r=a=>{n||(n=!0,me(o),e({settled:a}))},o=X(()=>r(!1),t);lS?lS(()=>r(!0)):X(()=>r(!0),0)}),Hi=()=>hS().then(()=>{}),mS=async(t=fS)=>(await Promise.resolve(),hS(t))});function lA(t,e){return`${zx}${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 dA(t,e){return`no bridge at ${t} \u2014 ${String(e)} attempt${e===1?"":"s"}`}var Pm=_(()=>{"use strict";F()});var Ke,en,Ls,Ym=_(()=>{"use strict";Ke={READ:"read",ACT:"act",NARRATION:"narration",HUMAN:"human"},en={PASS:"pass",FAIL:"fail"},Ls={AGENT:"agent",HARNESS:"harness"}});function Ll(t){switch(t){case I.CLICK:case I.DBLCLICK:return"Clicking";case I.FILL:case I.TYPE:return"Typing into";case I.HOVER:return"Hovering";case I.SELECT:return"Selecting";case I.SUBMIT:return"Submitting";case I.CHECK:case I.UNCHECK:return"Toggling";case I.UPLOAD:return"Uploading to";case I.DRAG:return"Dragging";default:return t}}var qm=_(()=>{"use strict";F()});function ci(t){return typeof t=="string"&&t.length>0}function S5(t){var n;return`${(n=t.file.split("/").pop())!=null?n:t.file}:${t.line}`}function Fy(t){var e;if(ci(t.testid))return{strategy:qn.TESTID,value:t.testid,stable:!0};if(ci(t.component)&&t.source!==void 0)return{strategy:qn.COMPONENT,value:`${t.component}@${S5(t.source)}`,stable:!0};if(ci(t.component)&&(ci(t.role)||ci(t.name))){let n=ci(t.name)?t.name:t.role;return{strategy:qn.COMPONENT,value:`${t.component}[${n!=null?n:""}]`,stable:!0}}if(ci(t.role)&&ci(t.name))return{strategy:qn.ROLE,value:`${t.role}:${t.name}`,stable:!1};if(ci(t.role)){let n=t.nth!==void 0?`#${t.nth}`:"";return{strategy:qn.ROLE,value:`${t.role}${n}`,stable:!1}}return{strategy:qn.POSITION,value:`el#${(e=t.nth)!=null?e:0}`,stable:!1}}var qn,By=_(()=>{"use strict";qn={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"}});function y5(t,e,n){return n.length>0?e.length>0?`${e} "${n}"`:`"${n}"`:e.length>0?e:t.tagName.toLowerCase()}function Pl(t){var p;let e=(p=Pe(t))!=null?p:void 0,n=_r(t),r=n==null?void 0:n.componentStack[0],o=Pu(t,n==null?void 0:n.source),a=ke(t),s=ve(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=Fy(l),u={anchor:d.value,strategy:A5[d.strategy],label:y5(t,a,s)};return o!==void 0&&(u.source=o),u}var A5,eg=_(()=>{"use strict";Sn();F();By();Jt();Uo();hl();A5={[qn.TESTID]:Co.TESTID,[qn.COMPONENT]:Co.COMPONENT,[qn.ROLE]:Co.ROLE,[qn.POSITION]:Co.POSITION}});function Gy(t){return`${String(t)} ${t===1?"note":"notes"} on this page`}function Sp(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}
|
|
2
|
+
${a.label} (${l}) on ${a.route}`});return[r,"",...o].join(`
|
|
3
|
+
`)}var tg=_(()=>{"use strict"});var Ap,le,ng,Ky,Wy,zy,jy,Yy,qy,Xy=_(()=>{"use strict";Ap="data-reticle-mark",le=t=>`[${Ap}="${t}"]`,ng="What should change?",Ky="Add",Wy="Cancel",zy="+",jy=2147483601,Yy=`
|
|
4
|
+
${le("root")}{position:fixed;inset:0;pointer-events:none;z-index:${String(jy)};}
|
|
5
|
+
${le("root")}[data-hide="1"] ${le("pin")}{display:none;}
|
|
6
6
|
html[data-reticle-mark-active] *{cursor:crosshair !important;}
|
|
7
7
|
html[data-reticle-mark-active] [data-reticle-overlay],
|
|
8
8
|
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
|
-
${
|
|
9
|
+
html[data-reticle-mark-active] ${le("pop")},
|
|
10
|
+
html[data-reticle-mark-active] ${le("pop")} *,
|
|
11
|
+
html[data-reticle-mark-active] ${le("pin")},
|
|
12
|
+
html[data-reticle-mark-active] ${le("pending")}{cursor:pointer !important;}
|
|
13
|
+
${le("hi")}{position:fixed;pointer-events:none;opacity:0;box-sizing:border-box;
|
|
14
14
|
border:2px solid color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 50%, transparent);
|
|
15
15
|
border-radius:4px;background:color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 4%, transparent);}
|
|
16
|
-
${
|
|
17
|
-
${
|
|
16
|
+
${le("hi")}[data-on="1"]{opacity:1;animation:reticle-mark-hi-in .12s ease-out;}
|
|
17
|
+
${le("hilabel")}{position:absolute;top:-28px;left:0;font:500 11px/1.2 system-ui,sans-serif;color:#fff;
|
|
18
18
|
background:rgba(0,0,0,.85);padding:.35rem .6rem;border-radius:.375rem;white-space:nowrap;
|
|
19
19
|
max-width:280px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;}
|
|
20
|
-
${
|
|
20
|
+
${le("sel")}{position:fixed;pointer-events:none;box-sizing:border-box;border-radius:4px;
|
|
21
21
|
border:2px solid color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 60%, transparent);
|
|
22
22
|
background:color-mix(in srgb, var(--reticle-mark-accent, #0088ff) 5%, transparent);}
|
|
23
|
-
${
|
|
23
|
+
${le("pin")},${le("pending")}{position:fixed;pointer-events:auto;width:22px;height:22px;
|
|
24
24
|
margin:0;border:none;border-radius:50%;background:var(--reticle-mark-accent, #0088ff);color:#fff;
|
|
25
25
|
font:600 11px/22px system-ui,sans-serif;text-align:center;cursor:pointer;
|
|
26
26
|
box-shadow:0 2px 6px rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.04);
|
|
27
27
|
transform:translate(-50%,-50%);user-select:none;z-index:1;}
|
|
28
|
-
${
|
|
29
|
-
${
|
|
30
|
-
${
|
|
31
|
-
${
|
|
28
|
+
${le("pin")}:hover{transform:translate(-50%,-50%) scale(1.1);z-index:2;}
|
|
29
|
+
${le("pin")}[data-stale="1"]{opacity:.45;}
|
|
30
|
+
${le("pending")}{cursor:default;}
|
|
31
|
+
${le("tip")}{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.909);
|
|
32
32
|
background:#1a1a1a;color:#fff;padding:8px 12px;border-radius:12px;min-width:120px;max-width:200px;
|
|
33
33
|
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
34
|
font:400 13px/1.4 system-ui,sans-serif;display:none;z-index:3;}
|
|
35
|
-
${
|
|
36
|
-
${
|
|
35
|
+
${le("pin")}:hover ${le("tip")}{display:block;}
|
|
36
|
+
${le("tipq")}{display:block;font-size:12px;font-style:italic;color:rgba(255,255,255,.6);
|
|
37
37
|
margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
38
|
-
${
|
|
39
|
-
${
|
|
40
|
-
background:#1a1a1a;border-radius:16px;color:#fff;z-index:${String(
|
|
38
|
+
${le("tipn")}{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
39
|
+
${le("pop")}{position:fixed;pointer-events:auto;width:280px;box-sizing:border-box;padding:12px 16px 14px;
|
|
40
|
+
background:#1a1a1a;border-radius:16px;color:#fff;z-index:${String(jy+8)};
|
|
41
41
|
box-shadow:0 4px 24px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);
|
|
42
42
|
font:13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;transform:translateX(-50%);opacity:0;}
|
|
43
|
-
${
|
|
44
|
-
${
|
|
45
|
-
${
|
|
43
|
+
${le("pop")}[data-in="1"]{opacity:1;animation:reticle-mark-pop-in .2s cubic-bezier(.34,1.56,.64,1) forwards;}
|
|
44
|
+
${le("pop")}.reticle-mark-shake{animation:reticle-mark-shake .25s ease-out;}
|
|
45
|
+
${le("pop")} .reticle-mark-where{font-size:12px;font-weight:400;color:rgba(255,255,255,.5);
|
|
46
46
|
margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
47
|
-
${
|
|
47
|
+
${le("pop")} textarea{box-sizing:border-box;width:100%;min-height:52px;resize:none;padding:8px 10px;
|
|
48
48
|
font:13px/1.45 inherit;background:rgba(255,255,255,.05);color:#fff;
|
|
49
49
|
border:1px solid rgba(255,255,255,.15);border-radius:8px;outline:none;}
|
|
50
|
-
${
|
|
51
|
-
${
|
|
52
|
-
${
|
|
53
|
-
${
|
|
50
|
+
${le("pop")} textarea:focus{border-color:var(--reticle-mark-accent, #0088ff);}
|
|
51
|
+
${le("pop")} textarea::placeholder{color:rgba(255,255,255,.35);}
|
|
52
|
+
${le("pop")} .reticle-mark-row{display:flex;justify-content:flex-end;gap:6px;margin-top:8px;}
|
|
53
|
+
${le("pop")} button{font:500 12px/1 system-ui,sans-serif;padding:.4rem .875rem;border-radius:1rem;
|
|
54
54
|
border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.5);}
|
|
55
|
-
${
|
|
56
|
-
${
|
|
57
|
-
${
|
|
55
|
+
${le("pop")} button:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);}
|
|
56
|
+
${le("pop")} button[data-send]{background:var(--reticle-mark-accent, #0088ff);color:#fff;}
|
|
57
|
+
${le("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
58
58
|
@keyframes reticle-mark-hi-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
|
|
59
59
|
@keyframes reticle-mark-pop-in{from{opacity:0;transform:translateX(-50%) scale(.95) translateY(4px)}
|
|
60
60
|
to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}
|
|
@@ -64,18 +64,18 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
64
64
|
40%{transform:translateX(calc(-50% + 3px))}
|
|
65
65
|
60%{transform:translateX(calc(-50% - 2px))}
|
|
66
66
|
80%{transform:translateX(calc(-50% + 2px))}}
|
|
67
|
-
`,
|
|
68
|
-
<textarea rows="2" placeholder="${
|
|
67
|
+
`,qy=`<div ${Ap}="hi"><span ${Ap}="hilabel"></span></div><div ${Ap}="sel" hidden></div>`});function Jy(t){return t.source===void 0?void 0:`${t.source.file}:${String(t.source.line)}`}function vp(){return typeof location=="undefined"?"":location.pathname+location.search}function w5(t){return Pl(t).anchor}function N5(t){if(t===void 0||typeof getComputedStyle=="undefined")return!1;let e=getComputedStyle(t).position;return e==="fixed"||e==="sticky"}function tv(t,e){let n=document.elementsFromPoint.bind(document);if(n!==void 0){for(let r of n(t,e))if(!Ma(r))return r}}function nv(t,e){let n=window.innerWidth,r=window.innerHeight,o=Math.min(Math.max(t,yp+Zy/2),n-yp-Zy/2),a=e+12;return a+Qy>r-yp&&(a=Math.max(yp,e-Qy-12)),{left:o,top:a}}function O5(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 fv(t){let e=new na(t);return e.mount(),e}var v5,R5,Zy,Qy,yp,Ar,rg,li,$s,Ps,Ul,Fl,Bl,tn,nn,Hs,zo,Kt,Yo,Rn,di,wn,lt,Wi,qo,ui,pi,Xo,Zo,Gl,jl,Qo,Us,Fs,Jo,$,rv,Ms,iv,ov,av,sv,Rp,ig,og,cv,ag,ea,ta,lv,sg,cg,dv,lg,dg,uv,Hl,ug,pv,Xn,na,ev,pg=_(()=>{"use strict";Sn();Ts();F();bt();eg();tg();rt();Xy();v5=130,R5=250,Zy=280,Qy=170,yp=8,Ar="data-reticle-mark",rg="data-reticle-mark-active",li=t=>`[${Ar}="${t}"]`,na=class{constructor(e){b(this,$);b(this,$s);b(this,Ps);b(this,Ul);b(this,Fl);b(this,Bl);b(this,tn);b(this,nn);b(this,Hs);b(this,zo);b(this,Kt);b(this,Yo);b(this,Rn);b(this,di);b(this,wn,!1);b(this,lt,[]);b(this,Wi);b(this,qo);b(this,ui);b(this,pi);b(this,Xo);b(this,Zo);b(this,Gl);b(this,jl);b(this,Qo);b(this,Us);b(this,Fs);b(this,Jo);b(this,ea);b(this,ta,{x:0,y:0});var n;f(this,$s,e.emit),f(this,Ps,e.now),f(this,Ul,e.onMark),f(this,Fl,(n=e.shouldBlock)!=null?n:(()=>!0)),f(this,Bl,e.onCountChange)}get active(){return c(this,wn)}get markCount(){return c(this,lt).length}annotations(){return c(this,lt).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,tn)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute(Ar,"style"),e.textContent=Yy,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute(Ar,"root"),n.innerHTML=qy,document.body.appendChild(n),f(this,tn,n),f(this,nn,(o=n.querySelector(li("hi")))!=null?o:void 0),f(this,Hs,(a=n.querySelector(li("hilabel")))!=null?a:void 0),f(this,zo,(s=n.querySelector(li("sel")))!=null?s:void 0);let r=new AbortController;f(this,Fs,r),document.addEventListener("click",l=>E(this,$,ov).call(this,l),{capture:!0,signal:r.signal}),document.addEventListener("mousemove",l=>E(this,$,av).call(this,l),{passive:!0,capture:!0,signal:r.signal}),document.addEventListener("keydown",l=>E(this,$,iv).call(this,l),{signal:r.signal}),window.addEventListener("scroll",()=>E(this,$,ug).call(this),{capture:!0,signal:r.signal}),window.addEventListener("resize",()=>E(this,$,ug).call(this),{signal:r.signal}),f(this,Jo,new MutationObserver(()=>this.syncAnchors())),c(this,Jo).observe(document.documentElement,{childList:!0,subtree:!0}),c(this,Us)!==void 0&&this.setAccent(c(this,Us))}setAccent(e){var n;f(this,Us,e),(n=c(this,tn))==null||n.style.setProperty("--reticle-mark-accent",e)}attachChrome(e){var n,r;f(this,pi,e.markersBtn),f(this,Xo,e.clearBtn),f(this,Zo,e.copyRow),f(this,Gl,e.onCount),f(this,jl,e.onMarksChange),f(this,Qo,e.countEl),(n=c(this,pi))==null||n.addEventListener("click",o=>{o.stopPropagation(),E(this,$,rv).call(this)}),(r=c(this,Xo))==null||r.addEventListener("click",o=>{o.stopPropagation(),this.clearAll()}),E(this,$,Ms).call(this)}destroy(){var e,n,r;(e=c(this,Fs))==null||e.abort(),f(this,Fs,void 0),(n=c(this,Jo))==null||n.disconnect(),f(this,Jo,void 0),c(this,Rn)!==void 0&&me(c(this,Rn)),c(this,di)!==void 0&&me(c(this,di)),E(this,$,Xn).call(this),document.documentElement.removeAttribute(rg),(r=c(this,tn))==null||r.remove(),document.querySelectorAll(`style[${Ar}="style"]`).forEach(o=>o.remove()),f(this,tn,void 0),f(this,wn,!1),f(this,lt,[])}toggle(e){f(this,wn,e!=null?e:!c(this,wn)),c(this,wn)?document.documentElement.setAttribute(rg,"1"):(document.documentElement.removeAttribute(rg),E(this,$,Rp).call(this),E(this,$,Xn).call(this)),E(this,$,Ms).call(this)}agentPrompt(e){return Sp(c(this,lt),e)}clearAll(){E(this,$,Xn).call(this);for(let e of c(this,lt))e.pin.remove();f(this,lt,[]),E(this,$,Ms).call(this)}syncAnchors(){let e=vp();for(let n of c(this,lt))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,$,Hl).call(this)}};$s=new WeakMap,Ps=new WeakMap,Ul=new WeakMap,Fl=new WeakMap,Bl=new WeakMap,tn=new WeakMap,nn=new WeakMap,Hs=new WeakMap,zo=new WeakMap,Kt=new WeakMap,Yo=new WeakMap,Rn=new WeakMap,di=new WeakMap,wn=new WeakMap,lt=new WeakMap,Wi=new WeakMap,qo=new WeakMap,ui=new WeakMap,pi=new WeakMap,Xo=new WeakMap,Zo=new WeakMap,Gl=new WeakMap,jl=new WeakMap,Qo=new WeakMap,Us=new WeakMap,Fs=new WeakMap,Jo=new WeakMap,$=new WeakSet,rv=function(){var r,o;let e=c(this,tn);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,pi))==null||r.setAttribute("data-active",n==="0"?"0":"1"),(o=c(this,pi))==null||o.setAttribute("aria-pressed",n==="1"?"true":"false")},Ms=function(){var n,r,o,a,s;let e=c(this,lt).length;if((n=c(this,Bl))==null||n.call(this,e),c(this,Qo)!==void 0&&(c(this,Qo).textContent=String(e),c(this,Qo).hidden=e===0),(r=c(this,Xo))==null||r.toggleAttribute("disabled",e===0),(o=c(this,Gl))==null||o.call(this,e),(a=c(this,jl))==null||a.call(this,this.annotations()),c(this,Zo)!==void 0){c(this,Zo).hidden=e===0;let l=c(this,Zo).querySelector("[data-reticle-marks-text]");l!==null&&(l.textContent=Gy(e))}(s=c(this,pi))==null||s.toggleAttribute("disabled",e===0)},iv=function(e){if(!(e.key!=="Escape"||!c(this,wn))){if(c(this,Kt)!==void 0){e.preventDefault(),E(this,$,Xn).call(this);return}this.toggle(!1)}},ov=function(e){var l,d;if(!c(this,wn)||Zu())return;let n=e.target;if(!(n instanceof Element))return;let r=n.hasAttribute(ev)?tv(e.clientX,e.clientY):n;if(r===void 0||$e(r)||((l=c(this,pi))==null?void 0:l.contains(r))===!0||((d=c(this,Xo))==null?void 0:d.contains(r))===!0||r.closest(li("pin"))!==null||r.closest(li("pop"))!==null)return;if(c(this,Kt)!==void 0){e.preventDefault(),e.stopPropagation(),E(this,$,cg).call(this);return}let o=r instanceof HTMLElement?r:r.parentElement;if(o===null)return;c(this,Fl).call(this)?(e.preventDefault(),e.stopPropagation()):e.preventDefault();let a=w5(o),s=c(this,lt).find(u=>u.anchor===a&&u.route===vp());if(s!==void 0){E(this,$,ig).call(this,s);return}E(this,$,cv).call(this,o,e.clientX,e.clientY)},av=function(e){c(this,Rn)!==void 0&&me(c(this,Rn)),f(this,Rn,X(()=>{f(this,Rn,void 0),E(this,$,sv).call(this,e)},v5))},sv=function(e){if(c(this,nn)===void 0)return;let n=e.target,r=n instanceof Element&&n.hasAttribute(ev)?tv(e.clientX,e.clientY):n;if(!c(this,wn)||c(this,Kt)!==void 0||!(r instanceof Element)||$e(r)||r.closest(li("pin"))!==null){c(this,nn).setAttribute("data-on","0");return}let a=r.getBoundingClientRect();if(a.width===0&&a.height===0){c(this,nn).setAttribute("data-on","0");return}c(this,nn).style.left=`${String(a.left)}px`,c(this,nn).style.top=`${String(a.top)}px`,c(this,nn).style.width=`${String(a.width)}px`,c(this,nn).style.height=`${String(a.height)}px`,c(this,nn).setAttribute("data-on","1"),c(this,Hs)!==void 0&&(c(this,Hs).textContent=O5(r))},Rp=function(){var e;c(this,Rn)!==void 0&&(me(c(this,Rn)),f(this,Rn,void 0)),(e=c(this,nn))==null||e.setAttribute("data-on","0")},ig=function(e){E(this,$,Xn).call(this),f(this,Wi,e),f(this,qo,e.anchor),f(this,ui,e.target),E(this,$,Rp).call(this);let n=E(this,$,og).call(this,e);E(this,$,ag).call(this,e.label,n.x,n.y,e.note),E(this,$,dg).call(this,n.x,n.y),E(this,$,Hl).call(this)},og=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}},cv=function(e,n,r){let o=Pl(e),a=o.anchor;if(c(this,qo)===a&&c(this,Kt)!==void 0){E(this,$,cg).call(this);return}E(this,$,Xn).call(this),E(this,$,Rp).call(this),f(this,Wi,void 0),f(this,qo,a),f(this,ui,e);let s=o.source!==void 0?`${o.label} \xB7 ${o.source.file}:${String(o.source.line)}`:o.label;E(this,$,ag).call(this,s,n,r,""),E(this,$,dg).call(this,n,r),E(this,$,Hl).call(this),E(this,$,lv).call(this,o,n,r)},ag=function(e,n,r,o){var p,h;let a=document.createElement("div");a.setAttribute(Ar,"pop"),a.setAttribute("role","dialog"),a.setAttribute("aria-label",ng),a.innerHTML=`<div class="reticle-mark-where"></div>
|
|
68
|
+
<textarea rows="2" placeholder="${ng}"></textarea>
|
|
69
69
|
<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=Xx(n,r);s.style.left=`${String(l.left)}px`,s.style.top=`${String(l.top)}px`,c(this,Ut)?.appendChild(s),p(this,Lt,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,vh).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,vh).call(this)),p(this,Ti,void 0),p(this,_i,{x:n,y:r})},Ti=new WeakMap,_i=new WeakMap,rA=function(e,n,r){p(this,Ti,e),p(this,_i,{x:n,y:r})},vh=function(){let e=c(this,Lt)?.querySelector("textarea")?.value.trim()??"";if(e.length===0)return;let n=c(this,ho);if(n!==void 0){n.note=e;let i=n.pin.querySelector(vr("tipn"));i!==null&&(i.textContent=e),c(this,Ws).call(this,b.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),h(this,w,Oh).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,Ti);r!==void 0&&(h(this,w,oA).call(this,e,r,c(this,_i).x,c(this,_i).y),h(this,w,vn).call(this))},Nh=function(){let e=c(this,Lt);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)},Ck)))},oA=function(e,n,r,i){let s={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:uu()};n.source!==void 0&&(s.source=n.source),c(this,Ws).call(this,b.HUMAN_MARK,s),c(this,zs).call(this),h(this,w,iA).call(this,n,e,r,i),h(this,w,Oh).call(this,e,n.anchor,n.label,c(this,ot).length,zx(n))},Oh=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,Gc))==null||l.call(this,a)},wh=function(e,n){c(this,fi)?.remove();let r=document.createElement("div");r.setAttribute(Yn,"pending"),r.textContent=Bx,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,c(this,Ut)?.appendChild(r),p(this,fi,r)},iA=function(e,n,r,i){if(c(this,Ut)===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=Lk(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,Ut).appendChild(s);let E={id:`${e.anchor}:${String(c(this,zs).call(this))}:${String(a)}`,note:n,label:e.label,anchor:e.anchor,route:uu(),xPct:r/window.innerWidth*100,yDoc:f,clientX:r,clientY:i,isFixed:u,pin:s,target:c(this,Or),source:zx(e)};s.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),c(this,an)&&h(this,w,Ah).call(this,E)}),c(this,ot).push(E),h(this,w,Fc).call(this)},Bc=function(){let e=c(this,pi);if(e===void 0)return;let n=c(this,Or);if(n===void 0||!document.contains(n)||c(this,Lt)===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`},Ch=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,sA).call(this),h(this,w,Bc).call(this)},sA=function(){let e=c(this,Lt),n=c(this,ho);if(e===void 0||n===void 0)return;let r=h(this,w,yh).call(this,n),i=Xx(r.x,r.y);e.style.left=`${String(i.left)}px`,e.style.top=`${String(i.top)}px`},vn=function(){c(this,Lt)?.remove(),p(this,Lt,void 0),c(this,fi)?.remove(),p(this,fi,void 0),p(this,hi,void 0),p(this,Or,void 0),p(this,Ti,void 0),p(this,ho,void 0),c(this,pi)!==void 0&&(c(this,pi).hidden=!0)};Yx="data-reticle-blocker"});var Dk,fu,Mk,cA,lA=T(()=>{"use strict";Dk={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"/>'},fu=Dk,Mk={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"/>'},cA=Mk});function Pk(t,e){let n=`${t}:${String(e)}`,r=dA.get(n);if(r!==void 0)return document.importNode(r,!0);let i=fu[t];if(i===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let a=new DOMParser().parseFromString(`<svg xmlns="${Wc}" viewBox="${zc}" fill="none">${i}</svg>`,"image/svg+xml").documentElement,l=a instanceof SVGSVGElement?document.importNode(a,!0):document.createElementNS(Wc,"svg");return l.setAttribute("viewBox",zc),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),a instanceof SVGSVGElement||(l.innerHTML=i),dA.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(Pk(t,e)),n}function Lh(t,e,n=16){t.replaceChildren(qn(e,n))}function Te(t,e=16){let n=fu[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="${Wc}" viewBox="${zc}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function xi(t,e=16){let n=fu[t],r=cA[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="${Wc}" viewBox="${zc}" 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="${Wc}" viewBox="${zc}" width="${i}" height="${i}" fill="currentColor">${r}</svg></span></span>`}var V,ie,Wc,zc,dA,Xn=T(()=>{"use strict";lA();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},Wc="http://www.w3.org/2000/svg",zc="0 0 24 24",dA=new Map});function Yc(t){t.scrollTop=t.scrollHeight}function mA(t){Yc(t),requestAnimationFrame(()=>{Yc(t),requestAnimationFrame(()=>Yc(t))}),z(()=>Yc(t),Wk)}function gA(t){return[...t.children].filter(e=>e.hasAttribute(fA))}function Dh(t,e){let n=gA(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function EA(t){for(let e of gA(t))e.remove()}function Mh(t){return t===void 0||!Number.isFinite(t)||t<=0?$k:Math.floor(t)}function Xc(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 bA(t){return Xc(t)}function TA(t,e,n,r,i){let s=document.createElement("div");s.setAttribute(fA,""),s.setAttribute(Gk,e);let a=document.createElement("span");a.setAttribute(hu,""),a.textContent=r;let l=[];e!==Ke.HUMAN&&l.push(a);let d=Uk[e],u=Hk[e];if(d.length>0||u!==void 0){let g=document.createElement("span");if(g.className=Vk,g.setAttribute("data-mode",Fk[e]),u!==void 0&&g.appendChild(qn(u,ie.LOG)),d.length>0){let _=document.createElement("span");_.className="reticle-chip-label",_.textContent=d,g.appendChild(_)}l.push(g)}let f=document.createElement("span");f.className=jk,f.textContent=n;let E=document.createElement("span");return E.className=kh,l.push(f),e!==Ke.HUMAN&&l.push(E),s.append(...l),t.appendChild(s),Dh(t,i),requestAnimationFrame(()=>{Yc(t)}),{result:g=>{if(g===$t.PASS){E.textContent="",E.className=`${kh} ${uA.pass}`;return}E.textContent=` ${Bk[g]}`,E.className=`${kh} ${uA[g]}`}}}var $k,Uk,Hk,pA,Fk,Bk,uA,qc,fA,hu,Gk,jk,kh,Vk,Kk,Wk,hA,mo=T(()=>{"use strict";D();hh();Ve();Xn();$k=50,Uk={read:"READ",act:"ACT",narration:"",human:""},Hk={read:V.VIEW,act:V.POINTER},pA={[Me.IDLE]:"",[Me.READING]:"READING",[Me.ACTING]:"ACTING"},Fk={read:Me.READING,act:Me.ACTING,narration:Me.IDLE,human:Me.IDLE},Bk={pass:"",fail:"Fail"},uA={pass:"reticle-pass",fail:"reticle-fail"},qc="data-reticle-log",fA="data-reticle-log-row",hu="data-reticle-log-time",Gk="data-kind",jk="reticle-log-text",kh="reticle-res",Vk="reticle-chip",Kk="Agent activity will appear here",Wk=160,hA=`
|
|
70
|
+
<button type="button" data-cancel data-reticle-mark-cancel>${Wy}</button>
|
|
71
|
+
<button type="button" data-send data-reticle-mark-send disabled>${Ky}</button>
|
|
72
|
+
</div>`;let s=a.querySelector(".reticle-mark-where");s!==null&&(s.textContent=e);let l=nv(n,r);a.style.left=`${String(l.left)}px`,a.style.top=`${String(l.top)}px`,(p=c(this,tn))==null||p.appendChild(a),f(this,Kt,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,$,Xn).call(this)):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),E(this,$,sg).call(this)))}),X(()=>d.focus(),50)),(h=a.querySelector("button[data-cancel]"))==null||h.addEventListener("click",()=>E(this,$,Xn).call(this)),u==null||u.addEventListener("click",()=>E(this,$,sg).call(this)),f(this,ea,void 0),f(this,ta,{x:n,y:r})},ea=new WeakMap,ta=new WeakMap,lv=function(e,n,r){f(this,ea,e),f(this,ta,{x:n,y:r})},sg=function(){var o,a,s;let e=(s=(a=(o=c(this,Kt))==null?void 0:o.querySelector("textarea"))==null?void 0:a.value.trim())!=null?s:"";if(e.length===0)return;let n=c(this,Wi);if(n!==void 0){n.note=e;let l=n.pin.querySelector(li("tipn"));l!==null&&(l.textContent=e),c(this,$s).call(this,S.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),E(this,$,lg).call(this,e,n.anchor,n.label,c(this,lt).indexOf(n)+1,n.source),E(this,$,Ms).call(this),E(this,$,Xn).call(this);return}let r=c(this,ea);r!==void 0&&(E(this,$,dv).call(this,e,r,c(this,ta).x,c(this,ta).y),E(this,$,Xn).call(this))},cg=function(){let e=c(this,Kt);e!==void 0&&(e.classList.remove("reticle-mark-shake"),e.offsetWidth,e.classList.add("reticle-mark-shake"),c(this,di)!==void 0&&me(c(this,di)),f(this,di,X(()=>{e.classList.remove("reticle-mark-shake"),f(this,di,void 0)},R5)))},dv=function(e,n,r,o){let a={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:vp()};n.source!==void 0&&(a.source=n.source),c(this,$s).call(this,S.HUMAN_MARK,a),c(this,Ps).call(this),E(this,$,uv).call(this,n,e,r,o),E(this,$,lg).call(this,e,n.anchor,n.label,c(this,lt).length,Jy(n))},lg=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,Ul))==null||l.call(this,s)},dg=function(e,n){var o,a;(o=c(this,Yo))==null||o.remove();let r=document.createElement("div");r.setAttribute(Ar,"pending"),r.textContent=zy,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,(a=c(this,tn))==null||a.appendChild(r),f(this,Yo,r)},uv=function(e,n,r,o){if(c(this,tn)===void 0)return;let a=document.createElement("button");a.type="button",a.setAttribute(Ar,"pin"),a.setAttribute("aria-label",e.label);let s=c(this,lt).length+1;a.innerHTML=`<span>${String(s)}</span><span ${Ar}="tip"><span ${Ar}="tipq"></span><span ${Ar}="tipn"></span></span>`;let l=a.querySelector(li("tipq")),d=a.querySelector(li("tipn"));l!==null&&(l.textContent=e.label),d!==null&&(d.textContent=n);let u=N5(c(this,ui)),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,tn).appendChild(a);let h=c(this,Ps).call(this),m={id:`${e.anchor}:${String(h)}:${String(s)}`,createdAt:h,note:n,label:e.label,anchor:e.anchor,route:vp(),xPct:r/window.innerWidth*100,yDoc:p,clientX:r,clientY:o,isFixed:u,pin:a,target:c(this,ui),source:Jy(e)};a.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),c(this,wn)&&E(this,$,ig).call(this,m)}),c(this,lt).push(m),E(this,$,Ms).call(this)},Hl=function(){let e=c(this,zo);if(e===void 0)return;let n=c(this,ui);if(n===void 0||!document.contains(n)||c(this,Kt)===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`},ug=function(){for(let e of c(this,lt)){if(e.isFixed){e.pin.style.top=`${String(e.clientY)}px`;continue}e.pin.style.top=`${String(e.yDoc-window.scrollY)}px`}E(this,$,pv).call(this),E(this,$,Hl).call(this)},pv=function(){let e=c(this,Kt),n=c(this,Wi);if(e===void 0||n===void 0)return;let r=E(this,$,og).call(this,n),o=nv(r.x,r.y);e.style.left=`${String(o.left)}px`,e.style.top=`${String(o.top)}px`},Xn=function(){var e,n;(e=c(this,Kt))==null||e.remove(),f(this,Kt,void 0),(n=c(this,Yo))==null||n.remove(),f(this,Yo,void 0),f(this,qo,void 0),f(this,ui,void 0),f(this,ea,void 0),f(this,Wi,void 0),c(this,zo)!==void 0&&(c(this,zo).hidden=!0)};ev="data-reticle-blocker"});var I5,wp,C5,hv,mv=_(()=>{"use strict";I5={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"/>'},wp=I5,C5={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"/>'},hv=C5});function L5(t,e){let n=`${t}:${String(e)}`,r=gv.get(n);if(r!==void 0)return document.importNode(r,!0);let o=wp[t];if(o===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let s=new DOMParser().parseFromString(`<svg xmlns="${Vl}" viewBox="${Kl}" fill="none">${o}</svg>`,"image/svg+xml").documentElement,l=s instanceof SVGSVGElement?document.importNode(s,!0):document.createElementNS(Vl,"svg");return l.setAttribute("viewBox",Kl),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),s instanceof SVGSVGElement||(l.innerHTML=o),gv.set(n,l),document.importNode(l,!0)}function yr(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(L5(t,e)),n}function fg(t,e,n=16){t.replaceChildren(yr(e,n))}function pe(t,e=16){let n=wp[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="${Vl}" viewBox="${Kl}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function Np(t,e=16){let n=wp[t],r=hv[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="${Vl}" viewBox="${Kl}" 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="${Vl}" viewBox="${Kl}" width="${o}" height="${o}" fill="currentColor">${r}</svg></span></span>`}var K,se,Vl,Kl,gv,Zn=_(()=>{"use strict";mv();K={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"},se={CHIP:11,LOG:11,TALLY:12,CTL:10,SEND:14,MIN:12,HELP:12,NAV:18,TOOLBAR:18,FAB:22},Vl="http://www.w3.org/2000/svg",Kl="0 0 24 24",gv=new Map});function Wl(t){t.scrollTop=t.scrollHeight,t.toggleAttribute(G5,t.scrollHeight>t.clientHeight+1)}function Rv(t){Wl(t),requestAnimationFrame(()=>{Wl(t),requestAnimationFrame(()=>Wl(t))}),X(()=>Wl(t),B5)}function wv(t){return[...t.children].filter(e=>e.hasAttribute(mg))}function Eg(t,e){let n=wv(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function Nv(t){for(let e of wv(t))e.remove()}function bg(t){return t===void 0||!Number.isFinite(t)||t<=0?k5:Math.floor(t)}function zl(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 Ov(t){return zl(t)}function Tg(t,e,n,r,o,a=Ls.AGENT){var T;let s=e===Ke.ACT||e===Ke.READ;if(s&&((T=t.getAttribute(bv))!=null?T:Ls.AGENT)!==a){let x=document.createElement("div");x.setAttribute(mg,""),x.setAttribute(Sv,H5),x.setAttribute(Tv,a);let y=document.createElement("span");y.className=Av,y.textContent=P5[a],x.appendChild(y),t.appendChild(x)}s&&t.setAttribute(bv,a);let l=document.createElement("div");l.setAttribute(mg,""),l.setAttribute(Sv,e),l.setAttribute(Tv,a),e===Ke.ACT&&l.setAttribute(xv,"running");let d=document.createElement("span");d.setAttribute(Op,""),d.textContent=r;let u=[];e!==Ke.HUMAN&&u.push(d);let p=D5[e],h=M5[e];if(p.length>0||h!==void 0){let x=document.createElement("span");if(x.className=U5,x.setAttribute("data-mode",$5[e]),h!==void 0&&x.appendChild(yr(h,se.LOG)),p.length>0){let y=document.createElement("span");y.className="reticle-chip-label",y.textContent=p,x.appendChild(y)}u.push(x)}let m=document.createElement("span");m.className=Av,m.textContent=n;let g=document.createElement("span");return g.className=hg,u.push(m),e!==Ke.HUMAN&&u.push(g),l.append(...u),t.appendChild(l),Eg(t,o),requestAnimationFrame(()=>{Wl(t)}),{result:x=>{if(l.setAttribute(xv,x),x===en.PASS){g.textContent=Ev.pass,g.className=`${hg} ${_v.pass}`;return}g.textContent=` ${Ev[x]}`,g.className=`${hg} ${_v[x]}`}}}var k5,D5,M5,yv,$5,Ev,P5,bv,Tv,xv,H5,_v,gg,mg,Op,Sv,Av,hg,U5,F5,B5,vv,G5,zi=_(()=>{"use strict";F();Ym();rt();Zn();k5=50,D5={read:"READ",act:"ACT",narration:"",human:""},M5={read:K.VIEW,act:K.POINTER},yv={[Ge.IDLE]:"",[Ge.READING]:"READING",[Ge.ACTING]:"ACTING"},$5={read:Ge.READING,act:Ge.ACTING,narration:Ge.IDLE,human:Ge.IDLE},Ev={pass:"\u2713",fail:"Fail"},P5={agent:"Your agent is driving",harness:"Reticle Harness is driving"},bv="data-reticle-log-actor",Tv="data-actor",xv="data-state",H5="handover",_v={pass:"reticle-pass",fail:"reticle-fail"},gg="data-reticle-log",mg="data-reticle-log-row",Op="data-reticle-log-time",Sv="data-kind",Av="reticle-log-text",hg="reticle-res",U5="reticle-chip",F5="Agent activity will appear here",B5=160,vv=`
|
|
73
73
|
[data-reticle-log]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y;
|
|
74
74
|
display:flex;flex-direction:column;
|
|
75
75
|
gap:4px;padding:8px 10px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;
|
|
76
76
|
background:transparent;}
|
|
77
77
|
[data-reticle-log]:empty{align-items:center;justify-content:center;}
|
|
78
|
-
[data-reticle-log]:empty::after{content:"${
|
|
78
|
+
[data-reticle-log]:empty::after{content:"${F5}";display:block;padding:24px 16px;text-align:center;
|
|
79
79
|
color:var(--reticle-faint);font-size:11.5px;line-height:1.5;letter-spacing:.01em;}
|
|
80
80
|
[data-reticle-log]::-webkit-scrollbar{width:8px;}
|
|
81
81
|
[data-reticle-log]::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:content-box;}
|
|
@@ -99,7 +99,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
99
99
|
[data-reticle-log] [data-reticle-log-row] .reticle-chip-label{
|
|
100
100
|
position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
|
|
101
101
|
[data-reticle-log] [data-reticle-log-row][data-kind="read"] .reticle-chip{opacity:.5;}
|
|
102
|
-
[${
|
|
102
|
+
[${Op}]{flex:none;color:var(--reticle-faint);font-size:9px;font-variant-numeric:tabular-nums;padding-top:2px;min-width:2em;opacity:.85;}
|
|
103
103
|
[data-reticle-log] .reticle-log-text{flex:1;min-width:0;color:var(--reticle-muted);overflow-wrap:anywhere;word-break:break-word;}
|
|
104
104
|
[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
105
|
[data-reticle-log] .reticle-res.reticle-pass{display:none;}
|
|
@@ -107,248 +107,365 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
107
107
|
padding:8px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
|
|
108
108
|
border-radius:16px 16px 4px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
|
|
109
109
|
[data-reticle-log-row][data-kind="human"] .reticle-log-text{color:var(--reticle-fg);font-size:12px;line-height:1.45;}
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
/* Rows arrive, rather than appear: the person watching should see the log move. */
|
|
111
|
+
[data-reticle-log-row]{animation:reticle-row-in .22s var(--reticle-hud-ease,ease) both;}
|
|
112
|
+
@keyframes reticle-row-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
|
|
113
|
+
@media (prefers-reduced-motion:reduce){[data-reticle-log-row]{animation:none;}}
|
|
114
|
+
/* The step in flight pulses until its verdict lands; then it says how it ended. */
|
|
115
|
+
[data-reticle-log-row][data-state="running"] .reticle-res{display:inline-block;width:6px;height:6px;margin-top:5px;
|
|
116
|
+
border-radius:50%;background:var(--reticle-c-active);opacity:1;animation:reticle-row-pulse 1s ease-in-out infinite;}
|
|
117
|
+
@keyframes reticle-row-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
|
|
118
|
+
[data-reticle-log] .reticle-res.reticle-pass{display:inline;color:#4ade80;font-size:10px;opacity:.9;}
|
|
119
|
+
[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;}
|
|
120
|
+
/* The Harness's rows wear its own colour, so two drivers never read as one. */
|
|
121
|
+
[data-reticle-log-row][data-actor="harness"]{--reticle-row-accent:#a78bfa;}
|
|
122
|
+
[data-reticle-log-row][data-actor="harness"] .reticle-chip{color:#a78bfa;}
|
|
123
|
+
[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;}
|
|
124
|
+
[data-reticle-log-row][data-kind="handover"]{align-items:center;gap:8px;margin:8px 0 4px;padding:0;
|
|
125
|
+
font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--reticle-row-accent,var(--reticle-c-active));}
|
|
126
|
+
[data-reticle-log-row][data-kind="handover"]::before,[data-reticle-log-row][data-kind="handover"]::after{
|
|
127
|
+
content:"";flex:1;height:1px;background:color-mix(in srgb,var(--reticle-row-accent,var(--reticle-c-active)) 40%,transparent);}
|
|
128
|
+
[data-reticle-log-row][data-kind="handover"] .reticle-log-text{flex:none;color:inherit;}
|
|
129
|
+
/* What the Harness or the daemon says about a drive reads as a notice, not an aside. */
|
|
130
|
+
[data-reticle-log-row][data-kind="narration"]{font-style:normal;color:var(--reticle-fg);margin:4px 0;padding:7px 10px;
|
|
131
|
+
border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
|
|
132
|
+
`;G5="data-reticle-log-scrollable"});function Lv(t,e=typeof navigator=="undefined"?void 0:navigator){return t!==void 0?t:(e==null?void 0:e.webdriver)===!0?0:j5}var ra,Iv,Yl,Cv,Ip,j5,Qn,kv,Dv,Mv,Yi,$v,Pv,Hv,fi,qi,Pt,Cp,xg,Oe,Qe,C,Uv,Lp,dt,hi,Xi,_t,Bs,kp,Dp,Mp,$p,Fv,Pp,_g,Wt,M,Sg,ut,We,ql,N,Ag,Gs,yg,Hp,Bv,Xl,Gv,js,Up,vr,jv,Fp,Bp,Gp,vg,jp,Vv,Kv,Rg,ot=_(()=>{"use strict";Gn();ra={SESSION:"session",BUSY:"busy"},Iv=ra.SESSION,Yl="data-busy",Cv="1",Ip="0",j5=450;Qn={IDLE:"idle",BUSY:"busy",FADING:"fading"},kv=700,Dv=1e3,Mv=4e3,Yi={READY:"Ready",PLANNING_PREFIX:"planning next action \xB7 ",STOPPED:"stopped",STOPPED_PREFIX:"stopped \xB7 ",NOW:"now",SINCE_LAST:" since last action"},$v=3e5,Pv=5e3,Hv=250,fi="1",qi="0",Pt="data-on",Cp="data-reticle-state",xg="unreachable",Oe="data-reticle-min",Qe="data-reticle-chat",C="data-reticle-dock",Uv="data-reticle-fab",Lp="data-reticle-chat-toggle",dt="data-reticle-chat-panel",hi="data-reticle-chat-placement",Xi="data-reticle-settings-placement",_t="data-reticle-dock-align",Bs={ABOVE:"above",BELOW:"below"},kp="data-reticle-markers-btn",Dp="data-reticle-clear-marks",Mp="data-reticle-copy-marks",$p="data-reticle-marks-row",Fv="data-reticle-mark-count",Pp="data-reticle-annotate-btn",_g="data-reticle-chat-min",Wt="data-reticle-report",M="data-reticle-report-panel",Sg="data-reticle-report-close",ut="data-reticle-chat-pill",We="data-reticle-settings",ql="data-reticle-settings-btn",N="data-reticle-settings-panel",Ag="data-reticle-settings-close",Gs="data-reticle-setting",yg=ze.PRESENTER_SETTINGS,Hp=ze.PRESENTER_MINIMISED,Bv="data-reticle-ambient-glow",Xl="data-reticle-live",Gv="data-reticle-block",js="data-reticle-hidden",Up="data-reticle-log-ts",vr="data-reticle-reduce-motion",jv="https://github.com/reticlehq/reticle/blob/main/docs/getting-started.md",Fp="data-dragged",Bp="--reticle-hud-x",Gp="--reticle-hud-y",vg=4,jp=8,Vv="[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",Kv="data-reticle-throttled",Rg=100});var rn,wg,Zl,Jn,Vs,Wv,Vp,zv,er=_(()=>{"use strict";rn="reticle-hud-surface",wg="linear-gradient(165deg,#121218 0%,#09090c 42%,#000 100%)",Zl=`background:${wg};box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.09);`,Jn="0 16px 40px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08)",Vs=["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:${Jn},0 0 64px -12px color-mix(in srgb,var(--reticle-c-active) 75%,transparent);`].join(""),Wv=`
|
|
133
|
+
.${rn}{
|
|
112
134
|
position:relative;overflow:hidden;
|
|
113
135
|
contain:layout style paint;
|
|
114
|
-
${
|
|
136
|
+
${Zl}
|
|
115
137
|
}
|
|
116
|
-
.${
|
|
138
|
+
.${rn}::before,
|
|
117
139
|
[data-reticle-hud] .reticle-hud-deco::after{
|
|
118
140
|
content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:1;
|
|
119
141
|
background:
|
|
120
142
|
radial-gradient(ellipse 120% 70% at 50% -18%,rgba(255,255,255,.07),transparent 52%),
|
|
121
143
|
linear-gradient(180deg,rgba(255,255,255,.035) 0%,transparent 36%,rgba(0,0,0,.12) 100%);
|
|
122
144
|
}
|
|
123
|
-
.${
|
|
124
|
-
.${
|
|
145
|
+
.${rn} > *{position:relative;z-index:2;}`,Vp="reticle-hud-log-well",zv=`
|
|
146
|
+
.${Vp}{
|
|
125
147
|
/* A settled height, but still allowed to shrink: pinned with flex:none it pushed the composer
|
|
126
148
|
off the bottom of the panel the moment the rest of the content grew. */
|
|
127
149
|
/* A flex column, so the feed inside actually FILLS the height: as a plain block the log was only
|
|
128
150
|
as tall as its rows, which left the empty-state line floating near the top of an otherwise
|
|
129
151
|
empty panel instead of centred in it. */
|
|
130
152
|
position:relative;display:flex;flex-direction:column;
|
|
131
|
-
flex:1 1 auto;height:
|
|
153
|
+
flex:1 1 auto;height:240px;min-height:120px;max-height:300px;overflow:hidden;
|
|
132
154
|
contain:layout style paint;
|
|
133
155
|
margin:0 6px;border-radius:12px;background:transparent;}
|
|
134
|
-
.${
|
|
135
|
-
[data-reticle-overlay][${
|
|
156
|
+
.${Vp} > *{position:relative;z-index:1;}`});function Ks(t){return t.getAttribute(Fp)==="1"}function Ws(t,e,n,r,o,a,s=jp){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 Zi(t,e,n){t.setAttribute(Fp,"1"),t.style.setProperty(Bp,`${String(e)}px`),t.style.setProperty(Gp,`${String(n)}px`)}function Ql(t){t.removeAttribute(Fp),t.style.removeProperty(Bp),t.style.removeProperty(Gp)}function zs(t){let e=t.getBoundingClientRect();return{left:e.left,top:e.top,width:e.width,height:e.height}}function Kp(t){let e=t.style.getPropertyValue(Bp),n=t.style.getPropertyValue(Gp);if(e!==""&&n!=="")return{left:Number.parseFloat(e),top:Number.parseFloat(n)};let r=t.getBoundingClientRect();return{left:r.left,top:r.top}}function Jl(t){if(!Ks(t))return;let{left:e,top:n}=Kp(t),{width:r,height:o}=zs(t),a=Ws(e,n,r,o,window.innerWidth,window.innerHeight);Zi(t,a.left,a.top)}var ed=_(()=>{"use strict";ot()});function z5(t){var a,s,l,d,u,p,h,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=(h=t[0])==null?void 0:h.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 Jv(t,e,n){return t>=n?Bs.ABOVE:e>=n?Bs.BELOW:e>t?Bs.BELOW:Bs.ABOVE}function eR(t,e,n,r){let o=Bs.ABOVE===t?e-r:n-r;return Math.max(0,o)}function tR(t,e,n){let r=`${String(n)}px`;t.style.setProperty(e,r),t.style.maxHeight=r}function nR(t,e){t.style.removeProperty(e),t.style.removeProperty("max-height")}function Wp(t){if(t===null)return!1;let e=window.getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"}function Y5(t){let e=t.querySelector(`[${Yv}]`);if(e instanceof HTMLElement)return e;if(t.hasAttribute(Yv)||Ks(t))return t}function rR(t,e){let n=Y5(t);if(n===void 0)return;let r=e.getAttribute(Qe)==="1",o=e.getAttribute(We)==="1",a=t.querySelector(`[${dt}]`),s=t.querySelector(`[${N}]`),l=jp,d=window.innerWidth,u=window.innerHeight,p=n.getBoundingClientRect(),h=p.top-l,m=u-p.bottom-l;if(r&&a instanceof HTMLElement&&Wp(a)){let Y=a.getBoundingClientRect().height||Zv,fe=Jv(h,m,Y+qv);t.setAttribute(hi,fe);let ue=Math.min(Zv,Math.max(K5,eR(fe,h,m,qv)));tR(a,"--reticle-chat-max-h",ue)}else t.removeAttribute(hi),a instanceof HTMLElement&&nR(a,"--reticle-chat-max-h");if(o&&s instanceof HTMLElement&&Wp(s)){let Y=s.getBoundingClientRect().height||Qv,fe=Jv(h,m,Y+V5+Xv);t.setAttribute(Xi,fe);let ue=Math.min(Qv,Math.max(W5,eR(fe,h,m,Xv)));tR(s,"--reticle-settings-max-h",ue)}else t.removeAttribute(Xi),s instanceof HTMLElement&&nR(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 Y=p.right-g,fe=p.left+g;Y<l||p.left<l?t.setAttribute(_t,"start"):fe>d-l||p.right>d-l?t.setAttribute(_t,"end"):t.setAttribute(_t,"end")}else t.removeAttribute(_t);if(!r&&!o){Ks(t)&&Jl(t);return}let T=[p];r&&a instanceof HTMLElement&&Wp(a)&&T.push(a.getBoundingClientRect()),o&&s instanceof HTMLElement&&Wp(s)&&T.push(s.getBoundingClientRect());let x=z5(T);if(x===void 0)return;let y=0,A=0;if(x.left<l?y=l-x.left:x.right>d-l&&(y=d-l-x.right),x.top<l?A=l-x.top:x.bottom>u-l&&(A=u-l-x.bottom),y===0&&A===0)return;let w=t.getBoundingClientRect(),k=Ks(t)?Kp(t):{left:w.left,top:w.top};Zi(t,k.left+y,k.top+A)}function tr(t,e){zp!==void 0&&cancelAnimationFrame(zp),zp=requestAnimationFrame(()=>{zp=void 0,rR(t,e),requestAnimationFrame(()=>rR(t,e))})}function iR(t){let e=t.querySelector(`[${C}]`);return e instanceof HTMLElement?e:void 0}var Yv,qv,Xv,V5,K5,Zv,Qv,W5,zp,td=_(()=>{"use strict";ot();ed();Yv="data-reticle-hud",qv=8,Xv=12,V5=44,K5=160,Zv=440,Qv=520,W5=200});function aR(t,e){var u,p;let n=()=>{tr(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:[Oe,Qe,We]});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 q5(t,e,n={}){let r=!1,o=0,a=0,s=0,l=0,d=!1,u,p=()=>{var k;let w=d;if(r=!1,e.classList.remove(oR),u=void 0,d=!1,w){let Y=t.parentElement;Y instanceof HTMLElement?tr(t,Y):Jl(t)}(k=n.onDragEnd)==null||k.call(n,w)},h=w=>{if(w.button!==0)return;let k=w.target;if(!(k instanceof Element)||k.closest(Vv)!==null)return;let Y=t.getBoundingClientRect();o=w.clientX,a=w.clientY,s=Y.left,l=Y.top,r=!0,d=!1,u=w.pointerId,e.classList.add(oR),typeof e.setPointerCapture=="function"&&e.setPointerCapture(w.pointerId),w.preventDefault()},m=w=>{var Re;if(!r||w.pointerId!==u)return;let k=w.clientX-o,Y=w.clientY-a;if(!d&&Math.abs(k)<vg&&Math.abs(Y)<vg)return;d=!0,(Re=n.onDragMove)==null||Re.call(n);let fe=zs(t),ue=Ws(s+k,l+Y,fe.width,fe.height,window.innerWidth,window.innerHeight);Zi(t,ue.left,ue.top),w.preventDefault()},g=w=>{typeof e.releasePointerCapture=="function"&&e.releasePointerCapture(w)},T=w=>{!r||w.pointerId!==u||(d&&w.preventDefault(),g(w.pointerId),p())},x=w=>{!r||w.pointerId!==u||(g(w.pointerId),p())},y=new AbortController,{signal:A}=y;return e.addEventListener("pointerdown",h,{signal:A}),e.addEventListener("pointermove",m,{signal:A}),e.addEventListener("pointerup",T,{signal:A}),e.addEventListener("pointercancel",x,{signal:A}),()=>{y.abort(),r&&g(u!=null?u:0),p()}}function sR(t,e,n={}){let r=e.map(o=>q5(t,o,n));return()=>{for(let o of r)o()}}var oR,Ng=_(()=>{"use strict";ot();td();ed();ed();oR="reticle-drag-handle--dragging"});var Yp,Og=_(()=>{"use strict";ot();er();Yp=`
|
|
157
|
+
[data-reticle-overlay][${We}="1"] [data-reticle-chat-panel]{
|
|
136
158
|
display:none !important;visibility:hidden !important;pointer-events:none !important;}
|
|
137
|
-
[${
|
|
159
|
+
[${N}]{
|
|
138
160
|
position:absolute;right:0;left:auto;top:auto;bottom:calc(100% + 12px);z-index:30;
|
|
139
161
|
box-sizing:border-box;display:flex;flex-direction:column;width:272px;min-height:0;
|
|
140
162
|
max-width:min(272px,calc(100vw - 16px));
|
|
141
163
|
max-height:min(var(--reticle-settings-max-h,78vh),calc(100vh - 96px));
|
|
142
164
|
padding:0;border:none;border-radius:16px;overflow:hidden;
|
|
143
|
-
box-shadow:${
|
|
165
|
+
box-shadow:${Jn};
|
|
144
166
|
color:var(--reticle-fg);font-size:13px;line-height:1.35;
|
|
145
167
|
opacity:0;pointer-events:none;visibility:hidden;touch-action:manipulation;
|
|
146
168
|
transform:translate3d(0,6px,0) scale(.98);
|
|
147
169
|
transition:opacity .14s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility .14s;
|
|
148
|
-
contain:none;isolation:isolate;${
|
|
149
|
-
[${
|
|
170
|
+
contain:none;isolation:isolate;${Zl}}
|
|
171
|
+
[${C}][${Xi}="below"] [${N}]{
|
|
150
172
|
bottom:auto;top:calc(100% + 12px);}
|
|
151
|
-
[${
|
|
173
|
+
[${C}][${_t}="start"] [${N}]{
|
|
152
174
|
right:auto;left:0;}
|
|
153
|
-
[${
|
|
175
|
+
[${C}][${Xi}="below"] [${N}].${rn}::after{
|
|
154
176
|
top:auto;bottom:100%;margin-top:0;margin-bottom:-4px;box-shadow:-1px -1px 0 0 rgba(255,255,255,.08);}
|
|
155
|
-
[${
|
|
177
|
+
[${C}][${_t}="start"] [${N}].${rn}::after{
|
|
156
178
|
right:auto;left:14px;}
|
|
157
|
-
[data-reticle-overlay][${
|
|
179
|
+
[data-reticle-overlay][${We}="1"] [${N}]{
|
|
158
180
|
opacity:1;pointer-events:auto;visibility:visible;transform:translate3d(0,0,0) scale(1);}
|
|
159
|
-
[${
|
|
181
|
+
[${N}] .reticle-settings-inner{
|
|
160
182
|
position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
|
|
161
183
|
flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden;}
|
|
162
|
-
[${
|
|
184
|
+
[${N}] .reticle-settings-head{
|
|
163
185
|
display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;
|
|
164
186
|
padding:12px 14px 8px;border-bottom:1px solid rgba(255,255,255,.06);}
|
|
165
|
-
[${
|
|
187
|
+
[${N}] .reticle-settings-title{
|
|
166
188
|
font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);}
|
|
167
|
-
[${
|
|
189
|
+
[${N}].${rn}::after{
|
|
168
190
|
content:"";position:absolute;top:100%;right:14px;width:8px;height:8px;margin-top:-4px;
|
|
169
191
|
background:#000;transform:rotate(45deg);box-shadow:1px 1px 0 0 rgba(255,255,255,.08);z-index:0;pointer-events:none;}
|
|
170
|
-
[${
|
|
192
|
+
[${N}] .reticle-settings-close{
|
|
171
193
|
position:relative;top:auto;right:auto;z-index:1;
|
|
172
194
|
display:inline-flex;align-items:center;justify-content:center;
|
|
173
195
|
width:24px;height:24px;padding:0;border:none;border-radius:999px;cursor:pointer;
|
|
174
196
|
background:rgba(255,255,255,.06);color:var(--reticle-muted);line-height:0;
|
|
175
197
|
transition:background .15s,color .15s,transform .1s;}
|
|
176
|
-
[${
|
|
177
|
-
[${
|
|
178
|
-
[${
|
|
179
|
-
[${
|
|
198
|
+
[${N}] .reticle-settings-close:hover{background:rgba(255,255,255,.12);color:var(--reticle-fg);}
|
|
199
|
+
[${N}] .reticle-settings-close:active{transform:scale(.94);}
|
|
200
|
+
[${N}] .reticle-settings-close:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:1px;}
|
|
201
|
+
[${N}] .reticle-settings-body{
|
|
180
202
|
min-height:0;padding:6px 0 4px;overflow-x:hidden;overflow-y:auto;
|
|
181
203
|
overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
|
|
182
204
|
scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;
|
|
183
205
|
background:linear-gradient(180deg,#0a0a0e 0%,#000 100%);}
|
|
184
|
-
[${
|
|
185
|
-
[${
|
|
206
|
+
[${N}] .reticle-settings-body::-webkit-scrollbar{width:8px;}
|
|
207
|
+
[${N}] .reticle-settings-body::-webkit-scrollbar-thumb{
|
|
186
208
|
background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:content-box;}
|
|
187
|
-
[${
|
|
209
|
+
[${N}] .reticle-settings-row{
|
|
188
210
|
display:flex;align-items:center;justify-content:space-between;gap:12px;
|
|
189
211
|
padding:8px 14px;min-height:30px;}
|
|
190
|
-
[${
|
|
212
|
+
[${N}] .reticle-settings-label{
|
|
191
213
|
display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.62);font-size:13px;font-weight:500;}
|
|
192
|
-
[${
|
|
214
|
+
[${N}] .reticle-settings-help{
|
|
193
215
|
display:inline-flex;align-items:center;justify-content:center;
|
|
194
216
|
width:14px;height:14px;border:none;border-radius:999px;padding:0;cursor:help;
|
|
195
217
|
background:transparent;color:rgba(255,255,255,.35);line-height:0;flex:none;}
|
|
196
|
-
[${
|
|
197
|
-
[${
|
|
198
|
-
[${
|
|
218
|
+
[${N}] .reticle-settings-help:hover{color:rgba(255,255,255,.75);}
|
|
219
|
+
[${N}] .reticle-settings-help:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:1px;}
|
|
220
|
+
[${N}] .reticle-settings-cycle{
|
|
199
221
|
display:inline-flex;align-items:center;gap:8px;border:none;border-radius:8px;cursor:pointer;
|
|
200
222
|
background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:12px;font-weight:600;
|
|
201
223
|
padding:5px 8px 5px 10px;transition:background .15s,transform .1s;}
|
|
202
|
-
[${
|
|
203
|
-
[${
|
|
204
|
-
[${
|
|
205
|
-
[${
|
|
206
|
-
[${
|
|
224
|
+
[${N}] .reticle-settings-cycle:hover{background:rgba(255,255,255,.12);}
|
|
225
|
+
[${N}] .reticle-settings-cycle:active{transform:scale(.97);}
|
|
226
|
+
[${N}] .reticle-settings-cycle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:1px;}
|
|
227
|
+
[${N}] .reticle-settings-dots{display:inline-flex;flex-direction:column;gap:2px;}
|
|
228
|
+
[${N}] .reticle-settings-dot{
|
|
207
229
|
width:3px;height:3px;border-radius:999px;background:rgba(255,255,255,.22);}
|
|
208
|
-
[${
|
|
209
|
-
[${
|
|
230
|
+
[${N}] .reticle-settings-dot[data-on="1"]{background:var(--reticle-accent);}
|
|
231
|
+
[${N}] .reticle-settings-toggle{
|
|
210
232
|
position:relative;width:28px;height:18px;border:none;border-radius:999px;cursor:pointer;padding:0;flex:none;
|
|
211
233
|
background:rgba(255,255,255,.16);transition:background .15s ease,box-shadow .15s ease;}
|
|
212
|
-
[${
|
|
213
|
-
[${
|
|
234
|
+
[${N}] .reticle-settings-toggle[data-on="1"]{background:var(--reticle-accent);}
|
|
235
|
+
[${N}] .reticle-settings-toggle::after{
|
|
214
236
|
content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;
|
|
215
237
|
background:#fafafa;box-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .15s ease;}
|
|
216
|
-
[${
|
|
217
|
-
[${
|
|
218
|
-
[${
|
|
219
|
-
[${
|
|
238
|
+
[${N}] .reticle-settings-toggle[data-on="1"]::after{transform:translateX(10px);}
|
|
239
|
+
[${N}] .reticle-settings-toggle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
|
|
240
|
+
[${N}] .reticle-settings-row[data-disabled="1"]{opacity:.45;pointer-events:none;}
|
|
241
|
+
[${N}] .reticle-settings-section{
|
|
220
242
|
padding:10px 14px 6px;color:rgba(255,255,255,.38);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
|
|
221
|
-
[${
|
|
243
|
+
[${N}] .reticle-settings-swatches{
|
|
222
244
|
display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;}
|
|
223
|
-
[${
|
|
245
|
+
[${N}] .reticle-settings-swatch{
|
|
224
246
|
width:24px;height:24px;border-radius:999px;padding:0;cursor:pointer;
|
|
225
247
|
border:2px solid transparent;background-clip:padding-box;
|
|
226
248
|
box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);transition:transform .12s,border-color .12s;}
|
|
227
|
-
[${
|
|
228
|
-
[${
|
|
249
|
+
[${N}] .reticle-settings-swatch:hover{transform:scale(1.06);}
|
|
250
|
+
[${N}] .reticle-settings-swatch[data-on="1"]{
|
|
229
251
|
border-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);}
|
|
230
|
-
[${
|
|
231
|
-
[${
|
|
252
|
+
[${N}] .reticle-settings-swatch:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:2px;}
|
|
253
|
+
[${N}] .reticle-settings-checkrow{
|
|
232
254
|
display:flex;align-items:center;gap:10px;padding:7px 14px;color:rgba(255,255,255,.8);font-size:13px;
|
|
233
255
|
cursor:pointer;user-select:none;margin:0;transition:background .12s;}
|
|
234
|
-
[${
|
|
235
|
-
[${
|
|
256
|
+
[${N}] .reticle-settings-checkrow:hover{background:rgba(255,255,255,.03);}
|
|
257
|
+
[${N}] .reticle-settings-check{
|
|
236
258
|
width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.22);
|
|
237
259
|
background:rgba(255,255,255,.04);display:inline-flex;align-items:center;justify-content:center;
|
|
238
260
|
color:transparent;font-size:10px;line-height:1;flex:none;transition:background .12s,border-color .12s,color .12s;}
|
|
239
|
-
[${
|
|
261
|
+
[${N}] .reticle-settings-check[data-on="1"]{
|
|
240
262
|
background:#fafafa;border-color:#fafafa;color:#111;}
|
|
241
|
-
[${
|
|
242
|
-
[${
|
|
263
|
+
[${N}] .reticle-settings-check:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
|
|
264
|
+
[${N}] .reticle-settings-foot{
|
|
243
265
|
flex-shrink:0;margin-top:2px;border-top:1px solid rgba(255,255,255,.08);
|
|
244
266
|
display:flex;flex-direction:column;gap:0;background:#000;}
|
|
245
|
-
[${
|
|
267
|
+
[${N}] .reticle-settings-reset{
|
|
246
268
|
width:100%;display:flex;align-items:center;justify-content:center;gap:6px;
|
|
247
269
|
border:none;background:rgba(255,255,255,.04);color:rgba(255,255,255,.78);font:inherit;font-size:12px;font-weight:600;
|
|
248
270
|
padding:10px 14px;cursor:pointer;text-align:center;transition:background .12s,color .12s;}
|
|
249
|
-
[${
|
|
250
|
-
[${
|
|
251
|
-
[${
|
|
271
|
+
[${N}] .reticle-settings-reset:hover{background:rgba(255,255,255,.08);color:#fff;}
|
|
272
|
+
[${N}] .reticle-settings-reset:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
|
|
273
|
+
[${N}] .reticle-settings-link{
|
|
252
274
|
width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
|
|
253
275
|
border:none;background:transparent;color:rgba(255,255,255,.82);font:inherit;font-size:13px;
|
|
254
276
|
padding:11px 14px;cursor:pointer;text-align:left;transition:background .12s,color .12s;
|
|
255
277
|
text-decoration:none;box-sizing:border-box;}
|
|
256
|
-
[${
|
|
257
|
-
[${
|
|
258
|
-
[${
|
|
259
|
-
[
|
|
278
|
+
[${N}] .reticle-settings-link-caret{display:inline-flex;align-items:center;flex:none;opacity:.55;}
|
|
279
|
+
[${N}] .reticle-settings-link:hover{background:rgba(255,255,255,.04);color:#fff;}
|
|
280
|
+
[${N}] .reticle-settings-link:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
|
|
281
|
+
[${N}] .reticle-settings-kill-row{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.08);}
|
|
282
|
+
[${N}] .reticle-settings-kill{
|
|
283
|
+
width:100%;display:flex;align-items:center;justify-content:center;
|
|
284
|
+
border:1px solid rgba(239,68,68,.55);border-radius:8px;background:rgba(239,68,68,.12);color:#f87171;
|
|
285
|
+
font:inherit;font-size:13px;font-weight:600;padding:8px 12px;cursor:pointer;
|
|
286
|
+
transition:background .12s,border-color .12s,color .12s;}
|
|
287
|
+
[${N}] .reticle-settings-kill:hover{background:rgba(239,68,68,.22);border-color:#ef4444;color:#fca5a5;}
|
|
288
|
+
[${N}] .reticle-settings-kill[data-armed="1"]{background:#ef4444;border-color:#ef4444;color:#fff;}
|
|
289
|
+
[${N}] .reticle-settings-kill:focus-visible{outline:2px solid rgba(239,68,68,.6);outline-offset:2px;}
|
|
290
|
+
[${N}] .reticle-settings-kill-sub{margin:8px 0 0;font-size:11px;line-height:1.45;color:rgba(255,255,255,.55);}
|
|
291
|
+
[data-reticle-overlay][${We}="1"] [data-reticle-hud] .reticle-tb-tip{
|
|
260
292
|
opacity:0;visibility:hidden;transition-delay:0s;}
|
|
261
293
|
/* The dock's accent IS the theme's active colour, published as --reticle-accent on the overlay by
|
|
262
294
|
applyPresenterSettings. It used to be a seventh independent picker with its own attribute. */
|
|
263
295
|
[data-reticle-dock]{--reticle-accent-soft:color-mix(in srgb,var(--reticle-accent) 18%,transparent);}
|
|
264
296
|
/* One chip per theme: three bands (active, idle, ended) over the theme's name. */
|
|
265
|
-
[${
|
|
297
|
+
[${N}] .reticle-settings-themes{
|
|
266
298
|
display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;padding:4px 14px 12px;}
|
|
267
|
-
[${
|
|
299
|
+
[${N}] .reticle-settings-theme{
|
|
268
300
|
display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;
|
|
269
301
|
border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.03);
|
|
270
302
|
cursor:pointer;transition:border-color .15s ease,background .15s ease;}
|
|
271
|
-
[${
|
|
272
|
-
[${
|
|
303
|
+
[${N}] .reticle-settings-theme:hover{background:rgba(255,255,255,.07);}
|
|
304
|
+
[${N}] .reticle-settings-theme[data-on="1"]{
|
|
273
305
|
border-color:#fff;background:rgba(255,255,255,.1);}
|
|
274
|
-
[${
|
|
275
|
-
[${
|
|
276
|
-
[${
|
|
306
|
+
[${N}] .reticle-settings-theme-band{display:block;height:6px;}
|
|
307
|
+
[${N}] .reticle-settings-theme-band:first-of-type{height:10px;}
|
|
308
|
+
[${N}] .reticle-settings-theme-name{
|
|
277
309
|
display:block;padding:5px 6px 6px;color:rgba(255,255,255,.78);font-size:11px;text-align:center;}
|
|
278
310
|
[data-reticle-blocker]{
|
|
279
311
|
position:fixed;inset:0;z-index:1;background:rgba(0,0,0,.16);pointer-events:auto;}
|
|
280
312
|
[data-reticle-overlay][data-reticle-block="0"] [data-reticle-blocker]{
|
|
281
313
|
display:none;pointer-events:none;}
|
|
282
|
-
[data-reticle-overlay][data-reticle-hidden="1"] [${
|
|
283
|
-
[data-reticle-overlay][data-reticle-hidden="1"] [${
|
|
314
|
+
[data-reticle-overlay][data-reticle-hidden="1"] [${C}],
|
|
315
|
+
[data-reticle-overlay][data-reticle-hidden="1"] [${N}]{display:none !important;}
|
|
284
316
|
|
|
285
|
-
`});function
|
|
286
|
-
${
|
|
287
|
-
<button type="button" class="reticle-settings-toggle" ${
|
|
288
|
-
</div>`}function
|
|
317
|
+
`});function _e(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function ia(t){try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}var nd=_(()=>{"use strict"});function lR(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():ie.AVATAR_FALLBACK}function Ys(t,e={},n=!1){var l;if(t===void 0)return"";if(!t.signedIn)return n?`<div class="reticle-account" ${cR}><button type="button" class="reticle-account-signin" ${Rr} title="${ie.SIGNIN_TITLE}" aria-label="${ie.SIGNIN_TITLE}">${ie.SIGNED_OUT}</button></div>`:"";let r=(l=t.org)!=null?l:"",o=r.length>0?_e(r):ie.SIGNED_IN_AS,a=`<span class="reticle-account-avatar" aria-hidden="true">${_e(lR(t.org))}</span>`,s=`<button type="button" class="reticle-account-trigger" ${Ig} aria-haspopup="true" aria-expanded="false" title="${ie.TRIGGER_TITLE}" aria-label="${ie.TRIGGER_TITLE}: ${o}">${a}</button>`;return`<div class="reticle-account" ${cR}>${s}${Q5(t,e)}</div>`}function qp(t,e){return e===void 0||e.length===0?"":`<div class="reticle-account-row"><span class="reticle-account-k">${_e(t)}</span><span class="reticle-account-v" title="${_e(e)}">${_e(e)}</span></div>`}function Q5(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">${_e(lR(t.org))}</span><span class="reticle-account-who"><span class="reticle-account-org">${n.length>0?_e(n):ie.SIGNED_IN_AS}</span>`+(t.email!==void 0&&t.email.length>0?`<span class="reticle-account-email" title="${_e(t.email)}">${_e(t.email)}</span>`:`<span class="reticle-account-email">${ie.SIGNED_IN_AS}</span>`)+"</span></div>",o=qp(ie.HOST_LABEL,t.host)+qp(ie.PROJECT_LABEL,e.projectName)+qp(ie.VERDICTS_LABEL,e.verdicts!==void 0?String(e.verdicts):void 0)+qp(ie.DEFECTS_LABEL,e.defects!==void 0?String(e.defects):void 0),s=e.dashboardUrl!==void 0&&ia(e.dashboardUrl)?`<a class="reticle-account-action" data-reticle-account-dashboard href="${_e((u=e.dashboardUrl)!=null?u:"")}" target="_blank" rel="noreferrer noopener" title="${ie.DASHBOARD_TITLE}">${pe(K.VIEW,se.HELP)}<span>${ie.DASHBOARD_ACTION}</span></a>`:`<button type="button" class="reticle-account-action reticle-account-action--hint" ${Rr} data-reticle-copy="${ie.LINK_COMMAND}" title="${ie.LINK_HINT}"><span>${ie.LINK_HINT}</span></button>`,l=`<button type="button" class="reticle-account-action" ${X5} data-reticle-copy="${ie.SIGNOUT_COMMAND}" title="${ie.SIGNOUT_TITLE}"><span>${ie.SIGNOUT_ACTION}</span></button>`;return`<div class="reticle-account-menu" ${Xp} role="menu" aria-label="${ie.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 Lg(t){return t===void 0||!ia(t)?"":`<button type="button" class="reticle-sync-now" ${Cg} title="${ie.SYNC_TITLE}" aria-label="${ie.SYNC_TITLE}">${pe(K.SYNC,se.HELP)}</button>`}function dR(t,e){let n=new AbortController,{signal:r}=n,o=l=>{for(let d of t.querySelectorAll(`[${Xp}]`))d!==l&&(d.setAttribute("hidden",""),d.setAttribute("aria-hidden","true"));for(let d of t.querySelectorAll(`[${Ig}]`))l!==void 0&&d.parentElement===l.parentElement||d.setAttribute("aria-expanded","false")},a=(l,d)=>{var h;let u=(h=l.querySelector("span"))!=null?h:l,p=u.textContent;u.textContent=d,setTimeout(()=>{u.textContent=p},Z5)},s=async(l,d)=>{try{if(navigator.clipboard===void 0)throw new Error("Clipboard unavailable");await navigator.clipboard.writeText(l),a(d,ie.COPIED)}catch{a(d,l===ie.SIGNOUT_COMMAND?ie.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(`[${Ig}]`);if(u instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(m=u.parentElement)==null?void 0:m.querySelector(`[${Xp}]`);if(!(T instanceof HTMLElement))return;let x=!T.hasAttribute("hidden");if(o(),x)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 h=d.closest(`[${Rr}]`);if(h instanceof HTMLElement){l.preventDefault(),l.stopPropagation(),e==null||e(),s(ie.SIGNIN_COMMAND,h);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(`[${Xp}]:not([hidden])`)===null||(l.stopPropagation(),o())},{signal:r}),()=>n.abort()}var cR,Rr,Cg,Ig,Xp,X5,ie,Z5,qs=_(()=>{"use strict";Zn();nd();cR="data-reticle-account",Rr="data-reticle-account-signin",Cg="data-reticle-sync-now",Ig="data-reticle-account-trigger",Xp="data-reticle-account-menu",X5="data-reticle-account-signout",ie={SIGNED_OUT:"Sign in",SIGNIN_TITLE:"Sign in through your browser. Also copies `reticle login`, for a terminal",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:"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"},Z5=1200});var TR={};Uc(TR,{OutputDetail:()=>nr,PresenterSettingsPanel:()=>id,SETTINGS_ACCOUNT_ATTR:()=>Fg,SETTINGS_CSS:()=>Yp,blockerHtml:()=>jg,creditsLeft:()=>ad,getPresenterSettings:()=>on,loadPresenterSettings:()=>Ug,paintHarnessRow:()=>ER,paintSettingsAccount:()=>Bg,settingsPanelHtml:()=>Gg,statusTheme:()=>od,syncPageBlocker:()=>Jp});function od(t){var e;return(e=Hg.find(n=>n.id===t))!=null?e:J5}function on(){return pt}function Ug(){if(typeof localStorage=="undefined")return{...Nn};try{let t=localStorage.getItem(yg);if(t===null)return{...Nn};let e=JSON.parse(t);if(typeof e!="object"||e===null)return{...Nn};let n=e;return{outputDetail:eM(n.outputDetail)?n.outputDetail:Nn.outputDetail,reactComponents:n.reactComponents===!0,hideUntilRestart:!1,statusThemeId:tM(n.statusThemeId)?n.statusThemeId:Nn.statusThemeId,ambientGlow:typeof n.ambientGlow=="boolean"?n.ambientGlow:Nn.ambientGlow,clearOnCopy:n.clearOnCopy===!0,blockPageInteractions:typeof n.blockPageInteractions=="boolean"?n.blockPageInteractions:Nn.blockPageInteractions,showTally:typeof n.showTally=="boolean"?n.showTally:Nn.showTally,showTimestamps:typeof n.showTimestamps=="boolean"?n.showTimestamps:Nn.showTimestamps,autoOpenChat:typeof n.autoOpenChat=="boolean"?n.autoOpenChat:Nn.autoOpenChat,reduceMotion:typeof n.reduceMotion=="boolean"?n.reduceMotion:Nn.reduceMotion}}catch{return{...Nn}}}function eM(t){return t===nr.MINIMAL||t===nr.STANDARD||t===nr.VERBOSE}function tM(t){return Hg.some(e=>e.id===t)}function nM(t){if(pt=t,typeof localStorage!="undefined")try{localStorage.setItem(yg,JSON.stringify(t))}catch{}}function rM(t){let e={...pt,...t};return nM(e),e}function iM(){return pe(K.HELP,se.HELP)}function kg(t,e){let n=iM();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 Qi(t,e,n,r=""){return`<div class="reticle-settings-row" ${r}>
|
|
318
|
+
${kg(e,n)}
|
|
319
|
+
<button type="button" class="reticle-settings-toggle" ${Gs}="${t}" role="switch" aria-checked="false"></button>
|
|
320
|
+
</div>`}function uR(t,e,n){return`<label class="reticle-settings-checkrow" data-reticle-check-row="${t}">
|
|
289
321
|
<span class="reticle-settings-check" data-reticle-check="${t}" role="checkbox" aria-checked="${n?"true":"false"}" tabindex="0"></span>
|
|
290
322
|
<span class="reticle-settings-check-label">${e}</span>
|
|
291
|
-
</label>`}function
|
|
323
|
+
</label>`}function ad(t){if(t===void 0)return"";let e=Math.max(0,t.limit-t.used);return e===0?`All ${String(t.limit)} Harness credits used this month`:`${String(e)} of ${String(t.limit)} Harness credits left this month`}function ER(t,e){let n=t.querySelector(`[${mR}]`);if(!(n instanceof HTMLElement))return;if(e===void 0){n.hidden=!0;return}n.hidden=!1;let r=n.querySelector(`[${Gs}="harnessEnabled"]`);if(!(r instanceof HTMLElement))return;let o=e.harnessEntitled;r.setAttribute("aria-checked",e.harnessEnabled&&o?"true":"false"),r.setAttribute("aria-disabled",o?"false":"true");let a=n.querySelector("[data-reticle-help]"),s=ad(e.credits);a instanceof HTMLElement&&(a.title=o?[gR,s].filter(l=>0<l.length).join(" "):oM)}function Bg(t,e,n,r={}){let o=t.querySelector(`[${hR}]`),a=t.querySelector(`[${Fg}]`);if(!(o instanceof HTMLElement)||!(a instanceof HTMLElement))return;let s=Ys(e,{...r,dashboardUrl:n},!0);o.hidden=s.length===0,a.innerHTML=s}function Gg(){let t=pe(K.REMOVE,se.MIN),e=pe(K.CARET_RIGHT,se.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=gR;return`<div ${N} class="reticle-settings ${rn}" role="region" aria-label="Reticle settings" aria-hidden="true">
|
|
292
324
|
<div class="reticle-settings-inner">
|
|
293
325
|
<div class="reticle-settings-head">
|
|
294
326
|
<span class="reticle-settings-title">Settings</span>
|
|
295
|
-
<button type="button" ${
|
|
327
|
+
<button type="button" ${Ag} class="reticle-settings-close" title="Close settings" aria-label="Close settings">${t}</button>
|
|
296
328
|
</div>
|
|
297
329
|
<div class="reticle-settings-body">
|
|
298
330
|
<div class="reticle-settings-section">Session</div>
|
|
299
331
|
<div class="reticle-settings-row">
|
|
300
|
-
${
|
|
332
|
+
${kg("Output Detail",n)}
|
|
301
333
|
<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
334
|
</div>
|
|
303
|
-
${
|
|
304
|
-
${
|
|
305
|
-
${
|
|
335
|
+
${Qi("autoOpenChat","Auto-open chat","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.")}
|
|
336
|
+
${Qi("showTimestamps","Show timestamps","Show relative timestamps on each activity-log row")}
|
|
337
|
+
${Qi("showTally","Show verdict tally","Show the pass/fail score pill in the toolbar")}
|
|
306
338
|
<div class="reticle-settings-section">Inspector</div>
|
|
307
|
-
${
|
|
339
|
+
${Qi("reactComponents","React Components",r,"data-reticle-settings-react-row")}
|
|
308
340
|
<div class="reticle-settings-section">Interaction</div>
|
|
309
|
-
${
|
|
310
|
-
${
|
|
311
|
-
${
|
|
312
|
-
${
|
|
313
|
-
${
|
|
341
|
+
${uR("blockPageInteractions","Block page while adding notes",!0)}
|
|
342
|
+
${uR("clearOnCopy","Clear notes after copying",!1)}
|
|
343
|
+
${Qi("hideUntilRestart","Hide until reload",o)}
|
|
344
|
+
${Qi("harnessEnabled","Autonomous driving",a,`${mR} hidden`)}
|
|
345
|
+
${Qi("reduceMotion","Reduce motion","Reduce HUD animations for accessibility")}
|
|
314
346
|
<div class="reticle-settings-section">Account</div>
|
|
315
|
-
<div class="reticle-settings-row" ${
|
|
316
|
-
${
|
|
317
|
-
<span ${
|
|
347
|
+
<div class="reticle-settings-row" ${hR} hidden>
|
|
348
|
+
${kg("Workspace",aM)}
|
|
349
|
+
<span ${Fg}></span>
|
|
318
350
|
</div>
|
|
319
351
|
<div class="reticle-settings-section">Status theme</div>
|
|
320
|
-
${
|
|
352
|
+
${Qi("ambientGlow","Page glow","Glow the page edges in the status colour while a session is live. Off keeps the HUD signals and leaves your app alone.")}
|
|
321
353
|
<div class="reticle-settings-themes" data-reticle-settings-themes></div>
|
|
322
|
-
|
|
323
|
-
|
|
354
|
+
<div class="reticle-settings-section">Help</div>
|
|
355
|
+
<div class="reticle-settings-foot">
|
|
324
356
|
<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="${
|
|
357
|
+
<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>
|
|
358
|
+
<a class="reticle-settings-link" data-reticle-feedback-email href="${CT}" target="_blank" rel="noopener noreferrer" title="${Zp.EMAIL_TITLE}">${Zp.EMAIL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
|
|
359
|
+
<a class="reticle-settings-link" data-reticle-feedback-call href="${bu}" target="_blank" rel="noopener noreferrer" title="${Zp.CALL_TITLE}">${Zp.CALL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
|
|
360
|
+
<div class="reticle-settings-kill-row">
|
|
361
|
+
<button type="button" class="reticle-settings-kill" ${Dg}><span data-reticle-kill-label>${Qp.LABEL}</span></button>
|
|
362
|
+
<p class="reticle-settings-kill-sub">${Qp.WARNING}</p>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
328
365
|
</div>
|
|
329
366
|
</div>
|
|
330
|
-
</div>`}function ny(t,e){let n=cl(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(IA,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(Gh,"1"):t.removeAttribute(Gh),t.setAttribute(Au,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 ll(t,e,n){t.setAttribute(LA,e.blockPageInteractions&&n?"1":"0")}function cm(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var On,Ri,rm,rD,sl,ln,Ze,im,ry,oy,iy,lD,dD,Hu,At,st,Qn,Dr,ce,em,dn,tm,To,nm,ay,al,oa=T(()=>{"use strict";it();Xn();Lr();zh();Mu();Yh();D();il();On={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},Ri={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},rm=[{id:Ri.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:Ri.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:Ri.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:Ri.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:Ri.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],rD={id:Ri.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};sl=[{value:On.MINIMAL,label:"Minimal"},{value:On.STANDARD,label:"Standard"},{value:On.VERBOSE,label:"Verbose"}],ln={outputDetail:On.STANDARD,statusThemeId:Ri.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},Ze=om();im="data-reticle-settings-account",ry="data-reticle-settings-account-row",oy="data-reticle-settings-harness-row",iy="Let Reticle drive this app by itself to find defects. Set here or in your dashboard \u2014 both write to the same place.",lD="Autonomous driving runs on Reticle\u2019s model spend, so it needs a plan or the free period. Claim it from the chat panel.",dD="Whether this machine is signed in to a Reticle workspace. Signing in happens in your terminal.";Hu={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${LE}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"};al=class{constructor(e={}){m(this,ce);m(this,At);m(this,st);m(this,Qn);m(this,Dr);p(this,Dr,e),Ze=om()}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(`[${el}]`);p(this,Qn,r instanceof HTMLElement?r:void 0);let i=e.querySelector(`[${Fh}]`);i instanceof HTMLElement&&Lh(i,V.REMOVE,ie.MIN),c(this,Qn)!==void 0&&(Lh(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=sl.findIndex(d=>d.value===Ze.outputDetail),l=sl[(a+1)%sl.length];l!==void 0&&h(this,ce,dn).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(`[${ea}]`)){let a=()=>{if(!(s instanceof HTMLElement))return;let l=s.getAttribute(ea);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,dn).call(this,{reactComponents:!Ze.reactComponents});else if(l==="hideUntilRestart"){let d=!Ze.hideUntilRestart;h(this,ce,dn).call(this,{hideUntilRestart:d}),d&&c(this,Dr).onHideUntilRestart?.()}else l==="showTally"?h(this,ce,dn).call(this,{showTally:!Ze.showTally}):l==="autoOpenChat"?h(this,ce,dn).call(this,{autoOpenChat:!Ze.autoOpenChat}):l==="showTimestamps"?h(this,ce,dn).call(this,{showTimestamps:!Ze.showTimestamps}):l==="reduceMotion"?h(this,ce,dn).call(this,{reduceMotion:!Ze.reduceMotion}):l==="ambientGlow"&&h(this,ce,dn).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,dn).call(this,{clearOnCopy:!Ze.clearOnCopy}):d==="blockPageInteractions"&&h(this,ce,dn).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(kA,"_blank","noopener,noreferrer")}),e.querySelector("[data-reticle-settings-reset]")?.addEventListener("click",s=>{s.stopPropagation();let a=e.querySelector(`[${j}]`);a instanceof HTMLElement&&Wh(a)}),i?.addEventListener("click",s=>{s.stopPropagation(),this.close()}),h(this,ce,ay).call(this),h(this,ce,tm).call(this),ny(e,Ze),c(this,Dr).onSettingsChange?.(Ze)}paintHarness(e){let n=c(this,st);n!==void 0&&sy(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,em).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,em).call(this))}toggle(){this.isOpen()?this.close():this.open()}};At=new WeakMap,st=new WeakMap,Qn=new WeakMap,Dr=new WeakMap,ce=new WeakSet,em=function(){if(c(this,At)===void 0)return;let e=YA(c(this,At));e!==void 0&&kr(e,c(this,At))},dn=function(e){let n=aD(e);c(this,At)!==void 0&&ny(c(this,At),n),h(this,ce,tm).call(this),c(this,Dr).onSettingsChange?.(n)},tm=function(){let e=Ze,n=c(this,st)?.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=sl.find(i=>i.value===e.outputDetail)?.label??"Standard");let r=c(this,st)?.querySelector("[data-reticle-cycle-dots]");r?.replaceChildren(...sl.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,To).call(this,"reactComponents",e.reactComponents),h(this,ce,To).call(this,"hideUntilRestart",e.hideUntilRestart),h(this,ce,To).call(this,"showTally",e.showTally),h(this,ce,To).call(this,"autoOpenChat",e.autoOpenChat),h(this,ce,To).call(this,"showTimestamps",e.showTimestamps),h(this,ce,To).call(this,"reduceMotion",e.reduceMotion),h(this,ce,To).call(this,"ambientGlow",e.ambientGlow),h(this,ce,nm).call(this,"clearOnCopy",e.clearOnCopy),h(this,ce,nm).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")},To=function(e,n){let r=c(this,st)?.querySelector(`[${ea}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},nm=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":"")},ay=function(){let e=c(this,st)?.querySelector("[data-reticle-settings-themes]");e?.replaceChildren(...rm.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,dn).call(this,{statusThemeId:n.id})}),r}))}});function hD(){let t=globalThis[sd];return typeof t=="string"&&t.length>0?t:void 0}function mD(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:um}function gD(){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 my(){let t=hD(),e=gD(),n=t!==void 0?mD(t):um;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 gy(){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" ${
|
|
367
|
+
</div>`}function fR(t,e){let n=od(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(Bv,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(js,"1"):t.removeAttribute(js),t.setAttribute(Up,e.showTimestamps?"1":"0"),t.setAttribute(vr,e.reduceMotion?"1":"0");let r=t.querySelector("[data-reticle-tally]");r instanceof HTMLElement&&!e.showTally&&r.setAttribute("hidden","")}function Jp(t,e,n){t.setAttribute(Gv,e.blockPageInteractions&&n?"1":"0")}function jg(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var nr,oa,Hg,J5,rd,Nn,pt,Fg,hR,pR,mR,gR,oM,aM,Zp,Dg,Qp,Ht,ft,wr,Nr,de,Mg,On,$g,Ji,Pg,bR,id,aa=_(()=>{"use strict";ot();Zn();er();Ng();td();Og();F();qs();nr={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},oa={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},Hg=[{id:oa.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:oa.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:oa.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:oa.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:oa.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],J5={id:oa.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};rd=[{value:nr.MINIMAL,label:"Minimal"},{value:nr.STANDARD,label:"Standard"},{value:nr.VERBOSE,label:"Verbose"}],Nn={outputDetail:nr.STANDARD,statusThemeId:oa.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},pt=Ug();Fg="data-reticle-settings-account",hR="data-reticle-settings-account-row",pR="data-reticle-settings-helptext",mR="data-reticle-settings-harness-row",gR="Let Reticle drive this app by itself to find defects. Set here or in your dashboard \u2014 both write to the same place.",oM="The Harness is not available to this workspace right now. Every workspace gets free Harness credits each month: see Plan in your Reticle dashboard.";aM=`Whether this machine is signed in to a Reticle workspace. Press ${ie.SIGNED_OUT} to sign in through your browser.`;Zp={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${IT}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"},Dg="data-reticle-settings-kill",Qp={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."};id=class{constructor(e={}){b(this,de);b(this,Ht);b(this,ft);b(this,wr);b(this,Nr);f(this,Nr,e),pt=Ug()}contains(e){var n;return((n=c(this,ft))==null?void 0:n.contains(e))===!0}mount(e){var a,s,l,d,u,p,h;f(this,Ht,e);let n=e.querySelector(`[${N}]`);f(this,ft,n instanceof HTMLElement?n:void 0),(a=c(this,ft))==null||a.addEventListener("pointerdown",m=>{m.stopPropagation()});let r=e.querySelector(`[${ql}]`);f(this,wr,r instanceof HTMLElement?r:void 0);let o=e.querySelector(`[${Ag}]`);o instanceof HTMLElement&&fg(o,K.REMOVE,se.MIN),c(this,wr)!==void 0&&(fg(c(this,wr),K.GEAR,se.TOOLBAR),c(this,wr).addEventListener("click",m=>{m.stopPropagation(),this.open()})),(s=e.querySelector('[data-reticle-settings-cycle="outputDetail"]'))==null||s.addEventListener("click",m=>{m.stopPropagation();let g=rd.findIndex(x=>x.value===pt.outputDetail),T=rd[(g+1)%rd.length];T!==void 0&&E(this,de,On).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 x=T.querySelector(`[${pR}]`);if(x!==null){x.remove(),m.setAttribute("aria-expanded","false");return}let y=document.createElement("p");y.className="reticle-settings-helptext",y.setAttribute(pR,""),y.textContent=(A=m.getAttribute("title"))!=null?A:"",T.appendChild(y),m.setAttribute("aria-expanded","true")});for(let m of e.querySelectorAll(`[${Gs}]`)){let g=()=>{var x,y,A,w;if(!(m instanceof HTMLElement))return;let T=m.getAttribute(Gs);if(T==="harnessEnabled"){if(m.getAttribute("aria-disabled")==="true")return;let k=m.getAttribute("aria-checked")!=="true";m.setAttribute("aria-checked",k?"true":"false"),(y=(x=c(this,Nr)).onHarness)==null||y.call(x,k)}else if(T==="reactComponents")E(this,de,On).call(this,{reactComponents:!pt.reactComponents});else if(T==="hideUntilRestart"){let k=!pt.hideUntilRestart;E(this,de,On).call(this,{hideUntilRestart:k}),k&&((w=(A=c(this,Nr)).onHideUntilRestart)==null||w.call(A))}else T==="showTally"?E(this,de,On).call(this,{showTally:!pt.showTally}):T==="autoOpenChat"?E(this,de,On).call(this,{autoOpenChat:!pt.autoOpenChat}):T==="showTimestamps"?E(this,de,On).call(this,{showTimestamps:!pt.showTimestamps}):T==="reduceMotion"?E(this,de,On).call(this,{reduceMotion:!pt.reduceMotion}):T==="ambientGlow"&&E(this,de,On).call(this,{ambientGlow:!pt.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 x=m.getAttribute("data-reticle-check");x==="clearOnCopy"?E(this,de,On).call(this,{clearOnCopy:!pt.clearOnCopy}):x==="blockPageInteractions"&&E(this,de,On).call(this,{blockPageInteractions:!pt.blockPageInteractions})},T=m.closest("[data-reticle-check-row]");T==null||T.addEventListener("click",x=>{x.stopPropagation(),!(x.target instanceof HTMLElement&&x.target.classList.contains("reticle-settings-help"))&&g()}),m.addEventListener("keydown",x=>{x instanceof KeyboardEvent&&(x.key===" "||x.key==="Enter")&&(x.preventDefault(),g())})}(l=e.querySelector("[data-reticle-settings-mcp]"))==null||l.addEventListener("click",m=>{m.stopPropagation(),window.open(jv,"_blank","noopener,noreferrer")}),(d=e.querySelector("[data-reticle-settings-reset]"))==null||d.addEventListener("click",m=>{m.stopPropagation();let g=e.querySelector(`[${C}]`);g instanceof HTMLElement&&Ql(g)}),(u=e.querySelector(`[${Dg}]`))==null||u.addEventListener("click",m=>{var x,y;m.stopPropagation();let g=m.currentTarget;if(!(g instanceof HTMLElement))return;if(g.getAttribute("data-armed")==="1"){(y=(x=c(this,Nr)).onKill)==null||y.call(x);return}g.setAttribute("data-armed","1");let T=g.querySelector("[data-reticle-kill-label]");T!==null&&(T.textContent=Qp.ARMED)}),o==null||o.addEventListener("click",m=>{m.stopPropagation(),this.close()}),E(this,de,bR).call(this),E(this,de,$g).call(this),fR(e,pt),(h=(p=c(this,Nr)).onSettingsChange)==null||h.call(p,pt)}paintHarness(e){let n=c(this,ft);n!==void 0&&ER(n,e)}teardown(){f(this,Ht,void 0),f(this,ft,void 0),f(this,wr,void 0)}isOpen(){var e;return((e=c(this,Ht))==null?void 0:e.getAttribute(We))==="1"}open(){var e,n,r,o;c(this,Ht)!==void 0&&((n=(e=c(this,Nr)).onBeforeOpen)==null||n.call(e),c(this,Ht).setAttribute(We,"1"),(r=c(this,ft))==null||r.setAttribute("aria-hidden","false"),(o=c(this,wr))==null||o.setAttribute("data-active","1"),E(this,de,Mg).call(this))}close(){var n,r,o;if(c(this,Ht)===void 0)return;let e=(n=c(this,ft))==null?void 0:n.querySelector(`[${Dg}]`);if(e instanceof HTMLElement){e.removeAttribute("data-armed");let a=e.querySelector("[data-reticle-kill-label]");a!==null&&(a.textContent=Qp.LABEL)}c(this,Ht).setAttribute(We,"0"),(r=c(this,ft))==null||r.setAttribute("aria-hidden","true"),(o=c(this,wr))==null||o.setAttribute("data-active","0"),E(this,de,Mg).call(this)}toggle(){this.isOpen()?this.close():this.open()}};Ht=new WeakMap,ft=new WeakMap,wr=new WeakMap,Nr=new WeakMap,de=new WeakSet,Mg=function(){if(c(this,Ht)===void 0)return;let e=iR(c(this,Ht));e!==void 0&&tr(e,c(this,Ht))},On=function(e){var r,o;let n=rM(e);c(this,Ht)!==void 0&&fR(c(this,Ht),n),E(this,de,$g).call(this),(o=(r=c(this,Nr)).onSettingsChange)==null||o.call(r,n)},$g=function(){var o,a,s,l,d,u;let e=pt,n=(o=c(this,ft))==null?void 0:o.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=(s=(a=rd.find(p=>p.value===e.outputDetail))==null?void 0:a.label)!=null?s:"Standard");let r=(l=c(this,ft))==null?void 0:l.querySelector("[data-reticle-cycle-dots]");r!=null&&r.replaceChildren(...rd.map(p=>{let h=document.createElement("span");return h.className="reticle-settings-dot",h.setAttribute("data-on",p.value===e.outputDetail?"1":"0"),h})),E(this,de,Ji).call(this,"reactComponents",e.reactComponents),E(this,de,Ji).call(this,"hideUntilRestart",e.hideUntilRestart),E(this,de,Ji).call(this,"showTally",e.showTally),E(this,de,Ji).call(this,"autoOpenChat",e.autoOpenChat),E(this,de,Ji).call(this,"showTimestamps",e.showTimestamps),E(this,de,Ji).call(this,"reduceMotion",e.reduceMotion),E(this,de,Ji).call(this,"ambientGlow",e.ambientGlow),E(this,de,Pg).call(this,"clearOnCopy",e.clearOnCopy),E(this,de,Pg).call(this,"blockPageInteractions",e.blockPageInteractions);for(let p of(u=(d=c(this,ft))==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")},Ji=function(e,n){var o;let r=(o=c(this,ft))==null?void 0:o.querySelector(`[${Gs}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},Pg=function(e,n){var o;let r=(o=c(this,ft))==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":"")},bR=function(){var n;let e=(n=c(this,ft))==null?void 0:n.querySelector("[data-reticle-settings-themes]");e!=null&&e.replaceChildren(...Hg.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,de,On).call(this,{statusThemeId:r.id})}),o}))}});function dM(){let t=globalThis[mu];return typeof t=="string"&&t.length>0?t:void 0}function uM(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:Wg}function pM(){if(typeof window=="undefined")return;let t=new URLSearchParams(window.location.search).get(pr.PROJECT);return t!==null&&t.length>0?t:void 0}function RR(){let t=dM(),e=pM(),n=t!==void 0?uM(t):Wg;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 wR(){let t=pe(K.LAYOUT,se.HELP),e=pe(K.CARET_DOWN,se.HELP),n=pe(K.COPY,se.HELP);return`<div class="reticle-workspace-wrap">
|
|
368
|
+
<button type="button" class="reticle-workspace" ${tf} aria-haspopup="true" aria-expanded="false" title="${ef}">
|
|
332
369
|
<span class="reticle-workspace-icon" aria-hidden="true">${t}</span>
|
|
333
|
-
<span class="reticle-workspace-name" ${
|
|
370
|
+
<span class="reticle-workspace-name" ${AR}>${Wg}</span>
|
|
334
371
|
<span class="reticle-workspace-caret" aria-hidden="true">${e}</span>
|
|
335
372
|
</button>
|
|
336
|
-
<div class="reticle-workspace-menu" ${
|
|
373
|
+
<div class="reticle-workspace-menu" ${SR} role="region" aria-label="${ef}" aria-hidden="true" hidden>
|
|
337
374
|
<div class="reticle-workspace-menu-head">
|
|
338
|
-
<div class="reticle-workspace-menu-title">${
|
|
375
|
+
<div class="reticle-workspace-menu-title">${ef}</div>
|
|
339
376
|
<div class="reticle-workspace-menu-actions">
|
|
340
|
-
<button type="button" class="reticle-workspace-copy" ${
|
|
377
|
+
<button type="button" class="reticle-workspace-copy" ${Vg} title="${xR}" aria-label="${xR}">${n}</button>
|
|
341
378
|
</div>
|
|
342
379
|
</div>
|
|
343
380
|
<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">${
|
|
381
|
+
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Path</span><span class="reticle-workspace-menu-v reticle-workspace-menu-path" ${yR}></span></div>
|
|
382
|
+
<div class="reticle-workspace-menu-row" data-reticle-workspace-project-row hidden><span class="reticle-workspace-menu-k">${cM}</span><span class="reticle-workspace-menu-v" ${vR}></span></div>
|
|
346
383
|
</div>
|
|
347
|
-
</div>`}function
|
|
384
|
+
</div>`}function _R(t){var p,h;let e=RR(),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(`[${tf}] [${AR}]`);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(`[${yR}]`);a instanceof HTMLElement&&(a.textContent=(p=e.root)!=null?p:"-",a.title=(h=e.root)!=null?h:"");let s=t.querySelector(`[${vR}]`),l=t.querySelector("[data-reticle-workspace-project-row]"),d=t.querySelector(`[${Vg}]`);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(`[${tf}]`);u instanceof HTMLElement&&e.root!==void 0&&(u.title=`${ef}: ${e.root}`)}function NR(t){let e=new AbortController;_R(t);let n=t.querySelector(`[${tf}]`),r=t.querySelector(`[${SR}]`),o=t.querySelector(`[${Vg}]`);if(!(n instanceof HTMLElement)||!(r instanceof HTMLElement))return()=>{};let a=()=>{r.setAttribute("aria-hidden","true"),r.setAttribute("hidden",""),n.setAttribute("aria-expanded","false")},s=()=>{_R(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 x=T.closest(`[${Rr}]`);if(x===null)return;g.stopPropagation(),(A=navigator.clipboard)==null||A.writeText(ie.SIGNIN_COMMAND).catch(()=>{});let y=x.textContent;x.textContent=ie.COPIED,setTimeout(()=>{x.textContent=y},sM)};r.addEventListener("click",u);let p=g=>{let T=g.target;T instanceof Node&&(n.contains(T)||r.contains(T)||a())},h=g=>{g.key==="Escape"&&(r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")||(g.preventDefault(),g.stopPropagation(),a()))},m=g=>{var x;g.stopPropagation();let T=RR().root;if(T!==void 0&&((x=navigator.clipboard)==null||x.writeText(T),o instanceof HTMLButtonElement)){let y=o.title;o.title=lM,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",h,{signal:e.signal}),()=>{n.removeEventListener("click",d),o==null||o.removeEventListener("click",m),e.abort()}}function OR(t,e,n,r={}){let o=t.querySelector(`[${Kg}]`);o instanceof HTMLElement&&(o.innerHTML=Ys(e,{...r,dashboardUrl:n},!0))}var tf,SR,AR,yR,vR,Vg,Kg,sM,ef,cM,xR,lM,Wg,zg=_(()=>{"use strict";F();Zn();qs();tf="data-reticle-workspace-btn",SR="data-reticle-workspace-menu",AR="data-reticle-workspace-name",yR="data-reticle-workspace-path",vR="data-reticle-workspace-project",Vg="data-reticle-workspace-copy",Kg="data-reticle-toolbar-account",sM=1200,ef="Workspace",cM="Project",xR="Copy path",lM="Copied",Wg="This page"});function Zg(t,e){let n=[t==null?void 0:t.platformUrl,e.host].find(r=>r!==void 0&&ia(r));return _e((n!=null?n:nu).replace(/\/+$/,""))}function mM(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 gM(){var t;try{let e=JSON.parse((t=localStorage.getItem(kR))!=null?t:"[]");return Array.isArray(e)?e.filter(mM).slice(0,Xg):[]}catch{return[]}}function EM(t){try{localStorage.setItem(kR,JSON.stringify(t.slice(0,Xg)))}catch{}}var kR,Xg,fM,hM,DR,MR,nf,$R,Yg,IR,CR,LR,rf,PR,HR,In,Xs,Or,cd,sa,ld,dd,ca,ud,pd,fd,hd,la,qe,of,af,sd,UR,qg,sf,cf=_(()=>{"use strict";F();tg();ot();Zn();er();aa();nd();Gn();kR=ze.ANNOTATION_HISTORY,Xg=200,fM="/settings?group=project#model",hM="/settings?group=billing";DR=`
|
|
385
|
+
<div data-reticle-harness-spot class="reticle-harness-spot" hidden></div>`,MR=`<section data-reticle-page-panel="flows" class="reticle-page-panel reticle-flows-view" role="region" aria-label="Saved Flows" hidden>
|
|
386
|
+
<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>
|
|
387
|
+
<div data-reticle-all-flows class="reticle-all-flows"></div>
|
|
388
|
+
</section>`,nf=se.NAV,$R=`<nav class="reticle-chat-nav" aria-label="Reticle views">
|
|
389
|
+
<button type="button" ${Lp} data-reticle-chat-view-btn="activity" aria-label="Agent log" title="Agent log" aria-current="page">${pe(K.MESSAGE,nf)}</button>
|
|
390
|
+
<button type="button" data-reticle-chat-view-btn="flows" aria-label="Saved flows" title="Saved flows">${pe(K.LAYOUT,nf)}</button>
|
|
391
|
+
<button type="button" data-reticle-chat-view-btn="annotations" aria-label="Notes" title="Notes">${pe(K.NOTES,nf)}<span data-reticle-note-count class="reticle-nav-count" hidden></span></button>
|
|
392
|
+
<button type="button" data-reticle-chat-impact class="reticle-chat-impact" aria-label="Open Impact" title="Impact">${pe(K.CHART,nf)}<span data-reticle-chat-verdicts class="reticle-nav-count"></span></button>
|
|
393
|
+
</nav>`,Yg=se.TOOLBAR,IR="Show note markers on the page",CR="Clear notes from this page",LR="Copy all notes",rf={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."},PR=`<section data-reticle-page-panel="annotations" class="reticle-page-panel reticle-annotations-view" role="region" aria-label="Notes" hidden>
|
|
394
|
+
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>Notes</strong><span class="reticle-page-subtitle">Pin feedback on the page for your agent</span></span><button type="button" ${Pp} 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">${pe(K.ANNOTATE,se.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>
|
|
395
|
+
<div class="reticle-annotations-tabs" role="group" aria-label="Notes lists">
|
|
396
|
+
<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>
|
|
397
|
+
<div data-reticle-current-annotation-actions class="reticle-annotation-actions" aria-label="Current page note actions">
|
|
398
|
+
<button type="button" ${kp} class="reticle-annotation-icon-btn reticle-annotation-marker-toggle" title="${IR}" aria-label="${IR}" aria-pressed="false" data-active="0" disabled>${Np(K.VIEW,Yg)}</button>
|
|
399
|
+
<button type="button" ${Dp} class="reticle-annotation-icon-btn" title="${CR}" aria-label="${CR}" disabled>${pe(K.TRASH,Yg)}</button>
|
|
400
|
+
</div>
|
|
401
|
+
<button type="button" data-reticle-copy-all-notes class="reticle-annotation-icon-btn reticle-copy-all" title="${LR}" aria-label="${LR}">${pe(K.COPY,Yg)}</button>
|
|
402
|
+
</div>
|
|
403
|
+
<div data-reticle-annotation-list class="reticle-annotation-list"></div>
|
|
404
|
+
</section>`,HR=`
|
|
405
|
+
[data-reticle-chat-panel] .reticle-harness-spot{flex:none;border-bottom:1px solid var(--reticle-hud-border);padding:0 var(--reticle-hud-space-3);}
|
|
406
|
+
[data-reticle-chat-panel] .reticle-harness-spot[hidden]{display:none;}
|
|
407
|
+
[data-reticle-chat-panel] .reticle-harness-row{display:flex;align-items:center;gap:var(--reticle-hud-space-2);min-height:40px;}
|
|
408
|
+
[data-reticle-chat-panel] .reticle-harness-copy{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.3;}
|
|
409
|
+
[data-reticle-chat-panel] .reticle-harness-copy strong{font-size:var(--reticle-hud-size-sm);font-weight:600;color:var(--reticle-hud-text);}
|
|
410
|
+
[data-reticle-chat-panel] .reticle-harness-copy span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
411
|
+
[data-reticle-chat-panel] .reticle-harness-switch{flex:none;width:32px;height:20px;border:0;border-radius:20px;padding:2px;cursor:pointer;background:rgba(255,255,255,.2);}
|
|
412
|
+
[data-reticle-chat-panel] .reticle-harness-switch::after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;}
|
|
413
|
+
[data-reticle-chat-panel] .reticle-harness-switch[aria-checked="true"]{background:var(--reticle-accent);}
|
|
414
|
+
[data-reticle-chat-panel] .reticle-harness-switch[aria-checked="true"]::after{transform:translateX(12px);}
|
|
415
|
+
[data-reticle-chat-panel] .reticle-harness-switch:disabled{opacity:.45;cursor:not-allowed;}
|
|
416
|
+
[data-reticle-chat-panel] .reticle-harness-link{flex:none;color:var(--reticle-hud-brand);font-size:var(--reticle-hud-size-xs);font-weight:600;text-decoration:none;white-space:nowrap;}
|
|
417
|
+
[data-reticle-chat-panel] .reticle-harness-link:hover{text-decoration:underline;}
|
|
418
|
+
[data-reticle-hud] .reticle-chat-nav{display:contents;}
|
|
419
|
+
[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;}
|
|
420
|
+
[data-reticle-hud] .reticle-chat-nav button:hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
421
|
+
[data-reticle-hud] .reticle-chat-nav button[data-capture="1"]{color:var(--reticle-accent);box-shadow:inset 0 -2px var(--reticle-accent);}
|
|
422
|
+
[data-reticle-hud] .reticle-chat-nav button[aria-current="page"],[data-reticle-hud] .reticle-chat-nav button[data-active="1"]{background:var(--reticle-hud-inset);color:var(--reticle-hud-text);}
|
|
423
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-hi-icon{opacity:.92;}
|
|
424
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-count:empty{display:none;}
|
|
425
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-count:not(:empty){position:absolute;top:0;right:0;min-width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center;padding:0 3px;border-radius:99px;background:var(--reticle-accent);color:#fff;font-size:8px;font-weight:700;}
|
|
426
|
+
[data-reticle-hud] .reticle-chat-nav .reticle-nav-count[hidden]{display:none;}
|
|
427
|
+
[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);${Vs}color:var(--reticle-hud-text);font-size:13px;line-height:1.5;pointer-events:auto;text-align:left;}
|
|
428
|
+
[data-reticle-page-panel][hidden]{display:none!important;}
|
|
429
|
+
[data-reticle-page-open="annotations"] [data-reticle-page-panel="annotations"],[data-reticle-page-open="flows"] [data-reticle-page-panel="flows"]{display:flex;}
|
|
430
|
+
[data-reticle-page-open="annotations"] [data-reticle-chat-panel],[data-reticle-page-open="flows"] [data-reticle-chat-panel]{display:none!important;}
|
|
431
|
+
[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);}
|
|
432
|
+
.reticle-page-heading strong{font-size:12px;font-weight:600;}
|
|
433
|
+
.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;}
|
|
434
|
+
.reticle-page-heading button:hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
435
|
+
.reticle-page-subtitle{flex:none;padding:5px 12px;border-bottom:1px solid var(--reticle-hud-border);color:var(--reticle-hud-text-muted);font-size:10px;}
|
|
436
|
+
.reticle-page-panel .reticle-all-flows,.reticle-page-panel .reticle-annotation-list{flex:1;min-height:0;overflow-y:auto;}
|
|
437
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs{flex:none;}
|
|
438
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-list{flex:1;}
|
|
439
|
+
[data-reticle-chat-panel] .reticle-marks-row{display:none !important;}
|
|
440
|
+
[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);}
|
|
441
|
+
[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;}
|
|
442
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs button[aria-pressed="true"]{background:var(--reticle-hud-inset);color:var(--reticle-hud-text);}
|
|
443
|
+
[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;}
|
|
444
|
+
[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);}
|
|
445
|
+
[data-reticle-page-panel="annotations"] .reticle-add-notes-icon{display:inline-flex;align-items:center;}
|
|
446
|
+
[data-reticle-page-panel="annotations"] .reticle-annotations-tabs .reticle-copy-all{margin-left:auto;color:var(--reticle-hud-brand);white-space:nowrap;}
|
|
447
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-actions{display:flex;align-items:center;gap:0;margin-left:0;}
|
|
448
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-actions[hidden]{display:none;}
|
|
449
|
+
[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;}
|
|
450
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn .reticle-hi-icon--solid{opacity:0;}
|
|
451
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn:hover:not(:disabled){color:var(--reticle-hud-text);background:var(--reticle-hud-hover);}
|
|
452
|
+
[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);}
|
|
453
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-icon-btn:disabled{opacity:.35;cursor:not-allowed;}
|
|
454
|
+
[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);}
|
|
455
|
+
[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);}
|
|
456
|
+
[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);}
|
|
457
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-content{flex:1;min-width:0;}
|
|
458
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-content strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere;}
|
|
459
|
+
[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;}
|
|
460
|
+
[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:10px;padding:4px 6px;cursor:pointer;}
|
|
461
|
+
[data-reticle-page-panel="annotations"] .reticle-annotation-item button:hover{color:#fff;background:rgba(255,255,255,.1);}
|
|
462
|
+
`,sf=class{constructor(e,n,r){b(this,qe);b(this,In);b(this,Xs,"activity");b(this,Or,"current");b(this,cd,[]);b(this,sa,gM());b(this,ld);b(this,dd);b(this,ca);b(this,ud,0);b(this,pd);b(this,fd);b(this,hd);b(this,la);f(this,pd,e),f(this,fd,n),f(this,hd,r)}mount(e){var r,o,a,s,l;f(this,In,e),f(this,la,new AbortController);let n=c(this,la).signal;e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(d=>d.addEventListener("click",()=>{let u=d.getAttribute("data-reticle-chat-view-btn");c(this,hd).call(this,u),this.open(u)},{signal:n})),(r=e.querySelector("[data-reticle-chat-impact]"))==null||r.addEventListener("click",()=>c(this,fd).call(this),{signal:n}),(o=e.querySelector("[data-reticle-harness-spot]"))==null||o.addEventListener("click",d=>{let u=d.target;if(!(u instanceof Element)||u.closest("[data-reticle-harness-switch]")===null)return;let p=u.closest("[data-reticle-harness-switch]");if(p===null||p.disabled)return;let h=p.getAttribute("aria-checked")!=="true";f(this,ca,h),p.setAttribute("aria-checked",String(h)),p.disabled=!0,c(this,pd).call(this,h)},{signal:n}),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(d=>d.addEventListener("click",()=>{f(this,Or,d.getAttribute("data-reticle-annotation-tab")==="history"?"history":"current"),E(this,qe,sd).call(this)},{signal:n})),(a=e.querySelector("[data-reticle-annotate-btn]"))==null||a.addEventListener("click",()=>{f(this,Or,"current"),E(this,qe,sd).call(this)},{signal:n}),(s=e.querySelector("[data-reticle-copy-all-notes]"))==null||s.addEventListener("click",()=>E(this,qe,UR).call(this),{signal:n}),e.querySelectorAll("[data-reticle-page-close]").forEach(d=>d.addEventListener("click",()=>this.closePage(),{signal:n})),(l=e.querySelector("[data-reticle-annotation-list]"))==null||l.addEventListener("click",d=>{let u=d.target;if(!(u instanceof Element))return;let p=u.closest("[data-reticle-copy-note]");if(p===null)return;let h=Number(p.getAttribute("data-reticle-copy-note"));if(!Number.isInteger(h))return;let m=E(this,qe,af).call(this)[h];m!==void 0&&E(this,qe,qg).call(this,[m],"pageUrl"in m?m.pageUrl:location.href)},{signal:n}),this.open(c(this,Xs)),E(this,qe,of).call(this),this.paintImpact(c(this,ud)),E(this,qe,sd).call(this)}teardown(){var e;(e=c(this,la))==null||e.abort(),f(this,la,void 0),f(this,In,void 0)}open(e){var o;if(e!=="activity"&&e!=="flows"&&e!=="annotations")return;f(this,Xs,e);let n=c(this,In);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,In))==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,In);e!==void 0&&(e.removeAttribute("data-reticle-page-open"),e.querySelectorAll("[data-reticle-page-panel]").forEach(n=>{n.hidden=!0}),f(this,Xs,"activity"),e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(n=>{n.removeAttribute("aria-current")}))}paintAccount(e){f(this,ld,e),E(this,qe,of).call(this)}paintHarness(e){f(this,dd,e),f(this,ca,void 0),E(this,qe,of).call(this)}paintImpact(e){var r;f(this,ud,e);let n=(r=c(this,In))==null?void 0:r.querySelector("[data-reticle-chat-verdicts]");n!=null&&(n.textContent=e>0?`\xB7 ${String(e)}`:"")}paintAnnotations(e){var a;f(this,cd,[...e]);let n=location.href,r=new Map(c(this,sa).map(s=>[s.id,s]));for(let s of e)r.set(s.id,{...s,pageUrl:n});f(this,sa,[...r.values()].sort((s,l)=>l.createdAt-s.createdAt).slice(0,Xg)),EM(c(this,sa));let o=(a=c(this,In))==null?void 0:a.querySelector("[data-reticle-note-count]");o!=null&&(o.hidden=e.length===0,o.textContent=String(e.length)),E(this,qe,sd).call(this)}};In=new WeakMap,Xs=new WeakMap,Or=new WeakMap,cd=new WeakMap,sa=new WeakMap,ld=new WeakMap,dd=new WeakMap,ca=new WeakMap,ud=new WeakMap,pd=new WeakMap,fd=new WeakMap,hd=new WeakMap,la=new WeakMap,qe=new WeakSet,of=function(){var l,d;let e=(l=c(this,In))==null?void 0:l.querySelector("[data-reticle-harness-spot]");if(e==null)return;let n=c(this,ld),r=c(this,dd);if(n===void 0||!n.signedIn){e.hidden=!0;return}e.hidden=!1;let o=Zg(r,n),a=`${o}${fM}`,s=`${o}${hM}`;r===void 0?e.innerHTML=`<div class="reticle-harness-row"><div class="reticle-harness-copy"><strong>Reticle Harness</strong><span>Link project to enable driving</span></div><button type="button" role="switch" data-reticle-harness-switch class="reticle-harness-switch" aria-label="Reticle Harness autonomous driving" aria-checked="false" aria-disabled="true" disabled></button><a class="reticle-harness-link" href="${a}" target="_blank" rel="noopener noreferrer">Set up \u2197</a></div>`:r.harnessEntitled?r.credits!==void 0&&r.credits.used>=r.credits.limit?e.innerHTML=`<div class="reticle-harness-row"><div class="reticle-harness-copy"><strong>Reticle Harness</strong><span>${ad(r.credits)}. They renew over 30 days.</span></div><a class="reticle-harness-link" href="${s}" target="_blank" rel="noopener noreferrer">Get more with Pro \u2197</a></div>`:r.providerReady===!1?e.innerHTML=`<div class="reticle-harness-row"><div class="reticle-harness-copy"><strong>Reticle Harness</strong><span>Choose a model provider to start driving</span></div><a class="reticle-harness-link" href="${a}" target="_blank" rel="noopener noreferrer">Set up \u2197</a></div>`:e.innerHTML=`<div class="reticle-harness-row"><div class="reticle-harness-copy"><strong>Reticle Harness</strong><span>${r.credits===void 0?"Autonomous checks":ad(r.credits)}</span></div><button type="button" role="switch" data-reticle-harness-switch class="reticle-harness-switch" aria-label="Reticle Harness autonomous driving" aria-checked="${String((d=c(this,ca))!=null?d:r.harnessEnabled)}" ${c(this,ca)===void 0?"":"disabled"}></button></div>`:e.innerHTML=`<div class="reticle-harness-row"><div class="reticle-harness-copy"><strong>Reticle Harness</strong><span>Describe a user and Reticle drives the whole journey for you</span></div><a class="reticle-harness-link" href="${s}" target="_blank" rel="noopener noreferrer">See plans \u2197</a></div>`},af=function(){return c(this,Or)==="history"?c(this,sa):c(this,cd)},sd=function(){let e=c(this,In);if(e===void 0)return;let n=e.querySelector("[data-reticle-current-annotation-actions]");n!==null&&(n.hidden=c(this,Or)==="history"),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(a=>a.setAttribute("aria-pressed",String(a.getAttribute("data-reticle-annotation-tab")===c(this,Or))));let r=e.querySelector("[data-reticle-annotation-list]");if(r===null)return;r.replaceChildren();let o=E(this,qe,af).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,Or)==="history";s.textContent=d?rf.HISTORY_EMPTY:rf.PAGE_EMPTY,l.textContent=d?rf.HISTORY_HINT:rf.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 h=document.createElement("button");h.type="button",h.textContent="Copy",h.setAttribute("data-reticle-copy-note",String(s)),l.append(d,h),r.appendChild(l)})},UR=function(){let e=E(this,qe,af).call(this);e.length>0&&E(this,qe,qg).call(this,e,c(this,Or)==="history"?location.origin:location.href)},qg=function(e,n){var r;(r=navigator.clipboard)==null||r.writeText(Sp(e,n)).catch(()=>{})}});function wM(t){let{name:e,done:n,total:r,status:o}=t;if(!(typeof e!="string"||typeof n!="number"||typeof r!="number")&&Object.values(Qa).includes(o))return{name:e,done:n,total:r,status:o}}function IM(t){let e=t.replace(/[-_]+/g," ").trim();return e.length===0?t:e.charAt(0).toUpperCase()+e.slice(1)}function VR(t,e){let n=e?K.PLAY:K.PAUSE,r=e?Zs.RESUME:Zs.PAUSE;t.setAttribute("aria-label",r),t.setAttribute("title",r),t.replaceChildren(yr(n,se.TOOLBAR)),t.classList.toggle("reticle-tb-btn--primary",e),t.setAttribute("data-active",e?"1":"0")}function CM(t){var e,n,r,o,a,s,l,d;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,flows:(l=t.querySelector("[data-reticle-flows]"))!=null?l:void 0,allFlows:(d=t.querySelector("[data-reticle-all-flows]"))!=null?d:void 0}}var bM,FR,TM,xM,Zs,_M,WR,BR,GR,SM,AM,yM,vM,RM,NM,OM,zR,jR,lf,YR,KR,df,qR,XR,ZR,QR,JR,da,He,mi,Ir,ua,gd,pa,Qs,Js,ec,fa,an,Ue,Qg,ew,tw,nw,rw,uf,md,pf,Jg=_(()=>{"use strict";Sn();F();rt();ot();Zn();aa();zg();cf();Gn();bM="data-reticle-state",FR="data-reticle-tone",TM="data-on",xM="0",Zs={PAUSE:"Pause",RESUME:"Resume",END:"End",SEND:"Send"},_M="PAUSED",WR="Session ended",BR="Copy run",GR="Export",SM="Replay a flow",AM="See all",yM="See the logs",vM=6e3,RM={[Qa.PLAYING]:"\u23F5",[Qa.PASSED]:"\u2713",[Qa.FAILED]:"\u2717"};NM="Copied \u2713",OM="reticle-run.json",zR=4e3,jR=ze.RECENT_PLAYS,lf={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."};YR=`
|
|
348
463
|
[data-reticle-chat-panel] [data-reticle-foot]{flex:none;padding:8px 10px 10px;border-top:1px solid rgba(255,255,255,.07);
|
|
349
464
|
background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.55) 100%);pointer-events:auto;}
|
|
465
|
+
[data-reticle-chat-panel] .reticle-foot-workspace-row{display:flex;align-items:center;min-width:0;}
|
|
350
466
|
[data-reticle-chat-panel] .reticle-hud-log-well{margin:0 0 4px;}
|
|
351
467
|
[data-reticle-chat-panel] .reticle-workspace-wrap{position:relative;align-self:flex-start;max-width:100%;}
|
|
468
|
+
[data-reticle-chat-panel] .reticle-workspace-wrap[hidden]{display:none;}
|
|
352
469
|
[data-reticle-chat-panel] .reticle-workspace{
|
|
353
470
|
display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px 3px 6px;border-radius:999px;cursor:pointer;
|
|
354
471
|
border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.78);
|
|
@@ -359,6 +476,10 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
359
476
|
[data-reticle-chat-panel] .reticle-workspace-icon,
|
|
360
477
|
[data-reticle-chat-panel] .reticle-workspace-caret{display:inline-flex;align-items:center;opacity:.72;flex:none;}
|
|
361
478
|
[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));}
|
|
479
|
+
@media (max-width:480px){
|
|
480
|
+
[data-reticle-chat-panel] .reticle-workspace-wrap{flex:none;}
|
|
481
|
+
[data-reticle-chat-panel] .reticle-workspace-name{max-width:88px;}
|
|
482
|
+
}
|
|
362
483
|
[data-reticle-chat-panel] .reticle-workspace[aria-expanded="true"] .reticle-workspace-caret{transform:rotate(180deg);}
|
|
363
484
|
[data-reticle-chat-panel] .reticle-workspace-caret{transition:transform .18s ease;}
|
|
364
485
|
[data-reticle-chat-panel] .reticle-workspace-menu{
|
|
@@ -387,9 +508,9 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
387
508
|
[data-reticle-chat-panel] .reticle-workspace-menu-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 0;}
|
|
388
509
|
[data-reticle-chat-panel] .reticle-workspace-menu-k{flex:none;color:rgba(255,255,255,.42);}
|
|
389
510
|
[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:
|
|
511
|
+
[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;
|
|
512
|
+
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;}
|
|
513
|
+
[data-reticle-overlay][data-reticle-state="ended"] [data-reticle-chat-panel] .reticle-banner{display:flex;}
|
|
393
514
|
[data-reticle-overlay][data-reticle-state="paused"] [data-reticle-glow][data-on="1"]{
|
|
394
515
|
box-shadow:inset 0 0 0 2px rgba(255,255,255,.2);}
|
|
395
516
|
[data-reticle-overlay][data-reticle-state="ended"] [data-reticle-glow][data-on="1"]{
|
|
@@ -409,13 +530,30 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
409
530
|
[data-reticle-overlay][data-reticle-tone="ask"] [data-reticle-glow][data-on="1"],
|
|
410
531
|
[data-reticle-overlay][data-reticle-tone="warn"] [data-reticle-glow][data-on="1"]{
|
|
411
532
|
box-shadow:inset 0 0 0 2px rgba(255,255,255,.22);}
|
|
412
|
-
[data-reticle-chat-panel] .reticle-flows{display:none;flex:none;
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
[data-reticle-chat-panel] .reticle-flows
|
|
416
|
-
[data-reticle-chat-panel] .reticle-flows
|
|
417
|
-
[data-reticle-chat-panel] .reticle-flows
|
|
418
|
-
[data-reticle-chat-panel] .reticle-flows-
|
|
533
|
+
[data-reticle-chat-panel] .reticle-flows{display:none;flex:none;min-width:0;padding:8px 12px;border-top:1px solid var(--reticle-line2);pointer-events:auto;}
|
|
534
|
+
[data-reticle-chat-panel] .reticle-flows[data-has="1"]{display:block;}
|
|
535
|
+
[data-reticle-chat-panel] .reticle-flows-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px;}
|
|
536
|
+
[data-reticle-chat-panel] .reticle-flows-all{border:0;padding:0;background:none;cursor:pointer;color:var(--reticle-c-active);font:inherit;font-size:10.5px;font-weight:500;}
|
|
537
|
+
[data-reticle-chat-panel] .reticle-flows-all:hover{text-decoration:underline;}
|
|
538
|
+
[data-reticle-chat-panel] .reticle-flows-links{display:inline-flex;gap:10px;}
|
|
539
|
+
[data-reticle-chat-panel] .reticle-flows-all[hidden]{display:none;}
|
|
540
|
+
/* A replay the person started: the chip becomes a player, its bar filling step by step. */
|
|
541
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state]{position:relative;overflow:hidden;
|
|
542
|
+
border-color:color-mix(in srgb,var(--reticle-c-active) 55%,transparent);color:var(--reticle-fg);}
|
|
543
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state]::after{content:"";position:absolute;left:0;bottom:0;height:2px;
|
|
544
|
+
width:var(--reticle-flow-progress,4%);background:var(--reticle-c-active);transition:width .25s var(--reticle-hud-ease,ease);}
|
|
545
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state="playing"]::after{animation:reticle-flow-pulse 1.2s ease-in-out infinite;}
|
|
546
|
+
@keyframes reticle-flow-pulse{50%{opacity:.55}}
|
|
547
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state="passed"]::after{background:#4ade80;}
|
|
548
|
+
[data-reticle-chat-panel] :is(.reticle-flow,.reticle-flow-row)[data-state="failed"]::after{background:#f87171;}
|
|
549
|
+
[data-reticle-chat-panel] .reticle-flows-cap{display:block;color:var(--reticle-faint);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;}
|
|
550
|
+
[data-reticle-chat-panel] .reticle-flow-strip{display:flex;gap:6px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-inline:contain;pointer-events:auto;}
|
|
551
|
+
[data-reticle-chat-panel] .reticle-flow-strip::-webkit-scrollbar{display:none;}
|
|
552
|
+
[data-reticle-chat-panel] .reticle-flow-strip .reticle-flow{flex:none;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
553
|
+
[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;}
|
|
554
|
+
[data-reticle-chat-panel] .reticle-all-flows .reticle-flow{width:100%;height:auto;min-height:32px;text-align:left;justify-content:flex-start;}
|
|
555
|
+
[data-reticle-chat-panel] .reticle-all-flows .reticle-flow:disabled{opacity:.45;cursor:not-allowed;}
|
|
556
|
+
[data-reticle-chat-panel] .reticle-flows-empty{padding:25px 8px;color:var(--reticle-faint);font-size:11px;text-align:center;}
|
|
419
557
|
[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
558
|
border-radius:7px;border:1px solid var(--reticle-line);background:rgba(255,255,255,.04);color:var(--reticle-muted);
|
|
421
559
|
font-family:var(--reticle-font);font-size:11px;font-weight:500;transition:background .15s,color .15s,border-color .15s,transform .1s;}
|
|
@@ -434,7 +572,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
434
572
|
[data-reticle-chat-panel] .reticle-marks-copy[data-copied="1"]{color:#22c55e;border-color:#22c55e;}
|
|
435
573
|
[data-reticle-hud] .reticle-export-msg{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
|
|
436
574
|
overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
|
|
437
|
-
`;
|
|
575
|
+
`;KR="Copy for your agent",df=se.TOOLBAR,qR=`<button type="button" data-reticle-pause class="reticle-status-btn" title="${Zs.PAUSE}" aria-label="${Zs.PAUSE}">${pe(K.PAUSE,df)}</button><span data-reticle-badge class="reticle-pause-badge">${_M}</span><button type="button" data-reticle-end class="reticle-status-btn reticle-status-stop" title="${Zs.END}" aria-label="${Zs.END}">${pe(K.STOP,df)}</button><button type="button" data-reticle-copy class="reticle-status-btn" title="${BR}" aria-label="${BR}" hidden>${pe(K.COPY,df)}</button><button type="button" data-reticle-export class="reticle-status-btn" title="${GR}" aria-label="${GR}" hidden>${pe(K.DOWNLOAD,df)}</button><span data-reticle-export-msg class="reticle-export-msg" aria-live="polite"></span>`,XR=`<div data-reticle-banner class="reticle-banner">${WR}</div>`,ZR=`<div ${$p} class="reticle-marks-row" hidden><span data-reticle-marks-text class="reticle-marks-text"></span><button type="button" ${Mp} class="reticle-marks-copy" title="${KR}">${pe(K.COPY,se.HELP)}<span>${KR}</span></button></div>`,QR=`<div data-reticle-flows class="reticle-flows"><div class="reticle-flows-head"><span class="reticle-flows-cap">${SM}</span><span class="reticle-flows-links"><button type="button" data-reticle-see-logs class="reticle-flows-all" hidden>${yM} \u2192</button><button type="button" data-reticle-flows-all class="reticle-flows-all">${AM} \u2192</button></span></div><div data-reticle-flow-strip class="reticle-flow-strip"></div></div>`,JR=`<div data-reticle-foot><div class="reticle-foot-stack"><div class="reticle-foot-workspace-row">${wR()}${DR}</div></div></div>`;pf=class{constructor(e){b(this,Ue);b(this,da,(()=>{var e;try{let n=JSON.parse((e=localStorage.getItem(jR))!=null?e:"{}");return typeof n=="object"&&n!==null&&!Array.isArray(n)?n:{}}catch{return{}}})());b(this,He,{pauseBtn:void 0,endBtn:void 0,banner:void 0,copyBtn:void 0,exportBtn:void 0,exportMsg:void 0,flows:void 0,allFlows:void 0});b(this,mi,Ce.ACTIVE);b(this,Ir);b(this,ua);b(this,gd);b(this,pa,[]);b(this,Qs);b(this,Js);b(this,ec);b(this,fa);b(this,an);f(this,an,e)}get state(){return c(this,mi)}mount(e,n){var s,l,d,u,p,h,m,g,T,x;f(this,fa,new AbortController);let{signal:r}=c(this,fa);f(this,ua,e),f(this,gd,n),f(this,He,CM(e));let o=c(this,He).pauseBtn;o!==void 0&&VR(o,c(this,mi)===Ce.PAUSED),(s=c(this,He).pauseBtn)==null||s.addEventListener("click",()=>E(this,Ue,nw).call(this),{signal:r}),(l=c(this,He).endBtn)==null||l.addEventListener("click",()=>E(this,Ue,rw).call(this),{signal:r});let a=y=>{let A=y.target;if(!(A instanceof HTMLElement))return;let w=A.closest("[data-reticle-replay]");if(w===null||w.disabled)return;let k=w.getAttribute("data-reticle-replay");if(k!==null&&k.length>0){c(this,da)[k]=Date.now();try{localStorage.setItem(jR,JSON.stringify(c(this,da)))}catch{}E(this,Ue,md).call(this),c(this,an).emit(Tn.REPLAY,k)}};for(let y of[c(this,He).flows,c(this,He).allFlows])y==null||y.addEventListener("click",a,{signal:r});(u=(d=c(this,He).flows)==null?void 0:d.querySelector("[data-reticle-flow-strip]"))==null||u.addEventListener("wheel",y=>{let A=y.currentTarget;y.deltaX!==0||A.scrollWidth<=A.clientWidth||(A.scrollLeft+=y.deltaY,y.preventDefault())},{signal:r,passive:!1}),(h=(p=c(this,He).flows)==null?void 0:p.querySelector("[data-reticle-see-logs]"))==null||h.addEventListener("click",()=>{var y;return(y=e.querySelector('[data-reticle-chat-view-btn="activity"]'))==null?void 0:y.click()},{signal:r}),(g=(m=c(this,He).flows)==null?void 0:m.querySelector("[data-reticle-flows-all]"))==null||g.addEventListener("click",()=>{var y;return(y=e.querySelector('[data-reticle-chat-view-btn="flows"]'))==null?void 0:y.click()},{signal:r}),(T=c(this,He).copyBtn)==null||T.addEventListener("click",()=>E(this,Ue,ew).call(this),{signal:r}),(x=c(this,He).exportBtn)==null||x.addEventListener("click",()=>E(this,Ue,tw).call(this),{signal:r}),f(this,ec,NR(e)),E(this,Ue,md).call(this),this.setState(Ce.ACTIVE)}teardown(){var e,n;(e=c(this,fa))==null||e.abort(),f(this,fa,void 0),(n=c(this,ec))==null||n.call(this),f(this,ec,void 0),c(this,Ir)!==void 0&&me(c(this,Ir)),f(this,Ir,void 0)}setFlowProgress(e){let n=wM(e);n!==void 0&&(f(this,Qs,n),c(this,Js)!==void 0&&me(c(this,Js)),f(this,Js,Qa.PLAYING===n.status?void 0:X(()=>{f(this,Qs,void 0),E(this,Ue,uf).call(this)},vM)),E(this,Ue,uf).call(this))}setFlows(e){let n=Array.isArray(e)?e:[];f(this,pa,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,Ue,md).call(this)}refilterFlows(){E(this,Ue,md).call(this)}setState(e,n,r){var l,d,u,p,h;f(this,mi,e),(l=c(this,ua))==null||l.setAttribute(bM,e);let o=r!==void 0&&r!==es.CALM;o?(d=c(this,ua))==null||d.setAttribute(FR,r):(u=c(this,ua))==null||u.removeAttribute(FR),c(this,Ir)!==void 0&&(me(c(this,Ir)),f(this,Ir,void 0));let a=c(this,He),s=e===Ce.ENDED;if(a.pauseBtn!==void 0&&(VR(a.pauseBtn,e===Ce.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:`${WR}${m.length>0?` \xB7 ${m}`:""}`}if(s){let m=c(this,gd);f(this,Ir,X(()=>{m==null||m.setAttribute(TM,xM)},c(this,an).endedFadeMs))}(h=(p=c(this,an)).onStateChange)==null||h.call(p,e)}};da=new WeakMap,He=new WeakMap,mi=new WeakMap,Ir=new WeakMap,ua=new WeakMap,gd=new WeakMap,pa=new WeakMap,Qs=new WeakMap,Js=new WeakMap,ec=new WeakMap,fa=new WeakMap,an=new WeakMap,Ue=new WeakSet,Qg=function(){return JSON.stringify(c(this,an).runState(),null,2)},ew=function(){var n,r,o;(n=navigator.clipboard)==null||n.writeText(E(this,Ue,Qg).call(this)),on().clearOnCopy&&((o=(r=c(this,an)).clearRunLog)==null||o.call(r));let e=c(this,He).exportMsg;e!==void 0&&(e.textContent=NM,e.setAttribute("data-show","1"),X(()=>e.setAttribute("data-show","0"),1600))},tw=function(){var o,a;let e=new Blob([E(this,Ue,Qg).call(this)],{type:"application/json"}),n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=OM,r.click(),URL.revokeObjectURL(n),on().clearOnCopy&&((a=(o=c(this,an)).clearRunLog)==null||a.call(o))},nw=function(){c(this,mi)===Ce.PAUSED?(c(this,an).emit(Tn.RESUME),this.setState(Ce.ACTIVE)):c(this,mi)===Ce.ACTIVE&&(c(this,an).emit(Tn.PAUSE),this.setState(Ce.PAUSED))},rw=function(){c(this,mi)!==Ce.ENDED&&(c(this,an).emit(Tn.END),this.setState(Ce.ENDED))},uf=function(){var o,a,s,l;if(((o=c(this,He).flows)==null?void 0:o.ownerDocument)===void 0)return;let n=c(this,Qs),r=(a=c(this,He).flows)==null?void 0:a.querySelector("[data-reticle-see-logs]");r!=null&&(r.hidden=n===void 0);for(let d of[c(this,He).flows,c(this,He).allFlows])for(let u of(s=d==null?void 0:d.querySelectorAll("[data-reticle-replay]"))!=null?s:[]){let p=(l=u.getAttribute("data-reticle-replay"))!=null?l:"";if(!(n!==void 0&&n.name===p)){u.removeAttribute("data-state"),u.style.removeProperty("--reticle-flow-progress"),u.classList.contains("reticle-flow")&&(u.textContent=`\u25B6 ${p}`);continue}let m=0<n.total?Math.round(100*n.done/n.total):4;u.setAttribute("data-state",n.status),u.style.setProperty("--reticle-flow-progress",`${String(Math.max(4,m))}%`);let g=RM[n.status];u.classList.contains("reticle-flow")&&(u.textContent=`${g} ${p}`);let T=u.querySelector(".reticle-flow-play");T!==null&&(T.textContent=g);let x=u.querySelector(".reticle-flow-meta");x!==null&&0<n.total&&(x.textContent=`Step ${String(n.done)} of ${String(n.total)}`)}},md=function(){let e=c(this,He).flows;if(e===void 0)return;let n=c(this,He).allFlows,r=e.ownerDocument,o=new Set(Array.from(r.querySelectorAll(Qr())).map(p=>Pe(p))),a=p=>p.start===void 0||o.has(p.start),s=[...c(this,pa)].filter(a).sort((p,h)=>{var m,g,T,x;return((g=(m=c(this,da)[h.name])!=null?m:h.createdAt)!=null?g:0)-((x=(T=c(this,da)[p.name])!=null?T:p.createdAt)!=null?x:0)}),l=e.querySelector("[data-reticle-flow-strip]");l==null||l.replaceChildren(),n==null||n.replaceChildren();let d=(p,h,m)=>{let g=r.createElement("button");g.type="button",g.className="reticle-flow",g.setAttribute("data-reticle-replay",h.name),g.textContent=`\u25B6 ${h.name}`,g.disabled=!m,m||(g.title="Open the page where this flow starts to replay it"),p.appendChild(g)},u=(p,h,m)=>{let g=r.createElement("button");g.type="button",g.className="reticle-flow-row",g.setAttribute("data-reticle-replay",h.name),g.title=h.name,g.disabled=!m;let T=r.createElement("span");T.className="reticle-flow-play",T.setAttribute("aria-hidden","true"),T.textContent="\u25B6";let x=r.createElement("span");x.className="reticle-flow-text";let y=r.createElement("span");y.className="reticle-flow-name",y.textContent=IM(h.name);let A=r.createElement("span");A.className="reticle-flow-meta",A.textContent=m?lf.REPLAYABLE:lf.ELSEWHERE,x.append(y,A),g.append(T,x),p.appendChild(g)};for(let p of s.slice(0,3))l!==null&&d(l,p,!0);if(e.setAttribute("data-has",s.length>0?"1":"0"),n!==void 0)if(c(this,pa).length===0){let p=r.createElement("div");p.className="reticle-flows-empty";let h=r.createElement("strong");h.textContent=lf.EMPTY_TITLE;let m=r.createElement("span");m.textContent=lf.EMPTY_HINT,p.append(h,m),n.appendChild(p)}else for(let p of[...c(this,pa)].sort((h,m)=>{var g,T;return((g=m.createdAt)!=null?g:0)-((T=h.createdAt)!=null?T:0)}))u(n,p,a(p));E(this,Ue,uf).call(this)}});var ee,H,te,Cr,eE,iw,ow=_(()=>{"use strict";zi();ot();ot();er();ee="data-reticle-overlay",H="data-reticle-hud",te="data-reticle-chat-panel",Cr="data-reticle-state",eE="data-reticle-tone",iw=`
|
|
438
576
|
/**
|
|
439
577
|
* ONE colour says what the session is doing, and the user picks all three.
|
|
440
578
|
*
|
|
@@ -443,73 +581,67 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
443
581
|
* The defaults are blue / amber / red; the settings panel writes --reticle-c-* from the swatches,
|
|
444
582
|
* because a signal colour that disappears into the user's own palette is not a signal.
|
|
445
583
|
*/
|
|
446
|
-
[${
|
|
584
|
+
[${ee}]{
|
|
447
585
|
--reticle-c-active:#3b82f6;--reticle-c-idle:#eab308;--reticle-c-ended:#ef4444;
|
|
448
586
|
--reticle-state:var(--reticle-c-idle);}
|
|
449
|
-
[${
|
|
450
|
-
[${
|
|
451
|
-
[${
|
|
452
|
-
[${
|
|
453
|
-
--reticle-surface:
|
|
587
|
+
[${ee}][${Xl}="active"]{--reticle-state:var(--reticle-c-active);}
|
|
588
|
+
[${ee}][${Cr}="paused"]{--reticle-state:var(--reticle-c-idle);}
|
|
589
|
+
[${ee}][${Cr}="ended"]{--reticle-state:var(--reticle-c-ended);}
|
|
590
|
+
[${C}]{
|
|
591
|
+
--reticle-surface:color-mix(in srgb,var(--reticle-hud-surface) 78%,transparent);
|
|
454
592
|
/* No literal here: --reticle-accent is published on the overlay from the chosen status theme.
|
|
455
593
|
Redefining it on the dock made every accented control - toolbar toggles, focus rings, the send
|
|
456
594
|
button - stay blue no matter which theme was picked, because the dock's value won for its own
|
|
457
595
|
subtree. The fallback only matters if the presenter is mounted without settings. */
|
|
458
596
|
--reticle-accent:var(--reticle-c-active,#3b82f6);
|
|
459
597
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-accent) 18%,transparent);
|
|
460
|
-
--reticle-bg
|
|
461
|
-
--reticle-fg
|
|
462
|
-
--reticle-line:
|
|
598
|
+
--reticle-bg:var(--reticle-hud-ground);--reticle-bg2:var(--reticle-hud-surface);
|
|
599
|
+
--reticle-fg:var(--reticle-hud-text);--reticle-muted:var(--reticle-hud-text-muted);--reticle-faint:var(--reticle-hud-text-faint);
|
|
600
|
+
--reticle-line:var(--reticle-hud-border-strong);--reticle-line2:color-mix(in srgb,var(--reticle-hud-border) 70%,transparent);
|
|
463
601
|
--reticle-read:#d4d4d4;--reticle-ok:#fafafa;--reticle-bad:#f5f5f5;
|
|
464
|
-
--reticle-font:
|
|
465
|
-
--reticle-shell-ease:
|
|
602
|
+
--reticle-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
|
|
603
|
+
--reticle-shell-ease:var(--reticle-hud-ease);
|
|
466
604
|
--reticle-shell-fast:.22s var(--reticle-shell-ease);
|
|
467
605
|
--reticle-mark-accent:var(--reticle-accent);
|
|
468
606
|
position:fixed;right:20px;bottom:20px;left:auto;
|
|
469
607
|
z-index:2147483647;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
|
|
470
608
|
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;
|
|
609
|
+
/* ONE width for the chat, the capsule and the toolbar: the dock-width token. Two widths made the
|
|
610
|
+
toolbar overhang the panel it belongs to, and the pair read as two unrelated widgets. */
|
|
611
|
+
--reticle-dock-w:var(--reticle-hud-dock-width,320px);
|
|
478
612
|
/* The log is the reason the panel exists, so it gets the height rather than the chrome. */
|
|
479
|
-
--reticle-chat-h:
|
|
613
|
+
--reticle-chat-h:var(--reticle-hud-panel-height,440px);
|
|
480
614
|
opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--reticle-shell-fast),transform var(--reticle-shell-fast);}
|
|
481
|
-
[${
|
|
482
|
-
[${
|
|
483
|
-
[${
|
|
484
|
-
[${
|
|
615
|
+
[${C}][data-dragged="1"]{left:var(--reticle-hud-x);top:var(--reticle-hud-y);bottom:auto;right:auto;transform:none;}
|
|
616
|
+
[${C}][data-dragged="1"][data-on="1"]{transform:none;}
|
|
617
|
+
[${C}][data-on="1"]{opacity:1;transform:translate3d(0,0,0);pointer-events:none;}
|
|
618
|
+
[${C}][data-on="0"]{opacity:0;pointer-events:none;}
|
|
485
619
|
/**
|
|
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.
|
|
620
|
+
* The panel is painted by HUD_GLASS_PAINT: an opaque navy fill, lit by the state colour, with that
|
|
621
|
+
* colour glowing behind it. No backdrop-filter: blur(24px) here was measured as the single most
|
|
622
|
+
* expensive thing in the whole SDK.
|
|
491
623
|
*/
|
|
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));
|
|
624
|
+
[${te}]{
|
|
625
|
+
${Vs}
|
|
497
626
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);top:auto;z-index:5;
|
|
498
627
|
box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 16px));
|
|
628
|
+
height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));
|
|
499
629
|
max-height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));
|
|
500
630
|
flex-direction:column;overflow:hidden;text-align:left;
|
|
501
631
|
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);
|
|
632
|
+
border-radius:var(--reticle-hud-radius-lg);
|
|
504
633
|
contain:layout style paint;
|
|
505
634
|
transform:translateZ(0);
|
|
506
635
|
pointer-events:none;}
|
|
507
|
-
[${
|
|
636
|
+
[${C}][${hi}="below"] [${te}]{
|
|
508
637
|
bottom:auto;top:calc(100% + 8px);}
|
|
509
|
-
[${
|
|
638
|
+
[${C}][${_t}="start"] [${te}]{
|
|
510
639
|
right:auto;left:0;}
|
|
511
|
-
[${
|
|
640
|
+
[${ee}][${Qe}="1"] [${te}]{
|
|
512
641
|
display:flex;pointer-events:auto;}
|
|
642
|
+
[${te}][hidden]{display:none!important;}
|
|
643
|
+
[${C}][${hi}="below"] [data-reticle-page-panel]{bottom:auto;top:calc(100% + 8px);}
|
|
644
|
+
[${C}][${_t}="start"] [data-reticle-page-panel]{right:auto;left:0;}
|
|
513
645
|
/**
|
|
514
646
|
* Idle, and not blocking the page: the card is not in use.
|
|
515
647
|
*
|
|
@@ -517,10 +649,14 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
517
649
|
* under the card landed on an empty transcript. Playwright named that div. The card passes the
|
|
518
650
|
* event through. The buttons stay clickable, which is the chrome a person still needs (#992).
|
|
519
651
|
*/
|
|
520
|
-
[${
|
|
521
|
-
[${
|
|
652
|
+
[${ee}][data-reticle-mode="idle"][data-reticle-block="0"] [${te}],
|
|
653
|
+
[${ee}][data-reticle-mode="idle"][data-reticle-block="0"] [${te}] [data-reticle-log]{
|
|
522
654
|
pointer-events:none;}
|
|
523
|
-
|
|
655
|
+
/* ...except a log with more than it shows: a feed nobody can scroll back through is not a log. */
|
|
656
|
+
[${ee}][data-reticle-mode="idle"][data-reticle-block="0"] [${te}] [data-reticle-log][data-reticle-log-scrollable],
|
|
657
|
+
[${ee}][data-reticle-mode="idle"][data-reticle-block="0"] [${te}] .reticle-flow-strip{
|
|
658
|
+
pointer-events:auto;}
|
|
659
|
+
[${ee}][data-reticle-mode="idle"][data-reticle-block="0"] [${te}] :is(button,a,input,select,textarea){
|
|
524
660
|
pointer-events:auto;}
|
|
525
661
|
/**
|
|
526
662
|
* Minimising the chat leaves a CAPSULE, not a hole: the same glass, the same state dot, the last
|
|
@@ -528,7 +664,7 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
528
664
|
* clicked. Leaving the toolbar alone above an empty gap would make a minimised session look
|
|
529
665
|
* identical to no session at all.
|
|
530
666
|
*/
|
|
531
|
-
[${
|
|
667
|
+
[${ut}]{
|
|
532
668
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:5;
|
|
533
669
|
box-sizing:border-box;width:var(--reticle-dock-w);
|
|
534
670
|
max-width:min(var(--reticle-dock-w),calc(100vw - 16px));
|
|
@@ -537,91 +673,93 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
537
673
|
radial-gradient(120% 160% at 50% 0%,color-mix(in srgb,var(--reticle-state) 18%,transparent),transparent 70%),
|
|
538
674
|
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
539
675
|
border:1px solid color-mix(in srgb,var(--reticle-state) 26%,rgba(255,255,255,.1));
|
|
540
|
-
box-shadow:${
|
|
676
|
+
box-shadow:${Jn},0 0 34px -14px var(--reticle-state);
|
|
541
677
|
color:var(--reticle-muted);font-family:var(--reticle-font);font-size:11px;line-height:1;
|
|
542
678
|
transition:transform .1s ease,border-color .2s ease;}
|
|
543
|
-
[${
|
|
544
|
-
[${
|
|
545
|
-
[${
|
|
679
|
+
[${C}][${hi}="below"] [${ut}]{bottom:auto;top:calc(100% + 8px);}
|
|
680
|
+
[${C}][${_t}="start"] [${ut}]{right:auto;left:0;}
|
|
681
|
+
[${ee}][${Oe}="0"]:not([${Qe}="1"]) [${ut}]{
|
|
546
682
|
display:inline-flex;pointer-events:auto;}
|
|
547
|
-
[${
|
|
548
|
-
[${
|
|
683
|
+
[${ut}]:hover{border-color:color-mix(in srgb,var(--reticle-c-active) 45%,transparent);}
|
|
684
|
+
[${ut}]:active{transform:scale(.98);}
|
|
549
685
|
/* No dot in the capsule: the mark, the border and the glow already carry the state colour, and a
|
|
550
686
|
pulsing dot next to a line of text that changes on its own was two things moving for one fact. */
|
|
551
|
-
[${
|
|
687
|
+
[${ut}] .reticle-mark{flex:none;height:14px;width:auto;color:var(--reticle-fg);opacity:.9;}
|
|
552
688
|
/* Header: who this panel belongs to, and what the session is doing right now. */
|
|
553
|
-
[${
|
|
689
|
+
[${te}] .reticle-chat-head{
|
|
554
690
|
flex:none;display:flex;align-items:center;gap:8px;padding:11px 44px 9px 14px;
|
|
555
691
|
border-bottom:1px solid rgba(255,255,255,.06);}
|
|
556
|
-
[${
|
|
692
|
+
[${te}] .reticle-chat-brand{display:inline-flex;align-items:center;gap:7px;color:var(--reticle-fg);}
|
|
557
693
|
/* The account capsule lives in the header, not the toolbar. The toolbar row is already 13px over its
|
|
558
694
|
own width, so a 20px avatar there pushed the close button outside the panel. The header has the
|
|
559
695
|
space, is visible under exactly the same condition, and is where an account avatar belongs anyway.
|
|
560
696
|
margin-left:auto right-aligns it; the head reserves 44px of right padding for the caret above it,
|
|
561
697
|
so the two never overlap. The :empty rule keeps the gap closed when no account state was sent. */
|
|
562
|
-
[${
|
|
563
|
-
[${
|
|
564
|
-
[${
|
|
565
|
-
[${
|
|
698
|
+
[${te}] .reticle-head-account{margin-left:auto;display:inline-flex;align-items:center;}
|
|
699
|
+
[${te}] .reticle-head-account:empty{display:none;}
|
|
700
|
+
[${te}] .reticle-chat-brand .reticle-mark{height:14px;width:auto;}
|
|
701
|
+
[${te}] .reticle-chat-brandname{font-size:12.5px;font-weight:600;letter-spacing:.01em;}
|
|
702
|
+
[${te}] .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);}
|
|
703
|
+
[${te}] .reticle-view-heading strong{font-size:11px;font-weight:600;}
|
|
566
704
|
/* No state word here: the activity strip immediately below already says "idle \xB7 21s", and the
|
|
567
705
|
dot in front of it carries the same colour. One fact, one place. */
|
|
568
|
-
[${
|
|
706
|
+
[${ut}] .reticle-chat-pill-text{
|
|
569
707
|
flex:1;text-align:left;
|
|
570
708
|
min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
571
709
|
font-variant-numeric:tabular-nums;letter-spacing:.01em;}
|
|
572
|
-
[${
|
|
710
|
+
[${ut}] .reticle-chat-pill-time{
|
|
573
711
|
flex:none;color:var(--reticle-faint);font-variant-numeric:tabular-nums;}
|
|
574
|
-
[${
|
|
712
|
+
[${ut}] .reticle-chat-pill-caret{
|
|
575
713
|
flex:none;display:inline-flex;color:var(--reticle-faint);line-height:0;transform:rotate(180deg);}
|
|
576
|
-
[${
|
|
714
|
+
[${ut}] .reticle-chat-pill-caret svg{
|
|
577
715
|
display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
|
|
578
716
|
/* Minimise the chat without collapsing the whole HUD \u2014 sits over the panel's top-right corner. */
|
|
579
|
-
[${
|
|
717
|
+
[${C}] .reticle-chat-min{
|
|
580
718
|
position:absolute;top:6px;right:6px;z-index:4;
|
|
581
719
|
width:26px;height:26px;padding:0;border:none;border-radius:50%;cursor:pointer;
|
|
582
720
|
display:inline-flex;align-items:center;justify-content:center;
|
|
583
721
|
background:transparent;color:rgba(255,255,255,.6);line-height:0;}
|
|
584
|
-
[${
|
|
585
|
-
[${
|
|
722
|
+
[${C}] .reticle-chat-min:hover{background:rgba(255,255,255,.07);color:var(--reticle-fg);}
|
|
723
|
+
[${C}] .reticle-chat-min svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;
|
|
586
724
|
stroke-linecap:round;stroke-linejoin:round;}
|
|
587
|
-
[${
|
|
588
|
-
[${
|
|
589
|
-
[${
|
|
590
|
-
[${
|
|
725
|
+
[${ee}][${Up}="0"] [${Op}]{display:none;}
|
|
726
|
+
[${ee}][${vr}="1"] [${H}],
|
|
727
|
+
[${ee}][${vr}="1"] [${te}],
|
|
728
|
+
[${ee}][${vr}="1"] [data-reticle-settings-panel]{
|
|
591
729
|
transition-duration:.01ms !important;}
|
|
592
|
-
[${
|
|
593
|
-
[${
|
|
594
|
-
[${
|
|
595
|
-
[${
|
|
730
|
+
[${ee}][${vr}="1"] .reticle-fab-pulse,
|
|
731
|
+
[${ee}][${vr}="1"] .reticle-act-dot,
|
|
732
|
+
[${ee}][${vr}="1"] [data-bump="1"]{animation:none !important;}
|
|
733
|
+
[${H}]{
|
|
596
734
|
/* Centre the toolbar in the pill. The toolbar is 32px inside a 36px content box and, as a plain
|
|
597
735
|
block child, sat flush against padding-top - every icon rode 2px high in a rounded bar, which
|
|
598
736
|
is exactly the offset the eye picks up on a pill. */
|
|
599
737
|
position:relative;box-sizing:border-box;pointer-events:auto;flex:none;
|
|
600
738
|
display:flex;align-items:center;
|
|
601
739
|
width:44px;height:44px;min-height:44px;max-height:44px;overflow:visible;
|
|
602
|
-
background:${
|
|
740
|
+
background:${wg};
|
|
603
741
|
color:#fff;border:none;border-radius:22px;
|
|
604
742
|
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
743
|
contain:layout style;
|
|
606
744
|
transition:width .26s var(--reticle-shell-ease),border-radius .26s var(--reticle-shell-ease),
|
|
607
745
|
transform var(--reticle-shell-fast),opacity .18s ease;
|
|
608
746
|
will-change:width,border-radius,transform;}
|
|
609
|
-
[${
|
|
747
|
+
[${ee}][${Oe}="0"] [${H}]{
|
|
610
748
|
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
|
-
[${
|
|
749
|
+
[${H}] .reticle-hud-deco{
|
|
612
750
|
position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
|
|
613
751
|
opacity:0;visibility:hidden;}
|
|
614
|
-
[${
|
|
752
|
+
[${ee}][${Oe}="0"] [${H}] .reticle-hud-deco{
|
|
615
753
|
opacity:1;visibility:visible;}
|
|
616
|
-
[${
|
|
617
|
-
[${
|
|
754
|
+
[${H}][data-on="0"]{opacity:0;transform:scale(.8);pointer-events:none;}
|
|
755
|
+
[${H}][data-on="1"]{opacity:1;transform:scale(1);}
|
|
618
756
|
/* The expanded HUD IS the shared column width; the toolbar fills its content box. Sizing the
|
|
619
757
|
toolbar to the dock width instead pushed it past the HUD's padding, and the last button - Exit -
|
|
620
758
|
rendered outside the rounded box it belongs to. */
|
|
621
|
-
[${
|
|
759
|
+
[${ee}][${Oe}="0"] [${H}]{
|
|
622
760
|
width:min(calc(100vw - 24px),var(--reticle-dock-w));height:44px;min-height:44px;max-height:44px;
|
|
623
761
|
min-width:44px;border-radius:24px;padding:4px 6px;}
|
|
624
|
-
[${
|
|
762
|
+
[${H}] .reticle-fab{
|
|
625
763
|
position:absolute;inset:0;z-index:2;display:inline-flex;align-items:center;justify-content:center;
|
|
626
764
|
width:44px;height:44px;padding:0;margin:0;border:none;border-radius:22px;cursor:pointer;
|
|
627
765
|
background:transparent;color:var(--reticle-fg);line-height:0;
|
|
@@ -631,128 +769,116 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
631
769
|
* waiting or done. It carries the state colour as a halo: breathing while the agent drives, a
|
|
632
770
|
* steady soft ring while idle, and a flat dim ring once the session has ended.
|
|
633
771
|
*/
|
|
634
|
-
[${
|
|
772
|
+
[${ee}][${Oe}="1"] [${H}] .reticle-fab{
|
|
635
773
|
cursor:grab;touch-action:none;user-select:none;
|
|
636
774
|
box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 55%,transparent),
|
|
637
775
|
0 0 14px -2px color-mix(in srgb,var(--reticle-state) 45%,transparent);}
|
|
638
|
-
[${
|
|
776
|
+
[${ee}][${Oe}="1"][${Xl}="active"] [${H}] .reticle-fab{
|
|
639
777
|
animation:reticle-fab-breathe 1.6s ease-in-out infinite;}
|
|
640
|
-
[${
|
|
778
|
+
[${ee}][${Oe}="1"][${Cr}="ended"] [${H}] .reticle-fab{
|
|
641
779
|
animation:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 40%,transparent);}
|
|
642
780
|
@keyframes reticle-fab-breathe{
|
|
643
781
|
0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 70%,transparent),
|
|
644
782
|
0 0 16px -2px color-mix(in srgb,var(--reticle-state) 55%,transparent)}
|
|
645
783
|
50%{box-shadow:0 0 0 2px var(--reticle-state),
|
|
646
784
|
0 0 28px 2px color-mix(in srgb,var(--reticle-state) 70%,transparent)}}
|
|
647
|
-
[${
|
|
648
|
-
[${
|
|
785
|
+
[${ee}][${vr}="1"] [${H}] .reticle-fab{animation:none;}
|
|
786
|
+
[${ee}][${Oe}="1"] [${H}] .reticle-fab.reticle-drag-handle--dragging{
|
|
649
787
|
cursor:grabbing;}
|
|
650
|
-
[${
|
|
651
|
-
[${
|
|
652
|
-
[${
|
|
653
|
-
[${
|
|
654
|
-
[${
|
|
788
|
+
[${H}] .reticle-fab-mark{height:22px;width:auto;pointer-events:none;}
|
|
789
|
+
[${H}] .reticle-fab:hover{background:rgba(255,255,255,.08);}
|
|
790
|
+
[${H}] .reticle-fab:active{transform:scale(.95);}
|
|
791
|
+
[${H}] .reticle-fab:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 75%,transparent);outline-offset:2px;}
|
|
792
|
+
[${H}] .reticle-fab-pulse{
|
|
655
793
|
position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;
|
|
656
794
|
background:var(--reticle-accent);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;}
|
|
657
|
-
[${
|
|
658
|
-
[${
|
|
795
|
+
[${H}] .reticle-fab[data-pulse="1"] .reticle-fab-pulse{opacity:1;transform:scale(1);}
|
|
796
|
+
[${H}] .reticle-fab-badge{
|
|
659
797
|
position:absolute;top:-13px;right:-13px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
|
|
660
798
|
background:var(--reticle-accent);color:#fff;font-size:10px;font-weight:600;
|
|
661
799
|
display:flex;align-items:center;justify-content:center;pointer-events:none;
|
|
662
800
|
box-shadow:0 1px 3px rgba(0,0,0,.15);}
|
|
663
|
-
[${
|
|
664
|
-
[${
|
|
801
|
+
[${H}] .reticle-fab-badge[hidden]{display:none;}
|
|
802
|
+
[${ee}][${Oe}="0"] [${H}] .reticle-fab{
|
|
665
803
|
opacity:0;pointer-events:none;visibility:hidden;}
|
|
666
804
|
/* The toolbar is the third element in the same column, so it carries the same width as the chat
|
|
667
805
|
and the capsule above it and spreads its groups across it, rather than hugging its icons. */
|
|
668
|
-
[${
|
|
806
|
+
[${H}] .reticle-toolbar{
|
|
669
807
|
position:relative;z-index:1;display:none;align-items:center;justify-content:space-between;
|
|
670
808
|
box-sizing:border-box;width:100%;
|
|
671
809
|
gap:4px;height:32px;padding:0 2px;
|
|
672
810
|
overflow:visible;opacity:0;transform:scale(.94);pointer-events:none;
|
|
673
811
|
transition:opacity .2s var(--reticle-shell-ease),transform .18s var(--reticle-shell-ease);}
|
|
674
|
-
[${
|
|
812
|
+
[${ee}][${Oe}="0"] [${H}] .reticle-toolbar{
|
|
675
813
|
display:flex;opacity:1;transform:scale(1);pointer-events:auto;}
|
|
676
814
|
/* The HUD block is transformed, which makes it a stacking context at level 0 inside the dock, so a
|
|
677
815
|
tooltip's z-index only ranked it within the block and it drew behind the chat and settings panels,
|
|
678
816
|
its siblings. Lift the block while a tooltip can show. */
|
|
679
|
-
[${
|
|
680
|
-
[${
|
|
681
|
-
[${
|
|
682
|
-
[${
|
|
817
|
+
[${H}]:hover,[${H}]:focus-within{z-index:${String(Rg)};}
|
|
818
|
+
[${H}] .reticle-toolbar-drag{cursor:grab;touch-action:none;user-select:none;}
|
|
819
|
+
[${H}] .reticle-toolbar-drag.reticle-drag-handle--dragging{cursor:grabbing;}
|
|
820
|
+
[${H}] .reticle-toolbar-actions{
|
|
683
821
|
display:inline-flex;align-items:center;gap:2px;flex:none;
|
|
684
822
|
padding:2px;border-radius:999px;background:rgba(0,0,0,.2);}
|
|
685
|
-
[${
|
|
686
|
-
[${
|
|
823
|
+
[${H}] .reticle-toolbar-chrome{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:var(--reticle-hud-space-1);flex:1;min-width:0;}
|
|
824
|
+
[${H}] .reticle-tb-sep{width:1px;height:14px;background:rgba(255,255,255,.12);margin:0 4px;flex:none;align-self:center;}
|
|
687
825
|
|
|
688
|
-
[${
|
|
689
|
-
[${
|
|
826
|
+
[${H}] .reticle-tb-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;}
|
|
827
|
+
[${H}] .reticle-tb-btn{
|
|
690
828
|
flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
691
|
-
width:
|
|
829
|
+
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
830
|
background:transparent;color:rgba(255,255,255,.85);line-height:0;
|
|
693
831
|
transition:background-color .15s ease,color .15s ease,transform .1s ease,opacity .2s ease;}
|
|
694
|
-
[${
|
|
695
|
-
[${
|
|
696
|
-
[${
|
|
697
|
-
[${
|
|
698
|
-
[${
|
|
832
|
+
[${H}] .reticle-tb-btn:hover{background:rgba(255,255,255,.12);color:#fff;}
|
|
833
|
+
[${H}] .reticle-tb-btn:active{transform:scale(.92);}
|
|
834
|
+
[${H}] .reticle-tb-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 65%,transparent);outline-offset:1px;}
|
|
835
|
+
[${H}] .reticle-tb-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;}
|
|
836
|
+
[${H}] .reticle-tb-btn[data-active="1"]{color:var(--reticle-accent);
|
|
699
837
|
background:color-mix(in srgb, var(--reticle-accent) 25%, transparent);}
|
|
700
|
-
[${
|
|
838
|
+
[${H}] .reticle-tb-btn--toggle[data-active="1"]{
|
|
701
839
|
color:var(--reticle-accent);background:transparent;}
|
|
702
|
-
[${
|
|
703
|
-
[${
|
|
840
|
+
[${H}] .reticle-tb-btn--toggle[data-active="1"]:hover{background:rgba(255,255,255,.06);color:var(--reticle-accent);}
|
|
841
|
+
[${H}] .reticle-hi-toggle{
|
|
704
842
|
position:relative;display:inline-flex;align-items:center;justify-content:center;
|
|
705
843
|
width:18px;height:18px;line-height:0;flex:none;}
|
|
706
|
-
[${
|
|
844
|
+
[${H}] .reticle-hi-toggle .reticle-hi-icon{
|
|
707
845
|
position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;
|
|
708
846
|
transition:opacity .14s ease;}
|
|
709
|
-
[${
|
|
710
|
-
[${
|
|
847
|
+
[${H}] .reticle-hi-toggle .reticle-hi-icon--solid{opacity:0;}
|
|
848
|
+
[${H}] .reticle-hi-toggle .reticle-hi-icon--solid svg{
|
|
711
849
|
transform:scale(1.12);transform-origin:center;}
|
|
712
850
|
/*
|
|
713
851
|
* Active toggles keep the OUTLINE icon. The solid heroicon is a filled glyph next to 1.5px strokes
|
|
714
852
|
* everywhere else, so a pressed button reads as a heavier typeface rather than as a state. Accent
|
|
715
853
|
* colour and the background above already carry the state without changing the icon's weight.
|
|
716
854
|
*/
|
|
717
|
-
[${
|
|
718
|
-
[${
|
|
719
|
-
[${
|
|
720
|
-
[${
|
|
855
|
+
[${H}] .reticle-tb-btn--toggle[data-active="1"] .reticle-hi-icon--outline{opacity:1;}
|
|
856
|
+
[${H}] .reticle-tb-btn--toggle .reticle-hi-icon--solid{opacity:0;}
|
|
857
|
+
[${H}] .reticle-tb-btn--toggle .reticle-hi-icon--solid svg{color:inherit;}
|
|
858
|
+
[${H}] .reticle-tb-btn--primary[data-active="1"]{
|
|
721
859
|
color:#fff;background:rgba(255,255,255,.14);}
|
|
722
|
-
[${
|
|
860
|
+
[${H}] .reticle-tb-btn[data-danger]:hover:not(:disabled){color:#ff383c;
|
|
723
861
|
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}][${Kt}="ended"] [${N}] .reticle-tb-btn--export{display:inline-flex;}
|
|
734
|
-
[${Z}][${Kt}="ended"] [${N}] [data-reticle-pause],
|
|
735
|
-
[${Z}][${Kt}="ended"] [${N}] [data-reticle-end]{display:none;}
|
|
736
|
-
[${N}] .reticle-tb-tip{
|
|
862
|
+
[${H}] .reticle-tb-tip{
|
|
737
863
|
position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) scale(.95);
|
|
738
864
|
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(
|
|
865
|
+
border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:${String(Rg)};
|
|
740
866
|
box-shadow:0 2px 8px rgba(0,0,0,.3);transition:opacity .135s ease,transform .135s ease,visibility .135s;}
|
|
741
|
-
[${
|
|
867
|
+
[${H}] .reticle-tb-tip::after{
|
|
742
868
|
content:"";position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%) rotate(45deg);
|
|
743
869
|
width:8px;height:8px;background:#1a1a1a;border-radius:0 0 2px 0;}
|
|
744
|
-
[${
|
|
870
|
+
[${H}] .reticle-tb-wrap:hover .reticle-tb-tip{
|
|
745
871
|
opacity:1;visibility:visible;transform:translateX(-50%) scale(1);transition-delay:.3s;}
|
|
746
|
-
[${
|
|
747
|
-
[${
|
|
748
|
-
[${
|
|
749
|
-
[${
|
|
872
|
+
[${H}] .reticle-tb-wrap:has(.reticle-tb-btn:disabled):hover .reticle-tb-tip{opacity:0;visibility:hidden;}
|
|
873
|
+
[${H}] .reticle-tb-wrap--pause:hover .reticle-pause-badge{opacity:0;}
|
|
874
|
+
[${H}] .reticle-tb-kbd{margin-left:4px;opacity:.5;}
|
|
875
|
+
[${H}] .reticle-pause-badge{
|
|
750
876
|
display:none;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);
|
|
751
877
|
align-items:center;flex:none;font-weight:600;letter-spacing:.08em;font-size:7px;
|
|
752
878
|
color:var(--reticle-fg);border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.55);
|
|
753
879
|
padding:2px 6px;border-radius:999px;white-space:nowrap;pointer-events:none;z-index:2;
|
|
754
880
|
transition:opacity .12s ease;}
|
|
755
|
-
[${
|
|
881
|
+
[${ee}][${Cr}="paused"] [data-reticle-badge]{display:inline-flex;}
|
|
756
882
|
/**
|
|
757
883
|
* The mode, ON the status row rather than under it.
|
|
758
884
|
*
|
|
@@ -760,46 +886,46 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
760
886
|
* from the elided action text. Nothing above or below moves: growing and shrinking by the height of
|
|
761
887
|
* this pill on every tool call makes one status line look like a second UI appearing and leaving.
|
|
762
888
|
*/
|
|
763
|
-
[${
|
|
889
|
+
[${C}] .reticle-chip{display:none;flex:none;align-items:center;gap:4px;font-size:8px;font-weight:600;letter-spacing:.06em;
|
|
764
890
|
height:16px;padding:0 7px;line-height:1;border-radius:999px;text-transform:uppercase;
|
|
765
891
|
background:rgba(255,255,255,.06);opacity:0;transition:opacity .12s ease;}
|
|
766
|
-
[${
|
|
767
|
-
[${
|
|
768
|
-
[${
|
|
769
|
-
[${
|
|
770
|
-
[${
|
|
771
|
-
[${
|
|
772
|
-
[${
|
|
892
|
+
[${C}] .reticle-chip[data-mode="reading"],
|
|
893
|
+
[${C}] .reticle-chip[data-mode="acting"]{opacity:1;}
|
|
894
|
+
[${C}] .reticle-chip[data-mode="reading"],
|
|
895
|
+
[${C}] .reticle-chip[data-mode="acting"]{display:inline-flex;color:var(--reticle-fg);}
|
|
896
|
+
[${C}] .reticle-tally[hidden]{display:none;}
|
|
897
|
+
[${C}] .reticle-tally{align-self:center;flex:none;}
|
|
898
|
+
[${C}] .reticle-pill-group{
|
|
773
899
|
display:inline-flex;align-items:stretch;flex:none;border-radius:999px;overflow:hidden;
|
|
774
900
|
background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}
|
|
775
|
-
[${
|
|
901
|
+
[${C}] .reticle-pill-segment{
|
|
776
902
|
display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;
|
|
777
903
|
font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:var(--reticle-fg);}
|
|
778
|
-
[${
|
|
779
|
-
[${
|
|
780
|
-
[${
|
|
781
|
-
[${
|
|
782
|
-
[${
|
|
783
|
-
[${
|
|
904
|
+
[${C}] .reticle-pill-segment[data-z="1"]{opacity:.4;}
|
|
905
|
+
[${C}] .reticle-t-pass.reticle-pill-segment{background:rgba(34,197,94,.14);color:#bbf7d0;}
|
|
906
|
+
[${C}] .reticle-t-fail.reticle-pill-segment{background:rgba(239,68,68,.14);color:#fecaca;}
|
|
907
|
+
[${C}] .reticle-pill-sep{width:1px;align-self:stretch;background:rgba(255,255,255,.12);flex:none;margin:0;}
|
|
908
|
+
[${C}] .reticle-pill-count{min-width:1ch;}
|
|
909
|
+
[${C}] .reticle-tally .reticle-hi-icon{opacity:.92;}
|
|
784
910
|
@keyframes reticle-tally-pop{0%{transform:scale(1)}38%{transform:scale(1.3)}100%{transform:scale(1)}}
|
|
785
|
-
[${
|
|
786
|
-
[${
|
|
787
|
-
[${
|
|
788
|
-
[${
|
|
789
|
-
[${
|
|
911
|
+
[${C}] .reticle-tally [data-bump="1"]{display:inline-flex;animation:reticle-tally-pop .36s cubic-bezier(.16,1,.3,1);}
|
|
912
|
+
[${H}] .reticle-hi-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:inherit;}
|
|
913
|
+
[${H}] .reticle-hi-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
|
|
914
|
+
[${H}] .reticle-live{display:none;}
|
|
915
|
+
[${te}] .reticle-act-strip{flex:none;display:flex;align-items:center;gap:7px;min-height:36px;box-sizing:border-box;padding:4px 12px;
|
|
790
916
|
border-bottom:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.22);}
|
|
791
|
-
[${
|
|
917
|
+
[${te}] .reticle-act-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--reticle-faint);
|
|
792
918
|
box-shadow:0 0 0 2px rgba(255,255,255,.04);transition:background .2s,box-shadow .2s;}
|
|
793
919
|
/**
|
|
794
920
|
* The status dot carries the session state in COLOUR, not only in the word next to it - and in the
|
|
795
921
|
* user's own colour for that state, so it reads against their app rather than ours.
|
|
796
922
|
*/
|
|
797
|
-
[${
|
|
798
|
-
[${
|
|
923
|
+
[${te}] .reticle-act-strip[data-liveness="active"] .reticle-act-dot,
|
|
924
|
+
[${te}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
|
|
799
925
|
background:var(--reticle-state);
|
|
800
926
|
box-shadow:0 0 0 2px color-mix(in srgb,var(--reticle-state) 18%,transparent),
|
|
801
927
|
0 0 8px color-mix(in srgb,var(--reticle-state) 45%,transparent);}
|
|
802
|
-
[${
|
|
928
|
+
[${te}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
|
|
803
929
|
animation:reticle-idle-pulse 2.4s ease-in-out infinite;}
|
|
804
930
|
/**
|
|
805
931
|
* Unreachable: present, and plainly not working.
|
|
@@ -807,15 +933,24 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
807
933
|
* Muted rather than alarming. Nothing is broken in the user's app \u2014 Reticle simply has nobody to
|
|
808
934
|
* talk to \u2014 and a dev overlay that shouts about its own plumbing is one the user turns off.
|
|
809
935
|
*/
|
|
810
|
-
[${
|
|
811
|
-
[${
|
|
812
|
-
[${
|
|
813
|
-
[${
|
|
936
|
+
[${ee}][${Cr}="unreachable"]{--reticle-state:var(--reticle-faint);}
|
|
937
|
+
[${ee}][${Cr}="unreachable"] [${te}] .reticle-act-dot{animation:none;}
|
|
938
|
+
[${ee}][${Cr}="paused"] [${te}] .reticle-act-dot,
|
|
939
|
+
[${ee}][${Cr}="ended"] [${te}] .reticle-act-dot{animation:none;}
|
|
814
940
|
@keyframes reticle-idle-pulse{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
|
|
815
|
-
[${
|
|
941
|
+
[${te}] .reticle-act{display:block;flex:1;min-width:0;color:var(--reticle-muted);font-size:11px;
|
|
816
942
|
font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
817
|
-
[${
|
|
818
|
-
[${
|
|
943
|
+
[${te}] .reticle-act-actions{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto;}
|
|
944
|
+
[${te}] .reticle-status-btn{position:relative;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
|
|
945
|
+
border:1px solid var(--reticle-line);border-radius:var(--reticle-hud-radius-sm);background:transparent;color:var(--reticle-muted);cursor:pointer;}
|
|
946
|
+
[${te}] .reticle-status-btn[hidden]{display:none;}
|
|
947
|
+
[${te}] .reticle-status-btn:hover:not(:disabled){background:var(--reticle-hud-hover);color:var(--reticle-fg);}
|
|
948
|
+
[${te}] .reticle-status-btn:focus-visible{outline:2px solid var(--reticle-accent);outline-offset:2px;}
|
|
949
|
+
[${te}] .reticle-status-btn:disabled{opacity:.35;cursor:not-allowed;}
|
|
950
|
+
[${te}] .reticle-status-stop:hover:not(:disabled){color:var(--reticle-state);border-color:var(--reticle-state);}
|
|
951
|
+
[${te}] .reticle-act-actions .reticle-pause-badge{display:none;position:static;transform:none;padding:2px 5px;font-size:8px;}
|
|
952
|
+
[${te}] .reticle-act-strip[data-liveness="active"] .reticle-act{color:var(--reticle-fg);}
|
|
953
|
+
[${H}] .reticle-pass{color:var(--reticle-ok);}[${H}] .reticle-fail{color:var(--reticle-bad);}
|
|
819
954
|
/**
|
|
820
955
|
* Paused and ended keep the STATE colour rather than washing out to grey.
|
|
821
956
|
*
|
|
@@ -825,19 +960,19 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
825
960
|
* the theme's own paused/ended colour now, so "which state am I in" is answered by the same hue
|
|
826
961
|
* everywhere: the dot, the glow, the FAB halo, and the toolbar.
|
|
827
962
|
*/
|
|
828
|
-
[${
|
|
829
|
-
[${
|
|
830
|
-
[${
|
|
963
|
+
[${ee}][${Cr}="paused"] [${H}],
|
|
964
|
+
[${ee}][${Cr}="ended"] [${H}],
|
|
965
|
+
[${ee}][${eE}="waiting"] [${H}]{
|
|
831
966
|
--reticle-accent:var(--reticle-state);
|
|
832
967
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-state) 18%,transparent);}
|
|
833
|
-
[${
|
|
834
|
-
[${
|
|
968
|
+
[${ee}][${eE}="ask"] [${H}],
|
|
969
|
+
[${ee}][${eE}="warn"] [${H}]{
|
|
835
970
|
--reticle-accent:var(--reticle-state);
|
|
836
971
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-state) 18%,transparent);}
|
|
837
972
|
@media (max-width:480px){
|
|
838
|
-
[${
|
|
839
|
-
[${
|
|
840
|
-
}`});var
|
|
973
|
+
[${te}]{width:min(100vw - 24px,320px);max-height:min(440px,calc(100vh - 100px));}
|
|
974
|
+
[${ee}][${Oe}="0"] [${H}]{max-width:calc(100vw - 24px);}
|
|
975
|
+
}`});var aw,sw,cw,lw=_(()=>{"use strict";er();aw=20,sw=28,cw=`
|
|
841
976
|
/* The control establishes its own stacking context, and a high one.
|
|
842
977
|
Its menu is absolutely positioned inside a panel whose other children (the log well, the act strip)
|
|
843
978
|
are themselves positioned with their own z-index, so a z-index on the MENU alone was being compared
|
|
@@ -855,11 +990,11 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
855
990
|
.reticle-account{position:relative;z-index:9;display:inline-flex;align-items:center;gap:6px;flex:none;}
|
|
856
991
|
.reticle-account-avatar{
|
|
857
992
|
display:inline-flex;align-items:center;justify-content:center;
|
|
858
|
-
width:${String(
|
|
993
|
+
width:${String(aw)}px;height:${String(aw)}px;border-radius:999px;
|
|
859
994
|
font-size:9px;font-weight:600;letter-spacing:.02em;
|
|
860
995
|
background:rgba(255,255,255,.12);color:rgba(255,255,255,.92);user-select:none;}
|
|
861
996
|
.reticle-account-avatar--lg{
|
|
862
|
-
width:${String(
|
|
997
|
+
width:${String(sw)}px;height:${String(sw)}px;font-size:11px;}
|
|
863
998
|
|
|
864
999
|
/* The trigger is the avatar plus a hit area, never a second visual element: an avatar that looks
|
|
865
1000
|
like a button reads as an action, and this one opens a menu about a state. */
|
|
@@ -889,8 +1024,8 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
889
1024
|
/* The HUD's own surface tokens, not a colour invented here. A menu with its own near-black is a
|
|
890
1025
|
second design language in the same panel, and a translucent one lets the panel's empty-state text
|
|
891
1026
|
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),${
|
|
1027
|
+
${Zl}
|
|
1028
|
+
box-shadow:inset 0 1px 0 rgba(255,255,255,.09),${Jn};
|
|
894
1029
|
font-size:11px;color:rgba(255,255,255,.78);text-align:left;}
|
|
895
1030
|
.reticle-account-menu[hidden]{display:none;}
|
|
896
1031
|
|
|
@@ -932,8 +1067,8 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
932
1067
|
display:inline-flex;align-items:center;justify-content:center;
|
|
933
1068
|
border:none;background:transparent;color:rgba(255,255,255,.6);cursor:pointer;line-height:0;padding:2px;}
|
|
934
1069
|
.reticle-account-dashboard:hover{color:#fff;}
|
|
935
|
-
`});var
|
|
936
|
-
[${
|
|
1070
|
+
`});var LM,dw,uw=_(()=>{"use strict";er();ot();LM="data-reticle-overlay",dw=`
|
|
1071
|
+
[${M}]{
|
|
937
1072
|
position:absolute;right:0;left:auto;bottom:calc(100% + 12px);z-index:31;
|
|
938
1073
|
box-sizing:border-box;display:flex;flex-direction:column;width:var(--reticle-dock-w);
|
|
939
1074
|
max-width:min(var(--reticle-dock-w),calc(100vw - 16px));max-height:calc(100vh - 140px);
|
|
@@ -942,79 +1077,84 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
942
1077
|
background:
|
|
943
1078
|
radial-gradient(130% 90% at 50% 0%,color-mix(in srgb,var(--reticle-c-active) 18%,transparent),transparent 62%),
|
|
944
1079
|
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
945
|
-
box-shadow:${
|
|
1080
|
+
box-shadow:${Jn},0 0 54px -18px var(--reticle-c-active);
|
|
946
1081
|
color:var(--reticle-fg);font-family:var(--reticle-font);
|
|
947
1082
|
transition:opacity .18s ease,transform .18s ease,visibility .18s;}
|
|
948
|
-
[${
|
|
949
|
-
[${
|
|
1083
|
+
[${C}][${_t}="start"] [${M}]{right:auto;left:0;}
|
|
1084
|
+
[${LM}][${Wt}="1"] [${M}]{
|
|
950
1085
|
opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);pointer-events:auto;}
|
|
951
|
-
[${
|
|
1086
|
+
[${M}] .reticle-report-inner{
|
|
952
1087
|
display:flex;flex-direction:column;min-height:0;overflow:hidden;}
|
|
953
|
-
[${
|
|
1088
|
+
[${M}] .reticle-report-head{
|
|
954
1089
|
flex:none;display:flex;align-items:center;gap:8px;padding:11px 12px 9px 14px;
|
|
955
1090
|
border-bottom:1px solid rgba(255,255,255,.06);}
|
|
956
|
-
[${
|
|
957
|
-
[${
|
|
1091
|
+
[${M}] .reticle-report-title{font-size:12.5px;font-weight:600;}
|
|
1092
|
+
[${M}] .reticle-report-scope{
|
|
958
1093
|
margin-left:auto;padding:3px 9px;border-radius:999px;cursor:pointer;
|
|
959
1094
|
border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
|
|
960
1095
|
color:var(--reticle-muted);font:inherit;font-size:10.5px;}
|
|
961
|
-
[${
|
|
962
|
-
[${
|
|
1096
|
+
[${M}] .reticle-report-scope:hover{background:rgba(255,255,255,.08);color:var(--reticle-fg);}
|
|
1097
|
+
[${M}] .reticle-report-close{
|
|
963
1098
|
flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
|
|
964
1099
|
border:none;background:transparent;color:var(--reticle-faint);cursor:pointer;line-height:0;}
|
|
965
|
-
[${
|
|
966
|
-
[${
|
|
1100
|
+
[${M}] .reticle-report-close svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;}
|
|
1101
|
+
[${M}] .reticle-report-body{
|
|
967
1102
|
min-height:0;overflow-y:auto;padding:12px 14px 6px;
|
|
968
1103
|
scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;}
|
|
969
|
-
[${
|
|
1104
|
+
[${M}] .reticle-report-empty{
|
|
970
1105
|
margin:0;padding:22px 6px;text-align:center;color:var(--reticle-faint);font-size:11.5px;}
|
|
971
1106
|
/* The streak sits above the hero, as a flame and a number: it is the one stat that is about
|
|
972
1107
|
TODAY, so it reads first and never competes with the count it sits over. */
|
|
973
|
-
[${
|
|
1108
|
+
[${M}] .reticle-report-streak{
|
|
974
1109
|
display:inline-flex;align-items:baseline;gap:5px;margin-bottom:8px;padding:3px 9px;
|
|
975
1110
|
border-radius:999px;background:rgba(255,255,255,.05);
|
|
976
1111
|
border:1px solid color-mix(in srgb,var(--reticle-c-active) 22%,transparent);
|
|
977
1112
|
font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}
|
|
978
|
-
[${
|
|
1113
|
+
[${M}] .reticle-report-streak-label{
|
|
979
1114
|
color:var(--reticle-faint);font-size:9.5px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;}
|
|
980
|
-
[${
|
|
981
|
-
[${
|
|
1115
|
+
[${M}] .reticle-report-hero{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
|
|
1116
|
+
[${M}] .reticle-report-hero-value{
|
|
982
1117
|
font-size:34px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--reticle-c-active);}
|
|
983
|
-
[${
|
|
984
|
-
[${
|
|
985
|
-
[${
|
|
1118
|
+
[${M}] .reticle-report-hero-label{color:var(--reticle-muted);font-size:11.5px;}
|
|
1119
|
+
[${M}] .reticle-report-verdicts{display:flex;gap:6px;margin-bottom:12px;}
|
|
1120
|
+
[${M}] .reticle-sync-status{font-size:11px;color:var(--reticle-faint);font-variant-numeric:tabular-nums;white-space:nowrap;}
|
|
1121
|
+
[${M}] .reticle-sync-status[data-reticle-sync-status="refused"]{color:var(--reticle-c-error,#f87171);}
|
|
1122
|
+
[${M}] .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);}
|
|
1123
|
+
[${M}] .reticle-report-coverage-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--reticle-hud-text);}
|
|
1124
|
+
[${M}] .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;}
|
|
1125
|
+
[${M}] .reticle-report-verdict{
|
|
986
1126
|
flex:1;padding:5px 8px;border-radius:8px;font-size:10.5px;text-align:center;
|
|
987
1127
|
background:rgba(255,255,255,.05);color:var(--reticle-muted);}
|
|
988
|
-
[${
|
|
989
|
-
[${
|
|
990
|
-
[${
|
|
1128
|
+
[${M}] .reticle-report-verdict[data-kind="fail"]{color:#fca5a5;}
|
|
1129
|
+
[${M}] .reticle-report-verdict[data-kind="unknown"]{color:#fcd34d;}
|
|
1130
|
+
[${M}] .reticle-report-grid{
|
|
991
1131
|
display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
|
|
992
|
-
[${
|
|
1132
|
+
[${M}] .reticle-report-card{
|
|
993
1133
|
display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:10px;
|
|
994
1134
|
background:rgba(255,255,255,.04);}
|
|
995
|
-
[${
|
|
996
|
-
[${
|
|
1135
|
+
[${M}] .reticle-report-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
|
|
1136
|
+
[${M}] .reticle-report-label{color:var(--reticle-faint);font-size:9.5px;line-height:1.3;}
|
|
997
1137
|
/* An estimate is labelled as one, and its label carries what it is measured against. */
|
|
998
|
-
[${
|
|
1138
|
+
[${M}] .reticle-report-basis{
|
|
999
1139
|
display:block;margin-top:2px;color:var(--reticle-c-active);opacity:.8;
|
|
1000
1140
|
font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;cursor:help;}
|
|
1001
|
-
[${
|
|
1141
|
+
[${M}] .reticle-report-defects-wrap{margin-top:14px;}
|
|
1002
1142
|
/* The heading and its push control on one line, so the button reads as belonging to this section
|
|
1003
1143
|
rather than floating above the list. */
|
|
1004
|
-
[${
|
|
1144
|
+
[${M}] .reticle-report-defects-head{
|
|
1005
1145
|
display:flex;align-items:center;justify-content:space-between;gap:8px;}
|
|
1006
|
-
[${
|
|
1146
|
+
[${M}] .reticle-report-defects{
|
|
1007
1147
|
display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
|
|
1008
1148
|
/* A left rule rather than a card per row: ten cards in a 320px panel is a wall, and the rule keeps
|
|
1009
1149
|
the list scannable as a list \u2014 which is what a person is doing when they open this. */
|
|
1010
|
-
[${
|
|
1150
|
+
[${M}] .reticle-report-defect{
|
|
1011
1151
|
display:flex;flex-direction:column;gap:1px;padding:4px 0 4px 8px;
|
|
1012
1152
|
border-left:2px solid color-mix(in srgb,#f87171 70%,transparent);}
|
|
1013
|
-
[${
|
|
1153
|
+
[${M}] .reticle-report-defect-title{
|
|
1014
1154
|
font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
|
|
1015
|
-
[${
|
|
1155
|
+
[${M}] .reticle-report-defect-detail{
|
|
1016
1156
|
color:var(--reticle-faint);font-size:10px;line-height:1.35;overflow-wrap:anywhere;}
|
|
1017
|
-
[${
|
|
1157
|
+
[${M}] .reticle-report-defect-source{
|
|
1018
1158
|
color:var(--reticle-faint);font-size:9.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
|
|
1019
1159
|
overflow-wrap:anywhere;}
|
|
1020
1160
|
.reticle-report-defect-link{flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
@@ -1023,79 +1163,77 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
1023
1163
|
.reticle-report-defect:hover .reticle-report-defect-link,
|
|
1024
1164
|
.reticle-report-defect-link:focus-visible{opacity:1;}
|
|
1025
1165
|
.reticle-report-defect-link:hover{color:var(--reticle-fg);background:rgba(255,255,255,.07);}
|
|
1026
|
-
[${
|
|
1166
|
+
[${M}] .reticle-report-defects-more{
|
|
1027
1167
|
display:inline-block;margin-top:8px;font-size:10px;color:var(--reticle-c-active);
|
|
1028
1168
|
text-decoration:none;}
|
|
1029
|
-
[${
|
|
1030
|
-
[${
|
|
1169
|
+
[${M}] .reticle-report-defects-more:hover{text-decoration:underline;}
|
|
1170
|
+
[${M}] .reticle-report-defects-all{display:inline-block;margin-top:8px;border:0;padding:0;background:none;cursor:pointer;font:inherit;font-size:10.5px;font-weight:500;color:var(--reticle-c-active);}
|
|
1171
|
+
[${M}] .reticle-report-defects-all:hover{text-decoration:underline;}
|
|
1172
|
+
[${M}] .reticle-report-local-only{
|
|
1031
1173
|
margin:14px 0 0;padding-top:10px;border-top:1px solid var(--reticle-line);
|
|
1032
1174
|
color:var(--reticle-faint);font-size:10px;line-height:1.45;}
|
|
1033
|
-
[${
|
|
1175
|
+
[${M}] .reticle-report-local-only code{
|
|
1034
1176
|
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--reticle-c-active);}
|
|
1035
|
-
[${
|
|
1036
|
-
[${
|
|
1177
|
+
[${M}] .reticle-report-chart-wrap{margin-top:12px;}
|
|
1178
|
+
[${M}] .reticle-report-section{
|
|
1037
1179
|
display:block;margin-bottom:6px;color:var(--reticle-faint);font-size:9.5px;
|
|
1038
1180
|
letter-spacing:.06em;text-transform:uppercase;}
|
|
1039
1181
|
/* Thirty fixed slots, not a flex row: one recorded day is one thin bar on a month's axis, and a
|
|
1040
1182
|
single stretched block would read as "a month of solid work" on the day you install it. */
|
|
1041
|
-
[${
|
|
1183
|
+
[${M}] .reticle-report-chart{
|
|
1042
1184
|
display:grid;grid-template-columns:repeat(30,1fr);align-items:end;gap:2px;height:44px;padding:0 1px;}
|
|
1043
|
-
[${
|
|
1185
|
+
[${M}] .reticle-report-bar{
|
|
1044
1186
|
min-width:2px;border-radius:2px 2px 0 0;
|
|
1045
1187
|
background:color-mix(in srgb,var(--reticle-c-active) 55%,transparent);}
|
|
1046
|
-
[${
|
|
1047
|
-
[${
|
|
1188
|
+
[${M}] .reticle-report-bar[data-hot="1"]{background:#f87171;}
|
|
1189
|
+
[${M}] .reticle-report-foot{
|
|
1048
1190
|
flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 8px;
|
|
1049
1191
|
border-top:1px solid rgba(255,255,255,.06);}
|
|
1050
|
-
[${
|
|
1192
|
+
[${M}] .reticle-report-share{
|
|
1051
1193
|
padding:5px 10px;border-radius:8px;cursor:pointer;font:inherit;font-size:11px;
|
|
1052
1194
|
border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--reticle-muted);}
|
|
1053
|
-
[${
|
|
1054
|
-
[${
|
|
1195
|
+
[${M}] .reticle-report-share:hover{background:rgba(255,255,255,.09);color:var(--reticle-fg);}
|
|
1196
|
+
[${M}] .reticle-report-refer{
|
|
1055
1197
|
border-color:color-mix(in srgb,var(--reticle-c-active) 45%,transparent);color:var(--reticle-fg);}
|
|
1056
|
-
[${
|
|
1198
|
+
[${M}] .reticle-report-links{
|
|
1057
1199
|
flex:none;display:flex;gap:12px;padding:0 14px 12px;}
|
|
1058
|
-
[${
|
|
1200
|
+
[${M}] .reticle-report-links a{
|
|
1059
1201
|
color:var(--reticle-faint);font-size:10.5px;text-decoration:none;}
|
|
1060
|
-
[${
|
|
1202
|
+
[${M}] .reticle-report-links a:hover{color:var(--reticle-fg);text-decoration:underline;}
|
|
1061
1203
|
|
|
1062
1204
|
/* Who this record belongs to, and the push-now control. Tokens only \u2014 no literal colours. */
|
|
1063
|
-
[${
|
|
1205
|
+
[${M}] .reticle-report-identity{
|
|
1064
1206
|
display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 14px 0;min-height:0;}
|
|
1065
|
-
[${
|
|
1066
|
-
[${
|
|
1207
|
+
[${M}] .reticle-report-identity:empty{display:none;}
|
|
1208
|
+
[${M}] .reticle-sync-now{
|
|
1067
1209
|
display:inline-flex;align-items:center;justify-content:center;
|
|
1068
1210
|
border:none;background:transparent;color:var(--reticle-faint);cursor:pointer;line-height:0;padding:2px;}
|
|
1069
|
-
[${
|
|
1211
|
+
[${M}] .reticle-sync-now:hover{color:var(--reticle-fg);}
|
|
1070
1212
|
/* The one moment this control has an opinion: it says it is going, not that it has arrived. */
|
|
1071
|
-
[${
|
|
1213
|
+
[${M}] .reticle-sync-now[data-syncing="1"]{
|
|
1072
1214
|
color:var(--reticle-c-active);animation:reticle-sync-spin 900ms linear infinite;}
|
|
1073
1215
|
@keyframes reticle-sync-spin{to{transform:rotate(360deg);}}
|
|
1074
1216
|
@media (prefers-reduced-motion:reduce){
|
|
1075
|
-
[${
|
|
1076
|
-
`});function
|
|
1077
|
-
<span class="reticle-offer-title">${
|
|
1078
|
-
<p class="reticle-offer-body">${
|
|
1079
|
-
<a ${
|
|
1080
|
-
</div>`}var
|
|
1217
|
+
[${M}] .reticle-sync-now[data-syncing="1"]{animation:none;}}
|
|
1218
|
+
`});function fw(t){try{return(t==null?void 0:t.getItem(DM))==="1"}catch{return!1}}function hw(t,e){if(t===void 0)return"";if(t.claimed){let r=t.daysRemaining;if(r===void 0||0>r)return"";let o=MM>=r?Ed.ending(r):Ed.claimed(r);return`<div ${pw} class="reticle-offer reticle-offer-claimed">${bd(o)}</div>`}if(t.eligible===!1||t.drivable===!1||e)return"";let n=t.claimUrl;return n===void 0||n.length===0?"":`<div ${pw} class="reticle-offer" role="note">
|
|
1219
|
+
<span class="reticle-offer-title">${bd(Ed.HEADLINE)}</span>
|
|
1220
|
+
<p class="reticle-offer-body">${bd(Ed.BODY)}</p>
|
|
1221
|
+
<a ${kM} class="reticle-offer-claim" href="${bd(n)}" target="_blank" rel="noopener noreferrer">${bd(Ed.CLAIM)}</a>
|
|
1222
|
+
</div>`}var pw,kM,DM,Ed,MM,bd,mw,ff=_(()=>{"use strict";Gn();pw="data-reticle-offer",kM="data-reticle-offer-claim",DM=ze.HARNESS_OFFER_DISMISSED,Ed={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`},MM=14;bd=t=>t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");mw=`
|
|
1081
1223
|
.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
1224
|
.reticle-offer-title{display:block;font-weight:600;font-size:12px;padding-right:18px;}
|
|
1083
1225
|
.reticle-offer-body{margin:6px 0 8px;font-size:11px;line-height:1.45;opacity:.8;}
|
|
1084
1226
|
.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
1227
|
.reticle-offer-claimed{margin:6px 10px;font-size:10px;opacity:.6;}
|
|
1086
|
-
`});
|
|
1087
|
-
<span class="reticle-talk-title">${Wu(Tm.HEADLINE)}</span>
|
|
1088
|
-
<p class="reticle-talk-body">${Wu(Tm.BODY)}</p>
|
|
1089
|
-
<a ${CD} class="reticle-talk-book" href="${Wu(ps)}" target="_blank" rel="noopener noreferrer">${Wu(Tm.BOOK)}</a>
|
|
1090
|
-
</div>`}var CD,Tm,Wu,qy,_m=T(()=>{"use strict";D();CD="data-reticle-talk-book",Tm={HEADLINE:"Talk to Founders",BODY:"Tell us where Reticle got in your way.",BOOK:"Book a call"},Wu=t=>t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");qy=`
|
|
1228
|
+
`});var gw,Ew=_(()=>{"use strict";gw=`
|
|
1091
1229
|
.reticle-talk-title{display:block;font-weight:600;font-size:12px;padding-right:18px;}
|
|
1092
1230
|
.reticle-talk-body{margin:6px 0 8px;font-size:11px;line-height:1.45;opacity:.8;}
|
|
1093
1231
|
.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" ${
|
|
1232
|
+
`});function nE(t){let e=tE.get(t);e!==void 0&&clearInterval(e),tE.delete(t)}function PM(){var t;try{return((t=globalThis.matchMedia)==null?void 0:t.call(globalThis,"(prefers-reduced-motion: reduce)").matches)===!0}catch{return!1}}function hf(t,e){t.setAttribute("data-active",String(e));let n=t.querySelectorAll(`[${Td}]`),r=t.querySelector(`[${Aw}]`);r!==null&&(r.textContent=`${String(e+1)} / ${String(n.length)}`),n.forEach((o,a)=>{o.hidden=a!==e}),t.querySelectorAll(`[${mf}]`).forEach((o,a)=>{o.setAttribute("aria-current",String(a===e))})}function UM(t,e){if(t.length===0)return"";let n=HM(e,t.length),r=t.map((a,s)=>`<div ${Td}="${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" ${_w} aria-label="Previous message" class="reticle-carousel-arrow">\u2039</button><div class="reticle-carousel-dots">${t.map((a,s)=>`<button type="button" ${mf}="${String(s)}" class="reticle-carousel-dot" aria-label="Show ${a.id}" aria-current="${String(s===n)}"></button>`).join("")}</div><span ${Aw} aria-live="polite">${String(n+1)} / ${String(t.length)}</span><button type="button" ${Sw} aria-label="Next message" class="reticle-carousel-arrow">\u203A</button></div>`;return`<div ${Tw} class="reticle-carousel" role="region" aria-label="Reticle" data-active="${String(n)}">
|
|
1233
|
+
<button type="button" ${xw} class="reticle-carousel-close" aria-label="${bw}" title="${bw}">\xD7</button>
|
|
1096
1234
|
<div class="reticle-carousel-track">${r}</div>
|
|
1097
|
-
${
|
|
1098
|
-
</div>`}function
|
|
1235
|
+
${o}
|
|
1236
|
+
</div>`}function FM(t){try{return(t==null?void 0:t.getItem(yw))==="1"}catch{return!1}}function vw(t,e,n){var l,d,u,p;let r=t.querySelector(`:scope > [${Tw}]`),o=Number((l=r==null?void 0:r.getAttribute("data-active"))!=null?l:"0");if(r==null||r.remove(),nE(t),FM(n))return;let a=UM(e,o);if(a==="")return;t.insertAdjacentHTML("afterbegin",a);let s=t.firstElementChild;if(s instanceof HTMLElement){(d=s.querySelector(`[${xw}]`))==null||d.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation();try{n==null||n.setItem(yw,"1")}catch{}nE(t),s.remove()});for(let h of s.querySelectorAll(`[${mf}]`))h.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),hf(s,Number(h.getAttribute(mf)))});(u=s.querySelector(`[${_w}]`))==null||u.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),hf(s,(Number(s.getAttribute("data-active"))+e.length-1)%e.length)}),(p=s.querySelector(`[${Sw}]`))==null||p.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),hf(s,(Number(s.getAttribute("data-active"))+1)%e.length)}),BM(t,s,e.length)}}function BM(t,e,n){if(n<2||PM())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),tE.set(t,setInterval(()=>{if(!e.isConnected){nE(t);return}r||hf(e,(Number(e.getAttribute("data-active"))+1)%n)},$M))}var Tw,Td,mf,xw,_w,Sw,Aw,yw,bw,$M,tE,HM,Rw,gf=_(()=>{"use strict";Gn();Tw="data-reticle-carousel",Td="data-reticle-carousel-slide",mf="data-reticle-carousel-dot",xw="data-reticle-carousel-close",_w="data-reticle-carousel-prev",Sw="data-reticle-carousel-next",Aw="data-reticle-carousel-position",yw=ze.CAROUSEL_DISMISSED,bw="Close",$M=6e3,tE=new WeakMap;HM=(t,e)=>Number.isInteger(t)&&t>=0&&t<e?t:0;Rw=`
|
|
1099
1237
|
.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
1238
|
.reticle-carousel-track{height:100px;overflow:hidden;}
|
|
1101
1239
|
.reticle-carousel-slide .reticle-offer,.reticle-carousel-slide .reticle-talk{margin:0;padding:0;border:0;background:none;}
|
|
@@ -1104,7 +1242,236 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
1104
1242
|
.reticle-carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:6px;}
|
|
1105
1243
|
.reticle-carousel-dot{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:currentColor;opacity:.3;cursor:pointer;}
|
|
1106
1244
|
.reticle-carousel-dot[aria-current="true"]{opacity:.9;}
|
|
1107
|
-
|
|
1245
|
+
.reticle-carousel-controls{display:flex;align-items:center;gap:8px;margin-top:6px;}
|
|
1246
|
+
.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;}
|
|
1247
|
+
.reticle-carousel-arrow:hover{border-color:var(--reticle-accent);background:var(--reticle-accent-soft);}
|
|
1248
|
+
.reticle-carousel-position{margin-left:auto;color:var(--reticle-muted);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;}
|
|
1249
|
+
.reticle-carousel-slide .reticle-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;margin:0;padding:0;border:0;background:none;}
|
|
1250
|
+
.reticle-carousel-slide .reticle-offer-title{grid-column:1/-1;overflow:hidden;padding:0;font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
|
|
1251
|
+
.reticle-carousel-slide .reticle-offer-body{grid-column:1;grid-row:2;margin:0;overflow:hidden;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;}
|
|
1252
|
+
.reticle-carousel-slide .reticle-offer-claim{grid-column:2;grid-row:2;padding:3px 7px;font-size:10px;white-space:nowrap;}
|
|
1253
|
+
.reticle-carousel-slide .reticle-offer-claimed{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;}
|
|
1254
|
+
`});function Ow(t){return typeof t=="string"&&GM.has(t)?t:Zt.PENDING}function xd(t){return typeof t=="string"?t:""}function iE(t){return Array.isArray(t)?t.filter(e=>typeof e=="object"&&e!==null):[]}function kw(t){let e=iE(t.lanes).map(r=>({id:xd(r.id),journeys:iE(r.journeys).map(o=>({id:xd(o.id),title:xd(o.title),...typeof o.persona=="string"?{persona:o.persona}:{},waitsOn:Array.isArray(o.waitsOn)?o.waitsOn.map(xd):[],status:Ow(o.status),steps:iE(o.steps).map(a=>({label:xd(a.label),status:Ow(a.status)}))}))}));return e.length===0?void 0:{parallel:typeof t.parallel=="number"?t.parallel:1,lanes:e}}function ht(t,e,n){let r=document.createElement(t);return r.className=e,n!==void 0&&(r.textContent=n),r}var Iw,ww,rE,Cw,tc,Nw,Lw,GM,nc,Sd,ha,rc,gi,_d,Dw,Ef,oE=_(()=>{"use strict";F();Iw="data-reticle-plan",ww="data-reticle-plan-close",rE="data-reticle-plan-journey",Cw=`<div ${Iw} class="reticle-plan" hidden></div>`,tc={TITLE:"Harness plan",CLOSE:"Hide the plan",WAITS:"waits on",AT_ONCE:"at once",LANE:"Lane"},Nw={[Zt.PENDING]:"\u25CB",[Zt.RUNNING]:"\u25D0",[Zt.PASSED]:"\u2713",[Zt.FAILED]:"\u2717",[Zt.BLOCKED]:"\u2298",[Zt.NOT_TAKEN]:"\u2013"},Lw=`
|
|
1255
|
+
[data-reticle-chat-panel] .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);}
|
|
1256
|
+
[data-reticle-chat-panel] .reticle-plan[hidden]{display:none;}
|
|
1257
|
+
[data-reticle-chat-panel] .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);}
|
|
1258
|
+
[data-reticle-chat-panel] .reticle-plan-head strong{color:var(--reticle-hud-text);font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1259
|
+
[data-reticle-chat-panel] .reticle-plan-head span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
1260
|
+
[data-reticle-chat-panel] .reticle-plan-close{flex:none;border:0;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;}
|
|
1261
|
+
[data-reticle-chat-panel] .reticle-plan-lanes{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;scrollbar-width:none;}
|
|
1262
|
+
[data-reticle-chat-panel] .reticle-plan-lanes::-webkit-scrollbar{display:none;}
|
|
1263
|
+
[data-reticle-chat-panel] .reticle-plan-lane{display:flex;gap:6px;align-items:flex-start;min-width:0;}
|
|
1264
|
+
[data-reticle-chat-panel] .reticle-plan-lane-name{flex:none;width:16px;padding-top:6px;font-size:10px;font-weight:600;text-align:center;color:var(--reticle-hud-text-muted);}
|
|
1265
|
+
[data-reticle-chat-panel] .reticle-plan-lane-journeys{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px;}
|
|
1266
|
+
[data-reticle-chat-panel] .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;}
|
|
1267
|
+
[data-reticle-chat-panel] .reticle-plan-journey[data-status="running"]{border-color:var(--reticle-c-active);box-shadow:0 0 12px -4px var(--reticle-c-active);}
|
|
1268
|
+
[data-reticle-chat-panel] .reticle-plan-journey[data-status="blocked"],[data-reticle-chat-panel] .reticle-plan-journey[data-status="not-taken"]{opacity:.55;}
|
|
1269
|
+
[data-reticle-chat-panel] .reticle-plan-row{display:flex;gap:6px;align-items:baseline;min-width:0;}
|
|
1270
|
+
[data-reticle-chat-panel] .reticle-plan-row b{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
1271
|
+
[data-reticle-chat-panel] .reticle-plan-glyph{flex:none;width:12px;text-align:center;}
|
|
1272
|
+
[data-reticle-chat-panel] [data-status="running"]>.reticle-plan-row>.reticle-plan-glyph,[data-reticle-chat-panel] .reticle-plan-step[data-status="running"]>.reticle-plan-glyph{color:var(--reticle-c-active);animation:reticle-flow-pulse 1.2s ease-in-out infinite;}
|
|
1273
|
+
[data-reticle-chat-panel] [data-status="passed"]>.reticle-plan-row>.reticle-plan-glyph,[data-reticle-chat-panel] .reticle-plan-step[data-status="passed"]>.reticle-plan-glyph{color:#4ade80;}
|
|
1274
|
+
[data-reticle-chat-panel] [data-status="failed"]>.reticle-plan-row>.reticle-plan-glyph,[data-reticle-chat-panel] .reticle-plan-step[data-status="failed"]>.reticle-plan-glyph{color:#f87171;}
|
|
1275
|
+
[data-reticle-chat-panel] .reticle-plan-meta{display:block;margin:2px 0 0 18px;color:var(--reticle-hud-text-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
1276
|
+
[data-reticle-chat-panel] .reticle-plan-steps{margin:4px 0 0 18px;display:flex;flex-direction:column;gap:2px;}
|
|
1277
|
+
[data-reticle-chat-panel] .reticle-plan-step{display:flex;gap:6px;color:var(--reticle-hud-text-muted);font-size:10px;min-width:0;}
|
|
1278
|
+
[data-reticle-chat-panel] .reticle-plan-step span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
1279
|
+
`,GM=new Set(Object.values(Zt));Ef=class{constructor(){b(this,gi);b(this,nc);b(this,Sd);b(this,ha,!1);b(this,rc,new Map)}mount(e){var n,r;f(this,nc,(n=e.querySelector(`[${Iw}]`))!=null?n:void 0),(r=c(this,nc))==null||r.addEventListener("click",o=>{let a=o.target;if(!(a instanceof Element))return;if(a.closest(`[${ww}]`)!==null){f(this,ha,!0),E(this,gi,_d).call(this);return}let s=a.closest(`[${rE}]`),l=s==null?void 0:s.getAttribute(rE);l!=null&&(c(this,rc).set(l,(s==null?void 0:s.getAttribute("aria-expanded"))!=="true"),E(this,gi,_d).call(this))}),E(this,gi,_d).call(this)}paint(e){e.lanes.every(r=>r.journeys.every(o=>Zt.PENDING===o.status))&&(f(this,ha,!1),c(this,rc).clear()),f(this,Sd,e),E(this,gi,_d).call(this)}};nc=new WeakMap,Sd=new WeakMap,ha=new WeakMap,rc=new WeakMap,gi=new WeakSet,_d=function(){let e=c(this,nc),n=c(this,Sd);if(e===void 0||(e.replaceChildren(),e.hidden=n===void 0||c(this,ha),n===void 0||c(this,ha)))return;let r=n.lanes.flatMap(d=>d.journeys),o=r.filter(d=>Zt.PASSED===d.status).length,a=ht("div","reticle-plan-head");a.append(ht("strong","",tc.TITLE),ht("span","",`${String(o)} of ${String(r.length)} passed \xB7 ${String(n.lanes.length)} lane(s)`+(1<n.parallel?`, ${String(n.parallel)} ${tc.AT_ONCE}`:"")));let s=ht("button","reticle-plan-close","\xD7");s.setAttribute("type","button"),s.setAttribute(ww,""),s.setAttribute("aria-label",tc.CLOSE),s.setAttribute("title",tc.CLOSE),a.append(s);let l=ht("div","reticle-plan-lanes");for(let d of n.lanes){let u=ht("div","reticle-plan-lane"),p=ht("span","reticle-plan-lane-name",d.id);p.setAttribute("title",`${tc.LANE} ${d.id}`);let h=ht("div","reticle-plan-lane-journeys");for(let m of d.journeys)h.append(E(this,gi,Dw).call(this,d.id,m));u.append(p,h),l.append(u)}e.append(a,l)},Dw=function(e,n){var d;let r=`${e}/${n.id}`,o=(d=c(this,rc).get(r))!=null?d:Zt.RUNNING===n.status||Zt.FAILED===n.status,a=ht("button","reticle-plan-journey");a.setAttribute("type","button"),a.setAttribute(rE,r),a.setAttribute("data-status",n.status),a.setAttribute("aria-expanded",String(o));let s=ht("span","reticle-plan-row");s.append(ht("span","reticle-plan-glyph",Nw[n.status]),ht("b","",n.title)),a.append(s);let l=[n.persona,0<n.waitsOn.length?`${tc.WAITS} ${n.waitsOn.join(", ")}`:void 0].filter(u=>u!==void 0&&0<u.length);if(0<l.length&&a.append(ht("span","reticle-plan-meta",l.join(" \xB7 "))),o&&0<n.steps.length){let u=ht("span","reticle-plan-steps");for(let p of n.steps){let h=ht("span","reticle-plan-step");h.setAttribute("data-status",p.status),h.append(ht("span","reticle-plan-glyph",Nw[p.status]),ht("span","",p.label)),u.append(h)}a.append(u)}return a}});function Uw(t,e){let n=t.querySelector(`[${Pw}]`),r=t.querySelector(`[${Tf}]`),o=e!==void 0&&!e.signedIn;n!==null&&(n.hidden=!o),r!==null&&(r.hidden=o)}var be,Pw,Tf,jM,St,bf,aE,Hw,sE,Mw,$w,Fw,cE=_(()=>{"use strict";qs();ot();er();be="data-reticle-rail",Pw="data-reticle-rail-signin",Tf="data-reticle-rail-promo",jM="data-reticle-page-open",St="data-reticle-page-panel",bf="data-reticle-overlay",aE={TITLE:"Sign in to try Reticle Harness",DETAIL:"Free credits every month for autonomous end-to-end checks",CTA:"Sign in"},Hw=`<div ${be} class="reticle-rail" role="complementary" aria-label="Reticle">
|
|
1280
|
+
<div ${Pw} class="reticle-rail-signin" hidden>
|
|
1281
|
+
<span class="reticle-rail-copy"><strong>${aE.TITLE}</strong><span>${aE.DETAIL}</span></span>
|
|
1282
|
+
<button type="button" ${Rr} class="reticle-rail-cta" title="${ie.SIGNIN_TITLE}">${aE.CTA}</button>
|
|
1283
|
+
</div>
|
|
1284
|
+
<div ${Tf} class="reticle-rail-promo"></div>
|
|
1285
|
+
</div>`;sE=`:is([${dt}],[${St}],[${M}],[${N}])`,Mw=`[${bf}][${Oe}="0"]:is([${Qe}="1"],[${jM}],[${Wt}="1"],[${We}="1"])`,$w=`[${C}]:is([${hi}="below"],[${Xi}="below"])`,Fw=`
|
|
1286
|
+
[${C}]{
|
|
1287
|
+
/* Short enough to leave most of a laptop screen to the app; the log scrolls inside it. */
|
|
1288
|
+
--reticle-frame-h:min(440px,60vh,calc(100vh - 190px));
|
|
1289
|
+
--reticle-rail-h:52px;--reticle-frame-gap:6px;}
|
|
1290
|
+
[${C}] ${sE}{
|
|
1291
|
+
right:0;left:auto;top:auto;
|
|
1292
|
+
bottom:calc(100% + 8px + var(--reticle-rail-h) + var(--reticle-frame-gap));
|
|
1293
|
+
width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 24px));
|
|
1294
|
+
height:var(--reticle-frame-h);max-height:var(--reticle-frame-h);
|
|
1295
|
+
border-radius:var(--reticle-hud-radius-lg);
|
|
1296
|
+
${Vs}}
|
|
1297
|
+
[${C}] [${N}]::after{display:none;}
|
|
1298
|
+
[${C}] [${N}] .reticle-settings-inner{height:100%;}
|
|
1299
|
+
[${C}] [${N}] :is(.reticle-settings-body,.reticle-settings-foot){background:transparent;}
|
|
1300
|
+
[${C}] [${M}] .reticle-report-inner{height:100%;}
|
|
1301
|
+
/* The Agent Log section fills the frame, so the footer sits on the bottom edge, not mid-panel. */
|
|
1302
|
+
[${dt}] .reticle-chat-view{flex:1;min-height:0;display:flex;flex-direction:column;}
|
|
1303
|
+
[${dt}] .reticle-chat-view > .reticle-hud-log-well{flex:1;min-height:0;}
|
|
1304
|
+
/*
|
|
1305
|
+
* Two rows above the log in every state: the header and the status row. "Session ended" (or the
|
|
1306
|
+
* handoff notice) takes the status text's place instead of arriving as a row of its own, and the
|
|
1307
|
+
* Harness control sits in the footer beside the project capsule.
|
|
1308
|
+
*/
|
|
1309
|
+
[${bf}] [${dt}] .reticle-act-strip .reticle-banner{display:none;flex:1;min-width:0;min-height:0;padding:0;border:0;background:none;
|
|
1310
|
+
font-size:11px;font-weight:600;line-height:1.3;color:var(--reticle-hud-text);
|
|
1311
|
+
overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
|
|
1312
|
+
[${bf}][data-reticle-state="ended"] [${dt}] .reticle-act-strip .reticle-banner{display:-webkit-box;}
|
|
1313
|
+
[${bf}][data-reticle-state="ended"] [${dt}] .reticle-act-strip .reticle-act{display:none;}
|
|
1314
|
+
[${dt}] .reticle-foot-workspace-row{gap:var(--reticle-hud-space-2);}
|
|
1315
|
+
[${dt}] [data-reticle-foot] .reticle-harness-spot{flex:none;margin-left:auto;padding:0;border:0;}
|
|
1316
|
+
[${dt}] [data-reticle-foot] .reticle-harness-row{min-height:0;gap:var(--reticle-hud-space-2);}
|
|
1317
|
+
[${dt}] [data-reticle-foot] .reticle-harness-copy strong{font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);white-space:nowrap;}
|
|
1318
|
+
/* The explanation stays for screen readers; sighted users get it from the link it sits beside. */
|
|
1319
|
+
[${dt}] [data-reticle-foot] .reticle-harness-copy span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
|
|
1320
|
+
${$w} ${sE}{bottom:auto;top:calc(100% + 8px + var(--reticle-rail-h) + var(--reticle-frame-gap));}
|
|
1321
|
+
[${C}][${_t}="start"] :is(${sE},[${be}]){right:auto;left:0;}
|
|
1322
|
+
|
|
1323
|
+
/* \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 */
|
|
1324
|
+
[${C}] :is(.reticle-page-heading,.reticle-report-head,.reticle-settings-head){
|
|
1325
|
+
flex:none;display:flex;align-items:center;gap:var(--reticle-hud-space-2);min-height:52px;box-sizing:border-box;
|
|
1326
|
+
padding:var(--reticle-hud-space-2) var(--reticle-hud-space-2) var(--reticle-hud-space-2) var(--reticle-hud-space-3);
|
|
1327
|
+
border-bottom:1px solid var(--reticle-hud-border);background:none;}
|
|
1328
|
+
[${C}] .reticle-page-titles{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px;}
|
|
1329
|
+
[${C}] :is(.reticle-page-heading strong,.reticle-report-title,.reticle-settings-title){
|
|
1330
|
+
font-size:var(--reticle-hud-size-base);font-weight:600;letter-spacing:0;text-transform:none;color:var(--reticle-hud-text);}
|
|
1331
|
+
[${C}] .reticle-settings-title{flex:1;}
|
|
1332
|
+
[${C}] .reticle-page-heading .reticle-page-subtitle{padding:0;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
1333
|
+
font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1334
|
+
[${C}] .reticle-primary-btn{flex:none;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 var(--reticle-hud-space-3);
|
|
1335
|
+
border:0;border-radius:var(--reticle-hud-radius-pill);background:var(--reticle-hud-brand);color:#160b02;
|
|
1336
|
+
font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;white-space:nowrap;cursor:pointer;}
|
|
1337
|
+
[${C}] .reticle-primary-btn:hover{filter:brightness(1.08);}
|
|
1338
|
+
[${C}] .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);}
|
|
1339
|
+
/* One close control everywhere: a quiet 28px square, the same glyph weight on every page. */
|
|
1340
|
+
[${C}] :is([data-reticle-page-close],.reticle-report-close,.reticle-settings-close){flex:none;width:28px;height:28px;
|
|
1341
|
+
display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--reticle-hud-radius-sm);
|
|
1342
|
+
background:transparent;color:var(--reticle-hud-text-muted);font-size:18px;line-height:1;cursor:pointer;}
|
|
1343
|
+
[${C}] :is([data-reticle-page-close],.reticle-report-close,.reticle-settings-close):hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
1344
|
+
[${C}] .reticle-primary-btn[data-active="1"]{background:var(--reticle-hud-text);color:var(--reticle-hud-ground);}
|
|
1345
|
+
[${C}] .reticle-primary-btn svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;}
|
|
1346
|
+
/* One empty state for every page: what is missing, then how it gets filled. */
|
|
1347
|
+
[${C}] :is(.reticle-flows-empty,.reticle-annotation-empty){display:flex;flex-direction:column;align-items:center;gap:6px;
|
|
1348
|
+
margin:auto 0;padding:40px var(--reticle-hud-space-4);text-align:center;}
|
|
1349
|
+
[${C}] :is(.reticle-flows-empty,.reticle-annotation-empty) strong{font-size:var(--reticle-hud-size-base);font-weight:600;color:var(--reticle-hud-text);}
|
|
1350
|
+
[${C}] :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);}
|
|
1351
|
+
|
|
1352
|
+
/* \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 */
|
|
1353
|
+
[${St}="flows"] .reticle-all-flows{display:flex;flex-direction:column;gap:var(--reticle-hud-space-1);padding:var(--reticle-hud-space-2);}
|
|
1354
|
+
[${St}="flows"] .reticle-flow-row{display:flex;align-items:center;gap:var(--reticle-hud-space-3);width:100%;min-height:48px;
|
|
1355
|
+
padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);border:1px solid transparent;border-radius:var(--reticle-hud-radius-md);
|
|
1356
|
+
background:transparent;color:var(--reticle-hud-text);font:inherit;text-align:left;cursor:pointer;}
|
|
1357
|
+
[${St}="flows"] .reticle-flow-row:hover:not(:disabled){background:var(--reticle-hud-hover);border-color:var(--reticle-hud-border);}
|
|
1358
|
+
[${St}="flows"] .reticle-flow-row:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:1px;}
|
|
1359
|
+
[${St}="flows"] .reticle-flow-row:disabled{cursor:not-allowed;opacity:.5;}
|
|
1360
|
+
[${St}="flows"] .reticle-flow-play{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
|
|
1361
|
+
border-radius:50%;background:var(--reticle-hud-brand-soft);color:var(--reticle-hud-brand);font-size:10px;}
|
|
1362
|
+
[${St}="flows"] .reticle-flow-row:disabled .reticle-flow-play{background:var(--reticle-hud-inset);color:var(--reticle-hud-text-faint);}
|
|
1363
|
+
[${St}="flows"] .reticle-flow-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px;}
|
|
1364
|
+
[${St}="flows"] .reticle-flow-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1365
|
+
[${St}="flows"] .reticle-flow-meta{font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1366
|
+
|
|
1367
|
+
/* \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 */
|
|
1368
|
+
[${St}="annotations"] .reticle-annotations-tabs{gap:var(--reticle-hud-space-1);padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);}
|
|
1369
|
+
/* One segmented switch for every "show me this or that": Notes' list and Impact's scope. */
|
|
1370
|
+
[${C}] .reticle-segmented{display:inline-flex;flex:none;padding:2px;border-radius:var(--reticle-hud-radius-sm);background:var(--reticle-hud-inset);}
|
|
1371
|
+
[${St}="annotations"] .reticle-segmented{margin-right:auto;}
|
|
1372
|
+
[${C}] .reticle-segmented button{height:24px;padding:0 var(--reticle-hud-space-3);border:0;border-radius:4px;background:transparent;
|
|
1373
|
+
color:var(--reticle-hud-text-muted);font:inherit;font-size:var(--reticle-hud-size-xs);white-space:nowrap;cursor:pointer;}
|
|
1374
|
+
[${C}] .reticle-segmented button:hover{color:var(--reticle-hud-text);}
|
|
1375
|
+
[${C}] .reticle-segmented button[aria-pressed="true"]{background:var(--reticle-hud-border-strong);color:var(--reticle-hud-text);}
|
|
1376
|
+
[${C}] .reticle-report-head .reticle-segmented{margin-left:auto;}
|
|
1377
|
+
[${St}="annotations"] .reticle-annotations-tabs .reticle-copy-all{margin-left:0;color:var(--reticle-hud-text-muted);}
|
|
1378
|
+
[${St}="annotations"] .reticle-annotation-list{display:flex;flex-direction:column;}
|
|
1379
|
+
[${St}="annotations"] .reticle-annotation-item{padding:var(--reticle-hud-space-3) 2px;}
|
|
1380
|
+
|
|
1381
|
+
/* \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 */
|
|
1382
|
+
[${M}] .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);}
|
|
1383
|
+
[${M}] .reticle-report-top .reticle-report-streak{margin-bottom:0;}
|
|
1384
|
+
[${M}] .reticle-report-top .reticle-report-identity{margin:0 0 0 auto;padding:0;}
|
|
1385
|
+
[${M}] .reticle-report-hero-value{color:var(--reticle-hud-text);}
|
|
1386
|
+
[${M}] .reticle-report-card{background:var(--reticle-hud-inset);border-radius:var(--reticle-hud-radius-md);}
|
|
1387
|
+
[${M}] :is(.reticle-report-foot,.reticle-report-links){padding-left:var(--reticle-hud-space-3);padding-right:var(--reticle-hud-space-3);}
|
|
1388
|
+
|
|
1389
|
+
/* \u2500\u2500 Settings: the help links scroll with the rest instead of pinning a footer over the options. */
|
|
1390
|
+
[${N}] .reticle-settings-body .reticle-settings-foot{margin-top:0;border-top:0;}
|
|
1391
|
+
[${N}] .reticle-settings-row{flex-wrap:wrap;}
|
|
1392
|
+
[${N}] .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);}
|
|
1393
|
+
[${N}] .reticle-settings-help[aria-expanded="true"]{color:var(--reticle-hud-brand);}
|
|
1394
|
+
[${N}] .reticle-settings-reset{background:none;text-align:left;padding-left:14px;font-weight:500;}
|
|
1395
|
+
|
|
1396
|
+
/* \u2500\u2500 Toolbar: Settings and Exit are tabs like the four beside them, so they light the same way. \u2500\u2500 */
|
|
1397
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn{width:var(--reticle-hud-control-size);height:var(--reticle-hud-control-size);
|
|
1398
|
+
border-radius:var(--reticle-hud-radius-md);background:transparent;color:var(--reticle-hud-text-muted);}
|
|
1399
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn:hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
1400
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn[data-active="1"],
|
|
1401
|
+
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn[data-active="1"]:hover{background:var(--reticle-hud-inset);color:var(--reticle-hud-text);}
|
|
1402
|
+
|
|
1403
|
+
[${be}]{
|
|
1404
|
+
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:7;
|
|
1405
|
+
box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 24px));
|
|
1406
|
+
height:var(--reticle-rail-h);padding:0 var(--reticle-hud-space-3);align-items:center;
|
|
1407
|
+
border:1px solid color-mix(in srgb,var(--reticle-hud-brand) 30%,var(--reticle-hud-border));
|
|
1408
|
+
border-radius:var(--reticle-hud-radius-lg);
|
|
1409
|
+
background:linear-gradient(135deg,var(--reticle-hud-brand-soft),var(--reticle-hud-surface) 65%);
|
|
1410
|
+
box-shadow:${Jn};color:var(--reticle-hud-text);font-family:var(--reticle-font);
|
|
1411
|
+
pointer-events:auto;}
|
|
1412
|
+
${$w} [${be}]{bottom:auto;top:calc(100% + 8px);}
|
|
1413
|
+
${Mw} [${be}]{display:flex;}
|
|
1414
|
+
/* The capsule and the rail share a slot: the capsule is for "nothing open", the rail for "a page is". */
|
|
1415
|
+
${Mw} [${ut}]{display:none !important;}
|
|
1416
|
+
[${be}] > [hidden]{display:none !important;}
|
|
1417
|
+
[${be}] .reticle-rail-signin,[${be}] .reticle-rail-promo{flex:1;min-width:0;}
|
|
1418
|
+
[${be}] .reticle-rail-signin{display:flex;align-items:center;gap:var(--reticle-hud-space-3);}
|
|
1419
|
+
[${be}] .reticle-rail-copy{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.3;}
|
|
1420
|
+
[${be}] .reticle-rail-copy strong{font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1421
|
+
[${be}] .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);}
|
|
1422
|
+
[${be}] .reticle-rail-cta{flex:none;height:28px;padding:0 var(--reticle-hud-space-3);border:0;border-radius:var(--reticle-hud-radius-pill);
|
|
1423
|
+
background:var(--reticle-hud-brand);color:#160b02;font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;cursor:pointer;}
|
|
1424
|
+
[${be}] .reticle-rail-cta:hover{filter:brightness(1.08);}
|
|
1425
|
+
[${be}] .reticle-rail-cta:focus-visible{outline:2px solid var(--reticle-hud-text);outline-offset:2px;}
|
|
1426
|
+
/* The promo: one line of copy, its link, and dots. The carousel draws no frame of its own here. */
|
|
1427
|
+
[${be}] .reticle-carousel{margin:0;padding:0;border:0;background:none;}
|
|
1428
|
+
[${be}] .reticle-carousel-track{height:32px;overflow:hidden;}
|
|
1429
|
+
[${be}] :is(.reticle-carousel-close,.reticle-carousel-arrow,[data-reticle-carousel-position]){display:none;}
|
|
1430
|
+
[${be}] .reticle-carousel-controls{position:absolute;right:var(--reticle-hud-space-3);top:6px;height:auto;margin:0;}
|
|
1431
|
+
[${be}] .reticle-carousel-dots{position:static;display:flex;gap:4px;margin:0;}
|
|
1432
|
+
[${be}] .reticle-carousel-dot{width:10px;height:3px;padding:0;border:0;border-radius:99px;background:var(--reticle-hud-text-muted);opacity:.35;cursor:pointer;}
|
|
1433
|
+
[${be}] .reticle-carousel-dot[aria-current="true"]{background:var(--reticle-hud-brand);opacity:1;}
|
|
1434
|
+
[${be}] .reticle-promo-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding-right:0;}
|
|
1435
|
+
[${be}] .reticle-promo-kicker{display:none;}
|
|
1436
|
+
[${be}] .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;}
|
|
1437
|
+
[${be}] .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;}
|
|
1438
|
+
[${be}] .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;}
|
|
1439
|
+
[${be}] .reticle-promo-link:hover{text-decoration:underline;}
|
|
1440
|
+
`});var Bw,Gw=_(()=>{"use strict";Bw=`
|
|
1441
|
+
[data-reticle-overlay]{
|
|
1442
|
+
--reticle-hud-space-0:0px;
|
|
1443
|
+
--reticle-hud-space-1:4px;
|
|
1444
|
+
--reticle-hud-space-2:8px;
|
|
1445
|
+
--reticle-hud-space-3:12px;
|
|
1446
|
+
--reticle-hud-space-4:16px;
|
|
1447
|
+
--reticle-hud-radius-sm:6px;
|
|
1448
|
+
--reticle-hud-radius-md:10px;
|
|
1449
|
+
--reticle-hud-radius-lg:14px;
|
|
1450
|
+
--reticle-hud-radius-pill:9999px;
|
|
1451
|
+
--reticle-hud-size-xs:10px;
|
|
1452
|
+
--reticle-hud-size-sm:12px;
|
|
1453
|
+
--reticle-hud-size-base:13px;
|
|
1454
|
+
--reticle-hud-icon-size:18px;
|
|
1455
|
+
--reticle-hud-control-size:36px;
|
|
1456
|
+
--reticle-hud-control-gap:4px;
|
|
1457
|
+
/* Compact: the HUD sits over the user's own app. 400\xD7560 covered too much of it. */
|
|
1458
|
+
--reticle-hud-dock-width:320px;
|
|
1459
|
+
--reticle-hud-panel-height:440px;
|
|
1460
|
+
--reticle-hud-ground:#0b0b0c;
|
|
1461
|
+
--reticle-hud-surface:#151417;
|
|
1462
|
+
--reticle-hud-inset:#232227;
|
|
1463
|
+
--reticle-hud-hover:#1e1d22;
|
|
1464
|
+
--reticle-hud-border:#29282d;
|
|
1465
|
+
--reticle-hud-border-strong:#3a3941;
|
|
1466
|
+
--reticle-hud-text:#f5f3ef;
|
|
1467
|
+
--reticle-hud-text-muted:#a6a29a;
|
|
1468
|
+
--reticle-hud-text-faint:#8b867d;
|
|
1469
|
+
--reticle-hud-brand:#f0872e;
|
|
1470
|
+
--reticle-hud-brand-soft:#2a1b0d;
|
|
1471
|
+
--reticle-hud-ease:cubic-bezier(.4,0,.2,1);
|
|
1472
|
+
}
|
|
1473
|
+
`});var jw,Vw=_(()=>{"use strict";zi();Jg();ow();Og();lw();er();uw();ff();Ew();gf();cf();oE();cE();Gw();jw=`
|
|
1474
|
+
${Bw}
|
|
1108
1475
|
[data-reticle-overlay]{position:fixed;inset:0;pointer-events:none;z-index:${String(2147483600)};}
|
|
1109
1476
|
/**
|
|
1110
1477
|
* The session glow: the page itself says an agent is here, and BREATHES while it is working.
|
|
@@ -1154,103 +1521,102 @@ ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
1154
1521
|
[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
1522
|
[data-reticle-overlay] .reticle-hi-icon svg,
|
|
1156
1523
|
[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
|
-
|
|
1524
|
+
${Wv}
|
|
1525
|
+
${zv}
|
|
1526
|
+
${iw}
|
|
1527
|
+
${Yp}
|
|
1528
|
+
${dw}
|
|
1529
|
+
${cw}
|
|
1530
|
+
${mw}
|
|
1531
|
+
${gw}
|
|
1532
|
+
${Rw}
|
|
1533
|
+
${vv}
|
|
1534
|
+
${HR}
|
|
1535
|
+
${Lw}
|
|
1536
|
+
${YR}
|
|
1537
|
+
${Fw}`});function Lr(t){return t<1e3?String(Math.round(t)):t<1e6?`${Ww(t/1e3)}k`:`${Ww(t/1e6)}M`}function Ww(t){return t>=10?String(Math.round(t)):String(Math.round(t*10)/10)}function Ad(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 lE(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: ${Ad(t.records.longestRunMs)}.`),o.join(`
|
|
1538
|
+
`)}function zw(t){let e=new URLSearchParams({text:t,url:eo.SITE});return Kw.length>0&&e.set("via",Kw),`https://twitter.com/intent/tweet?${e.toString()}`}function Yw(){return`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(eo.SITE)}`}function dE(){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. ${eo.SITE}`}function qw(t){let e=Gx.safeParse(t);return e.success?e.data:void 0}var eo,Kw,Z,Xw,uE=_(()=>{"use strict";F();eo={DOCS:"https://docs.reticle.sh",SITE:"https://reticle.sh",GITHUB:"https://github.com/reticlehq/reticle",DISCORD:"https://discord.gg/BwAbzv9ZRz"},Kw="",Z={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",HERO_DEFECTS:"checks Reticle refused to pass",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 login",LOCAL_ONLY_TAIL:"keeps it, and lets a team see it.",UNLINKED:"Signed in, but this repo is not linked.",UNLINKED_ACTION:"reticle link",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",REFER:"Send to a friend"};Xw=[{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"}]});function n0(){let t=pe(K.REMOVE,se.MIN);return`<div ${M} class="reticle-report ${rn}" role="region" aria-label="Reticle impact" aria-hidden="true">
|
|
1169
1539
|
<div class="reticle-report-inner">
|
|
1170
1540
|
<div class="reticle-report-head">
|
|
1171
|
-
<span class="reticle-report-title">${
|
|
1172
|
-
<button type="button" ${
|
|
1173
|
-
<button type="button" ${
|
|
1541
|
+
<span class="reticle-report-title">${Z.TITLE}</span>
|
|
1542
|
+
<span class="reticle-segmented reticle-report-scopes" role="group" aria-label="${Z.SCOPE_LABEL}"><button type="button" ${_f}="${pE.PROJECT}" aria-pressed="true">${Z.PROJECT}</button><button type="button" ${_f}="${pE.MACHINE}" aria-pressed="false" title="${Z.GLOBAL_TITLE}">${Z.GLOBAL}</button></span>
|
|
1543
|
+
<button type="button" ${Sg} class="reticle-report-close" title="Close" aria-label="Close impact">${t}</button>
|
|
1174
1544
|
</div>
|
|
1175
1545
|
<div class="reticle-report-body" data-reticle-report-body></div>
|
|
1176
1546
|
<div class="reticle-report-foot">
|
|
1177
|
-
<button type="button" ${
|
|
1178
|
-
<button type="button" ${
|
|
1179
|
-
<button type="button" ${
|
|
1180
|
-
<button type="button" ${
|
|
1547
|
+
<button type="button" ${Qw} class="reticle-report-share">Post on X</button>
|
|
1548
|
+
<button type="button" ${Jw} class="reticle-report-share">LinkedIn</button>
|
|
1549
|
+
<button type="button" ${e0} class="reticle-report-share">${Z.COPY}</button>
|
|
1550
|
+
<button type="button" ${t0} class="reticle-report-share reticle-report-refer">${Z.REFER}</button>
|
|
1181
1551
|
</div>
|
|
1182
1552
|
<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="${
|
|
1553
|
+
<a data-reticle-link="docs" href="${eo.DOCS}" target="_blank" rel="noreferrer noopener">Docs</a>
|
|
1554
|
+
<a data-reticle-link="github" href="${eo.GITHUB}" target="_blank" rel="noreferrer noopener">GitHub</a>
|
|
1555
|
+
<a data-reticle-link="site" href="${eo.SITE}" target="_blank" rel="noreferrer noopener">reticle.sh</a>
|
|
1556
|
+
<a data-reticle-link="discord" href="${eo.DISCORD}" target="_blank" rel="noreferrer noopener">Discord</a>
|
|
1187
1557
|
</div>
|
|
1188
1558
|
</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=[xo(er(i.verdicts),te.VERDICTS),xo(er(i.calls),te.CALLS),xo(hl(i.drivingMs),te.DRIVING),xo(er(i.sessions),te.SESSIONS),xo(hl(t.records.longestRunMs),te.LONGEST),xo(er(i.tokensReturned),te.TOKENS),xo(er(t.savings.tokens.value),te.SAVED_TOKENS,t.savings.tokens.basis),xo(hl(t.savings.minutes.value*6e4),te.SAVED_MINUTES,t.savings.minutes.basis)].join("");return`${`<div class="reticle-report-identity">${ra(n,{dashboardUrl:e,projectName:r,verdicts:i.verdicts,defects:i.failed})}${Qh(e)}</div>`}${s}${a}${l}<div class="reticle-report-grid">${d}</div>${UD(t,e)}${$D(t)}${FD(t,e,n)}`}function FD(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 pR,fR,hR,mR,gR,PD,BD,uR,wi,sa,Ao,tr,Pr,aa,ct,bR,Yu,Nm,ml,qu,TR=T(()=>{"use strict";D();Xn();Lr();qh();il();it();vm();pR="data-reticle-report-scope",fR="data-reticle-share-x",hR="data-reticle-share-in",mR="data-reticle-share-copy",gR="data-reticle-refer",PD=1600;BD=1200,uR="data-syncing",qu=class{constructor(e={}){m(this,ct);m(this,wi);m(this,sa);m(this,Ao);m(this,tr);m(this,Pr,!1);m(this,aa);p(this,aa,e)}mount(e){p(this,Ao,e),p(this,wi,e.querySelector(`[${P}]`)??void 0),p(this,sa,e.querySelector("[data-reticle-report-body]")??void 0),e.querySelector(`[${Hh}]`)?.addEventListener("click",r=>{r.stopPropagation(),this.close()});let n=e.querySelector(`[${pR}]`);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,Yu).call(this)}),e.querySelector(`[${fR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,Nm).call(this,cR(this.shareText()))}),e.querySelector(`[${hR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,ml).call(this,this.shareText()),h(this,ct,Nm).call(this,lR())}),e.querySelector(`[${mR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,ml).call(this,this.shareText(),r.currentTarget)}),e.querySelector(`[${gR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,ml).call(this,Rm(),r.currentTarget)}),e.addEventListener("click",r=>{let i=r.target;if(!(i instanceof Element))return;let s=i.closest(`[${yi}]`);if(s!==null){r.stopPropagation(),h(this,ct,ml).call(this,de.SIGNIN_COMMAND,s);return}let a=i.closest(`[${Zh}]`);a!==null&&(r.stopPropagation(),c(this,aa).onSyncNow?.(),a.setAttribute(uR,"1"),setTimeout(()=>a.removeAttribute(uR),BD))})}setSnapshot(e){p(this,tr,e),this.isOpen()&&h(this,ct,Yu).call(this)}snapshot(){return c(this,tr)}isOpen(){return c(this,Ao)?.getAttribute(cn)==="1"}open(){c(this,Ao)!==void 0&&(c(this,aa).onBeforeOpen?.(),h(this,ct,Yu).call(this),c(this,Ao).setAttribute(cn,"1"),c(this,wi)?.setAttribute("aria-hidden","false"))}close(){c(this,Ao)?.setAttribute(cn,"0"),c(this,wi)?.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){return c(this,wi)?.contains(e)===!0}shareText(){let e=c(this,tr);return e===void 0?Rm():c(this,Pr)?ym(e.global):ym(e.project,e.projectName)}};wi=new WeakMap,sa=new WeakMap,Ao=new WeakMap,tr=new WeakMap,Pr=new WeakMap,aa=new WeakMap,ct=new WeakSet,bR=function(){let e=c(this,tr);if(e!==void 0)return c(this,Pr)?e.global:e.project},Yu=function(){let e=h(this,ct,bR).call(this);c(this,sa)!==void 0&&(c(this,sa).innerHTML=e===void 0?`<p class="reticle-report-empty">${te.EMPTY}</p>`:HD(e,c(this,tr)?.dashboardUrl,c(this,tr)?.account,c(this,tr)?.projectName))},Nm=function(e){window.open(e,"_blank","noopener,noreferrer")},ml=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},PD)}}});function SR(t,e){let n=Wy(t,e);return[...n===""?[]:[{id:_R.HARNESS,html:n}],{id:_R.FOUNDERS,html:Yy()}]}var _R,xR=T(()=>{"use strict";Ku();_m();_R={HARNESS:"harness",FOUNDERS:"founders"}});var Om,AR,wm,GD,yR,RR=T(()=>{"use strict";Om="Reticle",AR='<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"/>',wm=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${AR}</svg>`,GD=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${AR}</svg>`,yR=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${Om}" aria-expanded="false">${GD}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function VD(){try{return globalThis.sessionStorage.getItem(xu)==="1"}catch{return!1}}function wR(t){try{t?globalThis.sessionStorage.setItem(xu,"1"):globalThis.sessionStorage.removeItem(xu)}catch{}}function Pm(t){return t&&!VD()}var vR,jD,Cm,NR,OR,Im,Lm,km,Ee,lt,un,Ci,nr,ca,yt,la,da,Ii,Li,ki,Di,Mi,Pi,yo,rr,ua,pa,El,kt,Dm,CR,IR,Mm,LR,Xu,Zu,gl,$m=T(()=>{"use strict";et();TR();pm();il();oa();it();Ku();Am();xR();RR();mo();zh();Mu();Xn();Lr();Vu();oa();vR="reticle-toolbar-drag",jD=120,Cm="Annotate",NR="Minimise chat",OR="Open agent chat",Im="Impact",Lm="Settings",km="Exit",gl=class{constructor(e={}){m(this,kt);m(this,Ee);m(this,lt);m(this,un);m(this,Ci);m(this,nr);m(this,ca);m(this,yt);m(this,la);m(this,da);m(this,Ii,!1);m(this,Li,!1);m(this,ki);m(this,Di,!1);m(this,Mi);m(this,Pi);m(this,yo,new qu({onBeforeOpen:()=>{c(this,yt).close(),this.closeChat()},onSyncNow:()=>c(this,rr).onSyncNow?.()}));m(this,rr);m(this,ua);m(this,pa);m(this,El);m(this,Xu,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,Zu,e=>{if(e.key!=="Escape"||c(this,Ee)===void 0||e.defaultPrevented||Pl(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 al({...e.settings,onBeforeOpen:()=>{this.closeChat(),c(this,yo).close(),e.settings?.onBeforeOpen?.()}}))}paintHarness(e){c(this,yt).paintHarness(e)}paintAccount(e,n,r={}){p(this,ua,{account:e,dashboardUrl:n,details:r}),c(this,Ee)!==void 0&&(by(c(this,Ee),e,n,r),sm(c(this,Ee),e,n,r))}paintOffer(e){p(this,El,e),h(this,kt,Dm).call(this)}static dockHtml(e,n,r,i,s){let a=xi(V.ANNOTATE,ie.TOOLBAR),l=xi(V.CHART,ie.TOOLBAR),d=xi(V.GEAR,ie.TOOLBAR),u=Te(V.REMOVE,ie.TOOLBAR);return`<div ${j}>
|
|
1194
|
-
<div ${
|
|
1559
|
+
</div>`}function to(t,e,n){let r=n===void 0?"":`<span class="reticle-report-basis" title="${n}">${Z.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 KM(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">${Z.CHART}</span><div class="reticle-report-chart">${r}</div></div>`}function WM(t,e){var u;let n=((u=t.defects)!=null?u:[]).slice(0,Bx);if(n.length===0)return"";let r=e!==void 0&&ia(e),o=r?`<a class="reticle-report-defect-link" data-reticle-link="defect" href="${_e(e)}" target="_blank" rel="noreferrer noopener" title="${Z.DEFECT_LINK_TITLE}" aria-label="${Z.DEFECT_LINK_TITLE}">${pe(K.VIEW,se.SEND)}</a>`:"",a=n.map(p=>{let h=p.detail===void 0?"":`<span class="reticle-report-defect-detail">${_e(p.detail)}</span>`,m=p.source===void 0?"":`<span class="reticle-report-defect-source">${_e(p.source)}</span>`;return`<li class="reticle-report-defect"><span class="reticle-report-defect-title">${_e(p.title)}</span>${h}${m}${o}</li>`}).join(""),s=t.counts.failed>n.length,l=r?`<a class="reticle-report-defects-more" data-reticle-link="dashboard" href="${_e(e)}" target="_blank" rel="noreferrer noopener">${Z.DEFECTS_MORE}${s?` (${String(t.counts.failed)})`:""}</a>`:s?`<button type="button" data-reticle-defects-all ${Rr} class="reticle-report-defects-all" title="${Z.DEFECTS_SEE_ALL_TITLE}">${Z.DEFECTS_SEE_ALL} (${String(t.counts.failed)}) \u2192</button>`:"",d=Lg(e);return`<div class="reticle-report-defects-wrap"><div class="reticle-report-defects-head"><span class="reticle-report-section">${Z.DEFECTS}</span>${d}</div><ul class="reticle-report-defects">${a}</ul>${l}</div>`}function zM(t){if(t===void 0)return"";let e=a=>typeof t[a]=="number"?t[a]:0,n=t.status,r=n==="refused"?`${String(e("refused"))} refused`:n==="pending"?`${String(e("pending"))} waiting`:n==="on-platform"?`Synced \xB7 ${String(e("onPlatform"))}`:void 0;if(r===void 0)return"";let o=typeof t.said=="string"?t.said:"";return`<span class="reticle-sync-status" data-reticle-sync-status="${n}" title="${_e(o)}">${r}</span>`}function YM(t){var a,s;if(t===void 0)return"";let e=Xw.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="${Z.COVERAGE_HELP}"><span class="reticle-report-section">${Z.COVERAGE}</span><span class="reticle-report-coverage-value">${r}</span><div class="reticle-report-coverage-levels">${o}</div></div>`}function qM(t,e,n,r,o,a){let s=t.counts;if(s.calls===0)return`<p class="reticle-report-empty">${Z.EMPTY}</p>`;let l=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">${Z.STREAK}</span></span>`:"",d=`<div class="reticle-report-hero"><span class="reticle-report-hero-value">${Lr(s.failed)}</span><span class="reticle-report-hero-label">${Z.HERO_DEFECTS}</span></div>`,u=`<div class="reticle-report-verdicts" title="${Z.UNKNOWN_HELP}">
|
|
1560
|
+
<span class="reticle-report-verdict" data-kind="pass">${Lr(s.passed)} ${Z.PASSED}</span>
|
|
1561
|
+
<span class="reticle-report-verdict" data-kind="fail">${Lr(s.failed)} ${Z.FAILED}</span>
|
|
1562
|
+
<span class="reticle-report-verdict" data-kind="unknown">${Lr(s.unknown)} ${Z.UNKNOWN}</span>
|
|
1563
|
+
</div>`,p=[to(Lr(s.verdicts),Z.VERDICTS),to(Lr(s.calls),Z.CALLS),to(Ad(s.drivingMs),Z.DRIVING),to(Lr(s.sessions),Z.SESSIONS),to(Ad(t.records.longestRunMs),Z.LONGEST),to(Lr(s.tokensReturned),Z.TOKENS),to(Lr(t.savings.tokens.value),Z.SAVED_TOKENS,t.savings.tokens.basis),to(Ad(t.savings.minutes.value*6e4),Z.SAVED_MINUTES,t.savings.minutes.basis)].join(""),h=`<div class="reticle-report-identity">${Ys(n,{dashboardUrl:e,projectName:r,verdicts:s.verdicts,defects:s.failed})}${Lg(e)}${zM(a)}</div>`;return`<div class="reticle-report-top">${l}${h}</div>${d}${u}${YM(o)}<div class="reticle-report-grid">${p}</div>${WM(t,e)}${KM(t)}${XM(t,e,n)}`}function XM(t,e,n){if(e!==void 0||t.counts.verdicts<=0||n===void 0)return"";let[r,o,a]=n.signedIn?[Z.UNLINKED,Z.UNLINKED_ACTION,Z.UNLINKED_TAIL]:[Z.LOCAL_ONLY,Z.LOCAL_ONLY_ACTION,Z.LOCAL_ONLY_TAIL];return`<p class="reticle-report-local-only">${r} <code>${o}</code> ${a}</p>`}var _f,pE,Qw,Jw,e0,t0,VM,ZM,Zw,ma,ic,no,Cn,ro,oc,At,r0,xf,fE,yd,Sf,i0=_(()=>{"use strict";F();Zn();er();nd();qs();ot();uE();_f="data-reticle-report-scope",pE={PROJECT:"project",MACHINE:"machine"},Qw="data-reticle-share-x",Jw="data-reticle-share-in",e0="data-reticle-share-copy",t0="data-reticle-refer",VM=1600;ZM=1200,Zw="data-syncing",Sf=class{constructor(e={}){b(this,At);b(this,ma);b(this,ic);b(this,no);b(this,Cn);b(this,ro,!1);b(this,oc);f(this,oc,e)}mount(e){var r,o,a,s,l,d,u;f(this,no,e),f(this,ma,(r=e.querySelector(`[${M}]`))!=null?r:void 0),f(this,ic,(o=e.querySelector("[data-reticle-report-body]"))!=null?o:void 0),(a=e.querySelector(`[${Sg}]`))==null||a.addEventListener("click",p=>{p.stopPropagation(),this.close()});let n=e.querySelectorAll(`[${_f}]`);for(let p of n)p.addEventListener("click",h=>{h.stopPropagation(),f(this,ro,pE.MACHINE===p.getAttribute(_f));for(let m of n)m.setAttribute("aria-pressed",m===p?"true":"false");E(this,At,xf).call(this)});(s=e.querySelector(`[${Qw}]`))==null||s.addEventListener("click",p=>{p.stopPropagation(),E(this,At,fE).call(this,zw(this.shareText()))}),(l=e.querySelector(`[${Jw}]`))==null||l.addEventListener("click",p=>{p.stopPropagation(),E(this,At,yd).call(this,this.shareText()),E(this,At,fE).call(this,Yw())}),(d=e.querySelector(`[${e0}]`))==null||d.addEventListener("click",p=>{p.stopPropagation(),E(this,At,yd).call(this,this.shareText(),p.currentTarget)}),(u=e.querySelector(`[${t0}]`))==null||u.addEventListener("click",p=>{p.stopPropagation(),E(this,At,yd).call(this,dE(),p.currentTarget)}),e.addEventListener("click",p=>{var T,x;let h=p.target;if(!(h instanceof Element))return;let m=h.closest(`[${Rr}]`);if(m!==null){p.stopPropagation(),E(this,At,yd).call(this,ie.SIGNIN_COMMAND,m);return}let g=h.closest(`[${Cg}]`);g!==null&&(p.stopPropagation(),(x=(T=c(this,oc)).onSyncNow)==null||x.call(T),g.setAttribute(Zw,"1"),setTimeout(()=>g.removeAttribute(Zw),ZM))})}setSnapshot(e){f(this,Cn,e),this.isOpen()&&E(this,At,xf).call(this)}snapshot(){return c(this,Cn)}isOpen(){var e;return((e=c(this,no))==null?void 0:e.getAttribute(Wt))==="1"}open(){var e,n,r;c(this,no)!==void 0&&((n=(e=c(this,oc)).onBeforeOpen)==null||n.call(e),E(this,At,xf).call(this),c(this,no).setAttribute(Wt,"1"),(r=c(this,ma))==null||r.setAttribute("aria-hidden","false"))}close(){var e,n;(e=c(this,no))==null||e.setAttribute(Wt,"0"),(n=c(this,ma))==null||n.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){var n;return((n=c(this,ma))==null?void 0:n.contains(e))===!0}shareText(){let e=c(this,Cn);return e===void 0?dE():c(this,ro)?lE(e.global):lE(e.project,e.projectName)}};ma=new WeakMap,ic=new WeakMap,no=new WeakMap,Cn=new WeakMap,ro=new WeakMap,oc=new WeakMap,At=new WeakSet,r0=function(){let e=c(this,Cn);if(e!==void 0)return c(this,ro)?e.global:e.project},xf=function(){var n,r,o,a,s;let e=E(this,At,r0).call(this);c(this,ic)!==void 0&&(c(this,ic).innerHTML=e===void 0?`<p class="reticle-report-empty">${Z.EMPTY}</p>`:qM(e,(n=c(this,Cn))==null?void 0:n.dashboardUrl,(r=c(this,Cn))==null?void 0:r.account,(o=c(this,Cn))==null?void 0:o.projectName,c(this,ro)||(a=c(this,Cn))==null?void 0:a.coverage,c(this,ro)||(s=c(this,Cn))==null?void 0:s.sync))},fE=function(e){window.open(e,"_blank","noopener,noreferrer")},yd=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=Z.COPIED,window.setTimeout(()=>{n.textContent=a},VM)}}});function a0(t){return vd!=null||(vd=new Set([...QM,...Object.entries(JM).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),vd.has(t)}var QM,o0,JM,vd,s0=_(()=>{"use strict";QM=["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","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","settings-kill","feedback-email","feedback-call","workspace-btn","workspace-copy","mark-cancel","mark-send","harness-switch","flows-all","defects-all","see-logs","plan-close","plan-journey"],o0=["setting","check","settings-cycle","theme","tour-target","link","annotation-tab","chat-view-btn"],JM={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"]}});function r$(t){try{let e=new URL(t);return e.protocol!=="https:"?!1:e$.has(e.hostname)?!0:t$===e.hostname&&e.pathname.startsWith(n$)}catch{return!1}}var e$,t$,n$,hE,i$,Az,c0=_(()=>{"use strict";re();e$=new Set(["reticle.sh","www.reticle.sh","app.reticle.sh","docs.reticle.sh"]),t$="github.com",n$="/reticlehq/";hE=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(r$)}).optional()}),i$=i.object({signedIn:i.boolean().optional(),entitled:i.boolean().optional()}),Az=hE.extend({audience:i$.optional(),from:i.string().optional(),until:i.string().optional(),minSdk:i.string().optional(),weight:i.number().optional()})});var mE=_(()=>{"use strict";s0();c0()});function s$(t){let e=t.kicker===void 0?"":`<span class="reticle-promo-kicker">${_e(t.kicker)}</span>`,n=t.detail===void 0?"":`<span class="reticle-promo-detail">${_e(t.detail)}</span>`,r=t.cta===void 0?"":`<a data-reticle-promo-link class="reticle-promo-link" href="${_e(t.cta.url)}" target="_blank" rel="noopener noreferrer">${_e(t.cta.label)} \u2192</a>`;return{id:`${a$}${t.id}`,html:`<div class="reticle-promo-copy">${e}<strong class="reticle-promo-title">${_e(t.title)}</strong>${n}${r}</div>`}}function d0(t,e,n=[],r=nu){let o=hw(t,e),a=n.flatMap(s=>{let l=hE.safeParse(s);return l.success?[l.data]:[]});return[...o===""?[]:[{id:gE.OFFER,html:o}],...0<a.length?a.map(s$):o$(r)]}var l0,gE,o$,a$,u0=_(()=>{"use strict";ff();mE();nd();F();l0="/settings?group=billing",gE={HARNESS:"harness-journeys",REPLAY:"replay-confidence",OFFER:"harness-offer"},o$=t=>[{id:gE.HARNESS,html:`<div class="reticle-promo-copy"><span class="reticle-promo-kicker">RETICLE HARNESS</span><strong class="reticle-promo-title">Let Reticle drive your app for you</strong><span class="reticle-promo-detail">Describe a user; it drives the journey and saves it to replay.</span><a data-reticle-promo-link class="reticle-promo-link" href="${t}${l0}" target="_blank" rel="noopener noreferrer">Explore \u2192</a></div>`},{id:gE.REPLAY,html:`<div class="reticle-promo-copy"><span class="reticle-promo-kicker">FROM RUN TO REGRESSION</span><strong class="reticle-promo-title">Keep every journey replayable</strong><span class="reticle-promo-detail">Catch what changes before users do.</span><a data-reticle-promo-link class="reticle-promo-link" href="${t}${l0}" target="_blank" rel="noopener noreferrer">See how \u2192</a></div>`}],a$="notice-"});var c$,p0,EE,l$,f0,h0=_(()=>{"use strict";c$="Reticle",p0='<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"/>',EE=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${p0}</svg>`,l$=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${p0}</svg>`,f0=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${c$}" aria-expanded="false">${l$}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function xE(t,e,n=[],r){let o=t.querySelector(`[${Tf}]`);if(o===null)return;let a=!1;try{a=fw(window.localStorage)}catch{}let s;try{s=window.sessionStorage}catch{s=void 0}vw(o,d0(e,a,n,r),s)}function p$(){try{return globalThis.sessionStorage.getItem(Hp)==="1"}catch{return!1}}function b0(t){try{t?globalThis.sessionStorage.setItem(Hp,"1"):globalThis.sessionStorage.removeItem(Hp)}catch{}}function AE(t){return t&&!p$()}var m0,d$,g0,E0,bE,u$,TE,ge,yt,Ln,ga,ac,mt,vt,sc,cc,Ea,ba,kr,io,Ta,xa,Dr,rr,_a,lc,dc,wd,Ei,uc,zt,Af,_E,SE,T0,yf,vf,Rd,yE=_(()=>{"use strict";bt();i0();zg();qs();aa();ot();ff();gf();u0();cE();h0();zi();Ng();td();Zn();er();cf();aa();m0="reticle-toolbar-drag",d$=120,g0="Minimise chat",E0="Open agent chat",bE="Settings",u$="Reticle",TE="Exit";Rd=class{constructor(e={}){b(this,zt);b(this,ge);b(this,yt);b(this,Ln);b(this,ga);b(this,ac);b(this,mt);b(this,vt);b(this,sc);b(this,cc);b(this,Ea,!1);b(this,ba,!1);b(this,kr);b(this,io,!1);b(this,Ta);b(this,xa);b(this,Dr,new Sf({onBeforeOpen:()=>{c(this,mt).close(),this.closeChat()},onSyncNow:()=>{var e,n;return(n=(e=c(this,rr)).onSyncNow)==null?void 0:n.call(e)}}));b(this,rr);b(this,_a);b(this,lc);b(this,dc,[]);b(this,wd);b(this,Ei);b(this,uc);b(this,yf,e=>{if(c(this,ge)===void 0||c(this,yt)===void 0||!c(this,mt).isOpen())return;let n=e.target;n instanceof Node&&(c(this,yt).contains(n)||c(this,mt).contains(n)||c(this,mt).close())});b(this,vf,e=>{if(e.key!=="Escape"||c(this,ge)===void 0||e.defaultPrevented||Kd(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,mt).isOpen()){c(this,mt).close();return}this.isCollapsed()||this.collapse()}});f(this,rr,e),f(this,vt,new sf(n=>{var r;return(r=e.onHarness)==null?void 0:r.call(e,n)},()=>{c(this,vt).closePage(),this.closeChat(),c(this,Dr).open()},n=>{if(n==="activity"){c(this,vt).open(n),this.showChat();return}this.isCollapsed()&&this.expand(),this.closeChat(),c(this,mt).close(),c(this,Dr).close()})),f(this,mt,new id({...e.settings,onBeforeOpen:()=>{var n,r;this.closeChat(),c(this,vt).closePage(),c(this,Dr).close(),(r=(n=e.settings)==null?void 0:n.onBeforeOpen)==null||r.call(n)}}))}paintHarness(e){f(this,wd,e),c(this,mt).paintHarness(e),c(this,vt).paintHarness(e),E(this,zt,_E).call(this)}paintImpact(e){c(this,vt).paintImpact(e)}paintAnnotations(e){c(this,vt).paintAnnotations(e)}openView(e){e==="activity"?this.showChat():(this.isCollapsed()&&this.expand(),this.closeChat(),c(this,mt).close(),c(this,Dr).close()),c(this,vt).open(e)}paintAccount(e,n,r={}){f(this,_a,{account:e,dashboardUrl:n,details:r}),c(this,ge)!==void 0&&(OR(c(this,ge),e,n,r),Bg(c(this,ge),e,n,r),Uw(c(this,ge),e),c(this,vt).paintAccount(e),E(this,zt,_E).call(this))}paintOffer(e,n=[]){f(this,lc,e),f(this,dc,n),f(this,Ei,E(this,zt,Af).call(this)),c(this,ge)!==void 0&&xE(c(this,ge),e,n,c(this,Ei))}static dockHtml(e,n,r,o,a){let s=Np(K.GEAR,se.TOOLBAR),l=pe(K.REMOVE,se.TOOLBAR);return`<div ${C} role="complementary" aria-label="Reticle">
|
|
1564
|
+
<div ${dt} class="reticle-chat-panel ${rn}" role="region" aria-label="Agent Log" aria-hidden="true">
|
|
1195
1565
|
<div class="reticle-chat-head">
|
|
1196
|
-
<span class="reticle-chat-brand">${
|
|
1197
|
-
<span ${
|
|
1566
|
+
<span class="reticle-chat-brand">${EE}<span class="reticle-chat-brandname">${u$}</span></span>
|
|
1567
|
+
<span ${Kg} class="reticle-head-account"></span>
|
|
1198
1568
|
</div>
|
|
1199
|
-
<button type="button" ${
|
|
1569
|
+
<button type="button" ${_g} class="reticle-chat-min" title="${g0}" aria-label="${g0}">${pe(K.CARET_DOWN,se.TOOLBAR)}</button>
|
|
1200
1570
|
${e}
|
|
1201
1571
|
<span class="reticle-tally" data-reticle-tally hidden></span>
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1572
|
+
<section class="reticle-chat-view" role="region" aria-label="Agent Log">
|
|
1573
|
+
${n}
|
|
1574
|
+
<div class="${Vp}"><div ${r}></div></div>
|
|
1575
|
+
${o}
|
|
1576
|
+
</section>
|
|
1577
|
+
${a}
|
|
1206
1578
|
</div>
|
|
1207
|
-
|
|
1208
|
-
|
|
1579
|
+
${MR}
|
|
1580
|
+
${PR}
|
|
1581
|
+
<button type="button" ${ut} class="reticle-chat-pill" title="${E0}" aria-label="${E0}">
|
|
1582
|
+
${EE}
|
|
1209
1583
|
<span class="reticle-chat-pill-text" data-reticle-chat-pill-text></span>
|
|
1210
1584
|
<span class="reticle-chat-pill-time" data-reticle-chat-pill-time></span>
|
|
1211
|
-
<span class="reticle-chat-pill-caret" aria-hidden="true">${
|
|
1585
|
+
<span class="reticle-chat-pill-caret" aria-hidden="true">${pe(K.CARET_DOWN,se.TOOLBAR)}</span>
|
|
1212
1586
|
</button>
|
|
1213
|
-
${
|
|
1214
|
-
${
|
|
1587
|
+
${Gg()}
|
|
1588
|
+
${n0()}
|
|
1589
|
+
${Hw}
|
|
1215
1590
|
<div data-reticle-hud>
|
|
1216
1591
|
<div class="reticle-hud-deco" aria-hidden="true"></div>
|
|
1217
|
-
${
|
|
1218
|
-
<div class="reticle-toolbar ${
|
|
1219
|
-
<div class="reticle-toolbar-actions">${Ny}</div>
|
|
1220
|
-
<span class="reticle-tb-sep" aria-hidden="true"></span>
|
|
1592
|
+
${f0}
|
|
1593
|
+
<div class="reticle-toolbar ${m0}" role="toolbar" aria-label="Reticle controls">
|
|
1221
1594
|
<div class="reticle-toolbar-chrome">
|
|
1595
|
+
${$R}
|
|
1222
1596
|
<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" ${Su} class="reticle-tb-btn reticle-tb-btn--toggle" title="${Im}" aria-label="${Im}" aria-pressed="false" data-active="0">${l}</button>
|
|
1228
|
-
<span class="reticle-tb-tip">${Im}</span>
|
|
1229
|
-
</div>
|
|
1230
|
-
<div class="reticle-tb-wrap">
|
|
1231
|
-
<button type="button" ${el} class="reticle-tb-btn reticle-tb-btn--toggle" title="${Lm}" aria-label="${Lm}" aria-pressed="false" data-active="0">${d}</button>
|
|
1232
|
-
<span class="reticle-tb-tip">${Lm}</span>
|
|
1597
|
+
<button type="button" ${ql} class="reticle-tb-btn reticle-tb-btn--toggle" title="${bE}" aria-label="${bE}" aria-pressed="false" data-active="0">${s}</button>
|
|
1598
|
+
<span class="reticle-tb-tip">${bE}</span>
|
|
1233
1599
|
</div>
|
|
1234
1600
|
<div class="reticle-tb-wrap">
|
|
1235
|
-
<button type="button" data-reticle-min-btn class="reticle-tb-btn" title="${
|
|
1236
|
-
<span class="reticle-tb-tip">${
|
|
1601
|
+
<button type="button" data-reticle-min-btn class="reticle-tb-btn" title="${TE}" aria-label="${TE}">${l}</button>
|
|
1602
|
+
<span class="reticle-tb-tip">${TE}<span class="reticle-tb-kbd">Esc</span></span>
|
|
1237
1603
|
</div>
|
|
1238
1604
|
</div>
|
|
1239
1605
|
</div>
|
|
1240
1606
|
</div>
|
|
1241
|
-
</div>`}get report(){return c(this,yo)}isAnnotateOn(){return c(this,Di)}setAnnotateOn(e){p(this,Di,e),c(this,ki)?.setAttribute("aria-pressed",e?"true":"false"),c(this,ki)?.setAttribute("data-active",e?"1":"0")}mount(e){p(this,Pi,new AbortController);let{signal:n}=c(this,Pi);p(this,Ee,e),p(this,lt,e.querySelector(`[${j}]`)??void 0);let r=e.querySelector(`[${wA}]`);p(this,un,r instanceof HTMLButtonElement?r:void 0);let i=e.querySelector(`[${Jc}]`);p(this,Ci,i instanceof HTMLElement?i:void 0);let s=e.querySelector(`[${Qc}]`);p(this,nr,s instanceof HTMLElement?s:void 0);let a=e.querySelector(`[${$h}]`);p(this,ki,a instanceof HTMLButtonElement?a:void 0),c(this,ki)?.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),this.setAnnotateOn(!c(this,Di)),c(this,rr).onAnnotateToggle?.(c(this,Di))},{signal:n}),e.querySelector(`[${xt}]`)?.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),this.showChat()},{signal:n}),e.querySelector(`[${Uh}]`)?.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),this.closeChat()},{signal:n});let u=e.querySelector("[data-reticle-min-btn]");p(this,ca,u instanceof HTMLButtonElement?u:void 0),e.setAttribute(ke,"1"),e.setAttribute(Ge,"0"),e.removeAttribute(qe),c(this,yt).mount(e),c(this,yo).mount(e),p(this,Mi,new MutationObserver(()=>h(this,kt,Mm).call(this))),c(this,Mi).observe(e,{attributes:!0,attributeFilter:[qe,Ge,cn]}),h(this,kt,Mm).call(this),e.querySelector(`[${Su}]`)?.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),c(this,yo).toggle()},{signal:n}),c(this,un)?.addEventListener("click",g=>{if(g.stopPropagation(),c(this,Li)){p(this,Li,!1);return}this.expand()},{signal:n}),c(this,ca)?.addEventListener("click",g=>{g.stopPropagation(),this.collapse()},{signal:n}),c(this,nr)?.addEventListener("click",g=>{g.stopPropagation(),this.toggleChat()},{signal:n});let f=e.querySelector(`.${vR}`),E=[c(this,un),f].filter(g=>g instanceof HTMLElement);if(c(this,lt)!==void 0&&E.length>0&&(p(this,la,ZA(c(this,lt),E,{onDragMove:()=>{p(this,Li,!0)},onDragEnd:g=>{g&&this.isCollapsed()&&p(this,Li,!0)}})),p(this,da,XA(c(this,lt),e))),document.addEventListener("pointerdown",c(this,Xu),{signal:n}),document.addEventListener("keydown",c(this,Zu),{signal:n}),p(this,pa,ey(e)),c(this,ua)!==void 0){let g=c(this,ua);this.paintAccount(g.account,g.dashboardUrl,g.details)}h(this,kt,Dm).call(this)}teardown(){var e,n,r;(e=c(this,pa))==null||e.call(this),p(this,pa,void 0),c(this,Pi)?.abort(),p(this,Pi,void 0),c(this,Mi)?.disconnect(),p(this,Mi,void 0),(n=c(this,la))==null||n.call(this),p(this,la,void 0),(r=c(this,da))==null||r.call(this),p(this,da,void 0),c(this,yt).teardown(),p(this,Ee,void 0),p(this,lt,void 0),p(this,un,void 0),p(this,Ci,void 0),p(this,nr,void 0),p(this,ca,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,Ii)||(h(this,kt,LR).call(this),c(this,Ee).setAttribute(ke,"0"),wR(!1),c(this,un)!==void 0&&c(this,un).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,Ii,!1),this.closeChat(),c(this,yt).close(),c(this,Ee).setAttribute(ke,"1"),wR(!0),c(this,un)!==void 0&&c(this,un).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&&mA(e),c(this,Ci)?.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,Ci)?.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,yo).close(),this.openChat()}pulseFab(e){c(this,un)?.setAttribute("data-pulse",e?"1":"0")}};Ee=new WeakMap,lt=new WeakMap,un=new WeakMap,Ci=new WeakMap,nr=new WeakMap,ca=new WeakMap,yt=new WeakMap,la=new WeakMap,da=new WeakMap,Ii=new WeakMap,Li=new WeakMap,ki=new WeakMap,Di=new WeakMap,Mi=new WeakMap,Pi=new WeakMap,yo=new WeakMap,rr=new WeakMap,ua=new WeakMap,pa=new WeakMap,El=new WeakMap,kt=new WeakSet,Dm=function(){let e=c(this,Ee)?.querySelector(`[${qc}]`);if(!(e instanceof HTMLElement))return;let n=Ky(h(this,kt,IR).call(this));nR(e,SR(c(this,El),n),h(this,kt,CR).call(this))},CR=function(){try{return globalThis.sessionStorage}catch{return}},IR=function(){try{return globalThis.localStorage}catch{return}},Mm=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(Qc,e.getAttribute(qe)==="1"),n(el,e.getAttribute(Ge)==="1"),n(Su,e.getAttribute(cn)==="1")},LR=function(){p(this,Ii,!0),window.setTimeout(()=>{p(this,Ii,!1)},jD)},Xu=new WeakMap,Zu=new WeakMap});function kR(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===$t.PASS?n.passes+=1:r.result===$t.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:ro(),log:t.runLog.map(r=>({...r}))}}var DR=T(()=>{"use strict";mo();oo()});function MR(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function PR(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 $R(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 Um(t){return new Promise(e=>z(e,t))}var UR=T(()=>{"use strict";Ve()});var wn,$i,Cn,In,Ro,fa,ha,Ui,bl,ma,Tl,pn,HR,Hm,Fm,FR,Qu,BR=T(()=>{"use strict";D();Ve();it();Qu=class{constructor(e){m(this,pn);m(this,wn,Nn.IDLE);m(this,$i,0);m(this,Cn);m(this,In);m(this,Ro);m(this,fa);m(this,ha);m(this,Ui);m(this,bl);m(this,ma);m(this,Tl);p(this,ha,e.now),p(this,Ui,e.idleAfterMs),p(this,bl,e.glowFadeMs),p(this,ma,e.borderMode),p(this,Tl,e.setMode)}setElements(e,n){p(this,Ro,e),p(this,fa,n)}phase(){return c(this,wn)}lastActivityMs(){return c(this,$i)}resetActivity(e){p(this,$i,e)}markActivity(e=c(this,ha).call(this)){p(this,$i,e),(c(this,wn)===Nn.IDLE||c(this,wn)===Nn.FADING)&&h(this,pn,HR).call(this),h(this,pn,Hm).call(this)}scheduleIdle(){h(this,pn,Hm).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,$i=new WeakMap,Cn=new WeakMap,In=new WeakMap,Ro=new WeakMap,fa=new WeakMap,ha=new WeakMap,Ui=new WeakMap,bl=new WeakMap,ma=new WeakMap,Tl=new WeakMap,pn=new WeakSet,HR=function(){c(this,In)!==void 0&&(pe(c(this,In)),p(this,In,void 0)),p(this,wn,Nn.BUSY),c(this,ma)===Ai.SESSION?c(this,Ro)?.setAttribute(Zc,SA):c(this,Ro)?.setAttribute(St,Cr),c(this,fa)?.setAttribute(St,Cr)},Hm=function(){c(this,Cn)!==void 0&&pe(c(this,Cn)),p(this,Cn,z(()=>h(this,pn,Fm).call(this),c(this,Ui)))},Fm=function(){if(p(this,Cn,void 0),c(this,wn)!==Nn.BUSY)return;let e=c(this,ha).call(this)-c(this,$i);if(e<c(this,Ui)){p(this,Cn,z(()=>h(this,pn,Fm).call(this),c(this,Ui)-e));return}h(this,pn,FR).call(this)},FR=function(){p(this,wn,Nn.FADING),c(this,ma)===Ai.SESSION?c(this,Ro)?.setAttribute(Zc,mu):c(this,Ro)?.setAttribute(St,Eo),c(this,fa)?.setAttribute(St,Eo),c(this,Tl).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,bl)))}});function GR(t,e,n){let r=KD(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 KD(t){let e=0,n=0;for(let r of t)r.result===$t.PASS?e+=1:r.result===$t.FAIL&&(n+=1);return{passes:e,fails:n}}var jR=T(()=>{"use strict";mo();Xn()});function KR(t){return Bm??(Bm=new Set([...WD,...Object.entries(zD).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),Bm.has(t)}var WD,VR,zD,Bm,WR=T(()=>{"use strict";WD=["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"],VR=["setting","check","settings-cycle","theme","tour-target","link"],zD={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 zR=T(()=>{"use strict";WR()});function qR(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(YR))continue;let n=e.name.slice(YR.length),r=VR.includes(n)?`${n}.${e.value}`:n;if(KR(r))return r}}function qD(t){for(let e of t)if(e instanceof Element&&qR(e)!==void 0)return e}function XD(t){return t.getAttribute(ke)==="1"?{view:Zr.BUBBLE,panel:Qr.NONE}:t.getAttribute(Ge)==="1"?{view:Zr.EXPANDED,panel:Qr.SETTINGS}:t.getAttribute(cn)==="1"?{view:Zr.EXPANDED,panel:Qr.REPORT}:t.getAttribute(qe)==="1"?{view:Zr.EXPANDED,panel:Qr.CHAT}:{view:Zr.COLLAPSED,panel:Qr.NONE}}function XR(t,e,n){let r=d=>{try{n(d)}catch{}},i=d=>{let u=qD(d.composedPath());if(u===void 0||!qi(u))return;let f=qR(u);if(f!==void 0){if(!YD.has(u.getAttribute("role")??"")){r({control:f});return}z(()=>{let E=u.getAttribute("aria-checked")==="true";r({control:f,toggle:E?Qa.ON:Qa.OFF})},0)}},s="",a=()=>{let d=XD(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,cn]}),a(),()=>{t.removeEventListener("click",i,!0),l.disconnect()}}var YR,YD,ZR=T(()=>{"use strict";zR();D();et();Ve();it();YR="data-reticle-",YD=new Set(["switch","checkbox"])});var sv={};Ba(sv,{GlowPhase:()=>Nn,LOG_KIND:()=>Ke,LOG_RESULT:()=>$t,Presenter:()=>Gm});var ZD,ba,Ce,$r,Hi,Sl,Fi,Ur,Ta,_a,vo,Hr,Bi,Sa,xa,fn,Aa,xl,Gi,Wt,Fr,dt,ya,Al,yl,ji,Br,Ln,Gr,kn,No,Oo,Ra,va,zt,Ie,Na,Y,QR,ga,jm,JR,_l,Vm,ev,tv,nv,rv,ov,Ea,iv,Gm,av=T(()=>{"use strict";D();gt();rh();mh();Ve();mo();iR();$m();vm();it();DR();UR();BR();Xn();jR();Vu();oa();$m();ZR();it();mo();ZD=1600,Gm=class{constructor(e={}){m(this,Y);m(this,ba);m(this,Ce);m(this,$r);m(this,Hi);m(this,Sl);m(this,Fi);m(this,Ur);m(this,Ta);m(this,_a);m(this,vo);m(this,Hr);m(this,Bi);m(this,Sa,{passes:0,fails:0});m(this,xa,Me.IDLE);m(this,fn);m(this,Aa);m(this,xl);m(this,Gi);m(this,Wt);m(this,Fr,"");m(this,dt);m(this,ya);m(this,Al);m(this,yl);m(this,ji);m(this,Br,[]);m(this,Ln,!1);m(this,Gr);m(this,kn);m(this,No);m(this,Oo);m(this,Ra);m(this,va);m(this,zt);m(this,Ie);m(this,Na);p(this,ba,xA(e.paceMs)),p(this,fn,e.now??Fd),p(this,Aa,e.heartbeatMs??yA),p(this,xl,e.idleNoticeMs??RA),p(this,ya,e.idleEndMs??vA),p(this,Al,e.sessionId??""),p(this,Gi,e.border??_A),p(this,Wt,new Qu({now:c(this,fn),idleAfterMs:e.idleAfterMs??AA,glowFadeMs:e.glowFadeMs??OA,borderMode:c(this,Gi),setMode:n=>this.setMode(n)})),p(this,Gr,Mh(e.logMax)),p(this,Oo,e.onControl),p(this,Ra,e.onHudUse),p(this,zt,new ju({emit:(n,r)=>{var i;return(i=c(this,Oo))==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??Ry,runState:()=>this.runState(),clearRunLog:()=>h(this,Y,nv).call(this),onStateChange:()=>h(this,Y,ga).call(this)})),p(this,Ie,new gl({onChatOpen:()=>c(this,Ie).pulseFab(!1),onExpand:()=>h(this,Y,ga).call(this),onAnnotateToggle:()=>h(this,Y,ga).call(this),onCollapse:()=>h(this,Y,ga).call(this),onSyncNow:()=>{var n;return(n=c(this,Oo))==null?void 0:n.call(this,{kind:$n.SYNC})},settings:{onBeforeOpen:()=>{c(this,Ie).isCollapsed()&&c(this,Ie).expand()},onHideUntilRestart:()=>h(this,Y,rv).call(this),onSettingsChange:n=>h(this,Y,ov).call(this,n),onHarness:n=>{var r;return(r=c(this,Oo))==null?void 0:r.call(this,{kind:$n.HARNESS,text:n?"on":"off"})}}}))}setControlHandler(e){p(this,Oo,e)}get state(){return c(this,zt).state}get sessionActive(){return c(this,Ln)}setState(e,n,r){c(this,zt).setState(e,n,r)}refilterFlows(){c(this,zt).refilterFlows()}handlePush(e){let n=e.args;if(e.name===C.FLOWS)return void c(this,zt).setFlows(n.flows);if(e.name===C.IMPACT){let a=dR(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;OE(r)&&this.setState(r,s,ob(i)?i:void 0)}get logMax(){return c(this,Gr)}set logMax(e){p(this,Gr,Mh(e)),h(this,Y,iv).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=oR,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">${go.READY}</span><span class="reticle-chip" data-reticle-chip></span></div>`;n.innerHTML=`
|
|
1242
|
-
${
|
|
1607
|
+
</div>`}get report(){return c(this,Dr)}isAnnotateOn(){return c(this,io)}setAnnotateOn(e){var r,o,a,s,l,d,u;f(this,io,e),(r=c(this,kr))==null||r.setAttribute("aria-pressed",e?"true":"false"),(o=c(this,kr))==null||o.setAttribute("data-active",e?"1":"0"),(a=c(this,kr))==null||a.setAttribute("aria-label",e?"Stop adding notes":"Add notes"),(s=c(this,kr))==null||s.setAttribute("title",e?"Stop adding notes":"Add notes");let n=(l=c(this,kr))==null?void 0:l.querySelector("[data-reticle-notes-toggle-label]");n!=null&&(n.textContent=e?"Stop adding notes":"Add notes"),(u=(d=c(this,ge))==null?void 0:d.querySelector('[data-reticle-chat-view-btn="annotations"]'))==null||u.setAttribute("data-capture",e?"1":"0")}mount(e){var h,m,g,T;f(this,xa,new AbortController);let{signal:n}=c(this,xa);f(this,ge,e),f(this,yt,(h=e.querySelector(`[${C}]`))!=null?h:void 0);let r=e.querySelector(`[${Uv}]`);f(this,Ln,r instanceof HTMLButtonElement?r:void 0);let o=e.querySelector(`[${dt}]`);f(this,ga,o instanceof HTMLElement?o:void 0);let a=e.querySelector(`[${Pp}]`);f(this,kr,a instanceof HTMLButtonElement?a:void 0),this.setAnnotateOn(c(this,io)),(m=c(this,kr))==null||m.addEventListener("click",x=>{var y,A;x.preventDefault(),x.stopPropagation(),this.setAnnotateOn(!c(this,io)),(A=(y=c(this,rr)).onAnnotateToggle)==null||A.call(y,c(this,io))},{signal:n});let s=e.querySelector(`[${ut}]`);s==null||s.addEventListener("click",x=>{x.preventDefault(),x.stopPropagation(),this.showChat()},{signal:n});let l=e.querySelector(`[${_g}]`);l==null||l.addEventListener("click",x=>{x.preventDefault(),x.stopPropagation(),this.closeChat()},{signal:n});let d=e.querySelector("[data-reticle-min-btn]");f(this,ac,d instanceof HTMLButtonElement?d:void 0),e.setAttribute(Oe,"1"),e.setAttribute(We,"0"),e.removeAttribute(Qe),c(this,mt).mount(e),c(this,Dr).mount(e),c(this,vt).mount(e),f(this,Ei,E(this,zt,Af).call(this)),xE(e,c(this,lc),c(this,dc),c(this,Ei)),f(this,Ta,new MutationObserver(()=>E(this,zt,SE).call(this))),c(this,Ta).observe(e,{attributes:!0,attributeFilter:[Qe,We,Wt]}),E(this,zt,SE).call(this),(g=c(this,Ln))==null||g.addEventListener("click",x=>{if(x.stopPropagation(),c(this,ba)){f(this,ba,!1);return}this.expand()},{signal:n}),(T=c(this,ac))==null||T.addEventListener("click",x=>{x.stopPropagation(),this.collapse()},{signal:n});let u=e.querySelector(`.${m0}`),p=[c(this,Ln),u].filter(x=>x instanceof HTMLElement);if(c(this,yt)!==void 0&&p.length>0&&(f(this,sc,sR(c(this,yt),p,{onDragMove:()=>{f(this,ba,!0)},onDragEnd:x=>{f(this,ba,x&&this.isCollapsed())}})),f(this,cc,aR(c(this,yt),e))),document.addEventListener("pointerdown",c(this,yf),{signal:n}),document.addEventListener("keydown",c(this,vf),{signal:n}),f(this,uc,dR(e,()=>{var x,y;return(y=(x=c(this,rr)).onSignIn)==null?void 0:y.call(x)})),c(this,_a)!==void 0){let x=c(this,_a);this.paintAccount(x.account,x.dashboardUrl,x.details)}}teardown(){var e,n,r,o,a;(e=c(this,uc))==null||e.call(this),f(this,uc,void 0),(n=c(this,xa))==null||n.abort(),f(this,xa,void 0),(r=c(this,Ta))==null||r.disconnect(),f(this,Ta,void 0),(o=c(this,sc))==null||o.call(this),f(this,sc,void 0),(a=c(this,cc))==null||a.call(this),f(this,cc,void 0),c(this,mt).teardown(),c(this,vt).teardown(),f(this,ge,void 0),f(this,yt,void 0),f(this,Ln,void 0),f(this,ga,void 0),f(this,ac,void 0)}isCollapsed(){var e;return((e=c(this,ge))==null?void 0:e.getAttribute(Oe))==="1"}isChatOpen(){var e;return((e=c(this,ge))==null?void 0:e.getAttribute(Qe))==="1"}expand(){var e,n;c(this,ge)===void 0||!this.isCollapsed()||c(this,Ea)||(E(this,zt,T0).call(this),c(this,ge).setAttribute(Oe,"0"),b0(!1),c(this,Ln)!==void 0&&c(this,Ln).setAttribute("aria-expanded","true"),(n=(e=c(this,rr)).onExpand)==null||n.call(e),this.openChat(),c(this,yt)!==void 0&&tr(c(this,yt),c(this,ge)))}collapse(){var e,n;c(this,ge)!==void 0&&(f(this,Ea,!1),this.closeChat(),c(this,mt).close(),c(this,ge).setAttribute(Oe,"1"),b0(!0),c(this,Ln)!==void 0&&c(this,Ln).setAttribute("aria-expanded","false"),(n=(e=c(this,rr)).onCollapse)==null||n.call(e))}openChat(){var n,r,o;if(c(this,ge)===void 0||(this.isCollapsed()&&this.expand(),c(this,mt).close(),c(this,vt).closePage(),c(this,vt).open("activity"),this.isChatOpen()))return;c(this,ge).setAttribute(Qe,"1");let e=c(this,ge).querySelector("[data-reticle-log]");e!==null&&Rv(e),(n=c(this,ga))==null||n.setAttribute("aria-hidden","false"),(o=(r=c(this,rr)).onChatOpen)==null||o.call(r),c(this,yt)!==void 0&&tr(c(this,yt),c(this,ge))}closeChat(){var e,n,r;c(this,ge)===void 0||!this.isChatOpen()||(c(this,ge).removeAttribute(Qe),(e=c(this,ga))==null||e.setAttribute("aria-hidden","true"),(r=(n=c(this,rr)).onChatClose)==null||r.call(n),c(this,yt)!==void 0&&tr(c(this,yt),c(this,ge)))}toggleChat(){this.isChatOpen()?this.closeChat():this.showChat()}showChat(){c(this,Dr).close(),this.openChat()}pulseFab(e){var n;(n=c(this,Ln))==null||n.setAttribute("data-pulse",e?"1":"0")}};ge=new WeakMap,yt=new WeakMap,Ln=new WeakMap,ga=new WeakMap,ac=new WeakMap,mt=new WeakMap,vt=new WeakMap,sc=new WeakMap,cc=new WeakMap,Ea=new WeakMap,ba=new WeakMap,kr=new WeakMap,io=new WeakMap,Ta=new WeakMap,xa=new WeakMap,Dr=new WeakMap,rr=new WeakMap,_a=new WeakMap,lc=new WeakMap,dc=new WeakMap,wd=new WeakMap,Ei=new WeakMap,uc=new WeakMap,zt=new WeakSet,Af=function(){var e,n;return Zg(c(this,wd),(n=(e=c(this,_a))==null?void 0:e.account)!=null?n:{signedIn:!1})},_E=function(){let e=E(this,zt,Af).call(this);c(this,ge)===void 0||e===c(this,Ei)||(f(this,Ei,e),xE(c(this,ge),c(this,lc),c(this,dc),e))},SE=function(){let e=c(this,ge);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(Lp,e.getAttribute(Qe)==="1"),n(ql,e.getAttribute(We)==="1");let r=e.querySelector("[data-reticle-chat-impact]");if(r!==null){let o=e.getAttribute(Wt)==="1";r.setAttribute("data-active",o?"1":"0"),o?r.setAttribute("aria-current","page"):r.removeAttribute("aria-current")}},T0=function(){f(this,Ea,!0),window.setTimeout(()=>{f(this,Ea,!1)},d$)},yf=new WeakMap,vf=new WeakMap});function x0(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===Ke.READ?n.reads+=1:a.kind===Ke.ACT?n.acts+=1:a.kind===Ke.NARRATION?n.narrations+=1:a.kind===Ke.HUMAN&&(n.human+=1),a.result===en.PASS?n.passes+=1:a.result===en.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:$i(),log:t.runLog.map(a=>({...a}))}}var _0=_(()=>{"use strict";zi();Pi()});function S0(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function A0(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"),X(()=>t.setAttribute("data-on","0"),700))}function y0(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),X(()=>r.remove(),520)}function vE(t){return new Promise(e=>X(e,t))}var v0=_(()=>{"use strict";rt()});var ir,Sa,or,ar,oo,pc,fc,Aa,Nd,hc,Od,kn,R0,RE,wE,w0,Rf,N0=_(()=>{"use strict";F();rt();ot();Rf=class{constructor(e){b(this,kn);b(this,ir,Qn.IDLE);b(this,Sa,0);b(this,or);b(this,ar);b(this,oo);b(this,pc);b(this,fc);b(this,Aa);b(this,Nd);b(this,hc);b(this,Od);f(this,fc,e.now),f(this,Aa,e.idleAfterMs),f(this,Nd,e.glowFadeMs),f(this,hc,e.borderMode),f(this,Od,e.setMode)}setElements(e,n){f(this,oo,e),f(this,pc,n)}phase(){return c(this,ir)}lastActivityMs(){return c(this,Sa)}resetActivity(e){f(this,Sa,e)}markActivity(e=c(this,fc).call(this)){f(this,Sa,e),(c(this,ir)===Qn.IDLE||c(this,ir)===Qn.FADING)&&E(this,kn,R0).call(this),E(this,kn,RE).call(this)}scheduleIdle(){E(this,kn,RE).call(this)}teardown(){c(this,or)!==void 0&&me(c(this,or)),c(this,ar)!==void 0&&me(c(this,ar)),f(this,or,void 0),f(this,ar,void 0)}};ir=new WeakMap,Sa=new WeakMap,or=new WeakMap,ar=new WeakMap,oo=new WeakMap,pc=new WeakMap,fc=new WeakMap,Aa=new WeakMap,Nd=new WeakMap,hc=new WeakMap,Od=new WeakMap,kn=new WeakSet,R0=function(){var e,n,r;c(this,ar)!==void 0&&(me(c(this,ar)),f(this,ar,void 0)),f(this,ir,Qn.BUSY),c(this,hc)===ra.SESSION?(e=c(this,oo))==null||e.setAttribute(Yl,Cv):(n=c(this,oo))==null||n.setAttribute(Pt,fi),(r=c(this,pc))==null||r.setAttribute(Pt,fi)},RE=function(){c(this,or)!==void 0&&me(c(this,or)),f(this,or,X(()=>E(this,kn,wE).call(this),c(this,Aa)))},wE=function(){if(f(this,or,void 0),c(this,ir)!==Qn.BUSY)return;let e=c(this,fc).call(this)-c(this,Sa);if(e<c(this,Aa)){f(this,or,X(()=>E(this,kn,wE).call(this),c(this,Aa)-e));return}E(this,kn,w0).call(this)},w0=function(){var e,n,r;f(this,ir,Qn.FADING),c(this,hc)===ra.SESSION?(e=c(this,oo))==null||e.setAttribute(Yl,Ip):(n=c(this,oo))==null||n.setAttribute(Pt,qi),(r=c(this,pc))==null||r.setAttribute(Pt,qi),c(this,Od).call(this,Ge.IDLE),f(this,ar,X(()=>{f(this,ar,void 0),c(this,ir)===Qn.FADING&&f(this,ir,Qn.IDLE)},c(this,Nd)))}});function O0(t,e,n){let r=f$(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(yr(K.CHECK,se.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(yr(K.REMOVE,se.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 f$(t){let e=0,n=0;for(let r of t)r.result===en.PASS?e+=1:r.result===en.FAIL&&(n+=1);return{passes:e,fails:n}}var I0=_(()=>{"use strict";zi();Zn()});function D0(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(C0))continue;let n=e.name.slice(C0.length),r=o0.includes(n)?`${n}.${e.value}`:n;if(a0(r))return r}}function m$(t){for(let e of t)if(e instanceof Element&&D0(e)!==void 0)return e}function L0(t){if(t.getAttribute(Oe)==="1")return{view:fr.BUBBLE,panel:Fn.NONE};if(t.getAttribute(We)==="1")return{view:fr.EXPANDED,panel:Fn.SETTINGS};if(t.getAttribute(Wt)==="1")return{view:fr.EXPANDED,panel:Fn.REPORT};let e=t.getAttribute(k0);return e==="flows"?{view:fr.EXPANDED,panel:Fn.FLOWS}:e==="annotations"?{view:fr.EXPANDED,panel:Fn.NOTES}:t.getAttribute(Qe)==="1"?{view:fr.EXPANDED,panel:Fn.CHAT}:{view:fr.COLLAPSED,panel:Fn.NONE}}function M0(t,e,n){let r=h=>{try{n(h)}catch{}},o=h=>{var T;let m=m$(h.composedPath());if(m===void 0||!Ma(m))return;let g=D0(m);if(g!==void 0){if(!h$.has((T=m.getAttribute("role"))!=null?T:"")){r({control:g});return}X(()=>{let x=m.getAttribute("aria-checked")==="true";r({control:g,toggle:x?Zc.ON:Zc.OFF})},0)}},a="",s=()=>{let h=L0(e),m=`${h.view}/${h.panel}`;m!==a&&(a=m,r(h))},l="",d=()=>{var g;if(Fn.CHAT!==L0(e).panel)return;let h=e.querySelector(`[${Td}]:not([hidden])`),m=(g=h==null?void 0:h.getAttribute(Td))!=null?g:"";m.length===0||m===l||(l=m,r({slide:m}))},u=new MutationObserver(d);u.observe(e,{subtree:!0,attributes:!0,attributeFilter:["data-active","hidden"]}),t.addEventListener("click",o,!0);let p=new MutationObserver(h=>{s(),0<h.length&&d()});return p.observe(e,{attributes:!0,attributeFilter:[Oe,Qe,We,Wt,k0]}),s(),()=>{t.removeEventListener("click",o,!0),p.disconnect(),u.disconnect()}}var C0,k0,h$,$0=_(()=>{"use strict";mE();F();bt();rt();ot();gf();C0="data-reticle-",k0="data-reticle-page-open",h$=new Set(["switch","checkbox"])});function P0(){var t;try{let e=JSON.parse((t=globalThis.sessionStorage.getItem(NE))!=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 Id(t){try{globalThis.sessionStorage.setItem(NE,JSON.stringify(t))}catch{}}function H0(t){try{let e=t!=null?t:"",n=globalThis.sessionStorage.getItem(ze.PRESENTER_LOG_OWNER);return globalThis.sessionStorage.setItem(ze.PRESENTER_LOG_OWNER,e),n===null||n===e?!1:(globalThis.sessionStorage.removeItem(NE),!0)}catch{return!1}}var NE,U0=_(()=>{"use strict";Gn();NE=ze.PRESENTER_LOG});var Y0={};Uc(Y0,{GlowPhase:()=>Qn,LOG_KIND:()=>Ke,LOG_RESULT:()=>en,Presenter:()=>OE});var g$,gc,Fe,bi,va,Ld,Ra,Ti,Ec,bc,ao,xi,wa,Tc,xc,sn,_c,kd,Na,cn,_i,Rt,Sc,Dd,Md,Oa,Mr,sr,Dn,Mn,$d,$n,$r,Pr,Ac,yc,ln,Ie,vc,W,F0,B0,ya,IE,G0,Cd,CE,j0,V0,LE,K0,W0,mc,z0,OE,q0=_(()=>{"use strict";F();Lt();Pm();qm();rt();zi();Vw();yE();uE();td();ed();ot();_0();v0();N0();Zn();I0();Jg();aa();yE();$0();oE();U0();ot();zi();g$=1600,OE=class{constructor(e={}){b(this,W);b(this,gc);b(this,Fe);b(this,bi);b(this,va);b(this,Ld);b(this,Ra);b(this,Ti);b(this,Ec);b(this,bc);b(this,ao);b(this,xi);b(this,wa);b(this,Tc,{passes:0,fails:0});b(this,xc,Ge.IDLE);b(this,sn);b(this,_c);b(this,kd);b(this,Na);b(this,cn);b(this,_i,"");b(this,Rt);b(this,Sc);b(this,Dd);b(this,Md);b(this,Oa);b(this,Mr,[]);b(this,sr,!1);b(this,Dn);b(this,Mn);b(this,$d,new Ef);b(this,$n,[]);b(this,$r);b(this,Pr);b(this,Ac);b(this,yc);b(this,ln);b(this,Ie);b(this,vc);var n,r,o,a,s,l,d,u,p;f(this,gc,Lv(e.paceMs)),f(this,sn,(n=e.now)!=null?n:tp),f(this,_c,(r=e.heartbeatMs)!=null?r:Dv),f(this,kd,(o=e.idleNoticeMs)!=null?o:Mv),f(this,Sc,(a=e.idleEndMs)!=null?a:$v),f(this,Dd,(s=e.sessionId)!=null?s:""),f(this,Na,(l=e.border)!=null?l:Iv),f(this,cn,new Rf({now:c(this,sn),idleAfterMs:(d=e.idleAfterMs)!=null?d:kv,glowFadeMs:(u=e.glowFadeMs)!=null?u:Hv,borderMode:c(this,Na),setMode:h=>this.setMode(h)})),f(this,Dn,bg(e.logMax)),f(this,Pr,e.onControl),f(this,Ac,e.onHudUse),f(this,ln,new pf({emit:(h,m)=>{var g;return(g=c(this,Pr))==null?void 0:g.call(this,m!==void 0?{kind:h,text:m}:{kind:h})},logHuman:h=>{this.log(Ke.HUMAN,h)},endedFadeMs:(p=e.endedFadeMs)!=null?p:zR,runState:()=>this.runState(),clearRunLog:()=>E(this,W,LE).call(this),onStateChange:()=>E(this,W,ya).call(this)})),f(this,Ie,new Rd({onChatOpen:()=>c(this,Ie).pulseFab(!1),onExpand:()=>E(this,W,ya).call(this),onAnnotateToggle:()=>E(this,W,ya).call(this),onCollapse:()=>E(this,W,ya).call(this),onSyncNow:()=>{var h;return(h=c(this,Pr))==null?void 0:h.call(this,{kind:Tn.SYNC})},onSignIn:()=>{var h;return(h=c(this,Pr))==null?void 0:h.call(this,{kind:Tn.SIGNIN})},onHarness:h=>{var m;return(m=c(this,Pr))==null?void 0:m.call(this,{kind:Tn.HARNESS,text:h?"on":"off"})},settings:{onBeforeOpen:()=>{c(this,Ie).isCollapsed()&&c(this,Ie).expand()},onHideUntilRestart:()=>E(this,W,K0).call(this),onKill:()=>{var h;return(h=e.onKill)==null?void 0:h.call(e)},onSettingsChange:h=>E(this,W,W0).call(this,h),onHarness:h=>{var m;return(m=c(this,Pr))==null?void 0:m.call(this,{kind:Tn.HARNESS,text:h?"on":"off"})}}}))}setControlHandler(e){f(this,Pr,e)}get state(){return c(this,ln).state}get sessionActive(){return c(this,sr)}setState(e,n,r){c(this,ln).setState(e,n,r)}refilterFlows(){c(this,ln).refilterFlows()}handlePush(e){var s;let n=e.args;if(e.name===D.FLOWS)return void c(this,ln).setFlows(n.flows);if(e.name===D.FLOW_PROGRESS)return void c(this,ln).setFlowProgress(n);if(e.name===D.PLAN){let l=kw(n);l!==void 0&&c(this,$d).paint(l);return}if(e.name===D.IMPACT){let l=qw(n.snapshot);if(l!==void 0){c(this,Ie).report.setSnapshot(l),c(this,Ie).paintOffer(l.harnessOffer,l.notices),c(this,Ie).paintHarness(l.harnessConfig),c(this,Ie).paintImpact(l.project.counts.verdicts);let d=((s=l.account)==null?void 0:s.signedIn)===!0?l.account.email:void 0;H0(d)&&E(this,W,LE).call(this),c(this,Ie).paintAccount(l.account,l.dashboardUrl,{projectName:l.projectName,dashboardUrl:l.dashboardUrl,verdicts:l.project.counts.verdicts,defects:l.project.counts.failed})}return}let r=n.state,o=n.tone,a=typeof n.text=="string"&&n.text.length>0?n.text:void 0;yT(r)&&this.setState(r,a,nx(o)?o:void 0)}get logMax(){return c(this,Dn)}set logMax(e){f(this,Dn,bg(e)),E(this,W,z0).call(this)}mount(){var o,a,s,l,d,u,p,h,m,g,T;if(c(this,Fe)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute("data-reticle-overlay",""),e.textContent=jw,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">${Yi.READY}</span>${XR}<span class="reticle-chip" data-reticle-chip></span><div class="reticle-act-actions">${qR}</div></div>`;n.innerHTML=`
|
|
1608
|
+
${jg()}
|
|
1243
1609
|
<div data-reticle-glow></div>
|
|
1244
1610
|
<div data-reticle-cursor></div>
|
|
1245
1611
|
<div data-reticle-ring></div>
|
|
1246
|
-
${gl.dockHtml(r,Oy,qc,wy+Cy,Iy)}`,document.body.appendChild(n),p(this,Ce,n),p(this,$r,n.querySelector("[data-reticle-glow]")??void 0),p(this,Hi,n.querySelector("[data-reticle-cursor]")??void 0),p(this,Sl,n.querySelector("[data-reticle-ring]")??void 0),p(this,Fi,n.querySelector("[data-reticle-hud]")??void 0),p(this,Ur,n.querySelector(".reticle-act")??void 0),p(this,Ta,n.querySelector(".reticle-act-strip")??void 0),p(this,_a,n.querySelector("[data-reticle-chat-pill-text]")??void 0),p(this,vo,n.querySelector("[data-reticle-chat-pill-time]")??void 0),p(this,kn,n.querySelector(`[${qc}]`)??void 0),p(this,Hr,n.querySelector("[data-reticle-chip]")??void 0),p(this,Bi,n.querySelector("[data-reticle-tally]")??void 0),c(this,Ie).mount(n),ll(n,Gt(),!1),c(this,Wt).setElements(c(this,$r),c(this,Hi)),c(this,zt).mount(n,c(this,$r)),c(this,Ra)!==void 0&&p(this,va,XR(document,n,c(this,Ra))),this.setMode(c(this,xa)),h(this,Y,Ea).call(this)}bindAnnotator(e){p(this,Na,e);let n=c(this,Ce);if(n===void 0)return;let r=n.querySelector(`[${Eu}]`),i=n.querySelector(`[${bu}]`),s=n.querySelector(`[${CA}]`),a=n.querySelector(`[${Tu}]`),l=n.querySelector(`[${_u}]`),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,QR).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(cl(Gt().statusThemeId).active),h(this,Y,ga).call(this)}destroy(){var e;c(this,Wt).teardown(),c(this,dt)!==void 0&&pe(c(this,dt)),p(this,dt,void 0),(e=c(this,va))==null||e.call(this),p(this,va,void 0),c(this,Ie).teardown(),c(this,zt).teardown(),p(this,Ln,!1),p(this,No,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,JR).call(this);return}c(this,Ln)||(Ph===c(this,Ce)?.getAttribute(gu)&&c(this,Ce).removeAttribute(gu),p(this,Ln,!0),c(this,yl)??p(this,yl,c(this,fn).call(this)),p(this,ji,void 0),h(this,Y,jm).call(this),c(this,Wt).resetActivity(c(this,fn).call(this)),h(this,Y,Vm).call(this),Pm(Gt().autoOpenChat)&&c(this,Ie).openChat())}showUnreachable(e,n){if(c(this,Ln))return;c(this,Ce)?.setAttribute(gu,Ph),c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,Cr),c(this,Fi)?.setAttribute(St,Cr),p(this,Fr,iS(e,n)),h(this,Y,_l).call(this,c(this,Fr),!0),Pm(Gt().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,Eo),c(this,Fi)?.setAttribute(St,Eo),c(this,Ie).collapse(),c(this,Gi)===Ai.SESSION&&(c(this,$r)?.setAttribute(St,Eo),c(this,$r)?.setAttribute(Zc,mu))}markActivity(){c(this,Wt).markActivity()}scheduleIdle(){c(this,Wt).scheduleIdle()}glowPhase(){return c(this,Wt).phase()}get mode(){return c(this,xa)}setMode(e){if(p(this,xa,e),c(this,Ce)?.setAttribute("data-reticle-mode",e),c(this,Hr)!==void 0){let n=pA[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,Hi)?.setAttribute(St,Eo)}status(e){this.markActivity(),c(this,vo)!==void 0&&(c(this,vo).textContent=go.NOW),p(this,Fr,e),h(this,Y,_l).call(this,e,!1)}setIdleEndMs(e){Number.isFinite(e)&&p(this,ya,Math.max(NA,Math.floor(e)))}runState(){let e=kR({sessionId:c(this,Al),state:this.state,startMs:c(this,yl),endMs:c(this,ji),now:c(this,fn).call(this),runLog:c(this,Br)}),n=Gt();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,fn).call(this);if(c(this,Wt).markActivity(i),c(this,kn)===void 0)return;let s=n.trim();if(s.length===0)return;c(this,No)??p(this,No,i);let a=r!==void 0?{at:i-c(this,No),kind:e,text:s,result:r}:{at:i-c(this,No),kind:e,text:s};for(c(this,Br).push(a);c(this,Br).length>c(this,Gr);)c(this,Br).shift();let l=bA(i-c(this,No)),d=TA(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,Ea).call(this),{result:u=>{d.result(u),a.result=u,h(this,Y,Ea).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(MA,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(`${Dc(n)} ${r}`),!(i instanceof HTMLElement)){await Um(c(this,ba));return}let s=i.getBoundingClientRect(),a=s.left+s.width/2,l=s.top+s.height/2;MR(c(this,Hi),a,l),PR(c(this,Sl),s),await Um(c(this,ba)),(R.CLICK===n||R.DBLCLICK===n||R.SUBMIT===n)&&$R(c(this,Ce),a,l)}};ba=new WeakMap,Ce=new WeakMap,$r=new WeakMap,Hi=new WeakMap,Sl=new WeakMap,Fi=new WeakMap,Ur=new WeakMap,Ta=new WeakMap,_a=new WeakMap,vo=new WeakMap,Hr=new WeakMap,Bi=new WeakMap,Sa=new WeakMap,xa=new WeakMap,fn=new WeakMap,Aa=new WeakMap,xl=new WeakMap,Gi=new WeakMap,Wt=new WeakMap,Fr=new WeakMap,dt=new WeakMap,ya=new WeakMap,Al=new WeakMap,yl=new WeakMap,ji=new WeakMap,Br=new WeakMap,Ln=new WeakMap,Gr=new WeakMap,kn=new WeakMap,No=new WeakMap,Oo=new WeakMap,Ra=new WeakMap,va=new WeakMap,zt=new WeakMap,Ie=new WeakMap,Na=new WeakMap,Y=new WeakSet,QR=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"),ZD),Gt().clearOnCopy&&e.clearAll()},ga=function(){let e=!c(this,Ie).isCollapsed()&&c(this,Ie).isAnnotateOn();c(this,Na)?.toggle(e),c(this,Ce)!==void 0&&ll(c(this,Ce),Gt(),e)},jm=function(){c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,Cr),c(this,Fi)?.setAttribute(St,Cr),c(this,Gi)===Ai.SESSION&&c(this,$r)?.setAttribute(St,Cr)},JR=function(){c(this,zt).setState(Re.ACTIVE),p(this,ji,void 0),h(this,Y,jm).call(this),c(this,Wt).resetActivity(c(this,fn).call(this)),h(this,Y,Vm).call(this)},_l=function(e,n){c(this,Ur)!==void 0&&(c(this,Ur).textContent=e);let r=n?"idle":"active";c(this,Ta)!==void 0&&c(this,Ta).setAttribute("data-liveness",r),c(this,Ce)?.setAttribute(tl,r),c(this,_a)!==void 0&&(c(this,_a).textContent=n?c(this,Fr)!==""?c(this,Fr):go.READY:e)},Vm=function(){c(this,dt)!==void 0&&pe(c(this,dt));let e=()=>{h(this,Y,ev).call(this),p(this,dt,z(e,c(this,Aa)))};p(this,dt,z(e,c(this,Aa)))},ev=function(){if(!c(this,Ln)||c(this,Ur)===void 0||this.state===Re.ENDED)return;let e=c(this,fn).call(this)-c(this,Wt).lastActivityMs();if(e>=c(this,ya)){h(this,Y,tv).call(this,e);return}if(e<c(this,xl)||c(this,Fr)==="")return;let n=go.SINCE_LAST;h(this,Y,_l).call(this,`${go.PLANNING_PREFIX}${Xc(e)}${n}`,!0),c(this,vo)!==void 0&&(c(this,vo).textContent=Xc(e))},tv=function(e){p(this,ji,c(this,fn).call(this)),c(this,zt).setState(Re.ENDED,`${go.STOPPED_PREFIX}${Xc(e)} quiet`),h(this,Y,_l).call(this,go.STOPPED,!1),c(this,dt)!==void 0&&(pe(c(this,dt)),p(this,dt,void 0))},nv=function(){p(this,Br,[]),p(this,Sa,{passes:0,fails:0}),c(this,kn)!==void 0&&EA(c(this,kn)),h(this,Y,Ea).call(this)},rv=function(){c(this,Ce)?.setAttribute("data-reticle-hidden","1"),c(this,Ie).collapse()},ov=function(e){if(c(this,Na)?.setAccent(cl(e.statusThemeId).active),e.showTally?h(this,Y,Ea).call(this):c(this,Bi)?.setAttribute("hidden",""),c(this,Ce)!==void 0){let n=Re.ACTIVE===c(this,zt).state&&!c(this,Ie).isCollapsed();ll(c(this,Ce),e,n)}},Ea=function(){if(!Gt().showTally){c(this,Bi)?.setAttribute("hidden","");return}p(this,Sa,GR(c(this,Bi),c(this,Br),c(this,Sa)))},iv=function(){c(this,kn)!==void 0&&Dh(c(this,kn),c(this,Gr))}});var Ue,cv,lv,dv,uv=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"},cv=[{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"}],lv=[{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}],dv=[{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 Km=T(()=>{"use strict";uv()});function Ym(){return[...Wm.map(JD),{index:QD,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Ue.NONE,prompts:cv}]}function Rl(t){return t.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")}function e5(t){return Rl(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function qm(t,e){let n=t+e;return n<0?0:n>Ju-1?Ju-1:n}function gv(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 Ev(t){let e=Ym().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">${Rl(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((a,l)=>`<div class="reticle-tour-prompt" ${vl}="${String(l)}"><span class="reticle-tour-prompt-label">${Rl(a.label)}</span><pre class="reticle-tour-prompt-text">${Rl(a.text)}</pre><button type="button" class="reticle-tour-copy" ${jr}="copy" ${vl}="${String(l)}">${zm}</button></div>`).join("")+"</div>",i=t.index===0?"":`<button type="button" class="reticle-tour-back" ${jr}="back">Back</button>`,s=Xm(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(Ju)}</p><h2 class="reticle-tour-title">${Rl(t.title)}</h2><p class="reticle-tour-body">${e5(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 Wm,QD,Ju,ee,jr,vl,zm,pv,fv,hv,JD,mv,Xm,bv,Tv=T(()=>{"use strict";Km();Wm=[...lv.slice(0,1),...dv],QD=Wm.length,Ju=Wm.length+1,ee="data-reticle-tour",jr="data-reticle-tour-target",vl="data-reticle-tour-prompt",zm="Copy",pv="Copied",fv="Selected \u2014 press Ctrl/Cmd+C",hv=1600,JD=(t,e)=>({index:e,title:t.title,body:t.say,anchor:t.anchor??Ue.NONE,...t.tryIt===void 0?{}:{tryIt:t.tryIt}}),mv=t=>t.tryIt!==void 0;Xm=t=>t===Ju-1;bv=`
|
|
1247
|
-
[${
|
|
1612
|
+
${Rd.dockHtml(r,Cw,gg,ZR+QR,JR)}`,document.body.appendChild(n),f(this,Fe,n),f(this,bi,(o=n.querySelector("[data-reticle-glow]"))!=null?o:void 0),f(this,va,(a=n.querySelector("[data-reticle-cursor]"))!=null?a:void 0),f(this,Ld,(s=n.querySelector("[data-reticle-ring]"))!=null?s:void 0),f(this,Ra,(l=n.querySelector("[data-reticle-hud]"))!=null?l:void 0),f(this,Ti,(d=n.querySelector(".reticle-act"))!=null?d:void 0),f(this,Ec,(u=n.querySelector(".reticle-act-strip"))!=null?u:void 0),f(this,bc,(p=n.querySelector("[data-reticle-chat-pill-text]"))!=null?p:void 0),f(this,ao,(h=n.querySelector("[data-reticle-chat-pill-time]"))!=null?h:void 0),f(this,Mn,(m=n.querySelector(`[${gg}]`))!=null?m:void 0),f(this,xi,(g=n.querySelector("[data-reticle-chip]"))!=null?g:void 0),f(this,wa,(T=n.querySelector("[data-reticle-tally]"))!=null?T:void 0),c(this,Ie).mount(n),Jp(n,on(),!1),c(this,cn).setElements(c(this,bi),c(this,va)),c(this,ln).mount(n,c(this,bi)),c(this,$d).mount(n),c(this,Ac)!==void 0&&f(this,yc,M0(document,n,c(this,Ac))),this.setMode(c(this,xc)),E(this,W,F0).call(this),E(this,W,mc).call(this)}bindAnnotator(e){f(this,vc,e);let n=c(this,Fe);if(n===void 0)return;let r=n.querySelector(`[${kp}]`),o=n.querySelector(`[${Dp}]`),a=n.querySelector(`[${Fv}]`),s=n.querySelector(`[${Mp}]`),l=n.querySelector(`[${$p}]`),d={};l instanceof HTMLElement&&(d.copyRow=l);let u=e.markCount;d.onCount=p=>{u===0&&p>0&&c(this,Ie).openView("annotations"),u=p},d.onMarksChange=p=>c(this,Ie).paintAnnotations(p),s instanceof HTMLElement&&s.addEventListener("click",p=>{p.stopPropagation(),E(this,W,B0).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(od(on().statusThemeId).active),E(this,W,ya).call(this)}destroy(){var e,n;c(this,cn).teardown(),c(this,Rt)!==void 0&&me(c(this,Rt)),f(this,Rt,void 0),(e=c(this,yc))==null||e.call(this),f(this,yc,void 0),c(this,Ie).teardown(),c(this,ln).teardown(),f(this,sr,!1),f(this,$r,void 0),f(this,Mn,void 0),f(this,$n,[]),Id([]),(n=c(this,Fe))==null||n.remove(),document.querySelectorAll("style[data-reticle-overlay]").forEach(r=>r.remove()),f(this,Fe,void 0)}sessionStart(){var e,n;if(this.state===Ce.ENDED){E(this,W,G0).call(this);return}c(this,sr)||(xg===((e=c(this,Fe))==null?void 0:e.getAttribute(Cp))&&c(this,Fe).removeAttribute(Cp),f(this,sr,!0),(n=c(this,Md))!=null||f(this,Md,c(this,sn).call(this)),f(this,Oa,void 0),E(this,W,IE).call(this),c(this,cn).resetActivity(c(this,sn).call(this)),E(this,W,CE).call(this),AE(on().autoOpenChat)&&c(this,Ie).openChat())}showUnreachable(e,n){var o,a,s;if(c(this,sr))return;(o=c(this,Fe))==null||o.setAttribute(Cp,xg);let r=(a=c(this,Fe))==null?void 0:a.querySelector("[data-reticle-dock]");r==null||r.setAttribute(Pt,fi),(s=c(this,Ra))==null||s.setAttribute(Pt,fi),f(this,_i,dA(e,n)),E(this,W,Cd).call(this,c(this,_i),!0),AE(on().autoOpenChat)&&c(this,Ie).openChat()}sessionEnd(){var n,r,o,a;if(!c(this,sr))return;f(this,sr,!1),c(this,Rt)!==void 0&&(me(c(this,Rt)),f(this,Rt,void 0));let e=(n=c(this,Fe))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(Pt,qi),(r=c(this,Ra))==null||r.setAttribute(Pt,qi),c(this,Ie).collapse(),c(this,Na)===ra.SESSION&&((o=c(this,bi))==null||o.setAttribute(Pt,qi),(a=c(this,bi))==null||a.setAttribute(Yl,Ip))}markActivity(){c(this,cn).markActivity()}scheduleIdle(){c(this,cn).scheduleIdle()}glowPhase(){return c(this,cn).phase()}get mode(){return c(this,xc)}setMode(e){var n,r;if(f(this,xc,e),(n=c(this,Fe))==null||n.setAttribute("data-reticle-mode",e),c(this,xi)!==void 0){let o=yv[e];if(c(this,xi).setAttribute("data-mode",e),c(this,xi).replaceChildren(),o.length>0){let a=e===Ge.READING?K.VIEW:e===Ge.ACTING?K.POINTER:void 0;a!==void 0&&c(this,xi).appendChild(yr(a,se.CHIP));let s=document.createElement("span");s.className="reticle-chip-label",s.textContent=o,c(this,xi).appendChild(s)}}e===Ge.READING&&((r=c(this,va))==null||r.setAttribute(Pt,qi))}status(e){this.markActivity(),c(this,ao)!==void 0&&(c(this,ao).textContent=Yi.NOW),f(this,_i,e),E(this,W,Cd).call(this,e,!1)}placeHud(e,n){let r=c(this,Fe);if(r===void 0)return[];let o=[];if(Xt.REMOVED===e)return this.destroy(),[e];Xt.HIDDEN===e&&r.setAttribute(js,"1"),Xt.SHOWN===e&&r.removeAttribute(js),e!==void 0&&o.push(e);let a=r.querySelector(`[${C}]`);if(n!==void 0&&a instanceof HTMLElement){if(gu.BOTTOM_RIGHT===n)Ql(a);else{let s=zs(a),l=n.endsWith("left")?0:window.innerWidth,d=n.startsWith("top")?0:window.innerHeight,u=Ws(l,d,s.width,s.height,window.innerWidth,window.innerHeight);Zi(a,u.left,u.top)}o.push(n),tr(a,r)}return o}setIdleEndMs(e){Number.isFinite(e)&&f(this,Sc,Math.max(Pv,Math.floor(e)))}runState(){let e=x0({sessionId:c(this,Dd),state:this.state,startMs:c(this,Md),endMs:c(this,Oa),now:c(this,sn).call(this),runLog:c(this,Mr)}),n=on();return n.outputDetail===nr.MINIMAL?{session:e.session,url:e.url,state:e.state,startedMs:e.startedMs,durationMs:e.durationMs,counts:e.counts}:n.outputDetail===nr.VERBOSE&&n.reactComponents?{...e,includeReactComponents:!0}:e}log(e,n,r,o){var h;let a=c(this,sn).call(this);if(c(this,cn).markActivity(a),c(this,Mn)===void 0)return;let s=n.trim();if(s.length===0)return;(h=c(this,$r))!=null||f(this,$r,a);let l=r!==void 0?{at:a-c(this,$r),kind:e,text:s,result:r}:{at:a-c(this,$r),kind:e,text:s};for(c(this,Mr).push(l);c(this,Mr).length>c(this,Dn);)c(this,Mr).shift();let d=Ov(a-c(this,$r)),u=Tg(c(this,Mn),e,s,d,c(this,Dn),o);r!==void 0&&u.result(r);let p={kind:e,text:s,ts:d,at:a-c(this,$r),...o===void 0?{}:{actor:o},...r===void 0?{}:{result:r}};for(c(this,$n).push(p);c(this,$n).length>c(this,Dn);)c(this,$n).shift();return Id(c(this,$n)),c(this,Ie).isCollapsed()&&c(this,Ie).pulseFab(!0),E(this,W,mc).call(this),{result:m=>{u.result(m),l.result=m,p.result=m,Id(c(this,$n)),E(this,W,mc).call(this)}}}narrate(e,n="info"){let r=n==="info"?e:`[${n}] ${e}`;return this.log(Ke.NARRATION,r)}setThrottled(e){var n;(n=c(this,Fe))==null||n.setAttribute(Kv,e?"1":"0"),e&&c(this,Ti)!==void 0&&(c(this,Ti).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(`${Ll(n)} ${r}`),!(o instanceof HTMLElement)){await vE(c(this,gc));return}let a=o.getBoundingClientRect(),s=a.left+a.width/2,l=a.top+a.height/2;S0(c(this,va),s,l),A0(c(this,Ld),a),await vE(c(this,gc)),(I.CLICK===n||I.DBLCLICK===n||I.SUBMIT===n)&&y0(c(this,Fe),s,l)}};gc=new WeakMap,Fe=new WeakMap,bi=new WeakMap,va=new WeakMap,Ld=new WeakMap,Ra=new WeakMap,Ti=new WeakMap,Ec=new WeakMap,bc=new WeakMap,ao=new WeakMap,xi=new WeakMap,wa=new WeakMap,Tc=new WeakMap,xc=new WeakMap,sn=new WeakMap,_c=new WeakMap,kd=new WeakMap,Na=new WeakMap,cn=new WeakMap,_i=new WeakMap,Rt=new WeakMap,Sc=new WeakMap,Dd=new WeakMap,Md=new WeakMap,Oa=new WeakMap,Mr=new WeakMap,sr=new WeakMap,Dn=new WeakMap,Mn=new WeakMap,$d=new WeakMap,$n=new WeakMap,$r=new WeakMap,Pr=new WeakMap,Ac=new WeakMap,yc=new WeakMap,ln=new WeakMap,Ie=new WeakMap,vc=new WeakMap,W=new WeakSet,F0=function(){let e=c(this,Mn);if(!(e===void 0||0<c(this,$n).length))for(let n of P0().slice(-c(this,Dn))){let r=Tg(e,n.kind,n.text,n.ts,c(this,Dn),n.actor);n.result!==void 0&&r.result(n.result),f(this,$r,c(this,sn).call(this)-n.at),c(this,Mr).push({at:n.at,kind:n.kind,text:n.text,...n.result===void 0?{}:{result:n.result}}),c(this,$n).push(n)}},B0=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"),X(()=>n.removeAttribute("data-copied"),g$),on().clearOnCopy&&e.clearAll()},ya=function(){var n;let e=!c(this,Ie).isCollapsed()&&c(this,Ie).isAnnotateOn();(n=c(this,vc))==null||n.toggle(e),c(this,Fe)!==void 0&&Jp(c(this,Fe),on(),e)},IE=function(){var n,r,o;let e=(n=c(this,Fe))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(Pt,fi),(r=c(this,Ra))==null||r.setAttribute(Pt,fi),c(this,Na)===ra.SESSION&&((o=c(this,bi))==null||o.setAttribute(Pt,fi))},G0=function(){c(this,ln).setState(Ce.ACTIVE),f(this,Oa,void 0),E(this,W,IE).call(this),c(this,cn).resetActivity(c(this,sn).call(this)),E(this,W,CE).call(this)},Cd=function(e,n){var o;c(this,Ti)!==void 0&&(c(this,Ti).textContent=e);let r=n?"idle":"active";c(this,Ec)!==void 0&&c(this,Ec).setAttribute("data-liveness",r),(o=c(this,Fe))==null||o.setAttribute(Xl,r),c(this,bc)!==void 0&&(c(this,bc).textContent=n?c(this,_i)!==""?c(this,_i):Yi.READY:e)},CE=function(){c(this,Rt)!==void 0&&me(c(this,Rt));let e=()=>{E(this,W,j0).call(this),f(this,Rt,X(e,c(this,_c)))};f(this,Rt,X(e,c(this,_c)))},j0=function(){if(!c(this,sr)||c(this,Ti)===void 0||this.state===Ce.ENDED)return;let e=c(this,sn).call(this)-c(this,cn).lastActivityMs();if(e>=c(this,Sc)){E(this,W,V0).call(this,e);return}if(e<c(this,kd)||c(this,_i)==="")return;let n=Yi.SINCE_LAST;E(this,W,Cd).call(this,`${Yi.PLANNING_PREFIX}${zl(e)}${n}`,!0),c(this,ao)!==void 0&&(c(this,ao).textContent=zl(e))},V0=function(e){f(this,Oa,c(this,sn).call(this)),c(this,ln).setState(Ce.ENDED,`${Yi.STOPPED_PREFIX}${zl(e)} quiet`),E(this,W,Cd).call(this,Yi.STOPPED,!1),c(this,Rt)!==void 0&&(me(c(this,Rt)),f(this,Rt,void 0))},LE=function(){f(this,Mr,[]),f(this,$n,[]),Id([]),f(this,Tc,{passes:0,fails:0}),c(this,Mn)!==void 0&&Nv(c(this,Mn)),E(this,W,mc).call(this)},K0=function(){var e;(e=c(this,Fe))==null||e.setAttribute("data-reticle-hidden","1"),c(this,Ie).collapse()},W0=function(e){var n,r;(n=c(this,vc))==null||n.setAccent(od(e.statusThemeId).active),e.showTally?E(this,W,mc).call(this):(r=c(this,wa))==null||r.setAttribute("hidden",""),E(this,W,ya).call(this)},mc=function(){var e;if(!on().showTally){(e=c(this,wa))==null||e.setAttribute("hidden","");return}f(this,Tc,O0(c(this,wa),c(this,Mr),c(this,Tc)))},z0=function(){c(this,Mn)!==void 0&&Eg(c(this,Mn),c(this,Dn))}});var Be,X0,Z0,Q0,J0=_(()=>{"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"},X0=[{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"}],Z0=[{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}],Q0=[{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 kE=_(()=>{"use strict";J0()});function $E(){return[...DE.map(b$),{index:E$,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Be.NONE,prompts:X0}]}function Pd(t){return t.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")}function T$(t){return Pd(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function PE(t,e){let n=t+e;return n<0?0:n>wf-1?wf-1:n}function iN(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 oN(t){let e=$E().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" ${Si}="try">${Pd(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((s,l)=>`<div class="reticle-tour-prompt" ${Hd}="${String(l)}"><span class="reticle-tour-prompt-label">${Pd(s.label)}</span><pre class="reticle-tour-prompt-text">${Pd(s.text)}</pre><button type="button" class="reticle-tour-copy" ${Si}="copy" ${Hd}="${String(l)}">${ME}</button></div>`).join("")+"</div>",o=t.index===0?"":`<button type="button" class="reticle-tour-back" ${Si}="back">Back</button>`,a=HE(t.index)?`<button type="button" class="reticle-tour-next" ${Si}="done">Done</button>`:`<button type="button" class="reticle-tour-next" ${Si}="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" ${Si}="skip" aria-label="Skip the tour">Skip</button><p class="reticle-tour-step">Step ${String(t.index+1)} of ${String(wf)}</p><h2 class="reticle-tour-title">${Pd(t.title)}</h2><p class="reticle-tour-body">${T$(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 DE,E$,wf,oe,Si,Hd,ME,eN,tN,nN,b$,rN,HE,aN,sN=_(()=>{"use strict";kE();DE=[...Z0.slice(0,1),...Q0],E$=DE.length,wf=DE.length+1,oe="data-reticle-tour",Si="data-reticle-tour-target",Hd="data-reticle-tour-prompt",ME="Copy",eN="Copied",tN="Selected \u2014 press Ctrl/Cmd+C",nN=1600,b$=(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}}},rN=t=>t.tryIt!==void 0;HE=t=>t===wf-1;aN=`
|
|
1613
|
+
[${oe}]{position:fixed;inset:0;z-index:${String(2147483630)};pointer-events:none;
|
|
1248
1614
|
font:13px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
|
|
1249
|
-
[${
|
|
1615
|
+
[${oe}] .reticle-tour-scrim{position:absolute;inset:0;background:rgba(6,8,14,.55);
|
|
1250
1616
|
backdrop-filter:blur(1.5px);pointer-events:auto;z-index:0;}
|
|
1251
1617
|
/* Blocks the click everywhere the hole is not. Same job as the scrim, minus the one rectangle the
|
|
1252
1618
|
slide is inviting somebody to press. */
|
|
1253
|
-
[${
|
|
1619
|
+
[${oe}] .reticle-tour-blocker{position:absolute;pointer-events:auto;z-index:0;}
|
|
1254
1620
|
/* Ringed slides dim through the ring's own 9999px shadow, which leaves a hole over the thing being
|
|
1255
1621
|
pointed at. The scrim would cover that hole -- dimming the HUD the slide is ABOUT, and washing
|
|
1256
1622
|
the page twice (~80% rather than 55%).
|
|
@@ -1258,7 +1624,7 @@ ${vy}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${aR(t/1e3)}k`
|
|
|
1258
1624
|
VISIBLY blocking: reported from the field on 3.1.0 by several users, one of whom removed the
|
|
1259
1625
|
plugin, because a cleared scrim went on eating every press on a page that looked lit and
|
|
1260
1626
|
reachable. An overlay that looks transparent and behaves opaque reads as the app being broken. */
|
|
1261
|
-
[${
|
|
1627
|
+
[${oe}] .reticle-tour-scrim.is-clear{background:transparent;backdrop-filter:none;
|
|
1262
1628
|
pointer-events:none;}
|
|
1263
1629
|
/* Above the ring, and the z-index is the whole point.
|
|
1264
1630
|
The ring is appended after the card, and both are positioned with an auto z-index, so the ring
|
|
@@ -1266,58 +1632,58 @@ ${vy}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${aR(t/1e3)}k`
|
|
|
1266
1632
|
card as well. On every ringed slide the card was washed at 55% and read as sitting BEHIND the page
|
|
1267
1633
|
it was drawn over. The ring must stay above the scrim and below the card; saying so explicitly is
|
|
1268
1634
|
the fix, because DOM order alone cannot express "between these two". */
|
|
1269
|
-
[${
|
|
1635
|
+
[${oe}] .reticle-tour-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
|
|
1270
1636
|
width:min(430px,calc(100vw - 32px));box-sizing:border-box;pointer-events:auto;z-index:3;
|
|
1271
1637
|
background:#14161d;color:#e8eaf0;border:1px solid #2b303d;border-radius:14px;padding:20px 20px 16px;
|
|
1272
1638
|
box-shadow:0 24px 60px rgba(0,0,0,.5);}
|
|
1273
|
-
[${
|
|
1639
|
+
[${oe}] .reticle-tour-skip{position:absolute;top:10px;right:12px;background:none;border:0;
|
|
1274
1640
|
color:#8a93a6;font:inherit;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px;}
|
|
1275
|
-
[${
|
|
1276
|
-
[${
|
|
1641
|
+
[${oe}] .reticle-tour-skip:hover{color:#e8eaf0;background:rgba(255,255,255,.06);}
|
|
1642
|
+
[${oe}] .reticle-tour-step{margin:0 0 6px;font-size:11px;letter-spacing:.06em;
|
|
1277
1643
|
text-transform:uppercase;color:#7f8798;}
|
|
1278
|
-
[${
|
|
1644
|
+
[${oe}] .reticle-tour-title{margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:650;
|
|
1279
1645
|
color:#f2f4f8;}
|
|
1280
|
-
[${
|
|
1646
|
+
[${oe}] .reticle-tour-body{margin:0 0 10px;color:#c9cedb;}
|
|
1281
1647
|
/* A call named inside a sentence. Sets its own colour for the reason every other text class does:
|
|
1282
1648
|
an inherited one loses to any direct element selector in the host app. */
|
|
1283
|
-
[${
|
|
1649
|
+
[${oe}] .reticle-tour-code{padding:1px 5px;border-radius:5px;background:#0c0e14;
|
|
1284
1650
|
border:1px solid #232834;color:#9fb6ff;
|
|
1285
1651
|
font:11.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;}
|
|
1286
|
-
[${
|
|
1652
|
+
[${oe}] .reticle-tour-try{margin:0 0 12px;padding:8px 10px;border-radius:8px;
|
|
1287
1653
|
background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.32);color:#c7cbff;
|
|
1288
1654
|
font-size:12.5px;font-weight:550;}
|
|
1289
|
-
[${
|
|
1290
|
-
[${
|
|
1655
|
+
[${oe}] .reticle-tour-prompts{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;}
|
|
1656
|
+
[${oe}] .reticle-tour-prompt{display:grid;gap:6px;padding:9px 10px;border-radius:8px;
|
|
1291
1657
|
background:#0c0e14;border:1px solid #232834;
|
|
1292
1658
|
grid-template-columns:1fr auto;grid-template-areas:"label copy" "text text";align-items:center;}
|
|
1293
|
-
[${
|
|
1659
|
+
[${oe}] .reticle-tour-prompt-label{grid-area:label;color:#8a93a6;font-size:11px;
|
|
1294
1660
|
letter-spacing:.05em;text-transform:uppercase;}
|
|
1295
|
-
[${
|
|
1661
|
+
[${oe}] .reticle-tour-prompt-text{grid-area:text;width:100%;box-sizing:border-box;margin:0;
|
|
1296
1662
|
white-space:pre-wrap;overflow-wrap:anywhere;color:#c9cedb;
|
|
1297
1663
|
font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;}
|
|
1298
|
-
[${
|
|
1664
|
+
[${oe}] .reticle-tour-copy{grid-area:copy;padding:5px 10px;border-radius:6px;
|
|
1299
1665
|
border:1px solid #2b303d;background:transparent;color:#c9cedb;font:inherit;font-size:11.5px;
|
|
1300
1666
|
font-weight:600;cursor:pointer;white-space:nowrap;}
|
|
1301
|
-
[${
|
|
1667
|
+
[${oe}] .reticle-tour-copy:hover{background:rgba(255,255,255,.07);color:#fff;}
|
|
1302
1668
|
/* The flash that tells somebody the click did something. Colour AND text: colour alone is not an
|
|
1303
1669
|
answer for the people who cannot see the difference. */
|
|
1304
|
-
[${
|
|
1305
|
-
[${
|
|
1306
|
-
[${
|
|
1307
|
-
[${
|
|
1308
|
-
[${
|
|
1309
|
-
[${
|
|
1310
|
-
[${
|
|
1311
|
-
[${
|
|
1670
|
+
[${oe}] .reticle-tour-copy.is-done{background:#16a34a;border-color:#16a34a;color:#fff;}
|
|
1671
|
+
[${oe}] .reticle-tour-copy.is-manual{background:#b45309;border-color:#b45309;color:#fff;}
|
|
1672
|
+
[${oe}] .reticle-tour-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;}
|
|
1673
|
+
[${oe}] .reticle-tour-dots{display:flex;gap:6px;}
|
|
1674
|
+
[${oe}] .reticle-tour-dot{width:6px;height:6px;border-radius:50%;background:#333a49;}
|
|
1675
|
+
[${oe}] .reticle-tour-dot.is-on{background:#6366f1;}
|
|
1676
|
+
[${oe}] .reticle-tour-nav{display:flex;gap:8px;}
|
|
1677
|
+
[${oe}] .reticle-tour-back,[${oe}] .reticle-tour-next{padding:8px 14px;border-radius:8px;
|
|
1312
1678
|
font:inherit;font-weight:600;cursor:pointer;border:1px solid #2b303d;background:transparent;color:#c9cedb;}
|
|
1313
|
-
[${
|
|
1314
|
-
[${
|
|
1315
|
-
[${
|
|
1316
|
-
[${
|
|
1679
|
+
[${oe}] .reticle-tour-next{background:#6366f1;border-color:#6366f1;color:#fff;}
|
|
1680
|
+
[${oe}] .reticle-tour-next:hover{filter:brightness(1.08);}
|
|
1681
|
+
[${oe}] .reticle-tour-back:hover{background:rgba(255,255,255,.06);color:#e8eaf0;}
|
|
1682
|
+
[${oe}] .reticle-tour-ring{position:absolute;border-radius:14px;pointer-events:none;z-index:1;
|
|
1317
1683
|
box-shadow:0 0 0 3px #6366f1,0 0 0 9999px rgba(6,8,14,.55);transition:all .25s ease;}
|
|
1318
1684
|
/* A ring somebody is being asked to press, rather than to look at: it pulses, so the invitation in
|
|
1319
1685
|
the prose has something on the page agreeing with it. */
|
|
1320
|
-
[${
|
|
1686
|
+
[${oe}] .reticle-tour-ring.is-live{animation:reticle-tour-pulse 1.8s ease-in-out infinite;}
|
|
1321
1687
|
@keyframes reticle-tour-pulse{
|
|
1322
1688
|
0%,100%{box-shadow:0 0 0 3px #6366f1,0 0 0 9999px rgba(6,8,14,.55);}
|
|
1323
1689
|
50%{box-shadow:0 0 0 6px rgba(99,102,241,.55),0 0 0 9999px rgba(6,8,14,.55);}
|
|
@@ -1326,12 +1692,13 @@ ${vy}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${aR(t/1e3)}k`
|
|
|
1326
1692
|
something small and wrong for the app: the hole becomes the whole viewport, the dimming
|
|
1327
1693
|
disappears, and the card is left competing with a fully lit page while the ring edges sit off at
|
|
1328
1694
|
the margins pointing at nothing. An outline says "all of this" without turning the lights on. */
|
|
1329
|
-
[${
|
|
1695
|
+
[${oe}] .reticle-tour-ring.is-region{box-shadow:none;border:2px dashed #7c83f5;
|
|
1330
1696
|
background:rgba(99,102,241,.06);}
|
|
1331
1697
|
@media (prefers-reduced-motion:reduce){
|
|
1332
|
-
[${
|
|
1698
|
+
[${oe}] .reticle-tour-ring{transition:none;}
|
|
1333
1699
|
}
|
|
1334
|
-
`});var Av={};Ba(Av,{TOUR_SEEN_KEY_PREFIX:()=>_v,isLastSlide:()=>Xm,mountTour:()=>a5,openedByReticle:()=>Sv,safeLocalStorage:()=>c5,tourAlreadySeen:()=>xv,tourSeenKey:()=>Zm});function r5(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 i5(t,e){if(Ue.HUD===e)return r5(t,n5);let n=o5[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 t5){let i=t.querySelector(r);if(i===null)continue;let s=i.getBoundingClientRect();if(s.width>0)return s}}function Sv(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 xv(t,e){if(t===void 0)return!0;try{return t.getItem(Zm(e))!==null}catch{return!0}}function s5(t,e){try{t?.setItem(Zm(e),"1")}catch{}}function a5(t){if(t.isDriving()||Sv(t.search)||t.navigator?.webdriver===!0||xv(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(ee,""),n.textContent=bv,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(ee,"");let i=Ym(),s=0,a=!0,l=()=>{},d=()=>{},u=()=>{a&&(a=!1,l(),d(),r.remove(),n.remove())},f=()=>{a&&(s5(t.storage,t.projectId),u())},E=()=>{t.isDriving()&&u()},g=()=>{let L=i[s];if(L!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${Ev(L)}`,Ue.NONE!==L.anchor)){let G=i5(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"),mv(L)){Q.classList.add("is-live"),r.querySelector(".reticle-tour-scrim")?.remove();let xe=e.defaultView;for(let ge of gv({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 Ne=e.createElement("div");Ne.className="reticle-tour-blocker",Ne.style.left=`${String(Math.round(ge.left))}px`,Ne.style.top=`${String(Math.round(ge.top))}px`,Ne.style.width=`${String(Math.round(ge.width))}px`,Ne.style.height=`${String(Math.round(ge.height))}px`,r.appendChild(Ne)}}}}},_=L=>{let G=i[s],$=Number(L.getAttribute(vl)),Q=G?.prompts?.[$];if(Q===void 0)return;let se=(Ne,Yt)=>{L.textContent=Ne,L.classList.add(Yt),e.defaultView?.setTimeout(()=>{L.textContent=zm,L.classList.remove(Yt)},hv)},xe=Ne=>{if(Ne){se(pv,"is-done");return}let Yt=r.querySelector(`.reticle-tour-prompt[${vl}="${String($)}"] .reticle-tour-prompt-text`);Yt!==null&&t.select?.(Yt),se(fv,"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=qm(s,Q==="back"?-1:1);se!==s&&(s=se,g())});let S=L=>{if(!a||Pl(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 $=qm(s,G);$!==s&&(L.preventDefault(),s=$,g())};e.addEventListener("keydown",S),l=()=>{e.removeEventListener("keydown",S)},g(),e.body.appendChild(r);let U=e.querySelector("[data-reticle-overlay]");if(U!==null){let L=new MutationObserver(E);L.observe(U,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>L.disconnect(),E()}return{destroy:f,isOpen:()=>a}}function c5(){try{return window.localStorage}catch{return}}var _v,t5,n5,o5,Zm,yv=T(()=>{"use strict";Tv();Km();D();et();_v="reticle.tour.seen.",t5=["main","#root","#app"],n5=["[data-reticle-hud]","[data-reticle-chat-panel]"];o5={[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]"};Zm=t=>`${_v}${t}`});var b5={};Ba(b5,{Annotator:()=>Si,RefRegistry:()=>oc,Reticle:()=>Pa,SESSION_AUTO:()=>Za,adapterNames:()=>Dd,buildSnapshot:()=>vd,canvasChartData:()=>bT,commitAndSignal:()=>Vv,createReticleEmitter:()=>jv,describe:()=>Vn,elementHasHoverHandlers:()=>kd,executeAction:()=>vc,executeSequence:()=>qd,getAccessibleName:()=>be,getCapabilities:()=>ro,getRole:()=>we,getStates:()=>Er,hasCapabilities:()=>Id,identifyComponent:()=>Wn,inspectChart:()=>xd,installAnnotator:()=>aA,isVisible:()=>nt,jotaiStore:()=>Mv,markAdapterSource:()=>Od,matchQuery:()=>Tc,mobxStore:()=>Uv,piniaStore:()=>Bv,pushStore:()=>Gv,readComponentState:()=>Ld,readStores:()=>$T,readStoresWithTruncation:()=>bc,recoilStore:()=>Hv,refs:()=>X,registerAdapter:()=>VT,registerCapabilities:()=>Ns,registerReticleDomain:()=>Kv,registerStore:()=>DT,resolveMarkAnchor:()=>Hc,reticle:()=>tp,runQuery:()=>Pd,setCapabilitiesListener:()=>Cd,setIgnoreSelectors:()=>dg,sourceOwner:()=>HT,storeNames:()=>no,svelteStore:()=>Fv,tanstackQueryStore:()=>Dv,unregisterStore:()=>MT,valtioStore:()=>$v,xstateStore:()=>Pv});et();D();var Zb="__reticle_session";function Qb(t,e,n){let r=()=>{try{let l=e?.getItem(Zb);return l!=null&&l.length>0?l:void 0}catch{return}},i=l=>{try{e?.setItem(Zb,l)}catch{}},a=(t!==void 0&&t.length>0?t:void 0)??r()??n();return i(a),a}gt();var dC="vite:afterUpdate",uC=3,pC="no longer resolves to an element",fC="the code changed underneath it";function Tf(t){return t!==null&&typeof t=="object"?t:void 0}function hC(t){return typeof Tf(t)?.on=="function"}function mC(t){let e=Tf(t)?.updates;if(!Array.isArray(e))return[];let n=[];for(let r of e){let i=Tf(r)?.path;typeof i=="string"&&i.length>0&&!n.includes(i)&&n.push(i)}return n}var ac,_s,Ss,_f=class{constructor(e){m(this,ac,0);m(this,_s,[]);m(this,Ss);p(this,Ss,e)}get current(){return c(this,ac)}observe(e){hC(e)&&e.on(dC,n=>this.applied(mC(n)))}applied(e){p(this,ac,c(this,ac)+1),p(this,_s,e.slice(0,uC)),c(this,Ss).markEdited()}staleRefMessage(e){let n=`ref '${ni(e)}' ${pC}`;if(!c(this,Ss).mintedBeforeLastEdit(e))return n;let r=c(this,_s).length===0?"the page hot-updated":`${c(this,_s).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${fC} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};ac=new WeakMap,_s=new WeakMap,Ss=new WeakMap;var cc=new _f(X);D();D();function he(t,e){return t[e]}function rT(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:he(e,"set")}var Sf=0,to=new Set,oT=new WeakSet,Af=new WeakSet,gC=4e3,EC=250,xf=0;function bC(){for(let t of to)t.deref()===void 0&&to.delete(t);for(;to.size>gC;){let t=to.values().next();if(t.done===!0)break;to.delete(t.value)}}function sT(){let t=[];for(let e of to){let n=e.deref();n!==void 0&&t.push(n)}return t}var bd=new Set;function iT(t,e){if(!oT.has(t)){oT.add(t),to.add(new WeakRef(t)),xf+=1,xf>=EC&&(xf=0,bC()),Af.add(e);for(let n of bd)n(t)}}function aT(){return sT()}function cT(t){return Af.has(t)}function Td(t){if(!Af.has(t))return null;for(let e of sT())if(e.host===t)return e;return null}function lT(t){return bd.add(t),()=>bd.delete(t)}function dT(){let t=Element.prototype,e=he(t,"attachShadow");if(typeof e!="function")return()=>{};Sf+=1;let n=function(s){let a=e.call(this,s);return iT(a,this),a};t.attachShadow=n;let r=i=>{for(let s of i.querySelectorAll("*")){let a=s.shadowRoot;a!==null&&(iT(a,s),r(a))}};return document.documentElement!==null&&r(document.documentElement),()=>{he(t,"attachShadow")===n&&(t.attachShadow=e),Sf-=1,!(Sf>0)&&(to.clear(),bd.clear())}}_n();Pt();gt();et();var yT=new Set(["button","link","textbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),UC=new Set(["script","style","noscript","template","head","meta","link"]),HC=new Set(["alert","status"]);function FC(t,e){if(HC.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var xT=80;function BC(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>xT?`${n.slice(0,xT)}\u2026`:n}var GC=50;function RT(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function jC(t){return UC.has(t.tagName.toLowerCase())||mn(t)?!0:RT(t)}function VC(t){let e=Er(t).filter(n=>n===oe.DISABLED||n===oe.CHECKED||n===oe.EXPANDED||n===oe.PRESSED||n===oe.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function KC(t,e,n,r,i,s=""){let a=" ".repeat(e),l=wf(t),d=r,u=d.length>0?` "${d}"`:"",f=yT.has(n)||d.length>0?` (ref=${X.refFor(t)})`:"",E=l!==void 0&&l.length>0?` [value="${l}"]`:"",g=i.length>0?` [${i}]`:"",_=s.length>0?` [text="${s}"]`:"";return`${a}- ${n}${u}${f}${E}${_}${g}${VC(t)}`}function WC(t,e){return`${" ".repeat(t)}- text "${e}"`}function zC(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 AT(t,e){for(let n of t){if(e.unread.length>=GC){e.unreadOverflow=!0;return}e.unread.push(X.refFor(n))}}function YC(t){let e=[...t.children],n=t.shadowRoot??Td(t);if(n!==null&&e.push(...n.children),Sd(t))try{let r=t.contentDocument?.body;r!=null&&e.push(...r.children)}catch{}return e}function vT(t,e,n,r){if(jC(t)){RT(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=we(t),l=be(t),d=yT.has(a),u=r||FC(t,a),f=n.mode===as.INTERACTIVE&&!u,E=!f&&l.length===0?BC(t):"",g=f?"":zC(s),_=d,S=_||a!=="generic"||l.length>0||E.length>0||g.length>0,U=f?_:S;f&&!U&&S&&(n.leanSkipped+=1),U?(n.nodes+=1,n.lines.push(a==="generic"&&E.length>0&&g.length===0?WC(e,E):KC(t,e,a,l,g,E)),If(t,e+1,n,u)):If(t,e,n,u)}function If(t,e,n,r=!1){let i=YC(t);if(e>n.maxDepth){i.length>0&&(n.truncated=!0,AT([t],n));return}for(let s=0;s<i.length;s+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,AT(i.slice(s),n);return}let a=i[s];a!==void 0&&vT(a,e,n,r)}}function qC(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 XC(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 ZC(t){let e=qC(t),n=XC(t);return{route:`${location.pathname}${location.search}${location.hash}`,title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function vd(t={}){let e=t.mode??as.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=ZC(i);if(r)return{tree:"",status:s,nodes:0,truncated:!1,scopeMissing:!0};if(e===as.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?vT(i,0,a,!1):If(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 QC=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],JC={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"};function eI(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 NT(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 QC){let a=i.getPropertyValue(s);a.length>0&&a!==JC[s]&&n.push({on:eI(r),property:s,value:a})}}return n}D();_n();Pt();et();jn();oo();oi();gt();var Md="data-testid",JT=id,dI=12,uI=2e3,pI=`[${JT}], [${Md}], button, a, input, select, textarea, [role]`;function io(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}function ws(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}function Cs(t,e){return ws(t).toLowerCase().includes(ws(e).toLowerCase())}function fI(t,e){return ws(t)===ws(e)}var hI=["script","style","template","noscript"];function e_(t){return hI.includes(t.tagName.toLowerCase())}function mI(t){if(me(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return e_(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>e.textContent??"").join("")}function Ff(t,e){if(e_(t)||mn(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+=Ff(r,e));return n}function gI(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 Bf(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=X.resolve(t);if(Ct(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(Ct(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function EI(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${JT}^="${n}"]`))}catch{return[]}}function bI(t,e){let n=[],r=0;for(let i of Array.from(t.querySelectorAll(pI))){if(r>=uI)break;r+=1;let s=Wn(i);s!==null&&s.componentStack[0]===e&&n.push(i)}return n}function KT(t,e){if(e.source!==void 0){let n=EI(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?bI(t,e.component):[]}function Hf(t,e,n){return io(t).filter(r=>we(r)===e&&(n===void 0||fI(be(r),n)))}function WT(t,e){return io(t).filter(n=>Cs(mI(n),e))}function zT(t,e){return io(t).filter(n=>gI(n)&&Cs(be(n),e))}function YT(t,e){return io(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&Cs(r,e)})}function qT(t,e){return io(t).filter(n=>n.getAttribute(Md)===e)}function XT(t,e){return io(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&Cs(r,e)})}function ZT(t,e){let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case pt.ROLE:return Hf(t,r,e.name);case pt.TEXT:return WT(t,r);case pt.LABEL:return zT(t,r);case pt.PLACEHOLDER:return YT(t,r);case pt.TESTID:return qT(t,r);case pt.ALT:return XT(t,r);case pt.COMPONENT:return KT(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?KT(t,e):e.role!==void 0?Hf(t,e.role,e.name):e.text!==void 0?WT(t,e.text):e.label!==void 0?zT(t,e.label):e.placeholder!==void 0?YT(t,e.placeholder):e.testid!==void 0?qT(t,e.testid):e.alt!==void 0?XT(t,e.alt):[]}function TI(t){try{return t.contentDocument?.body??null}catch{return null}}var _I=3;function SI(t){let e=[],n=(r,i)=>{for(let s of r.querySelectorAll("*")){let a=s.shadowRoot??Td(s);if(a!==null){e.push(a),n(a,i);continue}if(i>=_I||!Sd(s))continue;let l=TI(s);l!==null&&(e.push(l),n(l,i+1))}};return n(t,0),e}function xI(t){let{container:e,scopeMissing:n}=Bf(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&&!Cs(Ff(e,new Map),t.text)?{candidates:[],scopeMissing:n}:{candidates:mn(e)?[]:[e],scopeMissing:n};let r=new Set,i=[],s=a=>{for(let l of a)r.has(l)||mn(l)||(r.add(l),i.push(l))};s(ZT(e,t));for(let a of SI(e))s(ZT(a,t));return{candidates:i,scopeMissing:n}}var AI=512,yI=12;function RI(t,e){let n={};for(let r of e.slice(0,yI)){let i=t.getAttribute(r);i!==null&&(n[r]=He(r)?ye:i.slice(0,AI))}return Object.keys(n).length>0?n:void 0}function vI(t,e,n){return oe.IN_VIEWPORT===e?Cf(t,n):Er(t,nt(t,n)).includes(e)}var QT=H.MAX_COLLECTION_ITEMS;function Tc(t,e,n=QT){let r=xI(t),i=r.candidates,s=r.scopeMissing,a=new Map,l=e===void 0?i:i.filter(g=>vI(g,e,a)),d=t.attrs,u=l.slice(0,Math.max(0,Math.min(n,QT))),f=u.length>1,E=u.map(g=>{let _=Vn(g,a);if(f&&Cf(g,a)&&!_.states.includes(oe.IN_VIEWPORT)&&(_={..._,states:[..._.states,oe.IN_VIEWPORT]}),d===void 0||d.length===0)return _;let S=RI(g,d);return S===void 0?_:{..._,attrs:S}});return{matched:l.length>0,count:l.length,elements:E,...s?{scopeMissing:!0}:{},...l.length===0?{hint:t_(t)}:{}}}function NI(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 OI(t){let e=Bf(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=Hf(e,i,void 0);for(let a of s){if(Le(a))continue;let l=a.getAttribute("aria-label")??NI(a)??a.getAttribute("data-testid")??void 0,d=a.querySelectorAll("[role]"),u=[];for(let E of Array.from(d)){if(u.length>=3)break;let g=E.getAttribute("role"),_=E.getAttribute("aria-label")??E.getAttribute("data-testid")??E.textContent?.trim().slice(0,40)??"";g!==null&&_.length>0&&u.push(`${g}[${_}]`)}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 wI(t,e){let n,r=-1,i=new Map;for(let s of io(t)){if(mn(s)||!Cs(Ff(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 CI(t){return t.text!==void 0?t.text:pt.TEXT===t.by?t.value:void 0}var II=5;function LI(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=ws(r).toLowerCase();if(i.length===0)return[];let s=[];for(let a of io(t)){if(mn(a)||we(a)!==n)continue;let l=ws(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>=II))break}return s}function t_(t){let e=Bf(t.scope).container??document.body,n=e.querySelectorAll(`[${Md}]`),r=[],i=new Set;for(let E of Array.from(n)){if(mn(E))continue;let g=E.getAttribute(Md);g===null||g.length===0||i.has(g)||(i.add(g),r.length<dI&&r.push(g))}let s=jT(),a=r.some(E=>s.includes(E)),d={route:`${location.pathname}${location.search}`,presentTestids:r,...i.size>r.length?{presentTestidsTotal:i.size}:{},presentRegions:OI(t),knownEmptyState:a},u=CI(t);if(u!==void 0){let E=wI(e,u);E!==void 0&&(d.splitText=Vn(E))}let f=LI(e,t);return f.length>0&&(d.nameNearMiss=f),d}function Pd(t,e){let n=Tc(t,void 0,e),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:t_(t),...r}:{elements:n.elements,count:n.count,...r}}D();Is();gt();D();Pt();_n();var kI=new Set(["submit","button","reset","image"]);function DI(t){return Ct(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!kI.has(t.type.toLowerCase()):!1}function Ud(t){let e=t.closest("form"),n=DI(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 MI='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function n_(t){let e=t.closest("form")?.querySelector(MI);return e instanceof HTMLElement?e:null}function _c(t,e){return Eb(t,e)}_n();function Hd(t,e){let n=gT(t),r=n===void 0?void 0:rT(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 PI(t){let e=t.getAttribute("contenteditable");if(Ct(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 jf(t,e){if(PI(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function Vf(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`)}Pt();oi();_n();Ve();et();var Kf=200,d_=" | ",UI=3,HI=/\p{L}/u;function FI(t){return HI.test(t)}var BI=3;function GI(t){return t instanceof Element&&t.querySelectorAll("*").length>BI}var Ls,Sc,ao,Wf,zf,Bd=class{constructor(){m(this,ao);m(this,Ls,new Set);m(this,Sc,0)}collect(e){for(let n of e){if(h(this,ao,Wf).call(this))return;if(n.type==="characterData"){h(this,ao,zf).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(h(this,ao,Wf).call(this))return;if(GI(r))continue;let i=UI===r.nodeType?r.parentElement:jI(r);h(this,ao,zf).call(this,r.textContent,i)}}}effect(e){let n=[...c(this,Ls)].filter(i=>i!==e);if(n.length===0)return{};let r=n.join(d_);return{appeared:r.length>Kf?`${r.slice(0,Kf)}\u2026`:r}}};Ls=new WeakMap,Sc=new WeakMap,ao=new WeakSet,Wf=function(){return c(this,Sc)>Kf},zf=function(e,n){if(n!==null&&mn(n))return;let r=(e??"").replace(/\s+/g," ").trim();r.length!==0&&FI(r)&&(c(this,Ls).has(r)||(c(this,Ls).add(r),p(this,Sc,c(this,Sc)+(r.length+d_.length))))};function jI(t){return t instanceof Element?t:t.parentElement}D();_n();var VI=new Set(["checkbox","switch"]),u_="aria-checked",Gd=t=>!me(t)&&VI.has(t.getAttribute("role")??""),p_=t=>t.getAttribute(u_)==="true";function f_(t,e,n){if(n||!Gd(t)||e!==R.CHECK&&e!==R.UNCHECK)return;let r=e===R.CHECK;if(p_(t)!==r)throw new Error(`${e} clicked the ${t.getAttribute("role")??""} but ${u_} is still "${String(!r)}" \u2014 the app did not toggle it`)}function jd(t,e){if(e!==R.CHECK&&e!==R.UNCHECK)return!1;let n=e===R.CHECK;return me(t)?t.checked===n:Gd(t)&&p_(t)===n}D();Is();Ve();_n();var Yf=t=>new Promise(e=>z(e,t));function m_(t,e=""){return typeof t=="string"?t:e}function Kd(t){return Kp(t)}function g_(t){let e=t.modifiers,n=Array.isArray(e)?e.map(i=>m_(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 Vd(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)&&KI.has(e)?e:""}var KI=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"]),WI="no document to press into";function E_(){let t=document.activeElement;if(Ct(t)&&document.body!==t)return t;if(Ct(document.body))return document.body;let e=document.documentElement;if(Ct(e))return e;throw new Error(WI)}function b_(t,e,n){return t.length===0&&yE(n)&&R.PRESS===e}function T_(t){let e=t.keys;return Array.isArray(e)?e.map(n=>m_(n)).filter(n=>n.length>0):[]}var zI=33,h_=500;async function __(t,e,n,r,i){let s=Date.now();for(i>h_&&await Yf(h_);Date.now()-s<i;)Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r}))),await Yf(Math.min(zI,Math.max(0,i-(Date.now()-s))))}async function S_(t,e,n,r){let i=!1;for(let s of e){let a=Vd({},s);Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:s,code:a,bubbles:!0,cancelable:!0,...n})))||(i=!0)}r>0&&await Yf(r);for(let s of[...e].reverse()){let a=Vd({},s);Fe(()=>t.dispatchEvent(new KeyboardEvent("keyup",{key:s,code:a,bubbles:!0,...n})))}return i}gt();et();var YI=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],qI=3;function Wd(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=(d,u)=>(r.elementsFromPoint?.(d,u)??[n.elementFromPoint(d,u)]).find(E=>E!==null&&!qi(E))??null,s=new Map;for(let[d,u]of YI){let f=i(e.left+e.width*d,e.top+e.height*u);f!==null&&(f===t||t.contains(f)||f.contains(t)||s.set(f,(s.get(f)??0)+1))}let a=null,l=0;for(let[d,u]of s)u>l&&(a=d,l=u);return l>=qI?a:null}Ve();Is();var zd={occluded:!1,occludedBy:null,scrolledIntoView:!1};function Sn(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function Yd(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}async function Ac(t,e,n){let r=t.ownerDocument,i=r.activeElement??r.body,s={bubbles:!0,cancelable:!0,detail:n??0};xc(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 xc(t,"pointerup",i),Fe(()=>t.dispatchEvent(Sn(t,"mouseup",s))),{prevented:!Fe(()=>t.dispatchEvent(Sn(t,"click",s))),heldMs:a}}function XI(t){return t.width>0||t.height>0}function ZI(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 QI(t,e){let n=Wd(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:X.refFor(n)}}function N_(t){if(typeof t.getBoundingClientRect!="function")return zd;let e=t.getBoundingClientRect();if(!XI(e))return zd;let n=!1;return ZI(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect()),{...QI(t,e),scrolledIntoView:n}}function xc(t,e,n=null){Fe(()=>t.dispatchEvent(Yd(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function O_(t,e,n=null){Fe(()=>t.dispatchEvent(Yd(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function JI(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,x_=0,A_=5;function y_(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function eL(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 qf(t,e,n){let r=e??t,i=y_(t),s=y_(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")?Yd(_,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 so();let f=!1,E=!1;for(let _=1;_<=A_;_+=1){let S=eL(i,s,_/A_);!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&&!E&&d!==null&&u(d,S)&&(E=!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 so()}!E&&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,x_),a(r,"mouseup",s,x_);let g=!1;if(typeof DragEvent=="function"){let _=JI(n),S={bubbles:!0,cancelable:!0};_!==null&&(S.dataTransfer=_),t.dispatchEvent(new DragEvent("dragstart",S)),await so(),r.dispatchEvent(new DragEvent("dragenter",S)),r.dispatchEvent(new DragEvent("dragover",S)),await so(),g=!r.dispatchEvent(new DragEvent("drop",S)),t.dispatchEvent(new DragEvent("dragend",S))}return g}async function w_(t,e){let n=tL(t);R_(t,"pointerdown"),Fe(()=>t.dispatchEvent(v_("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(v_("touchend",[]))),R_(t,"pointerup"),{prevented:!Fe(()=>t.dispatchEvent(Sn(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function R_(t,e){Fe(()=>t.dispatchEvent(Yd(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function tL(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 v_(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 nL=400,rL=.8;function oL(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 C_(t,e,n,r){let i=t!==void 0?X.resolve(t):null;return Xf(i instanceof Element?i:void 0,e,n,r)}function Xf(t,e,n,r){let s=t!==void 0?oL(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*rL)||nL);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 yc(t,e=""){return typeof t=="string"?t:e}function iL(t){let e=X.resolve(t);if(e===null)throw new Error(`ref '${ni(t)}' no longer resolves to an element`);if(!_d(e))throw new Error(`ref '${ni(t)}' is not an HTML or SVG element`);return e}function sL(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=we(t),a=be(t);return s.length>0&&(r.role=s),a.length>0&&(r.name=a),r}var aL=(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},cL=new Set([R.FILL,R.TYPE,R.CLEAR,R.SELECT]),lL=t=>cL.has(t),dL=new Set([R.CLICK,R.DBLCLICK,R.CHECK,R.UNCHECK]);function D_(t){let e=yc(t.toRef);return e!==""?e:yc(t.target)}var I_=new Set(["content","name","type","__base64"]),uL=new Set([Wo,Mg,"holdMs"]);function pL(t){let e=Object.keys(t),n=e.filter(i=>!I_.has(i)&&!uL.has(i));if(n.length===0&&e.some(i=>I_.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 fL(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&&Kd(n)==="Enter",i=e===R.DRAG?X.resolve(D_(n)):null,s=e===R.PRESS&&Kd(n)==="Enter"?n_(t):null,a=_c(Ud(t),we(t))||s!==null&&_c(Ud(s),we(s)),l=_d(i)&&_c(Ud(i),we(i));if(r&&(a||l)&&n[Wo]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${Wo}=true`)}function M_(t){return!Er(t).includes(oe.DISABLED)}function L_(t){if(me(t)||Et(t)||Tn(t))return t.value}function k_(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:X.refFor(e)}var hL=3e4;function Rc(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,hL)}async function mL(t,e,n){if(R.CLICK===e){let r=Rc(n.holdMs);return await Ac(t,r===0?void 0:{ms:r,sleep:Qf,now:()=>Date.now()})}if(R.TAP===e){let r=Rc(n.holdMs);return await w_(t,r===0?void 0:{ms:r,sleep:Qf,now:()=>Date.now()})}return{prevented:await EL(t,e,n),heldMs:0}}var gL="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 Zf(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function EL(t,e,n){switch(e){case R.DBLCLICK:return await Ac(t,void 0,1),await Ac(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;xc(t,"pointerover",i),t.dispatchEvent(Sn(t,"mouseover",{bubbles:!0,relatedTarget:i})),O_(t,"pointerenter",i),t.dispatchEvent(Sn(t,"mouseenter",{relatedTarget:i})),xc(t,"pointermove",i);let s=t.dispatchEvent(Sn(t,"mousemove",{bubbles:!0,cancelable:!0})),a=Rc(n.holdMs);return a>0&&await Qf(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 Vf(t,"fill"),t.focus(),Hd(t,n.value)}throw jf(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 Vf(t,"type"),t.focus(),Hd(t,t.value+n.text)}throw jf(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case R.CLEAR:if(me(t)||Et(t))return Hd(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=Gd(t);if(!me(t)&&!r)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!M_(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!me(t))return jd(t,e)?!1:(await Ac(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(jd(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=mT(t)?t:t.closest("form");if(r===null)throw new Error("no form to submit");return r.requestSubmit(),!1}case R.PRESS:{let r=g_(n),i=T_(n);if(i.length>0)return await S_(t,i,r,Rc(n.holdMs));let s=Kd(n),a=Vd(n,s),l=Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:s,code:a,bubbles:!0,cancelable:!0,...r}))),d=Rc(n.holdMs);return d>0&&await __(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(gL);case R.SCROLL:{let r=Zf(n.dy),i=Zf(n.dx),s=Zf(n.fraction);return Xf(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">');pL(n);let r=yc(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],yc(n.name,"file.txt"),{type:yc(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=D_(n);if(r==="")return await qf(t,null,n.data);let i=X.resolve(r);if(!_d(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 qf(t,i,n.data)}default:throw new Error(`unknown action '${e}'`)}}function bL(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,TL))}var TL=200;async function vc(t,e,n={}){let r=0<t.length,i=b_(t,e,n)?E_():iL(t);r&&fL(i,e,n);let s=r?sL(i):{},a=nt(i),l=M_(i),d=k_(i),u=L_(i),f=dL.has(e)?N_(i):zd,E=jd(i,e),g=0,_=new Bd,S=new MutationObserver(Ne=>{g+=Ne.length,_.collect(Ne)});S.observe(i.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let U=!1,L=0,G=!1,$=null;try{let Ne=await mL(i,e,n);U=Ne.prevented,L=Ne.heldMs}finally{let Ne=bL(n.settleMs),Yt=await l_(Ne);G=Yt.settled,$=Yt.settled?null:Ug.TIMEOUT,S.disconnect()}f_(i,e,E);let Q=L_(i),se=k_(i),xe={dispatched:!0,targetMatched:r&&i.isConnected,visible:a,enabled:l,defaultPrevented:U,focusMoved:d!==se?`${d??"null"}->${se??"null"}`:null,valueChanged:lL(e)?u!==Q:!1,domMutatedWithin:g,..._.effect(Q),occluded:f.occluded,occludedBy:f.occludedBy,scrolledIntoView:f.scrolledIntoView,...L>0?{heldMs:L}:{},...E?{alreadyAtValue:!0}:{}},ge=r?f.occluded?Xl.CLICK_OCCLUDED:e===R.HOVER&&kd(i)?Xl.HOVER_NATIVE_ENTER_LEAVE:void 0:Xl.GLOBAL_PRESS;return aL(t,e,xe,G,$,s,ge)}var Qf=t=>new Promise(e=>z(e,t));async function P_(t,e,n=!1){if(_c(t)&&!n)throw new Error(`potentially destructive WebMCP tool blocked; retry with ${Wo}=true`);let r=navigator.modelContext;if(r===void 0||typeof r.callTool!="function")throw new Error("WebMCP (navigator.modelContext) not available on this page");return await r.callTool(t,e)}async function qd(t){let e=[],n=[];for(let r of t){let i=await vc(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}}Pt();mc();var $_="data-theme";function _L(){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 SL(){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 _L()){let s=xL(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 xL(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 AL(){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=SL(),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:AL()}}gt();_n();D();jn();function W(t){try{t()}catch{}}function rn(t){try{return t()}catch{return}}function Nc(t){try{return t()}catch{return null}}function Xd(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?Xd(Nc(()=>window.localStorage)):t===ei.SESSION?Xd(Nc(()=>window.sessionStorage)):ei.COOKIE===t?B_():{local:Xd(Nc(()=>window.localStorage)),session:Xd(Nc(()=>window.sessionStorage)),cookies:B_()}}function ii(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===Nc(()=>window.sessionStorage)?ei.SESSION:ei.LOCAL,a=(f,E)=>{try{return f.getItem(E)}catch{return null}},l=function(f,E){let g=rn(()=>a(this,f))??null;n.call(this,f,E),g!==E&&W(()=>{t(b.STORAGE_CHANGE,{area:s(this),key:f,...ii(f,g)===void 0?{}:{old:ii(f,g)},new:ii(f,E)??ye})})};e.setItem=l;let d=function(f){let E=rn(()=>a(this,f))??null;r.call(this,f),W(()=>{t(b.STORAGE_CHANGE,{area:s(this),key:f,...ii(f,E)===void 0?{}:{old:ii(f,E)}})})};e.removeItem=d;let u=function(){let f=s(this),E=[];try{for(let g=0;g<this.length;g+=1){let _=this.key(g);_!==null&&E.push({key:_,old:a(this,_)})}}catch{}i.call(this);for(let{key:g,old:_}of E)W(()=>{t(b.STORAGE_CHANGE,{area:f,key:g,...ii(g,_)===void 0?{}:{old:ii(g,_)}})})};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 yL=is.FULL_PAGE_UNSUPPORTED,RL=[yL,is.NOT_COMPOSITED],vL="__TAURI_INTERNALS__";function NL(){let t=window[vL];if(typeof t?.invoke!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(gd,{fullPage:n===!0});return typeof r=="string"?r:null}}async function OL(t){let e=[...document.querySelectorAll(Yi)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await so(),await so()),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:NL();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await OL(()=>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 RL)if(i.includes(s))return{ok:!1,reason:s};return{ok:!1,reason:i}}}oi();ri();jn();oo();function wL(t,e){return Object.getOwnPropertyDescriptor(t,e)?.value}function xn(t,e){let n=wL(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}var CL=12e4,Ds=!1,Tr=0,K_=0,W_=1,_r=[],ks=null,si,Zd={};function z_(){if(ks===null)return;let t=ks,e=t.clearTimeout.bind(window);si!==void 0&&e(si),si=t.setTimeout.bind(window)(()=>{si=void 0,Ms()},CL)}function Y_(){return Ds}function q_(){if(Ds||typeof window>"u")return;Ds=!0,Tr=0,K_=Date.now(),ks={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)),Zd={setTimeout:he(window,"setTimeout"),clearTimeout:he(window,"clearTimeout"),setInterval:he(window,"setInterval"),clearInterval:he(window,"clearInterval")},Date.now=()=>K_+Tr,Zd.dateNow=he(Date,"now"),z_()}function X_(t){if(!Ds)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 Ms(){if(!Ds||ks===null)return;let t=ks,e=_r;si!==void 0&&(t.clearTimeout.bind(window)(si),si=void 0);let n=Zd;Zd={},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(ks=null,_r=[],Ds=!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&&LL(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=IL(a,t,d)}function IL(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 LL(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var Jd="_reticle_reload";function ve(t){return typeof t=="string"?t:void 0}function Q_(t){return typeof t=="number"?t:void 0}function Qd(t){return typeof t=="object"&&t!==null?t:{}}function kL(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:Q_(e.column)}}function DL(t){return{by:ve(t.by),value:ve(t.value),role:ve(t.role),name:ve(t.name),text:ve(t.text),label:ve(t.label),placeholder:ve(t.placeholder),testid:ve(t.testid),alt:ve(t.alt),component:ve(t.component),scope:ve(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:kL(t.source)}}function ML(t){let e=X.resolve(t);if(e===null)throw new Error(cc.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=yd(Ad(e,r?.source)),d=l!==void 0?void 0:_T(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=NT(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:xs(e)||me(e)?e.form?.getAttribute("action")??void 0:void 0,formText:xs(e)||me(e)?e.form?.textContent??void 0:void 0,box:{x:n.x,y:n.y,width:n.width,height:n.height},occluded:PL(e,n),styles:a,scroll:u,theme:s!==null?F_(s):null,component:r}}function PL(t,e){return Wd(t,e)!==null}function $L(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var Z_={ok:!1,reason:Hg.UNAVAILABLE};function UL(t,e,n,r){let i=no();if(n!==void 0||r!==void 0){let d=Mf(e),u=e!==void 0?d[e]:{stores:d,storeNames:i},f=n!==void 0?Tb(u,n):{found:!0,value:u},E=f.found&&r!==void 0?ms(f.value,r):f.value,g=fc(E);return{store:e,path:n,found:f.found,value:g.value,...g.truncation===void 0?{}:{truncation:g.truncation},..."availableKeys"in f?{availableKeys:f.availableKeys}:{},..."totalKeys"in f?{totalKeys:f.totalKeys}:{},storeNames:i}}let{stores:s,truncation:a}=bc(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=Z_;else{let u=Ld(d);l.component=$L(u)?u:Z_}}return l}function HL(){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 FL(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 J_(){let t=new Map;return t.set(C.SNAPSHOT,e=>vd({scope:ve(e.scope),mode:ve(e.mode)??as.FULL,includeRoot:e.includeRoot===!0})),t.set(C.QUERY,e=>{let n=e.limit;return Pd(DL(e),typeof n=="number"?n:void 0)}),t.set(C.MATCH,e=>Tc(nd.parse(Qd(e.query)),ve(e.state))),t.set(C.ACT,e=>{let n=ve(e.action)??"";if(n===R.WEBMCP){let r=Qd(e.args);return P_(ve(r.tool)??"",Qd(r.params),r[Wo]===!0)}return vc(ve(e.ref)??"",n,Qd(e.args))}),t.set(C.ACT_SEQUENCE,e=>qd(Array.isArray(e.steps)?e.steps:[])),t.set(C.INSPECT,e=>ML(ve(e.ref)??"")),t.set(C.ANIMATIONS,()=>HL()),t.set(C.CLOCK,e=>{if(e.reset===!0)Ms();else{e.freeze===!0&&q_();let n=e.advanceMs;typeof n=="number"&&X_(n)}return{frozen:Y_()}}),t.set(C.STATE_READ,e=>UL(ve(e.ref),ve(e.store),ve(e.path),Q_(e.depth))),t.set(C.STORAGE_READ,e=>G_(ve(e.area))),t.set(C.CAPABILITIES,()=>ro()),t.set(C.CAPTURE,e=>V_(e.fullPage===!0)),t.set(C.SCROLL,e=>{let n=e.dy,r=e.fraction;return C_(ve(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(C.NAVIGATE,e=>{let n=ve(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=FL(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(Jd,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}D();Ve();Ec();jn();function BL(t){if(typeof document>"u")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var Jf=1e3,GL=3e4;function jL(t){return Math.min(t*2,GL)}var VL=500,KL=1008,WL=3,bt,Sr,co,nu,xr,Ps,ai,$s,wc,Us,Cc,Hs,ci,Fs,Bs,Tt,Ic,fe,eS,eu,eh,tS,th,nh,nS,Oc,rS,tu=class{constructor(e){m(this,fe);m(this,bt);m(this,Sr,[]);m(this,co,[]);m(this,nu,0);m(this,xr,!1);m(this,Ps);m(this,ai,Jf);m(this,$s,!1);m(this,wc,!1);m(this,Us,0);m(this,Cc,!1);m(this,Hs,0);m(this,ci);m(this,Fs);m(this,Bs);m(this,Tt);m(this,Ic);p(this,Tt,e),p(this,Ic,e.now??Fd)}connect(){typeof WebSocket>"u"||(p(this,xr,!1),c(this,Bs)??p(this,Bs,(c(this,Tt).onVisible??BL)(()=>h(this,fe,eS).call(this))),h(this,fe,eu).call(this))}sendEvent(e){h(this,fe,Oc).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,Bs))==null||e.call(this),p(this,Bs,void 0),c(this,bt)?.close(),p(this,bt,void 0)}};bt=new WeakMap,Sr=new WeakMap,co=new WeakMap,nu=new WeakMap,xr=new WeakMap,Ps=new WeakMap,ai=new WeakMap,$s=new WeakMap,wc=new WeakMap,Us=new WeakMap,Cc=new WeakMap,Hs=new WeakMap,ci=new WeakMap,Fs=new WeakMap,Bs=new WeakMap,Tt=new WeakMap,Ic=new WeakMap,fe=new WeakSet,eS=function(){c(this,xr)||(p(this,ai,Jf),c(this,bt)===void 0&&h(this,fe,eu).call(this))},eu=function(){let e;try{e=new WebSocket(c(this,Tt).url)}catch{h(this,fe,nh).call(this),h(this,fe,th).call(this),h(this,fe,eh).call(this);return}p(this,bt,e),e.onopen=()=>{p(this,Ps,void 0),p(this,$s,!1),p(this,wc,!0),p(this,ai,Jf);let n=c(this,Tt).hello();c(this,Fs)??p(this,Fs,n.sessionId),e.send(JSON.stringify(n)),h(this,fe,rS).call(this,e,n.sessionId);let r=[...c(this,Sr),...c(this,co)].sort((i,s)=>i.order-s.order);for(let i of r)e.send(i.text);p(this,Sr,[]),p(this,co,[]),c(this,Tt).onConnected?.()},e.onmessage=n=>{let r=n.data;h(this,fe,nS).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{if(p(this,bt,void 0),n.code===KL){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,nh).call(this),h(this,fe,th).call(this),h(this,fe,eh).call(this)},e.onerror=()=>{e.close()}},eh=function(){if(c(this,xr))return;let e=c(this,ai);p(this,ai,jL(e)),(c(this,Tt).schedule??z)(()=>h(this,fe,tS).call(this),e)},tS=function(){c(this,xr)||c(this,bt)!==void 0||h(this,fe,eu).call(this)},th=function(){c(this,wc)||c(this,Cc)||(p(this,Us,c(this,Us)+1),c(this,Us)>=WL&&(p(this,Cc,!0),c(this,Tt).onUnreachable?.({url:c(this,Tt).url,attempts:c(this,Us)})))},nh=function(){let e=c(this,Ic).call(this);c(this,Ps)??p(this,Ps,e),!c(this,$s)&&e-c(this,Ps)>=CE.BRIDGE_LOST_MS&&(p(this,$s,!0),c(this,Tt).onConnectionLost?.())},nS=async function(e){let n;try{n=JSON.parse(e)}catch{return}let r=of.safeParse(n);if(!r.success){let a=n?.id;typeof a=="string"&&a.length>0&&h(this,fe,Oc).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,Fs)){h(this,fe,Oc).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,Fs)??"(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,Oc).call(this,Gn({kind:ft.COMMAND_RESULT,id:i.id,ok:s.ok,result:s.result,error:s.error}))},Oc=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,co).length>=VL){let s=c(this,Sr).length>0?c(this,Sr).shift():c(this,co).shift();if(s?.event!==void 0){p(this,Hs,c(this,Hs)+1);let a=c(this,ci);(a===void 0||s.event.t<a.t)&&p(this,ci,s.event)}}let r=n!==void 0&&xE.has(n.type),i=sg(this,nu)._++;r?c(this,Sr).push({text:e,event:n,order:i}):c(this,co).push({text:e,event:n,order:i})},rS=function(e,n){let r=c(this,ci);if(r===void 0)return;let i={t:r.t,seq:r.seq,type:b.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,Hs)}};e.send(Gn({kind:ft.EVENT,event:i})),p(this,ci,void 0),p(this,Hs,0)};rh();oi();D();ri();function sS(){let t=[A.UI,A.NET,A.LOG,A.ROUTE,A.STORAGE,A.TIME,A.SIGNAL];return no().length>0?[...t,A.STATE]:t}D();var zL="__TAURI_INTERNALS__";function aS(){if(typeof window>"u")return Hn.SERVICE;let t=window;return t[eo]!==void 0||t[zL]!==void 0?Hn.WEBVIEW:Hn.WEB}var YL=[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 cS(){return[...YL]}oo();D();Pt();gt();et();_n();function qL(t){try{return t.contentDocument?.body??null}catch{return null}}function oh(t){let e=[],n=(r,i)=>{if(!(i>=3))for(let s of r.querySelectorAll("iframe")){let a=qL(s);a!==null&&(e.push(a),n(a,i+1))}};return n(t,0),e}function lS(t){let e=new AbortController,n=()=>{for(let i of oh(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 dS(t){let e=gr(t)?t:null;return e===null?void 0:e.closest("[data-testid]")?.getAttribute("data-testid")??X.refFor(e)}var XL=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],uS=120;function ru(t){if(t!==null)return t.length>uS?`${t.slice(0,uS)}\u2026`:t}var ZL=new Set(["dialog","alertdialog"]),QL=new Set(["alert","status"]),Lc=40;function pS(t,e){return t!=="generic"||e.length>0}var JL=40;function fS(t){let e=we(t),n=be(t);if(pS(e,n))return{role:e,name:n,el:t};let r=0;for(let i of t.querySelectorAll("*")){if(r>=JL)return;if(r+=1,Le(i))continue;let s=we(i),a=be(i);if(pS(s,a))return{role:s,name:a,el:i}}}var e1=3;function ih(t){let e="";for(let r of t)r.nodeType===e1&&(e+=r.nodeValue??"");let n=e.trim();return n.length>0?n:void 0}function hS(t){let e=dT(),n=new MutationObserver(a=>{let l=0,d=0,u=0,f=0;for(let E of a){if(E.type==="attributes"){let g=E.target;if(gr(g)&&E.attributeName!==null&&!Le(g)){if(u>=Lc){f+=1;continue}u+=1;let _=ru(g.getAttribute(E.attributeName)),S=ru(E.oldValue);t(b.DOM_ATTR,{attr:E.attributeName,..._===void 0?{}:{value:_},...S===void 0?{}:{old:S}},X.refFor(g))}continue}if(E.type==="characterData"){let g=E.target.parentElement;if(g!==null&&!Le(g)){if(u>=Lc){f+=1;continue}u+=1;let _=(E.target.textContent??"").trim().slice(0,80),S=ru(E.oldValue?.trim()??null);t(b.DOM_TEXT,{text:_,...S===void 0?{}:{old:S}},X.refFor(g))}continue}if(ih(E.addedNodes)!==void 0||ih(E.removedNodes)!==void 0){let g=gr(E.target)?E.target:null;if(g!==null&&!Le(g))if(u>=Lc)f+=1;else{u+=1;let _=(g.textContent??"").trim().slice(0,80),S=ru(ih(E.removedNodes)??null);t(b.DOM_TEXT,{text:_,...S===void 0?{}:{old:S}},X.refFor(g))}}for(let g of E.addedNodes){if(!gr(g))continue;if(l>=Lc){f+=1;continue}if(Le(g))continue;let _=fS(g);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:dS(E.target)},L),(ZL.has(S)||QL.has(S)||g.getAttribute("aria-modal")==="true")&&nt(g)&&t(b.VISIBLE_SHOWN,{role:S,name:U},L)}for(let g of E.removedNodes){if(!gr(g))continue;if(d>=Lc){f+=1;continue}if(Le(g)||gr(E.target)&&Le(E.target))continue;let _=fS(g);if(_===void 0)continue;let{role:S,name:U}=_;d+=1,t(b.DOM_REMOVED,{role:S,name:U,region:dS(E.target)})}}f>0&&t(b.TRUNCATED,{channel:ql.DOM,dropped:f})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:XL,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let a of aT())n.observe(a,r);let i=lT(a=>n.observe(a,r)),s=lS(a=>n.observe(a,r));return()=>{s(),i(),e(),n.disconnect()}}D();ri();jn();function mS(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function t1(t,e){if(!mS(t)||!mS(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 gS(t,e){return He(t)?ye:pc(e)}function ES(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function bS(t){try{return t()}catch{return}}function TS(t){let e=new Map,n=([i,s,a])=>{try{e.get(i)?.()}catch{}let l=bS(s);e.set(i,a(()=>{W(()=>{let d=bS(s),u=t1(l,d);l=d;for(let f of u){let E=gS(f.path,f.new),g=gS(f.path,f.old);(He(f.path)?ES(pc(f.old),pc(f.new)):ES(g,E))||W(()=>t(b.STATE_CHANGE,{name:i,path:f.path,value:E,old:g}))}})}))};for(let i of PT())n(i);e.size===0&&t(b.BLIND_SPOT,{kind:mt.UNWATCHED_STATE,count:1});let r=kT(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();Pt();function Gs(t){if(!(t instanceof Element)||t===document.body)return;let e=we(t),n=be(t);return n.length>0?`${e} "${n}"`:e}function n1(t){return t===null||t===document.body}function _S(t){let e=new AbortController,{signal:n}=e,r=null,i=a=>{let l=a.target,d=r;r=l,t(b.FOCUS_CHANGE,{...Gs(l)===void 0?{}:{to:Gs(l)},...Gs(d)===void 0?{}:{from:Gs(d)},toBody:n1(l)})},s=a=>{if(a.relatedTarget!==null)return;let l=r;r=null,t(b.FOCUS_CHANGE,{...Gs(l)===void 0?{}:{from:Gs(l)},toBody:!0})};return document.addEventListener("focusin",i,{signal:n}),document.addEventListener("focusout",s,{signal:n}),()=>e.abort()}D();Pt();var SS=160,r1=150,o1=/^(cc-|current-password|new-password)/i;function xS(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function i1(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 s1(t){if(t instanceof HTMLInputElement&&t.type==="password")return!0;let e=t.getAttribute("autocomplete");if(e!==null&&o1.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 AS(t){let e=new AbortController,{signal:n}=e,r=new Map,i=(d,u)=>{let f=d.value,E=s1(d);t(b.FIELD_CHANGE,{field:i1(d),kind:u,length:f.length,...E?{redacted:!0}:{value:f.length>SS?`${f.slice(0,SS)}\u2026`:f}})},s=d=>{let u=r.get(d);u!==void 0&&clearTimeout(u),r.delete(d)},a=d=>{let u=d.target;xS(u)&&(s(u),r.set(u,setTimeout(()=>{r.delete(u),i(u,"input")},r1)))},l=d=>{let u=d.target;xS(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 a1(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 c1(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=a1(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 E=f.offsetTop,g=E+f.offsetHeight;E<s&&(s=E),g>a&&(a=g),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 yS(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=c1(e));return t}Ve();function l1(){let t=0;for(let e of document.querySelectorAll("*"))e.tagName.includes("-")&&e.shadowRoot===null&&(cT(e)||e.children.length>0||(e.textContent??"").trim().length>0||e.offsetHeight<=0&&e.offsetWidth<=0||(t+=1));return t}function d1(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function u1(t){let e=0;for(let n of t)d1(n)&&(e+=1);return e}function p1(){return u1(Array.from(document.querySelectorAll("iframe")))}function f1(){return oh(document).length}var h1=250;function RS(t){let e=[{kind:mt.CROSS_ORIGIN_IFRAME,count:p1},{kind:mt.UNINSTRUMENTED_FRAME,count:f1},{kind:mt.CLOSED_SHADOW_ROOT,count:l1},{kind:mt.VIRTUALIZED_UNMOUNTED,count:yS}],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()},h1))});return s.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{i!==void 0&&pe(i),s.disconnect()}}D();D();jn();Ve();var m1=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,g1=/event-stream|x-ndjson|application\/stream/i,E1=/event-stream/i;function OS(t,e){return t!==null&&E1.test(t)?!1:e===null}var b1=500;async function wS(t){let e;try{return await Promise.race([t,new Promise(n=>{e=z(()=>n(void 0),b1)})])}finally{e!==void 0&&pe(e)}}function sh(t){return t===null||g1.test(t)?!1:m1.test(t)}var CS=8192,T1=262144,_1=256,kc=CS;function IS(t){Number.isFinite(t)&&(kc=Math.min(T1,Math.max(_1,Math.floor(t))))}var S1=CS*2;function x1(t){let e=kc*2;return t?Math.min(e,S1):e}var A1=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function vS(t){return t.replace(A1,(e,n)=>`${n} ${ye}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>He(n)?`${n}${r}${ye}`:e)}var NS=4096;function ah(t,e){return e&&t>=400}function ch(t,e){let n=lo(t,e);return n.body.length<=NS?n:{body:n.body.slice(0,NS),truncated:!0}}function lo(t,e){let n=e!==null&&/json|graphql/i.test(e),r=x1(!n),i=t.length>r,s=i?t.slice(0,r):t,a;if(n)try{a=Gn(JSON.parse(s))}catch{a=vS(s)}else a=vS(s);a=Jo(a);let l=i||a.length>kc;return{body:a.length>kc?a.slice(0,kc):a,truncated:l}}var y1=/text\/|json|csv|xml|ndjson|javascript/i,R1=2e3;function LS(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=y1.test(_.type)?_.text().catch(()=>{}):Promise.resolve(void 0);i.set(S,{type:_.type,size:_.size,text:U})}}),S};URL.createObjectURL=a;let l=(g,_)=>{let S=i.get(g);S!==void 0&&(i.delete(g),S.text.then(U=>{W(()=>{d(S,_,U)})}))},d=(g,_,S)=>{let U={mimeType:g.type,bytes:g.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&&!L1.test(r));return(e.find(r=>!k1.test(r))??e[0])?.slice(0,300)}function uh(){return D1(new Error().stack)}function M1(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 US(t){try{let e=performance.getEntriesByName(t,"resource");return M1(e[e.length-1])}catch{return{}}}function P1(t){try{return new URL(t,location.href).pathname===Wl}catch{return t.includes(Wl)}}function $1(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var HS=new WeakSet;function FS(t,e={}){var zi,ng;let n=e.captureBodies===!0,r=e.captureErrorBodies!==!1,i=e.reinterpret,s=xn(window,"fetch"),a=s.bind(window);!$1(s)&&!HS.has(s)&&t(b.BLIND_SPOT,{kind:mt.WRAPPED_NETWORK,count:1});let l=0,d=()=>`n${++l}`;window.fetch=async(De,re)=>{let We=w1(De);if(e.ignore?.(We)===!0)return a(De,re);let le=d(),Qe=performance.now(),Rt=C1(De,re),kl=I1(De,re),Dl=kl===void 0?{}:{[cd]:kl},$a=Un(We),Ua=$a.url,rg=rn(()=>uh()),np=rg===void 0?{}:{initiatorStack:rg};W(()=>{t(b.NET_PENDING,{id:le,method:Rt,...$a,initiator:"fetch",...np})});try{let Je=await a(De,re),zv=performance.now(),Ha=rn(()=>Je.headers.get("content-type"))??null;W(()=>{DS(t,Je,le,Ua,Ha,Je.headers.get("content-length"))}),Ll.add(We);let og=Fa=>{W(()=>{t(b.NET_REQUEST,{id:le,method:Rt,...$a,status:Je.status,ok:PS(Je.status),durationMs:Math.round(zv-Qe),initiator:"fetch",...np,...US(We),...$S(Je.statusText,Ha,Je.headers.get("content-length")),...dh(re?.body,n),...Dl,...Fa,...i?.(Ua,Ml=>Je.headers.get(Ml))??{}})})},Yv=ah(Je.status,r);if((n||Yv)&&sh(Ha)){let Fa;try{Fa=Je.clone()}catch{}(async()=>{let Ml={};if(Fa!==void 0)try{let rp=await wS(Fa.text());if(rp!==void 0){let{body:qv,truncated:Xv}=n?lo(rp,Ha):ch(rp,Ha);Ml={responseBody:qv,...Xv?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}}catch{}try{og(Ml)}catch{}})().catch(()=>{})}else og({});return Je}catch(Je){throw W(()=>{t(b.NET_REQUEST,{id:le,method:Rt,url:Ua,status:0,ok:!1,error:Je instanceof Error?Je.message:String(Je),durationMs:Math.round(performance.now()-Qe),initiator:"fetch",...np,...Dl})}),Je}};let u=xn(window,"fetch");HS.add(u);let f=new WeakMap,E=XMLHttpRequest.prototype,g=he(E,"open"),_=he(E,"send"),S=g;E.open=function(De,re,...We){W(()=>{f.set(this,{id:d(),method:De.toUpperCase(),url:dd(String(re)),rawUrl:String(re),start:0})}),S.call(this,De,re,...We)};let U=he(E,"open"),L=new WeakSet;E.send=function(De){W(()=>{let re=f.get(this);if(re!==void 0){re.start=performance.now(),re.reqBody=De??null,re.initiatorStack=uh();let We=re.initiatorStack===void 0?{}:{initiatorStack:re.initiatorStack};t(b.NET_PENDING,{id:re.id,method:re.method,...Un(re.rawUrl),initiator:"xhr",...We}),L.has(this)||(L.add(this),this.addEventListener("loadend",()=>{W(()=>{let le=f.get(this);if(le===void 0)return;Ll.add(le.rawUrl);let Qe=this.getResponseHeader("content-type"),Rt={},kl=this.responseType===""||this.responseType==="text",Dl=ah(this.status,r);if((n||Dl)&&kl&&sh(Qe))try{let{body:$a,truncated:Ua}=n?lo(this.responseText,Qe):ch(this.responseText,Qe);Rt={responseBody:$a,...Ua?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}catch{}t(b.NET_REQUEST,{id:le.id,method:le.method,...Un(le.rawUrl),status:this.status,ok:PS(this.status),durationMs:Math.round(performance.now()-le.start),initiator:"xhr",...le.initiatorStack===void 0?{}:{initiatorStack:le.initiatorStack},...US(le.rawUrl),...$S(this.statusText,Qe,this.getResponseHeader("content-length")),...dh(le.reqBody,n),...Rt})})}))}}),_.call(this,De??null)};let G=he(E,"send"),$=window.EventSource,Q=window.WebSocket,se,xe;n&&typeof $=="function"&&(window.EventSource=class extends ${constructor(De,re){super(De,re),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,...lh(le.data,n)})})})})}},se=window.EventSource),n&&typeof Q=="function"&&(window.WebSocket=(ng=class extends Q{constructor(re,We){super(re,We);m(this,zi);p(this,zi,P1(String(re))),!c(this,zi)&&W(()=>{let le=Un(String(re));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,...lh(Qe.data,n)})})})})}send(re){if(c(this,zi)){super.send(re);return}super.send(re),W(()=>{t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.OUT,...Un(this.url),...lh(re,n)})})}},zi=new WeakMap,ng),xe=window.WebSocket);let ge=typeof navigator<"u"?Object.getPrototypeOf(navigator):null,Ne=ge===null?void 0:Object.getOwnPropertyDescriptor(ge,"sendBeacon")?.value,Yt;ge!==null&&Ne!==void 0&&(Yt=function(De,re){let We=d(),le=rn(()=>Un(String(De))),Qe=rn(()=>uh()),Rt=Ne.call(this,De,re);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},...dh(re,!1)})}),Rt},ge.sendBeacon=Yt);let Ll=new Set,eg=0,Wv=200,tg;if(typeof PerformanceObserver<"u")try{let De=new PerformanceObserver(re=>{for(let We of re.getEntries()){let le=We;if(eg>=Wv)return;let Qe=le.initiatorType||"other";if(Qe==="fetch"||Qe==="xmlhttprequest")continue;let Rt=le.name;Ll.has(Rt)||(Ll.add(Rt),eg+=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}:{}}))}});tg=De,De.observe({type:"resource",buffered:!0})}catch{}return()=>{tg?.disconnect(),window.fetch===u&&(window.fetch=s),he(E,"open")===U&&(E.open=g),he(E,"send")===G&&(E.send=_),se!==void 0&&window.EventSource===se&&(window.EventSource=$),xe!==void 0&&window.WebSocket===xe&&(window.WebSocket=Q),ge!==null&&Ne!==void 0&&ge.sendBeacon===Yt&&(ge.sendBeacon=Ne)}}D();var U1="Tauri-Response",H1="error",BS={OK:"Ok",ERROR:"Err"},GS=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function jS(t,e){let r=GS.exec(t)?.[1];if(r===void 0)return;let i=e(U1)!==H1;return{url:`${qp}${r}`,initiator:bn.IPC,method:bn.IPC,ok:i,status:i?Ja.OK:Ja.ERROR,statusText:i?BS.OK:BS.ERROR}}function VS(t){return GS.exec(t)?.[1]===gd}function F1(){return navigator.userAgent.includes("Electron")}function KS(t,e={}){let n=window[eo];if(typeof n?.subscribe!="function")return F1()&&t(b.BLIND_SPOT,{kind:mt.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(i=>{W(()=>{let s=`${qp}${i.channel}`;if(i.phase==="start"){t(b.NET_PENDING,{id:i.id,method:bn.IPC,url:s,initiator:bn.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:bn.IPC,url:s,...a?{}:{ok:l,status:l?Ja.OK:Ja.ERROR},...i.oneWay===!0?{oneWay:!0}:{},durationMs:i.durationMs??0,initiator:bn.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 WS(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:ss.LCP,value:a,at:a}))}),n("layout-shift",s=>{let a=s;a.hadRecentInput!==!0&&(r+=a.value??0,t(b.PERF,{metric:ss.CLS,value:r,at:Math.round(s.startTime)}))}),n("longtask",s=>{t(b.PERF,{metric:ss.LONGTASK,value:Math.round(s.duration),at:Math.round(s.startTime)})}),()=>{for(let s of e)s.disconnect()}}D();function B1(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}function zS(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=E=>{W(()=>{let g=B1();g.href!==E&&(a=g.href,t(b.ROUTE_CHANGE,{from:E,to:g.href,pathname:g.pathname,search:g.search,hash:g.hash}))})},d=(E,g,_)=>{let S=location.href;i(E,g,_??null),l(S)},u=(E,g,_)=>{let S=location.href;s(E,g,_??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 G1=new Set(["navigate","reload","back_forward"]);function j1(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function YS(t){let e=j1(),n=e?.type,r=e?.name;if(e===void 0||typeof r!="string"||r.length===0)return()=>{};if(typeof n!="string"||!G1.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:bn.DOCUMENT,durationMs:Math.round(e.duration??0),...s?{status:i,ok:i<400}:{},navigationType:n,...typeof e.transferSize=="number"?{transferSize:e.transferSize}:{}}),()=>{}}D();var V1=/^(javascript|mailto|tel|sms|blob|data):/i;function K1(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}function W1(t,e,n){if(t.length===0||V1.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 qS(t){if(typeof document>"u")return()=>{};let e=0,n=r=>{W(()=>{let i=K1(r.target);if(i===void 0)return;let s=i.getAttribute("href")??"",a=document.location.href,l=i.hasAttribute("download");if(!W1(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:bn.NAVIGATION,...l?{download:!0}:{}}))})})})};return document.addEventListener("click",n,!0),()=>document.removeEventListener("click",n,!0)}D();jn();D();var z1=3,Y1=256,q1={emit:!0},X1={emit:!1};function Z1(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function Q1(t){return gs([t.message,t.source??"",t.line===void 0?"":String(t.line),t.kind??"",t.stack??""].join("\0"))}function XS(t=z1,e=Y1){let n=new Map;return{admit(r){let i=Q1(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?q1:Z1(s)?{emit:!0,repeats:s}:X1}}}var ZS="securitypolicyviolation",J1="report",ek={log:b.CONSOLE_LOG,warn:b.CONSOLE_WARN,error:b.CONSOLE_ERROR,info:b.CONSOLE_INFO,debug:b.CONSOLE_DEBUG};function tk(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:Gn(e)).join(" ")}var QS=H.MAX_STACK_LENGTH;function ph(t){if(!(t===void 0||t.length===0))return t.length>QS?t.slice(0,QS):t}function nk(t){for(let e of t)if(e instanceof Error)return ph(e.stack)}function JS(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let E of e){let g=xn(console,E);n.set(E,g);let _=g.bind(console),S=(...U)=>{_(...U),W(()=>{let L=E==="error"?nk(U):void 0;t(ek[E],{message:tk(U),...L===void 0?{}:{stack:L}})})};r.set(E,S),console[E]=S}let i=XS(),s=E=>{let g=i.admit(E);g.emit&&t(b.ERROR_UNCAUGHT,{...E,...g.repeats===void 0?{}:{repeats:g.repeats}})},a=E=>{if(!(E instanceof ErrorEvent)){let g=E.target;if(!(g instanceof Element)||g===document)return;let _=g.tagName.toLowerCase(),S=g.getAttribute("src")??g.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 g=ph(E.error instanceof Error?E.error.stack:void 0),_={message:E.message,source:E.filename,line:E.lineno,...g===void 0?{}:{stack:g}};s(_)})},l=E=>{W(()=>{let g=E.reason,_=ph(g instanceof Error?g.stack:void 0),S={message:g instanceof Error?g.message:String(g),kind:"unhandledrejection",..._===void 0?{}:{stack:_}};s(S)})},d=E=>{let g=E.blockedURI.length===0?"inline content":E.blockedURI,_=J1===E.disposition;t(_?b.CONSOLE_WARN:b.CONSOLE_ERROR,{message:_?`[Report Only] Content Security Policy directive: ${E.violatedDirective} would block ${g}`:`Content Security Policy directive: ${E.violatedDirective} blocked ${g}`,kind:ZS,...E.blockedURI.length===0?{}:{source:E.blockedURI}})},u=new AbortController,{signal:f}=u;return window.addEventListener("error",a,{capture:!0,signal:f}),window.addEventListener("unhandledrejection",l,{signal:f}),window.addEventListener(ZS,d,{capture:!0,signal:f}),()=>{for(let[E,g]of n)console[E]===r.get(E)&&(console[E]=g);u.abort()}}D();Is();var rk={alert:void 0,confirm:!1,prompt:null},ok=["alert","confirm","prompt"];function ex(t){let e=window,n=new Map,r=new Map;for(let i of ok){let s=e[i];if(typeof s!="function")continue;n.set(i,s);let a=s.bind(window),l=(...d)=>{if(!$d())return a(...d);let u=rk[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 tx(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 nx=100,ik="[data-reticle-reveal], [data-reveal], section";function rx(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?md.DOWN:md.UP}),i=u},l=()=>{let u=performance.now()-r;if(u>=nx){s!==void 0&&(pe(s),s=void 0),a();return}s===void 0&&(s=z(()=>{s=void 0,a()},nx-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(f=>{for(let E of f)E.isIntersecting&&t(b.REVEAL_SHOWN,{ratio:E.intersectionRatio},X.refFor(E.target))},{threshold:.25});let u=d;for(let f of document.querySelectorAll(ik))u.observe(f)}return()=>{e.abort(),s!==void 0&&pe(s),d?.disconnect()}}D();Ve();function sk(){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 ak(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var ck={"google chrome":Oe.CHROME,chrome:Oe.CHROME,"microsoft edge":Oe.EDGE,edge:Oe.EDGE,brave:Oe.BRAVE,opera:Oe.OPERA,arc:Oe.ARC,dia:Oe.DIA,firefox:Oe.FIREFOX,safari:Oe.SAFARI};function lk(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function dk(){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===""||lk(s))continue;let a=ck[s];if(a!==void 0)if(Oe.CHROME===a)r=a;else return a}return r??Oe.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?Oe.EDGE:/OPR\/|Opera/.test(t)?Oe.OPERA:/Firefox/.test(t)?Oe.FIREFOX:/Chrome|Chromium/.test(t)?Oe.CHROME:/Safari/.test(t)?Oe.SAFARI:Oe.OTHER}function uk(){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:sk(),engine:ak(),brand:dk()}}function ox(t){let e=new AbortController,{signal:n}=e,r=s=>{t(b.PAGE_HEALTH,{...uk(),reason:s})};document.addEventListener("visibilitychange",()=>r(us.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>r(us.FOCUS),{signal:n}),window.addEventListener("blur",()=>r(us.BLUR),{signal:n}),r(us.INITIAL);let i=s_(()=>r(us.HEARTBEAT),wE.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"},pk=500;function fh(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(b.SDK_FAILED,{site:e,message:r.slice(0,pk),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function Be(t,e,n){try{return n()}catch(r){return fh(t,e,r),()=>{}}}function ix(t,e){for(let n of e)try{n()}catch(r){fh(t,Pe.TEARDOWN,r)}}function sx(t,e){return[Be(t,Pe.NETWORK_OBSERVER,()=>FS(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:jS,ignore:VS})),Be(t,Pe.IPC_OBSERVER,()=>KS(t,{captureBodies:e.captureBodies})),Be(t,Pe.ANIMATION_OBSERVER,()=>WS(t)),Be(t,Pe.ROUTER_OBSERVER,()=>zS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>YS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>qS(t)),Be(t,Pe.CONSOLE_OBSERVER,()=>JS(t)),Be(t,Pe.CONSOLE_OBSERVER,()=>ex(t)),Be(t,Pe.ANIMATION_OBSERVER,()=>tx(t)),Be(t,Pe.DOM_OBSERVER,()=>rx(t)),Be(t,Pe.DOM_OBSERVER,()=>hS(t)),Be(t,Pe.STORE_ADAPTER,()=>j_(t)),Be(t,Pe.STORE_ADAPTER,()=>TS(t)),Be(t,Pe.DOM_OBSERVER,()=>_S(t)),Be(t,Pe.DOM_OBSERVER,()=>AS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>LS(t,{capturePreview:e.captureBodies})),Be(t,Pe.DOM_OBSERVER,()=>RS(t)),Be(t,Pe.HEALTH_OBSERVER,()=>ox(t)),Be(t,Pe.DOM_OBSERVER,()=>kS(t))]}var fk=["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 ax(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=fk,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()}}}hh();mh();D();gt();Pt();function An(t,e=""){return typeof t=="string"?t:e}function Ar(t){let e=An(t);return e===""?void 0:e}function iu(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 cx(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 lx(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=hk(n);return r!==void 0?`Finding ${r}`:"Finding an element"}case C.INSPECT:{let n=Ar(e.ref);return n!==void 0?`Inspecting ${iu(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 hk(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}Ec();D();D();mc();Pt();et();oo();var dx=["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(";"),su=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),gh=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),ux=["opacity:.75","margin-left:4px"].join(";"),px=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var mk="recorded 0 steps",gk="recording\u2026",fx="ready",Ek="pick an annotation",bk="data-testid",Tk=os.ACT,Eh={record:"Record",stop:"Stop",annotate:"Annotate"},_k={[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"},Sk=new Set([Ae.ASSERT_SIGNAL,Ae.SUCCESS_STATE]),xk="recorded-flow";function gx(t){let e=t.getAttribute(bk);if(e!==null&&e.length>0)return{anchor:{kind:Qt.TESTID,value:e},degraded:!1};let n=we(t),r=be(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:Qt.ROLE,role:n,name:r}:{kind:Qt.ROLE,role:n},degraded:!1}:{anchor:{kind:Qt.ROLE,role:Cg},degraded:!0}}function hx(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&Mc(t)==="textbox"}function Mc(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function Vs(t,e,n){let{anchor:r,degraded:i}=gx(t),s={tool:Tk,anchor:r,action:e};n!==void 0&&(s.args=n),i&&(s.degraded=!0);let a=hc(t);return a!==void 0&&(s.source=a.line===void 0?{file:a.file}:{file:a.file,line:a.line}),s}function Ak(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=mx(f.expect,{kind:y.SIGNAL,name:u.signal}):u.kind===Ae.ASSERT_VISIBLE&&(f.expect=mx(f.expect,{kind:y.ELEMENT,query:yk(u.anchor)})))}let d={version:mp,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 mx(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 yk(t){return t.kind===Qt.TESTID?{testid:t.value}:t.kind===Qt.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var di,on,_t,Uc,po,yr,Ks,fo,ui,zn,yn,k,Ex,Pc,bx,Tx,_x,Sx,uo,xx,Ax,Th,yx,Rx,vx,li,Nx,au,Ox,wx,$c,cu,Cx,bh=class{constructor(e){m(this,k);m(this,di);m(this,on,ut.IDLE);m(this,_t,[]);m(this,Uc);m(this,po,[]);m(this,yr);m(this,Ks);m(this,fo);m(this,ui);m(this,zn);m(this,yn);p(this,di,e)}phase(){return c(this,on)}steps(){return c(this,_t).map(e=>({...e}))}mount(){c(this,fo)===void 0&&(typeof document>"u"||(h(this,k,Nx).call(this),h(this,k,Ex).call(this)))}destroy(){c(this,Ks)?.abort(),p(this,Ks,void 0),c(this,fo)?.remove(),p(this,fo,void 0),p(this,ui,void 0),p(this,zn,void 0),p(this,on,ut.IDLE),p(this,_t,[]),p(this,po,[]),p(this,yn,void 0),p(this,yr,void 0)}};di=new WeakMap,on=new WeakMap,_t=new WeakMap,Uc=new WeakMap,po=new WeakMap,yr=new WeakMap,Ks=new WeakMap,fo=new WeakMap,ui=new WeakMap,zn=new WeakMap,yn=new WeakMap,k=new WeakSet,Ex=function(){let e=new AbortController;p(this,Ks,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>h(this,k,bx).call(this,r),n),document.addEventListener("input",r=>h(this,k,Tx).call(this,r),n),document.addEventListener("change",r=>h(this,k,_x).call(this,r),n),document.addEventListener("submit",r=>h(this,k,Sx).call(this,r),n)},Pc=function(e){let n=e.target;if(n instanceof Element&&!Le(n))return n},bx=function(e){let n=h(this,k,Pc).call(this,e);if(n!==void 0){if(c(this,on)===ut.ANNOTATING){h(this,k,xx).call(this,n);return}c(this,on)===ut.RECORDING&&(n instanceof HTMLInputElement&&(Mc(n)==="checkbox"||Mc(n)==="radio")||n instanceof HTMLSelectElement||(h(this,k,uo).call(this),c(this,_t).push(Vs(n,R.CLICK))))}},Tx=function(e){if(c(this,on)!==ut.RECORDING)return;let n=h(this,k,Pc).call(this,e);n===void 0||!hx(n)||p(this,yr,{el:n,value:n.value})},_x=function(e){if(c(this,on)!==ut.RECORDING)return;let n=h(this,k,Pc).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&Mc(n)==="checkbox"){h(this,k,uo).call(this),c(this,_t).push(Vs(n,n.checked?R.CHECK:R.UNCHECK));return}if(n instanceof HTMLInputElement&&Mc(n)==="radio"){h(this,k,uo).call(this),c(this,_t).push(Vs(n,R.CHECK));return}if(n instanceof HTMLSelectElement){h(this,k,uo).call(this),c(this,_t).push(Vs(n,R.SELECT,{value:n.value}));return}hx(n)&&(p(this,yr,{el:n,value:n.value}),h(this,k,uo).call(this))}},Sx=function(e){if(c(this,on)!==ut.RECORDING)return;let n=h(this,k,Pc).call(this,e);n!==void 0&&(h(this,k,uo).call(this),c(this,_t).push(Vs(n,R.SUBMIT)))},uo=function(){let e=c(this,yr);if(e===void 0)return;p(this,yr,void 0);let n=Of(e.el)?ye:e.value;c(this,_t).push(Vs(e.el,R.FILL,{value:n}))},xx=function(e){let n=c(this,yn);if(n===void 0)return;let{anchor:r}=gx(e),i={kind:n.kind,anchor:r},s=h(this,k,Th).call(this);s!==void 0&&(i.signal=s),c(this,po).push(i),p(this,yn,void 0),h(this,k,li).call(this,ut.RECORDING),h(this,k,$c).call(this)},Ax=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,li).call(this,ut.RECORDING),h(this,k,$c).call(this);return}let r={kind:e.kind,anchor:n.anchor},i=h(this,k,Th).call(this);i!==void 0&&(r.signal=i),c(this,po).push(r),p(this,yn,void 0),h(this,k,li).call(this,ut.RECORDING),h(this,k,$c).call(this)},Th=function(){let n=c(this,zn)?.querySelector("[data-reticle-signal]")?.value??"";return n.length>0?n:void 0},yx=function(){p(this,_t,[]),p(this,Uc,typeof location>"u"?void 0:location.pathname),p(this,po,[]),p(this,yr,void 0),p(this,yn,void 0),h(this,k,li).call(this,ut.RECORDING),h(this,k,cu).call(this,gk)},Rx=function(){h(this,k,uo).call(this);let e=h(this,k,Cx).call(this)??c(this,di).defaultName??xk,n=Ak(e,c(this,_t),c(this,po),c(this,di).now(),c(this,Uc));c(this,di).emit(b.FLOW_RECORDED,{name:e,flow:n}),h(this,k,cu).call(this,c(this,_t).length===0?mk:fx),h(this,k,li).call(this,ut.IDLE),h(this,k,$c).call(this)},vx=function(){c(this,on)===ut.RECORDING&&(h(this,k,li).call(this,ut.ANNOTATING),h(this,k,cu).call(this,Ek),h(this,k,Ox).call(this))},li=function(e){p(this,on,e)},Nx=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=dx;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=gh,e.appendChild(n),e.appendChild(h(this,k,au).call(this,"record",Eh.record,()=>h(this,k,yx).call(this))),e.appendChild(h(this,k,au).call(this,"stop",Eh.stop,()=>h(this,k,Rx).call(this))),e.appendChild(h(this,k,au).call(this,"annotate",Eh.annotate,()=>h(this,k,vx).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=ux,r.textContent=fx,e.appendChild(r);let i=document.createElement("div");i.setAttribute("data-reticle-menu",""),i.style.cssText=px,e.appendChild(i),document.body.appendChild(e),p(this,fo,e),p(this,ui,r),p(this,zn,i)},au=function(e,n,r){let i=document.createElement("button");return i.setAttribute("data-reticle-action",e),i.textContent=n,i.style.cssText=su,i.addEventListener("click",r),i},Ox=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=_k[n],r.style.cssText=su,r.addEventListener("click",()=>h(this,k,wx).call(this,n)),e.appendChild(r)}}},wx=function(e){p(this,yn,{kind:e});let n=c(this,zn);if(n===void 0)return;if(Sk.has(e)){let i=document.createElement("select");i.setAttribute("data-reticle-signal",""),i.style.cssText=gh;for(let s of ro().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=su,r.addEventListener("click",()=>h(this,k,Ax).call(this)),n.appendChild(r)},$c=function(){c(this,zn)!==void 0&&(c(this,zn).textContent="")},cu=function(e){c(this,ui)!==void 0&&(c(this,ui).textContent=e)},Cx=function(){let n=c(this,fo)?.querySelector("[data-reticle-name]")?.value.trim()??"";return n.length>0?n:void 0};function Ix(t){return new bh(t)}Ih();function l5(t,e){return t==="production"&&!e}function d5(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=!lf(s.hostname);return a&&s.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!gb(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 u5="Session ended - lost connection to Reticle (the agent is no longer running).";function p5(t,e){return t===void 0||t===Za?e():t}function f5(){try{let t=new URL(window.location.href);if(!t.searchParams.has(Jd))return;t.searchParams.delete(Jd),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function Rv(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 h5(t,e){let n=Rv(e),r=t.session!==void 0&&t.session!==Za?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 m5(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,Nl,Vi,or,Ki,ep,Ol,wo,Se,Oa,wl,Cl,Il,Wi,ir,wa,Ca,Ia,La,ka,Da,Ma,Kr,hn,vv,sr,Nv,Ov,wv,Cv,Pa=class{constructor(){m(this,hn);m(this,Vr);m(this,Nl,new Map);m(this,Vi,[]);m(this,or,!1);m(this,Ki,"default");m(this,ep,ME(Math.random));m(this,Ol,0);m(this,wo);m(this,Se);m(this,Oa,new Map);m(this,wl);m(this,Cl,!1);m(this,Il,!1);m(this,Wi);m(this,ir);m(this,wa,0);m(this,Ca);m(this,Ia);m(this,La,!1);m(this,ka);m(this,Da);m(this,Ma,[]);m(this,Kr);m(this,sr,(e,n,r)=>{let i=m5({seq:c(this,wa),t:Math.round(performance.now()-c(this,Ol)),type:e,sessionId:c(this,Ki),documentId:c(this,ep),editEpoch:cc.current,data:n,ref:r});try{c(this,Vr)?.sendEvent(i),p(this,wa,c(this,wa)+1),c(this,wo)?.update({connected:!0,events:c(this,wa)}),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(l5(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}f5();let i=e.url??Dg(Ep),s=d5(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[sd]=e.root);let a=e.sdkVersion??globalThis[_E];p(this,Ia,typeof a=="string"&&a.length>0?a:void 0);let l=h5(e,window.location.search),d=p5(l.session,()=>"");p(this,Ki,Qb(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,Ca,e.token!==void 0&&e.token.length>0?e.token:void 0),p(this,Da,l.projectId),h(this,hn,Nv).call(this,e.redact),p(this,Ol,performance.now()),p(this,Nl,J_()),p(this,Vr,new tu({url:i,hello:()=>h(this,hn,Ov).call(this),handleCommand:f=>h(this,hn,wv).call(this,f),onConnected:()=>{p(this,Il,!0),c(this,Se)?.sessionStart()},onConnectionLost:()=>{Ms(),c(this,Se)?.sessionActive===!0&&c(this,Se).setState(Re.ENDED,u5)},onUnreachable:({url:f,attempts:E})=>{Kn(oS(f,E)),c(this,Se)?.showUnreachable(f,E)}})),Cd(()=>c(this,Vr)?.reannounce()),cg(e.exposePresenter===!0),e.networkBodyMaxChars!==void 0&&IS(e.networkBodyMaxChars);let u=c(this,sr);p(this,La,e.captureNetworkBodies===!0),p(this,ka,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),p(this,Vi,sx(u,{captureBodies:c(this,La),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(p(this,wo,ax()),c(this,wo).update({connected:!0,events:0})),e.present!==!1&&h(this,hn,vv).call(this,e),e.recorder===!0&&(p(this,Wi,Ix({emit:u,now:()=>Date.now()})),c(this,Wi).mount()),(e.annotate??e.present!==!1)&&(p(this,ir,new Si({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,wl))==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){Ns(e)}endSession(){c(this,Se)?.setState(Re.ENDED)}observeHotUpdates(e){cc.observe(e)}disconnect(){c(this,or)&&(ix(c(this,sr),c(this,Vi)),p(this,Vi,[]),c(this,Vr)?.close(),p(this,Vr,void 0),c(this,wo)?.destroy(),p(this,wo,void 0),c(this,Se)?.sessionEnd(),c(this,Se)?.destroy(),p(this,Se,void 0),c(this,Wi)?.destroy(),p(this,Wi,void 0),c(this,ir)?.destroy(),p(this,ir,void 0),Ms(),p(this,or,!1))}};Vr=new WeakMap,Nl=new WeakMap,Vi=new WeakMap,or=new WeakMap,Ki=new WeakMap,ep=new WeakMap,Ol=new WeakMap,wo=new WeakMap,Se=new WeakMap,Oa=new WeakMap,wl=new WeakMap,Cl=new WeakMap,Il=new WeakMap,Wi=new WeakMap,ir=new WeakMap,wa=new WeakMap,Ca=new WeakMap,Ia=new WeakMap,La=new WeakMap,ka=new WeakMap,Da=new WeakMap,Ma=new WeakMap,Kr=new WeakMap,hn=new WeakSet,vv=function(e){c(this,Cl)||(p(this,Cl,!0),Promise.resolve().then(()=>(av(),sv)).then(({Presenter:n})=>Promise.resolve().then(()=>(oa(),cy)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,or))return;p(this,wl,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,Ki),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,Oa).values())s.handlePush(a);c(this,Oa).clear(),Promise.resolve().then(()=>(yv(),Av)).then(a=>{if(!c(this,or))return;let l=a.mountTour({document,storage:a.safeLocalStorage(),projectId:Rv(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,Vi).push(l.destroy)}),c(this,Il)&&s.sessionStart(),c(this,ir)!==void 0&&s.bindAnnotator(c(this,ir))}).catch(()=>{}))},sr=new WeakMap,Nv=function(e){GE(BE(e,Kn)),p(this,Ma,jE(e))},Ov=function(){return{kind:ft.HELLO,protocolVersion:zl,sessionId:c(this,Ki),...c(this,Da)===void 0?{}:{projectId:c(this,Da)},url:location.href,title:document.title,adapters:Dd(),...c(this,Ca)===void 0?{}:{token:c(this,Ca)},hasCapabilities:Id(),channels:sS(),platform:aS(),commands:cS(),captureBodies:c(this,La),...c(this,ka)===void 0?{}:{sourceMapping:c(this,ka)},...c(this,Ia)===void 0?{}:{sdkVersion:c(this,Ia)},contract:gf,contractParts:{commands:[...rc.commands],events:[...rc.events],actions:[...rc.actions]},...c(this,Ma).length===0?{}:{redactKeys:c(this,Ma)}}},wv=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,Oa).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,Nl).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};c(this,Se)?.sessionStart(),await h(this,hn,Cv).call(this,e);try{let r=await n(e.args);return c(this,Kr)?.result($t.PASS),{ok:!0,result:r}}catch(r){return c(this,Kr)?.result($t.FAIL),{ok:!1,error:r instanceof Error?r.message:String(r)}}finally{p(this,Kr,void 0),c(this,Se)?.scheduleIdle()}},Cv=async function(e){let n=c(this,Se);if(n!==void 0)if(n.setMode(cx(e.name)),p(this,Kr,void 0),e.name===C.ACT){let r=An(e.args.ref),i=iu(r);p(this,Kr,n.log(Ke.ACT,`${Dc(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=iu(a);p(this,Kr,n.log(Ke.ACT,`${Dc(An(s.action))} ${l}`)),await n.beforeAct(a,An(s.action),l)}}else{let r=lx(e.name,e.args);n.status(r),n.log(Ke.READ,r)}};var Qm=globalThis,tp=Qm.__reticleInstance??(Qm.__reticleInstance=new Pa);D();et();oi();ri();Ec();ri();function kv(t){try{return Jm(t,new WeakMap)}catch{return t}}function Jm(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(Jm(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]=Jm(a,e);return i}function Dv(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 Od(e,t),e}function Mv(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 Pv(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function $v(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function Uv(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var Iv={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function g5(t){if(t.state===Iv.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==Iv.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function Hv(t,e,n){return{getState:()=>{let r=e(),i={};for(let[s,a]of Object.entries(t))i[s]=g5(r.getLoadable(a));return i},subscribe:n}}function Lv(t){if(typeof t=="function"){t();return}t.unsubscribe()}function Fv(t,e=Kn){let n=!1;return{getState:()=>{let r,i=!1;return Lv(t.subscribe(s=>{r=kv(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,()=>Lv(s)}}}var E5={detached:!0,flush:"sync"};function Bv(t){return{getState:()=>kv(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...E5})}}function Gv(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()}}}oo();function jv(t={}){let e=t.target??tp;return{signal(n,r={}){e.connected&&e.signal(n,r)},state(n,r){e.connected&&e.state(n,r)}}}function Vv(t,e,n,r){let i=e();return t.signal(n,r),i}oo();function Kv(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]),Ns(e)}Rf();Pt();gt();Ih();_h();return t0(b5);})();
|
|
1700
|
+
`});var uN={};Uc(uN,{HUD_CONTROL_SELECTORS:()=>cN,TOUR_SEEN_KEY_PREFIX:()=>Iu,isLastSlide:()=>HE,mountTour:()=>v$,openedByReticle:()=>lN,safeLocalStorage:()=>R$,tourAlreadySeen:()=>dN,tourSeenKey:()=>UE});function S$(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 A$(t,e){var r;if(Be.HUD===e)return S$(t,_$);let n=cN[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 x$){let a=t.querySelector(o);if(a===null)continue;let s=a.getBoundingClientRect();if(s.width>0)return s}}function lN(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 dN(t,e){if(t===void 0)return!0;try{return t.getItem(UE(e))!==null}catch{return!0}}function y$(t,e){try{t==null||t.setItem(UE(e),"1")}catch{}}function v$(t){var y;if(t.isDriving()||lN(t.search)||((y=t.navigator)==null?void 0:y.webdriver)===!0||dN(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(oe,""),n.textContent=aN,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(oe,"");let o=$E(),a=0,s=!0,l=()=>{},d=()=>{},u=()=>{s&&(s=!1,l(),d(),r.remove(),n.remove())},p=()=>{s&&(y$(t.storage,t.projectId),u())},h=()=>{t.isDriving()&&u()},m=()=>{var w,k,Y,fe;let A=o[a];if(A!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${oN(A)}`,Be.NONE!==A.anchor)){let ue=A$(e,A.anchor);if(ue!==void 0&&ue.width>0){let Re=Be.APP===A.anchor,at=e.createElement("div");at.className=Re?"reticle-tour-ring is-region":"reticle-tour-ring";let gt=Re?-2:6;if(at.style.left=`${String(Math.round(ue.left-gt))}px`,at.style.top=`${String(Math.round(ue.top-gt))}px`,at.style.width=`${String(Math.round(ue.width+gt*2))}px`,at.style.height=`${String(Math.round(ue.height+gt*2))}px`,r.appendChild(at),Re||(w=r.querySelector(".reticle-tour-scrim"))==null||w.classList.add("is-clear"),rN(A)){at.classList.add("is-live"),(k=r.querySelector(".reticle-tour-scrim"))==null||k.remove();let Yt=e.defaultView;for(let dn of iN({left:ue.left-gt,top:ue.top-gt,width:ue.width+gt*2,height:ue.height+gt*2},(Y=Yt==null?void 0:Yt.innerWidth)!=null?Y:e.documentElement.clientWidth,(fe=Yt==null?void 0:Yt.innerHeight)!=null?fe:e.documentElement.clientHeight)){let st=e.createElement("div");st.className="reticle-tour-blocker",st.style.left=`${String(Math.round(dn.left))}px`,st.style.top=`${String(Math.round(dn.top))}px`,st.style.width=`${String(Math.round(dn.width))}px`,st.style.height=`${String(Math.round(dn.height))}px`,r.appendChild(st)}}}}},g=A=>{var at,gt;let w=o[a],k=Number(A.getAttribute(Hd)),Y=(at=w==null?void 0:w.prompts)==null?void 0:at[k];if(Y===void 0)return;let fe=(Yt,dn)=>{var st;A.textContent=Yt,A.classList.add(dn),(st=e.defaultView)==null||st.setTimeout(()=>{A.textContent=ME,A.classList.remove(dn)},nN)},ue=Yt=>{var st;if(Yt){fe(eN,"is-done");return}let dn=r.querySelector(`.reticle-tour-prompt[${Hd}="${String(k)}"] .reticle-tour-prompt-text`);dn!==null&&((st=t.select)==null||st.call(t,dn)),fe(tN,"is-manual")},Re=(gt=t.copy)==null?void 0:gt.call(t,Y.text);if(Re===void 0){ue(!1);return}if(typeof Re=="boolean"){ue(Re);return}Re.then(ue).catch(()=>{ue(!1)})};r.addEventListener("click",A=>{let w=A.target;if(!(w instanceof Element))return;let k=w.closest(`[${Si}]`);if(k===null)return;let Y=k.getAttribute(Si);if(Y===null)return;if(A.preventDefault(),A.stopPropagation(),Y==="skip"||Y==="done"){p();return}if(Y==="copy"){g(k);return}let fe=PE(a,Y==="back"?-1:1);fe!==a&&(a=fe,m())});let T=A=>{if(!s||Kd(e))return;let w=A.key==="ArrowRight"?1:A.key==="ArrowLeft"?-1:0;if(A.key==="Escape"){A.preventDefault(),p();return}if(w===0)return;let k=PE(a,w);k!==a&&(A.preventDefault(),a=k,m())};e.addEventListener("keydown",T),l=()=>{e.removeEventListener("keydown",T)},m(),e.body.appendChild(r);let x=e.querySelector("[data-reticle-overlay]");if(x!==null){let A=new MutationObserver(h);A.observe(x,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>A.disconnect(),h()}return{destroy:p,isOpen:()=>s}}function R$(){try{return window.localStorage}catch{return}}var x$,_$,cN,UE,pN=_(()=>{"use strict";sN();kE();F();bt();Gn();x$=["main","#root","#app"],_$=["[data-reticle-hud]","[data-reticle-chat-panel]"];cN={[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]"};UE=t=>`${Iu}${t}`});var U$={};Uc(U$,{Annotator:()=>na,RefRegistry:()=>rl,Reticle:()=>Dc,SESSION_AUTO:()=>Xc,adapterNames:()=>qu,buildSnapshot:()=>Fu,canvasChartData:()=>E_,commitAndSignal:()=>LN,createReticleEmitter:()=>CN,describe:()=>xr,elementHasHoverHandlers:()=>Yu,executeAction:()=>yl,executeSequence:()=>lp,getAccessibleName:()=>ve,getCapabilities:()=>$i,getRole:()=>ke,getStates:()=>Jr,hasCapabilities:()=>Wu,identifyComponent:()=>_r,inspectChart:()=>$u,installAnnotator:()=>fv,isVisible:()=>xt,jotaiStore:()=>AN,markAdapterSource:()=>Gu,matchQuery:()=>bl,mobxStore:()=>RN,piniaStore:()=>ON,pushStore:()=>IN,readComponentState:()=>zu,readStores:()=>U_,readStoresWithTruncation:()=>El,recoilStore:()=>wN,refs:()=>J,registerAdapter:()=>z_,registerCapabilities:()=>ms,registerReticleDomain:()=>kN,registerStore:()=>$_,resolveMarkAnchor:()=>Pl,reticle:()=>Of,runQuery:()=>Xu,setCapabilitiesListener:()=>Ku,setIgnoreSelectors:()=>tb,sourceOwner:()=>B_,storeNames:()=>Mi,svelteStore:()=>NN,tanstackQueryStore:()=>SN,unregisterStore:()=>P_,valtioStore:()=>vN,xstateStore:()=>yN});bt();F();Gn();var qx=ze.SESSION;function Xx(t,e,n){var l;let r=()=>{try{let d=e==null?void 0:e.getItem(qx);return d!=null&&d.length>0?d:void 0}catch{return}},o=d=>{try{e==null||e.setItem(qx,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}Lt();var e1="vite:afterUpdate",t1=3,n1="no longer resolves to an element",r1="the code changed underneath it";function zh(t){return t!==null&&typeof t=="object"?t:void 0}function i1(t){var e;return typeof((e=zh(t))==null?void 0:e.on)=="function"}function o1(t){var r,o;let e=(r=zh(t))==null?void 0:r.updates;if(!Array.isArray(e))return[];let n=[];for(let a of e){let s=(o=zh(a))==null?void 0:o.path;typeof s=="string"&&s.length>0&&!n.includes(s)&&n.push(s)}return n}var al,as,ss,Yh=class{constructor(e){b(this,al,0);b(this,as,[]);b(this,ss);f(this,ss,e)}get current(){return c(this,al)}observe(e){i1(e)&&e.on(e1,n=>this.applied(o1(n)))}applied(e){f(this,al,c(this,al)+1),f(this,as,e.slice(0,t1)),c(this,ss).markEdited()}staleRefMessage(e){let n=`ref '${$o(e)}' ${n1}`;if(!c(this,ss).mintedBeforeLastEdit(e))return n;let r=c(this,as).length===0?"the page hot-updated":`${c(this,as).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${r1} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};al=new WeakMap,as=new WeakMap,ss=new WeakMap;var sl=new Yh(J);F();F();ls();Vn();Jt();Lt();bt();var A_=new Set(["button","link","textbox","searchbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),I1=new Set(["script","style","noscript","template","head","meta","link"]),C1=new Set(["alert","status"]);function L1(t,e){if(C1.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var __=80;function k1(t){var r;let e="";for(let o of t.childNodes)o.nodeType===3&&(e+=(r=o.textContent)!=null?r:"");let n=e.replace(/\s+/g," ").trim();return n.length>__?`${n.slice(0,__)}\u2026`:n}var D1=50;function y_(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function M1(t){return I1.has(t.tagName.toLowerCase())||pn(t)?!0:y_(t)}function $1(t){let e=Jr(t).filter(n=>n===ce.DISABLED||n===ce.CHECKED||n===ce.EXPANDED||n===ce.PRESSED||n===ce.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function P1(t,e,n,r,o,a=""){let s=" ".repeat(e),l=rm(t),d=r,u=d.length>0?` "${d}"`:"",p=A_.has(n)||d.length>0?` (ref=${J.refFor(t)})`:"",h=l!==void 0&&l.length>0?` [value="${l}"]`:"",m=o.length>0?` [${o}]`:"",g=a.length>0?` [text="${a}"]`:"";return`${s}- ${n}${u}${p}${h}${g}${m}${$1(t)}`}function H1(t,e){return`${" ".repeat(t)}- text "${e}"`}function U1(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 S_(t,e){for(let n of t){if(e.unread.length>=D1){e.unreadOverflow=!0;return}e.unread.push(J.refFor(n))}}function F1(t){var r,o;let e=[...t.children],n=(r=t.shadowRoot)!=null?r:cs(t);if(n!==null&&e.push(...n.children),ku(t))try{let a=(o=t.contentDocument)==null?void 0:o.body;a!=null&&e.push(...a.children)}catch{}return e}function v_(t,e,n,r){if(M1(t)){y_(t)&&(n.hiddenSkipped+=1);return}let o=t.ownerDocument.defaultView,a=o!==null?o.getComputedStyle(t):null;if(a!==null&&a.display==="none"){n.hiddenSkipped+=1;return}let s=ke(t),l=ve(t),d=A_.has(s),u=r||L1(t,s),p=n.mode===za.INTERACTIVE&&!u,h=!p&&l.length===0?k1(t):"",m=p?"":U1(a),g=d,T=g||s!=="generic"||l.length>0||h.length>0||m.length>0,x=p?g:T;p&&!x&&T&&(n.leanSkipped+=1),x?(n.nodes+=1,n.lines.push(s==="generic"&&h.length>0&&m.length===0?H1(e,h):P1(t,e,s,l,m,h)),om(t,e+1,n,u)):om(t,e,n,u)}function om(t,e,n,r=!1){let o=F1(t);if(e>n.maxDepth){o.length>0&&(n.truncated=!0,S_([t],n));return}for(let a=0;a<o.length;a+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,S_(o.slice(a),n);return}let s=o[a];s!==void 0&&v_(s,e,n,r)}}function B1(t){let e=t.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n=[];for(let r of e)$e(r)||xt(r)&&n.push(ve(r)||"(unnamed dialog)");return n}function G1(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(!$e(s)){if(xt(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 j1(t){let e=B1(t),n=G1(t);return{route:`${location.pathname}${location.search}${location.hash}`,title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function Fu(t={}){var l,d,u,p;let e=(l=t.mode)!=null?l:za.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=j1(o);if(r)return{tree:"",status:a,nodes:0,truncated:!1,scopeMissing:!0};if(e===za.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};return t.includeRoot===!0?v_(o,0,s,!1):om(o,0,s),{tree:s.lines.join(`
|
|
1701
|
+
`),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 V1=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],K1={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"};function W1(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 R_(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 V1){let s=o.getPropertyValue(a);s.length>0&&s!==K1[a]&&n.push({on:W1(r),property:a,value:s})}}return n}F();Vn();ls();Jt();bt();Tr();Pi();Uo();Lt();Sn();var nS=hu,ek=12,tk=2e3,nk=()=>`[${nS}], ${Qr()}, button, a, input, select, textarea, [role]`;function ti(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}function Es(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}function bs(t,e){return Es(t).toLowerCase().includes(Es(e).toLowerCase())}function rk(t,e){return Es(t)===Es(e)}var ik=["script","style","template","noscript"];function rS(t){return ik.includes(t.tagName.toLowerCase())}function ok(t){if(xe(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return rS(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("")}function mm(t,e){var r;if(rS(t)||pn(t)||!xt(t,e))return"";let n="";for(let o of Array.from(t.childNodes))Node.TEXT_NODE===o.nodeType?n+=(r=o.textContent)!=null?r:"":Zr(o)&&(n+=mm(o,e));return n}function ak(t){if(xe(t)||kt(t)||jn(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 gm(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=J.resolve(t);if(Po(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(Po(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function sk(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${nS}^="${n}"]`))}catch{return[]}}function ck(t,e){let n=[],r=0;for(let o of Array.from(t.querySelectorAll(nk()))){if(r>=tk)break;r+=1;let a=_r(o);a!==null&&a.componentStack[0]===e&&n.push(o)}return n}function Y_(t,e){if(e.source!==void 0){let n=sk(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?ck(t,e.component):[]}function lk(t,e){return t===e||e==="textbox"&&t==="searchbox"}function hm(t,e,n){return ti(t).filter(r=>lk(ke(r),e)&&(n===void 0||rk(ve(r),n)))}function q_(t,e){return ti(t).filter(n=>bs(ok(n),e))}function X_(t,e){return ti(t).filter(n=>ak(n)&&bs(ve(n),e))}function Z_(t,e){return ti(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&bs(r,e)})}function Q_(t,e){return ti(t).filter(n=>Pe(n)===e)}function J_(t,e){return ti(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&bs(r,e)})}function eS(t,e){var o;let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case et.ROLE:return hm(t,r,e.name);case et.TEXT:return q_(t,r);case et.LABEL:return X_(t,r);case et.PLACEHOLDER:return Z_(t,r);case et.TESTID:return Q_(t,r);case et.ALT:return J_(t,r);case et.COMPONENT:return Y_(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?Y_(t,e):e.role!==void 0?hm(t,e.role,e.name):e.text!==void 0?q_(t,e.text):e.label!==void 0?X_(t,e.label):e.placeholder!==void 0?Z_(t,e.placeholder):e.testid!==void 0?Q_(t,e.testid):e.alt!==void 0?J_(t,e.alt):[]}function dk(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}var uk=3;function pk(t){let e=[],n=(r,o)=>{var a;for(let s of r.querySelectorAll("*")){let l=(a=s.shadowRoot)!=null?a:cs(s);if(l!==null){e.push(l),n(l,o);continue}if(o>=uk||!ku(s))continue;let d=dk(s);d!==null&&(e.push(d),n(d,o+1))}};return n(t,0),e}function iS(t){let{container:e,scopeMissing:n}=gm(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&&!bs(mm(e,new Map),t.text)?{candidates:[],scopeMissing:n}:{candidates:pn(e)?[]:[e],scopeMissing:n};let r=new Set,o=[],a=s=>{for(let l of s)r.has(l)||pn(l)||(r.add(l),o.push(l))};a(eS(e,t));for(let s of pk(e))a(eS(s,t));return{candidates:o,scopeMissing:n}}var fk=512,hk=12;function mk(t,e){let n={};for(let r of e.slice(0,hk)){let o=t.getAttribute(r);o!==null&&(n[r]=Xe(r)?Ne:o.slice(0,fk))}return Object.keys(n).length>0?n:void 0}function gk(t,e,n){return ce.IN_VIEWPORT===e?im(t,n):Jr(t,xt(t,n)).includes(e)}var tS=G.MAX_COLLECTION_ITEMS;function bl(t,e,n=tS){let r=iS(t),o=r.candidates,a=r.scopeMissing,s=new Map,l=e===void 0?o:o.filter(m=>gk(m,e,s)),d=t.attrs,u=l.slice(0,Math.max(0,Math.min(n,tS))),p=u.length>1||ce.IN_VIEWPORT===e,h=u.map(m=>{let g=xr(m,s);if(p&&im(m,s)&&!g.states.includes(ce.IN_VIEWPORT)&&(g={...g,states:[...g.states,ce.IN_VIEWPORT]}),d===void 0||d.length===0)return g;let T=mk(m,d);return T===void 0?g:{...g,attrs:T}});return{matched:l.length>0,count:l.length,elements:h,...a?{scopeMissing:!0}:{},...l.length===0?{hint:oS(t)}:{}}}function Ek(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 bk(t){var o,a,s,l,d,u,p,h;let e=(o=gm(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=hm(e,m,void 0);for(let T of g){if($e(T))continue;let x=(l=(s=(a=T.getAttribute("aria-label"))!=null?a:Ek(T))!=null?s:Pe(T))!=null?l:void 0,y=T.querySelectorAll("[role]"),A=[];for(let k of Array.from(y)){if(A.length>=3)break;let Y=k.getAttribute("role"),fe=(h=(p=(d=k.getAttribute("aria-label"))!=null?d:Pe(k))!=null?p:(u=k.textContent)==null?void 0:u.trim().slice(0,40))!=null?h:"";Y!==null&&fe.length>0&&A.push(`${Y}[${fe}]`)}let w={role:m,childCount:y.length,sample:A};if(x!==void 0&&x.length>0&&(w.name=x),n.push(w),n.length>=10)return n}}return n}function Tk(t,e){let n,r=-1,o=new Map;for(let a of ti(t)){if(pn(a)||!bs(mm(a,o),e))continue;let s=0;for(let l=a.parentElement;l!==null;l=l.parentElement)s++;s>r&&(n=a,r=s)}return n}function xk(t){return t.text!==void 0?t.text:et.TEXT===t.by?t.value:void 0}var _k=5;function Sk(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=Es(r).toLowerCase();if(o.length===0)return[];let a=[];for(let s of ti(t)){if(pn(s)||ke(s)!==n)continue;let l=Es(ve(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>=_k))break}return a}function Ak(t,e){if(et.TESTID!==e.by||e.value===void 0)return;let n=Mu();for(let r of[Wr,...fT]){if(r===n)continue;if(ti(t).some(a=>a.getAttribute(r)===e.value&&!pn(a)))return r}}function oS(t){var m;let e=(m=gm(t.scope).container)!=null?m:document.body,n=e.querySelectorAll(Qr()),r=[],o=new Set;for(let g of Array.from(n)){if(pn(g))continue;let T=Pe(g);T===null||T.length===0||o.has(T)||(o.add(T),r.length<ek&&r.push(T))}let a=K_(),s=r.some(g=>a.includes(g)),d={route:`${location.pathname}${location.search}`,presentTestids:r,...o.size>r.length?{presentTestidsTotal:o.size}:{},presentRegions:bk(t),knownEmptyState:s},u=xk(t);if(u!==void 0){let g=Tk(e,u);g!==void 0&&(d.splitText=xr(g))}let p=Sk(e,t);p.length>0&&(d.nameNearMiss=p);let h=Ak(e,t);return h!==void 0&&(d.testidFoundUnder=h),d}function aS(t){return iS(t).candidates}function Xu(t,e){let n=bl(t,void 0,e),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:oS(t),...r}:{elements:n.elements,count:n.count,...r}}Sn();F();Ts();Lt();F();Jt();Vn();var yk=new Set(["submit","button","reset","image"]);function vk(t){return _n(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!yk.has(t.type.toLowerCase()):!1}function Qu(t){var r,o,a,s,l,d;let e=t.closest("form"),n=vk(t)?["",""]:[(r=t.textContent)!=null?r:"",(o=t.getAttribute("value"))!=null?o:""];return[ve(t),...n,(a=t.getAttribute("title"))!=null?a:"",(s=t.getAttribute("aria-label"))!=null?s:"",(l=t.getAttribute("href"))!=null?l:"",(d=e==null?void 0:e.getAttribute("action"))!=null?d:""].join(" ")}var Rk='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function sS(t){var n;let e=(n=t.closest("form"))==null?void 0:n.querySelector(Rk);return _n(e)?e:null}function Ju(t,e){return mx(t,e)}ki();Vn();function ep(t,e){let n=h_(t),r=n===void 0?void 0:t_(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 wk(t){let e=t.getAttribute("contenteditable");if(_n(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 bm(t,e){if(wk(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function Tm(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`)}Jt();Uo();Vn();rt();bt();var _m=200,gS=" | ",Nk=3,Ok=/\p{L}/u;function Ik(t){return Ok.test(t)}var Ck=3;function Lk(t){return t instanceof Element&&t.querySelectorAll("*").length>Ck}var xs,Tl,Ui,Sm,Am,np=class{constructor(){b(this,Ui);b(this,xs,new Set);b(this,Tl,0)}collect(e){for(let n of e){if(E(this,Ui,Sm).call(this))return;if(n.type==="characterData"){E(this,Ui,Am).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(E(this,Ui,Sm).call(this))return;if(Lk(r))continue;let o=Nk===r.nodeType?r.parentElement:kk(r);E(this,Ui,Am).call(this,r.textContent,o)}}}effect(e){let n=[...c(this,xs)].filter(o=>o!==e);if(n.length===0)return{};let r=n.join(gS);return{appeared:r.length>_m?`${r.slice(0,_m)}\u2026`:r}}};xs=new WeakMap,Tl=new WeakMap,Ui=new WeakSet,Sm=function(){return c(this,Tl)>_m},Am=function(e,n){if(n!==null&&pn(n))return;let r=(e!=null?e:"").replace(/\s+/g," ").trim();r.length!==0&&Ik(r)&&(c(this,xs).has(r)||(c(this,xs).add(r),f(this,Tl,c(this,Tl)+(r.length+gS.length))))};function kk(t){return t instanceof Element?t:t.parentElement}F();Vn();var Dk=new Set(["checkbox","switch"]),ES="aria-checked",rp=t=>{var e;return!xe(t)&&Dk.has((e=t.getAttribute("role"))!=null?e:"")},bS=t=>t.getAttribute(ES)==="true";function TS(t,e,n){var o;if(n||!rp(t)||e!==I.CHECK&&e!==I.UNCHECK)return;let r=e===I.CHECK;if(bS(t)!==r)throw new Error(`${e} clicked the ${(o=t.getAttribute("role"))!=null?o:""} but ${ES} is still "${String(!r)}" \u2014 the app did not toggle it`)}function ip(t,e){if(e!==I.CHECK&&e!==I.UNCHECK)return!1;let n=e===I.CHECK;return xe(t)?t.checked===n:rp(t)&&bS(t)===n}F();Ts();rt();Vn();var ym=t=>new Promise(e=>X(e,t));function Mk(t,e=""){return typeof t=="string"?t:e}function op(t){return bh(t)}var $k=["metaKey","ctrlKey","shiftKey","altKey"],SS={meta:"metaKey",cmd:"metaKey",command:"metaKey",super:"metaKey",win:"metaKey",control:"ctrlKey",ctrl:"ctrlKey",shift:"shiftKey",alt:"altKey",option:"altKey",opt:"altKey"};function AS(t){let e=t.modifiers,n=Array.isArray(e)?e.map(o=>Mk(o).toLowerCase()):[],r={metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1};for(let o of n){let a=SS[o];a!==void 0&&(r[a]=!0)}return r}function xS(t){return SS[t.toLowerCase()]}function vm(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)&&Pk.has(e)?e:""}var Pk=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"]),Hk="no document to press into";function yS(){let t=document.activeElement;if(_n(t)&&document.body!==t)return t;if(_n(document.body))return document.body;let e=document.documentElement;if(_n(e))return e;throw new Error(Hk)}function vS(t,e,n){return t.length===0&&TT(n)&&I.PRESS===e}function RS(t){return Th(t)}var Uk=33,_S=500,Fk={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},Bk=/^[a-z0-9]$/i,Gk=t=>{var e;return(e=Fk[t])!=null?e:Bk.test(t)?t.toUpperCase().charCodeAt(0):0};function xl(t,e){let n=new KeyboardEvent(t,e),r=Gk(e.key);for(let o of["keyCode","which"])Object.defineProperty(n,o,{get:()=>r});return n}async function wS(t,e,n,r,o){let a=Date.now();for(o>_S&&await ym(_S);Date.now()-a<o;)Ye(()=>t.dispatchEvent(xl("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r}))),await ym(Math.min(Uk,Math.max(0,o-(Date.now()-a))))}async function NS(t,e,n,r){let o={...n},a=(p,h)=>{let m=vm({},h);return Ye(()=>t.dispatchEvent(xl(p,{key:h,code:m,bubbles:!0,cancelable:!0,...o})))},s=new Map;for(let p of $k)o[p]&&s.set(p,1);let l=p=>{var h;s.set(p,((h=s.get(p))!=null?h:0)+1),o[p]=!0},d=p=>{var m;let h=((m=s.get(p))!=null?m:1)-1;s.set(p,h),h<=0&&(o[p]=!1)},u=!1;for(let p of e){let h=xS(p);h!==void 0&&l(h);let m=a("keydown",p);m||(u=!0),Rm(t,p,m)}r>0&&await ym(r);for(let p of[...e].reverse()){let h=xS(p);h!==void 0&&d(h),a("keyup",p)}return u}function Rm(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}}Lt();bt();var jk=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],Vk=3;function ap(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=>Ma(p)&&p!==t&&!t.contains(p)&&!p.contains(t),a=(p,h)=>{var g,T,x;return(x=((T=(g=r.elementsFromPoint)==null?void 0:g.call(r,p,h))!=null?T:[n.elementFromPoint(p,h)]).find(y=>y!==null&&!o(y)))!=null?x:null},s=new Map;for(let[p,h]of jk){let m=a(e.left+e.width*p,e.top+e.height*h);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,h]of s)h>d&&(l=p,d=h);return d>=Vk?l:null}rt();Ts();var sp={occluded:!1,occludedBy:null,scrolledIntoView:!1};function Fi(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function cp(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}var it=1,_l=0;function De(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")?cp(t,e,{...s,pointerId:1,isPrimary:!0}):Fi(t,e,s))}async function Sl(t,e,n){var u;let r=t.ownerDocument,o=(u=r.activeElement)!=null?u:r.body,a=wm(t),s=n!=null?n:0;Ye(()=>De(t,"pointerdown",a,it,o,s)),Ye(()=>De(t,"mousedown",a,it,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 Ye(()=>De(t,"pointerup",a,_l,o,s)),Ye(()=>De(t,"mouseup",a,_l,void 0,s)),{prevented:!Ye(()=>De(t,"click",a,_l,void 0,s)),heldMs:l}}function Kk(t){return t.width>0||t.height>0}function Wk(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 zk(t,e){let n=ap(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:J.refFor(n)}}function LS(t){if(typeof t.getBoundingClientRect!="function")return sp;let e=t.getBoundingClientRect();if(!Kk(e))return sp;let n=!1;return Wk(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect()),{...zk(t,e),scrolledIntoView:n}}function Nm(t,e,n=null){Ye(()=>t.dispatchEvent(cp(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function kS(t,e,n=null){Ye(()=>t.dispatchEvent(cp(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function Yk(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 OS=5;function wm(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function qk(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 Om(t,e,n){let r=e!=null?e:t,o=wm(t),a=wm(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;De(t,"pointerdown",o,it),De(t,"mousedown",o,it),await Hi();let u=!1,p=!1;for(let m=1;m<=OS;m+=1){let g=qk(o,a,m/OS);!u&&!d(s,g)&&(u=!0,De(t,"pointerout",g,it,r),De(t,"mouseout",g,it,r),De(t,"pointerleave",g,it,r),De(t,"mouseleave",g,it,r)),u&&!p&&l!==null&&d(l,g)&&(p=!0,De(r,"pointerover",g,it,t),De(r,"mouseover",g,it,t),De(r,"pointerenter",g,it,t),De(r,"mouseenter",g,it,t)),De(r,"pointermove",g,it),De(r,"mousemove",g,it),await Hi()}!p&&l!==null&&(De(r,"pointerover",a,it,t),De(r,"mouseover",a,it,t),De(r,"pointerenter",a,it,t),De(r,"mouseenter",a,it,t)),De(r,"pointerup",a,_l),De(r,"mouseup",a,_l);let h=!1;if(typeof DragEvent=="function"){let m=Yk(n),g={bubbles:!0,cancelable:!0};m!==null&&(g.dataTransfer=m),t.dispatchEvent(new DragEvent("dragstart",g)),await Hi(),r.dispatchEvent(new DragEvent("dragenter",g)),r.dispatchEvent(new DragEvent("dragover",g)),await Hi(),h=!r.dispatchEvent(new DragEvent("drop",g)),t.dispatchEvent(new DragEvent("dragend",g))}return h}async function DS(t,e){let n=Xk(t);IS(t,"pointerdown"),Ye(()=>t.dispatchEvent(CS("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 Ye(()=>t.dispatchEvent(CS("touchend",[]))),IS(t,"pointerup"),{prevented:!Ye(()=>t.dispatchEvent(Fi(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function IS(t,e){Ye(()=>t.dispatchEvent(cp(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function Xk(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 CS(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})}Lt();var Zk=400,Qk=.8;function Jk(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 MS(t,e,n,r){let o=t!==void 0?J.resolve(t):null;return Im(o instanceof Element?o:void 0,e,n,r)}function Im(t,e,n,r){var p;let a=t!==void 0?Jk(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 h=e!=null?e:Math.round(a.clientHeight*Qk)||Zk;a.scrollTop=s+h}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 Al(t,e=""){return typeof t=="string"?t:e}function eD(t){let e=J.resolve(t);if(e===null)throw new Error(`ref '${$o(t)}' no longer resolves to an element`);if(!Po(e))throw new Error(`ref '${$o(t)}' is not an HTML or SVG element`);return e}function tD(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=ke(t),s=ve(t);if(a.length>0&&(r.role=a),s.length>0&&(r.name=s),a.length>0&&s.length>0){let d=aS({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 nD=(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},rD=new Set([I.FILL,I.TYPE,I.CLEAR,I.SELECT]),iD=t=>rD.has(t),oD=new Set([I.CLICK,I.DBLCLICK,I.CHECK,I.UNCHECK]);function US(t){let e=Al(t.toRef);return e!==""?e:Al(t.target)}var $S=new Set(["content","name","type","__base64"]),aD=new Set([ru,Rb,"holdMs"]);function sD(t){let e=Object.keys(t),n=e.filter(o=>!$S.has(o)&&!aD.has(o));if(n.length===0&&e.some(o=>$S.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 cD(t,e,n){let r=e===I.CLICK||e===I.DBLCLICK||e===I.CHECK||e===I.UNCHECK||e===I.DRAG||e===I.SUBMIT||e===I.PRESS&&op(n)==="Enter",o=e===I.DRAG?J.resolve(US(n)):null,a=e===I.PRESS&&op(n)==="Enter"?sS(t):null,s=Ju(Qu(t),ke(t))||a!==null&&Ju(Qu(a),ke(a)),l=Po(o)&&Ju(Qu(o),ke(o));if(r&&(s||l)&&n[ru]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${ru}=true`)}function FS(t){return!Jr(t).includes(ce.DISABLED)}function PS(t){if(xe(t)||kt(t)||jn(t))return t.value}function HS(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:J.refFor(e)}async function lD(t,e,n){if(I.CLICK===e){let r=Za(n.holdMs);return await Sl(t,r===0?void 0:{ms:r,sleep:Lm,now:()=>Date.now()})}if(I.TAP===e){let r=Za(n.holdMs);return await DS(t,r===0?void 0:{ms:r,sleep:Lm,now:()=>Date.now()})}return{prevented:await uD(t,e,n),heldMs:0}}var dD="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 Cm(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function uD(t,e,n){var r;switch(e){case I.DBLCLICK:return await Sl(t,void 0,1),await Sl(t,void 0,2),!Ye(()=>t.dispatchEvent(Fi(t,"dblclick",{bubbles:!0,cancelable:!0,detail:2})));case I.HOVER:{let o=t.ownerDocument,a=(r=o.activeElement)!=null?r:o.body;Nm(t,"pointerover",a),t.dispatchEvent(Fi(t,"mouseover",{bubbles:!0,relatedTarget:a})),kS(t,"pointerenter",a),t.dispatchEvent(Fi(t,"mouseenter",{relatedTarget:a})),Nm(t,"pointermove",a);let s=t.dispatchEvent(Fi(t,"mousemove",{bubbles:!0,cancelable:!0})),l=Za(n.holdMs);return l>0&&await Lm(l),!s}case I.FOCUS:return t.focus(),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0})),!1;case I.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 I.FILL:if(xe(t)||kt(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 Tm(t,"fill"),t.focus(),ep(t,n.value)}throw bm(t,"fill"),new Error(`cannot fill a <${t.tagName.toLowerCase()}>`);case I.TYPE:if(xe(t)||kt(t)){if(typeof n.text!="string")throw new Error("type requires a string `text` \u2014 pass it nested, as args: { text: '\u2026' }.");return Tm(t,"type"),t.focus(),ep(t,t.value+n.text)}throw bm(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case I.CLEAR:if(xe(t)||kt(t))return ep(t,"");throw new Error(`cannot clear a <${t.tagName.toLowerCase()}>`);case I.SELECT:if(jn(t)){if(typeof n.value!="string")throw new Error("select requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }.");let o=n.value,a=Array.from(t.options);if(!a.some(s=>s.value===o)){let s=a.map(l=>`${l.value} (${l.label})`).join(", ");throw new Error(`no <option> with value '${$o(o)}' \u2014 available: ${a.length===0?"(none)":s}`)}return t.value=o,t.dispatchEvent(new Event("change",{bubbles:!0})),!1}throw new Error(`cannot select on a <${t.tagName.toLowerCase()}>`);case I.CHECK:case I.UNCHECK:{let o=rp(t);if(!xe(t)&&!o)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!FS(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!xe(t))return ip(t,e)?!1:(await Sl(t)).prevented;if(t.type==="radio"&&e===I.UNCHECK)throw new Error("cannot uncheck a radio button \u2014 a real user could not; select another radio in the group");if(ip(t,e))return!1;let a=Fi(t,"click",{bubbles:!0,cancelable:!0,composed:!0});return!Ye(()=>t.dispatchEvent(a))||a.defaultPrevented}case I.SUBMIT:{let o=f_(t)?t:t.closest("form");if(o===null)throw new Error("no form to submit");return o.requestSubmit(),!1}case I.PRESS:{let o=AS(n),a=RS(n);if(a.length>0)return await NS(t,a,o,Za(n.holdMs));let s=op(n),l=vm(n,s),d=Ye(()=>t.dispatchEvent(xl("keydown",{key:s,code:l,bubbles:!0,cancelable:!0,...o})));Rm(t,s,d);let u=Za(n.holdMs);return u>0&&await wS(t,s,l,o,u),Ye(()=>t.dispatchEvent(xl("keyup",{key:s,code:l,bubbles:!0,...o}))),!d}case I.SCROLL_INTO_VIEW:return t.scrollIntoView(),!1;case I.ZOOM:throw new Error(dD);case I.SCROLL:{let o=Cm(n.dy),a=Cm(n.dx),s=Cm(n.fraction);return Im(t,o,s,a),!1}case I.UPLOAD:{if(!xe(t)||t.type!=="file")throw new Error('upload target must be a <input type="file">');sD(n);let o=Al(n.content,"reticle test file"),a=o;if(n.__base64===!0){let u=atob(o),p=new Uint8Array(u.length);for(let h=0;h<u.length;h++)p[h]=u.charCodeAt(h);a=p.buffer.slice(0)}let s=new File([a],Al(n.name,"file.txt"),{type:Al(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 I.DRAG:{let o=US(n);if(o==="")return await Om(t,null,n.data);let a=J.resolve(o);if(!Po(a))throw new Error(`drag target '${$o(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 Om(t,a,n.data)}default:throw new Error(`unknown action '${e}'`)}}function pD(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,fD))}var fD=200;async function yl(t,e,n={}){let r=0<t.length,o=vS(t,e,n)?yS():eD(t);r&&cD(o,e,n);let a=r?tD(o):{},s=xt(o),l=FS(o),d=HS(o),u=PS(o),p=oD.has(e)?LS(o):sp,h=ip(o,e),m=0,g=new np,T=new MutationObserver(Re=>{m+=Re.length,g.collect(Re)});T.observe(o.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let x=!1,y=0,A=!1,w=null;try{let Re=await lD(o,e,n);x=Re.prevented,y=Re.heldMs}finally{let Re=pD(n.settleMs),at=await mS(Re);A=at.settled,w=at.settled?null:Ob.TIMEOUT,T.disconnect()}TS(o,e,h);let k=PS(o),Y=HS(o),fe={dispatched:!0,targetMatched:r&&o.isConnected,visible:s,enabled:l,defaultPrevented:x,focusMoved:d!==Y?`${d!=null?d:"null"}->${Y!=null?Y:"null"}`:null,valueChanged:iD(e)?u!==k:!1,domMutatedWithin:m,...g.effect(k),occluded:p.occluded,occludedBy:p.occludedBy,scrolledIntoView:p.scrolledIntoView,...y>0?{heldMs:y}:{},...h?{alreadyAtValue:!0}:{}},ue=r?p.occluded?au.CLICK_OCCLUDED:e===I.HOVER&&Yu(o)?au.HOVER_NATIVE_ENTER_LEAVE:void 0:au.GLOBAL_PRESS;return nD(t,e,fe,A,w,a,ue)}var Lm=t=>new Promise(e=>X(e,t));async function lp(t){var r;let e=[],n=[];for(let o of t){let a=await yl(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}}Jt();hl();var BS="data-theme";function hD(){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 mD(){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 hD()){let s=gD(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 gD(t,e){return e.length===0||(t.style.color="",t.style.color=e,t.style.color==="")?null:getComputedStyle(t).color}function GS(t){return t==="rgba(0, 0, 0, 0)"||t==="transparent"}function ED(){let t=document.documentElement;if(t===null)return null;let e=Array.from(t.classList).map(o=>`.${o}`).join(""),n=t.getAttribute(BS),r=`${e}${n===null?"":`[${BS}="${n}"]`}`;return r.length===0?null:r}function jS(t){var e;return t.length===1&&(e=t[0])!=null?e:null}function VS(t){var l,d;let e=mD(),n=(l=e.get(t.color))!=null?l:[],r=(d=e.get(t.backgroundColor))!=null?d:[],o=!GS(t.color)&&n.length===0,a=!GS(t.backgroundColor)&&r.length===0,s=0;for(let u of e.values())s+=u.length;return{colorToken:jS(n),colorTokens:n,backgroundToken:jS(r),backgroundTokens:r,offTheme:s>0&&(o||a),tokenCount:s,themeScope:ED()}}Lt();Vn();F();Tr();Gn();function z(t){try{t()}catch{}}function yn(t){try{return t()}catch{return}}function vl(t){try{return t()}catch{return null}}function dp(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]=Xe(o)?Ne:ko(a)}return e}function KS(){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(Xe(o)){t[o]=Ne;continue}let a="";try{a=decodeURIComponent(n.slice(r+1).trim())}catch{a=n.slice(r+1).trim()}t[o]=ko(a)}return t}function WS(t){return t===Do.LOCAL?dp(vl(()=>window.localStorage)):t===Do.SESSION?dp(vl(()=>window.sessionStorage)):Do.COOKIE===t?KS():{local:dp(vl(()=>window.localStorage)),session:dp(vl(()=>window.sessionStorage)),cookies:KS()}}function Fo(t,e){if(e!==null)return Xe(t)?Ne:ko(e)}function zS(t){var p,h,m;if(typeof Storage=="undefined")return()=>{};let e=Storage.prototype,n=(p=Object.getOwnPropertyDescriptor(e,"setItem"))==null?void 0:p.value,r=(h=Object.getOwnPropertyDescriptor(e,"removeItem"))==null?void 0:h.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===vl(()=>window.sessionStorage)?Do.SESSION:Do.LOCAL,s=(g,T)=>{try{return g.getItem(T)}catch{return null}},l=function(g,T){var y;let x=(y=yn(()=>s(this,g)))!=null?y:null;n.call(this,g,T),x!==T&&(Cu(g)||z(()=>{var A;t(S.STORAGE_CHANGE,{area:a(this),key:g,...Fo(g,x)===void 0?{}:{old:Fo(g,x)},new:(A=Fo(g,T))!=null?A:Ne})}))};e.setItem=l;let d=function(g){var x;let T=(x=yn(()=>s(this,g)))!=null?x:null;r.call(this,g),!Cu(g)&&z(()=>{t(S.STORAGE_CHANGE,{area:a(this),key:g,...Fo(g,T)===void 0?{}:{old:Fo(g,T)}})})};e.removeItem=d;let u=function(){let g=a(this),T=[];try{for(let x=0;x<this.length;x+=1){let y=this.key(x);y!==null&&!Cu(y)&&T.push({key:y,old:s(this,y)})}}catch{}o.call(this);for(let{key:x,old:y}of T)z(()=>{t(S.STORAGE_CHANGE,{area:g,key:x,...Fo(x,y)===void 0?{}:{old:Fo(x,y)}})})};return e.clear=u,()=>{e.setItem===l&&(e.setItem=n),e.removeItem===d&&(e.removeItem=r),e.clear===u&&(e.clear=o)}}F();rt();bt();var bD=Ka.FULL_PAGE_UNSUPPORTED,TD=[bD,Ka.NOT_COMPOSITED],xD="__TAURI_INTERNALS__";function _D(){let t=window[xD];if(typeof(t==null?void 0:t.invoke)!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(Nu,{fullPage:n===!0});return typeof r=="string"?r:null}}async function SD(t){let e=[...document.querySelectorAll(Da)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await Hi(),await Hi()),await t()}finally{e.forEach((r,o)=>{var a;r.style.visibility=(a=n[o])!=null?a:""})}}async function YS(t=!1){let e=window[zr],n=typeof(e==null?void 0:e.capture)=="function"?e.capture:_D();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await SD(()=>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 TD)if(o.includes(a))return{ok:!1,reason:a};return{ok:!1,reason:o}}}Uo();Ho();Tr();Pi();function AD(t,e){var n;return(n=Object.getOwnPropertyDescriptor(t,e))==null?void 0:n.value}function Wn(t,e){let n=AD(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}ki();var yD=12e4,Ss=!1,ni=0,qS=0,XS=1,ri=[],_s=null,Bo,up={};function ZS(){if(_s===null)return;let t=_s,e=t.clearTimeout.bind(window);Bo!==void 0&&e(Bo),Bo=t.setTimeout.bind(window)(()=>{Bo=void 0,As()},yD)}function QS(){return Ss}function JS(){if(Ss||typeof window=="undefined")return;Ss=!0,ni=0,qS=Date.now(),_s={setTimeout:Wn(window,"setTimeout"),clearTimeout:Wn(window,"clearTimeout"),setInterval:Wn(window,"setInterval"),clearInterval:Wn(window,"clearInterval"),dateNow:Wn(Date,"now")};let t=(r,o,a)=>{let s=XS;return XS+=1,ri.push({id:s,time:ni+Math.max(0,o),cb:r,interval:a}),s},e=r=>{ri=ri.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)),up={setTimeout:Te(window,"setTimeout"),clearTimeout:Te(window,"clearTimeout"),setInterval:Te(window,"setInterval"),clearInterval:Te(window,"clearInterval")},Date.now=()=>qS+ni,up.dateNow=Te(Date,"now"),ZS()}function eA(t){if(!Ss)return;let e=ni+Math.max(0,t),n=0;for(;n+=1,!(n>1e5);){let o=ri.filter(a=>a.time<=e).sort((a,s)=>a.time-s.time)[0];if(o===void 0)break;ri=ri.filter(a=>a!==o),ni=o.time,o.cb(),o.interval!==void 0&&ri.push({...o,time:ni+o.interval})}ni=e,ZS()}function As(){if(!Ss||_s===null)return;let t=_s,e=ri;Bo!==void 0&&(t.clearTimeout.bind(window)(Bo),Bo=void 0);let n=up;up={},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=ni;if(_s=null,ri=[],Ss=!1,ni=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&&RD(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=vD(s,t,d)}function vD(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:Te(window,"clearTimeout"),clearInterval:Te(window,"clearInterval")}}function RD(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var pp="_reticle_reload";function Me(t){return typeof t=="string"?t:void 0}function rA(t){return typeof t=="number"?t:void 0}function tA(t){return typeof t=="object"&&t!==null?t:{}}function wD(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:rA(e.column)}}function ND(t){return{by:Me(t.by),value:Me(t.value),role:Me(t.role),name:Me(t.name),text:Me(t.text),label:Me(t.label),placeholder:Me(t.placeholder),testid:Me(t.testid),alt:Me(t.alt),component:Me(t.component),scope:Me(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:wD(t.source)}}function OD(t){var h,m,g,T,x,y,A;let e=J.resolve(t);if(e===null)throw new Error(sl.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=Hu(Pu(e,r==null?void 0:r.source)),d=l!==void 0?void 0:T_(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:(h=a==null?void 0:a.overflowY)!=null?h:"visible",scrollLeft:e.scrollLeft,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,overflowX:(m=a==null?void 0:a.overflowX)!=null?m:"visible"},p=R_(e);return{...xr(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:(ds(e)||xe(e))&&(x=(T=e.form)==null?void 0:T.getAttribute("action"))!=null?x:void 0,formText:(ds(e)||xe(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:ID(e,n),styles:s,scroll:u,theme:a!==null?VS(a):null,component:r}}function ID(t,e){return ap(t,e)!==null}function CD(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var nA={ok:!1,reason:Ib.UNAVAILABLE};function LD(t,e,n,r){let o=Mi();if(n!==void 0||r!==void 0){let d=dm(e),u=e!==void 0?d[e]:{stores:d,storeNames:o},p=n!==void 0?Ex(u,n):{found:!0,value:u},h=p.found&&r!==void 0?ts(p.value,r):p.value,m=pl(h);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}=El(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=nA;else{let u=zu(d);l.component=CD(u)?u:nA}}return l}function kD(){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:xr(a)}})}}function DD(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 iA(){let t=new Map;return t.set(D.SNAPSHOT,e=>{var n;return Fu({scope:Me(e.scope),mode:(n=Me(e.mode))!=null?n:za.FULL,includeRoot:e.includeRoot===!0})}),t.set(D.QUERY,e=>{let n=e.limit;return Xu(ND(e),typeof n=="number"?n:void 0)}),t.set(D.MATCH,e=>bl(Yc.parse(tA(e.query)),Me(e.state))),t.set(D.ACT,e=>{var r,o;let n=(r=Me(e.action))!=null?r:"";return yl((o=Me(e.ref))!=null?o:"",n,tA(e.args))}),t.set(D.ACT_SEQUENCE,e=>lp(Array.isArray(e.steps)?e.steps:[])),t.set(D.INSPECT,e=>{var n;return OD((n=Me(e.ref))!=null?n:"")}),t.set(D.ANIMATIONS,()=>kD()),t.set(D.CLOCK,e=>{if(e.reset===!0)As();else{e.freeze===!0&&JS();let n=e.advanceMs;typeof n=="number"&&eA(n)}return{frozen:QS()}}),t.set(D.STATE_READ,e=>LD(Me(e.ref),Me(e.store),Me(e.path),rA(e.depth))),t.set(D.STORAGE_READ,e=>WS(Me(e.area))),t.set(D.CAPABILITIES,()=>$i()),t.set(D.CAPTURE,e=>YS(e.fullPage===!0)),t.set(D.SCROLL,e=>{let n=e.dy,r=e.fraction;return MS(Me(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(D.NAVIGATE,e=>{let n=Me(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=DD(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(D.REFRESH,e=>{if(e.hard===!0){let n=new URL(window.location.href);n.searchParams.set(pp,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}F();rt();gl();Tr();function MD(t){if(typeof document=="undefined")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var km=1e3,$D=3e4;function PD(t){return Math.min(t*2,$D)}var HD=500,UD=1008,FD=3,Dt,ii,Bi,mp,oi,ys,Go,vs,wl,Rs,Nl,ws,jo,Ns,Os,Mt,Ol,Ee,oA,fp,Dm,aA,Mm,$m,sA,Rl,cA,hp=class{constructor(e){b(this,Ee);b(this,Dt);b(this,ii,[]);b(this,Bi,[]);b(this,mp,0);b(this,oi,!1);b(this,ys);b(this,Go,km);b(this,vs,!1);b(this,wl,!1);b(this,Rs,0);b(this,Nl,!1);b(this,ws,0);b(this,jo);b(this,Ns);b(this,Os);b(this,Mt);b(this,Ol);var n;f(this,Mt,e),f(this,Ol,(n=e.now)!=null?n:tp)}connect(){var e,n;typeof WebSocket!="undefined"&&(f(this,oi,!1),(n=c(this,Os))!=null||f(this,Os,((e=c(this,Mt).onVisible)!=null?e:MD)(()=>E(this,Ee,oA).call(this))),E(this,Ee,fp).call(this))}sendEvent(e){E(this,Ee,Rl).call(this,br({kind:Ot.EVENT,event:e}),{seq:e.seq,t:e.t,type:e.type})}reannounce(){c(this,Dt)===void 0||c(this,Dt).readyState!==WebSocket.OPEN||c(this,Dt).send(JSON.stringify(c(this,Mt).hello()))}close(){var e,n;f(this,oi,!0),(e=c(this,Os))==null||e.call(this),f(this,Os,void 0),(n=c(this,Dt))==null||n.close(),f(this,Dt,void 0)}};Dt=new WeakMap,ii=new WeakMap,Bi=new WeakMap,mp=new WeakMap,oi=new WeakMap,ys=new WeakMap,Go=new WeakMap,vs=new WeakMap,wl=new WeakMap,Rs=new WeakMap,Nl=new WeakMap,ws=new WeakMap,jo=new WeakMap,Ns=new WeakMap,Os=new WeakMap,Mt=new WeakMap,Ol=new WeakMap,Ee=new WeakSet,oA=function(){c(this,oi)||(f(this,Go,km),c(this,Dt)===void 0&&E(this,Ee,fp).call(this))},fp=function(){let e;try{e=new WebSocket(c(this,Mt).url)}catch{E(this,Ee,$m).call(this),E(this,Ee,Mm).call(this),E(this,Ee,Dm).call(this);return}f(this,Dt,e),e.onopen=()=>{var o,a,s;f(this,ys,void 0),f(this,vs,!1),f(this,wl,!0),f(this,Go,km);let n=c(this,Mt).hello();(o=c(this,Ns))!=null||f(this,Ns,n.sessionId),e.send(JSON.stringify(n)),E(this,Ee,cA).call(this,e,n.sessionId);let r=[...c(this,ii),...c(this,Bi)].sort((l,d)=>l.order-d.order);for(let l of r)e.send(l.text);f(this,ii,[]),f(this,Bi,[]),(s=(a=c(this,Mt)).onConnected)==null||s.call(a)},e.onmessage=n=>{let r=n.data;E(this,Ee,sA).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{var r,o;if(f(this,Dt,void 0),n.code===UD){f(this,oi,!0);let a=n.reason.length>0?n.reason:"policy violation";Kn(`[reticle] bridge refused the connection: ${a} \u2014 not retrying.`),(o=(r=c(this,Mt)).onConnectionLost)==null||o.call(r);return}E(this,Ee,$m).call(this),E(this,Ee,Mm).call(this),E(this,Ee,Dm).call(this)},e.onerror=()=>{e.close()}},Dm=function(){var r;if(c(this,oi))return;let e=c(this,Go);f(this,Go,PD(e)),((r=c(this,Mt).schedule)!=null?r:X)(()=>E(this,Ee,aA).call(this),e)},aA=function(){c(this,oi)||c(this,Dt)!==void 0||E(this,Ee,fp).call(this)},Mm=function(){var e,n;c(this,wl)||c(this,Nl)||(f(this,Rs,c(this,Rs)+1),c(this,Rs)>=FD&&(f(this,Nl,!0),(n=(e=c(this,Mt)).onUnreachable)==null||n.call(e,{url:c(this,Mt).url,attempts:c(this,Rs)})))},$m=function(){var n,r,o;let e=c(this,Ol).call(this);(n=c(this,ys))!=null||f(this,ys,e),!c(this,vs)&&e-c(this,ys)>=RT.BRIDGE_LOST_MS&&(f(this,vs,!0),(o=(r=c(this,Mt)).onConnectionLost)==null||o.call(r))},sA=async function(e){var s;let n;try{n=JSON.parse(e)}catch{return}let r=kh.safeParse(n);if(!r.success){let l=n==null?void 0:n.id;typeof l=="string"&&l.length>0&&E(this,Ee,Rl).call(this,br({kind:Ot.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,Ns)){E(this,Ee,Rl).call(this,br({kind:Ot.COMMAND_RESULT,id:o.id,ok:!1,error:`command addressed to session ${o.sessionId} but this page is ${(s=c(this,Ns))!=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,Mt).handleCommand(o)}catch(l){a={ok:!1,error:l instanceof Error?l.message:String(l)}}E(this,Ee,Rl).call(this,br({kind:Ot.COMMAND_RESULT,id:o.id,ok:a.ok,result:a.result,error:a.error}))},Rl=function(e,n){if(c(this,Dt)!==void 0&&c(this,Dt).readyState===WebSocket.OPEN){c(this,Dt).send(e);return}if(c(this,ii).length+c(this,Bi).length>=HD){let a=c(this,ii).length>0?c(this,ii).shift():c(this,Bi).shift();if((a==null?void 0:a.event)!==void 0){f(this,ws,c(this,ws)+1);let s=c(this,jo);(s===void 0||a.event.t<s.t)&&f(this,jo,a.event)}}let r=n!==void 0&&gT.has(n.type),o=ZE(this,mp)._++;r?c(this,ii).push({text:e,event:n,order:o}):c(this,Bi).push({text:e,event:n,order:o})},cA=function(e,n){let r=c(this,jo);if(r===void 0)return;let o={t:r.t,seq:r.seq,type:S.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,ws)}};e.send(br({kind:Ot.EVENT,event:o})),f(this,jo,void 0),f(this,ws,0)};Pm();Uo();F();Ho();function uA(){let t=[v.UI,v.NET,v.LOG,v.ROUTE,v.STORAGE,v.TIME,v.SIGNAL];return Mi().length>0?[...t,v.STATE]:t}F();var BD="__TAURI_INTERNALS__";function pA(){if(typeof window=="undefined")return mr.SERVICE;let t=window;return t[zr]!==void 0||t[BD]!==void 0?mr.WEBVIEW:mr.WEB}var GD=[D.SNAPSHOT,D.QUERY,D.MATCH,D.INSPECT,D.ACT,D.ACT_SEQUENCE,D.ANIMATIONS,D.NARRATE,D.CLOCK,D.CAPABILITIES,D.STATE_READ,D.STORAGE_READ,D.SCROLL,D.SESSION_CONFIG,D.PRESENTER,D.IMPACT,D.CAPTURE,D.NAVIGATE,D.REFRESH,D.FLOWS,D.FLOW_PROGRESS,D.PLAN];function fA(){return[...GD]}Pi();Sn();F();Jt();Lt();bt();ls();Vn();function jD(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}function Hm(t){let e=[],n=(r,o)=>{if(!(o>=3))for(let a of r.querySelectorAll("iframe")){let s=jD(a);s!==null&&(e.push(s),n(s,o+1))}};return n(t,0),e}function hA(t){let e=new AbortController,n=()=>{for(let o of Hm(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 mA(t){var r;let e=Zr(t)?t:null;if(e===null)return;let n=e.closest(Qr());return(r=n?Pe(n):null)!=null?r:J.refFor(e)}var VD=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],gA=120;function gp(t){if(t!==null)return t.length>gA?`${t.slice(0,gA)}\u2026`:t}var KD=new Set(["dialog","alertdialog"]),WD=new Set(["alert","status"]),Il=40;function EA(t,e){return t!=="generic"||e.length>0}var zD=40;function bA(t){let e=ke(t),n=ve(t);if(EA(e,n))return{role:e,name:n,el:t};let r=0;for(let o of t.querySelectorAll("*")){if(r>=zD)return;if(r+=1,$e(o))continue;let a=ke(o),s=ve(o);if(EA(a,s))return{role:a,name:s,el:o}}}var YD=3;function Um(t){var r;let e="";for(let o of t)o.nodeType===YD&&(e+=(r=o.nodeValue)!=null?r:"");let n=e.trim();return n.length>0?n:void 0}function TA(t){let e=c_(),n=new MutationObserver(s=>{var h,m,g,T,x;let l=0,d=0,u=0,p=0;for(let y of s){if(y.type==="attributes"){let A=y.target;if(Zr(A)&&y.attributeName!==null&&!$e(A)){if(u>=Il){p+=1;continue}u+=1;let w=gp(A.getAttribute(y.attributeName)),k=gp(y.oldValue);t(S.DOM_ATTR,{attr:y.attributeName,...w===void 0?{}:{value:w},...k===void 0?{}:{old:k}},J.refFor(A))}continue}if(y.type==="characterData"){let A=y.target.parentElement;if(A!==null&&!$e(A)){if(u>=Il){p+=1;continue}u+=1;let w=((h=y.target.textContent)!=null?h:"").trim().slice(0,80),k=gp((g=(m=y.oldValue)==null?void 0:m.trim())!=null?g:null);t(S.DOM_TEXT,{text:w,...k===void 0?{}:{old:k}},J.refFor(A))}continue}if(Um(y.addedNodes)!==void 0||Um(y.removedNodes)!==void 0){let A=Zr(y.target)?y.target:null;if(A!==null&&!$e(A))if(u>=Il)p+=1;else{u+=1;let w=((T=A.textContent)!=null?T:"").trim().slice(0,80),k=gp((x=Um(y.removedNodes))!=null?x:null);t(S.DOM_TEXT,{text:w,...k===void 0?{}:{old:k}},J.refFor(A))}}for(let A of y.addedNodes){if(!Zr(A))continue;if(l>=Il){p+=1;continue}if($e(A))continue;let w=bA(A);if(w===void 0)continue;let{role:k,name:Y}=w;l+=1;let fe=J.refFor(w.el);t(S.DOM_ADDED,{role:k,name:Y,region:mA(y.target)},fe),(KD.has(k)||WD.has(k)||A.getAttribute("aria-modal")==="true")&&xt(A)&&t(S.VISIBLE_SHOWN,{role:k,name:Y},fe)}for(let A of y.removedNodes){if(!Zr(A))continue;if(d>=Il){p+=1;continue}if($e(A)||Zr(y.target)&&$e(y.target))continue;let w=bA(A);if(w===void 0)continue;let{role:k,name:Y}=w;d+=1,t(S.DOM_REMOVED,{role:k,name:Y,region:mA(y.target)})}}p>0&&t(S.TRUNCATED,{channel:ou.DOM,dropped:p})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:VD,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let s of o_())n.observe(s,r);let o=s_(s=>n.observe(s,r)),a=hA(s=>n.observe(s,r));return()=>{a(),o(),e(),n.disconnect()}}F();Ho();Tr();function xA(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function qD(t,e){if(!xA(t)||!xA(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 _A(t,e){return Xe(t)?Ne:ul(e)}function SA(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function AA(t){try{return t()}catch{return}}function yA(t){let e=new Map,n=([o,a,s])=>{var d;try{(d=e.get(o))==null||d()}catch{}let l=AA(a);e.set(o,s(()=>{z(()=>{let u=AA(a),p=qD(l,u);l=u;for(let h of p){let m=_A(h.path,h.new),g=_A(h.path,h.old);(Xe(h.path)?SA(ul(h.old),ul(h.new)):SA(g,m))||z(()=>t(S.STATE_CHANGE,{name:o,path:h.path,value:m,old:g}))}})}))};for(let o of H_())n(o);e.size===0&&t(S.BLIND_SPOT,{kind:Ct.UNWATCHED_STATE,count:1});let r=M_(o=>{let a=e.size===0;n(o),a&&e.size>0&&t(S.BLIND_SPOT,{kind:Ct.UNWATCHED_STATE,count:0})});return()=>{r();for(let o of e.values())try{o()}catch{}e.clear()}}F();Jt();function Is(t){if(!(t instanceof Element)||t===document.body)return;let e=ke(t),n=ve(t);return n.length>0?`${e} "${n}"`:e}function XD(t){return t===null||t===document.body}function vA(t){let e=new AbortController,{signal:n}=e,r=null,o=s=>{let l=s.target,d=r;r=l,t(S.FOCUS_CHANGE,{...Is(l)===void 0?{}:{to:Is(l)},...Is(d)===void 0?{}:{from:Is(d)},toBody:XD(l)})},a=s=>{if(s.relatedTarget!==null)return;let l=r;r=null,t(S.FOCUS_CHANGE,{...Is(l)===void 0?{}:{from:Is(l)},toBody:!0})};return document.addEventListener("focusin",o,{signal:n}),document.addEventListener("focusout",a,{signal:n}),()=>e.abort()}Sn();F();Jt();var RA=160,ZD=150,QD=/^(cc-|current-password|new-password)/i;function wA(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function JD(t){let e=Pe(t);if(e!==null&&e.length>0)return e;if(t.name.length>0)return t.name;let n=ve(t);if(n.length>0)return n;let r=t.getAttribute("id");return r!==null&&r.length>0?r:t.tagName.toLowerCase()}function e2(t){if(t instanceof HTMLInputElement&&t.type==="password")return!0;let e=t.getAttribute("autocomplete");if(e!==null&&QD.test(e))return!0;for(let n of[t.name,Pe(t),t.getAttribute(Wr),t.getAttribute("id")])if(n!==null&&n.length>0&&Xe(n))return!0;return!1}function NA(t){let e=new AbortController,{signal:n}=e,r=new Map,o=(d,u)=>{let p=d.value,h=e2(d);t(S.FIELD_CHANGE,{field:JD(d),kind:u,length:p.length,...h?{redacted:!0}:{value:p.length>RA?`${p.slice(0,RA)}\u2026`:p}})},a=d=>{let u=r.get(d);u!==void 0&&clearTimeout(u),r.delete(d)},s=d=>{let u=d.target;wA(u)&&(a(u),r.set(u,setTimeout(()=>{r.delete(u),o(u,"input")},ZD)))},l=d=>{let u=d.target;wA(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()}}F();function t2(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 n2(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=t2(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 h=p.offsetTop,m=h+p.offsetHeight;h<a&&(a=h),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 OA(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=n2(e));return t}ls();rt();function r2(){var e;let t=0;for(let n of document.querySelectorAll("*"))n.tagName.includes("-")&&n.shadowRoot===null&&(a_(n)||n.children.length>0||((e=n.textContent)!=null?e:"").trim().length>0||n.offsetHeight<=0&&n.offsetWidth<=0||(t+=1));return t}function i2(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function o2(t){let e=0;for(let n of t)i2(n)&&(e+=1);return e}function a2(){return o2(Array.from(document.querySelectorAll("iframe")))}function s2(){return Hm(document).length}var c2=250;function IA(t){let e=[{kind:Ct.CROSS_ORIGIN_IFRAME,count:a2},{kind:Ct.UNINSTRUMENTED_FRAME,count:s2},{kind:Ct.CLOSED_SHADOW_ROOT,count:r2},{kind:Ct.VIRTUALIZED_UNMOUNTED,count:OA}],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(S.BLIND_SPOT,{kind:s.kind,count:l}))}};r();let o,a=new MutationObserver(()=>{o===void 0&&(o=X(()=>{o=void 0,r()},c2))});return a.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{o!==void 0&&me(o),a.disconnect()}}F();ki();F();Tr();rt();var l2=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,d2=/event-stream|x-ndjson|application\/stream/i,u2=/event-stream/i;function kA(t,e){return t!==null&&u2.test(t)?!1:e===null}var p2=500;async function DA(t){let e;try{return await Promise.race([t,new Promise(n=>{e=X(()=>n(void 0),p2)})])}finally{e!==void 0&&me(e)}}function Fm(t){return t===null||d2.test(t)?!1:l2.test(t)}var MA=8192,f2=262144,h2=256,Cl=MA;function $A(t){Number.isFinite(t)&&(Cl=Math.min(f2,Math.max(h2,Math.floor(t))))}var m2=MA*2;function g2(t){let e=Cl*2;return t?Math.min(e,m2):e}var E2=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function CA(t){return t.replace(E2,(e,n)=>`${n} ${Ne}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>Xe(n)?`${n}${r}${Ne}`:e)}var LA=4096;function Bm(t,e){return e&&t>=400}function Gm(t,e){let n=Gi(t,e);return n.body.length<=LA?n:{body:n.body.slice(0,LA),truncated:!0}}function Gi(t,e){let n=e!==null&&/json|graphql/i.test(e),r=g2(!n),o=t.length>r,a=o?t.slice(0,r):t,s;if(n)try{s=br(JSON.parse(a))}catch{s=CA(a)}else s=CA(a);s=ko(s);let l=o||s.length>Cl;return{body:s.length>Cl?s.slice(0,Cl):s,truncated:l}}var b2=/text\/|json|csv|xml|ndjson|javascript/i,T2=2e3;function PA(t,e={}){if(typeof URL.createObjectURL!="function")return()=>{};let n=new AbortController,r=URL.createObjectURL.bind(URL),o=new Map,a=Te(URL,"createObjectURL"),s=function(g){let T=r(g);return z(()=>{if(typeof Blob!="undefined"&&g instanceof Blob){let x=b2.test(g.type)?g.text().catch(()=>{}):Promise.resolve(void 0);o.set(T,{type:g.type,size:g.size,text:x})}}),T};URL.createObjectURL=s;let l=(m,g)=>{let T=o.get(m);T!==void 0&&(o.delete(m),T.text.then(x=>{z(()=>{d(T,g,x)})}))},d=(m,g,T)=>{let x={mimeType:m.type,bytes:m.size};if(g!==void 0&&g.length>0&&(x.filename=g),T!==void 0&&(x.lines=T.split(`
|
|
1702
|
+
`).filter(y=>y.length>0).length,e.capturePreview===!0)){let{body:y,truncated:A}=Gi(T.slice(0,T2),m.type);x.preview=y,A&&(x.previewTruncated=!0)}t(S.DOWNLOAD,x)},u=m=>{z(()=>{var x,y;let g=m.target,T=g instanceof Element?g.closest("a[download]"):null;T!==null&&l((x=T.getAttribute("href"))!=null?x:"",(y=T.getAttribute("download"))!=null?y:void 0)})};document.addEventListener("click",u,{capture:!0,signal:n.signal});let p=Te(HTMLAnchorElement.prototype,"click"),h=function(){let g=yn(()=>{var T,x;return this.hasAttribute("download")?{href:(T=this.getAttribute("href"))!=null?T:"",name:(x=this.getAttribute("download"))!=null?x:void 0}:void 0});p.call(this),z(()=>{g!==void 0&&l(g.href,g.name)})};return HTMLAnchorElement.prototype.click=h,()=>{n.abort(),URL.createObjectURL===s&&(URL.createObjectURL=a),HTMLAnchorElement.prototype.click===h&&(HTMLAnchorElement.prototype.click=p),o.clear()}}F();ki();function HA(t){let e=Te(window,"open");if(e===void 0)return()=>{};let r=function(o,a,s){let l=e.call(this,o,a,s);return z(()=>{t(S.CONTEXT_OPENED,{...o===void 0?{}:{href:o}})}),l};return window.open=r,()=>{window.open===r&&(window.open=e)}}F();ki();F();F();rt();var x2=1e4;function UA(t,e,n,r,o,a){var d;if(!kA(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(S.NET_STREAM,{transport:gr.FETCH,direction:Er.OPEN,...r,id:n}),(async()=>{let u=l.getReader(),p=!1,h,m=new Promise(g=>{h=X(()=>g("expired"),x2)});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{h!==void 0&&me(h)}t(S.NET_STREAM,{transport:gr.FETCH,direction:Er.CLOSE,...r,id:n,...p?{gaveUp:!0}:{}})})())}function _2(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 jm(t,e){if(typeof t!="string"){let r=_2(t);return r===void 0?{frameType:typeof t}:{frameType:"binary",frameBytes:r}}let n={frameBytes:t.length};if(e){let{body:r,truncated:o}=Gi(t,"application/json");n.frame=r,o&&(n.frameTruncated=!0)}return n}var Cs={NULL:"0",STRING:"s",NUMBER:"n",BOOLEAN:"b",OTHER:"?"};function Ep(t){if(t===null)return Cs.NULL;if(Array.isArray(t))return`[${t.map(Ep).join(",")}]`;if(typeof t=="object"){let e=t;return`{${Object.keys(e).sort().map(n=>`${n}:${Ep(e[n])}`).join(",")}}`}return typeof t=="string"?Cs.STRING:typeof t=="number"?Cs.NUMBER:typeof t=="boolean"?Cs.BOOLEAN:Cs.OTHER}function FA(t,e){return ns(`${t}#${String(e)}`)}function S2(t){try{return Ep(JSON.parse(t))}catch{return Cs.OTHER}}function Vm(t,e){var d,u;let n,r="application/json",o=PT;if(typeof t=="string")n=t,n.length>0&&(o=FA(S2(n),n.length));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=FA(Ep(p),n.length)}}else if(t!=null){let p=(u=(d=t.constructor)==null?void 0:d.name)!=null?u:typeof t;return e?{requestBodyType:p}:{}}let a={[Tu]:o};if(!e||n===void 0||n.length===0)return a;let{body:s,truncated:l}=Gi(n,r);return l?{...a,requestBody:s,requestBodyTruncated:!0}:{...a,requestBody:s}}function BA(t){return t>=200&&t<400}function GA(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 A2(t){return typeof t=="string"?t:t instanceof URL?t.href:t.url}function y2(t,e){return(e==null?void 0:e.method)!==void 0?e.method.toUpperCase():t instanceof Request?t.method.toUpperCase():"GET"}function v2(t,e){var n,r;if(e!==void 0&&e.headers!==void 0)return(n=yn(()=>new Headers(e.headers).get(yh)))!=null?n:void 0;if(t instanceof Request)return(r=yn(()=>t.headers.get(yh)))!=null?r:void 0}var R2=/@reticlehq|reticle\.ts|network\.ts|transport\.ts|<anonymous>|new Promise|node:internal/i,w2=/node_modules|\/\.vite\/deps\//i;function N2(t){var r;if(t===void 0)return;let e=t.split(`
|
|
1703
|
+
`).slice(1).map(o=>o.trim()).filter(o=>o.length>0&&!R2.test(o)),n=e.find(o=>!w2.test(o));return(r=n!=null?n:e[0])==null?void 0:r.slice(0,300)}function Km(){return N2(new Error().stack)}function O2(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 jA(t){try{let e=performance.getEntriesByName(t,"resource");return O2(e[e.length-1])}catch{return{}}}function I2(t){try{return new URL(t,location.href).pathname===vo}catch{return t.includes(vo)}}function C2(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var VA=new WeakSet;function KA(t,e={}){var ka,VE,KE;let n=e.captureBodies===!0,r=e.captureErrorBodies!==!1,o=e.reinterpret,a=Wn(window,"fetch"),s=a.bind(window);!C2(a)&&!VA.has(a)&&t(S.BLIND_SPOT,{kind:Ct.WRAPPED_NETWORK,count:1});let l=0,d=()=>`n${++l}`;window.fetch=async(Ae,ae)=>{var zE,YE;let Je=A2(Ae);if(((zE=e.ignore)==null?void 0:zE.call(e,Je))===!0)return s(Ae,ae);let ye=d(),wt=performance.now(),un=y2(Ae,ae),Ut=v2(Ae,ae),Ri=Ut===void 0?{}:{[xu]:Ut},cr=hr(Je),Vd=cr.url,WE=yn(()=>Km()),If=WE===void 0?{}:{initiatorStack:WE};z(()=>{t(S.NET_PENDING,{id:ye,method:un,...cr,initiator:"fetch",...If})});try{let Et=await s(Ae,ae),DN=performance.now(),Mc=(YE=yn(()=>Et.headers.get("content-type")))!=null?YE:null;z(()=>{UA(t,Et,ye,cr,Mc,Et.headers.get("content-length"))}),gt.add(Je);let qE=$c=>{z(()=>{var Pc;t(S.NET_REQUEST,{id:ye,method:un,...cr,status:Et.status,ok:BA(Et.status),durationMs:Math.round(DN-wt),initiator:"fetch",...If,...jA(Je),...GA(Et.statusText,Mc,Et.headers.get("content-length")),...Vm(ae==null?void 0:ae.body,n),...Ri,...$c,...(Pc=o==null?void 0:o(Vd,Hc=>Et.headers.get(Hc)))!=null?Pc:{}})})},MN=Bm(Et.status,r);if((n||MN)&&Fm(Mc)){let $c;try{$c=Et.clone()}catch{}(async()=>{let Pc={};if($c!==void 0)try{let Hc=await DA($c.text());if(Hc!==void 0){let{body:$N,truncated:PN}=n?Gi(Hc,Mc):Gm(Hc,Mc);Pc={responseBody:$N,...PN?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}}catch{}try{qE(Pc)}catch{}})().catch(()=>{})}else qE({});return Et}catch(Et){throw z(()=>{t(S.NET_REQUEST,{id:ye,method:un,url:Vd,status:0,ok:!1,error:Et instanceof Error?Et.message:String(Et),durationMs:Math.round(performance.now()-wt),initiator:"fetch",...If,...Ri})}),Et}};let u=Wn(window,"fetch");VA.add(u);let p=new WeakMap,h=XMLHttpRequest.prototype,m=Te(h,"open"),g=Te(h,"send"),T=m;h.open=function(Ae,ae,...Je){z(()=>{p.set(this,{id:d(),method:Ae.toUpperCase(),url:Su(String(ae)),rawUrl:String(ae),start:0})}),T.call(this,Ae,ae,...Je)};let x=Te(h,"open"),y=new WeakSet;h.send=function(Ae){z(()=>{let ae=p.get(this);if(ae!==void 0){ae.start=performance.now(),ae.reqBody=Ae!=null?Ae:null,ae.initiatorStack=Km();let Je=ae.initiatorStack===void 0?{}:{initiatorStack:ae.initiatorStack};t(S.NET_PENDING,{id:ae.id,method:ae.method,...hr(ae.rawUrl),initiator:"xhr",...Je}),y.has(this)||(y.add(this),this.addEventListener("loadend",()=>{z(()=>{let ye=p.get(this);if(ye===void 0)return;gt.add(ye.rawUrl);let wt=this.getResponseHeader("content-type"),un={},Ut=this.responseType===""||this.responseType==="text",Ri=Bm(this.status,r);if((n||Ri)&&Ut&&Fm(wt))try{let{body:cr,truncated:Vd}=n?Gi(this.responseText,wt):Gm(this.responseText,wt);un={responseBody:cr,...Vd?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}catch{}t(S.NET_REQUEST,{id:ye.id,method:ye.method,...hr(ye.rawUrl),status:this.status,ok:BA(this.status),durationMs:Math.round(performance.now()-ye.start),initiator:"xhr",...ye.initiatorStack===void 0?{}:{initiatorStack:ye.initiatorStack},...jA(ye.rawUrl),...GA(this.statusText,wt,this.getResponseHeader("content-length")),...Vm(ye.reqBody,n),...un})})}))}}),g.call(this,Ae!=null?Ae:null)};let A=Te(h,"send"),w=window.EventSource,k=window.WebSocket,Y,fe;n&&typeof w=="function"&&(window.EventSource=class extends w{constructor(Ae,ae){super(Ae,ae),z(()=>{let Je=hr(String(Ae));t(S.NET_STREAM,{transport:gr.SSE,direction:Er.OPEN,...Je}),this.addEventListener("message",ye=>{z(()=>{t(S.NET_STREAM,{transport:gr.SSE,direction:Er.IN,...Je,...jm(ye.data,n)})})})})}},Y=window.EventSource),n&&typeof k=="function"&&(window.WebSocket=(VE=class extends k{constructor(ae,Je){super(ae,Je);b(this,ka);f(this,ka,I2(String(ae))),!c(this,ka)&&z(()=>{let ye=hr(String(ae));t(S.NET_STREAM,{transport:gr.WS,direction:Er.OPEN,...ye}),this.addEventListener("message",wt=>{z(()=>{t(S.NET_STREAM,{transport:gr.WS,direction:Er.IN,...ye,...jm(wt.data,n)})})})})}send(ae){if(c(this,ka)){super.send(ae);return}super.send(ae),z(()=>{t(S.NET_STREAM,{transport:gr.WS,direction:Er.OUT,...hr(this.url),...jm(ae,n)})})}},ka=new WeakMap,VE),fe=window.WebSocket);let ue=typeof navigator!="undefined"?Object.getPrototypeOf(navigator):null,Re=ue===null||(KE=Object.getOwnPropertyDescriptor(ue,"sendBeacon"))==null?void 0:KE.value,at;ue!==null&&Re!==void 0&&(at=function(Ae,ae){let Je=d(),ye=yn(()=>hr(String(Ae))),wt=yn(()=>Km()),un=Re.call(this,Ae,ae);return z(()=>{t(S.NET_REQUEST,{id:Je,method:"POST",...ye,status:0,ok:un,queued:un,durationMs:0,initiator:"beacon",...wt===void 0?{}:{initiatorStack:wt},...Vm(ae,!1)})}),un},ue.sendBeacon=at);let gt=new Set,Yt=0,dn=200,st;if(typeof PerformanceObserver!="undefined")try{let Ae=new PerformanceObserver(ae=>{var Je,ye,wt;for(let un of ae.getEntries()){let Ut=un;if(Yt>=dn)return;let Ri=Ut.initiatorType||"other";if(Ri==="fetch"||Ri==="xmlhttprequest")continue;let cr=Ut.name;gt.has(cr)||(gt.add(cr),Yt+=1,t(S.NET_REQUEST,{id:d(),method:"GET",...hr(cr),durationMs:Math.round(Ut.duration),initiator:Ri,...Ut.transferSize>0?{transferSize:Ut.transferSize}:{},...((Je=Ut.responseStatus)!=null?Je:0)>0?{status:Ut.responseStatus,ok:((ye=Ut.responseStatus)!=null?ye:0)>=200&&((wt=Ut.responseStatus)!=null?wt:0)<400}:{}}))}});st=Ae,Ae.observe({type:"resource",buffered:!0})}catch{}return()=>{st==null||st.disconnect(),window.fetch===u&&(window.fetch=a),Te(h,"open")===x&&(h.open=m),Te(h,"send")===A&&(h.send=g),Y!==void 0&&window.EventSource===Y&&(window.EventSource=w),fe!==void 0&&window.WebSocket===fe&&(window.WebSocket=k),ue!==null&&Re!==void 0&&ue.sendBeacon===at&&(ue.sendBeacon=Re)}}F();var L2="Tauri-Response",k2="error",WA={OK:"Ok",ERROR:"Err"},zA=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function YA(t,e){let n=zA.exec(t),r=n==null?void 0:n[1];if(r===void 0)return;let o=e(L2)!==k2;return{url:`${Ah}${r}`,initiator:Bn.IPC,method:Bn.IPC,ok:o,status:o?Qc.OK:Qc.ERROR,statusText:o?WA.OK:WA.ERROR}}function qA(t){var e;return((e=zA.exec(t))==null?void 0:e[1])===Nu}function D2(){return navigator.userAgent.includes("Electron")}function XA(t,e={}){let n=window[zr];if(typeof(n==null?void 0:n.subscribe)!="function")return D2()&&t(S.BLIND_SPOT,{kind:Ct.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(o=>{z(()=>{var d;let a=`${Ah}${o.channel}`;if(o.phase==="start"){t(S.NET_PENDING,{id:o.id,method:Bn.IPC,url:a,initiator:Bn.IPC});return}let s=o.oneWay===!0&&o.ok===void 0;s&&t(S.BLIND_SPOT,{kind:Ct.VERDICTLESS_SEND,count:1});let l=o.ok===!0;t(S.NET_REQUEST,{id:o.id,method:Bn.IPC,url:a,...s?{}:{ok:l,status:l?Qc.OK:Qc.ERROR},...o.oneWay===!0?{oneWay:!0}:{},durationMs:(d=o.durationMs)!=null?d:0,initiator:Bn.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)}}F();function ZA(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(S.PERF,{metric:Wa.LCP,value:s,at:s}))}),n("layout-shift",a=>{var l;let s=a;s.hadRecentInput!==!0&&(r+=(l=s.value)!=null?l:0,t(S.PERF,{metric:Wa.CLS,value:r,at:Math.round(a.startTime)}))}),n("longtask",a=>{t(S.PERF,{metric:Wa.LONGTASK,value:Math.round(a.duration),at:Math.round(a.startTime)})}),()=>{for(let a of e)a.disconnect()}}F();ki();function M2(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}function QA(t){let e=new AbortController,n=Te(history,"pushState"),r=Te(history,"replaceState"),o=n.bind(history),a=r.bind(history),s=location.href,l=h=>{z(()=>{let m=M2();m.href!==h&&(s=m.href,t(S.ROUTE_CHANGE,{from:h,to:m.href,pathname:m.pathname,search:m.search,hash:m.hash}))})},d=(h,m,g)=>{let T=location.href;o(h,m,g!=null?g:null),l(T)},u=(h,m,g)=>{let T=location.href;a(h,m,g!=null?g:null),l(T)};history.pushState=d,history.replaceState=u;let p=()=>{l(s)};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()}}F();var $2=new Set(["navigate","reload","back_forward"]);function P2(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function JA(t){var s,l;let e=P2(),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"||!$2.has(n))return()=>{};let o=e.responseStatus,a=typeof o=="number"&&o>0;return t(S.NET_REQUEST,{id:`doc-${String(Math.round((s=e.duration)!=null?s:0))}`,method:"GET",url:r,initiator:Bn.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}:{}}),()=>{}}F();var H2=/^(javascript|mailto|tel|sms|blob|data):/i;function U2(){if(typeof window=="undefined")return;let t=window.navigation;return t instanceof EventTarget?t:void 0}function F2(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}var B2=1e3;function ey(t,e,n){if(t.length===0||H2.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 ty(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<B2||(n={url:l,at:u},e+=1,t(S.NET_PENDING,{id:`nav-${String(e)}`,method:"GET",url:l,initiator:Bn.NAVIGATION,...d?{download:!0}:{}}))},o=l=>{z(()=>{var g;let d=F2(l.target);if(d===void 0)return;let u=(g=d.getAttribute("href"))!=null?g:"",p=document.location.href,h=d.hasAttribute("download");if(!ey(u,h,p))return;let m=new URL(u,p).toString();queueMicrotask(()=>{z(()=>{l.defaultPrevented||r(m,h)})})})},a=l=>{z(()=>{let d=l.destination;if(d===void 0||d.sameDocument)return;let u=d.url;ey(u,!1,document.location.href)&&queueMicrotask(()=>{z(()=>{l.defaultPrevented||r(u,!1)})})})},s=U2();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)}}F();Tr();F();var G2=3,j2=256,V2={emit:!0},K2={emit:!1};function W2(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function z2(t){var e,n,r;return ns([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 ny(t=G2,e=j2){let n=new Map;return{admit(r){var s,l;let o=z2(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?V2:W2(a)?{emit:!0,repeats:a}:K2}}}var ry="securitypolicyviolation",Y2="report",q2={log:S.CONSOLE_LOG,warn:S.CONSOLE_WARN,error:S.CONSOLE_ERROR,info:S.CONSOLE_INFO,debug:S.CONSOLE_DEBUG};function X2(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:br(e)).join(" ")}var iy=G.MAX_STACK_LENGTH;function Wm(t){if(!(t===void 0||t.length===0))return t.length>iy?t.slice(0,iy):t}function Z2(t){for(let e of t)if(e instanceof Error)return Wm(e.stack)}function oy(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let h of e){let m=Wn(console,h);n.set(h,m);let g=m.bind(console),T=(...x)=>{g(...x),z(()=>{let y=h==="error"?Z2(x):void 0;t(q2[h],{message:X2(x),...y===void 0?{}:{stack:y}})})};r.set(h,T),console[h]=T}let o=ny(),a=h=>{let m=o.admit(h);m.emit&&t(S.ERROR_UNCAUGHT,{...h,...m.repeats===void 0?{}:{repeats:m.repeats}})},s=h=>{var m,g;if(!(h instanceof ErrorEvent)){let T=h.target;if(!(T instanceof Element)||T===document)return;let x=T.tagName.toLowerCase(),y=(g=(m=T.getAttribute("src"))!=null?m:T.getAttribute("href"))!=null?g:"";z(()=>{let A=`<${x}> failed to load${y.length===0?"":`: ${y}`}`;a({message:A,kind:"resource",...y.length===0?{}:{source:y}})});return}z(()=>{let T=Wm(h.error instanceof Error?h.error.stack:void 0),x={message:h.message,source:h.filename,line:h.lineno,...T===void 0?{}:{stack:T}};a(x)})},l=h=>{z(()=>{let m=h.reason,g=Wm(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=h=>{let m=h.blockedURI.length===0?"inline content":h.blockedURI,g=Y2===h.disposition;t(g?S.CONSOLE_WARN:S.CONSOLE_ERROR,{message:g?`[Report Only] Content Security Policy directive: ${h.violatedDirective} would block ${m}`:`Content Security Policy directive: ${h.violatedDirective} blocked ${m}`,kind:ry,...h.blockedURI.length===0?{}:{source:h.blockedURI}})},u=new AbortController,{signal:p}=u;return window.addEventListener("error",s,{capture:!0,signal:p}),window.addEventListener("unhandledrejection",l,{signal:p}),window.addEventListener(ry,d,{capture:!0,signal:p}),()=>{for(let[h,m]of n)console[h]===r.get(h)&&(console[h]=m);u.abort()}}F();Ts();var Q2={alert:void 0,confirm:!1,prompt:null},J2=["alert","confirm","prompt"];function ay(t){let e=window,n=new Map,r=new Map;for(let o of J2){let a=e[o];if(typeof a!="function")continue;n.set(o,a);let s=a.bind(window),l=(...d)=>{if(!Zu())return s(...d);let u=Q2[o],p=d[0];return z(()=>{t(S.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)}}F();Lt();bt();function sy(t){let e=new AbortController,{signal:n}=e,r=s=>{let l=s.target;l instanceof Element&&!$e(l)&&t(S.ANIM_START,{name:s.animationName},J.refFor(l))},o=s=>{let l=s.target;l instanceof Element&&!$e(l)&&t(S.ANIM_END,{name:s.animationName},J.refFor(l))},a=s=>{let l=s.target;l instanceof Element&&!$e(l)&&t(S.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()}F();Lt();rt();var cy=100,e5="[data-reticle-reveal], [data-reveal], section";function ly(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(S.SCROLL_POSITION,{x:window.scrollX,y:u,percent:Math.round(u/p*100),direction:u>=o?wu.DOWN:wu.UP}),o=u},l=()=>{let u=performance.now()-r;if(u>=cy){a!==void 0&&(me(a),a=void 0),s();return}a===void 0&&(a=X(()=>{a=void 0,s()},cy-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(p=>{for(let h of p)h.isIntersecting&&t(S.REVEAL_SHOWN,{ratio:h.intersectionRatio},J.refFor(h.target))},{threshold:.25});let u=d;for(let p of document.querySelectorAll(e5))u.observe(p)}return()=>{e.abort(),a!==void 0&&me(a),d==null||d.disconnect()}}F();rt();function uy(){let t=window;return t.__TAURI_INTERNALS__!==void 0||t.__TAURI__!==void 0?"tauri":navigator.userAgent.includes("Electron")||t[zr]!==void 0?"electron":"web"}function t5(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var n5={"google chrome":Le.CHROME,chrome:Le.CHROME,"microsoft edge":Le.EDGE,edge:Le.EDGE,brave:Le.BRAVE,opera:Le.OPERA,arc:Le.ARC,dia:Le.DIA,firefox:Le.FIREFOX,safari:Le.SAFARI};function r5(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function i5(){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===""||r5(s))continue;let l=n5[s];if(l!==void 0)if(Le.CHROME===l)o=l;else return l}return o!=null?o:Le.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?Le.EDGE:/OPR\/|Opera/.test(t)?Le.OPERA:/Firefox/.test(t)?Le.FIREFOX:/Chrome|Chromium/.test(t)?Le.CHROME:/Safari/.test(t)?Le.SAFARI:Le.OTHER}var dy=typeof window!="undefined"&&typeof window.fetch=="function"?window.fetch.bind(window):void 0;function o5(){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 a5(){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 s5(t){let e=a5();if(e!==void 0)return e;try{return t==="web"||dy===void 0||!/^https?:$/.test(location.protocol)?void 0:(await dy(location.href,{method:"HEAD",cache:"no-store"})).status}catch{return}}async function c5(){let t=window[zr];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 l5(t){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:uy(),engine:t5(),brand:i5(),...t===void 0?{}:{windowLabel:t}}}function py(t){let e=new AbortController,{signal:n}=e,r,o=o5(),a=l=>{t(S.PAGE_HEALTH,{...l5(o),...r===void 0?{}:{documentStatus:r},reason:l})};document.addEventListener("visibilitychange",()=>a(Lo.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>a(Lo.FOCUS),{signal:n}),window.addEventListener("blur",()=>a(Lo.BLUR),{signal:n}),a(Lo.INITIAL),Promise.all([s5(uy()),o===void 0?c5():Promise.resolve(o)]).then(([l,d])=>{n.aborted||l===void 0&&d===o||(r=l,o=d,a(Lo.HEARTBEAT))});let s=pS(()=>a(Lo.HEARTBEAT),vT.HEARTBEAT_MS);return()=>{s(),e.abort()}}F();var Ve={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"},d5=500;function zm(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(S.SDK_FAILED,{site:e,message:r.slice(0,d5),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function Ze(t,e,n){try{return n()}catch(r){return zm(t,e,r),()=>{}}}function fy(t,e){for(let n of e)try{n()}catch(r){zm(t,Ve.TEARDOWN,r)}}function hy(t,e){return[Ze(t,Ve.NETWORK_OBSERVER,()=>KA(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:YA,ignore:qA})),Ze(t,Ve.IPC_OBSERVER,()=>XA(t,{captureBodies:e.captureBodies})),Ze(t,Ve.ANIMATION_OBSERVER,()=>ZA(t)),Ze(t,Ve.ROUTER_OBSERVER,()=>QA(t)),Ze(t,Ve.NETWORK_OBSERVER,()=>JA(t)),Ze(t,Ve.NETWORK_OBSERVER,()=>ty(t)),Ze(t,Ve.CONSOLE_OBSERVER,()=>oy(t)),Ze(t,Ve.CONSOLE_OBSERVER,()=>ay(t)),Ze(t,Ve.ANIMATION_OBSERVER,()=>sy(t)),Ze(t,Ve.DOM_OBSERVER,()=>ly(t)),Ze(t,Ve.DOM_OBSERVER,()=>TA(t)),Ze(t,Ve.STORE_ADAPTER,()=>zS(t)),Ze(t,Ve.STORE_ADAPTER,()=>yA(t)),Ze(t,Ve.DOM_OBSERVER,()=>vA(t)),Ze(t,Ve.DOM_OBSERVER,()=>NA(t)),Ze(t,Ve.NETWORK_OBSERVER,()=>PA(t,{capturePreview:e.captureBodies})),Ze(t,Ve.DOM_OBSERVER,()=>IA(t)),Ze(t,Ve.HEALTH_OBSERVER,()=>py(t)),Ze(t,Ve.DOM_OBSERVER,()=>HA(t))]}Sn();var u5=["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 my(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=u5,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()}}}Ym();qm();F();Lt();Jt();function zn(t,e=""){return typeof t=="string"?t:e}function ai(t){let e=zn(t);return e===""?void 0:e}function bp(t){let e=J.resolve(t);if(!(e instanceof Element))return t;let n=xr(e);return n.name.length>0?`${n.role} "${n.name}"`:`${n.role} (${t})`}function gy(t){switch(t){case D.ACT:case D.ACT_SEQUENCE:return Ge.ACTING;case D.SNAPSHOT:case D.QUERY:case D.MATCH:case D.INSPECT:case D.ANIMATIONS:case D.STATE_READ:case D.CAPABILITIES:return Ge.READING;default:return Ge.IDLE}}function Ey(t,e={}){var n;switch(t){case D.SNAPSHOT:return"Looking at the page";case D.QUERY:case D.MATCH:{let r=t===D.MATCH?(n=e.query)!=null?n:{}:e,o=p5(r);return o!==void 0?`Finding ${o}`:"Finding an element"}case D.INSPECT:{let r=ai(e.ref);return r!==void 0?`Inspecting ${bp(r)}`:"Inspecting an element"}case D.ANIMATIONS:return"Reading animations";case D.STATE_READ:{let r=ai(e.store);return r!==void 0?`Reading state: ${r}`:"Reading state"}case D.CAPABILITIES:return"Reading capabilities";default:return t}}function p5(t){var o,a,s,l;let e=(o=ai(t.testid))!=null?o:et.TESTID===zn(t.by)?ai(t.value):void 0;if(e!==void 0)return`[testid=${e}]`;let n=ai(t.name),r=(l=(s=(a=ai(t.value))!=null?a:ai(t.text))!=null?s:ai(t.label))!=null?l:ai(t.role);return r!==void 0?n!==void 0?`"${r}" (${n})`:`"${r}"`:n!==void 0?`"${n}"`:void 0}gl();Sn();F();F();hl();Jt();bt();Pi();var by=["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(";"),Tp=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),Xm=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),Ty=["opacity:.75","margin-left:4px"].join(";"),xy=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var f5="recorded 0 steps",h5="recording\u2026",_y="ready",m5="pick an annotation",g5=Va.ACT,Zm={record:"Record",stop:"Stop",annotate:"Annotate"},E5={[we.ASSERT_SIGNAL]:"assert signal",[we.ASSERT_VISIBLE]:"assert visible",[we.ASSERT_STATE]:"assert state",[we.ASSERT_NET]:"assert request",[we.MARK_DYNAMIC]:"mark dynamic",[we.SUCCESS_STATE]:"success state",[we.INTENT]:"intent"},b5=new Set([we.ASSERT_SIGNAL,we.SUCCESS_STATE]),T5="recorded-flow";function yy(t){let e=Pe(t);if(e!==null&&e.length>0)return{anchor:{kind:gn.TESTID,value:e},degraded:!1};let n=ke(t),r=ve(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:gn.ROLE,role:n,name:r}:{kind:gn.ROLE,role:n},degraded:!1}:{anchor:{kind:gn.ROLE,role:_b},degraded:!0}}function Sy(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&kl(t)==="textbox"}function kl(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function ks(t,e,n){let{anchor:r,degraded:o}=yy(t),a={tool:g5,anchor:r,action:e};n!==void 0&&(a.args=n),o&&(a.degraded=!0);let s=fl(t);return s!==void 0&&(a.source=s.line===void 0?{file:s.file}:{file:s.file,line:s.line}),a}function x5(t,e,n,r,o){let a=e.map(u=>({...u})),s=[],l;for(let u of n){if(u.kind===we.MARK_DYNAMIC){s.push(u.anchor);continue}if(u.kind===we.SUCCESS_STATE){u.signal!==void 0&&(l={kind:O.SIGNAL,name:u.signal});continue}let p=a.at(-1);p!==void 0&&(u.kind===we.ASSERT_SIGNAL&&u.signal!==void 0?p.expect=Ay(p.expect,{kind:O.SIGNAL,name:u.signal}):u.kind===we.ASSERT_VISIBLE&&(p.expect=Ay(p.expect,{kind:O.ELEMENT,query:_5(u.anchor)})))}let d={version:Gf,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 Ay(t,e){return t===void 0?e:t.kind===O.ALL_OF?{kind:O.ALL_OF,predicates:[...t.predicates,e]}:{kind:O.ALL_OF,predicates:[t,e]}}function _5(t){return t.kind===gn.TESTID?{testid:t.value}:t.kind===gn.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var Ko,vn,$t,$l,Vi,si,Ds,Ki,Wo,Sr,Yn,U,vy,Dl,Ry,wy,Ny,Oy,ji,Iy,Cy,Jm,Ly,ky,Dy,Vo,My,xp,$y,Py,Ml,_p,Hy,Qm=class{constructor(e){b(this,U);b(this,Ko);b(this,vn,Nt.IDLE);b(this,$t,[]);b(this,$l);b(this,Vi,[]);b(this,si);b(this,Ds);b(this,Ki);b(this,Wo);b(this,Sr);b(this,Yn);f(this,Ko,e)}phase(){return c(this,vn)}steps(){return c(this,$t).map(e=>({...e}))}mount(){c(this,Ki)===void 0&&typeof document!="undefined"&&(E(this,U,My).call(this),E(this,U,vy).call(this))}destroy(){var e,n;(e=c(this,Ds))==null||e.abort(),f(this,Ds,void 0),(n=c(this,Ki))==null||n.remove(),f(this,Ki,void 0),f(this,Wo,void 0),f(this,Sr,void 0),f(this,vn,Nt.IDLE),f(this,$t,[]),f(this,Vi,[]),f(this,Yn,void 0),f(this,si,void 0)}};Ko=new WeakMap,vn=new WeakMap,$t=new WeakMap,$l=new WeakMap,Vi=new WeakMap,si=new WeakMap,Ds=new WeakMap,Ki=new WeakMap,Wo=new WeakMap,Sr=new WeakMap,Yn=new WeakMap,U=new WeakSet,vy=function(){let e=new AbortController;f(this,Ds,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>E(this,U,Ry).call(this,r),n),document.addEventListener("input",r=>E(this,U,wy).call(this,r),n),document.addEventListener("change",r=>E(this,U,Ny).call(this,r),n),document.addEventListener("submit",r=>E(this,U,Oy).call(this,r),n)},Dl=function(e){let n=e.target;if(n instanceof Element&&!$e(n))return n},Ry=function(e){let n=E(this,U,Dl).call(this,e);if(n!==void 0){if(c(this,vn)===Nt.ANNOTATING){E(this,U,Iy).call(this,n);return}c(this,vn)===Nt.RECORDING&&(n instanceof HTMLInputElement&&(kl(n)==="checkbox"||kl(n)==="radio")||n instanceof HTMLSelectElement||(E(this,U,ji).call(this),c(this,$t).push(ks(n,I.CLICK))))}},wy=function(e){if(c(this,vn)!==Nt.RECORDING)return;let n=E(this,U,Dl).call(this,e);n===void 0||!Sy(n)||f(this,si,{el:n,value:n.value})},Ny=function(e){if(c(this,vn)!==Nt.RECORDING)return;let n=E(this,U,Dl).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&kl(n)==="checkbox"){E(this,U,ji).call(this),c(this,$t).push(ks(n,n.checked?I.CHECK:I.UNCHECK));return}if(n instanceof HTMLInputElement&&kl(n)==="radio"){E(this,U,ji).call(this),c(this,$t).push(ks(n,I.CHECK));return}if(n instanceof HTMLSelectElement){E(this,U,ji).call(this),c(this,$t).push(ks(n,I.SELECT,{value:n.value}));return}Sy(n)&&(f(this,si,{el:n,value:n.value}),E(this,U,ji).call(this))}},Oy=function(e){if(c(this,vn)!==Nt.RECORDING)return;let n=E(this,U,Dl).call(this,e);n!==void 0&&(E(this,U,ji).call(this),c(this,$t).push(ks(n,I.SUBMIT)))},ji=function(){let e=c(this,si);if(e===void 0)return;f(this,si,void 0);let n=nm(e.el)?Ne:e.value;c(this,$t).push(ks(e.el,I.FILL,{value:n}))},Iy=function(e){let n=c(this,Yn);if(n===void 0)return;let{anchor:r}=yy(e),o={kind:n.kind,anchor:r},a=E(this,U,Jm).call(this);a!==void 0&&(o.signal=a),c(this,Vi).push(o),f(this,Yn,void 0),E(this,U,Vo).call(this,Nt.RECORDING),E(this,U,Ml).call(this)},Cy=function(){let e=c(this,Yn);if(e===void 0)return;let n=c(this,$t).at(-1);if(n===void 0){f(this,Yn,void 0),E(this,U,Vo).call(this,Nt.RECORDING),E(this,U,Ml).call(this);return}let r={kind:e.kind,anchor:n.anchor},o=E(this,U,Jm).call(this);o!==void 0&&(r.signal=o),c(this,Vi).push(r),f(this,Yn,void 0),E(this,U,Vo).call(this,Nt.RECORDING),E(this,U,Ml).call(this)},Jm=function(){var r,o;let e=(r=c(this,Sr))==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},Ly=function(){f(this,$t,[]),f(this,$l,typeof location=="undefined"?void 0:location.pathname),f(this,Vi,[]),f(this,si,void 0),f(this,Yn,void 0),E(this,U,Vo).call(this,Nt.RECORDING),E(this,U,_p).call(this,h5)},ky=function(){var r,o;E(this,U,ji).call(this);let e=(o=(r=E(this,U,Hy).call(this))!=null?r:c(this,Ko).defaultName)!=null?o:T5,n=x5(e,c(this,$t),c(this,Vi),c(this,Ko).now(),c(this,$l));c(this,Ko).emit(S.FLOW_RECORDED,{name:e,flow:n}),E(this,U,_p).call(this,c(this,$t).length===0?f5:_y),E(this,U,Vo).call(this,Nt.IDLE),E(this,U,Ml).call(this)},Dy=function(){c(this,vn)===Nt.RECORDING&&(E(this,U,Vo).call(this,Nt.ANNOTATING),E(this,U,_p).call(this,m5),E(this,U,$y).call(this))},Vo=function(e){f(this,vn,e)},My=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=by;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=Xm,e.appendChild(n),e.appendChild(E(this,U,xp).call(this,"record",Zm.record,()=>E(this,U,Ly).call(this))),e.appendChild(E(this,U,xp).call(this,"stop",Zm.stop,()=>E(this,U,ky).call(this))),e.appendChild(E(this,U,xp).call(this,"annotate",Zm.annotate,()=>E(this,U,Dy).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=Ty,r.textContent=_y,e.appendChild(r);let o=document.createElement("div");o.setAttribute("data-reticle-menu",""),o.style.cssText=xy,e.appendChild(o),document.body.appendChild(e),f(this,Ki,e),f(this,Wo,r),f(this,Sr,o)},xp=function(e,n,r){let o=document.createElement("button");return o.setAttribute("data-reticle-action",e),o.textContent=n,o.style.cssText=Tp,o.addEventListener("click",r),o},$y=function(){let e=c(this,Sr);if(e!==void 0){e.textContent="";for(let n of Object.values(we)){if(n===we.INTENT)continue;let r=document.createElement("button");r.setAttribute("data-reticle-annkind",n),r.textContent=E5[n],r.style.cssText=Tp,r.addEventListener("click",()=>E(this,U,Py).call(this,n)),e.appendChild(r)}}},Py=function(e){f(this,Yn,{kind:e});let n=c(this,Sr);if(n===void 0)return;if(b5.has(e)){let o=document.createElement("select");o.setAttribute("data-reticle-signal",""),o.style.cssText=Xm;for(let a of $i().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=Tp,r.addEventListener("click",()=>E(this,U,Cy).call(this)),n.appendChild(r)},Ml=function(){c(this,Sr)!==void 0&&(c(this,Sr).textContent="")},_p=function(e){c(this,Wo)!==void 0&&(c(this,Wo).textContent=e)},Hy=function(){var r,o;let e=(r=c(this,Ki))==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 Uy(t){return new Qm(t)}pg();function w$(t,e){return t==="production"&&!e}function N$(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=vo,{url:e.toString(),adjusted:!0})}function O$(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=!Ph(a.hostname);return s&&a.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!hx(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 I$="[Reticle] killed for this page. Restart your dev server or reload the page to bring it back.",C$="Session ended - lost connection to Reticle (the agent is no longer running).";function L$(t,e){return t===void 0||t===Xc?e():t}function k$(){try{let t=new URL(window.location.href);if(!t.searchParams.has(pp))return;t.searchParams.delete(pp),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function FE(t){let e=new URLSearchParams(t),n={},r=e.get(pr.SESSION),o=e.get(pr.PROJECT),a=BE(Xt,e.get(pr.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 D$(t){return t===void 0?{placed:[]}:{remember:t,placed:Xt.SHOWN===t?[]:[t]}}function M$(t,e){var a;let n=FE(e),r=t.session!==void 0&&t.session!==Xc?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 $$(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 Ai,Ud,Ia,Hr,Ca,Nf,Fd,so,Se,Rc,yi,Bd,Gd,jd,La,Ur,wc,Nc,Oc,Ic,Cc,Lc,kc,vi,Pn,fN,Fr,hN,mN,gN,EN,Dc=class{constructor(){b(this,Pn);b(this,Ai);b(this,Ud,new Map);b(this,Ia,[]);b(this,Hr,!1);b(this,Ca,"default");b(this,Nf,kT(Math.random));b(this,Fd,0);b(this,so);b(this,Se);b(this,Rc,new Map);b(this,yi);b(this,Bd);b(this,Gd,!1);b(this,jd,!1);b(this,La);b(this,Ur);b(this,wc,0);b(this,Nc);b(this,Oc);b(this,Ic,!1);b(this,Cc);b(this,Lc);b(this,kc,[]);b(this,vi);b(this,Fr,(e,n,r)=>{var a,s,l;let o=$$({seq:c(this,wc),t:Math.round(performance.now()-c(this,Fd)),type:e,sessionId:c(this,Ca),documentId:c(this,Nf),editEpoch:sl.current,data:n,ref:r});try{(a=c(this,Ai))==null||a.sendEvent(o),f(this,wc,c(this,wc)+1),(s=c(this,so))==null||s.update({connected:!0,events:c(this,wc)}),e===S.ROUTE_CHANGE&&((l=c(this,Se))==null||l.refilterFlows())}catch{}})}connect(e={}){var h,m,g,T,x,y;if(c(this,Hr)||typeof window=="undefined"||typeof document=="undefined")return;let n=globalThis.process,r=(h=n==null?void 0:n.env)==null?void 0:h.NODE_ENV;if(w$(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}k$();let o=N$((m=e.url)!=null?m:vb(Vf)),a=o.url;o.adjusted&&globalThis.console.warn(`[Reticle] bridge URL has no path; using ${a} (the bridge only accepts WebSocket upgrades on ${vo}).`);let s=O$(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[mu]=e.root);let l=(T=e.sdkVersion)!=null?T:globalThis[uT];f(this,Oc,typeof l=="string"&&l.length>0?l:void 0);let d=M$(e,window.location.search),u=L$(d.session,()=>"");f(this,Ca,Xx(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)}`})),f(this,Nc,e.token!==void 0&&e.token.length>0?e.token:void 0),f(this,Lc,d.projectId),E(this,Pn,hN).call(this,e.redact),f(this,Fd,performance.now()),f(this,Ud,iA()),f(this,Ai,new hp({url:a,hello:()=>E(this,Pn,mN).call(this),handleCommand:A=>E(this,Pn,gN).call(this,A),onConnected:()=>{var A;f(this,jd,!0),(A=c(this,Se))==null||A.sessionStart()},onConnectionLost:()=>{var A;As(),((A=c(this,Se))==null?void 0:A.sessionActive)===!0&&c(this,Se).setState(Ce.ENDED,C$)},onUnreachable:({url:A,attempts:w})=>{var k;Kn(lA(A,w)),(k=c(this,Se))==null||k.showUnreachable(A,w)}})),Ku(()=>{var A;return(A=c(this,Ai))==null?void 0:A.reannounce()}),JE(e.exposePresenter===!0),m_(e.testIdAttribute),e.networkBodyMaxChars!==void 0&&$A(e.networkBodyMaxChars);let p=c(this,Fr);f(this,Ic,e.captureNetworkBodies===!0),f(this,Cc,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),f(this,Ia,hy(p,{captureBodies:c(this,Ic),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(f(this,so,my()),c(this,so).update({connected:!0,events:0})),f(this,yi,FE(window.location.search).hud),e.present!==!1&&Xt.REMOVED!==c(this,yi)&&E(this,Pn,fN).call(this,e),e.recorder===!0&&(f(this,La,Uy({emit:p,now:()=>Date.now()})),c(this,La).mount()),((x=e.annotate)!=null?x:e.present!==!1)&&(f(this,Ur,new na({emit:p,now:()=>Date.now(),onMark:A=>{var w;return(w=c(this,Se))==null?void 0:w.log(Ke.HUMAN,`\u{1F6A9} #${String(A.index)} ${A.label}${A.source!==void 0?` \xB7 ${A.source}`:""} \u2014 ${A.note}`)},shouldBlock:()=>{var A,w;return(w=(A=c(this,Bd))==null?void 0:A.call(this).blockPageInteractions)!=null?w:!0}})),c(this,Ur).mount(),(y=c(this,Se))==null||y.bindAnnotator(c(this,Ur))),c(this,Ai).connect(),f(this,Hr,!0)}get connected(){return c(this,Hr)}signal(e,n={}){c(this,Fr).call(this,S.SIGNAL,{name:e,data:n})}state(e,n){c(this,Fr).call(this,S.STATE_CHANGE,{name:e,value:n})}renderCommit(e){e>0&&c(this,Fr).call(this,S.RENDER_COMMIT,{commits:e})}describe(e){ms(e)}endSession(){var e;(e=c(this,Se))==null||e.setState(Ce.ENDED)}observeHotUpdates(e){sl.observe(e)}disconnect(){var e,n,r,o,a,s;c(this,Hr)&&(fy(c(this,Fr),c(this,Ia)),f(this,Ia,[]),(e=c(this,Ai))==null||e.close(),f(this,Ai,void 0),(n=c(this,so))==null||n.destroy(),f(this,so,void 0),(r=c(this,Se))==null||r.sessionEnd(),(o=c(this,Se))==null||o.destroy(),f(this,Se,void 0),(a=c(this,La))==null||a.destroy(),f(this,La,void 0),(s=c(this,Ur))==null||s.destroy(),f(this,Ur,void 0),As(),f(this,Hr,!1))}};Ai=new WeakMap,Ud=new WeakMap,Ia=new WeakMap,Hr=new WeakMap,Ca=new WeakMap,Nf=new WeakMap,Fd=new WeakMap,so=new WeakMap,Se=new WeakMap,Rc=new WeakMap,yi=new WeakMap,Bd=new WeakMap,Gd=new WeakMap,jd=new WeakMap,La=new WeakMap,Ur=new WeakMap,wc=new WeakMap,Nc=new WeakMap,Oc=new WeakMap,Ic=new WeakMap,Cc=new WeakMap,Lc=new WeakMap,kc=new WeakMap,vi=new WeakMap,Pn=new WeakSet,fN=function(e){c(this,Gd)||(f(this,Gd,!0),Promise.resolve().then(()=>(q0(),Y0)).then(({Presenter:n})=>Promise.resolve().then(()=>(aa(),TR)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,Hr))return;f(this,Bd,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,Ca),o.onControl=s=>c(this,Fr).call(this,S.HUMAN_CONTROL,s.text!==void 0?{kind:s.kind,text:s.text}:{kind:s.kind}),o.onHudUse=s=>c(this,Fr).call(this,S.HUD_USED,{...s}),o.onKill=()=>{this.disconnect(),Kn(I$)};let a=new n(o);f(this,Se,a),a.mount();for(let s of c(this,Rc).values())a.handlePush(s);c(this,Rc).clear(),c(this,yi)!==void 0&&a.placeHud(c(this,yi),void 0),f(this,yi,void 0),Promise.resolve().then(()=>(pN(),uN)).then(s=>{var d;if(!c(this,Hr))return;let l=s.mountTour({document,storage:s.safeLocalStorage(),projectId:(d=FE(window.location.search).projectId)!=null?d:window.location.origin,isDriving:()=>Ge.IDLE!==a.mode,search:window.location.search,navigator,copy:u=>{var p,h;return(h=(p=navigator.clipboard)==null?void 0:p.writeText(u).then(()=>!0,()=>!1))!=null?h:!1},select:u=>{let p=window.getSelection();if(p===null)return;let h=document.createRange();h.selectNodeContents(u),p.removeAllRanges(),p.addRange(h)}});l!==void 0&&c(this,Ia).push(l.destroy)}),c(this,jd)&&a.sessionStart(),c(this,Ur)!==void 0&&a.bindAnnotator(c(this,Ur))}).catch(()=>{}))},Fr=new WeakMap,hN=function(e){FT(UT(e,Kn)),f(this,kc,BT(e))},mN=function(){return{kind:Ot.HELLO,protocolVersion:tu,sessionId:c(this,Ca),...c(this,Lc)===void 0?{}:{projectId:c(this,Lc)},url:location.href,title:document.title,adapters:qu(),...c(this,Nc)===void 0?{}:{token:c(this,Nc)},hasCapabilities:Wu(),channels:uA(),platform:pA(),commands:fA(),captureBodies:c(this,Ic),...c(this,Cc)===void 0?{}:{sourceMapping:c(this,Cc)},...c(this,Oc)===void 0?{}:{sdkVersion:c(this,Oc)},contract:Vh,contractParts:{commands:[...nl.commands],events:[...nl.events],actions:[...nl.actions]},...c(this,kc).length===0?{}:{redactKeys:c(this,kc)}}},gN=async function(e){var r,o,a,s,l,d,u;if(e.name===D.NARRATE)return(r=c(this,Se))==null||r.sessionStart(),(o=c(this,Se))==null||o.narrate(zn(e.args.text),zn(e.args.level,"info")),{ok:!0,result:{shown:c(this,Se)!==void 0}};if(e.name===D.SESSION_CONFIG){let p=e.args.idleEndMs;typeof p=="number"&&((a=c(this,Se))==null||a.setIdleEndMs(p));let h=BE(Xt,e.args.hud),m=BE(gu,e.args.corner),g=c(this,Se),T;if(g!==void 0)T=g.placeHud(h,m);else{let x=D$(h);x.remember!==void 0&&f(this,yi,x.remember),T=x.placed}return{ok:!0,result:{applied:c(this,Se)!==void 0,idleEndMs:p,...0<T.length?{hud:T}:{}}}}if(e.name===D.PRESENTER||e.name===D.FLOWS||e.name===D.FLOW_PROGRESS||e.name===D.PLAN||e.name===D.IMPACT)return c(this,Se)===void 0?(c(this,Rc).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,Ud).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};(s=c(this,Se))==null||s.sessionStart(),await E(this,Pn,EN).call(this,e);try{let p=await n(e.args);return(l=c(this,vi))==null||l.result(en.PASS),{ok:!0,result:p}}catch(p){return(d=c(this,vi))==null||d.result(en.FAIL),{ok:!1,error:p instanceof Error?p.message:String(p)}}finally{f(this,vi,void 0),(u=c(this,Se))==null||u.scheduleIdle()}},EN=async function(e){let n=c(this,Se);if(n===void 0)return;n.setMode(gy(e.name)),f(this,vi,void 0);let r=Lh.HARNESS===e.by?Ls.HARNESS:Ls.AGENT;if(e.name===D.ACT){let o=zn(e.args.ref),a=bp(o);f(this,vi,n.log(Ke.ACT,`${Ll(zn(e.args.action))} ${a}`,void 0,r)),await n.beforeAct(o,zn(e.args.action),a)}else if(e.name===D.ACT_SEQUENCE){let o=Array.isArray(e.args.steps)?e.args.steps:[];for(let a of o){let s=a,l=zn(s.ref),d=bp(l);f(this,vi,n.log(Ke.ACT,`${Ll(zn(s.action))} ${d}`,void 0,r)),await n.beforeAct(l,zn(s.action),d)}}else{let o=Ey(e.name,e.args);n.status(o),n.log(Ke.READ,o,void 0,r)}};function BE(t,e){return Object.values(t).includes(e)?e:void 0}var GE=globalThis,bN,Of=(bN=GE.__reticleInstance)!=null?bN:GE.__reticleInstance=new Dc;F();bt();Uo();Ho();gl();Ho();function _N(t){try{return jE(t,new WeakMap)}catch{return t}}function jE(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(jE(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]=jE(s,e);return o}function SN(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 Gu(e,t),e}function AN(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 yN(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function vN(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function RN(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var TN={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function P$(t){if(t.state===TN.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==TN.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function wN(t,e,n){return{getState:()=>{let r=e(),o={};for(let[a,s]of Object.entries(t))o[a]=P$(r.getLoadable(s));return o},subscribe:n}}function xN(t){if(typeof t=="function"){t();return}t.unsubscribe()}function NN(t,e=Kn){let n=!1;return{getState:()=>{let r,o=!1;return xN(t.subscribe(a=>{r=_N(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,()=>xN(a)}}}var H$={detached:!0,flush:"sync"};function ON(t){return{getState:()=>_N(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...H$})}}function IN(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()}}}Pi();function CN(t={}){var n;let e=(n=t.target)!=null?n:Of;return{signal(r,o={}){e.connected&&e.signal(r,o)},state(r,o){e.connected&&e.state(r,o)}}}function LN(t,e,n,r){let o=e();return t.signal(n,r),o}Pi();function kN(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]),ms(e)}Jh();Jt();Lt();pg();eg();return GN(U$);})();
|
|
1704
|
+
if(typeof module==="object"&&module&&module.exports)module.exports=ReticleSdk;
|