- Add outputGallery to NodeType union in types/nodes.ts
- Add OutputGalleryNodeData interface with images array field
- Add outputGallery to WorkflowNodeData union
- Register in nodeDefaults: dimensions 320x360, default data with empty images array
- Export OutputGalleryNode from nodes/index.ts
- Register outputGallery in WorkflowCanvas nodeTypes with pink minimap color (#ec4899)
- Add outputGallery to ConnectionDropMenu IMAGE_TARGET_OPTIONS with grid icon
- Add outputGallery case to executeWorkflow in workflowStore
- Add outputGallery to getNodeHandles (image input, no outputs)
- Add outputGallery dimensions to keyboard shortcut default dimensions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add createdAt timestamp to WorkflowEdgeData interface
- Store createdAt on edge creation in onConnect and addEdgeWithType
- Add getImageSequenceNumber helper to EdgeToolbar
- Display "Image N" label for image connections with 2+ edges to same target
- Sequence numbers based on createdAt for stable ordering
- Single connections and text connections show no numbering
- Create comprehensive test suite for extractSubgraph function
- Test cases cover: no selection, select all, single node, connected pairs,
subset selection, type breakdown, disconnected nodes, multi-handle scenarios
- All 8 tests failing with "Not implemented" error (RED phase)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Create SUMMARY.md documenting plan execution and update STATE.md
with current position and accumulated decisions.
Summary includes:
- Task completion: enhanced chat API route with tool calling
- Deviation: changed maxSteps to stopWhen: stepCountIs(3) (AI SDK v6 API)
- Key decisions: tool pattern, context injection, multi-step reasoning
- Verification: TypeScript passes, streaming works correctly
STATE.md updates:
- Current position: Plan 2 of phase 34
- Performance metrics: 2/? plans, 13 min total, 6.5 min avg
- Recent trend: 5-8 min execution
- Accumulated context: 4 new decisions about chat API and tool calling
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rewrite /api/chat route to accept workflow context from client and use
AI SDK tool calling for multi-modal agent routing.
Changes:
- Accept optional workflowState (nodes/edges) in request body
- Build workflow context using buildWorkflowContext from contextBuilder
- Generate context-aware system prompt using buildEditSystemPrompt
- Create chat tools (answerQuestion, createWorkflow, editWorkflow) with
current node IDs for validation
- Configure streamText with tools, toolChoice: 'auto', and stopWhen for
multi-step reasoning (up to 3 steps)
- Stream results back via toUIMessageStreamResponse for useChat hook
compatibility
LLM now automatically routes to the correct tool based on user intent.
Tool results stream back to client for application in Plan 03.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Create editOperations.ts with EditOperation type union covering all 5 operation types (addNode, removeNode, updateNode, addEdge, removeEdge). Implement applyEditOperations function with batched immutable updates, proper ID generation, and validation with skip tracking. Add narrateOperations function for human-readable summaries.
Create contextBuilder.ts with WorkflowContext interface and buildWorkflowContext function that strips base64 data, history arrays, and internal state. Add formatContextForPrompt function for system prompt injection.
Both modules are pure TypeScript with no UI or API dependencies.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Updated last activity date and details in STATE.md to reflect completion of quick-001.
- Added recent decisions regarding dynamicInputs type and behavior.
- Enhanced tests in QuickstartTemplatesView to handle new download URL structure for community workflows, ensuring proper response handling for both API and direct download scenarios.
Tasks 1 & 2: Complete AI workflow revert feature
Changes:
- WorkflowCanvas: Call captureSnapshot() before AI loadWorkflow
- Header: Add "Revert AI Changes" button with confirmation dialog
- Button visible only when previousWorkflowSnapshot exists
- Amber styling to distinguish safety feature from destructive actions
Snapshot capture ONLY in AI generation path (not file loads/templates).
Button auto-hides after revert or 3 manual changes (store handles this).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Create 33-01-SUMMARY.md documenting snapshot infrastructure
implementation. Update STATE.md with current position and
decisions about snapshot behavior.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
All tasks completed:
- Task 1: Build Workflow button in ChatPanel with conversation extraction
- Task 2: Workflow generation integration in WorkflowCanvas
- Task 3: External loading state (completed in Task 1)
Created SUMMARY.md and updated STATE.md (.planning/ in .gitignore).
Phase 32 complete. Chat-to-workflow flow fully functional.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 26: Template Preview Rendering
- 1 plan created
- 3 tasks defined (2 auto + 1 human-verify)
- Ready for execution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 25: Template Explorer UI
- 2 plans created
- 5 total tasks defined
- Ready for execution
Plan 01: Template types, TemplateCard, grid layout (3 tasks)
Plan 02: Sidebar filters, WelcomeModal integration (2 tasks + checkpoint)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
These planning phase documents are local development artifacts
that don't need to be shared in the repo. They remain in .gitignore.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Image data flow through node chains (imageInput, annotation, nanoBanana)
- Text data flow through node chains (prompt, llmGenerate)
- Dynamic inputs from schema-mapped connections
- State updates during execution (status, outputImage)
- Mixed image and text data flow
Phase 20: Integration Tests
- 2 plans created
- 6 total tasks defined
- Tests cover getConnectedInputs, validateWorkflow, topological sort,
data flow, error handling, and connection validation
- Ready for execution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 19 complete. All types now organized into 7 domain files:
annotation, nodes, providers, models, workflow, api, quickstart.
index.ts is a pure re-export hub.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove Task 1 (part ordering fix) - no longer needed
- Phase now focused on unifying MD5 hashing for deduplication
- 1 task remaining
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 21: Fix Image Input & Deduplication Issues
- 1 plan created
- 2 tasks + 1 checkpoint defined
- Ready for execution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add test to verify parameters field is passed to Replicate/fal.ai APIs
- Tests that UI settings (seed, steps, guidance) reach provider APIs
- Tests that dynamicInputs override parameters when both have same key