@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.
Files changed (2) hide show
  1. package/lib/dashboard.d.ts +35 -8
  2. package/package.json +1 -1
@@ -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; at most 60 (`more` says how many were left out). */
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; at most 80 (`more` says how many were left out). */
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; at most 80 (`more` says how many were left out). */
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lensmcp/protocol-types",
3
- "version": "1.25.22",
3
+ "version": "1.25.24",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "module": "./index.js",