mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-12 22:13:05 +00:00
- Streaming AI endpoint at /campanha/api/ai-chat with DeepSeek V4 Flash - 8 tools: calculate, getMunicipalityVotes, getTopDeputies, getDobradinhas, getMunicipalityOverview, getLeaderships, getOrganizations, searchEntities - In-memory rate limiter (50 msgs / 15 min per user) - Desktop: resizable right sidebar via react-resizable-panels - Mobile: full-screen Drawer opened by FAB (2/3 size of quick-actions FAB) - Markdown rendering with react-markdown + remark-gfm (tables, bold, lists) - Session-bound context (clean slate each open) - Auth via existing campaign-token cookie, tools respect user RBAC - Architecture doc: docs/plans/ai-chat-sollinha.md - E2E tests: campaignAiChat.e2e.spec.ts (mocked endpoint)
29 lines
798 B
JSON
29 lines
798 B
JSON
{
|
|
"$schema": "https://unpkg.com/knip@5/schema.json",
|
|
"entry": [
|
|
"src/migrations/index.ts",
|
|
"src/migrations/*.ts",
|
|
"src/app/(payload)/admin/importMap.js",
|
|
"scripts/*.mjs",
|
|
"eslint-local-rules.mjs",
|
|
"tests/**/*.spec.ts",
|
|
"tests/helpers/serverOnly.ts"
|
|
],
|
|
"project": ["src/**/*.{ts,tsx,js}", "scripts/**/*.mjs", "tests/**/*.ts"],
|
|
"ignore": [
|
|
"src/components/ui/bubble.tsx",
|
|
"src/components/ui/marker.tsx",
|
|
"src/components/ui/message.tsx"
|
|
],
|
|
"paths": {
|
|
"server-only": ["tests/helpers/serverOnly.ts"]
|
|
},
|
|
"ignoreBinaries": [],
|
|
"ignoreDependencies": ["tailwindcss-animate", "tw-animate-css", "shadcn", "eslint-config-next"],
|
|
"rules": {
|
|
"exports": "error",
|
|
"types": "error",
|
|
"enumMembers": "error",
|
|
"duplicates": "off"
|
|
}
|
|
}
|