PURISTA API / @purista/core / StreamDefinitionBuilder
Class: StreamDefinitionBuilder<S, C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:38
Type Parameters
S
S extends Service
C
C extends StreamDefinitionBuilderTypes = StreamDefinitionBuilderTypes
Constructors
Constructor
new StreamDefinitionBuilder<
S,C>(streamName,streamDescription,finalEventName?,deprecated?):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:88
Parameters
streamName
string
streamDescription
string
finalEventName?
string
deprecated?
boolean = false
Returns
StreamDefinitionBuilder<S, C>
Methods
addChunkSchema()
addChunkSchema<
ChunkSchema>(chunkSchema,validateChunks?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],ChunkSchema,C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:420
Type Parameters
ChunkSchema
ChunkSchema extends Schema
Parameters
chunkSchema
ChunkSchema
validateChunks?
boolean = true
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], ChunkSchema, C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>
addFinalSchema()
addFinalSchema<
FinalSchema>(finalSchema,validateFinal?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],C["ChunkSchema"],FinalSchema,C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:439
Type Parameters
FinalSchema
FinalSchema extends Schema
Parameters
finalSchema
FinalSchema
validateFinal?
boolean = true
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], FinalSchema, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>
addOpenApiErrorStatusCodes()
addOpenApiErrorStatusCodes(...
codes):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:514
Parameters
codes
...StatusCode[]
Returns
StreamDefinitionBuilder<S, C>
addOpenApiTags()
addOpenApiTags(...
tags):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:504
Parameters
tags
...string[]
Returns
StreamDefinitionBuilder<S, C>
addParameterSchema()
addParameterSchema<
ParamsSchema>(parameterSchema):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],ParamsSchema,C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:402
Type Parameters
ParamsSchema
ParamsSchema extends Schema
Parameters
parameterSchema
ParamsSchema
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], ParamsSchema, C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>
addPayloadSchema()
addPayloadSchema<
PayloadSchema>(inputSchema,inputContentType?,inputContentEncoding?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<PayloadSchema,C["ParamsSchema"],C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:377
Type Parameters
PayloadSchema
PayloadSchema extends Schema
Parameters
inputSchema
PayloadSchema
inputContentType?
string
inputContentEncoding?
string
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<PayloadSchema, C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>
addQueryParameters()
addQueryParameters(...
queryParams):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:519
Parameters
queryParams
...QueryParameter<Infer<C["ParamsSchema"]>>[]
Returns
StreamDefinitionBuilder<S, C>
canConsumeStream()
canConsumeStream<
Chunk,Final,Payload,Parameter,SName,Version,Fname>(serviceName,serviceVersion,serviceTarget,chunkSchema?,payloadSchema?,parameterSchema?,finalSchema?,validateChunk?,validateFinal?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"] &Record<SName,Record<Version,Record<Fname, (payload,parameter) =>Promise<{sessionId:string;[asyncIterator]:AsyncIterator<{payload: ...; }>;cancel:Promise<void>; }>>>>,C["EmitList"],C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:193
Type Parameters
Chunk
Chunk extends Schema
Final
Final extends Schema
Payload
Payload extends Schema
Parameter
Parameter extends Schema
SName
SName extends string = string
Version
Version extends string = string
Fname
Fname extends string = string
Parameters
serviceName
SName
serviceVersion
Version
serviceTarget
Fname
chunkSchema?
Chunk
payloadSchema?
Payload
parameterSchema?
Parameter
finalSchema?
Final
validateChunk?
boolean = true
validateFinal?
boolean = true
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"] & Record<SName, Record<Version, Record<Fname, (payload, parameter) => Promise<{ sessionId: string; [asyncIterator]: AsyncIterator<{ payload: ...; }>; cancel: Promise<void>; }>>>>, C["EmitList"], C["QueueInvokes"]>>
canEmit()
canEmit<
EventName,T>(eventName,schema):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"] &Record<EventName,InferIn<T>>,C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:359
Type Parameters
EventName
EventName extends string
T
T extends Schema
Parameters
eventName
EventName
schema
T
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"] & Record<EventName, InferIn<T>>, C["QueueInvokes"]>>
canEnqueue()
canEnqueue<
Payload,Parameter,QueueName>(queueName,payloadSchema?,parameterSchema?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"] &Record<QueueName, (payload,parameter,options?) =>Promise<QueueEnqueueResult>>>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:98
Type Parameters
Payload
Payload extends Schema
Parameter
Parameter extends Schema
QueueName
QueueName extends string = string
Parameters
queueName
QueueName
payloadSchema?
Payload
parameterSchema?
Parameter
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"] & Record<QueueName, (payload, parameter, options?) => Promise<QueueEnqueueResult>>>>
canInvoke()
canInvoke<
Output,Payload,Parameter,SName,Version,Fname>(serviceName,serviceVersion,serviceTarget,outputSchema?,payloadSchema?,parameterSchema?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"] &Record<SName,Record<Version,Record<Fname, (payload,parameter) =>Promise<Infer<Output>>>>>,C["StreamInvokes"],C["EmitList"],C["QueueInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:139
Type Parameters
Output
Output extends Schema
Payload
Payload extends Schema
Parameter
Parameter extends Schema
SName
SName extends string = string
Version
Version extends string = string
Fname
Fname extends string = string
Parameters
serviceName
SName
serviceVersion
Version
serviceTarget
Fname
outputSchema?
Output
payloadSchema?
Payload
parameterSchema?
Parameter
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"] & Record<SName, Record<Version, Record<Fname, (payload, parameter) => Promise<Infer<Output>>>>>, C["StreamInvokes"], C["EmitList"], C["QueueInvokes"]>>
canInvokeAgent()
canInvokeAgent<
Payload,Parameter,SName,Version>(agentName,agentVersion,invokeConfigOrParameterSchema?):StreamDefinitionBuilder<S,StreamDefinitionBuilderTypes<C["PayloadSchema"],C["ParamsSchema"],C["ChunkSchema"],C["FinalSchema"],C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"],C["AgentInvokes"] &Record<SName,Record<Version, {call: (payload,parameter?) =>AgentInvocation<{history:any[];message:any; }>; }>>>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:289
Define an agent which can be invoked by the current stream. The agent must follow the PURISTA agent protocol.
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
The name of the agent service
agentVersion
Version
The version of the agent service
invokeConfigOrParameterSchema?
Optional invoke configuration:
parameterSchema(legacy shorthand) validates.call(_, parameter){ payloadSchema, parameterSchema }validates both.call(payload, parameter)arguments
Parameter | AgentInvokeConfig<Payload, Parameter>
Returns
StreamDefinitionBuilder<S, StreamDefinitionBuilderTypes<C["PayloadSchema"], C["ParamsSchema"], C["ChunkSchema"], C["FinalSchema"], C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"], C["AgentInvokes"] & Record<SName, Record<Version, { call: (payload, parameter?) => AgentInvocation<{ history: any[]; message: any; }>; }>>>>
enableChunkAggregation()
enableChunkAggregation(
enabled?):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:458
Parameters
enabled?
boolean = true
Returns
StreamDefinitionBuilder<S, C>
enableHttpSecurity()
enableHttpSecurity(
enabled?):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:494
Parameters
enabled?
boolean = true
Returns
StreamDefinitionBuilder<S, C>
exposeAsHttpStreamEndpoint()
exposeAsHttpStreamEndpoint(
method,path,contentTypeRequest?,contentEncodingRequest?):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:468
Parameters
method
path
string
contentTypeRequest?
string
contentEncodingRequest?
string
Returns
StreamDefinitionBuilder<S, C>
getDefinition()
getDefinition():
Promise<StreamDefinition<S,Infer<C["PayloadSchema"]>,Infer<C["ParamsSchema"]>,Infer<C["PayloadSchema"]>,Infer<C["ParamsSchema"]>,InferIn<C["ChunkSchema"]>,InferIn<C["FinalSchema"]>,C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],StreamDefinitionMetadataBase,C["QueueInvokes"],C["AgentInvokes"]>>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:580
Returns
Promise<StreamDefinition<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], StreamDefinitionMetadataBase, C["QueueInvokes"], C["AgentInvokes"]>>
getStreamContextMock()
getStreamContextMock(
_input):object
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:570
Parameters
_input
resources?
Partial<C["Resources"]>
sandbox?
SinonSandbox
writer?
Partial<StreamWriter<unknown, unknown>>
Returns
object
getStreamFunction()
getStreamFunction():
StreamFunction<S,Infer<C["PayloadSchema"]>,Infer<C["ParamsSchema"]>,Infer<C["PayloadSchema"]>,Infer<C["ParamsSchema"]>,InferIn<C["ChunkSchema"]>,InferIn<C["FinalSchema"]>,C["Resources"],C["Invokes"],C["StreamInvokes"],C["EmitList"],C["QueueInvokes"],C["AgentInvokes"]>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:546
Returns
StreamFunction<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"], C["AgentInvokes"]>
makeEndpointPublic()
makeEndpointPublic():
StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:489
Returns
StreamDefinitionBuilder<S, C>
setFinalEventName()
setFinalEventName<
N>(eventName):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:463
Type Parameters
N
N extends string
Parameters
eventName
Returns
StreamDefinitionBuilder<S, C>
setOpenApiOperationId()
setOpenApiOperationId(
operationId):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:509
Parameters
operationId
string
Returns
StreamDefinitionBuilder<S, C>
setOpenApiSummary()
setOpenApiSummary(
summary):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:499
Parameters
summary
string
Returns
StreamDefinitionBuilder<S, C>
setStreamFunction()
setStreamFunction(
fn):StreamDefinitionBuilder<S,C>
Defined in: StreamDefinitionBuilder/StreamDefinitionBuilder.impl.ts:524
Parameters
fn
StreamFunction<S, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, Infer<C["PayloadSchema"]>, Infer<C["ParamsSchema"]>, InferIn<C["ChunkSchema"]>, InferIn<C["FinalSchema"]>, C["Resources"], C["Invokes"], C["StreamInvokes"], C["EmitList"], C["QueueInvokes"], C["AgentInvokes"]>
Returns
StreamDefinitionBuilder<S, C>
