@dudousxd/nestjs-telescope-ui 2.0.0 → 2.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 (263) hide show
  1. package/CHANGELOG.md +748 -0
  2. package/README.md +31 -0
  3. package/dist/client/console-url.d.ts +11 -0
  4. package/dist/client/console-url.d.ts.map +1 -0
  5. package/dist/client/console-url.js +21 -0
  6. package/dist/client/console-url.js.map +1 -0
  7. package/dist/client/index.d.ts +2 -1
  8. package/dist/client/index.d.ts.map +1 -1
  9. package/dist/client/index.js +3 -0
  10. package/dist/client/index.js.map +1 -1
  11. package/dist/client/telescope-client.d.ts +64 -11
  12. package/dist/client/telescope-client.d.ts.map +1 -1
  13. package/dist/client/telescope-client.js +59 -54
  14. package/dist/client/telescope-client.js.map +1 -1
  15. package/dist/client/types.d.ts +431 -30
  16. package/dist/client/types.d.ts.map +1 -1
  17. package/dist/react/components/batch-timeline.js +2 -2
  18. package/dist/react/components/batch-timeline.js.map +1 -1
  19. package/dist/react/components/cache-badge.d.ts +14 -6
  20. package/dist/react/components/cache-badge.d.ts.map +1 -1
  21. package/dist/react/components/cache-badge.js +26 -12
  22. package/dist/react/components/cache-badge.js.map +1 -1
  23. package/dist/react/components/charts/area-chart-card.d.ts +11 -3
  24. package/dist/react/components/charts/area-chart-card.d.ts.map +1 -1
  25. package/dist/react/components/charts/area-chart-card.js +33 -6
  26. package/dist/react/components/charts/area-chart-card.js.map +1 -1
  27. package/dist/react/components/charts/bar-chart-card.d.ts +18 -7
  28. package/dist/react/components/charts/bar-chart-card.d.ts.map +1 -1
  29. package/dist/react/components/charts/bar-chart-card.js +18 -9
  30. package/dist/react/components/charts/bar-chart-card.js.map +1 -1
  31. package/dist/react/components/charts/breakdown-card.d.ts +17 -0
  32. package/dist/react/components/charts/breakdown-card.d.ts.map +1 -0
  33. package/dist/react/components/charts/breakdown-card.js +43 -0
  34. package/dist/react/components/charts/breakdown-card.js.map +1 -0
  35. package/dist/react/components/charts/chart-card.d.ts +7 -0
  36. package/dist/react/components/charts/chart-card.d.ts.map +1 -1
  37. package/dist/react/components/charts/chart-card.js +10 -3
  38. package/dist/react/components/charts/chart-card.js.map +1 -1
  39. package/dist/react/components/charts/chart-selection.d.ts +44 -0
  40. package/dist/react/components/charts/chart-selection.d.ts.map +1 -0
  41. package/dist/react/components/charts/chart-selection.js +36 -0
  42. package/dist/react/components/charts/chart-selection.js.map +1 -0
  43. package/dist/react/components/charts/chart-theme.d.ts +62 -19
  44. package/dist/react/components/charts/chart-theme.d.ts.map +1 -1
  45. package/dist/react/components/charts/chart-theme.js +72 -13
  46. package/dist/react/components/charts/chart-theme.js.map +1 -1
  47. package/dist/react/components/charts/distribution-chart-card.d.ts +17 -0
  48. package/dist/react/components/charts/distribution-chart-card.d.ts.map +1 -0
  49. package/dist/react/components/charts/distribution-chart-card.js +46 -0
  50. package/dist/react/components/charts/distribution-chart-card.js.map +1 -0
  51. package/dist/react/components/charts/gauge-card.d.ts +12 -0
  52. package/dist/react/components/charts/gauge-card.d.ts.map +1 -0
  53. package/dist/react/components/charts/gauge-card.js +17 -0
  54. package/dist/react/components/charts/gauge-card.js.map +1 -0
  55. package/dist/react/components/charts/index.d.ts +1 -0
  56. package/dist/react/components/charts/index.d.ts.map +1 -1
  57. package/dist/react/components/charts/index.js +1 -0
  58. package/dist/react/components/charts/index.js.map +1 -1
  59. package/dist/react/components/charts/stacked-area-chart-card.d.ts +17 -3
  60. package/dist/react/components/charts/stacked-area-chart-card.d.ts.map +1 -1
  61. package/dist/react/components/charts/stacked-area-chart-card.js +31 -8
  62. package/dist/react/components/charts/stacked-area-chart-card.js.map +1 -1
  63. package/dist/react/components/entries-table.d.ts.map +1 -1
  64. package/dist/react/components/entries-table.js +17 -3
  65. package/dist/react/components/entries-table.js.map +1 -1
  66. package/dist/react/components/entry-detail.d.ts +2 -0
  67. package/dist/react/components/entry-detail.d.ts.map +1 -1
  68. package/dist/react/components/entry-detail.js +186 -20
  69. package/dist/react/components/entry-detail.js.map +1 -1
  70. package/dist/react/components/entry-insights.d.ts.map +1 -1
  71. package/dist/react/components/entry-insights.js +28 -17
  72. package/dist/react/components/entry-insights.js.map +1 -1
  73. package/dist/react/components/entry-types.d.ts +29 -0
  74. package/dist/react/components/entry-types.d.ts.map +1 -1
  75. package/dist/react/components/entry-types.js +60 -0
  76. package/dist/react/components/entry-types.js.map +1 -1
  77. package/dist/react/components/export-json-toolbar.js +2 -2
  78. package/dist/react/components/export-json-toolbar.js.map +1 -1
  79. package/dist/react/components/extensions/panel-column-menu.d.ts +19 -0
  80. package/dist/react/components/extensions/panel-column-menu.d.ts.map +1 -0
  81. package/dist/react/components/extensions/panel-column-menu.js +47 -0
  82. package/dist/react/components/extensions/panel-column-menu.js.map +1 -0
  83. package/dist/react/components/extensions/panel-renderer.d.ts +46 -0
  84. package/dist/react/components/extensions/panel-renderer.d.ts.map +1 -0
  85. package/dist/react/components/extensions/panel-renderer.js +122 -0
  86. package/dist/react/components/extensions/panel-renderer.js.map +1 -0
  87. package/dist/react/components/extensions/panel-table-header.d.ts +18 -0
  88. package/dist/react/components/extensions/panel-table-header.d.ts.map +1 -0
  89. package/dist/react/components/extensions/panel-table-header.js +82 -0
  90. package/dist/react/components/extensions/panel-table-header.js.map +1 -0
  91. package/dist/react/components/extensions/panel-table.d.ts +27 -0
  92. package/dist/react/components/extensions/panel-table.d.ts.map +1 -0
  93. package/dist/react/components/extensions/panel-table.js +87 -0
  94. package/dist/react/components/extensions/panel-table.js.map +1 -0
  95. package/dist/react/components/extensions/stat-card.d.ts +18 -0
  96. package/dist/react/components/extensions/stat-card.d.ts.map +1 -0
  97. package/dist/react/components/extensions/stat-card.js +44 -0
  98. package/dist/react/components/extensions/stat-card.js.map +1 -0
  99. package/dist/react/components/extensions/table-columns.d.ts +32 -0
  100. package/dist/react/components/extensions/table-columns.d.ts.map +1 -0
  101. package/dist/react/components/extensions/table-columns.js +51 -0
  102. package/dist/react/components/extensions/table-columns.js.map +1 -0
  103. package/dist/react/components/extensions/table-features.d.ts +47 -0
  104. package/dist/react/components/extensions/table-features.d.ts.map +1 -0
  105. package/dist/react/components/extensions/table-features.js +45 -0
  106. package/dist/react/components/extensions/table-features.js.map +1 -0
  107. package/dist/react/components/extensions/table-query.d.ts +53 -0
  108. package/dist/react/components/extensions/table-query.d.ts.map +1 -0
  109. package/dist/react/components/extensions/table-query.js +51 -0
  110. package/dist/react/components/extensions/table-query.js.map +1 -0
  111. package/dist/react/components/flamegraph-view.d.ts +18 -0
  112. package/dist/react/components/flamegraph-view.d.ts.map +1 -0
  113. package/dist/react/components/flamegraph-view.js +48 -0
  114. package/dist/react/components/flamegraph-view.js.map +1 -0
  115. package/dist/react/components/flamegraph.d.ts +34 -0
  116. package/dist/react/components/flamegraph.d.ts.map +1 -0
  117. package/dist/react/components/flamegraph.js +54 -0
  118. package/dist/react/components/flamegraph.js.map +1 -0
  119. package/dist/react/components/inertia-badge.d.ts +33 -0
  120. package/dist/react/components/inertia-badge.d.ts.map +1 -0
  121. package/dist/react/components/inertia-badge.js +72 -0
  122. package/dist/react/components/inertia-badge.js.map +1 -0
  123. package/dist/react/components/inertia-body.d.ts +11 -0
  124. package/dist/react/components/inertia-body.d.ts.map +1 -0
  125. package/dist/react/components/inertia-body.js +127 -0
  126. package/dist/react/components/inertia-body.js.map +1 -0
  127. package/dist/react/components/official-event.d.ts +16 -0
  128. package/dist/react/components/official-event.d.ts.map +1 -0
  129. package/dist/react/components/official-event.js +88 -0
  130. package/dist/react/components/official-event.js.map +1 -0
  131. package/dist/react/components/pulse-panel.d.ts.map +1 -1
  132. package/dist/react/components/pulse-panel.js +6 -6
  133. package/dist/react/components/pulse-panel.js.map +1 -1
  134. package/dist/react/components/queues/EnqueueJobForm.d.ts.map +1 -1
  135. package/dist/react/components/queues/EnqueueJobForm.js +2 -1
  136. package/dist/react/components/queues/EnqueueJobForm.js.map +1 -1
  137. package/dist/react/components/queues/JobActions.d.ts.map +1 -1
  138. package/dist/react/components/queues/JobActions.js +11 -9
  139. package/dist/react/components/queues/JobActions.js.map +1 -1
  140. package/dist/react/components/queues/JobDetailDrawer.d.ts.map +1 -1
  141. package/dist/react/components/queues/JobDetailDrawer.js +8 -13
  142. package/dist/react/components/queues/JobDetailDrawer.js.map +1 -1
  143. package/dist/react/components/queues/JobTable.d.ts.map +1 -1
  144. package/dist/react/components/queues/JobTable.js +0 -0
  145. package/dist/react/components/queues/JobTable.js.map +1 -1
  146. package/dist/react/components/queues/QueueList.d.ts.map +1 -1
  147. package/dist/react/components/queues/QueueList.js +6 -6
  148. package/dist/react/components/queues/QueueList.js.map +1 -1
  149. package/dist/react/components/queues/QueueStateTabs.d.ts.map +1 -1
  150. package/dist/react/components/queues/QueueStateTabs.js +9 -7
  151. package/dist/react/components/queues/QueueStateTabs.js.map +1 -1
  152. package/dist/react/components/queues/queue-format.d.ts +5 -1
  153. package/dist/react/components/queues/queue-format.d.ts.map +1 -1
  154. package/dist/react/components/queues/queue-format.js +11 -7
  155. package/dist/react/components/queues/queue-format.js.map +1 -1
  156. package/dist/react/components/queues-panel.js +1 -1
  157. package/dist/react/components/queues-panel.js.map +1 -1
  158. package/dist/react/components/request-timeline.d.ts.map +1 -1
  159. package/dist/react/components/request-timeline.js +2 -2
  160. package/dist/react/components/request-timeline.js.map +1 -1
  161. package/dist/react/components/retention-indicator.d.ts.map +1 -1
  162. package/dist/react/components/retention-indicator.js +1 -1
  163. package/dist/react/components/retention-indicator.js.map +1 -1
  164. package/dist/react/components/sparkline.d.ts.map +1 -1
  165. package/dist/react/components/sparkline.js +1 -1
  166. package/dist/react/components/sparkline.js.map +1 -1
  167. package/dist/react/components/tag-autocomplete.d.ts +21 -4
  168. package/dist/react/components/tag-autocomplete.d.ts.map +1 -1
  169. package/dist/react/components/tag-autocomplete.js +57 -29
  170. package/dist/react/components/tag-autocomplete.js.map +1 -1
  171. package/dist/react/components/to-csv.d.ts +25 -0
  172. package/dist/react/components/to-csv.d.ts.map +1 -0
  173. package/dist/react/components/to-csv.js +78 -0
  174. package/dist/react/components/to-csv.js.map +1 -0
  175. package/dist/react/components/user-tag.d.ts +15 -0
  176. package/dist/react/components/user-tag.d.ts.map +1 -1
  177. package/dist/react/components/user-tag.js +19 -0
  178. package/dist/react/components/user-tag.js.map +1 -1
  179. package/dist/react/components/waterfall-view.d.ts +13 -0
  180. package/dist/react/components/waterfall-view.d.ts.map +1 -0
  181. package/dist/react/components/waterfall-view.js +58 -0
  182. package/dist/react/components/waterfall-view.js.map +1 -0
  183. package/dist/react/components/window-select.d.ts.map +1 -1
  184. package/dist/react/components/window-select.js +6 -2
  185. package/dist/react/components/window-select.js.map +1 -1
  186. package/dist/react/index.d.ts +7 -1
  187. package/dist/react/index.d.ts.map +1 -1
  188. package/dist/react/index.js +11 -1
  189. package/dist/react/index.js.map +1 -1
  190. package/dist/react/ui/badge.d.ts +16 -0
  191. package/dist/react/ui/badge.d.ts.map +1 -0
  192. package/dist/react/ui/badge.js +28 -0
  193. package/dist/react/ui/badge.js.map +1 -0
  194. package/dist/react/ui/button.d.ts +17 -0
  195. package/dist/react/ui/button.d.ts.map +1 -0
  196. package/dist/react/ui/button.js +35 -0
  197. package/dist/react/ui/button.js.map +1 -0
  198. package/dist/react/ui/chart.d.ts +116 -0
  199. package/dist/react/ui/chart.d.ts.map +1 -0
  200. package/dist/react/ui/chart.js +191 -0
  201. package/dist/react/ui/chart.js.map +1 -0
  202. package/dist/react/ui/cn.d.ts +8 -0
  203. package/dist/react/ui/cn.d.ts.map +1 -0
  204. package/dist/react/ui/cn.js +11 -0
  205. package/dist/react/ui/cn.js.map +1 -0
  206. package/dist/react/ui/dialog.d.ts +26 -0
  207. package/dist/react/ui/dialog.d.ts.map +1 -0
  208. package/dist/react/ui/dialog.js +40 -0
  209. package/dist/react/ui/dialog.js.map +1 -0
  210. package/dist/react/ui/index.d.ts +24 -0
  211. package/dist/react/ui/index.d.ts.map +1 -0
  212. package/dist/react/ui/index.js +24 -0
  213. package/dist/react/ui/index.js.map +1 -0
  214. package/dist/react/ui/input.d.ts +3 -0
  215. package/dist/react/ui/input.d.ts.map +1 -0
  216. package/dist/react/ui/input.js +8 -0
  217. package/dist/react/ui/input.js.map +1 -0
  218. package/dist/react/ui/select.d.ts +20 -0
  219. package/dist/react/ui/select.d.ts.map +1 -0
  220. package/dist/react/ui/select.js +27 -0
  221. package/dist/react/ui/select.js.map +1 -0
  222. package/dist/react/ui/table.d.ts +27 -0
  223. package/dist/react/ui/table.d.ts.map +1 -0
  224. package/dist/react/ui/table.js +22 -0
  225. package/dist/react/ui/table.js.map +1 -0
  226. package/dist/react/ui/tabs.d.ts +12 -0
  227. package/dist/react/ui/tabs.d.ts.map +1 -0
  228. package/dist/react/ui/tabs.js +20 -0
  229. package/dist/react/ui/tabs.js.map +1 -0
  230. package/dist/react/ui/tooltip.d.ts +10 -0
  231. package/dist/react/ui/tooltip.d.ts.map +1 -0
  232. package/dist/react/ui/tooltip.js +12 -0
  233. package/dist/react/ui/tooltip.js.map +1 -0
  234. package/dist/react/use-telescope-queries.d.ts +129 -130
  235. package/dist/react/use-telescope-queries.d.ts.map +1 -1
  236. package/dist/react/use-telescope-queries.js +146 -1
  237. package/dist/react/use-telescope-queries.js.map +1 -1
  238. package/dist/react/use-telescope-stream.d.ts +10 -0
  239. package/dist/react/use-telescope-stream.d.ts.map +1 -0
  240. package/dist/react/use-telescope-stream.js +40 -0
  241. package/dist/react/use-telescope-stream.js.map +1 -0
  242. package/dist/server/index.d.ts +2 -1
  243. package/dist/server/index.d.ts.map +1 -1
  244. package/dist/server/index.js +2 -0
  245. package/dist/server/index.js.map +1 -1
  246. package/dist/server/telescope-ui.module.d.ts +28 -1
  247. package/dist/server/telescope-ui.module.d.ts.map +1 -1
  248. package/dist/server/telescope-ui.module.js +42 -4
  249. package/dist/server/telescope-ui.module.js.map +1 -1
  250. package/dist/server/telescope-ui.options.d.ts +47 -0
  251. package/dist/server/telescope-ui.options.d.ts.map +1 -1
  252. package/dist/server/telescope-ui.options.js.map +1 -1
  253. package/dist/spa/assets/index-BPSlup7m.js +159 -0
  254. package/dist/spa/assets/index-DmsmJrlA.css +1 -0
  255. package/dist/spa/index.html +2 -2
  256. package/package.json +75 -36
  257. package/skills/telescope-ui-dashboard/SKILL.md +198 -0
  258. package/dist/react/components/type-tabs.d.ts +0 -5
  259. package/dist/react/components/type-tabs.d.ts.map +0 -1
  260. package/dist/react/components/type-tabs.js +0 -8
  261. package/dist/react/components/type-tabs.js.map +0 -1
  262. package/dist/spa/assets/index-CCzTpxj3.css +0 -1
  263. package/dist/spa/assets/index-w0XTI5OM.js +0 -135
