@rudderjs/ai 1.17.3 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1274
- package/dist/budget-orm/index.d.ts +1 -95
- package/dist/budget-orm/index.d.ts.map +1 -1
- package/dist/budget-orm/index.js +4 -176
- package/dist/budget-orm/index.js.map +1 -1
- package/dist/chat-mentions.d.ts +1 -58
- package/dist/chat-mentions.d.ts.map +1 -1
- package/dist/chat-mentions.js +4 -80
- package/dist/chat-mentions.js.map +1 -1
- package/dist/commands/ai-eval.d.ts +1 -92
- package/dist/commands/ai-eval.d.ts.map +1 -1
- package/dist/commands/ai-eval.js +4 -377
- package/dist/commands/ai-eval.js.map +1 -1
- package/dist/commands/make-agent.d.ts +1 -2
- package/dist/commands/make-agent.d.ts.map +1 -1
- package/dist/commands/make-agent.js +4 -22
- package/dist/commands/make-agent.js.map +1 -1
- package/dist/computer-use/index.d.ts +1 -52
- package/dist/computer-use/index.d.ts.map +1 -1
- package/dist/computer-use/index.js +4 -50
- package/dist/computer-use/index.js.map +1 -1
- package/dist/conversation-orm/index.d.ts +1 -108
- package/dist/conversation-orm/index.d.ts.map +1 -1
- package/dist/conversation-orm/index.js +4 -214
- package/dist/conversation-orm/index.js.map +1 -1
- package/dist/doctor.d.ts +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +4 -65
- package/dist/doctor.js.map +1 -1
- package/dist/eval/index.d.ts +1 -270
- package/dist/eval/index.d.ts.map +1 -1
- package/dist/eval/index.js +4 -509
- package/dist/eval/index.js.map +1 -1
- package/dist/gateway/index.d.ts +1 -10
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +4 -10
- package/dist/gateway/index.js.map +1 -1
- package/dist/index.d.ts +1 -66
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -78
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -15
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +4 -14
- package/dist/mcp/index.js.map +1 -1
- package/dist/memory-embedding/index.d.ts +1 -120
- package/dist/memory-embedding/index.d.ts.map +1 -1
- package/dist/memory-embedding/index.js +4 -228
- package/dist/memory-embedding/index.js.map +1 -1
- package/dist/memory-orm/index.d.ts +1 -117
- package/dist/memory-orm/index.d.ts.map +1 -1
- package/dist/memory-orm/index.js +4 -186
- package/dist/memory-orm/index.js.map +1 -1
- package/dist/node/index.d.ts +1 -2
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +4 -2
- package/dist/node/index.js.map +1 -1
- package/dist/observers.d.ts +1 -129
- package/dist/observers.d.ts.map +1 -1
- package/dist/observers.js +4 -39
- package/dist/observers.js.map +1 -1
- package/dist/react/index.d.ts +1 -15
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +4 -15
- package/dist/react/index.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -1
- package/dist/server/index.js.map +1 -1
- package/package.json +9 -13
- package/boost/guidelines.md +0 -260
- package/boost/skills/ai-agents/SKILL.md +0 -240
- package/boost/skills/ai-tools/SKILL.md +0 -260
- package/dist/agent-run-store.d.ts +0 -161
- package/dist/agent-run-store.d.ts.map +0 -1
- package/dist/agent-run-store.js +0 -98
- package/dist/agent-run-store.js.map +0 -1
- package/dist/agent-sse.d.ts +0 -153
- package/dist/agent-sse.d.ts.map +0 -1
- package/dist/agent-sse.js +0 -282
- package/dist/agent-sse.js.map +0 -1
- package/dist/agent.d.ts +0 -508
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -1538
- package/dist/agent.js.map +0 -1
- package/dist/attachment.d.ts +0 -31
- package/dist/attachment.d.ts.map +0 -1
- package/dist/attachment.js +0 -89
- package/dist/attachment.js.map +0 -1
- package/dist/audio.d.ts +0 -45
- package/dist/audio.d.ts.map +0 -1
- package/dist/audio.js +0 -93
- package/dist/audio.js.map +0 -1
- package/dist/base64.d.ts +0 -7
- package/dist/base64.d.ts.map +0 -1
- package/dist/base64.js +0 -39
- package/dist/base64.js.map +0 -1
- package/dist/budget/pricing.d.ts +0 -124
- package/dist/budget/pricing.d.ts.map +0 -1
- package/dist/budget/pricing.js +0 -175
- package/dist/budget/pricing.js.map +0 -1
- package/dist/budget/storage.d.ts +0 -104
- package/dist/budget/storage.d.ts.map +0 -1
- package/dist/budget/storage.js +0 -0
- package/dist/budget/storage.js.map +0 -1
- package/dist/budget/with-budget.d.ts +0 -119
- package/dist/budget/with-budget.d.ts.map +0 -1
- package/dist/budget/with-budget.js +0 -175
- package/dist/budget/with-budget.js.map +0 -1
- package/dist/cached-embedding.d.ts +0 -14
- package/dist/cached-embedding.d.ts.map +0 -1
- package/dist/cached-embedding.js +0 -44
- package/dist/cached-embedding.js.map +0 -1
- package/dist/computer-use/actions.d.ts +0 -214
- package/dist/computer-use/actions.d.ts.map +0 -1
- package/dist/computer-use/actions.js +0 -48
- package/dist/computer-use/actions.js.map +0 -1
- package/dist/computer-use/errors.d.ts +0 -57
- package/dist/computer-use/errors.d.ts.map +0 -1
- package/dist/computer-use/errors.js +0 -76
- package/dist/computer-use/errors.js.map +0 -1
- package/dist/computer-use/playwright.d.ts +0 -76
- package/dist/computer-use/playwright.d.ts.map +0 -1
- package/dist/computer-use/playwright.js +0 -270
- package/dist/computer-use/playwright.js.map +0 -1
- package/dist/computer-use/tool.d.ts +0 -154
- package/dist/computer-use/tool.d.ts.map +0 -1
- package/dist/computer-use/tool.js +0 -210
- package/dist/computer-use/tool.js.map +0 -1
- package/dist/continuation-validation.d.ts +0 -85
- package/dist/continuation-validation.d.ts.map +0 -1
- package/dist/continuation-validation.js +0 -166
- package/dist/continuation-validation.js.map +0 -1
- package/dist/conversation-persistence.d.ts +0 -46
- package/dist/conversation-persistence.d.ts.map +0 -1
- package/dist/conversation-persistence.js +0 -176
- package/dist/conversation-persistence.js.map +0 -1
- package/dist/conversation.d.ts +0 -11
- package/dist/conversation.d.ts.map +0 -1
- package/dist/conversation.js +0 -55
- package/dist/conversation.js.map +0 -1
- package/dist/eval/fixtures.d.ts +0 -65
- package/dist/eval/fixtures.d.ts.map +0 -1
- package/dist/eval/fixtures.js +0 -110
- package/dist/eval/fixtures.js.map +0 -1
- package/dist/eval/html-reporter.d.ts +0 -25
- package/dist/eval/html-reporter.d.ts.map +0 -1
- package/dist/eval/html-reporter.js +0 -209
- package/dist/eval/html-reporter.js.map +0 -1
- package/dist/eval/json-reporter.d.ts +0 -43
- package/dist/eval/json-reporter.d.ts.map +0 -1
- package/dist/eval/json-reporter.js +0 -40
- package/dist/eval/json-reporter.js.map +0 -1
- package/dist/facade.d.ts +0 -96
- package/dist/facade.d.ts.map +0 -1
- package/dist/facade.js +0 -146
- package/dist/facade.js.map +0 -1
- package/dist/fake.d.ts +0 -201
- package/dist/fake.d.ts.map +0 -1
- package/dist/fake.js +0 -428
- package/dist/fake.js.map +0 -1
- package/dist/file-search.d.ts +0 -168
- package/dist/file-search.d.ts.map +0 -1
- package/dist/file-search.js +0 -158
- package/dist/file-search.js.map +0 -1
- package/dist/files.d.ts +0 -27
- package/dist/files.d.ts.map +0 -1
- package/dist/files.js +0 -44
- package/dist/files.js.map +0 -1
- package/dist/gateway/http-gateway-adapter.d.ts +0 -94
- package/dist/gateway/http-gateway-adapter.d.ts.map +0 -1
- package/dist/gateway/http-gateway-adapter.js +0 -106
- package/dist/gateway/http-gateway-adapter.js.map +0 -1
- package/dist/gateway/sse.d.ts +0 -28
- package/dist/gateway/sse.d.ts.map +0 -1
- package/dist/gateway/sse.js +0 -78
- package/dist/gateway/sse.js.map +0 -1
- package/dist/handoff.d.ts +0 -95
- package/dist/handoff.d.ts.map +0 -1
- package/dist/handoff.js +0 -78
- package/dist/handoff.js.map +0 -1
- package/dist/handoffs-driver.d.ts +0 -58
- package/dist/handoffs-driver.d.ts.map +0 -1
- package/dist/handoffs-driver.js +0 -103
- package/dist/handoffs-driver.js.map +0 -1
- package/dist/image.d.ts +0 -40
- package/dist/image.d.ts.map +0 -1
- package/dist/image.js +0 -109
- package/dist/image.js.map +0 -1
- package/dist/mcp/client-tools.d.ts +0 -39
- package/dist/mcp/client-tools.d.ts.map +0 -1
- package/dist/mcp/client-tools.js +0 -147
- package/dist/mcp/client-tools.js.map +0 -1
- package/dist/mcp/server-from-agent.d.ts +0 -24
- package/dist/mcp/server-from-agent.d.ts.map +0 -1
- package/dist/mcp/server-from-agent.js +0 -113
- package/dist/mcp/server-from-agent.js.map +0 -1
- package/dist/mcp/types.d.ts +0 -64
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -6
- package/dist/mcp/types.js.map +0 -1
- package/dist/memory-extract.d.ts +0 -60
- package/dist/memory-extract.d.ts.map +0 -1
- package/dist/memory-extract.js +0 -163
- package/dist/memory-extract.js.map +0 -1
- package/dist/memory-inject.d.ts +0 -39
- package/dist/memory-inject.d.ts.map +0 -1
- package/dist/memory-inject.js +0 -135
- package/dist/memory-inject.js.map +0 -1
- package/dist/memory.d.ts +0 -55
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js +0 -132
- package/dist/memory.js.map +0 -1
- package/dist/middleware.d.ts +0 -18
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js +0 -72
- package/dist/middleware.js.map +0 -1
- package/dist/node/attachment.d.ts +0 -6
- package/dist/node/attachment.d.ts.map +0 -1
- package/dist/node/attachment.js +0 -35
- package/dist/node/attachment.js.map +0 -1
- package/dist/node/transcription.d.ts +0 -4
- package/dist/node/transcription.d.ts.map +0 -1
- package/dist/node/transcription.js +0 -8
- package/dist/node/transcription.js.map +0 -1
- package/dist/output.d.ts +0 -22
- package/dist/output.d.ts.map +0 -1
- package/dist/output.js +0 -60
- package/dist/output.js.map +0 -1
- package/dist/provider-tools.d.ts +0 -87
- package/dist/provider-tools.d.ts.map +0 -1
- package/dist/provider-tools.js +0 -189
- package/dist/provider-tools.js.map +0 -1
- package/dist/providers/anthropic.d.ts +0 -24
- package/dist/providers/anthropic.d.ts.map +0 -1
- package/dist/providers/anthropic.js +0 -405
- package/dist/providers/anthropic.js.map +0 -1
- package/dist/providers/azure.d.ts +0 -13
- package/dist/providers/azure.d.ts.map +0 -1
- package/dist/providers/azure.js +0 -15
- package/dist/providers/azure.js.map +0 -1
- package/dist/providers/bedrock.d.ts +0 -75
- package/dist/providers/bedrock.d.ts.map +0 -1
- package/dist/providers/bedrock.js +0 -181
- package/dist/providers/bedrock.js.map +0 -1
- package/dist/providers/cohere.d.ts +0 -13
- package/dist/providers/cohere.d.ts.map +0 -1
- package/dist/providers/cohere.js +0 -87
- package/dist/providers/cohere.js.map +0 -1
- package/dist/providers/deepseek.d.ts +0 -12
- package/dist/providers/deepseek.d.ts.map +0 -1
- package/dist/providers/deepseek.js +0 -15
- package/dist/providers/deepseek.js.map +0 -1
- package/dist/providers/elevenlabs.d.ts +0 -98
- package/dist/providers/elevenlabs.d.ts.map +0 -1
- package/dist/providers/elevenlabs.js +0 -229
- package/dist/providers/elevenlabs.js.map +0 -1
- package/dist/providers/google-cache-registry.d.ts +0 -132
- package/dist/providers/google-cache-registry.d.ts.map +0 -1
- package/dist/providers/google-cache-registry.js +0 -209
- package/dist/providers/google-cache-registry.js.map +0 -1
- package/dist/providers/google.d.ts +0 -38
- package/dist/providers/google.d.ts.map +0 -1
- package/dist/providers/google.js +0 -903
- package/dist/providers/google.js.map +0 -1
- package/dist/providers/groq.d.ts +0 -12
- package/dist/providers/groq.d.ts.map +0 -1
- package/dist/providers/groq.js +0 -15
- package/dist/providers/groq.js.map +0 -1
- package/dist/providers/jina.d.ts +0 -13
- package/dist/providers/jina.d.ts.map +0 -1
- package/dist/providers/jina.js +0 -90
- package/dist/providers/jina.js.map +0 -1
- package/dist/providers/mistral.d.ts +0 -13
- package/dist/providers/mistral.d.ts.map +0 -1
- package/dist/providers/mistral.js +0 -46
- package/dist/providers/mistral.js.map +0 -1
- package/dist/providers/ollama.d.ts +0 -11
- package/dist/providers/ollama.d.ts.map +0 -1
- package/dist/providers/ollama.js +0 -15
- package/dist/providers/ollama.js.map +0 -1
- package/dist/providers/openai.d.ts +0 -79
- package/dist/providers/openai.d.ts.map +0 -1
- package/dist/providers/openai.js +0 -792
- package/dist/providers/openai.js.map +0 -1
- package/dist/providers/openrouter.d.ts +0 -43
- package/dist/providers/openrouter.d.ts.map +0 -1
- package/dist/providers/openrouter.js +0 -21
- package/dist/providers/openrouter.js.map +0 -1
- package/dist/providers/voyage.d.ts +0 -91
- package/dist/providers/voyage.d.ts.map +0 -1
- package/dist/providers/voyage.js +0 -166
- package/dist/providers/voyage.js.map +0 -1
- package/dist/providers/xai.d.ts +0 -12
- package/dist/providers/xai.d.ts.map +0 -1
- package/dist/providers/xai.js +0 -15
- package/dist/providers/xai.js.map +0 -1
- package/dist/queue-job.d.ts +0 -100
- package/dist/queue-job.d.ts.map +0 -1
- package/dist/queue-job.js +0 -185
- package/dist/queue-job.js.map +0 -1
- package/dist/react/agent-run.d.ts +0 -111
- package/dist/react/agent-run.d.ts.map +0 -1
- package/dist/react/agent-run.js +0 -107
- package/dist/react/agent-run.js.map +0 -1
- package/dist/react/useAgentRun.d.ts +0 -68
- package/dist/react/useAgentRun.d.ts.map +0 -1
- package/dist/react/useAgentRun.js +0 -125
- package/dist/react/useAgentRun.js.map +0 -1
- package/dist/registry.d.ts +0 -45
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -131
- package/dist/registry.js.map +0 -1
- package/dist/rerank.d.ts +0 -20
- package/dist/rerank.d.ts.map +0 -1
- package/dist/rerank.js +0 -40
- package/dist/rerank.js.map +0 -1
- package/dist/resume-approval.d.ts +0 -30
- package/dist/resume-approval.d.ts.map +0 -1
- package/dist/resume-approval.js +0 -147
- package/dist/resume-approval.js.map +0 -1
- package/dist/sanitize-conversation.d.ts +0 -43
- package/dist/sanitize-conversation.d.ts.map +0 -1
- package/dist/sanitize-conversation.js +0 -85
- package/dist/sanitize-conversation.js.map +0 -1
- package/dist/scoped-tool.d.ts +0 -98
- package/dist/scoped-tool.d.ts.map +0 -1
- package/dist/scoped-tool.js +0 -174
- package/dist/scoped-tool.js.map +0 -1
- package/dist/server/provider.d.ts +0 -22
- package/dist/server/provider.d.ts.map +0 -1
- package/dist/server/provider.js +0 -194
- package/dist/server/provider.js.map +0 -1
- package/dist/similarity-search.d.ts +0 -163
- package/dist/similarity-search.d.ts.map +0 -1
- package/dist/similarity-search.js +0 -147
- package/dist/similarity-search.js.map +0 -1
- package/dist/sub-agent-run-store.d.ts +0 -157
- package/dist/sub-agent-run-store.d.ts.map +0 -1
- package/dist/sub-agent-run-store.js +0 -87
- package/dist/sub-agent-run-store.js.map +0 -1
- package/dist/tool-execution.d.ts +0 -16
- package/dist/tool-execution.d.ts.map +0 -1
- package/dist/tool-execution.js +0 -498
- package/dist/tool-execution.js.map +0 -1
- package/dist/tool-helpers.d.ts +0 -77
- package/dist/tool-helpers.d.ts.map +0 -1
- package/dist/tool-helpers.js +0 -117
- package/dist/tool-helpers.js.map +0 -1
- package/dist/tool.d.ts +0 -216
- package/dist/tool.d.ts.map +0 -1
- package/dist/tool.js +0 -175
- package/dist/tool.js.map +0 -1
- package/dist/transcription.d.ts +0 -42
- package/dist/transcription.d.ts.map +0 -1
- package/dist/transcription.js +0 -77
- package/dist/transcription.js.map +0 -1
- package/dist/types.d.ts +0 -1020
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/util/hash.d.ts +0 -11
- package/dist/util/hash.d.ts.map +0 -1
- package/dist/util/hash.js +0 -23
- package/dist/util/hash.js.map +0 -1
- package/dist/vector-stores/index.d.ts +0 -96
- package/dist/vector-stores/index.d.ts.map +0 -1
- package/dist/vector-stores/index.js +0 -153
- package/dist/vector-stores/index.js.map +0 -1
- package/dist/vercel-protocol.d.ts +0 -18
- package/dist/vercel-protocol.d.ts.map +0 -1
- package/dist/vercel-protocol.js +0 -75
- package/dist/vercel-protocol.js.map +0 -1
- package/dist/zod-to-json-schema.d.ts +0 -16
- package/dist/zod-to-json-schema.d.ts.map +0 -1
- package/dist/zod-to-json-schema.js +0 -17
- package/dist/zod-to-json-schema.js.map +0 -1
package/dist/agent.d.ts
DELETED
|
@@ -1,508 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { toolToSchema } from './tool.js';
|
|
3
|
-
import type { ServerToolBuilder } from './tool.js';
|
|
4
|
-
import { QueuedPromptBuilder } from './queue-job.js';
|
|
5
|
-
import type { SubAgentPauseKind, SubAgentRunStore } from './sub-agent-run-store.js';
|
|
6
|
-
import type { PendingHandoff } from './handoffs-driver.js';
|
|
7
|
-
import type { AgentPromptOptions, AiMessage, AiMiddleware, AgentResponse, AgentStep, AgentStreamResponse, AnyTool, CacheableConfig, ConversationalSpec, ConversationStore, SubAgentUpdate, FinishReason, HasMiddleware, HasTools, MiddlewareContext, PrepareStepResult, RemembersSpec, StopCondition, StreamChunk, ToolCall, TokenUsage, UserMemory } from './types.js';
|
|
8
|
-
/** Stop after N steps */
|
|
9
|
-
export declare function stepCountIs(n: number): StopCondition;
|
|
10
|
-
/** Stop when a specific tool is called in the latest step */
|
|
11
|
-
export declare function hasToolCall(toolName: string): StopCondition;
|
|
12
|
-
/** Options for {@link Agent.resumeAsTool}. */
|
|
13
|
-
export interface SubAgentResumeOptions {
|
|
14
|
-
/** Shared run store the snapshot lives in. */
|
|
15
|
-
runStore: SubAgentRunStore;
|
|
16
|
-
/** The sub-agent instance to resume. */
|
|
17
|
-
agent: Agent;
|
|
18
|
-
/** Approved ids for an `approval` pause. */
|
|
19
|
-
approvedToolCallIds?: string[];
|
|
20
|
-
/** Rejected ids for an `approval` pause. */
|
|
21
|
-
rejectedToolCallIds?: string[];
|
|
22
|
-
/**
|
|
23
|
-
* Opt-in live progress during the resume. When set, the resumed inner loop
|
|
24
|
-
* runs via `stream()` instead of `prompt()` and each chunk is projected into
|
|
25
|
-
* a {@link SubAgentUpdate} forwarded to {@link onUpdate}. `true` uses
|
|
26
|
-
* {@link defaultSubAgentProjector} (emits `tool_call` / `agent_pending_approval`);
|
|
27
|
-
* a function is your own projector. Mirrors {@link Agent.asTool}'s `streaming`
|
|
28
|
-
* on the initial-dispatch path. Unset → the legacy non-streaming `prompt()`
|
|
29
|
-
* resume (no behavior change). The pause/completion partition is identical
|
|
30
|
-
* either way — this only adds a progress channel.
|
|
31
|
-
*/
|
|
32
|
-
streaming?: AsToolStreamingOption;
|
|
33
|
-
/**
|
|
34
|
-
* Sink for projected updates. Only fires when {@link streaming} is set, once
|
|
35
|
-
* per non-null projection, in stream order. Awaited, so a slow sink applies
|
|
36
|
-
* backpressure to the resume.
|
|
37
|
-
*/
|
|
38
|
-
onUpdate?: (update: SubAgentUpdate) => void | Promise<void>;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* One entry in a {@link Agent.resumeManyAsTool} batch — a single paused
|
|
42
|
-
* sub-agent to resume. Mirrors the positional args of the singular
|
|
43
|
-
* {@link Agent.resumeAsTool}, plus an optional host `key` echoed back on the
|
|
44
|
-
* matching outcome so callers can correlate results without relying on array
|
|
45
|
-
* order.
|
|
46
|
-
*/
|
|
47
|
-
export interface SubAgentResumeRequest {
|
|
48
|
-
/** The paused run's id (the `subRunId` from its pause chunk/snapshot). */
|
|
49
|
-
subRunId: string;
|
|
50
|
-
/** The sub-agent instance to resume (each item may be a different agent). */
|
|
51
|
-
agent: Agent;
|
|
52
|
-
/** Client tool-results for a `client_tool` pause (one per pending id). */
|
|
53
|
-
clientToolResults?: ReadonlyArray<{
|
|
54
|
-
toolCallId: string;
|
|
55
|
-
result: unknown;
|
|
56
|
-
}>;
|
|
57
|
-
/** Approved ids for an `approval` pause. */
|
|
58
|
-
approvedToolCallIds?: string[];
|
|
59
|
-
/** Rejected ids for an `approval` pause. */
|
|
60
|
-
rejectedToolCallIds?: string[];
|
|
61
|
-
/** Opaque correlation key echoed back on this item's outcome. */
|
|
62
|
-
key?: string;
|
|
63
|
-
}
|
|
64
|
-
/** Outcome for a single item in a {@link Agent.resumeManyAsTool} batch. */
|
|
65
|
-
export type SubAgentResumeOutcome = {
|
|
66
|
-
key?: string;
|
|
67
|
-
originalSubRunId: string;
|
|
68
|
-
kind: 'completed';
|
|
69
|
-
response: AgentResponse;
|
|
70
|
-
} | {
|
|
71
|
-
key?: string;
|
|
72
|
-
originalSubRunId: string;
|
|
73
|
-
kind: 'paused';
|
|
74
|
-
subRunId: string;
|
|
75
|
-
pauseKind: SubAgentPauseKind;
|
|
76
|
-
pendingToolCallIds: string[];
|
|
77
|
-
toolCall?: ToolCall;
|
|
78
|
-
isClientTool?: boolean;
|
|
79
|
-
} | {
|
|
80
|
-
key?: string;
|
|
81
|
-
originalSubRunId: string;
|
|
82
|
-
kind: 'error';
|
|
83
|
-
error: Error;
|
|
84
|
-
};
|
|
85
|
-
export interface SubAgentResumeManyOptions {
|
|
86
|
-
/** Shared run store all the snapshots live in. */
|
|
87
|
-
runStore: SubAgentRunStore;
|
|
88
|
-
/**
|
|
89
|
-
* What to do when one item fails (expired/forged `subRunId`, duplicate
|
|
90
|
-
* result id, inner error):
|
|
91
|
-
* - `'capture'` (default) — record it as a `{ kind: 'error' }` outcome and
|
|
92
|
-
* let the rest of the batch resume; the aggregated round-trip still
|
|
93
|
-
* returns.
|
|
94
|
-
* - `'throw'` — reject the whole call on the first failure, matching the
|
|
95
|
-
* singular `resumeAsTool` strictness.
|
|
96
|
-
*/
|
|
97
|
-
onError?: 'capture' | 'throw';
|
|
98
|
-
/**
|
|
99
|
-
* - `'parallel'` (default) — resume all snapshots concurrently. Snapshots
|
|
100
|
-
* are independent and `consume()` is per-id atomic, so this is safe and
|
|
101
|
-
* fastest.
|
|
102
|
-
* - `'serial'` — resume one at a time in array order, for deterministic
|
|
103
|
-
* side-effect ordering when sub-agents touch shared state.
|
|
104
|
-
*/
|
|
105
|
-
concurrency?: 'parallel' | 'serial';
|
|
106
|
-
/**
|
|
107
|
-
* Shared live-progress projector applied to every resumed item — same option
|
|
108
|
-
* as {@link SubAgentResumeOptions.streaming}. Unset → every item resumes
|
|
109
|
-
* non-streaming (legacy behavior). Set → each item streams and its projected
|
|
110
|
-
* updates flow to {@link onUpdate} tagged with the originating request.
|
|
111
|
-
*/
|
|
112
|
-
streaming?: AsToolStreamingOption;
|
|
113
|
-
/**
|
|
114
|
-
* Sink for projected updates across the whole batch. Only fires when
|
|
115
|
-
* {@link streaming} is set. Each call carries the originating item's `key`
|
|
116
|
-
* (when supplied) and `originalSubRunId`, so a host can correlate a chunk
|
|
117
|
-
* back to its request and fan it out (e.g. to a per-sub-agent SSE channel).
|
|
118
|
-
*/
|
|
119
|
-
onUpdate?: (update: SubAgentUpdate, ctx: {
|
|
120
|
-
key?: string;
|
|
121
|
-
originalSubRunId: string;
|
|
122
|
-
}) => void | Promise<void>;
|
|
123
|
-
}
|
|
124
|
-
/** Aggregated result of a {@link Agent.resumeManyAsTool} batch. */
|
|
125
|
-
export interface SubAgentResumeManyResult {
|
|
126
|
-
/** Every item's outcome, in input order. */
|
|
127
|
-
results: SubAgentResumeOutcome[];
|
|
128
|
-
/** The items that paused again (need another client round-trip). */
|
|
129
|
-
paused: Extract<SubAgentResumeOutcome, {
|
|
130
|
-
kind: 'paused';
|
|
131
|
-
}>[];
|
|
132
|
-
/** The items that ran to completion. */
|
|
133
|
-
completed: Extract<SubAgentResumeOutcome, {
|
|
134
|
-
kind: 'completed';
|
|
135
|
-
}>[];
|
|
136
|
-
/** The items that failed (only populated under `onError: 'capture'`). */
|
|
137
|
-
errors: Extract<SubAgentResumeOutcome, {
|
|
138
|
-
kind: 'error';
|
|
139
|
-
}>[];
|
|
140
|
-
/**
|
|
141
|
-
* All pending tool-call ids across every paused item, flattened — the
|
|
142
|
-
* single set the host gathers client results / approvals for before the
|
|
143
|
-
* next `resumeManyAsTool`. Empty when nothing paused.
|
|
144
|
-
*/
|
|
145
|
-
pendingToolCallIds: string[];
|
|
146
|
-
/**
|
|
147
|
-
* `true` when nothing is still paused and no item errored — i.e. there is
|
|
148
|
-
* no further round-trip to do. Loop `resumeManyAsTool` until this is `true`.
|
|
149
|
-
*/
|
|
150
|
-
allCompleted: boolean;
|
|
151
|
-
}
|
|
152
|
-
export declare abstract class Agent {
|
|
153
|
-
/** System instructions for this agent */
|
|
154
|
-
abstract instructions(): string;
|
|
155
|
-
/** Model string (e.g. 'anthropic/claude-sonnet-4-5'). Defaults to registry default. */
|
|
156
|
-
model(): string | undefined;
|
|
157
|
-
/** Failover provider/model strings */
|
|
158
|
-
failover(): string[];
|
|
159
|
-
/** Maximum iterations for the tool loop (default: 20) */
|
|
160
|
-
maxSteps(): number;
|
|
161
|
-
/** Per-step control — override model, tools, messages per iteration */
|
|
162
|
-
prepareStep?(_ctx: {
|
|
163
|
-
stepNumber: number;
|
|
164
|
-
steps: AgentStep[];
|
|
165
|
-
messages: AiMessage[];
|
|
166
|
-
}): PrepareStepResult | Promise<PrepareStepResult>;
|
|
167
|
-
/** Stop conditions — combine with array (OR logic) */
|
|
168
|
-
stopWhen(): StopCondition | StopCondition[];
|
|
169
|
-
/** Temperature (0-1) */
|
|
170
|
-
temperature(): number | undefined;
|
|
171
|
-
/** Max tokens for response */
|
|
172
|
-
maxTokens(): number | undefined;
|
|
173
|
-
/**
|
|
174
|
-
* Declarative prompt-cache configuration.
|
|
175
|
-
*
|
|
176
|
-
* Override on a subclass to mark stable parts of the prompt as cacheable
|
|
177
|
-
* — provider adapters translate to native primitives (Anthropic
|
|
178
|
-
* `cache_control`, OpenAI `prompt_cache_key`, Google `cachedContent`)
|
|
179
|
-
* so cache hits can save 50–90% on input tokens for long system prompts,
|
|
180
|
-
* tool definitions, or stable conversation context.
|
|
181
|
-
*
|
|
182
|
-
* Returning `undefined` (the default) means no caching. Per-call override
|
|
183
|
-
* via `agent.prompt(input, { cache: false })` disables caching for that
|
|
184
|
-
* call; passing a {@link CacheableConfig} for `cache` replaces the agent
|
|
185
|
-
* default for that call.
|
|
186
|
-
*
|
|
187
|
-
* @example
|
|
188
|
-
* class SupportAgent extends Agent {
|
|
189
|
-
* instructions() { return LONG_SYSTEM_PROMPT }
|
|
190
|
-
* tools() { return [tool1, tool2, tool3] }
|
|
191
|
-
* cacheable() {
|
|
192
|
-
* return { instructions: true, tools: true }
|
|
193
|
-
* }
|
|
194
|
-
* }
|
|
195
|
-
*/
|
|
196
|
-
cacheable(): CacheableConfig | undefined;
|
|
197
|
-
/**
|
|
198
|
-
* Opt into auto-persisted conversation behavior. Override on a subclass
|
|
199
|
-
* to declare *which* user owns the thread and (optionally) which
|
|
200
|
-
* specific thread, and the framework will load history before each
|
|
201
|
-
* `prompt()`/`stream()` call and append the new turn after it — without
|
|
202
|
-
* any caller having to remember `forUser()` / `continue()`.
|
|
203
|
-
*
|
|
204
|
-
* Returning `false` (the default) disables auto-persist; the agent runs
|
|
205
|
-
* stateless. Returning a {@link ConversationalSpec} opts in:
|
|
206
|
-
*
|
|
207
|
-
* @example
|
|
208
|
-
* class ChatAgent extends Agent {
|
|
209
|
-
* conversational() {
|
|
210
|
-
* return { user: Auth.user()?.id } // null user → falsy → opt-out
|
|
211
|
-
* }
|
|
212
|
-
* }
|
|
213
|
-
*
|
|
214
|
-
* await new ChatAgent().prompt('Hi') // auto-loads + auto-saves
|
|
215
|
-
*
|
|
216
|
-
* **Precedence (high → low):**
|
|
217
|
-
* 1. Explicit `agent.forUser(id).prompt()` / `agent.continue(id).prompt()`
|
|
218
|
-
* 2. Per-call `prompt(input, { conversation: false | {...} })`
|
|
219
|
-
* 3. This method's return value
|
|
220
|
-
*
|
|
221
|
-
* Async returns are supported — useful when the user identity is fetched
|
|
222
|
-
* from an async DI binding.
|
|
223
|
-
*/
|
|
224
|
-
conversational(): false | ConversationalSpec | Promise<false | ConversationalSpec>;
|
|
225
|
-
/**
|
|
226
|
-
* Opt this agent class into per-user memory beyond conversation history
|
|
227
|
-
* (#A4). Returns a {@link RemembersSpec} naming the user whose memory
|
|
228
|
-
* the agent reads/writes, and how injection / extraction should behave.
|
|
229
|
-
* Returning `false` (the default) leaves the agent memory-stateless.
|
|
230
|
-
*
|
|
231
|
-
* Phase 1 wires the declaration + the per-call precedence chain so
|
|
232
|
-
* apps and downstream phases (auto-inject middleware in Phase 2,
|
|
233
|
-
* auto-extract middleware in Phase 3) can read a consistent spec.
|
|
234
|
-
* Calling this method directly today produces no runtime behavior
|
|
235
|
-
* unless application code reads it via `resolveRemembersSpec()`.
|
|
236
|
-
*
|
|
237
|
-
* **Precedence (high → low):**
|
|
238
|
-
* 1. Per-call `prompt(input, { memory: false | {...} })`
|
|
239
|
-
* 2. This method's return value
|
|
240
|
-
*
|
|
241
|
-
* Async returns are supported — useful when the user identity is fetched
|
|
242
|
-
* from an async DI binding.
|
|
243
|
-
*
|
|
244
|
-
* @example
|
|
245
|
-
* class SupportAgent extends Agent {
|
|
246
|
-
* remembers() { return { user: ctx.user.id, inject: 'auto', tags: ['support'] } }
|
|
247
|
-
* }
|
|
248
|
-
*/
|
|
249
|
-
remembers(): false | RemembersSpec | Promise<false | RemembersSpec>;
|
|
250
|
-
/**
|
|
251
|
-
* Default for `AgentPromptOptions.parallelTools`. When `true` (default),
|
|
252
|
-
* multiple tool calls within a single step run their `execute()` functions
|
|
253
|
-
* concurrently. Override on a subclass to flip the default for an agent
|
|
254
|
-
* whose tools share non-idempotent state. Per-call options still win.
|
|
255
|
-
*/
|
|
256
|
-
parallelTools(): boolean;
|
|
257
|
-
/** Run the agent with a prompt (non-streaming) */
|
|
258
|
-
prompt(input: string, options?: AgentPromptOptions): Promise<AgentResponse>;
|
|
259
|
-
/** Run the agent with a prompt (streaming) */
|
|
260
|
-
stream(input: string, options?: AgentPromptOptions): AgentStreamResponse;
|
|
261
|
-
/** Queue the prompt for background execution */
|
|
262
|
-
queue(input: string, options?: AgentPromptOptions): QueuedPromptBuilder;
|
|
263
|
-
/** Set the user scope for conversation persistence */
|
|
264
|
-
forUser(userId: string): ConversableAgent;
|
|
265
|
-
/** Continue an existing conversation */
|
|
266
|
-
continue(conversationId: string): ConversableAgent;
|
|
267
|
-
/**
|
|
268
|
-
* Wrap this agent as a tool another agent can call (the "subagents"
|
|
269
|
-
* pattern). The returned tool is fully-formed — pass it directly into the
|
|
270
|
-
* parent agent's `tools()` array. When the parent calls it, this agent
|
|
271
|
-
* runs its own loop end-to-end (its own model, tools, middleware) and
|
|
272
|
-
* returns a single result.
|
|
273
|
-
*
|
|
274
|
-
* Defaults are tuned for the zero-config case:
|
|
275
|
-
* - `inputSchema` defaults to `{ prompt: string }` and the agent is
|
|
276
|
-
* invoked with `input.prompt`.
|
|
277
|
-
* - The parent model only sees `response.text` on its next step
|
|
278
|
-
* (override with `modelOutput`); the UI still receives the full
|
|
279
|
-
* `AgentResponse` via the `tool-result` chunk.
|
|
280
|
-
*
|
|
281
|
-
* @example Zero-config
|
|
282
|
-
* const research = researchAgent.asTool({
|
|
283
|
-
* name: 'research',
|
|
284
|
-
* description: 'Research a topic in depth.',
|
|
285
|
-
* })
|
|
286
|
-
*
|
|
287
|
-
* @example Custom schema + prompt mapper
|
|
288
|
-
* const research = researchAgent.asTool({
|
|
289
|
-
* name: 'research',
|
|
290
|
-
* description: 'Research a topic in depth.',
|
|
291
|
-
* inputSchema: z.object({ topic: z.string(), depth: z.enum(['quick', 'deep']) }),
|
|
292
|
-
* prompt: ({ topic, depth }) => `Research ${topic} (${depth}).`,
|
|
293
|
-
* })
|
|
294
|
-
*/
|
|
295
|
-
asTool<TInput extends z.ZodType>(options: {
|
|
296
|
-
name: string;
|
|
297
|
-
description: string;
|
|
298
|
-
inputSchema: TInput;
|
|
299
|
-
prompt: (input: z.infer<TInput>) => string;
|
|
300
|
-
modelOutput?: (response: AgentResponse) => string | Promise<string>;
|
|
301
|
-
streaming?: AsToolStreamingOption;
|
|
302
|
-
suspendable?: AsToolSuspendableOption;
|
|
303
|
-
}): ServerToolBuilder<z.infer<TInput>, AgentResponse>;
|
|
304
|
-
asTool(options: {
|
|
305
|
-
name: string;
|
|
306
|
-
description: string;
|
|
307
|
-
modelOutput?: (response: AgentResponse) => string | Promise<string>;
|
|
308
|
-
streaming?: AsToolStreamingOption;
|
|
309
|
-
suspendable?: AsToolSuspendableOption;
|
|
310
|
-
}): ServerToolBuilder<{
|
|
311
|
-
prompt: string;
|
|
312
|
-
}, AgentResponse>;
|
|
313
|
-
/**
|
|
314
|
-
* Resume a sub-agent run that previously paused with either
|
|
315
|
-
* `pauseForClientTools` (client-tool pause) or `pauseForApproval`
|
|
316
|
-
* (approval pause), typically from {@link Agent.asTool} with
|
|
317
|
-
* `suspendable: { runStore }` set. The snapshot's `pauseKind`
|
|
318
|
-
* (default `'client_tool'`) selects the resume contract:
|
|
319
|
-
*
|
|
320
|
-
* - **`client_tool`** — `clientToolResults` must carry one entry per
|
|
321
|
-
* id in the snapshot's `pendingToolCallIds`. Results are appended
|
|
322
|
-
* to the inner-agent message history and the loop re-runs.
|
|
323
|
-
* - **`approval`** — `approvedToolCallIds` and/or
|
|
324
|
-
* `rejectedToolCallIds` must reference the single pending id.
|
|
325
|
-
* `clientToolResults` must be empty; the loop re-runs with the
|
|
326
|
-
* approval decision injected via `AgentPromptOptions`.
|
|
327
|
-
*
|
|
328
|
-
* Returns either a `'completed'` result (the inner agent finished),
|
|
329
|
-
* a `'paused'` continuation pointing at a fresh `subRunId` for the
|
|
330
|
-
* next round-trip, or stays `'paused'` if the inner loop hits another
|
|
331
|
-
* gate. The resume can pause on a different kind than it started on
|
|
332
|
-
* (e.g. an approval pause that, once approved, hits a client-tool
|
|
333
|
-
* pause on the next step).
|
|
334
|
-
*
|
|
335
|
-
* @example Client-tool resume
|
|
336
|
-
* const r = await Agent.resumeAsTool(subRunId, browserResults, { runStore, agent: subAgent })
|
|
337
|
-
*
|
|
338
|
-
* @example Approval resume
|
|
339
|
-
* const r = await Agent.resumeAsTool(subRunId, [], {
|
|
340
|
-
* runStore, agent: subAgent,
|
|
341
|
-
* approvedToolCallIds: ['inner-call-id'],
|
|
342
|
-
* })
|
|
343
|
-
*/
|
|
344
|
-
static resumeAsTool(subRunId: string, clientToolResults: ReadonlyArray<{
|
|
345
|
-
toolCallId: string;
|
|
346
|
-
result: unknown;
|
|
347
|
-
}>, options: SubAgentResumeOptions): Promise<{
|
|
348
|
-
kind: 'completed';
|
|
349
|
-
response: AgentResponse;
|
|
350
|
-
} | {
|
|
351
|
-
kind: 'paused';
|
|
352
|
-
subRunId: string;
|
|
353
|
-
pauseKind: SubAgentPauseKind;
|
|
354
|
-
pendingToolCallIds: string[];
|
|
355
|
-
toolCall?: ToolCall;
|
|
356
|
-
isClientTool?: boolean;
|
|
357
|
-
}>;
|
|
358
|
-
/**
|
|
359
|
-
* Resume MANY paused sub-agents in one call and aggregate their pending
|
|
360
|
-
* tool calls into a single client round-trip.
|
|
361
|
-
*
|
|
362
|
-
* When an orchestrator dispatches several sub-agents in one parent turn
|
|
363
|
-
* and more than one pauses on a client tool (or approval gate), the host
|
|
364
|
-
* would otherwise loop over {@link Agent.resumeAsTool} by hand and stitch
|
|
365
|
-
* the pending sets back together. This does that: each request resumes its
|
|
366
|
-
* own `(subRunId, agent)` snapshot, and the result carries the combined
|
|
367
|
-
* `completed` / `paused` / `errors` partition plus the flattened
|
|
368
|
-
* `pendingToolCallIds` the host collects the next batch of results for.
|
|
369
|
-
*
|
|
370
|
-
* Re-entrant: feed the next round of `clientToolResults` / approvals back
|
|
371
|
-
* in as a fresh batch keyed off each paused item's NEW `subRunId` until
|
|
372
|
-
* `allCompleted` is `true`.
|
|
373
|
-
*
|
|
374
|
-
* @example
|
|
375
|
-
* let batch = await Agent.resumeManyAsTool(
|
|
376
|
-
* paused.map(p => ({ subRunId: p.subRunId, agent: p.agent, clientToolResults: results[p.subRunId] })),
|
|
377
|
-
* { runStore },
|
|
378
|
-
* )
|
|
379
|
-
* // batch.pendingToolCallIds → gather the next round from the browser, repeat.
|
|
380
|
-
*/
|
|
381
|
-
static resumeManyAsTool(requests: ReadonlyArray<SubAgentResumeRequest>, options: SubAgentResumeManyOptions): Promise<SubAgentResumeManyResult>;
|
|
382
|
-
}
|
|
383
|
-
/**
|
|
384
|
-
* Projects an inner-agent {@link StreamChunk} into a {@link SubAgentUpdate} the
|
|
385
|
-
* host can render, or `null` to suppress it. Used by both {@link Agent.asTool}
|
|
386
|
-
* (`streaming`) and the streaming resume path ({@link SubAgentResumeOptions.streaming}).
|
|
387
|
-
*
|
|
388
|
-
* On the resume paths the projector also receives a `ctx` 2nd arg carrying the
|
|
389
|
-
* originating sub-run's `originalSubRunId` (and the host `key` when batched via
|
|
390
|
-
* {@link Agent.resumeManyAsTool}), so a side-effect projector can fan a raw
|
|
391
|
-
* chunk out to the correct per-sub-agent channel and return `null`:
|
|
392
|
-
*
|
|
393
|
-
* ```ts
|
|
394
|
-
* streaming: (chunk, ctx) => { pumpToChannel(ctx!.originalSubRunId, chunk); return null }
|
|
395
|
-
* ```
|
|
396
|
-
*
|
|
397
|
-
* `ctx` is optional — {@link Agent.asTool}'s initial-dispatch path omits it, and
|
|
398
|
-
* existing projectors that ignore the arg are unaffected.
|
|
399
|
-
*/
|
|
400
|
-
export type ChunkProjector = (chunk: StreamChunk, ctx?: {
|
|
401
|
-
originalSubRunId: string;
|
|
402
|
-
key?: string;
|
|
403
|
-
}) => SubAgentUpdate | null;
|
|
404
|
-
/**
|
|
405
|
-
* Live-progress option shared by {@link Agent.asTool} and the streaming resume
|
|
406
|
-
* surface: `true` uses {@link defaultSubAgentProjector}; a function is your own
|
|
407
|
-
* {@link ChunkProjector}.
|
|
408
|
-
*/
|
|
409
|
-
export type AsToolStreamingOption = boolean | ChunkProjector;
|
|
410
|
-
type AsToolSuspendableOption = {
|
|
411
|
-
runStore: SubAgentRunStore;
|
|
412
|
-
};
|
|
413
|
-
/**
|
|
414
|
-
* Wraps an Agent to add conversation memory.
|
|
415
|
-
* Created via `agent.forUser(id)` or `agent.continue(id)`.
|
|
416
|
-
*/
|
|
417
|
-
export declare class ConversableAgent {
|
|
418
|
-
private readonly agent;
|
|
419
|
-
private _userId;
|
|
420
|
-
private _conversationId;
|
|
421
|
-
constructor(agent: Agent);
|
|
422
|
-
forUser(userId: string): this;
|
|
423
|
-
continue(conversationId: string): this;
|
|
424
|
-
prompt(input: string, options?: AgentPromptOptions): Promise<AgentResponse>;
|
|
425
|
-
stream(input: string, options?: AgentPromptOptions): AgentStreamResponse;
|
|
426
|
-
/**
|
|
427
|
-
* Translate the wrapper's explicit-form state (`forUser` / `continue`)
|
|
428
|
-
* into a {@link ConversationalSpec}. The explicit chain bypasses the
|
|
429
|
-
* agent's `conversational()` declaration entirely — `forUser` always
|
|
430
|
-
* wins over class defaults.
|
|
431
|
-
*/
|
|
432
|
-
private toSpec;
|
|
433
|
-
}
|
|
434
|
-
/**
|
|
435
|
-
* Create an anonymous agent inline.
|
|
436
|
-
*
|
|
437
|
-
* @example
|
|
438
|
-
* const response = await agent('You are helpful.').prompt('Hello')
|
|
439
|
-
*
|
|
440
|
-
* @example
|
|
441
|
-
* const response = await agent({
|
|
442
|
-
* instructions: 'You are a search assistant.',
|
|
443
|
-
* tools: [searchTool],
|
|
444
|
-
* model: 'anthropic/claude-sonnet-4-5',
|
|
445
|
-
* }).prompt('Find users named John')
|
|
446
|
-
*/
|
|
447
|
-
export declare function agent(instructionsOrOptions: string | {
|
|
448
|
-
instructions: string;
|
|
449
|
-
tools?: AnyTool[] | undefined;
|
|
450
|
-
model?: string | undefined;
|
|
451
|
-
middleware?: AiMiddleware[] | undefined;
|
|
452
|
-
}): Agent & HasTools & HasMiddleware;
|
|
453
|
-
/** Set the global conversation store (called by service provider or manually) */
|
|
454
|
-
export declare function setConversationStore(store: ConversationStore): void;
|
|
455
|
-
/**
|
|
456
|
-
* Set the global {@link UserMemory} (called by `AiProvider` from
|
|
457
|
-
* `AiConfig.memory`, or manually for tests / standalone setups).
|
|
458
|
-
* Phase 2/3 middleware reads it via `resolveUserMemory()` —
|
|
459
|
-
* imported by the persistence layer the same way
|
|
460
|
-
* `resolveConversationStore` is wired today.
|
|
461
|
-
*/
|
|
462
|
-
export declare function setUserMemory(memory: UserMemory): void;
|
|
463
|
-
export declare function resolveUserMemory(): UserMemory | undefined;
|
|
464
|
-
/**
|
|
465
|
-
* Mutable state shared between the non-streaming and streaming agent loops.
|
|
466
|
-
* Helpers (`runFailover`, `emitObserverFailed`, `emitObserverCompleted`,
|
|
467
|
-
* `buildAgentResponse`) read and write this struct so the same orchestration
|
|
468
|
-
* logic serves both `prompt()` and `stream()` callers.
|
|
469
|
-
*/
|
|
470
|
-
export interface LoopContext {
|
|
471
|
-
readonly agent: Agent;
|
|
472
|
-
readonly input: string;
|
|
473
|
-
readonly options: AgentPromptOptions | undefined;
|
|
474
|
-
readonly modelString: string;
|
|
475
|
-
readonly providerName: string;
|
|
476
|
-
readonly tools: AnyTool[];
|
|
477
|
-
readonly toolMap: Map<string, AnyTool>;
|
|
478
|
-
readonly toolSchemas: ReturnType<typeof toolToSchema>[];
|
|
479
|
-
readonly middlewares: AiMiddleware[];
|
|
480
|
-
readonly loopStart: number;
|
|
481
|
-
readonly ctx: MiddlewareContext & {
|
|
482
|
-
readonly _aborted: boolean;
|
|
483
|
-
readonly _abortReason: string;
|
|
484
|
-
};
|
|
485
|
-
readonly messages: AiMessage[];
|
|
486
|
-
readonly steps: AgentStep[];
|
|
487
|
-
readonly totalUsage: TokenUsage;
|
|
488
|
-
readonly pendingClientToolCalls: ToolCall[];
|
|
489
|
-
pendingApprovalToolCall: {
|
|
490
|
-
toolCall: ToolCall;
|
|
491
|
-
isClientTool: boolean;
|
|
492
|
-
} | undefined;
|
|
493
|
-
loopFinishReason: FinishReason | undefined;
|
|
494
|
-
stopForClientTools: boolean;
|
|
495
|
-
stopForApproval: boolean;
|
|
496
|
-
resumedToolMessages: AiMessage[];
|
|
497
|
-
failoverAttempts: number;
|
|
498
|
-
/**
|
|
499
|
-
* Set by the tool phase when the model called a {@link handoff} tool.
|
|
500
|
-
* Triggers the parent loop to break and the handoff wrapper to construct
|
|
501
|
-
* the child agent and continue with the carried message history.
|
|
502
|
-
*/
|
|
503
|
-
pendingHandoff?: PendingHandoff;
|
|
504
|
-
stopForHandoff: boolean;
|
|
505
|
-
}
|
|
506
|
-
export type { PendingHandoff } from './handoffs-driver.js';
|
|
507
|
-
export type { InvalidToolArgumentsError } from './tool-helpers.js';
|
|
508
|
-
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAyD,YAAY,EAAE,MAAM,WAAW,CAAA;AAC/F,OAAO,KAAK,EAAmD,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAGnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AASpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAoBxG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,YAAY,EAEZ,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,eAAe,EAIf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,aAAa,EACb,WAAW,EAEX,QAAQ,EAGR,UAAU,EAEV,UAAU,EACX,MAAM,YAAY,CAAA;AA8BnB,yBAAyB;AACzB,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAEpD;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAK3D;AAID,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,QAAQ,EAAc,gBAAgB,CAAA;IACtC,wCAAwC;IACxC,KAAK,EAAiB,KAAK,CAAA;IAC3B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAY,qBAAqB,CAAA;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,EAAa,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CASvE;AAID;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,QAAQ,EAAc,MAAM,CAAA;IAC5B,6EAA6E;IAC7E,KAAK,EAAiB,KAAK,CAAA;IAC3B,0EAA0E;IAC1E,iBAAiB,CAAC,EAAI,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAC5E,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,iEAAiE;IACjE,GAAG,CAAC,EAAkB,MAAM,CAAA;CAC7B;AAED,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAC7B;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GACtF;IACE,GAAG,CAAC,EAAgB,MAAM,CAAA;IAC1B,gBAAgB,EAAI,MAAM,CAAA;IAC1B,IAAI,EAAgB,QAAQ,CAAA;IAC5B,QAAQ,EAAY,MAAM,CAAA;IAC1B,SAAS,EAAW,iBAAiB,CAAA;IACrC,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAW,QAAQ,CAAA;IAC5B,YAAY,CAAC,EAAO,OAAO,CAAA;CAC5B,GACD;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,yBAAyB;IACxC,kDAAkD;IAClD,QAAQ,EAAM,gBAAgB,CAAA;IAC9B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAM,SAAS,GAAG,OAAO,CAAA;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAI,qBAAqB,CAAA;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAK,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChH;AAED,mEAAmE;AACnE,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,OAAO,EAAa,qBAAqB,EAAE,CAAA;IAC3C,oEAAoE;IACpE,MAAM,EAAc,OAAO,CAAC,qBAAqB,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,EAAE,CAAA;IACxE,wCAAwC;IACxC,SAAS,EAAW,OAAO,CAAC,qBAAqB,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,EAAE,CAAA;IAC3E,yEAAyE;IACzE,MAAM,EAAc,OAAO,CAAC,qBAAqB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,EAAE,CAAA;IACvE;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,EAAQ,OAAO,CAAA;CAC5B;AAID,8BAAsB,KAAK;IACzB,yCAAyC;IACzC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B,uFAAuF;IACvF,KAAK,IAAI,MAAM,GAAG,SAAS;IAE3B,sCAAsC;IACtC,QAAQ,IAAI,MAAM,EAAE;IAEpB,yDAAyD;IACzD,QAAQ,IAAI,MAAM;IAElB,uEAAuE;IACvE,WAAW,CAAC,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAErI,sDAAsD;IACtD,QAAQ,IAAI,aAAa,GAAG,aAAa,EAAE;IAI3C,wBAAwB;IACxB,WAAW,IAAI,MAAM,GAAG,SAAS;IAEjC,8BAA8B;IAC9B,SAAS,IAAI,MAAM,GAAG,SAAS;IAE/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,IAAI,eAAe,GAAG,SAAS;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,IAAI,KAAK,GAAG,kBAAkB,GAAG,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC;IAIlF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,IAAI,KAAK,GAAG,aAAa,GAAG,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;IAInE;;;;;OAKG;IACH,aAAa,IAAI,OAAO;IAExB,kDAAkD;IAC5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBjF,8CAA8C;IAC9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,mBAAmB;IAIxE,gDAAgD;IAChD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,mBAAmB;IAIvE,sDAAsD;IACtD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAIzC,wCAAwC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB;IAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE;QACxC,IAAI,EAAU,MAAM,CAAA;QACpB,WAAW,EAAG,MAAM,CAAA;QACpB,WAAW,EAAG,MAAM,CAAA;QACpB,MAAM,EAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;QAChD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,SAAS,CAAC,EAAI,qBAAqB,CAAA;QACnC,WAAW,CAAC,EAAE,uBAAuB,CAAA;KACtC,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE;QACd,IAAI,EAAU,MAAM,CAAA;QACpB,WAAW,EAAG,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,SAAS,CAAC,EAAI,qBAAqB,CAAA;QACnC,WAAW,CAAC,EAAE,uBAAuB,CAAA;KACtC,GAAG,iBAAiB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,aAAa,CAAC;IAuHxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACU,YAAY,CACvB,QAAQ,EAAW,MAAM,EACzB,iBAAiB,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,EACzE,OAAO,EAAY,qBAAqB,GACvC,OAAO,CACN;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,GAC9C;QACE,IAAI,EAAgB,QAAQ,CAAA;QAC5B,QAAQ,EAAY,MAAM,CAAA;QAC1B,SAAS,EAAW,iBAAiB,CAAA;QACrC,kBAAkB,EAAE,MAAM,EAAE,CAAA;QAC5B,QAAQ,CAAC,EAAW,QAAQ,CAAA;QAC5B,YAAY,CAAC,EAAO,OAAO,CAAA;KAC5B,CACJ;IAqID;;;;;;;;;;;;;;;;;;;;;;OAsBG;WACU,gBAAgB,CAC3B,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,EAC9C,OAAO,EAAG,yBAAyB,GAClC,OAAO,CAAC,wBAAwB,CAAC;CAwDrC;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,WAAW,EAClB,GAAG,CAAC,EAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,KAC9C,cAAc,GAAG,IAAI,CAAA;AA+B1B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAI,OAAO,GAAG,cAAc,CAAA;AAC7D,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAkD7D;;;GAGG;AACH,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAoB;gBAEd,KAAK,EAAE,KAAK;IAEzC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAKhC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBjF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,mBAAmB;IAkBxE;;;;;OAKG;IACH,OAAO,CAAC,MAAM;CAKf;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CACnB,qBAAqB,EAAE,MAAM,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;CACxC,GACA,KAAK,GAAG,QAAQ,GAAG,aAAa,CAKlC;AAQD,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAEnE;AAUD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEtD;AAED,wBAAgB,iBAAiB,IAAI,UAAU,GAAG,SAAS,CAE1D;AAiPD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAE1B,QAAQ,CAAC,KAAK,EAAS,KAAK,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAS,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAO,kBAAkB,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,WAAW,EAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAS,OAAO,EAAE,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,QAAQ,CAAC,WAAW,EAAG,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,CAAA;IACxD,QAAQ,CAAC,WAAW,EAAG,YAAY,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAK,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAW,iBAAiB,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAGxG,QAAQ,CAAC,QAAQ,EAAkB,SAAS,EAAE,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAqB,SAAS,EAAE,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAgB,UAAU,CAAA;IAC7C,QAAQ,CAAC,sBAAsB,EAAI,QAAQ,EAAE,CAAA;IAC7C,uBAAuB,EAAY;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;IAC5F,gBAAgB,EAAmB,YAAY,GAAG,SAAS,CAAA;IAC3D,kBAAkB,EAAiB,OAAO,CAAA;IAC1C,eAAe,EAAoB,OAAO,CAAA;IAC1C,mBAAmB,EAAgB,SAAS,EAAE,CAAA;IAC9C,gBAAgB,EAAmB,MAAM,CAAA;IACzC;;;;OAIG;IACH,cAAc,CAAC,EAAoB,cAAc,CAAA;IACjD,cAAc,EAAqB,OAAO,CAAA;CAC3C;AAED,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAgrB1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA"}
|