@cluesmith/codev 2.0.0-rc.55 → 2.0.0-rc.57

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 (41) hide show
  1. package/dashboard/dist/assets/{index-BIHeqvy0.css → index-BV7KQvFU.css} +1 -1
  2. package/dashboard/dist/assets/index-bhDjF0Oa.js +131 -0
  3. package/dashboard/dist/assets/index-bhDjF0Oa.js.map +1 -0
  4. package/dashboard/dist/index.html +2 -2
  5. package/dist/agent-farm/commands/open.d.ts +4 -2
  6. package/dist/agent-farm/commands/open.d.ts.map +1 -1
  7. package/dist/agent-farm/commands/open.js +37 -70
  8. package/dist/agent-farm/commands/open.js.map +1 -1
  9. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  10. package/dist/agent-farm/commands/send.js +55 -17
  11. package/dist/agent-farm/commands/send.js.map +1 -1
  12. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/spawn.js +31 -20
  14. package/dist/agent-farm/commands/spawn.js.map +1 -1
  15. package/dist/agent-farm/commands/stop.js +1 -1
  16. package/dist/agent-farm/commands/stop.js.map +1 -1
  17. package/dist/agent-farm/servers/tower-server.js +763 -62
  18. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  19. package/dist/agent-farm/types.d.ts +0 -1
  20. package/dist/agent-farm/types.d.ts.map +1 -1
  21. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  22. package/dist/agent-farm/utils/config.js +1 -3
  23. package/dist/agent-farm/utils/config.js.map +1 -1
  24. package/dist/agent-farm/utils/port-registry.d.ts +0 -1
  25. package/dist/agent-farm/utils/port-registry.d.ts.map +1 -1
  26. package/dist/agent-farm/utils/port-registry.js +1 -1
  27. package/dist/agent-farm/utils/port-registry.js.map +1 -1
  28. package/package.json +1 -1
  29. package/skeleton/protocols/bugfix/prompts/fix.md +77 -0
  30. package/skeleton/protocols/bugfix/prompts/investigate.md +77 -0
  31. package/skeleton/protocols/bugfix/prompts/pr.md +61 -0
  32. package/skeleton/protocols/bugfix/protocol.json +5 -0
  33. package/skeleton/protocols/spider/prompts/plan.md +4 -68
  34. package/skeleton/protocols/spider/prompts/review.md +5 -23
  35. package/skeleton/protocols/spider/prompts/specify.md +4 -57
  36. package/dashboard/dist/assets/index-VvUWRPNP.js +0 -120
  37. package/dashboard/dist/assets/index-VvUWRPNP.js.map +0 -1
  38. package/dist/agent-farm/servers/open-server.d.ts +0 -7
  39. package/dist/agent-farm/servers/open-server.d.ts.map +0 -1
  40. package/dist/agent-farm/servers/open-server.js +0 -315
  41. package/dist/agent-farm/servers/open-server.js.map +0 -1
@@ -29,4 +29,4 @@
29
29
  * The original design remains. The terminal itself
30
30
  * has been extended to include xterm CSI codes, among
31
31
  * other features.
