@sms/plugin-agent-loop
Interfaces
AgentLoopOptions
Defined in: packages/plugins/agent-loop/src/index.ts:24
Properties
identity?
optional identity?: string;
Defined in: packages/plugins/agent-loop/src/index.ts:27
Extra identity text placed at the top of the system prompt.
maxSteps?
optional maxSteps?: number;
Defined in: packages/plugins/agent-loop/src/index.ts:25
sessionStore?
optional sessionStore?: AgentSessionStore;
Defined in: packages/plugins/agent-loop/src/index.ts:29
Rehydrates a session on its first chat() in this process.
AgentService
Defined in: packages/plugins/agent-loop/src/contract.ts:57
Methods
chat()
chat(sessionId, text): Promise<ChatResult>;
Defined in: packages/plugins/agent-loop/src/contract.ts:59
Run one turn to completion. Turns on the same session run one after another.
Parameters
| Parameter | Type |
|---|---|
sessionId | string |
text | string |
Returns
Promise<ChatResult>
chatStream()
chatStream(sessionId, text): AsyncIterable<AgentEvent>;
Defined in: packages/plugins/agent-loop/src/contract.ts:65
The same turn as live events: model deltas (text_delta, thinking_delta when the driver
exposes reasoning), tool_start/tool_end, each transcript message, then done or error.
The turn keeps running if the consumer stops reading.
Parameters
| Parameter | Type |
|---|---|
sessionId | string |
text | string |
Returns
AsyncIterable<AgentEvent>
history()
history(sessionId): ModelMessage[];
Defined in: packages/plugins/agent-loop/src/contract.ts:66
Parameters
| Parameter | Type |
|---|---|
sessionId | string |
Returns
reset()
reset(sessionId): void;
Defined in: packages/plugins/agent-loop/src/contract.ts:67
Parameters
| Parameter | Type |
|---|---|
sessionId | string |
Returns
void
systemPrompt()
systemPrompt(): string;
Defined in: packages/plugins/agent-loop/src/contract.ts:68
Returns
string
tools()
tools(): ModelTool[];
Defined in: packages/plugins/agent-loop/src/contract.ts:69
Returns
AgentSessionStore
Defined in: packages/plugins/agent-loop/src/contract.ts:77
Where a session’s prior turns come from when the loop does not have them in memory (a fresh process,
an evicted Durable Object), and — through append — where they go as they are produced. Without
append an application can still diff agent.history() after each chat().
Methods
append()?
optional append(sessionId, messages): Promise<void>;
Defined in: packages/plugins/agent-loop/src/contract.ts:80
Optional: called with each message as the loop appends it (user text, assistant turn, tool results).
Parameters
| Parameter | Type |
|---|---|
sessionId | string |
messages | ModelMessage[] |
Returns
Promise<void>
load()
load(sessionId): Promise<
| ModelMessage[]
| undefined>;
Defined in: packages/plugins/agent-loop/src/contract.ts:78
Parameters
| Parameter | Type |
|---|---|
sessionId | string |
Returns
Promise<
| ModelMessage[]
| undefined>
ChatResult
Defined in: packages/plugins/agent-loop/src/contract.ts:52
Properties
reply
reply: string;
Defined in: packages/plugins/agent-loop/src/contract.ts:53
steps
steps: ChatStep[];
Defined in: packages/plugins/agent-loop/src/contract.ts:54
ChatStep
Defined in: packages/plugins/agent-loop/src/contract.ts:45
Properties
error?
optional error?: boolean;
Defined in: packages/plugins/agent-loop/src/contract.ts:49
input
input: unknown;
Defined in: packages/plugins/agent-loop/src/contract.ts:47
output
output: string;
Defined in: packages/plugins/agent-loop/src/contract.ts:48
tool
tool: string;
Defined in: packages/plugins/agent-loop/src/contract.ts:46
PromptSection
Defined in: packages/plugins/agent-loop/src/contract.ts:39
Properties
order?
optional order?: number;
Defined in: packages/plugins/agent-loop/src/contract.ts:42
section
section: string;
Defined in: packages/plugins/agent-loop/src/contract.ts:40
text
text: string | (() => string);
Defined in: packages/plugins/agent-loop/src/contract.ts:41
Tool
Defined in: packages/plugins/agent-loop/src/contract.ts:32
Properties
description
description: string;
Defined in: packages/plugins/agent-loop/src/contract.ts:34
handler
handler: (input) => unknown;
Defined in: packages/plugins/agent-loop/src/contract.ts:36
Parameters
| Parameter | Type |
|---|---|
input | Record<string, unknown> |
Returns
unknown
input_schema?
optional input_schema?: Record<string, unknown>;
Defined in: packages/plugins/agent-loop/src/contract.ts:35
name
name: string;
Defined in: packages/plugins/agent-loop/src/contract.ts:33
Type Aliases
AgentEvent
type AgentEvent =
| Exclude<ModelEvent, {
type: "done";
}>
| {
id: string;
input: unknown;
name: string;
type: "tool_start";
}
| {
id: string;
step: ChatStep;
type: "tool_end";
}
| {
message: ModelMessage;
type: "message";
}
| {
result: ChatResult;
type: "done";
}
| {
message: string;
type: "error";
};
Defined in: packages/plugins/agent-loop/src/loop.ts:16
Union Members
Exclude<ModelEvent, {
type: "done";
}>
Type Literal
{
id: string;
input: unknown;
name: string;
type: "tool_start";
}
Type Literal
{
id: string;
step: ChatStep;
type: "tool_end";
}
Type Literal
{
message: ModelMessage;
type: "message";
}
A transcript message as it is appended (user text, assistant turn, tool results).
Type Literal
{
result: ChatResult;
type: "done";
}
Type Literal
{
message: string;
type: "error";
}
Variables
AGENT_KEY
const AGENT_KEY: "agent" = 'agent';
Defined in: packages/plugins/agent-loop/src/contract.ts:10
Key under which the agent loop provides AgentService (system-only).
PROMPT_POINT
const PROMPT_POINT: "prompt" = 'prompt';
Defined in: packages/plugins/agent-loop/src/contract.ts:14
Extension point for { section, text, order? } system prompt sections.
TOOL_POINT
const TOOL_POINT: "tool" = 'tool';
Defined in: packages/plugins/agent-loop/src/contract.ts:12
Extension point for { name, description, input_schema?, handler(input) } tools.
Functions
catalog()
function catalog(kernel): unknown;
Defined in: packages/plugins/agent-loop/src/catalog.ts:5
A JSON summary of the running system for the model. Functions are shown as “[function]”.
Parameters
| Parameter | Type |
|---|---|
kernel | KernelApi |
Returns
unknown
createAgentLoopPlugin()
function createAgentLoopPlugin(opts?): SystemPlugin;
Defined in: packages/plugins/agent-loop/src/index.ts:34
Parameters
| Parameter | Type |
|---|---|
opts | AgentLoopOptions |
Returns
References
createModelPlugin
Re-exports createModelPlugin
createScriptedModel
Re-exports createScriptedModel
MODEL_KEY
Re-exports MODEL_KEY
ModelContent
Re-exports ModelContent
ModelEvent
Re-exports ModelEvent
ModelMessage
Re-exports ModelMessage
ModelRequest
Re-exports ModelRequest
ModelResponse
Re-exports ModelResponse
ModelService
Re-exports ModelService
ModelTool
Re-exports ModelTool