@camunda/ccma-api 0.0.3 → 0.0.5

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 (34) hide show
  1. package/dist/index.d.ts +11 -5
  2. package/dist/index.js +6 -0
  3. package/dist/index.js.map +2 -2
  4. package/dist/services/accounts/orgs.service.d.ts +10 -1
  5. package/dist/services/accounts/orgs.service.js +34 -0
  6. package/dist/services/accounts/orgs.service.js.map +2 -2
  7. package/dist/services/ask-backend/ask-backend.service.d.ts +85 -0
  8. package/dist/services/ask-backend/ask-backend.service.js +378 -0
  9. package/dist/services/ask-backend/ask-backend.service.js.map +7 -0
  10. package/dist/services/console/console.admin.service.d.ts +65 -0
  11. package/dist/services/console/console.admin.service.js +156 -2
  12. package/dist/services/console/console.admin.service.js.map +2 -2
  13. package/dist/services/console/console.cluster-parameters.service.d.ts +1 -0
  14. package/dist/services/console/console.cluster-parameters.service.js.map +2 -2
  15. package/dist/services/console/console.cluster.service.d.ts +9 -0
  16. package/dist/services/console/console.cluster.service.js +28 -0
  17. package/dist/services/console/console.cluster.service.js.map +2 -2
  18. package/dist/services/console/console.clusterplan.modification.service.d.ts +1 -0
  19. package/dist/services/console/console.clusterplan.modification.service.js +28 -0
  20. package/dist/services/console/console.clusterplan.modification.service.js.map +2 -2
  21. package/dist/services/console/generation.service.d.ts +11 -0
  22. package/dist/services/console/generation.service.js +36 -2
  23. package/dist/services/console/generation.service.js.map +2 -2
  24. package/dist/services/glean/glean.service.d.ts +20 -0
  25. package/dist/services/glean/glean.service.js +49 -0
  26. package/dist/services/glean/glean.service.js.map +7 -0
  27. package/dist/services/incident-io/incident-io.service.d.ts +20 -0
  28. package/dist/services/incident-io/incident-io.service.js +67 -0
  29. package/dist/services/incident-io/incident-io.service.js.map +7 -0
  30. package/dist/services/incident-io/incident-io.service.spec.d.ts +1 -0
  31. package/dist/services/slack/slack.service.d.ts +37 -0
  32. package/dist/services/slack/slack.service.js +98 -0
  33. package/dist/services/slack/slack.service.js.map +2 -2
  34. package/package.json +3 -6
