@coreframe/vite 0.2.50 → 0.2.52
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.
|
@@ -172,6 +172,6 @@ let n=u(({className:n,...r},i)=>l(F,{ref:i,iconNode:t,className:O(`lucide-${k(j(
|
|
|
172
172
|
|
|
173
173
|
[data-isolet-root]{--overlay-font-body:"SN Pro Variable", system-ui, sans-serif;--overlay-font-monospace:"Google Sans Code Variable", ui-monospace, monospace;color-scheme:light dark;--oc-white:#fff;--oc-gray-0:#f8f9fa;--oc-gray-1:#f1f3f5;--oc-gray-2:#e9ecef;--oc-gray-3:#dee2e6;--oc-gray-4:#ced4da;--oc-gray-5:#adb5bd;--oc-gray-6:#868e96;--oc-gray-7:#495057;--oc-gray-8:#343a40;--oc-gray-9:#212529;--oc-red-0:#fff5f5;--oc-red-2:#ffc9c9;--oc-red-7:#f03e3e;--oc-red-9:#c92a2a;--oc-grape-0:#f8f0fc;--oc-grape-2:#eebefa;--oc-grape-7:#ae3ec9;--oc-grape-9:#862e9c;--oc-blue-0:#e7f5ff;--oc-blue-2:#a5d8ff;--oc-blue-4:#4dabf7;--oc-blue-6:#228be6;--oc-blue-7:#1c7ed6;--oc-blue-9:#1864ab;--oc-green-0:#ebfbee;--oc-green-2:#b2f2bb;--oc-green-7:#37b24d;--oc-green-9:#2b8a3e;--oc-yellow-0:#fff9db;--oc-yellow-2:#ffec99;--oc-yellow-7:#f59f00;--oc-yellow-9:#e67700;--overlay-background:var(--oc-white);--overlay-surface-subtle:var(--oc-gray-0);--overlay-surface-muted:var(--oc-gray-1);--overlay-border:var(--oc-gray-3);--overlay-border-strong:var(--oc-gray-4);--overlay-text:var(--oc-gray-9);--overlay-text-muted:var(--oc-gray-7);--overlay-text-subtle:var(--oc-gray-6);--overlay-accent:var(--oc-blue-6);--overlay-accent-hover:var(--oc-blue-7);--overlay-accent-soft:var(--oc-blue-0);--overlay-accent-border:var(--oc-blue-2);--overlay-accent-text:var(--oc-blue-9);--overlay-thought-soft:var(--oc-grape-0);--overlay-thought-border:var(--oc-grape-2);--overlay-thought-text:var(--oc-grape-9);--overlay-success-soft:var(--oc-green-0);--overlay-success-border:var(--oc-green-2);--overlay-success-text:var(--oc-green-9);--overlay-warning-soft:var(--oc-yellow-0);--overlay-warning-border:var(--oc-yellow-2);--overlay-warning-text:var(--oc-yellow-9);--overlay-danger-soft:var(--oc-red-0);--overlay-danger-border:var(--oc-red-2);--overlay-danger-text:var(--oc-red-9);color:var(--overlay-text);font:14px/1.45 var(--overlay-font-body)}.surface{--managed-dev-bottom-offset:0px;--managed-dev-right-offset:0px}.indicatorButton{appearance:none;bottom:calc(10px + env(safe-area-inset-bottom,0px) + var(--managed-dev-bottom-offset));cursor:pointer;pointer-events:auto;height:44px;right:calc(10px + env(safe-area-inset-right,0px) + var(--managed-dev-right-offset));background:0 0;border:0;justify-content:center;align-items:center;width:44px;padding:0;display:flex;position:fixed}.indicatorButton:focus-visible{outline:3px solid var(--overlay-accent-border);outline-offset:-3px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:inset 0 0 0 .5px color-mix(in srgb, var(--overlay-border) 30%, 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{background:var(--overlay-background);border:1px solid var(--overlay-border);box-shadow:0 18px 60px color-mix(in srgb, var(--oc-gray-9) 28%, transparent), 0 2px 8px color-mix(in srgb, var(--oc-gray-9) 12%, transparent);color:var(--overlay-text);box-sizing:border-box;height:auto;bottom:20px;left:unset;overscroll-behavior:contain;pointer-events:auto;border-radius:12px;width:min(520px,100vw - 18px);max-width:min(520px,100vw - 18px);max-height:none;margin:0;padding:12px 18px;position:fixed;right:20px;overflow:hidden}.dialog[open]{flex-direction:column;gap:12px;display:flex}.drawerBody{align-content:start;gap:16px;min-height:80px;display:grid;overflow:auto}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.headerActions{align-items:center;display:flex}.developmentControlsDropdown{display:flex;position:relative}.title{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.titleIcon{color:var(--overlay-accent);flex:none}.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}.iconButton:hover{background:var(--overlay-surface-muted);border-radius:8px}.iconButton:focus-visible,.scenarioButton:focus-visible,.sectionLink:focus-visible,.button:focus-visible,.message:focus-visible{outline:3px solid var(--overlay-accent-border);outline-offset:2px}.content{gap:12px;display:grid}.section{background:var(--overlay-surface-subtle);border:1px solid var(--overlay-border);border-radius:12px;gap:12px;padding:14px;display:grid}.sectionHeading{justify-content:space-between;align-items:start;gap:12px;display:flex}.sectionTitle{margin:0;font-size:13px}.sectionDescription{color:var(--overlay-text-muted);margin:3px 0 0;font-size:12px}.sectionLink{color:var(--overlay-accent-text);cursor:pointer;font:inherit;background:0 0;border:0;padding:2px;font-size:12px}.debugFooter{background:var(--overlay-thought-soft);border-top:.5px solid var(--overlay-thought-border);color:var(--overlay-thought-text);flex:none;margin:0 -18px -12px;padding:4px 18px;font-size:11px;line-height:1.3}.scenarioList{gap:7px;max-height:min(480px,100dvh - 210px);display:grid;overflow:auto}.scenarioButton{background:var(--overlay-surface-subtle);color:inherit;cursor:pointer;font:inherit;text-align:start;border:1px solid #0000;border-radius:10px;gap:3px;padding:10px;display:grid}.scenarioButton:hover{background:var(--overlay-accent-soft);border-color:var(--overlay-accent-border)}.scenarioLabel{font-weight:650}.scenarioDescription{color:var(--overlay-text-muted);font-size:12px}.paragraph{margin:0}.pendingCommits{background:var(--overlay-surface-subtle);border:1px solid var(--overlay-border);box-sizing:border-box;font:12px/1.5 var(--overlay-font-monospace);white-space:pre-wrap;border-radius:10px;max-height:190px;margin:0;padding:10px;overflow:auto}.codexOutput{background:var(--overlay-surface-subtle);border:1px solid var(--overlay-border);box-sizing:border-box;font:12px/1.5 var(--overlay-font-monospace);white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:280px;margin:0;padding:10px;overflow:auto}.codexWorking{color:var(--overlay-text-muted);font:12px/1.5 var(--overlay-font-monospace)}.codexWorkingSpinner{color:var(--overlay-accent)}.codexTranscript{gap:10px;max-height:360px;display:grid;overflow:auto}.codexMessage{border:1px solid #0000;border-radius:10px;gap:5px;padding:10px;display:grid}.codexMessageUser{background:var(--overlay-accent-soft);border-color:var(--overlay-accent-border)}.codexMessageThought{background:var(--overlay-thought-soft);border-color:var(--overlay-thought-border)}.codexMessageAgent{background:var(--overlay-success-soft);border-color:var(--overlay-success-border)}.codexMessageHeader{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.codexMessageLabel{color:var(--overlay-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:650}.codexMessageAge{color:var(--overlay-text-subtle);white-space:nowrap;font-size:11px}.codexMessageText,.codexWaiting{font:12px/1.5 var(--overlay-font-monospace);white-space:pre-wrap;word-break:break-word;margin:0}.codexWaiting{color:var(--overlay-text-subtle)}.rebaseProgress{gap:8px;display:grid}.rebaseProgressLabel{color:var(--overlay-text-muted);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.rebaseProgressLabel strong{color:var(--overlay-success-text)}.rebaseProgressTrack{background:var(--overlay-surface-muted);border-radius:999px;height:6px;overflow:hidden}.rebaseProgressFill{background:var(--overlay-success-text);border-radius:inherit;height:100%;transition:width .18s;display:block}.codexHistorySummary{cursor:pointer;font-size:12px;font-weight:600}.codexHistoryList{gap:8px;padding-top:8px;display:grid}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.checkbox input{accent-color:var(--overlay-accent)}.filePath{font-family:var(--overlay-font-monospace)}.message{background:var(--overlay-surface-subtle);border:1px solid var(--overlay-border-strong);box-sizing:border-box;color:var(--overlay-text);font-family:var(--overlay-font-monospace);resize:vertical;border-radius:10px;width:100%;min-height:92px;padding:10px}.codexOptions{flex-wrap:wrap;gap:8px 16px;display:flex}.codexOption{align-items:center;gap:6px;display:flex}.codexOptionLabel{color:var(--overlay-text-subtle);font-size:12px}.codexOptionSelect{background:var(--overlay-surface-subtle);border:1px solid var(--overlay-border-strong);color:var(--overlay-text);font:inherit;border-radius:8px;padding:4px 6px}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.developmentControls{background:var(--overlay-background);border:1px solid var(--overlay-border);box-shadow:0 10px 30px color-mix(in srgb, var(--oc-gray-9) 18%, transparent);box-sizing:border-box;z-index:1;border-radius:10px;gap:4px;min-width:170px;max-width:calc(100vw - 32px);margin:0;padding:4px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.developmentControls .actions{justify-content:stretch;align-items:stretch;gap:0;width:100%;display:grid}.developmentControls .button{text-align:start;white-space:nowrap;justify-content:start;justify-self:stretch;width:100%;min-height:32px}.button{border:1px solid var(--overlay-border-strong);cursor:pointer;font:inherit;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;transition:opacity .14s;display:inline-flex}.button:hover:not(:disabled){background:var(--overlay-surface-muted)}.primary{background:var(--overlay-accent);border-color:var(--overlay-accent);color:var(--oc-white)}.primary:hover:not(:disabled){background:var(--overlay-accent-hover);border-color:var(--overlay-accent-hover)}.developmentControls .button{color:inherit;background:0 0;border:0}.developmentControls .button:hover:not(:disabled){background:var(--overlay-surface-muted)}.button:disabled{cursor:wait;opacity:.55}.buttonSpinner{animation:.7s linear infinite button-spin}.iconOnly{box-sizing:border-box;flex:0 0 32px;width:32px;min-width:32px;height:32px;padding:7px}.warning{color:var(--overlay-warning-text);white-space:pre-wrap}.checkFailure{background:var(--overlay-danger-soft);border:1px solid var(--overlay-danger-border);color:var(--overlay-danger-text);border-radius:10px;gap:10px;padding:10px;display:grid}.checkCommand{font-family:var(--overlay-font-monospace);margin:0;font-weight:600}.checkGuidance{margin:3px 0 0;font-size:12px}.setupFailure{background:var(--overlay-danger-soft);border:1px solid var(--overlay-danger-border);color:var(--overlay-danger-text);border-radius:10px;gap:10px;padding:10px;display:grid}.actionError{background:var(--overlay-warning-soft);border:1px solid var(--overlay-warning-border);color:var(--overlay-warning-text);white-space:pre-wrap;border-radius:10px;gap:10px;padding:10px;display:grid}.errorMessage{grid-template-columns:auto 1fr;align-items:start;gap:8px;display:grid}.actionSuccess{background:var(--overlay-success-soft);border:1px solid var(--overlay-success-border);color:var(--overlay-success-text);border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:10px;display:grid}.errorIcon,.successIcon{margin-top:1px}@media (prefers-color-scheme:dark){[data-isolet-root]{--overlay-background:var(--oc-gray-9);--overlay-surface-subtle:var(--oc-gray-8);--overlay-surface-muted:var(--oc-gray-7);--overlay-border:var(--oc-gray-7);--overlay-border-strong:var(--oc-gray-6);--overlay-text:var(--oc-gray-0);--overlay-text-muted:var(--oc-gray-4);--overlay-text-subtle:var(--oc-gray-5);--overlay-accent:var(--oc-blue-6);--overlay-accent-hover:var(--oc-blue-7);--overlay-accent-soft:color-mix(in srgb, var(--oc-blue-9) 32%, var(--overlay-background));--overlay-accent-border:var(--oc-blue-7);--overlay-accent-text:var(--oc-blue-2);--overlay-thought-soft:color-mix(in srgb, var(--oc-grape-9) 30%, var(--overlay-background));--overlay-thought-border:var(--oc-grape-7);--overlay-thought-text:var(--oc-grape-2);--overlay-success-soft:color-mix(in srgb, var(--oc-green-9) 30%, var(--overlay-background));--overlay-success-border:var(--oc-green-7);--overlay-success-text:var(--oc-green-2);--overlay-warning-soft:color-mix(in srgb, var(--oc-yellow-9) 24%, var(--overlay-background));--overlay-warning-border:var(--oc-yellow-7);--overlay-warning-text:var(--oc-yellow-2);--overlay-danger-soft:color-mix(in srgb, var(--oc-red-9) 30%, var(--overlay-background));--overlay-danger-border:var(--oc-red-7);--overlay-danger-text:var(--oc-red-2)}}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes button-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.buttonSpinner{animation:none}}@media (width<=600px){.dialog{max-width:none;padding:calc(16px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));border-radius:0;width:auto;inset:0}.debugFooter{margin:0 calc(-16px - env(safe-area-inset-right,0px)) calc(-16px - env(safe-area-inset-bottom,0px)) calc(-16px - env(safe-area-inset-left,0px));padding:4px calc(16px + env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}.button{min-height:44px}.checkbox{align-items:center;min-height:44px}.iconButton{min-width:44px;min-height:44px}.iconOnly{flex-basis:44px;width:44px;min-width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}.buttonContainer{min-width:0;display:inline-flex}.buttonContainer:focus-visible{outline:2px solid var(--overlay-accent);outline-offset:2px;border-radius:999px}.button:disabled{pointer-events:none}.developmentControls .buttonContainer{width:100%;display:flex}.disabledTooltip{z-index:2147483647;border:1px solid var(--overlay-border-strong);background:var(--overlay-surface-subtle);max-width:min(280px,100vw - 24px);color:var(--overlay-text);pointer-events:none;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.4;position:fixed;transform:translateY(-100%)}.srOnly{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.activityList{gap:8px;min-width:0;display:grid}.activityHeading{font-size:13px;font-weight:600}.activityRow{border:1px solid #80808040;border-radius:6px;min-width:0;margin-block:4px;padding:8px 10px}.activitySummary{cursor:pointer;overflow-wrap:anywhere;font-size:13px}.activityStatus{opacity:.7;margin-inline-start:8px;font-size:12px}.activityCommand{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.activityMeta{opacity:.7;margin-block:8px;font-size:12px}.activityOutput{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;font-size:12px;overflow:auto}
|
|
174
174
|
`,hostAttributes:{"aria-live":`polite`,id:`coreframe-managed-dev`},hostStyles:{pointerEvents:`none`,position:`fixed`},zIndex:2147483647});return queueMicrotask(()=>{e&&s(t.container)}),()=>{e=!1,t.host?.remove()}},[r]);let l={"--managed-dev-bottom-offset":we(e),"--managed-dev-right-offset":we(a)};return o?y(S(`div`,{className:W.surface,style:l,children:[i?n:null,i&&c?t:null]}),o):null}function Ce({bottomOffset:e,indicator:t,rightOffset:n}){let[r,i]=_(),[a,o]=_(ge),[c,l]=_(),[u,f]=_(),[p,m]=_(!1),h=_e.find(({id:e})=>e===r),g=e=>{i(e),l(void 0),f(void 0),m(!1)},v=async e=>{if(e.type!==`configure-codex`){if(e.type===`acknowledge-codex`){g(void 0);return}f(Ze(e))}},y=t??x(Y,{}),b={dismissError:()=>void 0,pending:!1,reloadPage:()=>l(`Page reload simulated.`),restartVite:()=>l(`Vite restart simulated.`),success:c};return x(Se,{bottomOffset:e,indicator:d(y)&&y.type===Y?s(y,{paused:h?.status.mode===`waiting`}):y,openOnMount:!0,rightOffset:n,children:h?x(Ee,{act:v,checkFailure:p?void 0:Ke(h.status),codex:h.codex,codexOptions:a,developmentControls:b,dismissCheckFailure:()=>m(!0),dismissError:()=>m(!0),error:h.error,errorsDismissed:p,onBack:()=>g(void 0),onClose:()=>q(!1),setCodexOptions:o,status:h.status,success:u??h.success},h.id):x(Te,{developmentControls:b,onClose:()=>q(!1),onSelect:e=>g(e)})})}function we(e){return typeof e==`number`?`${e}px`:e??`0px`}function Te({developmentControls:e,onClose:t,onSelect:n}){return x(J,{debug:!0,developmentControls:e,icon:ne,onClose:t,title:`Managed dev overlay scenarios`,children:x(`div`,{className:W.scenarioList,children:ve.map(e=>S(`button`,{className:W.scenarioButton,onClick:()=>n(e.id),type:`button`,children:[x(`span`,{className:W.scenarioLabel,children:e.label}),x(`span`,{className:W.scenarioDescription,children:e.description})]},e.id))})})}function J({children:e,debug:t=!1,developmentControls:n,icon:r,onBack:i,onClose:a,title:o}){let s=g(null),c=g(null),[l,u]=_(!1);return m(()=>{let e=e=>{let t=e.composedPath(),n=c.current;n&&!t.includes(n)&&u(!1);let r=s.current;r&&!t.includes(r)&&a()},t=e=>{e.key===`Escape`&&(e.preventDefault(),a())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[a]),S(`dialog`,{"aria-labelledby":`coreframe-managed-title`,"aria-modal":`true`,className:W.dialog,id:`coreframe-managed-dev-dialog`,open:!0,ref:s,children:[S(`div`,{className:W.header,children:[S(`h2`,{className:W.title,id:`coreframe-managed-title`,children:[x(r,{"aria-hidden":`true`,className:W.titleIcon,size:18}),o]}),S(`div`,{className:W.headerActions,children:[i?x(`button`,{"aria-label":`Back to scenarios`,className:W.iconButton,onClick:i,type:`button`,children:x(te,{"aria-hidden":`true`,size:18})}):null,n?S(`div`,{className:W.developmentControlsDropdown,ref:c,children:[x(`button`,{"aria-expanded":l,"aria-haspopup":`menu`,"aria-label":`Development controls`,className:W.iconButton,onClick:()=>u(e=>!e),type:`button`,children:x(ce,{"aria-hidden":`true`,size:18})}),l?x(De,{controls:n}):null]}):null,x(`button`,{"aria-label":`Close managed development`,className:W.iconButton,onClick:a,type:`button`,children:x(H,{"aria-hidden":`true`,size:18})})]})]}),x(`div`,{className:W.drawerBody,children:e}),t?x(`footer`,{className:W.debugFooter,children:`Debug preview · project actions are simulated locally`}):null]})}function Y({color:e=`#228be6`,paused:t=!1,size:n=14,warningColor:r=`#fd7e14`}){let i=v($e,et,tt),a={"--managed-dev-indicator-color":t?r:e,"--managed-dev-indicator-size":typeof n==`number`?`${n}px`:n};return x(`button`,{"aria-controls":`coreframe-managed-dev-dialog`,"aria-expanded":i,"aria-label":`${i?`Hide`:`Show`} Coreframe managed development`,className:W.indicatorButton,onClick:ye,style:a,type:`button`,children:x(`span`,{className:W.indicatorDot})})}function Ee({act:e,checkFailure:t,codex:n,codexOptions:r,developmentControls:i,dismissCheckFailure:a,dismissError:o,error:s,errorsDismissed:c,onBack:l,onClose:u,pendingAction:d,setCodexOptions:f,status:p,success:h}){let[v,y]=_({value:``}),[C,w]=_(()=>({paths:new Set})),T=g(null),E=p?.codexCompletion,D=p?.draft,O=p?.pendingRebase,k=p?.target,A=c&&n?.phase===`error`?void 0:n,j=!E&&!h&&!A,M=!!Ve(p,s,n),N=C.fingerprint===D?.fingerprint?C.paths:new Set(D?.untracked??[]),P=v.fingerprint===D?.fingerprint&&v.proposal===p?.proposal?v.value:p?.proposal??``,ee=!!(D?.untracked.length&&D.untracked.every(e=>N.has(e))),F=t=>{f(t),e({codex:t,type:`configure-codex`})};return m(()=>{let e=T.current;e&&n?.phase===`running`&&(e.scrollTop=e.scrollHeight)},[n]),t?x(J,{debug:!!l,developmentControls:i,icon:V,onBack:l,onClose:u,title:`Managed development check failed`,children:S(`div`,{className:W.content,children:[x(`div`,{className:W.checkFailure,role:`alert`,children:S(`div`,{className:W.checkMessage,children:[S(`p`,{className:W.checkCommand,children:[t.check.command,` failed`]}),x(`p`,{className:W.checkGuidance,children:qe(t)}),x(`p`,{className:W.checkGuidance,children:`Copy the output and paste it into your agent orchestration tool.`})]})}),S(Z,{children:[x(Q,{ariaLabel:`Dismiss error`,icon:H,iconOnly:!0,immediatelyEnabled:!0,onClick:()=>a(t),children:`Dismiss`}),x(Q,{ariaLabel:`Copy output for ${t.check.command}`,icon:oe,iconOnly:!0,onClick:()=>void navigator.clipboard.writeText(t.check.output??``),children:`Copy output`})]})]})}):x(J,{debug:!!l,developmentControls:i,icon:ze({codex:A,completion:E,status:p,success:h}),onBack:l,onClose:u,title:E?`Codex conflict resolution finished`:h?.heading??(A?.phase===`complete`?A.stage===`verify`?`Finishing synchronization…`:`Finishing conflict resolution…`:A?.phase===`error`?A.stage===`verify`?`Verification failed.`:`Conflict resolution failed.`:A?A.stage===`verify`?`Verifying the update with Codex…`:`Resolving conflicts with Codex…`:c&&!D&&!k&&!O?`Managed development status`:Re(p)),children:S(`div`,{className:W.content,children:[h&&!E?S(`div`,{className:W.actionSuccess,role:`status`,children:[x(L,{"aria-hidden":`true`,className:W.successIcon,size:18}),x(`p`,{className:W.paragraph,children:h.message})]}):null,s&&!c?S(b,{children:[x(`div`,{className:W.actionError,role:`alert`,children:x(Le,{children:s})}),x(Z,{children:x(Q,{ariaLabel:`Dismiss error`,icon:H,iconOnly:!0,immediatelyEnabled:!0,onClick:o,children:`Dismiss`})})]}):null,x(ke,{activities:p?.activities??[]}),E||!h&&A?S(b,{children:[x(Oe,{commits:E?.commits??A?.commits??[],completion:E,messages:E?.messages??A?.messages??[],outputRef:T,stage:A?.stage??`resolve`,totalCommits:E?.totalCommits??A?.totalCommits,working:A?.phase===`running`}),!E&&A?.phase===`running`?x(Z,{children:x(Q,{ariaLabel:A.stage===`verify`?`Cancel verification`:`Cancel conflict resolution`,busy:d?.type===`cancel-codex`,icon:H,onClick:()=>void e({type:`cancel-codex`}),children:`Cancel`})}):null]}):j&&p?.setupFailure?S(b,{children:[c?x(`p`,{className:W.paragraph,children:`Error dismissed. Retry setup when you are ready.`}):S(`div`,{className:W.setupFailure,role:`alert`,children:[x(Le,{children:p.setupFailure.message}),x(`pre`,{className:W.codexOutput,children:p.setupFailure.output})]}),S(Z,{children:[c?null:x(Q,{ariaLabel:`Dismiss error`,icon:H,iconOnly:!0,immediatelyEnabled:!0,onClick:o,children:`Dismiss`}),x(Q,{ariaLabel:`Copy diagnostics`,disabledReason:p.busy,icon:oe,iconOnly:!0,onClick:()=>void navigator.clipboard.writeText(Ye(p.setupFailure)),children:`Copy diagnostics`}),p.setupFailure.stage===`dependencies`?x(Q,{ariaLabel:`Retry install`,busy:d?.type===`retry-install`,disabledReason:p.busy,icon:R,iconOnly:!0,onClick:()=>void e({type:`retry-install`}),primary:!0,children:`Retry install`}):p.setupFailure.stage===`codegen`?x(Q,{ariaLabel:`Retry codegen`,busy:d?.type===`retry-codegen`,disabledReason:p.busy,icon:R,iconOnly:!0,onClick:()=>void e({type:`retry-codegen`}),primary:!0,children:`Retry codegen`}):x(Q,{busy:d?.type===`reset-database`,disabledReason:p.busy,icon:z,onClick:()=>{globalThis.confirm(`Reset the local database? This permanently deletes its current data, then reapplies migrations and seed scripts.`)&&e({type:`reset-database`})},primary:!0,children:`Reset database`})]})]}):j&&Ue(p)?S(b,{children:[x(`p`,{className:W.paragraph,children:c?`Error dismissed. Reconnect when you are ready.`:p?.message}),x(Z,{children:x(Q,{ariaLabel:`Retry managed development`,busy:d?.type===`retry-supervisor`,disabledReason:p?.busy,icon:R,immediatelyEnabled:!0,onClick:()=>void e({type:`retry-supervisor`}),primary:!0,children:`Retry managed development`})})]}):j?x(`p`,{className:W.paragraph,children:p?p.busy||(c?`Notification dismissed.`:p.message||Be(p)):`Checking managed development status…`}):null,E&&(!s||c)?x(Z,{children:x(Q,{busy:d?.type===`acknowledge-codex`,disabledReason:p?.busy,icon:L,onClick:()=>void e({id:E.id,type:`acknowledge-codex`}),primary:!0,children:`Continue`})}):null,j&&!c&&p?.mode===`waiting`&&p.message&&!We(p)?S(`p`,{className:W.paragraph,children:[`To re-enable managed development, run `,x(`code`,{children:`git switch main`}),` in the primary checkout. Synchronization will resume automatically.`]}):null,j&&k&&!D?x(`pre`,{className:W.pendingCommits,children:(k.commits??[k]).map(e=>`${e.shortCommit} ${e.subject}`).join(`
|
|
175
|
-
`)}):null,j&&!c?p?.warnings.map((e,t)=>x(`p`,{className:`${W.paragraph} ${W.warning}`,children:e},`${t}-${e}`)):null,j&&D?S(b,{children:[S(`div`,{className:W.files,children:[D.untracked.map(e=>x(Ie,{checked:N.has(e),label:x(`span`,{className:W.filePath,children:e}),onChange:t=>w(()=>{let n=new Set(N);return t?n.add(e):n.delete(e),{fingerprint:D.fingerprint,paths:n}})},e)),D.untracked.length>0?x(Ie,{checked:ee,label:`Include all untracked files`,onChange:e=>w({fingerprint:D.fingerprint,paths:e?new Set(D.untracked):new Set})}):null]}),p.proposal===void 0?S(Z,{children:[k?x(Q,{busy:d?.type===`reject`,disabledReason:p.busy,icon:z,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,x(Q,{busy:d?.type===`message`,disabledReason:p.busy,icon:B,onClick:()=>void e({type:`message`,fingerprint:D.fingerprint,untracked:[...N]}),primary:!0,children:`Generate commit message`})]}):S(b,{children:[x(`textarea`,{"aria-label":`Commit message`,className:W.message,onChange:e=>y({fingerprint:D.fingerprint,proposal:p.proposal,value:e.target.value}),value:P}),k?x(X,{disabled:!!p.busy,onChange:F,value:r}):null,S(Z,{children:[k?x(Q,{busy:d?.type===`reject`,disabledReason:p.busy,icon:z,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,x(Q,{busy:d?.type===(k?`apply`:`commit`),disabledReason:p.busy,icon:le,onClick:()=>{e(k?{type:`apply`,target:k.commit,fingerprint:D.fingerprint,untracked:[...N],message:P,codex:r}:{type:`commit`,fingerprint:D.fingerprint,untracked:[...N],message:P})},primary:!0,children:k?`Commit and refresh`:`Commit changes`})]})]})]}):j&&O?S(b,{children:[x(`p`,{className:W.paragraph,children:O.applied>0?`The update replayed ${O.applied} of ${O.applied+O.commits.length} commits before stopping on a conflict. The cleanly applied commits are already on your branch; Codex can resolve the rest.`:`The update stopped on a conflict before any commit could be replayed. Codex can resolve your commits.`}),x(`div`,{className:W.files,children:O.files.map(e=>x(`span`,{className:W.filePath,children:e},e))}),O.commits.length>0?x(`pre`,{className:W.pendingCommits,children:O.commits.map(e=>`${e.shortCommit} ${e.subject}`).join(`
|
|
175
|
+
`)}):null,j&&!c?p?.warnings.map((e,t)=>x(`p`,{className:`${W.paragraph} ${W.warning}`,children:e},`${t}-${e}`)):null,j&&D?S(b,{children:[S(`div`,{className:W.files,children:[D.untracked.map(e=>x(Ie,{checked:N.has(e),label:x(`span`,{className:W.filePath,children:e}),onChange:t=>w(()=>{let n=new Set(N);return t?n.add(e):n.delete(e),{fingerprint:D.fingerprint,paths:n}})},e)),D.untracked.length>0?x(Ie,{checked:ee,label:`Include all untracked files`,onChange:e=>w({fingerprint:D.fingerprint,paths:e?new Set(D.untracked):new Set})}):null]}),p.proposal===void 0?S(Z,{children:[k?x(Q,{busy:d?.type===`reject`,disabledReason:p.busy,icon:z,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,x(Q,{busy:d?.type===`message`,disabledReason:p.busy,icon:B,onClick:()=>void e({type:`message`,fingerprint:D.fingerprint,untracked:[...N]}),primary:!0,children:`Generate commit message`})]}):S(b,{children:[x(`textarea`,{"aria-label":`Commit message`,className:W.message,onChange:e=>y({fingerprint:D.fingerprint,proposal:p.proposal,value:e.target.value}),value:P}),k?x(X,{disabled:!!p.busy,onChange:F,value:r}):null,S(Z,{children:[k?x(Q,{busy:d?.type===`reject`,disabledReason:p.busy,icon:z,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,x(Q,{busy:d?.type===(k?`apply`:`commit`),disabledReason:p.busy,icon:le,onClick:()=>{e(k?{type:`apply`,target:k.commit,fingerprint:D.fingerprint,untracked:[...N],message:P,codex:r}:{type:`commit`,fingerprint:D.fingerprint,untracked:[...N],message:P})},primary:!0,children:k?`Commit and refresh`:`Commit changes`}),p.proposal===``?x(Q,{busy:d?.type===`message`,disabledReason:p.busy,icon:B,onClick:()=>void e({type:`message`,fingerprint:D.fingerprint,untracked:[...N]}),children:`Retry generation`}):null]})]})]}):j&&O?S(b,{children:[x(`p`,{className:W.paragraph,children:O.applied>0?`The update replayed ${O.applied} of ${O.applied+O.commits.length} commits before stopping on a conflict. The cleanly applied commits are already on your branch; Codex can resolve the rest.`:`The update stopped on a conflict before any commit could be replayed. Codex can resolve your commits.`}),x(`div`,{className:W.files,children:O.files.map(e=>x(`span`,{className:W.filePath,children:e},e))}),O.commits.length>0?x(`pre`,{className:W.pendingCommits,children:O.commits.map(e=>`${e.shortCommit} ${e.subject}`).join(`
|
|
176
176
|
`)}):null,x(X,{disabled:!!p.busy,onChange:F,value:r}),S(Z,{children:[x(Q,{busy:d?.type===`decline-rebase`,disabledReason:p.busy,icon:H,onClick:()=>void e({type:`decline-rebase`}),children:`Decline`}),x(Q,{busy:d?.type===`resolve-rebase`,disabledReason:p.busy,icon:B,onClick:()=>void e({codex:r,type:`resolve-rebase`}),primary:!0,children:`Resolve with Codex`})]})]}):j&&k?S(b,{children:[x(X,{disabled:!!p.busy,onChange:F,value:r}),x(Z,{children:x(Q,{busy:d?.type===`prepare`,disabledReason:p.busy,icon:R,onClick:()=>void e({type:`prepare`,target:k.commit,codex:r}),primary:!0,children:k.source===`upstream`?`Refresh`:String(k.source)===`dev`?`Sync with dev`:`Sync with main`})})]}):null,M&&!c&&!s&&!(j&&p?.setupFailure)?x(Z,{children:x(Q,{ariaLabel:`Dismiss error`,icon:H,iconOnly:!0,immediatelyEnabled:!0,onClick:o,children:`Dismiss`})}):null]})})}function X({disabled:e=!1,onChange:t,value:i}){return S(`div`,{className:W.codexOptions,children:[S(`label`,{className:W.codexOption,children:[x(`span`,{className:W.codexOptionLabel,children:`Codex model`}),x(`select`,{"aria-label":`Codex model`,className:W.codexOptionSelect,disabled:e,onChange:e=>t({...i,model:e.target.value}),value:i.model,children:r.map(e=>x(`option`,{value:e,children:e},e))})]}),S(`label`,{className:W.codexOption,children:[x(`span`,{className:W.codexOptionLabel,children:`Reasoning effort`}),x(`select`,{"aria-label":`Reasoning effort`,className:W.codexOptionSelect,disabled:e,onChange:e=>t({...i,effort:e.target.value}),value:i.effort,children:n.map(e=>x(`option`,{value:e,children:e},e))})]})]})}function De({controls:e}){return S(`div`,{"aria-label":`Development controls`,className:W.developmentControls,role:`menu`,children:[S(Z,{children:[x(Q,{immediatelyEnabled:!0,icon:R,onClick:e.reloadPage,role:`menuitem`,children:`Reload page`}),x(Q,{busy:e.pending,immediatelyEnabled:!0,icon:z,onClick:e.restartVite,primary:!0,role:`menuitem`,children:e.pending?`Restarting Vite…`:`Restart Vite`})]}),e.error?S(b,{children:[x(`div`,{className:W.actionError,role:`alert`,children:x(Le,{children:`Vite restart failed: ${e.error}`})}),x(Z,{children:x(Q,{ariaLabel:`Dismiss restart error`,icon:H,iconOnly:!0,immediatelyEnabled:!0,onClick:e.dismissError,role:`menuitem`,children:`Dismiss`})})]}):null,e.success?S(`div`,{className:W.actionSuccess,role:`status`,children:[x(L,{"aria-hidden":`true`,className:W.successIcon,size:18}),x(`p`,{className:W.paragraph,children:e.success})]}):null]})}function Oe({commits:t,completion:n,messages:r,outputRef:i,stage:a,totalCommits:o,working:s}){let c=[...r].reverse().find(e=>e.kind===`user`),l=[...r].reverse().find(e=>e.kind!==`user`),u=n?[...r].reverse().find(e=>e.kind===`agent`&&e.text===n.finalMessage):l,d=r.filter(e=>e.kind!==`user`&&e!==u),f=n?u??{author:[...r].reverse().find(e=>e.kind===`agent`)?.author,kind:`agent`,text:n.finalMessage}:l,p=u?`message-${r.lastIndexOf(u)}`:`completion`;return S(b,{children:[s?x(`div`,{className:W.codexWorking,children:x(e,{className:W.codexWorkingSpinner,label:a===`verify`?`Codex is verifying the update`:`Codex is resolving conflicts`,children:x(je,{})})}):null,S(`div`,{"aria-live":n?void 0:`polite`,className:W.codexTranscript,ref:i,role:`log`,children:[c?x(Ne,{message:c}):null,d.length>0?S(`details`,{children:[S(`summary`,{className:W.codexHistorySummary,children:[`History (`,d.length,`)`]}),x(`div`,{className:W.codexHistoryList,children:d.map((e,t)=>x(Ne,{message:e},`history-${t}`))})]}):null,f?x(Ne,{message:f,showAge:!0},p):x(`p`,{className:W.codexWaiting,children:`Waiting for Codex output…`}),o?x(Me,{rebased:t.length,total:o}):null]})]})}function ke({activities:e}){let t=e.filter(e=>e.status===`running`),n=e.filter(e=>[`failed`,`cancelled`,`interrupted`].includes(e.status)),r=e.filter(e=>e.status===`succeeded`);return e.length?S(`section`,{className:W.activityList,"aria-label":`Activity`,children:[S(`div`,{className:W.activityHeading,"aria-live":`polite`,children:[`Activity`,t.length?` · ${t.length} running`:``]}),[...t,...n].map(e=>x(Ae,{activity:e},e.id)),r.length?S(`details`,{children:[S(`summary`,{className:W.codexHistorySummary,children:[`Recent activity (`,r.length,`)`]}),r.slice().reverse().map(e=>x(Ae,{activity:e},e.id))]}):null]}):null}function Ae({activity:e}){let[t,n]=_(Date.now);m(()=>{if(e.status!==`running`)return;let t=globalThis.setInterval(()=>n(Date.now()),1e3);return()=>globalThis.clearInterval(t)},[e.status]);let r=Math.max(0,Math.floor(((e.finishedAt??t)-e.startedAt)/1e3));return S(`details`,{className:W.activityRow,children:[S(`summary`,{className:W.activitySummary,children:[x(`span`,{children:e.label}),S(`span`,{className:W.activityStatus,children:[e.status,` · `,Fe(r)]}),e.command?x(`code`,{className:W.activityCommand,children:e.command}):null]}),S(`p`,{className:W.activityMeta,children:[e.source===`codex`?`Codex`:`Managed development`,e.stage?` · ${e.stage}`:``,e.exitCode===void 0?``:` · Exit code ${e.exitCode}`]}),e.output?x(`pre`,{className:W.activityOutput,children:e.output}):null]})}function je(){let e=g(0),[t,n]=_(0);return m(()=>{e.current=Date.now();let t=globalThis.setInterval(()=>{n(Math.floor((Date.now()-e.current)/1e3))},1e3);return()=>globalThis.clearInterval(t)},[]),S(b,{children:[`Working for `,Fe(t),`...`]})}function Me({rebased:e,total:t}){let n=Math.min(e,t),r=Math.round(n/t*100);return S(`section`,{"aria-label":`Rebase progress`,className:W.rebaseProgress,children:[S(`div`,{className:W.rebaseProgressLabel,children:[S(`strong`,{children:[r,`% rebased`]}),S(`span`,{children:[n,` of `,t,` commits`]})]}),x(`div`,{"aria-valuemax":t,"aria-valuemin":0,"aria-valuenow":n,className:W.rebaseProgressTrack,role:`progressbar`,children:x(`span`,{className:W.rebaseProgressFill,style:{width:`${r}%`}})})]})}function Ne({message:e,showAge:t=!1}){let n=e.kind===`user`?`Request`:e.kind===`thought`?`Codex thought`:e.author??`Codex`,r=e.kind===`user`?W.codexMessageUser:e.kind===`thought`?W.codexMessageThought:W.codexMessageAgent;return S(`section`,{className:`${W.codexMessage} ${r}`,children:[S(`div`,{className:W.codexMessageHeader,children:[x(`h3`,{className:W.codexMessageLabel,children:n}),t?x(Pe,{}):null]}),x(`p`,{className:W.codexMessageText,children:e.text})]})}function Pe(){let e=g(0),[t,n]=_(0);return m(()=>{e.current=Date.now();let t=globalThis.setInterval(()=>{n(Math.floor((Date.now()-e.current)/1e3))},1e3);return()=>globalThis.clearInterval(t)},[]),S(`span`,{"aria-hidden":`true`,className:W.codexMessageAge,children:[Fe(t),` ago`]})}function Fe(e){let t=Math.floor(e/60),n=e%60;return t>0?`${t}m ${n}s`:`${n}s`}function Ie({checked:e,label:t,onChange:n}){return S(`label`,{className:W.checkbox,children:[x(`input`,{checked:e,onChange:e=>n(e.target.checked),type:`checkbox`}),t]})}function Z({children:e}){return x(`div`,{className:W.actions,children:e})}function Le({children:e}){return S(`div`,{className:W.errorMessage,children:[x(V,{"aria-hidden":`true`,className:W.errorIcon,size:18}),x(`p`,{className:W.paragraph,children:e})]})}function Q({ariaLabel:e,busy:t,children:n,disabledReason:r,icon:i,iconOnly:a=!1,immediatelyEnabled:o=!1,onClick:s,primary:c=!1,role:l}){let[u,d]=_(!0),[f,p]=_(),g=h(),v=r?`Please wait: ${r.replace(/[.\u2026]+$/,``)}.`:t?`Waiting for ${e??(typeof n==`string`?`“${n}”`:`this action`)} to finish.`:u&&!o?`Please wait a moment. This prevents accidental clicks.`:void 0;m(()=>{let e=globalThis.setTimeout(()=>d(!1),1e3);return()=>globalThis.clearTimeout(e)},[]);let b=e=>{let t=e.getBoundingClientRect(),n=e.closest(`[data-isolet-root]`);n&&p({left:Math.max(12,Math.min(t.left,window.innerWidth-292)),top:t.top-8,root:n})};return S(`span`,{"aria-describedby":v?g:void 0,"aria-label":v?e??(typeof n==`string`?n:void 0):void 0,className:W.buttonContainer,onBlur:()=>p(void 0),onFocus:e=>b(e.currentTarget),onKeyDown:e=>{e.key===`Escape`&&v&&f&&(e.stopPropagation(),p(void 0))},onMouseEnter:e=>b(e.currentTarget),onMouseLeave:()=>p(void 0),onPointerDown:e=>{v&&e.currentTarget.focus()},tabIndex:v?0:void 0,children:[S(`button`,{"aria-label":e,"aria-busy":!!t,"aria-describedby":v?g:void 0,className:`${W.button} ${a?W.iconOnly:``} ${c?W.primary:``}`,disabled:!!v,onClick:s,role:l,title:!v&&a?e:void 0,type:`button`,children:[t?x(de,{"aria-hidden":`true`,className:W.buttonSpinner,size:16}):i?x(i,{"aria-hidden":`true`,size:16}):null,a?null:n]}),v?x(`span`,{className:W.srOnly,id:g,children:v}):null,v&&f?y(x(`span`,{className:W.disabledTooltip,role:`tooltip`,style:{left:f.left,top:f.top},children:v}),f.root):null]})}function Re(e){return e?e.mode===`waiting`&&e.message?`Managed development paused`:e.mode===`unmanaged`?`Managed development unavailable`:e.mode===`error`?`Managed development stopped`:e.setupFailure?.stage===`dependencies`?`Dependency installation failed`:e.setupFailure?.stage===`codegen`?`Panda codegen failed`:e.setupFailure?.stage===`migration`?`Database setup failed`:e.draft?e.proposal===void 0?`Review local changes`:`Confirm your commit`:e.pendingRebase?`Resolve update conflicts`: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`&&!e.dismissed)?`Managed development checks failed`:e.warnings.length>0?`Managed development warning`:`Managed development status`:`Checking managed development`}function ze({codex:e,completion:t,status:n,success:r}){return e||t?B:n?.setupFailure?.stage===`migration`?se:n?.setupFailure?.stage===`dependencies`?fe:n?.setupFailure?.stage===`codegen`?R:n?.draft?le:n?.pendingRebase?B:n?.target?.source===`upstream`?ae:n?.target?R:n?.checks?.commands.some(e=>e.status===`failed`&&!e.dismissed)?ue:r?L:n?n.mode===`waiting`?ie:n.mode===`unmanaged`?re:n.mode===`error`||n.warnings.length>0?V:L:R}function Be(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.pendingRebase?`The update stopped on a conflict and needs Codex to finish replaying your commits.`: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 Ve(e,t,n){let r=[t,n?.phase===`error`?n.requestId:void 0,e?.mode===`error`||e?.mode===`unmanaged`?e.mode:void 0,e?.message,e?.setupFailure,e?.warnings.length?e.warnings:void 0];return r.some(Boolean)?JSON.stringify(r):void 0}function He(e,t){return JSON.stringify([e,t.command,t.output])}function Ue(e){return e?.mode===`error`&&e.message?.startsWith(a)===!0}function We(e){return e?.message?.startsWith(o)===!0}function Ge(e){return e.mode!==`managed`||!!(e.busy||e.codexCompletion||e.draft||e.message||e.pendingRebase||e.setupFailure||e.target||e.warnings.length>0)}function Ke(e){if(!e?.checks||Ge(e))return;let t=e.checks.commands.find(e=>e.status===`failed`&&!e.dismissed);return t?{check:t,commit:e.checks.commit,trigger:e.checks.trigger}:void 0}function qe({commit:e,trigger:t}){let n=e.slice(0,12);return t===`codegen-recovery`?`Managed dev ran this check after Panda codegen recovered for commit ${n}.`:t===`dependency-recovery`?`Managed dev ran this check after dependency installation recovered for commit ${n}.`:t===`database-recovery`?`Managed dev ran this check after database setup recovered for commit ${n}.`:`Managed dev ran this check after synchronizing the accepted update at commit ${n}.`}function $(e,t=Ke(e)){return e?e.mode===`waiting`?!!e.message:!!(t||Ge(e)):!1}function Je(e){let t=new Set(e.filter(e=>e.kind===`user`)),n=[...t].reduce((e,t)=>e+t.text.length,0),r=!1;for(let i of[...e].reverse())if(i.kind!==`user`){if(n+i.text.length>1e5&&r)break;t.add(i),r=!0,n+=i.text.length}return e.filter(e=>t.has(e))}function Ye(e){return[e.message,`Commit: ${e.commit}`,`Command: ${e.command}`,``,e.output].join(`
|
|
177
177
|
`)}function Xe(){let[e,n]=_(),[r,i]=_(!1),[a,o]=_(),s=pe(),c=g(void 0);return m(()=>{if(!s)return;let e=e=>{if(e.requestId===c.current){if(e.state===`busy`){i(!0);return}if(c.current=void 0,i(!1),e.state===`error`){o(void 0),n(e.error??`The Vite restart failed.`);return}n(void 0),o(`Vite restarted.`)}},r=()=>{c.current&&(c.current=void 0,i(!1),o(void 0),n(`The connection was interrupted during the restart. Reconnect before trying again.`))};return s.on(t.actionResult,e),s.on(U.disconnect,r),()=>{s.off(t.actionResult,e),s.off(U.disconnect,r)}},[s]),{dismissError:()=>n(void 0),error:e,pending:r,reloadPage:()=>globalThis.location.reload(),restartVite:()=>{if(r)return;if(n(void 0),o(void 0),!s){n(`The Vite HMR connection is unavailable.`);return}let e=globalThis.crypto.getRandomValues(new Uint32Array(4)).join(`-`);c.current=e,i(!0),s.send(t.action,{action:{type:`restart-vite`},requestId:e})},success:a}}function Ze(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.`}:e.type===`configure-codex`?{heading:`Codex preferences saved`,message:`The selected model and effort will be used for future conflict resolution.`}:e.type===`decline-rebase`?{heading:`Codex resolution declined`,message:`The cleanly applied commits stay on your branch.`}:e.type===`resolve-rebase`?{heading:`Refresh complete`,message:`Codex resolved the remaining conflicts and the project is up to date.`}:e.type===`retry-install`?{heading:`Setup complete`,message:`Dependencies installed and the project is ready.`}:e.type===`retry-codegen`?{heading:`Codegen complete`,message:`Panda generated code is ready.`}:e.type===`reset-database`?{heading:`Database reset complete`,message:`The database was recreated, migrated, and seeded.`}:e.type===`retry-supervisor`?{heading:`Managed development reconnected`,message:`The managed development supervisor is connected again.`}:e.type===`cancel-codex`?{heading:`Update cancelled`,message:`The Codex conflict resolution was cancelled.`}:{heading:`Action complete`,message:`No further action is required.`}}function Qe(){let[e,t]=_(),[n,r]=_(),[a,o]=_(!1),[s,c]=_(),[l,u]=_(),[d,p]=_(ge),[h,v]=_(),[y,b]=_({dismissed:!1}),[x,S]=_(()=>new Set),C=g(void 0),w=g(void 0),T=g(new Map),E=me(),D=Ve(e,n,l),O=!!(D&&D===y.key&&y.dismissed);D!==y.key&&b({key:D,dismissed:!1});let k=e?.checks&&x.size>0?{...e,checks:{...e.checks,commands:e.checks.commands.map(t=>!t.failureId&&x.has(He(e.checks.commit,t))?{...t,dismissed:!0}:t)}}:e;m(()=>{if(!E)return;let e=T.current,n=e=>{try{E.send(i.diagnostic,e)}catch{}},a,s=!1,l=()=>{n({type:`connected`}),o(!0),s&&(s=!1,E.send(i.statusRequest))},d=()=>{n({type:`disconnected`}),a=void 0,s=!0,o(!1),t(void 0),r(void 0),S(new Set),c(void 0),v(void 0),e.clear(),C.current=void 0,u(void 0),q(!1)},f=({status:i})=>{let s=JSON.stringify([i.trace,i.mode,i.busy]);s!==a&&(a=s,n({type:`status-received`,sessionId:i.trace?.sessionId,revision:i.trace?.revision,requestId:i.trace?.operationId,busy:!!i.busy}));let l=$(i);if(We(i)){for(let[t,n]of e)n.type!==`retry-supervisor`&&e.delete(t);[...e.values()].some(e=>e.type===`retry-supervisor`)||v(void 0),C.current=void 0,u(void 0),r(void 0),c(void 0)}o(!0),t(i),i.codexOptions&&p(e=>({...e,...i.codexOptions})),i.codexCompletion&&w.current!==i.codexCompletion.id&&(w.current=i.codexCompletion.id,q(!0));let d=!i.busy&&!i.codexCompletion?[...e.entries()].filter(([,e])=>e.type===`acknowledge-codex`).map(([e])=>e):[];if(d.length>0){for(let t of d)e.delete(t);v([...e.values()].at(-1)),c(void 0),l||q(!1)}l&&c(e=>e?.preserveDuringStatus?e:void 0)},m=i=>{n({type:`action-result-received`,requestId:i.requestId,sessionId:i.status?.trace?.sessionId,revision:i.status?.trace?.revision,busy:!!i.status?.busy,pending:e.has(i.requestId)});let a=e.get(i.requestId);a&&(e.delete(i.requestId),v([...e.values()].at(-1)),i.status&&t(i.status),i.error?(C.current?.requestId===i.requestId&&(C.current=void 0,u(void 0)),r(i.error),a.type===`acknowledge-codex`&&q(!0)):i.status?.codexCompletion?(w.current=i.status.codexCompletion.id,C.current=void 0,u(void 0),c(void 0),q(!0)):a.type===`acknowledge-codex`?(c(void 0),i.status&&!$(i.status)&&q(!1)):a.type===`dismiss-check`||a.type===`configure-codex`||a.type===`cancel-codex`?c(void 0):i.status&&(a.type===`commit`||!$(i.status))&&c(Ze(a)))},h=t=>{if(t.phase===`activity`||!e.has(t.requestId))return;if(t.phase===`start`){let e={commits:t.commits,messages:[t.message],phase:`running`,requestId:t.requestId,stage:t.stage??`resolve`,totalCommits:t.totalCommits};C.current=e,u(e),q(!0);return}let n=C.current;if(!n||n.requestId!==t.requestId)return;let r=t.phase===`message`?{...n,messages:Je([...n.messages,t.message]),phase:t.stage!==void 0&&t.stage!==n.stage?`running`:n.phase,stage:t.stage??n.stage}:t.phase===`complete`?{commits:n.commits,messages:n.messages,phase:`complete`,requestId:t.requestId,stage:t.stage??n.stage,totalCommits:n.totalCommits}:t.phase===`progress`?{...n,commits:t.commits,stage:t.stage??n.stage,totalCommits:t.totalCommits??n.totalCommits}:{...n,phase:`error`};C.current=r,u(r)};E.on(U.connect,l),E.on(U.disconnect,d),E.on(i.status,f),E.on(i.actionResult,m),E.on(i.codex,h),E.send(i.statusRequest);let g=globalThis.setInterval(()=>{e.size>0&&E.send(i.statusRequest,{requestIds:[...e.keys()]})},1e3);return()=>{globalThis.clearInterval(g),e.clear(),C.current=void 0,E.off(U.connect,l),E.off(U.disconnect,d),E.off(i.status,f),E.off(i.actionResult,m),E.off(i.codex,h)}},[E]);let A=async e=>{if(e.type===`acknowledge-codex`&&(w.current=e.id),r(void 0),b({key:D,dismissed:!1}),c(void 0),e.type!==`cancel-codex`&&(C.current=void 0,u(void 0)),!E){r(`The Vite HMR connection is unavailable.`);return}let t=globalThis.crypto.getRandomValues(new Uint32Array(4)).join(`-`);T.current.set(t,e),v(e),E.send(i.action,{action:e,requestId:t})},j=f(()=>c(void 0),[]);return{act:A,checkFailure:(!n||O)&&!s&&(!l||O&&l.phase===`error`)&&!e?.codexCompletion?Ke(k):void 0,codex:l,codexOptions:d,dismissCheckFailure:e=>{if(!e.check.failureId){S(t=>new Set(t).add(He(e.commit,e.check)));return}A({failureId:e.check.failureId,type:`dismiss-check`})},dismissError:()=>b({key:D,dismissed:!0}),dismissSuccess:j,error:n,errorsDismissed:O,hmrReady:a,pendingAction:h,setCodexOptions:p,status:k,success:s}}function $e(e){return K.add(e),()=>K.delete(e)}function et(){return G}function tt(){return!1}export{be as ManagedDevOverlay,Y as ManagedDevOverlayIndicator,ye as toggleManagedDevOverlay};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{existsSync as e}from"node:fs";import{readFile as t}from"node:fs/promises";import{dirname as n,isAbsolute as r,resolve as i}from"node:path";import{readProjectConfig as a}from"@coreframe/config";import{composeDashboardManifest as
|
|
2
|
-
`);let r=
|
|
3
|
-
`)}function
|
|
4
|
-
`)}\n`}function
|
|
1
|
+
import{existsSync as e}from"node:fs";import{readFile as t}from"node:fs/promises";import{dirname as n,isAbsolute as r,resolve as i}from"node:path";import{readProjectConfig as a}from"@coreframe/config";import{dashboardAppDirectory as o}from"@coreframe/dashboard/app";import{composeDashboardManifest as s,composeDashboardPluginTarget as c,discoverDashboardPages as l,renderDashboardPluginTargetModule as u,resolveDashboardModuleReference as d,resolveDashboardRouteModules as f}from"@coreframe/dashboard/build";import{createNodeHandler as p}from"@coreframe/dashboard/server";import{createServer as m,loadConfigFromFile as h,normalizePath as g,searchForWorkspaceRoot as _}from"vite";const v=`/__dashboard`,y=`virtual:coreframe-internal/dashboard/worker-plugins`,b=`\0${y}`,x=`virtual:coreframe-internal/dashboard/manifest`,S=`\0${x}`,C=`virtual:coreframe-internal/dashboard/routes`,w=`\0${C}`,T=`virtual:coreframe-internal/dashboard/document`,E=`\0${T}`,D=`virtual:coreframe-internal/dashboard/styles`,O=`\0${D}`;function k({dashboardConfig:e=`dashboard/dashboard.config.ts`,dashboardOrigin:t=process.env.COREFRAME_DASHBOARD_ORIGIN??`http://127.0.0.1:5174`,env:r=process.env,projectRoot:a=process.cwd()}={}){let o,s,l=()=>s??=P(a,e,o);return{name:`coreframe:dashboard`,async config(e,n){return o=n,{define:{__COREFRAME_DASHBOARD_BUILD__:JSON.stringify(await z(a,r))},server:{proxy:{[v]:{target:t}}}}},resolveId(e){if(e===y)return b},async load(e){if(e===b)return u(c(await l(),`deployed`))},configureServer(e){return()=>{let t=e.printUrls.bind(e);e.printUrls=()=>{t();let n=e.resolvedUrls?.local[0];n&&e.config.logger.info(` ➜ Dashboard: ${new URL(`${v}/`,n)}`)}}},configurePreviewServer:{order:`pre`,async handler(t){let r=await m({appType:`custom`,configFile:!1,envFile:!1,logLevel:`silent`,mode:t.config.mode,resolve:{alias:t.config.resolve.alias,dedupe:t.config.resolve.dedupe,tsconfigPaths:t.config.resolve.tsconfigPaths},root:a,server:{hmr:!1,middlewareMode:!0,watch:null}}),o;try{let s=await L(r.ssrLoadModule.bind(r),await l(),n(F(a,e))),c=t.config.environments.client.build.outDir;o=p({clientDist:i(t.config.root,c,v.slice(1)),plugins:s,projectRoot:a})}catch(e){throw await r.close(),e}t.middlewares.use(async(e,t,n)=>{if(!e.url||!I(e.url)){n();return}await o.handle(e,t)});let s,c=()=>s??=Promise.all([o.dispose(),r.close()]).then(()=>void 0),u=t.close.bind(t);return t.close=async()=>{await Promise.all([c(),u()])},t.httpServer.once(`close`,()=>{c()}),()=>{let e=t.printUrls.bind(t);t.printUrls=()=>{e();let n=t.resolvedUrls?.local[0];n&&t.config.logger.info(` ➜ Dashboard: ${new URL(`${v}/`,n)}`)}}}}}}function A({dashboardDirectory:e=process.cwd(),environment:n=process.env.DEPLOY_ENV?`deployed`:`local`,projectRoot:r=i(e,`..`)}={}){let a,c,u,d=i(e,`dashboard.config.ts`),m=()=>c??=P(r,d,a);return{name:`coreframe:dashboard-app`,config(e,t){return a=t,{cacheDir:e.cacheDir??i(r,`node_modules/.vite-dashboard`),optimizeDeps:{include:[`@coreframe/dashboard > @tanstack/react-query`]},server:{fs:{allow:[...e.server?.fs?.allow?[]:[_(r)],i(o,`..`)]}},ssr:{noExternal:[`@coreframe/dashboard`]}}},resolveId(e){if(e===x)return S;if(e===C)return w;if(e===T)return E;if(e===D)return O},async load(a){if(a===O)return M(e);if(a===E)return j((await m()).document,e,r);if(a!==S&&a!==w)return;let[o,c]=await Promise.all([m(),l({dashboardDirectory:e})]),u=s(o,c,{environment:n});if(a===w){let t=f(u,{dashboardDirectory:e,projectRoot:r});return`export const dashboardRoutePages = ${JSON.stringify(t)}\n`}let d=JSON.parse(await t(i(r,`package.json`),`utf8`));return`import favicon from ${JSON.stringify(g(i(r,`src/assets/favicon.svg`))+`?url`)};\nexport const dashboardApplication = { name: ${JSON.stringify(d.name)}, favicon };\nexport const dashboardManifest = ${JSON.stringify(u)}\n`},async configureServer(t){u=p({plugins:await L(t.ssrLoadModule.bind(t),await m(),e),projectRoot:r}),t.middlewares.use(async(e,t,n)=>{if(!e.url||!e.url.startsWith(`${v}/api/plugins/`)){n();return}await u.handle(e,t)}),t.httpServer?.once(`close`,()=>{u?.dispose()})}}}function j(e,t,n){if(!e)return[`export const Layout = undefined`,`export const links = undefined`,`export const meta = undefined`,`export default undefined`,``].join(`
|
|
2
|
+
`);let r=N(d(e,{dashboardDirectory:t,projectRoot:n}));return[`import * as document from ${JSON.stringify(r)}`,`export const Layout = document.Layout`,`export const links = document.links`,`export const meta = document.meta`,`export default document.default`,``].join(`
|
|
3
|
+
`)}function M(t){let n=[`import ${JSON.stringify(`@coreframe/dashboard/shell.css`)}`];for(let r of[`styled-system/styles.css`,`styles.css`]){let a=i(t,r);e(a)&&n.push(`import ${JSON.stringify(N(a))}`)}return`${n.join(`
|
|
4
|
+
`)}\n`}function N(e){return`/@fs/${g(e)}`}async function P(e,t,n){let r=F(e,t),i=await h(n,r,e,void 0,void 0,`runner`);if(!i)throw Error(`Could not load dashboard configuration at ${r}.`);return i.config}function F(e,t){return r(t)?t:i(e,t)}function I(e){let[t]=e.split(`?`,1);return t===v||t.startsWith(`${v}/`)}async function L(e,t,n){let r=c(t,`local`);return Promise.all(r.map(async t=>{let[r,i]=await Promise.all([e(R(t.apiModule,n)),e(R(t.implementationModule,n))]);return{api:r.api,createImplementation:i.createImplementation}}))}function R(e,t){return e.startsWith(`.`)?`/@fs/${g(i(n(i(t,`dashboard.config.ts`)),e))}`:e}async function z(e,n){let[r,o]=await Promise.all([t(i(e,`package.json`),`utf8`),a({cwd:e})]),s=JSON.parse(r),c=Object.entries(o.worker?.environment??{}).flatMap(([e,t])=>t.kind===`generated`?[]:[{description:t.description,kind:t.kind,name:e,requiredIn:t.requiredIn??[]}]);return{applicationName:s.name??`Coreframe application`,applicationVersion:s.version,commit:n.GITHUB_SHA,configuration:c,coreframeVersion:s.engines?.coreframe,deployUrls:{production:o.deploy?.environments?.production?.url,staging:o.deploy?.environments?.staging?.url}}}export{A as coreframeDashboardAppPlugin,k as coreframeDashboardPlugin};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coreframe/vite",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.52",
|
|
4
4
|
"description": "Vite plugins and build integrations for Coreframe apps",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -57,14 +57,14 @@
|
|
|
57
57
|
"obug": "^2.1.3",
|
|
58
58
|
"unplugin": "^2.3.11",
|
|
59
59
|
"vite-plugin-hashed-favicons": "^2.1.1",
|
|
60
|
-
"@coreframe/
|
|
61
|
-
"@coreframe/
|
|
62
|
-
"@coreframe/
|
|
63
|
-
"@coreframe/dev
|
|
64
|
-
"@coreframe/
|
|
60
|
+
"@coreframe/assets": "^0.1.22",
|
|
61
|
+
"@coreframe/config": "^0.1.19",
|
|
62
|
+
"@coreframe/dashboard": "^0.3.31",
|
|
63
|
+
"@coreframe/dev": "^0.1.35",
|
|
64
|
+
"@coreframe/flutter-tools": "^0.1.31",
|
|
65
|
+
"@coreframe/lib": "^0.2.17",
|
|
65
66
|
"@coreframe/flutter-js": "^0.1.33",
|
|
66
|
-
"@coreframe/
|
|
67
|
-
"@coreframe/lib": "^0.2.17"
|
|
67
|
+
"@coreframe/dev-contracts": "^0.1.12"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@tsdown/css": "0.22.3",
|