Integrations
Google Gemini
Official · StableBuilt-innpm: @loop-engine/adapter-geminiProvider: Google
Archetype: AI (Actor) — returns AIAgentActor + AIActorDecision for governed engine.transition(...) submission.
What it does
@loop-engine/adapter-gemini wraps Gemini API calls as Loop Engine actor submissions. It returns structured decisions for runtime guard enforcement, preserving attribution and evidence on every transition.
Quick setup
-
Install
1npm install @loop-engine/adapter-gemini @google/generative-ai -
Create the actor
1import { createGeminiActorAdapter } from "@loop-engine/adapter-gemini";23const adapter = createGeminiActorAdapter(process.env.GOOGLE_AI_API_KEY!, {4 modelId: "gemini-1.5-pro"5}); -
Submit to a loop transition
1const { actor, decision } = await adapter.createSubmission({2 loopId: "procurement",3 loopName: "SCM Procurement",4 currentState: "pending_analysis",5 availableSignals: [{ signalId: "submit_recommendation", name: "Submit Recommendation", allowedActors: ["ai-agent"] }],6 instruction: "Analyze demand data and recommend a purchase order.",7 evidence: { demandForecast: 0.93, currentStock: 36 }8});910await loopSystem.engine.transition({11 aggregateId: "procurement-1",12 transitionId: decision.transitionId,13 actor,14 evidence: decision15});
How it works
- Formats context using Loop Engine actor prompt shape
- Calls Gemini generate endpoint
- Parses decision JSON and validates fields
- Returns actor + decision for runtime guard evaluation
Configuration reference
| Option | Type | Default | Description |
|---|---|---|---|
| modelId | string | gemini-1.5-pro | Gemini model (gemini-1.5-flash, gemini-2.0-flash) |
| maxOutputTokens | number | 1024 | Max output tokens |
| systemPrompt | string | — | Optional system prompt prepended to loop context |
| | | | Minimum confidence required (0–1) |