57dc91585d
Internal SmartGift build of a Claude Code monitoring dashboard. Lanes: a durable unit of parallel agent work, one per working directory, tracked across session restarts. Managed lanes are git worktrees the dashboard provisions and can reset or remove behind a three-check destroy guard and a counted preflight; adopted lanes are directories you already own and are never destroyable. Pipelines: a lane moves through pipeline stages. A stage the agent declares with evidence renders green; a stage inferred from the tool-event stream renders dashed amber and never counts as done. Detection is forward-only within a 30-minute window, and never writes the declared stage. Workspace: one page at /run with a lane grid, the selected lane's pipeline, and a full Claude console behind a disclosure.
54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
/**
|
|
* @file Unit tests for cross-platform monitoring binary URL/path resolution.
|
|
* @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
|
|
*/
|
|
const { describe, it } = require("node:test");
|
|
const assert = require("node:assert/strict");
|
|
const {
|
|
prometheusUrl,
|
|
grafanaUrl,
|
|
prometheusArchiveExt,
|
|
grafanaArchiveExt,
|
|
prometheusPlatform,
|
|
prometheusArchiveName,
|
|
grafanaArchiveName,
|
|
toGrafanaPath,
|
|
} = require("../../monitoring/scripts/paths");
|
|
|
|
describe("monitoring paths", () => {
|
|
it("builds official download URLs for the current platform", () => {
|
|
const plat = prometheusPlatform();
|
|
const promExt = prometheusArchiveExt();
|
|
const grafExt = grafanaArchiveExt();
|
|
|
|
assert.match(
|
|
prometheusUrl(),
|
|
new RegExp(`${prometheusArchiveName()}\\.${promExt.replace(".", "\\.")}$`)
|
|
);
|
|
assert.match(
|
|
grafanaUrl(),
|
|
new RegExp(`grafana-[0-9.]+\\.${plat}\\.${grafExt.replace(".", "\\.")}$`)
|
|
);
|
|
|
|
if (process.platform === "win32") {
|
|
assert.equal(promExt, "zip");
|
|
assert.equal(grafExt, "zip");
|
|
} else {
|
|
assert.equal(promExt, "tar.gz");
|
|
assert.equal(grafExt, "tar.gz");
|
|
}
|
|
});
|
|
|
|
it("normalizes Windows paths for Grafana YAML", () => {
|
|
assert.equal(
|
|
toGrafanaPath("C:\\ccam\\monitoring\\grafana\\dashboards"),
|
|
"C:/ccam/monitoring/grafana/dashboards"
|
|
);
|
|
});
|
|
|
|
it("uses consistent archive naming", () => {
|
|
assert.match(prometheusArchiveName(), /^prometheus-[0-9.]+\./);
|
|
assert.match(grafanaArchiveName(), /^grafana-[0-9.]+\./);
|
|
});
|
|
});
|