jat-feedback 3.0.3 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/jat-feedback.css +1 -0
- package/dist/jat-feedback.js +157 -101
- package/dist/jat-feedback.mjs +13606 -7644
- package/package.json +2 -1
- package/supabase/migrations/3.2.0_recording_storage.sql +30 -0
package/dist/jat-feedback.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var Cr=Object.defineProperty;var pr=Re=>{throw TypeError(Re)};var zr=(Re,Me,qe)=>Me in Re?Cr(Re,Me,{enumerable:!0,configurable:!0,writable:!0,value:qe}):Re[Me]=qe;var re=(Re,Me,qe)=>zr(Re,typeof Me!="symbol"?Me+"":Me,qe),tr=(Re,Me,qe)=>Me.has(Re)||pr("Cannot "+qe);var T=(Re,Me,qe)=>(tr(Re,Me,"read from private field"),qe?qe.call(Re):Me.get(Re)),ge=(Re,Me,qe)=>Me.has(Re)?pr("Cannot add the same private member more than once"):Me instanceof WeakSet?Me.add(Re):Me.set(Re,qe),de=(Re,Me,qe,Lt)=>(tr(Re,Me,"write to private field"),Lt?Lt.call(Re,qe):Me.set(Re,qe),qe),Xe=(Re,Me,qe)=>(tr(Re,Me,"access private method"),qe);(function(){"use strict";var Re,Me,qe,Lt,cn,Kt,un,mn,bn,Jt,Mt,dn,xt,nr,rr,hr,ut,yn,kt,Qt,Et,ht,it,$t,Pt,qt,en,Ft,fn,tn,pn,hn,Dt,On,We,gr,vr,or,Fn,Dn,sr,ir,ar,mt,Tt,dt,nn,wn,xn,Ln,Zt,gt,lr;const PUBLIC_VERSION="5";typeof window<"u"&&((Re=window.__svelte??(window.__svelte={})).v??(Re.v=new Set)).add("5");const EACH_ITEM_REACTIVE=1,EACH_INDEX_REACTIVE=2,EACH_IS_CONTROLLED=4,EACH_IS_ANIMATED=8,EACH_ITEM_IMMUTABLE=16,PROPS_IS_IMMUTABLE=1,PROPS_IS_UPDATED=4,PROPS_IS_BINDABLE=8,PROPS_IS_LAZY_INITIAL=16,TRANSITION_GLOBAL=4,TEMPLATE_FRAGMENT=1,TEMPLATE_USE_IMPORT_NODE=2,HYDRATION_START="[",HYDRATION_START_ELSE="[!",HYDRATION_END="]",HYDRATION_ERROR={},UNINITIALIZED=Symbol(),NAMESPACE_HTML="http://www.w3.org/1999/xhtml",DEV=!1;var is_array=Array.isArray,index_of=Array.prototype.indexOf,includes=Array.prototype.includes,array_from=Array.from,object_keys=Object.keys,define_property=Object.defineProperty,get_descriptor=Object.getOwnPropertyDescriptor,get_descriptors=Object.getOwnPropertyDescriptors,object_prototype=Object.prototype,array_prototype=Array.prototype,get_prototype_of=Object.getPrototypeOf,is_extensible=Object.isExtensible;function is_function(e){return typeof e=="function"}const noop=()=>{};function run_all(e){for(var t=0;t<e.length;t++)e[t]()}function deferred(){var e,t,n=new Promise((r,o)=>{e=r,t=o});return{promise:n,resolve:e,reject:t}}const DERIVED=2,EFFECT=4,RENDER_EFFECT=8,MANAGED_EFFECT=1<<24,BLOCK_EFFECT=16,BRANCH_EFFECT=32,ROOT_EFFECT=64,BOUNDARY_EFFECT=128,CONNECTED=512,CLEAN=1024,DIRTY=2048,MAYBE_DIRTY=4096,INERT=8192,DESTROYED=16384,REACTION_RAN=32768,EFFECT_TRANSPARENT=65536,EAGER_EFFECT=1<<17,HEAD_EFFECT=1<<18,EFFECT_PRESERVED=1<<19,USER_EFFECT=1<<20,EFFECT_OFFSCREEN=1<<25,WAS_MARKED=65536,REACTION_IS_UPDATING=1<<21,ASYNC=1<<22,ERROR_VALUE=1<<23,STATE_SYMBOL=Symbol("$state"),LEGACY_PROPS=Symbol("legacy props"),LOADING_ATTR_SYMBOL=Symbol(""),STALE_REACTION=new class extends Error{constructor(){super(...arguments);re(this,"name","StaleReactionError");re(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},IS_XHTML=((qe=(Me=globalThis.document)==null?void 0:Me.contentType)==null?void 0:qe.includes("xml"))??!1,TEXT_NODE=3,COMMENT_NODE=8;function lifecycle_outside_component(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function async_derived_orphan(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function each_key_duplicate(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function effect_in_teardown(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function effect_in_unowned_derived(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function effect_orphan(e){throw new Error("https://svelte.dev/e/effect_orphan")}function effect_update_depth_exceeded(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function hydration_failed(){throw new Error("https://svelte.dev/e/hydration_failed")}function props_invalid_value(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function state_descriptors_fixed(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function state_prototype_fixed(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function state_unsafe_mutation(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function svelte_boundary_reset_onerror(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function hydration_mismatch(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function select_multiple_invalid_value(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function svelte_boundary_reset_noop(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let hydrating=!1;function set_hydrating(e){hydrating=e}let hydrate_node;function set_hydrate_node(e){if(e===null)throw hydration_mismatch(),HYDRATION_ERROR;return hydrate_node=e}function hydrate_next(){return set_hydrate_node(get_next_sibling(hydrate_node))}function reset(e){if(hydrating){if(get_next_sibling(hydrate_node)!==null)throw hydration_mismatch(),HYDRATION_ERROR;hydrate_node=e}}function next(e=1){if(hydrating){for(var t=e,n=hydrate_node;t--;)n=get_next_sibling(n);hydrate_node=n}}function skip_nodes(e=!0){for(var t=0,n=hydrate_node;;){if(n.nodeType===COMMENT_NODE){var r=n.data;if(r===HYDRATION_END){if(t===0)return n;t-=1}else(r===HYDRATION_START||r===HYDRATION_START_ELSE||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var o=get_next_sibling(n);e&&n.remove(),n=o}}function read_hydration_instruction(e){if(!e||e.nodeType!==COMMENT_NODE)throw hydration_mismatch(),HYDRATION_ERROR;return e.data}function equals(e){return e===this.v}function safe_not_equal(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function safe_equals(e){return!safe_not_equal(e,this.v)}let tracing_mode_flag=!1,component_context=null;function set_component_context(e){component_context=e}function push(e,t=!1,n){component_context={p:component_context,i:!1,c:null,e:null,s:e,x:null,l:null}}function pop(e){var t=component_context,n=t.e;if(n!==null){t.e=null;for(var r of n)create_user_effect(r)}return e!==void 0&&(t.x=e),t.i=!0,component_context=t.p,e??{}}function is_runes(){return!0}let micro_tasks=[];function run_micro_tasks(){var e=micro_tasks;micro_tasks=[],run_all(e)}function queue_micro_task(e){if(micro_tasks.length===0&&!is_flushing_sync){var t=micro_tasks;queueMicrotask(()=>{t===micro_tasks&&run_micro_tasks()})}micro_tasks.push(e)}function flush_tasks(){for(;micro_tasks.length>0;)run_micro_tasks()}function handle_error(e){var t=active_effect;if(t===null)return active_reaction.f|=ERROR_VALUE,e;if((t.f&REACTION_RAN)===0&&(t.f&EFFECT)===0)throw e;invoke_error_boundary(e,t)}function invoke_error_boundary(e,t){for(;t!==null;){if((t.f&BOUNDARY_EFFECT)!==0){if((t.f&REACTION_RAN)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const STATUS_MASK=-7169;function set_signal_status(e,t){e.f=e.f&STATUS_MASK|t}function update_derived_status(e){(e.f&CONNECTED)!==0||e.deps===null?set_signal_status(e,CLEAN):set_signal_status(e,MAYBE_DIRTY)}function clear_marked(e){if(e!==null)for(const t of e)(t.f&DERIVED)===0||(t.f&WAS_MARKED)===0||(t.f^=WAS_MARKED,clear_marked(t.deps))}function defer_effect(e,t,n){(e.f&DIRTY)!==0?t.add(e):(e.f&MAYBE_DIRTY)!==0&&n.add(e),clear_marked(e.deps),set_signal_status(e,CLEAN)}const batches=new Set;let current_batch=null,previous_batch=null,batch_values=null,queued_root_effects=[],last_scheduled_effect=null,is_flushing=!1,is_flushing_sync=!1;const Zn=class Zn{constructor(){ge(this,xt);re(this,"committed",!1);re(this,"current",new Map);re(this,"previous",new Map);ge(this,Lt,new Set);ge(this,cn,new Set);ge(this,Kt,0);ge(this,un,0);ge(this,mn,null);ge(this,bn,new Set);ge(this,Jt,new Set);ge(this,Mt,new Map);re(this,"is_fork",!1);ge(this,dn,!1)}is_deferred(){return this.is_fork||T(this,un)>0}skip_effect(t){T(this,Mt).has(t)||T(this,Mt).set(t,{d:[],m:[]})}unskip_effect(t){var n=T(this,Mt).get(t);if(n){T(this,Mt).delete(t);for(var r of n.d)set_signal_status(r,DIRTY),schedule_effect(r);for(r of n.m)set_signal_status(r,MAYBE_DIRTY),schedule_effect(r)}}process(t){var o;queued_root_effects=[],this.apply();var n=[],r=[];for(const s of t)Xe(this,xt,nr).call(this,s,n,r);if(this.is_deferred()){Xe(this,xt,rr).call(this,r),Xe(this,xt,rr).call(this,n);for(const[s,i]of T(this,Mt))reset_branch(s,i)}else{for(const s of T(this,Lt))s();T(this,Lt).clear(),T(this,Kt)===0&&Xe(this,xt,hr).call(this),previous_batch=this,current_batch=null,flush_queued_effects(r),flush_queued_effects(n),previous_batch=null,(o=T(this,mn))==null||o.resolve()}batch_values=null}capture(t,n){n!==UNINITIALIZED&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&ERROR_VALUE)===0&&(this.current.set(t,t.v),batch_values==null||batch_values.set(t,t.v))}activate(){current_batch=this,this.apply()}deactivate(){current_batch===this&&(current_batch=null,batch_values=null)}flush(){if(this.activate(),queued_root_effects.length>0){if(flush_effects(),current_batch!==null&¤t_batch!==this)return}else T(this,Kt)===0&&this.process([]);this.deactivate()}discard(){for(const t of T(this,cn))t(this);T(this,cn).clear()}increment(t){de(this,Kt,T(this,Kt)+1),t&&de(this,un,T(this,un)+1)}decrement(t){de(this,Kt,T(this,Kt)-1),t&&de(this,un,T(this,un)-1),!T(this,dn)&&(de(this,dn,!0),queue_micro_task(()=>{de(this,dn,!1),this.is_deferred()?queued_root_effects.length>0&&this.flush():this.revive()}))}revive(){for(const t of T(this,bn))T(this,Jt).delete(t),set_signal_status(t,DIRTY),schedule_effect(t);for(const t of T(this,Jt))set_signal_status(t,MAYBE_DIRTY),schedule_effect(t);this.flush()}oncommit(t){T(this,Lt).add(t)}ondiscard(t){T(this,cn).add(t)}settled(){return(T(this,mn)??de(this,mn,deferred())).promise}static ensure(){if(current_batch===null){const t=current_batch=new Zn;batches.add(current_batch),is_flushing_sync||queue_micro_task(()=>{current_batch===t&&t.flush()})}return current_batch}apply(){}};Lt=new WeakMap,cn=new WeakMap,Kt=new WeakMap,un=new WeakMap,mn=new WeakMap,bn=new WeakMap,Jt=new WeakMap,Mt=new WeakMap,dn=new WeakMap,xt=new WeakSet,nr=function(t,n,r){t.f^=CLEAN;for(var o=t.first,s=null;o!==null;){var i=o.f,a=(i&(BRANCH_EFFECT|ROOT_EFFECT))!==0,l=a&&(i&CLEAN)!==0,c=l||(i&INERT)!==0||T(this,Mt).has(o);if(!c&&o.fn!==null){a?o.f^=CLEAN:s!==null&&(i&(EFFECT|RENDER_EFFECT|MANAGED_EFFECT))!==0?s.b.defer_effect(o):(i&EFFECT)!==0?n.push(o):is_dirty(o)&&((i&BLOCK_EFFECT)!==0&&T(this,Jt).add(o),update_effect(o));var u=o.first;if(u!==null){o=u;continue}}var d=o.parent;for(o=o.next;o===null&&d!==null;)d===s&&(s=null),o=d.next,d=d.parent}},rr=function(t){for(var n=0;n<t.length;n+=1)defer_effect(t[n],T(this,bn),T(this,Jt))},hr=function(){var o;if(batches.size>1){this.previous.clear();var t=batch_values,n=!0;for(const s of batches){if(s===this){n=!1;continue}const i=[];for(const[l,c]of this.current){if(s.current.has(l))if(n&&c!==s.current.get(l))s.current.set(l,c);else continue;i.push(l)}if(i.length===0)continue;const a=[...s.current.keys()].filter(l=>!this.current.has(l));if(a.length>0){var r=queued_root_effects;queued_root_effects=[];const l=new Set,c=new Map;for(const u of i)mark_effects(u,a,l,c);if(queued_root_effects.length>0){current_batch=s,s.apply();for(const u of queued_root_effects)Xe(o=s,xt,nr).call(o,u,[],[]);s.deactivate()}queued_root_effects=r}}current_batch=null,batch_values=t}this.committed=!0,batches.delete(this)};let Batch=Zn;function flushSync(e){var t=is_flushing_sync;is_flushing_sync=!0;try{for(var n;;){if(flush_tasks(),queued_root_effects.length===0&&(current_batch==null||current_batch.flush(),queued_root_effects.length===0))return last_scheduled_effect=null,n;flush_effects()}}finally{is_flushing_sync=t}}function flush_effects(){is_flushing=!0;var e=null;try{for(var t=0;queued_root_effects.length>0;){var n=Batch.ensure();if(t++>1e3){var r,o;infinite_loop_guard()}n.process(queued_root_effects),old_values.clear()}}finally{queued_root_effects=[],is_flushing=!1,last_scheduled_effect=null}}function infinite_loop_guard(){try{effect_update_depth_exceeded()}catch(e){invoke_error_boundary(e,last_scheduled_effect)}}let eager_block_effects=null;function flush_queued_effects(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(DESTROYED|INERT))===0&&is_dirty(r)&&(eager_block_effects=new Set,update_effect(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&unlink_effect(r),(eager_block_effects==null?void 0:eager_block_effects.size)>0)){old_values.clear();for(const o of eager_block_effects){if((o.f&(DESTROYED|INERT))!==0)continue;const s=[o];let i=o.parent;for(;i!==null;)eager_block_effects.has(i)&&(eager_block_effects.delete(i),s.push(i)),i=i.parent;for(let a=s.length-1;a>=0;a--){const l=s[a];(l.f&(DESTROYED|INERT))===0&&update_effect(l)}}eager_block_effects.clear()}}eager_block_effects=null}}function mark_effects(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const o of e.reactions){const s=o.f;(s&DERIVED)!==0?mark_effects(o,t,n,r):(s&(ASYNC|BLOCK_EFFECT))!==0&&(s&DIRTY)===0&&depends_on(o,t,r)&&(set_signal_status(o,DIRTY),schedule_effect(o))}}function depends_on(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const o of e.deps){if(includes.call(t,o))return!0;if((o.f&DERIVED)!==0&&depends_on(o,t,n))return n.set(o,!0),!0}return n.set(e,!1),!1}function schedule_effect(e){for(var t=last_scheduled_effect=e;t.parent!==null;){t=t.parent;var n=t.f;if(is_flushing&&t===active_effect&&(n&BLOCK_EFFECT)!==0&&(n&HEAD_EFFECT)===0)return;if((n&(ROOT_EFFECT|BRANCH_EFFECT))!==0){if((n&CLEAN)===0)return;t.f^=CLEAN}}queued_root_effects.push(t)}function reset_branch(e,t){if(!((e.f&BRANCH_EFFECT)!==0&&(e.f&CLEAN)!==0)){(e.f&DIRTY)!==0?t.d.push(e):(e.f&MAYBE_DIRTY)!==0&&t.m.push(e),set_signal_status(e,CLEAN);for(var n=e.first;n!==null;)reset_branch(n,t),n=n.next}}function createSubscriber(e){let t=0,n=source(0),r;return()=>{effect_tracking()&&(get(n),render_effect(()=>(t===0&&(r=untrack(()=>e(()=>increment(n)))),t+=1,()=>{queue_micro_task(()=>{t-=1,t===0&&(r==null||r(),r=void 0,increment(n))})})))}}var flags=EFFECT_TRANSPARENT|EFFECT_PRESERVED|BOUNDARY_EFFECT;function boundary(e,t,n){new Boundary(e,t,n)}class Boundary{constructor(t,n,r){ge(this,We);re(this,"parent");re(this,"is_pending",!1);ge(this,ut);ge(this,yn,hydrating?hydrate_node:null);ge(this,kt);ge(this,Qt);ge(this,Et);ge(this,ht,null);ge(this,it,null);ge(this,$t,null);ge(this,Pt,null);ge(this,qt,null);ge(this,en,0);ge(this,Ft,0);ge(this,fn,!1);ge(this,tn,!1);ge(this,pn,new Set);ge(this,hn,new Set);ge(this,Dt,null);ge(this,On,createSubscriber(()=>(de(this,Dt,source(T(this,en))),()=>{de(this,Dt,null)})));de(this,ut,t),de(this,kt,n),de(this,Qt,r),this.parent=active_effect.b,this.is_pending=!!T(this,kt).pending,de(this,Et,block(()=>{if(active_effect.b=this,hydrating){const s=T(this,yn);hydrate_next(),s.nodeType===COMMENT_NODE&&s.data===HYDRATION_START_ELSE?Xe(this,We,vr).call(this):(Xe(this,We,gr).call(this),T(this,Ft)===0&&(this.is_pending=!1))}else{var o=Xe(this,We,or).call(this);try{de(this,ht,branch(()=>r(o)))}catch(s){this.error(s)}T(this,Ft)>0?Xe(this,We,Dn).call(this):this.is_pending=!1}return()=>{var s;(s=T(this,qt))==null||s.remove()}},flags)),hydrating&&de(this,ut,hydrate_node)}defer_effect(t){defer_effect(t,T(this,pn),T(this,hn))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!T(this,kt).pending}update_pending_count(t){Xe(this,We,sr).call(this,t),de(this,en,T(this,en)+t),!(!T(this,Dt)||T(this,fn))&&(de(this,fn,!0),queue_micro_task(()=>{de(this,fn,!1),T(this,Dt)&&internal_set(T(this,Dt),T(this,en))}))}get_effect_pending(){return T(this,On).call(this),get(T(this,Dt))}error(t){var n=T(this,kt).onerror;let r=T(this,kt).failed;if(T(this,tn)||!n&&!r)throw t;T(this,ht)&&(destroy_effect(T(this,ht)),de(this,ht,null)),T(this,it)&&(destroy_effect(T(this,it)),de(this,it,null)),T(this,$t)&&(destroy_effect(T(this,$t)),de(this,$t,null)),hydrating&&(set_hydrate_node(T(this,yn)),next(),set_hydrate_node(skip_nodes()));var o=!1,s=!1;const i=()=>{if(o){svelte_boundary_reset_noop();return}o=!0,s&&svelte_boundary_reset_onerror(),Batch.ensure(),de(this,en,0),T(this,$t)!==null&&pause_effect(T(this,$t),()=>{de(this,$t,null)}),this.is_pending=this.has_pending_snippet(),de(this,ht,Xe(this,We,Fn).call(this,()=>(de(this,tn,!1),branch(()=>T(this,Qt).call(this,T(this,ut)))))),T(this,Ft)>0?Xe(this,We,Dn).call(this):this.is_pending=!1};queue_micro_task(()=>{try{s=!0,n==null||n(t,i),s=!1}catch(a){invoke_error_boundary(a,T(this,Et)&&T(this,Et).parent)}r&&de(this,$t,Xe(this,We,Fn).call(this,()=>{Batch.ensure(),de(this,tn,!0);try{return branch(()=>{r(T(this,ut),()=>t,()=>i)})}catch(a){return invoke_error_boundary(a,T(this,Et).parent),null}finally{de(this,tn,!1)}}))})}}ut=new WeakMap,yn=new WeakMap,kt=new WeakMap,Qt=new WeakMap,Et=new WeakMap,ht=new WeakMap,it=new WeakMap,$t=new WeakMap,Pt=new WeakMap,qt=new WeakMap,en=new WeakMap,Ft=new WeakMap,fn=new WeakMap,tn=new WeakMap,pn=new WeakMap,hn=new WeakMap,Dt=new WeakMap,On=new WeakMap,We=new WeakSet,gr=function(){try{de(this,ht,branch(()=>T(this,Qt).call(this,T(this,ut))))}catch(t){this.error(t)}},vr=function(){const t=T(this,kt).pending;t&&(de(this,it,branch(()=>t(T(this,ut)))),queue_micro_task(()=>{var n=Xe(this,We,or).call(this);de(this,ht,Xe(this,We,Fn).call(this,()=>(Batch.ensure(),branch(()=>T(this,Qt).call(this,n))))),T(this,Ft)>0?Xe(this,We,Dn).call(this):(pause_effect(T(this,it),()=>{de(this,it,null)}),this.is_pending=!1)}))},or=function(){var t=T(this,ut);return this.is_pending&&(de(this,qt,create_text()),T(this,ut).before(T(this,qt)),t=T(this,qt)),t},Fn=function(t){var n=active_effect,r=active_reaction,o=component_context;set_active_effect(T(this,Et)),set_active_reaction(T(this,Et)),set_component_context(T(this,Et).ctx);try{return t()}catch(s){return handle_error(s),null}finally{set_active_effect(n),set_active_reaction(r),set_component_context(o)}},Dn=function(){const t=T(this,kt).pending;T(this,ht)!==null&&(de(this,Pt,document.createDocumentFragment()),T(this,Pt).append(T(this,qt)),move_effect(T(this,ht),T(this,Pt))),T(this,it)===null&&de(this,it,branch(()=>t(T(this,ut))))},sr=function(t){var n;if(!this.has_pending_snippet()){this.parent&&Xe(n=this.parent,We,sr).call(n,t);return}if(de(this,Ft,T(this,Ft)+t),T(this,Ft)===0){this.is_pending=!1;for(const r of T(this,pn))set_signal_status(r,DIRTY),schedule_effect(r);for(const r of T(this,hn))set_signal_status(r,MAYBE_DIRTY),schedule_effect(r);T(this,pn).clear(),T(this,hn).clear(),T(this,it)&&pause_effect(T(this,it),()=>{de(this,it,null)}),T(this,Pt)&&(T(this,ut).before(T(this,Pt)),de(this,Pt,null))}};function flatten(e,t,n,r){const o=derived;var s=e.filter(f=>!f.settled);if(n.length===0&&s.length===0){r(t.map(o));return}var i=current_batch,a=active_effect,l=capture(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(f=>f.promise)):null;function u(f){l();try{r(f)}catch(v){(a.f&DESTROYED)===0&&invoke_error_boundary(v,a)}i==null||i.deactivate(),unset_context()}if(n.length===0){c.then(()=>u(t.map(o)));return}function d(){l(),Promise.all(n.map(f=>async_derived(f))).then(f=>u([...t.map(o),...f])).catch(f=>invoke_error_boundary(f,a))}c?c.then(d):d()}function capture(){var e=active_effect,t=active_reaction,n=component_context,r=current_batch;return function(s=!0){set_active_effect(e),set_active_reaction(t),set_component_context(n),s&&(r==null||r.activate())}}function unset_context(){set_active_effect(null),set_active_reaction(null),set_component_context(null)}function derived(e){var t=DERIVED|DIRTY,n=active_reaction!==null&&(active_reaction.f&DERIVED)!==0?active_reaction:null;return active_effect!==null&&(active_effect.f|=EFFECT_PRESERVED),{ctx:component_context,deps:null,effects:null,equals,f:t,fn:e,reactions:null,rv:0,v:UNINITIALIZED,wv:0,parent:n??active_effect,ac:null}}function async_derived(e,t,n){let r=active_effect;r===null&&async_derived_orphan();var o=r.b,s=void 0,i=source(UNINITIALIZED),a=!active_reaction,l=new Map;return async_effect(()=>{var v;var c=deferred();s=c.promise;try{Promise.resolve(e()).then(c.resolve,c.reject).then(()=>{u===current_batch&&u.committed&&u.deactivate(),unset_context()})}catch(_){c.reject(_),unset_context()}var u=current_batch;if(a){var d=o.is_rendered();o.update_pending_count(1),u.increment(d),(v=l.get(u))==null||v.reject(STALE_REACTION),l.delete(u),l.set(u,c)}const f=(_,y=void 0)=>{if(u.activate(),y)y!==STALE_REACTION&&(i.f|=ERROR_VALUE,internal_set(i,y));else{(i.f&ERROR_VALUE)!==0&&(i.f^=ERROR_VALUE),internal_set(i,_);for(const[h,p]of l){if(l.delete(h),h===u)break;p.reject(STALE_REACTION)}}a&&(o.update_pending_count(-1),u.decrement(d))};c.promise.then(f,_=>f(null,_||"unknown"))}),teardown(()=>{for(const c of l.values())c.reject(STALE_REACTION)}),new Promise(c=>{function u(d){function f(){d===s?c(i):u(s)}d.then(f,f)}u(s)})}function user_derived(e){const t=derived(e);return push_reaction_value(t),t}function derived_safe_equal(e){const t=derived(e);return t.equals=safe_equals,t}function destroy_derived_effects(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)destroy_effect(t[n])}}function get_derived_parent_effect(e){for(var t=e.parent;t!==null;){if((t.f&DERIVED)===0)return(t.f&DESTROYED)===0?t:null;t=t.parent}return null}function execute_derived(e){var t,n=active_effect;set_active_effect(get_derived_parent_effect(e));try{e.f&=~WAS_MARKED,destroy_derived_effects(e),t=update_reaction(e)}finally{set_active_effect(n)}return t}function update_derived(e){var t=execute_derived(e);if(!e.equals(t)&&(e.wv=increment_write_version(),(!(current_batch!=null&¤t_batch.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){set_signal_status(e,CLEAN);return}is_destroying_effect||(batch_values!==null?(effect_tracking()||current_batch!=null&¤t_batch.is_fork)&&batch_values.set(e,t):update_derived_status(e))}function freeze_derived_effects(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort(STALE_REACTION),r.teardown=noop,r.ac=null,remove_reactions(r,0),destroy_effect_children(r))}function unfreeze_derived_effects(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&update_effect(t)}let eager_effects=new Set;const old_values=new Map;let eager_effects_deferred=!1;function source(e,t){var n={f:0,v:e,reactions:null,equals,rv:0,wv:0};return n}function state(e,t){const n=source(e);return push_reaction_value(n),n}function mutable_source(e,t=!1,n=!0){const r=source(e);return t||(r.equals=safe_equals),r}function set(e,t,n=!1){active_reaction!==null&&(!untracking||(active_reaction.f&EAGER_EFFECT)!==0)&&is_runes()&&(active_reaction.f&(DERIVED|BLOCK_EFFECT|ASYNC|EAGER_EFFECT))!==0&&(current_sources===null||!includes.call(current_sources,e))&&state_unsafe_mutation();let r=n?proxy(t):t;return internal_set(e,r)}function internal_set(e,t){if(!e.equals(t)){var n=e.v;is_destroying_effect?old_values.set(e,t):old_values.set(e,n),e.v=t;var r=Batch.ensure();if(r.capture(e,n),(e.f&DERIVED)!==0){const o=e;(e.f&DIRTY)!==0&&execute_derived(o),update_derived_status(o)}e.wv=increment_write_version(),mark_reactions(e,DIRTY),active_effect!==null&&(active_effect.f&CLEAN)!==0&&(active_effect.f&(BRANCH_EFFECT|ROOT_EFFECT))===0&&(untracked_writes===null?set_untracked_writes([e]):untracked_writes.push(e)),!r.is_fork&&eager_effects.size>0&&!eager_effects_deferred&&flush_eager_effects()}return t}function flush_eager_effects(){eager_effects_deferred=!1;for(const e of eager_effects)(e.f&CLEAN)!==0&&set_signal_status(e,MAYBE_DIRTY),is_dirty(e)&&update_effect(e);eager_effects.clear()}function increment(e){set(e,e.v+1)}function mark_reactions(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,o=0;o<r;o++){var s=n[o],i=s.f,a=(i&DIRTY)===0;if(a&&set_signal_status(s,t),(i&DERIVED)!==0){var l=s;batch_values==null||batch_values.delete(l),(i&WAS_MARKED)===0&&(i&CONNECTED&&(s.f|=WAS_MARKED),mark_reactions(l,MAYBE_DIRTY))}else a&&((i&BLOCK_EFFECT)!==0&&eager_block_effects!==null&&eager_block_effects.add(s),schedule_effect(s))}}function proxy(e){if(typeof e!="object"||e===null||STATE_SYMBOL in e)return e;const t=get_prototype_of(e);if(t!==object_prototype&&t!==array_prototype)return e;var n=new Map,r=is_array(e),o=state(0),s=update_version,i=a=>{if(update_version===s)return a();var l=active_reaction,c=update_version;set_active_reaction(null),set_update_version(s);var u=a();return set_active_reaction(l),set_update_version(c),u};return r&&n.set("length",state(e.length)),new Proxy(e,{defineProperty(a,l,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&state_descriptors_fixed();var u=n.get(l);return u===void 0?i(()=>{var d=state(c.value);return n.set(l,d),d}):set(u,c.value,!0),!0},deleteProperty(a,l){var c=n.get(l);if(c===void 0){if(l in a){const u=i(()=>state(UNINITIALIZED));n.set(l,u),increment(o)}}else set(c,UNINITIALIZED),increment(o);return!0},get(a,l,c){var v;if(l===STATE_SYMBOL)return e;var u=n.get(l),d=l in a;if(u===void 0&&(!d||(v=get_descriptor(a,l))!=null&&v.writable)&&(u=i(()=>{var _=proxy(d?a[l]:UNINITIALIZED),y=state(_);return y}),n.set(l,u)),u!==void 0){var f=get(u);return f===UNINITIALIZED?void 0:f}return Reflect.get(a,l,c)},getOwnPropertyDescriptor(a,l){var c=Reflect.getOwnPropertyDescriptor(a,l);if(c&&"value"in c){var u=n.get(l);u&&(c.value=get(u))}else if(c===void 0){var d=n.get(l),f=d==null?void 0:d.v;if(d!==void 0&&f!==UNINITIALIZED)return{enumerable:!0,configurable:!0,value:f,writable:!0}}return c},has(a,l){var f;if(l===STATE_SYMBOL)return!0;var c=n.get(l),u=c!==void 0&&c.v!==UNINITIALIZED||Reflect.has(a,l);if(c!==void 0||active_effect!==null&&(!u||(f=get_descriptor(a,l))!=null&&f.writable)){c===void 0&&(c=i(()=>{var v=u?proxy(a[l]):UNINITIALIZED,_=state(v);return _}),n.set(l,c));var d=get(c);if(d===UNINITIALIZED)return!1}return u},set(a,l,c,u){var m;var d=n.get(l),f=l in a;if(r&&l==="length")for(var v=c;v<d.v;v+=1){var _=n.get(v+"");_!==void 0?set(_,UNINITIALIZED):v in a&&(_=i(()=>state(UNINITIALIZED)),n.set(v+"",_))}if(d===void 0)(!f||(m=get_descriptor(a,l))!=null&&m.writable)&&(d=i(()=>state(void 0)),set(d,proxy(c)),n.set(l,d));else{f=d.v!==UNINITIALIZED;var y=i(()=>proxy(c));set(d,y)}var h=Reflect.getOwnPropertyDescriptor(a,l);if(h!=null&&h.set&&h.set.call(u,c),!f){if(r&&typeof l=="string"){var p=n.get("length"),b=Number(l);Number.isInteger(b)&&b>=p.v&&set(p,b+1)}increment(o)}return!0},ownKeys(a){get(o);var l=Reflect.ownKeys(a).filter(d=>{var f=n.get(d);return f===void 0||f.v!==UNINITIALIZED});for(var[c,u]of n)u.v!==UNINITIALIZED&&!(c in a)&&l.push(c);return l},setPrototypeOf(){state_prototype_fixed()}})}function get_proxied_value(e){try{if(e!==null&&typeof e=="object"&&STATE_SYMBOL in e)return e[STATE_SYMBOL]}catch{}return e}function is(e,t){return Object.is(get_proxied_value(e),get_proxied_value(t))}var $window,is_firefox,first_child_getter,next_sibling_getter;function init_operations(){if($window===void 0){$window=window,is_firefox=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;first_child_getter=get_descriptor(t,"firstChild").get,next_sibling_getter=get_descriptor(t,"nextSibling").get,is_extensible(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),is_extensible(n)&&(n.__t=void 0)}}function create_text(e=""){return document.createTextNode(e)}function get_first_child(e){return first_child_getter.call(e)}function get_next_sibling(e){return next_sibling_getter.call(e)}function child(e,t){if(!hydrating)return get_first_child(e);var n=get_first_child(hydrate_node);if(n===null)n=hydrate_node.appendChild(create_text());else if(t&&n.nodeType!==TEXT_NODE){var r=create_text();return n==null||n.before(r),set_hydrate_node(r),r}return t&&merge_text_nodes(n),set_hydrate_node(n),n}function first_child(e,t=!1){if(!hydrating){var n=get_first_child(e);return n instanceof Comment&&n.data===""?get_next_sibling(n):n}if(t){if((hydrate_node==null?void 0:hydrate_node.nodeType)!==TEXT_NODE){var r=create_text();return hydrate_node==null||hydrate_node.before(r),set_hydrate_node(r),r}merge_text_nodes(hydrate_node)}return hydrate_node}function sibling(e,t=1,n=!1){let r=hydrating?hydrate_node:e;for(var o;t--;)o=r,r=get_next_sibling(r);if(!hydrating)return r;if(n){if((r==null?void 0:r.nodeType)!==TEXT_NODE){var s=create_text();return r===null?o==null||o.after(s):r.before(s),set_hydrate_node(s),s}merge_text_nodes(r)}return set_hydrate_node(r),r}function clear_text_content(e){e.textContent=""}function should_defer_append(){return!1}function create_element(e,t,n){return document.createElementNS(NAMESPACE_HTML,e,void 0)}function merge_text_nodes(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===TEXT_NODE;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function remove_textarea_child(e){hydrating&&get_first_child(e)!==null&&clear_text_content(e)}let listening_to_form_reset=!1;function add_form_reset_listener(){listening_to_form_reset||(listening_to_form_reset=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function without_reactive_context(e){var t=active_reaction,n=active_effect;set_active_reaction(null),set_active_effect(null);try{return e()}finally{set_active_reaction(t),set_active_effect(n)}}function listen_to_event_and_reset_event(e,t,n,r=n){e.addEventListener(t,()=>without_reactive_context(n));const o=e.__on_r;o?e.__on_r=()=>{o(),r(!0)}:e.__on_r=()=>r(!0),add_form_reset_listener()}function validate_effect(e){active_effect===null&&(active_reaction===null&&effect_orphan(),effect_in_unowned_derived()),is_destroying_effect&&effect_in_teardown()}function push_effect(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function create_effect(e,t,n){var r=active_effect;r!==null&&(r.f&INERT)!==0&&(e|=INERT);var o={ctx:component_context,deps:null,nodes:null,f:e|DIRTY|CONNECTED,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{update_effect(o)}catch(a){throw destroy_effect(o),a}else t!==null&&schedule_effect(o);var s=o;if(n&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&EFFECT_PRESERVED)===0&&(s=s.first,(e&BLOCK_EFFECT)!==0&&(e&EFFECT_TRANSPARENT)!==0&&s!==null&&(s.f|=EFFECT_TRANSPARENT)),s!==null&&(s.parent=r,r!==null&&push_effect(s,r),active_reaction!==null&&(active_reaction.f&DERIVED)!==0&&(e&ROOT_EFFECT)===0)){var i=active_reaction;(i.effects??(i.effects=[])).push(s)}return o}function effect_tracking(){return active_reaction!==null&&!untracking}function teardown(e){const t=create_effect(RENDER_EFFECT,null,!1);return set_signal_status(t,CLEAN),t.teardown=e,t}function user_effect(e){validate_effect();var t=active_effect.f,n=!active_reaction&&(t&BRANCH_EFFECT)!==0&&(t&REACTION_RAN)===0;if(n){var r=component_context;(r.e??(r.e=[])).push(e)}else return create_user_effect(e)}function create_user_effect(e){return create_effect(EFFECT|USER_EFFECT,e,!1)}function effect_root(e){Batch.ensure();const t=create_effect(ROOT_EFFECT|EFFECT_PRESERVED,e,!0);return()=>{destroy_effect(t)}}function component_root(e){Batch.ensure();const t=create_effect(ROOT_EFFECT|EFFECT_PRESERVED,e,!0);return(n={})=>new Promise(r=>{n.outro?pause_effect(t,()=>{destroy_effect(t),r(void 0)}):(destroy_effect(t),r(void 0))})}function effect(e){return create_effect(EFFECT,e,!1)}function async_effect(e){return create_effect(ASYNC|EFFECT_PRESERVED,e,!0)}function render_effect(e,t=0){return create_effect(RENDER_EFFECT|t,e,!0)}function template_effect(e,t=[],n=[],r=[]){flatten(r,t,n,o=>{create_effect(RENDER_EFFECT,()=>e(...o.map(get)),!0)})}function block(e,t=0){var n=create_effect(BLOCK_EFFECT|t,e,!0);return n}function branch(e){return create_effect(BRANCH_EFFECT|EFFECT_PRESERVED,e,!0)}function execute_effect_teardown(e){var t=e.teardown;if(t!==null){const n=is_destroying_effect,r=active_reaction;set_is_destroying_effect(!0),set_active_reaction(null);try{t.call(null)}finally{set_is_destroying_effect(n),set_active_reaction(r)}}}function destroy_effect_children(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const o=n.ac;o!==null&&without_reactive_context(()=>{o.abort(STALE_REACTION)});var r=n.next;(n.f&ROOT_EFFECT)!==0?n.parent=null:destroy_effect(n,t),n=r}}function destroy_block_effect_children(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&BRANCH_EFFECT)===0&&destroy_effect(t),t=n}}function destroy_effect(e,t=!0){var n=!1;(t||(e.f&HEAD_EFFECT)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(remove_effect_dom(e.nodes.start,e.nodes.end),n=!0),destroy_effect_children(e,t&&!n),remove_reactions(e,0),set_signal_status(e,DESTROYED);var r=e.nodes&&e.nodes.t;if(r!==null)for(const s of r)s.stop();execute_effect_teardown(e);var o=e.parent;o!==null&&o.first!==null&&unlink_effect(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function remove_effect_dom(e,t){for(;e!==null;){var n=e===t?null:get_next_sibling(e);e.remove(),e=n}}function unlink_effect(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function pause_effect(e,t,n=!0){var r=[];pause_children(e,r,!0);var o=()=>{n&&destroy_effect(e),t&&t()},s=r.length;if(s>0){var i=()=>--s||o();for(var a of r)a.out(i)}else o()}function pause_children(e,t,n){if((e.f&INERT)===0){e.f^=INERT;var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)(a.is_global||n)&&t.push(a);for(var o=e.first;o!==null;){var s=o.next,i=(o.f&EFFECT_TRANSPARENT)!==0||(o.f&BRANCH_EFFECT)!==0&&(e.f&BLOCK_EFFECT)!==0;pause_children(o,t,i?n:!1),o=s}}}function resume_effect(e){resume_children(e,!0)}function resume_children(e,t){if((e.f&INERT)!==0){e.f^=INERT,(e.f&CLEAN)===0&&(set_signal_status(e,DIRTY),schedule_effect(e));for(var n=e.first;n!==null;){var r=n.next,o=(n.f&EFFECT_TRANSPARENT)!==0||(n.f&BRANCH_EFFECT)!==0;resume_children(n,o?t:!1),n=r}var s=e.nodes&&e.nodes.t;if(s!==null)for(const i of s)(i.is_global||t)&&i.in()}}function move_effect(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var o=n===r?null:get_next_sibling(n);t.append(n),n=o}}let is_updating_effect=!1,is_destroying_effect=!1;function set_is_destroying_effect(e){is_destroying_effect=e}let active_reaction=null,untracking=!1;function set_active_reaction(e){active_reaction=e}let active_effect=null;function set_active_effect(e){active_effect=e}let current_sources=null;function push_reaction_value(e){active_reaction!==null&&(current_sources===null?current_sources=[e]:current_sources.push(e))}let new_deps=null,skipped_deps=0,untracked_writes=null;function set_untracked_writes(e){untracked_writes=e}let write_version=1,read_version=0,update_version=read_version;function set_update_version(e){update_version=e}function increment_write_version(){return++write_version}function is_dirty(e){var t=e.f;if((t&DIRTY)!==0)return!0;if(t&DERIVED&&(e.f&=~WAS_MARKED),(t&MAYBE_DIRTY)!==0){for(var n=e.deps,r=n.length,o=0;o<r;o++){var s=n[o];if(is_dirty(s)&&update_derived(s),s.wv>e.wv)return!0}(t&CONNECTED)!==0&&batch_values===null&&set_signal_status(e,CLEAN)}return!1}function schedule_possible_effect_self_invalidation(e,t,n=!0){var r=e.reactions;if(r!==null&&!(current_sources!==null&&includes.call(current_sources,e)))for(var o=0;o<r.length;o++){var s=r[o];(s.f&DERIVED)!==0?schedule_possible_effect_self_invalidation(s,t,!1):t===s&&(n?set_signal_status(s,DIRTY):(s.f&CLEAN)!==0&&set_signal_status(s,MAYBE_DIRTY),schedule_effect(s))}}function update_reaction(e){var y;var t=new_deps,n=skipped_deps,r=untracked_writes,o=active_reaction,s=current_sources,i=component_context,a=untracking,l=update_version,c=e.f;new_deps=null,skipped_deps=0,untracked_writes=null,active_reaction=(c&(BRANCH_EFFECT|ROOT_EFFECT))===0?e:null,current_sources=null,set_component_context(e.ctx),untracking=!1,update_version=++read_version,e.ac!==null&&(without_reactive_context(()=>{e.ac.abort(STALE_REACTION)}),e.ac=null);try{e.f|=REACTION_IS_UPDATING;var u=e.fn,d=u();e.f|=REACTION_RAN;var f=e.deps,v=current_batch==null?void 0:current_batch.is_fork;if(new_deps!==null){var _;if(v||remove_reactions(e,skipped_deps),f!==null&&skipped_deps>0)for(f.length=skipped_deps+new_deps.length,_=0;_<new_deps.length;_++)f[skipped_deps+_]=new_deps[_];else e.deps=f=new_deps;if(effect_tracking()&&(e.f&CONNECTED)!==0)for(_=skipped_deps;_<f.length;_++)((y=f[_]).reactions??(y.reactions=[])).push(e)}else!v&&f!==null&&skipped_deps<f.length&&(remove_reactions(e,skipped_deps),f.length=skipped_deps);if(is_runes()&&untracked_writes!==null&&!untracking&&f!==null&&(e.f&(DERIVED|MAYBE_DIRTY|DIRTY))===0)for(_=0;_<untracked_writes.length;_++)schedule_possible_effect_self_invalidation(untracked_writes[_],e);if(o!==null&&o!==e){if(read_version++,o.deps!==null)for(let h=0;h<n;h+=1)o.deps[h].rv=read_version;if(t!==null)for(const h of t)h.rv=read_version;untracked_writes!==null&&(r===null?r=untracked_writes:r.push(...untracked_writes))}return(e.f&ERROR_VALUE)!==0&&(e.f^=ERROR_VALUE),d}catch(h){return handle_error(h)}finally{e.f^=REACTION_IS_UPDATING,new_deps=t,skipped_deps=n,untracked_writes=r,active_reaction=o,current_sources=s,set_component_context(i),untracking=a,update_version=l}}function remove_reaction(e,t){let n=t.reactions;if(n!==null){var r=index_of.call(n,e);if(r!==-1){var o=n.length-1;o===0?n=t.reactions=null:(n[r]=n[o],n.pop())}}if(n===null&&(t.f&DERIVED)!==0&&(new_deps===null||!includes.call(new_deps,t))){var s=t;(s.f&CONNECTED)!==0&&(s.f^=CONNECTED,s.f&=~WAS_MARKED),update_derived_status(s),freeze_derived_effects(s),remove_reactions(s,0)}}function remove_reactions(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)remove_reaction(e,n[r])}function update_effect(e){var t=e.f;if((t&DESTROYED)===0){set_signal_status(e,CLEAN);var n=active_effect,r=is_updating_effect;active_effect=e,is_updating_effect=!0;try{(t&(BLOCK_EFFECT|MANAGED_EFFECT))!==0?destroy_block_effect_children(e):destroy_effect_children(e),execute_effect_teardown(e);var o=update_reaction(e);e.teardown=typeof o=="function"?o:null,e.wv=write_version;var s;DEV&&tracing_mode_flag&&(e.f&DIRTY)!==0&&e.deps}finally{is_updating_effect=r,active_effect=n}}}async function tick(){await Promise.resolve(),flushSync()}function get(e){var t=e.f,n=(t&DERIVED)!==0;if(active_reaction!==null&&!untracking){var r=active_effect!==null&&(active_effect.f&DESTROYED)!==0;if(!r&&(current_sources===null||!includes.call(current_sources,e))){var o=active_reaction.deps;if((active_reaction.f&REACTION_IS_UPDATING)!==0)e.rv<read_version&&(e.rv=read_version,new_deps===null&&o!==null&&o[skipped_deps]===e?skipped_deps++:new_deps===null?new_deps=[e]:new_deps.push(e));else{(active_reaction.deps??(active_reaction.deps=[])).push(e);var s=e.reactions;s===null?e.reactions=[active_reaction]:includes.call(s,active_reaction)||s.push(active_reaction)}}}if(is_destroying_effect&&old_values.has(e))return old_values.get(e);if(n){var i=e;if(is_destroying_effect){var a=i.v;return((i.f&CLEAN)===0&&i.reactions!==null||depends_on_old_values(i))&&(a=execute_derived(i)),old_values.set(i,a),a}var l=(i.f&CONNECTED)===0&&!untracking&&active_reaction!==null&&(is_updating_effect||(active_reaction.f&CONNECTED)!==0),c=(i.f&REACTION_RAN)===0;is_dirty(i)&&(l&&(i.f|=CONNECTED),update_derived(i)),l&&!c&&(unfreeze_derived_effects(i),reconnect(i))}if(batch_values!=null&&batch_values.has(e))return batch_values.get(e);if((e.f&ERROR_VALUE)!==0)throw e.v;return e.v}function reconnect(e){if(e.f|=CONNECTED,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&DERIVED)!==0&&(t.f&CONNECTED)===0&&(unfreeze_derived_effects(t),reconnect(t))}function depends_on_old_values(e){if(e.v===UNINITIALIZED)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(old_values.has(t)||(t.f&DERIVED)!==0&&depends_on_old_values(t))return!0;return!1}function untrack(e){var t=untracking;try{return untracking=!0,e()}finally{untracking=t}}const PASSIVE_EVENTS=["touchstart","touchmove"];function is_passive_event(e){return PASSIVE_EVENTS.includes(e)}const event_symbol=Symbol("events"),all_registered_events=new Set,root_event_handles=new Set;function create_event(e,t,n,r={}){function o(s){if(r.capture||handle_event_propagation.call(t,s),!s.cancelBubble)return without_reactive_context(()=>n==null?void 0:n.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?queue_micro_task(()=>{t.addEventListener(e,o,r)}):t.addEventListener(e,o,r),o}function event(e,t,n,r,o){var s={capture:r,passive:o},i=create_event(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&teardown(()=>{t.removeEventListener(e,i,s)})}function delegated(e,t,n){(t[event_symbol]??(t[event_symbol]={}))[e]=n}function delegate(e){for(var t=0;t<e.length;t++)all_registered_events.add(e[t]);for(var n of root_event_handles)n(e)}let last_propagated_event=null;function handle_event_propagation(e){var h,p;var t=this,n=t.ownerDocument,r=e.type,o=((h=e.composedPath)==null?void 0:h.call(e))||[],s=o[0]||e.target;last_propagated_event=e;var i=0,a=last_propagated_event===e&&e.__root;if(a){var l=o.indexOf(a);if(l!==-1&&(t===document||t===window)){e.__root=t;return}var c=o.indexOf(t);if(c===-1)return;l<=c&&(i=l)}if(s=o[i]||e.target,s!==t){define_property(e,"currentTarget",{configurable:!0,get(){return s||n}});var u=active_reaction,d=active_effect;set_active_reaction(null),set_active_effect(null);try{for(var f,v=[];s!==null;){var _=s.assignedSlot||s.parentNode||s.host||null;try{var y=(p=s[event_symbol])==null?void 0:p[r];y!=null&&(!s.disabled||e.target===s)&&y.call(s,e)}catch(b){f?v.push(b):f=b}if(e.cancelBubble||_===t||_===null)break;s=_}if(f){for(let b of v)queueMicrotask(()=>{throw b});throw f}}finally{e.__root=t,delete e.currentTarget,set_active_reaction(u),set_active_effect(d)}}}const policy=(ar=(ir=globalThis==null?void 0:globalThis.window)==null?void 0:ir.trustedTypes)==null?void 0:ar.createPolicy("svelte-trusted-html",{createHTML:e=>e});function create_trusted_html(e){return(policy==null?void 0:policy.createHTML(e))??e}function create_fragment_from_html(e,t=!1){var n=create_element("template");return e=e.replaceAll("<!>","<!---->"),n.innerHTML=t?create_trusted_html(e):e,n.content}function assign_nodes(e,t){var n=active_effect;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function from_html(e,t){var n=(t&TEMPLATE_FRAGMENT)!==0,r=(t&TEMPLATE_USE_IMPORT_NODE)!==0,o,s=!e.startsWith("<!>");return()=>{if(hydrating)return assign_nodes(hydrate_node,null),hydrate_node;o===void 0&&(o=create_fragment_from_html(s?e:"<!>"+e,!0),n||(o=get_first_child(o)));var i=r||is_firefox?document.importNode(o,!0):o.cloneNode(!0);if(n){var a=get_first_child(i),l=i.lastChild;assign_nodes(a,l)}else assign_nodes(i,i);return i}}function from_namespace(e,t,n="svg"){var r=!e.startsWith("<!>"),o=(t&TEMPLATE_FRAGMENT)!==0,s=`<${n}>${r?e:"<!>"+e}</${n}>`,i;return()=>{if(hydrating)return assign_nodes(hydrate_node,null),hydrate_node;if(!i){var a=create_fragment_from_html(s,!0),l=get_first_child(a);if(o)for(i=document.createDocumentFragment();get_first_child(l);)i.appendChild(get_first_child(l));else i=get_first_child(l)}var c=i.cloneNode(!0);if(o){var u=get_first_child(c),d=c.lastChild;assign_nodes(u,d)}else assign_nodes(c,c);return c}}function from_svg(e,t){return from_namespace(e,t,"svg")}function text(e=""){if(!hydrating){var t=create_text(e+"");return assign_nodes(t,t),t}var n=hydrate_node;return n.nodeType!==TEXT_NODE?(n.before(n=create_text()),set_hydrate_node(n)):merge_text_nodes(n),assign_nodes(n,n),n}function comment(){if(hydrating)return assign_nodes(hydrate_node,null),hydrate_node;var e=document.createDocumentFragment(),t=document.createComment(""),n=create_text();return e.append(t,n),assign_nodes(t,n),e}function append(e,t){if(hydrating){var n=active_effect;((n.f&REACTION_RAN)===0||n.nodes.end===null)&&(n.nodes.end=hydrate_node),hydrate_next();return}e!==null&&e.before(t)}let should_intro=!0;function set_text(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n+"")}function mount(e,t){return _mount(e,t)}function hydrate(e,t){init_operations(),t.intro=t.intro??!1;const n=t.target,r=hydrating,o=hydrate_node;try{for(var s=get_first_child(n);s&&(s.nodeType!==COMMENT_NODE||s.data!==HYDRATION_START);)s=get_next_sibling(s);if(!s)throw HYDRATION_ERROR;set_hydrating(!0),set_hydrate_node(s);const i=_mount(e,{...t,anchor:s});return set_hydrating(!1),i}catch(i){if(i instanceof Error&&i.message.split(`
|
|
2
|
-
`).some(a=>a.startsWith("https://svelte.dev/e/")))throw i;return i!==HYDRATION_ERROR&&console.warn("Failed to hydrate: ",i),t.recover===!1&&hydration_failed(),init_operations(),clear_text_content(n),set_hydrating(!1),mount(e,t)}finally{set_hydrating(r),set_hydrate_node(o)}}const listeners=new Map;function _mount(e,{target:t,anchor:n,props:r={},events:o,context:s,intro:i=!0}){init_operations();var a=new Set,l=d=>{for(var f=0;f<d.length;f++){var v=d[f];if(!a.has(v)){a.add(v);var _=is_passive_event(v);for(const p of[t,document]){var y=listeners.get(p);y===void 0&&(y=new Map,listeners.set(p,y));var h=y.get(v);h===void 0?(p.addEventListener(v,handle_event_propagation,{passive:_}),y.set(v,1)):y.set(v,h+1)}}}};l(array_from(all_registered_events)),root_event_handles.add(l);var c=void 0,u=component_root(()=>{var d=n??t.appendChild(create_text());return boundary(d,{pending:()=>{}},f=>{push({});var v=component_context;if(s&&(v.c=s),o&&(r.$$events=o),hydrating&&assign_nodes(f,null),should_intro=i,c=e(f,r)||{},should_intro=!0,hydrating&&(active_effect.nodes.end=hydrate_node,hydrate_node===null||hydrate_node.nodeType!==COMMENT_NODE||hydrate_node.data!==HYDRATION_END))throw hydration_mismatch(),HYDRATION_ERROR;pop()}),()=>{var y;for(var f of a)for(const h of[t,document]){var v=listeners.get(h),_=v.get(f);--_==0?(h.removeEventListener(f,handle_event_propagation),v.delete(f),v.size===0&&listeners.delete(h)):v.set(f,_)}root_event_handles.delete(l),d!==n&&((y=d.parentNode)==null||y.removeChild(d))}});return mounted_components.set(c,u),c}let mounted_components=new WeakMap;function unmount(e,t){const n=mounted_components.get(e);return n?(mounted_components.delete(e),n(t)):Promise.resolve()}class BranchManager{constructor(t,n=!0){re(this,"anchor");ge(this,mt,new Map);ge(this,Tt,new Map);ge(this,dt,new Map);ge(this,nn,new Set);ge(this,wn,!0);ge(this,xn,()=>{var t=current_batch;if(T(this,mt).has(t)){var n=T(this,mt).get(t),r=T(this,Tt).get(n);if(r)resume_effect(r),T(this,nn).delete(n);else{var o=T(this,dt).get(n);o&&(T(this,Tt).set(n,o.effect),T(this,dt).delete(n),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),r=o.effect)}for(const[s,i]of T(this,mt)){if(T(this,mt).delete(s),s===t)break;const a=T(this,dt).get(i);a&&(destroy_effect(a.effect),T(this,dt).delete(i))}for(const[s,i]of T(this,Tt)){if(s===n||T(this,nn).has(s))continue;const a=()=>{if(Array.from(T(this,mt).values()).includes(s)){var c=document.createDocumentFragment();move_effect(i,c),c.append(create_text()),T(this,dt).set(s,{effect:i,fragment:c})}else destroy_effect(i);T(this,nn).delete(s),T(this,Tt).delete(s)};T(this,wn)||!r?(T(this,nn).add(s),pause_effect(i,a,!1)):a()}}});ge(this,Ln,t=>{T(this,mt).delete(t);const n=Array.from(T(this,mt).values());for(const[r,o]of T(this,dt))n.includes(r)||(destroy_effect(o.effect),T(this,dt).delete(r))});this.anchor=t,de(this,wn,n)}ensure(t,n){var r=current_batch,o=should_defer_append();if(n&&!T(this,Tt).has(t)&&!T(this,dt).has(t))if(o){var s=document.createDocumentFragment(),i=create_text();s.append(i),T(this,dt).set(t,{effect:branch(()=>n(i)),fragment:s})}else T(this,Tt).set(t,branch(()=>n(this.anchor)));if(T(this,mt).set(r,t),o){for(const[a,l]of T(this,Tt))a===t?r.unskip_effect(l):r.skip_effect(l);for(const[a,l]of T(this,dt))a===t?r.unskip_effect(l.effect):r.skip_effect(l.effect);r.oncommit(T(this,xn)),r.ondiscard(T(this,Ln))}else hydrating&&(this.anchor=hydrate_node),T(this,xn).call(this)}}mt=new WeakMap,Tt=new WeakMap,dt=new WeakMap,nn=new WeakMap,wn=new WeakMap,xn=new WeakMap,Ln=new WeakMap;function onMount(e){component_context===null&&lifecycle_outside_component(),user_effect(()=>{const t=untrack(e);if(typeof t=="function")return t})}function onDestroy(e){component_context===null&&lifecycle_outside_component(),onMount(()=>()=>untrack(e))}function if_block(e,t,n=!1){hydrating&&hydrate_next();var r=new BranchManager(e),o=n?EFFECT_TRANSPARENT:0;function s(i,a){if(hydrating){const u=read_hydration_instruction(e);var l;if(u===HYDRATION_START?l=0:u===HYDRATION_START_ELSE?l=!1:l=parseInt(u.substring(1)),i!==l){var c=skip_nodes();set_hydrate_node(c),r.anchor=c,set_hydrating(!1),r.ensure(i,a),set_hydrating(!0);return}}r.ensure(i,a)}block(()=>{var i=!1;t((a,l=0)=>{i=!0,s(l,a)}),i||s(!1,null)},o)}const NAN=Symbol("NaN");function key(e,t,n){hydrating&&hydrate_next();var r=new BranchManager(e);block(()=>{var o=t();o!==o&&(o=NAN),r.ensure(o,n)})}function index(e,t){return t}function pause_effects(e,t,n){for(var r=[],o=t.length,s,i=t.length,a=0;a<o;a++){let d=t[a];pause_effect(d,()=>{if(s){if(s.pending.delete(d),s.done.add(d),s.pending.size===0){var f=e.outrogroups;destroy_effects(array_from(s.done)),f.delete(s),f.size===0&&(e.outrogroups=null)}}else i-=1},!1)}if(i===0){var l=r.length===0&&n!==null;if(l){var c=n,u=c.parentNode;clear_text_content(u),u.append(c),e.items.clear()}destroy_effects(t,!l)}else s={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(s)}function destroy_effects(e,t=!0){for(var n=0;n<e.length;n++)destroy_effect(e[n],t)}var offscreen_anchor;function each(e,t,n,r,o,s=null){var i=e,a=new Map,l=(t&EACH_IS_CONTROLLED)!==0;if(l){var c=e;i=hydrating?set_hydrate_node(get_first_child(c)):c.appendChild(create_text())}hydrating&&hydrate_next();var u=null,d=derived_safe_equal(()=>{var p=n();return is_array(p)?p:p==null?[]:array_from(p)}),f,v=!0;function _(){h.fallback=u,reconcile(h,f,i,t,r),u!==null&&(f.length===0?(u.f&EFFECT_OFFSCREEN)===0?resume_effect(u):(u.f^=EFFECT_OFFSCREEN,move(u,null,i)):pause_effect(u,()=>{u=null}))}var y=block(()=>{f=get(d);var p=f.length;let b=!1;if(hydrating){var m=read_hydration_instruction(i)===HYDRATION_START_ELSE;m!==(p===0)&&(i=skip_nodes(),set_hydrate_node(i),set_hydrating(!1),b=!0)}for(var $=new Set,k=current_batch,N=should_defer_append(),O=0;O<p;O+=1){hydrating&&hydrate_node.nodeType===COMMENT_NODE&&hydrate_node.data===HYDRATION_END&&(i=hydrate_node,b=!0,set_hydrating(!1));var F=f[O],ee=r(F,O),J=v?null:a.get(ee);J?(J.v&&internal_set(J.v,F),J.i&&internal_set(J.i,O),N&&k.unskip_effect(J.e)):(J=create_item(a,v?i:offscreen_anchor??(offscreen_anchor=create_text()),F,ee,O,o,t,n),v||(J.e.f|=EFFECT_OFFSCREEN),a.set(ee,J)),$.add(ee)}if(p===0&&s&&!u&&(v?u=branch(()=>s(i)):(u=branch(()=>s(offscreen_anchor??(offscreen_anchor=create_text()))),u.f|=EFFECT_OFFSCREEN)),p>$.size&&each_key_duplicate(),hydrating&&p>0&&set_hydrate_node(skip_nodes()),!v)if(N){for(const[fe,ae]of a)$.has(fe)||k.skip_effect(ae.e);k.oncommit(_),k.ondiscard(()=>{})}else _();b&&set_hydrating(!0),get(d)}),h={effect:y,items:a,outrogroups:null,fallback:u};v=!1,hydrating&&(i=hydrate_node)}function skip_to_branch(e){for(;e!==null&&(e.f&BRANCH_EFFECT)===0;)e=e.next;return e}function reconcile(e,t,n,r,o){var J,fe,ae,Ee,_e,ze,we,xe,ke;var s=(r&EACH_IS_ANIMATED)!==0,i=t.length,a=e.items,l=skip_to_branch(e.effect.first),c,u=null,d,f=[],v=[],_,y,h,p;if(s)for(p=0;p<i;p+=1)_=t[p],y=o(_,p),h=a.get(y).e,(h.f&EFFECT_OFFSCREEN)===0&&((fe=(J=h.nodes)==null?void 0:J.a)==null||fe.measure(),(d??(d=new Set)).add(h));for(p=0;p<i;p+=1){if(_=t[p],y=o(_,p),h=a.get(y).e,e.outrogroups!==null)for(const g of e.outrogroups)g.pending.delete(h),g.done.delete(h);if((h.f&EFFECT_OFFSCREEN)!==0)if(h.f^=EFFECT_OFFSCREEN,h===l)move(h,null,n);else{var b=u?u.next:l;h===e.effect.last&&(e.effect.last=h.prev),h.prev&&(h.prev.next=h.next),h.next&&(h.next.prev=h.prev),link(e,u,h),link(e,h,b),move(h,b,n),u=h,f=[],v=[],l=skip_to_branch(u.next);continue}if((h.f&INERT)!==0&&(resume_effect(h),s&&((Ee=(ae=h.nodes)==null?void 0:ae.a)==null||Ee.unfix(),(d??(d=new Set)).delete(h))),h!==l){if(c!==void 0&&c.has(h)){if(f.length<v.length){var m=v[0],$;u=m.prev;var k=f[0],N=f[f.length-1];for($=0;$<f.length;$+=1)move(f[$],m,n);for($=0;$<v.length;$+=1)c.delete(v[$]);link(e,k.prev,N.next),link(e,u,k),link(e,N,m),l=m,u=N,p-=1,f=[],v=[]}else c.delete(h),move(h,l,n),link(e,h.prev,h.next),link(e,h,u===null?e.effect.first:u.next),link(e,u,h),u=h;continue}for(f=[],v=[];l!==null&&l!==h;)(c??(c=new Set)).add(l),v.push(l),l=skip_to_branch(l.next);if(l===null)continue}(h.f&EFFECT_OFFSCREEN)===0&&f.push(h),u=h,l=skip_to_branch(h.next)}if(e.outrogroups!==null){for(const g of e.outrogroups)g.pending.size===0&&(destroy_effects(array_from(g.done)),(_e=e.outrogroups)==null||_e.delete(g));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||c!==void 0){var O=[];if(c!==void 0)for(h of c)(h.f&INERT)===0&&O.push(h);for(;l!==null;)(l.f&INERT)===0&&l!==e.fallback&&O.push(l),l=skip_to_branch(l.next);var F=O.length;if(F>0){var ee=(r&EACH_IS_CONTROLLED)!==0&&i===0?n:null;if(s){for(p=0;p<F;p+=1)(we=(ze=O[p].nodes)==null?void 0:ze.a)==null||we.measure();for(p=0;p<F;p+=1)(ke=(xe=O[p].nodes)==null?void 0:xe.a)==null||ke.fix()}pause_effects(e,O,ee)}}s&&queue_micro_task(()=>{var g,E;if(d!==void 0)for(h of d)(E=(g=h.nodes)==null?void 0:g.a)==null||E.apply()})}function create_item(e,t,n,r,o,s,i,a){var l=(i&EACH_ITEM_REACTIVE)!==0?(i&EACH_ITEM_IMMUTABLE)===0?mutable_source(n,!1,!1):source(n):null,c=(i&EACH_INDEX_REACTIVE)!==0?source(o):null;return{v:l,i:c,e:branch(()=>(s(t,l??n,c??o,a),()=>{e.delete(r)}))}}function move(e,t,n){if(e.nodes)for(var r=e.nodes.start,o=e.nodes.end,s=t&&(t.f&EFFECT_OFFSCREEN)===0?t.nodes.start:n;r!==null;){var i=get_next_sibling(r);if(s.before(r),r===o)return;r=i}}function link(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function html(e,t,n=!1,r=!1,o=!1){var s=e,i="";template_effect(()=>{var a=active_effect;if(i===(i=t()??"")){hydrating&&hydrate_next();return}if(a.nodes!==null&&(remove_effect_dom(a.nodes.start,a.nodes.end),a.nodes=null),i!==""){if(hydrating){hydrate_node.data;for(var l=hydrate_next(),c=l;l!==null&&(l.nodeType!==COMMENT_NODE||l.data!=="");)c=l,l=get_next_sibling(l);if(l===null)throw hydration_mismatch(),HYDRATION_ERROR;assign_nodes(hydrate_node,c),s=set_hydrate_node(l);return}var u=i+"";n?u=`<svg>${u}</svg>`:r&&(u=`<math>${u}</math>`);var d=create_fragment_from_html(u);if((n||r)&&(d=get_first_child(d)),assign_nodes(get_first_child(d),d.lastChild),n||r)for(;get_first_child(d);)s.before(get_first_child(d));else s.before(d)}})}const now=()=>performance.now(),raf={tick:e=>requestAnimationFrame(e),now:()=>now(),tasks:new Set};function run_tasks(){const e=raf.now();raf.tasks.forEach(t=>{t.c(e)||(raf.tasks.delete(t),t.f())}),raf.tasks.size!==0&&raf.tick(run_tasks)}function loop(e){let t;return raf.tasks.size===0&&raf.tick(run_tasks),{promise:new Promise(n=>{raf.tasks.add(t={c:e,f:n})}),abort(){raf.tasks.delete(t)}}}function dispatch_event(e,t){without_reactive_context(()=>{e.dispatchEvent(new CustomEvent(t))})}function css_property_to_camelcase(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(n=>n[0].toUpperCase()+n.slice(1)).join("")}function css_to_keyframe(e){const t={},n=e.split(";");for(const r of n){const[o,s]=r.split(":");if(!o||s===void 0)break;const i=css_property_to_camelcase(o.trim());t[i]=s.trim()}return t}const linear=e=>e;function transition(e,t,n,r){var h;var o=(e&TRANSITION_GLOBAL)!==0,s="both",i,a=t.inert,l=t.style.overflow,c,u;function d(){return without_reactive_context(()=>i??(i=n()(t,(r==null?void 0:r())??{},{direction:s})))}var f={is_global:o,in(){t.inert=a,c=animate(t,d(),u,1,()=>{dispatch_event(t,"introend"),c==null||c.abort(),c=i=void 0,t.style.overflow=l})},out(p){t.inert=!0,u=animate(t,d(),c,0,()=>{dispatch_event(t,"outroend"),p==null||p()})},stop:()=>{c==null||c.abort(),u==null||u.abort()}},v=active_effect;if(((h=v.nodes).t??(h.t=[])).push(f),should_intro){var _=o;if(!_){for(var y=v.parent;y&&(y.f&EFFECT_TRANSPARENT)!==0;)for(;(y=y.parent)&&(y.f&BLOCK_EFFECT)===0;);_=!y||(y.f&REACTION_RAN)!==0}_&&effect(()=>{untrack(()=>f.in())})}}function animate(e,t,n,r,o){var s=r===1;if(is_function(t)){var i,a=!1;return queue_micro_task(()=>{if(!a){var h=t({direction:s?"in":"out"});i=animate(e,h,n,r,o)}}),{abort:()=>{a=!0,i==null||i.abort()},deactivate:()=>i.deactivate(),reset:()=>i.reset(),t:()=>i.t()}}if(n==null||n.deactivate(),!(t!=null&&t.duration)&&!(t!=null&&t.delay))return dispatch_event(e,s?"introstart":"outrostart"),o(),{abort:noop,deactivate:noop,reset:noop,t:()=>r};const{delay:l=0,css:c,tick:u,easing:d=linear}=t;var f=[];if(s&&n===void 0&&(u&&u(0,1),c)){var v=css_to_keyframe(c(0,1));f.push(v,v)}var _=()=>1-r,y=e.animate(f,{duration:l,fill:"forwards"});return y.onfinish=()=>{y.cancel(),dispatch_event(e,s?"introstart":"outrostart");var h=(n==null?void 0:n.t())??1-r;n==null||n.abort();var p=r-h,b=t.duration*Math.abs(p),m=[];if(b>0){var $=!1;if(c)for(var k=Math.ceil(b/16.666666666666668),N=0;N<=k;N+=1){var O=h+p*d(N/k),F=css_to_keyframe(c(O,1-O));m.push(F),$||($=F.overflow==="hidden")}$&&(e.style.overflow="hidden"),_=()=>{var ee=y.currentTime;return h+p*d(ee/b)},u&&loop(()=>{if(y.playState!=="running")return!1;var ee=_();return u(ee,1-ee),!0})}y=e.animate(m,{duration:b,fill:"forwards"}),y.onfinish=()=>{_=()=>r,u==null||u(r,1-r),o()}},{abort:()=>{y&&(y.cancel(),y.effect=null,y.onfinish=noop)},deactivate:()=>{o=noop},reset:()=>{r===0&&(u==null||u(1,0))},t:()=>_()}}function append_styles(e,t){effect(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const o=create_element("style");o.id=t.hash,o.textContent=t.code,r.appendChild(o)}})}const whitespace=[...`
|
|
3
|
-
\r\f \v\uFEFF`];function to_class(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var o in n)if(n[o])r=r?r+" "+o:o;else if(r.length)for(var s=o.length,i=0;(i=r.indexOf(o,i))>=0;){var a=i+s;(i===0||whitespace.includes(r[i-1]))&&(a===r.length||whitespace.includes(r[a]))?r=(i===0?"":r.substring(0,i))+r.substring(a+1):i=a}}return r===""?null:r}function to_style(e,t){return e==null?null:String(e)}function set_class(e,t,n,r,o,s){var i=e.__className;if(hydrating||i!==n||i===void 0){var a=to_class(n,r,s);(!hydrating||a!==e.getAttribute("class"))&&(a==null?e.removeAttribute("class"):t?e.className=a:e.setAttribute("class",a)),e.__className=n}else if(s&&o!==s)for(var l in s){var c=!!s[l];(o==null||c!==!!o[l])&&e.classList.toggle(l,c)}return s}function set_style(e,t,n,r){var o=e.__style;if(hydrating||o!==t){var s=to_style(t);(!hydrating||s!==e.getAttribute("style"))&&(s==null?e.removeAttribute("style"):e.style.cssText=s),e.__style=t}return r}function select_option(e,t,n=!1){if(e.multiple){if(t==null)return;if(!is_array(t))return select_multiple_invalid_value();for(var r of e.options)r.selected=t.includes(get_option_value(r));return}for(r of e.options){var o=get_option_value(r);if(is(o,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function init_select(e){var t=new MutationObserver(()=>{select_option(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),teardown(()=>{t.disconnect()})}function bind_select_value(e,t,n=t){var r=new WeakSet,o=!0;listen_to_event_and_reset_event(e,"change",s=>{var i=s?"[selected]":":checked",a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),get_option_value);else{var l=e.querySelector(i)??e.querySelector("option:not([disabled])");a=l&&get_option_value(l)}n(a),current_batch!==null&&r.add(current_batch)}),effect(()=>{var s=t();if(e===document.activeElement){var i=previous_batch??current_batch;if(r.has(i))return}if(select_option(e,s,o),o&&s===void 0){var a=e.querySelector(":checked");a!==null&&(s=get_option_value(a),n(s))}e.__value=s,o=!1}),init_select(e)}function get_option_value(e){return"__value"in e?e.__value:e.value}const IS_CUSTOM_ELEMENT=Symbol("is custom element"),IS_HTML=Symbol("is html"),LINK_TAG=IS_XHTML?"link":"LINK";function remove_input_defaults(e){if(hydrating){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;set_attribute(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var o=e.checked;set_attribute(e,"checked",null),e.checked=o}}};e.__on_r=n,queue_micro_task(n),add_form_reset_listener()}}function set_checked(e,t){var n=get_attributes(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function set_attribute(e,t,n,r){var o=get_attributes(e);hydrating&&(o[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName===LINK_TAG)||o[t]!==(o[t]=n)&&(t==="loading"&&(e[LOADING_ATTR_SYMBOL]=n),n==null?e.removeAttribute(t):typeof n!="string"&&get_setters(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function get_attributes(e){return e.__attributes??(e.__attributes={[IS_CUSTOM_ELEMENT]:e.nodeName.includes("-"),[IS_HTML]:e.namespaceURI===NAMESPACE_HTML})}var setters_cache=new Map;function get_setters(e){var t=e.getAttribute("is")||e.nodeName,n=setters_cache.get(t);if(n)return n;setters_cache.set(t,n=[]);for(var r,o=e,s=Element.prototype;s!==o;){r=get_descriptors(o);for(var i in r)r[i].set&&n.push(i);o=get_prototype_of(o)}return n}function bind_value(e,t,n=t){var r=new WeakSet;listen_to_event_and_reset_event(e,"input",async o=>{var s=o?e.defaultValue:e.value;if(s=is_numberlike_input(e)?to_number(s):s,n(s),current_batch!==null&&r.add(current_batch),await tick(),s!==(s=t())){var i=e.selectionStart,a=e.selectionEnd,l=e.value.length;if(e.value=s??"",a!==null){var c=e.value.length;i===a&&a===l&&c>l?(e.selectionStart=c,e.selectionEnd=c):(e.selectionStart=i,e.selectionEnd=Math.min(a,c))}}}),(hydrating&&e.defaultValue!==e.value||untrack(t)==null&&e.value)&&(n(is_numberlike_input(e)?to_number(e.value):e.value),current_batch!==null&&r.add(current_batch)),render_effect(()=>{var o=t();if(e===document.activeElement){var s=previous_batch??current_batch;if(r.has(s))return}is_numberlike_input(e)&&o===to_number(e.value)||e.type==="date"&&!o&&!e.value||o!==e.value&&(e.value=o??"")})}function is_numberlike_input(e){var t=e.type;return t==="number"||t==="range"}function to_number(e){return e===""?null:+e}function is_bound_this(e,t){return e===t||(e==null?void 0:e[STATE_SYMBOL])===t}function bind_this(e={},t,n,r){return effect(()=>{var o,s;return render_effect(()=>{o=s,s=[],untrack(()=>{e!==n(...s)&&(t(e,...s),o&&is_bound_this(n(...o),e)&&t(null,...o))})}),()=>{queue_micro_task(()=>{s&&is_bound_this(n(...s),e)&&t(null,...s)})}}),e}let is_store_binding=!1;function capture_store_binding(e){var t=is_store_binding;try{return is_store_binding=!1,[e(),is_store_binding]}finally{is_store_binding=t}}function prop(e,t,n,r){var b;var o=(n&PROPS_IS_BINDABLE)!==0,s=(n&PROPS_IS_LAZY_INITIAL)!==0,i=r,a=!0,l=()=>(a&&(a=!1,i=s?untrack(r):r),i),c;if(o){var u=STATE_SYMBOL in e||LEGACY_PROPS in e;c=((b=get_descriptor(e,t))==null?void 0:b.set)??(u&&t in e?m=>e[t]=m:void 0)}var d,f=!1;o?[d,f]=capture_store_binding(()=>e[t]):d=e[t],d===void 0&&r!==void 0&&(d=l(),c&&(props_invalid_value(),c(d)));var v;if(v=()=>{var m=e[t];return m===void 0?l():(a=!0,m)},(n&PROPS_IS_UPDATED)===0)return v;if(c){var _=e.$$legacy;return(function(m,$){return arguments.length>0?((!$||_||f)&&c($?v():m),m):v()})}var y=!1,h=((n&PROPS_IS_IMMUTABLE)!==0?derived:derived_safe_equal)(()=>(y=!1,v()));o&&get(h);var p=active_effect;return(function(m,$){if(arguments.length>0){const k=$?get(h):o?proxy(m):m;return set(h,k),y=!0,i!==void 0&&(i=k),m}return is_destroying_effect&&y||(p.f&DESTROYED)!==0?h.v:get(h)})}function createClassComponent(e){return new Svelte4Component(e)}class Svelte4Component{constructor(t){ge(this,Zt);ge(this,gt);var s;var n=new Map,r=(i,a)=>{var l=mutable_source(a,!1,!1);return n.set(i,l),l};const o=new Proxy({...t.props||{},$$events:{}},{get(i,a){return get(n.get(a)??r(a,Reflect.get(i,a)))},has(i,a){return a===LEGACY_PROPS?!0:(get(n.get(a)??r(a,Reflect.get(i,a))),Reflect.has(i,a))},set(i,a,l){return set(n.get(a)??r(a,l),l),Reflect.set(i,a,l)}});de(this,gt,(t.hydrate?hydrate:mount)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover})),(!((s=t==null?void 0:t.props)!=null&&s.$$host)||t.sync===!1)&&flushSync(),de(this,Zt,o.$$events);for(const i of Object.keys(T(this,gt)))i==="$set"||i==="$destroy"||i==="$on"||define_property(this,i,{get(){return T(this,gt)[i]},set(a){T(this,gt)[i]=a},enumerable:!0});T(this,gt).$set=i=>{Object.assign(o,i)},T(this,gt).$destroy=()=>{unmount(T(this,gt))}}$set(t){T(this,gt).$set(t)}$on(t,n){T(this,Zt)[t]=T(this,Zt)[t]||[];const r=(...o)=>n.call(this,...o);return T(this,Zt)[t].push(r),()=>{T(this,Zt)[t]=T(this,Zt)[t].filter(o=>o!==r)}}$destroy(){T(this,gt).$destroy()}}Zt=new WeakMap,gt=new WeakMap;let SvelteElement;typeof HTMLElement=="function"&&(SvelteElement=class extends HTMLElement{constructor(t,n,r){super();re(this,"$$ctor");re(this,"$$s");re(this,"$$c");re(this,"$$cn",!1);re(this,"$$d",{});re(this,"$$r",!1);re(this,"$$p_d",{});re(this,"$$l",{});re(this,"$$l_u",new Map);re(this,"$$me");re(this,"$$shadowRoot",null);this.$$ctor=t,this.$$s=n,r&&(this.$$shadowRoot=this.attachShadow(r))}addEventListener(t,n,r){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(n),this.$$c){const o=this.$$c.$on(t,n);this.$$l_u.set(n,o)}super.addEventListener(t,n,r)}removeEventListener(t,n,r){if(super.removeEventListener(t,n,r),this.$$c){const o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let t=function(o){return s=>{const i=create_element("slot");o!=="default"&&(i.name=o),append(s,i)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const n={},r=get_custom_elements_slots(this);for(const o of this.$$s)o in r&&(o==="default"&&!this.$$d.children?(this.$$d.children=t(o),n.default=!0):n[o]=t(o));for(const o of this.attributes){const s=this.$$g_p(o.name);s in this.$$d||(this.$$d[s]=get_custom_element_value(s,o.value,this.$$p_d,"toProp"))}for(const o in this.$$p_d)!(o in this.$$d)&&this[o]!==void 0&&(this.$$d[o]=this[o],delete this[o]);this.$$c=createClassComponent({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:n,$$host:this}}),this.$$me=effect_root(()=>{render_effect(()=>{var o;this.$$r=!0;for(const s of object_keys(this.$$c)){if(!((o=this.$$p_d[s])!=null&&o.reflect))continue;this.$$d[s]=this.$$c[s];const i=get_custom_element_value(s,this.$$d[s],this.$$p_d,"toAttribute");i==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,i)}this.$$r=!1})});for(const o in this.$$l)for(const s of this.$$l[o]){const i=this.$$c.$on(o,s);this.$$l_u.set(s,i)}this.$$l={}}}attributeChangedCallback(t,n,r){var o;this.$$r||(t=this.$$g_p(t),this.$$d[t]=get_custom_element_value(t,r,this.$$p_d,"toProp"),(o=this.$$c)==null||o.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return object_keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===t||!this.$$p_d[n].attribute&&n.toLowerCase()===t)||t}});function get_custom_element_value(e,t,n,r){var s;const o=(s=n[e])==null?void 0:s.type;if(t=o==="Boolean"&&typeof t!="boolean"?t!=null:t,!r||!n[e])return t;if(r==="toAttribute")switch(o){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(o){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function get_custom_elements_slots(e){const t={};return e.childNodes.forEach(n=>{t[n.slot||"default"]=!0}),t}function create_custom_element(e,t,n,r,o,s){let i=class extends SvelteElement{constructor(){super(e,n,o),this.$$p_d=t}static get observedAttributes(){return object_keys(t).map(a=>(t[a].attribute||a).toLowerCase())}};return object_keys(t).forEach(a=>{define_property(i.prototype,a,{get(){return this.$$c&&a in this.$$c?this.$$c[a]:this.$$d[a]},set(l){var d;l=get_custom_element_value(a,l,t),this.$$d[a]=l;var c=this.$$c;if(c){var u=(d=get_descriptor(c,a))==null?void 0:d.get;u?c[a]=l:c.$set({[a]:l})}}})}),r.forEach(a=>{define_property(i.prototype,a,{get(){var l;return(l=this.$$c)==null?void 0:l[a]}})}),e.element=i,i}const DEFAULT_CONFIG={endpoint:"",position:"bottom-right",theme:"dark",buttonColor:"#3b82f6",maxScreenshots:5,maxConsoleLogs:50,captureConsole:!0},SENSITIVE_PATTERNS=[/\b(api[_-]?key|apikey|api[_-]?token|access[_-]?token|auth[_-]?token|bearer)\s*[:=]\s*["']?[\w\-\.]+["']?/gi,/\bBearer\s+[\w\-\.]+/gi,/\b(sk|pk|rk)[_-][a-zA-Z0-9]{20,}/gi,/\bghp_[a-zA-Z0-9]{36,}/gi,/\bsk-[a-zA-Z0-9]{20,}/gi,/\b(password|passwd|pwd|secret|credential)\s*[:=]\s*["']?[^"'\s,}{]+["']?/gi,/\beyJ[a-zA-Z0-9_-]*\.eyJ[a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*/gi,/\b\d{4}[\s\-]?\d{4}[\s\-]?\d{4}[\s\-]?\d{4}\b/g,/\b(email|e-mail)\s*[:=]\s*["']?[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}["']?/gi,/-----BEGIN\s+(RSA\s+)?PRIVATE\s+KEY-----[\s\S]*?-----END\s+(RSA\s+)?PRIVATE\s+KEY-----/gi,/\b(AKIA|ABIA|ACCA|AGPA|AIDA|AIPA|AKIA|ANPA|ANVA|AROA|APKA|ASCA|ASIA)[A-Z0-9]{16}\b/g,/\b(aws[_-]?secret[_-]?access[_-]?key|aws[_-]?access[_-]?key[_-]?id)\s*[:=]\s*["']?[\w\/\+]+["']?/gi],REDACTED="[REDACTED]";function filterSensitiveData(e){let t=e;for(const n of SENSITIVE_PATTERNS)n.lastIndex=0,t=t.replace(n,REDACTED);return t}let maxEntries=50;const capturedLogs=[];let capturing=!1;const originalConsole={log:console.log,error:console.error,warn:console.warn,info:console.info,debug:console.debug,trace:console.trace};function safeStringify(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(typeof e=="symbol")return e.toString();if(typeof e=="function")return`[Function: ${e.name||"anonymous"}]`;if(e instanceof Error)return`${e.name}: ${e.message}${e.stack?`
|
|
4
|
-
`+
|
|
5
|
-
`).slice(4),
|
|
6
|
-
`),
|
|
1
|
+
var Jr=Object.defineProperty;var Mr=He=>{throw TypeError(He)};var Qr=(He,Ke,at)=>Ke in He?Jr(He,Ke,{enumerable:!0,configurable:!0,writable:!0,value:at}):He[Ke]=at;var ke=(He,Ke,at)=>Qr(He,typeof Ke!="symbol"?Ke+"":Ke,at),br=(He,Ke,at)=>Ke.has(He)||Mr("Cannot "+at);var U=(He,Ke,at)=>(br(He,Ke,"read from private field"),at?at.call(He):Ke.get(He)),De=(He,Ke,at)=>Ke.has(He)?Mr("Cannot add the same private member more than once"):Ke instanceof WeakSet?Ke.add(He):Ke.set(He,at),Me=(He,Ke,at,Gt)=>(br(He,Ke,"write to private field"),Gt?Gt.call(He,at):Ke.set(He,at),at),ft=(He,Ke,at)=>(br(He,Ke,"access private method"),at);(function(){"use strict";var He,Ke,at,Gt,xn,un,En,On,Dn,dn,Ht,Sn,Dt,yr,wr,zr,St,Ln,Lt,fn,Ft,At,yt,Pt,qt,rn,pn,Yt,kn,hn,Cn,In,Kt,Yn,lt,Or,Dr,xr,or,sr,Er,Sr,kr,$t,Zt,kt,gn,Fn,Pn,Kn,Xt,Rt,Cr;const PUBLIC_VERSION="5";typeof window<"u"&&((He=window.__svelte??(window.__svelte={})).v??(He.v=new Set)).add("5");const EACH_ITEM_REACTIVE=1,EACH_INDEX_REACTIVE=2,EACH_IS_CONTROLLED=4,EACH_IS_ANIMATED=8,EACH_ITEM_IMMUTABLE=16,PROPS_IS_IMMUTABLE=1,PROPS_IS_UPDATED=4,PROPS_IS_BINDABLE=8,PROPS_IS_LAZY_INITIAL=16,TRANSITION_GLOBAL=4,TEMPLATE_FRAGMENT=1,TEMPLATE_USE_IMPORT_NODE=2,HYDRATION_START="[",HYDRATION_START_ELSE="[!",HYDRATION_END="]",HYDRATION_ERROR={},UNINITIALIZED=Symbol(),NAMESPACE_HTML="http://www.w3.org/1999/xhtml",DEV=!1;var is_array=Array.isArray,index_of=Array.prototype.indexOf,includes=Array.prototype.includes,array_from=Array.from,object_keys=Object.keys,define_property=Object.defineProperty,get_descriptor=Object.getOwnPropertyDescriptor,get_descriptors=Object.getOwnPropertyDescriptors,object_prototype=Object.prototype,array_prototype=Array.prototype,get_prototype_of=Object.getPrototypeOf,is_extensible=Object.isExtensible;function is_function(d){return typeof d=="function"}const noop=()=>{};function run_all(d){for(var p=0;p<d.length;p++)d[p]()}function deferred(){var d,p,h=new Promise((g,m)=>{d=g,p=m});return{promise:h,resolve:d,reject:p}}const DERIVED=2,EFFECT=4,RENDER_EFFECT=8,MANAGED_EFFECT=1<<24,BLOCK_EFFECT=16,BRANCH_EFFECT=32,ROOT_EFFECT=64,BOUNDARY_EFFECT=128,CONNECTED=512,CLEAN=1024,DIRTY=2048,MAYBE_DIRTY=4096,INERT=8192,DESTROYED=16384,REACTION_RAN=32768,EFFECT_TRANSPARENT=65536,EAGER_EFFECT=1<<17,HEAD_EFFECT=1<<18,EFFECT_PRESERVED=1<<19,USER_EFFECT=1<<20,EFFECT_OFFSCREEN=1<<25,WAS_MARKED=65536,REACTION_IS_UPDATING=1<<21,ASYNC=1<<22,ERROR_VALUE=1<<23,STATE_SYMBOL=Symbol("$state"),LEGACY_PROPS=Symbol("legacy props"),LOADING_ATTR_SYMBOL=Symbol(""),STALE_REACTION=new class extends Error{constructor(){super(...arguments);ke(this,"name","StaleReactionError");ke(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},IS_XHTML=((at=(Ke=globalThis.document)==null?void 0:Ke.contentType)==null?void 0:at.includes("xml"))??!1,TEXT_NODE=3,COMMENT_NODE=8;function lifecycle_outside_component(d){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function async_derived_orphan(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function each_key_duplicate(d,p,h){throw new Error("https://svelte.dev/e/each_key_duplicate")}function effect_in_teardown(d){throw new Error("https://svelte.dev/e/effect_in_teardown")}function effect_in_unowned_derived(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function effect_orphan(d){throw new Error("https://svelte.dev/e/effect_orphan")}function effect_update_depth_exceeded(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function hydration_failed(){throw new Error("https://svelte.dev/e/hydration_failed")}function props_invalid_value(d){throw new Error("https://svelte.dev/e/props_invalid_value")}function state_descriptors_fixed(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function state_prototype_fixed(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function state_unsafe_mutation(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function svelte_boundary_reset_onerror(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function hydration_mismatch(d){console.warn("https://svelte.dev/e/hydration_mismatch")}function select_multiple_invalid_value(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function svelte_boundary_reset_noop(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let hydrating=!1;function set_hydrating(d){hydrating=d}let hydrate_node;function set_hydrate_node(d){if(d===null)throw hydration_mismatch(),HYDRATION_ERROR;return hydrate_node=d}function hydrate_next(){return set_hydrate_node(get_next_sibling(hydrate_node))}function reset(d){if(hydrating){if(get_next_sibling(hydrate_node)!==null)throw hydration_mismatch(),HYDRATION_ERROR;hydrate_node=d}}function next(d=1){if(hydrating){for(var p=d,h=hydrate_node;p--;)h=get_next_sibling(h);hydrate_node=h}}function skip_nodes(d=!0){for(var p=0,h=hydrate_node;;){if(h.nodeType===COMMENT_NODE){var g=h.data;if(g===HYDRATION_END){if(p===0)return h;p-=1}else(g===HYDRATION_START||g===HYDRATION_START_ELSE||g[0]==="["&&!isNaN(Number(g.slice(1))))&&(p+=1)}var m=get_next_sibling(h);d&&h.remove(),h=m}}function read_hydration_instruction(d){if(!d||d.nodeType!==COMMENT_NODE)throw hydration_mismatch(),HYDRATION_ERROR;return d.data}function equals(d){return d===this.v}function safe_not_equal(d,p){return d!=d?p==p:d!==p||d!==null&&typeof d=="object"||typeof d=="function"}function safe_equals(d){return!safe_not_equal(d,this.v)}let tracing_mode_flag=!1,component_context=null;function set_component_context(d){component_context=d}function push(d,p=!1,h){component_context={p:component_context,i:!1,c:null,e:null,s:d,x:null,l:null}}function pop(d){var p=component_context,h=p.e;if(h!==null){p.e=null;for(var g of h)create_user_effect(g)}return d!==void 0&&(p.x=d),p.i=!0,component_context=p.p,d??{}}function is_runes(){return!0}let micro_tasks=[];function run_micro_tasks(){var d=micro_tasks;micro_tasks=[],run_all(d)}function queue_micro_task(d){if(micro_tasks.length===0&&!is_flushing_sync){var p=micro_tasks;queueMicrotask(()=>{p===micro_tasks&&run_micro_tasks()})}micro_tasks.push(d)}function flush_tasks(){for(;micro_tasks.length>0;)run_micro_tasks()}function handle_error(d){var p=active_effect;if(p===null)return active_reaction.f|=ERROR_VALUE,d;if((p.f&REACTION_RAN)===0&&(p.f&EFFECT)===0)throw d;invoke_error_boundary(d,p)}function invoke_error_boundary(d,p){for(;p!==null;){if((p.f&BOUNDARY_EFFECT)!==0){if((p.f&REACTION_RAN)===0)throw d;try{p.b.error(d);return}catch(h){d=h}}p=p.parent}throw d}const STATUS_MASK=-7169;function set_signal_status(d,p){d.f=d.f&STATUS_MASK|p}function update_derived_status(d){(d.f&CONNECTED)!==0||d.deps===null?set_signal_status(d,CLEAN):set_signal_status(d,MAYBE_DIRTY)}function clear_marked(d){if(d!==null)for(const p of d)(p.f&DERIVED)===0||(p.f&WAS_MARKED)===0||(p.f^=WAS_MARKED,clear_marked(p.deps))}function defer_effect(d,p,h){(d.f&DIRTY)!==0?p.add(d):(d.f&MAYBE_DIRTY)!==0&&h.add(d),clear_marked(d.deps),set_signal_status(d,CLEAN)}const batches=new Set;let current_batch=null,previous_batch=null,batch_values=null,queued_root_effects=[],last_scheduled_effect=null,is_flushing=!1,is_flushing_sync=!1;const ir=class ir{constructor(){De(this,Dt);ke(this,"committed",!1);ke(this,"current",new Map);ke(this,"previous",new Map);De(this,Gt,new Set);De(this,xn,new Set);De(this,un,0);De(this,En,0);De(this,On,null);De(this,Dn,new Set);De(this,dn,new Set);De(this,Ht,new Map);ke(this,"is_fork",!1);De(this,Sn,!1)}is_deferred(){return this.is_fork||U(this,En)>0}skip_effect(p){U(this,Ht).has(p)||U(this,Ht).set(p,{d:[],m:[]})}unskip_effect(p){var h=U(this,Ht).get(p);if(h){U(this,Ht).delete(p);for(var g of h.d)set_signal_status(g,DIRTY),schedule_effect(g);for(g of h.m)set_signal_status(g,MAYBE_DIRTY),schedule_effect(g)}}process(p){var m;queued_root_effects=[],this.apply();var h=[],g=[];for(const _ of p)ft(this,Dt,yr).call(this,_,h,g);if(this.is_deferred()){ft(this,Dt,wr).call(this,g),ft(this,Dt,wr).call(this,h);for(const[_,b]of U(this,Ht))reset_branch(_,b)}else{for(const _ of U(this,Gt))_();U(this,Gt).clear(),U(this,un)===0&&ft(this,Dt,zr).call(this),previous_batch=this,current_batch=null,flush_queued_effects(g),flush_queued_effects(h),previous_batch=null,(m=U(this,On))==null||m.resolve()}batch_values=null}capture(p,h){h!==UNINITIALIZED&&!this.previous.has(p)&&this.previous.set(p,h),(p.f&ERROR_VALUE)===0&&(this.current.set(p,p.v),batch_values==null||batch_values.set(p,p.v))}activate(){current_batch=this,this.apply()}deactivate(){current_batch===this&&(current_batch=null,batch_values=null)}flush(){if(this.activate(),queued_root_effects.length>0){if(flush_effects(),current_batch!==null&¤t_batch!==this)return}else U(this,un)===0&&this.process([]);this.deactivate()}discard(){for(const p of U(this,xn))p(this);U(this,xn).clear()}increment(p){Me(this,un,U(this,un)+1),p&&Me(this,En,U(this,En)+1)}decrement(p){Me(this,un,U(this,un)-1),p&&Me(this,En,U(this,En)-1),!U(this,Sn)&&(Me(this,Sn,!0),queue_micro_task(()=>{Me(this,Sn,!1),this.is_deferred()?queued_root_effects.length>0&&this.flush():this.revive()}))}revive(){for(const p of U(this,Dn))U(this,dn).delete(p),set_signal_status(p,DIRTY),schedule_effect(p);for(const p of U(this,dn))set_signal_status(p,MAYBE_DIRTY),schedule_effect(p);this.flush()}oncommit(p){U(this,Gt).add(p)}ondiscard(p){U(this,xn).add(p)}settled(){return(U(this,On)??Me(this,On,deferred())).promise}static ensure(){if(current_batch===null){const p=current_batch=new ir;batches.add(current_batch),is_flushing_sync||queue_micro_task(()=>{current_batch===p&&p.flush()})}return current_batch}apply(){}};Gt=new WeakMap,xn=new WeakMap,un=new WeakMap,En=new WeakMap,On=new WeakMap,Dn=new WeakMap,dn=new WeakMap,Ht=new WeakMap,Sn=new WeakMap,Dt=new WeakSet,yr=function(p,h,g){p.f^=CLEAN;for(var m=p.first,_=null;m!==null;){var b=m.f,y=(b&(BRANCH_EFFECT|ROOT_EFFECT))!==0,w=y&&(b&CLEAN)!==0,x=w||(b&INERT)!==0||U(this,Ht).has(m);if(!x&&m.fn!==null){y?m.f^=CLEAN:_!==null&&(b&(EFFECT|RENDER_EFFECT|MANAGED_EFFECT))!==0?_.b.defer_effect(m):(b&EFFECT)!==0?h.push(m):is_dirty(m)&&((b&BLOCK_EFFECT)!==0&&U(this,dn).add(m),update_effect(m));var E=m.first;if(E!==null){m=E;continue}}var S=m.parent;for(m=m.next;m===null&&S!==null;)S===_&&(_=null),m=S.next,S=S.parent}},wr=function(p){for(var h=0;h<p.length;h+=1)defer_effect(p[h],U(this,Dn),U(this,dn))},zr=function(){var m;if(batches.size>1){this.previous.clear();var p=batch_values,h=!0;for(const _ of batches){if(_===this){h=!1;continue}const b=[];for(const[w,x]of this.current){if(_.current.has(w))if(h&&x!==_.current.get(w))_.current.set(w,x);else continue;b.push(w)}if(b.length===0)continue;const y=[..._.current.keys()].filter(w=>!this.current.has(w));if(y.length>0){var g=queued_root_effects;queued_root_effects=[];const w=new Set,x=new Map;for(const E of b)mark_effects(E,y,w,x);if(queued_root_effects.length>0){current_batch=_,_.apply();for(const E of queued_root_effects)ft(m=_,Dt,yr).call(m,E,[],[]);_.deactivate()}queued_root_effects=g}}current_batch=null,batch_values=p}this.committed=!0,batches.delete(this)};let Batch=ir;function flushSync(d){var p=is_flushing_sync;is_flushing_sync=!0;try{for(var h;;){if(flush_tasks(),queued_root_effects.length===0&&(current_batch==null||current_batch.flush(),queued_root_effects.length===0))return last_scheduled_effect=null,h;flush_effects()}}finally{is_flushing_sync=p}}function flush_effects(){is_flushing=!0;var d=null;try{for(var p=0;queued_root_effects.length>0;){var h=Batch.ensure();if(p++>1e3){var g,m;infinite_loop_guard()}h.process(queued_root_effects),old_values.clear()}}finally{queued_root_effects=[],is_flushing=!1,last_scheduled_effect=null}}function infinite_loop_guard(){try{effect_update_depth_exceeded()}catch(d){invoke_error_boundary(d,last_scheduled_effect)}}let eager_block_effects=null;function flush_queued_effects(d){var p=d.length;if(p!==0){for(var h=0;h<p;){var g=d[h++];if((g.f&(DESTROYED|INERT))===0&&is_dirty(g)&&(eager_block_effects=new Set,update_effect(g),g.deps===null&&g.first===null&&g.nodes===null&&g.teardown===null&&g.ac===null&&unlink_effect(g),(eager_block_effects==null?void 0:eager_block_effects.size)>0)){old_values.clear();for(const m of eager_block_effects){if((m.f&(DESTROYED|INERT))!==0)continue;const _=[m];let b=m.parent;for(;b!==null;)eager_block_effects.has(b)&&(eager_block_effects.delete(b),_.push(b)),b=b.parent;for(let y=_.length-1;y>=0;y--){const w=_[y];(w.f&(DESTROYED|INERT))===0&&update_effect(w)}}eager_block_effects.clear()}}eager_block_effects=null}}function mark_effects(d,p,h,g){if(!h.has(d)&&(h.add(d),d.reactions!==null))for(const m of d.reactions){const _=m.f;(_&DERIVED)!==0?mark_effects(m,p,h,g):(_&(ASYNC|BLOCK_EFFECT))!==0&&(_&DIRTY)===0&&depends_on(m,p,g)&&(set_signal_status(m,DIRTY),schedule_effect(m))}}function depends_on(d,p,h){const g=h.get(d);if(g!==void 0)return g;if(d.deps!==null)for(const m of d.deps){if(includes.call(p,m))return!0;if((m.f&DERIVED)!==0&&depends_on(m,p,h))return h.set(m,!0),!0}return h.set(d,!1),!1}function schedule_effect(d){for(var p=last_scheduled_effect=d;p.parent!==null;){p=p.parent;var h=p.f;if(is_flushing&&p===active_effect&&(h&BLOCK_EFFECT)!==0&&(h&HEAD_EFFECT)===0)return;if((h&(ROOT_EFFECT|BRANCH_EFFECT))!==0){if((h&CLEAN)===0)return;p.f^=CLEAN}}queued_root_effects.push(p)}function reset_branch(d,p){if(!((d.f&BRANCH_EFFECT)!==0&&(d.f&CLEAN)!==0)){(d.f&DIRTY)!==0?p.d.push(d):(d.f&MAYBE_DIRTY)!==0&&p.m.push(d),set_signal_status(d,CLEAN);for(var h=d.first;h!==null;)reset_branch(h,p),h=h.next}}function createSubscriber(d){let p=0,h=source(0),g;return()=>{effect_tracking()&&(get(h),render_effect(()=>(p===0&&(g=untrack(()=>d(()=>increment(h)))),p+=1,()=>{queue_micro_task(()=>{p-=1,p===0&&(g==null||g(),g=void 0,increment(h))})})))}}var flags=EFFECT_TRANSPARENT|EFFECT_PRESERVED|BOUNDARY_EFFECT;function boundary(d,p,h){new Boundary(d,p,h)}class Boundary{constructor(p,h,g){De(this,lt);ke(this,"parent");ke(this,"is_pending",!1);De(this,St);De(this,Ln,hydrating?hydrate_node:null);De(this,Lt);De(this,fn);De(this,Ft);De(this,At,null);De(this,yt,null);De(this,Pt,null);De(this,qt,null);De(this,rn,null);De(this,pn,0);De(this,Yt,0);De(this,kn,!1);De(this,hn,!1);De(this,Cn,new Set);De(this,In,new Set);De(this,Kt,null);De(this,Yn,createSubscriber(()=>(Me(this,Kt,source(U(this,pn))),()=>{Me(this,Kt,null)})));Me(this,St,p),Me(this,Lt,h),Me(this,fn,g),this.parent=active_effect.b,this.is_pending=!!U(this,Lt).pending,Me(this,Ft,block(()=>{if(active_effect.b=this,hydrating){const _=U(this,Ln);hydrate_next(),_.nodeType===COMMENT_NODE&&_.data===HYDRATION_START_ELSE?ft(this,lt,Dr).call(this):(ft(this,lt,Or).call(this),U(this,Yt)===0&&(this.is_pending=!1))}else{var m=ft(this,lt,xr).call(this);try{Me(this,At,branch(()=>g(m)))}catch(_){this.error(_)}U(this,Yt)>0?ft(this,lt,sr).call(this):this.is_pending=!1}return()=>{var _;(_=U(this,rn))==null||_.remove()}},flags)),hydrating&&Me(this,St,hydrate_node)}defer_effect(p){defer_effect(p,U(this,Cn),U(this,In))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!U(this,Lt).pending}update_pending_count(p){ft(this,lt,Er).call(this,p),Me(this,pn,U(this,pn)+p),!(!U(this,Kt)||U(this,kn))&&(Me(this,kn,!0),queue_micro_task(()=>{Me(this,kn,!1),U(this,Kt)&&internal_set(U(this,Kt),U(this,pn))}))}get_effect_pending(){return U(this,Yn).call(this),get(U(this,Kt))}error(p){var h=U(this,Lt).onerror;let g=U(this,Lt).failed;if(U(this,hn)||!h&&!g)throw p;U(this,At)&&(destroy_effect(U(this,At)),Me(this,At,null)),U(this,yt)&&(destroy_effect(U(this,yt)),Me(this,yt,null)),U(this,Pt)&&(destroy_effect(U(this,Pt)),Me(this,Pt,null)),hydrating&&(set_hydrate_node(U(this,Ln)),next(),set_hydrate_node(skip_nodes()));var m=!1,_=!1;const b=()=>{if(m){svelte_boundary_reset_noop();return}m=!0,_&&svelte_boundary_reset_onerror(),Batch.ensure(),Me(this,pn,0),U(this,Pt)!==null&&pause_effect(U(this,Pt),()=>{Me(this,Pt,null)}),this.is_pending=this.has_pending_snippet(),Me(this,At,ft(this,lt,or).call(this,()=>(Me(this,hn,!1),branch(()=>U(this,fn).call(this,U(this,St)))))),U(this,Yt)>0?ft(this,lt,sr).call(this):this.is_pending=!1};queue_micro_task(()=>{try{_=!0,h==null||h(p,b),_=!1}catch(y){invoke_error_boundary(y,U(this,Ft)&&U(this,Ft).parent)}g&&Me(this,Pt,ft(this,lt,or).call(this,()=>{Batch.ensure(),Me(this,hn,!0);try{return branch(()=>{g(U(this,St),()=>p,()=>b)})}catch(y){return invoke_error_boundary(y,U(this,Ft).parent),null}finally{Me(this,hn,!1)}}))})}}St=new WeakMap,Ln=new WeakMap,Lt=new WeakMap,fn=new WeakMap,Ft=new WeakMap,At=new WeakMap,yt=new WeakMap,Pt=new WeakMap,qt=new WeakMap,rn=new WeakMap,pn=new WeakMap,Yt=new WeakMap,kn=new WeakMap,hn=new WeakMap,Cn=new WeakMap,In=new WeakMap,Kt=new WeakMap,Yn=new WeakMap,lt=new WeakSet,Or=function(){try{Me(this,At,branch(()=>U(this,fn).call(this,U(this,St))))}catch(p){this.error(p)}},Dr=function(){const p=U(this,Lt).pending;p&&(Me(this,yt,branch(()=>p(U(this,St)))),queue_micro_task(()=>{var h=ft(this,lt,xr).call(this);Me(this,At,ft(this,lt,or).call(this,()=>(Batch.ensure(),branch(()=>U(this,fn).call(this,h))))),U(this,Yt)>0?ft(this,lt,sr).call(this):(pause_effect(U(this,yt),()=>{Me(this,yt,null)}),this.is_pending=!1)}))},xr=function(){var p=U(this,St);return this.is_pending&&(Me(this,rn,create_text()),U(this,St).before(U(this,rn)),p=U(this,rn)),p},or=function(p){var h=active_effect,g=active_reaction,m=component_context;set_active_effect(U(this,Ft)),set_active_reaction(U(this,Ft)),set_component_context(U(this,Ft).ctx);try{return p()}catch(_){return handle_error(_),null}finally{set_active_effect(h),set_active_reaction(g),set_component_context(m)}},sr=function(){const p=U(this,Lt).pending;U(this,At)!==null&&(Me(this,qt,document.createDocumentFragment()),U(this,qt).append(U(this,rn)),move_effect(U(this,At),U(this,qt))),U(this,yt)===null&&Me(this,yt,branch(()=>p(U(this,St))))},Er=function(p){var h;if(!this.has_pending_snippet()){this.parent&&ft(h=this.parent,lt,Er).call(h,p);return}if(Me(this,Yt,U(this,Yt)+p),U(this,Yt)===0){this.is_pending=!1;for(const g of U(this,Cn))set_signal_status(g,DIRTY),schedule_effect(g);for(const g of U(this,In))set_signal_status(g,MAYBE_DIRTY),schedule_effect(g);U(this,Cn).clear(),U(this,In).clear(),U(this,yt)&&pause_effect(U(this,yt),()=>{Me(this,yt,null)}),U(this,qt)&&(U(this,St).before(U(this,qt)),Me(this,qt,null))}};function flatten(d,p,h,g){const m=derived;var _=d.filter(k=>!k.settled);if(h.length===0&&_.length===0){g(p.map(m));return}var b=current_batch,y=active_effect,w=capture(),x=_.length===1?_[0].promise:_.length>1?Promise.all(_.map(k=>k.promise)):null;function E(k){w();try{g(k)}catch(I){(y.f&DESTROYED)===0&&invoke_error_boundary(I,y)}b==null||b.deactivate(),unset_context()}if(h.length===0){x.then(()=>E(p.map(m)));return}function S(){w(),Promise.all(h.map(k=>async_derived(k))).then(k=>E([...p.map(m),...k])).catch(k=>invoke_error_boundary(k,y))}x?x.then(S):S()}function capture(){var d=active_effect,p=active_reaction,h=component_context,g=current_batch;return function(_=!0){set_active_effect(d),set_active_reaction(p),set_component_context(h),_&&(g==null||g.activate())}}function unset_context(){set_active_effect(null),set_active_reaction(null),set_component_context(null)}function derived(d){var p=DERIVED|DIRTY,h=active_reaction!==null&&(active_reaction.f&DERIVED)!==0?active_reaction:null;return active_effect!==null&&(active_effect.f|=EFFECT_PRESERVED),{ctx:component_context,deps:null,effects:null,equals,f:p,fn:d,reactions:null,rv:0,v:UNINITIALIZED,wv:0,parent:h??active_effect,ac:null}}function async_derived(d,p,h){let g=active_effect;g===null&&async_derived_orphan();var m=g.b,_=void 0,b=source(UNINITIALIZED),y=!active_reaction,w=new Map;return async_effect(()=>{var I;var x=deferred();_=x.promise;try{Promise.resolve(d()).then(x.resolve,x.reject).then(()=>{E===current_batch&&E.committed&&E.deactivate(),unset_context()})}catch(A){x.reject(A),unset_context()}var E=current_batch;if(y){var S=m.is_rendered();m.update_pending_count(1),E.increment(S),(I=w.get(E))==null||I.reject(STALE_REACTION),w.delete(E),w.set(E,x)}const k=(A,M=void 0)=>{if(E.activate(),M)M!==STALE_REACTION&&(b.f|=ERROR_VALUE,internal_set(b,M));else{(b.f&ERROR_VALUE)!==0&&(b.f^=ERROR_VALUE),internal_set(b,A);for(const[R,C]of w){if(w.delete(R),R===E)break;C.reject(STALE_REACTION)}}y&&(m.update_pending_count(-1),E.decrement(S))};x.promise.then(k,A=>k(null,A||"unknown"))}),teardown(()=>{for(const x of w.values())x.reject(STALE_REACTION)}),new Promise(x=>{function E(S){function k(){S===_?x(b):E(_)}S.then(k,k)}E(_)})}function user_derived(d){const p=derived(d);return push_reaction_value(p),p}function derived_safe_equal(d){const p=derived(d);return p.equals=safe_equals,p}function destroy_derived_effects(d){var p=d.effects;if(p!==null){d.effects=null;for(var h=0;h<p.length;h+=1)destroy_effect(p[h])}}function get_derived_parent_effect(d){for(var p=d.parent;p!==null;){if((p.f&DERIVED)===0)return(p.f&DESTROYED)===0?p:null;p=p.parent}return null}function execute_derived(d){var p,h=active_effect;set_active_effect(get_derived_parent_effect(d));try{d.f&=~WAS_MARKED,destroy_derived_effects(d),p=update_reaction(d)}finally{set_active_effect(h)}return p}function update_derived(d){var p=execute_derived(d);if(!d.equals(p)&&(d.wv=increment_write_version(),(!(current_batch!=null&¤t_batch.is_fork)||d.deps===null)&&(d.v=p,d.deps===null))){set_signal_status(d,CLEAN);return}is_destroying_effect||(batch_values!==null?(effect_tracking()||current_batch!=null&¤t_batch.is_fork)&&batch_values.set(d,p):update_derived_status(d))}function freeze_derived_effects(d){var p,h;if(d.effects!==null)for(const g of d.effects)(g.teardown||g.ac)&&((p=g.teardown)==null||p.call(g),(h=g.ac)==null||h.abort(STALE_REACTION),g.teardown=noop,g.ac=null,remove_reactions(g,0),destroy_effect_children(g))}function unfreeze_derived_effects(d){if(d.effects!==null)for(const p of d.effects)p.teardown&&update_effect(p)}let eager_effects=new Set;const old_values=new Map;let eager_effects_deferred=!1;function source(d,p){var h={f:0,v:d,reactions:null,equals,rv:0,wv:0};return h}function state(d,p){const h=source(d);return push_reaction_value(h),h}function mutable_source(d,p=!1,h=!0){const g=source(d);return p||(g.equals=safe_equals),g}function set(d,p,h=!1){active_reaction!==null&&(!untracking||(active_reaction.f&EAGER_EFFECT)!==0)&&is_runes()&&(active_reaction.f&(DERIVED|BLOCK_EFFECT|ASYNC|EAGER_EFFECT))!==0&&(current_sources===null||!includes.call(current_sources,d))&&state_unsafe_mutation();let g=h?proxy(p):p;return internal_set(d,g)}function internal_set(d,p){if(!d.equals(p)){var h=d.v;is_destroying_effect?old_values.set(d,p):old_values.set(d,h),d.v=p;var g=Batch.ensure();if(g.capture(d,h),(d.f&DERIVED)!==0){const m=d;(d.f&DIRTY)!==0&&execute_derived(m),update_derived_status(m)}d.wv=increment_write_version(),mark_reactions(d,DIRTY),active_effect!==null&&(active_effect.f&CLEAN)!==0&&(active_effect.f&(BRANCH_EFFECT|ROOT_EFFECT))===0&&(untracked_writes===null?set_untracked_writes([d]):untracked_writes.push(d)),!g.is_fork&&eager_effects.size>0&&!eager_effects_deferred&&flush_eager_effects()}return p}function flush_eager_effects(){eager_effects_deferred=!1;for(const d of eager_effects)(d.f&CLEAN)!==0&&set_signal_status(d,MAYBE_DIRTY),is_dirty(d)&&update_effect(d);eager_effects.clear()}function increment(d){set(d,d.v+1)}function mark_reactions(d,p){var h=d.reactions;if(h!==null)for(var g=h.length,m=0;m<g;m++){var _=h[m],b=_.f,y=(b&DIRTY)===0;if(y&&set_signal_status(_,p),(b&DERIVED)!==0){var w=_;batch_values==null||batch_values.delete(w),(b&WAS_MARKED)===0&&(b&CONNECTED&&(_.f|=WAS_MARKED),mark_reactions(w,MAYBE_DIRTY))}else y&&((b&BLOCK_EFFECT)!==0&&eager_block_effects!==null&&eager_block_effects.add(_),schedule_effect(_))}}function proxy(d){if(typeof d!="object"||d===null||STATE_SYMBOL in d)return d;const p=get_prototype_of(d);if(p!==object_prototype&&p!==array_prototype)return d;var h=new Map,g=is_array(d),m=state(0),_=update_version,b=y=>{if(update_version===_)return y();var w=active_reaction,x=update_version;set_active_reaction(null),set_update_version(_);var E=y();return set_active_reaction(w),set_update_version(x),E};return g&&h.set("length",state(d.length)),new Proxy(d,{defineProperty(y,w,x){(!("value"in x)||x.configurable===!1||x.enumerable===!1||x.writable===!1)&&state_descriptors_fixed();var E=h.get(w);return E===void 0?b(()=>{var S=state(x.value);return h.set(w,S),S}):set(E,x.value,!0),!0},deleteProperty(y,w){var x=h.get(w);if(x===void 0){if(w in y){const E=b(()=>state(UNINITIALIZED));h.set(w,E),increment(m)}}else set(x,UNINITIALIZED),increment(m);return!0},get(y,w,x){var I;if(w===STATE_SYMBOL)return d;var E=h.get(w),S=w in y;if(E===void 0&&(!S||(I=get_descriptor(y,w))!=null&&I.writable)&&(E=b(()=>{var A=proxy(S?y[w]:UNINITIALIZED),M=state(A);return M}),h.set(w,E)),E!==void 0){var k=get(E);return k===UNINITIALIZED?void 0:k}return Reflect.get(y,w,x)},getOwnPropertyDescriptor(y,w){var x=Reflect.getOwnPropertyDescriptor(y,w);if(x&&"value"in x){var E=h.get(w);E&&(x.value=get(E))}else if(x===void 0){var S=h.get(w),k=S==null?void 0:S.v;if(S!==void 0&&k!==UNINITIALIZED)return{enumerable:!0,configurable:!0,value:k,writable:!0}}return x},has(y,w){var k;if(w===STATE_SYMBOL)return!0;var x=h.get(w),E=x!==void 0&&x.v!==UNINITIALIZED||Reflect.has(y,w);if(x!==void 0||active_effect!==null&&(!E||(k=get_descriptor(y,w))!=null&&k.writable)){x===void 0&&(x=b(()=>{var I=E?proxy(y[w]):UNINITIALIZED,A=state(I);return A}),h.set(w,x));var S=get(x);if(S===UNINITIALIZED)return!1}return E},set(y,w,x,E){var $;var S=h.get(w),k=w in y;if(g&&w==="length")for(var I=x;I<S.v;I+=1){var A=h.get(I+"");A!==void 0?set(A,UNINITIALIZED):I in y&&(A=b(()=>state(UNINITIALIZED)),h.set(I+"",A))}if(S===void 0)(!k||($=get_descriptor(y,w))!=null&&$.writable)&&(S=b(()=>state(void 0)),set(S,proxy(x)),h.set(w,S));else{k=S.v!==UNINITIALIZED;var M=b(()=>proxy(x));set(S,M)}var R=Reflect.getOwnPropertyDescriptor(y,w);if(R!=null&&R.set&&R.set.call(E,x),!k){if(g&&typeof w=="string"){var C=h.get("length"),N=Number(w);Number.isInteger(N)&&N>=C.v&&set(C,N+1)}increment(m)}return!0},ownKeys(y){get(m);var w=Reflect.ownKeys(y).filter(S=>{var k=h.get(S);return k===void 0||k.v!==UNINITIALIZED});for(var[x,E]of h)E.v!==UNINITIALIZED&&!(x in y)&&w.push(x);return w},setPrototypeOf(){state_prototype_fixed()}})}function get_proxied_value(d){try{if(d!==null&&typeof d=="object"&&STATE_SYMBOL in d)return d[STATE_SYMBOL]}catch{}return d}function is(d,p){return Object.is(get_proxied_value(d),get_proxied_value(p))}var $window,is_firefox,first_child_getter,next_sibling_getter;function init_operations(){if($window===void 0){$window=window,is_firefox=/Firefox/.test(navigator.userAgent);var d=Element.prototype,p=Node.prototype,h=Text.prototype;first_child_getter=get_descriptor(p,"firstChild").get,next_sibling_getter=get_descriptor(p,"nextSibling").get,is_extensible(d)&&(d.__click=void 0,d.__className=void 0,d.__attributes=null,d.__style=void 0,d.__e=void 0),is_extensible(h)&&(h.__t=void 0)}}function create_text(d=""){return document.createTextNode(d)}function get_first_child(d){return first_child_getter.call(d)}function get_next_sibling(d){return next_sibling_getter.call(d)}function child(d,p){if(!hydrating)return get_first_child(d);var h=get_first_child(hydrate_node);if(h===null)h=hydrate_node.appendChild(create_text());else if(p&&h.nodeType!==TEXT_NODE){var g=create_text();return h==null||h.before(g),set_hydrate_node(g),g}return p&&merge_text_nodes(h),set_hydrate_node(h),h}function first_child(d,p=!1){if(!hydrating){var h=get_first_child(d);return h instanceof Comment&&h.data===""?get_next_sibling(h):h}if(p){if((hydrate_node==null?void 0:hydrate_node.nodeType)!==TEXT_NODE){var g=create_text();return hydrate_node==null||hydrate_node.before(g),set_hydrate_node(g),g}merge_text_nodes(hydrate_node)}return hydrate_node}function sibling(d,p=1,h=!1){let g=hydrating?hydrate_node:d;for(var m;p--;)m=g,g=get_next_sibling(g);if(!hydrating)return g;if(h){if((g==null?void 0:g.nodeType)!==TEXT_NODE){var _=create_text();return g===null?m==null||m.after(_):g.before(_),set_hydrate_node(_),_}merge_text_nodes(g)}return set_hydrate_node(g),g}function clear_text_content(d){d.textContent=""}function should_defer_append(){return!1}function create_element(d,p,h){return document.createElementNS(NAMESPACE_HTML,d,void 0)}function merge_text_nodes(d){if(d.nodeValue.length<65536)return;let p=d.nextSibling;for(;p!==null&&p.nodeType===TEXT_NODE;)p.remove(),d.nodeValue+=p.nodeValue,p=d.nextSibling}function remove_textarea_child(d){hydrating&&get_first_child(d)!==null&&clear_text_content(d)}let listening_to_form_reset=!1;function add_form_reset_listener(){listening_to_form_reset||(listening_to_form_reset=!0,document.addEventListener("reset",d=>{Promise.resolve().then(()=>{var p;if(!d.defaultPrevented)for(const h of d.target.elements)(p=h.__on_r)==null||p.call(h)})},{capture:!0}))}function without_reactive_context(d){var p=active_reaction,h=active_effect;set_active_reaction(null),set_active_effect(null);try{return d()}finally{set_active_reaction(p),set_active_effect(h)}}function listen_to_event_and_reset_event(d,p,h,g=h){d.addEventListener(p,()=>without_reactive_context(h));const m=d.__on_r;m?d.__on_r=()=>{m(),g(!0)}:d.__on_r=()=>g(!0),add_form_reset_listener()}function validate_effect(d){active_effect===null&&(active_reaction===null&&effect_orphan(),effect_in_unowned_derived()),is_destroying_effect&&effect_in_teardown()}function push_effect(d,p){var h=p.last;h===null?p.last=p.first=d:(h.next=d,d.prev=h,p.last=d)}function create_effect(d,p,h){var g=active_effect;g!==null&&(g.f&INERT)!==0&&(d|=INERT);var m={ctx:component_context,deps:null,nodes:null,f:d|DIRTY|CONNECTED,first:null,fn:p,last:null,next:null,parent:g,b:g&&g.b,prev:null,teardown:null,wv:0,ac:null};if(h)try{update_effect(m)}catch(y){throw destroy_effect(m),y}else p!==null&&schedule_effect(m);var _=m;if(h&&_.deps===null&&_.teardown===null&&_.nodes===null&&_.first===_.last&&(_.f&EFFECT_PRESERVED)===0&&(_=_.first,(d&BLOCK_EFFECT)!==0&&(d&EFFECT_TRANSPARENT)!==0&&_!==null&&(_.f|=EFFECT_TRANSPARENT)),_!==null&&(_.parent=g,g!==null&&push_effect(_,g),active_reaction!==null&&(active_reaction.f&DERIVED)!==0&&(d&ROOT_EFFECT)===0)){var b=active_reaction;(b.effects??(b.effects=[])).push(_)}return m}function effect_tracking(){return active_reaction!==null&&!untracking}function teardown(d){const p=create_effect(RENDER_EFFECT,null,!1);return set_signal_status(p,CLEAN),p.teardown=d,p}function user_effect(d){validate_effect();var p=active_effect.f,h=!active_reaction&&(p&BRANCH_EFFECT)!==0&&(p&REACTION_RAN)===0;if(h){var g=component_context;(g.e??(g.e=[])).push(d)}else return create_user_effect(d)}function create_user_effect(d){return create_effect(EFFECT|USER_EFFECT,d,!1)}function effect_root(d){Batch.ensure();const p=create_effect(ROOT_EFFECT|EFFECT_PRESERVED,d,!0);return()=>{destroy_effect(p)}}function component_root(d){Batch.ensure();const p=create_effect(ROOT_EFFECT|EFFECT_PRESERVED,d,!0);return(h={})=>new Promise(g=>{h.outro?pause_effect(p,()=>{destroy_effect(p),g(void 0)}):(destroy_effect(p),g(void 0))})}function effect(d){return create_effect(EFFECT,d,!1)}function async_effect(d){return create_effect(ASYNC|EFFECT_PRESERVED,d,!0)}function render_effect(d,p=0){return create_effect(RENDER_EFFECT|p,d,!0)}function template_effect(d,p=[],h=[],g=[]){flatten(g,p,h,m=>{create_effect(RENDER_EFFECT,()=>d(...m.map(get)),!0)})}function block(d,p=0){var h=create_effect(BLOCK_EFFECT|p,d,!0);return h}function branch(d){return create_effect(BRANCH_EFFECT|EFFECT_PRESERVED,d,!0)}function execute_effect_teardown(d){var p=d.teardown;if(p!==null){const h=is_destroying_effect,g=active_reaction;set_is_destroying_effect(!0),set_active_reaction(null);try{p.call(null)}finally{set_is_destroying_effect(h),set_active_reaction(g)}}}function destroy_effect_children(d,p=!1){var h=d.first;for(d.first=d.last=null;h!==null;){const m=h.ac;m!==null&&without_reactive_context(()=>{m.abort(STALE_REACTION)});var g=h.next;(h.f&ROOT_EFFECT)!==0?h.parent=null:destroy_effect(h,p),h=g}}function destroy_block_effect_children(d){for(var p=d.first;p!==null;){var h=p.next;(p.f&BRANCH_EFFECT)===0&&destroy_effect(p),p=h}}function destroy_effect(d,p=!0){var h=!1;(p||(d.f&HEAD_EFFECT)!==0)&&d.nodes!==null&&d.nodes.end!==null&&(remove_effect_dom(d.nodes.start,d.nodes.end),h=!0),destroy_effect_children(d,p&&!h),remove_reactions(d,0),set_signal_status(d,DESTROYED);var g=d.nodes&&d.nodes.t;if(g!==null)for(const _ of g)_.stop();execute_effect_teardown(d);var m=d.parent;m!==null&&m.first!==null&&unlink_effect(d),d.next=d.prev=d.teardown=d.ctx=d.deps=d.fn=d.nodes=d.ac=null}function remove_effect_dom(d,p){for(;d!==null;){var h=d===p?null:get_next_sibling(d);d.remove(),d=h}}function unlink_effect(d){var p=d.parent,h=d.prev,g=d.next;h!==null&&(h.next=g),g!==null&&(g.prev=h),p!==null&&(p.first===d&&(p.first=g),p.last===d&&(p.last=h))}function pause_effect(d,p,h=!0){var g=[];pause_children(d,g,!0);var m=()=>{h&&destroy_effect(d),p&&p()},_=g.length;if(_>0){var b=()=>--_||m();for(var y of g)y.out(b)}else m()}function pause_children(d,p,h){if((d.f&INERT)===0){d.f^=INERT;var g=d.nodes&&d.nodes.t;if(g!==null)for(const y of g)(y.is_global||h)&&p.push(y);for(var m=d.first;m!==null;){var _=m.next,b=(m.f&EFFECT_TRANSPARENT)!==0||(m.f&BRANCH_EFFECT)!==0&&(d.f&BLOCK_EFFECT)!==0;pause_children(m,p,b?h:!1),m=_}}}function resume_effect(d){resume_children(d,!0)}function resume_children(d,p){if((d.f&INERT)!==0){d.f^=INERT,(d.f&CLEAN)===0&&(set_signal_status(d,DIRTY),schedule_effect(d));for(var h=d.first;h!==null;){var g=h.next,m=(h.f&EFFECT_TRANSPARENT)!==0||(h.f&BRANCH_EFFECT)!==0;resume_children(h,m?p:!1),h=g}var _=d.nodes&&d.nodes.t;if(_!==null)for(const b of _)(b.is_global||p)&&b.in()}}function move_effect(d,p){if(d.nodes)for(var h=d.nodes.start,g=d.nodes.end;h!==null;){var m=h===g?null:get_next_sibling(h);p.append(h),h=m}}let is_updating_effect=!1,is_destroying_effect=!1;function set_is_destroying_effect(d){is_destroying_effect=d}let active_reaction=null,untracking=!1;function set_active_reaction(d){active_reaction=d}let active_effect=null;function set_active_effect(d){active_effect=d}let current_sources=null;function push_reaction_value(d){active_reaction!==null&&(current_sources===null?current_sources=[d]:current_sources.push(d))}let new_deps=null,skipped_deps=0,untracked_writes=null;function set_untracked_writes(d){untracked_writes=d}let write_version=1,read_version=0,update_version=read_version;function set_update_version(d){update_version=d}function increment_write_version(){return++write_version}function is_dirty(d){var p=d.f;if((p&DIRTY)!==0)return!0;if(p&DERIVED&&(d.f&=~WAS_MARKED),(p&MAYBE_DIRTY)!==0){for(var h=d.deps,g=h.length,m=0;m<g;m++){var _=h[m];if(is_dirty(_)&&update_derived(_),_.wv>d.wv)return!0}(p&CONNECTED)!==0&&batch_values===null&&set_signal_status(d,CLEAN)}return!1}function schedule_possible_effect_self_invalidation(d,p,h=!0){var g=d.reactions;if(g!==null&&!(current_sources!==null&&includes.call(current_sources,d)))for(var m=0;m<g.length;m++){var _=g[m];(_.f&DERIVED)!==0?schedule_possible_effect_self_invalidation(_,p,!1):p===_&&(h?set_signal_status(_,DIRTY):(_.f&CLEAN)!==0&&set_signal_status(_,MAYBE_DIRTY),schedule_effect(_))}}function update_reaction(d){var M;var p=new_deps,h=skipped_deps,g=untracked_writes,m=active_reaction,_=current_sources,b=component_context,y=untracking,w=update_version,x=d.f;new_deps=null,skipped_deps=0,untracked_writes=null,active_reaction=(x&(BRANCH_EFFECT|ROOT_EFFECT))===0?d:null,current_sources=null,set_component_context(d.ctx),untracking=!1,update_version=++read_version,d.ac!==null&&(without_reactive_context(()=>{d.ac.abort(STALE_REACTION)}),d.ac=null);try{d.f|=REACTION_IS_UPDATING;var E=d.fn,S=E();d.f|=REACTION_RAN;var k=d.deps,I=current_batch==null?void 0:current_batch.is_fork;if(new_deps!==null){var A;if(I||remove_reactions(d,skipped_deps),k!==null&&skipped_deps>0)for(k.length=skipped_deps+new_deps.length,A=0;A<new_deps.length;A++)k[skipped_deps+A]=new_deps[A];else d.deps=k=new_deps;if(effect_tracking()&&(d.f&CONNECTED)!==0)for(A=skipped_deps;A<k.length;A++)((M=k[A]).reactions??(M.reactions=[])).push(d)}else!I&&k!==null&&skipped_deps<k.length&&(remove_reactions(d,skipped_deps),k.length=skipped_deps);if(is_runes()&&untracked_writes!==null&&!untracking&&k!==null&&(d.f&(DERIVED|MAYBE_DIRTY|DIRTY))===0)for(A=0;A<untracked_writes.length;A++)schedule_possible_effect_self_invalidation(untracked_writes[A],d);if(m!==null&&m!==d){if(read_version++,m.deps!==null)for(let R=0;R<h;R+=1)m.deps[R].rv=read_version;if(p!==null)for(const R of p)R.rv=read_version;untracked_writes!==null&&(g===null?g=untracked_writes:g.push(...untracked_writes))}return(d.f&ERROR_VALUE)!==0&&(d.f^=ERROR_VALUE),S}catch(R){return handle_error(R)}finally{d.f^=REACTION_IS_UPDATING,new_deps=p,skipped_deps=h,untracked_writes=g,active_reaction=m,current_sources=_,set_component_context(b),untracking=y,update_version=w}}function remove_reaction(d,p){let h=p.reactions;if(h!==null){var g=index_of.call(h,d);if(g!==-1){var m=h.length-1;m===0?h=p.reactions=null:(h[g]=h[m],h.pop())}}if(h===null&&(p.f&DERIVED)!==0&&(new_deps===null||!includes.call(new_deps,p))){var _=p;(_.f&CONNECTED)!==0&&(_.f^=CONNECTED,_.f&=~WAS_MARKED),update_derived_status(_),freeze_derived_effects(_),remove_reactions(_,0)}}function remove_reactions(d,p){var h=d.deps;if(h!==null)for(var g=p;g<h.length;g++)remove_reaction(d,h[g])}function update_effect(d){var p=d.f;if((p&DESTROYED)===0){set_signal_status(d,CLEAN);var h=active_effect,g=is_updating_effect;active_effect=d,is_updating_effect=!0;try{(p&(BLOCK_EFFECT|MANAGED_EFFECT))!==0?destroy_block_effect_children(d):destroy_effect_children(d),execute_effect_teardown(d);var m=update_reaction(d);d.teardown=typeof m=="function"?m:null,d.wv=write_version;var _;DEV&&tracing_mode_flag&&(d.f&DIRTY)!==0&&d.deps}finally{is_updating_effect=g,active_effect=h}}}async function tick(){await Promise.resolve(),flushSync()}function get(d){var p=d.f,h=(p&DERIVED)!==0;if(active_reaction!==null&&!untracking){var g=active_effect!==null&&(active_effect.f&DESTROYED)!==0;if(!g&&(current_sources===null||!includes.call(current_sources,d))){var m=active_reaction.deps;if((active_reaction.f&REACTION_IS_UPDATING)!==0)d.rv<read_version&&(d.rv=read_version,new_deps===null&&m!==null&&m[skipped_deps]===d?skipped_deps++:new_deps===null?new_deps=[d]:new_deps.push(d));else{(active_reaction.deps??(active_reaction.deps=[])).push(d);var _=d.reactions;_===null?d.reactions=[active_reaction]:includes.call(_,active_reaction)||_.push(active_reaction)}}}if(is_destroying_effect&&old_values.has(d))return old_values.get(d);if(h){var b=d;if(is_destroying_effect){var y=b.v;return((b.f&CLEAN)===0&&b.reactions!==null||depends_on_old_values(b))&&(y=execute_derived(b)),old_values.set(b,y),y}var w=(b.f&CONNECTED)===0&&!untracking&&active_reaction!==null&&(is_updating_effect||(active_reaction.f&CONNECTED)!==0),x=(b.f&REACTION_RAN)===0;is_dirty(b)&&(w&&(b.f|=CONNECTED),update_derived(b)),w&&!x&&(unfreeze_derived_effects(b),reconnect(b))}if(batch_values!=null&&batch_values.has(d))return batch_values.get(d);if((d.f&ERROR_VALUE)!==0)throw d.v;return d.v}function reconnect(d){if(d.f|=CONNECTED,d.deps!==null)for(const p of d.deps)(p.reactions??(p.reactions=[])).push(d),(p.f&DERIVED)!==0&&(p.f&CONNECTED)===0&&(unfreeze_derived_effects(p),reconnect(p))}function depends_on_old_values(d){if(d.v===UNINITIALIZED)return!0;if(d.deps===null)return!1;for(const p of d.deps)if(old_values.has(p)||(p.f&DERIVED)!==0&&depends_on_old_values(p))return!0;return!1}function untrack(d){var p=untracking;try{return untracking=!0,d()}finally{untracking=p}}const PASSIVE_EVENTS=["touchstart","touchmove"];function is_passive_event(d){return PASSIVE_EVENTS.includes(d)}const event_symbol=Symbol("events"),all_registered_events=new Set,root_event_handles=new Set;function create_event(d,p,h,g={}){function m(_){if(g.capture||handle_event_propagation.call(p,_),!_.cancelBubble)return without_reactive_context(()=>h==null?void 0:h.call(this,_))}return d.startsWith("pointer")||d.startsWith("touch")||d==="wheel"?queue_micro_task(()=>{p.addEventListener(d,m,g)}):p.addEventListener(d,m,g),m}function event(d,p,h,g,m){var _={capture:g,passive:m},b=create_event(d,p,h,_);(p===document.body||p===window||p===document||p instanceof HTMLMediaElement)&&teardown(()=>{p.removeEventListener(d,b,_)})}function delegated(d,p,h){(p[event_symbol]??(p[event_symbol]={}))[d]=h}function delegate(d){for(var p=0;p<d.length;p++)all_registered_events.add(d[p]);for(var h of root_event_handles)h(d)}let last_propagated_event=null;function handle_event_propagation(d){var R,C;var p=this,h=p.ownerDocument,g=d.type,m=((R=d.composedPath)==null?void 0:R.call(d))||[],_=m[0]||d.target;last_propagated_event=d;var b=0,y=last_propagated_event===d&&d.__root;if(y){var w=m.indexOf(y);if(w!==-1&&(p===document||p===window)){d.__root=p;return}var x=m.indexOf(p);if(x===-1)return;w<=x&&(b=w)}if(_=m[b]||d.target,_!==p){define_property(d,"currentTarget",{configurable:!0,get(){return _||h}});var E=active_reaction,S=active_effect;set_active_reaction(null),set_active_effect(null);try{for(var k,I=[];_!==null;){var A=_.assignedSlot||_.parentNode||_.host||null;try{var M=(C=_[event_symbol])==null?void 0:C[g];M!=null&&(!_.disabled||d.target===_)&&M.call(_,d)}catch(N){k?I.push(N):k=N}if(d.cancelBubble||A===p||A===null)break;_=A}if(k){for(let N of I)queueMicrotask(()=>{throw N});throw k}}finally{d.__root=p,delete d.currentTarget,set_active_reaction(E),set_active_effect(S)}}}const policy=(kr=(Sr=globalThis==null?void 0:globalThis.window)==null?void 0:Sr.trustedTypes)==null?void 0:kr.createPolicy("svelte-trusted-html",{createHTML:d=>d});function create_trusted_html(d){return(policy==null?void 0:policy.createHTML(d))??d}function create_fragment_from_html(d,p=!1){var h=create_element("template");return d=d.replaceAll("<!>","<!---->"),h.innerHTML=p?create_trusted_html(d):d,h.content}function assign_nodes(d,p){var h=active_effect;h.nodes===null&&(h.nodes={start:d,end:p,a:null,t:null})}function from_html(d,p){var h=(p&TEMPLATE_FRAGMENT)!==0,g=(p&TEMPLATE_USE_IMPORT_NODE)!==0,m,_=!d.startsWith("<!>");return()=>{if(hydrating)return assign_nodes(hydrate_node,null),hydrate_node;m===void 0&&(m=create_fragment_from_html(_?d:"<!>"+d,!0),h||(m=get_first_child(m)));var b=g||is_firefox?document.importNode(m,!0):m.cloneNode(!0);if(h){var y=get_first_child(b),w=b.lastChild;assign_nodes(y,w)}else assign_nodes(b,b);return b}}function from_namespace(d,p,h="svg"){var g=!d.startsWith("<!>"),m=(p&TEMPLATE_FRAGMENT)!==0,_=`<${h}>${g?d:"<!>"+d}</${h}>`,b;return()=>{if(hydrating)return assign_nodes(hydrate_node,null),hydrate_node;if(!b){var y=create_fragment_from_html(_,!0),w=get_first_child(y);if(m)for(b=document.createDocumentFragment();get_first_child(w);)b.appendChild(get_first_child(w));else b=get_first_child(w)}var x=b.cloneNode(!0);if(m){var E=get_first_child(x),S=x.lastChild;assign_nodes(E,S)}else assign_nodes(x,x);return x}}function from_svg(d,p){return from_namespace(d,p,"svg")}function text(d=""){if(!hydrating){var p=create_text(d+"");return assign_nodes(p,p),p}var h=hydrate_node;return h.nodeType!==TEXT_NODE?(h.before(h=create_text()),set_hydrate_node(h)):merge_text_nodes(h),assign_nodes(h,h),h}function comment(){if(hydrating)return assign_nodes(hydrate_node,null),hydrate_node;var d=document.createDocumentFragment(),p=document.createComment(""),h=create_text();return d.append(p,h),assign_nodes(p,h),d}function append(d,p){if(hydrating){var h=active_effect;((h.f&REACTION_RAN)===0||h.nodes.end===null)&&(h.nodes.end=hydrate_node),hydrate_next();return}d!==null&&d.before(p)}let should_intro=!0;function set_text(d,p){var h=p==null?"":typeof p=="object"?p+"":p;h!==(d.__t??(d.__t=d.nodeValue))&&(d.__t=h,d.nodeValue=h+"")}function mount(d,p){return _mount(d,p)}function hydrate(d,p){init_operations(),p.intro=p.intro??!1;const h=p.target,g=hydrating,m=hydrate_node;try{for(var _=get_first_child(h);_&&(_.nodeType!==COMMENT_NODE||_.data!==HYDRATION_START);)_=get_next_sibling(_);if(!_)throw HYDRATION_ERROR;set_hydrating(!0),set_hydrate_node(_);const b=_mount(d,{...p,anchor:_});return set_hydrating(!1),b}catch(b){if(b instanceof Error&&b.message.split(`
|
|
2
|
+
`).some(y=>y.startsWith("https://svelte.dev/e/")))throw b;return b!==HYDRATION_ERROR&&console.warn("Failed to hydrate: ",b),p.recover===!1&&hydration_failed(),init_operations(),clear_text_content(h),set_hydrating(!1),mount(d,p)}finally{set_hydrating(g),set_hydrate_node(m)}}const listeners=new Map;function _mount(d,{target:p,anchor:h,props:g={},events:m,context:_,intro:b=!0}){init_operations();var y=new Set,w=S=>{for(var k=0;k<S.length;k++){var I=S[k];if(!y.has(I)){y.add(I);var A=is_passive_event(I);for(const C of[p,document]){var M=listeners.get(C);M===void 0&&(M=new Map,listeners.set(C,M));var R=M.get(I);R===void 0?(C.addEventListener(I,handle_event_propagation,{passive:A}),M.set(I,1)):M.set(I,R+1)}}}};w(array_from(all_registered_events)),root_event_handles.add(w);var x=void 0,E=component_root(()=>{var S=h??p.appendChild(create_text());return boundary(S,{pending:()=>{}},k=>{push({});var I=component_context;if(_&&(I.c=_),m&&(g.$$events=m),hydrating&&assign_nodes(k,null),should_intro=b,x=d(k,g)||{},should_intro=!0,hydrating&&(active_effect.nodes.end=hydrate_node,hydrate_node===null||hydrate_node.nodeType!==COMMENT_NODE||hydrate_node.data!==HYDRATION_END))throw hydration_mismatch(),HYDRATION_ERROR;pop()}),()=>{var M;for(var k of y)for(const R of[p,document]){var I=listeners.get(R),A=I.get(k);--A==0?(R.removeEventListener(k,handle_event_propagation),I.delete(k),I.size===0&&listeners.delete(R)):I.set(k,A)}root_event_handles.delete(w),S!==h&&((M=S.parentNode)==null||M.removeChild(S))}});return mounted_components.set(x,E),x}let mounted_components=new WeakMap;function unmount(d,p){const h=mounted_components.get(d);return h?(mounted_components.delete(d),h(p)):Promise.resolve()}class BranchManager{constructor(p,h=!0){ke(this,"anchor");De(this,$t,new Map);De(this,Zt,new Map);De(this,kt,new Map);De(this,gn,new Set);De(this,Fn,!0);De(this,Pn,()=>{var p=current_batch;if(U(this,$t).has(p)){var h=U(this,$t).get(p),g=U(this,Zt).get(h);if(g)resume_effect(g),U(this,gn).delete(h);else{var m=U(this,kt).get(h);m&&(U(this,Zt).set(h,m.effect),U(this,kt).delete(h),m.fragment.lastChild.remove(),this.anchor.before(m.fragment),g=m.effect)}for(const[_,b]of U(this,$t)){if(U(this,$t).delete(_),_===p)break;const y=U(this,kt).get(b);y&&(destroy_effect(y.effect),U(this,kt).delete(b))}for(const[_,b]of U(this,Zt)){if(_===h||U(this,gn).has(_))continue;const y=()=>{if(Array.from(U(this,$t).values()).includes(_)){var x=document.createDocumentFragment();move_effect(b,x),x.append(create_text()),U(this,kt).set(_,{effect:b,fragment:x})}else destroy_effect(b);U(this,gn).delete(_),U(this,Zt).delete(_)};U(this,Fn)||!g?(U(this,gn).add(_),pause_effect(b,y,!1)):y()}}});De(this,Kn,p=>{U(this,$t).delete(p);const h=Array.from(U(this,$t).values());for(const[g,m]of U(this,kt))h.includes(g)||(destroy_effect(m.effect),U(this,kt).delete(g))});this.anchor=p,Me(this,Fn,h)}ensure(p,h){var g=current_batch,m=should_defer_append();if(h&&!U(this,Zt).has(p)&&!U(this,kt).has(p))if(m){var _=document.createDocumentFragment(),b=create_text();_.append(b),U(this,kt).set(p,{effect:branch(()=>h(b)),fragment:_})}else U(this,Zt).set(p,branch(()=>h(this.anchor)));if(U(this,$t).set(g,p),m){for(const[y,w]of U(this,Zt))y===p?g.unskip_effect(w):g.skip_effect(w);for(const[y,w]of U(this,kt))y===p?g.unskip_effect(w.effect):g.skip_effect(w.effect);g.oncommit(U(this,Pn)),g.ondiscard(U(this,Kn))}else hydrating&&(this.anchor=hydrate_node),U(this,Pn).call(this)}}$t=new WeakMap,Zt=new WeakMap,kt=new WeakMap,gn=new WeakMap,Fn=new WeakMap,Pn=new WeakMap,Kn=new WeakMap;function onMount(d){component_context===null&&lifecycle_outside_component(),user_effect(()=>{const p=untrack(d);if(typeof p=="function")return p})}function onDestroy(d){component_context===null&&lifecycle_outside_component(),onMount(()=>()=>untrack(d))}function if_block(d,p,h=!1){hydrating&&hydrate_next();var g=new BranchManager(d),m=h?EFFECT_TRANSPARENT:0;function _(b,y){if(hydrating){const E=read_hydration_instruction(d);var w;if(E===HYDRATION_START?w=0:E===HYDRATION_START_ELSE?w=!1:w=parseInt(E.substring(1)),b!==w){var x=skip_nodes();set_hydrate_node(x),g.anchor=x,set_hydrating(!1),g.ensure(b,y),set_hydrating(!0);return}}g.ensure(b,y)}block(()=>{var b=!1;p((y,w=0)=>{b=!0,_(w,y)}),b||_(!1,null)},m)}const NAN=Symbol("NaN");function key(d,p,h){hydrating&&hydrate_next();var g=new BranchManager(d);block(()=>{var m=p();m!==m&&(m=NAN),g.ensure(m,h)})}function index(d,p){return p}function pause_effects(d,p,h){for(var g=[],m=p.length,_,b=p.length,y=0;y<m;y++){let S=p[y];pause_effect(S,()=>{if(_){if(_.pending.delete(S),_.done.add(S),_.pending.size===0){var k=d.outrogroups;destroy_effects(array_from(_.done)),k.delete(_),k.size===0&&(d.outrogroups=null)}}else b-=1},!1)}if(b===0){var w=g.length===0&&h!==null;if(w){var x=h,E=x.parentNode;clear_text_content(E),E.append(x),d.items.clear()}destroy_effects(p,!w)}else _={pending:new Set(p),done:new Set},(d.outrogroups??(d.outrogroups=new Set)).add(_)}function destroy_effects(d,p=!0){for(var h=0;h<d.length;h++)destroy_effect(d[h],p)}var offscreen_anchor;function each(d,p,h,g,m,_=null){var b=d,y=new Map,w=(p&EACH_IS_CONTROLLED)!==0;if(w){var x=d;b=hydrating?set_hydrate_node(get_first_child(x)):x.appendChild(create_text())}hydrating&&hydrate_next();var E=null,S=derived_safe_equal(()=>{var C=h();return is_array(C)?C:C==null?[]:array_from(C)}),k,I=!0;function A(){R.fallback=E,reconcile(R,k,b,p,g),E!==null&&(k.length===0?(E.f&EFFECT_OFFSCREEN)===0?resume_effect(E):(E.f^=EFFECT_OFFSCREEN,move(E,null,b)):pause_effect(E,()=>{E=null}))}var M=block(()=>{k=get(S);var C=k.length;let N=!1;if(hydrating){var $=read_hydration_instruction(b)===HYDRATION_START_ELSE;$!==(C===0)&&(b=skip_nodes(),set_hydrate_node(b),set_hydrating(!1),N=!0)}for(var O=new Set,F=current_batch,j=should_defer_append(),Y=0;Y<C;Y+=1){hydrating&&hydrate_node.nodeType===COMMENT_NODE&&hydrate_node.data===HYDRATION_END&&(b=hydrate_node,N=!0,set_hydrating(!1));var q=k[Y],de=g(q,Y),oe=I?null:y.get(de);oe?(oe.v&&internal_set(oe.v,q),oe.i&&internal_set(oe.i,Y),j&&F.unskip_effect(oe.e)):(oe=create_item(y,I?b:offscreen_anchor??(offscreen_anchor=create_text()),q,de,Y,m,p,h),I||(oe.e.f|=EFFECT_OFFSCREEN),y.set(de,oe)),O.add(de)}if(C===0&&_&&!E&&(I?E=branch(()=>_(b)):(E=branch(()=>_(offscreen_anchor??(offscreen_anchor=create_text()))),E.f|=EFFECT_OFFSCREEN)),C>O.size&&each_key_duplicate(),hydrating&&C>0&&set_hydrate_node(skip_nodes()),!I)if(j){for(const[ce,se]of y)O.has(ce)||F.skip_effect(se.e);F.oncommit(A),F.ondiscard(()=>{})}else A();N&&set_hydrating(!0),get(S)}),R={effect:M,items:y,outrogroups:null,fallback:E};I=!1,hydrating&&(b=hydrate_node)}function skip_to_branch(d){for(;d!==null&&(d.f&BRANCH_EFFECT)===0;)d=d.next;return d}function reconcile(d,p,h,g,m){var oe,ce,se,ye,ve,Te,Ee,me,Se;var _=(g&EACH_IS_ANIMATED)!==0,b=p.length,y=d.items,w=skip_to_branch(d.effect.first),x,E=null,S,k=[],I=[],A,M,R,C;if(_)for(C=0;C<b;C+=1)A=p[C],M=m(A,C),R=y.get(M).e,(R.f&EFFECT_OFFSCREEN)===0&&((ce=(oe=R.nodes)==null?void 0:oe.a)==null||ce.measure(),(S??(S=new Set)).add(R));for(C=0;C<b;C+=1){if(A=p[C],M=m(A,C),R=y.get(M).e,d.outrogroups!==null)for(const T of d.outrogroups)T.pending.delete(R),T.done.delete(R);if((R.f&EFFECT_OFFSCREEN)!==0)if(R.f^=EFFECT_OFFSCREEN,R===w)move(R,null,h);else{var N=E?E.next:w;R===d.effect.last&&(d.effect.last=R.prev),R.prev&&(R.prev.next=R.next),R.next&&(R.next.prev=R.prev),link(d,E,R),link(d,R,N),move(R,N,h),E=R,k=[],I=[],w=skip_to_branch(E.next);continue}if((R.f&INERT)!==0&&(resume_effect(R),_&&((ye=(se=R.nodes)==null?void 0:se.a)==null||ye.unfix(),(S??(S=new Set)).delete(R))),R!==w){if(x!==void 0&&x.has(R)){if(k.length<I.length){var $=I[0],O;E=$.prev;var F=k[0],j=k[k.length-1];for(O=0;O<k.length;O+=1)move(k[O],$,h);for(O=0;O<I.length;O+=1)x.delete(I[O]);link(d,F.prev,j.next),link(d,E,F),link(d,j,$),w=$,E=j,C-=1,k=[],I=[]}else x.delete(R),move(R,w,h),link(d,R.prev,R.next),link(d,R,E===null?d.effect.first:E.next),link(d,E,R),E=R;continue}for(k=[],I=[];w!==null&&w!==R;)(x??(x=new Set)).add(w),I.push(w),w=skip_to_branch(w.next);if(w===null)continue}(R.f&EFFECT_OFFSCREEN)===0&&k.push(R),E=R,w=skip_to_branch(R.next)}if(d.outrogroups!==null){for(const T of d.outrogroups)T.pending.size===0&&(destroy_effects(array_from(T.done)),(ve=d.outrogroups)==null||ve.delete(T));d.outrogroups.size===0&&(d.outrogroups=null)}if(w!==null||x!==void 0){var Y=[];if(x!==void 0)for(R of x)(R.f&INERT)===0&&Y.push(R);for(;w!==null;)(w.f&INERT)===0&&w!==d.fallback&&Y.push(w),w=skip_to_branch(w.next);var q=Y.length;if(q>0){var de=(g&EACH_IS_CONTROLLED)!==0&&b===0?h:null;if(_){for(C=0;C<q;C+=1)(Ee=(Te=Y[C].nodes)==null?void 0:Te.a)==null||Ee.measure();for(C=0;C<q;C+=1)(Se=(me=Y[C].nodes)==null?void 0:me.a)==null||Se.fix()}pause_effects(d,Y,de)}}_&&queue_micro_task(()=>{var T,z;if(S!==void 0)for(R of S)(z=(T=R.nodes)==null?void 0:T.a)==null||z.apply()})}function create_item(d,p,h,g,m,_,b,y){var w=(b&EACH_ITEM_REACTIVE)!==0?(b&EACH_ITEM_IMMUTABLE)===0?mutable_source(h,!1,!1):source(h):null,x=(b&EACH_INDEX_REACTIVE)!==0?source(m):null;return{v:w,i:x,e:branch(()=>(_(p,w??h,x??m,y),()=>{d.delete(g)}))}}function move(d,p,h){if(d.nodes)for(var g=d.nodes.start,m=d.nodes.end,_=p&&(p.f&EFFECT_OFFSCREEN)===0?p.nodes.start:h;g!==null;){var b=get_next_sibling(g);if(_.before(g),g===m)return;g=b}}function link(d,p,h){p===null?d.effect.first=h:p.next=h,h===null?d.effect.last=p:h.prev=p}function html(d,p,h=!1,g=!1,m=!1){var _=d,b="";template_effect(()=>{var y=active_effect;if(b===(b=p()??"")){hydrating&&hydrate_next();return}if(y.nodes!==null&&(remove_effect_dom(y.nodes.start,y.nodes.end),y.nodes=null),b!==""){if(hydrating){hydrate_node.data;for(var w=hydrate_next(),x=w;w!==null&&(w.nodeType!==COMMENT_NODE||w.data!=="");)x=w,w=get_next_sibling(w);if(w===null)throw hydration_mismatch(),HYDRATION_ERROR;assign_nodes(hydrate_node,x),_=set_hydrate_node(w);return}var E=b+"";h?E=`<svg>${E}</svg>`:g&&(E=`<math>${E}</math>`);var S=create_fragment_from_html(E);if((h||g)&&(S=get_first_child(S)),assign_nodes(get_first_child(S),S.lastChild),h||g)for(;get_first_child(S);)_.before(get_first_child(S));else _.before(S)}})}const now=()=>performance.now(),raf={tick:d=>requestAnimationFrame(d),now:()=>now(),tasks:new Set};function run_tasks(){const d=raf.now();raf.tasks.forEach(p=>{p.c(d)||(raf.tasks.delete(p),p.f())}),raf.tasks.size!==0&&raf.tick(run_tasks)}function loop(d){let p;return raf.tasks.size===0&&raf.tick(run_tasks),{promise:new Promise(h=>{raf.tasks.add(p={c:d,f:h})}),abort(){raf.tasks.delete(p)}}}function dispatch_event(d,p){without_reactive_context(()=>{d.dispatchEvent(new CustomEvent(p))})}function css_property_to_camelcase(d){if(d==="float")return"cssFloat";if(d==="offset")return"cssOffset";if(d.startsWith("--"))return d;const p=d.split("-");return p.length===1?p[0]:p[0]+p.slice(1).map(h=>h[0].toUpperCase()+h.slice(1)).join("")}function css_to_keyframe(d){const p={},h=d.split(";");for(const g of h){const[m,_]=g.split(":");if(!m||_===void 0)break;const b=css_property_to_camelcase(m.trim());p[b]=_.trim()}return p}const linear=d=>d;function transition(d,p,h,g){var R;var m=(d&TRANSITION_GLOBAL)!==0,_="both",b,y=p.inert,w=p.style.overflow,x,E;function S(){return without_reactive_context(()=>b??(b=h()(p,(g==null?void 0:g())??{},{direction:_})))}var k={is_global:m,in(){p.inert=y,x=animate(p,S(),E,1,()=>{dispatch_event(p,"introend"),x==null||x.abort(),x=b=void 0,p.style.overflow=w})},out(C){p.inert=!0,E=animate(p,S(),x,0,()=>{dispatch_event(p,"outroend"),C==null||C()})},stop:()=>{x==null||x.abort(),E==null||E.abort()}},I=active_effect;if(((R=I.nodes).t??(R.t=[])).push(k),should_intro){var A=m;if(!A){for(var M=I.parent;M&&(M.f&EFFECT_TRANSPARENT)!==0;)for(;(M=M.parent)&&(M.f&BLOCK_EFFECT)===0;);A=!M||(M.f&REACTION_RAN)!==0}A&&effect(()=>{untrack(()=>k.in())})}}function animate(d,p,h,g,m){var _=g===1;if(is_function(p)){var b,y=!1;return queue_micro_task(()=>{if(!y){var R=p({direction:_?"in":"out"});b=animate(d,R,h,g,m)}}),{abort:()=>{y=!0,b==null||b.abort()},deactivate:()=>b.deactivate(),reset:()=>b.reset(),t:()=>b.t()}}if(h==null||h.deactivate(),!(p!=null&&p.duration)&&!(p!=null&&p.delay))return dispatch_event(d,_?"introstart":"outrostart"),m(),{abort:noop,deactivate:noop,reset:noop,t:()=>g};const{delay:w=0,css:x,tick:E,easing:S=linear}=p;var k=[];if(_&&h===void 0&&(E&&E(0,1),x)){var I=css_to_keyframe(x(0,1));k.push(I,I)}var A=()=>1-g,M=d.animate(k,{duration:w,fill:"forwards"});return M.onfinish=()=>{M.cancel(),dispatch_event(d,_?"introstart":"outrostart");var R=(h==null?void 0:h.t())??1-g;h==null||h.abort();var C=g-R,N=p.duration*Math.abs(C),$=[];if(N>0){var O=!1;if(x)for(var F=Math.ceil(N/16.666666666666668),j=0;j<=F;j+=1){var Y=R+C*S(j/F),q=css_to_keyframe(x(Y,1-Y));$.push(q),O||(O=q.overflow==="hidden")}O&&(d.style.overflow="hidden"),A=()=>{var de=M.currentTime;return R+C*S(de/N)},E&&loop(()=>{if(M.playState!=="running")return!1;var de=A();return E(de,1-de),!0})}M=d.animate($,{duration:N,fill:"forwards"}),M.onfinish=()=>{A=()=>g,E==null||E(g,1-g),m()}},{abort:()=>{M&&(M.cancel(),M.effect=null,M.onfinish=noop)},deactivate:()=>{m=noop},reset:()=>{g===0&&(E==null||E(1,0))},t:()=>A()}}function append_styles(d,p){effect(()=>{var h=d.getRootNode(),g=h.host?h:h.head??h.ownerDocument.head;if(!g.querySelector("#"+p.hash)){const m=create_element("style");m.id=p.hash,m.textContent=p.code,g.appendChild(m)}})}const whitespace=[...`
|
|
3
|
+
\r\f \v\uFEFF`];function to_class(d,p,h){var g=d==null?"":""+d;if(p&&(g=g?g+" "+p:p),h){for(var m in h)if(h[m])g=g?g+" "+m:m;else if(g.length)for(var _=m.length,b=0;(b=g.indexOf(m,b))>=0;){var y=b+_;(b===0||whitespace.includes(g[b-1]))&&(y===g.length||whitespace.includes(g[y]))?g=(b===0?"":g.substring(0,b))+g.substring(y+1):b=y}}return g===""?null:g}function to_style(d,p){return d==null?null:String(d)}function set_class(d,p,h,g,m,_){var b=d.__className;if(hydrating||b!==h||b===void 0){var y=to_class(h,g,_);(!hydrating||y!==d.getAttribute("class"))&&(y==null?d.removeAttribute("class"):p?d.className=y:d.setAttribute("class",y)),d.__className=h}else if(_&&m!==_)for(var w in _){var x=!!_[w];(m==null||x!==!!m[w])&&d.classList.toggle(w,x)}return _}function set_style(d,p,h,g){var m=d.__style;if(hydrating||m!==p){var _=to_style(p);(!hydrating||_!==d.getAttribute("style"))&&(_==null?d.removeAttribute("style"):d.style.cssText=_),d.__style=p}return g}function select_option(d,p,h=!1){if(d.multiple){if(p==null)return;if(!is_array(p))return select_multiple_invalid_value();for(var g of d.options)g.selected=p.includes(get_option_value(g));return}for(g of d.options){var m=get_option_value(g);if(is(m,p)){g.selected=!0;return}}(!h||p!==void 0)&&(d.selectedIndex=-1)}function init_select(d){var p=new MutationObserver(()=>{select_option(d,d.__value)});p.observe(d,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),teardown(()=>{p.disconnect()})}function bind_select_value(d,p,h=p){var g=new WeakSet,m=!0;listen_to_event_and_reset_event(d,"change",_=>{var b=_?"[selected]":":checked",y;if(d.multiple)y=[].map.call(d.querySelectorAll(b),get_option_value);else{var w=d.querySelector(b)??d.querySelector("option:not([disabled])");y=w&&get_option_value(w)}h(y),current_batch!==null&&g.add(current_batch)}),effect(()=>{var _=p();if(d===document.activeElement){var b=previous_batch??current_batch;if(g.has(b))return}if(select_option(d,_,m),m&&_===void 0){var y=d.querySelector(":checked");y!==null&&(_=get_option_value(y),h(_))}d.__value=_,m=!1}),init_select(d)}function get_option_value(d){return"__value"in d?d.__value:d.value}const IS_CUSTOM_ELEMENT=Symbol("is custom element"),IS_HTML=Symbol("is html"),LINK_TAG=IS_XHTML?"link":"LINK";function remove_input_defaults(d){if(hydrating){var p=!1,h=()=>{if(!p){if(p=!0,d.hasAttribute("value")){var g=d.value;set_attribute(d,"value",null),d.value=g}if(d.hasAttribute("checked")){var m=d.checked;set_attribute(d,"checked",null),d.checked=m}}};d.__on_r=h,queue_micro_task(h),add_form_reset_listener()}}function set_checked(d,p){var h=get_attributes(d);h.checked!==(h.checked=p??void 0)&&(d.checked=p)}function set_attribute(d,p,h,g){var m=get_attributes(d);hydrating&&(m[p]=d.getAttribute(p),p==="src"||p==="srcset"||p==="href"&&d.nodeName===LINK_TAG)||m[p]!==(m[p]=h)&&(p==="loading"&&(d[LOADING_ATTR_SYMBOL]=h),h==null?d.removeAttribute(p):typeof h!="string"&&get_setters(d).includes(p)?d[p]=h:d.setAttribute(p,h))}function get_attributes(d){return d.__attributes??(d.__attributes={[IS_CUSTOM_ELEMENT]:d.nodeName.includes("-"),[IS_HTML]:d.namespaceURI===NAMESPACE_HTML})}var setters_cache=new Map;function get_setters(d){var p=d.getAttribute("is")||d.nodeName,h=setters_cache.get(p);if(h)return h;setters_cache.set(p,h=[]);for(var g,m=d,_=Element.prototype;_!==m;){g=get_descriptors(m);for(var b in g)g[b].set&&h.push(b);m=get_prototype_of(m)}return h}function bind_value(d,p,h=p){var g=new WeakSet;listen_to_event_and_reset_event(d,"input",async m=>{var _=m?d.defaultValue:d.value;if(_=is_numberlike_input(d)?to_number(_):_,h(_),current_batch!==null&&g.add(current_batch),await tick(),_!==(_=p())){var b=d.selectionStart,y=d.selectionEnd,w=d.value.length;if(d.value=_??"",y!==null){var x=d.value.length;b===y&&y===w&&x>w?(d.selectionStart=x,d.selectionEnd=x):(d.selectionStart=b,d.selectionEnd=Math.min(y,x))}}}),(hydrating&&d.defaultValue!==d.value||untrack(p)==null&&d.value)&&(h(is_numberlike_input(d)?to_number(d.value):d.value),current_batch!==null&&g.add(current_batch)),render_effect(()=>{var m=p();if(d===document.activeElement){var _=previous_batch??current_batch;if(g.has(_))return}is_numberlike_input(d)&&m===to_number(d.value)||d.type==="date"&&!m&&!d.value||m!==d.value&&(d.value=m??"")})}function is_numberlike_input(d){var p=d.type;return p==="number"||p==="range"}function to_number(d){return d===""?null:+d}function is_bound_this(d,p){return d===p||(d==null?void 0:d[STATE_SYMBOL])===p}function bind_this(d={},p,h,g){return effect(()=>{var m,_;return render_effect(()=>{m=_,_=[],untrack(()=>{d!==h(..._)&&(p(d,..._),m&&is_bound_this(h(...m),d)&&p(null,...m))})}),()=>{queue_micro_task(()=>{_&&is_bound_this(h(..._),d)&&p(null,..._)})}}),d}let is_store_binding=!1;function capture_store_binding(d){var p=is_store_binding;try{return is_store_binding=!1,[d(),is_store_binding]}finally{is_store_binding=p}}function prop(d,p,h,g){var N;var m=(h&PROPS_IS_BINDABLE)!==0,_=(h&PROPS_IS_LAZY_INITIAL)!==0,b=g,y=!0,w=()=>(y&&(y=!1,b=_?untrack(g):g),b),x;if(m){var E=STATE_SYMBOL in d||LEGACY_PROPS in d;x=((N=get_descriptor(d,p))==null?void 0:N.set)??(E&&p in d?$=>d[p]=$:void 0)}var S,k=!1;m?[S,k]=capture_store_binding(()=>d[p]):S=d[p],S===void 0&&g!==void 0&&(S=w(),x&&(props_invalid_value(),x(S)));var I;if(I=()=>{var $=d[p];return $===void 0?w():(y=!0,$)},(h&PROPS_IS_UPDATED)===0)return I;if(x){var A=d.$$legacy;return(function($,O){return arguments.length>0?((!O||A||k)&&x(O?I():$),$):I()})}var M=!1,R=((h&PROPS_IS_IMMUTABLE)!==0?derived:derived_safe_equal)(()=>(M=!1,I()));m&&get(R);var C=active_effect;return(function($,O){if(arguments.length>0){const F=O?get(R):m?proxy($):$;return set(R,F),M=!0,b!==void 0&&(b=F),$}return is_destroying_effect&&M||(C.f&DESTROYED)!==0?R.v:get(R)})}function createClassComponent(d){return new Svelte4Component(d)}class Svelte4Component{constructor(p){De(this,Xt);De(this,Rt);var _;var h=new Map,g=(b,y)=>{var w=mutable_source(y,!1,!1);return h.set(b,w),w};const m=new Proxy({...p.props||{},$$events:{}},{get(b,y){return get(h.get(y)??g(y,Reflect.get(b,y)))},has(b,y){return y===LEGACY_PROPS?!0:(get(h.get(y)??g(y,Reflect.get(b,y))),Reflect.has(b,y))},set(b,y,w){return set(h.get(y)??g(y,w),w),Reflect.set(b,y,w)}});Me(this,Rt,(p.hydrate?hydrate:mount)(p.component,{target:p.target,anchor:p.anchor,props:m,context:p.context,intro:p.intro??!1,recover:p.recover})),(!((_=p==null?void 0:p.props)!=null&&_.$$host)||p.sync===!1)&&flushSync(),Me(this,Xt,m.$$events);for(const b of Object.keys(U(this,Rt)))b==="$set"||b==="$destroy"||b==="$on"||define_property(this,b,{get(){return U(this,Rt)[b]},set(y){U(this,Rt)[b]=y},enumerable:!0});U(this,Rt).$set=b=>{Object.assign(m,b)},U(this,Rt).$destroy=()=>{unmount(U(this,Rt))}}$set(p){U(this,Rt).$set(p)}$on(p,h){U(this,Xt)[p]=U(this,Xt)[p]||[];const g=(...m)=>h.call(this,...m);return U(this,Xt)[p].push(g),()=>{U(this,Xt)[p]=U(this,Xt)[p].filter(m=>m!==g)}}$destroy(){U(this,Rt).$destroy()}}Xt=new WeakMap,Rt=new WeakMap;let SvelteElement;typeof HTMLElement=="function"&&(SvelteElement=class extends HTMLElement{constructor(p,h,g){super();ke(this,"$$ctor");ke(this,"$$s");ke(this,"$$c");ke(this,"$$cn",!1);ke(this,"$$d",{});ke(this,"$$r",!1);ke(this,"$$p_d",{});ke(this,"$$l",{});ke(this,"$$l_u",new Map);ke(this,"$$me");ke(this,"$$shadowRoot",null);this.$$ctor=p,this.$$s=h,g&&(this.$$shadowRoot=this.attachShadow(g))}addEventListener(p,h,g){if(this.$$l[p]=this.$$l[p]||[],this.$$l[p].push(h),this.$$c){const m=this.$$c.$on(p,h);this.$$l_u.set(h,m)}super.addEventListener(p,h,g)}removeEventListener(p,h,g){if(super.removeEventListener(p,h,g),this.$$c){const m=this.$$l_u.get(h);m&&(m(),this.$$l_u.delete(h))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let p=function(m){return _=>{const b=create_element("slot");m!=="default"&&(b.name=m),append(_,b)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const h={},g=get_custom_elements_slots(this);for(const m of this.$$s)m in g&&(m==="default"&&!this.$$d.children?(this.$$d.children=p(m),h.default=!0):h[m]=p(m));for(const m of this.attributes){const _=this.$$g_p(m.name);_ in this.$$d||(this.$$d[_]=get_custom_element_value(_,m.value,this.$$p_d,"toProp"))}for(const m in this.$$p_d)!(m in this.$$d)&&this[m]!==void 0&&(this.$$d[m]=this[m],delete this[m]);this.$$c=createClassComponent({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:h,$$host:this}}),this.$$me=effect_root(()=>{render_effect(()=>{var m;this.$$r=!0;for(const _ of object_keys(this.$$c)){if(!((m=this.$$p_d[_])!=null&&m.reflect))continue;this.$$d[_]=this.$$c[_];const b=get_custom_element_value(_,this.$$d[_],this.$$p_d,"toAttribute");b==null?this.removeAttribute(this.$$p_d[_].attribute||_):this.setAttribute(this.$$p_d[_].attribute||_,b)}this.$$r=!1})});for(const m in this.$$l)for(const _ of this.$$l[m]){const b=this.$$c.$on(m,_);this.$$l_u.set(_,b)}this.$$l={}}}attributeChangedCallback(p,h,g){var m;this.$$r||(p=this.$$g_p(p),this.$$d[p]=get_custom_element_value(p,g,this.$$p_d,"toProp"),(m=this.$$c)==null||m.$set({[p]:this.$$d[p]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(p){return object_keys(this.$$p_d).find(h=>this.$$p_d[h].attribute===p||!this.$$p_d[h].attribute&&h.toLowerCase()===p)||p}});function get_custom_element_value(d,p,h,g){var _;const m=(_=h[d])==null?void 0:_.type;if(p=m==="Boolean"&&typeof p!="boolean"?p!=null:p,!g||!h[d])return p;if(g==="toAttribute")switch(m){case"Object":case"Array":return p==null?null:JSON.stringify(p);case"Boolean":return p?"":null;case"Number":return p??null;default:return p}else switch(m){case"Object":case"Array":return p&&JSON.parse(p);case"Boolean":return p;case"Number":return p!=null?+p:p;default:return p}}function get_custom_elements_slots(d){const p={};return d.childNodes.forEach(h=>{p[h.slot||"default"]=!0}),p}function create_custom_element(d,p,h,g,m,_){let b=class extends SvelteElement{constructor(){super(d,h,m),this.$$p_d=p}static get observedAttributes(){return object_keys(p).map(y=>(p[y].attribute||y).toLowerCase())}};return object_keys(p).forEach(y=>{define_property(b.prototype,y,{get(){return this.$$c&&y in this.$$c?this.$$c[y]:this.$$d[y]},set(w){var S;w=get_custom_element_value(y,w,p),this.$$d[y]=w;var x=this.$$c;if(x){var E=(S=get_descriptor(x,y))==null?void 0:S.get;E?x[y]=w:x.$set({[y]:w})}}})}),g.forEach(y=>{define_property(b.prototype,y,{get(){var w;return(w=this.$$c)==null?void 0:w[y]}})}),d.element=b,b}const DEFAULT_CONFIG={endpoint:"",position:"bottom-right",theme:"dark",buttonColor:"#3b82f6",maxScreenshots:5,maxConsoleLogs:50,captureConsole:!0},SENSITIVE_PATTERNS=[/\b(api[_-]?key|apikey|api[_-]?token|access[_-]?token|auth[_-]?token|bearer)\s*[:=]\s*["']?[\w\-\.]+["']?/gi,/\bBearer\s+[\w\-\.]+/gi,/\b(sk|pk|rk)[_-][a-zA-Z0-9]{20,}/gi,/\bghp_[a-zA-Z0-9]{36,}/gi,/\bsk-[a-zA-Z0-9]{20,}/gi,/\b(password|passwd|pwd|secret|credential)\s*[:=]\s*["']?[^"'\s,}{]+["']?/gi,/\beyJ[a-zA-Z0-9_-]*\.eyJ[a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*/gi,/\b\d{4}[\s\-]?\d{4}[\s\-]?\d{4}[\s\-]?\d{4}\b/g,/\b(email|e-mail)\s*[:=]\s*["']?[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}["']?/gi,/-----BEGIN\s+(RSA\s+)?PRIVATE\s+KEY-----[\s\S]*?-----END\s+(RSA\s+)?PRIVATE\s+KEY-----/gi,/\b(AKIA|ABIA|ACCA|AGPA|AIDA|AIPA|AKIA|ANPA|ANVA|AROA|APKA|ASCA|ASIA)[A-Z0-9]{16}\b/g,/\b(aws[_-]?secret[_-]?access[_-]?key|aws[_-]?access[_-]?key[_-]?id)\s*[:=]\s*["']?[\w\/\+]+["']?/gi],REDACTED="[REDACTED]";function filterSensitiveData(d){let p=d;for(const h of SENSITIVE_PATTERNS)h.lastIndex=0,p=p.replace(h,REDACTED);return p}let maxEntries=50;const capturedLogs=[];let capturing$1=!1;const originalConsole={log:console.log,error:console.error,warn:console.warn,info:console.info,debug:console.debug,trace:console.trace};function safeStringify(d){if(d===null)return"null";if(d===void 0)return"undefined";if(typeof d=="string")return d;if(typeof d=="number"||typeof d=="boolean")return String(d);if(typeof d=="symbol")return d.toString();if(typeof d=="function")return`[Function: ${d.name||"anonymous"}]`;if(d instanceof Error)return`${d.name}: ${d.message}${d.stack?`
|
|
4
|
+
`+d.stack:""}`;if(typeof d=="object")try{const p=new WeakSet;return JSON.stringify(d,(h,g)=>{if(typeof g=="object"&&g!==null){if(p.has(g))return"[Circular]";p.add(g)}return typeof g=="function"?`[Function: ${g.name||"anonymous"}]`:g instanceof Error?`${g.name}: ${g.message}`:g},2)}catch{return"[Object - stringify failed]"}return String(d)}function captureStackInfo(){const d=new Error().stack;if(!d)return{};const h=d.split(`
|
|
5
|
+
`).slice(4),g=h.join(`
|
|
6
|
+
`),_=(h[0]||"").match(/(?:at\s+(?:\S+\s+)?\()?([^()]+):(\d+):(\d+)\)?/);return _?{stackTrace:g,fileName:_[1],lineNumber:parseInt(_[2],10),columnNumber:parseInt(_[3],10)}:{stackTrace:g}}function isNavigatorLockAbortError(d){if(d.length===0)return!1;const p=d[0];return p instanceof DOMException&&(p.name==="AbortError"||p.message==="The operation was aborted.")}function createLogEntry(d,p,h){const g=new Date,m=filterSensitiveData(p.map(safeStringify).join(" ")),_={type:d,message:m,timestamp:g.toISOString(),timestampMs:g.getTime(),url:window.location.href};return(h||d==="error"||d==="warn"||d==="trace")&&Object.assign(_,captureStackInfo()),_}function addLogEntry(d){for(capturedLogs.push(d);capturedLogs.length>maxEntries;)capturedLogs.shift()}function startConsoleCapture(d){capturing$1||(capturing$1=!0,d&&(maxEntries=d),console.log=(...p)=>{originalConsole.log(...p),addLogEntry(createLogEntry("log",p,!1))},console.error=(...p)=>{originalConsole.error(...p),!isNavigatorLockAbortError(p)&&addLogEntry(createLogEntry("error",p,!0))},console.warn=(...p)=>{originalConsole.warn(...p),addLogEntry(createLogEntry("warn",p,!0))},console.info=(...p)=>{originalConsole.info(...p),addLogEntry(createLogEntry("info",p,!1))},console.debug=(...p)=>{originalConsole.debug(...p),addLogEntry(createLogEntry("debug",p,!1))},console.trace=(...p)=>{originalConsole.trace(...p),addLogEntry(createLogEntry("trace",p,!0))})}function stopConsoleCapture(){capturing$1&&(capturing$1=!1,console.log=originalConsole.log,console.error=originalConsole.error,console.warn=originalConsole.warn,console.info=originalConsole.info,console.debug=originalConsole.debug,console.trace=originalConsole.trace)}function getCapturedLogs(){return[...capturedLogs]}const MAX_ENTRIES$1=100,capturedRequests=[];let capturing=!1,originalFetch,originalXHROpen,originalXHRSend;function addEntry(d){for(capturedRequests.push(d);capturedRequests.length>MAX_ENTRIES$1;)capturedRequests.shift()}function safeFilterBody(d){if(d!=null){if(typeof d=="string")return d.length>2048?filterSensitiveData(d.slice(0,2048))+"...[truncated]":filterSensitiveData(d);if(d instanceof URLSearchParams)return filterSensitiveData(d.toString());if(d instanceof FormData)return"[FormData]";if(d instanceof Blob)return`[Blob ${d.size}B]`;if(d instanceof ArrayBuffer||ArrayBuffer.isView(d))return`[Binary ${d.byteLength??d.byteLength}B]`}}function installFetchIntercept(){originalFetch=window.fetch,window.fetch=function(d,p){var b;const h=Date.now(),g=((b=p==null?void 0:p.method)==null?void 0:b.toUpperCase())||"GET",m=filterSensitiveData(typeof d=="string"?d:d instanceof URL?d.href:d.url),_=safeFilterBody(p==null?void 0:p.body);return originalFetch.call(window,d,p).then(y=>(addEntry({method:g,url:m,status:y.status,duration:Date.now()-h,timestampMs:h,requestBody:_,responseType:y.headers.get("content-type")||void 0}),y),y=>{throw addEntry({method:g,url:m,status:null,duration:Date.now()-h,timestampMs:h,requestBody:_,error:y instanceof Error?y.message:String(y)}),y})}}function installXHRIntercept(){originalXHROpen=XMLHttpRequest.prototype.open,originalXHRSend=XMLHttpRequest.prototype.send,XMLHttpRequest.prototype.open=function(d,p,...h){return this._nc_method=d.toUpperCase(),this._nc_url=filterSensitiveData(typeof p=="string"?p:p.href),originalXHROpen.apply(this,[d,p,...h])},XMLHttpRequest.prototype.send=function(d){const p=this,h=Date.now(),g=safeFilterBody(d),m=()=>{addEntry({method:p._nc_method||"UNKNOWN",url:p._nc_url||"",status:p.status||null,duration:Date.now()-h,timestampMs:h,requestBody:g,responseType:p.getResponseHeader("content-type")||void 0})},_=()=>{addEntry({method:p._nc_method||"UNKNOWN",url:p._nc_url||"",status:null,duration:Date.now()-h,timestampMs:h,requestBody:g,error:"Network error"})};return p.addEventListener("load",m),p.addEventListener("error",_),p.addEventListener("abort",_),originalXHRSend.call(this,d)}}function startNetworkCapture(){capturing||(capturing=!0,installFetchIntercept(),installXHRIntercept())}function stopNetworkCapture(){capturing&&(capturing=!1,window.fetch=originalFetch,XMLHttpRequest.prototype.open=originalXHROpen,XMLHttpRequest.prototype.send=originalXHRSend)}function getCapturedRequests(){return[...capturedRequests]}function clearCapturedRequests(){capturedRequests.length=0}function getXPath(d){var g;if(d.id!=="")return'id("'+d.id+'")';if(d===document.body)return d.tagName;let p=0;const h=((g=d.parentNode)==null?void 0:g.childNodes)||[];for(let m=0;m<h.length;m++){const _=h[m];if(_===d)return getXPath(d.parentElement)+"/"+d.tagName+"["+(p+1)+"]";_.nodeType===1&&_.tagName===d.tagName&&p++}return""}function generateSelector(d){if(d.id)return"#"+CSS.escape(d.id);const p=[];let h=d;for(;h&&h!==document.body&&h!==document.documentElement;){let m=h.tagName.toLowerCase();if(h.id){m="#"+CSS.escape(h.id),p.unshift(m);break}if(h.className&&typeof h.className=="string"){const w=h.className.split(/\s+/).filter(x=>x&&!x.match(/^(ng-|v-|svelte-|css-|_|js-|is-|has-)/)&&!x.match(/^\d/)&&x.length>1);w.length>0&&(m+="."+w.slice(0,2).map(x=>CSS.escape(x)).join("."))}const _=["data-testid","data-id","data-name","name","role","aria-label"];for(const w of _){const x=h.getAttribute(w);if(x){m+=`[${w}="${CSS.escape(x)}"]`;break}}const b=h.parentElement;if(b){const w=Array.from(b.children).filter(x=>x.tagName===h.tagName);if(w.length>1){const x=w.indexOf(h)+1;m+=`:nth-of-type(${x})`}}p.unshift(m);const y=p.join(" > ");try{if(document.querySelectorAll(y).length===1)break}catch{}h=h.parentElement}const g=p.join(" > ");try{if(document.querySelectorAll(g).length===1)return g}catch{}return generateFallbackSelector(d)}function generateFallbackSelector(d){const p=[];let h=d;for(;h&&h!==document.body;){const g=h.parentElement;if(g){const m=Array.from(g.children).indexOf(h)+1;p.unshift(`*:nth-child(${m})`),h=g}else break}return"body > "+p.join(" > ")}let isActive=!1,originalCursor="",overlay=null,tooltip=null,onSelect=null;function createOverlay(){const d=document.createElement("div");return d.id="jat-feedback-picker-overlay",d.style.cssText=`
|
|
7
7
|
position: fixed;
|
|
8
8
|
top: 0;
|
|
9
9
|
left: 0;
|
|
@@ -15,7 +15,7 @@ var Cr=Object.defineProperty;var pr=Re=>{throw TypeError(Re)};var zr=(Re,Me,qe)=
|
|
|
15
15
|
border: 2px solid #3b82f6;
|
|
16
16
|
box-sizing: border-box;
|
|
17
17
|
transition: all 0.1s ease;
|
|
18
|
-
`,document.body.appendChild(
|
|
18
|
+
`,document.body.appendChild(d),d}function showTooltip(){const d=document.createElement("div");return d.id="jat-feedback-picker-tooltip",d.innerHTML="Click an element to select it • Press <strong>ESC</strong> to cancel",d.style.cssText=`
|
|
19
19
|
position: fixed;
|
|
20
20
|
top: 20px;
|
|
21
21
|
left: 50%;
|
|
@@ -29,28 +29,79 @@ var Cr=Object.defineProperty;var pr=Re=>{throw TypeError(Re)};var zr=(Re,Me,qe)=
|
|
|
29
29
|
z-index: 2147483646;
|
|
30
30
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
31
31
|
pointer-events: none;
|
|
32
|
-
`,document.body.appendChild(e),e}function handleHover(e){if(!isActive||!overlay)return;const t=e.target;if(t===overlay||t.id==="jat-feedback-picker-tooltip")return;const n=t.getBoundingClientRect();overlay.style.top=`${n.top}px`,overlay.style.left=`${n.left}px`,overlay.style.width=`${n.width}px`,overlay.style.height=`${n.height}px`}function handleClick(e){var s;if(!isActive)return;e.preventDefault(),e.stopPropagation();const t=e.target,n=t.getBoundingClientRect(),r=onSelect;stopElementPicker();const o={tagName:t.tagName,className:typeof t.className=="string"?t.className:"",id:t.id,textContent:((s=t.textContent)==null?void 0:s.substring(0,100))||"",attributes:Array.from(t.attributes).reduce((i,a)=>(i[a.name]=a.value,i),{}),xpath:getXPath(t),selector:generateSelector(t),boundingRect:{x:n.x,y:n.y,width:n.width,height:n.height,top:n.top,left:n.left,bottom:n.bottom,right:n.right},screenshot:null,timestamp:new Date().toISOString(),url:window.location.href};r==null||r(o)}function handleEscape(e){e.key==="Escape"&&stopElementPicker()}function startElementPicker(e){isActive||(isActive=!0,onSelect=e,originalCursor=document.body.style.cursor,document.body.style.cursor="crosshair",overlay=createOverlay(),tooltip=showTooltip(),document.addEventListener("mousemove",handleHover,!0),document.addEventListener("click",handleClick,!0),document.addEventListener("keydown",handleEscape,!0))}function stopElementPicker(){isActive&&(isActive=!1,onSelect=null,document.body.style.cursor=originalCursor,overlay&&(overlay.remove(),overlay=null),tooltip&&(tooltip.remove(),tooltip=null),document.removeEventListener("mousemove",handleHover,!0),document.removeEventListener("click",handleClick,!0),document.removeEventListener("keydown",handleEscape,!0))}function isElementPickerActive(){return isActive}const ANNOTATION_COLORS=["#ef4444","#eab308","#22c55e","#3b82f6","#ffffff","#111827"],DEFAULT_STROKE_WIDTH=3;let _editorOpen=!1;function setAnnotationEditorOpen(e){_editorOpen=e}function isAnnotationEditorOpen(){return _editorOpen}let _nextId=1;function nextShapeId(){return _nextId++}function drawArrow(e,t){const{start:n,end:r,color:o,strokeWidth:s}=t;e.strokeStyle=o,e.lineWidth=s,e.lineCap="round",e.lineJoin="round",e.beginPath(),e.moveTo(n.x,n.y),e.lineTo(r.x,r.y),e.stroke();const i=Math.atan2(r.y-n.y,r.x-n.x),a=14,l=Math.PI/7;e.beginPath(),e.moveTo(r.x,r.y),e.lineTo(r.x-a*Math.cos(i-l),r.y-a*Math.sin(i-l)),e.moveTo(r.x,r.y),e.lineTo(r.x-a*Math.cos(i+l),r.y-a*Math.sin(i+l)),e.stroke()}function drawRectangle(e,t){const{start:n,end:r,color:o,strokeWidth:s}=t;e.strokeStyle=o,e.lineWidth=s,e.lineJoin="round";const i=Math.min(n.x,r.x),a=Math.min(n.y,r.y),l=Math.abs(r.x-n.x),c=Math.abs(r.y-n.y);e.strokeRect(i,a,l,c)}function drawEllipse(e,t){const{start:n,end:r,color:o,strokeWidth:s}=t;e.strokeStyle=o,e.lineWidth=s;const i=(n.x+r.x)/2,a=(n.y+r.y)/2,l=Math.abs(r.x-n.x)/2,c=Math.abs(r.y-n.y)/2;l<1||c<1||(e.beginPath(),e.ellipse(i,a,l,c,0,0,Math.PI*2),e.stroke())}function drawFreehand(e,t){const{points:n,color:r,strokeWidth:o}=t;if(!(n.length<2)){e.strokeStyle=r,e.lineWidth=o,e.lineCap="round",e.lineJoin="round",e.beginPath(),e.moveTo(n[0].x,n[0].y);for(let s=1;s<n.length;s++)e.lineTo(n[s].x,n[s].y);e.stroke()}}function drawText(e,t){const{position:n,content:r,color:o,fontSize:s}=t;r&&(e.font=`bold ${s}px sans-serif`,e.textBaseline="top",e.strokeStyle="#000000",e.lineWidth=2,e.lineJoin="round",e.strokeText(r,n.x,n.y),e.fillStyle=o,e.fillText(r,n.x,n.y))}function renderShape(e,t){switch(e.save(),t.type){case"arrow":drawArrow(e,t);break;case"rectangle":drawRectangle(e,t);break;case"ellipse":drawEllipse(e,t);break;case"freehand":drawFreehand(e,t);break;case"text":drawText(e,t);break}e.restore()}function renderAllShapes(e,t){for(const n of t)renderShape(e,n)}function mergeAnnotation(e,t,n,r){return new Promise((o,s)=>{const i=new Image;i.onload=()=>{const a=document.createElement("canvas");a.width=n,a.height=r;const l=a.getContext("2d");if(!l){s(new Error("Canvas context unavailable"));return}l.drawImage(i,0,0,n,r),renderAllShapes(l,t),o(a.toDataURL("image/jpeg",.85))},i.onerror=()=>s(new Error("Failed to load image")),i.src=e})}async function submitReport(e,t){const n=`${e.replace(/\/$/,"")}/api/feedback/report`,r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),o=await r.json();return r.ok?{ok:!0,id:o.id}:{ok:!1,error:o.error||`HTTP ${r.status}`}}async function fetchReports(e){try{const t=`${e.replace(/\/$/,"")}/api/feedback/reports`,n=await fetch(t,{method:"GET",credentials:"same-origin"});if(!n.ok){if(n.status===401||n.status===403)return{reports:[]};const o=await n.json().catch(()=>({error:`HTTP ${n.status}`}));return{reports:[],error:o.error||`HTTP ${n.status}`}}return{reports:(await n.json()).reports||[]}}catch(t){return{reports:[],error:t instanceof Error?t.message:"Failed to fetch"}}}async function respondToReport(e,t,n,r,o){try{const s=`${e.replace(/\/$/,"")}/api/feedback/reports/${t}/respond`,i={response:n};r&&(i.reason=r),o!=null&&o.screenshots&&o.screenshots.length>0&&(i.screenshots=o.screenshots),o!=null&&o.elements&&o.elements.length>0&&(i.elements=o.elements);const a=await fetch(s,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)}),l=await a.json();return a.ok?{ok:!0}:{ok:!1,error:l.error||`HTTP ${a.status}`}}catch(s){return{ok:!1,error:s instanceof Error?s.message:"Failed to respond"}}}const notesUrl=e=>`${e.replace(/\/$/,"")}/api/feedback/notes`;async function fetchNotes(e,t,n){try{let r=`${notesUrl(e)}?project=${encodeURIComponent(t)}`;const o=await fetch(r,{credentials:"same-origin"});if(!o.ok){const i=await o.json().catch(()=>({error:`HTTP ${o.status}`}));return{notes:[],error:i.error||`HTTP ${o.status}`}}return{notes:(await o.json()).notes||[]}}catch(r){return{notes:[],error:r instanceof Error?r.message:"Failed to fetch notes"}}}async function createNote(e,t){try{const n=await fetch(notesUrl(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await n.json();return n.ok?{ok:!0,note:r.note}:{ok:!1,error:r.error||`HTTP ${n.status}`}}catch(n){return{ok:!1,error:n instanceof Error?n.message:"Failed to create note"}}}async function updateNote(e,t,n){try{const r=await fetch(`${notesUrl(e)}/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),o=await r.json();return r.ok?{ok:!0}:{ok:!1,error:o.error||`HTTP ${r.status}`}}catch(r){return{ok:!1,error:r instanceof Error?r.message:"Failed to update note"}}}async function deleteNote(e,t){try{const n=await fetch(`${notesUrl(e)}/${t}`,{method:"DELETE"}),r=await n.json();return n.ok?{ok:!0}:{ok:!1,error:r.error||`HTTP ${n.status}`}}catch(n){return{ok:!1,error:n instanceof Error?n.message:"Failed to delete note"}}}const STORAGE_KEY="jat-feedback-queue",MAX_ENTRIES=50,RETRY_INTERVAL_MS=3e4;let retryTimer=null;function getQueue(){try{const e=localStorage.getItem(STORAGE_KEY);return e?JSON.parse(e):[]}catch{return[]}}function saveQueue(e){try{localStorage.setItem(STORAGE_KEY,JSON.stringify(e))}catch{}}function enqueue(e,t){const n=getQueue();for(n.push({report:t,endpoint:e,queuedAt:new Date().toISOString(),attempts:0});n.length>MAX_ENTRIES;)n.shift();saveQueue(n)}async function processQueue(){const e=getQueue();if(e.length===0)return;const t=[];for(const n of e)try{(await submitReport(n.endpoint,n.report)).ok||(n.attempts++,t.push(n))}catch{n.attempts++,t.push(n)}saveQueue(t)}function startRetryLoop(){retryTimer||(processQueue(),retryTimer=setInterval(processQueue,RETRY_INTERVAL_MS))}function stopRetryLoop(){retryTimer&&(clearInterval(retryTimer),retryTimer=null)}var root_1$8=from_svg('<svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M15 5L5 15M5 5L15 15" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg>'),root_2$8=from_svg('<svg width="22" height="22" viewBox="0 0 24 24" fill="none"><path d="M12 2C6.48 2 2 6.48 2 12C2 13.85 2.5 15.55 3.36 17L2 22L7 20.64C8.45 21.5 10.15 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2Z" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 10H8.01M12 10H12.01M16 10H16.01" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg>'),root$6=from_html("<button><!></button>");const $$css$9={hash:"svelte-joatup",code:".jat-fb-btn.svelte-joatup {width:52px;height:52px;border-radius:50%;border:none;background:var(--jat-btn-color, #3b82f6);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0, 0, 0, 0.25);transition:transform 0.2s, box-shadow 0.2s, background 0.2s;}.jat-fb-btn.svelte-joatup:hover {transform:scale(1.08);box-shadow:0 6px 20px rgba(0, 0, 0, 0.3);}.jat-fb-btn.svelte-joatup:active {transform:scale(0.95);}.jat-fb-btn.open.svelte-joatup {background:#6b7280;}"};function FeedbackButton(e,t){push(t,!0),append_styles(e,$$css$9);let n=prop(t,"onmousedown",7),r=prop(t,"open",7,!1);var o={get onmousedown(){return n()},set onmousedown(u){n(u),flushSync()},get open(){return r()},set open(u=!1){r(u),flushSync()}},s=root$6();let i;var a=child(s);{var l=u=>{var d=root_1$8();append(u,d)},c=u=>{var d=root_2$8();append(u,d)};if_block(a,u=>{r()?u(l):u(c,!1)})}return reset(s),template_effect(()=>{i=set_class(s,1,"jat-fb-btn svelte-joatup",null,i,{open:r()}),set_attribute(s,"aria-label",r()?"Close feedback":"Send feedback"),set_attribute(s,"title",r()?"Close feedback":"Send feedback")}),delegated("mousedown",s,function(...u){var d;(d=n())==null||d.apply(this,u)}),append(e,s),pop(o)}delegate(["mousedown"]),create_custom_element(FeedbackButton,{onmousedown:{},open:{}},[],[],{mode:"open"});const PREFIX="[modern-screenshot]",IN_BROWSER=typeof window<"u",SUPPORT_WEB_WORKER=IN_BROWSER&&"Worker"in window,USER_AGENT=IN_BROWSER?(lr=window.navigator)==null?void 0:lr.userAgent:"",IN_CHROME=USER_AGENT.includes("Chrome"),IN_SAFARI=USER_AGENT.includes("AppleWebKit")&&!IN_CHROME,IN_FIREFOX=USER_AGENT.includes("Firefox"),isContext=e=>e&&"__CONTEXT__"in e,isCssFontFaceRule=e=>e.constructor.name==="CSSFontFaceRule",isCSSImportRule=e=>e.constructor.name==="CSSImportRule",isLayerBlockRule=e=>e.constructor.name==="CSSLayerBlockRule",isElementNode=e=>e.nodeType===1,isSVGElementNode=e=>typeof e.className=="object",isSVGImageElementNode=e=>e.tagName==="image",isSVGUseElementNode=e=>e.tagName==="use",isHTMLElementNode=e=>isElementNode(e)&&typeof e.style<"u"&&!isSVGElementNode(e),isCommentNode=e=>e.nodeType===8,isTextNode=e=>e.nodeType===3,isImageElement=e=>e.tagName==="IMG",isVideoElement=e=>e.tagName==="VIDEO",isCanvasElement=e=>e.tagName==="CANVAS",isTextareaElement=e=>e.tagName==="TEXTAREA",isInputElement=e=>e.tagName==="INPUT",isStyleElement=e=>e.tagName==="STYLE",isScriptElement=e=>e.tagName==="SCRIPT",isSelectElement=e=>e.tagName==="SELECT",isSlotElement=e=>e.tagName==="SLOT",isIFrameElement=e=>e.tagName==="IFRAME",consoleWarn=(...e)=>console.warn(PREFIX,...e);function supportWebp(e){var n;const t=(n=e==null?void 0:e.createElement)==null?void 0:n.call(e,"canvas");return t&&(t.height=t.width=1),!!t&&"toDataURL"in t&&!!t.toDataURL("image/webp").includes("image/webp")}const isDataUrl=e=>e.startsWith("data:");function resolveUrl(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(IN_BROWSER&&e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i)||!IN_BROWSER)return e;const n=getDocument().implementation.createHTMLDocument(),r=n.createElement("base"),o=n.createElement("a");return n.head.appendChild(r),n.body.appendChild(o),t&&(r.href=t),o.href=e,o.href}function getDocument(e){return(e&&isElementNode(e)?e==null?void 0:e.ownerDocument:e)??window.document}const XMLNS="http://www.w3.org/2000/svg";function createSvg(e,t,n){const r=getDocument(n).createElementNS(XMLNS,"svg");return r.setAttributeNS(null,"width",e.toString()),r.setAttributeNS(null,"height",t.toString()),r.setAttributeNS(null,"viewBox",`0 0 ${e} ${t}`),r}function svgToDataUrl(e,t){let n=new XMLSerializer().serializeToString(e);return t&&(n=n.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu,"")),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`}function readBlob(e,t){return new Promise((n,r)=>{const o=new FileReader;o.onload=()=>n(o.result),o.onerror=()=>r(o.error),o.onabort=()=>r(new Error(`Failed read blob to ${t}`)),o.readAsDataURL(e)})}const blobToDataUrl=e=>readBlob(e,"dataUrl");function createImage(e,t){const n=getDocument(t).createElement("img");return n.decoding="sync",n.loading="eager",n.src=e,n}function loadMedia(e,t){return new Promise(n=>{const{timeout:r,ownerDocument:o,onError:s,onWarn:i}=t??{},a=typeof e=="string"?createImage(e,getDocument(o)):e;let l=null,c=null;function u(){n(a),l&&clearTimeout(l),c==null||c()}if(r&&(l=setTimeout(u,r)),isVideoElement(a)){const d=a.currentSrc||a.src;if(!d)return a.poster?loadMedia(a.poster,t).then(n):u();if(a.readyState>=2)return u();const f=u,v=_=>{i==null||i("Failed video load",d,_),s==null||s(_),u()};c=()=>{a.removeEventListener("loadeddata",f),a.removeEventListener("error",v)},a.addEventListener("loadeddata",f,{once:!0}),a.addEventListener("error",v,{once:!0})}else{const d=isSVGImageElementNode(a)?a.href.baseVal:a.currentSrc||a.src;if(!d)return u();const f=async()=>{if(isImageElement(a)&&"decode"in a)try{await a.decode()}catch(_){i==null||i("Failed to decode image, trying to render anyway",a.dataset.originalSrc||d,_)}u()},v=_=>{i==null||i("Failed image load",a.dataset.originalSrc||d,_),u()};if(isImageElement(a)&&a.complete)return f();c=()=>{a.removeEventListener("load",f),a.removeEventListener("error",v)},a.addEventListener("load",f,{once:!0}),a.addEventListener("error",v,{once:!0})}})}async function waitUntilLoad(e,t){isHTMLElementNode(e)&&(isImageElement(e)||isVideoElement(e)?await loadMedia(e,t):await Promise.all(["img","video"].flatMap(n=>Array.from(e.querySelectorAll(n)).map(r=>loadMedia(r,t)))))}const uuid$1=(function(){let t=0;const n=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(t+=1,`u${n()}${t}`)})();function splitFontFamily(e){return e==null?void 0:e.split(",").map(t=>t.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}let uid$1=0;function createLogger(e){const t=`${PREFIX}[#${uid$1}]`;return uid$1++,{time:n=>e&&console.time(`${t} ${n}`),timeEnd:n=>e&&console.timeEnd(`${t} ${n}`),warn:(...n)=>e&&consoleWarn(...n)}}function getDefaultRequestInit(e){return{cache:e?"no-cache":"force-cache"}}async function orCreateContext(e,t){return isContext(e)?e:createContext(e,{...t,autoDestruct:!0})}async function createContext(e,t){var v,_;const{scale:n=1,workerUrl:r,workerNumber:o=1}=t||{},s=!!(t!=null&&t.debug),i=(t==null?void 0:t.features)??!0,a=e.ownerDocument??(IN_BROWSER?window.document:void 0),l=((v=e.ownerDocument)==null?void 0:v.defaultView)??(IN_BROWSER?window:void 0),c=new Map,u={width:0,height:0,quality:1,type:"image/png",scale:n,backgroundColor:null,style:null,filter:null,maximumCanvasSize:0,timeout:3e4,progress:null,debug:s,fetch:{requestInit:getDefaultRequestInit((_=t==null?void 0:t.fetch)==null?void 0:_.bypassingCache),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...t==null?void 0:t.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:o,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...t,__CONTEXT__:!0,log:createLogger(s),node:e,ownerDocument:a,ownerWindow:l,dpi:n===1?null:96*n,svgStyleElement:createStyleElement(a),svgDefsElement:a==null?void 0:a.createElementNS(XMLNS,"defs"),svgStyles:new Map,defaultComputedStyles:new Map,workers:[...Array.from({length:SUPPORT_WEB_WORKER&&r&&o?o:0})].map(()=>{try{const y=new Worker(r);return y.onmessage=async h=>{var m,$,k,N;const{url:p,result:b}=h.data;b?($=(m=c.get(p))==null?void 0:m.resolve)==null||$.call(m,b):(N=(k=c.get(p))==null?void 0:k.reject)==null||N.call(k,new Error(`Error receiving message from worker: ${p}`))},y.onmessageerror=h=>{var b,m;const{url:p}=h.data;(m=(b=c.get(p))==null?void 0:b.reject)==null||m.call(b,new Error(`Error receiving message from worker: ${p}`))},y}catch(y){return u.log.warn("Failed to new Worker",y),null}}).filter(Boolean),fontFamilies:new Map,fontCssTexts:new Map,acceptOfImage:`${[supportWebp(a)&&"image/webp","image/svg+xml","image/*","*/*"].filter(Boolean).join(",")};q=0.8`,requests:c,drawImageCount:0,tasks:[],features:i,isEnable:y=>y==="restoreScrollPosition"?typeof i=="boolean"?!1:i[y]??!1:typeof i=="boolean"?i:i[y]??!0,shadowRoots:[]};u.log.time("wait until load"),await waitUntilLoad(e,{timeout:u.timeout,onWarn:u.log.warn}),u.log.timeEnd("wait until load");const{width:d,height:f}=resolveBoundingBox(e,u);return u.width=d,u.height=f,u}function createStyleElement(e){if(!e)return;const t=e.createElement("style"),n=t.ownerDocument.createTextNode(`
|
|
32
|
+
`,document.body.appendChild(d),d}function handleHover(d){if(!isActive||!overlay)return;const p=d.target;if(p===overlay||p.id==="jat-feedback-picker-tooltip")return;const h=p.getBoundingClientRect();overlay.style.top=`${h.top}px`,overlay.style.left=`${h.left}px`,overlay.style.width=`${h.width}px`,overlay.style.height=`${h.height}px`}function handleClick(d){var _;if(!isActive)return;d.preventDefault(),d.stopPropagation();const p=d.target,h=p.getBoundingClientRect(),g=onSelect;stopElementPicker();const m={tagName:p.tagName,className:typeof p.className=="string"?p.className:"",id:p.id,textContent:((_=p.textContent)==null?void 0:_.substring(0,100))||"",attributes:Array.from(p.attributes).reduce((b,y)=>(b[y.name]=y.value,b),{}),xpath:getXPath(p),selector:generateSelector(p),boundingRect:{x:h.x,y:h.y,width:h.width,height:h.height,top:h.top,left:h.left,bottom:h.bottom,right:h.right},screenshot:null,timestamp:new Date().toISOString(),url:window.location.href};g==null||g(m)}function handleEscape(d){d.key==="Escape"&&stopElementPicker()}function startElementPicker(d){isActive||(isActive=!0,onSelect=d,originalCursor=document.body.style.cursor,document.body.style.cursor="crosshair",overlay=createOverlay(),tooltip=showTooltip(),document.addEventListener("mousemove",handleHover,!0),document.addEventListener("click",handleClick,!0),document.addEventListener("keydown",handleEscape,!0))}function stopElementPicker(){isActive&&(isActive=!1,onSelect=null,document.body.style.cursor=originalCursor,overlay&&(overlay.remove(),overlay=null),tooltip&&(tooltip.remove(),tooltip=null),document.removeEventListener("mousemove",handleHover,!0),document.removeEventListener("click",handleClick,!0),document.removeEventListener("keydown",handleEscape,!0))}function isElementPickerActive(){return isActive}const ANNOTATION_COLORS=["#ef4444","#eab308","#22c55e","#3b82f6","#ffffff","#111827"],DEFAULT_STROKE_WIDTH=3;let _editorOpen=!1;function setAnnotationEditorOpen(d){_editorOpen=d}function isAnnotationEditorOpen(){return _editorOpen}let _nextId=1;function nextShapeId(){return _nextId++}function drawArrow(d,p){const{start:h,end:g,color:m,strokeWidth:_}=p;d.strokeStyle=m,d.lineWidth=_,d.lineCap="round",d.lineJoin="round",d.beginPath(),d.moveTo(h.x,h.y),d.lineTo(g.x,g.y),d.stroke();const b=Math.atan2(g.y-h.y,g.x-h.x),y=14,w=Math.PI/7;d.beginPath(),d.moveTo(g.x,g.y),d.lineTo(g.x-y*Math.cos(b-w),g.y-y*Math.sin(b-w)),d.moveTo(g.x,g.y),d.lineTo(g.x-y*Math.cos(b+w),g.y-y*Math.sin(b+w)),d.stroke()}function drawRectangle(d,p){const{start:h,end:g,color:m,strokeWidth:_}=p;d.strokeStyle=m,d.lineWidth=_,d.lineJoin="round";const b=Math.min(h.x,g.x),y=Math.min(h.y,g.y),w=Math.abs(g.x-h.x),x=Math.abs(g.y-h.y);d.strokeRect(b,y,w,x)}function drawEllipse(d,p){const{start:h,end:g,color:m,strokeWidth:_}=p;d.strokeStyle=m,d.lineWidth=_;const b=(h.x+g.x)/2,y=(h.y+g.y)/2,w=Math.abs(g.x-h.x)/2,x=Math.abs(g.y-h.y)/2;w<1||x<1||(d.beginPath(),d.ellipse(b,y,w,x,0,0,Math.PI*2),d.stroke())}function drawFreehand(d,p){const{points:h,color:g,strokeWidth:m}=p;if(!(h.length<2)){d.strokeStyle=g,d.lineWidth=m,d.lineCap="round",d.lineJoin="round",d.beginPath(),d.moveTo(h[0].x,h[0].y);for(let _=1;_<h.length;_++)d.lineTo(h[_].x,h[_].y);d.stroke()}}function drawText(d,p){const{position:h,content:g,color:m,fontSize:_}=p;g&&(d.font=`bold ${_}px sans-serif`,d.textBaseline="top",d.strokeStyle="#000000",d.lineWidth=2,d.lineJoin="round",d.strokeText(g,h.x,h.y),d.fillStyle=m,d.fillText(g,h.x,h.y))}function renderShape(d,p){switch(d.save(),p.type){case"arrow":drawArrow(d,p);break;case"rectangle":drawRectangle(d,p);break;case"ellipse":drawEllipse(d,p);break;case"freehand":drawFreehand(d,p);break;case"text":drawText(d,p);break}d.restore()}function renderAllShapes(d,p){for(const h of p)renderShape(d,h)}function mergeAnnotation(d,p,h,g){return new Promise((m,_)=>{const b=new Image;b.onload=()=>{const y=document.createElement("canvas");y.width=h,y.height=g;const w=y.getContext("2d");if(!w){_(new Error("Canvas context unavailable"));return}w.drawImage(b,0,0,h,g),renderAllShapes(w,p),m(y.toDataURL("image/jpeg",.85))},b.onerror=()=>_(new Error("Failed to load image")),b.src=d})}async function submitReport(d,p){const h=`${d.replace(/\/$/,"")}/api/feedback/report`,g=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(p)}),m=await g.json();return g.ok?{ok:!0,id:m.id}:{ok:!1,error:m.error||`HTTP ${g.status}`}}async function uploadRecording(d,p,h){const g=`${d.replace(/\/$/,"")}/api/feedback/recordings`;try{const m=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({events:p,reportId:h})}),_=await m.json();return m.ok?{ok:!0,recording_url:_.recording_url}:{ok:!1,error:_.error||`HTTP ${m.status}`}}catch(m){return{ok:!1,error:m instanceof Error?m.message:"Failed to upload recording"}}}async function fetchReports(d){try{const p=`${d.replace(/\/$/,"")}/api/feedback/reports`,h=await fetch(p,{method:"GET",credentials:"same-origin"});if(!h.ok){if(h.status===401||h.status===403)return{reports:[]};const m=await h.json().catch(()=>({error:`HTTP ${h.status}`}));return{reports:[],error:m.error||`HTTP ${h.status}`}}return{reports:(await h.json()).reports||[]}}catch(p){return{reports:[],error:p instanceof Error?p.message:"Failed to fetch"}}}async function respondToReport(d,p,h,g,m){try{const _=`${d.replace(/\/$/,"")}/api/feedback/reports/${p}/respond`,b={response:h};g&&(b.reason=g),m!=null&&m.screenshots&&m.screenshots.length>0&&(b.screenshots=m.screenshots),m!=null&&m.elements&&m.elements.length>0&&(b.elements=m.elements);const y=await fetch(_,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),w=await y.json();return y.ok?{ok:!0}:{ok:!1,error:w.error||`HTTP ${y.status}`}}catch(_){return{ok:!1,error:_ instanceof Error?_.message:"Failed to respond"}}}const notesUrl=d=>`${d.replace(/\/$/,"")}/api/feedback/notes`;async function fetchNotes(d,p,h){try{let g=`${notesUrl(d)}?project=${encodeURIComponent(p)}`;const m=await fetch(g,{credentials:"same-origin"});if(!m.ok){const b=await m.json().catch(()=>({error:`HTTP ${m.status}`}));return{notes:[],error:b.error||`HTTP ${m.status}`}}return{notes:(await m.json()).notes||[]}}catch(g){return{notes:[],error:g instanceof Error?g.message:"Failed to fetch notes"}}}async function createNote(d,p){try{const h=await fetch(notesUrl(d),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(p)}),g=await h.json();return h.ok?{ok:!0,note:g.note}:{ok:!1,error:g.error||`HTTP ${h.status}`}}catch(h){return{ok:!1,error:h instanceof Error?h.message:"Failed to create note"}}}async function updateNote(d,p,h){try{const g=await fetch(`${notesUrl(d)}/${p}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)}),m=await g.json();return g.ok?{ok:!0}:{ok:!1,error:m.error||`HTTP ${g.status}`}}catch(g){return{ok:!1,error:g instanceof Error?g.message:"Failed to update note"}}}async function deleteNote(d,p){try{const h=await fetch(`${notesUrl(d)}/${p}`,{method:"DELETE"}),g=await h.json();return h.ok?{ok:!0}:{ok:!1,error:g.error||`HTTP ${h.status}`}}catch(h){return{ok:!1,error:h instanceof Error?h.message:"Failed to delete note"}}}const STORAGE_KEY="jat-feedback-queue",MAX_ENTRIES=50,RETRY_INTERVAL_MS=3e4;let retryTimer=null;function getQueue(){try{const d=localStorage.getItem(STORAGE_KEY);return d?JSON.parse(d):[]}catch{return[]}}function saveQueue(d){try{localStorage.setItem(STORAGE_KEY,JSON.stringify(d))}catch{}}function enqueue(d,p){const h=getQueue();for(h.push({report:p,endpoint:d,queuedAt:new Date().toISOString(),attempts:0});h.length>MAX_ENTRIES;)h.shift();saveQueue(h)}async function processQueue(){const d=getQueue();if(d.length===0)return;const p=[];for(const h of d)try{(await submitReport(h.endpoint,h.report)).ok||(h.attempts++,p.push(h))}catch{h.attempts++,p.push(h)}saveQueue(p)}function startRetryLoop(){retryTimer||(processQueue(),retryTimer=setInterval(processQueue,RETRY_INTERVAL_MS))}function stopRetryLoop(){retryTimer&&(clearInterval(retryTimer),retryTimer=null)}var root_1$9=from_svg('<svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M15 5L5 15M5 5L15 15" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg>'),root_2$9=from_svg('<svg width="22" height="22" viewBox="0 0 24 24" fill="none"><path d="M12 2C6.48 2 2 6.48 2 12C2 13.85 2.5 15.55 3.36 17L2 22L7 20.64C8.45 21.5 10.15 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2Z" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 10H8.01M12 10H12.01M16 10H16.01" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg>'),root$7=from_html("<button><!></button>");const $$css$a={hash:"svelte-joatup",code:".jat-fb-btn.svelte-joatup {width:52px;height:52px;border-radius:50%;border:none;background:var(--jat-btn-color, #3b82f6);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0, 0, 0, 0.25);transition:transform 0.2s, box-shadow 0.2s, background 0.2s;}.jat-fb-btn.svelte-joatup:hover {transform:scale(1.08);box-shadow:0 6px 20px rgba(0, 0, 0, 0.3);}.jat-fb-btn.svelte-joatup:active {transform:scale(0.95);}.jat-fb-btn.open.svelte-joatup {background:#6b7280;}"};function FeedbackButton(d,p){push(p,!0),append_styles(d,$$css$a);let h=prop(p,"onmousedown",7),g=prop(p,"open",7,!1);var m={get onmousedown(){return h()},set onmousedown(E){h(E),flushSync()},get open(){return g()},set open(E=!1){g(E),flushSync()}},_=root$7();let b;var y=child(_);{var w=E=>{var S=root_1$9();append(E,S)},x=E=>{var S=root_2$9();append(E,S)};if_block(y,E=>{g()?E(w):E(x,!1)})}return reset(_),template_effect(()=>{b=set_class(_,1,"jat-fb-btn svelte-joatup",null,b,{open:g()}),set_attribute(_,"aria-label",g()?"Close feedback":"Send feedback"),set_attribute(_,"title",g()?"Close feedback":"Send feedback")}),delegated("mousedown",_,function(...E){var S;(S=h())==null||S.apply(this,E)}),append(d,_),pop(m)}delegate(["mousedown"]),create_custom_element(FeedbackButton,{onmousedown:{},open:{}},[],[],{mode:"open"});const PREFIX="[modern-screenshot]",IN_BROWSER=typeof window<"u",SUPPORT_WEB_WORKER=IN_BROWSER&&"Worker"in window,USER_AGENT=IN_BROWSER?(Cr=window.navigator)==null?void 0:Cr.userAgent:"",IN_CHROME=USER_AGENT.includes("Chrome"),IN_SAFARI=USER_AGENT.includes("AppleWebKit")&&!IN_CHROME,IN_FIREFOX=USER_AGENT.includes("Firefox"),isContext=d=>d&&"__CONTEXT__"in d,isCssFontFaceRule=d=>d.constructor.name==="CSSFontFaceRule",isCSSImportRule$1=d=>d.constructor.name==="CSSImportRule",isLayerBlockRule=d=>d.constructor.name==="CSSLayerBlockRule",isElementNode=d=>d.nodeType===1,isSVGElementNode=d=>typeof d.className=="object",isSVGImageElementNode=d=>d.tagName==="image",isSVGUseElementNode=d=>d.tagName==="use",isHTMLElementNode=d=>isElementNode(d)&&typeof d.style<"u"&&!isSVGElementNode(d),isCommentNode=d=>d.nodeType===8,isTextNode=d=>d.nodeType===3,isImageElement=d=>d.tagName==="IMG",isVideoElement=d=>d.tagName==="VIDEO",isCanvasElement=d=>d.tagName==="CANVAS",isTextareaElement=d=>d.tagName==="TEXTAREA",isInputElement=d=>d.tagName==="INPUT",isStyleElement=d=>d.tagName==="STYLE",isScriptElement=d=>d.tagName==="SCRIPT",isSelectElement=d=>d.tagName==="SELECT",isSlotElement=d=>d.tagName==="SLOT",isIFrameElement=d=>d.tagName==="IFRAME",consoleWarn=(...d)=>console.warn(PREFIX,...d);function supportWebp(d){var h;const p=(h=d==null?void 0:d.createElement)==null?void 0:h.call(d,"canvas");return p&&(p.height=p.width=1),!!p&&"toDataURL"in p&&!!p.toDataURL("image/webp").includes("image/webp")}const isDataUrl=d=>d.startsWith("data:");function resolveUrl(d,p){if(d.match(/^[a-z]+:\/\//i))return d;if(IN_BROWSER&&d.match(/^\/\//))return window.location.protocol+d;if(d.match(/^[a-z]+:/i)||!IN_BROWSER)return d;const h=getDocument().implementation.createHTMLDocument(),g=h.createElement("base"),m=h.createElement("a");return h.head.appendChild(g),h.body.appendChild(m),p&&(g.href=p),m.href=d,m.href}function getDocument(d){return(d&&isElementNode(d)?d==null?void 0:d.ownerDocument:d)??window.document}const XMLNS="http://www.w3.org/2000/svg";function createSvg(d,p,h){const g=getDocument(h).createElementNS(XMLNS,"svg");return g.setAttributeNS(null,"width",d.toString()),g.setAttributeNS(null,"height",p.toString()),g.setAttributeNS(null,"viewBox",`0 0 ${d} ${p}`),g}function svgToDataUrl(d,p){let h=new XMLSerializer().serializeToString(d);return p&&(h=h.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu,"")),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(h)}`}function readBlob(d,p){return new Promise((h,g)=>{const m=new FileReader;m.onload=()=>h(m.result),m.onerror=()=>g(m.error),m.onabort=()=>g(new Error(`Failed read blob to ${p}`)),m.readAsDataURL(d)})}const blobToDataUrl=d=>readBlob(d,"dataUrl");function createImage(d,p){const h=getDocument(p).createElement("img");return h.decoding="sync",h.loading="eager",h.src=d,h}function loadMedia(d,p){return new Promise(h=>{const{timeout:g,ownerDocument:m,onError:_,onWarn:b}=p??{},y=typeof d=="string"?createImage(d,getDocument(m)):d;let w=null,x=null;function E(){h(y),w&&clearTimeout(w),x==null||x()}if(g&&(w=setTimeout(E,g)),isVideoElement(y)){const S=y.currentSrc||y.src;if(!S)return y.poster?loadMedia(y.poster,p).then(h):E();if(y.readyState>=2)return E();const k=E,I=A=>{b==null||b("Failed video load",S,A),_==null||_(A),E()};x=()=>{y.removeEventListener("loadeddata",k),y.removeEventListener("error",I)},y.addEventListener("loadeddata",k,{once:!0}),y.addEventListener("error",I,{once:!0})}else{const S=isSVGImageElementNode(y)?y.href.baseVal:y.currentSrc||y.src;if(!S)return E();const k=async()=>{if(isImageElement(y)&&"decode"in y)try{await y.decode()}catch(A){b==null||b("Failed to decode image, trying to render anyway",y.dataset.originalSrc||S,A)}E()},I=A=>{b==null||b("Failed image load",y.dataset.originalSrc||S,A),E()};if(isImageElement(y)&&y.complete)return k();x=()=>{y.removeEventListener("load",k),y.removeEventListener("error",I)},y.addEventListener("load",k,{once:!0}),y.addEventListener("error",I,{once:!0})}})}async function waitUntilLoad(d,p){isHTMLElementNode(d)&&(isImageElement(d)||isVideoElement(d)?await loadMedia(d,p):await Promise.all(["img","video"].flatMap(h=>Array.from(d.querySelectorAll(h)).map(g=>loadMedia(g,p)))))}const uuid$1=(function(){let p=0;const h=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(p+=1,`u${h()}${p}`)})();function splitFontFamily(d){return d==null?void 0:d.split(",").map(p=>p.trim().replace(/"|'/g,"").toLowerCase()).filter(Boolean)}let uid$1=0;function createLogger(d){const p=`${PREFIX}[#${uid$1}]`;return uid$1++,{time:h=>d&&console.time(`${p} ${h}`),timeEnd:h=>d&&console.timeEnd(`${p} ${h}`),warn:(...h)=>d&&consoleWarn(...h)}}function getDefaultRequestInit(d){return{cache:d?"no-cache":"force-cache"}}async function orCreateContext(d,p){return isContext(d)?d:createContext(d,{...p,autoDestruct:!0})}async function createContext(d,p){var I,A;const{scale:h=1,workerUrl:g,workerNumber:m=1}=p||{},_=!!(p!=null&&p.debug),b=(p==null?void 0:p.features)??!0,y=d.ownerDocument??(IN_BROWSER?window.document:void 0),w=((I=d.ownerDocument)==null?void 0:I.defaultView)??(IN_BROWSER?window:void 0),x=new Map,E={width:0,height:0,quality:1,type:"image/png",scale:h,backgroundColor:null,style:null,filter:null,maximumCanvasSize:0,timeout:3e4,progress:null,debug:_,fetch:{requestInit:getDefaultRequestInit((A=p==null?void 0:p.fetch)==null?void 0:A.bypassingCache),placeholderImage:"data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",bypassingCache:!1,...p==null?void 0:p.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:m,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...p,__CONTEXT__:!0,log:createLogger(_),node:d,ownerDocument:y,ownerWindow:w,dpi:h===1?null:96*h,svgStyleElement:createStyleElement(y),svgDefsElement:y==null?void 0:y.createElementNS(XMLNS,"defs"),svgStyles:new Map,defaultComputedStyles:new Map,workers:[...Array.from({length:SUPPORT_WEB_WORKER&&g&&m?m:0})].map(()=>{try{const M=new Worker(g);return M.onmessage=async R=>{var $,O,F,j;const{url:C,result:N}=R.data;N?(O=($=x.get(C))==null?void 0:$.resolve)==null||O.call($,N):(j=(F=x.get(C))==null?void 0:F.reject)==null||j.call(F,new Error(`Error receiving message from worker: ${C}`))},M.onmessageerror=R=>{var N,$;const{url:C}=R.data;($=(N=x.get(C))==null?void 0:N.reject)==null||$.call(N,new Error(`Error receiving message from worker: ${C}`))},M}catch(M){return E.log.warn("Failed to new Worker",M),null}}).filter(Boolean),fontFamilies:new Map,fontCssTexts:new Map,acceptOfImage:`${[supportWebp(y)&&"image/webp","image/svg+xml","image/*","*/*"].filter(Boolean).join(",")};q=0.8`,requests:x,drawImageCount:0,tasks:[],features:b,isEnable:M=>M==="restoreScrollPosition"?typeof b=="boolean"?!1:b[M]??!1:typeof b=="boolean"?b:b[M]??!0,shadowRoots:[]};E.log.time("wait until load"),await waitUntilLoad(d,{timeout:E.timeout,onWarn:E.log.warn}),E.log.timeEnd("wait until load");const{width:S,height:k}=resolveBoundingBox(d,E);return E.width=S,E.height=k,E}function createStyleElement(d){if(!d)return;const p=d.createElement("style"),h=p.ownerDocument.createTextNode(`
|
|
33
33
|
.______background-clip--text {
|
|
34
34
|
background-clip: text;
|
|
35
35
|
-webkit-background-clip: text;
|
|
36
36
|
}
|
|
37
|
-
`);return
|
|
38
|
-
`);let
|
|
39
|
-
`))}else{const
|
|
40
|
-
`)):
|
|
41
|
-
`))}))})}}const COMMENTS_RE=/(\/\*[\s\S]*?\*\/)/g,KEYFRAMES_RE=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function parseCss(
|
|
37
|
+
`);return p.appendChild(h),p}function resolveBoundingBox(d,p){let{width:h,height:g}=p;if(isElementNode(d)&&(!h||!g)){const m=d.getBoundingClientRect();h=h||m.width||Number(d.getAttribute("width"))||0,g=g||m.height||Number(d.getAttribute("height"))||0}return{width:h,height:g}}async function imageToCanvas(d,p){const{log:h,timeout:g,drawImageCount:m,drawImageInterval:_}=p;h.time("image to canvas");const b=await loadMedia(d,{timeout:g,onWarn:p.log.warn}),{canvas:y,context2d:w}=createCanvas(d.ownerDocument,p),x=()=>{try{w==null||w.drawImage(b,0,0,y.width,y.height)}catch(E){p.log.warn("Failed to drawImage",E)}};if(x(),p.isEnable("fixSvgXmlDecode"))for(let E=0;E<m;E++)await new Promise(S=>{setTimeout(()=>{w==null||w.clearRect(0,0,y.width,y.height),x(),S()},E+_)});return p.drawImageCount=0,h.timeEnd("image to canvas"),y}function createCanvas(d,p){const{width:h,height:g,scale:m,backgroundColor:_,maximumCanvasSize:b}=p,y=d.createElement("canvas");y.width=Math.floor(h*m),y.height=Math.floor(g*m),y.style.width=`${h}px`,y.style.height=`${g}px`,b&&(y.width>b||y.height>b)&&(y.width>b&&y.height>b?y.width>y.height?(y.height*=b/y.width,y.width=b):(y.width*=b/y.height,y.height=b):y.width>b?(y.height*=b/y.width,y.width=b):(y.width*=b/y.height,y.height=b));const w=y.getContext("2d");return w&&_&&(w.fillStyle=_,w.fillRect(0,0,y.width,y.height)),{canvas:y,context2d:w}}function cloneCanvas(d,p){if(d.ownerDocument)try{const _=d.toDataURL();if(_!=="data:,")return createImage(_,d.ownerDocument)}catch(_){p.log.warn("Failed to clone canvas",_)}const h=d.cloneNode(!1),g=d.getContext("2d"),m=h.getContext("2d");try{return g&&m&&m.putImageData(g.getImageData(0,0,d.width,d.height),0,0),h}catch(_){p.log.warn("Failed to clone canvas",_)}return h}function cloneIframe(d,p){var h;try{if((h=d==null?void 0:d.contentDocument)!=null&&h.body)return cloneNode(d.contentDocument.body,p)}catch(g){p.log.warn("Failed to clone iframe",g)}return d.cloneNode(!1)}function cloneImage(d){const p=d.cloneNode(!1);return d.currentSrc&&d.currentSrc!==d.src&&(p.src=d.currentSrc,p.srcset=""),p.loading==="lazy"&&(p.loading="eager"),p}async function cloneVideo(d,p){if(d.ownerDocument&&!d.currentSrc&&d.poster)return createImage(d.poster,d.ownerDocument);const h=d.cloneNode(!1);h.crossOrigin="anonymous",d.currentSrc&&d.currentSrc!==d.src&&(h.src=d.currentSrc);const g=h.ownerDocument;if(g){let m=!0;if(await loadMedia(h,{onError:()=>m=!1,onWarn:p.log.warn}),!m)return d.poster?createImage(d.poster,d.ownerDocument):h;h.currentTime=d.currentTime,await new Promise(b=>{h.addEventListener("seeked",b,{once:!0})});const _=g.createElement("canvas");_.width=d.offsetWidth,_.height=d.offsetHeight;try{const b=_.getContext("2d");b&&b.drawImage(h,0,0,_.width,_.height)}catch(b){return p.log.warn("Failed to clone video",b),d.poster?createImage(d.poster,d.ownerDocument):h}return cloneCanvas(_,p)}return h}function cloneElement(d,p){return isCanvasElement(d)?cloneCanvas(d,p):isIFrameElement(d)?cloneIframe(d,p):isImageElement(d)?cloneImage(d):isVideoElement(d)?cloneVideo(d,p):d.cloneNode(!1)}function getSandBox(d){let p=d.sandbox;if(!p){const{ownerDocument:h}=d;try{h&&(p=h.createElement("iframe"),p.id=`__SANDBOX__${uuid$1()}`,p.width="0",p.height="0",p.style.visibility="hidden",p.style.position="fixed",h.body.appendChild(p),p.srcdoc='<!DOCTYPE html><meta charset="UTF-8"><title></title><body>',d.sandbox=p)}catch(g){d.log.warn("Failed to getSandBox",g)}}return p}const ignoredStyles=["width","height","-webkit-text-fill-color"],includedAttributes=["stroke","fill"];function getDefaultStyle(d,p,h){const{defaultComputedStyles:g}=h,m=d.nodeName.toLowerCase(),_=isSVGElementNode(d)&&m!=="svg",b=_?includedAttributes.map(M=>[M,d.getAttribute(M)]).filter(([,M])=>M!==null):[],y=[_&&"svg",m,b.map((M,R)=>`${M}=${R}`).join(","),p].filter(Boolean).join(":");if(g.has(y))return g.get(y);const w=getSandBox(h),x=w==null?void 0:w.contentWindow;if(!x)return new Map;const E=x==null?void 0:x.document;let S,k;_?(S=E.createElementNS(XMLNS,"svg"),k=S.ownerDocument.createElementNS(S.namespaceURI,m),b.forEach(([M,R])=>{k.setAttributeNS(null,M,R)}),S.appendChild(k)):S=k=E.createElement(m),k.textContent=" ",E.body.appendChild(S);const I=x.getComputedStyle(k,p),A=new Map;for(let M=I.length,R=0;R<M;R++){const C=I.item(R);ignoredStyles.includes(C)||A.set(C,I.getPropertyValue(C))}return E.body.removeChild(S),g.set(y,A),A}function getDiffStyle(d,p,h){var y;const g=new Map,m=[],_=new Map;if(h)for(const w of h)b(w);else for(let w=d.length,x=0;x<w;x++){const E=d.item(x);b(E)}for(let w=m.length,x=0;x<w;x++)(y=_.get(m[x]))==null||y.forEach((E,S)=>g.set(S,E));function b(w){const x=d.getPropertyValue(w),E=d.getPropertyPriority(w),S=w.lastIndexOf("-"),k=S>-1?w.substring(0,S):void 0;if(k){let I=_.get(k);I||(I=new Map,_.set(k,I)),I.set(w,[x,E])}p.get(w)===x&&!E||(k?m.push(k):g.set(w,[x,E]))}return g}function copyCssStyles(d,p,h,g){var S,k,I,A;const{ownerWindow:m,includeStyleProperties:_,currentParentNodeStyle:b}=g,y=p.style,w=m.getComputedStyle(d),x=getDefaultStyle(d,null,g);b==null||b.forEach((M,R)=>{x.delete(R)});const E=getDiffStyle(w,x,_);E.delete("transition-property"),E.delete("all"),E.delete("d"),E.delete("content"),h&&(E.delete("margin-top"),E.delete("margin-right"),E.delete("margin-bottom"),E.delete("margin-left"),E.delete("margin-block-start"),E.delete("margin-block-end"),E.delete("margin-inline-start"),E.delete("margin-inline-end"),E.set("box-sizing",["border-box",""])),((S=E.get("background-clip"))==null?void 0:S[0])==="text"&&p.classList.add("______background-clip--text"),IN_CHROME&&(E.has("font-kerning")||E.set("font-kerning",["normal",""]),(((k=E.get("overflow-x"))==null?void 0:k[0])==="hidden"||((I=E.get("overflow-y"))==null?void 0:I[0])==="hidden")&&((A=E.get("text-overflow"))==null?void 0:A[0])==="ellipsis"&&d.scrollWidth===d.clientWidth&&E.set("text-overflow",["clip",""]));for(let M=y.length,R=0;R<M;R++)y.removeProperty(y.item(R));return E.forEach(([M,R],C)=>{y.setProperty(C,M,R)}),E}function copyInputValue(d,p){(isTextareaElement(d)||isInputElement(d)||isSelectElement(d))&&p.setAttribute("value",d.value)}const pseudoClasses=["::before","::after"],scrollbarPseudoClasses=["::-webkit-scrollbar","::-webkit-scrollbar-button","::-webkit-scrollbar-thumb","::-webkit-scrollbar-track","::-webkit-scrollbar-track-piece","::-webkit-scrollbar-corner","::-webkit-resizer"];function copyPseudoClass(d,p,h,g,m){const{ownerWindow:_,svgStyleElement:b,svgStyles:y,currentNodeStyle:w}=g;if(!b||!_)return;function x(E){var $;const S=_.getComputedStyle(d,E);let k=S.getPropertyValue("content");if(!k||k==="none")return;m==null||m(k),k=k.replace(/(')|(")|(counter\(.+\))/g,"");const I=[uuid$1()],A=getDefaultStyle(d,E,g);w==null||w.forEach((O,F)=>{A.delete(F)});const M=getDiffStyle(S,A,g.includeStyleProperties);M.delete("content"),M.delete("-webkit-locale"),(($=M.get("background-clip"))==null?void 0:$[0])==="text"&&p.classList.add("______background-clip--text");const R=[`content: '${k}';`];if(M.forEach(([O,F],j)=>{R.push(`${j}: ${O}${F?" !important":""};`)}),R.length===1)return;try{p.className=[p.className,...I].join(" ")}catch(O){g.log.warn("Failed to copyPseudoClass",O);return}const C=R.join(`
|
|
38
|
+
`);let N=y.get(C);N||(N=[],y.set(C,N)),N.push(`.${I[0]}${E}`)}pseudoClasses.forEach(x),h&&scrollbarPseudoClasses.forEach(x)}const excludeParentNodes=new Set(["symbol"]);async function appendChildNode(d,p,h,g,m){if(isElementNode(h)&&(isStyleElement(h)||isScriptElement(h))||g.filter&&!g.filter(h))return;excludeParentNodes.has(p.nodeName)||excludeParentNodes.has(h.nodeName)?g.currentParentNodeStyle=void 0:g.currentParentNodeStyle=g.currentNodeStyle;const _=await cloneNode(h,g,!1,m);g.isEnable("restoreScrollPosition")&&restoreScrollPosition(d,_),p.appendChild(_)}async function cloneChildNodes(d,p,h,g){var _;let m=d.firstChild;isElementNode(d)&&d.shadowRoot&&(m=(_=d.shadowRoot)==null?void 0:_.firstChild,h.shadowRoots.push(d.shadowRoot));for(let b=m;b;b=b.nextSibling)if(!isCommentNode(b))if(isElementNode(b)&&isSlotElement(b)&&typeof b.assignedNodes=="function"){const y=b.assignedNodes();for(let w=0;w<y.length;w++)await appendChildNode(d,p,y[w],h,g)}else await appendChildNode(d,p,b,h,g)}function restoreScrollPosition(d,p){if(!isHTMLElementNode(d)||!isHTMLElementNode(p))return;const{scrollTop:h,scrollLeft:g}=d;if(!h&&!g)return;const{transform:m}=p.style,_=new DOMMatrix(m),{a:b,b:y,c:w,d:x}=_;_.a=1,_.b=0,_.c=0,_.d=1,_.translateSelf(-g,-h),_.a=b,_.b=y,_.c=w,_.d=x,p.style.transform=_.toString()}function applyCssStyleWithOptions(d,p){const{backgroundColor:h,width:g,height:m,style:_}=p,b=d.style;if(h&&b.setProperty("background-color",h,"important"),g&&b.setProperty("width",`${g}px`,"important"),m&&b.setProperty("height",`${m}px`,"important"),_)for(const y in _)b[y]=_[y]}const NORMAL_ATTRIBUTE_RE=/^[\w-:]+$/;async function cloneNode(d,p,h=!1,g){var x,E,S,k;const{ownerDocument:m,ownerWindow:_,fontFamilies:b,onCloneEachNode:y}=p;if(m&&isTextNode(d))return g&&/\S/.test(d.data)&&g(d.data),m.createTextNode(d.data);if(m&&_&&isElementNode(d)&&(isHTMLElementNode(d)||isSVGElementNode(d))){const I=await cloneElement(d,p);if(p.isEnable("removeAbnormalAttributes")){const $=I.getAttributeNames();for(let O=$.length,F=0;F<O;F++){const j=$[F];NORMAL_ATTRIBUTE_RE.test(j)||I.removeAttribute(j)}}const A=p.currentNodeStyle=copyCssStyles(d,I,h,p);h&&applyCssStyleWithOptions(I,p);let M=!1;if(p.isEnable("copyScrollbar")){const $=[(x=A.get("overflow-x"))==null?void 0:x[0],(E=A.get("overflow-y"))==null?void 0:E[0]];M=$.includes("scroll")||($.includes("auto")||$.includes("overlay"))&&(d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)}const R=(S=A.get("text-transform"))==null?void 0:S[0],C=splitFontFamily((k=A.get("font-family"))==null?void 0:k[0]),N=C?$=>{R==="uppercase"?$=$.toUpperCase():R==="lowercase"?$=$.toLowerCase():R==="capitalize"&&($=$[0].toUpperCase()+$.substring(1)),C.forEach(O=>{let F=b.get(O);F||b.set(O,F=new Set),$.split("").forEach(j=>F.add(j))})}:void 0;return copyPseudoClass(d,I,M,p,N),copyInputValue(d,I),isVideoElement(d)||await cloneChildNodes(d,I,p,N),await(y==null?void 0:y(I)),I}const w=d.cloneNode(!1);return await cloneChildNodes(d,w,p),await(y==null?void 0:y(w)),w}function destroyContext(d){if(d.ownerDocument=void 0,d.ownerWindow=void 0,d.svgStyleElement=void 0,d.svgDefsElement=void 0,d.svgStyles.clear(),d.defaultComputedStyles.clear(),d.sandbox){try{d.sandbox.remove()}catch(p){d.log.warn("Failed to destroyContext",p)}d.sandbox=void 0}d.workers=[],d.fontFamilies.clear(),d.fontCssTexts.clear(),d.requests.clear(),d.tasks=[],d.shadowRoots=[]}function baseFetch(d){const{url:p,timeout:h,responseType:g,...m}=d,_=new AbortController,b=h?setTimeout(()=>_.abort(),h):void 0;return fetch(p,{signal:_.signal,...m}).then(y=>{if(!y.ok)throw new Error("Failed fetch, not 2xx response",{cause:y});switch(g){case"arrayBuffer":return y.arrayBuffer();case"dataUrl":return y.blob().then(blobToDataUrl);case"text":default:return y.text()}}).finally(()=>clearTimeout(b))}function contextFetch(d,p){const{url:h,requestType:g="text",responseType:m="text",imageDom:_}=p;let b=h;const{timeout:y,acceptOfImage:w,requests:x,fetchFn:E,fetch:{requestInit:S,bypassingCache:k,placeholderImage:I},font:A,workers:M,fontFamilies:R}=d;g==="image"&&(IN_SAFARI||IN_FIREFOX)&&d.drawImageCount++;let C=x.get(h);if(!C){k&&k instanceof RegExp&&k.test(b)&&(b+=(/\?/.test(b)?"&":"?")+new Date().getTime());const N=g.startsWith("font")&&A&&A.minify,$=new Set;N&&g.split(";")[1].split(",").forEach(Y=>{R.has(Y)&&R.get(Y).forEach(q=>$.add(q))});const O=N&&$.size,F={url:b,timeout:y,responseType:O?"arrayBuffer":m,headers:g==="image"?{accept:w}:void 0,...S};C={type:g,resolve:void 0,reject:void 0,response:null},C.response=(async()=>{if(E&&g==="image"){const j=await E(h);if(j)return j}return!IN_SAFARI&&h.startsWith("http")&&M.length?new Promise((j,Y)=>{M[x.size&M.length-1].postMessage({rawUrl:h,...F}),C.resolve=j,C.reject=Y}):baseFetch(F)})().catch(j=>{if(x.delete(h),g==="image"&&I)return d.log.warn("Failed to fetch image base64, trying to use placeholder image",b),typeof I=="string"?I:I(_);throw j}),x.set(h,C)}return C.response}async function replaceCssUrlToDataUrl(d,p,h,g){if(!hasCssUrl(d))return d;for(const[m,_]of parseCssUrls(d,p))try{const b=await contextFetch(h,{url:_,requestType:g?"image":"text",responseType:"dataUrl"});d=d.replace(toRE(m),`$1${b}$3`)}catch(b){h.log.warn("Failed to fetch css data url",m,b)}return d}function hasCssUrl(d){return/url\((['"]?)([^'"]+?)\1\)/.test(d)}const URL_RE=/url\((['"]?)([^'"]+?)\1\)/g;function parseCssUrls(d,p){const h=[];return d.replace(URL_RE,(g,m,_)=>(h.push([_,resolveUrl(_,p)]),g)),h.filter(([g])=>!isDataUrl(g))}function toRE(d){const p=d.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${p})(['"]?\\))`,"g")}const properties=["background-image","border-image-source","-webkit-border-image","-webkit-mask-image","list-style-image"];function embedCssStyleImage(d,p){return properties.map(h=>{const g=d.getPropertyValue(h);return!g||g==="none"?null:((IN_SAFARI||IN_FIREFOX)&&p.drawImageCount++,replaceCssUrlToDataUrl(g,null,p,!0).then(m=>{!m||g===m||d.setProperty(h,m,d.getPropertyPriority(h))}))}).filter(Boolean)}function embedImageElement(d,p){if(isImageElement(d)){const h=d.currentSrc||d.src;if(!isDataUrl(h))return[contextFetch(p,{url:h,imageDom:d,requestType:"image",responseType:"dataUrl"}).then(g=>{g&&(d.srcset="",d.dataset.originalSrc=h,d.src=g||"")})];(IN_SAFARI||IN_FIREFOX)&&p.drawImageCount++}else if(isSVGElementNode(d)&&!isDataUrl(d.href.baseVal)){const h=d.href.baseVal;return[contextFetch(p,{url:h,imageDom:d,requestType:"image",responseType:"dataUrl"}).then(g=>{g&&(d.dataset.originalSrc=h,d.href.baseVal=g||"")})]}return[]}function embedSvgUse(d,p){const{ownerDocument:h,svgDefsElement:g}=p,m=d.getAttribute("href")??d.getAttribute("xlink:href");if(!m)return[];const[_,b]=m.split("#");if(b){const y=`#${b}`,w=p.shadowRoots.reduce((x,E)=>x??E.querySelector(`svg ${y}`),h==null?void 0:h.querySelector(`svg ${y}`));if(_&&d.setAttribute("href",y),g!=null&&g.querySelector(y))return[];if(w)return g==null||g.appendChild(w.cloneNode(!0)),[];if(_)return[contextFetch(p,{url:_,responseType:"text"}).then(x=>{g==null||g.insertAdjacentHTML("beforeend",x)})]}return[]}function embedNode(d,p){const{tasks:h}=p;isElementNode(d)&&((isImageElement(d)||isSVGImageElementNode(d))&&h.push(...embedImageElement(d,p)),isSVGUseElementNode(d)&&h.push(...embedSvgUse(d,p))),isHTMLElementNode(d)&&h.push(...embedCssStyleImage(d.style,p)),d.childNodes.forEach(g=>{embedNode(g,p)})}async function embedWebFont(d,p){const{ownerDocument:h,svgStyleElement:g,fontFamilies:m,fontCssTexts:_,tasks:b,font:y}=p;if(!(!h||!g||!m.size))if(y&&y.cssText){const w=filterPreferredFormat(y.cssText,p);g.appendChild(h.createTextNode(`${w}
|
|
39
|
+
`))}else{const w=Array.from(h.styleSheets).filter(E=>{try{return"cssRules"in E&&!!E.cssRules.length}catch(S){return p.log.warn(`Error while reading CSS rules from ${E.href}`,S),!1}});await Promise.all(w.flatMap(E=>Array.from(E.cssRules).map(async(S,k)=>{if(isCSSImportRule$1(S)){let I=k+1;const A=S.href;let M="";try{M=await contextFetch(p,{url:A,requestType:"text",responseType:"text"})}catch(C){p.log.warn(`Error fetch remote css import from ${A}`,C)}const R=M.replace(URL_RE,(C,N,$)=>C.replace($,resolveUrl($,A)));for(const C of parseCss(R))try{E.insertRule(C,C.startsWith("@import")?I+=1:E.cssRules.length)}catch(N){p.log.warn("Error inserting rule from remote css import",{rule:C,error:N})}}})));const x=[];w.forEach(E=>{unwrapCssLayers(E.cssRules,x)}),x.filter(E=>{var S;return isCssFontFaceRule(E)&&hasCssUrl(E.style.getPropertyValue("src"))&&((S=splitFontFamily(E.style.getPropertyValue("font-family")))==null?void 0:S.some(k=>m.has(k)))}).forEach(E=>{const S=E,k=_.get(S.cssText);k?g.appendChild(h.createTextNode(`${k}
|
|
40
|
+
`)):b.push(replaceCssUrlToDataUrl(S.cssText,S.parentStyleSheet?S.parentStyleSheet.href:null,p).then(I=>{I=filterPreferredFormat(I,p),_.set(S.cssText,I),g.appendChild(h.createTextNode(`${I}
|
|
41
|
+
`))}))})}}const COMMENTS_RE=/(\/\*[\s\S]*?\*\/)/g,KEYFRAMES_RE=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function parseCss(d){if(d==null)return[];const p=[];let h=d.replace(COMMENTS_RE,"");for(;;){const _=KEYFRAMES_RE.exec(h);if(!_)break;p.push(_[0])}h=h.replace(KEYFRAMES_RE,"");const g=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,m=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let _=g.exec(h);if(_)m.lastIndex=g.lastIndex;else if(_=m.exec(h),_)g.lastIndex=m.lastIndex;else break;p.push(_[0])}return p}const URL_WITH_FORMAT_RE=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,FONT_SRC_RE=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function filterPreferredFormat(d,p){const{font:h}=p,g=h?h==null?void 0:h.preferredFormat:void 0;return g?d.replace(FONT_SRC_RE,m=>{for(;;){const[_,,b]=URL_WITH_FORMAT_RE.exec(m)||[];if(!b)return"";if(b===g)return`src: ${_};`}}):d}function unwrapCssLayers(d,p=[]){for(const h of Array.from(d))isLayerBlockRule(h)?p.push(...unwrapCssLayers(h.cssRules)):"cssRules"in h?unwrapCssLayers(h.cssRules,p):p.push(h);return p}async function domToForeignObjectSvg(d,p){const h=await orCreateContext(d,p);if(isElementNode(h.node)&&isSVGElementNode(h.node))return h.node;const{ownerDocument:g,log:m,tasks:_,svgStyleElement:b,svgDefsElement:y,svgStyles:w,font:x,progress:E,autoDestruct:S,onCloneNode:k,onEmbedNode:I,onCreateForeignObjectSvg:A}=h;m.time("clone node");const M=await cloneNode(h.node,h,!0);if(b&&g){let O="";w.forEach((F,j)=>{O+=`${F.join(`,
|
|
42
42
|
`)} {
|
|
43
|
-
${
|
|
43
|
+
${j}
|
|
44
44
|
}
|
|
45
|
-
`}),i.appendChild(r.createTextNode($))}o.timeEnd("clone node"),await(f==null?void 0:f(y)),c!==!1&&isElementNode(y)&&(o.time("embed web font"),await embedWebFont(y,n),o.timeEnd("embed web font")),o.time("embed node"),embedNode(y,n);const h=s.length;let p=0;const b=async()=>{for(;;){const $=s.pop();if(!$)break;try{await $}catch(k){n.log.warn("Failed to run task",k)}u==null||u(++p,h)}};u==null||u(p,h),await Promise.all([...Array.from({length:4})].map(b)),o.timeEnd("embed node"),await(v==null?void 0:v(y));const m=createForeignObjectSvg(y,n);return a&&m.insertBefore(a,m.children[0]),i&&m.insertBefore(i,m.children[0]),d&&destroyContext(n),await(_==null?void 0:_(m)),m}function createForeignObjectSvg(e,t){const{width:n,height:r}=t,o=createSvg(n,r,e.ownerDocument),s=o.ownerDocument.createElementNS(o.namespaceURI,"foreignObject");return s.setAttributeNS(null,"x","0%"),s.setAttributeNS(null,"y","0%"),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.append(e),o.appendChild(s),o}async function domToCanvas(e,t){var i;const n=await orCreateContext(e,t),r=await domToForeignObjectSvg(n),o=svgToDataUrl(r,n.isEnable("removeControlCharacter"));n.autoDestruct||(n.svgStyleElement=createStyleElement(n.ownerDocument),n.svgDefsElement=(i=n.ownerDocument)==null?void 0:i.createElementNS(XMLNS,"defs"),n.svgStyles.clear());const s=createImage(o,r.ownerDocument);return await imageToCanvas(s,n)}const PLACEHOLDER="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function canvasHasContent(e){const t=e.getContext("2d");if(!t)return!1;const{width:n,height:r}=e;if(n===0||r===0)return!1;const o=t.getImageData(0,0,n,r).data,s=n*r,i=Math.min(50,s),a=Math.max(1,Math.floor(s/i));for(let l=0;l<s;l+=a){const c=l*4;if(o[c+3]>10){const d=o[c],f=o[c+1],v=o[c+2];if(d>5||f>5||v>5)return!0}}return!1}function isFragmentUrl(e){try{const t=new URL(e,window.location.href);return t.origin===window.location.origin&&t.pathname===window.location.pathname&&!!t.hash}catch{return!0}}function withFetchIntercept(e){const t=window.fetch;return window.fetch=function(n,r){const o=typeof n=="string"?n:n instanceof URL?n.toString():n.url;return isFragmentUrl(o)?Promise.resolve(new Response("",{status:200})):t.call(window,n,r)},e().finally(()=>{window.fetch=t})}const sharedOptions={fetch:{placeholderImage:PLACEHOLDER},features:{restoreScrollPosition:!0},filter:e=>{var t;return!(e instanceof HTMLElement&&(e.tagName==="JAT-FEEDBACK"||(t=e.id)!=null&&t.startsWith("jat-feedback-")))}};async function captureViewport(){return withFetchIntercept(async()=>{const e=await domToCanvas(document.documentElement,{...sharedOptions,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(e)){const t=await domToCanvas(document.body,{...sharedOptions,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(t))throw new Error("Screenshot produced a blank image");return t.toDataURL("image/jpeg",.8)}return e.toDataURL("image/jpeg",.8)})}async function captureViewportQuick(){return withFetchIntercept(async()=>{const e=await domToCanvas(document.documentElement,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(e)){const t=await domToCanvas(document.body,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(t))throw new Error("Screenshot produced a blank image");return t.toDataURL("image/jpeg",.6)}return e.toDataURL("image/jpeg",.6)})}function cubic_out(e){const t=e-1;return t*t*t+1}function slide(e,{delay:t=0,duration:n=400,easing:r=cubic_out,axis:o="y"}={}){const s=getComputedStyle(e),i=+s.opacity,a=o==="y"?"height":"width",l=parseFloat(s[a]),c=o==="y"?["top","bottom"]:["left","right"],u=c.map(p=>`${p[0].toUpperCase()}${p.slice(1)}`),d=parseFloat(s[`padding${u[0]}`]),f=parseFloat(s[`padding${u[1]}`]),v=parseFloat(s[`margin${u[0]}`]),_=parseFloat(s[`margin${u[1]}`]),y=parseFloat(s[`border${u[0]}Width`]),h=parseFloat(s[`border${u[1]}Width`]);return{delay:t,duration:n,easing:r,css:p=>`overflow: hidden;opacity: ${Math.min(p*20,1)*i};${a}: ${p*l}px;padding-${c[0]}: ${p*d}px;padding-${c[1]}: ${p*f}px;margin-${c[0]}: ${p*v}px;margin-${c[1]}: ${p*_}px;border-${c[0]}-width: ${p*y}px;border-${c[1]}-width: ${p*h}px;min-${a}: 0`}}var root_3$6=from_html('<button class="thumb-edit svelte-1dhybq8" aria-label="Edit screenshot"><svg width="10" height="10" viewBox="0 0 24 24" fill="none"><path d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button>'),root_2$7=from_html('<div class="thumb-wrap svelte-1dhybq8"><img class="thumb svelte-1dhybq8"/> <!> <button class="thumb-remove svelte-1dhybq8" aria-label="Remove screenshot">×</button></div>'),root_4$4=from_html('<span class="more-badge svelte-1dhybq8"> </span>'),root_1$7=from_html('<div class="thumb-strip svelte-1dhybq8"><!> <!></div>');const $$css$8={hash:"svelte-1dhybq8",code:".thumb-strip.svelte-1dhybq8 {display:flex;gap:6px;align-items:center;}.thumb-wrap.svelte-1dhybq8 {position:relative;}.thumb.svelte-1dhybq8 {width:60px;height:42px;object-fit:cover;border-radius:4px;border:1px solid #374151;}.thumb-edit.svelte-1dhybq8 {position:absolute;bottom:2px;right:2px;width:20px;height:20px;border-radius:3px;background:rgba(59, 130, 246, 0.85);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity 0.15s;}.thumb-wrap.svelte-1dhybq8:hover .thumb-edit:where(.svelte-1dhybq8) {opacity:1;}.thumb-edit.svelte-1dhybq8:hover {background:#2563eb;}.thumb-remove.svelte-1dhybq8 {position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:#ef4444;color:white;border:none;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;}.more-badge.svelte-1dhybq8 {font-size:11px;color:#6b7280;padding:0 4px;}"};function ScreenshotPreview(e,t){push(t,!0),append_styles(e,$$css$8);let n=prop(t,"screenshots",23,()=>[]),r=prop(t,"capturing",7,!1),o=prop(t,"oncapture",7),s=prop(t,"onremove",7),i=prop(t,"onedit",7);var a={get screenshots(){return n()},set screenshots(d=[]){n(d),flushSync()},get capturing(){return r()},set capturing(d=!1){r(d),flushSync()},get oncapture(){return o()},set oncapture(d){o(d),flushSync()},get onremove(){return s()},set onremove(d){s(d),flushSync()},get onedit(){return i()},set onedit(d){i(d),flushSync()}},l=comment(),c=first_child(l);{var u=d=>{var f=root_1$7(),v=child(f);each(v,17,()=>n().slice(-3),index,(h,p,b)=>{const m=user_derived(()=>n().length>3?n().length-3+b:b);var $=root_2$7(),k=child($);set_attribute(k,"alt",`Screenshot ${b+1}`);var N=sibling(k,2);{var O=ee=>{var J=root_3$6();delegated("click",J,()=>i()(get(m))),append(ee,J)};if_block(N,ee=>{i()&&ee(O)})}var F=sibling(N,2);reset($),template_effect(()=>set_attribute(k,"src",get(p))),delegated("click",F,()=>s()(get(m))),append(h,$)});var _=sibling(v,2);{var y=h=>{var p=root_4$4(),b=child(p);reset(p),template_effect(()=>set_text(b,`+${n().length-3}`)),append(h,p)};if_block(_,h=>{n().length>3&&h(y)})}reset(f),append(d,f)};if_block(c,d=>{n().length>0&&d(u)})}return append(e,l),pop(a)}delegate(["click"]),create_custom_element(ScreenshotPreview,{screenshots:{},capturing:{},oncapture:{},onremove:{},onedit:{}},[],[],{mode:"open"});var root_2$6=from_svg('<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><ellipse cx="12" cy="12" rx="10" ry="7" stroke="currentColor" stroke-width="2" fill="none"></ellipse></svg>'),root_3$5=from_svg('<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></path></svg>'),root_1$6=from_html('<button><!> <span class="tool-label svelte-yff65c"> </span></button>'),root_4$3=from_html("<button></button>"),root_5$3=from_html('<canvas class="base-canvas svelte-yff65c"></canvas> <canvas></canvas>',1),root_6$4=from_html('<div class="loading svelte-yff65c">Loading image...</div>'),root_7$4=from_html('<input type="text" class="text-overlay-input svelte-yff65c" placeholder="Type here..."/>'),root$5=from_html('<div class="annotation-backdrop svelte-yff65c"><div class="annotation-toolbar svelte-yff65c"><div class="tool-group svelte-yff65c"></div> <div class="divider svelte-yff65c"></div> <div class="color-group svelte-yff65c"></div> <div class="divider svelte-yff65c"></div> <div class="action-group svelte-yff65c"><button class="action-btn svelte-yff65c" title="Undo (Ctrl+Z)"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3 10h10a5 5 0 015 5v0a5 5 0 01-5 5H8M3 10l4-4M3 10l4 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Undo</button> <button class="action-btn svelte-yff65c" title="Clear all"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2M10 11v6M14 11v6M5 6l1 14h12l1-14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Clear</button></div> <div class="spacer svelte-yff65c"></div> <div class="commit-group svelte-yff65c"><button class="cancel-btn svelte-yff65c">Cancel</button> <button class="done-btn svelte-yff65c">Done</button></div></div> <div class="canvas-container svelte-yff65c"><!></div> <!></div>');const $$css$7={hash:"svelte-yff65c",code:`.annotation-backdrop.svelte-yff65c {position:fixed;inset:0;z-index:2147483647;background:rgba(0, 0, 0, 0.85);display:flex;flex-direction:column;align-items:center;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.annotation-toolbar.svelte-yff65c {display:flex;align-items:center;gap:6px;padding:8px 12px;background:#1f2937;border-bottom:1px solid #374151;width:100%;flex-shrink:0;flex-wrap:wrap;}.tool-group.svelte-yff65c, .color-group.svelte-yff65c, .action-group.svelte-yff65c, .commit-group.svelte-yff65c {display:flex;align-items:center;gap:4px;}.divider.svelte-yff65c {width:1px;height:24px;background:#374151;margin:0 4px;}.spacer.svelte-yff65c {flex:1;}.tool-btn.svelte-yff65c {display:flex;align-items:center;gap:4px;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:all 0.15s;}.tool-btn.svelte-yff65c:hover {color:#e5e7eb;background:#374151;}.tool-btn.active.svelte-yff65c {color:#fff;background:#3b82f6;border-color:#3b82f6;}.tool-label.svelte-yff65c {display:none;}
|
|
45
|
+
`}),b.appendChild(g.createTextNode(O))}m.timeEnd("clone node"),await(k==null?void 0:k(M)),x!==!1&&isElementNode(M)&&(m.time("embed web font"),await embedWebFont(M,h),m.timeEnd("embed web font")),m.time("embed node"),embedNode(M,h);const R=_.length;let C=0;const N=async()=>{for(;;){const O=_.pop();if(!O)break;try{await O}catch(F){h.log.warn("Failed to run task",F)}E==null||E(++C,R)}};E==null||E(C,R),await Promise.all([...Array.from({length:4})].map(N)),m.timeEnd("embed node"),await(I==null?void 0:I(M));const $=createForeignObjectSvg(M,h);return y&&$.insertBefore(y,$.children[0]),b&&$.insertBefore(b,$.children[0]),S&&destroyContext(h),await(A==null?void 0:A($)),$}function createForeignObjectSvg(d,p){const{width:h,height:g}=p,m=createSvg(h,g,d.ownerDocument),_=m.ownerDocument.createElementNS(m.namespaceURI,"foreignObject");return _.setAttributeNS(null,"x","0%"),_.setAttributeNS(null,"y","0%"),_.setAttributeNS(null,"width","100%"),_.setAttributeNS(null,"height","100%"),_.append(d),m.appendChild(_),m}async function domToCanvas(d,p){var b;const h=await orCreateContext(d,p),g=await domToForeignObjectSvg(h),m=svgToDataUrl(g,h.isEnable("removeControlCharacter"));h.autoDestruct||(h.svgStyleElement=createStyleElement(h.ownerDocument),h.svgDefsElement=(b=h.ownerDocument)==null?void 0:b.createElementNS(XMLNS,"defs"),h.svgStyles.clear());const _=createImage(m,g.ownerDocument);return await imageToCanvas(_,h)}const PLACEHOLDER="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";function canvasHasContent(d){const p=d.getContext("2d");if(!p)return!1;const{width:h,height:g}=d;if(h===0||g===0)return!1;const m=p.getImageData(0,0,h,g).data,_=h*g,b=Math.min(50,_),y=Math.max(1,Math.floor(_/b));for(let w=0;w<_;w+=y){const x=w*4;if(m[x+3]>10){const S=m[x],k=m[x+1],I=m[x+2];if(S>5||k>5||I>5)return!0}}return!1}function isFragmentUrl(d){try{const p=new URL(d,window.location.href);return p.origin===window.location.origin&&p.pathname===window.location.pathname&&!!p.hash}catch{return!0}}function withFetchIntercept(d){const p=window.fetch;return window.fetch=function(h,g){const m=typeof h=="string"?h:h instanceof URL?h.toString():h.url;return isFragmentUrl(m)?Promise.resolve(new Response("",{status:200})):p.call(window,h,g)},d().finally(()=>{window.fetch=p})}const sharedOptions={fetch:{placeholderImage:PLACEHOLDER},features:{restoreScrollPosition:!0},filter:d=>{var p;return!(d instanceof HTMLElement&&(d.tagName==="JAT-FEEDBACK"||(p=d.id)!=null&&p.startsWith("jat-feedback-")))}};async function captureViewport(){return withFetchIntercept(async()=>{const d=await domToCanvas(document.documentElement,{...sharedOptions,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(d)){const p=await domToCanvas(document.body,{...sharedOptions,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(p))throw new Error("Screenshot produced a blank image");return p.toDataURL("image/jpeg",.8)}return d.toDataURL("image/jpeg",.8)})}async function captureViewportQuick(){return withFetchIntercept(async()=>{const d=await domToCanvas(document.documentElement,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}});if(!canvasHasContent(d)){const p=await domToCanvas(document.body,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight});if(!canvasHasContent(p))throw new Error("Screenshot produced a blank image");return p.toDataURL("image/jpeg",.6)}return d.toDataURL("image/jpeg",.6)})}var NodeType$2;(function(d){d[d.Document=0]="Document",d[d.DocumentType=1]="DocumentType",d[d.Element=2]="Element",d[d.Text=3]="Text",d[d.CDATA=4]="CDATA",d[d.Comment=5]="Comment"})(NodeType$2||(NodeType$2={}));function isElement(d){return d.nodeType===d.ELEMENT_NODE}function isShadowRoot(d){var p=d==null?void 0:d.host;return(p==null?void 0:p.shadowRoot)===d}function isNativeShadowDom(d){return Object.prototype.toString.call(d)==="[object ShadowRoot]"}function fixBrowserCompatibilityIssuesInCSS(d){return d.includes(" background-clip: text;")&&!d.includes(" -webkit-background-clip: text;")&&(d=d.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;")),d}function getCssRulesString(d){try{var p=d.rules||d.cssRules;return p?fixBrowserCompatibilityIssuesInCSS(Array.from(p).map(getCssRuleString).join("")):null}catch{return null}}function getCssRuleString(d){var p=d.cssText;if(isCSSImportRule(d))try{p=getCssRulesString(d.styleSheet)||p}catch{}return p}function isCSSImportRule(d){return"styleSheet"in d}var Mirror$2=(function(){function d(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return d.prototype.getId=function(p){var h;if(!p)return-1;var g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1},d.prototype.getNode=function(p){return this.idNodeMap.get(p)||null},d.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},d.prototype.getMeta=function(p){return this.nodeMetaMap.get(p)||null},d.prototype.removeNodeFromMap=function(p){var h=this,g=this.getId(p);this.idNodeMap.delete(g),p.childNodes&&p.childNodes.forEach(function(m){return h.removeNodeFromMap(m)})},d.prototype.has=function(p){return this.idNodeMap.has(p)},d.prototype.hasNode=function(p){return this.nodeMetaMap.has(p)},d.prototype.add=function(p,h){var g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)},d.prototype.replace=function(p,h){var g=this.getNode(p);if(g){var m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)},d.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},d})();function createMirror$2(){return new Mirror$2}function maskInputValue(d){var p=d.maskInputOptions,h=d.tagName,g=d.type,m=d.value,_=d.maskInputFn,b=m||"";return(p[h.toLowerCase()]||p[g])&&(_?b=_(b):b="*".repeat(b.length)),b}var ORIGINAL_ATTRIBUTE_NAME="__rrweb_original__";function is2DCanvasBlank(d){var p=d.getContext("2d");if(!p)return!0;for(var h=50,g=0;g<d.width;g+=h)for(var m=0;m<d.height;m+=h){var _=p.getImageData,b=ORIGINAL_ATTRIBUTE_NAME in _?_[ORIGINAL_ATTRIBUTE_NAME]:_,y=new Uint32Array(b.call(p,g,m,Math.min(h,d.width-g),Math.min(h,d.height-m)).data.buffer);if(y.some(function(w){return w!==0}))return!1}return!0}var _id=1,tagNameRegex=new RegExp("[^a-z0-9-_:]"),IGNORED_NODE=-2;function genId(){return _id++}function getValidTagName$1(d){if(d instanceof HTMLFormElement)return"form";var p=d.tagName.toLowerCase().trim();return tagNameRegex.test(p)?"div":p}function stringifyStyleSheet(d){return d.cssRules?Array.from(d.cssRules).map(function(p){return p.cssText||""}).join(""):""}function extractOrigin(d){var p="";return d.indexOf("//")>-1?p=d.split("/").slice(0,3).join("/"):p=d.split("/")[0],p=p.split("?")[0],p}var canvasService,canvasCtx,URL_IN_CSS_REF=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,RELATIVE_PATH=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,DATA_URI=/^(data:)([^,]*),(.*)/i;function absoluteToStylesheet(d,p){return(d||"").replace(URL_IN_CSS_REF,function(h,g,m,_,b,y){var w=m||b||y,x=g||_||"";if(!w)return h;if(!RELATIVE_PATH.test(w)||DATA_URI.test(w))return"url(".concat(x).concat(w).concat(x,")");if(w[0]==="/")return"url(".concat(x).concat(extractOrigin(p)+w).concat(x,")");var E=p.split("/"),S=w.split("/");E.pop();for(var k=0,I=S;k<I.length;k++){var A=I[k];A!=="."&&(A===".."?E.pop():E.push(A))}return"url(".concat(x).concat(E.join("/")).concat(x,")")})}var SRCSET_NOT_SPACES=/^[^ \t\n\r\u000c]+/,SRCSET_COMMAS_OR_SPACES=/^[, \t\n\r\u000c]+/;function getAbsoluteSrcsetString(d,p){if(p.trim()==="")return p;var h=0;function g(x){var E,S=x.exec(p.substring(h));return S?(E=S[0],h+=E.length,E):""}for(var m=[];g(SRCSET_COMMAS_OR_SPACES),!(h>=p.length);){var _=g(SRCSET_NOT_SPACES);if(_.slice(-1)===",")_=absoluteToDoc(d,_.substring(0,_.length-1)),m.push(_);else{var b="";_=absoluteToDoc(d,_);for(var y=!1;;){var w=p.charAt(h);if(w===""){m.push((_+b).trim());break}else if(y)w===")"&&(y=!1);else if(w===","){h+=1,m.push((_+b).trim());break}else w==="("&&(y=!0);b+=w,h+=1}}}return m.join(", ")}function absoluteToDoc(d,p){if(!p||p.trim()==="")return p;var h=d.createElement("a");return h.href=p,h.href}function isSVGElement(d){return!!(d.tagName==="svg"||d.ownerSVGElement)}function getHref(){var d=document.createElement("a");return d.href="",d.href}function transformAttribute(d,p,h,g){return h==="src"||h==="href"&&g&&!(p==="use"&&g[0]==="#")||h==="xlink:href"&&g&&g[0]!=="#"||h==="background"&&g&&(p==="table"||p==="td"||p==="th")?absoluteToDoc(d,g):h==="srcset"&&g?getAbsoluteSrcsetString(d,g):h==="style"&&g?absoluteToStylesheet(g,getHref()):p==="object"&&h==="data"&&g?absoluteToDoc(d,g):g}function _isBlockedElement(d,p,h){if(typeof p=="string"){if(d.classList.contains(p))return!0}else for(var g=d.classList.length;g--;){var m=d.classList[g];if(p.test(m))return!0}return h?d.matches(h):!1}function classMatchesRegex(d,p,h){if(!d)return!1;if(d.nodeType!==d.ELEMENT_NODE)return h?classMatchesRegex(d.parentNode,p,h):!1;for(var g=d.classList.length;g--;){var m=d.classList[g];if(p.test(m))return!0}return h?classMatchesRegex(d.parentNode,p,h):!1}function needMaskingText(d,p,h){var g=d.nodeType===d.ELEMENT_NODE?d:d.parentElement;if(g===null)return!1;if(typeof p=="string"){if(g.classList.contains(p)||g.closest(".".concat(p)))return!0}else if(classMatchesRegex(g,p,!0))return!0;return!!(h&&(g.matches(h)||g.closest(h)))}function onceIframeLoaded(d,p,h){var g=d.contentWindow;if(g){var m=!1,_;try{_=g.document.readyState}catch{return}if(_!=="complete"){var b=setTimeout(function(){m||(p(),m=!0)},h);d.addEventListener("load",function(){clearTimeout(b),m=!0,p()});return}var y="about:blank";if(g.location.href!==y||d.src===y||d.src==="")return setTimeout(p,0),d.addEventListener("load",p);d.addEventListener("load",p)}}function onceStylesheetLoaded(d,p,h){var g=!1,m;try{m=d.sheet}catch{return}if(!m){var _=setTimeout(function(){g||(p(),g=!0)},h);d.addEventListener("load",function(){clearTimeout(_),g=!0,p()})}}function serializeNode(d,p){var h=p.doc,g=p.mirror,m=p.blockClass,_=p.blockSelector,b=p.maskTextClass,y=p.maskTextSelector,w=p.inlineStylesheet,x=p.maskInputOptions,E=x===void 0?{}:x,S=p.maskTextFn,k=p.maskInputFn,I=p.dataURLOptions,A=I===void 0?{}:I,M=p.inlineImages,R=p.recordCanvas,C=p.keepIframeSrcFn,N=p.newlyAddedElement,$=N===void 0?!1:N,O=getRootId(h,g);switch(d.nodeType){case d.DOCUMENT_NODE:return d.compatMode!=="CSS1Compat"?{type:NodeType$2.Document,childNodes:[],compatMode:d.compatMode}:{type:NodeType$2.Document,childNodes:[]};case d.DOCUMENT_TYPE_NODE:return{type:NodeType$2.DocumentType,name:d.name,publicId:d.publicId,systemId:d.systemId,rootId:O};case d.ELEMENT_NODE:return serializeElementNode(d,{doc:h,blockClass:m,blockSelector:_,inlineStylesheet:w,maskInputOptions:E,maskInputFn:k,dataURLOptions:A,inlineImages:M,recordCanvas:R,keepIframeSrcFn:C,newlyAddedElement:$,rootId:O});case d.TEXT_NODE:return serializeTextNode(d,{maskTextClass:b,maskTextSelector:y,maskTextFn:S,rootId:O});case d.CDATA_SECTION_NODE:return{type:NodeType$2.CDATA,textContent:"",rootId:O};case d.COMMENT_NODE:return{type:NodeType$2.Comment,textContent:d.textContent||"",rootId:O};default:return!1}}function getRootId(d,p){if(p.hasNode(d)){var h=p.getId(d);return h===1?void 0:h}}function serializeTextNode(d,p){var h,g=p.maskTextClass,m=p.maskTextSelector,_=p.maskTextFn,b=p.rootId,y=d.parentNode&&d.parentNode.tagName,w=d.textContent,x=y==="STYLE"?!0:void 0,E=y==="SCRIPT"?!0:void 0;if(x&&w){try{d.nextSibling||d.previousSibling||!((h=d.parentNode.sheet)===null||h===void 0)&&h.cssRules&&(w=stringifyStyleSheet(d.parentNode.sheet))}catch(S){console.warn("Cannot get CSS styles from text's parentNode. Error: ".concat(S),d)}w=absoluteToStylesheet(w,getHref())}return E&&(w="SCRIPT_PLACEHOLDER"),!x&&!E&&w&&needMaskingText(d,g,m)&&(w=_?_(w):w.replace(/[\S]/g,"*")),{type:NodeType$2.Text,textContent:w||"",isStyle:x,rootId:b}}function serializeElementNode(d,p){for(var h=p.doc,g=p.blockClass,m=p.blockSelector,_=p.inlineStylesheet,b=p.maskInputOptions,y=b===void 0?{}:b,w=p.maskInputFn,x=p.dataURLOptions,E=x===void 0?{}:x,S=p.inlineImages,k=p.recordCanvas,I=p.keepIframeSrcFn,A=p.newlyAddedElement,M=A===void 0?!1:A,R=p.rootId,C=_isBlockedElement(d,g,m),N=getValidTagName$1(d),$={},O=d.attributes.length,F=0;F<O;F++){var j=d.attributes[F];$[j.name]=transformAttribute(h,N,j.name,j.value)}if(N==="link"&&_){var Y=Array.from(h.styleSheets).find(function(z){return z.href===d.href}),q=null;Y&&(q=getCssRulesString(Y)),q&&(delete $.rel,delete $.href,$._cssText=absoluteToStylesheet(q,Y.href))}if(N==="style"&&d.sheet&&!(d.innerText||d.textContent||"").trim().length){var q=getCssRulesString(d.sheet);q&&($._cssText=absoluteToStylesheet(q,getHref()))}if(N==="input"||N==="textarea"||N==="select"){var de=d.value,oe=d.checked;$.type!=="radio"&&$.type!=="checkbox"&&$.type!=="submit"&&$.type!=="button"&&de?$.value=maskInputValue({type:$.type,tagName:N,value:de,maskInputOptions:y,maskInputFn:w}):oe&&($.checked=oe)}if(N==="option"&&(d.selected&&!y.select?$.selected=!0:delete $.selected),N==="canvas"&&k){if(d.__context==="2d")is2DCanvasBlank(d)||($.rr_dataURL=d.toDataURL(E.type,E.quality));else if(!("__context"in d)){var ce=d.toDataURL(E.type,E.quality),se=document.createElement("canvas");se.width=d.width,se.height=d.height;var ye=se.toDataURL(E.type,E.quality);ce!==ye&&($.rr_dataURL=ce)}}if(N==="img"&&S){canvasService||(canvasService=h.createElement("canvas"),canvasCtx=canvasService.getContext("2d"));var ve=d,Te=ve.crossOrigin;ve.crossOrigin="anonymous";var Ee=function(){try{canvasService.width=ve.naturalWidth,canvasService.height=ve.naturalHeight,canvasCtx.drawImage(ve,0,0),$.rr_dataURL=canvasService.toDataURL(E.type,E.quality)}catch(z){console.warn("Cannot inline img src=".concat(ve.currentSrc,"! Error: ").concat(z))}Te?$.crossOrigin=Te:ve.removeAttribute("crossorigin")};ve.complete&&ve.naturalWidth!==0?Ee():ve.onload=Ee}if((N==="audio"||N==="video")&&($.rr_mediaState=d.paused?"paused":"played",$.rr_mediaCurrentTime=d.currentTime),M||(d.scrollLeft&&($.rr_scrollLeft=d.scrollLeft),d.scrollTop&&($.rr_scrollTop=d.scrollTop)),C){var me=d.getBoundingClientRect(),Se=me.width,T=me.height;$={class:$.class,rr_width:"".concat(Se,"px"),rr_height:"".concat(T,"px")}}return N==="iframe"&&!I($.src)&&(d.contentDocument||($.rr_src=$.src),delete $.src),{type:NodeType$2.Element,tagName:N,attributes:$,childNodes:[],isSVG:isSVGElement(d)||void 0,needBlock:C,rootId:R}}function lowerIfExists(d){return d===void 0?"":d.toLowerCase()}function slimDOMExcluded(d,p){if(p.comment&&d.type===NodeType$2.Comment)return!0;if(d.type===NodeType$2.Element){if(p.script&&(d.tagName==="script"||d.tagName==="link"&&d.attributes.rel==="preload"&&d.attributes.as==="script"||d.tagName==="link"&&d.attributes.rel==="prefetch"&&typeof d.attributes.href=="string"&&d.attributes.href.endsWith(".js")))return!0;if(p.headFavicon&&(d.tagName==="link"&&d.attributes.rel==="shortcut icon"||d.tagName==="meta"&&(lowerIfExists(d.attributes.name).match(/^msapplication-tile(image|color)$/)||lowerIfExists(d.attributes.name)==="application-name"||lowerIfExists(d.attributes.rel)==="icon"||lowerIfExists(d.attributes.rel)==="apple-touch-icon"||lowerIfExists(d.attributes.rel)==="shortcut icon")))return!0;if(d.tagName==="meta"){if(p.headMetaDescKeywords&&lowerIfExists(d.attributes.name).match(/^description|keywords$/))return!0;if(p.headMetaSocial&&(lowerIfExists(d.attributes.property).match(/^(og|twitter|fb):/)||lowerIfExists(d.attributes.name).match(/^(og|twitter):/)||lowerIfExists(d.attributes.name)==="pinterest"))return!0;if(p.headMetaRobots&&(lowerIfExists(d.attributes.name)==="robots"||lowerIfExists(d.attributes.name)==="googlebot"||lowerIfExists(d.attributes.name)==="bingbot"))return!0;if(p.headMetaHttpEquiv&&d.attributes["http-equiv"]!==void 0)return!0;if(p.headMetaAuthorship&&(lowerIfExists(d.attributes.name)==="author"||lowerIfExists(d.attributes.name)==="generator"||lowerIfExists(d.attributes.name)==="framework"||lowerIfExists(d.attributes.name)==="publisher"||lowerIfExists(d.attributes.name)==="progid"||lowerIfExists(d.attributes.property).match(/^article:/)||lowerIfExists(d.attributes.property).match(/^product:/)))return!0;if(p.headMetaVerification&&(lowerIfExists(d.attributes.name)==="google-site-verification"||lowerIfExists(d.attributes.name)==="yandex-verification"||lowerIfExists(d.attributes.name)==="csrf-token"||lowerIfExists(d.attributes.name)==="p:domain_verify"||lowerIfExists(d.attributes.name)==="verify-v1"||lowerIfExists(d.attributes.name)==="verification"||lowerIfExists(d.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function serializeNodeWithId(d,p){var h=p.doc,g=p.mirror,m=p.blockClass,_=p.blockSelector,b=p.maskTextClass,y=p.maskTextSelector,w=p.skipChild,x=w===void 0?!1:w,E=p.inlineStylesheet,S=E===void 0?!0:E,k=p.maskInputOptions,I=k===void 0?{}:k,A=p.maskTextFn,M=p.maskInputFn,R=p.slimDOMOptions,C=p.dataURLOptions,N=C===void 0?{}:C,$=p.inlineImages,O=$===void 0?!1:$,F=p.recordCanvas,j=F===void 0?!1:F,Y=p.onSerialize,q=p.onIframeLoad,de=p.iframeLoadTimeout,oe=de===void 0?5e3:de,ce=p.onStylesheetLoad,se=p.stylesheetLoadTimeout,ye=se===void 0?5e3:se,ve=p.keepIframeSrcFn,Te=ve===void 0?function(){return!1}:ve,Ee=p.newlyAddedElement,me=Ee===void 0?!1:Ee,Se=p.preserveWhiteSpace,T=Se===void 0?!0:Se,z=serializeNode(d,{doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,dataURLOptions:N,inlineImages:O,recordCanvas:j,keepIframeSrcFn:Te,newlyAddedElement:me});if(!z)return console.warn(d,"not serialized"),null;var L;g.hasNode(d)?L=g.getId(d):slimDOMExcluded(z,R)||!T&&z.type===NodeType$2.Text&&!z.isStyle&&!z.textContent.replace(/^\s+|\s+$/gm,"").length?L=IGNORED_NODE:L=genId();var P=Object.assign(z,{id:L});if(g.add(d,P),L===IGNORED_NODE)return null;Y&&Y(d);var G=!x;if(P.type===NodeType$2.Element){G=G&&!P.needBlock,delete P.needBlock;var W=d.shadowRoot;W&&isNativeShadowDom(W)&&(P.isShadowHost=!0)}if((P.type===NodeType$2.Document||P.type===NodeType$2.Element)&&G){R.headWhitespace&&P.type===NodeType$2.Element&&P.tagName==="head"&&(T=!1);for(var ie={doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:x,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:N,inlineImages:O,recordCanvas:j,preserveWhiteSpace:T,onSerialize:Y,onIframeLoad:q,iframeLoadTimeout:oe,onStylesheetLoad:ce,stylesheetLoadTimeout:ye,keepIframeSrcFn:Te},J=0,ne=Array.from(d.childNodes);J<ne.length;J++){var ge=ne[J],ee=serializeNodeWithId(ge,ie);ee&&P.childNodes.push(ee)}if(isElement(d)&&d.shadowRoot)for(var he=0,B=Array.from(d.shadowRoot.childNodes);he<B.length;he++){var ge=B[he],ee=serializeNodeWithId(ge,ie);ee&&(isNativeShadowDom(d.shadowRoot)&&(ee.isShadow=!0),P.childNodes.push(ee))}}return d.parentNode&&isShadowRoot(d.parentNode)&&isNativeShadowDom(d.parentNode)&&(P.isShadow=!0),P.type===NodeType$2.Element&&P.tagName==="iframe"&&onceIframeLoaded(d,function(){var K=d.contentDocument;if(K&&q){var pe=serializeNodeWithId(K,{doc:K,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:!1,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:N,inlineImages:O,recordCanvas:j,preserveWhiteSpace:T,onSerialize:Y,onIframeLoad:q,iframeLoadTimeout:oe,onStylesheetLoad:ce,stylesheetLoadTimeout:ye,keepIframeSrcFn:Te});pe&&q(d,pe)}},oe),P.type===NodeType$2.Element&&P.tagName==="link"&&P.attributes.rel==="stylesheet"&&onceStylesheetLoaded(d,function(){if(ce){var K=serializeNodeWithId(d,{doc:h,mirror:g,blockClass:m,blockSelector:_,maskTextClass:b,maskTextSelector:y,skipChild:!1,inlineStylesheet:S,maskInputOptions:I,maskTextFn:A,maskInputFn:M,slimDOMOptions:R,dataURLOptions:N,inlineImages:O,recordCanvas:j,preserveWhiteSpace:T,onSerialize:Y,onIframeLoad:q,iframeLoadTimeout:oe,onStylesheetLoad:ce,stylesheetLoadTimeout:ye,keepIframeSrcFn:Te});K&&ce(d,K)}},ye),P}function snapshot(d,p){var h=p||{},g=h.mirror,m=g===void 0?new Mirror$2:g,_=h.blockClass,b=_===void 0?"rr-block":_,y=h.blockSelector,w=y===void 0?null:y,x=h.maskTextClass,E=x===void 0?"rr-mask":x,S=h.maskTextSelector,k=S===void 0?null:S,I=h.inlineStylesheet,A=I===void 0?!0:I,M=h.inlineImages,R=M===void 0?!1:M,C=h.recordCanvas,N=C===void 0?!1:C,$=h.maskAllInputs,O=$===void 0?!1:$,F=h.maskTextFn,j=h.maskInputFn,Y=h.slimDOM,q=Y===void 0?!1:Y,de=h.dataURLOptions,oe=h.preserveWhiteSpace,ce=h.onSerialize,se=h.onIframeLoad,ye=h.iframeLoadTimeout,ve=h.onStylesheetLoad,Te=h.stylesheetLoadTimeout,Ee=h.keepIframeSrcFn,me=Ee===void 0?function(){return!1}:Ee,Se=O===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:O===!1?{password:!0}:O,T=q===!0||q==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:q==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:q===!1?{}:q;return serializeNodeWithId(d,{doc:d,mirror:m,blockClass:b,blockSelector:w,maskTextClass:E,maskTextSelector:k,skipChild:!1,inlineStylesheet:A,maskInputOptions:Se,maskTextFn:F,maskInputFn:j,slimDOMOptions:T,dataURLOptions:de,inlineImages:R,recordCanvas:N,preserveWhiteSpace:oe,onSerialize:ce,onIframeLoad:se,iframeLoadTimeout:ye,onStylesheetLoad:ve,stylesheetLoadTimeout:Te,keepIframeSrcFn:me,newlyAddedElement:!1})}var commentre=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;function parse$1(d,p){p===void 0&&(p={});var h=1,g=1;function m(T){var z=T.match(/\n/g);z&&(h+=z.length);var L=T.lastIndexOf(`
|
|
46
|
+
`);g=L===-1?g+T.length:T.length-L}function _(){var T={line:h,column:g};return function(z){return z.position=new b(T),A(),z}}var b=(function(){function T(z){this.start=z,this.end={line:h,column:g},this.source=p.source}return T})();b.prototype.content=d;var y=[];function w(T){var z=new Error("".concat(p.source||"",":").concat(h,":").concat(g,": ").concat(T));if(z.reason=T,z.filename=p.source,z.line=h,z.column=g,z.source=d,p.silent)y.push(z);else throw z}function x(){var T=k();return{type:"stylesheet",stylesheet:{source:p.source,rules:T,parsingErrors:y}}}function E(){return I(/^{\s*/)}function S(){return I(/^}/)}function k(){var T,z=[];for(A(),M(z);d.length&&d.charAt(0)!=="}"&&(T=me()||Se());)T!==!1&&(z.push(T),M(z));return z}function I(T){var z=T.exec(d);if(z){var L=z[0];return m(L),d=d.slice(L.length),z}}function A(){I(/^\s*/)}function M(T){T===void 0&&(T=[]);for(var z;z=R();)z!==!1&&T.push(z),z=R();return T}function R(){var T=_();if(!(d.charAt(0)!=="/"||d.charAt(1)!=="*")){for(var z=2;d.charAt(z)!==""&&(d.charAt(z)!=="*"||d.charAt(z+1)!=="/");)++z;if(z+=2,d.charAt(z-1)==="")return w("End of comment missing");var L=d.slice(2,z-2);return g+=2,m(L),d=d.slice(z),g+=2,T({type:"comment",comment:L})}}function C(){var T=I(/^([^{]+)/);if(T)return trim(T[0]).replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g,"").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g,function(z){return z.replace(/,/g,"")}).split(/\s*(?![^(]*\)),\s*/).map(function(z){return z.replace(/\u200C/g,",")})}function N(){var T=_(),z=I(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);if(z){var L=trim(z[0]);if(!I(/^:\s*/))return w("property missing ':'");var P=I(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/),G=T({type:"declaration",property:L.replace(commentre,""),value:P?trim(P[0]).replace(commentre,""):""});return I(/^[;\s]*/),G}}function $(){var T=[];if(!E())return w("missing '{'");M(T);for(var z;z=N();)z!==!1&&(T.push(z),M(T)),z=N();return S()?T:w("missing '}'")}function O(){for(var T,z=[],L=_();T=I(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/);)z.push(T[1]),I(/^,\s*/);if(z.length)return L({type:"keyframe",values:z,declarations:$()})}function F(){var T=_(),z=I(/^@([-\w]+)?keyframes\s*/);if(z){var L=z[1];if(z=I(/^([-\w]+)\s*/),!z)return w("@keyframes missing name");var P=z[1];if(!E())return w("@keyframes missing '{'");for(var G,W=M();G=O();)W.push(G),W=W.concat(M());return S()?T({type:"keyframes",name:P,vendor:L,keyframes:W}):w("@keyframes missing '}'")}}function j(){var T=_(),z=I(/^@supports *([^{]+)/);if(z){var L=trim(z[1]);if(!E())return w("@supports missing '{'");var P=M().concat(k());return S()?T({type:"supports",supports:L,rules:P}):w("@supports missing '}'")}}function Y(){var T=_(),z=I(/^@host\s*/);if(z){if(!E())return w("@host missing '{'");var L=M().concat(k());return S()?T({type:"host",rules:L}):w("@host missing '}'")}}function q(){var T=_(),z=I(/^@media *([^{]+)/);if(z){var L=trim(z[1]);if(!E())return w("@media missing '{'");var P=M().concat(k());return S()?T({type:"media",media:L,rules:P}):w("@media missing '}'")}}function de(){var T=_(),z=I(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/);if(z)return T({type:"custom-media",name:trim(z[1]),media:trim(z[2])})}function oe(){var T=_(),z=I(/^@page */);if(z){var L=C()||[];if(!E())return w("@page missing '{'");for(var P=M(),G;G=N();)P.push(G),P=P.concat(M());return S()?T({type:"page",selectors:L,declarations:P}):w("@page missing '}'")}}function ce(){var T=_(),z=I(/^@([-\w]+)?document *([^{]+)/);if(z){var L=trim(z[1]),P=trim(z[2]);if(!E())return w("@document missing '{'");var G=M().concat(k());return S()?T({type:"document",document:P,vendor:L,rules:G}):w("@document missing '}'")}}function se(){var T=_(),z=I(/^@font-face\s*/);if(z){if(!E())return w("@font-face missing '{'");for(var L=M(),P;P=N();)L.push(P),L=L.concat(M());return S()?T({type:"font-face",declarations:L}):w("@font-face missing '}'")}}var ye=Ee("import"),ve=Ee("charset"),Te=Ee("namespace");function Ee(T){var z=new RegExp("^@"+T+"\\s*([^;]+);");return function(){var L=_(),P=I(z);if(P){var G={type:T};return G[T]=P[1].trim(),L(G)}}}function me(){if(d[0]==="@")return F()||q()||de()||j()||ye()||ve()||Te()||ce()||oe()||Y()||se()}function Se(){var T=_(),z=C();return z?(M(),T({type:"rule",selectors:z,declarations:$()})):w("selector missing")}return addParent(x())}function trim(d){return d?d.replace(/^\s+|\s+$/g,""):""}function addParent(d,p){for(var h=d&&typeof d.type=="string",g=h?d:p,m=0,_=Object.keys(d);m<_.length;m++){var b=_[m],y=d[b];Array.isArray(y)?y.forEach(function(w){addParent(w,g)}):y&&typeof y=="object"&&addParent(y,g)}return h&&Object.defineProperty(d,"parent",{configurable:!0,writable:!0,enumerable:!1,value:p||null}),d}var tagMap={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function getTagName(d){var p=tagMap[d.tagName]?tagMap[d.tagName]:d.tagName;return p==="link"&&d.attributes._cssText&&(p="style"),p}function escapeRegExp(d){return d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var HOVER_SELECTOR=/([^\\]):hover/,HOVER_SELECTOR_GLOBAL=new RegExp(HOVER_SELECTOR.source,"g");function addHoverClass(d,p){var h=p==null?void 0:p.stylesWithHoverClass.get(d);if(h)return h;var g=parse$1(d,{silent:!0});if(!g.stylesheet)return d;var m=[];if(g.stylesheet.rules.forEach(function(y){"selectors"in y&&(y.selectors||[]).forEach(function(w){HOVER_SELECTOR.test(w)&&m.push(w)})}),m.length===0)return d;var _=new RegExp(m.filter(function(y,w){return m.indexOf(y)===w}).sort(function(y,w){return w.length-y.length}).map(function(y){return escapeRegExp(y)}).join("|"),"g"),b=d.replace(_,function(y){var w=y.replace(HOVER_SELECTOR_GLOBAL,"$1.\\:hover");return"".concat(y,", ").concat(w)});return p==null||p.stylesWithHoverClass.set(d,b),b}function createCache(){var d=new Map;return{stylesWithHoverClass:d}}function buildNode(d,p){var h=p.doc,g=p.hackCss,m=p.cache;switch(d.type){case NodeType$2.Document:return h.implementation.createDocument(null,"",null);case NodeType$2.DocumentType:return h.implementation.createDocumentType(d.name||"html",d.publicId,d.systemId);case NodeType$2.Element:{var _=getTagName(d),b;d.isSVG?b=h.createElementNS("http://www.w3.org/2000/svg",_):b=h.createElement(_);var y={};for(var w in d.attributes)if(Object.prototype.hasOwnProperty.call(d.attributes,w)){var x=d.attributes[w];if(!(_==="option"&&w==="selected"&&x===!1)){if(x===!0&&(x=""),w.startsWith("rr_")){y[w]=x;continue}var E=_==="textarea"&&w==="value",S=_==="style"&&w==="_cssText";if(S&&g&&typeof x=="string"&&(x=addHoverClass(x,m)),(E||S)&&typeof x=="string"){for(var k=h.createTextNode(x),I=0,A=Array.from(b.childNodes);I<A.length;I++){var M=A[I];M.nodeType===b.TEXT_NODE&&b.removeChild(M)}b.appendChild(k);continue}try{if(d.isSVG&&w==="xlink:href")b.setAttributeNS("http://www.w3.org/1999/xlink",w,x.toString());else if(w==="onload"||w==="onclick"||w.substring(0,7)==="onmouse")b.setAttribute("_"+w,x.toString());else if(_==="meta"&&d.attributes["http-equiv"]==="Content-Security-Policy"&&w==="content"){b.setAttribute("csp-content",x.toString());continue}else _==="link"&&d.attributes.rel==="preload"&&d.attributes.as==="script"||_==="link"&&d.attributes.rel==="prefetch"&&typeof d.attributes.href=="string"&&d.attributes.href.endsWith(".js")||(_==="img"&&d.attributes.srcset&&d.attributes.rr_dataURL?b.setAttribute("rrweb-original-srcset",d.attributes.srcset):b.setAttribute(w,x.toString()))}catch{}}}var R=function(N){var $=y[N];if(_==="canvas"&&N==="rr_dataURL"){var O=document.createElement("img");O.onload=function(){var j=b.getContext("2d");j&&j.drawImage(O,0,0,O.width,O.height)},O.src=$.toString(),b.RRNodeType&&(b.rr_dataURL=$.toString())}else if(_==="img"&&N==="rr_dataURL"){var F=b;F.currentSrc.startsWith("data:")||(F.setAttribute("rrweb-original-src",d.attributes.src),F.src=$.toString())}if(N==="rr_width")b.style.width=$.toString();else if(N==="rr_height")b.style.height=$.toString();else if(N==="rr_mediaCurrentTime"&&typeof $=="number")b.currentTime=$;else if(N==="rr_mediaState")switch($){case"played":b.play().catch(function(j){return console.warn("media playback error",j)});break;case"paused":b.pause();break}};for(var C in y)R(C);if(d.isShadowHost)if(!b.shadowRoot)b.attachShadow({mode:"open"});else for(;b.shadowRoot.firstChild;)b.shadowRoot.removeChild(b.shadowRoot.firstChild);return b}case NodeType$2.Text:return h.createTextNode(d.isStyle&&g?addHoverClass(d.textContent,m):d.textContent);case NodeType$2.CDATA:return h.createCDATASection(d.textContent);case NodeType$2.Comment:return h.createComment(d.textContent);default:return null}}function buildNodeWithSN(d,p){var h=p.doc,g=p.mirror,m=p.skipChild,_=m===void 0?!1:m,b=p.hackCss,y=b===void 0?!0:b,w=p.afterAppend,x=p.cache,E=buildNode(d,{doc:h,hackCss:y,cache:x});if(!E)return null;if(d.rootId&&g.getNode(d.rootId)!==h&&g.replace(d.rootId,h),d.type===NodeType$2.Document&&(h.close(),h.open(),d.compatMode==="BackCompat"&&d.childNodes&&d.childNodes[0].type!==NodeType$2.DocumentType&&(d.childNodes[0].type===NodeType$2.Element&&"xmlns"in d.childNodes[0].attributes&&d.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?h.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):h.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),E=h),g.add(E,d),(d.type===NodeType$2.Document||d.type===NodeType$2.Element)&&!_)for(var S=0,k=d.childNodes;S<k.length;S++){var I=k[S],A=buildNodeWithSN(I,{doc:h,mirror:g,skipChild:!1,hackCss:y,afterAppend:w,cache:x});if(!A){console.warn("Failed to rebuild",I);continue}I.isShadow&&isElement(E)&&E.shadowRoot?E.shadowRoot.appendChild(A):E.appendChild(A),w&&w(A,I.id)}return E}function visit(d,p){function h(b){p(b)}for(var g=0,m=d.getIds();g<m.length;g++){var _=m[g];d.has(_)&&h(d.getNode(_))}}function handleScroll(d,p){var h=p.getMeta(d);if((h==null?void 0:h.type)===NodeType$2.Element){var g=d;for(var m in h.attributes)if(Object.prototype.hasOwnProperty.call(h.attributes,m)&&m.startsWith("rr_")){var _=h.attributes[m];m==="rr_scrollLeft"&&(g.scrollLeft=_),m==="rr_scrollTop"&&(g.scrollTop=_)}}}function rebuild(d,p){var h=p.doc,g=p.onVisit,m=p.hackCss,_=m===void 0?!0:m,b=p.afterAppend,y=p.cache,w=p.mirror,x=w===void 0?new Mirror$2:w,E=buildNodeWithSN(d,{doc:h,mirror:x,skipChild:!1,hackCss:_,afterAppend:b,cache:y});return visit(x,function(S){g&&g(S),handleScroll(S,x)}),E}function on(d,p,h=document){const g={capture:!0,passive:!0};return h.addEventListener(d,p,g),()=>h.removeEventListener(d,p,g)}const DEPARTED_MIRROR_ACCESS_WARNING=`Please stop import mirror directly. Instead of that,\r
|
|
47
|
+
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
48
|
+
or you can use record.mirror to access the mirror instance during recording.`;let _mirror={map:{},getId(){return console.error(DEPARTED_MIRROR_ACCESS_WARNING),-1},getNode(){return console.error(DEPARTED_MIRROR_ACCESS_WARNING),null},removeNodeFromMap(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)},has(){return console.error(DEPARTED_MIRROR_ACCESS_WARNING),!1},reset(){console.error(DEPARTED_MIRROR_ACCESS_WARNING)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(_mirror=new Proxy(_mirror,{get(d,p,h){return p==="map"&&console.error(DEPARTED_MIRROR_ACCESS_WARNING),Reflect.get(d,p,h)}}));function throttle(d,p,h={}){let g=null,m=0;return function(..._){const b=Date.now();!m&&h.leading===!1&&(m=b);const y=p-(b-m),w=this;y<=0||y>p?(g&&(clearTimeout(g),g=null),m=b,d.apply(w,_)):!g&&h.trailing!==!1&&(g=setTimeout(()=>{m=h.leading===!1?0:Date.now(),g=null,d.apply(w,_)},y))}}function hookSetter(d,p,h,g,m=window){const _=m.Object.getOwnPropertyDescriptor(d,p);return m.Object.defineProperty(d,p,g?h:{set(b){setTimeout(()=>{h.set.call(this,b)},0),_&&_.set&&_.set.call(this,b)}}),()=>hookSetter(d,p,_||{},!0)}function patch(d,p,h){try{if(!(p in d))return()=>{};const g=d[p],m=h(g);return typeof m=="function"&&(m.prototype=m.prototype||{},Object.defineProperties(m,{__rrweb_original__:{enumerable:!1,value:g}})),d[p]=m,()=>{d[p]=g}}catch{return()=>{}}}function getWindowHeight(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function getWindowWidth(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function isBlocked(d,p,h,g){if(!d)return!1;const m=d.nodeType===d.ELEMENT_NODE?d:d.parentElement;if(!m)return!1;if(typeof p=="string"){if(m.classList.contains(p)||g&&m.closest("."+p)!==null)return!0}else if(classMatchesRegex(m,p,g))return!0;return!!(h&&(d.matches(h)||g&&m.closest(h)!==null))}function isSerialized(d,p){return p.getId(d)!==-1}function isIgnored(d,p){return p.getId(d)===IGNORED_NODE}function isAncestorRemoved(d,p){if(isShadowRoot(d))return!1;const h=p.getId(d);return p.has(h)?d.parentNode&&d.parentNode.nodeType===d.DOCUMENT_NODE?!1:d.parentNode?isAncestorRemoved(d.parentNode,p):!0:!0}function isTouchEvent(d){return!!d.changedTouches}function polyfill$1(d=window){"NodeList"in d&&!d.NodeList.prototype.forEach&&(d.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in d&&!d.DOMTokenList.prototype.forEach&&(d.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...p)=>{let h=p[0];if(!(0 in p))throw new TypeError("1 argument is required");do if(this===h)return!0;while(h=h&&h.parentNode);return!1})}function queueToResolveTrees(d){const p={},h=(m,_)=>{const b={value:m,parent:_,children:[]};return p[m.node.id]=b,b},g=[];for(const m of d){const{nextId:_,parentId:b}=m;if(_&&_ in p){const y=p[_];if(y.parent){const w=y.parent.children.indexOf(y);y.parent.children.splice(w,0,h(m,y.parent))}else{const w=g.indexOf(y);g.splice(w,0,h(m,null))}continue}if(b in p){const y=p[b];y.children.push(h(m,y));continue}g.push(h(m,null))}return g}function iterateResolveTree(d,p){p(d.value);for(let h=d.children.length-1;h>=0;h--)iterateResolveTree(d.children[h],p)}function isSerializedIframe(d,p){return!!(d.nodeName==="IFRAME"&&p.getMeta(d))}function isSerializedStylesheet(d,p){return!!(d.nodeName==="LINK"&&d.nodeType===d.ELEMENT_NODE&&d.getAttribute&&d.getAttribute("rel")==="stylesheet"&&p.getMeta(d))}function getBaseDimension(d,p){var h,g;const m=(g=(h=d.ownerDocument)===null||h===void 0?void 0:h.defaultView)===null||g===void 0?void 0:g.frameElement;if(!m||m===p)return{x:0,y:0,relativeScale:1,absoluteScale:1};const _=m.getBoundingClientRect(),b=getBaseDimension(m,p),y=_.height/m.clientHeight;return{x:_.x*b.relativeScale+b.x,y:_.y*b.relativeScale+b.y,relativeScale:y,absoluteScale:b.absoluteScale*y}}function hasShadowRoot(d){return!!(d!=null&&d.shadowRoot)}function getNestedRule(d,p){const h=d[p[0]];return p.length===1?h:getNestedRule(h.cssRules[p[1]].cssRules,p.slice(2))}function getPositionsAndIndex(d){const p=[...d],h=p.pop();return{positions:p,index:h}}function uniqueTextMutations(d){const p=new Set,h=[];for(let g=d.length;g--;){const m=d[g];p.has(m.id)||(h.push(m),p.add(m.id))}return h}class StyleSheetMirror{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(p){var h;return(h=this.styleIDMap.get(p))!==null&&h!==void 0?h:-1}has(p){return this.styleIDMap.has(p)}add(p,h){if(this.has(p))return this.getId(p);let g;return h===void 0?g=this.id++:g=h,this.styleIDMap.set(p,g),this.idStyleMap.set(g,p),g}getStyle(p){return this.idStyleMap.get(p)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}var EventType=(d=>(d[d.DomContentLoaded=0]="DomContentLoaded",d[d.Load=1]="Load",d[d.FullSnapshot=2]="FullSnapshot",d[d.IncrementalSnapshot=3]="IncrementalSnapshot",d[d.Meta=4]="Meta",d[d.Custom=5]="Custom",d[d.Plugin=6]="Plugin",d))(EventType||{}),IncrementalSource=(d=>(d[d.Mutation=0]="Mutation",d[d.MouseMove=1]="MouseMove",d[d.MouseInteraction=2]="MouseInteraction",d[d.Scroll=3]="Scroll",d[d.ViewportResize=4]="ViewportResize",d[d.Input=5]="Input",d[d.TouchMove=6]="TouchMove",d[d.MediaInteraction=7]="MediaInteraction",d[d.StyleSheetRule=8]="StyleSheetRule",d[d.CanvasMutation=9]="CanvasMutation",d[d.Font=10]="Font",d[d.Log=11]="Log",d[d.Drag=12]="Drag",d[d.StyleDeclaration=13]="StyleDeclaration",d[d.Selection=14]="Selection",d[d.AdoptedStyleSheet=15]="AdoptedStyleSheet",d))(IncrementalSource||{}),MouseInteractions=(d=>(d[d.MouseUp=0]="MouseUp",d[d.MouseDown=1]="MouseDown",d[d.Click=2]="Click",d[d.ContextMenu=3]="ContextMenu",d[d.DblClick=4]="DblClick",d[d.Focus=5]="Focus",d[d.Blur=6]="Blur",d[d.TouchStart=7]="TouchStart",d[d.TouchMove_Departed=8]="TouchMove_Departed",d[d.TouchEnd=9]="TouchEnd",d[d.TouchCancel=10]="TouchCancel",d))(MouseInteractions||{}),CanvasContext=(d=>(d[d["2D"]=0]="2D",d[d.WebGL=1]="WebGL",d[d.WebGL2=2]="WebGL2",d))(CanvasContext||{}),ReplayerEvents=(d=>(d.Start="start",d.Pause="pause",d.Resume="resume",d.Resize="resize",d.Finish="finish",d.FullsnapshotRebuilded="fullsnapshot-rebuilded",d.LoadStylesheetStart="load-stylesheet-start",d.LoadStylesheetEnd="load-stylesheet-end",d.SkipStart="skip-start",d.SkipEnd="skip-end",d.MouseInteraction="mouse-interaction",d.EventCast="event-cast",d.CustomEvent="custom-event",d.Flush="flush",d.StateChange="state-change",d.PlayBack="play-back",d.Destroy="destroy",d))(ReplayerEvents||{});function isNodeInLinkedList(d){return"__ln"in d}class DoubleLinkedList{constructor(){this.length=0,this.head=null}get(p){if(p>=this.length)throw new Error("Position outside of list range");let h=this.head;for(let g=0;g<p;g++)h=(h==null?void 0:h.next)||null;return h}addNode(p){const h={value:p,previous:null,next:null};if(p.__ln=h,p.previousSibling&&isNodeInLinkedList(p.previousSibling)){const g=p.previousSibling.__ln.next;h.next=g,h.previous=p.previousSibling.__ln,p.previousSibling.__ln.next=h,g&&(g.previous=h)}else if(p.nextSibling&&isNodeInLinkedList(p.nextSibling)&&p.nextSibling.__ln.previous){const g=p.nextSibling.__ln.previous;h.previous=g,h.next=p.nextSibling.__ln,p.nextSibling.__ln.previous=h,g&&(g.next=h)}else this.head&&(this.head.previous=h),h.next=this.head,this.head=h;this.length++}removeNode(p){const h=p.__ln;this.head&&(h.previous?(h.previous.next=h.next,h.next&&(h.next.previous=h.previous)):(this.head=h.next,this.head&&(this.head.previous=null)),p.__ln&&delete p.__ln,this.length--)}}const moveKey=(d,p)=>`${d}@${p}`;class MutationBuffer{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=p=>{p.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const p=[],h=new DoubleLinkedList,g=y=>{let w=y,x=IGNORED_NODE;for(;x===IGNORED_NODE;)w=w&&w.nextSibling,x=w&&this.mirror.getId(w);return x},m=y=>{var w,x,E,S;let k=null;((x=(w=y.getRootNode)===null||w===void 0?void 0:w.call(y))===null||x===void 0?void 0:x.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&y.getRootNode().host&&(k=y.getRootNode().host);let I=k;for(;((S=(E=I==null?void 0:I.getRootNode)===null||E===void 0?void 0:E.call(I))===null||S===void 0?void 0:S.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&I.getRootNode().host;)I=I.getRootNode().host;const A=!this.doc.contains(y)&&(!I||!this.doc.contains(I));if(!y.parentNode||A)return;const M=isShadowRoot(y.parentNode)?this.mirror.getId(k):this.mirror.getId(y.parentNode),R=g(y);if(M===-1||R===-1)return h.addNode(y);const C=serializeNodeWithId(y,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:N=>{isSerializedIframe(N,this.mirror)&&this.iframeManager.addIframe(N),isSerializedStylesheet(N,this.mirror)&&this.stylesheetManager.trackLinkElement(N),hasShadowRoot(y)&&this.shadowDomManager.addShadowRoot(y.shadowRoot,this.doc)},onIframeLoad:(N,$)=>{this.iframeManager.attachIframe(N,$),this.shadowDomManager.observeAttachShadow(N)},onStylesheetLoad:(N,$)=>{this.stylesheetManager.attachLinkElement(N,$)}});C&&p.push({parentId:M,nextId:R,node:C})};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const y of Array.from(this.movedSet.values()))isParentRemoved(this.removes,y,this.mirror)&&!this.movedSet.has(y.parentNode)||m(y);for(const y of Array.from(this.addedSet.values()))!isAncestorInSet(this.droppedSet,y)&&!isParentRemoved(this.removes,y,this.mirror)||isAncestorInSet(this.movedSet,y)?m(y):this.droppedSet.add(y);let _=null;for(;h.length;){let y=null;if(_){const w=this.mirror.getId(_.value.parentNode),x=g(_.value);w!==-1&&x!==-1&&(y=_)}if(!y)for(let w=h.length-1;w>=0;w--){const x=h.get(w);if(x){const E=this.mirror.getId(x.value.parentNode);if(g(x.value)===-1)continue;if(E!==-1){y=x;break}else{const k=x.value;if(k.parentNode&&k.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const I=k.parentNode.host;if(this.mirror.getId(I)!==-1){y=x;break}}}}}if(!y){for(;h.head;)h.removeNode(h.head.value);break}_=y.previous,h.removeNode(y.value),m(y.value)}const b={texts:this.texts.map(y=>({id:this.mirror.getId(y.node),value:y.value})).filter(y=>this.mirror.has(y.id)),attributes:this.attributes.map(y=>({id:this.mirror.getId(y.node),attributes:y.attributes})).filter(y=>this.mirror.has(y.id)),removes:this.removes,adds:p};!b.texts.length&&!b.attributes.length&&!b.removes.length&&!b.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(b))},this.processMutation=p=>{if(!isIgnored(p.target,this.mirror))switch(p.type){case"characterData":{const h=p.target.textContent;!isBlocked(p.target,this.blockClass,this.blockSelector,!1)&&h!==p.oldValue&&this.texts.push({value:needMaskingText(p.target,this.maskTextClass,this.maskTextSelector)&&h?this.maskTextFn?this.maskTextFn(h):h.replace(/[\S]/g,"*"):h,node:p.target});break}case"attributes":{const h=p.target;let g=p.target.getAttribute(p.attributeName);if(p.attributeName==="value"&&(g=maskInputValue({maskInputOptions:this.maskInputOptions,tagName:p.target.tagName,type:p.target.getAttribute("type"),value:g,maskInputFn:this.maskInputFn})),isBlocked(p.target,this.blockClass,this.blockSelector,!1)||g===p.oldValue)return;let m=this.attributes.find(_=>_.node===p.target);if(h.tagName==="IFRAME"&&p.attributeName==="src"&&!this.keepIframeSrcFn(g))if(!h.contentDocument)p.attributeName="rr_src";else return;if(m||(m={node:p.target,attributes:{}},this.attributes.push(m)),p.attributeName==="style"){const _=this.doc.createElement("span");p.oldValue&&_.setAttribute("style",p.oldValue),(m.attributes.style===void 0||m.attributes.style===null)&&(m.attributes.style={});const b=m.attributes.style;for(const y of Array.from(h.style)){const w=h.style.getPropertyValue(y),x=h.style.getPropertyPriority(y);(w!==_.style.getPropertyValue(y)||x!==_.style.getPropertyPriority(y))&&(x===""?b[y]=w:b[y]=[w,x])}for(const y of Array.from(_.style))h.style.getPropertyValue(y)===""&&(b[y]=!1)}else m.attributes[p.attributeName]=transformAttribute(this.doc,h.tagName,p.attributeName,g);break}case"childList":{if(isBlocked(p.target,this.blockClass,this.blockSelector,!0))return;p.addedNodes.forEach(h=>this.genAdds(h,p.target)),p.removedNodes.forEach(h=>{const g=this.mirror.getId(h),m=isShadowRoot(p.target)?this.mirror.getId(p.target.host):this.mirror.getId(p.target);isBlocked(p.target,this.blockClass,this.blockSelector,!1)||isIgnored(h,this.mirror)||!isSerialized(h,this.mirror)||(this.addedSet.has(h)?(deepDelete(this.addedSet,h),this.droppedSet.add(h)):this.addedSet.has(p.target)&&g===-1||isAncestorRemoved(p.target,this.mirror)||(this.movedSet.has(h)&&this.movedMap[moveKey(g,m)]?deepDelete(this.movedSet,h):this.removes.push({parentId:m,id:g,isShadow:isShadowRoot(p.target)&&isNativeShadowDom(p.target)?!0:void 0})),this.mapRemoves.push(h))});break}}},this.genAdds=(p,h)=>{if(this.mirror.hasNode(p)){if(isIgnored(p,this.mirror))return;this.movedSet.add(p);let g=null;h&&this.mirror.hasNode(h)&&(g=this.mirror.getId(h)),g&&g!==-1&&(this.movedMap[moveKey(this.mirror.getId(p),g)]=!0)}else this.addedSet.add(p),this.droppedSet.delete(p);isBlocked(p,this.blockClass,this.blockSelector,!1)||p.childNodes.forEach(g=>this.genAdds(g))}}init(p){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager"].forEach(h=>{this[h]=p[h]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function deepDelete(d,p){d.delete(p),p.childNodes.forEach(h=>deepDelete(d,h))}function isParentRemoved(d,p,h){return d.length===0?!1:_isParentRemoved(d,p,h)}function _isParentRemoved(d,p,h){const{parentNode:g}=p;if(!g)return!1;const m=h.getId(g);return d.some(_=>_.id===m)?!0:_isParentRemoved(d,g,h)}function isAncestorInSet(d,p){return d.size===0?!1:_isAncestorInSet(d,p)}function _isAncestorInSet(d,p){const{parentNode:h}=p;return h?d.has(h)?!0:_isAncestorInSet(d,h):!1}const mutationBuffers=[],isCSSGroupingRuleSupported=typeof CSSGroupingRule<"u",isCSSMediaRuleSupported=typeof CSSMediaRule<"u",isCSSSupportsRuleSupported=typeof CSSSupportsRule<"u",isCSSConditionRuleSupported=typeof CSSConditionRule<"u";function getEventTarget(d){try{if("composedPath"in d){const p=d.composedPath();if(p.length)return p[0]}else if("path"in d&&d.path.length)return d.path[0];return d.target}catch{return d.target}}function initMutationObserver(d,p){var h,g;const m=new MutationBuffer;mutationBuffers.push(m),m.init(d);let _=window.MutationObserver||window.__rrMutationObserver;const b=(g=(h=window==null?void 0:window.Zone)===null||h===void 0?void 0:h.__symbol__)===null||g===void 0?void 0:g.call(h,"MutationObserver");b&&window[b]&&(_=window[b]);const y=new _(m.processMutations.bind(m));return y.observe(p,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),y}function initMoveObserver({mousemoveCb:d,sampling:p,doc:h,mirror:g}){if(p.mousemove===!1)return()=>{};const m=typeof p.mousemove=="number"?p.mousemove:50,_=typeof p.mousemoveCallback=="number"?p.mousemoveCallback:500;let b=[],y;const w=throttle(S=>{const k=Date.now()-y;d(b.map(I=>(I.timeOffset-=k,I)),S),b=[],y=null},_),x=throttle(S=>{const k=getEventTarget(S),{clientX:I,clientY:A}=isTouchEvent(S)?S.changedTouches[0]:S;y||(y=Date.now()),b.push({x:I,y:A,id:g.getId(k),timeOffset:Date.now()-y}),w(typeof DragEvent<"u"&&S instanceof DragEvent?IncrementalSource.Drag:S instanceof MouseEvent?IncrementalSource.MouseMove:IncrementalSource.TouchMove)},m,{trailing:!1}),E=[on("mousemove",x,h),on("touchmove",x,h),on("drag",x,h)];return()=>{E.forEach(S=>S())}}function initMouseInteractionObserver({mouseInteractionCb:d,doc:p,mirror:h,blockClass:g,blockSelector:m,sampling:_}){if(_.mouseInteraction===!1)return()=>{};const b=_.mouseInteraction===!0||_.mouseInteraction===void 0?{}:_.mouseInteraction,y=[],w=x=>E=>{const S=getEventTarget(E);if(isBlocked(S,g,m,!0))return;const k=isTouchEvent(E)?E.changedTouches[0]:E;if(!k)return;const I=h.getId(S),{clientX:A,clientY:M}=k;d({type:MouseInteractions[x],id:I,x:A,y:M})};return Object.keys(MouseInteractions).filter(x=>Number.isNaN(Number(x))&&!x.endsWith("_Departed")&&b[x]!==!1).forEach(x=>{const E=x.toLowerCase(),S=w(x);y.push(on(E,S,p))}),()=>{y.forEach(x=>x())}}function initScrollObserver({scrollCb:d,doc:p,mirror:h,blockClass:g,blockSelector:m,sampling:_}){const b=throttle(y=>{const w=getEventTarget(y);if(!w||isBlocked(w,g,m,!0))return;const x=h.getId(w);if(w===p){const E=p.scrollingElement||p.documentElement;d({id:x,x:E.scrollLeft,y:E.scrollTop})}else d({id:x,x:w.scrollLeft,y:w.scrollTop})},_.scroll||100);return on("scroll",b,p)}function initViewportResizeObserver({viewportResizeCb:d}){let p=-1,h=-1;const g=throttle(()=>{const m=getWindowHeight(),_=getWindowWidth();(p!==m||h!==_)&&(d({width:Number(_),height:Number(m)}),p=m,h=_)},200);return on("resize",g,window)}function wrapEventWithUserTriggeredFlag(d,p){const h=Object.assign({},d);return p||delete h.userTriggered,h}const INPUT_TAGS=["INPUT","TEXTAREA","SELECT"],lastInputValueMap=new WeakMap;function initInputObserver({inputCb:d,doc:p,mirror:h,blockClass:g,blockSelector:m,ignoreClass:_,maskInputOptions:b,maskInputFn:y,sampling:w,userTriggeredOnInput:x}){function E(C){let N=getEventTarget(C);const $=C.isTrusted;if(N&&N.tagName==="OPTION"&&(N=N.parentElement),!N||!N.tagName||INPUT_TAGS.indexOf(N.tagName)<0||isBlocked(N,g,m,!0))return;const O=N.type;if(N.classList.contains(_))return;let F=N.value,j=!1;O==="radio"||O==="checkbox"?j=N.checked:(b[N.tagName.toLowerCase()]||b[O])&&(F=maskInputValue({maskInputOptions:b,tagName:N.tagName,type:O,value:F,maskInputFn:y})),S(N,wrapEventWithUserTriggeredFlag({text:F,isChecked:j,userTriggered:$},x));const Y=N.name;O==="radio"&&Y&&j&&p.querySelectorAll(`input[type="radio"][name="${Y}"]`).forEach(q=>{q!==N&&S(q,wrapEventWithUserTriggeredFlag({text:q.value,isChecked:!j,userTriggered:!1},x))})}function S(C,N){const $=lastInputValueMap.get(C);if(!$||$.text!==N.text||$.isChecked!==N.isChecked){lastInputValueMap.set(C,N);const O=h.getId(C);d(Object.assign(Object.assign({},N),{id:O}))}}const I=(w.input==="last"?["change"]:["input","change"]).map(C=>on(C,E,p)),A=p.defaultView;if(!A)return()=>{I.forEach(C=>C())};const M=A.Object.getOwnPropertyDescriptor(A.HTMLInputElement.prototype,"value"),R=[[A.HTMLInputElement.prototype,"value"],[A.HTMLInputElement.prototype,"checked"],[A.HTMLSelectElement.prototype,"value"],[A.HTMLTextAreaElement.prototype,"value"],[A.HTMLSelectElement.prototype,"selectedIndex"],[A.HTMLOptionElement.prototype,"selected"]];return M&&M.set&&I.push(...R.map(C=>hookSetter(C[0],C[1],{set(){E({target:this})}},!1,A))),()=>{I.forEach(C=>C())}}function getNestedCSSRulePositions(d){const p=[];function h(g,m){if(isCSSGroupingRuleSupported&&g.parentRule instanceof CSSGroupingRule||isCSSMediaRuleSupported&&g.parentRule instanceof CSSMediaRule||isCSSSupportsRuleSupported&&g.parentRule instanceof CSSSupportsRule||isCSSConditionRuleSupported&&g.parentRule instanceof CSSConditionRule){const b=Array.from(g.parentRule.cssRules).indexOf(g);m.unshift(b)}else if(g.parentStyleSheet){const b=Array.from(g.parentStyleSheet.cssRules).indexOf(g);m.unshift(b)}return m}return h(d,p)}function getIdAndStyleId(d,p,h){let g,m;return d?(d.ownerNode?g=p.getId(d.ownerNode):m=h.getId(d),{styleId:m,id:g}):{}}function initStyleSheetObserver({styleSheetRuleCb:d,mirror:p,stylesheetManager:h},{win:g}){const m=g.CSSStyleSheet.prototype.insertRule;g.CSSStyleSheet.prototype.insertRule=function(E,S){const{id:k,styleId:I}=getIdAndStyleId(this,p,h.styleMirror);return(k&&k!==-1||I&&I!==-1)&&d({id:k,styleId:I,adds:[{rule:E,index:S}]}),m.apply(this,[E,S])};const _=g.CSSStyleSheet.prototype.deleteRule;g.CSSStyleSheet.prototype.deleteRule=function(E){const{id:S,styleId:k}=getIdAndStyleId(this,p,h.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,removes:[{index:E}]}),_.apply(this,[E])};let b;g.CSSStyleSheet.prototype.replace&&(b=g.CSSStyleSheet.prototype.replace,g.CSSStyleSheet.prototype.replace=function(E){const{id:S,styleId:k}=getIdAndStyleId(this,p,h.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,replace:E}),b.apply(this,[E])});let y;g.CSSStyleSheet.prototype.replaceSync&&(y=g.CSSStyleSheet.prototype.replaceSync,g.CSSStyleSheet.prototype.replaceSync=function(E){const{id:S,styleId:k}=getIdAndStyleId(this,p,h.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,replaceSync:E}),y.apply(this,[E])});const w={};isCSSGroupingRuleSupported?w.CSSGroupingRule=g.CSSGroupingRule:(isCSSMediaRuleSupported&&(w.CSSMediaRule=g.CSSMediaRule),isCSSConditionRuleSupported&&(w.CSSConditionRule=g.CSSConditionRule),isCSSSupportsRuleSupported&&(w.CSSSupportsRule=g.CSSSupportsRule));const x={};return Object.entries(w).forEach(([E,S])=>{x[E]={insertRule:S.prototype.insertRule,deleteRule:S.prototype.deleteRule},S.prototype.insertRule=function(k,I){const{id:A,styleId:M}=getIdAndStyleId(this.parentStyleSheet,p,h.styleMirror);return(A&&A!==-1||M&&M!==-1)&&d({id:A,styleId:M,adds:[{rule:k,index:[...getNestedCSSRulePositions(this),I||0]}]}),x[E].insertRule.apply(this,[k,I])},S.prototype.deleteRule=function(k){const{id:I,styleId:A}=getIdAndStyleId(this.parentStyleSheet,p,h.styleMirror);return(I&&I!==-1||A&&A!==-1)&&d({id:I,styleId:A,removes:[{index:[...getNestedCSSRulePositions(this),k]}]}),x[E].deleteRule.apply(this,[k])}}),()=>{g.CSSStyleSheet.prototype.insertRule=m,g.CSSStyleSheet.prototype.deleteRule=_,b&&(g.CSSStyleSheet.prototype.replace=b),y&&(g.CSSStyleSheet.prototype.replaceSync=y),Object.entries(w).forEach(([E,S])=>{S.prototype.insertRule=x[E].insertRule,S.prototype.deleteRule=x[E].deleteRule})}}function initAdoptedStyleSheetObserver({mirror:d,stylesheetManager:p},h){var g,m,_;let b=null;h.nodeName==="#document"?b=d.getId(h):b=d.getId(h.host);const y=h.nodeName==="#document"?(g=h.defaultView)===null||g===void 0?void 0:g.Document:(_=(m=h.ownerDocument)===null||m===void 0?void 0:m.defaultView)===null||_===void 0?void 0:_.ShadowRoot,w=Object.getOwnPropertyDescriptor(y==null?void 0:y.prototype,"adoptedStyleSheets");return b===null||b===-1||!y||!w?()=>{}:(Object.defineProperty(h,"adoptedStyleSheets",{configurable:w.configurable,enumerable:w.enumerable,get(){var x;return(x=w.get)===null||x===void 0?void 0:x.call(this)},set(x){var E;const S=(E=w.set)===null||E===void 0?void 0:E.call(this,x);if(b!==null&&b!==-1)try{p.adoptStyleSheets(x,b)}catch{}return S}}),()=>{Object.defineProperty(h,"adoptedStyleSheets",{configurable:w.configurable,enumerable:w.enumerable,get:w.get,set:w.set})})}function initStyleDeclarationObserver({styleDeclarationCb:d,mirror:p,ignoreCSSAttributes:h,stylesheetManager:g},{win:m}){const _=m.CSSStyleDeclaration.prototype.setProperty;m.CSSStyleDeclaration.prototype.setProperty=function(y,w,x){var E;if(h.has(y))return _.apply(this,[y,w,x]);const{id:S,styleId:k}=getIdAndStyleId((E=this.parentRule)===null||E===void 0?void 0:E.parentStyleSheet,p,g.styleMirror);return(S&&S!==-1||k&&k!==-1)&&d({id:S,styleId:k,set:{property:y,value:w,priority:x},index:getNestedCSSRulePositions(this.parentRule)}),_.apply(this,[y,w,x])};const b=m.CSSStyleDeclaration.prototype.removeProperty;return m.CSSStyleDeclaration.prototype.removeProperty=function(y){var w;if(h.has(y))return b.apply(this,[y]);const{id:x,styleId:E}=getIdAndStyleId((w=this.parentRule)===null||w===void 0?void 0:w.parentStyleSheet,p,g.styleMirror);return(x&&x!==-1||E&&E!==-1)&&d({id:x,styleId:E,remove:{property:y},index:getNestedCSSRulePositions(this.parentRule)}),b.apply(this,[y])},()=>{m.CSSStyleDeclaration.prototype.setProperty=_,m.CSSStyleDeclaration.prototype.removeProperty=b}}function initMediaInteractionObserver({mediaInteractionCb:d,blockClass:p,blockSelector:h,mirror:g,sampling:m}){const _=y=>throttle(w=>{const x=getEventTarget(w);if(!x||isBlocked(x,p,h,!0))return;const{currentTime:E,volume:S,muted:k,playbackRate:I}=x;d({type:y,id:g.getId(x),currentTime:E,volume:S,muted:k,playbackRate:I})},m.media||500),b=[on("play",_(0)),on("pause",_(1)),on("seeked",_(2)),on("volumechange",_(3)),on("ratechange",_(4))];return()=>{b.forEach(y=>y())}}function initFontObserver({fontCb:d,doc:p}){const h=p.defaultView;if(!h)return()=>{};const g=[],m=new WeakMap,_=h.FontFace;h.FontFace=function(w,x,E){const S=new _(w,x,E);return m.set(S,{family:w,buffer:typeof x!="string",descriptors:E,fontSource:typeof x=="string"?x:JSON.stringify(Array.from(new Uint8Array(x)))}),S};const b=patch(p.fonts,"add",function(y){return function(w){return setTimeout(()=>{const x=m.get(w);x&&(d(x),m.delete(w))},0),y.apply(this,[w])}});return g.push(()=>{h.FontFace=_}),g.push(b),()=>{g.forEach(y=>y())}}function initSelectionObserver(d){const{doc:p,mirror:h,blockClass:g,blockSelector:m,selectionCb:_}=d;let b=!0;const y=()=>{const w=p.getSelection();if(!w||b&&(w!=null&&w.isCollapsed))return;b=w.isCollapsed||!1;const x=[],E=w.rangeCount||0;for(let S=0;S<E;S++){const k=w.getRangeAt(S),{startContainer:I,startOffset:A,endContainer:M,endOffset:R}=k;isBlocked(I,g,m,!0)||isBlocked(M,g,m,!0)||x.push({start:h.getId(I),startOffset:A,end:h.getId(M),endOffset:R})}_({ranges:x})};return y(),on("selectionchange",y)}function mergeHooks(d,p){const{mutationCb:h,mousemoveCb:g,mouseInteractionCb:m,scrollCb:_,viewportResizeCb:b,inputCb:y,mediaInteractionCb:w,styleSheetRuleCb:x,styleDeclarationCb:E,canvasMutationCb:S,fontCb:k,selectionCb:I}=d;d.mutationCb=(...A)=>{p.mutation&&p.mutation(...A),h(...A)},d.mousemoveCb=(...A)=>{p.mousemove&&p.mousemove(...A),g(...A)},d.mouseInteractionCb=(...A)=>{p.mouseInteraction&&p.mouseInteraction(...A),m(...A)},d.scrollCb=(...A)=>{p.scroll&&p.scroll(...A),_(...A)},d.viewportResizeCb=(...A)=>{p.viewportResize&&p.viewportResize(...A),b(...A)},d.inputCb=(...A)=>{p.input&&p.input(...A),y(...A)},d.mediaInteractionCb=(...A)=>{p.mediaInteaction&&p.mediaInteaction(...A),w(...A)},d.styleSheetRuleCb=(...A)=>{p.styleSheetRule&&p.styleSheetRule(...A),x(...A)},d.styleDeclarationCb=(...A)=>{p.styleDeclaration&&p.styleDeclaration(...A),E(...A)},d.canvasMutationCb=(...A)=>{p.canvasMutation&&p.canvasMutation(...A),S(...A)},d.fontCb=(...A)=>{p.font&&p.font(...A),k(...A)},d.selectionCb=(...A)=>{p.selection&&p.selection(...A),I(...A)}}function initObservers(d,p={}){const h=d.doc.defaultView;if(!h)return()=>{};mergeHooks(d,p);const g=initMutationObserver(d,d.doc),m=initMoveObserver(d),_=initMouseInteractionObserver(d),b=initScrollObserver(d),y=initViewportResizeObserver(d),w=initInputObserver(d),x=initMediaInteractionObserver(d),E=initStyleSheetObserver(d,{win:h}),S=initAdoptedStyleSheetObserver(d,d.doc),k=initStyleDeclarationObserver(d,{win:h}),I=d.collectFonts?initFontObserver(d):()=>{},A=initSelectionObserver(d),M=[];for(const R of d.plugins)M.push(R.observer(R.callback,h,R.options));return()=>{mutationBuffers.forEach(R=>R.reset()),g.disconnect(),m(),_(),b(),y(),w(),x(),E(),S(),k(),I(),A(),M.forEach(R=>R())}}class CrossOriginIframeMirror{constructor(p){this.generateIdFn=p,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(p,h,g,m){const _=g||this.getIdToRemoteIdMap(p),b=m||this.getRemoteIdToIdMap(p);let y=_.get(h);return y||(y=this.generateIdFn(),_.set(h,y),b.set(y,h)),y}getIds(p,h){const g=this.getIdToRemoteIdMap(p),m=this.getRemoteIdToIdMap(p);return h.map(_=>this.getId(p,_,g,m))}getRemoteId(p,h,g){const m=g||this.getRemoteIdToIdMap(p);if(typeof h!="number")return h;const _=m.get(h);return _||-1}getRemoteIds(p,h){const g=this.getRemoteIdToIdMap(p);return h.map(m=>this.getRemoteId(p,m,g))}reset(p){if(!p){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(p),this.iframeRemoteIdToIdMap.delete(p)}getIdToRemoteIdMap(p){let h=this.iframeIdToRemoteIdMap.get(p);return h||(h=new Map,this.iframeIdToRemoteIdMap.set(p,h)),h}getRemoteIdToIdMap(p){let h=this.iframeRemoteIdToIdMap.get(p);return h||(h=new Map,this.iframeRemoteIdToIdMap.set(p,h)),h}}class IframeManager{constructor(p){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new CrossOriginIframeMirror(genId),this.mutationCb=p.mutationCb,this.wrappedEmit=p.wrappedEmit,this.stylesheetManager=p.stylesheetManager,this.recordCrossOriginIframes=p.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new CrossOriginIframeMirror(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=p.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(p){this.iframes.set(p,!0),p.contentWindow&&this.crossOriginIframeMap.set(p.contentWindow,p)}addLoadListener(p){this.loadListener=p}attachIframe(p,h){var g;this.mutationCb({adds:[{parentId:this.mirror.getId(p),nextId:null,node:h}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(g=this.loadListener)===null||g===void 0||g.call(this,p),p.contentDocument&&p.contentDocument.adoptedStyleSheets&&p.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(p.contentDocument.adoptedStyleSheets,this.mirror.getId(p.contentDocument))}handleMessage(p){if(p.data.type==="rrweb"){if(!p.source)return;const g=this.crossOriginIframeMap.get(p.source);if(!g)return;const m=this.transformCrossOriginEvent(g,p.data.event);m&&this.wrappedEmit(m,p.data.isCheckout)}}transformCrossOriginEvent(p,h){var g;switch(h.type){case EventType.FullSnapshot:return this.crossOriginIframeMirror.reset(p),this.crossOriginIframeStyleMirror.reset(p),this.replaceIdOnNode(h.data.node,p),{timestamp:h.timestamp,type:EventType.IncrementalSnapshot,data:{source:IncrementalSource.Mutation,adds:[{parentId:this.mirror.getId(p),nextId:null,node:h.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}};case EventType.Meta:case EventType.Load:case EventType.DomContentLoaded:return!1;case EventType.Plugin:return h;case EventType.Custom:return this.replaceIds(h.data.payload,p,["id","parentId","previousId","nextId"]),h;case EventType.IncrementalSnapshot:switch(h.data.source){case IncrementalSource.Mutation:return h.data.adds.forEach(m=>{this.replaceIds(m,p,["parentId","nextId","previousId"]),this.replaceIdOnNode(m.node,p)}),h.data.removes.forEach(m=>{this.replaceIds(m,p,["parentId","id"])}),h.data.attributes.forEach(m=>{this.replaceIds(m,p,["id"])}),h.data.texts.forEach(m=>{this.replaceIds(m,p,["id"])}),h;case IncrementalSource.Drag:case IncrementalSource.TouchMove:case IncrementalSource.MouseMove:return h.data.positions.forEach(m=>{this.replaceIds(m,p,["id"])}),h;case IncrementalSource.ViewportResize:return!1;case IncrementalSource.MediaInteraction:case IncrementalSource.MouseInteraction:case IncrementalSource.Scroll:case IncrementalSource.CanvasMutation:case IncrementalSource.Input:return this.replaceIds(h.data,p,["id"]),h;case IncrementalSource.StyleSheetRule:case IncrementalSource.StyleDeclaration:return this.replaceIds(h.data,p,["id"]),this.replaceStyleIds(h.data,p,["styleId"]),h;case IncrementalSource.Font:return h;case IncrementalSource.Selection:return h.data.ranges.forEach(m=>{this.replaceIds(m,p,["start","end"])}),h;case IncrementalSource.AdoptedStyleSheet:return this.replaceIds(h.data,p,["id"]),this.replaceStyleIds(h.data,p,["styleIds"]),(g=h.data.styles)===null||g===void 0||g.forEach(m=>{this.replaceStyleIds(m,p,["styleId"])}),h}}}replace(p,h,g,m){for(const _ of m)!Array.isArray(h[_])&&typeof h[_]!="number"||(Array.isArray(h[_])?h[_]=p.getIds(g,h[_]):h[_]=p.getId(g,h[_]));return h}replaceIds(p,h,g){return this.replace(this.crossOriginIframeMirror,p,h,g)}replaceStyleIds(p,h,g){return this.replace(this.crossOriginIframeStyleMirror,p,h,g)}replaceIdOnNode(p,h){this.replaceIds(p,h,["id"]),"childNodes"in p&&p.childNodes.forEach(g=>{this.replaceIdOnNode(g,h)})}}class ShadowDomManager{constructor(p){this.shadowDoms=new WeakSet,this.restorePatches=[],this.mutationCb=p.mutationCb,this.scrollCb=p.scrollCb,this.bypassOptions=p.bypassOptions,this.mirror=p.mirror;const h=this;this.restorePatches.push(patch(Element.prototype,"attachShadow",function(g){return function(m){const _=g.call(this,m);return this.shadowRoot&&h.addShadowRoot(this.shadowRoot,this.ownerDocument),_}}))}addShadowRoot(p,h){isNativeShadowDom(p)&&(this.shadowDoms.has(p)||(this.shadowDoms.add(p),initMutationObserver(Object.assign(Object.assign({},this.bypassOptions),{doc:h,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),p),initScrollObserver(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:p,mirror:this.mirror})),setTimeout(()=>{p.adoptedStyleSheets&&p.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(p.adoptedStyleSheets,this.mirror.getId(p.host)),initAdoptedStyleSheetObserver({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},p)},0)))}observeAttachShadow(p){if(p.contentWindow){const h=this;this.restorePatches.push(patch(p.contentWindow.HTMLElement.prototype,"attachShadow",function(g){return function(m){const _=g.call(this,m);return this.shadowRoot&&h.addShadowRoot(this.shadowRoot,p.contentDocument),_}}))}}reset(){this.restorePatches.forEach(p=>p()),this.shadowDoms=new WeakSet}}/*! *****************************************************************************
|
|
49
|
+
Copyright (c) Microsoft Corporation.
|
|
50
|
+
|
|
51
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
52
|
+
purpose with or without fee is hereby granted.
|
|
53
|
+
|
|
54
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
55
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
56
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
57
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
58
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
59
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
60
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
61
|
+
***************************************************************************** */function __rest(d,p){var h={};for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&p.indexOf(g)<0&&(h[g]=d[g]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function")for(var m=0,g=Object.getOwnPropertySymbols(d);m<g.length;m++)p.indexOf(g[m])<0&&Object.prototype.propertyIsEnumerable.call(d,g[m])&&(h[g[m]]=d[g[m]]);return h}function __awaiter(d,p,h,g){function m(_){return _ instanceof h?_:new h(function(b){b(_)})}return new(h||(h=Promise))(function(_,b){function y(E){try{x(g.next(E))}catch(S){b(S)}}function w(E){try{x(g.throw(E))}catch(S){b(S)}}function x(E){E.done?_(E.value):m(E.value).then(y,w)}x((g=g.apply(d,[])).next())})}for(var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup=typeof Uint8Array>"u"?[]:new Uint8Array(256),i$1=0;i$1<chars.length;i$1++)lookup[chars.charCodeAt(i$1)]=i$1;var encode=function(d){var p=new Uint8Array(d),h,g=p.length,m="";for(h=0;h<g;h+=3)m+=chars[p[h]>>2],m+=chars[(p[h]&3)<<4|p[h+1]>>4],m+=chars[(p[h+1]&15)<<2|p[h+2]>>6],m+=chars[p[h+2]&63];return g%3===2?m=m.substring(0,m.length-1)+"=":g%3===1&&(m=m.substring(0,m.length-2)+"=="),m},decode=function(d){var p=d.length*.75,h=d.length,g,m=0,_,b,y,w;d[d.length-1]==="="&&(p--,d[d.length-2]==="="&&p--);var x=new ArrayBuffer(p),E=new Uint8Array(x);for(g=0;g<h;g+=4)_=lookup[d.charCodeAt(g)],b=lookup[d.charCodeAt(g+1)],y=lookup[d.charCodeAt(g+2)],w=lookup[d.charCodeAt(g+3)],E[m++]=_<<2|b>>4,E[m++]=(b&15)<<4|y>>2,E[m++]=(y&3)<<6|w&63;return x};const canvasVarMap=new Map;function variableListFor$1(d,p){let h=canvasVarMap.get(d);return h||(h=new Map,canvasVarMap.set(d,h)),h.has(p)||h.set(p,[]),h.get(p)}const saveWebGLVar=(d,p,h)=>{if(!d||!(isInstanceOfWebGLObject(d,p)||typeof d=="object"))return;const g=d.constructor.name,m=variableListFor$1(h,g);let _=m.indexOf(d);return _===-1&&(_=m.length,m.push(d)),_};function serializeArg(d,p,h){if(d instanceof Array)return d.map(g=>serializeArg(g,p,h));if(d===null)return d;if(d instanceof Float32Array||d instanceof Float64Array||d instanceof Int32Array||d instanceof Uint32Array||d instanceof Uint8Array||d instanceof Uint16Array||d instanceof Int16Array||d instanceof Int8Array||d instanceof Uint8ClampedArray)return{rr_type:d.constructor.name,args:[Object.values(d)]};if(d instanceof ArrayBuffer){const g=d.constructor.name,m=encode(d);return{rr_type:g,base64:m}}else{if(d instanceof DataView)return{rr_type:d.constructor.name,args:[serializeArg(d.buffer,p,h),d.byteOffset,d.byteLength]};if(d instanceof HTMLImageElement){const g=d.constructor.name,{src:m}=d;return{rr_type:g,src:m}}else if(d instanceof HTMLCanvasElement){const g="HTMLImageElement",m=d.toDataURL();return{rr_type:g,src:m}}else{if(d instanceof ImageData)return{rr_type:d.constructor.name,args:[serializeArg(d.data,p,h),d.width,d.height]};if(isInstanceOfWebGLObject(d,p)||typeof d=="object"){const g=d.constructor.name,m=saveWebGLVar(d,p,h);return{rr_type:g,index:m}}}}return d}const serializeArgs=(d,p,h)=>[...d].map(g=>serializeArg(g,p,h)),isInstanceOfWebGLObject=(d,p)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(m=>typeof p[m]=="function").find(m=>d instanceof p[m]);function initCanvas2DMutationObserver(d,p,h,g){const m=[],_=Object.getOwnPropertyNames(p.CanvasRenderingContext2D.prototype);for(const b of _)try{if(typeof p.CanvasRenderingContext2D.prototype[b]!="function")continue;const y=patch(p.CanvasRenderingContext2D.prototype,b,function(w){return function(...x){return isBlocked(this.canvas,h,g,!0)||setTimeout(()=>{const E=serializeArgs([...x],p,this);d(this.canvas,{type:CanvasContext["2D"],property:b,args:E})},0),w.apply(this,x)}});m.push(y)}catch{const w=hookSetter(p.CanvasRenderingContext2D.prototype,b,{set(x){d(this.canvas,{type:CanvasContext["2D"],property:b,args:[x],setter:!0})}});m.push(w)}return()=>{m.forEach(b=>b())}}function initCanvasContextObserver(d,p,h){const g=[];try{const m=patch(d.HTMLCanvasElement.prototype,"getContext",function(_){return function(b,...y){return isBlocked(this,p,h,!0)||"__context"in this||(this.__context=b),_.apply(this,[b,...y])}});g.push(m)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{g.forEach(m=>m())}}function patchGLPrototype(d,p,h,g,m,_,b){const y=[],w=Object.getOwnPropertyNames(d);for(const x of w)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(x))try{if(typeof d[x]!="function")continue;const E=patch(d,x,function(S){return function(...k){const I=S.apply(this,k);if(saveWebGLVar(I,b,this),!isBlocked(this.canvas,g,m,!0)){const A=serializeArgs([...k],b,this),M={type:p,property:x,args:A};h(this.canvas,M)}return I}});y.push(E)}catch{const S=hookSetter(d,x,{set(k){h(this.canvas,{type:p,property:x,args:[k],setter:!0})}});y.push(S)}return y}function initCanvasWebGLMutationObserver(d,p,h,g,m){const _=[];return _.push(...patchGLPrototype(p.WebGLRenderingContext.prototype,CanvasContext.WebGL,d,h,g,m,p)),typeof p.WebGL2RenderingContext<"u"&&_.push(...patchGLPrototype(p.WebGL2RenderingContext.prototype,CanvasContext.WebGL2,d,h,g,m,p)),()=>{_.forEach(b=>b())}}var WorkerClass=null;try{var WorkerThreads=typeof module<"u"&&typeof module.require=="function"&&module.require("worker_threads")||typeof __non_webpack_require__=="function"&&__non_webpack_require__("worker_threads")||typeof require=="function"&&require("worker_threads");WorkerClass=WorkerThreads.Worker}catch(d){}function decodeBase64$1(d,p){return Buffer.from(d,"base64").toString("utf8")}function createBase64WorkerFactory$2(d,p,h){var g=decodeBase64$1(d),m=g.indexOf(`
|
|
62
|
+
`,10)+1,_=g.substring(m)+"";return function(y){return new WorkerClass(_,Object.assign({},y,{eval:!0}))}}function decodeBase64(d,p){var h=atob(d);return h}function createURL(d,p,h){var g=decodeBase64(d),m=g.indexOf(`
|
|
63
|
+
`,10)+1,_=g.substring(m)+"",b=new Blob([_],{type:"application/javascript"});return URL.createObjectURL(b)}function createBase64WorkerFactory$1(d,p,h){var g;return function(_){return g=g||createURL(d),new Worker(g,_)}}var kIsNodeJS=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";function isNodeJS(){return kIsNodeJS}function createBase64WorkerFactory(d,p,h){return isNodeJS()?createBase64WorkerFactory$2(d):createBase64WorkerFactory$1(d)}var WorkerFactory=createBase64WorkerFactory("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=");class CanvasManager{constructor(p){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(w,x)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(w)||this.pendingCanvasMutations.set(w,[]),this.pendingCanvasMutations.get(w).push(x)};const{sampling:h="all",win:g,blockClass:m,blockSelector:_,recordCanvas:b,dataURLOptions:y}=p;this.mutationCb=p.mutationCb,this.mirror=p.mirror,b&&h==="all"&&this.initCanvasMutationObserver(g,m,_),b&&typeof h=="number"&&this.initCanvasFPSObserver(h,g,m,_,{dataURLOptions:y})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(p,h,g,m,_){const b=initCanvasContextObserver(h,g,m),y=new Map,w=new WorkerFactory;w.onmessage=A=>{const{id:M}=A.data;if(y.set(M,!1),!("base64"in A.data))return;const{base64:R,type:C,width:N,height:$}=A.data;this.mutationCb({id:M,type:CanvasContext["2D"],commands:[{property:"clearRect",args:[0,0,N,$]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:R}],type:C}]},0,0]}]})};const x=1e3/p;let E=0,S;const k=()=>{const A=[];return h.document.querySelectorAll("canvas").forEach(M=>{isBlocked(M,g,m,!0)||A.push(M)}),A},I=A=>{if(E&&A-E<x){S=requestAnimationFrame(I);return}E=A,k().forEach(M=>__awaiter(this,void 0,void 0,function*(){var R;const C=this.mirror.getId(M);if(y.get(C))return;if(y.set(C,!0),["webgl","webgl2"].includes(M.__context)){const $=M.getContext(M.__context);((R=$==null?void 0:$.getContextAttributes())===null||R===void 0?void 0:R.preserveDrawingBuffer)===!1&&($==null||$.clear($.COLOR_BUFFER_BIT))}const N=yield createImageBitmap(M);w.postMessage({id:C,bitmap:N,width:M.width,height:M.height,dataURLOptions:_.dataURLOptions},[N])})),S=requestAnimationFrame(I)};S=requestAnimationFrame(I),this.resetObservers=()=>{b(),cancelAnimationFrame(S)}}initCanvasMutationObserver(p,h,g){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const m=initCanvasContextObserver(p,h,g),_=initCanvas2DMutationObserver(this.processMutation.bind(this),p,h,g),b=initCanvasWebGLMutationObserver(this.processMutation.bind(this),p,h,g,this.mirror);this.resetObservers=()=>{m(),_(),b()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const p=h=>{this.rafStamps.latestId=h,requestAnimationFrame(p)};requestAnimationFrame(p)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((p,h)=>{const g=this.mirror.getId(h);this.flushPendingCanvasMutationFor(h,g)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(p,h){if(this.frozen||this.locked)return;const g=this.pendingCanvasMutations.get(p);if(!g||h===-1)return;const m=g.map(b=>__rest(b,["type"])),{type:_}=g[0];this.mutationCb({id:h,type:_,commands:m}),this.pendingCanvasMutations.delete(p)}}class StylesheetManager{constructor(p){this.trackedLinkElements=new WeakSet,this.styleMirror=new StyleSheetMirror,this.mutationCb=p.mutationCb,this.adoptedStyleSheetCb=p.adoptedStyleSheetCb}attachLinkElement(p,h){"_cssText"in h.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:h.id,attributes:h.attributes}]}),this.trackLinkElement(p)}trackLinkElement(p){this.trackedLinkElements.has(p)||(this.trackedLinkElements.add(p),this.trackStylesheetInLinkElement(p))}adoptStyleSheets(p,h){if(p.length===0)return;const g={id:h,styleIds:[]},m=[];for(const _ of p){let b;if(this.styleMirror.has(_))b=this.styleMirror.getId(_);else{b=this.styleMirror.add(_);const y=Array.from(_.rules||CSSRule);m.push({styleId:b,rules:y.map((w,x)=>({rule:getCssRuleString(w),index:x}))})}g.styleIds.push(b)}m.length>0&&(g.styles=m),this.adoptedStyleSheetCb(g)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(p){}}function wrapEvent(d){return Object.assign(Object.assign({},d),{timestamp:Date.now()})}let wrappedEmit,takeFullSnapshot,canvasManager,recording=!1;const mirror=createMirror$2();function record$1(d={}){const{emit:p,checkoutEveryNms:h,checkoutEveryNth:g,blockClass:m="rr-block",blockSelector:_=null,ignoreClass:b="rr-ignore",maskTextClass:y="rr-mask",maskTextSelector:w=null,inlineStylesheet:x=!0,maskAllInputs:E,maskInputOptions:S,slimDOMOptions:k,maskInputFn:I,maskTextFn:A,hooks:M,packFn:R,sampling:C={},dataURLOptions:N={},mousemoveWait:$,recordCanvas:O=!1,recordCrossOriginIframes:F=!1,userTriggeredOnInput:j=!1,collectFonts:Y=!1,inlineImages:q=!1,plugins:de,keepIframeSrcFn:oe=()=>!1,ignoreCSSAttributes:ce=new Set([])}=d,se=F?window.parent===window:!0;let ye=!1;if(!se)try{window.parent.document,ye=!1}catch{ye=!0}if(se&&!p)throw new Error("emit function is required");$!==void 0&&C.mousemove===void 0&&(C.mousemove=$),mirror.reset();const ve=E===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:S!==void 0?S:{password:!0},Te=k===!0||k==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:k==="all",headMetaDescKeywords:k==="all"}:k||{};polyfill$1();let Ee,me=0;const Se=J=>{for(const ne of de||[])ne.eventProcessor&&(J=ne.eventProcessor(J));return R&&(J=R(J)),J};wrappedEmit=(J,ne)=>{var ge;if(!((ge=mutationBuffers[0])===null||ge===void 0)&&ge.isFrozen()&&J.type!==EventType.FullSnapshot&&!(J.type===EventType.IncrementalSnapshot&&J.data.source===IncrementalSource.Mutation)&&mutationBuffers.forEach(ee=>ee.unfreeze()),se)p==null||p(Se(J),ne);else if(ye){const ee={type:"rrweb",event:Se(J),isCheckout:ne};window.parent.postMessage(ee,"*")}if(J.type===EventType.FullSnapshot)Ee=J,me=0;else if(J.type===EventType.IncrementalSnapshot){if(J.data.source===IncrementalSource.Mutation&&J.data.isAttachIframe)return;me++;const ee=g&&me>=g,he=h&&J.timestamp-Ee.timestamp>h;(ee||he)&&takeFullSnapshot(!0)}};const T=J=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Mutation},J)}))},z=J=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Scroll},J)})),L=J=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.CanvasMutation},J)})),P=J=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.AdoptedStyleSheet},J)})),G=new StylesheetManager({mutationCb:T,adoptedStyleSheetCb:P}),W=new IframeManager({mirror,mutationCb:T,stylesheetManager:G,recordCrossOriginIframes:F,wrappedEmit});for(const J of de||[])J.getMirror&&J.getMirror({nodeMirror:mirror,crossOriginIframeMirror:W.crossOriginIframeMirror,crossOriginIframeStyleMirror:W.crossOriginIframeStyleMirror});canvasManager=new CanvasManager({recordCanvas:O,mutationCb:L,win:window,blockClass:m,blockSelector:_,mirror,sampling:C.canvas,dataURLOptions:N});const ie=new ShadowDomManager({mutationCb:T,scrollCb:z,bypassOptions:{blockClass:m,blockSelector:_,maskTextClass:y,maskTextSelector:w,inlineStylesheet:x,maskInputOptions:ve,dataURLOptions:N,maskTextFn:A,maskInputFn:I,recordCanvas:O,inlineImages:q,sampling:C,slimDOMOptions:Te,iframeManager:W,stylesheetManager:G,canvasManager,keepIframeSrcFn:oe},mirror});takeFullSnapshot=(J=!1)=>{var ne,ge,ee,he,B,K;wrappedEmit(wrapEvent({type:EventType.Meta,data:{href:window.location.href,width:getWindowWidth(),height:getWindowHeight()}}),J),G.reset(),mutationBuffers.forEach(le=>le.lock());const pe=snapshot(document,{mirror,blockClass:m,blockSelector:_,maskTextClass:y,maskTextSelector:w,inlineStylesheet:x,maskAllInputs:ve,maskTextFn:A,slimDOM:Te,dataURLOptions:N,recordCanvas:O,inlineImages:q,onSerialize:le=>{isSerializedIframe(le,mirror)&&W.addIframe(le),isSerializedStylesheet(le,mirror)&&G.trackLinkElement(le),hasShadowRoot(le)&&ie.addShadowRoot(le.shadowRoot,document)},onIframeLoad:(le,we)=>{W.attachIframe(le,we),ie.observeAttachShadow(le)},onStylesheetLoad:(le,we)=>{G.attachLinkElement(le,we)},keepIframeSrcFn:oe});if(!pe)return console.warn("Failed to snapshot the document");wrappedEmit(wrapEvent({type:EventType.FullSnapshot,data:{node:pe,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:(document==null?void 0:document.documentElement.scrollLeft)||((ge=(ne=document==null?void 0:document.body)===null||ne===void 0?void 0:ne.parentElement)===null||ge===void 0?void 0:ge.scrollLeft)||((ee=document==null?void 0:document.body)===null||ee===void 0?void 0:ee.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:(document==null?void 0:document.documentElement.scrollTop)||((B=(he=document==null?void 0:document.body)===null||he===void 0?void 0:he.parentElement)===null||B===void 0?void 0:B.scrollTop)||((K=document==null?void 0:document.body)===null||K===void 0?void 0:K.scrollTop)||0}}})),mutationBuffers.forEach(le=>le.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&G.adoptStyleSheets(document.adoptedStyleSheets,mirror.getId(document))};try{const J=[];J.push(on("DOMContentLoaded",()=>{wrappedEmit(wrapEvent({type:EventType.DomContentLoaded,data:{}}))}));const ne=ee=>{var he;return initObservers({mutationCb:T,mousemoveCb:(B,K)=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:{source:K,positions:B}})),mouseInteractionCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MouseInteraction},B)})),scrollCb:z,viewportResizeCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.ViewportResize},B)})),inputCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Input},B)})),mediaInteractionCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.MediaInteraction},B)})),styleSheetRuleCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleSheetRule},B)})),styleDeclarationCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.StyleDeclaration},B)})),canvasMutationCb:L,fontCb:B=>wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Font},B)})),selectionCb:B=>{wrappedEmit(wrapEvent({type:EventType.IncrementalSnapshot,data:Object.assign({source:IncrementalSource.Selection},B)}))},blockClass:m,ignoreClass:b,maskTextClass:y,maskTextSelector:w,maskInputOptions:ve,inlineStylesheet:x,sampling:C,recordCanvas:O,inlineImages:q,userTriggeredOnInput:j,collectFonts:Y,doc:ee,maskInputFn:I,maskTextFn:A,keepIframeSrcFn:oe,blockSelector:_,slimDOMOptions:Te,dataURLOptions:N,mirror,iframeManager:W,stylesheetManager:G,shadowDomManager:ie,canvasManager,ignoreCSSAttributes:ce,plugins:((he=de==null?void 0:de.filter(B=>B.observer))===null||he===void 0?void 0:he.map(B=>({observer:B.observer,options:B.options,callback:K=>wrappedEmit(wrapEvent({type:EventType.Plugin,data:{plugin:B.name,payload:K}}))})))||[]},M)};W.addLoadListener(ee=>{J.push(ne(ee.contentDocument))});const ge=()=>{takeFullSnapshot(),J.push(ne(document)),recording=!0};return document.readyState==="interactive"||document.readyState==="complete"?ge():J.push(on("load",()=>{wrappedEmit(wrapEvent({type:EventType.Load,data:{}})),ge()},window)),()=>{J.forEach(ee=>ee()),recording=!1}}catch(J){console.warn(J)}}record$1.addCustomEvent=(d,p)=>{if(!recording)throw new Error("please add custom event after start recording");wrappedEmit(wrapEvent({type:EventType.Custom,data:{tag:d,payload:p}}))},record$1.freezePage=()=>{mutationBuffers.forEach(d=>d.freeze())},record$1.takeFullSnapshot=d=>{if(!recording)throw new Error("please take full snapshot after start recording");takeFullSnapshot(d)},record$1.mirror=mirror;var NodeType$1;(function(d){d[d.Document=0]="Document",d[d.DocumentType=1]="DocumentType",d[d.Element=2]="Element",d[d.Text=3]="Text",d[d.CDATA=4]="CDATA",d[d.Comment=5]="Comment"})(NodeType$1||(NodeType$1={}));var Mirror$1=(function(){function d(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return d.prototype.getId=function(p){var h;if(!p)return-1;var g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1},d.prototype.getNode=function(p){return this.idNodeMap.get(p)||null},d.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},d.prototype.getMeta=function(p){return this.nodeMetaMap.get(p)||null},d.prototype.removeNodeFromMap=function(p){var h=this,g=this.getId(p);this.idNodeMap.delete(g),p.childNodes&&p.childNodes.forEach(function(m){return h.removeNodeFromMap(m)})},d.prototype.has=function(p){return this.idNodeMap.has(p)},d.prototype.hasNode=function(p){return this.nodeMetaMap.has(p)},d.prototype.add=function(p,h){var g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)},d.prototype.replace=function(p,h){var g=this.getNode(p);if(g){var m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)},d.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},d})();function createMirror$1(){return new Mirror$1}function parseCSSText(d){const p={},h=/;(?![^(]*\))/g,g=/:(.+)/,m=/\/\*.*?\*\//g;return d.replace(m,"").split(h).forEach(function(_){if(_){const b=_.split(g);b.length>1&&(p[camelize(b[0].trim())]=b[1].trim())}}),p}function toCSSText(d){const p=[];for(const h in d){const g=d[h];if(typeof g!="string")continue;const m=hyphenate(h);p.push(`${m}: ${g};`)}return p.join(" ")}const camelizeRE=/-([a-z])/g,CUSTOM_PROPERTY_REGEX=/^--[a-zA-Z0-9-]+$/,camelize=d=>CUSTOM_PROPERTY_REGEX.test(d)?d:d.replace(camelizeRE,(p,h)=>h?h.toUpperCase():""),hyphenateRE=/\B([A-Z])/g,hyphenate=d=>d.replace(hyphenateRE,"-$1").toLowerCase();class BaseRRNode{constructor(...p){this.childNodes=[],this.parentElement=null,this.parentNode=null,this.ELEMENT_NODE=NodeType.ELEMENT_NODE,this.TEXT_NODE=NodeType.TEXT_NODE}get firstChild(){return this.childNodes[0]||null}get lastChild(){return this.childNodes[this.childNodes.length-1]||null}get nextSibling(){const p=this.parentNode;if(!p)return null;const h=p.childNodes,g=h.indexOf(this);return h[g+1]||null}contains(p){if(p===this)return!0;for(const h of this.childNodes)if(h.contains(p))return!0;return!1}appendChild(p){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(p,h){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(p){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}}function BaseRRDocumentImpl(d){return class Lr extends d{constructor(){super(...arguments),this.nodeType=NodeType.DOCUMENT_NODE,this.nodeName="#document",this.compatMode="CSS1Compat",this.RRNodeType=NodeType$1.Document,this.textContent=null}get documentElement(){return this.childNodes.find(h=>h.RRNodeType===NodeType$1.Element&&h.tagName==="HTML")||null}get body(){var h;return((h=this.documentElement)===null||h===void 0?void 0:h.childNodes.find(g=>g.RRNodeType===NodeType$1.Element&&g.tagName==="BODY"))||null}get head(){var h;return((h=this.documentElement)===null||h===void 0?void 0:h.childNodes.find(g=>g.RRNodeType===NodeType$1.Element&&g.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(h){const g=h.RRNodeType;if((g===NodeType$1.Element||g===NodeType$1.DocumentType)&&this.childNodes.some(m=>m.RRNodeType===g))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${g===NodeType$1.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);return h.parentElement=null,h.parentNode=this,this.childNodes.push(h),h}insertBefore(h,g){const m=h.RRNodeType;if((m===NodeType$1.Element||m===NodeType$1.DocumentType)&&this.childNodes.some(b=>b.RRNodeType===m))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${m===NodeType$1.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);if(g===null)return this.appendChild(h);const _=this.childNodes.indexOf(g);if(_==-1)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return this.childNodes.splice(_,0,h),h.parentElement=null,h.parentNode=this,h}removeChild(h){const g=this.childNodes.indexOf(h);if(g===-1)throw new Error("Failed to execute 'removeChild' on 'RRDocument': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(g,1),h.parentElement=null,h.parentNode=null,h}open(){this.childNodes=[]}close(){}write(h){let g;if(h==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?g="-//W3C//DTD XHTML 1.0 Transitional//EN":h==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(g="-//W3C//DTD HTML 4.0 Transitional//EN"),g){const m=this.createDocumentType("html",g,"");this.open(),this.appendChild(m)}}createDocument(h,g,m){return new Lr}createDocumentType(h,g,m){const _=new(BaseRRDocumentTypeImpl(BaseRRNode))(h,g,m);return _.ownerDocument=this,_}createElement(h){const g=new(BaseRRElementImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createElementNS(h,g){return this.createElement(g)}createTextNode(h){const g=new(BaseRRTextImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createComment(h){const g=new(BaseRRCommentImpl(BaseRRNode))(h);return g.ownerDocument=this,g}createCDATASection(h){const g=new(BaseRRCDATASectionImpl(BaseRRNode))(h);return g.ownerDocument=this,g}toString(){return"RRDocument"}}}function BaseRRDocumentTypeImpl(d){return class extends d{constructor(h,g,m){super(),this.nodeType=NodeType.DOCUMENT_TYPE_NODE,this.RRNodeType=NodeType$1.DocumentType,this.textContent=null,this.name=h,this.publicId=g,this.systemId=m,this.nodeName=h}toString(){return"RRDocumentType"}}}function BaseRRElementImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.ELEMENT_NODE,this.RRNodeType=NodeType$1.Element,this.attributes={},this.shadowRoot=null,this.tagName=h.toUpperCase(),this.nodeName=h.toUpperCase()}get textContent(){let h="";return this.childNodes.forEach(g=>h+=g.textContent),h}set textContent(h){this.childNodes=[this.ownerDocument.createTextNode(h)]}get classList(){return new ClassList(this.attributes.class,h=>{this.attributes.class=h})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){const h=this.attributes.style?parseCSSText(this.attributes.style):{},g=/\B([A-Z])/g;return h.setProperty=(m,_,b)=>{if(g.test(m))return;const y=camelize(m);_?h[y]=_:delete h[y],b==="important"&&(h[y]+=" !important"),this.attributes.style=toCSSText(h)},h.removeProperty=m=>{if(g.test(m))return"";const _=camelize(m),b=h[_]||"";return delete h[_],this.attributes.style=toCSSText(h),b},h}getAttribute(h){return this.attributes[h]||null}setAttribute(h,g){this.attributes[h]=g}setAttributeNS(h,g,m){this.setAttribute(g,m)}removeAttribute(h){delete this.attributes[h]}appendChild(h){return this.childNodes.push(h),h.parentNode=this,h.parentElement=this,h}insertBefore(h,g){if(g===null)return this.appendChild(h);const m=this.childNodes.indexOf(g);if(m==-1)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return this.childNodes.splice(m,0,h),h.parentElement=this,h.parentNode=this,h}removeChild(h){const g=this.childNodes.indexOf(h);if(g===-1)throw new Error("Failed to execute 'removeChild' on 'RRElement': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(g,1),h.parentElement=null,h.parentNode=null,h}attachShadow(h){const g=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=g,g}dispatchEvent(h){return!0}toString(){let h="";for(const g in this.attributes)h+=`${g}="${this.attributes[g]}" `;return`${this.tagName} ${h}`}}}function BaseRRMediaElementImpl(d){return class extends d{attachShadow(h){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}}}function BaseRRTextImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.TEXT_NODE,this.nodeName="#text",this.RRNodeType=NodeType$1.Text,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRText text=${JSON.stringify(this.data)}`}}}function BaseRRCommentImpl(d){return class extends d{constructor(h){super(),this.nodeType=NodeType.COMMENT_NODE,this.nodeName="#comment",this.RRNodeType=NodeType$1.Comment,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRComment text=${JSON.stringify(this.data)}`}}}function BaseRRCDATASectionImpl(d){return class extends d{constructor(h){super(),this.nodeName="#cdata-section",this.nodeType=NodeType.CDATA_SECTION_NODE,this.RRNodeType=NodeType$1.CDATA,this.data=h}get textContent(){return this.data}set textContent(h){this.data=h}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}}}class ClassList{constructor(p,h){if(this.classes=[],this.add=(...g)=>{for(const m of g){const _=String(m);this.classes.indexOf(_)>=0||this.classes.push(_)}this.onChange&&this.onChange(this.classes.join(" "))},this.remove=(...g)=>{this.classes=this.classes.filter(m=>g.indexOf(m)===-1),this.onChange&&this.onChange(this.classes.join(" "))},p){const g=p.trim().split(/\s+/);this.classes.push(...g)}this.onChange=h}}var NodeType;(function(d){d[d.PLACEHOLDER=0]="PLACEHOLDER",d[d.ELEMENT_NODE=1]="ELEMENT_NODE",d[d.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",d[d.TEXT_NODE=3]="TEXT_NODE",d[d.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",d[d.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",d[d.ENTITY_NODE=6]="ENTITY_NODE",d[d.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",d[d.COMMENT_NODE=8]="COMMENT_NODE",d[d.DOCUMENT_NODE=9]="DOCUMENT_NODE",d[d.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",d[d.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE"})(NodeType||(NodeType={}));const NAMESPACES={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},SVGTagMap={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function diff(d,p,h,g){const m=d.childNodes,_=p.childNodes;g=g||p.mirror||p.ownerDocument.mirror,(m.length>0||_.length>0)&&diffChildren(Array.from(m),_,d,h,g);let b=null,y=null;switch(p.RRNodeType){case NodeType$1.Document:{y=p.scrollData;break}case NodeType$1.Element:{const w=d,x=p;switch(diffProps(w,x,g),y=x.scrollData,b=x.inputData,x.tagName){case"AUDIO":case"VIDEO":{const E=d,S=x;S.paused!==void 0&&(S.paused?E.pause():E.play()),S.muted!==void 0&&(E.muted=S.muted),S.volume!==void 0&&(E.volume=S.volume),S.currentTime!==void 0&&(E.currentTime=S.currentTime),S.playbackRate!==void 0&&(E.playbackRate=S.playbackRate);break}case"CANVAS":{const E=p;if(E.rr_dataURL!==null){const S=document.createElement("img");S.onload=()=>{const k=w.getContext("2d");k&&k.drawImage(S,0,0,S.width,S.height)},S.src=E.rr_dataURL}E.canvasMutations.forEach(S=>h.applyCanvas(S.event,S.mutation,d))}break;case"STYLE":{const E=w.sheet;E&&p.rules.forEach(S=>h.applyStyleSheetMutation(S,E))}break}if(x.shadowRoot){w.shadowRoot||w.attachShadow({mode:"open"});const E=w.shadowRoot.childNodes,S=x.shadowRoot.childNodes;(E.length>0||S.length>0)&&diffChildren(Array.from(E),S,w.shadowRoot,h,g)}break}case NodeType$1.Text:case NodeType$1.Comment:case NodeType$1.CDATA:d.textContent!==p.data&&(d.textContent=p.data);break}if(y&&h.applyScroll(y,!0),b&&h.applyInput(b),p.nodeName==="IFRAME"){const w=d.contentDocument,x=p;if(w){const E=g.getMeta(x.contentDocument);E&&h.mirror.add(w,Object.assign({},E)),diff(w,x.contentDocument,h,g)}}}function diffProps(d,p,h){const g=d.attributes,m=p.attributes;for(const _ in m){const b=m[_],y=h.getMeta(p);if(y&&"isSVG"in y&&y.isSVG&&NAMESPACES[_])d.setAttributeNS(NAMESPACES[_],_,b);else if(p.tagName==="CANVAS"&&_==="rr_dataURL"){const w=document.createElement("img");w.src=b,w.onload=()=>{const x=d.getContext("2d");x&&x.drawImage(w,0,0,w.width,w.height)}}else d.setAttribute(_,b)}for(const{name:_}of Array.from(g))_ in m||d.removeAttribute(_);p.scrollLeft&&(d.scrollLeft=p.scrollLeft),p.scrollTop&&(d.scrollTop=p.scrollTop)}function diffChildren(d,p,h,g,m){var _;let b=0,y=d.length-1,w=0,x=p.length-1,E=d[b],S=d[y],k=p[w],I=p[x],A,M;for(;b<=y&&w<=x;){const R=g.mirror.getId(E),C=g.mirror.getId(S),N=m.getId(k),$=m.getId(I);if(E===void 0)E=d[++b];else if(S===void 0)S=d[--y];else if(R!==-1&&R===N)diff(E,k,g,m),E=d[++b],k=p[++w];else if(C!==-1&&C===$)diff(S,I,g,m),S=d[--y],I=p[--x];else if(R!==-1&&R===$)h.insertBefore(E,S.nextSibling),diff(E,I,g,m),E=d[++b],I=p[--x];else if(C!==-1&&C===N)h.insertBefore(S,E),diff(S,k,g,m),S=d[--y],k=p[++w];else{if(!A){A={};for(let O=b;O<=y;O++){const F=d[O];F&&g.mirror.hasNode(F)&&(A[g.mirror.getId(F)]=O)}}if(M=A[m.getId(k)],M){const O=d[M];h.insertBefore(O,E),diff(O,k,g,m),d[M]=void 0}else{const O=createOrGetNode(k,g.mirror,m);h.nodeName==="#document"&&((_=g.mirror.getMeta(O))===null||_===void 0?void 0:_.type)===NodeType$1.Element&&h.documentElement&&(h.removeChild(h.documentElement),d[b]=void 0,E=void 0),h.insertBefore(O,E||null),diff(O,k,g,m)}k=p[++w]}}if(b>y){const R=p[x+1];let C=null;for(R&&h.childNodes.forEach(N=>{g.mirror.getId(N)===m.getId(R)&&(C=N)});w<=x;++w){const N=createOrGetNode(p[w],g.mirror,m);h.insertBefore(N,C),diff(N,p[w],g,m)}}else if(w>x)for(;b<=y;b++){const R=d[b];R&&(h.removeChild(R),g.mirror.removeNodeFromMap(R))}}function createOrGetNode(d,p,h){const g=h.getId(d),m=h.getMeta(d);let _=null;if(g>-1&&(_=p.getNode(g)),_!==null)return _;switch(d.RRNodeType){case NodeType$1.Document:_=new Document;break;case NodeType$1.DocumentType:_=document.implementation.createDocumentType(d.name,d.publicId,d.systemId);break;case NodeType$1.Element:{let b=d.tagName.toLowerCase();b=SVGTagMap[b]||b,m&&"isSVG"in m&&(m!=null&&m.isSVG)?_=document.createElementNS(NAMESPACES.svg,b):_=document.createElement(d.tagName);break}case NodeType$1.Text:_=document.createTextNode(d.data);break;case NodeType$1.Comment:_=document.createComment(d.data);break;case NodeType$1.CDATA:_=document.createCDATASection(d.data);break}return m&&p.add(_,Object.assign({},m)),_}class RRDocument extends BaseRRDocumentImpl(BaseRRNode){constructor(p){super(),this.UNSERIALIZED_STARTING_ID=-2,this._unserializedId=this.UNSERIALIZED_STARTING_ID,this.mirror=createMirror(),this.scrollData=null,p&&(this.mirror=p)}get unserializedId(){return this._unserializedId--}createDocument(p,h,g){return new RRDocument}createDocumentType(p,h,g){const m=new RRDocumentType(p,h,g);return m.ownerDocument=this,m}createElement(p){const h=p.toUpperCase();let g;switch(h){case"AUDIO":case"VIDEO":g=new RRMediaElement(h);break;case"IFRAME":g=new RRIFrameElement(h,this.mirror);break;case"CANVAS":g=new RRCanvasElement(h);break;case"STYLE":g=new RRStyleElement(h);break;default:g=new RRElement(h);break}return g.ownerDocument=this,g}createComment(p){const h=new RRComment(p);return h.ownerDocument=this,h}createCDATASection(p){const h=new RRCDATASection(p);return h.ownerDocument=this,h}createTextNode(p){const h=new RRText(p);return h.ownerDocument=this,h}destroyTree(){this.childNodes=[],this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}}const RRDocumentType=BaseRRDocumentTypeImpl(BaseRRNode);class RRElement extends BaseRRElementImpl(BaseRRNode){constructor(){super(...arguments),this.inputData=null,this.scrollData=null}}class RRMediaElement extends BaseRRMediaElementImpl(RRElement){}class RRCanvasElement extends RRElement{constructor(){super(...arguments),this.rr_dataURL=null,this.canvasMutations=[]}getContext(){return null}}class RRStyleElement extends RRElement{constructor(){super(...arguments),this.rules=[]}}class RRIFrameElement extends RRElement{constructor(p,h){super(p),this.contentDocument=new RRDocument,this.contentDocument.mirror=h}}const RRText=BaseRRTextImpl(BaseRRNode),RRComment=BaseRRCommentImpl(BaseRRNode),RRCDATASection=BaseRRCDATASectionImpl(BaseRRNode);function getValidTagName(d){return d instanceof HTMLFormElement?"FORM":d.tagName.toUpperCase()}function buildFromNode(d,p,h,g){let m;switch(d.nodeType){case NodeType.DOCUMENT_NODE:g&&g.nodeName==="IFRAME"?m=g.contentDocument:(m=p,m.compatMode=d.compatMode);break;case NodeType.DOCUMENT_TYPE_NODE:{const b=d;m=p.createDocumentType(b.name,b.publicId,b.systemId);break}case NodeType.ELEMENT_NODE:{const b=d,y=getValidTagName(b);m=p.createElement(y);const w=m;for(const{name:x,value:E}of Array.from(b.attributes))w.attributes[x]=E;b.scrollLeft&&(w.scrollLeft=b.scrollLeft),b.scrollTop&&(w.scrollTop=b.scrollTop);break}case NodeType.TEXT_NODE:m=p.createTextNode(d.textContent||"");break;case NodeType.CDATA_SECTION_NODE:m=p.createCDATASection(d.data);break;case NodeType.COMMENT_NODE:m=p.createComment(d.textContent||"");break;case NodeType.DOCUMENT_FRAGMENT_NODE:m=g.attachShadow({mode:"open"});break;default:return null}let _=h.getMeta(d);return p instanceof RRDocument&&(_||(_=getDefaultSN(m,p.unserializedId),h.add(d,_)),p.mirror.add(m,Object.assign({},_))),m}function buildFromDom(d,p=createMirror$1(),h=new RRDocument){function g(m,_){const b=buildFromNode(m,h,p,_);if(b!==null)if((_==null?void 0:_.nodeName)!=="IFRAME"&&m.nodeType!==NodeType.DOCUMENT_FRAGMENT_NODE&&(_==null||_.appendChild(b),b.parentNode=_,b.parentElement=_),m.nodeName==="IFRAME"){const y=m.contentDocument;y&&g(y,b)}else(m.nodeType===NodeType.DOCUMENT_NODE||m.nodeType===NodeType.ELEMENT_NODE||m.nodeType===NodeType.DOCUMENT_FRAGMENT_NODE)&&(m.nodeType===NodeType.ELEMENT_NODE&&m.shadowRoot&&g(m.shadowRoot,b),m.childNodes.forEach(y=>g(y,b)))}return g(d,null),h}function createMirror(){return new Mirror}class Mirror{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(p){var h;if(!p)return-1;const g=(h=this.getMeta(p))===null||h===void 0?void 0:h.id;return g??-1}getNode(p){return this.idNodeMap.get(p)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(p){return this.nodeMetaMap.get(p)||null}removeNodeFromMap(p){const h=this.getId(p);this.idNodeMap.delete(h),p.childNodes&&p.childNodes.forEach(g=>this.removeNodeFromMap(g))}has(p){return this.idNodeMap.has(p)}hasNode(p){return this.nodeMetaMap.has(p)}add(p,h){const g=h.id;this.idNodeMap.set(g,p),this.nodeMetaMap.set(p,h)}replace(p,h){const g=this.getNode(p);if(g){const m=this.nodeMetaMap.get(g);m&&this.nodeMetaMap.set(h,m)}this.idNodeMap.set(p,h)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function getDefaultSN(d,p){switch(d.RRNodeType){case NodeType$1.Document:return{id:p,type:d.RRNodeType,childNodes:[]};case NodeType$1.DocumentType:{const h=d;return{id:p,type:d.RRNodeType,name:h.name,publicId:h.publicId,systemId:h.systemId}}case NodeType$1.Element:return{id:p,type:d.RRNodeType,tagName:d.tagName.toLowerCase(),attributes:{},childNodes:[]};case NodeType$1.Text:return{id:p,type:d.RRNodeType,textContent:d.textContent||""};case NodeType$1.Comment:return{id:p,type:d.RRNodeType,textContent:d.textContent||""};case NodeType$1.CDATA:return{id:p,type:d.RRNodeType,textContent:""}}}function mitt$1(d){return{all:d=d||new Map,on:function(p,h){var g=d.get(p);g?g.push(h):d.set(p,[h])},off:function(p,h){var g=d.get(p);g&&(h?g.splice(g.indexOf(h)>>>0,1):d.set(p,[]))},emit:function(p,h){var g=d.get(p);g&&g.slice().map(function(m){m(h)}),(g=d.get("*"))&&g.slice().map(function(m){m(p,h)})}}}const mitt$1$1=Object.freeze(Object.defineProperty({__proto__:null,default:mitt$1},Symbol.toStringTag,{value:"Module"}));function polyfill(d=window,p=document){if("scrollBehavior"in p.documentElement.style&&d.__forceSmoothScrollPolyfill__!==!0)return;const h=d.HTMLElement||d.Element,g=468,m={scroll:d.scroll||d.scrollTo,scrollBy:d.scrollBy,elementScroll:h.prototype.scroll||w,scrollIntoView:h.prototype.scrollIntoView},_=d.performance&&d.performance.now?d.performance.now.bind(d.performance):Date.now;function b(C){const N=["MSIE ","Trident/","Edge/"];return new RegExp(N.join("|")).test(C)}const y=b(d.navigator.userAgent)?1:0;function w(C,N){this.scrollLeft=C,this.scrollTop=N}function x(C){return .5*(1-Math.cos(Math.PI*C))}function E(C){if(C===null||typeof C!="object"||C.behavior===void 0||C.behavior==="auto"||C.behavior==="instant")return!0;if(typeof C=="object"&&C.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+C.behavior+" is not a valid value for enumeration ScrollBehavior.")}function S(C,N){if(N==="Y")return C.clientHeight+y<C.scrollHeight;if(N==="X")return C.clientWidth+y<C.scrollWidth}function k(C,N){const $=d.getComputedStyle(C,null)["overflow"+N];return $==="auto"||$==="scroll"}function I(C){const N=S(C,"Y")&&k(C,"Y"),$=S(C,"X")&&k(C,"X");return N||$}function A(C){for(;C!==p.body&&I(C)===!1;)C=C.parentNode||C.host;return C}function M(C){const N=_();let $,O,F,j=(N-C.startTime)/g;j=j>1?1:j,$=x(j),O=C.startX+(C.x-C.startX)*$,F=C.startY+(C.y-C.startY)*$,C.method.call(C.scrollable,O,F),(O!==C.x||F!==C.y)&&d.requestAnimationFrame(M.bind(d,C))}function R(C,N,$){let O,F,j,Y;const q=_();C===p.body?(O=d,F=d.scrollX||d.pageXOffset,j=d.scrollY||d.pageYOffset,Y=m.scroll):(O=C,F=C.scrollLeft,j=C.scrollTop,Y=w),M({scrollable:O,method:Y,startTime:q,startX:F,startY:j,x:N,y:$})}d.scroll=d.scrollTo=function(){if(arguments[0]!==void 0){if(E(arguments[0])===!0){m.scroll.call(d,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:d.scrollX||d.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:d.scrollY||d.pageYOffset);return}R.call(d,p.body,arguments[0].left!==void 0?~~arguments[0].left:d.scrollX||d.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:d.scrollY||d.pageYOffset)}},d.scrollBy=function(){if(arguments[0]!==void 0){if(E(arguments[0])){m.scrollBy.call(d,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}R.call(d,p.body,~~arguments[0].left+(d.scrollX||d.pageXOffset),~~arguments[0].top+(d.scrollY||d.pageYOffset))}},h.prototype.scroll=h.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(E(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");m.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}const C=arguments[0].left,N=arguments[0].top;R.call(this,this,typeof C>"u"?this.scrollLeft:~~C,typeof N>"u"?this.scrollTop:~~N)},h.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(E(arguments[0])===!0){m.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},h.prototype.scrollIntoView=function(){if(E(arguments[0])===!0){m.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}const C=A(this),N=C.getBoundingClientRect(),$=this.getBoundingClientRect();C!==p.body?(R.call(this,C,C.scrollLeft+$.left-N.left,C.scrollTop+$.top-N.top),d.getComputedStyle(C).position!=="fixed"&&d.scrollBy({left:N.left,top:N.top,behavior:"smooth"})):d.scrollBy({left:$.left,top:$.top,behavior:"smooth"})}}class Timer{constructor(p=[],h){this.timeOffset=0,this.raf=null,this.actions=p,this.speed=h.speed,this.liveMode=h.liveMode}addAction(p){if(!this.actions.length||this.actions[this.actions.length-1].delay<=p.delay){this.actions.push(p);return}const h=this.findActionIndex(p);this.actions.splice(h,0,p)}start(){this.timeOffset=0;let p=performance.now();const h=()=>{const g=performance.now();for(this.timeOffset+=(g-p)*this.speed,p=g;this.actions.length;){const m=this.actions[0];if(this.timeOffset>=m.delay)this.actions.shift(),m.doAction();else break}(this.actions.length>0||this.liveMode)&&(this.raf=requestAnimationFrame(h))};this.raf=requestAnimationFrame(h)}clear(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(p){this.speed=p}toggleLiveMode(p){this.liveMode=p}isActive(){return this.raf!==null}findActionIndex(p){let h=0,g=this.actions.length-1;for(;h<=g;){const m=Math.floor((h+g)/2);if(this.actions[m].delay<p.delay)h=m+1;else if(this.actions[m].delay>p.delay)g=m-1;else return m+1}return h}}function addDelay(d,p){if(d.type===EventType.IncrementalSnapshot&&d.data.source===IncrementalSource.MouseMove&&d.data.positions&&d.data.positions.length){const h=d.data.positions[0].timeOffset,g=d.timestamp+h;return d.delay=g-p,g-p}return d.delay=d.timestamp-p,d.delay}/*! *****************************************************************************
|
|
64
|
+
Copyright (c) Microsoft Corporation.
|
|
65
|
+
|
|
66
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
67
|
+
purpose with or without fee is hereby granted.
|
|
68
|
+
|
|
69
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
70
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
71
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
72
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
73
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
74
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
75
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
76
|
+
***************************************************************************** */function t(d,p){var h=typeof Symbol=="function"&&d[Symbol.iterator];if(!h)return d;var g,m,_=h.call(d),b=[];try{for(;(p===void 0||p-- >0)&&!(g=_.next()).done;)b.push(g.value)}catch(y){m={error:y}}finally{try{g&&!g.done&&(h=_.return)&&h.call(_)}finally{if(m)throw m.error}}return b}var n;(function(d){d[d.NotStarted=0]="NotStarted",d[d.Running=1]="Running",d[d.Stopped=2]="Stopped"})(n||(n={}));var e={type:"xstate.init"};function r(d){return d===void 0?[]:[].concat(d)}function o(d){return{type:"xstate.assign",assignment:d}}function i(d,p){return typeof(d=typeof d=="string"&&p&&p[d]?p[d]:d)=="string"?{type:d}:typeof d=="function"?{type:d.name,exec:d}:d}function a(d){return function(p){return d===p}}function u(d){return typeof d=="string"?{type:d}:d}function c(d,p){return{value:d,context:p,actions:[],changed:!1,matches:a(d)}}function f(d,p,h){var g=p,m=!1;return[d.filter((function(_){if(_.type==="xstate.assign"){m=!0;var b=Object.assign({},g);return typeof _.assignment=="function"?b=_.assignment(g,h):Object.keys(_.assignment).forEach((function(y){b[y]=typeof _.assignment[y]=="function"?_.assignment[y](g,h):_.assignment[y]})),g=b,!1}return!0})),g,m]}function s(d,p){p===void 0&&(p={});var h=t(f(r(d.states[d.initial].entry).map((function(b){return i(b,p.actions)})),d.context,e),2),g=h[0],m=h[1],_={config:d,_options:p,initialState:{value:d.initial,actions:g,context:m,matches:a(d.initial)},transition:function(b,y){var w,x,E=typeof b=="string"?{value:b,context:d.context}:b,S=E.value,k=E.context,I=u(y),A=d.states[S];if(A.on){var M=r(A.on[I.type]);try{for(var R=(function(me){var Se=typeof Symbol=="function"&&Symbol.iterator,T=Se&&me[Se],z=0;if(T)return T.call(me);if(me&&typeof me.length=="number")return{next:function(){return me&&z>=me.length&&(me=void 0),{value:me&&me[z++],done:!me}}};throw new TypeError(Se?"Object is not iterable.":"Symbol.iterator is not defined.")})(M),C=R.next();!C.done;C=R.next()){var N=C.value;if(N===void 0)return c(S,k);var $=typeof N=="string"?{target:N}:N,O=$.target,F=$.actions,j=F===void 0?[]:F,Y=$.cond,q=Y===void 0?function(){return!0}:Y,de=O===void 0,oe=O??S,ce=d.states[oe];if(q(k,I)){var se=t(f((de?r(j):[].concat(A.exit,j,ce.entry).filter((function(me){return me}))).map((function(me){return i(me,_._options.actions)})),k,I),3),ye=se[0],ve=se[1],Te=se[2],Ee=O??S;return{value:Ee,context:ve,actions:ye,changed:O!==S||ye.length>0||Te,matches:a(Ee)}}}}catch(me){w={error:me}}finally{try{C&&!C.done&&(x=R.return)&&x.call(R)}finally{if(w)throw w.error}}}return c(S,k)}};return _}var l=function(d,p){return d.actions.forEach((function(h){var g=h.exec;return g&&g(d.context,p)}))};function v(d){var p=d.initialState,h=n.NotStarted,g=new Set,m={_machine:d,send:function(_){h===n.Running&&(p=d.transition(p,_),l(p,u(_)),g.forEach((function(b){return b(p)})))},subscribe:function(_){return g.add(_),_(p),{unsubscribe:function(){return g.delete(_)}}},start:function(_){if(_){var b=typeof _=="object"?_:{context:d.config.context,value:_};p={value:b.value,actions:[],context:b.context,matches:a(b.value)}}return h=n.Running,l(p,e),m},stop:function(){return h=n.Stopped,g.clear(),m},get state(){return p},get status(){return h}};return m}function discardPriorSnapshots(d,p){for(let h=d.length-1;h>=0;h--){const g=d[h];if(g.type===EventType.Meta&&g.timestamp<=p)return d.slice(h)}return d}function createPlayerService(d,{getCastFn:p,applyEventsSynchronously:h,emitter:g}){const m=s({id:"player",context:d,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:o({lastPlayedEvent:(_,b)=>b.type==="CAST_EVENT"?b.payload.event:_.lastPlayedEvent}),recordTimeOffset:o((_,b)=>{let y=_.timeOffset;return"payload"in b&&"timeOffset"in b.payload&&(y=b.payload.timeOffset),Object.assign(Object.assign({},_),{timeOffset:y,baselineTime:_.events[0].timestamp+y})}),play(_){var b;const{timer:y,events:w,baselineTime:x,lastPlayedEvent:E}=_;y.clear();for(const A of w)addDelay(A,x);const S=discardPriorSnapshots(w,x);let k=E==null?void 0:E.timestamp;(E==null?void 0:E.type)===EventType.IncrementalSnapshot&&E.data.source===IncrementalSource.MouseMove&&(k=E.timestamp+((b=E.data.positions[0])===null||b===void 0?void 0:b.timeOffset)),x<(k||0)&&g.emit(ReplayerEvents.PlayBack);const I=new Array;for(const A of S)if(!(k&&k<x&&(A.timestamp<=k||A===E)))if(A.timestamp<x)I.push(A);else{const M=p(A,!1);y.addAction({doAction:()=>{M()},delay:A.delay})}h(I),g.emit(ReplayerEvents.Flush),y.start()},pause(_){_.timer.clear()},resetLastPlayedEvent:o(_=>Object.assign(Object.assign({},_),{lastPlayedEvent:null})),startLive:o({baselineTime:(_,b)=>(_.timer.toggleLiveMode(!0),_.timer.start(),b.type==="TO_LIVE"&&b.payload.baselineTime?b.payload.baselineTime:Date.now())}),addEvent:o((_,b)=>{const{baselineTime:y,timer:w,events:x}=_;if(b.type==="ADD_EVENT"){const{event:E}=b.payload;addDelay(E,y);let S=x.length-1;if(!x[S]||x[S].timestamp<=E.timestamp)x.push(E);else{let A=-1,M=0;for(;M<=S;){const R=Math.floor((M+S)/2);x[R].timestamp<=E.timestamp?M=R+1:S=R-1}A===-1&&(A=M),x.splice(A,0,E)}const k=E.timestamp<y,I=p(E,k);k?I():w.isActive()&&w.addAction({doAction:()=>{I()},delay:E.delay})}return Object.assign(Object.assign({},_),{events:x})})}});return v(m)}function createSpeedService(d){const p=s({id:"speed",context:d,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(h,g)=>{"payload"in g&&h.timer.setSpeed(g.payload.speed)},recordSpeed:o({normalSpeed:h=>h.timer.speed}),restoreSpeed:h=>{h.timer.setSpeed(h.normalSpeed)}}});return v(p)}const rules=d=>[`.${d} { background: currentColor }`,"noscript { display: none !important; }"],webGLVarMap=new Map;function variableListFor(d,p){let h=webGLVarMap.get(d);return h||(h=new Map,webGLVarMap.set(d,h)),h.has(p)||h.set(p,[]),h.get(p)}function deserializeArg(d,p,h){return g=>__awaiter(this,void 0,void 0,function*(){if(g&&typeof g=="object"&&"rr_type"in g)if(h&&(h.isUnchanged=!1),g.rr_type==="ImageBitmap"&&"args"in g){const m=yield deserializeArg(d,p,h)(g.args);return yield createImageBitmap.apply(null,m)}else if("index"in g){if(h||p===null)return g;const{rr_type:m,index:_}=g;return variableListFor(p,m)[_]}else if("args"in g){const{rr_type:m,args:_}=g,b=window[m];return new b(...yield Promise.all(_.map(deserializeArg(d,p,h))))}else{if("base64"in g)return decode(g.base64);if("src"in g){const m=d.get(g.src);if(m)return m;{const _=new Image;return _.src=g.src,d.set(g.src,_),_}}else if("data"in g&&g.rr_type==="Blob"){const m=yield Promise.all(g.data.map(deserializeArg(d,p,h)));return new Blob(m,{type:g.type})}}else if(Array.isArray(g))return yield Promise.all(g.map(deserializeArg(d,p,h)));return g})}function getContext(d,p){try{return p===CanvasContext.WebGL?d.getContext("webgl")||d.getContext("experimental-webgl"):d.getContext("webgl2")}catch{return null}}const WebGLVariableConstructorsNames=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function saveToWebGLVarMap(d,p){if(!(p!=null&&p.constructor))return;const{name:h}=p.constructor;if(!WebGLVariableConstructorsNames.includes(h))return;const g=variableListFor(d,h);g.includes(p)||g.push(p)}function webglMutation({mutation:d,target:p,type:h,imageMap:g,errorHandler:m}){return __awaiter(this,void 0,void 0,function*(){try{const _=getContext(p,h);if(!_)return;if(d.setter){_[d.property]=d.args[0];return}const b=_[d.property],y=yield Promise.all(d.args.map(deserializeArg(g,_))),w=b.apply(_,y);saveToWebGLVarMap(_,w);const x=!1}catch(_){m(d,_)}})}function canvasMutation$1({event:d,mutation:p,target:h,imageMap:g,errorHandler:m}){return __awaiter(this,void 0,void 0,function*(){try{const _=h.getContext("2d");if(p.setter){_[p.property]=p.args[0];return}const b=_[p.property];if(p.property==="drawImage"&&typeof p.args[0]=="string")g.get(d),b.apply(_,p.args);else{const y=yield Promise.all(p.args.map(deserializeArg(g,_)));b.apply(_,y)}}catch(_){m(p,_)}})}function canvasMutation({event:d,mutation:p,target:h,imageMap:g,canvasEventMap:m,errorHandler:_}){return __awaiter(this,void 0,void 0,function*(){try{const b=m.get(d)||p,y="commands"in b?b.commands:[b];if([CanvasContext.WebGL,CanvasContext.WebGL2].includes(p.type)){for(let w=0;w<y.length;w++){const x=y[w];yield webglMutation({mutation:x,type:p.type,target:h,imageMap:g,errorHandler:_})}return}for(let w=0;w<y.length;w++){const x=y[w];yield canvasMutation$1({event:d,mutation:x,target:h,imageMap:g,errorHandler:_})}}catch(b){_(p,b)}})}const SKIP_TIME_THRESHOLD=10*1e3,SKIP_TIME_INTERVAL=5*1e3,mitt=mitt$1||mitt$1$1,REPLAY_CONSOLE_PREFIX="[replayer]",defaultMouseTailConfig={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function indicatesTouchDevice(d){return d.type==EventType.IncrementalSnapshot&&(d.data.source==IncrementalSource.TouchMove||d.data.source==IncrementalSource.MouseInteraction&&d.data.type==MouseInteractions.TouchStart)}class Replayer{constructor(p,h){if(this.usingVirtualDom=!1,this.virtualDom=new RRDocument,this.mouseTail=null,this.tailPositions=[],this.emitter=mitt(),this.legacy_missingNodeRetryMap={},this.cache=createCache(),this.imageMap=new Map,this.canvasEventMap=new Map,this.mirror=createMirror$2(),this.styleMirror=new StyleSheetMirror,this.firstFullSnapshot=null,this.newDocumentQueue=[],this.mousePos=null,this.touchActive=null,this.lastSelectionData=null,this.constructedStyleMutations=[],this.adoptedStyleSheets=[],this.handleResize=y=>{this.iframe.style.display="inherit";for(const w of[this.mouseTail,this.iframe])w&&(w.setAttribute("width",String(y.width)),w.setAttribute("height",String(y.height)))},this.applyEventsSynchronously=y=>{for(const w of y){switch(w.type){case EventType.DomContentLoaded:case EventType.Load:case EventType.Custom:continue;case EventType.FullSnapshot:case EventType.Meta:case EventType.Plugin:case EventType.IncrementalSnapshot:break}this.getCastFn(w,!0)()}this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null},this.getCastFn=(y,w=!1)=>{let x;switch(y.type){case EventType.DomContentLoaded:case EventType.Load:break;case EventType.Custom:x=()=>{this.emitter.emit(ReplayerEvents.CustomEvent,y)};break;case EventType.Meta:x=()=>this.emitter.emit(ReplayerEvents.Resize,{width:y.data.width,height:y.data.height});break;case EventType.FullSnapshot:x=()=>{var S;if(this.firstFullSnapshot){if(this.firstFullSnapshot===y){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.rebuildFullSnapshot(y,w),(S=this.iframe.contentWindow)===null||S===void 0||S.scrollTo(y.data.initialOffset),this.styleMirror.reset()};break;case EventType.IncrementalSnapshot:x=()=>{if(this.applyIncremental(y,w),!w&&(y===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(const S of this.service.state.context.events)if(!(S.timestamp<=y.timestamp)&&this.isUserInteraction(S)){S.delay-y.delay>SKIP_TIME_THRESHOLD*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=S);break}if(this.nextUserInteractionEvent){const S=this.nextUserInteractionEvent.delay-y.delay,k={speed:Math.min(Math.round(S/SKIP_TIME_INTERVAL),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:k}),this.emitter.emit(ReplayerEvents.SkipStart,k)}}};break}return()=>{x&&x();for(const k of this.config.plugins||[])k.handler&&k.handler(y,w,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:y}});const S=this.service.state.context.events.length-1;if(y===this.service.state.context.events[S]){const k=()=>{S<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(ReplayerEvents.Finish))};y.type===EventType.IncrementalSnapshot&&y.data.source===IncrementalSource.MouseMove&&y.data.positions.length?setTimeout(()=>{k()},Math.max(0,-y.data.positions[0].timeOffset+50)):k()}this.emitter.emit(ReplayerEvents.EventCast,y)}},!(h!=null&&h.liveMode)&&p.length<2)throw new Error("Replayer need at least 2 events.");const g={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:defaultMouseTailConfig,useVirtualDom:!0};this.config=Object.assign({},g,h),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(ReplayerEvents.Resize,this.handleResize),this.setupDom();for(const y of this.config.plugins||[])y.getMirror&&y.getMirror({nodeMirror:this.mirror});this.emitter.on(ReplayerEvents.Flush,()=>{if(this.usingVirtualDom){const y={mirror:this.mirror,applyCanvas:(w,x,E)=>{canvasMutation({event:w,mutation:x,target:E,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(w,x)=>{w.source===IncrementalSource.StyleSheetRule?this.applyStyleSheetRule(w,x):w.source===IncrementalSource.StyleDeclaration&&this.applyStyleDeclaration(w,x)}};if(this.iframe.contentDocument&&diff(this.iframe.contentDocument,this.virtualDom,y,this.virtualDom.mirror),this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(const w in this.legacy_missingNodeRetryMap)try{const x=this.legacy_missingNodeRetryMap[w],E=createOrGetNode(x.node,this.mirror,this.virtualDom.mirror);diff(E,x.node,y,this.virtualDom.mirror),x.node=E}catch(x){this.config.showWarning&&console.warn(x)}this.constructedStyleMutations.forEach(w=>{this.applyStyleSheetMutation(w)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(w=>{this.applyAdoptedStyleSheet(w)}),this.adoptedStyleSheets=[]}this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(ReplayerEvents.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset()});const m=new Timer([],{speed:this.config.speed,liveMode:this.config.liveMode});this.service=createPlayerService({events:p.map(y=>h&&h.unpackFn?h.unpackFn(y):y).sort((y,w)=>y.timestamp-w.timestamp),timer:m,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(y=>{this.emitter.emit(ReplayerEvents.StateChange,{player:y})}),this.speedService=createSpeedService({normalSpeed:-1,timer:m}),this.speedService.start(),this.speedService.subscribe(y=>{this.emitter.emit(ReplayerEvents.StateChange,{speed:y})});const _=this.service.state.context.events.find(y=>y.type===EventType.Meta),b=this.service.state.context.events.find(y=>y.type===EventType.FullSnapshot);if(_){const{width:y,height:w}=_.data;setTimeout(()=>{this.emitter.emit(ReplayerEvents.Resize,{width:y,height:w})},0)}b&&setTimeout(()=>{var y;this.firstFullSnapshot||(this.firstFullSnapshot=b,this.rebuildFullSnapshot(b),(y=this.iframe.contentWindow)===null||y===void 0||y.scrollTo(b.data.initialOffset))},1),this.service.state.context.events.find(indicatesTouchDevice)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(p,h){return this.emitter.on(p,h),this}off(p,h){return this.emitter.off(p,h),this}setConfig(p){Object.keys(p).forEach(h=>{p[h],this.config[h]=p[h]}),this.config.skipInactive||this.backToNormal(),typeof p.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:p.speed}}),typeof p.mouseTail<"u"&&(p.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){const p=this.service.state.context.events[0],h=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:p.timestamp,endTime:h.timestamp,totalTime:h.timestamp-p.timestamp}}getCurrentTime(){return this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){const{baselineTime:p,events:h}=this.service.state.context;return p-h[0].timestamp}getMirror(){return this.mirror}play(p=0){var h,g;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:p}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:p}})),(g=(h=this.iframe.contentDocument)===null||h===void 0?void 0:h.getElementsByTagName("html")[0])===null||g===void 0||g.classList.remove("rrweb-paused"),this.emitter.emit(ReplayerEvents.Start)}pause(p){var h,g;p===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof p=="number"&&(this.play(p),this.service.send({type:"PAUSE"})),(g=(h=this.iframe.contentDocument)===null||h===void 0?void 0:h.getElementsByTagName("html")[0])===null||g===void 0||g.classList.add("rrweb-paused"),this.emitter.emit(ReplayerEvents.Pause)}resume(p=0){console.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(p),this.emitter.emit(ReplayerEvents.Resume)}destroy(){this.pause(),this.config.root.removeChild(this.wrapper),this.emitter.emit(ReplayerEvents.Destroy)}startLive(p){this.service.send({type:"TO_LIVE",payload:{baselineTime:p}})}addEvent(p){const h=this.config.unpackFn?this.config.unpackFn(p):p;indicatesTouchDevice(h)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:h}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=createCache()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.iframe=document.createElement("iframe");const p=["allow-same-origin"];this.config.UNSAFE_replayCanvas&&p.push("allow-scripts"),this.iframe.style.display="none",this.iframe.setAttribute("sandbox",p.join(" ")),this.disableInteract(),this.wrapper.appendChild(this.iframe),this.iframe.contentWindow&&this.iframe.contentDocument&&(polyfill(this.iframe.contentWindow,this.iframe.contentDocument),polyfill$1(this.iframe.contentWindow))}rebuildFullSnapshot(p,h=!1){if(!this.iframe.contentDocument)return console.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&console.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};const g=[],m=(y,w)=>{this.collectIframeAndAttachDocument(g,y);for(const x of this.config.plugins||[])x.onBuild&&x.onBuild(y,{id:w,replayer:this})};rebuild(p.data.node,{doc:this.iframe.contentDocument,afterAppend:m,cache:this.cache,mirror:this.mirror}),m(this.iframe.contentDocument,p.data.node.id);for(const{mutationInQueue:y,builtNode:w}of g)this.attachDocumentToIframe(y,w),this.newDocumentQueue=this.newDocumentQueue.filter(x=>x!==y);const{documentElement:_,head:b}=this.iframe.contentDocument;this.insertStyleRules(_,b),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(ReplayerEvents.FullsnapshotRebuilded,p),h||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(p,h){var g;const m=rules(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&m.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),this.usingVirtualDom){const _=this.virtualDom.createElement("style");this.virtualDom.mirror.add(_,getDefaultSN(_,this.virtualDom.unserializedId)),p.insertBefore(_,h),_.rules.push({source:IncrementalSource.StyleSheetRule,adds:m.map((b,y)=>({rule:b,index:y}))})}else{const _=document.createElement("style");p.insertBefore(_,h);for(let b=0;b<m.length;b++)(g=_.sheet)===null||g===void 0||g.insertRule(m[b],b)}}attachDocumentToIframe(p,h){const g=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,m=[],_=(b,y)=>{this.collectIframeAndAttachDocument(m,b);const w=g.getMeta(b);if((w==null?void 0:w.type)===NodeType$2.Element&&(w==null?void 0:w.tagName.toUpperCase())==="HTML"){const{documentElement:x,head:E}=h.contentDocument;this.insertStyleRules(x,E)}for(const x of this.config.plugins||[])x.onBuild&&x.onBuild(b,{id:y,replayer:this})};buildNodeWithSN(p.node,{doc:h.contentDocument,mirror:g,hackCss:!0,skipChild:!1,afterAppend:_,cache:this.cache}),_(h.contentDocument,p.node.id);for(const{mutationInQueue:b,builtNode:y}of m)this.attachDocumentToIframe(b,y),this.newDocumentQueue=this.newDocumentQueue.filter(w=>w!==b)}collectIframeAndAttachDocument(p,h){if(isSerializedIframe(h,this.mirror)){const g=this.newDocumentQueue.find(m=>m.parentId===this.mirror.getId(h));g&&p.push({mutationInQueue:g,builtNode:h})}}waitForStylesheetLoad(){var p;const h=(p=this.iframe.contentDocument)===null||p===void 0?void 0:p.head;if(h){const g=new Set;let m,_=this.service.state;const b=()=>{_=this.service.state};this.emitter.on(ReplayerEvents.Start,b),this.emitter.on(ReplayerEvents.Pause,b);const y=()=>{this.emitter.off(ReplayerEvents.Start,b),this.emitter.off(ReplayerEvents.Pause,b)};h.querySelectorAll('link[rel="stylesheet"]').forEach(w=>{w.sheet||(g.add(w),w.addEventListener("load",()=>{g.delete(w),g.size===0&&m!==-1&&(_.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(ReplayerEvents.LoadStylesheetEnd),m&&clearTimeout(m),y())}))}),g.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(ReplayerEvents.LoadStylesheetStart),m=setTimeout(()=>{_.matches("playing")&&this.play(this.getCurrentTime()),m=-1,y()},this.config.loadTimeout))}}preloadAllImages(){return __awaiter(this,void 0,void 0,function*(){this.service.state;const p=()=>{this.service.state};this.emitter.on(ReplayerEvents.Start,p),this.emitter.on(ReplayerEvents.Pause,p);const h=[];for(const g of this.service.state.context.events)g.type===EventType.IncrementalSnapshot&&g.data.source===IncrementalSource.CanvasMutation&&(h.push(this.deserializeAndPreloadCanvasEvents(g.data,g)),("commands"in g.data?g.data.commands:[g.data]).forEach(_=>{this.preloadImages(_,g)}));return Promise.all(h)})}preloadImages(p,h){if(p.property==="drawImage"&&typeof p.args[0]=="string"&&!this.imageMap.has(h)){const g=document.createElement("canvas"),m=g.getContext("2d"),_=m==null?void 0:m.createImageData(g.width,g.height);_==null||_.data,JSON.parse(p.args[0]),m==null||m.putImageData(_,0,0)}}deserializeAndPreloadCanvasEvents(p,h){return __awaiter(this,void 0,void 0,function*(){if(!this.canvasEventMap.has(h)){const g={isUnchanged:!0};if("commands"in p){const m=yield Promise.all(p.commands.map(_=>__awaiter(this,void 0,void 0,function*(){const b=yield Promise.all(_.args.map(deserializeArg(this.imageMap,null,g)));return Object.assign(Object.assign({},_),{args:b})})));g.isUnchanged===!1&&this.canvasEventMap.set(h,Object.assign(Object.assign({},p),{commands:m}))}else{const m=yield Promise.all(p.args.map(deserializeArg(this.imageMap,null,g)));g.isUnchanged===!1&&this.canvasEventMap.set(h,Object.assign(Object.assign({},p),{args:m}))}}})}applyIncremental(p,h){var g,m,_;const{data:b}=p;switch(b.source){case IncrementalSource.Mutation:{try{this.applyMutation(b,h)}catch(y){this.warn(`Exception in mutation ${y.message||y}`,b)}break}case IncrementalSource.Drag:case IncrementalSource.TouchMove:case IncrementalSource.MouseMove:if(h){const y=b.positions[b.positions.length-1];this.mousePos={x:y.x,y:y.y,id:y.id,debugData:b}}else b.positions.forEach(y=>{const w={doAction:()=>{this.moveAndHover(y.x,y.y,y.id,h,b)},delay:y.timeOffset+p.timestamp-this.service.state.context.baselineTime};this.timer.addAction(w)}),this.timer.addAction({doAction(){},delay:p.delay-((g=b.positions[0])===null||g===void 0?void 0:g.timeOffset)});break;case IncrementalSource.MouseInteraction:{if(b.id===-1||h)break;const y=new Event(MouseInteractions[b.type].toLowerCase()),w=this.mirror.getNode(b.id);if(!w)return this.debugNodeNotFound(b,b.id);this.emitter.emit(ReplayerEvents.MouseInteraction,{type:b.type,target:w});const{triggerFocus:x}=this.config;switch(b.type){case MouseInteractions.Blur:"blur"in w&&w.blur();break;case MouseInteractions.Focus:x&&w.focus&&w.focus({preventScroll:!0});break;case MouseInteractions.Click:case MouseInteractions.TouchStart:case MouseInteractions.TouchEnd:h?(b.type===MouseInteractions.TouchStart?this.touchActive=!0:b.type===MouseInteractions.TouchEnd&&(this.touchActive=!1),this.mousePos={x:b.x,y:b.y,id:b.id,debugData:b}):(b.type===MouseInteractions.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(b.x,b.y,b.id,h,b),b.type===MouseInteractions.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):b.type===MouseInteractions.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):b.type===MouseInteractions.TouchEnd&&this.mouse.classList.remove("touch-active"));break;case MouseInteractions.TouchCancel:h?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:w.dispatchEvent(y)}break}case IncrementalSource.Scroll:{if(b.id===-1)break;if(this.usingVirtualDom){const y=this.virtualDom.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);y.scrollData=b;break}this.applyScroll(b,h);break}case IncrementalSource.ViewportResize:this.emitter.emit(ReplayerEvents.Resize,{width:b.width,height:b.height});break;case IncrementalSource.Input:{if(b.id===-1)break;if(this.usingVirtualDom){const y=this.virtualDom.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);y.inputData=b;break}this.applyInput(b);break}case IncrementalSource.MediaInteraction:{const y=this.usingVirtualDom?this.virtualDom.mirror.getNode(b.id):this.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);const w=y;try{b.currentTime&&(w.currentTime=b.currentTime),b.volume&&(w.volume=b.volume),b.muted&&(w.muted=b.muted),b.type===1&&w.pause(),b.type===0&&w.play(),b.type===4&&(w.playbackRate=b.playbackRate)}catch(x){this.config.showWarning&&console.warn(`Failed to replay media interactions: ${x.message||x}`)}break}case IncrementalSource.StyleSheetRule:case IncrementalSource.StyleDeclaration:{this.usingVirtualDom?b.styleId?this.constructedStyleMutations.push(b):b.id&&((m=this.virtualDom.mirror.getNode(b.id))===null||m===void 0||m.rules.push(b)):this.applyStyleSheetMutation(b);break}case IncrementalSource.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){const y=this.virtualDom.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);y.canvasMutations.push({event:p,mutation:b})}else{const y=this.mirror.getNode(b.id);if(!y)return this.debugNodeNotFound(b,b.id);canvasMutation({event:p,mutation:b,target:y,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case IncrementalSource.Font:{try{const y=new FontFace(b.family,b.buffer?new Uint8Array(JSON.parse(b.fontSource)):b.fontSource,b.descriptors);(_=this.iframe.contentDocument)===null||_===void 0||_.fonts.add(y)}catch(y){this.config.showWarning&&console.warn(y)}break}case IncrementalSource.Selection:{if(h){this.lastSelectionData=b;break}this.applySelection(b);break}case IncrementalSource.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(b):this.applyAdoptedStyleSheet(b);break}}}applyMutation(p,h){if(this.config.useVirtualDom&&!this.usingVirtualDom&&h&&(this.usingVirtualDom=!0,buildFromDom(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(const x in this.legacy_missingNodeRetryMap)try{const E=this.legacy_missingNodeRetryMap[x],S=buildFromNode(E.node,this.virtualDom,this.mirror);S&&(E.node=S)}catch(E){this.config.showWarning&&console.warn(E)}const g=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;p.removes.forEach(x=>{var E;const S=g.getNode(x.id);if(!S)return p.removes.find(I=>I.id===x.parentId)?void 0:this.warnNodeNotFound(p,x.id);let k=g.getNode(x.parentId);if(!k)return this.warnNodeNotFound(p,x.parentId);if(x.isShadow&&hasShadowRoot(k)&&(k=k.shadowRoot),g.removeNodeFromMap(S),k)try{k.removeChild(S),this.usingVirtualDom&&S.nodeName==="#text"&&k.nodeName==="STYLE"&&((E=k.rules)===null||E===void 0?void 0:E.length)>0&&(k.rules=[])}catch(I){if(I instanceof DOMException)this.warn("parent could not remove child in mutation",k,S,p);else throw I}});const m=Object.assign({},this.legacy_missingNodeRetryMap),_=[],b=x=>{let E=null;return x.nextId&&(E=g.getNode(x.nextId)),x.nextId!==null&&x.nextId!==void 0&&x.nextId!==-1&&!E},y=x=>{var E;if(!this.iframe.contentDocument)return console.warn("Looks like your replayer has been destroyed.");let S=g.getNode(x.parentId);if(!S)return x.node.type===NodeType$2.Document?this.newDocumentQueue.push(x):_.push(x);x.node.isShadow&&(hasShadowRoot(S)||S.attachShadow({mode:"open"}),S=S.shadowRoot);let k=null,I=null;if(x.previousId&&(k=g.getNode(x.previousId)),x.nextId&&(I=g.getNode(x.nextId)),b(x))return _.push(x);if(x.node.rootId&&!g.getNode(x.node.rootId))return;const A=x.node.rootId?g.getNode(x.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(isSerializedIframe(S,g)){this.attachDocumentToIframe(x,S);return}const M=(N,$)=>{for(const O of this.config.plugins||[])O.onBuild&&O.onBuild(N,{id:$,replayer:this})},R=buildNodeWithSN(x.node,{doc:A,mirror:g,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:M});if(x.previousId===-1||x.nextId===-1){m[x.node.id]={node:R,mutation:x};return}const C=g.getMeta(S);if(C&&C.type===NodeType$2.Element&&C.tagName==="textarea"&&x.node.type===NodeType$2.Text){const N=Array.isArray(S.childNodes)?S.childNodes:Array.from(S.childNodes);for(const $ of N)$.nodeType===S.TEXT_NODE&&S.removeChild($)}if(k&&k.nextSibling&&k.nextSibling.parentNode)S.insertBefore(R,k.nextSibling);else if(I&&I.parentNode)S.contains(I)?S.insertBefore(R,I):S.insertBefore(R,null);else{if(S===A)for(;A.firstChild;)A.removeChild(A.firstChild);S.appendChild(R)}if(M(R,x.node.id),this.usingVirtualDom&&R.nodeName==="#text"&&S.nodeName==="STYLE"&&((E=S.rules)===null||E===void 0?void 0:E.length)>0&&(S.rules=[]),isSerializedIframe(R,this.mirror)){const N=this.mirror.getId(R),$=this.newDocumentQueue.find(O=>O.parentId===N);$&&(this.attachDocumentToIframe($,R),this.newDocumentQueue=this.newDocumentQueue.filter(O=>O!==$))}(x.previousId||x.nextId)&&this.legacy_resolveMissingNode(m,S,R,x)};p.adds.forEach(x=>{y(x)});const w=Date.now();for(;_.length;){const x=queueToResolveTrees(_);if(_.length=0,Date.now()-w>500){this.warn("Timeout in the loop, please check the resolve tree data:",x);break}for(const E of x)g.getNode(E.value.parentId)?iterateResolveTree(E,k=>{y(k)}):this.debug("Drop resolve tree since there is no parent for the root node.",E)}Object.keys(m).length&&Object.assign(this.legacy_missingNodeRetryMap,m),uniqueTextMutations(p.texts).forEach(x=>{var E;const S=g.getNode(x.id);if(!S)return p.removes.find(k=>k.id===x.id)?void 0:this.warnNodeNotFound(p,x.id);if(S.textContent=x.value,this.usingVirtualDom){const k=S.parentNode;((E=k==null?void 0:k.rules)===null||E===void 0?void 0:E.length)>0&&(k.rules=[])}}),p.attributes.forEach(x=>{const E=g.getNode(x.id);if(!E)return p.removes.find(S=>S.id===x.id)?void 0:this.warnNodeNotFound(p,x.id);for(const S in x.attributes)if(typeof S=="string"){const k=x.attributes[S];if(k===null)E.removeAttribute(S);else if(typeof k=="string")try{if(S==="_cssText"&&(E.nodeName==="LINK"||E.nodeName==="STYLE"))try{const I=g.getMeta(E);Object.assign(I.attributes,x.attributes);const A=buildNodeWithSN(I,{doc:E.ownerDocument,mirror:g,skipChild:!0,hackCss:!0,cache:this.cache}),M=E.nextSibling,R=E.parentNode;if(A&&R){R.removeChild(E),R.insertBefore(A,M),g.replace(x.id,A);break}}catch{}E.setAttribute(S,k)}catch(I){this.config.showWarning&&console.warn("An error occurred may due to the checkout feature.",I)}else if(S==="style"){const I=k,A=E;for(const M in I)if(I[M]===!1)A.style.removeProperty(M);else if(I[M]instanceof Array){const R=I[M];A.style.setProperty(M,R[0],R[1])}else{const R=I[M];A.style.setProperty(M,R)}}}})}applyScroll(p,h){var g,m;const _=this.mirror.getNode(p.id);if(!_)return this.debugNodeNotFound(p,p.id);const b=this.mirror.getMeta(_);if(_===this.iframe.contentDocument)(g=this.iframe.contentWindow)===null||g===void 0||g.scrollTo({top:p.y,left:p.x,behavior:h?"auto":"smooth"});else if((b==null?void 0:b.type)===NodeType$2.Document)(m=_.defaultView)===null||m===void 0||m.scrollTo({top:p.y,left:p.x,behavior:h?"auto":"smooth"});else try{_.scrollTo({top:p.y,left:p.x,behavior:h?"auto":"smooth"})}catch{}}applyInput(p){const h=this.mirror.getNode(p.id);if(!h)return this.debugNodeNotFound(p,p.id);try{h.checked=p.isChecked,h.value=p.text}catch{}}applySelection(p){try{const h=new Set,g=p.ranges.map(({start:m,startOffset:_,end:b,endOffset:y})=>{const w=this.mirror.getNode(m),x=this.mirror.getNode(b);if(!w||!x)return;const E=new Range;E.setStart(w,_),E.setEnd(x,y);const S=w.ownerDocument,k=S==null?void 0:S.getSelection();return k&&h.add(k),{range:E,selection:k}});h.forEach(m=>m.removeAllRanges()),g.forEach(m=>{var _;return m&&((_=m.selection)===null||_===void 0?void 0:_.addRange(m.range))})}catch{}}applyStyleSheetMutation(p){var h;let g=null;p.styleId?g=this.styleMirror.getStyle(p.styleId):p.id&&(g=((h=this.mirror.getNode(p.id))===null||h===void 0?void 0:h.sheet)||null),g&&(p.source===IncrementalSource.StyleSheetRule?this.applyStyleSheetRule(p,g):p.source===IncrementalSource.StyleDeclaration&&this.applyStyleDeclaration(p,g))}applyStyleSheetRule(p,h){var g,m,_,b;if((g=p.adds)===null||g===void 0||g.forEach(({rule:y,index:w})=>{try{if(Array.isArray(w)){const{positions:x,index:E}=getPositionsAndIndex(w);getNestedRule(h.cssRules,x).insertRule(y,E)}else{const x=w===void 0?void 0:Math.min(w,h.cssRules.length);h==null||h.insertRule(y,x)}}catch{}}),(m=p.removes)===null||m===void 0||m.forEach(({index:y})=>{try{if(Array.isArray(y)){const{positions:w,index:x}=getPositionsAndIndex(y);getNestedRule(h.cssRules,w).deleteRule(x||0)}else h==null||h.deleteRule(y)}catch{}}),p.replace)try{(_=h.replace)===null||_===void 0||_.call(h,p.replace)}catch{}if(p.replaceSync)try{(b=h.replaceSync)===null||b===void 0||b.call(h,p.replaceSync)}catch{}}applyStyleDeclaration(p,h){p.set&&getNestedRule(h.rules,p.index).style.setProperty(p.set.property,p.set.value,p.set.priority),p.remove&&getNestedRule(h.rules,p.index).style.removeProperty(p.remove.property)}applyAdoptedStyleSheet(p){var h;const g=this.mirror.getNode(p.id);if(!g)return;(h=p.styles)===null||h===void 0||h.forEach(y=>{var w;let x=null,E=null;if(hasShadowRoot(g)?E=((w=g.ownerDocument)===null||w===void 0?void 0:w.defaultView)||null:g.nodeName==="#document"&&(E=g.defaultView),!!E)try{x=new E.CSSStyleSheet,this.styleMirror.add(x,y.styleId),this.applyStyleSheetRule({source:IncrementalSource.StyleSheetRule,adds:y.rules},x)}catch{}});const m=10;let _=0;const b=(y,w)=>{const x=w.map(E=>this.styleMirror.getStyle(E)).filter(E=>E!==null);hasShadowRoot(y)?y.shadowRoot.adoptedStyleSheets=x:y.nodeName==="#document"&&(y.adoptedStyleSheets=x),x.length!==w.length&&_<m&&(setTimeout(()=>b(y,w),0+100*_),_++)};b(g,p.styleIds)}legacy_resolveMissingNode(p,h,g,m){const{previousId:_,nextId:b}=m,y=_&&p[_],w=b&&p[b];if(y){const{node:x,mutation:E}=y;h.insertBefore(x,g),delete p[E.node.id],delete this.legacy_missingNodeRetryMap[E.node.id],(E.previousId||E.nextId)&&this.legacy_resolveMissingNode(p,h,x,E)}if(w){const{node:x,mutation:E}=w;h.insertBefore(x,g.nextSibling),delete p[E.node.id],delete this.legacy_missingNodeRetryMap[E.node.id],(E.previousId||E.nextId)&&this.legacy_resolveMissingNode(p,h,x,E)}}moveAndHover(p,h,g,m,_){const b=this.mirror.getNode(g);if(!b)return this.debugNodeNotFound(_,g);const y=getBaseDimension(b,this.iframe),w=p*y.absoluteScale+y.x,x=h*y.absoluteScale+y.y;this.mouse.style.left=`${w}px`,this.mouse.style.top=`${x}px`,m||this.drawMouseTail({x:w,y:x}),this.hoverElements(b)}drawMouseTail(p){if(!this.mouseTail)return;const{lineCap:h,lineWidth:g,strokeStyle:m,duration:_}=this.config.mouseTail===!0?defaultMouseTailConfig:Object.assign({},defaultMouseTailConfig,this.config.mouseTail),b=()=>{if(!this.mouseTail)return;const y=this.mouseTail.getContext("2d");!y||!this.tailPositions.length||(y.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),y.beginPath(),y.lineWidth=g,y.lineCap=h,y.strokeStyle=m,y.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(w=>y.lineTo(w.x,w.y)),y.stroke())};this.tailPositions.push(p),b(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(y=>y!==p),b()},_/this.speedService.state.context.timer.speed)}hoverElements(p){var h;(h=this.iframe.contentDocument)===null||h===void 0||h.querySelectorAll(".\\:hover").forEach(m=>{m.classList.remove(":hover")});let g=p;for(;g;)g.classList&&g.classList.add(":hover"),g=g.parentElement}isUserInteraction(p){return p.type!==EventType.IncrementalSnapshot?!1:p.data.source>IncrementalSource.Mutation&&p.data.source<=IncrementalSource.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(ReplayerEvents.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(p,h){this.warn(`Node with id '${h}' not found. `,p)}warnCanvasMutationFailed(p,h){this.warn("Has error on canvas update",h,"canvas mutation:",p)}debugNodeNotFound(p,h){this.debug(REPLAY_CONSOLE_PREFIX,`Node with id '${h}' not found. `,p)}warn(...p){this.config.showWarning&&console.warn(REPLAY_CONSOLE_PREFIX,...p)}debug(...p){this.config.showDebug&&console.log(REPLAY_CONSOLE_PREFIX,...p)}}let stopFn=null,events=[];function startRecording(){stopFn||(events=[],clearCapturedRequests(),stopFn=record$1({emit(d){events.push(d)},recordCrossOriginIframes:!1})||null)}function stopRecording(){if(!stopFn)return[];stopFn(),stopFn=null;const d=[...events];return events=[],d}function cubic_out(d){const p=d-1;return p*p*p+1}function slide(d,{delay:p=0,duration:h=400,easing:g=cubic_out,axis:m="y"}={}){const _=getComputedStyle(d),b=+_.opacity,y=m==="y"?"height":"width",w=parseFloat(_[y]),x=m==="y"?["top","bottom"]:["left","right"],E=x.map(C=>`${C[0].toUpperCase()}${C.slice(1)}`),S=parseFloat(_[`padding${E[0]}`]),k=parseFloat(_[`padding${E[1]}`]),I=parseFloat(_[`margin${E[0]}`]),A=parseFloat(_[`margin${E[1]}`]),M=parseFloat(_[`border${E[0]}Width`]),R=parseFloat(_[`border${E[1]}Width`]);return{delay:p,duration:h,easing:g,css:C=>`overflow: hidden;opacity: ${Math.min(C*20,1)*b};${y}: ${C*w}px;padding-${x[0]}: ${C*S}px;padding-${x[1]}: ${C*k}px;margin-${x[0]}: ${C*I}px;margin-${x[1]}: ${C*A}px;border-${x[0]}-width: ${C*M}px;border-${x[1]}-width: ${C*R}px;min-${y}: 0`}}var root_3$7=from_html('<button class="thumb-edit svelte-1dhybq8" aria-label="Edit screenshot"><svg width="10" height="10" viewBox="0 0 24 24" fill="none"><path d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button>'),root_2$8=from_html('<div class="thumb-wrap svelte-1dhybq8"><img class="thumb svelte-1dhybq8"/> <!> <button class="thumb-remove svelte-1dhybq8" aria-label="Remove screenshot">×</button></div>'),root_4$5=from_html('<span class="more-badge svelte-1dhybq8"> </span>'),root_1$8=from_html('<div class="thumb-strip svelte-1dhybq8"><!> <!></div>');const $$css$9={hash:"svelte-1dhybq8",code:".thumb-strip.svelte-1dhybq8 {display:flex;gap:6px;align-items:center;}.thumb-wrap.svelte-1dhybq8 {position:relative;}.thumb.svelte-1dhybq8 {width:60px;height:42px;object-fit:cover;border-radius:4px;border:1px solid #374151;}.thumb-edit.svelte-1dhybq8 {position:absolute;bottom:2px;right:2px;width:20px;height:20px;border-radius:3px;background:rgba(59, 130, 246, 0.85);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity 0.15s;}.thumb-wrap.svelte-1dhybq8:hover .thumb-edit:where(.svelte-1dhybq8) {opacity:1;}.thumb-edit.svelte-1dhybq8:hover {background:#2563eb;}.thumb-remove.svelte-1dhybq8 {position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:#ef4444;color:white;border:none;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;}.more-badge.svelte-1dhybq8 {font-size:11px;color:#6b7280;padding:0 4px;}"};function ScreenshotPreview(d,p){push(p,!0),append_styles(d,$$css$9);let h=prop(p,"screenshots",23,()=>[]),g=prop(p,"capturing",7,!1),m=prop(p,"oncapture",7),_=prop(p,"onremove",7),b=prop(p,"onedit",7);var y={get screenshots(){return h()},set screenshots(S=[]){h(S),flushSync()},get capturing(){return g()},set capturing(S=!1){g(S),flushSync()},get oncapture(){return m()},set oncapture(S){m(S),flushSync()},get onremove(){return _()},set onremove(S){_(S),flushSync()},get onedit(){return b()},set onedit(S){b(S),flushSync()}},w=comment(),x=first_child(w);{var E=S=>{var k=root_1$8(),I=child(k);each(I,17,()=>h().slice(-3),index,(R,C,N)=>{const $=user_derived(()=>h().length>3?h().length-3+N:N);var O=root_2$8(),F=child(O);set_attribute(F,"alt",`Screenshot ${N+1}`);var j=sibling(F,2);{var Y=de=>{var oe=root_3$7();delegated("click",oe,()=>b()(get($))),append(de,oe)};if_block(j,de=>{b()&&de(Y)})}var q=sibling(j,2);reset(O),template_effect(()=>set_attribute(F,"src",get(C))),delegated("click",q,()=>_()(get($))),append(R,O)});var A=sibling(I,2);{var M=R=>{var C=root_4$5(),N=child(C);reset(C),template_effect(()=>set_text(N,`+${h().length-3}`)),append(R,C)};if_block(A,R=>{h().length>3&&R(M)})}reset(k),append(S,k)};if_block(x,S=>{h().length>0&&S(E)})}return append(d,w),pop(y)}delegate(["click"]),create_custom_element(ScreenshotPreview,{screenshots:{},capturing:{},oncapture:{},onremove:{},onedit:{}},[],[],{mode:"open"});var root_2$7=from_svg('<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><ellipse cx="12" cy="12" rx="10" ry="7" stroke="currentColor" stroke-width="2" fill="none"></ellipse></svg>'),root_3$6=from_svg('<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></path></svg>'),root_1$7=from_html('<button><!> <span class="tool-label svelte-yff65c"> </span></button>'),root_4$4=from_html("<button></button>"),root_5$4=from_html('<canvas class="base-canvas svelte-yff65c"></canvas> <canvas></canvas>',1),root_6$5=from_html('<div class="loading svelte-yff65c">Loading image...</div>'),root_7$5=from_html('<input type="text" class="text-overlay-input svelte-yff65c" placeholder="Type here..."/>'),root$6=from_html('<div class="annotation-backdrop svelte-yff65c"><div class="annotation-toolbar svelte-yff65c"><div class="tool-group svelte-yff65c"></div> <div class="divider svelte-yff65c"></div> <div class="color-group svelte-yff65c"></div> <div class="divider svelte-yff65c"></div> <div class="action-group svelte-yff65c"><button class="action-btn svelte-yff65c" title="Undo (Ctrl+Z)"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3 10h10a5 5 0 015 5v0a5 5 0 01-5 5H8M3 10l4-4M3 10l4 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Undo</button> <button class="action-btn svelte-yff65c" title="Clear all"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2M10 11v6M14 11v6M5 6l1 14h12l1-14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Clear</button></div> <div class="spacer svelte-yff65c"></div> <div class="commit-group svelte-yff65c"><button class="cancel-btn svelte-yff65c">Cancel</button> <button class="done-btn svelte-yff65c">Done</button></div></div> <div class="canvas-container svelte-yff65c"><!></div> <!></div>');const $$css$8={hash:"svelte-yff65c",code:`.annotation-backdrop.svelte-yff65c {position:fixed;inset:0;z-index:2147483647;background:rgba(0, 0, 0, 0.85);display:flex;flex-direction:column;align-items:center;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.annotation-toolbar.svelte-yff65c {display:flex;align-items:center;gap:6px;padding:8px 12px;background:#1f2937;border-bottom:1px solid #374151;width:100%;flex-shrink:0;flex-wrap:wrap;}.tool-group.svelte-yff65c, .color-group.svelte-yff65c, .action-group.svelte-yff65c, .commit-group.svelte-yff65c {display:flex;align-items:center;gap:4px;}.divider.svelte-yff65c {width:1px;height:24px;background:#374151;margin:0 4px;}.spacer.svelte-yff65c {flex:1;}.tool-btn.svelte-yff65c {display:flex;align-items:center;gap:4px;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:all 0.15s;}.tool-btn.svelte-yff65c:hover {color:#e5e7eb;background:#374151;}.tool-btn.active.svelte-yff65c {color:#fff;background:#3b82f6;border-color:#3b82f6;}.tool-label.svelte-yff65c {display:none;}
|
|
46
77
|
@media (min-width: 640px) {.tool-label.svelte-yff65c {display:inline;}
|
|
47
78
|
}.color-swatch.svelte-yff65c {width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform 0.1s, border-color 0.1s;padding:0;}.color-swatch.svelte-yff65c:hover {transform:scale(1.15);}.color-swatch.active.svelte-yff65c {border-color:#fff;transform:scale(1.2);}.action-btn.svelte-yff65c {display:flex;align-items:center;gap:4px;padding:5px 8px;background:transparent;border:1px solid #374151;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:all 0.15s;}.action-btn.svelte-yff65c:hover:not(:disabled) {color:#e5e7eb;background:#374151;}.action-btn.svelte-yff65c:disabled {opacity:0.4;cursor:not-allowed;}.cancel-btn.svelte-yff65c {padding:6px 14px;background:#374151;border:1px solid #4b5563;border-radius:5px;color:#d1d5db;font-size:12px;cursor:pointer;font-family:inherit;transition:background 0.15s;}.cancel-btn.svelte-yff65c:hover {background:#4b5563;}.done-btn.svelte-yff65c {padding:6px 16px;background:#3b82f6;border:none;border-radius:5px;color:white;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;}.done-btn.svelte-yff65c:hover {background:#2563eb;}.canvas-container.svelte-yff65c {flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:20px;}.base-canvas.svelte-yff65c, .overlay-canvas.svelte-yff65c {max-width:calc(100vw - 80px);max-height:calc(100vh - 120px);object-fit:contain;border-radius:4px;}.base-canvas.svelte-yff65c {display:block;}.overlay-canvas.svelte-yff65c {position:absolute;
|
|
48
|
-
/* Overlays exactly on base-canvas — sized by max-width/max-height */}.cursor-crosshair.svelte-yff65c {cursor:crosshair;}.cursor-text.svelte-yff65c {cursor:text;}.text-overlay-input.svelte-yff65c {position:fixed;background:transparent;border:1px dashed rgba(255,255,255,0.5);outline:none;font-size:16px;font-weight:bold;font-family:sans-serif;padding:2px 4px;z-index:2147483647;min-width:80px;}.loading.svelte-yff65c {color:#9ca3af;font-size:14px;}`};function AnnotationEditor(
|
|
79
|
+
/* Overlays exactly on base-canvas — sized by max-width/max-height */}.cursor-crosshair.svelte-yff65c {cursor:crosshair;}.cursor-text.svelte-yff65c {cursor:text;}.text-overlay-input.svelte-yff65c {position:fixed;background:transparent;border:1px dashed rgba(255,255,255,0.5);outline:none;font-size:16px;font-weight:bold;font-family:sans-serif;padding:2px 4px;z-index:2147483647;min-width:80px;}.loading.svelte-yff65c {color:#9ca3af;font-size:14px;}`};function AnnotationEditor(d,p){push(p,!0),append_styles(d,$$css$8);let h=prop(p,"imageDataUrl",7),g=prop(p,"onsave",7),m=prop(p,"oncancel",7),_=state("arrow"),b=state(proxy(ANNOTATION_COLORS[0])),y=state(proxy([])),w=state(void 0),x=state(void 0),E=state(0),S=state(0),k=state(!1),I=state("idle"),A={x:0,y:0},M=[],R=state(void 0),C=state(proxy({x:0,y:0})),N=state(proxy({left:"0px",top:"0px"})),$=state("");onMount(()=>{setAnnotationEditorOpen(!0);const V=new Image;V.onload=()=>{set(E,V.naturalWidth,!0),set(S,V.naturalHeight,!0),set(k,!0),requestAnimationFrame(()=>F(V))},V.src=h()}),onDestroy(()=>{setAnnotationEditorOpen(!1)});function O(){return new Promise((V,D)=>{const H=new Image;H.onload=()=>V(H),H.onerror=D,H.src=h()})}async function F(V){if(!get(w))return;const D=get(w).getContext("2d");D&&(V||(V=await O()),get(w).width=get(E),get(w).height=get(S),D.drawImage(V,0,0,get(E),get(S)),renderAllShapes(D,get(y)))}function j(){if(!get(x))return;const V=get(x).getContext("2d");V&&(get(x).width=get(E),get(x).height=get(S),V.clearRect(0,0,get(E),get(S)))}function Y(V){if(!get(x))return{x:0,y:0};const D=get(x).getBoundingClientRect(),H=get(E)/D.width,X=get(S)/D.height;return{x:(V.clientX-D.left)*H,y:(V.clientY-D.top)*X}}function q(V){if(!get(x))return{left:"0px",top:"0px"};const D=get(x).getBoundingClientRect();return{left:`${D.left+V.x/(get(E)/D.width)}px`,top:`${D.top+V.y/(get(S)/D.height)}px`}}function de(V){const D={color:get(b),strokeWidth:DEFAULT_STROKE_WIDTH};switch(get(_)){case"arrow":return{...D,id:nextShapeId(),type:"arrow",start:A,end:V};case"rectangle":return{...D,id:nextShapeId(),type:"rectangle",start:A,end:V};case"ellipse":return{...D,id:nextShapeId(),type:"ellipse",start:A,end:V};case"freehand":return{...D,id:nextShapeId(),type:"freehand",points:[...M,V]};default:return null}}function oe(V){if(get(I)==="typing"){ye();return}const D=Y(V);if(get(_)==="text"){set(I,"typing"),set(C,D,!0),set(N,q(D),!0),set($,""),requestAnimationFrame(()=>{var H;return(H=get(R))==null?void 0:H.focus()});return}set(I,"drawing"),A=D,M=[D]}function ce(V){if(get(I)!=="drawing")return;const D=Y(V);get(_)==="freehand"&&M.push(D),j();const H=de(D);if(H&&get(x)){const X=get(x).getContext("2d");X&&renderShape(X,H)}}function se(V){if(get(I)!=="drawing")return;const D=Y(V),H=de(D);H&&set(y,[...get(y),H],!0),set(I,"idle"),M=[],j(),F()}function ye(){if(get($).trim()){const V={id:nextShapeId(),type:"text",color:get(b),strokeWidth:DEFAULT_STROKE_WIDTH,position:get(C),content:get($).trim(),fontSize:20};set(y,[...get(y),V],!0),F()}set($,""),set(I,"idle")}function ve(V){V.key==="Enter"?(V.preventDefault(),ye()):V.key==="Escape"&&(V.preventDefault(),set($,""),set(I,"idle"))}function Te(){get(y).length!==0&&(set(y,get(y).slice(0,-1),!0),F())}function Ee(){set(y,[],!0),F()}async function me(){if(get(y).length===0){g()(h());return}const V=await mergeAnnotation(h(),get(y),get(E),get(S));g()(V)}function Se(){m()()}function T(V){V.stopPropagation(),V.key==="Escape"&&get(I)!=="typing"&&Se(),(V.ctrlKey||V.metaKey)&&V.key==="z"&&(V.preventDefault(),Te())}const z={arrow:"M5 19L19 5M19 5H9M19 5V15",rectangle:"M3 3h18v18H3z",ellipse:"",freehand:"M3 17c1-2 3-6 5-6s3 4 5 4 3-6 5-6 2 4 3 4",text:"M6 4v16M18 4v16M6 12h12M8 4h-4M20 4h-4M8 20h-4M20 20h-4"},L={arrow:"Arrow",rectangle:"Rect",ellipse:"Ellipse",freehand:"Draw",text:"Text"},P=["arrow","rectangle","ellipse","freehand","text"];var G={get imageDataUrl(){return h()},set imageDataUrl(V){h(V),flushSync()},get onsave(){return g()},set onsave(V){g(V),flushSync()},get oncancel(){return m()},set oncancel(V){m(V),flushSync()}},W=root$6(),ie=child(W),J=child(ie);each(J,21,()=>P,index,(V,D)=>{var H=root_1$7();let X;var fe=child(H);{var Q=Ce=>{var Ze=root_2$7();append(Ce,Ze)},ue=Ce=>{var Ze=root_3$6(),Le=child(Ze);reset(Ze),template_effect(()=>set_attribute(Le,"d",z[get(D)])),append(Ce,Ze)};if_block(fe,Ce=>{get(D)==="ellipse"?Ce(Q):Ce(ue,!1)})}var be=sibling(fe,2),Ue=child(be,!0);reset(be),reset(H),template_effect(()=>{X=set_class(H,1,"tool-btn svelte-yff65c",null,X,{active:get(_)===get(D)}),set_attribute(H,"title",L[get(D)]),set_text(Ue,L[get(D)])}),delegated("click",H,()=>{set(_,get(D),!0)}),append(V,H)}),reset(J);var ne=sibling(J,4);each(ne,21,()=>ANNOTATION_COLORS,index,(V,D)=>{var H=root_4$4();let X;template_effect(()=>{X=set_class(H,1,"color-swatch svelte-yff65c",null,X,{active:get(b)===get(D)}),set_style(H,`background: ${get(D)??""}; ${get(D)==="#111827"?"border-color: #6b7280;":""}`),set_attribute(H,"title",get(D))}),delegated("click",H,()=>{set(b,get(D),!0)}),append(V,H)}),reset(ne);var ge=sibling(ne,4),ee=child(ge),he=sibling(ee,2);reset(ge);var B=sibling(ge,4),K=child(B),pe=sibling(K,2);reset(B),reset(ie);var le=sibling(ie,2),we=child(le);{var ze=V=>{var D=root_5$4(),H=first_child(D);bind_this(H,Q=>set(w,Q),()=>get(w));var X=sibling(H,2);let fe;bind_this(X,Q=>set(x,Q),()=>get(x)),template_effect(()=>{set_attribute(H,"width",get(E)),set_attribute(H,"height",get(S)),set_attribute(X,"width",get(E)),set_attribute(X,"height",get(S)),fe=set_class(X,1,"overlay-canvas svelte-yff65c",null,fe,{"cursor-crosshair":get(_)!=="text","cursor-text":get(_)==="text"})}),delegated("mousedown",X,oe),delegated("mousemove",X,ce),delegated("mouseup",X,se),append(V,D)},xe=V=>{var D=root_6$5();append(V,D)};if_block(we,V=>{get(k)?V(ze):V(xe,!1)})}reset(le);var Ve=sibling(le,2);{var ae=V=>{var D=root_7$5();remove_input_defaults(D),bind_this(D,H=>set(R,H),()=>get(R)),template_effect(()=>set_style(D,`left: ${get(N).left??""}; top: ${get(N).top??""}; color: ${get(b)??""};`)),delegated("keydown",D,ve),event("blur",D,ye),bind_value(D,()=>get($),H=>set($,H)),append(V,D)};if_block(Ve,V=>{get(I)==="typing"&&V(ae)})}return reset(W),template_effect(()=>{ee.disabled=get(y).length===0,he.disabled=get(y).length===0}),delegated("keydown",W,T),delegated("keyup",W,V=>V.stopPropagation()),event("keypress",W,V=>V.stopPropagation()),delegated("click",ee,Te),delegated("click",he,Ee),delegated("click",K,Se),delegated("click",pe,me),append(d,W),pop(G)}delegate(["keydown","keyup","click","mousedown","mousemove","mouseup"]),create_custom_element(AnnotationEditor,{imageDataUrl:{},onsave:{},oncancel:{}},[],[],{mode:"open"});var root_2$6=from_html('<div class="log-entry svelte-x1hlqn"><span class="log-type svelte-x1hlqn"> </span> <span class="log-msg svelte-x1hlqn"> </span></div>'),root_3$5=from_html('<div class="log-more svelte-x1hlqn"> </div>'),root_1$6=from_html('<div class="log-list svelte-x1hlqn"><div class="log-header svelte-x1hlqn"> </div> <div class="log-scroll svelte-x1hlqn"><!> <!></div></div>');const $$css$7={hash:"svelte-x1hlqn",code:".log-list.svelte-x1hlqn {border:1px solid #374151;border-radius:6px;overflow:hidden;}.log-header.svelte-x1hlqn {padding:6px 10px;background:#1f2937;font-size:11px;font-weight:600;color:#d1d5db;border-bottom:1px solid #374151;}.log-scroll.svelte-x1hlqn {max-height:140px;overflow-y:auto;background:#111827;}.log-entry.svelte-x1hlqn {padding:4px 10px;font-size:11px;font-family:'SF Mono', 'Fira Code', 'Cascadia Code', monospace;display:flex;gap:8px;border-bottom:1px solid #1f293780;line-height:1.4;}.log-type.svelte-x1hlqn {font-weight:600;text-transform:uppercase;font-size:10px;min-width:40px;flex-shrink:0;}.log-msg.svelte-x1hlqn {color:#d1d5db;word-break:break-word;}.log-more.svelte-x1hlqn {padding:4px 10px;font-size:10px;color:#6b7280;text-align:center;}"};function ConsoleLogList(d,p){push(p,!0),append_styles(d,$$css$7);let h=prop(p,"logs",23,()=>[]);const g={error:"#ef4444",warn:"#f59e0b",info:"#3b82f6",log:"#9ca3af",debug:"#8b5cf6",trace:"#6b7280"};var m={get logs(){return h()},set logs(w=[]){h(w),flushSync()}},_=comment(),b=first_child(_);{var y=w=>{var x=root_1$6(),E=child(x),S=child(E);reset(E);var k=sibling(E,2),I=child(k);each(I,17,()=>h().slice(-10),index,(R,C)=>{var N=root_2$6(),$=child(N),O=child($,!0);reset($);var F=sibling($,2),j=child(F);reset(F),reset(N),template_effect(Y=>{set_style($,`color: ${(g[get(C).type]||"#9ca3af")??""}`),set_text(O,get(C).type),set_text(j,`${Y??""}${get(C).message.length>120?"...":""}`)},[()=>get(C).message.substring(0,120)]),append(R,N)});var A=sibling(I,2);{var M=R=>{var C=root_3$5(),N=child(C);reset(C),template_effect(()=>set_text(N,`+${h().length-10} more`)),append(R,C)};if_block(A,R=>{h().length>10&&R(M)})}reset(k),reset(x),template_effect(()=>set_text(S,`Console Logs (${h().length??""})`)),append(w,x)};if_block(b,w=>{h().length>0&&w(y)})}return append(d,_),pop(m)}create_custom_element(ConsoleLogList,{logs:{}},[],[],{mode:"open"});var root_2$5=from_svg('<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 8L6.5 11.5L13 4.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>'),root_3$4=from_svg('<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><circle cx="8" cy="8" r="6" stroke="currentColor" stroke-width="1.5"></circle><path d="M8 5V8.5M8 10.5V11" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>'),root_1$5=from_html('<div><span class="icon svelte-1f5s7q1"><!></span> <span class="msg"> </span></div>');const $$css$6={hash:"svelte-1f5s7q1",code:`.jat-toast.svelte-1f5s7q1 {position:absolute;bottom:70px;right:0;padding:10px 16px;border-radius:8px;font-size:13px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,0.2);
|
|
49
80
|
animation: svelte-1f5s7q1-toast-in 0.3s ease;white-space:nowrap;}.success.svelte-1f5s7q1 {background:#065f46;color:#d1fae5;border:1px solid #10b981;}.error.svelte-1f5s7q1 {background:#7f1d1d;color:#fecaca;border:1px solid #ef4444;}.icon.svelte-1f5s7q1 {display:flex;align-items:center;}
|
|
50
81
|
@keyframes svelte-1f5s7q1-toast-in {
|
|
51
82
|
from { opacity: 0; transform: translateY(8px); }
|
|
52
83
|
to { opacity: 1; transform: translateY(0); }
|
|
53
|
-
}`};function StatusToast(
|
|
84
|
+
}`};function StatusToast(d,p){push(p,!0),append_styles(d,$$css$6);let h=prop(p,"message",7),g=prop(p,"type",7,"success"),m=prop(p,"visible",7,!1);var _={get message(){return h()},set message(x){h(x),flushSync()},get type(){return g()},set type(x="success"){g(x),flushSync()},get visible(){return m()},set visible(x=!1){m(x),flushSync()}},b=comment(),y=first_child(b);{var w=x=>{var E=root_1$5();let S;var k=child(E),I=child(k);{var A=N=>{var $=root_2$5();append(N,$)},M=N=>{var $=root_3$4();append(N,$)};if_block(I,N=>{g()==="success"?N(A):N(M,!1)})}reset(k);var R=sibling(k,2),C=child(R,!0);reset(R),reset(E),template_effect(()=>{S=set_class(E,1,"jat-toast svelte-1f5s7q1",null,S,{error:g()==="error",success:g()==="success"}),set_text(C,h())}),append(x,E)};if_block(y,x=>{m()&&x(w)})}return append(d,b),pop(_)}create_custom_element(StatusToast,{message:{},type:{},visible:{}},[],[],{mode:"open"});var root_1$4=from_html('<div class="tv-loading svelte-ccnhf"><span class="tv-spinner svelte-ccnhf"></span> <span>Loading recording...</span></div>'),root_2$4=from_html('<div class="tv-error svelte-ccnhf"> </div>'),root_4$3=from_svg('<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect></svg>'),root_5$3=from_svg('<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><polygon points="5,3 19,12 5,21"></polygon></svg>'),root_6$4=from_html("<button> </button>"),root_8$4=from_html("<button></button>"),root_7$4=from_html('<div class="tv-event-timeline svelte-ccnhf"><div class="tv-event-bar svelte-ccnhf" role="slider" tabindex="0" aria-label="Event timeline"><div class="tv-event-playhead svelte-ccnhf"></div> <!></div> <div class="tv-legend svelte-ccnhf"><span class="tv-legend-item svelte-ccnhf"><span class="tv-legend-dot svelte-ccnhf" style="background:#ef4444"></span>Error</span> <span class="tv-legend-item svelte-ccnhf"><span class="tv-legend-dot svelte-ccnhf" style="background:#f59e0b"></span>Warn</span> <span class="tv-legend-item svelte-ccnhf"><span class="tv-legend-dot svelte-ccnhf" style="background:#3b82f6"></span>Log</span> <span class="tv-legend-item svelte-ccnhf"><span class="tv-legend-dot svelte-ccnhf" style="background:#10b981"></span>2xx</span> <span class="tv-legend-item svelte-ccnhf"><span class="tv-legend-dot svelte-ccnhf" style="background:#9ca3af"></span>Other</span></div></div>'),root_9$3=from_html('<div class="tv-detail-panel svelte-ccnhf"><div class="tv-detail-header svelte-ccnhf"><span class="tv-detail-badge svelte-ccnhf"> </span> <span class="tv-detail-time svelte-ccnhf"> </span> <button class="tv-detail-close svelte-ccnhf" aria-label="Close">×</button></div> <pre class="tv-detail-body svelte-ccnhf"> </pre></div>'),root_3$3=from_html('<div class="tv-player svelte-ccnhf"></div> <div class="tv-controls svelte-ccnhf"><button class="tv-play-btn svelte-ccnhf"><!></button> <span class="tv-time svelte-ccnhf"> </span> <div class="tv-scrubber svelte-ccnhf" role="slider" tabindex="0" aria-label="Playback position"><div class="tv-scrubber-fill svelte-ccnhf"></div> <div class="tv-scrubber-thumb svelte-ccnhf"></div></div> <span class="tv-time svelte-ccnhf"> </span> <div class="tv-speed svelte-ccnhf"></div></div> <!> <!>',1),root$5=from_html('<div class="timeline-viewer svelte-ccnhf"><!></div>');const $$css$5={hash:"svelte-ccnhf",code:`.timeline-viewer.svelte-ccnhf {margin-top:8px;border:1px solid #374151;border-radius:8px;overflow:hidden;background:#111827;}
|
|
85
|
+
|
|
86
|
+
/* Loading / Error */.tv-loading.svelte-ccnhf {display:flex;align-items:center;gap:8px;padding:16px;color:#9ca3af;font-size:12px;}.tv-spinner.svelte-ccnhf {width:14px;height:14px;border:2px solid #374151;border-top-color:#3b82f6;border-radius:50%;
|
|
87
|
+
animation: svelte-ccnhf-tv-spin 0.6s linear infinite;}
|
|
88
|
+
@keyframes svelte-ccnhf-tv-spin {
|
|
89
|
+
to { transform: rotate(360deg); }
|
|
90
|
+
}.tv-error.svelte-ccnhf {padding:16px;color:#ef4444;font-size:12px;}
|
|
91
|
+
|
|
92
|
+
/* Player container */.tv-player.svelte-ccnhf {position:relative;background:#0a0a0a;overflow:hidden;max-height:300px;}.tv-player.svelte-ccnhf .replayer-wrapper {position:relative !important;transform-origin:top left;}.tv-player.svelte-ccnhf iframe {border:none;max-width:100%;max-height:300px;}
|
|
93
|
+
|
|
94
|
+
/* Controls */.tv-controls.svelte-ccnhf {display:flex;align-items:center;gap:8px;padding:6px 10px;background:#1f2937;border-top:1px solid #374151;}.tv-play-btn.svelte-ccnhf {display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid #4b5563;border-radius:4px;color:#e5e7eb;cursor:pointer;flex-shrink:0;}.tv-play-btn.svelte-ccnhf:hover {background:#374151;}.tv-time.svelte-ccnhf {font-size:11px;color:#9ca3af;font-family:'SF Mono', 'Fira Code', monospace;flex-shrink:0;min-width:32px;}
|
|
95
|
+
|
|
96
|
+
/* Scrubber */.tv-scrubber.svelte-ccnhf {flex:1;height:6px;background:#374151;border-radius:3px;position:relative;cursor:pointer;}.tv-scrubber-fill.svelte-ccnhf {position:absolute;top:0;left:0;height:100%;background:#3b82f6;border-radius:3px;pointer-events:none;}.tv-scrubber-thumb.svelte-ccnhf {position:absolute;top:50%;width:10px;height:10px;background:#e5e7eb;border-radius:50%;transform:translate(-50%, -50%);pointer-events:none;}
|
|
97
|
+
|
|
98
|
+
/* Speed */.tv-speed.svelte-ccnhf {display:flex;gap:2px;flex-shrink:0;}.tv-speed-btn.svelte-ccnhf {padding:2px 6px;font-size:10px;background:none;border:1px solid #374151;border-radius:3px;color:#6b7280;cursor:pointer;}.tv-speed-btn.svelte-ccnhf:hover {color:#e5e7eb;}.tv-speed-btn.active.svelte-ccnhf {background:#3b82f6;border-color:#3b82f6;color:#fff;}
|
|
99
|
+
|
|
100
|
+
/* Event timeline bar */.tv-event-timeline.svelte-ccnhf {padding:4px 10px 6px;background:#1f2937;border-top:1px solid #374151;}.tv-event-bar.svelte-ccnhf {position:relative;height:20px;background:#111827;border-radius:4px;cursor:pointer;}.tv-event-playhead.svelte-ccnhf {position:absolute;top:0;bottom:0;width:1px;background:#e5e7eb;opacity:0.5;pointer-events:none;}.tv-dot.svelte-ccnhf {position:absolute;top:50%;width:8px;height:8px;border-radius:50%;border:none;transform:translate(-50%, -50%);cursor:pointer;padding:0;transition:transform 0.15s;}.tv-dot.svelte-ccnhf:hover, .tv-dot.selected.svelte-ccnhf {transform:translate(-50%, -50%) scale(1.6);z-index:1;}
|
|
101
|
+
|
|
102
|
+
/* Legend */.tv-legend.svelte-ccnhf {display:flex;gap:10px;margin-top:4px;justify-content:center;}.tv-legend-item.svelte-ccnhf {display:flex;align-items:center;gap:3px;font-size:9px;color:#6b7280;}.tv-legend-dot.svelte-ccnhf {width:6px;height:6px;border-radius:50%;display:inline-block;}
|
|
103
|
+
|
|
104
|
+
/* Detail panel */.tv-detail-panel.svelte-ccnhf {padding:8px 10px;background:#1a1a2e;border-top:1px solid #374151;}.tv-detail-header.svelte-ccnhf {display:flex;align-items:center;gap:8px;margin-bottom:4px;}.tv-detail-badge.svelte-ccnhf {font-size:10px;padding:1px 6px;border-radius:3px;border:1px solid;font-family:'SF Mono', 'Fira Code', monospace;}.tv-detail-time.svelte-ccnhf {font-size:10px;color:#6b7280;font-family:'SF Mono', 'Fira Code', monospace;}.tv-detail-close.svelte-ccnhf {margin-left:auto;background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;padding:0 4px;}.tv-detail-close.svelte-ccnhf:hover {color:#e5e7eb;}.tv-detail-body.svelte-ccnhf {margin:0;padding:6px 8px;background:#111827;border-radius:4px;font-size:11px;color:#d1d5db;font-family:'SF Mono', 'Fira Code', monospace;white-space:pre-wrap;word-break:break-all;max-height:100px;overflow-y:auto;}`};function TimelineViewer(d,p){push(p,!0),append_styles(d,$$css$5);let h=prop(p,"recordingUrl",7),g=prop(p,"endpoint",7),m=prop(p,"consoleLogs",7,null),_=prop(p,"networkRequests",7,null),b=state(void 0),y=state(null),w=state(proxy([])),x=state(!0),E=state(""),S=state(!1),k=state(0),I=state(0),A=state(1),M=state(null),R=state(0),C=state(0);async function N(){set(x,!0),set(E,"");try{const T=h().startsWith("http")?h():`${g().replace(/\/$/,"")}${h()}`,z=await fetch(T);if(!z.ok)throw new Error(`HTTP ${z.status}`);const L=await z.json();Array.isArray(L)?set(w,L,!0):L.events&&(set(w,L.events,!0),L.recordingStartTime&&set(C,L.recordingStartTime,!0)),get(w).length===0&&set(E,"No recording events found")}catch(T){set(E,T instanceof Error?T.message:"Failed to load recording",!0)}finally{set(x,!1)}}let $=user_derived(()=>{if(get(I)===0)return[];const T=[],z=get(C);if(m())for(const L of m()){const P=L.timestampMs-z;if(P<0||P>get(I))continue;const G=L.type==="error"?"#ef4444":L.type==="warn"?"#f59e0b":"#3b82f6";T.push({type:"console",timestampMs:L.timestampMs,offset:P,pct:P/get(I)*100,color:G,label:`console.${L.type}`,detail:L.message.length>200?L.message.slice(0,200)+"...":L.message})}if(_())for(const L of _()){const P=L.timestampMs-z;if(P<0||P>get(I))continue;const G=L.status??0,W=L.error||G>=400?"#ef4444":G>=200&&G<300?"#10b981":"#9ca3af",ie=L.url.replace(/^https?:\/\/[^/]+/,"");T.push({type:"network",timestampMs:L.timestampMs,offset:P,pct:P/get(I)*100,color:W,label:`${L.method} ${G||"ERR"}`,detail:`${L.method} ${ie}${L.duration?` (${L.duration}ms)`:""}${L.error?` — ${L.error}`:""}`})}return T.sort((L,P)=>L.offset-P.offset),T});function O(){if(!get(b)||get(w).length===0)return;get(y)&&(get(y).pause(),set(y,null)),get(b).innerHTML="";const T=new Replayer(get(w),{root:get(b),skipInactive:!0,showWarning:!1,showDebug:!1,blockClass:"rr-block",speed:get(A)}),z=T.getMetaData();set(I,z.totalTime,!0),!get(C)&&z.startTime&&set(C,z.startTime,!0),j(),T.on(ReplayerEvents.Start,()=>{set(S,!0)}),T.on(ReplayerEvents.Pause,()=>{set(S,!1)}),T.on(ReplayerEvents.Resume,()=>{set(S,!0)}),T.on(ReplayerEvents.Finish,()=>{set(S,!1),set(k,get(I),!0)}),set(y,T,!0),F()}function F(){cancelAnimationFrame(get(R));function T(){get(y)&&get(S)&&set(k,get(y).getCurrentTime(),!0),set(R,requestAnimationFrame(T),!0)}set(R,requestAnimationFrame(T),!0)}function j(){if(!get(b))return;const T=get(b).querySelector(".replayer-wrapper"),z=get(b).querySelector("iframe");if(!T||!z)return;const L=get(b).clientWidth,P=z.width?parseInt(z.width):z.clientWidth||1024,G=z.height?parseInt(z.height):z.clientHeight||768;if(P>L){const W=L/P;T.style.transform=`scale(${W})`,T.style.transformOrigin="top left",get(b).style.height=`${Math.min(300,G*W)}px`}}function Y(){get(y)&&(get(S)?get(y).pause():get(k)>=get(I)?get(y).play(0):get(y).resume())}function q(T){get(y)&&(get(y).pause(T),set(k,T,!0))}function de(T){const L=T.currentTarget.getBoundingClientRect(),P=Math.max(0,Math.min(1,(T.clientX-L.left)/L.width));q(P*get(I))}function oe(T){set(M,get(M)===T?null:T,!0),q(T.offset)}function ce(T){set(A,T,!0),get(y)&&get(y).setConfig({speed:T})}function se(T){const z=Math.floor(T/1e3),L=Math.floor(z/60),P=z%60;return`${L}:${P.toString().padStart(2,"0")}`}user_effect(()=>(N(),()=>{cancelAnimationFrame(get(R)),get(y)&&get(y).pause()})),user_effect(()=>{!get(x)&&get(w).length>0&&get(b)&&setTimeout(()=>O(),50)});var ye={get recordingUrl(){return h()},set recordingUrl(T){h(T),flushSync()},get endpoint(){return g()},set endpoint(T){g(T),flushSync()},get consoleLogs(){return m()},set consoleLogs(T=null){m(T),flushSync()},get networkRequests(){return _()},set networkRequests(T=null){_(T),flushSync()}},ve=root$5(),Te=child(ve);{var Ee=T=>{var z=root_1$4();append(T,z)},me=T=>{var z=root_2$4(),L=child(z,!0);reset(z),template_effect(()=>set_text(L,get(E))),append(T,z)},Se=T=>{var z=root_3$3(),L=first_child(z);bind_this(L,ae=>set(b,ae),()=>get(b));var P=sibling(L,2),G=child(P),W=child(G);{var ie=ae=>{var V=root_4$3();append(ae,V)},J=ae=>{var V=root_5$3();append(ae,V)};if_block(W,ae=>{get(S)?ae(ie):ae(J,!1)})}reset(G);var ne=sibling(G,2),ge=child(ne,!0);reset(ne);var ee=sibling(ne,2);set_attribute(ee,"aria-valuemin",0);var he=child(ee),B=sibling(he,2);reset(ee);var K=sibling(ee,2),pe=child(K,!0);reset(K);var le=sibling(K,2);each(le,20,()=>[1,2,4],index,(ae,V)=>{var D=root_6$4();let H;var X=child(D);reset(D),template_effect(()=>{H=set_class(D,1,"tv-speed-btn svelte-ccnhf",null,H,{active:get(A)===V}),set_text(X,`${V??""}x`)}),delegated("click",D,()=>ce(V)),append(ae,D)}),reset(le),reset(P);var we=sibling(P,2);{var ze=ae=>{var V=root_7$4(),D=child(V);set_attribute(D,"aria-valuemin",0);var H=child(D),X=sibling(H,2);each(X,17,()=>get($),index,(fe,Q)=>{var ue=root_8$4();let be;template_effect(Ue=>{be=set_class(ue,1,"tv-dot svelte-ccnhf",null,be,{selected:get(M)===get(Q)}),set_style(ue,`left: ${get(Q).pct??""}%; background: ${get(Q).color??""};`),set_attribute(ue,"title",`${get(Q).label??""}: ${get(Q).detail??""}`),set_attribute(ue,"aria-label",`${get(Q).label??""} at ${Ue??""}`)},[()=>se(get(Q).offset)]),delegated("click",ue,Ue=>{Ue.stopPropagation(),oe(get(Q))}),append(fe,ue)}),reset(D),next(2),reset(V),template_effect(()=>{set_attribute(D,"aria-valuemax",get(I)),set_attribute(D,"aria-valuenow",get(k)),set_style(H,`left: ${get(I)?get(k)/get(I)*100:0}%`)}),delegated("click",D,de),delegated("keydown",D,fe=>{(fe.key==="Enter"||fe.key===" ")&&de(fe)}),append(ae,V)};if_block(we,ae=>{get($).length>0&&ae(ze)})}var xe=sibling(we,2);{var Ve=ae=>{var V=root_9$3(),D=child(V),H=child(D),X=child(H,!0);reset(H);var fe=sibling(H,2),Q=child(fe,!0);reset(fe);var ue=sibling(fe,2);reset(D);var be=sibling(D,2),Ue=child(be,!0);reset(be),reset(V),template_effect(Ce=>{set_style(H,`background: ${get(M).color??""}20; color: ${get(M).color??""}; border-color: ${get(M).color??""}40;`),set_text(X,get(M).label),set_text(Q,Ce),set_text(Ue,get(M).detail)},[()=>se(get(M).offset)]),delegated("click",ue,()=>set(M,null)),append(ae,V)};if_block(xe,ae=>{get(M)&&ae(Ve)})}template_effect((ae,V)=>{set_attribute(G,"aria-label",get(S)?"Pause":"Play"),set_text(ge,ae),set_attribute(ee,"aria-valuemax",get(I)),set_attribute(ee,"aria-valuenow",get(k)),set_style(he,`width: ${get(I)?get(k)/get(I)*100:0}%`),set_style(B,`left: ${get(I)?get(k)/get(I)*100:0}%`),set_text(pe,V)},[()=>se(get(k)),()=>se(get(I))]),delegated("click",G,Y),delegated("click",ee,de),delegated("keydown",ee,ae=>{ae.key==="ArrowRight"?q(Math.min(get(I),get(k)+5e3)):ae.key==="ArrowLeft"&&q(Math.max(0,get(k)-5e3))}),append(T,z)};if_block(Te,T=>{get(x)?T(Ee):get(E)?T(me,1):T(Se,!1)})}return reset(ve),append(d,ve),pop(ye)}delegate(["click","keydown"]),create_custom_element(TimelineViewer,{recordingUrl:{},endpoint:{},consoleLogs:{},networkRequests:{}},[],[],{mode:"open"});var root_1$3=from_html('<div class="source-filters svelte-1fnmin5"><button>All <span class="source-pill-count svelte-1fnmin5"> </span></button> <button>Feedback <span class="source-pill-count svelte-1fnmin5"> </span></button> <button>Tasks <span class="source-pill-count svelte-1fnmin5"> </span></button></div>'),root_2$3=from_html('<span class="subtab-count svelte-1fnmin5"> </span>'),root_3$2=from_html('<span class="subtab-count done-count svelte-1fnmin5"> </span>'),root_5$2=from_html('<div class="loading svelte-1fnmin5"><span class="spinner svelte-1fnmin5"></span> <span>Loading your requests...</span></div>'),root_6$3=from_html('<div class="empty svelte-1fnmin5"><p class="error-text svelte-1fnmin5"> </p> <button class="retry-btn svelte-1fnmin5">Retry</button></div>'),root_7$3=from_html('<div class="empty svelte-1fnmin5"><div class="empty-icon svelte-1fnmin5"></div> <p>No requests yet</p> <p class="empty-sub svelte-1fnmin5">Submit feedback using the New Report tab</p></div>'),root_8$3=from_html('<div class="empty svelte-1fnmin5"><p class="empty-sub svelte-1fnmin5"> </p></div>'),root_12$2=from_html('<a class="report-url svelte-1fnmin5" target="_blank" rel="noopener noreferrer"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-1fnmin5"><path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6M15 3h6v6M10 14L21 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span class="svelte-1fnmin5"> </span></a>'),root_13$2=from_html('<p class="revision-note svelte-1fnmin5"> </p>'),root_18$2=from_html('<li class="svelte-1fnmin5"> </li>'),root_17$3=from_html('<ul class="thread-summary svelte-1fnmin5"></ul>'),root_21$2=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_23$2=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">×</button></div>'),root_19$2=from_html('<div class="thread-screenshots svelte-1fnmin5"></div> <!>',1),root_25$1=from_html('<span class="element-badge svelte-1fnmin5"> </span>'),root_24$1=from_html('<div class="thread-elements svelte-1fnmin5"></div>'),root_16$3=from_html('<div><div class="thread-entry-header svelte-1fnmin5"><span class="thread-from svelte-1fnmin5"> </span> <span> </span> <span class="thread-time svelte-1fnmin5"> </span></div> <p class="thread-message svelte-1fnmin5"><!></p> <!> <!> <!></div>'),root_15$3=from_html('<div class="thread svelte-1fnmin5"></div>'),root_14$3=from_html('<button class="thread-toggle svelte-1fnmin5"><svg width="10" height="10" viewBox="0 0 24 24" fill="none"><path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span> </span></button> <!>',1),root_26=from_html('<p class="report-desc svelte-1fnmin5"> </p>'),root_28$1=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_29$1=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">×</button></div>'),root_27$1=from_html('<div class="report-screenshots svelte-1fnmin5"></div> <!>',1),root_32$1=from_html('<div class="dev-notes svelte-1fnmin5"><span class="dev-notes-label svelte-1fnmin5">Dev response:</span> <span class="dev-notes-content svelte-1fnmin5"><!></span></div>'),root_33$1=from_html('<span class="status-pill accepted svelte-1fnmin5"></span>'),root_34$1=from_html('<span class="status-pill rejected svelte-1fnmin5"></span>'),root_38=from_html('<div class="reject-preview-item svelte-1fnmin5"><img class="svelte-1fnmin5"/> <button class="reject-preview-remove svelte-1fnmin5" aria-label="Remove">×</button></div>'),root_37=from_html('<div class="reject-preview-strip svelte-1fnmin5"></div>'),root_40=from_html('<span class="element-badge removable svelte-1fnmin5"> <button class="element-remove svelte-1fnmin5">×</button></span>'),root_39=from_html('<div class="reject-element-strip svelte-1fnmin5"></div>'),root_41=from_html('<span class="char-hint svelte-1fnmin5"> </span>'),root_36$1=from_html('<div class="reject-reason-form svelte-1fnmin5"><textarea class="reject-reason-input svelte-1fnmin5" placeholder="Why are you rejecting? (min 10 characters)" rows="2"></textarea> <div class="reject-attachments svelte-1fnmin5"><button class="attach-btn svelte-1fnmin5" title="Capture screenshot"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><rect x="2" y="3" width="20" height="18" rx="2" stroke="currentColor" stroke-width="2"></rect><circle cx="8.5" cy="10.5" r="1.5" stroke="currentColor" stroke-width="2"></circle><path d="M21 15l-5-5L5 21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> </button> <button class="attach-btn svelte-1fnmin5" title="Pick an element"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M7 7h10v10M7 17L17 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> Pick Element</button></div> <!> <!> <div class="reject-reason-actions svelte-1fnmin5"><button class="cancel-btn svelte-1fnmin5">Cancel</button> <button class="confirm-reject-btn svelte-1fnmin5"> </button></div> <!></div>'),root_42=from_html('<div class="response-actions svelte-1fnmin5"><button class="accept-btn svelte-1fnmin5"> </button> <button class="reject-btn svelte-1fnmin5"></button></div>'),root_11$2=from_html('<div class="card-body svelte-1fnmin5"><!> <!> <!> <!> <!> <!> <div class="report-footer svelte-1fnmin5"><span class="report-time svelte-1fnmin5"> </span> <!></div></div>'),root_10$2=from_html('<div><button class="card-toggle svelte-1fnmin5"><span class="report-type svelte-1fnmin5"> </span> <span class="report-title svelte-1fnmin5"> </span> <span class="report-status svelte-1fnmin5"> </span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M9 18l6-6-6-6" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <!></div>'),root_9$2=from_html('<div class="reports svelte-1fnmin5"></div>'),root_4$2=from_html("<div><!></div>"),root$4=from_html('<div class="request-list svelte-1fnmin5"><!> <div class="subtabs svelte-1fnmin5"><button>In Progress <!></button> <button>Done <!></button></div> <div class="request-scroll svelte-1fnmin5"><!></div></div>');const $$css$4={hash:"svelte-1fnmin5",code:`.request-list.svelte-1fnmin5 {display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;}
|
|
54
105
|
|
|
55
106
|
/* Source filters */.source-filters.svelte-1fnmin5 {display:flex;gap:4px;padding:8px 12px 4px;flex-shrink:0;}.source-pill.svelte-1fnmin5 {display:flex;align-items:center;gap:3px;padding:3px 8px;background:#1f2937;border:1px solid #374151;border-radius:12px;color:#9ca3af;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s;}.source-pill.svelte-1fnmin5:hover {border-color:#4b5563;color:#d1d5db;}.source-pill.active.svelte-1fnmin5 {background:#3b82f620;border-color:#3b82f640;color:#60a5fa;}.source-pill-count.svelte-1fnmin5 {font-size:9px;opacity:0.7;}
|
|
56
107
|
|
|
@@ -66,7 +117,7 @@ var Cr=Object.defineProperty;var pr=Re=>{throw TypeError(Re)};var zr=(Re,Me,qe)=
|
|
|
66
117
|
|
|
67
118
|
/* Thread container */.thread.svelte-1fnmin5 {margin-top:6px;display:flex;flex-direction:column;gap:4px;}.thread-entry.svelte-1fnmin5 {padding:6px 8px;border-radius:5px;font-size:12px;border-left:2px solid;}.thread-user.svelte-1fnmin5 {background:#111827;border-left-color:#6b7280;}.thread-dev.svelte-1fnmin5 {background:#0f172a;border-left-color:#3b82f6;}.thread-entry-header.svelte-1fnmin5 {display:flex;align-items:center;gap:6px;margin-bottom:3px;}.thread-from.svelte-1fnmin5 {font-weight:600;font-size:11px;color:#d1d5db;}.thread-type-badge.svelte-1fnmin5 {font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:0.3px;}.thread-type-badge.submission.svelte-1fnmin5 {background:#6b728020;color:#9ca3af;}.thread-type-badge.completion.svelte-1fnmin5 {background:#3b82f620;color:#60a5fa;}.thread-type-badge.rejection.svelte-1fnmin5 {background:#ef444420;color:#f87171;}.thread-type-badge.acceptance.svelte-1fnmin5 {background:#10b98120;color:#34d399;}.thread-time.svelte-1fnmin5 {font-size:10px;color:#4b5563;margin-left:auto;}.thread-message.svelte-1fnmin5 {color:#d1d5db;line-height:1.5;margin:0;word-break:break-word;}.thread-summary.svelte-1fnmin5 {margin:4px 0 0 0;padding:0 0 0 16px;font-size:11px;color:#9ca3af;}.thread-summary.svelte-1fnmin5 li:where(.svelte-1fnmin5) {margin:1px 0;}.thread-screenshots.svelte-1fnmin5 {display:flex;gap:4px;margin-top:4px;}.thread-elements.svelte-1fnmin5 {display:flex;gap:3px;flex-wrap:wrap;margin-top:4px;}.element-badge.svelte-1fnmin5 {font-size:10px;font-family:'SF Mono', 'Fira Code', 'Consolas', monospace;padding:1px 5px;background:#1e293b;border:1px solid #334155;border-radius:3px;color:#94a3b8;}.element-badge.removable.svelte-1fnmin5 {display:inline-flex;align-items:center;gap:3px;}.element-remove.svelte-1fnmin5 {background:none;border:none;color:#6b7280;cursor:pointer;padding:0;font-size:12px;line-height:1;}.element-remove.svelte-1fnmin5:hover {color:#ef4444;}
|
|
68
119
|
|
|
69
|
-
/* Enhanced rejection form */.reject-attachments.svelte-1fnmin5 {display:flex;gap:6px;margin-top:6px;}.attach-btn.svelte-1fnmin5 {display:flex;align-items:center;gap:4px;padding:3px 8px;background:#111827;border:1px solid #374151;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:border-color 0.15s, color 0.15s;}.attach-btn.svelte-1fnmin5:hover:not(:disabled) {border-color:#60a5fa;color:#d1d5db;}.attach-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-preview-strip.svelte-1fnmin5 {display:flex;gap:4px;margin-top:6px;overflow-x:auto;}.reject-preview-item.svelte-1fnmin5 {position:relative;flex-shrink:0;width:52px;height:36px;border-radius:4px;overflow:hidden;border:1px solid #374151;}.reject-preview-item.svelte-1fnmin5 img:where(.svelte-1fnmin5) {width:100%;height:100%;object-fit:cover;display:block;}.reject-preview-remove.svelte-1fnmin5 {position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,0.7);color:#e5e7eb;border:none;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;}.reject-preview-remove.svelte-1fnmin5:hover {background:#ef4444;}.reject-element-strip.svelte-1fnmin5 {display:flex;gap:3px;flex-wrap:wrap;margin-top:6px;}.report-footer.svelte-1fnmin5 {display:flex;align-items:center;justify-content:space-between;margin-top:8px;}.report-time.svelte-1fnmin5 {font-size:11px;color:#6b7280;}.status-pill.svelte-1fnmin5 {font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;}.status-pill.accepted.svelte-1fnmin5 {color:#10b981;background:#10b98118;}.status-pill.rejected.svelte-1fnmin5 {color:#ef4444;background:#ef444418;}.response-actions.svelte-1fnmin5 {display:flex;gap:6px;}.accept-btn.svelte-1fnmin5, .reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid;font-family:inherit;transition:background 0.15s;}.accept-btn.svelte-1fnmin5 {background:#10b98118;color:#10b981;border-color:#10b98140;}.accept-btn.svelte-1fnmin5:hover:not(:disabled) {background:#10b98130;}.reject-btn.svelte-1fnmin5 {background:#ef444418;color:#ef4444;border-color:#ef444440;}.reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.accept-btn.svelte-1fnmin5:disabled, .reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-reason-form.svelte-1fnmin5 {width:100%;margin-top:6px;}.reject-reason-input.svelte-1fnmin5 {width:100%;padding:6px 8px;background:#111827;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:12px;font-family:inherit;resize:vertical;min-height:40px;}.reject-reason-input.svelte-1fnmin5:focus {outline:none;border-color:#ef4444;}.reject-reason-actions.svelte-1fnmin5 {display:flex;justify-content:flex-end;gap:6px;margin-top:6px;}.cancel-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #374151;background:#1f2937;color:#9ca3af;font-family:inherit;transition:background 0.15s;}.cancel-btn.svelte-1fnmin5:hover {background:#374151;}.confirm-reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #ef444440;background:#ef444418;color:#ef4444;font-family:inherit;transition:background 0.15s;}.confirm-reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.confirm-reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.char-hint.svelte-1fnmin5 {display:block;font-size:10px;color:#6b7280;margin-top:3px;}`};function RequestList(e,t){push(t,!0),append_styles(e,$$css$4);let n=prop(t,"endpoint",7),r=prop(t,"reports",31,()=>proxy([])),o=prop(t,"loading",7),s=prop(t,"error",7),i=prop(t,"onreload",7),a=state(null),l=state(null),c=state(null),u=state(void 0),d=state(""),f=state(""),v=state(""),_=state(proxy([])),y=state(proxy([])),h=state(!1),p=state("active"),b=state("all"),m=user_derived(()=>get(b)==="all"?r():r().filter(w=>(w.source||"feedback")===get(b))),$=user_derived(()=>get(p)==="active"?get(m).filter(w=>["submitted","in_progress","rejected","completed","wontfix"].includes(w.status)):get(m).filter(w=>w.status==="accepted"||w.status==="closed")),k=user_derived(()=>get(m).filter(w=>["submitted","in_progress","rejected","completed","wontfix"].includes(w.status)).length),N=user_derived(()=>get(m).filter(w=>w.status==="accepted"||w.status==="closed").length),O=user_derived(()=>r().filter(w=>(w.source||"feedback")==="feedback").length),F=user_derived(()=>r().filter(w=>w.source==="jat").length),ee=user_derived(()=>get(O)>0&&get(F)>0);function J(w){return w?w.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/^#{1,3} (.+)$/gm,'<strong style="display:block;margin-top:6px;color:#f3f4f6">$1</strong>').replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^[-*] (.+)$/gm,'<span style="display:block;padding-left:10px">• $1</span>').replace(/\n/g,"<br>"):""}function fe(w){const R=get(c)===w;set(c,R?null:w,!0),R?(get(l)===w&&set(l,null),set(a,null)):setTimeout(()=>{if(!get(u))return;const M=get(u).querySelector(`[data-card-id="${w}"]`);M&&M.scrollIntoView({behavior:"smooth",block:"nearest"})},220)}function ae(w){set(f,w,!0),set(v,""),set(_,[],!0),set(y,[],!0)}function Ee(){set(f,""),set(v,""),set(_,[],!0),set(y,[],!0)}async function _e(){if(!get(h)){set(h,!0);try{const w=await captureViewport();set(_,[...get(_),w],!0)}catch(w){console.error("Screenshot capture failed:",w)}set(h,!1)}}function ze(w){set(_,get(_).filter((R,M)=>M!==w),!0)}function we(){startElementPicker(w=>{set(y,[...get(y),{tagName:w.tagName,className:w.className,id:w.id,selector:w.selector,textContent:w.textContent}],!0)})}function xe(w){set(y,get(y).filter((R,M)=>M!==w),!0)}async function ke(w,R,M){set(d,w,!0);const Y=R==="rejected"?{screenshots:get(_).length>0?get(_):void 0,elements:get(y).length>0?get(y):void 0}:void 0;(await respondToReport(n(),w,R,M,Y)).ok?(r(r().map(q=>q.id===w?{...q,status:R==="rejected"?"submitted":"accepted",responded_at:new Date().toISOString(),...R==="rejected"?{revision_count:(q.revision_count||0)+1}:{}}:q)),set(f,""),set(v,""),set(_,[],!0),set(y,[],!0),i()()):set(f,""),set(d,"")}function g(w){set(l,get(l)===w?null:w,!0)}function E(w){return w?w.length:0}function S(w){return{submission:"Submitted",completion:"Completed",rejection:"Rejected",acceptance:"Accepted",note:"Note"}[w.type]||w.type}function I(w){return{submitted:"Submitted",in_progress:"Working On It",completed:"Ready for Review",accepted:"Done",rejected:"Revising",wontfix:"Won't Fix",closed:"Closed"}[w]||w}function P(w){return{submitted:"#6b7280",in_progress:"#3b82f6",completed:"#f59e0b",accepted:"#10b981",rejected:"#f59e0b",wontfix:"#6b7280",closed:"#6b7280"}[w]||"#6b7280"}function z(w){const R=w.issue_type||w.type;return R==="bug"?"🐛":R==="enhancement"||R==="feature"?"✨":R==="task"?"✅":R==="epic"?"🎯":"📝"}function U(w){const R=Date.now(),M=new Date(w).getTime(),Y=R-M,Z=Math.floor(Y/6e4);if(Z<1)return"just now";if(Z<60)return`${Z}m ago`;const q=Math.floor(Z/60);if(q<24)return`${q}h ago`;const G=Math.floor(q/24);return G<30?`${G}d ago`:new Date(w).toLocaleDateString()}var oe={get endpoint(){return n()},set endpoint(w){n(w),flushSync()},get reports(){return r()},set reports(w=[]){r(w),flushSync()},get loading(){return o()},set loading(w){o(w),flushSync()},get error(){return s()},set error(w){s(w),flushSync()},get onreload(){return i()},set onreload(w){i(w),flushSync()}},B=root$4(),te=child(B);{var K=w=>{var R=root_1$3(),M=child(R);let Y;var Z=sibling(child(M)),q=child(Z,!0);reset(Z),reset(M);var G=sibling(M,2);let $e;var ne=sibling(child(G)),ce=child(ne,!0);reset(ne),reset(G);var ye=sibling(G,2);let j;var Fe=sibling(child(ye)),ft=child(Fe,!0);reset(Fe),reset(ye),reset(R),template_effect(()=>{Y=set_class(M,1,"source-pill svelte-1fnmin5",null,Y,{active:get(b)==="all"}),set_text(q,r().length),$e=set_class(G,1,"source-pill svelte-1fnmin5",null,$e,{active:get(b)==="feedback"}),set_text(ce,get(O)),j=set_class(ye,1,"source-pill svelte-1fnmin5",null,j,{active:get(b)==="jat"}),set_text(ft,get(F))}),delegated("click",M,()=>set(b,"all")),delegated("click",G,()=>set(b,"feedback")),delegated("click",ye,()=>set(b,"jat")),append(w,R)};if_block(te,w=>{get(ee)&&w(K)})}var se=sibling(te,2),C=child(se);let L;var V=sibling(child(C));{var Q=w=>{var R=root_2$3(),M=child(R,!0);reset(R),template_effect(()=>set_text(M,get(k))),append(w,R)};if_block(V,w=>{get(k)>0&&w(Q)})}reset(C);var ue=sibling(C,2);let H;var W=sibling(child(ue));{var me=w=>{var R=root_3$2(),M=child(R,!0);reset(R),template_effect(()=>set_text(M,get(N))),append(w,R)};if_block(W,w=>{get(N)>0&&w(me)})}reset(ue),reset(se);var Ie=sibling(se,2),A=child(Ie);return key(A,()=>get(p),w=>{var R=root_4$2(),M=child(R);{var Y=ne=>{var ce=root_5$2();append(ne,ce)},Z=ne=>{var ce=root_6$3(),ye=child(ce),j=child(ye,!0);reset(ye);var Fe=sibling(ye,2);reset(ce),template_effect(()=>set_text(j,s())),delegated("click",Fe,function(...ft){var Ne;(Ne=i())==null||Ne.apply(this,ft)}),append(ne,ce)},q=ne=>{var ce=root_7$3(),ye=child(ce);ye.textContent="📋",next(4),reset(ce),append(ne,ce)},G=ne=>{var ce=root_8$3(),ye=child(ce),j=child(ye,!0);reset(ye),reset(ce),template_effect(()=>set_text(j,get(p)==="submitted"?"No submitted requests":get(p)==="review"?"Nothing to review right now":"No completed requests yet")),append(ne,ce)},$e=ne=>{var ce=root_9$2();each(ce,21,()=>get($),ye=>ye.id,(ye,j)=>{var Fe=root_10$2();let ft;var Ne=child(Fe),Be=child(Ne),Ve=child(Be,!0);reset(Be);var St=sibling(Be,2),kn=child(St,!0);reset(St);var Te=sibling(St,2),Oe=child(Te,!0);reset(Te);var pt=sibling(Te,2);let Wt;reset(Ne);var Ct=sibling(Ne,2);{var jn=rn=>{var zt=root_11$2(),gn=child(zt);{var En=ve=>{var be=root_12$2(),De=sibling(child(be),2),nt=child(De,!0);reset(De),reset(be),template_effect(At=>{set_attribute(be,"href",get(j).page_url),set_text(nt,At)},[()=>get(j).page_url.replace(/^https?:\/\//,"").split("?")[0]]),append(ve,be)};if_block(gn,ve=>{get(j).page_url&&ve(En)})}var Gt=sibling(gn,2);{var Un=ve=>{var be=root_13$2(),De=child(be);reset(be),template_effect(()=>set_text(De,`Revision ${get(j).revision_count??""}`)),append(ve,be)};if_block(Gt,ve=>{get(j).revision_count>0&&get(j).status!=="accepted"&&ve(Un)})}var $n=sibling(Gt,2);{var Yt=ve=>{var be=root_14$3(),De=first_child(be),nt=child(De);let At;var at=sibling(nt,2),Ke=child(at);reset(at),reset(De);var Ue=sibling(De,2);{var rt=Le=>{var vt=root_15$3();each(vt,21,()=>get(j).thread,Xt=>Xt.id,(Xt,Pe)=>{var Ut=root_16$3();let on;var sn=child(Ut),Bt=child(sn),_n=child(Bt,!0);reset(Bt);var x=sibling(Bt,2);let D;var ie=child(x,!0);reset(x);var le=sibling(x,2),Ze=child(le,!0);reset(le),reset(sn);var Se=sibling(sn,2),He=child(Se);html(He,()=>J(get(Pe).message)),reset(Se);var lt=sibling(Se,2);{var Je=he=>{var Ae=root_17$3();each(Ae,21,()=>get(Pe).summary,index,(ot,et)=>{var tt=root_18$2(),bt=child(tt,!0);reset(tt),template_effect(()=>set_text(bt,get(et))),append(ot,tt)}),reset(Ae),append(he,Ae)};if_block(lt,he=>{get(Pe).summary&&get(Pe).summary.length>0&&he(Je)})}var _t=sibling(lt,2);{var Qe=he=>{var Ae=root_19$2(),ot=first_child(Ae);each(ot,21,()=>get(Pe).screenshots,index,(bt,Rt,Vt)=>{var It=comment(),An=first_child(It);{var Ht=Nt=>{var Ot=root_21$2();set_attribute(Ot,"aria-label",`Screenshot ${Vt+1}`);var an=child(Ot);set_attribute(an,"alt",`Screenshot ${Vt+1}`),reset(Ot),template_effect(()=>set_attribute(an,"src",`${n()??""}${get(Rt).url??""}`)),delegated("click",Ot,()=>set(a,get(a)===get(Rt).url?null:get(Rt).url,!0)),append(Nt,Ot)};if_block(An,Nt=>{get(Rt).url&&Nt(Ht)})}append(bt,It)}),reset(ot);var et=sibling(ot,2);{var tt=bt=>{const Rt=user_derived(()=>get(Pe).screenshots.find(Ht=>Ht.url===get(a)));var Vt=comment(),It=first_child(Vt);{var An=Ht=>{var Nt=root_23$1(),Ot=child(Nt),an=sibling(Ot,2);reset(Nt),template_effect(()=>set_attribute(Ot,"src",`${n()??""}${get(a)??""}`)),delegated("click",an,()=>set(a,null)),append(Ht,Nt)};if_block(It,Ht=>{get(Rt)&&Ht(An)})}append(bt,Vt)};if_block(et,bt=>{get(a)&&bt(tt)})}append(he,Ae)};if_block(_t,he=>{get(Pe).screenshots&&get(Pe).screenshots.length>0&&he(Qe)})}var ct=sibling(_t,2);{var Ce=he=>{var Ae=root_24$1();each(Ae,21,()=>get(Pe).elements,index,(ot,et)=>{var tt=root_25$1(),bt=child(tt);reset(tt),template_effect((Rt,Vt)=>{set_attribute(tt,"title",get(et).selector),set_text(bt,`<${Rt??""}${get(et).id?`#${get(et).id}`:""}${Vt??""}>`)},[()=>get(et).tagName.toLowerCase(),()=>get(et).className?`.${get(et).className.split(" ")[0]}`:""]),append(ot,tt)}),reset(Ae),append(he,Ae)};if_block(ct,he=>{get(Pe).elements&&get(Pe).elements.length>0&&he(Ce)})}reset(Ut),template_effect((he,Ae)=>{on=set_class(Ut,1,"thread-entry svelte-1fnmin5",null,on,{"thread-user":get(Pe).from==="user","thread-dev":get(Pe).from==="dev"}),set_text(_n,get(Pe).from==="user"?"You":"Dev"),D=set_class(x,1,"thread-type-badge svelte-1fnmin5",null,D,{submission:get(Pe).type==="submission",completion:get(Pe).type==="completion",rejection:get(Pe).type==="rejection",acceptance:get(Pe).type==="acceptance"}),set_text(ie,he),set_text(Ze,Ae)},[()=>S(get(Pe)),()=>U(get(Pe).at)]),append(Xt,Ut)}),reset(vt),append(Le,vt)};if_block(Ue,Le=>{get(l)===get(j).id&&Le(rt)})}template_effect((Le,vt)=>{At=set_class(nt,0,"thread-toggle-icon svelte-1fnmin5",null,At,{expanded:get(l)===get(j).id}),set_text(Ke,`${Le??""} ${vt??""}`)},[()=>E(get(j).thread),()=>E(get(j).thread)===1?"message":"messages"]),delegated("click",De,()=>g(get(j).id)),append(ve,be)},Tn=ve=>{var be=root_26$1(),De=child(be,!0);reset(be),template_effect(nt=>set_text(De,nt),[()=>get(j).description.length>120?get(j).description.slice(0,120)+"...":get(j).description]),append(ve,be)};if_block($n,ve=>{get(j).thread&&get(j).thread.length>0?ve(Yt):get(j).description&&ve(Tn,1)})}var Sn=sibling($n,2);{var Bn=ve=>{var be=root_27$1(),De=first_child(be);each(De,21,()=>get(j).screenshot_urls,index,(Ke,Ue,rt)=>{var Le=root_28$1();set_attribute(Le,"aria-label",`Screenshot ${rt+1}`);var vt=child(Le);set_attribute(vt,"alt",`Screenshot ${rt+1}`),reset(Le),template_effect(()=>set_attribute(vt,"src",`${n()??""}${get(Ue)??""}`)),delegated("click",Le,()=>set(a,get(a)===get(Ue)?null:get(Ue),!0)),append(Ke,Le)}),reset(De);var nt=sibling(De,2);{var At=Ke=>{var Ue=root_29$1(),rt=child(Ue),Le=sibling(rt,2);reset(Ue),template_effect(()=>set_attribute(rt,"src",`${n()??""}${get(a)??""}`)),delegated("click",Le,()=>set(a,null)),append(Ke,Ue)},at=user_derived(()=>get(a)&&get(j).screenshot_urls.includes(get(a)));if_block(nt,Ke=>{get(at)&&Ke(At)})}append(ve,be)};if_block(Sn,ve=>{!get(j).thread&&get(j).screenshot_urls&&get(j).screenshot_urls.length>0&&ve(Bn)})}var vn=sibling(Sn,2);{var Cn=ve=>{var be=root_30$1(),De=sibling(child(be),2),nt=child(De);html(nt,()=>J(get(j).dev_notes)),reset(De),reset(be),append(ve,be)};if_block(vn,ve=>{get(j).dev_notes&&!get(j).thread&&get(j).status!=="in_progress"&&ve(Cn)})}var zn=sibling(vn,2),jt=child(zn),Mn=child(jt,!0);reset(jt);var Vn=sibling(jt,2);{var Hn=ve=>{var be=root_31$1();be.textContent="✓ Accepted",append(ve,be)},Pn=ve=>{var be=root_32$1();be.textContent="✗ Rejected",append(ve,be)},qn=ve=>{var be=comment(),De=first_child(be);{var nt=at=>{var Ke=root_34(),Ue=child(Ke);remove_textarea_child(Ue);var rt=sibling(Ue,2),Le=child(rt),vt=sibling(child(Le));reset(Le);var Xt=sibling(Le,2);reset(rt);var Pe=sibling(rt,2);{var Ut=Se=>{var He=root_35();each(He,21,()=>get(_),index,(lt,Je,_t)=>{var Qe=root_36(),ct=child(Qe);set_attribute(ct,"alt",`Screenshot ${_t+1}`);var Ce=sibling(ct,2);reset(Qe),template_effect(()=>set_attribute(ct,"src",get(Je))),delegated("click",Ce,()=>ze(_t)),append(lt,Qe)}),reset(He),append(Se,He)};if_block(Pe,Se=>{get(_).length>0&&Se(Ut)})}var on=sibling(Pe,2);{var sn=Se=>{var He=root_37();each(He,21,()=>get(y),index,(lt,Je,_t)=>{var Qe=root_38(),ct=child(Qe),Ce=sibling(ct);reset(Qe),template_effect(he=>set_text(ct,`<${he??""}${get(Je).id?`#${get(Je).id}`:""}> `),[()=>get(Je).tagName.toLowerCase()]),delegated("click",Ce,()=>xe(_t)),append(lt,Qe)}),reset(He),append(Se,He)};if_block(on,Se=>{get(y).length>0&&Se(sn)})}var Bt=sibling(on,2),_n=child(Bt),x=sibling(_n,2),D=child(x,!0);reset(x),reset(Bt);var ie=sibling(Bt,2);{var le=Se=>{var He=root_39(),lt=child(He);reset(He),template_effect(Je=>set_text(lt,`${Je??""} more characters needed`),[()=>10-get(v).trim().length]),append(Se,He)},Ze=user_derived(()=>get(v).trim().length>0&&get(v).trim().length<10);if_block(ie,Se=>{get(Ze)&&Se(le)})}reset(Ke),template_effect(Se=>{Le.disabled=get(h),set_text(vt,` ${get(h)?"...":"Screenshot"}`),x.disabled=Se,set_text(D,get(d)===get(j).id?"...":"✗ Reject")},[()=>get(v).trim().length<10||get(d)===get(j).id]),bind_value(Ue,()=>get(v),Se=>set(v,Se)),delegated("click",Le,_e),delegated("click",Xt,we),delegated("click",_n,Ee),delegated("click",x,()=>ke(get(j).id,"rejected",get(v).trim())),append(at,Ke)},At=at=>{var Ke=root_40(),Ue=child(Ke),rt=child(Ue,!0);reset(Ue);var Le=sibling(Ue,2);Le.textContent="✗ Reject",reset(Ke),template_effect(()=>{Ue.disabled=get(d)===get(j).id,set_text(rt,get(d)===get(j).id?"...":"✓ Accept"),Le.disabled=get(d)===get(j).id}),delegated("click",Ue,()=>ke(get(j).id,"accepted")),delegated("click",Le,()=>ae(get(j).id)),append(at,Ke)};if_block(De,at=>{get(f)===get(j).id?at(nt):at(At,!1)})}append(ve,be)};if_block(Vn,ve=>{get(j).status==="accepted"?ve(Hn):get(j).status==="rejected"?ve(Pn,1):(get(j).status==="completed"||get(j).status==="wontfix")&&ve(qn,2)})}reset(zn),reset(zt),template_effect(ve=>set_text(Mn,ve),[()=>U(get(j).created_at)]),transition(3,zt,()=>slide,()=>({duration:200})),append(rn,zt)};if_block(Ct,rn=>{get(c)===get(j).id&&rn(jn)})}reset(Fe),template_effect((rn,zt,gn,En,Gt)=>{ft=set_class(Fe,1,"report-card svelte-1fnmin5",null,ft,{awaiting:get(j).status==="completed",expanded:get(c)===get(j).id}),set_attribute(Fe,"data-card-id",get(j).id),set_text(Ve,rn),set_text(kn,get(j).title),set_style(Te,`background: ${zt??""}20; color: ${gn??""}; border-color: ${En??""}40;`),set_text(Oe,Gt),Wt=set_class(pt,0,"chevron svelte-1fnmin5",null,Wt,{"chevron-open":get(c)===get(j).id})},[()=>z(get(j)),()=>P(get(j).status),()=>P(get(j).status),()=>P(get(j).status),()=>I(get(j).status)]),delegated("click",Ne,()=>fe(get(j).id)),append(ye,Fe)}),reset(ce),append(ne,ce)};if_block(M,ne=>{o()?ne(Y):s()&&r().length===0?ne(Z,1):r().length===0?ne(q,2):get($).length===0?ne(G,3):ne($e,!1)})}reset(R),transition(3,R,()=>slide,()=>({duration:200})),append(w,R)}),reset(Ie),bind_this(Ie,w=>set(u,w),()=>get(u)),reset(B),template_effect(()=>{L=set_class(C,1,"subtab svelte-1fnmin5",null,L,{active:get(p)==="active"}),H=set_class(ue,1,"subtab svelte-1fnmin5",null,H,{active:get(p)==="done"})}),delegated("click",C,()=>set(p,"active")),delegated("click",ue,()=>set(p,"done")),append(e,B),pop(oe)}delegate(["click"]),create_custom_element(RequestList,{endpoint:{},reports:{},loading:{},error:{},onreload:{}},[],[],{mode:"open"});var root_6$2=from_html('<span class="step-counter svelte-bez0nz"> </span>'),root_7$2=from_html('<div class="empty-state svelte-bez0nz"><div class="empty-icon svelte-bez0nz"><svg width="32" height="32" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="currentColor" opacity="0.3" class="svelte-bez0nz"></path><path d="M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none" class="svelte-bez0nz"></path></svg></div> <p class="empty-text svelte-bez0nz">Tell the agent what to do on this page</p> <p class="empty-hint svelte-bez0nz">e.g. "Fill in the contact form" or "Click the sign up button"</p></div>'),root_14$2=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_15$2=from_html('<div class="approval-buttons svelte-bez0nz"><button class="approve-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M20 6L9 17l-5-5" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg> Approve</button> <button class="skip-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M5 5l14 14M19 5L5 19" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-bez0nz"></path></svg> Skip</button></div>'),root_16$2=from_html("<span> </span>"),root_17$2=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_10$1=from_html('<div><span class="msg-icon svelte-bez0nz"><!></span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_19$1=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_20$1=from_html('<span class="msg-duration svelte-bez0nz"> </span>'),root_21$1=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_18$1=from_html('<div><span class="msg-icon svelte-bez0nz"> </span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_22$1=from_html('<div class="message msg-thinking live svelte-bez0nz"><span class="msg-icon svelte-bez0nz">…</span> <div class="msg-body svelte-bez0nz"><span class="thinking-dots svelte-bez0nz"><span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span></span></div></div>'),root_8$2=from_html("<!> <!>",1),root_23=from_html('<button class="stop-btn svelte-bez0nz" aria-label="Stop agent"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class="svelte-bez0nz"><rect x="6" y="6" width="12" height="12" rx="1" class="svelte-bez0nz"></rect></svg> Stop</button>'),root$3=from_html('<div class="agent-panel svelte-bez0nz"><div class="status-bar svelte-bez0nz"><div><span class="status-dot svelte-bez0nz"></span> <span class="status-text svelte-bez0nz"><!></span></div> <div class="status-right svelte-bez0nz"><!> <label class="auto-approve-toggle svelte-bez0nz" title="Auto-approve all actions"><input type="checkbox" class="svelte-bez0nz"/> <span class="toggle-label svelte-bez0nz">Auto</span></label></div></div> <div class="messages svelte-bez0nz"><!></div> <div class="input-area svelte-bez0nz"><!> <div class="input-row svelte-bez0nz"><input type="text" class="chat-input svelte-bez0nz"/> <button class="send-btn svelte-bez0nz" aria-label="Send"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg></button></div></div></div>');const $$css$3={hash:"svelte-bez0nz",code:`.agent-panel.svelte-bez0nz {display:flex;flex-direction:column;height:100%;min-height:0;font-family:inherit;color:#e5e7eb;}
|
|
120
|
+
/* Enhanced rejection form */.reject-attachments.svelte-1fnmin5 {display:flex;gap:6px;margin-top:6px;}.attach-btn.svelte-1fnmin5 {display:flex;align-items:center;gap:4px;padding:3px 8px;background:#111827;border:1px solid #374151;border-radius:4px;color:#9ca3af;font-size:11px;cursor:pointer;font-family:inherit;transition:border-color 0.15s, color 0.15s;}.attach-btn.svelte-1fnmin5:hover:not(:disabled) {border-color:#60a5fa;color:#d1d5db;}.attach-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-preview-strip.svelte-1fnmin5 {display:flex;gap:4px;margin-top:6px;overflow-x:auto;}.reject-preview-item.svelte-1fnmin5 {position:relative;flex-shrink:0;width:52px;height:36px;border-radius:4px;overflow:hidden;border:1px solid #374151;}.reject-preview-item.svelte-1fnmin5 img:where(.svelte-1fnmin5) {width:100%;height:100%;object-fit:cover;display:block;}.reject-preview-remove.svelte-1fnmin5 {position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,0.7);color:#e5e7eb;border:none;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;}.reject-preview-remove.svelte-1fnmin5:hover {background:#ef4444;}.reject-element-strip.svelte-1fnmin5 {display:flex;gap:3px;flex-wrap:wrap;margin-top:6px;}.report-footer.svelte-1fnmin5 {display:flex;align-items:center;justify-content:space-between;margin-top:8px;}.report-time.svelte-1fnmin5 {font-size:11px;color:#6b7280;}.status-pill.svelte-1fnmin5 {font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;}.status-pill.accepted.svelte-1fnmin5 {color:#10b981;background:#10b98118;}.status-pill.rejected.svelte-1fnmin5 {color:#ef4444;background:#ef444418;}.response-actions.svelte-1fnmin5 {display:flex;gap:6px;}.accept-btn.svelte-1fnmin5, .reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid;font-family:inherit;transition:background 0.15s;}.accept-btn.svelte-1fnmin5 {background:#10b98118;color:#10b981;border-color:#10b98140;}.accept-btn.svelte-1fnmin5:hover:not(:disabled) {background:#10b98130;}.reject-btn.svelte-1fnmin5 {background:#ef444418;color:#ef4444;border-color:#ef444440;}.reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.accept-btn.svelte-1fnmin5:disabled, .reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.reject-reason-form.svelte-1fnmin5 {width:100%;margin-top:6px;}.reject-reason-input.svelte-1fnmin5 {width:100%;padding:6px 8px;background:#111827;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:12px;font-family:inherit;resize:vertical;min-height:40px;}.reject-reason-input.svelte-1fnmin5:focus {outline:none;border-color:#ef4444;}.reject-reason-actions.svelte-1fnmin5 {display:flex;justify-content:flex-end;gap:6px;margin-top:6px;}.cancel-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #374151;background:#1f2937;color:#9ca3af;font-family:inherit;transition:background 0.15s;}.cancel-btn.svelte-1fnmin5:hover {background:#374151;}.confirm-reject-btn.svelte-1fnmin5 {padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid #ef444440;background:#ef444418;color:#ef4444;font-family:inherit;transition:background 0.15s;}.confirm-reject-btn.svelte-1fnmin5:hover:not(:disabled) {background:#ef444430;}.confirm-reject-btn.svelte-1fnmin5:disabled {opacity:0.5;cursor:not-allowed;}.char-hint.svelte-1fnmin5 {display:block;font-size:10px;color:#6b7280;margin-top:3px;}`};function RequestList(d,p){push(p,!0),append_styles(d,$$css$4);let h=prop(p,"endpoint",7),g=prop(p,"reports",31,()=>proxy([])),m=prop(p,"loading",7),_=prop(p,"error",7),b=prop(p,"onreload",7),y=state(null),w=state(null),x=state(null),E=state(void 0),S=state(""),k=state(""),I=state(""),A=state(proxy([])),M=state(proxy([])),R=state(!1),C=state("active"),N=state("all"),$=user_derived(()=>get(N)==="all"?g():g().filter(D=>(D.source||"feedback")===get(N))),O=user_derived(()=>get(C)==="active"?get($).filter(D=>["submitted","in_progress","rejected","completed","wontfix"].includes(D.status)):get($).filter(D=>D.status==="accepted"||D.status==="closed")),F=user_derived(()=>get($).filter(D=>["submitted","in_progress","rejected","completed","wontfix"].includes(D.status)).length),j=user_derived(()=>get($).filter(D=>D.status==="accepted"||D.status==="closed").length),Y=user_derived(()=>g().filter(D=>(D.source||"feedback")==="feedback").length),q=user_derived(()=>g().filter(D=>D.source==="jat").length),de=user_derived(()=>get(Y)>0&&get(q)>0);function oe(D){return D?D.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/^#{1,3} (.+)$/gm,'<strong style="display:block;margin-top:6px;color:#f3f4f6">$1</strong>').replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^[-*] (.+)$/gm,'<span style="display:block;padding-left:10px">• $1</span>').replace(/\n/g,"<br>"):""}function ce(D){const H=get(x)===D;set(x,H?null:D,!0),H?(get(w)===D&&set(w,null),set(y,null)):setTimeout(()=>{if(!get(E))return;const X=get(E).querySelector(`[data-card-id="${D}"]`);X&&X.scrollIntoView({behavior:"smooth",block:"nearest"})},220)}function se(D){set(k,D,!0),set(I,""),set(A,[],!0),set(M,[],!0)}function ye(){set(k,""),set(I,""),set(A,[],!0),set(M,[],!0)}async function ve(){if(!get(R)){set(R,!0);try{const D=await captureViewport();set(A,[...get(A),D],!0)}catch(D){console.error("Screenshot capture failed:",D)}set(R,!1)}}function Te(D){set(A,get(A).filter((H,X)=>X!==D),!0)}function Ee(){startElementPicker(D=>{set(M,[...get(M),{tagName:D.tagName,className:D.className,id:D.id,selector:D.selector,textContent:D.textContent}],!0)})}function me(D){set(M,get(M).filter((H,X)=>X!==D),!0)}async function Se(D,H,X){set(S,D,!0);const fe=H==="rejected"?{screenshots:get(A).length>0?get(A):void 0,elements:get(M).length>0?get(M):void 0}:void 0;(await respondToReport(h(),D,H,X,fe)).ok?(g(g().map(ue=>ue.id===D?{...ue,status:H==="rejected"?"submitted":"accepted",responded_at:new Date().toISOString(),...H==="rejected"?{revision_count:(ue.revision_count||0)+1}:{}}:ue)),set(k,""),set(I,""),set(A,[],!0),set(M,[],!0),b()()):set(k,""),set(S,"")}function T(D){set(w,get(w)===D?null:D,!0)}function z(D){return D?D.length:0}function L(D){return{submission:"Submitted",completion:"Completed",rejection:"Rejected",acceptance:"Accepted",note:"Note"}[D.type]||D.type}function P(D){return{submitted:"Submitted",in_progress:"Working On It",completed:"Ready for Review",accepted:"Done",rejected:"Revising",wontfix:"Won't Fix",closed:"Closed"}[D]||D}function G(D){return{submitted:"#6b7280",in_progress:"#3b82f6",completed:"#f59e0b",accepted:"#10b981",rejected:"#f59e0b",wontfix:"#6b7280",closed:"#6b7280"}[D]||"#6b7280"}function W(D){const H=D.issue_type||D.type;return H==="bug"?"🐛":H==="enhancement"||H==="feature"?"✨":H==="task"?"✅":H==="epic"?"🎯":"📝"}function ie(D){const H=Date.now(),X=new Date(D).getTime(),fe=H-X,Q=Math.floor(fe/6e4);if(Q<1)return"just now";if(Q<60)return`${Q}m ago`;const ue=Math.floor(Q/60);if(ue<24)return`${ue}h ago`;const be=Math.floor(ue/24);return be<30?`${be}d ago`:new Date(D).toLocaleDateString()}var J={get endpoint(){return h()},set endpoint(D){h(D),flushSync()},get reports(){return g()},set reports(D=[]){g(D),flushSync()},get loading(){return m()},set loading(D){m(D),flushSync()},get error(){return _()},set error(D){_(D),flushSync()},get onreload(){return b()},set onreload(D){b(D),flushSync()}},ne=root$4(),ge=child(ne);{var ee=D=>{var H=root_1$3(),X=child(H);let fe;var Q=sibling(child(X)),ue=child(Q,!0);reset(Q),reset(X);var be=sibling(X,2);let Ue;var Ce=sibling(child(be)),Ze=child(Ce,!0);reset(Ce),reset(be);var Le=sibling(be,2);let te;var Xe=sibling(child(Le)),ot=child(Xe,!0);reset(Xe),reset(Le),reset(H),template_effect(()=>{fe=set_class(X,1,"source-pill svelte-1fnmin5",null,fe,{active:get(N)==="all"}),set_text(ue,g().length),Ue=set_class(be,1,"source-pill svelte-1fnmin5",null,Ue,{active:get(N)==="feedback"}),set_text(Ze,get(Y)),te=set_class(Le,1,"source-pill svelte-1fnmin5",null,te,{active:get(N)==="jat"}),set_text(ot,get(q))}),delegated("click",X,()=>set(N,"all")),delegated("click",be,()=>set(N,"feedback")),delegated("click",Le,()=>set(N,"jat")),append(D,H)};if_block(ge,D=>{get(de)&&D(ee)})}var he=sibling(ge,2),B=child(he);let K;var pe=sibling(child(B));{var le=D=>{var H=root_2$3(),X=child(H,!0);reset(H),template_effect(()=>set_text(X,get(F))),append(D,H)};if_block(pe,D=>{get(F)>0&&D(le)})}reset(B);var we=sibling(B,2);let ze;var xe=sibling(child(we));{var Ve=D=>{var H=root_3$2(),X=child(H,!0);reset(H),template_effect(()=>set_text(X,get(j))),append(D,H)};if_block(xe,D=>{get(j)>0&&D(Ve)})}reset(we),reset(he);var ae=sibling(he,2),V=child(ae);return key(V,()=>get(C),D=>{var H=root_4$2(),X=child(H);{var fe=Ce=>{var Ze=root_5$2();append(Ce,Ze)},Q=Ce=>{var Ze=root_6$3(),Le=child(Ze),te=child(Le,!0);reset(Le);var Xe=sibling(Le,2);reset(Ze),template_effect(()=>set_text(te,_())),delegated("click",Xe,function(...ot){var We;(We=b())==null||We.apply(this,ot)}),append(Ce,Ze)},ue=Ce=>{var Ze=root_7$3(),Le=child(Ze);Le.textContent="📋",next(4),reset(Ze),append(Ce,Ze)},be=Ce=>{var Ze=root_8$3(),Le=child(Ze),te=child(Le,!0);reset(Le),reset(Ze),template_effect(()=>set_text(te,get(C)==="submitted"?"No submitted requests":get(C)==="review"?"Nothing to review right now":"No completed requests yet")),append(Ce,Ze)},Ue=Ce=>{var Ze=root_9$2();each(Ze,21,()=>get(O),Le=>Le.id,(Le,te)=>{var Xe=root_10$2();let ot;var We=child(Xe),st=child(We),Nt=child(st,!0);reset(st);var Bt=sibling(st,2),Tn=child(Bt,!0);reset(Bt);var je=sibling(Bt,2),Fe=child(je,!0);reset(je);var wt=sibling(je,2);let sn;reset(We);var Jt=sibling(We,2);{var ar=mn=>{var an=root_11$2(),vn=child(an);{var Zn=$e=>{var Pe=root_12$2(),qe=sibling(child(Pe),2),pt=child(qe,!0);reset(qe),reset(Pe),template_effect(Ct=>{set_attribute(Pe,"href",get(te).page_url),set_text(pt,Ct)},[()=>get(te).page_url.replace(/^https?:\/\//,"").split("?")[0]]),append($e,Pe)};if_block(vn,$e=>{get(te).page_url&&$e(Zn)})}var An=sibling(vn,2);{var Bn=$e=>{var Pe=root_13$2(),qe=child(Pe);reset(Pe),template_effect(()=>set_text(qe,`Revision ${get(te).revision_count??""}`)),append($e,Pe)};if_block(An,$e=>{get(te).revision_count>0&&get(te).status!=="accepted"&&$e(Bn)})}var Xn=sibling(An,2);{var lr=$e=>{var Pe=root_14$3(),qe=first_child(Pe),pt=child(qe);let Ct;var ct=sibling(pt,2),tt=child(ct);reset(ct),reset(qe);var Je=sibling(qe,2);{var ht=Qe=>{var It=root_15$3();each(It,21,()=>get(te).thread,bn=>bn.id,(bn,Ye)=>{var ln=root_16$3();let cn;var yn=child(ln),en=child(yn),$n=child(en,!0);reset(en);var Mt=sibling(en,2);let Z;var re=child(Mt,!0);reset(Mt);var Ie=sibling(Mt,2),Ae=child(Ie,!0);reset(Ie),reset(yn);var Ne=sibling(yn,2),Ge=child(Ne);html(Ge,()=>oe(get(Ye).message)),reset(Ne);var gt=sibling(Ne,2);{var vt=Oe=>{var Be=root_17$3();each(Be,21,()=>get(Ye).summary,index,(rt,dt)=>{var mt=root_18$2(),bt=child(mt,!0);reset(mt),template_effect(()=>set_text(bt,get(dt))),append(rt,mt)}),reset(Be),append(Oe,Be)};if_block(gt,Oe=>{get(Ye).summary&&get(Ye).summary.length>0&&Oe(vt)})}var xt=sibling(gt,2);{var Et=Oe=>{var Be=root_19$2(),rt=first_child(Be);each(rt,21,()=>get(Ye).screenshots,index,(bt,Ut,tn)=>{var Mn=comment(),jt=first_child(Mn);{var Wt=nn=>{var Vt=root_21$2();set_attribute(Vt,"aria-label",`Screenshot ${tn+1}`);var zn=child(Vt);set_attribute(zn,"alt",`Screenshot ${tn+1}`),reset(Vt),template_effect(()=>set_attribute(zn,"src",`${h()??""}${get(Ut).url??""}`)),delegated("click",Vt,()=>set(y,get(y)===get(Ut).url?null:get(Ut).url,!0)),append(nn,Vt)};if_block(jt,nn=>{get(Ut).url&&nn(Wt)})}append(bt,Mn)}),reset(rt);var dt=sibling(rt,2);{var mt=bt=>{const Ut=user_derived(()=>get(Ye).screenshots.find(Wt=>Wt.url===get(y)));var tn=comment(),Mn=first_child(tn);{var jt=Wt=>{var nn=root_23$2(),Vt=child(nn),zn=sibling(Vt,2);reset(nn),template_effect(()=>set_attribute(Vt,"src",`${h()??""}${get(y)??""}`)),delegated("click",zn,()=>set(y,null)),append(Wt,nn)};if_block(Mn,Wt=>{get(Ut)&&Wt(jt)})}append(bt,tn)};if_block(dt,bt=>{get(y)&&bt(mt)})}append(Oe,Be)};if_block(xt,Oe=>{get(Ye).screenshots&&get(Ye).screenshots.length>0&&Oe(Et)})}var _t=sibling(xt,2);{var zt=Oe=>{var Be=root_24$1();each(Be,21,()=>get(Ye).elements,index,(rt,dt)=>{var mt=root_25$1(),bt=child(mt);reset(mt),template_effect((Ut,tn)=>{set_attribute(mt,"title",get(dt).selector),set_text(bt,`<${Ut??""}${get(dt).id?`#${get(dt).id}`:""}${tn??""}>`)},[()=>get(dt).tagName.toLowerCase(),()=>get(dt).className?`.${get(dt).className.split(" ")[0]}`:""]),append(rt,mt)}),reset(Be),append(Oe,Be)};if_block(_t,Oe=>{get(Ye).elements&&get(Ye).elements.length>0&&Oe(zt)})}reset(ln),template_effect((Oe,Be)=>{cn=set_class(ln,1,"thread-entry svelte-1fnmin5",null,cn,{"thread-user":get(Ye).from==="user","thread-dev":get(Ye).from==="dev"}),set_text($n,get(Ye).from==="user"?"You":"Dev"),Z=set_class(Mt,1,"thread-type-badge svelte-1fnmin5",null,Z,{submission:get(Ye).type==="submission",completion:get(Ye).type==="completion",rejection:get(Ye).type==="rejection",acceptance:get(Ye).type==="acceptance"}),set_text(re,Oe),set_text(Ae,Be)},[()=>L(get(Ye)),()=>ie(get(Ye).at)]),append(bn,ln)}),reset(It),append(Qe,It)};if_block(Je,Qe=>{get(w)===get(te).id&&Qe(ht)})}template_effect((Qe,It)=>{Ct=set_class(pt,0,"thread-toggle-icon svelte-1fnmin5",null,Ct,{expanded:get(w)===get(te).id}),set_text(tt,`${Qe??""} ${It??""}`)},[()=>z(get(te).thread),()=>z(get(te).thread)===1?"message":"messages"]),delegated("click",qe,()=>T(get(te).id)),append($e,Pe)},Un=$e=>{var Pe=root_26(),qe=child(Pe,!0);reset(Pe),template_effect(pt=>set_text(qe,pt),[()=>get(te).description.length>120?get(te).description.slice(0,120)+"...":get(te).description]),append($e,Pe)};if_block(Xn,$e=>{get(te).thread&&get(te).thread.length>0?$e(lr):get(te).description&&$e(Un,1)})}var Jn=sibling(Xn,2);{var Qn=$e=>{var Pe=root_27$1(),qe=first_child(Pe);each(qe,21,()=>get(te).screenshot_urls,index,(tt,Je,ht)=>{var Qe=root_28$1();set_attribute(Qe,"aria-label",`Screenshot ${ht+1}`);var It=child(Qe);set_attribute(It,"alt",`Screenshot ${ht+1}`),reset(Qe),template_effect(()=>set_attribute(It,"src",`${h()??""}${get(Je)??""}`)),delegated("click",Qe,()=>set(y,get(y)===get(Je)?null:get(Je),!0)),append(tt,Qe)}),reset(qe);var pt=sibling(qe,2);{var Ct=tt=>{var Je=root_29$1(),ht=child(Je),Qe=sibling(ht,2);reset(Je),template_effect(()=>set_attribute(ht,"src",`${h()??""}${get(y)??""}`)),delegated("click",Qe,()=>set(y,null)),append(tt,Je)},ct=user_derived(()=>get(y)&&get(te).screenshot_urls.includes(get(y)));if_block(pt,tt=>{get(ct)&&tt(Ct)})}append($e,Pe)};if_block(Jn,$e=>{!get(te).thread&&get(te).screenshot_urls&&get(te).screenshot_urls.length>0&&$e(Qn)})}var Qt=sibling(Jn,2);{var jn=$e=>{const Pe=user_derived(()=>{var ct,tt;return get(te).recording_url??((tt=(ct=get(te).thread)==null?void 0:ct.find(Je=>Je.recordingUrl))==null?void 0:tt.recordingUrl)??null});var qe=comment(),pt=first_child(qe);{var Ct=ct=>{{let tt=user_derived(()=>get(te).console_logs??null),Je=user_derived(()=>get(te).network_requests??null);TimelineViewer(ct,{get recordingUrl(){return get(Pe)},get endpoint(){return h()},get consoleLogs(){return get(tt)},get networkRequests(){return get(Je)}})}};if_block(pt,ct=>{get(Pe)&&ct(Ct)})}append($e,qe)},er=user_derived(()=>get(te).recording_url||get(te).thread&&get(te).thread.some($e=>$e.recordingUrl));if_block(Qt,$e=>{get(er)&&$e(jn)})}var tr=sibling(Qt,2);{var Wn=$e=>{var Pe=root_32$1(),qe=sibling(child(Pe),2),pt=child(qe);html(pt,()=>oe(get(te).dev_notes)),reset(qe),reset(Pe),append($e,Pe)};if_block(tr,$e=>{get(te).dev_notes&&!get(te).thread&&get(te).status!=="in_progress"&&$e(Wn)})}var Rn=sibling(tr,2),Nn=child(Rn),_n=child(Nn,!0);reset(Nn);var nr=sibling(Nn,2);{var cr=$e=>{var Pe=root_33$1();Pe.textContent="✓ Accepted",append($e,Pe)},ur=$e=>{var Pe=root_34$1();Pe.textContent="✗ Rejected",append($e,Pe)},rr=$e=>{var Pe=comment(),qe=first_child(Pe);{var pt=ct=>{var tt=root_36$1(),Je=child(tt);remove_textarea_child(Je);var ht=sibling(Je,2),Qe=child(ht),It=sibling(child(Qe));reset(Qe);var bn=sibling(Qe,2);reset(ht);var Ye=sibling(ht,2);{var ln=Ne=>{var Ge=root_37();each(Ge,21,()=>get(A),index,(gt,vt,xt)=>{var Et=root_38(),_t=child(Et);set_attribute(_t,"alt",`Screenshot ${xt+1}`);var zt=sibling(_t,2);reset(Et),template_effect(()=>set_attribute(_t,"src",get(vt))),delegated("click",zt,()=>Te(xt)),append(gt,Et)}),reset(Ge),append(Ne,Ge)};if_block(Ye,Ne=>{get(A).length>0&&Ne(ln)})}var cn=sibling(Ye,2);{var yn=Ne=>{var Ge=root_39();each(Ge,21,()=>get(M),index,(gt,vt,xt)=>{var Et=root_40(),_t=child(Et),zt=sibling(_t);reset(Et),template_effect(Oe=>set_text(_t,`<${Oe??""}${get(vt).id?`#${get(vt).id}`:""}> `),[()=>get(vt).tagName.toLowerCase()]),delegated("click",zt,()=>me(xt)),append(gt,Et)}),reset(Ge),append(Ne,Ge)};if_block(cn,Ne=>{get(M).length>0&&Ne(yn)})}var en=sibling(cn,2),$n=child(en),Mt=sibling($n,2),Z=child(Mt,!0);reset(Mt),reset(en);var re=sibling(en,2);{var Ie=Ne=>{var Ge=root_41(),gt=child(Ge);reset(Ge),template_effect(vt=>set_text(gt,`${vt??""} more characters needed`),[()=>10-get(I).trim().length]),append(Ne,Ge)},Ae=user_derived(()=>get(I).trim().length>0&&get(I).trim().length<10);if_block(re,Ne=>{get(Ae)&&Ne(Ie)})}reset(tt),template_effect(Ne=>{Qe.disabled=get(R),set_text(It,` ${get(R)?"...":"Screenshot"}`),Mt.disabled=Ne,set_text(Z,get(S)===get(te).id?"...":"✗ Reject")},[()=>get(I).trim().length<10||get(S)===get(te).id]),bind_value(Je,()=>get(I),Ne=>set(I,Ne)),delegated("click",Qe,ve),delegated("click",bn,Ee),delegated("click",$n,ye),delegated("click",Mt,()=>Se(get(te).id,"rejected",get(I).trim())),append(ct,tt)},Ct=ct=>{var tt=root_42(),Je=child(tt),ht=child(Je,!0);reset(Je);var Qe=sibling(Je,2);Qe.textContent="✗ Reject",reset(tt),template_effect(()=>{Je.disabled=get(S)===get(te).id,set_text(ht,get(S)===get(te).id?"...":"✓ Accept"),Qe.disabled=get(S)===get(te).id}),delegated("click",Je,()=>Se(get(te).id,"accepted")),delegated("click",Qe,()=>se(get(te).id)),append(ct,tt)};if_block(qe,ct=>{get(k)===get(te).id?ct(pt):ct(Ct,!1)})}append($e,Pe)};if_block(nr,$e=>{get(te).status==="accepted"?$e(cr):get(te).status==="rejected"?$e(ur,1):(get(te).status==="completed"||get(te).status==="wontfix")&&$e(rr,2)})}reset(Rn),reset(an),template_effect($e=>set_text(_n,$e),[()=>ie(get(te).created_at)]),transition(3,an,()=>slide,()=>({duration:200})),append(mn,an)};if_block(Jt,mn=>{get(x)===get(te).id&&mn(ar)})}reset(Xe),template_effect((mn,an,vn,Zn,An)=>{ot=set_class(Xe,1,"report-card svelte-1fnmin5",null,ot,{awaiting:get(te).status==="completed",expanded:get(x)===get(te).id}),set_attribute(Xe,"data-card-id",get(te).id),set_text(Nt,mn),set_text(Tn,get(te).title),set_style(je,`background: ${an??""}20; color: ${vn??""}; border-color: ${Zn??""}40;`),set_text(Fe,An),sn=set_class(wt,0,"chevron svelte-1fnmin5",null,sn,{"chevron-open":get(x)===get(te).id})},[()=>W(get(te)),()=>G(get(te).status),()=>G(get(te).status),()=>G(get(te).status),()=>P(get(te).status)]),delegated("click",We,()=>ce(get(te).id)),append(Le,Xe)}),reset(Ze),append(Ce,Ze)};if_block(X,Ce=>{m()?Ce(fe):_()&&g().length===0?Ce(Q,1):g().length===0?Ce(ue,2):get(O).length===0?Ce(be,3):Ce(Ue,!1)})}reset(H),transition(3,H,()=>slide,()=>({duration:200})),append(D,H)}),reset(ae),bind_this(ae,D=>set(E,D),()=>get(E)),reset(ne),template_effect(()=>{K=set_class(B,1,"subtab svelte-1fnmin5",null,K,{active:get(C)==="active"}),ze=set_class(we,1,"subtab svelte-1fnmin5",null,ze,{active:get(C)==="done"})}),delegated("click",B,()=>set(C,"active")),delegated("click",we,()=>set(C,"done")),append(d,ne),pop(J)}delegate(["click"]),create_custom_element(RequestList,{endpoint:{},reports:{},loading:{},error:{},onreload:{}},[],[],{mode:"open"});var root_6$2=from_html('<span class="step-counter svelte-bez0nz"> </span>'),root_7$2=from_html('<div class="empty-state svelte-bez0nz"><div class="empty-icon svelte-bez0nz"><svg width="32" height="32" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="currentColor" opacity="0.3" class="svelte-bez0nz"></path><path d="M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none" class="svelte-bez0nz"></path></svg></div> <p class="empty-text svelte-bez0nz">Tell the agent what to do on this page</p> <p class="empty-hint svelte-bez0nz">e.g. "Fill in the contact form" or "Click the sign up button"</p></div>'),root_14$2=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_15$2=from_html('<div class="approval-buttons svelte-bez0nz"><button class="approve-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M20 6L9 17l-5-5" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg> Approve</button> <button class="skip-btn svelte-bez0nz"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M5 5l14 14M19 5L5 19" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-bez0nz"></path></svg> Skip</button></div>'),root_16$2=from_html("<span> </span>"),root_17$2=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_10$1=from_html('<div><span class="msg-icon svelte-bez0nz"><!></span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_19$1=from_html('<span class="msg-tool svelte-bez0nz"> </span>'),root_20$1=from_html('<span class="msg-duration svelte-bez0nz"> </span>'),root_21$1=from_html('<span class="msg-step svelte-bez0nz"> </span>'),root_18$1=from_html('<div><span class="msg-icon svelte-bez0nz"> </span> <div class="msg-body svelte-bez0nz"><!> <span class="msg-text svelte-bez0nz"> </span> <!></div> <!></div>'),root_22$1=from_html('<div class="message msg-thinking live svelte-bez0nz"><span class="msg-icon svelte-bez0nz">…</span> <div class="msg-body svelte-bez0nz"><span class="thinking-dots svelte-bez0nz"><span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span> <span class="dot svelte-bez0nz"></span></span></div></div>'),root_8$2=from_html("<!> <!>",1),root_23$1=from_html('<button class="stop-btn svelte-bez0nz" aria-label="Stop agent"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" class="svelte-bez0nz"><rect x="6" y="6" width="12" height="12" rx="1" class="svelte-bez0nz"></rect></svg> Stop</button>'),root$3=from_html('<div class="agent-panel svelte-bez0nz"><div class="status-bar svelte-bez0nz"><div><span class="status-dot svelte-bez0nz"></span> <span class="status-text svelte-bez0nz"><!></span></div> <div class="status-right svelte-bez0nz"><!> <label class="auto-approve-toggle svelte-bez0nz" title="Auto-approve all actions"><input type="checkbox" class="svelte-bez0nz"/> <span class="toggle-label svelte-bez0nz">Auto</span></label></div></div> <div class="messages svelte-bez0nz"><!></div> <div class="input-area svelte-bez0nz"><!> <div class="input-row svelte-bez0nz"><input type="text" class="chat-input svelte-bez0nz"/> <button class="send-btn svelte-bez0nz" aria-label="Send"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" class="svelte-bez0nz"><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-bez0nz"></path></svg></button></div></div></div>');const $$css$3={hash:"svelte-bez0nz",code:`.agent-panel.svelte-bez0nz {display:flex;flex-direction:column;height:100%;min-height:0;font-family:inherit;color:#e5e7eb;}
|
|
70
121
|
|
|
71
122
|
/* Status bar */.status-bar.svelte-bez0nz {display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #1f2937;flex-shrink:0;}.status-indicator.svelte-bez0nz {display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;}.status-dot.svelte-bez0nz {width:7px;height:7px;border-radius:50%;flex-shrink:0;}.status-indicator.idle.svelte-bez0nz .status-dot:where(.svelte-bez0nz) {background:#6b7280;}.status-indicator.idle.svelte-bez0nz .status-text:where(.svelte-bez0nz) {color:#9ca3af;}.status-indicator.thinking.svelte-bez0nz .status-dot:where(.svelte-bez0nz) {background:#f59e0b;
|
|
72
123
|
animation: svelte-bez0nz-pulse-dot 1.2s ease-in-out infinite;}.status-indicator.thinking.svelte-bez0nz .status-text:where(.svelte-bez0nz) {color:#fcd34d;}.status-indicator.acting.svelte-bez0nz .status-dot:where(.svelte-bez0nz) {background:#3b82f6;
|
|
@@ -114,7 +165,7 @@ var Cr=Object.defineProperty;var pr=Re=>{throw TypeError(Re)};var zr=(Re,Me,qe)=
|
|
|
114
165
|
40% { transform: scale(1); opacity: 1; }
|
|
115
166
|
}
|
|
116
167
|
|
|
117
|
-
/* Input area */.input-area.svelte-bez0nz {flex-shrink:0;padding:8px 12px 12px;border-top:1px solid #1f2937;display:flex;flex-direction:column;gap:6px;}.input-row.svelte-bez0nz {display:flex;gap:6px;}.chat-input.svelte-bez0nz {flex:1;padding:8px 10px;border:1px solid #374151;border-radius:6px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#1f2937;transition:border-color 0.15s;}.chat-input.svelte-bez0nz:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2);}.chat-input.svelte-bez0nz:disabled {opacity:0.5;cursor:not-allowed;}.chat-input.svelte-bez0nz::placeholder {color:#6b7280;}.send-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:#3b82f6;color:white;cursor:pointer;flex-shrink:0;transition:background 0.15s;}.send-btn.svelte-bez0nz:hover:not(:disabled) {background:#2563eb;}.send-btn.svelte-bez0nz:disabled {opacity:0.3;cursor:not-allowed;}.stop-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid #ef4444;border-radius:6px;background:rgba(239, 68, 68, 0.1);color:#f87171;font-size:12px;font-family:inherit;cursor:pointer;transition:background 0.15s;}.stop-btn.svelte-bez0nz:hover {background:rgba(239, 68, 68, 0.2);}`};function AgentPanel(e,t){push(t,!0),append_styles(e,$$css$3);let n=prop(t,"messages",23,()=>[]),r=prop(t,"agentState",7,"idle"),o=prop(t,"currentStep",7,0),s=prop(t,"maxSteps",7,40),i=prop(t,"autoApprove",7,!1),a=prop(t,"onsend",7),l=prop(t,"onstop",7),c=prop(t,"onapprove",7),u=prop(t,"onskip",7),d=prop(t,"onautoapprovechange",7),f=state(""),v=state(void 0);user_effect(()=>{n().length&&get(v)&&requestAnimationFrame(()=>{get(v).scrollTop=get(v).scrollHeight})});function _(){var L;const C=get(f).trim();!C||r()==="thinking"||r()==="acting"||(set(f,""),(L=a())==null||L(C))}function y(C){var L;C.key==="Enter"&&!C.shiftKey&&(C.preventDefault(),_()),C.key==="Escape"&&(r()==="thinking"||r()==="acting")&&((L=l())==null||L())}function h(){var C;(C=l())==null||C()}const p=user_derived(()=>r()==="thinking"||r()==="acting"||r()==="awaiting_approval");function b(C){switch(C){case"user":return"›";case"thinking":return"…";case"action":return"⚡";case"result":return"✓";case"error":return"✕";case"info":return"●";case"approval":return"?"}}function m(C){return C<1e3?`${C}ms`:`${(C/1e3).toFixed(1)}s`}var $={get messages(){return n()},set messages(C=[]){n(C),flushSync()},get agentState(){return r()},set agentState(C="idle"){r(C),flushSync()},get currentStep(){return o()},set currentStep(C=0){o(C),flushSync()},get maxSteps(){return s()},set maxSteps(C=40){s(C),flushSync()},get autoApprove(){return i()},set autoApprove(C=!1){i(C),flushSync()},get onsend(){return a()},set onsend(C){a(C),flushSync()},get onstop(){return l()},set onstop(C){l(C),flushSync()},get onapprove(){return c()},set onapprove(C){c(C),flushSync()},get onskip(){return u()},set onskip(C){u(C),flushSync()},get onautoapprovechange(){return d()},set onautoapprovechange(C){d(C),flushSync()}},k=root$3(),N=child(k),O=child(N);let F;var ee=sibling(child(O),2),J=child(ee);{var fe=C=>{var L=text("Ready");append(C,L)},ae=C=>{var L=text("Thinking...");append(C,L)},Ee=C=>{var L=text("Acting...");append(C,L)},_e=C=>{var L=text("Awaiting approval");append(C,L)},ze=C=>{var L=text("Error");append(C,L)};if_block(J,C=>{r()==="idle"?C(fe):r()==="thinking"?C(ae,1):r()==="acting"?C(Ee,2):r()==="awaiting_approval"?C(_e,3):C(ze,!1)})}reset(ee),reset(O);var we=sibling(O,2),xe=child(we);{var ke=C=>{var L=root_6$2(),V=child(L);reset(L),template_effect(()=>set_text(V,`Step ${o()??""}/${s()??""}`)),append(C,L)};if_block(xe,C=>{o()>0&&C(ke)})}var g=sibling(xe,2),E=child(g);remove_input_defaults(E),next(2),reset(g),reset(we),reset(N);var S=sibling(N,2),I=child(S);{var P=C=>{var L=root_7$2();append(C,L)},z=C=>{var L=root_8$2(),V=first_child(L);each(V,17,n,H=>H.id,(H,W)=>{var me=comment(),Ie=first_child(me);{var A=R=>{var M=root_10$1();let Y;var Z=child(M),q=child(Z);{var G=Te=>{var Oe=text("✓");append(Te,Oe)},$e=Te=>{var Oe=text("⏭");append(Te,Oe)},ne=Te=>{var Oe=text("?");append(Te,Oe)};if_block(q,Te=>{get(W).approvalStatus==="approved"?Te(G):get(W).approvalStatus==="skipped"?Te($e,1):Te(ne,!1)})}reset(Z);var ce=sibling(Z,2),ye=child(ce);{var j=Te=>{var Oe=root_14$2(),pt=child(Oe,!0);reset(Oe),template_effect(()=>set_text(pt,get(W).tool)),append(Te,Oe)};if_block(ye,Te=>{get(W).tool&&Te(j)})}var Fe=sibling(ye,2),ft=child(Fe,!0);reset(Fe);var Ne=sibling(Fe,2);{var Be=Te=>{var Oe=root_15$2(),pt=child(Oe),Wt=sibling(pt,2);reset(Oe),delegated("click",pt,()=>{var Ct;return(Ct=c())==null?void 0:Ct(get(W).id)}),delegated("click",Wt,()=>{var Ct;return(Ct=u())==null?void 0:Ct(get(W).id)}),append(Te,Oe)},Ve=Te=>{var Oe=root_16$2();let pt;var Wt=child(Oe,!0);reset(Oe),template_effect(()=>{pt=set_class(Oe,1,"approval-badge svelte-bez0nz",null,pt,{"badge-approved":get(W).approvalStatus==="approved","badge-skipped":get(W).approvalStatus==="skipped"}),set_text(Wt,get(W).approvalStatus)}),append(Te,Oe)};if_block(Ne,Te=>{get(W).approvalStatus==="pending"?Te(Be):Te(Ve,!1)})}reset(ce);var St=sibling(ce,2);{var kn=Te=>{var Oe=root_17$2(),pt=child(Oe,!0);reset(Oe),template_effect(()=>set_text(pt,get(W).step)),append(Te,Oe)};if_block(St,Te=>{get(W).step&&Te(kn)})}reset(M),template_effect(()=>{Y=set_class(M,1,"message msg-approval svelte-bez0nz",null,Y,{pending:get(W).approvalStatus==="pending",approved:get(W).approvalStatus==="approved",skipped:get(W).approvalStatus==="skipped"}),set_text(ft,get(W).text)}),append(R,M)},w=R=>{var M=root_18$1(),Y=child(M),Z=child(Y,!0);reset(Y);var q=sibling(Y,2),G=child(q);{var $e=Ne=>{var Be=root_19$1(),Ve=child(Be,!0);reset(Be),template_effect(()=>set_text(Ve,get(W).tool)),append(Ne,Be)};if_block(G,Ne=>{get(W).role==="action"&&get(W).tool&&Ne($e)})}var ne=sibling(G,2),ce=child(ne,!0);reset(ne);var ye=sibling(ne,2);{var j=Ne=>{var Be=root_20$1(),Ve=child(Be,!0);reset(Be),template_effect(St=>set_text(Ve,St),[()=>m(get(W).duration)]),append(Ne,Be)};if_block(ye,Ne=>{get(W).duration!=null&&Ne(j)})}reset(q);var Fe=sibling(q,2);{var ft=Ne=>{var Be=root_21$1(),Ve=child(Be,!0);reset(Be),template_effect(()=>set_text(Ve,get(W).step)),append(Ne,Be)};if_block(Fe,Ne=>{get(W).step&&Ne(ft)})}reset(M),template_effect(Ne=>{set_class(M,1,`message msg-${get(W).role??""}`,"svelte-bez0nz"),set_text(Z,Ne),set_text(ce,get(W).text)},[()=>b(get(W).role)]),append(R,M)};if_block(Ie,R=>{get(W).role==="approval"?R(A):R(w,!1)})}append(H,me)});var Q=sibling(V,2);{var ue=H=>{var W=root_22$1();append(H,W)};if_block(Q,H=>{r()==="thinking"&&H(ue)})}append(C,L)};if_block(I,C=>{n().length===0?C(P):C(z,!1)})}reset(S),bind_this(S,C=>set(v,C),()=>get(v));var U=sibling(S,2),oe=child(U);{var B=C=>{var L=root_23();delegated("click",L,h),append(C,L)};if_block(oe,C=>{get(p)&&C(B)})}var te=sibling(oe,2),K=child(te);remove_input_defaults(K);var se=sibling(K,2);return reset(te),reset(U),reset(k),template_effect(C=>{F=set_class(O,1,"status-indicator svelte-bez0nz",null,F,{idle:r()==="idle",thinking:r()==="thinking",acting:r()==="acting",awaiting:r()==="awaiting_approval",error:r()==="error"}),set_checked(E,i()),set_attribute(K,"placeholder",get(p)?"Agent is working...":"Type a command..."),K.disabled=get(p),se.disabled=C},[()=>get(p)||!get(f).trim()]),delegated("change",E,C=>{var L;return(L=d())==null?void 0:L(C.target.checked)}),delegated("keydown",K,y),bind_value(K,()=>get(f),C=>set(f,C)),delegated("click",se,_),append(e,k),pop($)}delegate(["change","click","keydown"]),create_custom_element(AgentPanel,{messages:{},agentState:{},currentStep:{},maxSteps:{},autoApprove:{},onsend:{},onstop:{},onapprove:{},onskip:{},onautoapprovechange:{}},[],[],{mode:"open"});var root_2$2=from_html('<div class="loading svelte-zp32f3"><span class="spinner svelte-zp32f3"></span> Loading notes...</div>'),root_3$1=from_html('<div class="error-msg svelte-zp32f3"> <button class="retry-btn svelte-zp32f3">Retry</button></div>'),root_5$1=from_html('<button class="note-row site-note svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> </span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_6$1=from_html('<button class="note-row site-note empty svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <span class="note-name add-prompt svelte-zp32f3">Add site-wide notes</span></div> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></button>'),root_7$1=from_html('<div class="section-divider svelte-zp32f3"><span>Routes</span></div>'),root_9$1=from_html('<span class="current-badge svelte-zp32f3">current</span>'),root_8$1=from_html('<button><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z" stroke="currentColor" stroke-width="1.8"></path><path d="M13 2v7h7" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> <!></span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_10=from_html('<button class="note-row add-route svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg> <span class="note-name add-prompt svelte-zp32f3"> </span></div></button>'),root_11$1=from_html('<div class="empty-state svelte-zp32f3"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="1.5"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> <p class="svelte-zp32f3">No notes yet</p> <p class="empty-hint svelte-zp32f3">Notes give context to the page agent about your app</p></div>'),root_4$1=from_html("<!> <!> <!> <!> <!>",1),root_1$2=from_html('<div class="notes-list svelte-zp32f3"><div class="list-header svelte-zp32f3"><span class="list-title svelte-zp32f3">Notes</span> <button class="new-btn svelte-zp32f3" title="New site-wide note"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg> New</button></div> <!></div>'),root_13$1=from_html('<div class="preview-area svelte-zp32f3"><!></div>'),root_14$1=from_html('<div class="field svelte-zp32f3"><label for="note-content" class="svelte-zp32f3">Content <span class="label-hint svelte-zp32f3">(markdown)</span></label> <textarea id="note-content" placeholder="Describe this page/app for the agent... Supports **bold**, *italic*, # headers, - lists, `code`" rows="12" class="svelte-zp32f3"></textarea></div>'),root_15$1=from_html('<div class="error-msg compact svelte-zp32f3"> </div>'),root_16$1=from_html("<button> </button>"),root_17$1=from_html('<span class="spinner svelte-zp32f3"></span>'),root_12$1=from_html('<div class="note-editor svelte-zp32f3"><div class="editor-header svelte-zp32f3"><button class="back-btn svelte-zp32f3" title="Back to list"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M19 12H5M12 19l-7-7 7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <span class="editor-route svelte-zp32f3"> </span> <button> </button></div> <div class="editor-body svelte-zp32f3"><div class="field svelte-zp32f3"><label for="note-title" class="svelte-zp32f3">Title</label> <input id="note-title" type="text" placeholder="Note title" class="svelte-zp32f3"/></div> <!> <!></div> <div class="editor-actions svelte-zp32f3"><!> <div class="action-spacer svelte-zp32f3"></div> <button class="cancel-btn svelte-zp32f3">Cancel</button> <button class="save-btn svelte-zp32f3"><!> </button></div></div>'),root$2=from_html('<div class="notes-panel svelte-zp32f3"><!></div>');const $$css$2={hash:"svelte-zp32f3",code:`.notes-panel.svelte-zp32f3 {display:flex;flex-direction:column;height:100%;overflow:hidden;}
|
|
168
|
+
/* Input area */.input-area.svelte-bez0nz {flex-shrink:0;padding:8px 12px 12px;border-top:1px solid #1f2937;display:flex;flex-direction:column;gap:6px;}.input-row.svelte-bez0nz {display:flex;gap:6px;}.chat-input.svelte-bez0nz {flex:1;padding:8px 10px;border:1px solid #374151;border-radius:6px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#1f2937;transition:border-color 0.15s;}.chat-input.svelte-bez0nz:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2);}.chat-input.svelte-bez0nz:disabled {opacity:0.5;cursor:not-allowed;}.chat-input.svelte-bez0nz::placeholder {color:#6b7280;}.send-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:#3b82f6;color:white;cursor:pointer;flex-shrink:0;transition:background 0.15s;}.send-btn.svelte-bez0nz:hover:not(:disabled) {background:#2563eb;}.send-btn.svelte-bez0nz:disabled {opacity:0.3;cursor:not-allowed;}.stop-btn.svelte-bez0nz {display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid #ef4444;border-radius:6px;background:rgba(239, 68, 68, 0.1);color:#f87171;font-size:12px;font-family:inherit;cursor:pointer;transition:background 0.15s;}.stop-btn.svelte-bez0nz:hover {background:rgba(239, 68, 68, 0.2);}`};function AgentPanel(d,p){push(p,!0),append_styles(d,$$css$3);let h=prop(p,"messages",23,()=>[]),g=prop(p,"agentState",7,"idle"),m=prop(p,"currentStep",7,0),_=prop(p,"maxSteps",7,40),b=prop(p,"autoApprove",7,!1),y=prop(p,"onsend",7),w=prop(p,"onstop",7),x=prop(p,"onapprove",7),E=prop(p,"onskip",7),S=prop(p,"onautoapprovechange",7),k=state(""),I=state(void 0);user_effect(()=>{h().length&&get(I)&&requestAnimationFrame(()=>{get(I).scrollTop=get(I).scrollHeight})});function A(){var K;const B=get(k).trim();!B||g()==="thinking"||g()==="acting"||(set(k,""),(K=y())==null||K(B))}function M(B){var K;B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),A()),B.key==="Escape"&&(g()==="thinking"||g()==="acting")&&((K=w())==null||K())}function R(){var B;(B=w())==null||B()}const C=user_derived(()=>g()==="thinking"||g()==="acting"||g()==="awaiting_approval");function N(B){switch(B){case"user":return"›";case"thinking":return"…";case"action":return"⚡";case"result":return"✓";case"error":return"✕";case"info":return"●";case"approval":return"?"}}function $(B){return B<1e3?`${B}ms`:`${(B/1e3).toFixed(1)}s`}var O={get messages(){return h()},set messages(B=[]){h(B),flushSync()},get agentState(){return g()},set agentState(B="idle"){g(B),flushSync()},get currentStep(){return m()},set currentStep(B=0){m(B),flushSync()},get maxSteps(){return _()},set maxSteps(B=40){_(B),flushSync()},get autoApprove(){return b()},set autoApprove(B=!1){b(B),flushSync()},get onsend(){return y()},set onsend(B){y(B),flushSync()},get onstop(){return w()},set onstop(B){w(B),flushSync()},get onapprove(){return x()},set onapprove(B){x(B),flushSync()},get onskip(){return E()},set onskip(B){E(B),flushSync()},get onautoapprovechange(){return S()},set onautoapprovechange(B){S(B),flushSync()}},F=root$3(),j=child(F),Y=child(j);let q;var de=sibling(child(Y),2),oe=child(de);{var ce=B=>{var K=text("Ready");append(B,K)},se=B=>{var K=text("Thinking...");append(B,K)},ye=B=>{var K=text("Acting...");append(B,K)},ve=B=>{var K=text("Awaiting approval");append(B,K)},Te=B=>{var K=text("Error");append(B,K)};if_block(oe,B=>{g()==="idle"?B(ce):g()==="thinking"?B(se,1):g()==="acting"?B(ye,2):g()==="awaiting_approval"?B(ve,3):B(Te,!1)})}reset(de),reset(Y);var Ee=sibling(Y,2),me=child(Ee);{var Se=B=>{var K=root_6$2(),pe=child(K);reset(K),template_effect(()=>set_text(pe,`Step ${m()??""}/${_()??""}`)),append(B,K)};if_block(me,B=>{m()>0&&B(Se)})}var T=sibling(me,2),z=child(T);remove_input_defaults(z),next(2),reset(T),reset(Ee),reset(j);var L=sibling(j,2),P=child(L);{var G=B=>{var K=root_7$2();append(B,K)},W=B=>{var K=root_8$2(),pe=first_child(K);each(pe,17,h,ze=>ze.id,(ze,xe)=>{var Ve=comment(),ae=first_child(Ve);{var V=H=>{var X=root_10$1();let fe;var Q=child(X),ue=child(Q);{var be=je=>{var Fe=text("✓");append(je,Fe)},Ue=je=>{var Fe=text("⏭");append(je,Fe)},Ce=je=>{var Fe=text("?");append(je,Fe)};if_block(ue,je=>{get(xe).approvalStatus==="approved"?je(be):get(xe).approvalStatus==="skipped"?je(Ue,1):je(Ce,!1)})}reset(Q);var Ze=sibling(Q,2),Le=child(Ze);{var te=je=>{var Fe=root_14$2(),wt=child(Fe,!0);reset(Fe),template_effect(()=>set_text(wt,get(xe).tool)),append(je,Fe)};if_block(Le,je=>{get(xe).tool&&je(te)})}var Xe=sibling(Le,2),ot=child(Xe,!0);reset(Xe);var We=sibling(Xe,2);{var st=je=>{var Fe=root_15$2(),wt=child(Fe),sn=sibling(wt,2);reset(Fe),delegated("click",wt,()=>{var Jt;return(Jt=x())==null?void 0:Jt(get(xe).id)}),delegated("click",sn,()=>{var Jt;return(Jt=E())==null?void 0:Jt(get(xe).id)}),append(je,Fe)},Nt=je=>{var Fe=root_16$2();let wt;var sn=child(Fe,!0);reset(Fe),template_effect(()=>{wt=set_class(Fe,1,"approval-badge svelte-bez0nz",null,wt,{"badge-approved":get(xe).approvalStatus==="approved","badge-skipped":get(xe).approvalStatus==="skipped"}),set_text(sn,get(xe).approvalStatus)}),append(je,Fe)};if_block(We,je=>{get(xe).approvalStatus==="pending"?je(st):je(Nt,!1)})}reset(Ze);var Bt=sibling(Ze,2);{var Tn=je=>{var Fe=root_17$2(),wt=child(Fe,!0);reset(Fe),template_effect(()=>set_text(wt,get(xe).step)),append(je,Fe)};if_block(Bt,je=>{get(xe).step&&je(Tn)})}reset(X),template_effect(()=>{fe=set_class(X,1,"message msg-approval svelte-bez0nz",null,fe,{pending:get(xe).approvalStatus==="pending",approved:get(xe).approvalStatus==="approved",skipped:get(xe).approvalStatus==="skipped"}),set_text(ot,get(xe).text)}),append(H,X)},D=H=>{var X=root_18$1(),fe=child(X),Q=child(fe,!0);reset(fe);var ue=sibling(fe,2),be=child(ue);{var Ue=We=>{var st=root_19$1(),Nt=child(st,!0);reset(st),template_effect(()=>set_text(Nt,get(xe).tool)),append(We,st)};if_block(be,We=>{get(xe).role==="action"&&get(xe).tool&&We(Ue)})}var Ce=sibling(be,2),Ze=child(Ce,!0);reset(Ce);var Le=sibling(Ce,2);{var te=We=>{var st=root_20$1(),Nt=child(st,!0);reset(st),template_effect(Bt=>set_text(Nt,Bt),[()=>$(get(xe).duration)]),append(We,st)};if_block(Le,We=>{get(xe).duration!=null&&We(te)})}reset(ue);var Xe=sibling(ue,2);{var ot=We=>{var st=root_21$1(),Nt=child(st,!0);reset(st),template_effect(()=>set_text(Nt,get(xe).step)),append(We,st)};if_block(Xe,We=>{get(xe).step&&We(ot)})}reset(X),template_effect(We=>{set_class(X,1,`message msg-${get(xe).role??""}`,"svelte-bez0nz"),set_text(Q,We),set_text(Ze,get(xe).text)},[()=>N(get(xe).role)]),append(H,X)};if_block(ae,H=>{get(xe).role==="approval"?H(V):H(D,!1)})}append(ze,Ve)});var le=sibling(pe,2);{var we=ze=>{var xe=root_22$1();append(ze,xe)};if_block(le,ze=>{g()==="thinking"&&ze(we)})}append(B,K)};if_block(P,B=>{h().length===0?B(G):B(W,!1)})}reset(L),bind_this(L,B=>set(I,B),()=>get(I));var ie=sibling(L,2),J=child(ie);{var ne=B=>{var K=root_23$1();delegated("click",K,R),append(B,K)};if_block(J,B=>{get(C)&&B(ne)})}var ge=sibling(J,2),ee=child(ge);remove_input_defaults(ee);var he=sibling(ee,2);return reset(ge),reset(ie),reset(F),template_effect(B=>{q=set_class(Y,1,"status-indicator svelte-bez0nz",null,q,{idle:g()==="idle",thinking:g()==="thinking",acting:g()==="acting",awaiting:g()==="awaiting_approval",error:g()==="error"}),set_checked(z,b()),set_attribute(ee,"placeholder",get(C)?"Agent is working...":"Type a command..."),ee.disabled=get(C),he.disabled=B},[()=>get(C)||!get(k).trim()]),delegated("change",z,B=>{var K;return(K=S())==null?void 0:K(B.target.checked)}),delegated("keydown",ee,M),bind_value(ee,()=>get(k),B=>set(k,B)),delegated("click",he,A),append(d,F),pop(O)}delegate(["change","click","keydown"]),create_custom_element(AgentPanel,{messages:{},agentState:{},currentStep:{},maxSteps:{},autoApprove:{},onsend:{},onstop:{},onapprove:{},onskip:{},onautoapprovechange:{}},[],[],{mode:"open"});var root_2$2=from_html('<div class="loading svelte-zp32f3"><span class="spinner svelte-zp32f3"></span> Loading notes...</div>'),root_3$1=from_html('<div class="error-msg svelte-zp32f3"> <button class="retry-btn svelte-zp32f3">Retry</button></div>'),root_5$1=from_html('<button class="note-row site-note svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> </span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_6$1=from_html('<button class="note-row site-note empty svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.8"></circle><path d="M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2" stroke="currentColor" stroke-width="1.8"></path></svg> <span class="note-name add-prompt svelte-zp32f3">Add site-wide notes</span></div> <svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg></button>'),root_7$1=from_html('<div class="section-divider svelte-zp32f3"><span>Routes</span></div>'),root_9$1=from_html('<span class="current-badge svelte-zp32f3">current</span>'),root_8$1=from_html('<button><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z" stroke="currentColor" stroke-width="1.8"></path><path d="M13 2v7h7" stroke="currentColor" stroke-width="1.8"></path></svg> <div class="note-info svelte-zp32f3"><span class="note-name svelte-zp32f3"> <!></span> <span class="note-preview svelte-zp32f3"> </span></div></div> <span class="note-edit-hint svelte-zp32f3">edit</span></button>'),root_10=from_html('<button class="note-row add-route svelte-zp32f3"><div class="note-row-left svelte-zp32f3"><svg class="note-icon svelte-zp32f3" width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg> <span class="note-name add-prompt svelte-zp32f3"> </span></div></button>'),root_11$1=from_html('<div class="empty-state svelte-zp32f3"><svg width="28" height="28" viewBox="0 0 24 24" fill="none"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="1.5"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> <p class="svelte-zp32f3">No notes yet</p> <p class="empty-hint svelte-zp32f3">Notes give context to the page agent about your app</p></div>'),root_4$1=from_html("<!> <!> <!> <!> <!>",1),root_1$2=from_html('<div class="notes-list svelte-zp32f3"><div class="list-header svelte-zp32f3"><span class="list-title svelte-zp32f3">Notes</span> <button class="new-btn svelte-zp32f3" title="New site-wide note"><svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg> New</button></div> <!></div>'),root_13$1=from_html('<div class="preview-area svelte-zp32f3"><!></div>'),root_14$1=from_html('<div class="field svelte-zp32f3"><label for="note-content" class="svelte-zp32f3">Content <span class="label-hint svelte-zp32f3">(markdown)</span></label> <textarea id="note-content" placeholder="Describe this page/app for the agent... Supports **bold**, *italic*, # headers, - lists, `code`" rows="12" class="svelte-zp32f3"></textarea></div>'),root_15$1=from_html('<div class="error-msg compact svelte-zp32f3"> </div>'),root_16$1=from_html("<button> </button>"),root_17$1=from_html('<span class="spinner svelte-zp32f3"></span>'),root_12$1=from_html('<div class="note-editor svelte-zp32f3"><div class="editor-header svelte-zp32f3"><button class="back-btn svelte-zp32f3" title="Back to list"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M19 12H5M12 19l-7-7 7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <span class="editor-route svelte-zp32f3"> </span> <button> </button></div> <div class="editor-body svelte-zp32f3"><div class="field svelte-zp32f3"><label for="note-title" class="svelte-zp32f3">Title</label> <input id="note-title" type="text" placeholder="Note title" class="svelte-zp32f3"/></div> <!> <!></div> <div class="editor-actions svelte-zp32f3"><!> <div class="action-spacer svelte-zp32f3"></div> <button class="cancel-btn svelte-zp32f3">Cancel</button> <button class="save-btn svelte-zp32f3"><!> </button></div></div>'),root$2=from_html('<div class="notes-panel svelte-zp32f3"><!></div>');const $$css$2={hash:"svelte-zp32f3",code:`.notes-panel.svelte-zp32f3 {display:flex;flex-direction:column;height:100%;overflow:hidden;}
|
|
118
169
|
|
|
119
170
|
/* List view */.notes-list.svelte-zp32f3 {display:flex;flex-direction:column;overflow-y:auto;padding:0;}.list-header.svelte-zp32f3 {display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #1f2937;}.list-title.svelte-zp32f3 {font-size:13px;font-weight:600;color:#e5e7eb;}.new-btn.svelte-zp32f3 {display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#1f2937;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:11px;font-family:inherit;cursor:pointer;transition:background 0.15s;}.new-btn.svelte-zp32f3:hover:not(:disabled) {background:#374151;}.new-btn.svelte-zp32f3:disabled {opacity:0.4;cursor:not-allowed;}
|
|
120
171
|
|
|
@@ -126,36 +177,36 @@ var Cr=Object.defineProperty;var pr=Re=>{throw TypeError(Re)};var zr=(Re,Me,qe)=
|
|
|
126
177
|
animation: svelte-zp32f3-notes-spin 0.6s linear infinite;}
|
|
127
178
|
@keyframes svelte-zp32f3-notes-spin {
|
|
128
179
|
to { transform: rotate(360deg); }
|
|
129
|
-
}`};function NotesPanel(
|
|
130
|
-
`).filter(S=>S.trim()).length:0}function Ee(E){if(!E)return'<span style="color:#6b7280;font-style:italic">No content</span>';let S=E.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return S=S.replace(/```([^`]*?)```/gs,'<pre style="background:#1f2937;padding:8px;border-radius:4px;font-size:11px;overflow-x:auto;margin:4px 0">$1</pre>'),S=S.replace(/`([^`]+)`/g,'<code style="background:#1f2937;padding:1px 4px;border-radius:3px;font-size:11px">$1</code>'),S=S.replace(/^### (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:12px;color:#d1d5db">$1</strong>'),S=S.replace(/^## (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:13px;color:#e5e7eb">$1</strong>'),S=S.replace(/^# (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:14px;color:#f3f4f6">$1</strong>'),S=S.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),S=S.replace(/\*(.+?)\*/g,"<em>$1</em>"),S=S.replace(/^- (.+)$/gm,'<span style="display:block;padding-left:12px">• $1</span>'),S=S.replace(/^(\d+)\. (.+)$/gm,'<span style="display:block;padding-left:12px">$1. $2</span>'),S=S.replace(/\n(?!<)/g,"<br>"),S}function _e(E){E.key==="Escape"&&get(u)==="edit"&&(E.stopPropagation(),F())}var ze={get endpoint(){return n()},set endpoint(E){n(E),flushSync()},get project(){return r()},set project(E){r(E),flushSync()},get onnoteschanged(){return o()},set onnoteschanged(E){o(E),flushSync()}},we=root$2(),xe=child(we);{var ke=E=>{var S=root_1$2(),I=child(S),P=sibling(child(I),2);reset(I);var z=sibling(I,2);{var U=te=>{var K=root_2$2();append(te,K)},oe=te=>{var K=root_3$1(),se=child(K),C=sibling(se);reset(K),template_effect(()=>set_text(se,`${get(a)??""} `)),delegated("click",C,k),append(te,K)},B=te=>{var K=root_4$1(),se=first_child(K);{var C=A=>{var w=root_5$1(),R=child(w),M=sibling(child(R),2),Y=child(M),Z=child(Y,!0);reset(Y);var q=sibling(Y,2),G=child(q);reset(q),reset(M),reset(R),next(2),reset(w),template_effect(($e,ne)=>{set_text(Z,get(b).title||"Site-wide notes"),set_text(G,`${$e??""} line${ne??""}`)},[()=>ae(get(b).content),()=>ae(get(b).content)!==1?"s":""]),delegated("click",w,()=>N(get(b))),append(A,w)},L=A=>{var w=root_6$1();delegated("click",w,()=>O(null)),append(A,w)};if_block(se,A=>{get(b)?A(C):A(L,!1)})}var V=sibling(se,2);{var Q=A=>{var w=root_7$1();append(A,w)};if_block(V,A=>{(get(m).length>0||!get($))&&A(Q)})}var ue=sibling(V,2);each(ue,17,()=>get(m),index,(A,w)=>{var R=root_8$1();let M;var Y=child(R),Z=sibling(child(Y),2),q=child(Z),G=child(q),$e=sibling(G);{var ne=j=>{var Fe=root_9$1();append(j,Fe)};if_block($e,j=>{get(w).route===get(c)&&j(ne)})}reset(q);var ce=sibling(q,2),ye=child(ce);reset(ce),reset(Z),reset(Y),next(2),reset(R),template_effect((j,Fe)=>{M=set_class(R,1,"note-row svelte-zp32f3",null,M,{current:get(w).route===get(c)}),set_text(G,`${get(w).route??""} `),set_text(ye,`${j??""} line${Fe??""}`)},[()=>ae(get(w).content),()=>ae(get(w).content)!==1?"s":""]),delegated("click",R,()=>N(get(w))),append(A,R)});var H=sibling(ue,2);{var W=A=>{var w=root_10(),R=child(w),M=sibling(child(R),2),Y=child(M);reset(M),reset(R),reset(w),template_effect(()=>set_text(Y,`Add note for ${get(c)??""}`)),delegated("click",w,()=>O(get(c))),append(A,w)};if_block(H,A=>{get($)||A(W)})}var me=sibling(H,2);{var Ie=A=>{var w=root_11$1();append(A,w)};if_block(me,A=>{get(s).length===0&&!get(i)&&A(Ie)})}append(te,K)};if_block(z,te=>{get(i)?te(U):get(a)?te(oe,1):te(B,!1)})}reset(S),template_effect(()=>P.disabled=!!get(b)),delegated("click",P,()=>O(null)),transition(3,S,()=>slide,()=>({duration:200})),append(E,S)},g=E=>{var S=root_12$1(),I=child(S),P=child(I),z=sibling(P,2),U=child(z,!0);reset(z);var oe=sibling(z,2);let B;var te=child(oe,!0);reset(oe),reset(I);var K=sibling(I,2),se=child(K),C=sibling(child(se),2);remove_input_defaults(C),reset(se);var L=sibling(se,2);{var V=Z=>{var q=root_13$1(),G=child(q);html(G,()=>Ee(get(_))),reset(q),append(Z,q)},Q=Z=>{var q=root_14$1(),G=sibling(child(q),2);remove_textarea_child(G),reset(q),template_effect(()=>G.disabled=get(l)),bind_value(G,()=>get(_),$e=>set(_,$e)),append(Z,q)};if_block(L,Z=>{get(h)?Z(V):Z(Q,!1)})}var ue=sibling(L,2);{var H=Z=>{var q=root_15$1(),G=child(q,!0);reset(q),template_effect(()=>set_text(G,get(a))),append(Z,q)};if_block(ue,Z=>{get(a)&&Z(H)})}reset(K);var W=sibling(K,2),me=child(W);{var Ie=Z=>{var q=root_16$1();let G;var $e=child(q,!0);reset(q),template_effect(()=>{G=set_class(q,1,"delete-btn svelte-zp32f3",null,G,{confirm:get(p)}),q.disabled=get(l),set_text($e,get(p)?"Confirm delete?":"Delete")}),delegated("click",q,J),append(Z,q)};if_block(me,Z=>{get(f)||Z(Ie)})}var A=sibling(me,4),w=sibling(A,2),R=child(w);{var M=Z=>{var q=root_17$1();append(Z,q)};if_block(R,Z=>{get(l)&&Z(M)})}var Y=sibling(R);reset(w),reset(W),reset(S),template_effect(Z=>{set_text(U,get(y)?get(y):"Site-wide"),B=set_class(oe,1,"preview-toggle svelte-zp32f3",null,B,{active:get(h)}),set_text(te,get(h)?"Edit":"Preview"),C.disabled=get(l),A.disabled=get(l),w.disabled=Z,set_text(Y,` ${get(f)?"Create":"Save"}`)},[()=>get(l)||!get(v).trim()]),delegated("click",P,F),delegated("click",oe,()=>set(h,!get(h))),bind_value(C,()=>get(v),Z=>set(v,Z)),delegated("click",A,F),delegated("click",w,ee),transition(3,S,()=>slide,()=>({duration:200})),append(E,S)};if_block(xe,E=>{get(u)==="list"?E(ke):get(u)==="edit"&&E(g,1)})}return reset(we),delegated("keydown",we,_e),append(e,we),pop(ze)}delegate(["keydown","click"]),create_custom_element(NotesPanel,{endpoint:{},project:{},onnoteschanged:{}},[],[],{mode:"open"});function $constructor(e,t,n){function r(a,l){var c;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(c=a._zod).traits??(c.traits=new Set),a._zod.traits.add(e),t(a,l);for(const u in i.prototype)u in a||Object.defineProperty(a,u,{value:i.prototype[u].bind(a)});a._zod.constr=i,a._zod.def=l}const o=(n==null?void 0:n.Parent)??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var l;const c=n!=null&&n.Parent?new s:this;r(c,a),(l=c._zod).deferred??(l.deferred=[]);for(const u of c._zod.deferred)u();return c}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>{var l,c;return n!=null&&n.Parent&&a instanceof n.Parent?!0:(c=(l=a==null?void 0:a._zod)==null?void 0:l.traits)==null?void 0:c.has(e)}}),Object.defineProperty(i,"name",{value:e}),i}class $ZodAsyncError extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const globalConfig={};function config(e){return globalConfig}function getEnumValues(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function jsonStringifyReplacer(e,t){return typeof t=="bigint"?t.toString():t}function cached(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function nullish(e){return e==null}function cleanRegex(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function floatSafeRemainder(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function defineLazy(e,t,n){Object.defineProperty(e,t,{get(){{const r=n();return e[t]=r,r}},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function assignProp(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function esc(e){return JSON.stringify(e)}const captureStackTrace=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function isObject(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const allowsEval=cached(()=>{var e;if(typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function isPlainObject(e){if(isObject(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(isObject(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}const propertyKeyTypes=new Set(["string","number","symbol"]);function escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n!=null&&n.parent)&&(r._zod.parent=e),r}function normalizeParams(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function optionalKeys(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const NUMBER_FORMAT_RANGES={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function pick(e,t){const n={},r=e._zod.def;for(const o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(n[o]=r.shape[o])}return clone(e,{...e._zod.def,shape:n,checks:[]})}function omit(e,t){const n={...e._zod.def.shape},r=e._zod.def;for(const o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete n[o]}return clone(e,{...e._zod.def,shape:n,checks:[]})}function extend(e,t){if(!isPlainObject(t))throw new Error("Invalid input to extend: expected a plain object");const n={...e._zod.def,get shape(){const r={...e._zod.def.shape,...t};return assignProp(this,"shape",r),r},checks:[]};return clone(e,n)}function merge(e,t){return clone(e,{...e._zod.def,get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return assignProp(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function partial(e,t,n){const r=t._zod.def.shape,o={...r};if(n)for(const s in n){if(!(s in r))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=e?new e({type:"optional",innerType:r[s]}):r[s])}else for(const s in r)o[s]=e?new e({type:"optional",innerType:r[s]}):r[s];return clone(t,{...t._zod.def,shape:o,checks:[]})}function required(e,t,n){const r=t._zod.def.shape,o={...r};if(n)for(const s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new e({type:"nonoptional",innerType:r[s]}))}else for(const s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return clone(t,{...t._zod.def,shape:o,checks:[]})}function aborted(e,t=0){var n;for(let r=t;r<e.issues.length;r++)if(((n=e.issues[r])==null?void 0:n.continue)!==!0)return!0;return!1}function prefixIssues(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function unwrapMessage(e){return typeof e=="string"?e:e==null?void 0:e.message}function finalizeIssue(e,t,n){var o,s,i,a,l,c;const r={...e,path:e.path??[]};if(!e.message){const u=unwrapMessage((i=(s=(o=e.inst)==null?void 0:o._zod.def)==null?void 0:s.error)==null?void 0:i.call(s,e))??unwrapMessage((a=t==null?void 0:t.error)==null?void 0:a.call(t,e))??unwrapMessage((l=n.customError)==null?void 0:l.call(n,e))??unwrapMessage((c=n.localeError)==null?void 0:c.call(n,e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,t!=null&&t.reportInput||delete r.input,r}function getLengthableOrigin(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function issue(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}const initializer$1=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,jsonStringifyReplacer,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},$ZodError=$constructor("$ZodError",initializer$1),$ZodRealError=$constructor("$ZodError",initializer$1,{Parent:Error});function flattenError(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function formatError(e,t){const n=t||function(s){return s.message},r={_errors:[]},o=s=>{for(const i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){const c=i.path[l];l===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(i))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return o(e),r}function toDotPath(e){const t=[];for(const n of e)typeof n=="number"?t.push(`[${n}]`):typeof n=="symbol"?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function prettifyError(e){var r;const t=[],n=[...e.issues].sort((o,s)=>o.path.length-s.path.length);for(const o of n)t.push(`✖ ${o.message}`),(r=o.path)!=null&&r.length&&t.push(` → at ${toDotPath(o.path)}`);return t.join(`
|
|
131
|
-
`)}const _parse=e=>(t,n,r,o)=>{const s=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new $ZodAsyncError;if(i.issues.length){const a=new((o==null?void 0:o.Err)??e)(i.issues.map(l=>finalizeIssue(l,s,config())));throw captureStackTrace(a,o==null?void 0:o.callee),a}return i.value},_parseAsync=e=>async(t,n,r,o)=>{const s=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){const a=new((o==null?void 0:o.Err)??e)(i.issues.map(l=>finalizeIssue(l,s,config())));throw captureStackTrace(a,o==null?void 0:o.callee),a}return i.value},_safeParse=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new $ZodAsyncError;return s.issues.length?{success:!1,error:new(e??$ZodError)(s.issues.map(i=>finalizeIssue(i,o,config())))}:{success:!0,data:s.value}},safeParse$1=_safeParse($ZodRealError),_safeParseAsync=e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>finalizeIssue(i,o,config())))}:{success:!0,data:s.value}},safeParseAsync$1=_safeParseAsync($ZodRealError),cuid=/^[cC][^\s-]{8,}$/,cuid2=/^[0-9a-z]+$/,ulid=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xid=/^[0-9a-vA-V]{20}$/,ksuid=/^[A-Za-z0-9]{27}$/,nanoid=/^[a-zA-Z0-9_-]{21}$/,duration$1=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,guid=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,uuid=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,email=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_emoji$1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function emoji(){return new RegExp(_emoji$1,"u")}const ipv4=/^(?:(?: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])$/,ipv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,cidrv4=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,cidrv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url=/^[A-Za-z0-9_-]*$/,hostname=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,e164=/^\+(?:[0-9]){6,14}[0-9]$/,dateSource="(?:(?:\\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])))",date$1=new RegExp(`^${dateSource}$`);function timeSource(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function time$1(e){return new RegExp(`^${timeSource(e)}$`)}function datetime$1(e){const t=timeSource({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-]\\d{2}:\\d{2})");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${dateSource}T(?:${r})$`)}const string$1=e=>{const t=e?`[\\s\\S]{${(e==null?void 0:e.minimum)??0},${(e==null?void 0:e.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},integer=/^\d+$/,number$1=/^-?\d+(?:\.\d+)?/i,boolean$1=/true|false/i,lowercase=/^[^A-Z]*$/,uppercase=/^[^a-z]*$/,$ZodCheck=$constructor("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),numericOriginMap={number:"number",bigint:"bigint",object:"date"},$ZodCheckLessThan=$constructor("$ZodCheckLessThan",(e,t)=>{$ZodCheck.init(e,t);const n=numericOriginMap[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$ZodCheckGreaterThan=$constructor("$ZodCheckGreaterThan",(e,t)=>{$ZodCheck.init(e,t);const n=numericOriginMap[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$ZodCheckMultipleOf=$constructor("$ZodCheckMultipleOf",(e,t)=>{$ZodCheck.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):floatSafeRemainder(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),$ZodCheckNumberFormat=$constructor("$ZodCheckNumberFormat",(e,t)=>{var i;$ZodCheck.init(e,t),t.format=t.format||"float64";const n=(i=t.format)==null?void 0:i.includes("int"),r=n?"int":"number",[o,s]=NUMBER_FORMAT_RANGES[t.format];e._zod.onattach.push(a=>{const l=a._zod.bag;l.format=t.format,l.minimum=o,l.maximum=s,n&&(l.pattern=integer)}),e._zod.check=a=>{const l=a.value;if(n){if(!Number.isInteger(l)){a.issues.push({expected:r,format:t.format,code:"invalid_type",input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?a.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort}):a.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}l<o&&a.issues.push({origin:"number",input:l,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),l>s&&a.issues.push({origin:"number",input:l,code:"too_big",maximum:s,inst:e})}}),$ZodCheckMaxLength=$constructor("$ZodCheckMaxLength",(e,t)=>{var n;$ZodCheck.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!nullish(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const i=getLengthableOrigin(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),$ZodCheckMinLength=$constructor("$ZodCheckMinLength",(e,t)=>{var n;$ZodCheck.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!nullish(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const i=getLengthableOrigin(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),$ZodCheckLengthEquals=$constructor("$ZodCheckLengthEquals",(e,t)=>{var n;$ZodCheck.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!nullish(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,s=o.length;if(s===t.length)return;const i=getLengthableOrigin(o),a=s>t.length;r.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),$ZodCheckStringFormat=$constructor("$ZodCheckStringFormat",(e,t)=>{var n,r;$ZodCheck.init(e,t),e._zod.onattach.push(o=>{const s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),$ZodCheckRegex=$constructor("$ZodCheckRegex",(e,t)=>{$ZodCheckStringFormat.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),$ZodCheckLowerCase=$constructor("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=lowercase),$ZodCheckStringFormat.init(e,t)}),$ZodCheckUpperCase=$constructor("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=uppercase),$ZodCheckStringFormat.init(e,t)}),$ZodCheckIncludes=$constructor("$ZodCheckIncludes",(e,t)=>{$ZodCheck.init(e,t);const n=escapeRegex(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),$ZodCheckStartsWith=$constructor("$ZodCheckStartsWith",(e,t)=>{$ZodCheck.init(e,t);const n=new RegExp(`^${escapeRegex(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),$ZodCheckEndsWith=$constructor("$ZodCheckEndsWith",(e,t)=>{$ZodCheck.init(e,t);const n=new RegExp(`.*${escapeRegex(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),$ZodCheckOverwrite=$constructor("$ZodCheckOverwrite",(e,t)=>{$ZodCheck.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Doc{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
132
|
-
`).filter(
|
|
133
|
-
`))}}const version={major:4,minor:0,patch:0},$ZodType=$constructor("$ZodType",(
|
|
134
|
-
if (${
|
|
135
|
-
if (input[${
|
|
136
|
-
if (${
|
|
137
|
-
newResult[${
|
|
180
|
+
}`};function NotesPanel(d,p){push(p,!0),append_styles(d,$$css$2);let h=prop(p,"endpoint",7),g=prop(p,"project",7),m=prop(p,"onnoteschanged",7),_=state(proxy([])),b=state(!1),y=state(""),w=state(!1),x=state(proxy(window.location.pathname)),E=state("list"),S=state(null),k=state(!1),I=state(""),A=state(""),M=state(null),R=state(!1),C=state(!1),N=user_derived(()=>get(_).find(z=>z.route===null)),$=user_derived(()=>get(_).filter(z=>z.route!==null).sort((z,L)=>(z.route||"").localeCompare(L.route||""))),O=user_derived(()=>get(_).some(z=>z.route===get(x)));async function F(){set(b,!0),set(y,"");const z=await fetchNotes(h(),g());set(_,z.notes,!0),z.error&&set(y,z.error,!0),set(b,!1)}user_effect(()=>{h()&&g()&&F()}),user_effect(()=>{const z=setInterval(()=>{window.location.pathname!==get(x)&&set(x,window.location.pathname,!0)},1e3);return()=>clearInterval(z)});function j(z){set(S,z,!0),set(k,!1),set(I,z.title,!0),set(A,z.content,!0),set(M,z.route,!0),set(R,!1),set(C,!1),set(E,"edit")}function Y(z){set(S,null),set(k,!0),set(I,z?ce(z):"Site-wide notes",!0),set(A,""),set(M,z,!0),set(R,!1),set(C,!1),set(E,"edit")}function q(){set(E,"list"),set(S,null),set(k,!1),set(C,!1)}async function de(){var z,L;if(get(I).trim()){if(set(w,!0),get(k)){const P=await createNote(h(),{project:g(),route:get(M),title:get(I).trim(),content:get(A)});P.ok&&P.note?(set(_,[...get(_),P.note],!0),(z=m())==null||z(),q()):set(y,P.error||"Failed to create note",!0)}else if(get(S)){const P=await updateNote(h(),get(S).id,{title:get(I).trim(),content:get(A)});P.ok?(set(_,get(_).map(G=>G.id===get(S).id?{...G,title:get(I).trim(),content:get(A),updated_at:new Date().toISOString()}:G),!0),(L=m())==null||L(),q()):set(y,P.error||"Failed to update note",!0)}set(w,!1)}}async function oe(){var L;if(!get(S))return;if(!get(C)){set(C,!0);return}set(w,!0);const z=await deleteNote(h(),get(S).id);z.ok?(set(_,get(_).filter(P=>P.id!==get(S).id),!0),(L=m())==null||L(),q()):set(y,z.error||"Failed to delete note",!0),set(w,!1)}function ce(z){return z||"Site-wide"}function se(z){return z?z.split(`
|
|
181
|
+
`).filter(L=>L.trim()).length:0}function ye(z){if(!z)return'<span style="color:#6b7280;font-style:italic">No content</span>';let L=z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return L=L.replace(/```([^`]*?)```/gs,'<pre style="background:#1f2937;padding:8px;border-radius:4px;font-size:11px;overflow-x:auto;margin:4px 0">$1</pre>'),L=L.replace(/`([^`]+)`/g,'<code style="background:#1f2937;padding:1px 4px;border-radius:3px;font-size:11px">$1</code>'),L=L.replace(/^### (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:12px;color:#d1d5db">$1</strong>'),L=L.replace(/^## (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:13px;color:#e5e7eb">$1</strong>'),L=L.replace(/^# (.+)$/gm,'<strong style="display:block;margin-top:8px;font-size:14px;color:#f3f4f6">$1</strong>'),L=L.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),L=L.replace(/\*(.+?)\*/g,"<em>$1</em>"),L=L.replace(/^- (.+)$/gm,'<span style="display:block;padding-left:12px">• $1</span>'),L=L.replace(/^(\d+)\. (.+)$/gm,'<span style="display:block;padding-left:12px">$1. $2</span>'),L=L.replace(/\n(?!<)/g,"<br>"),L}function ve(z){z.key==="Escape"&&get(E)==="edit"&&(z.stopPropagation(),q())}var Te={get endpoint(){return h()},set endpoint(z){h(z),flushSync()},get project(){return g()},set project(z){g(z),flushSync()},get onnoteschanged(){return m()},set onnoteschanged(z){m(z),flushSync()}},Ee=root$2(),me=child(Ee);{var Se=z=>{var L=root_1$2(),P=child(L),G=sibling(child(P),2);reset(P);var W=sibling(P,2);{var ie=ge=>{var ee=root_2$2();append(ge,ee)},J=ge=>{var ee=root_3$1(),he=child(ee),B=sibling(he);reset(ee),template_effect(()=>set_text(he,`${get(y)??""} `)),delegated("click",B,F),append(ge,ee)},ne=ge=>{var ee=root_4$1(),he=first_child(ee);{var B=V=>{var D=root_5$1(),H=child(D),X=sibling(child(H),2),fe=child(X),Q=child(fe,!0);reset(fe);var ue=sibling(fe,2),be=child(ue);reset(ue),reset(X),reset(H),next(2),reset(D),template_effect((Ue,Ce)=>{set_text(Q,get(N).title||"Site-wide notes"),set_text(be,`${Ue??""} line${Ce??""}`)},[()=>se(get(N).content),()=>se(get(N).content)!==1?"s":""]),delegated("click",D,()=>j(get(N))),append(V,D)},K=V=>{var D=root_6$1();delegated("click",D,()=>Y(null)),append(V,D)};if_block(he,V=>{get(N)?V(B):V(K,!1)})}var pe=sibling(he,2);{var le=V=>{var D=root_7$1();append(V,D)};if_block(pe,V=>{(get($).length>0||!get(O))&&V(le)})}var we=sibling(pe,2);each(we,17,()=>get($),index,(V,D)=>{var H=root_8$1();let X;var fe=child(H),Q=sibling(child(fe),2),ue=child(Q),be=child(ue),Ue=sibling(be);{var Ce=te=>{var Xe=root_9$1();append(te,Xe)};if_block(Ue,te=>{get(D).route===get(x)&&te(Ce)})}reset(ue);var Ze=sibling(ue,2),Le=child(Ze);reset(Ze),reset(Q),reset(fe),next(2),reset(H),template_effect((te,Xe)=>{X=set_class(H,1,"note-row svelte-zp32f3",null,X,{current:get(D).route===get(x)}),set_text(be,`${get(D).route??""} `),set_text(Le,`${te??""} line${Xe??""}`)},[()=>se(get(D).content),()=>se(get(D).content)!==1?"s":""]),delegated("click",H,()=>j(get(D))),append(V,H)});var ze=sibling(we,2);{var xe=V=>{var D=root_10(),H=child(D),X=sibling(child(H),2),fe=child(X);reset(X),reset(H),reset(D),template_effect(()=>set_text(fe,`Add note for ${get(x)??""}`)),delegated("click",D,()=>Y(get(x))),append(V,D)};if_block(ze,V=>{get(O)||V(xe)})}var Ve=sibling(ze,2);{var ae=V=>{var D=root_11$1();append(V,D)};if_block(Ve,V=>{get(_).length===0&&!get(b)&&V(ae)})}append(ge,ee)};if_block(W,ge=>{get(b)?ge(ie):get(y)?ge(J,1):ge(ne,!1)})}reset(L),template_effect(()=>G.disabled=!!get(N)),delegated("click",G,()=>Y(null)),transition(3,L,()=>slide,()=>({duration:200})),append(z,L)},T=z=>{var L=root_12$1(),P=child(L),G=child(P),W=sibling(G,2),ie=child(W,!0);reset(W);var J=sibling(W,2);let ne;var ge=child(J,!0);reset(J),reset(P);var ee=sibling(P,2),he=child(ee),B=sibling(child(he),2);remove_input_defaults(B),reset(he);var K=sibling(he,2);{var pe=Q=>{var ue=root_13$1(),be=child(ue);html(be,()=>ye(get(A))),reset(ue),append(Q,ue)},le=Q=>{var ue=root_14$1(),be=sibling(child(ue),2);remove_textarea_child(be),reset(ue),template_effect(()=>be.disabled=get(w)),bind_value(be,()=>get(A),Ue=>set(A,Ue)),append(Q,ue)};if_block(K,Q=>{get(R)?Q(pe):Q(le,!1)})}var we=sibling(K,2);{var ze=Q=>{var ue=root_15$1(),be=child(ue,!0);reset(ue),template_effect(()=>set_text(be,get(y))),append(Q,ue)};if_block(we,Q=>{get(y)&&Q(ze)})}reset(ee);var xe=sibling(ee,2),Ve=child(xe);{var ae=Q=>{var ue=root_16$1();let be;var Ue=child(ue,!0);reset(ue),template_effect(()=>{be=set_class(ue,1,"delete-btn svelte-zp32f3",null,be,{confirm:get(C)}),ue.disabled=get(w),set_text(Ue,get(C)?"Confirm delete?":"Delete")}),delegated("click",ue,oe),append(Q,ue)};if_block(Ve,Q=>{get(k)||Q(ae)})}var V=sibling(Ve,4),D=sibling(V,2),H=child(D);{var X=Q=>{var ue=root_17$1();append(Q,ue)};if_block(H,Q=>{get(w)&&Q(X)})}var fe=sibling(H);reset(D),reset(xe),reset(L),template_effect(Q=>{set_text(ie,get(M)?get(M):"Site-wide"),ne=set_class(J,1,"preview-toggle svelte-zp32f3",null,ne,{active:get(R)}),set_text(ge,get(R)?"Edit":"Preview"),B.disabled=get(w),V.disabled=get(w),D.disabled=Q,set_text(fe,` ${get(k)?"Create":"Save"}`)},[()=>get(w)||!get(I).trim()]),delegated("click",G,q),delegated("click",J,()=>set(R,!get(R))),bind_value(B,()=>get(I),Q=>set(I,Q)),delegated("click",V,q),delegated("click",D,de),transition(3,L,()=>slide,()=>({duration:200})),append(z,L)};if_block(me,z=>{get(E)==="list"?z(Se):get(E)==="edit"&&z(T,1)})}return reset(Ee),delegated("keydown",Ee,ve),append(d,Ee),pop(Te)}delegate(["keydown","click"]),create_custom_element(NotesPanel,{endpoint:{},project:{},onnoteschanged:{}},[],[],{mode:"open"});function $constructor(d,p,h){function g(y,w){var x;Object.defineProperty(y,"_zod",{value:y._zod??{},enumerable:!1}),(x=y._zod).traits??(x.traits=new Set),y._zod.traits.add(d),p(y,w);for(const E in b.prototype)E in y||Object.defineProperty(y,E,{value:b.prototype[E].bind(y)});y._zod.constr=b,y._zod.def=w}const m=(h==null?void 0:h.Parent)??Object;class _ extends m{}Object.defineProperty(_,"name",{value:d});function b(y){var w;const x=h!=null&&h.Parent?new _:this;g(x,y),(w=x._zod).deferred??(w.deferred=[]);for(const E of x._zod.deferred)E();return x}return Object.defineProperty(b,"init",{value:g}),Object.defineProperty(b,Symbol.hasInstance,{value:y=>{var w,x;return h!=null&&h.Parent&&y instanceof h.Parent?!0:(x=(w=y==null?void 0:y._zod)==null?void 0:w.traits)==null?void 0:x.has(d)}}),Object.defineProperty(b,"name",{value:d}),b}class $ZodAsyncError extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const globalConfig={};function config(d){return globalConfig}function getEnumValues(d){const p=Object.values(d).filter(g=>typeof g=="number");return Object.entries(d).filter(([g,m])=>p.indexOf(+g)===-1).map(([g,m])=>m)}function jsonStringifyReplacer(d,p){return typeof p=="bigint"?p.toString():p}function cached(d){return{get value(){{const p=d();return Object.defineProperty(this,"value",{value:p}),p}}}}function nullish(d){return d==null}function cleanRegex(d){const p=d.startsWith("^")?1:0,h=d.endsWith("$")?d.length-1:d.length;return d.slice(p,h)}function floatSafeRemainder(d,p){const h=(d.toString().split(".")[1]||"").length,g=(p.toString().split(".")[1]||"").length,m=h>g?h:g,_=Number.parseInt(d.toFixed(m).replace(".","")),b=Number.parseInt(p.toFixed(m).replace(".",""));return _%b/10**m}function defineLazy(d,p,h){Object.defineProperty(d,p,{get(){{const g=h();return d[p]=g,g}},set(g){Object.defineProperty(d,p,{value:g})},configurable:!0})}function assignProp(d,p,h){Object.defineProperty(d,p,{value:h,writable:!0,enumerable:!0,configurable:!0})}function esc(d){return JSON.stringify(d)}const captureStackTrace=Error.captureStackTrace?Error.captureStackTrace:(...d)=>{};function isObject(d){return typeof d=="object"&&d!==null&&!Array.isArray(d)}const allowsEval=cached(()=>{var d;if(typeof navigator<"u"&&((d=navigator==null?void 0:navigator.userAgent)!=null&&d.includes("Cloudflare")))return!1;try{const p=Function;return new p(""),!0}catch{return!1}});function isPlainObject(d){if(isObject(d)===!1)return!1;const p=d.constructor;if(p===void 0)return!0;const h=p.prototype;return!(isObject(h)===!1||Object.prototype.hasOwnProperty.call(h,"isPrototypeOf")===!1)}const propertyKeyTypes=new Set(["string","number","symbol"]);function escapeRegex(d){return d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(d,p,h){const g=new d._zod.constr(p??d._zod.def);return(!p||h!=null&&h.parent)&&(g._zod.parent=d),g}function normalizeParams(d){const p=d;if(!p)return{};if(typeof p=="string")return{error:()=>p};if((p==null?void 0:p.message)!==void 0){if((p==null?void 0:p.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");p.error=p.message}return delete p.message,typeof p.error=="string"?{...p,error:()=>p.error}:p}function optionalKeys(d){return Object.keys(d).filter(p=>d[p]._zod.optin==="optional"&&d[p]._zod.optout==="optional")}const NUMBER_FORMAT_RANGES={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function pick(d,p){const h={},g=d._zod.def;for(const m in p){if(!(m in g.shape))throw new Error(`Unrecognized key: "${m}"`);p[m]&&(h[m]=g.shape[m])}return clone(d,{...d._zod.def,shape:h,checks:[]})}function omit(d,p){const h={...d._zod.def.shape},g=d._zod.def;for(const m in p){if(!(m in g.shape))throw new Error(`Unrecognized key: "${m}"`);p[m]&&delete h[m]}return clone(d,{...d._zod.def,shape:h,checks:[]})}function extend(d,p){if(!isPlainObject(p))throw new Error("Invalid input to extend: expected a plain object");const h={...d._zod.def,get shape(){const g={...d._zod.def.shape,...p};return assignProp(this,"shape",g),g},checks:[]};return clone(d,h)}function merge(d,p){return clone(d,{...d._zod.def,get shape(){const h={...d._zod.def.shape,...p._zod.def.shape};return assignProp(this,"shape",h),h},catchall:p._zod.def.catchall,checks:[]})}function partial(d,p,h){const g=p._zod.def.shape,m={...g};if(h)for(const _ in h){if(!(_ in g))throw new Error(`Unrecognized key: "${_}"`);h[_]&&(m[_]=d?new d({type:"optional",innerType:g[_]}):g[_])}else for(const _ in g)m[_]=d?new d({type:"optional",innerType:g[_]}):g[_];return clone(p,{...p._zod.def,shape:m,checks:[]})}function required(d,p,h){const g=p._zod.def.shape,m={...g};if(h)for(const _ in h){if(!(_ in m))throw new Error(`Unrecognized key: "${_}"`);h[_]&&(m[_]=new d({type:"nonoptional",innerType:g[_]}))}else for(const _ in g)m[_]=new d({type:"nonoptional",innerType:g[_]});return clone(p,{...p._zod.def,shape:m,checks:[]})}function aborted(d,p=0){var h;for(let g=p;g<d.issues.length;g++)if(((h=d.issues[g])==null?void 0:h.continue)!==!0)return!0;return!1}function prefixIssues(d,p){return p.map(h=>{var g;return(g=h).path??(g.path=[]),h.path.unshift(d),h})}function unwrapMessage(d){return typeof d=="string"?d:d==null?void 0:d.message}function finalizeIssue(d,p,h){var m,_,b,y,w,x;const g={...d,path:d.path??[]};if(!d.message){const E=unwrapMessage((b=(_=(m=d.inst)==null?void 0:m._zod.def)==null?void 0:_.error)==null?void 0:b.call(_,d))??unwrapMessage((y=p==null?void 0:p.error)==null?void 0:y.call(p,d))??unwrapMessage((w=h.customError)==null?void 0:w.call(h,d))??unwrapMessage((x=h.localeError)==null?void 0:x.call(h,d))??"Invalid input";g.message=E}return delete g.inst,delete g.continue,p!=null&&p.reportInput||delete g.input,g}function getLengthableOrigin(d){return Array.isArray(d)?"array":typeof d=="string"?"string":"unknown"}function issue(...d){const[p,h,g]=d;return typeof p=="string"?{message:p,code:"custom",input:h,inst:g}:{...p}}const initializer$1=(d,p)=>{d.name="$ZodError",Object.defineProperty(d,"_zod",{value:d._zod,enumerable:!1}),Object.defineProperty(d,"issues",{value:p,enumerable:!1}),Object.defineProperty(d,"message",{get(){return JSON.stringify(p,jsonStringifyReplacer,2)},enumerable:!0}),Object.defineProperty(d,"toString",{value:()=>d.message,enumerable:!1})},$ZodError=$constructor("$ZodError",initializer$1),$ZodRealError=$constructor("$ZodError",initializer$1,{Parent:Error});function flattenError(d,p=h=>h.message){const h={},g=[];for(const m of d.issues)m.path.length>0?(h[m.path[0]]=h[m.path[0]]||[],h[m.path[0]].push(p(m))):g.push(p(m));return{formErrors:g,fieldErrors:h}}function formatError(d,p){const h=p||function(_){return _.message},g={_errors:[]},m=_=>{for(const b of _.issues)if(b.code==="invalid_union"&&b.errors.length)b.errors.map(y=>m({issues:y}));else if(b.code==="invalid_key")m({issues:b.issues});else if(b.code==="invalid_element")m({issues:b.issues});else if(b.path.length===0)g._errors.push(h(b));else{let y=g,w=0;for(;w<b.path.length;){const x=b.path[w];w===b.path.length-1?(y[x]=y[x]||{_errors:[]},y[x]._errors.push(h(b))):y[x]=y[x]||{_errors:[]},y=y[x],w++}}};return m(d),g}function toDotPath(d){const p=[];for(const h of d)typeof h=="number"?p.push(`[${h}]`):typeof h=="symbol"?p.push(`[${JSON.stringify(String(h))}]`):/[^\w$]/.test(h)?p.push(`[${JSON.stringify(h)}]`):(p.length&&p.push("."),p.push(h));return p.join("")}function prettifyError(d){var g;const p=[],h=[...d.issues].sort((m,_)=>m.path.length-_.path.length);for(const m of h)p.push(`✖ ${m.message}`),(g=m.path)!=null&&g.length&&p.push(` → at ${toDotPath(m.path)}`);return p.join(`
|
|
182
|
+
`)}const _parse=d=>(p,h,g,m)=>{const _=g?Object.assign(g,{async:!1}):{async:!1},b=p._zod.run({value:h,issues:[]},_);if(b instanceof Promise)throw new $ZodAsyncError;if(b.issues.length){const y=new((m==null?void 0:m.Err)??d)(b.issues.map(w=>finalizeIssue(w,_,config())));throw captureStackTrace(y,m==null?void 0:m.callee),y}return b.value},_parseAsync=d=>async(p,h,g,m)=>{const _=g?Object.assign(g,{async:!0}):{async:!0};let b=p._zod.run({value:h,issues:[]},_);if(b instanceof Promise&&(b=await b),b.issues.length){const y=new((m==null?void 0:m.Err)??d)(b.issues.map(w=>finalizeIssue(w,_,config())));throw captureStackTrace(y,m==null?void 0:m.callee),y}return b.value},_safeParse=d=>(p,h,g)=>{const m=g?{...g,async:!1}:{async:!1},_=p._zod.run({value:h,issues:[]},m);if(_ instanceof Promise)throw new $ZodAsyncError;return _.issues.length?{success:!1,error:new(d??$ZodError)(_.issues.map(b=>finalizeIssue(b,m,config())))}:{success:!0,data:_.value}},safeParse$1=_safeParse($ZodRealError),_safeParseAsync=d=>async(p,h,g)=>{const m=g?Object.assign(g,{async:!0}):{async:!0};let _=p._zod.run({value:h,issues:[]},m);return _ instanceof Promise&&(_=await _),_.issues.length?{success:!1,error:new d(_.issues.map(b=>finalizeIssue(b,m,config())))}:{success:!0,data:_.value}},safeParseAsync$1=_safeParseAsync($ZodRealError),cuid=/^[cC][^\s-]{8,}$/,cuid2=/^[0-9a-z]+$/,ulid=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xid=/^[0-9a-vA-V]{20}$/,ksuid=/^[A-Za-z0-9]{27}$/,nanoid=/^[a-zA-Z0-9_-]{21}$/,duration$1=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,guid=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,uuid=d=>d?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${d}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,email=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_emoji$1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function emoji(){return new RegExp(_emoji$1,"u")}const ipv4=/^(?:(?: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])$/,ipv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,cidrv4=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,cidrv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url=/^[A-Za-z0-9_-]*$/,hostname=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,e164=/^\+(?:[0-9]){6,14}[0-9]$/,dateSource="(?:(?:\\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])))",date$1=new RegExp(`^${dateSource}$`);function timeSource(d){const p="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof d.precision=="number"?d.precision===-1?`${p}`:d.precision===0?`${p}:[0-5]\\d`:`${p}:[0-5]\\d\\.\\d{${d.precision}}`:`${p}(?::[0-5]\\d(?:\\.\\d+)?)?`}function time$1(d){return new RegExp(`^${timeSource(d)}$`)}function datetime$1(d){const p=timeSource({precision:d.precision}),h=["Z"];d.local&&h.push(""),d.offset&&h.push("([+-]\\d{2}:\\d{2})");const g=`${p}(?:${h.join("|")})`;return new RegExp(`^${dateSource}T(?:${g})$`)}const string$1=d=>{const p=d?`[\\s\\S]{${(d==null?void 0:d.minimum)??0},${(d==null?void 0:d.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${p}$`)},integer=/^\d+$/,number$1=/^-?\d+(?:\.\d+)?/i,boolean$1=/true|false/i,lowercase=/^[^A-Z]*$/,uppercase=/^[^a-z]*$/,$ZodCheck=$constructor("$ZodCheck",(d,p)=>{var h;d._zod??(d._zod={}),d._zod.def=p,(h=d._zod).onattach??(h.onattach=[])}),numericOriginMap={number:"number",bigint:"bigint",object:"date"},$ZodCheckLessThan=$constructor("$ZodCheckLessThan",(d,p)=>{$ZodCheck.init(d,p);const h=numericOriginMap[typeof p.value];d._zod.onattach.push(g=>{const m=g._zod.bag,_=(p.inclusive?m.maximum:m.exclusiveMaximum)??Number.POSITIVE_INFINITY;p.value<_&&(p.inclusive?m.maximum=p.value:m.exclusiveMaximum=p.value)}),d._zod.check=g=>{(p.inclusive?g.value<=p.value:g.value<p.value)||g.issues.push({origin:h,code:"too_big",maximum:p.value,input:g.value,inclusive:p.inclusive,inst:d,continue:!p.abort})}}),$ZodCheckGreaterThan=$constructor("$ZodCheckGreaterThan",(d,p)=>{$ZodCheck.init(d,p);const h=numericOriginMap[typeof p.value];d._zod.onattach.push(g=>{const m=g._zod.bag,_=(p.inclusive?m.minimum:m.exclusiveMinimum)??Number.NEGATIVE_INFINITY;p.value>_&&(p.inclusive?m.minimum=p.value:m.exclusiveMinimum=p.value)}),d._zod.check=g=>{(p.inclusive?g.value>=p.value:g.value>p.value)||g.issues.push({origin:h,code:"too_small",minimum:p.value,input:g.value,inclusive:p.inclusive,inst:d,continue:!p.abort})}}),$ZodCheckMultipleOf=$constructor("$ZodCheckMultipleOf",(d,p)=>{$ZodCheck.init(d,p),d._zod.onattach.push(h=>{var g;(g=h._zod.bag).multipleOf??(g.multipleOf=p.value)}),d._zod.check=h=>{if(typeof h.value!=typeof p.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof h.value=="bigint"?h.value%p.value===BigInt(0):floatSafeRemainder(h.value,p.value)===0)||h.issues.push({origin:typeof h.value,code:"not_multiple_of",divisor:p.value,input:h.value,inst:d,continue:!p.abort})}}),$ZodCheckNumberFormat=$constructor("$ZodCheckNumberFormat",(d,p)=>{var b;$ZodCheck.init(d,p),p.format=p.format||"float64";const h=(b=p.format)==null?void 0:b.includes("int"),g=h?"int":"number",[m,_]=NUMBER_FORMAT_RANGES[p.format];d._zod.onattach.push(y=>{const w=y._zod.bag;w.format=p.format,w.minimum=m,w.maximum=_,h&&(w.pattern=integer)}),d._zod.check=y=>{const w=y.value;if(h){if(!Number.isInteger(w)){y.issues.push({expected:g,format:p.format,code:"invalid_type",input:w,inst:d});return}if(!Number.isSafeInteger(w)){w>0?y.issues.push({input:w,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:d,origin:g,continue:!p.abort}):y.issues.push({input:w,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:d,origin:g,continue:!p.abort});return}}w<m&&y.issues.push({origin:"number",input:w,code:"too_small",minimum:m,inclusive:!0,inst:d,continue:!p.abort}),w>_&&y.issues.push({origin:"number",input:w,code:"too_big",maximum:_,inst:d})}}),$ZodCheckMaxLength=$constructor("$ZodCheckMaxLength",(d,p)=>{var h;$ZodCheck.init(d,p),(h=d._zod.def).when??(h.when=g=>{const m=g.value;return!nullish(m)&&m.length!==void 0}),d._zod.onattach.push(g=>{const m=g._zod.bag.maximum??Number.POSITIVE_INFINITY;p.maximum<m&&(g._zod.bag.maximum=p.maximum)}),d._zod.check=g=>{const m=g.value;if(m.length<=p.maximum)return;const b=getLengthableOrigin(m);g.issues.push({origin:b,code:"too_big",maximum:p.maximum,inclusive:!0,input:m,inst:d,continue:!p.abort})}}),$ZodCheckMinLength=$constructor("$ZodCheckMinLength",(d,p)=>{var h;$ZodCheck.init(d,p),(h=d._zod.def).when??(h.when=g=>{const m=g.value;return!nullish(m)&&m.length!==void 0}),d._zod.onattach.push(g=>{const m=g._zod.bag.minimum??Number.NEGATIVE_INFINITY;p.minimum>m&&(g._zod.bag.minimum=p.minimum)}),d._zod.check=g=>{const m=g.value;if(m.length>=p.minimum)return;const b=getLengthableOrigin(m);g.issues.push({origin:b,code:"too_small",minimum:p.minimum,inclusive:!0,input:m,inst:d,continue:!p.abort})}}),$ZodCheckLengthEquals=$constructor("$ZodCheckLengthEquals",(d,p)=>{var h;$ZodCheck.init(d,p),(h=d._zod.def).when??(h.when=g=>{const m=g.value;return!nullish(m)&&m.length!==void 0}),d._zod.onattach.push(g=>{const m=g._zod.bag;m.minimum=p.length,m.maximum=p.length,m.length=p.length}),d._zod.check=g=>{const m=g.value,_=m.length;if(_===p.length)return;const b=getLengthableOrigin(m),y=_>p.length;g.issues.push({origin:b,...y?{code:"too_big",maximum:p.length}:{code:"too_small",minimum:p.length},inclusive:!0,exact:!0,input:g.value,inst:d,continue:!p.abort})}}),$ZodCheckStringFormat=$constructor("$ZodCheckStringFormat",(d,p)=>{var h,g;$ZodCheck.init(d,p),d._zod.onattach.push(m=>{const _=m._zod.bag;_.format=p.format,p.pattern&&(_.patterns??(_.patterns=new Set),_.patterns.add(p.pattern))}),p.pattern?(h=d._zod).check??(h.check=m=>{p.pattern.lastIndex=0,!p.pattern.test(m.value)&&m.issues.push({origin:"string",code:"invalid_format",format:p.format,input:m.value,...p.pattern?{pattern:p.pattern.toString()}:{},inst:d,continue:!p.abort})}):(g=d._zod).check??(g.check=()=>{})}),$ZodCheckRegex=$constructor("$ZodCheckRegex",(d,p)=>{$ZodCheckStringFormat.init(d,p),d._zod.check=h=>{p.pattern.lastIndex=0,!p.pattern.test(h.value)&&h.issues.push({origin:"string",code:"invalid_format",format:"regex",input:h.value,pattern:p.pattern.toString(),inst:d,continue:!p.abort})}}),$ZodCheckLowerCase=$constructor("$ZodCheckLowerCase",(d,p)=>{p.pattern??(p.pattern=lowercase),$ZodCheckStringFormat.init(d,p)}),$ZodCheckUpperCase=$constructor("$ZodCheckUpperCase",(d,p)=>{p.pattern??(p.pattern=uppercase),$ZodCheckStringFormat.init(d,p)}),$ZodCheckIncludes=$constructor("$ZodCheckIncludes",(d,p)=>{$ZodCheck.init(d,p);const h=escapeRegex(p.includes),g=new RegExp(typeof p.position=="number"?`^.{${p.position}}${h}`:h);p.pattern=g,d._zod.onattach.push(m=>{const _=m._zod.bag;_.patterns??(_.patterns=new Set),_.patterns.add(g)}),d._zod.check=m=>{m.value.includes(p.includes,p.position)||m.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:p.includes,input:m.value,inst:d,continue:!p.abort})}}),$ZodCheckStartsWith=$constructor("$ZodCheckStartsWith",(d,p)=>{$ZodCheck.init(d,p);const h=new RegExp(`^${escapeRegex(p.prefix)}.*`);p.pattern??(p.pattern=h),d._zod.onattach.push(g=>{const m=g._zod.bag;m.patterns??(m.patterns=new Set),m.patterns.add(h)}),d._zod.check=g=>{g.value.startsWith(p.prefix)||g.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:p.prefix,input:g.value,inst:d,continue:!p.abort})}}),$ZodCheckEndsWith=$constructor("$ZodCheckEndsWith",(d,p)=>{$ZodCheck.init(d,p);const h=new RegExp(`.*${escapeRegex(p.suffix)}$`);p.pattern??(p.pattern=h),d._zod.onattach.push(g=>{const m=g._zod.bag;m.patterns??(m.patterns=new Set),m.patterns.add(h)}),d._zod.check=g=>{g.value.endsWith(p.suffix)||g.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:p.suffix,input:g.value,inst:d,continue:!p.abort})}}),$ZodCheckOverwrite=$constructor("$ZodCheckOverwrite",(d,p)=>{$ZodCheck.init(d,p),d._zod.check=h=>{h.value=p.tx(h.value)}});class Doc{constructor(p=[]){this.content=[],this.indent=0,this&&(this.args=p)}indented(p){this.indent+=1,p(this),this.indent-=1}write(p){if(typeof p=="function"){p(this,{execution:"sync"}),p(this,{execution:"async"});return}const g=p.split(`
|
|
183
|
+
`).filter(b=>b),m=Math.min(...g.map(b=>b.length-b.trimStart().length)),_=g.map(b=>b.slice(m)).map(b=>" ".repeat(this.indent*2)+b);for(const b of _)this.content.push(b)}compile(){const p=Function,h=this==null?void 0:this.args,m=[...((this==null?void 0:this.content)??[""]).map(_=>` ${_}`)];return new p(...h,m.join(`
|
|
184
|
+
`))}}const version={major:4,minor:0,patch:0},$ZodType=$constructor("$ZodType",(d,p)=>{var m;var h;d??(d={}),d._zod.def=p,d._zod.bag=d._zod.bag||{},d._zod.version=version;const g=[...d._zod.def.checks??[]];d._zod.traits.has("$ZodCheck")&&g.unshift(d);for(const _ of g)for(const b of _._zod.onattach)b(d);if(g.length===0)(h=d._zod).deferred??(h.deferred=[]),(m=d._zod.deferred)==null||m.push(()=>{d._zod.run=d._zod.parse});else{const _=(b,y,w)=>{let x=aborted(b),E;for(const S of y){if(S._zod.def.when){if(!S._zod.def.when(b))continue}else if(x)continue;const k=b.issues.length,I=S._zod.check(b);if(I instanceof Promise&&(w==null?void 0:w.async)===!1)throw new $ZodAsyncError;if(E||I instanceof Promise)E=(E??Promise.resolve()).then(async()=>{await I,b.issues.length!==k&&(x||(x=aborted(b,k)))});else{if(b.issues.length===k)continue;x||(x=aborted(b,k))}}return E?E.then(()=>b):b};d._zod.run=(b,y)=>{const w=d._zod.parse(b,y);if(w instanceof Promise){if(y.async===!1)throw new $ZodAsyncError;return w.then(x=>_(x,g,y))}return _(w,g,y)}}d["~standard"]={validate:_=>{var b;try{const y=safeParse$1(d,_);return y.success?{value:y.data}:{issues:(b=y.error)==null?void 0:b.issues}}catch{return safeParseAsync$1(d,_).then(w=>{var x;return w.success?{value:w.data}:{issues:(x=w.error)==null?void 0:x.issues}})}},vendor:"zod",version:1}}),$ZodString=$constructor("$ZodString",(d,p)=>{var h;$ZodType.init(d,p),d._zod.pattern=[...((h=d==null?void 0:d._zod.bag)==null?void 0:h.patterns)??[]].pop()??string$1(d._zod.bag),d._zod.parse=(g,m)=>{if(p.coerce)try{g.value=String(g.value)}catch{}return typeof g.value=="string"||g.issues.push({expected:"string",code:"invalid_type",input:g.value,inst:d}),g}}),$ZodStringFormat=$constructor("$ZodStringFormat",(d,p)=>{$ZodCheckStringFormat.init(d,p),$ZodString.init(d,p)}),$ZodGUID=$constructor("$ZodGUID",(d,p)=>{p.pattern??(p.pattern=guid),$ZodStringFormat.init(d,p)}),$ZodUUID=$constructor("$ZodUUID",(d,p)=>{if(p.version){const g={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[p.version];if(g===void 0)throw new Error(`Invalid UUID version: "${p.version}"`);p.pattern??(p.pattern=uuid(g))}else p.pattern??(p.pattern=uuid());$ZodStringFormat.init(d,p)}),$ZodEmail=$constructor("$ZodEmail",(d,p)=>{p.pattern??(p.pattern=email),$ZodStringFormat.init(d,p)}),$ZodURL=$constructor("$ZodURL",(d,p)=>{$ZodStringFormat.init(d,p),d._zod.check=h=>{try{const g=h.value,m=new URL(g),_=m.href;p.hostname&&(p.hostname.lastIndex=0,p.hostname.test(m.hostname)||h.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:hostname.source,input:h.value,inst:d,continue:!p.abort})),p.protocol&&(p.protocol.lastIndex=0,p.protocol.test(m.protocol.endsWith(":")?m.protocol.slice(0,-1):m.protocol)||h.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:p.protocol.source,input:h.value,inst:d,continue:!p.abort})),!g.endsWith("/")&&_.endsWith("/")?h.value=_.slice(0,-1):h.value=_;return}catch{h.issues.push({code:"invalid_format",format:"url",input:h.value,inst:d,continue:!p.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(d,p)=>{p.pattern??(p.pattern=emoji()),$ZodStringFormat.init(d,p)}),$ZodNanoID=$constructor("$ZodNanoID",(d,p)=>{p.pattern??(p.pattern=nanoid),$ZodStringFormat.init(d,p)}),$ZodCUID=$constructor("$ZodCUID",(d,p)=>{p.pattern??(p.pattern=cuid),$ZodStringFormat.init(d,p)}),$ZodCUID2=$constructor("$ZodCUID2",(d,p)=>{p.pattern??(p.pattern=cuid2),$ZodStringFormat.init(d,p)}),$ZodULID=$constructor("$ZodULID",(d,p)=>{p.pattern??(p.pattern=ulid),$ZodStringFormat.init(d,p)}),$ZodXID=$constructor("$ZodXID",(d,p)=>{p.pattern??(p.pattern=xid),$ZodStringFormat.init(d,p)}),$ZodKSUID=$constructor("$ZodKSUID",(d,p)=>{p.pattern??(p.pattern=ksuid),$ZodStringFormat.init(d,p)}),$ZodISODateTime=$constructor("$ZodISODateTime",(d,p)=>{p.pattern??(p.pattern=datetime$1(p)),$ZodStringFormat.init(d,p)}),$ZodISODate=$constructor("$ZodISODate",(d,p)=>{p.pattern??(p.pattern=date$1),$ZodStringFormat.init(d,p)}),$ZodISOTime=$constructor("$ZodISOTime",(d,p)=>{p.pattern??(p.pattern=time$1(p)),$ZodStringFormat.init(d,p)}),$ZodISODuration=$constructor("$ZodISODuration",(d,p)=>{p.pattern??(p.pattern=duration$1),$ZodStringFormat.init(d,p)}),$ZodIPv4=$constructor("$ZodIPv4",(d,p)=>{p.pattern??(p.pattern=ipv4),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{const g=h._zod.bag;g.format="ipv4"})}),$ZodIPv6=$constructor("$ZodIPv6",(d,p)=>{p.pattern??(p.pattern=ipv6),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{const g=h._zod.bag;g.format="ipv6"}),d._zod.check=h=>{try{new URL(`http://[${h.value}]`)}catch{h.issues.push({code:"invalid_format",format:"ipv6",input:h.value,inst:d,continue:!p.abort})}}}),$ZodCIDRv4=$constructor("$ZodCIDRv4",(d,p)=>{p.pattern??(p.pattern=cidrv4),$ZodStringFormat.init(d,p)}),$ZodCIDRv6=$constructor("$ZodCIDRv6",(d,p)=>{p.pattern??(p.pattern=cidrv6),$ZodStringFormat.init(d,p),d._zod.check=h=>{const[g,m]=h.value.split("/");try{if(!m)throw new Error;const _=Number(m);if(`${_}`!==m)throw new Error;if(_<0||_>128)throw new Error;new URL(`http://[${g}]`)}catch{h.issues.push({code:"invalid_format",format:"cidrv6",input:h.value,inst:d,continue:!p.abort})}}});function isValidBase64(d){if(d==="")return!0;if(d.length%4!==0)return!1;try{return atob(d),!0}catch{return!1}}const $ZodBase64=$constructor("$ZodBase64",(d,p)=>{p.pattern??(p.pattern=base64),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{h._zod.bag.contentEncoding="base64"}),d._zod.check=h=>{isValidBase64(h.value)||h.issues.push({code:"invalid_format",format:"base64",input:h.value,inst:d,continue:!p.abort})}});function isValidBase64URL(d){if(!base64url.test(d))return!1;const p=d.replace(/[-_]/g,g=>g==="-"?"+":"/"),h=p.padEnd(Math.ceil(p.length/4)*4,"=");return isValidBase64(h)}const $ZodBase64URL=$constructor("$ZodBase64URL",(d,p)=>{p.pattern??(p.pattern=base64url),$ZodStringFormat.init(d,p),d._zod.onattach.push(h=>{h._zod.bag.contentEncoding="base64url"}),d._zod.check=h=>{isValidBase64URL(h.value)||h.issues.push({code:"invalid_format",format:"base64url",input:h.value,inst:d,continue:!p.abort})}}),$ZodE164=$constructor("$ZodE164",(d,p)=>{p.pattern??(p.pattern=e164),$ZodStringFormat.init(d,p)});function isValidJWT(d,p=null){try{const h=d.split(".");if(h.length!==3)return!1;const[g]=h;if(!g)return!1;const m=JSON.parse(atob(g));return!("typ"in m&&(m==null?void 0:m.typ)!=="JWT"||!m.alg||p&&(!("alg"in m)||m.alg!==p))}catch{return!1}}const $ZodJWT=$constructor("$ZodJWT",(d,p)=>{$ZodStringFormat.init(d,p),d._zod.check=h=>{isValidJWT(h.value,p.alg)||h.issues.push({code:"invalid_format",format:"jwt",input:h.value,inst:d,continue:!p.abort})}}),$ZodNumber=$constructor("$ZodNumber",(d,p)=>{$ZodType.init(d,p),d._zod.pattern=d._zod.bag.pattern??number$1,d._zod.parse=(h,g)=>{if(p.coerce)try{h.value=Number(h.value)}catch{}const m=h.value;if(typeof m=="number"&&!Number.isNaN(m)&&Number.isFinite(m))return h;const _=typeof m=="number"?Number.isNaN(m)?"NaN":Number.isFinite(m)?void 0:"Infinity":void 0;return h.issues.push({expected:"number",code:"invalid_type",input:m,inst:d,..._?{received:_}:{}}),h}}),$ZodNumberFormat=$constructor("$ZodNumber",(d,p)=>{$ZodCheckNumberFormat.init(d,p),$ZodNumber.init(d,p)}),$ZodBoolean=$constructor("$ZodBoolean",(d,p)=>{$ZodType.init(d,p),d._zod.pattern=boolean$1,d._zod.parse=(h,g)=>{if(p.coerce)try{h.value=!!h.value}catch{}const m=h.value;return typeof m=="boolean"||h.issues.push({expected:"boolean",code:"invalid_type",input:m,inst:d}),h}}),$ZodAny=$constructor("$ZodAny",(d,p)=>{$ZodType.init(d,p),d._zod.parse=h=>h}),$ZodUnknown=$constructor("$ZodUnknown",(d,p)=>{$ZodType.init(d,p),d._zod.parse=h=>h}),$ZodNever=$constructor("$ZodNever",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>(h.issues.push({expected:"never",code:"invalid_type",input:h.value,inst:d}),h)});function handleArrayResult(d,p,h){d.issues.length&&p.issues.push(...prefixIssues(h,d.issues)),p.value[h]=d.value}const $ZodArray=$constructor("$ZodArray",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>{const m=h.value;if(!Array.isArray(m))return h.issues.push({expected:"array",code:"invalid_type",input:m,inst:d}),h;h.value=Array(m.length);const _=[];for(let b=0;b<m.length;b++){const y=m[b],w=p.element._zod.run({value:y,issues:[]},g);w instanceof Promise?_.push(w.then(x=>handleArrayResult(x,h,b))):handleArrayResult(w,h,b)}return _.length?Promise.all(_).then(()=>h):h}});function handleObjectResult(d,p,h){d.issues.length&&p.issues.push(...prefixIssues(h,d.issues)),p.value[h]=d.value}function handleOptionalObjectResult(d,p,h,g){d.issues.length?g[h]===void 0?h in g?p.value[h]=void 0:p.value[h]=d.value:p.issues.push(...prefixIssues(h,d.issues)):d.value===void 0?h in g&&(p.value[h]=void 0):p.value[h]=d.value}const $ZodObject=$constructor("$ZodObject",(d,p)=>{$ZodType.init(d,p);const h=cached(()=>{const S=Object.keys(p.shape);for(const I of S)if(!(p.shape[I]instanceof $ZodType))throw new Error(`Invalid element at key "${I}": expected a Zod schema`);const k=optionalKeys(p.shape);return{shape:p.shape,keys:S,keySet:new Set(S),numKeys:S.length,optionalKeys:new Set(k)}});defineLazy(d._zod,"propValues",()=>{const S=p.shape,k={};for(const I in S){const A=S[I]._zod;if(A.values){k[I]??(k[I]=new Set);for(const M of A.values)k[I].add(M)}}return k});const g=S=>{const k=new Doc(["shape","payload","ctx"]),I=h.value,A=N=>{const $=esc(N);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};k.write("const input = payload.value;");const M=Object.create(null);let R=0;for(const N of I.keys)M[N]=`key_${R++}`;k.write("const newResult = {}");for(const N of I.keys)if(I.optionalKeys.has(N)){const $=M[N];k.write(`const ${$} = ${A(N)};`);const O=esc(N);k.write(`
|
|
185
|
+
if (${$}.issues.length) {
|
|
186
|
+
if (input[${O}] === undefined) {
|
|
187
|
+
if (${O} in input) {
|
|
188
|
+
newResult[${O}] = undefined;
|
|
138
189
|
}
|
|
139
190
|
} else {
|
|
140
191
|
payload.issues = payload.issues.concat(
|
|
141
|
-
${
|
|
192
|
+
${$}.issues.map((iss) => ({
|
|
142
193
|
...iss,
|
|
143
|
-
path: iss.path ? [${
|
|
194
|
+
path: iss.path ? [${O}, ...iss.path] : [${O}],
|
|
144
195
|
}))
|
|
145
196
|
);
|
|
146
197
|
}
|
|
147
|
-
} else if (${
|
|
148
|
-
if (${
|
|
198
|
+
} else if (${$}.value === undefined) {
|
|
199
|
+
if (${O} in input) newResult[${O}] = undefined;
|
|
149
200
|
} else {
|
|
150
|
-
newResult[${
|
|
201
|
+
newResult[${O}] = ${$}.value;
|
|
151
202
|
}
|
|
152
|
-
`)}else{const
|
|
153
|
-
if (${
|
|
203
|
+
`)}else{const $=M[N];k.write(`const ${$} = ${A(N)};`),k.write(`
|
|
204
|
+
if (${$}.issues.length) payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
154
205
|
...iss,
|
|
155
|
-
path: iss.path ? [${esc(
|
|
156
|
-
})));`),f.write(`newResult[${esc(b)}] = ${m}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");const p=f.compile();return(b,m)=>p(d,b,m)};let o;const s=isObject,i=!globalConfig.jitless,l=i&&allowsEval.value,c=t.catchall;let u;e._zod.parse=(d,f)=>{u??(u=n.value);const v=d.value;if(!s(v))return d.issues.push({expected:"object",code:"invalid_type",input:v,inst:e}),d;const _=[];if(i&&l&&(f==null?void 0:f.async)===!1&&f.jitless!==!0)o||(o=r(t.shape)),d=o(d,f);else{d.value={};const m=u.shape;for(const $ of u.keys){const k=m[$],N=k._zod.run({value:v[$],issues:[]},f),O=k._zod.optin==="optional"&&k._zod.optout==="optional";N instanceof Promise?_.push(N.then(F=>O?handleOptionalObjectResult(F,d,$,v):handleObjectResult(F,d,$))):O?handleOptionalObjectResult(N,d,$,v):handleObjectResult(N,d,$)}}if(!c)return _.length?Promise.all(_).then(()=>d):d;const y=[],h=u.keySet,p=c._zod,b=p.def.type;for(const m of Object.keys(v)){if(h.has(m))continue;if(b==="never"){y.push(m);continue}const $=p.run({value:v[m],issues:[]},f);$ instanceof Promise?_.push($.then(k=>handleObjectResult(k,d,m))):handleObjectResult($,d,m)}return y.length&&d.issues.push({code:"unrecognized_keys",keys:y,input:v,inst:e}),_.length?Promise.all(_).then(()=>d):d}});function handleUnionResults(e,t,n,r){for(const o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(o=>o.issues.map(s=>finalizeIssue(s,r,config())))}),t}const $ZodUnion=$constructor("$ZodUnion",(e,t)=>{$ZodType.init(e,t),defineLazy(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),defineLazy(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),defineLazy(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),defineLazy(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${n.map(r=>cleanRegex(r.source)).join("|")})$`)}}),e._zod.parse=(n,r)=>{let o=!1;const s=[];for(const i of t.options){const a=i._zod.run({value:n.value,issues:[]},r);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>handleUnionResults(i,n,e,r)):handleUnionResults(s,n,e,r)}}),$ZodIntersection=$constructor("$ZodIntersection",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,s=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([l,c])=>handleIntersectionResults(n,l,c)):handleIntersectionResults(n,s,i)}});function mergeValues(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(isPlainObject(e)&&isPlainObject(t)){const n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};for(const s of r){const i=mergeValues(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r],i=mergeValues(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function handleIntersectionResults(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),aborted(e))return e;const r=mergeValues(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const $ZodRecord=$constructor("$ZodRecord",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!isPlainObject(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const s=[];if(t.keyType._zod.values){const i=t.keyType._zod.values;n.value={};for(const l of i)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){const c=t.valueType._zod.run({value:o[l],issues:[]},r);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&n.issues.push(...prefixIssues(l,u.issues)),n.value[l]=u.value})):(c.issues.length&&n.issues.push(...prefixIssues(l,c.issues)),n.value[l]=c.value)}let a;for(const l in o)i.has(l)||(a=a??[],a.push(l));a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{n.value={};for(const i of Reflect.ownKeys(o)){if(i==="__proto__")continue;const a=t.keyType._zod.run({value:i,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(c=>finalizeIssue(c,r,config())),input:i,path:[i],inst:e}),n.value[a.value]=a.value;continue}const l=t.valueType._zod.run({value:o[i],issues:[]},r);l instanceof Promise?s.push(l.then(c=>{c.issues.length&&n.issues.push(...prefixIssues(i,c.issues)),n.value[a.value]=c.value})):(l.issues.length&&n.issues.push(...prefixIssues(i,l.issues)),n.value[a.value]=l.value)}}return s.length?Promise.all(s).then(()=>n):n}}),$ZodEnum=$constructor("$ZodEnum",(e,t)=>{$ZodType.init(e,t);const n=getEnumValues(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter(r=>propertyKeyTypes.has(typeof r)).map(r=>typeof r=="string"?escapeRegex(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{const s=r.value;return e._zod.values.has(s)||r.issues.push({code:"invalid_value",values:n,input:s,inst:e}),r}}),$ZodTransform=$constructor("$ZodTransform",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>{const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n));if(o instanceof Promise)throw new $ZodAsyncError;return n.value=o,n}}),$ZodOptional=$constructor("$ZodOptional",(e,t)=>{$ZodType.init(e,t),e._zod.optin="optional",e._zod.optout="optional",defineLazy(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),defineLazy(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${cleanRegex(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(n,r):n.value===void 0?n:t.innerType._zod.run(n,r)}),$ZodNullable=$constructor("$ZodNullable",(e,t)=>{$ZodType.init(e,t),defineLazy(e._zod,"optin",()=>t.innerType._zod.optin),defineLazy(e._zod,"optout",()=>t.innerType._zod.optout),defineLazy(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${cleanRegex(n.source)}|null)$`):void 0}),defineLazy(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),$ZodDefault=$constructor("$ZodDefault",(e,t)=>{$ZodType.init(e,t),e._zod.optin="optional",defineLazy(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>handleDefaultResult(s,t)):handleDefaultResult(o,t)}});function handleDefaultResult(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const $ZodPrefault=$constructor("$ZodPrefault",(e,t)=>{$ZodType.init(e,t),e._zod.optin="optional",defineLazy(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),$ZodNonOptional=$constructor("$ZodNonOptional",(e,t)=>{$ZodType.init(e,t),defineLazy(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>handleNonOptionalResult(s,e)):handleNonOptionalResult(o,e)}});function handleNonOptionalResult(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const $ZodCatch=$constructor("$ZodCatch",(e,t)=>{$ZodType.init(e,t),e._zod.optin="optional",defineLazy(e._zod,"optout",()=>t.innerType._zod.optout),defineLazy(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>finalizeIssue(i,r,config()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(s=>finalizeIssue(s,r,config()))},input:n.value}),n.issues=[]),n)}}),$ZodPipe=$constructor("$ZodPipe",(e,t)=>{$ZodType.init(e,t),defineLazy(e._zod,"values",()=>t.in._zod.values),defineLazy(e._zod,"optin",()=>t.in._zod.optin),defineLazy(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>handlePipeResult(s,t,r)):handlePipeResult(o,t,r)}});function handlePipeResult(e,t,n){return aborted(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}const $ZodReadonly=$constructor("$ZodReadonly",(e,t)=>{$ZodType.init(e,t),defineLazy(e._zod,"propValues",()=>t.innerType._zod.propValues),defineLazy(e._zod,"values",()=>t.innerType._zod.values),defineLazy(e._zod,"optin",()=>t.innerType._zod.optin),defineLazy(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(handleReadonlyResult):handleReadonlyResult(o)}});function handleReadonlyResult(e){return e.value=Object.freeze(e.value),e}const $ZodCustom=$constructor("$ZodCustom",(e,t)=>{$ZodCheck.init(e,t),$ZodType.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>handleRefineResult(s,n,r,e));handleRefineResult(o,n,r,e)}});function handleRefineResult(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(issue(o))}}class $ZodRegistry{constructor(){this._map=new Map,this._idmap=new Map}add(t,...n){const r=n[0];if(this._map.set(t,r),r&&typeof r=="object"&&"id"in r){if(this._idmap.has(r.id))throw new Error(`ID ${r.id} already exists in the registry`);this._idmap.set(r.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};return delete r.id,{...r,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}}function registry(){return new $ZodRegistry}const globalRegistry=registry();function _string(e,t){return new e({type:"string",...normalizeParams(t)})}function _email(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...normalizeParams(t)})}function _guid(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...normalizeParams(t)})}function _uuid(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...normalizeParams(t)})}function _uuidv4(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...normalizeParams(t)})}function _uuidv6(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...normalizeParams(t)})}function _uuidv7(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...normalizeParams(t)})}function _url(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...normalizeParams(t)})}function _emoji(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...normalizeParams(t)})}function _nanoid(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...normalizeParams(t)})}function _cuid(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...normalizeParams(t)})}function _cuid2(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...normalizeParams(t)})}function _ulid(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...normalizeParams(t)})}function _xid(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...normalizeParams(t)})}function _ksuid(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...normalizeParams(t)})}function _ipv4(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...normalizeParams(t)})}function _ipv6(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...normalizeParams(t)})}function _cidrv4(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...normalizeParams(t)})}function _cidrv6(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...normalizeParams(t)})}function _base64(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...normalizeParams(t)})}function _base64url(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...normalizeParams(t)})}function _e164(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...normalizeParams(t)})}function _jwt(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...normalizeParams(t)})}function _isoDateTime(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...normalizeParams(t)})}function _isoDate(e,t){return new e({type:"string",format:"date",check:"string_format",...normalizeParams(t)})}function _isoTime(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...normalizeParams(t)})}function _isoDuration(e,t){return new e({type:"string",format:"duration",check:"string_format",...normalizeParams(t)})}function _number(e,t){return new e({type:"number",checks:[],...normalizeParams(t)})}function _int(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...normalizeParams(t)})}function _boolean(e,t){return new e({type:"boolean",...normalizeParams(t)})}function _any(e){return new e({type:"any"})}function _unknown(e){return new e({type:"unknown"})}function _never(e,t){return new e({type:"never",...normalizeParams(t)})}function _lt(e,t){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(t),value:e,inclusive:!1})}function _lte(e,t){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(t),value:e,inclusive:!0})}function _gt(e,t){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(t),value:e,inclusive:!1})}function _gte(e,t){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(t),value:e,inclusive:!0})}function _multipleOf(e,t){return new $ZodCheckMultipleOf({check:"multiple_of",...normalizeParams(t),value:e})}function _maxLength(e,t){return new $ZodCheckMaxLength({check:"max_length",...normalizeParams(t),maximum:e})}function _minLength(e,t){return new $ZodCheckMinLength({check:"min_length",...normalizeParams(t),minimum:e})}function _length(e,t){return new $ZodCheckLengthEquals({check:"length_equals",...normalizeParams(t),length:e})}function _regex(e,t){return new $ZodCheckRegex({check:"string_format",format:"regex",...normalizeParams(t),pattern:e})}function _lowercase(e){return new $ZodCheckLowerCase({check:"string_format",format:"lowercase",...normalizeParams(e)})}function _uppercase(e){return new $ZodCheckUpperCase({check:"string_format",format:"uppercase",...normalizeParams(e)})}function _includes(e,t){return new $ZodCheckIncludes({check:"string_format",format:"includes",...normalizeParams(t),includes:e})}function _startsWith(e,t){return new $ZodCheckStartsWith({check:"string_format",format:"starts_with",...normalizeParams(t),prefix:e})}function _endsWith(e,t){return new $ZodCheckEndsWith({check:"string_format",format:"ends_with",...normalizeParams(t),suffix:e})}function _overwrite(e){return new $ZodCheckOverwrite({check:"overwrite",tx:e})}function _normalize(e){return _overwrite(t=>t.normalize(e))}function _trim(){return _overwrite(e=>e.trim())}function _toLowerCase(){return _overwrite(e=>e.toLowerCase())}function _toUpperCase(){return _overwrite(e=>e.toUpperCase())}function _array(e,t,n){return new e({type:"array",element:t,...normalizeParams(n)})}function _refine(e,t,n){return new e({type:"custom",check:"custom",fn:t,...normalizeParams(n)})}class JSONSchemaGenerator{constructor(t){this.counter=0,this.metadataRegistry=(t==null?void 0:t.metadata)??globalRegistry,this.target=(t==null?void 0:t.target)??"draft-2020-12",this.unrepresentable=(t==null?void 0:t.unrepresentable)??"throw",this.override=(t==null?void 0:t.override)??(()=>{}),this.io=(t==null?void 0:t.io)??"output",this.seen=new Map}process(t,n={path:[],schemaPath:[]}){var d,f,v;var r;const o=t._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(t);if(i)return i.count++,n.schemaPath.includes(t)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};this.seen.set(t,a);const l=(f=(d=t._zod).toJSONSchema)==null?void 0:f.call(d);if(l)a.schema=l;else{const _={...n,schemaPath:[...n.schemaPath,t],path:n.path},y=t._zod.parent;if(y)a.ref=y,this.process(y,_),this.seen.get(y).isParent=!0;else{const h=a.schema;switch(o.type){case"string":{const p=h;p.type="string";const{minimum:b,maximum:m,format:$,patterns:k,contentEncoding:N}=t._zod.bag;if(typeof b=="number"&&(p.minLength=b),typeof m=="number"&&(p.maxLength=m),$&&(p.format=s[$]??$,p.format===""&&delete p.format),N&&(p.contentEncoding=N),k&&k.size>0){const O=[...k];O.length===1?p.pattern=O[0].source:O.length>1&&(a.schema.allOf=[...O.map(F=>({...this.target==="draft-7"?{type:"string"}:{},pattern:F.source}))])}break}case"number":{const p=h,{minimum:b,maximum:m,format:$,multipleOf:k,exclusiveMaximum:N,exclusiveMinimum:O}=t._zod.bag;typeof $=="string"&&$.includes("int")?p.type="integer":p.type="number",typeof O=="number"&&(p.exclusiveMinimum=O),typeof b=="number"&&(p.minimum=b,typeof O=="number"&&(O>=b?delete p.minimum:delete p.exclusiveMinimum)),typeof N=="number"&&(p.exclusiveMaximum=N),typeof m=="number"&&(p.maximum=m,typeof N=="number"&&(N<=m?delete p.maximum:delete p.exclusiveMaximum)),typeof k=="number"&&(p.multipleOf=k);break}case"boolean":{const p=h;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{h.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{const p=h,{minimum:b,maximum:m}=t._zod.bag;typeof b=="number"&&(p.minItems=b),typeof m=="number"&&(p.maxItems=m),p.type="array",p.items=this.process(o.element,{..._,path:[..._.path,"items"]});break}case"object":{const p=h;p.type="object",p.properties={};const b=o.shape;for(const k in b)p.properties[k]=this.process(b[k],{..._,path:[..._.path,"properties",k]});const m=new Set(Object.keys(b)),$=new Set([...m].filter(k=>{const N=o.shape[k]._zod;return this.io==="input"?N.optin===void 0:N.optout===void 0}));$.size>0&&(p.required=Array.from($)),((v=o.catchall)==null?void 0:v._zod.def.type)==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{..._,path:[..._.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{const p=h;p.anyOf=o.options.map((b,m)=>this.process(b,{..._,path:[..._.path,"anyOf",m]}));break}case"intersection":{const p=h,b=this.process(o.left,{..._,path:[..._.path,"allOf",0]}),m=this.process(o.right,{..._,path:[..._.path,"allOf",1]}),$=N=>"allOf"in N&&Object.keys(N).length===1,k=[...$(b)?b.allOf:[b],...$(m)?m.allOf:[m]];p.allOf=k;break}case"tuple":{const p=h;p.type="array";const b=o.items.map((k,N)=>this.process(k,{..._,path:[..._.path,"prefixItems",N]}));if(this.target==="draft-2020-12"?p.prefixItems=b:p.items=b,o.rest){const k=this.process(o.rest,{..._,path:[..._.path,"items"]});this.target==="draft-2020-12"?p.items=k:p.additionalItems=k}o.rest&&(p.items=this.process(o.rest,{..._,path:[..._.path,"items"]}));const{minimum:m,maximum:$}=t._zod.bag;typeof m=="number"&&(p.minItems=m),typeof $=="number"&&(p.maxItems=$);break}case"record":{const p=h;p.type="object",p.propertyNames=this.process(o.keyType,{..._,path:[..._.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{..._,path:[..._.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{const p=h,b=getEnumValues(o.entries);b.every(m=>typeof m=="number")&&(p.type="number"),b.every(m=>typeof m=="string")&&(p.type="string"),p.enum=b;break}case"literal":{const p=h,b=[];for(const m of o.values)if(m===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof m=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");b.push(Number(m))}else b.push(m);if(b.length!==0)if(b.length===1){const m=b[0];p.type=m===null?"null":typeof m,p.const=m}else b.every(m=>typeof m=="number")&&(p.type="number"),b.every(m=>typeof m=="string")&&(p.type="string"),b.every(m=>typeof m=="boolean")&&(p.type="string"),b.every(m=>m===null)&&(p.type="null"),p.enum=b;break}case"file":{const p=h,b={type:"string",format:"binary",contentEncoding:"binary"},{minimum:m,maximum:$,mime:k}=t._zod.bag;m!==void 0&&(b.minLength=m),$!==void 0&&(b.maxLength=$),k?k.length===1?(b.contentMediaType=k[0],Object.assign(p,b)):p.anyOf=k.map(N=>({...b,contentMediaType:N})):Object.assign(p,b);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{const p=this.process(o.innerType,_);h.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,_),a.ref=o.innerType;break}case"success":{const p=h;p.type="boolean";break}case"default":{this.process(o.innerType,_),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,_),a.ref=o.innerType,this.io==="input"&&(h._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,_),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{const p=h,b=t._zod.pattern;if(!b)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=b.source;break}case"pipe":{const p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,_),a.ref=p;break}case"readonly":{this.process(o.innerType,_),a.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,_),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,_),a.ref=o.innerType;break}case"lazy":{const p=t._zod.innerType;this.process(p,_),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}}}}const c=this.metadataRegistry.get(t);return c&&Object.assign(a.schema,c),this.io==="input"&&isTransforming(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,n){var u,d,f,v,_,y;const r={cycles:(n==null?void 0:n.cycles)??"ref",reused:(n==null?void 0:n.reused)??"inline",external:(n==null?void 0:n.external)??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");const s=h=>{var k;const p=this.target==="draft-2020-12"?"$defs":"definitions";if(r.external){const N=(k=r.external.registry.get(h[0]))==null?void 0:k.id,O=r.external.uri??(ee=>ee);if(N)return{ref:O(N)};const F=h[1].defId??h[1].schema.id??`schema${this.counter++}`;return h[1].defId=F,{defId:F,ref:`${O("__shared")}#/${p}/${F}`}}if(h[1]===o)return{ref:"#"};const m=`#/${p}/`,$=h[1].schema.id??`__schema${this.counter++}`;return{defId:$,ref:m+$}},i=h=>{if(h[1].schema.$ref)return;const p=h[1],{ref:b,defId:m}=s(h);p.def={...p.schema},m&&(p.defId=m);const $=p.schema;for(const k in $)delete $[k];$.$ref=b};if(r.cycles==="throw")for(const h of this.seen.entries()){const p=h[1];if(p.cycle)throw new Error(`Cycle detected: #/${(u=p.cycle)==null?void 0:u.join("/")}/<root>
|
|
206
|
+
path: iss.path ? [${esc(N)}, ...iss.path] : [${esc(N)}]
|
|
207
|
+
})));`),k.write(`newResult[${esc(N)}] = ${$}.value`)}k.write("payload.value = newResult;"),k.write("return payload;");const C=k.compile();return(N,$)=>C(S,N,$)};let m;const _=isObject,b=!globalConfig.jitless,w=b&&allowsEval.value,x=p.catchall;let E;d._zod.parse=(S,k)=>{E??(E=h.value);const I=S.value;if(!_(I))return S.issues.push({expected:"object",code:"invalid_type",input:I,inst:d}),S;const A=[];if(b&&w&&(k==null?void 0:k.async)===!1&&k.jitless!==!0)m||(m=g(p.shape)),S=m(S,k);else{S.value={};const $=E.shape;for(const O of E.keys){const F=$[O],j=F._zod.run({value:I[O],issues:[]},k),Y=F._zod.optin==="optional"&&F._zod.optout==="optional";j instanceof Promise?A.push(j.then(q=>Y?handleOptionalObjectResult(q,S,O,I):handleObjectResult(q,S,O))):Y?handleOptionalObjectResult(j,S,O,I):handleObjectResult(j,S,O)}}if(!x)return A.length?Promise.all(A).then(()=>S):S;const M=[],R=E.keySet,C=x._zod,N=C.def.type;for(const $ of Object.keys(I)){if(R.has($))continue;if(N==="never"){M.push($);continue}const O=C.run({value:I[$],issues:[]},k);O instanceof Promise?A.push(O.then(F=>handleObjectResult(F,S,$))):handleObjectResult(O,S,$)}return M.length&&S.issues.push({code:"unrecognized_keys",keys:M,input:I,inst:d}),A.length?Promise.all(A).then(()=>S):S}});function handleUnionResults(d,p,h,g){for(const m of d)if(m.issues.length===0)return p.value=m.value,p;return p.issues.push({code:"invalid_union",input:p.value,inst:h,errors:d.map(m=>m.issues.map(_=>finalizeIssue(_,g,config())))}),p}const $ZodUnion=$constructor("$ZodUnion",(d,p)=>{$ZodType.init(d,p),defineLazy(d._zod,"optin",()=>p.options.some(h=>h._zod.optin==="optional")?"optional":void 0),defineLazy(d._zod,"optout",()=>p.options.some(h=>h._zod.optout==="optional")?"optional":void 0),defineLazy(d._zod,"values",()=>{if(p.options.every(h=>h._zod.values))return new Set(p.options.flatMap(h=>Array.from(h._zod.values)))}),defineLazy(d._zod,"pattern",()=>{if(p.options.every(h=>h._zod.pattern)){const h=p.options.map(g=>g._zod.pattern);return new RegExp(`^(${h.map(g=>cleanRegex(g.source)).join("|")})$`)}}),d._zod.parse=(h,g)=>{let m=!1;const _=[];for(const b of p.options){const y=b._zod.run({value:h.value,issues:[]},g);if(y instanceof Promise)_.push(y),m=!0;else{if(y.issues.length===0)return y;_.push(y)}}return m?Promise.all(_).then(b=>handleUnionResults(b,h,d,g)):handleUnionResults(_,h,d,g)}}),$ZodIntersection=$constructor("$ZodIntersection",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>{const m=h.value,_=p.left._zod.run({value:m,issues:[]},g),b=p.right._zod.run({value:m,issues:[]},g);return _ instanceof Promise||b instanceof Promise?Promise.all([_,b]).then(([w,x])=>handleIntersectionResults(h,w,x)):handleIntersectionResults(h,_,b)}});function mergeValues(d,p){if(d===p)return{valid:!0,data:d};if(d instanceof Date&&p instanceof Date&&+d==+p)return{valid:!0,data:d};if(isPlainObject(d)&&isPlainObject(p)){const h=Object.keys(p),g=Object.keys(d).filter(_=>h.indexOf(_)!==-1),m={...d,...p};for(const _ of g){const b=mergeValues(d[_],p[_]);if(!b.valid)return{valid:!1,mergeErrorPath:[_,...b.mergeErrorPath]};m[_]=b.data}return{valid:!0,data:m}}if(Array.isArray(d)&&Array.isArray(p)){if(d.length!==p.length)return{valid:!1,mergeErrorPath:[]};const h=[];for(let g=0;g<d.length;g++){const m=d[g],_=p[g],b=mergeValues(m,_);if(!b.valid)return{valid:!1,mergeErrorPath:[g,...b.mergeErrorPath]};h.push(b.data)}return{valid:!0,data:h}}return{valid:!1,mergeErrorPath:[]}}function handleIntersectionResults(d,p,h){if(p.issues.length&&d.issues.push(...p.issues),h.issues.length&&d.issues.push(...h.issues),aborted(d))return d;const g=mergeValues(p.value,h.value);if(!g.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(g.mergeErrorPath)}`);return d.value=g.data,d}const $ZodRecord=$constructor("$ZodRecord",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>{const m=h.value;if(!isPlainObject(m))return h.issues.push({expected:"record",code:"invalid_type",input:m,inst:d}),h;const _=[];if(p.keyType._zod.values){const b=p.keyType._zod.values;h.value={};for(const w of b)if(typeof w=="string"||typeof w=="number"||typeof w=="symbol"){const x=p.valueType._zod.run({value:m[w],issues:[]},g);x instanceof Promise?_.push(x.then(E=>{E.issues.length&&h.issues.push(...prefixIssues(w,E.issues)),h.value[w]=E.value})):(x.issues.length&&h.issues.push(...prefixIssues(w,x.issues)),h.value[w]=x.value)}let y;for(const w in m)b.has(w)||(y=y??[],y.push(w));y&&y.length>0&&h.issues.push({code:"unrecognized_keys",input:m,inst:d,keys:y})}else{h.value={};for(const b of Reflect.ownKeys(m)){if(b==="__proto__")continue;const y=p.keyType._zod.run({value:b,issues:[]},g);if(y instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(y.issues.length){h.issues.push({origin:"record",code:"invalid_key",issues:y.issues.map(x=>finalizeIssue(x,g,config())),input:b,path:[b],inst:d}),h.value[y.value]=y.value;continue}const w=p.valueType._zod.run({value:m[b],issues:[]},g);w instanceof Promise?_.push(w.then(x=>{x.issues.length&&h.issues.push(...prefixIssues(b,x.issues)),h.value[y.value]=x.value})):(w.issues.length&&h.issues.push(...prefixIssues(b,w.issues)),h.value[y.value]=w.value)}}return _.length?Promise.all(_).then(()=>h):h}}),$ZodEnum=$constructor("$ZodEnum",(d,p)=>{$ZodType.init(d,p);const h=getEnumValues(p.entries);d._zod.values=new Set(h),d._zod.pattern=new RegExp(`^(${h.filter(g=>propertyKeyTypes.has(typeof g)).map(g=>typeof g=="string"?escapeRegex(g):g.toString()).join("|")})$`),d._zod.parse=(g,m)=>{const _=g.value;return d._zod.values.has(_)||g.issues.push({code:"invalid_value",values:h,input:_,inst:d}),g}}),$ZodTransform=$constructor("$ZodTransform",(d,p)=>{$ZodType.init(d,p),d._zod.parse=(h,g)=>{const m=p.transform(h.value,h);if(g.async)return(m instanceof Promise?m:Promise.resolve(m)).then(b=>(h.value=b,h));if(m instanceof Promise)throw new $ZodAsyncError;return h.value=m,h}}),$ZodOptional=$constructor("$ZodOptional",(d,p)=>{$ZodType.init(d,p),d._zod.optin="optional",d._zod.optout="optional",defineLazy(d._zod,"values",()=>p.innerType._zod.values?new Set([...p.innerType._zod.values,void 0]):void 0),defineLazy(d._zod,"pattern",()=>{const h=p.innerType._zod.pattern;return h?new RegExp(`^(${cleanRegex(h.source)})?$`):void 0}),d._zod.parse=(h,g)=>p.innerType._zod.optin==="optional"?p.innerType._zod.run(h,g):h.value===void 0?h:p.innerType._zod.run(h,g)}),$ZodNullable=$constructor("$ZodNullable",(d,p)=>{$ZodType.init(d,p),defineLazy(d._zod,"optin",()=>p.innerType._zod.optin),defineLazy(d._zod,"optout",()=>p.innerType._zod.optout),defineLazy(d._zod,"pattern",()=>{const h=p.innerType._zod.pattern;return h?new RegExp(`^(${cleanRegex(h.source)}|null)$`):void 0}),defineLazy(d._zod,"values",()=>p.innerType._zod.values?new Set([...p.innerType._zod.values,null]):void 0),d._zod.parse=(h,g)=>h.value===null?h:p.innerType._zod.run(h,g)}),$ZodDefault=$constructor("$ZodDefault",(d,p)=>{$ZodType.init(d,p),d._zod.optin="optional",defineLazy(d._zod,"values",()=>p.innerType._zod.values),d._zod.parse=(h,g)=>{if(h.value===void 0)return h.value=p.defaultValue,h;const m=p.innerType._zod.run(h,g);return m instanceof Promise?m.then(_=>handleDefaultResult(_,p)):handleDefaultResult(m,p)}});function handleDefaultResult(d,p){return d.value===void 0&&(d.value=p.defaultValue),d}const $ZodPrefault=$constructor("$ZodPrefault",(d,p)=>{$ZodType.init(d,p),d._zod.optin="optional",defineLazy(d._zod,"values",()=>p.innerType._zod.values),d._zod.parse=(h,g)=>(h.value===void 0&&(h.value=p.defaultValue),p.innerType._zod.run(h,g))}),$ZodNonOptional=$constructor("$ZodNonOptional",(d,p)=>{$ZodType.init(d,p),defineLazy(d._zod,"values",()=>{const h=p.innerType._zod.values;return h?new Set([...h].filter(g=>g!==void 0)):void 0}),d._zod.parse=(h,g)=>{const m=p.innerType._zod.run(h,g);return m instanceof Promise?m.then(_=>handleNonOptionalResult(_,d)):handleNonOptionalResult(m,d)}});function handleNonOptionalResult(d,p){return!d.issues.length&&d.value===void 0&&d.issues.push({code:"invalid_type",expected:"nonoptional",input:d.value,inst:p}),d}const $ZodCatch=$constructor("$ZodCatch",(d,p)=>{$ZodType.init(d,p),d._zod.optin="optional",defineLazy(d._zod,"optout",()=>p.innerType._zod.optout),defineLazy(d._zod,"values",()=>p.innerType._zod.values),d._zod.parse=(h,g)=>{const m=p.innerType._zod.run(h,g);return m instanceof Promise?m.then(_=>(h.value=_.value,_.issues.length&&(h.value=p.catchValue({...h,error:{issues:_.issues.map(b=>finalizeIssue(b,g,config()))},input:h.value}),h.issues=[]),h)):(h.value=m.value,m.issues.length&&(h.value=p.catchValue({...h,error:{issues:m.issues.map(_=>finalizeIssue(_,g,config()))},input:h.value}),h.issues=[]),h)}}),$ZodPipe=$constructor("$ZodPipe",(d,p)=>{$ZodType.init(d,p),defineLazy(d._zod,"values",()=>p.in._zod.values),defineLazy(d._zod,"optin",()=>p.in._zod.optin),defineLazy(d._zod,"optout",()=>p.out._zod.optout),d._zod.parse=(h,g)=>{const m=p.in._zod.run(h,g);return m instanceof Promise?m.then(_=>handlePipeResult(_,p,g)):handlePipeResult(m,p,g)}});function handlePipeResult(d,p,h){return aborted(d)?d:p.out._zod.run({value:d.value,issues:d.issues},h)}const $ZodReadonly=$constructor("$ZodReadonly",(d,p)=>{$ZodType.init(d,p),defineLazy(d._zod,"propValues",()=>p.innerType._zod.propValues),defineLazy(d._zod,"values",()=>p.innerType._zod.values),defineLazy(d._zod,"optin",()=>p.innerType._zod.optin),defineLazy(d._zod,"optout",()=>p.innerType._zod.optout),d._zod.parse=(h,g)=>{const m=p.innerType._zod.run(h,g);return m instanceof Promise?m.then(handleReadonlyResult):handleReadonlyResult(m)}});function handleReadonlyResult(d){return d.value=Object.freeze(d.value),d}const $ZodCustom=$constructor("$ZodCustom",(d,p)=>{$ZodCheck.init(d,p),$ZodType.init(d,p),d._zod.parse=(h,g)=>h,d._zod.check=h=>{const g=h.value,m=p.fn(g);if(m instanceof Promise)return m.then(_=>handleRefineResult(_,h,g,d));handleRefineResult(m,h,g,d)}});function handleRefineResult(d,p,h,g){if(!d){const m={code:"custom",input:h,inst:g,path:[...g._zod.def.path??[]],continue:!g._zod.def.abort};g._zod.def.params&&(m.params=g._zod.def.params),p.issues.push(issue(m))}}class $ZodRegistry{constructor(){this._map=new Map,this._idmap=new Map}add(p,...h){const g=h[0];if(this._map.set(p,g),g&&typeof g=="object"&&"id"in g){if(this._idmap.has(g.id))throw new Error(`ID ${g.id} already exists in the registry`);this._idmap.set(g.id,p)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(p){const h=this._map.get(p);return h&&typeof h=="object"&&"id"in h&&this._idmap.delete(h.id),this._map.delete(p),this}get(p){const h=p._zod.parent;if(h){const g={...this.get(h)??{}};return delete g.id,{...g,...this._map.get(p)}}return this._map.get(p)}has(p){return this._map.has(p)}}function registry(){return new $ZodRegistry}const globalRegistry=registry();function _string(d,p){return new d({type:"string",...normalizeParams(p)})}function _email(d,p){return new d({type:"string",format:"email",check:"string_format",abort:!1,...normalizeParams(p)})}function _guid(d,p){return new d({type:"string",format:"guid",check:"string_format",abort:!1,...normalizeParams(p)})}function _uuid(d,p){return new d({type:"string",format:"uuid",check:"string_format",abort:!1,...normalizeParams(p)})}function _uuidv4(d,p){return new d({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...normalizeParams(p)})}function _uuidv6(d,p){return new d({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...normalizeParams(p)})}function _uuidv7(d,p){return new d({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...normalizeParams(p)})}function _url(d,p){return new d({type:"string",format:"url",check:"string_format",abort:!1,...normalizeParams(p)})}function _emoji(d,p){return new d({type:"string",format:"emoji",check:"string_format",abort:!1,...normalizeParams(p)})}function _nanoid(d,p){return new d({type:"string",format:"nanoid",check:"string_format",abort:!1,...normalizeParams(p)})}function _cuid(d,p){return new d({type:"string",format:"cuid",check:"string_format",abort:!1,...normalizeParams(p)})}function _cuid2(d,p){return new d({type:"string",format:"cuid2",check:"string_format",abort:!1,...normalizeParams(p)})}function _ulid(d,p){return new d({type:"string",format:"ulid",check:"string_format",abort:!1,...normalizeParams(p)})}function _xid(d,p){return new d({type:"string",format:"xid",check:"string_format",abort:!1,...normalizeParams(p)})}function _ksuid(d,p){return new d({type:"string",format:"ksuid",check:"string_format",abort:!1,...normalizeParams(p)})}function _ipv4(d,p){return new d({type:"string",format:"ipv4",check:"string_format",abort:!1,...normalizeParams(p)})}function _ipv6(d,p){return new d({type:"string",format:"ipv6",check:"string_format",abort:!1,...normalizeParams(p)})}function _cidrv4(d,p){return new d({type:"string",format:"cidrv4",check:"string_format",abort:!1,...normalizeParams(p)})}function _cidrv6(d,p){return new d({type:"string",format:"cidrv6",check:"string_format",abort:!1,...normalizeParams(p)})}function _base64(d,p){return new d({type:"string",format:"base64",check:"string_format",abort:!1,...normalizeParams(p)})}function _base64url(d,p){return new d({type:"string",format:"base64url",check:"string_format",abort:!1,...normalizeParams(p)})}function _e164(d,p){return new d({type:"string",format:"e164",check:"string_format",abort:!1,...normalizeParams(p)})}function _jwt(d,p){return new d({type:"string",format:"jwt",check:"string_format",abort:!1,...normalizeParams(p)})}function _isoDateTime(d,p){return new d({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...normalizeParams(p)})}function _isoDate(d,p){return new d({type:"string",format:"date",check:"string_format",...normalizeParams(p)})}function _isoTime(d,p){return new d({type:"string",format:"time",check:"string_format",precision:null,...normalizeParams(p)})}function _isoDuration(d,p){return new d({type:"string",format:"duration",check:"string_format",...normalizeParams(p)})}function _number(d,p){return new d({type:"number",checks:[],...normalizeParams(p)})}function _int(d,p){return new d({type:"number",check:"number_format",abort:!1,format:"safeint",...normalizeParams(p)})}function _boolean(d,p){return new d({type:"boolean",...normalizeParams(p)})}function _any(d){return new d({type:"any"})}function _unknown(d){return new d({type:"unknown"})}function _never(d,p){return new d({type:"never",...normalizeParams(p)})}function _lt(d,p){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(p),value:d,inclusive:!1})}function _lte(d,p){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(p),value:d,inclusive:!0})}function _gt(d,p){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(p),value:d,inclusive:!1})}function _gte(d,p){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(p),value:d,inclusive:!0})}function _multipleOf(d,p){return new $ZodCheckMultipleOf({check:"multiple_of",...normalizeParams(p),value:d})}function _maxLength(d,p){return new $ZodCheckMaxLength({check:"max_length",...normalizeParams(p),maximum:d})}function _minLength(d,p){return new $ZodCheckMinLength({check:"min_length",...normalizeParams(p),minimum:d})}function _length(d,p){return new $ZodCheckLengthEquals({check:"length_equals",...normalizeParams(p),length:d})}function _regex(d,p){return new $ZodCheckRegex({check:"string_format",format:"regex",...normalizeParams(p),pattern:d})}function _lowercase(d){return new $ZodCheckLowerCase({check:"string_format",format:"lowercase",...normalizeParams(d)})}function _uppercase(d){return new $ZodCheckUpperCase({check:"string_format",format:"uppercase",...normalizeParams(d)})}function _includes(d,p){return new $ZodCheckIncludes({check:"string_format",format:"includes",...normalizeParams(p),includes:d})}function _startsWith(d,p){return new $ZodCheckStartsWith({check:"string_format",format:"starts_with",...normalizeParams(p),prefix:d})}function _endsWith(d,p){return new $ZodCheckEndsWith({check:"string_format",format:"ends_with",...normalizeParams(p),suffix:d})}function _overwrite(d){return new $ZodCheckOverwrite({check:"overwrite",tx:d})}function _normalize(d){return _overwrite(p=>p.normalize(d))}function _trim(){return _overwrite(d=>d.trim())}function _toLowerCase(){return _overwrite(d=>d.toLowerCase())}function _toUpperCase(){return _overwrite(d=>d.toUpperCase())}function _array(d,p,h){return new d({type:"array",element:p,...normalizeParams(h)})}function _refine(d,p,h){return new d({type:"custom",check:"custom",fn:p,...normalizeParams(h)})}class JSONSchemaGenerator{constructor(p){this.counter=0,this.metadataRegistry=(p==null?void 0:p.metadata)??globalRegistry,this.target=(p==null?void 0:p.target)??"draft-2020-12",this.unrepresentable=(p==null?void 0:p.unrepresentable)??"throw",this.override=(p==null?void 0:p.override)??(()=>{}),this.io=(p==null?void 0:p.io)??"output",this.seen=new Map}process(p,h={path:[],schemaPath:[]}){var S,k,I;var g;const m=p._zod.def,_={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},b=this.seen.get(p);if(b)return b.count++,h.schemaPath.includes(p)&&(b.cycle=h.path),b.schema;const y={schema:{},count:1,cycle:void 0,path:h.path};this.seen.set(p,y);const w=(k=(S=p._zod).toJSONSchema)==null?void 0:k.call(S);if(w)y.schema=w;else{const A={...h,schemaPath:[...h.schemaPath,p],path:h.path},M=p._zod.parent;if(M)y.ref=M,this.process(M,A),this.seen.get(M).isParent=!0;else{const R=y.schema;switch(m.type){case"string":{const C=R;C.type="string";const{minimum:N,maximum:$,format:O,patterns:F,contentEncoding:j}=p._zod.bag;if(typeof N=="number"&&(C.minLength=N),typeof $=="number"&&(C.maxLength=$),O&&(C.format=_[O]??O,C.format===""&&delete C.format),j&&(C.contentEncoding=j),F&&F.size>0){const Y=[...F];Y.length===1?C.pattern=Y[0].source:Y.length>1&&(y.schema.allOf=[...Y.map(q=>({...this.target==="draft-7"?{type:"string"}:{},pattern:q.source}))])}break}case"number":{const C=R,{minimum:N,maximum:$,format:O,multipleOf:F,exclusiveMaximum:j,exclusiveMinimum:Y}=p._zod.bag;typeof O=="string"&&O.includes("int")?C.type="integer":C.type="number",typeof Y=="number"&&(C.exclusiveMinimum=Y),typeof N=="number"&&(C.minimum=N,typeof Y=="number"&&(Y>=N?delete C.minimum:delete C.exclusiveMinimum)),typeof j=="number"&&(C.exclusiveMaximum=j),typeof $=="number"&&(C.maximum=$,typeof j=="number"&&(j<=$?delete C.maximum:delete C.exclusiveMaximum)),typeof F=="number"&&(C.multipleOf=F);break}case"boolean":{const C=R;C.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{R.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{R.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{const C=R,{minimum:N,maximum:$}=p._zod.bag;typeof N=="number"&&(C.minItems=N),typeof $=="number"&&(C.maxItems=$),C.type="array",C.items=this.process(m.element,{...A,path:[...A.path,"items"]});break}case"object":{const C=R;C.type="object",C.properties={};const N=m.shape;for(const F in N)C.properties[F]=this.process(N[F],{...A,path:[...A.path,"properties",F]});const $=new Set(Object.keys(N)),O=new Set([...$].filter(F=>{const j=m.shape[F]._zod;return this.io==="input"?j.optin===void 0:j.optout===void 0}));O.size>0&&(C.required=Array.from(O)),((I=m.catchall)==null?void 0:I._zod.def.type)==="never"?C.additionalProperties=!1:m.catchall?m.catchall&&(C.additionalProperties=this.process(m.catchall,{...A,path:[...A.path,"additionalProperties"]})):this.io==="output"&&(C.additionalProperties=!1);break}case"union":{const C=R;C.anyOf=m.options.map((N,$)=>this.process(N,{...A,path:[...A.path,"anyOf",$]}));break}case"intersection":{const C=R,N=this.process(m.left,{...A,path:[...A.path,"allOf",0]}),$=this.process(m.right,{...A,path:[...A.path,"allOf",1]}),O=j=>"allOf"in j&&Object.keys(j).length===1,F=[...O(N)?N.allOf:[N],...O($)?$.allOf:[$]];C.allOf=F;break}case"tuple":{const C=R;C.type="array";const N=m.items.map((F,j)=>this.process(F,{...A,path:[...A.path,"prefixItems",j]}));if(this.target==="draft-2020-12"?C.prefixItems=N:C.items=N,m.rest){const F=this.process(m.rest,{...A,path:[...A.path,"items"]});this.target==="draft-2020-12"?C.items=F:C.additionalItems=F}m.rest&&(C.items=this.process(m.rest,{...A,path:[...A.path,"items"]}));const{minimum:$,maximum:O}=p._zod.bag;typeof $=="number"&&(C.minItems=$),typeof O=="number"&&(C.maxItems=O);break}case"record":{const C=R;C.type="object",C.propertyNames=this.process(m.keyType,{...A,path:[...A.path,"propertyNames"]}),C.additionalProperties=this.process(m.valueType,{...A,path:[...A.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{const C=R,N=getEnumValues(m.entries);N.every($=>typeof $=="number")&&(C.type="number"),N.every($=>typeof $=="string")&&(C.type="string"),C.enum=N;break}case"literal":{const C=R,N=[];for(const $ of m.values)if($===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof $=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");N.push(Number($))}else N.push($);if(N.length!==0)if(N.length===1){const $=N[0];C.type=$===null?"null":typeof $,C.const=$}else N.every($=>typeof $=="number")&&(C.type="number"),N.every($=>typeof $=="string")&&(C.type="string"),N.every($=>typeof $=="boolean")&&(C.type="string"),N.every($=>$===null)&&(C.type="null"),C.enum=N;break}case"file":{const C=R,N={type:"string",format:"binary",contentEncoding:"binary"},{minimum:$,maximum:O,mime:F}=p._zod.bag;$!==void 0&&(N.minLength=$),O!==void 0&&(N.maxLength=O),F?F.length===1?(N.contentMediaType=F[0],Object.assign(C,N)):C.anyOf=F.map(j=>({...N,contentMediaType:j})):Object.assign(C,N);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{const C=this.process(m.innerType,A);R.anyOf=[C,{type:"null"}];break}case"nonoptional":{this.process(m.innerType,A),y.ref=m.innerType;break}case"success":{const C=R;C.type="boolean";break}case"default":{this.process(m.innerType,A),y.ref=m.innerType,R.default=JSON.parse(JSON.stringify(m.defaultValue));break}case"prefault":{this.process(m.innerType,A),y.ref=m.innerType,this.io==="input"&&(R._prefault=JSON.parse(JSON.stringify(m.defaultValue)));break}case"catch":{this.process(m.innerType,A),y.ref=m.innerType;let C;try{C=m.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}R.default=C;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{const C=R,N=p._zod.pattern;if(!N)throw new Error("Pattern not found in template literal");C.type="string",C.pattern=N.source;break}case"pipe":{const C=this.io==="input"?m.in._zod.def.type==="transform"?m.out:m.in:m.out;this.process(C,A),y.ref=C;break}case"readonly":{this.process(m.innerType,A),y.ref=m.innerType,R.readOnly=!0;break}case"promise":{this.process(m.innerType,A),y.ref=m.innerType;break}case"optional":{this.process(m.innerType,A),y.ref=m.innerType;break}case"lazy":{const C=p._zod.innerType;this.process(C,A),y.ref=C;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}}}}const x=this.metadataRegistry.get(p);return x&&Object.assign(y.schema,x),this.io==="input"&&isTransforming(p)&&(delete y.schema.examples,delete y.schema.default),this.io==="input"&&y.schema._prefault&&((g=y.schema).default??(g.default=y.schema._prefault)),delete y.schema._prefault,this.seen.get(p).schema}emit(p,h){var E,S,k,I,A,M;const g={cycles:(h==null?void 0:h.cycles)??"ref",reused:(h==null?void 0:h.reused)??"inline",external:(h==null?void 0:h.external)??void 0},m=this.seen.get(p);if(!m)throw new Error("Unprocessed schema. This is a bug in Zod.");const _=R=>{var F;const C=this.target==="draft-2020-12"?"$defs":"definitions";if(g.external){const j=(F=g.external.registry.get(R[0]))==null?void 0:F.id,Y=g.external.uri??(de=>de);if(j)return{ref:Y(j)};const q=R[1].defId??R[1].schema.id??`schema${this.counter++}`;return R[1].defId=q,{defId:q,ref:`${Y("__shared")}#/${C}/${q}`}}if(R[1]===m)return{ref:"#"};const $=`#/${C}/`,O=R[1].schema.id??`__schema${this.counter++}`;return{defId:O,ref:$+O}},b=R=>{if(R[1].schema.$ref)return;const C=R[1],{ref:N,defId:$}=_(R);C.def={...C.schema},$&&(C.defId=$);const O=C.schema;for(const F in O)delete O[F];O.$ref=N};if(g.cycles==="throw")for(const R of this.seen.entries()){const C=R[1];if(C.cycle)throw new Error(`Cycle detected: #/${(E=C.cycle)==null?void 0:E.join("/")}/<root>
|
|
157
208
|
|
|
158
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const h of this.seen.entries()){const p=h[1];if(t===h[0]){i(h);continue}if(r.external){const m=(d=r.external.registry.get(h[0]))==null?void 0:d.id;if(t!==h[0]&&m){i(h);continue}}if((f=this.metadataRegistry.get(h[0]))==null?void 0:f.id){i(h);continue}if(p.cycle){i(h);continue}if(p.count>1&&r.reused==="ref"){i(h);continue}}const a=(h,p)=>{const b=this.seen.get(h),m=b.def??b.schema,$={...m};if(b.ref===null)return;const k=b.ref;if(b.ref=null,k){a(k,p);const N=this.seen.get(k).schema;N.$ref&&p.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(N)):(Object.assign(m,N),Object.assign(m,$))}b.isParent||this.override({zodSchema:h,jsonSchema:m,path:b.path??[]})};for(const h of[...this.seen.entries()].reverse())a(h[0],{target:this.target});const l={};if(this.target==="draft-2020-12"?l.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?l.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),(v=r.external)!=null&&v.uri){const h=(_=r.external.registry.get(t))==null?void 0:_.id;if(!h)throw new Error("Schema is missing an `id` property");l.$id=r.external.uri(h)}Object.assign(l,o.def);const c=((y=r.external)==null?void 0:y.defs)??{};for(const h of this.seen.entries()){const p=h[1];p.def&&p.defId&&(c[p.defId]=p.def)}r.external||Object.keys(c).length>0&&(this.target==="draft-2020-12"?l.$defs=c:l.definitions=c);try{return JSON.parse(JSON.stringify(l))}catch{throw new Error("Error converting schema to JSON.")}}}function toJSONSchema(e,t){if(e instanceof $ZodRegistry){const r=new JSONSchemaGenerator(t),o={};for(const a of e._idmap.entries()){const[l,c]=a;r.process(c)}const s={},i={registry:e,uri:t==null?void 0:t.uri,defs:o};for(const a of e._idmap.entries()){const[l,c]=a;s[l]=r.emit(c,{...t,external:i})}if(Object.keys(o).length>0){const a=r.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}const n=new JSONSchemaGenerator(t);return n.process(e),n.emit(e,t)}function isTransforming(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return isTransforming(o.element,n);case"object":{for(const s in o.shape)if(isTransforming(o.shape[s],n))return!0;return!1}case"union":{for(const s of o.options)if(isTransforming(s,n))return!0;return!1}case"intersection":return isTransforming(o.left,n)||isTransforming(o.right,n);case"tuple":{for(const s of o.items)if(isTransforming(s,n))return!0;return!!(o.rest&&isTransforming(o.rest,n))}case"record":return isTransforming(o.keyType,n)||isTransforming(o.valueType,n);case"map":return isTransforming(o.keyType,n)||isTransforming(o.valueType,n);case"set":return isTransforming(o.valueType,n);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return isTransforming(o.innerType,n);case"lazy":return isTransforming(o.getter(),n);case"default":return isTransforming(o.innerType,n);case"prefault":return isTransforming(o.innerType,n);case"custom":return!1;case"transform":return!0;case"pipe":return isTransforming(o.in,n)||isTransforming(o.out,n);case"success":return!1;case"catch":return!1}throw new Error(`Unknown schema type: ${o.type}`)}const ZodISODateTime=$constructor("ZodISODateTime",(e,t)=>{$ZodISODateTime.init(e,t),ZodStringFormat.init(e,t)});function datetime(e){return _isoDateTime(ZodISODateTime,e)}const ZodISODate=$constructor("ZodISODate",(e,t)=>{$ZodISODate.init(e,t),ZodStringFormat.init(e,t)});function date(e){return _isoDate(ZodISODate,e)}const ZodISOTime=$constructor("ZodISOTime",(e,t)=>{$ZodISOTime.init(e,t),ZodStringFormat.init(e,t)});function time(e){return _isoTime(ZodISOTime,e)}const ZodISODuration=$constructor("ZodISODuration",(e,t)=>{$ZodISODuration.init(e,t),ZodStringFormat.init(e,t)});function duration(e){return _isoDuration(ZodISODuration,e)}const initializer=(e,t)=>{$ZodError.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>formatError(e,n)},flatten:{value:n=>flattenError(e,n)},addIssue:{value:n=>e.issues.push(n)},addIssues:{value:n=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},ZodRealError=$constructor("ZodError",initializer,{Parent:Error}),parse=_parse(ZodRealError),parseAsync=_parseAsync(ZodRealError),safeParse=_safeParse(ZodRealError),safeParseAsync=_safeParseAsync(ZodRealError),ZodType=$constructor("ZodType",(e,t)=>($ZodType.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>clone(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>parse(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>safeParse(e,n,r),e.parseAsync=async(n,r)=>parseAsync(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>safeParseAsync(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(refine(n,r)),e.superRefine=n=>e.check(superRefine(n)),e.overwrite=n=>e.check(_overwrite(n)),e.optional=()=>optional(e),e.nullable=()=>nullable(e),e.nullish=()=>optional(nullable(e)),e.nonoptional=n=>nonoptional(e,n),e.array=()=>array(e),e.or=n=>union([e,n]),e.and=n=>intersection(e,n),e.transform=n=>pipe(e,transform(n)),e.default=n=>_default(e,n),e.prefault=n=>prefault(e,n),e.catch=n=>_catch(e,n),e.pipe=n=>pipe(e,n),e.readonly=()=>readonly(e),e.describe=n=>{const r=e.clone();return globalRegistry.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){var n;return(n=globalRegistry.get(e))==null?void 0:n.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return globalRegistry.get(e);const r=e.clone();return globalRegistry.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),_ZodString=$constructor("_ZodString",(e,t)=>{$ZodString.init(e,t),ZodType.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(_regex(...r)),e.includes=(...r)=>e.check(_includes(...r)),e.startsWith=(...r)=>e.check(_startsWith(...r)),e.endsWith=(...r)=>e.check(_endsWith(...r)),e.min=(...r)=>e.check(_minLength(...r)),e.max=(...r)=>e.check(_maxLength(...r)),e.length=(...r)=>e.check(_length(...r)),e.nonempty=(...r)=>e.check(_minLength(1,...r)),e.lowercase=r=>e.check(_lowercase(r)),e.uppercase=r=>e.check(_uppercase(r)),e.trim=()=>e.check(_trim()),e.normalize=(...r)=>e.check(_normalize(...r)),e.toLowerCase=()=>e.check(_toLowerCase()),e.toUpperCase=()=>e.check(_toUpperCase())}),ZodString=$constructor("ZodString",(e,t)=>{$ZodString.init(e,t),_ZodString.init(e,t),e.email=n=>e.check(_email(ZodEmail,n)),e.url=n=>e.check(_url(ZodURL,n)),e.jwt=n=>e.check(_jwt(ZodJWT,n)),e.emoji=n=>e.check(_emoji(ZodEmoji,n)),e.guid=n=>e.check(_guid(ZodGUID,n)),e.uuid=n=>e.check(_uuid(ZodUUID,n)),e.uuidv4=n=>e.check(_uuidv4(ZodUUID,n)),e.uuidv6=n=>e.check(_uuidv6(ZodUUID,n)),e.uuidv7=n=>e.check(_uuidv7(ZodUUID,n)),e.nanoid=n=>e.check(_nanoid(ZodNanoID,n)),e.guid=n=>e.check(_guid(ZodGUID,n)),e.cuid=n=>e.check(_cuid(ZodCUID,n)),e.cuid2=n=>e.check(_cuid2(ZodCUID2,n)),e.ulid=n=>e.check(_ulid(ZodULID,n)),e.base64=n=>e.check(_base64(ZodBase64,n)),e.base64url=n=>e.check(_base64url(ZodBase64URL,n)),e.xid=n=>e.check(_xid(ZodXID,n)),e.ksuid=n=>e.check(_ksuid(ZodKSUID,n)),e.ipv4=n=>e.check(_ipv4(ZodIPv4,n)),e.ipv6=n=>e.check(_ipv6(ZodIPv6,n)),e.cidrv4=n=>e.check(_cidrv4(ZodCIDRv4,n)),e.cidrv6=n=>e.check(_cidrv6(ZodCIDRv6,n)),e.e164=n=>e.check(_e164(ZodE164,n)),e.datetime=n=>e.check(datetime(n)),e.date=n=>e.check(date(n)),e.time=n=>e.check(time(n)),e.duration=n=>e.check(duration(n))});function string(e){return _string(ZodString,e)}const ZodStringFormat=$constructor("ZodStringFormat",(e,t)=>{$ZodStringFormat.init(e,t),_ZodString.init(e,t)}),ZodEmail=$constructor("ZodEmail",(e,t)=>{$ZodEmail.init(e,t),ZodStringFormat.init(e,t)}),ZodGUID=$constructor("ZodGUID",(e,t)=>{$ZodGUID.init(e,t),ZodStringFormat.init(e,t)}),ZodUUID=$constructor("ZodUUID",(e,t)=>{$ZodUUID.init(e,t),ZodStringFormat.init(e,t)}),ZodURL=$constructor("ZodURL",(e,t)=>{$ZodURL.init(e,t),ZodStringFormat.init(e,t)}),ZodEmoji=$constructor("ZodEmoji",(e,t)=>{$ZodEmoji.init(e,t),ZodStringFormat.init(e,t)}),ZodNanoID=$constructor("ZodNanoID",(e,t)=>{$ZodNanoID.init(e,t),ZodStringFormat.init(e,t)}),ZodCUID=$constructor("ZodCUID",(e,t)=>{$ZodCUID.init(e,t),ZodStringFormat.init(e,t)}),ZodCUID2=$constructor("ZodCUID2",(e,t)=>{$ZodCUID2.init(e,t),ZodStringFormat.init(e,t)}),ZodULID=$constructor("ZodULID",(e,t)=>{$ZodULID.init(e,t),ZodStringFormat.init(e,t)}),ZodXID=$constructor("ZodXID",(e,t)=>{$ZodXID.init(e,t),ZodStringFormat.init(e,t)}),ZodKSUID=$constructor("ZodKSUID",(e,t)=>{$ZodKSUID.init(e,t),ZodStringFormat.init(e,t)}),ZodIPv4=$constructor("ZodIPv4",(e,t)=>{$ZodIPv4.init(e,t),ZodStringFormat.init(e,t)}),ZodIPv6=$constructor("ZodIPv6",(e,t)=>{$ZodIPv6.init(e,t),ZodStringFormat.init(e,t)}),ZodCIDRv4=$constructor("ZodCIDRv4",(e,t)=>{$ZodCIDRv4.init(e,t),ZodStringFormat.init(e,t)}),ZodCIDRv6=$constructor("ZodCIDRv6",(e,t)=>{$ZodCIDRv6.init(e,t),ZodStringFormat.init(e,t)}),ZodBase64=$constructor("ZodBase64",(e,t)=>{$ZodBase64.init(e,t),ZodStringFormat.init(e,t)}),ZodBase64URL=$constructor("ZodBase64URL",(e,t)=>{$ZodBase64URL.init(e,t),ZodStringFormat.init(e,t)}),ZodE164=$constructor("ZodE164",(e,t)=>{$ZodE164.init(e,t),ZodStringFormat.init(e,t)}),ZodJWT=$constructor("ZodJWT",(e,t)=>{$ZodJWT.init(e,t),ZodStringFormat.init(e,t)}),ZodNumber=$constructor("ZodNumber",(e,t)=>{$ZodNumber.init(e,t),ZodType.init(e,t),e.gt=(r,o)=>e.check(_gt(r,o)),e.gte=(r,o)=>e.check(_gte(r,o)),e.min=(r,o)=>e.check(_gte(r,o)),e.lt=(r,o)=>e.check(_lt(r,o)),e.lte=(r,o)=>e.check(_lte(r,o)),e.max=(r,o)=>e.check(_lte(r,o)),e.int=r=>e.check(int(r)),e.safe=r=>e.check(int(r)),e.positive=r=>e.check(_gt(0,r)),e.nonnegative=r=>e.check(_gte(0,r)),e.negative=r=>e.check(_lt(0,r)),e.nonpositive=r=>e.check(_lte(0,r)),e.multipleOf=(r,o)=>e.check(_multipleOf(r,o)),e.step=(r,o)=>e.check(_multipleOf(r,o)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function number(e){return _number(ZodNumber,e)}const ZodNumberFormat=$constructor("ZodNumberFormat",(e,t)=>{$ZodNumberFormat.init(e,t),ZodNumber.init(e,t)});function int(e){return _int(ZodNumberFormat,e)}const ZodBoolean=$constructor("ZodBoolean",(e,t)=>{$ZodBoolean.init(e,t),ZodType.init(e,t)});function boolean(e){return _boolean(ZodBoolean,e)}const ZodAny=$constructor("ZodAny",(e,t)=>{$ZodAny.init(e,t),ZodType.init(e,t)});function any(){return _any(ZodAny)}const ZodUnknown=$constructor("ZodUnknown",(e,t)=>{$ZodUnknown.init(e,t),ZodType.init(e,t)});function unknown(){return _unknown(ZodUnknown)}const ZodNever=$constructor("ZodNever",(e,t)=>{$ZodNever.init(e,t),ZodType.init(e,t)});function never(e){return _never(ZodNever,e)}const ZodArray=$constructor("ZodArray",(e,t)=>{$ZodArray.init(e,t),ZodType.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(_minLength(n,r)),e.nonempty=n=>e.check(_minLength(1,n)),e.max=(n,r)=>e.check(_maxLength(n,r)),e.length=(n,r)=>e.check(_length(n,r)),e.unwrap=()=>e.element});function array(e,t){return _array(ZodArray,e,t)}const ZodObject=$constructor("ZodObject",(e,t)=>{$ZodObject.init(e,t),ZodType.init(e,t),defineLazy(e,"shape",()=>t.shape),e.keyof=()=>_enum(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:unknown()}),e.loose=()=>e.clone({...e._zod.def,catchall:unknown()}),e.strict=()=>e.clone({...e._zod.def,catchall:never()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>extend(e,n),e.merge=n=>merge(e,n),e.pick=n=>pick(e,n),e.omit=n=>omit(e,n),e.partial=(...n)=>partial(ZodOptional,e,n[0]),e.required=(...n)=>required(ZodNonOptional,e,n[0])});function object(e,t){const n={type:"object",get shape(){return assignProp(this,"shape",{...e}),this.shape},...normalizeParams(t)};return new ZodObject(n)}const ZodUnion=$constructor("ZodUnion",(e,t)=>{$ZodUnion.init(e,t),ZodType.init(e,t),e.options=t.options});function union(e,t){return new ZodUnion({type:"union",options:e,...normalizeParams(t)})}const ZodIntersection=$constructor("ZodIntersection",(e,t)=>{$ZodIntersection.init(e,t),ZodType.init(e,t)});function intersection(e,t){return new ZodIntersection({type:"intersection",left:e,right:t})}const ZodRecord=$constructor("ZodRecord",(e,t)=>{$ZodRecord.init(e,t),ZodType.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function record(e,t,n){return new ZodRecord({type:"record",keyType:e,valueType:t,...normalizeParams(n)})}const ZodEnum=$constructor("ZodEnum",(e,t)=>{$ZodEnum.init(e,t),ZodType.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const s={};for(const i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new ZodEnum({...t,checks:[],...normalizeParams(o),entries:s})},e.exclude=(r,o)=>{const s={...t.entries};for(const i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new ZodEnum({...t,checks:[],...normalizeParams(o),entries:s})}});function _enum(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new ZodEnum({type:"enum",entries:n,...normalizeParams(t)})}const ZodTransform=$constructor("ZodTransform",(e,t)=>{$ZodTransform.init(e,t),ZodType.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=s=>{if(typeof s=="string")n.issues.push(issue(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(issue(i))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function transform(e){return new ZodTransform({type:"transform",transform:e})}const ZodOptional=$constructor("ZodOptional",(e,t)=>{$ZodOptional.init(e,t),ZodType.init(e,t),e.unwrap=()=>e._zod.def.innerType});function optional(e){return new ZodOptional({type:"optional",innerType:e})}const ZodNullable=$constructor("ZodNullable",(e,t)=>{$ZodNullable.init(e,t),ZodType.init(e,t),e.unwrap=()=>e._zod.def.innerType});function nullable(e){return new ZodNullable({type:"nullable",innerType:e})}const ZodDefault=$constructor("ZodDefault",(e,t)=>{$ZodDefault.init(e,t),ZodType.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function _default(e,t){return new ZodDefault({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}const ZodPrefault=$constructor("ZodPrefault",(e,t)=>{$ZodPrefault.init(e,t),ZodType.init(e,t),e.unwrap=()=>e._zod.def.innerType});function prefault(e,t){return new ZodPrefault({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}const ZodNonOptional=$constructor("ZodNonOptional",(e,t)=>{$ZodNonOptional.init(e,t),ZodType.init(e,t),e.unwrap=()=>e._zod.def.innerType});function nonoptional(e,t){return new ZodNonOptional({type:"nonoptional",innerType:e,...normalizeParams(t)})}const ZodCatch=$constructor("ZodCatch",(e,t)=>{$ZodCatch.init(e,t),ZodType.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function _catch(e,t){return new ZodCatch({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const ZodPipe=$constructor("ZodPipe",(e,t)=>{$ZodPipe.init(e,t),ZodType.init(e,t),e.in=t.in,e.out=t.out});function pipe(e,t){return new ZodPipe({type:"pipe",in:e,out:t})}const ZodReadonly=$constructor("ZodReadonly",(e,t)=>{$ZodReadonly.init(e,t),ZodType.init(e,t)});function readonly(e){return new ZodReadonly({type:"readonly",innerType:e})}const ZodCustom=$constructor("ZodCustom",(e,t)=>{$ZodCustom.init(e,t),ZodType.init(e,t)});function check(e){const t=new $ZodCheck({check:"custom"});return t._zod.check=e,t}function refine(e,t={}){return _refine(ZodCustom,e,t)}function superRefine(e){const t=check(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(issue(r,n.value,t._zod.def));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(issue(o))}},e(n.value,n)));return t}const identity=e=>e,handler={get:()=>new Proxy(identity,handler)},chalk=new Proxy(identity,handler);var __defProp$3=Object.defineProperty,__name$3=(e,t)=>__defProp$3(e,"name",{value:t,configurable:!0});const InvokeErrorType={NETWORK_ERROR:"network_error",RATE_LIMIT:"rate_limit",SERVER_ERROR:"server_error",NO_TOOL_CALL:"no_tool_call",INVALID_TOOL_ARGS:"invalid_tool_args",TOOL_EXECUTION_ERROR:"tool_execution_error",UNKNOWN:"unknown",AUTH_ERROR:"auth_error",CONTEXT_LENGTH:"context_length",CONTENT_FILTER:"content_filter"},_InvokeError=class extends Error{constructor(n,r,o,s){super(r);re(this,"type");re(this,"retryable");re(this,"statusCode");re(this,"rawError");re(this,"rawResponse");this.name="InvokeError",this.type=n,this.retryable=this.isRetryable(n,o),this.rawError=o,this.rawResponse=s}isRetryable(n,r){return(r==null?void 0:r.name)==="AbortError"?!1:[InvokeErrorType.NETWORK_ERROR,InvokeErrorType.RATE_LIMIT,InvokeErrorType.SERVER_ERROR,InvokeErrorType.NO_TOOL_CALL,InvokeErrorType.INVALID_TOOL_ARGS,InvokeErrorType.TOOL_EXECUTION_ERROR,InvokeErrorType.UNKNOWN].includes(n)}};__name$3(_InvokeError,"InvokeError");let InvokeError=_InvokeError;const debug=console.debug.bind(console,chalk.gray("[LLM]"));function zodToOpenAITool(e,t){return{type:"function",function:{name:e,description:t.description,parameters:toJSONSchema(t.inputSchema,{target:"openapi-3.0"})}}}__name$3(zodToOpenAITool,"zodToOpenAITool");function modelPatch(e){var r,o;const t=e.model||"";if(!t)return e;const n=normalizeModelName(t);return n.startsWith("qwen")&&(debug("Applying Qwen patch: use higher temperature for auto fixing"),e.temperature=Math.max(e.temperature||0,1),e.enable_thinking=!1),n.startsWith("claude")&&(debug("Applying Claude patch: disable thinking"),e.thinking={type:"disabled"},e.tool_choice==="required"?(debug('Applying Claude patch: convert tool_choice "required" to { type: "any" }'),e.tool_choice={type:"any"}):(o=(r=e.tool_choice)==null?void 0:r.function)!=null&&o.name&&(debug("Applying Claude patch: convert tool_choice format"),e.tool_choice={type:"tool",name:e.tool_choice.function.name})),n.startsWith("grok")&&(debug("Applying Grok patch: removing tool_choice"),delete e.tool_choice,debug("Applying Grok patch: disable reasoning and thinking"),e.thinking={type:"disabled",effort:"minimal"},e.reasoning={enabled:!1,effort:"low"}),n.startsWith("gpt")&&(debug("Applying GPT patch: set verbosity to low"),e.verbosity="low",n.startsWith("gpt-52")?(debug("Applying GPT-52 patch: disable reasoning"),e.reasoning_effort="none"):n.startsWith("gpt-51")?(debug("Applying GPT-51 patch: disable reasoning"),e.reasoning_effort="none"):n.startsWith("gpt-54")?(debug("Applying GPT-5.4 patch: skip reasoning_effort because chat/completions rejects it with function tools"),delete e.reasoning_effort):n.startsWith("gpt-5-mini")?(debug("Applying GPT-5-mini patch: set reasoning effort to low, temperature to 1"),e.reasoning_effort="low",e.temperature=1):n.startsWith("gpt-5")&&(debug("Applying GPT-5 patch: set reasoning effort to low"),e.reasoning_effort="low")),n.startsWith("gemini")&&(debug("Applying Gemini patch: set reasoning effort to minimal"),e.reasoning_effort="minimal"),e}__name$3(modelPatch,"modelPatch");function normalizeModelName(e){let t=e.toLowerCase();return t.includes("/")&&(t=t.split("/")[1]),t=t.replace(/_/g,""),t=t.replace(/\./g,""),t}__name$3(normalizeModelName,"normalizeModelName");const _OpenAIClient=class{constructor(t){re(this,"config");re(this,"fetch");this.config=t,this.fetch=t.customFetch}async invoke(t,n,r,o){var m,$,k,N,O,F,ee,J,fe,ae,Ee,_e,ze,we,xe,ke,g,E;const s=Object.entries(n).map(([S,I])=>zodToOpenAITool(S,I)),i={model:this.config.model,temperature:this.config.temperature,messages:t,tools:s,parallel_tool_calls:!1,tool_choice:o!=null&&o.toolChoiceName?{type:"function",function:{name:o.toolChoiceName}}:"required"};modelPatch(i);let a;try{a=await this.fetch(`${this.config.baseURL}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`},body:JSON.stringify(i),signal:r})}catch(S){const I=(S==null?void 0:S.name)==="AbortError",P=I?"Network request aborted":"Network request failed";throw I||console.error(S),new InvokeError(InvokeErrorType.NETWORK_ERROR,P,S)}if(!a.ok){const S=await a.json().catch(),I=((m=S.error)==null?void 0:m.message)||a.statusText;throw a.status===401||a.status===403?new InvokeError(InvokeErrorType.AUTH_ERROR,`Authentication failed: ${I}`,S):a.status===429?new InvokeError(InvokeErrorType.RATE_LIMIT,`Rate limit exceeded: ${I}`,S):a.status>=500?new InvokeError(InvokeErrorType.SERVER_ERROR,`Server error: ${I}`,S):new InvokeError(InvokeErrorType.UNKNOWN,`HTTP ${a.status}: ${I}`,S)}const l=await a.json(),c=($=l.choices)==null?void 0:$[0];if(!c)throw new InvokeError(InvokeErrorType.UNKNOWN,"No choices in response",l);switch(c.finish_reason){case"tool_calls":case"function_call":case"stop":break;case"length":throw new InvokeError(InvokeErrorType.CONTEXT_LENGTH,"Response truncated: max tokens reached",void 0,l);case"content_filter":throw new InvokeError(InvokeErrorType.CONTENT_FILTER,"Content filtered by safety system",void 0,l);default:throw new InvokeError(InvokeErrorType.UNKNOWN,`Unexpected finish_reason: ${c.finish_reason}`,void 0,l)}const d=(k=(o!=null&&o.normalizeResponse?o.normalizeResponse(l):l).choices)==null?void 0:k[0],f=(ee=(F=(O=(N=d==null?void 0:d.message)==null?void 0:N.tool_calls)==null?void 0:O[0])==null?void 0:F.function)==null?void 0:ee.name;if(!f)throw new InvokeError(InvokeErrorType.NO_TOOL_CALL,"No tool call found in response",void 0,l);const v=n[f];if(!v)throw new InvokeError(InvokeErrorType.UNKNOWN,`Tool "${f}" not found in tools`,void 0,l);const _=(Ee=(ae=(fe=(J=d.message)==null?void 0:J.tool_calls)==null?void 0:fe[0])==null?void 0:ae.function)==null?void 0:Ee.arguments;if(!_)throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,"No tool call arguments found",void 0,l);let y;try{y=JSON.parse(_)}catch(S){throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,"Failed to parse tool arguments as JSON",S,l)}const h=v.inputSchema.safeParse(y);if(!h.success)throw console.error(prettifyError(h.error)),new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,"Tool arguments validation failed",h.error,l);const p=h.data;let b;try{b=await v.execute(p)}catch(S){throw new InvokeError(InvokeErrorType.TOOL_EXECUTION_ERROR,`Tool execution failed: ${S.message}`,S,l)}return{toolCall:{name:f,args:p},toolResult:b,usage:{promptTokens:((_e=l.usage)==null?void 0:_e.prompt_tokens)??0,completionTokens:((ze=l.usage)==null?void 0:ze.completion_tokens)??0,totalTokens:((we=l.usage)==null?void 0:we.total_tokens)??0,cachedTokens:(ke=(xe=l.usage)==null?void 0:xe.prompt_tokens_details)==null?void 0:ke.cached_tokens,reasoningTokens:(E=(g=l.usage)==null?void 0:g.completion_tokens_details)==null?void 0:E.reasoning_tokens},rawResponse:l,rawRequest:i}}};__name$3(_OpenAIClient,"OpenAIClient");let OpenAIClient=_OpenAIClient;const LLM_MAX_RETRIES=2,DEFAULT_TEMPERATURE=.7;function parseLLMConfig(e){if(!e.baseURL||!e.apiKey||!e.model)throw new Error("[PageAgent] LLM configuration required. Please provide: baseURL, apiKey, model. See: https://alibaba.github.io/page-agent/docs/features/models");return{baseURL:e.baseURL,apiKey:e.apiKey,model:e.model,temperature:e.temperature??DEFAULT_TEMPERATURE,maxRetries:e.maxRetries??LLM_MAX_RETRIES,customFetch:(e.customFetch??fetch).bind(globalThis)}}__name$3(parseLLMConfig,"parseLLMConfig");const _LLM=class extends EventTarget{constructor(n){super();re(this,"config");re(this,"client");this.config=parseLLMConfig(n),this.client=new OpenAIClient(this.config)}async invoke(n,r,o,s){return await withRetry(async()=>{if(o.aborted)throw new Error("AbortError");return await this.client.invoke(n,r,o,s)},{maxRetries:this.config.maxRetries,onRetry:__name$3(i=>{this.dispatchEvent(new CustomEvent("retry",{detail:{attempt:i,maxAttempts:this.config.maxRetries}}))},"onRetry"),onError:__name$3(i=>{this.dispatchEvent(new CustomEvent("error",{detail:{error:i}}))},"onError")})}};__name$3(_LLM,"LLM");let LLM=_LLM;async function withRetry(e,t){var o;let n=0,r=null;for(;n<=t.maxRetries;){n>0&&(t.onRetry(n),await new Promise(s=>setTimeout(s,100)));try{return await e()}catch(s){if(((o=s==null?void 0:s.rawError)==null?void 0:o.name)==="AbortError"||(console.error(s),t.onError(s),s instanceof InvokeError&&!s.retryable))throw s;r=s,n++,await new Promise(i=>setTimeout(i,100))}}throw r}__name$3(withRetry,"withRetry");var __defProp$2=Object.defineProperty,__typeError$1=e=>{throw TypeError(e)},__defNormalProp$1=(e,t,n)=>t in e?__defProp$2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__name$2=(e,t)=>__defProp$2(e,"name",{value:t,configurable:!0}),__publicField$1=(e,t,n)=>__defNormalProp$1(e,typeof t!="symbol"?t+"":t,n),__accessCheck$1=(e,t,n)=>t.has(e)||__typeError$1("Cannot "+n),__privateGet$1=(e,t,n)=>(__accessCheck$1(e,t,"read from private field"),n?n.call(e):t.get(e)),__privateAdd$1=(e,t,n)=>t.has(e)?__typeError$1("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),__privateSet$1=(e,t,n,r)=>(__accessCheck$1(e,t,"write to private field"),t.set(e,n),n),__privateMethod$1=(e,t,n)=>(__accessCheck$1(e,t,"access private method"),n),_status,_llm,_abortController,_observations,_states,_PageAgentCore_instances,emitStatusChange_fn,emitHistoryChange_fn,emitActivity_fn,setStatus_fn,packMacroTool_fn,getSystemPrompt_fn,getInstructions_fn,handleObservations_fn,assembleUserPrompt_fn,onDone_fn;const SYSTEM_PROMPT=`You are an AI agent designed to operate in an iterative loop to automate browser tasks. Your ultimate goal is accomplishing the task provided in <user_request>.
|
|
209
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const R of this.seen.entries()){const C=R[1];if(p===R[0]){b(R);continue}if(g.external){const $=(S=g.external.registry.get(R[0]))==null?void 0:S.id;if(p!==R[0]&&$){b(R);continue}}if((k=this.metadataRegistry.get(R[0]))==null?void 0:k.id){b(R);continue}if(C.cycle){b(R);continue}if(C.count>1&&g.reused==="ref"){b(R);continue}}const y=(R,C)=>{const N=this.seen.get(R),$=N.def??N.schema,O={...$};if(N.ref===null)return;const F=N.ref;if(N.ref=null,F){y(F,C);const j=this.seen.get(F).schema;j.$ref&&C.target==="draft-7"?($.allOf=$.allOf??[],$.allOf.push(j)):(Object.assign($,j),Object.assign($,O))}N.isParent||this.override({zodSchema:R,jsonSchema:$,path:N.path??[]})};for(const R of[...this.seen.entries()].reverse())y(R[0],{target:this.target});const w={};if(this.target==="draft-2020-12"?w.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?w.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),(I=g.external)!=null&&I.uri){const R=(A=g.external.registry.get(p))==null?void 0:A.id;if(!R)throw new Error("Schema is missing an `id` property");w.$id=g.external.uri(R)}Object.assign(w,m.def);const x=((M=g.external)==null?void 0:M.defs)??{};for(const R of this.seen.entries()){const C=R[1];C.def&&C.defId&&(x[C.defId]=C.def)}g.external||Object.keys(x).length>0&&(this.target==="draft-2020-12"?w.$defs=x:w.definitions=x);try{return JSON.parse(JSON.stringify(w))}catch{throw new Error("Error converting schema to JSON.")}}}function toJSONSchema(d,p){if(d instanceof $ZodRegistry){const g=new JSONSchemaGenerator(p),m={};for(const y of d._idmap.entries()){const[w,x]=y;g.process(x)}const _={},b={registry:d,uri:p==null?void 0:p.uri,defs:m};for(const y of d._idmap.entries()){const[w,x]=y;_[w]=g.emit(x,{...p,external:b})}if(Object.keys(m).length>0){const y=g.target==="draft-2020-12"?"$defs":"definitions";_.__shared={[y]:m}}return{schemas:_}}const h=new JSONSchemaGenerator(p);return h.process(d),h.emit(d,p)}function isTransforming(d,p){const h=p??{seen:new Set};if(h.seen.has(d))return!1;h.seen.add(d);const m=d._zod.def;switch(m.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return isTransforming(m.element,h);case"object":{for(const _ in m.shape)if(isTransforming(m.shape[_],h))return!0;return!1}case"union":{for(const _ of m.options)if(isTransforming(_,h))return!0;return!1}case"intersection":return isTransforming(m.left,h)||isTransforming(m.right,h);case"tuple":{for(const _ of m.items)if(isTransforming(_,h))return!0;return!!(m.rest&&isTransforming(m.rest,h))}case"record":return isTransforming(m.keyType,h)||isTransforming(m.valueType,h);case"map":return isTransforming(m.keyType,h)||isTransforming(m.valueType,h);case"set":return isTransforming(m.valueType,h);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return isTransforming(m.innerType,h);case"lazy":return isTransforming(m.getter(),h);case"default":return isTransforming(m.innerType,h);case"prefault":return isTransforming(m.innerType,h);case"custom":return!1;case"transform":return!0;case"pipe":return isTransforming(m.in,h)||isTransforming(m.out,h);case"success":return!1;case"catch":return!1}throw new Error(`Unknown schema type: ${m.type}`)}const ZodISODateTime=$constructor("ZodISODateTime",(d,p)=>{$ZodISODateTime.init(d,p),ZodStringFormat.init(d,p)});function datetime(d){return _isoDateTime(ZodISODateTime,d)}const ZodISODate=$constructor("ZodISODate",(d,p)=>{$ZodISODate.init(d,p),ZodStringFormat.init(d,p)});function date(d){return _isoDate(ZodISODate,d)}const ZodISOTime=$constructor("ZodISOTime",(d,p)=>{$ZodISOTime.init(d,p),ZodStringFormat.init(d,p)});function time(d){return _isoTime(ZodISOTime,d)}const ZodISODuration=$constructor("ZodISODuration",(d,p)=>{$ZodISODuration.init(d,p),ZodStringFormat.init(d,p)});function duration(d){return _isoDuration(ZodISODuration,d)}const initializer=(d,p)=>{$ZodError.init(d,p),d.name="ZodError",Object.defineProperties(d,{format:{value:h=>formatError(d,h)},flatten:{value:h=>flattenError(d,h)},addIssue:{value:h=>d.issues.push(h)},addIssues:{value:h=>d.issues.push(...h)},isEmpty:{get(){return d.issues.length===0}}})},ZodRealError=$constructor("ZodError",initializer,{Parent:Error}),parse=_parse(ZodRealError),parseAsync=_parseAsync(ZodRealError),safeParse=_safeParse(ZodRealError),safeParseAsync=_safeParseAsync(ZodRealError),ZodType=$constructor("ZodType",(d,p)=>($ZodType.init(d,p),d.def=p,Object.defineProperty(d,"_def",{value:p}),d.check=(...h)=>d.clone({...p,checks:[...p.checks??[],...h.map(g=>typeof g=="function"?{_zod:{check:g,def:{check:"custom"},onattach:[]}}:g)]}),d.clone=(h,g)=>clone(d,h,g),d.brand=()=>d,d.register=((h,g)=>(h.add(d,g),d)),d.parse=(h,g)=>parse(d,h,g,{callee:d.parse}),d.safeParse=(h,g)=>safeParse(d,h,g),d.parseAsync=async(h,g)=>parseAsync(d,h,g,{callee:d.parseAsync}),d.safeParseAsync=async(h,g)=>safeParseAsync(d,h,g),d.spa=d.safeParseAsync,d.refine=(h,g)=>d.check(refine(h,g)),d.superRefine=h=>d.check(superRefine(h)),d.overwrite=h=>d.check(_overwrite(h)),d.optional=()=>optional(d),d.nullable=()=>nullable(d),d.nullish=()=>optional(nullable(d)),d.nonoptional=h=>nonoptional(d,h),d.array=()=>array(d),d.or=h=>union([d,h]),d.and=h=>intersection(d,h),d.transform=h=>pipe(d,transform(h)),d.default=h=>_default(d,h),d.prefault=h=>prefault(d,h),d.catch=h=>_catch(d,h),d.pipe=h=>pipe(d,h),d.readonly=()=>readonly(d),d.describe=h=>{const g=d.clone();return globalRegistry.add(g,{description:h}),g},Object.defineProperty(d,"description",{get(){var h;return(h=globalRegistry.get(d))==null?void 0:h.description},configurable:!0}),d.meta=(...h)=>{if(h.length===0)return globalRegistry.get(d);const g=d.clone();return globalRegistry.add(g,h[0]),g},d.isOptional=()=>d.safeParse(void 0).success,d.isNullable=()=>d.safeParse(null).success,d)),_ZodString=$constructor("_ZodString",(d,p)=>{$ZodString.init(d,p),ZodType.init(d,p);const h=d._zod.bag;d.format=h.format??null,d.minLength=h.minimum??null,d.maxLength=h.maximum??null,d.regex=(...g)=>d.check(_regex(...g)),d.includes=(...g)=>d.check(_includes(...g)),d.startsWith=(...g)=>d.check(_startsWith(...g)),d.endsWith=(...g)=>d.check(_endsWith(...g)),d.min=(...g)=>d.check(_minLength(...g)),d.max=(...g)=>d.check(_maxLength(...g)),d.length=(...g)=>d.check(_length(...g)),d.nonempty=(...g)=>d.check(_minLength(1,...g)),d.lowercase=g=>d.check(_lowercase(g)),d.uppercase=g=>d.check(_uppercase(g)),d.trim=()=>d.check(_trim()),d.normalize=(...g)=>d.check(_normalize(...g)),d.toLowerCase=()=>d.check(_toLowerCase()),d.toUpperCase=()=>d.check(_toUpperCase())}),ZodString=$constructor("ZodString",(d,p)=>{$ZodString.init(d,p),_ZodString.init(d,p),d.email=h=>d.check(_email(ZodEmail,h)),d.url=h=>d.check(_url(ZodURL,h)),d.jwt=h=>d.check(_jwt(ZodJWT,h)),d.emoji=h=>d.check(_emoji(ZodEmoji,h)),d.guid=h=>d.check(_guid(ZodGUID,h)),d.uuid=h=>d.check(_uuid(ZodUUID,h)),d.uuidv4=h=>d.check(_uuidv4(ZodUUID,h)),d.uuidv6=h=>d.check(_uuidv6(ZodUUID,h)),d.uuidv7=h=>d.check(_uuidv7(ZodUUID,h)),d.nanoid=h=>d.check(_nanoid(ZodNanoID,h)),d.guid=h=>d.check(_guid(ZodGUID,h)),d.cuid=h=>d.check(_cuid(ZodCUID,h)),d.cuid2=h=>d.check(_cuid2(ZodCUID2,h)),d.ulid=h=>d.check(_ulid(ZodULID,h)),d.base64=h=>d.check(_base64(ZodBase64,h)),d.base64url=h=>d.check(_base64url(ZodBase64URL,h)),d.xid=h=>d.check(_xid(ZodXID,h)),d.ksuid=h=>d.check(_ksuid(ZodKSUID,h)),d.ipv4=h=>d.check(_ipv4(ZodIPv4,h)),d.ipv6=h=>d.check(_ipv6(ZodIPv6,h)),d.cidrv4=h=>d.check(_cidrv4(ZodCIDRv4,h)),d.cidrv6=h=>d.check(_cidrv6(ZodCIDRv6,h)),d.e164=h=>d.check(_e164(ZodE164,h)),d.datetime=h=>d.check(datetime(h)),d.date=h=>d.check(date(h)),d.time=h=>d.check(time(h)),d.duration=h=>d.check(duration(h))});function string(d){return _string(ZodString,d)}const ZodStringFormat=$constructor("ZodStringFormat",(d,p)=>{$ZodStringFormat.init(d,p),_ZodString.init(d,p)}),ZodEmail=$constructor("ZodEmail",(d,p)=>{$ZodEmail.init(d,p),ZodStringFormat.init(d,p)}),ZodGUID=$constructor("ZodGUID",(d,p)=>{$ZodGUID.init(d,p),ZodStringFormat.init(d,p)}),ZodUUID=$constructor("ZodUUID",(d,p)=>{$ZodUUID.init(d,p),ZodStringFormat.init(d,p)}),ZodURL=$constructor("ZodURL",(d,p)=>{$ZodURL.init(d,p),ZodStringFormat.init(d,p)}),ZodEmoji=$constructor("ZodEmoji",(d,p)=>{$ZodEmoji.init(d,p),ZodStringFormat.init(d,p)}),ZodNanoID=$constructor("ZodNanoID",(d,p)=>{$ZodNanoID.init(d,p),ZodStringFormat.init(d,p)}),ZodCUID=$constructor("ZodCUID",(d,p)=>{$ZodCUID.init(d,p),ZodStringFormat.init(d,p)}),ZodCUID2=$constructor("ZodCUID2",(d,p)=>{$ZodCUID2.init(d,p),ZodStringFormat.init(d,p)}),ZodULID=$constructor("ZodULID",(d,p)=>{$ZodULID.init(d,p),ZodStringFormat.init(d,p)}),ZodXID=$constructor("ZodXID",(d,p)=>{$ZodXID.init(d,p),ZodStringFormat.init(d,p)}),ZodKSUID=$constructor("ZodKSUID",(d,p)=>{$ZodKSUID.init(d,p),ZodStringFormat.init(d,p)}),ZodIPv4=$constructor("ZodIPv4",(d,p)=>{$ZodIPv4.init(d,p),ZodStringFormat.init(d,p)}),ZodIPv6=$constructor("ZodIPv6",(d,p)=>{$ZodIPv6.init(d,p),ZodStringFormat.init(d,p)}),ZodCIDRv4=$constructor("ZodCIDRv4",(d,p)=>{$ZodCIDRv4.init(d,p),ZodStringFormat.init(d,p)}),ZodCIDRv6=$constructor("ZodCIDRv6",(d,p)=>{$ZodCIDRv6.init(d,p),ZodStringFormat.init(d,p)}),ZodBase64=$constructor("ZodBase64",(d,p)=>{$ZodBase64.init(d,p),ZodStringFormat.init(d,p)}),ZodBase64URL=$constructor("ZodBase64URL",(d,p)=>{$ZodBase64URL.init(d,p),ZodStringFormat.init(d,p)}),ZodE164=$constructor("ZodE164",(d,p)=>{$ZodE164.init(d,p),ZodStringFormat.init(d,p)}),ZodJWT=$constructor("ZodJWT",(d,p)=>{$ZodJWT.init(d,p),ZodStringFormat.init(d,p)}),ZodNumber=$constructor("ZodNumber",(d,p)=>{$ZodNumber.init(d,p),ZodType.init(d,p),d.gt=(g,m)=>d.check(_gt(g,m)),d.gte=(g,m)=>d.check(_gte(g,m)),d.min=(g,m)=>d.check(_gte(g,m)),d.lt=(g,m)=>d.check(_lt(g,m)),d.lte=(g,m)=>d.check(_lte(g,m)),d.max=(g,m)=>d.check(_lte(g,m)),d.int=g=>d.check(int(g)),d.safe=g=>d.check(int(g)),d.positive=g=>d.check(_gt(0,g)),d.nonnegative=g=>d.check(_gte(0,g)),d.negative=g=>d.check(_lt(0,g)),d.nonpositive=g=>d.check(_lte(0,g)),d.multipleOf=(g,m)=>d.check(_multipleOf(g,m)),d.step=(g,m)=>d.check(_multipleOf(g,m)),d.finite=()=>d;const h=d._zod.bag;d.minValue=Math.max(h.minimum??Number.NEGATIVE_INFINITY,h.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,d.maxValue=Math.min(h.maximum??Number.POSITIVE_INFINITY,h.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,d.isInt=(h.format??"").includes("int")||Number.isSafeInteger(h.multipleOf??.5),d.isFinite=!0,d.format=h.format??null});function number(d){return _number(ZodNumber,d)}const ZodNumberFormat=$constructor("ZodNumberFormat",(d,p)=>{$ZodNumberFormat.init(d,p),ZodNumber.init(d,p)});function int(d){return _int(ZodNumberFormat,d)}const ZodBoolean=$constructor("ZodBoolean",(d,p)=>{$ZodBoolean.init(d,p),ZodType.init(d,p)});function boolean(d){return _boolean(ZodBoolean,d)}const ZodAny=$constructor("ZodAny",(d,p)=>{$ZodAny.init(d,p),ZodType.init(d,p)});function any(){return _any(ZodAny)}const ZodUnknown=$constructor("ZodUnknown",(d,p)=>{$ZodUnknown.init(d,p),ZodType.init(d,p)});function unknown(){return _unknown(ZodUnknown)}const ZodNever=$constructor("ZodNever",(d,p)=>{$ZodNever.init(d,p),ZodType.init(d,p)});function never(d){return _never(ZodNever,d)}const ZodArray=$constructor("ZodArray",(d,p)=>{$ZodArray.init(d,p),ZodType.init(d,p),d.element=p.element,d.min=(h,g)=>d.check(_minLength(h,g)),d.nonempty=h=>d.check(_minLength(1,h)),d.max=(h,g)=>d.check(_maxLength(h,g)),d.length=(h,g)=>d.check(_length(h,g)),d.unwrap=()=>d.element});function array(d,p){return _array(ZodArray,d,p)}const ZodObject=$constructor("ZodObject",(d,p)=>{$ZodObject.init(d,p),ZodType.init(d,p),defineLazy(d,"shape",()=>p.shape),d.keyof=()=>_enum(Object.keys(d._zod.def.shape)),d.catchall=h=>d.clone({...d._zod.def,catchall:h}),d.passthrough=()=>d.clone({...d._zod.def,catchall:unknown()}),d.loose=()=>d.clone({...d._zod.def,catchall:unknown()}),d.strict=()=>d.clone({...d._zod.def,catchall:never()}),d.strip=()=>d.clone({...d._zod.def,catchall:void 0}),d.extend=h=>extend(d,h),d.merge=h=>merge(d,h),d.pick=h=>pick(d,h),d.omit=h=>omit(d,h),d.partial=(...h)=>partial(ZodOptional,d,h[0]),d.required=(...h)=>required(ZodNonOptional,d,h[0])});function object(d,p){const h={type:"object",get shape(){return assignProp(this,"shape",{...d}),this.shape},...normalizeParams(p)};return new ZodObject(h)}const ZodUnion=$constructor("ZodUnion",(d,p)=>{$ZodUnion.init(d,p),ZodType.init(d,p),d.options=p.options});function union(d,p){return new ZodUnion({type:"union",options:d,...normalizeParams(p)})}const ZodIntersection=$constructor("ZodIntersection",(d,p)=>{$ZodIntersection.init(d,p),ZodType.init(d,p)});function intersection(d,p){return new ZodIntersection({type:"intersection",left:d,right:p})}const ZodRecord=$constructor("ZodRecord",(d,p)=>{$ZodRecord.init(d,p),ZodType.init(d,p),d.keyType=p.keyType,d.valueType=p.valueType});function record(d,p,h){return new ZodRecord({type:"record",keyType:d,valueType:p,...normalizeParams(h)})}const ZodEnum=$constructor("ZodEnum",(d,p)=>{$ZodEnum.init(d,p),ZodType.init(d,p),d.enum=p.entries,d.options=Object.values(p.entries);const h=new Set(Object.keys(p.entries));d.extract=(g,m)=>{const _={};for(const b of g)if(h.has(b))_[b]=p.entries[b];else throw new Error(`Key ${b} not found in enum`);return new ZodEnum({...p,checks:[],...normalizeParams(m),entries:_})},d.exclude=(g,m)=>{const _={...p.entries};for(const b of g)if(h.has(b))delete _[b];else throw new Error(`Key ${b} not found in enum`);return new ZodEnum({...p,checks:[],...normalizeParams(m),entries:_})}});function _enum(d,p){const h=Array.isArray(d)?Object.fromEntries(d.map(g=>[g,g])):d;return new ZodEnum({type:"enum",entries:h,...normalizeParams(p)})}const ZodTransform=$constructor("ZodTransform",(d,p)=>{$ZodTransform.init(d,p),ZodType.init(d,p),d._zod.parse=(h,g)=>{h.addIssue=_=>{if(typeof _=="string")h.issues.push(issue(_,h.value,p));else{const b=_;b.fatal&&(b.continue=!1),b.code??(b.code="custom"),b.input??(b.input=h.value),b.inst??(b.inst=d),b.continue??(b.continue=!0),h.issues.push(issue(b))}};const m=p.transform(h.value,h);return m instanceof Promise?m.then(_=>(h.value=_,h)):(h.value=m,h)}});function transform(d){return new ZodTransform({type:"transform",transform:d})}const ZodOptional=$constructor("ZodOptional",(d,p)=>{$ZodOptional.init(d,p),ZodType.init(d,p),d.unwrap=()=>d._zod.def.innerType});function optional(d){return new ZodOptional({type:"optional",innerType:d})}const ZodNullable=$constructor("ZodNullable",(d,p)=>{$ZodNullable.init(d,p),ZodType.init(d,p),d.unwrap=()=>d._zod.def.innerType});function nullable(d){return new ZodNullable({type:"nullable",innerType:d})}const ZodDefault=$constructor("ZodDefault",(d,p)=>{$ZodDefault.init(d,p),ZodType.init(d,p),d.unwrap=()=>d._zod.def.innerType,d.removeDefault=d.unwrap});function _default(d,p){return new ZodDefault({type:"default",innerType:d,get defaultValue(){return typeof p=="function"?p():p}})}const ZodPrefault=$constructor("ZodPrefault",(d,p)=>{$ZodPrefault.init(d,p),ZodType.init(d,p),d.unwrap=()=>d._zod.def.innerType});function prefault(d,p){return new ZodPrefault({type:"prefault",innerType:d,get defaultValue(){return typeof p=="function"?p():p}})}const ZodNonOptional=$constructor("ZodNonOptional",(d,p)=>{$ZodNonOptional.init(d,p),ZodType.init(d,p),d.unwrap=()=>d._zod.def.innerType});function nonoptional(d,p){return new ZodNonOptional({type:"nonoptional",innerType:d,...normalizeParams(p)})}const ZodCatch=$constructor("ZodCatch",(d,p)=>{$ZodCatch.init(d,p),ZodType.init(d,p),d.unwrap=()=>d._zod.def.innerType,d.removeCatch=d.unwrap});function _catch(d,p){return new ZodCatch({type:"catch",innerType:d,catchValue:typeof p=="function"?p:()=>p})}const ZodPipe=$constructor("ZodPipe",(d,p)=>{$ZodPipe.init(d,p),ZodType.init(d,p),d.in=p.in,d.out=p.out});function pipe(d,p){return new ZodPipe({type:"pipe",in:d,out:p})}const ZodReadonly=$constructor("ZodReadonly",(d,p)=>{$ZodReadonly.init(d,p),ZodType.init(d,p)});function readonly(d){return new ZodReadonly({type:"readonly",innerType:d})}const ZodCustom=$constructor("ZodCustom",(d,p)=>{$ZodCustom.init(d,p),ZodType.init(d,p)});function check(d){const p=new $ZodCheck({check:"custom"});return p._zod.check=d,p}function refine(d,p={}){return _refine(ZodCustom,d,p)}function superRefine(d){const p=check(h=>(h.addIssue=g=>{if(typeof g=="string")h.issues.push(issue(g,h.value,p._zod.def));else{const m=g;m.fatal&&(m.continue=!1),m.code??(m.code="custom"),m.input??(m.input=h.value),m.inst??(m.inst=p),m.continue??(m.continue=!p._zod.def.abort),h.issues.push(issue(m))}},d(h.value,h)));return p}const identity=d=>d,handler={get:()=>new Proxy(identity,handler)},chalk=new Proxy(identity,handler);var __defProp$3=Object.defineProperty,__name$3=(d,p)=>__defProp$3(d,"name",{value:p,configurable:!0});const InvokeErrorType={NETWORK_ERROR:"network_error",RATE_LIMIT:"rate_limit",SERVER_ERROR:"server_error",NO_TOOL_CALL:"no_tool_call",INVALID_TOOL_ARGS:"invalid_tool_args",TOOL_EXECUTION_ERROR:"tool_execution_error",UNKNOWN:"unknown",AUTH_ERROR:"auth_error",CONTEXT_LENGTH:"context_length",CONTENT_FILTER:"content_filter"},_InvokeError=class extends Error{constructor(h,g,m,_){super(g);ke(this,"type");ke(this,"retryable");ke(this,"statusCode");ke(this,"rawError");ke(this,"rawResponse");this.name="InvokeError",this.type=h,this.retryable=this.isRetryable(h,m),this.rawError=m,this.rawResponse=_}isRetryable(h,g){return(g==null?void 0:g.name)==="AbortError"?!1:[InvokeErrorType.NETWORK_ERROR,InvokeErrorType.RATE_LIMIT,InvokeErrorType.SERVER_ERROR,InvokeErrorType.NO_TOOL_CALL,InvokeErrorType.INVALID_TOOL_ARGS,InvokeErrorType.TOOL_EXECUTION_ERROR,InvokeErrorType.UNKNOWN].includes(h)}};__name$3(_InvokeError,"InvokeError");let InvokeError=_InvokeError;const debug=console.debug.bind(console,chalk.gray("[LLM]"));function zodToOpenAITool(d,p){return{type:"function",function:{name:d,description:p.description,parameters:toJSONSchema(p.inputSchema,{target:"openapi-3.0"})}}}__name$3(zodToOpenAITool,"zodToOpenAITool");function modelPatch(d){var g,m;const p=d.model||"";if(!p)return d;const h=normalizeModelName(p);return h.startsWith("qwen")&&(debug("Applying Qwen patch: use higher temperature for auto fixing"),d.temperature=Math.max(d.temperature||0,1),d.enable_thinking=!1),h.startsWith("claude")&&(debug("Applying Claude patch: disable thinking"),d.thinking={type:"disabled"},d.tool_choice==="required"?(debug('Applying Claude patch: convert tool_choice "required" to { type: "any" }'),d.tool_choice={type:"any"}):(m=(g=d.tool_choice)==null?void 0:g.function)!=null&&m.name&&(debug("Applying Claude patch: convert tool_choice format"),d.tool_choice={type:"tool",name:d.tool_choice.function.name})),h.startsWith("grok")&&(debug("Applying Grok patch: removing tool_choice"),delete d.tool_choice,debug("Applying Grok patch: disable reasoning and thinking"),d.thinking={type:"disabled",effort:"minimal"},d.reasoning={enabled:!1,effort:"low"}),h.startsWith("gpt")&&(debug("Applying GPT patch: set verbosity to low"),d.verbosity="low",h.startsWith("gpt-52")?(debug("Applying GPT-52 patch: disable reasoning"),d.reasoning_effort="none"):h.startsWith("gpt-51")?(debug("Applying GPT-51 patch: disable reasoning"),d.reasoning_effort="none"):h.startsWith("gpt-54")?(debug("Applying GPT-5.4 patch: skip reasoning_effort because chat/completions rejects it with function tools"),delete d.reasoning_effort):h.startsWith("gpt-5-mini")?(debug("Applying GPT-5-mini patch: set reasoning effort to low, temperature to 1"),d.reasoning_effort="low",d.temperature=1):h.startsWith("gpt-5")&&(debug("Applying GPT-5 patch: set reasoning effort to low"),d.reasoning_effort="low")),h.startsWith("gemini")&&(debug("Applying Gemini patch: set reasoning effort to minimal"),d.reasoning_effort="minimal"),d}__name$3(modelPatch,"modelPatch");function normalizeModelName(d){let p=d.toLowerCase();return p.includes("/")&&(p=p.split("/")[1]),p=p.replace(/_/g,""),p=p.replace(/\./g,""),p}__name$3(normalizeModelName,"normalizeModelName");const _OpenAIClient=class{constructor(p){ke(this,"config");ke(this,"fetch");this.config=p,this.fetch=p.customFetch}async invoke(p,h,g,m){var $,O,F,j,Y,q,de,oe,ce,se,ye,ve,Te,Ee,me,Se,T,z;const _=Object.entries(h).map(([L,P])=>zodToOpenAITool(L,P)),b={model:this.config.model,temperature:this.config.temperature,messages:p,tools:_,parallel_tool_calls:!1,tool_choice:m!=null&&m.toolChoiceName?{type:"function",function:{name:m.toolChoiceName}}:"required"};modelPatch(b);let y;try{y=await this.fetch(`${this.config.baseURL}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`},body:JSON.stringify(b),signal:g})}catch(L){const P=(L==null?void 0:L.name)==="AbortError",G=P?"Network request aborted":"Network request failed";throw P||console.error(L),new InvokeError(InvokeErrorType.NETWORK_ERROR,G,L)}if(!y.ok){const L=await y.json().catch(),P=(($=L.error)==null?void 0:$.message)||y.statusText;throw y.status===401||y.status===403?new InvokeError(InvokeErrorType.AUTH_ERROR,`Authentication failed: ${P}`,L):y.status===429?new InvokeError(InvokeErrorType.RATE_LIMIT,`Rate limit exceeded: ${P}`,L):y.status>=500?new InvokeError(InvokeErrorType.SERVER_ERROR,`Server error: ${P}`,L):new InvokeError(InvokeErrorType.UNKNOWN,`HTTP ${y.status}: ${P}`,L)}const w=await y.json(),x=(O=w.choices)==null?void 0:O[0];if(!x)throw new InvokeError(InvokeErrorType.UNKNOWN,"No choices in response",w);switch(x.finish_reason){case"tool_calls":case"function_call":case"stop":break;case"length":throw new InvokeError(InvokeErrorType.CONTEXT_LENGTH,"Response truncated: max tokens reached",void 0,w);case"content_filter":throw new InvokeError(InvokeErrorType.CONTENT_FILTER,"Content filtered by safety system",void 0,w);default:throw new InvokeError(InvokeErrorType.UNKNOWN,`Unexpected finish_reason: ${x.finish_reason}`,void 0,w)}const S=(F=(m!=null&&m.normalizeResponse?m.normalizeResponse(w):w).choices)==null?void 0:F[0],k=(de=(q=(Y=(j=S==null?void 0:S.message)==null?void 0:j.tool_calls)==null?void 0:Y[0])==null?void 0:q.function)==null?void 0:de.name;if(!k)throw new InvokeError(InvokeErrorType.NO_TOOL_CALL,"No tool call found in response",void 0,w);const I=h[k];if(!I)throw new InvokeError(InvokeErrorType.UNKNOWN,`Tool "${k}" not found in tools`,void 0,w);const A=(ye=(se=(ce=(oe=S.message)==null?void 0:oe.tool_calls)==null?void 0:ce[0])==null?void 0:se.function)==null?void 0:ye.arguments;if(!A)throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,"No tool call arguments found",void 0,w);let M;try{M=JSON.parse(A)}catch(L){throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,"Failed to parse tool arguments as JSON",L,w)}const R=I.inputSchema.safeParse(M);if(!R.success)throw console.error(prettifyError(R.error)),new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,"Tool arguments validation failed",R.error,w);const C=R.data;let N;try{N=await I.execute(C)}catch(L){throw new InvokeError(InvokeErrorType.TOOL_EXECUTION_ERROR,`Tool execution failed: ${L.message}`,L,w)}return{toolCall:{name:k,args:C},toolResult:N,usage:{promptTokens:((ve=w.usage)==null?void 0:ve.prompt_tokens)??0,completionTokens:((Te=w.usage)==null?void 0:Te.completion_tokens)??0,totalTokens:((Ee=w.usage)==null?void 0:Ee.total_tokens)??0,cachedTokens:(Se=(me=w.usage)==null?void 0:me.prompt_tokens_details)==null?void 0:Se.cached_tokens,reasoningTokens:(z=(T=w.usage)==null?void 0:T.completion_tokens_details)==null?void 0:z.reasoning_tokens},rawResponse:w,rawRequest:b}}};__name$3(_OpenAIClient,"OpenAIClient");let OpenAIClient=_OpenAIClient;const LLM_MAX_RETRIES=2,DEFAULT_TEMPERATURE=.7;function parseLLMConfig(d){if(!d.baseURL||!d.apiKey||!d.model)throw new Error("[PageAgent] LLM configuration required. Please provide: baseURL, apiKey, model. See: https://alibaba.github.io/page-agent/docs/features/models");return{baseURL:d.baseURL,apiKey:d.apiKey,model:d.model,temperature:d.temperature??DEFAULT_TEMPERATURE,maxRetries:d.maxRetries??LLM_MAX_RETRIES,customFetch:(d.customFetch??fetch).bind(globalThis)}}__name$3(parseLLMConfig,"parseLLMConfig");const _LLM=class extends EventTarget{constructor(h){super();ke(this,"config");ke(this,"client");this.config=parseLLMConfig(h),this.client=new OpenAIClient(this.config)}async invoke(h,g,m,_){return await withRetry(async()=>{if(m.aborted)throw new Error("AbortError");return await this.client.invoke(h,g,m,_)},{maxRetries:this.config.maxRetries,onRetry:__name$3(b=>{this.dispatchEvent(new CustomEvent("retry",{detail:{attempt:b,maxAttempts:this.config.maxRetries}}))},"onRetry"),onError:__name$3(b=>{this.dispatchEvent(new CustomEvent("error",{detail:{error:b}}))},"onError")})}};__name$3(_LLM,"LLM");let LLM=_LLM;async function withRetry(d,p){var m;let h=0,g=null;for(;h<=p.maxRetries;){h>0&&(p.onRetry(h),await new Promise(_=>setTimeout(_,100)));try{return await d()}catch(_){if(((m=_==null?void 0:_.rawError)==null?void 0:m.name)==="AbortError"||(console.error(_),p.onError(_),_ instanceof InvokeError&&!_.retryable))throw _;g=_,h++,await new Promise(b=>setTimeout(b,100))}}throw g}__name$3(withRetry,"withRetry");var __defProp$2=Object.defineProperty,__typeError$1=d=>{throw TypeError(d)},__defNormalProp$1=(d,p,h)=>p in d?__defProp$2(d,p,{enumerable:!0,configurable:!0,writable:!0,value:h}):d[p]=h,__name$2=(d,p)=>__defProp$2(d,"name",{value:p,configurable:!0}),__publicField$1=(d,p,h)=>__defNormalProp$1(d,typeof p!="symbol"?p+"":p,h),__accessCheck$1=(d,p,h)=>p.has(d)||__typeError$1("Cannot "+h),__privateGet$1=(d,p,h)=>(__accessCheck$1(d,p,"read from private field"),h?h.call(d):p.get(d)),__privateAdd$1=(d,p,h)=>p.has(d)?__typeError$1("Cannot add the same private member more than once"):p instanceof WeakSet?p.add(d):p.set(d,h),__privateSet$1=(d,p,h,g)=>(__accessCheck$1(d,p,"write to private field"),p.set(d,h),h),__privateMethod$1=(d,p,h)=>(__accessCheck$1(d,p,"access private method"),h),_status,_llm,_abortController,_observations,_states,_PageAgentCore_instances,emitStatusChange_fn,emitHistoryChange_fn,emitActivity_fn,setStatus_fn,packMacroTool_fn,getSystemPrompt_fn,getInstructions_fn,handleObservations_fn,assembleUserPrompt_fn,onDone_fn;const SYSTEM_PROMPT=`You are an AI agent designed to operate in an iterative loop to automate browser tasks. Your ultimate goal is accomplishing the task provided in <user_request>.
|
|
159
210
|
|
|
160
211
|
<intro>
|
|
161
212
|
You excel at following tasks:
|
|
@@ -308,69 +359,74 @@ Here are examples of good output patterns. Use them as reference but never copy
|
|
|
308
359
|
}
|
|
309
360
|
}
|
|
310
361
|
</output>
|
|
311
|
-
`,log=console.log.bind(console,chalk.yellow("[autoFixer]"));function normalizeResponse(e,t){var i,a,l;let n=null;const r=(i=e.choices)==null?void 0:i[0];if(!r)throw new Error("No choices in response");const o=r.message;if(!o)throw new Error("No message in choice");const s=(a=o.tool_calls)==null?void 0:a[0];if((l=s==null?void 0:s.function)!=null&&l.arguments)n=safeJsonParse(s.function.arguments),s.function.name&&s.function.name!=="AgentOutput"&&(log("#1: fixing tool_call"),n={action:safeJsonParse(n)});else if(o.content){const c=o.content.trim(),u=retrieveJsonFromString(c);if(u)n=safeJsonParse(u),(n==null?void 0:n.name)==="AgentOutput"&&(log("#2: fixing tool_call"),n=safeJsonParse(n.arguments)),(n==null?void 0:n.type)==="function"&&(log("#3: fixing tool_call"),n=safeJsonParse(n.function.arguments)),!(n!=null&&n.action)&&!(n!=null&&n.evaluation_previous_goal)&&!(n!=null&&n.memory)&&!(n!=null&&n.next_goal)&&!(n!=null&&n.thinking)&&(log("#4: fixing tool_call"),n={action:safeJsonParse(n)});else throw new Error("No tool_call and the message content does not contain valid JSON")}else throw new Error("No tool_call nor message content is present");return n=safeJsonParse(n),n.action&&(n.action=safeJsonParse(n.action)),n.action&&t&&(n.action=validateAction(n.action,t)),n.action||(log("#5: fixing tool_call"),n.action={name:"wait",input:{seconds:1}}),{...e,choices:[{...r,message:{...o,tool_calls:[{...s||{},function:{...(s==null?void 0:s.function)||{},name:"AgentOutput",arguments:JSON.stringify(n)}}]}}]}}__name$2(normalizeResponse,"normalizeResponse");function validateAction(e,t){if(typeof e!="object"||e===null)return e;const n=Object.keys(e)[0];if(!n)return e;const r=t.get(n);if(!r){const a=Array.from(t.keys()).join(", ");throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,`Unknown action "${n}". Available: ${a}`)}let o=e[n];const s=r.inputSchema;if(s instanceof ZodObject&&o!==null&&typeof o!="object"){const a=Object.keys(s.shape).find(l=>!s.shape[l].safeParse(void 0).success);a&&(log(`coercing primitive action input for "${n}"`),o={[a]:o})}const i=s.safeParse(o);if(!i.success)throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,`Invalid input for action "${n}": ${prettifyError(i.error)}`);return{[n]:i.data}}__name$2(validateAction,"validateAction");function safeJsonParse(e){if(typeof e=="string")try{return JSON.parse(e.trim())}catch{return e}return e}__name$2(safeJsonParse,"safeJsonParse");function retrieveJsonFromString(e){try{const t=/({[\s\S]*})/.exec(e)??[];return t.length===0?null:JSON.parse(t[0])}catch{return null}}__name$2(retrieveJsonFromString,"retrieveJsonFromString");async function waitFor$1(e){await new Promise(t=>setTimeout(t,e*1e3))}__name$2(waitFor$1,"waitFor");function truncate$1(e,t){return e.length>t?e.substring(0,t)+"...":e}__name$2(truncate$1,"truncate");function randomID(e){let t=Math.random().toString(36).substring(2,11);if(!e)return t;const n=1e3;let r=0;for(;e.includes(t);)if(t=Math.random().toString(36).substring(2,11),r++,r>n)throw new Error("randomID: too many tries");return t}__name$2(randomID,"randomID");const _global=globalThis;_global.__PAGE_AGENT_IDS__||(_global.__PAGE_AGENT_IDS__=[]);const ids=_global.__PAGE_AGENT_IDS__;function uid(){const e=randomID(ids);return ids.push(e),e}__name$2(uid,"uid");const llmsTxtCache=new Map;async function fetchLlmsTxt(e){let t;try{t=new URL(e).origin}catch{return null}if(t==="null")return null;if(llmsTxtCache.has(t))return llmsTxtCache.get(t);const n=`${t}/llms.txt`;let r=null;try{console.log(chalk.gray(`[llms.txt] Fetching ${n}`));const o=await fetch(n,{signal:AbortSignal.timeout(3e3)});o.ok?(r=await o.text(),console.log(chalk.green(`[llms.txt] Found (${r.length} chars)`)),r.length>1e3&&(console.log(chalk.yellow("[llms.txt] Truncating to 1000 chars")),r=truncate$1(r,1e3))):console.debug(chalk.gray(`[llms.txt] ${o.status} for ${n}`))}catch(o){console.debug(chalk.gray(`[llms.txt] not found for ${n}`),o)}return llmsTxtCache.set(t,r),r}__name$2(fetchLlmsTxt,"fetchLlmsTxt");function assert(e,t,n){if(!e){const r=t??"Assertion failed";throw console.error(chalk.red(`❌ assert: ${r}`)),new Error(r)}}__name$2(assert,"assert");function tool(e){return e}__name$2(tool,"tool");const tools=new Map;tools.set("done",{description:"Complete task. Text is your final response to the user — keep it concise unless the user explicitly asks for detail.",inputSchema:object({text:string(),success:boolean().default(!0)}),execute:__name$2(async function(e){return Promise.resolve("Task completed")},"execute")}),tools.set("wait",{description:"Wait for x seconds. Can be used to wait until the page or data is fully loaded.",inputSchema:object({seconds:number().min(1).max(10).default(1)}),execute:__name$2(async function(e){const t=await this.pageController.getLastUpdateTime(),n=Math.max(0,e.seconds-(Date.now()-t)/1e3);return console.log(`actualWaitTime: ${n} seconds`),await waitFor$1(n),`✅ Waited for ${e.seconds} seconds.`},"execute")}),tools.set("ask_user",{description:"Ask the user a question and wait for their answer. Use this if you need more information or clarification.",inputSchema:object({question:string()}),execute:__name$2(async function(e){if(!this.onAskUser)throw new Error("ask_user tool requires onAskUser callback to be set");return`User answered: ${await this.onAskUser(e.question)}`},"execute")}),tools.set("click_element_by_index",{description:"Click element by index",inputSchema:object({index:int().min(0)}),execute:__name$2(async function(e){return(await this.pageController.clickElement(e.index)).message},"execute")}),tools.set("input_text",{description:"Click and type text into an interactive input element",inputSchema:object({index:int().min(0),text:string()}),execute:__name$2(async function(e){return(await this.pageController.inputText(e.index,e.text)).message},"execute")}),tools.set("select_dropdown_option",{description:"Select dropdown option for interactive element index by the text of the option you want to select",inputSchema:object({index:int().min(0),text:string()}),execute:__name$2(async function(e){return(await this.pageController.selectOption(e.index,e.text)).message},"execute")}),tools.set("scroll",{description:"Scroll the page vertically. Use index for scroll elements (dropdowns/custom UI).",inputSchema:object({down:boolean().default(!0),num_pages:number().min(0).max(10).optional().default(.1),pixels:number().int().min(0).optional(),index:number().int().min(0).optional()}),execute:__name$2(async function(e){return(await this.pageController.scroll({...e,numPages:e.num_pages})).message},"execute")}),tools.set("scroll_horizontally",{description:"Scroll the page horizontally, or within a specific element by index. Useful for wide tables.",inputSchema:object({right:boolean().default(!0),pixels:number().int().min(0),index:number().int().min(0).optional()}),execute:__name$2(async function(e){return(await this.pageController.scrollHorizontally(e)).message},"execute")}),tools.set("execute_javascript",{description:"Execute JavaScript code on the current page. Supports async/await syntax. Use with caution!",inputSchema:object({script:string()}),execute:__name$2(async function(e){return(await this.pageController.executeJavascript(e.script)).message},"execute")});const _PageAgentCore=class extends EventTarget{constructor(t){if(super(),__privateAdd$1(this,_PageAgentCore_instances),__publicField$1(this,"id",uid()),__publicField$1(this,"config"),__publicField$1(this,"tools"),__publicField$1(this,"pageController"),__publicField$1(this,"task",""),__publicField$1(this,"taskId",""),__publicField$1(this,"history",[]),__publicField$1(this,"disposed",!1),__publicField$1(this,"onAskUser"),__privateAdd$1(this,_status,"idle"),__privateAdd$1(this,_llm),__privateAdd$1(this,_abortController,new AbortController),__privateAdd$1(this,_observations,[]),__privateAdd$1(this,_states,{totalWaitTime:0,lastURL:"",browserState:null}),this.config={...t,maxSteps:t.maxSteps??40},__privateSet$1(this,_llm,new LLM(this.config)),this.tools=new Map(tools),this.pageController=t.pageController,__privateGet$1(this,_llm).addEventListener("retry",n=>{const{attempt:r,maxAttempts:o}=n.detail;__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"retrying",attempt:r,maxAttempts:o}),this.history.push({type:"retry",message:`LLM retry attempt ${r} of ${o}`,attempt:r,maxAttempts:o}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this)}),__privateGet$1(this,_llm).addEventListener("error",n=>{var s;const r=n.detail.error;if(((s=r==null?void 0:r.rawError)==null?void 0:s.name)==="AbortError")return;const o=String(r);__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"error",message:o}),this.history.push({type:"error",message:o,rawResponse:r.rawResponse}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this)}),this.config.customTools)for(const[n,r]of Object.entries(this.config.customTools)){if(r===null){this.tools.delete(n);continue}this.tools.set(n,r)}this.config.experimentalScriptExecutionTool||this.tools.delete("execute_javascript")}get status(){return __privateGet$1(this,_status)}pushObservation(t){__privateGet$1(this,_observations).push(t)}stop(){this.pageController.cleanUpHighlights(),this.pageController.hideMask(),__privateGet$1(this,_abortController).abort()}async execute(t){var a,l,c;if(this.disposed)throw new Error("PageAgent has been disposed. Create a new instance.");if(!t)throw new Error("Task is required");this.task=t,this.taskId=uid(),this.onAskUser||this.tools.delete("ask_user");const n=this.config.onBeforeStep,r=this.config.onAfterStep,o=this.config.onBeforeTask,s=this.config.onAfterTask;await(o==null?void 0:o(this)),await this.pageController.showMask(),__privateGet$1(this,_abortController)&&(__privateGet$1(this,_abortController).abort(),__privateSet$1(this,_abortController,new AbortController)),this.history=[],__privateMethod$1(this,_PageAgentCore_instances,setStatus_fn).call(this,"running"),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),__privateSet$1(this,_observations,[]),__privateSet$1(this,_states,{totalWaitTime:0,lastURL:"",browserState:null});let i=0;for(;;){try{console.group(`step: ${i}`),await(n==null?void 0:n(this,i)),console.log(chalk.blue.bold("👀 Observing...")),__privateGet$1(this,_states).browserState=await this.pageController.getBrowserState(),await __privateMethod$1(this,_PageAgentCore_instances,handleObservations_fn).call(this,i);const u=[{role:"system",content:__privateMethod$1(this,_PageAgentCore_instances,getSystemPrompt_fn).call(this)},{role:"user",content:await __privateMethod$1(this,_PageAgentCore_instances,assembleUserPrompt_fn).call(this)}],d={AgentOutput:__privateMethod$1(this,_PageAgentCore_instances,packMacroTool_fn).call(this)};console.log(chalk.blue.bold("🧠 Thinking...")),__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"thinking"});const f=await __privateGet$1(this,_llm).invoke(u,d,__privateGet$1(this,_abortController).signal,{toolChoiceName:"AgentOutput",normalizeResponse:__name$2(m=>normalizeResponse(m,this.tools),"normalizeResponse")}),v=f.toolResult,_=v.input,y=v.output,h={evaluation_previous_goal:_.evaluation_previous_goal,memory:_.memory,next_goal:_.next_goal},p=Object.keys(_.action)[0],b={name:p,input:_.action[p],output:y};if(this.history.push({type:"step",stepIndex:i,reflection:h,action:b,usage:f.usage,rawResponse:f.rawResponse,rawRequest:f.rawRequest}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),await(r==null?void 0:r(this,this.history)),console.groupEnd(),p==="done"){const m=((a=b.input)==null?void 0:a.success)??!1,$=((l=b.input)==null?void 0:l.text)||"no text provided";console.log(chalk.green.bold("Task completed"),m,$),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,m);const k={success:m,data:$,history:this.history};return await(s==null?void 0:s(this,k)),k}}catch(u){console.groupEnd();const d=((c=u==null?void 0:u.rawError)==null?void 0:c.name)==="AbortError";console.error("Task failed",u);const f=d?"Task stopped":String(u);__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"error",message:f}),this.history.push({type:"error",message:f,rawResponse:u}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,!1);const v={success:!1,data:f,history:this.history};return await(s==null?void 0:s(this,v)),v}if(i++,i>this.config.maxSteps){const u="Step count exceeded maximum limit";this.history.push({type:"error",message:u}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,!1);const d={success:!1,data:u,history:this.history};return await(s==null?void 0:s(this,d)),d}await waitFor$1(this.config.stepDelay??.4)}}dispose(){var t,n;console.log("Disposing PageAgent..."),this.disposed=!0,this.pageController.dispose(),__privateGet$1(this,_abortController).abort(),this.dispatchEvent(new Event("dispose")),(n=(t=this.config).onDispose)==null||n.call(t,this)}};_status=new WeakMap,_llm=new WeakMap,_abortController=new WeakMap,_observations=new WeakMap,_states=new WeakMap,_PageAgentCore_instances=new WeakSet,emitStatusChange_fn=__name$2(function(){this.dispatchEvent(new Event("statuschange"))},"#emitStatusChange"),emitHistoryChange_fn=__name$2(function(){this.dispatchEvent(new Event("historychange"))},"#emitHistoryChange"),emitActivity_fn=__name$2(function(e){this.dispatchEvent(new CustomEvent("activity",{detail:e}))},"#emitActivity"),setStatus_fn=__name$2(function(e){__privateGet$1(this,_status)!==e&&(__privateSet$1(this,_status,e),__privateMethod$1(this,_PageAgentCore_instances,emitStatusChange_fn).call(this))},"#setStatus"),packMacroTool_fn=__name$2(function(){const e=this.tools,t=Array.from(e.entries()).map(([o,s])=>object({[o]:s.inputSchema}).describe(s.description)),n=union(t);return{description:"You MUST call this tool every step!",inputSchema:object({evaluation_previous_goal:string().optional(),memory:string().optional(),next_goal:string().optional(),action:n}),execute:__name$2(async o=>{if(__privateGet$1(this,_abortController).signal.aborted)throw new Error("AbortError");console.log(chalk.blue.bold("MacroTool input"),o);const s=o.action,i=Object.keys(s)[0],a=s[i],l=[];o.evaluation_previous_goal&&l.push(`✅: ${o.evaluation_previous_goal}`),o.memory&&l.push(`💾: ${o.memory}`),o.next_goal&&l.push(`🎯: ${o.next_goal}`);const c=l.length>0?l.join(`
|
|
312
|
-
`):"";
|
|
313
|
-
`;return
|
|
314
|
-
${
|
|
362
|
+
`,log=console.log.bind(console,chalk.yellow("[autoFixer]"));function normalizeResponse(d,p){var b,y,w;let h=null;const g=(b=d.choices)==null?void 0:b[0];if(!g)throw new Error("No choices in response");const m=g.message;if(!m)throw new Error("No message in choice");const _=(y=m.tool_calls)==null?void 0:y[0];if((w=_==null?void 0:_.function)!=null&&w.arguments)h=safeJsonParse(_.function.arguments),_.function.name&&_.function.name!=="AgentOutput"&&(log("#1: fixing tool_call"),h={action:safeJsonParse(h)});else if(m.content){const x=m.content.trim(),E=retrieveJsonFromString(x);if(E)h=safeJsonParse(E),(h==null?void 0:h.name)==="AgentOutput"&&(log("#2: fixing tool_call"),h=safeJsonParse(h.arguments)),(h==null?void 0:h.type)==="function"&&(log("#3: fixing tool_call"),h=safeJsonParse(h.function.arguments)),!(h!=null&&h.action)&&!(h!=null&&h.evaluation_previous_goal)&&!(h!=null&&h.memory)&&!(h!=null&&h.next_goal)&&!(h!=null&&h.thinking)&&(log("#4: fixing tool_call"),h={action:safeJsonParse(h)});else throw new Error("No tool_call and the message content does not contain valid JSON")}else throw new Error("No tool_call nor message content is present");return h=safeJsonParse(h),h.action&&(h.action=safeJsonParse(h.action)),h.action&&p&&(h.action=validateAction(h.action,p)),h.action||(log("#5: fixing tool_call"),h.action={name:"wait",input:{seconds:1}}),{...d,choices:[{...g,message:{...m,tool_calls:[{..._||{},function:{...(_==null?void 0:_.function)||{},name:"AgentOutput",arguments:JSON.stringify(h)}}]}}]}}__name$2(normalizeResponse,"normalizeResponse");function validateAction(d,p){if(typeof d!="object"||d===null)return d;const h=Object.keys(d)[0];if(!h)return d;const g=p.get(h);if(!g){const y=Array.from(p.keys()).join(", ");throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,`Unknown action "${h}". Available: ${y}`)}let m=d[h];const _=g.inputSchema;if(_ instanceof ZodObject&&m!==null&&typeof m!="object"){const y=Object.keys(_.shape).find(w=>!_.shape[w].safeParse(void 0).success);y&&(log(`coercing primitive action input for "${h}"`),m={[y]:m})}const b=_.safeParse(m);if(!b.success)throw new InvokeError(InvokeErrorType.INVALID_TOOL_ARGS,`Invalid input for action "${h}": ${prettifyError(b.error)}`);return{[h]:b.data}}__name$2(validateAction,"validateAction");function safeJsonParse(d){if(typeof d=="string")try{return JSON.parse(d.trim())}catch{return d}return d}__name$2(safeJsonParse,"safeJsonParse");function retrieveJsonFromString(d){try{const p=/({[\s\S]*})/.exec(d)??[];return p.length===0?null:JSON.parse(p[0])}catch{return null}}__name$2(retrieveJsonFromString,"retrieveJsonFromString");async function waitFor$1(d){await new Promise(p=>setTimeout(p,d*1e3))}__name$2(waitFor$1,"waitFor");function truncate$1(d,p){return d.length>p?d.substring(0,p)+"...":d}__name$2(truncate$1,"truncate");function randomID(d){let p=Math.random().toString(36).substring(2,11);if(!d)return p;const h=1e3;let g=0;for(;d.includes(p);)if(p=Math.random().toString(36).substring(2,11),g++,g>h)throw new Error("randomID: too many tries");return p}__name$2(randomID,"randomID");const _global=globalThis;_global.__PAGE_AGENT_IDS__||(_global.__PAGE_AGENT_IDS__=[]);const ids=_global.__PAGE_AGENT_IDS__;function uid(){const d=randomID(ids);return ids.push(d),d}__name$2(uid,"uid");const llmsTxtCache=new Map;async function fetchLlmsTxt(d){let p;try{p=new URL(d).origin}catch{return null}if(p==="null")return null;if(llmsTxtCache.has(p))return llmsTxtCache.get(p);const h=`${p}/llms.txt`;let g=null;try{console.log(chalk.gray(`[llms.txt] Fetching ${h}`));const m=await fetch(h,{signal:AbortSignal.timeout(3e3)});m.ok?(g=await m.text(),console.log(chalk.green(`[llms.txt] Found (${g.length} chars)`)),g.length>1e3&&(console.log(chalk.yellow("[llms.txt] Truncating to 1000 chars")),g=truncate$1(g,1e3))):console.debug(chalk.gray(`[llms.txt] ${m.status} for ${h}`))}catch(m){console.debug(chalk.gray(`[llms.txt] not found for ${h}`),m)}return llmsTxtCache.set(p,g),g}__name$2(fetchLlmsTxt,"fetchLlmsTxt");function assert(d,p,h){if(!d){const g=p??"Assertion failed";throw console.error(chalk.red(`❌ assert: ${g}`)),new Error(g)}}__name$2(assert,"assert");function tool(d){return d}__name$2(tool,"tool");const tools=new Map;tools.set("done",{description:"Complete task. Text is your final response to the user — keep it concise unless the user explicitly asks for detail.",inputSchema:object({text:string(),success:boolean().default(!0)}),execute:__name$2(async function(d){return Promise.resolve("Task completed")},"execute")}),tools.set("wait",{description:"Wait for x seconds. Can be used to wait until the page or data is fully loaded.",inputSchema:object({seconds:number().min(1).max(10).default(1)}),execute:__name$2(async function(d){const p=await this.pageController.getLastUpdateTime(),h=Math.max(0,d.seconds-(Date.now()-p)/1e3);return console.log(`actualWaitTime: ${h} seconds`),await waitFor$1(h),`✅ Waited for ${d.seconds} seconds.`},"execute")}),tools.set("ask_user",{description:"Ask the user a question and wait for their answer. Use this if you need more information or clarification.",inputSchema:object({question:string()}),execute:__name$2(async function(d){if(!this.onAskUser)throw new Error("ask_user tool requires onAskUser callback to be set");return`User answered: ${await this.onAskUser(d.question)}`},"execute")}),tools.set("click_element_by_index",{description:"Click element by index",inputSchema:object({index:int().min(0)}),execute:__name$2(async function(d){return(await this.pageController.clickElement(d.index)).message},"execute")}),tools.set("input_text",{description:"Click and type text into an interactive input element",inputSchema:object({index:int().min(0),text:string()}),execute:__name$2(async function(d){return(await this.pageController.inputText(d.index,d.text)).message},"execute")}),tools.set("select_dropdown_option",{description:"Select dropdown option for interactive element index by the text of the option you want to select",inputSchema:object({index:int().min(0),text:string()}),execute:__name$2(async function(d){return(await this.pageController.selectOption(d.index,d.text)).message},"execute")}),tools.set("scroll",{description:"Scroll the page vertically. Use index for scroll elements (dropdowns/custom UI).",inputSchema:object({down:boolean().default(!0),num_pages:number().min(0).max(10).optional().default(.1),pixels:number().int().min(0).optional(),index:number().int().min(0).optional()}),execute:__name$2(async function(d){return(await this.pageController.scroll({...d,numPages:d.num_pages})).message},"execute")}),tools.set("scroll_horizontally",{description:"Scroll the page horizontally, or within a specific element by index. Useful for wide tables.",inputSchema:object({right:boolean().default(!0),pixels:number().int().min(0),index:number().int().min(0).optional()}),execute:__name$2(async function(d){return(await this.pageController.scrollHorizontally(d)).message},"execute")}),tools.set("execute_javascript",{description:"Execute JavaScript code on the current page. Supports async/await syntax. Use with caution!",inputSchema:object({script:string()}),execute:__name$2(async function(d){return(await this.pageController.executeJavascript(d.script)).message},"execute")});const _PageAgentCore=class extends EventTarget{constructor(p){if(super(),__privateAdd$1(this,_PageAgentCore_instances),__publicField$1(this,"id",uid()),__publicField$1(this,"config"),__publicField$1(this,"tools"),__publicField$1(this,"pageController"),__publicField$1(this,"task",""),__publicField$1(this,"taskId",""),__publicField$1(this,"history",[]),__publicField$1(this,"disposed",!1),__publicField$1(this,"onAskUser"),__privateAdd$1(this,_status,"idle"),__privateAdd$1(this,_llm),__privateAdd$1(this,_abortController,new AbortController),__privateAdd$1(this,_observations,[]),__privateAdd$1(this,_states,{totalWaitTime:0,lastURL:"",browserState:null}),this.config={...p,maxSteps:p.maxSteps??40},__privateSet$1(this,_llm,new LLM(this.config)),this.tools=new Map(tools),this.pageController=p.pageController,__privateGet$1(this,_llm).addEventListener("retry",h=>{const{attempt:g,maxAttempts:m}=h.detail;__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"retrying",attempt:g,maxAttempts:m}),this.history.push({type:"retry",message:`LLM retry attempt ${g} of ${m}`,attempt:g,maxAttempts:m}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this)}),__privateGet$1(this,_llm).addEventListener("error",h=>{var _;const g=h.detail.error;if(((_=g==null?void 0:g.rawError)==null?void 0:_.name)==="AbortError")return;const m=String(g);__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"error",message:m}),this.history.push({type:"error",message:m,rawResponse:g.rawResponse}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this)}),this.config.customTools)for(const[h,g]of Object.entries(this.config.customTools)){if(g===null){this.tools.delete(h);continue}this.tools.set(h,g)}this.config.experimentalScriptExecutionTool||this.tools.delete("execute_javascript")}get status(){return __privateGet$1(this,_status)}pushObservation(p){__privateGet$1(this,_observations).push(p)}stop(){this.pageController.cleanUpHighlights(),this.pageController.hideMask(),__privateGet$1(this,_abortController).abort()}async execute(p){var y,w,x;if(this.disposed)throw new Error("PageAgent has been disposed. Create a new instance.");if(!p)throw new Error("Task is required");this.task=p,this.taskId=uid(),this.onAskUser||this.tools.delete("ask_user");const h=this.config.onBeforeStep,g=this.config.onAfterStep,m=this.config.onBeforeTask,_=this.config.onAfterTask;await(m==null?void 0:m(this)),await this.pageController.showMask(),__privateGet$1(this,_abortController)&&(__privateGet$1(this,_abortController).abort(),__privateSet$1(this,_abortController,new AbortController)),this.history=[],__privateMethod$1(this,_PageAgentCore_instances,setStatus_fn).call(this,"running"),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),__privateSet$1(this,_observations,[]),__privateSet$1(this,_states,{totalWaitTime:0,lastURL:"",browserState:null});let b=0;for(;;){try{console.group(`step: ${b}`),await(h==null?void 0:h(this,b)),console.log(chalk.blue.bold("👀 Observing...")),__privateGet$1(this,_states).browserState=await this.pageController.getBrowserState(),await __privateMethod$1(this,_PageAgentCore_instances,handleObservations_fn).call(this,b);const E=[{role:"system",content:__privateMethod$1(this,_PageAgentCore_instances,getSystemPrompt_fn).call(this)},{role:"user",content:await __privateMethod$1(this,_PageAgentCore_instances,assembleUserPrompt_fn).call(this)}],S={AgentOutput:__privateMethod$1(this,_PageAgentCore_instances,packMacroTool_fn).call(this)};console.log(chalk.blue.bold("🧠 Thinking...")),__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"thinking"});const k=await __privateGet$1(this,_llm).invoke(E,S,__privateGet$1(this,_abortController).signal,{toolChoiceName:"AgentOutput",normalizeResponse:__name$2($=>normalizeResponse($,this.tools),"normalizeResponse")}),I=k.toolResult,A=I.input,M=I.output,R={evaluation_previous_goal:A.evaluation_previous_goal,memory:A.memory,next_goal:A.next_goal},C=Object.keys(A.action)[0],N={name:C,input:A.action[C],output:M};if(this.history.push({type:"step",stepIndex:b,reflection:R,action:N,usage:k.usage,rawResponse:k.rawResponse,rawRequest:k.rawRequest}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),await(g==null?void 0:g(this,this.history)),console.groupEnd(),C==="done"){const $=((y=N.input)==null?void 0:y.success)??!1,O=((w=N.input)==null?void 0:w.text)||"no text provided";console.log(chalk.green.bold("Task completed"),$,O),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,$);const F={success:$,data:O,history:this.history};return await(_==null?void 0:_(this,F)),F}}catch(E){console.groupEnd();const S=((x=E==null?void 0:E.rawError)==null?void 0:x.name)==="AbortError";console.error("Task failed",E);const k=S?"Task stopped":String(E);__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"error",message:k}),this.history.push({type:"error",message:k,rawResponse:E}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,!1);const I={success:!1,data:k,history:this.history};return await(_==null?void 0:_(this,I)),I}if(b++,b>this.config.maxSteps){const E="Step count exceeded maximum limit";this.history.push({type:"error",message:E}),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,!1);const S={success:!1,data:E,history:this.history};return await(_==null?void 0:_(this,S)),S}await waitFor$1(this.config.stepDelay??.4)}}dispose(){var p,h;console.log("Disposing PageAgent..."),this.disposed=!0,this.pageController.dispose(),__privateGet$1(this,_abortController).abort(),this.dispatchEvent(new Event("dispose")),(h=(p=this.config).onDispose)==null||h.call(p,this)}};_status=new WeakMap,_llm=new WeakMap,_abortController=new WeakMap,_observations=new WeakMap,_states=new WeakMap,_PageAgentCore_instances=new WeakSet,emitStatusChange_fn=__name$2(function(){this.dispatchEvent(new Event("statuschange"))},"#emitStatusChange"),emitHistoryChange_fn=__name$2(function(){this.dispatchEvent(new Event("historychange"))},"#emitHistoryChange"),emitActivity_fn=__name$2(function(d){this.dispatchEvent(new CustomEvent("activity",{detail:d}))},"#emitActivity"),setStatus_fn=__name$2(function(d){__privateGet$1(this,_status)!==d&&(__privateSet$1(this,_status,d),__privateMethod$1(this,_PageAgentCore_instances,emitStatusChange_fn).call(this))},"#setStatus"),packMacroTool_fn=__name$2(function(){const d=this.tools,p=Array.from(d.entries()).map(([m,_])=>object({[m]:_.inputSchema}).describe(_.description)),h=union(p);return{description:"You MUST call this tool every step!",inputSchema:object({evaluation_previous_goal:string().optional(),memory:string().optional(),next_goal:string().optional(),action:h}),execute:__name$2(async m=>{if(__privateGet$1(this,_abortController).signal.aborted)throw new Error("AbortError");console.log(chalk.blue.bold("MacroTool input"),m);const _=m.action,b=Object.keys(_)[0],y=_[b],w=[];m.evaluation_previous_goal&&w.push(`✅: ${m.evaluation_previous_goal}`),m.memory&&w.push(`💾: ${m.memory}`),m.next_goal&&w.push(`🎯: ${m.next_goal}`);const x=w.length>0?w.join(`
|
|
363
|
+
`):"";x&&console.log(x);const E=d.get(b);assert(E,`Tool ${b} not found`),console.log(chalk.blue.bold(`Executing tool: ${b}`),y),__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"executing",tool:b,input:y});const S=Date.now(),k=await E.execute.bind(this)(y),I=Date.now()-S;return console.log(chalk.green.bold(`Tool (${b}) executed for ${I}ms`),k),__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"executed",tool:b,input:y,output:k,duration:I}),b==="wait"?__privateGet$1(this,_states).totalWaitTime+=(y==null?void 0:y.seconds)||0:__privateGet$1(this,_states).totalWaitTime=0,{input:m,output:k}},"execute")}},"#packMacroTool"),getSystemPrompt_fn=__name$2(function(){if(this.config.customSystemPrompt)return this.config.customSystemPrompt;const d=this.config.language==="zh-CN"?"中文":"English";return SYSTEM_PROMPT.replace(/Default working language: \*\*.*?\*\*/,`Default working language: **${d}**`)},"#getSystemPrompt"),getInstructions_fn=__name$2(async function(){var y,w,x;const{instructions:d,experimentalLlmsTxt:p}=this.config,h=(y=d==null?void 0:d.system)==null?void 0:y.trim();let g;const m=((w=__privateGet$1(this,_states).browserState)==null?void 0:w.url)||"";if(d!=null&&d.getPageInstructions&&m)try{g=(x=d.getPageInstructions(m))==null?void 0:x.trim()}catch(E){console.error(chalk.red("[PageAgent] Failed to execute getPageInstructions callback:"),E)}const _=p&&m?await fetchLlmsTxt(m):void 0;if(!h&&!g&&!_)return"";let b=`<instructions>
|
|
364
|
+
`;return h&&(b+=`<system_instructions>
|
|
365
|
+
${h}
|
|
315
366
|
</system_instructions>
|
|
316
|
-
`),
|
|
317
|
-
${
|
|
367
|
+
`),g&&(b+=`<page_instructions>
|
|
368
|
+
${g}
|
|
318
369
|
</page_instructions>
|
|
319
|
-
`),
|
|
320
|
-
${
|
|
370
|
+
`),_&&(b+=`<llms_txt>
|
|
371
|
+
${_}
|
|
321
372
|
</llms_txt>
|
|
322
|
-
`),
|
|
323
|
-
|
|
324
|
-
`,
|
|
325
|
-
`,
|
|
326
|
-
`,
|
|
327
|
-
`,
|
|
328
|
-
`,
|
|
329
|
-
`,
|
|
330
|
-
`,
|
|
331
|
-
`,
|
|
332
|
-
`,
|
|
333
|
-
|
|
334
|
-
`,
|
|
335
|
-
`;let
|
|
336
|
-
`,
|
|
337
|
-
`,
|
|
338
|
-
`,
|
|
339
|
-
`,
|
|
340
|
-
`,
|
|
341
|
-
`):
|
|
342
|
-
`:
|
|
343
|
-
`:
|
|
344
|
-
|
|
345
|
-
`;let
|
|
346
|
-
`,
|
|
347
|
-
`,
|
|
348
|
-
`,
|
|
349
|
-
|
|
350
|
-
`,
|
|
351
|
-
|
|
352
|
-
`,t},"#assembleUserPrompt"),onDone_fn=__name$2(function(e=!0){this.pageController.cleanUpHighlights(),this.pageController.hideMask(),__privateMethod$1(this,_PageAgentCore_instances,setStatus_fn).call(this,e?"completed":"error"),__privateGet$1(this,_abortController).abort()},"#onDone"),__name$2(_PageAgentCore,"PageAgentCore");let PageAgentCore=_PageAgentCore;var __defProp$1=Object.defineProperty,__name$1=(e,t)=>__defProp$1(e,"name",{value:t,configurable:!0});async function waitFor(e){await new Promise(t=>setTimeout(t,e*1e3))}__name$1(waitFor,"waitFor");async function movePointerToElement(e){const t=e.getBoundingClientRect(),n=t.left+t.width/2,r=t.top+t.height/2;window.dispatchEvent(new CustomEvent("PageAgent::MovePointerTo",{detail:{x:n,y:r}})),await waitFor(.3)}__name$1(movePointerToElement,"movePointerToElement");function getElementByIndex(e,t){const n=e.get(t);if(!n)throw new Error(`No interactive element found at index ${t}`);const r=n.ref;if(!r)throw new Error(`Element at index ${t} does not have a reference`);if(!(r instanceof HTMLElement))throw new Error(`Element at index ${t} is not an HTMLElement`);return r}__name$1(getElementByIndex,"getElementByIndex");let lastClickedElement=null;function blurLastClickedElement(){lastClickedElement&&(lastClickedElement.blur(),lastClickedElement.dispatchEvent(new MouseEvent("mouseout",{bubbles:!0,cancelable:!0})),lastClickedElement=null)}__name$1(blurLastClickedElement,"blurLastClickedElement");async function clickElement(e){blurLastClickedElement(),lastClickedElement=e,await scrollIntoViewIfNeeded(e),await movePointerToElement(e),window.dispatchEvent(new CustomEvent("PageAgent::ClickPointer")),await waitFor(.1),e.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0,cancelable:!0})),e.dispatchEvent(new MouseEvent("mouseover",{bubbles:!0,cancelable:!0})),e.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0})),e.focus(),e.dispatchEvent(new MouseEvent("mouseup",{bubbles:!0,cancelable:!0})),e.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0})),await waitFor(.2)}__name$1(clickElement,"clickElement");const nativeInputValueSetter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set,nativeTextAreaValueSetter=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value").set;async function inputTextElement(e,t){const n=e.isContentEditable;if(!(e instanceof HTMLInputElement)&&!(e instanceof HTMLTextAreaElement)&&!n)throw new Error("Element is not an input, textarea, or contenteditable");await clickElement(e),n?(e.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"deleteContent"}))&&(e.innerText="",e.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"deleteContent"}))),e.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"insertText",data:t}))&&(e.innerText=t,e.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"insertText",data:t}))),e.dispatchEvent(new Event("change",{bubbles:!0})),e.blur()):e instanceof HTMLTextAreaElement?nativeTextAreaValueSetter.call(e,t):nativeInputValueSetter.call(e,t),n||e.dispatchEvent(new Event("input",{bubbles:!0})),await waitFor(.1),blurLastClickedElement()}__name$1(inputTextElement,"inputTextElement");async function selectOptionElement(e,t){if(!(e instanceof HTMLSelectElement))throw new Error("Element is not a select element");const r=Array.from(e.options).find(o=>{var s;return((s=o.textContent)==null?void 0:s.trim())===t.trim()});if(!r)throw new Error(`Option with text "${t}" not found in select element`);e.value=r.value,e.dispatchEvent(new Event("change",{bubbles:!0})),await waitFor(.1)}__name$1(selectOptionElement,"selectOptionElement");async function scrollIntoViewIfNeeded(e){const t=e;typeof t.scrollIntoViewIfNeeded=="function"?t.scrollIntoViewIfNeeded():e.scrollIntoView({behavior:"auto",block:"center",inline:"nearest"})}__name$1(scrollIntoViewIfNeeded,"scrollIntoViewIfNeeded");async function scrollVertically(e,t,n){if(n){const a=n;let l=a,c=!1,u=null,d=0,f=0;const v=t;for(;l&&f<10;){const _=window.getComputedStyle(l),y=/(auto|scroll|overlay)/.test(_.overflowY),h=l.scrollHeight>l.clientHeight;if(y&&h){const p=l.scrollTop,b=l.scrollHeight-l.clientHeight;let m=v/3;m>0?m=Math.min(m,b-p):m=Math.max(m,-p),l.scrollTop=p+m;const k=l.scrollTop-p;if(Math.abs(k)>.5){c=!0,u=l,d=k;break}}if(l===document.body||l===document.documentElement)break;l=l.parentElement,f++}return c?`Scrolled container (${u==null?void 0:u.tagName}) by ${d}px`:`No scrollable container found for element (${a.tagName})`}const r=t,o=__name$1(a=>a.clientHeight>=window.innerHeight*.5,"bigEnough"),s=__name$1(a=>a&&/(auto|scroll|overlay)/.test(getComputedStyle(a).overflowY)&&a.scrollHeight>a.clientHeight&&o(a),"canScroll");let i=document.activeElement;for(;i&&!s(i)&&i!==document.body;)i=i.parentElement;if(i=s(i)?i:Array.from(document.querySelectorAll("*")).find(s)||document.scrollingElement||document.documentElement,i===document.scrollingElement||i===document.documentElement||i===document.body){const a=window.scrollY,l=document.documentElement.scrollHeight-window.innerHeight;window.scrollBy(0,r);const c=window.scrollY,u=c-a;if(Math.abs(u)<1)return r>0?"⚠️ Already at the bottom of the page, cannot scroll down further.":"⚠️ Already at the top of the page, cannot scroll up further.";const d=r>0&&c>=l-1,f=r<0&&c<=1;return d?`✅ Scrolled page by ${u}px. Reached the bottom of the page.`:f?`✅ Scrolled page by ${u}px. Reached the top of the page.`:`✅ Scrolled page by ${u}px.`}else{const a=i.scrollTop,l=i.scrollHeight-i.clientHeight;i.scrollBy({top:r,behavior:"smooth"}),await waitFor(.1);const c=i.scrollTop,u=c-a;if(Math.abs(u)<1)return r>0?`⚠️ Already at the bottom of container (${i.tagName}), cannot scroll down further.`:`⚠️ Already at the top of container (${i.tagName}), cannot scroll up further.`;const d=r>0&&c>=l-1,f=r<0&&c<=1;return d?`✅ Scrolled container (${i.tagName}) by ${u}px. Reached the bottom.`:f?`✅ Scrolled container (${i.tagName}) by ${u}px. Reached the top.`:`✅ Scrolled container (${i.tagName}) by ${u}px.`}}__name$1(scrollVertically,"scrollVertically");async function scrollHorizontally(e,t,n){if(n){const a=n;let l=a,c=!1,u=null,d=0,f=0;const v=e?t:-t;for(;l&&f<10;){const _=window.getComputedStyle(l),y=/(auto|scroll|overlay)/.test(_.overflowX),h=l.scrollWidth>l.clientWidth;if(y&&h){const p=l.scrollLeft,b=l.scrollWidth-l.clientWidth;let m=v/3;m>0?m=Math.min(m,b-p):m=Math.max(m,-p),l.scrollLeft=p+m;const k=l.scrollLeft-p;if(Math.abs(k)>.5){c=!0,u=l,d=k;break}}if(l===document.body||l===document.documentElement)break;l=l.parentElement,f++}return c?`Scrolled container (${u==null?void 0:u.tagName}) horizontally by ${d}px`:`No horizontally scrollable container found for element (${a.tagName})`}const r=e?t:-t,o=__name$1(a=>a.clientWidth>=window.innerWidth*.5,"bigEnough"),s=__name$1(a=>a&&/(auto|scroll|overlay)/.test(getComputedStyle(a).overflowX)&&a.scrollWidth>a.clientWidth&&o(a),"canScroll");let i=document.activeElement;for(;i&&!s(i)&&i!==document.body;)i=i.parentElement;if(i=s(i)?i:Array.from(document.querySelectorAll("*")).find(s)||document.scrollingElement||document.documentElement,i===document.scrollingElement||i===document.documentElement||i===document.body){const a=window.scrollX,l=document.documentElement.scrollWidth-window.innerWidth;window.scrollBy(r,0);const c=window.scrollX,u=c-a;if(Math.abs(u)<1)return r>0?"⚠️ Already at the right edge of the page, cannot scroll right further.":"⚠️ Already at the left edge of the page, cannot scroll left further.";const d=r>0&&c>=l-1,f=r<0&&c<=1;return d?`✅ Scrolled page by ${u}px. Reached the right edge of the page.`:f?`✅ Scrolled page by ${u}px. Reached the left edge of the page.`:`✅ Scrolled page horizontally by ${u}px.`}else{const a=i.scrollLeft,l=i.scrollWidth-i.clientWidth;i.scrollBy({left:r,behavior:"smooth"}),await waitFor(.1);const c=i.scrollLeft,u=c-a;if(Math.abs(u)<1)return r>0?`⚠️ Already at the right edge of container (${i.tagName}), cannot scroll right further.`:`⚠️ Already at the left edge of container (${i.tagName}), cannot scroll left further.`;const d=r>0&&c>=l-1,f=r<0&&c<=1;return d?`✅ Scrolled container (${i.tagName}) by ${u}px. Reached the right edge.`:f?`✅ Scrolled container (${i.tagName}) by ${u}px. Reached the left edge.`:`✅ Scrolled container (${i.tagName}) horizontally by ${u}px.`}}__name$1(scrollHorizontally,"scrollHorizontally");const domTree=__name$1((e={doHighlightElements:!0,focusHighlightIndex:-1,viewportExpansion:0,debugMode:!1,interactiveBlacklist:[],interactiveWhitelist:[],highlightOpacity:.1,highlightLabelOpacity:.5})=>{const{interactiveBlacklist:t,interactiveWhitelist:n,highlightOpacity:r,highlightLabelOpacity:o}=e,{doHighlightElements:s,focusHighlightIndex:i,viewportExpansion:a,debugMode:l}=e;let c=0;const u=new WeakMap;function d(g,E){!g||g.nodeType!==Node.ELEMENT_NODE||u.set(g,{...u.get(g),...E})}__name$1(d,"addExtraData");const f={boundingRects:new WeakMap,clientRects:new WeakMap,computedStyles:new WeakMap,clearCache:__name$1(()=>{f.boundingRects=new WeakMap,f.clientRects=new WeakMap,f.computedStyles=new WeakMap},"clearCache")};function v(g){if(!g)return null;if(f.boundingRects.has(g))return f.boundingRects.get(g);const E=g.getBoundingClientRect();return E&&f.boundingRects.set(g,E),E}__name$1(v,"getCachedBoundingRect");function _(g){if(!g)return null;if(f.computedStyles.has(g))return f.computedStyles.get(g);const E=window.getComputedStyle(g);return E&&f.computedStyles.set(g,E),E}__name$1(_,"getCachedComputedStyle");function y(g){if(!g)return null;if(f.clientRects.has(g))return f.clientRects.get(g);const E=g.getClientRects();return E&&f.clientRects.set(g,E),E}__name$1(y,"getCachedClientRects");const h={},p={current:0},b="playwright-highlight-container";function m(g,E,S=null){if(!g)return E;const I=[];let P=null,z=20,U=16,oe=null;try{let B=document.getElementById(b);B||(B=document.createElement("div"),B.id=b,B.style.position="fixed",B.style.pointerEvents="none",B.style.top="0",B.style.left="0",B.style.width="100%",B.style.height="100%",B.style.zIndex="2147483640",B.style.backgroundColor="transparent",document.body.appendChild(B));const te=g.getClientRects();if(!te||te.length===0)return E;const K=["#FF0000","#00FF00","#0000FF","#FFA500","#800080","#008080","#FF69B4","#4B0082","#FF4500","#2E8B57","#DC143C","#4682B4"],se=E%K.length;let C=K[se];const L=C+Math.floor(r*255).toString(16).padStart(2,"0");C=C+Math.floor(o*255).toString(16).padStart(2,"0");let V={x:0,y:0};if(S){const M=S.getBoundingClientRect();V.x=M.left,V.y=M.top}const Q=document.createDocumentFragment();for(const M of te){if(M.width===0||M.height===0)continue;const Y=document.createElement("div");Y.style.position="fixed",Y.style.border=`2px solid ${C}`,Y.style.backgroundColor=L,Y.style.pointerEvents="none",Y.style.boxSizing="border-box";const Z=M.top+V.y,q=M.left+V.x;Y.style.top=`${Z}px`,Y.style.left=`${q}px`,Y.style.width=`${M.width}px`,Y.style.height=`${M.height}px`,Q.appendChild(Y),I.push({element:Y,initialRect:M})}const ue=te[0];P=document.createElement("div"),P.className="playwright-highlight-label",P.style.position="fixed",P.style.background=C,P.style.color="white",P.style.padding="1px 4px",P.style.borderRadius="4px",P.style.fontSize=`${Math.min(12,Math.max(8,ue.height/2))}px`,P.textContent=E.toString(),z=P.offsetWidth>0?P.offsetWidth:z,U=P.offsetHeight>0?P.offsetHeight:U;const H=ue.top+V.y,W=ue.left+V.x;let me=H+2,Ie=W+ue.width-z-2;(ue.width<z+4||ue.height<U+4)&&(me=H-U-2,Ie=W+ue.width-z,Ie<V.x&&(Ie=W)),me=Math.max(0,Math.min(me,window.innerHeight-U)),Ie=Math.max(0,Math.min(Ie,window.innerWidth-z)),P.style.top=`${me}px`,P.style.left=`${Ie}px`,Q.appendChild(P);const R=__name$1((M,Y)=>{let Z=0;return(...q)=>{const G=performance.now();if(!(G-Z<Y))return Z=G,M(...q)}},"throttleFunction")(__name$1(()=>{const M=g.getClientRects();let Y={x:0,y:0};if(S){const Z=S.getBoundingClientRect();Y.x=Z.left,Y.y=Z.top}if(I.forEach((Z,q)=>{if(q<M.length){const G=M[q],$e=G.top+Y.y,ne=G.left+Y.x;Z.element.style.top=`${$e}px`,Z.element.style.left=`${ne}px`,Z.element.style.width=`${G.width}px`,Z.element.style.height=`${G.height}px`,Z.element.style.display=G.width===0||G.height===0?"none":"block"}else Z.element.style.display="none"}),M.length<I.length)for(let Z=M.length;Z<I.length;Z++)I[Z].element.style.display="none";if(P&&M.length>0){const Z=M[0],q=Z.top+Y.y,G=Z.left+Y.x;let $e=q+2,ne=G+Z.width-z-2;(Z.width<z+4||Z.height<U+4)&&($e=q-U-2,ne=G+Z.width-z,ne<Y.x&&(ne=G)),$e=Math.max(0,Math.min($e,window.innerHeight-U)),ne=Math.max(0,Math.min(ne,window.innerWidth-z)),P.style.top=`${$e}px`,P.style.left=`${ne}px`,P.style.display="block"}else P&&(P.style.display="none")},"updatePositions"),16);return window.addEventListener("scroll",R,!0),window.addEventListener("resize",R),oe=__name$1(()=>{window.removeEventListener("scroll",R,!0),window.removeEventListener("resize",R),I.forEach(M=>M.element.remove()),P&&P.remove()},"cleanupFn"),B.appendChild(Q),E+1}finally{oe&&(window._highlightCleanupFunctions=window._highlightCleanupFunctions||[]).push(oe)}}__name$1(m,"highlightElement");function $(g){if(!g||g.nodeType!==Node.ELEMENT_NODE)return null;const E=_(g);if(!E)return null;const S=E.display;if(S==="inline"||S==="inline-block")return null;const I=E.overflowX,P=E.overflowY,z=I==="auto"||I==="scroll",U=P==="auto"||P==="scroll";if(!z&&!U)return null;const oe=g.scrollWidth-g.clientWidth,B=g.scrollHeight-g.clientHeight,te=4;if(oe<te&&B<te||!U&&oe<te||!z&&B<te)return null;const K=g.scrollTop,se=g.scrollLeft,C=g.scrollWidth-g.clientWidth-g.scrollLeft,L=g.scrollHeight-g.clientHeight-g.scrollTop,V={top:K,right:C,bottom:L,left:se};return d(g,{scrollable:!0,scrollData:V}),V}__name$1($,"isScrollableElement");function k(g){try{if(a===-1){const U=g.parentElement;if(!U)return!1;try{return U.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const B=window.getComputedStyle(U);return B.display!=="none"&&B.visibility!=="hidden"&&B.opacity!=="0"}}const E=document.createRange();E.selectNodeContents(g);const S=E.getClientRects();if(!S||S.length===0)return!1;let I=!1,P=!1;for(const U of S)if(U.width>0&&U.height>0&&(I=!0,!(U.bottom<-a||U.top>window.innerHeight+a||U.right<-a||U.left>window.innerWidth+a))){P=!0;break}if(!I||!P)return!1;const z=g.parentElement;if(!z)return!1;try{return z.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const oe=window.getComputedStyle(z);return oe.display!=="none"&&oe.visibility!=="hidden"&&oe.opacity!=="0"}}catch(E){return console.warn("Error checking text node visibility:",E),!1}}__name$1(k,"isTextNodeVisible");function N(g){if(!g||!g.tagName)return!1;const E=new Set(["body","div","main","article","section","nav","header","footer"]),S=g.tagName.toLowerCase();return E.has(S)?!0:!new Set(["svg","script","style","link","meta","noscript","template"]).has(S)}__name$1(N,"isElementAccepted");function O(g){const E=_(g);return g.offsetWidth>0&&g.offsetHeight>0&&(E==null?void 0:E.visibility)!=="hidden"&&(E==null?void 0:E.display)!=="none"}__name$1(O,"isElementVisible");function F(g){var L,V;if(!g||g.nodeType!==Node.ELEMENT_NODE||t.includes(g))return!1;if(n.includes(g))return!0;const E=g.tagName.toLowerCase(),S=_(g),I=new Set(["pointer","move","text","grab","grabbing","cell","copy","alias","all-scroll","col-resize","context-menu","crosshair","e-resize","ew-resize","help","n-resize","ne-resize","nesw-resize","ns-resize","nw-resize","nwse-resize","row-resize","s-resize","se-resize","sw-resize","vertical-text","w-resize","zoom-in","zoom-out"]),P=new Set(["not-allowed","no-drop","wait","progress","initial","inherit"]);function z(Q){return Q.tagName.toLowerCase()==="html"?!1:!!(S!=null&&S.cursor&&I.has(S.cursor))}if(__name$1(z,"doesElementHaveInteractivePointer"),z(g))return!0;const oe=new Set(["a","button","input","select","textarea","details","summary","label","option","optgroup","fieldset","legend"]),B=new Set(["disabled","readonly"]);if(oe.has(E)){if(S!=null&&S.cursor&&P.has(S.cursor))return!1;for(const Q of B)if(g.hasAttribute(Q)||g.getAttribute(Q)==="true"||g.getAttribute(Q)==="")return!1;return!(g.disabled||g.readOnly||g.inert)}const te=g.getAttribute("role"),K=g.getAttribute("aria-role");if(g.getAttribute("contenteditable")==="true"||g.isContentEditable||g.classList&&(g.classList.contains("button")||g.classList.contains("dropdown-toggle")||g.getAttribute("data-index")||g.getAttribute("data-toggle")==="dropdown"||g.getAttribute("aria-haspopup")==="true"))return!0;const se=new Set(["button","menu","menubar","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);if(oe.has(E)||te&&se.has(te)||K&&se.has(K))return!0;try{if(typeof getEventListeners=="function"){const H=getEventListeners(g),W=["click","mousedown","mouseup","dblclick"];for(const me of W)if(H[me]&&H[me].length>0)return!0}const Q=((V=(L=g==null?void 0:g.ownerDocument)==null?void 0:L.defaultView)==null?void 0:V.getEventListenersForNode)||window.getEventListenersForNode;if(typeof Q=="function"){const H=Q(g),W=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const me of W)for(const Ie of H)if(Ie.type===me)return!0}const ue=["onclick","onmousedown","onmouseup","ondblclick"];for(const H of ue)if(g.hasAttribute(H)||typeof g[H]=="function")return!0}catch{}return!!$(g)}__name$1(F,"isInteractiveElement");function ee(g){if(a===-1)return!0;const E=y(g);if(!E||E.length===0)return!1;let S=!1;for(const B of E)if(B.width>0&&B.height>0&&!(B.bottom<-a||B.top>window.innerHeight+a||B.right<-a||B.left>window.innerWidth+a)){S=!0;break}if(!S)return!1;if(g.ownerDocument!==window.document)return!0;let P=Array.from(E).find(B=>B.width>0&&B.height>0);if(!P)return!1;const z=g.getRootNode();if(z instanceof ShadowRoot){const B=P.left+P.width/2,te=P.top+P.height/2;try{const K=z.elementFromPoint(B,te);if(!K)return!1;let se=K;for(;se&&se!==z;){if(se===g)return!0;se=se.parentElement}return!1}catch{return!0}}const U=5;return[{x:P.left+P.width/2,y:P.top+P.height/2},{x:P.left+U,y:P.top+U},{x:P.right-U,y:P.bottom-U}].some(({x:B,y:te})=>{try{const K=document.elementFromPoint(B,te);if(!K)return!1;let se=K;for(;se&&se!==document.documentElement;){if(se===g)return!0;se=se.parentElement}return!1}catch{return!0}})}__name$1(ee,"isTopElement");function J(g,E){if(E===-1)return!0;const S=g.getClientRects();if(!S||S.length===0){const I=v(g);return!I||I.width===0||I.height===0?!1:!(I.bottom<-E||I.top>window.innerHeight+E||I.right<-E||I.left>window.innerWidth+E)}for(const I of S)if(!(I.width===0||I.height===0)&&!(I.bottom<-E||I.top>window.innerHeight+E||I.right<-E||I.left>window.innerWidth+E))return!0;return!1}__name$1(J,"isInExpandedViewport");function fe(g){if(!g||g.nodeType!==Node.ELEMENT_NODE)return!1;const E=g.tagName.toLowerCase();return new Set(["a","button","input","select","textarea","details","summary","label"]).has(E)?!0:g.hasAttribute("onclick")||g.hasAttribute("role")||g.hasAttribute("tabindex")||g.hasAttribute("aria-")||g.hasAttribute("data-action")||g.getAttribute("contenteditable")==="true"}__name$1(fe,"isInteractiveCandidate");const ae=new Set(["a","button","input","select","textarea","summary","details","label","option"]),Ee=new Set(["button","link","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);function _e(g){if(!g||g.nodeType!==Node.ELEMENT_NODE||!O(g))return!1;const E=g.hasAttribute("role")||g.hasAttribute("tabindex")||g.hasAttribute("onclick")||typeof g.onclick=="function",S=/\b(btn|clickable|menu|item|entry|link)\b/i.test(g.className||""),I=!!g.closest('button,a,[role="button"],.menu,.dropdown,.list,.toolbar'),P=[...g.children].some(O),z=g.parentElement&&g.parentElement.isSameNode(document.body);return(F(g)||E||S)&&P&&I&&!z}__name$1(_e,"isHeuristicallyInteractive");function ze(g){var I,P;if(!g||g.nodeType!==Node.ELEMENT_NODE)return!1;const E=g.tagName.toLowerCase(),S=g.getAttribute("role");if(E==="iframe"||ae.has(E)||S&&Ee.has(S)||g.isContentEditable||g.getAttribute("contenteditable")==="true"||g.hasAttribute("data-testid")||g.hasAttribute("data-cy")||g.hasAttribute("data-test")||g.hasAttribute("onclick")||typeof g.onclick=="function")return!0;try{const z=((P=(I=g==null?void 0:g.ownerDocument)==null?void 0:I.defaultView)==null?void 0:P.getEventListenersForNode)||window.getEventListenersForNode;if(typeof z=="function"){const oe=z(g),B=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const te of B)for(const K of oe)if(K.type===te)return!0}if(["onmousedown","onmouseup","onkeydown","onkeyup","onsubmit","onchange","oninput","onfocus","onblur"].some(oe=>g.hasAttribute(oe)))return!0}catch{}return!!_e(g)}__name$1(ze,"isElementDistinctInteraction");function we(g,E,S,I){if(!g.isInteractive)return!1;let P=!1;return I?ze(E)?P=!0:P=!1:P=!0,P&&(g.isInViewport=J(E,a),(g.isInViewport||a===-1)&&(g.highlightIndex=c++,s))?(i>=0?i===g.highlightIndex&&m(E,g.highlightIndex,S):m(E,g.highlightIndex,S),!0):!1}__name$1(we,"handleHighlighting");function xe(g,E=null,S=!1){var U,oe,B,te,K,se,C;if(!g||g.id===b||g.nodeType!==Node.ELEMENT_NODE&&g.nodeType!==Node.TEXT_NODE||!g||g.id===b||((U=g.dataset)==null?void 0:U.browserUseIgnore)==="true"||((oe=g.dataset)==null?void 0:oe.pageAgentIgnore)==="true"||g.getAttribute&&g.getAttribute("aria-hidden")==="true")return null;if(g===document.body){const L={tagName:"body",attributes:{},xpath:"/body",children:[]};for(const Q of g.childNodes){const ue=xe(Q,E,!1);ue&&L.children.push(ue)}const V=`${p.current++}`;return h[V]=L,V}if(g.nodeType!==Node.ELEMENT_NODE&&g.nodeType!==Node.TEXT_NODE)return null;if(g.nodeType===Node.TEXT_NODE){const L=(B=g.textContent)==null?void 0:B.trim();if(!L)return null;const V=g.parentElement;if(!V||V.tagName.toLowerCase()==="script")return null;const Q=`${p.current++}`;return h[Q]={type:"TEXT_NODE",text:L,isVisible:k(g)},Q}if(g.nodeType===Node.ELEMENT_NODE&&!N(g))return null;if(a!==-1&&!g.shadowRoot){const L=v(g),V=_(g),Q=V&&(V.position==="fixed"||V.position==="sticky"),ue=g.offsetWidth>0||g.offsetHeight>0;if(!L||!Q&&!ue&&(L.bottom<-a||L.top>window.innerHeight+a||L.right<-a||L.left>window.innerWidth+a))return null}const I={tagName:g.tagName.toLowerCase(),attributes:{},children:[]};if(fe(g)||g.tagName.toLowerCase()==="iframe"||g.tagName.toLowerCase()==="body"){const L=((te=g.getAttributeNames)==null?void 0:te.call(g))||[];for(const V of L){const Q=g.getAttribute(V);I.attributes[V]=Q}g.tagName.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(I.attributes.checked=g.checked?"true":"false")}let P=!1;if(g.nodeType===Node.ELEMENT_NODE&&(I.isVisible=O(g),I.isVisible)){I.isTopElement=ee(g);const L=g.getAttribute("role"),V=L==="menu"||L==="menubar"||L==="listbox";if((I.isTopElement||V)&&(I.isInteractive=F(g),P=we(I,g,E,S),I.ref=g,I.isInteractive&&Object.keys(I.attributes).length===0)){const Q=((K=g.getAttributeNames)==null?void 0:K.call(g))||[];for(const ue of Q){const H=g.getAttribute(ue);I.attributes[ue]=H}}}if(g.tagName){const L=g.tagName.toLowerCase();if(L==="iframe")try{const V=g.contentDocument||((se=g.contentWindow)==null?void 0:se.document);if(V)for(const Q of V.childNodes){const ue=xe(Q,g,!1);ue&&I.children.push(ue)}}catch(V){console.warn("Unable to access iframe:",V)}else if(g.isContentEditable||g.getAttribute("contenteditable")==="true"||g.id==="tinymce"||g.classList.contains("mce-content-body")||L==="body"&&((C=g.getAttribute("data-id"))!=null&&C.startsWith("mce_")))for(const V of g.childNodes){const Q=xe(V,E,P);Q&&I.children.push(Q)}else{if(g.shadowRoot){I.shadowRoot=!0;for(const V of g.shadowRoot.childNodes){const Q=xe(V,E,P);Q&&I.children.push(Q)}}for(const V of g.childNodes){const ue=xe(V,E,P||S);ue&&I.children.push(ue)}}}if(I.tagName==="a"&&I.children.length===0&&!I.attributes.href){const L=v(g);if(!(L&&L.width>0&&L.height>0||g.offsetWidth>0||g.offsetHeight>0))return null}I.extra=u.get(g)||null;const z=`${p.current++}`;return h[z]=I,z}__name$1(xe,"buildDomTree");const ke=xe(document.body);return f.clearCache(),{rootId:ke,map:h}},"domTree"),DEFAULT_VIEWPORT_EXPANSION=-1;function resolveViewportExpansion(e){return e??DEFAULT_VIEWPORT_EXPANSION}__name$1(resolveViewportExpansion,"resolveViewportExpansion");const newElementsCache=new WeakMap;function getFlatTree(e){const t=resolveViewportExpansion(e.viewportExpansion),n=[];for(const i of e.interactiveBlacklist||[])typeof i=="function"?n.push(i()):n.push(i);const r=[];for(const i of e.interactiveWhitelist||[])typeof i=="function"?r.push(i()):r.push(i);const o=domTree({doHighlightElements:!0,debugMode:!0,focusHighlightIndex:-1,viewportExpansion:t,interactiveBlacklist:n,interactiveWhitelist:r,highlightOpacity:e.highlightOpacity??0,highlightLabelOpacity:e.highlightLabelOpacity??.1}),s=window.location.href;for(const i in o.map){const a=o.map[i];if(a.isInteractive&&a.ref){const l=a.ref;newElementsCache.has(l)||(newElementsCache.set(l,s),a.isNew=!0)}}return o}__name$1(getFlatTree,"getFlatTree");const globRegexCache=new Map;function globToRegex(e){let t=globRegexCache.get(e);if(!t){const n=e.replace(/[.+^${}()|[\]\\]/g,"\\$&");t=new RegExp(`^${n.replace(/\*/g,".*")}$`),globRegexCache.set(e,t)}return t}__name$1(globToRegex,"globToRegex");function matchAttributes(e,t){const n={};for(const r of t)if(r.includes("*")){const o=globToRegex(r);for(const s of Object.keys(e))o.test(s)&&e[s].trim()&&(n[s]=e[s].trim())}else{const o=e[r];o&&o.trim()&&(n[r]=o.trim())}return n}__name$1(matchAttributes,"matchAttributes");function flatTreeToString(e,t){const n=["title","type","checked","name","role","value","placeholder","data-date-format","alt","aria-label","aria-expanded","data-state","aria-checked","id","for","target","aria-haspopup","aria-controls","aria-owns","contenteditable"],r=[...t||[],...n],o=__name$1((d,f)=>d.length>f?d.substring(0,f)+"...":d,"capTextLength"),s=__name$1(d=>{const f=e.map[d];if(!f)return null;if(f.type==="TEXT_NODE"){const v=f;return{type:"text",text:v.text,isVisible:v.isVisible,parent:null,children:[]}}else{const v=f,_=[];if(v.children)for(const y of v.children){const h=s(y);h&&(h.parent=null,_.push(h))}return{type:"element",tagName:v.tagName,attributes:v.attributes??{},isVisible:v.isVisible??!1,isInteractive:v.isInteractive??!1,isTopElement:v.isTopElement??!1,isNew:v.isNew??!1,highlightIndex:v.highlightIndex,parent:null,children:_,extra:v.extra??{}}}},"buildTreeNode"),i=__name$1((d,f=null)=>{d.parent=f;for(const v of d.children)i(v,d)},"setParentReferences"),a=s(e.rootId);if(!a)return"";i(a);const l=__name$1(d=>{let f=d.parent;for(;f;){if(f.type==="element"&&f.highlightIndex!==void 0)return!0;f=f.parent}return!1},"hasParentWithHighlightIndex"),c=__name$1((d,f,v)=>{var h,p,b,m;let _=f;const y=" ".repeat(f);if(d.type==="element"){if(d.highlightIndex!==void 0){_+=1;const $=getAllTextTillNextClickableElement(d);let k="";if(r.length>0&&d.attributes){const F=matchAttributes(d.attributes,r),ee=Object.keys(F);if(ee.length>1){const fe=new Set,ae={};for(const Ee of ee){const _e=F[Ee];_e.length>5&&(_e in ae?fe.add(Ee):ae[_e]=Ee)}for(const Ee of fe)delete F[Ee]}F.role===d.tagName&&delete F.role;const J=["aria-label","placeholder","title"];for(const fe of J)F[fe]&&F[fe].toLowerCase().trim()===$.toLowerCase().trim()&&delete F[fe];Object.keys(F).length>0&&(k=Object.entries(F).map(([fe,ae])=>`${fe}=${o(ae,20)}`).join(" "))}const N=d.isNew?`*[${d.highlightIndex}]`:`[${d.highlightIndex}]`;let O=`${y}${N}<${d.tagName??""}`;if(k&&(O+=` ${k}`),d.extra&&d.extra.scrollable){let F="";(h=d.extra.scrollData)!=null&&h.left&&(F+=`left=${d.extra.scrollData.left}, `),(p=d.extra.scrollData)!=null&&p.top&&(F+=`top=${d.extra.scrollData.top}, `),(b=d.extra.scrollData)!=null&&b.right&&(F+=`right=${d.extra.scrollData.right}, `),(m=d.extra.scrollData)!=null&&m.bottom&&(F+=`bottom=${d.extra.scrollData.bottom}`),O+=` data-scrollable="${F}"`}if($){const F=$.trim();k||(O+=" "),O+=`>${F}`}else k||(O+=" ");O+=" />",v.push(O)}for(const $ of d.children)c($,_,v)}else if(d.type==="text"){if(l(d))return;d.parent&&d.parent.type==="element"&&d.parent.isVisible&&d.parent.isTopElement&&v.push(`${y}${d.text??""}`)}},"processNode"),u=[];return c(a,0,u),u.join(`
|
|
353
|
-
`)}__name$1(flatTreeToString,"flatTreeToString");const getAllTextTillNextClickableElement=__name$1((
|
|
354
|
-
`).trim()},"getAllTextTillNextClickableElement");function getSelectorMap(
|
|
355
|
-
`).map(
|
|
356
|
-
${
|
|
357
|
-
|
|
358
|
-
${
|
|
359
|
-
|
|
360
|
-
${
|
|
361
|
-
${this.config.appContext}`);const
|
|
362
|
-
${
|
|
363
|
-
|
|
364
|
-
`)}`),
|
|
365
|
-
|
|
366
|
-
`):void 0}getRouteNotes(
|
|
367
|
-
${
|
|
368
|
-
|
|
369
|
-
`)}`}catch{return}}invalidateNotesCache(){this.notesCache=null}init(){if(this.agent)return;this.controller=new PageController({});const
|
|
370
|
-
Parameters: ${o}`,inputSchema:record(string(),any()),async execute(s){try{const i=await r.handler(s);return typeof i=="string"?i:JSON.stringify(i)}catch(i){return`Error: ${i instanceof Error?i.message:String(i)}`}}}}return n}createProxyFetch(){const t=this.config.proxyUrl;return async(n,r)=>{const s=(typeof n=="string"?n:n instanceof URL?n.toString():n.url).match(/\/v1\/(.*)/),i=s?s[1]:"chat/completions",a=t.endsWith("/")?t+i:t+"/"+i,l=new AbortController,c=setTimeout(()=>l.abort(),6e4);let u;try{u=await globalThis.fetch(a,{...r,signal:l.signal,headers:{...Object.fromEntries(new Headers(r==null?void 0:r.headers).entries()),"Content-Type":"application/json"}})}catch(d){throw clearTimeout(c),d instanceof DOMException&&d.name==="AbortError"?new Error("Agent proxy request timed out. The server may be overloaded — try again."):new Error(`Cannot reach agent proxy at ${t}. Check that your server is running.`)}if(clearTimeout(c),!u.ok){const d=u.status;let f="";try{f=await u.text()}catch{}throw d===401||d===403?new Error("Agent proxy returned 401 Unauthorized. Check that the server has a valid API key configured."):d===429?new Error("Agent proxy rate limited (429). Too many requests — wait a moment and try again."):d>=500?new Error(`Agent proxy server error (${d}). ${f?f.slice(0,200):"Check server logs for details."}`):new Error(`Agent proxy error (${d}): ${f?f.slice(0,200):"Unknown error"}`)}return u}}handleActivity(t){if(!this.stopped)switch(t.type){case"thinking":this.config.onStateChange("thinking",this.currentStep);break;case"executing":this.currentStep++,APPROVAL_REQUIRED_TOOLS.has(t.tool)||(this.config.onStateChange("acting",this.currentStep),this.addMessage({id:msgId(),role:"action",text:`${t.tool}(${summarizeInput(t.input)})`,tool:t.tool,step:this.currentStep,timestamp:Date.now()}));break;case"executed":this.addMessage({id:msgId(),role:"result",text:truncate(t.output,200),tool:t.tool,duration:t.duration,step:this.currentStep,timestamp:Date.now()});break;case"retrying":this.addMessage({id:msgId(),role:"thinking",text:`Retrying (${t.attempt}/${t.maxAttempts})...`,timestamp:Date.now()});break;case"error":this.addMessage({id:msgId(),role:"error",text:t.message,timestamp:Date.now()}),this.config.onStateChange("error",this.currentStep);break}}syncState(){if(!this.agent)return;switch(this.agent.status){case"idle":case"completed":this.config.onStateChange("idle",this.currentStep);break;case"running":break;case"error":this.config.onStateChange("error",this.currentStep);break}}addMessage(t){this.messages=[...this.messages,t],this.config.onMessagesChange(this.messages)}async execute(t){if(this.disposed||(this.init(),!this.agent||!this.agentConfig))return;const n=await this.loadNotes();this.agentConfig.instructions.system=this.buildSystemPrompt(n),this.addMessage({id:msgId(),role:"user",text:t,timestamp:Date.now()}),this.currentStep=0,this.stopped=!1,this.config.onStateChange("thinking",0);try{const r=await this.agent.execute(t);if(this.stopped)return;r.success?this.addMessage({id:msgId(),role:"result",text:r.data||"Task completed successfully.",timestamp:Date.now()}):this.addMessage({id:msgId(),role:"error",text:r.data||"Task failed.",timestamp:Date.now()})}catch(r){if(this.stopped)return;if(r instanceof DOMException&&r.name==="AbortError"||r instanceof Error&&r.message==="AbortError"){this.addMessage({id:msgId(),role:"info",text:"Stopped by user.",timestamp:Date.now()}),this.config.onStateChange("idle",this.currentStep);return}this.addMessage({id:msgId(),role:"error",text:r instanceof Error?r.message:"Unknown error",timestamp:Date.now()}),this.config.onStateChange("error",this.currentStep);return}this.config.onStateChange("idle",this.currentStep)}stop(){this.stopped=!0;for(const[t,n]of this.pendingApprovals)this.updateMessageApproval(t,"skipped"),n(!1);this.pendingApprovals.clear(),this.agent&&this.agent.status==="running"&&this.agent.stop(),this.addMessage({id:msgId(),role:"info",text:"Stopped by user.",timestamp:Date.now()}),this.config.onStateChange("idle",this.currentStep)}getMessages(){return this.messages}getMaxSteps(){return this.config.maxSteps||20}getRegisteredTools(){return this.config.registeredTools||[]}dispose(){this.disposed=!0;for(const[,t]of this.pendingApprovals)t(!1);this.pendingApprovals.clear(),this.agent&&(this.agent.dispose(),this.agent=null),this.controller&&(this.controller.dispose(),this.controller=null)}}function summarizeInput(e){if(e==null)return"";if(typeof e=="string")return truncate(e,60);if(typeof e=="number"||typeof e=="boolean")return String(e);try{const t=JSON.stringify(e);return truncate(t,80)}catch{return"..."}}function truncate(e,t){return e.length<=t?e:e.slice(0,t-1)+"…"}var root_1$1=from_html('<div class="drag-handle svelte-nv4d5v"><svg width="10" height="16" viewBox="0 0 10 16" fill="none" class="svelte-nv4d5v"><circle cx="3" cy="3" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="7" cy="3" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="3" cy="8" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="7" cy="8" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="3" cy="13" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="7" cy="13" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle></svg></div>'),root_2$1=from_html('<span class="tab-badge svelte-nv4d5v"> </span>'),root_3=from_html('<button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><rect x="4" y="4" width="16" height="12" rx="2" stroke="currentColor" stroke-width="1.8" class="svelte-nv4d5v"></rect><circle cx="9" cy="10" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="15" cy="10" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><path d="M8 20h8M12 16v4" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> Agent</button>'),root_5=from_html('<option class="svelte-nv4d5v"> </option>'),root_6=from_html('<option class="svelte-nv4d5v"> </option>'),root_7=from_html('<span class="capture-spinner svelte-nv4d5v"></span> Capturing...',1),root_9=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_8=from_svg('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><rect x="3" y="3" width="18" height="18" rx="2" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></rect><circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></circle></svg> Screenshot<!>',1),root_12=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_11=from_html("Pick<!>",1),root_13=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_16=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path><path d="M14 2v6h6" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path></svg>'),root_17=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M4 4h16v16H4z" stroke="currentColor" stroke-width="2" stroke-linejoin="round" class="svelte-nv4d5v"></path><path d="M7 15V9l3 4 3-4v6M17 12h-3v3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"></path></svg>'),root_18=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path><path d="M14 2v6h6" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path></svg>'),root_15=from_html('<div class="attachment-item svelte-nv4d5v"><span class="attachment-icon svelte-nv4d5v"><!></span> <span class="attachment-name svelte-nv4d5v"> </span> <span class="attachment-size svelte-nv4d5v"> </span> <button class="attachment-remove svelte-nv4d5v" aria-label="Remove">×</button></div>'),root_14=from_html('<div class="attachments-list svelte-nv4d5v"></div>'),root_20=from_html('<div class="element-item svelte-nv4d5v"><span class="element-tag svelte-nv4d5v"> </span> <span class="element-text svelte-nv4d5v"> </span> <button class="element-remove svelte-nv4d5v" aria-label="Remove">×</button></div>'),root_19=from_html('<div class="elements-list svelte-nv4d5v"></div>'),root_21=from_html('<div class="attach-summary svelte-nv4d5v"> </div>'),root_22=from_html('<span class="spinner svelte-nv4d5v"></span> Submitting...',1),root_4=from_html('<form class="panel-body svelte-nv4d5v"><div class="field svelte-nv4d5v"><label for="jat-fb-title" class="svelte-nv4d5v">Title <span class="req svelte-nv4d5v">*</span></label> <input id="jat-fb-title" type="text" placeholder="Brief description" required="" class="svelte-nv4d5v"/></div> <div class="field svelte-nv4d5v"><label for="jat-fb-desc" class="svelte-nv4d5v">Description</label> <textarea id="jat-fb-desc" placeholder="Steps to reproduce, expected vs actual..." rows="3" class="svelte-nv4d5v"></textarea></div> <div class="field-row svelte-nv4d5v"><div class="field half svelte-nv4d5v"><label for="jat-fb-type" class="svelte-nv4d5v">Type</label> <select id="jat-fb-type" class="svelte-nv4d5v"></select></div> <div class="field half svelte-nv4d5v"><label for="jat-fb-priority" class="svelte-nv4d5v">Priority</label> <select id="jat-fb-priority" class="svelte-nv4d5v"></select></div></div> <div class="tools svelte-nv4d5v"><div class="tool-buttons svelte-nv4d5v"><button type="button" class="tool-btn svelte-nv4d5v"><!></button> <button type="button" class="tool-btn svelte-nv4d5v"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M7 2L7 22M17 2V22M2 7H22M2 17H22" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> <!></button> <button type="button" class="tool-btn svelte-nv4d5v"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"></path></svg> Upload<!></button> <input type="file" multiple="" accept="image/*,video/*,.md,.txt,.pdf,.doc,.docx,.csv,.json,.xml,.html,.log" style="display:none" class="svelte-nv4d5v"/></div> <!></div> <!> <!> <!> <!> <div class="actions svelte-nv4d5v"><span class="panel-version svelte-nv4d5v"> </span> <button type="button" class="cancel-btn svelte-nv4d5v">Cancel</button> <button type="submit" class="submit-btn svelte-nv4d5v"><!></button></div></form>'),root_24=from_html('<div class="requests-wrapper svelte-nv4d5v"><!></div>'),root_25=from_html('<div class="agent-wrapper svelte-nv4d5v"><!></div>'),root_26=from_html('<div class="notes-wrapper svelte-nv4d5v"><!></div>'),root_28=from_html('<button class="voice-btn voice-btn-start svelte-nv4d5v"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="28" height="28" class="svelte-nv4d5v"><path d="M12 2a3 3 0 0 1 3 3v7a3 3 0 0 1-6 0V5a3 3 0 0 1 3-3Z" class="svelte-nv4d5v"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2M12 19v3M8 22h8" class="svelte-nv4d5v"></path></svg> Start Recording</button>'),root_29=from_html('<button class="voice-btn voice-btn-stop svelte-nv4d5v"><svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24" class="svelte-nv4d5v"><rect x="4" y="4" width="16" height="16" rx="2" class="svelte-nv4d5v"></rect></svg> Stop Recording</button> <div class="voice-recording-indicator svelte-nv4d5v"><span class="voice-dot svelte-nv4d5v"></span> <span class="voice-dot svelte-nv4d5v"></span> <span class="voice-dot svelte-nv4d5v"></span></div>',1),root_30=from_html('<div class="voice-processing svelte-nv4d5v"><span class="voice-spinner svelte-nv4d5v"></span> <span class="voice-status-text svelte-nv4d5v"> </span></div>'),root_31=from_html('<div class="voice-done svelte-nv4d5v"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="32" height="32" class="svelte-nv4d5v"><path d="M20 6 9 17l-5-5" class="svelte-nv4d5v"></path></svg></div> <p class="voice-status-text voice-done-text svelte-nv4d5v"> </p> <button class="voice-reset svelte-nv4d5v">Record another</button>',1),root_32=from_html('<div class="voice-error-icon svelte-nv4d5v">!</div> <p class="voice-status-text voice-error-text svelte-nv4d5v"> </p> <button class="voice-reset svelte-nv4d5v">Try again</button>',1),root_33=from_html('<p class="voice-footer svelte-nv4d5v">Transcription uses <strong class="svelte-nv4d5v">voxtype</strong> + <strong class="svelte-nv4d5v">ollama</strong> locally — no cloud needed.</p>'),root_27=from_html('<div class="voice-wrapper svelte-nv4d5v"><div class="voice-body svelte-nv4d5v"><p class="voice-hint svelte-nv4d5v">Record a voice note — JAT will transcribe it and create tasks automatically.</p> <div class="voice-mic-row svelte-nv4d5v"><!></div> <!></div></div>'),root$1=from_html('<div class="panel svelte-nv4d5v"><div class="panel-header svelte-nv4d5v"><!> <div class="tabs svelte-nv4d5v"><button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> New</button> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"></path></svg> History <!></button> <!> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="1.8" class="svelte-nv4d5v"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> Notes</button> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"><path d="M12 2a3 3 0 0 1 3 3v7a3 3 0 0 1-6 0V5a3 3 0 0 1 3-3Z" class="svelte-nv4d5v"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2M12 19v3M8 22h8" class="svelte-nv4d5v"></path></svg> Voice</button></div> <button class="close-btn svelte-nv4d5v" aria-label="Close">×</button></div> <!> <!> <!> <!> <!> <!></div> <!>',1);const $$css$1={hash:"svelte-nv4d5v",code:`.panel.svelte-nv4d5v {width:380px;max-height:702px;background:#111827;border:1px solid #374151;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.4);font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;color:#e5e7eb;display:flex;flex-direction:column;overflow:hidden;position:relative;}.panel-header.svelte-nv4d5v {display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 0;border-bottom:1px solid #1f2937;}.drag-handle.svelte-nv4d5v {display:flex;align-items:center;justify-content:center;width:24px;padding:0 2px 0 8px;color:#6b7280;cursor:grab;flex-shrink:0;user-select:none;transition:color 0.15s;}.drag-handle.svelte-nv4d5v:hover {color:#d1d5db;}.drag-handle.svelte-nv4d5v:active {cursor:grabbing;color:#e5e7eb;}.tabs.svelte-nv4d5v {display:flex;flex:1;}.tab.svelte-nv4d5v {display:flex;align-items:center;gap:5px;padding:11px 14px;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:color 0.15s, border-color 0.15s;white-space:nowrap;}.tab.svelte-nv4d5v:hover {color:#d1d5db;}.tab.active.svelte-nv4d5v {color:#f9fafb;border-bottom-color:#3b82f6;}.tab-badge.svelte-nv4d5v {display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f59e0b;color:#111827;font-size:10px;font-weight:700;line-height:1;}.close-btn.svelte-nv4d5v {background:none;border:none;color:#9ca3af;font-size:20px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;}.close-btn.svelte-nv4d5v:hover {color:#e5e7eb;}.panel-body.svelte-nv4d5v {padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;}.field.svelte-nv4d5v {display:flex;flex-direction:column;gap:4px;}.field-row.svelte-nv4d5v {display:flex;gap:10px;}.half.svelte-nv4d5v {flex:1;}label.svelte-nv4d5v {font-weight:600;font-size:12px;color:#9ca3af;}.req.svelte-nv4d5v {color:#ef4444;}input.svelte-nv4d5v, textarea.svelte-nv4d5v, select.svelte-nv4d5v {padding:7px 10px;border:1px solid #374151;border-radius:5px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#1f2937;transition:border-color 0.15s;}input.svelte-nv4d5v:focus, textarea.svelte-nv4d5v:focus, select.svelte-nv4d5v:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2);}input.svelte-nv4d5v:disabled, textarea.svelte-nv4d5v:disabled, select.svelte-nv4d5v:disabled {opacity:0.5;cursor:not-allowed;}textarea.svelte-nv4d5v {resize:vertical;min-height:48px;}select.svelte-nv4d5v {appearance:auto;}.tools.svelte-nv4d5v {display:flex;flex-direction:column;gap:6px;}.tool-buttons.svelte-nv4d5v {display:flex;gap:6px;}.tool-buttons.svelte-nv4d5v .tool-btn:where(.svelte-nv4d5v) {flex:1;}.tool-btn.svelte-nv4d5v {display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#1f2937;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:12px;cursor:pointer;font-family:inherit;transition:background 0.15s;}.tool-btn.svelte-nv4d5v:hover:not(:disabled) {background:#374151;}.tool-btn.svelte-nv4d5v:disabled {opacity:0.5;cursor:not-allowed;}.capture-spinner.svelte-nv4d5v {display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,0.2);border-top-color:white;border-radius:50%;
|
|
373
|
+
`),b+=`</instructions>
|
|
374
|
+
|
|
375
|
+
`,b},"#getInstructions"),handleObservations_fn=__name$2(async function(d){var g;__privateGet$1(this,_states).totalWaitTime>=3&&this.pushObservation(`You have waited ${__privateGet$1(this,_states).totalWaitTime} seconds accumulatively. DO NOT wait any longer unless you have a good reason.`);const p=((g=__privateGet$1(this,_states).browserState)==null?void 0:g.url)||"";p!==__privateGet$1(this,_states).lastURL&&(this.pushObservation(`Page navigated to → ${p}`),__privateGet$1(this,_states).lastURL=p,await waitFor$1(.5));const h=this.config.maxSteps-d;if(h===5?this.pushObservation(`⚠️ Only ${h} steps remaining. Consider wrapping up or calling done with partial results.`):h===2&&this.pushObservation(`⚠️ Critical: Only ${h} steps left! You must finish the task or call done immediately.`),__privateGet$1(this,_observations).length>0){for(const m of __privateGet$1(this,_observations))this.history.push({type:"observation",content:m}),console.log(chalk.cyan("Observation:"),m);__privateSet$1(this,_observations,[]),__privateMethod$1(this,_PageAgentCore_instances,emitHistoryChange_fn).call(this)}},"#handleObservations"),assembleUserPrompt_fn=__name$2(async function(){const d=__privateGet$1(this,_states).browserState;let p="";p+=await __privateMethod$1(this,_PageAgentCore_instances,getInstructions_fn).call(this);const h=this.history.filter(_=>_.type==="step").length;p+=`<agent_state>
|
|
376
|
+
`,p+=`<user_request>
|
|
377
|
+
`,p+=`${this.task}
|
|
378
|
+
`,p+=`</user_request>
|
|
379
|
+
`,p+=`<step_info>
|
|
380
|
+
`,p+=`Step ${h+1} of ${this.config.maxSteps} max possible steps
|
|
381
|
+
`,p+=`Current time: ${new Date().toLocaleString()}
|
|
382
|
+
`,p+=`</step_info>
|
|
383
|
+
`,p+=`</agent_state>
|
|
384
|
+
|
|
385
|
+
`,p+=`<agent_history>
|
|
386
|
+
`;let g=0;for(const _ of this.history)_.type==="step"?(g++,p+=`<step_${g}>
|
|
387
|
+
`,p+=`Evaluation of Previous Step: ${_.reflection.evaluation_previous_goal}
|
|
388
|
+
`,p+=`Memory: ${_.reflection.memory}
|
|
389
|
+
`,p+=`Next Goal: ${_.reflection.next_goal}
|
|
390
|
+
`,p+=`Action Results: ${_.action.output}
|
|
391
|
+
`,p+=`</step_${g}>
|
|
392
|
+
`):_.type==="observation"?p+=`<sys>${_.content}</sys>
|
|
393
|
+
`:_.type==="user_takeover"?p+=`<sys>User took over control and made changes to the page</sys>
|
|
394
|
+
`:_.type;p+=`</agent_history>
|
|
395
|
+
|
|
396
|
+
`;let m=d.content;return this.config.transformPageContent&&(m=await this.config.transformPageContent(m)),p+=`<browser_state>
|
|
397
|
+
`,p+=d.header+`
|
|
398
|
+
`,p+=m+`
|
|
399
|
+
`,p+=d.footer+`
|
|
400
|
+
|
|
401
|
+
`,p+=`</browser_state>
|
|
402
|
+
|
|
403
|
+
`,p},"#assembleUserPrompt"),onDone_fn=__name$2(function(d=!0){this.pageController.cleanUpHighlights(),this.pageController.hideMask(),__privateMethod$1(this,_PageAgentCore_instances,setStatus_fn).call(this,d?"completed":"error"),__privateGet$1(this,_abortController).abort()},"#onDone"),__name$2(_PageAgentCore,"PageAgentCore");let PageAgentCore=_PageAgentCore;var __defProp$1=Object.defineProperty,__name$1=(d,p)=>__defProp$1(d,"name",{value:p,configurable:!0});async function waitFor(d){await new Promise(p=>setTimeout(p,d*1e3))}__name$1(waitFor,"waitFor");async function movePointerToElement(d){const p=d.getBoundingClientRect(),h=p.left+p.width/2,g=p.top+p.height/2;window.dispatchEvent(new CustomEvent("PageAgent::MovePointerTo",{detail:{x:h,y:g}})),await waitFor(.3)}__name$1(movePointerToElement,"movePointerToElement");function getElementByIndex(d,p){const h=d.get(p);if(!h)throw new Error(`No interactive element found at index ${p}`);const g=h.ref;if(!g)throw new Error(`Element at index ${p} does not have a reference`);if(!(g instanceof HTMLElement))throw new Error(`Element at index ${p} is not an HTMLElement`);return g}__name$1(getElementByIndex,"getElementByIndex");let lastClickedElement=null;function blurLastClickedElement(){lastClickedElement&&(lastClickedElement.blur(),lastClickedElement.dispatchEvent(new MouseEvent("mouseout",{bubbles:!0,cancelable:!0})),lastClickedElement=null)}__name$1(blurLastClickedElement,"blurLastClickedElement");async function clickElement(d){blurLastClickedElement(),lastClickedElement=d,await scrollIntoViewIfNeeded(d),await movePointerToElement(d),window.dispatchEvent(new CustomEvent("PageAgent::ClickPointer")),await waitFor(.1),d.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("mouseover",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0})),d.focus(),d.dispatchEvent(new MouseEvent("mouseup",{bubbles:!0,cancelable:!0})),d.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0})),await waitFor(.2)}__name$1(clickElement,"clickElement");const nativeInputValueSetter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set,nativeTextAreaValueSetter=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value").set;async function inputTextElement(d,p){const h=d.isContentEditable;if(!(d instanceof HTMLInputElement)&&!(d instanceof HTMLTextAreaElement)&&!h)throw new Error("Element is not an input, textarea, or contenteditable");await clickElement(d),h?(d.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"deleteContent"}))&&(d.innerText="",d.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"deleteContent"}))),d.dispatchEvent(new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"insertText",data:p}))&&(d.innerText=p,d.dispatchEvent(new InputEvent("input",{bubbles:!0,inputType:"insertText",data:p}))),d.dispatchEvent(new Event("change",{bubbles:!0})),d.blur()):d instanceof HTMLTextAreaElement?nativeTextAreaValueSetter.call(d,p):nativeInputValueSetter.call(d,p),h||d.dispatchEvent(new Event("input",{bubbles:!0})),await waitFor(.1),blurLastClickedElement()}__name$1(inputTextElement,"inputTextElement");async function selectOptionElement(d,p){if(!(d instanceof HTMLSelectElement))throw new Error("Element is not a select element");const g=Array.from(d.options).find(m=>{var _;return((_=m.textContent)==null?void 0:_.trim())===p.trim()});if(!g)throw new Error(`Option with text "${p}" not found in select element`);d.value=g.value,d.dispatchEvent(new Event("change",{bubbles:!0})),await waitFor(.1)}__name$1(selectOptionElement,"selectOptionElement");async function scrollIntoViewIfNeeded(d){const p=d;typeof p.scrollIntoViewIfNeeded=="function"?p.scrollIntoViewIfNeeded():d.scrollIntoView({behavior:"auto",block:"center",inline:"nearest"})}__name$1(scrollIntoViewIfNeeded,"scrollIntoViewIfNeeded");async function scrollVertically(d,p,h){if(h){const y=h;let w=y,x=!1,E=null,S=0,k=0;const I=p;for(;w&&k<10;){const A=window.getComputedStyle(w),M=/(auto|scroll|overlay)/.test(A.overflowY),R=w.scrollHeight>w.clientHeight;if(M&&R){const C=w.scrollTop,N=w.scrollHeight-w.clientHeight;let $=I/3;$>0?$=Math.min($,N-C):$=Math.max($,-C),w.scrollTop=C+$;const F=w.scrollTop-C;if(Math.abs(F)>.5){x=!0,E=w,S=F;break}}if(w===document.body||w===document.documentElement)break;w=w.parentElement,k++}return x?`Scrolled container (${E==null?void 0:E.tagName}) by ${S}px`:`No scrollable container found for element (${y.tagName})`}const g=p,m=__name$1(y=>y.clientHeight>=window.innerHeight*.5,"bigEnough"),_=__name$1(y=>y&&/(auto|scroll|overlay)/.test(getComputedStyle(y).overflowY)&&y.scrollHeight>y.clientHeight&&m(y),"canScroll");let b=document.activeElement;for(;b&&!_(b)&&b!==document.body;)b=b.parentElement;if(b=_(b)?b:Array.from(document.querySelectorAll("*")).find(_)||document.scrollingElement||document.documentElement,b===document.scrollingElement||b===document.documentElement||b===document.body){const y=window.scrollY,w=document.documentElement.scrollHeight-window.innerHeight;window.scrollBy(0,g);const x=window.scrollY,E=x-y;if(Math.abs(E)<1)return g>0?"⚠️ Already at the bottom of the page, cannot scroll down further.":"⚠️ Already at the top of the page, cannot scroll up further.";const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled page by ${E}px. Reached the bottom of the page.`:k?`✅ Scrolled page by ${E}px. Reached the top of the page.`:`✅ Scrolled page by ${E}px.`}else{const y=b.scrollTop,w=b.scrollHeight-b.clientHeight;b.scrollBy({top:g,behavior:"smooth"}),await waitFor(.1);const x=b.scrollTop,E=x-y;if(Math.abs(E)<1)return g>0?`⚠️ Already at the bottom of container (${b.tagName}), cannot scroll down further.`:`⚠️ Already at the top of container (${b.tagName}), cannot scroll up further.`;const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the bottom.`:k?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the top.`:`✅ Scrolled container (${b.tagName}) by ${E}px.`}}__name$1(scrollVertically,"scrollVertically");async function scrollHorizontally(d,p,h){if(h){const y=h;let w=y,x=!1,E=null,S=0,k=0;const I=d?p:-p;for(;w&&k<10;){const A=window.getComputedStyle(w),M=/(auto|scroll|overlay)/.test(A.overflowX),R=w.scrollWidth>w.clientWidth;if(M&&R){const C=w.scrollLeft,N=w.scrollWidth-w.clientWidth;let $=I/3;$>0?$=Math.min($,N-C):$=Math.max($,-C),w.scrollLeft=C+$;const F=w.scrollLeft-C;if(Math.abs(F)>.5){x=!0,E=w,S=F;break}}if(w===document.body||w===document.documentElement)break;w=w.parentElement,k++}return x?`Scrolled container (${E==null?void 0:E.tagName}) horizontally by ${S}px`:`No horizontally scrollable container found for element (${y.tagName})`}const g=d?p:-p,m=__name$1(y=>y.clientWidth>=window.innerWidth*.5,"bigEnough"),_=__name$1(y=>y&&/(auto|scroll|overlay)/.test(getComputedStyle(y).overflowX)&&y.scrollWidth>y.clientWidth&&m(y),"canScroll");let b=document.activeElement;for(;b&&!_(b)&&b!==document.body;)b=b.parentElement;if(b=_(b)?b:Array.from(document.querySelectorAll("*")).find(_)||document.scrollingElement||document.documentElement,b===document.scrollingElement||b===document.documentElement||b===document.body){const y=window.scrollX,w=document.documentElement.scrollWidth-window.innerWidth;window.scrollBy(g,0);const x=window.scrollX,E=x-y;if(Math.abs(E)<1)return g>0?"⚠️ Already at the right edge of the page, cannot scroll right further.":"⚠️ Already at the left edge of the page, cannot scroll left further.";const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled page by ${E}px. Reached the right edge of the page.`:k?`✅ Scrolled page by ${E}px. Reached the left edge of the page.`:`✅ Scrolled page horizontally by ${E}px.`}else{const y=b.scrollLeft,w=b.scrollWidth-b.clientWidth;b.scrollBy({left:g,behavior:"smooth"}),await waitFor(.1);const x=b.scrollLeft,E=x-y;if(Math.abs(E)<1)return g>0?`⚠️ Already at the right edge of container (${b.tagName}), cannot scroll right further.`:`⚠️ Already at the left edge of container (${b.tagName}), cannot scroll left further.`;const S=g>0&&x>=w-1,k=g<0&&x<=1;return S?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the right edge.`:k?`✅ Scrolled container (${b.tagName}) by ${E}px. Reached the left edge.`:`✅ Scrolled container (${b.tagName}) horizontally by ${E}px.`}}__name$1(scrollHorizontally,"scrollHorizontally");const domTree=__name$1((d={doHighlightElements:!0,focusHighlightIndex:-1,viewportExpansion:0,debugMode:!1,interactiveBlacklist:[],interactiveWhitelist:[],highlightOpacity:.1,highlightLabelOpacity:.5})=>{const{interactiveBlacklist:p,interactiveWhitelist:h,highlightOpacity:g,highlightLabelOpacity:m}=d,{doHighlightElements:_,focusHighlightIndex:b,viewportExpansion:y,debugMode:w}=d;let x=0;const E=new WeakMap;function S(T,z){!T||T.nodeType!==Node.ELEMENT_NODE||E.set(T,{...E.get(T),...z})}__name$1(S,"addExtraData");const k={boundingRects:new WeakMap,clientRects:new WeakMap,computedStyles:new WeakMap,clearCache:__name$1(()=>{k.boundingRects=new WeakMap,k.clientRects=new WeakMap,k.computedStyles=new WeakMap},"clearCache")};function I(T){if(!T)return null;if(k.boundingRects.has(T))return k.boundingRects.get(T);const z=T.getBoundingClientRect();return z&&k.boundingRects.set(T,z),z}__name$1(I,"getCachedBoundingRect");function A(T){if(!T)return null;if(k.computedStyles.has(T))return k.computedStyles.get(T);const z=window.getComputedStyle(T);return z&&k.computedStyles.set(T,z),z}__name$1(A,"getCachedComputedStyle");function M(T){if(!T)return null;if(k.clientRects.has(T))return k.clientRects.get(T);const z=T.getClientRects();return z&&k.clientRects.set(T,z),z}__name$1(M,"getCachedClientRects");const R={},C={current:0},N="playwright-highlight-container";function $(T,z,L=null){if(!T)return z;const P=[];let G=null,W=20,ie=16,J=null;try{let ne=document.getElementById(N);ne||(ne=document.createElement("div"),ne.id=N,ne.style.position="fixed",ne.style.pointerEvents="none",ne.style.top="0",ne.style.left="0",ne.style.width="100%",ne.style.height="100%",ne.style.zIndex="2147483640",ne.style.backgroundColor="transparent",document.body.appendChild(ne));const ge=T.getClientRects();if(!ge||ge.length===0)return z;const ee=["#FF0000","#00FF00","#0000FF","#FFA500","#800080","#008080","#FF69B4","#4B0082","#FF4500","#2E8B57","#DC143C","#4682B4"],he=z%ee.length;let B=ee[he];const K=B+Math.floor(g*255).toString(16).padStart(2,"0");B=B+Math.floor(m*255).toString(16).padStart(2,"0");let pe={x:0,y:0};if(L){const X=L.getBoundingClientRect();pe.x=X.left,pe.y=X.top}const le=document.createDocumentFragment();for(const X of ge){if(X.width===0||X.height===0)continue;const fe=document.createElement("div");fe.style.position="fixed",fe.style.border=`2px solid ${B}`,fe.style.backgroundColor=K,fe.style.pointerEvents="none",fe.style.boxSizing="border-box";const Q=X.top+pe.y,ue=X.left+pe.x;fe.style.top=`${Q}px`,fe.style.left=`${ue}px`,fe.style.width=`${X.width}px`,fe.style.height=`${X.height}px`,le.appendChild(fe),P.push({element:fe,initialRect:X})}const we=ge[0];G=document.createElement("div"),G.className="playwright-highlight-label",G.style.position="fixed",G.style.background=B,G.style.color="white",G.style.padding="1px 4px",G.style.borderRadius="4px",G.style.fontSize=`${Math.min(12,Math.max(8,we.height/2))}px`,G.textContent=z.toString(),W=G.offsetWidth>0?G.offsetWidth:W,ie=G.offsetHeight>0?G.offsetHeight:ie;const ze=we.top+pe.y,xe=we.left+pe.x;let Ve=ze+2,ae=xe+we.width-W-2;(we.width<W+4||we.height<ie+4)&&(Ve=ze-ie-2,ae=xe+we.width-W,ae<pe.x&&(ae=xe)),Ve=Math.max(0,Math.min(Ve,window.innerHeight-ie)),ae=Math.max(0,Math.min(ae,window.innerWidth-W)),G.style.top=`${Ve}px`,G.style.left=`${ae}px`,le.appendChild(G);const H=__name$1((X,fe)=>{let Q=0;return(...ue)=>{const be=performance.now();if(!(be-Q<fe))return Q=be,X(...ue)}},"throttleFunction")(__name$1(()=>{const X=T.getClientRects();let fe={x:0,y:0};if(L){const Q=L.getBoundingClientRect();fe.x=Q.left,fe.y=Q.top}if(P.forEach((Q,ue)=>{if(ue<X.length){const be=X[ue],Ue=be.top+fe.y,Ce=be.left+fe.x;Q.element.style.top=`${Ue}px`,Q.element.style.left=`${Ce}px`,Q.element.style.width=`${be.width}px`,Q.element.style.height=`${be.height}px`,Q.element.style.display=be.width===0||be.height===0?"none":"block"}else Q.element.style.display="none"}),X.length<P.length)for(let Q=X.length;Q<P.length;Q++)P[Q].element.style.display="none";if(G&&X.length>0){const Q=X[0],ue=Q.top+fe.y,be=Q.left+fe.x;let Ue=ue+2,Ce=be+Q.width-W-2;(Q.width<W+4||Q.height<ie+4)&&(Ue=ue-ie-2,Ce=be+Q.width-W,Ce<fe.x&&(Ce=be)),Ue=Math.max(0,Math.min(Ue,window.innerHeight-ie)),Ce=Math.max(0,Math.min(Ce,window.innerWidth-W)),G.style.top=`${Ue}px`,G.style.left=`${Ce}px`,G.style.display="block"}else G&&(G.style.display="none")},"updatePositions"),16);return window.addEventListener("scroll",H,!0),window.addEventListener("resize",H),J=__name$1(()=>{window.removeEventListener("scroll",H,!0),window.removeEventListener("resize",H),P.forEach(X=>X.element.remove()),G&&G.remove()},"cleanupFn"),ne.appendChild(le),z+1}finally{J&&(window._highlightCleanupFunctions=window._highlightCleanupFunctions||[]).push(J)}}__name$1($,"highlightElement");function O(T){if(!T||T.nodeType!==Node.ELEMENT_NODE)return null;const z=A(T);if(!z)return null;const L=z.display;if(L==="inline"||L==="inline-block")return null;const P=z.overflowX,G=z.overflowY,W=P==="auto"||P==="scroll",ie=G==="auto"||G==="scroll";if(!W&&!ie)return null;const J=T.scrollWidth-T.clientWidth,ne=T.scrollHeight-T.clientHeight,ge=4;if(J<ge&&ne<ge||!ie&&J<ge||!W&&ne<ge)return null;const ee=T.scrollTop,he=T.scrollLeft,B=T.scrollWidth-T.clientWidth-T.scrollLeft,K=T.scrollHeight-T.clientHeight-T.scrollTop,pe={top:ee,right:B,bottom:K,left:he};return S(T,{scrollable:!0,scrollData:pe}),pe}__name$1(O,"isScrollableElement");function F(T){try{if(y===-1){const ie=T.parentElement;if(!ie)return!1;try{return ie.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const ne=window.getComputedStyle(ie);return ne.display!=="none"&&ne.visibility!=="hidden"&&ne.opacity!=="0"}}const z=document.createRange();z.selectNodeContents(T);const L=z.getClientRects();if(!L||L.length===0)return!1;let P=!1,G=!1;for(const ie of L)if(ie.width>0&&ie.height>0&&(P=!0,!(ie.bottom<-y||ie.top>window.innerHeight+y||ie.right<-y||ie.left>window.innerWidth+y))){G=!0;break}if(!P||!G)return!1;const W=T.parentElement;if(!W)return!1;try{return W.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const J=window.getComputedStyle(W);return J.display!=="none"&&J.visibility!=="hidden"&&J.opacity!=="0"}}catch(z){return console.warn("Error checking text node visibility:",z),!1}}__name$1(F,"isTextNodeVisible");function j(T){if(!T||!T.tagName)return!1;const z=new Set(["body","div","main","article","section","nav","header","footer"]),L=T.tagName.toLowerCase();return z.has(L)?!0:!new Set(["svg","script","style","link","meta","noscript","template"]).has(L)}__name$1(j,"isElementAccepted");function Y(T){const z=A(T);return T.offsetWidth>0&&T.offsetHeight>0&&(z==null?void 0:z.visibility)!=="hidden"&&(z==null?void 0:z.display)!=="none"}__name$1(Y,"isElementVisible");function q(T){var K,pe;if(!T||T.nodeType!==Node.ELEMENT_NODE||p.includes(T))return!1;if(h.includes(T))return!0;const z=T.tagName.toLowerCase(),L=A(T),P=new Set(["pointer","move","text","grab","grabbing","cell","copy","alias","all-scroll","col-resize","context-menu","crosshair","e-resize","ew-resize","help","n-resize","ne-resize","nesw-resize","ns-resize","nw-resize","nwse-resize","row-resize","s-resize","se-resize","sw-resize","vertical-text","w-resize","zoom-in","zoom-out"]),G=new Set(["not-allowed","no-drop","wait","progress","initial","inherit"]);function W(le){return le.tagName.toLowerCase()==="html"?!1:!!(L!=null&&L.cursor&&P.has(L.cursor))}if(__name$1(W,"doesElementHaveInteractivePointer"),W(T))return!0;const J=new Set(["a","button","input","select","textarea","details","summary","label","option","optgroup","fieldset","legend"]),ne=new Set(["disabled","readonly"]);if(J.has(z)){if(L!=null&&L.cursor&&G.has(L.cursor))return!1;for(const le of ne)if(T.hasAttribute(le)||T.getAttribute(le)==="true"||T.getAttribute(le)==="")return!1;return!(T.disabled||T.readOnly||T.inert)}const ge=T.getAttribute("role"),ee=T.getAttribute("aria-role");if(T.getAttribute("contenteditable")==="true"||T.isContentEditable||T.classList&&(T.classList.contains("button")||T.classList.contains("dropdown-toggle")||T.getAttribute("data-index")||T.getAttribute("data-toggle")==="dropdown"||T.getAttribute("aria-haspopup")==="true"))return!0;const he=new Set(["button","menu","menubar","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);if(J.has(z)||ge&&he.has(ge)||ee&&he.has(ee))return!0;try{if(typeof getEventListeners=="function"){const ze=getEventListeners(T),xe=["click","mousedown","mouseup","dblclick"];for(const Ve of xe)if(ze[Ve]&&ze[Ve].length>0)return!0}const le=((pe=(K=T==null?void 0:T.ownerDocument)==null?void 0:K.defaultView)==null?void 0:pe.getEventListenersForNode)||window.getEventListenersForNode;if(typeof le=="function"){const ze=le(T),xe=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const Ve of xe)for(const ae of ze)if(ae.type===Ve)return!0}const we=["onclick","onmousedown","onmouseup","ondblclick"];for(const ze of we)if(T.hasAttribute(ze)||typeof T[ze]=="function")return!0}catch{}return!!O(T)}__name$1(q,"isInteractiveElement");function de(T){if(y===-1)return!0;const z=M(T);if(!z||z.length===0)return!1;let L=!1;for(const ne of z)if(ne.width>0&&ne.height>0&&!(ne.bottom<-y||ne.top>window.innerHeight+y||ne.right<-y||ne.left>window.innerWidth+y)){L=!0;break}if(!L)return!1;if(T.ownerDocument!==window.document)return!0;let G=Array.from(z).find(ne=>ne.width>0&&ne.height>0);if(!G)return!1;const W=T.getRootNode();if(W instanceof ShadowRoot){const ne=G.left+G.width/2,ge=G.top+G.height/2;try{const ee=W.elementFromPoint(ne,ge);if(!ee)return!1;let he=ee;for(;he&&he!==W;){if(he===T)return!0;he=he.parentElement}return!1}catch{return!0}}const ie=5;return[{x:G.left+G.width/2,y:G.top+G.height/2},{x:G.left+ie,y:G.top+ie},{x:G.right-ie,y:G.bottom-ie}].some(({x:ne,y:ge})=>{try{const ee=document.elementFromPoint(ne,ge);if(!ee)return!1;let he=ee;for(;he&&he!==document.documentElement;){if(he===T)return!0;he=he.parentElement}return!1}catch{return!0}})}__name$1(de,"isTopElement");function oe(T,z){if(z===-1)return!0;const L=T.getClientRects();if(!L||L.length===0){const P=I(T);return!P||P.width===0||P.height===0?!1:!(P.bottom<-z||P.top>window.innerHeight+z||P.right<-z||P.left>window.innerWidth+z)}for(const P of L)if(!(P.width===0||P.height===0)&&!(P.bottom<-z||P.top>window.innerHeight+z||P.right<-z||P.left>window.innerWidth+z))return!0;return!1}__name$1(oe,"isInExpandedViewport");function ce(T){if(!T||T.nodeType!==Node.ELEMENT_NODE)return!1;const z=T.tagName.toLowerCase();return new Set(["a","button","input","select","textarea","details","summary","label"]).has(z)?!0:T.hasAttribute("onclick")||T.hasAttribute("role")||T.hasAttribute("tabindex")||T.hasAttribute("aria-")||T.hasAttribute("data-action")||T.getAttribute("contenteditable")==="true"}__name$1(ce,"isInteractiveCandidate");const se=new Set(["a","button","input","select","textarea","summary","details","label","option"]),ye=new Set(["button","link","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);function ve(T){if(!T||T.nodeType!==Node.ELEMENT_NODE||!Y(T))return!1;const z=T.hasAttribute("role")||T.hasAttribute("tabindex")||T.hasAttribute("onclick")||typeof T.onclick=="function",L=/\b(btn|clickable|menu|item|entry|link)\b/i.test(T.className||""),P=!!T.closest('button,a,[role="button"],.menu,.dropdown,.list,.toolbar'),G=[...T.children].some(Y),W=T.parentElement&&T.parentElement.isSameNode(document.body);return(q(T)||z||L)&&G&&P&&!W}__name$1(ve,"isHeuristicallyInteractive");function Te(T){var P,G;if(!T||T.nodeType!==Node.ELEMENT_NODE)return!1;const z=T.tagName.toLowerCase(),L=T.getAttribute("role");if(z==="iframe"||se.has(z)||L&&ye.has(L)||T.isContentEditable||T.getAttribute("contenteditable")==="true"||T.hasAttribute("data-testid")||T.hasAttribute("data-cy")||T.hasAttribute("data-test")||T.hasAttribute("onclick")||typeof T.onclick=="function")return!0;try{const W=((G=(P=T==null?void 0:T.ownerDocument)==null?void 0:P.defaultView)==null?void 0:G.getEventListenersForNode)||window.getEventListenersForNode;if(typeof W=="function"){const J=W(T),ne=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const ge of ne)for(const ee of J)if(ee.type===ge)return!0}if(["onmousedown","onmouseup","onkeydown","onkeyup","onsubmit","onchange","oninput","onfocus","onblur"].some(J=>T.hasAttribute(J)))return!0}catch{}return!!ve(T)}__name$1(Te,"isElementDistinctInteraction");function Ee(T,z,L,P){if(!T.isInteractive)return!1;let G=!1;return P?Te(z)?G=!0:G=!1:G=!0,G&&(T.isInViewport=oe(z,y),(T.isInViewport||y===-1)&&(T.highlightIndex=x++,_))?(b>=0?b===T.highlightIndex&&$(z,T.highlightIndex,L):$(z,T.highlightIndex,L),!0):!1}__name$1(Ee,"handleHighlighting");function me(T,z=null,L=!1){var ie,J,ne,ge,ee,he,B;if(!T||T.id===N||T.nodeType!==Node.ELEMENT_NODE&&T.nodeType!==Node.TEXT_NODE||!T||T.id===N||((ie=T.dataset)==null?void 0:ie.browserUseIgnore)==="true"||((J=T.dataset)==null?void 0:J.pageAgentIgnore)==="true"||T.getAttribute&&T.getAttribute("aria-hidden")==="true")return null;if(T===document.body){const K={tagName:"body",attributes:{},xpath:"/body",children:[]};for(const le of T.childNodes){const we=me(le,z,!1);we&&K.children.push(we)}const pe=`${C.current++}`;return R[pe]=K,pe}if(T.nodeType!==Node.ELEMENT_NODE&&T.nodeType!==Node.TEXT_NODE)return null;if(T.nodeType===Node.TEXT_NODE){const K=(ne=T.textContent)==null?void 0:ne.trim();if(!K)return null;const pe=T.parentElement;if(!pe||pe.tagName.toLowerCase()==="script")return null;const le=`${C.current++}`;return R[le]={type:"TEXT_NODE",text:K,isVisible:F(T)},le}if(T.nodeType===Node.ELEMENT_NODE&&!j(T))return null;if(y!==-1&&!T.shadowRoot){const K=I(T),pe=A(T),le=pe&&(pe.position==="fixed"||pe.position==="sticky"),we=T.offsetWidth>0||T.offsetHeight>0;if(!K||!le&&!we&&(K.bottom<-y||K.top>window.innerHeight+y||K.right<-y||K.left>window.innerWidth+y))return null}const P={tagName:T.tagName.toLowerCase(),attributes:{},children:[]};if(ce(T)||T.tagName.toLowerCase()==="iframe"||T.tagName.toLowerCase()==="body"){const K=((ge=T.getAttributeNames)==null?void 0:ge.call(T))||[];for(const pe of K){const le=T.getAttribute(pe);P.attributes[pe]=le}T.tagName.toLowerCase()==="input"&&(T.type==="checkbox"||T.type==="radio")&&(P.attributes.checked=T.checked?"true":"false")}let G=!1;if(T.nodeType===Node.ELEMENT_NODE&&(P.isVisible=Y(T),P.isVisible)){P.isTopElement=de(T);const K=T.getAttribute("role"),pe=K==="menu"||K==="menubar"||K==="listbox";if((P.isTopElement||pe)&&(P.isInteractive=q(T),G=Ee(P,T,z,L),P.ref=T,P.isInteractive&&Object.keys(P.attributes).length===0)){const le=((ee=T.getAttributeNames)==null?void 0:ee.call(T))||[];for(const we of le){const ze=T.getAttribute(we);P.attributes[we]=ze}}}if(T.tagName){const K=T.tagName.toLowerCase();if(K==="iframe")try{const pe=T.contentDocument||((he=T.contentWindow)==null?void 0:he.document);if(pe)for(const le of pe.childNodes){const we=me(le,T,!1);we&&P.children.push(we)}}catch(pe){console.warn("Unable to access iframe:",pe)}else if(T.isContentEditable||T.getAttribute("contenteditable")==="true"||T.id==="tinymce"||T.classList.contains("mce-content-body")||K==="body"&&((B=T.getAttribute("data-id"))!=null&&B.startsWith("mce_")))for(const pe of T.childNodes){const le=me(pe,z,G);le&&P.children.push(le)}else{if(T.shadowRoot){P.shadowRoot=!0;for(const pe of T.shadowRoot.childNodes){const le=me(pe,z,G);le&&P.children.push(le)}}for(const pe of T.childNodes){const we=me(pe,z,G||L);we&&P.children.push(we)}}}if(P.tagName==="a"&&P.children.length===0&&!P.attributes.href){const K=I(T);if(!(K&&K.width>0&&K.height>0||T.offsetWidth>0||T.offsetHeight>0))return null}P.extra=E.get(T)||null;const W=`${C.current++}`;return R[W]=P,W}__name$1(me,"buildDomTree");const Se=me(document.body);return k.clearCache(),{rootId:Se,map:R}},"domTree"),DEFAULT_VIEWPORT_EXPANSION=-1;function resolveViewportExpansion(d){return d??DEFAULT_VIEWPORT_EXPANSION}__name$1(resolveViewportExpansion,"resolveViewportExpansion");const newElementsCache=new WeakMap;function getFlatTree(d){const p=resolveViewportExpansion(d.viewportExpansion),h=[];for(const b of d.interactiveBlacklist||[])typeof b=="function"?h.push(b()):h.push(b);const g=[];for(const b of d.interactiveWhitelist||[])typeof b=="function"?g.push(b()):g.push(b);const m=domTree({doHighlightElements:!0,debugMode:!0,focusHighlightIndex:-1,viewportExpansion:p,interactiveBlacklist:h,interactiveWhitelist:g,highlightOpacity:d.highlightOpacity??0,highlightLabelOpacity:d.highlightLabelOpacity??.1}),_=window.location.href;for(const b in m.map){const y=m.map[b];if(y.isInteractive&&y.ref){const w=y.ref;newElementsCache.has(w)||(newElementsCache.set(w,_),y.isNew=!0)}}return m}__name$1(getFlatTree,"getFlatTree");const globRegexCache=new Map;function globToRegex(d){let p=globRegexCache.get(d);if(!p){const h=d.replace(/[.+^${}()|[\]\\]/g,"\\$&");p=new RegExp(`^${h.replace(/\*/g,".*")}$`),globRegexCache.set(d,p)}return p}__name$1(globToRegex,"globToRegex");function matchAttributes(d,p){const h={};for(const g of p)if(g.includes("*")){const m=globToRegex(g);for(const _ of Object.keys(d))m.test(_)&&d[_].trim()&&(h[_]=d[_].trim())}else{const m=d[g];m&&m.trim()&&(h[g]=m.trim())}return h}__name$1(matchAttributes,"matchAttributes");function flatTreeToString(d,p){const h=["title","type","checked","name","role","value","placeholder","data-date-format","alt","aria-label","aria-expanded","data-state","aria-checked","id","for","target","aria-haspopup","aria-controls","aria-owns","contenteditable"],g=[...p||[],...h],m=__name$1((S,k)=>S.length>k?S.substring(0,k)+"...":S,"capTextLength"),_=__name$1(S=>{const k=d.map[S];if(!k)return null;if(k.type==="TEXT_NODE"){const I=k;return{type:"text",text:I.text,isVisible:I.isVisible,parent:null,children:[]}}else{const I=k,A=[];if(I.children)for(const M of I.children){const R=_(M);R&&(R.parent=null,A.push(R))}return{type:"element",tagName:I.tagName,attributes:I.attributes??{},isVisible:I.isVisible??!1,isInteractive:I.isInteractive??!1,isTopElement:I.isTopElement??!1,isNew:I.isNew??!1,highlightIndex:I.highlightIndex,parent:null,children:A,extra:I.extra??{}}}},"buildTreeNode"),b=__name$1((S,k=null)=>{S.parent=k;for(const I of S.children)b(I,S)},"setParentReferences"),y=_(d.rootId);if(!y)return"";b(y);const w=__name$1(S=>{let k=S.parent;for(;k;){if(k.type==="element"&&k.highlightIndex!==void 0)return!0;k=k.parent}return!1},"hasParentWithHighlightIndex"),x=__name$1((S,k,I)=>{var R,C,N,$;let A=k;const M=" ".repeat(k);if(S.type==="element"){if(S.highlightIndex!==void 0){A+=1;const O=getAllTextTillNextClickableElement(S);let F="";if(g.length>0&&S.attributes){const q=matchAttributes(S.attributes,g),de=Object.keys(q);if(de.length>1){const ce=new Set,se={};for(const ye of de){const ve=q[ye];ve.length>5&&(ve in se?ce.add(ye):se[ve]=ye)}for(const ye of ce)delete q[ye]}q.role===S.tagName&&delete q.role;const oe=["aria-label","placeholder","title"];for(const ce of oe)q[ce]&&q[ce].toLowerCase().trim()===O.toLowerCase().trim()&&delete q[ce];Object.keys(q).length>0&&(F=Object.entries(q).map(([ce,se])=>`${ce}=${m(se,20)}`).join(" "))}const j=S.isNew?`*[${S.highlightIndex}]`:`[${S.highlightIndex}]`;let Y=`${M}${j}<${S.tagName??""}`;if(F&&(Y+=` ${F}`),S.extra&&S.extra.scrollable){let q="";(R=S.extra.scrollData)!=null&&R.left&&(q+=`left=${S.extra.scrollData.left}, `),(C=S.extra.scrollData)!=null&&C.top&&(q+=`top=${S.extra.scrollData.top}, `),(N=S.extra.scrollData)!=null&&N.right&&(q+=`right=${S.extra.scrollData.right}, `),($=S.extra.scrollData)!=null&&$.bottom&&(q+=`bottom=${S.extra.scrollData.bottom}`),Y+=` data-scrollable="${q}"`}if(O){const q=O.trim();F||(Y+=" "),Y+=`>${q}`}else F||(Y+=" ");Y+=" />",I.push(Y)}for(const O of S.children)x(O,A,I)}else if(S.type==="text"){if(w(S))return;S.parent&&S.parent.type==="element"&&S.parent.isVisible&&S.parent.isTopElement&&I.push(`${M}${S.text??""}`)}},"processNode"),E=[];return x(y,0,E),E.join(`
|
|
404
|
+
`)}__name$1(flatTreeToString,"flatTreeToString");const getAllTextTillNextClickableElement=__name$1((d,p=-1)=>{const h=[],g=__name$1((m,_)=>{if(!(p!==-1&&_>p)&&!(m.type==="element"&&m!==d&&m.highlightIndex!==void 0)){if(m.type==="text"&&m.text)h.push(m.text);else if(m.type==="element")for(const b of m.children)g(b,_+1)}},"collectText");return g(d,0),h.join(`
|
|
405
|
+
`).trim()},"getAllTextTillNextClickableElement");function getSelectorMap(d){const p=new Map,h=Object.keys(d.map);for(const g of h){const m=d.map[g];m.isInteractive&&typeof m.highlightIndex=="number"&&p.set(m.highlightIndex,m)}return p}__name$1(getSelectorMap,"getSelectorMap");function getElementTextMap(d){const p=d.split(`
|
|
406
|
+
`).map(g=>g.trim()).filter(g=>g.length>0),h=new Map;for(const g of p){const _=/^\[(\d+)\]<[^>]+>([^<]*)/.exec(g);if(_){const b=parseInt(_[1],10);h.set(b,g)}}return h}__name$1(getElementTextMap,"getElementTextMap");function cleanUpHighlights(){const d=window._highlightCleanupFunctions||[];for(const p of d)typeof p=="function"&&p();window._highlightCleanupFunctions=[]}__name$1(cleanUpHighlights,"cleanUpHighlights"),window.addEventListener("popstate",()=>{cleanUpHighlights()}),window.addEventListener("hashchange",()=>{cleanUpHighlights()}),window.addEventListener("beforeunload",()=>{cleanUpHighlights()});const navigation=window.navigation;if(navigation&&typeof navigation.addEventListener=="function")navigation.addEventListener("navigate",()=>{cleanUpHighlights()});else{let d=window.location.href;setInterval(()=>{window.location.href!==d&&(d=window.location.href,cleanUpHighlights())},500)}function getPageInfo(){const d=window.innerWidth,p=window.innerHeight,h=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth||0),g=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight||0),m=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft||0,_=window.scrollY||window.pageYOffset||document.documentElement.scrollTop||0,b=Math.max(0,g-(window.innerHeight+_)),y=Math.max(0,h-(window.innerWidth+m));return{viewport_width:d,viewport_height:p,page_width:h,page_height:g,scroll_x:m,scroll_y:_,pixels_above:_,pixels_below:b,pages_above:p>0?_/p:0,pages_below:p>0?b/p:0,total_pages:p>0?g/p:0,current_page_position:_/Math.max(1,g-p),pixels_left:m,pixels_right:y}}__name$1(getPageInfo,"getPageInfo");function patchReact(d){const p=document.querySelectorAll('[data-reactroot], [data-reactid], [data-react-checksum], #root, #app, [id^="root-"], [id^="app-"], #adex-wrapper, #adex-root');for(const h of p)h.setAttribute("data-page-agent-not-interactive","true")}__name$1(patchReact,"patchReact");const _PageController=class extends EventTarget{constructor(p={}){super();ke(this,"config");ke(this,"flatTree",null);ke(this,"selectorMap",new Map);ke(this,"elementTextMap",new Map);ke(this,"simplifiedHTML","<EMPTY>");ke(this,"lastTimeUpdate",0);ke(this,"isIndexed",!1);ke(this,"mask",null);ke(this,"maskReady",null);this.config=p,patchReact(),p.enableMask&&this.initMask()}initMask(){this.maskReady===null&&(this.maskReady=(async()=>{const{SimulatorMask:p}=await Promise.resolve().then(()=>SimulatorMaskBHnQ6LmL);this.mask=new p})())}async getCurrentUrl(){return window.location.href}async getLastUpdateTime(){return this.lastTimeUpdate}async getBrowserState(){const p=window.location.href,h=document.title,g=getPageInfo(),m=resolveViewportExpansion(this.config.viewportExpansion);await this.updateTree();const _=this.simplifiedHTML,b=`Current Page: [${h}](${p})`,y=`Page info: ${g.viewport_width}x${g.viewport_height}px viewport, ${g.page_width}x${g.page_height}px total page size, ${g.pages_above.toFixed(1)} pages above, ${g.pages_below.toFixed(1)} pages below, ${g.total_pages.toFixed(1)} total pages, at ${(g.current_page_position*100).toFixed(0)}% of page`,w=m===-1?"Interactive elements from top layer of the current page (full page):":"Interactive elements from top layer of the current page inside the viewport:",E=g.pixels_above>4&&m!==-1?`... ${g.pixels_above} pixels above (${g.pages_above.toFixed(1)} pages) - scroll to see more ...`:"[Start of page]",S=`${b}
|
|
407
|
+
${y}
|
|
408
|
+
|
|
409
|
+
${w}
|
|
410
|
+
|
|
411
|
+
${E}`,I=g.pixels_below>4&&m!==-1?`... ${g.pixels_below} pixels below (${g.pages_below.toFixed(1)} pages) - scroll to see more ...`:"[End of page]";return{url:p,title:h,header:S,content:_,footer:I}}async updateTree(){this.dispatchEvent(new Event("beforeUpdate")),this.lastTimeUpdate=Date.now(),this.mask&&(this.mask.wrapper.style.pointerEvents="none"),cleanUpHighlights();const p=[...this.config.interactiveBlacklist||[],...document.querySelectorAll("[data-page-agent-not-interactive]").values()];return this.flatTree=getFlatTree({...this.config,interactiveBlacklist:p}),this.simplifiedHTML=flatTreeToString(this.flatTree,this.config.includeAttributes),this.selectorMap.clear(),this.selectorMap=getSelectorMap(this.flatTree),this.elementTextMap.clear(),this.elementTextMap=getElementTextMap(this.simplifiedHTML),this.isIndexed=!0,this.mask&&(this.mask.wrapper.style.pointerEvents="auto"),this.dispatchEvent(new Event("afterUpdate")),this.simplifiedHTML}async cleanUpHighlights(){cleanUpHighlights()}assertIndexed(){if(!this.isIndexed)throw new Error("DOM tree not indexed yet. Can not perform actions on elements.")}async clickElement(p){try{this.assertIndexed();const h=getElementByIndex(this.selectorMap,p),g=this.elementTextMap.get(p);return await clickElement(h),h instanceof HTMLAnchorElement&&h.target==="_blank"?{success:!0,message:`✅ Clicked element (${g??p}). ⚠️ Link opened in a new tab.`}:{success:!0,message:`✅ Clicked element (${g??p}).`}}catch(h){return{success:!1,message:`❌ Failed to click element: ${h}`}}}async inputText(p,h){try{this.assertIndexed();const g=getElementByIndex(this.selectorMap,p),m=this.elementTextMap.get(p);return await inputTextElement(g,h),{success:!0,message:`✅ Input text (${h}) into element (${m??p}).`}}catch(g){return{success:!1,message:`❌ Failed to input text: ${g}`}}}async selectOption(p,h){try{this.assertIndexed();const g=getElementByIndex(this.selectorMap,p),m=this.elementTextMap.get(p);return await selectOptionElement(g,h),{success:!0,message:`✅ Selected option (${h}) in element (${m??p}).`}}catch(g){return{success:!1,message:`❌ Failed to select option: ${g}`}}}async scroll(p){try{const{down:h,numPages:g,pixels:m,index:_}=p;this.assertIndexed();const b=m??g*(h?1:-1)*window.innerHeight,y=_!==void 0?getElementByIndex(this.selectorMap,_):null;return{success:!0,message:await scrollVertically(h,b,y)}}catch(h){return{success:!1,message:`❌ Failed to scroll: ${h}`}}}async scrollHorizontally(p){try{const{right:h,pixels:g,index:m}=p;this.assertIndexed();const _=g*(h?1:-1),b=m!==void 0?getElementByIndex(this.selectorMap,m):null;return{success:!0,message:await scrollHorizontally(h,_,b)}}catch(h){return{success:!1,message:`❌ Failed to scroll horizontally: ${h}`}}}async executeJavascript(script){try{const asyncFunction=eval(`(async () => { ${script} })`),result=await asyncFunction();return{success:!0,message:`✅ Executed JavaScript. Result: ${result}`}}catch(p){return{success:!1,message:`❌ Error executing JavaScript: ${p}`}}}async showMask(){var p;await this.maskReady,(p=this.mask)==null||p.show()}async hideMask(){var p;await this.maskReady,(p=this.mask)==null||p.hide()}dispose(){var p;cleanUpHighlights(),this.flatTree=null,this.selectorMap.clear(),this.elementTextMap.clear(),this.simplifiedHTML="<EMPTY>",this.isIndexed=!1,(p=this.mask)==null||p.dispose(),this.mask=null}};__name$1(_PageController,"PageController");let PageController=_PageController;const APPROVAL_REQUIRED_TOOLS=new Set(["click_element_by_index","input_text","select_dropdown_option","execute_javascript"]);let nextMsgId=0;function msgId(){return`msg-${++nextMsgId}`}function describeAction(d,p){const h=p;switch(d){case"click_element_by_index":return`Click element [${h.index}]`;case"input_text":return`Type "${truncate(String(h.text||""),40)}" into element [${h.index}]`;case"select_dropdown_option":return`Select "${truncate(String(h.text||""),40)}" in dropdown [${h.index}]`;case"execute_javascript":return`Run script: ${truncate(String(h.script||""),60)}`;default:return`${d}(${summarizeInput(p)})`}}class AgentBridge{constructor(p){this.agent=null,this.controller=null,this.messages=[],this.currentStep=0,this.disposed=!1,this.stopped=!1,this.agentConfig=null,this.notesCache=null,this.autoApprove=!1,this.pendingApprovals=new Map,this.config=p}async loadNotes(){if(this.notesCache!==null)return this.notesCache;if(!this.config.endpoint||!this.config.project)return this.notesCache=[],this.notesCache;const p=await fetchNotes(this.config.endpoint,this.config.project);return this.notesCache=p.notes||[],this.notesCache}buildSystemPrompt(p){const h=[];this.config.appContext&&h.push(`[Developer context]
|
|
412
|
+
${this.config.appContext}`);const g=p.filter(m=>m.route===null);return g.length>0&&h.push(`[Site-wide notes]
|
|
413
|
+
${g.map(m=>m.content).join(`
|
|
414
|
+
|
|
415
|
+
`)}`),h.length>0?h.join(`
|
|
416
|
+
|
|
417
|
+
`):void 0}getRouteNotes(p){if(!(!this.notesCache||this.notesCache.length===0))try{const h=new URL(p).pathname,g=this.notesCache.filter(m=>m.route!==null&&m.route===h);return g.length===0?void 0:`[Page notes: ${h}]
|
|
418
|
+
${g.map(m=>m.content).join(`
|
|
419
|
+
|
|
420
|
+
`)}`}catch{return}}invalidateNotesCache(){this.notesCache=null}init(){if(this.agent)return;this.controller=new PageController({});const p=this;this.agentConfig={pageController:this.controller,baseURL:this.config.proxyUrl,apiKey:"proxy",model:this.config.model||"claude-sonnet-4-6",maxSteps:this.config.maxSteps||20,customFetch:this.createProxyFetch(),instructions:{getPageInstructions:h=>p.getRouteNotes(h)},customTools:{...this.buildRegisteredCustomTools(),click_element_by_index:{description:"Click element by index",inputSchema:object({index:int().min(0)}),async execute(h){return await p.requestApproval("click_element_by_index",h)?(await this.pageController.clickElement(h.index)).message:"⏭️ Action skipped by user. Re-plan with a different approach."}},input_text:{description:"Click and type text into an interactive input element",inputSchema:object({index:int().min(0),text:string()}),async execute(h){return await p.requestApproval("input_text",h)?(await this.pageController.inputText(h.index,h.text)).message:"⏭️ Action skipped by user. Re-plan with a different approach."}},select_dropdown_option:{description:"Select dropdown option for interactive element index by the text of the option you want to select",inputSchema:object({index:int().min(0),text:string()}),async execute(h){return await p.requestApproval("select_dropdown_option",h)?(await this.pageController.selectOption(h.index,h.text)).message:"⏭️ Action skipped by user. Re-plan with a different approach."}},execute_javascript:{description:"Execute JavaScript code on the current page. Supports async/await syntax. Use with caution!",inputSchema:object({script:string()}),async execute(h){return await p.requestApproval("execute_javascript",h)?(await this.pageController.executeJavascript(h.script)).message:"⏭️ Action skipped by user. Re-plan with a different approach."}}}},this.agent=new PageAgentCore(this.agentConfig),this.agent.addEventListener("activity",(h=>{this.handleActivity(h.detail)})),this.agent.addEventListener("statuschange",(()=>{this.syncState()}))}async requestApproval(p,h){if(this.autoApprove)return!0;const g=msgId(),m=describeAction(p,h);return this.addMessage({id:g,role:"approval",text:m,tool:p,step:this.currentStep,timestamp:Date.now(),approvalStatus:"pending"}),this.config.onStateChange("awaiting_approval",this.currentStep),new Promise(_=>{this.pendingApprovals.set(g,_)})}approve(p){const h=this.pendingApprovals.get(p);h&&(this.pendingApprovals.delete(p),this.updateMessageApproval(p,"approved"),this.config.onStateChange("acting",this.currentStep),h(!0))}skip(p){const h=this.pendingApprovals.get(p);h&&(this.pendingApprovals.delete(p),this.updateMessageApproval(p,"skipped"),this.config.onStateChange("thinking",this.currentStep),h(!1))}updateMessageApproval(p,h){this.messages=this.messages.map(g=>g.id===p?{...g,approvalStatus:h}:g),this.config.onMessagesChange(this.messages)}buildRegisteredCustomTools(){const p=this.getRegisteredTools(),h={};for(const g of p){const m=JSON.stringify(g.parameters);h[g.name]={description:`${g.description}
|
|
421
|
+
Parameters: ${m}`,inputSchema:record(string(),any()),async execute(_){try{const b=await g.handler(_);return typeof b=="string"?b:JSON.stringify(b)}catch(b){return`Error: ${b instanceof Error?b.message:String(b)}`}}}}return h}createProxyFetch(){const p=this.config.proxyUrl;return async(h,g)=>{const _=(typeof h=="string"?h:h instanceof URL?h.toString():h.url).match(/\/v1\/(.*)/),b=_?_[1]:"chat/completions",y=p.endsWith("/")?p+b:p+"/"+b,w=new AbortController,x=setTimeout(()=>w.abort(),6e4);let E;try{E=await globalThis.fetch(y,{...g,signal:w.signal,headers:{...Object.fromEntries(new Headers(g==null?void 0:g.headers).entries()),"Content-Type":"application/json"}})}catch(S){throw clearTimeout(x),S instanceof DOMException&&S.name==="AbortError"?new Error("Agent proxy request timed out. The server may be overloaded — try again."):new Error(`Cannot reach agent proxy at ${p}. Check that your server is running.`)}if(clearTimeout(x),!E.ok){const S=E.status;let k="";try{k=await E.text()}catch{}throw S===401||S===403?new Error("Agent proxy returned 401 Unauthorized. Check that the server has a valid API key configured."):S===429?new Error("Agent proxy rate limited (429). Too many requests — wait a moment and try again."):S>=500?new Error(`Agent proxy server error (${S}). ${k?k.slice(0,200):"Check server logs for details."}`):new Error(`Agent proxy error (${S}): ${k?k.slice(0,200):"Unknown error"}`)}return E}}handleActivity(p){if(!this.stopped)switch(p.type){case"thinking":this.config.onStateChange("thinking",this.currentStep);break;case"executing":this.currentStep++,APPROVAL_REQUIRED_TOOLS.has(p.tool)||(this.config.onStateChange("acting",this.currentStep),this.addMessage({id:msgId(),role:"action",text:`${p.tool}(${summarizeInput(p.input)})`,tool:p.tool,step:this.currentStep,timestamp:Date.now()}));break;case"executed":this.addMessage({id:msgId(),role:"result",text:truncate(p.output,200),tool:p.tool,duration:p.duration,step:this.currentStep,timestamp:Date.now()});break;case"retrying":this.addMessage({id:msgId(),role:"thinking",text:`Retrying (${p.attempt}/${p.maxAttempts})...`,timestamp:Date.now()});break;case"error":this.addMessage({id:msgId(),role:"error",text:p.message,timestamp:Date.now()}),this.config.onStateChange("error",this.currentStep);break}}syncState(){if(!this.agent)return;switch(this.agent.status){case"idle":case"completed":this.config.onStateChange("idle",this.currentStep);break;case"running":break;case"error":this.config.onStateChange("error",this.currentStep);break}}addMessage(p){this.messages=[...this.messages,p],this.config.onMessagesChange(this.messages)}async execute(p){if(this.disposed||(this.init(),!this.agent||!this.agentConfig))return;const h=await this.loadNotes();this.agentConfig.instructions.system=this.buildSystemPrompt(h),this.addMessage({id:msgId(),role:"user",text:p,timestamp:Date.now()}),this.currentStep=0,this.stopped=!1,this.config.onStateChange("thinking",0);try{const g=await this.agent.execute(p);if(this.stopped)return;g.success?this.addMessage({id:msgId(),role:"result",text:g.data||"Task completed successfully.",timestamp:Date.now()}):this.addMessage({id:msgId(),role:"error",text:g.data||"Task failed.",timestamp:Date.now()})}catch(g){if(this.stopped)return;if(g instanceof DOMException&&g.name==="AbortError"||g instanceof Error&&g.message==="AbortError"){this.addMessage({id:msgId(),role:"info",text:"Stopped by user.",timestamp:Date.now()}),this.config.onStateChange("idle",this.currentStep);return}this.addMessage({id:msgId(),role:"error",text:g instanceof Error?g.message:"Unknown error",timestamp:Date.now()}),this.config.onStateChange("error",this.currentStep);return}this.config.onStateChange("idle",this.currentStep)}stop(){this.stopped=!0;for(const[p,h]of this.pendingApprovals)this.updateMessageApproval(p,"skipped"),h(!1);this.pendingApprovals.clear(),this.agent&&this.agent.status==="running"&&this.agent.stop(),this.addMessage({id:msgId(),role:"info",text:"Stopped by user.",timestamp:Date.now()}),this.config.onStateChange("idle",this.currentStep)}getMessages(){return this.messages}getMaxSteps(){return this.config.maxSteps||20}getRegisteredTools(){return this.config.registeredTools||[]}dispose(){this.disposed=!0;for(const[,p]of this.pendingApprovals)p(!1);this.pendingApprovals.clear(),this.agent&&(this.agent.dispose(),this.agent=null),this.controller&&(this.controller.dispose(),this.controller=null)}}function summarizeInput(d){if(d==null)return"";if(typeof d=="string")return truncate(d,60);if(typeof d=="number"||typeof d=="boolean")return String(d);try{const p=JSON.stringify(d);return truncate(p,80)}catch{return"..."}}function truncate(d,p){return d.length<=p?d:d.slice(0,p-1)+"…"}var root_1$1=from_html('<div class="drag-handle svelte-nv4d5v"><svg width="10" height="16" viewBox="0 0 10 16" fill="none" class="svelte-nv4d5v"><circle cx="3" cy="3" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="7" cy="3" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="3" cy="8" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="7" cy="8" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="3" cy="13" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="7" cy="13" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle></svg></div>'),root_2$1=from_html('<span class="tab-badge svelte-nv4d5v"> </span>'),root_3=from_html('<button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><rect x="4" y="4" width="16" height="12" rx="2" stroke="currentColor" stroke-width="1.8" class="svelte-nv4d5v"></rect><circle cx="9" cy="10" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><circle cx="15" cy="10" r="1.5" fill="currentColor" class="svelte-nv4d5v"></circle><path d="M8 20h8M12 16v4" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> Agent</button>'),root_5=from_html('<option class="svelte-nv4d5v"> </option>'),root_6=from_html('<option class="svelte-nv4d5v"> </option>'),root_7=from_html('<span class="capture-spinner svelte-nv4d5v"></span> Capturing...',1),root_9=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_8=from_svg('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><rect x="3" y="3" width="18" height="18" rx="2" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></rect><circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></circle></svg> Screenshot<!>',1),root_12=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_11=from_html("Pick<!>",1),root_13=from_html('<span class="recording-pulse svelte-nv4d5v"></span> Stop',1),root_15=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_14=from_svg('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><circle cx="12" cy="12" r="8" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></circle><circle cx="12" cy="12" r="4" fill="currentColor" class="svelte-nv4d5v"></circle></svg> Record<!>',1),root_16=from_html('<span class="tool-count svelte-nv4d5v"> </span>'),root_19=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path><path d="M14 2v6h6" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path></svg>'),root_20=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M4 4h16v16H4z" stroke="currentColor" stroke-width="2" stroke-linejoin="round" class="svelte-nv4d5v"></path><path d="M7 15V9l3 4 3-4v6M17 12h-3v3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"></path></svg>'),root_21=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path><path d="M14 2v6h6" stroke="currentColor" stroke-width="2" class="svelte-nv4d5v"></path></svg>'),root_18=from_html('<div class="attachment-item svelte-nv4d5v"><span class="attachment-icon svelte-nv4d5v"><!></span> <span class="attachment-name svelte-nv4d5v"> </span> <span class="attachment-size svelte-nv4d5v"> </span> <button class="attachment-remove svelte-nv4d5v" aria-label="Remove">×</button></div>'),root_17=from_html('<div class="attachments-list svelte-nv4d5v"></div>'),root_23=from_html('<div class="element-item svelte-nv4d5v"><span class="element-tag svelte-nv4d5v"> </span> <span class="element-text svelte-nv4d5v"> </span> <button class="element-remove svelte-nv4d5v" aria-label="Remove">×</button></div>'),root_22=from_html('<div class="elements-list svelte-nv4d5v"></div>'),root_24=from_html('<div class="attach-summary svelte-nv4d5v"> </div>'),root_25=from_html('<span class="spinner svelte-nv4d5v"></span> Submitting...',1),root_4=from_html('<form class="panel-body svelte-nv4d5v"><div class="field svelte-nv4d5v"><label for="jat-fb-title" class="svelte-nv4d5v">Title <span class="req svelte-nv4d5v">*</span></label> <input id="jat-fb-title" type="text" placeholder="Brief description" required="" class="svelte-nv4d5v"/></div> <div class="field svelte-nv4d5v"><label for="jat-fb-desc" class="svelte-nv4d5v">Description</label> <textarea id="jat-fb-desc" placeholder="Steps to reproduce, expected vs actual..." rows="3" class="svelte-nv4d5v"></textarea></div> <div class="field-row svelte-nv4d5v"><div class="field half svelte-nv4d5v"><label for="jat-fb-type" class="svelte-nv4d5v">Type</label> <select id="jat-fb-type" class="svelte-nv4d5v"></select></div> <div class="field half svelte-nv4d5v"><label for="jat-fb-priority" class="svelte-nv4d5v">Priority</label> <select id="jat-fb-priority" class="svelte-nv4d5v"></select></div></div> <div class="tools svelte-nv4d5v"><div class="tool-buttons svelte-nv4d5v"><button type="button" class="tool-btn svelte-nv4d5v"><!></button> <button type="button" class="tool-btn svelte-nv4d5v"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M7 2L7 22M17 2V22M2 7H22M2 17H22" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> <!></button> <button type="button"><!></button> <button type="button" class="tool-btn svelte-nv4d5v"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"></path></svg> Upload<!></button> <input type="file" multiple="" accept="image/*,video/*,.md,.txt,.pdf,.doc,.docx,.csv,.json,.xml,.html,.log" style="display:none" class="svelte-nv4d5v"/></div> <!></div> <!> <!> <!> <!> <div class="actions svelte-nv4d5v"><span class="panel-version svelte-nv4d5v"> </span> <button type="button" class="cancel-btn svelte-nv4d5v">Cancel</button> <button type="submit" class="submit-btn svelte-nv4d5v"><!></button></div></form>'),root_27=from_html('<div class="requests-wrapper svelte-nv4d5v"><!></div>'),root_28=from_html('<div class="agent-wrapper svelte-nv4d5v"><!></div>'),root_29=from_html('<div class="notes-wrapper svelte-nv4d5v"><!></div>'),root_31=from_html('<button class="voice-btn voice-btn-start svelte-nv4d5v"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="28" height="28" class="svelte-nv4d5v"><path d="M12 2a3 3 0 0 1 3 3v7a3 3 0 0 1-6 0V5a3 3 0 0 1 3-3Z" class="svelte-nv4d5v"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2M12 19v3M8 22h8" class="svelte-nv4d5v"></path></svg> Start Recording</button>'),root_32=from_html('<button class="voice-btn voice-btn-stop svelte-nv4d5v"><svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24" class="svelte-nv4d5v"><rect x="4" y="4" width="16" height="16" rx="2" class="svelte-nv4d5v"></rect></svg> Stop Recording</button> <div class="voice-recording-indicator svelte-nv4d5v"><span class="voice-dot svelte-nv4d5v"></span> <span class="voice-dot svelte-nv4d5v"></span> <span class="voice-dot svelte-nv4d5v"></span></div>',1),root_33=from_html('<div class="voice-processing svelte-nv4d5v"><span class="voice-spinner svelte-nv4d5v"></span> <span class="voice-status-text svelte-nv4d5v"> </span></div>'),root_34=from_html('<div class="voice-done svelte-nv4d5v"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="32" height="32" class="svelte-nv4d5v"><path d="M20 6 9 17l-5-5" class="svelte-nv4d5v"></path></svg></div> <p class="voice-status-text voice-done-text svelte-nv4d5v"> </p> <button class="voice-reset svelte-nv4d5v">Record another</button>',1),root_35=from_html('<div class="voice-error-icon svelte-nv4d5v">!</div> <p class="voice-status-text voice-error-text svelte-nv4d5v"> </p> <button class="voice-reset svelte-nv4d5v">Try again</button>',1),root_36=from_html('<p class="voice-footer svelte-nv4d5v">Transcription uses <strong class="svelte-nv4d5v">voxtype</strong> + <strong class="svelte-nv4d5v">ollama</strong> locally — no cloud needed.</p>'),root_30=from_html('<div class="voice-wrapper svelte-nv4d5v"><div class="voice-body svelte-nv4d5v"><p class="voice-hint svelte-nv4d5v">Record a voice note — JAT will transcribe it and create tasks automatically.</p> <div class="voice-mic-row svelte-nv4d5v"><!></div> <!></div></div>'),root$1=from_html('<div class="panel svelte-nv4d5v"><div class="panel-header svelte-nv4d5v"><!> <div class="tabs svelte-nv4d5v"><button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> New</button> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"></path></svg> History <!></button> <!> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" class="svelte-nv4d5v"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="1.8" class="svelte-nv4d5v"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" class="svelte-nv4d5v"></path></svg> Notes</button> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="svelte-nv4d5v"><path d="M12 2a3 3 0 0 1 3 3v7a3 3 0 0 1-6 0V5a3 3 0 0 1 3-3Z" class="svelte-nv4d5v"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2M12 19v3M8 22h8" class="svelte-nv4d5v"></path></svg> Voice</button></div> <button class="close-btn svelte-nv4d5v" aria-label="Close">×</button></div> <!> <!> <!> <!> <!> <!></div> <!>',1);const $$css$1={hash:"svelte-nv4d5v",code:`.panel.svelte-nv4d5v {width:380px;max-height:702px;background:#111827;border:1px solid #374151;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.4);font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;color:#e5e7eb;display:flex;flex-direction:column;overflow:hidden;position:relative;}.panel-header.svelte-nv4d5v {display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 0;border-bottom:1px solid #1f2937;}.drag-handle.svelte-nv4d5v {display:flex;align-items:center;justify-content:center;width:24px;padding:0 2px 0 8px;color:#6b7280;cursor:grab;flex-shrink:0;user-select:none;transition:color 0.15s;}.drag-handle.svelte-nv4d5v:hover {color:#d1d5db;}.drag-handle.svelte-nv4d5v:active {cursor:grabbing;color:#e5e7eb;}.tabs.svelte-nv4d5v {display:flex;flex:1;}.tab.svelte-nv4d5v {display:flex;align-items:center;gap:5px;padding:11px 14px;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:color 0.15s, border-color 0.15s;white-space:nowrap;}.tab.svelte-nv4d5v:hover {color:#d1d5db;}.tab.active.svelte-nv4d5v {color:#f9fafb;border-bottom-color:#3b82f6;}.tab-badge.svelte-nv4d5v {display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f59e0b;color:#111827;font-size:10px;font-weight:700;line-height:1;}.close-btn.svelte-nv4d5v {background:none;border:none;color:#9ca3af;font-size:20px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;}.close-btn.svelte-nv4d5v:hover {color:#e5e7eb;}.panel-body.svelte-nv4d5v {padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;}.field.svelte-nv4d5v {display:flex;flex-direction:column;gap:4px;}.field-row.svelte-nv4d5v {display:flex;gap:10px;}.half.svelte-nv4d5v {flex:1;}label.svelte-nv4d5v {font-weight:600;font-size:12px;color:#9ca3af;}.req.svelte-nv4d5v {color:#ef4444;}input.svelte-nv4d5v, textarea.svelte-nv4d5v, select.svelte-nv4d5v {padding:7px 10px;border:1px solid #374151;border-radius:5px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#1f2937;transition:border-color 0.15s;}input.svelte-nv4d5v:focus, textarea.svelte-nv4d5v:focus, select.svelte-nv4d5v:focus {outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59, 130, 246, 0.2);}input.svelte-nv4d5v:disabled, textarea.svelte-nv4d5v:disabled, select.svelte-nv4d5v:disabled {opacity:0.5;cursor:not-allowed;}textarea.svelte-nv4d5v {resize:vertical;min-height:48px;}select.svelte-nv4d5v {appearance:auto;}.tools.svelte-nv4d5v {display:flex;flex-direction:column;gap:6px;}.tool-buttons.svelte-nv4d5v {display:flex;gap:6px;}.tool-buttons.svelte-nv4d5v .tool-btn:where(.svelte-nv4d5v) {flex:1;}.tool-btn.svelte-nv4d5v {display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#1f2937;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:12px;cursor:pointer;font-family:inherit;transition:background 0.15s;}.tool-btn.svelte-nv4d5v:hover:not(:disabled) {background:#374151;}.tool-btn.svelte-nv4d5v:disabled {opacity:0.5;cursor:not-allowed;}.capture-spinner.svelte-nv4d5v {display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,0.2);border-top-color:white;border-radius:50%;
|
|
371
422
|
animation: svelte-nv4d5v-capture-spin 0.6s linear infinite;}
|
|
372
423
|
@keyframes svelte-nv4d5v-capture-spin {
|
|
373
424
|
to { transform: rotate(360deg); }
|
|
425
|
+
}.tool-btn.recording-active.svelte-nv4d5v {background:#7f1d1d;border-color:#dc2626;color:#fca5a5;}.tool-btn.recording-active.svelte-nv4d5v:hover:not(:disabled) {background:#991b1b;}.recording-pulse.svelte-nv4d5v {display:inline-block;width:10px;height:10px;background:#ef4444;border-radius:50%;
|
|
426
|
+
animation: svelte-nv4d5v-recording-pulse 1s ease-in-out infinite;}
|
|
427
|
+
@keyframes svelte-nv4d5v-recording-pulse {
|
|
428
|
+
0%, 100% { opacity: 1; transform: scale(1); }
|
|
429
|
+
50% { opacity: 0.5; transform: scale(0.8); }
|
|
374
430
|
}.tool-count.svelte-nv4d5v {display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#3b82f6;color:white;font-size:10px;font-weight:700;margin-left:2px;}.elements-list.svelte-nv4d5v {display:flex;flex-direction:column;gap:4px;}.element-item.svelte-nv4d5v {display:flex;align-items:center;gap:6px;padding:5px 8px;background:#1e3a5f;border:1px solid #2563eb40;border-radius:5px;font-size:11px;color:#93c5fd;}.element-tag.svelte-nv4d5v {font-family:monospace;font-weight:600;color:#60a5fa;flex-shrink:0;}.element-text.svelte-nv4d5v {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ca3af;}.element-remove.svelte-nv4d5v {background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:0 2px;line-height:1;flex-shrink:0;}.element-remove.svelte-nv4d5v:hover {color:#ef4444;}.attachments-list.svelte-nv4d5v {display:flex;flex-direction:column;gap:4px;}.attachment-item.svelte-nv4d5v {display:flex;align-items:center;gap:6px;padding:5px 8px;background:#1e2d3f;border:1px solid #374151;border-radius:5px;font-size:11px;color:#d1d5db;}.attachment-icon.svelte-nv4d5v {display:flex;align-items:center;color:#9ca3af;flex-shrink:0;}.attachment-name.svelte-nv4d5v {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.attachment-size.svelte-nv4d5v {color:#6b7280;font-size:10px;flex-shrink:0;}.attachment-remove.svelte-nv4d5v {background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:0 2px;line-height:1;flex-shrink:0;}.attachment-remove.svelte-nv4d5v:hover {color:#ef4444;}.attach-summary.svelte-nv4d5v {font-size:11px;color:#6b7280;text-align:center;}.actions.svelte-nv4d5v {display:flex;gap:8px;justify-content:flex-end;padding-top:4px;}.cancel-btn.svelte-nv4d5v {padding:7px 14px;background:#1f2937;border:1px solid #374151;border-radius:5px;color:#d1d5db;font-size:13px;cursor:pointer;font-family:inherit;}.cancel-btn.svelte-nv4d5v:hover:not(:disabled) {background:#374151;}.cancel-btn.svelte-nv4d5v:disabled {opacity:0.5;cursor:not-allowed;}.submit-btn.svelte-nv4d5v {padding:7px 16px;background:#3b82f6;border:none;border-radius:5px;color:white;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit;transition:background 0.15s;}.submit-btn.svelte-nv4d5v:hover:not(:disabled) {background:#2563eb;}.submit-btn.svelte-nv4d5v:disabled {opacity:0.5;cursor:not-allowed;}.spinner.svelte-nv4d5v {display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,0.2);border-top-color:white;border-radius:50%;
|
|
375
431
|
animation: svelte-nv4d5v-spin 0.6s linear infinite;}
|
|
376
432
|
@keyframes svelte-nv4d5v-spin {
|
|
@@ -385,24 +441,24 @@ Parameters: ${o}`,inputSchema:record(string(),any()),async execute(s){try{const
|
|
|
385
441
|
}.voice-recording-indicator.svelte-nv4d5v {display:flex;align-items:center;gap:4px;height:24px;}.voice-dot.svelte-nv4d5v {width:4px;height:16px;background:#ef4444;border-radius:2px;
|
|
386
442
|
animation: svelte-nv4d5v-voice-pulse 0.8s ease-in-out infinite;}.voice-dot.svelte-nv4d5v:nth-child(2) {animation-delay:0.15s;}.voice-dot.svelte-nv4d5v:nth-child(3) {animation-delay:0.3s;}.voice-processing.svelte-nv4d5v {display:flex;align-items:center;gap:0.5rem;color:#9ca3af;font-size:13px;}
|
|
387
443
|
@keyframes svelte-nv4d5v-voice-spin { to { transform: rotate(360deg); } }.voice-spinner.svelte-nv4d5v {width:16px;height:16px;border:2px solid #374151;border-top-color:#60a5fa;border-radius:50%;
|
|
388
|
-
animation: svelte-nv4d5v-voice-spin 0.7s linear infinite;flex-shrink:0;}.voice-status-text.svelte-nv4d5v {font-size:12px;color:#9ca3af;margin:0;}.voice-done.svelte-nv4d5v {color:#22c55e;}.voice-done-text.svelte-nv4d5v {color:#22c55e !important;font-weight:500;}.voice-error-icon.svelte-nv4d5v {width:36px;height:36px;border-radius:50%;background:#991b1b;color:white;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;}.voice-error-text.svelte-nv4d5v {color:#f87171 !important;}.voice-reset.svelte-nv4d5v {font-size:12px;color:#60a5fa;background:transparent;border:none;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0;}.voice-footer.svelte-nv4d5v {font-size:11px;color:#4b5563;margin:0;line-height:1.5;}.voice-footer.svelte-nv4d5v strong:where(.svelte-nv4d5v) {color:#6b7280;}`};function FeedbackPanel(e,t){push(t,!0),append_styles(e,$$css$1);const n="3.0.3";let r=prop(t,"endpoint",7),o=prop(t,"project",7),s=prop(t,"isOpen",7,!1),i=prop(t,"userId",7,""),a=prop(t,"userEmail",7,""),l=prop(t,"userName",7,""),c=prop(t,"userRole",7,""),u=prop(t,"orgId",7,""),d=prop(t,"orgName",7,""),f=prop(t,"onclose",7),v=prop(t,"ongrip",7),_=prop(t,"agentProxy",7,""),y=prop(t,"agentModel",7,""),h=prop(t,"agentContext",7,""),p=prop(t,"registeredTools",23,()=>[]),b=state("new"),m=state(!1),$=state(!1),k=state(!1),N=state(!1),O=state("idle"),F=state(""),ee=state(null),J=[];async function fe(){var x;try{const D=await navigator.mediaDevices.getUserMedia({audio:!0}),ie=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":"audio/ogg",le=new MediaRecorder(D,{mimeType:ie});J=[],le.ondataavailable=Ze=>{Ze.data.size>0&&J.push(Ze.data)},le.onstop=()=>{D.getTracks().forEach(Ze=>Ze.stop()),Ee(new Blob(J,{type:ie}),ie)},le.start(500),set(ee,le,!0),set(k,!0),set(O,"recording"),set(F,"Recording…")}catch(D){set(O,"error"),set(F,(x=D.message)!=null&&x.includes("Permission")?"Microphone permission denied":"Could not start recording",!0)}}function ae(){get(ee)&&get(ee).state!=="inactive"&&get(ee).stop(),set(k,!1),set(O,"processing"),set(F,"Sending to JAT…")}async function Ee(x,D){set(N,!0);try{const ie=D.includes("webm")?"webm":D.includes("ogg")?"ogg":"audio",le=new FormData;le.append("file",x,`voice-note.${ie}`);const Ze=`${r()}/api/tasks/voice`,Se=await fetch(Ze,{method:"POST",body:le});if(Se.ok)set(O,"done"),set(F,"Done! Tasks will appear in your Voice Inbox shortly.");else{const He=await Se.json().catch(()=>({}));set(O,"error"),set(F,He.message||`Error ${Se.status}`,!0)}}catch(ie){set(O,"error"),set(F,ie.message||"Failed to send recording",!0)}finally{set(N,!1),J=[]}}function _e(){get(ee)&&get(ee).state!=="inactive"&&get(ee).stop(),set(k,!1),set(N,!1),set(O,"idle"),set(F,""),J=[],set(ee,null)}let ze=state(proxy([])),we=state("idle"),xe=state(0),ke=state(!1),g=state(null);function E(){return get(g)||set(g,new AgentBridge({proxyUrl:_(),model:y()||void 0,maxSteps:20,appContext:h()||void 0,endpoint:r(),project:o(),registeredTools:p(),onMessagesChange:x=>{set(ze,x,!0)},onStateChange:(x,D)=>{set(we,x,!0),set(xe,D,!0)}}),!0),get(g)}function S(){var x;(x=get(g))==null||x.invalidateNotesCache()}user_effect(()=>{get(b)==="agent"&&!get(m)&&set(m,!0)}),user_effect(()=>{get(b)==="notes"&&!get($)&&set($,!0)});function I(x){E().execute(x)}function P(){var x;(x=get(g))==null||x.stop()}function z(x){var D;(D=get(g))==null||D.approve(x)}function U(x){var D;(D=get(g))==null||D.skip(x)}function oe(x){set(ke,x,!0),get(g)&&(get(g).autoApprove=x)}onDestroy(()=>{var x;(x=get(g))==null||x.dispose()});let B=state(proxy([])),te=state(!1),K=state(""),se=user_derived(()=>get(B).filter(x=>x.status==="completed").length);async function C(){set(te,!0),set(K,"");const x=await fetchReports(r());set(B,x.reports,!0),x.error&&set(K,x.error,!0),set(te,!1)}user_effect(()=>{r()&&C()});let L=state(""),V=state(""),Q=state("bug"),ue=state("medium"),H=state(proxy([])),W=state(proxy([])),me=state(proxy([])),Ie=state(proxy([])),A=state(void 0);const w=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml"];function R(){var x;(x=get(A))==null||x.click()}async function M(x){const D=x.target,ie=D.files;if(!(!ie||ie.length===0)){for(const le of ie)try{const Ze=await Y(le);w.includes(le.type)?(set(H,[...get(H),Ze],!0),Ve(`Image added: ${le.name}`,"success")):(set(W,[...get(W),{name:le.name,type:le.type||"application/octet-stream",data:Ze,size:le.size}],!0),Ve(`File attached: ${le.name}`,"success"))}catch{Ve(`Failed to read: ${le.name}`,"error")}D.value=""}}function Y(x){return new Promise((D,ie)=>{const le=new FileReader;le.onload=()=>D(le.result),le.onerror=()=>ie(le.error),le.readAsDataURL(x)})}function Z(x){set(W,get(W).filter((D,ie)=>ie!==x),!0)}function q(x){return x<1024?`${x}B`:x<1024*1024?`${(x/1024).toFixed(1)}KB`:`${(x/(1024*1024)).toFixed(1)}MB`}let G=state(!1),$e=state(!1),ne=state(!1),ce=state(null),ye=state(""),j=state(void 0),Fe=!1;user_effect(()=>{s()&&!Fe&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var x;(x=get(j))==null||x.focus()})}),get(b)==="new"&&setTimeout(()=>{captureViewportQuick().then(x=>{get(H).length===0?set(H,[x],!0):set(H,[x,...get(H).slice(1)],!0)}).catch(()=>{})},300)),Fe=s()});let ft=state(""),Ne=state("success"),Be=state(!1);function Ve(x,D){set(ft,x,!0),set(Ne,D,!0),set(Be,!0),setTimeout(()=>{set(Be,!1)},3e3)}async function St(){set($e,!0);try{const x=await captureViewport();set(ye,x,!0),set(ce,get(H).length,!0)}catch(x){console.error("[jat-feedback] Screenshot failed:",x),Ve("Screenshot failed: "+(x instanceof Error?x.message:"unknown error"),"error")}finally{set($e,!1)}}function kn(x){set(H,get(H).filter((D,ie)=>ie!==x),!0)}function Te(x){set(ye,get(H)[x],!0),set(ce,x,!0)}function Oe(x){get(ce)!==null&&(get(ce)>=get(H).length?(set(H,[...get(H),x],!0),Ve(`Screenshot captured (${get(H).length})`,"success")):(set(H,get(H).map((D,ie)=>ie===get(ce)?x:D),!0),Ve("Screenshot updated","success"))),set(ce,null),set(ye,"")}function pt(){get(ce)!==null&&get(ce)>=get(H).length&&(set(H,[...get(H),get(ye)],!0),Ve(`Screenshot captured (${get(H).length})`,"success")),set(ce,null),set(ye,"")}function Wt(){set(ne,!0),startElementPicker(x=>{set(me,[...get(me),x],!0),set(ne,!1),Ve(`Element captured: <${x.tagName.toLowerCase()}>`,"success")})}function Ct(){set(Ie,getCapturedLogs(),!0)}async function jn(x){if(x.preventDefault(),!get(L).trim())return;set(G,!0),Ct();const D={};(i()||a()||l()||c())&&(D.reporter={},i()&&(D.reporter.userId=i()),a()&&(D.reporter.email=a()),l()&&(D.reporter.name=l()),c()&&(D.reporter.role=c())),(u()||d())&&(D.organization={},u()&&(D.organization.id=u()),d()&&(D.organization.name=d()));const ie={title:get(L).trim(),description:get(V).trim(),type:get(Q),priority:get(ue),project:o()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:get(Ie).length>0?get(Ie):null,selected_elements:get(me).length>0?get(me):null,screenshots:get(H).length>0?get(H):null,attachments:get(W).length>0?get(W):null,metadata:Object.keys(D).length>0?D:null};try{const le=await submitReport(r(),ie);le.ok?(Ve(`Report submitted (${le.id})`,"success"),rn(),setTimeout(()=>{C(),set(b,"requests")},1200)):(enqueue(r(),ie),Ve("Queued for retry (endpoint unreachable)","error"))}catch{enqueue(r(),ie),Ve("Queued for retry (endpoint unreachable)","error")}finally{set(G,!1)}}function rn(){set(L,""),set(V,""),set(Q,"bug"),set(ue,"medium"),set(H,[],!0),set(W,[],!0),set(me,[],!0),set(Ie,[],!0)}user_effect(()=>{Ct()});function zt(x){x.stopPropagation()}const gn=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],En=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function Gt(){return get(H).length+get(W).length+get(me).length}var Un={get endpoint(){return r()},set endpoint(x){r(x),flushSync()},get project(){return o()},set project(x){o(x),flushSync()},get isOpen(){return s()},set isOpen(x=!1){s(x),flushSync()},get userId(){return i()},set userId(x=""){i(x),flushSync()},get userEmail(){return a()},set userEmail(x=""){a(x),flushSync()},get userName(){return l()},set userName(x=""){l(x),flushSync()},get userRole(){return c()},set userRole(x=""){c(x),flushSync()},get orgId(){return u()},set orgId(x=""){u(x),flushSync()},get orgName(){return d()},set orgName(x=""){d(x),flushSync()},get onclose(){return f()},set onclose(x){f(x),flushSync()},get ongrip(){return v()},set ongrip(x){v(x),flushSync()},get agentProxy(){return _()},set agentProxy(x=""){_(x),flushSync()},get agentModel(){return y()},set agentModel(x=""){y(x),flushSync()},get agentContext(){return h()},set agentContext(x=""){h(x),flushSync()},get registeredTools(){return p()},set registeredTools(x=[]){p(x),flushSync()}},$n=root$1(),Yt=first_child($n),Tn=child(Yt),Sn=child(Tn);{var Bn=x=>{var D=root_1$1();delegated("mousedown",D,function(...ie){var le;(le=v())==null||le.apply(this,ie)}),append(x,D)};if_block(Sn,x=>{v()&&x(Bn)})}var vn=sibling(Sn,2),Cn=child(vn);let zn;var jt=sibling(Cn,2);let Mn;var Vn=sibling(child(jt),2);{var Hn=x=>{var D=root_2$1(),ie=child(D,!0);reset(D),template_effect(()=>set_text(ie,get(se))),append(x,D)};if_block(Vn,x=>{get(se)>0&&x(Hn)})}reset(jt);var Pn=sibling(jt,2);{var qn=x=>{var D=root_3();let ie;template_effect(()=>ie=set_class(D,1,"tab svelte-nv4d5v",null,ie,{active:get(b)==="agent"})),delegated("click",D,()=>{set(b,"agent"),set(m,!0)}),append(x,D)};if_block(Pn,x=>{_()&&x(qn)})}var ve=sibling(Pn,2);let be;var De=sibling(ve,2);let nt;reset(vn);var At=sibling(vn,2);reset(Tn);var at=sibling(Tn,2);{var Ke=x=>{var D=root_4(),ie=child(D),le=sibling(child(ie),2);remove_input_defaults(le),bind_this(le,X=>set(j,X),()=>get(j)),reset(ie);var Ze=sibling(ie,2),Se=sibling(child(Ze),2);remove_textarea_child(Se),reset(Ze);var He=sibling(Ze,2),lt=child(He),Je=sibling(child(lt),2);each(Je,21,()=>gn,index,(X,pe)=>{var je=root_5(),Ge=child(je,!0);reset(je);var Ye={};template_effect(()=>{set_text(Ge,get(pe).label),Ye!==(Ye=get(pe).value)&&(je.value=(je.__value=get(pe).value)??"")}),append(X,je)}),reset(Je),reset(lt);var _t=sibling(lt,2),Qe=sibling(child(_t),2);each(Qe,21,()=>En,index,(X,pe)=>{var je=root_6(),Ge=child(je,!0);reset(je);var Ye={};template_effect(()=>{set_text(Ge,get(pe).label),Ye!==(Ye=get(pe).value)&&(je.value=(je.__value=get(pe).value)??"")}),append(X,je)}),reset(Qe),reset(_t),reset(He);var ct=sibling(He,2),Ce=child(ct),he=child(Ce),Ae=child(he);{var ot=X=>{var pe=root_7();next(),append(X,pe)},et=X=>{var pe=root_8(),je=sibling(first_child(pe),2);{var Ge=Ye=>{var st=root_9(),yt=child(st,!0);reset(st),template_effect(()=>set_text(yt,get(H).length)),append(Ye,st)};if_block(je,Ye=>{get(H).length>0&&Ye(Ge)})}append(X,pe)};if_block(Ae,X=>{get($e)?X(ot):X(et,!1)})}reset(he);var tt=sibling(he,2),bt=sibling(child(tt),2);{var Rt=X=>{var pe=text("Click an element...");append(X,pe)},Vt=X=>{var pe=root_11(),je=sibling(first_child(pe));{var Ge=Ye=>{var st=root_12(),yt=child(st,!0);reset(st),template_effect(()=>set_text(yt,get(me).length)),append(Ye,st)};if_block(je,Ye=>{get(me).length>0&&Ye(Ge)})}append(X,pe)};if_block(bt,X=>{get(ne)?X(Rt):X(Vt,!1)})}reset(tt);var It=sibling(tt,2),An=sibling(child(It),2);{var Ht=X=>{var pe=root_13(),je=child(pe,!0);reset(pe),template_effect(()=>set_text(je,get(W).length)),append(X,pe)};if_block(An,X=>{get(W).length>0&&X(Ht)})}reset(It);var Nt=sibling(It,2);bind_this(Nt,X=>set(A,X),()=>get(A)),reset(Ce);var Ot=sibling(Ce,2);ScreenshotPreview(Ot,{get screenshots(){return get(H)},get capturing(){return get($e)},oncapture:St,onremove:kn,onedit:Te}),reset(ct);var an=sibling(ct,2);{var _r=X=>{var pe=root_14();each(pe,21,()=>get(W),index,(je,Ge,Ye)=>{var st=root_15(),yt=child(st),Xn=child(yt);{var Rn=wt=>{var Nn=root_16();append(wt,Nn)},Kn=user_derived(()=>get(Ge).type.includes("pdf")),Jn=wt=>{var Nn=root_17();append(wt,Nn)},ln=user_derived(()=>get(Ge).type.includes("markdown")||get(Ge).name.endsWith(".md")),In=wt=>{var Nn=root_18();append(wt,Nn)};if_block(Xn,wt=>{get(Kn)?wt(Rn):get(ln)?wt(Jn,1):wt(In,!1)})}reset(yt);var Qn=sibling(yt,2),$r=child(Qn,!0);reset(Qn);var er=sibling(Qn,2),Tr=child(er,!0);reset(er);var Sr=sibling(er,2);reset(st),template_effect(wt=>{set_text($r,get(Ge).name),set_text(Tr,wt)},[()=>q(get(Ge).size)]),delegated("click",Sr,()=>Z(Ye)),append(je,st)}),reset(pe),append(X,pe)};if_block(an,X=>{get(W).length>0&&X(_r)})}var cr=sibling(an,2);{var mr=X=>{var pe=root_19();each(pe,21,()=>get(me),index,(je,Ge,Ye)=>{var st=root_20(),yt=child(st),Xn=child(yt);reset(yt);var Rn=sibling(yt,2),Kn=child(Rn,!0);reset(Rn);var Jn=sibling(Rn,2);reset(st),template_effect((ln,In)=>{set_text(Xn,`<${ln??""}>`),set_text(Kn,In)},[()=>get(Ge).tagName.toLowerCase(),()=>{var ln;return((ln=get(Ge).textContent)==null?void 0:ln.substring(0,40))||get(Ge).selector}]),delegated("click",Jn,()=>{set(me,get(me).filter((ln,In)=>In!==Ye),!0)}),append(je,st)}),reset(pe),append(X,pe)};if_block(cr,X=>{get(me).length>0&&X(mr)})}var ur=sibling(cr,2);ConsoleLogList(ur,{get logs(){return get(Ie)}});var dr=sibling(ur,2);{var br=X=>{var pe=root_21(),je=child(pe);reset(pe),template_effect((Ge,Ye)=>set_text(je,`${Ge??""} attachment${Ye??""} will be included`),[Gt,()=>Gt()>1?"s":""]),append(X,pe)},yr=user_derived(()=>Gt()>0);if_block(dr,X=>{get(yr)&&X(br)})}var fr=sibling(dr,2),Wn=child(fr),wr=child(Wn);reset(Wn);var Gn=sibling(Wn,2),Yn=sibling(Gn,2),xr=child(Yn);{var kr=X=>{var pe=root_22();next(),append(X,pe)},Er=X=>{var pe=text("Submit");append(X,pe)};if_block(xr,X=>{get(G)?X(kr):X(Er,!1)})}reset(Yn),reset(fr),reset(D),template_effect(X=>{le.disabled=get(G),Se.disabled=get(G),Je.disabled=get(G),Qe.disabled=get(G),he.disabled=get($e),tt.disabled=get(ne),It.disabled=get(G),set_text(wr,`v${n}`),Gn.disabled=get(G),Yn.disabled=X},[()=>get(G)||!get(L).trim()]),event("submit",D,jn),bind_value(le,()=>get(L),X=>set(L,X)),bind_value(Se,()=>get(V),X=>set(V,X)),bind_select_value(Je,()=>get(Q),X=>set(Q,X)),bind_select_value(Qe,()=>get(ue),X=>set(ue,X)),delegated("click",he,St),delegated("click",tt,Wt),delegated("click",It,R),delegated("change",Nt,M),delegated("click",Gn,function(...X){var pe;(pe=f())==null||pe.apply(this,X)}),transition(3,D,()=>slide,()=>({duration:200})),append(x,D)};if_block(at,x=>{get(b)==="new"&&x(Ke)})}var Ue=sibling(at,2);{var rt=x=>{var D=root_24(),ie=child(D);RequestList(ie,{get endpoint(){return r()},get loading(){return get(te)},get error(){return get(K)},onreload:C,get reports(){return get(B)},set reports(le){set(B,le,!0)}}),reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(x,D)};if_block(Ue,x=>{get(b)==="requests"&&x(rt)})}var Le=sibling(Ue,2);{var vt=x=>{var D=root_25(),ie=child(D);{let le=user_derived(()=>{var Ze;return((Ze=get(g))==null?void 0:Ze.getMaxSteps())??20});AgentPanel(ie,{get messages(){return get(ze)},get agentState(){return get(we)},get currentStep(){return get(xe)},get maxSteps(){return get(le)},get autoApprove(){return get(ke)},onsend:I,onstop:P,onapprove:z,onskip:U,onautoapprovechange:oe})}reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(x,D)};if_block(Le,x=>{get(b)==="agent"&&get(m)&&x(vt)})}var Xt=sibling(Le,2);{var Pe=x=>{var D=root_26(),ie=child(D);NotesPanel(ie,{get endpoint(){return r()},get project(){return o()},onnoteschanged:S}),reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(x,D)};if_block(Xt,x=>{get(b)==="notes"&&get($)&&x(Pe)})}var Ut=sibling(Xt,2);{var on=x=>{var D=root_27(),ie=child(D),le=sibling(child(ie),2),Ze=child(le);{var Se=Ce=>{var he=root_28();delegated("click",he,fe),append(Ce,he)},He=Ce=>{var he=root_29(),Ae=first_child(he);next(2),delegated("click",Ae,ae),append(Ce,he)},lt=Ce=>{var he=root_30(),Ae=sibling(child(he),2),ot=child(Ae,!0);reset(Ae),reset(he),template_effect(()=>set_text(ot,get(F))),append(Ce,he)},Je=Ce=>{var he=root_31(),Ae=sibling(first_child(he),2),ot=child(Ae,!0);reset(Ae);var et=sibling(Ae,2);template_effect(()=>set_text(ot,get(F))),delegated("click",et,_e),append(Ce,he)},_t=Ce=>{var he=root_32(),Ae=sibling(first_child(he),2),ot=child(Ae,!0);reset(Ae);var et=sibling(Ae,2);template_effect(()=>set_text(ot,get(F))),delegated("click",et,_e),append(Ce,he)};if_block(Ze,Ce=>{get(O)==="idle"?Ce(Se):get(O)==="recording"?Ce(He,1):get(O)==="processing"?Ce(lt,2):get(O)==="done"?Ce(Je,3):get(O)==="error"&&Ce(_t,4)})}reset(le);var Qe=sibling(le,2);{var ct=Ce=>{var he=root_33();append(Ce,he)};if_block(Qe,Ce=>{get(O)==="idle"&&Ce(ct)})}reset(ie),reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(x,D)};if_block(Ut,x=>{get(b)==="voice"&&x(on)})}var sn=sibling(Ut,2);StatusToast(sn,{get message(){return get(ft)},get type(){return get(Ne)},get visible(){return get(Be)}}),reset(Yt);var Bt=sibling(Yt,2);{var _n=x=>{AnnotationEditor(x,{get imageDataUrl(){return get(ye)},onsave:Oe,oncancel:pt})};if_block(Bt,x=>{get(ce)!==null&&x(_n)})}return template_effect(()=>{zn=set_class(Cn,1,"tab svelte-nv4d5v",null,zn,{active:get(b)==="new"}),Mn=set_class(jt,1,"tab svelte-nv4d5v",null,Mn,{active:get(b)==="requests"}),be=set_class(ve,1,"tab svelte-nv4d5v",null,be,{active:get(b)==="notes"}),nt=set_class(De,1,"tab svelte-nv4d5v",null,nt,{active:get(b)==="voice"})}),delegated("keydown",Yt,zt),delegated("keyup",Yt,zt),event("keypress",Yt,zt),delegated("click",Cn,()=>set(b,"new")),delegated("click",jt,()=>set(b,"requests")),delegated("click",ve,()=>{set(b,"notes"),set($,!0)}),delegated("click",De,()=>set(b,"voice")),delegated("click",At,function(...x){var D;(D=f())==null||D.apply(this,x)}),append(e,$n),pop(Un)}delegate(["keydown","keyup","mousedown","click","change"]),create_custom_element(FeedbackPanel,{endpoint:{},project:{},isOpen:{},userId:{},userEmail:{},userName:{},userRole:{},orgId:{},orgName:{},onclose:{},ongrip:{},agentProxy:{},agentModel:{},agentContext:{},registeredTools:{}},[],[],{mode:"open"});var root_1=from_html("<div><!></div>"),root_2=from_html('<div class="jat-feedback-panel svelte-qpyrvv"><div class="no-endpoint svelte-qpyrvv"><p class="svelte-qpyrvv">No endpoint configured.</p> <p class="svelte-qpyrvv">Add the <code class="svelte-qpyrvv">endpoint</code> attribute:</p> <code class="example svelte-qpyrvv"><jat-feedback endpoint="http://localhost:3333"></code></div></div>'),root=from_html('<div class="jat-feedback-root svelte-qpyrvv" data-page-agent-not-interactive=""><!> <!></div>');const $$css={hash:"svelte-qpyrvv",code:`.jat-feedback-root.svelte-qpyrvv {position:fixed;z-index:2147483647;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.jat-feedback-panel.svelte-qpyrvv {position:absolute;
|
|
444
|
+
animation: svelte-nv4d5v-voice-spin 0.7s linear infinite;flex-shrink:0;}.voice-status-text.svelte-nv4d5v {font-size:12px;color:#9ca3af;margin:0;}.voice-done.svelte-nv4d5v {color:#22c55e;}.voice-done-text.svelte-nv4d5v {color:#22c55e !important;font-weight:500;}.voice-error-icon.svelte-nv4d5v {width:36px;height:36px;border-radius:50%;background:#991b1b;color:white;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;}.voice-error-text.svelte-nv4d5v {color:#f87171 !important;}.voice-reset.svelte-nv4d5v {font-size:12px;color:#60a5fa;background:transparent;border:none;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0;}.voice-footer.svelte-nv4d5v {font-size:11px;color:#4b5563;margin:0;line-height:1.5;}.voice-footer.svelte-nv4d5v strong:where(.svelte-nv4d5v) {color:#6b7280;}`};function FeedbackPanel(d,p){push(p,!0),append_styles(d,$$css$1);const h="3.2.0";let g=prop(p,"endpoint",7),m=prop(p,"project",7),_=prop(p,"isOpen",7,!1),b=prop(p,"userId",7,""),y=prop(p,"userEmail",7,""),w=prop(p,"userName",7,""),x=prop(p,"userRole",7,""),E=prop(p,"orgId",7,""),S=prop(p,"orgName",7,""),k=prop(p,"onclose",7),I=prop(p,"ongrip",7),A=prop(p,"agentProxy",7,""),M=prop(p,"agentModel",7,""),R=prop(p,"agentContext",7,""),C=prop(p,"registeredTools",23,()=>[]),N=state("new"),$=state(!1),O=state(!1),F=state(!1),j=state(proxy([]));function Y(){if(get(F)){const Z=stopRecording();set(j,Z,!0),set(F,!1),Fe(`Session recorded (${Z.length} events)`,"success")}else startRecording(),set(j,[],!0),set(F,!0),Fe("Recording session...","info")}let q=state(!1),de=state(!1),oe=state("idle"),ce=state(""),se=state(null),ye=[];async function ve(){var Z;try{const re=await navigator.mediaDevices.getUserMedia({audio:!0}),Ie=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":"audio/ogg",Ae=new MediaRecorder(re,{mimeType:Ie});ye=[],Ae.ondataavailable=Ne=>{Ne.data.size>0&&ye.push(Ne.data)},Ae.onstop=()=>{re.getTracks().forEach(Ne=>Ne.stop()),Ee(new Blob(ye,{type:Ie}),Ie)},Ae.start(500),set(se,Ae,!0),set(q,!0),set(oe,"recording"),set(ce,"Recording…")}catch(re){set(oe,"error"),set(ce,(Z=re.message)!=null&&Z.includes("Permission")?"Microphone permission denied":"Could not start recording",!0)}}function Te(){get(se)&&get(se).state!=="inactive"&&get(se).stop(),set(q,!1),set(oe,"processing"),set(ce,"Sending to JAT…")}async function Ee(Z,re){set(de,!0);try{const Ie=re.includes("webm")?"webm":re.includes("ogg")?"ogg":"audio",Ae=new FormData;Ae.append("file",Z,`voice-note.${Ie}`);const Ne=`${g()}/api/tasks/voice`,Ge=await fetch(Ne,{method:"POST",body:Ae});if(Ge.ok)set(oe,"done"),set(ce,"Done! Tasks will appear in your Voice Inbox shortly.");else{const gt=await Ge.json().catch(()=>({}));set(oe,"error"),set(ce,gt.message||`Error ${Ge.status}`,!0)}}catch(Ie){set(oe,"error"),set(ce,Ie.message||"Failed to send recording",!0)}finally{set(de,!1),ye=[]}}function me(){get(se)&&get(se).state!=="inactive"&&get(se).stop(),set(q,!1),set(de,!1),set(oe,"idle"),set(ce,""),ye=[],set(se,null)}let Se=state(proxy([])),T=state("idle"),z=state(0),L=state(!1),P=state(null);function G(){return get(P)||set(P,new AgentBridge({proxyUrl:A(),model:M()||void 0,maxSteps:20,appContext:R()||void 0,endpoint:g(),project:m(),registeredTools:C(),onMessagesChange:Z=>{set(Se,Z,!0)},onStateChange:(Z,re)=>{set(T,Z,!0),set(z,re,!0)}}),!0),get(P)}function W(){var Z;(Z=get(P))==null||Z.invalidateNotesCache()}user_effect(()=>{get(N)==="agent"&&!get($)&&set($,!0)}),user_effect(()=>{get(N)==="notes"&&!get(O)&&set(O,!0)});function ie(Z){G().execute(Z)}function J(){var Z;(Z=get(P))==null||Z.stop()}function ne(Z){var re;(re=get(P))==null||re.approve(Z)}function ge(Z){var re;(re=get(P))==null||re.skip(Z)}function ee(Z){set(L,Z,!0),get(P)&&(get(P).autoApprove=Z)}onDestroy(()=>{var Z;(Z=get(P))==null||Z.dispose()});let he=state(proxy([])),B=state(!1),K=state(""),pe=user_derived(()=>get(he).filter(Z=>Z.status==="completed").length);async function le(){set(B,!0),set(K,"");const Z=await fetchReports(g());set(he,Z.reports,!0),Z.error&&set(K,Z.error,!0),set(B,!1)}user_effect(()=>{g()&&le()});let we=state(""),ze=state(""),xe=state("bug"),Ve=state("medium"),ae=state(proxy([])),V=state(proxy([])),D=state(proxy([])),H=state(proxy([])),X=state(proxy([])),fe=state(void 0);const Q=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml"];function ue(){var Z;(Z=get(fe))==null||Z.click()}async function be(Z){const re=Z.target,Ie=re.files;if(!(!Ie||Ie.length===0)){for(const Ae of Ie)try{const Ne=await Ue(Ae);Q.includes(Ae.type)?(set(ae,[...get(ae),Ne],!0),Fe(`Image added: ${Ae.name}`,"success")):(set(V,[...get(V),{name:Ae.name,type:Ae.type||"application/octet-stream",data:Ne,size:Ae.size}],!0),Fe(`File attached: ${Ae.name}`,"success"))}catch{Fe(`Failed to read: ${Ae.name}`,"error")}re.value=""}}function Ue(Z){return new Promise((re,Ie)=>{const Ae=new FileReader;Ae.onload=()=>re(Ae.result),Ae.onerror=()=>Ie(Ae.error),Ae.readAsDataURL(Z)})}function Ce(Z){set(V,get(V).filter((re,Ie)=>Ie!==Z),!0)}function Ze(Z){return Z<1024?`${Z}B`:Z<1024*1024?`${(Z/1024).toFixed(1)}KB`:`${(Z/(1024*1024)).toFixed(1)}MB`}let Le=state(!1),te=state(!1),Xe=state(!1),ot=state(null),We=state(""),st=state(void 0),Nt=!1;user_effect(()=>{_()&&!Nt&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var Z;(Z=get(st))==null||Z.focus()})}),get(N)==="new"&&setTimeout(()=>{captureViewportQuick().then(Z=>{get(ae).length===0?set(ae,[Z],!0):set(ae,[Z,...get(ae).slice(1)],!0)}).catch(()=>{})},300)),Nt=_()});let Bt=state(""),Tn=state("success"),je=state(!1);function Fe(Z,re){set(Bt,Z,!0),set(Tn,re,!0),set(je,!0),setTimeout(()=>{set(je,!1)},3e3)}async function wt(){set(te,!0);try{const Z=await captureViewport();set(We,Z,!0),set(ot,get(ae).length,!0)}catch(Z){console.error("[jat-feedback] Screenshot failed:",Z),Fe("Screenshot failed: "+(Z instanceof Error?Z.message:"unknown error"),"error")}finally{set(te,!1)}}function sn(Z){set(ae,get(ae).filter((re,Ie)=>Ie!==Z),!0)}function Jt(Z){set(We,get(ae)[Z],!0),set(ot,Z,!0)}function ar(Z){get(ot)!==null&&(get(ot)>=get(ae).length?(set(ae,[...get(ae),Z],!0),Fe(`Screenshot captured (${get(ae).length})`,"success")):(set(ae,get(ae).map((re,Ie)=>Ie===get(ot)?Z:re),!0),Fe("Screenshot updated","success"))),set(ot,null),set(We,"")}function mn(){get(ot)!==null&&get(ot)>=get(ae).length&&(set(ae,[...get(ae),get(We)],!0),Fe(`Screenshot captured (${get(ae).length})`,"success")),set(ot,null),set(We,"")}function an(){set(Xe,!0),startElementPicker(Z=>{set(D,[...get(D),Z],!0),set(Xe,!1),Fe(`Element captured: <${Z.tagName.toLowerCase()}>`,"success")})}function vn(){set(H,getCapturedLogs(),!0),set(X,getCapturedRequests(),!0)}async function Zn(Z){if(Z.preventDefault(),!get(we).trim())return;set(Le,!0),vn();const re={};(b()||y()||w()||x())&&(re.reporter={},b()&&(re.reporter.userId=b()),y()&&(re.reporter.email=y()),w()&&(re.reporter.name=w()),x()&&(re.reporter.role=x())),(E()||S())&&(re.organization={},E()&&(re.organization.id=E()),S()&&(re.organization.name=S()));let Ie;if(get(j).length>0){const Ne=crypto.randomUUID(),Ge=await uploadRecording(g(),get(j),Ne);Ge.ok&&Ge.recording_url&&(Ie=Ge.recording_url)}const Ae={title:get(we).trim(),description:get(ze).trim(),type:get(xe),priority:get(Ve),project:m()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:get(H).length>0?get(H):null,network_requests:get(X).length>0?get(X):null,selected_elements:get(D).length>0?get(D):null,recording_events:null,screenshots:get(ae).length>0?get(ae):null,attachments:get(V).length>0?get(V):null,metadata:Object.keys(re).length>0?re:null,recording_url:Ie||null};try{const Ne=await submitReport(g(),Ae);Ne.ok?(Fe(`Report submitted (${Ne.id})`,"success"),An(),setTimeout(()=>{le(),set(N,"requests")},1200)):(enqueue(g(),Ae),Fe("Queued for retry (endpoint unreachable)","error"))}catch{enqueue(g(),Ae),Fe("Queued for retry (endpoint unreachable)","error")}finally{set(Le,!1)}}function An(){set(we,""),set(ze,""),set(xe,"bug"),set(Ve,"medium"),set(ae,[],!0),set(V,[],!0),set(D,[],!0),set(H,[],!0),set(X,[],!0),set(j,[],!0),get(F)&&(stopRecording(),set(F,!1))}user_effect(()=>{vn()});function Bn(Z){Z.stopPropagation()}const Xn=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],lr=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function Un(){return get(ae).length+get(V).length+get(D).length}var Jn={get endpoint(){return g()},set endpoint(Z){g(Z),flushSync()},get project(){return m()},set project(Z){m(Z),flushSync()},get isOpen(){return _()},set isOpen(Z=!1){_(Z),flushSync()},get userId(){return b()},set userId(Z=""){b(Z),flushSync()},get userEmail(){return y()},set userEmail(Z=""){y(Z),flushSync()},get userName(){return w()},set userName(Z=""){w(Z),flushSync()},get userRole(){return x()},set userRole(Z=""){x(Z),flushSync()},get orgId(){return E()},set orgId(Z=""){E(Z),flushSync()},get orgName(){return S()},set orgName(Z=""){S(Z),flushSync()},get onclose(){return k()},set onclose(Z){k(Z),flushSync()},get ongrip(){return I()},set ongrip(Z){I(Z),flushSync()},get agentProxy(){return A()},set agentProxy(Z=""){A(Z),flushSync()},get agentModel(){return M()},set agentModel(Z=""){M(Z),flushSync()},get agentContext(){return R()},set agentContext(Z=""){R(Z),flushSync()},get registeredTools(){return C()},set registeredTools(Z=[]){C(Z),flushSync()}},Qn=root$1(),Qt=first_child(Qn),jn=child(Qt),er=child(jn);{var tr=Z=>{var re=root_1$1();delegated("mousedown",re,function(...Ie){var Ae;(Ae=I())==null||Ae.apply(this,Ie)}),append(Z,re)};if_block(er,Z=>{I()&&Z(tr)})}var Wn=sibling(er,2),Rn=child(Wn);let Nn;var _n=sibling(Rn,2);let nr;var cr=sibling(child(_n),2);{var ur=Z=>{var re=root_2$1(),Ie=child(re,!0);reset(re),template_effect(()=>set_text(Ie,get(pe))),append(Z,re)};if_block(cr,Z=>{get(pe)>0&&Z(ur)})}reset(_n);var rr=sibling(_n,2);{var $e=Z=>{var re=root_3();let Ie;template_effect(()=>Ie=set_class(re,1,"tab svelte-nv4d5v",null,Ie,{active:get(N)==="agent"})),delegated("click",re,()=>{set(N,"agent"),set($,!0)}),append(Z,re)};if_block(rr,Z=>{A()&&Z($e)})}var Pe=sibling(rr,2);let qe;var pt=sibling(Pe,2);let Ct;reset(Wn);var ct=sibling(Wn,2);reset(jn);var tt=sibling(jn,2);{var Je=Z=>{var re=root_4(),Ie=child(re),Ae=sibling(child(Ie),2);remove_input_defaults(Ae),bind_this(Ae,_e=>set(st,_e),()=>get(st)),reset(Ie);var Ne=sibling(Ie,2),Ge=sibling(child(Ne),2);remove_textarea_child(Ge),reset(Ne);var gt=sibling(Ne,2),vt=child(gt),xt=sibling(child(vt),2);each(xt,21,()=>Xn,index,(_e,Re)=>{var et=root_5(),it=child(et,!0);reset(et);var nt={};template_effect(()=>{set_text(it,get(Re).label),nt!==(nt=get(Re).value)&&(et.value=(et.__value=get(Re).value)??"")}),append(_e,et)}),reset(xt),reset(vt);var Et=sibling(vt,2),_t=sibling(child(Et),2);each(_t,21,()=>lr,index,(_e,Re)=>{var et=root_6(),it=child(et,!0);reset(et);var nt={};template_effect(()=>{set_text(it,get(Re).label),nt!==(nt=get(Re).value)&&(et.value=(et.__value=get(Re).value)??"")}),append(_e,et)}),reset(_t),reset(Et),reset(gt);var zt=sibling(gt,2),Oe=child(zt),Be=child(Oe),rt=child(Be);{var dt=_e=>{var Re=root_7();next(),append(_e,Re)},mt=_e=>{var Re=root_8(),et=sibling(first_child(Re),2);{var it=nt=>{var ut=root_9(),Tt=child(ut,!0);reset(ut),template_effect(()=>set_text(Tt,get(ae).length)),append(nt,ut)};if_block(et,nt=>{get(ae).length>0&&nt(it)})}append(_e,Re)};if_block(rt,_e=>{get(te)?_e(dt):_e(mt,!1)})}reset(Be);var bt=sibling(Be,2),Ut=sibling(child(bt),2);{var tn=_e=>{var Re=text("Click an element...");append(_e,Re)},Mn=_e=>{var Re=root_11(),et=sibling(first_child(Re));{var it=nt=>{var ut=root_12(),Tt=child(ut,!0);reset(ut),template_effect(()=>set_text(Tt,get(D).length)),append(nt,ut)};if_block(et,nt=>{get(D).length>0&&nt(it)})}append(_e,Re)};if_block(Ut,_e=>{get(Xe)?_e(tn):_e(Mn,!1)})}reset(bt);var jt=sibling(bt,2);let Wt;var nn=child(jt);{var Vt=_e=>{var Re=root_13();next(),append(_e,Re)},zn=_e=>{var Re=root_14(),et=sibling(first_child(Re),2);{var it=nt=>{var ut=root_15(),Tt=child(ut,!0);reset(ut),template_effect(()=>set_text(Tt,get(j).length)),append(nt,ut)};if_block(et,nt=>{get(j).length>0&&nt(it)})}append(_e,Re)};if_block(nn,_e=>{get(F)?_e(Vt):_e(zn,!1)})}reset(jt);var Vn=sibling(jt,2),Fr=sibling(child(Vn),2);{var Pr=_e=>{var Re=root_16(),et=child(Re,!0);reset(Re),template_effect(()=>set_text(et,get(V).length)),append(_e,Re)};if_block(Fr,_e=>{get(V).length>0&&_e(Pr)})}reset(Vn);var Ir=sibling(Vn,2);bind_this(Ir,_e=>set(fe,_e),()=>get(fe)),reset(Oe);var Zr=sibling(Oe,2);ScreenshotPreview(Zr,{get screenshots(){return get(ae)},get capturing(){return get(te)},oncapture:wt,onremove:sn,onedit:Jt}),reset(zt);var Tr=sibling(zt,2);{var Br=_e=>{var Re=root_17();each(Re,21,()=>get(V),index,(et,it,nt)=>{var ut=root_18(),Tt=child(ut),hr=child(Tt);{var Gn=Ot=>{var qn=root_19();append(Ot,qn)},gr=user_derived(()=>get(it).type.includes("pdf")),mr=Ot=>{var qn=root_20();append(Ot,qn)},wn=user_derived(()=>get(it).type.includes("markdown")||get(it).name.endsWith(".md")),Hn=Ot=>{var qn=root_21();append(Ot,qn)};if_block(hr,Ot=>{get(gr)?Ot(Gn):get(wn)?Ot(mr,1):Ot(Hn,!1)})}reset(Tt);var vr=sibling(Tt,2),Yr=child(vr,!0);reset(vr);var _r=sibling(vr,2),Kr=child(_r,!0);reset(_r);var Xr=sibling(_r,2);reset(ut),template_effect(Ot=>{set_text(Yr,get(it).name),set_text(Kr,Ot)},[()=>Ze(get(it).size)]),delegated("click",Xr,()=>Ce(nt)),append(et,ut)}),reset(Re),append(_e,Re)};if_block(Tr,_e=>{get(V).length>0&&_e(Br)})}var Ar=sibling(Tr,2);{var Ur=_e=>{var Re=root_22();each(Re,21,()=>get(D),index,(et,it,nt)=>{var ut=root_23(),Tt=child(ut),hr=child(Tt);reset(Tt);var Gn=sibling(Tt,2),gr=child(Gn,!0);reset(Gn);var mr=sibling(Gn,2);reset(ut),template_effect((wn,Hn)=>{set_text(hr,`<${wn??""}>`),set_text(gr,Hn)},[()=>get(it).tagName.toLowerCase(),()=>{var wn;return((wn=get(it).textContent)==null?void 0:wn.substring(0,40))||get(it).selector}]),delegated("click",mr,()=>{set(D,get(D).filter((wn,Hn)=>Hn!==nt),!0)}),append(et,ut)}),reset(Re),append(_e,Re)};if_block(Ar,_e=>{get(D).length>0&&_e(Ur)})}var Rr=sibling(Ar,2);ConsoleLogList(Rr,{get logs(){return get(H)}});var Nr=sibling(Rr,2);{var jr=_e=>{var Re=root_24(),et=child(Re);reset(Re),template_effect((it,nt)=>set_text(et,`${it??""} attachment${nt??""} will be included`),[Un,()=>Un()>1?"s":""]),append(_e,Re)},Wr=user_derived(()=>Un()>0);if_block(Nr,_e=>{get(Wr)&&_e(jr)})}var $r=sibling(Nr,2),dr=child($r),Vr=child(dr);reset(dr);var fr=sibling(dr,2),pr=sibling(fr,2),Gr=child(pr);{var Hr=_e=>{var Re=root_25();next(),append(_e,Re)},qr=_e=>{var Re=text("Submit");append(_e,Re)};if_block(Gr,_e=>{get(Le)?_e(Hr):_e(qr,!1)})}reset(pr),reset($r),reset(re),template_effect(_e=>{Ae.disabled=get(Le),Ge.disabled=get(Le),xt.disabled=get(Le),_t.disabled=get(Le),Be.disabled=get(te),bt.disabled=get(Xe),Wt=set_class(jt,1,"tool-btn svelte-nv4d5v",null,Wt,{"recording-active":get(F)}),jt.disabled=get(Le),Vn.disabled=get(Le),set_text(Vr,`v${h}`),fr.disabled=get(Le),pr.disabled=_e},[()=>get(Le)||!get(we).trim()]),event("submit",re,Zn),bind_value(Ae,()=>get(we),_e=>set(we,_e)),bind_value(Ge,()=>get(ze),_e=>set(ze,_e)),bind_select_value(xt,()=>get(xe),_e=>set(xe,_e)),bind_select_value(_t,()=>get(Ve),_e=>set(Ve,_e)),delegated("click",Be,wt),delegated("click",bt,an),delegated("click",jt,Y),delegated("click",Vn,ue),delegated("change",Ir,be),delegated("click",fr,function(..._e){var Re;(Re=k())==null||Re.apply(this,_e)}),transition(3,re,()=>slide,()=>({duration:200})),append(Z,re)};if_block(tt,Z=>{get(N)==="new"&&Z(Je)})}var ht=sibling(tt,2);{var Qe=Z=>{var re=root_27(),Ie=child(re);RequestList(Ie,{get endpoint(){return g()},get loading(){return get(B)},get error(){return get(K)},onreload:le,get reports(){return get(he)},set reports(Ae){set(he,Ae,!0)}}),reset(re),transition(3,re,()=>slide,()=>({duration:200})),append(Z,re)};if_block(ht,Z=>{get(N)==="requests"&&Z(Qe)})}var It=sibling(ht,2);{var bn=Z=>{var re=root_28(),Ie=child(re);{let Ae=user_derived(()=>{var Ne;return((Ne=get(P))==null?void 0:Ne.getMaxSteps())??20});AgentPanel(Ie,{get messages(){return get(Se)},get agentState(){return get(T)},get currentStep(){return get(z)},get maxSteps(){return get(Ae)},get autoApprove(){return get(L)},onsend:ie,onstop:J,onapprove:ne,onskip:ge,onautoapprovechange:ee})}reset(re),transition(3,re,()=>slide,()=>({duration:200})),append(Z,re)};if_block(It,Z=>{get(N)==="agent"&&get($)&&Z(bn)})}var Ye=sibling(It,2);{var ln=Z=>{var re=root_29(),Ie=child(re);NotesPanel(Ie,{get endpoint(){return g()},get project(){return m()},onnoteschanged:W}),reset(re),transition(3,re,()=>slide,()=>({duration:200})),append(Z,re)};if_block(Ye,Z=>{get(N)==="notes"&&get(O)&&Z(ln)})}var cn=sibling(Ye,2);{var yn=Z=>{var re=root_30(),Ie=child(re),Ae=sibling(child(Ie),2),Ne=child(Ae);{var Ge=Oe=>{var Be=root_31();delegated("click",Be,ve),append(Oe,Be)},gt=Oe=>{var Be=root_32(),rt=first_child(Be);next(2),delegated("click",rt,Te),append(Oe,Be)},vt=Oe=>{var Be=root_33(),rt=sibling(child(Be),2),dt=child(rt,!0);reset(rt),reset(Be),template_effect(()=>set_text(dt,get(ce))),append(Oe,Be)},xt=Oe=>{var Be=root_34(),rt=sibling(first_child(Be),2),dt=child(rt,!0);reset(rt);var mt=sibling(rt,2);template_effect(()=>set_text(dt,get(ce))),delegated("click",mt,me),append(Oe,Be)},Et=Oe=>{var Be=root_35(),rt=sibling(first_child(Be),2),dt=child(rt,!0);reset(rt);var mt=sibling(rt,2);template_effect(()=>set_text(dt,get(ce))),delegated("click",mt,me),append(Oe,Be)};if_block(Ne,Oe=>{get(oe)==="idle"?Oe(Ge):get(oe)==="recording"?Oe(gt,1):get(oe)==="processing"?Oe(vt,2):get(oe)==="done"?Oe(xt,3):get(oe)==="error"&&Oe(Et,4)})}reset(Ae);var _t=sibling(Ae,2);{var zt=Oe=>{var Be=root_36();append(Oe,Be)};if_block(_t,Oe=>{get(oe)==="idle"&&Oe(zt)})}reset(Ie),reset(re),transition(3,re,()=>slide,()=>({duration:200})),append(Z,re)};if_block(cn,Z=>{get(N)==="voice"&&Z(yn)})}var en=sibling(cn,2);StatusToast(en,{get message(){return get(Bt)},get type(){return get(Tn)},get visible(){return get(je)}}),reset(Qt);var $n=sibling(Qt,2);{var Mt=Z=>{AnnotationEditor(Z,{get imageDataUrl(){return get(We)},onsave:ar,oncancel:mn})};if_block($n,Z=>{get(ot)!==null&&Z(Mt)})}return template_effect(()=>{Nn=set_class(Rn,1,"tab svelte-nv4d5v",null,Nn,{active:get(N)==="new"}),nr=set_class(_n,1,"tab svelte-nv4d5v",null,nr,{active:get(N)==="requests"}),qe=set_class(Pe,1,"tab svelte-nv4d5v",null,qe,{active:get(N)==="notes"}),Ct=set_class(pt,1,"tab svelte-nv4d5v",null,Ct,{active:get(N)==="voice"})}),delegated("keydown",Qt,Bn),delegated("keyup",Qt,Bn),event("keypress",Qt,Bn),delegated("click",Rn,()=>set(N,"new")),delegated("click",_n,()=>set(N,"requests")),delegated("click",Pe,()=>{set(N,"notes"),set(O,!0)}),delegated("click",pt,()=>set(N,"voice")),delegated("click",ct,function(...Z){var re;(re=k())==null||re.apply(this,Z)}),append(d,Qn),pop(Jn)}delegate(["keydown","keyup","mousedown","click","change"]),create_custom_element(FeedbackPanel,{endpoint:{},project:{},isOpen:{},userId:{},userEmail:{},userName:{},userRole:{},orgId:{},orgName:{},onclose:{},ongrip:{},agentProxy:{},agentModel:{},agentContext:{},registeredTools:{}},[],[],{mode:"open"});var root_1=from_html("<div><!></div>"),root_2=from_html('<div class="jat-feedback-panel svelte-qpyrvv"><div class="no-endpoint svelte-qpyrvv"><p class="svelte-qpyrvv">No endpoint configured.</p> <p class="svelte-qpyrvv">Add the <code class="svelte-qpyrvv">endpoint</code> attribute:</p> <code class="example svelte-qpyrvv"><jat-feedback endpoint="http://localhost:3333"></code></div></div>'),root=from_html('<div class="jat-feedback-root svelte-qpyrvv" data-page-agent-not-interactive=""><!> <!></div>');const $$css={hash:"svelte-qpyrvv",code:`.jat-feedback-root.svelte-qpyrvv {position:fixed;z-index:2147483647;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;}.jat-feedback-panel.svelte-qpyrvv {position:absolute;
|
|
389
445
|
animation: svelte-qpyrvv-panel-in 0.2s ease;}.jat-feedback-panel.hidden.svelte-qpyrvv {display:none;}.jat-feedback-panel.dragging.svelte-qpyrvv {pointer-events:none;opacity:0.9;}.no-endpoint.svelte-qpyrvv {width:320px;background:#111827;border:1px solid #374151;border-radius:12px;padding:20px;color:#d1d5db;font-size:13px;box-shadow:0 20px 60px rgba(0,0,0,0.4);}.no-endpoint.svelte-qpyrvv p:where(.svelte-qpyrvv) {margin:0 0 8px;}.no-endpoint.svelte-qpyrvv code:where(.svelte-qpyrvv) {font-family:'SF Mono', 'Fira Code', monospace;font-size:11px;color:#93c5fd;}.no-endpoint.svelte-qpyrvv code.example:where(.svelte-qpyrvv) {display:block;background:#1f2937;padding:8px 10px;border-radius:4px;margin-top:4px;}
|
|
390
446
|
@keyframes svelte-qpyrvv-panel-in {
|
|
391
447
|
from { opacity: 0; transform: translateY(8px) scale(0.96); }
|
|
392
448
|
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
393
|
-
}`};function JatFeedback(
|
|
449
|
+
}`};function JatFeedback(d,p){push(p,!0),append_styles(d,$$css);let h=prop(p,"endpoint",7,""),g=prop(p,"project",7,""),m=prop(p,"position",7,"bottom-right"),_=prop(p,"theme",7,"dark"),b=prop(p,"buttoncolor",7,"#3b82f6"),y=prop(p,"user-id",7,""),w=prop(p,"user-email",7,""),x=prop(p,"user-name",7,""),E=prop(p,"user-role",7,""),S=prop(p,"org-id",7,""),k=prop(p,"org-name",7,""),I=prop(p,"agent-proxy",7,""),A=prop(p,"agent-model",7,""),M=prop(p,"agent-context",7,""),R=state(!1),C=state(!1),N=state(proxy([])),$=state(!1),O={x:0,y:0},F=state(void 0);const j=5;function Y(W,{onDragEnd:ie}={}){if(!get(F))return;const J=W.clientX,ne=W.clientY,ge=get(F).getBoundingClientRect();O={x:W.clientX-ge.left,y:W.clientY-ge.top};let ee=!1;function he(K){if(!get(F))return;const pe=K.clientX-J,le=K.clientY-ne;if(!ee&&Math.abs(pe)+Math.abs(le)<j)return;ee=!0,set($,!0),K.preventDefault();const we=K.clientX-O.x,ze=K.clientY-O.y;get(F).style.top=`${ze}px`,get(F).style.left=`${we}px`,get(F).style.bottom="auto",get(F).style.right="auto"}function B(){set($,!1),window.removeEventListener("mousemove",he),window.removeEventListener("mouseup",B),ie==null||ie(ee)}window.addEventListener("mousemove",he),window.addEventListener("mouseup",B)}function q(W){Y(W)}function de(W){W.button===0&&(W.preventDefault(),Y(W,{onDragEnd(ie){ie||ye()}}))}let oe=null;function ce(){oe=setInterval(()=>{const W=isElementPickerActive();W&&!get(C)?set(C,!0):!W&&get(C)&&set(C,!1)},100)}let se=user_derived(()=>({...DEFAULT_CONFIG,endpoint:h()||DEFAULT_CONFIG.endpoint,position:m()||DEFAULT_CONFIG.position,theme:_()||DEFAULT_CONFIG.theme,buttonColor:b()||DEFAULT_CONFIG.buttonColor}));function ye(){set(R,!get(R))}function ve(){set(R,!1)}const Te={"bottom-right":"bottom: 20px; right: 20px;","bottom-left":"bottom: 20px; left: 20px;","top-right":"top: 20px; right: 20px;","top-left":"top: 20px; left: 20px;"},Ee={"bottom-right":"bottom: 80px; right: 0;","bottom-left":"bottom: 80px; left: 0;","top-right":"top: 80px; right: 0;","top-left":"top: 80px; left: 0;"};function me(W){if(W.key==="Escape"&&get(R)){if(isAnnotationEditorOpen())return;W.stopPropagation(),W.stopImmediatePropagation(),ve()}}onMount(()=>{get(se).captureConsole&&(startConsoleCapture(get(se).maxConsoleLogs),startNetworkCapture()),startRetryLoop(),ce(),window.addEventListener("keydown",me,!0);const W=()=>{set(R,!0)};window.addEventListener("jat-feedback:open",W);const ie=p.$$host;return ie.registerTools=J=>{set(N,[...get(N),...J],!0)},()=>window.removeEventListener("jat-feedback:open",W)}),onDestroy(()=>{stopConsoleCapture(),stopNetworkCapture(),stopRetryLoop(),window.removeEventListener("keydown",me,!0),oe&&clearInterval(oe)});var Se={get endpoint(){return h()},set endpoint(W=""){h(W),flushSync()},get project(){return g()},set project(W=""){g(W),flushSync()},get position(){return m()},set position(W="bottom-right"){m(W),flushSync()},get theme(){return _()},set theme(W="dark"){_(W),flushSync()},get buttoncolor(){return b()},set buttoncolor(W="#3b82f6"){b(W),flushSync()},get"user-id"(){return y()},set"user-id"(W=""){y(W),flushSync()},get"user-email"(){return w()},set"user-email"(W=""){w(W),flushSync()},get"user-name"(){return x()},set"user-name"(W=""){x(W),flushSync()},get"user-role"(){return E()},set"user-role"(W=""){E(W),flushSync()},get"org-id"(){return S()},set"org-id"(W=""){S(W),flushSync()},get"org-name"(){return k()},set"org-name"(W=""){k(W),flushSync()},get"agent-proxy"(){return I()},set"agent-proxy"(W=""){I(W),flushSync()},get"agent-model"(){return A()},set"agent-model"(W=""){A(W),flushSync()},get"agent-context"(){return M()},set"agent-context"(W=""){M(W),flushSync()}},T=root(),z=child(T);{var L=W=>{var ie=root_1();let J;var ne=child(ie);FeedbackPanel(ne,{get endpoint(){return get(se).endpoint},get project(){return g()},get isOpen(){return get(R)},get userId(){return y()},get userEmail(){return w()},get userName(){return x()},get userRole(){return E()},get orgId(){return S()},get orgName(){return k()},get agentProxy(){return I()},get agentModel(){return A()},get agentContext(){return M()},get registeredTools(){return get(N)},onclose:ve,ongrip:q}),reset(ie),template_effect(()=>{J=set_class(ie,1,"jat-feedback-panel svelte-qpyrvv",null,J,{dragging:get($),hidden:!get(R)}),set_style(ie,Ee[get(se).position]||Ee["bottom-right"])}),append(W,ie)},P=W=>{var ie=root_2();template_effect(()=>set_style(ie,Ee[get(se).position]||Ee["bottom-right"])),append(W,ie)};if_block(z,W=>{get(se).endpoint?W(L):get(R)&&W(P,1)})}var G=sibling(z,2);return FeedbackButton(G,{onmousedown:de,get open(){return get(R)}}),reset(T),bind_this(T,W=>set(F,W),()=>get(F)),template_effect(()=>set_style(T,`${(Te[get(se).position]||Te["bottom-right"])??""}; --jat-btn-color: ${get(se).buttonColor??""}; ${get(C)?"display: none;":""}`)),append(d,T),pop(Se)}customElements.define("jat-feedback",create_custom_element(JatFeedback,{endpoint:{},project:{},position:{},theme:{},buttoncolor:{},"user-id":{},"user-email":{},"user-name":{},"user-role":{},"org-id":{},"org-name":{},"agent-proxy":{},"agent-model":{},"agent-context":{}},[],[],{mode:"open"}));/**
|
|
394
450
|
* AI Motion - WebGL2 animated border with AI-style glow effects
|
|
395
451
|
*
|
|
396
452
|
* @author Simon<gaomeng1900@gmail.com>
|
|
397
453
|
* @license MIT
|
|
398
454
|
* @repository https://github.com/gaomeng1900/ai-motion
|
|
399
|
-
*/function computeBorderGeometry(
|
|
455
|
+
*/function computeBorderGeometry(d,p,h,g){const m=Math.max(1,Math.min(d,p)),_=Math.min(h,20),y=Math.min(_+g,m),w=Math.min(y,Math.floor(d/2)),x=Math.min(y,Math.floor(p/2)),E=P=>P/d*2-1,S=P=>P/p*2-1,k=0,I=d,A=0,M=p,R=w,C=d-w,N=x,$=p-x,O=E(k),F=E(I),j=S(A),Y=S(M),q=E(R),de=E(C),oe=S(N),ce=S($),se=0,ye=0,ve=1,Te=1,Ee=w/d,me=1-w/d,Se=x/p,T=1-x/p,z=new Float32Array([O,j,F,j,O,oe,O,oe,F,j,F,oe,O,ce,F,ce,O,Y,O,Y,F,ce,F,Y,O,oe,q,oe,O,ce,O,ce,q,oe,q,ce,de,oe,F,oe,de,ce,de,ce,F,oe,F,ce]),L=new Float32Array([se,ye,ve,ye,se,Se,se,Se,ve,ye,ve,Se,se,T,ve,T,se,Te,se,Te,ve,T,ve,Te,se,Se,Ee,Se,se,T,se,T,Ee,Se,Ee,T,me,Se,ve,Se,me,T,me,T,ve,Se,ve,T]);return{positions:z,uvs:L}}/**
|
|
400
456
|
* AI Motion - WebGL2 animated border with AI-style glow effects
|
|
401
457
|
*
|
|
402
458
|
* @author Simon<gaomeng1900@gmail.com>
|
|
403
459
|
* @license MIT
|
|
404
460
|
* @repository https://github.com/gaomeng1900/ai-motion
|
|
405
|
-
*/function compileShader(
|
|
461
|
+
*/function compileShader(d,p,h){const g=d.createShader(p);if(!g)throw new Error("Failed to create shader");if(d.shaderSource(g,h),d.compileShader(g),!d.getShaderParameter(g,d.COMPILE_STATUS)){const m=d.getShaderInfoLog(g)||"Unknown shader error";throw d.deleteShader(g),new Error(m)}return g}function createProgram(d,p,h){const g=compileShader(d,d.VERTEX_SHADER,p),m=compileShader(d,d.FRAGMENT_SHADER,h),_=d.createProgram();if(!_)throw new Error("Failed to create program");if(d.attachShader(_,g),d.attachShader(_,m),d.linkProgram(_),!d.getProgramParameter(_,d.LINK_STATUS)){const b=d.getProgramInfoLog(_)||"Unknown link error";throw d.deleteProgram(_),d.deleteShader(g),d.deleteShader(m),new Error(b)}return d.deleteShader(g),d.deleteShader(m),_}const fragmentShaderSource=`#version 300 es
|
|
406
462
|
precision lowp float;
|
|
407
463
|
in vec2 vUV;
|
|
408
464
|
out vec4 outColor;
|
|
@@ -518,7 +574,7 @@ gl_Position = vec4(aPosition, 0.0, 1.0);
|
|
|
518
574
|
* @author Simon<gaomeng1900@gmail.com>
|
|
519
575
|
* @license MIT
|
|
520
576
|
* @repository https://github.com/gaomeng1900/ai-motion
|
|
521
|
-
*/const DEFAULT_COLORS=["rgb(57, 182, 255)","rgb(189, 69, 251)","rgb(255, 87, 51)","rgb(255, 214, 0)"];function parseColor(
|
|
577
|
+
*/const DEFAULT_COLORS=["rgb(57, 182, 255)","rgb(189, 69, 251)","rgb(255, 87, 51)","rgb(255, 214, 0)"];function parseColor(d){const p=d.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(!p)throw new Error(`Invalid color format: ${d}`);const[,h,g,m]=p;return[parseInt(h)/255,parseInt(g)/255,parseInt(m)/255]}class Motion{constructor(p={}){ke(this,"element");ke(this,"canvas");ke(this,"options");ke(this,"running",!1);ke(this,"disposed",!1);ke(this,"startTime",0);ke(this,"lastTime",0);ke(this,"rafId",null);ke(this,"glr");ke(this,"observer");this.options={width:p.width??600,height:p.height??600,ratio:p.ratio??window.devicePixelRatio??1,borderWidth:p.borderWidth??8,glowWidth:p.glowWidth??200,borderRadius:p.borderRadius??8,mode:p.mode??"light",...p},this.canvas=document.createElement("canvas"),this.options.classNames&&(this.canvas.className=this.options.classNames),this.options.styles&&Object.assign(this.canvas.style,this.options.styles),this.canvas.style.display="block",this.canvas.style.transformOrigin="center",this.canvas.style.pointerEvents="none",this.element=this.canvas,this.setupGL(),this.options.skipGreeting||this.greet()}start(){if(this.disposed)throw new Error("Motion instance has been disposed.");if(this.running)return;if(!this.glr){console.error("WebGL resources are not initialized.");return}this.running=!0,this.startTime=performance.now(),this.resize(this.options.width??600,this.options.height??600,this.options.ratio),this.glr.gl.viewport(0,0,this.canvas.width,this.canvas.height),this.glr.gl.useProgram(this.glr.program),this.glr.gl.uniform2f(this.glr.uResolution,this.canvas.width,this.canvas.height),this.checkGLError(this.glr.gl,"start: after initial setup");const p=()=>{if(!this.running||!this.glr)return;this.rafId=requestAnimationFrame(p);const h=performance.now();if(h-this.lastTime<1e3/32)return;this.lastTime=h;const m=(h-this.startTime)*.001;this.render(m)};this.rafId=requestAnimationFrame(p)}pause(){if(this.disposed)throw new Error("Motion instance has been disposed.");this.running=!1,this.rafId!==null&&cancelAnimationFrame(this.rafId)}dispose(){if(this.disposed)return;this.disposed=!0,this.running=!1,this.rafId!==null&&cancelAnimationFrame(this.rafId);const{gl:p,vao:h,positionBuffer:g,uvBuffer:m,program:_}=this.glr;h&&p.deleteVertexArray(h),g&&p.deleteBuffer(g),m&&p.deleteBuffer(m),p.deleteProgram(_),this.observer&&this.observer.disconnect(),this.canvas.remove()}resize(p,h,g){if(this.disposed)throw new Error("Motion instance has been disposed.");if(this.options.width=p,this.options.height=h,g&&(this.options.ratio=g),!this.running)return;const{gl:m,program:_,vao:b,positionBuffer:y,uvBuffer:w,uResolution:x}=this.glr,E=g??this.options.ratio??window.devicePixelRatio??1,S=Math.max(1,Math.floor(p*E)),k=Math.max(1,Math.floor(h*E));this.canvas.style.width=`${p}px`,this.canvas.style.height=`${h}px`,(this.canvas.width!==S||this.canvas.height!==k)&&(this.canvas.width=S,this.canvas.height=k),m.viewport(0,0,this.canvas.width,this.canvas.height),this.checkGLError(m,"resize: after viewport setup");const{positions:I,uvs:A}=computeBorderGeometry(this.canvas.width,this.canvas.height,this.options.borderWidth*E,this.options.glowWidth*E);m.bindVertexArray(b),m.bindBuffer(m.ARRAY_BUFFER,y),m.bufferData(m.ARRAY_BUFFER,I,m.STATIC_DRAW);const M=m.getAttribLocation(_,"aPosition");m.enableVertexAttribArray(M),m.vertexAttribPointer(M,2,m.FLOAT,!1,0,0),this.checkGLError(m,"resize: after position buffer update"),m.bindBuffer(m.ARRAY_BUFFER,w),m.bufferData(m.ARRAY_BUFFER,A,m.STATIC_DRAW);const R=m.getAttribLocation(_,"aUV");m.enableVertexAttribArray(R),m.vertexAttribPointer(R,2,m.FLOAT,!1,0,0),this.checkGLError(m,"resize: after UV buffer update"),m.useProgram(_),m.uniform2f(x,this.canvas.width,this.canvas.height),m.uniform1f(this.glr.uBorderWidth,this.options.borderWidth*E),m.uniform1f(this.glr.uGlowWidth,this.options.glowWidth*E),m.uniform1f(this.glr.uBorderRadius,this.options.borderRadius*E),this.checkGLError(m,"resize: after uniform updates");const C=performance.now();this.lastTime=C;const N=(C-this.startTime)*.001;this.render(N)}autoResize(p){this.observer&&this.observer.disconnect(),this.observer=new ResizeObserver(()=>{const h=p.getBoundingClientRect();this.resize(h.width,h.height)}),this.observer.observe(p)}fadeIn(){if(this.disposed)throw new Error("Motion instance has been disposed.");return new Promise((p,h)=>{const g=this.canvas.animate([{opacity:0,transform:"scale(1.2)"},{opacity:1,transform:"scale(1)"}],{duration:300,easing:"ease-out",fill:"forwards"});g.onfinish=()=>p(),g.oncancel=()=>h("canceled")})}fadeOut(){if(this.disposed)throw new Error("Motion instance has been disposed.");return new Promise((p,h)=>{const g=this.canvas.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(1.2)"}],{duration:300,easing:"ease-in",fill:"forwards"});g.onfinish=()=>p(),g.oncancel=()=>h("canceled")})}checkGLError(p,h){let g=p.getError();if(g!==p.NO_ERROR){for(console.group(`🔴 WebGL Error in ${h}`);g!==p.NO_ERROR;){const m=this.getGLErrorName(p,g);console.error(`${m} (0x${g.toString(16)})`),g=p.getError()}console.groupEnd()}}getGLErrorName(p,h){switch(h){case p.INVALID_ENUM:return"INVALID_ENUM";case p.INVALID_VALUE:return"INVALID_VALUE";case p.INVALID_OPERATION:return"INVALID_OPERATION";case p.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case p.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case p.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return"UNKNOWN_ERROR"}}setupGL(){const p=this.canvas.getContext("webgl2",{antialias:!1,alpha:!0});if(!p)throw new Error("WebGL2 is required but not available.");const h=createProgram(p,vertexShaderSource,fragmentShaderSource);this.checkGLError(p,"setupGL: after createProgram");const g=p.createVertexArray();p.bindVertexArray(g),this.checkGLError(p,"setupGL: after VAO creation");const m=this.canvas.width||2,_=this.canvas.height||2,{positions:b,uvs:y}=computeBorderGeometry(m,_,this.options.borderWidth,this.options.glowWidth),w=p.createBuffer();p.bindBuffer(p.ARRAY_BUFFER,w),p.bufferData(p.ARRAY_BUFFER,b,p.STATIC_DRAW);const x=p.getAttribLocation(h,"aPosition");p.enableVertexAttribArray(x),p.vertexAttribPointer(x,2,p.FLOAT,!1,0,0),this.checkGLError(p,"setupGL: after position buffer setup");const E=p.createBuffer();p.bindBuffer(p.ARRAY_BUFFER,E),p.bufferData(p.ARRAY_BUFFER,y,p.STATIC_DRAW);const S=p.getAttribLocation(h,"aUV");p.enableVertexAttribArray(S),p.vertexAttribPointer(S,2,p.FLOAT,!1,0,0),this.checkGLError(p,"setupGL: after UV buffer setup");const k=p.getUniformLocation(h,"uResolution"),I=p.getUniformLocation(h,"uTime"),A=p.getUniformLocation(h,"uBorderWidth"),M=p.getUniformLocation(h,"uGlowWidth"),R=p.getUniformLocation(h,"uBorderRadius"),C=p.getUniformLocation(h,"uColors"),N=p.getUniformLocation(h,"uGlowExponent"),$=p.getUniformLocation(h,"uGlowFactor");p.useProgram(h),p.uniform1f(A,this.options.borderWidth),p.uniform1f(M,this.options.glowWidth),p.uniform1f(R,this.options.borderRadius),this.options.mode==="dark"?(p.uniform1f(N,2),p.uniform1f($,1.8)):(p.uniform1f(N,1),p.uniform1f($,1));const O=(this.options.colors||DEFAULT_COLORS).map(parseColor);for(let F=0;F<O.length;F++)p.uniform3f(p.getUniformLocation(h,`uColors[${F}]`),...O[F]);this.checkGLError(p,"setupGL: after uniform setup"),p.bindVertexArray(null),p.bindBuffer(p.ARRAY_BUFFER,null),this.glr={gl:p,program:h,vao:g,positionBuffer:w,uvBuffer:E,uResolution:k,uTime:I,uBorderWidth:A,uGlowWidth:M,uBorderRadius:R,uColors:C}}render(p){if(!this.glr)return;const{gl:h,program:g,vao:m,uTime:_}=this.glr;h.useProgram(g),h.bindVertexArray(m),h.uniform1f(_,p),h.disable(h.DEPTH_TEST),h.disable(h.CULL_FACE),h.disable(h.BLEND),h.clearColor(0,0,0,0),h.clear(h.COLOR_BUFFER_BIT),h.drawArrays(h.TRIANGLES,0,24),this.checkGLError(h,"render: after draw call"),h.bindVertexArray(null)}greet(){console.log("%c🌈 ai-motion 0.4.8 🌈","background: linear-gradient(90deg, #39b6ff, #bd45fb, #ff5733, #ffd600); color: white; text-shadow: 0 0 2px rgba(0, 0, 0, 0.2); font-weight: bold; font-size: 1em; padding: 2px 12px; border-radius: 6px;")}}(function(){try{if(typeof document<"u"){var d=document.createElement("style");d.appendChild(document.createTextNode(`._wrapper_1ooyb_1 {
|
|
522
578
|
position: fixed;
|
|
523
579
|
inset: 0;
|
|
524
580
|
z-index: 2147483641; /* 确保在所有元素之上,除了 panel */
|
|
@@ -600,4 +656,4 @@ gl_Position = vec4(aPosition, 0.0, 1.0);
|
|
|
600
656
|
transform: scale(2);
|
|
601
657
|
opacity: 0;
|
|
602
658
|
}
|
|
603
|
-
}`)),document.head.appendChild(
|
|
659
|
+
}`)),document.head.appendChild(d)}}catch(p){console.error("vite-plugin-css-injected-by-js",p)}})();var __defProp=Object.defineProperty,__typeError=d=>{throw TypeError(d)},__defNormalProp=(d,p,h)=>p in d?__defProp(d,p,{enumerable:!0,configurable:!0,writable:!0,value:h}):d[p]=h,__name=(d,p)=>__defProp(d,"name",{value:p,configurable:!0}),__publicField=(d,p,h)=>__defNormalProp(d,typeof p!="symbol"?p+"":p,h),__accessCheck=(d,p,h)=>p.has(d)||__typeError("Cannot "+h),__privateGet=(d,p,h)=>(__accessCheck(d,p,"read from private field"),h?h.call(d):p.get(d)),__privateAdd=(d,p,h)=>p.has(d)?__typeError("Cannot add the same private member more than once"):p instanceof WeakSet?p.add(d):p.set(d,h),__privateSet=(d,p,h,g)=>(__accessCheck(d,p,"write to private field"),p.set(d,h),h),__privateMethod=(d,p,h)=>(__accessCheck(d,p,"access private method"),h),_cursor,_currentCursorX,_currentCursorY,_targetCursorX,_targetCursorY,_SimulatorMask_instances,createCursor_fn,moveCursorToTarget_fn;function hasDarkModeClass(){const d=["dark","dark-mode","theme-dark","night","night-mode"],p=document.documentElement,h=document.body||document.documentElement;for(const m of d)if(p.classList.contains(m)||h!=null&&h.classList.contains(m))return!0;const g=p.getAttribute("data-theme");return!!(g!=null&&g.toLowerCase().includes("dark"))}__name(hasDarkModeClass,"hasDarkModeClass");function parseRgbColor(d){const p=/rgba?\((\d+),\s*(\d+),\s*(\d+)/.exec(d);return p?{r:parseInt(p[1]),g:parseInt(p[2]),b:parseInt(p[3])}:null}__name(parseRgbColor,"parseRgbColor");function isColorDark(d,p=128){if(!d||d==="transparent"||d.startsWith("rgba(0, 0, 0, 0)"))return!1;const h=parseRgbColor(d);return h?.299*h.r+.587*h.g+.114*h.b<p:!1}__name(isColorDark,"isColorDark");function isBackgroundDark(){const d=window.getComputedStyle(document.documentElement),p=window.getComputedStyle(document.body||document.documentElement),h=d.backgroundColor,g=p.backgroundColor;return isColorDark(g)?!0:g==="transparent"||g.startsWith("rgba(0, 0, 0, 0)")?isColorDark(h):!1}__name(isBackgroundDark,"isBackgroundDark");function isPageDark(){try{return!!(hasDarkModeClass()||isBackgroundDark())}catch(d){return console.warn("Error determining if page is dark:",d),!1}}__name(isPageDark,"isPageDark");const wrapper="_wrapper_1ooyb_1",visible="_visible_1ooyb_11",styles={wrapper,visible},cursor="_cursor_1dgwb_2",cursorBorder="_cursorBorder_1dgwb_10",cursorFilling="_cursorFilling_1dgwb_25",cursorRipple="_cursorRipple_1dgwb_39",clicking="_clicking_1dgwb_57",cursorStyles={cursor,cursorBorder,cursorFilling,cursorRipple,clicking},_SimulatorMask=class{constructor(){__privateAdd(this,_SimulatorMask_instances),__publicField(this,"shown",!1),__publicField(this,"wrapper",document.createElement("div")),__publicField(this,"motion",null),__privateAdd(this,_cursor,document.createElement("div")),__privateAdd(this,_currentCursorX,0),__privateAdd(this,_currentCursorY,0),__privateAdd(this,_targetCursorX,0),__privateAdd(this,_targetCursorY,0),this.wrapper.id="page-agent-runtime_simulator-mask",this.wrapper.className=styles.wrapper,this.wrapper.setAttribute("data-browser-use-ignore","true"),this.wrapper.setAttribute("data-page-agent-ignore","true");try{const p=new Motion({mode:isPageDark()?"dark":"light",styles:{position:"absolute",inset:"0"}});this.motion=p,this.wrapper.appendChild(p.element),p.autoResize(this.wrapper)}catch(p){console.warn("[SimulatorMask] Motion overlay unavailable:",p)}this.wrapper.addEventListener("click",p=>{p.stopPropagation(),p.preventDefault()}),this.wrapper.addEventListener("mousedown",p=>{p.stopPropagation(),p.preventDefault()}),this.wrapper.addEventListener("mouseup",p=>{p.stopPropagation(),p.preventDefault()}),this.wrapper.addEventListener("mousemove",p=>{p.stopPropagation(),p.preventDefault()}),this.wrapper.addEventListener("wheel",p=>{p.stopPropagation(),p.preventDefault()}),this.wrapper.addEventListener("keydown",p=>{p.stopPropagation(),p.preventDefault()}),this.wrapper.addEventListener("keyup",p=>{p.stopPropagation(),p.preventDefault()}),__privateMethod(this,_SimulatorMask_instances,createCursor_fn).call(this),document.body.appendChild(this.wrapper),__privateMethod(this,_SimulatorMask_instances,moveCursorToTarget_fn).call(this),window.addEventListener("PageAgent::MovePointerTo",p=>{const{x:h,y:g}=p.detail;this.setCursorPosition(h,g)}),window.addEventListener("PageAgent::ClickPointer",p=>{this.triggerClickAnimation()})}setCursorPosition(p,h){__privateSet(this,_targetCursorX,p),__privateSet(this,_targetCursorY,h)}triggerClickAnimation(){__privateGet(this,_cursor).classList.remove(cursorStyles.clicking),__privateGet(this,_cursor).offsetHeight,__privateGet(this,_cursor).classList.add(cursorStyles.clicking)}show(){var p,h;this.shown||(this.shown=!0,(p=this.motion)==null||p.start(),(h=this.motion)==null||h.fadeIn(),this.wrapper.classList.add(styles.visible),__privateSet(this,_currentCursorX,window.innerWidth/2),__privateSet(this,_currentCursorY,window.innerHeight/2),__privateSet(this,_targetCursorX,__privateGet(this,_currentCursorX)),__privateSet(this,_targetCursorY,__privateGet(this,_currentCursorY)),__privateGet(this,_cursor).style.left=`${__privateGet(this,_currentCursorX)}px`,__privateGet(this,_cursor).style.top=`${__privateGet(this,_currentCursorY)}px`)}hide(){var p,h;this.shown&&(this.shown=!1,(p=this.motion)==null||p.fadeOut(),(h=this.motion)==null||h.pause(),__privateGet(this,_cursor).classList.remove(cursorStyles.clicking),setTimeout(()=>{this.wrapper.classList.remove(styles.visible)},800))}dispose(){var p;(p=this.motion)==null||p.dispose(),this.wrapper.remove()}};_cursor=new WeakMap,_currentCursorX=new WeakMap,_currentCursorY=new WeakMap,_targetCursorX=new WeakMap,_targetCursorY=new WeakMap,_SimulatorMask_instances=new WeakSet,createCursor_fn=__name(function(){__privateGet(this,_cursor).className=cursorStyles.cursor;const d=document.createElement("div");d.className=cursorStyles.cursorRipple,__privateGet(this,_cursor).appendChild(d);const p=document.createElement("div");p.className=cursorStyles.cursorFilling,__privateGet(this,_cursor).appendChild(p);const h=document.createElement("div");h.className=cursorStyles.cursorBorder,__privateGet(this,_cursor).appendChild(h),this.wrapper.appendChild(__privateGet(this,_cursor))},"#createCursor"),moveCursorToTarget_fn=__name(function(){const d=__privateGet(this,_currentCursorX)+(__privateGet(this,_targetCursorX)-__privateGet(this,_currentCursorX))*.2,p=__privateGet(this,_currentCursorY)+(__privateGet(this,_targetCursorY)-__privateGet(this,_currentCursorY))*.2,h=Math.abs(d-__privateGet(this,_targetCursorX));h>0&&(h<2?__privateSet(this,_currentCursorX,__privateGet(this,_targetCursorX)):__privateSet(this,_currentCursorX,d),__privateGet(this,_cursor).style.left=`${__privateGet(this,_currentCursorX)}px`);const g=Math.abs(p-__privateGet(this,_targetCursorY));g>0&&(g<2?__privateSet(this,_currentCursorY,__privateGet(this,_targetCursorY)):__privateSet(this,_currentCursorY,p),__privateGet(this,_cursor).style.top=`${__privateGet(this,_currentCursorY)}px`),requestAnimationFrame(()=>__privateMethod(this,_SimulatorMask_instances,moveCursorToTarget_fn).call(this))},"#moveCursorToTarget"),__name(_SimulatorMask,"SimulatorMask");let SimulatorMask=_SimulatorMask;const SimulatorMaskBHnQ6LmL=Object.freeze(Object.defineProperty({__proto__:null,SimulatorMask},Symbol.toStringTag,{value:"Module"}))})();
|