jat-feedback 3.0.1 → 3.0.3

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.
@@ -1,9 +1,9 @@
1
- var hr=Object.defineProperty;var ir=Ce=>{throw TypeError(Ce)};var gr=(Ce,Re,De)=>Re in Ce?hr(Ce,Re,{enumerable:!0,configurable:!0,writable:!0,value:De}):Ce[Re]=De;var ne=(Ce,Re,De)=>gr(Ce,typeof Re!="symbol"?Re+"":Re,De),Jn=(Ce,Re,De)=>Re.has(Ce)||ir("Cannot "+De);var $=(Ce,Re,De)=>(Jn(Ce,Re,"read from private field"),De?De.call(Ce):Re.get(Ce)),fe=(Ce,Re,De)=>Re.has(Ce)?ir("Cannot add the same private member more than once"):Re instanceof WeakSet?Re.add(Ce):Re.set(Ce,De),le=(Ce,Re,De,Ot)=>(Jn(Ce,Re,"write to private field"),Ot?Ot.call(Ce,De):Re.set(Ce,De),De),Ve=(Ce,Re,De)=>(Jn(Ce,Re,"access private method"),De);(function(){"use strict";var Ce,Re,De,Ot,on,Xt,sn,hn,gn,Kt,Lt,an,yt,Qn,er,ar,et,vn,wt,Jt,xt,at,Ye,kt,Pt,qt,Qt,Mt,ln,en,cn,un,Ft,zn,Ze,lr,cr,tr,Zn,jn,nr,rr,or,ut,Et,tt,tn,_n,mn,An,Dt,lt,sr;const PUBLIC_VERSION="5";typeof window<"u"&&((Ce=window.__svelte??(window.__svelte={})).v??(Ce.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);ne(this,"name","StaleReactionError");ne(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},IS_XHTML=((De=(Re=globalThis.document)==null?void 0:Re.contentType)==null?void 0:De.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 Un=class Un{constructor(){fe(this,yt);ne(this,"committed",!1);ne(this,"current",new Map);ne(this,"previous",new Map);fe(this,Ot,new Set);fe(this,on,new Set);fe(this,Xt,0);fe(this,sn,0);fe(this,hn,null);fe(this,gn,new Set);fe(this,Kt,new Set);fe(this,Lt,new Map);ne(this,"is_fork",!1);fe(this,an,!1)}is_deferred(){return this.is_fork||$(this,sn)>0}skip_effect(t){$(this,Lt).has(t)||$(this,Lt).set(t,{d:[],m:[]})}unskip_effect(t){var n=$(this,Lt).get(t);if(n){$(this,Lt).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)Ve(this,yt,Qn).call(this,s,n,r);if(this.is_deferred()){Ve(this,yt,er).call(this,r),Ve(this,yt,er).call(this,n);for(const[s,i]of $(this,Lt))reset_branch(s,i)}else{for(const s of $(this,Ot))s();$(this,Ot).clear(),$(this,Xt)===0&&Ve(this,yt,ar).call(this),previous_batch=this,current_batch=null,flush_queued_effects(r),flush_queued_effects(n),previous_batch=null,(o=$(this,hn))==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&&current_batch!==this)return}else $(this,Xt)===0&&this.process([]);this.deactivate()}discard(){for(const t of $(this,on))t(this);$(this,on).clear()}increment(t){le(this,Xt,$(this,Xt)+1),t&&le(this,sn,$(this,sn)+1)}decrement(t){le(this,Xt,$(this,Xt)-1),t&&le(this,sn,$(this,sn)-1),!$(this,an)&&(le(this,an,!0),queue_micro_task(()=>{le(this,an,!1),this.is_deferred()?queued_root_effects.length>0&&this.flush():this.revive()}))}revive(){for(const t of $(this,gn))$(this,Kt).delete(t),set_signal_status(t,DIRTY),schedule_effect(t);for(const t of $(this,Kt))set_signal_status(t,MAYBE_DIRTY),schedule_effect(t);this.flush()}oncommit(t){$(this,Ot).add(t)}ondiscard(t){$(this,on).add(t)}settled(){return($(this,hn)??le(this,hn,deferred())).promise}static ensure(){if(current_batch===null){const t=current_batch=new Un;batches.add(current_batch),is_flushing_sync||queue_micro_task(()=>{current_batch===t&&t.flush()})}return current_batch}apply(){}};Ot=new WeakMap,on=new WeakMap,Xt=new WeakMap,sn=new WeakMap,hn=new WeakMap,gn=new WeakMap,Kt=new WeakMap,Lt=new WeakMap,an=new WeakMap,yt=new WeakSet,Qn=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||$(this,Lt).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&&$(this,Kt).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}},er=function(t){for(var n=0;n<t.length;n+=1)defer_effect(t[n],$(this,gn),$(this,Kt))},ar=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)Ve(o=s,yt,Qn).call(o,u,[],[]);s.deactivate()}queued_root_effects=r}}current_batch=null,batch_values=t}this.committed=!0,batches.delete(this)};let Batch=Un;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){fe(this,Ze);ne(this,"parent");ne(this,"is_pending",!1);fe(this,et);fe(this,vn,hydrating?hydrate_node:null);fe(this,wt);fe(this,Jt);fe(this,xt);fe(this,at,null);fe(this,Ye,null);fe(this,kt,null);fe(this,Pt,null);fe(this,qt,null);fe(this,Qt,0);fe(this,Mt,0);fe(this,ln,!1);fe(this,en,!1);fe(this,cn,new Set);fe(this,un,new Set);fe(this,Ft,null);fe(this,zn,createSubscriber(()=>(le(this,Ft,source($(this,Qt))),()=>{le(this,Ft,null)})));le(this,et,t),le(this,wt,n),le(this,Jt,r),this.parent=active_effect.b,this.is_pending=!!$(this,wt).pending,le(this,xt,block(()=>{if(active_effect.b=this,hydrating){const s=$(this,vn);hydrate_next(),s.nodeType===COMMENT_NODE&&s.data===HYDRATION_START_ELSE?Ve(this,Ze,cr).call(this):(Ve(this,Ze,lr).call(this),$(this,Mt)===0&&(this.is_pending=!1))}else{var o=Ve(this,Ze,tr).call(this);try{le(this,at,branch(()=>r(o)))}catch(s){this.error(s)}$(this,Mt)>0?Ve(this,Ze,jn).call(this):this.is_pending=!1}return()=>{var s;(s=$(this,qt))==null||s.remove()}},flags)),hydrating&&le(this,et,hydrate_node)}defer_effect(t){defer_effect(t,$(this,cn),$(this,un))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!$(this,wt).pending}update_pending_count(t){Ve(this,Ze,nr).call(this,t),le(this,Qt,$(this,Qt)+t),!(!$(this,Ft)||$(this,ln))&&(le(this,ln,!0),queue_micro_task(()=>{le(this,ln,!1),$(this,Ft)&&internal_set($(this,Ft),$(this,Qt))}))}get_effect_pending(){return $(this,zn).call(this),get($(this,Ft))}error(t){var n=$(this,wt).onerror;let r=$(this,wt).failed;if($(this,en)||!n&&!r)throw t;$(this,at)&&(destroy_effect($(this,at)),le(this,at,null)),$(this,Ye)&&(destroy_effect($(this,Ye)),le(this,Ye,null)),$(this,kt)&&(destroy_effect($(this,kt)),le(this,kt,null)),hydrating&&(set_hydrate_node($(this,vn)),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(),le(this,Qt,0),$(this,kt)!==null&&pause_effect($(this,kt),()=>{le(this,kt,null)}),this.is_pending=this.has_pending_snippet(),le(this,at,Ve(this,Ze,Zn).call(this,()=>(le(this,en,!1),branch(()=>$(this,Jt).call(this,$(this,et)))))),$(this,Mt)>0?Ve(this,Ze,jn).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,$(this,xt)&&$(this,xt).parent)}r&&le(this,kt,Ve(this,Ze,Zn).call(this,()=>{Batch.ensure(),le(this,en,!0);try{return branch(()=>{r($(this,et),()=>t,()=>i)})}catch(a){return invoke_error_boundary(a,$(this,xt).parent),null}finally{le(this,en,!1)}}))})}}et=new WeakMap,vn=new WeakMap,wt=new WeakMap,Jt=new WeakMap,xt=new WeakMap,at=new WeakMap,Ye=new WeakMap,kt=new WeakMap,Pt=new WeakMap,qt=new WeakMap,Qt=new WeakMap,Mt=new WeakMap,ln=new WeakMap,en=new WeakMap,cn=new WeakMap,un=new WeakMap,Ft=new WeakMap,zn=new WeakMap,Ze=new WeakSet,lr=function(){try{le(this,at,branch(()=>$(this,Jt).call(this,$(this,et))))}catch(t){this.error(t)}},cr=function(){const t=$(this,wt).pending;t&&(le(this,Ye,branch(()=>t($(this,et)))),queue_micro_task(()=>{var n=Ve(this,Ze,tr).call(this);le(this,at,Ve(this,Ze,Zn).call(this,()=>(Batch.ensure(),branch(()=>$(this,Jt).call(this,n))))),$(this,Mt)>0?Ve(this,Ze,jn).call(this):(pause_effect($(this,Ye),()=>{le(this,Ye,null)}),this.is_pending=!1)}))},tr=function(){var t=$(this,et);return this.is_pending&&(le(this,qt,create_text()),$(this,et).before($(this,qt)),t=$(this,qt)),t},Zn=function(t){var n=active_effect,r=active_reaction,o=component_context;set_active_effect($(this,xt)),set_active_reaction($(this,xt)),set_component_context($(this,xt).ctx);try{return t()}catch(s){return handle_error(s),null}finally{set_active_effect(n),set_active_reaction(r),set_component_context(o)}},jn=function(){const t=$(this,wt).pending;$(this,at)!==null&&(le(this,Pt,document.createDocumentFragment()),$(this,Pt).append($(this,qt)),move_effect($(this,at),$(this,Pt))),$(this,Ye)===null&&le(this,Ye,branch(()=>t($(this,et))))},nr=function(t){var n;if(!this.has_pending_snippet()){this.parent&&Ve(n=this.parent,Ze,nr).call(n,t);return}if(le(this,Mt,$(this,Mt)+t),$(this,Mt)===0){this.is_pending=!1;for(const r of $(this,cn))set_signal_status(r,DIRTY),schedule_effect(r);for(const r of $(this,un))set_signal_status(r,MAYBE_DIRTY),schedule_effect(r);$(this,cn).clear(),$(this,un).clear(),$(this,Ye)&&pause_effect($(this,Ye),()=>{le(this,Ye,null)}),$(this,Pt)&&($(this,et).before($(this,Pt)),le(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&&current_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&&current_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=(or=(rr=globalThis==null?void 0:globalThis.window)==null?void 0:rr.trustedTypes)==null?void 0:or.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){ne(this,"anchor");fe(this,ut,new Map);fe(this,Et,new Map);fe(this,tt,new Map);fe(this,tn,new Set);fe(this,_n,!0);fe(this,mn,()=>{var t=current_batch;if($(this,ut).has(t)){var n=$(this,ut).get(t),r=$(this,Et).get(n);if(r)resume_effect(r),$(this,tn).delete(n);else{var o=$(this,tt).get(n);o&&($(this,Et).set(n,o.effect),$(this,tt).delete(n),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),r=o.effect)}for(const[s,i]of $(this,ut)){if($(this,ut).delete(s),s===t)break;const a=$(this,tt).get(i);a&&(destroy_effect(a.effect),$(this,tt).delete(i))}for(const[s,i]of $(this,Et)){if(s===n||$(this,tn).has(s))continue;const a=()=>{if(Array.from($(this,ut).values()).includes(s)){var c=document.createDocumentFragment();move_effect(i,c),c.append(create_text()),$(this,tt).set(s,{effect:i,fragment:c})}else destroy_effect(i);$(this,tn).delete(s),$(this,Et).delete(s)};$(this,_n)||!r?($(this,tn).add(s),pause_effect(i,a,!1)):a()}}});fe(this,An,t=>{$(this,ut).delete(t);const n=Array.from($(this,ut).values());for(const[r,o]of $(this,tt))n.includes(r)||(destroy_effect(o.effect),$(this,tt).delete(r))});this.anchor=t,le(this,_n,n)}ensure(t,n){var r=current_batch,o=should_defer_append();if(n&&!$(this,Et).has(t)&&!$(this,tt).has(t))if(o){var s=document.createDocumentFragment(),i=create_text();s.append(i),$(this,tt).set(t,{effect:branch(()=>n(i)),fragment:s})}else $(this,Et).set(t,branch(()=>n(this.anchor)));if($(this,ut).set(r,t),o){for(const[a,l]of $(this,Et))a===t?r.unskip_effect(l):r.skip_effect(l);for(const[a,l]of $(this,tt))a===t?r.unskip_effect(l.effect):r.skip_effect(l.effect);r.oncommit($(this,mn)),r.ondiscard($(this,An))}else hydrating&&(this.anchor=hydrate_node),$(this,mn).call(this)}}ut=new WeakMap,Et=new WeakMap,tt=new WeakMap,tn=new WeakMap,_n=new WeakMap,mn=new WeakMap,An=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 E=new Set,k=current_batch,N=should_defer_append(),P=0;P<p;P+=1){hydrating&&hydrate_node.nodeType===COMMENT_NODE&&hydrate_node.data===HYDRATION_END&&(i=hydrate_node,b=!0,set_hydrating(!1));var Z=f[P],Q=r(Z,P),re=v?null:a.get(Q);re?(re.v&&internal_set(re.v,Z),re.i&&internal_set(re.i,P),N&&k.unskip_effect(re.e)):(re=create_item(a,v?i:offscreen_anchor??(offscreen_anchor=create_text()),Z,Q,P,o,t,n),v||(re.e.f|=EFFECT_OFFSCREEN),a.set(Q,re)),E.add(Q)}if(p===0&&s&&!u&&(v?u=branch(()=>s(i)):(u=branch(()=>s(offscreen_anchor??(offscreen_anchor=create_text()))),u.f|=EFFECT_OFFSCREEN)),p>E.size&&each_key_duplicate(),hydrating&&p>0&&set_hydrate_node(skip_nodes()),!v)if(N){for(const[ce,ie]of a)E.has(ce)||k.skip_effect(ie.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 re,ce,ie,we,ge,ze,xe,ve,me;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&&((ce=(re=h.nodes)==null?void 0:re.a)==null||ce.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&&((we=(ie=h.nodes)==null?void 0:ie.a)==null||we.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],E;u=m.prev;var k=f[0],N=f[f.length-1];for(E=0;E<f.length;E+=1)move(f[E],m,n);for(E=0;E<v.length;E+=1)c.delete(v[E]);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)),(ge=e.outrogroups)==null||ge.delete(g));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||c!==void 0){var P=[];if(c!==void 0)for(h of c)(h.f&INERT)===0&&P.push(h);for(;l!==null;)(l.f&INERT)===0&&l!==e.fallback&&P.push(l),l=skip_to_branch(l.next);var Z=P.length;if(Z>0){var Q=(r&EACH_IS_CONTROLLED)!==0&&i===0?n:null;if(s){for(p=0;p<Z;p+=1)(xe=(ze=P[p].nodes)==null?void 0:ze.a)==null||xe.measure();for(p=0;p<Z;p+=1)(me=(ve=P[p].nodes)==null?void 0:ve.a)==null||me.fix()}pause_effects(e,P,Q)}}s&&queue_micro_task(()=>{var g,x;if(d!==void 0)for(h of d)(x=(g=h.nodes)==null?void 0:g.a)==null||x.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 E=!1;if(c)for(var k=Math.ceil(b/16.666666666666668),N=0;N<=k;N+=1){var P=h+p*d(N/k),Z=css_to_keyframe(c(P,1-P));m.push(Z),E||(E=Z.overflow==="hidden")}E&&(e.style.overflow="hidden"),_=()=>{var Q=y.currentTime;return h+p*d(Q/b)},u&&loop(()=>{if(y.playState!=="running")return!1;var Q=_();return u(Q,1-Q),!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,E){return arguments.length>0?((!E||_||f)&&c(E?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,E){if(arguments.length>0){const k=E?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){fe(this,Dt);fe(this,lt);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)}});le(this,lt,(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(),le(this,Dt,o.$$events);for(const i of Object.keys($(this,lt)))i==="$set"||i==="$destroy"||i==="$on"||define_property(this,i,{get(){return $(this,lt)[i]},set(a){$(this,lt)[i]=a},enumerable:!0});$(this,lt).$set=i=>{Object.assign(o,i)},$(this,lt).$destroy=()=>{unmount($(this,lt))}}$set(t){$(this,lt).$set(t)}$on(t,n){$(this,Dt)[t]=$(this,Dt)[t]||[];const r=(...o)=>n.call(this,...o);return $(this,Dt)[t].push(r),()=>{$(this,Dt)[t]=$(this,Dt)[t].filter(o=>o!==r)}}$destroy(){$(this,lt).$destroy()}}Dt=new WeakMap,lt=new WeakMap;let SvelteElement;typeof HTMLElement=="function"&&(SvelteElement=class extends HTMLElement{constructor(t,n,r){super();ne(this,"$$ctor");ne(this,"$$s");ne(this,"$$c");ne(this,"$$cn",!1);ne(this,"$$d",{});ne(this,"$$r",!1);ne(this,"$$p_d",{});ne(this,"$$l",{});ne(this,"$$l_u",new Map);ne(this,"$$me");ne(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?`
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&&current_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&&current_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&&current_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
4
  `+e.stack:""}`;if(typeof e=="object")try{const t=new WeakSet;return JSON.stringify(e,(n,r)=>{if(typeof r=="object"&&r!==null){if(t.has(r))return"[Circular]";t.add(r)}return typeof r=="function"?`[Function: ${r.name||"anonymous"}]`:r instanceof Error?`${r.name}: ${r.message}`:r},2)}catch{return"[Object - stringify failed]"}return String(e)}function captureStackInfo(){const e=new Error().stack;if(!e)return{};const n=e.split(`
5
5
  `).slice(4),r=n.join(`
6
- `),s=(n[0]||"").match(/(?:at\s+(?:\S+\s+)?\()?([^()]+):(\d+):(\d+)\)?/);return s?{stackTrace:r,fileName:s[1],lineNumber:parseInt(s[2],10),columnNumber:parseInt(s[3],10)}:{stackTrace:r}}function createLogEntry(e,t,n){const r=new Date,o=filterSensitiveData(t.map(safeStringify).join(" ")),s={type:e,message:o,timestamp:r.toISOString(),timestampMs:r.getTime(),url:window.location.href};return(n||e==="error"||e==="warn"||e==="trace")&&Object.assign(s,captureStackInfo()),s}function addLogEntry(e){for(capturedLogs.push(e);capturedLogs.length>maxEntries;)capturedLogs.shift()}function startConsoleCapture(e){capturing||(capturing=!0,e&&(maxEntries=e),console.log=(...t)=>{originalConsole.log(...t),addLogEntry(createLogEntry("log",t,!1))},console.error=(...t)=>{originalConsole.error(...t),addLogEntry(createLogEntry("error",t,!0))},console.warn=(...t)=>{originalConsole.warn(...t),addLogEntry(createLogEntry("warn",t,!0))},console.info=(...t)=>{originalConsole.info(...t),addLogEntry(createLogEntry("info",t,!1))},console.debug=(...t)=>{originalConsole.debug(...t),addLogEntry(createLogEntry("debug",t,!1))},console.trace=(...t)=>{originalConsole.trace(...t),addLogEntry(createLogEntry("trace",t,!0))})}function stopConsoleCapture(){capturing&&(capturing=!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]}function getXPath(e){var r;if(e.id!=="")return'id("'+e.id+'")';if(e===document.body)return e.tagName;let t=0;const n=((r=e.parentNode)==null?void 0:r.childNodes)||[];for(let o=0;o<n.length;o++){const s=n[o];if(s===e)return getXPath(e.parentElement)+"/"+e.tagName+"["+(t+1)+"]";s.nodeType===1&&s.tagName===e.tagName&&t++}return""}function generateSelector(e){if(e.id)return"#"+CSS.escape(e.id);const t=[];let n=e;for(;n&&n!==document.body&&n!==document.documentElement;){let o=n.tagName.toLowerCase();if(n.id){o="#"+CSS.escape(n.id),t.unshift(o);break}if(n.className&&typeof n.className=="string"){const l=n.className.split(/\s+/).filter(c=>c&&!c.match(/^(ng-|v-|svelte-|css-|_|js-|is-|has-)/)&&!c.match(/^\d/)&&c.length>1);l.length>0&&(o+="."+l.slice(0,2).map(c=>CSS.escape(c)).join("."))}const s=["data-testid","data-id","data-name","name","role","aria-label"];for(const l of s){const c=n.getAttribute(l);if(c){o+=`[${l}="${CSS.escape(c)}"]`;break}}const i=n.parentElement;if(i){const l=Array.from(i.children).filter(c=>c.tagName===n.tagName);if(l.length>1){const c=l.indexOf(n)+1;o+=`:nth-of-type(${c})`}}t.unshift(o);const a=t.join(" > ");try{if(document.querySelectorAll(a).length===1)break}catch{}n=n.parentElement}const r=t.join(" > ");try{if(document.querySelectorAll(r).length===1)return r}catch{}return generateFallbackSelector(e)}function generateFallbackSelector(e){const t=[];let n=e;for(;n&&n!==document.body;){const r=n.parentElement;if(r){const o=Array.from(r.children).indexOf(n)+1;t.unshift(`*:nth-child(${o})`),n=r}else break}return"body > "+t.join(" > ")}let isActive=!1,originalCursor="",overlay=null,tooltip=null,onSelect=null;function createOverlay(){const e=document.createElement("div");return e.id="jat-feedback-picker-overlay",e.style.cssText=`
6
+ `),s=(n[0]||"").match(/(?:at\s+(?:\S+\s+)?\()?([^()]+):(\d+):(\d+)\)?/);return s?{stackTrace:r,fileName:s[1],lineNumber:parseInt(s[2],10),columnNumber:parseInt(s[3],10)}:{stackTrace:r}}function isNavigatorLockAbortError(e){if(e.length===0)return!1;const t=e[0];return t instanceof DOMException&&(t.name==="AbortError"||t.message==="The operation was aborted.")}function createLogEntry(e,t,n){const r=new Date,o=filterSensitiveData(t.map(safeStringify).join(" ")),s={type:e,message:o,timestamp:r.toISOString(),timestampMs:r.getTime(),url:window.location.href};return(n||e==="error"||e==="warn"||e==="trace")&&Object.assign(s,captureStackInfo()),s}function addLogEntry(e){for(capturedLogs.push(e);capturedLogs.length>maxEntries;)capturedLogs.shift()}function startConsoleCapture(e){capturing||(capturing=!0,e&&(maxEntries=e),console.log=(...t)=>{originalConsole.log(...t),addLogEntry(createLogEntry("log",t,!1))},console.error=(...t)=>{originalConsole.error(...t),!isNavigatorLockAbortError(t)&&addLogEntry(createLogEntry("error",t,!0))},console.warn=(...t)=>{originalConsole.warn(...t),addLogEntry(createLogEntry("warn",t,!0))},console.info=(...t)=>{originalConsole.info(...t),addLogEntry(createLogEntry("info",t,!1))},console.debug=(...t)=>{originalConsole.debug(...t),addLogEntry(createLogEntry("debug",t,!1))},console.trace=(...t)=>{originalConsole.trace(...t),addLogEntry(createLogEntry("trace",t,!0))})}function stopConsoleCapture(){capturing&&(capturing=!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]}function getXPath(e){var r;if(e.id!=="")return'id("'+e.id+'")';if(e===document.body)return e.tagName;let t=0;const n=((r=e.parentNode)==null?void 0:r.childNodes)||[];for(let o=0;o<n.length;o++){const s=n[o];if(s===e)return getXPath(e.parentElement)+"/"+e.tagName+"["+(t+1)+"]";s.nodeType===1&&s.tagName===e.tagName&&t++}return""}function generateSelector(e){if(e.id)return"#"+CSS.escape(e.id);const t=[];let n=e;for(;n&&n!==document.body&&n!==document.documentElement;){let o=n.tagName.toLowerCase();if(n.id){o="#"+CSS.escape(n.id),t.unshift(o);break}if(n.className&&typeof n.className=="string"){const l=n.className.split(/\s+/).filter(c=>c&&!c.match(/^(ng-|v-|svelte-|css-|_|js-|is-|has-)/)&&!c.match(/^\d/)&&c.length>1);l.length>0&&(o+="."+l.slice(0,2).map(c=>CSS.escape(c)).join("."))}const s=["data-testid","data-id","data-name","name","role","aria-label"];for(const l of s){const c=n.getAttribute(l);if(c){o+=`[${l}="${CSS.escape(c)}"]`;break}}const i=n.parentElement;if(i){const l=Array.from(i.children).filter(c=>c.tagName===n.tagName);if(l.length>1){const c=l.indexOf(n)+1;o+=`:nth-of-type(${c})`}}t.unshift(o);const a=t.join(" > ");try{if(document.querySelectorAll(a).length===1)break}catch{}n=n.parentElement}const r=t.join(" > ");try{if(document.querySelectorAll(r).length===1)return r}catch{}return generateFallbackSelector(e)}function generateFallbackSelector(e){const t=[];let n=e;for(;n&&n!==document.body;){const r=n.parentElement;if(r){const o=Array.from(r.children).indexOf(n)+1;t.unshift(`*:nth-child(${o})`),n=r}else break}return"body > "+t.join(" > ")}let isActive=!1,originalCursor="",overlay=null,tooltip=null,onSelect=null;function createOverlay(){const e=document.createElement("div");return e.id="jat-feedback-picker-overlay",e.style.cssText=`
7
7
  position: fixed;
8
8
  top: 0;
9
9
  left: 0;
@@ -29,28 +29,28 @@ var hr=Object.defineProperty;var ir=Ce=>{throw TypeError(Ce)};var gr=(Ce,Re,De)=
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?(sr=window.navigator)==null?void 0:sr.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,E,k,N;const{url:p,result:b}=h.data;b?(E=(m=c.get(p))==null?void 0:m.resolve)==null||E.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(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(`
33
33
  .______background-clip--text {
34
34
  background-clip: text;
35
35
  -webkit-background-clip: text;
36
36
  }
37
- `);return t.appendChild(n),t}function resolveBoundingBox(e,t){let{width:n,height:r}=t;if(isElementNode(e)&&(!n||!r)){const o=e.getBoundingClientRect();n=n||o.width||Number(e.getAttribute("width"))||0,r=r||o.height||Number(e.getAttribute("height"))||0}return{width:n,height:r}}async function imageToCanvas(e,t){const{log:n,timeout:r,drawImageCount:o,drawImageInterval:s}=t;n.time("image to canvas");const i=await loadMedia(e,{timeout:r,onWarn:t.log.warn}),{canvas:a,context2d:l}=createCanvas(e.ownerDocument,t),c=()=>{try{l==null||l.drawImage(i,0,0,a.width,a.height)}catch(u){t.log.warn("Failed to drawImage",u)}};if(c(),t.isEnable("fixSvgXmlDecode"))for(let u=0;u<o;u++)await new Promise(d=>{setTimeout(()=>{l==null||l.clearRect(0,0,a.width,a.height),c(),d()},u+s)});return t.drawImageCount=0,n.timeEnd("image to canvas"),a}function createCanvas(e,t){const{width:n,height:r,scale:o,backgroundColor:s,maximumCanvasSize:i}=t,a=e.createElement("canvas");a.width=Math.floor(n*o),a.height=Math.floor(r*o),a.style.width=`${n}px`,a.style.height=`${r}px`,i&&(a.width>i||a.height>i)&&(a.width>i&&a.height>i?a.width>a.height?(a.height*=i/a.width,a.width=i):(a.width*=i/a.height,a.height=i):a.width>i?(a.height*=i/a.width,a.width=i):(a.width*=i/a.height,a.height=i));const l=a.getContext("2d");return l&&s&&(l.fillStyle=s,l.fillRect(0,0,a.width,a.height)),{canvas:a,context2d:l}}function cloneCanvas(e,t){if(e.ownerDocument)try{const s=e.toDataURL();if(s!=="data:,")return createImage(s,e.ownerDocument)}catch(s){t.log.warn("Failed to clone canvas",s)}const n=e.cloneNode(!1),r=e.getContext("2d"),o=n.getContext("2d");try{return r&&o&&o.putImageData(r.getImageData(0,0,e.width,e.height),0,0),n}catch(s){t.log.warn("Failed to clone canvas",s)}return n}function cloneIframe(e,t){var n;try{if((n=e==null?void 0:e.contentDocument)!=null&&n.body)return cloneNode(e.contentDocument.body,t)}catch(r){t.log.warn("Failed to clone iframe",r)}return e.cloneNode(!1)}function cloneImage(e){const t=e.cloneNode(!1);return e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager"),t}async function cloneVideo(e,t){if(e.ownerDocument&&!e.currentSrc&&e.poster)return createImage(e.poster,e.ownerDocument);const n=e.cloneNode(!1);n.crossOrigin="anonymous",e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc);const r=n.ownerDocument;if(r){let o=!0;if(await loadMedia(n,{onError:()=>o=!1,onWarn:t.log.warn}),!o)return e.poster?createImage(e.poster,e.ownerDocument):n;n.currentTime=e.currentTime,await new Promise(i=>{n.addEventListener("seeked",i,{once:!0})});const s=r.createElement("canvas");s.width=e.offsetWidth,s.height=e.offsetHeight;try{const i=s.getContext("2d");i&&i.drawImage(n,0,0,s.width,s.height)}catch(i){return t.log.warn("Failed to clone video",i),e.poster?createImage(e.poster,e.ownerDocument):n}return cloneCanvas(s,t)}return n}function cloneElement(e,t){return isCanvasElement(e)?cloneCanvas(e,t):isIFrameElement(e)?cloneIframe(e,t):isImageElement(e)?cloneImage(e):isVideoElement(e)?cloneVideo(e,t):e.cloneNode(!1)}function getSandBox(e){let t=e.sandbox;if(!t){const{ownerDocument:n}=e;try{n&&(t=n.createElement("iframe"),t.id=`__SANDBOX__${uuid$1()}`,t.width="0",t.height="0",t.style.visibility="hidden",t.style.position="fixed",n.body.appendChild(t),t.srcdoc='<!DOCTYPE html><meta charset="UTF-8"><title></title><body>',e.sandbox=t)}catch(r){e.log.warn("Failed to getSandBox",r)}}return t}const ignoredStyles=["width","height","-webkit-text-fill-color"],includedAttributes=["stroke","fill"];function getDefaultStyle(e,t,n){const{defaultComputedStyles:r}=n,o=e.nodeName.toLowerCase(),s=isSVGElementNode(e)&&o!=="svg",i=s?includedAttributes.map(y=>[y,e.getAttribute(y)]).filter(([,y])=>y!==null):[],a=[s&&"svg",o,i.map((y,h)=>`${y}=${h}`).join(","),t].filter(Boolean).join(":");if(r.has(a))return r.get(a);const l=getSandBox(n),c=l==null?void 0:l.contentWindow;if(!c)return new Map;const u=c==null?void 0:c.document;let d,f;s?(d=u.createElementNS(XMLNS,"svg"),f=d.ownerDocument.createElementNS(d.namespaceURI,o),i.forEach(([y,h])=>{f.setAttributeNS(null,y,h)}),d.appendChild(f)):d=f=u.createElement(o),f.textContent=" ",u.body.appendChild(d);const v=c.getComputedStyle(f,t),_=new Map;for(let y=v.length,h=0;h<y;h++){const p=v.item(h);ignoredStyles.includes(p)||_.set(p,v.getPropertyValue(p))}return u.body.removeChild(d),r.set(a,_),_}function getDiffStyle(e,t,n){var a;const r=new Map,o=[],s=new Map;if(n)for(const l of n)i(l);else for(let l=e.length,c=0;c<l;c++){const u=e.item(c);i(u)}for(let l=o.length,c=0;c<l;c++)(a=s.get(o[c]))==null||a.forEach((u,d)=>r.set(d,u));function i(l){const c=e.getPropertyValue(l),u=e.getPropertyPriority(l),d=l.lastIndexOf("-"),f=d>-1?l.substring(0,d):void 0;if(f){let v=s.get(f);v||(v=new Map,s.set(f,v)),v.set(l,[c,u])}t.get(l)===c&&!u||(f?o.push(f):r.set(l,[c,u]))}return r}function copyCssStyles(e,t,n,r){var d,f,v,_;const{ownerWindow:o,includeStyleProperties:s,currentParentNodeStyle:i}=r,a=t.style,l=o.getComputedStyle(e),c=getDefaultStyle(e,null,r);i==null||i.forEach((y,h)=>{c.delete(h)});const u=getDiffStyle(l,c,s);u.delete("transition-property"),u.delete("all"),u.delete("d"),u.delete("content"),n&&(u.delete("margin-top"),u.delete("margin-right"),u.delete("margin-bottom"),u.delete("margin-left"),u.delete("margin-block-start"),u.delete("margin-block-end"),u.delete("margin-inline-start"),u.delete("margin-inline-end"),u.set("box-sizing",["border-box",""])),((d=u.get("background-clip"))==null?void 0:d[0])==="text"&&t.classList.add("______background-clip--text"),IN_CHROME&&(u.has("font-kerning")||u.set("font-kerning",["normal",""]),(((f=u.get("overflow-x"))==null?void 0:f[0])==="hidden"||((v=u.get("overflow-y"))==null?void 0:v[0])==="hidden")&&((_=u.get("text-overflow"))==null?void 0:_[0])==="ellipsis"&&e.scrollWidth===e.clientWidth&&u.set("text-overflow",["clip",""]));for(let y=a.length,h=0;h<y;h++)a.removeProperty(a.item(h));return u.forEach(([y,h],p)=>{a.setProperty(p,y,h)}),u}function copyInputValue(e,t){(isTextareaElement(e)||isInputElement(e)||isSelectElement(e))&&t.setAttribute("value",e.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(e,t,n,r,o){const{ownerWindow:s,svgStyleElement:i,svgStyles:a,currentNodeStyle:l}=r;if(!i||!s)return;function c(u){var m;const d=s.getComputedStyle(e,u);let f=d.getPropertyValue("content");if(!f||f==="none")return;o==null||o(f),f=f.replace(/(')|(")|(counter\(.+\))/g,"");const v=[uuid$1()],_=getDefaultStyle(e,u,r);l==null||l.forEach((E,k)=>{_.delete(k)});const y=getDiffStyle(d,_,r.includeStyleProperties);y.delete("content"),y.delete("-webkit-locale"),((m=y.get("background-clip"))==null?void 0:m[0])==="text"&&t.classList.add("______background-clip--text");const h=[`content: '${f}';`];if(y.forEach(([E,k],N)=>{h.push(`${N}: ${E}${k?" !important":""};`)}),h.length===1)return;try{t.className=[t.className,...v].join(" ")}catch(E){r.log.warn("Failed to copyPseudoClass",E);return}const p=h.join(`
38
- `);let b=a.get(p);b||(b=[],a.set(p,b)),b.push(`.${v[0]}${u}`)}pseudoClasses.forEach(c),n&&scrollbarPseudoClasses.forEach(c)}const excludeParentNodes=new Set(["symbol"]);async function appendChildNode(e,t,n,r,o){if(isElementNode(n)&&(isStyleElement(n)||isScriptElement(n))||r.filter&&!r.filter(n))return;excludeParentNodes.has(t.nodeName)||excludeParentNodes.has(n.nodeName)?r.currentParentNodeStyle=void 0:r.currentParentNodeStyle=r.currentNodeStyle;const s=await cloneNode(n,r,!1,o);r.isEnable("restoreScrollPosition")&&restoreScrollPosition(e,s),t.appendChild(s)}async function cloneChildNodes(e,t,n,r){var s;let o=e.firstChild;isElementNode(e)&&e.shadowRoot&&(o=(s=e.shadowRoot)==null?void 0:s.firstChild,n.shadowRoots.push(e.shadowRoot));for(let i=o;i;i=i.nextSibling)if(!isCommentNode(i))if(isElementNode(i)&&isSlotElement(i)&&typeof i.assignedNodes=="function"){const a=i.assignedNodes();for(let l=0;l<a.length;l++)await appendChildNode(e,t,a[l],n,r)}else await appendChildNode(e,t,i,n,r)}function restoreScrollPosition(e,t){if(!isHTMLElementNode(e)||!isHTMLElementNode(t))return;const{scrollTop:n,scrollLeft:r}=e;if(!n&&!r)return;const{transform:o}=t.style,s=new DOMMatrix(o),{a:i,b:a,c:l,d:c}=s;s.a=1,s.b=0,s.c=0,s.d=1,s.translateSelf(-r,-n),s.a=i,s.b=a,s.c=l,s.d=c,t.style.transform=s.toString()}function applyCssStyleWithOptions(e,t){const{backgroundColor:n,width:r,height:o,style:s}=t,i=e.style;if(n&&i.setProperty("background-color",n,"important"),r&&i.setProperty("width",`${r}px`,"important"),o&&i.setProperty("height",`${o}px`,"important"),s)for(const a in s)i[a]=s[a]}const NORMAL_ATTRIBUTE_RE=/^[\w-:]+$/;async function cloneNode(e,t,n=!1,r){var c,u,d,f;const{ownerDocument:o,ownerWindow:s,fontFamilies:i,onCloneEachNode:a}=t;if(o&&isTextNode(e))return r&&/\S/.test(e.data)&&r(e.data),o.createTextNode(e.data);if(o&&s&&isElementNode(e)&&(isHTMLElementNode(e)||isSVGElementNode(e))){const v=await cloneElement(e,t);if(t.isEnable("removeAbnormalAttributes")){const m=v.getAttributeNames();for(let E=m.length,k=0;k<E;k++){const N=m[k];NORMAL_ATTRIBUTE_RE.test(N)||v.removeAttribute(N)}}const _=t.currentNodeStyle=copyCssStyles(e,v,n,t);n&&applyCssStyleWithOptions(v,t);let y=!1;if(t.isEnable("copyScrollbar")){const m=[(c=_.get("overflow-x"))==null?void 0:c[0],(u=_.get("overflow-y"))==null?void 0:u[0]];y=m.includes("scroll")||(m.includes("auto")||m.includes("overlay"))&&(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)}const h=(d=_.get("text-transform"))==null?void 0:d[0],p=splitFontFamily((f=_.get("font-family"))==null?void 0:f[0]),b=p?m=>{h==="uppercase"?m=m.toUpperCase():h==="lowercase"?m=m.toLowerCase():h==="capitalize"&&(m=m[0].toUpperCase()+m.substring(1)),p.forEach(E=>{let k=i.get(E);k||i.set(E,k=new Set),m.split("").forEach(N=>k.add(N))})}:void 0;return copyPseudoClass(e,v,y,t,b),copyInputValue(e,v),isVideoElement(e)||await cloneChildNodes(e,v,t,b),await(a==null?void 0:a(v)),v}const l=e.cloneNode(!1);return await cloneChildNodes(e,l,t),await(a==null?void 0:a(l)),l}function destroyContext(e){if(e.ownerDocument=void 0,e.ownerWindow=void 0,e.svgStyleElement=void 0,e.svgDefsElement=void 0,e.svgStyles.clear(),e.defaultComputedStyles.clear(),e.sandbox){try{e.sandbox.remove()}catch(t){e.log.warn("Failed to destroyContext",t)}e.sandbox=void 0}e.workers=[],e.fontFamilies.clear(),e.fontCssTexts.clear(),e.requests.clear(),e.tasks=[],e.shadowRoots=[]}function baseFetch(e){const{url:t,timeout:n,responseType:r,...o}=e,s=new AbortController,i=n?setTimeout(()=>s.abort(),n):void 0;return fetch(t,{signal:s.signal,...o}).then(a=>{if(!a.ok)throw new Error("Failed fetch, not 2xx response",{cause:a});switch(r){case"arrayBuffer":return a.arrayBuffer();case"dataUrl":return a.blob().then(blobToDataUrl);case"text":default:return a.text()}}).finally(()=>clearTimeout(i))}function contextFetch(e,t){const{url:n,requestType:r="text",responseType:o="text",imageDom:s}=t;let i=n;const{timeout:a,acceptOfImage:l,requests:c,fetchFn:u,fetch:{requestInit:d,bypassingCache:f,placeholderImage:v},font:_,workers:y,fontFamilies:h}=e;r==="image"&&(IN_SAFARI||IN_FIREFOX)&&e.drawImageCount++;let p=c.get(n);if(!p){f&&f instanceof RegExp&&f.test(i)&&(i+=(/\?/.test(i)?"&":"?")+new Date().getTime());const b=r.startsWith("font")&&_&&_.minify,m=new Set;b&&r.split(";")[1].split(",").forEach(P=>{h.has(P)&&h.get(P).forEach(Z=>m.add(Z))});const E=b&&m.size,k={url:i,timeout:a,responseType:E?"arrayBuffer":o,headers:r==="image"?{accept:l}:void 0,...d};p={type:r,resolve:void 0,reject:void 0,response:null},p.response=(async()=>{if(u&&r==="image"){const N=await u(n);if(N)return N}return!IN_SAFARI&&n.startsWith("http")&&y.length?new Promise((N,P)=>{y[c.size&y.length-1].postMessage({rawUrl:n,...k}),p.resolve=N,p.reject=P}):baseFetch(k)})().catch(N=>{if(c.delete(n),r==="image"&&v)return e.log.warn("Failed to fetch image base64, trying to use placeholder image",i),typeof v=="string"?v:v(s);throw N}),c.set(n,p)}return p.response}async function replaceCssUrlToDataUrl(e,t,n,r){if(!hasCssUrl(e))return e;for(const[o,s]of parseCssUrls(e,t))try{const i=await contextFetch(n,{url:s,requestType:r?"image":"text",responseType:"dataUrl"});e=e.replace(toRE(o),`$1${i}$3`)}catch(i){n.log.warn("Failed to fetch css data url",o,i)}return e}function hasCssUrl(e){return/url\((['"]?)([^'"]+?)\1\)/.test(e)}const URL_RE=/url\((['"]?)([^'"]+?)\1\)/g;function parseCssUrls(e,t){const n=[];return e.replace(URL_RE,(r,o,s)=>(n.push([s,resolveUrl(s,t)]),r)),n.filter(([r])=>!isDataUrl(r))}function toRE(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}const properties=["background-image","border-image-source","-webkit-border-image","-webkit-mask-image","list-style-image"];function embedCssStyleImage(e,t){return properties.map(n=>{const r=e.getPropertyValue(n);return!r||r==="none"?null:((IN_SAFARI||IN_FIREFOX)&&t.drawImageCount++,replaceCssUrlToDataUrl(r,null,t,!0).then(o=>{!o||r===o||e.setProperty(n,o,e.getPropertyPriority(n))}))}).filter(Boolean)}function embedImageElement(e,t){if(isImageElement(e)){const n=e.currentSrc||e.src;if(!isDataUrl(n))return[contextFetch(t,{url:n,imageDom:e,requestType:"image",responseType:"dataUrl"}).then(r=>{r&&(e.srcset="",e.dataset.originalSrc=n,e.src=r||"")})];(IN_SAFARI||IN_FIREFOX)&&t.drawImageCount++}else if(isSVGElementNode(e)&&!isDataUrl(e.href.baseVal)){const n=e.href.baseVal;return[contextFetch(t,{url:n,imageDom:e,requestType:"image",responseType:"dataUrl"}).then(r=>{r&&(e.dataset.originalSrc=n,e.href.baseVal=r||"")})]}return[]}function embedSvgUse(e,t){const{ownerDocument:n,svgDefsElement:r}=t,o=e.getAttribute("href")??e.getAttribute("xlink:href");if(!o)return[];const[s,i]=o.split("#");if(i){const a=`#${i}`,l=t.shadowRoots.reduce((c,u)=>c??u.querySelector(`svg ${a}`),n==null?void 0:n.querySelector(`svg ${a}`));if(s&&e.setAttribute("href",a),r!=null&&r.querySelector(a))return[];if(l)return r==null||r.appendChild(l.cloneNode(!0)),[];if(s)return[contextFetch(t,{url:s,responseType:"text"}).then(c=>{r==null||r.insertAdjacentHTML("beforeend",c)})]}return[]}function embedNode(e,t){const{tasks:n}=t;isElementNode(e)&&((isImageElement(e)||isSVGImageElementNode(e))&&n.push(...embedImageElement(e,t)),isSVGUseElementNode(e)&&n.push(...embedSvgUse(e,t))),isHTMLElementNode(e)&&n.push(...embedCssStyleImage(e.style,t)),e.childNodes.forEach(r=>{embedNode(r,t)})}async function embedWebFont(e,t){const{ownerDocument:n,svgStyleElement:r,fontFamilies:o,fontCssTexts:s,tasks:i,font:a}=t;if(!(!n||!r||!o.size))if(a&&a.cssText){const l=filterPreferredFormat(a.cssText,t);r.appendChild(n.createTextNode(`${l}
37
+ `);return t.appendChild(n),t}function resolveBoundingBox(e,t){let{width:n,height:r}=t;if(isElementNode(e)&&(!n||!r)){const o=e.getBoundingClientRect();n=n||o.width||Number(e.getAttribute("width"))||0,r=r||o.height||Number(e.getAttribute("height"))||0}return{width:n,height:r}}async function imageToCanvas(e,t){const{log:n,timeout:r,drawImageCount:o,drawImageInterval:s}=t;n.time("image to canvas");const i=await loadMedia(e,{timeout:r,onWarn:t.log.warn}),{canvas:a,context2d:l}=createCanvas(e.ownerDocument,t),c=()=>{try{l==null||l.drawImage(i,0,0,a.width,a.height)}catch(u){t.log.warn("Failed to drawImage",u)}};if(c(),t.isEnable("fixSvgXmlDecode"))for(let u=0;u<o;u++)await new Promise(d=>{setTimeout(()=>{l==null||l.clearRect(0,0,a.width,a.height),c(),d()},u+s)});return t.drawImageCount=0,n.timeEnd("image to canvas"),a}function createCanvas(e,t){const{width:n,height:r,scale:o,backgroundColor:s,maximumCanvasSize:i}=t,a=e.createElement("canvas");a.width=Math.floor(n*o),a.height=Math.floor(r*o),a.style.width=`${n}px`,a.style.height=`${r}px`,i&&(a.width>i||a.height>i)&&(a.width>i&&a.height>i?a.width>a.height?(a.height*=i/a.width,a.width=i):(a.width*=i/a.height,a.height=i):a.width>i?(a.height*=i/a.width,a.width=i):(a.width*=i/a.height,a.height=i));const l=a.getContext("2d");return l&&s&&(l.fillStyle=s,l.fillRect(0,0,a.width,a.height)),{canvas:a,context2d:l}}function cloneCanvas(e,t){if(e.ownerDocument)try{const s=e.toDataURL();if(s!=="data:,")return createImage(s,e.ownerDocument)}catch(s){t.log.warn("Failed to clone canvas",s)}const n=e.cloneNode(!1),r=e.getContext("2d"),o=n.getContext("2d");try{return r&&o&&o.putImageData(r.getImageData(0,0,e.width,e.height),0,0),n}catch(s){t.log.warn("Failed to clone canvas",s)}return n}function cloneIframe(e,t){var n;try{if((n=e==null?void 0:e.contentDocument)!=null&&n.body)return cloneNode(e.contentDocument.body,t)}catch(r){t.log.warn("Failed to clone iframe",r)}return e.cloneNode(!1)}function cloneImage(e){const t=e.cloneNode(!1);return e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager"),t}async function cloneVideo(e,t){if(e.ownerDocument&&!e.currentSrc&&e.poster)return createImage(e.poster,e.ownerDocument);const n=e.cloneNode(!1);n.crossOrigin="anonymous",e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc);const r=n.ownerDocument;if(r){let o=!0;if(await loadMedia(n,{onError:()=>o=!1,onWarn:t.log.warn}),!o)return e.poster?createImage(e.poster,e.ownerDocument):n;n.currentTime=e.currentTime,await new Promise(i=>{n.addEventListener("seeked",i,{once:!0})});const s=r.createElement("canvas");s.width=e.offsetWidth,s.height=e.offsetHeight;try{const i=s.getContext("2d");i&&i.drawImage(n,0,0,s.width,s.height)}catch(i){return t.log.warn("Failed to clone video",i),e.poster?createImage(e.poster,e.ownerDocument):n}return cloneCanvas(s,t)}return n}function cloneElement(e,t){return isCanvasElement(e)?cloneCanvas(e,t):isIFrameElement(e)?cloneIframe(e,t):isImageElement(e)?cloneImage(e):isVideoElement(e)?cloneVideo(e,t):e.cloneNode(!1)}function getSandBox(e){let t=e.sandbox;if(!t){const{ownerDocument:n}=e;try{n&&(t=n.createElement("iframe"),t.id=`__SANDBOX__${uuid$1()}`,t.width="0",t.height="0",t.style.visibility="hidden",t.style.position="fixed",n.body.appendChild(t),t.srcdoc='<!DOCTYPE html><meta charset="UTF-8"><title></title><body>',e.sandbox=t)}catch(r){e.log.warn("Failed to getSandBox",r)}}return t}const ignoredStyles=["width","height","-webkit-text-fill-color"],includedAttributes=["stroke","fill"];function getDefaultStyle(e,t,n){const{defaultComputedStyles:r}=n,o=e.nodeName.toLowerCase(),s=isSVGElementNode(e)&&o!=="svg",i=s?includedAttributes.map(y=>[y,e.getAttribute(y)]).filter(([,y])=>y!==null):[],a=[s&&"svg",o,i.map((y,h)=>`${y}=${h}`).join(","),t].filter(Boolean).join(":");if(r.has(a))return r.get(a);const l=getSandBox(n),c=l==null?void 0:l.contentWindow;if(!c)return new Map;const u=c==null?void 0:c.document;let d,f;s?(d=u.createElementNS(XMLNS,"svg"),f=d.ownerDocument.createElementNS(d.namespaceURI,o),i.forEach(([y,h])=>{f.setAttributeNS(null,y,h)}),d.appendChild(f)):d=f=u.createElement(o),f.textContent=" ",u.body.appendChild(d);const v=c.getComputedStyle(f,t),_=new Map;for(let y=v.length,h=0;h<y;h++){const p=v.item(h);ignoredStyles.includes(p)||_.set(p,v.getPropertyValue(p))}return u.body.removeChild(d),r.set(a,_),_}function getDiffStyle(e,t,n){var a;const r=new Map,o=[],s=new Map;if(n)for(const l of n)i(l);else for(let l=e.length,c=0;c<l;c++){const u=e.item(c);i(u)}for(let l=o.length,c=0;c<l;c++)(a=s.get(o[c]))==null||a.forEach((u,d)=>r.set(d,u));function i(l){const c=e.getPropertyValue(l),u=e.getPropertyPriority(l),d=l.lastIndexOf("-"),f=d>-1?l.substring(0,d):void 0;if(f){let v=s.get(f);v||(v=new Map,s.set(f,v)),v.set(l,[c,u])}t.get(l)===c&&!u||(f?o.push(f):r.set(l,[c,u]))}return r}function copyCssStyles(e,t,n,r){var d,f,v,_;const{ownerWindow:o,includeStyleProperties:s,currentParentNodeStyle:i}=r,a=t.style,l=o.getComputedStyle(e),c=getDefaultStyle(e,null,r);i==null||i.forEach((y,h)=>{c.delete(h)});const u=getDiffStyle(l,c,s);u.delete("transition-property"),u.delete("all"),u.delete("d"),u.delete("content"),n&&(u.delete("margin-top"),u.delete("margin-right"),u.delete("margin-bottom"),u.delete("margin-left"),u.delete("margin-block-start"),u.delete("margin-block-end"),u.delete("margin-inline-start"),u.delete("margin-inline-end"),u.set("box-sizing",["border-box",""])),((d=u.get("background-clip"))==null?void 0:d[0])==="text"&&t.classList.add("______background-clip--text"),IN_CHROME&&(u.has("font-kerning")||u.set("font-kerning",["normal",""]),(((f=u.get("overflow-x"))==null?void 0:f[0])==="hidden"||((v=u.get("overflow-y"))==null?void 0:v[0])==="hidden")&&((_=u.get("text-overflow"))==null?void 0:_[0])==="ellipsis"&&e.scrollWidth===e.clientWidth&&u.set("text-overflow",["clip",""]));for(let y=a.length,h=0;h<y;h++)a.removeProperty(a.item(h));return u.forEach(([y,h],p)=>{a.setProperty(p,y,h)}),u}function copyInputValue(e,t){(isTextareaElement(e)||isInputElement(e)||isSelectElement(e))&&t.setAttribute("value",e.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(e,t,n,r,o){const{ownerWindow:s,svgStyleElement:i,svgStyles:a,currentNodeStyle:l}=r;if(!i||!s)return;function c(u){var m;const d=s.getComputedStyle(e,u);let f=d.getPropertyValue("content");if(!f||f==="none")return;o==null||o(f),f=f.replace(/(')|(")|(counter\(.+\))/g,"");const v=[uuid$1()],_=getDefaultStyle(e,u,r);l==null||l.forEach(($,k)=>{_.delete(k)});const y=getDiffStyle(d,_,r.includeStyleProperties);y.delete("content"),y.delete("-webkit-locale"),((m=y.get("background-clip"))==null?void 0:m[0])==="text"&&t.classList.add("______background-clip--text");const h=[`content: '${f}';`];if(y.forEach(([$,k],N)=>{h.push(`${N}: ${$}${k?" !important":""};`)}),h.length===1)return;try{t.className=[t.className,...v].join(" ")}catch($){r.log.warn("Failed to copyPseudoClass",$);return}const p=h.join(`
38
+ `);let b=a.get(p);b||(b=[],a.set(p,b)),b.push(`.${v[0]}${u}`)}pseudoClasses.forEach(c),n&&scrollbarPseudoClasses.forEach(c)}const excludeParentNodes=new Set(["symbol"]);async function appendChildNode(e,t,n,r,o){if(isElementNode(n)&&(isStyleElement(n)||isScriptElement(n))||r.filter&&!r.filter(n))return;excludeParentNodes.has(t.nodeName)||excludeParentNodes.has(n.nodeName)?r.currentParentNodeStyle=void 0:r.currentParentNodeStyle=r.currentNodeStyle;const s=await cloneNode(n,r,!1,o);r.isEnable("restoreScrollPosition")&&restoreScrollPosition(e,s),t.appendChild(s)}async function cloneChildNodes(e,t,n,r){var s;let o=e.firstChild;isElementNode(e)&&e.shadowRoot&&(o=(s=e.shadowRoot)==null?void 0:s.firstChild,n.shadowRoots.push(e.shadowRoot));for(let i=o;i;i=i.nextSibling)if(!isCommentNode(i))if(isElementNode(i)&&isSlotElement(i)&&typeof i.assignedNodes=="function"){const a=i.assignedNodes();for(let l=0;l<a.length;l++)await appendChildNode(e,t,a[l],n,r)}else await appendChildNode(e,t,i,n,r)}function restoreScrollPosition(e,t){if(!isHTMLElementNode(e)||!isHTMLElementNode(t))return;const{scrollTop:n,scrollLeft:r}=e;if(!n&&!r)return;const{transform:o}=t.style,s=new DOMMatrix(o),{a:i,b:a,c:l,d:c}=s;s.a=1,s.b=0,s.c=0,s.d=1,s.translateSelf(-r,-n),s.a=i,s.b=a,s.c=l,s.d=c,t.style.transform=s.toString()}function applyCssStyleWithOptions(e,t){const{backgroundColor:n,width:r,height:o,style:s}=t,i=e.style;if(n&&i.setProperty("background-color",n,"important"),r&&i.setProperty("width",`${r}px`,"important"),o&&i.setProperty("height",`${o}px`,"important"),s)for(const a in s)i[a]=s[a]}const NORMAL_ATTRIBUTE_RE=/^[\w-:]+$/;async function cloneNode(e,t,n=!1,r){var c,u,d,f;const{ownerDocument:o,ownerWindow:s,fontFamilies:i,onCloneEachNode:a}=t;if(o&&isTextNode(e))return r&&/\S/.test(e.data)&&r(e.data),o.createTextNode(e.data);if(o&&s&&isElementNode(e)&&(isHTMLElementNode(e)||isSVGElementNode(e))){const v=await cloneElement(e,t);if(t.isEnable("removeAbnormalAttributes")){const m=v.getAttributeNames();for(let $=m.length,k=0;k<$;k++){const N=m[k];NORMAL_ATTRIBUTE_RE.test(N)||v.removeAttribute(N)}}const _=t.currentNodeStyle=copyCssStyles(e,v,n,t);n&&applyCssStyleWithOptions(v,t);let y=!1;if(t.isEnable("copyScrollbar")){const m=[(c=_.get("overflow-x"))==null?void 0:c[0],(u=_.get("overflow-y"))==null?void 0:u[0]];y=m.includes("scroll")||(m.includes("auto")||m.includes("overlay"))&&(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)}const h=(d=_.get("text-transform"))==null?void 0:d[0],p=splitFontFamily((f=_.get("font-family"))==null?void 0:f[0]),b=p?m=>{h==="uppercase"?m=m.toUpperCase():h==="lowercase"?m=m.toLowerCase():h==="capitalize"&&(m=m[0].toUpperCase()+m.substring(1)),p.forEach($=>{let k=i.get($);k||i.set($,k=new Set),m.split("").forEach(N=>k.add(N))})}:void 0;return copyPseudoClass(e,v,y,t,b),copyInputValue(e,v),isVideoElement(e)||await cloneChildNodes(e,v,t,b),await(a==null?void 0:a(v)),v}const l=e.cloneNode(!1);return await cloneChildNodes(e,l,t),await(a==null?void 0:a(l)),l}function destroyContext(e){if(e.ownerDocument=void 0,e.ownerWindow=void 0,e.svgStyleElement=void 0,e.svgDefsElement=void 0,e.svgStyles.clear(),e.defaultComputedStyles.clear(),e.sandbox){try{e.sandbox.remove()}catch(t){e.log.warn("Failed to destroyContext",t)}e.sandbox=void 0}e.workers=[],e.fontFamilies.clear(),e.fontCssTexts.clear(),e.requests.clear(),e.tasks=[],e.shadowRoots=[]}function baseFetch(e){const{url:t,timeout:n,responseType:r,...o}=e,s=new AbortController,i=n?setTimeout(()=>s.abort(),n):void 0;return fetch(t,{signal:s.signal,...o}).then(a=>{if(!a.ok)throw new Error("Failed fetch, not 2xx response",{cause:a});switch(r){case"arrayBuffer":return a.arrayBuffer();case"dataUrl":return a.blob().then(blobToDataUrl);case"text":default:return a.text()}}).finally(()=>clearTimeout(i))}function contextFetch(e,t){const{url:n,requestType:r="text",responseType:o="text",imageDom:s}=t;let i=n;const{timeout:a,acceptOfImage:l,requests:c,fetchFn:u,fetch:{requestInit:d,bypassingCache:f,placeholderImage:v},font:_,workers:y,fontFamilies:h}=e;r==="image"&&(IN_SAFARI||IN_FIREFOX)&&e.drawImageCount++;let p=c.get(n);if(!p){f&&f instanceof RegExp&&f.test(i)&&(i+=(/\?/.test(i)?"&":"?")+new Date().getTime());const b=r.startsWith("font")&&_&&_.minify,m=new Set;b&&r.split(";")[1].split(",").forEach(O=>{h.has(O)&&h.get(O).forEach(F=>m.add(F))});const $=b&&m.size,k={url:i,timeout:a,responseType:$?"arrayBuffer":o,headers:r==="image"?{accept:l}:void 0,...d};p={type:r,resolve:void 0,reject:void 0,response:null},p.response=(async()=>{if(u&&r==="image"){const N=await u(n);if(N)return N}return!IN_SAFARI&&n.startsWith("http")&&y.length?new Promise((N,O)=>{y[c.size&y.length-1].postMessage({rawUrl:n,...k}),p.resolve=N,p.reject=O}):baseFetch(k)})().catch(N=>{if(c.delete(n),r==="image"&&v)return e.log.warn("Failed to fetch image base64, trying to use placeholder image",i),typeof v=="string"?v:v(s);throw N}),c.set(n,p)}return p.response}async function replaceCssUrlToDataUrl(e,t,n,r){if(!hasCssUrl(e))return e;for(const[o,s]of parseCssUrls(e,t))try{const i=await contextFetch(n,{url:s,requestType:r?"image":"text",responseType:"dataUrl"});e=e.replace(toRE(o),`$1${i}$3`)}catch(i){n.log.warn("Failed to fetch css data url",o,i)}return e}function hasCssUrl(e){return/url\((['"]?)([^'"]+?)\1\)/.test(e)}const URL_RE=/url\((['"]?)([^'"]+?)\1\)/g;function parseCssUrls(e,t){const n=[];return e.replace(URL_RE,(r,o,s)=>(n.push([s,resolveUrl(s,t)]),r)),n.filter(([r])=>!isDataUrl(r))}function toRE(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}const properties=["background-image","border-image-source","-webkit-border-image","-webkit-mask-image","list-style-image"];function embedCssStyleImage(e,t){return properties.map(n=>{const r=e.getPropertyValue(n);return!r||r==="none"?null:((IN_SAFARI||IN_FIREFOX)&&t.drawImageCount++,replaceCssUrlToDataUrl(r,null,t,!0).then(o=>{!o||r===o||e.setProperty(n,o,e.getPropertyPriority(n))}))}).filter(Boolean)}function embedImageElement(e,t){if(isImageElement(e)){const n=e.currentSrc||e.src;if(!isDataUrl(n))return[contextFetch(t,{url:n,imageDom:e,requestType:"image",responseType:"dataUrl"}).then(r=>{r&&(e.srcset="",e.dataset.originalSrc=n,e.src=r||"")})];(IN_SAFARI||IN_FIREFOX)&&t.drawImageCount++}else if(isSVGElementNode(e)&&!isDataUrl(e.href.baseVal)){const n=e.href.baseVal;return[contextFetch(t,{url:n,imageDom:e,requestType:"image",responseType:"dataUrl"}).then(r=>{r&&(e.dataset.originalSrc=n,e.href.baseVal=r||"")})]}return[]}function embedSvgUse(e,t){const{ownerDocument:n,svgDefsElement:r}=t,o=e.getAttribute("href")??e.getAttribute("xlink:href");if(!o)return[];const[s,i]=o.split("#");if(i){const a=`#${i}`,l=t.shadowRoots.reduce((c,u)=>c??u.querySelector(`svg ${a}`),n==null?void 0:n.querySelector(`svg ${a}`));if(s&&e.setAttribute("href",a),r!=null&&r.querySelector(a))return[];if(l)return r==null||r.appendChild(l.cloneNode(!0)),[];if(s)return[contextFetch(t,{url:s,responseType:"text"}).then(c=>{r==null||r.insertAdjacentHTML("beforeend",c)})]}return[]}function embedNode(e,t){const{tasks:n}=t;isElementNode(e)&&((isImageElement(e)||isSVGImageElementNode(e))&&n.push(...embedImageElement(e,t)),isSVGUseElementNode(e)&&n.push(...embedSvgUse(e,t))),isHTMLElementNode(e)&&n.push(...embedCssStyleImage(e.style,t)),e.childNodes.forEach(r=>{embedNode(r,t)})}async function embedWebFont(e,t){const{ownerDocument:n,svgStyleElement:r,fontFamilies:o,fontCssTexts:s,tasks:i,font:a}=t;if(!(!n||!r||!o.size))if(a&&a.cssText){const l=filterPreferredFormat(a.cssText,t);r.appendChild(n.createTextNode(`${l}
39
39
  `))}else{const l=Array.from(n.styleSheets).filter(u=>{try{return"cssRules"in u&&!!u.cssRules.length}catch(d){return t.log.warn(`Error while reading CSS rules from ${u.href}`,d),!1}});await Promise.all(l.flatMap(u=>Array.from(u.cssRules).map(async(d,f)=>{if(isCSSImportRule(d)){let v=f+1;const _=d.href;let y="";try{y=await contextFetch(t,{url:_,requestType:"text",responseType:"text"})}catch(p){t.log.warn(`Error fetch remote css import from ${_}`,p)}const h=y.replace(URL_RE,(p,b,m)=>p.replace(m,resolveUrl(m,_)));for(const p of parseCss(h))try{u.insertRule(p,p.startsWith("@import")?v+=1:u.cssRules.length)}catch(b){t.log.warn("Error inserting rule from remote css import",{rule:p,error:b})}}})));const c=[];l.forEach(u=>{unwrapCssLayers(u.cssRules,c)}),c.filter(u=>{var d;return isCssFontFaceRule(u)&&hasCssUrl(u.style.getPropertyValue("src"))&&((d=splitFontFamily(u.style.getPropertyValue("font-family")))==null?void 0:d.some(f=>o.has(f)))}).forEach(u=>{const d=u,f=s.get(d.cssText);f?r.appendChild(n.createTextNode(`${f}
40
40
  `)):i.push(replaceCssUrlToDataUrl(d.cssText,d.parentStyleSheet?d.parentStyleSheet.href:null,t).then(v=>{v=filterPreferredFormat(v,t),s.set(d.cssText,v),r.appendChild(n.createTextNode(`${v}
41
- `))}))})}}const COMMENTS_RE=/(\/\*[\s\S]*?\*\/)/g,KEYFRAMES_RE=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function parseCss(e){if(e==null)return[];const t=[];let n=e.replace(COMMENTS_RE,"");for(;;){const s=KEYFRAMES_RE.exec(n);if(!s)break;t.push(s[0])}n=n.replace(KEYFRAMES_RE,"");const r=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let s=r.exec(n);if(s)o.lastIndex=r.lastIndex;else if(s=o.exec(n),s)r.lastIndex=o.lastIndex;else break;t.push(s[0])}return t}const URL_WITH_FORMAT_RE=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,FONT_SRC_RE=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function filterPreferredFormat(e,t){const{font:n}=t,r=n?n==null?void 0:n.preferredFormat:void 0;return r?e.replace(FONT_SRC_RE,o=>{for(;;){const[s,,i]=URL_WITH_FORMAT_RE.exec(o)||[];if(!i)return"";if(i===r)return`src: ${s};`}}):e}function unwrapCssLayers(e,t=[]){for(const n of Array.from(e))isLayerBlockRule(n)?t.push(...unwrapCssLayers(n.cssRules)):"cssRules"in n?unwrapCssLayers(n.cssRules,t):t.push(n);return t}async function domToForeignObjectSvg(e,t){const n=await orCreateContext(e,t);if(isElementNode(n.node)&&isSVGElementNode(n.node))return n.node;const{ownerDocument:r,log:o,tasks:s,svgStyleElement:i,svgDefsElement:a,svgStyles:l,font:c,progress:u,autoDestruct:d,onCloneNode:f,onEmbedNode:v,onCreateForeignObjectSvg:_}=n;o.time("clone node");const y=await cloneNode(n.node,n,!0);if(i&&r){let E="";l.forEach((k,N)=>{E+=`${k.join(`,
41
+ `))}))})}}const COMMENTS_RE=/(\/\*[\s\S]*?\*\/)/g,KEYFRAMES_RE=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function parseCss(e){if(e==null)return[];const t=[];let n=e.replace(COMMENTS_RE,"");for(;;){const s=KEYFRAMES_RE.exec(n);if(!s)break;t.push(s[0])}n=n.replace(KEYFRAMES_RE,"");const r=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let s=r.exec(n);if(s)o.lastIndex=r.lastIndex;else if(s=o.exec(n),s)r.lastIndex=o.lastIndex;else break;t.push(s[0])}return t}const URL_WITH_FORMAT_RE=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,FONT_SRC_RE=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function filterPreferredFormat(e,t){const{font:n}=t,r=n?n==null?void 0:n.preferredFormat:void 0;return r?e.replace(FONT_SRC_RE,o=>{for(;;){const[s,,i]=URL_WITH_FORMAT_RE.exec(o)||[];if(!i)return"";if(i===r)return`src: ${s};`}}):e}function unwrapCssLayers(e,t=[]){for(const n of Array.from(e))isLayerBlockRule(n)?t.push(...unwrapCssLayers(n.cssRules)):"cssRules"in n?unwrapCssLayers(n.cssRules,t):t.push(n);return t}async function domToForeignObjectSvg(e,t){const n=await orCreateContext(e,t);if(isElementNode(n.node)&&isSVGElementNode(n.node))return n.node;const{ownerDocument:r,log:o,tasks:s,svgStyleElement:i,svgDefsElement:a,svgStyles:l,font:c,progress:u,autoDestruct:d,onCloneNode:f,onEmbedNode:v,onCreateForeignObjectSvg:_}=n;o.time("clone node");const y=await cloneNode(n.node,n,!0);if(i&&r){let $="";l.forEach((k,N)=>{$+=`${k.join(`,
42
42
  `)} {
43
43
  ${N}
44
44
  }
45
- `}),i.appendChild(r.createTextNode(E))}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 E=s.pop();if(!E)break;try{await E}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 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},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()=>(await domToCanvas(document.documentElement,{...sharedOptions,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}})).toDataURL("image/jpeg",.8))}async function captureViewportQuick(){return withFetchIntercept(async()=>(await domToCanvas(document.documentElement,{...sharedOptions,scale:.5,width:window.innerWidth,height:window.innerHeight,style:{transform:`translate(-${window.scrollX}px, -${window.scrollY}px)`}})).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">&times;</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 E=root_2$7(),k=child(E);set_attribute(k,"alt",`Screenshot ${b+1}`);var N=sibling(k,2);{var P=Q=>{var re=root_3$6();delegated("click",re,()=>i()(get(m))),append(Q,re)};if_block(N,Q=>{i()&&Q(P)})}var Z=sibling(N,2);reset(E),template_effect(()=>set_attribute(k,"src",get(p))),delegated("click",Z,()=>s()(get(m))),append(h,E)});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
+ `}),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">&times;</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;}
46
46
  @media (min-width: 640px) {.tool-label.svelte-yff65c {display:inline;}
47
47
  }.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(e,t){push(t,!0),append_styles(e,$$css$7);let n=prop(t,"imageDataUrl",7),r=prop(t,"onsave",7),o=prop(t,"oncancel",7),s=state("arrow"),i=state(proxy(ANNOTATION_COLORS[0])),a=state(proxy([])),l=state(void 0),c=state(void 0),u=state(0),d=state(0),f=state(!1),v=state("idle"),_={x:0,y:0},y=[],h=state(void 0),p=state(proxy({x:0,y:0})),b=state(proxy({left:"0px",top:"0px"})),m=state("");onMount(()=>{setAnnotationEditorOpen(!0);const z=new Image;z.onload=()=>{set(u,z.naturalWidth,!0),set(d,z.naturalHeight,!0),set(f,!0),requestAnimationFrame(()=>k(z))},z.src=n()}),onDestroy(()=>{setAnnotationEditorOpen(!1)});function E(){return new Promise((z,w)=>{const I=new Image;I.onload=()=>z(I),I.onerror=w,I.src=n()})}async function k(z){if(!get(l))return;const w=get(l).getContext("2d");w&&(z||(z=await E()),get(l).width=get(u),get(l).height=get(d),w.drawImage(z,0,0,get(u),get(d)),renderAllShapes(w,get(a)))}function N(){if(!get(c))return;const z=get(c).getContext("2d");z&&(get(c).width=get(u),get(c).height=get(d),z.clearRect(0,0,get(u),get(d)))}function P(z){if(!get(c))return{x:0,y:0};const w=get(c).getBoundingClientRect(),I=get(u)/w.width,L=get(d)/w.height;return{x:(z.clientX-w.left)*I,y:(z.clientY-w.top)*L}}function Z(z){if(!get(c))return{left:"0px",top:"0px"};const w=get(c).getBoundingClientRect();return{left:`${w.left+z.x/(get(u)/w.width)}px`,top:`${w.top+z.y/(get(d)/w.height)}px`}}function Q(z){const w={color:get(i),strokeWidth:DEFAULT_STROKE_WIDTH};switch(get(s)){case"arrow":return{...w,id:nextShapeId(),type:"arrow",start:_,end:z};case"rectangle":return{...w,id:nextShapeId(),type:"rectangle",start:_,end:z};case"ellipse":return{...w,id:nextShapeId(),type:"ellipse",start:_,end:z};case"freehand":return{...w,id:nextShapeId(),type:"freehand",points:[...y,z]};default:return null}}function re(z){if(get(v)==="typing"){we();return}const w=P(z);if(get(s)==="text"){set(v,"typing"),set(p,w,!0),set(b,Z(w),!0),set(m,""),requestAnimationFrame(()=>{var I;return(I=get(h))==null?void 0:I.focus()});return}set(v,"drawing"),_=w,y=[w]}function ce(z){if(get(v)!=="drawing")return;const w=P(z);get(s)==="freehand"&&y.push(w),N();const I=Q(w);if(I&&get(c)){const L=get(c).getContext("2d");L&&renderShape(L,I)}}function ie(z){if(get(v)!=="drawing")return;const w=P(z),I=Q(w);I&&set(a,[...get(a),I],!0),set(v,"idle"),y=[],N(),k()}function we(){if(get(m).trim()){const z={id:nextShapeId(),type:"text",color:get(i),strokeWidth:DEFAULT_STROKE_WIDTH,position:get(p),content:get(m).trim(),fontSize:20};set(a,[...get(a),z],!0),k()}set(m,""),set(v,"idle")}function ge(z){z.key==="Enter"?(z.preventDefault(),we()):z.key==="Escape"&&(z.preventDefault(),set(m,""),set(v,"idle"))}function ze(){get(a).length!==0&&(set(a,get(a).slice(0,-1),!0),k())}function xe(){set(a,[],!0),k()}async function ve(){if(get(a).length===0){r()(n());return}const z=await mergeAnnotation(n(),get(a),get(u),get(d));r()(z)}function me(){o()()}function g(z){z.stopPropagation(),z.key==="Escape"&&get(v)!=="typing"&&me(),(z.ctrlKey||z.metaKey)&&z.key==="z"&&(z.preventDefault(),ze())}const x={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"},S={arrow:"Arrow",rectangle:"Rect",ellipse:"Ellipse",freehand:"Draw",text:"Text"},A=["arrow","rectangle","ellipse","freehand","text"];var O={get imageDataUrl(){return n()},set imageDataUrl(z){n(z),flushSync()},get onsave(){return r()},set onsave(z){r(z),flushSync()},get oncancel(){return o()},set oncancel(z){o(z),flushSync()}},C=root$5(),V=child(C),U=child(V);each(U,21,()=>A,index,(z,w)=>{var I=root_1$6();let L;var X=child(I);{var F=ae=>{var pe=root_2$6();append(ae,pe)},H=ae=>{var pe=root_3$5(),Ee=child(pe);reset(pe),template_effect(()=>set_attribute(Ee,"d",x[get(w)])),append(ae,pe)};if_block(X,ae=>{get(w)==="ellipse"?ae(F):ae(H,!1)})}var q=sibling(X,2),ke=child(q,!0);reset(q),reset(I),template_effect(()=>{L=set_class(I,1,"tool-btn svelte-yff65c",null,L,{active:get(s)===get(w)}),set_attribute(I,"title",S[get(w)]),set_text(ke,S[get(w)])}),delegated("click",I,()=>{set(s,get(w),!0)}),append(z,I)}),reset(U);var j=sibling(U,4);each(j,21,()=>ANNOTATION_COLORS,index,(z,w)=>{var I=root_4$3();let L;template_effect(()=>{L=set_class(I,1,"color-swatch svelte-yff65c",null,L,{active:get(i)===get(w)}),set_style(I,`background: ${get(w)??""}; ${get(w)==="#111827"?"border-color: #6b7280;":""}`),set_attribute(I,"title",get(w))}),delegated("click",I,()=>{set(i,get(w),!0)}),append(z,I)}),reset(j);var W=sibling(j,4),K=child(W),oe=sibling(K,2);reset(W);var R=sibling(W,4),M=child(R),G=sibling(M,2);reset(R),reset(V);var ee=sibling(V,2),ue=child(ee);{var _e=z=>{var w=root_5$3(),I=first_child(w);bind_this(I,F=>set(l,F),()=>get(l));var L=sibling(I,2);let X;bind_this(L,F=>set(c,F),()=>get(c)),template_effect(()=>{set_attribute(I,"width",get(u)),set_attribute(I,"height",get(d)),set_attribute(L,"width",get(u)),set_attribute(L,"height",get(d)),X=set_class(L,1,"overlay-canvas svelte-yff65c",null,X,{"cursor-crosshair":get(s)!=="text","cursor-text":get(s)==="text"})}),delegated("mousedown",L,re),delegated("mousemove",L,ce),delegated("mouseup",L,ie),append(z,w)},Y=z=>{var w=root_6$4();append(z,w)};if_block(ue,z=>{get(f)?z(_e):z(Y,!1)})}reset(ee);var Te=sibling(ee,2);{var Ie=z=>{var w=root_7$4();remove_input_defaults(w),bind_this(w,I=>set(h,I),()=>get(h)),template_effect(()=>set_style(w,`left: ${get(b).left??""}; top: ${get(b).top??""}; color: ${get(i)??""};`)),delegated("keydown",w,ge),event("blur",w,we),bind_value(w,()=>get(m),I=>set(m,I)),append(z,w)};if_block(Te,z=>{get(v)==="typing"&&z(Ie)})}return reset(C),template_effect(()=>{K.disabled=get(a).length===0,oe.disabled=get(a).length===0}),delegated("keydown",C,g),delegated("keyup",C,z=>z.stopPropagation()),event("keypress",C,z=>z.stopPropagation()),delegated("click",K,ze),delegated("click",oe,xe),delegated("click",M,me),delegated("click",G,ve),append(e,C),pop(O)}delegate(["keydown","keyup","click","mousedown","mousemove","mouseup"]),create_custom_element(AnnotationEditor,{imageDataUrl:{},onsave:{},oncancel:{}},[],[],{mode:"open"});var root_2$5=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$4=from_html('<div class="log-more svelte-x1hlqn"> </div>'),root_1$5=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$6={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(e,t){push(t,!0),append_styles(e,$$css$6);let n=prop(t,"logs",23,()=>[]);const r={error:"#ef4444",warn:"#f59e0b",info:"#3b82f6",log:"#9ca3af",debug:"#8b5cf6",trace:"#6b7280"};var o={get logs(){return n()},set logs(l=[]){n(l),flushSync()}},s=comment(),i=first_child(s);{var a=l=>{var c=root_1$5(),u=child(c),d=child(u);reset(u);var f=sibling(u,2),v=child(f);each(v,17,()=>n().slice(-10),index,(h,p)=>{var b=root_2$5(),m=child(b),E=child(m,!0);reset(m);var k=sibling(m,2),N=child(k);reset(k),reset(b),template_effect(P=>{set_style(m,`color: ${(r[get(p).type]||"#9ca3af")??""}`),set_text(E,get(p).type),set_text(N,`${P??""}${get(p).message.length>120?"...":""}`)},[()=>get(p).message.substring(0,120)]),append(h,b)});var _=sibling(v,2);{var y=h=>{var p=root_3$4(),b=child(p);reset(p),template_effect(()=>set_text(b,`+${n().length-10} more`)),append(h,p)};if_block(_,h=>{n().length>10&&h(y)})}reset(f),reset(c),template_effect(()=>set_text(d,`Console Logs (${n().length??""})`)),append(l,c)};if_block(i,l=>{n().length>0&&l(a)})}return append(e,s),pop(o)}create_custom_element(ConsoleLogList,{logs:{}},[],[],{mode:"open"});var root_2$4=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$3=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$4=from_html('<div><span class="icon svelte-1f5s7q1"><!></span> <span class="msg"> </span></div>');const $$css$5={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);
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(e,t){push(t,!0),append_styles(e,$$css$7);let n=prop(t,"imageDataUrl",7),r=prop(t,"onsave",7),o=prop(t,"oncancel",7),s=state("arrow"),i=state(proxy(ANNOTATION_COLORS[0])),a=state(proxy([])),l=state(void 0),c=state(void 0),u=state(0),d=state(0),f=state(!1),v=state("idle"),_={x:0,y:0},y=[],h=state(void 0),p=state(proxy({x:0,y:0})),b=state(proxy({left:"0px",top:"0px"})),m=state("");onMount(()=>{setAnnotationEditorOpen(!0);const A=new Image;A.onload=()=>{set(u,A.naturalWidth,!0),set(d,A.naturalHeight,!0),set(f,!0),requestAnimationFrame(()=>k(A))},A.src=n()}),onDestroy(()=>{setAnnotationEditorOpen(!1)});function $(){return new Promise((A,w)=>{const R=new Image;R.onload=()=>A(R),R.onerror=w,R.src=n()})}async function k(A){if(!get(l))return;const w=get(l).getContext("2d");w&&(A||(A=await $()),get(l).width=get(u),get(l).height=get(d),w.drawImage(A,0,0,get(u),get(d)),renderAllShapes(w,get(a)))}function N(){if(!get(c))return;const A=get(c).getContext("2d");A&&(get(c).width=get(u),get(c).height=get(d),A.clearRect(0,0,get(u),get(d)))}function O(A){if(!get(c))return{x:0,y:0};const w=get(c).getBoundingClientRect(),R=get(u)/w.width,M=get(d)/w.height;return{x:(A.clientX-w.left)*R,y:(A.clientY-w.top)*M}}function F(A){if(!get(c))return{left:"0px",top:"0px"};const w=get(c).getBoundingClientRect();return{left:`${w.left+A.x/(get(u)/w.width)}px`,top:`${w.top+A.y/(get(d)/w.height)}px`}}function ee(A){const w={color:get(i),strokeWidth:DEFAULT_STROKE_WIDTH};switch(get(s)){case"arrow":return{...w,id:nextShapeId(),type:"arrow",start:_,end:A};case"rectangle":return{...w,id:nextShapeId(),type:"rectangle",start:_,end:A};case"ellipse":return{...w,id:nextShapeId(),type:"ellipse",start:_,end:A};case"freehand":return{...w,id:nextShapeId(),type:"freehand",points:[...y,A]};default:return null}}function J(A){if(get(v)==="typing"){Ee();return}const w=O(A);if(get(s)==="text"){set(v,"typing"),set(p,w,!0),set(b,F(w),!0),set(m,""),requestAnimationFrame(()=>{var R;return(R=get(h))==null?void 0:R.focus()});return}set(v,"drawing"),_=w,y=[w]}function fe(A){if(get(v)!=="drawing")return;const w=O(A);get(s)==="freehand"&&y.push(w),N();const R=ee(w);if(R&&get(c)){const M=get(c).getContext("2d");M&&renderShape(M,R)}}function ae(A){if(get(v)!=="drawing")return;const w=O(A),R=ee(w);R&&set(a,[...get(a),R],!0),set(v,"idle"),y=[],N(),k()}function Ee(){if(get(m).trim()){const A={id:nextShapeId(),type:"text",color:get(i),strokeWidth:DEFAULT_STROKE_WIDTH,position:get(p),content:get(m).trim(),fontSize:20};set(a,[...get(a),A],!0),k()}set(m,""),set(v,"idle")}function _e(A){A.key==="Enter"?(A.preventDefault(),Ee()):A.key==="Escape"&&(A.preventDefault(),set(m,""),set(v,"idle"))}function ze(){get(a).length!==0&&(set(a,get(a).slice(0,-1),!0),k())}function we(){set(a,[],!0),k()}async function xe(){if(get(a).length===0){r()(n());return}const A=await mergeAnnotation(n(),get(a),get(u),get(d));r()(A)}function ke(){o()()}function g(A){A.stopPropagation(),A.key==="Escape"&&get(v)!=="typing"&&ke(),(A.ctrlKey||A.metaKey)&&A.key==="z"&&(A.preventDefault(),ze())}const E={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"},S={arrow:"Arrow",rectangle:"Rect",ellipse:"Ellipse",freehand:"Draw",text:"Text"},I=["arrow","rectangle","ellipse","freehand","text"];var P={get imageDataUrl(){return n()},set imageDataUrl(A){n(A),flushSync()},get onsave(){return r()},set onsave(A){r(A),flushSync()},get oncancel(){return o()},set oncancel(A){o(A),flushSync()}},z=root$5(),U=child(z),oe=child(U);each(oe,21,()=>I,index,(A,w)=>{var R=root_1$6();let M;var Y=child(R);{var Z=ne=>{var ce=root_2$6();append(ne,ce)},q=ne=>{var ce=root_3$5(),ye=child(ce);reset(ce),template_effect(()=>set_attribute(ye,"d",E[get(w)])),append(ne,ce)};if_block(Y,ne=>{get(w)==="ellipse"?ne(Z):ne(q,!1)})}var G=sibling(Y,2),$e=child(G,!0);reset(G),reset(R),template_effect(()=>{M=set_class(R,1,"tool-btn svelte-yff65c",null,M,{active:get(s)===get(w)}),set_attribute(R,"title",S[get(w)]),set_text($e,S[get(w)])}),delegated("click",R,()=>{set(s,get(w),!0)}),append(A,R)}),reset(oe);var B=sibling(oe,4);each(B,21,()=>ANNOTATION_COLORS,index,(A,w)=>{var R=root_4$3();let M;template_effect(()=>{M=set_class(R,1,"color-swatch svelte-yff65c",null,M,{active:get(i)===get(w)}),set_style(R,`background: ${get(w)??""}; ${get(w)==="#111827"?"border-color: #6b7280;":""}`),set_attribute(R,"title",get(w))}),delegated("click",R,()=>{set(i,get(w),!0)}),append(A,R)}),reset(B);var te=sibling(B,4),K=child(te),se=sibling(K,2);reset(te);var C=sibling(te,4),L=child(C),V=sibling(L,2);reset(C),reset(U);var Q=sibling(U,2),ue=child(Q);{var H=A=>{var w=root_5$3(),R=first_child(w);bind_this(R,Z=>set(l,Z),()=>get(l));var M=sibling(R,2);let Y;bind_this(M,Z=>set(c,Z),()=>get(c)),template_effect(()=>{set_attribute(R,"width",get(u)),set_attribute(R,"height",get(d)),set_attribute(M,"width",get(u)),set_attribute(M,"height",get(d)),Y=set_class(M,1,"overlay-canvas svelte-yff65c",null,Y,{"cursor-crosshair":get(s)!=="text","cursor-text":get(s)==="text"})}),delegated("mousedown",M,J),delegated("mousemove",M,fe),delegated("mouseup",M,ae),append(A,w)},W=A=>{var w=root_6$4();append(A,w)};if_block(ue,A=>{get(f)?A(H):A(W,!1)})}reset(Q);var me=sibling(Q,2);{var Ie=A=>{var w=root_7$4();remove_input_defaults(w),bind_this(w,R=>set(h,R),()=>get(h)),template_effect(()=>set_style(w,`left: ${get(b).left??""}; top: ${get(b).top??""}; color: ${get(i)??""};`)),delegated("keydown",w,_e),event("blur",w,Ee),bind_value(w,()=>get(m),R=>set(m,R)),append(A,w)};if_block(me,A=>{get(v)==="typing"&&A(Ie)})}return reset(z),template_effect(()=>{K.disabled=get(a).length===0,se.disabled=get(a).length===0}),delegated("keydown",z,g),delegated("keyup",z,A=>A.stopPropagation()),event("keypress",z,A=>A.stopPropagation()),delegated("click",K,ze),delegated("click",se,we),delegated("click",L,ke),delegated("click",V,xe),append(e,z),pop(P)}delegate(["keydown","keyup","click","mousedown","mousemove","mouseup"]),create_custom_element(AnnotationEditor,{imageDataUrl:{},onsave:{},oncancel:{}},[],[],{mode:"open"});var root_2$5=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$4=from_html('<div class="log-more svelte-x1hlqn"> </div>'),root_1$5=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$6={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(e,t){push(t,!0),append_styles(e,$$css$6);let n=prop(t,"logs",23,()=>[]);const r={error:"#ef4444",warn:"#f59e0b",info:"#3b82f6",log:"#9ca3af",debug:"#8b5cf6",trace:"#6b7280"};var o={get logs(){return n()},set logs(l=[]){n(l),flushSync()}},s=comment(),i=first_child(s);{var a=l=>{var c=root_1$5(),u=child(c),d=child(u);reset(u);var f=sibling(u,2),v=child(f);each(v,17,()=>n().slice(-10),index,(h,p)=>{var b=root_2$5(),m=child(b),$=child(m,!0);reset(m);var k=sibling(m,2),N=child(k);reset(k),reset(b),template_effect(O=>{set_style(m,`color: ${(r[get(p).type]||"#9ca3af")??""}`),set_text($,get(p).type),set_text(N,`${O??""}${get(p).message.length>120?"...":""}`)},[()=>get(p).message.substring(0,120)]),append(h,b)});var _=sibling(v,2);{var y=h=>{var p=root_3$4(),b=child(p);reset(p),template_effect(()=>set_text(b,`+${n().length-10} more`)),append(h,p)};if_block(_,h=>{n().length>10&&h(y)})}reset(f),reset(c),template_effect(()=>set_text(d,`Console Logs (${n().length??""})`)),append(l,c)};if_block(i,l=>{n().length>0&&l(a)})}return append(e,s),pop(o)}create_custom_element(ConsoleLogList,{logs:{}},[],[],{mode:"open"});var root_2$4=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$3=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$4=from_html('<div><span class="icon svelte-1f5s7q1"><!></span> <span class="msg"> </span></div>');const $$css$5={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
49
  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
50
  @keyframes svelte-1f5s7q1-toast-in {
51
51
  from { opacity: 0; transform: translateY(8px); }
52
52
  to { opacity: 1; transform: translateY(0); }
53
- }`};function StatusToast(e,t){push(t,!0),append_styles(e,$$css$5);let n=prop(t,"message",7),r=prop(t,"type",7,"success"),o=prop(t,"visible",7,!1);var s={get message(){return n()},set message(c){n(c),flushSync()},get type(){return r()},set type(c="success"){r(c),flushSync()},get visible(){return o()},set visible(c=!1){o(c),flushSync()}},i=comment(),a=first_child(i);{var l=c=>{var u=root_1$4();let d;var f=child(u),v=child(f);{var _=b=>{var m=root_2$4();append(b,m)},y=b=>{var m=root_3$3();append(b,m)};if_block(v,b=>{r()==="success"?b(_):b(y,!1)})}reset(f);var h=sibling(f,2),p=child(h,!0);reset(h),reset(u),template_effect(()=>{d=set_class(u,1,"jat-toast svelte-1f5s7q1",null,d,{error:r()==="error",success:r()==="success"}),set_text(p,n())}),append(c,u)};if_block(a,c=>{o()&&c(l)})}return append(e,i),pop(s)}create_custom_element(StatusToast,{message:{},type:{},visible:{}},[],[],{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$1=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</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$1=from_html('<p class="report-desc svelte-1fnmin5"> </p>'),root_28=from_html('<button class="screenshot-thumb svelte-1fnmin5"><img loading="lazy" class="svelte-1fnmin5"/></button>'),root_29=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</button></div>'),root_27=from_html('<div class="report-screenshots svelte-1fnmin5"></div> <!>',1),root_30=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_31=from_html('<span class="status-pill accepted svelte-1fnmin5"></span>'),root_32=from_html('<span class="status-pill rejected svelte-1fnmin5"></span>'),root_36=from_html('<div class="reject-preview-item svelte-1fnmin5"><img class="svelte-1fnmin5"/> <button class="reject-preview-remove svelte-1fnmin5" aria-label="Remove">&times;</button></div>'),root_35=from_html('<div class="reject-preview-strip svelte-1fnmin5"></div>'),root_38=from_html('<span class="element-badge removable svelte-1fnmin5"> <button class="element-remove svelte-1fnmin5">&times;</button></span>'),root_37=from_html('<div class="reject-element-strip svelte-1fnmin5"></div>'),root_39=from_html('<span class="char-hint svelte-1fnmin5"> </span>'),root_34=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_40=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;}
53
+ }`};function StatusToast(e,t){push(t,!0),append_styles(e,$$css$5);let n=prop(t,"message",7),r=prop(t,"type",7,"success"),o=prop(t,"visible",7,!1);var s={get message(){return n()},set message(c){n(c),flushSync()},get type(){return r()},set type(c="success"){r(c),flushSync()},get visible(){return o()},set visible(c=!1){o(c),flushSync()}},i=comment(),a=first_child(i);{var l=c=>{var u=root_1$4();let d;var f=child(u),v=child(f);{var _=b=>{var m=root_2$4();append(b,m)},y=b=>{var m=root_3$3();append(b,m)};if_block(v,b=>{r()==="success"?b(_):b(y,!1)})}reset(f);var h=sibling(f,2),p=child(h,!0);reset(h),reset(u),template_effect(()=>{d=set_class(u,1,"jat-toast svelte-1f5s7q1",null,d,{error:r()==="error",success:r()==="success"}),set_text(p,n())}),append(c,u)};if_block(a,c=>{o()&&c(l)})}return append(e,i),pop(s)}create_custom_element(StatusToast,{message:{},type:{},visible:{}},[],[],{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$1=from_html('<div class="screenshot-expanded svelte-1fnmin5"><img alt="Screenshot" class="svelte-1fnmin5"/> <button class="screenshot-close svelte-1fnmin5" aria-label="Close">&times;</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$1=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">&times;</button></div>'),root_27$1=from_html('<div class="report-screenshots svelte-1fnmin5"></div> <!>',1),root_30$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_31$1=from_html('<span class="status-pill accepted svelte-1fnmin5"></span>'),root_32$1=from_html('<span class="status-pill rejected svelte-1fnmin5"></span>'),root_36=from_html('<div class="reject-preview-item svelte-1fnmin5"><img class="svelte-1fnmin5"/> <button class="reject-preview-remove svelte-1fnmin5" aria-label="Remove">&times;</button></div>'),root_35=from_html('<div class="reject-preview-strip svelte-1fnmin5"></div>'),root_38=from_html('<span class="element-badge removable svelte-1fnmin5"> <button class="element-remove svelte-1fnmin5">&times;</button></span>'),root_37=from_html('<div class="reject-element-strip svelte-1fnmin5"></div>'),root_39=from_html('<span class="char-hint svelte-1fnmin5"> </span>'),root_34=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_40=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
54
 
55
55
  /* 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
56
 
@@ -66,7 +66,7 @@ var hr=Object.defineProperty;var ir=Ce=>{throw TypeError(Ce)};var gr=(Ce,Re,De)=
66
66
 
67
67
  /* 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
68
 
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))),E=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),P=user_derived(()=>r().filter(w=>(w.source||"feedback")==="feedback").length),Z=user_derived(()=>r().filter(w=>w.source==="jat").length),Q=user_derived(()=>get(P)>0&&get(Z)>0);function re(w){return w?w.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").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(w){const I=get(c)===w;set(c,I?null:w,!0),I?(get(l)===w&&set(l,null),set(a,null)):setTimeout(()=>{if(!get(u))return;const L=get(u).querySelector(`[data-card-id="${w}"]`);L&&L.scrollIntoView({behavior:"smooth",block:"nearest"})},220)}function ie(w){set(f,w,!0),set(v,""),set(_,[],!0),set(y,[],!0)}function we(){set(f,""),set(v,""),set(_,[],!0),set(y,[],!0)}async function ge(){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((I,L)=>L!==w),!0)}function xe(){startElementPicker(w=>{set(y,[...get(y),{tagName:w.tagName,className:w.className,id:w.id,selector:w.selector,textContent:w.textContent}],!0)})}function ve(w){set(y,get(y).filter((I,L)=>L!==w),!0)}async function me(w,I,L){set(d,w,!0);const X=I==="rejected"?{screenshots:get(_).length>0?get(_):void 0,elements:get(y).length>0?get(y):void 0}:void 0;(await respondToReport(n(),w,I,L,X)).ok?(r(r().map(H=>H.id===w?{...H,status:I==="rejected"?"submitted":"accepted",responded_at:new Date().toISOString(),...I==="rejected"?{revision_count:(H.revision_count||0)+1}:{}}:H)),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 x(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 A(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 O(w){return{submitted:"#6b7280",in_progress:"#3b82f6",completed:"#f59e0b",accepted:"#10b981",rejected:"#f59e0b",wontfix:"#6b7280",closed:"#6b7280"}[w]||"#6b7280"}function C(w){const I=w.issue_type||w.type;return I==="bug"?"🐛":I==="enhancement"||I==="feature"?"✨":I==="task"?"✅":I==="epic"?"🎯":"📝"}function V(w){const I=Date.now(),L=new Date(w).getTime(),X=I-L,F=Math.floor(X/6e4);if(F<1)return"just now";if(F<60)return`${F}m ago`;const H=Math.floor(F/60);if(H<24)return`${H}h ago`;const q=Math.floor(H/24);return q<30?`${q}d ago`:new Date(w).toLocaleDateString()}var U={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()}},j=root$4(),W=child(j);{var K=w=>{var I=root_1$3(),L=child(I);let X;var F=sibling(child(L)),H=child(F,!0);reset(F),reset(L);var q=sibling(L,2);let ke;var ae=sibling(child(q)),pe=child(ae,!0);reset(ae),reset(q);var Ee=sibling(q,2);let B;var Pe=sibling(child(Ee)),nt=child(Pe,!0);reset(Pe),reset(Ee),reset(I),template_effect(()=>{X=set_class(L,1,"source-pill svelte-1fnmin5",null,X,{active:get(b)==="all"}),set_text(H,r().length),ke=set_class(q,1,"source-pill svelte-1fnmin5",null,ke,{active:get(b)==="feedback"}),set_text(pe,get(P)),B=set_class(Ee,1,"source-pill svelte-1fnmin5",null,B,{active:get(b)==="jat"}),set_text(nt,get(Z))}),delegated("click",L,()=>set(b,"all")),delegated("click",q,()=>set(b,"feedback")),delegated("click",Ee,()=>set(b,"jat")),append(w,I)};if_block(W,w=>{get(Q)&&w(K)})}var oe=sibling(W,2),R=child(oe);let M;var G=sibling(child(R));{var ee=w=>{var I=root_2$3(),L=child(I,!0);reset(I),template_effect(()=>set_text(L,get(k))),append(w,I)};if_block(G,w=>{get(k)>0&&w(ee)})}reset(R);var ue=sibling(R,2);let _e;var Y=sibling(child(ue));{var Te=w=>{var I=root_3$2(),L=child(I,!0);reset(I),template_effect(()=>set_text(L,get(N))),append(w,I)};if_block(Y,w=>{get(N)>0&&w(Te)})}reset(ue),reset(oe);var Ie=sibling(oe,2),z=child(Ie);return key(z,()=>get(p),w=>{var I=root_4$2(),L=child(I);{var X=ae=>{var pe=root_5$2();append(ae,pe)},F=ae=>{var pe=root_6$3(),Ee=child(pe),B=child(Ee,!0);reset(Ee);var Pe=sibling(Ee,2);reset(pe),template_effect(()=>set_text(B,s())),delegated("click",Pe,function(...nt){var Ne;(Ne=i())==null||Ne.apply(this,nt)}),append(ae,pe)},H=ae=>{var pe=root_7$3(),Ee=child(pe);Ee.textContent="📋",next(4),reset(pe),append(ae,pe)},q=ae=>{var pe=root_8$3(),Ee=child(pe),B=child(Ee,!0);reset(Ee),reset(pe),template_effect(()=>set_text(B,get(p)==="submitted"?"No submitted requests":get(p)==="review"?"Nothing to review right now":"No completed requests yet")),append(ae,pe)},ke=ae=>{var pe=root_9$2();each(pe,21,()=>get(E),Ee=>Ee.id,(Ee,B)=>{var Pe=root_10$2();let nt;var Ne=child(Pe),je=child(Ne),rt=child(je,!0);reset(je);var Zt=sibling(je,2),bn=child(Zt,!0);reset(Zt);var be=sibling(Zt,2),Ae=child(be,!0);reset(be);var Xe=sibling(be,2);let ot;reset(Ne);var dt=sibling(Ne,2);{var Rn=nn=>{var $t=root_11$2(),Wt=child($t);{var dn=he=>{var ye=root_12$2(),Me=sibling(child(ye),2),Ke=child(Me,!0);reset(Me),reset(ye),template_effect(T=>{set_attribute(ye,"href",get(B).page_url),set_text(Ke,T)},[()=>get(B).page_url.replace(/^https?:\/\//,"").split("?")[0]]),append(he,ye)};if_block(Wt,he=>{get(B).page_url&&he(dn)})}var Tt=sibling(Wt,2);{var In=he=>{var ye=root_13$2(),Me=child(ye);reset(ye),template_effect(()=>set_text(Me,`Revision ${get(B).revision_count??""}`)),append(he,ye)};if_block(Tt,he=>{get(B).revision_count>0&&get(B).status!=="accepted"&&he(In)})}var Nn=sibling(Tt,2);{var Bn=he=>{var ye=root_14$3(),Me=first_child(ye),Ke=child(Me);let T;var D=sibling(Ke,2),se=child(D);reset(D),reset(Me);var te=sibling(Me,2);{var Oe=Se=>{var Je=root_15$3();each(Je,21,()=>get(B).thread,jt=>jt.id,(jt,$e)=>{var Ut=root_16$3();let St;var Bt=child(Ut),ft=child(Bt),Ct=child(ft,!0);reset(ft);var pt=sibling(ft,2);let fn;var kn=child(pt,!0);reset(pt);var zt=sibling(pt,2),En=child(zt,!0);reset(zt),reset(Bt);var Fe=sibling(Bt,2),qe=child(Fe);html(qe,()=>re(get($e).message)),reset(Fe);var Qe=sibling(Fe,2);{var ht=He=>{var We=root_17$3();each(We,21,()=>get($e).summary,index,(Ht,st)=>{var it=root_18$2(),gt=child(it,!0);reset(it),template_effect(()=>set_text(gt,get(st))),append(Ht,it)}),reset(We),append(He,We)};if_block(Qe,He=>{get($e).summary&&get($e).summary.length>0&&He(ht)})}var Vt=sibling(Qe,2);{var ct=He=>{var We=root_19$2(),Ht=first_child(We);each(Ht,21,()=>get($e).screenshots,index,(gt,Rt,It)=>{var Yt=comment(),$n=first_child(Yt);{var vt=_t=>{var Nt=root_21$2();set_attribute(Nt,"aria-label",`Screenshot ${It+1}`);var pn=child(Nt);set_attribute(pn,"alt",`Screenshot ${It+1}`),reset(Nt),template_effect(()=>set_attribute(pn,"src",`${n()??""}${get(Rt).url??""}`)),delegated("click",Nt,()=>set(a,get(a)===get(Rt).url?null:get(Rt).url,!0)),append(_t,Nt)};if_block($n,_t=>{get(Rt).url&&_t(vt)})}append(gt,Yt)}),reset(Ht);var st=sibling(Ht,2);{var it=gt=>{const Rt=user_derived(()=>get($e).screenshots.find(vt=>vt.url===get(a)));var It=comment(),Yt=first_child(It);{var $n=vt=>{var _t=root_23$1(),Nt=child(_t),pn=sibling(Nt,2);reset(_t),template_effect(()=>set_attribute(Nt,"src",`${n()??""}${get(a)??""}`)),delegated("click",pn,()=>set(a,null)),append(vt,_t)};if_block(Yt,vt=>{get(Rt)&&vt($n)})}append(gt,It)};if_block(st,gt=>{get(a)&&gt(it)})}append(He,We)};if_block(Vt,He=>{get($e).screenshots&&get($e).screenshots.length>0&&He(ct)})}var At=sibling(Vt,2);{var Gt=He=>{var We=root_24$1();each(We,21,()=>get($e).elements,index,(Ht,st)=>{var it=root_25$1(),gt=child(it);reset(it),template_effect((Rt,It)=>{set_attribute(it,"title",get(st).selector),set_text(gt,`<${Rt??""}${get(st).id?`#${get(st).id}`:""}${It??""}>`)},[()=>get(st).tagName.toLowerCase(),()=>get(st).className?`.${get(st).className.split(" ")[0]}`:""]),append(Ht,it)}),reset(We),append(He,We)};if_block(At,He=>{get($e).elements&&get($e).elements.length>0&&He(Gt)})}reset(Ut),template_effect((He,We)=>{St=set_class(Ut,1,"thread-entry svelte-1fnmin5",null,St,{"thread-user":get($e).from==="user","thread-dev":get($e).from==="dev"}),set_text(Ct,get($e).from==="user"?"You":"Dev"),fn=set_class(pt,1,"thread-type-badge svelte-1fnmin5",null,fn,{submission:get($e).type==="submission",completion:get($e).type==="completion",rejection:get($e).type==="rejection",acceptance:get($e).type==="acceptance"}),set_text(kn,He),set_text(En,We)},[()=>S(get($e)),()=>V(get($e).at)]),append(jt,Ut)}),reset(Je),append(Se,Je)};if_block(te,Se=>{get(l)===get(B).id&&Se(Oe)})}template_effect((Se,Je)=>{T=set_class(Ke,0,"thread-toggle-icon svelte-1fnmin5",null,T,{expanded:get(l)===get(B).id}),set_text(se,`${Se??""} ${Je??""}`)},[()=>x(get(B).thread),()=>x(get(B).thread)===1?"message":"messages"]),delegated("click",Me,()=>g(get(B).id)),append(he,ye)},On=he=>{var ye=root_26$1(),Me=child(ye,!0);reset(ye),template_effect(Ke=>set_text(Me,Ke),[()=>get(B).description.length>120?get(B).description.slice(0,120)+"...":get(B).description]),append(he,ye)};if_block(Nn,he=>{get(B).thread&&get(B).thread.length>0?he(Bn):get(B).description&&he(On,1)})}var Ln=sibling(Nn,2);{var Pn=he=>{var ye=root_27(),Me=first_child(ye);each(Me,21,()=>get(B).screenshot_urls,index,(se,te,Oe)=>{var Se=root_28();set_attribute(Se,"aria-label",`Screenshot ${Oe+1}`);var Je=child(Se);set_attribute(Je,"alt",`Screenshot ${Oe+1}`),reset(Se),template_effect(()=>set_attribute(Je,"src",`${n()??""}${get(te)??""}`)),delegated("click",Se,()=>set(a,get(a)===get(te)?null:get(te),!0)),append(se,Se)}),reset(Me);var Ke=sibling(Me,2);{var T=se=>{var te=root_29(),Oe=child(te),Se=sibling(Oe,2);reset(te),template_effect(()=>set_attribute(Oe,"src",`${n()??""}${get(a)??""}`)),delegated("click",Se,()=>set(a,null)),append(se,te)},D=user_derived(()=>get(a)&&get(B).screenshot_urls.includes(get(a)));if_block(Ke,se=>{get(D)&&se(T)})}append(he,ye)};if_block(Ln,he=>{!get(B).thread&&get(B).screenshot_urls&&get(B).screenshot_urls.length>0&&he(Pn)})}var yn=sibling(Ln,2);{var Vn=he=>{var ye=root_30(),Me=sibling(child(ye),2),Ke=child(Me);html(Ke,()=>re(get(B).dev_notes)),reset(Me),reset(ye),append(he,ye)};if_block(yn,he=>{get(B).dev_notes&&!get(B).thread&&get(B).status!=="in_progress"&&he(Vn)})}var wn=sibling(yn,2),xn=child(wn),Mn=child(xn,!0);reset(xn);var Hn=sibling(xn,2);{var Fn=he=>{var ye=root_31();ye.textContent="✓ Accepted",append(he,ye)},qn=he=>{var ye=root_32();ye.textContent="✗ Rejected",append(he,ye)},Dn=he=>{var ye=comment(),Me=first_child(ye);{var Ke=D=>{var se=root_34(),te=child(se);remove_textarea_child(te);var Oe=sibling(te,2),Se=child(Oe),Je=sibling(child(Se));reset(Se);var jt=sibling(Se,2);reset(Oe);var $e=sibling(Oe,2);{var Ut=Fe=>{var qe=root_35();each(qe,21,()=>get(_),index,(Qe,ht,Vt)=>{var ct=root_36(),At=child(ct);set_attribute(At,"alt",`Screenshot ${Vt+1}`);var Gt=sibling(At,2);reset(ct),template_effect(()=>set_attribute(At,"src",get(ht))),delegated("click",Gt,()=>ze(Vt)),append(Qe,ct)}),reset(qe),append(Fe,qe)};if_block($e,Fe=>{get(_).length>0&&Fe(Ut)})}var St=sibling($e,2);{var Bt=Fe=>{var qe=root_37();each(qe,21,()=>get(y),index,(Qe,ht,Vt)=>{var ct=root_38(),At=child(ct),Gt=sibling(At);reset(ct),template_effect(He=>set_text(At,`<${He??""}${get(ht).id?`#${get(ht).id}`:""}> `),[()=>get(ht).tagName.toLowerCase()]),delegated("click",Gt,()=>ve(Vt)),append(Qe,ct)}),reset(qe),append(Fe,qe)};if_block(St,Fe=>{get(y).length>0&&Fe(Bt)})}var ft=sibling(St,2),Ct=child(ft),pt=sibling(Ct,2),fn=child(pt,!0);reset(pt),reset(ft);var kn=sibling(ft,2);{var zt=Fe=>{var qe=root_39(),Qe=child(qe);reset(qe),template_effect(ht=>set_text(Qe,`${ht??""} more characters needed`),[()=>10-get(v).trim().length]),append(Fe,qe)},En=user_derived(()=>get(v).trim().length>0&&get(v).trim().length<10);if_block(kn,Fe=>{get(En)&&Fe(zt)})}reset(se),template_effect(Fe=>{Se.disabled=get(h),set_text(Je,` ${get(h)?"...":"Screenshot"}`),pt.disabled=Fe,set_text(fn,get(d)===get(B).id?"...":"✗ Reject")},[()=>get(v).trim().length<10||get(d)===get(B).id]),bind_value(te,()=>get(v),Fe=>set(v,Fe)),delegated("click",Se,ge),delegated("click",jt,xe),delegated("click",Ct,we),delegated("click",pt,()=>me(get(B).id,"rejected",get(v).trim())),append(D,se)},T=D=>{var se=root_40(),te=child(se),Oe=child(te,!0);reset(te);var Se=sibling(te,2);Se.textContent="✗ Reject",reset(se),template_effect(()=>{te.disabled=get(d)===get(B).id,set_text(Oe,get(d)===get(B).id?"...":"✓ Accept"),Se.disabled=get(d)===get(B).id}),delegated("click",te,()=>me(get(B).id,"accepted")),delegated("click",Se,()=>ie(get(B).id)),append(D,se)};if_block(Me,D=>{get(f)===get(B).id?D(Ke):D(T,!1)})}append(he,ye)};if_block(Hn,he=>{get(B).status==="accepted"?he(Fn):get(B).status==="rejected"?he(qn,1):(get(B).status==="completed"||get(B).status==="wontfix")&&he(Dn,2)})}reset(wn),reset($t),template_effect(he=>set_text(Mn,he),[()=>V(get(B).created_at)]),transition(3,$t,()=>slide,()=>({duration:200})),append(nn,$t)};if_block(dt,nn=>{get(c)===get(B).id&&nn(Rn)})}reset(Pe),template_effect((nn,$t,Wt,dn,Tt)=>{nt=set_class(Pe,1,"report-card svelte-1fnmin5",null,nt,{awaiting:get(B).status==="completed",expanded:get(c)===get(B).id}),set_attribute(Pe,"data-card-id",get(B).id),set_text(rt,nn),set_text(bn,get(B).title),set_style(be,`background: ${$t??""}20; color: ${Wt??""}; border-color: ${dn??""}40;`),set_text(Ae,Tt),ot=set_class(Xe,0,"chevron svelte-1fnmin5",null,ot,{"chevron-open":get(c)===get(B).id})},[()=>C(get(B)),()=>O(get(B).status),()=>O(get(B).status),()=>O(get(B).status),()=>A(get(B).status)]),delegated("click",Ne,()=>ce(get(B).id)),append(Ee,Pe)}),reset(pe),append(ae,pe)};if_block(L,ae=>{o()?ae(X):s()&&r().length===0?ae(F,1):r().length===0?ae(H,2):get(E).length===0?ae(q,3):ae(ke,!1)})}reset(I),transition(3,I,()=>slide,()=>({duration:200})),append(w,I)}),reset(Ie),bind_this(Ie,w=>set(u,w),()=>get(u)),reset(j),template_effect(()=>{M=set_class(R,1,"subtab svelte-1fnmin5",null,M,{active:get(p)==="active"}),_e=set_class(ue,1,"subtab svelte-1fnmin5",null,_e,{active:get(p)==="done"})}),delegated("click",R,()=>set(p,"active")),delegated("click",ue,()=>set(p,"done")),append(e,j),pop(U)}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;}
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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").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;}
70
70
 
71
71
  /* 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
72
  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 +114,7 @@ var hr=Object.defineProperty;var ir=Ce=>{throw TypeError(Ce)};var gr=(Ce,Re,De)=
114
114
  40% { transform: scale(1); opacity: 1; }
115
115
  }
116
116
 
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 M;const R=get(f).trim();!R||r()==="thinking"||r()==="acting"||(set(f,""),(M=a())==null||M(R))}function y(R){var M;R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),_()),R.key==="Escape"&&(r()==="thinking"||r()==="acting")&&((M=l())==null||M())}function h(){var R;(R=l())==null||R()}const p=user_derived(()=>r()==="thinking"||r()==="acting"||r()==="awaiting_approval");function b(R){switch(R){case"user":return"›";case"thinking":return"…";case"action":return"⚡";case"result":return"✓";case"error":return"✕";case"info":return"●";case"approval":return"?"}}function m(R){return R<1e3?`${R}ms`:`${(R/1e3).toFixed(1)}s`}var E={get messages(){return n()},set messages(R=[]){n(R),flushSync()},get agentState(){return r()},set agentState(R="idle"){r(R),flushSync()},get currentStep(){return o()},set currentStep(R=0){o(R),flushSync()},get maxSteps(){return s()},set maxSteps(R=40){s(R),flushSync()},get autoApprove(){return i()},set autoApprove(R=!1){i(R),flushSync()},get onsend(){return a()},set onsend(R){a(R),flushSync()},get onstop(){return l()},set onstop(R){l(R),flushSync()},get onapprove(){return c()},set onapprove(R){c(R),flushSync()},get onskip(){return u()},set onskip(R){u(R),flushSync()},get onautoapprovechange(){return d()},set onautoapprovechange(R){d(R),flushSync()}},k=root$3(),N=child(k),P=child(N);let Z;var Q=sibling(child(P),2),re=child(Q);{var ce=R=>{var M=text("Ready");append(R,M)},ie=R=>{var M=text("Thinking...");append(R,M)},we=R=>{var M=text("Acting...");append(R,M)},ge=R=>{var M=text("Awaiting approval");append(R,M)},ze=R=>{var M=text("Error");append(R,M)};if_block(re,R=>{r()==="idle"?R(ce):r()==="thinking"?R(ie,1):r()==="acting"?R(we,2):r()==="awaiting_approval"?R(ge,3):R(ze,!1)})}reset(Q),reset(P);var xe=sibling(P,2),ve=child(xe);{var me=R=>{var M=root_6$2(),G=child(M);reset(M),template_effect(()=>set_text(G,`Step ${o()??""}/${s()??""}`)),append(R,M)};if_block(ve,R=>{o()>0&&R(me)})}var g=sibling(ve,2),x=child(g);remove_input_defaults(x),next(2),reset(g),reset(xe),reset(N);var S=sibling(N,2),A=child(S);{var O=R=>{var M=root_7$2();append(R,M)},C=R=>{var M=root_8$2(),G=first_child(M);each(G,17,n,_e=>_e.id,(_e,Y)=>{var Te=comment(),Ie=first_child(Te);{var z=I=>{var L=root_10$1();let X;var F=child(L),H=child(F);{var q=be=>{var Ae=text("✓");append(be,Ae)},ke=be=>{var Ae=text("⏭");append(be,Ae)},ae=be=>{var Ae=text("?");append(be,Ae)};if_block(H,be=>{get(Y).approvalStatus==="approved"?be(q):get(Y).approvalStatus==="skipped"?be(ke,1):be(ae,!1)})}reset(F);var pe=sibling(F,2),Ee=child(pe);{var B=be=>{var Ae=root_14$2(),Xe=child(Ae,!0);reset(Ae),template_effect(()=>set_text(Xe,get(Y).tool)),append(be,Ae)};if_block(Ee,be=>{get(Y).tool&&be(B)})}var Pe=sibling(Ee,2),nt=child(Pe,!0);reset(Pe);var Ne=sibling(Pe,2);{var je=be=>{var Ae=root_15$2(),Xe=child(Ae),ot=sibling(Xe,2);reset(Ae),delegated("click",Xe,()=>{var dt;return(dt=c())==null?void 0:dt(get(Y).id)}),delegated("click",ot,()=>{var dt;return(dt=u())==null?void 0:dt(get(Y).id)}),append(be,Ae)},rt=be=>{var Ae=root_16$2();let Xe;var ot=child(Ae,!0);reset(Ae),template_effect(()=>{Xe=set_class(Ae,1,"approval-badge svelte-bez0nz",null,Xe,{"badge-approved":get(Y).approvalStatus==="approved","badge-skipped":get(Y).approvalStatus==="skipped"}),set_text(ot,get(Y).approvalStatus)}),append(be,Ae)};if_block(Ne,be=>{get(Y).approvalStatus==="pending"?be(je):be(rt,!1)})}reset(pe);var Zt=sibling(pe,2);{var bn=be=>{var Ae=root_17$2(),Xe=child(Ae,!0);reset(Ae),template_effect(()=>set_text(Xe,get(Y).step)),append(be,Ae)};if_block(Zt,be=>{get(Y).step&&be(bn)})}reset(L),template_effect(()=>{X=set_class(L,1,"message msg-approval svelte-bez0nz",null,X,{pending:get(Y).approvalStatus==="pending",approved:get(Y).approvalStatus==="approved",skipped:get(Y).approvalStatus==="skipped"}),set_text(nt,get(Y).text)}),append(I,L)},w=I=>{var L=root_18$1(),X=child(L),F=child(X,!0);reset(X);var H=sibling(X,2),q=child(H);{var ke=Ne=>{var je=root_19$1(),rt=child(je,!0);reset(je),template_effect(()=>set_text(rt,get(Y).tool)),append(Ne,je)};if_block(q,Ne=>{get(Y).role==="action"&&get(Y).tool&&Ne(ke)})}var ae=sibling(q,2),pe=child(ae,!0);reset(ae);var Ee=sibling(ae,2);{var B=Ne=>{var je=root_20$1(),rt=child(je,!0);reset(je),template_effect(Zt=>set_text(rt,Zt),[()=>m(get(Y).duration)]),append(Ne,je)};if_block(Ee,Ne=>{get(Y).duration!=null&&Ne(B)})}reset(H);var Pe=sibling(H,2);{var nt=Ne=>{var je=root_21$1(),rt=child(je,!0);reset(je),template_effect(()=>set_text(rt,get(Y).step)),append(Ne,je)};if_block(Pe,Ne=>{get(Y).step&&Ne(nt)})}reset(L),template_effect(Ne=>{set_class(L,1,`message msg-${get(Y).role??""}`,"svelte-bez0nz"),set_text(F,Ne),set_text(pe,get(Y).text)},[()=>b(get(Y).role)]),append(I,L)};if_block(Ie,I=>{get(Y).role==="approval"?I(z):I(w,!1)})}append(_e,Te)});var ee=sibling(G,2);{var ue=_e=>{var Y=root_22$1();append(_e,Y)};if_block(ee,_e=>{r()==="thinking"&&_e(ue)})}append(R,M)};if_block(A,R=>{n().length===0?R(O):R(C,!1)})}reset(S),bind_this(S,R=>set(v,R),()=>get(v));var V=sibling(S,2),U=child(V);{var j=R=>{var M=root_23();delegated("click",M,h),append(R,M)};if_block(U,R=>{get(p)&&R(j)})}var W=sibling(U,2),K=child(W);remove_input_defaults(K);var oe=sibling(K,2);return reset(W),reset(V),reset(k),template_effect(R=>{Z=set_class(P,1,"status-indicator svelte-bez0nz",null,Z,{idle:r()==="idle",thinking:r()==="thinking",acting:r()==="acting",awaiting:r()==="awaiting_approval",error:r()==="error"}),set_checked(x,i()),set_attribute(K,"placeholder",get(p)?"Agent is working...":"Type a command..."),K.disabled=get(p),oe.disabled=R},[()=>get(p)||!get(f).trim()]),delegated("change",x,R=>{var M;return(M=d())==null?void 0:M(R.target.checked)}),delegated("keydown",K,y),bind_value(K,()=>get(f),R=>set(f,R)),delegated("click",oe,_),append(e,k),pop(E)}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;}
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;}
118
118
 
119
119
  /* 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
120
 
@@ -126,36 +126,36 @@ var hr=Object.defineProperty;var ir=Ce=>{throw TypeError(Ce)};var gr=(Ce,Re,De)=
126
126
  animation: svelte-zp32f3-notes-spin 0.6s linear infinite;}
127
127
  @keyframes svelte-zp32f3-notes-spin {
128
128
  to { transform: rotate(360deg); }
129
- }`};function NotesPanel(e,t){push(t,!0),append_styles(e,$$css$2);let n=prop(t,"endpoint",7),r=prop(t,"project",7),o=prop(t,"onnoteschanged",7),s=state(proxy([])),i=state(!1),a=state(""),l=state(!1),c=state(proxy(window.location.pathname)),u=state("list"),d=state(null),f=state(!1),v=state(""),_=state(""),y=state(null),h=state(!1),p=state(!1),b=user_derived(()=>get(s).find(x=>x.route===null)),m=user_derived(()=>get(s).filter(x=>x.route!==null).sort((x,S)=>(x.route||"").localeCompare(S.route||""))),E=user_derived(()=>get(s).some(x=>x.route===get(c)));async function k(){set(i,!0),set(a,"");const x=await fetchNotes(n(),r());set(s,x.notes,!0),x.error&&set(a,x.error,!0),set(i,!1)}user_effect(()=>{n()&&r()&&k()}),user_effect(()=>{const x=setInterval(()=>{window.location.pathname!==get(c)&&set(c,window.location.pathname,!0)},1e3);return()=>clearInterval(x)});function N(x){set(d,x,!0),set(f,!1),set(v,x.title,!0),set(_,x.content,!0),set(y,x.route,!0),set(h,!1),set(p,!1),set(u,"edit")}function P(x){set(d,null),set(f,!0),set(v,x?ce(x):"Site-wide notes",!0),set(_,""),set(y,x,!0),set(h,!1),set(p,!1),set(u,"edit")}function Z(){set(u,"list"),set(d,null),set(f,!1),set(p,!1)}async function Q(){var x,S;if(get(v).trim()){if(set(l,!0),get(f)){const A=await createNote(n(),{project:r(),route:get(y),title:get(v).trim(),content:get(_)});A.ok&&A.note?(set(s,[...get(s),A.note],!0),(x=o())==null||x(),Z()):set(a,A.error||"Failed to create note",!0)}else if(get(d)){const A=await updateNote(n(),get(d).id,{title:get(v).trim(),content:get(_)});A.ok?(set(s,get(s).map(O=>O.id===get(d).id?{...O,title:get(v).trim(),content:get(_),updated_at:new Date().toISOString()}:O),!0),(S=o())==null||S(),Z()):set(a,A.error||"Failed to update note",!0)}set(l,!1)}}async function re(){var S;if(!get(d))return;if(!get(p)){set(p,!0);return}set(l,!0);const x=await deleteNote(n(),get(d).id);x.ok?(set(s,get(s).filter(A=>A.id!==get(d).id),!0),(S=o())==null||S(),Z()):set(a,x.error||"Failed to delete note",!0),set(l,!1)}function ce(x){return x||"Site-wide"}function ie(x){return x?x.split(`
130
- `).filter(S=>S.trim()).length:0}function we(x){if(!x)return'<span style="color:#6b7280;font-style:italic">No content</span>';let S=x.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");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">&#8226; $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 ge(x){x.key==="Escape"&&get(u)==="edit"&&(x.stopPropagation(),Z())}var ze={get endpoint(){return n()},set endpoint(x){n(x),flushSync()},get project(){return r()},set project(x){r(x),flushSync()},get onnoteschanged(){return o()},set onnoteschanged(x){o(x),flushSync()}},xe=root$2(),ve=child(xe);{var me=x=>{var S=root_1$2(),A=child(S),O=sibling(child(A),2);reset(A);var C=sibling(A,2);{var V=W=>{var K=root_2$2();append(W,K)},U=W=>{var K=root_3$1(),oe=child(K),R=sibling(oe);reset(K),template_effect(()=>set_text(oe,`${get(a)??""} `)),delegated("click",R,k),append(W,K)},j=W=>{var K=root_4$1(),oe=first_child(K);{var R=z=>{var w=root_5$1(),I=child(w),L=sibling(child(I),2),X=child(L),F=child(X,!0);reset(X);var H=sibling(X,2),q=child(H);reset(H),reset(L),reset(I),next(2),reset(w),template_effect((ke,ae)=>{set_text(F,get(b).title||"Site-wide notes"),set_text(q,`${ke??""} line${ae??""}`)},[()=>ie(get(b).content),()=>ie(get(b).content)!==1?"s":""]),delegated("click",w,()=>N(get(b))),append(z,w)},M=z=>{var w=root_6$1();delegated("click",w,()=>P(null)),append(z,w)};if_block(oe,z=>{get(b)?z(R):z(M,!1)})}var G=sibling(oe,2);{var ee=z=>{var w=root_7$1();append(z,w)};if_block(G,z=>{(get(m).length>0||!get(E))&&z(ee)})}var ue=sibling(G,2);each(ue,17,()=>get(m),index,(z,w)=>{var I=root_8$1();let L;var X=child(I),F=sibling(child(X),2),H=child(F),q=child(H),ke=sibling(q);{var ae=B=>{var Pe=root_9$1();append(B,Pe)};if_block(ke,B=>{get(w).route===get(c)&&B(ae)})}reset(H);var pe=sibling(H,2),Ee=child(pe);reset(pe),reset(F),reset(X),next(2),reset(I),template_effect((B,Pe)=>{L=set_class(I,1,"note-row svelte-zp32f3",null,L,{current:get(w).route===get(c)}),set_text(q,`${get(w).route??""} `),set_text(Ee,`${B??""} line${Pe??""}`)},[()=>ie(get(w).content),()=>ie(get(w).content)!==1?"s":""]),delegated("click",I,()=>N(get(w))),append(z,I)});var _e=sibling(ue,2);{var Y=z=>{var w=root_10(),I=child(w),L=sibling(child(I),2),X=child(L);reset(L),reset(I),reset(w),template_effect(()=>set_text(X,`Add note for ${get(c)??""}`)),delegated("click",w,()=>P(get(c))),append(z,w)};if_block(_e,z=>{get(E)||z(Y)})}var Te=sibling(_e,2);{var Ie=z=>{var w=root_11$1();append(z,w)};if_block(Te,z=>{get(s).length===0&&!get(i)&&z(Ie)})}append(W,K)};if_block(C,W=>{get(i)?W(V):get(a)?W(U,1):W(j,!1)})}reset(S),template_effect(()=>O.disabled=!!get(b)),delegated("click",O,()=>P(null)),transition(3,S,()=>slide,()=>({duration:200})),append(x,S)},g=x=>{var S=root_12$1(),A=child(S),O=child(A),C=sibling(O,2),V=child(C,!0);reset(C);var U=sibling(C,2);let j;var W=child(U,!0);reset(U),reset(A);var K=sibling(A,2),oe=child(K),R=sibling(child(oe),2);remove_input_defaults(R),reset(oe);var M=sibling(oe,2);{var G=F=>{var H=root_13$1(),q=child(H);html(q,()=>we(get(_))),reset(H),append(F,H)},ee=F=>{var H=root_14$1(),q=sibling(child(H),2);remove_textarea_child(q),reset(H),template_effect(()=>q.disabled=get(l)),bind_value(q,()=>get(_),ke=>set(_,ke)),append(F,H)};if_block(M,F=>{get(h)?F(G):F(ee,!1)})}var ue=sibling(M,2);{var _e=F=>{var H=root_15$1(),q=child(H,!0);reset(H),template_effect(()=>set_text(q,get(a))),append(F,H)};if_block(ue,F=>{get(a)&&F(_e)})}reset(K);var Y=sibling(K,2),Te=child(Y);{var Ie=F=>{var H=root_16$1();let q;var ke=child(H,!0);reset(H),template_effect(()=>{q=set_class(H,1,"delete-btn svelte-zp32f3",null,q,{confirm:get(p)}),H.disabled=get(l),set_text(ke,get(p)?"Confirm delete?":"Delete")}),delegated("click",H,re),append(F,H)};if_block(Te,F=>{get(f)||F(Ie)})}var z=sibling(Te,4),w=sibling(z,2),I=child(w);{var L=F=>{var H=root_17$1();append(F,H)};if_block(I,F=>{get(l)&&F(L)})}var X=sibling(I);reset(w),reset(Y),reset(S),template_effect(F=>{set_text(V,get(y)?get(y):"Site-wide"),j=set_class(U,1,"preview-toggle svelte-zp32f3",null,j,{active:get(h)}),set_text(W,get(h)?"Edit":"Preview"),R.disabled=get(l),z.disabled=get(l),w.disabled=F,set_text(X,` ${get(f)?"Create":"Save"}`)},[()=>get(l)||!get(v).trim()]),delegated("click",O,Z),delegated("click",U,()=>set(h,!get(h))),bind_value(R,()=>get(v),F=>set(v,F)),delegated("click",z,Z),delegated("click",w,Q),transition(3,S,()=>slide,()=>({duration:200})),append(x,S)};if_block(ve,x=>{get(u)==="list"?x(me):get(u)==="edit"&&x(g,1)})}return reset(xe),delegated("keydown",xe,ge),append(e,xe),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(`
129
+ }`};function NotesPanel(e,t){push(t,!0),append_styles(e,$$css$2);let n=prop(t,"endpoint",7),r=prop(t,"project",7),o=prop(t,"onnoteschanged",7),s=state(proxy([])),i=state(!1),a=state(""),l=state(!1),c=state(proxy(window.location.pathname)),u=state("list"),d=state(null),f=state(!1),v=state(""),_=state(""),y=state(null),h=state(!1),p=state(!1),b=user_derived(()=>get(s).find(E=>E.route===null)),m=user_derived(()=>get(s).filter(E=>E.route!==null).sort((E,S)=>(E.route||"").localeCompare(S.route||""))),$=user_derived(()=>get(s).some(E=>E.route===get(c)));async function k(){set(i,!0),set(a,"");const E=await fetchNotes(n(),r());set(s,E.notes,!0),E.error&&set(a,E.error,!0),set(i,!1)}user_effect(()=>{n()&&r()&&k()}),user_effect(()=>{const E=setInterval(()=>{window.location.pathname!==get(c)&&set(c,window.location.pathname,!0)},1e3);return()=>clearInterval(E)});function N(E){set(d,E,!0),set(f,!1),set(v,E.title,!0),set(_,E.content,!0),set(y,E.route,!0),set(h,!1),set(p,!1),set(u,"edit")}function O(E){set(d,null),set(f,!0),set(v,E?fe(E):"Site-wide notes",!0),set(_,""),set(y,E,!0),set(h,!1),set(p,!1),set(u,"edit")}function F(){set(u,"list"),set(d,null),set(f,!1),set(p,!1)}async function ee(){var E,S;if(get(v).trim()){if(set(l,!0),get(f)){const I=await createNote(n(),{project:r(),route:get(y),title:get(v).trim(),content:get(_)});I.ok&&I.note?(set(s,[...get(s),I.note],!0),(E=o())==null||E(),F()):set(a,I.error||"Failed to create note",!0)}else if(get(d)){const I=await updateNote(n(),get(d).id,{title:get(v).trim(),content:get(_)});I.ok?(set(s,get(s).map(P=>P.id===get(d).id?{...P,title:get(v).trim(),content:get(_),updated_at:new Date().toISOString()}:P),!0),(S=o())==null||S(),F()):set(a,I.error||"Failed to update note",!0)}set(l,!1)}}async function J(){var S;if(!get(d))return;if(!get(p)){set(p,!0);return}set(l,!0);const E=await deleteNote(n(),get(d).id);E.ok?(set(s,get(s).filter(I=>I.id!==get(d).id),!0),(S=o())==null||S(),F()):set(a,E.error||"Failed to delete note",!0),set(l,!1)}function fe(E){return E||"Site-wide"}function ae(E){return E?E.split(`
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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");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">&#8226; $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
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
132
  `).filter(i=>i),o=Math.min(...r.map(i=>i.length-i.trimStart().length)),s=r.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(const i of s)this.content.push(i)}compile(){const t=Function,n=this==null?void 0:this.args,o=[...((this==null?void 0:this.content)??[""]).map(s=>` ${s}`)];return new t(...n,o.join(`
133
- `))}}const version={major:4,minor:0,patch:0},$ZodType=$constructor("$ZodType",(e,t)=>{var o;var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=version;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const s of r)for(const i of s._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),(o=e._zod.deferred)==null||o.push(()=>{e._zod.run=e._zod.parse});else{const s=(i,a,l)=>{let c=aborted(i),u;for(const d of a){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(c)continue;const f=i.issues.length,v=d._zod.check(i);if(v instanceof Promise&&(l==null?void 0:l.async)===!1)throw new $ZodAsyncError;if(u||v instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await v,i.issues.length!==f&&(c||(c=aborted(i,f)))});else{if(i.issues.length===f)continue;c||(c=aborted(i,f))}}return u?u.then(()=>i):i};e._zod.run=(i,a)=>{const l=e._zod.parse(i,a);if(l instanceof Promise){if(a.async===!1)throw new $ZodAsyncError;return l.then(c=>s(c,r,a))}return s(l,r,a)}}e["~standard"]={validate:s=>{var i;try{const a=safeParse$1(e,s);return a.success?{value:a.data}:{issues:(i=a.error)==null?void 0:i.issues}}catch{return safeParseAsync$1(e,s).then(l=>{var c;return l.success?{value:l.data}:{issues:(c=l.error)==null?void 0:c.issues}})}},vendor:"zod",version:1}}),$ZodString=$constructor("$ZodString",(e,t)=>{var n;$ZodType.init(e,t),e._zod.pattern=[...((n=e==null?void 0:e._zod.bag)==null?void 0:n.patterns)??[]].pop()??string$1(e._zod.bag),e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),$ZodStringFormat=$constructor("$ZodStringFormat",(e,t)=>{$ZodCheckStringFormat.init(e,t),$ZodString.init(e,t)}),$ZodGUID=$constructor("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=guid),$ZodStringFormat.init(e,t)}),$ZodUUID=$constructor("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=uuid(r))}else t.pattern??(t.pattern=uuid());$ZodStringFormat.init(e,t)}),$ZodEmail=$constructor("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=email),$ZodStringFormat.init(e,t)}),$ZodURL=$constructor("$ZodURL",(e,t)=>{$ZodStringFormat.init(e,t),e._zod.check=n=>{try{const r=n.value,o=new URL(r),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),!r.endsWith("/")&&s.endsWith("/")?n.value=s.slice(0,-1):n.value=s;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=emoji()),$ZodStringFormat.init(e,t)}),$ZodNanoID=$constructor("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=nanoid),$ZodStringFormat.init(e,t)}),$ZodCUID=$constructor("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=cuid),$ZodStringFormat.init(e,t)}),$ZodCUID2=$constructor("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=cuid2),$ZodStringFormat.init(e,t)}),$ZodULID=$constructor("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ulid),$ZodStringFormat.init(e,t)}),$ZodXID=$constructor("$ZodXID",(e,t)=>{t.pattern??(t.pattern=xid),$ZodStringFormat.init(e,t)}),$ZodKSUID=$constructor("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ksuid),$ZodStringFormat.init(e,t)}),$ZodISODateTime=$constructor("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=datetime$1(t)),$ZodStringFormat.init(e,t)}),$ZodISODate=$constructor("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=date$1),$ZodStringFormat.init(e,t)}),$ZodISOTime=$constructor("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=time$1(t)),$ZodStringFormat.init(e,t)}),$ZodISODuration=$constructor("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=duration$1),$ZodStringFormat.init(e,t)}),$ZodIPv4=$constructor("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ipv4),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{const r=n._zod.bag;r.format="ipv4"})}),$ZodIPv6=$constructor("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ipv6),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{const r=n._zod.bag;r.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),$ZodCIDRv4=$constructor("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=cidrv4),$ZodStringFormat.init(e,t)}),$ZodCIDRv6=$constructor("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=cidrv6),$ZodStringFormat.init(e,t),e._zod.check=n=>{const[r,o]=n.value.split("/");try{if(!o)throw new Error;const s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function isValidBase64(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const $ZodBase64=$constructor("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=base64),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{isValidBase64(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function isValidBase64URL(e){if(!base64url.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return isValidBase64(n)}const $ZodBase64URL=$constructor("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=base64url),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{isValidBase64URL(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),$ZodE164=$constructor("$ZodE164",(e,t)=>{t.pattern??(t.pattern=e164),$ZodStringFormat.init(e,t)});function isValidJWT(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const $ZodJWT=$constructor("$ZodJWT",(e,t)=>{$ZodStringFormat.init(e,t),e._zod.check=n=>{isValidJWT(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),$ZodNumber=$constructor("$ZodNumber",(e,t)=>{$ZodType.init(e,t),e._zod.pattern=e._zod.bag.pattern??number$1,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),$ZodNumberFormat=$constructor("$ZodNumber",(e,t)=>{$ZodCheckNumberFormat.init(e,t),$ZodNumber.init(e,t)}),$ZodBoolean=$constructor("$ZodBoolean",(e,t)=>{$ZodType.init(e,t),e._zod.pattern=boolean$1,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),$ZodAny=$constructor("$ZodAny",(e,t)=>{$ZodType.init(e,t),e._zod.parse=n=>n}),$ZodUnknown=$constructor("$ZodUnknown",(e,t)=>{$ZodType.init(e,t),e._zod.parse=n=>n}),$ZodNever=$constructor("$ZodNever",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function handleArrayResult(e,t,n){e.issues.length&&t.issues.push(...prefixIssues(n,e.issues)),t.value[n]=e.value}const $ZodArray=$constructor("$ZodArray",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const s=[];for(let i=0;i<o.length;i++){const a=o[i],l=t.element._zod.run({value:a,issues:[]},r);l instanceof Promise?s.push(l.then(c=>handleArrayResult(c,n,i))):handleArrayResult(l,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function handleObjectResult(e,t,n){e.issues.length&&t.issues.push(...prefixIssues(n,e.issues)),t.value[n]=e.value}function handleOptionalObjectResult(e,t,n,r){e.issues.length?r[n]===void 0?n in r?t.value[n]=void 0:t.value[n]=e.value:t.issues.push(...prefixIssues(n,e.issues)):e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}const $ZodObject=$constructor("$ZodObject",(e,t)=>{$ZodType.init(e,t);const n=cached(()=>{const d=Object.keys(t.shape);for(const v of d)if(!(t.shape[v]instanceof $ZodType))throw new Error(`Invalid element at key "${v}": expected a Zod schema`);const f=optionalKeys(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});defineLazy(e._zod,"propValues",()=>{const d=t.shape,f={};for(const v in d){const _=d[v]._zod;if(_.values){f[v]??(f[v]=new Set);for(const y of _.values)f[v].add(y)}}return f});const r=d=>{const f=new Doc(["shape","payload","ctx"]),v=n.value,_=b=>{const m=esc(b);return`shape[${m}]._zod.run({ value: input[${m}], issues: [] }, ctx)`};f.write("const input = payload.value;");const y=Object.create(null);let h=0;for(const b of v.keys)y[b]=`key_${h++}`;f.write("const newResult = {}");for(const b of v.keys)if(v.optionalKeys.has(b)){const m=y[b];f.write(`const ${m} = ${_(b)};`);const E=esc(b);f.write(`
133
+ `))}}const version={major:4,minor:0,patch:0},$ZodType=$constructor("$ZodType",(e,t)=>{var o;var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=version;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const s of r)for(const i of s._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),(o=e._zod.deferred)==null||o.push(()=>{e._zod.run=e._zod.parse});else{const s=(i,a,l)=>{let c=aborted(i),u;for(const d of a){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(c)continue;const f=i.issues.length,v=d._zod.check(i);if(v instanceof Promise&&(l==null?void 0:l.async)===!1)throw new $ZodAsyncError;if(u||v instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await v,i.issues.length!==f&&(c||(c=aborted(i,f)))});else{if(i.issues.length===f)continue;c||(c=aborted(i,f))}}return u?u.then(()=>i):i};e._zod.run=(i,a)=>{const l=e._zod.parse(i,a);if(l instanceof Promise){if(a.async===!1)throw new $ZodAsyncError;return l.then(c=>s(c,r,a))}return s(l,r,a)}}e["~standard"]={validate:s=>{var i;try{const a=safeParse$1(e,s);return a.success?{value:a.data}:{issues:(i=a.error)==null?void 0:i.issues}}catch{return safeParseAsync$1(e,s).then(l=>{var c;return l.success?{value:l.data}:{issues:(c=l.error)==null?void 0:c.issues}})}},vendor:"zod",version:1}}),$ZodString=$constructor("$ZodString",(e,t)=>{var n;$ZodType.init(e,t),e._zod.pattern=[...((n=e==null?void 0:e._zod.bag)==null?void 0:n.patterns)??[]].pop()??string$1(e._zod.bag),e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),$ZodStringFormat=$constructor("$ZodStringFormat",(e,t)=>{$ZodCheckStringFormat.init(e,t),$ZodString.init(e,t)}),$ZodGUID=$constructor("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=guid),$ZodStringFormat.init(e,t)}),$ZodUUID=$constructor("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=uuid(r))}else t.pattern??(t.pattern=uuid());$ZodStringFormat.init(e,t)}),$ZodEmail=$constructor("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=email),$ZodStringFormat.init(e,t)}),$ZodURL=$constructor("$ZodURL",(e,t)=>{$ZodStringFormat.init(e,t),e._zod.check=n=>{try{const r=n.value,o=new URL(r),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),!r.endsWith("/")&&s.endsWith("/")?n.value=s.slice(0,-1):n.value=s;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=emoji()),$ZodStringFormat.init(e,t)}),$ZodNanoID=$constructor("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=nanoid),$ZodStringFormat.init(e,t)}),$ZodCUID=$constructor("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=cuid),$ZodStringFormat.init(e,t)}),$ZodCUID2=$constructor("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=cuid2),$ZodStringFormat.init(e,t)}),$ZodULID=$constructor("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ulid),$ZodStringFormat.init(e,t)}),$ZodXID=$constructor("$ZodXID",(e,t)=>{t.pattern??(t.pattern=xid),$ZodStringFormat.init(e,t)}),$ZodKSUID=$constructor("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ksuid),$ZodStringFormat.init(e,t)}),$ZodISODateTime=$constructor("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=datetime$1(t)),$ZodStringFormat.init(e,t)}),$ZodISODate=$constructor("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=date$1),$ZodStringFormat.init(e,t)}),$ZodISOTime=$constructor("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=time$1(t)),$ZodStringFormat.init(e,t)}),$ZodISODuration=$constructor("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=duration$1),$ZodStringFormat.init(e,t)}),$ZodIPv4=$constructor("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ipv4),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{const r=n._zod.bag;r.format="ipv4"})}),$ZodIPv6=$constructor("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ipv6),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{const r=n._zod.bag;r.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),$ZodCIDRv4=$constructor("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=cidrv4),$ZodStringFormat.init(e,t)}),$ZodCIDRv6=$constructor("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=cidrv6),$ZodStringFormat.init(e,t),e._zod.check=n=>{const[r,o]=n.value.split("/");try{if(!o)throw new Error;const s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function isValidBase64(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const $ZodBase64=$constructor("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=base64),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{isValidBase64(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function isValidBase64URL(e){if(!base64url.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return isValidBase64(n)}const $ZodBase64URL=$constructor("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=base64url),$ZodStringFormat.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{isValidBase64URL(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),$ZodE164=$constructor("$ZodE164",(e,t)=>{t.pattern??(t.pattern=e164),$ZodStringFormat.init(e,t)});function isValidJWT(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const $ZodJWT=$constructor("$ZodJWT",(e,t)=>{$ZodStringFormat.init(e,t),e._zod.check=n=>{isValidJWT(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),$ZodNumber=$constructor("$ZodNumber",(e,t)=>{$ZodType.init(e,t),e._zod.pattern=e._zod.bag.pattern??number$1,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),$ZodNumberFormat=$constructor("$ZodNumber",(e,t)=>{$ZodCheckNumberFormat.init(e,t),$ZodNumber.init(e,t)}),$ZodBoolean=$constructor("$ZodBoolean",(e,t)=>{$ZodType.init(e,t),e._zod.pattern=boolean$1,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),$ZodAny=$constructor("$ZodAny",(e,t)=>{$ZodType.init(e,t),e._zod.parse=n=>n}),$ZodUnknown=$constructor("$ZodUnknown",(e,t)=>{$ZodType.init(e,t),e._zod.parse=n=>n}),$ZodNever=$constructor("$ZodNever",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function handleArrayResult(e,t,n){e.issues.length&&t.issues.push(...prefixIssues(n,e.issues)),t.value[n]=e.value}const $ZodArray=$constructor("$ZodArray",(e,t)=>{$ZodType.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const s=[];for(let i=0;i<o.length;i++){const a=o[i],l=t.element._zod.run({value:a,issues:[]},r);l instanceof Promise?s.push(l.then(c=>handleArrayResult(c,n,i))):handleArrayResult(l,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function handleObjectResult(e,t,n){e.issues.length&&t.issues.push(...prefixIssues(n,e.issues)),t.value[n]=e.value}function handleOptionalObjectResult(e,t,n,r){e.issues.length?r[n]===void 0?n in r?t.value[n]=void 0:t.value[n]=e.value:t.issues.push(...prefixIssues(n,e.issues)):e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}const $ZodObject=$constructor("$ZodObject",(e,t)=>{$ZodType.init(e,t);const n=cached(()=>{const d=Object.keys(t.shape);for(const v of d)if(!(t.shape[v]instanceof $ZodType))throw new Error(`Invalid element at key "${v}": expected a Zod schema`);const f=optionalKeys(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});defineLazy(e._zod,"propValues",()=>{const d=t.shape,f={};for(const v in d){const _=d[v]._zod;if(_.values){f[v]??(f[v]=new Set);for(const y of _.values)f[v].add(y)}}return f});const r=d=>{const f=new Doc(["shape","payload","ctx"]),v=n.value,_=b=>{const m=esc(b);return`shape[${m}]._zod.run({ value: input[${m}], issues: [] }, ctx)`};f.write("const input = payload.value;");const y=Object.create(null);let h=0;for(const b of v.keys)y[b]=`key_${h++}`;f.write("const newResult = {}");for(const b of v.keys)if(v.optionalKeys.has(b)){const m=y[b];f.write(`const ${m} = ${_(b)};`);const $=esc(b);f.write(`
134
134
  if (${m}.issues.length) {
135
- if (input[${E}] === undefined) {
136
- if (${E} in input) {
137
- newResult[${E}] = undefined;
135
+ if (input[${$}] === undefined) {
136
+ if (${$} in input) {
137
+ newResult[${$}] = undefined;
138
138
  }
139
139
  } else {
140
140
  payload.issues = payload.issues.concat(
141
141
  ${m}.issues.map((iss) => ({
142
142
  ...iss,
143
- path: iss.path ? [${E}, ...iss.path] : [${E}],
143
+ path: iss.path ? [${$}, ...iss.path] : [${$}],
144
144
  }))
145
145
  );
146
146
  }
147
147
  } else if (${m}.value === undefined) {
148
- if (${E} in input) newResult[${E}] = undefined;
148
+ if (${$} in input) newResult[${$}] = undefined;
149
149
  } else {
150
- newResult[${E}] = ${m}.value;
150
+ newResult[${$}] = ${m}.value;
151
151
  }
152
152
  `)}else{const m=y[b];f.write(`const ${m} = ${_(b)};`),f.write(`
153
153
  if (${m}.issues.length) payload.issues = payload.issues.concat(${m}.issues.map(iss => ({
154
154
  ...iss,
155
155
  path: iss.path ? [${esc(b)}, ...iss.path] : [${esc(b)}]
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 E of u.keys){const k=m[E],N=k._zod.run({value:v[E],issues:[]},f),P=k._zod.optin==="optional"&&k._zod.optout==="optional";N instanceof Promise?_.push(N.then(Z=>P?handleOptionalObjectResult(Z,d,E,v):handleObjectResult(Z,d,E))):P?handleOptionalObjectResult(N,d,E,v):handleObjectResult(N,d,E)}}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 E=p.run({value:v[m],issues:[]},f);E instanceof Promise?_.push(E.then(k=>handleObjectResult(k,d,m))):handleObjectResult(E,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:E,patterns:k,contentEncoding:N}=t._zod.bag;if(typeof b=="number"&&(p.minLength=b),typeof m=="number"&&(p.maxLength=m),E&&(p.format=s[E]??E,p.format===""&&delete p.format),N&&(p.contentEncoding=N),k&&k.size>0){const P=[...k];P.length===1?p.pattern=P[0].source:P.length>1&&(a.schema.allOf=[...P.map(Z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:Z.source}))])}break}case"number":{const p=h,{minimum:b,maximum:m,format:E,multipleOf:k,exclusiveMaximum:N,exclusiveMinimum:P}=t._zod.bag;typeof E=="string"&&E.includes("int")?p.type="integer":p.type="number",typeof P=="number"&&(p.exclusiveMinimum=P),typeof b=="number"&&(p.minimum=b,typeof P=="number"&&(P>=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)),E=new Set([...m].filter(k=>{const N=o.shape[k]._zod;return this.io==="input"?N.optin===void 0:N.optout===void 0}));E.size>0&&(p.required=Array.from(E)),((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]}),E=N=>"allOf"in N&&Object.keys(N).length===1,k=[...E(b)?b.allOf:[b],...E(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:E}=t._zod.bag;typeof m=="number"&&(p.minItems=m),typeof E=="number"&&(p.maxItems=E);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:E,mime:k}=t._zod.bag;m!==void 0&&(b.minLength=m),E!==void 0&&(b.maxLength=E),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,P=r.external.uri??(Q=>Q);if(N)return{ref:P(N)};const Z=h[1].defId??h[1].schema.id??`schema${this.counter++}`;return h[1].defId=Z,{defId:Z,ref:`${P("__shared")}#/${p}/${Z}`}}if(h[1]===o)return{ref:"#"};const m=`#/${p}/`,E=h[1].schema.id??`__schema${this.counter++}`;return{defId:E,ref:m+E}},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 E=p.schema;for(const k in E)delete E[k];E.$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>
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>
157
157
 
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,E={...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,E))}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);ne(this,"type");ne(this,"retryable");ne(this,"statusCode");ne(this,"rawError");ne(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){ne(this,"config");ne(this,"fetch");this.config=t,this.fetch=t.customFetch}async invoke(t,n,r,o){var m,E,k,N,P,Z,Q,re,ce,ie,we,ge,ze,xe,ve,me,g,x;const s=Object.entries(n).map(([S,A])=>zodToOpenAITool(S,A)),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 A=(S==null?void 0:S.name)==="AbortError",O=A?"Network request aborted":"Network request failed";throw A||console.error(S),new InvokeError(InvokeErrorType.NETWORK_ERROR,O,S)}if(!a.ok){const S=await a.json().catch(),A=((m=S.error)==null?void 0:m.message)||a.statusText;throw a.status===401||a.status===403?new InvokeError(InvokeErrorType.AUTH_ERROR,`Authentication failed: ${A}`,S):a.status===429?new InvokeError(InvokeErrorType.RATE_LIMIT,`Rate limit exceeded: ${A}`,S):a.status>=500?new InvokeError(InvokeErrorType.SERVER_ERROR,`Server error: ${A}`,S):new InvokeError(InvokeErrorType.UNKNOWN,`HTTP ${a.status}: ${A}`,S)}const l=await a.json(),c=(E=l.choices)==null?void 0:E[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=(Q=(Z=(P=(N=d==null?void 0:d.message)==null?void 0:N.tool_calls)==null?void 0:P[0])==null?void 0:Z.function)==null?void 0:Q.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 _=(we=(ie=(ce=(re=d.message)==null?void 0:re.tool_calls)==null?void 0:ce[0])==null?void 0:ie.function)==null?void 0:we.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:((ge=l.usage)==null?void 0:ge.prompt_tokens)??0,completionTokens:((ze=l.usage)==null?void 0:ze.completion_tokens)??0,totalTokens:((xe=l.usage)==null?void 0:xe.total_tokens)??0,cachedTokens:(me=(ve=l.usage)==null?void 0:ve.prompt_tokens_details)==null?void 0:me.cached_tokens,reasoningTokens:(x=(g=l.usage)==null?void 0:g.completion_tokens_details)==null?void 0:x.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();ne(this,"config");ne(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>.
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>.
159
159
 
160
160
  <intro>
161
161
  You excel at following tasks:
@@ -308,7 +308,7 @@ Here are examples of good output patterns. Use them as reference but never copy
308
308
  }
309
309
  }