@@ -1,4 +1,4 @@
1
- import { queryOptions, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
1
+ import { infiniteQueryOptions, queryOptions, useInfiniteQuery, useMutation, useQuery, useQueryClient, } from '@tanstack/react-query';
2
2
  import { usePaused, useTelescopeClient } from './telescope-context.js';
3
3
  export const REFETCH_MS = 3000;
4
4
  export const LIVE_REFETCH_MS = 2500;
@@ -25,6 +25,31 @@ export function tagsQuery(client, prefix = '') {
25
25
  staleTime: REFETCH_MS,
26
26
  });
27
27
  }
28
+ /** Tags per request. Two screenfuls, so the first page fills the list and the second arrives before
29
+ * an operator scrolls to the end of it. */
30
+ export const TAG_PAGE_SIZE = 50;
31
+ /**
32
+ * A tag picker's list: ordered by count, narrowed by `search` on the SERVER, and paged.
33
+ *
34
+ * All three matter together. The list is bounded because tag cardinality grows with the data, which
35
+ * makes the values an operator searches for routinely the ones the bound cut — so a search that
36
+ * filtered the fetched page could not find them, and a bound with no paging past it is a ceiling.
37
+ */
38
+ export function tagsInfiniteQuery(client, prefix = '', search = '') {
39
+ return infiniteQueryOptions({
40
+ queryKey: ['telescope', 'tags', 'page', prefix, search],
41
+ queryFn: ({ pageParam }) => client.tags(prefix === '' ? undefined : prefix, {
42
+ search,
43
+ limit: TAG_PAGE_SIZE,
44
+ offset: pageParam,
45
+ }),
46
+ initialPageParam: 0,
47
+ // A short page is the last one. Counting what is already loaded (rather than multiplying a page
48
+ // number) keeps the offset right even when a page comes back trimmed.
49
+ getNextPageParam: (last, all) => last.length < TAG_PAGE_SIZE ? undefined : all.reduce((n, page) => n + page.length, 0),
50
+ staleTime: REFETCH_MS,
51
+ });
52
+ }
28
53
  export function metaQuery(client, paused = false) {
29
54
  return queryOptions({
30
55
  queryKey: ['telescope', 'meta'],
@@ -32,6 +57,15 @@ export function metaQuery(client, paused = false) {
32
57
  refetchInterval: intervalWhenLive(REFETCH_MS, paused),
33
58
  });
34
59
  }
60
+ // Extension panel data — fetched per (ext, provider, query) for dashboard panels.
61
+ // No live-tail polling here; the dashboard page (Task 9) opts panels into
62
+ // refetch as needed. React Query caches per query key so identical panels share.
63
+ export function extDataQuery(client, ext, provider, query) {
64
+ return queryOptions({
65
+ queryKey: ['telescope', 'ext-data', ext, provider, query],
66
+ queryFn: () => client.extData(ext, provider, query),
67
+ });
68
+ }
35
69
  export function serverStatsQuery(client, paused = false) {
36
70
  return queryOptions({
37
71
  queryKey: ['telescope', 'server-stats'],
@@ -39,6 +73,13 @@ export function serverStatsQuery(client, paused = false) {
39
73
  refetchInterval: intervalWhenLive(REFETCH_MS, paused),
40
74
  });
41
75
  }
76
+ export function serverStatsHistoryQuery(client, paused = false) {
77
+ return queryOptions({
78
+ queryKey: ['telescope', 'server-stats-history'],
79
+ queryFn: () => client.serverStatsHistory(),
80
+ refetchInterval: intervalWhenLive(REFETCH_MS, paused),
81
+ });
82
+ }
42
83
  export function healthQuery(client, paused = false) {
43
84
  return queryOptions({
44
85
  queryKey: ['telescope', 'health'],
@@ -56,6 +97,13 @@ export function retentionQuery(client, paused = false) {
56
97
  refetchInterval: intervalWhenLive(REFETCH_MS, paused),
57
98
  });
58
99
  }
100
+ export function prunesQuery(client, paused = false) {
101
+ return queryOptions({
102
+ queryKey: ['telescope', 'prunes'],
103
+ queryFn: () => client.prunes(),
104
+ refetchInterval: intervalWhenLive(REFETCH_MS, paused),
105
+ });
106
+ }
59
107
  export function pulseQuery(client, window, paused = false) {
60
108
  return queryOptions({
61
109
  queryKey: ['telescope', 'pulse', window],
@@ -70,6 +118,14 @@ export function statsQuery(client, type, window, paused = false) {
70
118
  refetchInterval: intervalWhenLive(REFETCH_MS, paused),
71
119
  });
72
120
  }
121
+ /** The AI screen's data. Polls slower than the live tail: it is a window aggregate. */
122
+ export function aiQuery(client, window, paused = false) {
123
+ return queryOptions({
124
+ queryKey: ['telescope', 'ai', window],
125
+ queryFn: () => client.ai(window, { buckets: 24, top: 8, limit: 100 }),
126
+ refetchInterval: intervalWhenLive(REFETCH_MS * 3, paused),
127
+ });
128
+ }
73
129
  export function queuesQuery(client, window, paused = false) {
74
130
  return queryOptions({
75
131
  queryKey: ['telescope', 'queues', window],
@@ -91,6 +147,13 @@ export function tracesQuery(client, window, limit, paused = false) {
91
147
  refetchInterval: intervalWhenLive(REFETCH_MS, paused),
92
148
  });
93
149
  }
150
+ export function waterfallQuery(client, traceId) {
151
+ return queryOptions({
152
+ queryKey: ['telescope', 'waterfall', traceId],
153
+ queryFn: () => client.waterfall(traceId),
154
+ enabled: traceId !== '',
155
+ });
156
+ }
94
157
  // --- live queue query keys (stable, shared by queries + mutation invalidation) ---
95
158
  export function liveQueuesKey() {
96
159
  return ['telescope', 'live-queues'];
@@ -193,6 +256,9 @@ export function useQueueEnqueue() {
193
256
  export function useRetention() {
194
257
  return useQuery(retentionQuery(useTelescopeClient(), usePaused()));
195
258
  }
259
+ export function usePrunes() {
260
+ return useQuery(prunesQuery(useTelescopeClient(), usePaused()));
261
+ }
196
262
  export function usePrune() {
197
263
  const client = useTelescopeClient();
198
264
  const queryClient = useQueryClient();
@@ -200,6 +266,7 @@ export function usePrune() {
200
266
  mutationFn: () => client.prune(),
201
267
  onSuccess: () => {
202
268
  queryClient.invalidateQueries({ queryKey: retentionKey() });
269
+ queryClient.invalidateQueries({ queryKey: ['telescope', 'prunes'] });
203
270
  queryClient.invalidateQueries({ queryKey: ['telescope', 'entries'] });
204
271
  },
205
272
  });
@@ -208,6 +275,28 @@ export function useExplain() {
208
275
  const client = useTelescopeClient();
209
276
  return useMutation({ mutationFn: (entryId) => client.explain(entryId) });
210
277
  }
278
+ export function useDiagnose() {
279
+ const client = useTelescopeClient();
280
+ return useMutation({
281
+ mutationFn: (vars) => client.diagnose(vars.entryId, vars.force ?? false),
282
+ });
283
+ }
284
+ /**
285
+ * Query options for the read-only cached-diagnosis lookup. `enabled` lets the
286
+ * caller gate the fetch on `meta.ai.enabled` so we never even ask when AI is off.
287
+ * No polling — a diagnosis, once cached, is stable for the page's lifetime; the
288
+ * Re-run mutation invalidates this key to refresh after a forced re-diagnosis.
289
+ */
290
+ export function cachedDiagnosisQuery(client, entryId, enabled) {
291
+ return queryOptions({
292
+ queryKey: ['telescope', 'cached-diagnosis', entryId],
293
+ queryFn: () => client.cachedDiagnosis(entryId),
294
+ enabled,
295
+ });
296
+ }
297
+ export function useCachedDiagnosis(entryId, enabled) {
298
+ return useQuery(cachedDiagnosisQuery(useTelescopeClient(), entryId, enabled));
299
+ }
211
300
  export function useEntries(query = {}) {
212
301
  return useQuery(entriesQuery(useTelescopeClient(), query, usePaused()));
213
302
  }
@@ -220,18 +309,30 @@ export function useMeta() {
220
309
  export function useServerStats() {
221
310
  return useQuery(serverStatsQuery(useTelescopeClient(), usePaused()));
222
311
  }
312
+ export function useServerStatsHistory() {
313
+ return useQuery(serverStatsHistoryQuery(useTelescopeClient(), usePaused()));
314
+ }
315
+ export function useExtensionData(ext, provider, query) {
316
+ return useQuery(extDataQuery(useTelescopeClient(), ext, provider, query));
317
+ }
223
318
  export function useHealth() {
224
319
  return useQuery(healthQuery(useTelescopeClient(), usePaused()));
225
320
  }
226
321
  export function useTags(prefix = '') {
227
322
  return useQuery(tagsQuery(useTelescopeClient(), prefix));
228
323
  }
324
+ export function useTagsInfinite(prefix = '', search = '') {
325
+ return useInfiniteQuery(tagsInfiniteQuery(useTelescopeClient(), prefix, search));
326
+ }
229
327
  export function useStats(type, window) {
230
328
  return useQuery(statsQuery(useTelescopeClient(), type, window, usePaused()));
231
329
  }
232
330
  export function usePulse(window) {
233
331
  return useQuery(pulseQuery(useTelescopeClient(), window, usePaused()));
234
332
  }
333
+ export function useAi(window) {
334
+ return useQuery(aiQuery(useTelescopeClient(), window, usePaused()));
335
+ }
235
336
  export function useQueues(window) {
236
337
  return useQuery(queuesQuery(useTelescopeClient(), window, usePaused()));
237
338
  }
@@ -241,4 +342,48 @@ export function useTimeseries(query) {
241
342
  export function useTraces(window, limit) {
242
343
  return useQuery(tracesQuery(useTelescopeClient(), window, limit, usePaused()));
243
344
  }
345
+ export function useWaterfall(traceId) {
346
+ return useQuery(waterfallQuery(useTelescopeClient(), traceId));
347
+ }
348
+ // ── CPU profiling (flamegraphs) ───────────────────────────────────────────────
349
+ export function profilerStatusQuery(client, paused = false) {
350
+ return queryOptions({
351
+ queryKey: ['telescope', 'profiler-status'],
352
+ queryFn: () => client.profilerStatus(),
353
+ refetchInterval: intervalWhenLive(REFETCH_MS, paused),
354
+ });
355
+ }
356
+ export function profilesQuery(client, limit, paused = false) {
357
+ return queryOptions({
358
+ queryKey: ['telescope', 'profiles', limit],
359
+ queryFn: () => client.profiles(limit),
360
+ refetchInterval: intervalWhenLive(REFETCH_MS, paused),
361
+ });
362
+ }
363
+ export function profileQuery(client, id) {
364
+ return queryOptions({
365
+ queryKey: ['telescope', 'profile', id],
366
+ queryFn: () => client.profile(id),
367
+ enabled: id !== '',
368
+ });
369
+ }
370
+ export function useProfilerStatus() {
371
+ return useQuery(profilerStatusQuery(useTelescopeClient(), usePaused()));
372
+ }
373
+ export function useProfiles(limit) {
374
+ return useQuery(profilesQuery(useTelescopeClient(), limit, usePaused()));
375
+ }
376
+ export function useProfile(id) {
377
+ return useQuery(profileQuery(useTelescopeClient(), id));
378
+ }
379
+ export function useArmProfile() {
380
+ const client = useTelescopeClient();
381
+ const queryClient = useQueryClient();
382
+ return useMutation({
383
+ mutationFn: (vars) => client.armProfile(vars.count, vars.label),
384
+ onSuccess: () => {
385
+ queryClient.invalidateQueries({ queryKey: ['telescope', 'profiler-status'] });
386
+ },
387
+ });
388
+ }
244
389
  //# sourceMappingURL=use-telescope-queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-telescope-queries.js","sourceRoot":"","sources":["../../src/react/use-telescope-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-telescope-queries.js","sourceRoot":"","sources":["../../src/react/use-telescope-queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type StreamStatus = 'connecting' | 'live' | 'polling';
2
+ /**
3
+ * Subscribes to the telescope SSE stream and invalidates dashboard queries on each
4
+ * tick, so panels re-resolve the instant new entries land. Falls back to the
5
+ * existing polling (status 'polling') if SSE can't connect or is unavailable (SSR).
6
+ */
7
+ export declare function useTelescopeStream(): {
8
+ status: StreamStatus;
9
+ };
10
+ //# sourceMappingURL=use-telescope-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-telescope-stream.d.ts","sourceRoot":"","sources":["../../src/react/use-telescope-stream.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,CA8B7D"}
@@ -0,0 +1,40 @@
1
+ import { useQueryClient } from '@tanstack/react-query';
2
+ import { useEffect, useState } from 'react';
3
+ import { useTelescopeClient } from './telescope-context.js';
4
+ /**
5
+ * Subscribes to the telescope SSE stream and invalidates dashboard queries on each
6
+ * tick, so panels re-resolve the instant new entries land. Falls back to the
7
+ * existing polling (status 'polling') if SSE can't connect or is unavailable (SSR).
8
+ */
9
+ export function useTelescopeStream() {
10
+ const queryClient = useQueryClient();
11
+ const client = useTelescopeClient();
12
+ const [status, setStatus] = useState('connecting');
13
+ useEffect(() => {
14
+ if (typeof EventSource === 'undefined') {
15
+ setStatus('polling');
16
+ return;
17
+ }
18
+ const streamUrl = `${client.baseUrl}/stream`;
19
+ const es = new EventSource(streamUrl);
20
+ es.onopen = () => setStatus('live');
21
+ es.onerror = () => setStatus('polling');
22
+ es.onmessage = (e) => {
23
+ try {
24
+ const msg = JSON.parse(e.data);
25
+ if (msg.heartbeat)
26
+ return;
27
+ if (msg.types && msg.types.length > 0) {
28
+ queryClient.invalidateQueries({ queryKey: ['telescope', 'ext-data'] });
29
+ queryClient.invalidateQueries({ queryKey: ['telescope', 'meta'] });
30
+ }
31
+ }
32
+ catch {
33
+ // ignore malformed frames
34
+ }
35
+ };
36
+ return () => es.close();
37
+ }, [queryClient, client.baseUrl]);
38
+ return { status };
39
+ }
40
+ //# sourceMappingURL=use-telescope-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-telescope-stream.js","sourceRoot":"","sources":["../../src/react/use-telescope-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAe,YAAY,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAA2C,CAAC;gBACzE,IAAI,GAAG,CAAC,SAAS;oBAAE,OAAO;gBAC1B,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvE,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAElC,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { TelescopeUiModule } from './telescope-ui.module.js';
2
- export type { TelescopeUiModuleOptions } from './telescope-ui.options.js';
2
+ export { TelescopeUiController } from './telescope-ui.controller.js';
3
+ export { TELESCOPE_UI_OPTIONS, type TelescopeUiModuleOptions } from './telescope-ui.options.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export { TelescopeUiModule } from './telescope-ui.module.js';
2
+ export { TelescopeUiController } from './telescope-ui.controller.js';
3
+ export { TELESCOPE_UI_OPTIONS } from './telescope-ui.options.js';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,2BAA2B,CAAC"}
@@ -1,6 +1,33 @@
1
- import { type DynamicModule } from '@nestjs/common';
1
+ import 'reflect-metadata';
2
+ import { type DynamicModule, type InjectionToken, type OptionalFactoryDependency } from '@nestjs/common';
2
3
  import { type TelescopeUiModuleOptions } from './telescope-ui.options.js';
3
4
  export declare class TelescopeUiModule {
4
5
  static forRoot(options?: TelescopeUiModuleOptions): DynamicModule;
6
+ static forRootAsync(config: {
7
+ useFactory: (...args: unknown[]) => Promise<TelescopeUiModuleOptions> | TelescopeUiModuleOptions;
8
+ inject?: (InjectionToken | OptionalFactoryDependency)[];
9
+ imports?: DynamicModule['imports'];
10
+ /**
11
+ * Mount path for the dashboard. Must be passed statically here (not via the
12
+ * async factory) because the controller route is bound at module-build time
13
+ * — same constraint as `TelescopeModule.forRootAsync`. Defaults to
14
+ * `'telescope'` and must match the core module's path.
15
+ */
16
+ path?: string;
17
+ /**
18
+ * Class decorators applied to the dashboard's controller. Must be passed
19
+ * HERE (not inside the async-resolved options) because they shape the route
20
+ * at module-build time, before any factory runs — the SAME constraint as
21
+ * `path` above. See {@link TelescopeUiModuleOptions.decorators}.
22
+ */
23
+ decorators?: ClassDecorator[];
24
+ /**
25
+ * `false` mounts no controller. Must be passed HERE (not inside the
26
+ * async-resolved options): which controllers exist is decided at
27
+ * module-build time — the SAME constraint as `path` above. See
28
+ * {@link TelescopeUiModuleOptions.routes}.
29
+ */
30
+ routes?: boolean;
31
+ }): DynamicModule;
5
32
  }
6
33
  //# sourceMappingURL=telescope-ui.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-ui.module.d.ts","sourceRoot":"","sources":["../../src/server/telescope-ui.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAEhG,qBACa,iBAAiB;IAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,wBAA6B,GAAG,aAAa;CAQtE"}
1
+ {"version":3,"file":"telescope-ui.module.d.ts","sourceRoot":"","sources":["../../src/server/telescope-ui.module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,yBAAyB,EAE/B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAgBhG,qBACa,iBAAiB;IAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,wBAA6B,GAAG,aAAa;IAUrE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;QAC1B,UAAU,EAAE,CACV,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,cAAc,GAAG,yBAAyB,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACnC;;;;;WAKG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;;WAKG;QACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;QAC9B;;;;;WAKG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,aAAa;CAwBlB"}
@@ -5,17 +5,55 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var TelescopeUiModule_1;
8
- import { dynamicController, normalizeTelescopePath } from '@dudousxd/nestjs-telescope';
9
- import { Module } from '@nestjs/common';
8
+ import 'reflect-metadata';
9
+ import { CONSOLE_DECORATORS_EXAMPLE, assertConsoleProtected, dynamicController, normalizeTelescopePath, } from '@dudousxd/nestjs-telescope';
10
+ import { Module, } from '@nestjs/common';
10
11
  import { TelescopeUiController } from './telescope-ui.controller.js';
11
12
  import { TELESCOPE_UI_OPTIONS } from './telescope-ui.options.js';
13
+ /** The controller mounted when `routes` is not `false` (none when it is). */
14
+ function uiControllers(options) {
15
+ if (options.routes === false)
16
+ return [];
17
+ const path = normalizeTelescopePath(options.path);
18
+ assertConsoleProtected(options.decorators, {
19
+ module: 'TelescopeUiModule',
20
+ decoratorsExample: `TelescopeUiModule.forRoot({ ${CONSOLE_DECORATORS_EXAMPLE} })`,
21
+ selfMountExample: `TelescopeUiModule.forRoot({ routes: false }) + @Controller('${path}') @Can(ConsolePolicy, 'view') class ConsolePage extends TelescopeUiController {}`,
22
+ });
23
+ return [dynamicController(TelescopeUiController, path, options.decorators)];
24
+ }
12
25
  let TelescopeUiModule = TelescopeUiModule_1 = class TelescopeUiModule {
13
26
  static forRoot(options = {}) {
14
- const path = normalizeTelescopePath(options.path);
15
27
  return {
16
28
  module: TelescopeUiModule_1,
17
- controllers: [dynamicController(TelescopeUiController, path)],
29
+ imports: options.imports ?? [],
30
+ controllers: uiControllers(options),
18
31
  providers: [{ provide: TELESCOPE_UI_OPTIONS, useValue: options }],
32
+ exports: [TELESCOPE_UI_OPTIONS],
33
+ };
34
+ }
35
+ static forRootAsync(config) {
36
+ const path = normalizeTelescopePath(config.path);
37
+ const { useFactory } = config;
38
+ return {
39
+ module: TelescopeUiModule_1,
40
+ imports: config.imports ?? [],
41
+ controllers: uiControllers(config),
42
+ providers: [
43
+ {
44
+ provide: TELESCOPE_UI_OPTIONS,
45
+ // The mount `path` is bound statically at build time; force it onto the
46
+ // async-resolved options so the controller's serve-time asset rewrite
47
+ // matches the route mount (a factory that also returns `path` is
48
+ // ignored — the static value wins, exactly as the route does).
49
+ useFactory: async (...args) => ({
50
+ ...(await useFactory(...args)),
51
+ path,
52
+ }),
53
+ inject: config.inject ?? [],
54
+ },
55
+ ],
56
+ exports: [TELESCOPE_UI_OPTIONS],
19
57
  };
20
58
  }
21
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-ui.module.js","sourceRoot":"","sources":["../../src/server/telescope-ui.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAsB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,2BAA2B,CAAC;AAGzF,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO,CAAC,UAAoC,EAAE;QACnD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,WAAW,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YAC7D,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;CACF,CAAA;AATY,iBAAiB;IAD7B,MAAM,CAAC,EAAE,CAAC;GACE,iBAAiB,CAS7B"}
1
+ {"version":3,"file":"telescope-ui.module.js","sourceRoot":"","sources":["../../src/server/telescope-ui.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,MAAM,GAGP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,2BAA2B,CAAC;AAEhG,6EAA6E;AAC7E,SAAS,aAAa,CACpB,OAAyE;IAEzE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE;QACzC,MAAM,EAAE,mBAAmB;QAC3B,iBAAiB,EAAE,+BAA+B,0BAA0B,KAAK;QACjF,gBAAgB,EAAE,+DAA+D,IAAI,mFAAmF;KACzK,CAAC,CAAC;IACH,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,CAAC;AAGM,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO,CAAC,UAAoC,EAAE;QACnD,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;YACnC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACjE,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MA2BnB;QACC,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,oBAAoB;oBAC7B,wEAAwE;oBACxE,sEAAsE;oBACtE,iEAAiE;oBACjE,+DAA+D;oBAC/D,UAAU,EAAE,KAAK,EAAE,GAAG,IAAe,EAAqC,EAAE,CAAC,CAAC;wBAC5E,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;wBAC9B,IAAI;qBACL,CAAC;oBACF,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;iBAC5B;aACF;YACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAChC,CAAC;IACJ,CAAC;CACF,CAAA;AA9DY,iBAAiB;IAD7B,MAAM,CAAC,EAAE,CAAC;GACE,iBAAiB,CA8D7B"}
@@ -1,3 +1,4 @@
1
+ import type { DynamicModule } from '@nestjs/common';
1
2
  export declare const TELESCOPE_UI_OPTIONS: unique symbol;
2
3
  export interface TelescopeUiModuleOptions {
3
4
  /** Directory of the built SPA (index.html + assets/). Defaults to the bundled dist/spa. */
@@ -8,5 +9,51 @@ export interface TelescopeUiModuleOptions {
8
9
  * before. Must match the core `TelescopeModule.forRoot({ path })`.
9
10
  */
10
11
  path?: string;
12
+ /**
13
+ * Class decorators applied to the dashboard's page + asset controller
14
+ * (`TelescopeUiController`), the same shape as `@nestjs/mcp`'s `decorators`,
15
+ * e.g. `[UseGuards(AuthenticationGuard), Can(ConsolePolicy, 'view')]` with
16
+ * `@nestjs/authentication` + `@nestjs/authorization`. Pass the same list to
17
+ * `TelescopeModule.forRoot({ decorators })` (core) so the API matches. Full-page
18
+ * navigations carry cookies, not an `Authorization` header, so the
19
+ * authentication strategy here must read a cookie session.
20
+ *
21
+ * PRODUCTION RULE: with `NODE_ENV === 'production'`, mounting the page with no
22
+ * `decorators` (an empty array counts as none) fails the boot; protect it with
23
+ * `decorators` or mount it yourself with {@link routes}`: false`. Outside
24
+ * production an undecorated page mounts open.
25
+ *
26
+ * The controller is also marked open to `@nestjs/authorization`'s
27
+ * deny-by-default global `AuthorizationGuard` (as `@Can.Anyone()` would), so an
28
+ * undecorated dev page keeps loading when that package is adopted. A
29
+ * `Can(...)` passed here is still enforced. Applied to a fresh subclass per
30
+ * registration, so nothing leaks between `forRoot` calls. With `forRootAsync`,
31
+ * pass it as the static top-level option.
32
+ */
33
+ decorators?: ClassDecorator[];
34
+ /**
35
+ * `false` mounts NO controller; serve the page from a controller of your own
36
+ * by extending the exported `TelescopeUiController` (its `TELESCOPE_UI_OPTIONS`
37
+ * dependency is exported by the module), protected with ordinary Nest
38
+ * decorators. The base class carries no guard, so yours are the whole gate:
39
+ *
40
+ * ```ts
41
+ * @Controller('ops/telescope')
42
+ * @Can(ConsolePolicy, 'view')
43
+ * class ConsolePage extends TelescopeUiController {}
44
+ * ```
45
+ *
46
+ * Named `routes`, not `path: false`, because `path` keeps a job without
47
+ * routes: the page rewrites its asset URLs against it, so set it to where you
48
+ * mount the controller (and to core's `path`). `decorators` only applies to
49
+ * the mounted controller and is ignored here. With `forRootAsync`, pass it as
50
+ * the static top-level `routes`. Default `true`.
51
+ */
52
+ routes?: boolean;
53
+ /**
54
+ * Extra `imports` merged into `TelescopeUiModule`'s own dynamic module — the
55
+ * DI resolution path for whatever the {@link decorators} need.
56
+ */
57
+ imports?: DynamicModule['imports'];
11
58
  }
12
59
  //# sourceMappingURL=telescope-ui.options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-ui.options.d.ts","sourceRoot":"","sources":["../../src/server/telescope-ui.options.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"telescope-ui.options.d.ts","sourceRoot":"","sources":["../../src/server/telescope-ui.options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-ui.options.js","sourceRoot":"","sources":["../../src/server/telescope-ui.options.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"telescope-ui.options.js","sourceRoot":"","sources":["../../src/server/telescope-ui.options.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}