claude-dashboard 0.2.0 → 0.3.0

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.
Files changed (74) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +34 -11
  3. package/.next/app-path-routes-manifest.json +3 -0
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/next-server.js.nft.json +1 -1
  6. package/.next/prerender-manifest.json +7 -7
  7. package/.next/required-server-files.json +3 -3
  8. package/.next/routes-manifest.json +8 -0
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_not-found.html +1 -1
  11. package/.next/server/app/_not-found.rsc +2 -2
  12. package/.next/server/app/api/health/route.js.nft.json +1 -1
  13. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/usage/route.js.nft.json +1 -1
  15. package/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/workflows/[id]/route.js +1 -13
  17. package/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  18. package/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/workflows/cleanup/route.js +1 -0
  20. package/.next/server/app/api/workflows/cleanup/route.js.nft.json +1 -0
  21. package/.next/server/app/api/workflows/cleanup/route_client-reference-manifest.js +1 -0
  22. package/.next/server/app/api/workflows/metrics/route.js +1 -0
  23. package/.next/server/app/api/workflows/metrics/route.js.nft.json +1 -0
  24. package/.next/server/app/api/workflows/metrics/route_client-reference-manifest.js +1 -0
  25. package/.next/server/app/api/workflows/route.js +1 -13
  26. package/.next/server/app/api/workflows/route.js.nft.json +1 -1
  27. package/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/history/[id]/page.js +5 -0
  29. package/.next/server/app/history/[id]/page.js.nft.json +1 -0
  30. package/.next/server/app/history/[id]/page_client-reference-manifest.js +1 -0
  31. package/.next/server/app/history/page.js +1 -1
  32. package/.next/server/app/history/page.js.nft.json +1 -1
  33. package/.next/server/app/history/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/history.html +1 -1
  35. package/.next/server/app/history.rsc +3 -3
  36. package/.next/server/app/index.html +1 -1
  37. package/.next/server/app/index.rsc +3 -3
  38. package/.next/server/app/page.js +2 -2
  39. package/.next/server/app/page.js.nft.json +1 -1
  40. package/.next/server/app/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app-paths-manifest.json +3 -0
  42. package/.next/server/chunks/127.js +1 -0
  43. package/.next/server/chunks/53.js +63 -0
  44. package/.next/server/chunks/715.js +1 -1
  45. package/.next/server/pages/404.html +1 -1
  46. package/.next/server/pages/500.html +1 -1
  47. package/.next/server/pages/_app.js.nft.json +1 -1
  48. package/.next/server/pages/_document.js.nft.json +1 -1
  49. package/.next/static/chunks/145-9e2ecf05b713d5fc.js +1 -0
  50. package/.next/static/chunks/681-169bac155e276f59.js +1 -0
  51. package/.next/static/chunks/app/api/health/route-903cc84446e35d73.js +1 -0
  52. package/.next/static/chunks/app/api/usage/route-903cc84446e35d73.js +1 -0
  53. package/.next/static/chunks/app/api/workflows/[id]/route-903cc84446e35d73.js +1 -0
  54. package/.next/static/chunks/app/api/workflows/cleanup/route-903cc84446e35d73.js +1 -0
  55. package/.next/static/chunks/app/api/workflows/metrics/route-903cc84446e35d73.js +1 -0
  56. package/.next/static/chunks/app/api/workflows/route-903cc84446e35d73.js +1 -0
  57. package/.next/static/chunks/app/history/[id]/page-eab330fda697344c.js +1 -0
  58. package/.next/static/chunks/app/history/page-916bd74f5162c281.js +1 -0
  59. package/.next/static/chunks/app/{page-dd53f4f52bd5e72d.js → page-9162fef9472d3bf1.js} +1 -1
  60. package/.next/static/css/{75908259b9e378e4.css → 7e9040826c49fe12.css} +1 -1
  61. package/.next/static/pBzMDpP4jDxDXXwu3L-os/_buildManifest.js +1 -0
  62. package/dist/src/lib/db/connection.js +22 -5
  63. package/dist/src/lib/db/queries.js +102 -6
  64. package/package.json +3 -6
  65. package/.next/server/chunks/849.js +0 -1
  66. package/.next/static/4fPtjKSL5y0HNNsoLs4PS/_buildManifest.js +0 -1
  67. package/.next/static/chunks/145-3c417ba81c4b45f5.js +0 -1
  68. package/.next/static/chunks/619-7492253b494230b1.js +0 -1
  69. package/.next/static/chunks/app/api/health/route-36fb14cc6a282394.js +0 -1
  70. package/.next/static/chunks/app/api/usage/route-36fb14cc6a282394.js +0 -1
  71. package/.next/static/chunks/app/api/workflows/[id]/route-36fb14cc6a282394.js +0 -1
  72. package/.next/static/chunks/app/api/workflows/route-36fb14cc6a282394.js +0 -1
  73. package/.next/static/chunks/app/history/page-eef8489b051348cb.js +0 -1
  74. /package/.next/static/{4fPtjKSL5y0HNNsoLs4PS → pBzMDpP4jDxDXXwu3L-os}/_ssgManifest.js +0 -0
@@ -71,15 +71,44 @@ export function getWorkflow(id) {
71
71
  const row = stmt.get(id);
72
72
  return row ? rowToWorkflow(row) : null;
73
73
  }
