@mndrk/agx 1.4.18 → 1.4.20
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 +47 -47
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +7 -7
- 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 +22 -22
- 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 +1 -1
- 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_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/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_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_client-reference-manifest.js +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_client-reference-manifest.js +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 +5 -5
- 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_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +1 -1
- 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 +1 -1
- 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 +1 -1
- 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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +2 -2
- 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 +1 -1
- 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 +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/2298.js +1 -1
- 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/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/2456-5577fa071bb78cca.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/{page-f7a2d0670aaf8314.js → page-1191b5d80fb53701.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/97623b2fc4a523a7.css +1 -0
- package/index.js +32 -6
- package/lib/cli/configStore.js +38 -0
- package/lib/cli/daemon.js +796 -0
- package/lib/cli/interactiveMenu.js +348 -0
- package/lib/cli/onboarding.js +277 -0
- package/lib/cli/providers.js +245 -0
- package/lib/cli/runCli.js +88 -1938
- package/lib/cli/skills.js +110 -0
- package/lib/cli/util.js +104 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/2456-9f4a875ea5d68f26.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/f4bb6b8083291d60.css +0 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{6tGMyW64n2NpGvLihl5xS → _UEH0bf2vZJdfFbGlB9rM}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{6tGMyW64n2NpGvLihl5xS → _UEH0bf2vZJdfFbGlB9rM}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
|
|
7
|
+
const { c } = require('../ui/colors');
|
|
8
|
+
const { AGX_SKILL } = require('./skillText');
|
|
9
|
+
const { detectProviders } = require('./providers');
|
|
10
|
+
|
|
11
|
+
function isSkillInstalled(provider) {
|
|
12
|
+
const skillDir = path.join(
|
|
13
|
+
process.env.HOME || process.env.USERPROFILE,
|
|
14
|
+
provider === 'claude' ? '.claude' : '.gemini',
|
|
15
|
+
'skills',
|
|
16
|
+
'agx'
|
|
17
|
+
);
|
|
18
|
+
return fs.existsSync(path.join(skillDir, 'SKILL.md'));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function installSkillTo(provider) {
|
|
22
|
+
const baseDir = path.join(
|
|
23
|
+
process.env.HOME || process.env.USERPROFILE,
|
|
24
|
+
provider === 'claude' ? '.claude' : '.gemini',
|
|
25
|
+
'skills',
|
|
26
|
+
'agx'
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
if (!fs.existsSync(baseDir)) {
|
|
30
|
+
fs.mkdirSync(baseDir, { recursive: true });
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
fs.writeFileSync(path.join(baseDir, 'SKILL.md'), AGX_SKILL);
|
|
34
|
+
return baseDir;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async function handleSkillCommand(args) {
|
|
38
|
+
const subCmd = args[1];
|
|
39
|
+
|
|
40
|
+
if (!subCmd || subCmd === 'view' || subCmd === 'show') {
|
|
41
|
+
console.log(`\n${c.bold}${c.cyan}/agx${c.reset} - ${c.dim}LLM instructions for using agx${c.reset}\n`);
|
|
42
|
+
|
|
43
|
+
const claudeInstalled = isSkillInstalled('claude');
|
|
44
|
+
const geminiInstalled = isSkillInstalled('gemini');
|
|
45
|
+
|
|
46
|
+
if (claudeInstalled || geminiInstalled) {
|
|
47
|
+
console.log(`${c.green}Installed:${c.reset}`);
|
|
48
|
+
if (claudeInstalled) console.log(` ${c.dim}~/.claude/skills/agx/SKILL.md${c.reset}`);
|
|
49
|
+
if (geminiInstalled) console.log(` ${c.dim}~/.gemini/skills/agx/SKILL.md${c.reset}`);
|
|
50
|
+
console.log('');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
console.log(c.dim + '─'.repeat(60) + c.reset);
|
|
54
|
+
console.log(AGX_SKILL);
|
|
55
|
+
console.log(c.dim + '─'.repeat(60) + c.reset);
|
|
56
|
+
|
|
57
|
+
if (!claudeInstalled && !geminiInstalled) {
|
|
58
|
+
console.log(`\n${c.dim}Install with: ${c.reset}agx skill install`);
|
|
59
|
+
}
|
|
60
|
+
console.log('');
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (subCmd === 'install' || subCmd === 'add') {
|
|
65
|
+
const target = args[2];
|
|
66
|
+
|
|
67
|
+
console.log(`\n${c.bold}Install agx skill${c.reset}\n`);
|
|
68
|
+
|
|
69
|
+
if (!target || target === 'all') {
|
|
70
|
+
const providers = detectProviders();
|
|
71
|
+
let installed = 0;
|
|
72
|
+
|
|
73
|
+
if (providers.claude) {
|
|
74
|
+
const dest = installSkillTo('claude');
|
|
75
|
+
console.log(`${c.green}✓${c.reset} Installed to ${c.dim}${dest}${c.reset}`);
|
|
76
|
+
installed += 1;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (providers.gemini) {
|
|
80
|
+
const dest = installSkillTo('gemini');
|
|
81
|
+
console.log(`${c.green}✓${c.reset} Installed to ${c.dim}${dest}${c.reset}`);
|
|
82
|
+
installed += 1;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (installed === 0) {
|
|
86
|
+
console.log(`${c.yellow}No providers installed.${c.reset} Run ${c.cyan}agx init${c.reset} first.`);
|
|
87
|
+
} else {
|
|
88
|
+
console.log(`\n${c.dim}LLMs can now use /agx to learn how to run agx commands.${c.reset}\n`);
|
|
89
|
+
}
|
|
90
|
+
} else if (target === 'claude' || target === 'gemini') {
|
|
91
|
+
const dest = installSkillTo(target);
|
|
92
|
+
console.log(`${c.green}✓${c.reset} Installed to ${c.dim}${dest}${c.reset}`);
|
|
93
|
+
console.log(`\n${c.dim}LLMs can now use /agx to learn how to run agx commands.${c.reset}\n`);
|
|
94
|
+
} else {
|
|
95
|
+
console.log(`${c.yellow}Unknown target:${c.reset} ${target}`);
|
|
96
|
+
console.log(`${c.dim}Usage: agx skill install [claude|gemini|all]${c.reset}\n`);
|
|
97
|
+
}
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
console.log(`${c.bold}agx skill${c.reset} - Manage the agx skill for LLMs\n`);
|
|
102
|
+
console.log(`${c.dim}Commands:${c.reset}`);
|
|
103
|
+
console.log(` ${c.cyan}agx skill${c.reset} View the skill content`);
|
|
104
|
+
console.log(` ${c.cyan}agx skill install${c.reset} Install to all providers`);
|
|
105
|
+
console.log(` ${c.cyan}agx skill install claude${c.reset} Install to Claude only`);
|
|
106
|
+
console.log('');
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
module.exports = { handleSkillCommand };
|
|
110
|
+
|
package/lib/cli/util.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const crypto = require('crypto');
|
|
5
|
+
|
|
6
|
+
function sleep(ms) {
|
|
7
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function appendTail(prev, chunk, maxChars = 4000) {
|
|
11
|
+
const next = `${prev || ''}${String(chunk || '')}`;
|
|
12
|
+
if (next.length <= maxChars) return next;
|
|
13
|
+
return next.slice(-maxChars);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function truncateForTemporalTrace(str, maxChars = 2000) {
|
|
17
|
+
if (!str) return '';
|
|
18
|
+
if (str.length <= maxChars) return str;
|
|
19
|
+
return str.slice(-maxChars);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function randomId() {
|
|
23
|
+
try {
|
|
24
|
+
if (crypto?.randomUUID) return crypto.randomUUID();
|
|
25
|
+
} catch { }
|
|
26
|
+
return crypto.createHash('sha1').update(String(Date.now()) + Math.random()).digest('hex').slice(0, 12);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function extractJson(text) {
|
|
30
|
+
if (!text) return null;
|
|
31
|
+
const cleaned = String(text)
|
|
32
|
+
.replace(/```json\s*/gi, '')
|
|
33
|
+
.replace(/```\s*/g, '')
|
|
34
|
+
.replace(/\u001b\[[0-9;]*m/g, '');
|
|
35
|
+
|
|
36
|
+
const first = cleaned.indexOf('{');
|
|
37
|
+
const last = cleaned.lastIndexOf('}');
|
|
38
|
+
if (first === -1 || last === -1 || last <= first) return null;
|
|
39
|
+
|
|
40
|
+
const candidate = cleaned.slice(first, last + 1);
|
|
41
|
+
try {
|
|
42
|
+
return JSON.parse(candidate);
|
|
43
|
+
} catch {
|
|
44
|
+
for (let i = 0; i < cleaned.length; i += 1) {
|
|
45
|
+
if (cleaned[i] !== '{') continue;
|
|
46
|
+
let depth = 0;
|
|
47
|
+
for (let j = i; j < cleaned.length; j += 1) {
|
|
48
|
+
const ch = cleaned[j];
|
|
49
|
+
if (ch === '{') depth += 1;
|
|
50
|
+
if (ch === '}') {
|
|
51
|
+
depth -= 1;
|
|
52
|
+
if (depth === 0) {
|
|
53
|
+
const maybe = cleaned.slice(i, j + 1);
|
|
54
|
+
try {
|
|
55
|
+
return JSON.parse(maybe);
|
|
56
|
+
} catch {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function extractJsonLast(text) {
|
|
68
|
+
if (!text) return null;
|
|
69
|
+
const cleaned = String(text)
|
|
70
|
+
.replace(/```json\s*/gi, '')
|
|
71
|
+
.replace(/```\s*/g, '')
|
|
72
|
+
.replace(/\u001b\[[0-9;]*m/g, '');
|
|
73
|
+
|
|
74
|
+
for (let i = cleaned.length - 1; i >= 0; i -= 1) {
|
|
75
|
+
if (cleaned[i] !== '}') continue;
|
|
76
|
+
let depth = 0;
|
|
77
|
+
for (let j = i; j >= 0; j -= 1) {
|
|
78
|
+
const ch = cleaned[j];
|
|
79
|
+
if (ch === '}') depth += 1;
|
|
80
|
+
if (ch === '{') {
|
|
81
|
+
depth -= 1;
|
|
82
|
+
if (depth === 0) {
|
|
83
|
+
const maybe = cleaned.slice(j, i + 1);
|
|
84
|
+
try {
|
|
85
|
+
return JSON.parse(maybe);
|
|
86
|
+
} catch {
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
module.exports = {
|
|
97
|
+
sleep,
|
|
98
|
+
appendTail,
|
|
99
|
+
truncateForTemporalTrace,
|
|
100
|
+
randomId,
|
|
101
|
+
extractJson,
|
|
102
|
+
extractJsonLast,
|
|
103
|
+
};
|
|
104
|
+
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2456],{2325:(e,t,r)=>{r.d(t,{Tw:()=>n,ls:()=>i,mP:()=>m,ou:()=>u});var a=r(2115);let s={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},o={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},n=["ideation","planning","execution","verification","done"],i={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},l="00000000-0000-0000-0000-000000000001",d=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:l,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:l,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:l,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:l,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:l,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],c=[{id:"fallback-ideation-planning",workflow_id:l,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:l,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:l,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:l,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:l,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],u="00000000-0000-0000-0000-000000000001";function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.workflowId||u,[r,m]=(0,a.useState)(null),[x,p]=(0,a.useState)(!0),[h,v]=(0,a.useState)(null),b=(0,a.useCallback)(async()=>{p(!0),v(null);try{var e;let r=await fetch("/api/workflows/".concat(t));if(!r.ok)throw Error("Failed to fetch workflow: ".concat(r.statusText));let a=await r.json(),s=null!=(e=a.workflow)?e:a,o=Array.isArray(s.nodes)?s.nodes:[];Array.isArray(s.transitions)&&s.transitions,o&&0!==o.length||t!==l?m(s):m({...s,nodes:d,transitions:c})}catch(e){console.error("Error fetching workflow:",e),v(e instanceof Error?e:Error(String(e)))}finally{p(!1)}},[t]);(0,a.useEffect)(()=>{b()},[b]);let f=(0,a.useMemo)(()=>{var e;return(null==r||null==(e=r.nodes)?void 0:e.length)?r.nodes.slice().sort((e,t)=>e.position-t.position).map(e=>e.name):[...n]},[r]),g=(0,a.useMemo)(()=>{var e;if(!(null==r||null==(e=r.nodes)?void 0:e.length))return i;let t={};for(let e of r.nodes)t[e.name]={icon:s[e.name]||"\uD83D\uDCCC",label:e.label||e.name.charAt(0).toUpperCase()+e.name.slice(1),color:o[e.name]||"var(--primary)"};return t},[r]),j=(0,a.useMemo)(()=>(null==r?void 0:r.transitions)||[],[r]),N=(0,a.useCallback)((e,t)=>{var a;if(e===t)return!0;if(!(null==r||null==(a=r.nodes)?void 0:a.length)){let r=n.indexOf(e),a=n.indexOf(t);return a<r||a===r+1}let s=f.indexOf(e),o=f.indexOf(t);return!!(o<s||j.some(r=>r.from_node===e&&r.to_node===t))||o===s+1},[r,f,j]);return{workflow:r,stages:f,stageConfig:g,transitions:j,isLoading:x,error:h,refetch:b,isValidTransition:N}}},5826:(e,t,r)=>{r.d(t,{A:()=>O});var a=r(5155),s=r(2115),o=r(4357);function n(e){let{comments:t,onAddComment:r,onDeleteComment:o}=e,[n,i]=(0,s.useState)(""),[l,d]=(0,s.useState)(!1),[c,u]=(0,s.useState)(!1),[m,x]=(0,s.useState)(null),p=async e=>{if(e.preventDefault(),n.trim()&&!c){u(!0);try{await r(n),i(""),d(!1)}finally{u(!1)}}},h=async e=>{if(o&&!m&&confirm("Are you sure you want to delete this comment?")){x(e);try{await o(e)}catch(e){console.error("Failed to delete comment:",e)}finally{x(null)}}};return(0,a.jsxs)("div",{className:"space-y-4",children:[l?(0,a.jsxs)("form",{onSubmit:p,className:"space-y-3 animate-fade-in-up",children:[(0,a.jsx)("textarea",{value:n,onChange:e=>i(e.target.value),placeholder:"Add context, decisions, or guidance...",className:"input resize-none h-24 focus:ring-2 focus:ring-[var(--primary)]/20",autoFocus:!0,disabled:c}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"submit",disabled:!n.trim()||c,className:"btn-primary px-4 py-2 flex items-center gap-2",children:c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),"Adding..."]}):"Add Comment"}),(0,a.jsx)("button",{type:"button",onClick:()=>{d(!1),i("")},disabled:c,className:"btn-ghost px-4 py-2",children:"Cancel"})]})]}):(0,a.jsx)("button",{onClick:()=>d(!0),className:"w-full py-3 border-2 border-dashed border-[var(--card-border)] rounded-xl text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--primary)] hover:bg-[var(--primary-muted)] transition-all duration-200 text-sm font-medium focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2",children:(0,a.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Add comment"]})}),0===t.length?(0,a.jsxs)("div",{className:"text-center py-12 animate-fade-in",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-xl bg-[var(--background)] border border-[var(--card-border)] mb-3",children:(0,a.jsx)("span",{className:"text-xl opacity-50",children:"\uD83D\uDCDD"})}),(0,a.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm",children:"No comments yet"}),(0,a.jsx)("p",{className:"text-[var(--muted-foreground)] text-xs mt-1",children:"Add context and guidance for this task"})]}):(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"timeline-line"}),(0,a.jsx)("div",{className:"space-y-4",children:t.map((e,t)=>(0,a.jsxs)("div",{className:"timeline-item relative pl-7 animate-fade-in-up",style:{animationDelay:"".concat(50*t,"ms")},children:[(0,a.jsx)("div",{className:"timeline-dot"}),(0,a.jsxs)("div",{className:"card p-4 hover:border-[var(--primary)]/30 group",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] tabular-nums",children:new Date(e.created_at).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),e.author_type&&(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.author_type})]}),o&&"user"===e.author_type&&(0,a.jsx)("button",{onClick:()=>h(e.id),disabled:m===e.id,className:"opacity-0 group-hover:opacity-100 transition-opacity text-[var(--muted-foreground)] hover:text-[var(--destructive)] p-1 rounded",title:"Delete comment",children:m===e.id?(0,a.jsx)("span",{className:"spinner w-3 h-3 border-2 border-current border-t-transparent"}):(0,a.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})})]}),(0,a.jsx)("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:e.content})]})]},e.id))})]})]})}var i=r(577);let l={30:"#94a3b8",31:"#f87171",32:"#4ade80",33:"#facc15",34:"#60a5fa",35:"#c084fc",36:"#22d3ee",37:"#e2e8f0",90:"#64748b",91:"#ef4444",92:"#22c55e",93:"#eab308",94:"#3b82f6",95:"#a855f7",96:"#06b6d4",97:"#f8fafc"},d=/\u001b\[([0-9;]*)m/g,c=/(^|\s)\[((?:\d{1,3};)*\d{1,3})m(\s|$)/g;function u(e){return Math.max(0,Math.min(255,e))}function m(e){let{taskId:t,status:r}=e,[o,n]=(0,s.useState)(!1),[m,x]=(0,s.useState)(!1),{output:p,isLoading:h,isStreaming:v}=(0,i.zH)(t,{enabled:o,tail:500,maxChars:2e5}),b=(0,s.useRef)(null);(0,s.useEffect)(()=>{o&&b.current&&(b.current.scrollTop=b.current.scrollHeight)},[p,o]);let f=p||(h?"Loading logs...":"in_progress"===r?"Waiting for live output...":"No output yet."),g=(0,s.useMemo)(()=>o?function(e){if(!e)return[];let t=e.replace(c,(e,t,r,a)=>t&&a?" ":t||a||""),r=[],a={},s=0;for(let e of t.matchAll(d)){var o;let n=null!=(o=e.index)?o:0;if(n>s){let e=t.slice(s,n);r.push({text:e,style:Object.keys(a).length?{...a}:void 0})}a=function(e,t){let r={...e},a=(t||"0").split(";").map(e=>Number.parseInt(e,10)).filter(e=>Number.isFinite(e));for(let e=0;e<a.length;e+=1){let t=a[e];if(0===t){delete r.color,delete r.fontStyle,delete r.fontWeight,delete r.textDecoration;continue}if(1===t){r.fontWeight=700;continue}if(3===t){r.fontStyle="italic";continue}if(4===t){r.textDecoration="underline";continue}if(22===t){delete r.fontWeight;continue}if(23===t){delete r.fontStyle;continue}if(24===t){delete r.textDecoration;continue}if(39===t){delete r.color;continue}if(38===t){let t=a[e+1];if(5===t&&Number.isFinite(a[e+2]))r.color=function(e){let t=Math.max(0,Math.min(255,e));if(t<16)return l[[30,31,32,33,34,35,36,37,90,91,92,93,94,95,96,97][t]]||"#e2e8f0";if(t>=232){let e=Math.round((t-232)/23*255);return"rgb(".concat(e,", ").concat(e,", ").concat(e,")")}let r=t-16,a=Math.floor(r/36),s=Math.floor(r%36/6),o=e=>0===e?0:40*e+55;return"rgb(".concat(o(a),", ").concat(o(s),", ").concat(o(r%6),")")}(a[e+2]),e+=2;else if(2===t&&Number.isFinite(a[e+2])&&Number.isFinite(a[e+3])&&Number.isFinite(a[e+4])){let t=u(a[e+2]),s=u(a[e+3]),o=u(a[e+4]);r.color="rgb(".concat(t,", ").concat(s,", ").concat(o,")"),e+=4}continue}l[t]&&(r.color=l[t])}return r}(a,e[1]||"0"),s=n+e[0].length}return s<t.length&&r.push({text:t.slice(s),style:Object.keys(a).length?{...a}:void 0}),function(e){if(!e.length)return e;let t=[];for(let r of e){if(!r.text)continue;let e=t[t.length-1],a=!!e&&JSON.stringify(e.style||null)===JSON.stringify(r.style||null);e&&a?e.text+=r.text:t.push({text:r.text,style:r.style?{...r.style}:void 0})}return t}(r)}(f):[],[f,o]);return(0,a.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>n(e=>!e),className:"w-full flex items-center justify-between text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]","aria-expanded":o,children:[(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{children:"Terminal Stream"}),v&&(0,a.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full bg-emerald-500/15 text-emerald-400 border border-emerald-500/30",children:"Live"})]}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:o?"Collapse":"Expand"})]}),o&&(0,a.jsxs)("div",{className:"mt-4 rounded-xl border border-[var(--card-border)] bg-[#0b0f14] shadow-inner transition-all duration-300 ease-in-out",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60",children:[(0,a.jsx)("span",{children:"Run Log"}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"font-mono text-[10px]",children:v?"Streaming":"Idle"}),(0,a.jsx)("button",{onClick:()=>x(!m),className:"hover:text-white transition-colors p-1",title:m?"Collapse View":"Expand View",children:m?(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M8 3v3a2 2 0 0 1-2 2H3"}),(0,a.jsx)("path",{d:"M21 8h-3a2 2 0 0 1-2-2V3"}),(0,a.jsx)("path",{d:"M3 16h3a2 2 0 0 1 2 2v3"}),(0,a.jsx)("path",{d:"M16 21v-3a2 2 0 0 1 2-2h3"})]}):(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M15 3h6v6"}),(0,a.jsx)("path",{d:"M9 21H3v-6"}),(0,a.jsx)("path",{d:"M21 3l-7 7"}),(0,a.jsx)("path",{d:"M3 21l7-7"})]})})]})]}),(0,a.jsx)("div",{ref:b,className:"".concat(m?"max-h-[70vh]":"max-h-64"," overflow-y-auto px-3 py-3 font-mono text-xs text-slate-200 whitespace-pre-wrap leading-relaxed transition-all duration-300 ease-in-out"),children:g.map((e,t)=>(0,a.jsx)("span",{style:e.style,children:e.text},"".concat(t,"-").concat(e.text.length)))})]})]})}let x={task:{label:"This Task",icon:"\uD83D\uDCCC",color:"var(--primary)",bgColor:"var(--primary-muted)",description:"Specific to this task only"},project:{label:"Project",icon:"\uD83D\uDCC1",color:"var(--accent)",bgColor:"var(--accent-muted)",description:"Applies to the whole project"},global:{label:"Playbook",icon:"\uD83D\uDCD6",color:"var(--warning)",bgColor:"var(--warning-muted)",description:"Universal best practices"}};function p(e){var t,r;let{learnings:o,taskId:n,projectContext:i,onAddLearning:l,compact:d=!1}=e,[c,u]=(0,s.useState)(!1),[m,p]=(0,s.useState)(""),[h,v]=(0,s.useState)("task"),[b,f]=(0,s.useState)(!1),g=(null==i?void 0:i.project)?[i.project.id,i.project.slug].filter(Boolean):[],j=(null==i||null==(t=i.project)?void 0:t.name)||(null==i||null==(r=i.project)?void 0:r.slug)||"Project",N=async e=>{if(e.preventDefault(),m.trim()&&!b){f(!0);try{let e="project"===h?g[0]:void 0;await l(m,h,e),p(""),u(!1)}finally{f(!1)}}},y=o.filter(e=>"task"===e.scope&&e.scope_id===n),w=g.length?o.filter(e=>"project"===e.scope&&e.scope_id&&g.includes(e.scope_id)):[],k=o.filter(e=>"global"===e.scope),C=(e,t,r)=>{let s=x[e];return(0,a.jsxs)("div",{className:d?"mb-4":"mb-6",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 ".concat(d?"mb-2":"mb-3"),children:[(0,a.jsx)("span",{className:"w-5 h-5 rounded-lg flex items-center justify-center text-xs",style:{backgroundColor:s.bgColor},children:s.icon}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"text-xs font-semibold",style:{color:s.color},children:r||s.label}),!d&&(0,a.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)]",children:s.description})]})]}),0===t.length?(0,a.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] py-2 text-center bg-[var(--background)] rounded-lg border border-dashed border-[var(--card-border)]",children:"No learnings yet"}):(0,a.jsx)("ul",{className:"space-y-1.5",children:t.map((e,t)=>(0,a.jsx)("li",{className:"text-xs bg-[var(--background)] rounded-lg ".concat(d?"p-2":"p-3"," border border-[var(--card-border)]\n hover:border-[color-mix(in_srgb,var(--primary)_30%,var(--card-border))] \n transition-colors animate-fade-in-up"),style:{animationDelay:"".concat(30*t,"ms")},children:e.content},e.id))})]})};return(0,a.jsxs)("div",{children:[!d&&(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,a.jsx)("span",{className:"text-lg",children:"\uD83D\uDCA1"}),(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Learnings"}),(0,a.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:o.length})]}),c?(0,a.jsxs)("form",{onSubmit:N,className:"".concat(d?"mb-3":"mb-5"," space-y-2 animate-fade-in-up"),children:[(0,a.jsx)("textarea",{value:m,onChange:e=>p(e.target.value),placeholder:"What did you learn?",className:"input resize-none ".concat(d?"h-16 text-xs":"h-20 text-sm"),autoFocus:!0,disabled:b}),(0,a.jsx)("div",{className:"flex gap-1",children:["task","project","global"].map(e=>{let t=x[e],r=h===e,s="project"===e&&0===g.length;return(0,a.jsxs)("button",{type:"button",onClick:()=>v(e),disabled:s,className:"\n flex-1 flex items-center justify-center gap-1 px-1.5 py-1 text-[10px] font-medium rounded-lg\n transition-all duration-200\n ".concat(r?"text-white shadow-md":"bg-[var(--background)] text-[var(--muted-foreground)] hover:text-[var(--foreground)]","\n ").concat(s?"opacity-40 cursor-not-allowed":"","\n "),style:r?{backgroundColor:t.color,boxShadow:"0 2px 8px -2px ".concat(t.color,"60")}:void 0,children:[(0,a.jsx)("span",{children:t.icon}),!d&&(0,a.jsx)("span",{children:t.label})]},e)})}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{type:"submit",disabled:!m.trim()||b,className:"btn-primary px-2 py-1 text-xs flex items-center gap-1.5",children:b?"...":"Add"}),(0,a.jsx)("button",{type:"button",onClick:()=>{u(!1),p("")},disabled:b,className:"btn-ghost px-2 py-1 text-xs",children:"Cancel"})]})]}):(0,a.jsx)("button",{onClick:()=>u(!0),className:"w-full ".concat(d?"py-2 mb-3":"py-3 mb-5"," border-2 border-dashed border-[var(--card-border)] rounded-xl \n text-[var(--muted-foreground)] hover:text-[var(--foreground)] \n hover:border-[var(--primary)] hover:bg-[var(--primary-muted)]\n transition-all duration-200 text-xs font-medium"),children:(0,a.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,a.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Add learning"]})}),C("task",y),g.length>0&&C("project",w,"Project: ".concat(j)),C("global",k,"Global Playbook")]})}let h=[{id:"ideation",icon:"\uD83D\uDCA1",label:"Ideation",prompt:"Research and scope. Define approach, estimate effort.",color:"var(--warning)"},{id:"planning",icon:"\uD83D\uDCCB",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",color:"var(--info)"},{id:"coding",icon:"\uD83D\uDCBB",label:"Coding",prompt:"Write clean, tested code based on plan.",color:"var(--primary)"},{id:"qa",icon:"\uD83E\uDDEA",label:"QA",prompt:"Test thoroughly. Find edge cases. Fix bugs.",color:"var(--accent)"},{id:"acceptance",icon:"✓",label:"Acceptance",prompt:"Demo to user. Get sign-off. Address feedback.",color:"#8b5cf6"},{id:"pr",icon:"\uD83D\uDD00",label:"PR",prompt:"Create and review pull request. Ensure all checks pass and merge.",color:"#f97316"},{id:"pr_review",icon:"\uD83D\uDC40",label:"PR Review",prompt:"Review the PR. Verify code quality and functionality. Approve or request changes.",color:"#ef4444"},{id:"merge",icon:"\uD83D\uDE80",label:"Merge",prompt:"Merge the PR and verify deployment.",color:"#22c55e"},{id:"done",icon:"✅",label:"Done",prompt:"Task finished and shipped.",color:"var(--success)"}];function v(e){let{currentStage:t,onStageChange:r,readonly:s,size:o="md",stageDecisions:n,stages:i}=e,l=i||h,d=t?l.findIndex(e=>e.id===t):-1;return(0,a.jsx)("div",{className:"flex items-center gap-1 flex-wrap",role:"tablist","aria-label":"Task stages",children:l.map((e,i)=>{let c=e.id===t,u=d>i,m=!s&&r,x=null==n?void 0:n[e.id],p=["".concat(e.label,": ").concat(e.prompt||"")];return(null==x?void 0:x.decision)&&p.push("Decision: ".concat(x.decision)),(null==x?void 0:x.rationale)&&p.push("Rationale: ".concat(x.rationale)),(0,a.jsxs)("button",{onClick:()=>m&&r(e.id),disabled:s,title:p.join(" | "),role:"tab","aria-selected":c,"aria-disabled":s,className:"\n group relative flex items-center gap-1.5 rounded-lg font-medium\n transition-all duration-200 select-none\n focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2\n ".concat("sm"===o?"px-2 py-1 text-[10px]":"px-3 py-1.5 text-xs","\n ").concat(c?"text-white shadow-md":u?"bg-[var(--success-muted)] text-[var(--success)]":d<i&&-1!==d?"bg-[var(--background)] text-[var(--muted-foreground)] opacity-50":"bg-[var(--background)] text-[var(--muted-foreground)]","\n ").concat(m&&!c?"hover:bg-[var(--card-border)] hover:text-[var(--foreground)] cursor-pointer":"","\n ").concat(s?"cursor-default":"","\n "),style:c?{backgroundColor:e.color,boxShadow:"0 4px 14px -3px ".concat(e.color,"40")}:void 0,children:[(0,a.jsx)("span",{className:"".concat("sm"===o?"text-xs":"text-sm"," ").concat(c?"":"opacity-80"),children:e.icon}),(0,a.jsx)("span",{className:"hidden lg:inline",children:e.label}),i<l.length-1&&(0,a.jsx)("span",{className:"\n absolute -right-1 top-1/2 -translate-y-1/2 w-2 h-0.5 \n ".concat(u||c?"bg-[var(--success)]":"bg-[var(--card-border)]","\n transition-colors duration-300 hidden lg:block\n ")}),(0,a.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:e.label})]},e.id)})})}var b=r(8661),f=r.n(b),g=r(154),j=r(758),N=r(7004),y=r(6135),w=r(5226);let k=e=>{let{editor:t}=e;return t?(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleBold().run(),disabled:!t.can().chain().focus().toggleBold().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Bold",children:(0,a.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleItalic().run(),disabled:!t.can().chain().focus().toggleItalic().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Italic",children:(0,a.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleStrike().run(),disabled:!t.can().chain().focus().toggleStrike().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Strike",children:(0,a.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,a.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleCode().run(),disabled:!t.can().chain().focus().toggleCode().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Code",children:(0,a.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleCodeBlock().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Code Block",children:(0,a.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,a.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleHeading({level:1}).run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"H1",children:(0,a.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleHeading({level:2}).run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"H2",children:(0,a.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleHeading({level:3}).run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"H3",children:(0,a.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,a.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleBulletList().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Bullet List",children:(0,a.jsx)("span",{className:"text-xs",children:"• List"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleOrderedList().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Ordered List",children:(0,a.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,a.jsx)("button",{onClick:()=>t.chain().focus().toggleBlockquote().run(),className:"p-1.5 rounded hover:bg-[var(--muted)] ".concat(t.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"),title:"Quote",children:(0,a.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null};function C(e){let{content:t,editable:r=!0,onChange:o,onBlur:n,placeholder:i="Add a description..."}=e,l=(0,g.hG)({extensions:[j.A,y.Ay.configure({openOnClick:!1}),N.A.configure({placeholder:i,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),w.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:t,editable:r,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:e=>{let{editor:t}=e;null==o||o(t.storage.markdown.getMarkdown())},onBlur:()=>{null==n||n()}});return(0,s.useEffect)(()=>{l&&t!==l.storage.markdown.getMarkdown()&&!l.isFocused&&l.commands.setContent(t)},[t,l]),(0,a.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[r&&(0,a.jsx)(k,{editor:l}),(0,a.jsx)(g.$Z,{editor:l,className:"rich-text-editor"}),(0,a.jsx)(f(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var _=r(91),S=r(2619),D=r.n(S);function A(e){var t,r,s;let{projectContext:o,fallbackProjectSlug:n}=e,i=(null==o?void 0:o.project)||null,l=null!=(t=null==o?void 0:o.repos)?t:[],d=null!=(r=null==o?void 0:o.learnings)?r:[],c=(s=null==i?void 0:i.metadata)&&"object"==typeof s?Object.entries(s).filter(e=>{let[t]=e;return!!t}):[];if(!i)return(0,a.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,a.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:n?'Task is tagged with "'.concat(n,'" but no structured project context is available yet.'):"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,a.jsx)(D(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let u=d.slice(0,3),m=d.length-u.length;return(0,a.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,a.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:i.name}),(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:i.slug})]}),(0,a.jsx)(D(),{href:"/projects",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-colors",children:"View"})]}),i.description&&(0,a.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:i.description}),i.ci_cd_info&&(0,a.jsxs)("div",{className:"text-xs space-y-1",children:[(0,a.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,a.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:i.ci_cd_info})]}),c.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,a.jsx)("dl",{className:"space-y-1.5",children:c.map(e=>{let[t,r]=e;return(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,a.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:t}),(0,a.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof r?r:JSON.stringify(r)})]},t)})})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:l.length?"".concat(l.length," connected"):"None"})]}),0===l.length?(0,a.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,a.jsx)("ul",{className:"space-y-2",children:l.map(e=>(0,a.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,a.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:e.name}),e.path&&(0,a.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",e.path]}),e.git_url&&(0,a.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,a.jsx)("span",{className:"text-[var(--primary)]",children:e.git_url})]}),e.notes&&(0,a.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",e.notes]})]},e.id||e.name))})]}),d.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,a.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:u.map((e,t)=>(0,a.jsxs)("li",{className:"leading-relaxed",children:["• ",e]},"".concat(e,"-").concat(t)))}),m>0&&(0,a.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",m," more learnings in the panel below"]})]})]})}var M=r(8545);let L={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},P=["queued","in_progress","blocked","completed","failed"];function I(e){if(!e)return"N/A";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function O(e){var t,r,i,l,d,c,u,x;let{task:b,comments:f,learnings:g,projectContext:j,projects:N,stage_config:y,stages:w,onClose:k,onAddComment:S,onDeleteComment:D,onAddLearning:O,onUpdate:B,onDelete:E}=e,{providers:F}=(0,M.u)(),{projects:H}=(0,_.Y)(),q=N||H,R=w||h,[W,z]=(0,s.useState)(!1),[V,U]=(0,s.useState)(!1),[Q,G]=(0,s.useState)(!1),[J,Y]=(0,s.useState)(b.provider||""),[$,Z]=(0,s.useState)(b.model||""),[K,X]=(0,s.useState)(null!=(i=b.swarm)&&i),[ee,et]=(0,s.useState)([]),[er,ea]=(0,s.useState)("gemini"),[es,eo]=(0,s.useState)(""),[en,ei]=(0,s.useState)(!1),[el,ed]=(0,s.useState)(null),ec=b.resolved_provider||(null==y?void 0:y.provider)||"gemini",eu=b.resolved_model||(null==y?void 0:y.model)||"",em=null!=(d=null!=(l=b.swarm)?l:null==y?void 0:y.swarm)&&d;b.resolved_swarm_models||null==y||y.swarm_models;let ex=null!=(c=null!=j?j:b.project_context)?c:null,ep=null!=(x=null!=(u=null==ex||null==(t=ex.project)?void 0:t.slug)?u:b.project)?x:null,[eh,ev]=(0,s.useState)(""),eb=e=>{let t=e.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return t?t[1]:e};(0,s.useEffect)(()=>{var e;Y(b.provider||""),Z(b.model||""),X(null!=(e=b.swarm)&&e),et(Array.isArray(b.swarm_models)?b.swarm_models.filter(e=>e&&"string"==typeof e.provider&&"string"==typeof e.model).map(e=>({provider:e.provider.trim(),model:e.model.trim()})).filter(e=>e.provider&&e.model):[])},[b.provider,b.model,b.swarm,b.swarm_models,b.id]),(0,s.useEffect)(()=>{var e;ev(null!=(e=b.description)?e:eb(b.content||""))},[b.content,b.description,b.id]);let ef=async()=>{G(!0);try{await (null==E?void 0:E())}finally{G(!1),U(!1)}},eg=(0,o.YQ)(async e=>{var t;e!==(null!=(t=b.description)?t:eb(b.content||""))&&await B({description:e})},1e3),ej=(0,o.YQ)(async e=>{ei(!0),ed(null);try{await B(e)}catch(e){ed(e instanceof Error?e.message:"Failed to update settings")}finally{ei(!1)}},1e3),eN=async e=>{await B({stage:e,status:"done"===e?"completed":"ideation"===e?"queued":"in_progress"})},ey=async e=>{if(!e)return void await B({project:null,project_id:null});let t=q.find(t=>t.id===e);t&&await B({project:t.slug,project_id:t.id})},ew=async()=>{try{await eC("queued")}catch(e){console.error("Failed to retry task",e)}},ek=async()=>{try{await eC("queued")}catch(e){console.error("Failed to unblock task",e)}},eC=async e=>{let t={status:e};"queued"===e&&(t.started_at=null,t.completed_at=null,t.error=void 0),"completed"!==e&&"failed"!==e&&"blocked"!==e||b.completed_at||(t.completed_at=new Date().toISOString()),await B(t)};L[b.status||"queued"];let e_=b.stage_decisions||{},eS=b.stage?e_[b.stage]:void 0,eD=Object.entries(e_).filter(e=>{let[,t]=e;return(null==t?void 0:t.decision)==="blocked"}).sort((e,t)=>{var r,a;let s=Date.parse((null==(r=e[1])?void 0:r.decided_at)||""),o=Date.parse((null==(a=t[1])?void 0:a.decided_at)||"");return(Number.isNaN(o)?0:o)-(Number.isNaN(s)?0:s)})[0],eA=(null==eS?void 0:eS.decision)==="blocked"?b.stage:null==eD?void 0:eD[0],eM=eA&&e_[eA]?e_[eA]:void 0,eL=null==eM?void 0:eM.rationale;return(0,a.jsx)("div",{className:"modal-backdrop",onClick:e=>e.target===e.currentTarget&&k(),children:(0,a.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:b.slug||b.id.slice(0,6)}),(0,a.jsx)(v,{currentStage:b.stage,onStageChange:eN,stageDecisions:b.stage_decisions,stages:R})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[en&&(0,a.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),E&&(0,a.jsx)("button",{onClick:()=>U(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",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:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,a.jsx)("button",{onClick:k,className:"btn-ghost p-2 rounded",title:"Close (Esc)",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"})})})]})]}),V&&(0,a.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,a.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,a.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,a.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,a.jsx)("strong",{className:"text-[var(--foreground)]",children:b.slug||b.id.slice(0,6)}),"? This cannot be undone."]}),(0,a.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,a.jsx)("button",{onClick:()=>U(!1),disabled:Q,className:"btn-ghost",children:"Cancel"}),(0,a.jsx)("button",{onClick:ef,disabled:Q,className:"btn-destructive px-4 py-2 rounded-md",children:Q?"Deleting...":"Delete"})]})]})}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:["failed"===b.status&&b.error&&(0,a.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",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:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,a.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,a.jsx)("button",{onClick:ew,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,a.jsx)("p",{className:"text-sm font-medium",children:b.error})]}),"blocked"===b.status&&(0,a.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",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:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,a.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,a.jsx)("button",{onClick:ek,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,a.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:eL||"Task is blocked and requires manual intervention."}),(0,a.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,a.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,a.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,a.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,a.jsx)("span",{className:"font-medium",children:eA||b.stage||"N/A"}),(0,a.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,a.jsx)("span",{className:"font-medium",children:(null==eM?void 0:eM.decision)||"blocked"}),(0,a.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,a.jsx)("span",{className:"font-medium break-words",children:(null==eM?void 0:eM.final_result)||"N/A"}),(0,a.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,a.jsx)("span",{className:"font-medium break-words",children:(null==eM?void 0:eM.rationale)||"N/A"}),(0,a.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,a.jsx)("span",{className:"font-medium",children:I(null==eM?void 0:eM.decided_at)}),(0,a.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,a.jsx)("span",{className:"font-mono break-all",children:b.workflow_id||"N/A"}),(0,a.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,a.jsx)("span",{className:"font-mono break-all",children:b.workflow_run_id||"N/A"}),(0,a.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,a.jsx)("span",{className:"font-medium",children:b.orchestration_status||"N/A"}),(0,a.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,a.jsx)("span",{className:"font-medium",children:I(b.last_orchestration_update)}),(0,a.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,a.jsx)("span",{className:"font-medium",children:I(b.started_at)}),(0,a.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,a.jsx)("span",{className:"font-medium",children:I(b.completed_at)})]})]})]}),(0,a.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,a.jsx)(C,{content:eh,onChange:e=>{ev(e),eg(e)},placeholder:"Add more detail to this task..."})}),(0,a.jsx)(m,{taskId:b.id,status:b.status}),b.history&&b.history.length>0&&(0,a.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,a.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,a.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,a.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,a.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,a.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:b.history.map(e=>{var t,r;return(0,a.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,a.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:e.started_at?new Date(e.started_at).toLocaleString():"N/A"}),(0,a.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:e.started_at&&e.completed_at?function(e,t){let r=t.getTime()-e.getTime();if(r<1e3)return"".concat(r,"ms");let a=Math.floor(r/1e3);if(a<60)return"".concat(a,"s");let s=Math.floor(a/60);return"".concat(s,"m ").concat(a%60,"s")}(new Date(e.started_at),new Date(e.completed_at)):"-"}),(0,a.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:null!=(t=e.pid)?t:"-"}),(0,a.jsx)("td",{className:"py-2 pr-4",children:(0,a.jsx)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ".concat(0===e.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"),children:null!=(r=e.exit_code)?r:"-"})})]},e.id)})})]})})]}),(0,a.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,a.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,a.jsx)("span",{children:"Comments"}),(0,a.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:f.length})]}),(0,a.jsx)(n,{comments:f,onAddComment:S,onDeleteComment:D})]})]})}),(0,a.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,a.jsx)("select",{value:b.stage,onChange:e=>eN(e.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:R.map(e=>(0,a.jsx)("option",{value:e.id,children:e.label},e.id))})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,a.jsx)("select",{value:b.status||"queued",onChange:e=>eC(e.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:P.map(e=>(0,a.jsx)("option",{value:e,children:L[e].label},e))})]}),(0,a.jsx)(T,{label:"ID",value:b.id}),b.slug&&(0,a.jsx)(T,{label:"Slug",value:b.slug,truncate:!0}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,a.jsxs)("select",{value:b.project_id||(null==(r=q.find(e=>e.slug===b.project))?void 0:r.id)||"",onChange:e=>ey(e.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",children:[(0,a.jsx)("option",{value:"",children:"None"}),q.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:em?"Swarm":ec||"Default"})]}),void 0!==b.pid&&null!==b.pid&&(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,a.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:b.pid})]}),void 0!==b.exit_code&&null!==b.exit_code&&(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,a.jsx)("span",{className:"text-sm font-mono font-medium ".concat(0===b.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"),children:b.exit_code})]})]}),(0,a.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,a.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,a.jsx)("button",{onClick:()=>(e=>{X(e);let t={swarm:e};e?t.swarm_models=ee:(t.provider=J,t.model=$),B(t)})(!K),className:"w-10 h-5 rounded-full transition-colors relative ".concat(K?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"),children:(0,a.jsx)("span",{className:"absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ".concat(K?"translate-x-5":"translate-x-0")})})]}),K?(0,a.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,a.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,a.jsx)("select",{value:er,onChange:e=>ea(e.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:F.map(e=>(0,a.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,a.jsx)("input",{value:es,onChange:e=>eo(e.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,a.jsx)("button",{type:"button",onClick:()=>{let e=es.trim();if(!e)return;let t={provider:er,model:e};if(ee.some(e=>e.provider.toLowerCase()===t.provider.toLowerCase()&&e.model.toLowerCase()===t.model.toLowerCase()))return;let r=[...ee,t];et(r),eo(""),K&&ej({swarm_models:r})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),ee.length>0&&(0,a.jsx)("div",{className:"space-y-1",children:ee.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,a.jsxs)("span",{className:"truncate",children:[(0,a.jsx)("span",{className:"text-[var(--muted-foreground)]",children:e.provider}),(0,a.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,a.jsx)("span",{children:e.model})]}),(0,a.jsx)("button",{type:"button",onClick:()=>(e=>{let t=ee.filter((t,r)=>r!==e);et(t),K&&ej({swarm_models:t})})(t),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},"".concat(e.provider,"-").concat(e.model,"-").concat(t)))})]})]}):(0,a.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,a.jsxs)("select",{value:J,onChange:e=>{var t;Y(t=e.target.value),B({provider:t})},className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,a.jsxs)("option",{value:"",children:["Default (",ec,")"]}),F.map(e=>(0,a.jsx)("option",{value:e.id,children:e.label},e.id))]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,a.jsx)("input",{value:$,onChange:e=>{var t;Z(t=e.target.value),ej({model:t})},placeholder:"Default (".concat(eu||"unspecified",")"),className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),el&&(0,a.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:el})]}),(0,a.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,a.jsx)(A,{projectContext:ex,fallbackProjectSlug:ep}),(0,a.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>z(!W),className:"w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ".concat(W?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"),children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,a.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:g.length})]}),W&&(0,a.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,a.jsx)(p,{learnings:g,taskId:b.id,projectContext:ex,onAddLearning:O,compact:!0})})]}),(0,a.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,a.jsxs)("p",{children:["Created ",new Date(b.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function T(e){let{label:t,value:r,truncate:o,mono:n=!0}=e,[i,l]=(0,s.useState)(!1);return(0,a.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,a.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:t}),(0,a.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(r),l(!0),setTimeout(()=>l(!1),2e3)},className:"text-sm ".concat(n?"font-mono":""," flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all"),title:"Click to copy",children:[(0,a.jsx)("span",{className:"".concat(o?"max-w-[140px] truncate":""," ").concat(i?"opacity-50":""),children:o&&r.length>20?r.slice(0,8)+"..."+r.slice(-8):r}),i?(0,a.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,a.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},8545:(e,t,r)=>{r.d(t,{u:()=>o});var a=r(2115);let s=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function o(){let[e,t]=(0,a.useState)(s),[r,o]=(0,a.useState)(!0);(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let r=await fetch("/api/providers"),a=await r.json().catch(()=>({}));if(!r.ok)throw Error((null==a?void 0:a.error)||"HTTP ".concat(r.status));let s=(Array.isArray(null==a?void 0:a.providers)?a.providers:[]).filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.label).map(e=>({id:e.id,label:e.label}));!e&&s.length>0&&t(s)}catch(e){}finally{e||o(!1)}})(),()=>{e=!0}},[]);let n=(0,a.useMemo)(()=>e.map(e=>e.id),[e]);return{providers:e,providerIds:n,loading:r}}}}]);
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/f4bb6b8083291d60.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-7{width:calc(var(--spacing)*7)}.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-\[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\(--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-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-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)}.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}.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-2\.5{padding:calc(var(--spacing)*2.5)}.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\)\]::placeholder{color:var(--muted-foreground)}.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\)\]\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--primary\)\]\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,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
|