@geekmidas/telescope 0.0.1

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.
Files changed (103) hide show
  1. package/README.md +521 -0
  2. package/dist/Telescope-B3Wd82yk.cjs +602 -0
  3. package/dist/Telescope-B3Wd82yk.cjs.map +1 -0
  4. package/dist/Telescope-C5dyDYYB.d.cts +133 -0
  5. package/dist/Telescope-D-uoZB6b.mjs +596 -0
  6. package/dist/Telescope-D-uoZB6b.mjs.map +1 -0
  7. package/dist/Telescope-DyIWgh9-.d.mts +133 -0
  8. package/dist/Telescope.cjs +3 -0
  9. package/dist/Telescope.d.cts +3 -0
  10. package/dist/Telescope.d.mts +3 -0
  11. package/dist/Telescope.mjs +3 -0
  12. package/dist/chunk-CUT6urMc.cjs +30 -0
  13. package/dist/index.cjs +5 -0
  14. package/dist/index.d.cts +4 -0
  15. package/dist/index.d.mts +4 -0
  16. package/dist/index.mjs +4 -0
  17. package/dist/logger/console.cjs +161 -0
  18. package/dist/logger/console.cjs.map +1 -0
  19. package/dist/logger/console.d.cts +109 -0
  20. package/dist/logger/console.d.mts +109 -0
  21. package/dist/logger/console.mjs +159 -0
  22. package/dist/logger/console.mjs.map +1 -0
  23. package/dist/logger/pino.cjs +118 -0
  24. package/dist/logger/pino.cjs.map +1 -0
  25. package/dist/logger/pino.d.cts +89 -0
  26. package/dist/logger/pino.d.mts +89 -0
  27. package/dist/logger/pino.mjs +116 -0
  28. package/dist/logger/pino.mjs.map +1 -0
  29. package/dist/memory-9-B9WACq.cjs +110 -0
  30. package/dist/memory-9-B9WACq.cjs.map +1 -0
  31. package/dist/memory-Cm0eevCS.d.mts +38 -0
  32. package/dist/memory-DiP1a-pp.d.cts +38 -0
  33. package/dist/memory-SdN5vtG9.mjs +104 -0
  34. package/dist/memory-SdN5vtG9.mjs.map +1 -0
  35. package/dist/server/hono.cjs +180 -0
  36. package/dist/server/hono.cjs.map +1 -0
  37. package/dist/server/hono.d.cts +26 -0
  38. package/dist/server/hono.d.mts +26 -0
  39. package/dist/server/hono.mjs +176 -0
  40. package/dist/server/hono.mjs.map +1 -0
  41. package/dist/storage/kysely.cjs +336 -0
  42. package/dist/storage/kysely.cjs.map +1 -0
  43. package/dist/storage/kysely.d.cts +161 -0
  44. package/dist/storage/kysely.d.mts +161 -0
  45. package/dist/storage/kysely.mjs +334 -0
  46. package/dist/storage/kysely.mjs.map +1 -0
  47. package/dist/storage/memory.cjs +3 -0
  48. package/dist/storage/memory.d.cts +3 -0
  49. package/dist/storage/memory.d.mts +3 -0
  50. package/dist/storage/memory.mjs +3 -0
  51. package/dist/types-BGDhFv4R.d.cts +170 -0
  52. package/dist/types-CZbzz8kx.d.mts +170 -0
  53. package/dist/types.cjs +0 -0
  54. package/dist/types.d.cts +2 -0
  55. package/dist/types.d.mts +2 -0
  56. package/dist/types.mjs +0 -0
  57. package/dist/ui-assets-D6-8TAr_.mjs +30 -0
  58. package/dist/ui-assets-D6-8TAr_.mjs.map +1 -0
  59. package/dist/ui-assets-ulevVble.cjs +48 -0
  60. package/dist/ui-assets-ulevVble.cjs.map +1 -0
  61. package/dist/ui-assets.cjs +5 -0
  62. package/dist/ui-assets.d.cts +12 -0
  63. package/dist/ui-assets.d.mts +12 -0
  64. package/dist/ui-assets.mjs +3 -0
  65. package/package.json +83 -0
  66. package/scripts/embed-ui.ts +90 -0
  67. package/src/Telescope.ts +714 -0
  68. package/src/__tests__/Telescope.spec.ts +356 -0
  69. package/src/index.ts +23 -0
  70. package/src/logger/__tests__/console.spec.ts +266 -0
  71. package/src/logger/__tests__/pino.spec.ts +217 -0
  72. package/src/logger/console.ts +230 -0
  73. package/src/logger/pino.ts +191 -0
  74. package/src/server/__tests__/hono.spec.ts +340 -0
  75. package/src/server/hono.ts +247 -0
  76. package/src/storage/__tests__/kysely.spec.ts +715 -0
  77. package/src/storage/__tests__/memory.spec.ts +411 -0
  78. package/src/storage/kysely.ts +572 -0
  79. package/src/storage/memory.ts +168 -0
  80. package/src/types.ts +188 -0
  81. package/src/ui-assets.ts +40 -0
  82. package/ui/index.html +12 -0
  83. package/ui/node_modules/.bin/browserslist +21 -0
  84. package/ui/node_modules/.bin/jiti +21 -0
  85. package/ui/node_modules/.bin/terser +21 -0
  86. package/ui/node_modules/.bin/tsc +21 -0
  87. package/ui/node_modules/.bin/tsserver +21 -0
  88. package/ui/node_modules/.bin/tsx +21 -0
  89. package/ui/node_modules/.bin/vite +21 -0
  90. package/ui/package.json +24 -0
  91. package/ui/src/App.tsx +342 -0
  92. package/ui/src/api.ts +75 -0
  93. package/ui/src/components/ExceptionDetail.tsx +100 -0
  94. package/ui/src/components/LogDetail.tsx +91 -0
  95. package/ui/src/components/RequestDetail.tsx +143 -0
  96. package/ui/src/main.tsx +10 -0
  97. package/ui/src/styles.css +10 -0
  98. package/ui/src/types.ts +63 -0
  99. package/ui/src/vite-env.d.ts +1 -0
  100. package/ui/src/vite-plugin-gkm-config.ts +54 -0
  101. package/ui/tsconfig.json +20 -0
  102. package/ui/tsconfig.tsbuildinfo +14 -0
  103. package/ui/vite.config.ts +13 -0
