feat(control-station): add AI polygon setup streaming and mission controls

This commit is contained in:
DCCONSTRUCTIONS
2026-09-25 16:40:45 +03:00
parent f01bd39037
commit e627500295
23 changed files with 713 additions and 9 deletions
@@ -130,6 +130,15 @@ test("decoder fails closed on an unknown environment schema", () => {
);
});
test("retired laboratory quick actions resolve to AI Inference", () => {
const payload = serverDocument();
payload.pages.polygon.primary_workspace_id = "lab-archive";
const decoded = environment.decodeEnvironmentSettings(payload);
assert.equal(decoded.pages.polygon.primaryWorkspaceId, "observatory");
assert.equal(decoded.revision, payload.revision);
assert.deepEqual(decoded.pages.polygon.background.items, []);
});
test("editing a cloned page cannot mutate accepted settings", () => {
const accepted = environment.decodeEnvironmentSettings(serverDocument());
const draft = environment.cloneEnvironmentSettings(accepted);
@@ -27,7 +27,7 @@ async function read(relativePath) {
test("Observatory is the third independent Polygon workspace", () => {
assert.deepEqual(
productModel.workspacesForRoot("polygon").map(({ id }) => id),
["lab-archive", "simulations", "observatory", "local-device", "spatial-scene", "mission-planner"],
["simulations", "observatory", "local-device", "spatial-scene", "mission-planner"],
);
assert.deepEqual(
productModel.workspaceById("observatory"),
@@ -324,7 +324,7 @@ test("Polygon exposes one dataset surface and keeps legacy links compatible", ()
assert.equal(workspaceById("datasets").kind, "datasets");
assert.deepEqual(
workspacesForRoot("polygon").map(({ id }) => id),
["lab-archive", "simulations", "observatory", "local-device", "spatial-scene", "mission-planner"],
["simulations", "observatory", "local-device", "spatial-scene", "mission-planner"],
);
assert.equal(
workspacesForRoot("system").some(({ id }) => id === "polygon-run"),
@@ -29,7 +29,7 @@ test("top navigation has no Center and Park owns contour health first", () => {
assert.equal(productModel.workspaceById("contour-health")?.root, "fleet");
assert.deepEqual(
productModel.workspacesForRoot("polygon").map(({ id }) => id),
["lab-archive", "simulations", "observatory", "local-device", "spatial-scene", "mission-planner"],
["simulations", "observatory", "local-device", "spatial-scene", "mission-planner"],
);
assert.equal(productModel.workspaceById("spatial-scene")?.root, "polygon");
assert.equal(productModel.workspacesForRoot("observation").some(({ id }) => id === "spatial-scene"), false);