@marinoscar/platform-contract 0.0.0-stage → 0.1.0-next.3

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 (134) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -0
  3. package/README.md +145 -2
  4. package/dist/cjs/doctor/constants.d.ts +59 -0
  5. package/dist/cjs/doctor/constants.d.ts.map +1 -0
  6. package/dist/cjs/doctor/constants.js +57 -0
  7. package/dist/cjs/doctor/constants.js.map +1 -0
  8. package/dist/cjs/doctor/index.d.ts +5 -0
  9. package/dist/cjs/doctor/index.d.ts.map +1 -0
  10. package/dist/cjs/doctor/index.js +24 -0
  11. package/dist/cjs/doctor/index.js.map +1 -0
  12. package/dist/cjs/doctor/schemas.d.ts +186 -0
  13. package/dist/cjs/doctor/schemas.d.ts.map +1 -0
  14. package/dist/cjs/doctor/schemas.js +183 -0
  15. package/dist/cjs/doctor/schemas.js.map +1 -0
  16. package/dist/cjs/index.d.ts +13 -0
  17. package/dist/cjs/index.d.ts.map +1 -0
  18. package/dist/cjs/index.js +16 -0
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/package.json +3 -0
  21. package/dist/cjs/telemetry/assistant.d.ts +173 -0
  22. package/dist/cjs/telemetry/assistant.d.ts.map +1 -0
  23. package/dist/cjs/telemetry/assistant.js +43 -0
  24. package/dist/cjs/telemetry/assistant.js.map +1 -0
  25. package/dist/cjs/telemetry/config.d.ts +92 -0
  26. package/dist/cjs/telemetry/config.d.ts.map +1 -0
  27. package/dist/cjs/telemetry/config.js +101 -0
  28. package/dist/cjs/telemetry/config.js.map +1 -0
  29. package/dist/cjs/telemetry/connection.d.ts +355 -0
  30. package/dist/cjs/telemetry/connection.d.ts.map +1 -0
  31. package/dist/cjs/telemetry/connection.js +451 -0
  32. package/dist/cjs/telemetry/connection.js.map +1 -0
  33. package/dist/cjs/telemetry/constants.d.ts +442 -0
  34. package/dist/cjs/telemetry/constants.d.ts.map +1 -0
  35. package/dist/cjs/telemetry/constants.js +400 -0
  36. package/dist/cjs/telemetry/constants.js.map +1 -0
  37. package/dist/cjs/telemetry/dashboard.d.ts +826 -0
  38. package/dist/cjs/telemetry/dashboard.d.ts.map +1 -0
  39. package/dist/cjs/telemetry/dashboard.js +697 -0
  40. package/dist/cjs/telemetry/dashboard.js.map +1 -0
  41. package/dist/cjs/telemetry/enum.d.ts +5 -0
  42. package/dist/cjs/telemetry/enum.d.ts.map +1 -0
  43. package/dist/cjs/telemetry/enum.js +12 -0
  44. package/dist/cjs/telemetry/enum.js.map +1 -0
  45. package/dist/cjs/telemetry/index.d.ts +5 -0
  46. package/dist/cjs/telemetry/index.d.ts.map +1 -0
  47. package/dist/cjs/telemetry/index.js +128 -0
  48. package/dist/cjs/telemetry/index.js.map +1 -0
  49. package/dist/cjs/telemetry/query.d.ts +147 -0
  50. package/dist/cjs/telemetry/query.d.ts.map +1 -0
  51. package/dist/cjs/telemetry/query.js +141 -0
  52. package/dist/cjs/telemetry/query.js.map +1 -0
  53. package/dist/cjs/telemetry/schemas.d.ts +17 -0
  54. package/dist/cjs/telemetry/schemas.d.ts.map +1 -0
  55. package/dist/cjs/telemetry/schemas.js +89 -0
  56. package/dist/cjs/telemetry/schemas.js.map +1 -0
  57. package/dist/cjs/telemetry/settings.d.ts +65 -0
  58. package/dist/cjs/telemetry/settings.d.ts.map +1 -0
  59. package/dist/cjs/telemetry/settings.js +77 -0
  60. package/dist/cjs/telemetry/settings.js.map +1 -0
  61. package/dist/cjs/telemetry/stack.d.ts +87 -0
  62. package/dist/cjs/telemetry/stack.d.ts.map +1 -0
  63. package/dist/cjs/telemetry/stack.js +93 -0
  64. package/dist/cjs/telemetry/stack.js.map +1 -0
  65. package/dist/cjs/telemetry/status.d.ts +65 -0
  66. package/dist/cjs/telemetry/status.d.ts.map +1 -0
  67. package/dist/cjs/telemetry/status.js +65 -0
  68. package/dist/cjs/telemetry/status.js.map +1 -0
  69. package/dist/esm/doctor/constants.d.ts +59 -0
  70. package/dist/esm/doctor/constants.d.ts.map +1 -0
  71. package/dist/esm/doctor/constants.js +54 -0
  72. package/dist/esm/doctor/constants.js.map +1 -0
  73. package/dist/esm/doctor/index.d.ts +5 -0
  74. package/dist/esm/doctor/index.d.ts.map +1 -0
  75. package/dist/esm/doctor/index.js +10 -0
  76. package/dist/esm/doctor/index.js.map +1 -0
  77. package/dist/esm/doctor/schemas.d.ts +186 -0
  78. package/dist/esm/doctor/schemas.d.ts.map +1 -0
  79. package/dist/esm/doctor/schemas.js +180 -0
  80. package/dist/esm/doctor/schemas.js.map +1 -0
  81. package/dist/esm/index.d.ts +13 -0
  82. package/dist/esm/index.d.ts.map +1 -0
  83. package/dist/esm/index.js +13 -0
  84. package/dist/esm/index.js.map +1 -0
  85. package/dist/esm/package.json +3 -0
  86. package/dist/esm/telemetry/assistant.d.ts +173 -0
  87. package/dist/esm/telemetry/assistant.d.ts.map +1 -0
  88. package/dist/esm/telemetry/assistant.js +40 -0
  89. package/dist/esm/telemetry/assistant.js.map +1 -0
  90. package/dist/esm/telemetry/config.d.ts +92 -0
  91. package/dist/esm/telemetry/config.d.ts.map +1 -0
  92. package/dist/esm/telemetry/config.js +98 -0
  93. package/dist/esm/telemetry/config.js.map +1 -0
  94. package/dist/esm/telemetry/connection.d.ts +355 -0
  95. package/dist/esm/telemetry/connection.d.ts.map +1 -0
  96. package/dist/esm/telemetry/connection.js +447 -0
  97. package/dist/esm/telemetry/connection.js.map +1 -0
  98. package/dist/esm/telemetry/constants.d.ts +442 -0
  99. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  100. package/dist/esm/telemetry/constants.js +397 -0
  101. package/dist/esm/telemetry/constants.js.map +1 -0
  102. package/dist/esm/telemetry/dashboard.d.ts +826 -0
  103. package/dist/esm/telemetry/dashboard.d.ts.map +1 -0
  104. package/dist/esm/telemetry/dashboard.js +690 -0
  105. package/dist/esm/telemetry/dashboard.js.map +1 -0
  106. package/dist/esm/telemetry/enum.d.ts +5 -0
  107. package/dist/esm/telemetry/enum.d.ts.map +1 -0
  108. package/dist/esm/telemetry/enum.js +9 -0
  109. package/dist/esm/telemetry/enum.js.map +1 -0
  110. package/dist/esm/telemetry/index.d.ts +5 -0
  111. package/dist/esm/telemetry/index.d.ts.map +1 -0
  112. package/dist/esm/telemetry/index.js +10 -0
  113. package/dist/esm/telemetry/index.js.map +1 -0
  114. package/dist/esm/telemetry/query.d.ts +147 -0
  115. package/dist/esm/telemetry/query.d.ts.map +1 -0
  116. package/dist/esm/telemetry/query.js +138 -0
  117. package/dist/esm/telemetry/query.js.map +1 -0
  118. package/dist/esm/telemetry/schemas.d.ts +17 -0
  119. package/dist/esm/telemetry/schemas.d.ts.map +1 -0
  120. package/dist/esm/telemetry/schemas.js +12 -0
  121. package/dist/esm/telemetry/schemas.js.map +1 -0
  122. package/dist/esm/telemetry/settings.d.ts +65 -0
  123. package/dist/esm/telemetry/settings.d.ts.map +1 -0
  124. package/dist/esm/telemetry/settings.js +74 -0
  125. package/dist/esm/telemetry/settings.js.map +1 -0
  126. package/dist/esm/telemetry/stack.d.ts +87 -0
  127. package/dist/esm/telemetry/stack.d.ts.map +1 -0
  128. package/dist/esm/telemetry/stack.js +90 -0
  129. package/dist/esm/telemetry/stack.js.map +1 -0
  130. package/dist/esm/telemetry/status.d.ts +65 -0
  131. package/dist/esm/telemetry/status.d.ts.map +1 -0
  132. package/dist/esm/telemetry/status.js +62 -0
  133. package/dist/esm/telemetry/status.js.map +1 -0
  134. package/package.json +78 -4
@@ -0,0 +1,400 @@
1
+ "use strict";
2
+ // The telemetry slice's plain values (issue #702). Zod-free by rule: a browser
3
+ // that only needs a limit, an enum list or a type never pulls the schemas, and
4
+ // with them zod, into its bundle (test/no-zod-in-constants.test.ts).
5
+ //
6
+ // Every number and list here is the one the schemas validate with: the
7
+ // schemas import them, so a limit cannot drift between what the API enforces
8
+ // and what the web form offers. Moved verbatim from the API's DTO files and
9
+ // the web's hand-written mirrors; no value changed.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.TELEMETRY_ASSISTANT_CONFIDENCES = exports.TELEMETRY_ASSISTANT_SEVERITIES = exports.TELEMETRY_ASSISTANT_REPORT_STATUSES = exports.TELEMETRY_ASSISTANT_TOOLS = exports.TELEMETRY_ASSISTANT_TURN_ROLES = exports.TELEMETRY_ASSISTANT_HISTORY_CONTENT_MAX = exports.TELEMETRY_ASSISTANT_HISTORY_MAX_TURNS = exports.TELEMETRY_ASSISTANT_QUESTION_MAX = exports.PLATFORM_METRIC_GROUPS = exports.METRIC_GROUP_ID_PATTERN = exports.METRIC_UNITS = exports.VERDICT_LEVELS = exports.DASHBOARD_TOP_KINDS = exports.DASHBOARD_PANELS = exports.DASHBOARD_EVENT_SEVERITIES = exports.DASHBOARD_SEARCH_MAX_LENGTH = exports.DASHBOARD_CURSOR_MAX = exports.DASHBOARD_FILTER_VALUE_MAX = exports.DASHBOARD_BUCKET_COUNTS = exports.DASHBOARD_FUTURE_SKEW_MS = exports.DASHBOARD_MAX_SPAN_MS = exports.DEFAULT_DASHBOARD_RANGE = exports.DASHBOARD_RANGE_MS = exports.DASHBOARD_RANGES = exports.TELEMETRY_STACK_DEPLOY_STATUSES = exports.TELEMETRY_STACK_SERVICE_HEALTH = exports.TELEMETRY_STACK_SERVICE_STATES = exports.TELEMETRY_STACK_AGENT_STATES = exports.TELEMETRY_HOSTNAME_PATTERN = exports.TELEMETRY_DATABASE_PATTERN = exports.TELEMETRY_CONNECTION_DEFAULTS = exports.TELEMETRY_CONNECTION_HOST_MODES = exports.TELEMETRY_CONNECTION_SOURCES = exports.TELEMETRY_EXPORT_FORMATS = exports.TELEMETRY_SEMANTIC_TYPES = exports.TELEMETRY_COLUMN_TYPES = exports.TELEMETRY_QUERY_MAX_ROWS_CEILING = exports.TELEMETRY_SQL_MAX_LENGTH = exports.TELEMETRY_LIMITS = exports.TELEMETRY_INSTANCE_ID_PATTERN = void 0;
12
+ // =============================================================================
13
+ // Settings (`telemetry` system-settings namespace)
14
+ // =============================================================================
15
+ /**
16
+ * `telemetry.instanceId`: 1-63 characters, lowercase letters, digits, `.`,
17
+ * `_` or `-`, starting with a letter or digit (a DNS label's bound, valid
18
+ * unquoted in a PromQL matcher and a SQL literal alike).
19
+ *
20
+ * @stability stable
21
+ */
22
+ exports.TELEMETRY_INSTANCE_ID_PATTERN = /^[a-z0-9][a-z0-9._-]{0,62}$/;
23
+ /**
24
+ * The inclusive bounds of every numeric `telemetry` setting:
25
+ * `retentionDays`, `query.maxRows`, `query.timeoutSeconds`,
26
+ * `assistant.maxResultRowsToModel` and `assistant.maxSteps`. The settings
27
+ * schema is built from these numbers.
28
+ *
29
+ * @stability stable
30
+ */
31
+ exports.TELEMETRY_LIMITS = {
32
+ /** `retentionDays`, in days. */
33
+ retentionDays: {
34
+ /** Fewest accepted. */
35
+ min: 1,
36
+ /** Most accepted. */
37
+ max: 3650,
38
+ },
39
+ /** `query.maxRows`, in rows. */
40
+ maxRows: {
41
+ /** Fewest accepted. */
42
+ min: 1,
43
+ /** Most accepted. */
44
+ max: 100000,
45
+ },
46
+ /** `query.timeoutSeconds`, in seconds. */
47
+ timeoutSeconds: {
48
+ /** Fewest accepted. */
49
+ min: 1,
50
+ /** Most accepted. */
51
+ max: 120,
52
+ },
53
+ /** `assistant.maxResultRowsToModel`, in rows. */
54
+ maxResultRowsToModel: {
55
+ /** Fewest accepted. */
56
+ min: 1,
57
+ /** Most accepted. */
58
+ max: 100,
59
+ },
60
+ /** `assistant.maxSteps`, in tool-call rounds (the AI runtime's own loop ceiling). */
61
+ maxSteps: {
62
+ /** Fewest accepted. */
63
+ min: 1,
64
+ /** Most accepted. */
65
+ max: 20,
66
+ },
67
+ };
68
+ // =============================================================================
69
+ // Explorer (`/api/admin/telemetry/query`, `/schema`, `/export`)
70
+ // =============================================================================
71
+ /**
72
+ * The longest SQL text `POST /api/admin/telemetry/query` and `/export`
73
+ * accept. Telemetry queries are hand-written or model-written, never
74
+ * generated in bulk.
75
+ *
76
+ * @stability stable
77
+ */
78
+ exports.TELEMETRY_SQL_MAX_LENGTH = 20_000;
79
+ /**
80
+ * The absolute ceiling a query's `maxRows` may ask for; the
81
+ * `telemetry.query.maxRows` setting clamps it further.
82
+ *
83
+ * @stability stable
84
+ */
85
+ exports.TELEMETRY_QUERY_MAX_ROWS_CEILING = 100_000;
86
+ /**
87
+ * The simplified PostgreSQL-wire type of a query result column. `int8` and
88
+ * `numeric` values arrive as strings, `timestamp`/`date`/`time` as the
89
+ * server's text, `json` parsed and `bytea` as base64.
90
+ *
91
+ * @stability stable
92
+ */
93
+ exports.TELEMETRY_COLUMN_TYPES = [
94
+ 'bool',
95
+ 'int2',
96
+ 'int4',
97
+ 'int8',
98
+ 'float4',
99
+ 'float8',
100
+ 'numeric',
101
+ 'text',
102
+ 'bytea',
103
+ 'date',
104
+ 'time',
105
+ 'timestamp',
106
+ 'json',
107
+ 'unknown',
108
+ ];
109
+ /**
110
+ * GreptimeDB's role for a schema column, as `GET /api/admin/telemetry/schema`
111
+ * reports it in `semanticType` (which is typed as a string on the wire).
112
+ *
113
+ * @stability stable
114
+ */
115
+ exports.TELEMETRY_SEMANTIC_TYPES = ['TAG', 'FIELD', 'TIMESTAMP'];
116
+ /**
117
+ * The formats `POST /api/admin/telemetry/export` produces, in the order the
118
+ * wire enum has always listed them. A menu that wants another order keeps its
119
+ * own display list over this one.
120
+ *
121
+ * @stability stable
122
+ */
123
+ exports.TELEMETRY_EXPORT_FORMATS = ['csv', 'ndjson', 'xlsx', 'parquet'];
124
+ // =============================================================================
125
+ // GreptimeDB connection (`/api/admin/telemetry/connection`)
126
+ // =============================================================================
127
+ /**
128
+ * Where the connection in force comes from: `stored` (saved on the admin
129
+ * page), `environment` (the deployment's own GreptimeDB) or `none`.
130
+ *
131
+ * @stability stable
132
+ */
133
+ exports.TELEMETRY_CONNECTION_SOURCES = ['stored', 'environment', 'none'];
134
+ /**
135
+ * `auto`: the GreptimeDB deployed with the application; `custom`: a host an
136
+ * administrator chose.
137
+ *
138
+ * @stability stable
139
+ */
140
+ exports.TELEMETRY_CONNECTION_HOST_MODES = ['auto', 'custom'];
141
+ /**
142
+ * GreptimeDB's Postgres-wire port and database when nothing says otherwise:
143
+ * what a custom connection that omits them gets.
144
+ *
145
+ * @stability stable
146
+ */
147
+ exports.TELEMETRY_CONNECTION_DEFAULTS = {
148
+ /** GreptimeDB's Postgres-wire default port. */
149
+ pgPort: 4003,
150
+ /** GreptimeDB's default database. */
151
+ database: 'public',
152
+ };
153
+ /**
154
+ * A connection's database name: a plain identifier, because retention
155
+ * interpolates it unquoted into `ALTER DATABASE`.
156
+ *
157
+ * @stability stable
158
+ */
159
+ exports.TELEMETRY_DATABASE_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
160
+ /**
161
+ * A connection's hostname: RFC 1123 labels, plus `_` (Docker Compose service
162
+ * names use it). No scheme, port or path. An IP address is accepted
163
+ * separately.
164
+ *
165
+ * @stability stable
166
+ */
167
+ exports.TELEMETRY_HOSTNAME_PATTERN = /^[A-Za-z0-9_](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?(?:\.[A-Za-z0-9_](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)*$/;
168
+ // =============================================================================
169
+ // Telemetry services (`/api/admin/telemetry/stack`)
170
+ // =============================================================================
171
+ /**
172
+ * Whether the API can reach the deployment agent that manages the telemetry
173
+ * containers: `available`, `unavailable` (configured, not reachable),
174
+ * `unauthorized` (it refused the API's token) or `not_configured`.
175
+ *
176
+ * @stability stable
177
+ */
178
+ exports.TELEMETRY_STACK_AGENT_STATES = ['available', 'unavailable', 'unauthorized', 'not_configured'];
179
+ /**
180
+ * A telemetry container's state, as the deployment agent reports it;
181
+ * `missing` when it has never been created.
182
+ *
183
+ * @stability stable
184
+ */
185
+ exports.TELEMETRY_STACK_SERVICE_STATES = [
186
+ 'running',
187
+ 'restarting',
188
+ 'exited',
189
+ 'created',
190
+ 'paused',
191
+ 'dead',
192
+ 'missing',
193
+ ];
194
+ /**
195
+ * A telemetry container's health check result (absent, `null`, when it has
196
+ * none or is not running).
197
+ *
198
+ * @stability stable
199
+ */
200
+ exports.TELEMETRY_STACK_SERVICE_HEALTH = ['healthy', 'unhealthy', 'starting'];
201
+ /**
202
+ * The status of the latest stack deploy job: the queue's own statuses.
203
+ *
204
+ * @stability stable
205
+ */
206
+ exports.TELEMETRY_STACK_DEPLOY_STATUSES = ['pending', 'running', 'succeeded', 'failed'];
207
+ // =============================================================================
208
+ // Dashboard (`/api/admin/telemetry/dashboard/*`)
209
+ // =============================================================================
210
+ /**
211
+ * The relative windows every dashboard route accepts as `range`.
212
+ *
213
+ * @stability stable
214
+ */
215
+ exports.DASHBOARD_RANGES = ['15m', '1h', '6h', '24h', '7d'];
216
+ /**
217
+ * The length of each {@link DASHBOARD_RANGES} window, in milliseconds.
218
+ *
219
+ * @stability stable
220
+ */
221
+ exports.DASHBOARD_RANGE_MS = {
222
+ /** 15 minutes. */
223
+ '15m': 15 * 60_000,
224
+ /** 1 hour. */
225
+ '1h': 60 * 60_000,
226
+ /** 6 hours. */
227
+ '6h': 6 * 60 * 60_000,
228
+ /** 24 hours. */
229
+ '24h': 24 * 60 * 60_000,
230
+ /** 7 days. */
231
+ '7d': 7 * 24 * 60 * 60_000,
232
+ };
233
+ /**
234
+ * The window a dashboard route reads when the query names none.
235
+ *
236
+ * @stability stable
237
+ */
238
+ exports.DEFAULT_DASHBOARD_RANGE = '1h';
239
+ /**
240
+ * The longest absolute window (`from` to `to`) a dashboard route accepts: 30 days.
241
+ *
242
+ * @stability stable
243
+ */
244
+ exports.DASHBOARD_MAX_SPAN_MS = 30 * 24 * 60 * 60_000;
245
+ /**
246
+ * How far past now `to` may be (clock skew between browser and server): 1 minute.
247
+ *
248
+ * @stability stable
249
+ */
250
+ exports.DASHBOARD_FUTURE_SKEW_MS = 60_000;
251
+ /**
252
+ * The target bucket counts a dashboard route accepts as `buckets` (strings:
253
+ * every query value arrives as one).
254
+ *
255
+ * @stability stable
256
+ */
257
+ exports.DASHBOARD_BUCKET_COUNTS = ['30', '60'];
258
+ /**
259
+ * The longest `service`, `instance` or `host` filter value.
260
+ *
261
+ * @stability stable
262
+ */
263
+ exports.DASHBOARD_FILTER_VALUE_MAX = 200;
264
+ /**
265
+ * The longest `cursor` the events route accepts.
266
+ *
267
+ * @stability stable
268
+ */
269
+ exports.DASHBOARD_CURSOR_MAX = 512;
270
+ /**
271
+ * The longest `q` (log body search) the events route accepts.
272
+ *
273
+ * @stability stable
274
+ */
275
+ exports.DASHBOARD_SEARCH_MAX_LENGTH = 200;
276
+ /**
277
+ * The severities the events route filters on, in `severity`'s comma list.
278
+ *
279
+ * @stability stable
280
+ */
281
+ exports.DASHBOARD_EVENT_SEVERITIES = ['error', 'warn', 'info'];
282
+ /**
283
+ * The `timeseries` route's panels: `api` (status classes, p95) or `logs`
284
+ * (severity bands).
285
+ *
286
+ * @stability stable
287
+ */
288
+ exports.DASHBOARD_PANELS = ['api', 'logs'];
289
+ /**
290
+ * The `top` route's kinds: `routes` (by 5xx, then 4xx except 401, then p95)
291
+ * or `errors` (log messages).
292
+ *
293
+ * @stability stable
294
+ */
295
+ exports.DASHBOARD_TOP_KINDS = ['routes', 'errors'];
296
+ /**
297
+ * The summary's overall verdict levels, in increasing severity, `no_data`
298
+ * last.
299
+ *
300
+ * @stability stable
301
+ */
302
+ exports.VERDICT_LEVELS = ['healthy', 'degraded', 'critical', 'no_data'];
303
+ /**
304
+ * The display units of metric tiles, series and table columns (`/metrics`).
305
+ *
306
+ * @stability stable
307
+ */
308
+ exports.METRIC_UNITS = [
309
+ '%',
310
+ 'bytes',
311
+ 'bytes/s',
312
+ 'count',
313
+ 'per_s',
314
+ 'per_min',
315
+ 'ms',
316
+ 'seconds',
317
+ 'hours',
318
+ 'days',
319
+ 'cores',
320
+ 'load',
321
+ 'timestamp',
322
+ 'text',
323
+ 'boolean',
324
+ ];
325
+ /**
326
+ * The pattern every metric group id matches (lower snake case). Group ids are
327
+ * an open set: the platform registers six, an app may register more.
328
+ *
329
+ * @stability stable
330
+ */
331
+ exports.METRIC_GROUP_ID_PATTERN = /^[a-z][a-z0-9_]*$/;
332
+ /**
333
+ * The metric groups the platform itself registers, in dashboard order. The
334
+ * live set is whatever `GET /api/admin/telemetry/dashboard/metric-groups`
335
+ * lists.
336
+ *
337
+ * @stability stable
338
+ */
339
+ exports.PLATFORM_METRIC_GROUPS = ['host', 'database', 'queue', 'nodes', 'uptime', 'pipeline'];
340
+ // =============================================================================
341
+ // Assistant (`/api/admin/telemetry/assistant/stream`)
342
+ // =============================================================================
343
+ /**
344
+ * The longest question the assistant accepts, in characters (after trimming).
345
+ *
346
+ * @stability stable
347
+ */
348
+ exports.TELEMETRY_ASSISTANT_QUESTION_MAX = 4_000;
349
+ /**
350
+ * The most earlier turns a request may carry in `history`.
351
+ *
352
+ * @stability stable
353
+ */
354
+ exports.TELEMETRY_ASSISTANT_HISTORY_MAX_TURNS = 20;
355
+ /**
356
+ * The longest `content` of one `history` turn, in characters.
357
+ *
358
+ * @stability stable
359
+ */
360
+ exports.TELEMETRY_ASSISTANT_HISTORY_CONTENT_MAX = 8_000;
361
+ /**
362
+ * Who wrote a `history` turn.
363
+ *
364
+ * @stability stable
365
+ */
366
+ exports.TELEMETRY_ASSISTANT_TURN_ROLES = ['user', 'assistant'];
367
+ /**
368
+ * The tools the assistant may call; each `step` event names one.
369
+ *
370
+ * @stability stable
371
+ */
372
+ exports.TELEMETRY_ASSISTANT_TOOLS = [
373
+ 'list_tables',
374
+ 'describe_table',
375
+ 'run_query',
376
+ 'get_app_context',
377
+ 'health_overview',
378
+ 'get_trace',
379
+ 'metrics_overview',
380
+ 'compare_nodes',
381
+ ];
382
+ /**
383
+ * The outcome of an investigation, in its report's `status`.
384
+ *
385
+ * @stability stable
386
+ */
387
+ exports.TELEMETRY_ASSISTANT_REPORT_STATUSES = ['issue_found', 'no_issue_found', 'inconclusive', 'no_data'];
388
+ /**
389
+ * A report finding's severity, most severe first.
390
+ *
391
+ * @stability stable
392
+ */
393
+ exports.TELEMETRY_ASSISTANT_SEVERITIES = ['critical', 'high', 'medium', 'low', 'info'];
394
+ /**
395
+ * How sure a report is of its root cause.
396
+ *
397
+ * @stability stable
398
+ */
399
+ exports.TELEMETRY_ASSISTANT_CONFIDENCES = ['high', 'medium', 'low'];
400
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/telemetry/constants.ts"],"names":[],"mappings":"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"}