@adonis-agora/telescope 0.5.2 → 0.6.0

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 (102) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/providers/telescope_alerts_provider.d.ts.map +1 -1
  3. package/dist/providers/telescope_alerts_provider.js +1 -1
  4. package/dist/providers/telescope_alerts_provider.js.map +1 -1
  5. package/dist/providers/telescope_mcp_provider.d.ts.map +1 -1
  6. package/dist/providers/telescope_mcp_provider.js +1 -1
  7. package/dist/providers/telescope_mcp_provider.js.map +1 -1
  8. package/dist/providers/telescope_provider.d.ts.map +1 -1
  9. package/dist/providers/telescope_provider.js +9 -3
  10. package/dist/providers/telescope_provider.js.map +1 -1
  11. package/dist/src/ai/index.d.ts +1 -1
  12. package/dist/src/ai/index.js +1 -1
  13. package/dist/src/alerts/alert_rule.d.ts +84 -3
  14. package/dist/src/alerts/alert_rule.d.ts.map +1 -1
  15. package/dist/src/alerts/alerter.d.ts +24 -2
  16. package/dist/src/alerts/alerter.d.ts.map +1 -1
  17. package/dist/src/alerts/alerter.js +122 -11
  18. package/dist/src/alerts/alerter.js.map +1 -1
  19. package/dist/src/alerts/define_config.d.ts +9 -1
  20. package/dist/src/alerts/define_config.d.ts.map +1 -1
  21. package/dist/src/alerts/define_config.js +8 -0
  22. package/dist/src/alerts/define_config.js.map +1 -1
  23. package/dist/src/alerts/exception_source.d.ts +16 -7
  24. package/dist/src/alerts/exception_source.d.ts.map +1 -1
  25. package/dist/src/alerts/exception_source.js +29 -17
  26. package/dist/src/alerts/exception_source.js.map +1 -1
  27. package/dist/src/alerts/index.d.ts +2 -2
  28. package/dist/src/alerts/index.d.ts.map +1 -1
  29. package/dist/src/alerts/index.js +1 -1
  30. package/dist/src/alerts/index.js.map +1 -1
  31. package/dist/src/alerts/slack_format.d.ts +8 -0
  32. package/dist/src/alerts/slack_format.d.ts.map +1 -1
  33. package/dist/src/alerts/slack_format.js +128 -3
  34. package/dist/src/alerts/slack_format.js.map +1 -1
  35. package/dist/src/client_errors/ingestor.d.ts.map +1 -1
  36. package/dist/src/client_errors/ingestor.js +20 -1
  37. package/dist/src/client_errors/ingestor.js.map +1 -1
  38. package/dist/src/client_errors/validation.d.ts.map +1 -1
  39. package/dist/src/client_errors/validation.js +7 -2
  40. package/dist/src/client_errors/validation.js.map +1 -1
  41. package/dist/src/define_config.d.ts +51 -0
  42. package/dist/src/define_config.d.ts.map +1 -1
  43. package/dist/src/define_config.js +6 -0
  44. package/dist/src/define_config.js.map +1 -1
  45. package/dist/src/diagnostics_registry.d.ts +15 -0
  46. package/dist/src/diagnostics_registry.d.ts.map +1 -1
  47. package/dist/src/diagnostics_registry.js +19 -0
  48. package/dist/src/diagnostics_registry.js.map +1 -1
  49. package/dist/src/diagnostics_watcher.d.ts +28 -1
  50. package/dist/src/diagnostics_watcher.d.ts.map +1 -1
  51. package/dist/src/diagnostics_watcher.js +17 -2
  52. package/dist/src/diagnostics_watcher.js.map +1 -1
  53. package/dist/src/extension/types.d.ts +35 -2
  54. package/dist/src/extension/types.d.ts.map +1 -1
  55. package/dist/src/extension/types.js.map +1 -1
  56. package/dist/src/index.d.ts +7 -7
  57. package/dist/src/index.d.ts.map +1 -1
  58. package/dist/src/index.js +3 -3
  59. package/dist/src/index.js.map +1 -1
  60. package/dist/src/mcp/index.d.ts +1 -1
  61. package/dist/src/mcp/index.js +1 -1
  62. package/dist/src/mcp/server.d.ts.map +1 -1
  63. package/dist/src/mcp/server.js +7 -2
  64. package/dist/src/mcp/server.js.map +1 -1
  65. package/dist/src/metrics/waterfall.d.ts.map +1 -1
  66. package/dist/src/metrics/waterfall.js +6 -0
  67. package/dist/src/metrics/waterfall.js.map +1 -1
  68. package/dist/src/redaction/redact.d.ts +21 -0
  69. package/dist/src/redaction/redact.d.ts.map +1 -1
  70. package/dist/src/redaction/redact.js +18 -0
  71. package/dist/src/redaction/redact.js.map +1 -1
  72. package/dist/src/redaction/redacting_store.d.ts.map +1 -1
  73. package/dist/src/redaction/redacting_store.js +10 -1
  74. package/dist/src/redaction/redacting_store.js.map +1 -1
  75. package/dist/src/registry.d.ts +8 -1
  76. package/dist/src/registry.d.ts.map +1 -1
  77. package/dist/src/registry.js +4 -1
  78. package/dist/src/registry.js.map +1 -1
  79. package/dist/src/request_watcher.d.ts +68 -0
  80. package/dist/src/request_watcher.d.ts.map +1 -1
  81. package/dist/src/request_watcher.js +101 -0
  82. package/dist/src/request_watcher.js.map +1 -1
  83. package/dist/src/service.d.ts.map +1 -1
  84. package/dist/src/service.js.map +1 -1
  85. package/dist/src/telescope_middleware.d.ts.map +1 -1
  86. package/dist/src/telescope_middleware.js +5 -1
  87. package/dist/src/telescope_middleware.js.map +1 -1
  88. package/dist/src/ui/dashboard.html +58 -10
  89. package/dist/src/ui/ext_table.d.ts +50 -0
  90. package/dist/src/ui/ext_table.d.ts.map +1 -0
  91. package/dist/src/ui/ext_table.js +42 -0
  92. package/dist/src/ui/ext_table.js.map +1 -0
  93. package/dist/src/ui/index.d.ts +3 -1
  94. package/dist/src/ui/index.d.ts.map +1 -1
  95. package/dist/src/ui/index.js +3 -1
  96. package/dist/src/ui/index.js.map +1 -1
  97. package/dist/src/watchers/index.d.ts +1 -1
  98. package/dist/src/watchers/index.js +1 -1
  99. package/dist/src/watchers/schedule_watcher.d.ts.map +1 -1
  100. package/dist/src/watchers/schedule_watcher.js +6 -1
  101. package/dist/src/watchers/schedule_watcher.js.map +1 -1
  102. package/package.json +1 -1
