feat(worker/ai): Gemini-lärar-tier för scan/detect/allergen + shadow-capture

- Utöka GeminiAamosClient med ANALYZE_MEAL_IMAGE, READ_NUTRITION_LABEL,
  READ_EXPIRY_DATE och READ_RECEIPT (vision-prompts mot kontraktsscheman).
- Lägg till apps/worker/src/lib/shadow-capture.ts: S3/local fallback,
  imageTraining-gating, ingen PII, aldrig faila användarvägen.
- Integrera capture i scan-processorn efter lyckad runTask med consentFlags.
- Lägg till @aws-sdk/client-s3 i worker samt eval:capture-skript.
- Uppdatera eval:scan till Wikimedia Special:FilePath + redirect-following.
- Exkludera .terraform i brand-guard för att undvika false positives.
- Uppdatera gemini-test för DEDUPLICATE_INVENTORY som unsupported.
This commit is contained in:
Sven (AAMOS AI)
2026-08-12 02:51:05 +07:00
parent 515dd12cc7
commit 9a9f8a6a3c
9 changed files with 615 additions and 20 deletions
+3 -3
View File
@@ -127,12 +127,12 @@ describe("GeminiAamosClient", () => {
});
const result = await client.runTask(
"READ_RECEIPT",
{ imageUrls: ["http://localhost/v1/mock-s3/receipt.jpg"], marketLocale: "sv-SE" },
"DEDUPLICATE_INVENTORY",
{ items: [] },
);
expect(result.status).toBe("failed");
expect(result.error).toContain("READ_RECEIPT");
expect(result.error).toContain("DEDUPLICATE_INVENTORY");
});
it("validates input before calling Gemini", async () => {