Tree:
7d32fc9e3b
TEST-s
TEST-x
codex/popi-tv-header-logo
feature-img
feature/071
feature/0710
feature/260608
feature/627
feature/add_agent_md
feature/add_provider_popi
feature/canvas-chatbot-copilot
feature/composer
feature/gateway
feature/group
feature/handle
feature/handleReconstruction
feature/interaction
feature/new_node
feature/remove
feature/video-erase
feature/workflow
feature_apikey
feature_gateway-migration
feature_login
handoff-20260429-1057
master
songxh-popiart-node-canvas
test-0523
video_node
xuzhijie-popiart-node-canvas
${ noResults }
2 Commits (7d32fc9e3ba3cc3b7856e8769a8618687ac8c21d)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
efee30391f |
Make the canvas assistant safe enough to edit and run workflows
The right-side assistant now uses the existing chat/tooling path as a docked canvas surface instead of a hidden floating experiment. It can prepare workflow edits, prepare run actions, and keep all mutations behind an explicit preview/apply step. A shared chat node schema keeps the model prompt and local edit validator aligned with real node types, while the context builder strips broader media payloads before chat requests. Constraint: Keep the deployed master/TEST-s version stable while this work proceeds on a feature branch Constraint: No new dependencies and no broad canvas rewrite Rejected: Directly applying model-suggested edits | local validation and preview remain the safety boundary Rejected: Full multimodal image upload in the first pass | current implementation only exposes media metadata and failure state Confidence: high Scope-risk: moderate Reversibility: clean Directive: Add new AI-editable node fields through src/lib/chat/nodeSchema.ts before exposing them in prompts Tested: npm run test:run -- src/lib/chat/contextBuilder.test.ts src/lib/chat/tools.test.ts src/lib/chat/editOperations.test.ts src/components/__tests__/ChatPanel.test.tsx src/components/__tests__/WorkflowCanvas.test.tsx src/app/api/chat/__tests__/route.test.ts Tested: PROVIDER_MODE=popi NEXT_PUBLIC_PROVIDER_MODE=popi npm run build Tested: Browser smoke on http://localhost:3000 verified docked assistant, close/reopen, selected-node focus, and run controls Not-tested: Live LLM tool-call execution against the gateway |
2 months ago |
|
|
f54266f150 |
Preserve explicit media workflow handoffs
P0 regressions showed several workflow paths needed to stay visible and deterministic: language switching had a hardcoded composer label, Video Trim hid controls before media loaded, and media handoffs to LLM needed real canvas edges rather than implicit conversion. P1 fixes keep canvas-owned structure by adding explicit image/video LLM handles, audio composer validation, 3D output/file routing, and Chat proposal cards that require user apply before mutating nodes. Constraint: User asked to stop new feature work and only repair P0/P1 product-fit gaps. Rejected: Auto-convert image or video directly into text for LLM | hides workflow structure and violates the visible-node product model. Rejected: Let Chat tool calls silently add or edit nodes | canvas structure must be previewed and explicitly applied. Confidence: high Scope-risk: moderate Directive: Keep media transformations represented by visible handles, nodes, and edges; do not add silent Chat or media mutation paths without product review. Tested: Browser automation for language switch, video input to Generate Video, prompt to Generate Video, LLM default model, Video Trim controls, and video media to LLM input. Tested: npm run test:run -- src/components/__tests__/ConnectionDropMenu.test.tsx src/components/__tests__/GenerationComposer.test.tsx src/components/__tests__/VideoTrimNode.test.tsx src/components/__tests__/LLMGenerateNode.test.tsx src/store/execution/__tests__/llmGenerateExecutor.test.ts src/app/api/llm/__tests__/route.test.ts src/store/execution/__tests__/generateAudioExecutor.test.ts src/store/execution/__tests__/generate3dExecutor.test.ts src/store/execution/__tests__/simpleNodeExecutors.test.ts src/components/__tests__/OutputNode.test.tsx src/components/__tests__/Generate3DNode.test.tsx src/components/__tests__/ChatPanel.test.tsx src/lib/chat/tools.test.ts src/lib/chat/editOperations.test.ts src/lib/__tests__/llmModels.test.ts src/store/utils/__tests__/nodeDefaults.test.ts Tested: npm run build Tested: git diff --cached --check Not-tested: npm run lint, because the existing script calls removed Next.js lint command and exits with invalid project directory /lint. Not-tested: Live paid provider calls for LLM, audio, and 3D generation. |
2 months ago |