@@ -181,6 +181,10 @@
181
181
  .card th, .card td { padding: 5px 8px; }
182
182
  .card td a { color: var(--accent); text-decoration: none; }
183
183
  .card td a:hover { text-decoration: underline; }
184
+ .pager { display: flex; align-items: center; gap: 8px; padding: 8px 10px; font-size: 11px; color: var(--muted); border-top: 1px solid var(--border); }
185
+ .pager button { background: var(--panel-2); border: 1px solid var(--border); color: var(--text); border-radius: 5px; padding: 2px 8px; cursor: pointer; font-size: 11px; }
186
+ .pager button:hover:not(:disabled) { background: var(--border); }
187
+ .pager button:disabled { opacity: 0.4; cursor: not-allowed; }
184
188
  .barlist { display: flex; flex-direction: column; gap: 6px; }
185
189
  .barlist .row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; font-size: 12.5px; }
186
190
  .barlist .track { grid-column: 1 / -1; height: 5px; border-radius: 3px; background: var(--panel-2); overflow: hidden; }
@@ -457,9 +461,19 @@
457
461
  })
458
462
  .join('') + '</div>';
459
463
  }
464
+ // Pager state for a paged table panel — a faithful mirror of core's
465
+ // `tablePagination` (src/ui/ext_table.ts), which is the unit-tested source
466
+ // of truth for this math. Keep the two in sync.
467
+ function tablePagination(data) {
468
+ var rows = data.rows || [];
469
+ var page = Math.max(1, data.page || 1);
470
+ var limit = data.limit && data.limit > 0 ? data.limit : (rows.length || 1);
471
+ var total = data.total != null ? data.total : rows.length;
472
+ var totalPages = Math.max(1, Math.ceil(total / limit));
473
+ return { page: page, limit: limit, total: total, totalPages: totalPages, hasPrev: page > 1, hasNext: page < totalPages };
474
+ }
460
475
  function panelTable(panel, data) {
461
476
  var cols = panel.columns || [], rows = data.rows || [];
462
- if (!rows.length) return '<div class="muted-pill">no data</div>';
463
477
  var head = '<tr>' + cols.map(function (c) { return '<th>' + esc(c.label) + '</th>'; }).join('') + '</tr>';
464
478
  var body = rows
465
479
  .map(function (row) {
@@ -475,7 +489,20 @@
475
489
  .join('') + '</tr>';
476
490
  })
477
491
  .join('');
478
- return '<table><thead>' + head + '</thead><tbody>' + body + '</tbody></table>';
492
+ if (!panel.paged) {
493
+ if (!rows.length) return '<div class="muted-pill">no data</div>';
494
+ return '<table><thead>' + head + '</thead><tbody>' + body + '</tbody></table>';
495
+ }
496
+ // Paged: render the table (even when empty) + prev/next controls so the
497
+ // operator can page through the provider's full result set.
498
+ var p = tablePagination(data);
499
+ var emptyRow = rows.length ? '' : '<tr><td colspan="' + cols.length + '" class="muted-pill" style="text-align:center">no data</td></tr>';
500
+ var pager = '<div class="pager">' +
501
+ '<button type="button" class="pager-prev"' + (p.hasPrev ? '' : ' disabled') + '>Prev</button>' +
502
+ '<span>Page ' + p.page + ' of ' + p.totalPages + '</span>' +
503
+ '<button type="button" class="pager-next"' + (p.hasNext ? '' : ' disabled') + '>Next</button>' +
504
+ '</div>';
505
+ return '<table><thead>' + head + '</thead><tbody>' + emptyRow + body + '</tbody></table>' + pager;
479
506
  }
