Spaces:
Running
Running
Fix run command (hf, not huggingface-cli) + brighter dark mode
Browse filesThe user's terminal showed 'huggingface-cli: command not found' on a fresh
machine. huggingface-cli was deprecated and replaced by 'hf' in
huggingface_hub 1.x. Updated the run-this-task bubble to use:
hf download <id> --repo-type dataset --local-dir <dir> && harbor run ...
Tested end-to-end with the actual dataset (AdithyaSK/dabstep-harbor, task 12):
hf download pulled the full Harbor layout (task.toml/environment/solution/tests).
Dark mode: brighter palette + more visible borders, accents, section headers.
Pop the HF accent and lift the muted/faint text so titles like 'TASKS 450'
and file-tree headers read clearly instead of disappearing into the bg.
- static/app.js +3 -2
- static/style.css +10 -9
static/app.js
CHANGED
|
@@ -249,9 +249,10 @@ function langFor(path) {
|
|
| 249 |
function harborCmd(kind, ident, taskId) {
|
| 250 |
if (kind === 'gh') return `harbor run --task-git-url https://github.com/${ident}.git -i ${taskId} -a oracle`;
|
| 251 |
if (kind === 'local') return `harbor run -p ${ident} -i ${taskId} -a oracle`;
|
| 252 |
-
// hf: pull from the Hub, then run the single task with the oracle agent
|
|
|
|
| 253 |
const dir = ident.split('/').pop();
|
| 254 |
-
return `
|
| 255 |
}
|
| 256 |
|
| 257 |
// Unified dataset+task workspace: tasks side-panel (master) + file tree + content (detail).
|
|
|
|
| 249 |
function harborCmd(kind, ident, taskId) {
|
| 250 |
if (kind === 'gh') return `harbor run --task-git-url https://github.com/${ident}.git -i ${taskId} -a oracle`;
|
| 251 |
if (kind === 'local') return `harbor run -p ${ident} -i ${taskId} -a oracle`;
|
| 252 |
+
// hf: pull from the Hub, then run the single task with the oracle agent.
|
| 253 |
+
// Uses the new `hf` CLI (huggingface_hub 1.x; `huggingface-cli` is deprecated).
|
| 254 |
const dir = ident.split('/').pop();
|
| 255 |
+
return `hf download ${ident} --repo-type dataset --local-dir ${dir} && harbor run -p ${dir} -i ${taskId} -a oracle`;
|
| 256 |
}
|
| 257 |
|
| 258 |
// Unified dataset+task workspace: tasks side-panel (master) + file tree + content (detail).
|
static/style.css
CHANGED
|
@@ -11,13 +11,13 @@
|
|
| 11 |
--radius: 10px; --nav-h: 56px; --maxw: 1500px;
|
| 12 |
}
|
| 13 |
:root[data-theme="dark"] {
|
| 14 |
-
--bg: #
|
| 15 |
-
--border: #
|
| 16 |
-
--text: #
|
| 17 |
-
--accent: #
|
| 18 |
-
--hf-yellow: #ffd21e; --hf-orange: #
|
| 19 |
-
--ok: #
|
| 20 |
-
--hover: #
|
| 21 |
}
|
| 22 |
* { box-sizing: border-box; }
|
| 23 |
html, body { margin: 0; padding: 0; overflow-x: hidden; max-width: 100%; }
|
|
@@ -173,7 +173,7 @@ h2 { font-size: 18px; font-weight: 600; margin: 0 0 12px; }
|
|
| 173 |
border-radius: var(--radius); overflow: hidden; min-height: 70vh; }
|
| 174 |
.tree { border-right: 1px solid var(--border); background: var(--panel); overflow: auto; max-height: 80vh; }
|
| 175 |
.tree .thead2 { padding: 11px 16px; font-size: 11px; letter-spacing: .8px; text-transform: uppercase;
|
| 176 |
-
color: var(--
|
| 177 |
.tnode { display: flex; align-items: center; gap: 7px; padding: 6px 14px; cursor: pointer; font-size: 13px;
|
| 178 |
color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
| 179 |
.tnode:hover { background: var(--hover); color: var(--text); }
|
|
@@ -192,7 +192,8 @@ h2 { font-size: 18px; font-weight: 600; margin: 0 0 12px; }
|
|
| 192 |
.tasks-panel { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid var(--border);
|
| 193 |
background: var(--panel-2); overflow: hidden; transition: opacity .15s ease; }
|
| 194 |
.tasks-panel .tp-head { padding: 11px 14px; font-size: 11px; letter-spacing: .8px; text-transform: uppercase;
|
| 195 |
-
color: var(--
|
|
|
|
| 196 |
.tasks-panel .tp-search { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border-bottom: 1px solid var(--border); flex: none; }
|
| 197 |
.tasks-panel .tp-search svg { width: 14px; height: 14px; color: var(--faint); flex: none; }
|
| 198 |
.tasks-panel .tp-search input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: var(--text); font-family: var(--mono); font-size: 12.5px; }
|
|
|
|
| 11 |
--radius: 10px; --nav-h: 56px; --maxw: 1500px;
|
| 12 |
}
|
| 13 |
:root[data-theme="dark"] {
|
| 14 |
+
--bg: #0a0c14; --panel: #14171f; --panel-2: #1e2230;
|
| 15 |
+
--border: #2c3245; --border-strong: #424a63;
|
| 16 |
+
--text: #f6f7fa; --muted: #b8bdc9; --faint: #7e8597;
|
| 17 |
+
--accent: #ffc266; --accent-soft: rgba(255,194,102,.18);
|
| 18 |
+
--hf-yellow: #ffd21e; --hf-orange: #ffa320;
|
| 19 |
+
--ok: #5af08a; --warn: #ffc94a; --err: #ff7a7a;
|
| 20 |
+
--hover: #1f2433;
|
| 21 |
}
|
| 22 |
* { box-sizing: border-box; }
|
| 23 |
html, body { margin: 0; padding: 0; overflow-x: hidden; max-width: 100%; }
|
|
|
|
| 173 |
border-radius: var(--radius); overflow: hidden; min-height: 70vh; }
|
| 174 |
.tree { border-right: 1px solid var(--border); background: var(--panel); overflow: auto; max-height: 80vh; }
|
| 175 |
.tree .thead2 { padding: 11px 16px; font-size: 11px; letter-spacing: .8px; text-transform: uppercase;
|
| 176 |
+
color: var(--muted); font-weight: 600; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--panel); }
|
| 177 |
.tnode { display: flex; align-items: center; gap: 7px; padding: 6px 14px; cursor: pointer; font-size: 13px;
|
| 178 |
color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
| 179 |
.tnode:hover { background: var(--hover); color: var(--text); }
|
|
|
|
| 192 |
.tasks-panel { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid var(--border);
|
| 193 |
background: var(--panel-2); overflow: hidden; transition: opacity .15s ease; }
|
| 194 |
.tasks-panel .tp-head { padding: 11px 14px; font-size: 11px; letter-spacing: .8px; text-transform: uppercase;
|
| 195 |
+
color: var(--muted); border-bottom: 1px solid var(--border); flex: none; font-weight: 600; }
|
| 196 |
+
.tasks-panel .tp-head .faint { color: var(--faint); font-weight: 400; }
|
| 197 |
.tasks-panel .tp-search { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border-bottom: 1px solid var(--border); flex: none; }
|
| 198 |
.tasks-panel .tp-search svg { width: 14px; height: 14px; color: var(--faint); flex: none; }
|
| 199 |
.tasks-panel .tp-search input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: var(--text); font-family: var(--mono); font-size: 12.5px; }
|