Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
268 changes: 268 additions & 0 deletions packages/browseros-agent/apps/app/components/ui/svgs/antigravity.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,268 @@
import type { SVGProps } from 'react'

const Antigravity = (props: SVGProps<SVGSVGElement>) => (
<svg {...props} viewBox="0 0 16 15" fill="none">
<mask
id="mask0_111_52"
style={{ maskType: 'alpha' }}
maskUnits="userSpaceOnUse"
x="0"
y="0"
width="16"
height="15"
>
<path
d="M14.0777 13.984C14.945 14.6345 16.2458 14.2008 15.0533 13.0084C11.476 9.53949 12.2349 0 7.79033 0C3.34579 0 4.10461 9.53949 0.527295 13.0084C-0.773543 14.3092 0.635692 14.6345 1.50293 13.984C4.86344 11.7076 4.64663 7.69664 7.79033 7.69664C10.934 7.69664 10.7172 11.7076 14.0777 13.984Z"
fill="black"
/>
</mask>
<g mask="url(#mask0_111_52)">
<g filter="url(#filter0_f_111_52)">
<path
d="M-0.658907 -3.2306C-0.922679 -0.906781 1.07986 1.22861 3.81388 1.53894C6.54791 1.84927 8.97811 0.217009 9.24188 -2.10681C9.50565 -4.43063 7.50312 -6.56602 4.76909 -6.87635C2.03506 -7.18667 -0.395135 -5.55442 -0.658907 -3.2306Z"
fill="#FFE432"
/>
</g>
<g filter="url(#filter1_f_111_52)">
<path
d="M9.88233 4.36642C10.5673 7.31568 13.566 9.13902 16.5801 8.43896C19.5942 7.73891 21.4823 4.78056 20.7973 1.83131C20.1123 -1.11795 17.1136 -2.94128 14.0995 -2.24123C11.0854 -1.54118 9.19733 1.41717 9.88233 4.36642Z"
fill="#FC413D"
/>
</g>
<g filter="url(#filter2_f_111_52)">
<path
d="M-8.05291 6.34512C-7.18736 9.38883 -3.28925 10.9473 0.653774 9.82598C4.5968 8.7047 7.09158 5.32829 6.22603 2.28458C5.36048 -0.759142 1.46236 -2.31758 -2.48066 -1.19629C-6.42368 -0.0750048 -8.91846 3.3014 -8.05291 6.34512Z"
fill="#00B95C"
/>
</g>
<g filter="url(#filter3_f_111_52)">
<path
d="M-8.05291 6.34512C-7.18736 9.38883 -3.28925 10.9473 0.653774 9.82598C4.5968 8.7047 7.09158 5.32829 6.22603 2.28458C5.36048 -0.759142 1.46236 -2.31758 -2.48066 -1.19629C-6.42368 -0.0750048 -8.91846 3.3014 -8.05291 6.34512Z"
fill="#00B95C"
/>
</g>
<g filter="url(#filter4_f_111_52)">
<path
d="M-4.92402 8.86746C-2.75421 11.0837 0.982691 10.9438 3.42257 8.55507C5.86246 6.1663 6.08139 2.43321 3.91158 0.216963C1.74177 -1.99928 -1.99513 -1.85942 -4.43501 0.529349C-6.87489 2.91812 -7.09383 6.65122 -4.92402 8.86746Z"
fill="#00B95C"
/>
</g>
<g filter="url(#filter5_f_111_52)">
<path
d="M6.42819 17.2263C7.10197 20.1273 9.91278 21.953 12.7063 21.3042C15.4998 20.6553 17.2182 17.7777 16.5444 14.8767C15.8707 11.9757 13.0599 10.15 10.2663 10.7988C7.47281 11.4477 5.75441 14.3253 6.42819 17.2263Z"
fill="#3186FF"
/>
</g>
<g filter="url(#filter6_f_111_52)">
<path
d="M1.66508 -5.94539C0.254213 -2.80254 1.7978 0.951609 5.11277 2.43973C8.42774 3.92785 12.2588 2.58642 13.6696 -0.556431C15.0805 -3.69928 13.5369 -7.45343 10.222 -8.94155C6.90699 -10.4297 3.07594 -9.08824 1.66508 -5.94539Z"
fill="#FBBC04"
/>
</g>
<g filter="url(#filter7_f_111_52)">
<path
d="M-2.11428 24.3903C-5.52984 23.0496 0.307266 12.0177 1.75874 8.32038C3.21024 4.62304 7.15576 2.71272 10.5713 4.05357C13.9869 5.39442 18.0354 12.7796 16.5838 16.477C15.1323 20.1743 1.30129 25.7311 -2.11428 24.3903Z"
fill="#3186FF"
/>
</g>
<g filter="url(#filter8_f_111_52)">
<path
d="M18.5814 10.6598C17.6669 11.727 15.2806 11.1828 13.2514 9.44417C11.2222 7.70556 10.3185 5.43097 11.2329 4.3637C12.1473 3.29646 14.5336 3.84069 16.5628 5.57928C18.592 7.31789 19.4958 9.59249 18.5814 10.6598Z"
fill="#749BFF"
/>
</g>
<g filter="url(#filter9_f_111_52)">
<path
d="M11.7552 5.22715C15.5162 7.77124 19.8471 7.93838 21.4286 5.60045C23.0101 3.26253 21.2433 -0.695128 17.4823 -3.23922C13.7213 -5.78331 9.39044 -5.95044 7.80896 -3.61252C6.22747 -1.27459 7.99428 2.68306 11.7552 5.22715Z"
fill="#FC413D"
/>
</g>
<g filter="url(#filter10_f_111_52)">
<path
d="M-0.592149 1.08896C-1.5239 3.33663 -1.21959 5.59799 0.0875457 6.13985C1.39468 6.68171 3.20966 5.29888 4.14141 3.05121C5.07316 0.803541 4.76885 -1.45782 3.46171 -1.99968C2.15458 -2.54154 0.339602 -1.15871 -0.592149 1.08896Z"
fill="#FFEE48"
/>
</g>
</g>
<defs>
<filter
id="filter0_f_111_52"
x="-2.12817"
y="-8.35998"
width="12.8393"
height="11.383"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="0.722959"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter1_f_111_52"
x="2.75168"
y="-9.38089"
width="25.1763"
height="24.96"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="3.49513"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter2_f_111_52"
x="-14.1669"
y="-7.50196"
width="26.5068"
height="23.6338"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.97119"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter3_f_111_52"
x="-14.1669"
y="-7.50196"
width="26.5068"
height="23.6338"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.97119"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter4_f_111_52"
x="-12.3607"
y="-7.29981"
width="23.709"
height="23.6846"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.97119"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter5_f_111_52"
x="0.634962"
y="5.02095"
width="21.7027"
height="22.0616"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.82351"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter6_f_111_52"
x="-3.97547"
y="-14.6666"
width="23.2857"
height="22.8313"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.5589"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter7_f_111_52"
x="-7.7407"
y="-0.945408"
width="29.1982"
height="30.1105"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.2852"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter8_f_111_52"
x="6.78641"
y="-0.27231"
width="16.2415"
height="15.5681"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.04485"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter9_f_111_52"
x="3.77526"
y="-8.71693"
width="21.687"
height="19.4212"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="1.72712"
result="effect1_foregroundBlur_111_52"
/>
</filter>
<filter
id="filter10_f_111_52"
x="-5.40727"
y="-6.39238"
width="14.3639"
height="16.9254"
filterUnits="userSpaceOnUse"
colorInterpolationFilters="sRGB"
>
<feFlood floodOpacity="0" result="BackgroundImageFix" />
<feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape" />
<feGaussianBlur
stdDeviation="2.1376"
result="effect1_foregroundBlur_111_52"
/>
</filter>
</defs>
</svg>
)

