@alertee/cli 0.3.0 → 0.5.0
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/dist/api.d.ts +180 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +25 -2
- package/dist/api.js.map +1 -1
- package/dist/commands/alert-groups/add-email-group.d.ts +9 -0
- package/dist/commands/alert-groups/add-email-group.d.ts.map +1 -0
- package/dist/commands/alert-groups/add-email-group.js +33 -0
- package/dist/commands/alert-groups/add-email-group.js.map +1 -0
- package/dist/commands/alert-groups/add-webhook.d.ts +8 -0
- package/dist/commands/alert-groups/add-webhook.d.ts.map +1 -0
- package/dist/commands/alert-groups/add-webhook.js +64 -0
- package/dist/commands/alert-groups/add-webhook.js.map +1 -0
- package/dist/commands/alert-groups/create.d.ts +11 -0
- package/dist/commands/alert-groups/create.d.ts.map +1 -0
- package/dist/commands/alert-groups/create.js +31 -0
- package/dist/commands/alert-groups/create.js.map +1 -0
- package/dist/commands/alert-groups/delete.d.ts +5 -0
- package/dist/commands/alert-groups/delete.d.ts.map +1 -0
- package/dist/commands/alert-groups/delete.js +35 -0
- package/dist/commands/alert-groups/delete.js.map +1 -0
- package/dist/commands/alert-groups/list.d.ts +5 -0
- package/dist/commands/alert-groups/list.d.ts.map +1 -0
- package/dist/commands/alert-groups/list.js +35 -0
- package/dist/commands/alert-groups/list.js.map +1 -0
- package/dist/commands/alert-groups/recipients.d.ts +5 -0
- package/dist/commands/alert-groups/recipients.d.ts.map +1 -0
- package/dist/commands/alert-groups/recipients.js +62 -0
- package/dist/commands/alert-groups/recipients.js.map +1 -0
- package/dist/commands/alert-groups/remove-recipient.d.ts +8 -0
- package/dist/commands/alert-groups/remove-recipient.d.ts.map +1 -0
- package/dist/commands/alert-groups/remove-recipient.js +33 -0
- package/dist/commands/alert-groups/remove-recipient.js.map +1 -0
- package/dist/commands/alert-groups/resolve.d.ts +6 -0
- package/dist/commands/alert-groups/resolve.d.ts.map +1 -0
- package/dist/commands/alert-groups/resolve.js +27 -0
- package/dist/commands/alert-groups/resolve.js.map +1 -0
- package/dist/commands/alert-groups/test.d.ts +3 -0
- package/dist/commands/alert-groups/test.d.ts.map +1 -0
- package/dist/commands/alert-groups/test.js +24 -0
- package/dist/commands/alert-groups/test.js.map +1 -0
- package/dist/commands/alert-groups/update.d.ts +12 -0
- package/dist/commands/alert-groups/update.d.ts.map +1 -0
- package/dist/commands/alert-groups/update.js +46 -0
- package/dist/commands/alert-groups/update.js.map +1 -0
- package/dist/commands/checks/create.d.ts +25 -1
- package/dist/commands/checks/create.d.ts.map +1 -1
- package/dist/commands/checks/create.js +141 -82
- package/dist/commands/checks/create.js.map +1 -1
- package/dist/commands/checks/update.d.ts +3 -2
- package/dist/commands/checks/update.d.ts.map +1 -1
- package/dist/commands/checks/update.js +79 -19
- package/dist/commands/checks/update.js.map +1 -1
- package/dist/commands/connections/create.d.ts +14 -0
- package/dist/commands/connections/create.d.ts.map +1 -0
- package/dist/commands/connections/create.js +52 -0
- package/dist/commands/connections/create.js.map +1 -0
- package/dist/commands/connections/delete.d.ts +5 -0
- package/dist/commands/connections/delete.d.ts.map +1 -0
- package/dist/commands/connections/delete.js +35 -0
- package/dist/commands/connections/delete.js.map +1 -0
- package/dist/commands/connections/resolve.d.ts +9 -0
- package/dist/commands/connections/resolve.d.ts.map +1 -0
- package/dist/commands/connections/resolve.js +30 -0
- package/dist/commands/connections/resolve.js.map +1 -0
- package/dist/commands/connections/test.d.ts +3 -0
- package/dist/commands/connections/test.d.ts.map +1 -0
- package/dist/commands/connections/test.js +28 -0
- package/dist/commands/connections/test.js.map +1 -0
- package/dist/commands/email-groups/add.d.ts +3 -0
- package/dist/commands/email-groups/add.d.ts.map +1 -0
- package/dist/commands/email-groups/add.js +23 -0
- package/dist/commands/email-groups/add.js.map +1 -0
- package/dist/commands/email-groups/create.d.ts +8 -0
- package/dist/commands/email-groups/create.d.ts.map +1 -0
- package/dist/commands/email-groups/create.js +28 -0
- package/dist/commands/email-groups/create.js.map +1 -0
- package/dist/commands/email-groups/delete.d.ts +5 -0
- package/dist/commands/email-groups/delete.d.ts.map +1 -0
- package/dist/commands/email-groups/delete.js +35 -0
- package/dist/commands/email-groups/delete.js.map +1 -0
- package/dist/commands/email-groups/list.d.ts +5 -0
- package/dist/commands/email-groups/list.d.ts.map +1 -0
- package/dist/commands/email-groups/list.js +36 -0
- package/dist/commands/email-groups/list.js.map +1 -0
- package/dist/commands/email-groups/members.d.ts +5 -0
- package/dist/commands/email-groups/members.d.ts.map +1 -0
- package/dist/commands/email-groups/members.js +42 -0
- package/dist/commands/email-groups/members.js.map +1 -0
- package/dist/commands/email-groups/remove.d.ts +3 -0
- package/dist/commands/email-groups/remove.d.ts.map +1 -0
- package/dist/commands/email-groups/remove.js +19 -0
- package/dist/commands/email-groups/remove.js.map +1 -0
- package/dist/commands/email-groups/resolve.d.ts +6 -0
- package/dist/commands/email-groups/resolve.d.ts.map +1 -0
- package/dist/commands/email-groups/resolve.js +27 -0
- package/dist/commands/email-groups/resolve.js.map +1 -0
- package/dist/commands/org/create.d.ts +12 -0
- package/dist/commands/org/create.d.ts.map +1 -0
- package/dist/commands/org/create.js +33 -0
- package/dist/commands/org/create.js.map +1 -0
- package/dist/commands/org/list.d.ts +5 -0
- package/dist/commands/org/list.d.ts.map +1 -0
- package/dist/commands/org/list.js +35 -0
- package/dist/commands/org/list.js.map +1 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +159 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +343 -2
- package/dist/mcp.js.map +1 -1
- package/dist/prompts.d.ts +15 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +25 -0
- package/dist/prompts.js.map +1 -0
- package/dist/uuid.d.ts +13 -0
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +13 -0
- package/dist/uuid.js.map +1 -0
- package/package.json +1 -1
package/dist/api.d.ts
CHANGED
|
@@ -10,9 +10,17 @@ export declare function createClient(config: Config): {
|
|
|
10
10
|
listOrganizations: () => Promise<{
|
|
11
11
|
organizations: OrgItem[];
|
|
12
12
|
}>;
|
|
13
|
+
createOrganization: (body: CreateOrgBody) => Promise<{
|
|
14
|
+
organization: OrganizationDetail;
|
|
15
|
+
}>;
|
|
13
16
|
listConnections: () => Promise<{
|
|
14
17
|
connections: ConnectionItem[];
|
|
15
18
|
}>;
|
|
19
|
+
upsertConnection: (body: UpsertConnectionBody) => Promise<{
|
|
20
|
+
connection: ConnectionDetail;
|
|
21
|
+
}>;
|
|
22
|
+
testConnection: (id: string) => Promise<TestConnectionResult>;
|
|
23
|
+
deleteConnection: (id: string) => Promise<void>;
|
|
16
24
|
listChecks: () => Promise<{
|
|
17
25
|
checks: CheckItem[];
|
|
18
26
|
}>;
|
|
@@ -38,6 +46,35 @@ export declare function createClient(config: Config): {
|
|
|
38
46
|
setCheckQuietWindow: (id: string, body: QuietWindowBody) => Promise<{
|
|
39
47
|
item?: KnowledgeItem;
|
|
40
48
|
}>;
|
|
49
|
+
listAlertGroups: () => Promise<{
|
|
50
|
+
alert_groups: AlertGroupItem[];
|
|
51
|
+
}>;
|
|
52
|
+
createAlertGroup: (body: AlertGroupBody) => Promise<{
|
|
53
|
+
alert_group: AlertGroupItem;
|
|
54
|
+
}>;
|
|
55
|
+
updateAlertGroup: (id: string, body: AlertGroupBody) => Promise<{
|
|
56
|
+
alert_group: AlertGroupItem;
|
|
57
|
+
}>;
|
|
58
|
+
deleteAlertGroup: (id: string) => Promise<{
|
|
59
|
+
success: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
sendTestAlert: (id: string, body: SendTestAlertBody) => Promise<{
|
|
62
|
+
success: boolean;
|
|
63
|
+
message: string;
|
|
64
|
+
}>;
|
|
65
|
+
listAlertChannels: (groupId: string) => Promise<{
|
|
66
|
+
channels: AlertChannelItem[];
|
|
67
|
+
}>;
|
|
68
|
+
createAlertChannel: (body: CreateAlertChannelBody) => Promise<AlertChannelItem>;
|
|
69
|
+
deleteAlertChannel: (id: string) => Promise<void>;
|
|
70
|
+
listEmailGroups: () => Promise<{
|
|
71
|
+
groups: EmailGroupItem[];
|
|
72
|
+
}>;
|
|
73
|
+
getEmailGroup: (id: string) => Promise<EmailGroupItem>;
|
|
74
|
+
createEmailGroup: (body: CreateEmailGroupBody) => Promise<EmailGroupItem>;
|
|
75
|
+
deleteEmailGroup: (id: string) => Promise<void>;
|
|
76
|
+
addEmailGroupMembers: (id: string, emails: string[]) => Promise<void>;
|
|
77
|
+
removeEmailGroupMember: (id: string, email: string) => Promise<void>;
|
|
41
78
|
};
|
|
42
79
|
export interface TokenItem {
|
|
43
80
|
id: string;
|
|
@@ -65,6 +102,53 @@ export interface ConnectionItem {
|
|
|
65
102
|
name: string;
|
|
66
103
|
type: string;
|
|
67
104
|
}
|
|
105
|
+
/** POST /organizations body (organization.CreateOrgRequest). */
|
|
106
|
+
export interface CreateOrgBody {
|
|
107
|
+
name: string;
|
|
108
|
+
/** Optional URL-safe slug; auto-generated from the name when omitted. */
|
|
109
|
+
slug?: string;
|
|
110
|
+
}
|
|
111
|
+
/** The organization returned by POST /organizations (organization.Organization). */
|
|
112
|
+
export interface OrganizationDetail {
|
|
113
|
+
id: string;
|
|
114
|
+
name: string;
|
|
115
|
+
slug: string;
|
|
116
|
+
created_at: string;
|
|
117
|
+
updated_at: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* PUT /connections body (connection.UpsertConnectionRequest). The plaintext
|
|
121
|
+
* `connection_string` is sent over HTTPS and encrypted server-side with the
|
|
122
|
+
* organization's key; the CLI never stores it. Omit `id` to create.
|
|
123
|
+
*/
|
|
124
|
+
export interface UpsertConnectionBody {
|
|
125
|
+
id?: string;
|
|
126
|
+
name: string;
|
|
127
|
+
/** "postgres" | "postgresql" | "clickhouse" */
|
|
128
|
+
type: string;
|
|
129
|
+
connection_string: string;
|
|
130
|
+
ssl_client_cert?: string;
|
|
131
|
+
ssl_client_key?: string;
|
|
132
|
+
ssl_server_ca?: string;
|
|
133
|
+
}
|
|
134
|
+
/** A connection as returned by PUT /connections (connection.Connection). */
|
|
135
|
+
export interface ConnectionDetail {
|
|
136
|
+
id: string;
|
|
137
|
+
organization_id: string;
|
|
138
|
+
name: string;
|
|
139
|
+
type: string;
|
|
140
|
+
test_status: string;
|
|
141
|
+
last_tested_at: string;
|
|
142
|
+
created_at: string;
|
|
143
|
+
updated_at: string;
|
|
144
|
+
}
|
|
145
|
+
/** POST /connections/:id/test (connection.TestConnectionResponse). */
|
|
146
|
+
export interface TestConnectionResult {
|
|
147
|
+
success: boolean;
|
|
148
|
+
error?: string;
|
|
149
|
+
permissions?: string[];
|
|
150
|
+
warning?: string;
|
|
151
|
+
}
|
|
68
152
|
/**
|
|
69
153
|
* GET /checks returns db.Check rows serialized with Go PascalCase field names
|
|
70
154
|
* (no json tags on the sqlc model). Interval/LastStatus are sql.Null* wrappers.
|
|
@@ -180,4 +264,100 @@ export interface QuietWindowBody {
|
|
|
180
264
|
after?: string;
|
|
181
265
|
clear?: boolean;
|
|
182
266
|
}
|
|
267
|
+
/** Encore's uuid.NullUUID wire shape. */
|
|
268
|
+
export interface NullUUID {
|
|
269
|
+
UUID: string | null;
|
|
270
|
+
Valid: boolean;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* An alert group (db.AlertGroup, serialized with Go PascalCase field names —
|
|
274
|
+
* no json tags). Description/IsDefault are sql.Null* wrappers.
|
|
275
|
+
*/
|
|
276
|
+
export interface AlertGroupItem {
|
|
277
|
+
ID: string;
|
|
278
|
+
OrganizationID: string;
|
|
279
|
+
Name: string;
|
|
280
|
+
IsDefault: {
|
|
281
|
+
Bool: boolean;
|
|
282
|
+
Valid: boolean;
|
|
283
|
+
} | null;
|
|
284
|
+
Description: {
|
|
285
|
+
String: string;
|
|
286
|
+
Valid: boolean;
|
|
287
|
+
} | null;
|
|
288
|
+
}
|
|
289
|
+
/** POST/PUT /alert-groups body. is_default + description are required (not pointers). */
|
|
290
|
+
export interface AlertGroupBody {
|
|
291
|
+
name: string;
|
|
292
|
+
description: string;
|
|
293
|
+
is_default: boolean;
|
|
294
|
+
}
|
|
295
|
+
/** POST /alert-groups/:id/test body. */
|
|
296
|
+
export interface SendTestAlertBody {
|
|
297
|
+
alert_group_id: string;
|
|
298
|
+
check_name?: string;
|
|
299
|
+
alert_level?: string;
|
|
300
|
+
description?: string;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* An alert channel — a recipient within a group (alert.AlertChannel, json
|
|
304
|
+
* tags). `config` holds slack/webhook settings; `email_group_id` links an
|
|
305
|
+
* email_group channel to its list.
|
|
306
|
+
*/
|
|
307
|
+
export interface AlertChannelItem {
|
|
308
|
+
id: string;
|
|
309
|
+
alert_group_id: string;
|
|
310
|
+
channel_type: string;
|
|
311
|
+
config?: unknown;
|
|
312
|
+
enabled: boolean;
|
|
313
|
+
/** Asymmetric: a string in responses (when set), the object form in requests. */
|
|
314
|
+
email_group_id?: string | NullUUID | null;
|
|
315
|
+
created_at: string;
|
|
316
|
+
updated_at: string;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* POST /alert/channels body. For webhook/slack send `config` (e.g.
|
|
320
|
+
* `{ url }` / `{ channel }`) and `email_group_id: null`; for email_group leave
|
|
321
|
+
* config `{}` and set `email_group_id` to the email group's UUID string.
|
|
322
|
+
*
|
|
323
|
+
* Note: the backend decodes `email_group_id` (a uuid.NullUUID) from a bare
|
|
324
|
+
* string or null on the wire — NOT the `{ UUID, Valid }` object (that object is
|
|
325
|
+
* a client-side representation the generated Encore client transforms away).
|
|
326
|
+
*/
|
|
327
|
+
export interface CreateAlertChannelBody {
|
|
328
|
+
alert_group_id: string;
|
|
329
|
+
channel_type: string;
|
|
330
|
+
config?: unknown;
|
|
331
|
+
email_group_id: string | null;
|
|
332
|
+
}
|
|
333
|
+
/** An email group recipient list (alert.EmailGroup, json tags). */
|
|
334
|
+
export interface EmailGroupItem {
|
|
335
|
+
id: string;
|
|
336
|
+
organization_id: string;
|
|
337
|
+
name: string;
|
|
338
|
+
description?: string;
|
|
339
|
+
auto_add_members: boolean;
|
|
340
|
+
is_default: boolean;
|
|
341
|
+
member_count?: number;
|
|
342
|
+
members?: EmailGroupMemberItem[];
|
|
343
|
+
created_at: string;
|
|
344
|
+
updated_at: string;
|
|
345
|
+
}
|
|
346
|
+
export interface EmailGroupMemberItem {
|
|
347
|
+
id: string;
|
|
348
|
+
email: string;
|
|
349
|
+
name?: string;
|
|
350
|
+
/** Asymmetric: a string in responses (when set), the object form in requests. */
|
|
351
|
+
user_id?: string | NullUUID | null;
|
|
352
|
+
added_at: string;
|
|
353
|
+
}
|
|
354
|
+
/** POST /email-groups body. */
|
|
355
|
+
export interface CreateEmailGroupBody {
|
|
356
|
+
name: string;
|
|
357
|
+
description?: string;
|
|
358
|
+
auto_add_members: boolean;
|
|
359
|
+
is_default: boolean;
|
|
360
|
+
/** Initial member emails. */
|
|
361
|
+
members?: string[];
|
|
362
|
+
}
|
|
183
363
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6C,MAAM,aAAa,CAAA;AAE/E,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM;CAKlB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM;;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -33,17 +33,23 @@ export function createClient(config) {
|
|
|
33
33
|
catch { }
|
|
34
34
|
throw new ApiError(res.status, msg);
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
// Some endpoints (e.g. DELETE) return an empty body; don't try to parse it.
|
|
37
|
+
const respText = await res.text();
|
|
38
|
+
if (!respText)
|
|
37
39
|
return undefined;
|
|
38
|
-
return
|
|
40
|
+
return JSON.parse(respText);
|
|
39
41
|
}
|
|
40
42
|
return {
|
|
41
43
|
// Auth
|
|
42
44
|
listTokens: () => request('GET', '/auth/tokens'),
|
|
43
45
|
// Organizations
|
|
44
46
|
listOrganizations: () => request('GET', '/organizations'),
|
|
47
|
+
createOrganization: (body) => request('POST', '/organizations', body),
|
|
45
48
|
// Connections
|
|
46
49
|
listConnections: () => request('GET', '/connections'),
|
|
50
|
+
upsertConnection: (body) => request('PUT', '/connections', body),
|
|
51
|
+
testConnection: (id) => request('POST', `/connections/${id}/test`),
|
|
52
|
+
deleteConnection: (id) => request('DELETE', `/connections/${id}`),
|
|
47
53
|
// Checks
|
|
48
54
|
listChecks: () => request('GET', '/checks'),
|
|
49
55
|
getCheck: (id) => request('GET', `/checks/${id}`),
|
|
@@ -54,6 +60,23 @@ export function createClient(config) {
|
|
|
54
60
|
deleteCheck: (id) => request('DELETE', `/checks/${id}`),
|
|
55
61
|
snoozeCheck: (id, body) => request('POST', `/knowledge/checks/${id}/snooze`, body),
|
|
56
62
|
setCheckQuietWindow: (id, body) => request('POST', `/knowledge/checks/${id}/quiet`, body),
|
|
63
|
+
// Alert groups
|
|
64
|
+
listAlertGroups: () => request('GET', '/alert-groups'),
|
|
65
|
+
createAlertGroup: (body) => request('POST', '/alert-groups', body),
|
|
66
|
+
updateAlertGroup: (id, body) => request('PUT', `/alert-groups/${id}`, body),
|
|
67
|
+
deleteAlertGroup: (id) => request('DELETE', `/alert-groups/${id}`),
|
|
68
|
+
sendTestAlert: (id, body) => request('POST', `/alert-groups/${id}/test`, body),
|
|
69
|
+
// Alert channels (recipients within a group)
|
|
70
|
+
listAlertChannels: (groupId) => request('GET', `/alert/groups/${groupId}/channels`),
|
|
71
|
+
createAlertChannel: (body) => request('POST', '/alert/channels', body),
|
|
72
|
+
deleteAlertChannel: (id) => request('DELETE', `/alert/channels/${id}`),
|
|
73
|
+
// Email groups (recipient lists)
|
|
74
|
+
listEmailGroups: () => request('GET', '/email-groups'),
|
|
75
|
+
getEmailGroup: (id) => request('GET', `/email-groups/${id}`),
|
|
76
|
+
createEmailGroup: (body) => request('POST', '/email-groups', body),
|
|
77
|
+
deleteEmailGroup: (id) => request('DELETE', `/email-groups/${id}`),
|
|
78
|
+
addEmailGroupMembers: (id, emails) => request('POST', `/email-groups/${id}/members`, { emails }),
|
|
79
|
+
removeEmailGroupMember: (id, email) => request('DELETE', `/email-groups/${id}/members/${encodeURIComponent(email)}`),
|
|
57
80
|
};
|
|
58
81
|
}
|
|
59
82
|
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/E,MAAM,OAAO,QAAS,SAAQ,KAAK;IAEf;IADlB,YACkB,MAAc,EAC9B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAA;QAHE,WAAM,GAAN,MAAM,CAAQ;QAI9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE;QAC/D,cAAc,EAAE,kBAAkB;KACnC,CAAA;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAA;IACtC,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,IAAY,EACZ,IAAc;QAEd,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;YAC3C,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,CAAA;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAA;gBACtD,IAAI,GAAG,CAAC,OAAO;oBAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;YACpC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface AddEmailGroupOptions {
|
|
2
|
+
emailGroup?: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Attach an email group (recipient list) to an alert group, so its members
|
|
6
|
+
* receive the group's alerts.
|
|
7
|
+
*/
|
|
8
|
+
export declare function addEmailGroupRecipient(nameOrId: string, opts?: AddEmailGroupOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=add-email-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-email-group.d.ts","sourceRoot":"","sources":["../../../src/commands/alert-groups/add-email-group.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createClient } from '../../api.js';
|
|
2
|
+
import { requireConfig, requireOrg } from '../../config.js';
|
|
3
|
+
import { resolveEmailGroupId } from '../email-groups/resolve.js';
|
|
4
|
+
import { resolveAlertGroupId } from './resolve.js';
|
|
5
|
+
/**
|
|
6
|
+
* Attach an email group (recipient list) to an alert group, so its members
|
|
7
|
+
* receive the group's alerts.
|
|
8
|
+
*/
|
|
9
|
+
export async function addEmailGroupRecipient(nameOrId, opts = {}) {
|
|
10
|
+
if (!opts.emailGroup) {
|
|
11
|
+
console.error('Email group required. Pass --email-group <name|id> (see: alertee email-groups list).');
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
const config = requireConfig();
|
|
15
|
+
requireOrg(config);
|
|
16
|
+
const client = createClient(config);
|
|
17
|
+
const groupId = await resolveAlertGroupId(client, nameOrId);
|
|
18
|
+
const emailGroupId = await resolveEmailGroupId(client, opts.emailGroup);
|
|
19
|
+
try {
|
|
20
|
+
const channel = await client.createAlertChannel({
|
|
21
|
+
alert_group_id: groupId,
|
|
22
|
+
channel_type: 'email_group',
|
|
23
|
+
config: {},
|
|
24
|
+
email_group_id: emailGroupId,
|
|
25
|
+
});
|
|
26
|
+
console.log(`Added email-group recipient (${channel.id}).`);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
console.error('Failed to add email group:', err.message);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=add-email-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-email-group.js","sourceRoot":"","sources":["../../../src/commands/alert-groups/add-email-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAMlD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,OAA6B,EAAE;IAE/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAA;QACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,UAAU,CAAC,MAAM,CAAC,CAAA;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC3D,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAEvE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9C,cAAc,EAAE,OAAO;YACvB,YAAY,EAAE,aAAa;YAC3B,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,YAAY;SAC7B,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface AddWebhookOptions {
|
|
2
|
+
url?: string;
|
|
3
|
+
/** Repeatable "Key: Value" headers. */
|
|
4
|
+
header?: string[];
|
|
5
|
+
}
|
|
6
|
+
/** Add a webhook recipient to an alert group. */
|
|
7
|
+
export declare function addWebhook(nameOrId: string, opts?: AddWebhookOptions): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=add-webhook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-webhook.d.ts","sourceRoot":"","sources":["../../../src/commands/alert-groups/add-webhook.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,iDAAiD;AACjD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { input } from '@inquirer/prompts';
|
|
2
|
+
import { createClient } from '../../api.js';
|
|
3
|
+
import { requireConfig, requireOrg } from '../../config.js';
|
|
4
|
+
import { requireValue } from '../../prompts.js';
|
|
5
|
+
import { resolveAlertGroupId } from './resolve.js';
|
|
6
|
+
/** Add a webhook recipient to an alert group. */
|
|
7
|
+
export async function addWebhook(nameOrId, opts = {}) {
|
|
8
|
+
const config = requireConfig();
|
|
9
|
+
requireOrg(config);
|
|
10
|
+
const client = createClient(config);
|
|
11
|
+
const groupId = await resolveAlertGroupId(client, nameOrId);
|
|
12
|
+
const url = await requireValue(opts.url, () => input({
|
|
13
|
+
message: 'Webhook URL:',
|
|
14
|
+
validate: (v) => {
|
|
15
|
+
try {
|
|
16
|
+
new URL(v);
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return 'Enter a valid URL';
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
}), 'Webhook URL required. Pass --url "https://…".');
|
|
24
|
+
try {
|
|
25
|
+
new URL(url);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
console.error(`Invalid --url "${url}".`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
const headers = parseHeaders(opts.header);
|
|
32
|
+
const webhookConfig = { url };
|
|
33
|
+
if (headers && Object.keys(headers).length > 0)
|
|
34
|
+
webhookConfig.headers = headers;
|
|
35
|
+
try {
|
|
36
|
+
const channel = await client.createAlertChannel({
|
|
37
|
+
alert_group_id: groupId,
|
|
38
|
+
channel_type: 'webhook',
|
|
39
|
+
config: webhookConfig,
|
|
40
|
+
email_group_id: null,
|
|
41
|
+
});
|
|
42
|
+
console.log(`Added webhook recipient (${channel.id}).`);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
console.error('Failed to add webhook:', err.message);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Parse repeatable "Key: Value" flags into a headers object. */
|
|
50
|
+
function parseHeaders(raw) {
|
|
51
|
+
if (!raw || raw.length === 0)
|
|
52
|
+
return undefined;
|
|
53
|
+
const headers = {};
|
|
54
|
+
for (const h of raw) {
|
|
55
|
+
const idx = h.indexOf(':');
|
|
56
|
+
if (idx === -1) {
|
|
57
|
+
console.error(`Invalid --header "${h}". Use "Key: Value".`);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
headers[h.slice(0, idx).trim()] = h.slice(idx + 1).trim();
|
|
61
|
+
}
|
|
62
|
+
return headers;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=add-webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-webhook.js","sourceRoot":"","sources":["../../../src/commands/alert-groups/add-webhook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface CreateAlertGroupOptions {
|
|
2
|
+
description?: string;
|
|
3
|
+
default?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Create an alert group. A group is an empty container until you add recipients
|
|
7
|
+
* (`alert-groups add-webhook` / `add-email-group`). Checks route to a group via
|
|
8
|
+
* `checks create --alert-group`; the default group catches checks with none set.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createAlertGroup(name: string | undefined, opts?: CreateAlertGroupOptions): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/alert-groups/create.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { input } from '@inquirer/prompts';
|
|
2
|
+
import { createClient } from '../../api.js';
|
|
3
|
+
import { requireConfig, requireOrg } from '../../config.js';
|
|
4
|
+
import { requireValue } from '../../prompts.js';
|
|
5
|
+
/**
|
|
6
|
+
* Create an alert group. A group is an empty container until you add recipients
|
|
7
|
+
* (`alert-groups add-webhook` / `add-email-group`). Checks route to a group via
|
|
8
|
+
* `checks create --alert-group`; the default group catches checks with none set.
|
|
9
|
+
*/
|
|
10
|
+
export async function createAlertGroup(name, opts = {}) {
|
|
11
|
+
const config = requireConfig();
|
|
12
|
+
requireOrg(config);
|
|
13
|
+
const client = createClient(config);
|
|
14
|
+
const resolvedName = await requireValue(name, () => input({ message: 'Alert group name:', validate: (v) => v.trim().length > 0 || 'Required' }), 'Alert group name required. Pass it as an argument: alertee alert-groups create "<name>"');
|
|
15
|
+
let group;
|
|
16
|
+
try {
|
|
17
|
+
const resp = await client.createAlertGroup({
|
|
18
|
+
name: resolvedName,
|
|
19
|
+
description: opts.description ?? '',
|
|
20
|
+
is_default: opts.default ?? false,
|
|
21
|
+
});
|
|
22
|
+
group = resp.alert_group;
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
console.error('Failed to create alert group:', err.message);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
console.log(`Created alert group "${group.Name}" (${group.ID}).`);
|
|
29
|
+
console.log('Add recipients: alertee alert-groups add-webhook <group> --url … (or add-email-group)');
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/alert-groups/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAO/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAwB,EACxB,OAAgC,EAAE;IAElC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,UAAU,CAAC,MAAM,CAAC,CAAA;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,MAAM,YAAY,CACrC,IAAI,EACJ,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC,EACzG,yFAAyF,CAC1F,CAAA;IAED,IAAI,KAAyE,CAAA;IAC7E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;YACzC,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;SAClC,CAAC,CAAA;QACF,KAAK,GAAG,IAAI,CAAC,WAAW,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAA;AACtG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/alert-groups/delete.ts"],"names":[],"mappings":"AAMA,oFAAoF;AACpF,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { confirm } from '@inquirer/prompts';
|
|
2
|
+
import { createClient } from '../../api.js';
|
|
3
|
+
import { requireConfig, requireOrg } from '../../config.js';
|
|
4
|
+
import { isInteractive } from '../../prompts.js';
|
|
5
|
+
import { resolveAlertGroupId } from './resolve.js';
|
|
6
|
+
/** Delete an alert group (by name or ID). Prompts for confirmation unless --yes. */
|
|
7
|
+
export async function deleteAlertGroup(nameOrId, opts = {}) {
|
|
8
|
+
const config = requireConfig();
|
|
9
|
+
requireOrg(config);
|
|
10
|
+
const client = createClient(config);
|
|
11
|
+
const id = await resolveAlertGroupId(client, nameOrId);
|
|
12
|
+
if (!opts.yes) {
|
|
13
|
+
if (!isInteractive()) {
|
|
14
|
+
console.error('Refusing to delete without confirmation. Pass --yes.');
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
const ok = await confirm({
|
|
18
|
+
message: `Delete alert group "${nameOrId}"? Checks using it fall back to the default group.`,
|
|
19
|
+
default: false,
|
|
20
|
+
});
|
|
21
|
+
if (!ok) {
|
|
22
|
+
console.log('Aborted.');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
await client.deleteAlertGroup(id);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
console.error('Failed to delete alert group:', err.message);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
console.log(`Deleted alert group ${id}.`);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/alert-groups/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAA0B,EAAE;IAE5B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,UAAU,CAAC,MAAM,CAAC,CAAA;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEtD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;YACvB,OAAO,EAAE,uBAAuB,QAAQ,oDAAoD;YAC5F,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;AAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/alert-groups/list.ts"],"names":[],"mappings":"AAIA,kFAAkF;AAClF,wBAAsB,eAAe,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCnF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createClient } from '../../api.js';
|
|
2
|
+
import { requireConfig, requireOrg } from '../../config.js';
|
|
3
|
+
import { printJson, resolveFormat } from '../../output.js';
|
|
4
|
+
/** List alert groups in the linked organization (the default one is marked *). */
|
|
5
|
+
export async function listAlertGroups(opts = {}) {
|
|
6
|
+
const format = resolveFormat(opts.format);
|
|
7
|
+
const config = requireConfig();
|
|
8
|
+
requireOrg(config);
|
|
9
|
+
const client = createClient(config);
|
|
10
|
+
let groups;
|
|
11
|
+
try {
|
|
12
|
+
groups = (await client.listAlertGroups()).alert_groups;
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
console.error('Failed to list alert groups:', err.message);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
if (format === 'json') {
|
|
19
|
+
printJson(groups);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (groups.length === 0) {
|
|
23
|
+
console.log('No alert groups found.');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const nameWidth = Math.max(4, ...groups.map((g) => g.Name.length));
|
|
27
|
+
const header = ` ${'NAME'.padEnd(nameWidth)} ID`;
|
|
28
|
+
console.log(header);
|
|
29
|
+
console.log('─'.repeat(header.length));
|
|
30
|
+
for (const g of groups) {
|
|
31
|
+
const marker = g.IsDefault?.Bool ? '*' : ' ';
|
|
32
|
+
console.log(`${marker} ${g.Name.padEnd(nameWidth)} ${g.ID}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/alert-groups/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE1D,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA4B,EAAE;IAClE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,UAAU,CAAC,MAAM,CAAC,CAAA;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAEnC,IAAI,MAA0E,CAAA;IAC9E,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,YAAY,CAAA;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,MAAM,CAAC,CAAA;QACjB,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../../src/commands/alert-groups/recipients.ts"],"names":[],"mappings":"AAMA,wDAAwD;AACxD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
|