@coreframe/vite 0.1.14 → 0.1.16

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 +1 @@
1
- const e=[`DATABASE_URL`,`PGDATABASE`,`PGHOST`,`PGPASSWORD`,`PGPORT`,`PGUSER`];function t(t){if(process.env.CLOUDFLARE_ENV!==`development`)return;let n=Object.fromEntries(e.flatMap(e=>{let t=process.env[e];return t?[[e,t]]:[]}));if(Object.keys(n).length!==0)return{vars:{...t.vars,...n}}}export{t as coreframeCloudflareConfig};
1
+ const e=[`DATABASE_URL`,`PGDATABASE`,`PGHOST`,`PGPASSWORD`,`PGPORT`,`PGUSER`,`PORTLESS_URL`];function t(t){if(process.env.CLOUDFLARE_ENV!==`development`)return;let n=Object.fromEntries(e.flatMap(e=>{let t=process.env[e];return t?[[e,t]]:[]}));if(Object.keys(n).length!==0)return{vars:{...t.vars,...n}}}export{t as coreframeCloudflareConfig};
@@ -1,4 +1,4 @@
1
- import{managedDevEvents as e}from"@coreframe/scripts/managed-dev-protocol";import{createContext as t,createElement as n,forwardRef as r,useCallback as i,useContext as a,useEffect as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{createPortal as u}from"react-dom";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";const m=()=>{if(typeof document>`u`)return;let e=document.querySelector(`meta[name="csp-nonce"]`);if(e?.content)return e.content;let t=document.querySelector(`script[nonce]`),n=t?.nonce||t?.getAttribute(`nonce`);if(n)return n},h=(e,t,n)=>{if(typeof document>`u`)return null;let r=`isolet-style-${e}`,i=typeof CSS<`u`&&CSS.escape?CSS.escape(r):r,a=`getElementById`in n?n.getElementById(r):n.querySelector(`#${i}`);if(a)return a.textContent=t,a;let o=document.createElement(`style`);o.id=r;let s=m();return s&&o.setAttribute(`nonce`,s),o.textContent=t,n.appendChild(o),o},g=`data-isolet`,_=(e,t,n={})=>{if(typeof document>`u`)return{host:null,shadowRoot:null,container:t,target:t};let r=n.isolation??`shadow-dom`;if(r===`none`){let r=`[${g}="${e}"]`,i=t.querySelector(r);if(i)return{host:i,shadowRoot:null,container:i,target:t};let a=document.createElement(`div`);if(a.setAttribute(g,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))a.setAttribute(e,t);return v(a,n),n.css&&h(e,n.css,t),t.appendChild(a),{host:a,shadowRoot:null,container:a,target:t}}let i=`[${g}="${e}"]`,a=t.querySelector(i);if(a){if(r===`shadow-dom`&&a.shadowRoot){let e=a.shadowRoot.querySelector(`[${g}-root]`);if(e)return{host:a,shadowRoot:a.shadowRoot,container:e,target:t}}else if(r===`scoped`)return{host:a,shadowRoot:null,container:a,target:t}}let o=document.createElement(`div`);if(o.setAttribute(g,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))o.setAttribute(e,t);if(r===`shadow-dom`){o.style.all=`initial`;let r=o.attachShadow({mode:n.shadowMode??`open`});n.css&&h(e,n.css,r);let i=document.createElement(`div`);return i.setAttribute(`${g}-root`,``),r.appendChild(i),v(o,n),t.appendChild(o),{host:o,shadowRoot:r,container:i,target:t}}return v(o,n),n.css&&h(e,n.css,t),t.appendChild(o),{host:o,shadowRoot:null,container:o,target:t}},v=(e,t)=>{if(t.hostStyles)for(let[n,r]of Object.entries(t.hostStyles))r==null||typeof r==`function`||e.style.setProperty(n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),String(r));t.zIndex!=null&&(e.style.zIndex=String(t.zIndex))},y=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),ee=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),b=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),x=e=>{
1
+ import{managedDevEvents as e}from"@coreframe/scripts/managed-dev-protocol";import{createContext as t,createElement as n,forwardRef as r,useCallback as i,useContext as a,useEffect as o,useRef as s,useState as c,useSyncExternalStore as l}from"react";import{createPortal as u}from"react-dom";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";const m=()=>{if(typeof document>`u`)return;let e=document.querySelector(`meta[name="csp-nonce"]`);if(e?.content)return e.content;let t=document.querySelector(`script[nonce]`),n=t?.nonce||t?.getAttribute(`nonce`);if(n)return n},h=(e,t,n)=>{if(typeof document>`u`)return null;let r=`isolet-style-${e}`,i=typeof CSS<`u`&&CSS.escape?CSS.escape(r):r,a=`getElementById`in n?n.getElementById(r):n.querySelector(`#${i}`);if(a)return a.textContent=t,a;let o=document.createElement(`style`);o.id=r;let s=m();return s&&o.setAttribute(`nonce`,s),o.textContent=t,n.appendChild(o),o},g=`data-isolet`,_=(e,t,n={})=>{if(typeof document>`u`)return{host:null,shadowRoot:null,container:t,target:t};let r=n.isolation??`shadow-dom`;if(r===`none`){let r=`[${g}="${e}"]`,i=t.querySelector(r);if(i)return{host:i,shadowRoot:null,container:i,target:t};let a=document.createElement(`div`);if(a.setAttribute(g,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))a.setAttribute(e,t);return v(a,n),n.css&&h(e,n.css,t),t.appendChild(a),{host:a,shadowRoot:null,container:a,target:t}}let i=`[${g}="${e}"]`,a=t.querySelector(i);if(a){if(r===`shadow-dom`&&a.shadowRoot){let e=a.shadowRoot.querySelector(`[${g}-root]`);if(e)return{host:a,shadowRoot:a.shadowRoot,container:e,target:t}}else if(r===`scoped`)return{host:a,shadowRoot:null,container:a,target:t}}let o=document.createElement(`div`);if(o.setAttribute(g,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))o.setAttribute(e,t);if(r===`shadow-dom`){o.style.all=`initial`;let r=o.attachShadow({mode:n.shadowMode??`open`});n.css&&h(e,n.css,r);let i=document.createElement(`div`);return i.setAttribute(`${g}-root`,``),r.appendChild(i),v(o,n),t.appendChild(o),{host:o,shadowRoot:r,container:i,target:t}}return v(o,n),n.css&&h(e,n.css,t),t.appendChild(o),{host:o,shadowRoot:null,container:o,target:t}},v=(e,t)=>{if(t.hostStyles)for(let[n,r]of Object.entries(t.hostStyles))r==null||typeof r==`function`||e.style.setProperty(n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),String(r));t.zIndex!=null&&(e.style.zIndex=String(t.zIndex))},y=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),b=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),x=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),S=e=>{
2
2
  /**
3
3
  * @license lucide-react v1.24.0 - ISC
4
4
  *
@@ -23,21 +23,21 @@ import{managedDevEvents as e}from"@coreframe/scripts/managed-dev-protocol";impor
23
23
  * This source code is licensed under the ISC license.
24
24
  * See the LICENSE file in the root directory of this source tree.
25
25
  */
26
- let t=b(e);return t.charAt(0).toUpperCase()+t.slice(1)};
26
+ let t=x(e);return t.charAt(0).toUpperCase()+t.slice(1)};
27
27
  /**
28
28
  * @license lucide-react v1.24.0 - ISC
29
29
  *
30
30
  * This source code is licensed under the ISC license.
31
31
  * See the LICENSE file in the root directory of this source tree.
32
32
  */
