Repository navigation
v1.2.0
DIAL 1.2.0
New
-
ProposerStrategyResultnow accepts four optional metric fields:costUSD,latencyMsec,numInputTokens,numOutputTokens. If yourstrategyFnalready returns{ transitionName, toState, reasoning }, no changes needed — the new fields are optional and default toundefined. To report metrics from your strategy:const strategyFn = async (ctx: ProposerContext): Promise<ProposerStrategyResult> => { const start = Date.now(); // ... your logic ... return { transitionName: "approve", toState: "approved", reasoning: "looks good", latencyMsec: Date.now() - start, numInputTokens: 500, numOutputTokens: 100, costUSD: 0.01, }; };
-
When
submitProposalis called without atransitionName(triggering strategy invocation), metrics returned by the strategy are now automatically merged into the storedProposal. If you also pass metrics viaSubmitProposalOptions, those values take precedence — strategy values fill any gaps. If you currently pass metrics via opts and your strategy also returns them, your opts values still win. No call-site changes required. -
executeProposerLlm(the built-in LLM proposer path) now automatically captureslatencyMsec,numInputTokens, andnumOutputTokensfrom the LLM response. If you usecontextFn + modelIdorcontextWebhookUrl + modelIdexecution modes, proposals from those specialists will now include token and latency data without any code changes on your part.