feat: add project-aware agent workspace
Generic Container CI/CD / test-build-publish (push) Successful in 2m9s
Frontend CI/CD / build-test-publish-and-deploy (push) Successful in 2m39s

This commit is contained in:
2026-10-22 18:52:18 +08:00
parent c6a0e74e72
commit 2d8506fea0
191 changed files with 12373 additions and 3556 deletions
+7 -2
View File
@@ -61,7 +61,7 @@ const stateOpacity = (state: "hovered" | "selected"): ExpressionSpecification =>
type Layer = NonNullable<StyleSpecification["layers"]>[number];
export type ScadaImageRegistrationResult = {
status: "ready" | "degraded" | "unavailable";
status: "ready" | "degraded" | "unavailable" | "cancelled";
failedImageIds: string[];
};
@@ -226,12 +226,15 @@ export const scadaFallbackLayers = [
];
export async function registerScadaImages(
map: Pick<MapLibreMap, "loadImage" | "addImage" | "hasImage">
map: Pick<MapLibreMap, "loadImage" | "addImage" | "hasImage">,
signal?: AbortSignal
): Promise<ScadaImageRegistrationResult> {
if (signal?.aborted) return { status: "cancelled", failedImageIds: [] };
let pressure: Awaited<ReturnType<typeof loadImage>>;
try {
pressure = await loadImage(map, SCADA_MAP_ICON_PATHS.pressure);
if (signal?.aborted) return { status: "cancelled", failedImageIds: [] };
addImageIfMissing(map, SCADA_IMAGE_IDS.pressure, pressure);
} catch {
return { status: "unavailable", failedImageIds: Object.values(SCADA_IMAGE_IDS) };
@@ -245,8 +248,10 @@ export async function registerScadaImages(
try {
const image = await loadImage(map, path);
if (signal?.aborted) return { status: "cancelled", failedImageIds };
addImageIfMissing(map, imageId, image);
} catch {
if (signal?.aborted) return { status: "cancelled", failedImageIds };
failedImageIds.push(imageId);
try {
addImageIfMissing(map, imageId, pressure);