33
- var S={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`};
33
+ var C={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`};
34
34
  /**
35
35
  * @license lucide-react v1.24.0 - ISC
36
36
  *
37
37
  * This source code is licensed under the ISC license.
38
38
  * See the LICENSE file in the root directory of this source tree.
39
39
  */
40
- const C=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},w=t({}),T=()=>a(w),E=r(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>{
40
+ const ee=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},w=t({}),T=()=>a(w),te=r(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>{
41
41
  /**
42
42
  * @license lucide-react v1.24.0 - ISC
43
43
  *
@@ -50,14 +50,14 @@ const C=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)ret
50
50
  * This source code is licensed under the ISC license.
51
51
  * See the LICENSE file in the root directory of this source tree.
52
52
  */
53
- let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=T()??{},h=i??f?Number(r??d)*24/Number(t??u):r??d;return n(`svg`,{ref:l,...S,width:t??u??S.width,height:t??u??S.height,stroke:e??p,strokeWidth:h,className:y(`lucide`,m,a),...!o&&!C(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>n(e,t)),...Array.isArray(o)?o:[o]])}),D=(e,t)=>{
53
+ let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=T()??{},h=i??f?Number(r??d)*24/Number(t??u):r??d;return n(`svg`,{ref:l,...C,width:t??u??C.width,height:t??u??C.height,stroke:e??p,strokeWidth:h,className:y(`lucide`,m,a),...!o&&!ee(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>n(e,t)),...Array.isArray(o)?o:[o]])}),E=(e,t)=>{
54
54
  /**
55
55
  * @license lucide-react v1.24.0 - ISC
56
56
  *
57
57
  * This source code is licensed under the ISC license.
58
58
  * See the LICENSE file in the root directory of this source tree.
59
59
  */
60
- let i=r(({className:r,...i},a)=>n(E,{ref:a,iconNode:t,className:y(`lucide-${ee(x(e))}`,`lucide-${e}`,r),...i}));return i.displayName=x(e),i},O=D(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),k=D(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),A=D(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),j=D(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),M=D(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),N=D(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=D(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]])
60
+ let i=r(({className:r,...i},a)=>n(te,{ref:a,iconNode:t,className:y(`lucide-${b(S(e))}`,`lucide-${e}`,r),...i}));return i.displayName=S(e),i},D=E(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),O=E(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),k=E(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),A=E(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),j=E(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),M=E(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),N=E(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=E(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]])
61
61
  /**
62
62
  * @license lucide-react v1.24.0 - ISC
63
63
  *
@@ -100,5 +100,11 @@ let i=r(({className:r,...i},a)=>n(E,{ref:a,iconNode:t,className:y(`lucide-${ee(x
100
100
  * This source code is licensed under the ISC license.
101
101
  * See the LICENSE file in the root directory of this source tree.
102
102
  */
