Skip to content

PURISTA API


PURISTA API / @purista/ai / AgentBuilder

Class: AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:172

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

Constructors

Constructor

new AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>(info): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:201

Parameters

info

AgentInfo

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Methods

addContextSchema()

addContextSchema(schema): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:432

Parameters

schema

Schema

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


addOutputSchema()

addOutputSchema(schema): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:425

Parameters

schema

Schema

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


addParameterSchema()

addParameterSchema(schema): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:417

Parameters

schema

Schema

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


addPayloadSchema()

addPayloadSchema(schema): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:405

Parameters

schema

Schema

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


allowTool()

allowTool(tool): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:387

Parameters

tool

AllowedToolDefinition

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


build()

build(): AgentDefinition<KnowledgeAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:1088

Returns

AgentDefinition<KnowledgeAliases>


defineModel()

defineModel<Alias, Caps>(alias, options?): 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>

Defined in: packages/ai/src/builder/AgentBuilder.ts:241

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>

Defined in: packages/ai/src/builder/AgentBuilder.ts:442

Parameters

method

string

path

string

contentTypeRequest?

string

contentEncodingRequest?

string

contentTypeResponse?

string

contentEncodingResponse?

string

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


makeEndpointPublic()

makeEndpointPublic(): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:478

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


persistConversation()

Call Signature

persistConversation(config): this

Defined in: packages/ai/src/builder/AgentBuilder.ts:348

Configure conversation persistence.

You can either pass a full config object or use presets:

  • persistConversation('user') defaults to full strategy with a larger frame budget
  • persistConversation('agent') defaults to summary strategy with a smaller frame budget
Parameters
config

AgentSessionConfig

Returns

this

Example
ts
new AgentBuilder({ agentName: 'supportAgent', agentVersion: '1' })
  .persistConversation('user')

Call Signature

persistConversation(preset, overrides?): this

Defined in: packages/ai/src/builder/AgentBuilder.ts:349

Configure conversation persistence.

You can either pass a full config object or use presets:

  • persistConversation('user') defaults to full strategy with a larger frame budget
  • persistConversation('agent') defaults to summary strategy with a smaller frame budget
Parameters
preset

AgentHistoryPreset

overrides?

Partial<AgentSessionConfig>

Returns

this

Example
ts
new AgentBuilder({ agentName: 'supportAgent', agentVersion: '1' })
  .persistConversation('user')

setContextSchema()

setContextSchema(schema): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:438

Parameters

schema

Schema

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setDescription()

setDescription(description): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:223

Parameters

description

string

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setEvaluation()

setEvaluation(profile): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:397

Parameters

profile

Record<string, unknown>

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setHandler()

setHandler<Payload, Parameter, Resources, Models>(fn): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:486

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>

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setInputSchema()

setInputSchema(schema): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:413

Parameters

schema

Schema

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setKnowledge()

setKnowledge(adapters): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:382

Parameters

adapters

KnowledgeAdapterConfig[] | undefined

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setMemory()

setMemory(config): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:378

Parameters

config

AgentSessionConfig | undefined

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setModelResource()

setModelResource(resource): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:368

Parameters

resource

{ resourceName: string; variant?: string; } | undefined

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setRetryPolicy()

setRetryPolicy(policy): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:373

Parameters

policy

RetryPolicy

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setRuntime()

setRuntime(mode): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:360

Parameters

mode

string

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setStreamingMode()

setStreamingMode(mode): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:470

Parameters

mode

"sse" | "chunked" | "buffered"

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


setTelemetry()

setTelemetry(config): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:392

Parameters

config

{ attributes?: Record<string, string | number | boolean>; } | undefined

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


useEventBridge()

useEventBridge(name): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:228

Parameters

name

string

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


useKnowledgeAdapter()

Call Signature

useKnowledgeAdapter<Alias>(adapterName, options?): AgentBuilder<KnowledgeAliases | Alias, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:291

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:303

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>

Defined in: packages/ai/src/builder/AgentBuilder.ts:233

Parameters

alias

string

resource
resourceName

string

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>


useSessionStore()

useSessionStore(config): AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>

Defined in: packages/ai/src/builder/AgentBuilder.ts:286

Parameters

config

AgentSessionConfig

Returns

AgentBuilder<KnowledgeAliases, ModelAliases, TextAliases, StreamAliases, EmbeddingAliases, RerankAliases, ObjectAliases>