@@ -0,0 +1,133 @@
1
+ import { ExceptionEntry, LogEntry, QueryOptions, RequestEntry, TelescopeEvent, TelescopeOptions, TelescopeStats } from "./types-BGDhFv4R.cjs";
2
+
3
+ //#region src/Telescope.d.ts
4
+
5
+ /**
6
+ * Framework-agnostic Telescope class for debugging and monitoring applications.
7
+ * Use framework-specific adapters (e.g., @geekmidas/telescope/hono) for integration.
8
+ */
9
+ declare class Telescope {
10
+ private storage;
11
+ private options;
12
+ private wsClients;
13
+ private pruneInterval?;
14
+ constructor(options: TelescopeOptions);
15
+ /**
16
+ * Record a request entry
17
+ */
18
+ recordRequest(entry: Omit<RequestEntry, 'id' | 'timestamp'>): Promise<string>;
19
+ /**
20
+ * Log entry input for batch operations
21
+ */
22
+ private saveLogEntries;
23
+ /**
24
+ * Record log entries in batch.
25
+ * More efficient than individual calls for database storage.
26
+ *
27
+ * @example
28
+ * await telescope.log([
29
+ * { level: 'info', message: 'Request started' },
30
+ * { level: 'debug', message: 'Processing...', context: { step: 1 } },
31
+ * ]);
32
+ */
33
+ log(entries: Array<{
34
+ level: 'debug' | 'info' | 'warn' | 'error';
35
+ message: string;
36
+ context?: Record<string, unknown>;
37
+ requestId?: string;
38
+ }>): Promise<void>;
39
+ /**
40
+ * Log a debug message
41
+ */
42
+ debug(message: string, context?: Record<string, unknown>, requestId?: string): Promise<void>;
43
+ /**
44
+ * Log an info message
45
+ */
46
+ info(message: string, context?: Record<string, unknown>, requestId?: string): Promise<void>;
47
+ /**
48
+ * Log a warning message
49
+ */
50
+ warn(message: string, context?: Record<string, unknown>, requestId?: string): Promise<void>;
51
+ /**
52
+ * Log an error message
53
+ */
54
+ error(message: string, context?: Record<string, unknown>, requestId?: string): Promise<void>;
55
+ /**
56
+ * Record an exception
57
+ */
58
+ exception(error: Error, requestId?: string): Promise<void>;
59
+ /**
60
+ * Get requests from storage
61
+ */
62
+ getRequests(options?: QueryOptions): Promise<RequestEntry[]>;
63
+ /**
64
+ * Get a single request by ID
65
+ */
66
+ getRequest(id: string): Promise<RequestEntry | null>;
67
+ /**
68
+ * Get exceptions from storage
69
+ */
70
+ getExceptions(options?: QueryOptions): Promise<ExceptionEntry[]>;
71
+ /**
72
+ * Get a single exception by ID
73
+ */
74
+ getException(id: string): Promise<ExceptionEntry | null>;
75
+ /**
76
+ * Get logs from storage
77
+ */
78
+ getLogs(options?: QueryOptions): Promise<LogEntry[]>;
79
+ /**
80
+ * Get storage statistics
81
+ */
82
+ getStats(): Promise<TelescopeStats>;
83
+ /**
84
+ * Add a WebSocket client for real-time updates
85
+ */
86
+ addWsClient(ws: WebSocket): void;
87
+ /**
88
+ * Remove a WebSocket client
89
+ */
90
+ removeWsClient(ws: WebSocket): void;
91
+ /**
92
+ * Broadcast an event to all connected WebSocket clients
93
+ */
94
+ broadcast(event: TelescopeEvent): void;
95
+ /**
96
+ * Manually prune old entries
97
+ */
98
+ prune(olderThan: Date): Promise<number>;
99
+ /**
100
+ * Clean up resources
101
+ */
102
+ destroy(): void;
103
+ /**
104
+ * Get the telescope path
105
+ */
106
+ get path(): string;
107
+ /**
108
+ * Check if telescope is enabled
109
+ */
110
+ get enabled(): boolean;
111
+ /**
112
+ * Check if body recording is enabled
113
+ */
114
+ get recordBody(): boolean;
115
+ /**
116
+ * Get max body size
117
+ */
118
+ get maxBodySize(): number;
119
+ /**
120
+ * Check if a path should be ignored
121
+ */
122
+ shouldIgnore(path: string): boolean;
123
+ /**
124
+ * Get the dashboard HTML
125
+ */
126
+ getDashboardHtml(): string;
127
+ private normalizeOptions;
128
+ private parseStack;
129
+ private autoPrune;
130
+ }
131
+ //#endregion
132
+ export { Telescope };
133
+ //# sourceMappingURL=Telescope-C5dyDYYB.d.cts.map