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:
@@ -96,9 +96,13 @@ fi
|
||||
get_env() { { grep -E "^$1=" .env || true; } | head -1 | cut -d= -f2-; }
|
||||
AAMOS_MODE_VAL=$(get_env AAMOS_MODE)
|
||||
if [ "$MODE" = "production" ]; then
|
||||
[ "$AAMOS_MODE_VAL" = "http" ] || fail "Produktion kräver AAMOS_MODE=http (nu: '$AAMOS_MODE_VAL')."
|
||||
[ -n "$(get_env AAMOS_API_URL)" ] || fail "AAMOS_API_URL saknas i .env."
|
||||
[ -n "$(get_env AAMOS_API_KEY)" ] || fail "AAMOS_API_KEY saknas i .env."
|
||||
if [ "$AAMOS_MODE_VAL" = "gemini" ]; then
|
||||
[ -n "$(get_env GEMINI_API_KEY)" ] || fail "Produktion kräver GEMINI_API_KEY när AAMOS_MODE=gemini."
|
||||
else
|
||||
[ "$AAMOS_MODE_VAL" = "http" ] || fail "Produktion kräver AAMOS_MODE=http eller gemini (nu: '$AAMOS_MODE_VAL')."
|
||||
[ -n "$(get_env AAMOS_API_URL)" ] || fail "AAMOS_API_URL saknas i .env."
|
||||
[ -n "$(get_env AAMOS_API_KEY)" ] || fail "AAMOS_API_KEY saknas i .env."
|
||||
fi
|
||||
for s in JWT_ACCESS_SECRET JWT_REFRESH_SECRET ENTITLEMENT_SIGNING_SECRET; do
|
||||
case "$(get_env $s)" in dev-only-*|"") fail "$s har dev-/tomt värde – sätt riktig hemlighet." ;; esac
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user