PURISTA API / @purista/ai / AgentBuilder
Class: AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:295
Type Parameters
KnowledgeAliases
KnowledgeAliases extends string = never
ModelAliases
ModelAliases extends string = never
TextAliases
TextAliases extends string = never
StreamAliases
StreamAliases extends string = never
EmbeddingAliases
EmbeddingAliases extends string = never
RerankAliases
RerankAliases extends string = never
ObjectAliases
ObjectAliases extends string = never
AgentInvokes
AgentInvokes extends AgentInvokeList = AgentInvokeList
Constructors
Constructor
new AgentBuilder<
KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>(info):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:328
Parameters
info
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
Methods
addContextSchema()
addContextSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:676
Parameters
schema
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
addOutputSchema()
addOutputSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:669
Parameters
schema
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
addParameterSchema()
addParameterSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:661
Parameters
schema
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
addPayloadSchema()
addPayloadSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:649
Parameters
schema
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
build()
build():
AgentDefinition<KnowledgeAliases>
Defined in: packages/ai/src/builder/AgentBuilder.ts:1453
Returns
AgentDefinition<KnowledgeAliases>
canEmit()
canEmit<
EventName,T>(eventName,schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:625
Type Parameters
EventName
EventName extends string
T
T extends Schema
Parameters
eventName
EventName
schema
T
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
canInvoke()
canInvoke(
serviceName,serviceVersion,commandName,outputSchema?,payloadSchema?,parameterSchema?):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:518
Parameters
serviceName
string
serviceVersion
string
commandName
string
outputSchema?
payloadSchema?
parameterSchema?
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
canInvokeAgent()
canInvokeAgent<
Payload,Parameter,SName,Version>(agentName,agentVersion,invokeConfigOrParameterSchema?):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes&Record<SName,Record<Version, {call: (payload,parameter?) =>AgentInvocation<{history:any[];message:any; }>; }>>>
Defined in: packages/ai/src/builder/AgentBuilder.ts:555
Type Parameters
Payload
Payload extends Schema = ZodObject<{ attachments: ZodDefault<ZodOptional<ZodArray<ZodAny>>>; conversationId: ZodOptional<ZodString>; history: ZodDefault<ZodOptional<ZodArray<ZodAny>>>; message: ZodString; }, $loose>
Parameter
Parameter extends Schema = Schema
SName
SName extends string = string
Version
Version extends string = string
Parameters
agentName
SName
agentVersion
Version
invokeConfigOrParameterSchema?
Parameter | AgentInvokeConfig<Payload, Parameter>
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes & Record<SName, Record<Version, { call: (payload, parameter?) => AgentInvocation<{ history: any[]; message: any; }>; }>>>
defineModel()
defineModel<
Alias,Caps>(alias,options?):AgentBuilder<KnowledgeAliases,ModelAliases|Alias,TextAliases|ResolveCapability<Caps,"text"> extendstrue?Alias:never,StreamAliases|ResolveCapability<Caps,"stream"> extendstrue?Alias:never,EmbeddingAliases|ResolveCapability<Caps,"embedding"> extendstrue?Alias:never,RerankAliases|ResolveCapability<Caps,"rerank"> extendstrue?Alias:never,ObjectAliases|ResolveCapability<Caps,"json"> extendstrue?Alias:never>
Defined in: packages/ai/src/builder/AgentBuilder.ts:372
Type Parameters
Alias
Alias extends string
Caps
Caps extends readonly AgentModelCapability[] | undefined = undefined
Parameters
alias
Alias
options?
capabilities?
Caps
Returns
AgentBuilder<KnowledgeAliases, ModelAliases | Alias, TextAliases | ResolveCapability<Caps, "text"> extends true ? Alias : never, StreamAliases | ResolveCapability<Caps, "stream"> extends true ? Alias : never, EmbeddingAliases | ResolveCapability<Caps, "embedding"> extends true ? Alias : never, RerankAliases | ResolveCapability<Caps, "rerank"> extends true ? Alias : never, ObjectAliases | ResolveCapability<Caps, "json"> extends true ? Alias : never>
exposeAsHttpEndpoint()
exposeAsHttpEndpoint(
method,path,contentTypeRequest?,contentEncodingRequest?,contentTypeResponse?,contentEncodingResponse?):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:714
Parameters
method
string
path
string
contentTypeRequest?
string
contentEncodingRequest?
string
contentTypeResponse?
string
contentEncodingResponse?
string
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
makeEndpointPublic()
makeEndpointPublic():
AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:766
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
persistConversation()
Call Signature
persistConversation(
config):this
Defined in: packages/ai/src/builder/AgentBuilder.ts:479
Configure conversation persistence.
You can either pass a full config object or use presets:
persistConversation('user')defaults to full strategy with a larger frame budgetpersistConversation('agent')defaults to summary strategy with a smaller frame budget
Parameters
config
Returns
this
Example
new AgentBuilder({ agentName: 'supportAgent', agentVersion: '1' })
.persistConversation('user')Call Signature
persistConversation(
preset,overrides?):this
Defined in: packages/ai/src/builder/AgentBuilder.ts:480
Configure conversation persistence.
You can either pass a full config object or use presets:
persistConversation('user')defaults to full strategy with a larger frame budgetpersistConversation('agent')defaults to summary strategy with a smaller frame budget
Parameters
preset
overrides?
Partial<AgentSessionConfig>
Returns
this
Example
new AgentBuilder({ agentName: 'supportAgent', agentVersion: '1' })
.persistConversation('user')prepareCall()
prepareCall(
hook):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:699
Registers a per-model-call hook that can inject metadata and AI SDK call options dynamically.
Parameters
hook
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
prepareStep()
prepareStep(
hook):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:709
Registers a step-aware hook invoked for each model call.
Use this when call options need to change across iterative refinement passes.
Parameters
hook
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setCallOptionsSchema()
setCallOptionsSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:691
Sets a validation schema for model call options returned by prepareCall / prepareStep.
The schema is validated for every hook result before metadata is merged into model requests.
Parameters
schema
ZodType<AgentModelCallOptions>
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setContextSchema()
setContextSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:682
Parameters
schema
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setDescription()
setDescription(
description):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:354
Parameters
description
string
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setEvaluation()
setEvaluation(
profile):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:641
Parameters
profile
Record<string, unknown>
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setHandler()
setHandler<
Payload,Parameter,Resources,Models>(fn):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:774
Type Parameters
Payload
Payload = unknown
Parameter
Parameter = unknown
Resources
Resources extends Record<string, unknown> = Record<string, unknown>
Models
Models extends Record<string, ModelProvider> = DeclaredModelMap<ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>
Parameters
fn
AgentHandler<Payload, Parameter, Resources, Models, KnowledgeAliases, AgentInvokes>
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setInputSchema()
setInputSchema(
schema):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:657
Parameters
schema
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setKnowledge()
setKnowledge(
adapters):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:513
Parameters
adapters
KnowledgeAdapterConfig[] | undefined
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setMemory()
setMemory(
config):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:509
Parameters
config
AgentSessionConfig | undefined
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setModelResource()
setModelResource(
resource):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:499
Parameters
resource
{ resourceName: string; variant?: string; } | undefined
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setRetryPolicy()
setRetryPolicy(
policy):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:504
Parameters
policy
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setRuntime()
setRuntime(
mode):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:491
Parameters
mode
string
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setSseProtocol()
setSseProtocol(
protocol):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:757
Selects the SSE wire protocol for exposed stream endpoints.
Defaults to purista when not set. This setting is only relevant when streamingMode is stream.
Parameters
protocol
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setStreamingMode()
setStreamingMode(
mode):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:742
Parameters
mode
"stream" | "aggregate"
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setSuccessEventName()
setSuccessEventName(
eventName):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:631
Parameters
eventName
string
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
setTelemetry()
setTelemetry(
config):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:636
Parameters
config
{ attributes?: Record<string, string | number | boolean>; } | undefined
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
useConversationStore()
useConversationStore(
config):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:417
Parameters
config
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
useEventBridge()
useEventBridge(
name):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:359
Parameters
name
string
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
useKnowledgeAdapter()
Call Signature
useKnowledgeAdapter<
Alias>(adapterName,options?):AgentBuilder<KnowledgeAliases|Alias,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases>
Defined in: packages/ai/src/builder/AgentBuilder.ts:422
Type Parameters
Alias
Alias extends string
Parameters
adapterName
Alias
options?
Record<string, unknown>
Returns
AgentBuilder<KnowledgeAliases | Alias, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>
Call Signature
useKnowledgeAdapter<
Adapter>(adapter):AgentBuilder<KnowledgeAliases|Adapter["adapterName"],ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases>
Defined in: packages/ai/src/builder/AgentBuilder.ts:434
Type Parameters
Adapter
Adapter extends object
Parameters
adapter
Adapter
Returns
AgentBuilder<KnowledgeAliases | Adapter["adapterName"], ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>
useResource()
useResource(
alias,resource):AgentBuilder<KnowledgeAliases,ModelAliases,TextAliases,StreamAliases,EmbeddingAliases,RerankAliases,ObjectAliases,AgentInvokes>
Defined in: packages/ai/src/builder/AgentBuilder.ts:364
Parameters
alias
string
resource
resourceName
string
Returns
AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases, AgentInvokes>
