Initial commit: RA-H Open Source Edition
Local-first knowledge management system with BYO API keys. Features: - 3-panel UI (Nodes | Focus | Helpers) - SQLite + sqlite-vec for vector search - Agent system (Easy/Hard mode orchestrators) - Content extraction (YouTube, PDF, web) - Integrate workflow for connection discovery - Dimension system with auto-assignment Tech stack: - Next.js 15 + TypeScript + Tailwind CSS - Anthropic (Claude) + OpenAI (GPT) via Vercel AI SDK Setup: npm install && npm rebuild better-sqlite3 scripts/dev/bootstrap-local.sh npm run dev MIT License
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { TOOL_GROUP_ASSIGNMENTS, TOOL_GROUPS } from '@/tools/infrastructure/groups';
|
||||
import { getHelperTools } from '@/tools/infrastructure/registry';
|
||||
|
||||
export async function GET() {
|
||||
try {
|
||||
const grouped: Record<string, { name: string; description: string }[]> = {
|
||||
core: [],
|
||||
orchestration: [],
|
||||
execution: [],
|
||||
};
|
||||
|
||||
Object.entries(TOOL_GROUP_ASSIGNMENTS).forEach(([toolName, groupId]) => {
|
||||
const tools = getHelperTools([toolName]);
|
||||
const tool = tools[toolName];
|
||||
if (tool) {
|
||||
grouped[groupId]?.push({
|
||||
name: toolName,
|
||||
description: tool.description || 'No description available',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
data: {
|
||||
groups: TOOL_GROUPS,
|
||||
tools: grouped,
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error fetching tools:', error);
|
||||
return NextResponse.json(
|
||||
{ success: false, error: 'Failed to fetch tools' },
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user