Skip to content

Commit ae15df5

Browse files
committed
ultracite fix
1 parent 12b191b commit ae15df5

File tree

456 files changed

+4788
-4947
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

456 files changed

+4788
-4947
lines changed

apps/api/package.json

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,42 @@
11
{
2-
"name": "@databuddy/api",
3-
"module": "index.ts",
4-
"type": "module",
5-
"private": true,
6-
"scripts": {
7-
"dev": "bun --hot src/index.ts --port 3001",
8-
"test": "vitest run",
9-
"test:watch": "vitest"
10-
},
11-
"devDependencies": {
12-
"@types/bun": "^1.3.1"
13-
},
14-
"peerDependencies": {
15-
"typescript": "^5.9.3"
16-
},
17-
"dependencies": {
18-
"@databuddy/auth": "workspace:*",
19-
"@databuddy/db": "workspace:*",
20-
"@databuddy/redis": "workspace:*",
21-
"@databuddy/rpc": "workspace:*",
22-
"@databuddy/sdk": "^2.2.0",
23-
"@databuddy/shared": "workspace:*",
24-
"@elysiajs/cors": "^1.4.0",
25-
"@elysiajs/trpc": "^1.1.0",
26-
"@logtail/edge": "^0.5.6",
27-
"@openrouter/ai-sdk-provider": "^1.2.0",
28-
"@trpc/server": "^11.7.1",
29-
"@upstash/ratelimit": "^2.0.6",
30-
"@upstash/redis": "^1.35.6",
31-
"ai": "^5.0.81",
32-
"autumn": "^1.0.2",
33-
"autumn-js": "^0.0.101",
34-
"dayjs": "^1.11.18",
35-
"drizzle-orm": "^0.42.0",
36-
"elysia": "^1.4.13",
37-
"jszip": "^3.10.1",
38-
"pino": "^9.14.0",
39-
"pino-pretty": "^13.1.2",
40-
"zod": "catalog:"
41-
}
2+
"name": "@databuddy/api",
3+
"module": "index.ts",
4+
"type": "module",
5+
"private": true,
6+
"scripts": {
7+
"dev": "bun --hot src/index.ts --port 3001",
8+
"test": "vitest run",
9+
"test:watch": "vitest"
10+
},
11+
"devDependencies": {
12+
"@types/bun": "^1.3.1"
13+
},
14+
"peerDependencies": {
15+
"typescript": "^5.9.3"
16+
},
17+
"dependencies": {
18+
"@databuddy/auth": "workspace:*",
19+
"@databuddy/db": "workspace:*",
20+
"@databuddy/redis": "workspace:*",
21+
"@databuddy/rpc": "workspace:*",
22+
"@databuddy/sdk": "^2.2.0",
23+
"@databuddy/shared": "workspace:*",
24+
"@elysiajs/cors": "^1.4.0",
25+
"@elysiajs/trpc": "^1.1.0",
26+
"@logtail/edge": "^0.5.6",
27+
"@openrouter/ai-sdk-provider": "^1.2.0",
28+
"@trpc/server": "^11.7.1",
29+
"@upstash/ratelimit": "^2.0.6",
30+
"@upstash/redis": "^1.35.6",
31+
"ai": "^5.0.81",
32+
"autumn": "^1.0.2",
33+
"autumn-js": "^0.0.101",
34+
"dayjs": "^1.11.18",
35+
"drizzle-orm": "^0.42.0",
36+
"elysia": "^1.4.13",
37+
"jszip": "^3.10.1",
38+
"pino": "^9.14.0",
39+
"pino-pretty": "^13.1.2",
40+
"zod": "catalog:"
41+
}
4242
}

apps/api/src/agent/core/ai-service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export class AIService {
3838
context.website.id,
3939
context.website.domain,
4040
"execute_chat",
41-
context.model,
41+
context.model
4242
);
4343

4444
try {
@@ -64,7 +64,7 @@ export class AIService {
6464
};
6565
} catch (error) {
6666
session.log(
67-
`AI generation failed: ${error instanceof Error ? error.message : "Unknown error"}`,
67+
`AI generation failed: ${error instanceof Error ? error.message : "Unknown error"}`
6868
);
6969
throw error;
7070
}

