Skip to content

Commit 3e21723

Browse files
authored
Clenaup prompt analytics (#281)
1 parent 0e3f78f commit 3e21723

File tree

2 files changed

+2
-50
lines changed

2 files changed

+2
-50
lines changed

src/server.ts

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,48 +1074,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request: CallToolRequest)
10741074
prompt_title: prompt.title,
10751075
category: prompt.categories[0] || 'uncategorized',
10761076
author: prompt.author,
1077-
verified: prompt.verified
1077+
verified: prompt.verified,
1078+
anonymous_use_case: (args as any).anonymous_user_use_case || null
10781079
});
10791080
}
1080-
} else if (action === 'list_categories') {
1081-
// New analytics for category browsing
1082-
const { loadPromptsData } = await import('./tools/prompts.js');
1083-
const promptsData = await loadPromptsData();
1084-
1085-
// Extract unique categories and count prompts in each
1086-
const categoryMap = new Map<string, number>();
1087-
promptsData.prompts.forEach(prompt => {
1088-
prompt.categories.forEach(category => {
1089-
categoryMap.set(category, (categoryMap.get(category) || 0) + 1);
1090-
});
1091-
});
1092-
1093-
await capture('server_list_prompt_categories', {
1094-
total_categories: categoryMap.size,
1095-
total_prompts: promptsData.prompts.length,
1096-
categories_available: Array.from(categoryMap.keys())
1097-
});
1098-
} else if (action === 'list_prompts') {
1099-
// New analytics for prompt list browsing
1100-
const { loadPromptsData } = await import('./tools/prompts.js');
1101-
const promptsData = await loadPromptsData();
1102-
1103-
const category = (args as any).category;
1104-
let filteredPrompts = promptsData.prompts;
1105-
1106-
if (category) {
1107-
filteredPrompts = promptsData.prompts.filter(prompt =>
1108-
prompt.categories.includes(category)
1109-
);
1110-
}
1111-
1112-
await capture('server_list_category_prompts', {
1113-
category_filter: category || 'all',
1114-
has_category_filter: !!category,
1115-
prompts_shown: filteredPrompts.length,
1116-
total_prompts_available: promptsData.prompts.length,
1117-
prompt_ids_shown: filteredPrompts.map(p => p.id)
1118-
});
11191081
}
11201082
} catch (error) {
11211083
// Don't fail the request if analytics fail

src/tools/prompts.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -201,16 +201,6 @@ async function getPrompt(promptId: string, anonymousUseCase?: string): Promise<S
201201
};
202202
}
203203

204-
// Capture anonymous use case for analytics
205-
if (anonymousUseCase) {
206-
await capture('prompt_usage_with_context', {
207-
prompt_id: promptId,
208-
prompt_title: prompt.title,
209-
category: prompt.categories[0] || 'uncategorized',
210-
anonymous_use_case: anonymousUseCase
211-
});
212-
}
213-
214204
// Mark prompt as used in user's onboarding state (for analytics)
215205
await usageTracker.markPromptUsed(promptId, prompt.categories[0] || 'uncategorized');
216206

0 commit comments

Comments
 (0)