export { Antigravity }
16 changes: 16 additions & 0 deletions packages/browseros-agent/apps/app/components/ui/svgs/opencode.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import type { SVGProps } from 'react'

const Opencode = (props: SVGProps<SVGSVGElement>) => (
<svg {...props} viewBox="0 0 512 512" fill="none">
<rect width="512" height="512" fill="#FDFCFC" />
<path d="M320 224V352H192V224H320Z" fill="#E6E5E6" />
<path
fillRule="evenodd"
clipRule="evenodd"
d="M384 416H128V96H384V416ZM320 160H192V352H320V160Z"
fill="#17181C"
/>
</svg>
)

export { Opencode }
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ export const MCPServerHeader: FC<MCPServerHeaderProps> = ({

const handleRestart = async () => {
setIsRestarting(true)
const { getBrowserOSAdapter } = await import('@/lib/browseros/adapter')
const { BROWSEROS_PREFS } = await import('@/lib/browseros/prefs')
const adapter = getBrowserOSAdapter()
try {
const { getBrowserOSAdapter } = await import('@/lib/browseros/adapter')
const { BROWSEROS_PREFS } = await import('@/lib/browseros/prefs')
const adapter = getBrowserOSAdapter()
await adapter.setPref(BROWSEROS_PREFS.RESTART_SERVER, true)

const healthy = await waitForServerHealth()
Expand All @@ -64,6 +64,16 @@ export const MCPServerHeader: FC<MCPServerHeaderProps> = ({
err instanceof Error ? err.message : 'Failed to restart server',
)
} finally {
// Reset the one-shot request flag once the restart has been
// serviced. The browser's restart watcher is level-triggered:
// left true, it shuts the server down, sees the flag still set on
// the fresh process, and shuts it down again in an endless bounce.
// Cleared here on every path so a timed-out restart can't latch it.
try {
await adapter.setPref(BROWSEROS_PREFS.RESTART_SERVER, false)
} catch {
// Best-effort; nothing useful to surface if the pref write fails.
}
setIsRestarting(false)
}
}
Expand Down
Loading
Loading