@@ -8,93 +8,121 @@ globs: *.ts,*.tsx,*.js,*.jsx
88
99### Backend and Agent Libraries
1010- `express`: Web server framework.
11- - Used in: `packages/backend/src/app .ts`
12- - Import: `import express from 'express';`
11+ - Used in: `packages/backend/src/routes/cairocoder .ts`
12+ - Import: `import express, { Router } from 'express';`
1313- `cors`: CORS middleware for Express.
14- - Used in: `packages/backend/src/app .ts`
14+ - Used in: `packages/backend/src/server .ts`
1515 - Import: `import cors from 'cors';`
1616- `mongodb`: MongoDB client for database operations.
17- - Used in: `packages/agents/src/db/`
17+ - Used in: `packages/agents/src/db/vectorStore.ts `
1818 - Import: `import { MongoClient } from 'mongodb';`
19+ - `@langchain/core`: LangChain core libraries.
20+ - Used in: `packages/agents/src/core/agentFactory.ts`
21+ - Import: `import { BaseMessage } from '@langchain/core/messages';`
22+ - Import: `import { Embeddings } from '@langchain/core/embeddings';`
23+ - Import: `import { Document } from '@langchain/core/documents';`
1924- `anthropic`: Anthropic Claude API client.
20- - Used in: `packages/agents/src/lib /`
25+ - Used in: `packages/agents/src/models /`
2126 - Import: `import Anthropic from '@anthropic-ai/sdk';`
2227- `openai`: OpenAI API client.
23- - Used in: `packages/agents/src/lib /`
28+ - Used in: `packages/agents/src/models /`
2429 - Import: `import OpenAI from 'openai';`
2530- `@google/generative-ai`: Google AI API client.
26- - Used in: `packages/agents/src/lib /`
31+ - Used in: `packages/agents/src/models /`
2732 - Import: `import { GoogleGenerativeAI } from '@google/generative-ai';`
33+ - `uuid`: For generating unique identifiers.
34+ - Used in: `packages/backend/src/routes/cairocoder.ts`
35+ - Import: `import { v4 as uuidv4 } from 'uuid';`
36+ - `toml`: For parsing TOML configuration files.
37+ - Used in: `packages/agents/src/config/settings.ts`
38+ - Import: `import toml from '@iarna/toml';`
2839
29- ### Frontend Libraries
30- - `react `: UI library .
31- - Used in: `packages/ui/components/ `
32- - Import: `import React from 'react ';`
33- - `next `: React framework .
34- - Used in: `packages/ui/app/ `
35- - Import: `import { useRouter } from 'next/router ';`
36- - `tailwindcss `: CSS framework .
37- - Used in: `packages/ui/components/ `
38- - Applied via class names.
40+ ### Data Ingestion Libraries
41+ - `axios `: HTTP client for downloading documentation .
42+ - Used in: `packages/ingester/src/ingesters/MarkdownIngester.ts `
43+ - Import: `import axios from 'axios ';`
44+ - `adm-zip `: For handling ZIP archives .
45+ - Used in: `packages/ingester/src/ingesters/MarkdownIngester.ts `
46+ - Import: `import AdmZip from 'adm-zip ';`
47+ - `fs/promises `: Node.js file system promises API .
48+ - Used in: `packages/ingester/src/ingesters/MarkdownIngester.ts `
49+ - Import: `import * as fs from 'fs/promises';`
3950
4051## Internal Modules
4152
4253### Agent Modules
43- - `pipeline`: RAG pipeline components.
44- - Used in: `packages/agents/src/core/ragAgentFactory .ts`
45- - Import: `import { QueryProcessor, DocumentRetriever, CodeGenerator } from './pipeline';`
54+ - `core/ pipeline`: RAG pipeline components.
55+ - Used in: `packages/agents/src/core/agentFactory .ts`
56+ - Import: `import { RagPipeline } from './pipeline/ragPipeline ';`
4657- `config`: Configuration management.
47- - Used in: `packages/agents/src/`
48- - Import: `import { config } from './config';`
58+ - Used in: `packages/agents/src/core/agentFactory.ts `
59+ - Import: `import { getAgentConfig } from '.. /config/agent ';`
4960- `db`: Database interaction.
50- - Used in: `packages/agents/src/core/`
51- - Import: `import { VectorStore } from './db/vectorStore';`
52- - `models`: LLM and embedding models interfaces.
53- - Used in: `packages/agents/src/core/`
54- - Import: `import { LLMProviderFactory } from './models/llmProviderFactory';`
55- - Import: `import { EmbeddingProviderFactory } from './models/embeddingProviderFactory';`
61+ - Used in: `packages/agents/src/core/agentFactory.ts`
62+ - Import: `import { VectorStore } from '../db/vectorStore';`
63+ - `types`: Type definitions.
64+ - Used in: `packages/agents/src/core/agentFactory.ts`
65+ - Import: `import { LLMConfig } from '../types';`
66+ - `utils`: Utility functions.
67+ - Used in: `packages/backend/src/app.ts`
68+ - Import: `import { logger } from '@cairo-coder/agents/utils/index';`
5669
5770### Backend Modules
58- - `routes`: API routes.
59- - Used in: `packages/backend/src/app.ts`
60- - Import: `import { generateRoutes } from './routes/generate';`
61- - Import: `import { modelsRoutes } from './routes/models';`
62- - `handlers`: Request handlers.
63- - Used in: `packages/backend/src/routes/`
64- - Import: `import { generateHandler } from '../handlers/generateHandler';`
71+ - `routes`: API route definitions.
72+ - Used in: `packages/backend/src/server.ts`
73+ - Import: `import routes from '../routes';`
74+ - `config`: Server configuration.
75+ - Used in: `packages/backend/src/server.ts`
76+ - Import: `import { initializeLLMConfig } from './config/llm';`
77+ - Import: `import { getPort } from '@cairo-coder/agents/config/settings';`
78+ - `cairocoder`: Main endpoint handler.
79+ - Used in: `packages/backend/src/routes/index.ts`
80+ - Import: `import cairocoderRouter from './cairocoder';`
6581
6682### Ingester Modules
67- - `baseIngester `: Abstract base class for all ingesters.
68- - Used in: `packages/ingester/src/ingesters/`
83+ - `BaseIngester `: Abstract base class for all ingesters.
84+ - Used in: `packages/ingester/src/ingesters/MarkdownIngester.ts `
6985 - Import: `import { BaseIngester } from '../BaseIngester';`
70- - `ingesterFactory `: Factory for creating ingesters.
71- - Used in: `packages/ingester/src/scripts/ `
72- - Import: `import { IngesterFactory } from '.. /IngesterFactory';`
73- - `utils`: Utility functions.
74- - Used in: `packages/ingester/src/`
75- - Import: `import { downloadFile, extractArchive } from './utils/fileUtils';`
76- - Import: `import { processContent, splitMarkdown } from './utils/contentUtils';`
86+ - `IngesterFactory `: Factory for creating ingesters.
87+ - Used in: `packages/ingester/src/chat/completionsEmbeddings.ts `
88+ - Import: `import { IngesterFactory } from './IngesterFactory';`
89+ - `utils`: Utility functions for ingestion .
90+ - Used in: `packages/ingester/src/ingesters/MarkdownIngester.ts `
91+ - Import: `import { processDocFiles } from '. ./utils/fileUtils';`
92+ - Import: `import { isInsideCodeBlock, calculateHash } from '. ./utils/contentUtils';`
7793
7894## Common Import Patterns
7995
8096### For Backend API Routes
8197```typescript
82- import express from 'express';
83- import { generateHandler } from '../handlers/generateHandler';
84- import { config } from '../config';
98+ import express, { Router } from 'express';
99+ import { AIMessage, HumanMessage, SystemMessage, BaseMessage } from '@langchain/core/messages';
100+ import { v4 as uuidv4 } from 'uuid';
101+ import {
102+ getVectorDbConfig,
103+ logger,
104+ RagAgentFactory,
105+ LLMConfig,
106+ VectorStore,
107+ } from '@cairo-coder/agents';
85108```
86109
87110### For Agent Core
88111```typescript
89- import { VectorStore } from './db/vectorStore';
90- import { LLMProviderFactory } from './models/llmProviderFactory';
91- import { EmbeddingProviderFactory } from './models/embeddingProviderFactory';
112+ import { BaseMessage } from '@langchain/core/messages';
113+ import { Embeddings } from '@langchain/core/embeddings';
114+ import { getAgentConfig } from '../config/agent';
115+ import { RagPipeline } from './pipeline/ragPipeline';
116+ import { VectorStore } from '../db/vectorStore';
117+ import { LLMConfig } from '../types';
92118```
93119
94120### For Ingesters
95121```typescript
122+ import * as fs from 'fs/promises';
123+ import * as path from 'path';
124+ import { Document } from '@langchain/core/documents';
125+ import { BookChunk, DocumentSource } from '@cairo-coder/agents/types/index';
96126import { BaseIngester } from '../BaseIngester';
97- import { BookPageDto, ParsedSection, BookChunk } from '../types';
98- import { Document } from 'langchain/document';
99- import { VectorStore } from '../../agents/src/db/vectorStore';
127+ import { BookConfig, BookPageDto, ParsedSection } from '../utils/types';
100128```
0 commit comments