GetWorkflowHistory 获取 workflow 历史
()
| 159 | |
| 160 | // GetWorkflowHistory 获取 workflow 历史 |
| 161 | func (wa *WorkflowAgent) GetWorkflowHistory() []WorkflowHistoryItem { |
| 162 | wa.mu.RLock() |
| 163 | defer wa.mu.RUnlock() |
| 164 | |
| 165 | if wa.workflow == nil || wa.workflow.workflowSession == nil { |
| 166 | return []WorkflowHistoryItem{} |
| 167 | } |
| 168 | |
| 169 | runs := wa.workflow.workflowSession.History |
| 170 | numRuns := min(len(runs), wa.NumHistoryRuns) |
| 171 | |
| 172 | history := make([]WorkflowHistoryItem, numRuns) |
| 173 | for i := range numRuns { |
| 174 | run := runs[len(runs)-numRuns+i] |
| 175 | history[i] = WorkflowHistoryItem{ |
| 176 | RunID: run.RunID, |
| 177 | Input: run.Input, |
| 178 | Output: run.Output, |
| 179 | Status: string(run.Status), |
| 180 | StartTime: run.StartTime, |
| 181 | EndTime: run.EndTime, |
| 182 | Duration: run.Duration, |
| 183 | Metrics: run.Metrics, |
| 184 | } |
| 185 | } |
| 186 | |
| 187 | return history |
| 188 | } |
| 189 | |
| 190 | // Run 运行 WorkflowAgent |
| 191 | func (wa *WorkflowAgent) Run(ctx context.Context, input string) (string, error) { |
no test coverage detected