310
310
  </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,E=((l=b.input)==null?void 0:l.text)||"no text provided";console.log(chalk.green.bold("Task completed"),m,E),__privateMethod$1(this,_PageAgentCore_instances,onDone_fn).call(this,m);const k={success:m,data:E,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(`
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
312
  `):"";c&&console.log(c);const u=e.get(i);assert(u,`Tool ${i} not found`),console.log(chalk.blue.bold(`Executing tool: ${i}`),a),__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"executing",tool:i,input:a});const d=Date.now(),f=await u.execute.bind(this)(a),v=Date.now()-d;return console.log(chalk.green.bold(`Tool (${i}) executed for ${v}ms`),f),__privateMethod$1(this,_PageAgentCore_instances,emitActivity_fn).call(this,{type:"executed",tool:i,input:a,output:f,duration:v}),i==="wait"?__privateGet$1(this,_states).totalWaitTime+=(a==null?void 0:a.seconds)||0:__privateGet$1(this,_states).totalWaitTime=0,{input:o,output:f}},"execute")}},"#packMacroTool"),getSystemPrompt_fn=__name$2(function(){if(this.config.customSystemPrompt)return this.config.customSystemPrompt;const e=this.config.language==="zh-CN"?"中文":"English";return SYSTEM_PROMPT.replace(/Default working language: \*\*.*?\*\*/,`Default working language: **${e}**`)},"#getSystemPrompt"),getInstructions_fn=__name$2(async function(){var a,l,c;const{instructions:e,experimentalLlmsTxt:t}=this.config,n=(a=e==null?void 0:e.system)==null?void 0:a.trim();let r;const o=((l=__privateGet$1(this,_states).browserState)==null?void 0:l.url)||"";if(e!=null&&e.getPageInstructions&&o)try{r=(c=e.getPageInstructions(o))==null?void 0:c.trim()}catch(u){console.error(chalk.red("[PageAgent] Failed to execute getPageInstructions callback:"),u)}const s=t&&o?await fetchLlmsTxt(o):void 0;if(!n&&!r&&!s)return"";let i=`<instructions>
313
313
  `;return n&&(i+=`<system_instructions>
314
314
  ${n}
@@ -349,10 +349,10 @@ ${s}
349
349
 
350
350
  `,t+=`</browser_state>
351
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,x){!g||g.nodeType!==Node.ELEMENT_NODE||u.set(g,{...u.get(g),...x})}__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 x=g.getBoundingClientRect();return x&&f.boundingRects.set(g,x),x}__name$1(v,"getCachedBoundingRect");function _(g){if(!g)return null;if(f.computedStyles.has(g))return f.computedStyles.get(g);const x=window.getComputedStyle(g);return x&&f.computedStyles.set(g,x),x}__name$1(_,"getCachedComputedStyle");function y(g){if(!g)return null;if(f.clientRects.has(g))return f.clientRects.get(g);const x=g.getClientRects();return x&&f.clientRects.set(g,x),x}__name$1(y,"getCachedClientRects");const h={},p={current:0},b="playwright-highlight-container";function m(g,x,S=null){if(!g)return x;const A=[];let O=null,C=20,V=16,U=null;try{let j=document.getElementById(b);j||(j=document.createElement("div"),j.id=b,j.style.position="fixed",j.style.pointerEvents="none",j.style.top="0",j.style.left="0",j.style.width="100%",j.style.height="100%",j.style.zIndex="2147483640",j.style.backgroundColor="transparent",document.body.appendChild(j));const W=g.getClientRects();if(!W||W.length===0)return x;const K=["#FF0000","#00FF00","#0000FF","#FFA500","#800080","#008080","#FF69B4","#4B0082","#FF4500","#2E8B57","#DC143C","#4682B4"],oe=x%K.length;let R=K[oe];const M=R+Math.floor(r*255).toString(16).padStart(2,"0");R=R+Math.floor(o*255).toString(16).padStart(2,"0");let G={x:0,y:0};if(S){const L=S.getBoundingClientRect();G.x=L.left,G.y=L.top}const ee=document.createDocumentFragment();for(const L of W){if(L.width===0||L.height===0)continue;const X=document.createElement("div");X.style.position="fixed",X.style.border=`2px solid ${R}`,X.style.backgroundColor=M,X.style.pointerEvents="none",X.style.boxSizing="border-box";const F=L.top+G.y,H=L.left+G.x;X.style.top=`${F}px`,X.style.left=`${H}px`,X.style.width=`${L.width}px`,X.style.height=`${L.height}px`,ee.appendChild(X),A.push({element:X,initialRect:L})}const ue=W[0];O=document.createElement("div"),O.className="playwright-highlight-label",O.style.position="fixed",O.style.background=R,O.style.color="white",O.style.padding="1px 4px",O.style.borderRadius="4px",O.style.fontSize=`${Math.min(12,Math.max(8,ue.height/2))}px`,O.textContent=x.toString(),C=O.offsetWidth>0?O.offsetWidth:C,V=O.offsetHeight>0?O.offsetHeight:V;const _e=ue.top+G.y,Y=ue.left+G.x;let Te=_e+2,Ie=Y+ue.width-C-2;(ue.width<C+4||ue.height<V+4)&&(Te=_e-V-2,Ie=Y+ue.width-C,Ie<G.x&&(Ie=Y)),Te=Math.max(0,Math.min(Te,window.innerHeight-V)),Ie=Math.max(0,Math.min(Ie,window.innerWidth-C)),O.style.top=`${Te}px`,O.style.left=`${Ie}px`,ee.appendChild(O);const I=__name$1((L,X)=>{let F=0;return(...H)=>{const q=performance.now();if(!(q-F<X))return F=q,L(...H)}},"throttleFunction")(__name$1(()=>{const L=g.getClientRects();let X={x:0,y:0};if(S){const F=S.getBoundingClientRect();X.x=F.left,X.y=F.top}if(A.forEach((F,H)=>{if(H<L.length){const q=L[H],ke=q.top+X.y,ae=q.left+X.x;F.element.style.top=`${ke}px`,F.element.style.left=`${ae}px`,F.element.style.width=`${q.width}px`,F.element.style.height=`${q.height}px`,F.element.style.display=q.width===0||q.height===0?"none":"block"}else F.element.style.display="none"}),L.length<A.length)for(let F=L.length;F<A.length;F++)A[F].element.style.display="none";if(O&&L.length>0){const F=L[0],H=F.top+X.y,q=F.left+X.x;let ke=H+2,ae=q+F.width-C-2;(F.width<C+4||F.height<V+4)&&(ke=H-V-2,ae=q+F.width-C,ae<X.x&&(ae=q)),ke=Math.max(0,Math.min(ke,window.innerHeight-V)),ae=Math.max(0,Math.min(ae,window.innerWidth-C)),O.style.top=`${ke}px`,O.style.left=`${ae}px`,O.style.display="block"}else O&&(O.style.display="none")},"updatePositions"),16);return window.addEventListener("scroll",I,!0),window.addEventListener("resize",I),U=__name$1(()=>{window.removeEventListener("scroll",I,!0),window.removeEventListener("resize",I),A.forEach(L=>L.element.remove()),O&&O.remove()},"cleanupFn"),j.appendChild(ee),x+1}finally{U&&(window._highlightCleanupFunctions=window._highlightCleanupFunctions||[]).push(U)}}__name$1(m,"highlightElement");function E(g){if(!g||g.nodeType!==Node.ELEMENT_NODE)return null;const x=_(g);if(!x)return null;const S=x.display;if(S==="inline"||S==="inline-block")return null;const A=x.overflowX,O=x.overflowY,C=A==="auto"||A==="scroll",V=O==="auto"||O==="scroll";if(!C&&!V)return null;const U=g.scrollWidth-g.clientWidth,j=g.scrollHeight-g.clientHeight,W=4;if(U<W&&j<W||!V&&U<W||!C&&j<W)return null;const K=g.scrollTop,oe=g.scrollLeft,R=g.scrollWidth-g.clientWidth-g.scrollLeft,M=g.scrollHeight-g.clientHeight-g.scrollTop,G={top:K,right:R,bottom:M,left:oe};return d(g,{scrollable:!0,scrollData:G}),G}__name$1(E,"isScrollableElement");function k(g){try{if(a===-1){const V=g.parentElement;if(!V)return!1;try{return V.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const j=window.getComputedStyle(V);return j.display!=="none"&&j.visibility!=="hidden"&&j.opacity!=="0"}}const x=document.createRange();x.selectNodeContents(g);const S=x.getClientRects();if(!S||S.length===0)return!1;let A=!1,O=!1;for(const V of S)if(V.width>0&&V.height>0&&(A=!0,!(V.bottom<-a||V.top>window.innerHeight+a||V.right<-a||V.left>window.innerWidth+a))){O=!0;break}if(!A||!O)return!1;const C=g.parentElement;if(!C)return!1;try{return C.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})}catch{const U=window.getComputedStyle(C);return U.display!=="none"&&U.visibility!=="hidden"&&U.opacity!=="0"}}catch(x){return console.warn("Error checking text node visibility:",x),!1}}__name$1(k,"isTextNodeVisible");function N(g){if(!g||!g.tagName)return!1;const x=new Set(["body","div","main","article","section","nav","header","footer"]),S=g.tagName.toLowerCase();return x.has(S)?!0:!new Set(["svg","script","style","link","meta","noscript","template"]).has(S)}__name$1(N,"isElementAccepted");function P(g){const x=_(g);return g.offsetWidth>0&&g.offsetHeight>0&&(x==null?void 0:x.visibility)!=="hidden"&&(x==null?void 0:x.display)!=="none"}__name$1(P,"isElementVisible");function Z(g){var M,G;if(!g||g.nodeType!==Node.ELEMENT_NODE||t.includes(g))return!1;if(n.includes(g))return!0;const x=g.tagName.toLowerCase(),S=_(g),A=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"]),O=new Set(["not-allowed","no-drop","wait","progress","initial","inherit"]);function C(ee){return ee.tagName.toLowerCase()==="html"?!1:!!(S!=null&&S.cursor&&A.has(S.cursor))}if(__name$1(C,"doesElementHaveInteractivePointer"),C(g))return!0;const U=new Set(["a","button","input","select","textarea","details","summary","label","option","optgroup","fieldset","legend"]),j=new Set(["disabled","readonly"]);if(U.has(x)){if(S!=null&&S.cursor&&O.has(S.cursor))return!1;for(const ee of j)if(g.hasAttribute(ee)||g.getAttribute(ee)==="true"||g.getAttribute(ee)==="")return!1;return!(g.disabled||g.readOnly||g.inert)}const W=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 oe=new Set(["button","menu","menubar","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);if(U.has(x)||W&&oe.has(W)||K&&oe.has(K))return!0;try{if(typeof getEventListeners=="function"){const _e=getEventListeners(g),Y=["click","mousedown","mouseup","dblclick"];for(const Te of Y)if(_e[Te]&&_e[Te].length>0)return!0}const ee=((G=(M=g==null?void 0:g.ownerDocument)==null?void 0:M.defaultView)==null?void 0:G.getEventListenersForNode)||window.getEventListenersForNode;if(typeof ee=="function"){const _e=ee(g),Y=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const Te of Y)for(const Ie of _e)if(Ie.type===Te)return!0}const ue=["onclick","onmousedown","onmouseup","ondblclick"];for(const _e of ue)if(g.hasAttribute(_e)||typeof g[_e]=="function")return!0}catch{}return!!E(g)}__name$1(Z,"isInteractiveElement");function Q(g){if(a===-1)return!0;const x=y(g);if(!x||x.length===0)return!1;let S=!1;for(const j of x)if(j.width>0&&j.height>0&&!(j.bottom<-a||j.top>window.innerHeight+a||j.right<-a||j.left>window.innerWidth+a)){S=!0;break}if(!S)return!1;if(g.ownerDocument!==window.document)return!0;let O=Array.from(x).find(j=>j.width>0&&j.height>0);if(!O)return!1;const C=g.getRootNode();if(C instanceof ShadowRoot){const j=O.left+O.width/2,W=O.top+O.height/2;try{const K=C.elementFromPoint(j,W);if(!K)return!1;let oe=K;for(;oe&&oe!==C;){if(oe===g)return!0;oe=oe.parentElement}return!1}catch{return!0}}const V=5;return[{x:O.left+O.width/2,y:O.top+O.height/2},{x:O.left+V,y:O.top+V},{x:O.right-V,y:O.bottom-V}].some(({x:j,y:W})=>{try{const K=document.elementFromPoint(j,W);if(!K)return!1;let oe=K;for(;oe&&oe!==document.documentElement;){if(oe===g)return!0;oe=oe.parentElement}return!1}catch{return!0}})}__name$1(Q,"isTopElement");function re(g,x){if(x===-1)return!0;const S=g.getClientRects();if(!S||S.length===0){const A=v(g);return!A||A.width===0||A.height===0?!1:!(A.bottom<-x||A.top>window.innerHeight+x||A.right<-x||A.left>window.innerWidth+x)}for(const A of S)if(!(A.width===0||A.height===0)&&!(A.bottom<-x||A.top>window.innerHeight+x||A.right<-x||A.left>window.innerWidth+x))return!0;return!1}__name$1(re,"isInExpandedViewport");function ce(g){if(!g||g.nodeType!==Node.ELEMENT_NODE)return!1;const x=g.tagName.toLowerCase();return new Set(["a","button","input","select","textarea","details","summary","label"]).has(x)?!0:g.hasAttribute("onclick")||g.hasAttribute("role")||g.hasAttribute("tabindex")||g.hasAttribute("aria-")||g.hasAttribute("data-action")||g.getAttribute("contenteditable")==="true"}__name$1(ce,"isInteractiveCandidate");const ie=new Set(["a","button","input","select","textarea","summary","details","label","option"]),we=new Set(["button","link","menuitem","menuitemradio","menuitemcheckbox","radio","checkbox","tab","switch","slider","spinbutton","combobox","searchbox","textbox","listbox","option","scrollbar"]);function ge(g){if(!g||g.nodeType!==Node.ELEMENT_NODE||!P(g))return!1;const x=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||""),A=!!g.closest('button,a,[role="button"],.menu,.dropdown,.list,.toolbar'),O=[...g.children].some(P),C=g.parentElement&&g.parentElement.isSameNode(document.body);return(Z(g)||x||S)&&O&&A&&!C}__name$1(ge,"isHeuristicallyInteractive");function ze(g){var A,O;if(!g||g.nodeType!==Node.ELEMENT_NODE)return!1;const x=g.tagName.toLowerCase(),S=g.getAttribute("role");if(x==="iframe"||ie.has(x)||S&&we.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 C=((O=(A=g==null?void 0:g.ownerDocument)==null?void 0:A.defaultView)==null?void 0:O.getEventListenersForNode)||window.getEventListenersForNode;if(typeof C=="function"){const U=C(g),j=["click","mousedown","mouseup","keydown","keyup","submit","change","input","focus","blur"];for(const W of j)for(const K of U)if(K.type===W)return!0}if(["onmousedown","onmouseup","onkeydown","onkeyup","onsubmit","onchange","oninput","onfocus","onblur"].some(U=>g.hasAttribute(U)))return!0}catch{}return!!ge(g)}__name$1(ze,"isElementDistinctInteraction");function xe(g,x,S,A){if(!g.isInteractive)return!1;let O=!1;return A?ze(x)?O=!0:O=!1:O=!0,O&&(g.isInViewport=re(x,a),(g.isInViewport||a===-1)&&(g.highlightIndex=c++,s))?(i>=0?i===g.highlightIndex&&m(x,g.highlightIndex,S):m(x,g.highlightIndex,S),!0):!1}__name$1(xe,"handleHighlighting");function ve(g,x=null,S=!1){var V,U,j,W,K,oe,R;if(!g||g.id===b||g.nodeType!==Node.ELEMENT_NODE&&g.nodeType!==Node.TEXT_NODE||!g||g.id===b||((V=g.dataset)==null?void 0:V.browserUseIgnore)==="true"||((U=g.dataset)==null?void 0:U.pageAgentIgnore)==="true"||g.getAttribute&&g.getAttribute("aria-hidden")==="true")return null;if(g===document.body){const M={tagName:"body",attributes:{},xpath:"/body",children:[]};for(const ee of g.childNodes){const ue=ve(ee,x,!1);ue&&M.children.push(ue)}const G=`${p.current++}`;return h[G]=M,G}if(g.nodeType!==Node.ELEMENT_NODE&&g.nodeType!==Node.TEXT_NODE)return null;if(g.nodeType===Node.TEXT_NODE){const M=(j=g.textContent)==null?void 0:j.trim();if(!M)return null;const G=g.parentElement;if(!G||G.tagName.toLowerCase()==="script")return null;const ee=`${p.current++}`;return h[ee]={type:"TEXT_NODE",text:M,isVisible:k(g)},ee}if(g.nodeType===Node.ELEMENT_NODE&&!N(g))return null;if(a!==-1&&!g.shadowRoot){const M=v(g),G=_(g),ee=G&&(G.position==="fixed"||G.position==="sticky"),ue=g.offsetWidth>0||g.offsetHeight>0;if(!M||!ee&&!ue&&(M.bottom<-a||M.top>window.innerHeight+a||M.right<-a||M.left>window.innerWidth+a))return null}const A={tagName:g.tagName.toLowerCase(),attributes:{},children:[]};if(ce(g)||g.tagName.toLowerCase()==="iframe"||g.tagName.toLowerCase()==="body"){const M=((W=g.getAttributeNames)==null?void 0:W.call(g))||[];for(const G of M){const ee=g.getAttribute(G);A.attributes[G]=ee}g.tagName.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(A.attributes.checked=g.checked?"true":"false")}let O=!1;if(g.nodeType===Node.ELEMENT_NODE&&(A.isVisible=P(g),A.isVisible)){A.isTopElement=Q(g);const M=g.getAttribute("role"),G=M==="menu"||M==="menubar"||M==="listbox";if((A.isTopElement||G)&&(A.isInteractive=Z(g),O=xe(A,g,x,S),A.ref=g,A.isInteractive&&Object.keys(A.attributes).length===0)){const ee=((K=g.getAttributeNames)==null?void 0:K.call(g))||[];for(const ue of ee){const _e=g.getAttribute(ue);A.attributes[ue]=_e}}}if(g.tagName){const M=g.tagName.toLowerCase();if(M==="iframe")try{const G=g.contentDocument||((oe=g.contentWindow)==null?void 0:oe.document);if(G)for(const ee of G.childNodes){const ue=ve(ee,g,!1);ue&&A.children.push(ue)}}catch(G){console.warn("Unable to access iframe:",G)}else if(g.isContentEditable||g.getAttribute("contenteditable")==="true"||g.id==="tinymce"||g.classList.contains("mce-content-body")||M==="body"&&((R=g.getAttribute("data-id"))!=null&&R.startsWith("mce_")))for(const G of g.childNodes){const ee=ve(G,x,O);ee&&A.children.push(ee)}else{if(g.shadowRoot){A.shadowRoot=!0;for(const G of g.shadowRoot.childNodes){const ee=ve(G,x,O);ee&&A.children.push(ee)}}for(const G of g.childNodes){const ue=ve(G,x,O||S);ue&&A.children.push(ue)}}}if(A.tagName==="a"&&A.children.length===0&&!A.attributes.href){const M=v(g);if(!(M&&M.width>0&&M.height>0||g.offsetWidth>0||g.offsetHeight>0))return null}A.extra=u.get(g)||null;const C=`${p.current++}`;return h[C]=A,C}__name$1(ve,"buildDomTree");const me=ve(document.body);return f.clearCache(),{rootId:me,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 E=getAllTextTillNextClickableElement(d);let k="";if(r.length>0&&d.attributes){const Z=matchAttributes(d.attributes,r),Q=Object.keys(Z);if(Q.length>1){const ce=new Set,ie={};for(const we of Q){const ge=Z[we];ge.length>5&&(ge in ie?ce.add(we):ie[ge]=we)}for(const we of ce)delete Z[we]}Z.role===d.tagName&&delete Z.role;const re=["aria-label","placeholder","title"];for(const ce of re)Z[ce]&&Z[ce].toLowerCase().trim()===E.toLowerCase().trim()&&delete Z[ce];Object.keys(Z).length>0&&(k=Object.entries(Z).map(([ce,ie])=>`${ce}=${o(ie,20)}`).join(" "))}const N=d.isNew?`*[${d.highlightIndex}]`:`[${d.highlightIndex}]`;let P=`${y}${N}<${d.tagName??""}`;if(k&&(P+=` ${k}`),d.extra&&d.extra.scrollable){let Z="";(h=d.extra.scrollData)!=null&&h.left&&(Z+=`left=${d.extra.scrollData.left}, `),(p=d.extra.scrollData)!=null&&p.top&&(Z+=`top=${d.extra.scrollData.top}, `),(b=d.extra.scrollData)!=null&&b.right&&(Z+=`right=${d.extra.scrollData.right}, `),(m=d.extra.scrollData)!=null&&m.bottom&&(Z+=`bottom=${d.extra.scrollData.bottom}`),P+=` data-scrollable="${Z}"`}if(E){const Z=E.trim();k||(P+=" "),P+=`>${Z}`}else k||(P+=" ");P+=" />",v.push(P)}for(const E of d.children)c(E,_,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(`
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
353
  `)}__name$1(flatTreeToString,"flatTreeToString");const getAllTextTillNextClickableElement=__name$1((e,t=-1)=>{const n=[],r=__name$1((o,s)=>{if(!(t!==-1&&s>t)&&!(o.type==="element"&&o!==e&&o.highlightIndex!==void 0)){if(o.type==="text"&&o.text)n.push(o.text);else if(o.type==="element")for(const i of o.children)r(i,s+1)}},"collectText");return r(e,0),n.join(`
354
354
  `).trim()},"getAllTextTillNextClickableElement");function getSelectorMap(e){const t=new Map,n=Object.keys(e.map);for(const r of n){const o=e.map[r];o.isInteractive&&typeof o.highlightIndex=="number"&&t.set(o.highlightIndex,o)}return t}__name$1(getSelectorMap,"getSelectorMap");function getElementTextMap(e){const t=e.split(`
355
- `).map(r=>r.trim()).filter(r=>r.length>0),n=new Map;for(const r of t){const s=/^\[(\d+)\]<[^>]+>([^<]*)/.exec(r);if(s){const i=parseInt(s[1],10);n.set(i,r)}}return n}__name$1(getElementTextMap,"getElementTextMap");function cleanUpHighlights(){const e=window._highlightCleanupFunctions||[];for(const t of e)typeof t=="function"&&t();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 e=window.location.href;setInterval(()=>{window.location.href!==e&&(e=window.location.href,cleanUpHighlights())},500)}function getPageInfo(){const e=window.innerWidth,t=window.innerHeight,n=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth||0),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight||0),o=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft||0,s=window.scrollY||window.pageYOffset||document.documentElement.scrollTop||0,i=Math.max(0,r-(window.innerHeight+s)),a=Math.max(0,n-(window.innerWidth+o));return{viewport_width:e,viewport_height:t,page_width:n,page_height:r,scroll_x:o,scroll_y:s,pixels_above:s,pixels_below:i,pages_above:t>0?s/t:0,pages_below:t>0?i/t:0,total_pages:t>0?r/t:0,current_page_position:s/Math.max(1,r-t),pixels_left:o,pixels_right:a}}__name$1(getPageInfo,"getPageInfo");function patchReact(e){const t=document.querySelectorAll('[data-reactroot], [data-reactid], [data-react-checksum], #root, #app, [id^="root-"], [id^="app-"], #adex-wrapper, #adex-root');for(const n of t)n.setAttribute("data-page-agent-not-interactive","true")}__name$1(patchReact,"patchReact");const _PageController=class extends EventTarget{constructor(t={}){super();ne(this,"config");ne(this,"flatTree",null);ne(this,"selectorMap",new Map);ne(this,"elementTextMap",new Map);ne(this,"simplifiedHTML","<EMPTY>");ne(this,"lastTimeUpdate",0);ne(this,"isIndexed",!1);ne(this,"mask",null);ne(this,"maskReady",null);this.config=t,patchReact(),t.enableMask&&this.initMask()}initMask(){this.maskReady===null&&(this.maskReady=(async()=>{const{SimulatorMask:t}=await Promise.resolve().then(()=>SimulatorMaskBHnQ6LmL);this.mask=new t})())}async getCurrentUrl(){return window.location.href}async getLastUpdateTime(){return this.lastTimeUpdate}async getBrowserState(){const t=window.location.href,n=document.title,r=getPageInfo(),o=resolveViewportExpansion(this.config.viewportExpansion);await this.updateTree();const s=this.simplifiedHTML,i=`Current Page: [${n}](${t})`,a=`Page info: ${r.viewport_width}x${r.viewport_height}px viewport, ${r.page_width}x${r.page_height}px total page size, ${r.pages_above.toFixed(1)} pages above, ${r.pages_below.toFixed(1)} pages below, ${r.total_pages.toFixed(1)} total pages, at ${(r.current_page_position*100).toFixed(0)}% of page`,l=o===-1?"Interactive elements from top layer of the current page (full page):":"Interactive elements from top layer of the current page inside the viewport:",u=r.pixels_above>4&&o!==-1?`... ${r.pixels_above} pixels above (${r.pages_above.toFixed(1)} pages) - scroll to see more ...`:"[Start of page]",d=`${i}
355
+ `).map(r=>r.trim()).filter(r=>r.length>0),n=new Map;for(const r of t){const s=/^\[(\d+)\]<[^>]+>([^<]*)/.exec(r);if(s){const i=parseInt(s[1],10);n.set(i,r)}}return n}__name$1(getElementTextMap,"getElementTextMap");function cleanUpHighlights(){const e=window._highlightCleanupFunctions||[];for(const t of e)typeof t=="function"&&t();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 e=window.location.href;setInterval(()=>{window.location.href!==e&&(e=window.location.href,cleanUpHighlights())},500)}function getPageInfo(){const e=window.innerWidth,t=window.innerHeight,n=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth||0),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight||0),o=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft||0,s=window.scrollY||window.pageYOffset||document.documentElement.scrollTop||0,i=Math.max(0,r-(window.innerHeight+s)),a=Math.max(0,n-(window.innerWidth+o));return{viewport_width:e,viewport_height:t,page_width:n,page_height:r,scroll_x:o,scroll_y:s,pixels_above:s,pixels_below:i,pages_above:t>0?s/t:0,pages_below:t>0?i/t:0,total_pages:t>0?r/t:0,current_page_position:s/Math.max(1,r-t),pixels_left:o,pixels_right:a}}__name$1(getPageInfo,"getPageInfo");function patchReact(e){const t=document.querySelectorAll('[data-reactroot], [data-reactid], [data-react-checksum], #root, #app, [id^="root-"], [id^="app-"], #adex-wrapper, #adex-root');for(const n of t)n.setAttribute("data-page-agent-not-interactive","true")}__name$1(patchReact,"patchReact");const _PageController=class extends EventTarget{constructor(t={}){super();re(this,"config");re(this,"flatTree",null);re(this,"selectorMap",new Map);re(this,"elementTextMap",new Map);re(this,"simplifiedHTML","<EMPTY>");re(this,"lastTimeUpdate",0);re(this,"isIndexed",!1);re(this,"mask",null);re(this,"maskReady",null);this.config=t,patchReact(),t.enableMask&&this.initMask()}initMask(){this.maskReady===null&&(this.maskReady=(async()=>{const{SimulatorMask:t}=await Promise.resolve().then(()=>SimulatorMaskBHnQ6LmL);this.mask=new t})())}async getCurrentUrl(){return window.location.href}async getLastUpdateTime(){return this.lastTimeUpdate}async getBrowserState(){const t=window.location.href,n=document.title,r=getPageInfo(),o=resolveViewportExpansion(this.config.viewportExpansion);await this.updateTree();const s=this.simplifiedHTML,i=`Current Page: [${n}](${t})`,a=`Page info: ${r.viewport_width}x${r.viewport_height}px viewport, ${r.page_width}x${r.page_height}px total page size, ${r.pages_above.toFixed(1)} pages above, ${r.pages_below.toFixed(1)} pages below, ${r.total_pages.toFixed(1)} total pages, at ${(r.current_page_position*100).toFixed(0)}% of page`,l=o===-1?"Interactive elements from top layer of the current page (full page):":"Interactive elements from top layer of the current page inside the viewport:",u=r.pixels_above>4&&o!==-1?`... ${r.pixels_above} pixels above (${r.pages_above.toFixed(1)} pages) - scroll to see more ...`:"[Start of page]",d=`${i}
356
356
  ${a}
357
357
 
358
358
  ${l}
@@ -367,7 +367,7 @@ ${r.map(o=>o.content).join(`
367
367
  ${r.map(o=>o.content).join(`
368
368
 
369
369
  `)}`}catch{return}}invalidateNotesCache(){this.notesCache=null}init(){if(this.agent)return;this.controller=new PageController({});const t=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:n=>t.getRouteNotes(n)},customTools:{...this.buildRegisteredCustomTools(),click_element_by_index:{description:"Click element by index",inputSchema:object({index:int().min(0)}),async execute(n){return await t.requestApproval("click_element_by_index",n)?(await this.pageController.clickElement(n.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(n){return await t.requestApproval("input_text",n)?(await this.pageController.inputText(n.index,n.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(n){return await t.requestApproval("select_dropdown_option",n)?(await this.pageController.selectOption(n.index,n.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(n){return await t.requestApproval("execute_javascript",n)?(await this.pageController.executeJavascript(n.script)).message:"⏭️ Action skipped by user. Re-plan with a different approach."}}}},this.agent=new PageAgentCore(this.agentConfig),this.agent.addEventListener("activity",(n=>{this.handleActivity(n.detail)})),this.agent.addEventListener("statuschange",(()=>{this.syncState()}))}async requestApproval(t,n){if(this.autoApprove)return!0;const r=msgId(),o=describeAction(t,n);return this.addMessage({id:r,role:"approval",text:o,tool:t,step:this.currentStep,timestamp:Date.now(),approvalStatus:"pending"}),this.config.onStateChange("awaiting_approval",this.currentStep),new Promise(s=>{this.pendingApprovals.set(r,s)})}approve(t){const n=this.pendingApprovals.get(t);n&&(this.pendingApprovals.delete(t),this.updateMessageApproval(t,"approved"),this.config.onStateChange("acting",this.currentStep),n(!0))}skip(t){const n=this.pendingApprovals.get(t);n&&(this.pendingApprovals.delete(t),this.updateMessageApproval(t,"skipped"),this.config.onStateChange("thinking",this.currentStep),n(!1))}updateMessageApproval(t,n){this.messages=this.messages.map(r=>r.id===t?{...r,approvalStatus:n}:r),this.config.onMessagesChange(this.messages)}buildRegisteredCustomTools(){const t=this.getRegisteredTools(),n={};for(const r of t){const o=JSON.stringify(r.parameters);n[r.name]={description:`${r.description}
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"><circle cx="3" cy="3" r="1.5" fill="currentColor"></circle><circle cx="7" cy="3" r="1.5" fill="currentColor"></circle><circle cx="3" cy="8" r="1.5" fill="currentColor"></circle><circle cx="7" cy="8" r="1.5" fill="currentColor"></circle><circle cx="3" cy="13" r="1.5" fill="currentColor"></circle><circle cx="7" cy="13" r="1.5" fill="currentColor"></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"><rect x="4" y="4" width="16" height="12" rx="2" stroke="currentColor" stroke-width="1.8"></rect><circle cx="9" cy="10" r="1.5" fill="currentColor"></circle><circle cx="15" cy="10" r="1.5" fill="currentColor"></circle><path d="M8 20h8M12 16v4" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg> Agent</button>'),root_5=from_html("<option> </option>"),root_6=from_html("<option> </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"><rect x="3" y="3" width="18" height="18" rx="2" stroke="currentColor" stroke-width="2"></rect><circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="2"></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"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" stroke="currentColor" stroke-width="2"></path><path d="M14 2v6h6" stroke="currentColor" stroke-width="2"></path></svg>'),root_17=from_svg('<svg width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M4 4h16v16H4z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path><path d="M7 15V9l3 4 3-4v6M17 12h-3v3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>'),root_18=from_svg('<svg width="12" height="12" 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="2"></path><path d="M14 2v6h6" stroke="currentColor" stroke-width="2"></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">&times;</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">&times;</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"><path d="M7 2L7 22M17 2V22M2 7H22M2 17H22" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg> <!></button> <button type="button" class="tool-btn svelte-nv4d5v"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><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"></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$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"><path d="M12 5V19M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg> New</button> <button><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><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"></path></svg> History <!></button> <!> <button><svg width="14" height="14" 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.8"></path><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"></path></svg> Notes</button></div> <button class="close-btn svelte-nv4d5v" aria-label="Close">&times;</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%;
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">&times;</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">&times;</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">&times;</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
371
  animation: svelte-nv4d5v-capture-spin 0.6s linear infinite;}
372
372
  @keyframes svelte-nv4d5v-capture-spin {
373
373
  to { transform: rotate(360deg); }
@@ -375,18 +375,28 @@ Parameters: ${o}`,inputSchema:record(string(),any()),async execute(s){try{const
375
375
  animation: svelte-nv4d5v-spin 0.6s linear infinite;}
376
376
  @keyframes svelte-nv4d5v-spin {
377
377
  to { transform: rotate(360deg); }
378
- }.requests-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.agent-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.notes-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.panel-version.svelte-nv4d5v {font-size:10px;color:#4b5563;margin-right:auto;align-self:flex-end;padding-bottom:6px;}`};function FeedbackPanel(e,t){push(t,!0),append_styles(e,$$css$1);const n="3.0.1";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),E=state(!1),k=state(proxy([])),N=state("idle"),P=state(0),Z=state(!1),Q=state(null);function re(){return get(Q)||set(Q,new AgentBridge({proxyUrl:_(),model:y()||void 0,maxSteps:20,appContext:h()||void 0,endpoint:r(),project:o(),registeredTools:p(),onMessagesChange:T=>{set(k,T,!0)},onStateChange:(T,D)=>{set(N,T,!0),set(P,D,!0)}}),!0),get(Q)}function ce(){var T;(T=get(Q))==null||T.invalidateNotesCache()}user_effect(()=>{get(b)==="agent"&&!get(m)&&set(m,!0)}),user_effect(()=>{get(b)==="notes"&&!get(E)&&set(E,!0)});function ie(T){re().execute(T)}function we(){var T;(T=get(Q))==null||T.stop()}function ge(T){var D;(D=get(Q))==null||D.approve(T)}function ze(T){var D;(D=get(Q))==null||D.skip(T)}function xe(T){set(Z,T,!0),get(Q)&&(get(Q).autoApprove=T)}onDestroy(()=>{var T;(T=get(Q))==null||T.dispose()});let ve=state(proxy([])),me=state(!1),g=state(""),x=user_derived(()=>get(ve).filter(T=>T.status==="completed").length);async function S(){set(me,!0),set(g,"");const T=await fetchReports(r());set(ve,T.reports,!0),T.error&&set(g,T.error,!0),set(me,!1)}user_effect(()=>{r()&&S()});let A=state(""),O=state(""),C=state("bug"),V=state("medium"),U=state(proxy([])),j=state(proxy([])),W=state(proxy([])),K=state(proxy([])),oe=state(void 0);const R=["image/png","image/jpeg","image/gif","image/webp","image/svg+xml"];function M(){var T;(T=get(oe))==null||T.click()}async function G(T){const D=T.target,se=D.files;if(!(!se||se.length===0)){for(const te of se)try{const Oe=await ee(te);R.includes(te.type)?(set(U,[...get(U),Oe],!0),q(`Image added: ${te.name}`,"success")):(set(j,[...get(j),{name:te.name,type:te.type||"application/octet-stream",data:Oe,size:te.size}],!0),q(`File attached: ${te.name}`,"success"))}catch{q(`Failed to read: ${te.name}`,"error")}D.value=""}}function ee(T){return new Promise((D,se)=>{const te=new FileReader;te.onload=()=>D(te.result),te.onerror=()=>se(te.error),te.readAsDataURL(T)})}function ue(T){set(j,get(j).filter((D,se)=>se!==T),!0)}function _e(T){return T<1024?`${T}B`:T<1024*1024?`${(T/1024).toFixed(1)}KB`:`${(T/(1024*1024)).toFixed(1)}MB`}let Y=state(!1),Te=state(!1),Ie=state(!1),z=state(null),w=state(""),I=state(void 0),L=!1;user_effect(()=>{s()&&!L&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{var T;(T=get(I))==null||T.focus()})}),get(b)==="new"&&get(U).length===0&&setTimeout(()=>{captureViewportQuick().then(T=>{set(U,[...get(U),T],!0)}).catch(()=>{})},300)),L=s()});let X=state(""),F=state("success"),H=state(!1);function q(T,D){set(X,T,!0),set(F,D,!0),set(H,!0),setTimeout(()=>{set(H,!1)},3e3)}async function ke(){set(Te,!0);try{const T=await captureViewport();set(w,T,!0),set(z,get(U).length,!0)}catch(T){console.error("[jat-feedback] Screenshot failed:",T),q("Screenshot failed: "+(T instanceof Error?T.message:"unknown error"),"error")}finally{set(Te,!1)}}function ae(T){set(U,get(U).filter((D,se)=>se!==T),!0)}function pe(T){set(w,get(U)[T],!0),set(z,T,!0)}function Ee(T){get(z)!==null&&(get(z)>=get(U).length?(set(U,[...get(U),T],!0),q(`Screenshot captured (${get(U).length})`,"success")):(set(U,get(U).map((D,se)=>se===get(z)?T:D),!0),q("Screenshot updated","success"))),set(z,null),set(w,"")}function B(){get(z)!==null&&get(z)>=get(U).length&&(set(U,[...get(U),get(w)],!0),q(`Screenshot captured (${get(U).length})`,"success")),set(z,null),set(w,"")}function Pe(){set(Ie,!0),startElementPicker(T=>{set(W,[...get(W),T],!0),set(Ie,!1),q(`Element captured: <${T.tagName.toLowerCase()}>`,"success")})}function nt(){set(K,getCapturedLogs(),!0)}async function Ne(T){if(T.preventDefault(),!get(A).trim())return;set(Y,!0),nt();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 se={title:get(A).trim(),description:get(O).trim(),type:get(C),priority:get(V),project:o()||"",page_url:window.location.href,user_agent:navigator.userAgent,console_logs:get(K).length>0?get(K):null,selected_elements:get(W).length>0?get(W):null,screenshots:get(U).length>0?get(U):null,attachments:get(j).length>0?get(j):null,metadata:Object.keys(D).length>0?D:null};try{const te=await submitReport(r(),se);te.ok?(q(`Report submitted (${te.id})`,"success"),je(),setTimeout(()=>{S(),set(b,"requests")},1200)):(enqueue(r(),se),q("Queued for retry (endpoint unreachable)","error"))}catch{enqueue(r(),se),q("Queued for retry (endpoint unreachable)","error")}finally{set(Y,!1)}}function je(){set(A,""),set(O,""),set(C,"bug"),set(V,"medium"),set(U,[],!0),set(j,[],!0),set(W,[],!0),set(K,[],!0)}user_effect(()=>{nt()});function rt(T){T.stopPropagation()}const Zt=[{value:"bug",label:"Bug"},{value:"enhancement",label:"Enhancement"},{value:"other",label:"Other"}],bn=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"critical",label:"Critical"}];function be(){return get(U).length+get(j).length+get(W).length}var Ae={get endpoint(){return r()},set endpoint(T){r(T),flushSync()},get project(){return o()},set project(T){o(T),flushSync()},get isOpen(){return s()},set isOpen(T=!1){s(T),flushSync()},get userId(){return i()},set userId(T=""){i(T),flushSync()},get userEmail(){return a()},set userEmail(T=""){a(T),flushSync()},get userName(){return l()},set userName(T=""){l(T),flushSync()},get userRole(){return c()},set userRole(T=""){c(T),flushSync()},get orgId(){return u()},set orgId(T=""){u(T),flushSync()},get orgName(){return d()},set orgName(T=""){d(T),flushSync()},get onclose(){return f()},set onclose(T){f(T),flushSync()},get ongrip(){return v()},set ongrip(T){v(T),flushSync()},get agentProxy(){return _()},set agentProxy(T=""){_(T),flushSync()},get agentModel(){return y()},set agentModel(T=""){y(T),flushSync()},get agentContext(){return h()},set agentContext(T=""){h(T),flushSync()},get registeredTools(){return p()},set registeredTools(T=[]){p(T),flushSync()}},Xe=root$1(),ot=first_child(Xe),dt=child(ot),Rn=child(dt);{var nn=T=>{var D=root_1$1();delegated("mousedown",D,function(...se){var te;(te=v())==null||te.apply(this,se)}),append(T,D)};if_block(Rn,T=>{v()&&T(nn)})}var $t=sibling(Rn,2),Wt=child($t);let dn;var Tt=sibling(Wt,2);let In;var Nn=sibling(child(Tt),2);{var Bn=T=>{var D=root_2$1(),se=child(D,!0);reset(D),template_effect(()=>set_text(se,get(x))),append(T,D)};if_block(Nn,T=>{get(x)>0&&T(Bn)})}reset(Tt);var On=sibling(Tt,2);{var Ln=T=>{var D=root_3();let se;template_effect(()=>se=set_class(D,1,"tab svelte-nv4d5v",null,se,{active:get(b)==="agent"})),delegated("click",D,()=>{set(b,"agent"),set(m,!0)}),append(T,D)};if_block(On,T=>{_()&&T(Ln)})}var Pn=sibling(On,2);let yn;reset($t);var Vn=sibling($t,2);reset(dt);var wn=sibling(dt,2);{var xn=T=>{var D=root_4(),se=child(D),te=sibling(child(se),2);remove_input_defaults(te),bind_this(te,J=>set(I,J),()=>get(I)),reset(se);var Oe=sibling(se,2),Se=sibling(child(Oe),2);remove_textarea_child(Se),reset(Oe);var Je=sibling(Oe,2),jt=child(Je),$e=sibling(child(jt),2);each($e,21,()=>Zt,index,(J,de)=>{var Le=root_5(),Ue=child(Le,!0);reset(Le);var Be={};template_effect(()=>{set_text(Ue,get(de).label),Be!==(Be=get(de).value)&&(Le.value=(Le.__value=get(de).value)??"")}),append(J,Le)}),reset($e),reset(jt);var Ut=sibling(jt,2),St=sibling(child(Ut),2);each(St,21,()=>bn,index,(J,de)=>{var Le=root_6(),Ue=child(Le,!0);reset(Le);var Be={};template_effect(()=>{set_text(Ue,get(de).label),Be!==(Be=get(de).value)&&(Le.value=(Le.__value=get(de).value)??"")}),append(J,Le)}),reset(St),reset(Ut),reset(Je);var Bt=sibling(Je,2),ft=child(Bt),Ct=child(ft),pt=child(Ct);{var fn=J=>{var de=root_7();next(),append(J,de)},kn=J=>{var de=root_8(),Le=sibling(first_child(de),2);{var Ue=Be=>{var Ge=root_9(),mt=child(Ge,!0);reset(Ge),template_effect(()=>set_text(mt,get(U).length)),append(Be,Ge)};if_block(Le,Be=>{get(U).length>0&&Be(Ue)})}append(J,de)};if_block(pt,J=>{get(Te)?J(fn):J(kn,!1)})}reset(Ct);var zt=sibling(Ct,2),En=sibling(child(zt),2);{var Fe=J=>{var de=text("Click an element...");append(J,de)},qe=J=>{var de=root_11(),Le=sibling(first_child(de));{var Ue=Be=>{var Ge=root_12(),mt=child(Ge,!0);reset(Ge),template_effect(()=>set_text(mt,get(W).length)),append(Be,Ge)};if_block(Le,Be=>{get(W).length>0&&Be(Ue)})}append(J,de)};if_block(En,J=>{get(Ie)?J(Fe):J(qe,!1)})}reset(zt);var Qe=sibling(zt,2),ht=sibling(child(Qe),2);{var Vt=J=>{var de=root_13(),Le=child(de,!0);reset(de),template_effect(()=>set_text(Le,get(j).length)),append(J,de)};if_block(ht,J=>{get(j).length>0&&J(Vt)})}reset(Qe);var ct=sibling(Qe,2);bind_this(ct,J=>set(oe,J),()=>get(oe)),reset(ft);var At=sibling(ft,2);ScreenshotPreview(At,{get screenshots(){return get(U)},get capturing(){return get(Te)},oncapture:ke,onremove:ae,onedit:pe}),reset(Bt);var Gt=sibling(Bt,2);{var He=J=>{var de=root_14();each(de,21,()=>get(j),index,(Le,Ue,Be)=>{var Ge=root_15(),mt=child(Ge),Wn=child(mt);{var Tn=bt=>{var Cn=root_16();append(bt,Cn)},Gn=user_derived(()=>get(Ue).type.includes("pdf")),Yn=bt=>{var Cn=root_17();append(bt,Cn)},rn=user_derived(()=>get(Ue).type.includes("markdown")||get(Ue).name.endsWith(".md")),Sn=bt=>{var Cn=root_18();append(bt,Cn)};if_block(Wn,bt=>{get(Gn)?bt(Tn):get(rn)?bt(Yn,1):bt(Sn,!1)})}reset(mt);var Xn=sibling(mt,2),dr=child(Xn,!0);reset(Xn);var Kn=sibling(Xn,2),fr=child(Kn,!0);reset(Kn);var pr=sibling(Kn,2);reset(Ge),template_effect(bt=>{set_text(dr,get(Ue).name),set_text(fr,bt)},[()=>_e(get(Ue).size)]),delegated("click",pr,()=>ue(Be)),append(Le,Ge)}),reset(de),append(J,de)};if_block(Gt,J=>{get(j).length>0&&J(He)})}var We=sibling(Gt,2);{var Ht=J=>{var de=root_19();each(de,21,()=>get(W),index,(Le,Ue,Be)=>{var Ge=root_20(),mt=child(Ge),Wn=child(mt);reset(mt);var Tn=sibling(mt,2),Gn=child(Tn,!0);reset(Tn);var Yn=sibling(Tn,2);reset(Ge),template_effect((rn,Sn)=>{set_text(Wn,`<${rn??""}>`),set_text(Gn,Sn)},[()=>get(Ue).tagName.toLowerCase(),()=>{var rn;return((rn=get(Ue).textContent)==null?void 0:rn.substring(0,40))||get(Ue).selector}]),delegated("click",Yn,()=>{set(W,get(W).filter((rn,Sn)=>Sn!==Be),!0)}),append(Le,Ge)}),reset(de),append(J,de)};if_block(We,J=>{get(W).length>0&&J(Ht)})}var st=sibling(We,2);ConsoleLogList(st,{get logs(){return get(K)}});var it=sibling(st,2);{var gt=J=>{var de=root_21(),Le=child(de);reset(de),template_effect((Ue,Be)=>set_text(Le,`${Ue??""} attachment${Be??""} will be included`),[be,()=>be()>1?"s":""]),append(J,de)},Rt=user_derived(()=>be()>0);if_block(it,J=>{get(Rt)&&J(gt)})}var It=sibling(it,2),Yt=child(It),$n=child(Yt);reset(Yt);var vt=sibling(Yt,2),_t=sibling(vt,2),Nt=child(_t);{var pn=J=>{var de=root_22();next(),append(J,de)},ur=J=>{var de=text("Submit");append(J,de)};if_block(Nt,J=>{get(Y)?J(pn):J(ur,!1)})}reset(_t),reset(It),reset(D),template_effect(J=>{te.disabled=get(Y),Se.disabled=get(Y),$e.disabled=get(Y),St.disabled=get(Y),Ct.disabled=get(Te),zt.disabled=get(Ie),Qe.disabled=get(Y),set_text($n,`v${n}`),vt.disabled=get(Y),_t.disabled=J},[()=>get(Y)||!get(A).trim()]),event("submit",D,Ne),bind_value(te,()=>get(A),J=>set(A,J)),bind_value(Se,()=>get(O),J=>set(O,J)),bind_select_value($e,()=>get(C),J=>set(C,J)),bind_select_value(St,()=>get(V),J=>set(V,J)),delegated("click",Ct,ke),delegated("click",zt,Pe),delegated("click",Qe,M),delegated("change",ct,G),delegated("click",vt,function(...J){var de;(de=f())==null||de.apply(this,J)}),transition(3,D,()=>slide,()=>({duration:200})),append(T,D)};if_block(wn,T=>{get(b)==="new"&&T(xn)})}var Mn=sibling(wn,2);{var Hn=T=>{var D=root_24(),se=child(D);RequestList(se,{get endpoint(){return r()},get loading(){return get(me)},get error(){return get(g)},onreload:S,get reports(){return get(ve)},set reports(te){set(ve,te,!0)}}),reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(T,D)};if_block(Mn,T=>{get(b)==="requests"&&T(Hn)})}var Fn=sibling(Mn,2);{var qn=T=>{var D=root_25(),se=child(D);{let te=user_derived(()=>{var Oe;return((Oe=get(Q))==null?void 0:Oe.getMaxSteps())??20});AgentPanel(se,{get messages(){return get(k)},get agentState(){return get(N)},get currentStep(){return get(P)},get maxSteps(){return get(te)},get autoApprove(){return get(Z)},onsend:ie,onstop:we,onapprove:ge,onskip:ze,onautoapprovechange:xe})}reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(T,D)};if_block(Fn,T=>{get(b)==="agent"&&get(m)&&T(qn)})}var Dn=sibling(Fn,2);{var he=T=>{var D=root_26(),se=child(D);NotesPanel(se,{get endpoint(){return r()},get project(){return o()},onnoteschanged:ce}),reset(D),transition(3,D,()=>slide,()=>({duration:200})),append(T,D)};if_block(Dn,T=>{get(b)==="notes"&&get(E)&&T(he)})}var ye=sibling(Dn,2);StatusToast(ye,{get message(){return get(X)},get type(){return get(F)},get visible(){return get(H)}}),reset(ot);var Me=sibling(ot,2);{var Ke=T=>{AnnotationEditor(T,{get imageDataUrl(){return get(w)},onsave:Ee,oncancel:B})};if_block(Me,T=>{get(z)!==null&&T(Ke)})}return template_effect(()=>{dn=set_class(Wt,1,"tab svelte-nv4d5v",null,dn,{active:get(b)==="new"}),In=set_class(Tt,1,"tab svelte-nv4d5v",null,In,{active:get(b)==="requests"}),yn=set_class(Pn,1,"tab svelte-nv4d5v",null,yn,{active:get(b)==="notes"})}),delegated("keydown",ot,rt),delegated("keyup",ot,rt),event("keypress",ot,rt),delegated("click",Wt,()=>set(b,"new")),delegated("click",Tt,()=>set(b,"requests")),delegated("click",Pn,()=>{set(b,"notes"),set(E,!0)}),delegated("click",Vn,function(...T){var D;(D=f())==null||D.apply(this,T)}),append(e,Xe),pop(Ae)}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">&lt;jat-feedback endpoint="http://localhost:3333"&gt;</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;
378
+ }.requests-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.agent-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.notes-wrapper.svelte-nv4d5v {flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.panel-version.svelte-nv4d5v {font-size:10px;color:#4b5563;margin-right:auto;align-self:flex-end;padding-bottom:6px;}
379
+
380
+ /* Voice tab */.voice-wrapper.svelte-nv4d5v {flex:1;min-height:0;overflow-y:auto;}.voice-body.svelte-nv4d5v {display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1.25rem;text-align:center;}.voice-hint.svelte-nv4d5v {font-size:12px;color:#9ca3af;line-height:1.5;margin:0;max-width:280px;}.voice-mic-row.svelte-nv4d5v {display:flex;flex-direction:column;align-items:center;gap:0.75rem;width:100%;}.voice-btn.svelte-nv4d5v {display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.5rem;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:background 0.15s, transform 0.1s;font-family:inherit;}.voice-btn.svelte-nv4d5v:active {transform:scale(0.96);}.voice-btn-start.svelte-nv4d5v {background:#1d4ed8;color:white;width:100%;}.voice-btn-start.svelte-nv4d5v:hover {background:#2563eb;}.voice-btn-stop.svelte-nv4d5v {background:#991b1b;color:white;width:100%;}.voice-btn-stop.svelte-nv4d5v:hover {background:#b91c1c;}
381
+
382
+ @keyframes svelte-nv4d5v-voice-pulse {
383
+ 0%, 100% { opacity: 0.3; transform: scaleY(0.6); }
384
+ 50% { opacity: 1; transform: scaleY(1); }
385
+ }.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
+ 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
+ @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">&lt;jat-feedback endpoint="http://localhost:3333"&gt;</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;
379
389
  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;}
380
390
  @keyframes svelte-qpyrvv-panel-in {
381
391
  from { opacity: 0; transform: translateY(8px) scale(0.96); }
382
392
  to { opacity: 1; transform: translateY(0) scale(1); }
383
- }`};function JatFeedback(e,t){push(t,!0),append_styles(e,$$css);let n=prop(t,"endpoint",7,""),r=prop(t,"project",7,""),o=prop(t,"position",7,"bottom-right"),s=prop(t,"theme",7,"dark"),i=prop(t,"buttoncolor",7,"#3b82f6"),a=prop(t,"user-id",7,""),l=prop(t,"user-email",7,""),c=prop(t,"user-name",7,""),u=prop(t,"user-role",7,""),d=prop(t,"org-id",7,""),f=prop(t,"org-name",7,""),v=prop(t,"agent-proxy",7,""),_=prop(t,"agent-model",7,""),y=prop(t,"agent-context",7,""),h=state(!1),p=state(!1),b=state(proxy([])),m=state(!1),E={x:0,y:0},k=state(void 0);const N=5;function P(C,{onDragEnd:V}={}){if(!get(k))return;const U=C.clientX,j=C.clientY,W=get(k).getBoundingClientRect();E={x:C.clientX-W.left,y:C.clientY-W.top};let K=!1;function oe(M){if(!get(k))return;const G=M.clientX-U,ee=M.clientY-j;if(!K&&Math.abs(G)+Math.abs(ee)<N)return;K=!0,set(m,!0),M.preventDefault();const ue=M.clientX-E.x,_e=M.clientY-E.y;get(k).style.top=`${_e}px`,get(k).style.left=`${ue}px`,get(k).style.bottom="auto",get(k).style.right="auto"}function R(){set(m,!1),window.removeEventListener("mousemove",oe),window.removeEventListener("mouseup",R),V==null||V(K)}window.addEventListener("mousemove",oe),window.addEventListener("mouseup",R)}function Z(C){P(C)}function Q(C){C.button===0&&(C.preventDefault(),P(C,{onDragEnd(V){V||we()}}))}let re=null;function ce(){re=setInterval(()=>{const C=isElementPickerActive();C&&!get(p)?set(p,!0):!C&&get(p)&&set(p,!1)},100)}let ie=user_derived(()=>({...DEFAULT_CONFIG,endpoint:n()||DEFAULT_CONFIG.endpoint,position:o()||DEFAULT_CONFIG.position,theme:s()||DEFAULT_CONFIG.theme,buttonColor:i()||DEFAULT_CONFIG.buttonColor}));function we(){set(h,!get(h))}function ge(){set(h,!1)}const ze={"bottom-right":"bottom: 20px; right: 20px;","bottom-left":"bottom: 20px; left: 20px;","top-right":"top: 20px; right: 20px;","top-left":"top: 20px; left: 20px;"},xe={"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 ve(C){if(C.key==="Escape"&&get(h)){if(isAnnotationEditorOpen())return;C.stopPropagation(),C.stopImmediatePropagation(),ge()}}onMount(()=>{get(ie).captureConsole&&startConsoleCapture(get(ie).maxConsoleLogs),startRetryLoop(),ce(),window.addEventListener("keydown",ve,!0);const C=()=>{set(h,!0)};window.addEventListener("jat-feedback:open",C);const V=t.$$host;return V.registerTools=U=>{set(b,[...get(b),...U],!0)},()=>window.removeEventListener("jat-feedback:open",C)}),onDestroy(()=>{stopConsoleCapture(),stopRetryLoop(),window.removeEventListener("keydown",ve,!0),re&&clearInterval(re)});var me={get endpoint(){return n()},set endpoint(C=""){n(C),flushSync()},get project(){return r()},set project(C=""){r(C),flushSync()},get position(){return o()},set position(C="bottom-right"){o(C),flushSync()},get theme(){return s()},set theme(C="dark"){s(C),flushSync()},get buttoncolor(){return i()},set buttoncolor(C="#3b82f6"){i(C),flushSync()},get"user-id"(){return a()},set"user-id"(C=""){a(C),flushSync()},get"user-email"(){return l()},set"user-email"(C=""){l(C),flushSync()},get"user-name"(){return c()},set"user-name"(C=""){c(C),flushSync()},get"user-role"(){return u()},set"user-role"(C=""){u(C),flushSync()},get"org-id"(){return d()},set"org-id"(C=""){d(C),flushSync()},get"org-name"(){return f()},set"org-name"(C=""){f(C),flushSync()},get"agent-proxy"(){return v()},set"agent-proxy"(C=""){v(C),flushSync()},get"agent-model"(){return _()},set"agent-model"(C=""){_(C),flushSync()},get"agent-context"(){return y()},set"agent-context"(C=""){y(C),flushSync()}},g=root(),x=child(g);{var S=C=>{var V=root_1();let U;var j=child(V);FeedbackPanel(j,{get endpoint(){return get(ie).endpoint},get project(){return r()},get isOpen(){return get(h)},get userId(){return a()},get userEmail(){return l()},get userName(){return c()},get userRole(){return u()},get orgId(){return d()},get orgName(){return f()},get agentProxy(){return v()},get agentModel(){return _()},get agentContext(){return y()},get registeredTools(){return get(b)},onclose:ge,ongrip:Z}),reset(V),template_effect(()=>{U=set_class(V,1,"jat-feedback-panel svelte-qpyrvv",null,U,{dragging:get(m),hidden:!get(h)}),set_style(V,xe[get(ie).position]||xe["bottom-right"])}),append(C,V)},A=C=>{var V=root_2();template_effect(()=>set_style(V,xe[get(ie).position]||xe["bottom-right"])),append(C,V)};if_block(x,C=>{get(ie).endpoint?C(S):get(h)&&C(A,1)})}var O=sibling(x,2);return FeedbackButton(O,{onmousedown:Q,get open(){return get(h)}}),reset(g),bind_this(g,C=>set(k,C),()=>get(k)),template_effect(()=>set_style(g,`${(ze[get(ie).position]||ze["bottom-right"])??""}; --jat-btn-color: ${get(ie).buttonColor??""}; ${get(p)?"display: none;":""}`)),append(e,g),pop(me)}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"}));/**
393
+ }`};function JatFeedback(e,t){push(t,!0),append_styles(e,$$css);let n=prop(t,"endpoint",7,""),r=prop(t,"project",7,""),o=prop(t,"position",7,"bottom-right"),s=prop(t,"theme",7,"dark"),i=prop(t,"buttoncolor",7,"#3b82f6"),a=prop(t,"user-id",7,""),l=prop(t,"user-email",7,""),c=prop(t,"user-name",7,""),u=prop(t,"user-role",7,""),d=prop(t,"org-id",7,""),f=prop(t,"org-name",7,""),v=prop(t,"agent-proxy",7,""),_=prop(t,"agent-model",7,""),y=prop(t,"agent-context",7,""),h=state(!1),p=state(!1),b=state(proxy([])),m=state(!1),$={x:0,y:0},k=state(void 0);const N=5;function O(z,{onDragEnd:U}={}){if(!get(k))return;const oe=z.clientX,B=z.clientY,te=get(k).getBoundingClientRect();$={x:z.clientX-te.left,y:z.clientY-te.top};let K=!1;function se(L){if(!get(k))return;const V=L.clientX-oe,Q=L.clientY-B;if(!K&&Math.abs(V)+Math.abs(Q)<N)return;K=!0,set(m,!0),L.preventDefault();const ue=L.clientX-$.x,H=L.clientY-$.y;get(k).style.top=`${H}px`,get(k).style.left=`${ue}px`,get(k).style.bottom="auto",get(k).style.right="auto"}function C(){set(m,!1),window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",C),U==null||U(K)}window.addEventListener("mousemove",se),window.addEventListener("mouseup",C)}function F(z){O(z)}function ee(z){z.button===0&&(z.preventDefault(),O(z,{onDragEnd(U){U||Ee()}}))}let J=null;function fe(){J=setInterval(()=>{const z=isElementPickerActive();z&&!get(p)?set(p,!0):!z&&get(p)&&set(p,!1)},100)}let ae=user_derived(()=>({...DEFAULT_CONFIG,endpoint:n()||DEFAULT_CONFIG.endpoint,position:o()||DEFAULT_CONFIG.position,theme:s()||DEFAULT_CONFIG.theme,buttonColor:i()||DEFAULT_CONFIG.buttonColor}));function Ee(){set(h,!get(h))}function _e(){set(h,!1)}const ze={"bottom-right":"bottom: 20px; right: 20px;","bottom-left":"bottom: 20px; left: 20px;","top-right":"top: 20px; right: 20px;","top-left":"top: 20px; left: 20px;"},we={"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 xe(z){if(z.key==="Escape"&&get(h)){if(isAnnotationEditorOpen())return;z.stopPropagation(),z.stopImmediatePropagation(),_e()}}onMount(()=>{get(ae).captureConsole&&startConsoleCapture(get(ae).maxConsoleLogs),startRetryLoop(),fe(),window.addEventListener("keydown",xe,!0);const z=()=>{set(h,!0)};window.addEventListener("jat-feedback:open",z);const U=t.$$host;return U.registerTools=oe=>{set(b,[...get(b),...oe],!0)},()=>window.removeEventListener("jat-feedback:open",z)}),onDestroy(()=>{stopConsoleCapture(),stopRetryLoop(),window.removeEventListener("keydown",xe,!0),J&&clearInterval(J)});var ke={get endpoint(){return n()},set endpoint(z=""){n(z),flushSync()},get project(){return r()},set project(z=""){r(z),flushSync()},get position(){return o()},set position(z="bottom-right"){o(z),flushSync()},get theme(){return s()},set theme(z="dark"){s(z),flushSync()},get buttoncolor(){return i()},set buttoncolor(z="#3b82f6"){i(z),flushSync()},get"user-id"(){return a()},set"user-id"(z=""){a(z),flushSync()},get"user-email"(){return l()},set"user-email"(z=""){l(z),flushSync()},get"user-name"(){return c()},set"user-name"(z=""){c(z),flushSync()},get"user-role"(){return u()},set"user-role"(z=""){u(z),flushSync()},get"org-id"(){return d()},set"org-id"(z=""){d(z),flushSync()},get"org-name"(){return f()},set"org-name"(z=""){f(z),flushSync()},get"agent-proxy"(){return v()},set"agent-proxy"(z=""){v(z),flushSync()},get"agent-model"(){return _()},set"agent-model"(z=""){_(z),flushSync()},get"agent-context"(){return y()},set"agent-context"(z=""){y(z),flushSync()}},g=root(),E=child(g);{var S=z=>{var U=root_1();let oe;var B=child(U);FeedbackPanel(B,{get endpoint(){return get(ae).endpoint},get project(){return r()},get isOpen(){return get(h)},get userId(){return a()},get userEmail(){return l()},get userName(){return c()},get userRole(){return u()},get orgId(){return d()},get orgName(){return f()},get agentProxy(){return v()},get agentModel(){return _()},get agentContext(){return y()},get registeredTools(){return get(b)},onclose:_e,ongrip:F}),reset(U),template_effect(()=>{oe=set_class(U,1,"jat-feedback-panel svelte-qpyrvv",null,oe,{dragging:get(m),hidden:!get(h)}),set_style(U,we[get(ae).position]||we["bottom-right"])}),append(z,U)},I=z=>{var U=root_2();template_effect(()=>set_style(U,we[get(ae).position]||we["bottom-right"])),append(z,U)};if_block(E,z=>{get(ae).endpoint?z(S):get(h)&&z(I,1)})}var P=sibling(E,2);return FeedbackButton(P,{onmousedown:ee,get open(){return get(h)}}),reset(g),bind_this(g,z=>set(k,z),()=>get(k)),template_effect(()=>set_style(g,`${(ze[get(ae).position]||ze["bottom-right"])??""}; --jat-btn-color: ${get(ae).buttonColor??""}; ${get(p)?"display: none;":""}`)),append(e,g),pop(ke)}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"}));/**
384
394
  * AI Motion - WebGL2 animated border with AI-style glow effects
385
395
  *
386
396
  * @author Simon<gaomeng1900@gmail.com>
387
397
  * @license MIT
388
398
  * @repository https://github.com/gaomeng1900/ai-motion
389
- */function computeBorderGeometry(e,t,n,r){const o=Math.max(1,Math.min(e,t)),s=Math.min(n,20),a=Math.min(s+r,o),l=Math.min(a,Math.floor(e/2)),c=Math.min(a,Math.floor(t/2)),u=A=>A/e*2-1,d=A=>A/t*2-1,f=0,v=e,_=0,y=t,h=l,p=e-l,b=c,m=t-c,E=u(f),k=u(v),N=d(_),P=d(y),Z=u(h),Q=u(p),re=d(b),ce=d(m),ie=0,we=0,ge=1,ze=1,xe=l/e,ve=1-l/e,me=c/t,g=1-c/t,x=new Float32Array([E,N,k,N,E,re,E,re,k,N,k,re,E,ce,k,ce,E,P,E,P,k,ce,k,P,E,re,Z,re,E,ce,E,ce,Z,re,Z,ce,Q,re,k,re,Q,ce,Q,ce,k,re,k,ce]),S=new Float32Array([ie,we,ge,we,ie,me,ie,me,ge,we,ge,me,ie,g,ge,g,ie,ze,ie,ze,ge,g,ge,ze,ie,me,xe,me,ie,g,ie,g,xe,me,xe,g,ve,me,ge,me,ve,g,ve,g,ge,me,ge,g]);return{positions:x,uvs:S}}/**
399
+ */function computeBorderGeometry(e,t,n,r){const o=Math.max(1,Math.min(e,t)),s=Math.min(n,20),a=Math.min(s+r,o),l=Math.min(a,Math.floor(e/2)),c=Math.min(a,Math.floor(t/2)),u=I=>I/e*2-1,d=I=>I/t*2-1,f=0,v=e,_=0,y=t,h=l,p=e-l,b=c,m=t-c,$=u(f),k=u(v),N=d(_),O=d(y),F=u(h),ee=u(p),J=d(b),fe=d(m),ae=0,Ee=0,_e=1,ze=1,we=l/e,xe=1-l/e,ke=c/t,g=1-c/t,E=new Float32Array([$,N,k,N,$,J,$,J,k,N,k,J,$,fe,k,fe,$,O,$,O,k,fe,k,O,$,J,F,J,$,fe,$,fe,F,J,F,fe,ee,J,k,J,ee,fe,ee,fe,k,J,k,fe]),S=new Float32Array([ae,Ee,_e,Ee,ae,ke,ae,ke,_e,Ee,_e,ke,ae,g,_e,g,ae,ze,ae,ze,_e,g,_e,ze,ae,ke,we,ke,ae,g,ae,g,we,ke,we,g,xe,ke,_e,ke,xe,g,xe,g,_e,ke,_e,g]);return{positions:E,uvs:S}}/**
390
400
  * AI Motion - WebGL2 animated border with AI-style glow effects
391
401
  *
392
402
  * @author Simon<gaomeng1900@gmail.com>
@@ -508,7 +518,7 @@ gl_Position = vec4(aPosition, 0.0, 1.0);
508
518
  * @author Simon<gaomeng1900@gmail.com>
509
519
  * @license MIT
510
520
  * @repository https://github.com/gaomeng1900/ai-motion
511
- */const DEFAULT_COLORS=["rgb(57, 182, 255)","rgb(189, 69, 251)","rgb(255, 87, 51)","rgb(255, 214, 0)"];function parseColor(e){const t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(!t)throw new Error(`Invalid color format: ${e}`);const[,n,r,o]=t;return[parseInt(n)/255,parseInt(r)/255,parseInt(o)/255]}class Motion{constructor(t={}){ne(this,"element");ne(this,"canvas");ne(this,"options");ne(this,"running",!1);ne(this,"disposed",!1);ne(this,"startTime",0);ne(this,"lastTime",0);ne(this,"rafId",null);ne(this,"glr");ne(this,"observer");this.options={width:t.width??600,height:t.height??600,ratio:t.ratio??window.devicePixelRatio??1,borderWidth:t.borderWidth??8,glowWidth:t.glowWidth??200,borderRadius:t.borderRadius??8,mode:t.mode??"light",...t},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 t=()=>{if(!this.running||!this.glr)return;this.rafId=requestAnimationFrame(t);const n=performance.now();if(n-this.lastTime<1e3/32)return;this.lastTime=n;const o=(n-this.startTime)*.001;this.render(o)};this.rafId=requestAnimationFrame(t)}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:t,vao:n,positionBuffer:r,uvBuffer:o,program:s}=this.glr;n&&t.deleteVertexArray(n),r&&t.deleteBuffer(r),o&&t.deleteBuffer(o),t.deleteProgram(s),this.observer&&this.observer.disconnect(),this.canvas.remove()}resize(t,n,r){if(this.disposed)throw new Error("Motion instance has been disposed.");if(this.options.width=t,this.options.height=n,r&&(this.options.ratio=r),!this.running)return;const{gl:o,program:s,vao:i,positionBuffer:a,uvBuffer:l,uResolution:c}=this.glr,u=r??this.options.ratio??window.devicePixelRatio??1,d=Math.max(1,Math.floor(t*u)),f=Math.max(1,Math.floor(n*u));this.canvas.style.width=`${t}px`,this.canvas.style.height=`${n}px`,(this.canvas.width!==d||this.canvas.height!==f)&&(this.canvas.width=d,this.canvas.height=f),o.viewport(0,0,this.canvas.width,this.canvas.height),this.checkGLError(o,"resize: after viewport setup");const{positions:v,uvs:_}=computeBorderGeometry(this.canvas.width,this.canvas.height,this.options.borderWidth*u,this.options.glowWidth*u);o.bindVertexArray(i),o.bindBuffer(o.ARRAY_BUFFER,a),o.bufferData(o.ARRAY_BUFFER,v,o.STATIC_DRAW);const y=o.getAttribLocation(s,"aPosition");o.enableVertexAttribArray(y),o.vertexAttribPointer(y,2,o.FLOAT,!1,0,0),this.checkGLError(o,"resize: after position buffer update"),o.bindBuffer(o.ARRAY_BUFFER,l),o.bufferData(o.ARRAY_BUFFER,_,o.STATIC_DRAW);const h=o.getAttribLocation(s,"aUV");o.enableVertexAttribArray(h),o.vertexAttribPointer(h,2,o.FLOAT,!1,0,0),this.checkGLError(o,"resize: after UV buffer update"),o.useProgram(s),o.uniform2f(c,this.canvas.width,this.canvas.height),o.uniform1f(this.glr.uBorderWidth,this.options.borderWidth*u),o.uniform1f(this.glr.uGlowWidth,this.options.glowWidth*u),o.uniform1f(this.glr.uBorderRadius,this.options.borderRadius*u),this.checkGLError(o,"resize: after uniform updates");const p=performance.now();this.lastTime=p;const b=(p-this.startTime)*.001;this.render(b)}autoResize(t){this.observer&&this.observer.disconnect(),this.observer=new ResizeObserver(()=>{const n=t.getBoundingClientRect();this.resize(n.width,n.height)}),this.observer.observe(t)}fadeIn(){if(this.disposed)throw new Error("Motion instance has been disposed.");return new Promise((t,n)=>{const r=this.canvas.animate([{opacity:0,transform:"scale(1.2)"},{opacity:1,transform:"scale(1)"}],{duration:300,easing:"ease-out",fill:"forwards"});r.onfinish=()=>t(),r.oncancel=()=>n("canceled")})}fadeOut(){if(this.disposed)throw new Error("Motion instance has been disposed.");return new Promise((t,n)=>{const r=this.canvas.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(1.2)"}],{duration:300,easing:"ease-in",fill:"forwards"});r.onfinish=()=>t(),r.oncancel=()=>n("canceled")})}checkGLError(t,n){let r=t.getError();if(r!==t.NO_ERROR){for(console.group(`🔴 WebGL Error in ${n}`);r!==t.NO_ERROR;){const o=this.getGLErrorName(t,r);console.error(`${o} (0x${r.toString(16)})`),r=t.getError()}console.groupEnd()}}getGLErrorName(t,n){switch(n){case t.INVALID_ENUM:return"INVALID_ENUM";case t.INVALID_VALUE:return"INVALID_VALUE";case t.INVALID_OPERATION:return"INVALID_OPERATION";case t.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case t.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case t.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return"UNKNOWN_ERROR"}}setupGL(){const t=this.canvas.getContext("webgl2",{antialias:!1,alpha:!0});if(!t)throw new Error("WebGL2 is required but not available.");const n=createProgram(t,vertexShaderSource,fragmentShaderSource);this.checkGLError(t,"setupGL: after createProgram");const r=t.createVertexArray();t.bindVertexArray(r),this.checkGLError(t,"setupGL: after VAO creation");const o=this.canvas.width||2,s=this.canvas.height||2,{positions:i,uvs:a}=computeBorderGeometry(o,s,this.options.borderWidth,this.options.glowWidth),l=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferData(t.ARRAY_BUFFER,i,t.STATIC_DRAW);const c=t.getAttribLocation(n,"aPosition");t.enableVertexAttribArray(c),t.vertexAttribPointer(c,2,t.FLOAT,!1,0,0),this.checkGLError(t,"setupGL: after position buffer setup");const u=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,a,t.STATIC_DRAW);const d=t.getAttribLocation(n,"aUV");t.enableVertexAttribArray(d),t.vertexAttribPointer(d,2,t.FLOAT,!1,0,0),this.checkGLError(t,"setupGL: after UV buffer setup");const f=t.getUniformLocation(n,"uResolution"),v=t.getUniformLocation(n,"uTime"),_=t.getUniformLocation(n,"uBorderWidth"),y=t.getUniformLocation(n,"uGlowWidth"),h=t.getUniformLocation(n,"uBorderRadius"),p=t.getUniformLocation(n,"uColors"),b=t.getUniformLocation(n,"uGlowExponent"),m=t.getUniformLocation(n,"uGlowFactor");t.useProgram(n),t.uniform1f(_,this.options.borderWidth),t.uniform1f(y,this.options.glowWidth),t.uniform1f(h,this.options.borderRadius),this.options.mode==="dark"?(t.uniform1f(b,2),t.uniform1f(m,1.8)):(t.uniform1f(b,1),t.uniform1f(m,1));const E=(this.options.colors||DEFAULT_COLORS).map(parseColor);for(let k=0;k<E.length;k++)t.uniform3f(t.getUniformLocation(n,`uColors[${k}]`),...E[k]);this.checkGLError(t,"setupGL: after uniform setup"),t.bindVertexArray(null),t.bindBuffer(t.ARRAY_BUFFER,null),this.glr={gl:t,program:n,vao:r,positionBuffer:l,uvBuffer:u,uResolution:f,uTime:v,uBorderWidth:_,uGlowWidth:y,uBorderRadius:h,uColors:p}}render(t){if(!this.glr)return;const{gl:n,program:r,vao:o,uTime:s}=this.glr;n.useProgram(r),n.bindVertexArray(o),n.uniform1f(s,t),n.disable(n.DEPTH_TEST),n.disable(n.CULL_FACE),n.disable(n.BLEND),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLES,0,24),this.checkGLError(n,"render: after draw call"),n.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 e=document.createElement("style");e.appendChild(document.createTextNode(`._wrapper_1ooyb_1 {
521
+ */const DEFAULT_COLORS=["rgb(57, 182, 255)","rgb(189, 69, 251)","rgb(255, 87, 51)","rgb(255, 214, 0)"];function parseColor(e){const t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(!t)throw new Error(`Invalid color format: ${e}`);const[,n,r,o]=t;return[parseInt(n)/255,parseInt(r)/255,parseInt(o)/255]}class Motion{constructor(t={}){re(this,"element");re(this,"canvas");re(this,"options");re(this,"running",!1);re(this,"disposed",!1);re(this,"startTime",0);re(this,"lastTime",0);re(this,"rafId",null);re(this,"glr");re(this,"observer");this.options={width:t.width??600,height:t.height??600,ratio:t.ratio??window.devicePixelRatio??1,borderWidth:t.borderWidth??8,glowWidth:t.glowWidth??200,borderRadius:t.borderRadius??8,mode:t.mode??"light",...t},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 t=()=>{if(!this.running||!this.glr)return;this.rafId=requestAnimationFrame(t);const n=performance.now();if(n-this.lastTime<1e3/32)return;this.lastTime=n;const o=(n-this.startTime)*.001;this.render(o)};this.rafId=requestAnimationFrame(t)}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:t,vao:n,positionBuffer:r,uvBuffer:o,program:s}=this.glr;n&&t.deleteVertexArray(n),r&&t.deleteBuffer(r),o&&t.deleteBuffer(o),t.deleteProgram(s),this.observer&&this.observer.disconnect(),this.canvas.remove()}resize(t,n,r){if(this.disposed)throw new Error("Motion instance has been disposed.");if(this.options.width=t,this.options.height=n,r&&(this.options.ratio=r),!this.running)return;const{gl:o,program:s,vao:i,positionBuffer:a,uvBuffer:l,uResolution:c}=this.glr,u=r??this.options.ratio??window.devicePixelRatio??1,d=Math.max(1,Math.floor(t*u)),f=Math.max(1,Math.floor(n*u));this.canvas.style.width=`${t}px`,this.canvas.style.height=`${n}px`,(this.canvas.width!==d||this.canvas.height!==f)&&(this.canvas.width=d,this.canvas.height=f),o.viewport(0,0,this.canvas.width,this.canvas.height),this.checkGLError(o,"resize: after viewport setup");const{positions:v,uvs:_}=computeBorderGeometry(this.canvas.width,this.canvas.height,this.options.borderWidth*u,this.options.glowWidth*u);o.bindVertexArray(i),o.bindBuffer(o.ARRAY_BUFFER,a),o.bufferData(o.ARRAY_BUFFER,v,o.STATIC_DRAW);const y=o.getAttribLocation(s,"aPosition");o.enableVertexAttribArray(y),o.vertexAttribPointer(y,2,o.FLOAT,!1,0,0),this.checkGLError(o,"resize: after position buffer update"),o.bindBuffer(o.ARRAY_BUFFER,l),o.bufferData(o.ARRAY_BUFFER,_,o.STATIC_DRAW);const h=o.getAttribLocation(s,"aUV");o.enableVertexAttribArray(h),o.vertexAttribPointer(h,2,o.FLOAT,!1,0,0),this.checkGLError(o,"resize: after UV buffer update"),o.useProgram(s),o.uniform2f(c,this.canvas.width,this.canvas.height),o.uniform1f(this.glr.uBorderWidth,this.options.borderWidth*u),o.uniform1f(this.glr.uGlowWidth,this.options.glowWidth*u),o.uniform1f(this.glr.uBorderRadius,this.options.borderRadius*u),this.checkGLError(o,"resize: after uniform updates");const p=performance.now();this.lastTime=p;const b=(p-this.startTime)*.001;this.render(b)}autoResize(t){this.observer&&this.observer.disconnect(),this.observer=new ResizeObserver(()=>{const n=t.getBoundingClientRect();this.resize(n.width,n.height)}),this.observer.observe(t)}fadeIn(){if(this.disposed)throw new Error("Motion instance has been disposed.");return new Promise((t,n)=>{const r=this.canvas.animate([{opacity:0,transform:"scale(1.2)"},{opacity:1,transform:"scale(1)"}],{duration:300,easing:"ease-out",fill:"forwards"});r.onfinish=()=>t(),r.oncancel=()=>n("canceled")})}fadeOut(){if(this.disposed)throw new Error("Motion instance has been disposed.");return new Promise((t,n)=>{const r=this.canvas.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(1.2)"}],{duration:300,easing:"ease-in",fill:"forwards"});r.onfinish=()=>t(),r.oncancel=()=>n("canceled")})}checkGLError(t,n){let r=t.getError();if(r!==t.NO_ERROR){for(console.group(`🔴 WebGL Error in ${n}`);r!==t.NO_ERROR;){const o=this.getGLErrorName(t,r);console.error(`${o} (0x${r.toString(16)})`),r=t.getError()}console.groupEnd()}}getGLErrorName(t,n){switch(n){case t.INVALID_ENUM:return"INVALID_ENUM";case t.INVALID_VALUE:return"INVALID_VALUE";case t.INVALID_OPERATION:return"INVALID_OPERATION";case t.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case t.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case t.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return"UNKNOWN_ERROR"}}setupGL(){const t=this.canvas.getContext("webgl2",{antialias:!1,alpha:!0});if(!t)throw new Error("WebGL2 is required but not available.");const n=createProgram(t,vertexShaderSource,fragmentShaderSource);this.checkGLError(t,"setupGL: after createProgram");const r=t.createVertexArray();t.bindVertexArray(r),this.checkGLError(t,"setupGL: after VAO creation");const o=this.canvas.width||2,s=this.canvas.height||2,{positions:i,uvs:a}=computeBorderGeometry(o,s,this.options.borderWidth,this.options.glowWidth),l=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferData(t.ARRAY_BUFFER,i,t.STATIC_DRAW);const c=t.getAttribLocation(n,"aPosition");t.enableVertexAttribArray(c),t.vertexAttribPointer(c,2,t.FLOAT,!1,0,0),this.checkGLError(t,"setupGL: after position buffer setup");const u=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,a,t.STATIC_DRAW);const d=t.getAttribLocation(n,"aUV");t.enableVertexAttribArray(d),t.vertexAttribPointer(d,2,t.FLOAT,!1,0,0),this.checkGLError(t,"setupGL: after UV buffer setup");const f=t.getUniformLocation(n,"uResolution"),v=t.getUniformLocation(n,"uTime"),_=t.getUniformLocation(n,"uBorderWidth"),y=t.getUniformLocation(n,"uGlowWidth"),h=t.getUniformLocation(n,"uBorderRadius"),p=t.getUniformLocation(n,"uColors"),b=t.getUniformLocation(n,"uGlowExponent"),m=t.getUniformLocation(n,"uGlowFactor");t.useProgram(n),t.uniform1f(_,this.options.borderWidth),t.uniform1f(y,this.options.glowWidth),t.uniform1f(h,this.options.borderRadius),this.options.mode==="dark"?(t.uniform1f(b,2),t.uniform1f(m,1.8)):(t.uniform1f(b,1),t.uniform1f(m,1));const $=(this.options.colors||DEFAULT_COLORS).map(parseColor);for(let k=0;k<$.length;k++)t.uniform3f(t.getUniformLocation(n,`uColors[${k}]`),...$[k]);this.checkGLError(t,"setupGL: after uniform setup"),t.bindVertexArray(null),t.bindBuffer(t.ARRAY_BUFFER,null),this.glr={gl:t,program:n,vao:r,positionBuffer:l,uvBuffer:u,uResolution:f,uTime:v,uBorderWidth:_,uGlowWidth:y,uBorderRadius:h,uColors:p}}render(t){if(!this.glr)return;const{gl:n,program:r,vao:o,uTime:s}=this.glr;n.useProgram(r),n.bindVertexArray(o),n.uniform1f(s,t),n.disable(n.DEPTH_TEST),n.disable(n.CULL_FACE),n.disable(n.BLEND),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLES,0,24),this.checkGLError(n,"render: after draw call"),n.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 e=document.createElement("style");e.appendChild(document.createTextNode(`._wrapper_1ooyb_1 {
512
522
  position: fixed;
513
523
  inset: 0;
514
524
  z-index: 2147483641; /* 确保在所有元素之上,除了 panel */