apps/api/src/agent/core/assistant-orchestrator.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export class AssistantOrchestrator {
2323
async processRequest(
2424
request: AssistantRequestType,
2525
user: User,
26-
website: Website,
26+
website: Website
2727
): Promise<StreamingUpdate[]> {
2828
// Create session to track this interaction
2929
const session = new AssistantSession(request, user, website);
@@ -57,7 +57,7 @@ export class AssistantOrchestrator {
5757
// Step 2: Process the response into streaming updates
5858
const aiResponseUpdates = await this.responseProcessor.process(
5959
aiResponse.content,
60-
session,
60+
session
6161
);
6262

6363
streamingUpdates.push(...aiResponseUpdates);
@@ -73,14 +73,14 @@ export class AssistantOrchestrator {
7373
aiResponse.content,
7474
aiMessageId,
7575
finalResult,
76-
metrics,
76+
metrics
7777
);
7878
}
7979

8080
return streamingUpdates;
8181
} catch (error) {
8282
session.log(
83-
`Processing failed: ${error instanceof Error ? error.message : "Unknown error"}`,
83+
`Processing failed: ${error instanceof Error ? error.message : "Unknown error"}`
8484
);
8585

8686
// Return error response
@@ -102,15 +102,15 @@ export class AssistantOrchestrator {
102102
aiResponse: AIResponseContent,
103103
messageId: string,
104104
finalResult: StreamingUpdate,
105-
metrics: SessionMetrics,
105+
metrics: SessionMetrics
106106
): Promise<void> {
107107
try {
108108
await this.conversationRepo.saveConversation(
109109
session,
110110
aiResponse,
111111
messageId,
112112
finalResult,
113-
metrics,
113+
metrics
114114
);
115115
console.log("✅ Conversation saved successfully");
116116
} catch (error) {
@@ -122,7 +122,7 @@ export class AssistantOrchestrator {
122122
session: AssistantSession,
123123
originalError: unknown,
124124
errorResponse: StreamingUpdate,
125-
metrics: SessionMetrics,
125+
metrics: SessionMetrics
126126
): Promise<void> {
127127
try {
128128
const errorAIResponse = {
@@ -143,7 +143,7 @@ export class AssistantOrchestrator {
143143
errorAIResponse,
144144
messageId,
145145
errorResponse,
146-
metrics,
146+
metrics
147147
);
148148
console.log("✅ Error conversation saved successfully");
149149
} catch (error) {

apps/api/src/agent/core/assistant-session.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ export class AssistantSession {
6262

6363
setAIMetrics(
6464
responseTime: number,
65-
tokenUsage: SessionMetrics["tokenUsage"],
65+
tokenUsage: SessionMetrics["tokenUsage"]
6666
): void {
6767
this.metrics.aiResponseTime = responseTime;
6868
this.metrics.tokenUsage = tokenUsage;
6969
this.log(
70-
`AI completed in ${responseTime}ms, tokens: ${tokenUsage.totalTokens}`,
70+
`AI completed in ${responseTime}ms, tokens: ${tokenUsage.totalTokens}`
7171
);
7272
}
7373

apps/api/src/agent/core/conversation-repository.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export class ConversationRepository {
2020
aiResponse: AIResponseContent,
2121
aiMessageId: string,
2222
finalResult: StreamingUpdate,
23-
metrics: SessionMetrics,
23+
metrics: SessionMetrics
2424
): Promise<void> {
2525
const context = session.getContext();
2626
const messages = session.getMessages();
@@ -95,17 +95,17 @@ export class ConversationRepository {
9595
context.website.id,
9696
userId,
9797
"New Conversation",
98-
conversationMessages,
98+
conversationMessages
9999
);
100100
} else {
101101
await this.addMessagesToConversation(
102102
context.conversationId,
103-
conversationMessages,
103+
conversationMessages
104104
);
105105
}
106106
} catch (error) {
107107
throw new Error(
108-
`Failed to save conversation: ${error instanceof Error ? error.message : "Unknown error"}`,
108+
`Failed to save conversation: ${error instanceof Error ? error.message : "Unknown error"}`
109109
);
110110
}
111111
}
@@ -115,7 +115,7 @@ export class ConversationRepository {
115115
websiteId: string,
116116
userId: string,
117117
title: string,
118-
messages: AssistantMessageInput[],
118+
messages: AssistantMessageInput[]
119119
): Promise<void> {
120120
await db.transaction(async (tx) => {
121121
await tx.insert(assistantConversations).values({
@@ -145,7 +145,7 @@ export class ConversationRepository {
145145

146146
private async addMessagesToConversation(
147147
conversationId: string,
148-
messages: AssistantMessageInput[],
148+
messages: AssistantMessageInput[]
149149
): Promise<void> {
150150
await db.transaction(async (tx) => {
151151
if (messages.length === 1) {

apps/api/src/agent/core/response-processor.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export type AIResponseContent = z.infer<typeof AIResponseJsonSchema>;
1515
export class ResponseProcessor {
1616
async process(
1717
aiResponse: AIResponseContent,
18-
session: AssistantSession,
18+
session: AssistantSession
1919
): Promise<StreamingUpdate[]> {
2020
session.log(`Processing ${aiResponse.response_type} response`);
2121

@@ -36,7 +36,7 @@ export class ResponseProcessor {
3636

3737
private async processResponseByType(
3838
response: AIResponseContent,
39-
session: AssistantSession,
39+
session: AssistantSession
4040
): Promise<StreamingUpdate> {
4141
const startTime = Date.now();
4242

@@ -81,14 +81,14 @@ export class ResponseProcessor {
8181

8282
const processingTime = Date.now() - startTime;
8383
session.log(
84-
`Response processed in ${processingTime}ms, result: ${result.type}`,
84+
`Response processed in ${processingTime}ms, result: ${result.type}`
8585
);
8686

8787
return result;
8888
} catch (error) {
8989
const processingTime = Date.now() - startTime;
9090
session.log(
91-
`Response processing failed in ${processingTime}ms: ${error instanceof Error ? error.message : "Unknown error"}`,
91+
`Response processing failed in ${processingTime}ms: ${error instanceof Error ? error.message : "Unknown error"}`
9292
);
9393

9494
return {

apps/api/src/agent/handlers/chart-handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const noDataMessages = [
2121
];
2222

2323
export async function handleChartResponse(
24-
parsedAiJson: z.infer<typeof AIResponseJsonSchema>,
24+
parsedAiJson: z.infer<typeof AIResponseJsonSchema>
2525
): Promise<StreamingUpdate> {
2626
if (!parsedAiJson.sql) {
2727
return {

apps/api/src/agent/handlers/metric-handler.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { executeQuery } from "../utils/query-executor";
55
import { validateSQL } from "../utils/sql-validator";
66

77
export async function handleMetricResponse(
8-
parsedAiJson: z.infer<typeof AIResponseJsonSchema>,
8+
parsedAiJson: z.infer<typeof AIResponseJsonSchema>
99
): Promise<StreamingUpdate> {
1010
if (parsedAiJson.sql) {
1111
if (!validateSQL(parsedAiJson.sql)) {
@@ -19,7 +19,7 @@ export async function handleMetricResponse(
1919
const queryResult = await executeQuery(parsedAiJson.sql);
2020
const metricValue = extractMetricValue(
2121
queryResult.data,
22-
parsedAiJson.metric_value,
22+
parsedAiJson.metric_value
2323
);
2424
return sendMetricResponse(parsedAiJson, metricValue);
2525
} catch {
@@ -32,7 +32,7 @@ export async function handleMetricResponse(
3232

3333
function extractMetricValue(
3434
queryData: unknown[],
35-
defaultValue: unknown,
35+
defaultValue: unknown
3636
): unknown {
3737
if (!(queryData.length && queryData[0])) {
3838
return defaultValue;
@@ -49,7 +49,7 @@ function extractMetricValue(
4949
function generateTextResponseWithActualValue(
5050
textResponse: string | undefined,
5151
actualValue: unknown,
52-
metricLabel: string | undefined,
52+
metricLabel: string | undefined
5353
): string {
5454
if (!textResponse) {
5555
const formattedValue =
@@ -92,12 +92,12 @@ function generateTextResponseWithActualValue(
9292

9393
function sendMetricResponse(
9494
parsedAiJson: z.infer<typeof AIResponseJsonSchema>,
95-
metricValue: unknown,
95+
metricValue: unknown
9696
): StreamingUpdate {
9797
const textResponse = generateTextResponseWithActualValue(
9898
parsedAiJson.text_response,
9999
metricValue,
100-
parsedAiJson.metric_label,
100+
parsedAiJson.metric_label
101101
);
102102

103103
const typedMetricValue =

apps/api/src/agent/processor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { AssistantOrchestrator } from "./core/assistant-orchestrator";
1010
export async function processAssistantRequest(
1111
request: AssistantRequestType,
1212
user: User,
13-
website: Website,
13+
website: Website
1414
): Promise<StreamingUpdate[]> {
1515
const orchestrator = new AssistantOrchestrator();
1616
return await orchestrator.processRequest(request, user, website);

apps/api/src/agent/prompts/agent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const comprehensiveSystemPrompt = (
4747
websiteId: string,
4848
websiteHostname: string,
4949
mode: "analysis_only" | "execute_chat" | "execute_agent_step",
50-
_model?: AssistantRequestType["model"],
50+
_model?: AssistantRequestType["model"]
5151
) => `
5252
<persona>
5353
You are Databunny, a world-class, specialized data analyst for the website ${websiteHostname}. You are precise, analytical, and secure. Your sole purpose is to help users understand their website's analytics data by providing insights, generating SQL queries, and creating visualizations.

0 commit comments

Comments
 (0)