32
- */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2a2a2a;--bg-hover: #333333;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: #333333;--accent: #3b82f6;--accent-hover: #2563eb;--status-active: #22c55e;--status-waiting: #eab308;--status-error: #ef4444;--status-implementing: #f97316}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.fullscreen-terminal{height:100vh;width:100vw;overflow:hidden}.fullscreen-terminal>div{height:100%;width:100%}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:40px;flex-shrink:0}.app-title{font-size:14px;font-weight:600;color:var(--text-primary)}.header-meta{font-size:12px;color:var(--text-secondary)}.app-body{flex:1;overflow:hidden}.split-pane{display:flex;height:100%;width:100%}.split-left,.split-right{height:100%;overflow:hidden}.split-handle{width:4px;cursor:col-resize;background:var(--border-color);flex-shrink:0}.split-handle:hover{background:var(--accent)}.right-panel{display:flex;flex-direction:column;height:100%}.tab-bar{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;height:34px}.tab{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;font-family:inherit}.tab:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-active{color:var(--text-primary);border-bottom-color:var(--accent)}.tab-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tab-close{font-size:14px;line-height:1;opacity:.5;padding:0 2px;border-radius:3px}.tab-close:hover{opacity:1;background:var(--bg-hover)}.tab-content{flex:1;overflow:hidden}.terminal-iframe{display:block}.dashboard-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;height:100%}.projects-info{padding:16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:13px;line-height:1.5;color:var(--text-secondary);flex-shrink:0}.projects-info h1{color:var(--text-primary)}.projects-info a{color:var(--accent);text-decoration:none}.projects-info a:hover{text-decoration:underline}.dashboard-header{display:flex;gap:16px;padding:16px;flex:1;min-height:0}@media(max-width:900px){.dashboard-header{flex-direction:column}}.dashboard-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.dashboard-section.section-tabs,.dashboard-section.section-files{flex:1}.dashboard-section.section-projects{flex:0 0 auto;margin:0 16px 16px;max-height:50%;overflow-y:auto}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;border-bottom:1px solid var(--border-color)}.dashboard-section-header:hover{background:var(--bg-tertiary)}.dashboard-section-header h3{font-size:12px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin:0;display:flex;align-items:center;gap:6px;font-weight:600}.collapse-icon{font-size:10px;transition:transform .2s}.dashboard-section.collapsed .collapse-icon{transform:rotate(-90deg)}.dashboard-section.collapsed .dashboard-section-header{border-bottom:none}.header-actions{display:flex;gap:4px}.header-actions button{padding:4px 8px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:inherit}.header-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.dashboard-section-content{flex:1;overflow-y:auto;padding:8px 12px}.dashboard-tabs-list{flex:1;overflow-y:auto}.dashboard-tab-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.dashboard-tab-item:hover{background:var(--bg-tertiary)}.dashboard-tab-item .tab-icon{font-size:14px;flex-shrink:0}.dashboard-tab-item .tab-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-section-content .file-tree{height:auto;max-height:none}.project-table{width:100%;border-collapse:collapse;font-size:12px}.project-table th{text-align:center;padding:6px 8px;font-size:10px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color);font-weight:600}.project-table th:nth-child(1),.project-table th:nth-child(2){text-align:left}.project-table td{padding:6px 8px;border-bottom:1px solid var(--border-color)}.project-id{color:var(--text-muted);font-family:monospace;font-size:11px}.project-name{color:var(--text-primary)}.project-stage{text-align:center}.project-cell{display:flex;align-items:center;gap:8px}.project-id{color:var(--text-muted);font-family:monospace;font-size:11px;flex-shrink:0}.project-title{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-terminal-status{color:var(--text-muted);font-size:11px;font-style:italic}.checkmark{color:var(--status-active);font-weight:700;font-size:12px}.current-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--status-implementing);background:transparent}.celebration{font-size:14px}.project-stage a{color:var(--accent);text-decoration:none;font-size:10px}.project-stage a:hover{text-decoration:underline}.project-section{margin-bottom:8px}.project-section summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);padding:6px 0;-webkit-user-select:none;user-select:none}.section-count{color:var(--text-muted);font-weight:400}.projects-welcome{padding:16px;color:var(--text-muted);font-size:13px}.projects-error{padding:12px;color:var(--status-error);display:flex;align-items:center;gap:8px}.projects-error button{padding:4px 8px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:11px}.builder-card{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px}.builder-header{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;margin-left:6px;background:var(--text-muted)}.status-active,.status-running{background:var(--status-active)}.status-waiting,.status-idle{background:var(--status-waiting)}.status-error,.status-failed{background:var(--status-error)}.status-implementing{background:var(--status-implementing)}.builder-name{font-size:13px;font-weight:500}.builder-meta{margin-top:4px;display:flex;gap:8px;font-size:11px;color:var(--text-secondary)}.file-tree{padding:8px;overflow-y:auto;height:100%}.file-node{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-size:12px;border-radius:4px}.file-node:hover{background:var(--bg-hover)}.file-icon{font-size:14px;flex-shrink:0}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-error,.file-tree-loading{padding:16px;color:var(--text-muted);font-size:12px}.status-bar{display:flex;gap:16px;padding:4px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);flex-shrink:0;height:24px;align-items:center}.no-architect{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.mobile-layout{display:flex;flex-direction:column;height:100vh}.mobile-content{flex:1;overflow:hidden}@media(max-width:768px){.app-header{padding:6px 12px}.tab{padding:4px 8px;font-size:11px}}
32
+ */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2a2a2a;--bg-hover: #333333;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: #333333;--accent: #3b82f6;--accent-hover: #2563eb;--status-active: #22c55e;--status-waiting: #eab308;--status-error: #ef4444;--status-implementing: #f97316}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.fullscreen-terminal{height:100vh;width:100vw;overflow:hidden}.fullscreen-terminal>div{height:100%;width:100%}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:40px;flex-shrink:0}.app-title{font-size:14px;font-weight:600;color:var(--text-primary)}.header-meta{font-size:12px;color:var(--text-secondary)}.app-body{flex:1;overflow:hidden}.split-pane{display:flex;height:100%;width:100%}.split-left,.split-right{height:100%;overflow:hidden}.split-handle{width:4px;cursor:col-resize;background:var(--border-color);flex-shrink:0}.split-handle:hover{background:var(--accent)}.right-panel{display:flex;flex-direction:column;height:100%}.tab-bar{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;height:34px}.tab{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;font-family:inherit}.tab:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-active{color:var(--text-primary);border-bottom-color:var(--accent)}.tab-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tab-close{font-size:14px;line-height:1;opacity:.5;padding:0 2px;border-radius:3px}.tab-close:hover{opacity:1;background:var(--bg-hover)}.tab-content{flex:1;overflow:hidden}.terminal-iframe{display:block}.dashboard-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;height:100%}.projects-info{padding:16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:13px;line-height:1.5;color:var(--text-secondary);flex-shrink:0}.projects-info h1{color:var(--text-primary)}.projects-info a{color:var(--accent);text-decoration:none}.projects-info a:hover{text-decoration:underline}.dashboard-header{display:flex;gap:16px;padding:16px;flex:1;min-height:0}@media(max-width:900px){.dashboard-header{flex-direction:column}}.dashboard-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.dashboard-section.section-tabs,.dashboard-section.section-files{flex:1}.dashboard-section.section-projects{flex:0 0 auto;margin:0 16px 16px;max-height:50%;overflow-y:auto}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;border-bottom:1px solid var(--border-color)}.dashboard-section-header:hover{background:var(--bg-tertiary)}.dashboard-section-header h3{font-size:12px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin:0;display:flex;align-items:center;gap:6px;font-weight:600}.collapse-icon{font-size:10px;transition:transform .2s}.dashboard-section.collapsed .collapse-icon{transform:rotate(-90deg)}.dashboard-section.collapsed .dashboard-section-header{border-bottom:none}.header-actions{display:flex;gap:4px}.header-actions button{padding:4px 8px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:inherit}.header-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.dashboard-section-content{flex:1;overflow-y:auto;padding:8px 12px}.dashboard-tabs-list{flex:1;overflow-y:auto}.dashboard-tab-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.dashboard-tab-item:hover{background:var(--bg-tertiary)}.dashboard-tab-item .tab-icon{font-size:14px;flex-shrink:0}.dashboard-tab-item .tab-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-section-content .file-tree{height:auto;max-height:none}.project-table{width:100%;border-collapse:collapse;font-size:12px}.project-table th{text-align:center;padding:6px 8px;font-size:10px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color);font-weight:600}.project-table th:nth-child(1),.project-table th:nth-child(2){text-align:left}.project-table td{padding:6px 8px;border-bottom:1px solid var(--border-color)}.project-id{color:var(--text-muted);font-family:monospace;font-size:11px}.project-name{color:var(--text-primary)}.project-stage{text-align:center}.project-cell{display:flex;align-items:center;gap:8px}.project-id{color:var(--text-muted);font-family:monospace;font-size:11px;flex-shrink:0}.project-title{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-terminal-status{color:var(--text-muted);font-size:11px;font-style:italic}.checkmark{color:var(--status-active);font-weight:700;font-size:12px}.current-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--status-implementing);background:transparent}.celebration{font-size:14px}.project-stage a{color:var(--accent);text-decoration:none;font-size:10px}.project-stage a:hover{text-decoration:underline}.project-section{margin-bottom:8px}.project-section summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);padding:6px 0;-webkit-user-select:none;user-select:none}.section-count{color:var(--text-muted);font-weight:400}.projects-welcome{padding:16px;color:var(--text-muted);font-size:13px}.projects-error{padding:12px;color:var(--status-error);display:flex;align-items:center;gap:8px}.projects-error button{padding:4px 8px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:11px}.builder-card{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px}.builder-header{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;margin-left:6px;background:var(--text-muted)}.status-active,.status-running{background:var(--status-active)}.status-waiting,.status-idle{background:var(--status-waiting)}.status-error,.status-failed{background:var(--status-error)}.status-implementing{background:var(--status-implementing)}.builder-name{font-size:13px;font-weight:500}.builder-meta{margin-top:4px;display:flex;gap:8px;font-size:11px;color:var(--text-secondary)}.file-tree{padding:8px;overflow-y:auto;height:100%}.file-node{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-size:12px;border-radius:4px}.file-node:hover{background:var(--bg-hover)}.file-icon{font-size:14px;flex-shrink:0}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-error,.file-tree-loading{padding:16px;color:var(--text-muted);font-size:12px}.status-bar{display:flex;gap:16px;padding:4px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);flex-shrink:0;height:24px;align-items:center}.no-architect{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.mobile-layout{display:flex;flex-direction:column;height:100vh}.mobile-content{flex:1;overflow:hidden}@media(max-width:768px){.app-header{padding:6px 12px}.tab{padding:4px 8px;font-size:11px}}.file-viewer{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.file-loading,.file-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.file-error{color:var(--status-error)}.file-header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.file-path{font-family:monospace;font-size:12px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-language{font-size:11px;color:var(--text-muted);text-transform:uppercase}.file-save-btn{padding:4px 12px;font-size:11px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.file-save-btn:hover{background:var(--accent-hover)}.file-save-btn:disabled{opacity:.5;cursor:not-allowed}.file-content{display:flex;flex:1;overflow:auto;background:var(--bg-primary)}.line-numbers{display:flex;flex-direction:column;padding:12px 8px;background:var(--bg-secondary);color:var(--text-muted);font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:40px}.line-number{padding-right:8px}.line-number.highlighted-line{background:#3b82f64d}.file-text{flex:1;padding:12px;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;background:var(--bg-primary);color:var(--text-primary);border:none;outline:none;resize:none;white-space:pre;overflow:auto}.file-image-container,.file-video-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px}.file-image{max-width:100%;max-height:100%;object-fit:contain}.file-video{max-width:100%;max-height:100%}.file-tree-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.file-search{position:relative;padding:8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.file-search-input{width:100%;padding:6px 10px;font-size:12px;font-family:inherit;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);outline:none}.file-search-input:focus{border-color:var(--accent)}.file-search-input::placeholder{color:var(--text-muted)}.file-search-suggestions{position:absolute;top:100%;left:8px;right:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:100;max-height:240px;overflow-y:auto}.file-search-suggestion{display:flex;flex-direction:column;padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--border-color)}.file-search-suggestion:last-child{border-bottom:none}.file-search-suggestion:hover{background:var(--bg-hover)}.suggestion-name{font-size:12px;color:var(--text-primary);font-weight:500}.suggestion-path{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-section{display:flex;flex-direction:column;overflow:hidden}.file-tree-section:first-of-type{flex-shrink:0}.file-tree-section:last-of-type{flex:1;overflow:hidden}.file-tree-section-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color);flex-shrink:0}.recent-file{color:var(--text-secondary)}.recent-file:hover{color:var(--text-primary)}.file-path-hint{font-size:10px;color:var(--text-muted);margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-indicator{font-family:monospace;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:auto;flex-shrink:0}.git-modified{color:var(--status-implementing);background:#f9731626}.git-staged{color:var(--status-active);background:#22c55e26}.git-untracked{color:var(--text-muted);background:#66666626}