@coreframe/vite 0.2.26 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client.d.ts +6 -2
- package/dist/browser/flutter-devtools.d.ts +1 -1
- package/dist/browser/flutter-devtools.js +1 -1
- package/dist/browser/worktree-head-reload.js +1 -1
- package/dist/overlay/managed-dev-overlay.d.ts +1 -4
- package/dist/overlay/managed-dev-overlay.js +74 -7
- package/dist/plugins/flutter-devtools.d.ts +13 -0
- package/dist/plugins/flutter-devtools.js +1 -0
- package/dist/plugins/managed-dev.js +1 -1
- package/dist/plugins/preset.js +1 -1
- package/dist/plugins/shell.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +9 -13
- package/dist/codex-task-launcher.js +0 -69
- package/dist/overlay/codex-task-launcher.d.ts +0 -30
- package/dist/overlay/codex-task-launcher.js +0 -1
- package/dist/plugins/codex-task.d.ts +0 -14
- package/dist/plugins/codex-task.js +0 -1
package/client.d.ts
CHANGED
|
@@ -13,12 +13,16 @@ interface ImportMeta {
|
|
|
13
13
|
|
|
14
14
|
declare module "virtual:coreframe-shell" {
|
|
15
15
|
export const shell: import("@coreframe/lib/shell").CoreframeShell
|
|
16
|
+
export const DocumentScrollLock: typeof import("@coreframe/lib/document-scroll-lock").DocumentScrollLock
|
|
16
17
|
export const ShellHost: (props: Record<string, never>) => import("react").ReactNode
|
|
17
18
|
export const NativeRouteLink: (
|
|
18
19
|
props: import("@coreframe/lib/shell").NativeRouteLinkProps,
|
|
19
20
|
) => import("react").ReactNode
|
|
20
|
-
export type NativeSurfaceProps =
|
|
21
|
-
|
|
21
|
+
export type NativeSurfaceProps<SurfaceId extends string = string> =
|
|
22
|
+
import("@coreframe/flutter-js/composition").NativeSurfaceProps<SurfaceId>
|
|
23
|
+
export const NativeSurface: (
|
|
24
|
+
props: import("@coreframe/flutter-js/composition").NativeSurfacePropsForRegistry,
|
|
25
|
+
) => import("react").ReactNode
|
|
22
26
|
export function configureShellClient(): void
|
|
23
27
|
}
|
|
24
28
|
|
|
@@ -11,7 +11,7 @@ type FlutterDevToolsAuth = Readonly<{
|
|
|
11
11
|
}>;
|
|
12
12
|
/** Registers the app-owned authentication callbacks used by the native launcher. */
|
|
13
13
|
declare function registerFlutterDevToolsAuth(auth: FlutterDevToolsAuth): () => void;
|
|
14
|
-
/**
|
|
14
|
+
/** Publishes the page-owned state-launcher registry through Vite to its Flutter host. */
|
|
15
15
|
declare function installFlutterDevTools(hot?: FlutterDevToolsHotContext | undefined): () => void;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { FlutterDevToolsAuth, installFlutterDevTools, registerFlutterDevToolsAuth };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{flutterDevToolsEvents as e,flutterDevToolsProtocolVersion as t}from"@coreframe/dev-contracts/flutter-devtools";import{createDevToolsClient as n}from"@coreframe/flutter-js/devtools";import{clearActiveState as r,getStateLauncherSnapshot as i,launchStateLauncherCommand as a,subscribeStateLauncher as o}from"state-launcher/headless";let s,c,l,u;function d(e){let t={auth:e,token:{}};return c=t,h(),()=>{c?.token===t.token&&(c=void 0,h())}}function f(t=v()){let r,i=()=>h();r=n({features:[`state-launcher`],onReady:(e,n)=>{u=n,m(t,n),i()}}),s=r,l=t,t&&t.on(e.stateLauncherRequest,c);let a=o(i);return()=>{let n=s===r?u:void 0;n&&t&&t.send(e.pageDisconnect,n),a(),t&&t.off(e.stateLauncherRequest,c),s===r&&(s=void 0,l=void 0,u=void 0),r.dispose()};function c(e){let n=u;!n||!_(n,e)||Promise.resolve().then(()=>p(e.request)).then(()=>g(t,n,e.request.requestId,`completed`),()=>g(t,n,e.request.requestId,`error`))}}async function p(e){if(e.action===`clear`){await r();return}if(e.action===`auth`){let t=c?.auth;if(!t)throw Error(`State launcher authentication is not configured.`);e.authAction===`signIn`?t.getIsSignedIn()||await t.onSignIn():t.getIsSignedIn()&&await t.onSignOut(),h();return}await a(e.id)}function m(n,r){n?.send(e.pageConnect,{...r,protocolVersion:t})}function h(){let t=l,n=u;if(!t||!n)return;let r=c?.auth,a=r?{isSignedIn:r.getIsSignedIn()}:null;t.send(e.stateLauncherState,{...n,state:{auth:a,snapshot:i()}})}function g(t,n,r,i){t?.send(e.stateLauncherResult,{...n,result:i===`completed`?{requestId:r,status:i}:{error:{code:`command-failed`,message:`The state launcher command failed.`},requestId:r,status:i}})}function _(e,t){return e.applicationScopeId===t.applicationScopeId&&e.rootWebRuntimeId===t.rootWebRuntimeId&&e.shellSessionId===t.shellSessionId}function v(){return import.meta.hot}export{f as installFlutterDevTools,d as registerFlutterDevToolsAuth};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,{intervalMs:t=3e4}={}){let n=!1,r,i=!1,a=()=>{i||(i=!0,
|
|
1
|
+
function e(e,{intervalMs:t=3e4}={}){let n=!1,r,i=!1,a=()=>{i||(i=!0,globalThis.clearInterval(c),window.removeEventListener(`focus`,o),document.removeEventListener(`visibilitychange`,s))},o=()=>{n||i||(n=!0,fetch(`/__coreframe/worktree-head`,{cache:`no-store`}).then(async t=>{if(!t.ok||i)return;let n=(await t.text()).trim();if(n){if(!r){r=n;return}n!==r&&(a(),e())}}).catch(()=>{}).finally(()=>{n=!1}))},s=()=>{document.visibilityState===`visible`&&o()},c=globalThis.setInterval(o,t);return window.addEventListener(`focus`,o),document.addEventListener(`visibilitychange`,s),o(),a}export{e as watchWorktreeHead};
|
|
@@ -9,16 +9,13 @@ type ManagedDevOverlayIndicatorProps = {
|
|
|
9
9
|
};
|
|
10
10
|
type ManagedDevOverlayProps = {
|
|
11
11
|
bottomOffset?: number | string;
|
|
12
|
-
codexEnabled?: boolean;
|
|
13
12
|
debug?: boolean;
|
|
14
13
|
indicator?: ReactNode;
|
|
15
14
|
rightOffset?: number | string;
|
|
16
15
|
};
|
|
17
16
|
declare function toggleManagedDevOverlay(): void;
|
|
18
|
-
declare function openManagedDevCodex(): void;
|
|
19
17
|
declare function ManagedDevOverlay({
|
|
20
18
|
bottomOffset,
|
|
21
|
-
codexEnabled,
|
|
22
19
|
debug,
|
|
23
20
|
indicator,
|
|
24
21
|
rightOffset
|
|
@@ -30,4 +27,4 @@ declare function ManagedDevOverlayIndicator({
|
|
|
30
27
|
warningColor
|
|
31
28
|
}: ManagedDevOverlayIndicatorProps): import("react").JSX.Element;
|
|
32
29
|
//#endregion
|
|
33
|
-
export { ManagedDevOverlay, ManagedDevOverlayIndicator, ManagedDevOverlayIndicatorProps, ManagedDevOverlayProps,
|
|
30
|
+
export { ManagedDevOverlay, ManagedDevOverlayIndicator, ManagedDevOverlayIndicatorProps, ManagedDevOverlayProps, toggleManagedDevOverlay };
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{SpinnerInline as e}from"@agilek/cli-loaders";import{developmentControlsEvents as t}from"@coreframe/dev-contracts/development-controls";import{managedDevEvents as n}from"@coreframe/dev-contracts/managed-dev";import{cloneElement as r,createContext as i,createElement as a,forwardRef as o,isValidElement as s,useCallback as c,useContext as l,useEffect as u,useRef as d,useState as f,useSyncExternalStore as p}from"react";import{createPortal as m}from"react-dom";import{Fragment as h,jsx as g,jsxs as _}from"react/jsx-runtime";const v=()=>{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},y=(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=v();return s&&o.setAttribute(`nonce`,s),o.textContent=t,n.appendChild(o),o},b=`data-isolet`,x=(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=`[${b}="${e}"]`,i=t.querySelector(r);if(i)return{host:i,shadowRoot:null,container:i,target:t};let a=document.createElement(`div`);if(a.setAttribute(b,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))a.setAttribute(e,t);return S(a,n),n.css&&y(e,n.css,t),t.appendChild(a),{host:a,shadowRoot:null,container:a,target:t}}let i=`[${b}="${e}"]`,a=t.querySelector(i);if(a){if(r===`shadow-dom`&&a.shadowRoot){let e=a.shadowRoot.querySelector(`[${b}-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(b,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&&y(e,n.css,r);let i=document.createElement(`div`);return i.setAttribute(`${b}-root`,``),r.appendChild(i),S(o,n),t.appendChild(o),{host:o,shadowRoot:r,container:i,target:t}}return S(o,n),n.css&&y(e,n.css,t),t.appendChild(o),{host:o,shadowRoot:null,container:o,target:t}},S=(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))},C=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),w=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),T=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),E=e=>{
|
|
2
2
|
/**
|
|
3
3
|
* @license lucide-react v1.24.0 - ISC
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the ISC license.
|
|
6
6
|
* See the LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
-
;const y=r(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),b=r(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),x=r(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),S=r(`circle-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`,key:`1pfsoa`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`,key:`1ablyi`}]]),C=r(`circle-pause`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`,key:`c1nkhi`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`,key:`h65svq`}]]),w=r(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ee=r(`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`}]]),te=r(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),T=r(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),ne=r(`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`}]]),E=r(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),D=r(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),O=r(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),k=r(`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`}]]),A=r(`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`}]]),j=r(`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`}]]),M=r(`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`}]])
|
|
9
8
|
/**
|
|
10
9
|
* @license lucide-react v1.24.0 - ISC
|
|
11
10
|
*
|
|
@@ -24,18 +23,21 @@ import{a as e,i as t,n,o as r,s as i}from"../codex-task-launcher.js";import{clon
|
|
|
24
23
|
* This source code is licensed under the ISC license.
|
|
25
24
|
* See the LICENSE file in the root directory of this source tree.
|
|
26
25
|
*/
|
|
26
|
+
let t=T(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 D={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
34
|
/**
|
|
34
35
|
* @license lucide-react v1.24.0 - ISC
|
|
35
36
|
*
|
|
36
37
|
* This source code is licensed under the ISC license.
|
|
37
38
|
* See the LICENSE file in the root directory of this source tree.
|
|
38
39
|
*/
|
|
40
|
+
const O=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},ee=i({}),te=()=>l(ee),ne=o(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:o,iconNode:s,...c},l)=>{
|
|
39
41
|
/**
|
|
40
42
|
* @license lucide-react v1.24.0 - ISC
|
|
41
43
|
*
|
|
@@ -48,12 +50,14 @@ import{a as e,i as t,n,o as r,s as i}from"../codex-task-launcher.js";import{clon
|
|
|
48
50
|
* This source code is licensed under the ISC license.
|
|
49
51
|
* See the LICENSE file in the root directory of this source tree.
|
|
50
52
|
*/
|
|
53
|
+
let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=te()??{},h=r??f?Number(n??d)*24/Number(t??u):n??d;return a(`svg`,{ref:l,...D,width:t??u??D.width,height:t??u??D.height,stroke:e??p,strokeWidth:h,className:C(`lucide`,m,i),...!o&&!O(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>a(e,t)),...Array.isArray(o)?o:[o]])}),k=(e,t)=>{
|
|
51
54
|
/**
|
|
52
55
|
* @license lucide-react v1.24.0 - ISC
|
|
53
56
|
*
|
|
54
57
|
* This source code is licensed under the ISC license.
|
|
55
58
|
* See the LICENSE file in the root directory of this source tree.
|
|
56
59
|
*/
|
|
60
|
+
let n=o(({className:n,...r},i)=>a(ne,{ref:i,iconNode:t,className:C(`lucide-${w(E(e))}`,`lucide-${e}`,n),...r}));return n.displayName=E(e),n},re=k(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),ie=k(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),A=k(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),ae=k(`circle-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`,key:`1pfsoa`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`,key:`1ablyi`}]]),oe=k(`circle-pause`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`,key:`c1nkhi`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`,key:`h65svq`}]]),se=k(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),j=k(`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`}]]),ce=k(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),le=k(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),ue=k(`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`}]]),de=k(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),fe=k(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),pe=k(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),M=k(`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`}]]),N=k(`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`}]]),me=k(`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`}]]),P=k(`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`}]]),F=k(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]])
|
|
57
61
|
/**
|
|
58
62
|
* @license lucide-react v1.24.0 - ISC
|
|
59
63
|
*
|
|
@@ -102,8 +106,71 @@ import{a as e,i as t,n,o as r,s as i}from"../codex-task-launcher.js";import{clon
|
|
|
102
106
|
* This source code is licensed under the ISC license.
|
|
103
107
|
* See the LICENSE file in the root directory of this source tree.
|
|
104
108
|
*/
|
|
105
|
-
|
|
106
|
-
\n[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,.codexButton:focus-visible,.codexPrompt: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}.codexForm{gap:12px;display:grid}.codexPrompt{background:var(--overlay-background);border:1px solid var(--overlay-border-strong);box-sizing:border-box;color:inherit;font:inherit;resize:vertical;border-radius:10px;width:100%;min-height:130px;padding:10px 12px}.codexHint{color:var(--overlay-text-subtle);margin:0;font-size:12px}.codexError{background:var(--overlay-danger-soft);border:1px solid var(--overlay-danger-border);color:var(--overlay-danger-text);border-radius:9px;margin:0;padding:8px 10px}.codexActions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.codexButton{border:1px solid var(--overlay-border-strong);color:inherit;cursor:pointer;font:inherit;background:0 0;border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:7px 11px;display:inline-flex}.codexButton:hover:not(:disabled){background:var(--overlay-surface-muted)}.codexPrimary{background:var(--overlay-accent);border-color:var(--overlay-accent);color:var(--oc-white)}.codexPrimary:hover:not(:disabled){background:var(--overlay-accent-hover);border-color:var(--overlay-accent-hover)}.codexButton:disabled{cursor:wait;opacity:.55}.codexToast{color:var(--overlay-success-text);font-size:12px}.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}.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,.codexButton{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)}}
|
|
107
|
-
`,R=`GPT-5.6 Luna (Max)`;let z=!1,B=0,re=0;const V=new Set;let H=!1;const U=new Set,ie=[{description:`A clean managed checkout with no available updates.`,id:`idle`,label:`No updates`,status:{mode:`managed`,warnings:[]}},{description:`Tracked and untracked files awaiting review.`,id:`local-changes`,label:`Review local changes`,status:{draft:{fingerprint:`debug-local-changes`,tracked:!0,untracked:[`src/web/new-feature.tsx`,`src/web/new-feature.style.ts`]},mode:`managed`,warnings:[]}},{description:`Local changes with a proposed Conventional Commit message.`,id:`confirm-commit`,label:`Confirm commit`,status:{draft:{fingerprint:`debug-confirm-commit`,tracked:!0,untracked:[`src/web/new-feature.tsx`]},mode:`managed`,proposal:`feat: add the new feature`,warnings:[]}},{description:`A newer commit is available from the local dev branch.`,id:`dev-update`,label:`Local dev update`,status:{mode:`managed`,target:{commit:`1234567890abcdef`,commits:[{commit:`fedcba0987654321`,shortCommit:`fedcba098765`,subject:`feat: add managed preview foundations`},{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: update the managed preview`}],shortCommit:`1234567890ab`,source:`dev`,subject:`feat: update the managed preview`},warnings:[]}},{description:`A newer upstream main commit is ready to refresh.`,id:`upstream-update`,label:`Upstream update`,status:{mode:`managed`,target:{commit:`abcdef1234567890`,commits:[{commit:`0123456789abcdef`,shortCommit:`0123456789ab`,subject:`chore: refresh shared dependencies`},{commit:`abcdef1234567890`,shortCommit:`abcdef123456`,subject:`fix: update shared project defaults`}],shortCommit:`abcdef123456`,source:`upstream`,subject:`fix: update shared project defaults`},warnings:[]}},{description:`The accepted update is currently being integrated.`,id:`busy`,label:`Busy integration`,status:{busy:`Integrating accepted update`,mode:`managed`,warnings:[]}},{description:`Managed development is paused until the checkout returns to main.`,id:`paused`,label:`Paused checkout`,status:{message:`Managed synchronization is paused until the primary checkout is back on local main.`,mode:`waiting`,warnings:[]}},{description:`Managed development cannot run from the current checkout.`,id:`unavailable`,label:`Unavailable checkout`,status:{message:`Managed development only runs from the primary checkout.`,mode:`unmanaged`,warnings:[]}},{description:`A managed-development warning requiring attention.`,id:`warning`,label:`Warning`,status:{mode:`managed`,warnings:[`The remote update could not be checked. The last known project state is shown.`]}},{description:`Typechecking failed after synchronization.`,id:`failed-check`,label:`Failed check`,status:{checks:{commit:`1234567890abcdef`,commands:[{command:`pnpm typecheck`,failureId:`debug-typecheck-failure`,output:`src/web/feature.tsx(12,4): error TS2322: Type mismatch.`,status:`failed`},{command:`pnpm test`,status:`passed`}],trigger:`synchronization`},mode:`managed`,warnings:[]}},{description:`Dependency installation failed after synchronization.`,id:`dependency-failure`,label:`Dependency failure`,status:{mode:`managed`,setupFailure:{command:`pnpm install --frozen-lockfile`,commit:`1234567890abcdef`,message:`The project was synchronized, but dependency installation failed. Fix the package or lockfile issue, then retry the install.`,output:`ERR_PNPM_OUTDATED_LOCKFILE Cannot install with a frozen lockfile.`,restartRequired:!0,stage:`dependencies`},warnings:[]}},{description:`Database migration failed and can be reset.`,id:`migration-failure`,label:`Database failure`,status:{mode:`managed`,setupFailure:{command:`pnpm db migrate-local`,commit:`1234567890abcdef`,message:`The project was synchronized, but its database migration failed. The previous database was restored.`,output:`Migration 0012_add_project_state failed: duplicate column name.`,restartRequired:!1,stage:`migration`},warnings:[]}},{codex:{commits:[{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: add managed development`}],messages:[{kind:`user`,text:`Resolve the current Git rebase conflicts in src/web/root.tsx.`},{kind:`thought`,text:`Inspecting the conflicting layout changes.`},{kind:`thought`,text:`Preserving the behavior introduced on both branches.`}],phase:`running`,requestId:`debug-codex-running`,totalCommits:4},description:`Codex is resolving conflicts with previous thoughts collapsed.`,id:`codex-running`,label:`Codex reasoning`,status:{busy:`Integrating accepted update`,mode:`managed`,warnings:[]}},{codex:{commits:[{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: add managed development`}],messages:[{kind:`user`,text:`Resolve the current Git rebase conflicts in src/web/root.tsx.`},{kind:`thought`,text:`Preserving the behavior introduced on both branches.`},{author:R,kind:`agent`,text:`Resolved root.tsx while preserving both the command layer and overlay mounting.`}],phase:`complete`,requestId:`debug-codex-message`,totalCommits:1},description:`Codex has produced its final message while synchronization finishes.`,id:`codex-message`,label:`Codex response`,status:{busy:`Integrating accepted update`,mode:`managed`,warnings:[]}},{codex:{commits:[],messages:[{kind:`user`,text:`Resolve the current Git merge conflicts in src/web/root.tsx.`},{kind:`thought`,text:`The conflict could not be resolved safely.`}],phase:`error`,requestId:`debug-codex-error`},description:`The Codex-assisted conflict resolution failed.`,error:`Codex could not resolve the merge conflicts.`,id:`codex-error`,label:`Codex failure`,status:{mode:`managed`,warnings:[]}},{description:`A durable Codex completion waiting for acknowledgment.`,id:`codex-finished`,label:`Codex finished`,status:{codexCompletion:{commits:[{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: add managed development`}],finalMessage:`Resolved root.tsx while preserving both the command layer and overlay mounting.`,id:`debug-completion`,messages:[{kind:`user`,text:`Resolve the current Git rebase conflicts in src/web/root.tsx.`},{kind:`thought`,text:`Inspecting the conflicting layout changes.`},{author:R,kind:`agent`,text:`Resolved root.tsx while preserving both the command layer and overlay mounting.`}],totalCommits:1},mode:`managed`,warnings:[]}},{description:`A successful synchronization result before it auto-dismisses.`,id:`success`,label:`Refresh success`,status:{mode:`managed`,warnings:[]},success:{heading:`Refresh complete`,message:`Your project is up to date.`}}],ae=[`codex-running`,`codex-finished`,`codex-message`,`codex-error`,`migration-failure`,`dependency-failure`,`failed-check`,`confirm-commit`,`local-changes`,`upstream-update`,`dev-update`,`busy`,`warning`,`paused`,`unavailable`,`success`,`idle`].map(e=>{let t=ie.find(t=>t.id===e);if(!t)throw Error(`Missing managed dev debug scenario: ${e}`);return t});function oe(){W(!z)}function se(){G(!0),W(!0)}function W(e){if(z!==e){z=e;for(let e of V)e()}}function G(e){if(H!==e){H=e;for(let e of U)e()}}function ce({bottomOffset:e,codexEnabled:t=!1,debug:n=!1,indicator:r,rightOffset:i}){return n?m(de,{bottomOffset:e,indicator:r,rightOffset:i}):m(le,{bottomOffset:e,codexEnabled:t,indicator:r,rightOffset:i})}function le({bottomOffset:e,codexEnabled:t=!1,indicator:n,rightOffset:r}){let{act:i,checkFailure:s,codex:l,dismissCheckFailure:u,dismissError:f,dismissSuccess:p,error:h,hmrReady:g,pendingAction:_,status:v,success:y}=Me(),b=Ae(),x=d(Pe,Le,Re);c(()=>{if(!y)return;let e=setTimeout(()=>{p(),W(!1)},1600);return()=>clearTimeout(e)},[p,y]);let S=n??m(q,{}),C=o(S)&&S.type===q?a(S,{paused:!v?.target}):S;return m(ue,{bottomOffset:e,ready:g,indicator:g&&v&&($(v,s)||t)?C:null,rightOffset:r,children:m(me,{act:i,checkFailure:s,codex:l,codexEnabled:t,codexPromptOpen:x,developmentControls:b,dismissCheckFailure:u,dismissError:f,error:h,onClose:()=>{v?.codexCompletion&&i({id:v.codexCompletion.id,type:`acknowledge-codex`}),G(!1),W(!1)},onCloseCodex:()=>G(!1),onOpenCodex:se,pendingAction:_,status:v,success:y})})}function ue({bottomOffset:e,children:t,indicator:n,openOnMount:r=!1,ready:a=!0,rightOffset:o}){let[s,l]=u(null),p=d(Ne,Fe,Ie);c(()=>{r&&W(!0);let e=!0,t=i(`coreframe-managed-dev`,document.body,{css:L,hostAttributes:{"aria-live":`polite`,id:`coreframe-managed-dev`},hostStyles:{pointerEvents:`none`,position:`fixed`},zIndex:2147483647});return queueMicrotask(()=>{e&&l(t.container)}),()=>{e=!1,t.host?.remove()}},[r]);let m={"--managed-dev-bottom-offset":fe(e),"--managed-dev-right-offset":fe(o)};return s?f(h(`div`,{className:I.surface,style:m,children:[a?n:null,a&&p?t:null]}),s):null}function de({bottomOffset:e,indicator:t,rightOffset:n}){let[r,i]=u(),[s,c]=u(),[l,d]=u(),f=ie.find(({id:e})=>e===r),p=e=>{i(e),c(void 0),d(void 0)},h=async e=>{if(e.type===`acknowledge-codex`){p(void 0);return}d(je(e))},g=t??m(q,{}),_={pending:!1,reloadPage:()=>c(`Page reload simulated.`),restartVite:()=>c(`Vite restart simulated.`),success:s};return m(ue,{bottomOffset:e,indicator:o(g)&&g.type===q?a(g,{paused:f?.status.mode===`waiting`}):g,openOnMount:!0,rightOffset:n,children:f?m(me,{act:h,checkFailure:Q(f.status),codex:f.codex,codexEnabled:!1,codexPromptOpen:!1,developmentControls:_,dismissCheckFailure:()=>void 0,dismissError:()=>void 0,error:f.error,onBack:()=>p(void 0),onClose:()=>W(!1),onCloseCodex:()=>void 0,onOpenCodex:()=>void 0,status:f.status,success:l??f.success},f.id):m(pe,{developmentControls:_,onClose:()=>W(!1),onSelect:e=>p(e)})})}function fe(e){return typeof e==`number`?`${e}px`:e??`0px`}function pe({developmentControls:e,onClose:t,onSelect:n}){return m(K,{debug:!0,developmentControls:e,icon:b,onClose:t,title:`Managed dev overlay scenarios`,children:m(`div`,{className:I.scenarioList,children:ae.map(e=>h(`button`,{className:I.scenarioButton,onClick:()=>n(e.id),type:`button`,children:[m(`span`,{className:I.scenarioLabel,children:e.label}),m(`span`,{className:I.scenarioDescription,children:e.description})]},e.id))})})}function K({children:t,debug:n=!1,developmentControls:r,icon:i,onBack:a,onClose:o,title:s}){let d=l(null),f=l(null),[p,g]=u(!1);return c(()=>{let e=e=>{let t=e.composedPath(),n=f.current;n&&!t.includes(n)&&g(!1);let r=d.current;r&&!t.includes(r)&&o()},t=e=>{e.key===`Escape`&&(e.preventDefault(),o())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[o]),h(`dialog`,{"aria-labelledby":`coreframe-managed-title`,"aria-modal":`true`,className:I.dialog,id:`coreframe-managed-dev-dialog`,open:!0,ref:d,children:[h(`div`,{className:I.header,children:[h(`h2`,{className:I.title,id:`coreframe-managed-title`,children:[m(i,{"aria-hidden":`true`,className:I.titleIcon,size:18}),s]}),h(`div`,{className:I.headerActions,children:[a?m(`button`,{"aria-label":`Back to scenarios`,className:I.iconButton,onClick:a,type:`button`,children:m(y,{"aria-hidden":`true`,size:18})}):null,r?h(`div`,{className:I.developmentControlsDropdown,ref:f,children:[m(`button`,{"aria-expanded":p,"aria-haspopup":`menu`,"aria-label":`Development controls`,className:I.iconButton,onClick:()=>g(e=>!e),type:`button`,children:m(T,{"aria-hidden":`true`,size:18})}),p?m(he,{controls:r}):null]}):null,m(`button`,{"aria-label":`Close managed development`,className:I.iconButton,onClick:o,type:`button`,children:m(e,{"aria-hidden":`true`,size:18})})]})]}),m(`div`,{className:I.drawerBody,children:t}),n?m(`footer`,{className:I.debugFooter,children:`Debug preview · project actions are simulated locally`}):null]})}function q({color:e=`#228be6`,paused:t=!1,size:n=14,warningColor:r=`#fd7e14`}){let i=d(Ne,Fe,Ie),a={"--managed-dev-indicator-color":t?r:e,"--managed-dev-indicator-size":typeof n==`number`?`${n}px`:n};return m(`button`,{"aria-controls":`coreframe-managed-dev-dialog`,"aria-expanded":i,"aria-label":`${i?`Hide`:`Show`} Coreframe managed development`,className:I.indicatorButton,onClick:oe,style:a,type:`button`,children:m(`span`,{className:I.indicatorDot})})}function me({act:t,checkFailure:n,codex:r,codexEnabled:i,codexPromptOpen:a,developmentControls:o,dismissCheckFailure:s,dismissError:d,error:f,onBack:g,onClose:_,onCloseCodex:v,onOpenCodex:y,pendingAction:b,status:S,success:C}){let[w,te]=u({value:``}),[T,E]=u(()=>({paths:new Set})),D=l(null),[O,N]=u(),P=S?.codexCompletion,F=S?.draft,L=S?.target,R=!P&&!C&&!r,z=T.fingerprint===F?.fingerprint?T.paths:new Set(F?.untracked??[]),B=w.fingerprint===F?.fingerprint&&w.proposal===S?.proposal?w.value:S?.proposal??``,re=!!(F?.untracked.length&&F.untracked.every(e=>z.has(e)));return c(()=>{let e=D.current;e&&r?.phase===`running`&&(e.scrollTop=e.scrollHeight)},[r]),n?h(K,{debug:!!g,developmentControls:o,icon:M,onBack:g,onClose:_,title:`Managed development check failed`,children:[h(`div`,{className:I.content,children:[m(`div`,{className:I.checkFailure,role:`alert`,children:h(`div`,{className:I.checkMessage,children:[h(`p`,{className:I.checkCommand,children:[n.check.command,` failed`]}),m(`p`,{className:I.checkGuidance,children:De(n)}),m(`p`,{className:I.checkGuidance,children:`Copy the output and paste it into your agent orchestration tool.`})]})}),h(Y,{children:[m(Z,{ariaLabel:`Dismiss error`,icon:e,iconOnly:!0,onClick:()=>s(n),children:`Dismiss`}),m(Z,{ariaLabel:`Copy output for ${n.check.command}`,icon:ee,iconOnly:!0,onClick:()=>void navigator.clipboard.writeText(n.check.output??``),children:`Copy output`})]})]}),m(ge,{enabled:i,notice:O,onClose:v,onOpen:y,open:a,onStarted:N})]}):h(K,{debug:!!g,developmentControls:o,icon:we({codex:r,completion:P,status:S,success:C}),onBack:g,onClose:_,title:P?`Codex conflict resolution finished`:C?.heading??(r?.phase===`complete`?`Finishing synchronization…`:r?.phase===`error`?`Conflict resolution failed.`:r?`Resolving conflicts with Codex…`:Ce(S)),children:[h(`div`,{className:I.content,children:[C&&!P?h(`div`,{className:I.actionSuccess,role:`status`,children:[m(x,{"aria-hidden":`true`,className:I.successIcon,size:18}),m(`p`,{className:I.paragraph,children:C.message})]}):null,f?h(p,{children:[m(`div`,{className:I.actionError,role:`alert`,children:m(X,{children:f})}),m(Y,{children:m(Z,{ariaLabel:`Dismiss error`,icon:e,iconOnly:!0,onClick:d,children:`Dismiss`})})]}):null,P||!C&&r?m(_e,{commits:P?.commits??r?.commits??[],completion:P,messages:P?.messages??r?.messages??[],outputRef:D,totalCommits:P?.totalCommits??r?.totalCommits,working:r?.phase===`running`}):R&&S?.setupFailure?h(p,{children:[h(`div`,{className:I.setupFailure,role:`alert`,children:[m(X,{children:S.setupFailure.message}),m(`pre`,{className:I.codexOutput,children:S.setupFailure.output})]}),h(Y,{children:[m(Z,{ariaLabel:`Dismiss error`,icon:e,iconOnly:!0,onClick:_,children:`Dismiss`}),m(Z,{ariaLabel:`Copy diagnostics`,disabled:!!S.busy,icon:ee,iconOnly:!0,onClick:()=>void navigator.clipboard.writeText(ke(S.setupFailure)),children:`Copy diagnostics`}),S.setupFailure.stage===`dependencies`?m(Z,{ariaLabel:`Retry install`,busy:b?.type===`retry-install`,disabled:!!S.busy,icon:k,iconOnly:!0,onClick:()=>void t({type:`retry-install`}),primary:!0,children:`Retry install`}):S.setupFailure.stage===`codegen`?m(Z,{ariaLabel:`Retry codegen`,busy:b?.type===`retry-codegen`,disabled:!!S.busy,icon:k,iconOnly:!0,onClick:()=>void t({type:`retry-codegen`}),primary:!0,children:`Retry codegen`}):m(Z,{busy:b?.type===`reset-database`,disabled:!!S.busy,icon:A,onClick:()=>{window.confirm(`Reset the local database? This permanently deletes its current data, then reapplies migrations and seed scripts.`)&&t({type:`reset-database`})},primary:!0,children:`Reset database`})]})]}):R?m(`p`,{className:I.paragraph,children:S?S.busy||S.message||Te(S):`Checking managed development status…`}):null,P&&!f?m(Y,{children:m(Z,{busy:b?.type===`acknowledge-codex`,disabled:!!S?.busy,icon:x,onClick:()=>void t({id:P.id,type:`acknowledge-codex`}),primary:!0,children:`Continue`})}):null,R&&S?.mode===`waiting`&&S.message?h(`p`,{className:I.paragraph,children:[`To re-enable managed development, run `,m(`code`,{children:`git switch main`}),` in the primary checkout. Synchronization will resume automatically.`]}):null,R&&L&&!F?m(`pre`,{className:I.pendingCommits,children:(L.commits??[L]).map(e=>`${e.shortCommit} ${e.subject}`).join(`
|
|
108
|
-
`)}):null,R?S?.warnings.map((e,t)=>m(`p`,{className:`${I.paragraph} ${I.warning}`,children:e},`${t}-${e}`)):null,R&&F?h(p,{children:[h(`div`,{className:I.files,children:[F.untracked.map(e=>m(Se,{checked:z.has(e),label:m(`span`,{className:I.filePath,children:e}),onChange:t=>E(()=>{let n=new Set(z);return t?n.add(e):n.delete(e),{fingerprint:F.fingerprint,paths:n}})},e)),F.untracked.length>0?m(Se,{checked:re,label:`Include all untracked files`,onChange:e=>E({fingerprint:F.fingerprint,paths:e?new Set(F.untracked):new Set})}):null]}),S.proposal===void 0?h(Y,{children:[L?m(Z,{busy:b?.type===`reject`,disabled:!!S.busy,icon:A,onClick:()=>void t({type:`reject`}),children:`Reject`}):null,m(Z,{busy:b?.type===`message`,disabled:!!S.busy,icon:j,onClick:()=>void t({type:`message`,fingerprint:F.fingerprint,untracked:[...z]}),primary:!0,children:`Generate commit message`})]}):h(p,{children:[m(`textarea`,{"aria-label":`Commit message`,className:I.message,onChange:e=>te({fingerprint:F.fingerprint,proposal:S.proposal,value:e.target.value}),value:B}),h(Y,{children:[L?m(Z,{busy:b?.type===`reject`,disabled:!!S.busy,icon:A,onClick:()=>void t({type:`reject`}),children:`Reject`}):null,m(Z,{busy:b?.type===(L?`apply`:`commit`),disabled:!!S.busy,icon:ne,onClick:()=>{t(L?{type:`apply`,target:L.commit,fingerprint:F.fingerprint,untracked:[...z],message:B}:{type:`commit`,fingerprint:F.fingerprint,untracked:[...z],message:B})},primary:!0,children:L?`Commit and refresh`:`Commit changes`})]})]})]}):R&&L?m(Y,{children:m(Z,{busy:b?.type===`prepare`,disabled:!!S.busy,icon:k,onClick:()=>void t({type:`prepare`,target:L.commit}),primary:!0,children:L.source===`upstream`?`Refresh`:String(L.source)===`dev`?`Sync with dev`:`Sync with main`})}):null]}),m(ge,{enabled:i,notice:O,onClose:v,onOpen:y,open:a,onStarted:N})]})}function he({controls:e}){return h(`div`,{"aria-label":`Development controls`,className:I.developmentControls,role:`menu`,children:[h(Y,{children:[m(Z,{immediatelyEnabled:!0,icon:k,onClick:e.reloadPage,role:`menuitem`,children:`Reload page`}),m(Z,{busy:e.pending,immediatelyEnabled:!0,icon:A,onClick:e.restartVite,primary:!0,role:`menuitem`,children:e.pending?`Restarting Vite…`:`Restart Vite`})]}),e.error?m(`div`,{className:I.actionError,role:`alert`,children:m(X,{children:`Vite restart failed: ${e.error}`})}):null,e.success?h(`div`,{className:I.actionSuccess,role:`status`,children:[m(x,{"aria-hidden":`true`,className:I.successIcon,size:18}),m(`p`,{className:I.paragraph,children:e.success})]}):null]})}function ge({enabled:e,notice:t,onClose:r,onOpen:i,onStarted:a,open:o}){return e?h(`section`,{"aria-labelledby":`coreframe-codex-heading`,className:I.section,children:[h(`div`,{className:I.sectionHeading,children:[h(`div`,{children:[m(`h3`,{className:I.sectionTitle,id:`coreframe-codex-heading`,children:`Codex`}),m(`p`,{className:I.sectionDescription,children:`Start a prompt in the existing Codex task workflow.`})]}),o?m(`button`,{className:I.sectionLink,onClick:r,type:`button`,children:`Close`}):null]}),o?m(n,{classNames:{actions:I.codexActions,button:I.codexButton,error:I.codexError,form:I.codexForm,hint:I.codexHint,primary:I.codexPrimary,prompt:I.codexPrompt,toast:I.codexToast},label:`Codex chat prompt`,onClose:r,onStarted:a,placeholder:`Describe what you want Codex to do…`,showToast:!1}):m(Y,{children:m(Z,{icon:j,onClick:i,primary:!0,children:`New Codex chat`})}),t?h(`div`,{className:I.actionSuccess,role:`status`,children:[m(x,{"aria-hidden":`true`,className:I.successIcon,size:18}),m(`p`,{className:I.paragraph,children:t})]}):null]}):null}function _e({commits:e,completion:t,messages:n,outputRef:r,totalCommits:i,working:a}){let o=[...n].reverse().find(e=>e.kind===`user`),s=[...n].reverse().find(e=>e.kind!==`user`),c=t?[...n].reverse().find(e=>e.kind===`agent`&&e.text===t.finalMessage):s,l=n.filter(e=>e.kind!==`user`&&e!==c),u=t?c??{author:[...n].reverse().find(e=>e.kind===`agent`)?.author,kind:`agent`,text:t.finalMessage}:s,d=c?`message-${n.lastIndexOf(c)}`:`completion`;return h(p,{children:[a?m(`div`,{className:I.codexWorking,children:m(g,{className:I.codexWorkingSpinner,label:`Codex is resolving conflicts`,children:m(ve,{})})}):null,h(`div`,{"aria-live":t?void 0:`polite`,className:I.codexTranscript,ref:r,role:`log`,children:[o?m(J,{message:o}):null,l.length>0?h(`details`,{children:[h(`summary`,{className:I.codexHistorySummary,children:[`History (`,l.length,`)`]}),m(`div`,{className:I.codexHistoryList,children:l.map((e,t)=>m(J,{message:e},`history-${t}`))})]}):null,u?m(J,{message:u,showAge:!0},d):m(`p`,{className:I.codexWaiting,children:`Waiting for Codex output…`}),i?m(ye,{rebased:e.length,total:i}):null]})]})}function ve(){let e=l(0),[t,n]=u(0);return c(()=>{e.current=Date.now();let t=window.setInterval(()=>{n(Math.floor((Date.now()-e.current)/1e3))},1e3);return()=>window.clearInterval(t)},[]),h(p,{children:[`Working for `,xe(t),`...`]})}function ye({rebased:e,total:t}){let n=Math.min(e,t),r=Math.round(n/t*100);return h(`section`,{"aria-label":`Rebase progress`,className:I.rebaseProgress,children:[h(`div`,{className:I.rebaseProgressLabel,children:[h(`strong`,{children:[r,`% rebased`]}),h(`span`,{children:[n,` of `,t,` commits`]})]}),m(`div`,{"aria-valuemax":t,"aria-valuemin":0,"aria-valuenow":n,className:I.rebaseProgressTrack,role:`progressbar`,children:m(`span`,{className:I.rebaseProgressFill,style:{width:`${r}%`}})})]})}function J({message:e,showAge:t=!1}){let n=e.kind===`user`?`Request`:e.kind===`thought`?`Codex thought`:e.author??`Codex`,r=e.kind===`user`?I.codexMessageUser:e.kind===`thought`?I.codexMessageThought:I.codexMessageAgent;return h(`section`,{className:`${I.codexMessage} ${r}`,children:[h(`div`,{className:I.codexMessageHeader,children:[m(`h3`,{className:I.codexMessageLabel,children:n}),t?m(be,{}):null]}),m(`p`,{className:I.codexMessageText,children:e.text})]})}function be(){let e=l(0),[t,n]=u(0);return c(()=>{e.current=Date.now();let t=window.setInterval(()=>{n(Math.floor((Date.now()-e.current)/1e3))},1e3);return()=>window.clearInterval(t)},[]),h(`span`,{"aria-hidden":`true`,className:I.codexMessageAge,children:[xe(t),` ago`]})}function xe(e){let t=Math.floor(e/60),n=e%60;return t>0?`${t}m ${n}s`:`${n}s`}function Se({checked:e,label:t,onChange:n}){return h(`label`,{className:I.checkbox,children:[m(`input`,{checked:e,onChange:e=>n(e.target.checked),type:`checkbox`}),t]})}function Y({children:e}){return m(`div`,{className:I.actions,children:e})}function X({children:e}){return h(`div`,{className:I.errorMessage,children:[m(M,{"aria-hidden":`true`,className:I.errorIcon,size:18}),m(`p`,{className:I.paragraph,children:e})]})}function Z({ariaLabel:e,busy:t,children:n,disabled:r=!1,icon:i,iconOnly:a=!1,immediatelyEnabled:o=!1,onClick:s,primary:l=!1,role:d}){let[f,p]=u(!o);return c(()=>{if(o)return;let e=window.setTimeout(()=>p(!1),1e3);return()=>window.clearTimeout(e)},[o]),h(`button`,{"aria-label":e,"aria-busy":!!t,className:`${I.button} ${a?I.iconOnly:``} ${l?I.primary:``}`,disabled:f||r||!!t,onClick:s,role:d,title:a?e:void 0,type:`button`,children:[t?m(D,{"aria-hidden":`true`,className:I.buttonSpinner,size:16}):i?m(i,{"aria-hidden":`true`,size:16}):null,a?null:n]})}function Ce(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.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 we({codex:e,completion:t,status:n,success:r}){return e||t?j:n?.setupFailure?.stage===`migration`?te:n?.setupFailure?.stage===`dependencies`?O:n?.setupFailure?.stage===`codegen`?k:n?.draft?ne:n?.target?.source===`upstream`?w:n?.target?k:n?.checks?.commands.some(e=>e.status===`failed`)?E:r?x:n?n.mode===`waiting`?C:n.mode===`unmanaged`?S:n.mode===`error`||n.warnings.length>0?M:x:k}function Te(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 Ee(e){return e.mode!==`managed`||!!(e.busy||e.codexCompletion||e.draft||e.message||e.setupFailure||e.target||e.warnings.length>0)}function Q(e){if(!e?.checks||Ee(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 De({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=Q(e)){return e?e.mode===`waiting`?!!e.message:!!(t||Ee(e)):!1}function Oe(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 ke(e){return[e.message,`Commit: ${e.commit}`,`Command: ${e.command}`,``,e.output].join(`
|
|
109
|
-
|
|
109
|
+
/**
|
|
110
|
+
* @license lucide-react v1.24.0 - ISC
|
|
111
|
+
*
|
|
112
|
+
* This source code is licensed under the ISC license.
|
|
113
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
114
|
+
*/
|
|
115
|
+
/**
|
|
116
|
+
* @license lucide-react v1.24.0 - ISC
|
|
117
|
+
*
|
|
118
|
+
* This source code is licensed under the ISC license.
|
|
119
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
120
|
+
*/
|
|
121
|
+
/**
|
|
122
|
+
* @license lucide-react v1.24.0 - ISC
|
|
123
|
+
*
|
|
124
|
+
* This source code is licensed under the ISC license.
|
|
125
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
126
|
+
*/
|
|
127
|
+
/**
|
|
128
|
+
* @license lucide-react v1.24.0 - ISC
|
|
129
|
+
*
|
|
130
|
+
* This source code is licensed under the ISC license.
|
|
131
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
132
|
+
*/
|
|
133
|
+
/**
|
|
134
|
+
* @license lucide-react v1.24.0 - ISC
|
|
135
|
+
*
|
|
136
|
+
* This source code is licensed under the ISC license.
|
|
137
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
138
|
+
*/
|
|
139
|
+
/**
|
|
140
|
+
* @license lucide-react v1.24.0 - ISC
|
|
141
|
+
*
|
|
142
|
+
* This source code is licensed under the ISC license.
|
|
143
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
144
|
+
*/
|
|
145
|
+
/**
|
|
146
|
+
* @license lucide-react v1.24.0 - ISC
|
|
147
|
+
*
|
|
148
|
+
* This source code is licensed under the ISC license.
|
|
149
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
150
|
+
*/
|
|
151
|
+
/**
|
|
152
|
+
* @license lucide-react v1.24.0 - ISC
|
|
153
|
+
*
|
|
154
|
+
* This source code is licensed under the ISC license.
|
|
155
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
156
|
+
*/
|
|
157
|
+
/**
|
|
158
|
+
* @license lucide-react v1.24.0 - ISC
|
|
159
|
+
*
|
|
160
|
+
* This source code is licensed under the ISC license.
|
|
161
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
162
|
+
*/
|
|
163
|
+
/**
|
|
164
|
+
* @license lucide-react v1.24.0 - ISC
|
|
165
|
+
*
|
|
166
|
+
* This source code is licensed under the ISC license.
|
|
167
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
168
|
+
*/
|
|
169
|
+
;function he(){return import.meta.hot}const I={connect:`vite:ws:connect`,disconnect:`vite:ws:disconnect`};function ge(){return import.meta.hot}var L={actionError:`actionError`,actions:`actions`,actionSuccess:`actionSuccess`,button:`button`,"button-spin":`button-spin`,buttonSpinner:`buttonSpinner`,checkbox:`checkbox`,checkCommand:`checkCommand`,checkFailure:`checkFailure`,checkGuidance:`checkGuidance`,codexHistoryList:`codexHistoryList`,codexHistorySummary:`codexHistorySummary`,codexMessage:`codexMessage`,codexMessageAge:`codexMessageAge`,codexMessageAgent:`codexMessageAgent`,codexMessageHeader:`codexMessageHeader`,codexMessageLabel:`codexMessageLabel`,codexMessageText:`codexMessageText`,codexMessageThought:`codexMessageThought`,codexMessageUser:`codexMessageUser`,codexOutput:`codexOutput`,codexTranscript:`codexTranscript`,codexWaiting:`codexWaiting`,codexWorking:`codexWorking`,codexWorkingSpinner:`codexWorkingSpinner`,content:`content`,debugFooter:`debugFooter`,developmentControls:`developmentControls`,developmentControlsDropdown:`developmentControlsDropdown`,dialog:`dialog`,drawerBody:`drawerBody`,errorIcon:`errorIcon`,errorMessage:`errorMessage`,filePath:`filePath`,files:`files`,header:`header`,headerActions:`headerActions`,iconButton:`iconButton`,iconOnly:`iconOnly`,indicatorButton:`indicatorButton`,indicatorDot:`indicatorDot`,message:`message`,paragraph:`paragraph`,pendingCommits:`pendingCommits`,primary:`primary`,radiate:`radiate`,rebaseProgress:`rebaseProgress`,rebaseProgressFill:`rebaseProgressFill`,rebaseProgressLabel:`rebaseProgressLabel`,rebaseProgressTrack:`rebaseProgressTrack`,scenarioButton:`scenarioButton`,scenarioDescription:`scenarioDescription`,scenarioLabel:`scenarioLabel`,scenarioList:`scenarioList`,section:`section`,sectionDescription:`sectionDescription`,sectionHeading:`sectionHeading`,sectionLink:`sectionLink`,sectionTitle:`sectionTitle`,setupFailure:`setupFailure`,successIcon:`successIcon`,surface:`surface`,title:`title`,titleIcon:`titleIcon`,warning:`warning`};const R=`GPT-5.6 Luna (Max)`;let z=!1,_e=0,ve=0;const B=new Set,V=[{description:`A clean managed checkout with no available updates.`,id:`idle`,label:`No updates`,status:{mode:`managed`,warnings:[]}},{description:`Tracked and untracked files awaiting review.`,id:`local-changes`,label:`Review local changes`,status:{draft:{fingerprint:`debug-local-changes`,tracked:!0,untracked:[`src/web/new-feature.tsx`,`src/web/new-feature.style.ts`]},mode:`managed`,warnings:[]}},{description:`Local changes with a proposed Conventional Commit message.`,id:`confirm-commit`,label:`Confirm commit`,status:{draft:{fingerprint:`debug-confirm-commit`,tracked:!0,untracked:[`src/web/new-feature.tsx`]},mode:`managed`,proposal:`feat: add the new feature`,warnings:[]}},{description:`A newer commit is available from the local dev branch.`,id:`dev-update`,label:`Local dev update`,status:{mode:`managed`,target:{commit:`1234567890abcdef`,commits:[{commit:`fedcba0987654321`,shortCommit:`fedcba098765`,subject:`feat: add managed preview foundations`},{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: update the managed preview`}],shortCommit:`1234567890ab`,source:`dev`,subject:`feat: update the managed preview`},warnings:[]}},{description:`A newer upstream main commit is ready to refresh.`,id:`upstream-update`,label:`Upstream update`,status:{mode:`managed`,target:{commit:`abcdef1234567890`,commits:[{commit:`0123456789abcdef`,shortCommit:`0123456789ab`,subject:`chore: refresh shared dependencies`},{commit:`abcdef1234567890`,shortCommit:`abcdef123456`,subject:`fix: update shared project defaults`}],shortCommit:`abcdef123456`,source:`upstream`,subject:`fix: update shared project defaults`},warnings:[]}},{description:`The accepted update is currently being integrated.`,id:`busy`,label:`Busy integration`,status:{busy:`Integrating accepted update`,mode:`managed`,warnings:[]}},{description:`Managed development is paused until the checkout returns to main.`,id:`paused`,label:`Paused checkout`,status:{message:`Managed synchronization is paused until the primary checkout is back on local main.`,mode:`waiting`,warnings:[]}},{description:`Managed development cannot run from the current checkout.`,id:`unavailable`,label:`Unavailable checkout`,status:{message:`Managed development only runs from the primary checkout.`,mode:`unmanaged`,warnings:[]}},{description:`A managed-development warning requiring attention.`,id:`warning`,label:`Warning`,status:{mode:`managed`,warnings:[`The remote update could not be checked. The last known project state is shown.`]}},{description:`Typechecking failed after synchronization.`,id:`failed-check`,label:`Failed check`,status:{checks:{commit:`1234567890abcdef`,commands:[{command:`pnpm typecheck`,failureId:`debug-typecheck-failure`,output:`src/web/feature.tsx(12,4): error TS2322: Type mismatch.`,status:`failed`},{command:`pnpm test`,status:`passed`}],trigger:`synchronization`},mode:`managed`,warnings:[]}},{description:`Dependency installation failed after synchronization.`,id:`dependency-failure`,label:`Dependency failure`,status:{mode:`managed`,setupFailure:{command:`pnpm install --frozen-lockfile`,commit:`1234567890abcdef`,message:`The project was synchronized, but dependency installation failed. Fix the package or lockfile issue, then retry the install.`,output:`ERR_PNPM_OUTDATED_LOCKFILE Cannot install with a frozen lockfile.`,restartRequired:!0,stage:`dependencies`},warnings:[]}},{description:`Database migration failed and can be reset.`,id:`migration-failure`,label:`Database failure`,status:{mode:`managed`,setupFailure:{command:`pnpm db migrate-local`,commit:`1234567890abcdef`,message:`The project was synchronized, but its database migration failed. The previous database was restored.`,output:`Migration 0012_add_project_state failed: duplicate column name.`,restartRequired:!1,stage:`migration`},warnings:[]}},{codex:{commits:[{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: add managed development`}],messages:[{kind:`user`,text:`Resolve the current Git rebase conflicts in src/web/root.tsx.`},{kind:`thought`,text:`Inspecting the conflicting layout changes.`},{kind:`thought`,text:`Preserving the behavior introduced on both branches.`}],phase:`running`,requestId:`debug-codex-running`,totalCommits:4},description:`Codex is resolving conflicts with previous thoughts collapsed.`,id:`codex-running`,label:`Codex reasoning`,status:{busy:`Integrating accepted update`,mode:`managed`,warnings:[]}},{codex:{commits:[{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: add managed development`}],messages:[{kind:`user`,text:`Resolve the current Git rebase conflicts in src/web/root.tsx.`},{kind:`thought`,text:`Preserving the behavior introduced on both branches.`},{author:R,kind:`agent`,text:`Resolved root.tsx while preserving both the command layer and overlay mounting.`}],phase:`complete`,requestId:`debug-codex-message`,totalCommits:1},description:`Codex has produced its final message while synchronization finishes.`,id:`codex-message`,label:`Codex response`,status:{busy:`Integrating accepted update`,mode:`managed`,warnings:[]}},{codex:{commits:[],messages:[{kind:`user`,text:`Resolve the current Git merge conflicts in src/web/root.tsx.`},{kind:`thought`,text:`The conflict could not be resolved safely.`}],phase:`error`,requestId:`debug-codex-error`},description:`The Codex-assisted conflict resolution failed.`,error:`Codex could not resolve the merge conflicts.`,id:`codex-error`,label:`Codex failure`,status:{mode:`managed`,warnings:[]}},{description:`A durable Codex completion waiting for acknowledgment.`,id:`codex-finished`,label:`Codex finished`,status:{codexCompletion:{commits:[{commit:`1234567890abcdef`,shortCommit:`1234567890ab`,subject:`feat: add managed development`}],finalMessage:`Resolved root.tsx while preserving both the command layer and overlay mounting.`,id:`debug-completion`,messages:[{kind:`user`,text:`Resolve the current Git rebase conflicts in src/web/root.tsx.`},{kind:`thought`,text:`Inspecting the conflicting layout changes.`},{author:R,kind:`agent`,text:`Resolved root.tsx while preserving both the command layer and overlay mounting.`}],totalCommits:1},mode:`managed`,warnings:[]}},{description:`A successful synchronization result before it auto-dismisses.`,id:`success`,label:`Refresh success`,status:{mode:`managed`,warnings:[]},success:{heading:`Refresh complete`,message:`Your project is up to date.`}}],ye=[`codex-running`,`codex-finished`,`codex-message`,`codex-error`,`migration-failure`,`dependency-failure`,`failed-check`,`confirm-commit`,`local-changes`,`upstream-update`,`dev-update`,`busy`,`warning`,`paused`,`unavailable`,`success`,`idle`].map(e=>{let t=V.find(t=>t.id===e);if(!t)throw Error(`Missing managed dev debug scenario: ${e}`);return t});function H(){U(!z)}function U(e){if(z!==e){z=e;for(let e of B)e()}}function be({bottomOffset:e,debug:t=!1,indicator:n,rightOffset:r}){return g(t?Se:xe,{bottomOffset:e,indicator:n,rightOffset:r})}function xe({bottomOffset:e,indicator:t,rightOffset:n}){let{act:i,checkFailure:a,codex:o,dismissCheckFailure:c,dismissError:l,dismissSuccess:d,error:f,hmrReady:p,pendingAction:m,status:h,success:_}=He(),v=Be();u(()=>{if(!_)return;let e=setTimeout(()=>{d(),U(!1)},1600);return()=>clearTimeout(e)},[d,_]);let y=t??g(K,{}),b=s(y)&&y.type===K?r(y,{paused:!h?.target}):y;return g(W,{bottomOffset:e,ready:p,indicator:p&&h&&Q(h,a)?b:null,rightOffset:n,children:g(Te,{act:i,checkFailure:a,codex:o,developmentControls:v,dismissCheckFailure:c,dismissError:l,error:f,onClose:()=>{h?.codexCompletion&&i({id:h.codexCompletion.id,type:`acknowledge-codex`}),U(!1)},pendingAction:m,status:h,success:_})})}function W({bottomOffset:e,children:t,indicator:n,openOnMount:r=!1,ready:i=!0,rightOffset:a}){let[o,s]=f(null),c=p(Ue,We,$);u(()=>{r&&U(!0);let e=!0,t=x(`coreframe-managed-dev`,document.body,{css:`@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
|
170
|
+
|
|
171
|
+
@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-adlam-wght-normal.woff2)format("woff2-variations");unicode-range:U+61F,U+640,U+2015,U+201B,U+2020-2021,U+2030,U+204F,U+25CC,U+2E28-2E29,U+2E41,U+1E900-1E95F}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-canadian-aboriginal-wght-normal.woff2)format("woff2-variations");unicode-range:U+2C7,U+2D8-2D9,U+2DB,U+307,U+1400-167F,U+18B0-18F5,U+25CC,U+11AB?}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-cherokee-wght-normal.woff2)format("woff2-variations");unicode-range:U+300-302,U+304,U+30B-30C,U+323-324,U+330-331,U+13A0-13FF,U+AB70-ABBF}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-math-wght-normal.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-old-permic-wght-normal.woff2)format("woff2-variations");unicode-range:U+300,U+306-308,U+313,U+483,U+20DB,U+25CC,U+10350-1037A}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-symbols-wght-normal.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-symbols2-wght-normal.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-syriac-wght-normal.woff2)format("woff2-variations");unicode-range:U+303-304,U+307-308,U+30A,U+320,U+323-325,U+32D-32E,U+330-331,U+60C,U+61B-61C,U+61F,U+621,U+640,U+64B-655,U+660-66C,U+670,U+700-74F,U+860-86A,U+1DF8,U+1DFA,U+200C-200F,U+25CC,U+2670-2671}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Code Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(./files/google-sans-code-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
|
172
|
+
|
|
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}.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)}}
|
|
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":Ce(e),"--managed-dev-right-offset":Ce(a)};return o?m(_(`div`,{className:L.surface,style:l,children:[i?n:null,i&&c?t:null]}),o):null}function Se({bottomOffset:e,indicator:t,rightOffset:n}){let[i,a]=f(),[o,c]=f(),[l,u]=f(),d=V.find(({id:e})=>e===i),p=e=>{a(e),c(void 0),u(void 0)},m=async e=>{if(e.type===`acknowledge-codex`){p(void 0);return}u(Ve(e))},h=t??g(K,{}),_={pending:!1,reloadPage:()=>c(`Page reload simulated.`),restartVite:()=>c(`Vite restart simulated.`),success:o};return g(W,{bottomOffset:e,indicator:s(h)&&h.type===K?r(h,{paused:d?.status.mode===`waiting`}):h,openOnMount:!0,rightOffset:n,children:d?g(Te,{act:m,checkFailure:Z(d.status),codex:d.codex,developmentControls:_,dismissCheckFailure:()=>void 0,dismissError:()=>void 0,error:d.error,onBack:()=>p(void 0),onClose:()=>U(!1),status:d.status,success:l??d.success},d.id):g(we,{developmentControls:_,onClose:()=>U(!1),onSelect:e=>p(e)})})}function Ce(e){return typeof e==`number`?`${e}px`:e??`0px`}function we({developmentControls:e,onClose:t,onSelect:n}){return g(G,{debug:!0,developmentControls:e,icon:ie,onClose:t,title:`Managed dev overlay scenarios`,children:g(`div`,{className:L.scenarioList,children:ye.map(e=>_(`button`,{className:L.scenarioButton,onClick:()=>n(e.id),type:`button`,children:[g(`span`,{className:L.scenarioLabel,children:e.label}),g(`span`,{className:L.scenarioDescription,children:e.description})]},e.id))})})}function G({children:e,debug:t=!1,developmentControls:n,icon:r,onBack:i,onClose:a,title:o}){let s=d(null),c=d(null),[l,p]=f(!1);return u(()=>{let e=e=>{let t=e.composedPath(),n=c.current;n&&!t.includes(n)&&p(!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]),_(`dialog`,{"aria-labelledby":`coreframe-managed-title`,"aria-modal":`true`,className:L.dialog,id:`coreframe-managed-dev-dialog`,open:!0,ref:s,children:[_(`div`,{className:L.header,children:[_(`h2`,{className:L.title,id:`coreframe-managed-title`,children:[g(r,{"aria-hidden":`true`,className:L.titleIcon,size:18}),o]}),_(`div`,{className:L.headerActions,children:[i?g(`button`,{"aria-label":`Back to scenarios`,className:L.iconButton,onClick:i,type:`button`,children:g(re,{"aria-hidden":`true`,size:18})}):null,n?_(`div`,{className:L.developmentControlsDropdown,ref:c,children:[g(`button`,{"aria-expanded":l,"aria-haspopup":`menu`,"aria-label":`Development controls`,className:L.iconButton,onClick:()=>p(e=>!e),type:`button`,children:g(le,{"aria-hidden":`true`,size:18})}),l?g(Ee,{controls:n}):null]}):null,g(`button`,{"aria-label":`Close managed development`,className:L.iconButton,onClick:a,type:`button`,children:g(F,{"aria-hidden":`true`,size:18})})]})]}),g(`div`,{className:L.drawerBody,children:e}),t?g(`footer`,{className:L.debugFooter,children:`Debug preview · project actions are simulated locally`}):null]})}function K({color:e=`#228be6`,paused:t=!1,size:n=14,warningColor:r=`#fd7e14`}){let i=p(Ue,We,$),a={"--managed-dev-indicator-color":t?r:e,"--managed-dev-indicator-size":typeof n==`number`?`${n}px`:n};return g(`button`,{"aria-controls":`coreframe-managed-dev-dialog`,"aria-expanded":i,"aria-label":`${i?`Hide`:`Show`} Coreframe managed development`,className:L.indicatorButton,onClick:H,style:a,type:`button`,children:g(`span`,{className:L.indicatorDot})})}function Te({act:e,checkFailure:t,codex:n,developmentControls:r,dismissCheckFailure:i,dismissError:a,error:o,onBack:s,onClose:c,pendingAction:l,status:p,success:m}){let[v,y]=f({value:``}),[b,x]=f(()=>({paths:new Set})),S=d(null),C=p?.codexCompletion,w=p?.draft,T=p?.target,E=!C&&!m&&!n,D=b.fingerprint===w?.fingerprint?b.paths:new Set(w?.untracked??[]),O=v.fingerprint===w?.fingerprint&&v.proposal===p?.proposal?v.value:p?.proposal??``,ee=!!(w?.untracked.length&&w.untracked.every(e=>D.has(e)));return u(()=>{let e=S.current;e&&n?.phase===`running`&&(e.scrollTop=e.scrollHeight)},[n]),t?g(G,{debug:!!s,developmentControls:r,icon:P,onBack:s,onClose:c,title:`Managed development check failed`,children:_(`div`,{className:L.content,children:[g(`div`,{className:L.checkFailure,role:`alert`,children:_(`div`,{className:L.checkMessage,children:[_(`p`,{className:L.checkCommand,children:[t.check.command,` failed`]}),g(`p`,{className:L.checkGuidance,children:Le(t)}),g(`p`,{className:L.checkGuidance,children:`Copy the output and paste it into your agent orchestration tool.`})]})}),_(J,{children:[g(X,{ariaLabel:`Dismiss error`,icon:F,iconOnly:!0,onClick:()=>i(t),children:`Dismiss`}),g(X,{ariaLabel:`Copy output for ${t.check.command}`,icon:j,iconOnly:!0,onClick:()=>void navigator.clipboard.writeText(t.check.output??``),children:`Copy output`})]})]})}):g(G,{debug:!!s,developmentControls:r,icon:Pe({codex:n,completion:C,status:p,success:m}),onBack:s,onClose:c,title:C?`Codex conflict resolution finished`:m?.heading??(n?.phase===`complete`?`Finishing synchronization…`:n?.phase===`error`?`Conflict resolution failed.`:n?`Resolving conflicts with Codex…`:Ne(p)),children:_(`div`,{className:L.content,children:[m&&!C?_(`div`,{className:L.actionSuccess,role:`status`,children:[g(A,{"aria-hidden":`true`,className:L.successIcon,size:18}),g(`p`,{className:L.paragraph,children:m.message})]}):null,o?_(h,{children:[g(`div`,{className:L.actionError,role:`alert`,children:g(Y,{children:o})}),g(J,{children:g(X,{ariaLabel:`Dismiss error`,icon:F,iconOnly:!0,onClick:a,children:`Dismiss`})})]}):null,C||!m&&n?g(De,{commits:C?.commits??n?.commits??[],completion:C,messages:C?.messages??n?.messages??[],outputRef:S,totalCommits:C?.totalCommits??n?.totalCommits,working:n?.phase===`running`}):E&&p?.setupFailure?_(h,{children:[_(`div`,{className:L.setupFailure,role:`alert`,children:[g(Y,{children:p.setupFailure.message}),g(`pre`,{className:L.codexOutput,children:p.setupFailure.output})]}),_(J,{children:[g(X,{ariaLabel:`Dismiss error`,icon:F,iconOnly:!0,onClick:c,children:`Dismiss`}),g(X,{ariaLabel:`Copy diagnostics`,disabled:!!p.busy,icon:j,iconOnly:!0,onClick:()=>void navigator.clipboard.writeText(ze(p.setupFailure)),children:`Copy diagnostics`}),p.setupFailure.stage===`dependencies`?g(X,{ariaLabel:`Retry install`,busy:l?.type===`retry-install`,disabled:!!p.busy,icon:M,iconOnly:!0,onClick:()=>void e({type:`retry-install`}),primary:!0,children:`Retry install`}):p.setupFailure.stage===`codegen`?g(X,{ariaLabel:`Retry codegen`,busy:l?.type===`retry-codegen`,disabled:!!p.busy,icon:M,iconOnly:!0,onClick:()=>void e({type:`retry-codegen`}),primary:!0,children:`Retry codegen`}):g(X,{busy:l?.type===`reset-database`,disabled:!!p.busy,icon:N,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`})]})]}):E?g(`p`,{className:L.paragraph,children:p?p.busy||p.message||Fe(p):`Checking managed development status…`}):null,C&&!o?g(J,{children:g(X,{busy:l?.type===`acknowledge-codex`,disabled:!!p?.busy,icon:A,onClick:()=>void e({id:C.id,type:`acknowledge-codex`}),primary:!0,children:`Continue`})}):null,E&&p?.mode===`waiting`&&p.message?_(`p`,{className:L.paragraph,children:[`To re-enable managed development, run `,g(`code`,{children:`git switch main`}),` in the primary checkout. Synchronization will resume automatically.`]}):null,E&&T&&!w?g(`pre`,{className:L.pendingCommits,children:(T.commits??[T]).map(e=>`${e.shortCommit} ${e.subject}`).join(`
|
|
175
|
+
`)}):null,E?p?.warnings.map((e,t)=>g(`p`,{className:`${L.paragraph} ${L.warning}`,children:e},`${t}-${e}`)):null,E&&w?_(h,{children:[_(`div`,{className:L.files,children:[w.untracked.map(e=>g(Me,{checked:D.has(e),label:g(`span`,{className:L.filePath,children:e}),onChange:t=>x(()=>{let n=new Set(D);return t?n.add(e):n.delete(e),{fingerprint:w.fingerprint,paths:n}})},e)),w.untracked.length>0?g(Me,{checked:ee,label:`Include all untracked files`,onChange:e=>x({fingerprint:w.fingerprint,paths:e?new Set(w.untracked):new Set})}):null]}),p.proposal===void 0?_(J,{children:[T?g(X,{busy:l?.type===`reject`,disabled:!!p.busy,icon:N,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,g(X,{busy:l?.type===`message`,disabled:!!p.busy,icon:me,onClick:()=>void e({type:`message`,fingerprint:w.fingerprint,untracked:[...D]}),primary:!0,children:`Generate commit message`})]}):_(h,{children:[g(`textarea`,{"aria-label":`Commit message`,className:L.message,onChange:e=>y({fingerprint:w.fingerprint,proposal:p.proposal,value:e.target.value}),value:O}),_(J,{children:[T?g(X,{busy:l?.type===`reject`,disabled:!!p.busy,icon:N,onClick:()=>void e({type:`reject`}),children:`Reject`}):null,g(X,{busy:l?.type===(T?`apply`:`commit`),disabled:!!p.busy,icon:ue,onClick:()=>{e(T?{type:`apply`,target:T.commit,fingerprint:w.fingerprint,untracked:[...D],message:O}:{type:`commit`,fingerprint:w.fingerprint,untracked:[...D],message:O})},primary:!0,children:T?`Commit and refresh`:`Commit changes`})]})]})]}):E&&T?g(J,{children:g(X,{busy:l?.type===`prepare`,disabled:!!p.busy,icon:M,onClick:()=>void e({type:`prepare`,target:T.commit}),primary:!0,children:T.source===`upstream`?`Refresh`:String(T.source)===`dev`?`Sync with dev`:`Sync with main`})}):null]})})}function Ee({controls:e}){return _(`div`,{"aria-label":`Development controls`,className:L.developmentControls,role:`menu`,children:[_(J,{children:[g(X,{immediatelyEnabled:!0,icon:M,onClick:e.reloadPage,role:`menuitem`,children:`Reload page`}),g(X,{busy:e.pending,immediatelyEnabled:!0,icon:N,onClick:e.restartVite,primary:!0,role:`menuitem`,children:e.pending?`Restarting Vite…`:`Restart Vite`})]}),e.error?g(`div`,{className:L.actionError,role:`alert`,children:g(Y,{children:`Vite restart failed: ${e.error}`})}):null,e.success?_(`div`,{className:L.actionSuccess,role:`status`,children:[g(A,{"aria-hidden":`true`,className:L.successIcon,size:18}),g(`p`,{className:L.paragraph,children:e.success})]}):null]})}function De({commits:t,completion:n,messages:r,outputRef:i,totalCommits:a,working:o}){let s=[...r].reverse().find(e=>e.kind===`user`),c=[...r].reverse().find(e=>e.kind!==`user`),l=n?[...r].reverse().find(e=>e.kind===`agent`&&e.text===n.finalMessage):c,u=r.filter(e=>e.kind!==`user`&&e!==l),d=n?l??{author:[...r].reverse().find(e=>e.kind===`agent`)?.author,kind:`agent`,text:n.finalMessage}:c,f=l?`message-${r.lastIndexOf(l)}`:`completion`;return _(h,{children:[o?g(`div`,{className:L.codexWorking,children:g(e,{className:L.codexWorkingSpinner,label:`Codex is resolving conflicts`,children:g(Oe,{})})}):null,_(`div`,{"aria-live":n?void 0:`polite`,className:L.codexTranscript,ref:i,role:`log`,children:[s?g(q,{message:s}):null,u.length>0?_(`details`,{children:[_(`summary`,{className:L.codexHistorySummary,children:[`History (`,u.length,`)`]}),g(`div`,{className:L.codexHistoryList,children:u.map((e,t)=>g(q,{message:e},`history-${t}`))})]}):null,d?g(q,{message:d,showAge:!0},f):g(`p`,{className:L.codexWaiting,children:`Waiting for Codex output…`}),a?g(ke,{rebased:t.length,total:a}):null]})]})}function Oe(){let e=d(0),[t,n]=f(0);return u(()=>{e.current=Date.now();let t=globalThis.setInterval(()=>{n(Math.floor((Date.now()-e.current)/1e3))},1e3);return()=>globalThis.clearInterval(t)},[]),_(h,{children:[`Working for `,je(t),`...`]})}function ke({rebased:e,total:t}){let n=Math.min(e,t),r=Math.round(n/t*100);return _(`section`,{"aria-label":`Rebase progress`,className:L.rebaseProgress,children:[_(`div`,{className:L.rebaseProgressLabel,children:[_(`strong`,{children:[r,`% rebased`]}),_(`span`,{children:[n,` of `,t,` commits`]})]}),g(`div`,{"aria-valuemax":t,"aria-valuemin":0,"aria-valuenow":n,className:L.rebaseProgressTrack,role:`progressbar`,children:g(`span`,{className:L.rebaseProgressFill,style:{width:`${r}%`}})})]})}function q({message:e,showAge:t=!1}){let n=e.kind===`user`?`Request`:e.kind===`thought`?`Codex thought`:e.author??`Codex`,r=e.kind===`user`?L.codexMessageUser:e.kind===`thought`?L.codexMessageThought:L.codexMessageAgent;return _(`section`,{className:`${L.codexMessage} ${r}`,children:[_(`div`,{className:L.codexMessageHeader,children:[g(`h3`,{className:L.codexMessageLabel,children:n}),t?g(Ae,{}):null]}),g(`p`,{className:L.codexMessageText,children:e.text})]})}function Ae(){let e=d(0),[t,n]=f(0);return u(()=>{e.current=Date.now();let t=globalThis.setInterval(()=>{n(Math.floor((Date.now()-e.current)/1e3))},1e3);return()=>globalThis.clearInterval(t)},[]),_(`span`,{"aria-hidden":`true`,className:L.codexMessageAge,children:[je(t),` ago`]})}function je(e){let t=Math.floor(e/60),n=e%60;return t>0?`${t}m ${n}s`:`${n}s`}function Me({checked:e,label:t,onChange:n}){return _(`label`,{className:L.checkbox,children:[g(`input`,{checked:e,onChange:e=>n(e.target.checked),type:`checkbox`}),t]})}function J({children:e}){return g(`div`,{className:L.actions,children:e})}function Y({children:e}){return _(`div`,{className:L.errorMessage,children:[g(P,{"aria-hidden":`true`,className:L.errorIcon,size:18}),g(`p`,{className:L.paragraph,children:e})]})}function X({ariaLabel:e,busy:t,children:n,disabled:r=!1,icon:i,iconOnly:a=!1,immediatelyEnabled:o=!1,onClick:s,primary:c=!1,role:l}){let[d,p]=f(!o);return u(()=>{if(o)return;let e=globalThis.setTimeout(()=>p(!1),1e3);return()=>globalThis.clearTimeout(e)},[o]),_(`button`,{"aria-label":e,"aria-busy":!!t,className:`${L.button} ${a?L.iconOnly:``} ${c?L.primary:``}`,disabled:d||r||!!t,onClick:s,role:l,title:a?e:void 0,type:`button`,children:[t?g(fe,{"aria-hidden":`true`,className:L.buttonSpinner,size:16}):i?g(i,{"aria-hidden":`true`,size:16}):null,a?null:n]})}function Ne(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.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 Pe({codex:e,completion:t,status:n,success:r}){return e||t?me:n?.setupFailure?.stage===`migration`?ce:n?.setupFailure?.stage===`dependencies`?pe:n?.setupFailure?.stage===`codegen`?M:n?.draft?ue:n?.target?.source===`upstream`?se:n?.target?M:n?.checks?.commands.some(e=>e.status===`failed`)?de:r?A:n?n.mode===`waiting`?oe:n.mode===`unmanaged`?ae:n.mode===`error`||n.warnings.length>0?P:A:M}function Fe(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 Ie(e){return e.mode!==`managed`||!!(e.busy||e.codexCompletion||e.draft||e.message||e.setupFailure||e.target||e.warnings.length>0)}function Z(e){if(!e?.checks||Ie(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 Le({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 Q(e,t=Z(e)){return e?e.mode===`waiting`?!!e.message:!!(t||Ie(e)):!1}function Re(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 ze(e){return[e.message,`Commit: ${e.commit}`,`Command: ${e.command}`,``,e.output].join(`
|
|
176
|
+
`)}function Be(){let[e,n]=f(),[r,i]=f(!1),[a,o]=f(),s=he(),c=d(void 0);return u(()=>{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.`)}};return s.on(t.actionResult,e),()=>s.off(t.actionResult,e)},[s]),{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=String(++ve);c.current=e,i(!0),s.send(t.action,{action:{type:`restart-vite`},requestId:e})},success:a}}function Ve(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===`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.`}:{heading:`Action complete`,message:`No further action is required.`}}function He(){let[e,t]=f(),[r,i]=f(),[a,o]=f(!1),[s,l]=f(),[p,m]=f(),[h,g]=f(),_=d(void 0),v=d(void 0),y=d(new Map),b=ge();u(()=>{if(!b)return;let e=y.current,r=!1,a=()=>{o(!0),r&&(r=!1,b.send(n.statusRequest))},s=()=>{r=!0,o(!1),t(void 0),i(void 0),l(void 0),g(void 0),_.current=void 0,m(void 0),U(!1)},c=({status:n})=>{let r=Q(n);o(!0),t(n),n.codexCompletion&&v.current!==n.codexCompletion.id&&(v.current=n.codexCompletion.id,U(!0));let i=!n.busy&&!n.codexCompletion?[...e.entries()].filter(([,e])=>e.type===`acknowledge-codex`).map(([e])=>e):[];if(i.length>0){for(let t of i)e.delete(t);l(void 0),r||U(!1)}r&&l(e=>e?.preserveDuringStatus?e:void 0)},u=n=>{let r=e.get(n.requestId);r&&(e.delete(n.requestId),g(void 0),n.status&&t(n.status),n.error?(i(n.error),r.type===`acknowledge-codex`&&U(!0)):n.status?.codexCompletion?(v.current=n.status.codexCompletion.id,_.current=void 0,m(void 0),l(void 0),U(!0)):r.type===`acknowledge-codex`||r.type===`dismiss-check`?(l(void 0),n.status&&!Q(n.status)&&U(!1)):n.status&&(r.type===`commit`||!Q(n.status))&&l(Ve(r)))},d=t=>{if(!e.has(t.requestId))return;if(t.phase===`start`){let e={commits:t.commits,messages:[t.message],phase:`running`,requestId:t.requestId,totalCommits:t.totalCommits};_.current=e,m(e),U(!0);return}let n=_.current;if(!n||n.requestId!==t.requestId)return;let r=t.phase===`message`?{...n,messages:Re([...n.messages,t.message])}:t.phase===`complete`?{commits:n.commits,messages:n.messages,phase:`complete`,requestId:t.requestId,totalCommits:n.totalCommits}:t.phase===`progress`?{...n,commits:t.commits,totalCommits:t.totalCommits??n.totalCommits}:{...n,phase:`error`};_.current=r,m(r)};b.on(I.connect,a),b.on(I.disconnect,s),b.on(n.status,c),b.on(n.actionResult,u),b.on(n.codex,d),b.send(n.statusRequest);let f=globalThis.setInterval(()=>{[...e.values()].some(e=>e.type===`acknowledge-codex`)&&b.send(n.statusRequest)},1e3);return()=>{globalThis.clearInterval(f),e.clear(),_.current=void 0,b.off(I.connect,a),b.off(I.disconnect,s),b.off(n.status,c),b.off(n.actionResult,u),b.off(n.codex,d)}},[b]);let x=async e=>{if(e.type===`acknowledge-codex`&&(v.current=e.id),i(void 0),l(void 0),_.current=void 0,m(void 0),!b){i(`The Vite HMR connection is unavailable.`);return}let t=String(++_e);y.current.set(t,e),g(e),b.send(n.action,{action:e,requestId:t})},S=c(()=>l(void 0),[]);return{act:x,checkFailure:!r&&!s&&!p&&!e?.codexCompletion?Z(e):void 0,codex:p,dismissCheckFailure:e=>{if(!e.check.failureId){U(!1);return}x({failureId:e.check.failureId,type:`dismiss-check`})},dismissError:()=>i(void 0),dismissSuccess:S,error:r,hmrReady:a,pendingAction:h,status:e,success:s}}function Ue(e){return B.add(e),()=>B.delete(e)}function We(){return z}function $(){return!1}export{be as ManagedDevOverlay,K as ManagedDevOverlayIndicator,H as toggleManagedDevOverlay};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Plugin } from "vite";
|
|
2
|
+
|
|
3
|
+
//#region plugins/flutter-devtools.d.ts
|
|
4
|
+
/** Inputs that control the Flutter development-tools broker. */
|
|
5
|
+
type CoreframeFlutterDevToolsPluginOptions = {
|
|
6
|
+
env?: NodeJS.ProcessEnv;
|
|
7
|
+
};
|
|
8
|
+
/** Pairs a Flutter shell and its page while keeping the native Vite connection independent. */
|
|
9
|
+
declare function coreframeFlutterDevToolsPlugin({
|
|
10
|
+
env
|
|
11
|
+
}?: CoreframeFlutterDevToolsPluginOptions): Plugin;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { CoreframeFlutterDevToolsPluginOptions, coreframeFlutterDevToolsPlugin };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{managedDevEnv as e}from"@coreframe/dev-contracts/managed-dev";import{flutterDevToolsEvents as t,flutterDevToolsProtocolVersion as n}from"@coreframe/dev-contracts/flutter-devtools";function r({env:r=process.env}={}){return{name:`coreframe:flutter-devtools`,apply:`serve`,configureServer(c){let u=new Map,d=new WeakMap,f=new Map,p=new WeakMap,m={managedDev:r[e]===`1`,protocolVersion:n},h=(e,n)=>{if(!i(e))return;w(n);let r=u.get(e.shellSessionId)??new Set;r.add(n),u.set(e.shellSessionId,r),d.set(n,e.shellSessionId),n.send(t.ready,m),S(e.shellSessionId,n)},g=(e,t)=>{let n=a(e);if(!n)return;T(t);let r=f.get(n.shellSessionId);r&&r.client!==t&&p.delete(r.client),f.set(n.shellSessionId,{client:t,identity:n}),p.set(t,n.shellSessionId),S(n.shellSessionId)},_=(e,t)=>{let n=o(e);!n||!E(t,n)||T(t)},v=(e,n)=>{let r=o(e);if(!r||!l(e)||!(`state`in e)||!E(n,r))return;let i=f.get(r.shellSessionId);i.state=e.state,C(r.shellSessionId,t.stateLauncherState,e)},y=(e,n)=>{let r=o(e);if(!r||!l(e)||!(`request`in e)||d.get(n)!==r.shellSessionId)return;let i=f.get(r.shellSessionId);if(!i||!s(i.identity,r)){n.send(t.stateLauncherConnection,{connected:!1});return}i.client.send(t.stateLauncherRequest,e)},b=(e,n)=>{let r=o(e);!r||!l(e)||!(`result`in e)||!E(n,r)||C(r.shellSessionId,t.stateLauncherResult,e)},x=(e,t)=>{w(t),T(t)};function S(e,n){let r=f.get(e),i=r?{connected:!0,identity:r.identity}:{connected:!1};if(n){n.send(t.stateLauncherConnection,i),r?.state!==void 0&&n.send(t.stateLauncherState,{...r.identity,state:r.state});return}C(e,t.stateLauncherConnection,i),r?.state!==void 0&&C(e,t.stateLauncherState,{...r.identity,state:r.state})}function C(e,t,n){for(let r of u.get(e)??[])r.send(t,n)}function w(e){let t=d.get(e);if(!t)return;d.delete(e);let n=u.get(t);n?.delete(e),n?.size===0&&u.delete(t)}function T(e){let t=p.get(e);t&&(p.delete(e),f.get(t)?.client===e&&(f.delete(t),S(t)))}function E(e,t){let n=f.get(t.shellSessionId);return n?.client===e&&s(n.identity,t)}c.ws.on(t.nativeConnect,h),c.ws.on(t.pageConnect,g),c.ws.on(t.pageDisconnect,_),c.ws.on(t.stateLauncherRequest,y),c.ws.on(t.stateLauncherResult,b),c.ws.on(t.stateLauncherState,v),c.ws.on(`vite:client:disconnect`,x),c.httpServer?.once(`close`,()=>{c.ws.off(t.nativeConnect,h),c.ws.off(t.pageConnect,g),c.ws.off(t.pageDisconnect,_),c.ws.off(t.stateLauncherRequest,y),c.ws.off(t.stateLauncherResult,b),c.ws.off(t.stateLauncherState,v),c.ws.off(`vite:client:disconnect`,x)})}}}function i(e){return l(e)&&c(e,[`protocolVersion`,`shellSessionId`])&&e.protocolVersion===n&&u(e.shellSessionId)}function a(e){if(!(!l(e)||!c(e,[`applicationScopeId`,`protocolVersion`,`rootWebRuntimeId`,`shellSessionId`])||e.protocolVersion!==n))return o(e)}function o(e){if(!(!l(e)||!u(e.applicationScopeId)||!u(e.rootWebRuntimeId)||!u(e.shellSessionId)))return{applicationScopeId:e.applicationScopeId,rootWebRuntimeId:e.rootWebRuntimeId,shellSessionId:e.shellSessionId}}function s(e,t){return e.applicationScopeId===t.applicationScopeId&&e.rootWebRuntimeId===t.rootWebRuntimeId&&e.shellSessionId===t.shellSessionId}function c(e,t){return Object.keys(e).length===t.length&&t.every(t=>t in e)}function l(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function u(e){return typeof e==`string`&&e.length>0&&e.length<=256}export{r as coreframeFlutterDevToolsPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mkdir as e,writeFile as t}from"node:fs/promises";import n from"node:path";import{readProjectConfig as r}from"@coreframe/config";import{randomUUID as i}from"node:crypto";import{managedDevEnv as a,managedDevEvents as o,managedDevFlutterRestartFileEnv as s}from"@coreframe/dev-contracts/managed-dev";import{startManagedDevSession as c}from"@coreframe/dev/managed-dev";import{connectExistingDevSupervisor as l}from"@coreframe/dev/supervisor";const u=Symbol.for(`@coreframe/vite/managed-dev-session-states`),d=(()=>{let e=globalThis;return e[u]??=new Map})();function f({connectSupervisor:u=l,env:d=process.env,startSession:f=c}={}){let h=d[a]===`1`,g,_,v,y,b,x,S,C=!1,w=!1,T=new Map,E={mode:`waiting`,warnings:[]},D=()=>S??=(async()=>{w=!0,await x,C=!1;let e=g,t=_,n=v;g=void 0,_=void 0,v=void 0,y?.(),y=void 0,e&&b&&await m(b,e),t&&(n&&await t.release(n).catch(()=>void 0),t.close())})();return{name:`coreframe:managed-dev`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_MANAGED_DEV":JSON.stringify(h)}}},configureServer(a){if(!h)return;let c=a.config.root;b=c;let l=!1,S=!1,O=()=>g?.getStatus()??E,k=()=>{w||a.ws.send(o.status,{status:O()})},A=()=>{S||w||(S=!0,queueMicrotask(()=>{S=!1,Promise.resolve(a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}))},j=e=>{if(w||e.event!==`managed-dev`)return;if(e.kind===`status`){E=e.status,k();return}if(e.kind===`restart`){l=!0,T.size===0&&(l=!1,A());return}let t=T.get(e.requestId);!t||!e.codex||typeof e.codex!=`object`||t.send(o.codex,{...e.codex,requestId:e.requestId})},M=async(e,t)=>{if(_&&C)try{E=(await _.managedDevStatus()).status}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development status failed: ${t}`,{error:e instanceof Error?e:void 0})}t.send(o.status,{status:O()})},N=async(e,t)=>{let n;try{if(!C)throw Error(`Managed development is still initializing.`);let n=_;if(n){T.set(e.requestId,t);try{let r=await n.managedDevAction({action:e.action,requestId:e.requestId});r.status&&(E=r.status),t.send(o.actionResult,{...r,requestId:e.requestId}),!r.error&&l&&(l=!1,A())}finally{T.delete(e.requestId)}return}let r=g;if(!r)throw Error(`Managed development is still initializing.`);let i=await r.action(e.action,{onCodexEvent:n=>t.send(o.codex,{...n,requestId:e.requestId})});t.send(o.actionResult,{requestId:e.requestId,...i}),l&&(l=!1,queueMicrotask(()=>{D().then(()=>a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}));return}catch(e){n=e}let r=n instanceof Error?n.message:String(n);a.config.logger.error(`Coreframe managed development action failed: ${r}`,{error:n instanceof Error?n:void 0}),t.send(o.actionResult,{error:r,requestId:e.requestId,status:O()})};a.ws.on(o.statusRequest,M),a.ws.on(o.action,N),x=(async()=>{let o,h;try{if(o=await u({cwd:c,env:d}),o){if(w){o.close();return}_=o,y=o.onEvent(j),await o.subscribe([`managed-dev`]);let e=await o.acquireManagedDev({env:d});if(v=e.leaseId,E=e.status,w){await o.release(e.leaseId).catch(()=>void 0),v=void 0,y?.(),y=void 0,_=void 0,o.close();return}C=!0;return}let b=await r({cwd:c});if(w)return;if(h=await f({config:b,cwd:c,env:d,onRestart:()=>{l=!0},onFlutterRestart:async()=>{let r=d[s];if(r)try{await e(n.dirname(r),{recursive:!0}),await t(r,`${i()}\n`,{mode:384})}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe Flutter restart request failed: ${t}`,{error:e instanceof Error?e:void 0})}},onStatusChange:e=>{E=e,k()}}),g=h,E=h.getStatus(),w){g=void 0,await h.close();return}if(await p(c,h),w){g=void 0,await m(c,h);return}C=!0}catch(e){if(o&&_===o&&(y?.(),y=void 0,_=void 0,o.close()),g===h&&(g=void 0),!w){let t=e instanceof Error?e.message:String(e);E={message:t,mode:`error`,warnings:[t]},a.config.logger.error(`Coreframe managed development initialization failed: ${t}`,{error:e instanceof Error?e:void 0}),k()}}})(),a.httpServer?.once(`close`,()=>{a.ws.off(o.statusRequest,M),a.ws.off(o.action,N),D()})},async closeBundle(){await D()}}}async function p(e,t){await h(e,async e=>{let n=e.session;e.session=void 0,await n?.close();try{await t.activate(),e.session=t}catch(e){throw await t.close(),e}})}async function m(e,t){await h(e,async e=>{e.session===t&&(e.session=void 0),await t.close()})}async function h(e,t){let n=d.get(e);n||(n={transition:Promise.resolve()},d.set(e,n));let r=n.transition,i;n.transition=new Promise(e=>{i=()=>e()}),await r;try{await t(n)}finally{i()}}export{f as coreframeManagedDevPlugin};
|
|
1
|
+
import{mkdir as e,writeFile as t}from"node:fs/promises";import n from"node:path";import{readProjectConfig as r}from"@coreframe/config";import{randomUUID as i}from"node:crypto";import{managedDevEnv as a,managedDevEvents as o,managedDevFlutterRestartFileEnv as s}from"@coreframe/dev-contracts/managed-dev";import{startManagedDevSession as c}from"@coreframe/dev/managed-dev";import{connectExistingDevSupervisor as l}from"@coreframe/dev/supervisor";const u=Symbol.for(`@coreframe/vite/managed-dev-session-states`),d=(()=>{let e=globalThis;return e[u]??=new Map})();function f({connectSupervisor:u=l,env:d=process.env,startSession:f=c}={}){let h=d[a]===`1`,g,_,v,y,b,x,S,C=!1,w=!1,T=new Map,E={mode:`waiting`,warnings:[]},D=()=>S??=(async()=>{w=!0,await x,C=!1;let e=g,t=_,n=v;g=void 0,_=void 0,v=void 0,y?.(),y=void 0,e&&b&&await m(b,e),t&&(n&&await t.release(n).catch(()=>void 0),t.close())})();return{name:`coreframe:managed-dev`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_MANAGED_DEV":JSON.stringify(h)}}},configureServer(a){if(!h)return;let c=a.config.root;b=c;let l=!1,S=!1,O=()=>g?.getStatus()??E,k=()=>{w||a.ws.send(o.status,{status:O()})},A=()=>{S||w||(S=!0,queueMicrotask(()=>{S=!1,Promise.resolve(a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}))},j=e=>{if(w||e.event!==`managed-dev`)return;if(e.kind===`status`){E=e.status,k();return}if(e.kind===`restart`){l=!0,T.size===0&&(l=!1,A());return}let t=T.get(e.requestId);!t||!e.codex||typeof e.codex!=`object`||t.send(o.codex,{...e.codex,requestId:e.requestId})},M=async(e,t)=>{if(_&&C)try{E=(await _.managedDevStatus()).status}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development status failed: ${t}`,{error:e instanceof Error?e:void 0})}t.send(o.status,{status:O()})},N=async(e,t)=>{let n;try{if(!C)throw Error(`Managed development is still initializing.`);let n=_;if(n){T.set(e.requestId,t);try{let r=await n.managedDevAction({action:e.action,requestId:e.requestId});r.status&&(E=r.status),t.send(o.actionResult,{...r,requestId:e.requestId}),!r.error&&l&&(l=!1,A())}finally{T.delete(e.requestId)}return}let r=g;if(!r)throw Error(`Managed development is still initializing.`);let i=await r.action(e.action,{onCodexEvent:n=>t.send(o.codex,{...n,requestId:e.requestId})});t.send(o.actionResult,{requestId:e.requestId,...i}),l&&(l=!1,queueMicrotask(()=>{D().then(()=>a.restart()).catch(e=>{let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe managed development restart failed: ${t}`,{error:e instanceof Error?e:void 0})})}));return}catch(e){n=e}let r=n instanceof Error?n.message:String(n);a.config.logger.error(`Coreframe managed development action failed: ${r}`,{error:n instanceof Error?n:void 0}),t.send(o.actionResult,{error:r,requestId:e.requestId,status:O()})};a.ws.on(o.statusRequest,M),a.ws.on(o.action,N),x=(async()=>{let o,h;try{if(o=await u({cwd:c,env:d,requiredResources:[`managed-dev`]}),o){if(w){o.close();return}_=o,y=o.onEvent(j),await o.subscribe([`managed-dev`]);let e=await o.acquireManagedDev({env:d});if(v=e.leaseId,E=e.status,w){await o.release(e.leaseId).catch(()=>void 0),v=void 0,y?.(),y=void 0,_=void 0,o.close();return}C=!0;return}let b=await r({cwd:c});if(w)return;if(h=await f({config:b,cwd:c,env:d,onRestart:()=>{l=!0},onFlutterRestart:async()=>{let r=d[s];if(r)try{await e(n.dirname(r),{recursive:!0}),await t(r,`${i()}\n`,{mode:384})}catch(e){let t=e instanceof Error?e.message:String(e);a.config.logger.error(`Coreframe Flutter restart request failed: ${t}`,{error:e instanceof Error?e:void 0})}},onStatusChange:e=>{E=e,k()}}),g=h,E=h.getStatus(),w){g=void 0,await h.close();return}if(await p(c,h),w){g=void 0,await m(c,h);return}C=!0}catch(e){if(o&&_===o&&(y?.(),y=void 0,_=void 0,o.close()),g===h&&(g=void 0),!w){let t=e instanceof Error?e.message:String(e);E={message:t,mode:`error`,warnings:[t]},a.config.logger.error(`Coreframe managed development initialization failed: ${t}`,{error:e instanceof Error?e:void 0}),k()}}})(),a.httpServer?.once(`close`,()=>{a.ws.off(o.statusRequest,M),a.ws.off(o.action,N),D()})},async closeBundle(){await D()}}}async function p(e,t){await h(e,async e=>{let n=e.session;e.session=void 0,await n?.close();try{await t.activate(),e.session=t}catch(e){throw await t.close(),e}})}async function m(e,t){await h(e,async e=>{e.session===t&&(e.session=void 0),await t.close()})}async function h(e,t){let n=d.get(e);n||(n={transition:Promise.resolve()},d.set(e,n));let r=n.transition,i;n.transition=new Promise(e=>{i=()=>e()}),await r;try{await t(n)}finally{i()}}export{f as coreframeManagedDevPlugin};
|
package/dist/plugins/preset.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{coreframeAssetsPlugin as e}from"./assets.js";import{
|
|
1
|
+
import{coreframeAssetsPlugin as e}from"./assets.js";import{coreframeDashboardPlugin as t}from"./dashboard.js";import{coreframeDevJobsPlugin as n}from"./dev-jobs.js";import{coreframeDevelopmentControlsPlugin as r}from"./development-controls.js";import{coreframeFaviconPlugin as i}from"./favicon.js";import{coreframeFlutterDevToolsPlugin as a}from"./flutter-devtools.js";import{t as o}from"../icons-vb_lG-av.js";import{coreframeManagedDevPlugin as s}from"./managed-dev.js";import{coreframePreviewPlugin as c}from"./preview.js";import{coreframeStartupTimingPlugin as l}from"./startup-timing.js";import{t as u}from"../worktree-head-BZrhW1-Q.js";function d(d={}){return[l(),c(d.config??{}),e(),...o(),r(),a(),n(),s(),u(),t(),...i(d.webManifest===void 0?void 0:{webManifest:d.webManifest})]}export{d as coreframeVitePreset};
|
package/dist/plugins/shell.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{resolveCoreframeHost as e,resolveCoreframePlatform as t}from"./index.js";import{realpathSync as n}from"node:fs";import{extname as r,isAbsolute as i,relative as a,resolve as o,sep as s}from"node:path";import{parseSync as c}from"vite";const l=`virtual:coreframe-shell`,u=`\0${l}`,d=`virtual:coreframe-shell/composition`,f=`virtual:coreframe-shell/auth`,p=`\0${f}`,m=`virtual:coreframe-shell/auth-composition`,h=`virtual:coreframe-router`,g=`\0${h}`,_=`virtual:coreframe-router/composition`,v={browser:{auth:`@coreframe/lib/auth-transport/browser`,router
|
|
1
|
+
import{resolveCoreframeHost as e,resolveCoreframePlatform as t}from"./index.js";import{realpathSync as n}from"node:fs";import{extname as r,isAbsolute as i,relative as a,resolve as o,sep as s}from"node:path";import{parseSync as c}from"vite";const l=`virtual:coreframe-shell`,u=`\0${l}`,d=`virtual:coreframe-shell/composition`,f=`virtual:coreframe-shell/auth`,p=`\0${f}`,m=`virtual:coreframe-shell/auth-composition`,h=`virtual:coreframe-router`,g=`\0${h}`,_=`virtual:coreframe-router/composition`,v={browser:{auth:`@coreframe/lib/auth-transport/browser`,router:`@coreframe/lib/router`,shell:`@coreframe/lib/shell/dom`},flutter:{auth:`@coreframe/lib/auth-transport/browser`,router:`@coreframe/flutter-js/router`,shell:`@coreframe/flutter-js/composition`}};function y(){let n=t(),r=n===`ios`||n===`android`?n:void 0,i=e(process.env,n),a=v[i],s=b(a.shell),y=process.cwd();return{name:`coreframe:shell`,enforce:`pre`,config(){return{define:{"import.meta.env.MOBILE_PLATFORM":r===void 0?`undefined`:JSON.stringify(r),"import.meta.env.PLATFORM":JSON.stringify(n)},ssr:{noExternal:[s]}}},configResolved(e){y=e.root},transform(e,t){let n=x(t);if(i!==`flutter`||!w(t,y)||n===void 0)return;let{module:r}=c(t,e,{lang:n});(r.staticImports.some(({moduleRequest:e})=>e.value===`react-router`)||r.staticExports.some(({entries:e})=>e.some(({moduleRequest:e})=>e?.value===`react-router`))||r.dynamicImports.some(({moduleRequest:t})=>S(e.slice(t.start,t.end))))&&C()},resolveId(e){if(e===l)return u;if(e===f)return p;if(e===h)return g;if(e===d)return this.resolve(a.shell,o(y,`vite.config.ts`),{skipSelf:!0});if(e===m)return this.resolve(a.auth,o(y,`vite.config.ts`),{skipSelf:!0});if(e===_)return this.resolve(a.router,o(y,`vite.config.ts`),{skipSelf:!0});if(e===`virtual:coreframe-flutter/application`)return this.resolve(o(y,`src/web/app/flutter-shell/application.ts`),void 0,{skipSelf:!0});if(e===`virtual:coreframe-flutter/native-bridge`)return this.resolve(o(y,`src/web/app/flutter-shell/generated/native-bridge.ts`),void 0,{skipSelf:!0});if(e===`virtual:coreframe-flutter/native-pages`)return this.resolve(o(y,`src/web/app/flutter-shell/generated/native-pages.ts`),void 0,{skipSelf:!0});if(e===`virtual:coreframe-flutter/native-surfaces`)return this.resolve(o(y,`src/web/app/flutter-shell/generated/native-surfaces.ts`),void 0,{skipSelf:!0})},load(e){if(e===u)return`export * from ${JSON.stringify(d)};`;if(e===p)return`export { createAuthenticatedFetch, createAuthClient } from ${JSON.stringify(m)};`;if(e===g)return`export * from ${JSON.stringify(_)};`}}}function b(e){let t=e.split(`/`);return e.startsWith(`@`)?t.slice(0,2).join(`/`):t[0]}function x(e){let t=r(e.split(`?`,1)[0]);if(t===`.jsx`)return`jsx`;if(t===`.ts`||t===`.mts`||t===`.cts`)return`ts`;if(t===`.tsx`)return`tsx`;if(t===`.js`||t===`.mjs`||t===`.cjs`)return`js`}function S(e){return e===`"react-router"`||e===`'react-router'`||e==="`react-router`"}function C(){throw Error(`Flutter application modules must import React Router APIs from ${JSON.stringify(h)}; direct ${JSON.stringify(`react-router`)} imports bypass the native navigation contract. Importing ${JSON.stringify(`react-router/dom`)} remains supported.`)}function w(e,t){let r=e.split(`?`,1)[0];if(!i(r))return!1;let o=a(n(t),n(r)),c=o.split(s);return o!==``&&o!==`..`&&!o.startsWith(`..${s}`)&&!i(o)&&!c.includes(`node_modules`)&&c[0]!==`.react-router`}export{y as coreframeShellPlugin};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[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}.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,.codexButton:focus-visible,.codexPrompt: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}.codexForm{gap:12px;display:grid}.codexPrompt{background:var(--overlay-background);border:1px solid var(--overlay-border-strong);box-sizing:border-box;color:inherit;font:inherit;resize:vertical;border-radius:10px;width:100%;min-height:130px;padding:10px 12px}.codexHint{color:var(--overlay-text-subtle);margin:0;font-size:12px}.codexError{background:var(--overlay-danger-soft);border:1px solid var(--overlay-danger-border);color:var(--overlay-danger-text);border-radius:9px;margin:0;padding:8px 10px}.codexActions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.codexButton{border:1px solid var(--overlay-border-strong);color:inherit;cursor:pointer;font:inherit;background:0 0;border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:7px 11px;display:inline-flex}.codexButton:hover:not(:disabled){background:var(--overlay-surface-muted)}.codexPrimary{background:var(--overlay-accent);border-color:var(--overlay-accent);color:var(--oc-white)}.codexPrimary:hover:not(:disabled){background:var(--overlay-accent-hover);border-color:var(--overlay-accent-hover)}.codexButton:disabled{cursor:wait;opacity:.55}.codexToast{color:var(--overlay-success-text);font-size:12px}.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}.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: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)}.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,.codexButton{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)}}[data-isolet-root]{--codex-font-body:"SN Pro Variable", system-ui, sans-serif;color-scheme:light dark;--codex-background:#fff;--codex-border:#dee2e6;--codex-text:#212529;--codex-muted:#495057;--codex-subtle:#868e96;--codex-accent:#228be6;--codex-accent-hover:#1c7ed6;--codex-accent-soft:#e7f5ff;--codex-danger:#c92a2a;--codex-danger-soft:#fff5f5;color:var(--codex-text);font:14px/1.45 var(--codex-font-body)}.surface{pointer-events:none;position:fixed;inset:0}.backdrop{pointer-events:auto;background:#0f172a59;position:fixed;inset:0}.dialog{background:var(--codex-background);border:1px solid var(--codex-border);box-sizing:border-box;color:var(--codex-text);pointer-events:auto;border-radius:14px;width:min(560px,100vw - 32px);max-width:min(560px,100vw - 32px);margin:0;padding:20px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 18px 60px #0f172a47,0 2px 8px #0f172a1f}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:18px}.close{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;display:inline-flex}.close:hover{background:#f1f3f5}.close:focus-visible,.button:focus-visible,.prompt:focus-visible{outline-offset:2px;outline:3px solid #a5d8ff}.form{gap:12px;margin-top:18px;display:grid}.prompt{background:var(--codex-background);border:1px solid var(--codex-border);box-sizing:border-box;color:inherit;font:inherit;resize:vertical;border-radius:9px;width:100%;min-height:150px;padding:10px 12px}.hint{color:var(--codex-subtle);margin:0;font-size:12px}.error{background:var(--codex-danger-soft);color:var(--codex-danger);border:1px solid #ffc9c9;border-radius:8px;margin:0;padding:8px 10px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button{appearance:none;border:1px solid var(--codex-border);color:inherit;cursor:pointer;font:inherit;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 12px;display:inline-flex}.button:hover{background:#f1f3f5}.primary{background:var(--codex-accent);border-color:var(--codex-accent);color:#fff}.primary:hover{background:var(--codex-accent-hover)}.button:disabled{cursor:not-allowed;opacity:.55}.toast{background:var(--codex-background);border:1px solid var(--codex-border);bottom:calc(20px + env(safe-area-inset-bottom,0px));color:var(--codex-text);pointer-events:auto;border-radius:9px;max-width:min(520px,100vw - 32px);padding:10px 14px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a2e}
|
|
1
|
+
[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}.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)}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coreframe/vite",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.28",
|
|
4
4
|
"description": "Vite plugins and build integrations for Coreframe apps",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,10 +24,6 @@
|
|
|
24
24
|
"types": "./dist/overlay/managed-dev-overlay.d.ts",
|
|
25
25
|
"default": "./dist/overlay/managed-dev-overlay.js"
|
|
26
26
|
},
|
|
27
|
-
"./codex-task-launcher": {
|
|
28
|
-
"types": "./dist/overlay/codex-task-launcher.d.ts",
|
|
29
|
-
"default": "./dist/overlay/codex-task-launcher.js"
|
|
30
|
-
},
|
|
31
27
|
"./worktree-head-reload": {
|
|
32
28
|
"types": "./dist/browser/worktree-head-reload.d.ts",
|
|
33
29
|
"default": "./dist/browser/worktree-head-reload.js"
|
|
@@ -61,14 +57,14 @@
|
|
|
61
57
|
"obug": "^2.1.3",
|
|
62
58
|
"unplugin": "^2.3.11",
|
|
63
59
|
"vite-plugin-hashed-favicons": "^2.1.1",
|
|
64
|
-
"@coreframe/
|
|
65
|
-
"@coreframe/
|
|
66
|
-
"@coreframe/
|
|
67
|
-
"@coreframe/dev
|
|
68
|
-
"@coreframe/
|
|
69
|
-
"@coreframe/
|
|
70
|
-
"@coreframe/flutter-
|
|
71
|
-
"@coreframe/
|
|
60
|
+
"@coreframe/config": "^0.1.11",
|
|
61
|
+
"@coreframe/assets": "^0.1.14",
|
|
62
|
+
"@coreframe/dashboard": "^0.3.13",
|
|
63
|
+
"@coreframe/dev": "^0.1.18",
|
|
64
|
+
"@coreframe/dev-contracts": "^0.1.8",
|
|
65
|
+
"@coreframe/flutter-js": "^0.1.25",
|
|
66
|
+
"@coreframe/flutter-tools": "^0.1.20",
|
|
67
|
+
"@coreframe/lib": "^0.2.13"
|
|
72
68
|
},
|
|
73
69
|
"devDependencies": {
|
|
74
70
|
"@tsdown/css": "0.22.3",
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import{codexTaskEvents as e}from"@coreframe/dev-contracts/codex-task";import{createContext as t,createElement as n,forwardRef as r,useContext as i,useEffect as a,useRef as o,useState as s,useSyncExternalStore as c}from"react";import{createPortal as l}from"react-dom";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";const p=()=>{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},m=(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=p();return s&&o.setAttribute(`nonce`,s),o.textContent=t,n.appendChild(o),o},h=`data-isolet`,g=(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=`[${h}="${e}"]`,i=t.querySelector(r);if(i)return{host:i,shadowRoot:null,container:i,target:t};let a=document.createElement(`div`);if(a.setAttribute(h,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))a.setAttribute(e,t);return _(a,n),n.css&&m(e,n.css,t),t.appendChild(a),{host:a,shadowRoot:null,container:a,target:t}}let i=`[${h}="${e}"]`,a=t.querySelector(i);if(a){if(r===`shadow-dom`&&a.shadowRoot){let e=a.shadowRoot.querySelector(`[${h}-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(h,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&&m(e,n.css,r);let i=document.createElement(`div`);return i.setAttribute(`${h}-root`,``),r.appendChild(i),_(o,n),t.appendChild(o),{host:o,shadowRoot:r,container:i,target:t}}return _(o,n),n.css&&m(e,n.css,t),t.appendChild(o),{host:o,shadowRoot:null,container:o,target:t}},_=(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))},v=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),y=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=>{
|
|
2
|
-
/**
|
|
3
|
-
* @license lucide-react v1.24.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* @license lucide-react v1.24.0 - ISC
|
|
10
|
-
*
|
|
11
|
-
* This source code is licensed under the ISC license.
|
|
12
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* @license lucide-react v1.24.0 - ISC
|
|
16
|
-
*
|
|
17
|
-
* This source code is licensed under the ISC license.
|
|
18
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* @license lucide-react v1.24.0 - ISC
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the ISC license.
|
|
24
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/
|
|
26
|
-
let t=b(e);return t.charAt(0).toUpperCase()+t.slice(1)};
|
|
27
|
-
/**
|
|
28
|
-
* @license lucide-react v1.24.0 - ISC
|
|
29
|
-
*
|
|
30
|
-
* This source code is licensed under the ISC license.
|
|
31
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
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`};
|
|
34
|
-
/**
|
|
35
|
-
* @license lucide-react v1.24.0 - ISC
|
|
36
|
-
*
|
|
37
|
-
* This source code is licensed under the ISC license.
|
|
38
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
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=()=>i(w),E=r(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>{
|
|
41
|
-
/**
|
|
42
|
-
* @license lucide-react v1.24.0 - ISC
|
|
43
|
-
*
|
|
44
|
-
* This source code is licensed under the ISC license.
|
|
45
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
46
|
-
*/
|
|
47
|
-
/**
|
|
48
|
-
* @license lucide-react v1.24.0 - ISC
|
|
49
|
-
*
|
|
50
|
-
* This source code is licensed under the ISC license.
|
|
51
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
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:v(`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)=>{
|
|
54
|
-
/**
|
|
55
|
-
* @license lucide-react v1.24.0 - ISC
|
|
56
|
-
*
|
|
57
|
-
* This source code is licensed under the ISC license.
|
|
58
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
59
|
-
*/
|
|
60
|
-
let i=r(({className:r,...i},a)=>n(E,{ref:a,iconNode:t,className:v(`lucide-${y(x(e))}`,`lucide-${e}`,r),...i}));return i.displayName=x(e),i},O=D(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]])
|
|
61
|
-
/**
|
|
62
|
-
* @license lucide-react v1.24.0 - ISC
|
|
63
|
-
*
|
|
64
|
-
* This source code is licensed under the ISC license.
|
|
65
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
66
|
-
*/
|
|
67
|
-
;function k(){return import.meta.hot}var A={actions:`actions`,backdrop:`backdrop`,button:`button`,close:`close`,dialog:`dialog`,error:`error`,form:`form`,header:`header`,hint:`hint`,primary:`primary`,prompt:`prompt`,surface:`surface`,title:`title`,toast:`toast`},j=`[data-isolet-root]{--codex-font-body:"SN Pro Variable", system-ui, sans-serif;color-scheme:light dark;--codex-background:#fff;--codex-border:#dee2e6;--codex-text:#212529;--codex-muted:#495057;--codex-subtle:#868e96;--codex-accent:#228be6;--codex-accent-hover:#1c7ed6;--codex-accent-soft:#e7f5ff;--codex-danger:#c92a2a;--codex-danger-soft:#fff5f5;color:var(--codex-text);font:14px/1.45 var(--codex-font-body)}.surface{pointer-events:none;position:fixed;inset:0}.backdrop{pointer-events:auto;background:#0f172a59;position:fixed;inset:0}.dialog{background:var(--codex-background);border:1px solid var(--codex-border);box-sizing:border-box;color:var(--codex-text);pointer-events:auto;border-radius:14px;width:min(560px,100vw - 32px);max-width:min(560px,100vw - 32px);margin:0;padding:20px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 18px 60px #0f172a47,0 2px 8px #0f172a1f}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:18px}.close{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;display:inline-flex}.close:hover{background:#f1f3f5}.close:focus-visible,.button:focus-visible,.prompt:focus-visible{outline-offset:2px;outline:3px solid #a5d8ff}.form{gap:12px;margin-top:18px;display:grid}.prompt{background:var(--codex-background);border:1px solid var(--codex-border);box-sizing:border-box;color:inherit;font:inherit;resize:vertical;border-radius:9px;width:100%;min-height:150px;padding:10px 12px}.hint{color:var(--codex-subtle);margin:0;font-size:12px}.error{background:var(--codex-danger-soft);color:var(--codex-danger);border:1px solid #ffc9c9;border-radius:8px;margin:0;padding:8px 10px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button{appearance:none;border:1px solid var(--codex-border);color:inherit;cursor:pointer;font:inherit;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 12px;display:inline-flex}.button:hover{background:#f1f3f5}.primary{background:var(--codex-accent);border-color:var(--codex-accent);color:#fff}.primary:hover{background:var(--codex-accent-hover)}.button:disabled{cursor:not-allowed;opacity:.55}.toast{background:var(--codex-background);border:1px solid var(--codex-border);bottom:calc(20px + env(safe-area-inset-bottom,0px));color:var(--codex-text);pointer-events:auto;border-radius:9px;max-width:min(520px,100vw - 32px);padding:10px 14px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a2e}
|
|
68
|
-
`,M=`@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:SN Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./files/sn-pro-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
|
69
|
-
`;const N=`${M}\n${j}`;let P=!1,F=0;const I=new Set,L=4e3;function R(){W(!P)}function z(){let e=U(),t=c(G,K,q);return e?l(d(`div`,{className:A.surface,children:d(B,{onClose:()=>W(!1),visible:t})}),e):null}function B({onClose:e,visible:t}){let[n,r]=s();return a(()=>{if(!n)return;let e=setTimeout(()=>r(void 0),L);return()=>clearTimeout(e)},[n]),f(u,{children:[t?f(u,{children:[d(`button`,{"aria-label":`Close Codex task launcher`,className:A.backdrop,onClick:e}),f(`dialog`,{"aria-labelledby":`coreframe-codex-task-title`,className:A.dialog,open:!0,children:[f(`div`,{className:A.header,children:[d(`h2`,{className:A.title,id:`coreframe-codex-task-title`,children:`New Codex task`}),d(`button`,{"aria-label":`Close Codex task launcher`,className:A.close,onClick:e,type:`button`,children:d(O,{"aria-hidden":`true`,size:18})})]}),d(V,{onClose:e,onStarted:r,showToast:!1})]})]}):null,n?d(`div`,{className:A.toast,role:`status`,children:n}):null]})}function V({classNames:e=A,label:t=`Codex task prompt`,onClose:n,onStarted:r,placeholder:i=`Describe what you want Codex to do…`,showToast:a=!0}){let{error:o,pending:s,prompt:c,setPrompt:l,submit:p,toast:m}=H({onClose:n,onStarted:r});return f(u,{children:[f(`form`,{className:e.form,onSubmit:e=>{e.preventDefault(),p()},children:[d(`textarea`,{"aria-label":t,autoFocus:!0,className:e.prompt,disabled:s,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key!==`Enter`||e.shiftKey||(e.preventDefault(),p(e.metaKey||e.ctrlKey))},placeholder:i,value:c}),f(`p`,{className:e.hint,children:[`Enter opens in Codex · `,navigator.platform.includes(`Mac`)?`⌘`:`Ctrl`,`+Enter runs in background · Shift+Enter adds a line`]}),o?d(`p`,{className:e.error,children:o}):null,f(`div`,{className:e.actions,children:[d(`button`,{className:e.button,disabled:s,onClick:n,type:`button`,children:`Cancel`}),d(`button`,{className:e.button,disabled:s||!c.trim(),onClick:()=>p(!1),type:`button`,children:`Open in Codex`}),d(`button`,{className:`${e.button} ${e.primary}`,disabled:s||!c.trim(),onClick:()=>p(!0),type:`button`,children:s?`Starting…`:`Run in background`})]})]}),a&&m?d(`div`,{className:e.toast,role:`status`,children:m}):null]})}function H({onClose:t,onStarted:n}){let[r,i]=s(``),[c,l]=s(),[u,d]=s(!1),[f,p]=s(),m=k(),h=o(void 0);return a(()=>{if(!m)return;let r=e=>{if(e.requestId!==h.current)return;if(h.current=void 0,d(!1),e.error){l(e.error);return}let r=e.warning?`Codex task started. ${e.warning}`:e.openedInCodex?`Codex task started in the Codex app.`:`Codex task started.`;l(void 0),i(``),n?.(r),t(),p(r)};return m.on(e.result,r),()=>m.off(e.result,r)},[m,t,n]),a(()=>{if(!f)return;let e=setTimeout(()=>p(void 0),L);return()=>clearTimeout(e)},[f]),{error:c,pending:u,prompt:r,setPrompt:i,submit:(t=!1)=>{let n=r.trim();if(!n||u)return;if(!m){l(`The Vite HMR connection is unavailable.`);return}let i=String(++F);h.current=i,l(void 0),d(!0),m.send(e.start,{openInBackground:t,prompt:n,requestId:i})},toast:f}}function U(){let[e,t]=s(null);return a(()=>{let e=!0,n=g(`coreframe-codex-task-launcher`,document.body,{css:N,hostAttributes:{"aria-live":`polite`,id:`coreframe-codex-task-launcher`},hostStyles:{inset:`0`,pointerEvents:`none`,position:`fixed`},zIndex:2147483647});return queueMicrotask(()=>{e&&t(n.container)}),()=>{e=!1,n.host?.remove()}},[]),e}function W(e){if(P!==e){P=e;for(let e of I)e()}}function G(e){return I.add(e),()=>I.delete(e)}function K(){return P}function q(){return!1}export{O as a,M as i,V as n,D as o,R as r,g as s,z as t};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//#region overlay/codex-task-launcher.d.ts
|
|
2
|
-
declare function toggleCodexTaskLauncher(): void;
|
|
3
|
-
declare function CodexTaskLauncher(): import("react").ReactPortal | null;
|
|
4
|
-
type CodexTaskPromptClassNames = {
|
|
5
|
-
actions: string;
|
|
6
|
-
button: string;
|
|
7
|
-
error: string;
|
|
8
|
-
form: string;
|
|
9
|
-
hint: string;
|
|
10
|
-
primary: string;
|
|
11
|
-
prompt: string;
|
|
12
|
-
toast: string;
|
|
13
|
-
};
|
|
14
|
-
declare function CodexTaskPrompt({
|
|
15
|
-
classNames,
|
|
16
|
-
label,
|
|
17
|
-
onClose,
|
|
18
|
-
onStarted,
|
|
19
|
-
placeholder,
|
|
20
|
-
showToast
|
|
21
|
-
}: {
|
|
22
|
-
classNames?: CodexTaskPromptClassNames;
|
|
23
|
-
label?: string;
|
|
24
|
-
onClose(): void;
|
|
25
|
-
onStarted?(message: string): void;
|
|
26
|
-
placeholder?: string;
|
|
27
|
-
showToast?: boolean;
|
|
28
|
-
}): import("react").JSX.Element;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { CodexTaskLauncher, CodexTaskPrompt, CodexTaskPromptClassNames, toggleCodexTaskLauncher };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"../codex-task-launcher.js";export{n as CodexTaskLauncher,e as CodexTaskPrompt,t as toggleCodexTaskLauncher};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { startCodexTask } from "@coreframe/dev/codex-task";
|
|
2
|
-
import { Plugin } from "vite";
|
|
3
|
-
|
|
4
|
-
//#region plugins/codex-task.d.ts
|
|
5
|
-
type CoreframeCodexTaskPluginOptions = {
|
|
6
|
-
env?: NodeJS.ProcessEnv;
|
|
7
|
-
startTask?: typeof startCodexTask;
|
|
8
|
-
};
|
|
9
|
-
declare function coreframeCodexTaskPlugin({
|
|
10
|
-
env,
|
|
11
|
-
startTask
|
|
12
|
-
}?: CoreframeCodexTaskPluginOptions): Plugin;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { CoreframeCodexTaskPluginOptions, coreframeCodexTaskPlugin };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{codexTaskEnv as e,codexTaskEvents as t}from"@coreframe/dev-contracts/codex-task";import{startCodexTask as n}from"@coreframe/dev/codex-task";function r({env:r=process.env,startTask:i=n}={}){let a=r[e]===`1`;return{name:`coreframe:codex-task`,apply:`serve`,config(){return{define:{"import.meta.env.COREFRAME_CODEX_TASKS":JSON.stringify(a)}}},configureServer(e){if(!a)return;let n=async(n,a)=>{try{let o=await i({cwd:e.config.root,env:r,openInBackground:n.openInBackground,prompt:n.prompt});a.send(t.result,{requestId:n.requestId,...o})}catch(r){let i=r instanceof Error?r.message:String(r);e.config.logger.error(`Coreframe Codex task failed to start: ${i}`,{error:r instanceof Error?r:void 0}),a.send(t.result,{error:i,requestId:n.requestId})}};e.ws.on(t.start,n),e.httpServer?.once(`close`,()=>{e.ws.off(t.start,n)})}}}export{r as coreframeCodexTaskPlugin};
|