@mndrk/agx 1.4.40 → 1.4.42
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/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-build-manifest.json +53 -53
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +15 -15
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +5 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +5 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +5 -11
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +10 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/3009.js +6 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware.js +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-1475b21ebc625376.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/{page-1fc7f0932678564a.js → page-b5fbc427c7fa0865.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/{page-73c51d10d4d6750b.js → page-161065be9ecc1540.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-8465be2213d5814e.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-1c83613d7bdd6e4d.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-daef2760bde2a1c2.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/6873fedf803c523e.css +1 -0
- package/lib/cli/cloudArtifacts.js +15 -0
- package/lib/cli/daemon.js +0 -2
- package/lib/cli/runCli.js +14 -0
- package/package.json +1 -1
- package/templates/stack/postgres/init/001_agx_board_schema.sql +8 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/1240.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-09000d8a6c85f40c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-7b3bab16f3cd2c6e.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-7fa40666ec1be39a.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-4700b9b5d3d5d10e.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/d85185e3bba6ece1.css +0 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{BOJ5sZptp00NauQlpjT44 → pATdjhxC3vYqiWYskAsjo}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{BOJ5sZptp00NauQlpjT44 → pATdjhxC3vYqiWYskAsjo}/_ssgManifest.js +0 -0
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/6873fedf803c523e.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-500:oklch(70.5% .213 47.604);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-600:oklch(51.1% .262 276.966);--color-slate-200:oklch(92.9% .013 255.508);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1\/2{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-8{right:calc(var(--spacing)*8)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-0\.5{left:calc(var(--spacing)*.5)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.-z-10{z-index:calc(10*-1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-4{margin:calc(var(--spacing)*4)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-auto{margin-top:auto}.-mr-1\.5{margin-right:calc(var(--spacing)*-1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-7{margin-left:calc(var(--spacing)*7)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-64{height:calc(var(--spacing)*64)}.h-96{height:calc(var(--spacing)*96)}.h-\[85vh\]{height:85vh}.h-\[90vh\]{height:90vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[150px\]{min-height:150px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[80px\]{max-width:80px}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[1200px\]{max-width:1200px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[120px\]{min-width:120px}.min-w-\[280px\]{min-width:280px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1)}.-translate-x-1\/2,.translate-x-0{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4)}.translate-x-4,.translate-x-5{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing)*5)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-2{rotate:2deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_1\.2fr_auto\]{grid-template-columns:1fr 1.2fr auto}.grid-cols-\[140px_1fr\]{grid-template-columns:140px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--card-border\)\]>:not(:last-child)){border-color:var(--card-border)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color-mix\(in_srgb\,var\(--destructive\)_30\%\,transparent\)\]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--destructive\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--destructive)30%,transparent)}}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--card-border\)\]{border-color:var(--card-border)}.border-\[var\(--destructive\)\],.border-\[var\(--destructive\)\]\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--destructive\)\]\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-\[var\(--muted-foreground\)\]{border-color:var(--muted-foreground)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-\[var\(--primary-muted\)\]{border-color:var(--primary-muted)}.border-\[var\(--status-blocked\)\],.border-\[var\(--status-blocked\)\]\/40{border-color:var(--status-blocked)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-blocked\)\]\/40{border-color:color-mix(in oklab,var(--status-blocked)40%,transparent)}}.border-\[var\(--status-completed\)\]\/20{border-color:var(--status-completed)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-completed\)\]\/20{border-color:color-mix(in oklab,var(--status-completed)20%,transparent)}}.border-\[var\(--status-failed\)\],.border-\[var\(--status-failed\)\]\/20{border-color:var(--status-failed)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-failed\)\]\/20{border-color:color-mix(in oklab,var(--status-failed)20%,transparent)}}.border-\[var\(--status-failed\)\]\/40{border-color:var(--status-failed)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-failed\)\]\/40{border-color:color-mix(in oklab,var(--status-failed)40%,transparent)}}.border-current{border-color:currentColor}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-neutral-700{border-color:var(--color-neutral-700)}.border-red-200{border-color:var(--color-red-200)}.border-red-800{border-color:var(--color-red-800)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-t-\[var\(--primary\)\]{border-top-color:var(--primary)}.border-t-gray-600{border-top-color:var(--color-gray-600)}.border-t-transparent{border-top-color:#0000}.border-t-white{border-top-color:var(--color-white)}.bg-\[\#0b0f14\]{background-color:#0b0f14}.bg-\[\#24292e\]{background-color:#24292e}.bg-\[rgba\(255\,255\,255\,0\.8\)\]{background-color:#fffc}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--accent-muted\)\]{background-color:var(--accent-muted)}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card-bg\)\],.bg-\[var\(--card-bg\)\]\/50{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--card-bg\)\]\/50{background-color:color-mix(in oklab,var(--card-bg)50%,transparent)}}.bg-\[var\(--card-bg\)\]\/60{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--card-bg\)\]\/60{background-color:color-mix(in oklab,var(--card-bg)60%,transparent)}}.bg-\[var\(--card-bg\)\]\/80{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--card-bg\)\]\/80{background-color:color-mix(in oklab,var(--card-bg)80%,transparent)}}.bg-\[var\(--card-border\)\]{background-color:var(--card-border)}.bg-\[var\(--column-bg\)\]{background-color:var(--column-bg)}.bg-\[var\(--column-header-bg\)\]{background-color:var(--column-header-bg)}.bg-\[var\(--destructive-muted\)\]{background-color:var(--destructive-muted)}.bg-\[var\(--item-hover-bg\)\]{background-color:var(--item-hover-bg)}.bg-\[var\(--muted\)\],.bg-\[var\(--muted\)\]\/10{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/10{background-color:color-mix(in oklab,var(--muted)10%,transparent)}}.bg-\[var\(--muted\)\]\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-\[var\(--muted\)\]\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-\[var\(--muted\)\]\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-\[var\(--muted-foreground\)\]\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted-foreground\)\]\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-\[var\(--primary\)\],.bg-\[var\(--primary\)\]\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--primary\)\]\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-\[var\(--primary-muted\)\]{background-color:var(--primary-muted)}.bg-\[var\(--status-blocked\)\]{background-color:var(--status-blocked)}.bg-\[var\(--status-blocked-bg\)\]{background-color:var(--status-blocked-bg)}.bg-\[var\(--status-completed\)\]{background-color:var(--status-completed)}.bg-\[var\(--status-completed-bg\)\]{background-color:var(--status-completed-bg)}.bg-\[var\(--status-failed\)\]{background-color:var(--status-failed)}.bg-\[var\(--status-failed-bg\)\]{background-color:var(--status-failed-bg)}.bg-\[var\(--status-in-progress\)\]{background-color:var(--status-in-progress)}.bg-\[var\(--status-queued\)\]{background-color:var(--status-queued)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-\[var\(--success-muted\)\]{background-color:var(--success-muted)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-900\/50{background-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/50{background-color:color-mix(in oklab,var(--color-red-900)50%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-br,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-\[radial-gradient\(\#27272a_1px\,transparent_1px\)\]{background-image:radial-gradient(#27272a 1px,#0000 0)}.bg-\[url\(\'data\:image\/svg\+xml\;charset\=utf-8\,\%3Csvg\%20xmlns\%3D\%22http\%3A\%2F\%2Fwww\.w3\.org\%2F2000\%2Fsvg\%22\%20width\%3D\%2212\%22\%20height\%3D\%2212\%22\%20viewBox\%3D\%220\%200\%2024\%2024\%22\%20fill\%3D\%22none\%22\%20stroke\%3D\%22\%23888\%22\%20stroke-width\%3D\%222\%22\%3E\%3Cpath\%20d\%3D\%22M6\%209l6\%206\%206-6\%22\%2F\%3E\%3C\%2Fsvg\%3E\'\)\]{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23888%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6%22%2F%3E%3C%2Fsvg%3E)}.from-\[var\(--foreground\)\]{--tw-gradient-from:var(--foreground);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[var\(--primary\)\]{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--accent\)\]{--tw-gradient-to:var(--accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--muted-foreground\)\]{--tw-gradient-to:var(--muted-foreground);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[background-size\:16px_16px\]{background-size:16px 16px}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-\[right_0px_center\]{background-position:right 0 center}.bg-no-repeat{background-repeat:no-repeat}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-16{padding-top:calc(var(--spacing)*16)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--destructive\)\],.text-\[var\(--destructive\)\]\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--destructive\)\]\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--status-blocked\)\]{color:var(--status-blocked)}.text-\[var\(--status-completed\)\]{color:var(--status-completed)}.text-\[var\(--status-failed\)\]{color:var(--status-failed)}.text-\[var\(--success\)\]{color:var(--success)}.text-black{color:var(--color-black)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-red-200{color:var(--color-red-200)}.text-red-500{color:var(--color-red-500)}.text-red-800{color:var(--color-red-800)}.text-slate-200{color:var(--color-slate-200)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-neutral-600::placeholder{color:var(--color-neutral-600)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-\[var\(--primary\)\]\/20{--tw-shadow-alpha:20%;--tw-shadow:var(--primary)}.shadow-\[var\(--primary\)\]\/20,.shadow-\[var\(--primary\)\]\/30{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--primary\)\]\/30{--tw-shadow-alpha:30%;--tw-shadow:var(--primary)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xl,.shadow-inner{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.ring-1,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.shadow-orange-500\/20{--tw-shadow-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.shadow-orange-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-orange-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-\[var\(--primary\)\]{--tw-ring-color:var(--primary)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-\[var\(--background\)\]{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg))}.backdrop-blur-lg,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-\[var\(--primary\)\]\/40:is(:where(.group):hover *){--tw-shadow-alpha:40%;--tw-shadow:var(--primary);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.selection\:bg-\[var\(--primary\)\] ::selection{background-color:var(--primary)}.selection\:bg-\[var\(--primary\)\]::selection{background-color:var(--primary)}.selection\:text-\[var\(--primary-foreground\)\] ::selection{color:var(--primary-foreground)}.selection\:text-\[var\(--primary-foreground\)\]::selection{color:var(--primary-foreground)}.placeholder\:text-\[var\(--muted-foreground\)\]\/50::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-\[var\(--muted-foreground\)\]\/50::placeholder{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:float-left:before{content:var(--tw-content);float:left}.before\:h-0:before{content:var(--tw-content);height:calc(var(--spacing)*0)}.before\:text-\[var\(--muted-foreground\)\]:before{content:var(--tw-content);color:var(--muted-foreground)}.before\:content-\[attr\(data-placeholder\)\]:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,var\(--card-border\)\)\]:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,var\(--card-border\)\)\]:hover{border-color:color-mix(in srgb,var(--primary)30%,var(--card-border))}}.hover\:border-\[var\(--destructive\)\]:hover{border-color:var(--destructive)}.hover\:border-\[var\(--muted-foreground\)\]:hover{border-color:var(--muted-foreground)}.hover\:border-\[var\(--primary\)\]:hover,.hover\:border-\[var\(--primary\)\]\/30:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-\[var\(--primary\)\]\/30:hover{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.hover\:border-\[var\(--primary-muted\)\]:hover{border-color:var(--primary-muted)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[\#2f363d\]:hover{background-color:#2f363d}.hover\:bg-\[var\(--card-bg\)\]\/50:hover{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--card-bg\)\]\/50:hover{background-color:color-mix(in oklab,var(--card-bg)50%,transparent)}}.hover\:bg-\[var\(--card-border\)\]:hover{background-color:var(--card-border)}.hover\:bg-\[var\(--destructive\)\]\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--destructive\)\]\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-\[var\(--destructive-muted\)\]:hover{background-color:var(--destructive-muted)}.hover\:bg-\[var\(--item-hover-bg\)\]:hover{background-color:var(--item-hover-bg)}.hover\:bg-\[var\(--muted\)\]:hover,.hover\:bg-\[var\(--muted\)\]\/20:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--muted\)\]\/20:hover{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.hover\:bg-\[var\(--muted\)\]\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--muted\)\]\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-\[var\(--primary\)\]:hover,.hover\:bg-\[var\(--primary\)\]\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--primary\)\]\/10:hover{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.hover\:bg-\[var\(--primary-dark\)\]:hover{background-color:var(--primary-dark)}.hover\:bg-\[var\(--primary-muted\)\]:hover{background-color:var(--primary-muted)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:text-\[var\(--destructive\)\]:hover{color:var(--destructive)}.hover\:text-\[var\(--foreground\)\]:hover{color:var(--foreground)}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-black\/20:hover{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-black\/20:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}}.focus\:border-\[var\(--primary\)\]:focus{border-color:var(--primary)}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--primary\)\]:focus,.focus\:ring-\[var\(--primary\)\]\/20:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-\[var\(--primary\)\]\/20:focus{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-indigo-600:focus{--tw-ring-color:var(--color-indigo-600)}.focus\:ring-white:focus{--tw-ring-color:var(--color-white)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--ring\)\]:focus-visible{outline-color:var(--ring)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.99\]:active{scale:.99}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:p-8{padding:calc(var(--spacing)*8)}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}}:root{--background:#f9fafb;--foreground:#111827;--primary:#f97316;--primary-foreground:#fff;--primary-hover:#ea580c;--primary-muted:#f973161a;--secondary:#fff;--secondary-foreground:#374151;--secondary-hover:#f3f4f6;--accent:#6366f1;--accent-foreground:#fff;--accent-hover:#4f46e5;--accent-muted:#6366f11a;--card-bg:#fff;--card-border:#e5e7eb;--card-hover-border:#d1d5db;--column-bg:#f3f4f6;--column-header-bg:#f3f4f6;--muted:#f3f4f6;--muted-foreground:#6b7280;--status-queued:#6b7280;--status-queued-bg:#f3f4f6;--status-queued-border:#e5e7eb;--status-in-progress:#f97316;--status-in-progress-bg:#fff7ed;--status-in-progress-border:#fed7aa;--status-blocked:#ef4444;--status-blocked-bg:#fef2f2;--status-blocked-border:#fecaca;--status-completed:#10b981;--status-completed-bg:#ecfdf5;--status-completed-border:#a7f3d0;--status-failed:#ef4444;--status-failed-bg:#fef2f2;--status-failed-border:#fecaca;--border:#e5e7eb;--input:#fff;--input-focus:#f97316;--ring:#f9731666;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1);--radius-sm:.375rem;--radius:.5rem;--radius-md:.75rem;--radius-lg:.875rem;--radius-xl:1rem}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--card-border);transition:background var(--transition-fast);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.glass{-webkit-backdrop-filter:blur(10px);background:#18181bb3}.focus-ring:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}.animate-fade-in{animation:fade-in var(--transition-base)ease-out}.animate-fade-in-up{animation:fade-in-up var(--transition-slow)ease-out}.animate-slide-in-right{animation:slide-in-right var(--transition-slow)ease-out}.animate-scale-in{animation:scale-in var(--transition-base)ease-out}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--card-bg)0,var(--card-border)50%,var(--card-bg)100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--card-bg)0,var(--card-border)50%,var(--card-bg)100%);border-radius:var(--radius);background-size:200% 100%;animation:shimmer 1.5s infinite}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.card:hover{border-color:color-mix(in srgb,var(--primary)30%,var(--card-border))}}.card:hover{box-shadow:var(--shadow-md),0 0 0 1px var(--primary)}@supports (color:color-mix(in lab,red,red)){.card:hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--primary)10%,transparent)}}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg),0 0 20px -5px var(--primary);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.card-interactive:hover{box-shadow:var(--shadow-lg),0 0 20px -5px color-mix(in srgb,var(--primary)20%,transparent)}}.card-interactive:active{transform:translateY(0)}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 0 20px -5px var(--primary)}.btn-secondary{background:var(--secondary-muted);color:var(--foreground);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--muted);border-color:var(--muted-foreground)}.btn-ghost{color:var(--muted-foreground);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-destructive{background:var(--destructive-muted);color:var(--destructive)}.btn-destructive:hover:not(:disabled){background:var(--destructive);color:var(--destructive-foreground)}.badge{transition:all var(--transition-fast);border:1px solid #0000;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.badge-status-queued{background:var(--status-queued-bg);color:var(--status-queued);border-color:var(--status-queued-border)}.badge-status-in_progress{background:var(--status-in-progress-bg);color:var(--status-in-progress);border-color:var(--status-in-progress-border)}.badge-status-blocked{background:var(--status-blocked-bg);color:var(--status-blocked);border-color:var(--status-blocked-border)}.badge-status-failed{background:var(--status-failed-bg);color:var(--status-failed);border-color:var(--status-failed-border)}.badge-status-completed{background:var(--status-completed-bg);color:var(--status-completed);border-color:var(--status-completed-border)}.input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--foreground);transition:all var(--transition-fast);padding:.625rem .875rem;font-size:.875rem}.input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--primary);outline:none}@supports (color:color-mix(in lab,red,red)){.input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary)20%,transparent)}}.input::placeholder{color:var(--muted-foreground)}.kanban-column{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);transition:all var(--transition-base)}.kanban-column-header{border-bottom:1px solid var(--card-border);background:var(--card-bg);border-radius:var(--radius-xl)var(--radius-xl)0 0;z-index:10;padding:.875rem 1rem;position:sticky;top:0}.kanban-column-content{min-height:200px;max-height:60vh;padding:.5rem;overflow-y:auto}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fade-in var(--transition-fast)ease-out;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:scale-in var(--transition-base)ease-out}.timeline-line{background:linear-gradient(to bottom,var(--card-border),transparent);width:2px;position:absolute;top:0;bottom:0;left:.5rem}.timeline-dot{background:var(--card-border);border:2px solid var(--card-bg);width:1rem;height:1rem;transition:all var(--transition-fast);border-radius:9999px;position:absolute;top:.375rem;left:0}.timeline-item:hover .timeline-dot{background:var(--primary);box-shadow:0 0 10px var(--primary)}@media (max-width:768px){.hide-mobile{display:none}.touch-target{min-width:44px;min-height:44px}}@media (min-width:769px){.hide-desktop{display:none}}.truncate-2{-webkit-line-clamp:2}.truncate-2,.truncate-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-3{-webkit-line-clamp:3}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.spinner{border:2px solid var(--card-border);border-top-color:var(--primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:spin .75s linear infinite}.spinner-lg{border-width:3px;width:2rem;height:2rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -299,6 +299,20 @@ function buildFullDaemonPromptContext(task, options = {}) {
|
|
|
299
299
|
? comments.map((c) => `${c.author || 'user'}: ${c.content || ''}`).join('\n')
|
|
300
300
|
: '(no comments yet)';
|
|
301
301
|
|
|
302
|
+
// Build project repos section so the agent knows where to cd
|
|
303
|
+
const projectObj = task?.project && typeof task.project === 'object' ? task.project : null;
|
|
304
|
+
const projectCtx = task?.project_context && typeof task.project_context === 'object' ? task.project_context : null;
|
|
305
|
+
const repos = projectCtx?.repos || projectObj?.repos || task?.repos || [];
|
|
306
|
+
const reposSection = Array.isArray(repos) && repos.length
|
|
307
|
+
? repos.map((r) => {
|
|
308
|
+
const parts = [r.name || 'unnamed'];
|
|
309
|
+
if (r.path) parts.push(`path: ${r.path}`);
|
|
310
|
+
if (r.git_url) parts.push(`git: ${r.git_url}`);
|
|
311
|
+
if (r.notes) parts.push(`(${r.notes})`);
|
|
312
|
+
return `- ${parts.join(' | ')}`;
|
|
313
|
+
}).join('\n')
|
|
314
|
+
: '';
|
|
315
|
+
|
|
302
316
|
const hasTaskPrompt = typeof task?.prompt === 'string' && task.prompt.trim();
|
|
303
317
|
let prompt = hasTaskPrompt ? task.prompt.trim() : `## Cloud Task Context
|
|
304
318
|
|
|
@@ -310,6 +324,7 @@ Stage: ${task?.stage || 'ideation'}
|
|
|
310
324
|
Stage Objective: ${stagePrompt}
|
|
311
325
|
Stage Completion Requirement (guidance): ${stageRequirement}
|
|
312
326
|
Provider: ${provider}${model ? `/${model}` : ''}
|
|
327
|
+
${reposSection ? `\n## Project Repos\n\nYou are starting in the home directory. cd into the appropriate repo before working.\n${reposSection}\n` : ''}
|
|
313
328
|
|
|
314
329
|
User Request:
|
|
315
330
|
"""
|
package/lib/cli/daemon.js
CHANGED
|
@@ -339,8 +339,6 @@ function dockerHasRelation(qualifiedName) {
|
|
|
339
339
|
|
|
340
340
|
function ensureDockerSchemaInitialized() {
|
|
341
341
|
if (!isDockerPostgresRunning()) return;
|
|
342
|
-
const needsProjects = !dockerHasRelation('public.projects') || !dockerHasRelation('public.project_repos');
|
|
343
|
-
if (!needsProjects) return;
|
|
344
342
|
|
|
345
343
|
const initSqlPath = path.join(__dirname, 'templates', 'stack', 'postgres', 'init', '001_agx_board_schema.sql');
|
|
346
344
|
if (!fs.existsSync(initSqlPath)) return;
|
package/lib/cli/runCli.js
CHANGED
|
@@ -3001,6 +3001,20 @@ EXAMPLES:
|
|
|
3001
3001
|
}
|
|
3002
3002
|
saveAugmentedPrompt(augmentedPrompt, options.debug);
|
|
3003
3003
|
|
|
3004
|
+
// For codex: add --writable-roots for each project repo path so the sandbox allows access.
|
|
3005
|
+
if (provider === 'codex') {
|
|
3006
|
+
const projectObj = task?.project && typeof task.project === 'object' ? task.project : null;
|
|
3007
|
+
const projectCtx = task?.project_context && typeof task.project_context === 'object' ? task.project_context : null;
|
|
3008
|
+
const repos = projectCtx?.repos || projectObj?.repos || task?.repos || [];
|
|
3009
|
+
if (Array.isArray(repos)) {
|
|
3010
|
+
for (const repo of repos) {
|
|
3011
|
+
if (repo?.path) {
|
|
3012
|
+
translatedArgs.push('--add-dir', repo.path);
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
}
|
|
3017
|
+
|
|
3004
3018
|
console.log(`${c.dim}[cloud] Loaded task: ${task.title || task.id}${c.reset}\n`);
|
|
3005
3019
|
} catch (err) {
|
|
3006
3020
|
console.error(`${c.red}Failed to load cloud task:${c.reset} ${err.message}`);
|
package/package.json
CHANGED
|
@@ -250,6 +250,9 @@ CREATE TABLE IF NOT EXISTS agx.tasks (
|
|
|
250
250
|
run_index jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
251
251
|
pid integer,
|
|
252
252
|
exit_code integer,
|
|
253
|
+
artifact_path text,
|
|
254
|
+
artifact_host text,
|
|
255
|
+
artifact_key text,
|
|
253
256
|
CONSTRAINT tasks_stage_check CHECK ((stage = ANY (ARRAY['ideation'::text, 'planning'::text, 'execution'::text, 'verification'::text, 'done'::text]))),
|
|
254
257
|
CONSTRAINT tasks_status_check CHECK ((status = ANY (ARRAY['queued'::text, 'in_progress'::text, 'blocked'::text, 'completed'::text, 'failed'::text])))
|
|
255
258
|
);
|
|
@@ -493,3 +496,8 @@ DO $$ BEGIN
|
|
|
493
496
|
ALTER TABLE agx.workflow_transitions ADD CONSTRAINT workflow_transitions_workflow_id_fkey FOREIGN KEY (workflow_id) REFERENCES agx.workflows(id) ON DELETE CASCADE;
|
|
494
497
|
END IF;
|
|
495
498
|
END $$;
|
|
499
|
+
|
|
500
|
+
-- Idempotent column additions for existing installations
|
|
501
|
+
ALTER TABLE agx.tasks ADD COLUMN IF NOT EXISTS artifact_path text;
|
|
502
|
+
ALTER TABLE agx.tasks ADD COLUMN IF NOT EXISTS artifact_host text;
|
|
503
|
+
ALTER TABLE agx.tasks ADD COLUMN IF NOT EXISTS artifact_key text;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1240,exports.ids=[1240],exports.modules={8315:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$Z:()=>j,Ol:()=>i,Wk:()=>l,bq:()=>m,s3:()=>k,t6:()=>n,vf:()=>h});var e=c(55511),f=c(79965),g=a([f]);function h(a,b){let c=JSON.stringify({id:a.id,user_id:a.user_id,content:a.content,stage:a.stage,engine:a.engine,provider:a.provider||null,model:a.model||null,swarm:a.swarm||!1,swarm_models:a.swarm_models||null,comments_digest:a.comments_digest||null,created_at:a.created_at});return(0,e.createHmac)("sha256",b).update(c).digest("hex")}function i(){return(0,e.randomBytes)(32).toString("hex")}function j(a){return(0,e.createHmac)("sha256",process.env.SECRET_SALT||"agx-cloud-salt").update(a).digest("hex")}function k(a,b){let c=j(a);try{return(0,e.timingSafeEqual)(Buffer.from(b,"hex"),Buffer.from(c,"hex"))}catch{return!1}}f=(g.then?(await g)():g)[0];let o=[/rm\s+(-rf?|--recursive)\s+[\/~]/i,/rm\s+-rf?\s+\*/i,/chmod\s+(777|a\+rwx)/i,/chown\s+.*\s+\//i,/>\s*\/dev\/sd[a-z]/i,/\.env/i,/credentials?\.json/i,/api[_-]?key/i,/secret[_-]?key/i,/private[_-]?key/i,/password/i,/curl.*\|\s*(ba)?sh/i,/wget.*\|\s*(ba)?sh/i,/nc\s+-l/i,/socat/i,/sudo\s+/i,/su\s+-/i,/mkfs\./i,/dd\s+if=/i,/eval\s*\(/i,/exec\s*\(/i,/child_process/i,/__import__/i,/base64.*>/i,/xxd/i,/tar.*-c.*\|.*curl/i];function l(a){let b=[];for(let c of o)c.test(a)&&b.push(c.source);let c="low";return/rm\s+(-rf?|--recursive)\s*[\/~\*]|sudo\s+|mkfs\.|dd\s+if=/i.test(a)?c="critical":/curl.*\|\s*(ba)?sh|wget.*\|\s*(ba)?sh|chmod\s+(777|a\+rwx)|\.env\b/i.test(a)?c="high":/password|api[_-]?key|secret[_-]?key|private[_-]?key|credentials?\.json/i.test(a)&&(c="medium"),{isDangerous:b.length>0,patterns:b,severity:c}}async function m(a){let b=(0,f.x)(),{data:c,error:d}=await b.from("task_audit_log").insert({user_id:a.user_id,task_id:a.task_id,action:a.action,payload:a.payload,signature:a.signature,ip_address:a.ip_address,user_agent:a.user_agent,result:a.result||"pending"}).select("id").single();if(d)throw console.error("Failed to write audit log:",d),Error("Audit log write failed");return c.id}async function n(a,b){let c=(0,f.x)().from("task_audit_log").select("*").eq("user_id",a).order("dispatched_at",{ascending:!1});b?.taskId&&(c=c.eq("task_id",b.taskId)),b?.limit&&(c=c.limit(b.limit)),b?.offset&&(c=c.range(b.offset,b.offset+(b.limit||50)-1));let{data:d,error:e}=await c;if(e)throw console.error("Failed to get audit logs:",e),e;return d||[]}d()}catch(a){d(a)}})},36910:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{VK:()=>m});var e=c(55511),f=c(79965),g=c(27143),h=a([f,g]);async function i(a){let b=(0,f.x)(),{data:c,error:d}=await b.from("task_comments").select("*").eq("task_id",a).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(d){let a="string"==typeof d.message?d.message:"";if("42P01"===d.code||"PGRST205"===d.code||a.includes('relation "task_comments" does not exist')||a.includes("Could not find the table 'agx.task_comments'")||a.includes("Could not find the table 'public.task_comments'"))return[];throw d}return c||[]}async function j(a){let b=(0,f.x)(),c=a.user_id,d=b.from("learnings").select("*").eq("scope","task").eq("scope_id",a.id);c&&d.eq("user_id",c);let e=new Set;if(a.project_id&&e.add(a.project_id),a.project&&e.add(a.project),!a.project_id&&a.project){let b=await (0,g.co)(a.project,c);b?.id&&e.add(b.id)}let h=Array.from(e),i=h.length?b.from("learnings").select("*").eq("scope","project").in("scope_id",h):null;i&&c&&i.eq("user_id",c);let j=b.from("learnings").select("*").eq("scope","global");c&&j.eq("user_id",c);let[{data:k,error:l},{data:m,error:n},o]=await Promise.all([d,j,i??Promise.resolve({data:[],error:null})]);if(l)throw l;if(n)throw n;if(o?.error)throw o.error;return{task:k||[],project:o?.data||[],global:m||[]}}async function k(a){let b,c=a.stage;if(!c)return{prompt:null};let d=(0,f.x)(),e=(b=a.workflow_id)&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(b)?a.workflow_id:"";if(!e&&a.project_id)try{let b=await (0,g.Fw)(a.project_id,a.user_id);b?.workflow_id&&(e=b.workflow_id)}catch{}e||(e=g.ou);try{let{data:a,error:b}=await d.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",c).maybeSingle();if(!b&&a){let b=a.metadata&&"object"==typeof a.metadata?a.metadata:{},c="boolean"==typeof b.swarm&&b.swarm,d=Array.isArray(b.swarm_models)?b.swarm_models:void 0;if(a.prompt)return{prompt:a.prompt,swarm:c,provider:a.provider||void 0,model:a.model||void 0,swarm_models:d};return{prompt:null,swarm:c,provider:a.provider||void 0,model:a.model||void 0,swarm_models:d}}}catch{}try{let b=[];b.push(d.from("stage_prompts").select("*").eq("stage",c).eq("is_default",!0).eq("workflow_id",e).maybeSingle()),a.user_id&&b.push(d.from("stage_prompts").select("*").eq("stage",c).eq("user_id",a.user_id).eq("workflow_id",e).maybeSingle());let f=await Promise.all(b),g=f[0]?.data||null,h=a.user_id?f[1]?.data:null,i=h?.prompt||g?.prompt||null;if(i)return{prompt:i,swarm:h?.swarm??g?.swarm??!1,provider:h?.provider||g?.provider,model:h?.model||g?.model,swarm_models:h?.swarm_models||g?.swarm_models}}catch{}let h=g.tB[c];return h?.prompt?{prompt:h.prompt,swarm:h.swarm??!1,provider:h.provider,model:h.model,swarm_models:h.swarm_models}:{prompt:null}}async function l(a,b){let c=a.project_id,d=a.project||void 0,e=null;if(c&&(e=await (0,g.Fw)(c,a.user_id)),!e&&d){let b=await (0,g.co)(d,a.user_id);if(b){let a=await (0,g.rV)(b.id);e={...b,repos:a}}}return e?{project:e,repos:e.repos??[],learnings:b.map(a=>a.content)}:null}async function m(a){let[b,c,d,f]=await Promise.all([i(a.id),j(a),k(a),a.user_id?(0,g.h_)(a.user_id):Promise.resolve(null)]),h=await l(a,c.project),m=function(a){let b=a.map(a=>({id:a.id,task_id:a.task_id,author_type:a.author_type||null,author_id:a.author_id||null,content:a.content||"",created_at:a.created_at||null})),c=JSON.stringify(b);return(0,e.createHash)("sha256").update(c).digest("hex")}(b),n="string"==typeof a.stage&&a.stage.trim()?a.stage.trim():"",o=d.prompt??null,p={};if(o&&n){p[n]=o;let a=n.toLowerCase();p[a]||(p[a]=o)}let q=o&&n?[{stage:n,prompt:o}]:[];return{comments:b,learnings:c,stage_config:d,stage_prompt:o,stage_prompts:p,stage_objective:o,stageObjective:o,stagePrompts:q,project_context:h,comments_digest:m,user_settings:f}}[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9337],{2835:(e,r,t)=>{t.d(r,{A:()=>o});var a=t(5155),s=t(2115);function o(e){let{tasks:r,onTaskClick:t,onStop:o,onRetry:n,cancellingTaskId:l}=e,i=(0,s.useMemo)(()=>r.filter(e=>"in_progress"===e.status),[r]),[d,c]=(0,s.useState)({});return((0,s.useEffect)(()=>{let e=()=>{let e={};i.forEach(r=>{let t=new Date(r.updated_at).getTime(),a=Math.floor((Date.now()-t)/6e4);a<1?e[r.id]="< 1m":a<60?e[r.id]="".concat(a,"m"):e[r.id]="".concat(Math.floor(a/60),"h")}),c(e)};e();let r=setInterval(e,6e4);return()=>clearInterval(r)},[i]),0===i.length)?null:(0,a.jsx)("div",{className:"w-full bg-[var(--card-bg)] border-b border-[var(--border)] mb-6 animate-fade-in-down",children:(0,a.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar",children:(0,a.jsxs)("div",{className:"flex items-center gap-4 p-4 min-w-max",children:[(0,a.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,a.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,a.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,a.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[i.length," Active"]})]}),(0,a.jsx)("div",{className:"flex items-center gap-3",children:i.map(e=>{let r=e.id===l;return(0,a.jsxs)("div",{onClick:()=>null==t?void 0:t(e),className:"group flex items-center gap-3 pl-3 pr-2 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg hover:border-[var(--primary)] transition-all cursor-pointer shadow-sm hover:shadow-md min-w-[280px]",children:[(0,a.jsx)("div",{className:"w-8 h-8 rounded-full bg-[var(--muted)] flex items-center justify-center text-xs font-bold border border-[var(--border)] shrink-0",children:e.provider?e.provider.substring(0,2).toUpperCase():"AG"}),(0,a.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,a.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[e.provider||"Agent"," ",e.model?"• ".concat(e.model):""]}),(0,a.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:d[e.id]||"0m"})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:e.title||e.content.substring(0,30)}),(0,a.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,a.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:"".concat(40*Math.random()+30,"%")}})})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity pl-2 border-l border-[var(--border)]",children:[(0,a.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),r||null==o||o(e.id)},disabled:r,className:"p-1 rounded transition-all ".concat(r?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"),title:r?"Stopping...":"Stop Task",children:r?(0,a.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,a.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,a.jsx)("button",{type:"button",onClick:r=>{r.stopPropagation(),null==n||n(e.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart",children:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,a.jsx)("path",{d:"M3 3v5h5"}),(0,a.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,a.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},e.id)})})]})})})}},6779:(e,r,t)=>{t.d(r,{A:()=>m});var a=t(5155),s=t(2115),o=t(7787),n=t(9027),l=t(7587);let i={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function d(e){let{task:r,onClick:t}=e,{attributes:s,listeners:o,setNodeRef:d,transform:c,transition:u,isDragging:x}=(0,n.gl)({id:r.id}),m={transform:l.Ks.Transform.toString(c),transition:u},p=i[r.status||"queued"];return(0,a.jsxs)("div",{ref:d,...s,...o,onClick:t,className:"\n group relative p-3 bg-[var(--card-bg)] rounded-lg border border-[var(--card-border)]\n cursor-grab active:cursor-grabbing select-none\n hover:border-[var(--card-hover-border)] hover:shadow-md\n transition-all duration-200\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n ".concat(x?"opacity-40 shadow-xl ring-2 ring-[var(--primary)] scale-[1.02] rotate-1":"","\n "),style:{transform:m.transform,transition:m.transition,touchAction:"none"},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[void 0!==r.priority&&(0,a.jsxs)("span",{className:"\n text-[10px] font-bold px-1.5 py-0.5 rounded\n ".concat(0===r.priority?"bg-red-100 text-red-700":"bg-gray-100 text-gray-600","\n "),children:["P",r.priority]}),r.project&&(0,a.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-gray-100 text-gray-600 rounded font-medium truncate max-w-[80px]",children:r.project})]}),(0,a.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity flex gap-1",children:(0,a.jsx)("button",{className:"p-1 hover:bg-gray-100 rounded text-gray-400 hover:text-gray-600",children:(0,a.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})})})})]}),(0,a.jsx)("h4",{className:"text-sm font-semibold text-[var(--foreground)] line-clamp-2 leading-snug mb-3 group-hover:text-[var(--primary)] transition-colors",children:r.title||"Untitled Task"}),(0,a.jsxs)("div",{className:"flex items-center justify-between mt-auto pt-2 border-t border-[var(--border)] border-opacity-50",children:[(0,a.jsx)("div",{className:"flex items-center gap-2",children:(r.swarm||r.provider||r.engine)&&(0,a.jsxs)("div",{className:"flex items-center gap-1 text-[10px] text-gray-500 font-medium bg-gray-50 px-1.5 py-0.5 rounded border border-gray-100",children:[(0,a.jsx)("span",{children:r.swarm?"\uD83D\uDC1D":"\uD83E\uDD16"}),(0,a.jsx)("span",{className:"capitalize truncate max-w-[60px]",children:r.swarm?"Swarm":r.provider||r.engine})]})}),r.status&&"queued"!==r.status&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{background:p.textColor}}),(0,a.jsx)("span",{className:"text-[10px] font-medium text-gray-500 capitalize",children:r.status.replace("_"," ")})]})]})]})}let c={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function u(e){let{task:r}=e,t=c[r.status||"queued"];return(0,a.jsxs)("div",{className:"w-72 p-3 bg-[var(--background)] rounded-lg border-l-[3px] shadow-2xl cursor-grabbing ring-2 ring-[var(--primary)] ring-offset-2 ring-offset-[var(--background)] rotate-2 scale-105",style:{borderLeftColor:t.borderColor},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:void 0!==r.priority&&(0,a.jsxs)("span",{className:"text-[10px] font-mono font-semibold text-[var(--muted-foreground)] bg-[var(--muted)] px-1.5 py-0.5 rounded",children:["P",r.priority]})}),r.project&&(0,a.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--accent-muted)] text-[var(--accent)] rounded-full font-medium truncate max-w-[100px]",children:r.project})]}),(0,a.jsx)("h4",{className:"text-sm font-medium line-clamp-2 text-[var(--primary)] leading-snug",children:r.title||"Untitled"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[10px] text-[var(--muted-foreground)]",children:[r.engine&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)("span",{children:"\uD83E\uDD16"}),(0,a.jsx)("span",{className:"capitalize",children:r.engine})]}),r.status&&(0,a.jsx)("span",{className:"px-1.5 py-0.5 rounded font-medium",style:{background:t.bgColor,color:t.textColor},children:r.status.replace("_"," ")})]})]})}var x=t(2325);function m(e){let{tasks:r,onTasksChange:t,onSelectTask:l,onTaskUpdate:i,onAddTask:d,stages:c,stageConfig:m,isValidTransition:g,isCreatingTask:v,creatingStage:b}=e,f=c||x.Tw,h=m||x.ls,j=g||((e,r)=>{if(e===r)return!0;let t=f.indexOf(e),a=f.indexOf(r);return a<t||a===t+1}),[y,N]=(0,s.useState)(null),[w,C]=(0,s.useState)(r);(0,s.useEffect)(()=>{y||C(r)},[r,y]);let k=(0,s.useMemo)(()=>{let e={};for(let r of f)e[r]=w.filter(e=>e.stage===r).sort((e,r)=>(e.priority||0)-(r.priority||0));return e},[w,f]),M=(0,o.FR)((0,o.MS)(o.AN,{activationConstraint:{distance:8}}));async function q(e){let{active:a,over:s}=e;if(N(null),!s)return void C(r);let o=a.id,l=s.id,d=w.find(e=>e.id===o);if(!d)return;let c=d.stage,u=d.priority||0;if(f.includes(l)){let e=k[c=l];u=e.length>0?Math.max(...e.map(e=>e.priority||0))+1:0}else{let e=w.find(e=>e.id===l);if(e){c=e.stage;let r=w.filter(e=>e.stage===c),a=r.findIndex(e=>e.id===o),s=r.findIndex(e=>e.id===l);if(-1!==a&&-1!==s&&a!==s){let e=(0,n.be)(r,a,s),o=w.map(r=>{let t=e.findIndex(e=>e.id===r.id);return -1!==t?{...r,priority:t}:r});C(o),null==t||t(o)}u=e.priority||0}}let x=r.find(e=>e.id===o);if(x&&!j(x.stage||"",c))return void C(r);if(i&&(d.stage!==c||d.priority!==u))try{await i(o,{stage:c,priority:u,status:"done"===c?"completed":"ideation"===c?"queued":"in_progress"}),null==t||t(w)}catch(e){console.error("Failed to update task:",e),C(r)}}return(0,a.jsxs)(o.Mp,{sensors:M,collisionDetection:o.y$,onDragStart:function(e){let r=w.find(r=>r.id===e.active.id);r&&N(r)},onDragOver:function(e){let r,{active:t,over:a}=e;if(!a)return;let s=t.id,o=a.id,n=w.find(e=>e.id===s);if(n){if(f.includes(o))r=o;else{let e=w.find(e=>e.id===o);if(!e)return;r=e.stage}if(n.stage!==r){if(!j(n.stage||"",r))return;C(e=>e.map(e=>e.id===s?{...e,stage:r}:e))}}},onDragEnd:q,children:[(0,a.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4 scrollbar-thin h-full items-stretch",children:f.map((e,r)=>(0,a.jsx)(p,{stage:e,tasks:k[e]||[],onSelectTask:l,index:r,onAddTask:d,config:h[e]||{icon:"\uD83D\uDCCC",label:e,color:"var(--primary)"},isCreating:!!(v&&b===e)},e))}),(0,a.jsx)(o.Hd,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:y?(0,a.jsx)(u,{task:y}):null})]})}function p(e){let{stage:r,tasks:t,onSelectTask:s,index:l,onAddTask:i,config:c,isCreating:u=!1}=e,{setNodeRef:x,isOver:m}=(0,o.zM)({id:r}),p=!i||u;return(0,a.jsxs)("div",{ref:x,id:r,className:"\n kanban-column flex-shrink-0 w-80 \n flex flex-col h-full max-h-full\n bg-[var(--column-bg)] rounded-xl border border-[var(--border)]\n transition-colors duration-200\n ".concat(m?"ring-2 ring-[var(--primary)] ring-opacity-50 bg-[var(--primary-muted)]":"","\n "),style:{animationDelay:"".concat(50*l,"ms")},children:[(0,a.jsxs)("div",{className:"p-3 flex items-center justify-between border-b border-[var(--border)] bg-[var(--column-header-bg)] rounded-t-xl sticky top-0 z-10",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-semibold text-sm text-[var(--foreground)]",children:c.label}),(0,a.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-white border border-[var(--border)] text-xs font-medium text-[var(--muted-foreground)] tabular-nums shadow-sm",children:t.length})]}),(0,a.jsx)("button",{onClick:()=>null==i?void 0:i(r),disabled:p,className:"\n w-8 h-8 rounded-lg flex items-center justify-center text-lg leading-none transition-all\n ".concat(p?"opacity-40 cursor-not-allowed text-[var(--muted-foreground)]":"hover:bg-[var(--primary)] hover:text-white hover:shadow-md text-[var(--muted-foreground)] active:scale-95","\n "),title:"Add task to ".concat(c.label),children:u?(0,a.jsx)("span",{className:"spinner w-3 h-3 border-2 border-[var(--muted-foreground)] border-t-[var(--primary)] rounded-full"}):"+"})]}),(0,a.jsx)(n.gB,{items:t.map(e=>e.id),strategy:n._G,children:(0,a.jsx)("div",{className:"flex-1 p-2 overflow-y-auto scrollbar-thin space-y-2.5",children:0===t.length?(0,a.jsxs)("div",{className:"h-full min-h-[120px] flex flex-col items-center justify-center border-2 border-dashed border-[var(--border)] rounded-lg m-1 opacity-60 hover:opacity-100 transition-opacity bg-[var(--background)]",children:[(0,a.jsx)("span",{className:"text-2xl mb-2 opacity-50 grayscale",children:c.icon}),(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:"No tasks"})]}):t.map((e,r)=>(0,a.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(30*r,"ms")},children:(0,a.jsx)(d,{task:e,onClick:()=>null==s?void 0:s(e)})},e.id))})})]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8419],{2707:(e,l,n)=>{"use strict";n.r(l),n.d(l,{default:()=>u});var a=n(5155),t=n(2115),o=n(577),s=n(91),i=n(2325),r=n(6779),d=n(5826),c=n(2835);function u(e){var l,n;let{params:u}=e,{slug:p}=(0,t.use)(u),{tasks:m,isLoading:v,createTask:j,updateTask:g,deleteTask:f,completeTaskStage:w,cancelWorkflow:k,refetch:h,cancellingTaskId:x,fetchTask:_}=(0,o.si)({realtime:!0,project:p}),{projects:y}=(0,s.Y)(),{workflow:C,stages:b,stageConfig:N,isValidTransition:A,isLoading:S}=(0,i.mP)(),[T,L]=(0,t.useState)(null),[q,D]=(0,t.useState)(!1),[E,U]=(0,t.useState)(!1),[F,M]=(0,t.useState)(null),[O,I]=(0,t.useState)(null),{comments:P,addComment:R,deleteComment:V}=(0,o.LU)((null==T?void 0:T.id)||null),{learnings:Y,addLearning:z}=(0,o.dF)((null==T?void 0:T.id)||void 0),B=(0,t.useMemo)(()=>b.map(e=>{var l;let n=N[e],a=null==C||null==(l=C.nodes)?void 0:l.find(l=>l.name===e);return{id:e,label:(null==n?void 0:n.label)||e,icon:(null==n?void 0:n.icon)||"\uD83D\uDCCC",color:(null==n?void 0:n.color)||"var(--primary)",prompt:(null==a?void 0:a.prompt)||void 0}}),[b,N,C]),G=y.find(e=>e.slug===p),H=(0,t.useCallback)(async(e,l)=>{l&&L(l);try{let l=await _(e);return L(l),l}catch(e){return console.error("Failed to load task details:",e),l||L(null),null!=l?l:null}},[_]),J=(0,t.useCallback)(async e=>{await H(e.id,e)},[H]),K=(0,t.useCallback)(async e=>{var l,n;I({stage:e,project:null!=(l=null==G?void 0:G.slug)?l:null,project_id:null!=(n=null==G?void 0:G.id)?n:null})},[G]),Q=(0,t.useCallback)(async e=>{var l,n;let a=(e.description||"").trim();if(!a)return;U(!0);let t=e.stage||(null==O?void 0:O.stage)||"ideation",o=(null==N||null==(l=N[t])?void 0:l.label)||t,s=(e.title||"").trim()||a.split("\n")[0].replace(/^#\s*/,"")||"New Task (".concat(o,")"),r=["status: ".concat("done"===t?"completed":"ideation"===t?"queued":"in_progress"),"stage: ".concat(t)],d=e.project_id&&y.find(l=>l.id===e.project_id)||e.project&&y.find(l=>l.slug===e.project)||G||null;d&&(r.push("project: ".concat(d.slug)),r.push("project_id: ".concat(d.id)),r.push("workflow_id: ".concat(d.workflow_id||i.ou))),e.provider&&r.push("provider: ".concat(e.provider)),e.model&&r.push("model: ".concat(e.model)),void 0!==e.swarm&&r.push("swarm: ".concat(e.swarm?"true":"false"));let c="---\n".concat(r.join("\n"),"\n---\n\n# ").concat(s,"\n\n").concat(a);try{let l=e.swarm?null!=(n=e.swarm_models)?n:[]:null,a=await j(c,l);I(null),await H(a.id,a)}catch(e){console.error("Failed to create task:",e)}finally{U(!1)}},[j,G,O,H,y,N]),W=(0,t.useCallback)(async(e,l)=>{await g(e,l)},[g]),X=async e=>{T&&await R(e)},Z=async(e,l,n)=>{var a,t;let o=(null==T||null==(t=T.project_context)||null==(a=t.project)?void 0:a.id)||(null==T?void 0:T.project_id)||(null==T?void 0:T.project)||void 0,s=null!=n?n:"global"===l?void 0:"task"===l?null==T?void 0:T.id:o;await z(e,l,s)},$=async e=>{T&&(L(l=>l?{...l,...e}:null),await g(T.id,e))};return v||S?(0,a.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,a.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,a.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading board..."})]})}):(0,a.jsxs)("div",{className:"h-full flex flex-col p-4",children:[(0,a.jsx)("div",{className:"flex-shrink-0 mb-4",children:(0,a.jsx)(c.A,{tasks:m,onTaskClick:L,onStop:async e=>{await k({taskId:e}),await h()},onRetry:async e=>{await w({taskId:e,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})},cancellingTaskId:x})}),(0,a.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,a.jsx)(r.A,{tasks:m,onSelectTask:J,onTasksChange:()=>{},onTaskUpdate:W,onAddTask:K,stages:b,stageConfig:N,isValidTransition:A})}),T&&(0,a.jsx)(d.A,{task:T,comments:T?P:[],learnings:Y,projectContext:T.project_context,projects:y,stages:B,onClose:()=>L(null),onAddComment:X,onDeleteComment:V,onAddLearning:Z,onUpdate:$,onDelete:async()=>{await f(T.id),L(null)}}),O&&(0,a.jsx)(d.A,{task:{id:"draft",title:"",description:"",content:"",stage:O.stage,status:"done"===O.stage?"completed":"ideation"===O.stage?"queued":"in_progress",created_at:new Date().toISOString(),project:null!=(l=O.project)?l:null==G?void 0:G.slug,project_id:null!=(n=O.project_id)?n:null==G?void 0:G.id,provider:O.provider,model:O.model,swarm:O.swarm,swarm_models:O.swarm_models},comments:[],learnings:[],projectContext:null,projects:y,stages:B,isDraft:!0,isCreating:E,onClose:()=>I(null),onAddComment:()=>{},onAddLearning:()=>{},onUpdate:async e=>{if(O){if(e.description||e.title)return void await Q({...O,...e});I(l=>l?{...l,...e}:l)}}})]})}},6190:(e,l,n)=>{Promise.resolve().then(n.bind(n,2707))}},e=>{e.O(0,[5004,277,2619,650,9027,9719,2456,9337,8441,1255,7358],()=>e(e.s=6190)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4382],{1986:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>c});var s=a(5155),r=a(2115),l=a(577),o=a(2888),n=a(5826),i=a(91),d=a(2325);function c(e){let{params:t}=e,{slug:a}=(0,r.use)(t),{tasks:c,isLoading:u,fetchTask:m,updateTask:p,deleteTask:x,createTask:v}=(0,l.si)({realtime:!0,project:a}),{projects:f}=(0,i.Y)(),{workflow:g,stages:b,stageConfig:h}=(0,d.mP)(),[j,N]=(0,r.useState)(null),[y,k]=(0,r.useState)(""),{comments:w,addComment:C,deleteComment:_}=(0,l.LU)((null==j?void 0:j.id)||null),{learnings:D,addLearning:q}=(0,l.dF)((null==j?void 0:j.id)||void 0),P=(0,r.useMemo)(()=>b.map(e=>{var t;let a=h[e],s=null==g||null==(t=g.nodes)?void 0:t.find(t=>t.name===e);return{id:e,label:(null==a?void 0:a.label)||e,icon:(null==a?void 0:a.icon)||"\uD83D\uDCCC",color:(null==a?void 0:a.color)||"var(--primary)",prompt:(null==s?void 0:s.prompt)||void 0}}),[b,h,g]),A=(0,r.useMemo)(()=>{if(!y)return c;let e=y.toLowerCase();return c.filter(t=>{var a,s;return(null==(a=t.title)?void 0:a.toLowerCase().includes(e))||(null==(s=t.description)?void 0:s.toLowerCase().includes(e))||t.id.toLowerCase().includes(e)})},[c,y]),E=(0,r.useCallback)(async e=>{try{let t=await m(e.id);N(t)}catch(t){console.error("Failed to load task details:",t),N(e)}},[m]),L=async e=>{j&&(N(t=>t?{...t,...e}:null),await p(j.id,e))},T=async e=>{j&&await C(e)},F=async(e,t,a)=>{var s,r;let l=(null==j||null==(r=j.project_context)||null==(s=r.project)?void 0:s.id)||(null==j?void 0:j.project_id)||(null==j?void 0:j.project)||void 0,o=null!=a?a:"global"===t?void 0:"task"===t?null==j?void 0:j.id:l;await q(e,t,o)};return(0,s.jsxs)("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8",children:[(0,s.jsx)("div",{className:"flex items-center gap-4 mb-6",children:(0,s.jsxs)("div",{className:"relative max-w-md w-full",children:[(0,s.jsx)("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:(0,s.jsx)("span",{className:"text-gray-400",children:"\uD83D\uDD0D"})}),(0,s.jsx)("input",{type:"text",placeholder:"Search project tasks...",className:"input pl-10 w-full",value:y,onChange:e=>k(e.target.value)})]})}),(0,s.jsx)("div",{className:"flex-1 overflow-y-auto min-h-0 bg-[var(--card-bg)] rounded-xl border border-[var(--card-border)]",children:u?(0,s.jsx)("div",{className:"p-8 text-center text-[var(--muted-foreground)]",children:"Loading tasks..."}):0===c.length?(0,s.jsx)("div",{className:"p-12 text-center",children:(0,s.jsx)("p",{className:"text-[var(--muted-foreground)] mb-4",children:"No tasks found for this project."})}):(0,s.jsx)(o.A,{tasks:A,onSelectTask:E})}),j&&(0,s.jsx)(n.A,{task:j,comments:j?w:[],learnings:D,projectContext:j.project_context,projects:f,stages:P,onClose:()=>N(null),onAddComment:T,onDeleteComment:_,onAddLearning:F,onUpdate:L,onDelete:async()=>{await x(j.id),N(null)}})]})}},2888:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var s=a(5155);let r={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},l={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",prompt:"Research and scope. Define approach, estimate effort."},planning:{icon:"\uD83D\uDCCB",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies."},execution:{icon:"\uD83D\uDCBB",label:"Execution",prompt:"Implement based on all the context/history/research/plan. Write clean, tested code."},verification:{icon:"\uD83E\uDDEA",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify requirements are met."},coding:{icon:"\uD83D\uDCBB",label:"Coding",prompt:"Write clean, tested code based on plan."},qa:{icon:"\uD83E\uDDEA",label:"QA",prompt:"Test thoroughly. Find edge cases. Fix bugs."},acceptance:{icon:"✓",label:"Acceptance",prompt:"Demo to user. Get sign-off. Address feedback."},pr:{icon:"\uD83D\uDD00",label:"PR",prompt:"Create and review pull request. Ensure all checks pass and merge."},pr_review:{icon:"\uD83D\uDC40",label:"PR Review",prompt:"Review the PR. Verify code quality and functionality. Approve or request changes."},merge:{icon:"\uD83D\uDE80",label:"Merge",prompt:"Merge the PR and verify deployment."},done:{icon:"✅",label:"Done",prompt:"Task finished and shipped."}};function o(e){let{task:t,onClick:a,compact:o=!1}=e,n=r[t.status||"queued"],i=t.stage?l[t.stage]:null,d=function(e){let t=new Date(e),a=Math.floor((new Date().getTime()-t.getTime())/1e3);return a<60?"just now":a<3600?"".concat(Math.floor(a/60),"m"):a<86400?"".concat(Math.floor(a/3600),"h"):"".concat(Math.floor(a/86400),"d")}(t.created_at);return o?(0,s.jsx)("div",{onClick:a,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==a?void 0:a()),className:"group relative p-3 rounded-lg bg-[var(--card-bg)] border \n ".concat("failed"===t.status?"border-[var(--status-failed)] bg-[var(--status-failed-bg)]":"border-[var(--card-border)]","\n hover:border-[color-mix(in_srgb,var(--primary)_40%,var(--card-border))] \n hover:shadow-[var(--shadow-md)] \n transition-all duration-200 cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2"),children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"w-2 h-2 rounded-full ".concat(n.dotColor," flex-shrink-0")}),(0,s.jsx)("div",{className:"flex-1 min-w-0",children:(0,s.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)] truncate group-hover:text-[var(--primary)] transition-colors",children:t.title||"Untitled Task"})}),"failed"===t.status?(0,s.jsx)("span",{className:"text-xs text-[var(--status-failed)]",title:t.error,children:"⚠️"}):i&&(0,s.jsx)("span",{className:"text-xs opacity-60 flex-shrink-0",children:i.icon})]})}):(0,s.jsx)("div",{onClick:a,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==a?void 0:a()),className:"group relative p-4 rounded-lg bg-[var(--card-bg)] border \n ".concat("failed"===t.status?"border-[var(--status-failed)] shadow-[0_0_0_1px_var(--status-failed)]":"border-[var(--card-border)]","\n hover:border-[var(--primary)] \n hover:shadow-sm\n transition-all duration-200 cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n animate-fade-in-up"),children:(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsxs)("div",{className:"flex justify-between items-start gap-2",children:[(0,s.jsx)("h3",{className:"text-base font-semibold text-[var(--foreground)] leading-snug group-hover:text-[var(--primary)] transition-colors line-clamp-3",children:t.title||"Untitled Task"}),"failed"===t.status&&(0,s.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-[var(--status-failed-bg)] text-[var(--status-failed)] font-bold border border-[var(--status-failed)]",children:"FAILED"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 text-xs text-[var(--muted-foreground)] mt-1",children:[void 0!==t.priority&&(0,s.jsxs)("span",{className:"font-mono font-medium ".concat(0===t.priority?"text-[var(--primary)]":""),children:["P",t.priority]}),(0,s.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-[var(--muted-foreground)] opacity-50"}),(0,s.jsx)("span",{className:"truncate max-w-[100px]",children:t.project||"No Project"}),(0,s.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-[var(--muted-foreground)] opacity-50"}),(0,s.jsx)("span",{className:"capitalize",children:t.swarm?"Swarm":t.provider||t.engine||"No Provider"}),(0,s.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-[var(--muted-foreground)] opacity-50"}),(0,s.jsx)("span",{children:d})]})]})})}let n={in_progress:{title:"In Progress",icon:"\uD83D\uDD04",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"\uD83D\uDEA7",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"\uD83D\uDCCB",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function i(e){let{tasks:t,onSelectTask:a}=e;if(0===t.length)return(0,s.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,s.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"})}),(0,s.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,s.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let r=t.filter(e=>"in_progress"===e.status),l=t.filter(e=>"queued"===e.status),i=t.filter(e=>"blocked"===e.status),d=t.filter(e=>"completed"===e.status||"failed"===e.status),c=(e,t)=>{if(0===t.length)return null;let r=n[e];return(0,s.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:"color-mix(in srgb, ".concat(r.color," 10%, transparent)")},children:[(0,s.jsx)("span",{className:"text-lg",children:r.icon}),(0,s.jsx)("h3",{className:"text-sm font-semibold",style:{color:r.color},children:r.title}),(0,s.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:"color-mix(in srgb, ".concat(r.color," 15%, transparent)"),color:r.color},children:t.length})]}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:r.description})]}),(0,s.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:t.map((e,t)=>(0,s.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(50*t,"ms")},children:(0,s.jsx)(o,{task:e,onClick:()=>null==a?void 0:a(e)})},e.id))})]})};return(0,s.jsxs)("div",{children:[c("in_progress",r),c("blocked",i),c("queued",l),c("completed",d)]})}},9263:(e,t,a)=>{Promise.resolve().then(a.bind(a,1986))}},e=>{e.O(0,[5004,277,2619,650,9719,2456,8441,1255,7358],()=>e(e.s=9263)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{63:(e,r,t)=>{"use strict";var a=t(7260);t.o(a,"usePathname")&&t.d(r,{usePathname:function(){return a.usePathname}}),t.o(a,"useRouter")&&t.d(r,{useRouter:function(){return a.useRouter}}),t.o(a,"useSearchParams")&&t.d(r,{useSearchParams:function(){return a.useSearchParams}})},1460:(e,r,t)=>{"use strict";t.d(r,{A:()=>m});var a=t(5155),s=t(2619),n=t.n(s),o=t(63),l=t(4647),i=t(91),d=t(2115);function c(e){let{children:r,fullWidth:t=!1,noFooter:s=!1}=e;(0,o.usePathname)(),(0,o.useRouter)();let c=(0,o.useSearchParams)(),{user:u,loading:m,signOut:x}=(0,l.A)(),{projects:p,isLoading:h}=(0,i.Y)(),b=null==c?void 0:c.get("project");return(0,d.useMemo)(()=>b?p.find(e=>e.slug===b):null,[p,b]),(0,a.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,a.jsx)("nav",{className:"flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,a.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,a.jsx)("div",{className:"flex items-center gap-8",children:(0,a.jsxs)(n(),{href:"/",className:"flex items-center gap-3 group",children:[(0,a.jsx)("div",{className:"w-8 h-8 rounded-lg bg-gradient-to-br from-[var(--primary)] to-[var(--accent)] flex items-center justify-center text-white font-bold text-sm shadow-lg shadow-[var(--primary)]/20 group-hover:shadow-[var(--primary)]/40 transition-shadow",children:"A"}),(0,a.jsx)("span",{className:"text-lg font-bold tracking-tight gradient-text hidden sm:block",children:"AGX Board"})]})}),(0,a.jsx)("div",{className:"flex items-center gap-3",children:(0,a.jsx)(n(),{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})})]})})}),(0,a.jsx)("main",{className:"flex-1 min-h-0 flex flex-col ".concat(t?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"),children:r}),!s&&(0,a.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,a.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,a.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Built with Next.js + Db"})]})})]})}function u(e){return(0,a.jsx)(d.Suspense,{fallback:(0,a.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,a.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,a.jsx)(c,{...e})})}function m(e){let{children:r,fullWidth:t=!1,noFooter:s=!1}=e;return(0,a.jsx)(u,{fullWidth:t,noFooter:s,children:r})}},2888:(e,r,t)=>{"use strict";t.d(r,{A:()=>i});var a=t(5155);let s={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},n={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",prompt:"Research and scope. Define approach, estimate effort."},planning:{icon:"\uD83D\uDCCB",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies."},execution:{icon:"\uD83D\uDCBB",label:"Execution",prompt:"Implement based on all the context/history/research/plan. Write clean, tested code."},verification:{icon:"\uD83E\uDDEA",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify requirements are met."},coding:{icon:"\uD83D\uDCBB",label:"Coding",prompt:"Write clean, tested code based on plan."},qa:{icon:"\uD83E\uDDEA",label:"QA",prompt:"Test thoroughly. Find edge cases. Fix bugs."},acceptance:{icon:"✓",label:"Acceptance",prompt:"Demo to user. Get sign-off. Address feedback."},pr:{icon:"\uD83D\uDD00",label:"PR",prompt:"Create and review pull request. Ensure all checks pass and merge."},pr_review:{icon:"\uD83D\uDC40",label:"PR Review",prompt:"Review the PR. Verify code quality and functionality. Approve or request changes."},merge:{icon:"\uD83D\uDE80",label:"Merge",prompt:"Merge the PR and verify deployment."},done:{icon:"✅",label:"Done",prompt:"Task finished and shipped."}};function o(e){let{task:r,onClick:t,compact:o=!1}=e,l=s[r.status||"queued"],i=r.stage?n[r.stage]:null,d=function(e){let r=new Date(e),t=Math.floor((new Date().getTime()-r.getTime())/1e3);return t<60?"just now":t<3600?"".concat(Math.floor(t/60),"m"):t<86400?"".concat(Math.floor(t/3600),"h"):"".concat(Math.floor(t/86400),"d")}(r.created_at);return o?(0,a.jsx)("div",{onClick:t,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==t?void 0:t()),className:"group relative p-3 rounded-lg bg-[var(--card-bg)] border \n ".concat("failed"===r.status?"border-[var(--status-failed)] bg-[var(--status-failed-bg)]":"border-[var(--card-border)]","\n hover:border-[color-mix(in_srgb,var(--primary)_40%,var(--card-border))] \n hover:shadow-[var(--shadow-md)] \n transition-all duration-200 cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2"),children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"w-2 h-2 rounded-full ".concat(l.dotColor," flex-shrink-0")}),(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)] truncate group-hover:text-[var(--primary)] transition-colors",children:r.title||"Untitled Task"})}),"failed"===r.status?(0,a.jsx)("span",{className:"text-xs text-[var(--status-failed)]",title:r.error,children:"⚠️"}):i&&(0,a.jsx)("span",{className:"text-xs opacity-60 flex-shrink-0",children:i.icon})]})}):(0,a.jsx)("div",{onClick:t,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&(null==t?void 0:t()),className:"group relative p-4 rounded-lg bg-[var(--card-bg)] border \n ".concat("failed"===r.status?"border-[var(--status-failed)] shadow-[0_0_0_1px_var(--status-failed)]":"border-[var(--card-border)]","\n hover:border-[var(--primary)] \n hover:shadow-sm\n transition-all duration-200 cursor-pointer\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n animate-fade-in-up"),children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex justify-between items-start gap-2",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-[var(--foreground)] leading-snug group-hover:text-[var(--primary)] transition-colors line-clamp-3",children:r.title||"Untitled Task"}),"failed"===r.status&&(0,a.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-[var(--status-failed-bg)] text-[var(--status-failed)] font-bold border border-[var(--status-failed)]",children:"FAILED"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 text-xs text-[var(--muted-foreground)] mt-1",children:[void 0!==r.priority&&(0,a.jsxs)("span",{className:"font-mono font-medium ".concat(0===r.priority?"text-[var(--primary)]":""),children:["P",r.priority]}),(0,a.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-[var(--muted-foreground)] opacity-50"}),(0,a.jsx)("span",{className:"truncate max-w-[100px]",children:r.project||"No Project"}),(0,a.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-[var(--muted-foreground)] opacity-50"}),(0,a.jsx)("span",{className:"capitalize",children:r.swarm?"Swarm":r.provider||r.engine||"No Provider"}),(0,a.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-[var(--muted-foreground)] opacity-50"}),(0,a.jsx)("span",{children:d})]})]})})}let l={in_progress:{title:"In Progress",icon:"\uD83D\uDD04",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"\uD83D\uDEA7",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"\uD83D\uDCCB",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function i(e){let{tasks:r,onSelectTask:t}=e;if(0===r.length)return(0,a.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,a.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"})}),(0,a.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,a.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let s=r.filter(e=>"in_progress"===e.status),n=r.filter(e=>"queued"===e.status),i=r.filter(e=>"blocked"===e.status),d=r.filter(e=>"completed"===e.status||"failed"===e.status),c=(e,r)=>{if(0===r.length)return null;let s=l[e];return(0,a.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:"color-mix(in srgb, ".concat(s.color," 10%, transparent)")},children:[(0,a.jsx)("span",{className:"text-lg",children:s.icon}),(0,a.jsx)("h3",{className:"text-sm font-semibold",style:{color:s.color},children:s.title}),(0,a.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:"color-mix(in srgb, ".concat(s.color," 15%, transparent)"),color:s.color},children:r.length})]}),(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:s.description})]}),(0,a.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:r.map((e,r)=>(0,a.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:"".concat(50*r,"ms")},children:(0,a.jsx)(o,{task:e,onClick:()=>null==t?void 0:t(e)})},e.id))})]})};return(0,a.jsxs)("div",{children:[c("in_progress",s),c("blocked",i),c("queued",n),c("completed",d)]})}},4647:(e,r,t)=>{"use strict";t.d(r,{A:()=>d,AuthProvider:()=>i});var a=t(5155),s=t(2115),n=t(1483),o=t(5704);let l=(0,s.createContext)({user:null,loading:!0,signOut:async()=>{}});function i(e){let{children:r}=e,t="1"===o.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,[i,d]=(0,s.useState)(null),[c,u]=(0,s.useState)(!0);(0,s.useEffect)(()=>{if(t){d({id:o.env.NEXT_PUBLIC_AGX_BOARD_USER_ID||"00000000-0000-0000-0000-000000000001",email:o.env.NEXT_PUBLIC_AGX_BOARD_USER_EMAIL||"local@agx.board",user_metadata:{name:o.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User",full_name:o.env.NEXT_PUBLIC_AGX_BOARD_USER_NAME||"Local Board User"},app_metadata:{},aud:"authenticated",created_at:new Date().toISOString()}),u(!1);return}let e=(0,n.O)();e.auth.getSession().then(e=>{var r,t;d(null!=(t=null==(r=e.data.session)?void 0:r.user)?t:null),u(!1)});let{data:{subscription:r}}=e.auth.onAuthStateChange((e,r)=>{var t;d(null!=(t=null==r?void 0:r.user)?t:null),u(!1)});return()=>r.unsubscribe()},[t]);let m=async()=>{if(t)return;let e=(0,n.O)();await e.auth.signOut(),d(null)};return(0,a.jsx)(l.Provider,{value:{user:i,loading:c,signOut:m},children:r})}function d(){return(0,s.useContext)(l)}},7966:(e,r,t)=>{Promise.resolve().then(t.bind(t,9842))},9842:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>x});var a=t(5155),s=t(2115),n=t(63),o=t(1460);function l(e){var r;let{project:t,onEdit:s,onDelete:n,onClick:o,onManageTasks:l}=e,i=t.repos&&t.repos.length>0;return(0,a.jsxs)("div",{onClick:()=>null==o?void 0:o(t),className:"p-5 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all\n ".concat(o?"cursor-pointer hover:border-[var(--primary)] hover:shadow-md active:scale-[0.99]":""),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:t.name}),(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:t.slug})]}),(0,a.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,a.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(t.updated_at).toLocaleDateString()]}),(s||n||l)&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[l&&(0,a.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),l(t)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),s&&(0,a.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),s(t)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all bg-[var(--background)]",children:"Edit"}),n&&(0,a.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),n(t)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),t.description&&(0,a.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:t.description}),t.ci_cd_info&&(0,a.jsxs)("div",{className:"text-sm",children:[(0,a.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,a.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:t.ci_cd_info})]}),t.metadata&&Object.keys(t.metadata).length>0&&(0,a.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,a.jsx)("div",{className:"space-y-1",children:Object.entries(null!=(r=t.metadata)?r:{}).filter(e=>{let[r]=e;return"undefined"!==r&&""!==r}).map(e=>{let[r,t]=e;return(0,a.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,a.jsx)("span",{className:"font-semibold",children:r}),(0,a.jsx)("span",{className:"truncate text-right",children:"string"==typeof t?t:JSON.stringify(t)})]},r)})})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Repositories"}),(0,a.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:i?"".concat(t.repos.length," connected"):"Unlinked"})]}),i?(0,a.jsxs)("div",{className:"mt-3 space-y-2",children:[t.repos.slice(0,2).map(e=>(0,a.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,a.jsx)("div",{className:"font-semibold truncate",children:e.name}),e.path&&(0,a.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:e.path})]},e.id)),t.repos.length>2&&(0,a.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",t.repos.length-2," more"]})]}):(0,a.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No repositories added yet."})]})]})}var i=t(2888),d=t(577),c=t(91);let u={name:"",description:""},m={name:"",path:"",notes:""};function x(){let e=(0,n.useRouter)(),{projects:r,isLoading:t,error:i,refetch:d,createProject:x,updateProject:p,deleteProject:v}=(0,c.Y)(),f=function(){let[e,r]=(0,s.useState)(u),[t,a]=(0,s.useState)([m]),[n,o]=(0,s.useState)(!1),[l,i]=(0,s.useState)(null),d=(0,s.useCallback)((e,r,t)=>{a(a=>a.map((a,s)=>s===e?{...a,[r]:t}:a))},[]),c=(0,s.useCallback)(()=>{a(e=>[...e,{...m}])},[]),x=(0,s.useCallback)(e=>{a(r=>r.filter((r,t)=>t!==e))},[]),p=(0,s.useCallback)(()=>{r(u),a([m]),i(null)},[]),h=(0,s.useCallback)(e=>{r({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?a(e.repos.map(e=>({name:e.name||"",path:e.path||"",notes:e.notes||""}))):a([m]),i(null)},[]);return{form:e,setForm:r,repos:t,handleRepoChange:d,addRepo:c,removeRepo:x,resetForm:p,hydrateFromProject:h,isSubmitting:n,setIsSubmitting:o,formError:l,setFormError:i}}(),[g,j]=(0,s.useState)(null),[N,y]=(0,s.useState)(!1),[w,k]=(0,s.useState)(null),{form:C,repos:_,handleRepoChange:P,addRepo:R,removeRepo:A,resetForm:S,hydrateFromProject:D,isSubmitting:E,setIsSubmitting:L,formError:B,setFormError:T,setForm:I}=f,M=()=>{j(null),S(),y(!0)},O=e=>{j(e),D(e),y(!0)},U=(0,s.useCallback)(r=>{r.slug&&e.push("/projects/".concat(r.slug))},[e]),F=(0,s.useCallback)(e=>{k(e)},[]),q=(0,s.useCallback)(()=>{k(null)},[]),X=()=>{S(),y(!1),j(null)},G=async()=>{if(!C.name.trim())return void T("Project name is required");let e=_.find(e=>e.name.trim()&&!e.path.trim());if(e)return void T('Local path is required for repository "'.concat(e.name,'"'));T(null),L(!0);let r=function(e,r){let t=r.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({name:e.name.trim(),path:e.path.trim(),notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:t.length?t:void 0}}(C,_);try{g?await p(g.id,r):await x(r),X()}catch(e){T(e instanceof Error?e.message:"Failed to save project")}finally{L(!1)}},z=async e=>{if(window.confirm('Delete project "'.concat(e.name,'"? This cannot be undone.')))try{await v(e.id)}catch(e){alert(e instanceof Error?e.message:"Failed to delete project")}};return(0,a.jsx)(o.A,{children:(0,a.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,a.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,a.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their repository contexts."})]}),(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)("button",{onClick:d,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,a.jsx)("button",{onClick:M,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),t?(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,a.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,a.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===r.length?(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,a.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"\uD83D\uDCC2"}),(0,a.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,a.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to start organizing your tasks and connecting your repositories."}),(0,a.jsx)("button",{onClick:M,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:r.map(e=>(0,a.jsx)(l,{project:e,onEdit:O,onDelete:z,onManageTasks:F,onClick:U},e.id))}),(0,a.jsx)(h,{isOpen:N,onClose:X,onSubmit:G,editingProject:g,form:C,repos:_,isSubmitting:E,formError:B,onFieldChange:(e,r)=>I(t=>({...t,[e]:r})),onRepoChange:P,onAddRepo:R,onRemoveRepo:A}),w&&(0,a.jsx)(b,{project:w,onClose:q})]})})}function p(e){let{form:r,repos:t,isSubmitting:s,onFieldChange:n,onRepoChange:o,onAddRepo:l,onRemoveRepo:i}=e;return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)("div",{className:"grid gap-4",children:(0,a.jsxs)("label",{className:"space-y-1.5 block",children:[(0,a.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,a.jsx)("input",{value:r.name,onChange:e=>n("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:s})]})}),(0,a.jsxs)("label",{className:"space-y-1.5 block",children:[(0,a.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,a.jsx)("textarea",{value:r.description,onChange:e=>n("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:s})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,a.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Repositories"}),(0,a.jsx)("button",{type:"button",onClick:l,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:s,children:"+ Add Repository"})]}),(0,a.jsx)("div",{className:"space-y-4",children:t.map((e,r)=>(0,a.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("span",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",r+1]}),t.length>1&&(0,a.jsx)("button",{type:"button",onClick:()=>i(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:s,children:"Remove"})]}),(0,a.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,a.jsx)("input",{value:e.name,onChange:e=>o(r,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:s}),(0,a.jsx)("input",{value:e.path,onChange:e=>o(r,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm",disabled:s}),(0,a.jsx)("div",{className:"md:col-span-2",children:(0,a.jsx)("input",{value:e.notes,onChange:e=>o(r,"notes",e.target.value),placeholder:"Notes/Instructions",className:"input text-sm w-full",disabled:s})})]})]},r))})]})]})}function h(e){let{isOpen:r,onClose:t,onSubmit:s,editingProject:n,form:o,repos:l,isSubmitting:i,formError:d,onFieldChange:c,onRepoChange:u,onAddRepo:m,onRemoveRepo:x}=e;return r?(0,a.jsx)("div",{className:"modal-backdrop p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&t(),children:(0,a.jsxs)("div",{className:"modal-content w-full max-w-4xl bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,a.jsxs)("div",{className:"px-8 py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-xl font-bold",children:n?"Edit Project":"Create New Project"}),(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,a.jsx)("button",{onClick:t,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-8",children:[(0,a.jsx)(p,{form:o,repos:l,isSubmitting:i,onFieldChange:c,onRepoChange:u,onAddRepo:m,onRemoveRepo:x}),d&&(0,a.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:d})]}),(0,a.jsxs)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,a.jsx)("button",{onClick:t,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,a.jsx)("button",{onClick:s,disabled:i,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:i?(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):n?"Save Changes":"Create Project"})]})]})}):null}function b(e){let{project:r,onClose:t}=e,{tasks:s,isLoading:n}=(0,d.si)({project:r.slug});return(0,a.jsx)("div",{className:"modal-backdrop p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&t(),children:(0,a.jsxs)("div",{className:"modal-content w-full max-w-5xl bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,a.jsxs)("div",{className:"px-8 py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",r.name]}),(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(0,a.jsx)("button",{onClick:t,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,a.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:n?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,a.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,a.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,a.jsx)(i.A,{tasks:s})}),(0,a.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end flex-shrink-0",children:(0,a.jsx)("button",{onClick:t,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Close"})})]})})}}},e=>{e.O(0,[2619,9719,8441,1255,7358],()=>e(e.s=7966)),_N_E=e.O()}]);
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/d85185e3bba6ece1.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-500:oklch(70.5% .213 47.604);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-600:oklch(51.1% .262 276.966);--color-slate-200:oklch(92.9% .013 255.508);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1\/2{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-8{right:calc(var(--spacing)*8)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-0\.5{left:calc(var(--spacing)*.5)}.left-1\/2{left:50%}.-z-10{z-index:calc(10*-1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-4{margin:calc(var(--spacing)*4)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-auto{margin-top:auto}.-mr-1\.5{margin-right:calc(var(--spacing)*-1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-7{margin-left:calc(var(--spacing)*7)}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-64{height:calc(var(--spacing)*64)}.h-96{height:calc(var(--spacing)*96)}.h-\[85vh\]{height:85vh}.h-\[90vh\]{height:90vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[150px\]{min-height:150px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[60px\]{max-width:60px}.max-w-\[80px\]{max-width:80px}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[1200px\]{max-width:1200px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[120px\]{min-width:120px}.min-w-\[280px\]{min-width:280px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1)}.-translate-x-1\/2,.translate-x-0{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4)}.translate-x-4,.translate-x-5{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing)*5)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\[1\.02\]{scale:1.02}.rotate-1{rotate:1deg}.rotate-2{rotate:2deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_1\.2fr_auto\]{grid-template-columns:1fr 1.2fr auto}.grid-cols-\[140px_1fr\]{grid-template-columns:140px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--card-border\)\]>:not(:last-child)){border-color:var(--card-border)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color-mix\(in_srgb\,var\(--destructive\)_30\%\,transparent\)\]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--destructive\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--destructive)30%,transparent)}}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--card-border\)\]{border-color:var(--card-border)}.border-\[var\(--destructive\)\],.border-\[var\(--destructive\)\]\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--destructive\)\]\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-\[var\(--muted-foreground\)\]{border-color:var(--muted-foreground)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-\[var\(--primary-muted\)\]{border-color:var(--primary-muted)}.border-\[var\(--status-blocked\)\],.border-\[var\(--status-blocked\)\]\/40{border-color:var(--status-blocked)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-blocked\)\]\/40{border-color:color-mix(in oklab,var(--status-blocked)40%,transparent)}}.border-\[var\(--status-completed\)\]\/20{border-color:var(--status-completed)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-completed\)\]\/20{border-color:color-mix(in oklab,var(--status-completed)20%,transparent)}}.border-\[var\(--status-failed\)\],.border-\[var\(--status-failed\)\]\/20{border-color:var(--status-failed)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-failed\)\]\/20{border-color:color-mix(in oklab,var(--status-failed)20%,transparent)}}.border-\[var\(--status-failed\)\]\/40{border-color:var(--status-failed)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-failed\)\]\/40{border-color:color-mix(in oklab,var(--status-failed)40%,transparent)}}.border-current{border-color:currentColor}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-neutral-700{border-color:var(--color-neutral-700)}.border-red-200{border-color:var(--color-red-200)}.border-red-800{border-color:var(--color-red-800)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-t-\[var\(--primary\)\]{border-top-color:var(--primary)}.border-t-gray-600{border-top-color:var(--color-gray-600)}.border-t-transparent{border-top-color:#0000}.border-t-white{border-top-color:var(--color-white)}.bg-\[\#0b0f14\]{background-color:#0b0f14}.bg-\[\#24292e\]{background-color:#24292e}.bg-\[rgba\(255\,255\,255\,0\.8\)\]{background-color:#fffc}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--accent-muted\)\]{background-color:var(--accent-muted)}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card-bg\)\],.bg-\[var\(--card-bg\)\]\/50{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--card-bg\)\]\/50{background-color:color-mix(in oklab,var(--card-bg)50%,transparent)}}.bg-\[var\(--card-bg\)\]\/60{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--card-bg\)\]\/60{background-color:color-mix(in oklab,var(--card-bg)60%,transparent)}}.bg-\[var\(--card-bg\)\]\/80{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--card-bg\)\]\/80{background-color:color-mix(in oklab,var(--card-bg)80%,transparent)}}.bg-\[var\(--card-border\)\]{background-color:var(--card-border)}.bg-\[var\(--column-bg\)\]{background-color:var(--column-bg)}.bg-\[var\(--column-header-bg\)\]{background-color:var(--column-header-bg)}.bg-\[var\(--destructive-muted\)\]{background-color:var(--destructive-muted)}.bg-\[var\(--muted\)\],.bg-\[var\(--muted\)\]\/10{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/10{background-color:color-mix(in oklab,var(--muted)10%,transparent)}}.bg-\[var\(--muted\)\]\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-\[var\(--muted\)\]\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-\[var\(--muted\)\]\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted\)\]\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-\[var\(--muted-foreground\)\],.bg-\[var\(--muted-foreground\)\]\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--muted-foreground\)\]\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-\[var\(--primary\)\],.bg-\[var\(--primary\)\]\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--primary\)\]\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-\[var\(--primary-muted\)\]{background-color:var(--primary-muted)}.bg-\[var\(--status-blocked\)\]{background-color:var(--status-blocked)}.bg-\[var\(--status-blocked-bg\)\]{background-color:var(--status-blocked-bg)}.bg-\[var\(--status-completed\)\]{background-color:var(--status-completed)}.bg-\[var\(--status-completed-bg\)\]{background-color:var(--status-completed-bg)}.bg-\[var\(--status-failed\)\]{background-color:var(--status-failed)}.bg-\[var\(--status-failed-bg\)\]{background-color:var(--status-failed-bg)}.bg-\[var\(--status-in-progress\)\]{background-color:var(--status-in-progress)}.bg-\[var\(--status-queued\)\]{background-color:var(--status-queued)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-\[var\(--success-muted\)\]{background-color:var(--success-muted)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-900\/50{background-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/50{background-color:color-mix(in oklab,var(--color-red-900)50%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-br,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-\[radial-gradient\(\#27272a_1px\,transparent_1px\)\]{background-image:radial-gradient(#27272a 1px,#0000 0)}.bg-\[url\(\'data\:image\/svg\+xml\;charset\=utf-8\,\%3Csvg\%20xmlns\%3D\%22http\%3A\%2F\%2Fwww\.w3\.org\%2F2000\%2Fsvg\%22\%20width\%3D\%2212\%22\%20height\%3D\%2212\%22\%20viewBox\%3D\%220\%200\%2024\%2024\%22\%20fill\%3D\%22none\%22\%20stroke\%3D\%22\%23888\%22\%20stroke-width\%3D\%222\%22\%3E\%3Cpath\%20d\%3D\%22M6\%209l6\%206\%206-6\%22\%2F\%3E\%3C\%2Fsvg\%3E\'\)\]{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23888%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6%22%2F%3E%3C%2Fsvg%3E)}.from-\[var\(--foreground\)\]{--tw-gradient-from:var(--foreground);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[var\(--primary\)\]{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--accent\)\]{--tw-gradient-to:var(--accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--muted-foreground\)\]{--tw-gradient-to:var(--muted-foreground);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[background-size\:16px_16px\]{background-size:16px 16px}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-\[right_0px_center\]{background-position:right 0 center}.bg-no-repeat{background-repeat:no-repeat}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-16{padding-top:calc(var(--spacing)*16)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--destructive\)\],.text-\[var\(--destructive\)\]\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--destructive\)\]\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--status-blocked\)\]{color:var(--status-blocked)}.text-\[var\(--status-completed\)\]{color:var(--status-completed)}.text-\[var\(--status-failed\)\]{color:var(--status-failed)}.text-\[var\(--success\)\]{color:var(--success)}.text-black{color:var(--color-black)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-red-200{color:var(--color-red-200)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-slate-200{color:var(--color-slate-200)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-neutral-600::placeholder{color:var(--color-neutral-600)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-\[var\(--primary\)\]\/20{--tw-shadow-alpha:20%;--tw-shadow:var(--primary)}.shadow-\[var\(--primary\)\]\/20,.shadow-\[var\(--primary\)\]\/30{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--primary\)\]\/30{--tw-shadow-alpha:30%;--tw-shadow:var(--primary)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xl,.shadow-\[0_0_0_1px_var\(--status-failed\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--status-failed\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--status-failed))}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring-1,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-orange-500\/20{--tw-shadow-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.shadow-orange-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-orange-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-\[var\(--primary\)\]{--tw-ring-color:var(--primary)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-\[var\(--background\)\]{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg))}.backdrop-blur-lg,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:text-\[var\(--primary\)\]:is(:where(.group):hover *){color:var(--primary)}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-\[var\(--primary\)\]\/40:is(:where(.group):hover *){--tw-shadow-alpha:40%;--tw-shadow:var(--primary);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.selection\:bg-\[var\(--primary\)\] ::selection{background-color:var(--primary)}.selection\:bg-\[var\(--primary\)\]::selection{background-color:var(--primary)}.selection\:text-\[var\(--primary-foreground\)\] ::selection{color:var(--primary-foreground)}.selection\:text-\[var\(--primary-foreground\)\]::selection{color:var(--primary-foreground)}.placeholder\:text-\[var\(--muted-foreground\)\]\/50::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-\[var\(--muted-foreground\)\]\/50::placeholder{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:float-left:before{content:var(--tw-content);float:left}.before\:h-0:before{content:var(--tw-content);height:calc(var(--spacing)*0)}.before\:text-\[var\(--muted-foreground\)\]:before{content:var(--tw-content);color:var(--muted-foreground)}.before\:content-\[attr\(data-placeholder\)\]:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,var\(--card-border\)\)\]:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,var\(--card-border\)\)\]:hover{border-color:color-mix(in srgb,var(--primary)30%,var(--card-border))}}.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)_40\%\,var\(--card-border\)\)\]:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-\[color-mix\(in_srgb\,var\(--primary\)_40\%\,var\(--card-border\)\)\]:hover{border-color:color-mix(in srgb,var(--primary)40%,var(--card-border))}}.hover\:border-\[var\(--card-hover-border\)\]:hover{border-color:var(--card-hover-border)}.hover\:border-\[var\(--destructive\)\]:hover{border-color:var(--destructive)}.hover\:border-\[var\(--muted-foreground\)\]:hover{border-color:var(--muted-foreground)}.hover\:border-\[var\(--primary\)\]:hover,.hover\:border-\[var\(--primary\)\]\/30:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-\[var\(--primary\)\]\/30:hover{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.hover\:border-\[var\(--primary-muted\)\]:hover{border-color:var(--primary-muted)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[\#2f363d\]:hover{background-color:#2f363d}.hover\:bg-\[var\(--card-bg\)\]\/50:hover{background-color:var(--card-bg)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--card-bg\)\]\/50:hover{background-color:color-mix(in oklab,var(--card-bg)50%,transparent)}}.hover\:bg-\[var\(--card-border\)\]:hover{background-color:var(--card-border)}.hover\:bg-\[var\(--destructive\)\]\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--destructive\)\]\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-\[var\(--destructive-muted\)\]:hover{background-color:var(--destructive-muted)}.hover\:bg-\[var\(--muted\)\]:hover,.hover\:bg-\[var\(--muted\)\]\/20:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--muted\)\]\/20:hover{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.hover\:bg-\[var\(--muted\)\]\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--muted\)\]\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-\[var\(--primary\)\]:hover,.hover\:bg-\[var\(--primary\)\]\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--primary\)\]\/10:hover{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.hover\:bg-\[var\(--primary-dark\)\]:hover{background-color:var(--primary-dark)}.hover\:bg-\[var\(--primary-muted\)\]:hover{background-color:var(--primary-muted)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:text-\[var\(--destructive\)\]:hover{color:var(--destructive)}.hover\:text-\[var\(--foreground\)\]:hover{color:var(--foreground)}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[var\(--shadow-md\)\]:hover{--tw-shadow:var(--shadow-md)}.hover\:shadow-\[var\(--shadow-md\)\]:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-md:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.hover\:shadow-black\/20:hover{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-black\/20:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}}.focus\:border-\[var\(--primary\)\]:focus{border-color:var(--primary)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--primary\)\]\/20:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-\[var\(--primary\)\]\/20:focus{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-indigo-600:focus{--tw-ring-color:var(--color-indigo-600)}.focus\:ring-white:focus{--tw-ring-color:var(--color-white)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--ring\)\]:focus-visible{outline-color:var(--ring)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.99\]:active{scale:.99}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:p-8{padding:calc(var(--spacing)*8)}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}}:root{--background:#f9fafb;--foreground:#111827;--primary:#f97316;--primary-foreground:#fff;--primary-hover:#ea580c;--primary-muted:#f973161a;--secondary:#fff;--secondary-foreground:#374151;--secondary-hover:#f3f4f6;--accent:#6366f1;--accent-foreground:#fff;--accent-hover:#4f46e5;--accent-muted:#6366f11a;--card-bg:#fff;--card-border:#e5e7eb;--card-hover-border:#d1d5db;--column-bg:#f3f4f6;--column-header-bg:#f3f4f6;--muted:#f3f4f6;--muted-foreground:#6b7280;--status-queued:#6b7280;--status-queued-bg:#f3f4f6;--status-queued-border:#e5e7eb;--status-in-progress:#f97316;--status-in-progress-bg:#fff7ed;--status-in-progress-border:#fed7aa;--status-blocked:#ef4444;--status-blocked-bg:#fef2f2;--status-blocked-border:#fecaca;--status-completed:#10b981;--status-completed-bg:#ecfdf5;--status-completed-border:#a7f3d0;--status-failed:#ef4444;--status-failed-bg:#fef2f2;--status-failed-border:#fecaca;--border:#e5e7eb;--input:#fff;--input-focus:#f97316;--ring:#f9731666;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1);--radius-sm:.375rem;--radius:.5rem;--radius-md:.75rem;--radius-lg:.875rem;--radius-xl:1rem}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--card-border);transition:background var(--transition-fast);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.glass{-webkit-backdrop-filter:blur(10px);background:#18181bb3}.focus-ring:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}.animate-fade-in{animation:fade-in var(--transition-base)ease-out}.animate-fade-in-up{animation:fade-in-up var(--transition-slow)ease-out}.animate-slide-in-right{animation:slide-in-right var(--transition-slow)ease-out}.animate-scale-in{animation:scale-in var(--transition-base)ease-out}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--card-bg)0,var(--card-border)50%,var(--card-bg)100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--card-bg)0,var(--card-border)50%,var(--card-bg)100%);border-radius:var(--radius);background-size:200% 100%;animation:shimmer 1.5s infinite}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.card:hover{border-color:color-mix(in srgb,var(--primary)30%,var(--card-border))}}.card:hover{box-shadow:var(--shadow-md),0 0 0 1px var(--primary)}@supports (color:color-mix(in lab,red,red)){.card:hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--primary)10%,transparent)}}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg),0 0 20px -5px var(--primary);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.card-interactive:hover{box-shadow:var(--shadow-lg),0 0 20px -5px color-mix(in srgb,var(--primary)20%,transparent)}}.card-interactive:active{transform:translateY(0)}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 0 20px -5px var(--primary)}.btn-secondary{background:var(--secondary-muted);color:var(--foreground);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--muted);border-color:var(--muted-foreground)}.btn-ghost{color:var(--muted-foreground);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-destructive{background:var(--destructive-muted);color:var(--destructive)}.btn-destructive:hover:not(:disabled){background:var(--destructive);color:var(--destructive-foreground)}.badge{transition:all var(--transition-fast);border:1px solid #0000;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.badge-status-queued{background:var(--status-queued-bg);color:var(--status-queued);border-color:var(--status-queued-border)}.badge-status-in_progress{background:var(--status-in-progress-bg);color:var(--status-in-progress);border-color:var(--status-in-progress-border)}.badge-status-blocked{background:var(--status-blocked-bg);color:var(--status-blocked);border-color:var(--status-blocked-border)}.badge-status-failed{background:var(--status-failed-bg);color:var(--status-failed);border-color:var(--status-failed-border)}.badge-status-completed{background:var(--status-completed-bg);color:var(--status-completed);border-color:var(--status-completed-border)}.input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--foreground);transition:all var(--transition-fast);padding:.625rem .875rem;font-size:.875rem}.input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--primary);outline:none}@supports (color:color-mix(in lab,red,red)){.input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary)20%,transparent)}}.input::placeholder{color:var(--muted-foreground)}.kanban-column{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);transition:all var(--transition-base)}.kanban-column-header{border-bottom:1px solid var(--card-border);background:var(--card-bg);border-radius:var(--radius-xl)var(--radius-xl)0 0;z-index:10;padding:.875rem 1rem;position:sticky;top:0}.kanban-column-content{min-height:200px;max-height:60vh;padding:.5rem;overflow-y:auto}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fade-in var(--transition-fast)ease-out;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:scale-in var(--transition-base)ease-out}.timeline-line{background:linear-gradient(to bottom,var(--card-border),transparent);width:2px;position:absolute;top:0;bottom:0;left:.5rem}.timeline-dot{background:var(--card-border);border:2px solid var(--card-bg);width:1rem;height:1rem;transition:all var(--transition-fast);border-radius:9999px;position:absolute;top:.375rem;left:0}.timeline-item:hover .timeline-dot{background:var(--primary);box-shadow:0 0 10px var(--primary)}@media (max-width:768px){.hide-mobile{display:none}.touch-target{min-width:44px;min-height:44px}}@media (min-width:769px){.hide-desktop{display:none}}.truncate-2{-webkit-line-clamp:2}.truncate-2,.truncate-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-3{-webkit-line-clamp:3}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.spinner{border:2px solid var(--card-border);border-top-color:var(--primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:spin .75s linear infinite}.spinner-lg{border-width:3px;width:2rem;height:2rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
|
|
File without changes
|