Integrations
Grok (xAI)
Official · StableBuilt-innpm: @loop-engine/adapter-grokProvider: xAI
Archetype: AI (Actor) — returns AIAgentActor + AIActorDecision for governed engine.transition(...) submission.
What it does
@loop-engine/adapter-grok uses the OpenAI SDK pointed at https://api.x.ai/v1. Grok's API is OpenAI-compatible, so the adapter follows the same structural pattern while attributing provider: "grok" in actor records.
Quick setup
-
Install
1npm install @loop-engine/adapter-grok openai -
Create the actor
1import { createGrokActorAdapter } from "@loop-engine/adapter-grok";23const adapter = createGrokActorAdapter(process.env.XAI_API_KEY!, {4 modelId: "grok-3",5 baseURL: "https:">//api.x.ai/v1"6}); -
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.87, currentStock: 41 }8});910await loopSystem.engine.transition({11 aggregateId: "procurement-1",12 transitionId: decision.transitionId,13 actor,14 evidence: decision15});
How it works
- Builds loop prompt context
- Calls xAI endpoint through OpenAI-compatible SDK
- Parses and validates structured response
- Returns attributed actor + decision for runtime guard enforcement
Configuration reference
| Option | Type | Default | Description |
|---|---|---|---|
| modelId | string | grok-3 | xAI model ID (grok-3-mini, grok-2, grok-2-mini) |
| baseURL | string | https://api.x.ai/v1 | Override endpoint (useful for testing) |
| | | | Max tokens in response |
| | | | Minimum confidence required (0–1) |