74
- /**
75
- * List workflows ordered by creation time (newest first).
76
- */
77
- export function listWorkflows(limit = 50, offset = 0) {
74
+ export function listWorkflows(limit = 50, offset = 0, filters) {
78
75
  const db = getDb();
79
- const stmt = db.prepare('SELECT * FROM workflows ORDER BY created_at DESC LIMIT ? OFFSET ?');
80
- const rows = stmt.all(limit, offset);
76
+ const where = [];
77
+ const params = {
78
+ limit,
79
+ offset,
80
+ };
81
+ if (filters === null || filters === void 0 ? void 0 : filters.status) {
82
+ where.push('status = @status');
83
+ params.status = filters.status;
84
+ }
85
+ if ((filters === null || filters === void 0 ? void 0 : filters.q) && filters.q.trim()) {
86
+ where.push('(title LIKE @q OR user_prompt LIKE @q)');
87
+ params.q = `%${filters.q.trim()}%`;
88
+ }
89
+ const whereSql = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
90
+ const stmt = db.prepare(`SELECT * FROM workflows ${whereSql} ORDER BY created_at DESC LIMIT @limit OFFSET @offset`);
91
+ const rows = stmt.all(params);
81
92
  return rows.map(rowToWorkflow);
82
93
  }
94
+ export function countWorkflows(filters) {
95
+ var _a;
96
+ const db = getDb();
97
+ const where = [];
98
+ const params = {};
99
+ if (filters === null || filters === void 0 ? void 0 : filters.status) {
100
+ where.push('status = @status');
101
+ params.status = filters.status;
102
+ }
103
+ if ((filters === null || filters === void 0 ? void 0 : filters.q) && filters.q.trim()) {
104
+ where.push('(title LIKE @q OR user_prompt LIKE @q)');
105
+ params.q = `%${filters.q.trim()}%`;
106
+ }
107
+ const whereSql = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
108
+ const stmt = db.prepare(`SELECT COUNT(*) as count FROM workflows ${whereSql}`);
109
+ const row = (Object.keys(params).length > 0 ? stmt.get(params) : stmt.get());
110
+ return (_a = row === null || row === void 0 ? void 0 : row.count) !== null && _a !== void 0 ? _a : 0;
111
+ }
83
112
  /**
84
113
  * Update a workflow's status (and optionally the current step index).
85
114
  *
@@ -167,3 +196,70 @@ export function updateStepStatus(id, updates) {
167
196
  const sql = `UPDATE agent_steps SET ${setClauses.join(', ')} WHERE id = @id`;
168
197
  db.prepare(sql).run(params);
169
198
  }
199
+ export function cleanupWorkflows(policy) {
200
+ var _a, _b;
201
+ const db = getDb();
202
+ const keepDays = (_a = policy.keepDays) !== null && _a !== void 0 ? _a : 0;
203
+ const keepLatest = (_b = policy.keepLatest) !== null && _b !== void 0 ? _b : 0;
204
+ const idsToDelete = new Set();
205
+ if (keepDays > 0) {
206
+ const oldRows = db
207
+ .prepare(`SELECT id FROM workflows WHERE datetime(created_at) < datetime('now', @cutoff)`)
208
+ .all({ cutoff: `-${keepDays} days` });
209
+ for (const row of oldRows)
210
+ idsToDelete.add(row.id);
211
+ }
212
+ if (keepLatest > 0) {
213
+ const overflowRows = db
214
+ .prepare(`SELECT id FROM workflows ORDER BY datetime(created_at) DESC LIMIT -1 OFFSET @offset`)
215
+ .all({ offset: keepLatest });
216
+ for (const row of overflowRows)
217
+ idsToDelete.add(row.id);
218
+ }
219
+ if (idsToDelete.size === 0)
220
+ return { deleted: 0 };
221
+ const deleteStep = db.prepare('DELETE FROM agent_steps WHERE workflow_id = ?');
222
+ const deleteWorkflow = db.prepare('DELETE FROM workflows WHERE id = ?');
223
+ const txn = db.transaction(() => {
224
+ for (const id of idsToDelete) {
225
+ deleteStep.run(id);
226
+ deleteWorkflow.run(id);
227
+ }
228
+ });
229
+ txn();
230
+ return { deleted: idsToDelete.size };
231
+ }
232
+ export function getWorkflowMetrics() {
233
+ var _a, _b, _c, _d, _e, _f, _g;
234
+ const db = getDb();
235
+ const workflowRow = db.prepare(`
236
+ SELECT
237
+ COUNT(*) as workflow_count,
238
+ SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) as completed_count,
239
+ SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as failed_count,
240
+ AVG(
241
+ CASE
242
+ WHEN completed_at IS NOT NULL
243
+ THEN (julianday(completed_at) - julianday(created_at)) * 86400000
244
+ ELSE NULL
245
+ END
246
+ ) as avg_workflow_duration_ms
247
+ FROM workflows
248
+ `).get();
249
+ const stepRow = db.prepare(`
250
+ SELECT
251
+ AVG(duration_ms) as avg_step_duration_ms,
252
+ SUM(COALESCE(tokens_in, 0)) as total_tokens_in,
253
+ SUM(COALESCE(tokens_out, 0)) as total_tokens_out
254
+ FROM agent_steps
255
+ `).get();
256
+ return {
257
+ workflowCount: Number((_a = workflowRow === null || workflowRow === void 0 ? void 0 : workflowRow.workflow_count) !== null && _a !== void 0 ? _a : 0),
258
+ completedCount: Number((_b = workflowRow === null || workflowRow === void 0 ? void 0 : workflowRow.completed_count) !== null && _b !== void 0 ? _b : 0),
259
+ failedCount: Number((_c = workflowRow === null || workflowRow === void 0 ? void 0 : workflowRow.failed_count) !== null && _c !== void 0 ? _c : 0),
260
+ avgWorkflowDurationMs: Number((_d = workflowRow === null || workflowRow === void 0 ? void 0 : workflowRow.avg_workflow_duration_ms) !== null && _d !== void 0 ? _d : 0),
261
+ avgStepDurationMs: Number((_e = stepRow === null || stepRow === void 0 ? void 0 : stepRow.avg_step_duration_ms) !== null && _e !== void 0 ? _e : 0),
262
+ totalTokensIn: Number((_f = stepRow === null || stepRow === void 0 ? void 0 : stepRow.total_tokens_in) !== null && _f !== void 0 ? _f : 0),
263
+ totalTokensOut: Number((_g = stepRow === null || stepRow === void 0 ? void 0 : stepRow.total_tokens_out) !== null && _g !== void 0 ? _g : 0),
264
+ };
265
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-dashboard",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,6 +32,7 @@
32
32
  "dev": "node server.ts",
33
33
  "build": "next build && tsc -p tsconfig.server.json && node scripts/postbuild.mjs",
34
34
  "start": "node dist/server.js",
35
+ "test": "bun test",
35
36
  "lint": "next lint",
36
37
  "prepublishOnly": "npm run build"
37
38
  },
@@ -62,7 +63,6 @@
62
63
  "devDependencies": {
63
64
  "@happy-dom/global-registrator": "^20.6.1",
64
65
  "@tailwindcss/typography": "^0.5.15",
65
- "@testing-library/jest-dom": "^6.9.1",
66
66
  "@testing-library/react": "^16.3.2",
67
67
  "@types/express": "^5.0.0",
68
68
  "@types/node": "^22.0.0",
@@ -70,15 +70,12 @@
70
70
  "@types/react-dom": "^19.0.0",
71
71
  "@types/uuid": "^10.0.0",
72
72
  "@types/ws": "^8.5.13",
73
- "@vitejs/plugin-react": "^5.1.4",
74
73
  "eslint": "^9.0.0",
75
74
  "eslint-config-next": "^15.5.12",
76
75
  "happy-dom": "^20.6.1",
77
- "jsdom": "^28.0.0",
78
76
  "postcss": "^8.0.0",
79
77
  "tailwindcss": "^3.4.0",
80
78
  "tsx": "^4.19.0",
81
- "typescript": "^5.7.0",
82
- "vitest": "^4.0.18"
79
+ "typescript": "^5.7.0"
83
80
  }
84
81
  }
@@ -1 +0,0 @@
1
- "use strict";exports.id=849,exports.ids=[849],exports.modules={1453:(a,b,c)=>{c.d(b,{v:()=>g});var d=c(8301);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=(a=>a?e(a):e)(a),c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},3249:(a,b,c)=>{c.d(b,{$:()=>d});function d(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}},8829:(a,b,c)=>{c.d(b,{QP:()=>Q});let d=(a,b)=>{if(0===a.length)return b.classGroupId;let c=a[0],e=b.nextPart.get(c),f=e?d(a.slice(1),e):void 0;if(f)return f;if(0===b.validators.length)return;let g=a.join("-");return b.validators.find(({validator:a})=>a(g))?.classGroupId},e=/^\[(.+)\]$/,f=(a,b,c,d)=>{a.forEach(a=>{if("string"==typeof a){(""===a?b:g(b,a)).classGroupId=c;return}if("function"==typeof a)return h(a)?void f(a(d),b,c,d):void b.validators.push({validator:a,classGroupId:c});Object.entries(a).forEach(([a,e])=>{f(e,g(b,a),c,d)})})},g=(a,b)=>{let c=a;return b.split("-").forEach(a=>{c.nextPart.has(a)||c.nextPart.set(a,{nextPart:new Map,validators:[]}),c=c.nextPart.get(a)}),c},h=a=>a.isThemeGetter,i=(a,b)=>b?a.map(([a,c])=>[a,c.map(a=>"string"==typeof a?b+a:"object"==typeof a?Object.fromEntries(Object.entries(a).map(([a,c])=>[b+a,c])):a)]):a,j=a=>{if(a.length<=1)return a;let b=[],c=[];return a.forEach(a=>{"["===a[0]?(b.push(...c.sort(),a),c=[]):c.push(a)}),b.push(...c.sort()),b},k=/\s+/;function l(){let a,b,c=0,d="";for(;c<arguments.length;)(a=arguments[c++])&&(b=m(a))&&(d&&(d+=" "),d+=b);return d}let m=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=m(a[d]))&&(c&&(c+=" "),c+=b);return c},n=a=>{let b=b=>b[a]||[];return b.isThemeGetter=!0,b},o=/^\[(?:([a-z-]+):)?(.+)\]$/i,p=/^\d+\/\d+$/,q=new Set(["px","full","screen"]),r=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,s=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,t=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,u=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,v=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,w=a=>y(a)||q.has(a)||p.test(a),x=a=>L(a,"length",M),y=a=>!!a&&!Number.isNaN(Number(a)),z=a=>L(a,"number",y),A=a=>!!a&&Number.isInteger(Number(a)),B=a=>a.endsWith("%")&&y(a.slice(0,-1)),C=a=>o.test(a),D=a=>r.test(a),E=new Set(["length","size","percentage"]),F=a=>L(a,E,N),G=a=>L(a,"position",N),H=new Set(["image","url"]),I=a=>L(a,H,P),J=a=>L(a,"",O),K=()=>!0,L=(a,b,c)=>{let d=o.exec(a);return!!d&&(d[1]?"string"==typeof b?d[1]===b:b.has(d[1]):c(d[2]))},M=a=>s.test(a)&&!t.test(a),N=()=>!1,O=a=>u.test(a),P=a=>v.test(a);Symbol.toStringTag;let Q=function(a,...b){let c,g,h,m=function(j){let k;return g=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=new Map,d=new Map,e=(e,f)=>{c.set(e,f),++b>a&&(b=0,d=c,c=new Map)};return{get(a){let b=c.get(a);return void 0!==b?b:void 0!==(b=d.get(a))?(e(a,b),b):void 0},set(a,b){c.has(a)?c.set(a,b):e(a,b)}}})((k=b.reduce((a,b)=>b(a),a())).cacheSize),parseClassName:(a=>{let{separator:b,experimentalParseClassName:c}=a,d=1===b.length,e=b[0],f=b.length,g=a=>{let c,g=[],h=0,i=0;for(let j=0;j<a.length;j++){let k=a[j];if(0===h){if(k===e&&(d||a.slice(j,j+f)===b)){g.push(a.slice(i,j)),i=j+f;continue}if("/"===k){c=j;continue}}"["===k?h++:"]"===k&&h--}let j=0===g.length?a:a.substring(i),k=j.startsWith("!"),l=k?j.substring(1):j;return{modifiers:g,hasImportantModifier:k,baseClassName:l,maybePostfixModifierPosition:c&&c>i?c-i:void 0}};return c?a=>c({className:a,parseClassName:g}):g})(k),...(a=>{let b=(a=>{let{theme:b,prefix:c}=a,d={nextPart:new Map,validators:[]};return i(Object.entries(a.classGroups),c).forEach(([a,c])=>{f(c,d,a,b)}),d})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:g}=a;return{getClassGroupId:a=>{let c=a.split("-");return""===c[0]&&1!==c.length&&c.shift(),d(c,b)||(a=>{if(e.test(a)){let b=e.exec(a)[1],c=b?.substring(0,b.indexOf(":"));if(c)return"arbitrary.."+c}})(a)},getConflictingClassGroupIds:(a,b)=>{let d=c[a]||[];return b&&g[a]?[...d,...g[a]]:d}}})(k)}).cache.get,h=c.cache.set,m=n,n(j)};function n(a){let b=g(a);if(b)return b;let d=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e}=b,f=[],g=a.trim().split(k),h="";for(let a=g.length-1;a>=0;a-=1){let b=g[a],{modifiers:i,hasImportantModifier:k,baseClassName:l,maybePostfixModifierPosition:m}=c(b),n=!!m,o=d(n?l.substring(0,m):l);if(!o){if(!n||!(o=d(l))){h=b+(h.length>0?" "+h:h);continue}n=!1}let p=j(i).join(":"),q=k?p+"!":p,r=q+o;if(f.includes(r))continue;f.push(r);let s=e(o,n);for(let a=0;a<s.length;++a){let b=s[a];f.push(q+b)}h=b+(h.length>0?" "+h:h)}return h})(a,c);return h(a,d),d}return function(){return m(l.apply(null,arguments))}}(()=>{let a=n("colors"),b=n("spacing"),c=n("blur"),d=n("brightness"),e=n("borderColor"),f=n("borderRadius"),g=n("borderSpacing"),h=n("borderWidth"),i=n("contrast"),j=n("grayscale"),k=n("hueRotate"),l=n("invert"),m=n("gap"),o=n("gradientColorStops"),p=n("gradientColorStopPositions"),q=n("inset"),r=n("margin"),s=n("opacity"),t=n("padding"),u=n("saturate"),v=n("scale"),E=n("sepia"),H=n("skew"),L=n("space"),M=n("translate"),N=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],P=()=>["auto",C,b],Q=()=>[C,b],R=()=>["",w,x],S=()=>["auto",y,C],T=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],U=()=>["solid","dashed","dotted","double","none"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>["start","end","center","between","around","evenly","stretch"],X=()=>["","0",C],Y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Z=()=>[y,C];return{cacheSize:500,separator:":",theme:{colors:[K],spacing:[w,x],blur:["none","",D,C],brightness:Z(),borderColor:[a],borderRadius:["none","","full",D,C],borderSpacing:Q(),borderWidth:R(),contrast:Z(),grayscale:X(),hueRotate:Z(),invert:X(),gap:Q(),gradientColorStops:[a],gradientColorStopPositions:[B,x],inset:P(),margin:P(),opacity:Z(),padding:Q(),saturate:Z(),scale:Z(),sepia:X(),skew:Z(),space:Q(),translate:Q()},classGroups:{aspect:[{aspect:["auto","square","video",C]}],container:["container"],columns:[{columns:[D]}],"break-after":[{"break-after":Y()}],"break-before":[{"break-before":Y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...T(),C]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[q]}],"inset-x":[{"inset-x":[q]}],"inset-y":[{"inset-y":[q]}],start:[{start:[q]}],end:[{end:[q]}],top:[{top:[q]}],right:[{right:[q]}],bottom:[{bottom:[q]}],left:[{left:[q]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",A,C]}],basis:[{basis:P()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",C]}],grow:[{grow:X()}],shrink:[{shrink:X()}],order:[{order:["first","last","none",A,C]}],"grid-cols":[{"grid-cols":[K]}],"col-start-end":[{col:["auto",{span:["full",A,C]},C]}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":[K]}],"row-start-end":[{row:["auto",{span:[A,C]},C]}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",C]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",C]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...W()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...W(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...W(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[t]}],px:[{px:[t]}],py:[{py:[t]}],ps:[{ps:[t]}],pe:[{pe:[t]}],pt:[{pt:[t]}],pr:[{pr:[t]}],pb:[{pb:[t]}],pl:[{pl:[t]}],m:[{m:[r]}],mx:[{mx:[r]}],my:[{my:[r]}],ms:[{ms:[r]}],me:[{me:[r]}],mt:[{mt:[r]}],mr:[{mr:[r]}],mb:[{mb:[r]}],ml:[{ml:[r]}],"space-x":[{"space-x":[L]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[L]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",C,b]}],"min-w":[{"min-w":[C,b,"min","max","fit"]}],"max-w":[{"max-w":[C,b,"none","full","min","max","fit","prose",{screen:[D]},D]}],h:[{h:[C,b,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[C,b,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[C,b,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[C,b,"auto","min","max","fit"]}],"font-size":[{text:["base",D,x]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",z]}],"font-family":[{font:[K]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",C]}],"line-clamp":[{"line-clamp":["none",y,z]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",w,C]}],"list-image":[{"list-image":["none",C]}],"list-style-type":[{list:["none","disc","decimal",C]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[a]}],"placeholder-opacity":[{"placeholder-opacity":[s]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[a]}],"text-opacity":[{"text-opacity":[s]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",w,x]}],"underline-offset":[{"underline-offset":["auto",w,C]}],"text-decoration-color":[{decoration:[a]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",C]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",C]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[s]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...T(),G]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",F]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},I]}],"bg-color":[{bg:[a]}],"gradient-from-pos":[{from:[p]}],"gradient-via-pos":[{via:[p]}],"gradient-to-pos":[{to:[p]}],"gradient-from":[{from:[o]}],"gradient-via":[{via:[o]}],"gradient-to":[{to:[o]}],rounded:[{rounded:[f]}],"rounded-s":[{"rounded-s":[f]}],"rounded-e":[{"rounded-e":[f]}],"rounded-t":[{"rounded-t":[f]}],"rounded-r":[{"rounded-r":[f]}],"rounded-b":[{"rounded-b":[f]}],"rounded-l":[{"rounded-l":[f]}],"rounded-ss":[{"rounded-ss":[f]}],"rounded-se":[{"rounded-se":[f]}],"rounded-ee":[{"rounded-ee":[f]}],"rounded-es":[{"rounded-es":[f]}],"rounded-tl":[{"rounded-tl":[f]}],"rounded-tr":[{"rounded-tr":[f]}],"rounded-br":[{"rounded-br":[f]}],"rounded-bl":[{"rounded-bl":[f]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[s]}],"border-style":[{border:[...U(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[s]}],"divide-style":[{divide:U()}],"border-color":[{border:[e]}],"border-color-x":[{"border-x":[e]}],"border-color-y":[{"border-y":[e]}],"border-color-s":[{"border-s":[e]}],"border-color-e":[{"border-e":[e]}],"border-color-t":[{"border-t":[e]}],"border-color-r":[{"border-r":[e]}],"border-color-b":[{"border-b":[e]}],"border-color-l":[{"border-l":[e]}],"divide-color":[{divide:[e]}],"outline-style":[{outline:["",...U()]}],"outline-offset":[{"outline-offset":[w,C]}],"outline-w":[{outline:[w,x]}],"outline-color":[{outline:[a]}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[a]}],"ring-opacity":[{"ring-opacity":[s]}],"ring-offset-w":[{"ring-offset":[w,x]}],"ring-offset-color":[{"ring-offset":[a]}],shadow:[{shadow:["","inner","none",D,J]}],"shadow-color":[{shadow:[K]}],opacity:[{opacity:[s]}],"mix-blend":[{"mix-blend":[...V(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none"]}],blur:[{blur:[c]}],brightness:[{brightness:[d]}],contrast:[{contrast:[i]}],"drop-shadow":[{"drop-shadow":["","none",D,C]}],grayscale:[{grayscale:[j]}],"hue-rotate":[{"hue-rotate":[k]}],invert:[{invert:[l]}],saturate:[{saturate:[u]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[c]}],"backdrop-brightness":[{"backdrop-brightness":[d]}],"backdrop-contrast":[{"backdrop-contrast":[i]}],"backdrop-grayscale":[{"backdrop-grayscale":[j]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[k]}],"backdrop-invert":[{"backdrop-invert":[l]}],"backdrop-opacity":[{"backdrop-opacity":[s]}],"backdrop-saturate":[{"backdrop-saturate":[u]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[g]}],"border-spacing-x":[{"border-spacing-x":[g]}],"border-spacing-y":[{"border-spacing-y":[g]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",C]}],duration:[{duration:Z()}],ease:[{ease:["linear","in","out","in-out",C]}],delay:[{delay:Z()}],animate:[{animate:["none","spin","ping","pulse","bounce",C]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[v]}],"scale-x":[{"scale-x":[v]}],"scale-y":[{"scale-y":[v]}],rotate:[{rotate:[A,C]}],"translate-x":[{"translate-x":[M]}],"translate-y":[{"translate-y":[M]}],"skew-x":[{"skew-x":[H]}],"skew-y":[{"skew-y":[H]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",C]}],accent:[{accent:["auto",a]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",C]}],"caret-color":[{caret:[a]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",C]}],fill:[{fill:[a,"none"]}],"stroke-w":[{stroke:[w,x,z]}],stroke:[{stroke:[a,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})}};
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:6,errorRate:1e-4,numBits:116,numHashes:14,bitArray:[1,1,e,e,0,e,e,e,0,r,r,r,r,r,e,e,r,e,r,r,r,r,r,r,r,e,e,r,e,e,e,r,e,e,r,e,e,r,e,e,r,e,e,r,e,r,e,r,r,e,r,r,e,e,e,r,e,e,r,e,r,e,r,e,r,r,r,e,e,e,r,e,e,e,r,r,e,e,r,e,e,e,r,e,r,e,e,e,r,e,r,e,r,r,e,e,e,r,r,e,e,r,e,r,r,e,e,e,e,r,e,r,r,r,r,r]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[r,e,r,e,e,e,e,r,r,e,r,e,r,r,r,r,r,e,e,e]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[145],{1529:(e,t,l)=>{l.d(t,{o:()=>r});var n=l(5959),s=l(7671);function a(){let e={};for(let t of s.fB)e[t]={role:t,status:"pending",outputChunks:[],error:null,startedAt:null,completedAt:null,durationMs:null,tokensIn:null,tokensOut:null,activity:{kind:"idle"},lastActivityAt:null,retryCount:0};return e}let r=(0,n.v)(e=>({agents:a(),appendChunks:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],outputChunks:[...e.agents[t].outputChunks,...l]}}})),setAgentStatus:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:l}}})),setAgentStarted:t=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"running",startedAt:Date.now(),outputChunks:[],error:null,activity:{kind:"idle"},lastActivityAt:null}}})),setAgentCompleted:(t,l,n,s,a)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"completed",completedAt:Date.now(),durationMs:n,tokensIn:null!=s?s:null,tokensOut:null!=a?a:null}}})),setAgentFailed:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"failed",error:l,completedAt:Date.now()}}})),setAgentActivity:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],activity:l,lastActivityAt:Date.now()}}})),setAgentRetry:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],retryCount:l}}})),resetAll:()=>e({agents:a()})}))},3339:(e,t,l)=>{l.d(t,{Y:()=>n});let n=(0,l(5959).v)(e=>({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null,setWorkflow:(t,l)=>e({workflowId:t,title:l,status:"running",startedAt:Date.now(),completedAt:null,currentStageIndex:0}),setStatus:t=>{e("completed"===t||"failed"===t||"cancelled"===t?{status:t,completedAt:Date.now()}:{status:t})},setCurrentStage:t=>e({currentStageIndex:t}),setCompleted:()=>e({status:"completed",completedAt:Date.now()}),reset:()=>e({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null})}))},4269:(e,t,l)=>{l.d(t,{cn:()=>a});var n=l(2821),s=l(5889);function a(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return(0,s.QP)((0,n.$)(t))}},7671:(e,t,l)=>{l.d(t,{C1:()=>a,L2:()=>n,d0:()=>r,fB:()=>s});let n=[{index:0,roles:["pm"]},{index:1,roles:["rd","ui"]},{index:2,roles:["test","sec"]}],s=n.flatMap(e=>e.roles);function a(e){let t=n.find(t=>t.roles.includes(e));if(!t)throw Error("No stage found for role: ".concat(e));return t}let r={pm:{label:"PM",color:"#A855F7",timeoutMs:18e4,tools:["Read"]},rd:{label:"RD",color:"#3B82F6",timeoutMs:6e5,tools:["Read","Edit","Bash"]},ui:{label:"UI",color:"#22C55E",timeoutMs:6e5,tools:["Read","Edit","Bash"]},test:{label:"TEST",color:"#F97316",timeoutMs:6e5,tools:["Read","Edit","Bash"]},sec:{label:"SEC",color:"#EF4444",timeoutMs:3e5,tools:["Read","Bash"]}}},9145:(e,t,l)=>{l.d(t,{R:()=>p});var n=l(5155),s=l(2115),a=l(3339),r=l(1529),o=l(7671),u=l(4269);let d=s.forwardRef((e,t)=>{let{className:l,content:a,side:r="top",delayMs:o=200,children:d,...i}=e,[c,m]=s.useState(!1),x=s.useRef(null),g=s.useCallback(()=>{x.current=setTimeout(()=>m(!0),o)},[o]),f=s.useCallback(()=>{x.current&&(clearTimeout(x.current),x.current=null),m(!1)},[]);return s.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]),(0,n.jsxs)("div",{ref:t,className:(0,u.cn)("relative inline-flex",l),onMouseEnter:g,onMouseLeave:f,onFocus:g,onBlur:f,...i,children:[d,c&&a&&(0,n.jsx)("div",{role:"tooltip",className:(0,u.cn)("absolute z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95","pointer-events-none whitespace-nowrap",{top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"}[r]),children:a})]})});function i(e){return null==e?"--":"".concat(Math.round(e),"%")}function c(e){let{label:t,utilization:l,resetsAt:s,tooltipLabel:a}=e,r=(0,n.jsxs)("div",{className:"text-xs",children:[(0,n.jsx)("div",{className:"font-medium mb-0.5",children:a}),(0,n.jsxs)("div",{className:"text-muted-foreground",children:["Usage: ",i(l)]}),(0,n.jsxs)("div",{className:"text-muted-foreground",children:["Resets: ",function(e){if(!e)return"N/A";try{return new Date(e).toLocaleString("zh-TW",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}catch(e){return"N/A"}}(s)]})]});return(0,n.jsx)(d,{content:r,side:"bottom",delayMs:150,children:(0,n.jsxs)("span",{className:"".concat(null==l?"text-muted-foreground":l>80?"text-red-400":l>=50?"text-yellow-400":"text-emerald-400"," cursor-default"),"aria-label":"".concat(a,": ").concat(i(l)),children:[t,": ",i(l)]})})}function m(){var e,t,l,a,r,o,u,i,m;let{data:x,loading:g}=function(){let[e,t]=(0,s.useState)(null),[l,n]=(0,s.useState)(!0),a=(0,s.useRef)(null),r=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/usage"),l=await e.json();t(l)}catch(e){console.error("[useUsage] Failed to fetch usage:",e),t({five_hour:null,seven_day:null,seven_day_sonnet:null,error:"Network error"})}finally{n(!1)}},[]);return(0,s.useEffect)(()=>(r(),a.current=setInterval(r,6e4),()=>{a.current&&clearInterval(a.current)}),[r]),{data:e,loading:l}}();if(g)return(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Loading usage data",children:[(0,n.jsx)("span",{className:"animate-pulse opacity-50",children:"Session: --"}),(0,n.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,n.jsx)("span",{className:"animate-pulse opacity-50",children:"Week: --"}),(0,n.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,n.jsx)("span",{className:"animate-pulse opacity-50",children:"Sonnet: --"})]});let f=null!=(u=null==x||null==(e=x.five_hour)?void 0:e.utilization)?u:null,p=null!=(i=null==x||null==(t=x.seven_day)?void 0:t.utilization)?i:null,h=null!=(m=null==x||null==(l=x.seven_day_sonnet)?void 0:l.utilization)?m:null;return(null==x?void 0:x.error)&&null==f&&null==p&&null==h?(0,n.jsx)(d,{content:(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:x.error}),side:"bottom",children:(0,n.jsx)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Usage data unavailable",children:(0,n.jsx)("span",{className:"opacity-50",children:"Usage: --"})})}):(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs tabular-nums",role:"status","aria-label":"Claude Code usage metrics",children:[(0,n.jsx)(c,{label:"Session",utilization:f,resetsAt:null==x||null==(a=x.five_hour)?void 0:a.resets_at,tooltipLabel:"Current Session (5h window)"}),(0,n.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,n.jsx)(c,{label:"Week",utilization:p,resetsAt:null==x||null==(r=x.seven_day)?void 0:r.resets_at,tooltipLabel:"Weekly All Models (7 days)"}),(0,n.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,n.jsx)(c,{label:"Sonnet",utilization:h,resetsAt:null==x||null==(o=x.seven_day_sonnet)?void 0:o.resets_at,tooltipLabel:"Weekly Sonnet (7 days)"})]})}function x(e){let t=Math.floor(e/1e3),l=Math.floor(t/60);return l>0?"".concat(l,"m ").concat(t%60,"s"):"".concat(t,"s")}function g(e){let{startedAt:t}=e,[l,a]=(0,s.useState)(Date.now());return(0,s.useEffect)(()=>{let e=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(e)},[t]),(0,n.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:x(l-t)})}function f(){let{status:e,title:t,startedAt:l,completedAt:s}=(0,a.Y)(),u=(0,r.o)(e=>e.agents),d=o.fB.filter(e=>"completed"===u[e].status).length;return(0,n.jsxs)("header",{className:"h-12 border-b border-border bg-card flex items-center justify-between px-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,n.jsx)("h1",{className:"text-sm font-semibold tracking-tight whitespace-nowrap",children:"Claude Dashboard"}),t&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[300px]",children:t}),(0,n.jsx)("div",{className:"hidden md:block h-4 w-px bg-border"}),(0,n.jsx)(m,{})]}),(0,n.jsx)("div",{className:"flex items-center gap-3",children:"pending"!==e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-xs px-2 py-0.5 rounded-full font-medium ".concat({pending:"bg-gray-500/20 text-gray-400",running:"bg-emerald-500/20 text-emerald-400",paused:"bg-yellow-500/20 text-yellow-400",completed:"bg-blue-500/20 text-blue-400",failed:"bg-red-500/20 text-red-400",cancelled:"bg-gray-500/20 text-gray-400"}[e]||""),children:e.toUpperCase()}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d,"/",o.fB.length," agents"]}),l&&("running"===e||"paused"===e?(0,n.jsx)(g,{startedAt:l}):(0,n.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:x((null!=s?s:Date.now())-l)}))]})})]})}function p(e){let{children:t}=e;return(0,n.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,n.jsx)(f,{}),(0,n.jsx)("main",{className:"flex-1 overflow-hidden flex flex-col",children:t})]})}d.displayName="Tooltip"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[619],{2821:(e,r,o)=>{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(r=function e(r){var o,t,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(o=0;o<l;o++)r[o]&&(t=e(r[o]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}(e))&&(t&&(t+=" "),t+=r);return t}},5889:(e,r,o)=>{o.d(r,{QP:()=>Q});let t=(e,r)=>{if(0===e.length)return r.classGroupId;let o=e[0],n=r.nextPart.get(o),l=n?t(e.slice(1),n):void 0;if(l)return l;if(0===r.validators.length)return;let s=e.join("-");return r.validators.find(({validator:e})=>e(s))?.classGroupId},n=/^\[(.+)\]$/,l=(e,r,o,t)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:s(r,e)).classGroupId=o;return}if("function"==typeof e)return a(e)?void l(e(t),r,o,t):void r.validators.push({validator:e,classGroupId:o});Object.entries(e).forEach(([e,n])=>{l(n,s(r,e),o,t)})})},s=(e,r)=>{let o=e;return r.split("-").forEach(e=>{o.nextPart.has(e)||o.nextPart.set(e,{nextPart:new Map,validators:[]}),o=o.nextPart.get(e)}),o},a=e=>e.isThemeGetter,i=(e,r)=>r?e.map(([e,o])=>[e,o.map(e=>"string"==typeof e?r+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,o])=>[r+e,o])):e)]):e,d=e=>{if(e.length<=1)return e;let r=[],o=[];return e.forEach(e=>{"["===e[0]?(r.push(...o.sort(),e),o=[]):o.push(e)}),r.push(...o.sort()),r},c=/\s+/;function p(){let e,r,o=0,t="";for(;o<arguments.length;)(e=arguments[o++])&&(r=u(e))&&(t&&(t+=" "),t+=r);return t}let u=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=u(e[t]))&&(o&&(o+=" "),o+=r);return o},b=e=>{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},f=/^\[(?:([a-z-]+):)?(.+)\]$/i,g=/^\d+\/\d+$/,m=new Set(["px","full","screen"]),h=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,y=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,x=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,v=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,w=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,k=e=>j(e)||m.has(e)||g.test(e),z=e=>W(e,"length",T),j=e=>!!e&&!Number.isNaN(Number(e)),S=e=>W(e,"number",j),C=e=>!!e&&Number.isInteger(Number(e)),G=e=>e.endsWith("%")&&j(e.slice(0,-1)),P=e=>f.test(e),E=e=>h.test(e),N=new Set(["length","size","percentage"]),I=e=>W(e,N,q),O=e=>W(e,"position",q),$=new Set(["image","url"]),M=e=>W(e,$,D),_=e=>W(e,"",A),R=()=>!0,W=(e,r,o)=>{let t=f.exec(e);return!!t&&(t[1]?"string"==typeof r?t[1]===r:r.has(t[1]):o(t[2]))},T=e=>y.test(e)&&!x.test(e),q=()=>!1,A=e=>v.test(e),D=e=>w.test(e);Symbol.toStringTag;let Q=function(e,...r){let o,s,a,u=function(d){let c;return s=(o={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=new Map,t=new Map,n=(n,l)=>{o.set(n,l),++r>e&&(r=0,t=o,o=new Map)};return{get(e){let r=o.get(e);return void 0!==r?r:void 0!==(r=t.get(e))?(n(e,r),r):void 0},set(e,r){o.has(e)?o.set(e,r):n(e,r)}}})((c=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{separator:r,experimentalParseClassName:o}=e,t=1===r.length,n=r[0],l=r.length,s=e=>{let o,s=[],a=0,i=0;for(let d=0;d<e.length;d++){let c=e[d];if(0===a){if(c===n&&(t||e.slice(d,d+l)===r)){s.push(e.slice(i,d)),i=d+l;continue}if("/"===c){o=d;continue}}"["===c?a++:"]"===c&&a--}let d=0===s.length?e:e.substring(i),c=d.startsWith("!"),p=c?d.substring(1):d;return{modifiers:s,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:o&&o>i?o-i:void 0}};return o?e=>o({className:e,parseClassName:s}):s})(c),...(e=>{let r=(e=>{let{theme:r,prefix:o}=e,t={nextPart:new Map,validators:[]};return i(Object.entries(e.classGroups),o).forEach(([e,o])=>{l(o,t,e,r)}),t})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{let o=e.split("-");return""===o[0]&&1!==o.length&&o.shift(),t(o,r)||(e=>{if(n.test(e)){let r=n.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}})(e)},getConflictingClassGroupIds:(e,r)=>{let t=o[e]||[];return r&&s[e]?[...t,...s[e]]:t}}})(c)}).cache.get,a=o.cache.set,u=b,b(d)};function b(e){let r=s(e);if(r)return r;let t=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:n}=r,l=[],s=e.trim().split(c),a="";for(let e=s.length-1;e>=0;e-=1){let r=s[e],{modifiers:i,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:u}=o(r),b=!!u,f=t(b?p.substring(0,u):p);if(!f){if(!b||!(f=t(p))){a=r+(a.length>0?" "+a:a);continue}b=!1}let g=d(i).join(":"),m=c?g+"!":g,h=m+f;if(l.includes(h))continue;l.push(h);let y=n(f,b);for(let e=0;e<y.length;++e){let r=y[e];l.push(m+r)}a=r+(a.length>0?" "+a:a)}return a})(e,o);return a(e,t),t}return function(){return u(p.apply(null,arguments))}}(()=>{let e=b("colors"),r=b("spacing"),o=b("blur"),t=b("brightness"),n=b("borderColor"),l=b("borderRadius"),s=b("borderSpacing"),a=b("borderWidth"),i=b("contrast"),d=b("grayscale"),c=b("hueRotate"),p=b("invert"),u=b("gap"),f=b("gradientColorStops"),g=b("gradientColorStopPositions"),m=b("inset"),h=b("margin"),y=b("opacity"),x=b("padding"),v=b("saturate"),w=b("scale"),N=b("sepia"),$=b("skew"),W=b("space"),T=b("translate"),q=()=>["auto","contain","none"],A=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto",P,r],Q=()=>[P,r],V=()=>["",k,z],B=()=>["auto",j,P],F=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],H=()=>["solid","dashed","dotted","double","none"],J=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>["start","end","center","between","around","evenly","stretch"],L=()=>["","0",P],U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],X=()=>[j,P];return{cacheSize:500,separator:":",theme:{colors:[R],spacing:[k,z],blur:["none","",E,P],brightness:X(),borderColor:[e],borderRadius:["none","","full",E,P],borderSpacing:Q(),borderWidth:V(),contrast:X(),grayscale:L(),hueRotate:X(),invert:L(),gap:Q(),gradientColorStops:[e],gradientColorStopPositions:[G,z],inset:D(),margin:D(),opacity:X(),padding:Q(),saturate:X(),scale:X(),sepia:L(),skew:X(),space:Q(),translate:Q()},classGroups:{aspect:[{aspect:["auto","square","video",P]}],container:["container"],columns:[{columns:[E]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...F(),P]}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:q()}],"overscroll-x":[{"overscroll-x":q()}],"overscroll-y":[{"overscroll-y":q()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",C,P]}],basis:[{basis:D()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",P]}],grow:[{grow:L()}],shrink:[{shrink:L()}],order:[{order:["first","last","none",C,P]}],"grid-cols":[{"grid-cols":[R]}],"col-start-end":[{col:["auto",{span:["full",C,P]},P]}],"col-start":[{"col-start":B()}],"col-end":[{"col-end":B()}],"grid-rows":[{"grid-rows":[R]}],"row-start-end":[{row:["auto",{span:[C,P]},P]}],"row-start":[{"row-start":B()}],"row-end":[{"row-end":B()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",P]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",P]}],gap:[{gap:[u]}],"gap-x":[{"gap-x":[u]}],"gap-y":[{"gap-y":[u]}],"justify-content":[{justify:["normal",...K()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...K(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...K(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[x]}],px:[{px:[x]}],py:[{py:[x]}],ps:[{ps:[x]}],pe:[{pe:[x]}],pt:[{pt:[x]}],pr:[{pr:[x]}],pb:[{pb:[x]}],pl:[{pl:[x]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],"space-x":[{"space-x":[W]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[W]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",P,r]}],"min-w":[{"min-w":[P,r,"min","max","fit"]}],"max-w":[{"max-w":[P,r,"none","full","min","max","fit","prose",{screen:[E]},E]}],h:[{h:[P,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[P,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[P,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[P,r,"auto","min","max","fit"]}],"font-size":[{text:["base",E,z]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",S]}],"font-family":[{font:[R]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",P]}],"line-clamp":[{"line-clamp":["none",j,S]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",k,P]}],"list-image":[{"list-image":["none",P]}],"list-style-type":[{list:["none","disc","decimal",P]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...H(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",k,z]}],"underline-offset":[{"underline-offset":["auto",k,P]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",P]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",P]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...F(),O]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",I]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},M]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...H(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:H()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...H()]}],"outline-offset":[{"outline-offset":[k,P]}],"outline-w":[{outline:[k,z]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:V()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[k,z]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",E,_]}],"shadow-color":[{shadow:[R]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...J(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":J()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[t]}],contrast:[{contrast:[i]}],"drop-shadow":[{"drop-shadow":["","none",E,P]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[p]}],saturate:[{saturate:[v]}],sepia:[{sepia:[N]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[t]}],"backdrop-contrast":[{"backdrop-contrast":[i]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",P]}],duration:[{duration:X()}],ease:[{ease:["linear","in","out","in-out",P]}],delay:[{delay:X()}],animate:[{animate:["none","spin","ping","pulse","bounce",P]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[C,P]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[$]}],"skew-y":[{"skew-y":[$]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",P]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",P]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",P]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[k,z,S]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})},5959:(e,r,o)=>{o.d(r,{v:()=>s});var t=o(2115);let n=e=>{let r,o=new Set,t=(e,t)=>{let n="function"==typeof e?e(r):e;if(!Object.is(n,r)){let e=r;r=(null!=t?t:"object"!=typeof n||null===n)?n:Object.assign({},r,n),o.forEach(o=>o(r,e))}},n=()=>r,l={setState:t,getState:n,getInitialState:()=>s,subscribe:e=>(o.add(e),()=>o.delete(e))},s=r=e(t,n,l);return l},l=e=>{let r=(e=>e?n(e):n)(e),o=e=>(function(e,r=e=>e){let o=t.useSyncExternalStore(e.subscribe,t.useCallback(()=>r(e.getState()),[e,r]),t.useCallback(()=>r(e.getInitialState()),[e,r]));return t.useDebugValue(o),o})(r,e);return Object.assign(o,r),o},s=e=>e?l(e):l}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[429],{4550:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n});var r=s(5155),l=s(9145),a=s(2115);let o={pending:"text-gray-400",running:"text-emerald-400",paused:"text-yellow-400",completed:"text-blue-400",failed:"text-red-400",cancelled:"text-gray-500"};function d(){let[e,t]=(0,a.useState)([]),[s,l]=(0,a.useState)(!0),[d,n]=(0,a.useState)(null);return((0,a.useEffect)(()=>{fetch("/api/workflows").then(e=>{if(!e.ok)throw Error("HTTP ".concat(e.status));return e.json()}).then(e=>{t(e.workflows||[]),l(!1)}).catch(e=>{n(e.message||"Failed to load workflows"),l(!1)})},[]),s)?(0,r.jsx)("div",{className:"flex items-center justify-center p-8 text-sm text-muted-foreground",children:"Loading..."}):d?(0,r.jsxs)("div",{className:"flex items-center justify-center p-8 text-sm text-red-400",children:["Failed to load workflows: ",d]}):0===e.length?(0,r.jsx)("div",{className:"flex items-center justify-center p-8 text-sm text-muted-foreground",children:"No workflows yet. Start one from the Dashboard."}):(0,r.jsx)("div",{className:"overflow-auto",children:(0,r.jsxs)("table",{className:"w-full text-sm",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"border-b border-border text-muted-foreground",children:[(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Title"}),(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Status"}),(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Created"}),(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Duration"})]})}),(0,r.jsx)("tbody",{children:e.map(e=>(0,r.jsxs)("tr",{className:"border-b border-border/50 hover:bg-white/5 cursor-pointer",children:[(0,r.jsx)("td",{className:"py-2 px-3 truncate max-w-[400px]",children:e.title}),(0,r.jsx)("td",{className:"py-2 px-3 ".concat(o[e.status]||""),children:e.status}),(0,r.jsx)("td",{className:"py-2 px-3 text-muted-foreground",children:new Date(e.createdAt).toLocaleString()}),(0,r.jsx)("td",{className:"py-2 px-3 text-muted-foreground",children:e.completedAt?function(e){let t=Math.floor(e/1e3),s=Math.floor(t/60);return s>0?"".concat(s,"m ").concat(t%60,"s"):"".concat(t,"s")}(new Date(e.completedAt).getTime()-new Date(e.createdAt).getTime()):"-"})]},e.id))})]})})}function n(){return(0,r.jsx)(l.R,{children:(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Workflow History"}),(0,r.jsx)(d,{})]})})}},5952:(e,t,s)=>{Promise.resolve().then(s.bind(s,4550))}},e=>{e.O(0,[619,145,441,255,358],()=>e(e.s=5952)),_N_E=e.O()}]);