480
507
  function renderPanelBody(panel, data) {
481
508
  if (panel.kind === 'stat') {
@@ -518,14 +545,35 @@
518
545
  var binding = panel.data || {};
519
546
  var provider = binding.provider || '';
520
547
  var ext = provider.split('.')[0];
521
- var url = API_BASE + '/ext/' + encodeURIComponent(ext) + '/data/' + encodeURIComponent(provider) + qs(binding.query || {});
522
- fetchJson(url)
523
- .then(function (res) {
524
- card.innerHTML = '<div class="card-title">' + esc(panel.title) + '</div>' + renderPanelBody(panel, res.data || {});
525
- })
526
- .catch(function (err) {
527
- card.innerHTML = '<div class="card-title">' + esc(panel.title) + '</div><div class="error">' + esc(err.message) + '</div>';
528
- });
548
+ var baseQuery = binding.query || {};
549
+ var isPaged = panel.kind === 'table' && panel.paged;
550
+ function wirePager(currentPage) {
551
+ var prev = card.querySelector('.pager-prev');
552
+ var next = card.querySelector('.pager-next');
553
+ if (prev && !prev.disabled) prev.addEventListener('click', function () { load(currentPage - 1); });
554
+ if (next && !next.disabled) next.addEventListener('click', function () { load(currentPage + 1); });
555
+ }
556
+ function load(page) {
557
+ // Paged tables re-resolve the provider with query.page (1-based) merged
558
+ // over the panel's own static data.query; other panels load once.
559
+ var query = baseQuery;
560
+ if (isPaged) {
561
+ query = {};
562
+ Object.keys(baseQuery).forEach(function (k) { query[k] = baseQuery[k]; });
563
+ query.page = page;
564
+ }
565
+ var url = API_BASE + '/ext/' + encodeURIComponent(ext) + '/data/' + encodeURIComponent(provider) + qs(query);
566
+ fetchJson(url)
567
+ .then(function (res) {
568
+ var data = res.data || {};
569
+ card.innerHTML = '<div class="card-title">' + esc(panel.title) + '</div>' + renderPanelBody(panel, data);
570
+ if (isPaged) wirePager(tablePagination(data).page);
571
+ })
572
+ .catch(function (err) {
573
+ card.innerHTML = '<div class="card-title">' + esc(panel.title) + '</div><div class="error">' + esc(err.message) + '</div>';
574
+ });
575
+ }
576
+ load(1);
529
577
  return card;
530
578
  }
531
579
  function renderDashboardSpec(spec) {
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Pure helpers for the paged extension-dashboard table. These are the SOURCE OF
3
+ * TRUTH for the pagination math and the deep-link templating that the
4
+ * server-rendered `dashboard.html` mirrors in its inline JS. Kept framework-free
5
+ * and side-effect-free so the logic is unit-tested directly (dashboard.html's
6
+ * inline `<script>` is a static asset that can't import, so it carries a faithful
7
+ * mirror of these two functions).
8
+ */
9
+ /**
10
+ * The provider payload for a `{ kind: 'table', paged: true }` panel — the shape
11
+ * a {@link DataProvider} MUST return when the panel opts into paging. `page` /
12
+ * `limit` normally echo the requested `query.page` / `query.limit`; `total` is
13
+ * the full, unpaginated row count so the UI can render "page X of Y".
14
+ */
15
+ export interface PagedTableData {
16
+ rows?: Array<Record<string, unknown>>;
17
+ total?: number;
18
+ page?: number;
19
+ limit?: number;
20
+ }
21
+ /** The pager state the UI renders from a {@link PagedTableData} payload. */
22
+ export interface TablePagination {
23
+ /** Current 1-based page (clamped to >= 1). */
24
+ page: number;
25
+ /** Rows-per-page used to compute the page count. */
26
+ limit: number;
27
+ /** Full unpaginated row count. */
28
+ total: number;
29
+ /** Number of pages (>= 1). */
30
+ totalPages: number;
31
+ /** Whether a previous page exists (Prev enabled). */
32
+ hasPrev: boolean;
33
+ /** Whether a next page exists (Next enabled). */
34
+ hasNext: boolean;
35
+ }
36
+ /**
37
+ * Normalize a paged provider payload into pager state: clamp `page` to >= 1,
38
+ * derive `limit`/`total` defensively (so a provider echoing only `rows` still
39
+ * renders one page), and compute `totalPages` + prev/next availability.
40
+ */
41
+ export declare function tablePagination(data: PagedTableData): TablePagination;
42
+ /**
43
+ * Fill a {@link LinkSpec.href} template's `{key}` placeholders from a table row.
44
+ * This is what turns the in-app trace deep-link convention `#/traces/{traceId}`
45
+ * into a concrete `#/traces/abc123` anchor (the same substitution the built-in
46
+ * Entries table uses). A missing key becomes the empty string. Values are
47
+ * URI-encoded so a key containing `#`/`/`/`?` cannot break out of the href.
48
+ */
49
+ export declare function fillLinkHref(href: string, row: Record<string, unknown>): string;
50
+ //# sourceMappingURL=ext_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ext_table.d.ts","sourceRoot":"","sources":["../../../src/ui/ext_table.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAcrE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAK/E"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Pure helpers for the paged extension-dashboard table. These are the SOURCE OF
3
+ * TRUTH for the pagination math and the deep-link templating that the
4
+ * server-rendered `dashboard.html` mirrors in its inline JS. Kept framework-free
5
+ * and side-effect-free so the logic is unit-tested directly (dashboard.html's
6
+ * inline `<script>` is a static asset that can't import, so it carries a faithful
7
+ * mirror of these two functions).
8
+ */
9
+ /**
10
+ * Normalize a paged provider payload into pager state: clamp `page` to >= 1,
11
+ * derive `limit`/`total` defensively (so a provider echoing only `rows` still
12
+ * renders one page), and compute `totalPages` + prev/next availability.
13
+ */
14
+ export function tablePagination(data) {
15
+ const rows = data.rows ?? [];
16
+ const page = Math.max(1, data.page ?? 1);
17
+ const limit = data.limit && data.limit > 0 ? data.limit : rows.length || 1;
18
+ const total = data.total ?? rows.length;
19
+ const totalPages = Math.max(1, Math.ceil(total / limit));
20
+ return {
21
+ page,
22
+ limit,
23
+ total,
24
+ totalPages,
25
+ hasPrev: page > 1,
26
+ hasNext: page < totalPages,
27
+ };
28
+ }
29
+ /**
30
+ * Fill a {@link LinkSpec.href} template's `{key}` placeholders from a table row.
31
+ * This is what turns the in-app trace deep-link convention `#/traces/{traceId}`
32
+ * into a concrete `#/traces/abc123` anchor (the same substitution the built-in
33
+ * Entries table uses). A missing key becomes the empty string. Values are
34
+ * URI-encoded so a key containing `#`/`/`/`?` cannot break out of the href.
35
+ */
36
+ export function fillLinkHref(href, row) {
37
+ return href.replace(/\{(\w+)\}/g, (_, key) => {
38
+ const value = row[key];
39
+ return encodeURIComponent(value == null ? '' : String(value));
40
+ });
41
+ }
42
+ //# sourceMappingURL=ext_table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ext_table.js","sourceRoot":"","sources":["../../../src/ui/ext_table.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+BH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,UAAU;QACV,OAAO,EAAE,IAAI,GAAG,CAAC;QACjB,OAAO,EAAE,IAAI,GAAG,UAAU;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAA4B;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,kBAAkB,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.5.2";
2
+ export declare const VERSION = "0.6.0";
3
3
  export { defineConfig, resolveConfig, normalizePath, defaultAuthorize } from './define_config.js';
4
4
  export type { AuthorizeHook, ReplayConfig, ResolvedTelescopeUiConfig, TelescopeUiConfig, UiCredentials, } from './define_config.js';
5
5
  export { resolveDashboardAuth, performLogin, readSession, sanitizeReturnTo, decideDashboardAuth, SESSION_COOKIE_NAME, } from './auth.js';
@@ -7,6 +7,8 @@ export type { DashboardAuthOptions, ResolvedDashboardAuth, LoginHook, LoginOutco
7
7
  export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
8
8
  export type { DashboardSession, DashboardSessionUser, SignOptions, VerifyOptions, } from './session_cookie.js';
9
9
  export { renderLoginPage } from './login_page.js';
10
+ export { fillLinkHref, tablePagination } from './ext_table.js';
11
+ export type { PagedTableData, TablePagination } from './ext_table.js';
10
12
  export { readSessionCookie, writeSessionCookie, clearSessionCookie, enforceDashboardAuth, } from './dashboard_auth.js';
11
13
  export { RecordingResponse, RecordingSink, formatSseFrame, formatSseHeartbeat, makeRequest, } from './http.js';
12
14
  export type { SseSink, UiHttpContext, UiRequest, UiResponse } from './http.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EACV,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EACV,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.5.2';
2
+ export const VERSION = '0.6.0';
3
3
  // — config —
4
4
  export { defineConfig, resolveConfig, normalizePath, defaultAuthorize } from './define_config.js';
5
5
  // — built-in `dashboardAuth` login screen (optional; opt-in via `config/telescope_ui.ts`) —
6
6
  export { resolveDashboardAuth, performLogin, readSession, sanitizeReturnTo, decideDashboardAuth, SESSION_COOKIE_NAME, } from './auth.js';
7
7
  export { signSessionCookie, verifySessionCookie, } from './session_cookie.js';
8
8
  export { renderLoginPage } from './login_page.js';
9
+ // — paged extension-dashboard tables (source of truth for dashboard.html's mirror) —
10
+ export { fillLinkHref, tablePagination } from './ext_table.js';
9
11
  export { readSessionCookie, writeSessionCookie, clearSessionCookie, enforceDashboardAuth, } from './dashboard_auth.js';
10
12
  // — HTTP shapes (framework-light) —
11
13
  export { RecordingResponse, RecordingSink, formatSseFrame, formatSseHeartbeat, makeRequest, } from './http.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AASlG,4FAA4F;AAC5F,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAQnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,oCAAoC;AACpC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/D,qBAAqB;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AASlG,4FAA4F;AAC5F,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAQnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qFAAqF;AACrF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,oCAAoC;AACpC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/D,qBAAqB;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.5.2";
2
+ export declare const VERSION = "0.6.0";
3
3
  export type { EmitterLike, Watcher } from './emitter.js';
4
4
  export { resolveStore, safeRecord } from './record.js';
5
5
  export { buildQueryEntry, DB_QUERY_EVENT, LucidQueryWatcher } from './lucid_query_watcher.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.5.2';
2
+ export const VERSION = '0.6.0';
3
3
  // — runtime recording (advanced) —
4
4
  export { resolveStore, safeRecord } from './record.js';
5
5
  // — Lucid query watcher (the headline watcher) —
@@ -1 +1 @@
1
- {"version":3,"file":"schedule_watcher.d.ts","sourceRoot":"","sources":["../../../src/watchers/schedule_watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule_watcher.d.ts","sourceRoot":"","sources":["../../../src/watchers/schedule_watcher.ts"],"names":[],"mappings":"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"}
@@ -145,7 +145,12 @@ export function buildScheduleEntry(run, slowMs = DEFAULT_SLOW_MS) {
145
145
  failureReason,
146
146
  traceId,
147
147
  };
148
- const tags = ['schedule', `schedule:${kind}`, `task:${run.name}`, `status:${run.status}`];
148
+ const tags = [
149
+ 'schedule',
150
+ `schedule:${kind}`,
151
+ `task:${run.name}`,
152
+ `status:${run.status}`,
153
+ ];
149
154
  if (failed)
150
155
  tags.push('failed');
151
156
  if (durationMs >= slowMs)
@@ -1 +1 @@
1
- {"version":3,"file":"schedule_watcher.js","sourceRoot":"","sources":["../../../src/watchers/schedule_watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule_watcher.js","sourceRoot":"","sources":["../../../src/watchers/schedule_watcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/telescope",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "Laravel Telescope-style headless observability for AdonisJS — records HTTP requests and every Agora diagnostics event as queryable entries, plus opt-in subpaths for per-technology watchers, a web dashboard, AI exception diagnosis, and alerting.",
5
5
  "license": "MIT",
6
6
  "repository": {