103
- ;function te(){return import.meta.hot}var F={actionError:`actionError`,actions:`actions`,actionSuccess:`actionSuccess`,button:`button`,checkbox:`checkbox`,content:`content`,dialog:`dialog`,errorIcon:`errorIcon`,filePath:`filePath`,files:`files`,header:`header`,iconButton:`iconButton`,indicatorButton:`indicatorButton`,indicatorDot:`indicatorDot`,message:`message`,paragraph:`paragraph`,primary:`primary`,radiate:`radiate`,successIcon:`successIcon`,title:`title`,warning:`warning`},ne=`[data-isolet-root]{color-scheme:light dark;font:14px/1.45 system-ui,sans-serif}.indicatorButton{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:10px;right:10px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:0 0 0 1px color-mix(in srgb, Canvas 70%, transparent);height:var(--managed-dev-indicator-size);width:var(--managed-dev-indicator-size);border-radius:50%;display:block;position:relative}.indicatorDot:before{border:max(1px, calc(var(--managed-dev-indicator-size) / 9)) solid var(--managed-dev-indicator-color);border-radius:inherit;content:"";animation:1.8s ease-out infinite radiate;position:absolute;inset:0}.dialog{border:1px solid color-mix(in srgb, CanvasText 18%, transparent);color:canvastext;box-sizing:border-box;pointer-events:auto;background:canvas;border-radius:14px;width:min(430px,100vw - 36px);max-width:min(430px,100vw - 36px);max-height:min(620px,100dvh - 80px);margin:0;padding:18px;position:fixed;inset:auto 18px 62px auto;overflow:auto;box-shadow:0 18px 60px #0005}.dialog[open]{gap:12px;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:16px}.iconButton{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;display:inline-flex}.content{gap:12px;display:grid}.paragraph{margin:0}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.filePath{font-family:ui-monospace,monospace}.message{box-sizing:border-box;resize:vertical;width:100%;min-height:92px;font-family:ui-monospace,monospace}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.button{border:1px solid color-mix(in srgb, CanvasText 22%, transparent);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;transition:opacity .14s;display:inline-flex}.primary{color:#fff;background:#2563eb;border-color:#2563eb}.button:disabled{cursor:wait;opacity:.55}.warning{color:#b45309;white-space:pre-wrap}.actionError{background:color-mix(in srgb, #facc15 18%, Canvas);color:color-mix(in srgb, #854d0e 82%, CanvasText);white-space:pre-wrap;border:1px solid #ca8a0485;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:10px;display:grid}.actionSuccess{background:color-mix(in srgb, #22c55e 16%, Canvas);color:color-mix(in srgb, #166534 82%, CanvasText);border:1px solid #16a34a7a;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:10px;display:grid}.errorIcon,.successIcon{margin-top:1px}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (width<=600px){.dialog{width:auto;max-height:calc(100dvh - 86px);padding:16px;inset:auto 12px 62px}.button{min-height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}
104
- `;let I=!1,L=0;const R=new Set;function z(){B(!I)}function B(e){if(I!==e){I=e;for(let e of R)e()}}function V({indicator:e=f(H,{})}){let[t,n]=c(null),{act:r,dismissError:i,dismissSuccess:a,error:s,status:d,success:m}=re(),h=l(Z,Q,$);return o(()=>{let e=!0,t=_(`coreframe-managed-dev`,document.body,{css:ne,hostAttributes:{"aria-live":`polite`,id:`coreframe-managed-dev`},hostStyles:{inset:`0`,pointerEvents:`none`,position:`fixed`},zIndex:2147483647});return queueMicrotask(()=>{e&&n(t.container)}),()=>{e=!1,t.host?.remove()}},[]),o(()=>{if(!m)return;let e=setTimeout(()=>{a(),B(!1)},1600);return()=>clearTimeout(e)},[a,m]),t?u(p(`div`,{className:F.surface,children:[Y(d)?e:null,h?f(U,{act:r,dismissError:i,error:s,status:d,success:m}):null]}),t):null}function H({color:e=`#2563eb`,size:t=14}){let n=l(Z,Q,$),r={"--managed-dev-indicator-color":e,"--managed-dev-indicator-size":typeof t==`number`?`${t}px`:t};return f(`button`,{"aria-controls":`coreframe-managed-dev-dialog`,"aria-expanded":n,"aria-label":`${n?`Hide`:`Show`} Coreframe managed development`,className:F.indicatorButton,onClick:z,style:r,type:`button`,children:f(`span`,{className:F.indicatorDot})})}function U({act:e,dismissError:t,error:n,status:r,success:i}){let[a,o]=c({value:``}),[s,l]=c(()=>({paths:new Set})),u=r?.draft,m=r?.target,h=s.fingerprint===u?.fingerprint?s.paths:new Set(u?.untracked??[]),g=a.fingerprint===u?.fingerprint&&a.proposal===r?.proposal?a.value:r?.proposal??``,_=!!(u?.untracked.length&&u.untracked.every(e=>h.has(e)));return p(`dialog`,{"aria-labelledby":`coreframe-managed-title`,className:F.dialog,id:`coreframe-managed-dev-dialog`,open:!0,children:[p(`div`,{className:F.header,children:[f(`h2`,{className:F.title,id:`coreframe-managed-title`,children:i?.heading??q(r)}),f(`button`,{"aria-label":`Close managed development`,className:F.iconButton,onClick:z,type:`button`,children:f(P,{"aria-hidden":`true`,size:18})})]}),p(`div`,{className:F.content,children:[i?p(`div`,{className:F.actionSuccess,role:`status`,children:[f(O,{"aria-hidden":`true`,className:F.successIcon,size:18}),f(`p`,{className:F.paragraph,children:i.message})]}):null,n?p(`div`,{className:F.actionError,role:`alert`,children:[f(N,{"aria-hidden":`true`,className:F.errorIcon,size:18}),f(`p`,{className:F.paragraph,children:n}),f(`button`,{"aria-label":`Dismiss error`,className:F.iconButton,onClick:t,type:`button`,children:f(P,{"aria-hidden":`true`,size:16})})]}):null,i?null:f(`p`,{className:F.paragraph,children:r?r.busy||r.message||J(r):`Checking managed development status…`}),!i&&m&&!u?p(`p`,{className:F.paragraph,children:[m.subject,` (`,m.shortCommit,`)`]}):null,i?null:r?.warnings.map((e,t)=>f(`p`,{className:`${F.paragraph} ${F.warning}`,children:e},`${t}-${e}`)),!i&&u?p(d,{children:[p(`div`,{className:F.files,children:[u.untracked.map(e=>f(W,{checked:h.has(e),label:f(`span`,{className:F.filePath,children:e}),onChange:t=>l(()=>{let n=new Set(h);return t?n.add(e):n.delete(e),{fingerprint:u.fingerprint,paths:n}})},e)),u.untracked.length>0?f(W,{checked:_,label:`Include all untracked files`,onChange:e=>l({fingerprint:u.fingerprint,paths:e?new Set(u.untracked):new Set})}):null]}),r.proposal===void 0?p(G,{children:[m?f(K,{busy:r.busy,icon:j,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,f(K,{busy:r.busy,icon:M,onClick:()=>void e({type:`message`,fingerprint:u.fingerprint,untracked:[...h]}),primary:!0,children:`Generate commit message`})]}):p(d,{children:[f(`textarea`,{"aria-label":`Commit message`,className:F.message,onChange:e=>o({fingerprint:u.fingerprint,proposal:r.proposal,value:e.target.value}),value:g}),p(G,{children:[m?f(K,{busy:r.busy,icon:j,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,f(K,{busy:r.busy,icon:k,onClick:()=>{e(m?{type:`apply`,target:m.commit,fingerprint:u.fingerprint,untracked:[...h],message:g}:{type:`commit`,fingerprint:u.fingerprint,untracked:[...h],message:g})},primary:!0,children:m?`Commit and refresh`:`Commit changes`})]})]})]}):!i&&m?f(G,{children:f(K,{busy:r.busy,icon:A,onClick:()=>void e({type:`prepare`,target:m.commit}),primary:!0,children:m.source===`upstream`?`Refresh`:String(m.source)===`dev`?`Sync with dev`:`Sync with main`})}):null]})]})}function W({checked:e,label:t,onChange:n}){return p(`label`,{className:F.checkbox,children:[f(`input`,{checked:e,onChange:e=>n(e.target.checked),type:`checkbox`}),t]})}function G({children:e}){return f(`div`,{className:F.actions,children:e})}function K({busy:e,children:t,icon:n,onClick:r,primary:i=!1}){return p(`button`,{"aria-busy":!!e,className:`${F.button} ${i?F.primary:``}`,disabled:!!e,onClick:r,type:`button`,children:[n?f(n,{"aria-hidden":`true`,size:16}):null,t]})}function q(e){return e?e.mode===`unmanaged`?`Managed development unavailable`:e.mode===`error`?`Managed development stopped`:e.draft?e.proposal===void 0?`Review local changes`:`Confirm your commit`:e.target?.source===`upstream`?`Refresh from upstream`:String(e.target?.source)===`dev`?`Sync with local dev`:e.target?`Sync with local main`:e.warnings.length>0?`Managed development warning`:`Managed development status`:`Checking managed development`}function J(e){return e.mode===`waiting`?`Waiting for managed development to start.`:e.mode===`unmanaged`?`Managed synchronization is unavailable for this session.`:e.mode===`error`?`Managed synchronization stopped.`:e.draft&&!e.target?`Commit the local changes before managed development checks for updates.`:e.target&&e.target.source!==`upstream`?String(e.target?.source)===`dev`?`New changes are available in local dev.`:`New changes are available in local main.`:e.target?`A newer main commit is ready.`:`Managed development is active. No updates are available.`}function Y(e){return!e||e.mode===`waiting`?!1:e.mode===`managed`?!!(e.busy||e.draft||e.message||e.target||e.warnings.length>0):!0}function X(e){return e.type===`apply`?{heading:`Refresh complete`,message:`Your changes were committed and the project is up to date.`}:e.type===`prepare`?{heading:`Refresh complete`,message:`Your project is up to date.`}:e.type===`commit`?{heading:`Changes committed`,message:`Your local changes are committed. Checking for managed development updates…`,preserveDuringStatus:!0}:e.type===`reject`?{heading:`Update dismissed`,message:`No further action is required.`}:{heading:`Action complete`,message:`No further action is required.`}}function re(){let[t,n]=c(),[r,a]=c(),[l,u]=c(),d=s(new Map),f=te();return o(()=>{if(!f)return;let t=d.current,r=({status:e})=>{n(e),Y(e)&&u(e=>e?.preserveDuringStatus?e:void 0)},i=e=>{let r=t.get(e.requestId);r&&(t.delete(e.requestId),e.status&&n(e.status),e.error?a(e.error):e.status&&(r.type===`commit`||!Y(e.status))&&u(X(r)))};return f.on(e.status,r),f.on(e.actionResult,i),f.send(e.statusRequest),()=>{t.clear(),f.off(e.status,r),f.off(e.actionResult,i)}},[f]),{act:async t=>{if(a(void 0),u(void 0),!f){a(`The Vite HMR connection is unavailable.`);return}let n=String(++L);d.current.set(n,t),f.send(e.action,{action:t,requestId:n})},dismissError:()=>a(void 0),dismissSuccess:i(()=>u(void 0),[]),error:r,status:t,success:l}}function Z(e){return R.add(e),()=>R.delete(e)}function Q(){return I}function $(){return!1}export{V as ManagedDevOverlay,H as ManagedDevOverlayIndicator,z as toggleManagedDevOverlay};
103
+ /**
104
+ * @license lucide-react v1.24.0 - ISC
105
+ *
106
+ * This source code is licensed under the ISC license.
107
+ * See the LICENSE file in the root directory of this source tree.
108
+ */
109
+ ;function F(){return import.meta.hot}var I={actionError:`actionError`,actions:`actions`,actionSuccess:`actionSuccess`,button:`button`,checkbox:`checkbox`,checkCommand:`checkCommand`,checkFailure:`checkFailure`,checkMessage:`checkMessage`,codexOutput:`codexOutput`,content:`content`,dialog:`dialog`,errorIcon:`errorIcon`,filePath:`filePath`,files:`files`,header:`header`,iconButton:`iconButton`,indicatorButton:`indicatorButton`,indicatorDot:`indicatorDot`,message:`message`,paragraph:`paragraph`,primary:`primary`,radiate:`radiate`,successIcon:`successIcon`,title:`title`,warning:`warning`},ne=`[data-isolet-root]{color-scheme:light dark;font:14px/1.45 system-ui,sans-serif}.indicatorButton{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:10px;right:10px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:0 0 0 1px color-mix(in srgb, Canvas 70%, transparent);height:var(--managed-dev-indicator-size);width:var(--managed-dev-indicator-size);border-radius:50%;display:block;position:relative}.indicatorDot:before{border:max(1px, calc(var(--managed-dev-indicator-size) / 9)) solid var(--managed-dev-indicator-color);border-radius:inherit;content:"";animation:1.8s ease-out infinite radiate;position:absolute;inset:0}.dialog{border:1px solid color-mix(in srgb, CanvasText 18%, transparent);color:canvastext;box-sizing:border-box;pointer-events:auto;background:canvas;border-radius:14px;width:min(430px,100vw - 36px);max-width:min(430px,100vw - 36px);max-height:min(620px,100dvh - 80px);margin:0;padding:18px;position:fixed;inset:auto 18px 62px auto;overflow:auto;box-shadow:0 18px 60px #0005}.dialog[open]{gap:12px;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:16px}.iconButton{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;display:inline-flex}.content{gap:12px;display:grid}.paragraph{margin:0}.codexOutput{background:color-mix(in srgb, CanvasText 6%, Canvas);border:1px solid color-mix(in srgb, CanvasText 14%, transparent);box-sizing:border-box;white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:280px;margin:0;padding:10px;font:12px/1.5 ui-monospace,monospace;overflow:auto}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.filePath{font-family:ui-monospace,monospace}.message{box-sizing:border-box;resize:vertical;width:100%;min-height:92px;font-family:ui-monospace,monospace}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.button{border:1px solid color-mix(in srgb, CanvasText 22%, transparent);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;transition:opacity .14s;display:inline-flex}.primary{color:#fff;background:#2563eb;border-color:#2563eb}.button:disabled{cursor:wait;opacity:.55}.warning{color:#b45309;white-space:pre-wrap}.checkFailure{background:color-mix(in srgb, #ef4444 10%, Canvas);border:1px solid #dc26266b;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.checkCommand{margin:0;font-family:ui-monospace,monospace;font-weight:600}.checkMessage{margin:3px 0 0;font-size:12px}.actionError{background:color-mix(in srgb, #facc15 18%, Canvas);color:color-mix(in srgb, #854d0e 82%, CanvasText);white-space:pre-wrap;border:1px solid #ca8a0485;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:10px;display:grid}.actionSuccess{background:color-mix(in srgb, #22c55e 16%, Canvas);color:color-mix(in srgb, #166534 82%, CanvasText);border:1px solid #16a34a7a;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:10px;display:grid}.errorIcon,.successIcon{margin-top:1px}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (width<=600px){.dialog{width:auto;max-height:calc(100dvh - 86px);padding:16px;inset:auto 12px 62px}.button{min-height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}
110
+ `;let L=!1,R=0;const z=new Set;function B(){V(!L)}function V(e){if(L!==e){L=e;for(let e of z)e()}}function H({indicator:e=f(U,{})}){let[t,n]=c(null),{act:r,codex:i,dismissError:a,dismissSuccess:s,error:d,status:m,success:h}=ie(),g=l(Z,Q,$);return o(()=>{let e=!0,t=_(`coreframe-managed-dev`,document.body,{css:ne,hostAttributes:{"aria-live":`polite`,id:`coreframe-managed-dev`},hostStyles:{inset:`0`,pointerEvents:`none`,position:`fixed`},zIndex:2147483647});return queueMicrotask(()=>{e&&n(t.container)}),()=>{e=!1,t.host?.remove()}},[]),o(()=>{if(!h||h.persistent)return;let e=setTimeout(()=>{s(),V(!1)},1600);return()=>clearTimeout(e)},[s,h]),t?u(p(`div`,{className:I.surface,children:[X(m)?e:null,g?f(W,{act:r,codex:i,dismissError:a,error:d,status:m,success:h}):null]}),t):null}function U({color:e=`#2563eb`,size:t=14}){let n=l(Z,Q,$),r={"--managed-dev-indicator-color":e,"--managed-dev-indicator-size":typeof t==`number`?`${t}px`:t};return f(`button`,{"aria-controls":`coreframe-managed-dev-dialog`,"aria-expanded":n,"aria-label":`${n?`Hide`:`Show`} Coreframe managed development`,className:I.indicatorButton,onClick:B,style:r,type:`button`,children:f(`span`,{className:I.indicatorDot})})}function W({act:e,codex:t,dismissError:n,error:r,status:i,success:a}){let[l,u]=c({value:``}),[m,h]=c(()=>({paths:new Set})),g=s(null),_=i?.draft,v=i?.target,y=m.fingerprint===_?.fingerprint?m.paths:new Set(_?.untracked??[]),b=l.fingerprint===_?.fingerprint&&l.proposal===i?.proposal?l.value:i?.proposal??``,x=!!(_?.untracked.length&&_.untracked.every(e=>y.has(e)));return o(()=>{let e=g.current;e&&t?.phase===`running`&&(e.scrollTop=e.scrollHeight)},[t]),p(`dialog`,{"aria-labelledby":`coreframe-managed-title`,className:I.dialog,id:`coreframe-managed-dev-dialog`,open:!0,children:[p(`div`,{className:I.header,children:[f(`h2`,{className:I.title,id:`coreframe-managed-title`,children:a?.heading??(t?.phase===`complete`?`Rebase completed.`:t?.phase===`error`?`Rebase failed.`:t?`Rebasing with Codex…`:J(i))}),f(`button`,{"aria-label":`Close managed development`,className:I.iconButton,onClick:B,type:`button`,children:f(P,{"aria-hidden":`true`,size:18})})]}),p(`div`,{className:I.content,children:[a?p(`div`,{className:I.actionSuccess,role:`status`,children:[f(D,{"aria-hidden":`true`,className:I.successIcon,size:18}),f(`p`,{className:I.paragraph,children:a.message})]}):null,r?p(`div`,{className:I.actionError,role:`alert`,children:[f(N,{"aria-hidden":`true`,className:I.errorIcon,size:18}),f(`p`,{className:I.paragraph,children:r}),f(`button`,{"aria-label":`Dismiss error`,className:I.iconButton,onClick:n,type:`button`,children:f(P,{"aria-hidden":`true`,size:16})})]}):null,!a&&t?f(`pre`,{"aria-live":`polite`,className:I.codexOutput,ref:g,role:`log`,children:t.message||`Waiting for Codex output…`}):a?null:f(`p`,{className:I.paragraph,children:i?i.busy||i.message||Y(i):`Checking managed development status…`}),!a&&!t&&v&&!_?p(`p`,{className:I.paragraph,children:[v.subject,` (`,v.shortCommit,`)`]}):null,!a&&!t?i?.warnings.map((e,t)=>f(`p`,{className:`${I.paragraph} ${I.warning}`,children:e},`${t}-${e}`)):null,a?null:i?.checks?.commands.filter(e=>e.status===`failed`).map(e=>p(`div`,{className:I.checkFailure,role:`alert`,children:[p(`div`,{children:[p(`p`,{className:I.checkCommand,children:[e.command,` failed`]}),f(`p`,{className:I.checkMessage,children:`Copy the output and paste it into your agent orchestration tool.`})]}),f(q,{icon:O,onClick:()=>void navigator.clipboard.writeText(e.output??``),children:`Copy output`})]},e.command)),!a&&!t&&_?p(d,{children:[p(`div`,{className:I.files,children:[_.untracked.map(e=>f(G,{checked:y.has(e),label:f(`span`,{className:I.filePath,children:e}),onChange:t=>h(()=>{let n=new Set(y);return t?n.add(e):n.delete(e),{fingerprint:_.fingerprint,paths:n}})},e)),_.untracked.length>0?f(G,{checked:x,label:`Include all untracked files`,onChange:e=>h({fingerprint:_.fingerprint,paths:e?new Set(_.untracked):new Set})}):null]}),i.proposal===void 0?p(K,{children:[v?f(q,{busy:i.busy,icon:j,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,f(q,{busy:i.busy,icon:M,onClick:()=>void e({type:`message`,fingerprint:_.fingerprint,untracked:[...y]}),primary:!0,children:`Generate commit message`})]}):p(d,{children:[f(`textarea`,{"aria-label":`Commit message`,className:I.message,onChange:e=>u({fingerprint:_.fingerprint,proposal:i.proposal,value:e.target.value}),value:b}),p(K,{children:[v?f(q,{busy:i.busy,icon:j,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,f(q,{busy:i.busy,icon:k,onClick:()=>{e(v?{type:`apply`,target:v.commit,fingerprint:_.fingerprint,untracked:[...y],message:b}:{type:`commit`,fingerprint:_.fingerprint,untracked:[...y],message:b})},primary:!0,children:v?`Commit and refresh`:`Commit changes`})]})]})]}):!a&&v?f(K,{children:f(q,{busy:i.busy,icon:A,onClick:()=>void e({type:`prepare`,target:v.commit}),primary:!0,children:v.source===`upstream`?`Refresh`:String(v.source)===`dev`?`Sync with dev`:`Sync with main`})}):null]})]})}function G({checked:e,label:t,onChange:n}){return p(`label`,{className:I.checkbox,children:[f(`input`,{checked:e,onChange:e=>n(e.target.checked),type:`checkbox`}),t]})}function K({children:e}){return f(`div`,{className:I.actions,children:e})}function q({busy:e,children:t,icon:n,onClick:r,primary:i=!1}){return p(`button`,{"aria-busy":!!e,className:`${I.button} ${i?I.primary:``}`,disabled:!!e,onClick:r,type:`button`,children:[n?f(n,{"aria-hidden":`true`,size:16}):null,t]})}function J(e){return e?e.mode===`unmanaged`?`Managed development unavailable`:e.mode===`error`?`Managed development stopped`:e.draft?e.proposal===void 0?`Review local changes`:`Confirm your commit`:e.target?.source===`upstream`?`Refresh from upstream`:String(e.target?.source)===`dev`?`Sync with local dev`:e.target?`Sync with local main`:e.checks?.commands.some(e=>e.status===`failed`)?`Managed development checks failed`:e.warnings.length>0?`Managed development warning`:`Managed development status`:`Checking managed development`}function Y(e){return e.mode===`waiting`?`Waiting for managed development to start.`:e.mode===`unmanaged`?`Managed synchronization is unavailable for this session.`:e.mode===`error`?`Managed synchronization stopped.`:e.draft&&!e.target?`Commit the local changes before managed development checks for updates.`:e.target&&e.target.source!==`upstream`?String(e.target?.source)===`dev`?`New changes are available in local dev.`:`New changes are available in local main.`:e.target?`A newer main commit is ready.`:`Managed development is active. No updates are available.`}function X(e){return!e||e.mode===`waiting`?!1:e.mode!==`managed`||e.checks?.commands.some(e=>e.status===`failed`)?!0:!!(e.busy||e.draft||e.message||e.target||e.warnings.length>0)}function re(e){return e.type===`apply`?{heading:`Refresh complete`,message:`Your changes were committed and the project is up to date.`}:e.type===`prepare`?{heading:`Refresh complete`,message:`Your project is up to date.`}:e.type===`commit`?{heading:`Changes committed`,message:`Your local changes are committed. Checking for managed development updates…`,preserveDuringStatus:!0}:e.type===`reject`?{heading:`Update dismissed`,message:`No further action is required.`}:{heading:`Action complete`,message:`No further action is required.`}}function ie(){let[t,n]=c(),[r,a]=c(),[l,u]=c(),[d,f]=c(),p=s(void 0),m=s(new Map),h=F();return o(()=>{if(!h)return;let t=m.current,r=({status:e})=>{n(e),X(e)&&u(e=>e?.preserveDuringStatus?e:void 0)},i=e=>{let r=t.get(e.requestId);if(r){if(t.delete(e.requestId),e.status&&n(e.status),e.error)a(e.error);else if(e.status&&(r.type===`commit`||!X(e.status))){let t=p.current;t?.requestId===e.requestId&&t.phase===`complete`?(u({heading:`Rebase completed.`,message:t.message||`Codex resolved the conflicts.`,persistent:!0}),p.current=void 0,f(void 0)):u(re(r))}}},o=e=>{if(!t.has(e.requestId))return;if(e.phase===`start`){let t={message:``,phase:`running`,requestId:e.requestId};p.current=t,f(t),V(!0);return}let n=p.current;if(!n||n.requestId!==e.requestId)return;let r=e.phase===`stderr`?{...n,message:`${n.message}${e.text}`.slice(-1e5)}:e.phase===`complete`?{message:e.message||`Codex resolved the conflicts.`,phase:`complete`,requestId:e.requestId}:{...n,phase:`error`};p.current=r,f(r)};return h.on(e.status,r),h.on(e.actionResult,i),h.on(e.codex,o),h.send(e.statusRequest),()=>{t.clear(),p.current=void 0,h.off(e.status,r),h.off(e.actionResult,i),h.off(e.codex,o)}},[h]),{act:async t=>{if(a(void 0),u(void 0),p.current=void 0,f(void 0),!h){a(`The Vite HMR connection is unavailable.`);return}let n=String(++R);m.current.set(n,t),h.send(e.action,{action:t,requestId:n})},codex:d,dismissError:()=>a(void 0),dismissSuccess:i(()=>u(void 0),[]),error:r,status:t,success:l}}function Z(e){return z.add(e),()=>z.delete(e)}function Q(){return L}function $(){return!1}export{H as ManagedDevOverlay,U as ManagedDevOverlayIndicator,B as toggleManagedDevOverlay};
@@ -1 +1 @@
1
- import{readProjectConfig as e}from"@coreframe/scripts/config";import{startManagedDevSession as t}from"@coreframe/scripts/managed-dev";import{managedDevEnv as n,managedDevEvents as r}from"@coreframe/scripts/managed-dev-protocol";function i({env:i=process.env,startSession:s=t}={}){let c=i[n]===`1`,l;return{name:`coreframe:managed-dev`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_MANAGED_DEV":JSON.stringify(c)}}},async configureServer(t){if(!c)return;let n=t.config.root;l=await s({config:await e({cwd:n}),cwd:n,env:i,onRestart:()=>queueMicrotask(()=>void t.restart()),onStatusChange:()=>t.ws.send(r.status,{status:l.getStatus()})}),await l.activate();let u=(e,t)=>t.send(r.status,{status:l.getStatus()}),d=async(e,n)=>{let i;if(!o(a(n)))i=Error(`Managed development actions require a loopback client.`);else try{let t=await l.action(e.action);n.send(r.actionResult,{requestId:e.requestId,...t});return}catch(e){i=e}let s=i instanceof Error?i.message:String(i);t.config.logger.error(`Coreframe managed development action failed: ${s}`,{error:i instanceof Error?i:void 0}),n.send(r.actionResult,{error:s,requestId:e.requestId,status:l.getStatus()})};t.ws.on(r.statusRequest,u),t.ws.on(r.action,d),t.httpServer?.once(`close`,()=>{t.ws.off(r.statusRequest,u),t.ws.off(r.action,d),l?.close()})},async closeBundle(){await l?.close()}}}function a(e){return e.socket._socket?.remoteAddress}function o(e){return e===`127.0.0.1`||e===`::1`||e?.startsWith(`::ffff:127.`)}export{i as coreframeManagedDevPlugin};
1
+ import{readProjectConfig as e}from"@coreframe/scripts/config";import{startManagedDevSession as t}from"@coreframe/scripts/managed-dev";import{managedDevEnv as n,managedDevEvents as r}from"@coreframe/scripts/managed-dev-protocol";function i({env:i=process.env,startSession:a=t}={}){let o=i[n]===`1`,l;return{name:`coreframe:managed-dev`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_MANAGED_DEV":JSON.stringify(o)}}},async configureServer(t){if(!o)return;let n=t.config.root,u=new WeakMap,d=(e,t)=>{u.set(t,{forwardedFor:c(e.headers[`x-forwarded-for`]),forwardedHost:c(e.headers[`x-forwarded-host`]),forwardedProto:c(e.headers[`x-forwarded-proto`])})};t.httpServer?.prependListener(`upgrade`,d),l=await a({config:await e({cwd:n}),cwd:n,env:i,onRestart:()=>queueMicrotask(()=>void t.restart()),onStatusChange:()=>t.ws.send(r.status,{status:l.getStatus()})}),await l.activate();let f=(e,t)=>t.send(r.status,{status:l.getStatus()}),p=async(e,n)=>{let a;if(!s(n,i,u))a=Error(`Managed development actions require a loopback client.`);else try{let t=await l.action(e.action,{onCodexEvent:t=>n.send(r.codex,{...t,requestId:e.requestId})});n.send(r.actionResult,{requestId:e.requestId,...t});return}catch(e){a=e}let o=a instanceof Error?a.message:String(a);t.config.logger.error(`Coreframe managed development action failed: ${o}`,{error:a instanceof Error?a:void 0}),n.send(r.actionResult,{error:o,requestId:e.requestId,status:l.getStatus()})};t.ws.on(r.statusRequest,f),t.ws.on(r.action,p),t.httpServer?.once(`close`,()=>{t.httpServer?.off(`upgrade`,d),t.ws.off(r.statusRequest,f),t.ws.off(r.action,p),l?.close()})},async closeBundle(){await l?.close()}}}function a(e){return e.socket._socket?.remoteAddress}function o(e){return e.socket._socket}function s(e,t,n){if(!u(a(e)))return!1;let r=t.PORTLESS_URL;if(!r)return!0;if(l(t))return!1;let i=o(e),s=i&&n.get(i);if(!s)return!1;let c;try{c=new URL(r)}catch{return!1}let d=c.protocol.slice(0,-1),f=s.forwardedFor?.split(`,`).map(e=>e.trim());return c.protocol===`https:`&&s.forwardedHost?.toLowerCase()===c.host&&s.forwardedProto?.toLowerCase()===d&&f!==void 0&&f.length>0&&f.every(e=>e.length>0&&u(e))}function c(e){return typeof e==`string`?e:void 0}function l(e){return e.PORTLESS_LAN===`1`||e.PORTLESS_TAILSCALE===`1`||e.PORTLESS_FUNNEL===`1`||e.PORTLESS_NGROK===`1`||!!e.PORTLESS_TAILSCALE_URL||!!e.PORTLESS_NGROK_URL}function u(e){return e===`127.0.0.1`||e===`::1`||e?.startsWith(`::ffff:127.`)}export{i as coreframeManagedDevPlugin};
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- [data-isolet-root]{color-scheme:light dark;font:14px/1.45 system-ui,sans-serif}.indicatorButton{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:10px;right:10px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:0 0 0 1px color-mix(in srgb, Canvas 70%, transparent);height:var(--managed-dev-indicator-size);width:var(--managed-dev-indicator-size);border-radius:50%;display:block;position:relative}.indicatorDot:before{border:max(1px, calc(var(--managed-dev-indicator-size) / 9)) solid var(--managed-dev-indicator-color);border-radius:inherit;content:"";animation:1.8s ease-out infinite radiate;position:absolute;inset:0}.dialog{border:1px solid color-mix(in srgb, CanvasText 18%, transparent);color:canvastext;box-sizing:border-box;pointer-events:auto;background:canvas;border-radius:14px;width:min(430px,100vw - 36px);max-width:min(430px,100vw - 36px);max-height:min(620px,100dvh - 80px);margin:0;padding:18px;position:fixed;inset:auto 18px 62px auto;overflow:auto;box-shadow:0 18px 60px #0005}.dialog[open]{gap:12px;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:16px}.iconButton{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;display:inline-flex}.content{gap:12px;display:grid}.paragraph{margin:0}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.filePath{font-family:ui-monospace,monospace}.message{box-sizing:border-box;resize:vertical;width:100%;min-height:92px;font-family:ui-monospace,monospace}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.button{border:1px solid color-mix(in srgb, CanvasText 22%, transparent);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;transition:opacity .14s;display:inline-flex}.primary{color:#fff;background:#2563eb;border-color:#2563eb}.button:disabled{cursor:wait;opacity:.55}.warning{color:#b45309;white-space:pre-wrap}.actionError{background:color-mix(in srgb, #facc15 18%, Canvas);color:color-mix(in srgb, #854d0e 82%, CanvasText);white-space:pre-wrap;border:1px solid #ca8a0485;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:10px;display:grid}.actionSuccess{background:color-mix(in srgb, #22c55e 16%, Canvas);color:color-mix(in srgb, #166534 82%, CanvasText);border:1px solid #16a34a7a;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:10px;display:grid}.errorIcon,.successIcon{margin-top:1px}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (width<=600px){.dialog{width:auto;max-height:calc(100dvh - 86px);padding:16px;inset:auto 12px 62px}.button{min-height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}
1
+ [data-isolet-root]{color-scheme:light dark;font:14px/1.45 system-ui,sans-serif}.indicatorButton{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:10px;right:10px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:0 0 0 1px color-mix(in srgb, Canvas 70%, transparent);height:var(--managed-dev-indicator-size);width:var(--managed-dev-indicator-size);border-radius:50%;display:block;position:relative}.indicatorDot:before{border:max(1px, calc(var(--managed-dev-indicator-size) / 9)) solid var(--managed-dev-indicator-color);border-radius:inherit;content:"";animation:1.8s ease-out infinite radiate;position:absolute;inset:0}.dialog{border:1px solid color-mix(in srgb, CanvasText 18%, transparent);color:canvastext;box-sizing:border-box;pointer-events:auto;background:canvas;border-radius:14px;width:min(430px,100vw - 36px);max-width:min(430px,100vw - 36px);max-height:min(620px,100dvh - 80px);margin:0;padding:18px;position:fixed;inset:auto 18px 62px auto;overflow:auto;box-shadow:0 18px 60px #0005}.dialog[open]{gap:12px;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:16px}.iconButton{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;display:inline-flex}.content{gap:12px;display:grid}.paragraph{margin:0}.codexOutput{background:color-mix(in srgb, CanvasText 6%, Canvas);border:1px solid color-mix(in srgb, CanvasText 14%, transparent);box-sizing:border-box;white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:280px;margin:0;padding:10px;font:12px/1.5 ui-monospace,monospace;overflow:auto}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.filePath{font-family:ui-monospace,monospace}.message{box-sizing:border-box;resize:vertical;width:100%;min-height:92px;font-family:ui-monospace,monospace}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.button{border:1px solid color-mix(in srgb, CanvasText 22%, transparent);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;transition:opacity .14s;display:inline-flex}.primary{color:#fff;background:#2563eb;border-color:#2563eb}.button:disabled{cursor:wait;opacity:.55}.warning{color:#b45309;white-space:pre-wrap}.checkFailure{background:color-mix(in srgb, #ef4444 10%, Canvas);border:1px solid #dc26266b;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.checkCommand{margin:0;font-family:ui-monospace,monospace;font-weight:600}.checkMessage{margin:3px 0 0;font-size:12px}.actionError{background:color-mix(in srgb, #facc15 18%, Canvas);color:color-mix(in srgb, #854d0e 82%, CanvasText);white-space:pre-wrap;border:1px solid #ca8a0485;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:10px;display:grid}.actionSuccess{background:color-mix(in srgb, #22c55e 16%, Canvas);color:color-mix(in srgb, #166534 82%, CanvasText);border:1px solid #16a34a7a;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:10px;display:grid}.errorIcon,.successIcon{margin-top:1px}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (width<=600px){.dialog{width:auto;max-height:calc(100dvh - 86px);padding:16px;inset:auto 12px 62px}.button{min-height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreframe/vite",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/airlock-labs/coreframe.git",
@@ -54,9 +54,9 @@
54
54
  "@svgr/plugin-jsx": "^8.1.0",
55
55
  "lucide-react": "^1.24.0",
56
56
  "unplugin-icons": "^23.0.1",
57
- "@coreframe/dashboard": "^0.2.5",
58
- "@coreframe/lib": "^0.1.6",
59
- "@coreframe/scripts": "^0.1.27"
57
+ "@coreframe/dashboard": "^0.2.6",
58
+ "@coreframe/lib": "^0.1.8",
59
+ "@coreframe/scripts": "^0.1.28"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@tsdown/css": "0.22.3",