Docs
CodeRabbit
Cloudflare
AG Grid
SerpAPI
Netlify
OpenRouter
Neon
WorkOS
Clerk
Electric
PowerSync
Sentry
Railway
Prisma
Strapi
Unkey
CodeRabbit
Cloudflare
AG Grid
SerpAPI
Netlify
OpenRouter
Neon
WorkOS
Clerk
Electric
PowerSync
Sentry
Railway
Prisma
Strapi
Unkey
Class References
Function References
Interface References
Type Alias References
Variable References
Interface References

AgentLoopState

Interface: AgentLoopState

Defined in: packages/ai/src/types.ts:833

State passed to agent loop strategy for determining whether to continue

Properties

finishReason

ts
finishReason: string | null;
finishReason: string | null;

Defined in: packages/ai/src/types.ts:839

Finish reason from the last response


iterationCount

ts
iterationCount: number;
iterationCount: number;

Defined in: packages/ai/src/types.ts:835

Current iteration count (0-indexed). One iteration = one model turn.


lastTurnToolCallCount

ts
lastTurnToolCallCount: number;
lastTurnToolCallCount: number;

Defined in: packages/ai/src/types.ts:851

Tool calls in the most recent budgeted batch — a live model turn or a pending/resume batch (0 when the last phase produced no tool calls).


messages

ts
messages: ModelMessage<
  | string
  | ContentPart<unknown, unknown, unknown, unknown, unknown>[]
  | null>[];
messages: ModelMessage<
  | string
  | ContentPart<unknown, unknown, unknown, unknown, unknown>[]
  | null>[];

Defined in: packages/ai/src/types.ts:837

Current messages array


toolCallCount

ts
toolCallCount: number;
toolCallCount: number;

Defined in: packages/ai/src/types.ts:846

Cumulative tool calls counted so far in this run (model-emitted during the agent loop, including ones skipped by maxToolCallsPerTurn, and pending tools from the inbound message list when resumed). Not a recount of full message history; not model turns.