Open-source marketplace for AI Agent skills. Features: - Next.js 15 web app with i18n (en/fa) - CLI tool for skill installation (npx skillhub) - GitHub crawler/indexer with multi-strategy discovery - Security scanning for all indexed skills - Self-hostable with Docker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
// This file configures the initialization of Sentry on the server.
|
|
// The config you add here will be used whenever the server handles a request.
|
|
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
|
|
|
|
import * as Sentry from "@sentry/nextjs";
|
|
|
|
Sentry.init({
|
|
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
|
|
|
|
// Environment and release tracking
|
|
environment: process.env.NODE_ENV,
|
|
release: process.env.NEXT_PUBLIC_SENTRY_RELEASE,
|
|
|
|
// Enable structured logging
|
|
enableLogs: true,
|
|
|
|
// Console logging integration - capture warnings and errors from server
|
|
integrations: [
|
|
Sentry.consoleLoggingIntegration({
|
|
levels: ["warn", "error"],
|
|
}),
|
|
],
|
|
|
|
// Performance Monitoring
|
|
// Capture 10% of transactions in production, 100% in development
|
|
tracesSampleRate: process.env.NODE_ENV === "production" ? 0.1 : 1.0,
|
|
|
|
// Filter and enhance error events
|
|
beforeSend(event, hint) {
|
|
const error = hint.originalException;
|
|
|
|
// Add database query info if available
|
|
if (error && typeof error === "object" && "query" in error) {
|
|
event.extra = {
|
|
...event.extra,
|
|
query: (error as { query?: string }).query,
|
|
};
|
|
}
|
|
|
|
return event;
|
|
},
|
|
|
|
// Ignore specific server errors that are expected
|
|
ignoreErrors: [
|
|
// Next.js internal errors
|
|
"NEXT_NOT_FOUND",
|
|
"NEXT_REDIRECT",
|
|
// Network errors that are normal
|
|
"ECONNRESET",
|
|
"ETIMEDOUT",
|
|
],
|
|
});
|