@jpkme/diff-review 0.1.7 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/diff-review.mjs +7 -2
- package/lib/agents.mjs +15 -0
- package/lib/check-report.mjs +2 -1
- package/lib/check-report.test.mjs +1 -0
- package/lib/prompt.mjs +14 -13
- package/lib/review-meta.mjs +33 -0
- package/lib/review-meta.test.mjs +30 -0
- package/lib/review.test.mjs +1 -0
- package/lib/validate.mjs +28 -11
- package/lib/validate.test.mjs +25 -0
- package/lib/wait-output.test.mjs +1 -0
- package/package.json +1 -1
- package/schema.json +9 -10
- package/web/build/client/_app/immutable/assets/{2.COsJT9ly.css → 2.CNFDEnjx.css} +1 -1
- package/web/build/client/_app/immutable/assets/2.CNFDEnjx.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.CNFDEnjx.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/{3.qhPDz1xQ.css → 3.PHTPLlZ7.css} +1 -1
- package/web/build/client/_app/immutable/assets/3.PHTPLlZ7.css.br +0 -0
- package/web/build/client/_app/immutable/assets/{3.qhPDz1xQ.css.gz → 3.PHTPLlZ7.css.gz} +0 -0
- package/web/build/client/_app/immutable/chunks/BBWAo_yW.js +2 -0
- package/web/build/client/_app/immutable/chunks/BBWAo_yW.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/BBWAo_yW.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/{D8sAxZVo.js → QdZF3nkf.js} +18 -16
- package/web/build/client/_app/immutable/chunks/QdZF3nkf.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/QdZF3nkf.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/{app.Dl9OTE-n.js → app.Dce6uJU3.js} +2 -2
- package/web/build/client/_app/immutable/entry/app.Dce6uJU3.js.br +0 -0
- package/web/build/client/_app/immutable/entry/app.Dce6uJU3.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/start.DnBSC38l.js +1 -0
- package/web/build/client/_app/immutable/entry/start.DnBSC38l.js.br +0 -0
- package/web/build/client/_app/immutable/entry/start.DnBSC38l.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/{1.B1c4AH1e.js → 1.5Iv4ssDT.js} +1 -1
- package/web/build/client/_app/immutable/nodes/1.5Iv4ssDT.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/1.5Iv4ssDT.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/2.BomzYVBF.js +66 -0
- package/web/build/client/_app/immutable/nodes/2.BomzYVBF.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/2.BomzYVBF.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/{3.C-USexyX.js → 3.CeUs4lBX.js} +2 -2
- package/web/build/client/_app/immutable/nodes/3.CeUs4lBX.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/3.CeUs4lBX.js.gz +0 -0
- package/web/build/client/_app/version.json +1 -1
- package/web/build/client/_app/version.json.br +0 -0
- package/web/build/client/_app/version.json.gz +0 -0
- package/web/build/handler.js +3 -3
- package/web/build/index.js +3 -3
- package/web/build/server/chunks/1-2OO2bb7H.js +7 -0
- package/web/build/server/chunks/{1-0X6Jp9nH.js.map → 1-2OO2bb7H.js.map} +1 -1
- package/web/build/server/chunks/2-BJvuqKN6.js +7 -0
- package/web/build/server/chunks/{2-HlcVALg6.js.map → 2-BJvuqKN6.js.map} +1 -1
- package/web/build/server/chunks/3-ZIl1rHef.js +7 -0
- package/web/build/server/chunks/{3-BN1eS7L2.js.map → 3-ZIl1rHef.js.map} +1 -1
- package/web/build/server/chunks/{handler-cq3QoEzW.js → handler-B5P65tLk.js} +3 -3
- package/web/build/server/chunks/{handler-cq3QoEzW.js.map → handler-B5P65tLk.js.map} +1 -1
- package/web/build/server/chunks/{index.js-D4qkHe3r.js → index.js-CL95e0Gl.js} +2 -2
- package/web/build/server/chunks/index.js-CL95e0Gl.js.map +1 -0
- package/web/build/server/chunks/{manifest.js-DQHMKyJh.js → manifest.js-uD_a0079.js} +6 -6
- package/web/build/server/chunks/{manifest.js-DQHMKyJh.js.map → manifest.js-uD_a0079.js.map} +1 -1
- package/web/build/server/chunks/{remote-1g4ayag-B8KZPTkn.js → remote-1g4ayag-B67QMR_2.js} +2 -2
- package/web/build/server/chunks/{remote-1g4ayag-B8KZPTkn.js.map → remote-1g4ayag-B67QMR_2.js.map} +1 -1
- package/web/build/client/_app/immutable/assets/2.COsJT9ly.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.COsJT9ly.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/3.qhPDz1xQ.css.br +0 -0
- package/web/build/client/_app/immutable/chunks/C4--ziCr.js +0 -2
- package/web/build/client/_app/immutable/chunks/C4--ziCr.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/C4--ziCr.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/D8sAxZVo.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/D8sAxZVo.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/app.Dl9OTE-n.js.br +0 -0
- package/web/build/client/_app/immutable/entry/app.Dl9OTE-n.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/start.CDz8Qs8Q.js +0 -1
- package/web/build/client/_app/immutable/entry/start.CDz8Qs8Q.js.br +0 -1
- package/web/build/client/_app/immutable/entry/start.CDz8Qs8Q.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/1.B1c4AH1e.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/1.B1c4AH1e.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/2.Dx-oOpEf.js +0 -66
- package/web/build/client/_app/immutable/nodes/2.Dx-oOpEf.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/2.Dx-oOpEf.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/3.C-USexyX.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/3.C-USexyX.js.gz +0 -0
- package/web/build/server/chunks/1-0X6Jp9nH.js +0 -7
- package/web/build/server/chunks/2-HlcVALg6.js +0 -7
- package/web/build/server/chunks/3-BN1eS7L2.js +0 -7
- package/web/build/server/chunks/index.js-D4qkHe3r.js.map +0 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{A as e,G as t,K as n,M as r,N as i,Q as a,j as o,n as s,t as c}from"./Dur-vdUf.js";var l=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function m(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function h({href:e}){return e.split(`#`)[0]}function g(){}function _(e){let t=!1,n;return()=>t?n:(t=!0,n=e())}function v(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var ee=new TextEncoder;function te(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function y(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var ne=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&b.delete(ae(e)),ne(e,t));var b=new Map;function re(e,t){let n=ae(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=y(e));let i=r.getAttribute(`data-ttl`);return i&&b.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ie(e,t,n){if(b.size>0){let t=ae(e,n),r=b.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);b.delete(t)}}return window.fetch(t,n)}function ae(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${v(...e)}"]`}return n}var oe=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,se=/^\/\((?:[^)]+)\)$/;function ce(e){let t=[];return{pattern:e===`/`||se.test(e)?/^\/$/:RegExp(`^${ue(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return fe(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return fe(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=oe.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return fe(e)}).join(``)}).join(``)}/?$`),params:t}}function le(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ue(e){return e.slice(1).split(`/`).filter(le)}function de(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function fe(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var pe=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function me(e,t){let n=ue(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(pe,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function he({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ce(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return de(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ge(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function _e(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_1wz7pax?.base??``,ve=globalThis.__sveltekit_1wz7pax?.assets??x??``,ye=`_app`,be=``;function xe(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return x+be+me(e[0],e[1])}var Se=`1791221793925`,Ce=`sveltekit:snapshot`,we=`sveltekit:scroll`,Te=`sveltekit:states`,Ee=`sveltekit:pageurl`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},T=location.origin;function De(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var Oe={...w,"":w.hover};function ke(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ae(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ke(e)}}function je(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ie(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===T&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Me(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=ke(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:Oe[r??`off`],preload_data:Oe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Ne(e){let t=a(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:o}}var Pe={v:g};function Fe(){let{set:e,subscribe:t}=a(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${ve}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==Se;return n&&(e(!0),Pe.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ie(e,t,n){return e.origin!==T||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Le(e){}var Re=2**32-1,ze=Re-1,O=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}},Be=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Ve(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Be}function He(e){return Object.prototype.toString.call(e).slice(8,-1)}function Ue(e){switch(e){case`"`:return`\\"`;case`<`:return`\\u003C`;case`\\`:return`\\\\`;case`
|
|
2
|
-
`:return`\\n`;case`\r`:return`\\r`;case` `:return`\\t`;case`\b`:return`\\b`;case`\f`:return`\\f`;case`\u2028`:return`\\u2028`;case`\u2029`:return`\\u2029`;default:return e<` `?`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}function k(e){let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let r=e[i],a=Ue(r);a&&(t+=e.slice(n,i)+a,n=i+1)}return`"${n===0?e:t+e.slice(n)}"`}function We(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}var Ge=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Ke(e){return Ge.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function qe(e){return!(!Number.isInteger(e)||e<0||e>ze)}function Je(e){return!(!Number.isInteger(e)||e<0||e>Re)}function Ye(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return qe(+e)}function Xe(e){for(var t=e.length-1;t>=0&&!Ye(e[t]);t--);return t+1}function Ze(e){let t=Object.keys(e);return t.length=Xe(t),t}function Qe(e){return new Uint8Array(e).toBase64()}function $e(e){return Uint8Array.fromBase64(e).buffer}function et(e){return Buffer.from(e).toString(`base64`)}function tt(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function nt(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function rt(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var it=typeof Uint8Array.fromBase64==`function`,at=typeof process==`object`&&process.versions?.node!==void 0,ot=it?Qe:at?et:nt,st=it?$e:at?tt:rt;function ct(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var lt=Object.freeze({kind:`not-plain`}),ut=Object.freeze({kind:`symbol-keys`}),dt=Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>He(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>({buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>Ze(e),shapeOf:e=>Ve(e)?We(e).length>0?ut:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:lt,get:(e,t)=>e[t]}),ft=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[ze]=void 0,delete t[ze],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function pt(e,t,n){let r=ht(!1,e,t,n);return typeof r==`string`?r:`[${r.join(`,`)}]`}async function mt(e,t,n){let r=ht(!0,e,t,n);if(typeof r==`string`)return r;let i=`[`;for(let e=0;e<r.length;e+=1){let t=r[e];if(typeof t!=`string`&&(await t,t=r[e],e===0&&t<0))return`${t}`;i+=t,e<r.length-1&&(i+=`,`)}return i+=`]`,i}function ht(e,t,n,r){let i=ct(dt,r?.operations),a=[],o=new Map,s=[];if(n)for(let e of Object.getOwnPropertyNames(n))s.push({key:e,fn:n[e]});let c=[],l=0;function u(n,r){let d=i.typeOf(n);if(d===`undefined`)return-1;let f;if(d===`number`){if(f=i.toPrimitive(n),Number.isNaN(f))return-3;if(f===1/0)return-4;if(f===-1/0)return-5;if(f===0&&1/f<0)return-6}let p=i.identify(n);if(o.has(p))return o.get(p);r??=l++,o.set(p,r);for(let{key:e,fn:t}of s){let i=t(n);if(i)return a[r]=`["${e}",${u(i)}]`,r}if(d===`function`)throw new O(`Cannot stringify a function`,c,n,t);if(d===`symbol`)throw new O(`Cannot stringify a Symbol primitive`,c,n,t);let m=``;if(d!==`object`)m=gt(d===`number`?f:i.toPrimitive(n));else if(i.isThenable(n)){if(!e)throw new O(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,c,n,t);m=i.toPromise(n).then(e=>{let t=u(e,r);t<0&&(a[r]=t)})}else{let e=i.tagOf(n);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`["Object",${u(i.unbox(n))}]`;break;case`Date`:m=`["Date","${i.toISOString(n)}"]`;break;case`URL`:m=`["URL",${k(i.toStringValue(n))}]`;break;case`URLSearchParams`:m=`["URLSearchParams",${k(i.toStringValue(n))}]`;break;case`RegExp`:let{source:r,flags:a}=i.regExpInfo(n);m=a?`["RegExp",${k(r)},"${a}"]`:`["RegExp",${k(r)}]`;break;case`Array`:{let e=!1,t=i.lengthOf(n);m=`[`;for(let r=0;r<t;r+=1)if(r>0&&(m+=`,`),i.hasOwn(n,r))c.push(`[${r}]`),m+=u(i.get(n,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(n),a=r.length,o=String(t).length;if((t-a)*3>4+o+a*(o+1)){m=`[-7,`+t;for(let e=0;e<r.length;e++){let t=r[e];c.push(`[${t}]`),m+=`,`+t+`,`+u(i.get(n,t)),c.pop()}break}else e=!0,m+=-2}m+=`]`;break}case`Set`:m=`["Set"`;for(let e of i.valuesOf(n))m+=`,${u(e)}`;m+=`]`;break;case`Map`:m=`["Map"`;for(let[e,t]of i.entriesOf(n)){let n=i.typeOf(e),r=n!==`object`&&n!==`function`&&n!==`symbol`;c.push(`.get(${r?gt(i.toPrimitive(e)):`...`})`),m+=`,${u(e)},${u(t)}`,c.pop()}m+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:{let t=i.viewInfo(n);m=`["`+e+`",`+u(t.buffer),t.byteLength!==t.bufferByteLength&&(m+=`,${t.byteOffset},${t.length}`),m+=`]`;break}case`DataView`:{let t=i.viewInfo(n);m=`["`+e+`",`+u(t.buffer),t.byteLength!==t.bufferByteLength&&(m+=`,${t.byteOffset},${t.byteLength}`),m+=`]`;break}case`ArrayBuffer`:m=`["ArrayBuffer","${ot(i.toArrayBuffer(n))}"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:m=`["${e}",${k(i.toStringValue(n))}]`;break;default:{let e=i.shapeOf(n);if(e.kind===`not-plain`)throw new O(`Cannot stringify arbitrary non-POJOs`,c,n,t);if(e.kind===`symbol-keys`)throw new O(`Cannot stringify POJOs with symbolic keys`,c,n,t);if(e.kind===`null-proto`){m=`["null"`;for(let r of e.keys){if(r===`__proto__`)throw new O(`Cannot stringify objects with __proto__ keys`,c,n,t);c.push(Ke(r)),m+=`,${k(r)},${u(i.get(n,r))}`,c.pop()}m+=`]`}else{m=`{`;let r=!1;for(let a of e.keys){if(a===`__proto__`)throw new O(`Cannot stringify objects with __proto__ keys`,c,n,t);r&&(m+=`,`),r=!0,c.push(Ke(a)),m+=`${k(a)}:${u(i.get(n,a))}`,c.pop()}m+=`}`}}}}return a[r]=m,r}let d=u(t);return d<0?`${d}`:a}function gt(e){let t=typeof e;return t===`string`?k(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`["BigInt","${e}"]`:String(e)}var _t=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[..._t],[...new Set([..._t])];function vt(e){return e.filter(e=>e!=null)}var yt=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function bt(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===yt}function xt(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};t.set(e,n),Object.defineProperty(n,Ot,{value:!0});for(let r of Object.keys(e).sort()){let i=e[r];Object.defineProperty(n,r,{value:t.get(i)??i,enumerable:!0,configurable:!0,writable:!0})}return n}var St=`__skrao`,Ct=`__skram`,wt=`__skras`,Tt=`__skraf`,Et=`__skrap`,Dt=`__skrag`,Ot=Symbol(St);function kt(e,t,n){let r={[Dt]:e=>{if(e instanceof RegExp)throw Error(`Regular expressions are not valid remote function arguments`)}};t&&(r[Ct]=e=>{if(!(e instanceof Map))return;let t=[];for(let[n,r]of e)t.push([a(n),a(r)]);return t.sort(([e,t],[n,r])=>e<n?-1:e>n?1:t<r?-1:+(t>r))},r[wt]=e=>{if(!(e instanceof Set))return;let t=[];for(let n of e)t.push(a(n));return t.sort(),t},r[St]=e=>{if(bt(e)&&!Object.hasOwn(e,Ot))return n.has(e)?n.get(e):xt(e,n)});let i={...Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.encode])),...r},a=e=>pt(e,i);return i}function At(e,t){return e===void 0?``:Mt(pt(e,kt(t,!0,new Map)))}async function jt(e,t){if(e===void 0)return``;let n=kt(t,!1,new Map),r=new Set;return n[Tt]=e=>{if(e instanceof File){let t=e.arrayBuffer().then(t=>({data:t,lastModified:e.lastModified,name:e.name,size:e.size,type:e.type}));return r.add(t),t}},n[Et]=e=>{if(e instanceof Promise&&!r.has(e))throw Error(`Promises are not valid remote function arguments`)},Mt(await mt(e,n))}function Mt(e){return te(ee.encode(e)).replaceAll(`=`,``).replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function A(e,t){return e+`/`+t}function Nt(e){let t=e.lastIndexOf(`/`);if(t===-1)throw Error(`Invalid remote key: ${e}`);return{id:e.slice(0,t),payload:e.slice(t+1)}}function Pt(e){return e instanceof l||e instanceof d?e.status:500}function Ft(e){return e instanceof d?e.text:`Internal Error`}var j,M,It,Lt=s.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(s.toString()),Rt=`a:`;Lt?(j={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Rt)},M={current:null},It={current:!1}):(j=new class{#e=n({});get data(){return e(this.#e)}set data(e){t(this.#e,e)}#t=n(null);get form(){return e(this.#t)}set form(e){t(this.#t,e)}#n=n(null);get error(){return e(this.#n)}set error(e){t(this.#n,e)}#r=n({});get params(){return e(this.#r)}set params(e){t(this.#r,e)}#i=n({id:null});get route(){return e(this.#i)}set route(e){t(this.#i,e)}#a=n({});get state(){return e(this.#a)}set state(e){t(this.#a,e)}#o=n(-1);get status(){return e(this.#o)}set status(e){t(this.#o,e)}#s=n(new URL(Rt));get url(){return e(this.#s)}set url(e){t(this.#s,e)}},M=new class{#e=n(null);get current(){return e(this.#e)}set current(e){t(this.#e,e)}},It=new class{#e=n(!1);get current(){return e(this.#e)}set current(e){t(this.#e,e)}},Pe.v=()=>It.current=!0);function zt(e){Object.assign(j,e)}var{onMount:Bt,tick:Vt}=c,Ht=i??(e=>e()),Ut=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),N=null,P=ge(`sveltekit:scroll`)??{},F=ge(`sveltekit:snapshot`)??{},I={url:Ne({}),page:Ne({}),navigating:a(null),updated:Fe()};function Wt(e){P[e]=E()}function Gt(e,t){let n=e+1;for(;P[n];)delete P[n],n+=1;for(n=t+1;F[n];)delete F[n],n+=1}function L(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function Kt(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(x||`/`);e&&await e.update()}}var qt,Jt,R,z,Yt,B,V={},Xt={},Zt=[],Qt=[],H=null;function $t(){H?.fork?.then(e=>e?.discard()),H=null,Q={element:void 0,href:void 0}}var en=new Map,tn=new Set,nn=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},rn=!1,an=!1,on=!0,G=!1,K=!1,sn=!1,cn=!1,ln,q,J,Y,un=new Set,dn=new Map,fn=new Map;async function pn(e,t,n){if(globalThis.__sveltekit_1wz7pax.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1wz7pax.data;for(let t in e)V[t]=e[t];for(let e in n)V[e]=n[e];for(let e in r)V[e]=r[e];for(let e in t)Xt[e]=t[e]}document.URL!==location.href&&(location.href=location.href),B=e,await e.hooks.init?.(),qt=he(e),z=document.documentElement,Yt=t,Jt=e.nodes[0],R=e.nodes[1],Jt(),R(),q=history.state?.[S],J=history.state?.[C],q||(q=J=Date.now(),history.replaceState({...history.state,[S]:q,[C]:J},``));let r=P[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Hn(Yt,n)):(await Z({type:`enter`,url:De(B.hash?Jn(new URL(location.href)):location.href),replace_state:!0}),i()),Vn()}function mn(){Zt.length=0,cn=!1}function hn(e){Qt.some(e=>e?.snapshot)&&(F[e]=Qt.map(e=>e?.snapshot?.capture()))}function gn(e){F[e]?.forEach((e,t)=>{Qt[t]?.snapshot?.restore(e)})}function _n(){Wt(q),_e(we,P),hn(J),_e(Ce,F)}async function vn(e,t,n,i){let a,o;t.invalidateAll&&$t(),await Z({type:`goto`,url:De(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:i,accept:()=>{if(t.invalidateAll){cn=!0,a=new Set;for(let[e,t]of dn)for(let[n,r]of t)r.resource?.reset(),a.add(A(e,n));o=new Set;for(let[e,t]of fn)for(let n of t.keys())o.add(A(e,n))}t.invalidate&&t.invalidate.forEach(zn)}}),t.invalidateAll&&r().then(r).then(()=>{for(let[e,t]of dn)for(let[n,{resource:r}]of t)a?.has(A(e,n))&&r.start();for(let[e,t]of fn)for(let[n,{resource:r}]of t)o?.has(A(e,n))&&r.reconnect()})}async function yn(e){if(e.id!==H?.id){$t();let t={};un.add(t),H={id:e.id,token:t,promise:kn({...e,preload:t}).then(e=>(un.delete(t),e.type===`loaded`&&e.state.error&&$t(),e)),fork:null}}return H.promise}async function bn(e){let t=(await Nn(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function xn(e,t,n){let r={params:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},zt(e.props.page),ln=new B.root({target:t,props:{...e.props,stores:I,components:Qt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:P[q]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}gn(J),an=!0}async function Sn({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(x&&(e.pathname===x||e.pathname===x+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:vt(n).map(e=>e.node.component),page:qn(j)}};s!==void 0&&(l.props.form=s);let u={},d=!j,p=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==j.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:j.data}),l}async function Cn({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function wn(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:an?ie(r,i.href,t):re(r,t)}}function Tn(e,t,n,r,i,a){if(cn)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==W.params[e])return!0;for(let e of i.dependencies)if(Zt.some(t=>t(new URL(e))))return!0;return!1}function En(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Dn(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function On({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:qn(j),constructors:[]}}}async function kn({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(H?.id===e)return un.delete(H.token),H.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(g)),d.forEach(e=>e?.[1]().catch(g));let f=W.url?e!==X(W.url):!1,p=W.route?i.id!==W.route.id:!1,m=Dn(W.url,n),h=!1,_=d.map(async(e,t)=>{if(!e)return;let a=W.branch[t];return e[1]===a?.loader&&!Tn(h,p,f,m,a.universal?.uses,r)?a:(h=!0,Cn({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await _[n])?.data);return e},server_data_node:En(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of _)e.catch(g);let v=[];for(let e=0;e<d.length;e+=1)if(d[e])try{v.push(await _[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(a&&un.has(a))return On({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Pt(t),c;if(t instanceof l)c=t.body;else{if(await I.updated.check())return await Kt(),await L(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await An(e,v,o);return d?Sn({url:n,params:r,branch:v.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await In(n,{id:i.id},c,s)}else v.push(void 0);return Sn({url:n,params:r,branch:v,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function An(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function jn({status:e,error:t,url:n,route:r}){let i={};try{return Sn({url:n,params:i,branch:[await Cn({loader:Jt,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:En(null)}),{node:await R(),loader:R,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof u){await vn(new URL(t.location,location.href),{},0);return}let a=await B.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function Mn(e){let t=e.href;if(en.has(t))return en.get(t);let n;try{let r=(async()=>{let t=await B.hooks.reroute({url:new URL(e),fetch:async(t,n)=>wn(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);B.hash?n.hash=t:n.pathname=t,t=n}return t})();en.set(t,r),n=await r}catch{en.delete(t);return}return n}async function Nn(e,t){if(e&&!Ie(e,x,B.hash)){let n=await Mn(e);if(!n)return;let r=Pn(n);for(let n of qt){let i=n.exec(r);if(i)return{id:X(e),invalidating:t,route:n,params:m(i),url:e}}}}function Pn(e){return p(B.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function X(e){return(B.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Fn({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Kn(W,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||tn.forEach(e=>e(c)),o?null:s}async function Z({type:e,url:t,popped:n,keepfocus:i,noscroll:a,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=g,block:p=g,event:m}){let h=Y;Y=u;let _=await Nn(t,!1),v=e===`enter`?Kn(W,_,t,e):Fn({url:t,type:e,delta:n?.delta,intent:_,scroll:n?.scroll,event:m});if(!v){p(),Y===u&&(Y=h);return}let ee=q,te=J;f(),G=!0,an&&v.navigation.type!==`enter`&&I.navigating.set(M.current=v.navigation);let y=_&&await kn(_);if(!y){if(Ie(t,x,B.hash))return await L(t,s);y=await In(t,{id:null},await $(new d(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=_?.url||t,Y!==u){v.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:e,url:new URL(y.location,t),popped:n,keepfocus:i,noscroll:a,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),v.fulfil(void 0);return}if(y=await jn({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!y)return}else if(y.props.page.status>=400&&await I.updated.check())return await Kt(),await L(t,s);if(mn(),Wt(ee),hn(te),y.props.page.url.pathname!==t.pathname&&(t.pathname=y.props.page.url.pathname),c=n?n.state:c,!n){let e=+!s,n={[S]:q+=e,[C]:J+=e,[Te]:c};(s?history.replaceState:history.pushState).call(history,n,``,t),s||Gt(q,J)}let ne=_&&H?.id===_.id?H.fork:null;H?.fork&&!ne?$t():(H=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let b;if(an){let e=(await Promise.all(Array.from(nn,e=>e(v.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{U.delete(e)})}e.push(t),e.forEach(e=>{U.add(e)})}let n=v.navigation.to;W={...y.state,nav:{params:n.params,route:n.route,url:n.url}},y.props.page&&(y.props.page.url=t),!i&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let r=ne&&await ne;r?b=r.commit():(N=null,ln.$set(y.props),N&&Object.assign(y.props.page,N),zt(y.props.page),b=o?.()),sn=!0}else await xn(y,Yt,!1);let{activeElement:re}=document;if(await b,await r(),await r(),Y!==u){v.reject(Error(`navigation aborted`));return}y.props.page&&N&&Object.assign(y.props.page,N);let ie=null;if(on){let e=n?n.scroll:a?E():null;e?scrollTo(e.x,e.y):(ie=t.hash&&document.getElementById(Yn(t)))?ie.scrollIntoView():scrollTo(0,0)}let ae=document.activeElement!==re&&document.activeElement!==document.body;!i&&!ae&&Gn(t,!ie),on=!0,G=!1,v.fulfil(void 0),v.navigation.to&&(v.navigation.to.scroll=E()),U.forEach(e=>e(v.navigation)),e===`popstate`&&gn(J),I.navigating.set(M.current=null)}async function In(e,t,n,r,i){return e.origin===T&&e.pathname===location.pathname&&!rn?await jn({status:r,error:n,url:e,route:t}):await L(e,i)}var Q={element:void 0,href:void 0};function Ln(){let e,t;z.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,w.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],w.tap)}z.addEventListener(`mousedown`,n),z.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(bn(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ae(e,z),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=je(r,x,B.hash);if(o||s)return;let c=Me(r),l=a&&X(W.url)===X(a);if(!(c.reload||l))if(n<=c.preload_data){Q={element:r,href:r.href},t=w.tap;let e=await Nn(a,!1);if(!e)return;yn(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,bn(a))}function a(){r.disconnect();for(let e of z.querySelectorAll(`a`)){let{url:t,external:n,download:i}=je(e,x,B.hash);if(n||i)continue;let a=Me(e);a.reload||(a.preload_code===w.viewport&&r.observe(e),a.preload_code===w.eager&&bn(t))}}U.add(a),a()}function $(e,t){if(e instanceof l)return e.body;let n=Pt(e),r=Ft(e);return B.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Rn(e,t={}){return e=new URL(De(e)),e.origin===T?vn(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function zn(e){if(typeof e==`function`)Zt.push(e);else{let{href:t}=new URL(e,location.href);Zt.push(e=>e.href===t)}}function Bn(e,t){let n={[S]:q,[C]:J,[Ee]:j.url.href,[Te]:t};history.replaceState(n,``,De(e)),j.state=t,ln.$set({page:Ht(()=>qn(j))})}function Vn(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(_n(),!G){let e=Kn(W,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};tn.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&_n()}),navigator.connection?.saveData||Ln(),z.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ae(t.composedPath()[0],z);if(!n)return;let{url:r,external:i,target:a,download:o}=je(n,x,B.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Me(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(B.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===h(location);if(i||s.reload&&(!u||!l)){Fn({url:r,type:`link`,event:t})?G=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=W.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,Wt(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),z.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ie(r,x,!1))return;let i=e.target,a=Me(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Wn)if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(Y={},n===q)return;let r=P[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=W.url?h(location)===h(W.url):!1;if(o===J&&(sn||s)){i!==j.state&&(j.state=i),e(a),P[q]=E(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),B.hash&&location.reload())}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[S]:++q,[C]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))Ut.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&I.navigating.set(M.current=null)});function e(e){W.url=j.url=e,I.page.set(qn(j)),I.page.notify()}}async function Hn(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){rn=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await Nn(l,!1)||{}),d=qt.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Un(r.uses)),Cn({loader:B.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:En(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await Sn({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u)return await L(new URL(t.location,location.href));f=await jn({status:Pt(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await xn(f,e,p))}function Un(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Wn=!1;function Gn(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Yn(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Wn=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Wn=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Kn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function qn(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Jn(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Yn(e){let t;if(B.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{x as C,l as E,ye as S,_ as T,qe as _,V as a,Se as b,M as c,Nt as d,jt as f,st as g,ct as h,dn as i,j as l,ft as m,Rn as n,Bn as o,At as p,fn as r,pn as s,B as t,A as u,Je as v,g as w,xe as x,Le as y};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e,y as t}from"../chunks/C4--ziCr.js";export{t as load_css,e as start};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
�(�import{s as e,y as t}from"../chunks/C4--ziCr.js";export{t as load_css,e as start};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,D as n,E as r,G as i,H as a,I as o,K as s,O as c,S as l,U as u,V as d,W as f,Y as p,Z as ee,a as m,at as h,b as g,c as _,et as v,f as y,it as b,k as x,l as te,n as ne,o as re,s as S,tt as ie,u as ae,v as C,w,x as T}from"../chunks/Dur-vdUf.js";import{n as oe,o as se,x as ce}from"../chunks/C4--ziCr.js";import{A as le,M as ue,N as de,O as E,S as fe,T as pe,_ as me,a as he,b as ge,c as _e,f as ve,g as ye,h as be,j as xe,m as Se,n as Ce,p as we,r as Te,s as Ee,t as De,u as Oe,v as ke,w as Ae,x as je,y as Me,z as D}from"../chunks/D8sAxZVo.js";import"../chunks/tYeNsyIK.js";function Ne(e){let t=String(e||``).replace(/\\/g,`/`);t.includes(`/`)||(t=`**/${t}`);let n=``;for(let e=0;e<t.length;e++){let r=t[e];r===`*`&&t[e+1]===`*`?t[e+2]===`/`?(n+=`(?:.*/)?`,e+=2):(n+=`.*`,e+=1):r===`*`?n+=`[^/]*`:r===`?`?n+=`[^/]`:`+()[]{}|.^$`.includes(r)?n+=`\\${r}`:n+=r}return RegExp(`^${n}$`)}function Pe(e){let t=e.files??[];if(!t.length)return[];let n=new Set((e.blocks??[]).map(e=>e.file)),r=(e.skipped??[]).map(e=>Ne(e.file));return t.map(e=>e.path).filter(e=>!n.has(e)&&!r.some(t=>t.test(e))).sort((e,t)=>e.localeCompare(t))}var Fe={intent:`Habilita el flujo DEBIN de vendedor mediante POST de pre-órdenes y diferencia comprador (PAGO_DEBIN) de vendedor (GENERAR_DEBIN) usando rol en consultas. Reorganiza DTOs Shared/Internal, agrega retry con Polly para el cliente HTTP de Bantotal y expone el endpoint de pre-órdenes con MediatR.`,groups:[{id:`g1`,kind:`feat`,title:`vendedor: flujo PostPreOrden end-to-end`,intent:`Nuevo endpoint que recibe la pre-orden del vendedor y la despacha vía MediatR hacia aprobaciones.`},{id:`g2`,kind:`feat`,title:`rol: distingue operaciones comprador/vendedor`,intent:`GetTransactionType ahora resuelve el tipo según el rol para no mezclar PAGO_DEBIN con GENERAR_DEBIN.`},{id:`g3`,kind:`infra`,title:`bantotal: retry con Polly para HttpClient`,intent:`Agrega política de reintentos con backoff para llamadas transitorias, evitando reintentar POST no idempotentes.`},{id:`g4`,kind:`chore`,title:`release: configuración por rol y limpieza de constantes`,intent:`Ajusta config y remueve una constante de moneda duplicada.`}],blocks:[{id:`b1`,group:`g1`,file:`Core/Controllers/V1/PreOrdenesController.cs`,lines:`L1-33`,side:`new`,start:1,end:33,op:`add`,what:`Nuevo controller POST que envía PostPreOrdenRequest via MediatR y retorna 200.`,why:`Expone el endpoint api/v1.0/pre-ordenes para el flujo vendedor hacia aprobaciones.`,source:`code`},{id:`b2`,group:`g2`,file:`Core/Application/Validators/GetOrdenRequestValidator.cs`,lines:`L17-18`,side:`new`,start:17,end:18,op:`mod`,what:`RuleFor Rol con MustBeValidRole y RolesConstants.RolesValidos.`,why:`Evitar consultas con rol inválido que rompen GetTransactionType.`,source:`code`},{id:`b3`,group:`g3`,file:`Core/Infra/PollyPolicyBuilder.cs`,lines:`L18-25`,side:`new`,start:18,end:25,op:`mod`,what:`GetPolicy corta a NoOp si el request es POST.`,why:`Evita reintentar operaciones no idempotentes contra Bantotal.`,source:`code`},{id:`b4`,group:`g4`,file:`Core/Constants/MonedasConstants.cs`,lines:`L20-27`,side:`old`,start:20,end:27,op:`del`,what:`Borra _divisaBantotal, mapeo duplicado de _bantotalDivisa.`,why:`Las dos constantes mapeaban el mismo código de moneda.`,source:`code`}],findings:[{id:`f1`,class:`risk`,severity:`high`,blocking:!0,kind:`bug`,file:`Core/Application/Validators/GetOrdenRequestValidator.cs`,line:17,block:`b2`,what:`MustBeValidRole no cubre "ADMIN", usado en 3 callers del área de soporte.`,fix:`Agregar "ADMIN" a RolesConstants.RolesValidos o documentar que ya no se soporta.`},{id:`f2`,class:`risk`,severity:`high`,blocking:!0,kind:`race`,file:`Core/Controllers/V1/PreOrdenesController.cs`,line:28,block:`b1`,what:`Dos POST concurrentes de la misma orden no se deduplican: pueden crear dos registros.`,fix:`Índice único por IdDebin+tipo o lock/upsert antes de persistir.`},{id:`f3`,class:`quality`,severity:`med`,blocking:!1,kind:`perf`,file:`Core/Infra/PollyPolicyBuilder.cs`,line:20,block:`b3`,what:`El chequeo de POST se hace antes de resolver la policy real; también aplica NoOp a PUT/PATCH que sí son idempotentes.`,fix:`Ampliar la condición a POST estrictamente, no a todo lo no-GET.`},{id:`f4`,class:`quality`,severity:`low`,blocking:!1,kind:`maintainability`,file:`Core/Constants/MonedasConstants.cs`,line:20,block:`b4`,what:`Se borra _divisaBantotal pero queda un comentario que todavía lo referencia.`,fix:`Actualizar el comentario de la clase.`},{id:`f5`,class:`risk`,severity:`med`,blocking:!1,kind:`missing-test`,file:`Core/Controllers/V1/PreOrdenesController.cs`,line:null,block:``,what:`No hay test que cubra el POST con IdDebin repetido.`,fix:`Agregar test de integración para el caso de duplicado.`},{id:`f6`,class:`quality`,severity:`nit`,blocking:!1,kind:`docs`,file:`Core/Application/Validators/GetOrdenRequestValidator.cs`,line:null,block:``,what:`El validador no documenta qué roles son válidos en el summary.`,fix:`Sumar un comentario con la lista de roles esperados.`}],skipped:[{file:`Core/MsObeAprobacionDebin.Application.csproj`,reason:`generated`},{file:`package-lock.json`,reason:`lockfile`}],files:[{path:`Core/Controllers/V1/PreOrdenesController.cs`,changeType:`added`,group:`g1`,diff:`@@ -0,0 +1,33 @@
|
|
2
|
-
+using MediatR;
|
|
3
|
-
+using Microsoft.AspNetCore.Http;
|
|
4
|
-
+using Microsoft.AspNetCore.Mvc;
|
|
5
|
-
+using MsObeAprobacionDebin.Application.Dtos.PostPreOrden.Input;
|
|
6
|
-
+using MsObeAprobacionDebin.Application.Dtos.PostPreOrden.Output;
|
|
7
|
-
+using MsObeAprobacionDebin.Application.Features.Vendedor.Commands;
|
|
8
|
-
+using MsObeAprobacionDebin.Controllers.Base;
|
|
9
|
-
+
|
|
10
|
-
+namespace MsObeAprobacionDebin.Controllers.V1;
|
|
11
|
-
+
|
|
12
|
-
+[ApiController]
|
|
13
|
-
+public class PreOrdenesController : BaseController
|
|
14
|
-
+{
|
|
15
|
-
+ public PreOrdenesController(IMediator mediator) : base(mediator) { }
|
|
16
|
-
+
|
|
17
|
-
+ [HttpPost]
|
|
18
|
-
+ [ProducesResponseType(typeof(PostPreOrdenResponse), StatusCodes.Status200OK)]
|
|
19
|
-
+ public async Task<IActionResult> PostPreOrdenAsync([FromBody] PostPreOrdenRequest postPreOrdenRequest)
|
|
20
|
-
+ {
|
|
21
|
-
+ var result = await Mediator.Send(new PostPreOrden(postPreOrdenRequest));
|
|
22
|
-
+ return Ok(result);
|
|
23
|
-
+ }
|
|
24
|
-
+}`},{path:`Core/Application/Validators/GetOrdenRequestValidator.cs`,changeType:`modified`,group:`g2`,diff:`@@ -1,4 +1,6 @@
|
|
25
|
-
using FluentValidation;
|
|
26
|
-
+using MsObeAprobacionDebin.Application.Common;
|
|
27
|
-
+using MsObeAprobacionDebin.Application.Constants;
|
|
28
|
-
using MsObeAprobacionDebin.Application.Dtos.GetOrden.Input;
|
|
29
|
-
|
|
30
|
-
namespace MsObeAprobacionDebin.Application.Validators;
|
|
31
|
-
@@ -11,5 +13,8 @@ public class GetOrdenRequestValidator : AbstractValidator<GetOrdenRequest>
|
|
32
|
-
RuleFor(o => o.IdDebin)
|
|
33
|
-
.NotEmpty().WithMessage("El id de la orden de debin no puede estar nulo o vacío.");
|
|
34
|
-
|
|
35
|
-
+ RuleFor(o => o.Rol)
|
|
36
|
-
+ .MustBeValidRole($"El rol recibido no es válido. (Roles válidos: {string.Join(", ", RolesConstants.RolesValidos)})");
|
|
37
|
-
+
|
|
38
|
-
}
|
|
39
|
-
}`},{path:`Core/Infra/PollyPolicyBuilder.cs`,changeType:`modified`,group:`g3`,diff:`@@ -16,7 +16,9 @@ namespace Bff.Obe.Pago.Servicios.Infrastructure
|
|
40
|
-
public static class PollyPolicyBuilder
|
|
41
|
-
{
|
|
42
|
-
+ public static IAsyncPolicy<HttpResponseMessage> GetPolicy(HttpRequestMessage request)
|
|
43
|
-
+ {
|
|
44
|
-
+ if (request.Method == HttpMethod.Post)
|
|
45
|
-
+ return Policy.NoOpAsync<HttpResponseMessage>();
|
|
46
|
-
+
|
|
47
|
-
+ return BuildRetryPolicy();
|
|
48
|
-
+ }
|
|
49
|
-
|
|
50
|
-
public static IAsyncPolicy<HttpResponseMessage> BuildRetryPolicy()
|
|
51
|
-
{`},{path:`Core/Constants/MonedasConstants.cs`,changeType:`modified`,group:`g4`,diff:`@@ -18,12 +18,4 @@ public static class MonedasConstants
|
|
52
|
-
public const string Ars = "ARS";
|
|
53
|
-
public const string Usd = "USD";
|
|
54
|
-
|
|
55
|
-
- // Duplicado histórico de _bantotalDivisa, mismo mapeo de código.
|
|
56
|
-
- public static readonly Dictionary<int, string> _divisaBantotal = new()
|
|
57
|
-
- {
|
|
58
|
-
- { 32, Ars },
|
|
59
|
-
- { 840, Usd }
|
|
60
|
-
- };
|
|
61
|
-
-
|
|
62
|
-
public static readonly Dictionary<int, string> _bantotalDivisa = new()`}],notes:[`El diff completo tenía 162 archivos; este ejemplo incluye solo 4 para mostrar el viewer.`]};function Ie(e){let t=[];if(!e||typeof e!=`object`)return[`El archivo no contiene un objeto JSON.`];let n=e;if((typeof n.intent!=`string`||!n.intent.trim())&&t.push(`Falta "intent" (string).`),Array.isArray(n.groups)?n.groups.forEach((e,n)=>{if(!e||typeof e!=`object`){t.push(`groups[${n}]: no es un objeto.`);return}for(let r of[`id`,`kind`,`title`,`intent`])(typeof e[r]!=`string`||!e[r])&&t.push(`groups[${n}]: falta "${r}".`)}):t.push(`Falta "groups" (array).`),Array.isArray(n.blocks)?n.blocks.forEach((e,n)=>{if(!e||typeof e!=`object`){t.push(`blocks[${n}]: no es un objeto.`);return}for(let r of[`id`,`group`,`file`,`op`,`what`,`why`])(typeof e[r]!=`string`||!e[r])&&t.push(`blocks[${n}]: falta "${r}".`)}):t.push(`Falta "blocks" (array).`),Array.isArray(n.findings)?n.findings.forEach((e,n)=>{if(!e||typeof e!=`object`){t.push(`findings[${n}]: no es un objeto.`);return}let r=e;for(let e of[`id`,`class`,`severity`,`kind`,`file`,`what`,`fix`])(typeof r[e]!=`string`||!r[e])&&t.push(`findings[${n}]: falta "${e}".`);typeof r.blocking!=`boolean`&&t.push(`findings[${n}]: "blocking" debe ser booleano.`)}):t.push(`Falta "findings" (array).`),n.files!=null&&!Array.isArray(n.files)&&t.push(`"files" debe ser un array.`),n.skipped!=null&&!Array.isArray(n.skipped)&&t.push(`"skipped" debe ser un array.`),n.notes!=null&&!Array.isArray(n.notes)&&t.push(`"notes" debe ser un array.`),n.meta!=null)if(typeof n.meta!=`object`||Array.isArray(n.meta))t.push(`"meta" debe ser un objeto.`);else{let e=n.meta;e.source!=null&&e.source!==`local`&&e.source!==`url`&&t.push(`meta.source debe ser "local" o "url".`);for(let n of[`repo`,`branch`,`base`,`remoteUrl`,`generatedAt`,`agent`,`model`])e[n]!=null&&typeof e[n]!=`string`&&t.push(`meta.${n} debe ser string.`)}return t}var Le=w(`<div class="toast svelte-1uha8ag" role="status">Prompt copiado al portapapeles.</div>`),Re=w(`<div class="diff-backdrop svelte-1uha8ag"><div class="diff-modal svelte-1uha8ag" role="status" aria-live="polite" aria-busy="true"><div class="diff-spinner svelte-1uha8ag" aria-hidden="true"></div> <p class="svelte-1uha8ag">Calculando diff con git…</p></div></div>`),ze=w(`URL del remote (https / SSH). Al cargar se listan branches con <code class="svelte-1uha8ag">ls-remote</code>; al soltar el
|
|
63
|
-
JSON se hace un clone shallow temporal para armar el diff. Requiere que el branch esté en el remote.`,1),Be=w(`<p class="error-line svelte-1uha8ag"> </p>`),Ve=w(`<p class="ok-line svelte-1uha8ag"> </p>`),He=w(`<button type="button" class="svelte-1uha8ag"> </button>`),Ue=w(`<option> </option>`),We=w(`<select class="svelte-1uha8ag"></select>`),Ge=w(`<input type="text" placeholder="feature/PCM-14839" class="svelte-1uha8ag"/>`),Ke=w(`<input type="text" placeholder="develop" class="svelte-1uha8ag"/>`),qe=w(`<p class="hint-text svelte-1uha8ag">Copiá esto en Claude, Cursor, Copilot o el agente que uses. El schema de salida va incluido.</p> <textarea class="svelte-1uha8ag"></textarea> <div class="actions svelte-1uha8ag"><button type="button" class="primary svelte-1uha8ag"> </button> <button type="button" class="ghost svelte-1uha8ag">Ver ejemplo</button></div>`,1),Je=w(`<p class="hint-text svelte-1uha8ag">Necesita el skill instalado (abajo). El agente ya tiene guardadas las reglas y el schema de salida.</p> <div class="command-box svelte-1uha8ag"><code class="svelte-1uha8ag"> </code></div> <div class="actions svelte-1uha8ag"><button type="button" class="primary svelte-1uha8ag"> </button></div> <div class="skill-block svelte-1uha8ag"><h3 class="svelte-1uha8ag">¿No tenés el skill instalado?</h3> <p class="hint-text svelte-1uha8ag">Define /diff-review y /diff-review-fix. Descargalo e instalalo en la carpeta indicada.</p> <div class="skill-buttons svelte-1uha8ag"><button type="button" class="svelte-1uha8ag">Claude Code · .claude/commands/</button> <button type="button" class="svelte-1uha8ag">Cursor · .cursor/commands/</button> <button type="button" class="svelte-1uha8ag">Copilot · .github/prompts/</button></div></div>`,1),Ye=w(`<span>abriendo…</span>`),Xe=w(`<span>(se abre solo; podés hacer click si no)</span>`),Ze=w(`<span>(hacé click para abrirlo)</span>`),Qe=w(`<p class="detect-banner svelte-1uha8ag">Listo: <button type="button" class="file-link svelte-1uha8ag"> </button> <!></p>`),$e=w(`<p class="detect-banner svelte-1uha8ag">Encontré otro reporte: <button type="button" class="file-link svelte-1uha8ag"> </button></p>`),et=w(`<p class="detect-wait svelte-1uha8ag">Esperando <code> </code> en la raíz del repo…</p>`),tt=w(`<p class="detect-wait svelte-1uha8ag">Detecté el JSON — abriendo reporte…</p>`),nt=w(`<li> </li>`),rt=w(`<div class="coverage-box svelte-1uha8ag"><div class="coverage-head svelte-1uha8ag"><strong class="svelte-1uha8ag"> </strong> <span class="svelte-1uha8ag">no aparecen ni en "blocks" ni en "skipped"</span></div> <details><summary class="svelte-1uha8ag">Ver los archivos</summary> <ul class="coverage-list svelte-1uha8ag"></ul></details> <p class="hint-text svelte-1uha8ag">Pasale este prompt al mismo agente que corrió la review: tiene el diff en contexto y solo
|
|
64
|
-
tiene que completar lo que falta. Después soltá de nuevo el <code class="svelte-1uha8ag"> </code>.</p> <textarea readonly="" rows="7" class="svelte-1uha8ag"></textarea> <div class="coverage-actions svelte-1uha8ag"><button type="button" class="primary svelte-1uha8ag"> </button> <button type="button" class="svelte-1uha8ag">Abrir igual</button></div></div>`),it=w(`<div class="drop-errors svelte-1uha8ag"><strong class="svelte-1uha8ag">No se pudo abrir el reporte:</strong> <ul class="svelte-1uha8ag"></ul></div>`),at=w(`<span class="pill bad svelte-1uha8ag"> </span>`),ot=w(`<span class="pill svelte-1uha8ag"> </span>`),st=w(`<p class="report-intent svelte-1uha8ag"> </p>`),ct=w(`<div class="report-menu svelte-1uha8ag" role="menu" tabindex="-1"><button type="button" class="menu-item danger svelte-1uha8ag" role="menuitem">Eliminar…</button></div>`),lt=w(`<li class="report-item svelte-1uha8ag"><a class="report-card svelte-1uha8ag"><span class="report-top svelte-1uha8ag"><strong class="svelte-1uha8ag"> </strong> <span class="when svelte-1uha8ag"> </span></span> <span class="report-meta svelte-1uha8ag"><span> </span> <span class="pill svelte-1uha8ag"> </span> <!> <!></span> <!></a> <div class="report-actions svelte-1uha8ag"><button type="button" class="kebab svelte-1uha8ag" title="Más acciones" aria-haspopup="menu"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"><circle cx="8" cy="3.5" r="1.25" fill="currentColor"></circle><circle cx="8" cy="8" r="1.25" fill="currentColor"></circle><circle cx="8" cy="12.5" r="1.25" fill="currentColor"></circle></svg></button> <!></div></li>`),ut=w(`<ul class="report-list svelte-1uha8ag"></ul>`),dt=w(`<p class="hint-text svelte-1uha8ag">Todavía no hay reportes. Generá un prompt, corré tu agente y soltá el JSON.</p>`),ft=w(`<div class="page svelte-1uha8ag"><!> <!> <header class="topbar svelte-1uha8ag"><a class="brand svelte-1uha8ag"><span class="brand-dot svelte-1uha8ag"></span> <span class="title-block svelte-1uha8ag"><span class="svelte-1uha8ag">diff-review</span> <small class="svelte-1uha8ag">generá un prompt, corré tu agente, soltá el resultado</small></span></a> <!></header> <div class="workspace svelte-1uha8ag"><section class="setup svelte-1uha8ag"><h2 class="svelte-1uha8ag">1. Contexto</h2> <div class="mode-toggle source-toggle svelte-1uha8ag"><button type="button">Carpeta local</button> <button type="button">URL remota</button></div> <p class="hint-text svelte-1uha8ag"><!></p> <!> <!> <div class="repo-setup svelte-1uha8ag"><label class="field repo-field svelte-1uha8ag"><span class="svelte-1uha8ag"> </span> <div class="repo-row svelte-1uha8ag"><input type="text" class="svelte-1uha8ag"/> <!> <button type="button" class="svelte-1uha8ag"> </button></div></label> <div class="row branches-row svelte-1uha8ag"><label class="field svelte-1uha8ag"><span class="svelte-1uha8ag">Branch a revisar</span> <!></label> <label class="field svelte-1uha8ag"><span class="svelte-1uha8ag">Base</span> <!></label></div></div> <div class="section-head svelte-1uha8ag"><h2 class="svelte-1uha8ag">2. Prompt</h2></div> <div class="mode-toggle svelte-1uha8ag"><button type="button">Prompt completo</button> <button type="button">Comando (skill)</button></div> <!> <h2 class="result-head svelte-1uha8ag">3. Resultado</h2> <p class="hint-text svelte-1uha8ag">Soltá acá el <code class="svelte-1uha8ag"> </code> que generó el agente. Si trae <code class="svelte-1uha8ag">meta</code>, se
|
|
65
|
-
autocompletan repo y branches. <!></p> <!> <!> <div role="presentation"><p class="svelte-1uha8ag"><!></p> <button type="button" class="svelte-1uha8ag"> </button> <input type="file" accept="application/json,.json" class="visually-hidden svelte-1uha8ag"/></div> <!> <!></section> <aside class="reports-col svelte-1uha8ag"><h2 class="svelte-1uha8ag">Reportes anteriores</h2> <!></aside></div></div>`);function O(n,w){ie(w,!0);function Ne(e){return typeof window>`u`?!1:new URL(window.location.href).searchParams.get(e)===`1`}let O=s(f({source:`local`,repo:``,branch:``,base:`develop`})),k=s(f(de({}))),A=s(``),j=s(!1),pt=s(!1),mt=s(!1),ht=s(`full`),gt=s(!1),_t=s(!1),M=s(f([])),N=s(null),P=s(f([])),vt=s(!1),yt=s(f([])),F=s(null),I=s(f([])),L=s(``),R=s(!1),z=s(!1),B=s(!1),V=s(!1),H=s(f(Ne(`import`))),U=s(f(Ne(`watch`))),bt=!1,W=s(``),xt=s(null),G=s(null),K=s(!1),St=s(``),Ct=0,wt=p(()=>Ae(e(O))),q=p(()=>e(O).source===`local`&&Y(e(O).repo));ne(()=>{let t=Te();i(O,t,!0),t.source===`local`&&Y(t.repo)&&i(W,t.repo.trim(),!0);let n=new URL(window.location.href).searchParams,r=n.get(`import`)===`1`,a=n.get(`watch`)===`1`,o=n.get(`notify`)===`prompt`,s=n.get(`out`)?.trim();i(U,a),r&&i(H,!0),s&&ue(s)&&i(k,s,!0),i(A,E(e(O),{outputFilename:e(k)}),!0),i(yt,he(),!0),(r||a||o||s)&&Tt(),Et(t,{wantImport:r,wantWatch:a,wantNotify:o,keepOutName:!!(s&&ue(s))});let c=setInterval(()=>{Ut({auto:!0})},1500);return()=>clearInterval(c)});function Tt(){let e=new URL(window.location.href);e.search&&(e.search=``,se(e,{}))}async function Et(t,n){try{let e=await we();if(e?.repo){let r=e.current&&e.current!==`HEAD`?e.current:e.branches[0]||``,a=e.branches.includes(t.base)?t.base:e.defaultBase;i(I,e.branches,!0),i(W,e.repo,!0),J({source:`local`,repo:e.repo,branch:r,base:a,remoteUrl:e.remoteUrl||void 0}),n.keepOutName||await Dt()}else t.repo.trim()&&(It(t.repo,t.source),!n.keepOutName&&t.source===`local`&&await Dt())}catch{t.repo.trim()&&It(t.repo,t.source)}if(n.wantNotify&&At(e(A),e=>{i(pt,e,!0),i(mt,!0),setTimeout(()=>i(mt,!1),2800)}),n.wantImport)try{let e=await me();e?.payload?(e.filename&&i(k,e.filename,!0),await qt(e.payload)):bt||i(H,!1)}catch{i(M,[`No se pudo importar el JSON pendiente del CLI.`],!0),i(H,!1)}n.wantWatch&&Ut({auto:!0})}async function Dt(){if(e(O).source!==`local`||!Y(e(O).repo)||!e(O).branch.trim()){i(k,de({}),!0),e(j)||i(A,E(e(O),{outputFilename:e(k)}),!0);return}let t=++Ct;try{let n=await ye({repo:e(O).repo.trim(),branch:e(O).branch.trim(),base:e(O).base.trim()||`develop`});if(t!==Ct)return;i(k,n.filename,!0),e(j)||i(A,E(e(O),{outputFilename:e(k)}),!0)}catch{if(t!==Ct)return;i(k,de({}),!0),e(j)||i(A,E(e(O),{outputFilename:e(k)}),!0)}}function J(t){let n=e(O);i(O,{...e(O),...t},!0),e(O).source===`local`&&Y(e(O).repo)&&i(W,e(O).repo.trim(),!0),Ee(e(O)),e(j)||i(A,E(e(O),{outputFilename:e(k)}),!0),(n.repo!==e(O).repo||n.branch!==e(O).branch||n.base!==e(O).base||n.source!==e(O).source)&&e(O).source===`local`&&Dt()}function Ot(t){if(t===e(O).source)return;if(i(I,[],!0),i(L,``),t===`url`){Y(e(O).repo)&&i(W,e(O).repo.trim(),!0);let n=(e(O).remoteUrl||``).trim()||(X(e(O).repo)?e(O).repo.trim():``);J({source:t,repo:n,...n?{remoteUrl:n}:{}});return}let n=e(W)||(Y(e(O).repo)?e(O).repo.trim():``),r=(X(e(O).repo)?e(O).repo.trim():``)||(e(O).remoteUrl||``).trim();J({source:t,repo:n,...r?{remoteUrl:r}:{}})}function kt(e){i(A,e.currentTarget.value,!0),i(j,!0)}function At(e,t){let n=()=>{t(!0),setTimeout(()=>t(!1),1600)};navigator.clipboard?.writeText?navigator.clipboard.writeText(e).then(n).catch(n):n()}function jt(){At(e(A),e=>i(pt,e,!0))}function Mt(){At(pe(e(O),e(P),{outputFilename:e(k)}),e=>i(vt,e,!0))}function Nt(){At(e(wt),e=>i(gt,e,!0))}function Pt(e){let t=le(e),n=new Blob([t],{type:`text/markdown`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=xe(e),i.click(),URL.revokeObjectURL(r)}function Y(e){return/[\\/]/.test(e)||/^[A-Za-z]:/.test(e)}function X(e){let t=e.trim();return t?!!(/^(https?:\/\/|git@|ssh:\/\/)/i.test(t)||/\.git$/i.test(t)&&!Y(t)):!1}function Z(e){if(!e)return`Error desconocido`;if(typeof e==`string`){try{let t=JSON.parse(e);if(typeof t?.message==`string`&&t.message.trim())return t.message}catch{}return e}if(typeof e==`object`){let t=e;if(typeof t.body?.message==`string`&&t.body.message.trim())return t.body.message;if(typeof t.message==`string`&&t.message.trim()){let e=t.message.trim();if(e.startsWith(`{`))try{let t=JSON.parse(e);if(typeof t?.message==`string`&&t.message.trim())return t.message}catch{}return e}}return String(e)}async function Ft(){if(!(e(z)||e(R))){i(z,!0),i(L,``);try{let e=await ke(null);if(!e)return;J({source:`local`,repo:e}),await It(e,`local`)}catch(e){i(L,`No se pudo elegir la carpeta: `+Z(e))}finally{i(z,!1)}}}async function It(t=e(O).repo,n=e(O).source){let r=t.trim();if(!r){i(L,n===`url`?`Indicá la URL del repo.`:`Indicá la ruta absoluta del repo.`,!0);return}if(!e(R)){i(R,!0),i(L,``);try{let t=await be({source:n,repo:r}),a=t.branches.includes(e(O).branch)?e(O).branch:t.current||t.branches[0]||``,o=t.branches.includes(e(O).base)?e(O).base:t.defaultBase;i(I,t.branches,!0),J({source:t.source,repo:t.repo,branch:a,base:o,remoteUrl:t.remoteUrl||(t.source===`url`?t.repo:e(O).remoteUrl)})}catch(e){i(I,[],!0),i(L,`No se pudo leer el repo: `+Z(e))}finally{i(R,!1)}}}function Lt(t){t.preventDefault(),e(_t)||i(_t,!0)}function Rt(e){e.preventDefault(),i(_t,!1)}function zt(t){if(t.preventDefault(),i(_t,!1),e(V)||e(B)||e(K))return;let n=t.dataTransfer?.files?.[0];n&&Gt(n)}async function Bt(){if(!(e(V)||e(B)||e(K))){if(e(q)){i(B,!0),i(L,``);try{let t=await Me({directory:e(O).repo.trim()});if(!t?.payload)return;t.filename&&i(k,t.filename,!0),await qt(t.payload)}catch(t){i(M,[`No se pudo abrir el archivo: `+Z(t)],!0),e(xt)?.click()}finally{i(B,!1)}return}e(xt)?.click()}}function Vt(e){let t=e.currentTarget,n=t.files?.[0];n&&Gt(n),t.value=``}function Ht(e){return`${e.path}::${e.mtimeMs}`}async function Ut(t){if(!(!e(q)||e(V)||e(B)))try{let n=await Oe({repo:e(O).repo.trim(),preferredName:e(k)});if(i(G,n,!0),!t.auto||!e(U)||!n||e(K)||n.filename!==e(k)||Ht(n)===e(St))return;await Wt(n,{auto:!0})}catch{}}async function Wt(t,n){if(!(e(V)||e(K)||e(B))){i(K,!0),i(H,!0),i(M,[],!0);try{let r=await Se({repo:e(O).repo.trim(),filename:t.filename});if(!r?.payload){n?.auto||i(M,[`No se pudo leer `+t.filename],!0),i(H,!1);return}i(k,t.filename,!0),await qt(r.payload)&&(i(St,Ht(t),!0),n?.auto&&i(U,!1))}catch(e){i(M,[`No se pudo abrir `+t.filename+`: `+Z(e)],!0),i(H,!1)}finally{i(K,!1)}}}function Gt(e){i(H,!0),i(M,[],!0);let t=new FileReader;t.onload=()=>{let e;try{e=JSON.parse(String(t.result))}catch(e){i(M,[`El archivo no es JSON válido: `+Z(e)],!0),i(H,!1);return}qt(e)},t.onerror=()=>{i(M,[`No se pudo leer el archivo.`],!0),i(H,!1)},t.readAsText(e)}function Kt(t){return fe(t,e(O))}async function qt(e){i(H,!0),bt=!1;try{let t=await Jt(e);return bt||i(H,!1),t}catch(e){throw i(H,!1),e}}async function Jt(t){let n=Ie(t);if(n.length)return i(M,n,!0),!1;let r=ge(t),a=Kt(t);(a.repo||a.branch||a.base||a.remoteUrl)&&J({source:a.source,repo:a.repo||e(O).repo,branch:a.branch||e(O).branch,base:a.base||e(O).base,remoteUrl:a.remoteUrl||e(O).remoteUrl});let o={intent:r.intent,groups:r.groups,blocks:r.blocks,findings:r.findings,skipped:r.skipped,notes:r.notes},s=[],c=(e,t)=>{let n=t.trim();n&&(s.some(t=>t.source===e&&t.repo===n)||s.push({source:e,repo:n}))};if(a.branch){a.source===`local`&&Y(a.repo)?c(`local`,a.repo):a.source===`url`&&X(a.repo)||X(a.repo)?c(`url`,a.repo):Y(a.repo)&&c(`local`,a.repo);let e=(a.remoteUrl||``).trim();e&&X(e)&&c(`url`,e)}if(s.length&&a.branch){i(V,!0),i(M,[],!0);let t=[],n=!1,c=a.remoteUrl;try{for(let e of s)try{if(r=await ve({repo:e.repo,branch:a.branch,base:a.base||`develop`,source:e.source,payload:o}),n=!0,e.source===`url`)c||=e.repo;else if(!c)try{let t=await be({source:`local`,repo:e.repo});t.remoteUrl&&(c=t.remoteUrl)}catch{}break}catch(n){t.push(`${e.source===`url`?`URL`:`local`}: ${Z(n)}`)}if(!n){if(!je(r))return i(M,[`No se pudo calcular el diff con git.`,...t.map(e=>`· ${e}`)],!0),!1;r={...r,notes:[...r.notes,`No se pudo refrescar el diff con git: `+t.join(` | `)]}}}finally{i(V,!1)}c&&J({remoteUrl:c});let l={source:a.source,repo:a.repo||e(O).repo,branch:a.branch||e(O).branch,base:a.base||e(O).base,remoteUrl:c||e(O).remoteUrl},u=Pe(r);return u.length?(i(N,r,!0),i(P,u,!0),i(M,[],!0),J(l),!0):(Yt(r,l),!0)}else if(!je(r))return i(M,[`Indicá repo (ruta o URL) y branch, o incluí meta.remoteUrl en el JSON, para calcular el diff con git.`],!0),!1;let l={source:a.source,repo:a.repo||e(O).repo,branch:a.branch||e(O).branch,base:a.base||e(O).base,remoteUrl:a.remoteUrl||e(O).remoteUrl},u=Pe(r);return u.length?(i(N,r,!0),i(P,u,!0),i(M,[],!0),J(l),!0):(Yt(r,l),!0)}function Yt(t,n=e(O)){i(M,[],!0),i(N,null),i(P,[],!0),bt=!0,oe(ce(`/report/${_e(t,n).id}`))}function Xt(){Yt(Fe,{source:`local`,repo:`ms-obe-aprobacion-debin`,branch:`feature/PCM-14839`,base:`develop`})}function Zt(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(`es-AR`,{day:`2-digit`,month:`2-digit`,hour:`2-digit`,minute:`2-digit`})}function Qt(t){i(F,e(F)===t?null:t,!0)}function $t(e){let t=e.branch||`este reporte`;confirm(`¿Eliminar “${t}”? No se puede deshacer.`)&&(Ce(e.id),i(yt,he(),!0),i(F,null))}var en=ft();x(`click`,t,()=>{e(F)&&i(F,null)}),x(`keydown`,t,e=>{e.key===`Escape`&&i(F,null)});var tn=d(en),nn=e=>{l(e,Le())};g(tn,t=>{e(mt)&&t(nn)});var rn=u(tn,2),an=e=>{l(e,Re())};g(rn,t=>{e(H)&&t(an)});var on=u(rn,2),sn=d(on);De(u(sn,2),{}),h(on);var cn=u(on,2),ln=d(cn),un=u(d(ln),2),dn=d(un);let fn;var pn=u(dn,2);let mn;h(un);var hn=u(un,2),gn=d(hn),_n=e=>{var t=ze();b(2),l(e,t)},vn=e=>{l(e,r(`Carpeta local del repo. Podés pegar la ruta o elegirla con el diálogo del sistema. Git corre ahí
|
|
66
|
-
mismo (sirve para branches no pusheados).`))};g(gn,t=>{e(O).source===`url`?t(_n):t(vn,-1)}),h(hn);var yn=u(hn,2),bn=t=>{var n=Be(),r=d(n,!0);h(n),o(()=>T(r,e(L))),l(t,n)};g(yn,t=>{e(L)&&t(bn)});var xn=u(yn,2),Sn=t=>{var n=Ve(),r=d(n);h(n),o(e=>T(r,`${e??``}.`),[()=>D(e(I).length,`branch encontrado`,`branches encontrados`)]),l(t,n)};g(xn,t=>{e(I).length&&t(Sn)});var Cn=u(xn,2),wn=d(Cn),Tn=d(wn),En=d(Tn,!0);h(Tn);var Dn=u(Tn,2),Q=d(Dn);re(Q);var On=u(Q,2),kn=t=>{var n=He(),r=d(n,!0);h(n),o(()=>{n.disabled=e(z)||e(R),T(r,e(z)?`Eligiendo…`:`Elegir…`)}),c(`click`,n,()=>void Ft()),l(t,n)};g(On,t=>{e(O).source===`local`&&t(kn)});var An=u(On,2),jn=d(An,!0);h(An),h(Dn),h(wn);var Mn=u(wn,2),Nn=d(Mn),Pn=u(d(Nn),2),Fn=t=>{var n=We();C(n,20,()=>e(I),e=>e,(e,t)=>{var n=Ue(),r=d(n,!0);h(n);var i={};o(()=>{T(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),l(e,n)}),h(n);var r;te(n),o(()=>{r!==(r=e(O).branch)&&(n.value=(n.__value=e(O).branch)??``,ae(n,e(O).branch))}),c(`change`,n,e=>J({branch:e.currentTarget.value})),l(t,n)},In=t=>{var n=Ge();re(n),o(()=>_(n,e(O).branch)),c(`input`,n,e=>J({branch:e.currentTarget.value})),l(t,n)};g(Pn,t=>{e(I).length?t(Fn):t(In,-1)}),h(Nn);var Ln=u(Nn,2),Rn=u(d(Ln),2),zn=t=>{var n=We();C(n,20,()=>e(I),e=>e,(e,t)=>{var n=Ue(),r=d(n,!0);h(n);var i={};o(()=>{T(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),l(e,n)}),h(n);var r;te(n),o(()=>{r!==(r=e(O).base)&&(n.value=(n.__value=e(O).base)??``,ae(n,e(O).base))}),c(`change`,n,e=>J({base:e.currentTarget.value})),l(t,n)},Bn=t=>{var n=Ke();re(n),o(()=>_(n,e(O).base)),c(`input`,n,e=>J({base:e.currentTarget.value})),l(t,n)};g(Rn,t=>{e(I).length?t(zn):t(Bn,-1)}),h(Ln),h(Mn),h(Cn);var Vn=u(Cn,4),Hn=d(Vn);let Un;var Wn=u(Hn,2);let Gn;h(Vn);var Kn=u(Vn,2),qn=t=>{var n=qe(),r=u(a(n),2);ee(r);var i=u(r,2),s=d(i),f=d(s,!0);h(s);var p=u(s,2);h(i),o(()=>{_(r,e(A)),T(f,e(pt)?`Copiado ✓`:`Copiar prompt`)}),c(`input`,r,kt),c(`click`,s,jt),c(`click`,p,Xt),l(t,n)},Jn=t=>{var n=Je(),r=u(a(n),2),i=d(r),s=d(i,!0);h(i),h(r);var f=u(r,2),p=d(f),ee=d(p,!0);h(p),h(f);var m=u(f,2),g=u(d(m),4),_=d(g),v=u(_,2),y=u(v,2);h(g),h(m),o(()=>{T(s,e(wt)),T(ee,e(gt)?`Copiado ✓`:`Copiar comando`)}),c(`click`,p,Nt),c(`click`,_,()=>Pt(`claude`)),c(`click`,v,()=>Pt(`cursor`)),c(`click`,y,()=>Pt(`copilot`)),l(t,n)};g(Kn,t=>{e(ht)===`full`?t(qn):t(Jn,-1)});var Yn=u(Kn,4),Xn=u(d(Yn)),Zn=d(Xn,!0);h(Xn);var Qn=u(Xn,4),$n=e=>{l(e,r(`Con repo local, si el archivo aparece en la raíz lo abrimos solos.`))},er=e=>{l(e,r(`Con repo local, si el archivo está en la raíz podés abrirlo desde acá.`))};g(Qn,t=>{e(q)&&e(U)?t($n):e(q)&&t(er,1)}),h(Yn);var tr=u(Yn,2),nr=t=>{var n=Qe(),r=u(d(n)),i=d(r,!0);h(r);var a=u(r,2),s=e=>{l(e,Ye())},f=e=>{l(e,Xe())},p=e=>{l(e,Ze())};g(a,t=>{e(K)?t(s):e(U)?t(f,1):t(p,-1)}),h(n),o(()=>T(i,e(G).filename)),c(`click`,r,()=>void Wt(e(G))),l(t,n)},rr=t=>{var n=$e(),r=u(d(n)),i=d(r,!0);h(r),h(n),o(()=>T(i,e(G).filename)),c(`click`,r,()=>void Wt(e(G))),l(t,n)},ir=t=>{var n=et(),r=u(d(n)),i=d(r,!0);h(r),b(),h(n),o(()=>T(i,e(k))),l(t,n)};g(tr,t=>{e(q)&&e(G)&&e(G).filename===e(k)&&!e(V)&&!e(K)?t(nr):e(q)&&e(G)&&e(G).filename!==e(k)&&!e(V)?t(rr,1):e(q)&&!e(G)&&!e(V)&&!e(K)&&t(ir,2)});var ar=u(tr,2),or=e=>{l(e,tt())};g(ar,t=>{e(K)&&t(or)});var $=u(ar,2);let sr;var cr=d($),lr=d(cr),ur=e=>{l(e,r(`Calculando diff con git…`))},dr=e=>{l(e,r(`Eligiendo archivo…`))},fr=e=>{l(e,r(`Importando JSON…`))},pr=e=>{l(e,r(`Arrastrá el archivo .json acá`))};g(lr,t=>{e(V)?t(ur):e(B)?t(dr,1):e(K)?t(fr,2):t(pr,-1)}),h(cr);var mr=u(cr,2),hr=d(mr,!0);h(mr);var gr=u(mr,2);m(gr,e=>i(xt,e),()=>e(xt)),h($);var _r=u($,2),vr=t=>{var n=rt(),r=d(n),i=d(r),a=d(i);h(i),b(2),h(r);var s=u(r,2),f=u(d(s),2);C(f,20,()=>e(P),e=>e,(e,t)=>{var n=nt(),r=d(n,!0);h(n),o(()=>T(r,t)),l(e,n)}),h(f),h(s);var p=u(s,2),m=u(d(p)),g=d(m,!0);h(m),b(),h(p);var v=u(p,2);ee(v);var y=u(v,2),x=d(y),te=d(x,!0);h(x);var ne=u(x,2);h(y),h(n),o((t,n)=>{T(a,`El modelo dejó ${t??``} sin explicar`),T(g,e(k)),_(v,n),T(te,e(vt)?`Copiado ✓`:`Copiar prompt de corrección`)},[()=>D(e(P).length,`archivo`,`archivos`),()=>pe(e(O),e(P),{outputFilename:e(k)})]),c(`click`,x,Mt),c(`click`,ne,()=>e(N)&&Yt(e(N))),l(t,n)};g(_r,t=>{e(N)&&t(vr)});var yr=u(_r,2),br=t=>{var n=it(),r=u(d(n),2);C(r,20,()=>e(M),e=>e,(e,t)=>{var n=nt(),r=d(n,!0);h(n),o(()=>T(r,t)),l(e,n)}),h(r),h(n),l(t,n)};g(yr,t=>{e(M).length&&t(br)}),h(ln);var xr=u(ln,2),Sr=u(d(xr),2),Cr=t=>{var n=ut();C(n,21,()=>e(yt),e=>e.id,(t,n)=>{var r=lt(),i=d(r),a=d(i),s=d(a),f=d(s,!0);h(s);var p=u(s,2),ee=d(p,!0);h(p),h(a);var m=u(a,2),_=d(m),v=d(_);h(_);var y=u(_,2),b=d(y,!0);h(y);var x=u(y,2),te=t=>{var r=at(),i=d(r,!0);h(r),o(e=>T(i,e),[()=>D(e(n).blockerCount,`blocker`,`blockers`)]),l(t,r)};g(x,t=>{e(n).blockerCount&&t(te)});var ne=u(x,2),re=t=>{var r=ot(),i=d(r,!0);h(r),o(e=>T(i,e),[()=>D(e(n).qualityCount,`calidad`,`calidad`)]),l(t,r)};g(ne,t=>{e(n).qualityCount&&t(re)}),h(m);var ie=u(m,2),ae=t=>{var r=st(),i=d(r,!0);h(r),o(()=>T(i,e(n).intent)),l(t,r)};g(ie,t=>{e(n).intent&&t(ae)}),h(i);var C=u(i,2),w=d(C),oe=u(w,2),se=t=>{var r=ct(),i=d(r);h(r),c(`click`,i,t=>{t.stopPropagation(),$t(e(n))}),l(t,r)};g(oe,t=>{e(F)===e(n).id&&t(se)}),h(C),h(r),o((t,r,a)=>{S(i,`href`,t),T(f,e(n).branch||`—`),T(ee,r),T(v,`vs ${(e(n).base||`develop`)??``}`),T(b,a),S(w,`aria-label`,`Más acciones para ${(e(n).branch||`reporte`)??``}`),S(w,`aria-expanded`,e(F)===e(n).id)},[()=>ce(`/report/${e(n).id}`),()=>Zt(e(n).savedAt),()=>D(e(n).groupCount,`tema`,`temas`)]),c(`click`,w,t=>{t.preventDefault(),t.stopPropagation(),Qt(e(n).id)}),l(t,r)}),h(n),l(t,n)},wr=e=>{l(e,dt())};g(Sr,t=>{e(yt).length?t(Cr):t(wr,-1)}),h(xr),h(cn),h(en),o(t=>{S(sn,`href`,t),fn=y(dn,1,`svelte-1uha8ag`,null,fn,{on:e(O).source===`local`}),mn=y(pn,1,`svelte-1uha8ag`,null,mn,{on:e(O).source===`url`}),T(En,e(O).source===`url`?`URL del repo`:`Repo`),S(Q,`placeholder`,e(O).source===`url`?`https://github.com/org/repo.git`:`C:\\path\\to\\repo`),_(Q,e(O).repo),An.disabled=e(R)||e(z),T(jn,e(R)?`Cargando…`:`Cargar`),Un=y(Hn,1,`svelte-1uha8ag`,null,Un,{on:e(ht)===`full`}),Gn=y(Wn,1,`svelte-1uha8ag`,null,Gn,{on:e(ht)===`command`}),T(Zn,e(k)),sr=y($,1,`dropzone svelte-1uha8ag`,null,sr,{drag:e(_t),busy:e(V)||e(B)||e(K)}),mr.disabled=e(V)||e(B)||e(K),T(hr,e(B)?`Abriendo…`:`Elegir archivo`)},[()=>ce(`/`)]),c(`click`,dn,()=>Ot(`local`)),c(`click`,pn,()=>Ot(`url`)),c(`input`,Q,e=>J({repo:e.currentTarget.value})),c(`keydown`,Q,e=>{e.key===`Enter`&&(e.preventDefault(),It())}),c(`click`,An,()=>void It()),c(`click`,Hn,()=>i(ht,`full`)),c(`click`,Wn,()=>i(ht,`command`)),x(`dragover`,$,Lt),x(`dragleave`,$,Rt),x(`drop`,$,zt),c(`click`,mr,()=>void Bt()),c(`change`,gr,Vt),l(n,en),v()}n([`click`,`input`,`keydown`,`change`]);export{O as component};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const index = 1;
|
|
2
|
-
const imports = ["_app/immutable/nodes/1.B1c4AH1e.js","_app/immutable/chunks/Dur-vdUf.js","_app/immutable/chunks/C4--ziCr.js","_app/immutable/chunks/tYeNsyIK.js"];
|
|
3
|
-
const stylesheets = [];
|
|
4
|
-
const fonts = [];
|
|
5
|
-
|
|
6
|
-
export { fonts, imports, index, stylesheets };
|
|
7
|
-
//# sourceMappingURL=1-0X6Jp9nH.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const index = 2;
|
|
2
|
-
const imports = ["_app/immutable/nodes/2.Dx-oOpEf.js","_app/immutable/chunks/Dur-vdUf.js","_app/immutable/chunks/C4--ziCr.js","_app/immutable/chunks/D8sAxZVo.js","_app/immutable/chunks/tYeNsyIK.js","_app/immutable/chunks/BZfQ9INH.js"];
|
|
3
|
-
const stylesheets = ["_app/immutable/assets/ThemeToggle.DcT79vPK.css","_app/immutable/assets/2.COsJT9ly.css"];
|
|
4
|
-
const fonts = [];
|
|
5
|
-
|
|
6
|
-
export { fonts, imports, index, stylesheets };
|
|
7
|
-
//# sourceMappingURL=2-HlcVALg6.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const index = 3;
|
|
2
|
-
const imports = ["_app/immutable/nodes/3.C-USexyX.js","_app/immutable/chunks/Dur-vdUf.js","_app/immutable/chunks/C4--ziCr.js","_app/immutable/chunks/D8sAxZVo.js","_app/immutable/chunks/tYeNsyIK.js","_app/immutable/chunks/BZfQ9INH.js"];
|
|
3
|
-
const stylesheets = ["_app/immutable/assets/ThemeToggle.DcT79vPK.css","_app/immutable/assets/3.qhPDz1xQ.css"];
|
|
4
|
-
const fonts = [];
|
|
5
|
-
|
|
6
|
-
export { fonts, imports, index, stylesheets };
|
|
7
|
-
//# sourceMappingURL=3-BN1eS7L2.js.map
|