@atolis-hq/wake 0.2.82 → 0.2.84
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.
|
@@ -89,6 +89,7 @@ export const indexHtml = `<!DOCTYPE html>
|
|
|
89
89
|
.card-error { border-left: 3px solid #ff8f7f; }
|
|
90
90
|
.chip { display: inline-block; background: #2c313a; border-radius: 4px; padding: 0.05rem 0.35rem; font-size: 0.68rem; margin-right: 0.2rem; }
|
|
91
91
|
.chip-label { background: transparent; border: 1px solid #3a4150; color: #9aa2ad; margin-bottom: 0.2rem; }
|
|
92
|
+
.chip-meta { border: 1px solid #3a4150; color: #cbd5e1; margin-bottom: 0.2rem; }
|
|
92
93
|
table { border-collapse: collapse; width: 100%; font-size: 0.8rem; }
|
|
93
94
|
th, td { text-align: left; padding: 0.35rem 0.5rem; border-bottom: 1px solid #2c313a; }
|
|
94
95
|
th { color: #9aa2ad; font-weight: 600; }
|
|
@@ -435,12 +436,18 @@ function renderCardSummaryNodes(item) {
|
|
|
435
436
|
const pillClass = 'pill ' + (COND_PILL[item.condition] || 'pill-finished');
|
|
436
437
|
const statsText = item.totalRuns + ' runs | ' + fmtCost(item.totalCostUsd) + ' | ' + fmtCompact(item.totalTokens) + ' tokens';
|
|
437
438
|
const isFinished = item.condition === 'finished';
|
|
439
|
+
const displayStatus = item.displayStatus || item.lastRunStatus || item.stage;
|
|
440
|
+
const metaPills = [
|
|
441
|
+
el('span', { class: pillClass, text: displayStatus.replace(/-/g, ' ') }),
|
|
442
|
+
...(item.isFrozen ? [el('span', { class: 'pill pill-frozen', text: 'Frozen' })] : []),
|
|
443
|
+
el('span', { class: 'chip chip-meta', text: item.workflow }),
|
|
444
|
+
el('span', { class: 'chip chip-meta', text: item.stage }),
|
|
445
|
+
];
|
|
446
|
+
if (!isFinished) {
|
|
447
|
+
metaPills.push(el('span', { class: 'chip chip-meta', text: fmtMs(item.timeInStageMs) + ' in stage' }));
|
|
448
|
+
}
|
|
438
449
|
return [
|
|
439
|
-
el('div', { class: 'meta', style: 'display:flex;align-items:center;gap:0.3rem;flex-wrap:wrap;margin-top:0.2rem;' },
|
|
440
|
-
el('span', { class: pillClass, text: item.condition }),
|
|
441
|
-
...(item.isFrozen ? [el('span', { class: 'pill pill-frozen', text: 'Frozen' })] : []),
|
|
442
|
-
document.createTextNode('| ' + item.workflow + ' | ' + item.stage + (isFinished ? '' : ' | ' + fmtMs(item.timeInStageMs) + ' in stage')),
|
|
443
|
-
]),
|
|
450
|
+
el('div', { class: 'meta', style: 'display:flex;align-items:center;gap:0.3rem;flex-wrap:wrap;margin-top:0.2rem;' }, metaPills),
|
|
444
451
|
el('div', { class: 'card-stats', text: statsText }),
|
|
445
452
|
...(nonWakeLabels.length > 0
|
|
446
453
|
? [el('div', { class: 'meta', style: 'margin-top:0.2rem;' }, nonWakeLabels.map((label) => el('span', { class: 'chip chip-label', text: label })))]
|
|
@@ -57,6 +57,9 @@ function timeInStageMs(item, now) {
|
|
|
57
57
|
const lastChange = item.wake.stageHistory.at(-1)?.changedAt ?? item.wake.syncedAt;
|
|
58
58
|
return now.getTime() - Date.parse(lastChange);
|
|
59
59
|
}
|
|
60
|
+
function displayStatusForCard(item) {
|
|
61
|
+
return item.context.status ?? 'queued';
|
|
62
|
+
}
|
|
60
63
|
function activeChildRunsForItem(item, runs, now) {
|
|
61
64
|
return runs
|
|
62
65
|
.filter((run) => run.workItemKey === item.workItemKey &&
|
|
@@ -145,6 +148,7 @@ export async function buildBoard(input) {
|
|
|
145
148
|
totalRuns: runTotals.totalRuns,
|
|
146
149
|
totalTokens: runTotals.totalTokens,
|
|
147
150
|
totalCostUsd: runTotals.totalCostUsd,
|
|
151
|
+
displayStatus: displayStatusForCard(item),
|
|
148
152
|
lastRunAction: lastRun?.action,
|
|
149
153
|
lastRunSentinel: lastRun?.sentinel,
|
|
150
154
|
lastRunStatus: lastRun?.status,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { waitForActiveRuns } from './stop-command.js';
|
|
2
|
+
import { resolveWakeVersion } from '../version.js';
|
|
2
3
|
const HEALTHCHECK_WAKE_ROOT = '/tmp/wake-self-update-healthcheck';
|
|
3
4
|
const START_PROCESS_CHECK_ATTEMPTS = 15;
|
|
4
5
|
const START_PROCESS_CHECK_INTERVAL_MS = 1000;
|
|
@@ -97,12 +98,13 @@ export async function runSelfUpdateCommand(input) {
|
|
|
97
98
|
};
|
|
98
99
|
try {
|
|
99
100
|
await input.git.checkoutTag(tag);
|
|
100
|
-
|
|
101
|
+
const buildVersion = input.resolveBuildVersion?.(input.repoRoot) ??
|
|
102
|
+
resolveWakeVersion({ repoRoot: input.repoRoot });
|
|
101
103
|
await input.docker.build({
|
|
102
104
|
image: newImage,
|
|
103
105
|
dockerfile: input.dockerfilePath,
|
|
104
106
|
contextDir: input.repoRoot,
|
|
105
|
-
buildArgs: { WAKE_BUILD_TAG:
|
|
107
|
+
buildArgs: { WAKE_BUILD_TAG: buildVersion },
|
|
106
108
|
});
|
|
107
109
|
await input.docker.update({ ...updateInput, image: newImage });
|
|
108
110
|
input.logger.info('[self-update] recreated container; entrypoint will keep wake start running');
|
package/dist/src/version.js
CHANGED