feat(server): persist node semantic context and retain CAD agent context
Add a semantic_context column to canvas_nodes (schema, sqlc queries, generated models, repository upserts) and thread SemanticContext through the domain node, API type, and mappers so CAD-derived context survives canvas saves. Treat agent text parts with textSource "cad-context" like settings: keep them for planning, memory, and image-generation prompts but exclude them from the persisted user-visible message copy. Add coverage for the CAD context visibility and mapper behavior. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -194,7 +194,8 @@ CREATE TABLE IF NOT EXISTS canvas_nodes (
|
||||
stroke_style TEXT NOT NULL DEFAULT '',
|
||||
flip_x BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
flip_y BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
rotation DOUBLE PRECISION NOT NULL DEFAULT 0
|
||||
rotation DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
semantic_context TEXT NOT NULL DEFAULT ''
|
||||
);
|
||||
|
||||
ALTER TABLE canvas_nodes ADD COLUMN IF NOT EXISTS user_id UUID;
|
||||
@@ -225,6 +226,7 @@ ALTER TABLE canvas_nodes ADD COLUMN IF NOT EXISTS stroke_style TEXT NOT NULL DEF
|
||||
ALTER TABLE canvas_nodes ADD COLUMN IF NOT EXISTS flip_x BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
ALTER TABLE canvas_nodes ADD COLUMN IF NOT EXISTS flip_y BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
ALTER TABLE canvas_nodes ADD COLUMN IF NOT EXISTS rotation DOUBLE PRECISION NOT NULL DEFAULT 0;
|
||||
ALTER TABLE canvas_nodes ADD COLUMN IF NOT EXISTS semantic_context TEXT NOT NULL DEFAULT '';
|
||||
|
||||
CREATE INDEX IF NOT EXISTS canvas_nodes_project_id_idx ON canvas_nodes(project_id);
|
||||
CREATE INDEX IF NOT EXISTS canvas_nodes_user_project_idx ON canvas_nodes(user_id, project_id);
|
||||
|
||||
Reference in New Issue
Block a user