@@ -0,0 +1,85 @@
1
+ import type { RequestBaseParams } from '../../types/general.types.js';
2
+ import type { OpenIncident } from '../incident-io/incident-io.service.js';
3
+ export type { OpenIncident };
4
+ /**
5
+ * AskBackendService provides typed access to the ask-backend API endpoints.
6
+ *
7
+ * Unlike other services in this package that use `base: { id: 'system' }` for
8
+ * URL resolution, ask-backend's base URL is supplied directly by the caller
9
+ * (`baseUrl` on each request) because it is externally configurable at runtime
10
+ * (e.g. `ASK_BACKEND_URL` in the MCP client) rather than being fixed per stage
11
+ * in the environment configuration.
12
+ */
13
+ export interface AskBackendBaseParams extends RequestBaseParams {
14
+ baseUrl: string;
15
+ }
16
+ export interface AskBackendSearchOrgsParams extends AskBackendBaseParams {
17
+ search?: string;
18
+ }
19
+ export interface AskBackendOrgParams extends AskBackendBaseParams {
20
+ orgId: string;
21
+ }
22
+ export interface AskBackendRunQueryParams extends AskBackendBaseParams {
23
+ sql: string;
24
+ }
25
+ export interface AskBackendGetOrgClustersParams extends AskBackendBaseParams {
26
+ orgId: string;
27
+ }
28
+ export interface OrgSummary {
29
+ uuid: string;
30
+ name: string;
31
+ salesPlanType?: string;
32
+ clusterCount?: number;
33
+ }
34
+ export interface OrgDetail {
35
+ uuid: string;
36
+ name: string;
37
+ salesPlanType?: string;
38
+ salesPlanName?: string;
39
+ created: string;
40
+ internal: boolean;
41
+ }
42
+ export interface OrgOwnerInfo {
43
+ owner: string;
44
+ email: string;
45
+ first?: string;
46
+ last?: string;
47
+ }
48
+ export interface OrgMemberInfo {
49
+ userId: string;
50
+ name: string;
51
+ email: string;
52
+ roles?: string[];
53
+ }
54
+ export interface OrgClusterRow {
55
+ orgId: string;
56
+ orgName: string;
57
+ clusterCount: number;
58
+ }
59
+ export declare class AskBackendService {
60
+ static getOpenIncidents(params: AskBackendBaseParams): Promise<OpenIncident[]>;
61
+ static searchOrgs(params: AskBackendSearchOrgsParams): Promise<OrgSummary[]>;
62
+ static getOrgDetails(params: AskBackendOrgParams): Promise<OrgDetail>;
63
+ static getOrgOwner(params: AskBackendOrgParams): Promise<OrgOwnerInfo>;
64
+ static getOrgMembers(params: AskBackendOrgParams): Promise<OrgMemberInfo[]>;
65
+ static getOrgClustersFromConsole(params: AskBackendOrgParams): Promise<unknown[]>;
66
+ static getOrgLlmUsage(params: AskBackendOrgParams): Promise<Record<string, unknown>>;
67
+ static runBigQuery(params: AskBackendRunQueryParams): Promise<unknown[]>;
68
+ static getOrgValueMetrics(params: AskBackendOrgParams & {
69
+ days?: number;
70
+ }): Promise<unknown[]>;
71
+ static listClusterPlanTypes(params: AskBackendBaseParams): Promise<unknown[]>;
72
+ static getClusterPlanType(params: AskBackendBaseParams & {
73
+ planTypeId: string;
74
+ }): Promise<unknown>;
75
+ static getGeneration(params: AskBackendBaseParams & {
76
+ generationId: string;
77
+ }): Promise<unknown>;
78
+ static getUpgradableGenerations(params: AskBackendBaseParams & {
79
+ generationId: string;
80
+ }): Promise<unknown[]>;
81
+ static listConnections(params: AskBackendBaseParams & {
82
+ strategy?: 'all' | 'waad' | 'samlp';
83
+ }): Promise<unknown[]>;
84
+ static getOrgClusters(params: AskBackendGetOrgClustersParams): Promise<OrgClusterRow[]>;
85
+ }
@@ -0,0 +1,378 @@
1
+ import { request } from "../../utils/api.js";
2
+ import { HttpError } from "../../utils/errors.js";
3
+ function makeContext(name, url, normalizedUrl, type, source) {
4
+ return {
5
+ method: { name, url, normalizedUrl, type },
6
+ source,
7
+ target: { name: "ask-backend", type: "internal" }
8
+ };
9
+ }
10
+ class AskBackendService {
11
+ static async getOpenIncidents(params) {
12
+ const url = `${params.baseUrl}/api/incident/incidents`;
13
+ const ctx = makeContext(
14
+ "AskBackendService.getOpenIncidents",
15
+ url,
16
+ "/api/incident/incidents",
17
+ "get",
18
+ params.config.metrics?.source ?? "unset"
19
+ );
20
+ const response = await request({
21
+ ...params,
22
+ url,
23
+ method: "get",
24
+ metricsDetails: ctx
25
+ });
26
+ if (!response.ok) {
27
+ throw new HttpError(
28
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
29
+ response.status,
30
+ response.statusText
31
+ );
32
+ }
33
+ return response.body ?? [];
34
+ }
35
+ static async searchOrgs(params) {
36
+ const url = `${params.baseUrl}/api/accounts/orgs?search=${encodeURIComponent(params.search ?? "")}`;
37
+ const ctx = makeContext(
38
+ "AskBackendService.searchOrgs",
39
+ `${params.baseUrl}/api/accounts/orgs`,
40
+ "/api/accounts/orgs",
41
+ "get",
42
+ params.config.metrics?.source ?? "unset"
43
+ );
44
+ const response = await request({
45
+ ...params,
46
+ url,
47
+ method: "get",
48
+ metricsDetails: ctx
49
+ });
50
+ if (!response.ok) {
51
+ throw new HttpError(
52
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
53
+ response.status,
54
+ response.statusText
55
+ );
56
+ }
57
+ return response.body ?? [];
58
+ }
59
+ static async getOrgDetails(params) {
60
+ const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}`;
61
+ const ctx = makeContext(
62
+ "AskBackendService.getOrgDetails",
63
+ url,
64
+ "/api/accounts/orgs/:orgId",
65
+ "get",
66
+ params.config.metrics?.source ?? "unset"
67
+ );
68
+ const response = await request({
69
+ ...params,
70
+ url,
71
+ method: "get",
72
+ metricsDetails: ctx
73
+ });
74
+ if (!response.ok) {
75
+ throw new HttpError(
76
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
77
+ response.status,
78
+ response.statusText
79
+ );
80
+ }
81
+ return response.body;
82
+ }
83
+ static async getOrgOwner(params) {
84
+ const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/owner`;
85
+ const ctx = makeContext(
86
+ "AskBackendService.getOrgOwner",
87
+ `${params.baseUrl}/api/accounts/orgs/:orgId/owner`,
88
+ "/api/accounts/orgs/:orgId/owner",
89
+ "get",
90
+ params.config.metrics?.source ?? "unset"
91
+ );
92
+ const response = await request({
93
+ ...params,
94
+ url,
95
+ method: "get",
96
+ metricsDetails: ctx
97
+ });
98
+ if (!response.ok) {
99
+ throw new HttpError(
100
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
101
+ response.status,
102
+ response.statusText
103
+ );
104
+ }
105
+ return response.body;
106
+ }
107
+ static async getOrgMembers(params) {
108
+ const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/members`;
109
+ const ctx = makeContext(
110
+ "AskBackendService.getOrgMembers",
111
+ `${params.baseUrl}/api/accounts/orgs/:orgId/members`,
112
+ "/api/accounts/orgs/:orgId/members",
113
+ "get",
114
+ params.config.metrics?.source ?? "unset"
115
+ );
116
+ const response = await request({
117
+ ...params,
118
+ url,
119
+ method: "get",
120
+ metricsDetails: ctx
121
+ });
122
+ if (!response.ok) {
123
+ throw new HttpError(
124
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
125
+ response.status,
126
+ response.statusText
127
+ );
128
+ }
129
+ return response.body ?? [];
130
+ }
131
+ static async getOrgClustersFromConsole(params) {
132
+ const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/clusters`;
133
+ const ctx = makeContext(
134
+ "AskBackendService.getOrgClustersFromConsole",
135
+ `${params.baseUrl}/api/accounts/orgs/:orgId/clusters`,
136
+ "/api/accounts/orgs/:orgId/clusters",
137
+ "get",
138
+ params.config.metrics?.source ?? "unset"
139
+ );
140
+ const response = await request({
141
+ ...params,
142
+ url,
143
+ method: "get",
144
+ metricsDetails: ctx
145
+ });
146
+ if (!response.ok) {
147
+ throw new HttpError(
148
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
149
+ response.status,
150
+ response.statusText
151
+ );
152
+ }
153
+ return response.body ?? [];
154
+ }
155
+ static async getOrgLlmUsage(params) {
156
+ const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/llm`;
157
+ const ctx = makeContext(
158
+ "AskBackendService.getOrgLlmUsage",
159
+ `${params.baseUrl}/api/accounts/orgs/:orgId/llm`,
160
+ "/api/accounts/orgs/:orgId/llm",
161
+ "get",
162
+ params.config.metrics?.source ?? "unset"
163
+ );
164
+ const response = await request({
165
+ ...params,
166
+ url,
167
+ method: "get",
168
+ metricsDetails: ctx
169
+ });
170
+ if (!response.ok) {
171
+ throw new HttpError(
172
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
173
+ response.status,
174
+ response.statusText
175
+ );
176
+ }
177
+ return response.body;
178
+ }
179
+ static async runBigQuery(params) {
180
+ const url = `${params.baseUrl}/api/bigquery/query`;
181
+ const ctx = makeContext(
182
+ "AskBackendService.runBigQuery",
183
+ url,
184
+ "/api/bigquery/query",
185
+ "post",
186
+ params.config.metrics?.source ?? "unset"
187
+ );
188
+ const response = await request({
189
+ ...params,
190
+ url,
191
+ method: "post",
192
+ body: { sql: params.sql },
193
+ metricsDetails: ctx
194
+ });
195
+ if (!response.ok) {
196
+ throw new HttpError(
197
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
198
+ response.status,
199
+ response.statusText
200
+ );
201
+ }
202
+ return response.body ?? [];
203
+ }
204
+ static async getOrgValueMetrics(params) {
205
+ const qs = params.days !== void 0 ? `?days=${params.days}` : "";
206
+ const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/value-metrics${qs}`;
207
+ const ctx = makeContext(
208
+ "AskBackendService.getOrgValueMetrics",
209
+ `${params.baseUrl}/api/accounts/orgs/:orgId/value-metrics`,
210
+ "/api/accounts/orgs/:orgId/value-metrics",
211
+ "get",
212
+ params.config.metrics?.source ?? "unset"
213
+ );
214
+ const response = await request({
215
+ ...params,
216
+ url,
217
+ method: "get",
218
+ metricsDetails: ctx
219
+ });
220
+ if (!response.ok) {
221
+ throw new HttpError(
222
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
223
+ response.status,
224
+ response.statusText
225
+ );
226
+ }
227
+ return response.body ?? [];
228
+ }
229
+ static async listClusterPlanTypes(params) {
230
+ const url = `${params.baseUrl}/api/admin/cluster-plan-types`;
231
+ const ctx = makeContext(
232
+ "AskBackendService.listClusterPlanTypes",
233
+ url,
234
+ "/api/admin/cluster-plan-types",
235
+ "get",
236
+ params.config.metrics?.source ?? "unset"
237
+ );
238
+ const response = await request({
239
+ ...params,
240
+ url,
241
+ method: "get",
242
+ metricsDetails: ctx
243
+ });
244
+ if (!response.ok) {
245
+ throw new HttpError(
246
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
247
+ response.status,
248
+ response.statusText
249
+ );
250
+ }
251
+ return response.body ?? [];
252
+ }
253
+ static async getClusterPlanType(params) {
254
+ const url = `${params.baseUrl}/api/admin/cluster-plan-types/${encodeURIComponent(params.planTypeId)}`;
255
+ const ctx = makeContext(
256
+ "AskBackendService.getClusterPlanType",
257
+ `${params.baseUrl}/api/admin/cluster-plan-types/:planTypeId`,
258
+ "/api/admin/cluster-plan-types/:planTypeId",
259
+ "get",
260
+ params.config.metrics?.source ?? "unset"
261
+ );
262
+ const response = await request({
263
+ ...params,
264
+ url,
265
+ method: "get",
266
+ metricsDetails: ctx
267
+ });
268
+ if (!response.ok) {
269
+ throw new HttpError(
270
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
271
+ response.status,
272
+ response.statusText
273
+ );
274
+ }
275
+ return response.body;
276
+ }
277
+ static async getGeneration(params) {
278
+ const url = `${params.baseUrl}/api/admin/generations/${encodeURIComponent(params.generationId)}`;
279
+ const ctx = makeContext(
280
+ "AskBackendService.getGeneration",
281
+ `${params.baseUrl}/api/admin/generations/:generationId`,
282
+ "/api/admin/generations/:generationId",
283
+ "get",
284
+ params.config.metrics?.source ?? "unset"
285
+ );
286
+ const response = await request({
287
+ ...params,
288
+ url,
289
+ method: "get",
290
+ metricsDetails: ctx
291
+ });
292
+ if (!response.ok) {
293
+ throw new HttpError(
294
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
295
+ response.status,
296
+ response.statusText
297
+ );
298
+ }
299
+ return response.body;
300
+ }
301
+ static async getUpgradableGenerations(params) {
302
+ const url = `${params.baseUrl}/api/admin/generations/${encodeURIComponent(params.generationId)}/upgradable`;
303
+ const ctx = makeContext(
304
+ "AskBackendService.getUpgradableGenerations",
305
+ `${params.baseUrl}/api/admin/generations/:generationId/upgradable`,
306
+ "/api/admin/generations/:generationId/upgradable",
307
+ "get",
308
+ params.config.metrics?.source ?? "unset"
309
+ );
310
+ const response = await request({
311
+ ...params,
312
+ url,
313
+ method: "get",
314
+ metricsDetails: ctx
315
+ });
316
+ if (!response.ok) {
317
+ throw new HttpError(
318
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
319
+ response.status,
320
+ response.statusText
321
+ );
322
+ }
323
+ return response.body ?? [];
324
+ }
325
+ static async listConnections(params) {
326
+ const strategy = params.strategy ?? "all";
327
+ const url = `${params.baseUrl}/api/admin/connections?strategy=${strategy}`;
328
+ const ctx = makeContext(
329
+ "AskBackendService.listConnections",
330
+ `${params.baseUrl}/api/admin/connections`,
331
+ "/api/admin/connections",
332
+ "get",
333
+ params.config.metrics?.source ?? "unset"
334
+ );
335
+ const response = await request({
336
+ ...params,
337
+ url,
338
+ method: "get",
339
+ metricsDetails: ctx
340
+ });
341
+ if (!response.ok) {
342
+ throw new HttpError(
343
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
344
+ response.status,
345
+ response.statusText
346
+ );
347
+ }
348
+ return response.body ?? [];
349
+ }
350
+ static async getOrgClusters(params) {
351
+ const url = `${params.baseUrl}/api/bigquery/org-clusters?orgId=${encodeURIComponent(params.orgId)}`;
352
+ const ctx = makeContext(
353
+ "AskBackendService.getOrgClusters",
354
+ `${params.baseUrl}/api/bigquery/org-clusters`,
355
+ "/api/bigquery/org-clusters",
356
+ "get",
357
+ params.config.metrics?.source ?? "unset"
358
+ );
359
+ const response = await request({
360
+ ...params,
361
+ url,
362
+ method: "get",
363
+ metricsDetails: ctx
364
+ });
365
+ if (!response.ok) {
366
+ throw new HttpError(
367
+ `${ctx.method.name}: ${response.status} ${response.statusText}`,
368
+ response.status,
369
+ response.statusText
370
+ );
371
+ }
372
+ return response.body ?? [];
373
+ }
374
+ }
375
+ export {
376
+ AskBackendService
377
+ };
378
+ //# sourceMappingURL=ask-backend.service.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/services/ask-backend/ask-backend.service.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\nimport type { OpenIncident } from '../incident-io/incident-io.service.js'\n\nexport type { OpenIncident }\n\n/**\n * AskBackendService provides typed access to the ask-backend API endpoints.\n *\n * Unlike other services in this package that use `base: { id: 'system' }` for\n * URL resolution, ask-backend's base URL is supplied directly by the caller\n * (`baseUrl` on each request) because it is externally configurable at runtime\n * (e.g. `ASK_BACKEND_URL` in the MCP client) rather than being fixed per stage\n * in the environment configuration.\n */\nexport interface AskBackendBaseParams extends RequestBaseParams {\n baseUrl: string\n}\n\nexport interface AskBackendSearchOrgsParams extends AskBackendBaseParams {\n search?: string\n}\n\nexport interface AskBackendOrgParams extends AskBackendBaseParams {\n orgId: string\n}\n\nexport interface AskBackendRunQueryParams extends AskBackendBaseParams {\n sql: string\n}\n\n// Kept for backwards compat \u2014 callers of getOrgClusters (BigQuery) still use this\nexport interface AskBackendGetOrgClustersParams extends AskBackendBaseParams {\n orgId: string\n}\n\nexport interface OrgSummary {\n uuid: string\n name: string\n salesPlanType?: string\n clusterCount?: number\n}\n\nexport interface OrgDetail {\n uuid: string\n name: string\n salesPlanType?: string\n salesPlanName?: string\n created: string\n internal: boolean\n}\n\nexport interface OrgOwnerInfo {\n owner: string\n email: string\n first?: string\n last?: string\n}\n\nexport interface OrgMemberInfo {\n userId: string\n name: string\n email: string\n roles?: string[]\n}\n\nexport interface OrgClusterRow {\n orgId: string\n orgName: string\n clusterCount: number\n}\n\nfunction makeContext(\n name: string,\n url: string,\n normalizedUrl: string,\n type: 'get' | 'post',\n source: string,\n): RequestBaseServiceContext {\n return {\n method: { name, url, normalizedUrl, type },\n source,\n target: { name: 'ask-backend', type: 'internal' },\n }\n}\n\nexport class AskBackendService {\n public static async getOpenIncidents(\n params: AskBackendBaseParams,\n ): Promise<OpenIncident[]> {\n const url = `${params.baseUrl}/api/incident/incidents`\n const ctx = makeContext(\n 'AskBackendService.getOpenIncidents',\n url,\n '/api/incident/incidents',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<OpenIncident[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async searchOrgs(\n params: AskBackendSearchOrgsParams,\n ): Promise<OrgSummary[]> {\n const url = `${params.baseUrl}/api/accounts/orgs?search=${encodeURIComponent(params.search ?? '')}`\n const ctx = makeContext(\n 'AskBackendService.searchOrgs',\n `${params.baseUrl}/api/accounts/orgs`,\n '/api/accounts/orgs',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<OrgSummary[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async getOrgDetails(\n params: AskBackendOrgParams,\n ): Promise<OrgDetail> {\n const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}`\n const ctx = makeContext(\n 'AskBackendService.getOrgDetails',\n url,\n '/api/accounts/orgs/:orgId',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<OrgDetail>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getOrgOwner(\n params: AskBackendOrgParams,\n ): Promise<OrgOwnerInfo> {\n const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/owner`\n const ctx = makeContext(\n 'AskBackendService.getOrgOwner',\n `${params.baseUrl}/api/accounts/orgs/:orgId/owner`,\n '/api/accounts/orgs/:orgId/owner',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<OrgOwnerInfo>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getOrgMembers(\n params: AskBackendOrgParams,\n ): Promise<OrgMemberInfo[]> {\n const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/members`\n const ctx = makeContext(\n 'AskBackendService.getOrgMembers',\n `${params.baseUrl}/api/accounts/orgs/:orgId/members`,\n '/api/accounts/orgs/:orgId/members',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<OrgMemberInfo[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async getOrgClustersFromConsole(\n params: AskBackendOrgParams,\n ): Promise<unknown[]> {\n const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/clusters`\n const ctx = makeContext(\n 'AskBackendService.getOrgClustersFromConsole',\n `${params.baseUrl}/api/accounts/orgs/:orgId/clusters`,\n '/api/accounts/orgs/:orgId/clusters',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async getOrgLlmUsage(\n params: AskBackendOrgParams,\n ): Promise<Record<string, unknown>> {\n const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/llm`\n const ctx = makeContext(\n 'AskBackendService.getOrgLlmUsage',\n `${params.baseUrl}/api/accounts/orgs/:orgId/llm`,\n '/api/accounts/orgs/:orgId/llm',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<Record<string, unknown>>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async runBigQuery(\n params: AskBackendRunQueryParams,\n ): Promise<unknown[]> {\n const url = `${params.baseUrl}/api/bigquery/query`\n const ctx = makeContext(\n 'AskBackendService.runBigQuery',\n url,\n '/api/bigquery/query',\n 'post',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown[]>({\n ...params,\n url,\n method: 'post',\n body: { sql: params.sql },\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async getOrgValueMetrics(\n params: AskBackendOrgParams & { days?: number },\n ): Promise<unknown[]> {\n const qs = params.days !== undefined ? `?days=${params.days}` : ''\n const url = `${params.baseUrl}/api/accounts/orgs/${encodeURIComponent(params.orgId)}/value-metrics${qs}`\n const ctx = makeContext(\n 'AskBackendService.getOrgValueMetrics',\n `${params.baseUrl}/api/accounts/orgs/:orgId/value-metrics`,\n '/api/accounts/orgs/:orgId/value-metrics',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async listClusterPlanTypes(\n params: AskBackendBaseParams,\n ): Promise<unknown[]> {\n const url = `${params.baseUrl}/api/admin/cluster-plan-types`\n const ctx = makeContext(\n 'AskBackendService.listClusterPlanTypes',\n url,\n '/api/admin/cluster-plan-types',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async getClusterPlanType(\n params: AskBackendBaseParams & { planTypeId: string },\n ): Promise<unknown> {\n const url = `${params.baseUrl}/api/admin/cluster-plan-types/${encodeURIComponent(params.planTypeId)}`\n const ctx = makeContext(\n 'AskBackendService.getClusterPlanType',\n `${params.baseUrl}/api/admin/cluster-plan-types/:planTypeId`,\n '/api/admin/cluster-plan-types/:planTypeId',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getGeneration(\n params: AskBackendBaseParams & { generationId: string },\n ): Promise<unknown> {\n const url = `${params.baseUrl}/api/admin/generations/${encodeURIComponent(params.generationId)}`\n const ctx = makeContext(\n 'AskBackendService.getGeneration',\n `${params.baseUrl}/api/admin/generations/:generationId`,\n '/api/admin/generations/:generationId',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getUpgradableGenerations(\n params: AskBackendBaseParams & { generationId: string },\n ): Promise<unknown[]> {\n const url = `${params.baseUrl}/api/admin/generations/${encodeURIComponent(params.generationId)}/upgradable`\n const ctx = makeContext(\n 'AskBackendService.getUpgradableGenerations',\n `${params.baseUrl}/api/admin/generations/:generationId/upgradable`,\n '/api/admin/generations/:generationId/upgradable',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async listConnections(\n params: AskBackendBaseParams & { strategy?: 'all' | 'waad' | 'samlp' },\n ): Promise<unknown[]> {\n const strategy = params.strategy ?? 'all'\n const url = `${params.baseUrl}/api/admin/connections?strategy=${strategy}`\n const ctx = makeContext(\n 'AskBackendService.listConnections',\n `${params.baseUrl}/api/admin/connections`,\n '/api/admin/connections',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<unknown[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n\n public static async getOrgClusters(\n params: AskBackendGetOrgClustersParams,\n ): Promise<OrgClusterRow[]> {\n const url = `${params.baseUrl}/api/bigquery/org-clusters?orgId=${encodeURIComponent(params.orgId)}`\n const ctx = makeContext(\n 'AskBackendService.getOrgClusters',\n `${params.baseUrl}/api/bigquery/org-clusters`,\n '/api/bigquery/org-clusters',\n 'get',\n params.config.metrics?.source ?? 'unset',\n )\n const response = await request<OrgClusterRow[]>({\n ...params,\n url,\n method: 'get',\n metricsDetails: ctx,\n })\n if (!response.ok) {\n throw new HttpError(\n `${ctx.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,5 +1,6 @@
1
1
  import type { ClusterBulkOperationAck, ClusterBulkOperationDto, ClusterBulkOperationPostContent, ClusterModificationConfigDto, ClusterModificationDto, ClusterPlanTypeDto, ClusterUsageMetricsData, CommonClusterDto, UniqueTaskUser, ValueMetrics } from '@camunda/ccma-shared-types';
