/*
fleet.probe.targets.generate — generate the deterministic probe target list from the workspace (RFC-0341).
- Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.
- RFC-0341: initial implementation.
*/
import { join } from "node:path";
import type {
CheckResult,
KernelCommandInput,
KernelCommandResult,
KernelRuntimeContext,
} from "@warpgogol/werkstatt-engine/kernel";
import { buildGeneratedHeader } from "@warpgogol/werkstatt-engine/kernel";
import { diagnosticsResult } from "@warpgogol/werkstatt-shared/checks";
import { parse as yamlParse, stringify as yamlStringify } from "yaml";
import { readAstroSiteUrl } from "@warpgogol/werkstatt-shared/checks/lib/astro-site-url";
import { readDefaultLanguageCode } from "@warpgogol/werkstatt-shared/checks/lib/i18n";
import { loadSystemManifest } from "@warpgogol/werkstatt-shared/content";
interface ProbeTarget {
siteId: string;
origin: string;
routes: string[];
sentinels: string[];
}
interface TargetsFile {
schemaVersion: number;
targets: ProbeTarget[];
}
interface OverrideEntry {
siteId?: string;
origin?: string;
routes?: string[];
sentinels?: string[];
exclude?: boolean;
}
const DEFAULT_SENTINELS = ["
[^<]+", "