@wakastellar/ui 2.1.2 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocks/apm-overview/index.d.ts +58 -0
- package/dist/blocks/cicd-builder/index.d.ts +47 -0
- package/dist/blocks/cloud-cost-dashboard/index.d.ts +49 -0
- package/dist/blocks/container-orchestrator/index.d.ts +63 -0
- package/dist/blocks/database-admin/index.d.ts +84 -0
- package/dist/blocks/gitops-sync-status/index.d.ts +45 -0
- package/dist/blocks/incident-manager/index.d.ts +44 -0
- package/dist/blocks/index.d.ts +10 -0
- package/dist/blocks/infrastructure-map/index.d.ts +32 -0
- package/dist/blocks/on-call-schedule/index.d.ts +43 -0
- package/dist/blocks/release-notes/index.d.ts +49 -0
- package/dist/components/index.d.ts +34 -0
- package/dist/components/waka-ad-banner/index.d.ts +36 -0
- package/dist/components/waka-ad-fallback/index.d.ts +33 -0
- package/dist/components/waka-ad-inline/index.d.ts +15 -0
- package/dist/components/waka-ad-interstitial/index.d.ts +26 -0
- package/dist/components/waka-ad-placeholder/index.d.ts +17 -0
- package/dist/components/waka-ad-provider/index.d.ts +103 -0
- package/dist/components/waka-ad-sidebar/index.d.ts +18 -0
- package/dist/components/waka-ad-sticky-footer/index.d.ts +17 -0
- package/dist/components/waka-alert-panel/index.d.ts +45 -0
- package/dist/components/waka-artifact-list/index.d.ts +32 -0
- package/dist/components/waka-build-matrix/index.d.ts +36 -0
- package/dist/components/waka-config-comparator/index.d.ts +37 -0
- package/dist/components/waka-container-list/index.d.ts +51 -0
- package/dist/components/waka-content-recommendation/index.d.ts +23 -0
- package/dist/components/waka-database-card/index.d.ts +46 -0
- package/dist/components/waka-dependency-tree/index.d.ts +38 -0
- package/dist/components/waka-env-var-editor/index.d.ts +30 -0
- package/dist/components/waka-feature-flag-row/index.d.ts +45 -0
- package/dist/components/waka-kubernetes-overview/index.d.ts +98 -0
- package/dist/components/waka-log-viewer/index.d.ts +38 -0
- package/dist/components/waka-migration-list/index.d.ts +36 -0
- package/dist/components/waka-outstream-video/index.d.ts +24 -0
- package/dist/components/waka-pod-card/index.d.ts +73 -0
- package/dist/components/waka-query-explain/index.d.ts +48 -0
- package/dist/components/waka-secret-card/index.d.ts +43 -0
- package/dist/components/waka-security-scan-result/index.d.ts +45 -0
- package/dist/components/waka-service-graph/index.d.ts +44 -0
- package/dist/components/waka-sponsored-badge/index.d.ts +20 -0
- package/dist/components/waka-sponsored-card/index.d.ts +25 -0
- package/dist/components/waka-sponsored-feed/index.d.ts +31 -0
- package/dist/components/waka-test-report/index.d.ts +60 -0
- package/dist/components/waka-trace-viewer/index.d.ts +36 -0
- package/dist/components/waka-video-ad/index.d.ts +32 -0
- package/dist/components/waka-video-overlay/index.d.ts +26 -0
- package/dist/index.cjs.js +251 -200
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +47315 -35823
- package/dist/utils/security.d.ts +96 -0
- package/package.json +4 -4
- package/src/blocks/apm-overview/index.tsx +672 -0
- package/src/blocks/cicd-builder/index.tsx +738 -0
- package/src/blocks/cloud-cost-dashboard/index.tsx +597 -0
- package/src/blocks/container-orchestrator/index.tsx +729 -0
- package/src/blocks/database-admin/index.tsx +679 -0
- package/src/blocks/gitops-sync-status/index.tsx +557 -0
- package/src/blocks/incident-manager/index.tsx +586 -0
- package/src/blocks/index.ts +119 -0
- package/src/blocks/infrastructure-map/index.tsx +638 -0
- package/src/blocks/on-call-schedule/index.tsx +615 -0
- package/src/blocks/release-notes/index.tsx +643 -0
- package/src/blocks/sidebar/index.tsx +6 -6
- package/src/components/DataTable/templates/index.tsx +3 -2
- package/src/components/index.ts +283 -0
- package/src/components/waka-3d-pie-chart/index.tsx +11 -11
- package/src/components/waka-achievement-unlock/index.tsx +16 -16
- package/src/components/waka-ad-banner/index.tsx +275 -0
- package/src/components/waka-ad-fallback/index.tsx +181 -0
- package/src/components/waka-ad-inline/index.tsx +103 -0
- package/src/components/waka-ad-interstitial/index.tsx +278 -0
- package/src/components/waka-ad-placeholder/index.tsx +84 -0
- package/src/components/waka-ad-provider/index.tsx +329 -0
- package/src/components/waka-ad-sidebar/index.tsx +113 -0
- package/src/components/waka-ad-sticky-footer/index.tsx +125 -0
- package/src/components/waka-alert-panel/index.tsx +493 -0
- package/src/components/waka-artifact-list/index.tsx +416 -0
- package/src/components/waka-badge-showcase/index.tsx +12 -11
- package/src/components/waka-build-matrix/index.tsx +396 -0
- package/src/components/waka-command-bar/index.tsx +2 -1
- package/src/components/waka-config-comparator/index.tsx +416 -0
- package/src/components/waka-container-list/index.tsx +475 -0
- package/src/components/waka-content-recommendation/index.tsx +294 -0
- package/src/components/waka-cost-breakdown/index.tsx +10 -10
- package/src/components/waka-database-card/index.tsx +473 -0
- package/src/components/waka-dependency-tree/index.tsx +542 -0
- package/src/components/waka-env-var-editor/index.tsx +417 -0
- package/src/components/waka-feature-flag-row/index.tsx +386 -0
- package/src/components/waka-funnel-chart/index.tsx +8 -8
- package/src/components/waka-health-pulse/index.tsx +6 -6
- package/src/components/waka-kubernetes-overview/index.tsx +536 -0
- package/src/components/waka-leaderboard/index.tsx +9 -9
- package/src/components/waka-log-viewer/index.tsx +386 -0
- package/src/components/waka-loot-box/index.tsx +20 -20
- package/src/components/waka-migration-list/index.tsx +487 -0
- package/src/components/waka-outstream-video/index.tsx +240 -0
- package/src/components/waka-player-card/index.tsx +5 -5
- package/src/components/waka-pod-card/index.tsx +528 -0
- package/src/components/waka-query-explain/index.tsx +657 -0
- package/src/components/waka-quota-bar/index.tsx +4 -4
- package/src/components/waka-radar-score/index.tsx +10 -10
- package/src/components/waka-scratch-card/index.tsx +5 -4
- package/src/components/waka-secret-card/index.tsx +371 -0
- package/src/components/waka-security-scan-result/index.tsx +473 -0
- package/src/components/waka-server-rack/index.tsx +28 -27
- package/src/components/waka-service-graph/index.tsx +445 -0
- package/src/components/waka-sponsored-badge/index.tsx +97 -0
- package/src/components/waka-sponsored-card/index.tsx +275 -0
- package/src/components/waka-sponsored-feed/index.tsx +127 -0
- package/src/components/waka-spotlight/index.tsx +2 -1
- package/src/components/waka-success-explosion/index.tsx +4 -4
- package/src/components/waka-test-report/index.tsx +469 -0
- package/src/components/waka-trace-viewer/index.tsx +490 -0
- package/src/components/waka-video-ad/index.tsx +406 -0
- package/src/components/waka-video-overlay/index.tsx +257 -0
- package/src/components/waka-xp-bar/index.tsx +13 -13
- package/src/styles/base.css +16 -0
- package/src/styles/tailwind.preset.js +12 -0
- package/src/styles/themes/forest.css +16 -0
- package/src/styles/themes/monochrome.css +16 -0
- package/src/styles/themes/perpetuity.css +16 -0
- package/src/styles/themes/sunset.css +16 -0
- package/src/styles/themes/twilight.css +16 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type LogLevel = "error" | "warn" | "info" | "debug" | "trace";
|
|
2
|
+
export interface LogEntry {
|
|
3
|
+
id: string;
|
|
4
|
+
timestamp: Date;
|
|
5
|
+
level: LogLevel;
|
|
6
|
+
message: string;
|
|
7
|
+
source?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
stackTrace?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface WakaLogViewerProps {
|
|
12
|
+
/** Log entries to display */
|
|
13
|
+
logs: LogEntry[];
|
|
14
|
+
/** Callback when requesting more logs */
|
|
15
|
+
onLoadMore?: () => void;
|
|
16
|
+
/** Callback when clearing logs */
|
|
17
|
+
onClear?: () => void;
|
|
18
|
+
/** Callback when exporting logs */
|
|
19
|
+
onExport?: (logs: LogEntry[]) => void;
|
|
20
|
+
/** Whether streaming is active */
|
|
21
|
+
isStreaming?: boolean;
|
|
22
|
+
/** Callback to toggle streaming */
|
|
23
|
+
onToggleStreaming?: () => void;
|
|
24
|
+
/** Maximum number of logs to display */
|
|
25
|
+
maxLogs?: number;
|
|
26
|
+
/** Show timestamp */
|
|
27
|
+
showTimestamp?: boolean;
|
|
28
|
+
/** Show source */
|
|
29
|
+
showSource?: boolean;
|
|
30
|
+
/** Enable auto-scroll to bottom */
|
|
31
|
+
autoScroll?: boolean;
|
|
32
|
+
/** Custom class name */
|
|
33
|
+
className?: string;
|
|
34
|
+
/** Title */
|
|
35
|
+
title?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare function WakaLogViewer({ logs, onLoadMore, onClear, onExport, isStreaming, onToggleStreaming, maxLogs, showTimestamp, showSource, autoScroll, className, title, }: WakaLogViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export declare const defaultLogs: LogEntry[];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type MigrationStatus = "pending" | "applied" | "failed" | "rolled_back" | "running";
|
|
2
|
+
export interface Migration {
|
|
3
|
+
id: string;
|
|
4
|
+
version: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
status: MigrationStatus;
|
|
8
|
+
appliedAt?: Date;
|
|
9
|
+
rolledBackAt?: Date;
|
|
10
|
+
duration?: number;
|
|
11
|
+
author?: string;
|
|
12
|
+
checksum?: string;
|
|
13
|
+
upScript?: string;
|
|
14
|
+
downScript?: string;
|
|
15
|
+
error?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface WakaMigrationListProps {
|
|
18
|
+
/** List of migrations */
|
|
19
|
+
migrations: Migration[];
|
|
20
|
+
/** Callback when applying a migration */
|
|
21
|
+
onApply?: (migration: Migration) => void;
|
|
22
|
+
/** Callback when rolling back a migration */
|
|
23
|
+
onRollback?: (migration: Migration) => void;
|
|
24
|
+
/** Callback when viewing migration details */
|
|
25
|
+
onViewDetails?: (migration: Migration) => void;
|
|
26
|
+
/** Current database version */
|
|
27
|
+
currentVersion?: string;
|
|
28
|
+
/** Show scripts */
|
|
29
|
+
showScripts?: boolean;
|
|
30
|
+
/** Title */
|
|
31
|
+
title?: string;
|
|
32
|
+
/** Custom class name */
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function WakaMigrationList({ migrations, onApply, onRollback, onViewDetails, currentVersion, showScripts, title, className, }: WakaMigrationListProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare const defaultMigrations: Migration[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface WakaOutstreamVideoProps {
|
|
2
|
+
/** Unique slot ID */
|
|
3
|
+
slotId: string;
|
|
4
|
+
/** Collapse when video ends or is closed */
|
|
5
|
+
collapseOnEnd?: boolean;
|
|
6
|
+
/** Collapse animation duration (ms) */
|
|
7
|
+
collapseDuration?: number;
|
|
8
|
+
/** Start muted */
|
|
9
|
+
muted?: boolean;
|
|
10
|
+
/** Show close button */
|
|
11
|
+
showClose?: boolean;
|
|
12
|
+
/** Close after seconds (0 = manual only) */
|
|
13
|
+
closeAfter?: number;
|
|
14
|
+
/** Minimum visibility to start playing (0-1) */
|
|
15
|
+
visibilityThreshold?: number;
|
|
16
|
+
/** Custom class name */
|
|
17
|
+
className?: string;
|
|
18
|
+
/** Callback when video completes */
|
|
19
|
+
onComplete?: () => void;
|
|
20
|
+
/** Callback when closed */
|
|
21
|
+
onClose?: () => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function WakaOutstreamVideo({ slotId, collapseOnEnd, collapseDuration, muted, showClose, closeAfter, visibilityThreshold, className, onComplete, onClose, }: WakaOutstreamVideoProps): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export default WakaOutstreamVideo;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export type PodPhase = "Running" | "Pending" | "Succeeded" | "Failed" | "Unknown";
|
|
2
|
+
export type ContainerState = "running" | "waiting" | "terminated";
|
|
3
|
+
export interface PodContainer {
|
|
4
|
+
name: string;
|
|
5
|
+
image: string;
|
|
6
|
+
state: ContainerState;
|
|
7
|
+
ready: boolean;
|
|
8
|
+
restartCount: number;
|
|
9
|
+
startedAt?: Date;
|
|
10
|
+
reason?: string;
|
|
11
|
+
message?: string;
|
|
12
|
+
resources?: {
|
|
13
|
+
cpu: {
|
|
14
|
+
used: number;
|
|
15
|
+
limit: number;
|
|
16
|
+
};
|
|
17
|
+
memory: {
|
|
18
|
+
used: number;
|
|
19
|
+
limit: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
ports?: Array<{
|
|
23
|
+
containerPort: number;
|
|
24
|
+
protocol: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export interface PodEvent {
|
|
28
|
+
type: "Normal" | "Warning";
|
|
29
|
+
reason: string;
|
|
30
|
+
message: string;
|
|
31
|
+
timestamp: Date;
|
|
32
|
+
count?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface PodDetails {
|
|
35
|
+
name: string;
|
|
36
|
+
namespace: string;
|
|
37
|
+
phase: PodPhase;
|
|
38
|
+
nodeName?: string;
|
|
39
|
+
podIP?: string;
|
|
40
|
+
hostIP?: string;
|
|
41
|
+
startTime?: Date;
|
|
42
|
+
containers: PodContainer[];
|
|
43
|
+
events?: PodEvent[];
|
|
44
|
+
labels?: Record<string, string>;
|
|
45
|
+
annotations?: Record<string, string>;
|
|
46
|
+
conditions?: Array<{
|
|
47
|
+
type: string;
|
|
48
|
+
status: boolean;
|
|
49
|
+
reason?: string;
|
|
50
|
+
message?: string;
|
|
51
|
+
lastTransitionTime?: Date;
|
|
52
|
+
}>;
|
|
53
|
+
}
|
|
54
|
+
export interface WakaPodCardProps {
|
|
55
|
+
/** Pod details */
|
|
56
|
+
pod: PodDetails;
|
|
57
|
+
/** Callback when viewing logs */
|
|
58
|
+
onViewLogs?: (containerName: string) => void;
|
|
59
|
+
/** Callback when opening terminal */
|
|
60
|
+
onExec?: (containerName: string) => void;
|
|
61
|
+
/** Callback when deleting pod */
|
|
62
|
+
onDelete?: () => void;
|
|
63
|
+
/** Callback when restarting (deleting for recreation) */
|
|
64
|
+
onRestart?: () => void;
|
|
65
|
+
/** Show events section */
|
|
66
|
+
showEvents?: boolean;
|
|
67
|
+
/** Compact mode */
|
|
68
|
+
compact?: boolean;
|
|
69
|
+
/** Custom class name */
|
|
70
|
+
className?: string;
|
|
71
|
+
}
|
|
72
|
+
export declare function WakaPodCard({ pod, onViewLogs, onExec, onDelete, onRestart, showEvents, compact, className, }: WakaPodCardProps): import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
export declare const defaultPodDetails: PodDetails;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type NodeType = "Seq Scan" | "Index Scan" | "Index Only Scan" | "Bitmap Heap Scan" | "Bitmap Index Scan" | "Nested Loop" | "Hash Join" | "Merge Join" | "Sort" | "Aggregate" | "Group" | "Limit" | "Hash" | "Materialize" | "Subquery Scan" | "CTE Scan" | "Result" | "Append" | "Unique" | "WindowAgg" | "Gather" | "Gather Merge";
|
|
2
|
+
export interface ExplainNode {
|
|
3
|
+
id: string;
|
|
4
|
+
type: NodeType;
|
|
5
|
+
relation?: string;
|
|
6
|
+
alias?: string;
|
|
7
|
+
indexName?: string;
|
|
8
|
+
filter?: string;
|
|
9
|
+
joinType?: string;
|
|
10
|
+
sortKey?: string[];
|
|
11
|
+
startupCost: number;
|
|
12
|
+
totalCost: number;
|
|
13
|
+
rows: number;
|
|
14
|
+
actualRows?: number;
|
|
15
|
+
actualTime?: number;
|
|
16
|
+
loops?: number;
|
|
17
|
+
width?: number;
|
|
18
|
+
children?: ExplainNode[];
|
|
19
|
+
warnings?: string[];
|
|
20
|
+
buffers?: {
|
|
21
|
+
sharedHit?: number;
|
|
22
|
+
sharedRead?: number;
|
|
23
|
+
sharedWritten?: number;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface QueryPlan {
|
|
27
|
+
query: string;
|
|
28
|
+
planningTime?: number;
|
|
29
|
+
executionTime?: number;
|
|
30
|
+
totalCost: number;
|
|
31
|
+
rootNode: ExplainNode;
|
|
32
|
+
}
|
|
33
|
+
export interface WakaQueryExplainProps {
|
|
34
|
+
/** Query plan to display */
|
|
35
|
+
plan: QueryPlan;
|
|
36
|
+
/** Show actual vs estimated */
|
|
37
|
+
showActual?: boolean;
|
|
38
|
+
/** Show buffers info */
|
|
39
|
+
showBuffers?: boolean;
|
|
40
|
+
/** Callback when node is clicked */
|
|
41
|
+
onNodeClick?: (node: ExplainNode) => void;
|
|
42
|
+
/** Title */
|
|
43
|
+
title?: string;
|
|
44
|
+
/** Custom class name */
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function WakaQueryExplain({ plan, showActual, showBuffers, onNodeClick, title, className, }: WakaQueryExplainProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare const defaultQueryPlan: QueryPlan;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface SecretAccess {
|
|
2
|
+
user: string;
|
|
3
|
+
action: "read" | "write" | "rotate";
|
|
4
|
+
timestamp: Date;
|
|
5
|
+
}
|
|
6
|
+
export interface Secret {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
type: "api-key" | "password" | "certificate" | "token" | "other";
|
|
11
|
+
value?: string;
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
updatedAt: Date;
|
|
14
|
+
expiresAt?: Date;
|
|
15
|
+
rotatedAt?: Date;
|
|
16
|
+
rotationPeriod?: number;
|
|
17
|
+
lastAccessedAt?: Date;
|
|
18
|
+
lastAccessedBy?: string;
|
|
19
|
+
accessHistory?: SecretAccess[];
|
|
20
|
+
tags?: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface WakaSecretCardProps {
|
|
23
|
+
/** Secret data */
|
|
24
|
+
secret: Secret;
|
|
25
|
+
/** Callback when rotating secret */
|
|
26
|
+
onRotate?: () => void;
|
|
27
|
+
/** Callback when deleting secret */
|
|
28
|
+
onDelete?: () => void;
|
|
29
|
+
/** Callback when copying secret */
|
|
30
|
+
onCopy?: () => void;
|
|
31
|
+
/** Callback when viewing secret value */
|
|
32
|
+
onView?: () => void;
|
|
33
|
+
/** Whether the secret value is visible */
|
|
34
|
+
isValueVisible?: boolean;
|
|
35
|
+
/** Show access history */
|
|
36
|
+
showHistory?: boolean;
|
|
37
|
+
/** Compact mode */
|
|
38
|
+
compact?: boolean;
|
|
39
|
+
/** Custom class name */
|
|
40
|
+
className?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function WakaSecretCard({ secret, onRotate, onDelete, onCopy, onView, isValueVisible, showHistory, compact, className, }: WakaSecretCardProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare const defaultSecret: Secret;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type VulnerabilitySeverity = "critical" | "high" | "medium" | "low" | "info";
|
|
2
|
+
export type ScanType = "sast" | "dast" | "sca" | "secret" | "container";
|
|
3
|
+
export interface Vulnerability {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
severity: VulnerabilitySeverity;
|
|
8
|
+
type: ScanType;
|
|
9
|
+
cveId?: string;
|
|
10
|
+
cweId?: string;
|
|
11
|
+
cvssScore?: number;
|
|
12
|
+
package?: string;
|
|
13
|
+
version?: string;
|
|
14
|
+
fixedVersion?: string;
|
|
15
|
+
file?: string;
|
|
16
|
+
line?: number;
|
|
17
|
+
url?: string;
|
|
18
|
+
remediation?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ScanSummary {
|
|
21
|
+
critical: number;
|
|
22
|
+
high: number;
|
|
23
|
+
medium: number;
|
|
24
|
+
low: number;
|
|
25
|
+
info: number;
|
|
26
|
+
total: number;
|
|
27
|
+
}
|
|
28
|
+
export interface WakaSecurityScanResultProps {
|
|
29
|
+
/** List of vulnerabilities */
|
|
30
|
+
vulnerabilities: Vulnerability[];
|
|
31
|
+
/** Scan type */
|
|
32
|
+
scanType?: ScanType | "all";
|
|
33
|
+
/** Scan timestamp */
|
|
34
|
+
scannedAt?: Date;
|
|
35
|
+
/** Callback when clicking on a vulnerability */
|
|
36
|
+
onVulnerabilityClick?: (vuln: Vulnerability) => void;
|
|
37
|
+
/** Callback when viewing CVE details */
|
|
38
|
+
onViewCVE?: (cveId: string) => void;
|
|
39
|
+
/** Title */
|
|
40
|
+
title?: string;
|
|
41
|
+
/** Custom class name */
|
|
42
|
+
className?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare function WakaSecurityScanResult({ vulnerabilities, scanType, scannedAt, onVulnerabilityClick, onViewCVE, title, className, }: WakaSecurityScanResultProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export declare const defaultVulnerabilities: Vulnerability[];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type ServiceHealth = "healthy" | "degraded" | "unhealthy" | "unknown";
|
|
2
|
+
export type ServiceType = "api" | "database" | "cache" | "queue" | "gateway" | "external";
|
|
3
|
+
export interface ServiceNode {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
type: ServiceType;
|
|
7
|
+
health: ServiceHealth;
|
|
8
|
+
namespace?: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
replicas?: number;
|
|
11
|
+
requestsPerSec?: number;
|
|
12
|
+
errorRate?: number;
|
|
13
|
+
latencyP50?: number;
|
|
14
|
+
latencyP99?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ServiceConnection {
|
|
17
|
+
source: string;
|
|
18
|
+
target: string;
|
|
19
|
+
protocol?: string;
|
|
20
|
+
requestsPerSec?: number;
|
|
21
|
+
errorRate?: number;
|
|
22
|
+
latency?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface WakaServiceGraphProps {
|
|
25
|
+
/** List of services */
|
|
26
|
+
services: ServiceNode[];
|
|
27
|
+
/** List of connections between services */
|
|
28
|
+
connections: ServiceConnection[];
|
|
29
|
+
/** Selected service ID */
|
|
30
|
+
selectedService?: string;
|
|
31
|
+
/** Callback when clicking on a service */
|
|
32
|
+
onServiceClick?: (service: ServiceNode) => void;
|
|
33
|
+
/** Callback when clicking on a connection */
|
|
34
|
+
onConnectionClick?: (connection: ServiceConnection) => void;
|
|
35
|
+
/** Callback when refreshing */
|
|
36
|
+
onRefresh?: () => void;
|
|
37
|
+
/** Show metrics on nodes */
|
|
38
|
+
showMetrics?: boolean;
|
|
39
|
+
/** Custom class name */
|
|
40
|
+
className?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function WakaServiceGraph({ services, connections, selectedService, onServiceClick, onConnectionClick, onRefresh, showMetrics, className, }: WakaServiceGraphProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare const defaultServices: ServiceNode[];
|
|
44
|
+
export declare const defaultConnections: ServiceConnection[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type SponsoredBadgeVariant = "default" | "subtle" | "outline" | "dark";
|
|
2
|
+
export type SponsoredBadgeSize = "sm" | "md" | "lg";
|
|
3
|
+
export interface WakaSponsoredBadgeProps {
|
|
4
|
+
/** Sponsor name (optional) */
|
|
5
|
+
sponsor?: string;
|
|
6
|
+
/** Badge variant */
|
|
7
|
+
variant?: SponsoredBadgeVariant;
|
|
8
|
+
/** Badge size */
|
|
9
|
+
size?: SponsoredBadgeSize;
|
|
10
|
+
/** Show info icon */
|
|
11
|
+
showIcon?: boolean;
|
|
12
|
+
/** Custom label text */
|
|
13
|
+
label?: string;
|
|
14
|
+
/** Custom class name */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Callback when info is clicked */
|
|
17
|
+
onInfoClick?: () => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function WakaSponsoredBadge({ sponsor, variant, size, showIcon, label, className, onInfoClick, }: WakaSponsoredBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export default WakaSponsoredBadge;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type SponsoredCardVariant = "article" | "product" | "compact" | "horizontal";
|
|
2
|
+
export interface WakaSponsoredCardProps {
|
|
3
|
+
/** Unique slot ID */
|
|
4
|
+
slotId: string;
|
|
5
|
+
/** Card variant */
|
|
6
|
+
variant?: SponsoredCardVariant;
|
|
7
|
+
/** GPT ad unit path */
|
|
8
|
+
adUnitPath?: string;
|
|
9
|
+
/** Show image */
|
|
10
|
+
showImage?: boolean;
|
|
11
|
+
/** Show description */
|
|
12
|
+
showDescription?: boolean;
|
|
13
|
+
/** Show CTA button */
|
|
14
|
+
showCta?: boolean;
|
|
15
|
+
/** Image aspect ratio */
|
|
16
|
+
aspectRatio?: "video" | "square" | "portrait";
|
|
17
|
+
/** Custom class name */
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Callback when clicked */
|
|
20
|
+
onClick?: () => void;
|
|
21
|
+
/** Callback when loaded */
|
|
22
|
+
onLoad?: () => void;
|
|
23
|
+
}
|
|
24
|
+
export declare function WakaSponsoredCard({ slotId, variant, adUnitPath, showImage, showDescription, showCta, aspectRatio, className, onClick, onLoad, }: WakaSponsoredCardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
export default WakaSponsoredCard;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SponsoredCardVariant } from '../waka-sponsored-card';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export interface WakaSponsoredFeedProps<T> {
|
|
4
|
+
/** Content items */
|
|
5
|
+
items: T[];
|
|
6
|
+
/** Render function for content items */
|
|
7
|
+
renderItem: (item: T, index: number) => React.ReactNode;
|
|
8
|
+
/** Ad slot IDs to inject */
|
|
9
|
+
adSlots: Array<{
|
|
10
|
+
slotId: string;
|
|
11
|
+
adUnitPath?: string;
|
|
12
|
+
}>;
|
|
13
|
+
/** Insert ad every N items */
|
|
14
|
+
adFrequency?: number;
|
|
15
|
+
/** Starting position for first ad (0-indexed) */
|
|
16
|
+
adStartPosition?: number;
|
|
17
|
+
/** Card variant for ads */
|
|
18
|
+
adVariant?: SponsoredCardVariant;
|
|
19
|
+
/** Maximum number of ads to show */
|
|
20
|
+
maxAds?: number;
|
|
21
|
+
/** Grid columns for items */
|
|
22
|
+
columns?: 1 | 2 | 3 | 4;
|
|
23
|
+
/** Gap between items */
|
|
24
|
+
gap?: "sm" | "md" | "lg";
|
|
25
|
+
/** Custom class name */
|
|
26
|
+
className?: string;
|
|
27
|
+
/** Key extractor for items */
|
|
28
|
+
keyExtractor?: (item: T, index: number) => string;
|
|
29
|
+
}
|
|
30
|
+
export declare function WakaSponsoredFeed<T>({ items, renderItem, adSlots, adFrequency, adStartPosition, adVariant, maxAds, columns, gap, className, keyExtractor, }: WakaSponsoredFeedProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export default WakaSponsoredFeed;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export type TestStatus = "passed" | "failed" | "skipped" | "pending";
|
|
2
|
+
export interface TestCase {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
status: TestStatus;
|
|
6
|
+
duration: number;
|
|
7
|
+
errorMessage?: string;
|
|
8
|
+
stackTrace?: string;
|
|
9
|
+
file?: string;
|
|
10
|
+
line?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TestSuite {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
file?: string;
|
|
16
|
+
tests: TestCase[];
|
|
17
|
+
duration: number;
|
|
18
|
+
timestamp?: Date;
|
|
19
|
+
}
|
|
20
|
+
export interface CoverageReport {
|
|
21
|
+
lines: {
|
|
22
|
+
covered: number;
|
|
23
|
+
total: number;
|
|
24
|
+
percentage: number;
|
|
25
|
+
};
|
|
26
|
+
branches: {
|
|
27
|
+
covered: number;
|
|
28
|
+
total: number;
|
|
29
|
+
percentage: number;
|
|
30
|
+
};
|
|
31
|
+
functions: {
|
|
32
|
+
covered: number;
|
|
33
|
+
total: number;
|
|
34
|
+
percentage: number;
|
|
35
|
+
};
|
|
36
|
+
statements: {
|
|
37
|
+
covered: number;
|
|
38
|
+
total: number;
|
|
39
|
+
percentage: number;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface WakaTestReportProps {
|
|
43
|
+
/** Test suites */
|
|
44
|
+
suites: TestSuite[];
|
|
45
|
+
/** Coverage report */
|
|
46
|
+
coverage?: CoverageReport;
|
|
47
|
+
/** Title */
|
|
48
|
+
title?: string;
|
|
49
|
+
/** Callback when clicking on a test */
|
|
50
|
+
onTestClick?: (test: TestCase) => void;
|
|
51
|
+
/** Callback when viewing test file */
|
|
52
|
+
onViewFile?: (file: string, line?: number) => void;
|
|
53
|
+
/** Show only failed tests */
|
|
54
|
+
showFailedOnly?: boolean;
|
|
55
|
+
/** Custom class name */
|
|
56
|
+
className?: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function WakaTestReport({ suites, coverage, title, onTestClick, onViewFile, showFailedOnly, className, }: WakaTestReportProps): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export declare const defaultTestSuites: TestSuite[];
|
|
60
|
+
export declare const defaultCoverage: CoverageReport;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type SpanStatus = "ok" | "error" | "unset";
|
|
2
|
+
export interface TraceSpan {
|
|
3
|
+
id: string;
|
|
4
|
+
traceId: string;
|
|
5
|
+
parentId?: string;
|
|
6
|
+
operationName: string;
|
|
7
|
+
serviceName: string;
|
|
8
|
+
startTime: number;
|
|
9
|
+
duration: number;
|
|
10
|
+
status: SpanStatus;
|
|
11
|
+
tags?: Record<string, string | number | boolean>;
|
|
12
|
+
logs?: Array<{
|
|
13
|
+
timestamp: number;
|
|
14
|
+
message: string;
|
|
15
|
+
level?: "info" | "warn" | "error";
|
|
16
|
+
}>;
|
|
17
|
+
children?: TraceSpan[];
|
|
18
|
+
}
|
|
19
|
+
export interface WakaTraceViewerProps {
|
|
20
|
+
/** Root spans of the trace */
|
|
21
|
+
spans: TraceSpan[];
|
|
22
|
+
/** Trace ID */
|
|
23
|
+
traceId?: string;
|
|
24
|
+
/** Total trace duration */
|
|
25
|
+
totalDuration?: number;
|
|
26
|
+
/** Callback when clicking on a span */
|
|
27
|
+
onSpanClick?: (span: TraceSpan) => void;
|
|
28
|
+
/** Callback when copying trace ID */
|
|
29
|
+
onCopyTraceId?: (traceId: string) => void;
|
|
30
|
+
/** Show service colors */
|
|
31
|
+
showServiceColors?: boolean;
|
|
32
|
+
/** Custom class name */
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function WakaTraceViewer({ spans, traceId, totalDuration: propTotalDuration, onSpanClick, onCopyTraceId, showServiceColors, className, }: WakaTraceViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare const defaultTraceSpans: TraceSpan[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface WakaVideoAdProps {
|
|
2
|
+
/** Unique slot ID */
|
|
3
|
+
slotId: string;
|
|
4
|
+
/** Video width */
|
|
5
|
+
width?: number;
|
|
6
|
+
/** Video height */
|
|
7
|
+
height?: number;
|
|
8
|
+
/** Aspect ratio */
|
|
9
|
+
aspectRatio?: "16/9" | "4/3" | "1/1" | "9/16";
|
|
10
|
+
/** Autoplay when visible */
|
|
11
|
+
autoplay?: boolean;
|
|
12
|
+
/** Mute by default */
|
|
13
|
+
muted?: boolean;
|
|
14
|
+
/** Show controls */
|
|
15
|
+
showControls?: boolean;
|
|
16
|
+
/** Skip time in seconds (0 = no skip) */
|
|
17
|
+
skipAfter?: number;
|
|
18
|
+
/** Show progress bar */
|
|
19
|
+
showProgress?: boolean;
|
|
20
|
+
/** CTA overlay position */
|
|
21
|
+
ctaPosition?: "bottom" | "overlay" | "end";
|
|
22
|
+
/** Custom class name */
|
|
23
|
+
className?: string;
|
|
24
|
+
/** Callback when video completes */
|
|
25
|
+
onComplete?: () => void;
|
|
26
|
+
/** Callback when skipped */
|
|
27
|
+
onSkip?: () => void;
|
|
28
|
+
/** Callback when clicked */
|
|
29
|
+
onClick?: () => void;
|
|
30
|
+
}
|
|
31
|
+
export declare function WakaVideoAd({ slotId, width, height, aspectRatio, autoplay, muted, showControls, skipAfter, showProgress, ctaPosition, className, onComplete, onSkip, onClick, }: WakaVideoAdProps): import("react/jsx-runtime").JSX.Element | null;
|
|
32
|
+
export default WakaVideoAd;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type OverlayPosition = "bottom" | "top" | "corner";
|
|
2
|
+
export type OverlayTrigger = "start" | "pause" | "time" | "manual";
|
|
3
|
+
export interface WakaVideoOverlayProps {
|
|
4
|
+
/** Unique slot ID */
|
|
5
|
+
slotId: string;
|
|
6
|
+
/** Whether overlay is visible */
|
|
7
|
+
visible?: boolean;
|
|
8
|
+
/** Trigger for showing overlay */
|
|
9
|
+
trigger?: OverlayTrigger;
|
|
10
|
+
/** Time trigger (seconds from start) */
|
|
11
|
+
triggerTime?: number;
|
|
12
|
+
/** Position of overlay */
|
|
13
|
+
position?: OverlayPosition;
|
|
14
|
+
/** Allow dismissing */
|
|
15
|
+
dismissable?: boolean;
|
|
16
|
+
/** Auto-hide after seconds (0 = manual) */
|
|
17
|
+
hideAfter?: number;
|
|
18
|
+
/** Custom class name */
|
|
19
|
+
className?: string;
|
|
20
|
+
/** Callback when dismissed */
|
|
21
|
+
onDismiss?: () => void;
|
|
22
|
+
/** Callback when clicked */
|
|
23
|
+
onClick?: () => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function WakaVideoOverlay({ slotId, visible, trigger, triggerTime, position, dismissable, hideAfter, className, onDismiss, onClick, }: WakaVideoOverlayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
export default WakaVideoOverlay;
|