2
2
  import type { RequestBaseParams } from '../../types/general.types.js';
3
+ import type { OpenIncident } from '../incident-io/incident-io.service.js';
3
4
  export interface UpdateClusterToNewPlanTypeRequest extends RequestBaseParams {
4
5
  params: {
5
6
  orgId: string;
@@ -46,6 +47,45 @@ export interface CreateLiteLLMSecretsForOrgRequest extends RequestBaseParams {
46
47
  };
47
48
  };
48
49
  }
50
+ export type SpecExplainerFieldSource = 'plan' | 'generation' | 'planType' | 'override' | 'modification' | 'infra' | 'computed' | 'featureFlag' | 'org' | 'cluster';
51
+ export interface SpecExplainerFieldAnnotation {
52
+ source: SpecExplainerFieldSource;
53
+ sourcePath?: string;
54
+ sourceValue?: unknown;
55
+ finalValue: unknown;
56
+ transforms?: string[];
57
+ overrides?: Array<{
58
+ by: SpecExplainerFieldSource;
59
+ originalValue: unknown;
60
+ }>;
61
+ fallbackChain?: Array<{
62
+ source: SpecExplainerFieldSource;
63
+ value: unknown;
64
+ used: boolean;
65
+ }>;
66
+ }
67
+ export interface SpecExplainerResponse {
68
+ spec: Record<string, unknown>;
69
+ annotations: Record<string, SpecExplainerFieldAnnotation>;
70
+ sources: {
71
+ plan: Record<string, unknown>;
72
+ generation: Record<string, unknown>;
73
+ planType: Record<string, unknown>;
74
+ overrideEnvVars?: Record<string, unknown>;
75
+ activeModification?: {
76
+ planModifications: Array<{
77
+ key: string;
78
+ value: unknown;
79
+ }>;
80
+ };
81
+ featureFlags: Record<string, boolean>;
82
+ };
83
+ }
84
+ export interface GetSpecExplainerRequest extends RequestBaseParams {
85
+ params: {
86
+ clusterId: string;
87
+ };
88
+ }
49
89
  export interface GetAllClustersRequest extends RequestBaseParams {
50
90
  params: {
51
91
  headers: {
@@ -290,6 +330,7 @@ export declare class ConsoleAdminService {
290
330
  uuid: string;
291
331
  configId: string;
292
332
  expiresAt: Date | null;
333
+ description?: string;
293
334
  }): Promise<ClusterModificationConfigDto | undefined>;
294
335
  static getAllClusterBulkOperations(params: RequestBaseParams): Promise<ClusterBulkOperationDto[] | undefined>;
295
336
  static getClusterBulkOperation(params: {
@@ -308,6 +349,16 @@ export declare class ConsoleAdminService {
308
349
  static deleteClusterBulkOperation(params: {
309
350
  uuid: string;
310
351
  } & RequestBaseParams): Promise<void>;
352
+ static getDbCorpses(params: RequestBaseParams): Promise<{
353
+ corpses: Array<{
354
+ clusterId: string;
355
+ orgId: string;
356
+ name: string;
357
+ created: string;
358
+ k8sContextUuid?: string;
359
+ k8sContext?: string;
360
+ }>;
361
+ }>;
311
362
  static getK8sCorpses(params: RequestBaseParams): Promise<{
312
363
  corpses: Array<{
313
364
  clusterId: string;
@@ -317,6 +368,13 @@ export declare class ConsoleAdminService {
317
368
  k8sContext?: string;
318
369
  }>;
319
370
  }>;
371
+ static deleteDbCorpses(params: RequestBaseParams): Promise<{
372
+ deleted: number;
373
+ corpses: Array<{
374
+ clusterId: string;
375
+ orgId: string;
376
+ }>;
377
+ }>;
320
378
  static deleteK8sCorpses(params: RequestBaseParams): Promise<{
321
379
  deleted: number;
322
380
  corpses: Array<{
@@ -325,4 +383,11 @@ export declare class ConsoleAdminService {
325
383
  }>;
326
384
  }>;
327
385
  static createLiteLLMSecretsForOrg(params: CreateLiteLLMSecretsForOrgRequest): Promise<void>;
386
+ static getSpecExplainer(params: GetSpecExplainerRequest): Promise<SpecExplainerResponse>;
387
+ static getOpenIncidents(params: RequestBaseParams): Promise<{
388
+ incidents: OpenIncident[];
389
+ }>;
390
+ static getClusterIncidents(params: RequestBaseParams & {
391
+ clusterId: string;
392
+ }): Promise<OpenIncident[]>;
328
393
  }