@reticlehq/browser 3.5.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.
Files changed (87) hide show
  1. package/dist/actions/actions-dom.js +44 -43
  2. package/dist/actions/actions-press.d.ts +10 -4
  3. package/dist/actions/actions-press.js +108 -17
  4. package/dist/actions/actions.d.ts +2 -0
  5. package/dist/actions/actions.js +25 -16
  6. package/dist/actions/danger-context.js +1 -1
  7. package/dist/connect-options.d.ts +1 -0
  8. package/dist/dom/a11y.js +13 -4
  9. package/dist/dom/addressing/refs.js +2 -1
  10. package/dist/dom/addressing/testid-attr.d.ts +4 -0
  11. package/dist/dom/addressing/testid-attr.js +14 -0
  12. package/dist/dom/query.d.ts +1 -0
  13. package/dist/dom/query.js +38 -11
  14. package/dist/dom/snapshot.js +1 -0
  15. package/dist/observers/departure.js +51 -9
  16. package/dist/observers/dom.js +3 -2
  17. package/dist/observers/field.js +5 -3
  18. package/dist/observers/health.js +63 -2
  19. package/dist/observers/network-stream.d.ts +1 -1
  20. package/dist/observers/network-stream.js +3 -3
  21. package/dist/observers/network.js +1 -1
  22. package/dist/observers/storage.js +6 -1
  23. package/dist/presenter/carousel/carousel.d.ts +5 -2
  24. package/dist/presenter/carousel/carousel.js +34 -7
  25. package/dist/presenter/carousel/offer-card.d.ts +2 -2
  26. package/dist/presenter/carousel/offer-card.js +2 -1
  27. package/dist/presenter/carousel/panel-slides.d.ts +4 -3
  28. package/dist/presenter/carousel/panel-slides.js +43 -6
  29. package/dist/presenter/carousel/talk-card.d.ts +1 -1
  30. package/dist/presenter/chrome/log-kinds.d.ts +5 -0
  31. package/dist/presenter/chrome/log-kinds.js +1 -0
  32. package/dist/presenter/chrome/log-memory.d.ts +12 -0
  33. package/dist/presenter/chrome/log-memory.js +39 -0
  34. package/dist/presenter/chrome/presenter-hud-chrome.d.ts +1 -0
  35. package/dist/presenter/chrome/presenter-hud-chrome.js +7 -1
  36. package/dist/presenter/chrome/presenter-log.d.ts +5 -4
  37. package/dist/presenter/chrome/presenter-log.js +55 -5
  38. package/dist/presenter/chrome/presenter-report-copy.d.ts +11 -1
  39. package/dist/presenter/chrome/presenter-report-copy.js +14 -1
  40. package/dist/presenter/hud-telemetry.js +31 -2
  41. package/dist/presenter/icons/presenter-heroicons-data.d.ts +1 -0
  42. package/dist/presenter/icons/presenter-heroicons-data.js +4 -3
  43. package/dist/presenter/icons/presenter-icons.d.ts +2 -0
  44. package/dist/presenter/icons/presenter-icons.js +2 -0
  45. package/dist/presenter/presenter-account.d.ts +5 -4
  46. package/dist/presenter/presenter-account.js +23 -10
  47. package/dist/presenter/presenter-chat-views.d.ts +21 -0
  48. package/dist/presenter/presenter-chat-views.js +382 -0
  49. package/dist/presenter/presenter-config.d.ts +3 -2
  50. package/dist/presenter/presenter-config.js +4 -3
  51. package/dist/presenter/presenter-controls.d.ts +4 -2
  52. package/dist/presenter/presenter-controls.js +231 -51
  53. package/dist/presenter/presenter-design-tokens.d.ts +1 -0
  54. package/dist/presenter/presenter-design-tokens.js +34 -0
  55. package/dist/presenter/presenter-dock-layout.js +1 -1
  56. package/dist/presenter/presenter-frame.d.ts +12 -0
  57. package/dist/presenter/presenter-frame.js +189 -0
  58. package/dist/presenter/presenter-plan.d.ts +10 -0
  59. package/dist/presenter/presenter-plan.js +185 -0
  60. package/dist/presenter/presenter-report-styles.js +7 -0
  61. package/dist/presenter/presenter-report.d.ts +1 -1
  62. package/dist/presenter/presenter-report.js +53 -16
  63. package/dist/presenter/presenter-settings-styles.js +10 -0
  64. package/dist/presenter/presenter-settings.d.ts +5 -0
  65. package/dist/presenter/presenter-settings.js +71 -11
  66. package/dist/presenter/presenter-shell-styles.js +39 -42
  67. package/dist/presenter/presenter-shell.d.ts +8 -1
  68. package/dist/presenter/presenter-shell.js +124 -72
  69. package/dist/presenter/presenter-styles.js +9 -1
  70. package/dist/presenter/presenter.d.ts +4 -3
  71. package/dist/presenter/presenter.js +101 -13
  72. package/dist/presenter/tour/tour.d.ts +4 -1
  73. package/dist/presenter/tour/tour.js +6 -4
  74. package/dist/recorder/recorder.js +2 -2
  75. package/dist/registry/auto-testids.js +3 -4
  76. package/dist/registry/declared-platform.js +2 -0
  77. package/dist/reticle-inject.js +880 -513
  78. package/dist/reticle.d.ts +10 -1
  79. package/dist/reticle.js +73 -9
  80. package/dist/review/annotator-styles.d.ts +1 -1
  81. package/dist/review/annotator.d.ts +7 -0
  82. package/dist/review/annotator.js +20 -2
  83. package/dist/review/mark-anchor.js +2 -2
  84. package/dist/session-continuity.js +2 -1
  85. package/dist/storage-keys.d.ts +14 -0
  86. package/dist/storage-keys.js +17 -0
  87. package/package.json +3 -2
@@ -1,60 +1,60 @@
1
- "use strict";var ReticleSdk=(()=>{var ip=Object.defineProperty;var Qv=Object.getOwnPropertyDescriptor;var Jv=Object.getOwnPropertyNames;var e0=Object.prototype.hasOwnProperty;var sg=t=>{throw TypeError(t)};var T=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Va=(t,e)=>{for(var n in e)ip(t,n,{get:e[n],enumerable:!0})},t0=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Jv(e))!e0.call(t,i)&&i!==n&&ip(t,i,{get:()=>e[i],enumerable:!(r=Qv(e,i))||r.enumerable});return t};var n0=t=>t0(ip({},"__esModule",{value:!0}),t);var sp=(t,e,n)=>e.has(t)||sg("Cannot "+n);var c=(t,e,n)=>(sp(t,e,"read from private field"),n?n.call(t):e.get(t)),m=(t,e,n)=>e.has(t)?sg("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),p=(t,e,n,r)=>(sp(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),h=(t,e,n)=>(sp(t,e,"access private method"),n);var ag=(t,e,n,r)=>({set _(i){p(t,e,i,n)},get _(){return c(t,e,r)}});function lg(t){ap=t}function dg(){return ap}function ug(t){cg=t.join(",")}function Le(t){return t.closest(qi)!==null}function Xi(t){return t!==null&&t.closest(qi)!==null}function hn(t){let n=[ap?"":qi,r0,cg].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Ul(t){for(let e of Array.from(t.querySelectorAll(o0)))if(e.closest(qi)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var qi,r0,cg,ap,o0,et=T(()=>{"use strict";qi="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",r0="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",cg="",ap=!1;o0='dialog[open], [aria-modal="true"]'});var pg=T(()=>{"use strict"});var J,cp,O,Dn,Ka=T(()=>{(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function n(i){throw new Error}t.assertNever=n,t.arrayToEnum=i=>{let s={};for(let a of i)s[a]=a;return s},t.getValidEnumValues=i=>{let s=t.objectKeys(i).filter(l=>typeof i[i[l]]!="number"),a={};for(let l of s)a[l]=i[l];return t.objectValues(a)},t.objectValues=i=>t.objectKeys(i).map(function(s){return i[s]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let s=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&s.push(a);return s},t.find=(i,s)=>{for(let a of i)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=r,t.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(J||(J={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(cp||(cp={}));O=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Dn=t=>{switch(typeof t){case"undefined":return O.undefined;case"string":return O.string;case"number":return Number.isNaN(t)?O.nan:O.number;case"boolean":return O.boolean;case"function":return O.function;case"bigint":return O.bigint;case"symbol":return O.symbol;case"object":return Array.isArray(t)?O.array:t===null?O.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?O.promise:typeof Map<"u"&&t instanceof Map?O.map:typeof Set<"u"&&t instanceof Set?O.set:typeof Date<"u"&&t instanceof Date?O.date:O.object;default:return O.unknown}}});var x,i0,vt,Hl=T(()=>{Ka();x=J.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),i0=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),vt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(s){return s.message},r={_errors:[]},i=s=>{for(let a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let l=r,d=0;for(;d<a.path.length;){let u=a.path[d];d===a.path.length-1?(l[u]=l[u]||{_errors:[]},l[u]._errors.push(n(a))):l[u]=l[u]||{_errors:[]},l=l[u],d++}}};return i(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let i of this.issues)if(i.path.length>0){let s=i.path[0];n[s]=n[s]||[],n[s].push(e(i))}else r.push(e(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};vt.create=t=>new vt(t)});var s0,ar,lp=T(()=>{Hl();Ka();s0=(t,e)=>{let n;switch(t.code){case x.invalid_type:t.received===O.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case x.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,J.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:n=`Unrecognized key(s) in object: ${J.joinValues(t.keys,", ")}`;break;case x.invalid_union:n="Invalid input";break;case x.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${J.joinValues(t.options)}`;break;case x.invalid_enum_value:n=`Invalid enum value. Expected ${J.joinValues(t.options)}, received '${t.received}'`;break;case x.invalid_arguments:n="Invalid function arguments";break;case x.invalid_return_type:n="Invalid function return type";break;case x.invalid_date:n="Invalid date";break;case x.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:J.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case x.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case x.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case x.custom:n="Invalid input";break;case x.invalid_intersection_types:n="Intersection results could not be merged";break;case x.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case x.not_finite:n="Number must be finite";break;default:n=e.defaultError,J.assertNever(t)}return{message:n}},ar=s0});function a0(t){fg=t}function Zi(){return fg}var fg,Fl=T(()=>{lp();fg=ar});function v(t,e){let n=Zi(),r=Wa({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===ar?void 0:ar].filter(i=>!!i)});t.common.issues.push(r)}var Wa,c0,ze,F,Io,tt,Bl,Gl,Wr,Qi,dp=T(()=>{Fl();lp();Wa=t=>{let{data:e,path:n,errorMaps:r,issueData:i}=t,s=[...n,...i.path||[]],a={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let l="",d=r.filter(u=>!!u).slice().reverse();for(let u of d)l=u(a,{data:e,defaultError:l}).message;return{...i,path:s,message:l}},c0=[];ze=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let i of n){if(i.status==="aborted")return F;i.status==="dirty"&&e.dirty(),r.push(i.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let i of n){let s=await i.key,a=await i.value;r.push({key:s,value:a})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let i of n){let{key:s,value:a}=i;if(s.status==="aborted"||a.status==="aborted")return F;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(r[s.value]=a.value)}return{status:e.value,value:r}}},F=Object.freeze({status:"aborted"}),Io=t=>({status:"dirty",value:t}),tt=t=>({status:"valid",value:t}),Bl=t=>t.status==="aborted",Gl=t=>t.status==="dirty",Wr=t=>t.status==="valid",Qi=t=>typeof Promise<"u"&&t instanceof Promise});var hg=T(()=>{});var M,mg=T(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(M||(M={}))});function K(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:i}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(a,l)=>{let{message:d}=t;return a.code==="invalid_enum_value"?{message:d??l.defaultError}:typeof l.data>"u"?{message:d??r??l.defaultError}:a.code!=="invalid_type"?{message:l.defaultError}:{message:d??n??l.defaultError}},description:i}}function Tg(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function R0(t){return new RegExp(`^${Tg(t)}$`)}function _g(t){let e=`${bg}T${Tg(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function v0(t,e){return!!((e==="v4"||!e)&&b0.test(t)||(e==="v6"||!e)&&_0.test(t))}function N0(t,e){if(!h0.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function O0(t,e){return!!((e==="v4"||!e)&&T0.test(t)||(e==="v6"||!e)&&S0.test(t))}function w0(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,i=n>r?n:r,s=Number.parseInt(t.toFixed(i).replace(".","")),a=Number.parseInt(e.toFixed(i).replace(".",""));return s%a/10**i}function Ji(t){if(t instanceof Nt){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=Yt.create(Ji(r))}return new Nt({...t._def,shape:()=>e})}else return t instanceof dr?new dr({...t._def,type:Ji(t.element)}):t instanceof Yt?Yt.create(Ji(t.unwrap())):t instanceof Pn?Pn.create(Ji(t.unwrap())):t instanceof Mn?Mn.create(t.items.map(e=>Ji(e))):t}function pp(t,e){let n=Dn(t),r=Dn(e);if(t===e)return{valid:!0,data:t};if(n===O.object&&r===O.object){let i=J.objectKeys(e),s=J.objectKeys(t).filter(l=>i.indexOf(l)!==-1),a={...t,...e};for(let l of s){let d=pp(t[l],e[l]);if(!d.valid)return{valid:!1};a[l]=d.data}return{valid:!0,data:a}}else if(n===O.array&&r===O.array){if(t.length!==e.length)return{valid:!1};let i=[];for(let s=0;s<t.length;s++){let a=t[s],l=e[s],d=pp(a,l);if(!d.valid)return{valid:!1};i.push(d.data)}return{valid:!0,data:i}}else return n===O.date&&r===O.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function Sg(t,e){return new Go({values:t,typeName:B.ZodEnum,...K(e)})}function Eg(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function xg(t,e={},n){return t?Yr.create().superRefine((r,i)=>{let s=t(r);if(s instanceof Promise)return s.then(a=>{if(!a){let l=Eg(e,r),d=l.fatal??n??!0;i.addIssue({code:"custom",...l,fatal:d})}});if(!s){let a=Eg(e,r),l=a.fatal??n??!0;i.addIssue({code:"custom",...a,fatal:l})}}):Yr.create()}var qt,gg,q,l0,d0,u0,p0,f0,h0,m0,g0,E0,up,b0,T0,_0,S0,x0,A0,bg,y0,zr,Lo,ko,Do,Mo,es,Po,$o,Yr,lr,mn,ts,dr,Nt,Uo,cr,jl,Ho,Mn,Vl,ns,rs,Kl,Fo,Bo,Go,jo,qr,Xt,Yt,Pn,Vo,Ko,os,C0,za,Ya,Wo,I0,B,L0,Ag,yg,k0,D0,Rg,M0,P0,$0,U0,H0,F0,B0,G0,j0,V0,K0,W0,z0,Y0,q0,X0,Z0,Q0,J0,eN,tN,nN,rN,oN,iN,sN,aN,cN,lN,dN,uN,pN,fN,hN,vg=T(()=>{Hl();Fl();mg();dp();Ka();qt=class{constructor(e,n,r,i){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},gg=(t,e)=>{if(Wr(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new vt(t.common.issues);return this._error=n,this._error}}};q=class{get description(){return this._def.description}_getType(e){return Dn(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Dn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ze,ctx:{common:e.parent.common,data:e.data,parsedType:Dn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Qi(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dn(e)},i=this._parseSync({data:e,path:r.path,parent:r});return gg(r,i)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dn(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return Wr(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>Wr(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dn(e)},i=this._parse({data:e,path:r.path,parent:r}),s=await(Qi(i)?i:Promise.resolve(i));return gg(r,s)}refine(e,n){let r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{let a=e(i),l=()=>s.addIssue({code:x.custom,...r(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(d=>d?!0:(l(),!1)):a?!0:(l(),!1)})}refinement(e,n){return this._refinement((r,i)=>e(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(e){return new Xt({schema:this,typeName:B.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Yt.create(this,this._def)}nullable(){return Pn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return dr.create(this)}promise(){return qr.create(this,this._def)}or(e){return Uo.create([this,e],this._def)}and(e){return Ho.create(this,e,this._def)}transform(e){return new Xt({...K(this._def),schema:this,typeName:B.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new Vo({...K(this._def),innerType:this,defaultValue:n,typeName:B.ZodDefault})}brand(){return new za({typeName:B.ZodBranded,type:this,...K(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new Ko({...K(this._def),innerType:this,catchValue:n,typeName:B.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Ya.create(this,e)}readonly(){return Wo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},l0=/^c[^\s-]{8,}$/i,d0=/^[0-9a-z]+$/,u0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,p0=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,f0=/^[a-z0-9_-]{21}$/i,h0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,m0=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,g0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,E0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",b0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,T0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,_0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,S0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,x0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,A0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,bg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",y0=new RegExp(`^${bg}$`);zr=class t extends q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==O.string){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_type,expected:O.string,received:s.parsedType}),F}let r=new ze,i;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){let a=e.data.length>s.value,l=e.data.length<s.value;(a||l)&&(i=this._getOrReturnCtx(e,i),a?v(i,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):l&&v(i,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")g0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"email",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")up||(up=new RegExp(E0,"u")),up.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"emoji",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")p0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"uuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")f0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"nanoid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")l0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"cuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")d0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"cuid2",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")u0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"ulid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),v(i,{validation:"url",code:x.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"regex",code:x.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?_g(s).test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?y0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?R0(s).test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{code:x.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?m0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"duration",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?v0(e.data,s.version)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"ip",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?N0(e.data,s.alg)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"jwt",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?O0(e.data,s.version)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"cidr",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?x0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"base64",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?A0.test(e.data)||(i=this._getOrReturnCtx(e,i),v(i,{validation:"base64url",code:x.invalid_string,message:s.message}),r.dirty()):J.assertNever(s);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(i=>e.test(i),{validation:n,code:x.invalid_string,...M.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...M.errToObj(e)})}url(e){return this._addCheck({kind:"url",...M.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...M.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...M.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...M.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...M.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...M.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...M.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...M.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...M.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...M.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...M.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...M.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...M.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...M.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...M.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...M.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...M.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...M.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...M.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...M.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...M.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...M.errToObj(n)})}nonempty(e){return this.min(1,M.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};zr.create=t=>new zr({checks:[],typeName:B.ZodString,coerce:t?.coerce??!1,...K(t)});Lo=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==O.number){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_type,expected:O.number,received:s.parsedType}),F}let r,i=new ze;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),v(r,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?w0(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),v(r,{code:x.not_finite,message:s.message}),i.dirty()):J.assertNever(s);return{status:i.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,M.toString(n))}gt(e,n){return this.setLimit("min",e,!1,M.toString(n))}lte(e,n){return this.setLimit("max",e,!0,M.toString(n))}lt(e,n){return this.setLimit("max",e,!1,M.toString(n))}setLimit(e,n,r,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:M.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:M.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:M.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:M.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:M.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:M.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:M.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:M.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:M.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:M.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Lo.create=t=>new Lo({checks:[],typeName:B.ZodNumber,coerce:t?.coerce||!1,...K(t)});ko=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==O.bigint)return this._getInvalidInput(e);let r,i=new ze;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),v(r,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):J.assertNever(s);return{status:i.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return v(n,{code:x.invalid_type,expected:O.bigint,received:n.parsedType}),F}gte(e,n){return this.setLimit("min",e,!0,M.toString(n))}gt(e,n){return this.setLimit("min",e,!1,M.toString(n))}lte(e,n){return this.setLimit("max",e,!0,M.toString(n))}lt(e,n){return this.setLimit("max",e,!1,M.toString(n))}setLimit(e,n,r,i){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:M.toString(i)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:M.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:M.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:M.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:M.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:M.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ko.create=t=>new ko({checks:[],typeName:B.ZodBigInt,coerce:t?.coerce??!1,...K(t)});Do=class extends q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==O.boolean){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.boolean,received:r.parsedType}),F}return tt(e.data)}};Do.create=t=>new Do({typeName:B.ZodBoolean,coerce:t?.coerce||!1,...K(t)});Mo=class t extends q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==O.date){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_type,expected:O.date,received:s.parsedType}),F}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return v(s,{code:x.invalid_date}),F}let r=new ze,i;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):J.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:M.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:M.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Mo.create=t=>new Mo({checks:[],coerce:t?.coerce||!1,typeName:B.ZodDate,...K(t)});es=class extends q{_parse(e){if(this._getType(e)!==O.symbol){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.symbol,received:r.parsedType}),F}return tt(e.data)}};es.create=t=>new es({typeName:B.ZodSymbol,...K(t)});Po=class extends q{_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.undefined,received:r.parsedType}),F}return tt(e.data)}};Po.create=t=>new Po({typeName:B.ZodUndefined,...K(t)});$o=class extends q{_parse(e){if(this._getType(e)!==O.null){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.null,received:r.parsedType}),F}return tt(e.data)}};$o.create=t=>new $o({typeName:B.ZodNull,...K(t)});Yr=class extends q{constructor(){super(...arguments),this._any=!0}_parse(e){return tt(e.data)}};Yr.create=t=>new Yr({typeName:B.ZodAny,...K(t)});lr=class extends q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return tt(e.data)}};lr.create=t=>new lr({typeName:B.ZodUnknown,...K(t)});mn=class extends q{_parse(e){let n=this._getOrReturnCtx(e);return v(n,{code:x.invalid_type,expected:O.never,received:n.parsedType}),F}};mn.create=t=>new mn({typeName:B.ZodNever,...K(t)});ts=class extends q{_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.void,received:r.parsedType}),F}return tt(e.data)}};ts.create=t=>new ts({typeName:B.ZodVoid,...K(t)});dr=class t extends q{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),i=this._def;if(n.parsedType!==O.array)return v(n,{code:x.invalid_type,expected:O.array,received:n.parsedType}),F;if(i.exactLength!==null){let a=n.data.length>i.exactLength.value,l=n.data.length<i.exactLength.value;(a||l)&&(v(n,{code:a?x.too_big:x.too_small,minimum:l?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(v(n,{code:x.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(v(n,{code:x.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,l)=>i.type._parseAsync(new qt(n,a,n.path,l)))).then(a=>ze.mergeArray(r,a));let s=[...n.data].map((a,l)=>i.type._parseSync(new qt(n,a,n.path,l)));return ze.mergeArray(r,s)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:M.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:M.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:M.toString(n)}})}nonempty(e){return this.min(1,e)}};dr.create=(t,e)=>new dr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:B.ZodArray,...K(e)});Nt=class t extends q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=J.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==O.object){let u=this._getOrReturnCtx(e);return v(u,{code:x.invalid_type,expected:O.object,received:u.parsedType}),F}let{status:r,ctx:i}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),l=[];if(!(this._def.catchall instanceof mn&&this._def.unknownKeys==="strip"))for(let u in i.data)a.includes(u)||l.push(u);let d=[];for(let u of a){let f=s[u],g=i.data[u];d.push({key:{status:"valid",value:u},value:f._parse(new qt(i,g,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof mn){let u=this._def.unknownKeys;if(u==="passthrough")for(let f of l)d.push({key:{status:"valid",value:f},value:{status:"valid",value:i.data[f]}});else if(u==="strict")l.length>0&&(v(i,{code:x.unrecognized_keys,keys:l}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let f of l){let g=i.data[f];d.push({key:{status:"valid",value:f},value:u._parse(new qt(i,g,i.path,f)),alwaysSet:f in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let u=[];for(let f of d){let g=await f.key,E=await f.value;u.push({key:g,value:E,alwaysSet:f.alwaysSet})}return u}).then(u=>ze.mergeObjectSync(r,u)):ze.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return M.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let i=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:M.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:B.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of J.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of J.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return Ji(this)}partial(e){let n={};for(let r of J.objectKeys(this.shape)){let i=this.shape[r];e&&!e[r]?n[r]=i:n[r]=i.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of J.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Yt;)s=s._def.innerType;n[r]=s}return new t({...this._def,shape:()=>n})}keyof(){return Sg(J.objectKeys(this.shape))}};Nt.create=(t,e)=>new Nt({shape:()=>t,unknownKeys:"strip",catchall:mn.create(),typeName:B.ZodObject,...K(e)});Nt.strictCreate=(t,e)=>new Nt({shape:()=>t,unknownKeys:"strict",catchall:mn.create(),typeName:B.ZodObject,...K(e)});Nt.lazycreate=(t,e)=>new Nt({shape:t,unknownKeys:"strip",catchall:mn.create(),typeName:B.ZodObject,...K(e)});Uo=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function i(s){for(let l of s)if(l.result.status==="valid")return l.result;for(let l of s)if(l.result.status==="dirty")return n.common.issues.push(...l.ctx.common.issues),l.result;let a=s.map(l=>new vt(l.ctx.common.issues));return v(n,{code:x.invalid_union,unionErrors:a}),F}if(n.common.async)return Promise.all(r.map(async s=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(i);{let s,a=[];for(let d of r){let u={...n,common:{...n.common,issues:[]},parent:null},f=d._parseSync({data:n.data,path:n.path,parent:u});if(f.status==="valid")return f;f.status==="dirty"&&!s&&(s={result:f,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;let l=a.map(d=>new vt(d));return v(n,{code:x.invalid_union,unionErrors:l}),F}}get options(){return this._def.options}};Uo.create=(t,e)=>new Uo({options:t,typeName:B.ZodUnion,...K(e)});cr=t=>t instanceof Fo?cr(t.schema):t instanceof Xt?cr(t.innerType()):t instanceof Bo?[t.value]:t instanceof Go?t.options:t instanceof jo?J.objectValues(t.enum):t instanceof Vo?cr(t._def.innerType):t instanceof Po?[void 0]:t instanceof $o?[null]:t instanceof Yt?[void 0,...cr(t.unwrap())]:t instanceof Pn?[null,...cr(t.unwrap())]:t instanceof za||t instanceof Wo?cr(t.unwrap()):t instanceof Ko?cr(t._def.innerType):[],jl=class t extends q{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.object)return v(n,{code:x.invalid_type,expected:O.object,received:n.parsedType}),F;let r=this.discriminator,i=n.data[r],s=this.optionsMap.get(i);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(v(n,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),F)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let i=new Map;for(let s of n){let a=cr(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let l of a){if(i.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);i.set(l,s)}}return new t({typeName:B.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:i,...K(r)})}};Ho=class extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=(s,a)=>{if(Bl(s)||Bl(a))return F;let l=pp(s.value,a.value);return l.valid?((Gl(s)||Gl(a))&&n.dirty(),{status:n.value,value:l.data}):(v(r,{code:x.invalid_intersection_types}),F)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,a])=>i(s,a)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Ho.create=(t,e,n)=>new Ho({left:t,right:e,typeName:B.ZodIntersection,...K(n)});Mn=class t extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.array)return v(r,{code:x.invalid_type,expected:O.array,received:r.parsedType}),F;if(r.data.length<this._def.items.length)return v(r,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F;!this._def.rest&&r.data.length>this._def.items.length&&(v(r,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,l)=>{let d=this._def.items[l]||this._def.rest;return d?d._parse(new qt(r,a,r.path,l)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>ze.mergeArray(n,a)):ze.mergeArray(n,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Mn.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Mn({items:t,typeName:B.ZodTuple,rest:null,...K(e)})};Vl=class t extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.object)return v(r,{code:x.invalid_type,expected:O.object,received:r.parsedType}),F;let i=[],s=this._def.keyType,a=this._def.valueType;for(let l in r.data)i.push({key:s._parse(new qt(r,l,r.path,l)),value:a._parse(new qt(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?ze.mergeObjectAsync(n,i):ze.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof q?new t({keyType:e,valueType:n,typeName:B.ZodRecord,...K(r)}):new t({keyType:zr.create(),valueType:e,typeName:B.ZodRecord,...K(n)})}},ns=class extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.map)return v(r,{code:x.invalid_type,expected:O.map,received:r.parsedType}),F;let i=this._def.keyType,s=this._def.valueType,a=[...r.data.entries()].map(([l,d],u)=>({key:i._parse(new qt(r,l,r.path,[u,"key"])),value:s._parse(new qt(r,d,r.path,[u,"value"]))}));if(r.common.async){let l=new Map;return Promise.resolve().then(async()=>{for(let d of a){let u=await d.key,f=await d.value;if(u.status==="aborted"||f.status==="aborted")return F;(u.status==="dirty"||f.status==="dirty")&&n.dirty(),l.set(u.value,f.value)}return{status:n.value,value:l}})}else{let l=new Map;for(let d of a){let u=d.key,f=d.value;if(u.status==="aborted"||f.status==="aborted")return F;(u.status==="dirty"||f.status==="dirty")&&n.dirty(),l.set(u.value,f.value)}return{status:n.value,value:l}}}};ns.create=(t,e,n)=>new ns({valueType:e,keyType:t,typeName:B.ZodMap,...K(n)});rs=class t extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.set)return v(r,{code:x.invalid_type,expected:O.set,received:r.parsedType}),F;let i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(v(r,{code:x.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(v(r,{code:x.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());let s=this._def.valueType;function a(d){let u=new Set;for(let f of d){if(f.status==="aborted")return F;f.status==="dirty"&&n.dirty(),u.add(f.value)}return{status:n.value,value:u}}let l=[...r.data.values()].map((d,u)=>s._parse(new qt(r,d,r.path,u)));return r.common.async?Promise.all(l).then(d=>a(d)):a(l)}min(e,n){return new t({...this._def,minSize:{value:e,message:M.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:M.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};rs.create=(t,e)=>new rs({valueType:t,minSize:null,maxSize:null,typeName:B.ZodSet,...K(e)});Kl=class t extends q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.function)return v(n,{code:x.invalid_type,expected:O.function,received:n.parsedType}),F;function r(l,d){return Wa({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Zi(),ar].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:d}})}function i(l,d){return Wa({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Zi(),ar].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:d}})}let s={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof qr){let l=this;return tt(async function(...d){let u=new vt([]),f=await l._def.args.parseAsync(d,s).catch(_=>{throw u.addIssue(r(d,_)),u}),g=await Reflect.apply(a,this,f);return await l._def.returns._def.type.parseAsync(g,s).catch(_=>{throw u.addIssue(i(g,_)),u})})}else{let l=this;return tt(function(...d){let u=l._def.args.safeParse(d,s);if(!u.success)throw new vt([r(d,u.error)]);let f=Reflect.apply(a,this,u.data),g=l._def.returns.safeParse(f,s);if(!g.success)throw new vt([i(f,g.error)]);return g.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Mn.create(e).rest(lr.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||Mn.create([]).rest(lr.create()),returns:n||lr.create(),typeName:B.ZodFunction,...K(r)})}},Fo=class extends q{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Fo.create=(t,e)=>new Fo({getter:t,typeName:B.ZodLazy,...K(e)});Bo=class extends q{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return v(n,{received:n.data,code:x.invalid_literal,expected:this._def.value}),F}return{status:"valid",value:e.data}}get value(){return this._def.value}};Bo.create=(t,e)=>new Bo({value:t,typeName:B.ZodLiteral,...K(e)});Go=class t extends q{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return v(n,{expected:J.joinValues(r),received:n.parsedType,code:x.invalid_type}),F}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return v(n,{received:n.data,code:x.invalid_enum_value,options:r}),F}return tt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Go.create=Sg;jo=class extends q{_parse(e){let n=J.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==O.string&&r.parsedType!==O.number){let i=J.objectValues(n);return v(r,{expected:J.joinValues(i),received:r.parsedType,code:x.invalid_type}),F}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let i=J.objectValues(n);return v(r,{received:r.data,code:x.invalid_enum_value,options:i}),F}return tt(e.data)}get enum(){return this._def.values}};jo.create=(t,e)=>new jo({values:t,typeName:B.ZodNativeEnum,...K(e)});qr=class extends q{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.promise&&n.common.async===!1)return v(n,{code:x.invalid_type,expected:O.promise,received:n.parsedType}),F;let r=n.parsedType===O.promise?n.data:Promise.resolve(n.data);return tt(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}};qr.create=(t,e)=>new qr({type:t,typeName:B.ZodPromise,...K(e)});Xt=class extends q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===B.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:a=>{v(r,a),a.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){let a=i.transform(r.data,s);if(r.common.async)return Promise.resolve(a).then(async l=>{if(n.value==="aborted")return F;let d=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return d.status==="aborted"?F:d.status==="dirty"?Io(d.value):n.value==="dirty"?Io(d.value):d});{if(n.value==="aborted")return F;let l=this._def.schema._parseSync({data:a,path:r.path,parent:r});return l.status==="aborted"?F:l.status==="dirty"?Io(l.value):n.value==="dirty"?Io(l.value):l}}if(i.type==="refinement"){let a=l=>{let d=i.refinement(l,s);if(r.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){let l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?F:(l.status==="dirty"&&n.dirty(),a(l.value),{status:n.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?F:(l.status==="dirty"&&n.dirty(),a(l.value).then(()=>({status:n.value,value:l.value}))))}if(i.type==="transform")if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Wr(a))return F;let l=i.transform(a.value,s);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>Wr(a)?Promise.resolve(i.transform(a.value,s)).then(l=>({status:n.value,value:l})):F);J.assertNever(i)}};Xt.create=(t,e,n)=>new Xt({schema:t,typeName:B.ZodEffects,effect:e,...K(n)});Xt.createWithPreprocess=(t,e,n)=>new Xt({schema:e,effect:{type:"preprocess",transform:t},typeName:B.ZodEffects,...K(n)});Yt=class extends q{_parse(e){return this._getType(e)===O.undefined?tt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Yt.create=(t,e)=>new Yt({innerType:t,typeName:B.ZodOptional,...K(e)});Pn=class extends q{_parse(e){return this._getType(e)===O.null?tt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Pn.create=(t,e)=>new Pn({innerType:t,typeName:B.ZodNullable,...K(e)});Vo=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===O.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Vo.create=(t,e)=>new Vo({innerType:t,typeName:B.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...K(e)});Ko=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Qi(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new vt(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new vt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ko.create=(t,e)=>new Ko({innerType:t,typeName:B.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...K(e)});os=class extends q{_parse(e){if(this._getType(e)!==O.nan){let r=this._getOrReturnCtx(e);return v(r,{code:x.invalid_type,expected:O.nan,received:r.parsedType}),F}return{status:"valid",value:e.data}}};os.create=t=>new os({typeName:B.ZodNaN,...K(t)});C0=Symbol("zod_brand"),za=class extends q{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Ya=class t extends q{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?F:s.status==="dirty"?(n.dirty(),Io(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?F:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:B.ZodPipeline})}},Wo=class extends q{_parse(e){let n=this._def.innerType._parse(e),r=i=>(Wr(i)&&(i.value=Object.freeze(i.value)),i);return Qi(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}};Wo.create=(t,e)=>new Wo({innerType:t,typeName:B.ZodReadonly,...K(e)});I0={object:Nt.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(B||(B={}));L0=(t,e={message:`Input not instance of ${t.name}`})=>xg(n=>n instanceof t,e),Ag=zr.create,yg=Lo.create,k0=os.create,D0=ko.create,Rg=Do.create,M0=Mo.create,P0=es.create,$0=Po.create,U0=$o.create,H0=Yr.create,F0=lr.create,B0=mn.create,G0=ts.create,j0=dr.create,V0=Nt.create,K0=Nt.strictCreate,W0=Uo.create,z0=jl.create,Y0=Ho.create,q0=Mn.create,X0=Vl.create,Z0=ns.create,Q0=rs.create,J0=Kl.create,eN=Fo.create,tN=Bo.create,nN=Go.create,rN=jo.create,oN=qr.create,iN=Xt.create,sN=Yt.create,aN=Pn.create,cN=Xt.createWithPreprocess,lN=Ya.create,dN=()=>Ag().optional(),uN=()=>yg().optional(),pN=()=>Rg().optional(),fN={string:(t=>zr.create({...t,coerce:!0})),number:(t=>Lo.create({...t,coerce:!0})),boolean:(t=>Do.create({...t,coerce:!0})),bigint:(t=>ko.create({...t,coerce:!0})),date:(t=>Mo.create({...t,coerce:!0}))},hN=F});var o={};Va(o,{BRAND:()=>C0,DIRTY:()=>Io,EMPTY_PATH:()=>c0,INVALID:()=>F,NEVER:()=>hN,OK:()=>tt,ParseStatus:()=>ze,Schema:()=>q,ZodAny:()=>Yr,ZodArray:()=>dr,ZodBigInt:()=>ko,ZodBoolean:()=>Do,ZodBranded:()=>za,ZodCatch:()=>Ko,ZodDate:()=>Mo,ZodDefault:()=>Vo,ZodDiscriminatedUnion:()=>jl,ZodEffects:()=>Xt,ZodEnum:()=>Go,ZodError:()=>vt,ZodFirstPartyTypeKind:()=>B,ZodFunction:()=>Kl,ZodIntersection:()=>Ho,ZodIssueCode:()=>x,ZodLazy:()=>Fo,ZodLiteral:()=>Bo,ZodMap:()=>ns,ZodNaN:()=>os,ZodNativeEnum:()=>jo,ZodNever:()=>mn,ZodNull:()=>$o,ZodNullable:()=>Pn,ZodNumber:()=>Lo,ZodObject:()=>Nt,ZodOptional:()=>Yt,ZodParsedType:()=>O,ZodPipeline:()=>Ya,ZodPromise:()=>qr,ZodReadonly:()=>Wo,ZodRecord:()=>Vl,ZodSchema:()=>q,ZodSet:()=>rs,ZodString:()=>zr,ZodSymbol:()=>es,ZodTransformer:()=>Xt,ZodTuple:()=>Mn,ZodType:()=>q,ZodUndefined:()=>Po,ZodUnion:()=>Uo,ZodUnknown:()=>lr,ZodVoid:()=>ts,addIssueToContext:()=>v,any:()=>H0,array:()=>j0,bigint:()=>D0,boolean:()=>Rg,coerce:()=>fN,custom:()=>xg,date:()=>M0,datetimeRegex:()=>_g,defaultErrorMap:()=>ar,discriminatedUnion:()=>z0,effect:()=>iN,enum:()=>nN,function:()=>J0,getErrorMap:()=>Zi,getParsedType:()=>Dn,instanceof:()=>L0,intersection:()=>Y0,isAborted:()=>Bl,isAsync:()=>Qi,isDirty:()=>Gl,isValid:()=>Wr,late:()=>I0,lazy:()=>eN,literal:()=>tN,makeIssue:()=>Wa,map:()=>Z0,nan:()=>k0,nativeEnum:()=>rN,never:()=>B0,null:()=>U0,nullable:()=>aN,number:()=>yg,object:()=>V0,objectUtil:()=>cp,oboolean:()=>pN,onumber:()=>uN,optional:()=>sN,ostring:()=>dN,pipeline:()=>lN,preprocess:()=>cN,promise:()=>oN,quotelessJson:()=>i0,record:()=>X0,set:()=>Q0,setErrorMap:()=>a0,strictObject:()=>K0,string:()=>Ag,symbol:()=>P0,transformer:()=>iN,tuple:()=>q0,undefined:()=>$0,union:()=>W0,unknown:()=>F0,util:()=>J,void:()=>G0});var fp=T(()=>{Fl();dp();hg();Ka();vg();Hl()});var ne=T(()=>{fp();fp()});var is,hp=T(()=>{"use strict";is={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var Wl,mp,y,Z5,mN,Q5,ur=T(()=>{"use strict";Wl={SIGNAL:"signal",NET:"net",STATE:"state"},mp={ELEMENT:"element",TEXT:"text"},y={ELEMENT:mp.ELEMENT,TEXT:mp.TEXT,SIGNAL:Wl.SIGNAL,NET:Wl.NET,STATE:Wl.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},Z5=new Set(Object.values(Wl)),mN=new Set(Object.values(mp)),Q5=new Set([...mN,y.ROUTE])});var Ng,Og,wg,gp,gN,Cg,Zt,Ig,Ae,ut,zl,qa=T(()=>{"use strict";Ng=1,Og={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},wg={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},gp=2,gN=3,Cg=new Set([1,gp,gN]),Zt={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},Ig="unresolved",Ae={ASSERT_SIGNAL:"assert-signal",ASSERT_VISIBLE:"assert-visible",ASSERT_STATE:"assert-state",ASSERT_NET:"assert-net",MARK_DYNAMIC:"mark-dynamic",SUCCESS_STATE:"success-state",INTENT:"intent"},ut={IDLE:"idle",RECORDING:"recording",ANNOTATING:"annotating"},zl={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var Lg,Ep=T(()=>{"use strict";Lg={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var b,kg=T(()=>{"use strict";b={DOM_ADDED:"dom.added",DOM_REMOVED:"dom.removed",DOM_ATTR:"dom.attr",DOM_TEXT:"dom.text",NET_REQUEST:"net.request",NET_PENDING:"net.pending",NET_STREAM:"net.stream",PERF:"perf",ROUTE_CHANGE:"route.change",CONSOLE_LOG:"console.log",CONSOLE_WARN:"console.warn",CONSOLE_ERROR:"console.error",CONSOLE_INFO:"console.info",CONSOLE_DEBUG:"console.debug",ERROR_UNCAUGHT:"error.uncaught",VISIBLE_SHOWN:"visible.shown",ANIM_START:"anim.start",ANIM_END:"anim.end",SCROLL_POSITION:"scroll.position",REVEAL_SHOWN:"reveal.shown",SIGNAL:"signal",STATE_CHANGE:"state.change",STORAGE_CHANGE:"storage.change",PAGE_HEALTH:"page.health",CONTEXT_OPENED:"context.opened",DIALOG_OPENED:"dialog.opened",RENDER_COMMIT:"render.commit",FOCUS_CHANGE:"focus.change",FIELD_CHANGE:"field.change",FLOW_RECORDED:"flow.recorded",TRANSPORT_OVERFLOW:"transport.overflow",TRUNCATED:"truncated",BLIND_SPOT:"blind-spot",SDK_FAILED:"sdk.failed",NET_DETAIL:"net.detail",HUMAN_CONTROL:"human.control",HUMAN_MARK:"human.mark",DOWNLOAD:"download",HUD_USED:"hud.used"}});function Mg(t=bp,e=EN){return`ws://${e}:${String(t)}${Yl}`}var bp,Yl,ql,Dg,EN,pr,r2,H,ye,Xl,Pg,ss,o2,$g,s2,Zl,Ql,Ug,as,Jl,bN,a2,R,Hg,Fg,re,pt,C,Me,cs,ft,Ot=T(()=>{"use strict";kg();bp=4400,Yl="/reticle",ql=1,Dg=1,EN="localhost";pr={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened"},r2={MAX_RUNS:50,MAX_BYTES:4*1024*1024},H={MAX_MESSAGE_BYTES:1024*1024,MAX_MESSAGES_PER_SECOND:2e4,MAX_SESSIONS:32,MAX_PENDING_CONNECTIONS:16,HELLO_TIMEOUT_MS:5e3,MAX_BUFFER_BYTES:8*1024*1024,MAX_SESSION_ID_LENGTH:128,MAX_URL_LENGTH:4096,MAX_TITLE_LENGTH:512,MAX_ADAPTERS:32,MAX_CONTRACT_NAMES:128,MAX_ADAPTER_NAME_LENGTH:128,MAX_TOKEN_LENGTH:512,MAX_COMMAND_ID_LENGTH:128,MAX_COMMAND_NAME_LENGTH:128,MAX_REF_LENGTH:128,MAX_ERROR_LENGTH:4096,MAX_STACK_LENGTH:4e3,MAX_SERIALIZE_DEPTH:8,MAX_COLLECTION_ITEMS:200,MAX_OBJECT_KEYS:200,MAX_STRING_LENGTH:64*1024,MAX_MARK_NOTE_LENGTH:2e3,MAX_MARK_LABEL_LENGTH:256},ye="[REDACTED]",Xl="confirmDangerous",Pg="native",ss={NO_PROVIDER:"no-visual-provider",CAPTURE_FAILED:"capture-failed",BASELINE_MISSING:"baseline-missing",DIMENSION_MISMATCH:"dimension-mismatch",FULL_PAGE_UNSUPPORTED:"full-page-unsupported",NOT_COMPOSITED:"window-not-composited"},o2=1440*60*1e3,$g=1,s2={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:H.MAX_BUFFER_BYTES},Zl="__reticle_renders",Ql={DOM:"dom",JOURNAL:"journal"},Ug={WINDOW:"window"},as={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},Jl={HOVER_NATIVE_ENTER_LEAVE:"target has enter/leave handlers; synthetic hover may not trigger them \u2014 expect no state change",REAL_INPUT_FELL_BACK:"real-input provider was available but failed; fell back to synthetic dispatch",CLICK_OCCLUDED:"target is visually occluded by another element; a real user could not click it (synthetic dispatch still delivered the event) \u2014 dismiss the overlay or scroll the target clear",GLOBAL_PRESS:"press landed on the focused element or document \u2014 no named target was given, so this effect does not claim one"},bN="console.",a2=[b.CONSOLE_LOG,b.CONSOLE_WARN,b.CONSOLE_ERROR,b.CONSOLE_INFO].map(t=>t.slice(bN.length)),R={CLICK:"click",DBLCLICK:"dblclick",HOVER:"hover",FOCUS:"focus",BLUR:"blur",FILL:"fill",TYPE:"type",CLEAR:"clear",SELECT:"select",CHECK:"check",UNCHECK:"uncheck",SUBMIT:"submit",PRESS:"press",UPLOAD:"upload",SCROLL_INTO_VIEW:"scrollIntoView",SCROLL:"scroll",DRAG:"drag",TAP:"tap",ZOOM:"zoom"},Hg={TIMEOUT:"timeout",THROTTLED:"throttled"},Fg={UNAVAILABLE:"component-state-unavailable"},re={VISIBLE:"visible",HIDDEN:"hidden",ENABLED:"enabled",DISABLED:"disabled",CHECKED:"checked",EXPANDED:"expanded",PRESSED:"pressed",FOCUSED:"focused",PRESENT:"present",IN_VIEWPORT:"inViewport"},pt={ROLE:"role",TEXT:"text",LABEL:"label",PLACEHOLDER:"placeholder",TESTID:"testid",ALT:"alt",COMPONENT:"component"},C={SNAPSHOT:"snapshot",QUERY:"query",MATCH:"match",INSPECT:"inspect",ACT:"act",ACT_SEQUENCE:"act_sequence",ANIMATIONS:"animations",NARRATE:"narrate",CLOCK:"clock",CAPABILITIES:"capabilities",STATE_READ:"state_read",STORAGE_READ:"storage_read",SCROLL:"scroll",SESSION_CONFIG:"session_config",PRESENTER:"presenter",IMPACT:"impact",CAPTURE:"capture",NAVIGATE:"navigate",REFRESH:"refresh",FLOWS:"flows"},Me={IDLE:"idle",READING:"reading",ACTING:"acting"},cs={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},ft={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var Qt,TN,Jt,d2,zo=T(()=>{"use strict";ne();Qt={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},TN=o.union([o.nativeEnum(Qt),o.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),Jt=o.object({surface:TN,instance:o.string().min(1),epoch:o.number().int().nonnegative().optional(),locator:o.string().optional(),revision:o.string().optional()}),d2=o.object({kind:o.enum(["instance","epoch"]),from:o.string(),to:o.string()})});var A,kt,wt,ht,Tp,_p,gn=T(()=>{"use strict";ne();A={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},kt=o.union([o.nativeEnum(A),o.string().regex(/^x-[a-z0-9-]+$/,"a channel this specification does not name must start with x-")]),wt={INDEPENDENT:"independent",ACTUATION_DERIVED:"actuation-derived"},ht={CONSEQUENCE:"consequence",PRESENCE:"presence",CONTEXT:"context"},Tp=o.object({id:kt,independence:o.nativeEnum(wt),grade:o.nativeEnum(ht),note:o.string().optional()}),_p={[A.UI]:{independence:wt.ACTUATION_DERIVED,grade:ht.PRESENCE},[A.NET]:{independence:wt.INDEPENDENT,grade:ht.CONSEQUENCE},[A.STATE]:{independence:wt.ACTUATION_DERIVED,grade:ht.CONSEQUENCE},[A.SIGNAL]:{independence:wt.ACTUATION_DERIVED,grade:ht.CONSEQUENCE},[A.LOG]:{independence:wt.INDEPENDENT,grade:ht.CONTEXT},[A.ROUTE]:{independence:wt.ACTUATION_DERIVED,grade:ht.PRESENCE},[A.STORAGE]:{independence:wt.ACTUATION_DERIVED,grade:ht.CONSEQUENCE},[A.TIME]:{independence:wt.INDEPENDENT,grade:ht.CONTEXT},[A.VISUAL]:{independence:wt.ACTUATION_DERIVED,grade:ht.PRESENCE}}});var Bg=T(()=>{"use strict"});var E2,Gg=T(()=>{"use strict";ne();zo();E2=o.object({id:o.string().min(1),subject:Jt,capturedAt:o.number().int(),payload:o.unknown().optional()})});var _2,jg=T(()=>{"use strict";ne();_2=o.object({mutation:o.string().min(1)})});var _N,Sp,SN,xN,Vg,Kg,xp,Wg,zg,Xa=T(()=>{"use strict";ne();gn();_N={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},Sp={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},SN=o.object({id:o.string().min(1),statement:o.string().min(1),origin:o.nativeEnum(_N),claims:o.array(o.string()).default([]),declaredAt:o.number().int().optional()}),xN=o.discriminatedUnion("status",[o.object({status:o.literal(Sp.ABANDONED),abandonedBecause:o.string().trim().min(1)}),o.object({status:o.literal(Sp.DECLARED),abandonedBecause:o.undefined().optional()}),o.object({status:o.literal(Sp.BOUND),abandonedBecause:o.undefined().optional()})]),Vg=SN.and(xN),Kg={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},xp=o.object({id:o.string().min(1),predicate:o.unknown(),reads:o.string().min(1),channels:o.array(kt).min(1)}),Wg=o.object({id:o.string().min(1),intent:o.string().optional(),statement:o.string().min(1),declaredAt:o.nativeEnum(Kg),assertions:o.array(xp).default([])}),zg=o.object({id:o.string().min(1),statement:o.string().min(1),predicate:o.unknown(),channels:o.array(kt).min(1),severity:o.enum(["blocking","advisory"]).default("blocking")})});var AN,ls,O2,Ap,Yg,qg,yN,Xg,Xr=T(()=>{"use strict";ne();gn();zo();AN=o.object({id:o.string().min(1),window:o.string().min(1),channel:kt,at:o.number().int(),value:o.unknown(),summary:o.string().min(1)}),ls={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},O2={[ls.LEARNED]:0,[ls.OBSERVED]:1,[ls.DERIVED]:2,[ls.AUTHORITATIVE]:3},Ap=o.object({class:o.nativeEnum(ls),source:o.string().min(1),method:o.string().min(1),subject:Jt,at:o.number().int(),confidence:o.number().min(0).max(1).optional()}),Yg=o.object({observation:AN,provenance:Ap,independence:o.nativeEnum(wt),grade:o.nativeEnum(ht)}),qg={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},yN=o.object({kind:o.nativeEnum(qg),channel:kt.optional(),detail:o.string().min(1),impeaching:o.boolean(),remedy:o.string().optional()}),Xg=o.object({window:o.string().min(1),observed:o.array(kt),blindSpots:o.array(yN)})});var vN,NN,ed,ON,td,yp,k2,Zg=T(()=>{"use strict";ne();gn();Xr();vN=o.object({channel:kt}),NN=o.union([o.object({summary:o.string().min(1),valueContains:o.string().min(1)}),o.object({summary:o.string().min(1).optional(),valueContains:o.undefined().optional()})]),ed=vN.and(NN),ON={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},td={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},yp={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},k2=o.discriminatedUnion("kind",[o.object({kind:o.literal(td.COUNT),match:ed,op:o.nativeEnum(ON),value:o.number().int().nonnegative()}),o.object({kind:o.literal(td.PRESENT),match:ed}),o.object({kind:o.literal(td.ABSENT),match:ed}),o.object({kind:o.literal(td.MEASURE),match:ed,op:o.nativeEnum(yp),value:o.number().finite(),tolerance:o.number().nonnegative().finite().default(0)})])});var $2,Rp,U2,nd,Qg,Za,Jg,H2,Yo=T(()=>{"use strict";ne();zo();$2=o.object({name:o.string().min(1),meaning:o.string().min(1),parameters:o.unknown().optional(),mutating:o.boolean()}),Rp={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},U2=o.object({ref:o.string().min(1),describes:o.string().min(1),at:o.string().optional()}),nd=o.object({id:o.string().min(1),actor:o.string().min(1),capability:o.string().min(1),target:o.string().optional(),parameters:o.unknown().optional(),at:o.number().int()}),Qg=o.object({action:o.string().min(1),dispatched:o.boolean(),refused:o.object({reason:o.nativeEnum(Rp),detail:o.string().min(1)}).optional(),subject:Jt,at:o.number().int()}),Za={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},Jg=o.object({id:o.string().min(1),openedAt:o.number().int(),closedAt:o.number().int().optional(),budgetMs:o.number().int().positive(),closes:o.nativeEnum(Za),closedBy:o.nativeEnum(Za).optional(),subject:Jt}),H2=new Set([Za.BUDGET_EXHAUSTED,Za.TERMINATED])});var rd,wN,eE,CN,vp,Np,tE,ds=T(()=>{"use strict";ne();gn();rd={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},wN=o.string().min(1),eE={ADVANCED_OVER_FAILURE:"advanced-over-failure",CLAIMED_OVER_FAILURE:"claimed-over-failure",EFFECT_DISCARDED:"effect-discarded",CLAIM_UNCORROBORATED:"claim-uncorroborated",FAILURE_INSIDE_SUCCESS:"failure-inside-success",VALUE_NOT_APPLIED:"value-not-applied",DUPLICATED_EFFECT:"duplicated-effect",STALE_APPLIED:"stale-applied",NO_EFFECT:"no-effect",FAULT_MISATTRIBUTED:"fault-misattributed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},CN=o.union([o.nativeEnum(eE),o.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),vp={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},Np=o.object({kind:CN,tier:o.nativeEnum(vp),claim:o.string().min(1),counter:o.string().min(1),between:o.tuple([kt,kt]),evidence:o.array(o.string()).default([])}),tE=o.object({id:o.string().min(1),claim:o.string().min(1),window:o.string().min(1),verdict:o.nativeEnum(rd),grade:o.nativeEnum(ht).optional(),reasons:o.array(wN).default([]),evidence:o.array(o.string()).default([]),anomalies:o.array(Np).default([]),supersedes:o.string().optional(),at:o.number().int()})});var IN,LN,kN,q2,nE,DN,X2,Op=T(()=>{"use strict";ne();Yo();Xa();Xr();ds();IN=o.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),LN=o.object({id:o.string().min(1),invoke:IN,with:o.unknown().optional(),at:o.number().int()}),kN=o.union([nd,LN]),q2=o.object({name:o.string().min(1),version:o.number().int().positive(),startState:o.unknown().optional(),requires:o.unknown().optional(),ensures:o.unknown().optional(),claim:o.string().min(1),steps:o.array(kN),expects:o.array(xp).default([]),mayRebind:o.boolean().default(!1)}),nE=o.object({verdict:o.string().min(1),expected:o.string().min(1),actual:o.string().min(1),evidence:o.array(o.string()).min(1),location:o.object({file:o.string(),line:o.number().int().optional(),symbol:o.string().optional()}).optional(),instruction:o.string().min(1)}),DN={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},X2=o.object({id:o.string().min(1),kind:o.nativeEnum(DN),statement:o.string().min(1),provenance:Ap,observations:o.number().int().nonnegative().default(0),promotedBy:o.string().optional(),promotedAt:o.number().int().optional()})});var MN,PN,sM,rE=T(()=>{"use strict";ne();gn();Xa();Yo();Xr();ds();Op();zo();MN="1.0",PN=o.object({constraint:o.string().min(1),at:o.number().int(),detail:o.string().min(1),evidence:o.array(o.string()).default([])}),sM=o.object({ovp:o.literal(MN),id:o.string().min(1),verifier:o.object({name:o.string().min(1),version:o.string().min(1),profile:o.string().optional()}),subject:Jt,channels:o.array(Tp),witnesses:o.array(o.object({name:o.string().min(1),subject:Jt,channels:o.array(Tp)})).default([]),intents:o.array(Vg).default([]),claims:o.array(Wg).default([]),constraints:o.array(zg).default([]),actions:o.array(nd).default([]),receipts:o.array(Qg).default([]),windows:o.array(Jg).default([]),evidence:o.array(Yg).default([]),coverage:o.array(Xg).default([]),anomalies:o.array(Np).default([]),verdicts:o.array(tE).default([]),violations:o.array(PN).default([]),repairs:o.array(nE).default([]),startedAt:o.number().int(),endedAt:o.number().int()})});var wp=T(()=>{"use strict";ds()});var Cp=T(()=>{"use strict";Xa();gn();Xr();Yo();ds()});var Ip=T(()=>{"use strict";Yo();gn();wp();Xr();Cp()});var Lp=T(()=>{"use strict"});var oE=T(()=>{"use strict";Lp()});var qo,IM,LM,kM,iE=T(()=>{"use strict";ne();gn();qo={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},IM=[qo.EFFECT,qo.IN_REALM,qo.SURFACE],LM={[qo.EFFECT]:[A.NET,A.LOG],[qo.IN_REALM]:[A.NET,A.LOG,A.STATE,A.SIGNAL],[qo.SURFACE]:[A.NET,A.LOG,A.STATE,A.SIGNAL,A.UI]},kM=o.object({name:o.string().min(1),version:o.string().min(1),platform:o.string().min(1),claims:o.nativeEnum(qo),homepage:o.string().optional()})});var sE=T(()=>{"use strict";Ip();gn();Yo();Xr();zo()});var Qa=T(()=>{"use strict";zo();gn();Bg();Gg();jg();Xa();Zg();Yo();Xr();ds();Op();rE();Ip();wp();Lp();oE();Cp();iE();sE()});var us,$e,aE,mt,Xo=T(()=>{"use strict";us={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},$e={VERSION_SKEW:"version_skew",CAPABILITY_ABSENT:"capability-absent",INCONCLUSIVE:"inconclusive",OBSERVATION_LOST:"observation_lost",WINDOW_CLOSED_EARLY:"window_closed_early",ASSERTION_FAILED:"assertion_failed",CONTRADICTED:"contradicted",ALREADY_TRUE:"already_true",UNCLEAN_CAPTURE:"unclean_capture",VACUOUS_GRADE:"vacuous_grade",NOTHING_DECLARED:"nothing_declared",OUTCOME_PENDING:"outcome_pending",OUTCOME_UNREAD:"outcome_unread",UNSETTLED:"unsettled",EVIDENCE_INCOMPLETE:"evidence_incomplete",PROVED:"proved",ABSENCE_BLIND_SPOT:"absence_blind_spot"},aE={BUFFER_LOSS:"buffer_loss",TRANSPORT_GAP:"transport_gap",BLIND_SPOT:"blind_spot",JOURNAL_LOSS:"journal_loss",OTHER:"other"},mt={CLOSED_SHADOW_ROOT:"closed-shadow-root",RATE_LIMITED:"rate-limited",CROSS_ORIGIN_IFRAME:"cross-origin-iframe",UNINSTRUMENTED_FRAME:"uninstrumented-frame",VIRTUALIZED_UNMOUNTED:"virtualized-unmounted",WRAPPED_NETWORK:"wrapped-network",UNOBSERVED_IPC:"unobserved-ipc",VERDICTLESS_SEND:"verdictless-send",UNWATCHED_STATE:"unwatched-state"}});var HN,FN,BN,GN,jN,VN,KN,WN,od,zN,YN,qN,XN,ZN,QN,JN,eO,tO,nO,hP,rO,oO,iO,sO,aO,cO,lO,dO,uO,mP,kp=T(()=>{"use strict";ne();Qa();ur();Xo();HN=3,FN=1,BN=2,GN={pass:us.YES,fail:us.NO},jN={network:y.NET,layout:y.ELEMENT},VN=o.string().brand(),KN={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},WN={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},od={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},zN={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},YN={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},qN={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},XN={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},ZN={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},QN={PREVIEW:"preview",CI:"ci",LOCAL:"local"},JN={HIGH:"high",MEDIUM:"medium",LOW:"low"},eO={DEV:"dev",PROD_PREVIEW:"prod-preview"},tO=o.object({file:o.string(),line:o.number().optional(),component:o.string().optional()}),nO=o.object({path:o.string(),changeKind:o.nativeEnum(qN),risk:o.array(o.nativeEnum(od)).default([])}),hP=64*1024,rO=o.object({step:o.number(),anchor:o.string(),ok:o.boolean(),page:o.string().optional(),endPage:o.string().optional(),consequence:o.string().optional(),error:o.string().optional(),drift:o.string().optional()}),oO=o.object({startPath:o.string().optional(),steps:o.array(o.unknown())}),iO=o.object({name:o.string(),status:o.nativeEnum(WN),steps:o.number(),durationMs:o.number(),oracle:o.string().optional(),healed:o.object({from:o.string(),to:o.string(),consequenceVerified:o.boolean()}).optional(),evidenceRef:o.string().optional(),failureReason:o.string().optional(),stepResults:o.array(rO).optional(),recording:oO.optional(),recordingOmitted:o.boolean().optional()}),sO=o.object({kind:o.preprocess(t=>typeof t=="string"?jN[t]??t:t,o.nativeEnum(y).optional()),predicate:o.string(),status:o.preprocess(t=>typeof t=="string"?GN[t]??t:t,o.nativeEnum(us)),evidence:o.unknown().optional(),declaredBeforeActing:o.boolean().optional(),grade:o.string().optional(),couldNotSee:o.array(o.string()).optional(),reason:o.string().optional(),checkId:o.string().optional(),supersedes:o.string().optional()}),aO=o.object({surface:o.nativeEnum(od),severity:o.nativeEnum(zN),detail:o.string(),evidence:o.object({file:o.string().optional(),line:o.number().optional(),network:o.string().optional()}).optional(),gated:o.boolean().default(!1)}),cO=o.object({consoleErrors:o.array(o.object({level:o.string(),message:o.string(),at:o.number()})).default([]),networkAnomalies:o.array(o.object({method:o.string(),url:o.string(),status:o.number().optional(),issue:o.string()})).default([]),stateAssertions:o.array(o.object({store:o.string(),path:o.string(),expected:o.unknown(),actual:o.unknown(),ok:o.boolean()})).default([]),timeline:o.array(o.object({at:o.number(),kind:o.string(),summary:o.string()})).default([])}),lO=o.object({flow:o.string().optional(),step:o.number().optional(),expected:o.string(),actual:o.string(),sourceLocation:tO.optional(),suggestedPrompt:o.string()}),dO=o.object({status:o.nativeEnum(KN),reasons:o.array(o.string()).default([]),confidence:o.nativeEnum(JN),blockingRisks:o.number().default(0),checkId:o.string().optional(),supersedes:o.string().optional()}),uO=o.object({alg:o.string(),value:o.string(),signedAt:o.number()}),mP=o.object({schemaVersion:o.union([o.literal(HN),o.literal(BN),o.literal(FN)]),runId:VN,createdAt:o.number(),durationMs:o.number(),profile:o.nativeEnum(eO),project:o.object({name:o.string(),framework:o.nativeEnum(ZN),commit:o.string().optional(),env:o.nativeEnum(QN).optional(),previewUrl:o.string().optional()}),agent:o.object({id:o.string(),kind:o.nativeEnum(XN),model:o.string().optional()}),trigger:o.object({kind:o.nativeEnum(YN),diffRef:o.string().optional(),note:o.string().optional()}),editEpoch:o.number().optional(),subject:Jt.optional(),changedFiles:o.array(nO).default([]),flows:o.array(iO).default([]),checks:o.array(sO).default([]),risks:o.array(aO).default([]),evidence:cO,repair:o.object({failurePackets:o.array(lO).default([])}).optional(),verdict:dO,signature:uO.optional()})});var pO,id,fO,hO,mO,gO,xP,EO,bO,TO,AP,yP,Dp=T(()=>{"use strict";ne();Ot();qa();kp();pO=o.array(o.string().refine(t=>!t.includes("="),t=>({message:`\`attrs\` takes attribute NAMES only, not \`name=value\` \u2014 got ${JSON.stringify(t)}. It PROJECTS each attribute onto the match, it does not filter on it. Drop the \`=value\` half and read the returned \`attrs\` map, or assert the value with an \`element\` predicate carrying \`value\`.`}))),id=o.object({by:o.nativeEnum(pt).optional(),value:o.string().optional(),role:o.string().optional(),name:o.string().optional(),text:o.string().optional(),label:o.string().optional(),placeholder:o.string().optional(),testid:o.string().optional(),alt:o.string().optional(),component:o.string().optional(),attrs:pO.optional(),source:o.object({file:o.string(),line:o.number(),column:o.number().optional()}).strict().optional(),scope:o.string().optional(),self:o.boolean().optional()}).strict(),fO=o.object({name:o.string(),steps:o.array(o.string())}),hO=o.object({surface:o.nativeEnum(od),paths:o.array(o.string()).optional(),note:o.string().optional()}),mO=o.object({owner:o.string().optional(),safety:o.array(o.string()).optional(),scope:o.array(o.string()).optional(),redact:o.array(o.string()).optional(),risk:o.array(hO).optional()}),gO=o.object({testids:o.array(o.string()),signals:o.array(o.string()),stores:o.array(o.string()),flows:o.array(fO),governance:mO.optional()}),xP=o.object({version:o.literal($g),generatedAt:o.number(),capabilities:gO}),EO=o.object({consoleErrors:o.number().optional(),networkErrors:o.number().optional(),driftSteps:o.number().optional()}),bO=o.object({kind:o.nativeEnum(Og),name:o.string(),status:o.nativeEnum(wg),at:o.number(),summary:o.string().optional(),evidence:EO.optional(),durationMs:o.number().optional()}),TO=o.object({flows:o.array(o.string()).optional(),routes:o.array(o.string()).optional(),bestObservability:o.object({percent:o.number(),at:o.number()}).optional()}),AP=o.object({version:o.literal(Ng),learned:TO.optional(),runs:o.array(bO)}),yP=o.discriminatedUnion("kind",[o.object({kind:o.literal(Ae.ASSERT_SIGNAL),name:o.string().min(1),dataMatches:o.record(o.unknown()).optional()}),o.object({kind:o.literal(Ae.ASSERT_VISIBLE),testid:o.string().min(1)}),o.object({kind:o.literal(Ae.ASSERT_STATE),statePath:o.string().min(1),store:o.string().min(1).optional(),equals:o.unknown().optional()}),o.object({kind:o.literal(Ae.ASSERT_NET),net:o.object({method:o.string().min(1).optional(),urlContains:o.string().min(1).optional(),status:o.number().optional(),count:o.number().int().nonnegative().optional()})}),o.object({kind:o.literal(Ae.MARK_DYNAMIC),testid:o.string().min(1)}),o.object({kind:o.literal(Ae.SUCCESS_STATE),signal:o.string().min(1).optional(),testid:o.string().min(1).optional(),statePath:o.string().min(1).optional(),store:o.string().min(1).optional(),equals:o.unknown().optional(),hold:o.boolean().optional(),net:o.object({method:o.string().min(1).optional(),urlContains:o.string().min(1).optional(),status:o.number().optional(),count:o.number().int().nonnegative().optional()}).optional(),console:o.object({level:o.string().min(1).optional(),absent:o.boolean().optional()}).optional(),text:o.object({contains:o.string().min(1),scope:o.string().min(1).optional(),absent:o.boolean().optional(),visible:o.boolean().optional()}).optional()}),o.object({kind:o.literal(Ae.INTENT),text:o.string().min(1)})])});function lE(t,e){let n=cE(t),r=cE(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(s=>n[s]===r[s])}function cE(t){return y.NET===t.from?{...t,body:t.body??Pp.RESPONSE,method:t.method?.toUpperCase()}:{...t}}var Pp,sd,Mp,$p,Up=T(()=>{"use strict";ne();ur();Pp={RESPONSE:"response",REQUEST:"request"},sd={VALUE:"value",NUMBER:"number"},Mp=o.string().min(1),$p=o.discriminatedUnion("from",[o.object({from:o.literal(y.NET),urlContains:o.string().min(1),method:o.string().optional(),body:o.enum([Pp.RESPONSE,Pp.REQUEST]).optional(),path:Mp}).strict(),o.object({from:o.literal(y.SIGNAL),name:o.string().min(1),path:Mp}).strict(),o.object({from:o.literal(y.STATE),store:o.string().optional(),path:Mp}).strict(),o.object({from:o.literal(y.TEXT),scope:o.string().min(1)}).strict()])});var dE,Hp,Fp=T(()=>{"use strict";ne();Qa();dE=o.object({op:o.nativeEnum(yp),value:o.number().finite(),tolerance:o.number().finite().nonnegative().optional()}).strict(),Hp=o.discriminatedUnion("property",[o.object({property:o.literal("nonEmpty")}).strict(),o.object({property:o.literal("oneOf"),values:o.array(o.unknown()).min(1)}).strict(),o.object({property:o.literal("withinTolerance"),of:o.number().finite(),tolerance:o.number().finite().nonnegative()}).strict(),o.object({property:o.literal("matchesPattern"),pattern:o.string().min(1)}).strict(),o.object({property:o.literal("type"),is:o.enum(["string","number","boolean","array","object"])}).strict(),o.object({property:o.literal("changed")}).strict(),o.object({property:o.literal("unchanged")}).strict(),o.object({property:o.literal("increased"),by:dE.optional()}).strict(),o.object({property:o.literal("decreased"),by:dE.optional()}).strict()])});function xO(t){if(t.kind!==void 0||typeof t[Bp]!="string")return t;let e={...t,kind:t[Bp]};return delete e[Bp],e}function AO(t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let n=xO(t),r=typeof n.kind=="string"?n.kind:"",i=_O[r],s=n;if(i!==void 0){s={...n};for(let[a,l]of Object.entries(i))s[a]!==void 0&&(s[l]===void 0&&(s[l]=s[a]),delete s[a])}return y.ELEMENT===r?yO(s):s}function yO(t){let e=SO.filter(i=>t[i]!==void 0);if(e.length===0)return t;let n={...t},r={};for(let i of e)r[i]=n[i],delete n[i];return n.query===void 0&&(n.query=r),n}function RO(){return o.discriminatedUnion("kind",[o.object({kind:o.literal(y.ELEMENT),query:id,state:o.nativeEnum(re).optional(),absent:o.boolean().optional()}).strict(),o.object({kind:o.literal(y.TEXT),contains:o.string().optional(),visible:o.boolean().optional(),absent:o.boolean().optional(),scope:o.string().optional(),self:o.boolean().optional(),satisfies:Hp.optional()}).strict(),o.object({kind:o.literal(y.NET),method:o.string().optional(),urlContains:o.string().optional(),status:o.number().optional(),ok:o.boolean().optional(),since:o.number().optional(),count:o.number().int().nonnegative().optional(),bodyContains:o.string().min(1).optional(),bodyMatches:o.record(o.string(),o.unknown()).optional(),requestBodyContains:o.string().min(1).optional(),requestBodyMatches:o.record(o.string(),o.unknown()).optional()}).strict(),o.object({kind:o.literal(y.ROUTE),pathname:o.string().optional(),contains:o.string().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.CONSOLE),level:o.string().optional(),contains:o.string().min(1).optional(),absent:o.boolean().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.ANIMATION),name:o.string().optional(),target:o.string().optional(),completed:o.boolean().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.SIGNAL),name:o.string().optional(),dataMatches:o.record(o.unknown()).optional(),count:o.number().int().nonnegative().optional(),since:o.number().optional()}).strict(),o.object({kind:o.literal(y.STATE),store:o.string().optional(),path:o.string(),equals:o.unknown().optional(),satisfies:Hp.optional()}).strict(),o.object({kind:o.literal(y.SETTLED),quietMs:o.number().positive().optional()}).strict(),o.object({kind:o.literal(y.COMPARE),left:$p,right:$p,as:o.enum([sd.VALUE,sd.NUMBER]).optional(),tolerance:o.number().finite().nonnegative().optional()}).strict(),o.object({kind:o.literal(y.ALL_OF),predicates:o.array(Ja).min(1)}).strict(),o.object({kind:o.literal(y.ANY_OF),predicates:o.array(Ja).min(1)}).strict(),o.object({kind:o.literal(y.NOT),predicate:Ja}).strict()])}function vO(t,e){if(typeof t!="object"||t===null)return;let n=t;if(y.COMPARE===n.kind){NO(t,e);return}y.TEXT===n.kind&&(n.contains===void 0&&n.satisfies===void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:"a text predicate must say WHAT about the text: `contains` for a substring, `satisfies` for a property of it. With neither it matches any element with any text and cannot fail"}),n.satisfies!==void 0&&n.contains===void 0&&n.scope===void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:"`satisfies` needs a subject: add `scope` (the element whose text is tested, with `self: true` to read the scope root itself) or a `contains` that selects one. Without either, the locator is every element on the page and the property would run against whichever one happened to match first"}))}function NO(t,e){lE(t.left,t.right)&&e.addIssue({code:o.ZodIssueCode.custom,message:"`left` and `right` read the same value, so this comparison agrees with itself on every page and cannot fail. Compare two different readings: what the page shows against what the server answered, or what was sent against what came back"}),t.tolerance!==void 0&&sd.NUMBER!==t.as&&e.addIssue({code:o.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var _O,Bp,SO,Ja,Gp=T(()=>{"use strict";ne();Dp();Ot();Up();ur();Fp();_O={[y.TEXT]:{text:"contains",value:"contains",query:"contains"},[y.ROUTE]:{path:"pathname",urlContains:"contains",url:"contains"},[y.NET]:{url:"urlContains",responseBodyMatches:"bodyMatches"},[y.CONSOLE]:{textContains:"contains"},[y.SIGNAL]:{data:"dataMatches"},[y.ALL_OF]:{of:"predicates"},[y.ANY_OF]:{of:"predicates"},[y.NOT]:{of:"predicate"}},Bp="type",SO=["by","value","role","name","text","label","placeholder","testid","alt","component"];Ja=o.lazy(()=>o.preprocess(AO,RO()).superRefine(vO))});function uE(t){return`${t} is an element ref, which only exists in the session that minted it \u2014 scope by a CSS selector or a testid so the flow can check it again`}function ad(t){let e=(n,r)=>r!==void 0&&OO.test(r)?`${n} "${r}"`:void 0;switch(t.kind){case y.ALL_OF:case y.ANY_OF:for(let n of t.predicates){let r=ad(n);if(r!==void 0)return r}return;case y.NOT:return ad(t.predicate);case y.TEXT:return e("text.scope",t.scope);case y.ELEMENT:return e("element.query.scope",t.query.scope);case y.ANIMATION:return e("animation.target",t.target);case y.COMPARE:for(let[n,r]of[["left",t.left],["right",t.right]]){if(y.TEXT!==r.from)continue;let i=e(`compare.${n}.scope`,r.scope);if(i!==void 0)return i}return;default:return}}var OO,jp=T(()=>{"use strict";ur();OO=/^e\d+$/});function fE(t){let e=[];if(t.signal!==void 0){let a={kind:y.SIGNAL,name:t.signal};t.signalData!==void 0&&(a.dataMatches=t.signalData),t.signalCount!==void 0&&(a.count=t.signalCount,e.push({kind:y.SETTLED})),e.push(a)}if(t.route!==void 0){let a={kind:y.ROUTE};return t.route.pathname!==void 0&&(a.pathname=t.route.pathname),t.route.contains!==void 0&&(a.contains=t.route.contains),a}if(t.net!==void 0){let a={kind:y.NET};t.net.method!==void 0&&(a.method=t.net.method),t.net.urlContains!==void 0&&(a.urlContains=t.net.urlContains),t.net.status!==void 0&&(a.status=t.net.status),t.net.count!==void 0&&(a.count=t.net.count,e.push({kind:y.SETTLED})),e.push(a)}if(t.console!==void 0){let a={kind:y.CONSOLE};t.console.level!==void 0&&(a.level=t.console.level),t.console.absent!==void 0&&(a.absent=t.console.absent,t.console.absent&&e.push({kind:y.SETTLED})),e.push(a)}let n=t.state;if(n!==void 0){let a={kind:y.STATE,path:n.path};n.store!==void 0&&(a.store=n.store),n.equals!==void 0&&(a.equals=n.equals),n.hold===!0&&e.push({kind:y.SETTLED}),e.push(a)}let r=t.element;if(r!==void 0){let a={};r.testid!==void 0&&(a.testid=r.testid),r.role!==void 0&&(a.role=r.role),r.name!==void 0&&(a.name=r.name),Object.keys(a).length>0&&e.push({kind:y.ELEMENT,query:a})}let i=t.text;if(i!==void 0){let a={kind:y.TEXT,contains:i.contains};i.scope!==void 0&&(a.scope=i.scope),i.visible!==void 0&&(a.visible=i.visible),i.absent===!0&&(a.absent=!0,e.push({kind:y.SETTLED})),e.push(a)}let[s]=e;if(e.length!==0)return e.length===1&&s!==void 0?s:{kind:y.ALL_OF,predicates:e}}var pE,Vp=T(()=>{"use strict";ne();ur();pE=o.object({route:o.object({pathname:o.string().optional(),contains:o.string().optional()}).optional(),signal:o.string().optional(),signalData:o.record(o.unknown()).optional(),signalCount:o.number().int().nonnegative().optional(),net:o.object({method:o.string().optional(),urlContains:o.string().optional(),status:o.number().optional(),count:o.number().int().nonnegative().optional()}).strict().optional(),console:o.object({level:o.string().optional(),absent:o.boolean().optional()}).strict().optional(),element:o.object({testid:o.string().optional(),role:o.string().optional(),name:o.string().optional()}).strict().optional(),text:o.object({contains:o.string().min(1),scope:o.string().optional(),absent:o.boolean().optional(),visible:o.boolean().optional()}).strict().optional(),state:o.object({store:o.string().optional(),path:o.string(),equals:o.unknown().optional(),hold:o.boolean().optional()}).strict().optional()}).strict()});var mE,wO,Kp,hE,CO,gE,IO,JP,EE=T(()=>{"use strict";ne();qa();Ep();Ot();Gp();jp();Vp();qa();mE=o.discriminatedUnion("kind",[o.object({kind:o.literal(Zt.TESTID),value:o.string().min(1),source:o.object({file:o.string(),line:o.number(),column:o.number().optional()}).optional()}),o.object({kind:o.literal(Zt.ROLE),role:o.string().min(1),name:o.string().optional()}),o.object({kind:o.literal(Zt.SIGNAL),name:o.string().min(1)}),o.object({kind:o.literal(Zt.COMPONENT),component:o.string().optional(),source:o.object({file:o.string(),line:o.number(),column:o.number().optional()}).optional(),role:o.string().optional(),name:o.string().optional()})]),wO=Ja.superRefine((t,e)=>{let n=ad(t);n!==void 0&&e.addIssue({code:o.ZodIssueCode.custom,message:uE(n)})}),Kp=o.union([wO,pE.transform(t=>fE(t))]),hE=o.array(Kp).transform(t=>t.filter(e=>e!==void 0)),CO=o.object({tool:o.string(),anchor:mE,source:o.object({file:o.string().min(1),line:o.number().int().positive().optional()}).optional(),id:o.string().min(1).optional(),effect:o.nativeEnum(Lg).optional(),healed:o.object({from:o.string(),at:o.number()}).optional(),action:o.nativeEnum(R).optional(),args:o.record(o.unknown()).optional(),expect:Kp.optional(),degraded:o.boolean().optional(),timeoutMs:o.number().int().positive().optional(),invoke:o.string().min(1).optional(),page:o.string().optional(),endPage:o.string().optional()}),gE=CO.extend({steps:o.lazy(()=>o.array(gE).optional())}),IO=o.object({version:o.number().int().refine(t=>Cg.has(t)),name:o.string(),intent:o.string().optional(),intentId:o.string().optional(),projectId:o.string().optional(),startPath:o.string().optional(),fixture:o.string().optional(),requires:hE.optional(),ensures:hE.optional(),author:o.object({agent:o.string().min(1).optional(),person:o.string().min(1).optional()}).optional(),createdAt:o.number(),steps:o.array(gE),signalTimeoutMs:o.number().int().positive().optional(),success:Kp.optional(),dynamic:o.array(mE).optional(),labels:o.array(o.string().min(1)).optional(),needs:o.array(o.string().min(1)).optional(),status:o.enum([zl.ACTIVE,zl.QUARANTINED,zl.DRAFT]).optional(),learned:o.array(o.object({kind:o.string().min(1),step:o.number().int().min(-1),state:o.enum(["open","guarded"]),cleanRuns:o.number().int().nonnegative().optional()})).optional(),knownBugs:o.array(o.object({id:o.string().min(1),summary:o.string().min(1),assertions:o.array(o.string())})).optional(),quarantine:o.object({reason:o.string().min(1),since:o.string().min(1),owner:o.string().min(1),until:o.string().optional()}).optional()}),JP=o.object({name:o.string(),flow:IO})});var bE=T(()=>{"use strict"});var TE=T(()=>{"use strict"});var _E=T(()=>{"use strict"});var cd,ld,SE,xE=T(()=>{"use strict";cd="data-reticle-source",ld="__RETICLE_ROOT__",SE="__RETICLE_SDK_VERSION__"});var AE,yE=T(()=>{"use strict";Ot();AE=new Set([b.DOM_TEXT,b.ANIM_START,b.ANIM_END,b.RENDER_COMMIT,b.PAGE_HEALTH,b.SCROLL_POSITION])});function Wp(t){let e=t.text;if(typeof e=="string"&&0<e.length)return e;let n=t.key;return typeof n=="string"&&0<n.length?n:LO}function MO(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function RE(t){return MO(t)?!0:DO.has(Wp(t).toLowerCase())}var LO,kO,DO,vE=T(()=>{"use strict";LO="Enter",kO=["Escape","Tab"],DO=new Set(kO.map(t=>t.toLowerCase()))});var Ye,l$,NE=T(()=>{"use strict";Xo();Ye={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},l$={[$e.ASSERTION_FAILED]:Ye.CODE,[$e.CONTRADICTED]:Ye.CODE,[$e.OUTCOME_PENDING]:Ye.ENVIRONMENT,[$e.UNSETTLED]:Ye.ENVIRONMENT,[$e.VERSION_SKEW]:Ye.HARNESS,[$e.WINDOW_CLOSED_EARLY]:Ye.HARNESS,[$e.NOTHING_DECLARED]:Ye.HARNESS,[$e.VACUOUS_GRADE]:Ye.HARNESS,[$e.ALREADY_TRUE]:Ye.HARNESS,[$e.CAPABILITY_ABSENT]:Ye.COULD_NOT_SEE,[$e.OBSERVATION_LOST]:Ye.COULD_NOT_SEE,[$e.UNCLEAN_CAPTURE]:Ye.COULD_NOT_SEE,[$e.EVIDENCE_INCOMPLETE]:Ye.COULD_NOT_SEE,[$e.ABSENCE_BLIND_SPOT]:Ye.COULD_NOT_SEE,[$e.OUTCOME_UNREAD]:Ye.COULD_NOT_SEE,[$e.INCONCLUSIVE]:Ye.COULD_NOT_SEE,[$e.PROVED]:Ye.NONE}});var Zo,PO,$O,UO,p$,OE=T(()=>{"use strict";ne();Zo={CONNECTING:"connecting",WAITING_FOR_APP:"waiting_for_app",FLOWS_FOUND:"flows_found",FLOW_STARTED:"flow_started",FLOW_FINISHED:"flow_finished",GRADING:"grading",PUSHED:"pushed"},PO=120,$O=200,UO=o.object({phase:o.enum([Zo.CONNECTING,Zo.WAITING_FOR_APP,Zo.FLOWS_FOUND,Zo.FLOW_STARTED,Zo.FLOW_FINISHED,Zo.GRADING,Zo.PUSHED]),index:o.number().int().nonnegative().optional(),total:o.number().int().nonnegative().optional(),name:o.string().max(PO).optional(),ok:o.boolean().optional(),at:o.number().int().nonnegative()}),p$=o.object({runId:o.string().min(1).max(200),events:o.array(UO).max($O)})});function wE(t){return t===Re.ACTIVE||t===Re.PAUSED||t===Re.ENDED}var Re,ec,$n,Qo,CE,IE,ps,zp=T(()=>{"use strict";Re={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};ec="auto",$n={PAUSE:"pause",RESUME:"resume",END:"end",MESSAGE:"message",REPLAY:"replay",SYNC:"sync",HARNESS:"harness"},Qo={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"},CE={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},IE={IDLE_END_MS:3e5,IDLE_END_MIN_MS:5e3,REAP_INTERVAL_MS:5e3,BRIDGE_LOST_MS:15e3,DAEMON_IDLE_SHUTDOWN_MS:3e5,DAEMON_IDLE_CHECK_MS:3e4},ps={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var Zr,Qr,tc,Yp=T(()=>{"use strict";Zr={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},Qr={CHAT:"chat",SETTINGS:"settings",REPORT:"report",NONE:"none"},tc={ON:"on",OFF:"off"}});var fs,kE,DE,LE,g$,ME=T(()=>{"use strict";fs="https://calendar.app.google/h9NRDbBBQetyTzWM6",kE="hey@reticle.sh",DE="mailto:hey@reticle.sh?subject=Reticle%20feedback",LE="npx @reticlehq/server identify --context company --email you@company.com",g$={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${fs} \xB7 or leave your email: ${LE}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${fs}) or the email command (${LE}). Offer it; never book a call or submit an email for them.`}});function PE(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*qp.length);e+=qp[Math.min(Math.max(r,0),qp.length-1)]}return e}var qp,$E=T(()=>{"use strict";qp="0123456789abcdefghijklmnopqrstuvwxyz"});var UE=T(()=>{"use strict"});var En,Xp,nc,HO,_$,HE,dd,FE,Zp,ud,pd=T(()=>{"use strict";En={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},Xp="ipc://",nc={OK:200,ERROR:500},HO={NEXT_DEV_OVERLAY:"/__nextjs",NEXT_HMR:"/_next/webpack-hmr",NEXT_HMR_CHUNKS:"/_next/static/webpack/",WEBPACK_HOT_UPDATE:".hot-update.",VITE_CLIENT:"/@vite/",VITE_REACT_REFRESH:"/@react-refresh",VITE_PING:"/__vite_ping"},_$=Object.values(HO),HE="urlRaw",dd="requestShape",FE="none",Zp="Next-Action",ud="nextAction"});function Qp(t){return FO.test(t)}function BE(t){let e=new Set;for(let n of t??[]){let r=n.trim().toLowerCase();r.length>0&&e.add(r)}return e}function GE(t,e){let n=BE(t?.keys?.filter(a=>typeof a=="string")),r=(t?.keys??[]).filter(a=>a instanceof RegExp),i=BE(t?.allow),s=[...i].filter(a=>Qp(a)&&!n.has(a));return s.length>0&&e!==void 0&&e(`[reticle] redact.allow is exempting ${s.join(", ")} from redaction. The default rule treats ${s.length===1?"that key":"those keys"} as a credential, so ${s.length===1?"its value":"their values"} will now reach the agent transcript and the on-disk journal in cleartext.`),{isSensitiveKey:a=>{let l=a.toLowerCase();if(n.has(l))return!0;for(let d of r)if(d.lastIndex=0,d.test(a))return!0;return i.has(l)?!1:Qp(a)}}}function jE(t){Jp=t}function He(t){return Jp===void 0?Qp(t):Jp.isSensitiveKey(t)}function jO(t){return new TextEncoder().encode(t).byteLength}function VO(t){if(!/^data:/i.test(t))return;let e=t.indexOf(","),n=e===-1?t.slice(5):t.slice(5,e),[r="",...i]=n.split(";"),s=/^[\w.+-]+\/[\w.+-]+$/.test(r)?r:"text/plain",a=i.some(d=>d.toLowerCase()==="base64")?";base64":"",l=e===-1?"":t.slice(e+1);return`data:${s}${a},<\u2026${String(jO(l))} bytes\u2026>`}function fd(t,e=He){let n=VO(t);if(n!==void 0)return n;let r=t.indexOf("#"),i=r===-1?"":t.slice(r),s=r===-1?t:t.slice(0,r),a=s.indexOf("?"),l=a===-1?s:s.slice(0,a),d=a===-1?"":s.slice(a+1),u=!1,f=l,g=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);g!==null&&(f=`${g[1]??""}${ye}@${l.slice(g[0].length)}`,u=!0);let E=d;if(d!==""){let L=new URLSearchParams(d),G=!1;for(let $ of[...L.keys()])e($)&&(L.set($,ye),G=!0);G&&(E=L.toString(),u=!0)}let _=f.split("/");for(let L=0;L+1<_.length;L++){let G=_[L],$=_[L+1];G!==void 0&&$!==void 0&&$.length>=GO&&BO.test(G)&&(_[L+1]=ye,u=!0)}let S=i;if(i.length>1&&(S=i.replace(/(^|[#&?/])([A-Za-z0-9_.-]+)=([^&\s]+)/g,(L,G,$)=>e($)?`${G}${$}=${ye}`:L),S!==i&&(u=!0)),!u)return t;let U=a===-1?"":`?${E}`;return`${_.join("/")}${U}${S}`}function Un(t,e=He){let n=fd(t,e);return n===t?{url:n}:{url:n,[HE]:t}}function VE(t){let e=new Set,n=[];for(let r of t?.keys??[]){if(typeof r!="string")continue;let i=r.trim();if(i.length===0||i.length>tf)continue;let s=i.toLowerCase();if(!e.has(s)&&(e.add(s),n.push(i),n.length>=ef))break}return n}function Jo(t){return t.replace(KO,ye)}var FO,Jp,BO,GO,ef,tf,KO,nf=T(()=>{"use strict";Ot();pd();FO=/password|passwd|passcode|pass[-_]?phrase|(?:otp|totp|mfa|recovery|backup)[-_]?codes?|(?:^|[-_])(?:otp|totp)(?=$|[-_])|secret|(?:(?:access|refresh|auth|bearer|api|id|session|csrf|client)[-_]?tokens?|(?:^|[-_])tokens?(?=$|[-_]))|session[-_]?id|(?:^|[-_])(?:sid|pwd|jwt)(?=$|[-_])|authorization|(?:^|[-_])(?:set[-_])?cookie(?=$|[-_])|api[-_]?key|access[-_]?key|private[-_]?key|client[-_]?secret|credit[-_]?card|card[-_]?(?:number|num|no|pan)(?=$|[-_])|(?:^|[-_])(?:card|pan)(?=$|[-_])|cvv|cvc|ssn|(?:^|[-_])(?:signature|sig)$|(?:^|[-_])credential$|x-(?:amz|goog)-(?:signature|credential|security-token)$/i;BO=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,GO=12;ef=64,tf=128;KO=/eyJ[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}|(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{10,}|sk-(?:ant|proj|svcacct|admin)-[A-Za-z0-9_-]{20,}|(?:AKIA|ASIA)[0-9A-Z]{16}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{22,}|AIza[0-9A-Za-z_-]{35}|xox[baprs]-[A-Za-z0-9-]{10,}|ya29\.[A-Za-z0-9._-]{20,}/g});var Hn,hd=T(()=>{"use strict";Hn={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function rf(){return[A.UI,A.NET,A.STATE,A.SIGNAL,A.LOG,A.ROUTE,A.TIME]}var O$,w$,md=T(()=>{"use strict";Qa();ur();O$={[y.ELEMENT]:[A.UI],[y.TEXT]:[A.UI],[y.SIGNAL]:[A.SIGNAL],[y.NET]:[A.NET],[y.STATE]:[A.STATE],[y.ROUTE]:[A.ROUTE],[y.CONSOLE]:[A.LOG],[y.ANIMATION]:[A.UI,A.TIME],[y.SETTLED]:[A.TIME,A.NET],[y.COMPARE]:[A.UI,A.NET,A.STATE,A.SIGNAL],[y.ALL_OF]:rf(),[y.ANY_OF]:rf(),[y.NOT]:rf()};w$=Object.fromEntries(Object.entries(_p).map(([t,e])=>[t,e.independence]))});var gd,KE,WO,WE,zE,YE,zO,YO,sf,qO,XO,H$,af=T(()=>{"use strict";ne();Yp();Ot();zp();nf();hd();md();gd=o.string().min(1).max(H.MAX_SESSION_ID_LENGTH),KE=o.string().max(H.MAX_REF_LENGTH),WO=o.string().min(1).max(8),WE=o.object({kind:o.nativeEnum($n),text:o.string().optional()}),zE=o.object({control:o.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:o.nativeEnum(tc).optional(),view:o.nativeEnum(Zr).optional(),panel:o.nativeEnum(Qr).optional()}),YE=o.object({note:o.string().min(1).max(H.MAX_MARK_NOTE_LENGTH),anchor:o.string().max(H.MAX_REF_LENGTH),strategy:o.nativeEnum(Qo),label:o.string().max(H.MAX_MARK_LABEL_LENGTH).optional(),source:o.object({file:o.string().max(H.MAX_URL_LENGTH),line:o.number().int().min(0)}).optional(),route:o.string().max(H.MAX_URL_LENGTH).optional()}),zO=o.object({t:o.number(),type:o.nativeEnum(b),sessionId:gd,ref:KE.optional(),seq:o.number().int().min(0).optional(),actionId:KE.optional(),attribution:o.nativeEnum(Ug).optional(),documentId:WO.optional(),editEpoch:o.number().int().min(0).optional(),data:o.record(o.unknown()).default({})}),YO=o.object({kind:o.literal(ft.HELLO),protocolVersion:o.number().int().min(Dg).max(ql),sessionId:gd,url:o.string().max(H.MAX_URL_LENGTH),title:o.string().max(H.MAX_TITLE_LENGTH),projectId:gd.optional(),adapters:o.array(o.string().max(H.MAX_ADAPTER_NAME_LENGTH)).max(H.MAX_ADAPTERS),token:o.string().max(H.MAX_TOKEN_LENGTH).optional(),platform:o.nativeEnum(Hn).optional(),channels:o.array(o.nativeEnum(A)).max(H.MAX_ADAPTERS).optional(),commands:o.array(o.string().max(H.MAX_TOKEN_LENGTH)).max(H.MAX_ADAPTERS).optional(),contractParts:o.object({commands:o.array(o.string()).max(H.MAX_CONTRACT_NAMES),events:o.array(o.string()).max(H.MAX_CONTRACT_NAMES),actions:o.array(o.string()).max(H.MAX_CONTRACT_NAMES)}).optional(),hasCapabilities:o.boolean().optional(),captureBodies:o.boolean().optional(),sourceMapping:o.boolean().optional(),sdkVersion:o.string().max(H.MAX_ADAPTER_NAME_LENGTH).optional(),contract:o.string().max(H.MAX_ADAPTER_NAME_LENGTH).optional(),redactKeys:o.array(o.string().min(1).max(tf)).max(ef).optional()}),sf=o.object({kind:o.literal(ft.COMMAND),id:o.string().min(1).max(H.MAX_COMMAND_ID_LENGTH),sessionId:gd.optional(),name:o.string().min(1).max(H.MAX_COMMAND_NAME_LENGTH),args:o.record(o.unknown()).default({})}),qO=o.object({kind:o.literal(ft.COMMAND_RESULT),id:o.string().min(1).max(H.MAX_COMMAND_ID_LENGTH),ok:o.boolean(),result:o.unknown().optional(),error:o.string().max(H.MAX_ERROR_LENGTH).optional()}),XO=o.object({kind:o.literal(ft.EVENT),event:zO}),H$=o.discriminatedUnion("kind",[YO,sf,qO,XO])});var ZO,QO,Jr,JO,Ne,ew,tw,nw,rw,ow,iw,cf,qE,sw,XE,hs=T(()=>{"use strict";ne();ZO={AGENT:"agent",HUMAN:"human"},QO={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},Jr={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},JO={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},Ne={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},ew={CDP:"cdp",SDK:"sdk"},tw={USER:"user",PROJECT:"project"},nw=4e3,rw=8e3,ow=1,iw=5,cf=1e3,qE=o.object({source:o.nativeEnum(ZO),kind:o.nativeEnum(QO),text:o.string().min(1).max(nw),trace:o.string().max(rw).optional(),rating:o.number().int().min(ow).max(iw).optional(),need:o.string().max(cf).optional(),impact:o.string().max(cf).optional(),currentApproach:o.string().max(cf).optional(),model:o.string().min(1).max(64).optional(),clientVersion:o.string().min(1).max(32).optional(),stack:o.string().min(1).max(64).optional(),stackMajor:o.number().int().nonnegative().optional(),runtime:o.nativeEnum(Jr).optional(),engine:o.nativeEnum(JO).optional(),driver:o.nativeEnum(ew).optional(),client:o.string().min(1).max(64).optional(),mcpScope:o.nativeEnum(tw).optional()}),sw={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},XE=o.object({context:o.nativeEnum(sw),company:o.string().min(1).max(128).optional(),email:o.string().min(3).max(254).optional()})});var Fn,Bn,bd,ei,aw,cw,q$,Ed,lw,dw,uw,rc,X$,ZE=T(()=>{"use strict";ne();Ot();Xo();hs();af();pd();Fn={SSE:"sse",WS:"ws",FETCH:"fetch"},Bn={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},bd={UP:"up",DOWN:"down"},ei={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},aw=o.object({name:o.string().describe("Cookie name."),value:o.string().describe("Cookie value."),domain:o.string().optional().describe("Cookie domain. Defaults to the navigation URL domain."),path:o.string().optional().describe('Cookie path. Defaults to "/".'),url:o.string().optional().describe("Cookie URL. Defaults to the navigation URL."),httpOnly:o.boolean().optional().describe("Whether the cookie is httpOnly."),secure:o.boolean().optional().describe("Whether the cookie is secure."),sameSite:o.enum(["Strict","Lax","None"]).optional().describe("SameSite policy."),expires:o.number().optional().describe("Unix timestamp in seconds for cookie expiration.")}),cw=o.union([o.record(o.string()),o.array(aw)]),q$=o.object({local:o.record(o.string()).optional().describe("Key-value pairs to seed into window.localStorage before first navigation."),session:o.record(o.string()).optional().describe("Key-value pairs to seed into window.sessionStorage before first navigation."),cookies:cw.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),Ed=o.object({role:o.string().optional(),name:o.string().optional()}),lw=o.object({mimeType:o.string(),bytes:o.number(),filename:o.string().optional(),lines:o.number().optional(),preview:o.string().optional(),previewTruncated:o.boolean().optional()}).passthrough(),dw=o.object({transport:o.nativeEnum(Fn),direction:o.nativeEnum(Bn),url:o.string()}).passthrough(),uw=o.object({id:o.string(),method:o.string(),url:o.string(),status:o.number(),ok:o.boolean(),durationMs:o.number(),initiator:o.string(),urlRaw:o.string().optional(),[ud]:o.string().optional(),[dd]:o.string().optional()}).passthrough(),rc=o.object({message:o.string()}).passthrough(),X$={[b.DOM_ADDED]:Ed,[b.DOM_REMOVED]:Ed,[b.DOM_ATTR]:o.object({attr:o.string(),value:o.string().optional(),old:o.string().optional()}).passthrough(),[b.DOM_TEXT]:o.object({text:o.string(),old:o.string().optional()}),[b.NET_REQUEST]:uw,[b.NET_PENDING]:o.object({id:o.string(),method:o.string(),url:o.string(),initiator:o.string(),urlRaw:o.string().optional()}),[b.NET_STREAM]:dw,[b.DOWNLOAD]:lw,[b.PERF]:o.object({metric:o.nativeEnum(as),value:o.number(),at:o.number()}),[b.ROUTE_CHANGE]:o.object({from:o.string(),to:o.string(),pathname:o.string(),search:o.string(),hash:o.string()}),[b.CONSOLE_LOG]:rc,[b.CONSOLE_WARN]:rc,[b.CONSOLE_ERROR]:rc,[b.CONSOLE_INFO]:rc,[b.CONSOLE_DEBUG]:rc,[b.ERROR_UNCAUGHT]:o.object({message:o.string(),source:o.string().optional(),line:o.number().optional(),kind:o.string().optional()}).passthrough(),[b.VISIBLE_SHOWN]:Ed,[b.ANIM_START]:o.object({name:o.string()}),[b.ANIM_END]:o.object({name:o.string()}),[b.SCROLL_POSITION]:o.object({x:o.number(),y:o.number(),percent:o.number(),direction:o.nativeEnum(bd)}),[b.REVEAL_SHOWN]:Ed.passthrough(),[b.SIGNAL]:o.object({name:o.string(),data:o.unknown().optional()}),[b.STATE_CHANGE]:o.object({name:o.string(),value:o.unknown()}).passthrough(),[b.STORAGE_CHANGE]:o.object({area:o.nativeEnum(ei),key:o.string(),old:o.string().optional(),new:o.string().optional()}),[b.PAGE_HEALTH]:o.object({hidden:o.boolean(),focused:o.boolean(),reason:o.string().optional(),brand:o.nativeEnum(Ne).optional(),runtime:o.string().optional(),engine:o.string().optional()}).passthrough(),[b.CONTEXT_OPENED]:o.object({href:o.string().optional()}).passthrough(),[b.DIALOG_OPENED]:o.object({kind:o.enum(["alert","confirm","prompt"]),message:o.string().optional(),answered:o.union([o.boolean(),o.null()]).optional()}).passthrough(),[b.RENDER_COMMIT]:o.object({commits:o.number()}),[b.FOCUS_CHANGE]:o.object({to:o.string().optional(),from:o.string().optional(),toBody:o.boolean()}),[b.FIELD_CHANGE]:o.object({field:o.string(),kind:o.enum(["input","change"]),length:o.number().int().nonnegative(),value:o.string().optional(),redacted:o.literal(!0).optional()}),[b.FLOW_RECORDED]:o.object({name:o.string(),flow:o.unknown()}),[b.TRANSPORT_OVERFLOW]:o.object({dropped:o.number()}),[b.TRUNCATED]:o.object({channel:o.string(),dropped:o.number()}),[b.BLIND_SPOT]:o.object({kind:o.nativeEnum(mt),count:o.number()}),[b.SDK_FAILED]:o.object({site:o.string().max(64),message:o.string().max(500),errorType:o.string().max(64).optional()}),[b.NET_DETAIL]:o.object({url:o.string(),method:o.string().optional(),status:o.number(),headers:o.record(o.string()),resourceType:o.string().optional()}).passthrough(),[b.HUMAN_CONTROL]:WE,[b.HUMAN_MARK]:YE,[b.HUD_USED]:zE}});var J$,QE=T(()=>{"use strict";Ot();J$=new Set([b.NET_REQUEST,b.NET_PENDING,b.NET_STREAM,b.NET_DETAIL,b.CONSOLE_ERROR,b.CONSOLE_WARN,b.ERROR_UNCAUGHT,b.ROUTE_CHANGE,b.SIGNAL,b.STORAGE_CHANGE,b.FLOW_RECORDED,b.TRANSPORT_OVERFLOW,b.TRUNCATED,b.BLIND_SPOT])});var JE=T(()=>{"use strict"});var eb,tb=T(()=>{"use strict";eb=t=>t});var ue,iU,sU,aU,nb=T(()=>{"use strict";md();ue={UI_ADVANCED_REQUEST_FAILED:"ui-advanced-request-failed",SIGNAL_CONTRADICTED:"signal-contradicted",RESPONSE_IGNORED:"response-ignored",SIGNAL_WITHOUT_CONSEQUENCE:"signal-without-consequence",STATE_VS_RENDER:"state-vs-render",CONSEQUENCE_ELSEWHERE:"consequence-elsewhere",DUPLICATE_REQUEST:"duplicate-request",DUPLICATE_REQUEST_UNRELATED:"duplicate-request-unrelated",STALE_RESPONSE_APPLIED:"stale-response-applied",PARTIAL_FAILURE_IN_OK_RESPONSE:"partial-failure-in-ok-response",UNIT_MISMATCH:"unit-mismatch",WRITE_FIELD_IGNORED:"write-field-ignored",REQUEST_NEVER_SETTLED:"request-never-settled",FAILURE_MISATTRIBUTED:"failure-misattributed",ACTION_HAD_NO_EFFECT:"action-had-no-effect",ROUTE_RENDERED_NOTHING:"route-rendered-nothing",ROUTE_RENDERED_NOTHING_CRASHED:"route-rendered-nothing-crashed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},iU=new Set([ue.REQUEST_NEVER_SETTLED,ue.RESPONSE_IGNORED,ue.SIGNAL_WITHOUT_CONSEQUENCE,ue.STATE_VS_RENDER,ue.CONSEQUENCE_ELSEWHERE,ue.ROUTE_RENDERED_NOTHING,ue.ACTION_HAD_NO_EFFECT,ue.DUPLICATE_REQUEST,ue.EVIDENCE_SUPERSEDED,ue.EVIDENCE_PREDATES_EDIT]),sU=new Set([ue.DUPLICATE_REQUEST_UNRELATED]),aU={[ue.UI_ADVANCED_REQUEST_FAILED]:[A.UI,A.NET],[ue.SIGNAL_CONTRADICTED]:[A.SIGNAL,A.NET],[ue.RESPONSE_IGNORED]:[A.NET,A.UI],[ue.SIGNAL_WITHOUT_CONSEQUENCE]:[A.SIGNAL,A.NET],[ue.STATE_VS_RENDER]:[A.STATE,A.UI],[ue.CONSEQUENCE_ELSEWHERE]:[A.NET,A.UI],[ue.DUPLICATE_REQUEST]:[A.NET,A.NET],[ue.DUPLICATE_REQUEST_UNRELATED]:[A.NET,A.NET],[ue.STALE_RESPONSE_APPLIED]:[A.NET,A.UI],[ue.PARTIAL_FAILURE_IN_OK_RESPONSE]:[A.NET,A.NET],[ue.UNIT_MISMATCH]:[A.UI,A.NET],[ue.WRITE_FIELD_IGNORED]:[A.NET,A.NET],[ue.REQUEST_NEVER_SETTLED]:[A.TIME,A.NET],[ue.FAILURE_MISATTRIBUTED]:[A.UI,A.NET],[ue.ACTION_HAD_NO_EFFECT]:[A.NET,A.UI],[ue.ROUTE_RENDERED_NOTHING]:[A.ROUTE,A.NET],[ue.ROUTE_RENDERED_NOTHING_CRASHED]:[A.ROUTE,A.LOG],[ue.EVIDENCE_SUPERSEDED]:[A.TIME,A.UI],[ue.EVIDENCE_PREDATES_EDIT]:[A.TIME,A.UI]}});var eo,Td,dU,uU,rb=T(()=>{"use strict";Ot();eo="__reticleIpc",Td="reticle_capture",dU=ss.FULL_PAGE_UNSUPPORTED,uU=ss.NOT_COMPOSITED});var ob=T(()=>{"use strict"});function ib(t){return t===ms.CALM||t===ms.WAITING||t===ms.ASK||t===ms.WARN}var ms,sb,hU,mU,ab=T(()=>{"use strict";ms={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};sb="note that a lease is a SEPARATE context: the human watching this tab sees nothing of what you do there, so prefer this tab while someone is following along",hU='tab hidden and may be un-focusable from here; timers and rAF are clamped in a background tab, so an action can land on a page that never advances. Refocus it, or acquire a guaranteed scriptable context yourself with `reticle_run { tool: "reticle_lease", args: { action: "acquire", url } }` (a human can equivalently run `reticle drive <url>`) \u2014 '+sb,mU="tab is not hidden but has not reported health recently \u2014 usually a quiet page rather than a stuck one, and very often still driveable. This is also the tab a human can see, so try it first. Timing-sensitive work (animations, debounces, gestures) is what degrades: pass `refuseWhenThrottled: true` to refuse rather than act over events that may not land. Lease a separate context only if a drive here actually fails; "+sb});var cb,SU,xU,AU,lb=T(()=>{"use strict";ne();Ot();Xo();ur();cb=1,SU=o.object({v:o.literal(cb),actionId:o.string().min(1).max(H.MAX_REF_LENGTH),tool:o.string().min(1).max(H.MAX_COMMAND_NAME_LENGTH),args:o.record(o.unknown()).default({}),effect:o.unknown().optional(),settled:o.boolean().optional(),settledInMs:o.number().int().min(0).optional(),seqRange:o.object({from:o.number().int().min(0),to:o.number().int().min(0)}).optional(),tRange:o.object({from:o.number().int().min(0),to:o.number().int().min(0)}),at:o.number().int().min(0)}),xU=o.object({v:o.literal(cb),channel:o.literal(Ql.JOURNAL),capBytes:o.number().int().min(1).optional(),bytesOnDisk:o.number().int().min(0).optional(),droppedInBatch:o.number().int().min(0).optional(),at:o.number().optional()}),AU=o.object({claim:o.string().min(1).max(H.MAX_STRING_LENGTH),verified:o.nativeEnum(us),source:o.string().max(H.MAX_URL_LENGTH).optional(),kind:o.nativeEnum(y).optional(),declaredBeforeActing:o.boolean().optional(),grade:o.string().max(H.MAX_STRING_LENGTH).optional(),couldNotSee:o.array(o.string().max(H.MAX_STRING_LENGTH)).optional(),reason:o.string().max(H.MAX_STRING_LENGTH).optional()})});var db=T(()=>{"use strict"});var NU,ub=T(()=>{"use strict";ne();NU=o.object({port:o.number(),pid:o.number(),cwd:o.string(),projectId:o.string().optional(),startedAt:o.number()})});var CU,pb=T(()=>{"use strict";ne();CU=o.object({port:o.number(),pid:o.number(),root:o.string(),url:o.string(),sdkVersion:o.string().min(1).optional(),startedAt:o.number(),projectId:o.string().optional()})});var pw,kU,fb=T(()=>{"use strict";ne();pw=o.object({directory:o.string().min(1),lastSeenAt:o.number()}),kU=o.object({version:o.literal(1),projects:o.record(o.string(),pw)})});var fw,lf,hw,mw,gw,PU,hb=T(()=>{"use strict";ne();fw=1,lf={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},hw=o.object({route:o.string().optional(),flow:o.string().optional(),files:o.array(o.string()).optional()}),mw=o.object({verdictId:o.string(),grade:o.string(),at:o.number()}),gw=o.object({id:o.string().min(1),statement:o.string().min(1),state:o.enum([lf.DECLARED,lf.BOUND,lf.PROVED]),declaredAt:o.number(),binding:o.unknown().optional(),surface:hw.optional(),provenBy:mw.optional(),amended:o.array(o.object({statement:o.string(),at:o.number()})).optional()}),PU=o.object({version:o.literal(fw),intents:o.record(o.string(),gw)})});var mb=T(()=>{"use strict"});var fr,HU,gb=T(()=>{"use strict";fr={NO_SOURCE_MAPPING:"no-source-mapping",NO_STORE_REGISTERED:"no-store-registered",NO_SIGNAL_ON_MUTATION:"no-signal-on-mutation",UNDECLARED_CONTROL:"undeclared-control",MISSING_TESTID:"missing-testid",UNDECLARED_CHANGE:"undeclared-change",INTENT_UNDISCHARGED:"intent-undischarged",NO_FLOW_INTENT:"no-flow-intent",SOURCE_MAPPING_OFF:"source-mapping-off"},HU={[fr.NO_SOURCE_MAPPING]:"add the Reticle build plugin (@reticlehq/vite-plugin, @reticlehq/next, or the babel plugin) so elements carry data-reticle-source",[fr.NO_STORE_REGISTERED]:"register the store itself with reticle.registerStore(name, store), or registerStore(name, getState, subscribe), so its changes are observed \u2014 a bare getter can be read but never reports a change",[fr.NO_SIGNAL_ON_MUTATION]:"fire reticle.signal(name, data) where this state is committed \u2014 commitAndSignal binds the two so they cannot drift",[fr.UNDECLARED_CONTROL]:"add this control to reticle.describe() so the capability contract matches what the app actually exposes",[fr.MISSING_TESTID]:'add data-testid="..." on this control so the flow can name it after a refactor',[fr.UNDECLARED_CHANGE]:'declare it with reticle_intent { action: "declare", intents: [{ id, statement }] } \u2014 the statement is prose, in your own words: which user does what, and what should become true',[fr.INTENT_UNDISCHARGED]:'draw a verdict whose `until` asserts the intent itself, then it discharges \u2014 or call reticle_run({ tool: "reticle_context" }) to see exactly what is still owed',[fr.SOURCE_MAPPING_OFF]:"nothing to install \u2014 this build has sourceMapping turned off, so no element carries data-reticle-source. Re-enable it in the Reticle plugin options unless this app renders through a non-DOM reconciler (react-three-fiber, react-pdf, ink), where the stamp is what would break it",[fr.NO_FLOW_INTENT]:'save it again with intent: "<which user does what, and what should become true>" \u2014 prose, in your own words \u2014 or set intentId to an intent already in the ledger'}});function df(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(Tw.includes(e))return!0;let n=e.split(".");return Sw===n.length&&_w===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let i=Number(r);return i>=0&&i<=xw})}function Eb(t,e){return df(e)||Aw.includes(t.toLowerCase())?!0:e.toLowerCase()===yw}function bb(t,e){return e!==void 0&&bw.has(e.trim().toLowerCase())?!1:Ew.test(t.replace(/[_-]+/g," "))}var Ew,bw,Tw,_w,Sw,xw,Aw,yw,Tb=T(()=>{"use strict";Ew=/\b(delete|remove|destroy|erase|drop|terminate|revoke|reset|close account|cancel subscription|purchase|buy|pay|payment|place order|confirm order|send money|send funds|transfer|withdraw|refund)\b/i,bw=new Set(["option","radio"]),Tw=["localhost","::1","0:0:0:0:0:0:0:1"],_w="127",Sw=4,xw=255;Aw=["file:","app:","tauri:"],yw="tauri.localhost"});function Rw(t){return Array.isArray(t)||typeof t=="string"}function vw(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),uf],total:t.length+1};if(typeof t=="string")return{keys:[uf],total:1};if(t instanceof Map){let e=[],n=0;for(let r of t.keys())n+=1,typeof r=="string"&&e.length<49&&e.push(r);return t.has(oc)?{keys:e,total:n}:{keys:[...e,oc],total:n+1}}if(t instanceof Set){let e=[];for(let n of t)typeof n=="string"&&e.length<49&&e.push(n);return{keys:[...e,oc],total:t.size+1}}if(typeof t=="object"&&t!==null){let e=Object.keys(t);return{keys:e.slice(0,50),total:e.length}}return{keys:[],total:0}}function _d(t){let{keys:e,total:n}=vw(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function _b(t,e){let n=e.split(".").filter(i=>i.length>0),r=t;for(let i of n){if(uf===i&&Rw(r)){r=r.length;continue}if(Array.isArray(r)){let s=Number(i);if(!Number.isInteger(s)||s<0||String(s)!==i||s>=r.length)return _d(r);r=r[s];continue}if(r instanceof Map){if(r.has(i)){r=r.get(i);continue}if(oc===i){r=r.size;continue}return _d(r)}if(r instanceof Set){if(oc===i){r=r.size;continue}if(r.has(i)){r=!0;continue}return _d(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,i)){r=r[i];continue}return _d(r)}return{found:!0,value:r}}function gs(t,e){if(e<0)return t;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Set)return e===0?`[Set(${String(t.size)})]`:[...t].map(n=>gs(n,e-1));if(t instanceof Map){if(e===0)return`{Map(${String(t.size)})}`;let n=Object.create(null);for(let[r,i]of t)n[String(r)]=gs(i,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>gs(n,e-1));if(typeof t=="object"&&t!==null){let n=Object.keys(t);if(e===0)return`{\u2026${String(n.length)} keys}`;let r=Object.create(null);for(let i of n)r[i]=gs(t[i],e-1);return r}return t}var uf,oc,Sb=T(()=>{"use strict";uf="length";oc="size"});var VU,KU,xb=T(()=>{"use strict";Ot();VU={[re.ENABLED]:"en",[re.DISABLED]:"dis",[re.CHECKED]:"chk",[re.EXPANDED]:"exp",[re.PRESSED]:"prs",[re.FOCUSED]:"focus"},KU=new Set([re.PRESENT,re.VISIBLE,re.HIDDEN])});var ti,YU,qU,Ab=T(()=>{"use strict";ne();ti={SHARE_PROOF:"share_proof",RUN_HISTORY:"run_history",TEAM_REVIEW:"team_review",CORPUS_HEAL:"corpus_heal",CI_GATE:"ci_gate",HOSTED_RUNNER:"hosted_runner"},YU=o.object({capability:o.nativeEnum(ti),reason:o.string(),unlockedBy:o.string(),learnMoreUrl:o.string().url()}),qU={[ti.SHARE_PROOF]:{reason:"Sharing a verification result with a teammate needs a hosted, linkable proof page.",unlockedBy:"Link a free Reticle Cloud account (reticle login), then share the run."},[ti.RUN_HISTORY]:{reason:"Run history beyond this session lives in the hosted dashboard; local keeps only a buffer.",unlockedBy:"Link a free Reticle Cloud account to keep run history and trends."},[ti.TEAM_REVIEW]:{reason:"A shared review queue of pinned mistakes is a team feature \u2014 it needs a hosted store.",unlockedBy:"Add your team to Reticle Cloud to share a review queue."},[ti.CORPUS_HEAL]:{reason:"Corpus-ranked heal uses refactor outcomes learned across the fleet, served from the cloud.",unlockedBy:"Enable the hosted heal service on Reticle Cloud."},[ti.CI_GATE]:{reason:"Verify-before-merge is a governance gate that runs in your CI against a hosted policy.",unlockedBy:"Configure the Reticle Cloud CI gate for your repository."},[ti.HOSTED_RUNNER]:{reason:"Verifying without a local browser (CI, a background agent, or a deployed URL) needs a browser we run for you.",unlockedBy:"Link a Reticle Cloud account to run verifications on hosted browsers."}}});var ic,yb,Rb,Nw,vb,Nb=T(()=>{"use strict";ne();ic={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},yb={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},Rb={[ic.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[ic.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[ic.FIRST_RUN]:["project_detected","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},Nw=Object.values(Rb).flatMap(t=>[...t]),vb=o.object({phase:o.nativeEnum(ic),step:o.enum(Nw),status:o.nativeEnum(yb),elapsedMs:o.number().int().nonnegative().optional(),reason:o.string().max(64).optional(),stack:o.string().max(64).optional(),unattended:o.boolean().optional()})});var Ob,pf=T(()=>{"use strict";Ob={AUTH_REFUSED:"auth_refused",LEASE_EXPIRED:"lease_expired",TAB_GONE:"tab_gone",ROUTE_SERVER_ERROR:"route_server_error",APP_NOT_REOPENED:"app_not_reopened",CONFIG_ELSEWHERE:"config_elsewhere",NO_LISTENER_NO_CONFIG:"no_listener_no_config",NO_LISTENER:"no_listener",NO_CONFIG:"no_config",SDK_NOT_REACHING_DAEMON:"sdk_not_reaching_daemon"}});var Ow,wb,ff=T(()=>{"use strict";ne();pf();Ow={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},wb=o.object({tool:o.string().min(1).max(64),reason:o.nativeEnum(Ow),noSessionReason:o.nativeEnum(Ob).optional(),retried:o.boolean()})});var Cb,ww,Cw,hf,Iw,Lw,Ib,kw,Dw,Lb,mf=T(()=>{"use strict";ne();Cb=o.object({fingerprint:o.string().min(1).max(64),count:o.number().int().nonnegative(),message:o.string().max(300),tool:o.string().max(64).optional()}),ww={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},Cw={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},hf=o.object({rssMb:o.number().int().nonnegative(),heapUsedMb:o.number().int().nonnegative(),freeMemMb:o.number().int().nonnegative(),totalMemMb:o.number().int().nonnegative(),load1x100:o.number().int().nonnegative(),cpuCount:o.number().int().nonnegative()}),Iw=o.object({totalMs:o.number().int().nonnegative(),maxMs:o.number().int().nonnegative()}),Lw=o.object({attempts:o.number().int().nonnegative(),successes:o.number().int().nonnegative(),failures:o.record(o.string(),o.number().int().nonnegative()).optional()}),Ib=o.object({durationMs:o.number().int().nonnegative(),toolCalls:o.number().int().nonnegative(),toolCounts:o.record(o.string(),o.number().int().nonnegative()),toolErrors:o.number().int().nonnegative(),errors:o.array(Cb).max(40).optional(),sdkFailures:o.number().int().nonnegative().optional(),sdkErrors:o.array(Cb).max(40).optional(),verifications:o.number().int().nonnegative(),bugsFound:o.number().int().nonnegative().optional(),bugKinds:o.record(o.string(),o.number().int().nonnegative()).optional(),toolParams:o.record(o.string(),o.record(o.string(),o.number().int().nonnegative())).optional(),connections:o.record(o.string(),Lw).optional(),toolTiming:o.record(o.string(),Iw).optional(),busyMs:o.number().int().nonnegative().optional(),browserMs:o.number().int().nonnegative().optional(),browserCommands:o.number().int().nonnegative().optional(),peakConcurrentTools:o.number().int().nonnegative().optional(),unknownToolCalls:o.number().int().nonnegative().optional(),unknownTools:o.record(o.string().max(64),o.number().int().nonnegative()).optional(),noSessionErrors:o.number().int().nonnegative().optional(),postSocketFailures:o.number().int().nonnegative().optional(),postRetriesSaved:o.number().int().nonnegative().optional(),consecutiveRepeats:o.record(o.number().int().positive()).optional(),abandonedActions:o.number().int().nonnegative().optional(),machine:hf.optional(),clients:o.array(o.string().max(64)).max(8).optional(),clientVersions:o.record(o.string().max(64),o.string().max(32)).optional(),surface:o.string().max(32).optional(),appConnects:o.number().int().nonnegative().optional(),msToFirstApp:o.number().int().nonnegative().optional(),endReason:o.enum(["never_used","explored","abandoned","verified","client_left"]).optional(),feedbackPrompted:o.number().int().nonnegative().optional(),errorClasses:o.record(o.string().max(16),o.number().int().nonnegative()).optional(),errorsRecovered:o.number().int().nonnegative().optional(),errorsRepeated:o.number().int().nonnegative().optional(),endedWithVerdict:o.boolean().optional(),updateNudged:o.boolean().optional(),updateOffered:o.string().max(32).optional(),hudControls:o.record(o.number()).optional(),hudViewMs:o.record(o.number()).optional(),hudPanelMs:o.record(o.number()).optional(),hudJourney:o.array(o.string().max(64)).max(60).optional(),hudJourneyCut:o.literal(!0).optional(),final:o.boolean(),exit:o.enum(["idle","signal","unknown"]).optional()}),kw={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},Dw={NO_APP_FOUND:"no_app_found",MANIFEST_UNRECOGNISED:"manifest_unrecognised",WORKSPACE_APPS_UNRECOGNISED:"workspace_apps_unrecognised",WORKSPACE_ROOT_NO_APPS:"workspace_root_no_apps",DISCOVERY_FAILED:"discovery_failed"},Lb=o.object({stack:o.string().min(1).max(64).optional(),stackSource:o.enum(["cwd","workspace"]).optional(),stackUnknownReason:o.nativeEnum(Dw).optional(),stackMajor:o.number().int().nonnegative().optional(),size:o.nativeEnum(kw).optional(),monorepo:o.boolean().optional(),git:o.nativeEnum(ww),forge:o.nativeEnum(Cw).optional(),ageWeeks:o.number().int().nonnegative().optional(),flowCount:o.number().int().nonnegative(),baselineCount:o.number().int().nonnegative(),visualBaselineCount:o.number().int().nonnegative(),runCount:o.number().int().nonnegative(),hasContract:o.boolean(),initialized:o.boolean().optional(),appConnectedBefore:o.boolean().optional(),capsuleCount:o.number().int().nonnegative(),featuresUsed:o.array(o.string().max(32)).max(24),featureDepth:o.number().min(0).max(1)})});var kb,gf=T(()=>{"use strict";kb={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var Mw,en,hH,Pw,$w,Uw,Hw,Fw,Db,Bw,Gw,jw,Vw,Kw,Ww,zw,Yw,qw,Xw,Zw,Qw,Jw,mH,Mb=T(()=>{"use strict";ne();Nb();ff();mf();hs();Xo();hs();gf();Mw=3,en={RETICLE_INSTALLED:"reticle_installed",CLI_COMMAND_RUN:"cli_command_run",DAEMON_STARTED:"daemon_started",DAEMON_STOPPED:"daemon_stopped",SESSION_PROGRESS:"session_progress",VERIFICATION_COMPLETED:"verification_completed",PROJECT_PROFILED:"project_profiled",VERSION_CHANGED:"version_changed",RUNTIME_CRASHED:"runtime_crashed",FEEDBACK_SUBMITTED:"feedback_submitted",IDENTIFIED:"identified",MCP_CLIENT_CONNECTED:"mcp_client_connected",APP_INSTRUMENTED:"app_instrumented",MCP_CONNECTION_LOST:"mcp_connection_lost",INIT_COMPLETED:"init_completed",ONBOARDING_STEP:"onboarding_step",BUG_FOUND:"bug_found",TOOL_REFUSED:"tool_refused"},hH=new Set([en.DAEMON_STARTED,en.DAEMON_STOPPED,en.SESSION_PROGRESS,en.MCP_CLIENT_CONNECTED,en.APP_INSTRUMENTED,en.PROJECT_PROFILED,en.VERIFICATION_COMPLETED,en.BUG_FOUND,en.RUNTIME_CRASHED,en.FEEDBACK_SUBMITTED,en.TOOL_REFUSED]),Pw={HUMAN:"human",AGENT:"agent"},$w={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},Uw={HARNESS:"harness"},Hw=o.object({via:o.string().min(1).max(64),verified:o.string().min(1).max(16),passed:o.boolean(),falseGreenCaught:o.boolean(),durationMs:o.number().int().nonnegative().optional(),browser:o.string().min(1).max(16).optional(),brand:o.nativeEnum(Ne).optional(),reason:o.nativeEnum($e).optional(),uncleanLoss:o.nativeEnum(aE).optional(),driven:o.nativeEnum(Uw).optional()}),Fw=o.object({from:o.string().min(1).max(64),to:o.string().min(1).max(64),nudged:o.boolean().optional(),direction:o.string().min(1).max(16)}),Db={RETICLE:"reticle",OTHER:"other"},Bw=o.object({kind:o.string().min(1).max(32),errorType:o.string().min(1).max(64).optional(),fingerprint:o.string().min(1).max(64).optional(),message:o.string().max(300).optional(),frames:o.array(o.string().max(120)).max(12).optional(),tool:o.string().min(1).max(64).optional(),breadcrumb:o.array(o.string().max(64)).max(12).optional(),nodeVersion:o.string().max(24).optional(),arch:o.string().max(16).optional(),machine:hf.optional(),syscall:o.string().max(32).optional(),errno:o.string().max(32).optional(),loopback:o.boolean().optional(),port:o.enum([Db.RETICLE,Db.OTHER]).optional(),internalFrame:o.string().max(64).optional()}),Gw={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},jw={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},Vw=o.object({source:o.nativeEnum(Gw),kind:o.string().min(1).max(64),falseGreen:o.boolean(),tool:o.string().min(1).max(64).optional(),repeat:o.boolean(),attribution:o.nativeEnum(jw),fingerprint:o.string().max(16).optional()}),Kw=o.object({reconnect:o.boolean(),daemonAgeMs:o.number().int().nonnegative(),client:o.string().min(1).max(64).optional(),appConnected:o.boolean().optional()}),Ww=o.object({initialized:o.boolean(),agentAttached:o.boolean(),msToFirstApp:o.number().int().nonnegative()}),zw={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},Yw={SSE_ENDED:"sse_ended",DAEMON_SHUTDOWN:"daemon_shutdown",SSE_ERROR:"sse_error",SSE_ABORTED:"sse_aborted",SSE_CLOSED:"sse_closed",CONNECT_ERROR:"connect_error",OTHER:"other"},qw=o.object({stage:o.nativeEnum(zw),reason:o.nativeEnum(Yw),attempts:o.number().int().nonnegative(),pendingLost:o.number().int().nonnegative().optional()}),Xw={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",DOCS_SITE:"docs_site",README:"readme",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},Zw={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",NO_TTY:"no_tty"},Qw={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},Jw=o.object({ok:o.boolean(),reason:o.string().max(64).optional(),stack:o.string().max(64).optional(),mcpRegistered:o.boolean().optional(),confirmation:o.nativeEnum(Qw).optional()}),mH=o.object({v:o.literal(Mw),anonymousId:o.string().min(1).max(128),projectId:o.string().min(1).max(128).optional(),sessionId:o.string().min(1).max(64).optional(),event:o.nativeEnum(en),ts:o.number().int().nonnegative(),version:o.string().min(1).max(64),ci:o.boolean(),automation:o.nativeEnum(Zw).optional(),projectIdSource:o.nativeEnum($w).optional(),os:o.string().min(1).max(32),tzOffsetMin:o.number().int().min(-900).max(900).optional(),feedback:qE.optional(),actor:o.nativeEnum(Pw).optional(),command:o.string().min(1).max(32).optional(),flags:o.array(o.string().max(32)).max(16).optional(),session:Ib.optional(),project:Lb.optional(),verification:Hw.optional(),versionChange:Fw.optional(),crash:Bw.optional(),identity:XE.optional(),connection:Kw.optional(),init:Jw.optional(),onboarding:vb.optional(),bug:Vw.optional(),refusal:wb.optional(),outage:qw.optional(),instrumentation:Ww.optional(),installSource:o.nativeEnum(Xw).optional(),licenseId:o.string().min(1).max(64).optional(),licenseStatus:o.nativeEnum(kb).optional(),licenseKeyPresent:o.boolean().optional()})});var Pb=T(()=>{"use strict"});var TH,$b=T(()=>{"use strict";hp();TH={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:is.ACT,ACT_SEQUENCE:is.ACT_SEQUENCE,ACT_AND_WAIT:is.ACT_AND_WAIT,OBSERVE:"reticle_observe",LINEAGE:"reticle_lineage",WAIT_FOR:"reticle_wait_for",NETWORK:"reticle_network",CONSOLE:"reticle_console",ANIMATIONS:"reticle_animations",ASSERT:"reticle_assert",RECONCILE:"reticle_reconcile",BASELINE_SAVE:"reticle_baseline_save",BASELINE_LIST:"reticle_baseline_list",DIFF:"reticle_diff",RECORD_START:"reticle_record_start",RECORD_STOP:"reticle_record_stop",REPLAY:"reticle_replay",EXPLORE:"reticle_explore",NARRATE:"reticle_narrate",CLOCK:"reticle_clock",STATE:"reticle_state",STORAGE:"reticle_storage",CAPABILITIES:"reticle_capabilities",CONTRACT_SAVE:"reticle_contract_save",DOMAIN:"reticle_domain",FLOW_SAVE:"reticle_flow_save",FLOW_LIST:"reticle_flow_list",FLOW_LOAD:"reticle_flow_load",FLOW_DELETE:"reticle_flow_delete",FLOW_REPLAY:"reticle_flow_replay",FLOW_VERIFY:"reticle_flow_verify",FLOW_SAVE_RECORDED:"reticle_flow_save_recorded",FLOW_HEAL:"reticle_flow_heal",FLOW_MUTATE:"reticle_flow_mutate",ANNOTATE:"reticle_annotate",AFFECTED:"reticle_affected",COVERAGE:"reticle_coverage",VERIFY_CHANGE:"reticle_verify_change",VERIFY_EXPLORE:"reticle_verify_explore",INTENT:"reticle_intent",CONTEXT:"reticle_context",VERIFY:"reticle_verify",PROJECT:"reticle_project",MEMORY:"reticle_memory",RUN_RECORD:"reticle_run_record",SCREENSHOT:"reticle_screenshot",NETWORK_MOCK:"reticle_network_mock",VIEWPORT:"reticle_viewport",VISUAL_DIFF:"reticle_visual_diff",CRAWL:"reticle_crawl",SCROLL_TO:"reticle_scroll_to",SESSION_TUNE:"reticle_session_tune",END_SESSION:"reticle_end_session",YIELD:"reticle_yield",RESUME:"reticle_resume",MESSAGES:"reticle_messages",REVIEW:"reticle_review",WAIT_READY:"reticle_wait_ready",NAVIGATE:"reticle_navigate",REFRESH:"reticle_refresh",RUN_EXPORT:"reticle_run_export",BASELINE:"reticle_baseline",SESSION:"reticle_session",RECORD:"reticle_record",FLOW:"reticle_flow",LEASE:"reticle_lease",LEASE_ACQUIRE:"reticle_lease_acquire",LEASE_RELEASE:"reticle_lease_release",TOOLS:"reticle_tools",RUN:"reticle_run",FEEDBACK:"reticle_feedback"}});var Ub=T(()=>{"use strict"});var Hb=T(()=>{"use strict"});var vH,NH,OH,Fb=T(()=>{"use strict";Qa();hs();hd();vH={[Jr.WEB]:{surface:Qt.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[Jr.ELECTRON]:{surface:Qt.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[Jr.TAURI]:{surface:Qt.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},NH={[Jr.WEB]:Hn.WEB,[Jr.ELECTRON]:Hn.WEBVIEW,[Jr.TAURI]:Hn.WEBVIEW},OH={[Qt.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Qt.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Qt.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[Qt.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[Qt.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[Qt.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var jb,eC,tC,Bb,nC,Vb,rC,Gb,oC,iC,sC,Kb,Wb=T(()=>{"use strict";ne();jb=o.object({calls:o.number().int().nonnegative(),verdicts:o.number().int().nonnegative(),passed:o.number().int().nonnegative(),failed:o.number().int().nonnegative(),unknown:o.number().int().nonnegative(),refusals:o.number().int().nonnegative(),marks:o.number().int().nonnegative(),sessions:o.number().int().nonnegative(),tokensReturned:o.number().int().nonnegative(),drivingMs:o.number().int().nonnegative()}),eC=o.object({date:o.string(),counts:jb}),tC=o.object({longestRunMs:o.number().int().nonnegative(),bestVerdictDay:o.number().int().nonnegative(),bestDefectDay:o.number().int().nonnegative(),streakDays:o.number().int().nonnegative(),bestStreakDays:o.number().int().nonnegative()}),Bb=o.object({value:o.number().nonnegative(),basis:o.string()}),nC=o.object({tokens:Bb,minutes:Bb}),Vb=10,rC=o.object({at:o.number().int().nonnegative(),title:o.string(),detail:o.string().optional(),source:o.string().optional()}),Gb=o.object({counts:jb,days:o.array(eC),records:tC,savings:nC,since:o.number().int().nonnegative(),defects:o.array(rC).default([])}),oC=o.object({signedIn:o.boolean(),org:o.string().optional(),email:o.string().optional(),host:o.string().optional()}),iC=o.object({claimed:o.boolean(),expiresAt:o.number().optional(),daysRemaining:o.number().optional(),claimUrl:o.string().optional(),drivable:o.boolean().optional(),eligible:o.boolean().optional()}),sC=o.object({provider:o.string(),harnessEnabled:o.boolean(),harnessEntitled:o.boolean()}),Kb=o.object({schemaVersion:o.number().int().positive(),project:Gb,global:Gb,projectName:o.string().optional(),dashboardUrl:o.string().optional(),account:oC.optional(),harnessOffer:iC.optional(),harnessConfig:sC.optional()})});var zb=T(()=>{"use strict"});function Es(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619)>>>0;return e.toString(16).padStart(8,"0")}function Yb(t){let e=Object.keys(t).sort().map(n=>`${n}:${[...t[n]??[]].sort().join(",")}`).join("|");return Es(e)}var Ef,sc,qb=T(()=>{"use strict";Ot();Ef=Yb({messageKinds:Object.values(ft),commands:Object.values(C),actions:Object.values(R),events:Object.values(b)}),sc={commands:Object.values(C),events:Object.values(b),actions:Object.values(R)}});var Xb,Zb=T(()=>{"use strict";Xb="[Reticle] this page could not open a websocket to "});var D=T(()=>{"use strict";pg();bE();TE();_E();Ot();xE();yE();vE();Xo();NE();OE();zp();Yp();ME();$E();UE();af();ZE();QE();qa();hp();EE();Ep();JE();kp();Dp();tb();pd();nb();rb();ur();Fp();Up();Gp();jp();Vp();ob();ab();lb();db();ub();pb();fb();hb();mb();gb();Tb();nf();Sb();xb();Ab();Mb();pf();ff();Pb();$b();Ub();hd();md();Hb();Fb();mf();gf();hs();Wb();zb();qb();Zb()});function ni(t){let e=H.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${aC}`}function dC(t){try{let e=t?.getItem(tT),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var eT,aC,bf,cC,tT,lC,cc,je,lc,hr,bs,Ts,_s,mr,nT,Tf,rT,ac,X,gt=T(()=>{"use strict";D();eT=1e4,aC="\u2026",bf="e";cC=1e3,tT="__reticle_ref_base",lC=100;ac=class{constructor(e=()=>globalThis.sessionStorage){m(this,mr);m(this,cc,new WeakMap);m(this,je,new Map);m(this,lc);m(this,hr,0);m(this,bs,0);m(this,Ts,0);m(this,_s,0);p(this,lc,e)}get size(){return c(this,je).size}markEdited(){p(this,_s,c(this,hr))}mintedBeforeLastEdit(e){if(c(this,_s)===0||!e.startsWith(bf))return!1;let n=Number(e.slice(bf.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,_s)}refFor(e){let n=c(this,cc).get(e);if(n!==void 0){let i=c(this,je).get(n);return c(this,je).delete(n),c(this,je).set(n,i??new WeakRef(e)),n}c(this,hr)>=c(this,bs)&&h(this,mr,nT).call(this),p(this,hr,c(this,hr)+1);let r=eb(`${bf}${String(c(this,hr))}`);return c(this,cc).set(e,r),c(this,je).set(r,new WeakRef(e)),p(this,Ts,c(this,Ts)+1),c(this,Ts)>=cC?(p(this,Ts,0),h(this,mr,rT).call(this)):c(this,je).size>eT&&h(this,mr,Tf).call(this),r}resolve(e){let n=c(this,je).get(e);if(n===void 0)return null;let r=n.deref();return r===void 0||!r.isConnected?(c(this,je).delete(e),null):(c(this,je).delete(e),c(this,je).set(e,n),r)}};cc=new WeakMap,je=new WeakMap,lc=new WeakMap,hr=new WeakMap,bs=new WeakMap,Ts=new WeakMap,_s=new WeakMap,mr=new WeakSet,nT=function(){let e;try{e=c(this,lc).call(this)}catch{e=void 0}let n=Math.max(dC(e),c(this,hr));p(this,bs,n+lC);try{e?.setItem(tT,String(c(this,bs)))}catch{}p(this,hr,n)},Tf=function(){let e=c(this,je).keys().next();e.done!==!0&&c(this,je).delete(e.value)},rT=function(){for(let[e,n]of c(this,je)){let r=n.deref();(r===void 0||!r.isConnected)&&c(this,je).delete(e)}for(;c(this,je).size>eT;)h(this,mr,Tf).call(this)};X=new ac});function he(t,e){return t[e]}function oT(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:he(e,"set")}var to=T(()=>{"use strict"});function TC(){for(let t of no)t.deref()===void 0&&no.delete(t);for(;no.size>EC;){let t=no.values().next();if(t.done===!0)break;no.delete(t.value)}}function aT(){let t=[];for(let e of no){let n=e.deref();n!==void 0&&t.push(n)}return t}function sT(t,e){if(!iT.has(t)){iT.add(t),no.add(new WeakRef(t)),Af+=1,Af>=bC&&(Af=0,TC()),yf.add(e);for(let n of Sd)n(t)}}function cT(){return aT()}function lT(t){return yf.has(t)}function As(t){if(!yf.has(t))return null;for(let e of aT())if(e.host===t)return e;return null}function dT(t){return Sd.add(t),()=>Sd.delete(t)}function uT(){let t=Element.prototype,e=he(t,"attachShadow");if(typeof e!="function")return()=>{};xf+=1;let n=function(s){let a=e.call(this,s);return sT(a,this),a};t.attachShadow=n;let r=i=>{for(let s of i.querySelectorAll("*")){let a=s.shadowRoot;a!==null&&(sT(a,s),r(a))}};return document.documentElement!==null&&r(document.documentElement),()=>{he(t,"attachShadow")===n&&(t.attachShadow=e),xf-=1,!(xf>0)&&(no.clear(),Sd.clear())}}var xf,no,iT,yf,EC,bC,Af,Sd,ys=T(()=>{"use strict";to();xf=0,no=new Set,iT=new WeakSet,yf=new WeakSet,EC=4e3,bC=250,Af=0;Sd=new Set});function pT(t,e){if(t===null||typeof t!="object")return;let r=(t.ownerDocument??t).defaultView;if(r!=null)return r[e]}function Dt(t,e,n){let r=pT(t,e)??n;return typeof r=="function"&&t instanceof r}function ET(t){let e=Et(t)?"HTMLTextAreaElement":"HTMLInputElement",n=pT(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var gr,Rf,bn,_C,ri,me,Et,Tn,Rs,fT,hT,mT,gT,xd,_n=T(()=>{"use strict";gr=t=>Dt(t,"Element",typeof Element>"u"?void 0:Element),Rf=t=>Dt(t,"HTMLImageElement",typeof HTMLImageElement>"u"?void 0:HTMLImageElement),bn=t=>Dt(t,"HTMLElement",typeof HTMLElement>"u"?void 0:HTMLElement),_C=t=>Dt(t,"SVGElement",typeof SVGElement>"u"?void 0:SVGElement),ri=t=>bn(t)||_C(t),me=t=>Dt(t,"HTMLInputElement",typeof HTMLInputElement>"u"?void 0:HTMLInputElement),Et=t=>Dt(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement>"u"?void 0:HTMLTextAreaElement),Tn=t=>Dt(t,"HTMLSelectElement",typeof HTMLSelectElement>"u"?void 0:HTMLSelectElement),Rs=t=>Dt(t,"HTMLButtonElement",typeof HTMLButtonElement>"u"?void 0:HTMLButtonElement),fT=t=>Dt(t,"HTMLMeterElement",typeof HTMLMeterElement>"u"?void 0:HTMLMeterElement),hT=t=>Dt(t,"HTMLOutputElement",typeof HTMLOutputElement>"u"?void 0:HTMLOutputElement),mT=t=>Dt(t,"HTMLProgressElement",typeof HTMLProgressElement>"u"?void 0:HTMLProgressElement),gT=t=>Dt(t,"HTMLFormElement",typeof HTMLFormElement>"u"?void 0:HTMLFormElement),xd=t=>Dt(t,"HTMLIFrameElement",typeof HTMLIFrameElement>"u"?void 0:HTMLIFrameElement)});function bT(t){return(t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi)??[]).map(n=>Number(n))}function AC(t){return/NaN|Infinity/i.test(t)?!0:bT(t).some(e=>!Number.isFinite(e))}function yC(t){let e=bT(t).filter(s=>Number.isFinite(s));if(e.length===0)return!0;let n=e.filter((s,a)=>a%2===0),r=e.filter((s,a)=>a%2===1),i=s=>s.every(a=>a===s[0]);return n.length>1&&i(n)&&i(r)}function Ad(t){let e=[],n=0;for(let i of SC)for(let s of Array.from(t.querySelectorAll(i)))for(let a of xC){let l=s.getAttribute(a);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;AC(l)?e.push({kind:"non-finite-coordinates",tag:i,attr:a,sample:d}):l.trim().length===0?e.push({kind:"empty-geometry",tag:i,attr:a,sample:d}):yC(l)&&e.push({kind:"degenerate-geometry",tag:i,attr:a,sample:d})}let r=t.querySelectorAll("canvas").length>0;return{examined:n,findings:e,canvas:r}}function TT(t,e){let n=e.Chart?.getChart?.(t);if(n!=null)return{library:"chartjs",data:n.data??null};let r=e.echarts?.getInstanceByDom?.(t);return r!=null?{library:"echarts",data:r.getOption?.()??null}:null}var SC,xC,vf=T(()=>{"use strict";SC=["path","polyline","polygon"],xC=["d","points"]});function pc(t,e,n){let r=Math.max(0,Math.min(n,e.remainingCharacters));if(t.length<=r)return e.remainingCharacters-=t.length,t;e.truncatedValues+=1;let i=r<=fc.length?fc.slice(0,r):`${t.slice(0,r-fc.length)}${fc}`;return e.remainingCharacters-=i.length,i}function hc(t,e,n,r){if(r!==void 0&&He(r))return ye;if(n>H.MAX_SERIALIZE_DEPTH||e.nodes>=vs)return e.truncatedValues+=1,fc;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return pc(t,e,r?.toLowerCase()==="error"?H.MAX_ERROR_LENGTH:H.MAX_STRING_LENGTH);if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="bigint")return t.toString();if(typeof t>"u"||typeof t=="function"||typeof t=="symbol")return Ns;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Map){let i=Object.create(null),s=0;for(let[a,l]of t){if(e.nodes>=vs||s>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let d=pc(typeof a=="string"?a:String(a),e,_T),u=hc(l,e,n+1,d);u!==Ns&&(i[d]=u),s+=1}return i}if(t instanceof Set){let i=[],s=0;for(let a of t){if(e.nodes>=vs||s>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let l=hc(a,e,n+1);i.push(l===Ns?null:l),s+=1}return i}if(ArrayBuffer.isView(t)&&!(t instanceof DataView)){let i=t.length,s=[],a=0;for(let l of t){if(e.nodes>=vs||a>=H.MAX_COLLECTION_ITEMS){e.droppedItems+=i-a;break}s.push(l),e.nodes+=1,a+=1}return s}if(t instanceof Error)return{name:pc(t.name,e,256),message:pc(t.message,e,H.MAX_ERROR_LENGTH)};if(e.seen.has(t))return"[CIRCULAR]";e.seen.add(t);try{if(Array.isArray(t)){let d=[],u=t.slice(0,H.MAX_COLLECTION_ITEMS);e.droppedItems+=Math.max(0,t.length-u.length);for(let f of u){if(e.nodes>=vs){e.droppedItems+=1;continue}let g=hc(f,e,n+1);if(e.nodes>=vs){e.droppedItems+=1;continue}d.push(g===Ns?null:g)}return d}let i=Object.create(null),s=Object.keys(t),a=s.slice(0,H.MAX_OBJECT_KEYS);e.droppedItems+=Math.max(0,s.length-a.length);let l=a.map(d=>{try{let u=t[d];return{key:d,value:u,scalar:u===null||typeof u!="object",ok:!0}}catch{return{key:d,value:void 0,scalar:!0,ok:!1}}});for(let d of[...l.filter(u=>u.scalar),...l.filter(u=>!u.scalar)]){let u=pc(d.key,e,_T);if(!d.ok){i[u]=Nf;continue}try{let f=hc(d.value,e,n+1,d.key);f!==Ns&&(i[u]=f)}catch{i[u]=Nf}}return i}finally{e.seen.delete(t)}}function mc(t){return gc(t).value}function gc(t){let e={seen:new WeakSet,remainingCharacters:RC,nodes:0,droppedItems:0,truncatedValues:0},n=hc(t,e,0),r=n===Ns?null:n;if(e.droppedItems===0&&e.truncatedValues===0)return{value:r};let i=[];return e.droppedItems>0&&i.push(`${e.droppedItems} item(s) dropped`),e.truncatedValues>0&&i.push(`${e.truncatedValues} value(s) truncated`),{value:r,truncation:{droppedItems:e.droppedItems,truncatedValues:e.truncatedValues,note:`partial \u2014 ${i.join(", ")}; this is NOT the whole value. Scope the read with \`path\`/\`depth\` to see the rest.`}}}function Gn(t){try{return JSON.stringify(mc(t))}catch{return JSON.stringify(Nf)}}var fc,Nf,Ns,_T,RC,vs,jn=T(()=>{"use strict";D();fc="[TRUNCATED]",Nf="[UNSERIALIZABLE]",Ns=Symbol("omit"),_T=256,RC=Math.floor(H.MAX_MESSAGE_BYTES/4),vs=H.MAX_COLLECTION_ITEMS*5});function vC(t){if(t===null)return;let e=/^(.*):(\d+):(\d+)$/.exec(t);if(e===null)return;let n=e[1],r=Number(e[2]);if(!(n===void 0||n.length===0||!Number.isFinite(r)))return{file:n,line:r}}function Ec(t){let e=t.closest(`[${Of}]`);return e!==null?vC(e.getAttribute(Of)):void 0}function yd(t,e){return e!==void 0?{file:e.file,line:e.line}:Ec(t)}function ST(t){return t.querySelector(`[${Of}]`)!==null}function Rd(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var Of,bc=T(()=>{"use strict";D();Of=cd});function LC(t){let e=t.type.toLowerCase();return IC.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function kC(t){let e=t.getAttribute("aria-label");if(e!==null&&e.trim().length>0)return!0;let n=t.getAttribute("aria-labelledby");if(n!==null&&n.trim().length>0)return!0;let r=t.getAttribute("title");return r!==null&&r.trim().length>0}function Oe(t){let e=t.getAttribute("role");if(e!==null&&e.trim().length>0)return e.trim();switch(t.tagName.toLowerCase()){case"a":return t.hasAttribute("href")?"link":"generic";case"button":return"button";case"input":return LC(t);case"textarea":return"textbox";case"select":return t.multiple?"listbox":"combobox";case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return"heading";case"ul":case"ol":return"list";case"li":return"listitem";case"nav":return"navigation";case"main":return"main";case"aside":return"complementary";case"dialog":return"dialog";case"img":return"img";case"table":return"table";case"tr":return"row";case"tbody":case"thead":case"tfoot":return"rowgroup";case"td":return t.closest('[role~="grid"], [role~="treegrid"]')!==null?"gridcell":"cell";case"th":{let r=(t.getAttribute("scope")??"").toLowerCase();return r==="row"||r==="rowgroup"?"rowheader":"columnheader"}case"option":return"option";case"optgroup":return"group";case"section":return kC(t)?"region":"generic";case"article":return"article";case"fieldset":return"group";case"details":return"group";case"summary":return"button";case"progress":return"progressbar";case"meter":return"meter";case"output":return"status";case"hr":return"separator";case"area":return t.hasAttribute("href")?"link":"generic";case"form":return"form";case"p":return"paragraph";case"header":return"banner";case"footer":return"contentinfo";default:return"generic"}}function Os(t){return t.replace(/\s+/g," ").trim()}function DC(t){let e=t.getAttribute("aria-labelledby");if(e===null)return null;let n=[];for(let i of e.split(/\s+/)){let s=t.ownerDocument.getElementById(i);s!==null&&n.push(Os(Tc(s)))}let r=n.join(" ").trim();return r.length>0?r:null}function Tc(t){if(t.nodeType===Node.TEXT_NODE)return t.textContent??"";if(t.nodeType!==Node.ELEMENT_NODE)return"";let e=t;if(e.getAttribute("aria-hidden")==="true")return"";if(Rf(e)){let i=e.getAttribute("alt");return i===null?"":i}let n="",r=!1;for(let i of e.childNodes){let s=Tc(i);if(s.length===0)continue;let a=Node.ELEMENT_NODE===i.nodeType;n.length>0&&(a||r)&&(n+=" "),n+=s,r=a}return n}function be(t){let e=DC(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(Rf(t)){let s=t.getAttribute("alt");if(s!==null)return s.trim()}if(me(t)||Et(t)||Tn(t)||Rs(t)||fT(t)||hT(t)||mT(t)){let s=t.labels;if(s!==null&&s.length>0){let a=[...s].map(l=>Os(Tc(l))).join(" ").trim();if(a.length>0)return a}}if(t.tagName.toLowerCase()==="fieldset"){let s=[...t.children].find(a=>a.tagName.toLowerCase()==="legend");if(s!==void 0){let a=Os(Tc(s));if(a.length>0)return a}}if(me(t)||Et(t)||Tn(t)){if(me(t)){let s=t.type.toLowerCase();if(s==="submit"||s==="button"||s==="reset"){let a=Os(t.value);if(a.length>0)return a}}if(me(t)||Et(t)){let s=t.getAttribute("placeholder");if(s!==null&&s.trim().length>0)return s.trim()}}if(CC.has(Oe(t))){let s=Os(Tc(t));if(s.length>0)return s}let i=t.getAttribute("title");return i!==null&&i.trim().length>0?i.trim():""}function vd(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function Er(t,e=nt(t)){let n=[re.PRESENT];n.push(e?re.VISIBLE:re.HIDDEN);let i=(Rs(t)||me(t)||Tn(t)||Et(t))&&t.disabled||vd(t,"aria-disabled")===!0;return n.push(i?re.DISABLED:re.ENABLED),(me(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||vd(t,"aria-checked")===!0)&&n.push(re.CHECKED),vd(t,"aria-expanded")===!0&&n.push(re.EXPANDED),vd(t,"aria-pressed")===!0&&n.push(re.PRESSED),t.ownerDocument.activeElement===t&&n.push(re.FOCUSED),n}function wf(t){if(!me(t)&&!Et(t)&&!Tn(t))return!1;let e=t.getAttribute("autocomplete")??"",n=[t.getAttribute("name")??"",t.id,t.getAttribute("data-testid")??"",t.getAttribute("aria-label")??""],r=/current-password|new-password|cc-number|cc-csc|one-time-code/i.test(e);return me(t)&&t.type.toLowerCase()==="password"||r||n.some(He)}function Cf(t){return me(t)||Et(t)||Tn(t)?wf(t)?ye:t.value:t.getAttribute("aria-valuenow")??void 0}function MC(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(NC);if(n===null||n.hasAttribute(OC))return!1;let r=Array.from(n.children).find(i=>wC===i.localName);return r===void 0||!r.contains(t)}function PC(t){if(t.getAttribute("aria-hidden")==="true"||bn(t)&&t.hidden||MC(t))return!0;let e=t.ownerDocument.defaultView;if(e!==null){let n=e.getComputedStyle(t);if(n.display==="none"||n.visibility==="hidden"||n.visibility==="collapse"||Number.parseFloat(n.opacity||"1")===0)return!0}return!1}function $C(t){let e=t.parentElement;if(e===null||e.shadowRoot!==null)return null;let n=As(e);if(n===null)return null;for(let r of Array.from(n.querySelectorAll("slot")))if(r.assignedElements().includes(t))return r;return null}function UC(t){let e=t.assignedSlot??$C(t);return e!==null?e:t.parentElement!==null?t.parentElement:t.getRootNode().host??null}function If(t,e){if(!nt(t,e))return!1;let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=t.getBoundingClientRect();return r.width<=0||r.height<=0?!1:r.bottom>0&&r.right>0&&r.top<n.innerHeight&&r.left<n.innerWidth}function nt(t,e){if(!t.isConnected)return!1;let n=e?.get(t);if(n!==void 0)return n;let r=UC(t),i=!PC(t)&&(r===null||nt(r,e));return e!==void 0&&e.set(t,i),i}function HC(t){let e=Os(t.textContent??"");return e.length>xT?`${e.slice(0,xT)}\u2026`:e}function Vn(t,e){let n=Cf(t),r=HC(t),i=be(t),s=nt(t,e),a={ref:X.refFor(t),role:Oe(t),name:i,states:Er(t,s),visible:s};n!==void 0&&n.length>0&&(a.value=n),r.length>0&&r!==i&&(a.text=r);let l=Rd(Ec(t));if(l!==void 0&&(a.source=l),t.querySelector("path, polyline, polygon")!==null){let d=Ad(t).findings;d.length>0&&(a.chart=d)}return a}var NC,OC,wC,CC,IC,xT,Mt=T(()=>{"use strict";D();_n();gt();ys();vf();jn();bc();NC="details",OC="open",wC="summary",CC=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),IC=new Set(["text","email","tel","url","search","password",""]);xT=80});function CT(t){let e=[],n=new Set,r;try{r=t.querySelectorAll(rI)}catch{return e}for(let i=0;i<r.length&&e.length<oI;i+=1){let s=r[i]?.getAttribute(wT);if(s==null)continue;let a=s.trim();a.length===0||n.has(a)||a.startsWith(iI)||(n.add(a),e.push(a))}return e}var wT,rI,oI,iI,IT=T(()=>{"use strict";wT="data-testid",rI=`[${wT}]`,oI=200,iI="reticle-"});var kf,sI,Kn,_c=T(()=>{"use strict";kf=globalThis,sI=typeof kf.console?.warn=="function"?kf.console.warn.bind(kf.console):null,Kn=(...t)=>{sI?.(...t)}});function DT(t){return Df.add(t),()=>Df.delete(t)}function aI(t){if(t===null||typeof t!="object"&&typeof t!="function")return!1;let e=t;return typeof e.getState=="function"&&typeof e.subscribe=="function"}function MT(t,e,n){if(dI(t,e),aI(e)){let r=()=>e.getState(),i=s=>e.subscribe(s);ws.set(t,r),Od.set(t,i),LT(t,r,i);return}if(typeof e!="function"){let r=typeof e=="object"&&e!==null&&"subscribe"in e;Kn(`[reticle] store "${t}" is neither a getter function nor a {getState, subscribe} store`+(r?" \u2014 it has subscribe but no getState. Wrap it with an adapter or add getState.":"."));return}if(ws.set(t,e),n!==void 0){Od.set(t,n),LT(t,e,n);return}lI(t)}function LT(t,e,n){for(let r of Df)try{r([t,e,n])}catch{}}function PT(t){ws.delete(t),Od.delete(t)}function ro(){return[...ws.keys()]}function $T(){let t=[];for(let[e,n]of Od){let r=ws.get(e);r!==void 0&&t.push([e,r,n])}return t}function Pf(t){let e={};for(let[n,r]of ws)if(!(t!==void 0&&n!==t))try{e[n]=r()}catch(i){e[n]={__error:i instanceof Error?i.message:String(i)}}return e}function UT(t){return Sc(t).stores}function Sc(t){let e={},n={};for(let[r,i]of Object.entries(Pf(t))){let s=gc(i);e[r]=s.value,s.truncation!==void 0&&(n[r]=s.truncation)}return Object.keys(n).length>0?{stores:e,truncation:n}:{stores:e}}function lI(t){cI.has(t)||kT.has(t)||(kT.add(t),Kn(`[reticle] store "${t}" was registered without a subscribe function. It can be READ, but its changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`))}function wd(t,e){HT.set(t,e)}function dI(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;Mf.set(e,t);let n=HT.get(e);n!==void 0&&Mf.set(n,t)}function FT(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return Mf.get(t)}var br,ws,Od,Df,kT,cI,Mf,HT,oi=T(()=>{"use strict";D();_c();jn();br=globalThis,ws=br.__reticleStores??(br.__reticleStores=new Map),Od=br.__reticleStoreSubs??(br.__reticleStoreSubs=new Map),Df=br.__reticleStoreListeners??(br.__reticleStoreListeners=new Set);kT=new Set,cI=new Set([Zl]);Mf=new WeakMap,HT=new WeakMap});function BT(){return typeof document>"u"?[]:CT(document)}function GT(){return ro().filter(t=>Zl!==t)}function Cd(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function uI(){return{testids:[],signals:[],stores:[],flows:[]}}function Uf(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function Id(t){jT=t}function Cs(t){if(Uf(Ct.testids,t.testids),Uf(Ct.signals,t.signals),Uf(Ct.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=Ct.flows.find(r=>r.name===e.name);n===void 0?Ct.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}jT?.()}function oo(){return{testids:Cd(Ct.testids,BT()),signals:[...Ct.signals],stores:Cd(Ct.stores,GT()),flows:Ct.flows.map(t=>({name:t.name,steps:[...t.steps]})),...dg()?{presenterExposed:!0}:{}}}function VT(){return[...Ct.testids]}function Ld(){return Ct.signals.length>0||Ct.flows.length>0||Cd(Ct.testids,BT()).length>0||Cd(Ct.stores,GT()).length>0}var $f,Ct,jT,io=T(()=>{"use strict";D();et();IT();oi();$f=globalThis;Ct=$f.__reticleCapabilities??($f.__reticleCapabilities=uI())});function KT(t){Is.some(e=>e.name===t.name)||Is.push(t)}function Wn(t){for(let e of Is){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function kd(t){for(let e of Is){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function Dd(t){for(let e of Is)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function Md(){return Is.map(t=>t.name)}var Hf,Is,ii=T(()=>{"use strict";Hf=globalThis,Is=Hf.__reticleAdapters??(Hf.__reticleAdapters=[])});function Ud(){return jf>0}function Fe(t){jf+=1;try{return t()}finally{jf-=1}}var jf,Ds=T(()=>{"use strict";jf=0});var tn,o_,HI,i_,s_,Gd,z,pe,a_,c_,l_,ao,d_,Ve=T(()=>{"use strict";tn=globalThis,o_=typeof tn.setTimeout=="function"?tn.setTimeout.bind(tn):null,HI=typeof tn.clearTimeout=="function"?tn.clearTimeout.bind(tn):null,i_=typeof tn.requestAnimationFrame=="function"?tn.requestAnimationFrame.bind(tn):null,s_=typeof tn.performance?.now=="function"?tn.performance.now.bind(tn.performance):null,Gd=()=>s_?s_():0,z=(t,e=0)=>o_?o_(t,e):0,pe=t=>{HI?.(t)},a_=(t,e)=>{let n=!1,r=0,i=()=>{n||(t(),!n&&(r=z(i,e)))};return r=z(i,e),()=>{n=!0,pe(r)}},c_=200,l_=(t=c_)=>new Promise(e=>{let n=!1,r=s=>{n||(n=!0,pe(i),e({settled:s}))},i=z(()=>r(!1),t);i_?i_(()=>r(!0)):z(()=>r(!0),0)}),ao=()=>l_().then(()=>{}),d_=async(t=c_)=>(await Promise.resolve(),l_(t))});function iS(t,e){return`${Xb}${t}. ${String(e)} attempts, all failed. That is everything the page can see: from inside the browser it cannot tell a daemon that is not there from one it is not allowed to reach, so this is not evidence about the daemon. What answers it: run \`npx @reticlehq/server status\` to see whether one is listening and on which port. If your app runs in a container, devcontainer or WSL, the daemon is on a different host, so set the URL explicitly (Vite: VITE_RETICLE_WS_URL, or reticle.connect({ url })). An https page cannot open a ws:// socket at all. Still retrying\u2026`}function sS(t,e){return`no bridge at ${t} \u2014 ${String(e)} attempt${e===1?"":"s"}`}var oh=T(()=>{"use strict";D()});var Ke,Pt,mh=T(()=>{"use strict";Ke={READ:"read",ACT:"act",NARRATION:"narration",HUMAN:"human"},Pt={PASS:"pass",FAIL:"fail"}});function Pc(t){switch(t){case R.CLICK:case R.DBLCLICK:return"Clicking";case R.FILL:case R.TYPE:return"Typing into";case R.HOVER:return"Hovering";case R.SELECT:return"Selecting";case R.SUBMIT:return"Submitting";case R.CHECK:case R.UNCHECK:return"Toggling";case R.UPLOAD:return"Uploading to";case R.DRAG:return"Dragging";default:return t}}var gh=T(()=>{"use strict";D()});function Rr(t){return typeof t=="string"&&t.length>0}function Nk(t){return`${t.file.split("/").pop()??t.file}:${t.line}`}function kx(t){if(Rr(t.testid))return{strategy:Rn.TESTID,value:t.testid,stable:!0};if(Rr(t.component)&&t.source!==void 0)return{strategy:Rn.COMPONENT,value:`${t.component}@${Nk(t.source)}`,stable:!0};if(Rr(t.component)&&(Rr(t.role)||Rr(t.name))){let e=Rr(t.name)?t.name:t.role;return{strategy:Rn.COMPONENT,value:`${t.component}[${e??""}]`,stable:!0}}if(Rr(t.role)&&Rr(t.name))return{strategy:Rn.ROLE,value:`${t.role}:${t.name}`,stable:!1};if(Rr(t.role)){let e=t.nth!==void 0?`#${t.nth}`:"";return{strategy:Rn.ROLE,value:`${t.role}${e}`,stable:!1}}return{strategy:Rn.POSITION,value:`el#${t.nth??0}`,stable:!1}}var Rn,Dx=T(()=>{"use strict";Rn={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"}});function Ck(t,e,n){return n.length>0?e.length>0?`${e} "${n}"`:`"${n}"`:e.length>0?e:t.tagName.toLowerCase()}function Bc(t){let e=t.getAttribute(Ok)??void 0,n=Wn(t),r=n?.componentStack[0],i=yd(t,n?.source),s=Oe(t),a=be(t),l={};e!==void 0&&(l.testid=e),r!==void 0&&(l.component=r),i!==void 0&&(l.source=i),s.length>0&&(l.role=s),a.length>0&&(l.name=a);let d=kx(l),u={anchor:d.value,strategy:wk[d.strategy],label:Ck(t,s,a)};return i!==void 0&&(u.source=i),u}var Ok,wk,Sh=T(()=>{"use strict";D();Dx();Mt();ii();bc();Ok="data-testid",wk={[Rn.TESTID]:Qo.TESTID,[Rn.COMPONENT]:Qo.COMPONENT,[Rn.ROLE]:Qo.ROLE,[Rn.POSITION]:Qo.POSITION}});function Mx(t){return`${String(t)} ${t===1?"note":"notes"} on this page`}function Px(t,e){let n=t.length,r=`I marked ${String(n)} ${n===1?"issue":"issues"} on ${e} with Reticle. Fix each one, then verify it in the running app:`,i=t.map((s,a)=>{let l=s.source===void 0?s.anchor:`${s.anchor}, ${s.source}`;return`${String(a+1)}. ${s.note}
2
- ${s.label} (${l}) on ${s.route}`});return[r,"",...i].join(`
3
- `)}var $x=T(()=>{"use strict"});var du,ae,xh,Fx,Bx,Gx,Ux,jx,Vx,Kx=T(()=>{"use strict";du="data-reticle-mark",ae=t=>`[${du}="${t}"]`,xh="What should change?",Fx="Add",Bx="Cancel",Gx="+",Ux=2147483601,jx=`
4
- ${ae("root")}{position:fixed;inset:0;pointer-events:none;z-index:${String(Ux)};}
5
- ${ae("root")}[data-hide="1"] ${ae("pin")}{display:none;}
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] ${ae("pop")},
10
- html[data-reticle-mark-active] ${ae("pop")} *,
11
- html[data-reticle-mark-active] ${ae("pin")},
12
- html[data-reticle-mark-active] ${ae("pending")}{cursor:pointer !important;}
13
- ${ae("hi")}{position:fixed;pointer-events:none;opacity:0;box-sizing:border-box;
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
- ${ae("hi")}[data-on="1"]{opacity:1;animation:reticle-mark-hi-in .12s ease-out;}
17
- ${ae("hilabel")}{position:absolute;top:-28px;left:0;font:500 11px/1.2 system-ui,sans-serif;color:#fff;
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
- ${ae("sel")}{position:fixed;pointer-events:none;box-sizing:border-box;border-radius:4px;
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
- ${ae("pin")},${ae("pending")}{position:fixed;pointer-events:auto;width:22px;height:22px;
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
- ${ae("pin")}:hover{transform:translate(-50%,-50%) scale(1.1);z-index:2;}
29
- ${ae("pin")}[data-stale="1"]{opacity:.45;}
30
- ${ae("pending")}{cursor:default;}
31
- ${ae("tip")}{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.909);
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
- ${ae("pin")}:hover ${ae("tip")}{display:block;}
36
- ${ae("tipq")}{display:block;font-size:12px;font-style:italic;color:rgba(255,255,255,.6);
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
- ${ae("tipn")}{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
39
- ${ae("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(Ux+8)};
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
- ${ae("pop")}[data-in="1"]{opacity:1;animation:reticle-mark-pop-in .2s cubic-bezier(.34,1.56,.64,1) forwards;}
44
- ${ae("pop")}.reticle-mark-shake{animation:reticle-mark-shake .25s ease-out;}
45
- ${ae("pop")} .reticle-mark-where{font-size:12px;font-weight:400;color:rgba(255,255,255,.5);
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
- ${ae("pop")} textarea{box-sizing:border-box;width:100%;min-height:52px;resize:none;padding:8px 10px;
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
- ${ae("pop")} textarea:focus{border-color:var(--reticle-mark-accent, #0088ff);}
51
- ${ae("pop")} textarea::placeholder{color:rgba(255,255,255,.35);}
52
- ${ae("pop")} .reticle-mark-row{display:flex;justify-content:flex-end;gap:6px;margin-top:8px;}
53
- ${ae("pop")} button{font:500 12px/1 system-ui,sans-serif;padding:.4rem .875rem;border-radius:1rem;
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
- ${ae("pop")} button:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);}
56
- ${ae("pop")} button[data-send]{background:var(--reticle-mark-accent, #0088ff);color:#fff;}
57
- ${ae("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
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
- `,Vx=`<div ${du}="hi"><span ${du}="hilabel"></span></div><div ${du}="sel" hidden></div>`});function Yx(t){return t.source===void 0?void 0:`${t.source.file}:${String(t.source.line)}`}function pu(){return typeof location>"u"?"":location.pathname+location.search}function kk(t){return Bc(t).anchor}function Dk(t){if(t===void 0||typeof getComputedStyle>"u")return!1;let e=getComputedStyle(t).position;return e==="fixed"||e==="sticky"}function Xx(t,e){let n=document.elementsFromPoint.bind(document);if(n!==void 0){for(let r of n(t,e))if(!Xi(r))return r}}function Zx(t,e){let n=window.innerWidth,r=window.innerHeight,i=Math.min(Math.max(t,uu+Wx/2),n-uu-Wx/2),s=e+12;return s+zx>r-uu&&(s=Math.max(uu,e-zx-12)),{left:i,top:s}}function Mk(t){let e=t.getAttribute("data-testid");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 i=(t.textContent??"").trim().replace(/\s+/g," ").slice(0,40);return i.length>0?`${n} "${i}"`:n}function cA(t){let e=new xi(t);return e.mount(),e}var Ik,Lk,Wx,zx,uu,Yn,Ah,vr,qs,Xs,Vc,Kc,Wc,$t,Ut,Zs,fi,It,hi,on,Nr,sn,ot,mo,mi,Or,wr,gi,Ei,zc,bi,Qs,Js,Ti,w,Qx,Gc,Jx,eA,tA,nA,fu,yh,Rh,rA,vh,_i,Si,oA,Nh,Oh,iA,wh,Ch,sA,jc,Ih,aA,vn,xi,qx,Lh=T(()=>{"use strict";Ds();D();et();Sh();$x();Ve();Kx();Ik=130,Lk=250,Wx=280,zx=170,uu=8,Yn="data-reticle-mark",Ah="data-reticle-mark-active",vr=t=>`[${Yn}="${t}"]`,xi=class{constructor(e){m(this,w);m(this,qs);m(this,Xs);m(this,Vc);m(this,Kc);m(this,Wc);m(this,$t);m(this,Ut);m(this,Zs);m(this,fi);m(this,It);m(this,hi);m(this,on);m(this,Nr);m(this,sn,!1);m(this,ot,[]);m(this,mo);m(this,mi);m(this,Or);m(this,wr);m(this,gi);m(this,Ei);m(this,zc);m(this,bi);m(this,Qs);m(this,Js);m(this,Ti);m(this,_i);m(this,Si,{x:0,y:0});p(this,qs,e.emit),p(this,Xs,e.now),p(this,Vc,e.onMark),p(this,Kc,e.shouldBlock??(()=>!0)),p(this,Wc,e.onCountChange)}get active(){return c(this,sn)}get markCount(){return c(this,ot).length}mount(){if(c(this,$t)!==void 0||typeof document>"u")return;let e=document.createElement("style");e.setAttribute(Yn,"style"),e.textContent=jx,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute(Yn,"root"),n.innerHTML=Vx,document.body.appendChild(n),p(this,$t,n),p(this,Ut,n.querySelector(vr("hi"))??void 0),p(this,Zs,n.querySelector(vr("hilabel"))??void 0),p(this,fi,n.querySelector(vr("sel"))??void 0);let r=new AbortController;p(this,Js,r),document.addEventListener("click",i=>h(this,w,eA).call(this,i),{capture:!0,signal:r.signal}),document.addEventListener("mousemove",i=>h(this,w,tA).call(this,i),{passive:!0,capture:!0,signal:r.signal}),document.addEventListener("keydown",i=>h(this,w,Jx).call(this,i),{signal:r.signal}),window.addEventListener("scroll",()=>h(this,w,Ih).call(this),{capture:!0,signal:r.signal}),window.addEventListener("resize",()=>h(this,w,Ih).call(this),{signal:r.signal}),p(this,Ti,new MutationObserver(()=>this.syncAnchors())),c(this,Ti).observe(document.documentElement,{childList:!0,subtree:!0}),c(this,Qs)!==void 0&&this.setAccent(c(this,Qs))}setAccent(e){p(this,Qs,e),c(this,$t)?.style.setProperty("--reticle-mark-accent",e)}attachChrome(e){p(this,wr,e.markersBtn),p(this,gi,e.clearBtn),p(this,Ei,e.copyRow),p(this,zc,e.onCount),p(this,bi,e.countEl),c(this,wr)?.addEventListener("click",n=>{n.stopPropagation(),h(this,w,Qx).call(this)}),c(this,gi)?.addEventListener("click",n=>{n.stopPropagation(),this.clearAll()}),h(this,w,Gc).call(this)}destroy(){c(this,Js)?.abort(),p(this,Js,void 0),c(this,Ti)?.disconnect(),p(this,Ti,void 0),c(this,on)!==void 0&&pe(c(this,on)),c(this,Nr)!==void 0&&pe(c(this,Nr)),h(this,w,vn).call(this),document.documentElement.removeAttribute(Ah),c(this,$t)?.remove(),document.querySelectorAll(`style[${Yn}="style"]`).forEach(e=>e.remove()),p(this,$t,void 0),p(this,sn,!1),p(this,ot,[])}toggle(e){p(this,sn,e??!c(this,sn)),c(this,sn)?document.documentElement.setAttribute(Ah,"1"):(document.documentElement.removeAttribute(Ah),h(this,w,fu).call(this),h(this,w,vn).call(this)),h(this,w,Gc).call(this)}agentPrompt(e){return Px(c(this,ot),e)}clearAll(){h(this,w,vn).call(this);for(let e of c(this,ot))e.pin.remove();p(this,ot,[]),h(this,w,Gc).call(this)}syncAnchors(){let e=pu();for(let n of c(this,ot))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;h(this,w,jc).call(this)}};qs=new WeakMap,Xs=new WeakMap,Vc=new WeakMap,Kc=new WeakMap,Wc=new WeakMap,$t=new WeakMap,Ut=new WeakMap,Zs=new WeakMap,fi=new WeakMap,It=new WeakMap,hi=new WeakMap,on=new WeakMap,Nr=new WeakMap,sn=new WeakMap,ot=new WeakMap,mo=new WeakMap,mi=new WeakMap,Or=new WeakMap,wr=new WeakMap,gi=new WeakMap,Ei=new WeakMap,zc=new WeakMap,bi=new WeakMap,Qs=new WeakMap,Js=new WeakMap,Ti=new WeakMap,w=new WeakSet,Qx=function(){let e=c(this,$t);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"),c(this,wr)?.setAttribute("data-active",n==="0"?"0":"1"),c(this,wr)?.setAttribute("aria-pressed",n==="1"?"true":"false")},Gc=function(){var n,r;let e=c(this,ot).length;if((n=c(this,Wc))==null||n.call(this,e),c(this,bi)!==void 0&&(c(this,bi).textContent=String(e),c(this,bi).hidden=e===0),c(this,gi)?.toggleAttribute("disabled",e===0),(r=c(this,zc))==null||r.call(this,e),c(this,Ei)!==void 0){c(this,Ei).hidden=e===0;let i=c(this,Ei).querySelector("[data-reticle-marks-text]");i!==null&&(i.textContent=Mx(e))}c(this,wr)?.toggleAttribute("disabled",e===0)},Jx=function(e){if(!(e.key!=="Escape"||!c(this,sn))){if(c(this,It)!==void 0){e.preventDefault(),h(this,w,vn).call(this);return}this.toggle(!1)}},eA=function(e){if(!c(this,sn)||Ud())return;let n=e.target;if(!(n instanceof Element))return;let r=n.hasAttribute(qx)?Xx(e.clientX,e.clientY):n;if(r===void 0||Le(r)||c(this,wr)?.contains(r)===!0||c(this,gi)?.contains(r)===!0||r.closest(vr("pin"))!==null||r.closest(vr("pop"))!==null)return;if(c(this,It)!==void 0){e.preventDefault(),e.stopPropagation(),h(this,w,Oh).call(this);return}let i=r instanceof HTMLElement?r:r.parentElement;if(i===null)return;c(this,Kc).call(this)?(e.preventDefault(),e.stopPropagation()):e.preventDefault();let s=kk(i),a=c(this,ot).find(l=>l.anchor===s&&l.route===pu());if(a!==void 0){h(this,w,yh).call(this,a);return}h(this,w,rA).call(this,i,e.clientX,e.clientY)},tA=function(e){c(this,on)!==void 0&&pe(c(this,on)),p(this,on,z(()=>{p(this,on,void 0),h(this,w,nA).call(this,e)},Ik))},nA=function(e){if(c(this,Ut)===void 0)return;let n=e.target,r=n instanceof Element&&n.hasAttribute(qx)?Xx(e.clientX,e.clientY):n;if(!c(this,sn)||c(this,It)!==void 0||!(r instanceof Element)||Le(r)||r.closest(vr("pin"))!==null){c(this,Ut).setAttribute("data-on","0");return}let s=r.getBoundingClientRect();if(s.width===0&&s.height===0){c(this,Ut).setAttribute("data-on","0");return}c(this,Ut).style.left=`${String(s.left)}px`,c(this,Ut).style.top=`${String(s.top)}px`,c(this,Ut).style.width=`${String(s.width)}px`,c(this,Ut).style.height=`${String(s.height)}px`,c(this,Ut).setAttribute("data-on","1"),c(this,Zs)!==void 0&&(c(this,Zs).textContent=Mk(r))},fu=function(){c(this,on)!==void 0&&(pe(c(this,on)),p(this,on,void 0)),c(this,Ut)?.setAttribute("data-on","0")},yh=function(e){h(this,w,vn).call(this),p(this,mo,e),p(this,mi,e.anchor),p(this,Or,e.target),h(this,w,fu).call(this);let n=h(this,w,Rh).call(this,e);h(this,w,vh).call(this,e.label,n.x,n.y,e.note),h(this,w,Ch).call(this,n.x,n.y),h(this,w,jc).call(this)},Rh=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}},rA=function(e,n,r){let i=Bc(e),s=i.anchor;if(c(this,mi)===s&&c(this,It)!==void 0){h(this,w,Oh).call(this);return}h(this,w,vn).call(this),h(this,w,fu).call(this),p(this,mo,void 0),p(this,mi,s),p(this,Or,e);let a=i.source!==void 0?`${i.label} \xB7 ${i.source.file}:${String(i.source.line)}`:i.label;h(this,w,vh).call(this,a,n,r,""),h(this,w,Ch).call(this,n,r),h(this,w,jc).call(this),h(this,w,oA).call(this,i,n,r)},vh=function(e,n,r,i){let s=document.createElement("div");s.setAttribute(Yn,"pop"),s.setAttribute("role","dialog"),s.setAttribute("aria-label",xh),s.innerHTML=`<div class="reticle-mark-where"></div>
68
- <textarea rows="2" placeholder="${xh}"></textarea>
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>${Bx}</button>
71
- <button type="button" data-send data-reticle-mark-send disabled>${Fx}</button>
72
- </div>`;let a=s.querySelector(".reticle-mark-where");a!==null&&(a.textContent=e);let l=Zx(n,r);s.style.left=`${String(l.left)}px`,s.style.top=`${String(l.top)}px`,c(this,$t)?.appendChild(s),p(this,It,s),requestAnimationFrame(()=>s.setAttribute("data-in","1"));let d=s.querySelector("textarea"),u=s.querySelector("button[data-send]");d!==null&&(d.value=i,u!==null&&(u.disabled=d.value.trim().length===0),d.addEventListener("input",()=>{u!==null&&(u.disabled=d.value.trim().length===0)}),d.addEventListener("keydown",f=>{f.stopPropagation(),!f.isComposing&&(f.key==="Escape"?(f.preventDefault(),h(this,w,vn).call(this)):f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),h(this,w,Nh).call(this)))}),z(()=>d.focus(),50)),s.querySelector("button[data-cancel]")?.addEventListener("click",()=>h(this,w,vn).call(this)),u?.addEventListener("click",()=>h(this,w,Nh).call(this)),p(this,_i,void 0),p(this,Si,{x:n,y:r})},_i=new WeakMap,Si=new WeakMap,oA=function(e,n,r){p(this,_i,e),p(this,Si,{x:n,y:r})},Nh=function(){let e=c(this,It)?.querySelector("textarea")?.value.trim()??"";if(e.length===0)return;let n=c(this,mo);if(n!==void 0){n.note=e;let i=n.pin.querySelector(vr("tipn"));i!==null&&(i.textContent=e),c(this,qs).call(this,b.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),h(this,w,wh).call(this,e,n.anchor,n.label,c(this,ot).indexOf(n)+1,n.source),h(this,w,vn).call(this);return}let r=c(this,_i);r!==void 0&&(h(this,w,iA).call(this,e,r,c(this,Si).x,c(this,Si).y),h(this,w,vn).call(this))},Oh=function(){let e=c(this,It);e!==void 0&&(e.classList.remove("reticle-mark-shake"),e.offsetWidth,e.classList.add("reticle-mark-shake"),c(this,Nr)!==void 0&&pe(c(this,Nr)),p(this,Nr,z(()=>{e.classList.remove("reticle-mark-shake"),p(this,Nr,void 0)},Lk)))},iA=function(e,n,r,i){let s={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:pu()};n.source!==void 0&&(s.source=n.source),c(this,qs).call(this,b.HUMAN_MARK,s),c(this,Xs).call(this),h(this,w,sA).call(this,n,e,r,i),h(this,w,wh).call(this,e,n.anchor,n.label,c(this,ot).length,Yx(n))},wh=function(e,n,r,i,s){var l;let a={note:e,anchor:n,label:r,index:i};s!==void 0&&(a.source=s),(l=c(this,Vc))==null||l.call(this,a)},Ch=function(e,n){c(this,hi)?.remove();let r=document.createElement("div");r.setAttribute(Yn,"pending"),r.textContent=Gx,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,c(this,$t)?.appendChild(r),p(this,hi,r)},sA=function(e,n,r,i){if(c(this,$t)===void 0)return;let s=document.createElement("button");s.type="button",s.setAttribute(Yn,"pin"),s.setAttribute("aria-label",e.label);let a=c(this,ot).length+1;s.innerHTML=`<span>${String(a)}</span><span ${Yn}="tip"><span ${Yn}="tipq"></span><span ${Yn}="tipn"></span></span>`;let l=s.querySelector(vr("tipq")),d=s.querySelector(vr("tipn"));l!==null&&(l.textContent=e.label),d!==null&&(d.textContent=n);let u=Dk(c(this,Or)),f=u?i:i+window.scrollY;s.style.left=`${String(r/window.innerWidth*100)}%`,s.style.top=`${String(u?i:f-window.scrollY)}px`,c(this,$t).appendChild(s);let g={id:`${e.anchor}:${String(c(this,Xs).call(this))}:${String(a)}`,note:n,label:e.label,anchor:e.anchor,route:pu(),xPct:r/window.innerWidth*100,yDoc:f,clientX:r,clientY:i,isFixed:u,pin:s,target:c(this,Or),source:Yx(e)};s.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),c(this,sn)&&h(this,w,yh).call(this,g)}),c(this,ot).push(g),h(this,w,Gc).call(this)},jc=function(){let e=c(this,fi);if(e===void 0)return;let n=c(this,Or);if(n===void 0||!document.contains(n)||c(this,It)===void 0){e.hidden=!0;return}let r=n.getBoundingClientRect();e.hidden=!1,e.style.left=`${String(r.left)}px`,e.style.top=`${String(r.top)}px`,e.style.width=`${String(r.width)}px`,e.style.height=`${String(r.height)}px`},Ih=function(){for(let e of c(this,ot)){if(e.isFixed){e.pin.style.top=`${String(e.clientY)}px`;continue}e.pin.style.top=`${String(e.yDoc-window.scrollY)}px`}h(this,w,aA).call(this),h(this,w,jc).call(this)},aA=function(){let e=c(this,It),n=c(this,mo);if(e===void 0||n===void 0)return;let r=h(this,w,Rh).call(this,n),i=Zx(r.x,r.y);e.style.left=`${String(i.left)}px`,e.style.top=`${String(i.top)}px`},vn=function(){c(this,It)?.remove(),p(this,It,void 0),c(this,hi)?.remove(),p(this,hi,void 0),p(this,mi,void 0),p(this,Or,void 0),p(this,_i,void 0),p(this,mo,void 0),c(this,fi)!==void 0&&(c(this,fi).hidden=!0)};qx="data-reticle-blocker"});var Pk,hu,$k,lA,dA=T(()=>{"use strict";Pk={view:'<g><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0"/><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7s-8.268-2.943-9.542-7"/></g>',pointer:'<path d="M15.042 21.672L13.684 16.6m0 0l-2.51 2.225l.569-9.47l5.227 7.917l-3.286-.672ZM12 2.25V4.5m5.834.166l-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243l-1.59-1.59"/>',send:'<path d="M6 12 3.269 3.126A59.768 59.768 0 0 1 21.485 12 59.77 59.77 0 0 1 3.27 20.876L5.999 12Zm0 0h7.5"/>',chart:'<path d="M9 19v-6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v10m-6 0a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2"/>',"caret-down":'<path d="m19 9l-7 7l-7-7"/>',check:'<path d="m5 13l4 4L19 7"/>',remove:'<path d="m4.5 19.5l15-15m-15 0l15 15"/>',pause:'<path d="M10 9v6m4-6v6m7-3a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',play:'<g><path d="m14.752 11.168l-3.197-2.132A1 1 0 0 0 10 9.87v4.263a1 1 0 0 0 1.555.832l3.197-2.132a1 1 0 0 0 0-1.664"/><path d="M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/></g>',stop:'<g><path d="M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/><path d="M9 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></g>',copy:'<path d="M8 7v8a2 2 0 0 0 2 2h6M8 7V5a2 2 0 0 1 2-2h4.586a1 1 0 0 1 .707.293l4.414 4.414a1 1 0 0 1 .293.707V15a2 2 0 0 1-2 2h-2M8 7H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"/>',download:'<path d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/>',message:'<path d="M8.625 9.75a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227c1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332a48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z"/>',gear:'<g><path d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87c.074.04.147.083.22.127c.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 0 1 0 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124c.072-.044.146-.087.22-.128c.332-.183.582-.495.644-.869l.214-1.281Z"/><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0Z"/></g>',layout:'<path d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"/>',trash:'<path d="m19 7l-.867 12.142A2 2 0 0 1 16.138 21H7.862a2 2 0 0 1-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3M4 7h16"/>',help:'<path d="M8.228 9c.549-1.165 2.03-2 3.772-2c2.21 0 4 1.343 4 3c0 1.4-1.278 2.575-3.006 2.907c-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',"caret-right":'<path d="m9 5l7 7l-7 7"/>',annotate:'<path d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"/>',sync:'<path d="M4.5 12c0-1.232.046-2.453.138-3.662a4.006 4.006 0 0 1 3.7-3.7a48.678 48.678 0 0 1 7.324 0a4.006 4.006 0 0 1 3.7 3.7c.017.22.032.441.046.662M4.5 12l-3-3m3 3l3-3m12 3c0 1.232-.046 2.453-.138 3.662a4.006 4.006 0 0 1-3.7 3.7a48.657 48.657 0 0 1-7.324 0a4.006 4.006 0 0 1-3.7-3.7c-.017-.22-.032-.441-.046-.662M19.5 12l-3 3m3-3l3 3"/>'},hu=Pk,$k={chart:'<path fill="currentColor" d="M2 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm6-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1zm6-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"/>',annotate:'<path fill="currentColor" fill-rule="evenodd" d="m5.433 13.916l1.262-3.154a4 4 0 0 1 .885-1.343L14.5 2.5a2.121 2.121 0 1 1 3 3l-6.92 6.919c-.383.383-.84.684-1.343.885l-3.154 1.262a.5.5 0 0 1-.65-.65ZM2.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H3.75A2.75 2.75 0 0 0 1 5.75v10.5A2.75 2.75 0 0 0 3.75 19h10.5A2.75 2.75 0 0 0 17 16.25V10a.75.75 0 0 0-1.5 0v6.25c0 .69-.56 1.25-1.25 1.25H3.75c-.69 0-1.25-.56-1.25-1.25V5.75Z" clip-rule="evenodd"/>',message:'<path fill="currentColor" fill-rule="evenodd" d="M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902c.848.137 1.705.248 2.57.331v3.443a.75.75 0 0 0 1.28.53l3.58-3.579a.78.78 0 0 1 .527-.224a41.202 41.202 0 0 0 5.183-.5c1.437-.232 2.43-1.49 2.43-2.903V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2Zm0 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2ZM8 8a1 1 0 1 1-2 0a1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2Z" clip-rule="evenodd"/>',view:'<g fill="currentColor"><path d="M10 12a2 2 0 1 0 0-4a2 2 0 0 0 0 4"/><path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10M14 10a4 4 0 1 1-8 0a4 4 0 0 1 8 0" clip-rule="evenodd"/></g>',gear:'<path fill="currentColor" fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54a6.993 6.993 0 0 1 1.93-1.115l.33-1.652ZM10 13a3 3 0 1 0 0-6a3 3 0 0 0 0 6Z" clip-rule="evenodd"/>'},lA=$k});function Uk(t,e){let n=`${t}:${String(e)}`,r=uA.get(n);if(r!==void 0)return document.importNode(r,!0);let i=hu[t];if(i===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let a=new DOMParser().parseFromString(`<svg xmlns="${Yc}" viewBox="${qc}" fill="none">${i}</svg>`,"image/svg+xml").documentElement,l=a instanceof SVGSVGElement?document.importNode(a,!0):document.createElementNS(Yc,"svg");return l.setAttribute("viewBox",qc),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),a instanceof SVGSVGElement||(l.innerHTML=i),uA.set(n,l),document.importNode(l,!0)}function qn(t,e=16){let n=document.createElement("span");return n.className="reticle-hi-icon",n.setAttribute("aria-hidden","true"),n.style.width=`${String(e)}px`,n.style.height=`${String(e)}px`,n.appendChild(Uk(t,e)),n}function kh(t,e,n=16){t.replaceChildren(qn(e,n))}function Te(t,e=16){let n=hu[t];if(n===void 0)throw new Error(`missing heroicon body: ${String(t)}`);return`<span class="reticle-hi-icon" aria-hidden="true" style="width:${String(e)}px;height:${String(e)}px"><svg xmlns="${Yc}" viewBox="${qc}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function Ai(t,e=16){let n=hu[t],r=lA[t];if(n===void 0||r===void 0)throw new Error(`missing heroicon toggle pair: ${String(t)}`);let i=String(e);return`<span class="reticle-hi-toggle" aria-hidden="true" style="width:${i}px;height:${i}px"><span class="reticle-hi-icon reticle-hi-icon--outline" style="width:${i}px;height:${i}px"><svg xmlns="${Yc}" viewBox="${qc}" width="${i}" height="${i}" fill="none">${n}</svg></span><span class="reticle-hi-icon reticle-hi-icon--solid" style="width:${i}px;height:${i}px"><svg xmlns="${Yc}" viewBox="${qc}" width="${i}" height="${i}" fill="currentColor">${r}</svg></span></span>`}var V,ie,Yc,qc,uA,Xn=T(()=>{"use strict";dA();V={VIEW:"view",POINTER:"pointer",SEND:"send",CHART:"chart",CARET_DOWN:"caret-down",CHECK:"check",REMOVE:"remove",PAUSE:"pause",PLAY:"play",STOP:"stop",COPY:"copy",DOWNLOAD:"download",MESSAGE:"message",GEAR:"gear",LAYOUT:"layout",TRASH:"trash",HELP:"help",CARET_RIGHT:"caret-right",ANNOTATE:"annotate",SYNC:"sync"},ie={CHIP:11,LOG:11,TALLY:12,CTL:10,SEND:14,MIN:12,HELP:12,TOOLBAR:18,FAB:22},Yc="http://www.w3.org/2000/svg",qc="0 0 24 24",uA=new Map});function Xc(t){t.scrollTop=t.scrollHeight}function gA(t){Xc(t),requestAnimationFrame(()=>{Xc(t),requestAnimationFrame(()=>Xc(t))}),z(()=>Xc(t),Yk)}function EA(t){return[...t.children].filter(e=>e.hasAttribute(hA))}function Mh(t,e){let n=EA(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function bA(t){for(let e of EA(t))e.remove()}function Ph(t){return t===void 0||!Number.isFinite(t)||t<=0?Hk:Math.floor(t)}function Qc(t){let e=Math.max(0,Math.floor(t/1e3));if(e<60)return`${e}s`;let n=Math.floor(e/60);if(n<60)return e%60===0?`${n}m`:`${n}m ${e%60}s`;let r=Math.floor(n/60);return n%60===0?`${r}h`:`${r}h ${n%60}m`}function TA(t){return Qc(t)}function _A(t,e,n,r,i){let s=document.createElement("div");s.setAttribute(hA,""),s.setAttribute(Vk,e);let a=document.createElement("span");a.setAttribute(mu,""),a.textContent=r;let l=[];e!==Ke.HUMAN&&l.push(a);let d=Fk[e],u=Bk[e];if(d.length>0||u!==void 0){let E=document.createElement("span");if(E.className=Wk,E.setAttribute("data-mode",Gk[e]),u!==void 0&&E.appendChild(qn(u,ie.LOG)),d.length>0){let _=document.createElement("span");_.className="reticle-chip-label",_.textContent=d,E.appendChild(_)}l.push(E)}let f=document.createElement("span");f.className=Kk,f.textContent=n;let g=document.createElement("span");return g.className=Dh,l.push(f),e!==Ke.HUMAN&&l.push(g),s.append(...l),t.appendChild(s),Mh(t,i),requestAnimationFrame(()=>{Xc(t)}),{result:E=>{if(E===Pt.PASS){g.textContent="",g.className=`${Dh} ${pA.pass}`;return}g.textContent=` ${jk[E]}`,g.className=`${Dh} ${pA[E]}`}}}var Hk,Fk,Bk,fA,Gk,jk,pA,Zc,hA,mu,Vk,Kk,Dh,Wk,zk,Yk,mA,go=T(()=>{"use strict";D();mh();Ve();Xn();Hk=50,Fk={read:"READ",act:"ACT",narration:"",human:""},Bk={read:V.VIEW,act:V.POINTER},fA={[Me.IDLE]:"",[Me.READING]:"READING",[Me.ACTING]:"ACTING"},Gk={read:Me.READING,act:Me.ACTING,narration:Me.IDLE,human:Me.IDLE},jk={pass:"",fail:"Fail"},pA={pass:"reticle-pass",fail:"reticle-fail"},Zc="data-reticle-log",hA="data-reticle-log-row",mu="data-reticle-log-time",Vk="data-kind",Kk="reticle-log-text",Dh="reticle-res",Wk="reticle-chip",zk="Agent activity will appear here",Yk=160,mA=`
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:"${zk}";display:block;padding:24px 16px;text-align:center;
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
- [${mu}]{flex:none;color:var(--reticle-faint);font-size:9px;font-variant-numeric:tabular-nums;padding-top:2px;min-width:2em;opacity:.85;}
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
- `});function AA(t,e=typeof navigator>"u"?void 0:navigator){return t!==void 0?t:e?.webdriver===!0?0:qk}var yi,SA,Jc,xA,gu,qk,Nn,yA,RA,vA,Eo,NA,OA,wA,Cr,bo,St,Eu,$h,ke,qe,j,CA,el,tl,ea,ta,Ht,na,bu,Tu,_u,Su,IA,Uh,Hh,an,P,Fh,xu,xt,Ge,nl,I,Bh,ra,Gh,Au,LA,rl,kA,jh,yu,Zn,DA,Ru,vu,Nu,Vh,Ou,MA,PA,Kh,it=T(()=>{"use strict";yi={SESSION:"session",BUSY:"busy"},SA=yi.SESSION,Jc="data-busy",xA="1",gu="0",qk=450;Nn={IDLE:"idle",BUSY:"busy",FADING:"fading"},yA=700,RA=1e3,vA=4e3,Eo={READY:"Ready",PLANNING_PREFIX:"planning next action \xB7 ",STOPPED:"stopped",STOPPED_PREFIX:"stopped \xB7 ",NOW:"now",SINCE_LAST:" since last action"},NA=3e5,OA=5e3,wA=250,Cr="1",bo="0",St="data-on",Eu="data-reticle-state",$h="unreachable",ke="data-reticle-min",qe="data-reticle-chat",j="data-reticle-dock",CA="data-reticle-fab",el="data-reticle-chat-toggle",tl="data-reticle-chat-panel",ea="data-reticle-chat-placement",ta="data-reticle-settings-placement",Ht="data-reticle-dock-align",na={ABOVE:"above",BELOW:"below"},bu="data-reticle-markers-btn",Tu="data-reticle-clear-marks",_u="data-reticle-copy-marks",Su="data-reticle-marks-row",IA="data-reticle-mark-count",Uh="data-reticle-annotate-btn",Hh="data-reticle-chat-min",an="data-reticle-report",P="data-reticle-report-panel",Fh="data-reticle-report-close",xu="data-reticle-report-btn",xt="data-reticle-chat-pill",Ge="data-reticle-settings",nl="data-reticle-settings-btn",I="data-reticle-settings-panel",Bh="data-reticle-settings-close",ra="data-reticle-setting",Gh="reticle-presenter-settings",Au="reticle-presenter-minimised",LA="data-reticle-ambient-glow",rl="data-reticle-live",kA="data-reticle-block",jh="data-reticle-hidden",yu="data-reticle-log-ts",Zn="data-reticle-reduce-motion",DA="https://github.com/reticlehq/reticle/blob/main/docs/getting-started.md",Ru="data-dragged",vu="--reticle-hud-x",Nu="--reticle-hud-y",Vh=4,Ou=8,MA="[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], input, textarea, select, a, .reticle-head-ctl, [data-reticle-tally], .reticle-maxhint",PA="data-reticle-throttled",Kh=100});var Ft,Wh,ol,Ir,$A,wu,UA,Lr=T(()=>{"use strict";Ft="reticle-hud-surface",Wh="linear-gradient(165deg,#121218 0%,#09090c 42%,#000 100%)",ol=`background:${Wh};box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.09);`,Ir="0 16px 40px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08)",$A=`
111
- .${Ft}{
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
- ${ol}
136
+ ${Zl}
115
137
  }
116
- .${Ft}::before,
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
- .${Ft} > *{position:relative;z-index:2;}`,wu="reticle-hud-log-well",UA=`
124
- .${wu}{
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:210px;min-height:96px;max-height:210px;overflow:hidden;
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
- .${wu} > *{position:relative;z-index:1;}`});function oa(t){return t.getAttribute(Ru)==="1"}function Cu(t,e,n,r,i,s,a=Ou){let l=a,d=a,u=Math.max(l,i-n-a),f=Math.max(d,s-r-a);return{left:Math.max(l,Math.min(t,u)),top:Math.max(d,Math.min(e,f))}}function ia(t,e,n){t.setAttribute(Ru,"1"),t.style.setProperty(vu,`${String(e)}px`),t.style.setProperty(Nu,`${String(n)}px`)}function zh(t){t.removeAttribute(Ru),t.style.removeProperty(vu),t.style.removeProperty(Nu)}function Iu(t){let e=t.getBoundingClientRect();return{left:e.left,top:e.top,width:e.width,height:e.height}}function Lu(t){let e=t.style.getPropertyValue(vu),n=t.style.getPropertyValue(Nu);if(e!==""&&n!=="")return{left:Number.parseFloat(e),top:Number.parseFloat(n)};let r=t.getBoundingClientRect();return{left:r.left,top:r.top}}function il(t){if(!oa(t))return;let{left:e,top:n}=Lu(t),{width:r,height:i}=Iu(t),s=Cu(e,n,r,i,window.innerWidth,window.innerHeight);ia(t,s.left,s.top)}var ku=T(()=>{"use strict";it()});function Jk(t){if(t.length===0)return;let e=t[0]?.left??0,n=t[0]?.top??0,r=t[0]?.right??0,i=t[0]?.bottom??0;for(let s of t.slice(1))e=Math.min(e,s.left),n=Math.min(n,s.top),r=Math.max(r,s.right),i=Math.max(i,s.bottom);return{left:e,top:n,right:r,bottom:i}}function VA(t,e,n){return t>=n?na.ABOVE:e>=n?na.BELOW:e>t?na.BELOW:na.ABOVE}function KA(t,e,n,r){let i=na.ABOVE===t?e-r:n-r;return Math.max(0,i)}function WA(t,e,n){let r=`${String(n)}px`;t.style.setProperty(e,r),t.style.maxHeight=r}function zA(t,e){t.style.removeProperty(e),t.style.removeProperty("max-height")}function Du(t){if(t===null)return!1;let e=window.getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"}function eD(t){let e=t.querySelector(`[${HA}]`);if(e instanceof HTMLElement)return e;if(t.hasAttribute(HA)||oa(t))return t}function YA(t,e){let n=eD(t);if(n===void 0)return;let r=e.getAttribute(qe)==="1",i=e.getAttribute(Ge)==="1",s=t.querySelector(`[${tl}]`),a=t.querySelector(`[${I}]`),l=Ou,d=window.innerWidth,u=window.innerHeight,f=n.getBoundingClientRect(),g=f.top-l,E=u-f.bottom-l;if(r&&s instanceof HTMLElement&&Du(s)){let se=s.getBoundingClientRect().height||GA,xe=VA(g,E,se+FA);t.setAttribute(ea,xe);let ge=Math.min(GA,Math.max(Zk,KA(xe,g,E,FA)));WA(s,"--reticle-chat-max-h",ge)}else t.removeAttribute(ea),s instanceof HTMLElement&&zA(s,"--reticle-chat-max-h");if(i&&a instanceof HTMLElement&&Du(a)){let se=a.getBoundingClientRect().height||jA,xe=VA(g,E,se+Xk+BA);t.setAttribute(ta,xe);let ge=Math.min(jA,Math.max(Qk,KA(xe,g,E,BA)));WA(a,"--reticle-settings-max-h",ge)}else t.removeAttribute(ta),a instanceof HTMLElement&&zA(a,"--reticle-settings-max-h");let _=Math.max(r&&s instanceof HTMLElement?s.getBoundingClientRect().width:0,i&&a instanceof HTMLElement?a.getBoundingClientRect().width:0);if(r||i){let se=f.right-_,xe=f.left+_;se<l||f.left<l?t.setAttribute(Ht,"start"):xe>d-l||f.right>d-l?t.setAttribute(Ht,"end"):t.setAttribute(Ht,"end")}else t.removeAttribute(Ht);if(!r&&!i){oa(t)&&il(t);return}let S=[f];r&&s instanceof HTMLElement&&Du(s)&&S.push(s.getBoundingClientRect()),i&&a instanceof HTMLElement&&Du(a)&&S.push(a.getBoundingClientRect());let U=Jk(S);if(U===void 0)return;let L=0,G=0;if(U.left<l?L=l-U.left:U.right>d-l&&(L=d-l-U.right),U.top<l?G=l-U.top:U.bottom>u-l&&(G=u-l-U.bottom),L===0&&G===0)return;let $=t.getBoundingClientRect(),Q=oa(t)?Lu(t):{left:$.left,top:$.top};ia(t,Q.left+L,Q.top+G)}function kr(t,e){Mu!==void 0&&cancelAnimationFrame(Mu),Mu=requestAnimationFrame(()=>{Mu=void 0,YA(t,e),requestAnimationFrame(()=>YA(t,e))})}function qA(t){let e=t.querySelector(`[${j}]`);return e instanceof HTMLElement?e:void 0}var HA,FA,BA,Xk,Zk,GA,jA,Qk,Mu,Pu=T(()=>{"use strict";it();ku();HA="data-reticle-hud",FA=8,BA=12,Xk=44,Zk=160,GA=420,jA=520,Qk=200});function ZA(t,e){let n=()=>{kr(t,e)},r=new AbortController,{signal:i}=r,s=()=>n();window.addEventListener("resize",s,{signal:i});let a;typeof ResizeObserver<"u"&&(a=new ResizeObserver(()=>n()),a.observe(t));let l=new MutationObserver(()=>n());l.observe(e,{attributes:!0,attributeFilter:[ke,qe,Ge]});let d=()=>n();return window.visualViewport?.addEventListener("resize",d,{signal:i}),window.visualViewport?.addEventListener("scroll",d,{signal:i}),()=>{r.abort(),a?.disconnect(),l.disconnect()}}function tD(t,e,n={}){let r=!1,i=0,s=0,a=0,l=0,d=!1,u,f=()=>{let $=d;if(r=!1,e.classList.remove(XA),u=void 0,d=!1,$){let Q=t.parentElement;Q instanceof HTMLElement?kr(t,Q):il(t)}n.onDragEnd?.($)},g=$=>{if($.button!==0)return;let Q=$.target;if(!(Q instanceof Element)||Q.closest(MA)!==null)return;let se=t.getBoundingClientRect();i=$.clientX,s=$.clientY,a=se.left,l=se.top,r=!0,d=!1,u=$.pointerId,e.classList.add(XA),typeof e.setPointerCapture=="function"&&e.setPointerCapture($.pointerId),$.preventDefault()},E=$=>{if(!r||$.pointerId!==u)return;let Q=$.clientX-i,se=$.clientY-s;if(!d&&Math.abs(Q)<Vh&&Math.abs(se)<Vh)return;d=!0,n.onDragMove?.();let xe=Iu(t),ge=Cu(a+Q,l+se,xe.width,xe.height,window.innerWidth,window.innerHeight);ia(t,ge.left,ge.top),$.preventDefault()},_=$=>{typeof e.releasePointerCapture=="function"&&e.releasePointerCapture($)},S=$=>{!r||$.pointerId!==u||(d&&$.preventDefault(),_($.pointerId),f())},U=$=>{!r||$.pointerId!==u||(_($.pointerId),f())},L=new AbortController,{signal:G}=L;return e.addEventListener("pointerdown",g,{signal:G}),e.addEventListener("pointermove",E,{signal:G}),e.addEventListener("pointerup",S,{signal:G}),e.addEventListener("pointercancel",U,{signal:G}),()=>{L.abort(),r&&_(u??0),f()}}function QA(t,e,n={}){let r=e.map(i=>tD(t,i,n));return()=>{for(let i of r)i()}}var XA,Yh=T(()=>{"use strict";it();Pu();ku();ku();XA="reticle-drag-handle--dragging"});var $u,qh=T(()=>{"use strict";it();Lr();$u=`
135
- [data-reticle-overlay][${Ge}="1"] [data-reticle-chat-panel]{
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
- [${I}]{
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:${Ir};
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;${ol}}
149
- [${j}][${ta}="below"] [${I}]{
170
+ contain:none;isolation:isolate;${Zl}}
171
+ [${C}][${Xi}="below"] [${N}]{
150
172
  bottom:auto;top:calc(100% + 12px);}
151
- [${j}][${Ht}="start"] [${I}]{
173
+ [${C}][${_t}="start"] [${N}]{
152
174
  right:auto;left:0;}
153
- [${j}][${ta}="below"] [${I}].${Ft}::after{
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
- [${j}][${Ht}="start"] [${I}].${Ft}::after{
177
+ [${C}][${_t}="start"] [${N}].${rn}::after{
156
178
  right:auto;left:14px;}
157
- [data-reticle-overlay][${Ge}="1"] [${I}]{
179
+ [data-reticle-overlay][${We}="1"] [${N}]{
158
180
  opacity:1;pointer-events:auto;visibility:visible;transform:translate3d(0,0,0) scale(1);}
159
- [${I}] .reticle-settings-inner{
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
- [${I}] .reticle-settings-head{
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
- [${I}] .reticle-settings-title{
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
- [${I}].${Ft}::after{
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
- [${I}] .reticle-settings-close{
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
- [${I}] .reticle-settings-close:hover{background:rgba(255,255,255,.12);color:var(--reticle-fg);}
177
- [${I}] .reticle-settings-close:active{transform:scale(.94);}
178
- [${I}] .reticle-settings-close:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:1px;}
179
- [${I}] .reticle-settings-body{
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
- [${I}] .reticle-settings-body::-webkit-scrollbar{width:8px;}
185
- [${I}] .reticle-settings-body::-webkit-scrollbar-thumb{
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
- [${I}] .reticle-settings-row{
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
- [${I}] .reticle-settings-label{
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
- [${I}] .reticle-settings-help{
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
- [${I}] .reticle-settings-help:hover{color:rgba(255,255,255,.75);}
197
- [${I}] .reticle-settings-help:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:1px;}
198
- [${I}] .reticle-settings-cycle{
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
- [${I}] .reticle-settings-cycle:hover{background:rgba(255,255,255,.12);}
203
- [${I}] .reticle-settings-cycle:active{transform:scale(.97);}
204
- [${I}] .reticle-settings-cycle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:1px;}
205
- [${I}] .reticle-settings-dots{display:inline-flex;flex-direction:column;gap:2px;}
206
- [${I}] .reticle-settings-dot{
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
- [${I}] .reticle-settings-dot[data-on="1"]{background:var(--reticle-accent);}
209
- [${I}] .reticle-settings-toggle{
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
- [${I}] .reticle-settings-toggle[data-on="1"]{background:var(--reticle-accent);}
213
- [${I}] .reticle-settings-toggle::after{
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
- [${I}] .reticle-settings-toggle[data-on="1"]::after{transform:translateX(10px);}
217
- [${I}] .reticle-settings-toggle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
218
- [${I}] .reticle-settings-row[data-disabled="1"]{opacity:.45;pointer-events:none;}
219
- [${I}] .reticle-settings-section{
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
- [${I}] .reticle-settings-swatches{
243
+ [${N}] .reticle-settings-swatches{
222
244
  display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;}
223
- [${I}] .reticle-settings-swatch{
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
- [${I}] .reticle-settings-swatch:hover{transform:scale(1.06);}
228
- [${I}] .reticle-settings-swatch[data-on="1"]{
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
- [${I}] .reticle-settings-swatch:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:2px;}
231
- [${I}] .reticle-settings-checkrow{
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
- [${I}] .reticle-settings-checkrow:hover{background:rgba(255,255,255,.03);}
235
- [${I}] .reticle-settings-check{
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
- [${I}] .reticle-settings-check[data-on="1"]{
261
+ [${N}] .reticle-settings-check[data-on="1"]{
240
262
  background:#fafafa;border-color:#fafafa;color:#111;}
241
- [${I}] .reticle-settings-check:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
242
- [${I}] .reticle-settings-foot{
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
- [${I}] .reticle-settings-reset{
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
- [${I}] .reticle-settings-reset:hover{background:rgba(255,255,255,.08);color:#fff;}
250
- [${I}] .reticle-settings-reset:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
251
- [${I}] .reticle-settings-link{
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
- [${I}] .reticle-settings-link-caret{display:inline-flex;align-items:center;flex:none;opacity:.55;}
257
- [${I}] .reticle-settings-link:hover{background:rgba(255,255,255,.04);color:#fff;}
258
- [${I}] .reticle-settings-link:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
259
- [data-reticle-overlay][${Ge}="1"] [data-reticle-hud] .reticle-tb-tip{
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
- [${I}] .reticle-settings-themes{
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
- [${I}] .reticle-settings-theme{
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
- [${I}] .reticle-settings-theme:hover{background:rgba(255,255,255,.07);}
272
- [${I}] .reticle-settings-theme[data-on="1"]{
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
- [${I}] .reticle-settings-theme-band{display:block;height:6px;}
275
- [${I}] .reticle-settings-theme-band:first-of-type{height:10px;}
276
- [${I}] .reticle-settings-theme-name{
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"] [${j}],
283
- [data-reticle-overlay][data-reticle-hidden="1"] [${I}]{display:none !important;}
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 Xe(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function sl(t){try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}var Xh=T(()=>{"use strict"});function ey(t){let n=(t??"").trim().split(/[\s._-]+/).filter(r=>r.length>0).slice(0,2).map(r=>[...r][0]??"").join("");return n.length>0?n.toUpperCase():de.AVATAR_FALLBACK}function sa(t,e={},n=!1){if(t===void 0)return"";if(!t.signedIn)return n?`<div class="reticle-account" ${JA}><button type="button" class="reticle-account-signin" ${Ri} title="${de.SIGNIN_TITLE}" aria-label="${de.SIGNIN_TITLE}">${de.SIGNED_OUT}</button></div>`:"";let r=t.org??"",i=r.length>0?Xe(r):de.SIGNED_IN_AS,s=`<span class="reticle-account-avatar" aria-hidden="true">${Xe(ey(t.org))}</span>`,a=`<button type="button" class="reticle-account-trigger" ${Zh} aria-haspopup="true" aria-expanded="false" title="${de.TRIGGER_TITLE}" aria-label="${de.TRIGGER_TITLE}: ${i}">${s}</button>`;return`<div class="reticle-account" ${JA}>${a}${oD(t,e)}</div>`}function Uu(t,e){return e===void 0||e.length===0?"":`<div class="reticle-account-row"><span class="reticle-account-k">${Xe(t)}</span><span class="reticle-account-v" title="${Xe(e)}">${Xe(e)}</span></div>`}function oD(t,e){let n=t.org??"",r=`<div class="reticle-account-head"><span class="reticle-account-avatar reticle-account-avatar--lg" aria-hidden="true">${Xe(ey(t.org))}</span><span class="reticle-account-who"><span class="reticle-account-org">${n.length>0?Xe(n):de.SIGNED_IN_AS}</span>`+(t.email!==void 0&&t.email.length>0?`<span class="reticle-account-email" title="${Xe(t.email)}">${Xe(t.email)}</span>`:`<span class="reticle-account-email">${de.SIGNED_IN_AS}</span>`)+"</span></div>",i=Uu(de.HOST_LABEL,t.host)+Uu(de.PROJECT_LABEL,e.projectName)+Uu(de.VERDICTS_LABEL,e.verdicts!==void 0?String(e.verdicts):void 0)+Uu(de.DEFECTS_LABEL,e.defects!==void 0?String(e.defects):void 0),a=e.dashboardUrl!==void 0&&sl(e.dashboardUrl)?`<a class="reticle-account-action" data-reticle-account-dashboard href="${Xe(e.dashboardUrl??"")}" target="_blank" rel="noreferrer noopener" title="${de.DASHBOARD_TITLE}">${Te(V.VIEW,ie.HELP)}<span>${de.DASHBOARD_ACTION}</span></a>`:`<button type="button" class="reticle-account-action reticle-account-action--hint" ${Ri} data-reticle-copy="${de.LINK_COMMAND}" title="${de.LINK_HINT}"><span>${de.LINK_HINT}</span></button>`,l=`<button type="button" class="reticle-account-action" ${nD} data-reticle-copy="${de.SIGNOUT_COMMAND}" title="${de.SIGNOUT_TITLE}"><span>${de.SIGNOUT_ACTION}</span></button>`;return`<div class="reticle-account-menu" ${Hu} role="menu" aria-label="${de.MENU_LABEL}" aria-hidden="true" hidden>`+r+(i.length>0?`<div class="reticle-account-rows">${i}</div>`:"")+`<div class="reticle-account-actions">${a}${l}</div></div>`}function Jh(t){return t===void 0||!sl(t)?"":`<button type="button" class="reticle-sync-now" ${Qh} title="${de.SYNC_TITLE}" aria-label="${de.SYNC_TITLE}">${Te(V.SYNC,ie.HELP)}</button>`}function ty(t){let e=new AbortController,{signal:n}=e,r=s=>{for(let a of t.querySelectorAll(`[${Hu}]`))a!==s&&(a.setAttribute("hidden",""),a.setAttribute("aria-hidden","true"));for(let a of t.querySelectorAll(`[${Zh}]`))s!==void 0&&a.parentElement===s.parentElement||a.setAttribute("aria-expanded","false")},i=s=>{let a=s.querySelector("span")??s,l=a.textContent;a.textContent=de.COPIED,setTimeout(()=>{a.textContent=l},rD)};return t.addEventListener("click",s=>{let a=s.target;if(!(a instanceof Element))return;let l=a.closest(`[${Zh}]`);if(l instanceof HTMLElement){s.preventDefault(),s.stopPropagation();let f=l.parentElement?.querySelector(`[${Hu}]`);if(!(f instanceof HTMLElement))return;let g=!f.hasAttribute("hidden");if(r(),g)return;f.removeAttribute("hidden"),f.setAttribute("aria-hidden","false"),l.setAttribute("aria-expanded","true");return}let d=a.closest("[data-reticle-copy]");if(d instanceof HTMLElement){s.preventDefault(),s.stopPropagation();let f=d.getAttribute("data-reticle-copy")??"";f.length>0&&navigator.clipboard?.writeText(f).catch(()=>{}),i(d);return}let u=a.closest(`[${Ri}]`);if(u instanceof HTMLElement){s.preventDefault(),s.stopPropagation(),navigator.clipboard?.writeText(de.SIGNIN_COMMAND).catch(()=>{}),i(u);return}r()},{signal:n}),document.addEventListener("pointerdown",s=>{let a=s.target;a instanceof Node&&t.contains(a)||r()},{signal:n}),document.addEventListener("keydown",s=>{s.key!=="Escape"||t.querySelector(`[${Hu}]:not([hidden])`)===null||(s.stopPropagation(),r())},{signal:n}),()=>e.abort()}var JA,Ri,Qh,Zh,Hu,nD,de,rD,al=T(()=>{"use strict";Xn();Xh();JA="data-reticle-account",Ri="data-reticle-account-signin",Qh="data-reticle-sync-now",Zh="data-reticle-account-trigger",Hu="data-reticle-account-menu",nD="data-reticle-account-signout",de={SIGNED_OUT:"Sign in",SIGNIN_TITLE:"Run `reticle login` in your terminal \u2014 click to copy the command",SIGNIN_COMMAND:"reticle login",DASHBOARD_TITLE:"Open this project on the dashboard",SYNC_TITLE:"Push to the dashboard now, instead of waiting for the next sync",COPIED:"Copied",AVATAR_FALLBACK:"\u2022",MENU_LABEL:"Reticle account",TRIGGER_TITLE:"Your Reticle account",SIGNED_IN_AS:"Signed in",DASHBOARD_ACTION:"Open dashboard",LINK_HINT:"Not linked \u2014 run `reticle link` to keep a record on the dashboard",LINK_COMMAND:"reticle link",SIGNOUT_ACTION:"Sign out",SIGNOUT_TITLE:"Run `reticle logout` in your terminal \u2014 click to copy the command",SIGNOUT_COMMAND:"reticle logout",PROJECT_LABEL:"Project",HOST_LABEL:"Host",VERDICTS_LABEL:"Verdicts",DEFECTS_LABEL:"Defects found"},rD=1200});var ly={};Va(ly,{OutputDetail:()=>On,PresenterSettingsPanel:()=>ll,SETTINGS_ACCOUNT_ATTR:()=>sm,SETTINGS_CSS:()=>$u,blockerHtml:()=>lm,getPresenterSettings:()=>Bt,loadPresenterSettings:()=>im,paintHarnessRow:()=>ay,paintSettingsAccount:()=>am,settingsPanelHtml:()=>cm,statusTheme:()=>dl,syncPageBlocker:()=>ul});function dl(t){return om.find(e=>e.id===t)??iD}function Bt(){return Ze}function im(){if(typeof localStorage>"u")return{...cn};try{let t=localStorage.getItem(Gh);if(t===null)return{...cn};let e=JSON.parse(t);if(typeof e!="object"||e===null)return{...cn};let n=e;return{outputDetail:sD(n.outputDetail)?n.outputDetail:cn.outputDetail,reactComponents:n.reactComponents===!0,hideUntilRestart:!1,statusThemeId:aD(n.statusThemeId)?n.statusThemeId:cn.statusThemeId,ambientGlow:typeof n.ambientGlow=="boolean"?n.ambientGlow:cn.ambientGlow,clearOnCopy:n.clearOnCopy===!0,blockPageInteractions:typeof n.blockPageInteractions=="boolean"?n.blockPageInteractions:cn.blockPageInteractions,showTally:typeof n.showTally=="boolean"?n.showTally:cn.showTally,showTimestamps:typeof n.showTimestamps=="boolean"?n.showTimestamps:cn.showTimestamps,autoOpenChat:typeof n.autoOpenChat=="boolean"?n.autoOpenChat:cn.autoOpenChat,reduceMotion:typeof n.reduceMotion=="boolean"?n.reduceMotion:cn.reduceMotion}}catch{return{...cn}}}function sD(t){return t===On.MINIMAL||t===On.STANDARD||t===On.VERBOSE}function aD(t){return om.some(e=>e.id===t)}function cD(t){if(Ze=t,!(typeof localStorage>"u"))try{localStorage.setItem(Gh,JSON.stringify(t))}catch{}}function lD(t){let e={...Ze,...t};return cD(e),e}function dD(){return Te(V.HELP,ie.HELP)}function em(t,e){let n=dD();return`<span class="reticle-settings-label">${t}<button type="button" class="reticle-settings-help" data-reticle-settings-help title="${e}" aria-label="${e}">${n}</button></span>`}function To(t,e,n,r=""){return`<div class="reticle-settings-row" ${r}>
286
- ${em(e,n)}
287
- <button type="button" class="reticle-settings-toggle" ${ra}="${t}" role="switch" aria-checked="false"></button>
288
- </div>`}function ny(t,e,n){return`<label class="reticle-settings-checkrow" data-reticle-check-row="${t}">
317
+ `});function _e(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}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 ay(t,e){let n=t.querySelector(`[${iy}]`);if(!(n instanceof HTMLElement))return;if(e===void 0){n.hidden=!0;return}n.hidden=!1;let r=n.querySelector(`[${ra}="harnessEnabled"]`);if(!(r instanceof HTMLElement))return;let i=e.harnessEntitled;r.setAttribute("aria-checked",e.harnessEnabled&&i?"true":"false"),r.setAttribute("aria-disabled",i?"false":"true");let s=n.querySelector("[data-reticle-help]");s instanceof HTMLElement&&(s.title=i?sy:uD)}function am(t,e,n,r={}){let i=t.querySelector(`[${oy}]`),s=t.querySelector(`[${sm}]`);if(!(i instanceof HTMLElement)||!(s instanceof HTMLElement))return;let a=sa(e,{...r,dashboardUrl:n},!0);i.hidden=a.length===0,s.innerHTML=a}function cm(){let t=Te(V.REMOVE,ie.MIN),e=Te(V.CARET_RIGHT,ie.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",i="Hide the Reticle HUD until you reload the page",s=sy;return`<div ${I} class="reticle-settings ${Ft}" role="region" aria-label="Reticle settings" aria-hidden="true">
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" ${Bh} class="reticle-settings-close" title="Close settings" aria-label="Close settings">${t}</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
- ${em("Output Detail",n)}
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
- ${To("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.")}
304
- ${To("showTimestamps","Show timestamps","Show relative timestamps on each activity-log row")}
305
- ${To("showTally","Show verdict tally","Show the pass/fail score pill in the toolbar")}
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
- ${To("reactComponents","React Components",r,"data-reticle-settings-react-row")}
339
+ ${Qi("reactComponents","React Components",r,"data-reticle-settings-react-row")}
308
340
  <div class="reticle-settings-section">Interaction</div>
309
- ${ny("blockPageInteractions","Block page interactions",!0)}
310
- ${ny("clearOnCopy","Clear on copy/send",!1)}
311
- ${To("hideUntilRestart","Hide Until Restart",i)}
312
- ${To("harnessEnabled","Autonomous driving",s,`${iy} hidden`)}
313
- ${To("reduceMotion","Reduce motion","Reduce HUD animations for accessibility")}
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" ${oy} hidden>
316
- ${em("Workspace",pD)}
317
- <span ${sm}></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
- ${To("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.")}
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
- </div>
323
- <div class="reticle-settings-foot">
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>Manage MCP &amp; Webhooks<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></button>
326
- <a class="reticle-settings-link" data-reticle-feedback-email href="${DE}" target="_blank" rel="noopener noreferrer" title="${Fu.EMAIL_TITLE}">${Fu.EMAIL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
327
- <a class="reticle-settings-link" data-reticle-feedback-call href="${fs}" target="_blank" rel="noopener noreferrer" title="${Fu.CALL_TITLE}">${Fu.CALL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
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 ry(t,e){let n=dl(e.statusThemeId);t.style.setProperty("--reticle-mark-accent",n.active),t.style.setProperty("--reticle-accent",n.active),t.style.setProperty("--reticle-c-active",n.active),t.style.setProperty("--reticle-c-idle",n.idle),t.style.setProperty("--reticle-c-ended",n.ended),t.setAttribute(LA,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(jh,"1"):t.removeAttribute(jh),t.setAttribute(yu,e.showTimestamps?"1":"0"),t.setAttribute(Zn,e.reduceMotion?"1":"0");let r=t.querySelector("[data-reticle-tally]");r instanceof HTMLElement&&!e.showTally&&r.setAttribute("hidden","")}function ul(t,e,n){t.setAttribute(kA,e.blockPageInteractions&&n?"1":"0")}function lm(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var On,vi,om,iD,cl,cn,Ze,sm,oy,iy,sy,uD,pD,Fu,At,st,Qn,Dr,ce,tm,ln,nm,_o,rm,cy,ll,aa=T(()=>{"use strict";it();Xn();Lr();Yh();Pu();qh();D();al();On={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},vi={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},om=[{id:vi.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:vi.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:vi.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:vi.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:vi.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],iD={id:vi.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};cl=[{value:On.MINIMAL,label:"Minimal"},{value:On.STANDARD,label:"Standard"},{value:On.VERBOSE,label:"Verbose"}],cn={outputDetail:On.STANDARD,statusThemeId:vi.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},Ze=im();sm="data-reticle-settings-account",oy="data-reticle-settings-account-row",iy="data-reticle-settings-harness-row",sy="Let Reticle drive this app by itself to find defects. Set here or in your dashboard \u2014 both write to the same place.",uD="Autonomous driving runs on Reticle\u2019s model spend, so it needs a plan or the free period. Claim it from the chat panel.",pD="Whether this machine is signed in to a Reticle workspace. Signing in happens in your terminal.";Fu={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${kE}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"};ll=class{constructor(e={}){m(this,ce);m(this,At);m(this,st);m(this,Qn);m(this,Dr);p(this,Dr,e),Ze=im()}contains(e){return c(this,st)?.contains(e)===!0}mount(e){p(this,At,e);let n=e.querySelector(`[${I}]`);p(this,st,n instanceof HTMLElement?n:void 0),c(this,st)?.addEventListener("pointerdown",s=>{s.stopPropagation()});let r=e.querySelector(`[${nl}]`);p(this,Qn,r instanceof HTMLElement?r:void 0);let i=e.querySelector(`[${Bh}]`);i instanceof HTMLElement&&kh(i,V.REMOVE,ie.MIN),c(this,Qn)!==void 0&&(kh(c(this,Qn),V.GEAR,ie.TOOLBAR),c(this,Qn).addEventListener("click",s=>{s.stopPropagation(),this.toggle()})),e.querySelector('[data-reticle-settings-cycle="outputDetail"]')?.addEventListener("click",s=>{s.stopPropagation();let a=cl.findIndex(d=>d.value===Ze.outputDetail),l=cl[(a+1)%cl.length];l!==void 0&&h(this,ce,ln).call(this,{outputDetail:l.value})});for(let s of e.querySelectorAll(".reticle-settings-help"))s.addEventListener("click",a=>{a.stopPropagation()});for(let s of e.querySelectorAll(`[${ra}]`)){let a=()=>{if(!(s instanceof HTMLElement))return;let l=s.getAttribute(ra);if(l==="harnessEnabled"){if(s.getAttribute("aria-disabled")==="true")return;let d=s.getAttribute("aria-checked")!=="true";s.setAttribute("aria-checked",d?"true":"false"),c(this,Dr).onHarness?.(d)}else if(l==="reactComponents")h(this,ce,ln).call(this,{reactComponents:!Ze.reactComponents});else if(l==="hideUntilRestart"){let d=!Ze.hideUntilRestart;h(this,ce,ln).call(this,{hideUntilRestart:d}),d&&c(this,Dr).onHideUntilRestart?.()}else l==="showTally"?h(this,ce,ln).call(this,{showTally:!Ze.showTally}):l==="autoOpenChat"?h(this,ce,ln).call(this,{autoOpenChat:!Ze.autoOpenChat}):l==="showTimestamps"?h(this,ce,ln).call(this,{showTimestamps:!Ze.showTimestamps}):l==="reduceMotion"?h(this,ce,ln).call(this,{reduceMotion:!Ze.reduceMotion}):l==="ambientGlow"&&h(this,ce,ln).call(this,{ambientGlow:!Ze.ambientGlow})};s.addEventListener("click",l=>{l.stopPropagation(),a()}),s.addEventListener("keydown",l=>{l instanceof KeyboardEvent&&(l.key===" "||l.key==="Enter")&&(l.preventDefault(),l.stopPropagation(),a())})}for(let s of e.querySelectorAll("[data-reticle-check]")){let a=()=>{if(!(s instanceof HTMLElement))return;let d=s.getAttribute("data-reticle-check");d==="clearOnCopy"?h(this,ce,ln).call(this,{clearOnCopy:!Ze.clearOnCopy}):d==="blockPageInteractions"&&h(this,ce,ln).call(this,{blockPageInteractions:!Ze.blockPageInteractions})};s.closest("[data-reticle-check-row]")?.addEventListener("click",d=>{d.stopPropagation(),!(d.target instanceof HTMLElement&&d.target.classList.contains("reticle-settings-help"))&&a()}),s.addEventListener("keydown",d=>{d instanceof KeyboardEvent&&(d.key===" "||d.key==="Enter")&&(d.preventDefault(),a())})}e.querySelector("[data-reticle-settings-mcp]")?.addEventListener("click",s=>{s.stopPropagation(),window.open(DA,"_blank","noopener,noreferrer")}),e.querySelector("[data-reticle-settings-reset]")?.addEventListener("click",s=>{s.stopPropagation();let a=e.querySelector(`[${j}]`);a instanceof HTMLElement&&zh(a)}),i?.addEventListener("click",s=>{s.stopPropagation(),this.close()}),h(this,ce,cy).call(this),h(this,ce,nm).call(this),ry(e,Ze),c(this,Dr).onSettingsChange?.(Ze)}paintHarness(e){let n=c(this,st);n!==void 0&&ay(n,e)}teardown(){p(this,At,void 0),p(this,st,void 0),p(this,Qn,void 0)}isOpen(){return c(this,At)?.getAttribute(Ge)==="1"}open(){c(this,At)!==void 0&&(c(this,Dr).onBeforeOpen?.(),c(this,At).setAttribute(Ge,"1"),c(this,st)?.setAttribute("aria-hidden","false"),c(this,Qn)?.setAttribute("data-active","1"),h(this,ce,tm).call(this))}close(){c(this,At)!==void 0&&(c(this,At).setAttribute(Ge,"0"),c(this,st)?.setAttribute("aria-hidden","true"),c(this,Qn)?.setAttribute("data-active","0"),h(this,ce,tm).call(this))}toggle(){this.isOpen()?this.close():this.open()}};At=new WeakMap,st=new WeakMap,Qn=new WeakMap,Dr=new WeakMap,ce=new WeakSet,tm=function(){if(c(this,At)===void 0)return;let e=qA(c(this,At));e!==void 0&&kr(e,c(this,At))},ln=function(e){let n=lD(e);c(this,At)!==void 0&&ry(c(this,At),n),h(this,ce,nm).call(this),c(this,Dr).onSettingsChange?.(n)},nm=function(){let e=Ze,n=c(this,st)?.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=cl.find(i=>i.value===e.outputDetail)?.label??"Standard");let r=c(this,st)?.querySelector("[data-reticle-cycle-dots]");r?.replaceChildren(...cl.map(i=>{let s=document.createElement("span");return s.className="reticle-settings-dot",s.setAttribute("data-on",i.value===e.outputDetail?"1":"0"),s})),h(this,ce,_o).call(this,"reactComponents",e.reactComponents),h(this,ce,_o).call(this,"hideUntilRestart",e.hideUntilRestart),h(this,ce,_o).call(this,"showTally",e.showTally),h(this,ce,_o).call(this,"autoOpenChat",e.autoOpenChat),h(this,ce,_o).call(this,"showTimestamps",e.showTimestamps),h(this,ce,_o).call(this,"reduceMotion",e.reduceMotion),h(this,ce,_o).call(this,"ambientGlow",e.ambientGlow),h(this,ce,rm).call(this,"clearOnCopy",e.clearOnCopy),h(this,ce,rm).call(this,"blockPageInteractions",e.blockPageInteractions);for(let i of c(this,st)?.querySelectorAll("[data-reticle-theme]")??[])i instanceof HTMLElement&&i.setAttribute("data-on",i.getAttribute("data-reticle-theme")===e.statusThemeId?"1":"0")},_o=function(e,n){let r=c(this,st)?.querySelector(`[${ra}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},rm=function(e,n){let r=c(this,st)?.querySelector(`[data-reticle-check="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"),r.textContent=n?"\u2713":"")},cy=function(){let e=c(this,st)?.querySelector("[data-reticle-settings-themes]");e?.replaceChildren(...om.map(n=>{let r=document.createElement("button");r.type="button",r.className="reticle-settings-theme",r.setAttribute("data-reticle-theme",n.id),r.title=n.label,r.setAttribute("aria-label",`${n.label} status theme`);for(let s of[n.active,n.idle,n.ended]){let a=document.createElement("span");a.className="reticle-settings-theme-band",a.style.background=s,r.appendChild(a)}let i=document.createElement("span");return i.className="reticle-settings-theme-name",i.textContent=n.label,r.appendChild(i),r.addEventListener("click",s=>{s.stopPropagation(),h(this,ce,ln).call(this,{statusThemeId:n.id})}),r}))}});function gD(){let t=globalThis[ld];return typeof t=="string"&&t.length>0?t:void 0}function ED(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"").split("/").filter(i=>i.length>0),r=n[n.length-1];return r!==void 0&&r.length>0?r:pm}function bD(){if(typeof window>"u")return;let t=new URLSearchParams(window.location.search).get(pr.PROJECT);return t!==null&&t.length>0?t:void 0}function gy(){let t=gD(),e=bD(),n=t!==void 0?ED(t):pm;if(t===void 0&&e===void 0)return{folder:n};let r={folder:n};return t!==void 0&&(r.root=t),e!==void 0&&(r.projectId=e),r}function Ey(){let t=Te(V.LAYOUT,ie.HELP),e=Te(V.CARET_DOWN,ie.HELP),n=Te(V.COPY,ie.HELP);return`<div class="reticle-workspace-wrap">
331
- <button type="button" class="reticle-workspace" ${Gu} aria-haspopup="true" aria-expanded="false" title="${Bu}">
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" ${fy}>${pm}</span>
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" ${py} role="region" aria-label="${Bu}" aria-hidden="true" hidden>
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">${Bu}</div>
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" ${dm} title="${dy}" aria-label="${dy}">${n}</button>
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" ${hy}></span></div>
345
- <div class="reticle-workspace-menu-row" data-reticle-workspace-project-row hidden><span class="reticle-workspace-menu-k">${hD}</span><span class="reticle-workspace-menu-v" ${my}></span></div>
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 uy(t){let e=gy(),n=t.querySelector(".reticle-workspace-wrap");if(n instanceof HTMLElement){let f=e.root!==void 0||e.projectId!==void 0;n.toggleAttribute("hidden",!f)}let r=t.querySelector(`[${Gu}] [${fy}]`);r instanceof HTMLElement&&(r.textContent=e.folder);let i=t.querySelector("[data-reticle-workspace-folder]");i instanceof HTMLElement&&(i.textContent=e.folder);let s=t.querySelector(`[${hy}]`);s instanceof HTMLElement&&(s.textContent=e.root??"-",s.title=e.root??"");let a=t.querySelector(`[${my}]`),l=t.querySelector("[data-reticle-workspace-project-row]"),d=t.querySelector(`[${dm}]`);e.projectId!==void 0?(l?.removeAttribute("hidden"),a instanceof HTMLElement&&(a.textContent=e.projectId)):(l?.setAttribute("hidden",""),a instanceof HTMLElement&&(a.textContent="")),d instanceof HTMLButtonElement&&(d.disabled=e.root===void 0);let u=t.querySelector(`[${Gu}]`);u instanceof HTMLElement&&e.root!==void 0&&(u.title=`${Bu}: ${e.root}`)}function by(t){let e=new AbortController;uy(t);let n=t.querySelector(`[${Gu}]`),r=t.querySelector(`[${py}]`),i=t.querySelector(`[${dm}]`);if(!(n instanceof HTMLElement)||!(r instanceof HTMLElement))return()=>{};let s=()=>{r.setAttribute("aria-hidden","true"),r.setAttribute("hidden",""),n.setAttribute("aria-expanded","false")},a=()=>{uy(t),r.removeAttribute("hidden"),r.setAttribute("aria-hidden","false"),n.setAttribute("aria-expanded","true")},l=()=>{r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")?a():s()},d=_=>{_.stopPropagation(),l()},u=_=>{let S=_.target;if(!(S instanceof Element))return;let U=S.closest(`[${Ri}]`);if(U===null)return;_.stopPropagation(),navigator.clipboard?.writeText(de.SIGNIN_COMMAND).catch(()=>{});let L=U.textContent;U.textContent=de.COPIED,setTimeout(()=>{U.textContent=L},fD)};r.addEventListener("click",u);let f=_=>{let S=_.target;S instanceof Node&&(n.contains(S)||r.contains(S)||s())},g=_=>{_.key==="Escape"&&(r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")||(_.preventDefault(),_.stopPropagation(),s()))},E=_=>{_.stopPropagation();let S=gy().root;if(S!==void 0&&(navigator.clipboard?.writeText(S),i instanceof HTMLButtonElement)){let U=i.title;i.title=mD,window.setTimeout(()=>{i.title=U},1200)}};return n.addEventListener("click",d),r.addEventListener("pointerdown",_=>_.stopPropagation()),i?.addEventListener("click",E),document.addEventListener("pointerdown",f,{signal:e.signal}),document.addEventListener("keydown",g,{signal:e.signal}),()=>{n.removeEventListener("click",d),i?.removeEventListener("click",E),e.abort()}}function Ty(t,e,n,r={}){let i=t.querySelector(`[${um}]`);i instanceof HTMLElement&&(i.innerHTML=sa(e,{...r,dashboardUrl:n},!0))}var Gu,py,fy,hy,my,dm,um,fD,Bu,hD,dy,mD,pm,fm=T(()=>{"use strict";D();Xn();al();Gu="data-reticle-workspace-btn",py="data-reticle-workspace-menu",fy="data-reticle-workspace-name",hy="data-reticle-workspace-path",my="data-reticle-workspace-project",dm="data-reticle-workspace-copy",um="data-reticle-toolbar-account",fD=1200,Bu="Workspace",hD="Project",dy="Copy path",mD="Copied",pm="This page"});function Ay(t,e){let n=e?V.PLAY:V.PAUSE,r=e?So.RESUME:So.PAUSE;t.setAttribute("aria-label",r),t.setAttribute("title",r),t.replaceChildren(qn(n,ie.TOOLBAR)),t.classList.toggle("reticle-tb-btn--primary",e),t.setAttribute("data-active",e?"1":"0")}function ju(t,e,n){let r=n===void 0?"":`<span class="reticle-tb-kbd">${n}</span>`;return`<div class="reticle-tb-wrap">${t}<span class="reticle-tb-tip">${e}${r}</span></div>`}function vD(){let t=`<button type="button" data-reticle-pause class="reticle-tb-btn" title="${So.PAUSE}" aria-label="${So.PAUSE}">${Te(V.PAUSE,Ni)}</button>`,e=`<span data-reticle-badge class="reticle-pause-badge">${xD}</span>`,n=`<span class="reticle-tb-tip">${So.PAUSE}</span>`;return`<div class="reticle-tb-wrap reticle-tb-wrap--pause">${t}${e}${n}</div>`}function ND(t){return{pauseBtn:t.querySelector("[data-reticle-pause]")??void 0,endBtn:t.querySelector("[data-reticle-end]")??void 0,banner:t.querySelector("[data-reticle-banner]")??void 0,copyBtn:t.querySelector("[data-reticle-copy]")??void 0,exportBtn:t.querySelector("[data-reticle-export]")??void 0,exportMsg:t.querySelector("[data-reticle-export-msg]")??void 0,flows:t.querySelector("[data-reticle-flows]")??void 0}}var TD,_y,_D,SD,So,xD,Ry,Sy,xy,AD,yD,RD,vy,Ny,hm,mm,gm,yy,Ni,Oy,wy,Cy,Iy,Ly,Gt,Mr,Jn,Oi,pl,fl,ca,wi,jt,at,Em,ky,Dy,My,Py,bm,Vu,Ku=T(()=>{"use strict";D();Ve();it();Xn();aa();fm();TD="data-reticle-state",_y="data-reticle-tone",_D="data-on",SD="0",So={PAUSE:"Pause",RESUME:"Resume",END:"End",SEND:"Send"},xD="PAUSED",Ry="Session ended",Sy="Copy run",xy="Export",AD="Replay a flow",yD="Copied \u2713",RD="reticle-run.json",vy=4e3,Ny=`
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:10px 14px;color:var(--reticle-fg);
391
- font-size:12px;font-weight:500;border-bottom:1px solid var(--reticle-line2);background:var(--reticle-surface);}
392
- [data-reticle-overlay][data-reticle-state="ended"] [data-reticle-chat-panel] .reticle-banner{display:block;}
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;flex-wrap:wrap;align-content:flex-start;gap:6px;
413
- padding:9px 12px;border-top:1px solid var(--reticle-line2);max-height:88px;overflow-y:auto;overscroll-behavior:contain;
414
- pointer-events:auto;touch-action:pan-y;}
415
- [data-reticle-chat-panel] .reticle-flows[data-has="1"]{display:flex;}
416
- [data-reticle-chat-panel] .reticle-flows::-webkit-scrollbar{width:9px;}
417
- [data-reticle-chat-panel] .reticle-flows::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:9px;border:2px solid transparent;background-clip:content-box;}
418
- [data-reticle-chat-panel] .reticle-flows-cap{flex:0 0 100%;margin-bottom:1px;color:var(--reticle-faint);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;}
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
- `;hm="Agent chat",mm="Hide markers",gm="Clear all",yy="Copy for your agent",Ni=ie.TOOLBAR;Oy=[vD(),ju(`<button type="button" ${el} class="reticle-tb-btn reticle-tb-btn--toggle" title="${hm}" aria-label="${hm}" aria-pressed="false" data-active="0">${Ai(V.MESSAGE,Ni)}</button>`,hm),ju(`<button type="button" ${bu} class="reticle-tb-btn reticle-tb-btn--toggle" title="${mm}" aria-label="${mm}" aria-pressed="false" data-active="0" disabled>${Ai(V.VIEW,Ni)}</button>`,mm,"H"),ju(`<button type="button" data-reticle-end class="reticle-tb-btn" title="${So.END}" aria-label="${So.END}">${Te(V.STOP,Ni)}</button>`,So.END),ju(`<button type="button" ${Tu} class="reticle-tb-btn" title="${gm}" aria-label="${gm}" data-danger disabled>${Te(V.TRASH,Ni)}</button>`,gm,"X"),`<button type="button" data-reticle-copy class="reticle-tb-btn reticle-tb-btn--export" title="${Sy}" aria-label="${Sy}" hidden>${Te(V.COPY,Ni)}</button>`,`<button type="button" data-reticle-export class="reticle-tb-btn reticle-tb-btn--export" title="${xy}" aria-label="${xy}" hidden>${Te(V.DOWNLOAD,Ni)}</button>`,'<span data-reticle-export-msg class="reticle-export-msg" aria-live="polite"></span>'].join(""),wy=`<div data-reticle-banner class="reticle-banner">${Ry}</div>`,Cy=`<div ${Su} class="reticle-marks-row" hidden><span data-reticle-marks-text class="reticle-marks-text"></span><button type="button" ${_u} class="reticle-marks-copy" title="${yy}">${Te(V.COPY,ie.HELP)}<span>${yy}</span></button></div>`,Iy=`<div data-reticle-flows class="reticle-flows"><span class="reticle-flows-cap">${AD}</span></div>`,Ly=`<div data-reticle-foot><div class="reticle-foot-stack">${Ey()}</div></div>`;Vu=class{constructor(e){m(this,at);m(this,Gt,{pauseBtn:void 0,endBtn:void 0,banner:void 0,copyBtn:void 0,exportBtn:void 0,exportMsg:void 0,flows:void 0});m(this,Mr,Re.ACTIVE);m(this,Jn);m(this,Oi);m(this,pl);m(this,fl,[]);m(this,ca);m(this,wi);m(this,jt);p(this,jt,e)}get state(){return c(this,Mr)}mount(e,n){p(this,wi,new AbortController);let{signal:r}=c(this,wi);p(this,Oi,e),p(this,pl,n),p(this,Gt,ND(e));let i=c(this,Gt).pauseBtn;i!==void 0&&Ay(i,c(this,Mr)===Re.PAUSED),c(this,Gt).pauseBtn?.addEventListener("click",()=>h(this,at,My).call(this),{signal:r}),c(this,Gt).endBtn?.addEventListener("click",()=>h(this,at,Py).call(this),{signal:r}),c(this,Gt).flows?.addEventListener("click",s=>{let a=s.target;if(!(a instanceof HTMLElement))return;let l=a.closest("[data-reticle-replay]")?.getAttribute("data-reticle-replay");l!=null&&l.length>0&&c(this,jt).emit($n.REPLAY,l)},{signal:r}),c(this,Gt).copyBtn?.addEventListener("click",()=>h(this,at,ky).call(this),{signal:r}),c(this,Gt).exportBtn?.addEventListener("click",()=>h(this,at,Dy).call(this),{signal:r}),p(this,ca,by(e)),this.setState(Re.ACTIVE)}teardown(){var e;c(this,wi)?.abort(),p(this,wi,void 0),(e=c(this,ca))==null||e.call(this),p(this,ca,void 0),c(this,Jn)!==void 0&&pe(c(this,Jn)),p(this,Jn,void 0)}setFlows(e){let n=Array.isArray(e)?e:[];p(this,fl,n.map(r=>{if(typeof r=="string")return r.length>0?{name:r}:null;if(typeof r=="object"&&r!==null){let i=r,s=i.name;if(typeof s!="string"||s.length===0)return null;let a=i.start;return typeof a=="string"&&a.length>0?{name:s,start:a}:{name:s}}return null}).filter(r=>r!==null)),h(this,at,bm).call(this)}refilterFlows(){h(this,at,bm).call(this)}setState(e,n,r){p(this,Mr,e),c(this,Oi)?.setAttribute(TD,e);let i=r!==void 0&&r!==ms.CALM;i?c(this,Oi)?.setAttribute(_y,r):c(this,Oi)?.removeAttribute(_y),c(this,Jn)!==void 0&&(pe(c(this,Jn)),p(this,Jn,void 0));let s=c(this,Gt),a=e===Re.ENDED;if(s.pauseBtn!==void 0&&(Ay(s.pauseBtn,e===Re.PAUSED),s.pauseBtn.disabled=a),s.endBtn!==void 0&&(s.endBtn.disabled=a),s.copyBtn!==void 0&&(a?s.copyBtn.removeAttribute("hidden"):s.copyBtn.setAttribute("hidden","")),s.exportBtn!==void 0&&(a?s.exportBtn.removeAttribute("hidden"):s.exportBtn.setAttribute("hidden","")),s.banner!==void 0){let l=n!==void 0&&n.trim().length>0?n.trim():"";s.banner.textContent=i&&l.length>0?l:`${Ry}${l.length>0?` \xB7 ${l}`:""}`}if(a){let l=c(this,pl);p(this,Jn,z(()=>{l?.setAttribute(_D,SD)},c(this,jt).endedFadeMs))}c(this,jt).onStateChange?.(e)}};Gt=new WeakMap,Mr=new WeakMap,Jn=new WeakMap,Oi=new WeakMap,pl=new WeakMap,fl=new WeakMap,ca=new WeakMap,wi=new WeakMap,jt=new WeakMap,at=new WeakSet,Em=function(){return JSON.stringify(c(this,jt).runState(),null,2)},ky=function(){navigator.clipboard?.writeText(h(this,at,Em).call(this)),Bt().clearOnCopy&&c(this,jt).clearRunLog?.();let e=c(this,Gt).exportMsg;e!==void 0&&(e.textContent=yD,e.setAttribute("data-show","1"),z(()=>e.setAttribute("data-show","0"),1600))},Dy=function(){let e=new Blob([h(this,at,Em).call(this)],{type:"application/json"}),n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=RD,r.click(),URL.revokeObjectURL(n),Bt().clearOnCopy&&c(this,jt).clearRunLog?.()},My=function(){c(this,Mr)===Re.PAUSED?(c(this,jt).emit($n.RESUME),this.setState(Re.ACTIVE)):c(this,Mr)===Re.ACTIVE&&(c(this,jt).emit($n.PAUSE),this.setState(Re.PAUSED))},Py=function(){c(this,Mr)!==Re.ENDED&&(c(this,jt).emit($n.END),this.setState(Re.ENDED))},bm=function(){let e=c(this,Gt).flows;if(e===void 0)return;let n=e.ownerDocument,r=new Set(Array.from(n.querySelectorAll("[data-testid]")).map(s=>s.getAttribute("data-testid"))),i=c(this,fl).filter(s=>s.start===void 0||r.has(s.start));e.querySelectorAll("[data-reticle-replay]").forEach(s=>s.remove());for(let s of i){let a=n.createElement("button");a.type="button",a.className="reticle-flow",a.setAttribute("data-reticle-replay",s.name),a.textContent=`\u25B6 ${s.name}`,e.appendChild(a)}e.setAttribute("data-has",i.length>0?"1":"0")}});var Z,N,_e,Vt,Tm,$y,Uy=T(()=>{"use strict";go();it();it();Lr();Z="data-reticle-overlay",N="data-reticle-hud",_e="data-reticle-chat-panel",Vt="data-reticle-state",Tm="data-reticle-tone",$y=`
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
- [${Z}]{
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
- [${Z}][${rl}="active"]{--reticle-state:var(--reticle-c-active);}
450
- [${Z}][${Vt}="paused"]{--reticle-state:var(--reticle-c-idle);}
451
- [${Z}][${Vt}="ended"]{--reticle-state:var(--reticle-c-ended);}
452
- [${j}]{
453
- --reticle-surface:rgba(255,255,255,.06);
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:#050506;--reticle-bg2:#0c0c10;
461
- --reticle-fg:#fff;--reticle-muted:rgba(255,255,255,.85);--reticle-faint:rgba(255,255,255,.5);
462
- --reticle-line:rgba(255,255,255,.12);--reticle-line2:rgba(255,255,255,.08);
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:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
465
- --reticle-shell-ease:cubic-bezier(.22,1,.36,1);
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
- * ONE width for the dock and the chat above it. They were 420px and 320px, so the toolbar
473
- * overhung the panel it belongs to and the pair read as two unrelated widgets.
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:660px;
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
- [${j}][data-dragged="1"]{left:var(--reticle-hud-x);top:var(--reticle-hud-y);bottom:auto;right:auto;transform:none;}
482
- [${j}][data-dragged="1"][data-on="1"]{transform:none;}
483
- [${j}][data-on="1"]{opacity:1;transform:translate3d(0,0,0);pointer-events:none;}
484
- [${j}][data-on="0"]{opacity:0;pointer-events:none;}
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 GLASS, tinted by the state colour, with the glow sitting behind it - restored from
487
- * the version before this one, where a flat near-black card had replaced it. Kept at ~92% opacity
488
- * rather than a real backdrop-filter: blur(24px) here was measured as the single most expensive
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
- [${_e}]{
493
- background:
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:16px;
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
- [${j}][${ea}="below"] [${_e}]{
636
+ [${C}][${hi}="below"] [${te}]{
508
637
  bottom:auto;top:calc(100% + 8px);}
509
- [${j}][${Ht}="start"] [${_e}]{
638
+ [${C}][${_t}="start"] [${te}]{
510
639
  right:auto;left:0;}
511
- [${Z}][${qe}="1"] [${_e}]{
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
- [${Z}][data-reticle-mode="idle"][data-reticle-block="0"] [${_e}],
521
- [${Z}][data-reticle-mode="idle"][data-reticle-block="0"] [${_e}] [data-reticle-log]{
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
- [${Z}][data-reticle-mode="idle"][data-reticle-block="0"] [${_e}] :is(button,a,input,select,textarea){
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
- [${xt}]{
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:${Ir},0 0 34px -14px var(--reticle-state);
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
- [${j}][${ea}="below"] [${xt}]{bottom:auto;top:calc(100% + 8px);}
544
- [${j}][${Ht}="start"] [${xt}]{right:auto;left:0;}
545
- [${Z}][${ke}="0"]:not([${qe}="1"]) [${xt}]{
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
- [${xt}]:hover{border-color:color-mix(in srgb,var(--reticle-c-active) 45%,transparent);}
548
- [${xt}]:active{transform:scale(.98);}
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
- [${xt}] .reticle-mark{flex:none;height:14px;width:auto;color:var(--reticle-fg);opacity:.9;}
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
- [${_e}] .reticle-chat-head{
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
- [${_e}] .reticle-chat-brand{display:inline-flex;align-items:center;gap:7px;color:var(--reticle-fg);}
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
- [${_e}] .reticle-head-account{margin-left:auto;display:inline-flex;align-items:center;}
563
- [${_e}] .reticle-head-account:empty{display:none;}
564
- [${_e}] .reticle-chat-brand .reticle-mark{height:14px;width:auto;}
565
- [${_e}] .reticle-chat-brandname{font-size:12.5px;font-weight:600;letter-spacing:.01em;}
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
- [${xt}] .reticle-chat-pill-text{
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
- [${xt}] .reticle-chat-pill-time{
710
+ [${ut}] .reticle-chat-pill-time{
573
711
  flex:none;color:var(--reticle-faint);font-variant-numeric:tabular-nums;}
574
- [${xt}] .reticle-chat-pill-caret{
712
+ [${ut}] .reticle-chat-pill-caret{
575
713
  flex:none;display:inline-flex;color:var(--reticle-faint);line-height:0;transform:rotate(180deg);}
576
- [${xt}] .reticle-chat-pill-caret svg{
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
- [${j}] .reticle-chat-min{
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
- [${j}] .reticle-chat-min:hover{background:rgba(255,255,255,.07);color:var(--reticle-fg);}
585
- [${j}] .reticle-chat-min svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;
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
- [${Z}][${yu}="0"] [${mu}]{display:none;}
588
- [${Z}][${Zn}="1"] [${N}],
589
- [${Z}][${Zn}="1"] [${_e}],
590
- [${Z}][${Zn}="1"] [data-reticle-settings-panel]{
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
- [${Z}][${Zn}="1"] .reticle-fab-pulse,
593
- [${Z}][${Zn}="1"] .reticle-act-dot,
594
- [${Z}][${Zn}="1"] [data-bump="1"]{animation:none !important;}
595
- [${N}]{
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:${Wh};
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
- [${Z}][${ke}="0"] [${N}]{
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
- [${N}] .reticle-hud-deco{
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
- [${Z}][${ke}="0"] [${N}] .reticle-hud-deco{
752
+ [${ee}][${Oe}="0"] [${H}] .reticle-hud-deco{
615
753
  opacity:1;visibility:visible;}
616
- [${N}][data-on="0"]{opacity:0;transform:scale(.8);pointer-events:none;}
617
- [${N}][data-on="1"]{opacity:1;transform:scale(1);}
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
- [${Z}][${ke}="0"] [${N}]{
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
- [${N}] .reticle-fab{
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
- [${Z}][${ke}="1"] [${N}] .reticle-fab{
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
- [${Z}][${ke}="1"][${rl}="active"] [${N}] .reticle-fab{
776
+ [${ee}][${Oe}="1"][${Xl}="active"] [${H}] .reticle-fab{
639
777
  animation:reticle-fab-breathe 1.6s ease-in-out infinite;}
640
- [${Z}][${ke}="1"][${Vt}="ended"] [${N}] .reticle-fab{
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
- [${Z}][${Zn}="1"] [${N}] .reticle-fab{animation:none;}
648
- [${Z}][${ke}="1"] [${N}] .reticle-fab.reticle-drag-handle--dragging{
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
- [${N}] .reticle-fab-mark{height:22px;width:auto;pointer-events:none;}
651
- [${N}] .reticle-fab:hover{background:rgba(255,255,255,.08);}
652
- [${N}] .reticle-fab:active{transform:scale(.95);}
653
- [${N}] .reticle-fab:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 75%,transparent);outline-offset:2px;}
654
- [${N}] .reticle-fab-pulse{
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
- [${N}] .reticle-fab[data-pulse="1"] .reticle-fab-pulse{opacity:1;transform:scale(1);}
658
- [${N}] .reticle-fab-badge{
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
- [${N}] .reticle-fab-badge[hidden]{display:none;}
664
- [${Z}][${ke}="0"] [${N}] .reticle-fab{
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
- [${N}] .reticle-toolbar{
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
- [${Z}][${ke}="0"] [${N}] .reticle-toolbar{
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
- [${N}]:hover,[${N}]:focus-within{z-index:${String(Kh)};}
680
- [${N}] .reticle-toolbar-drag{cursor:grab;touch-action:none;user-select:none;}
681
- [${N}] .reticle-toolbar-drag.reticle-drag-handle--dragging{cursor:grabbing;}
682
- [${N}] .reticle-toolbar-actions{
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
- [${N}] .reticle-toolbar-chrome{display:inline-flex;align-items:center;gap:2px;flex:none;}
686
- [${N}] .reticle-tb-sep{width:1px;height:14px;background:rgba(255,255,255,.12);margin:0 4px;flex:none;align-self:center;}
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
- [${N}] .reticle-tb-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;}
689
- [${N}] .reticle-tb-btn{
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:32px;height:32px;padding:0;border:none;border-radius:50%;cursor:pointer;
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
- [${N}] .reticle-tb-btn:hover{background:rgba(255,255,255,.12);color:#fff;}
695
- [${N}] .reticle-tb-btn:active{transform:scale(.92);}
696
- [${N}] .reticle-tb-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 65%,transparent);outline-offset:1px;}
697
- [${N}] .reticle-tb-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;}
698
- [${N}] .reticle-tb-btn[data-active="1"]{color:var(--reticle-accent);
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
- [${N}] .reticle-tb-btn--toggle[data-active="1"]{
838
+ [${H}] .reticle-tb-btn--toggle[data-active="1"]{
701
839
  color:var(--reticle-accent);background:transparent;}
702
- [${N}] .reticle-tb-btn--toggle[data-active="1"]:hover{background:rgba(255,255,255,.06);color:var(--reticle-accent);}
703
- [${N}] .reticle-hi-toggle{
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
- [${N}] .reticle-hi-toggle .reticle-hi-icon{
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
- [${N}] .reticle-hi-toggle .reticle-hi-icon--solid{opacity:0;}
710
- [${N}] .reticle-hi-toggle .reticle-hi-icon--solid svg{
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
- [${N}] .reticle-tb-btn--toggle[data-active="1"] .reticle-hi-icon--outline{opacity:1;}
718
- [${N}] .reticle-tb-btn--toggle .reticle-hi-icon--solid{opacity:0;}
719
- [${N}] .reticle-tb-btn--toggle .reticle-hi-icon--solid svg{color:inherit;}
720
- [${N}] .reticle-tb-btn--primary[data-active="1"]{
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
- [${N}] .reticle-tb-btn[data-danger]:hover:not(:disabled){color:#ff383c;
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}][${Vt}="ended"] [${N}] .reticle-tb-btn--export{display:inline-flex;}
734
- [${Z}][${Vt}="ended"] [${N}] [data-reticle-pause],
735
- [${Z}][${Vt}="ended"] [${N}] [data-reticle-end]{display:none;}
736
- [${N}] .reticle-tb-tip{
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(Kh)};
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
- [${N}] .reticle-tb-tip::after{
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
- [${N}] .reticle-tb-wrap:hover .reticle-tb-tip{
870
+ [${H}] .reticle-tb-wrap:hover .reticle-tb-tip{
745
871
  opacity:1;visibility:visible;transform:translateX(-50%) scale(1);transition-delay:.3s;}
746
- [${N}] .reticle-tb-wrap:has(.reticle-tb-btn:disabled):hover .reticle-tb-tip{opacity:0;visibility:hidden;}
747
- [${N}] .reticle-tb-wrap--pause:hover .reticle-pause-badge{opacity:0;}
748
- [${N}] .reticle-tb-kbd{margin-left:4px;opacity:.5;}
749
- [${N}] .reticle-pause-badge{
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
- [${Z}][${Vt}="paused"] [data-reticle-badge]{display:inline-flex;}
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
- [${j}] .reticle-chip{display:none;flex:none;align-items:center;gap:4px;font-size:8px;font-weight:600;letter-spacing:.06em;
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
- [${j}] .reticle-chip[data-mode="reading"],
767
- [${j}] .reticle-chip[data-mode="acting"]{opacity:1;}
768
- [${j}] .reticle-chip[data-mode="reading"],
769
- [${j}] .reticle-chip[data-mode="acting"]{display:inline-flex;color:var(--reticle-fg);}
770
- [${j}] .reticle-tally[hidden]{display:none;}
771
- [${j}] .reticle-tally{align-self:center;flex:none;}
772
- [${j}] .reticle-pill-group{
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
- [${j}] .reticle-pill-segment{
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
- [${j}] .reticle-pill-segment[data-z="1"]{opacity:.4;}
779
- [${j}] .reticle-t-pass.reticle-pill-segment{background:rgba(34,197,94,.14);color:#bbf7d0;}
780
- [${j}] .reticle-t-fail.reticle-pill-segment{background:rgba(239,68,68,.14);color:#fecaca;}
781
- [${j}] .reticle-pill-sep{width:1px;align-self:stretch;background:rgba(255,255,255,.12);flex:none;margin:0;}
782
- [${j}] .reticle-pill-count{min-width:1ch;}
783
- [${j}] .reticle-tally .reticle-hi-icon{opacity:.92;}
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
- [${j}] .reticle-tally [data-bump="1"]{display:inline-flex;animation:reticle-tally-pop .36s cubic-bezier(.16,1,.3,1);}
786
- [${N}] .reticle-hi-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:inherit;}
787
- [${N}] .reticle-hi-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
788
- [${N}] .reticle-live{display:none;}
789
- [${_e}] .reticle-act-strip{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;
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
- [${_e}] .reticle-act-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--reticle-faint);
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
- [${_e}] .reticle-act-strip[data-liveness="active"] .reticle-act-dot,
798
- [${_e}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
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
- [${_e}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
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
- [${Z}][${Vt}="unreachable"]{--reticle-state:var(--reticle-faint);}
811
- [${Z}][${Vt}="unreachable"] [${_e}] .reticle-act-dot{animation:none;}
812
- [${Z}][${Vt}="paused"] [${_e}] .reticle-act-dot,
813
- [${Z}][${Vt}="ended"] [${_e}] .reticle-act-dot{animation:none;}
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
- [${_e}] .reticle-act{display:block;flex:1;min-width:0;color:var(--reticle-muted);font-size:11px;
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
- [${_e}] .reticle-act-strip[data-liveness="active"] .reticle-act{color:var(--reticle-fg);}
818
- [${N}] .reticle-pass{color:var(--reticle-ok);}[${N}] .reticle-fail{color:var(--reticle-bad);}
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
- [${Z}][${Vt}="paused"] [${N}],
829
- [${Z}][${Vt}="ended"] [${N}],
830
- [${Z}][${Tm}="waiting"] [${N}]{
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
- [${Z}][${Tm}="ask"] [${N}],
834
- [${Z}][${Tm}="warn"] [${N}]{
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
- [${_e}]{width:min(100vw - 24px,320px);max-height:min(360px,calc(100vh - 100px));}
839
- [${Z}][${ke}="0"] [${N}]{max-width:calc(100vw - 24px);}
840
- }`});var Hy,Fy,By,Gy=T(()=>{"use strict";Lr();Hy=20,Fy=28,By=`
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(Hy)}px;height:${String(Hy)}px;border-radius:999px;
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(Fy)}px;height:${String(Fy)}px;font-size:11px;}
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
- ${ol}
893
- box-shadow:inset 0 1px 0 rgba(255,255,255,.09),${Ir};
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 OD,jy,Vy=T(()=>{"use strict";Lr();it();OD="data-reticle-overlay",jy=`
936
- [${P}]{
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:${Ir},0 0 54px -18px var(--reticle-c-active);
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
- [${j}][${Ht}="start"] [${P}]{right:auto;left:0;}
949
- [${OD}][${an}="1"] [${P}]{
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
- [${P}] .reticle-report-inner{
1086
+ [${M}] .reticle-report-inner{
952
1087
  display:flex;flex-direction:column;min-height:0;overflow:hidden;}
953
- [${P}] .reticle-report-head{
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
- [${P}] .reticle-report-title{font-size:12.5px;font-weight:600;}
957
- [${P}] .reticle-report-scope{
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
- [${P}] .reticle-report-scope:hover{background:rgba(255,255,255,.08);color:var(--reticle-fg);}
962
- [${P}] .reticle-report-close{
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
- [${P}] .reticle-report-close svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;}
966
- [${P}] .reticle-report-body{
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
- [${P}] .reticle-report-empty{
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
- [${P}] .reticle-report-streak{
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
- [${P}] .reticle-report-streak-label{
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
- [${P}] .reticle-report-hero{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
981
- [${P}] .reticle-report-hero-value{
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
- [${P}] .reticle-report-hero-label{color:var(--reticle-muted);font-size:11.5px;}
984
- [${P}] .reticle-report-verdicts{display:flex;gap:6px;margin-bottom:12px;}
985
- [${P}] .reticle-report-verdict{
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
- [${P}] .reticle-report-verdict[data-kind="fail"]{color:#fca5a5;}
989
- [${P}] .reticle-report-verdict[data-kind="unknown"]{color:#fcd34d;}
990
- [${P}] .reticle-report-grid{
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
- [${P}] .reticle-report-card{
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
- [${P}] .reticle-report-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
996
- [${P}] .reticle-report-label{color:var(--reticle-faint);font-size:9.5px;line-height:1.3;}
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
- [${P}] .reticle-report-basis{
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
- [${P}] .reticle-report-defects-wrap{margin-top:14px;}
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
- [${P}] .reticle-report-defects-head{
1144
+ [${M}] .reticle-report-defects-head{
1005
1145
  display:flex;align-items:center;justify-content:space-between;gap:8px;}
1006
- [${P}] .reticle-report-defects{
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
- [${P}] .reticle-report-defect{
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
- [${P}] .reticle-report-defect-title{
1153
+ [${M}] .reticle-report-defect-title{
1014
1154
  font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
1015
- [${P}] .reticle-report-defect-detail{
1155
+ [${M}] .reticle-report-defect-detail{
1016
1156
  color:var(--reticle-faint);font-size:10px;line-height:1.35;overflow-wrap:anywhere;}
1017
- [${P}] .reticle-report-defect-source{
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
- [${P}] .reticle-report-defects-more{
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
- [${P}] .reticle-report-defects-more:hover{text-decoration:underline;}
1030
- [${P}] .reticle-report-local-only{
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
- [${P}] .reticle-report-local-only code{
1175
+ [${M}] .reticle-report-local-only code{
1034
1176
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--reticle-c-active);}
1035
- [${P}] .reticle-report-chart-wrap{margin-top:12px;}
1036
- [${P}] .reticle-report-section{
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
- [${P}] .reticle-report-chart{
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
- [${P}] .reticle-report-bar{
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
- [${P}] .reticle-report-bar[data-hot="1"]{background:#f87171;}
1047
- [${P}] .reticle-report-foot{
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
- [${P}] .reticle-report-share{
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
- [${P}] .reticle-report-share:hover{background:rgba(255,255,255,.09);color:var(--reticle-fg);}
1054
- [${P}] .reticle-report-refer{
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
- [${P}] .reticle-report-links{
1198
+ [${M}] .reticle-report-links{
1057
1199
  flex:none;display:flex;gap:12px;padding:0 14px 12px;}
1058
- [${P}] .reticle-report-links a{
1200
+ [${M}] .reticle-report-links a{
1059
1201
  color:var(--reticle-faint);font-size:10.5px;text-decoration:none;}
1060
- [${P}] .reticle-report-links a:hover{color:var(--reticle-fg);text-decoration:underline;}
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
- [${P}] .reticle-report-identity{
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
- [${P}] .reticle-report-identity:empty{display:none;}
1066
- [${P}] .reticle-sync-now{
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
- [${P}] .reticle-sync-now:hover{color:var(--reticle-fg);}
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
- [${P}] .reticle-sync-now[data-syncing="1"]{
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
- [${P}] .reticle-sync-now[data-syncing="1"]{animation:none;}}
1076
- `});function Wy(t){try{return t?.getItem(CD)==="1"}catch{return!1}}function zy(t,e){if(t===void 0)return"";if(t.claimed){let r=t.daysRemaining;if(r===void 0||0>r)return"";let i=ID>=r?hl.ending(r):hl.claimed(r);return`<div ${Ky} class="reticle-offer reticle-offer-claimed">${ml(i)}</div>`}if(t.eligible===!1||t.drivable===!1||e)return"";let n=t.claimUrl;return n===void 0||n.length===0?"":`<div ${Ky} class="reticle-offer" role="note">
1077
- <span class="reticle-offer-title">${ml(hl.HEADLINE)}</span>
1078
- <p class="reticle-offer-body">${ml(hl.BODY)}</p>
1079
- <a ${wD} class="reticle-offer-claim" href="${ml(n)}" target="_blank" rel="noopener noreferrer">${ml(hl.CLAIM)}</a>
1080
- </div>`}var Ky,wD,CD,hl,ID,ml,Yy,Wu=T(()=>{"use strict";Ky="data-reticle-offer",wD="data-reticle-offer-claim",CD="reticle.harnessOffer.dismissed",hl={HEADLINE:"Get Harness free for 3 months",BODY:"Explores your app and saves every journey as a free replay.",CLAIM:"Claim now",DISMISS:"Not now",claimed:t=>`Harness active \u2014 ${String(t)} days left`,ending:t=>1>=t?"Harness free period ends today":`Harness free period ends in ${String(t)} days`},ID=14;ml=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");Yy=`
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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");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
- `});function qy(){return`<div class="reticle-talk">
1087
- <span class="reticle-talk-title">${zu(_m.HEADLINE)}</span>
1088
- <p class="reticle-talk-body">${zu(_m.BODY)}</p>
1089
- <a ${LD} class="reticle-talk-book" href="${zu(fs)}" target="_blank" rel="noopener noreferrer">${zu(_m.BOOK)}</a>
1090
- </div>`}var LD,_m,zu,Xy,Sm=T(()=>{"use strict";D();LD="data-reticle-talk-book",_m={HEADLINE:"Talk to Founders",BODY:"Tell us where Reticle got in your way.",BOOK:"Book a call"},zu=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");Xy=`
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 Am(t){let e=xm.get(t);e!==void 0&&clearInterval(e),xm.delete(t)}function kD(){try{return globalThis.matchMedia?.("(prefers-reduced-motion: reduce)").matches===!0}catch{return!1}}function nR(t,e){t.setAttribute("data-active",String(e)),t.querySelectorAll(`[${Jy}]`).forEach((n,r)=>{n.hidden=r!==e}),t.querySelectorAll(`[${Yu}]`).forEach((n,r)=>{n.setAttribute("aria-current",String(r===e))})}function MD(t,e){if(t.length===0)return"";let n=DD(e,t.length),r=t.map((s,a)=>`<div ${Jy}="${s.id}" class="reticle-carousel-slide"${a===n?"":" hidden"}>${s.html}</div>`).join(""),i=t.length===1?"":`<div class="reticle-carousel-dots">${t.map((s,a)=>`<button type="button" ${Yu}="${String(a)}" class="reticle-carousel-dot" aria-label="${s.id}" aria-current="${String(a===n)}"></button>`).join("")}</div>`;return`<div ${Qy} class="reticle-carousel" role="region" aria-label="Reticle" data-active="${String(n)}">
1095
- <button type="button" ${eR} class="reticle-carousel-close" aria-label="${Zy}" title="${Zy}">\xD7</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
- ${i}
1098
- </div>`}function PD(t){try{return t?.getItem(tR)==="1"}catch{return!1}}function rR(t,e,n){let r=t.querySelector(`:scope > [${Qy}]`),i=Number(r?.getAttribute("data-active")??"0");if(r?.remove(),Am(t),PD(n))return;let s=MD(e,i);if(s==="")return;t.insertAdjacentHTML("afterbegin",s);let a=t.firstElementChild;if(a instanceof HTMLElement){a.querySelector(`[${eR}]`)?.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation();try{n?.setItem(tR,"1")}catch{}Am(t),a.remove()});for(let l of a.querySelectorAll(`[${Yu}]`))l.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),nR(a,Number(l.getAttribute(Yu)))});$D(t,a,e.length)}}function $D(t,e,n){if(n<2||kD())return;let r=!1,i=()=>{r=!0},s=()=>{r=!1};e.addEventListener("mouseenter",i),e.addEventListener("mouseleave",s),e.addEventListener("focusin",i),e.addEventListener("focusout",s),xm.set(t,setInterval(()=>{if(!e.isConnected){Am(t);return}r||nR(e,(Number(e.getAttribute("data-active"))+1)%n)},6e3))}var Qy,Jy,Yu,eR,tR,Zy,xm,DD,oR,ym=T(()=>{"use strict";Qy="data-reticle-carousel",Jy="data-reticle-carousel-slide",Yu="data-reticle-carousel-dot",eR="data-reticle-carousel-close",tR="reticle.carousel.dismissed",Zy="Close",xm=new WeakMap;DD=(t,e)=>Number.isInteger(t)&&t>=0&&t<e?t:0;oR=`
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
- `});var iR,sR=T(()=>{"use strict";go();Ku();Uy();qh();Gy();Lr();Vy();Wu();Sm();ym();iR=`
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
- ${$A}
1158
- ${UA}
1159
- ${$y}
1160
- ${$u}
1161
- ${jy}
1162
- ${By}
1163
- ${Yy}
1164
- ${Xy}
1165
- ${oR}
1166
- ${mA}
1167
- ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(t/1e3)}k`:`${cR(t/1e6)}M`}function cR(t){return t>=10?String(Math.round(t)):String(Math.round(t*10)/10)}function gl(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 Rm(t,e){let n=t.counts,r=e!==void 0&&e.length>0?` on ${e}`:"",i=[`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&&i.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&&i.push(`Longest unattended run: ${gl(t.records.longestRunMs)}.`),i.join(`
1168
- `)}function lR(t){let e=new URLSearchParams({text:t,url:xo.SITE});return aR.length>0&&e.set("via",aR),`https://twitter.com/intent/tweet?${e.toString()}`}function dR(){return`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(xo.SITE)}`}function vm(){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. ${xo.SITE}`}function uR(t){let e=Kb.safeParse(t);return e.success?e.data:void 0}var xo,aR,te,Nm=T(()=>{"use strict";D();xo={DOCS:"https://docs.reticle.sh",SITE:"https://reticle.sh",GITHUB:"https://github.com/reticlehq/reticle",DISCORD:"https://discord.gg/BwAbzv9ZRz"},aR="",te={TITLE:"Impact",PROJECT:"This project",GLOBAL:"Everything on this machine",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",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"}});function bR(){let t=Te(V.REMOVE,ie.MIN);return`<div ${P} class="reticle-report ${Ft}" role="region" aria-label="Reticle impact" aria-hidden="true">
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">${te.TITLE}</span>
1172
- <button type="button" ${fR} class="reticle-report-scope" aria-pressed="false">${te.PROJECT}</button>
1173
- <button type="button" ${Fh} class="reticle-report-close" title="Close" aria-label="Close impact">${t}</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" ${hR} class="reticle-report-share">Post on X</button>
1178
- <button type="button" ${mR} class="reticle-report-share">LinkedIn</button>
1179
- <button type="button" ${gR} class="reticle-report-share">${te.COPY}</button>
1180
- <button type="button" ${ER} class="reticle-report-share reticle-report-refer">${te.REFER}</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="${xo.DOCS}" target="_blank" rel="noreferrer noopener">Docs</a>
1184
- <a data-reticle-link="github" href="${xo.GITHUB}" target="_blank" rel="noreferrer noopener">GitHub</a>
1185
- <a data-reticle-link="site" href="${xo.SITE}" target="_blank" rel="noreferrer noopener">reticle.sh</a>
1186
- <a data-reticle-link="discord" href="${xo.DISCORD}" target="_blank" rel="noreferrer noopener">Discord</a>
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 Ao(t,e,n){let r=n===void 0?"":`<span class="reticle-report-basis" title="${n}">${te.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 HD(t){let e=t.days.slice(-30);if(e.length===0)return"";let n=Math.max(1,...e.map(i=>i.counts.verdicts)),r=e.map(i=>{let s=Math.max(4,Math.round(i.counts.verdicts/n*100)),a=`${i.date}: ${String(i.counts.verdicts)} verdicts, ${String(i.counts.failed)} defects`,l=i.counts.failed>0?' data-hot="1"':"";return`<span class="reticle-report-bar" style="height:${String(s)}%" title="${a}"${l}></span>`}).join("");return`<div class="reticle-report-chart-wrap"><span class="reticle-report-section">${te.CHART}</span><div class="reticle-report-chart">${r}</div></div>`}function FD(t,e){let n=(t.defects??[]).slice(0,Vb);if(n.length===0)return"";let r=e!==void 0&&sl(e),i=r?`<a class="reticle-report-defect-link" data-reticle-link="defect" href="${Xe(e)}" target="_blank" rel="noreferrer noopener" title="${te.DEFECT_LINK_TITLE}" aria-label="${te.DEFECT_LINK_TITLE}">${Te(V.VIEW,ie.SEND)}</a>`:"",s=n.map(d=>{let u=d.detail===void 0?"":`<span class="reticle-report-defect-detail">${Xe(d.detail)}</span>`,f=d.source===void 0?"":`<span class="reticle-report-defect-source">${Xe(d.source)}</span>`;return`<li class="reticle-report-defect"><span class="reticle-report-defect-title">${Xe(d.title)}</span>${u}${f}${i}</li>`}).join(""),a=r?`<a class="reticle-report-defects-more" data-reticle-link="dashboard" href="${Xe(e)}" target="_blank" rel="noreferrer noopener">${te.DEFECTS_MORE}${t.counts.failed>n.length?` (${String(t.counts.failed)})`:""}</a>`:"",l=Jh(e);return`<div class="reticle-report-defects-wrap"><div class="reticle-report-defects-head"><span class="reticle-report-section">${te.DEFECTS}</span>${l}</div><ul class="reticle-report-defects">${s}</ul>${a}</div>`}function BD(t,e,n,r){let i=t.counts;if(i.calls===0)return`<p class="reticle-report-empty">${te.EMPTY}</p>`;let s=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">${te.STREAK}</span></span>`:"",a=`<div class="reticle-report-hero"><span class="reticle-report-hero-value">${er(i.failed)}</span><span class="reticle-report-hero-label">${te.HERO_DEFECTS}</span></div>`,l=`<div class="reticle-report-verdicts" title="${te.UNKNOWN_HELP}">
1190
- <span class="reticle-report-verdict" data-kind="pass">${er(i.passed)} ${te.PASSED}</span>
1191
- <span class="reticle-report-verdict" data-kind="fail">${er(i.failed)} ${te.FAILED}</span>
1192
- <span class="reticle-report-verdict" data-kind="unknown">${er(i.unknown)} ${te.UNKNOWN}</span>
1193
- </div>`,d=[Ao(er(i.verdicts),te.VERDICTS),Ao(er(i.calls),te.CALLS),Ao(gl(i.drivingMs),te.DRIVING),Ao(er(i.sessions),te.SESSIONS),Ao(gl(t.records.longestRunMs),te.LONGEST),Ao(er(i.tokensReturned),te.TOKENS),Ao(er(t.savings.tokens.value),te.SAVED_TOKENS,t.savings.tokens.basis),Ao(gl(t.savings.minutes.value*6e4),te.SAVED_MINUTES,t.savings.minutes.basis)].join("");return`${`<div class="reticle-report-identity">${sa(n,{dashboardUrl:e,projectName:r,verdicts:i.verdicts,defects:i.failed})}${Jh(e)}</div>`}${s}${a}${l}<div class="reticle-report-grid">${d}</div>${FD(t,e)}${HD(t)}${GD(t,e,n)}`}function GD(t,e,n){if(e!==void 0||t.counts.verdicts<=0||n===void 0)return"";let[r,i,s]=n.signedIn?[te.UNLINKED,te.UNLINKED_ACTION,te.UNLINKED_TAIL]:[te.LOCAL_ONLY,te.LOCAL_ONLY_ACTION,te.LOCAL_ONLY_TAIL];return`<p class="reticle-report-local-only">${r} <code>${i}</code> ${s}</p>`}var fR,hR,mR,gR,ER,UD,jD,pR,Ci,la,yo,tr,Pr,da,ct,TR,qu,Om,El,Xu,_R=T(()=>{"use strict";D();Xn();Lr();Xh();al();it();Nm();fR="data-reticle-report-scope",hR="data-reticle-share-x",mR="data-reticle-share-in",gR="data-reticle-share-copy",ER="data-reticle-refer",UD=1600;jD=1200,pR="data-syncing",Xu=class{constructor(e={}){m(this,ct);m(this,Ci);m(this,la);m(this,yo);m(this,tr);m(this,Pr,!1);m(this,da);p(this,da,e)}mount(e){p(this,yo,e),p(this,Ci,e.querySelector(`[${P}]`)??void 0),p(this,la,e.querySelector("[data-reticle-report-body]")??void 0),e.querySelector(`[${Fh}]`)?.addEventListener("click",r=>{r.stopPropagation(),this.close()});let n=e.querySelector(`[${fR}]`);n?.addEventListener("click",r=>{r.stopPropagation(),p(this,Pr,!c(this,Pr)),n.setAttribute("aria-pressed",c(this,Pr)?"true":"false"),n.textContent=c(this,Pr)?te.GLOBAL:te.PROJECT,h(this,ct,qu).call(this)}),e.querySelector(`[${hR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,Om).call(this,lR(this.shareText()))}),e.querySelector(`[${mR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,El).call(this,this.shareText()),h(this,ct,Om).call(this,dR())}),e.querySelector(`[${gR}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,El).call(this,this.shareText(),r.currentTarget)}),e.querySelector(`[${ER}]`)?.addEventListener("click",r=>{r.stopPropagation(),h(this,ct,El).call(this,vm(),r.currentTarget)}),e.addEventListener("click",r=>{let i=r.target;if(!(i instanceof Element))return;let s=i.closest(`[${Ri}]`);if(s!==null){r.stopPropagation(),h(this,ct,El).call(this,de.SIGNIN_COMMAND,s);return}let a=i.closest(`[${Qh}]`);a!==null&&(r.stopPropagation(),c(this,da).onSyncNow?.(),a.setAttribute(pR,"1"),setTimeout(()=>a.removeAttribute(pR),jD))})}setSnapshot(e){p(this,tr,e),this.isOpen()&&h(this,ct,qu).call(this)}snapshot(){return c(this,tr)}isOpen(){return c(this,yo)?.getAttribute(an)==="1"}open(){c(this,yo)!==void 0&&(c(this,da).onBeforeOpen?.(),h(this,ct,qu).call(this),c(this,yo).setAttribute(an,"1"),c(this,Ci)?.setAttribute("aria-hidden","false"))}close(){c(this,yo)?.setAttribute(an,"0"),c(this,Ci)?.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){return c(this,Ci)?.contains(e)===!0}shareText(){let e=c(this,tr);return e===void 0?vm():c(this,Pr)?Rm(e.global):Rm(e.project,e.projectName)}};Ci=new WeakMap,la=new WeakMap,yo=new WeakMap,tr=new WeakMap,Pr=new WeakMap,da=new WeakMap,ct=new WeakSet,TR=function(){let e=c(this,tr);if(e!==void 0)return c(this,Pr)?e.global:e.project},qu=function(){let e=h(this,ct,TR).call(this);c(this,la)!==void 0&&(c(this,la).innerHTML=e===void 0?`<p class="reticle-report-empty">${te.EMPTY}</p>`:BD(e,c(this,tr)?.dashboardUrl,c(this,tr)?.account,c(this,tr)?.projectName))},Om=function(e){window.open(e,"_blank","noopener,noreferrer")},El=async function(e,n){try{await navigator.clipboard?.writeText(e)}catch{}if(n instanceof HTMLElement){let r=n.textContent??"";n.textContent=te.COPIED,window.setTimeout(()=>{n.textContent=r},UD)}}});function xR(t,e){let n=zy(t,e);return[...n===""?[]:[{id:SR.HARNESS,html:n}],{id:SR.FOUNDERS,html:qy()}]}var SR,AR=T(()=>{"use strict";Wu();Sm();SR={HARNESS:"harness",FOUNDERS:"founders"}});var wm,yR,Cm,VD,RR,vR=T(()=>{"use strict";wm="Reticle",yR='<path d="M92.82 92.16C93.07 93.4 91.77 94.4 90.63 93.83C89.62 93.33 88.62 92.82 87.63 92.3C71.14 83.78 54.79 72.27 39.61 57.96C39.09 57.49 38.57 56.98 38.06 56.49C22.45 41.52 9.78 25.14 .33 8.52C0.29 8.45 .25 8.38 .2 8.31C-0.44 7.2 .51 5.84 1.79 6.05L24.07 9.71C43.06 12.83 60.63 11.75 75.55 6.53L93.95 .09C95.15-0.33 96.31 .78 95.93 1.98L90.1 20.49C85.37 35.48 84.9 52.97 88.69 71.73L92.83 92.16H92.82Z"/><path d="M58.72 89.23L6.15 92.8C5.24 92.86 4.48 92.13 4.51 91.22L6.56 30.39C6.61 28.91 8.51 28.36 9.35 29.57C16.23 39.43 24.98 52.35 33.01 61.26C41.05 70.17 50.6 78.72 59.62 86.56C60.65 87.45 60.08 89.13 58.72 89.23Z"/>',Cm=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yR}</svg>`,VD=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yR}</svg>`,RR=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${wm}" aria-expanded="false">${VD}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function WD(){try{return globalThis.sessionStorage.getItem(Au)==="1"}catch{return!1}}function CR(t){try{t?globalThis.sessionStorage.setItem(Au,"1"):globalThis.sessionStorage.removeItem(Au)}catch{}}function $m(t){return t&&!WD()}var NR,KD,Im,OR,wR,Lm,km,Dm,Ee,lt,dn,Ii,nr,ua,yt,pa,fa,Li,ki,Di,Mi,Pi,$i,Ro,rr,ha,ma,Tl,Lt,Mm,IR,LR,Pm,kR,Zu,Qu,bl,Um=T(()=>{"use strict";et();_R();fm();al();aa();it();Wu();ym();AR();vR();go();Yh();Pu();Xn();Lr();Ku();aa();NR="reticle-toolbar-drag",KD=120,Im="Annotate",OR="Minimise chat",wR="Open agent chat",Lm="Impact",km="Settings",Dm="Exit",bl=class{constructor(e={}){m(this,Lt);m(this,Ee);m(this,lt);m(this,dn);m(this,Ii);m(this,nr);m(this,ua);m(this,yt);m(this,pa);m(this,fa);m(this,Li,!1);m(this,ki,!1);m(this,Di);m(this,Mi,!1);m(this,Pi);m(this,$i);m(this,Ro,new Xu({onBeforeOpen:()=>{c(this,yt).close(),this.closeChat()},onSyncNow:()=>c(this,rr).onSyncNow?.()}));m(this,rr);m(this,ha);m(this,ma);m(this,Tl);m(this,Zu,e=>{if(c(this,Ee)===void 0||c(this,lt)===void 0||!c(this,yt).isOpen())return;let n=e.target;n instanceof Node&&(c(this,lt).contains(n)||c(this,yt).contains(n)||c(this,yt).close())});m(this,Qu,e=>{if(e.key!=="Escape"||c(this,Ee)===void 0||e.defaultPrevented||Ul(document))return;let n=e.target;if(!(n instanceof HTMLElement&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable===!0))){if(this.isChatOpen()){this.closeChat();return}if(c(this,yt).isOpen()){c(this,yt).close();return}this.isCollapsed()||this.collapse()}});p(this,rr,e),p(this,yt,new ll({...e.settings,onBeforeOpen:()=>{this.closeChat(),c(this,Ro).close(),e.settings?.onBeforeOpen?.()}}))}paintHarness(e){c(this,yt).paintHarness(e)}paintAccount(e,n,r={}){p(this,ha,{account:e,dashboardUrl:n,details:r}),c(this,Ee)!==void 0&&(Ty(c(this,Ee),e,n,r),am(c(this,Ee),e,n,r))}paintOffer(e){p(this,Tl,e),h(this,Lt,Mm).call(this)}static dockHtml(e,n,r,i,s){let a=Ai(V.ANNOTATE,ie.TOOLBAR),l=Ai(V.CHART,ie.TOOLBAR),d=Ai(V.GEAR,ie.TOOLBAR),u=Te(V.REMOVE,ie.TOOLBAR);return`<div ${j}>
1194
- <div ${tl} class="reticle-chat-panel ${Ft}" role="region" aria-label="Reticle session" aria-hidden="true">
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">${Cm}<span class="reticle-chat-brandname">${wm}</span></span>
1197
- <span ${um} class="reticle-head-account"></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" ${Hh} class="reticle-chat-min" title="${OR}" aria-label="${OR}">${Te(V.CARET_DOWN,ie.TOOLBAR)}</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
- ${n}
1203
- <div class="${wu}"><div ${r}></div></div>
1204
- ${i}
1205
- ${s}
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
- <button type="button" ${xt} class="reticle-chat-pill" title="${wR}" aria-label="${wR}">
1208
- ${Cm}
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">${Te(V.CARET_DOWN,ie.TOOLBAR)}</span>
1585
+ <span class="reticle-chat-pill-caret" aria-hidden="true">${pe(K.CARET_DOWN,se.TOOLBAR)}</span>
1212
1586
  </button>
1213
- ${cm()}
1214
- ${bR()}
1587
+ ${Gg()}
1588
+ ${n0()}
1589
+ ${Hw}
1215
1590
  <div data-reticle-hud>
1216
1591
  <div class="reticle-hud-deco" aria-hidden="true"></div>
1217
- ${RR}
1218
- <div class="reticle-toolbar ${NR}" role="toolbar" aria-label="Reticle controls">
1219
- <div class="reticle-toolbar-actions">${Oy}</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" ${Uh} class="reticle-tb-btn reticle-tb-btn--toggle" title="${Im}" aria-label="${Im}" aria-pressed="false" data-active="0">${a}</button>
1224
- <span class="reticle-tb-tip">${Im}</span>
1225
- </div>
1226
- <div class="reticle-tb-wrap">
1227
- <button type="button" ${xu} class="reticle-tb-btn reticle-tb-btn--toggle" title="${Lm}" aria-label="${Lm}" aria-pressed="false" data-active="0">${l}</button>
1228
- <span class="reticle-tb-tip">${Lm}</span>
1229
- </div>
1230
- <div class="reticle-tb-wrap">
1231
- <button type="button" ${nl} class="reticle-tb-btn reticle-tb-btn--toggle" title="${km}" aria-label="${km}" aria-pressed="false" data-active="0">${d}</button>
1232
- <span class="reticle-tb-tip">${km}</span>
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="${Dm}" aria-label="${Dm}">${u}</button>
1236
- <span class="reticle-tb-tip">${Dm}<span class="reticle-tb-kbd">Esc</span></span>
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,Ro)}isAnnotateOn(){return c(this,Mi)}setAnnotateOn(e){p(this,Mi,e),c(this,Di)?.setAttribute("aria-pressed",e?"true":"false"),c(this,Di)?.setAttribute("data-active",e?"1":"0")}mount(e){p(this,$i,new AbortController);let{signal:n}=c(this,$i);p(this,Ee,e),p(this,lt,e.querySelector(`[${j}]`)??void 0);let r=e.querySelector(`[${CA}]`);p(this,dn,r instanceof HTMLButtonElement?r:void 0);let i=e.querySelector(`[${tl}]`);p(this,Ii,i instanceof HTMLElement?i:void 0);let s=e.querySelector(`[${el}]`);p(this,nr,s instanceof HTMLElement?s:void 0);let a=e.querySelector(`[${Uh}]`);p(this,Di,a instanceof HTMLButtonElement?a:void 0),c(this,Di)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),this.setAnnotateOn(!c(this,Mi)),c(this,rr).onAnnotateToggle?.(c(this,Mi))},{signal:n}),e.querySelector(`[${xt}]`)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),this.showChat()},{signal:n}),e.querySelector(`[${Hh}]`)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),this.closeChat()},{signal:n});let u=e.querySelector("[data-reticle-min-btn]");p(this,ua,u instanceof HTMLButtonElement?u:void 0),e.setAttribute(ke,"1"),e.setAttribute(Ge,"0"),e.removeAttribute(qe),c(this,yt).mount(e),c(this,Ro).mount(e),p(this,Pi,new MutationObserver(()=>h(this,Lt,Pm).call(this))),c(this,Pi).observe(e,{attributes:!0,attributeFilter:[qe,Ge,an]}),h(this,Lt,Pm).call(this),e.querySelector(`[${xu}]`)?.addEventListener("click",E=>{E.preventDefault(),E.stopPropagation(),c(this,Ro).toggle()},{signal:n}),c(this,dn)?.addEventListener("click",E=>{if(E.stopPropagation(),c(this,ki)){p(this,ki,!1);return}this.expand()},{signal:n}),c(this,ua)?.addEventListener("click",E=>{E.stopPropagation(),this.collapse()},{signal:n}),c(this,nr)?.addEventListener("click",E=>{E.stopPropagation(),this.toggleChat()},{signal:n});let f=e.querySelector(`.${NR}`),g=[c(this,dn),f].filter(E=>E instanceof HTMLElement);if(c(this,lt)!==void 0&&g.length>0&&(p(this,pa,QA(c(this,lt),g,{onDragMove:()=>{p(this,ki,!0)},onDragEnd:E=>{E&&this.isCollapsed()&&p(this,ki,!0)}})),p(this,fa,ZA(c(this,lt),e))),document.addEventListener("pointerdown",c(this,Zu),{signal:n}),document.addEventListener("keydown",c(this,Qu),{signal:n}),p(this,ma,ty(e)),c(this,ha)!==void 0){let E=c(this,ha);this.paintAccount(E.account,E.dashboardUrl,E.details)}h(this,Lt,Mm).call(this)}teardown(){var e,n,r;(e=c(this,ma))==null||e.call(this),p(this,ma,void 0),c(this,$i)?.abort(),p(this,$i,void 0),c(this,Pi)?.disconnect(),p(this,Pi,void 0),(n=c(this,pa))==null||n.call(this),p(this,pa,void 0),(r=c(this,fa))==null||r.call(this),p(this,fa,void 0),c(this,yt).teardown(),p(this,Ee,void 0),p(this,lt,void 0),p(this,dn,void 0),p(this,Ii,void 0),p(this,nr,void 0),p(this,ua,void 0)}isCollapsed(){return c(this,Ee)?.getAttribute(ke)==="1"}isChatOpen(){return c(this,Ee)?.getAttribute(qe)==="1"}expand(){c(this,Ee)===void 0||!this.isCollapsed()||c(this,Li)||(h(this,Lt,kR).call(this),c(this,Ee).setAttribute(ke,"0"),CR(!1),c(this,dn)!==void 0&&c(this,dn).setAttribute("aria-expanded","true"),c(this,rr).onExpand?.(),this.openChat(),c(this,lt)!==void 0&&kr(c(this,lt),c(this,Ee)))}collapse(){c(this,Ee)!==void 0&&(p(this,Li,!1),this.closeChat(),c(this,yt).close(),c(this,Ee).setAttribute(ke,"1"),CR(!0),c(this,dn)!==void 0&&c(this,dn).setAttribute("aria-expanded","false"),c(this,rr).onCollapse?.())}openChat(){if(c(this,Ee)===void 0||(this.isCollapsed()&&this.expand(),c(this,yt).close(),this.isChatOpen()))return;c(this,Ee).setAttribute(qe,"1");let e=c(this,Ee).querySelector("[data-reticle-log]");e!==null&&gA(e),c(this,Ii)?.setAttribute("aria-hidden","false"),c(this,nr)?.setAttribute("data-active","1"),c(this,nr)?.setAttribute("aria-pressed","true"),c(this,rr).onChatOpen?.(),c(this,lt)!==void 0&&kr(c(this,lt),c(this,Ee))}closeChat(){c(this,Ee)===void 0||!this.isChatOpen()||(c(this,Ee).removeAttribute(qe),c(this,Ii)?.setAttribute("aria-hidden","true"),c(this,nr)?.setAttribute("data-active","0"),c(this,nr)?.setAttribute("aria-pressed","false"),c(this,rr).onChatClose?.(),c(this,lt)!==void 0&&kr(c(this,lt),c(this,Ee)))}toggleChat(){this.isChatOpen()?this.closeChat():this.showChat()}showChat(){c(this,Ro).close(),this.openChat()}pulseFab(e){c(this,dn)?.setAttribute("data-pulse",e?"1":"0")}};Ee=new WeakMap,lt=new WeakMap,dn=new WeakMap,Ii=new WeakMap,nr=new WeakMap,ua=new WeakMap,yt=new WeakMap,pa=new WeakMap,fa=new WeakMap,Li=new WeakMap,ki=new WeakMap,Di=new WeakMap,Mi=new WeakMap,Pi=new WeakMap,$i=new WeakMap,Ro=new WeakMap,rr=new WeakMap,ha=new WeakMap,ma=new WeakMap,Tl=new WeakMap,Lt=new WeakSet,Mm=function(){let e=c(this,Ee)?.querySelector(`[${Zc}]`);if(!(e instanceof HTMLElement))return;let n=Wy(h(this,Lt,LR).call(this));rR(e,xR(c(this,Tl),n),h(this,Lt,IR).call(this))},IR=function(){try{return globalThis.sessionStorage}catch{return}},LR=function(){try{return globalThis.localStorage}catch{return}},Pm=function(){let e=c(this,Ee);if(e===void 0)return;let n=(r,i)=>{let s=e.querySelector(`[${r}]`);s?.setAttribute("data-active",i?"1":"0"),s?.setAttribute("aria-pressed",i?"true":"false")};n(el,e.getAttribute(qe)==="1"),n(nl,e.getAttribute(Ge)==="1"),n(xu,e.getAttribute(an)==="1")},kR=function(){p(this,Li,!0),window.setTimeout(()=>{p(this,Li,!1)},KD)},Zu=new WeakMap,Qu=new WeakMap});function DR(t){let e=t.startMs??t.now,n={reads:0,acts:0,narrations:0,human:0,passes:0,fails:0};for(let r of t.runLog)r.kind===Ke.READ?n.reads+=1:r.kind===Ke.ACT?n.acts+=1:r.kind===Ke.NARRATION?n.narrations+=1:r.kind===Ke.HUMAN&&(n.human+=1),r.result===Pt.PASS?n.passes+=1:r.result===Pt.FAIL&&(n.fails+=1);return{session:t.sessionId,url:typeof location>"u"?"":location.href,state:t.state,startedMs:e,durationMs:Math.max(0,(t.endMs??t.now)-e),counts:n,capabilities:oo(),log:t.runLog.map(r=>({...r}))}}var MR=T(()=>{"use strict";go();io()});function PR(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function $R(t,e){t!==void 0&&(t.style.left=`${String(e.left-4)}px`,t.style.top=`${String(e.top-4)}px`,t.style.width=`${String(e.width+8)}px`,t.style.height=`${String(e.height+8)}px`,t.setAttribute("data-on","1"),z(()=>t.setAttribute("data-on","0"),700))}function UR(t,e,n){if(t===void 0)return;let r=document.createElement("div");r.setAttribute("data-reticle-ripple",""),r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,t.appendChild(r),z(()=>r.remove(),520)}function Hm(t){return new Promise(e=>z(e,t))}var HR=T(()=>{"use strict";Ve()});var wn,Ui,Cn,In,vo,ga,Ea,Hi,_l,ba,Sl,un,FR,Fm,Bm,BR,Ju,GR=T(()=>{"use strict";D();Ve();it();Ju=class{constructor(e){m(this,un);m(this,wn,Nn.IDLE);m(this,Ui,0);m(this,Cn);m(this,In);m(this,vo);m(this,ga);m(this,Ea);m(this,Hi);m(this,_l);m(this,ba);m(this,Sl);p(this,Ea,e.now),p(this,Hi,e.idleAfterMs),p(this,_l,e.glowFadeMs),p(this,ba,e.borderMode),p(this,Sl,e.setMode)}setElements(e,n){p(this,vo,e),p(this,ga,n)}phase(){return c(this,wn)}lastActivityMs(){return c(this,Ui)}resetActivity(e){p(this,Ui,e)}markActivity(e=c(this,Ea).call(this)){p(this,Ui,e),(c(this,wn)===Nn.IDLE||c(this,wn)===Nn.FADING)&&h(this,un,FR).call(this),h(this,un,Fm).call(this)}scheduleIdle(){h(this,un,Fm).call(this)}teardown(){c(this,Cn)!==void 0&&pe(c(this,Cn)),c(this,In)!==void 0&&pe(c(this,In)),p(this,Cn,void 0),p(this,In,void 0)}};wn=new WeakMap,Ui=new WeakMap,Cn=new WeakMap,In=new WeakMap,vo=new WeakMap,ga=new WeakMap,Ea=new WeakMap,Hi=new WeakMap,_l=new WeakMap,ba=new WeakMap,Sl=new WeakMap,un=new WeakSet,FR=function(){c(this,In)!==void 0&&(pe(c(this,In)),p(this,In,void 0)),p(this,wn,Nn.BUSY),c(this,ba)===yi.SESSION?c(this,vo)?.setAttribute(Jc,xA):c(this,vo)?.setAttribute(St,Cr),c(this,ga)?.setAttribute(St,Cr)},Fm=function(){c(this,Cn)!==void 0&&pe(c(this,Cn)),p(this,Cn,z(()=>h(this,un,Bm).call(this),c(this,Hi)))},Bm=function(){if(p(this,Cn,void 0),c(this,wn)!==Nn.BUSY)return;let e=c(this,Ea).call(this)-c(this,Ui);if(e<c(this,Hi)){p(this,Cn,z(()=>h(this,un,Bm).call(this),c(this,Hi)-e));return}h(this,un,BR).call(this)},BR=function(){p(this,wn,Nn.FADING),c(this,ba)===yi.SESSION?c(this,vo)?.setAttribute(Jc,gu):c(this,vo)?.setAttribute(St,bo),c(this,ga)?.setAttribute(St,bo),c(this,Sl).call(this,Me.IDLE),p(this,In,z(()=>{p(this,In,void 0),c(this,wn)===Nn.FADING&&p(this,wn,Nn.IDLE)},c(this,_l)))}});function jR(t,e,n){let r=zD(e);if(t===void 0)return r;if(r.passes===0&&r.fails===0)return t.setAttribute("hidden",""),t.replaceChildren(),r;let i=t.ownerDocument;t.removeAttribute("hidden"),t.className="reticle-tally reticle-pill-group reticle-head-ctl",t.replaceChildren();let s=i.createElement("span");if(s.className="reticle-t-pass reticle-pill-segment",r.passes===0&&s.setAttribute("data-z","1"),r.passes>n.passes&&s.setAttribute("data-bump","1"),s.append(qn(V.CHECK,ie.TALLY)),r.passes>0){let d=i.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.passes),s.append(d)}let a=i.createElement("span");a.className="reticle-pill-sep",a.setAttribute("aria-hidden","true");let l=i.createElement("span");if(l.className="reticle-t-fail reticle-pill-segment",r.fails===0&&l.setAttribute("data-z","1"),r.fails>n.fails&&l.setAttribute("data-bump","1"),l.append(qn(V.REMOVE,ie.TALLY)),r.fails>0){let d=i.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.fails),l.append(d)}return t.append(s,a,l),r}function zD(t){let e=0,n=0;for(let r of t)r.result===Pt.PASS?e+=1:r.result===Pt.FAIL&&(n+=1);return{passes:e,fails:n}}var VR=T(()=>{"use strict";go();Xn()});function WR(t){return Gm??(Gm=new Set([...YD,...Object.entries(qD).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),Gm.has(t)}var YD,KR,qD,Gm,zR=T(()=>{"use strict";YD=["fab","pause","chat-toggle","markers-btn","end","clear-marks","copy-marks","copy","export","annotate-btn","report-btn","settings-btn","min-btn","chat-min","chat-pill","replay","carousel-dot","carousel-close","offer-claim","talk-book","account-signin","account-trigger","account-signout","account-dashboard","sync-now","report-scope","report-close","share-x","share-in","share-copy","refer","settings-close","settings-help","settings-reset","settings-mcp","feedback-email","feedback-call","workspace-btn","workspace-copy","mark-cancel","mark-send"],KR=["setting","check","settings-cycle","theme","tour-target","link"],qD={setting:["autoOpenChat","showTimestamps","showTally","reactComponents","hideUntilRestart","harnessEnabled","reduceMotion","ambientGlow"],check:["blockPageInteractions","clearOnCopy"],"settings-cycle":["outputDetail"],theme:["signal","traffic","mono","neon","ember"],"tour-target":["copy","back","done","next","skip"],link:["docs","github","site","discord","defect","dashboard"]}});var YR=T(()=>{"use strict";zR()});function XR(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(qR))continue;let n=e.name.slice(qR.length),r=KR.includes(n)?`${n}.${e.value}`:n;if(WR(r))return r}}function ZD(t){for(let e of t)if(e instanceof Element&&XR(e)!==void 0)return e}function QD(t){return t.getAttribute(ke)==="1"?{view:Zr.BUBBLE,panel:Qr.NONE}:t.getAttribute(Ge)==="1"?{view:Zr.EXPANDED,panel:Qr.SETTINGS}:t.getAttribute(an)==="1"?{view:Zr.EXPANDED,panel:Qr.REPORT}:t.getAttribute(qe)==="1"?{view:Zr.EXPANDED,panel:Qr.CHAT}:{view:Zr.COLLAPSED,panel:Qr.NONE}}function ZR(t,e,n){let r=d=>{try{n(d)}catch{}},i=d=>{let u=ZD(d.composedPath());if(u===void 0||!Xi(u))return;let f=XR(u);if(f!==void 0){if(!XD.has(u.getAttribute("role")??"")){r({control:f});return}z(()=>{let g=u.getAttribute("aria-checked")==="true";r({control:f,toggle:g?tc.ON:tc.OFF})},0)}},s="",a=()=>{let d=QD(e),u=`${d.view}/${d.panel}`;u!==s&&(s=u,r(d))};t.addEventListener("click",i,!0);let l=new MutationObserver(a);return l.observe(e,{attributes:!0,attributeFilter:[ke,qe,Ge,an]}),a(),()=>{t.removeEventListener("click",i,!0),l.disconnect()}}var qR,XD,QR=T(()=>{"use strict";YR();D();et();Ve();it();qR="data-reticle-",XD=new Set(["switch","checkbox"])});var av={};Va(av,{GlowPhase:()=>Nn,LOG_KIND:()=>Ke,LOG_RESULT:()=>Pt,Presenter:()=>jm});var JD,Sa,Ce,$r,Fi,Al,Bi,Ur,xa,Aa,No,Hr,Gi,ya,Ra,pn,va,yl,ji,Kt,Fr,dt,Na,Rl,vl,Vi,Br,Ln,Gr,kn,Oo,wo,Oa,wa,Wt,Ie,Ca,Y,JR,Ta,Vm,ev,xl,Km,tv,nv,rv,ov,iv,_a,sv,jm,cv=T(()=>{"use strict";D();gt();oh();gh();Ve();go();sR();Um();Nm();it();MR();HR();GR();Xn();VR();Ku();aa();Um();QR();it();go();JD=1600,jm=class{constructor(e={}){m(this,Y);m(this,Sa);m(this,Ce);m(this,$r);m(this,Fi);m(this,Al);m(this,Bi);m(this,Ur);m(this,xa);m(this,Aa);m(this,No);m(this,Hr);m(this,Gi);m(this,ya,{passes:0,fails:0});m(this,Ra,Me.IDLE);m(this,pn);m(this,va);m(this,yl);m(this,ji);m(this,Kt);m(this,Fr,"");m(this,dt);m(this,Na);m(this,Rl);m(this,vl);m(this,Vi);m(this,Br,[]);m(this,Ln,!1);m(this,Gr);m(this,kn);m(this,Oo);m(this,wo);m(this,Oa);m(this,wa);m(this,Wt);m(this,Ie);m(this,Ca);p(this,Sa,AA(e.paceMs)),p(this,pn,e.now??Gd),p(this,va,e.heartbeatMs??RA),p(this,yl,e.idleNoticeMs??vA),p(this,Na,e.idleEndMs??NA),p(this,Rl,e.sessionId??""),p(this,ji,e.border??SA),p(this,Kt,new Ju({now:c(this,pn),idleAfterMs:e.idleAfterMs??yA,glowFadeMs:e.glowFadeMs??wA,borderMode:c(this,ji),setMode:n=>this.setMode(n)})),p(this,Gr,Ph(e.logMax)),p(this,wo,e.onControl),p(this,Oa,e.onHudUse),p(this,Wt,new Vu({emit:(n,r)=>{var i;return(i=c(this,wo))==null?void 0:i.call(this,r!==void 0?{kind:n,text:r}:{kind:n})},logHuman:n=>{this.log(Ke.HUMAN,n)},endedFadeMs:e.endedFadeMs??vy,runState:()=>this.runState(),clearRunLog:()=>h(this,Y,rv).call(this),onStateChange:()=>h(this,Y,Ta).call(this)})),p(this,Ie,new bl({onChatOpen:()=>c(this,Ie).pulseFab(!1),onExpand:()=>h(this,Y,Ta).call(this),onAnnotateToggle:()=>h(this,Y,Ta).call(this),onCollapse:()=>h(this,Y,Ta).call(this),onSyncNow:()=>{var n;return(n=c(this,wo))==null?void 0:n.call(this,{kind:$n.SYNC})},settings:{onBeforeOpen:()=>{c(this,Ie).isCollapsed()&&c(this,Ie).expand()},onHideUntilRestart:()=>h(this,Y,ov).call(this),onSettingsChange:n=>h(this,Y,iv).call(this,n),onHarness:n=>{var r;return(r=c(this,wo))==null?void 0:r.call(this,{kind:$n.HARNESS,text:n?"on":"off"})}}}))}setControlHandler(e){p(this,wo,e)}get state(){return c(this,Wt).state}get sessionActive(){return c(this,Ln)}setState(e,n,r){c(this,Wt).setState(e,n,r)}refilterFlows(){c(this,Wt).refilterFlows()}handlePush(e){let n=e.args;if(e.name===C.FLOWS)return void c(this,Wt).setFlows(n.flows);if(e.name===C.IMPACT){let a=uR(n.snapshot);a!==void 0&&(c(this,Ie).report.setSnapshot(a),c(this,Ie).paintOffer(a.harnessOffer),c(this,Ie).paintHarness(a.harnessConfig),c(this,Ie).paintAccount(a.account,a.dashboardUrl,{projectName:a.projectName,dashboardUrl:a.dashboardUrl,verdicts:a.project.counts.verdicts,defects:a.project.counts.failed}));return}let r=n.state,i=n.tone,s=typeof n.text=="string"&&n.text.length>0?n.text:void 0;wE(r)&&this.setState(r,s,ib(i)?i:void 0)}get logMax(){return c(this,Gr)}set logMax(e){p(this,Gr,Ph(e)),h(this,Y,sv).call(this)}mount(){if(c(this,Ce)!==void 0||typeof document>"u")return;let e=document.createElement("style");e.setAttribute("data-reticle-overlay",""),e.textContent=iR,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute("data-reticle-overlay","");let r=`<div class="reticle-act-strip" data-liveness="idle"><span class="reticle-act-dot" aria-hidden="true"></span><span class="reticle-act">${Eo.READY}</span><span class="reticle-chip" data-reticle-chip></span></div>`;n.innerHTML=`
1242
- ${lm()}
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
- ${bl.dockHtml(r,wy,Zc,Cy+Iy,Ly)}`,document.body.appendChild(n),p(this,Ce,n),p(this,$r,n.querySelector("[data-reticle-glow]")??void 0),p(this,Fi,n.querySelector("[data-reticle-cursor]")??void 0),p(this,Al,n.querySelector("[data-reticle-ring]")??void 0),p(this,Bi,n.querySelector("[data-reticle-hud]")??void 0),p(this,Ur,n.querySelector(".reticle-act")??void 0),p(this,xa,n.querySelector(".reticle-act-strip")??void 0),p(this,Aa,n.querySelector("[data-reticle-chat-pill-text]")??void 0),p(this,No,n.querySelector("[data-reticle-chat-pill-time]")??void 0),p(this,kn,n.querySelector(`[${Zc}]`)??void 0),p(this,Hr,n.querySelector("[data-reticle-chip]")??void 0),p(this,Gi,n.querySelector("[data-reticle-tally]")??void 0),c(this,Ie).mount(n),ul(n,Bt(),!1),c(this,Kt).setElements(c(this,$r),c(this,Fi)),c(this,Wt).mount(n,c(this,$r)),c(this,Oa)!==void 0&&p(this,wa,ZR(document,n,c(this,Oa))),this.setMode(c(this,Ra)),h(this,Y,_a).call(this)}bindAnnotator(e){p(this,Ca,e);let n=c(this,Ce);if(n===void 0)return;let r=n.querySelector(`[${bu}]`),i=n.querySelector(`[${Tu}]`),s=n.querySelector(`[${IA}]`),a=n.querySelector(`[${_u}]`),l=n.querySelector(`[${Su}]`),d={};l instanceof HTMLElement&&(d.copyRow=l);let u=e.markCount;d.onCount=f=>{u===0&&f>0&&c(this,Ie).openChat(),u=f},a instanceof HTMLElement&&a.addEventListener("click",f=>{f.stopPropagation(),h(this,Y,JR).call(this,e,a)}),r instanceof HTMLElement&&(d.markersBtn=r),i instanceof HTMLElement&&(d.clearBtn=i),s instanceof HTMLElement&&(d.countEl=s),e.attachChrome(d),e.setAccent(dl(Bt().statusThemeId).active),h(this,Y,Ta).call(this)}destroy(){var e;c(this,Kt).teardown(),c(this,dt)!==void 0&&pe(c(this,dt)),p(this,dt,void 0),(e=c(this,wa))==null||e.call(this),p(this,wa,void 0),c(this,Ie).teardown(),c(this,Wt).teardown(),p(this,Ln,!1),p(this,Oo,void 0),p(this,kn,void 0),c(this,Ce)?.remove(),document.querySelectorAll("style[data-reticle-overlay]").forEach(n=>n.remove()),p(this,Ce,void 0)}sessionStart(){if(this.state===Re.ENDED){h(this,Y,ev).call(this);return}c(this,Ln)||($h===c(this,Ce)?.getAttribute(Eu)&&c(this,Ce).removeAttribute(Eu),p(this,Ln,!0),c(this,vl)??p(this,vl,c(this,pn).call(this)),p(this,Vi,void 0),h(this,Y,Vm).call(this),c(this,Kt).resetActivity(c(this,pn).call(this)),h(this,Y,Km).call(this),$m(Bt().autoOpenChat)&&c(this,Ie).openChat())}showUnreachable(e,n){if(c(this,Ln))return;c(this,Ce)?.setAttribute(Eu,$h),c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,Cr),c(this,Bi)?.setAttribute(St,Cr),p(this,Fr,sS(e,n)),h(this,Y,xl).call(this,c(this,Fr),!0),$m(Bt().autoOpenChat)&&c(this,Ie).openChat()}sessionEnd(){if(!c(this,Ln))return;p(this,Ln,!1),c(this,dt)!==void 0&&(pe(c(this,dt)),p(this,dt,void 0)),c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,bo),c(this,Bi)?.setAttribute(St,bo),c(this,Ie).collapse(),c(this,ji)===yi.SESSION&&(c(this,$r)?.setAttribute(St,bo),c(this,$r)?.setAttribute(Jc,gu))}markActivity(){c(this,Kt).markActivity()}scheduleIdle(){c(this,Kt).scheduleIdle()}glowPhase(){return c(this,Kt).phase()}get mode(){return c(this,Ra)}setMode(e){if(p(this,Ra,e),c(this,Ce)?.setAttribute("data-reticle-mode",e),c(this,Hr)!==void 0){let n=fA[e];if(c(this,Hr).setAttribute("data-mode",e),c(this,Hr).replaceChildren(),n.length>0){let r=e===Me.READING?V.VIEW:e===Me.ACTING?V.POINTER:void 0;r!==void 0&&c(this,Hr).appendChild(qn(r,ie.CHIP));let i=document.createElement("span");i.className="reticle-chip-label",i.textContent=n,c(this,Hr).appendChild(i)}}e===Me.READING&&c(this,Fi)?.setAttribute(St,bo)}status(e){this.markActivity(),c(this,No)!==void 0&&(c(this,No).textContent=Eo.NOW),p(this,Fr,e),h(this,Y,xl).call(this,e,!1)}setIdleEndMs(e){Number.isFinite(e)&&p(this,Na,Math.max(OA,Math.floor(e)))}runState(){let e=DR({sessionId:c(this,Rl),state:this.state,startMs:c(this,vl),endMs:c(this,Vi),now:c(this,pn).call(this),runLog:c(this,Br)}),n=Bt();return n.outputDetail===On.MINIMAL?{session:e.session,url:e.url,state:e.state,startedMs:e.startedMs,durationMs:e.durationMs,counts:e.counts}:n.outputDetail===On.VERBOSE&&n.reactComponents?{...e,includeReactComponents:!0}:e}log(e,n,r){let i=c(this,pn).call(this);if(c(this,Kt).markActivity(i),c(this,kn)===void 0)return;let s=n.trim();if(s.length===0)return;c(this,Oo)??p(this,Oo,i);let a=r!==void 0?{at:i-c(this,Oo),kind:e,text:s,result:r}:{at:i-c(this,Oo),kind:e,text:s};for(c(this,Br).push(a);c(this,Br).length>c(this,Gr);)c(this,Br).shift();let l=TA(i-c(this,Oo)),d=_A(c(this,kn),e,s,l,c(this,Gr));return r!==void 0&&d.result(r),c(this,Ie).isCollapsed()&&c(this,Ie).pulseFab(!0),h(this,Y,_a).call(this),{result:u=>{d.result(u),a.result=u,h(this,Y,_a).call(this)}}}narrate(e,n="info"){let r=n==="info"?e:`[${n}] ${e}`;return this.log(Ke.NARRATION,r)}setThrottled(e){c(this,Ce)?.setAttribute(PA,e?"1":"0"),e&&c(this,Ur)!==void 0&&(c(this,Ur).textContent="Tab backgrounded - actions throttled. Bring tab to front or use `reticle drive`.")}async beforeAct(e,n,r){let i=X.resolve(e);if(this.status(`${Pc(n)} ${r}`),!(i instanceof HTMLElement)){await Hm(c(this,Sa));return}let s=i.getBoundingClientRect(),a=s.left+s.width/2,l=s.top+s.height/2;PR(c(this,Fi),a,l),$R(c(this,Al),s),await Hm(c(this,Sa)),(R.CLICK===n||R.DBLCLICK===n||R.SUBMIT===n)&&UR(c(this,Ce),a,l)}};Sa=new WeakMap,Ce=new WeakMap,$r=new WeakMap,Fi=new WeakMap,Al=new WeakMap,Bi=new WeakMap,Ur=new WeakMap,xa=new WeakMap,Aa=new WeakMap,No=new WeakMap,Hr=new WeakMap,Gi=new WeakMap,ya=new WeakMap,Ra=new WeakMap,pn=new WeakMap,va=new WeakMap,yl=new WeakMap,ji=new WeakMap,Kt=new WeakMap,Fr=new WeakMap,dt=new WeakMap,Na=new WeakMap,Rl=new WeakMap,vl=new WeakMap,Vi=new WeakMap,Br=new WeakMap,Ln=new WeakMap,Gr=new WeakMap,kn=new WeakMap,Oo=new WeakMap,wo=new WeakMap,Oa=new WeakMap,wa=new WeakMap,Wt=new WeakMap,Ie=new WeakMap,Ca=new WeakMap,Y=new WeakSet,JR=function(e,n){let r=e.agentPrompt(window.location.href);navigator.clipboard?.writeText(r).catch(()=>{}),n.setAttribute("data-copied","1"),z(()=>n.removeAttribute("data-copied"),JD),Bt().clearOnCopy&&e.clearAll()},Ta=function(){let e=!c(this,Ie).isCollapsed()&&c(this,Ie).isAnnotateOn();c(this,Ca)?.toggle(e),c(this,Ce)!==void 0&&ul(c(this,Ce),Bt(),e)},Vm=function(){c(this,Ce)?.querySelector("[data-reticle-dock]")?.setAttribute(St,Cr),c(this,Bi)?.setAttribute(St,Cr),c(this,ji)===yi.SESSION&&c(this,$r)?.setAttribute(St,Cr)},ev=function(){c(this,Wt).setState(Re.ACTIVE),p(this,Vi,void 0),h(this,Y,Vm).call(this),c(this,Kt).resetActivity(c(this,pn).call(this)),h(this,Y,Km).call(this)},xl=function(e,n){c(this,Ur)!==void 0&&(c(this,Ur).textContent=e);let r=n?"idle":"active";c(this,xa)!==void 0&&c(this,xa).setAttribute("data-liveness",r),c(this,Ce)?.setAttribute(rl,r),c(this,Aa)!==void 0&&(c(this,Aa).textContent=n?c(this,Fr)!==""?c(this,Fr):Eo.READY:e)},Km=function(){c(this,dt)!==void 0&&pe(c(this,dt));let e=()=>{h(this,Y,tv).call(this),p(this,dt,z(e,c(this,va)))};p(this,dt,z(e,c(this,va)))},tv=function(){if(!c(this,Ln)||c(this,Ur)===void 0||this.state===Re.ENDED)return;let e=c(this,pn).call(this)-c(this,Kt).lastActivityMs();if(e>=c(this,Na)){h(this,Y,nv).call(this,e);return}if(e<c(this,yl)||c(this,Fr)==="")return;let n=Eo.SINCE_LAST;h(this,Y,xl).call(this,`${Eo.PLANNING_PREFIX}${Qc(e)}${n}`,!0),c(this,No)!==void 0&&(c(this,No).textContent=Qc(e))},nv=function(e){p(this,Vi,c(this,pn).call(this)),c(this,Wt).setState(Re.ENDED,`${Eo.STOPPED_PREFIX}${Qc(e)} quiet`),h(this,Y,xl).call(this,Eo.STOPPED,!1),c(this,dt)!==void 0&&(pe(c(this,dt)),p(this,dt,void 0))},rv=function(){p(this,Br,[]),p(this,ya,{passes:0,fails:0}),c(this,kn)!==void 0&&bA(c(this,kn)),h(this,Y,_a).call(this)},ov=function(){c(this,Ce)?.setAttribute("data-reticle-hidden","1"),c(this,Ie).collapse()},iv=function(e){if(c(this,Ca)?.setAccent(dl(e.statusThemeId).active),e.showTally?h(this,Y,_a).call(this):c(this,Gi)?.setAttribute("hidden",""),c(this,Ce)!==void 0){let n=Re.ACTIVE===c(this,Wt).state&&!c(this,Ie).isCollapsed();ul(c(this,Ce),e,n)}},_a=function(){if(!Bt().showTally){c(this,Gi)?.setAttribute("hidden","");return}p(this,ya,jR(c(this,Gi),c(this,Br),c(this,ya)))},sv=function(){c(this,kn)!==void 0&&Mh(c(this,kn),c(this,Gr))}});var Ue,lv,dv,uv,pv=T(()=>{"use strict";Ue={NONE:"none",HUD:"hud",APP:"app",HUD_CHAT:"hud-chat",HUD_ANNOTATE:"hud-annotate",HUD_IMPACT:"hud-impact",HUD_SETTINGS:"hud-settings"},lv=[{label:"Verify one flow",text:"verify the login flow with Reticle, and tell me the verdict"},{label:"Check what is proved",text:"/reticle"},{label:"Let it loose",text:"monkey-test the checkout flow with Reticle and tell me what breaks"}],dv=[{id:"connect",title:"Yayyy! It is connected",say:"That panel is Reticle. Seeing it is your proof the SDK is connected to your app.",why:"It only mounts on a connected session, so it cannot show up without one. Having the tools is not the same as being set up.",call:'reticle_session { action: "list" }',anchor:Ue.HUD},{id:"look",title:"Look, without pixels",say:"Take a semantic snapshot. You get the controls and their refs, not pixels, so you can point at things by name.",why:"A ref is stable across snapshots, which is what lets you plan several steps before spending any of them.",call:'reticle_look { action: "page" }',anchor:Ue.APP},{id:"declare",title:"Say it first",say:'Decide what should happen BEFORE you touch anything. "Clicking Pay makes the receipt appear" is a claim that can be wrong.',why:"This is the whole idea. A consequence named first is a check; the same sentence written after the fact is a rationalisation, and it is the difference between a verdict and a story.",call:'until: { signal: "order:placed" } // a consequence \u2014 not until: { ms: 500 }',anchor:Ue.NONE},{id:"verdict",title:"Act, and prove it",say:"Act and prove in one call. The answer says verified yes / no / unknown, and `because` names the evidence that decided it.",why:'Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. A drive that ends without one has no result, however many tools it used \u2014 and "unknown" is an honest answer, not a pass.',call:'reticle_act_and_wait { ref, action: "click", until: { signal: "order:placed" } }',anchor:Ue.HUD}],uv=[{id:"hud-chat",title:"Activity Panel",say:"Watch what your agent is doing in your app, as it happens.",anchor:Ue.HUD_CHAT,tryIt:"Open it."},{id:"hud-annotate",title:"Annotate",say:"Click anywhere in your app to drop a numbered pin with a note. Hand the pins to your agent and it fixes them.",anchor:Ue.HUD_ANNOTATE,tryIt:"Turn it on, then click something in your app."},{id:"hud-impact",title:"What's the impact?",say:"Everything Reticle has done here. Every bug it caught, every metric.",anchor:Ue.HUD_IMPACT,tryIt:"Take a look."},{id:"hud-settings",title:"Make it yours",say:"Change how Reticle looks and behaves.",anchor:Ue.HUD_SETTINGS,tryIt:"Open it."}]});var Wm=T(()=>{"use strict";pv()});function qm(){return[...zm.map(t5),{index:e5,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Ue.NONE,prompts:lv}]}function Nl(t){return t.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;").split('"').join("&quot;")}function n5(t){return Nl(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function Xm(t,e){let n=t+e;return n<0?0:n>ep-1?ep-1:n}function Ev(t,e,n){let r=Math.max(0,t.left),i=Math.max(0,t.top),s=Math.min(e,t.left+t.width),a=Math.min(n,t.top+t.height);return[{left:0,top:0,width:e,height:i},{left:0,top:a,width:e,height:n-a},{left:0,top:i,width:r,height:a-i},{left:s,top:i,width:e-s,height:a-i}].filter(d=>d.width>0&&d.height>0)}function bv(t){let e=qm().map(a=>`<span class="reticle-tour-dot${a.index===t.index?" is-on":""}" aria-hidden="true"></span>`).join(""),n=t.tryIt===void 0?"":`<p class="reticle-tour-try" ${jr}="try">${Nl(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((a,l)=>`<div class="reticle-tour-prompt" ${Ol}="${String(l)}"><span class="reticle-tour-prompt-label">${Nl(a.label)}</span><pre class="reticle-tour-prompt-text">${Nl(a.text)}</pre><button type="button" class="reticle-tour-copy" ${jr}="copy" ${Ol}="${String(l)}">${Ym}</button></div>`).join("")+"</div>",i=t.index===0?"":`<button type="button" class="reticle-tour-back" ${jr}="back">Back</button>`,s=Zm(t.index)?`<button type="button" class="reticle-tour-next" ${jr}="done">Done</button>`:`<button type="button" class="reticle-tour-next" ${jr}="next">Next</button>`;return`<div class="reticle-tour-card" role="dialog" aria-modal="false" aria-label="Reticle tour"><button type="button" class="reticle-tour-skip" ${jr}="skip" aria-label="Skip the tour">Skip</button><p class="reticle-tour-step">Step ${String(t.index+1)} of ${String(ep)}</p><h2 class="reticle-tour-title">${Nl(t.title)}</h2><p class="reticle-tour-body">${n5(t.body)}</p>`+n+r+`<div class="reticle-tour-foot"><div class="reticle-tour-dots">${e}</div><div class="reticle-tour-nav">${i}${s}</div></div></div>`}var zm,e5,ep,ee,jr,Ol,Ym,fv,hv,mv,t5,gv,Zm,Tv,_v=T(()=>{"use strict";Wm();zm=[...dv.slice(0,1),...uv],e5=zm.length,ep=zm.length+1,ee="data-reticle-tour",jr="data-reticle-tour-target",Ol="data-reticle-tour-prompt",Ym="Copy",fv="Copied",hv="Selected \u2014 press Ctrl/Cmd+C",mv=1600,t5=(t,e)=>({index:e,title:t.title,body:t.say,anchor:t.anchor??Ue.NONE,...t.tryIt===void 0?{}:{tryIt:t.tryIt}}),gv=t=>t.tryIt!==void 0;Zm=t=>t===ep-1;Tv=`
1247
- [${ee}]{position:fixed;inset:0;z-index:${String(2147483630)};pointer-events:none;
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("&amp;").split("<").join("&lt;").split(">").join("&gt;").split('"').join("&quot;")}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
- [${ee}] .reticle-tour-scrim{position:absolute;inset:0;background:rgba(6,8,14,.55);
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
- [${ee}] .reticle-tour-blocker{position:absolute;pointer-events:auto;z-index:0;}
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 @@ ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(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
- [${ee}] .reticle-tour-scrim.is-clear{background:transparent;backdrop-filter:none;
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 @@ ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(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
- [${ee}] .reticle-tour-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
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
- [${ee}] .reticle-tour-skip{position:absolute;top:10px;right:12px;background:none;border:0;
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
- [${ee}] .reticle-tour-skip:hover{color:#e8eaf0;background:rgba(255,255,255,.06);}
1276
- [${ee}] .reticle-tour-step{margin:0 0 6px;font-size:11px;letter-spacing:.06em;
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
- [${ee}] .reticle-tour-title{margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:650;
1644
+ [${oe}] .reticle-tour-title{margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:650;
1279
1645
  color:#f2f4f8;}
1280
- [${ee}] .reticle-tour-body{margin:0 0 10px;color:#c9cedb;}
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
- [${ee}] .reticle-tour-code{padding:1px 5px;border-radius:5px;background:#0c0e14;
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
- [${ee}] .reticle-tour-try{margin:0 0 12px;padding:8px 10px;border-radius:8px;
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
- [${ee}] .reticle-tour-prompts{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;}
1290
- [${ee}] .reticle-tour-prompt{display:grid;gap:6px;padding:9px 10px;border-radius:8px;
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
- [${ee}] .reticle-tour-prompt-label{grid-area:label;color:#8a93a6;font-size:11px;
1659
+ [${oe}] .reticle-tour-prompt-label{grid-area:label;color:#8a93a6;font-size:11px;
1294
1660
  letter-spacing:.05em;text-transform:uppercase;}
1295
- [${ee}] .reticle-tour-prompt-text{grid-area:text;width:100%;box-sizing:border-box;margin:0;
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
- [${ee}] .reticle-tour-copy{grid-area:copy;padding:5px 10px;border-radius:6px;
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
- [${ee}] .reticle-tour-copy:hover{background:rgba(255,255,255,.07);color:#fff;}
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
- [${ee}] .reticle-tour-copy.is-done{background:#16a34a;border-color:#16a34a;color:#fff;}
1305
- [${ee}] .reticle-tour-copy.is-manual{background:#b45309;border-color:#b45309;color:#fff;}
1306
- [${ee}] .reticle-tour-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;}
1307
- [${ee}] .reticle-tour-dots{display:flex;gap:6px;}
1308
- [${ee}] .reticle-tour-dot{width:6px;height:6px;border-radius:50%;background:#333a49;}
1309
- [${ee}] .reticle-tour-dot.is-on{background:#6366f1;}
1310
- [${ee}] .reticle-tour-nav{display:flex;gap:8px;}
1311
- [${ee}] .reticle-tour-back,[${ee}] .reticle-tour-next{padding:8px 14px;border-radius:8px;
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
- [${ee}] .reticle-tour-next{background:#6366f1;border-color:#6366f1;color:#fff;}
1314
- [${ee}] .reticle-tour-next:hover{filter:brightness(1.08);}
1315
- [${ee}] .reticle-tour-back:hover{background:rgba(255,255,255,.06);color:#e8eaf0;}
1316
- [${ee}] .reticle-tour-ring{position:absolute;border-radius:14px;pointer-events:none;z-index:1;
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
- [${ee}] .reticle-tour-ring.is-live{animation:reticle-tour-pulse 1.8s ease-in-out infinite;}
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 @@ ${Ny}`});function er(t){return t<1e3?String(Math.round(t)):t<1e6?`${cR(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
- [${ee}] .reticle-tour-ring.is-region{box-shadow:none;border:2px dashed #7c83f5;
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
- [${ee}] .reticle-tour-ring{transition:none;}
1698
+ [${oe}] .reticle-tour-ring{transition:none;}
1333
1699
  }
1334
- `});var yv={};Va(yv,{TOUR_SEEN_KEY_PREFIX:()=>Sv,isLastSlide:()=>Zm,mountTour:()=>l5,openedByReticle:()=>xv,safeLocalStorage:()=>d5,tourAlreadySeen:()=>Av,tourSeenKey:()=>Qm});function i5(t,e){let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let a of e){let l=t.querySelector(a)?.getBoundingClientRect();l===void 0||l.width<=0||l.height<=0||(n=Math.min(n,l.left),r=Math.min(r,l.top),i=Math.max(i,l.left+l.width),s=Math.max(s,l.top+l.height))}if(i!==Number.NEGATIVE_INFINITY)return{left:n,top:r,width:i-n,height:s-r}}function a5(t,e){if(Ue.HUD===e)return i5(t,o5);let n=s5[e];if(n!==void 0){let r=t.querySelector(n)?.getBoundingClientRect();return r===void 0?void 0:r}if(Ue.APP===e)for(let r of r5){let i=t.querySelector(r);if(i===null)continue;let s=i.getBoundingClientRect();if(s.width>0)return s}}function xv(t){if(t===void 0||t==="")return!1;let e=new URLSearchParams(t.startsWith("?")?t.slice(1):t);return e.has(pr.OPENED)||e.has(pr.SESSION)||e.has(pr.PROJECT)}function Av(t,e){if(t===void 0)return!0;try{return t.getItem(Qm(e))!==null}catch{return!0}}function c5(t,e){try{t?.setItem(Qm(e),"1")}catch{}}function l5(t){if(t.isDriving()||xv(t.search)||t.navigator?.webdriver===!0||Av(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(ee,""),n.textContent=Tv,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(ee,"");let i=qm(),s=0,a=!0,l=()=>{},d=()=>{},u=()=>{a&&(a=!1,l(),d(),r.remove(),n.remove())},f=()=>{a&&(c5(t.storage,t.projectId),u())},g=()=>{t.isDriving()&&u()},E=()=>{let L=i[s];if(L!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${bv(L)}`,Ue.NONE!==L.anchor)){let G=a5(e,L.anchor);if(G!==void 0&&G.width>0){let $=Ue.APP===L.anchor,Q=e.createElement("div");Q.className=$?"reticle-tour-ring is-region":"reticle-tour-ring";let se=$?-2:6;if(Q.style.left=`${String(Math.round(G.left-se))}px`,Q.style.top=`${String(Math.round(G.top-se))}px`,Q.style.width=`${String(Math.round(G.width+se*2))}px`,Q.style.height=`${String(Math.round(G.height+se*2))}px`,r.appendChild(Q),$||r.querySelector(".reticle-tour-scrim")?.classList.add("is-clear"),gv(L)){Q.classList.add("is-live"),r.querySelector(".reticle-tour-scrim")?.remove();let xe=e.defaultView;for(let ge of Ev({left:G.left-se,top:G.top-se,width:G.width+se*2,height:G.height+se*2},xe?.innerWidth??e.documentElement.clientWidth,xe?.innerHeight??e.documentElement.clientHeight)){let ve=e.createElement("div");ve.className="reticle-tour-blocker",ve.style.left=`${String(Math.round(ge.left))}px`,ve.style.top=`${String(Math.round(ge.top))}px`,ve.style.width=`${String(Math.round(ge.width))}px`,ve.style.height=`${String(Math.round(ge.height))}px`,r.appendChild(ve)}}}}},_=L=>{let G=i[s],$=Number(L.getAttribute(Ol)),Q=G?.prompts?.[$];if(Q===void 0)return;let se=(ve,zt)=>{L.textContent=ve,L.classList.add(zt),e.defaultView?.setTimeout(()=>{L.textContent=Ym,L.classList.remove(zt)},mv)},xe=ve=>{if(ve){se(fv,"is-done");return}let zt=r.querySelector(`.reticle-tour-prompt[${Ol}="${String($)}"] .reticle-tour-prompt-text`);zt!==null&&t.select?.(zt),se(hv,"is-manual")},ge=t.copy?.(Q.text);if(ge===void 0){xe(!1);return}if(typeof ge=="boolean"){xe(ge);return}ge.then(xe).catch(()=>{xe(!1)})};r.addEventListener("click",L=>{let G=L.target;if(!(G instanceof Element))return;let $=G.closest(`[${jr}]`);if($===null)return;let Q=$.getAttribute(jr);if(Q===null)return;if(L.preventDefault(),L.stopPropagation(),Q==="skip"||Q==="done"){f();return}if(Q==="copy"){_($);return}let se=Xm(s,Q==="back"?-1:1);se!==s&&(s=se,E())});let S=L=>{if(!a||Ul(e))return;let G=L.key==="ArrowRight"?1:L.key==="ArrowLeft"?-1:0;if(L.key==="Escape"){L.preventDefault(),f();return}if(G===0)return;let $=Xm(s,G);$!==s&&(L.preventDefault(),s=$,E())};e.addEventListener("keydown",S),l=()=>{e.removeEventListener("keydown",S)},E(),e.body.appendChild(r);let U=e.querySelector("[data-reticle-overlay]");if(U!==null){let L=new MutationObserver(g);L.observe(U,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>L.disconnect(),g()}return{destroy:f,isOpen:()=>a}}function d5(){try{return window.localStorage}catch{return}}var Sv,r5,o5,s5,Qm,Rv=T(()=>{"use strict";_v();Wm();D();et();Sv="reticle.tour.seen.",r5=["main","#root","#app"],o5=["[data-reticle-hud]","[data-reticle-chat-panel]"];s5={[Ue.HUD_CHAT]:"[data-reticle-chat-toggle]",[Ue.HUD_ANNOTATE]:"[data-reticle-annotate-btn]",[Ue.HUD_IMPACT]:"[data-reticle-report-btn]",[Ue.HUD_SETTINGS]:"[data-reticle-settings-btn]"};Qm=t=>`${Sv}${t}`});var _5={};Va(_5,{Annotator:()=>xi,RefRegistry:()=>ac,Reticle:()=>Ha,SESSION_AUTO:()=>ec,adapterNames:()=>Md,buildSnapshot:()=>Nd,canvasChartData:()=>TT,commitAndSignal:()=>Kv,createReticleEmitter:()=>Vv,describe:()=>Vn,elementHasHoverHandlers:()=>Dd,executeAction:()=>Oc,executeSequence:()=>Zd,getAccessibleName:()=>be,getCapabilities:()=>oo,getRole:()=>Oe,getStates:()=>Er,hasCapabilities:()=>Ld,identifyComponent:()=>Wn,inspectChart:()=>Ad,installAnnotator:()=>cA,isVisible:()=>nt,jotaiStore:()=>Pv,markAdapterSource:()=>wd,matchQuery:()=>xc,mobxStore:()=>Hv,piniaStore:()=>Gv,pushStore:()=>jv,readComponentState:()=>kd,readStores:()=>UT,readStoresWithTruncation:()=>Sc,recoilStore:()=>Fv,refs:()=>X,registerAdapter:()=>KT,registerCapabilities:()=>Cs,registerReticleDomain:()=>Wv,registerStore:()=>MT,resolveMarkAnchor:()=>Bc,reticle:()=>np,runQuery:()=>$d,setCapabilitiesListener:()=>Id,setIgnoreSelectors:()=>ug,sourceOwner:()=>FT,storeNames:()=>ro,svelteStore:()=>Bv,tanstackQueryStore:()=>Mv,unregisterStore:()=>PT,valtioStore:()=>Uv,xstateStore:()=>$v});et();D();var Qb="__reticle_session";function Jb(t,e,n){let r=()=>{try{let l=e?.getItem(Qb);return l!=null&&l.length>0?l:void 0}catch{return}},i=l=>{try{e?.setItem(Qb,l)}catch{}},a=(t!==void 0&&t.length>0?t:void 0)??r()??n();return i(a),a}gt();var uC="vite:afterUpdate",pC=3,fC="no longer resolves to an element",hC="the code changed underneath it";function _f(t){return t!==null&&typeof t=="object"?t:void 0}function mC(t){return typeof _f(t)?.on=="function"}function gC(t){let e=_f(t)?.updates;if(!Array.isArray(e))return[];let n=[];for(let r of e){let i=_f(r)?.path;typeof i=="string"&&i.length>0&&!n.includes(i)&&n.push(i)}return n}var dc,Ss,xs,Sf=class{constructor(e){m(this,dc,0);m(this,Ss,[]);m(this,xs);p(this,xs,e)}get current(){return c(this,dc)}observe(e){mC(e)&&e.on(uC,n=>this.applied(gC(n)))}applied(e){p(this,dc,c(this,dc)+1),p(this,Ss,e.slice(0,pC)),c(this,xs).markEdited()}staleRefMessage(e){let n=`ref '${ni(e)}' ${fC}`;if(!c(this,xs).mintedBeforeLastEdit(e))return n;let r=c(this,Ss).length===0?"the page hot-updated":`${c(this,Ss).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${hC} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};dc=new WeakMap,Ss=new WeakMap,xs=new WeakMap;var uc=new Sf(X);D();D();ys();_n();Mt();gt();et();var RT=new Set(["button","link","textbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),FC=new Set(["script","style","noscript","template","head","meta","link"]),BC=new Set(["alert","status"]);function GC(t,e){if(BC.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var AT=80;function jC(t){let e="";for(let r of t.childNodes)r.nodeType===3&&(e+=r.textContent??"");let n=e.replace(/\s+/g," ").trim();return n.length>AT?`${n.slice(0,AT)}\u2026`:n}var VC=50;function vT(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function KC(t){return FC.has(t.tagName.toLowerCase())||hn(t)?!0:vT(t)}function WC(t){let e=Er(t).filter(n=>n===re.DISABLED||n===re.CHECKED||n===re.EXPANDED||n===re.PRESSED||n===re.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function zC(t,e,n,r,i,s=""){let a=" ".repeat(e),l=Cf(t),d=r,u=d.length>0?` "${d}"`:"",f=RT.has(n)||d.length>0?` (ref=${X.refFor(t)})`:"",g=l!==void 0&&l.length>0?` [value="${l}"]`:"",E=i.length>0?` [${i}]`:"",_=s.length>0?` [text="${s}"]`:"";return`${a}- ${n}${u}${f}${g}${_}${E}${WC(t)}`}function YC(t,e){return`${" ".repeat(t)}- text "${e}"`}function qC(t){if(t===null)return"";let e=t.display;if(e==="grid"||e==="inline-grid"){let n=t.gridTemplateColumns;return n!==""&&n!=="none"?`grid-cols:${n}`:"grid"}return""}function yT(t,e){for(let n of t){if(e.unread.length>=VC){e.unreadOverflow=!0;return}e.unread.push(X.refFor(n))}}function XC(t){let e=[...t.children],n=t.shadowRoot??As(t);if(n!==null&&e.push(...n.children),xd(t))try{let r=t.contentDocument?.body;r!=null&&e.push(...r.children)}catch{}return e}function NT(t,e,n,r){if(KC(t)){vT(t)&&(n.hiddenSkipped+=1);return}let i=t.ownerDocument.defaultView,s=i!==null?i.getComputedStyle(t):null;if(s!==null&&s.display==="none"){n.hiddenSkipped+=1;return}let a=Oe(t),l=be(t),d=RT.has(a),u=r||GC(t,a),f=n.mode===cs.INTERACTIVE&&!u,g=!f&&l.length===0?jC(t):"",E=f?"":qC(s),_=d,S=_||a!=="generic"||l.length>0||g.length>0||E.length>0,U=f?_:S;f&&!U&&S&&(n.leanSkipped+=1),U?(n.nodes+=1,n.lines.push(a==="generic"&&g.length>0&&E.length===0?YC(e,g):zC(t,e,a,l,E,g)),Lf(t,e+1,n,u)):Lf(t,e,n,u)}function Lf(t,e,n,r=!1){let i=XC(t);if(e>n.maxDepth){i.length>0&&(n.truncated=!0,yT([t],n));return}for(let s=0;s<i.length;s+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,yT(i.slice(s),n);return}let a=i[s];a!==void 0&&NT(a,e,n,r)}}function ZC(t){let e=t.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n=[];for(let r of e)Le(r)||nt(r)&&n.push(be(r)||"(unnamed dialog)");return n}function QC(t){if(t!==document.body)return;let e=document.body.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n,r;for(let a of e)if(!Le(a)){if(nt(a)){n=a;break}r??(r=a)}if(n??(n=r),n===void 0)return;let i=n,s=Array.from(document.body.children).filter(a=>!a.contains(i));if(s.length!==0&&s.every(a=>a.getAttribute("aria-hidden")==="true"))return"the rest of the page is aria-hidden behind an open overlay (a focus-trap modal), so this snapshot shows only the overlay. If it will not close its cleanup may be stuck on a throttled tab: dismiss the overlay, or snapshot with { scope } inside it."}function JC(t){let e=ZC(t),n=QC(t);return{route:`${location.pathname}${location.search}${location.hash}`,title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function Nd(t={}){let e=t.mode??cs.FULL,n=t.scope!==void 0?X.resolve(t.scope)??document.querySelector(t.scope):document.body,r=t.scope!==void 0&&!(n instanceof Element),i=n instanceof Element?n:document.body,s=JC(i);if(r)return{tree:"",status:s,nodes:0,truncated:!1,scopeMissing:!0};if(e===cs.STATUS)return{tree:"",status:s,nodes:0,truncated:!1};let a={lines:[],nodes:0,leanSkipped:0,hiddenSkipped:0,truncated:!1,mode:e,maxNodes:t.maxNodes??400,maxDepth:t.maxDepth??20,unread:[],unreadOverflow:!1};return t.includeRoot===!0?NT(i,0,a,!1):Lf(i,0,a),{tree:a.lines.join(`
1335
- `),status:s,nodes:a.nodes,truncated:a.truncated,...a.nodes===0?{domElements:i.querySelectorAll("*").length}:{},...a.leanSkipped>0?{leanSkipped:a.leanSkipped}:{},...a.hiddenSkipped>0?{hiddenSkipped:a.hiddenSkipped}:{},...a.unread.length>0?{unread:a.unread}:{},...a.unreadOverflow?{unreadOverflow:!0}:{}}}var eI=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],tI={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"};function nI(t){if(t.id.length>0)return`#${t.id}`;let e=t.getAttribute("class");return e!==null&&e.trim().length>0?`.${e.trim().split(/\s+/).join(".")}`:t.tagName.toLowerCase()}function OT(t){let e=t.ownerDocument.defaultView;if(e===null)return[];let n=[];for(let r=t;r!==null&&r!==t.ownerDocument.documentElement;r=r.parentElement){let i=e.getComputedStyle(r);for(let s of eI){let a=i.getPropertyValue(s);a.length>0&&a!==tI[s]&&n.push({on:nI(r),property:s,value:a})}}return n}D();_n();ys();Mt();et();jn();io();ii();gt();var Pd="data-testid",e_=cd,pI=12,fI=2e3,hI=`[${e_}], [${Pd}], button, a, input, select, textarea, [role]`;function so(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}function Ls(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}function ks(t,e){return Ls(t).toLowerCase().includes(Ls(e).toLowerCase())}function mI(t,e){return Ls(t)===Ls(e)}var gI=["script","style","template","noscript"];function t_(t){return gI.includes(t.tagName.toLowerCase())}function EI(t){if(me(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return t_(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>e.textContent??"").join("")}function Bf(t,e){if(t_(t)||hn(t)||!nt(t,e))return"";let n="";for(let r of Array.from(t.childNodes))Node.TEXT_NODE===r.nodeType?n+=r.textContent??"":gr(r)&&(n+=Bf(r,e));return n}function bI(t){if(me(t)||Et(t)||Tn(t))return!0;let e=t.tagName.toLowerCase();return e==="button"||e==="meter"||e==="output"||e==="progress"||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")}function Gf(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=X.resolve(t);if(ri(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(ri(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function TI(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${e_}^="${n}"]`))}catch{return[]}}function _I(t,e){let n=[],r=0;for(let i of Array.from(t.querySelectorAll(hI))){if(r>=fI)break;r+=1;let s=Wn(i);s!==null&&s.componentStack[0]===e&&n.push(i)}return n}function WT(t,e){if(e.source!==void 0){let n=TI(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?_I(t,e.component):[]}function Ff(t,e,n){return so(t).filter(r=>Oe(r)===e&&(n===void 0||mI(be(r),n)))}function zT(t,e){return so(t).filter(n=>ks(EI(n),e))}function YT(t,e){return so(t).filter(n=>bI(n)&&ks(be(n),e))}function qT(t,e){return so(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&ks(r,e)})}function XT(t,e){return so(t).filter(n=>n.getAttribute(Pd)===e)}function ZT(t,e){return so(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&ks(r,e)})}function QT(t,e){let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case pt.ROLE:return Ff(t,r,e.name);case pt.TEXT:return zT(t,r);case pt.LABEL:return YT(t,r);case pt.PLACEHOLDER:return qT(t,r);case pt.TESTID:return XT(t,r);case pt.ALT:return ZT(t,r);case pt.COMPONENT:return WT(t,{...e,component:e.component??r});default:throw new Error(`unsupported query strategy '${String(n)}' - use one of: ${Object.values(pt).join(", ")}`)}return e.component!==void 0||e.source!==void 0?WT(t,e):e.role!==void 0?Ff(t,e.role,e.name):e.text!==void 0?zT(t,e.text):e.label!==void 0?YT(t,e.label):e.placeholder!==void 0?qT(t,e.placeholder):e.testid!==void 0?XT(t,e.testid):e.alt!==void 0?ZT(t,e.alt):[]}function SI(t){try{return t.contentDocument?.body??null}catch{return null}}var xI=3;function AI(t){let e=[],n=(r,i)=>{for(let s of r.querySelectorAll("*")){let a=s.shadowRoot??As(s);if(a!==null){e.push(a),n(a,i);continue}if(i>=xI||!xd(s))continue;let l=SI(s);l!==null&&(e.push(l),n(l,i+1))}};return n(t,0),e}function yI(t){let{container:e,scopeMissing:n}=Gf(t.scope);if(e===null)return{candidates:[],scopeMissing:!0};if(t.self===!0)return t.scope===void 0?{candidates:[],scopeMissing:n}:t.text!==void 0&&!ks(Bf(e,new Map),t.text)?{candidates:[],scopeMissing:n}:{candidates:hn(e)?[]:[e],scopeMissing:n};let r=new Set,i=[],s=a=>{for(let l of a)r.has(l)||hn(l)||(r.add(l),i.push(l))};s(QT(e,t));for(let a of AI(e))s(QT(a,t));return{candidates:i,scopeMissing:n}}var RI=512,vI=12;function NI(t,e){let n={};for(let r of e.slice(0,vI)){let i=t.getAttribute(r);i!==null&&(n[r]=He(r)?ye:i.slice(0,RI))}return Object.keys(n).length>0?n:void 0}function OI(t,e,n){return re.IN_VIEWPORT===e?If(t,n):Er(t,nt(t,n)).includes(e)}var JT=H.MAX_COLLECTION_ITEMS;function xc(t,e,n=JT){let r=yI(t),i=r.candidates,s=r.scopeMissing,a=new Map,l=e===void 0?i:i.filter(E=>OI(E,e,a)),d=t.attrs,u=l.slice(0,Math.max(0,Math.min(n,JT))),f=u.length>1||re.IN_VIEWPORT===e,g=u.map(E=>{let _=Vn(E,a);if(f&&If(E,a)&&!_.states.includes(re.IN_VIEWPORT)&&(_={..._,states:[..._.states,re.IN_VIEWPORT]}),d===void 0||d.length===0)return _;let S=NI(E,d);return S===void 0?_:{..._,attrs:S}});return{matched:l.length>0,count:l.length,elements:g,...s?{scopeMissing:!0}:{},...l.length===0?{hint:n_(t)}:{}}}function wI(t){let e=t.getAttribute("aria-labelledby");if(e===null)return;let n=e.split(/\s+/).map(r=>r.length>0?t.ownerDocument.getElementById(r)?.textContent?.trim()??"":"").filter(r=>r.length>0).join(" ");return n.length>0?n:void 0}function CI(t){let e=Gf(t.scope).container??document.body,n=[],r=["list","listbox","grid","table","tree","treegrid","dialog","alertdialog","navigation","main","banner","form","search","menu","menubar","tablist"];for(let i of r){let s=Ff(e,i,void 0);for(let a of s){if(Le(a))continue;let l=a.getAttribute("aria-label")??wI(a)??a.getAttribute("data-testid")??void 0,d=a.querySelectorAll("[role]"),u=[];for(let g of Array.from(d)){if(u.length>=3)break;let E=g.getAttribute("role"),_=g.getAttribute("aria-label")??g.getAttribute("data-testid")??g.textContent?.trim().slice(0,40)??"";E!==null&&_.length>0&&u.push(`${E}[${_}]`)}let f={role:i,childCount:d.length,sample:u};if(l!==void 0&&l.length>0&&(f.name=l),n.push(f),n.length>=10)return n}}return n}function II(t,e){let n,r=-1,i=new Map;for(let s of so(t)){if(hn(s)||!ks(Bf(s,i),e))continue;let a=0;for(let l=s.parentElement;l!==null;l=l.parentElement)a++;a>r&&(n=s,r=a)}return n}function LI(t){return t.text!==void 0?t.text:pt.TEXT===t.by?t.value:void 0}var kI=5;function DI(t,e){let n=pt.ROLE===e.by?e.value:void 0,r=e.name;if(n===void 0||r===void 0||r.length===0)return[];let i=Ls(r).toLowerCase();if(i.length===0)return[];let s=[];for(let a of so(t)){if(hn(a)||Oe(a)!==n)continue;let l=Ls(be(a));if(l.length===0)continue;let d=l.toLowerCase();if(!(!d.includes(i)&&!i.includes(d))&&(s.includes(l)||s.push(l),s.length>=kI))break}return s}function n_(t){let e=Gf(t.scope).container??document.body,n=e.querySelectorAll(`[${Pd}]`),r=[],i=new Set;for(let g of Array.from(n)){if(hn(g))continue;let E=g.getAttribute(Pd);E===null||E.length===0||i.has(E)||(i.add(E),r.length<pI&&r.push(E))}let s=VT(),a=r.some(g=>s.includes(g)),d={route:`${location.pathname}${location.search}`,presentTestids:r,...i.size>r.length?{presentTestidsTotal:i.size}:{},presentRegions:CI(t),knownEmptyState:a},u=LI(t);if(u!==void 0){let g=II(e,u);g!==void 0&&(d.splitText=Vn(g))}let f=DI(e,t);return f.length>0&&(d.nameNearMiss=f),d}function $d(t,e){let n=xc(t,void 0,e),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:n_(t),...r}:{elements:n.elements,count:n.count,...r}}D();Ds();gt();D();Mt();_n();var MI=new Set(["submit","button","reset","image"]);function PI(t){return bn(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!MI.has(t.type.toLowerCase()):!1}function Hd(t){let e=t.closest("form"),n=PI(t)?["",""]:[t.textContent??"",t.getAttribute("value")??""];return[be(t),...n,t.getAttribute("title")??"",t.getAttribute("aria-label")??"",t.getAttribute("href")??"",e?.getAttribute("action")??""].join(" ")}var $I='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function r_(t){let e=t.closest("form")?.querySelector($I);return e instanceof HTMLElement?e:null}function Fd(t,e){return bb(t,e)}to();_n();function Bd(t,e){let n=ET(t),r=n===void 0?void 0:oT(n);r!==void 0?r.call(t,e):t.value=e;let i=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!i}function UI(t){let e=t.getAttribute("contenteditable");if(bn(t)&&t.isContentEditable||e!==null&&e!=="false"||t.getAttribute("role")==="textbox")return!0;if(!("editContext"in t))return!1;let n=t;return n.editContext!==null&&n.editContext!==void 0}function Vf(t,e){if(UI(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function Kf(t,e){if(t.disabled)throw new Error(`cannot ${e} a disabled <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`);if(t.readOnly)throw new Error(`cannot ${e} a readonly <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`)}Mt();ii();_n();Ve();et();var Wf=200,u_=" | ",FI=3,BI=/\p{L}/u;function GI(t){return BI.test(t)}var jI=3;function VI(t){return t instanceof Element&&t.querySelectorAll("*").length>jI}var Ms,Ac,co,zf,Yf,jd=class{constructor(){m(this,co);m(this,Ms,new Set);m(this,Ac,0)}collect(e){for(let n of e){if(h(this,co,zf).call(this))return;if(n.type==="characterData"){h(this,co,Yf).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(h(this,co,zf).call(this))return;if(VI(r))continue;let i=FI===r.nodeType?r.parentElement:KI(r);h(this,co,Yf).call(this,r.textContent,i)}}}effect(e){let n=[...c(this,Ms)].filter(i=>i!==e);if(n.length===0)return{};let r=n.join(u_);return{appeared:r.length>Wf?`${r.slice(0,Wf)}\u2026`:r}}};Ms=new WeakMap,Ac=new WeakMap,co=new WeakSet,zf=function(){return c(this,Ac)>Wf},Yf=function(e,n){if(n!==null&&hn(n))return;let r=(e??"").replace(/\s+/g," ").trim();r.length!==0&&GI(r)&&(c(this,Ms).has(r)||(c(this,Ms).add(r),p(this,Ac,c(this,Ac)+(r.length+u_.length))))};function KI(t){return t instanceof Element?t:t.parentElement}D();_n();var WI=new Set(["checkbox","switch"]),p_="aria-checked",Vd=t=>!me(t)&&WI.has(t.getAttribute("role")??""),f_=t=>t.getAttribute(p_)==="true";function h_(t,e,n){if(n||!Vd(t)||e!==R.CHECK&&e!==R.UNCHECK)return;let r=e===R.CHECK;if(f_(t)!==r)throw new Error(`${e} clicked the ${t.getAttribute("role")??""} but ${p_} is still "${String(!r)}" \u2014 the app did not toggle it`)}function Kd(t,e){if(e!==R.CHECK&&e!==R.UNCHECK)return!1;let n=e===R.CHECK;return me(t)?t.checked===n:Vd(t)&&f_(t)===n}D();Ds();Ve();_n();var qf=t=>new Promise(e=>z(e,t));function g_(t,e=""){return typeof t=="string"?t:e}function zd(t){return Wp(t)}function E_(t){let e=t.modifiers,n=Array.isArray(e)?e.map(i=>g_(i).toLowerCase()):[],r=(...i)=>i.some(s=>n.includes(s));return{metaKey:r("meta","cmd","command","super","win"),ctrlKey:r("control","ctrl"),shiftKey:r("shift"),altKey:r("alt","option","opt")}}function Wd(t,e){let n=t.code;return typeof n=="string"&&0<n.length?n:e===" "?"Space":e.length===1?/[a-z]/i.test(e)?`Key${e.toUpperCase()}`:/[0-9]/.test(e)?`Digit${e}`:"":/^[A-Z][A-Za-z0-9]*$/.test(e)&&zI.has(e)?e:""}var zI=new Set(["Enter","Escape","Tab","Backspace","Delete","Home","End","PageUp","PageDown","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Insert","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),YI="no document to press into";function b_(){let t=document.activeElement;if(bn(t)&&document.body!==t)return t;if(bn(document.body))return document.body;let e=document.documentElement;if(bn(e))return e;throw new Error(YI)}function T_(t,e,n){return t.length===0&&RE(n)&&R.PRESS===e}function __(t){let e=t.keys;return Array.isArray(e)?e.map(n=>g_(n)).filter(n=>n.length>0):[]}var qI=33,m_=500;async function S_(t,e,n,r,i){let s=Date.now();for(i>m_&&await qf(m_);Date.now()-s<i;)Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r}))),await qf(Math.min(qI,Math.max(0,i-(Date.now()-s))))}async function x_(t,e,n,r){let i=!1;for(let s of e){let a=Wd({},s);Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:s,code:a,bubbles:!0,cancelable:!0,...n})))||(i=!0)}r>0&&await qf(r);for(let s of[...e].reverse()){let a=Wd({},s);Fe(()=>t.dispatchEvent(new KeyboardEvent("keyup",{key:s,code:a,bubbles:!0,...n})))}return i}gt();et();var XI=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],ZI=3;function Yd(t,e){if(e.width===0||e.height===0)return null;let n=t.ownerDocument;if(typeof n.elementFromPoint!="function")return null;let r=n,i=u=>Xi(u)&&u!==t&&!t.contains(u)&&!u.contains(t),s=(u,f)=>(r.elementsFromPoint?.(u,f)??[n.elementFromPoint(u,f)]).find(E=>E!==null&&!i(E))??null,a=new Map;for(let[u,f]of XI){let g=s(e.left+e.width*u,e.top+e.height*f);g!==null&&(g===t||t.contains(g)||g.contains(t)||a.set(g,(a.get(g)??0)+1))}let l=null,d=0;for(let[u,f]of a)f>d&&(l=u,d=f);return d>=ZI?l:null}Ve();Ds();var qd={occluded:!1,occludedBy:null,scrolledIntoView:!1};function Sn(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function Xd(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}async function Rc(t,e,n){let r=t.ownerDocument,i=r.activeElement??r.body,s={bubbles:!0,cancelable:!0,detail:n??0};yc(t,"pointerdown",i),Fe(()=>t.dispatchEvent(Sn(t,"mousedown",s))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let a=0;if(e!==void 0&&e.ms>0){let d=e.now();await e.sleep(e.ms),a=e.now()-d}return yc(t,"pointerup",i),Fe(()=>t.dispatchEvent(Sn(t,"mouseup",s))),{prevented:!Fe(()=>t.dispatchEvent(Sn(t,"click",s))),heldMs:a}}function QI(t){return t.width>0||t.height>0}function JI(t,e){let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=e.left+e.width/2,i=e.top+e.height/2;return r<0||i<0||r>n.innerWidth||i>n.innerHeight}function eL(t,e){let n=Yd(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:X.refFor(n)}}function O_(t){if(typeof t.getBoundingClientRect!="function")return qd;let e=t.getBoundingClientRect();if(!QI(e))return qd;let n=!1;return JI(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect()),{...eL(t,e),scrolledIntoView:n}}function yc(t,e,n=null){Fe(()=>t.dispatchEvent(Xd(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function w_(t,e,n=null){Fe(()=>t.dispatchEvent(Xd(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function tL(t){if(typeof DataTransfer!="function")return null;let e=new DataTransfer,n=Array.isArray(t)?t:t!==void 0?[t]:[];for(let r of n)if(typeof r=="object"&&r!==null){let i=r;typeof i.mime=="string"&&typeof i.value=="string"&&e.setData(i.mime,i.value)}return e}var rt=1,A_=0,y_=5;function R_(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function nL(t,e,n){return{x:Math.round(t.x+(e.x-t.x)*n),y:Math.round(t.y+(e.y-t.y)*n)}}async function Xf(t,e,n){let r=e??t,i=R_(t),s=R_(r),a=(_,S,U,L,G)=>{let Q={bubbles:!(S.endsWith("enter")||S.endsWith("leave")),cancelable:!0,clientX:U.x,clientY:U.y,screenX:U.x,screenY:U.y,buttons:L,button:0,...G!==void 0?{relatedTarget:G}:{}};_.dispatchEvent(S.startsWith("pointer")?Xd(_,S,{...Q,pointerId:1,isPrimary:!0}):Sn(_,S,Q))},l=t.getBoundingClientRect(),d=e!==null?r.getBoundingClientRect():null,u=(_,S)=>S.x>=_.left&&S.x<=_.right&&S.y>=_.top&&S.y<=_.bottom;a(t,"pointerdown",i,rt),a(t,"mousedown",i,rt),await ao();let f=!1,g=!1;for(let _=1;_<=y_;_+=1){let S=nL(i,s,_/y_);!f&&!u(l,S)&&(f=!0,a(t,"pointerout",S,rt,r),a(t,"mouseout",S,rt,r),a(t,"pointerleave",S,rt,r),a(t,"mouseleave",S,rt,r)),f&&!g&&d!==null&&u(d,S)&&(g=!0,a(r,"pointerover",S,rt,t),a(r,"mouseover",S,rt,t),a(r,"pointerenter",S,rt,t),a(r,"mouseenter",S,rt,t)),a(r,"pointermove",S,rt),a(r,"mousemove",S,rt),await ao()}!g&&d!==null&&(a(r,"pointerover",s,rt,t),a(r,"mouseover",s,rt,t),a(r,"pointerenter",s,rt,t),a(r,"mouseenter",s,rt,t)),a(r,"pointerup",s,A_),a(r,"mouseup",s,A_);let E=!1;if(typeof DragEvent=="function"){let _=tL(n),S={bubbles:!0,cancelable:!0};_!==null&&(S.dataTransfer=_),t.dispatchEvent(new DragEvent("dragstart",S)),await ao(),r.dispatchEvent(new DragEvent("dragenter",S)),r.dispatchEvent(new DragEvent("dragover",S)),await ao(),E=!r.dispatchEvent(new DragEvent("drop",S)),t.dispatchEvent(new DragEvent("dragend",S))}return E}async function C_(t,e){let n=rL(t);v_(t,"pointerdown"),Fe(()=>t.dispatchEvent(N_("touchstart",n))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let r=0;if(e!==void 0&&e.ms>0){let s=e.now();await e.sleep(e.ms),r=e.now()-s}return Fe(()=>t.dispatchEvent(N_("touchend",[]))),v_(t,"pointerup"),{prevented:!Fe(()=>t.dispatchEvent(Sn(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function v_(t,e){Fe(()=>t.dispatchEvent(Xd(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function rL(t){if(typeof Touch!="function"||typeof t.getBoundingClientRect!="function")return[];let e=t.getBoundingClientRect();try{return[new Touch({identifier:0,target:t,clientX:e.left+e.width/2,clientY:e.top+e.height/2})]}catch{return[]}}function N_(t,e){if(typeof TouchEvent=="function")try{return new TouchEvent(t,{bubbles:!0,cancelable:!0,touches:e,targetTouches:e,changedTouches:e})}catch{}return new Event(t,{bubbles:!0,cancelable:!0})}gt();var oL=400,iL=.8;function sL(t,e){let n=t;for(;n!==null&&n!==document.body;){let r=getComputedStyle(n),i=e==="x"?r.overflowX:r.overflowY,s=e==="x"?n.scrollWidth>n.clientWidth:n.scrollHeight>n.clientHeight;if((i==="auto"||i==="scroll")&&s)return n;n=n.parentElement}return document.scrollingElement??document.documentElement}function I_(t,e,n,r){let i=t!==void 0?X.resolve(t):null;return Zf(i instanceof Element?i:void 0,e,n,r)}function Zf(t,e,n,r){let s=t!==void 0?sL(t,r!==void 0&&r!==0&&(e===void 0||e===0)?"x":"y"):document.scrollingElement??document.documentElement,a=s.scrollTop,l=s.scrollLeft;if(n!==void 0&&n>=0&&n<=1)s.scrollTop=Math.round(s.scrollHeight*n);else if(r!==void 0&&r!==0&&(s.scrollLeft=l+r),r===void 0||e!==void 0&&e!==0){let f=e??(Math.round(s.clientHeight*iL)||oL);s.scrollTop=a+f}s.dispatchEvent(new Event("scroll",{bubbles:!1}));let d=s.scrollTop,u=s.scrollLeft;return{scrolled:d!==a||u!==l,scrollTop:d,scrollHeight:s.scrollHeight,clientHeight:s.clientHeight,atEnd:d+s.clientHeight>=s.scrollHeight-1,atStart:d<=1,scrollLeft:u,scrollWidth:s.scrollWidth,clientWidth:s.clientWidth,atLeftEnd:u<=1,atRightEnd:u+s.clientWidth>=s.scrollWidth-1}}function vc(t,e=""){return typeof t=="string"?t:e}function aL(t){let e=X.resolve(t);if(e===null)throw new Error(`ref '${ni(t)}' no longer resolves to an element`);if(!ri(e))throw new Error(`ref '${ni(t)}' is not an HTML or SVG element`);return e}function cL(t){let e=t.getAttribute("data-testid")??void 0,n=Wn(t),r={};e!==void 0&&(r.testid=e);let i=n?.componentStack[0];i!==void 0&&(r.component=i),n?.source!==void 0&&(r.source=n.source);let s=Oe(t),a=be(t);return s.length>0&&(r.role=s),a.length>0&&(r.name=a),r}var lL=(t,e,n,r,i,s,a)=>{let l={ok:!0,ref:t,action:e,dispatched:!0,settled:r,settleReason:i,effect:n};return s.testid!==void 0&&(l.testid=s.testid),s.component!==void 0&&(l.component=s.component),s.source!==void 0&&(l.source=s.source),s.role!==void 0&&(l.role=s.role),s.name!==void 0&&(l.name=s.name),a!==void 0&&(l.warning=a),l},dL=new Set([R.FILL,R.TYPE,R.CLEAR,R.SELECT]),uL=t=>dL.has(t),pL=new Set([R.CLICK,R.DBLCLICK,R.CHECK,R.UNCHECK]);function M_(t){let e=vc(t.toRef);return e!==""?e:vc(t.target)}var L_=new Set(["content","name","type","__base64"]),fL=new Set([Xl,Pg,"holdMs"]);function hL(t){let e=Object.keys(t),n=e.filter(i=>!L_.has(i)&&!fL.has(i));if(n.length===0&&e.some(i=>L_.has(i)))return;let r=n.length===0?"no file was described":`upload does not read ${n.join(", ")}, so it would be dropped`;throw new Error(`upload needs the file described as args: { name, content?, type? } \u2014 ${r}. To upload a file from disk, use the reticle daemon which reads it via args.path and delivers real bytes; calling with { path } directly reaches only fabricated content.`)}function mL(t,e,n){let r=e===R.CLICK||e===R.DBLCLICK||e===R.CHECK||e===R.UNCHECK||e===R.DRAG||e===R.SUBMIT||e===R.PRESS&&zd(n)==="Enter",i=e===R.DRAG?X.resolve(M_(n)):null,s=e===R.PRESS&&zd(n)==="Enter"?r_(t):null,a=Fd(Hd(t),Oe(t))||s!==null&&Fd(Hd(s),Oe(s)),l=ri(i)&&Fd(Hd(i),Oe(i));if(r&&(a||l)&&n[Xl]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${Xl}=true`)}function P_(t){return!Er(t).includes(re.DISABLED)}function k_(t){if(me(t)||Et(t)||Tn(t))return t.value}function D_(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:X.refFor(e)}var gL=3e4;function Nc(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,gL)}async function EL(t,e,n){if(R.CLICK===e){let r=Nc(n.holdMs);return await Rc(t,r===0?void 0:{ms:r,sleep:Jf,now:()=>Date.now()})}if(R.TAP===e){let r=Nc(n.holdMs);return await C_(t,r===0?void 0:{ms:r,sleep:Jf,now:()=>Date.now()})}return{prevented:await TL(t,e,n),heldMs:0}}var bL="cannot zoom from inside the page \u2014 CSS zoom changes how it LOOKS without changing the layout viewport, visualViewport or media queries, so a layout that breaks at 200% would be reported as checked and passing. Drive a real browser (reticle drive <url>, or reticle_lease) and zoom there.";function Qf(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function TL(t,e,n){switch(e){case R.DBLCLICK:return await Rc(t,void 0,1),await Rc(t,void 0,2),!Fe(()=>t.dispatchEvent(Sn(t,"dblclick",{bubbles:!0,cancelable:!0,detail:2})));case R.HOVER:{let r=t.ownerDocument,i=r.activeElement??r.body;yc(t,"pointerover",i),t.dispatchEvent(Sn(t,"mouseover",{bubbles:!0,relatedTarget:i})),w_(t,"pointerenter",i),t.dispatchEvent(Sn(t,"mouseenter",{relatedTarget:i})),yc(t,"pointermove",i);let s=t.dispatchEvent(Sn(t,"mousemove",{bubbles:!0,cancelable:!0})),a=Nc(n.holdMs);return a>0&&await Jf(a),!s}case R.FOCUS:return t.focus(),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0})),!1;case R.BLUR:{let i=t.getRootNode().activeElement===t;return t.blur(),i||(t.dispatchEvent(new FocusEvent("blur")),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0}))),!1}case R.FILL:if(me(t)||Et(t)){if(typeof n.value!="string")throw new Error("fill requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }. To empty a field on purpose use the `clear` action, or fill with an explicit \"\".");return Kf(t,"fill"),t.focus(),Bd(t,n.value)}throw Vf(t,"fill"),new Error(`cannot fill a <${t.tagName.toLowerCase()}>`);case R.TYPE:if(me(t)||Et(t)){if(typeof n.text!="string")throw new Error("type requires a string `text` \u2014 pass it nested, as args: { text: '\u2026' }.");return Kf(t,"type"),t.focus(),Bd(t,t.value+n.text)}throw Vf(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case R.CLEAR:if(me(t)||Et(t))return Bd(t,"");throw new Error(`cannot clear a <${t.tagName.toLowerCase()}>`);case R.SELECT:if(Tn(t)){if(typeof n.value!="string")throw new Error("select requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }.");let r=n.value,i=Array.from(t.options);if(!i.some(s=>s.value===r)){let s=i.map(a=>`${a.value} (${a.label})`).join(", ");throw new Error(`no <option> with value '${ni(r)}' \u2014 available: ${i.length===0?"(none)":s}`)}return t.value=r,t.dispatchEvent(new Event("change",{bubbles:!0})),!1}throw new Error(`cannot select on a <${t.tagName.toLowerCase()}>`);case R.CHECK:case R.UNCHECK:{let r=Vd(t);if(!me(t)&&!r)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!P_(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!me(t))return Kd(t,e)?!1:(await Rc(t)).prevented;if(t.type==="radio"&&e===R.UNCHECK)throw new Error("cannot uncheck a radio button \u2014 a real user could not; select another radio in the group");if(Kd(t,e))return!1;let i=Sn(t,"click",{bubbles:!0,cancelable:!0,composed:!0});return!Fe(()=>t.dispatchEvent(i))||i.defaultPrevented}case R.SUBMIT:{let r=gT(t)?t:t.closest("form");if(r===null)throw new Error("no form to submit");return r.requestSubmit(),!1}case R.PRESS:{let r=E_(n),i=__(n);if(i.length>0)return await x_(t,i,r,Nc(n.holdMs));let s=zd(n),a=Wd(n,s),l=Fe(()=>t.dispatchEvent(new KeyboardEvent("keydown",{key:s,code:a,bubbles:!0,cancelable:!0,...r}))),d=Nc(n.holdMs);return d>0&&await S_(t,s,a,r,d),Fe(()=>t.dispatchEvent(new KeyboardEvent("keyup",{key:s,code:a,bubbles:!0,...r}))),!l}case R.SCROLL_INTO_VIEW:return t.scrollIntoView(),!1;case R.ZOOM:throw new Error(bL);case R.SCROLL:{let r=Qf(n.dy),i=Qf(n.dx),s=Qf(n.fraction);return Zf(t,r,s,i),!1}case R.UPLOAD:{if(!me(t)||t.type!=="file")throw new Error('upload target must be a <input type="file">');hL(n);let r=vc(n.content,"reticle test file"),i=r;if(n.__base64===!0){let d=atob(r),u=new Uint8Array(d.length);for(let f=0;f<d.length;f++)u[f]=d.charCodeAt(f);i=u.buffer.slice(0)}let s=new File([i],vc(n.name,"file.txt"),{type:vc(n.type,"text/plain")}),a=new DataTransfer;a.items.add(s),t.files=a.files;let l=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!l}case R.DRAG:{let r=M_(n);if(r==="")return await Xf(t,null,n.data);let i=X.resolve(r);if(!ri(i))throw new Error(`drag target '${ni(r)}' did not resolve to an element \u2014 pass a ref from reticle_snapshot or reticle_query as args.toRef (alias: args.target)`);return await Xf(t,i,n.data)}default:throw new Error(`unknown action '${e}'`)}}function _L(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,SL))}var SL=200;async function Oc(t,e,n={}){let r=0<t.length,i=T_(t,e,n)?b_():aL(t);r&&mL(i,e,n);let s=r?cL(i):{},a=nt(i),l=P_(i),d=D_(i),u=k_(i),f=pL.has(e)?O_(i):qd,g=Kd(i,e),E=0,_=new jd,S=new MutationObserver(ve=>{E+=ve.length,_.collect(ve)});S.observe(i.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let U=!1,L=0,G=!1,$=null;try{let ve=await EL(i,e,n);U=ve.prevented,L=ve.heldMs}finally{let ve=_L(n.settleMs),zt=await d_(ve);G=zt.settled,$=zt.settled?null:Hg.TIMEOUT,S.disconnect()}h_(i,e,g);let Q=k_(i),se=D_(i),xe={dispatched:!0,targetMatched:r&&i.isConnected,visible:a,enabled:l,defaultPrevented:U,focusMoved:d!==se?`${d??"null"}->${se??"null"}`:null,valueChanged:uL(e)?u!==Q:!1,domMutatedWithin:E,..._.effect(Q),occluded:f.occluded,occludedBy:f.occludedBy,scrolledIntoView:f.scrolledIntoView,...L>0?{heldMs:L}:{},...g?{alreadyAtValue:!0}:{}},ge=r?f.occluded?Jl.CLICK_OCCLUDED:e===R.HOVER&&Dd(i)?Jl.HOVER_NATIVE_ENTER_LEAVE:void 0:Jl.GLOBAL_PRESS;return lL(t,e,xe,G,$,s,ge)}var Jf=t=>new Promise(e=>z(e,t));async function Zd(t){let e=[],n=[];for(let r of t){let i=await Oc(r.ref,r.action,r.args??{});e.push(i.effect);let s={ref:i.ref,action:i.action,dispatched:i.dispatched,settled:i.settled,settleReason:i.settleReason};i.testid!==void 0&&(s.testid=i.testid),i.component!==void 0&&(s.component=i.component),i.role!==void 0&&(s.role=i.role),i.name!==void 0&&(s.name=i.name),i.source!==void 0&&(s.source=i.source),i.warning!==void 0&&(s.warning=i.warning),n.push(s)}return{ok:!0,count:t.length,effects:e,steps:n}}Mt();bc();var $_="data-theme";function xL(){let t=new Set;for(let e of Array.from(document.styleSheets)){let n=null;try{n=e.cssRules}catch{continue}if(n!==null){for(let r of Array.from(n))if(r instanceof CSSStyleRule)for(let i of Array.from(r.style))i.startsWith("--")&&t.add(i)}}return t}function AL(){let t=new Map,e=document.body??document.documentElement;if(e===null)return t;let n=getComputedStyle(e),r=document.createElement("span");r.style.position="absolute",r.style.pointerEvents="none",document.body.appendChild(r);try{for(let i of xL()){let s=yL(r,n.getPropertyValue(i).trim());if(s===null)continue;let a=t.get(s);a===void 0?t.set(s,[i]):a.push(i)}}finally{r.remove()}for(let i of t.values())i.sort();return t}function yL(t,e){return e.length===0||(t.style.color="",t.style.color=e,t.style.color==="")?null:getComputedStyle(t).color}function U_(t){return t==="rgba(0, 0, 0, 0)"||t==="transparent"}function RL(){let t=document.documentElement;if(t===null)return null;let e=Array.from(t.classList).map(i=>`.${i}`).join(""),n=t.getAttribute($_),r=`${e}${n===null?"":`[${$_}="${n}"]`}`;return r.length===0?null:r}function H_(t){return t.length===1?t[0]??null:null}function F_(t){let e=AL(),n=e.get(t.color)??[],r=e.get(t.backgroundColor)??[],i=!U_(t.color)&&n.length===0,s=!U_(t.backgroundColor)&&r.length===0,a=0;for(let l of e.values())a+=l.length;return{colorToken:H_(n),colorTokens:n,backgroundToken:H_(r),backgroundTokens:r,offTheme:a>0&&(i||s),tokenCount:a,themeScope:RL()}}gt();_n();D();jn();function W(t){try{t()}catch{}}function nn(t){try{return t()}catch{return}}function wc(t){try{return t()}catch{return null}}function Qd(t){let e={};if(t===null)return e;for(let n=0;n<t.length;n+=1){let r=t.key(n);if(r===null)continue;let i=t.getItem(r)??"";e[r]=He(r)?ye:Jo(i)}return e}function B_(){let t={},e="";try{e=typeof document<"u"?document.cookie:""}catch{return t}for(let n of e.split(";")){let r=n.indexOf("=");if(r===-1)continue;let i=n.slice(0,r).trim();if(i==="")continue;if(He(i)){t[i]=ye;continue}let s="";try{s=decodeURIComponent(n.slice(r+1).trim())}catch{s=n.slice(r+1).trim()}t[i]=Jo(s)}return t}function G_(t){return t===ei.LOCAL?Qd(wc(()=>window.localStorage)):t===ei.SESSION?Qd(wc(()=>window.sessionStorage)):ei.COOKIE===t?B_():{local:Qd(wc(()=>window.localStorage)),session:Qd(wc(()=>window.sessionStorage)),cookies:B_()}}function si(t,e){if(e!==null)return He(t)?ye:Jo(e)}function j_(t){if(typeof Storage>"u")return()=>{};let e=Storage.prototype,n=Object.getOwnPropertyDescriptor(e,"setItem")?.value,r=Object.getOwnPropertyDescriptor(e,"removeItem")?.value,i=Object.getOwnPropertyDescriptor(e,"clear")?.value;if(n===void 0||r===void 0||i===void 0)return()=>{};let s=f=>f===wc(()=>window.sessionStorage)?ei.SESSION:ei.LOCAL,a=(f,g)=>{try{return f.getItem(g)}catch{return null}},l=function(f,g){let E=nn(()=>a(this,f))??null;n.call(this,f,g),E!==g&&W(()=>{t(b.STORAGE_CHANGE,{area:s(this),key:f,...si(f,E)===void 0?{}:{old:si(f,E)},new:si(f,g)??ye})})};e.setItem=l;let d=function(f){let g=nn(()=>a(this,f))??null;r.call(this,f),W(()=>{t(b.STORAGE_CHANGE,{area:s(this),key:f,...si(f,g)===void 0?{}:{old:si(f,g)}})})};e.removeItem=d;let u=function(){let f=s(this),g=[];try{for(let E=0;E<this.length;E+=1){let _=this.key(E);_!==null&&g.push({key:_,old:a(this,_)})}}catch{}i.call(this);for(let{key:E,old:_}of g)W(()=>{t(b.STORAGE_CHANGE,{area:f,key:E,...si(E,_)===void 0?{}:{old:si(E,_)}})})};return e.clear=u,()=>{e.setItem===l&&(e.setItem=n),e.removeItem===d&&(e.removeItem=r),e.clear===u&&(e.clear=i)}}D();Ve();et();var vL=ss.FULL_PAGE_UNSUPPORTED,NL=[vL,ss.NOT_COMPOSITED],OL="__TAURI_INTERNALS__";function wL(){let t=window[OL];if(typeof t?.invoke!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(Td,{fullPage:n===!0});return typeof r=="string"?r:null}}async function CL(t){let e=[...document.querySelectorAll(qi)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await ao(),await ao()),await t()}finally{e.forEach((r,i)=>{r.style.visibility=n[i]??""})}}async function V_(t=!1){let e=window[eo],n=typeof e?.capture=="function"?e.capture:wL();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await CL(()=>n(t));return typeof r=="string"&&r.length>0?{ok:!0,path:r}:{ok:!1,reason:"capture returned no image"}}catch(r){let i=r instanceof Error?r.message:String(r);for(let s of NL)if(i.includes(s))return{ok:!1,reason:s};return{ok:!1,reason:i}}}ii();oi();jn();io();function IL(t,e){return Object.getOwnPropertyDescriptor(t,e)?.value}function xn(t,e){let n=IL(t,e);if(n===void 0)throw new Error(`[Reticle] cannot patch ${String(e)}: it is not an own property of the target`);return n}to();var LL=12e4,$s=!1,Tr=0,K_=0,W_=1,_r=[],Ps=null,ai,Jd={};function z_(){if(Ps===null)return;let t=Ps,e=t.clearTimeout.bind(window);ai!==void 0&&e(ai),ai=t.setTimeout.bind(window)(()=>{ai=void 0,Us()},LL)}function Y_(){return $s}function q_(){if($s||typeof window>"u")return;$s=!0,Tr=0,K_=Date.now(),Ps={setTimeout:xn(window,"setTimeout"),clearTimeout:xn(window,"clearTimeout"),setInterval:xn(window,"setInterval"),clearInterval:xn(window,"clearInterval"),dateNow:xn(Date,"now")};let t=(r,i,s)=>{let a=W_;return W_+=1,_r.push({id:a,time:Tr+Math.max(0,i),cb:r,interval:s}),a},e=r=>{_r=_r.filter(i=>i.id!==r)},n=(r,i)=>()=>{r(...i)};window.setTimeout=((r,i=0,...s)=>t(n(r,s),i)),window.clearTimeout=(r=>e(r)),window.setInterval=((r,i=0,...s)=>t(n(r,s),i,Math.max(1,i))),window.clearInterval=(r=>e(r)),Jd={setTimeout:he(window,"setTimeout"),clearTimeout:he(window,"clearTimeout"),setInterval:he(window,"setInterval"),clearInterval:he(window,"clearInterval")},Date.now=()=>K_+Tr,Jd.dateNow=he(Date,"now"),z_()}function X_(t){if(!$s)return;let e=Tr+Math.max(0,t),n=0;for(;n+=1,!(n>1e5);){let i=_r.filter(s=>s.time<=e).sort((s,a)=>s.time-a.time)[0];if(i===void 0)break;_r=_r.filter(s=>s!==i),Tr=i.time,i.cb(),i.interval!==void 0&&_r.push({...i,time:Tr+i.interval})}Tr=e,z_()}function Us(){if(!$s||Ps===null)return;let t=Ps,e=_r;ai!==void 0&&(t.clearTimeout.bind(window)(ai),ai=void 0);let n=Jd;Jd={},window.setTimeout===n.setTimeout&&(window.setTimeout=t.setTimeout),window.clearTimeout===n.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.setInterval===n.setInterval&&(window.setInterval=t.setInterval),window.clearInterval===n.clearInterval&&(window.clearInterval=t.clearInterval),Date.now===n.dateNow&&(Date.now=t.dateNow);let r=Tr;if(Ps=null,_r=[],$s=!1,Tr=0,e.length===0)return;let i=t.setTimeout.bind(window),s=t.setInterval.bind(window),a=new Map,l={},d=u=>{a.delete(u),a.size===0&&l.current!==void 0&&DL(t,l.current)};for(let u of e)u.interval!==void 0?a.set(u.id,s(u.cb,u.interval)):a.set(u.id,i(()=>{d(u.id),u.cb()},Math.max(0,u.time-r)));l.current=kL(a,t,d)}function kL(t,e,n){let r=i=>{let s=i.bind(window);return(a=>{let l=t.get(a);if(l===void 0){s(a);return}s(l),n(a)})};return window.clearTimeout=r(e.clearTimeout),window.clearInterval=r(e.clearInterval),{clearTimeout:he(window,"clearTimeout"),clearInterval:he(window,"clearInterval")}}function DL(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var eu="_reticle_reload";function we(t){return typeof t=="string"?t:void 0}function J_(t){return typeof t=="number"?t:void 0}function Z_(t){return typeof t=="object"&&t!==null?t:{}}function ML(t){if(typeof t!="object"||t===null)return;let e=t;if(!(typeof e.file!="string"||typeof e.line!="number"))return{file:e.file,line:e.line,column:J_(e.column)}}function PL(t){return{by:we(t.by),value:we(t.value),role:we(t.role),name:we(t.name),text:we(t.text),label:we(t.label),placeholder:we(t.placeholder),testid:we(t.testid),alt:we(t.alt),component:we(t.component),scope:we(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:ML(t.source)}}function $L(t){let e=X.resolve(t);if(e===null)throw new Error(uc.staleRefMessage(t));let n=e.getBoundingClientRect(),r=Wn(e),i=e.ownerDocument.defaultView,s=i!==null?i.getComputedStyle(e):null,a=s!==null?{color:s.color,backgroundColor:s.backgroundColor,opacity:s.opacity,cursor:s.cursor,display:s.display,visibility:s.visibility}:null,l=Rd(yd(e,r?.source)),d=l!==void 0?void 0:ST(e.ownerDocument)?"This element has no source stamp. Others on the page do, so the stamping loader is running \u2014 the nearest stamped ancestor is out of range, or this element is rendered outside instrumented code.":"No element in this document carries a source stamp, so the stamping loader is not running: an older adapter, a bundler whose hook never ran, or a build the plugin was dropped from. Add @reticlehq/vite-plugin (or @reticlehq/babel-plugin) to the dev build and restart the dev server to get `file:line` back.",u={scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,overflowY:s?.overflowY??"visible",scrollLeft:e.scrollLeft,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,overflowX:s?.overflowX??"visible"},f=OT(e);return{...Vn(e),...l!==void 0?{source:l}:{},...f.length>0?{paintContext:f}:{},...d!==void 0?{sourceUnavailable:d}:{},tag:e.tagName.toLowerCase(),href:e.getAttribute("href")??void 0,formAction:Rs(e)||me(e)?e.form?.getAttribute("action")??void 0:void 0,formText:Rs(e)||me(e)?e.form?.textContent??void 0:void 0,box:{x:n.x,y:n.y,width:n.width,height:n.height},occluded:UL(e,n),styles:a,scroll:u,theme:s!==null?F_(s):null,component:r}}function UL(t,e){return Yd(t,e)!==null}function HL(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var Q_={ok:!1,reason:Fg.UNAVAILABLE};function FL(t,e,n,r){let i=ro();if(n!==void 0||r!==void 0){let d=Pf(e),u=e!==void 0?d[e]:{stores:d,storeNames:i},f=n!==void 0?_b(u,n):{found:!0,value:u},g=f.found&&r!==void 0?gs(f.value,r):f.value,E=gc(g);return{store:e,path:n,found:f.found,value:E.value,...E.truncation===void 0?{}:{truncation:E.truncation},..."availableKeys"in f?{availableKeys:f.availableKeys}:{},..."totalKeys"in f?{totalKeys:f.totalKeys}:{},storeNames:i}}let{stores:s,truncation:a}=Sc(e),l={stores:s,storeNames:i};if(a!==void 0&&(l.truncation=a),t!==void 0&&t.length>0){let d=X.resolve(t);if(d===null)l.component=Q_;else{let u=kd(d);l.component=HL(u)?u:Q_}}return l}function BL(){let t=document;return typeof t.getAnimations!="function"?{animations:[]}:{animations:t.getAnimations().map(n=>{let r=n.effect,i=r?.getTiming(),s=r?.target??null;return{playState:n.playState,currentTime:n.currentTime,duration:i?.duration,target:s===null?null:Vn(s)}})}}function GL(t,e){if(t.length===0||t.length>H.MAX_URL_LENGTH)return null;try{let n=new URL(t,e);return n.protocol==="http:"||n.protocol==="https:"?n.toString():null}catch{return null}}function eS(){let t=new Map;return t.set(C.SNAPSHOT,e=>Nd({scope:we(e.scope),mode:we(e.mode)??cs.FULL,includeRoot:e.includeRoot===!0})),t.set(C.QUERY,e=>{let n=e.limit;return $d(PL(e),typeof n=="number"?n:void 0)}),t.set(C.MATCH,e=>xc(id.parse(Z_(e.query)),we(e.state))),t.set(C.ACT,e=>{let n=we(e.action)??"";return Oc(we(e.ref)??"",n,Z_(e.args))}),t.set(C.ACT_SEQUENCE,e=>Zd(Array.isArray(e.steps)?e.steps:[])),t.set(C.INSPECT,e=>$L(we(e.ref)??"")),t.set(C.ANIMATIONS,()=>BL()),t.set(C.CLOCK,e=>{if(e.reset===!0)Us();else{e.freeze===!0&&q_();let n=e.advanceMs;typeof n=="number"&&X_(n)}return{frozen:Y_()}}),t.set(C.STATE_READ,e=>FL(we(e.ref),we(e.store),we(e.path),J_(e.depth))),t.set(C.STORAGE_READ,e=>G_(we(e.area))),t.set(C.CAPABILITIES,()=>oo()),t.set(C.CAPTURE,e=>V_(e.fullPage===!0)),t.set(C.SCROLL,e=>{let n=e.dy,r=e.fraction;return I_(we(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(C.NAVIGATE,e=>{let n=we(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=GL(n,window.location.href);return r===null?{ok:!1,reason:"only http(s) navigation is allowed"}:(window.location.assign(r),{ok:!0,url:r})}),t.set(C.REFRESH,e=>{if(e.hard===!0){let n=new URL(window.location.href);n.searchParams.set(eu,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}D();Ve();_c();jn();function jL(t){if(typeof document>"u")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var eh=1e3,VL=3e4;function KL(t){return Math.min(t*2,VL)}var WL=500,zL=1008,YL=3,bt,Sr,lo,ru,xr,Hs,ci,Fs,Ic,Bs,Lc,Gs,li,js,Vs,Tt,kc,fe,tS,tu,th,nS,nh,rh,rS,Cc,oS,nu=class{constructor(e){m(this,fe);m(this,bt);m(this,Sr,[]);m(this,lo,[]);m(this,ru,0);m(this,xr,!1);m(this,Hs);m(this,ci,eh);m(this,Fs,!1);m(this,Ic,!1);m(this,Bs,0);m(this,Lc,!1);m(this,Gs,0);m(this,li);m(this,js);m(this,Vs);m(this,Tt);m(this,kc);p(this,Tt,e),p(this,kc,e.now??Gd)}connect(){typeof WebSocket>"u"||(p(this,xr,!1),c(this,Vs)??p(this,Vs,(c(this,Tt).onVisible??jL)(()=>h(this,fe,tS).call(this))),h(this,fe,tu).call(this))}sendEvent(e){h(this,fe,Cc).call(this,Gn({kind:ft.EVENT,event:e}),{seq:e.seq,t:e.t,type:e.type})}reannounce(){c(this,bt)===void 0||c(this,bt).readyState!==WebSocket.OPEN||c(this,bt).send(JSON.stringify(c(this,Tt).hello()))}close(){var e;p(this,xr,!0),(e=c(this,Vs))==null||e.call(this),p(this,Vs,void 0),c(this,bt)?.close(),p(this,bt,void 0)}};bt=new WeakMap,Sr=new WeakMap,lo=new WeakMap,ru=new WeakMap,xr=new WeakMap,Hs=new WeakMap,ci=new WeakMap,Fs=new WeakMap,Ic=new WeakMap,Bs=new WeakMap,Lc=new WeakMap,Gs=new WeakMap,li=new WeakMap,js=new WeakMap,Vs=new WeakMap,Tt=new WeakMap,kc=new WeakMap,fe=new WeakSet,tS=function(){c(this,xr)||(p(this,ci,eh),c(this,bt)===void 0&&h(this,fe,tu).call(this))},tu=function(){let e;try{e=new WebSocket(c(this,Tt).url)}catch{h(this,fe,rh).call(this),h(this,fe,nh).call(this),h(this,fe,th).call(this);return}p(this,bt,e),e.onopen=()=>{p(this,Hs,void 0),p(this,Fs,!1),p(this,Ic,!0),p(this,ci,eh);let n=c(this,Tt).hello();c(this,js)??p(this,js,n.sessionId),e.send(JSON.stringify(n)),h(this,fe,oS).call(this,e,n.sessionId);let r=[...c(this,Sr),...c(this,lo)].sort((i,s)=>i.order-s.order);for(let i of r)e.send(i.text);p(this,Sr,[]),p(this,lo,[]),c(this,Tt).onConnected?.()},e.onmessage=n=>{let r=n.data;h(this,fe,rS).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{if(p(this,bt,void 0),n.code===zL){p(this,xr,!0);let r=n.reason.length>0?n.reason:"policy violation";Kn(`[reticle] bridge refused the connection: ${r} \u2014 not retrying.`),c(this,Tt).onConnectionLost?.();return}h(this,fe,rh).call(this),h(this,fe,nh).call(this),h(this,fe,th).call(this)},e.onerror=()=>{e.close()}},th=function(){if(c(this,xr))return;let e=c(this,ci);p(this,ci,KL(e)),(c(this,Tt).schedule??z)(()=>h(this,fe,nS).call(this),e)},nS=function(){c(this,xr)||c(this,bt)!==void 0||h(this,fe,tu).call(this)},nh=function(){c(this,Ic)||c(this,Lc)||(p(this,Bs,c(this,Bs)+1),c(this,Bs)>=YL&&(p(this,Lc,!0),c(this,Tt).onUnreachable?.({url:c(this,Tt).url,attempts:c(this,Bs)})))},rh=function(){let e=c(this,kc).call(this);c(this,Hs)??p(this,Hs,e),!c(this,Fs)&&e-c(this,Hs)>=IE.BRIDGE_LOST_MS&&(p(this,Fs,!0),c(this,Tt).onConnectionLost?.())},rS=async function(e){let n;try{n=JSON.parse(e)}catch{return}let r=sf.safeParse(n);if(!r.success){let a=n?.id;typeof a=="string"&&a.length>0&&h(this,fe,Cc).call(this,Gn({kind:ft.COMMAND_RESULT,id:a,ok:!1,error:"this page could not parse the command \u2014 the @reticlehq/browser SDK and the daemon are probably different versions. Nothing ran."}));return}let i=r.data;if(i.sessionId!==void 0&&i.sessionId!==c(this,js)){h(this,fe,Cc).call(this,Gn({kind:ft.COMMAND_RESULT,id:i.id,ok:!1,error:`command addressed to session ${i.sessionId} but this page is ${c(this,js)??"(none)"} \u2014 the page reconnected under a new id, or two sessions share a socket. Nothing ran.`}));return}let s;try{s=await c(this,Tt).handleCommand(i)}catch(a){s={ok:!1,error:a instanceof Error?a.message:String(a)}}h(this,fe,Cc).call(this,Gn({kind:ft.COMMAND_RESULT,id:i.id,ok:s.ok,result:s.result,error:s.error}))},Cc=function(e,n){if(c(this,bt)!==void 0&&c(this,bt).readyState===WebSocket.OPEN){c(this,bt).send(e);return}if(c(this,Sr).length+c(this,lo).length>=WL){let s=c(this,Sr).length>0?c(this,Sr).shift():c(this,lo).shift();if(s?.event!==void 0){p(this,Gs,c(this,Gs)+1);let a=c(this,li);(a===void 0||s.event.t<a.t)&&p(this,li,s.event)}}let r=n!==void 0&&AE.has(n.type),i=ag(this,ru)._++;r?c(this,Sr).push({text:e,event:n,order:i}):c(this,lo).push({text:e,event:n,order:i})},oS=function(e,n){let r=c(this,li);if(r===void 0)return;let i={t:r.t,seq:r.seq,type:b.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,Gs)}};e.send(Gn({kind:ft.EVENT,event:i})),p(this,li,void 0),p(this,Gs,0)};oh();ii();D();oi();function aS(){let t=[A.UI,A.NET,A.LOG,A.ROUTE,A.STORAGE,A.TIME,A.SIGNAL];return ro().length>0?[...t,A.STATE]:t}D();var qL="__TAURI_INTERNALS__";function cS(){if(typeof window>"u")return Hn.SERVICE;let t=window;return t[eo]!==void 0||t[qL]!==void 0?Hn.WEBVIEW:Hn.WEB}var XL=[C.SNAPSHOT,C.QUERY,C.MATCH,C.INSPECT,C.ACT,C.ACT_SEQUENCE,C.ANIMATIONS,C.NARRATE,C.CLOCK,C.CAPABILITIES,C.STATE_READ,C.STORAGE_READ,C.SCROLL,C.SESSION_CONFIG,C.PRESENTER,C.IMPACT,C.CAPTURE,C.NAVIGATE,C.REFRESH,C.FLOWS];function lS(){return[...XL]}io();D();Mt();gt();et();ys();_n();function ZL(t){try{return t.contentDocument?.body??null}catch{return null}}function ih(t){let e=[],n=(r,i)=>{if(!(i>=3))for(let s of r.querySelectorAll("iframe")){let a=ZL(s);a!==null&&(e.push(a),n(a,i+1))}};return n(t,0),e}function dS(t){let e=new AbortController,n=()=>{for(let i of ih(document))t(i)};n();let r=i=>{i.target instanceof HTMLIFrameElement&&n()};return document.addEventListener("load",r,{capture:!0,signal:e.signal}),()=>e.abort()}function uS(t){let e=gr(t)?t:null;return e===null?void 0:e.closest("[data-testid]")?.getAttribute("data-testid")??X.refFor(e)}var QL=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],pS=120;function ou(t){if(t!==null)return t.length>pS?`${t.slice(0,pS)}\u2026`:t}var JL=new Set(["dialog","alertdialog"]),e1=new Set(["alert","status"]),Dc=40;function fS(t,e){return t!=="generic"||e.length>0}var t1=40;function hS(t){let e=Oe(t),n=be(t);if(fS(e,n))return{role:e,name:n,el:t};let r=0;for(let i of t.querySelectorAll("*")){if(r>=t1)return;if(r+=1,Le(i))continue;let s=Oe(i),a=be(i);if(fS(s,a))return{role:s,name:a,el:i}}}var n1=3;function sh(t){let e="";for(let r of t)r.nodeType===n1&&(e+=r.nodeValue??"");let n=e.trim();return n.length>0?n:void 0}function mS(t){let e=uT(),n=new MutationObserver(a=>{let l=0,d=0,u=0,f=0;for(let g of a){if(g.type==="attributes"){let E=g.target;if(gr(E)&&g.attributeName!==null&&!Le(E)){if(u>=Dc){f+=1;continue}u+=1;let _=ou(E.getAttribute(g.attributeName)),S=ou(g.oldValue);t(b.DOM_ATTR,{attr:g.attributeName,..._===void 0?{}:{value:_},...S===void 0?{}:{old:S}},X.refFor(E))}continue}if(g.type==="characterData"){let E=g.target.parentElement;if(E!==null&&!Le(E)){if(u>=Dc){f+=1;continue}u+=1;let _=(g.target.textContent??"").trim().slice(0,80),S=ou(g.oldValue?.trim()??null);t(b.DOM_TEXT,{text:_,...S===void 0?{}:{old:S}},X.refFor(E))}continue}if(sh(g.addedNodes)!==void 0||sh(g.removedNodes)!==void 0){let E=gr(g.target)?g.target:null;if(E!==null&&!Le(E))if(u>=Dc)f+=1;else{u+=1;let _=(E.textContent??"").trim().slice(0,80),S=ou(sh(g.removedNodes)??null);t(b.DOM_TEXT,{text:_,...S===void 0?{}:{old:S}},X.refFor(E))}}for(let E of g.addedNodes){if(!gr(E))continue;if(l>=Dc){f+=1;continue}if(Le(E))continue;let _=hS(E);if(_===void 0)continue;let{role:S,name:U}=_;l+=1;let L=X.refFor(_.el);t(b.DOM_ADDED,{role:S,name:U,region:uS(g.target)},L),(JL.has(S)||e1.has(S)||E.getAttribute("aria-modal")==="true")&&nt(E)&&t(b.VISIBLE_SHOWN,{role:S,name:U},L)}for(let E of g.removedNodes){if(!gr(E))continue;if(d>=Dc){f+=1;continue}if(Le(E)||gr(g.target)&&Le(g.target))continue;let _=hS(E);if(_===void 0)continue;let{role:S,name:U}=_;d+=1,t(b.DOM_REMOVED,{role:S,name:U,region:uS(g.target)})}}f>0&&t(b.TRUNCATED,{channel:Ql.DOM,dropped:f})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:QL,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let a of cT())n.observe(a,r);let i=dT(a=>n.observe(a,r)),s=dS(a=>n.observe(a,r));return()=>{s(),i(),e(),n.disconnect()}}D();oi();jn();function gS(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function r1(t,e){if(!gS(t)||!gS(e))return Object.is(t,e)?[]:[{path:"",old:t,new:e}];let n=[];for(let r of new Set([...Object.keys(t),...Object.keys(e)]))Object.is(t[r],e[r])||n.push({path:r,old:t[r],new:e[r]});return n}function ES(t,e){return He(t)?ye:mc(e)}function bS(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function TS(t){try{return t()}catch{return}}function _S(t){let e=new Map,n=([i,s,a])=>{try{e.get(i)?.()}catch{}let l=TS(s);e.set(i,a(()=>{W(()=>{let d=TS(s),u=r1(l,d);l=d;for(let f of u){let g=ES(f.path,f.new),E=ES(f.path,f.old);(He(f.path)?bS(mc(f.old),mc(f.new)):bS(E,g))||W(()=>t(b.STATE_CHANGE,{name:i,path:f.path,value:g,old:E}))}})}))};for(let i of $T())n(i);e.size===0&&t(b.BLIND_SPOT,{kind:mt.UNWATCHED_STATE,count:1});let r=DT(i=>{let s=e.size===0;n(i),s&&e.size>0&&t(b.BLIND_SPOT,{kind:mt.UNWATCHED_STATE,count:0})});return()=>{r();for(let i of e.values())try{i()}catch{}e.clear()}}D();Mt();function Ks(t){if(!(t instanceof Element)||t===document.body)return;let e=Oe(t),n=be(t);return n.length>0?`${e} "${n}"`:e}function o1(t){return t===null||t===document.body}function SS(t){let e=new AbortController,{signal:n}=e,r=null,i=a=>{let l=a.target,d=r;r=l,t(b.FOCUS_CHANGE,{...Ks(l)===void 0?{}:{to:Ks(l)},...Ks(d)===void 0?{}:{from:Ks(d)},toBody:o1(l)})},s=a=>{if(a.relatedTarget!==null)return;let l=r;r=null,t(b.FOCUS_CHANGE,{...Ks(l)===void 0?{}:{from:Ks(l)},toBody:!0})};return document.addEventListener("focusin",i,{signal:n}),document.addEventListener("focusout",s,{signal:n}),()=>e.abort()}D();Mt();var xS=160,i1=150,s1=/^(cc-|current-password|new-password)/i;function AS(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function a1(t){let e=t.getAttribute("data-testid");if(e!==null&&e.length>0)return e;if(t.name.length>0)return t.name;let n=be(t);if(n.length>0)return n;let r=t.getAttribute("id");return r!==null&&r.length>0?r:t.tagName.toLowerCase()}function c1(t){if(t instanceof HTMLInputElement&&t.type==="password")return!0;let e=t.getAttribute("autocomplete");if(e!==null&&s1.test(e))return!0;for(let n of[t.name,t.getAttribute("data-testid"),t.getAttribute("id")])if(n!==null&&n.length>0&&He(n))return!0;return!1}function yS(t){let e=new AbortController,{signal:n}=e,r=new Map,i=(d,u)=>{let f=d.value,g=c1(d);t(b.FIELD_CHANGE,{field:a1(d),kind:u,length:f.length,...g?{redacted:!0}:{value:f.length>xS?`${f.slice(0,xS)}\u2026`:f}})},s=d=>{let u=r.get(d);u!==void 0&&clearTimeout(u),r.delete(d)},a=d=>{let u=d.target;AS(u)&&(s(u),r.set(u,setTimeout(()=>{r.delete(u),i(u,"input")},i1)))},l=d=>{let u=d.target;AS(u)&&(s(u),i(u,"change"))};return document.addEventListener("input",a,{signal:n,capture:!0}),document.addEventListener("change",l,{signal:n,capture:!0}),()=>{for(let d of r.values())clearTimeout(d);r.clear(),e.abort()}}D();function l1(t){let e=t;for(let n=0;n<3;n+=1){let r=Array.from(e.children).filter(s=>s instanceof HTMLElement),i=r.length===1?r[0]:void 0;if(i===void 0||i.offsetHeight<e.scrollHeight*.9)return e;e=i}return e}function d1(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=l1(t),i=Array.from(r.children).filter(f=>f instanceof HTMLElement);if(i.length<2)return 0;let s=1/0,a=0,l=0;for(let f of i){let g=f.offsetTop,E=g+f.offsetHeight;g<s&&(s=g),E>a&&(a=E),l+=f.offsetHeight}let d=Math.max(0,s)+Math.max(0,e-a);if(d<e*.25)return 0;let u=l/i.length;return u<=0?0:Math.round(d/u)}function RS(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=d1(e));return t}ys();Ve();function u1(){let t=0;for(let e of document.querySelectorAll("*"))e.tagName.includes("-")&&e.shadowRoot===null&&(lT(e)||e.children.length>0||(e.textContent??"").trim().length>0||e.offsetHeight<=0&&e.offsetWidth<=0||(t+=1));return t}function p1(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function f1(t){let e=0;for(let n of t)p1(n)&&(e+=1);return e}function h1(){return f1(Array.from(document.querySelectorAll("iframe")))}function m1(){return ih(document).length}var g1=250;function vS(t){let e=[{kind:mt.CROSS_ORIGIN_IFRAME,count:h1},{kind:mt.UNINSTRUMENTED_FRAME,count:m1},{kind:mt.CLOSED_SHADOW_ROOT,count:u1},{kind:mt.VIRTUALIZED_UNMOUNTED,count:RS}],n=new Map,r=()=>{for(let a of e){let l=a.count();l!==n.get(a.kind)&&(n.set(a.kind,l),l>0&&t(b.BLIND_SPOT,{kind:a.kind,count:l}))}};r();let i,s=new MutationObserver(()=>{i===void 0&&(i=z(()=>{i=void 0,r()},g1))});return s.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{i!==void 0&&pe(i),s.disconnect()}}D();to();D();jn();Ve();var E1=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,b1=/event-stream|x-ndjson|application\/stream/i,T1=/event-stream/i;function wS(t,e){return t!==null&&T1.test(t)?!1:e===null}var _1=500;async function CS(t){let e;try{return await Promise.race([t,new Promise(n=>{e=z(()=>n(void 0),_1)})])}finally{e!==void 0&&pe(e)}}function ah(t){return t===null||b1.test(t)?!1:E1.test(t)}var IS=8192,S1=262144,x1=256,Mc=IS;function LS(t){Number.isFinite(t)&&(Mc=Math.min(S1,Math.max(x1,Math.floor(t))))}var A1=IS*2;function y1(t){let e=Mc*2;return t?Math.min(e,A1):e}var R1=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function NS(t){return t.replace(R1,(e,n)=>`${n} ${ye}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>He(n)?`${n}${r}${ye}`:e)}var OS=4096;function ch(t,e){return e&&t>=400}function lh(t,e){let n=uo(t,e);return n.body.length<=OS?n:{body:n.body.slice(0,OS),truncated:!0}}function uo(t,e){let n=e!==null&&/json|graphql/i.test(e),r=y1(!n),i=t.length>r,s=i?t.slice(0,r):t,a;if(n)try{a=Gn(JSON.parse(s))}catch{a=NS(s)}else a=NS(s);a=Jo(a);let l=i||a.length>Mc;return{body:a.length>Mc?a.slice(0,Mc):a,truncated:l}}var v1=/text\/|json|csv|xml|ndjson|javascript/i,N1=2e3;function kS(t,e={}){if(typeof URL.createObjectURL!="function")return()=>{};let n=new AbortController,r=URL.createObjectURL.bind(URL),i=new Map,s=he(URL,"createObjectURL"),a=function(_){let S=r(_);return W(()=>{if(typeof Blob<"u"&&_ instanceof Blob){let U=v1.test(_.type)?_.text().catch(()=>{}):Promise.resolve(void 0);i.set(S,{type:_.type,size:_.size,text:U})}}),S};URL.createObjectURL=a;let l=(E,_)=>{let S=i.get(E);S!==void 0&&(i.delete(E),S.text.then(U=>{W(()=>{d(S,_,U)})}))},d=(E,_,S)=>{let U={mimeType:E.type,bytes:E.size};if(_!==void 0&&_.length>0&&(U.filename=_),S!==void 0&&(U.lines=S.split(`
1336
- `).filter(L=>L.length>0).length,e.capturePreview===!0)){let{body:L,truncated:G}=uo(S.slice(0,N1),E.type);U.preview=L,G&&(U.previewTruncated=!0)}t(b.DOWNLOAD,U)},u=E=>{W(()=>{let _=E.target,S=_ instanceof Element?_.closest("a[download]"):null;S!==null&&l(S.getAttribute("href")??"",S.getAttribute("download")??void 0)})};document.addEventListener("click",u,{capture:!0,signal:n.signal});let f=he(HTMLAnchorElement.prototype,"click"),g=function(){let _=nn(()=>this.hasAttribute("download")?{href:this.getAttribute("href")??"",name:this.getAttribute("download")??void 0}:void 0);f.call(this),W(()=>{_!==void 0&&l(_.href,_.name)})};return HTMLAnchorElement.prototype.click=g,()=>{n.abort(),URL.createObjectURL===a&&(URL.createObjectURL=s),HTMLAnchorElement.prototype.click===g&&(HTMLAnchorElement.prototype.click=f),i.clear()}}D();to();function DS(t){let e=he(window,"open");if(e===void 0)return()=>{};let r=function(i,s,a){let l=e.call(this,i,s,a);return W(()=>{t(b.CONTEXT_OPENED,{...i===void 0?{}:{href:i}})}),l};return window.open=r,()=>{window.open===r&&(window.open=e)}}D();to();D();D();Ve();var O1=1e4;function MS(t,e,n,r,i,s){if(!wS(i,s)||typeof e.body?.getReader!="function")return;let a;try{a=e.clone()}catch{return}let l=a.body;l!==null&&(t(b.NET_STREAM,{transport:Fn.FETCH,direction:Bn.OPEN,url:r,id:n}),(async()=>{let d=l.getReader(),u=!1,f,g=new Promise(E=>{f=z(()=>E("expired"),O1)});try{for(;;){let E=await Promise.race([d.read(),g]);if(E==="expired"){u=!0,d.cancel().catch(()=>{});break}if(E.done)break}}catch{}finally{f!==void 0&&pe(f)}t(b.NET_STREAM,{transport:Fn.FETCH,direction:Bn.CLOSE,url:r,id:n,...u?{gaveUp:!0}:{}})})())}function w1(t){if(t instanceof ArrayBuffer)return t.byteLength;if(typeof Blob<"u"&&t instanceof Blob)return t.size;if(ArrayBuffer.isView(t))return t.byteLength}function dh(t,e){if(typeof t!="string"){let r=w1(t);return r===void 0?{frameType:typeof t}:{frameType:"binary",frameBytes:r}}let n={frameBytes:t.length};if(e){let{body:r,truncated:i}=uo(t,"application/json");n.frame=r,i&&(n.frameTruncated=!0)}return n}var Ws={NULL:"0",STRING:"s",NUMBER:"n",BOOLEAN:"b",OTHER:"?"};function iu(t){if(t===null)return Ws.NULL;if(Array.isArray(t))return`[${t.map(iu).join(",")}]`;if(typeof t=="object"){let e=t;return`{${Object.keys(e).sort().map(n=>`${n}:${iu(e[n])}`).join(",")}}`}return typeof t=="string"?Ws.STRING:typeof t=="number"?Ws.NUMBER:typeof t=="boolean"?Ws.BOOLEAN:Ws.OTHER}function PS(t,e){return Es(`${t}#${String(e)}`)}function C1(t){try{return iu(JSON.parse(t))}catch{return Ws.OTHER}}function uh(t,e){let n,r="application/json",i=FE;if(typeof t=="string")n=t,n.length>0&&(i=PS(C1(n),n.length));else if(typeof URLSearchParams<"u"&&t instanceof URLSearchParams){if(n=t.toString(),r="application/x-www-form-urlencoded",n.length>0){let d=Object.fromEntries(new URLSearchParams(n));i=PS(iu(d),n.length)}}else if(t!=null){let d=t.constructor?.name??typeof t;return e?{requestBodyType:d}:{}}let s={[dd]:i};if(!e||n===void 0||n.length===0)return s;let{body:a,truncated:l}=uo(n,r);return l?{...s,requestBody:a,requestBodyTruncated:!0}:{...s,requestBody:a}}function $S(t){return t>=200&&t<400}function US(t,e,n){let r={};t!==""&&(r.statusText=t),e!==null&&e!==""&&(r.contentType=e);let i=n!==null?Number.parseInt(n,10):Number.NaN;return Number.isFinite(i)&&(r.responseSize=i),r}function I1(t){return typeof t=="string"?t:t instanceof URL?t.href:t.url}function L1(t,e){return e?.method!==void 0?e.method.toUpperCase():t instanceof Request?t.method.toUpperCase():"GET"}function k1(t,e){if(e!==void 0&&e.headers!==void 0)return nn(()=>new Headers(e.headers).get(Zp))??void 0;if(t instanceof Request)return nn(()=>t.headers.get(Zp))??void 0}var D1=/@reticlehq|reticle\.ts|network\.ts|transport\.ts|<anonymous>|new Promise|node:internal/i,M1=/node_modules|\/\.vite\/deps\//i;function P1(t){if(t===void 0)return;let e=t.split(`
1337
- `).slice(1).map(r=>r.trim()).filter(r=>r.length>0&&!D1.test(r));return(e.find(r=>!M1.test(r))??e[0])?.slice(0,300)}function ph(){return P1(new Error().stack)}function $1(t){if(t===void 0)return{};let e={};return t.responseStart>0&&t.requestStart>0&&(e.ttfbMs=Math.round(t.responseStart-t.requestStart)),t.transferSize>0&&(e.transferSize=t.transferSize),e}function HS(t){try{let e=performance.getEntriesByName(t,"resource");return $1(e[e.length-1])}catch{return{}}}function U1(t){try{return new URL(t,location.href).pathname===Yl}catch{return t.includes(Yl)}}function H1(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var FS=new WeakSet;function BS(t,e={}){var Yi,rg;let n=e.captureBodies===!0,r=e.captureErrorBodies!==!1,i=e.reinterpret,s=xn(window,"fetch"),a=s.bind(window);!H1(s)&&!FS.has(s)&&t(b.BLIND_SPOT,{kind:mt.WRAPPED_NETWORK,count:1});let l=0,d=()=>`n${++l}`;window.fetch=async(De,oe)=>{let We=I1(De);if(e.ignore?.(We)===!0)return a(De,oe);let le=d(),Qe=performance.now(),Rt=L1(De,oe),Ml=k1(De,oe),Pl=Ml===void 0?{}:{[ud]:Ml},Fa=Un(We),Ba=Fa.url,og=nn(()=>ph()),rp=og===void 0?{}:{initiatorStack:og};W(()=>{t(b.NET_PENDING,{id:le,method:Rt,...Fa,initiator:"fetch",...rp})});try{let Je=await a(De,oe),Yv=performance.now(),Ga=nn(()=>Je.headers.get("content-type"))??null;W(()=>{MS(t,Je,le,Ba,Ga,Je.headers.get("content-length"))}),Dl.add(We);let ig=ja=>{W(()=>{t(b.NET_REQUEST,{id:le,method:Rt,...Fa,status:Je.status,ok:$S(Je.status),durationMs:Math.round(Yv-Qe),initiator:"fetch",...rp,...HS(We),...US(Je.statusText,Ga,Je.headers.get("content-length")),...uh(oe?.body,n),...Pl,...ja,...i?.(Ba,$l=>Je.headers.get($l))??{}})})},qv=ch(Je.status,r);if((n||qv)&&ah(Ga)){let ja;try{ja=Je.clone()}catch{}(async()=>{let $l={};if(ja!==void 0)try{let op=await CS(ja.text());if(op!==void 0){let{body:Xv,truncated:Zv}=n?uo(op,Ga):lh(op,Ga);$l={responseBody:Xv,...Zv?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}}catch{}try{ig($l)}catch{}})().catch(()=>{})}else ig({});return Je}catch(Je){throw W(()=>{t(b.NET_REQUEST,{id:le,method:Rt,url:Ba,status:0,ok:!1,error:Je instanceof Error?Je.message:String(Je),durationMs:Math.round(performance.now()-Qe),initiator:"fetch",...rp,...Pl})}),Je}};let u=xn(window,"fetch");FS.add(u);let f=new WeakMap,g=XMLHttpRequest.prototype,E=he(g,"open"),_=he(g,"send"),S=E;g.open=function(De,oe,...We){W(()=>{f.set(this,{id:d(),method:De.toUpperCase(),url:fd(String(oe)),rawUrl:String(oe),start:0})}),S.call(this,De,oe,...We)};let U=he(g,"open"),L=new WeakSet;g.send=function(De){W(()=>{let oe=f.get(this);if(oe!==void 0){oe.start=performance.now(),oe.reqBody=De??null,oe.initiatorStack=ph();let We=oe.initiatorStack===void 0?{}:{initiatorStack:oe.initiatorStack};t(b.NET_PENDING,{id:oe.id,method:oe.method,...Un(oe.rawUrl),initiator:"xhr",...We}),L.has(this)||(L.add(this),this.addEventListener("loadend",()=>{W(()=>{let le=f.get(this);if(le===void 0)return;Dl.add(le.rawUrl);let Qe=this.getResponseHeader("content-type"),Rt={},Ml=this.responseType===""||this.responseType==="text",Pl=ch(this.status,r);if((n||Pl)&&Ml&&ah(Qe))try{let{body:Fa,truncated:Ba}=n?uo(this.responseText,Qe):lh(this.responseText,Qe);Rt={responseBody:Fa,...Ba?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}catch{}t(b.NET_REQUEST,{id:le.id,method:le.method,...Un(le.rawUrl),status:this.status,ok:$S(this.status),durationMs:Math.round(performance.now()-le.start),initiator:"xhr",...le.initiatorStack===void 0?{}:{initiatorStack:le.initiatorStack},...HS(le.rawUrl),...US(this.statusText,Qe,this.getResponseHeader("content-length")),...uh(le.reqBody,n),...Rt})})}))}}),_.call(this,De??null)};let G=he(g,"send"),$=window.EventSource,Q=window.WebSocket,se,xe;n&&typeof $=="function"&&(window.EventSource=class extends ${constructor(De,oe){super(De,oe),W(()=>{let We=Un(String(De));t(b.NET_STREAM,{transport:Fn.SSE,direction:Bn.OPEN,...We}),this.addEventListener("message",le=>{W(()=>{t(b.NET_STREAM,{transport:Fn.SSE,direction:Bn.IN,...We,...dh(le.data,n)})})})})}},se=window.EventSource),n&&typeof Q=="function"&&(window.WebSocket=(rg=class extends Q{constructor(oe,We){super(oe,We);m(this,Yi);p(this,Yi,U1(String(oe))),!c(this,Yi)&&W(()=>{let le=Un(String(oe));t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.OPEN,...le}),this.addEventListener("message",Qe=>{W(()=>{t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.IN,...le,...dh(Qe.data,n)})})})})}send(oe){if(c(this,Yi)){super.send(oe);return}super.send(oe),W(()=>{t(b.NET_STREAM,{transport:Fn.WS,direction:Bn.OUT,...Un(this.url),...dh(oe,n)})})}},Yi=new WeakMap,rg),xe=window.WebSocket);let ge=typeof navigator<"u"?Object.getPrototypeOf(navigator):null,ve=ge===null?void 0:Object.getOwnPropertyDescriptor(ge,"sendBeacon")?.value,zt;ge!==null&&ve!==void 0&&(zt=function(De,oe){let We=d(),le=nn(()=>Un(String(De))),Qe=nn(()=>ph()),Rt=ve.call(this,De,oe);return W(()=>{t(b.NET_REQUEST,{id:We,method:"POST",...le,status:0,ok:Rt,queued:Rt,durationMs:0,initiator:"beacon",...Qe===void 0?{}:{initiatorStack:Qe},...uh(oe,!1)})}),Rt},ge.sendBeacon=zt);let Dl=new Set,tg=0,zv=200,ng;if(typeof PerformanceObserver<"u")try{let De=new PerformanceObserver(oe=>{for(let We of oe.getEntries()){let le=We;if(tg>=zv)return;let Qe=le.initiatorType||"other";if(Qe==="fetch"||Qe==="xmlhttprequest")continue;let Rt=le.name;Dl.has(Rt)||(Dl.add(Rt),tg+=1,t(b.NET_REQUEST,{id:d(),method:"GET",...Un(Rt),durationMs:Math.round(le.duration),initiator:Qe,...le.transferSize>0?{transferSize:le.transferSize}:{},...(le.responseStatus??0)>0?{status:le.responseStatus,ok:(le.responseStatus??0)>=200&&(le.responseStatus??0)<400}:{}}))}});ng=De,De.observe({type:"resource",buffered:!0})}catch{}return()=>{ng?.disconnect(),window.fetch===u&&(window.fetch=s),he(g,"open")===U&&(g.open=E),he(g,"send")===G&&(g.send=_),se!==void 0&&window.EventSource===se&&(window.EventSource=$),xe!==void 0&&window.WebSocket===xe&&(window.WebSocket=Q),ge!==null&&ve!==void 0&&ge.sendBeacon===zt&&(ge.sendBeacon=ve)}}D();var F1="Tauri-Response",B1="error",GS={OK:"Ok",ERROR:"Err"},jS=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function VS(t,e){let r=jS.exec(t)?.[1];if(r===void 0)return;let i=e(F1)!==B1;return{url:`${Xp}${r}`,initiator:En.IPC,method:En.IPC,ok:i,status:i?nc.OK:nc.ERROR,statusText:i?GS.OK:GS.ERROR}}function KS(t){return jS.exec(t)?.[1]===Td}function G1(){return navigator.userAgent.includes("Electron")}function WS(t,e={}){let n=window[eo];if(typeof n?.subscribe!="function")return G1()&&t(b.BLIND_SPOT,{kind:mt.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(i=>{W(()=>{let s=`${Xp}${i.channel}`;if(i.phase==="start"){t(b.NET_PENDING,{id:i.id,method:En.IPC,url:s,initiator:En.IPC});return}let a=i.oneWay===!0&&i.ok===void 0;a&&t(b.BLIND_SPOT,{kind:mt.VERDICTLESS_SEND,count:1});let l=i.ok===!0;t(b.NET_REQUEST,{id:i.id,method:En.IPC,url:s,...a?{}:{ok:l,status:l?nc.OK:nc.ERROR},...i.oneWay===!0?{oneWay:!0}:{},durationMs:i.durationMs??0,initiator:En.IPC,...i.error===void 0?{}:{error:i.error},...i.responseSize===void 0?{}:{responseSize:i.responseSize},...e.captureBodies===!0?{...i.requestBody===void 0?{}:{requestBody:i.requestBody},...i.responseBody===void 0?{}:{responseBody:i.responseBody},...i.responseBodyTruncated===!0?{responseBodyTruncated:!0}:{}}:{}})})});return()=>{n.unsubscribe?.(r)}}D();function zS(t){if(typeof PerformanceObserver!="function")return()=>{};let e=[],n=(s,a)=>{try{let l=new PerformanceObserver(d=>{for(let u of d.getEntries())a(u)});l.observe({type:s,buffered:!0}),e.push(l)}catch{}},r=0,i=0;return n("largest-contentful-paint",s=>{let a=Math.round(s.startTime);a<=i||(i=a,t(b.PERF,{metric:as.LCP,value:a,at:a}))}),n("layout-shift",s=>{let a=s;a.hadRecentInput!==!0&&(r+=a.value??0,t(b.PERF,{metric:as.CLS,value:r,at:Math.round(s.startTime)}))}),n("longtask",s=>{t(b.PERF,{metric:as.LONGTASK,value:Math.round(s.duration),at:Math.round(s.startTime)})}),()=>{for(let s of e)s.disconnect()}}D();to();function j1(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}function YS(t){let e=new AbortController,n=he(history,"pushState"),r=he(history,"replaceState"),i=n.bind(history),s=r.bind(history),a=location.href,l=g=>{W(()=>{let E=j1();E.href!==g&&(a=E.href,t(b.ROUTE_CHANGE,{from:g,to:E.href,pathname:E.pathname,search:E.search,hash:E.hash}))})},d=(g,E,_)=>{let S=location.href;i(g,E,_??null),l(S)},u=(g,E,_)=>{let S=location.href;s(g,E,_??null),l(S)};history.pushState=d,history.replaceState=u;let f=()=>{l(a)};return window.addEventListener("popstate",f,{signal:e.signal}),window.addEventListener("hashchange",f,{signal:e.signal}),()=>{history.pushState===d&&(history.pushState=n),history.replaceState===u&&(history.replaceState=r),e.abort()}}D();var V1=new Set(["navigate","reload","back_forward"]);function K1(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function qS(t){let e=K1(),n=e?.type,r=e?.name;if(e===void 0||typeof r!="string"||r.length===0)return()=>{};if(typeof n!="string"||!V1.has(n))return()=>{};let i=e.responseStatus,s=typeof i=="number"&&i>0;return t(b.NET_REQUEST,{id:`doc-${String(Math.round(e.duration??0))}`,method:"GET",url:r,initiator:En.DOCUMENT,durationMs:Math.round(e.duration??0),...s?{status:i,ok:i<400}:{},navigationType:n,...typeof e.transferSize=="number"?{transferSize:e.transferSize}:{}}),()=>{}}D();var W1=/^(javascript|mailto|tel|sms|blob|data):/i;function z1(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}function Y1(t,e,n){if(t.length===0||W1.test(t))return!1;if(e)return!0;try{let r=new URL(t,n),i=new URL(n);return r.origin===i.origin?r.pathname!==i.pathname||r.search!==i.search:!0}catch{return!1}}function XS(t){if(typeof document>"u")return()=>{};let e=0,n=r=>{W(()=>{let i=z1(r.target);if(i===void 0)return;let s=i.getAttribute("href")??"",a=document.location.href,l=i.hasAttribute("download");if(!Y1(s,l,a))return;let d=new URL(s,a).toString();queueMicrotask(()=>{W(()=>{r.defaultPrevented||(e+=1,t(b.NET_PENDING,{id:`nav-${String(e)}`,method:"GET",url:d,initiator:En.NAVIGATION,...l?{download:!0}:{}}))})})})};return document.addEventListener("click",n,!0),()=>document.removeEventListener("click",n,!0)}D();jn();D();var q1=3,X1=256,Z1={emit:!0},Q1={emit:!1};function J1(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function ek(t){return Es([t.message,t.source??"",t.line===void 0?"":String(t.line),t.kind??"",t.stack??""].join("\0"))}function ZS(t=q1,e=X1){let n=new Map;return{admit(r){let i=ek(r),s=(n.get(i)??0)+1;if(n.delete(i),n.size>=e){let a=n.keys().next();(a.done??!1)||n.delete(a.value)}return n.set(i,s),s<=t?Z1:J1(s)?{emit:!0,repeats:s}:Q1}}}var QS="securitypolicyviolation",tk="report",nk={log:b.CONSOLE_LOG,warn:b.CONSOLE_WARN,error:b.CONSOLE_ERROR,info:b.CONSOLE_INFO,debug:b.CONSOLE_DEBUG};function rk(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:Gn(e)).join(" ")}var JS=H.MAX_STACK_LENGTH;function fh(t){if(!(t===void 0||t.length===0))return t.length>JS?t.slice(0,JS):t}function ok(t){for(let e of t)if(e instanceof Error)return fh(e.stack)}function ex(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let g of e){let E=xn(console,g);n.set(g,E);let _=E.bind(console),S=(...U)=>{_(...U),W(()=>{let L=g==="error"?ok(U):void 0;t(nk[g],{message:rk(U),...L===void 0?{}:{stack:L}})})};r.set(g,S),console[g]=S}let i=ZS(),s=g=>{let E=i.admit(g);E.emit&&t(b.ERROR_UNCAUGHT,{...g,...E.repeats===void 0?{}:{repeats:E.repeats}})},a=g=>{if(!(g instanceof ErrorEvent)){let E=g.target;if(!(E instanceof Element)||E===document)return;let _=E.tagName.toLowerCase(),S=E.getAttribute("src")??E.getAttribute("href")??"";W(()=>{let U=`<${_}> failed to load${S.length===0?"":`: ${S}`}`;s({message:U,kind:"resource",...S.length===0?{}:{source:S}})});return}W(()=>{let E=fh(g.error instanceof Error?g.error.stack:void 0),_={message:g.message,source:g.filename,line:g.lineno,...E===void 0?{}:{stack:E}};s(_)})},l=g=>{W(()=>{let E=g.reason,_=fh(E instanceof Error?E.stack:void 0),S={message:E instanceof Error?E.message:String(E),kind:"unhandledrejection",..._===void 0?{}:{stack:_}};s(S)})},d=g=>{let E=g.blockedURI.length===0?"inline content":g.blockedURI,_=tk===g.disposition;t(_?b.CONSOLE_WARN:b.CONSOLE_ERROR,{message:_?`[Report Only] Content Security Policy directive: ${g.violatedDirective} would block ${E}`:`Content Security Policy directive: ${g.violatedDirective} blocked ${E}`,kind:QS,...g.blockedURI.length===0?{}:{source:g.blockedURI}})},u=new AbortController,{signal:f}=u;return window.addEventListener("error",a,{capture:!0,signal:f}),window.addEventListener("unhandledrejection",l,{signal:f}),window.addEventListener(QS,d,{capture:!0,signal:f}),()=>{for(let[g,E]of n)console[g]===r.get(g)&&(console[g]=E);u.abort()}}D();Ds();var ik={alert:void 0,confirm:!1,prompt:null},sk=["alert","confirm","prompt"];function tx(t){let e=window,n=new Map,r=new Map;for(let i of sk){let s=e[i];if(typeof s!="function")continue;n.set(i,s);let a=s.bind(window),l=(...d)=>{if(!Ud())return a(...d);let u=ik[i],f=d[0];return W(()=>{t(b.DIALOG_OPENED,{kind:i,...typeof f=="string"?{message:f}:{},...u===void 0?{}:{answered:u}})}),u};r.set(i,l),e[i]=l}return()=>{for(let[i,s]of n)e[i]===r.get(i)&&(e[i]=s)}}D();gt();et();function nx(t){let e=new AbortController,{signal:n}=e,r=a=>{let l=a.target;l instanceof Element&&!Le(l)&&t(b.ANIM_START,{name:a.animationName},X.refFor(l))},i=a=>{let l=a.target;l instanceof Element&&!Le(l)&&t(b.ANIM_END,{name:a.animationName},X.refFor(l))},s=a=>{let l=a.target;l instanceof Element&&!Le(l)&&t(b.ANIM_END,{name:a.propertyName,kind:"transition"},X.refFor(l))};return document.addEventListener("animationstart",r,{capture:!0,signal:n}),document.addEventListener("animationend",i,{capture:!0,signal:n}),document.addEventListener("transitionend",s,{capture:!0,signal:n}),()=>e.abort()}D();gt();Ve();var rx=100,ak="[data-reticle-reveal], [data-reveal], section";function ox(t){let e=new AbortController,{signal:n}=e,r=0,i=0,s,a=()=>{r=performance.now();let u=window.scrollY,f=Math.max(1,document.documentElement.scrollHeight-window.innerHeight);t(b.SCROLL_POSITION,{x:window.scrollX,y:u,percent:Math.round(u/f*100),direction:u>=i?bd.DOWN:bd.UP}),i=u},l=()=>{let u=performance.now()-r;if(u>=rx){s!==void 0&&(pe(s),s=void 0),a();return}s===void 0&&(s=z(()=>{s=void 0,a()},rx-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(f=>{for(let g of f)g.isIntersecting&&t(b.REVEAL_SHOWN,{ratio:g.intersectionRatio},X.refFor(g.target))},{threshold:.25});let u=d;for(let f of document.querySelectorAll(ak))u.observe(f)}return()=>{e.abort(),s!==void 0&&pe(s),d?.disconnect()}}D();Ve();function ck(){let t=window;return t.__TAURI_INTERNALS__!==void 0||t.__TAURI__!==void 0?"tauri":navigator.userAgent.includes("Electron")||t[eo]!==void 0?"electron":"web"}function lk(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var dk={"google chrome":Ne.CHROME,chrome:Ne.CHROME,"microsoft edge":Ne.EDGE,edge:Ne.EDGE,brave:Ne.BRAVE,opera:Ne.OPERA,arc:Ne.ARC,dia:Ne.DIA,firefox:Ne.FIREFOX,safari:Ne.SAFARI};function uk(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function pk(){try{let n=navigator.userAgentData?.brands;if(Array.isArray(n)){let r;for(let i of n){let s=typeof i?.brand=="string"?i.brand.toLowerCase():"";if(s===""||uk(s))continue;let a=dk[s];if(a!==void 0)if(Ne.CHROME===a)r=a;else return a}return r??Ne.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?Ne.EDGE:/OPR\/|Opera/.test(t)?Ne.OPERA:/Firefox/.test(t)?Ne.FIREFOX:/Chrome|Chromium/.test(t)?Ne.CHROME:/Safari/.test(t)?Ne.SAFARI:Ne.OTHER}function fk(){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:ck(),engine:lk(),brand:pk()}}function ix(t){let e=new AbortController,{signal:n}=e,r=s=>{t(b.PAGE_HEALTH,{...fk(),reason:s})};document.addEventListener("visibilitychange",()=>r(ps.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>r(ps.FOCUS),{signal:n}),window.addEventListener("blur",()=>r(ps.BLUR),{signal:n}),r(ps.INITIAL);let i=a_(()=>r(ps.HEARTBEAT),CE.HEARTBEAT_MS);return()=>{i(),e.abort()}}D();var Pe={CONNECT:"connect",DOM_OBSERVER:"dom_observer",NETWORK_OBSERVER:"network_observer",CONSOLE_OBSERVER:"console_observer",IPC_OBSERVER:"ipc_observer",HEALTH_OBSERVER:"health_observer",ROUTER_OBSERVER:"router_observer",ANIMATION_OBSERVER:"animation_observer",STORE_ADAPTER:"store_adapter",SNAPSHOT:"snapshot",ACTION:"action",COMMAND:"command",RECORDER:"recorder",TRANSPORT:"transport",TEARDOWN:"teardown"},hk=500;function hh(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(b.SDK_FAILED,{site:e,message:r.slice(0,hk),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function Be(t,e,n){try{return n()}catch(r){return hh(t,e,r),()=>{}}}function sx(t,e){for(let n of e)try{n()}catch(r){hh(t,Pe.TEARDOWN,r)}}function ax(t,e){return[Be(t,Pe.NETWORK_OBSERVER,()=>BS(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:VS,ignore:KS})),Be(t,Pe.IPC_OBSERVER,()=>WS(t,{captureBodies:e.captureBodies})),Be(t,Pe.ANIMATION_OBSERVER,()=>zS(t)),Be(t,Pe.ROUTER_OBSERVER,()=>YS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>qS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>XS(t)),Be(t,Pe.CONSOLE_OBSERVER,()=>ex(t)),Be(t,Pe.CONSOLE_OBSERVER,()=>tx(t)),Be(t,Pe.ANIMATION_OBSERVER,()=>nx(t)),Be(t,Pe.DOM_OBSERVER,()=>ox(t)),Be(t,Pe.DOM_OBSERVER,()=>mS(t)),Be(t,Pe.STORE_ADAPTER,()=>j_(t)),Be(t,Pe.STORE_ADAPTER,()=>_S(t)),Be(t,Pe.DOM_OBSERVER,()=>SS(t)),Be(t,Pe.DOM_OBSERVER,()=>yS(t)),Be(t,Pe.NETWORK_OBSERVER,()=>kS(t,{capturePreview:e.captureBodies})),Be(t,Pe.DOM_OBSERVER,()=>vS(t)),Be(t,Pe.HEALTH_OBSERVER,()=>ix(t)),Be(t,Pe.DOM_OBSERVER,()=>DS(t))]}var mk=["position:fixed","bottom:8px","right:8px","z-index:2147483647","font:11px ui-monospace,SFMono-Regular,Menlo,monospace","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:8px","padding:6px 10px","pointer-events:none","opacity:0.85"].join(";");function cx(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=mk,t.textContent="Reticle: connecting\u2026",document.body.appendChild(t),{update:e=>{t.textContent=`Reticle ${e.connected?"\u25CF":"\u25CB"} ${String(e.events)} events`},destroy:()=>{t.remove()}}}mh();gh();D();gt();Mt();function An(t,e=""){return typeof t=="string"?t:e}function Ar(t){let e=An(t);return e===""?void 0:e}function su(t){let e=X.resolve(t);if(!(e instanceof Element))return t;let n=Vn(e);return n.name.length>0?`${n.role} "${n.name}"`:`${n.role} (${t})`}function lx(t){switch(t){case C.ACT:case C.ACT_SEQUENCE:return Me.ACTING;case C.SNAPSHOT:case C.QUERY:case C.MATCH:case C.INSPECT:case C.ANIMATIONS:case C.STATE_READ:case C.CAPABILITIES:return Me.READING;default:return Me.IDLE}}function dx(t,e={}){switch(t){case C.SNAPSHOT:return"Looking at the page";case C.QUERY:case C.MATCH:{let n=t===C.MATCH?e.query??{}:e,r=gk(n);return r!==void 0?`Finding ${r}`:"Finding an element"}case C.INSPECT:{let n=Ar(e.ref);return n!==void 0?`Inspecting ${su(n)}`:"Inspecting an element"}case C.ANIMATIONS:return"Reading animations";case C.STATE_READ:{let n=Ar(e.store);return n!==void 0?`Reading state: ${n}`:"Reading state"}case C.CAPABILITIES:return"Reading capabilities";default:return t}}function gk(t){let e=Ar(t.testid)??(pt.TESTID===An(t.by)?Ar(t.value):void 0);if(e!==void 0)return`[testid=${e}]`;let n=Ar(t.name),r=Ar(t.value)??Ar(t.text)??Ar(t.label)??Ar(t.role);return r!==void 0?n!==void 0?`"${r}" (${n})`:`"${r}"`:n!==void 0?`"${n}"`:void 0}_c();D();D();bc();Mt();et();io();var ux=["position:fixed","top:8px","left:50%","transform:translateX(-50%)","z-index:2147483647","display:flex","gap:6px","align-items:center","flex-wrap:wrap","max-width:90vw","font:12px ui-sans-serif,system-ui,sans-serif","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:10px","padding:6px 10px","box-shadow:0 8px 30px rgba(0,0,0,.5)"].join(";"),au=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),Eh=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),px=["opacity:.75","margin-left:4px"].join(";"),fx=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var Ek="recorded 0 steps",bk="recording\u2026",hx="ready",Tk="pick an annotation",_k="data-testid",Sk=is.ACT,bh={record:"Record",stop:"Stop",annotate:"Annotate"},xk={[Ae.ASSERT_SIGNAL]:"assert signal",[Ae.ASSERT_VISIBLE]:"assert visible",[Ae.ASSERT_STATE]:"assert state",[Ae.ASSERT_NET]:"assert request",[Ae.MARK_DYNAMIC]:"mark dynamic",[Ae.SUCCESS_STATE]:"success state",[Ae.INTENT]:"intent"},Ak=new Set([Ae.ASSERT_SIGNAL,Ae.SUCCESS_STATE]),yk="recorded-flow";function Ex(t){let e=t.getAttribute(_k);if(e!==null&&e.length>0)return{anchor:{kind:Zt.TESTID,value:e},degraded:!1};let n=Oe(t),r=be(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:Zt.ROLE,role:n,name:r}:{kind:Zt.ROLE,role:n},degraded:!1}:{anchor:{kind:Zt.ROLE,role:Ig},degraded:!0}}function mx(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&$c(t)==="textbox"}function $c(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function zs(t,e,n){let{anchor:r,degraded:i}=Ex(t),s={tool:Sk,anchor:r,action:e};n!==void 0&&(s.args=n),i&&(s.degraded=!0);let a=Ec(t);return a!==void 0&&(s.source=a.line===void 0?{file:a.file}:{file:a.file,line:a.line}),s}function Rk(t,e,n,r,i){let s=e.map(u=>({...u})),a=[],l;for(let u of n){if(u.kind===Ae.MARK_DYNAMIC){a.push(u.anchor);continue}if(u.kind===Ae.SUCCESS_STATE){u.signal!==void 0&&(l={kind:y.SIGNAL,name:u.signal});continue}let f=s.at(-1);f!==void 0&&(u.kind===Ae.ASSERT_SIGNAL&&u.signal!==void 0?f.expect=gx(f.expect,{kind:y.SIGNAL,name:u.signal}):u.kind===Ae.ASSERT_VISIBLE&&(f.expect=gx(f.expect,{kind:y.ELEMENT,query:vk(u.anchor)})))}let d={version:gp,name:t,createdAt:r,steps:s};return i!==void 0&&i.length>0&&(d.startPath=i),a.length>0&&(d.dynamic=a),l!==void 0&&(d.success=l),d}function gx(t,e){return t===void 0?e:t.kind===y.ALL_OF?{kind:y.ALL_OF,predicates:[...t.predicates,e]}:{kind:y.ALL_OF,predicates:[t,e]}}function vk(t){return t.kind===Zt.TESTID?{testid:t.value}:t.kind===Zt.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var ui,rn,_t,Fc,fo,yr,Ys,ho,pi,zn,yn,k,bx,Uc,Tx,_x,Sx,xx,po,Ax,yx,_h,Rx,vx,Nx,di,Ox,cu,wx,Cx,Hc,lu,Ix,Th=class{constructor(e){m(this,k);m(this,ui);m(this,rn,ut.IDLE);m(this,_t,[]);m(this,Fc);m(this,fo,[]);m(this,yr);m(this,Ys);m(this,ho);m(this,pi);m(this,zn);m(this,yn);p(this,ui,e)}phase(){return c(this,rn)}steps(){return c(this,_t).map(e=>({...e}))}mount(){c(this,ho)===void 0&&(typeof document>"u"||(h(this,k,Ox).call(this),h(this,k,bx).call(this)))}destroy(){c(this,Ys)?.abort(),p(this,Ys,void 0),c(this,ho)?.remove(),p(this,ho,void 0),p(this,pi,void 0),p(this,zn,void 0),p(this,rn,ut.IDLE),p(this,_t,[]),p(this,fo,[]),p(this,yn,void 0),p(this,yr,void 0)}};ui=new WeakMap,rn=new WeakMap,_t=new WeakMap,Fc=new WeakMap,fo=new WeakMap,yr=new WeakMap,Ys=new WeakMap,ho=new WeakMap,pi=new WeakMap,zn=new WeakMap,yn=new WeakMap,k=new WeakSet,bx=function(){let e=new AbortController;p(this,Ys,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>h(this,k,Tx).call(this,r),n),document.addEventListener("input",r=>h(this,k,_x).call(this,r),n),document.addEventListener("change",r=>h(this,k,Sx).call(this,r),n),document.addEventListener("submit",r=>h(this,k,xx).call(this,r),n)},Uc=function(e){let n=e.target;if(n instanceof Element&&!Le(n))return n},Tx=function(e){let n=h(this,k,Uc).call(this,e);if(n!==void 0){if(c(this,rn)===ut.ANNOTATING){h(this,k,Ax).call(this,n);return}c(this,rn)===ut.RECORDING&&(n instanceof HTMLInputElement&&($c(n)==="checkbox"||$c(n)==="radio")||n instanceof HTMLSelectElement||(h(this,k,po).call(this),c(this,_t).push(zs(n,R.CLICK))))}},_x=function(e){if(c(this,rn)!==ut.RECORDING)return;let n=h(this,k,Uc).call(this,e);n===void 0||!mx(n)||p(this,yr,{el:n,value:n.value})},Sx=function(e){if(c(this,rn)!==ut.RECORDING)return;let n=h(this,k,Uc).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&$c(n)==="checkbox"){h(this,k,po).call(this),c(this,_t).push(zs(n,n.checked?R.CHECK:R.UNCHECK));return}if(n instanceof HTMLInputElement&&$c(n)==="radio"){h(this,k,po).call(this),c(this,_t).push(zs(n,R.CHECK));return}if(n instanceof HTMLSelectElement){h(this,k,po).call(this),c(this,_t).push(zs(n,R.SELECT,{value:n.value}));return}mx(n)&&(p(this,yr,{el:n,value:n.value}),h(this,k,po).call(this))}},xx=function(e){if(c(this,rn)!==ut.RECORDING)return;let n=h(this,k,Uc).call(this,e);n!==void 0&&(h(this,k,po).call(this),c(this,_t).push(zs(n,R.SUBMIT)))},po=function(){let e=c(this,yr);if(e===void 0)return;p(this,yr,void 0);let n=wf(e.el)?ye:e.value;c(this,_t).push(zs(e.el,R.FILL,{value:n}))},Ax=function(e){let n=c(this,yn);if(n===void 0)return;let{anchor:r}=Ex(e),i={kind:n.kind,anchor:r},s=h(this,k,_h).call(this);s!==void 0&&(i.signal=s),c(this,fo).push(i),p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,Hc).call(this)},yx=function(){let e=c(this,yn);if(e===void 0)return;let n=c(this,_t).at(-1);if(n===void 0){p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,Hc).call(this);return}let r={kind:e.kind,anchor:n.anchor},i=h(this,k,_h).call(this);i!==void 0&&(r.signal=i),c(this,fo).push(r),p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,Hc).call(this)},_h=function(){let n=c(this,zn)?.querySelector("[data-reticle-signal]")?.value??"";return n.length>0?n:void 0},Rx=function(){p(this,_t,[]),p(this,Fc,typeof location>"u"?void 0:location.pathname),p(this,fo,[]),p(this,yr,void 0),p(this,yn,void 0),h(this,k,di).call(this,ut.RECORDING),h(this,k,lu).call(this,bk)},vx=function(){h(this,k,po).call(this);let e=h(this,k,Ix).call(this)??c(this,ui).defaultName??yk,n=Rk(e,c(this,_t),c(this,fo),c(this,ui).now(),c(this,Fc));c(this,ui).emit(b.FLOW_RECORDED,{name:e,flow:n}),h(this,k,lu).call(this,c(this,_t).length===0?Ek:hx),h(this,k,di).call(this,ut.IDLE),h(this,k,Hc).call(this)},Nx=function(){c(this,rn)===ut.RECORDING&&(h(this,k,di).call(this,ut.ANNOTATING),h(this,k,lu).call(this,Tk),h(this,k,wx).call(this))},di=function(e){p(this,rn,e)},Ox=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=ux;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=Eh,e.appendChild(n),e.appendChild(h(this,k,cu).call(this,"record",bh.record,()=>h(this,k,Rx).call(this))),e.appendChild(h(this,k,cu).call(this,"stop",bh.stop,()=>h(this,k,vx).call(this))),e.appendChild(h(this,k,cu).call(this,"annotate",bh.annotate,()=>h(this,k,Nx).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=px,r.textContent=hx,e.appendChild(r);let i=document.createElement("div");i.setAttribute("data-reticle-menu",""),i.style.cssText=fx,e.appendChild(i),document.body.appendChild(e),p(this,ho,e),p(this,pi,r),p(this,zn,i)},cu=function(e,n,r){let i=document.createElement("button");return i.setAttribute("data-reticle-action",e),i.textContent=n,i.style.cssText=au,i.addEventListener("click",r),i},wx=function(){let e=c(this,zn);if(e!==void 0){e.textContent="";for(let n of Object.values(Ae)){if(n===Ae.INTENT)continue;let r=document.createElement("button");r.setAttribute("data-reticle-annkind",n),r.textContent=xk[n],r.style.cssText=au,r.addEventListener("click",()=>h(this,k,Cx).call(this,n)),e.appendChild(r)}}},Cx=function(e){p(this,yn,{kind:e});let n=c(this,zn);if(n===void 0)return;if(Ak.has(e)){let i=document.createElement("select");i.setAttribute("data-reticle-signal",""),i.style.cssText=Eh;for(let s of oo().signals){let a=document.createElement("option");a.value=s,a.textContent=s,i.appendChild(a)}n.appendChild(i)}let r=document.createElement("button");r.setAttribute("data-reticle-action","annotate-confirm"),r.textContent="on prior step",r.style.cssText=au,r.addEventListener("click",()=>h(this,k,yx).call(this)),n.appendChild(r)},Hc=function(){c(this,zn)!==void 0&&(c(this,zn).textContent="")},lu=function(e){c(this,pi)!==void 0&&(c(this,pi).textContent=e)},Ix=function(){let n=c(this,ho)?.querySelector("[data-reticle-name]")?.value.trim()??"";return n.length>0?n:void 0};function Lx(t){return new Th(t)}Lh();function u5(t,e){return t==="production"&&!e}function p5(t,e,n,r,i="http:"){let s;try{s=new URL(e)}catch{return{allowed:!1,reason:"invalid Reticle bridge URL"}}if(s.protocol!=="ws:"&&s.protocol!=="wss:")return{allowed:!1,reason:"Reticle bridge URL must use ws:// or wss://"};if((r?.length??0)>H.MAX_TOKEN_LENGTH)return{allowed:!1,reason:`Reticle pairing token exceeds ${String(H.MAX_TOKEN_LENGTH)} characters`};let a=!df(s.hostname);return a&&s.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!Eb(i,t)||a?n?r===void 0||r.length===0?{allowed:!1,reason:"a pairing token is required outside localhost"}:{allowed:!0}:{allowed:!1,reason:"Reticle is disabled outside localhost unless allowNonLocalhost is explicitly enabled"}:{allowed:!0}}var f5="Session ended - lost connection to Reticle (the agent is no longer running).";function h5(t,e){return t===void 0||t===ec?e():t}function m5(){try{let t=new URL(window.location.href);if(!t.searchParams.has(eu))return;t.searchParams.delete(eu),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function vv(t){let e=new URLSearchParams(t),n={},r=e.get(pr.SESSION),i=e.get(pr.PROJECT);return r!==null&&r.length>0&&(n.session=r),i!==null&&i.length>0&&(n.projectId=i),n}function g5(t,e){let n=vv(e),r=t.session!==void 0&&t.session!==ec?t.session:void 0,i=t.projectId??n.projectId;return{session:r??n.session,projectId:i!==void 0&&i.length>0?i:void 0}}function E5(t){return{t:t.t,seq:t.seq,type:t.type,sessionId:t.sessionId,ref:t.ref,documentId:t.documentId,editEpoch:0===t.editEpoch?void 0:t.editEpoch,data:t.data}}var Vr,wl,Ki,or,Wi,tp,Cl,Co,Se,Ia,Il,Ll,kl,zi,ir,La,ka,Da,Ma,Pa,$a,Ua,Kr,fn,Nv,sr,Ov,wv,Cv,Iv,Ha=class{constructor(){m(this,fn);m(this,Vr);m(this,wl,new Map);m(this,Ki,[]);m(this,or,!1);m(this,Wi,"default");m(this,tp,PE(Math.random));m(this,Cl,0);m(this,Co);m(this,Se);m(this,Ia,new Map);m(this,Il);m(this,Ll,!1);m(this,kl,!1);m(this,zi);m(this,ir);m(this,La,0);m(this,ka);m(this,Da);m(this,Ma,!1);m(this,Pa);m(this,$a);m(this,Ua,[]);m(this,Kr);m(this,sr,(e,n,r)=>{let i=E5({seq:c(this,La),t:Math.round(performance.now()-c(this,Cl)),type:e,sessionId:c(this,Wi),documentId:c(this,tp),editEpoch:uc.current,data:n,ref:r});try{c(this,Vr)?.sendEvent(i),p(this,La,c(this,La)+1),c(this,Co)?.update({connected:!0,events:c(this,La)}),e===b.ROUTE_CHANGE&&c(this,Se)?.refilterFlows()}catch{}})}connect(e={}){if(c(this,or)||typeof window>"u"||typeof document>"u")return;let r=globalThis.process?.env?.NODE_ENV;if(u5(r,e.allowInProduction===!0)){globalThis.console.warn("[Reticle] disabled in production (NODE_ENV=production). Gate the import behind import.meta.env.DEV, or pass allowInProduction:true to override.");return}m5();let i=e.url??Mg(bp),s=p5(window.location.hostname,i,e.allowNonLocalhost===!0,e.token,window.location.protocol);if(!s.allowed){globalThis.console.warn(`[Reticle] ${s.reason??"connection blocked"}`);return}e.root!==void 0&&e.root.length>0&&(globalThis[ld]=e.root);let a=e.sdkVersion??globalThis[SE];p(this,Da,typeof a=="string"&&a.length>0?a:void 0);let l=g5(e,window.location.search),d=h5(l.session,()=>"");p(this,Wi,Jb(d.length>0?d:void 0,typeof globalThis.sessionStorage>"u"?void 0:globalThis.sessionStorage,()=>typeof globalThis.crypto?.randomUUID=="function"?`s${globalThis.crypto.randomUUID()}`:`s${Date.now().toString(36)}`)),p(this,ka,e.token!==void 0&&e.token.length>0?e.token:void 0),p(this,$a,l.projectId),h(this,fn,Ov).call(this,e.redact),p(this,Cl,performance.now()),p(this,wl,eS()),p(this,Vr,new nu({url:i,hello:()=>h(this,fn,wv).call(this),handleCommand:f=>h(this,fn,Cv).call(this,f),onConnected:()=>{p(this,kl,!0),c(this,Se)?.sessionStart()},onConnectionLost:()=>{Us(),c(this,Se)?.sessionActive===!0&&c(this,Se).setState(Re.ENDED,f5)},onUnreachable:({url:f,attempts:g})=>{Kn(iS(f,g)),c(this,Se)?.showUnreachable(f,g)}})),Id(()=>c(this,Vr)?.reannounce()),lg(e.exposePresenter===!0),e.networkBodyMaxChars!==void 0&&LS(e.networkBodyMaxChars);let u=c(this,sr);p(this,Ma,e.captureNetworkBodies===!0),p(this,Pa,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),p(this,Ki,ax(u,{captureBodies:c(this,Ma),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(p(this,Co,cx()),c(this,Co).update({connected:!0,events:0})),e.present!==!1&&h(this,fn,Nv).call(this,e),e.recorder===!0&&(p(this,zi,Lx({emit:u,now:()=>Date.now()})),c(this,zi).mount()),(e.annotate??e.present!==!1)&&(p(this,ir,new xi({emit:u,now:()=>Date.now(),onMark:f=>c(this,Se)?.log(Ke.HUMAN,`\u{1F6A9} #${String(f.index)} ${f.anchor}${f.source!==void 0?` \xB7 ${f.source}`:""} \u2014 ${f.note}`),shouldBlock:()=>{var f;return((f=c(this,Il))==null?void 0:f.call(this).blockPageInteractions)??!0}})),c(this,ir).mount(),c(this,Se)?.bindAnnotator(c(this,ir))),c(this,Vr).connect(),p(this,or,!0)}get connected(){return c(this,or)}signal(e,n={}){c(this,sr).call(this,b.SIGNAL,{name:e,data:n})}state(e,n){c(this,sr).call(this,b.STATE_CHANGE,{name:e,value:n})}renderCommit(e){e>0&&c(this,sr).call(this,b.RENDER_COMMIT,{commits:e})}describe(e){Cs(e)}endSession(){c(this,Se)?.setState(Re.ENDED)}observeHotUpdates(e){uc.observe(e)}disconnect(){c(this,or)&&(sx(c(this,sr),c(this,Ki)),p(this,Ki,[]),c(this,Vr)?.close(),p(this,Vr,void 0),c(this,Co)?.destroy(),p(this,Co,void 0),c(this,Se)?.sessionEnd(),c(this,Se)?.destroy(),p(this,Se,void 0),c(this,zi)?.destroy(),p(this,zi,void 0),c(this,ir)?.destroy(),p(this,ir,void 0),Us(),p(this,or,!1))}};Vr=new WeakMap,wl=new WeakMap,Ki=new WeakMap,or=new WeakMap,Wi=new WeakMap,tp=new WeakMap,Cl=new WeakMap,Co=new WeakMap,Se=new WeakMap,Ia=new WeakMap,Il=new WeakMap,Ll=new WeakMap,kl=new WeakMap,zi=new WeakMap,ir=new WeakMap,La=new WeakMap,ka=new WeakMap,Da=new WeakMap,Ma=new WeakMap,Pa=new WeakMap,$a=new WeakMap,Ua=new WeakMap,Kr=new WeakMap,fn=new WeakSet,Nv=function(e){c(this,Ll)||(p(this,Ll,!0),Promise.resolve().then(()=>(cv(),av)).then(({Presenter:n})=>Promise.resolve().then(()=>(aa(),ly)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,or))return;p(this,Il,r.getPresenterSettings);let i={};e.pace!==void 0&&(i.paceMs=e.pace),e.narrationDwellMs!==void 0&&(i.narrationDwellMs=e.narrationDwellMs),e.border!==void 0&&(i.border=e.border),e.logMax!==void 0&&(i.logMax=e.logMax),e.endedFadeMs!==void 0&&(i.endedFadeMs=e.endedFadeMs),e.idleEndMs!==void 0&&(i.idleEndMs=e.idleEndMs),i.sessionId=c(this,Wi),i.onControl=a=>c(this,sr).call(this,b.HUMAN_CONTROL,a.text!==void 0?{kind:a.kind,text:a.text}:{kind:a.kind}),i.onHudUse=a=>c(this,sr).call(this,b.HUD_USED,{...a});let s=new n(i);p(this,Se,s),s.mount();for(let a of c(this,Ia).values())s.handlePush(a);c(this,Ia).clear(),Promise.resolve().then(()=>(Rv(),yv)).then(a=>{if(!c(this,or))return;let l=a.mountTour({document,storage:a.safeLocalStorage(),projectId:vv(window.location.search).projectId??window.location.origin,isDriving:()=>Me.IDLE!==s.mode,search:window.location.search,navigator,copy:d=>navigator.clipboard?.writeText(d).then(()=>!0,()=>!1)??!1,select:d=>{let u=window.getSelection();if(u===null)return;let f=document.createRange();f.selectNodeContents(d),u.removeAllRanges(),u.addRange(f)}});l!==void 0&&c(this,Ki).push(l.destroy)}),c(this,kl)&&s.sessionStart(),c(this,ir)!==void 0&&s.bindAnnotator(c(this,ir))}).catch(()=>{}))},sr=new WeakMap,Ov=function(e){jE(GE(e,Kn)),p(this,Ua,VE(e))},wv=function(){return{kind:ft.HELLO,protocolVersion:ql,sessionId:c(this,Wi),...c(this,$a)===void 0?{}:{projectId:c(this,$a)},url:location.href,title:document.title,adapters:Md(),...c(this,ka)===void 0?{}:{token:c(this,ka)},hasCapabilities:Ld(),channels:aS(),platform:cS(),commands:lS(),captureBodies:c(this,Ma),...c(this,Pa)===void 0?{}:{sourceMapping:c(this,Pa)},...c(this,Da)===void 0?{}:{sdkVersion:c(this,Da)},contract:Ef,contractParts:{commands:[...sc.commands],events:[...sc.events],actions:[...sc.actions]},...c(this,Ua).length===0?{}:{redactKeys:c(this,Ua)}}},Cv=async function(e){if(e.name===C.NARRATE)return c(this,Se)?.sessionStart(),c(this,Se)?.narrate(An(e.args.text),An(e.args.level,"info")),{ok:!0,result:{shown:c(this,Se)!==void 0}};if(e.name===C.SESSION_CONFIG){let r=e.args.idleEndMs;return typeof r=="number"&&c(this,Se)?.setIdleEndMs(r),{ok:!0,result:{applied:c(this,Se)!==void 0,idleEndMs:r}}}if(e.name===C.PRESENTER||e.name===C.FLOWS||e.name===C.IMPACT)return c(this,Se)===void 0?(c(this,Ia).set(e.name,e),{ok:!0,result:{applied:!1,buffered:!0}}):(c(this,Se).handlePush(e),{ok:!0,result:{applied:!0}});let n=c(this,wl).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};c(this,Se)?.sessionStart(),await h(this,fn,Iv).call(this,e);try{let r=await n(e.args);return c(this,Kr)?.result(Pt.PASS),{ok:!0,result:r}}catch(r){return c(this,Kr)?.result(Pt.FAIL),{ok:!1,error:r instanceof Error?r.message:String(r)}}finally{p(this,Kr,void 0),c(this,Se)?.scheduleIdle()}},Iv=async function(e){let n=c(this,Se);if(n!==void 0)if(n.setMode(lx(e.name)),p(this,Kr,void 0),e.name===C.ACT){let r=An(e.args.ref),i=su(r);p(this,Kr,n.log(Ke.ACT,`${Pc(An(e.args.action))} ${i}`)),await n.beforeAct(r,An(e.args.action),i)}else if(e.name===C.ACT_SEQUENCE){let r=Array.isArray(e.args.steps)?e.args.steps:[];for(let i of r){let s=i,a=An(s.ref),l=su(a);p(this,Kr,n.log(Ke.ACT,`${Pc(An(s.action))} ${l}`)),await n.beforeAct(a,An(s.action),l)}}else{let r=dx(e.name,e.args);n.status(r),n.log(Ke.READ,r)}};var Jm=globalThis,np=Jm.__reticleInstance??(Jm.__reticleInstance=new Ha);D();et();ii();oi();_c();oi();function Dv(t){try{return eg(t,new WeakMap)}catch{return t}}function eg(t,e){if(typeof t!="object"||t===null)return t;let n=e.get(t);if(n!==void 0)return n;if(Array.isArray(t)){let s=[];e.set(t,s);for(let a of t)s.push(eg(a,e));return s}let r=Object.getPrototypeOf(t);if(r!==Object.prototype&&r!==null)return t;let i={};e.set(t,i);for(let[s,a]of Object.entries(t))i[s]=eg(a,e);return i}function Mv(t){let e={getState:()=>{let n={};for(let r of t.getQueryCache().getAll()){let i=r.queryKey.map(s=>String(s)).join("/");n[i]={status:r.state.status,fetchStatus:r.state.fetchStatus,isStale:r.isStale?.(),dataUpdatedAt:r.state.dataUpdatedAt,error:r.state.error?.message??null,data:r.state.data}}return n},subscribe:n=>t.getQueryCache().subscribe(n)};return wd(e,t),e}function Pv(t,e){return{getState:()=>{let n={};for(let[r,i]of Object.entries(e))n[r]=t.get(i);return n},subscribe:n=>{let r=Object.values(e).map(i=>t.sub(i,n));return()=>{for(let i of r)i()}}}}function $v(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function Uv(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function Hv(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var Lv={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function b5(t){if(t.state===Lv.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==Lv.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function Fv(t,e,n){return{getState:()=>{let r=e(),i={};for(let[s,a]of Object.entries(t))i[s]=b5(r.getLoadable(a));return i},subscribe:n}}function kv(t){if(typeof t=="function"){t();return}t.unsubscribe()}function Bv(t,e=Kn){let n=!1;return{getState:()=>{let r,i=!1;return kv(t.subscribe(s=>{r=Dv(s),i=!0})),!i&&!n&&(n=!0,e("[reticle] a store passed to svelteStore did not call its subscriber synchronously, so its current value cannot be read. reticle_state will report undefined for it. Svelte stores always call back immediately; an RxJS Observable does not unless it is a BehaviorSubject.")),r},subscribe:r=>{let i=!0,s=t.subscribe(()=>{i||r()});return i=!1,()=>kv(s)}}}var T5={detached:!0,flush:"sync"};function Gv(t){return{getState:()=>Dv(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...T5})}}function jv(t){let e=t,n=new Set;return{store:{getState:()=>e,subscribe:i=>(n.add(i),()=>n.delete(i))},push:i=>{e=i;for(let s of n)s()}}}io();function Vv(t={}){let e=t.target??np;return{signal(n,r={}){e.connected&&e.signal(n,r)},state(n,r){e.connected&&e.state(n,r)}}}function Kv(t,e,n,r){let i=e();return t.signal(n,r),i}io();function Wv(t){let e={};t.testids!==void 0&&(e.testids=[...t.testids]),t.signals!==void 0&&(e.signals=[...t.signals]),t.stores!==void 0&&(e.stores=[...t.stores]),Cs(e)}vf();Mt();gt();Lh();Sh();return n0(_5);})();
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;