mirror of
https://github.com/hanzoai/insights.git
synced 2026-11-03 00:52:32 +00:00
Mechanically re-derived: bin/debrand runs over a fresh import of posthog/posthog@fa1a9a60d4 (2026-08-06). The pipeline (.hanzo/workflows), the Dockerfiles and bin/docker* entrypoints, compose files, LLM.md and the squashed initial migration are restored from the shipped tree, same as the previous import. The prune's import-closure guard kept 21 products the new core now imports; dropping them is a refactor now, recorded rather than forced.
104 lines
4.3 KiB
TypeScript
104 lines
4.3 KiB
TypeScript
import { combineUrl } from 'kea-router'
|
|
|
|
import { urls } from 'scenes/urls'
|
|
|
|
import { FileSystemIconType, ProductItemCategory, ProductKey } from '~/queries/schema/schema-general'
|
|
|
|
import { ActivityScope, FileSystemIconColor, ProductManifest } from '../../frontend/src/types'
|
|
|
|
export const manifest: ProductManifest = {
|
|
name: 'Logs',
|
|
scenes: {
|
|
Logs: {
|
|
import: () => import('./frontend/LogsScene'),
|
|
projectBased: true,
|
|
name: 'Logs',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
iconType: 'logs',
|
|
description: 'Monitor and analyze your logs to understand and fix issues.',
|
|
},
|
|
LogsAlertDetail: {
|
|
import: () => import('./frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene'),
|
|
projectBased: true,
|
|
name: 'Alert',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
},
|
|
LogsAlertNotificationDetail: {
|
|
import: () => import('./frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene'),
|
|
projectBased: true,
|
|
name: 'Destination',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
},
|
|
LogsSamplingNew: {
|
|
import: () => import('./frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene'),
|
|
projectBased: true,
|
|
name: 'New drop rule',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
},
|
|
LogsSamplingDetail: {
|
|
import: () => import('./frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene'),
|
|
projectBased: true,
|
|
name: 'Drop rule',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
},
|
|
LogsRetentionNew: {
|
|
import: () => import('./frontend/scenes/LogsRetentionNewScene/LogsRetentionNewScene'),
|
|
projectBased: true,
|
|
name: 'New retention rule',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
},
|
|
LogsRetentionDetail: {
|
|
import: () => import('./frontend/scenes/LogsRetentionDetailScene/LogsRetentionDetailScene'),
|
|
projectBased: true,
|
|
name: 'Retention rule',
|
|
activityScope: ActivityScope.LOG,
|
|
layout: 'app-container',
|
|
},
|
|
},
|
|
routes: {
|
|
'/logs': ['Logs', 'logs'],
|
|
'/logs/alerts/:id': ['LogsAlertDetail', 'logsAlertDetail'],
|
|
'/logs/alerts/:id/notifications/:insightsFunctionId': ['LogsAlertNotificationDetail', 'logsAlertNotificationDetail'],
|
|
'/logs/drop-rules/new': ['LogsSamplingNew', 'logsSamplingNew'],
|
|
'/logs/drop-rules/:id': ['LogsSamplingDetail', 'logsSamplingDetail'],
|
|
'/logs/retention-rules/new': ['LogsRetentionNew', 'logsRetentionNew'],
|
|
'/logs/retention-rules/:id': ['LogsRetentionDetail', 'logsRetentionDetail'],
|
|
},
|
|
redirects: {
|
|
'/logs/sampling/new': (_params, searchParams, hashParams) =>
|
|
combineUrl('/logs/drop-rules/new', searchParams, hashParams).url,
|
|
'/logs/sampling/:id': (params, searchParams, hashParams) =>
|
|
combineUrl(`/logs/drop-rules/${params.id}`, searchParams, hashParams).url,
|
|
},
|
|
urls: {
|
|
logs: (): string => '/logs',
|
|
logsAlertDetail: (id: string, tab?: string): string =>
|
|
tab ? `/logs/alerts/${id}?tab=${tab}` : `/logs/alerts/${id}`,
|
|
logsAlertNotificationDetail: (alertId: string, insightsFunctionId: string): string =>
|
|
`/logs/alerts/${alertId}/notifications/${insightsFunctionId}`,
|
|
logsSamplingNew: (): string => '/logs/drop-rules/new',
|
|
logsSamplingDetail: (id: string): string => `/logs/drop-rules/${id}`,
|
|
logsRetentionNew: (): string => '/logs/retention-rules/new',
|
|
logsRetentionDetail: (id: string): string => `/logs/retention-rules/${id}`,
|
|
},
|
|
fileSystemTypes: {},
|
|
treeItemsNew: [],
|
|
treeItemsProducts: [
|
|
{
|
|
path: 'Logs',
|
|
intents: [ProductKey.LOGS],
|
|
category: ProductItemCategory.APP_MONITORING,
|
|
iconType: 'logs' as FileSystemIconType,
|
|
iconColor: ['var(--color-product-logs-light)'] as FileSystemIconColor,
|
|
href: urls.logs(),
|
|
sceneKey: 'Logs',
|
|
},
|
|
],
|
|
}
|