feat(deploy): Gemini som committat prod-läge + hermetiska eval-fixtures
- config.ts: tillåt AAMOS_MODE=http|gemini i prod; mock förbjudet - first-deploy.sh: Grind 1 accepterar gemini (kräv GEMINI_API_KEY); Grind 5 kör eval:scan mot gemini; Grind 8 behandlar gemini som riktig AI - gemini.ts: stöd för data-URLer (inline base64-bilder) i fetchOneImage - eval-fixtures: 4 lokala bilder (fridge-1, fridge-2, label-1, receipt-1) - scan-eval.ts: läser lokala fixtures, inga externa hämtningar - capture-eval.ts: använder lokal fixture som data-URL
This commit is contained in:
@@ -106,6 +106,10 @@ export function loadConfig(env: NodeJS.ProcessEnv = process.env): AppConfig {
|
||||
console.error("SÄKERHETSSTOPP: AAMOS_MODE=gemini kräver GEMINI_API_KEY i produktion.");
|
||||
process.exit(1);
|
||||
}
|
||||
if (cfg.AAMOS_MODE === "http" && (!cfg.AAMOS_API_URL || !cfg.AAMOS_API_KEY)) {
|
||||
console.error("SÄKERHETSSTOPP: AAMOS_MODE=http kräver AAMOS_API_URL och AAMOS_API_KEY i produktion.");
|
||||
process.exit(1);
|
||||
}
|
||||
if (!cfg.OPS_TOKEN || cfg.OPS_TOKEN.length < 32 || cfg.OPS_TOKEN.startsWith("dev-ops-token")) {
|
||||
console.error(
|
||||
"SÄKERHETSSTOPP: OPS_TOKEN måste vara en stark, icke-default hemlighet i produktion.",
|
||||
|
||||
Reference in New Issue
Block a user