sync: ingestion improvements from private repo

- Fixed dimension auto-assignment (locked dimensions now properly assigned)
- Added description field as grounding context for AI
- Updated embedding format: Title → Description → Content → Dimensions
- Description-weighted search (5x boost)
- Bug fixes: extraction tool dimension display, DimensionSearchModal closing
- Removed quickLink tool (use Quick Link workflow instead)
- Added regenerate-description API endpoint
This commit is contained in:
“BeeRad”
2026-01-13 11:03:56 +11:00
parent 3f0426ecf4
commit 4f030c7d29
24 changed files with 590 additions and 270 deletions
+3 -3
View File
@@ -2,10 +2,10 @@ import { tool } from 'ai';
import { z } from 'zod';
export const createDimensionTool = tool({
description: 'Create a new dimension or update existing dimension',
description: 'Create a new dimension or update existing dimension. IMPORTANT: Always ask the user for a description explaining what belongs in this dimension before creating it. Dimensions without descriptions cannot be auto-assigned.',
inputSchema: z.object({
name: z.string().describe('Dimension name'),
description: z.string().max(500).optional().describe('Dimension description (max 500 characters)'),
description: z.string().min(1).max(500).describe('Dimension description explaining what content belongs in this dimension (required, max 500 characters)'),
isPriority: z.boolean().optional().describe('Whether to lock this dimension for auto-assignment (default: false)')
}),
execute: async (params) => {
@@ -26,7 +26,7 @@ export const createDimensionTool = tool({
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: trimmedName,
description: params.description?.trim() || null,
description: params.description.trim(),
isPriority: params.isPriority || false
})
});