@lensmcp/protocol-types 1.25.22 → 1.25.24
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/lib/dashboard.d.ts +35 -8
- package/package.json +1 -1
package/lib/dashboard.d.ts
CHANGED
|
@@ -909,6 +909,8 @@ export interface DashRouteRun {
|
|
|
909
909
|
requestId?: string;
|
|
910
910
|
status?: number;
|
|
911
911
|
durationMs?: number;
|
|
912
|
+
/** Duration is a streaming connection lifetime, not request/first-byte latency. */
|
|
913
|
+
streaming?: boolean;
|
|
912
914
|
/** What its SQL statements took, summed (ms) — the statements its `sql:` touches count. */
|
|
913
915
|
sqlMs?: number;
|
|
914
916
|
/** Its SQL by its service's own count, when the service sent one — the whole of it, where `touches` may hold a part. */
|
|
@@ -947,6 +949,7 @@ export interface DashRouteSummary {
|
|
|
947
949
|
at: number;
|
|
948
950
|
status?: number;
|
|
949
951
|
durationMs?: number;
|
|
952
|
+
streaming?: boolean;
|
|
950
953
|
flowId?: string;
|
|
951
954
|
touches?: DashTouches;
|
|
952
955
|
};
|
|
@@ -1833,6 +1836,17 @@ export interface DashDbIndex {
|
|
|
1833
1836
|
name: string;
|
|
1834
1837
|
/** `CREATE INDEX … ON … USING btree (tenant_id, created_at)`. */
|
|
1835
1838
|
definition: string;
|
|
1839
|
+
/** PostgreSQL catalog identity, used instead of parsing/lowercasing SQL text for equivalence. */
|
|
1840
|
+
access?: {
|
|
1841
|
+
method: string;
|
|
1842
|
+
attributes: number[];
|
|
1843
|
+
keyCount: number;
|
|
1844
|
+
operatorClasses: number[];
|
|
1845
|
+
collations: number[];
|
|
1846
|
+
options: number[];
|
|
1847
|
+
expressions: string | null;
|
|
1848
|
+
predicate: string | null;
|
|
1849
|
+
};
|
|
1836
1850
|
unique: boolean;
|
|
1837
1851
|
primary: boolean;
|
|
1838
1852
|
/** False when a CREATE INDEX CONCURRENTLY failed and left it behind. */
|
|
@@ -1917,7 +1931,7 @@ export interface DashDbLint {
|
|
|
1917
1931
|
/** The statements the lint looked at (the services' own: they touch a table), and how many have a name. */
|
|
1918
1932
|
statements: number;
|
|
1919
1933
|
named: number;
|
|
1920
|
-
/** Errors first, then warnings; the busiest first;
|
|
1934
|
+
/** Errors first, then warnings; the busiest first; complete list; large MCP answers are paged through result_query. */
|
|
1921
1935
|
issues: DashDbLintIssue[];
|
|
1922
1936
|
more: number;
|
|
1923
1937
|
/** Each name: the statement it names now, and the versions it replaced (not seen since the current one came). */
|
|
@@ -1930,7 +1944,7 @@ export interface DashDbLint {
|
|
|
1930
1944
|
}
|
|
1931
1945
|
export interface DashDbLintIssue {
|
|
1932
1946
|
severity: 'error' | 'warning';
|
|
1933
|
-
rule: 'unnamed-statement' | 'name-reused' | 'review-below';
|
|
1947
|
+
rule: 'unnamed-statement' | 'name-reused' | 'review-below' | 'review-stale' | 'review-unverified';
|
|
1934
1948
|
statement: string;
|
|
1935
1949
|
name?: string;
|
|
1936
1950
|
verb: string;
|
|
@@ -1953,6 +1967,7 @@ export interface DashDbLintIssue {
|
|
|
1953
1967
|
overall: number;
|
|
1954
1968
|
title?: string;
|
|
1955
1969
|
top?: string;
|
|
1970
|
+
freshness?: DashReviewFreshness;
|
|
1956
1971
|
};
|
|
1957
1972
|
}
|
|
1958
1973
|
/**
|
|
@@ -1978,6 +1993,7 @@ export interface DashDbStatementLint {
|
|
|
1978
1993
|
overall?: number;
|
|
1979
1994
|
title?: string;
|
|
1980
1995
|
top?: string;
|
|
1996
|
+
freshness?: DashReviewFreshness;
|
|
1981
1997
|
};
|
|
1982
1998
|
/** The routes that ran it, newest first (`routes://lint` has their issues). */
|
|
1983
1999
|
routes: string[];
|
|
@@ -1999,7 +2015,7 @@ export interface DashRoutesLintStatement {
|
|
|
1999
2015
|
}
|
|
2000
2016
|
export interface DashRoutesLintIssue {
|
|
2001
2017
|
severity: 'error' | 'warning';
|
|
2002
|
-
rule: 'unnamed-sql' | 'review-hole' | 'credential-in-url' | 'stack-in-error' | 'review-below' | 'sql-review-below' | 'sql-loop' | 'get-writes';
|
|
2018
|
+
rule: 'unnamed-sql' | 'review-hole' | 'review-stale' | 'review-unverified' | 'credential-in-url' | 'stack-in-error' | 'review-below' | 'sql-review-below' | 'sql-loop' | 'get-writes';
|
|
2003
2019
|
/** The route's catalog id (`<service> <METHOD> <route>`), and its parts. */
|
|
2004
2020
|
route: string;
|
|
2005
2021
|
service: string;
|
|
@@ -2019,6 +2035,7 @@ export interface DashRoutesLintIssue {
|
|
|
2019
2035
|
overall?: number;
|
|
2020
2036
|
title?: string;
|
|
2021
2037
|
top?: string;
|
|
2038
|
+
freshness?: DashReviewFreshness;
|
|
2022
2039
|
low?: Array<{
|
|
2023
2040
|
id: string;
|
|
2024
2041
|
score: number;
|
|
@@ -2043,7 +2060,7 @@ export interface DashRoutesLint {
|
|
|
2043
2060
|
/** The routes the lint looked at, and how many have a route review. */
|
|
2044
2061
|
routes: number;
|
|
2045
2062
|
reviewed: number;
|
|
2046
|
-
/** Errors first, then warnings; the busiest first;
|
|
2063
|
+
/** Errors first, then warnings; the busiest first; complete list; large MCP answers are paged through result_query. */
|
|
2047
2064
|
issues: DashRoutesLintIssue[];
|
|
2048
2065
|
more: number;
|
|
2049
2066
|
/** Every route with an issue, and how many of each — none left out. */
|
|
@@ -2076,7 +2093,7 @@ export interface DashDbStatementStat {
|
|
|
2076
2093
|
hitRatio?: number;
|
|
2077
2094
|
}
|
|
2078
2095
|
export interface DashDbFinding {
|
|
2079
|
-
kind: 'unused-index' | 'duplicate-index' | 'invalid-index' | 'seq-scan' | 'dead-rows' | 'unindexed-foreign-key';
|
|
2096
|
+
kind: 'unused-index' | 'duplicate-index' | 'overlapping-index' | 'invalid-index' | 'seq-scan' | 'dead-rows' | 'unindexed-foreign-key';
|
|
2080
2097
|
severity: 'high' | 'medium' | 'low';
|
|
2081
2098
|
table: string;
|
|
2082
2099
|
index?: string;
|
|
@@ -2134,6 +2151,8 @@ export interface DashKvCommandRun {
|
|
|
2134
2151
|
key: string;
|
|
2135
2152
|
/** The command as sent, values sized or masked. */
|
|
2136
2153
|
command: string;
|
|
2154
|
+
/** Requested expiry semantics captured before redaction; absent on older events. Never contains values. */
|
|
2155
|
+
expiry?: 'set' | 'kept' | 'none' | 'unknown';
|
|
2137
2156
|
result?: 'hit' | 'miss';
|
|
2138
2157
|
durationMs?: number;
|
|
2139
2158
|
service: string;
|
|
@@ -2665,7 +2684,13 @@ export interface DashAiRanFirst {
|
|
|
2665
2684
|
why?: string;
|
|
2666
2685
|
}
|
|
2667
2686
|
/** A finished review as a list shows it: its overall score (under 70 a warning), when, and its run. */
|
|
2687
|
+
export interface DashReviewFreshness {
|
|
2688
|
+
state: 'current' | 'stale' | 'unknown';
|
|
2689
|
+
checkedAt?: number;
|
|
2690
|
+
why: string;
|
|
2691
|
+
}
|
|
2668
2692
|
export interface DashReviewMark {
|
|
2693
|
+
freshness?: DashReviewFreshness;
|
|
2669
2694
|
runId: string;
|
|
2670
2695
|
at: number;
|
|
2671
2696
|
overall?: number;
|
|
@@ -2880,7 +2905,7 @@ export interface DashSuggestions {
|
|
|
2880
2905
|
/** One issue of `kv://lint`: a Redis / Valkey key family against what a coding agent fixes. */
|
|
2881
2906
|
export interface DashKvLintIssue {
|
|
2882
2907
|
severity: 'error' | 'warning';
|
|
2883
|
-
rule: 'secret-in-key' | 'review-hole' | 'counter-unbounded' | 'no-expiry' | 'ttl-dropped' | 'persist' | 'oversized-value' | 'personal-data-in-key' | 'miss-heavy' | 'review-below';
|
|
2908
|
+
rule: 'secret-in-key' | 'review-hole' | 'review-stale' | 'review-unverified' | 'expiry-unverified' | 'counter-unbounded' | 'no-expiry' | 'ttl-dropped' | 'persist' | 'oversized-value' | 'personal-data-in-key' | 'miss-heavy' | 'review-below';
|
|
2884
2909
|
/** The key family: the pattern with its ids folded (`session:*`). */
|
|
2885
2910
|
pattern: string;
|
|
2886
2911
|
/** The commands the services sent against it (`GET`, `INCRBY` …), its runs, who sent them, when last. */
|
|
@@ -2898,6 +2923,7 @@ export interface DashKvLintIssue {
|
|
|
2898
2923
|
overall?: number;
|
|
2899
2924
|
title?: string;
|
|
2900
2925
|
top?: string;
|
|
2926
|
+
freshness?: DashReviewFreshness;
|
|
2901
2927
|
low?: Array<{
|
|
2902
2928
|
id: string;
|
|
2903
2929
|
score: number;
|
|
@@ -2920,7 +2946,7 @@ export interface DashKvLint {
|
|
|
2920
2946
|
families: number;
|
|
2921
2947
|
reviewed: number;
|
|
2922
2948
|
keysRead: boolean;
|
|
2923
|
-
/** Errors first, then warnings; the busiest first;
|
|
2949
|
+
/** Errors first, then warnings; the busiest first; complete list; large MCP answers are paged through result_query. */
|
|
2924
2950
|
issues: DashKvLintIssue[];
|
|
2925
2951
|
more: number;
|
|
2926
2952
|
/** Every family with an issue, and how many of each. */
|
|
@@ -2936,7 +2962,7 @@ export interface DashKvLint {
|
|
|
2936
2962
|
/** One issue of `queues://lint`: a BullMQ queue (or a family of per-run queues) against what a coding agent fixes. */
|
|
2937
2963
|
export interface DashQueuesLintIssue {
|
|
2938
2964
|
severity: 'error' | 'warning';
|
|
2939
|
-
rule: 'eviction' | 'no-worker' | 'failing-no-retry' | 'review-hole' | 'no-backoff' | 'retention-unbounded' | 'schedule-late' | 'stalls' | 'retries-exhausted' | 'paused-backlog' | 'review-below';
|
|
2965
|
+
rule: 'eviction' | 'no-worker' | 'failing-no-retry' | 'review-hole' | 'review-stale' | 'review-unverified' | 'no-backoff' | 'retention-unbounded' | 'schedule-late' | 'stalls' | 'retries-exhausted' | 'paused-backlog' | 'review-below';
|
|
2940
2966
|
/** `<store>/<db>/<queue>` — the queue the issue was read from (a family's busiest). */
|
|
2941
2967
|
queue: string;
|
|
2942
2968
|
name: string;
|
|
@@ -2953,6 +2979,7 @@ export interface DashQueuesLintIssue {
|
|
|
2953
2979
|
overall?: number;
|
|
2954
2980
|
title?: string;
|
|
2955
2981
|
top?: string;
|
|
2982
|
+
freshness?: DashReviewFreshness;
|
|
2956
2983
|
low?: Array<{
|
|
2957
2984
|
id: string;
|
|
2958
2985
|
score: number;
|