Files
ra-h-os/app/api/quick-add/route.ts
T
“BeeRad” 4f030c7d29 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
2026-01-13 11:03:56 +11:00

38 lines
1.3 KiB
TypeScript

import { NextRequest, NextResponse } from 'next/server';
import { enqueueQuickAdd, QuickAddMode } from '@/services/agents/quickAdd';
export async function POST(request: NextRequest) {
try {
const body = await request.json();
const { input, mode, description } = body as { input?: unknown; mode?: unknown; description?: unknown };
if (typeof input !== 'string' || input.trim().length === 0) {
return NextResponse.json(
{ success: false, error: 'Input is required' },
{ status: 400 }
);
}
const normalizedMode: QuickAddMode | undefined =
mode === 'link' || mode === 'note' || mode === 'chat' ? mode : undefined;
const normalizedDescription: string | undefined =
typeof description === 'string' && description.trim() ? description.trim() : undefined;
const delegation = await enqueueQuickAdd({
rawInput: input.trim(),
mode: normalizedMode,
description: normalizedDescription,
});
return NextResponse.json({ success: true, delegation });
} catch (error) {
console.error('[Quick Add API] Error:', error);
const message = error instanceof Error ? error.message : 'Unknown error';
return NextResponse.json(
{ success: false, error: message },
{ status: 500 }
);
}
}