@@ -28909,7 +28909,7 @@ init_util()
2890928909const SCRIPT_META = {
2891028910 describe:
2891128911 'Fetch, verify, and materialize the current green fleet tooling bundle.',
28912- help: 'Usage: pnpm run sync-fleet [--from-template] [--json]',
28912+ help: 'Usage: pnpm run sync-fleet [--from-template] [--cached] [-- json]',
2891328913 json: 'native',
2891428914}
2891528915const logger = getDep0Logger()
@@ -28936,6 +28936,7 @@ function parseArgs(argv) {
2893628936 json: false,
2893728937 manifest: void 0,
2893828938 quiet: false,
28939+ refresh: void 0,
2893928940 refreshTracked: false,
2894028941 preserveTracked: false,
2894128942 repairTracked: false,
@@ -28955,6 +28956,7 @@ function parseArgs(argv) {
2895528956 else if (arg === '--from-template') opts.fromTemplate = true
2895628957 else if (arg === '--manifest') opts.manifest = argv[++i]
2895728958 else if (arg === '--quiet') opts.quiet = true
28959+ else if (arg === '--cached') opts.refresh = false
2895828960 else if (arg === '--preserve-tracked') opts.preserveTracked = true
2895928961 else if (arg === '--repair-tracked') opts.repairTracked = true
2896028962 else if (arg === '--refresh-tracked') opts.refreshTracked = true
@@ -29106,6 +29108,7 @@ async function ensureCurrentFleet(config, dependencies) {
2910629108 const now = deps.now ?? Date.now
2910729109 const receipt = readEnsureCurrentReceipt(dest)
2910829110 if (
29111+ cfg.refresh !== true &&
2910929112 receipt !== void 0 &&
2911029113 isEnsureCurrentFresh(receipt, { now: now() }) &&
2911129114 appliedPayloadIsComplete(dest, receipt.ref)
@@ -29120,6 +29123,8 @@ async function ensureCurrentFleet(config, dependencies) {
2912029123 const current = readEnsureCurrentReceipt(dest)
2912129124 if (
2912229125 current !== void 0 &&
29126+ (cfg.refresh !== true ||
29127+ current.checkedAt > (receipt?.checkedAt ?? -Infinity)) &&
2912329128 isEnsureCurrentFresh(current, { now: now() }) &&
2912429129 appliedPayloadIsComplete(dest, current.ref)
2912529130 )
@@ -29139,25 +29144,31 @@ async function ensureCurrentFleet(config, dependencies) {
2913929144 )
2914029145 heartbeat.unref()
2914129146 try {
29147+ const latestReceipt = readEnsureCurrentReceipt(dest)
2914229148 const resolution = await (deps.resolve ?? resolveGreenPack)(
2914329149 cfg.repo ?? DEFAULT_REPO,
2914429150 )
2914529151 if (resolution === void 0) {
2914629152 const appliedRef = readAppliedRef(dest)
29147- if (appliedRef !== void 0 && appliedPayloadIsComplete(dest, appliedRef))
29153+ if (appliedRef !== void 0 && appliedPayloadIsComplete(dest, appliedRef)) {
29154+ if (cfg.refresh === true)
29155+ logger.error(
29156+ `install-fleet: GHCR lookup failed; reusing verified local pack ${appliedRef}. The latest green pack was not confirmed.`,
29157+ )
2914829158 return 0
29159+ }
2914929160 logger.error(
2915029161 'install-fleet: no verified fleet pack is available locally or from GHCR. Run pnpm run sync-fleet when online.',
2915129162 )
2915229163 return 1
2915329164 }
2915429165 const { receipt: oci, ref } = resolution
2915529166 if (
29156- receipt !== void 0 &&
29157- Date.parse(oci.created) < Date.parse(receipt .oci.created)
29167+ latestReceipt !== void 0 &&
29168+ Date.parse(oci.created) < Date.parse(latestReceipt .oci.created)
2915829169 ) {
2915929170 logger.error(
29160- `install-fleet: refusing green-channel rollback from ${receipt .ref} (${receipt .oci.created}) to ${ref} (${oci.created}).`,
29171+ `install-fleet: refusing green-channel rollback from ${latestReceipt .ref} (${latestReceipt .oci.created}) to ${ref} (${oci.created}).`,
2916129172 )
2916229173 return 1
2916329174 }
@@ -29446,13 +29457,16 @@ function runFromTemplate(config) {
2944629457 )
2944729458 return 0
2944829459}
29449- async function main() {
29460+ async function main(dependencies ) {
2945029461 const parsed = parseArgs(process$1.argv.slice(2))
2945129462 const exitCode = parsed.fromTemplate
2945229463 ? runFromTemplate(parsed)
2945329464 : parsed.bundle !== void 0 || parsed.ref !== ''
2945429465 ? await installFleet(parsed)
29455- : await ensureCurrentFleet(parsed)
29466+ : await (dependencies?.ensureCurrent ?? ensureCurrentFleet)({
29467+ ...parsed,
29468+ refresh: parsed.refresh !== false,
29469+ })
2945629470 if (parsed.json)
2945729471 process$1.stdout.write(`${renderScriptResult({ exitCode })}\n`)
2945829472 return exitCode
0 commit comments