feat(workflow): add ThreadReactor generic ReAct loop + migrate extract (Phase 1)
- New src/reactor/ module: createThreadReactor, createLlmFn, types - Two-stage API: config (llm, systemPrompt, tools, toolHandler) + per-call (thread, input, schema) - All tool failures are recoverable (returned to LLM as error message) - Rewrite createExtract to use createThreadReactor - Delete reactExtract old implementation - Fix template test imports (START/END from runtime, validateWorkflowDescriptor from engine) 268 tests passing. Refs #139, relates #140
This commit is contained in:
@@ -101,9 +101,9 @@ export function ThreadDetail({ threadId, onBack }: Props) {
|
||||
)}
|
||||
{(status === "ok" || liveActive || records.length > 0) && (
|
||||
<div className="space-y-3">
|
||||
{records.map((r, i) => (
|
||||
{records.map((r) => (
|
||||
<div
|
||||
key={i}
|
||||
key={`${threadId}-${r.type}-${String(r.timestamp)}-${r.role ?? ""}-${r.content ?? ""}`}
|
||||
className="p-3 rounded border text-sm"
|
||||
style={{ background: "var(--color-surface)", borderColor: "var(--color-border)" }}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user