Class: MockAIHelper
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:230
Implements
Constructors
Constructor
new MockAIHelper(
topic,config?,parent?,callLogger?):MockAIHelper
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:238
Parameters
topic
string
config?
MockAIHelperConfig = {}
parent?
MockAIHelper
callLogger?
Returns
MockAIHelper
Properties
topic
readonlytopic:string
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:231
Current topic path
Implementation of
Methods
batch()
batch<
T>(modelKey,_provider?,_options?):AIBatch<T>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:565
Type Parameters
T
T = string
Parameters
modelKey
_provider?
_options?
Returns
AIBatch<T>
Implementation of
clearCalls()
clearCalls():
void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:805
Clear all recorded calls
Returns
void
createAtTopic()
createAtTopic(
topic,callLogger?):MockAIHelper
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:591
Create a helper at an exact topic while sharing this mock's state.
Constructed through this.constructor so a subclass survives
createChild and the kernel's per-stage factory call.
Parameters
topic
string
callLogger?
Returns
MockAIHelper
createChild()
createChild(
segment,id?):AIHelper
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:577
Parameters
segment
string
id?
string
Returns
Implementation of
embed()
embed(
modelKey,text,options?):Promise<AIEmbedResult>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:362
Parameters
modelKey
text
string | string[]
options?
Returns
Promise<AIEmbedResult>
Implementation of
evaluate()
evaluate<
Q>(modelKey,spec,options?):Promise<AIEvaluateResult<Q>>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:407
Answer typed questions about one shared state with a decision model
(isEvaluationModel in the registry, e.g. TypeSafe's Jev). Each
answer's type follows from its question, so a choice answer is the
union of that question's criteria keys.
Type Parameters
Q
Q extends Readonly<Record<string, EvaluationQuestion>>
Parameters
modelKey
spec
options?
Returns
Promise<AIEvaluateResult<Q>>
Implementation of
failOnce()
failOnce(
match,error?):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:712
Arm a one-shot failure: the next call matching match throws error
once, and every later call succeeds normally. This is how a
replay-safety test says "make exactly one item throw once" without
flipping setError on and off around the call.
A string matches when the prompt contains it, a RegExp when it tests true against the prompt, and a predicate when it returns true for the call descriptor. Scripts are shared with child helpers, so arming one on the factory's root helper fires inside a stage.
Parameters
match
error?
Error
Returns
void
Example
mock.failOnce("item-2", new Error("subscription limit reached"));
generateObject()
generateObject<
TSchema>(modelKey,prompt,schema,options?):Promise<AIObjectResult<output<TSchema>>>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:323
Type Parameters
TSchema
TSchema extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>
Parameters
modelKey
prompt
schema
TSchema
options?
ObjectOptions<ToolSet>
Returns
Promise<AIObjectResult<output<TSchema>>>
Implementation of
generateText()
generateText<
TTools>(modelKey,prompt,options?):Promise<AITextResult>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:280
Type Parameters
TTools
TTools extends ToolSet = ToolSet
Parameters
modelKey
prompt
options?
TextOptions<TTools>
Returns
Promise<AITextResult>
Implementation of
getAllCallsRecursive()
getAllCallsRecursive():
RecordedCall[]
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:772
Get all recorded calls including children
Returns
getCalls()
getCalls():
RecordedCall[]
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:765
Get all recorded calls for this helper
Returns
getCallsByModel()
getCallsByModel(
modelKey):RecordedCall[]
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:790
Get calls by model
Parameters
modelKey
Returns
getCallsByType()
getCallsByType(
type):RecordedCall[]
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:783
Get calls by type
Parameters
type
Returns
getChildren()
getChildren():
MockAIHelper[]
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:815
Get child helpers
Returns
MockAIHelper[]
getLastCall()
getLastCall():
RecordedCall|null
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:797
Get the last call made
Returns
RecordedCall | null
getStats()
getStats():
Promise<AIHelperStats>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:614
Returns
Promise<AIHelperStats>
Implementation of
mockObjectResponseForSchema()
mockObjectResponseForSchema(
schema,value,meta?):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:685
Register an object response keyed by Zod schema identity rather than by
prompt text. Consulted before the prompt patterns, so several
generateObject calls over near-identical prompts can be dispatched on
the schema they ask for.
Parameters
schema
ZodType
value
unknown
meta?
Omit<MockObjectResponse<unknown>, "object">
Returns
void
Example
mock.mockObjectResponseForSchema(SummarySchema, { summary: "ok" });
mock.mockObjectResponseForSchema(FactsSchema, { facts: [] });
recordCall()
recordCall(
params):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:600
Parameters
params
Returns
void
Implementation of
reset()
reset():
void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:822
Reset the mock to default state
Returns
void
setError()
setError(
shouldError,message?):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:748
Configure the mock to throw errors
Parameters
shouldError
boolean
message?
string
Returns
void
setEvaluateAnswer()
setEvaluateAnswer(
questionId,answer):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:732
Script the answer evaluate returns for the question with this id, on
every call, in this helper and its children. Unscripted questions get a
neutral default: the first option of a choice, level 0 of a score,
and a probability of 0.5 for a boolean.
Parameters
questionId
string
answer
unknown
Returns
void
Example
mock.setEvaluateAnswer("route", { type: "choice", choice: "billing" });
mock.setEvaluateAnswer("urgent", { type: "boolean", probability: 0.92 });
setLatency()
setLatency(
ms):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:758
Configure simulated latency
Parameters
ms
number
Returns
void
setObjectResponse()
setObjectResponse(
pattern,response):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:663
Configure the mock to return specific object for a prompt pattern
Parameters
pattern
string | RegExp
response
Returns
void
setTextResponse()
setTextResponse(
pattern,response):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:653
Configure the mock to return specific text for a prompt pattern
Parameters
pattern
string | RegExp
response
Returns
void
setTranscribeResponse()
setTranscribeResponse(
response):void
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:741
Script what transcribe returns, on every call, in this helper and its
children. Unscripted, it returns the text "mock transcript".
Parameters
response
MockTranscribeResponse
Returns
void
streamText()
streamText(
modelKey,input,options?):AIStreamResult
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:494
Parameters
modelKey
input
options?
Returns
Implementation of
transcribe()
transcribe(
modelKey,audio,options?):Promise<AITranscribeResult>
Defined in: packages/workflow-engine/src/__tests__/utils/mock-ai-helper.ts:448
Transcribe audio with a speech-to-text model (isTranscriptionModel in
the registry). Cost is estimated per minute of audio
(transcriptionCostPerMinute) or per reported token, whichever the
provider bills by, unless the provider reports a USD cost itself.
Parameters
modelKey
audio
options?
Returns
Promise<AITranscribeResult>