@rudderjs/telescope 0.0.1 → 1.0.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.
- package/README.md +101 -27
- package/dist/api/routes.d.ts +10 -6
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +42 -54
- package/dist/api/routes.js.map +1 -1
- package/dist/batch-context.d.ts +19 -0
- package/dist/batch-context.d.ts.map +1 -0
- package/dist/batch-context.js +24 -0
- package/dist/batch-context.js.map +1 -0
- package/dist/collectors/ai.d.ts +13 -0
- package/dist/collectors/ai.d.ts.map +1 -0
- package/dist/collectors/ai.js +61 -0
- package/dist/collectors/ai.js.map +1 -0
- package/dist/collectors/broadcast.d.ts +10 -0
- package/dist/collectors/broadcast.d.ts.map +1 -0
- package/dist/collectors/broadcast.js +46 -0
- package/dist/collectors/broadcast.js.map +1 -0
- package/dist/collectors/cache.d.ts.map +1 -1
- package/dist/collectors/cache.js +5 -4
- package/dist/collectors/cache.js.map +1 -1
- package/dist/collectors/command.d.ts +21 -0
- package/dist/collectors/command.d.ts.map +1 -0
- package/dist/collectors/command.js +55 -0
- package/dist/collectors/command.js.map +1 -0
- package/dist/collectors/dump.d.ts +17 -0
- package/dist/collectors/dump.d.ts.map +1 -0
- package/dist/collectors/dump.js +37 -0
- package/dist/collectors/dump.js.map +1 -0
- package/dist/collectors/event.d.ts.map +1 -1
- package/dist/collectors/event.js +2 -1
- package/dist/collectors/event.js.map +1 -1
- package/dist/collectors/exception.d.ts +1 -0
- package/dist/collectors/exception.d.ts.map +1 -1
- package/dist/collectors/exception.js +23 -4
- package/dist/collectors/exception.js.map +1 -1
- package/dist/collectors/gate.d.ts +18 -0
- package/dist/collectors/gate.d.ts.map +1 -0
- package/dist/collectors/gate.js +49 -0
- package/dist/collectors/gate.js.map +1 -0
- package/dist/collectors/http.d.ts +21 -0
- package/dist/collectors/http.d.ts.map +1 -0
- package/dist/collectors/http.js +64 -0
- package/dist/collectors/http.js.map +1 -0
- package/dist/collectors/job.d.ts.map +1 -1
- package/dist/collectors/job.js +3 -2
- package/dist/collectors/job.js.map +1 -1
- package/dist/collectors/live.d.ts +13 -0
- package/dist/collectors/live.d.ts.map +1 -0
- package/dist/collectors/live.js +60 -0
- package/dist/collectors/live.js.map +1 -0
- package/dist/collectors/log.d.ts.map +1 -1
- package/dist/collectors/log.js +2 -1
- package/dist/collectors/log.js.map +1 -1
- package/dist/collectors/mail.d.ts.map +1 -1
- package/dist/collectors/mail.js +2 -1
- package/dist/collectors/mail.js.map +1 -1
- package/dist/collectors/mcp.d.ts +14 -0
- package/dist/collectors/mcp.d.ts.map +1 -0
- package/dist/collectors/mcp.js +49 -0
- package/dist/collectors/mcp.js.map +1 -0
- package/dist/collectors/model.d.ts +6 -0
- package/dist/collectors/model.d.ts.map +1 -1
- package/dist/collectors/model.js +44 -1
- package/dist/collectors/model.js.map +1 -1
- package/dist/collectors/notification.d.ts.map +1 -1
- package/dist/collectors/notification.js +2 -1
- package/dist/collectors/notification.js.map +1 -1
- package/dist/collectors/query.d.ts.map +1 -1
- package/dist/collectors/query.js +5 -3
- package/dist/collectors/query.js.map +1 -1
- package/dist/collectors/request.d.ts +2 -1
- package/dist/collectors/request.d.ts.map +1 -1
- package/dist/collectors/request.js +78 -4
- package/dist/collectors/request.js.map +1 -1
- package/dist/index.d.ts +17 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -95
- package/dist/index.js.map +1 -1
- package/dist/redact.d.ts +25 -0
- package/dist/redact.d.ts.map +1 -0
- package/dist/redact.js +55 -0
- package/dist/redact.js.map +1 -0
- package/dist/routes.d.ts +22 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +105 -0
- package/dist/routes.js.map +1 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +13 -0
- package/dist/storage.js.map +1 -1
- package/dist/types.d.ts +32 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -1
- package/dist/views/vanilla/Dashboard.d.ts +10 -0
- package/dist/views/vanilla/Dashboard.d.ts.map +1 -0
- package/dist/views/vanilla/Dashboard.js +48 -0
- package/dist/views/vanilla/Dashboard.js.map +1 -0
- package/dist/views/vanilla/EntryList.d.ts +29 -0
- package/dist/views/vanilla/EntryList.d.ts.map +1 -0
- package/dist/views/vanilla/EntryList.js +172 -0
- package/dist/views/vanilla/EntryList.js.map +1 -0
- package/dist/views/vanilla/Layout.d.ts +25 -0
- package/dist/views/vanilla/Layout.d.ts.map +1 -0
- package/dist/views/vanilla/Layout.js +225 -0
- package/dist/views/vanilla/Layout.js.map +1 -0
- package/dist/views/vanilla/_html.d.ts +27 -0
- package/dist/views/vanilla/_html.d.ts.map +1 -0
- package/dist/views/vanilla/_html.js +55 -0
- package/dist/views/vanilla/_html.js.map +1 -0
- package/dist/views/vanilla/columns.d.ts +20 -0
- package/dist/views/vanilla/columns.d.ts.map +1 -0
- package/dist/views/vanilla/columns.js +181 -0
- package/dist/views/vanilla/columns.js.map +1 -0
- package/dist/views/vanilla/details/Batch.d.ts +14 -0
- package/dist/views/vanilla/details/Batch.d.ts.map +1 -0
- package/dist/views/vanilla/details/Batch.js +120 -0
- package/dist/views/vanilla/details/Batch.js.map +1 -0
- package/dist/views/vanilla/details/Layout.d.ts +21 -0
- package/dist/views/vanilla/details/Layout.d.ts.map +1 -0
- package/dist/views/vanilla/details/Layout.js +163 -0
- package/dist/views/vanilla/details/Layout.js.map +1 -0
- package/dist/views/vanilla/details/NotFound.d.ts +8 -0
- package/dist/views/vanilla/details/NotFound.d.ts.map +1 -0
- package/dist/views/vanilla/details/NotFound.js +20 -0
- package/dist/views/vanilla/details/NotFound.js.map +1 -0
- package/dist/views/vanilla/details/index.d.ts +5 -0
- package/dist/views/vanilla/details/index.d.ts.map +1 -0
- package/dist/views/vanilla/details/index.js +5 -0
- package/dist/views/vanilla/details/index.js.map +1 -0
- package/dist/views/vanilla/details/sections.d.ts +46 -0
- package/dist/views/vanilla/details/sections.d.ts.map +1 -0
- package/dist/views/vanilla/details/sections.js +145 -0
- package/dist/views/vanilla/details/sections.js.map +1 -0
- package/dist/views/vanilla/details/views.d.ts +15 -0
- package/dist/views/vanilla/details/views.d.ts.map +1 -0
- package/dist/views/vanilla/details/views.js +534 -0
- package/dist/views/vanilla/details/views.js.map +1 -0
- package/dist/views/vanilla/index.d.ts +5 -0
- package/dist/views/vanilla/index.d.ts.map +1 -0
- package/dist/views/vanilla/index.js +5 -0
- package/dist/views/vanilla/index.js.map +1 -0
- package/package.json +53 -13
- package/dist/ui/layout.d.ts +0 -11
- package/dist/ui/layout.d.ts.map +0 -1
- package/dist/ui/layout.js +0 -69
- package/dist/ui/layout.js.map +0 -1
- package/dist/ui/pages.d.ts +0 -21
- package/dist/ui/pages.d.ts.map +0 -1
- package/dist/ui/pages.js +0 -225
- package/dist/ui/pages.js.map +0 -1
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type EntryType = 'request' | 'query' | 'job' | 'exception' | 'log' | 'mail' | 'notification' | 'event' | 'cache' | 'schedule' | 'model';
|
|
1
|
+
export type EntryType = 'request' | 'query' | 'job' | 'exception' | 'log' | 'mail' | 'notification' | 'event' | 'cache' | 'schedule' | 'model' | 'command' | 'broadcast' | 'live' | 'http' | 'gate' | 'dump' | 'ai' | 'mcp';
|
|
2
2
|
export interface TelescopeEntry {
|
|
3
3
|
id: string;
|
|
4
4
|
batchId: string | null;
|
|
@@ -56,8 +56,39 @@ export interface TelescopeConfig {
|
|
|
56
56
|
recordCache?: boolean | undefined;
|
|
57
57
|
recordSchedule?: boolean | undefined;
|
|
58
58
|
recordModels?: boolean | undefined;
|
|
59
|
+
recordCommands?: boolean | undefined;
|
|
60
|
+
recordBroadcasts?: boolean | undefined;
|
|
61
|
+
recordLive?: boolean | undefined;
|
|
62
|
+
recordHttp?: boolean | undefined;
|
|
63
|
+
recordGate?: boolean | undefined;
|
|
64
|
+
recordDumps?: boolean | undefined;
|
|
65
|
+
recordAi?: boolean | undefined;
|
|
66
|
+
recordMcp?: boolean | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Throttle window in ms for Yjs awareness events (cursor / selection /
|
|
69
|
+
* presence diffs). One entry per `(docName, clientId)` is recorded per
|
|
70
|
+
* window — the rest are dropped. Default `500`. Set to `0` to record
|
|
71
|
+
* every awareness change (only useful for very low-traffic debugging).
|
|
72
|
+
*/
|
|
73
|
+
liveAwarenessSampleMs?: number | undefined;
|
|
59
74
|
ignoreRequests?: string[] | undefined;
|
|
60
75
|
slowQueryThreshold?: number | undefined;
|
|
76
|
+
/** Duration threshold in ms above which an AI agent run is tagged `slow`. Default `5000`. */
|
|
77
|
+
slowAiThreshold?: number | undefined;
|
|
78
|
+
/** Duration threshold in ms above which an MCP operation is tagged `slow`. Default `1000`. */
|
|
79
|
+
slowMcpThreshold?: number | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Header names (lower-case) to redact from recorded request entries.
|
|
82
|
+
* Values are replaced with `[REDACTED]` before being stored — they
|
|
83
|
+
* never reach the dashboard or the storage backend. Defaults to
|
|
84
|
+
* `['authorization', 'cookie', 'set-cookie', 'x-csrf-token', 'x-api-key']`.
|
|
85
|
+
*/
|
|
86
|
+
hideRequestHeaders?: string[] | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Body field names to redact from recorded request entries (looked up
|
|
89
|
+
* case-insensitively at any depth). Defaults to `['password', 'password_confirmation', 'token', 'secret']`.
|
|
90
|
+
*/
|
|
91
|
+
hideRequestFields?: string[] | undefined;
|
|
61
92
|
auth?: null | ((req: unknown) => boolean | Promise<boolean>) | undefined;
|
|
62
93
|
}
|
|
63
94
|
export declare const defaultConfig: Required<Omit<TelescopeConfig, 'auth' | 'sqlitePath'>> & {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,OAAO,GACP,KAAK,GACL,WAAW,GACX,KAAK,GACL,MAAM,GACN,cAAc,GACd,OAAO,GACP,OAAO,GACP,UAAU,GACV,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -17,8 +17,21 @@ export const defaultConfig = {
|
|
|
17
17
|
recordCache: true,
|
|
18
18
|
recordSchedule: true,
|
|
19
19
|
recordModels: true,
|
|
20
|
+
recordCommands: true,
|
|
21
|
+
recordBroadcasts: true,
|
|
22
|
+
recordLive: true,
|
|
23
|
+
recordHttp: true,
|
|
24
|
+
recordGate: true,
|
|
25
|
+
recordDumps: true,
|
|
26
|
+
recordAi: true,
|
|
27
|
+
recordMcp: true,
|
|
28
|
+
liveAwarenessSampleMs: 500,
|
|
20
29
|
ignoreRequests: ['/telescope*', '/health'],
|
|
21
30
|
slowQueryThreshold: 100,
|
|
31
|
+
slowAiThreshold: 5000,
|
|
32
|
+
slowMcpThreshold: 1000,
|
|
33
|
+
hideRequestHeaders: ['authorization', 'cookie', 'set-cookie', 'x-csrf-token', 'x-api-key', 'x-real-ip'],
|
|
34
|
+
hideRequestFields: ['password', 'password_confirmation', 'token', 'secret'],
|
|
22
35
|
auth: null,
|
|
23
36
|
};
|
|
24
37
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AA+H9D,MAAM,CAAC,MAAM,aAAa,GAAmH;IAC3I,OAAO,EAAe,IAAI;IAC1B,IAAI,EAAkB,WAAW;IACjC,OAAO,EAAe,QAAQ;IAC9B,UAAU,EAAY,eAAe;IACrC,UAAU,EAAY,IAAI;IAC1B,eAAe,EAAO,EAAE;IACxB,cAAc,EAAQ,IAAI;IAC1B,aAAa,EAAS,IAAI;IAC1B,UAAU,EAAY,IAAI;IAC1B,gBAAgB,EAAM,IAAI;IAC1B,UAAU,EAAY,IAAI;IAC1B,UAAU,EAAY,IAAI;IAC1B,mBAAmB,EAAG,IAAI;IAC1B,YAAY,EAAU,IAAI;IAC1B,WAAW,EAAW,IAAI;IAC1B,cAAc,EAAQ,IAAI;IAC1B,YAAY,EAAU,IAAI;IAC1B,cAAc,EAAQ,IAAI;IAC1B,gBAAgB,EAAM,IAAI;IAC1B,UAAU,EAAY,IAAI;IAC1B,UAAU,EAAY,IAAI;IAC1B,UAAU,EAAY,IAAI;IAC1B,WAAW,EAAW,IAAI;IAC1B,QAAQ,EAAc,IAAI;IAC1B,SAAS,EAAa,IAAI;IAC1B,qBAAqB,EAAE,GAAG;IAC1B,cAAc,EAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAChD,kBAAkB,EAAI,GAAG;IACzB,eAAe,EAAO,IAAI;IAC1B,gBAAgB,EAAM,IAAI;IAC1B,kBAAkB,EAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC;IACzG,iBAAiB,EAAK,CAAC,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC9E,IAAI,EAAkB,IAAI;CAC3B,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface DashboardProps {
|
|
2
|
+
basePath: string;
|
|
3
|
+
apiPrefix: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Dashboard landing page — count cards for each watcher type linking
|
|
7
|
+
* through to the corresponding list page.
|
|
8
|
+
*/
|
|
9
|
+
export declare function Dashboard(props: DashboardProps): string;
|
|
10
|
+
//# sourceMappingURL=Dashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/views/vanilla/Dashboard.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAG,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CA2CvD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Layout } from './Layout.js';
|
|
2
|
+
/**
|
|
3
|
+
* Dashboard landing page — count cards for each watcher type linking
|
|
4
|
+
* through to the corresponding list page.
|
|
5
|
+
*/
|
|
6
|
+
export function Dashboard(props) {
|
|
7
|
+
const { basePath, apiPrefix } = props;
|
|
8
|
+
const body = `
|
|
9
|
+
<div x-data="dashboard()" x-init="load()" x-cloak>
|
|
10
|
+
<h2 class="text-xl font-bold mb-6">Dashboard</h2>
|
|
11
|
+
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
|
|
12
|
+
<template x-for="[type, count] of Object.entries(counts)" :key="type">
|
|
13
|
+
<a :href="'${basePath}/' + typeUrl(type)"
|
|
14
|
+
@click.prevent="$dispatch('telescope:navigate', '${basePath}/' + typeUrl(type))"
|
|
15
|
+
class="bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 p-4 shadow-sm hover:shadow-md transition group">
|
|
16
|
+
<div class="text-2xl font-bold group-hover:text-indigo-600 transition-colors" x-text="count"></div>
|
|
17
|
+
<div class="text-sm text-gray-500 dark:text-gray-400" x-text="typeLabel(type)"></div>
|
|
18
|
+
</a>
|
|
19
|
+
</template>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<script>
|
|
23
|
+
function dashboard() {
|
|
24
|
+
const labels = {
|
|
25
|
+
request: 'Requests', query: 'Queries', job: 'Jobs', exception: 'Exceptions',
|
|
26
|
+
log: 'Logs', mail: 'Mail', notification: 'Notifications', event: 'Events',
|
|
27
|
+
cache: 'Cache', schedule: 'Schedule', model: 'Models', command: 'Commands',
|
|
28
|
+
http: 'HTTP Client', gate: 'Gates', dump: 'Dumps', broadcast: 'WebSockets',
|
|
29
|
+
live: 'Live (Yjs)', ai: 'AI', mcp: 'MCP',
|
|
30
|
+
}
|
|
31
|
+
const urls = {
|
|
32
|
+
query: 'queries', http: 'http', mail: 'mail', cache: 'cache', schedule: 'schedule',
|
|
33
|
+
ai: 'ai', mcp: 'mcp',
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
counts: {},
|
|
37
|
+
async load() {
|
|
38
|
+
const data = await fetch('${apiPrefix}/overview').then(r => r.json())
|
|
39
|
+
this.counts = data.counts || {}
|
|
40
|
+
},
|
|
41
|
+
typeLabel(type) { return labels[type] || (type.charAt(0).toUpperCase() + type.slice(1) + 's') },
|
|
42
|
+
typeUrl(type) { return urls[type] || type + 's' },
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
</script>`;
|
|
46
|
+
return Layout({ title: 'Dashboard', body, basePath, activePath: '/' });
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/views/vanilla/Dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOpC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAErC,MAAM,IAAI,GAAG;;;;;uBAKQ,QAAQ;gEACiC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;wCAwBhC,SAAS;;;;;;;cAOnC,CAAA;IAEZ,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface Column {
|
|
2
|
+
label: string;
|
|
3
|
+
/** Alpine.js expression evaluated against the row variable `entry` */
|
|
4
|
+
key: string;
|
|
5
|
+
badge?: boolean;
|
|
6
|
+
mono?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface EntryListProps {
|
|
10
|
+
basePath: string;
|
|
11
|
+
apiPrefix: string;
|
|
12
|
+
/** Entry type — used in the API path. Special-cased: `query` → `/queries`. */
|
|
13
|
+
type: string;
|
|
14
|
+
/** URL segment used in the detail-page links. Same as the page key in `columns.ts`. */
|
|
15
|
+
pageKey: string;
|
|
16
|
+
title: string;
|
|
17
|
+
columns: Column[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generic master/list page for any watcher type. Renders a table with
|
|
21
|
+
* search + tag filter + pagination. Each row links to the detail page
|
|
22
|
+
* at `/{basePath}/{pageKey}/{id}`.
|
|
23
|
+
*
|
|
24
|
+
* Phase 2a removed the inline JSON-dump modal in favour of dedicated
|
|
25
|
+
* detail pages per watcher (see `details/views.ts`).
|
|
26
|
+
* Phase 2b added the `?tag=` filter and tag pill column.
|
|
27
|
+
*/
|
|
28
|
+
export declare function EntryList(props: EntryListProps): string;
|
|
29
|
+
//# sourceMappingURL=EntryList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryList.d.ts","sourceRoot":"","sources":["../../../src/views/vanilla/EntryList.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAO,MAAM,CAAA;IAClB,sEAAsE;IACtE,GAAG,EAAS,MAAM,CAAA;IAClB,KAAK,CAAC,EAAM,OAAO,CAAA;IACnB,IAAI,CAAC,EAAO,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAG,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,IAAI,EAAO,MAAM,CAAA;IACjB,uFAAuF;IACvF,OAAO,EAAI,MAAM,CAAA;IACjB,KAAK,EAAM,MAAM,CAAA;IACjB,OAAO,EAAI,MAAM,EAAE,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAqKvD"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { Layout } from './Layout.js';
|
|
2
|
+
/**
|
|
3
|
+
* Generic master/list page for any watcher type. Renders a table with
|
|
4
|
+
* search + tag filter + pagination. Each row links to the detail page
|
|
5
|
+
* at `/{basePath}/{pageKey}/{id}`.
|
|
6
|
+
*
|
|
7
|
+
* Phase 2a removed the inline JSON-dump modal in favour of dedicated
|
|
8
|
+
* detail pages per watcher (see `details/views.ts`).
|
|
9
|
+
* Phase 2b added the `?tag=` filter and tag pill column.
|
|
10
|
+
*/
|
|
11
|
+
export function EntryList(props) {
|
|
12
|
+
const { basePath, apiPrefix, type, pageKey, title, columns } = props;
|
|
13
|
+
const colHeaders = columns.map(c => {
|
|
14
|
+
const align = c.className?.includes('text-right') ? 'text-right' : 'text-left';
|
|
15
|
+
return `<th class="px-4 py-3 ${align} text-xs uppercase font-medium text-gray-500 dark:text-gray-400">${c.label}</th>`;
|
|
16
|
+
}).join('\n ');
|
|
17
|
+
const colCells = columns.map(c => {
|
|
18
|
+
if (c.badge) {
|
|
19
|
+
return `<td class="px-4 py-3"><span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium" :class="badgeClass(${c.key})" x-text="${c.key}"></span></td>`;
|
|
20
|
+
}
|
|
21
|
+
if (c.mono) {
|
|
22
|
+
return `<td class="px-4 py-3 font-mono text-xs ${c.className ?? ''}" x-text="${c.key}"></td>`;
|
|
23
|
+
}
|
|
24
|
+
return `<td class="px-4 py-3 ${c.className ?? ''}" x-text="${c.key}"></td>`;
|
|
25
|
+
}).join('\n ');
|
|
26
|
+
const activePath = `/${pageKey}`;
|
|
27
|
+
const apiPath = type === 'query' ? 'queries' : `${type}s`;
|
|
28
|
+
const body = `
|
|
29
|
+
<div x-data="entryList()" x-init="load()" x-cloak>
|
|
30
|
+
<div class="flex items-center justify-between mb-6 gap-4 flex-wrap">
|
|
31
|
+
<h2 class="text-xl font-bold">${title}</h2>
|
|
32
|
+
<div class="flex gap-2 items-center">
|
|
33
|
+
<button @click="toggleAutoRefresh()" :title="autoRefresh ? 'Auto-refresh on (click to disable)' : 'Auto-refresh off (click to enable)'"
|
|
34
|
+
class="text-xs border rounded-lg px-3 py-1.5 transition flex items-center gap-1.5"
|
|
35
|
+
:class="autoRefresh ? 'border-green-300 dark:border-green-700 bg-green-50 dark:bg-green-950 text-green-700 dark:text-green-400' : 'border-gray-300 dark:border-gray-700 text-gray-600 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800'">
|
|
36
|
+
<span class="w-2 h-2 rounded-full" :class="autoRefresh ? 'bg-green-500 animate-pulse' : 'bg-gray-400'"></span>
|
|
37
|
+
<span x-text="autoRefresh ? 'Live' : 'Live'"></span>
|
|
38
|
+
</button>
|
|
39
|
+
<input type="text" x-model="search" @input.debounce.300ms="load()"
|
|
40
|
+
placeholder="Search..." class="text-sm border border-gray-300 dark:border-gray-700 rounded-lg px-3 py-1.5 bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 outline-none">
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<!-- Active tag filter pill -->
|
|
45
|
+
<div x-show="tag" class="mb-3 flex items-center gap-2 text-sm">
|
|
46
|
+
<span class="text-gray-500 dark:text-gray-400">Filtering by tag:</span>
|
|
47
|
+
<a :href="window.location.pathname" @click.prevent="tag = ''; load()" class="inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-indigo-50 dark:bg-indigo-950 text-indigo-700 dark:text-indigo-300 hover:bg-indigo-100 dark:hover:bg-indigo-900">
|
|
48
|
+
<span x-text="tag"></span>
|
|
49
|
+
<svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/></svg>
|
|
50
|
+
</a>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div class="bg-white dark:bg-gray-900 rounded-xl border border-gray-200 dark:border-gray-800 shadow-sm overflow-hidden">
|
|
54
|
+
<table class="w-full text-sm">
|
|
55
|
+
<thead class="bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-800">
|
|
56
|
+
<tr>
|
|
57
|
+
${colHeaders}
|
|
58
|
+
<th class="px-4 py-3 text-left text-xs uppercase font-medium text-gray-500 dark:text-gray-400">Tags</th>
|
|
59
|
+
<th class="px-4 py-3 text-right text-xs uppercase font-medium text-gray-500 dark:text-gray-400">Time</th>
|
|
60
|
+
</tr>
|
|
61
|
+
</thead>
|
|
62
|
+
<tbody class="divide-y divide-gray-100 dark:divide-gray-800">
|
|
63
|
+
<template x-for="entry in entries" :key="entry.id">
|
|
64
|
+
<tr class="hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer" @click="goTo(entry.id)">
|
|
65
|
+
${colCells}
|
|
66
|
+
<td class="px-4 py-3">
|
|
67
|
+
<template x-for="t in (entry.tags || []).slice(0, 3)" :key="t">
|
|
68
|
+
<a :href="window.location.pathname + '?tag=' + encodeURIComponent(t)" @click.stop.prevent="tag = t; page = 1; load()" class="inline-flex items-center px-1.5 py-0.5 rounded text-[10px] bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-600 mr-1">
|
|
69
|
+
<span x-text="t"></span>
|
|
70
|
+
</a>
|
|
71
|
+
</template>
|
|
72
|
+
<span x-show="(entry.tags || []).length > 3" class="text-xs text-gray-400 dark:text-gray-500" x-text="'+' + ((entry.tags || []).length - 3)"></span>
|
|
73
|
+
</td>
|
|
74
|
+
<td class="px-4 py-3 text-right text-gray-400 dark:text-gray-500 text-xs" x-text="ago(entry.createdAt)"></td>
|
|
75
|
+
</tr>
|
|
76
|
+
</template>
|
|
77
|
+
<tr x-show="entries.length === 0">
|
|
78
|
+
<td colspan="${columns.length + 2}" class="px-4 py-12 text-center text-gray-400 dark:text-gray-500">No entries found.</td>
|
|
79
|
+
</tr>
|
|
80
|
+
</tbody>
|
|
81
|
+
</table>
|
|
82
|
+
|
|
83
|
+
<!-- Pagination -->
|
|
84
|
+
<div class="flex items-center justify-between px-4 py-3 border-t border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-800 text-sm">
|
|
85
|
+
<span class="text-gray-500 dark:text-gray-400">Total: <span x-text="meta.total"></span></span>
|
|
86
|
+
<div class="flex gap-1">
|
|
87
|
+
<button @click="page > 1 && (page--, load())" :disabled="page <= 1"
|
|
88
|
+
class="px-3 py-1 border border-gray-300 dark:border-gray-700 rounded text-xs text-gray-700 dark:text-gray-300 disabled:opacity-30">Prev</button>
|
|
89
|
+
<span class="px-3 py-1 text-gray-500 dark:text-gray-400" x-text="'Page ' + page + ' of ' + meta.last_page"></span>
|
|
90
|
+
<button @click="page < meta.last_page && (page++, load())" :disabled="page >= meta.last_page"
|
|
91
|
+
class="px-3 py-1 border border-gray-300 dark:border-gray-700 rounded text-xs text-gray-700 dark:text-gray-300 disabled:opacity-30">Next</button>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<script>
|
|
98
|
+
function entryList() {
|
|
99
|
+
return {
|
|
100
|
+
entries: [],
|
|
101
|
+
meta: { total: 0, last_page: 1 },
|
|
102
|
+
page: 1,
|
|
103
|
+
search: '',
|
|
104
|
+
tag: new URLSearchParams(window.location.search).get('tag') || '',
|
|
105
|
+
autoRefresh: localStorage.getItem('telescope.autoRefresh') === 'true',
|
|
106
|
+
_refreshTimer: null,
|
|
107
|
+
|
|
108
|
+
init() {
|
|
109
|
+
if (this.autoRefresh) this.startAutoRefresh()
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
async load() {
|
|
113
|
+
const params = new URLSearchParams({ page: this.page, per_page: 50 })
|
|
114
|
+
if (this.search) params.set('search', this.search)
|
|
115
|
+
if (this.tag) params.set('tag', this.tag)
|
|
116
|
+
const data = await fetch('${apiPrefix}/${apiPath}?' + params).then(r => r.json())
|
|
117
|
+
this.entries = data.data || []
|
|
118
|
+
this.meta = data.meta || { total: 0, last_page: 1 }
|
|
119
|
+
},
|
|
120
|
+
|
|
121
|
+
toggleAutoRefresh() {
|
|
122
|
+
this.autoRefresh = !this.autoRefresh
|
|
123
|
+
localStorage.setItem('telescope.autoRefresh', String(this.autoRefresh))
|
|
124
|
+
if (this.autoRefresh) this.startAutoRefresh()
|
|
125
|
+
else this.stopAutoRefresh()
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
startAutoRefresh() {
|
|
129
|
+
if (this._refreshTimer) return
|
|
130
|
+
this._refreshTimer = setInterval(() => this.load(), 2000)
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
stopAutoRefresh() {
|
|
134
|
+
if (this._refreshTimer) {
|
|
135
|
+
clearInterval(this._refreshTimer)
|
|
136
|
+
this._refreshTimer = null
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
|
|
140
|
+
goTo(id) {
|
|
141
|
+
window.dispatchEvent(new CustomEvent('telescope:navigate', { detail: '${basePath}/${pageKey}/' + id }))
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
badgeClass(value) {
|
|
145
|
+
const colors = {
|
|
146
|
+
GET: 'bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300', POST: 'bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300',
|
|
147
|
+
PUT: 'bg-amber-100 dark:bg-amber-900 text-amber-700 dark:text-amber-300', DELETE: 'bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300',
|
|
148
|
+
PATCH: 'bg-purple-100 dark:bg-purple-900 text-purple-700 dark:text-purple-300',
|
|
149
|
+
error: 'bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300', warning: 'bg-amber-100 dark:bg-amber-900 text-amber-700 dark:text-amber-300',
|
|
150
|
+
info: 'bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300', debug: 'bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300',
|
|
151
|
+
dispatched: 'bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300', failed: 'bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300',
|
|
152
|
+
hit: 'bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300', miss: 'bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300',
|
|
153
|
+
set: 'bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300', forget: 'bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300',
|
|
154
|
+
created: 'bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300', updated: 'bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300',
|
|
155
|
+
deleted: 'bg-red-100 dark:bg-red-900 text-red-700 dark:text-red-300',
|
|
156
|
+
}
|
|
157
|
+
return colors[value] || 'bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400'
|
|
158
|
+
},
|
|
159
|
+
|
|
160
|
+
ago(dateStr) {
|
|
161
|
+
const s = Math.floor((Date.now() - new Date(dateStr).getTime()) / 1000)
|
|
162
|
+
if (s < 60) return s + 's ago'
|
|
163
|
+
if (s < 3600) return Math.floor(s / 60) + 'm ago'
|
|
164
|
+
if (s < 86400) return Math.floor(s / 3600) + 'h ago'
|
|
165
|
+
return Math.floor(s / 86400) + 'd ago'
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
</script>`;
|
|
170
|
+
return Layout({ title, body, basePath, activePath });
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=EntryList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryList.js","sourceRoot":"","sources":["../../../src/views/vanilla/EntryList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAsBpC;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEpE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACjC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAA;QAC9E,OAAO,wBAAwB,KAAK,oEAAoE,CAAC,CAAC,KAAK,OAAO,CAAA;IACxH,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC/B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,2HAA2H,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,gBAAgB,CAAA;QAC5K,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,0CAA0C,CAAC,CAAC,SAAS,IAAI,EAAE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAA;QAC/F,CAAC;QACD,OAAO,wBAAwB,CAAC,CAAC,SAAS,IAAI,EAAE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAA;IAC7E,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAE7B,MAAM,UAAU,GAAG,IAAI,OAAO,EAAE,CAAA;IAChC,MAAM,OAAO,GAAM,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAA;IAE5D,MAAM,IAAI,GAAG;;;wCAGyB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;gBA0B7B,UAAU;;;;;;;;kBAQR,QAAQ;;;;;;;;;;;;;6BAaG,OAAO,CAAC,MAAM,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAsCP,SAAS,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;oFAyBwB,QAAQ,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BzF,CAAA;IAEZ,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared HTML chrome for Telescope dashboard pages.
|
|
3
|
+
*
|
|
4
|
+
* Vanilla mode (raw template literals + Alpine.js + Tailwind via CDN). No
|
|
5
|
+
* client framework dependency, no build step. The package's UI is fully
|
|
6
|
+
* self-contained so telescope can debug a host app of any framework.
|
|
7
|
+
*
|
|
8
|
+
* SPA navigation: the `telescopeSpa()` Alpine component intercepts internal
|
|
9
|
+
* link clicks, fetches the target page via `fetch()`, swaps the `<main>`
|
|
10
|
+
* content, and pushes to `history.pushState()`. The sidebar never reloads.
|
|
11
|
+
* Back/forward buttons work via `popstate`. External links fall through.
|
|
12
|
+
*/
|
|
13
|
+
export interface NavItem {
|
|
14
|
+
label: string;
|
|
15
|
+
path: string;
|
|
16
|
+
icon: string;
|
|
17
|
+
}
|
|
18
|
+
export interface LayoutProps {
|
|
19
|
+
title: string;
|
|
20
|
+
body: string;
|
|
21
|
+
basePath: string;
|
|
22
|
+
activePath: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function Layout(props: LayoutProps): string;
|
|
25
|
+
//# sourceMappingURL=Layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/views/vanilla/Layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAO,MAAM,CAAA;IAClB,IAAI,EAAQ,MAAM,CAAA;IAClB,QAAQ,EAAI,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAsNjD"}
|