feat: add chief_analyst AgentStep, summary phase, and ChiefAnalystReport type
This commit is contained in:
parent
0f74540e04
commit
9a46424e61
|
|
@ -26,6 +26,7 @@ const STEP_ACCENT: Record<AgentStep, string> = {
|
||||||
conservative_analyst: '#00C4E8',
|
conservative_analyst: '#00C4E8',
|
||||||
neutral_analyst: '#A78BFA',
|
neutral_analyst: '#A78BFA',
|
||||||
risk_judge: '#FFB400',
|
risk_judge: '#FFB400',
|
||||||
|
chief_analyst: '#adc6ff',
|
||||||
}
|
}
|
||||||
|
|
||||||
const STEP_ROLE_DESC: Partial<Record<AgentStep, string>> = {
|
const STEP_ROLE_DESC: Partial<Record<AgentStep, string>> = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import type { AgentStep, RunStatus } from '@/lib/types/run'
|
import type { AgentStep, RunStatus } from '@/lib/types/run'
|
||||||
import type { Decision, StepStatus } from '@/lib/types/agents'
|
import type { Decision, StepStatus, ChiefAnalystReport } from '@/lib/types/agents'
|
||||||
|
|
||||||
export type TokenCount = { in: number; out: number }
|
export type TokenCount = { in: number; out: number }
|
||||||
|
|
||||||
|
|
@ -11,4 +11,5 @@ export type RunStreamState = {
|
||||||
error: string | null
|
error: string | null
|
||||||
tokensByStep: Record<AgentStep, TokenCount>
|
tokensByStep: Record<AgentStep, TokenCount>
|
||||||
tokensTotal: TokenCount
|
tokensTotal: TokenCount
|
||||||
|
chiefAnalystReport: ChiefAnalystReport | null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,3 +4,10 @@ export type Decision = 'BUY' | 'SELL' | 'HOLD'
|
||||||
export type DebateTurn = { speaker: string; text: string }
|
export type DebateTurn = { speaker: string; text: string }
|
||||||
export type PhaseReport = { step: AgentStep; content: string }
|
export type PhaseReport = { step: AgentStep; content: string }
|
||||||
export type StepStatus = 'pending' | 'running' | 'done'
|
export type StepStatus = 'pending' | 'running' | 'done'
|
||||||
|
|
||||||
|
export type ChiefAnalystReport = {
|
||||||
|
verdict: 'BUY' | 'SELL' | 'HOLD'
|
||||||
|
catalyst: string
|
||||||
|
execution: string
|
||||||
|
tail_risk: string
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,12 +11,14 @@ export type AgentStep =
|
||||||
| 'conservative_analyst'
|
| 'conservative_analyst'
|
||||||
| 'neutral_analyst'
|
| 'neutral_analyst'
|
||||||
| 'risk_judge'
|
| 'risk_judge'
|
||||||
|
| 'chief_analyst'
|
||||||
|
|
||||||
export const AGENT_STEPS: AgentStep[] = [
|
export const AGENT_STEPS: AgentStep[] = [
|
||||||
'market_analyst', 'news_analyst', 'fundamentals_analyst', 'social_analyst',
|
'market_analyst', 'news_analyst', 'fundamentals_analyst', 'social_analyst',
|
||||||
'bull_researcher', 'bear_researcher', 'research_manager',
|
'bull_researcher', 'bear_researcher', 'research_manager',
|
||||||
'trader',
|
'trader',
|
||||||
'aggressive_analyst', 'conservative_analyst', 'neutral_analyst', 'risk_judge',
|
'aggressive_analyst', 'conservative_analyst', 'neutral_analyst', 'risk_judge',
|
||||||
|
'chief_analyst',
|
||||||
]
|
]
|
||||||
|
|
||||||
export const AGENT_STEP_LABELS: Record<AgentStep, string> = {
|
export const AGENT_STEP_LABELS: Record<AgentStep, string> = {
|
||||||
|
|
@ -32,9 +34,10 @@ export const AGENT_STEP_LABELS: Record<AgentStep, string> = {
|
||||||
conservative_analyst: 'Conservative',
|
conservative_analyst: 'Conservative',
|
||||||
neutral_analyst: 'Neutral',
|
neutral_analyst: 'Neutral',
|
||||||
risk_judge: 'Risk Judge',
|
risk_judge: 'Risk Judge',
|
||||||
|
chief_analyst: 'Chief Analyst',
|
||||||
}
|
}
|
||||||
|
|
||||||
export const STEP_PHASE: Record<AgentStep, 'analysts' | 'researchers' | 'trader' | 'risk'> = {
|
export const STEP_PHASE: Record<AgentStep, 'analysts' | 'researchers' | 'trader' | 'risk' | 'summary'> = {
|
||||||
market_analyst: 'analysts',
|
market_analyst: 'analysts',
|
||||||
news_analyst: 'analysts',
|
news_analyst: 'analysts',
|
||||||
fundamentals_analyst: 'analysts',
|
fundamentals_analyst: 'analysts',
|
||||||
|
|
@ -47,6 +50,7 @@ export const STEP_PHASE: Record<AgentStep, 'analysts' | 'researchers' | 'trader'
|
||||||
conservative_analyst: 'risk',
|
conservative_analyst: 'risk',
|
||||||
neutral_analyst: 'risk',
|
neutral_analyst: 'risk',
|
||||||
risk_judge: 'risk',
|
risk_judge: 'risk',
|
||||||
|
chief_analyst: 'summary',
|
||||||
}
|
}
|
||||||
|
|
||||||
export type RunStatus = 'queued' | 'running' | 'complete' | 'error'
|
export type RunStatus = 'queued' | 'running' | 'complete' | 'error'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue