@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.
- package/CHANGELOG.md +33 -0
- package/LICENSE +21 -0
- package/README.md +145 -2
- package/dist/cjs/doctor/constants.d.ts +59 -0
- package/dist/cjs/doctor/constants.d.ts.map +1 -0
- package/dist/cjs/doctor/constants.js +57 -0
- package/dist/cjs/doctor/constants.js.map +1 -0
- package/dist/cjs/doctor/index.d.ts +5 -0
- package/dist/cjs/doctor/index.d.ts.map +1 -0
- package/dist/cjs/doctor/index.js +24 -0
- package/dist/cjs/doctor/index.js.map +1 -0
- package/dist/cjs/doctor/schemas.d.ts +186 -0
- package/dist/cjs/doctor/schemas.d.ts.map +1 -0
- package/dist/cjs/doctor/schemas.js +183 -0
- package/dist/cjs/doctor/schemas.js.map +1 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/telemetry/assistant.d.ts +173 -0
- package/dist/cjs/telemetry/assistant.d.ts.map +1 -0
- package/dist/cjs/telemetry/assistant.js +43 -0
- package/dist/cjs/telemetry/assistant.js.map +1 -0
- package/dist/cjs/telemetry/config.d.ts +92 -0
- package/dist/cjs/telemetry/config.d.ts.map +1 -0
- package/dist/cjs/telemetry/config.js +101 -0
- package/dist/cjs/telemetry/config.js.map +1 -0
- package/dist/cjs/telemetry/connection.d.ts +355 -0
- package/dist/cjs/telemetry/connection.d.ts.map +1 -0
- package/dist/cjs/telemetry/connection.js +451 -0
- package/dist/cjs/telemetry/connection.js.map +1 -0
- package/dist/cjs/telemetry/constants.d.ts +442 -0
- package/dist/cjs/telemetry/constants.d.ts.map +1 -0
- package/dist/cjs/telemetry/constants.js +400 -0
- package/dist/cjs/telemetry/constants.js.map +1 -0
- package/dist/cjs/telemetry/dashboard.d.ts +826 -0
- package/dist/cjs/telemetry/dashboard.d.ts.map +1 -0
- package/dist/cjs/telemetry/dashboard.js +697 -0
- package/dist/cjs/telemetry/dashboard.js.map +1 -0
- package/dist/cjs/telemetry/enum.d.ts +5 -0
- package/dist/cjs/telemetry/enum.d.ts.map +1 -0
- package/dist/cjs/telemetry/enum.js +12 -0
- package/dist/cjs/telemetry/enum.js.map +1 -0
- package/dist/cjs/telemetry/index.d.ts +5 -0
- package/dist/cjs/telemetry/index.d.ts.map +1 -0
- package/dist/cjs/telemetry/index.js +128 -0
- package/dist/cjs/telemetry/index.js.map +1 -0
- package/dist/cjs/telemetry/query.d.ts +147 -0
- package/dist/cjs/telemetry/query.d.ts.map +1 -0
- package/dist/cjs/telemetry/query.js +141 -0
- package/dist/cjs/telemetry/query.js.map +1 -0
- package/dist/cjs/telemetry/schemas.d.ts +17 -0
- package/dist/cjs/telemetry/schemas.d.ts.map +1 -0
- package/dist/cjs/telemetry/schemas.js +89 -0
- package/dist/cjs/telemetry/schemas.js.map +1 -0
- package/dist/cjs/telemetry/settings.d.ts +65 -0
- package/dist/cjs/telemetry/settings.d.ts.map +1 -0
- package/dist/cjs/telemetry/settings.js +77 -0
- package/dist/cjs/telemetry/settings.js.map +1 -0
- package/dist/cjs/telemetry/stack.d.ts +87 -0
- package/dist/cjs/telemetry/stack.d.ts.map +1 -0
- package/dist/cjs/telemetry/stack.js +93 -0
- package/dist/cjs/telemetry/stack.js.map +1 -0
- package/dist/cjs/telemetry/status.d.ts +65 -0
- package/dist/cjs/telemetry/status.d.ts.map +1 -0
- package/dist/cjs/telemetry/status.js +65 -0
- package/dist/cjs/telemetry/status.js.map +1 -0
- package/dist/esm/doctor/constants.d.ts +59 -0
- package/dist/esm/doctor/constants.d.ts.map +1 -0
- package/dist/esm/doctor/constants.js +54 -0
- package/dist/esm/doctor/constants.js.map +1 -0
- package/dist/esm/doctor/index.d.ts +5 -0
- package/dist/esm/doctor/index.d.ts.map +1 -0
- package/dist/esm/doctor/index.js +10 -0
- package/dist/esm/doctor/index.js.map +1 -0
- package/dist/esm/doctor/schemas.d.ts +186 -0
- package/dist/esm/doctor/schemas.d.ts.map +1 -0
- package/dist/esm/doctor/schemas.js +180 -0
- package/dist/esm/doctor/schemas.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/telemetry/assistant.d.ts +173 -0
- package/dist/esm/telemetry/assistant.d.ts.map +1 -0
- package/dist/esm/telemetry/assistant.js +40 -0
- package/dist/esm/telemetry/assistant.js.map +1 -0
- package/dist/esm/telemetry/config.d.ts +92 -0
- package/dist/esm/telemetry/config.d.ts.map +1 -0
- package/dist/esm/telemetry/config.js +98 -0
- package/dist/esm/telemetry/config.js.map +1 -0
- package/dist/esm/telemetry/connection.d.ts +355 -0
- package/dist/esm/telemetry/connection.d.ts.map +1 -0
- package/dist/esm/telemetry/connection.js +447 -0
- package/dist/esm/telemetry/connection.js.map +1 -0
- package/dist/esm/telemetry/constants.d.ts +442 -0
- package/dist/esm/telemetry/constants.d.ts.map +1 -0
- package/dist/esm/telemetry/constants.js +397 -0
- package/dist/esm/telemetry/constants.js.map +1 -0
- package/dist/esm/telemetry/dashboard.d.ts +826 -0
- package/dist/esm/telemetry/dashboard.d.ts.map +1 -0
- package/dist/esm/telemetry/dashboard.js +690 -0
- package/dist/esm/telemetry/dashboard.js.map +1 -0
- package/dist/esm/telemetry/enum.d.ts +5 -0
- package/dist/esm/telemetry/enum.d.ts.map +1 -0
- package/dist/esm/telemetry/enum.js +9 -0
- package/dist/esm/telemetry/enum.js.map +1 -0
- package/dist/esm/telemetry/index.d.ts +5 -0
- package/dist/esm/telemetry/index.d.ts.map +1 -0
- package/dist/esm/telemetry/index.js +10 -0
- package/dist/esm/telemetry/index.js.map +1 -0
- package/dist/esm/telemetry/query.d.ts +147 -0
- package/dist/esm/telemetry/query.d.ts.map +1 -0
- package/dist/esm/telemetry/query.js +138 -0
- package/dist/esm/telemetry/query.js.map +1 -0
- package/dist/esm/telemetry/schemas.d.ts +17 -0
- package/dist/esm/telemetry/schemas.d.ts.map +1 -0
- package/dist/esm/telemetry/schemas.js +12 -0
- package/dist/esm/telemetry/schemas.js.map +1 -0
- package/dist/esm/telemetry/settings.d.ts +65 -0
- package/dist/esm/telemetry/settings.d.ts.map +1 -0
- package/dist/esm/telemetry/settings.js +74 -0
- package/dist/esm/telemetry/settings.js.map +1 -0
- package/dist/esm/telemetry/stack.d.ts +87 -0
- package/dist/esm/telemetry/stack.d.ts.map +1 -0
- package/dist/esm/telemetry/stack.js +90 -0
- package/dist/esm/telemetry/stack.js.map +1 -0
- package/dist/esm/telemetry/status.d.ts +65 -0
- package/dist/esm/telemetry/status.d.ts.map +1 -0
- package/dist/esm/telemetry/status.js +62 -0
- package/dist/esm/telemetry/status.js.map +1 -0
- package/package.json +78 -4
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type TelemetryAssistantConfidence, type TelemetryAssistantReportStatus, type TelemetryAssistantSeverity, type TelemetryAssistantToolName } from './constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* One earlier turn of the conversation: `role` (`user` or `assistant`) and
|
|
5
|
+
* `content` (at most {@link TELEMETRY_ASSISTANT_HISTORY_CONTENT_MAX} characters).
|
|
6
|
+
*
|
|
7
|
+
* @extensionPoint schema
|
|
8
|
+
* @stability stable
|
|
9
|
+
*/
|
|
10
|
+
export declare const telemetryAssistantTurnSchema: z.ZodObject<{
|
|
11
|
+
role: z.ZodEnum<import("./constants.js").TelemetryEnumEntries<"user" | "assistant">>;
|
|
12
|
+
content: z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
/**
|
|
15
|
+
* One earlier turn of the conversation.
|
|
16
|
+
*
|
|
17
|
+
* @stability stable
|
|
18
|
+
*/
|
|
19
|
+
export type TelemetryAssistantTurn = z.infer<typeof telemetryAssistantTurnSchema>;
|
|
20
|
+
/**
|
|
21
|
+
* `POST /api/admin/telemetry/assistant/stream` body: `question` (trimmed,
|
|
22
|
+
* 1..{@link TELEMETRY_ASSISTANT_QUESTION_MAX} characters) and an optional
|
|
23
|
+
* `history` (oldest first, at most {@link TELEMETRY_ASSISTANT_HISTORY_MAX_TURNS}).
|
|
24
|
+
*
|
|
25
|
+
* @extensionPoint schema
|
|
26
|
+
* @stability stable
|
|
27
|
+
*/
|
|
28
|
+
export declare const telemetryAssistantRequestSchema: z.ZodObject<{
|
|
29
|
+
question: z.ZodString;
|
|
30
|
+
history: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
31
|
+
role: z.ZodEnum<import("./constants.js").TelemetryEnumEntries<"user" | "assistant">>;
|
|
32
|
+
content: z.ZodString;
|
|
33
|
+
}, z.core.$strip>>>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
/**
|
|
36
|
+
* The `POST /api/admin/telemetry/assistant/stream` body.
|
|
37
|
+
*
|
|
38
|
+
* @stability stable
|
|
39
|
+
*/
|
|
40
|
+
export type TelemetryAssistantRequest = z.infer<typeof telemetryAssistantRequestSchema>;
|
|
41
|
+
/**
|
|
42
|
+
* `event: step` — one tool call the assistant made.
|
|
43
|
+
*
|
|
44
|
+
* @stability stable
|
|
45
|
+
*/
|
|
46
|
+
export interface TelemetryAssistantStepEvent {
|
|
47
|
+
/** 0-based, across the whole turn. */
|
|
48
|
+
index: number;
|
|
49
|
+
/** The tool called. */
|
|
50
|
+
tool: TelemetryAssistantToolName;
|
|
51
|
+
/** `group` is `metrics_overview`'s metric group (#603). */
|
|
52
|
+
input?: {
|
|
53
|
+
/** `describe_table`: the table. */
|
|
54
|
+
table?: string;
|
|
55
|
+
/** `run_query`: the statement. */
|
|
56
|
+
sql?: string;
|
|
57
|
+
/** The window an overview tool looked at. */
|
|
58
|
+
window?: string;
|
|
59
|
+
/** `get_trace`: the trace. */
|
|
60
|
+
traceId?: string;
|
|
61
|
+
/** `metrics_overview`: the metric group. */
|
|
62
|
+
group?: string;
|
|
63
|
+
};
|
|
64
|
+
/** `run_query` / `get_trace` only: rows the call returned (up to the row cap). */
|
|
65
|
+
rowCount?: number;
|
|
66
|
+
/** `run_query` / `get_trace` only: more rows matched than the row cap allowed. */
|
|
67
|
+
truncated?: boolean;
|
|
68
|
+
/** Wall time of the call. */
|
|
69
|
+
durationMs: number;
|
|
70
|
+
/** Why the call failed; the model was told the same and may retry. */
|
|
71
|
+
error?: string;
|
|
72
|
+
/** The model's interim reasoning for the round this call belongs to; only on the FIRST call of a round. Bounded to 1000 chars. */
|
|
73
|
+
thought?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* One finding of a report.
|
|
77
|
+
*
|
|
78
|
+
* @stability stable
|
|
79
|
+
*/
|
|
80
|
+
export interface TelemetryAssistantFinding {
|
|
81
|
+
/** One line naming the finding. */
|
|
82
|
+
title: string;
|
|
83
|
+
/** How bad it is. */
|
|
84
|
+
severity: TelemetryAssistantSeverity;
|
|
85
|
+
/** What in the data shows it. */
|
|
86
|
+
evidence: string;
|
|
87
|
+
/** Index into `report.queries` of the query that shows this finding. */
|
|
88
|
+
queryIndex?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* A supporting query of a report, which the user can re-run.
|
|
92
|
+
*
|
|
93
|
+
* @stability stable
|
|
94
|
+
*/
|
|
95
|
+
export interface TelemetryAssistantQuery {
|
|
96
|
+
/** What the query shows. */
|
|
97
|
+
title: string;
|
|
98
|
+
/** The statement. */
|
|
99
|
+
sql: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The investigation's structured result.
|
|
103
|
+
*
|
|
104
|
+
* @stability stable
|
|
105
|
+
*/
|
|
106
|
+
export interface TelemetryAssistantReport {
|
|
107
|
+
/** The outcome. */
|
|
108
|
+
status: TelemetryAssistantReportStatus;
|
|
109
|
+
/** A short summary. */
|
|
110
|
+
summary: string;
|
|
111
|
+
/** What was found, most important first. */
|
|
112
|
+
findings: TelemetryAssistantFinding[];
|
|
113
|
+
/** The root cause, or null when none was established. */
|
|
114
|
+
rootCause: string | null;
|
|
115
|
+
/** How sure the report is. */
|
|
116
|
+
confidence: TelemetryAssistantConfidence;
|
|
117
|
+
/** What to do next. */
|
|
118
|
+
recommendations: string[];
|
|
119
|
+
/** Supporting queries the user can re-run (at most 5); the first is the most useful. */
|
|
120
|
+
queries: TelemetryAssistantQuery[];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* `event: answer` — the final answer.
|
|
124
|
+
*
|
|
125
|
+
* @stability stable
|
|
126
|
+
*/
|
|
127
|
+
export interface TelemetryAssistantAnswerEvent {
|
|
128
|
+
/** Back-compat: queries[0].sql, or null. */
|
|
129
|
+
sql: string | null;
|
|
130
|
+
/** Back-compat: the report summary (or the raw text when the model did not return a report). */
|
|
131
|
+
explanation: string;
|
|
132
|
+
/** The structured report, or null when the model gave no parseable one. */
|
|
133
|
+
report: TelemetryAssistantReport | null;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* `event: error` — the turn failed after the stream opened.
|
|
137
|
+
*
|
|
138
|
+
* @stability stable
|
|
139
|
+
*/
|
|
140
|
+
export interface TelemetryAssistantErrorEvent {
|
|
141
|
+
/** A stable error code. */
|
|
142
|
+
code: string;
|
|
143
|
+
/** A message for the user. */
|
|
144
|
+
message: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Every event of the stream, by name, with its payload.
|
|
148
|
+
*
|
|
149
|
+
* @stability stable
|
|
150
|
+
*/
|
|
151
|
+
export interface TelemetryAssistantEventMap {
|
|
152
|
+
/** One tool call. */
|
|
153
|
+
step: TelemetryAssistantStepEvent;
|
|
154
|
+
/** The final answer. */
|
|
155
|
+
answer: TelemetryAssistantAnswerEvent;
|
|
156
|
+
/** The turn failed. */
|
|
157
|
+
error: TelemetryAssistantErrorEvent;
|
|
158
|
+
/** The stream ends. */
|
|
159
|
+
done: Record<string, never>;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* The name of a stream event.
|
|
163
|
+
*
|
|
164
|
+
* @stability stable
|
|
165
|
+
*/
|
|
166
|
+
export type TelemetryAssistantEventName = keyof TelemetryAssistantEventMap;
|
|
167
|
+
/**
|
|
168
|
+
* A function that writes one stream event (the server's side of the stream).
|
|
169
|
+
*
|
|
170
|
+
* @stability stable
|
|
171
|
+
*/
|
|
172
|
+
export type TelemetryAssistantEmit = <E extends TelemetryAssistantEventName>(event: E, data: TelemetryAssistantEventMap[E]) => void;
|
|
173
|
+
//# sourceMappingURL=assistant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../../src/telemetry/assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// POST /api/admin/telemetry/assistant/stream (issue #536; moved here from the
|
|
3
|
+
// API's `telemetry/dto/telemetry-assistant.dto.ts` by #702)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// The request body is a zod schema. The response is a `text/event-stream`;
|
|
7
|
+
// its frame payloads are the binding web ↔ API contract and are TYPES (the
|
|
8
|
+
// API writes them, nothing parses them on the server), as they always were.
|
|
9
|
+
// =============================================================================
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
import { TELEMETRY_ASSISTANT_HISTORY_CONTENT_MAX, TELEMETRY_ASSISTANT_HISTORY_MAX_TURNS, TELEMETRY_ASSISTANT_QUESTION_MAX, TELEMETRY_ASSISTANT_TURN_ROLES, } from './constants.js';
|
|
12
|
+
import { wireEnum } from './enum.js';
|
|
13
|
+
/**
|
|
14
|
+
* One earlier turn of the conversation: `role` (`user` or `assistant`) and
|
|
15
|
+
* `content` (at most {@link TELEMETRY_ASSISTANT_HISTORY_CONTENT_MAX} characters).
|
|
16
|
+
*
|
|
17
|
+
* @extensionPoint schema
|
|
18
|
+
* @stability stable
|
|
19
|
+
*/
|
|
20
|
+
export const telemetryAssistantTurnSchema = z.object({
|
|
21
|
+
/** Who wrote the turn. */
|
|
22
|
+
role: wireEnum(TELEMETRY_ASSISTANT_TURN_ROLES),
|
|
23
|
+
/** The turn's text. */
|
|
24
|
+
content: z.string().max(TELEMETRY_ASSISTANT_HISTORY_CONTENT_MAX),
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* `POST /api/admin/telemetry/assistant/stream` body: `question` (trimmed,
|
|
28
|
+
* 1..{@link TELEMETRY_ASSISTANT_QUESTION_MAX} characters) and an optional
|
|
29
|
+
* `history` (oldest first, at most {@link TELEMETRY_ASSISTANT_HISTORY_MAX_TURNS}).
|
|
30
|
+
*
|
|
31
|
+
* @extensionPoint schema
|
|
32
|
+
* @stability stable
|
|
33
|
+
*/
|
|
34
|
+
export const telemetryAssistantRequestSchema = z.object({
|
|
35
|
+
/** The new question, in natural language. */
|
|
36
|
+
question: z.string().trim().min(1).max(TELEMETRY_ASSISTANT_QUESTION_MAX),
|
|
37
|
+
/** Earlier turns of this conversation, oldest first. */
|
|
38
|
+
history: z.array(telemetryAssistantTurnSchema).max(TELEMETRY_ASSISTANT_HISTORY_MAX_TURNS).optional(),
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=assistant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../../src/telemetry/assistant.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,4DAA4D;AAC5D,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,gFAAgF;AAEhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,uCAAuC,EACvC,qCAAqC,EACrC,gCAAgC,EAChC,8BAA8B,GAK/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,0BAA0B;IAC1B,IAAI,EAAE,QAAQ,CAAC,8BAA8B,CAAC;IAC9C,uBAAuB;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC;CACjE,CAAC,CAAC;AASH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACxE,wDAAwD;IACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,QAAQ,EAAE;CACrG,CAAC,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* `PUT /api/admin/telemetry/config` body: the stored namespace, with
|
|
4
|
+
* `instanceId` optional (absent keeps the stored value).
|
|
5
|
+
*
|
|
6
|
+
* @extensionPoint schema
|
|
7
|
+
* @stability stable
|
|
8
|
+
*/
|
|
9
|
+
export declare const updateTelemetryConfigSchema: z.ZodObject<{
|
|
10
|
+
enabled: z.ZodBoolean;
|
|
11
|
+
retentionDays: z.ZodNumber;
|
|
12
|
+
query: z.ZodObject<{
|
|
13
|
+
maxRows: z.ZodNumber;
|
|
14
|
+
timeoutSeconds: z.ZodNumber;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
assistant: z.ZodObject<{
|
|
17
|
+
enabled: z.ZodBoolean;
|
|
18
|
+
provider: z.ZodNullable<z.ZodString>;
|
|
19
|
+
modelId: z.ZodNullable<z.ZodString>;
|
|
20
|
+
shareResults: z.ZodBoolean;
|
|
21
|
+
maxResultRowsToModel: z.ZodNumber;
|
|
22
|
+
maxSteps: z.ZodNumber;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
instanceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
/**
|
|
27
|
+
* The `PUT /api/admin/telemetry/config` body.
|
|
28
|
+
*
|
|
29
|
+
* @stability stable
|
|
30
|
+
*/
|
|
31
|
+
export type UpdateTelemetryConfigInput = z.infer<typeof updateTelemetryConfigSchema>;
|
|
32
|
+
/**
|
|
33
|
+
* `GET /api/admin/telemetry/config` (and the `PUT` response): the stored
|
|
34
|
+
* namespace plus `available`, `retentionApplicable`, `instanceIdDefault`,
|
|
35
|
+
* `instanceIdEffective`, `version` (send it back as `If-Match`), `updatedAt`
|
|
36
|
+
* and `updatedBy`.
|
|
37
|
+
*
|
|
38
|
+
* @extensionPoint schema
|
|
39
|
+
* @stability stable
|
|
40
|
+
*/
|
|
41
|
+
export declare const telemetryConfigResponseSchema: z.ZodObject<{
|
|
42
|
+
enabled: z.ZodBoolean;
|
|
43
|
+
retentionDays: z.ZodNumber;
|
|
44
|
+
instanceId: z.ZodNullable<z.ZodString>;
|
|
45
|
+
query: z.ZodObject<{
|
|
46
|
+
maxRows: z.ZodNumber;
|
|
47
|
+
timeoutSeconds: z.ZodNumber;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
assistant: z.ZodObject<{
|
|
50
|
+
enabled: z.ZodBoolean;
|
|
51
|
+
provider: z.ZodNullable<z.ZodString>;
|
|
52
|
+
modelId: z.ZodNullable<z.ZodString>;
|
|
53
|
+
shareResults: z.ZodBoolean;
|
|
54
|
+
maxResultRowsToModel: z.ZodNumber;
|
|
55
|
+
maxSteps: z.ZodNumber;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
available: z.ZodBoolean;
|
|
58
|
+
retentionApplicable: z.ZodBoolean;
|
|
59
|
+
instanceIdDefault: z.ZodString;
|
|
60
|
+
instanceIdEffective: z.ZodString;
|
|
61
|
+
version: z.ZodNumber;
|
|
62
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
63
|
+
updatedBy: z.ZodNullable<z.ZodObject<{
|
|
64
|
+
id: z.ZodString;
|
|
65
|
+
email: z.ZodString;
|
|
66
|
+
}, z.core.$strip>>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
/**
|
|
69
|
+
* `GET /api/admin/telemetry/config`.
|
|
70
|
+
*
|
|
71
|
+
* @stability stable
|
|
72
|
+
*/
|
|
73
|
+
export type TelemetryConfigResponse = z.infer<typeof telemetryConfigResponseSchema>;
|
|
74
|
+
/**
|
|
75
|
+
* `GET /api/telemetry/config`: the feature flag every signed-in client reads
|
|
76
|
+
* (`available`, `enabled`, `assistantEnabled`).
|
|
77
|
+
*
|
|
78
|
+
* @extensionPoint schema
|
|
79
|
+
* @stability stable
|
|
80
|
+
*/
|
|
81
|
+
export declare const telemetryPublicConfigSchema: z.ZodObject<{
|
|
82
|
+
available: z.ZodBoolean;
|
|
83
|
+
enabled: z.ZodBoolean;
|
|
84
|
+
assistantEnabled: z.ZodBoolean;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
/**
|
|
87
|
+
* `GET /api/telemetry/config`.
|
|
88
|
+
*
|
|
89
|
+
* @stability stable
|
|
90
|
+
*/
|
|
91
|
+
export type TelemetryPublicConfig = z.infer<typeof telemetryPublicConfigSchema>;
|
|
92
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;iBAGtC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAErF;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqCxC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;;;iBAUtC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// /api/admin/telemetry/config and /api/telemetry/config (issue #534; moved
|
|
3
|
+
// here from the API's `telemetry/dto/telemetry-config.dto.ts` by #702)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// The PUT body IS the stored `telemetry` namespace, so a form can send back
|
|
7
|
+
// exactly what it loaded (minus the provenance fields the response adds).
|
|
8
|
+
// Full replace: `assistant.provider` / `assistant.modelId` sent as `null`
|
|
9
|
+
// clear a stored value.
|
|
10
|
+
//
|
|
11
|
+
// ONE EXCEPTION TO "FULL": `instanceId` (#565) is OPTIONAL in the PUT body.
|
|
12
|
+
// Absent keeps the stored value, `null` returns to the application-slug
|
|
13
|
+
// default, a string overrides it. A client written before it existed must not
|
|
14
|
+
// get a 400, nor silently reset an identity an administrator set, merely by
|
|
15
|
+
// saving the page. The response always carries it, plus `instanceIdDefault` /
|
|
16
|
+
// `instanceIdEffective` so a form can show what `null` currently means.
|
|
17
|
+
//
|
|
18
|
+
// No credential is part of any of these shapes and none may be added.
|
|
19
|
+
// =============================================================================
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
import { telemetrySettingsSchema } from './settings.js';
|
|
22
|
+
/**
|
|
23
|
+
* `PUT /api/admin/telemetry/config` body: the stored namespace, with
|
|
24
|
+
* `instanceId` optional (absent keeps the stored value).
|
|
25
|
+
*
|
|
26
|
+
* @extensionPoint schema
|
|
27
|
+
* @stability stable
|
|
28
|
+
*/
|
|
29
|
+
export const updateTelemetryConfigSchema = telemetrySettingsSchema.extend({
|
|
30
|
+
/** Optional here: absent keeps the stored value, `null` returns to the default, a string overrides it. */
|
|
31
|
+
instanceId: telemetrySettingsSchema.shape.instanceId.optional(),
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* `GET /api/admin/telemetry/config` (and the `PUT` response): the stored
|
|
35
|
+
* namespace plus `available`, `retentionApplicable`, `instanceIdDefault`,
|
|
36
|
+
* `instanceIdEffective`, `version` (send it back as `If-Match`), `updatedAt`
|
|
37
|
+
* and `updatedBy`.
|
|
38
|
+
*
|
|
39
|
+
* @extensionPoint schema
|
|
40
|
+
* @stability stable
|
|
41
|
+
*/
|
|
42
|
+
export const telemetryConfigResponseSchema = telemetrySettingsSchema.extend({
|
|
43
|
+
/**
|
|
44
|
+
* Whether a telemetry store is configured (admin UI or deployment default):
|
|
45
|
+
* a host and the reader login with its password. While false, `enabled` is
|
|
46
|
+
* stored but nothing is exported or queryable.
|
|
47
|
+
*/
|
|
48
|
+
available: z.boolean(),
|
|
49
|
+
/**
|
|
50
|
+
* Whether the GreptimeDB admin login is configured (admin UI or deployment
|
|
51
|
+
* default), which retention needs. While false, `retentionDays` is stored
|
|
52
|
+
* but not applied.
|
|
53
|
+
*/
|
|
54
|
+
retentionApplicable: z.boolean(),
|
|
55
|
+
/**
|
|
56
|
+
* What a `null` `instanceId` resolves to: the application slug (`APP_SLUG`,
|
|
57
|
+
* derived from the product name). Read-only.
|
|
58
|
+
*/
|
|
59
|
+
instanceIdDefault: z.string(),
|
|
60
|
+
/**
|
|
61
|
+
* The identifier currently stamped as the `app.instance.id` resource
|
|
62
|
+
* attribute on exported telemetry: `instanceId` when set, else
|
|
63
|
+
* `instanceIdDefault`. Read-only.
|
|
64
|
+
*/
|
|
65
|
+
instanceIdEffective: z.string(),
|
|
66
|
+
/** The system-settings row version — send it back as `If-Match` on `PUT`. `0` when nothing is stored yet. */
|
|
67
|
+
version: z.number().int(),
|
|
68
|
+
/** When the namespace was last saved, or `null` when nothing is stored yet. */
|
|
69
|
+
updatedAt: z.iso.datetime().nullable(),
|
|
70
|
+
/** Who saved it last, or `null`. */
|
|
71
|
+
updatedBy: z
|
|
72
|
+
.object({
|
|
73
|
+
/** The user's id. */
|
|
74
|
+
id: z.string(),
|
|
75
|
+
/** The user's email. */
|
|
76
|
+
email: z.string(),
|
|
77
|
+
})
|
|
78
|
+
.nullable(),
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* `GET /api/telemetry/config`: the feature flag every signed-in client reads
|
|
82
|
+
* (`available`, `enabled`, `assistantEnabled`).
|
|
83
|
+
*
|
|
84
|
+
* @extensionPoint schema
|
|
85
|
+
* @stability stable
|
|
86
|
+
*/
|
|
87
|
+
export const telemetryPublicConfigSchema = z.object({
|
|
88
|
+
/** A telemetry store is configured (admin UI or deployment default). False hides every telemetry surface. */
|
|
89
|
+
available: z.boolean(),
|
|
90
|
+
/** `telemetry.enabled` — whether this deployment is currently collecting telemetry. */
|
|
91
|
+
enabled: z.boolean(),
|
|
92
|
+
/**
|
|
93
|
+
* `telemetry.assistant.enabled` — whether the telemetry AI assistant is
|
|
94
|
+
* switched on. Whether the AI platform itself is on is `GET /api/ai/config`.
|
|
95
|
+
*/
|
|
96
|
+
assistantEnabled: z.boolean(),
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,uEAAuE;AACvE,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAC1E,wBAAwB;AACxB,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,EAAE;AACF,sEAAsE;AACtE,gFAAgF;AAEhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACxE,0GAA0G;IAC1G,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC;AASH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAC1E;;;;OAIG;IACH,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;IAChC;;;OAGG;IACH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,6GAA6G;IAC7G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,+EAA+E;IAC/E,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,oCAAoC;IACpC,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,qBAAqB;QACrB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,wBAAwB;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AASH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,6GAA6G;IAC7G,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,uFAAuF;IACvF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB;;;OAGG;IACH,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;CAC9B,CAAC,CAAC"}
|