@prismatic-io/lux 0.0.2-preview.4 → 0.0.2-preview.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assertions/authoring.d.ts +2 -2
- package/lib/assertions/authoring.d.ts.map +1 -1
- package/lib/assertions/authoring.js.map +1 -1
- package/lib/assertions/core/index.d.ts.map +1 -1
- package/lib/assertions/core/index.js +2 -1
- package/lib/assertions/core/index.js.map +1 -1
- package/lib/assertions/core/resource-checks.d.ts +19 -0
- package/lib/assertions/core/resource-checks.d.ts.map +1 -1
- package/lib/assertions/core/resource-checks.js +32 -0
- package/lib/assertions/core/resource-checks.js.map +1 -1
- package/lib/cli/program.d.ts.map +1 -1
- package/lib/cli/program.js +6 -65
- package/lib/cli/program.js.map +1 -1
- package/lib/cli/view.d.ts +13 -0
- package/lib/cli/view.d.ts.map +1 -0
- package/lib/cli/view.js +126 -0
- package/lib/cli/view.js.map +1 -0
- package/lib/core/action-events.d.ts +29 -0
- package/lib/core/action-events.d.ts.map +1 -0
- package/lib/core/action-events.js +51 -0
- package/lib/core/action-events.js.map +1 -0
- package/lib/core/agent-activity.d.ts +49 -0
- package/lib/core/agent-activity.d.ts.map +1 -0
- package/lib/core/agent-activity.js +206 -0
- package/lib/core/agent-activity.js.map +1 -0
- package/lib/core/agent-events.d.ts +26 -0
- package/lib/core/agent-events.d.ts.map +1 -0
- package/lib/core/agent-events.js +13 -0
- package/lib/core/agent-events.js.map +1 -0
- package/lib/core/driver-metrics.d.ts +98 -0
- package/lib/core/driver-metrics.d.ts.map +1 -0
- package/lib/core/driver-metrics.js +36 -0
- package/lib/core/driver-metrics.js.map +1 -0
- package/lib/core/events.d.ts +34 -0
- package/lib/core/events.d.ts.map +1 -1
- package/lib/core/events.js +11 -2
- package/lib/core/events.js.map +1 -1
- package/lib/core/experiment.d.ts +19 -0
- package/lib/core/experiment.d.ts.map +1 -1
- package/lib/core/experiment.js +2 -0
- package/lib/core/experiment.js.map +1 -1
- package/lib/core/index.d.ts +4 -0
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +4 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/run.d.ts +149 -0
- package/lib/core/run.d.ts.map +1 -1
- package/lib/core/run.js +9 -0
- package/lib/core/run.js.map +1 -1
- package/lib/core/wire.d.ts +11 -0
- package/lib/core/wire.d.ts.map +1 -1
- package/lib/drivers/claude-code/parse-events.d.ts.map +1 -1
- package/lib/drivers/claude-code/parse-events.js +73 -8
- package/lib/drivers/claude-code/parse-events.js.map +1 -1
- package/lib/drivers/codex/app-events.d.ts +9 -2
- package/lib/drivers/codex/app-events.d.ts.map +1 -1
- package/lib/drivers/codex/app-events.js +93 -12
- package/lib/drivers/codex/app-events.js.map +1 -1
- package/lib/drivers/codex/index.d.ts.map +1 -1
- package/lib/drivers/codex/index.js +10 -14
- package/lib/drivers/codex/index.js.map +1 -1
- package/lib/index.d.ts +6 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -2
- package/lib/index.js.map +1 -1
- package/lib/orchestrator/compare.d.ts +13 -1
- package/lib/orchestrator/compare.d.ts.map +1 -1
- package/lib/orchestrator/compare.js +12 -0
- package/lib/orchestrator/compare.js.map +1 -1
- package/lib/orchestrator/experiment-contracts.d.ts +19 -0
- package/lib/orchestrator/experiment-contracts.d.ts.map +1 -1
- package/lib/orchestrator/experiment-evaluation.d.ts.map +1 -1
- package/lib/orchestrator/experiment-evaluation.js +17 -0
- package/lib/orchestrator/experiment-evaluation.js.map +1 -1
- package/lib/orchestrator/experiment-report.d.ts +19 -0
- package/lib/orchestrator/experiment-report.d.ts.map +1 -1
- package/lib/orchestrator/experiment-runs.d.ts +38 -0
- package/lib/orchestrator/experiment-runs.d.ts.map +1 -1
- package/lib/orchestrator/index.d.ts +1 -1
- package/lib/orchestrator/index.d.ts.map +1 -1
- package/lib/orchestrator/index.js +1 -1
- package/lib/orchestrator/index.js.map +1 -1
- package/lib/orchestrator/list-runs.d.ts +7 -1
- package/lib/orchestrator/list-runs.d.ts.map +1 -1
- package/lib/orchestrator/list-runs.js +50 -6
- package/lib/orchestrator/list-runs.js.map +1 -1
- package/lib/orchestrator/run-execution.d.ts.map +1 -1
- package/lib/orchestrator/run-execution.js +17 -3
- package/lib/orchestrator/run-execution.js.map +1 -1
- package/lib/orchestrator/suite-compare.d.ts +34 -0
- package/lib/orchestrator/suite-compare.d.ts.map +1 -1
- package/lib/orchestrator/suite-summary.d.ts +68 -0
- package/lib/orchestrator/suite-summary.d.ts.map +1 -1
- package/lib/orchestrator/suite-summary.js +45 -7
- package/lib/orchestrator/suite-summary.js.map +1 -1
- package/lib/previewer/artifacts.d.ts +25 -0
- package/lib/previewer/artifacts.d.ts.map +1 -0
- package/lib/previewer/artifacts.js +180 -0
- package/lib/previewer/artifacts.js.map +1 -0
- package/lib/previewer/server.d.ts +105 -0
- package/lib/previewer/server.d.ts.map +1 -0
- package/lib/previewer/server.js +542 -0
- package/lib/previewer/server.js.map +1 -0
- package/package.json +2 -1
- package/skills/lux/references/eval-authoring.md +4 -2
- package/skills/lux-answerer/SKILL.md +1 -1
- package/src/assertions/authoring.ts +2 -0
- package/src/assertions/core/index.ts +2 -0
- package/src/assertions/core/resource-checks.ts +35 -0
- package/src/cli/program.ts +5 -91
- package/src/cli/view.ts +168 -0
- package/src/core/action-events.ts +59 -0
- package/src/core/agent-activity.ts +236 -0
- package/src/core/agent-events.ts +17 -0
- package/src/core/driver-metrics.ts +51 -0
- package/src/core/events.ts +13 -2
- package/src/core/experiment.ts +2 -0
- package/src/core/index.ts +4 -0
- package/src/core/run.ts +9 -0
- package/src/drivers/claude-code/parse-events.ts +98 -12
- package/src/drivers/codex/app-events.ts +116 -16
- package/src/drivers/codex/index.ts +16 -14
- package/src/index.ts +40 -0
- package/src/orchestrator/compare.ts +18 -0
- package/src/orchestrator/experiment-evaluation.ts +23 -0
- package/src/orchestrator/index.ts +1 -0
- package/src/orchestrator/list-runs.ts +66 -5
- package/src/orchestrator/run-execution.ts +19 -2
- package/src/orchestrator/suite-summary.ts +101 -8
- package/src/previewer/artifacts.ts +221 -0
- package/src/previewer/server.ts +765 -0
- package/viewer/app.css +2075 -0
- package/viewer/app.js +606 -0
- package/viewer/artifact-view.js +48 -0
- package/viewer/charts.js +86 -0
- package/viewer/detail.js +1214 -0
- package/viewer/format.js +129 -0
- package/viewer/index.html +151 -0
package/viewer/charts.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { escapeHtml } from "./format.js";
|
|
2
|
+
|
|
3
|
+
const clamp01 = (value) =>
|
|
4
|
+
typeof value === "number" && Number.isFinite(value) ? Math.max(0, Math.min(1, value)) : 0;
|
|
5
|
+
|
|
6
|
+
export const quantizedBar = (value, tone, label, threshold = null) => {
|
|
7
|
+
const filled = Math.round(clamp01(value) * 20);
|
|
8
|
+
const thresholdCell =
|
|
9
|
+
typeof threshold === "number"
|
|
10
|
+
? Math.min(19, Math.max(0, Math.floor(clamp01(threshold) * 20)))
|
|
11
|
+
: -1;
|
|
12
|
+
return `<span class="quantized-bar" role="img" aria-label="${escapeHtml(label)}">
|
|
13
|
+
${Array.from({ length: 20 }, (_, index) => {
|
|
14
|
+
const classes = [
|
|
15
|
+
"quantized-cell",
|
|
16
|
+
index < filled ? `is-filled ${tone}` : "",
|
|
17
|
+
index === thresholdCell ? "has-threshold" : "",
|
|
18
|
+
]
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
.join(" ");
|
|
21
|
+
return `<i class="${classes}"></i>`;
|
|
22
|
+
}).join("")}
|
|
23
|
+
</span>`;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const distributionBar = (segments, label) => {
|
|
27
|
+
const total = segments.reduce((sum, segment) => sum + segment.value, 0);
|
|
28
|
+
const cells = Array.from({ length: 20 }, (_, index) => {
|
|
29
|
+
if (total <= 0) return '<i class="quantized-cell"></i>';
|
|
30
|
+
const point = ((index + 0.5) / 20) * total;
|
|
31
|
+
let cumulative = 0;
|
|
32
|
+
const segment =
|
|
33
|
+
segments.find((entry) => {
|
|
34
|
+
cumulative += entry.value;
|
|
35
|
+
return point <= cumulative;
|
|
36
|
+
}) ?? segments.at(-1);
|
|
37
|
+
return `<i class="quantized-cell is-filled segment-${escapeHtml(segment?.key)}"></i>`;
|
|
38
|
+
}).join("");
|
|
39
|
+
const legend = segments
|
|
40
|
+
.filter((segment) => segment.value > 0)
|
|
41
|
+
.map(
|
|
42
|
+
(segment) =>
|
|
43
|
+
`<span><i class="legend-swatch segment-${escapeHtml(segment.key)}"></i>${escapeHtml(
|
|
44
|
+
segment.label,
|
|
45
|
+
)} <b>${segment.value}</b></span>`,
|
|
46
|
+
)
|
|
47
|
+
.join("");
|
|
48
|
+
return `<div class="distribution-visual">
|
|
49
|
+
<span class="quantized-bar" role="img" aria-label="${escapeHtml(label)}">${cells}</span>
|
|
50
|
+
<div class="visual-legend">${legend || "<span>No recorded values</span>"}</div>
|
|
51
|
+
</div>`;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const comparisonBars = ({
|
|
55
|
+
title,
|
|
56
|
+
before,
|
|
57
|
+
after,
|
|
58
|
+
maximum,
|
|
59
|
+
beforeText,
|
|
60
|
+
afterText,
|
|
61
|
+
deltaText,
|
|
62
|
+
deltaTone,
|
|
63
|
+
}) => {
|
|
64
|
+
const scale = Math.max(maximum ?? 0, before ?? 0, after ?? 0, 1);
|
|
65
|
+
return `<figure class="comparison-bars">
|
|
66
|
+
<figcaption><span>${escapeHtml(title)}</span><b class="${escapeHtml(
|
|
67
|
+
deltaTone,
|
|
68
|
+
)}">${escapeHtml(deltaText)}</b></figcaption>
|
|
69
|
+
<div class="bar-lane"><strong>A</strong>${quantizedBar(
|
|
70
|
+
(before ?? 0) / scale,
|
|
71
|
+
"tone-before",
|
|
72
|
+
`${title} baseline ${beforeText}`,
|
|
73
|
+
)}<span>${escapeHtml(beforeText)}</span></div>
|
|
74
|
+
<div class="bar-lane"><strong>B</strong>${quantizedBar(
|
|
75
|
+
(after ?? 0) / scale,
|
|
76
|
+
"tone-after",
|
|
77
|
+
`${title} candidate ${afterText}`,
|
|
78
|
+
)}<span>${escapeHtml(afterText)}</span></div>
|
|
79
|
+
</figure>`;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const compositionFigure = (title, segments, label) => `
|
|
83
|
+
<figure class="composition-figure">
|
|
84
|
+
<figcaption>${escapeHtml(title)}</figcaption>
|
|
85
|
+
${distributionBar(segments, label)}
|
|
86
|
+
</figure>`;
|