@alertee/cli 0.2.0 → 0.3.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 CHANGED
@@ -26,6 +26,18 @@ export declare function createClient(config: Config): {
26
26
  createCheck: (body: CreateCheckBody) => Promise<{
27
27
  check: CheckItem;
28
28
  }>;
29
+ patchCheck: (id: string, body: PatchCheckBody) => Promise<{
30
+ success: boolean;
31
+ }>;
32
+ deleteCheck: (id: string) => Promise<{
33
+ success: boolean;
34
+ }>;
35
+ snoozeCheck: (id: string, body: SnoozeCheckBody) => Promise<{
36
+ item: KnowledgeItem;
37
+ }>;
38
+ setCheckQuietWindow: (id: string, body: QuietWindowBody) => Promise<{
39
+ item?: KnowledgeItem;
40
+ }>;
29
41
  };
30
42
  export interface TokenItem {
31
43
  id: string;
@@ -94,15 +106,78 @@ export interface RunCheckResult {
94
106
  error?: string;
95
107
  result?: CheckResultItem;
96
108
  }
109
+ /**
110
+ * A check condition. For single-value checks set `type` (the comparison) and
111
+ * `value` (the threshold). For grid (multi-dimensional) checks set
112
+ * `evaluation_type`; for any_cell/all_cells also set `type`+`value` as the
113
+ * per-cell comparison. `severity`/`custom_message`/`dimension_column` are
114
+ * grid-only and optional.
115
+ */
116
+ export interface ConditionBody {
117
+ type?: string;
118
+ value?: string;
119
+ evaluation_type?: 'any_cell' | 'all_cells' | 'dimension_missing' | 'dimension_added';
120
+ severity?: 'info' | 'warning' | 'critical';
121
+ custom_message?: string;
122
+ dimension_column?: string;
123
+ }
97
124
  export interface CreateCheckBody {
98
125
  name: string;
99
126
  connection_id: string;
100
127
  query: string;
101
- condition: {
102
- type: string;
103
- value: string;
104
- };
128
+ condition: ConditionBody;
105
129
  interval: string;
106
130
  alert_group_id?: string;
131
+ alert_level?: string;
132
+ /** Optional name->label mapping query for grid checks. */
133
+ label_query?: string;
134
+ }
135
+ /**
136
+ * PATCH /checks/:id is a partial update — only the fields present are changed,
137
+ * everything else is left untouched (the backend merges against the stored
138
+ * check). Send just what you want to change.
139
+ */
140
+ export interface PatchCheckBody {
141
+ name?: string;
142
+ query?: string;
143
+ condition?: ConditionBody;
144
+ enabled?: boolean;
145
+ check_type?: string;
146
+ alert_group_id?: string;
147
+ justification?: string;
148
+ alert_level?: string;
149
+ interval?: string;
150
+ schedule?: string;
151
+ alerts_enabled?: boolean;
152
+ grace_period_enabled?: boolean;
153
+ grace_period?: number;
154
+ grace_period_type?: string;
155
+ grace_period_window?: number;
156
+ label_query?: string;
157
+ }
158
+ /** A knowledge_item as returned by the knowledge service (subset we surface). */
159
+ export interface KnowledgeItem {
160
+ id: string;
161
+ kind: string;
162
+ subject: string;
163
+ confidence: string;
164
+ created_by: string;
165
+ valid_from: string;
166
+ valid_until?: string | null;
167
+ }
168
+ /** POST /knowledge/checks/:id/snooze */
169
+ export interface SnoozeCheckBody {
170
+ timezone?: string;
171
+ until?: string;
172
+ reason?: string;
173
+ }
174
+ /** POST /knowledge/checks/:id/quiet */
175
+ export interface QuietWindowBody {
176
+ timezone?: string;
177
+ reason?: string;
178
+ weekdays?: boolean;
179
+ before?: string;
180
+ after?: string;
181
+ clear?: boolean;
107
182
  }
108
183
  //# 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;;gBAoCnB,SAAS,EAAE;;;uBAIJ,OAAO,EAAE;;;qBAIX,cAAc,EAAE;;;gBAIrB,SAAS,EAAE;;mBAEhB,MAAM;eACF,SAAS;;0BAEN,MAAM,SAAS,MAAM;iBACtB,eAAe,EAAE;;mBAKvB,MAAM;wBAGD,eAAe;eAChB,SAAS;;EAE/B;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1D,UAAU,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAE1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IACrD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;CACnD;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,eAAe,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB"}
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;;gBAoCnB,SAAS,EAAE;;;uBAIJ,OAAO,EAAE;;;qBAIX,cAAc,EAAE;;;gBAIrB,SAAS,EAAE;;mBAEhB,MAAM;eACF,SAAS;;0BAEN,MAAM,SAAS,MAAM;iBACtB,eAAe,EAAE;;mBAKvB,MAAM;wBAGD,eAAe;eAChB,SAAS;;qBAEX,MAAM,QAAQ,cAAc;iBACxB,OAAO;;sBAEV,MAAM;iBACH,OAAO;;sBAEV,MAAM,QAAQ,eAAe;cAC7B,aAAa;;8BAML,MAAM,QAAQ,eAAe;eACpC,aAAa;;EAMnC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1D,UAAU,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAE1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IACrD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;CACnD;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,eAAe,CAAA;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,CAAA;IACpF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB"}
package/dist/api.js CHANGED
@@ -50,6 +50,10 @@ export function createClient(config) {
50
50
  getCheckHistory: (id, hours) => request('GET', `/checks/${id}/history?hours=${hours}`),
51
51
  runCheck: (id) => request('POST', '/checks/run', { check_id: id }),
52
52
  createCheck: (body) => request('POST', '/checks', body),
53
+ patchCheck: (id, body) => request('PATCH', `/checks/${id}`, body),
54
+ deleteCheck: (id) => request('DELETE', `/checks/${id}`),
55
+ snoozeCheck: (id, body) => request('POST', `/knowledge/checks/${id}/snooze`, body),
56
+ setCheckQuietWindow: (id, body) => request('POST', `/knowledge/checks/${id}/quiet`, body),
53
57
  };
54
58
  }
55
59
  //# 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,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,SAAc,CAAA;QAC7C,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAA;IACjC,CAAC;IAED,OAAO;QACL,OAAO;QACP,UAAU,EAAE,GAAG,EAAE,CACf,OAAO,CAA0B,KAAK,EAAE,cAAc,CAAC;QAEzD,gBAAgB;QAChB,iBAAiB,EAAE,GAAG,EAAE,CACtB,OAAO,CAA+B,KAAK,EAAE,gBAAgB,CAAC;QAEhE,cAAc;QACd,eAAe,EAAE,GAAG,EAAE,CACpB,OAAO,CAAoC,KAAK,EAAE,cAAc,CAAC;QAEnE,SAAS;QACT,UAAU,EAAE,GAAG,EAAE,CACf,OAAO,CAA0B,KAAK,EAAE,SAAS,CAAC;QAEpD,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CACvB,OAAO,CAAuB,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;QAEvD,eAAe,EAAE,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE,CAC7C,OAAO,CACL,KAAK,EACL,WAAW,EAAE,kBAAkB,KAAK,EAAE,CACvC;QAEH,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CACvB,OAAO,CAAiB,MAAM,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAElE,WAAW,EAAE,CAAC,IAAqB,EAAE,EAAE,CACrC,OAAO,CAAuB,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC;KACzD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/create.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEjD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/create.ts"],"names":[],"mappings":"AAcA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAoIjD"}
@@ -1,7 +1,15 @@
1
- import { input, number, select } from '@inquirer/prompts';
1
+ import { confirm, input, number, select } from '@inquirer/prompts';
2
2
  import { createClient } from '../../api.js';
3
3
  import { requireConfig, resolveOrgId, resolveWebUrl, usingEnvToken } from '../../config.js';
4
4
  import { INTERVAL_CHOICES } from '../../intervals.js';
5
+ const CELL_COMPARISONS = [
6
+ { name: 'Greater than', value: 'greater_than' },
7
+ { name: 'Less than', value: 'less_than' },
8
+ { name: 'Greater than or equal', value: 'greater_or_equal' },
9
+ { name: 'Less than or equal', value: 'less_or_equal' },
10
+ { name: 'Equal to', value: 'equals' },
11
+ { name: 'Not equal to', value: 'not_equals' },
12
+ ];
5
13
  export async function createCheck() {
6
14
  const config = requireConfig();
7
15
  if (!resolveOrgId(config) && !usingEnvToken()) {
@@ -28,23 +36,79 @@ export async function createCheck() {
28
36
  message: 'Database connection:',
29
37
  choices: connections.map((c) => ({ name: `${c.name} (${c.type})`, value: c.id })),
30
38
  });
31
- const query = await input({
32
- message: 'SQL query (must return a single numeric value):',
33
- validate: (v) => v.trim().length > 0 || 'Query is required',
34
- });
35
- const conditionType = await select({
36
- message: 'Condition type:',
39
+ const mode = await select({
40
+ message: 'Evaluation:',
37
41
  choices: [
38
- { name: 'Greater than', value: 'greater_than' },
39
- { name: 'Less than', value: 'less_than' },
40
- { name: 'Equal to', value: 'equals' },
41
- { name: 'Not equal to', value: 'not_equals' },
42
+ { name: 'Single value (query returns one number)', value: 'single' },
43
+ { name: 'Multi-dimensional / grid (query returns name + value rows)', value: 'grid' },
42
44
  ],
43
45
  });
44
- const threshold = await number({
45
- message: 'Threshold value:',
46
- validate: (v) => v !== undefined || 'Required',
46
+ const query = await input({
47
+ message: mode === 'grid'
48
+ ? 'SQL query (must return `name` and `value` columns, one row per dimension):'
49
+ : 'SQL query (must return a single numeric value):',
50
+ validate: (v) => v.trim().length > 0 || 'Query is required',
47
51
  });
52
+ let condition;
53
+ let labelQuery;
54
+ if (mode === 'grid') {
55
+ const evaluationType = await select({
56
+ message: 'Grid evaluation type:',
57
+ choices: [
58
+ { name: 'Any cell meets a condition', value: 'any_cell' },
59
+ { name: 'All cells meet a condition', value: 'all_cells' },
60
+ { name: 'A dimension goes missing', value: 'dimension_missing' },
61
+ { name: 'A new dimension appears', value: 'dimension_added' },
62
+ ],
63
+ });
64
+ condition = { evaluation_type: evaluationType };
65
+ if (evaluationType === 'any_cell' || evaluationType === 'all_cells') {
66
+ const comparison = await select({
67
+ message: 'Per-cell comparison:',
68
+ choices: CELL_COMPARISONS,
69
+ });
70
+ const threshold = await number({
71
+ message: 'Threshold value:',
72
+ validate: (v) => v !== undefined || 'Required',
73
+ });
74
+ condition.type = comparison;
75
+ condition.value = String(threshold);
76
+ }
77
+ condition.severity = await select({
78
+ message: 'Cell severity when matched:',
79
+ choices: [
80
+ { name: 'Warning', value: 'warning' },
81
+ { name: 'Critical', value: 'critical' },
82
+ { name: 'Info', value: 'info' },
83
+ ],
84
+ });
85
+ const wantsLabels = await confirm({
86
+ message: 'Add a label query (map dimension keys to display names)?',
87
+ default: false,
88
+ });
89
+ if (wantsLabels) {
90
+ labelQuery = await input({
91
+ message: 'Label query (must return `name` and `label` columns):',
92
+ validate: (v) => v.trim().length > 0 || 'Label query is required',
93
+ });
94
+ }
95
+ }
96
+ else {
97
+ const conditionType = await select({
98
+ message: 'Condition type:',
99
+ choices: [
100
+ { name: 'Greater than', value: 'greater_than' },
101
+ { name: 'Less than', value: 'less_than' },
102
+ { name: 'Equal to', value: 'equals' },
103
+ { name: 'Not equal to', value: 'not_equals' },
104
+ ],
105
+ });
106
+ const threshold = await number({
107
+ message: 'Threshold value:',
108
+ validate: (v) => v !== undefined || 'Required',
109
+ });
110
+ condition = { type: conditionType, value: String(threshold) };
111
+ }
48
112
  const interval = await select({
49
113
  message: 'Check interval:',
50
114
  choices: INTERVAL_CHOICES,
@@ -54,8 +118,9 @@ export async function createCheck() {
54
118
  name,
55
119
  connection_id: connectionId,
56
120
  query,
57
- condition: { type: conditionType, value: String(threshold) },
121
+ condition,
58
122
  interval,
123
+ label_query: labelQuery,
59
124
  });
60
125
  console.log(`\nCheck created: ${resp.check.ID}`);
61
126
  console.log(`View at: ${resolveWebUrl()}/checks/${resp.check.ID}`);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/checks/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/checks/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function deleteCheck(nameOrId: string, opts?: {
2
+ yes?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/delete.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAyBf"}
@@ -0,0 +1,29 @@
1
+ import { confirm } from '@inquirer/prompts';
2
+ import { createClient } from '../../api.js';
3
+ import { requireConfig, requireOrg } from '../../config.js';
4
+ import { resolveCheckId } from './resolve.js';
5
+ export async function deleteCheck(nameOrId, opts = {}) {
6
+ const config = requireConfig();
7
+ requireOrg(config);
8
+ const client = createClient(config);
9
+ const id = await resolveCheckId(client, nameOrId);
10
+ if (!opts.yes) {
11
+ const ok = await confirm({
12
+ message: `Delete check ${id}? This cannot be undone.`,
13
+ default: false,
14
+ });
15
+ if (!ok) {
16
+ console.log('Aborted.');
17
+ return;
18
+ }
19
+ }
20
+ try {
21
+ await client.deleteCheck(id);
22
+ console.log(`Deleted check ${id}`);
23
+ }
24
+ catch (err) {
25
+ console.error('Failed to delete check:', err.message);
26
+ process.exit(1);
27
+ }
28
+ }
29
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/checks/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,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,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;IAEnC,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEjD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;YACvB,OAAO,EAAE,gBAAgB,EAAE,0BAA0B;YACrD,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,WAAW,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function setQuietWindow(nameOrId: string, opts?: {
2
+ timezone?: string;
3
+ before?: string;
4
+ after?: string;
5
+ weekdays?: boolean;
6
+ reason?: string;
7
+ clear?: boolean;
8
+ format?: string;
9
+ }): Promise<void>;
10
+ //# sourceMappingURL=quiet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quiet.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/quiet.ts"],"names":[],"mappings":"AAKA,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GACL,OAAO,CAAC,IAAI,CAAC,CAwCf"}
@@ -0,0 +1,40 @@
1
+ import { createClient } from '../../api.js';
2
+ import { requireConfig, requireOrg } from '../../config.js';
3
+ import { printJson, resolveFormat } from '../../output.js';
4
+ import { resolveCheckId } from './resolve.js';
5
+ export async function setQuietWindow(nameOrId, opts = {}) {
6
+ const format = resolveFormat(opts.format);
7
+ const config = requireConfig();
8
+ requireOrg(config);
9
+ const client = createClient(config);
10
+ if (!opts.clear && !opts.before && !opts.after) {
11
+ console.error('Provide --before and/or --after (HH:MM), or --clear to remove the window.');
12
+ process.exit(1);
13
+ }
14
+ const id = await resolveCheckId(client, nameOrId);
15
+ let res;
16
+ try {
17
+ res = await client.setCheckQuietWindow(id, {
18
+ timezone: opts.timezone,
19
+ before: opts.before,
20
+ after: opts.after,
21
+ weekdays: opts.weekdays,
22
+ reason: opts.reason,
23
+ clear: opts.clear,
24
+ });
25
+ }
26
+ catch (err) {
27
+ console.error('Failed to set quiet window:', err.message);
28
+ process.exit(1);
29
+ }
30
+ if (format === 'json') {
31
+ printJson(res);
32
+ return;
33
+ }
34
+ if (opts.clear) {
35
+ console.log('Quiet window cleared.');
36
+ return;
37
+ }
38
+ console.log(`Quiet window set. ${res.item?.subject ?? ''}`.trim());
39
+ }
40
+ //# sourceMappingURL=quiet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quiet.js","sourceRoot":"","sources":["../../../src/commands/checks/quiet.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;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,OAQI,EAAE;IAEN,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,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CACX,2EAA2E,CAC5E,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEjD,IAAI,GAA2D,CAAA;IAC/D,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,GAAG,CAAC,CAAA;QACd,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAM;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { createClient } from '../../api.js';
2
+ type Client = ReturnType<typeof createClient>;
3
+ /**
4
+ * Resolve a check argument that may be either a UUID or a (case-insensitive)
5
+ * name. Exits the process with a helpful message on no/ambiguous matches.
6
+ */
7
+ export declare function resolveCheckId(client: Client, nameOrId: string): Promise<string>;
8
+ export {};
9
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAK7C;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
@@ -0,0 +1,30 @@
1
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
2
+ /**
3
+ * Resolve a check argument that may be either a UUID or a (case-insensitive)
4
+ * name. Exits the process with a helpful message on no/ambiguous matches.
5
+ */
6
+ export async function resolveCheckId(client, nameOrId) {
7
+ if (UUID_RE.test(nameOrId.trim())) {
8
+ return nameOrId.trim();
9
+ }
10
+ let checks;
11
+ try {
12
+ checks = (await client.listChecks()).checks;
13
+ }
14
+ catch (err) {
15
+ console.error('Failed to list checks:', err.message);
16
+ process.exit(1);
17
+ }
18
+ const needle = nameOrId.trim().toLowerCase();
19
+ const matches = checks.filter((c) => c.Name?.toLowerCase() === needle);
20
+ if (matches.length === 0) {
21
+ console.error(`No check named "${nameOrId}". Run \`alertee checks list\`.`);
22
+ process.exit(1);
23
+ }
24
+ if (matches.length > 1) {
25
+ console.error(`"${nameOrId}" matches ${matches.length} checks; pass the ID instead.`);
26
+ process.exit(1);
27
+ }
28
+ return matches[0].ID;
29
+ }
30
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/commands/checks/resolve.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,GACX,iEAAiE,CAAA;AAEnE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,QAAgB;IAEhB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,MAA+D,CAAA;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAA;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;IAEtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,iCAAiC,CAAC,CAAA;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CACX,IAAI,QAAQ,aAAa,OAAO,CAAC,MAAM,+BAA+B,CACvE,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACtB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function snoozeCheck(nameOrId: string, opts?: {
2
+ timezone?: string;
3
+ until?: string;
4
+ reason?: string;
5
+ format?: string;
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=snooze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snooze.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/snooze.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GACL,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -0,0 +1,29 @@
1
+ import { createClient } from '../../api.js';
2
+ import { requireConfig, requireOrg } from '../../config.js';
3
+ import { printJson, resolveFormat } from '../../output.js';
4
+ import { resolveCheckId } from './resolve.js';
5
+ export async function snoozeCheck(nameOrId, opts = {}) {
6
+ const format = resolveFormat(opts.format);
7
+ const config = requireConfig();
8
+ requireOrg(config);
9
+ const client = createClient(config);
10
+ const id = await resolveCheckId(client, nameOrId);
11
+ let res;
12
+ try {
13
+ res = await client.snoozeCheck(id, {
14
+ timezone: opts.timezone,
15
+ until: opts.until,
16
+ reason: opts.reason,
17
+ });
18
+ }
19
+ catch (err) {
20
+ console.error('Failed to snooze check:', err.message);
21
+ process.exit(1);
22
+ }
23
+ if (format === 'json') {
24
+ printJson(res);
25
+ return;
26
+ }
27
+ console.log(`Snoozed. ${res.item.subject}`);
28
+ }
29
+ //# sourceMappingURL=snooze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snooze.js","sourceRoot":"","sources":["../../../src/commands/checks/snooze.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;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,OAKI,EAAE;IAEN,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,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEjD,IAAI,GAAmD,CAAA;IACvD,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,GAAG,CAAC,CAAA;QACd,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface UpdateCheckOptions {
2
+ name?: string;
3
+ query?: string;
4
+ labelQuery?: string;
5
+ interval?: string;
6
+ alertLevel?: string;
7
+ pause?: boolean;
8
+ resume?: boolean;
9
+ }
10
+ /**
11
+ * Edit a check's common fields via PATCH (partial update — only the flags you
12
+ * pass change). Condition editing is intentionally left to the web UI / MCP,
13
+ * where the full condition object can be expressed.
14
+ */
15
+ export declare function updateCheck(nameOrId: string, opts: UpdateCheckOptions): Promise<void>;
16
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/checks/update.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
@@ -0,0 +1,47 @@
1
+ import { createClient } from '../../api.js';
2
+ import { requireConfig, requireOrg, resolveWebUrl } from '../../config.js';
3
+ import { resolveCheckId } from './resolve.js';
4
+ /**
5
+ * Edit a check's common fields via PATCH (partial update — only the flags you
6
+ * pass change). Condition editing is intentionally left to the web UI / MCP,
7
+ * where the full condition object can be expressed.
8
+ */
9
+ export async function updateCheck(nameOrId, opts) {
10
+ const config = requireConfig();
11
+ requireOrg(config);
12
+ const client = createClient(config);
13
+ const body = {};
14
+ if (opts.name !== undefined)
15
+ body.name = opts.name;
16
+ if (opts.query !== undefined)
17
+ body.query = opts.query;
18
+ if (opts.labelQuery !== undefined)
19
+ body.label_query = opts.labelQuery;
20
+ if (opts.interval !== undefined)
21
+ body.interval = opts.interval;
22
+ if (opts.alertLevel !== undefined)
23
+ body.alert_level = opts.alertLevel;
24
+ if (opts.pause)
25
+ body.enabled = false;
26
+ if (opts.resume)
27
+ body.enabled = true;
28
+ if (opts.pause && opts.resume) {
29
+ console.error('Pass only one of --pause or --resume.');
30
+ process.exit(1);
31
+ }
32
+ if (Object.keys(body).length === 0) {
33
+ console.error('Nothing to update. Pass at least one of --name, --query, --label-query, --interval, --alert-level, --pause, --resume.');
34
+ process.exit(1);
35
+ }
36
+ const id = await resolveCheckId(client, nameOrId);
37
+ try {
38
+ await client.patchCheck(id, body);
39
+ console.log(`Updated check ${id}`);
40
+ console.log(`View at: ${resolveWebUrl()}/checks/${id}`);
41
+ }
42
+ catch (err) {
43
+ console.error('Failed to update check:', err.message);
44
+ process.exit(1);
45
+ }
46
+ }
47
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/checks/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAY7C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,IAAwB;IAExB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,UAAU,CAAC,MAAM,CAAC,CAAA;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAEnC,MAAM,IAAI,GAAmB,EAAE,CAAA;IAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAClD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACrD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;IACrE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC9D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;IACrE,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACpC,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IAEpC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CACX,uHAAuH,CACxH,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
3
  import { createCheck } from './commands/checks/create.js';
4
+ import { deleteCheck } from './commands/checks/delete.js';
4
5
  import { getCheck } from './commands/checks/get.js';
5
6
  import { checkHistory } from './commands/checks/history.js';
6
7
  import { listChecks } from './commands/checks/list.js';
7
8
  import { openCheck } from './commands/checks/open.js';
9
+ import { setQuietWindow } from './commands/checks/quiet.js';
8
10
  import { runCheck } from './commands/checks/run.js';
11
+ import { snoozeCheck } from './commands/checks/snooze.js';
12
+ import { updateCheck } from './commands/checks/update.js';
9
13
  import { listConnections } from './commands/connections/list.js';
10
14
  import { link } from './commands/link.js';
11
15
  import { login } from './commands/login.js';
@@ -16,7 +20,7 @@ const program = new Command();
16
20
  program
17
21
  .name('alertee')
18
22
  .description('Alertee CLI — manage database monitoring checks')
19
- .version('0.2.0')
23
+ .version('0.2.1')
20
24
  .addHelpText('after', '\nDocs: https://docs.alertee.io');
21
25
  program
22
26
  .command('login')
@@ -63,8 +67,64 @@ checks
63
67
  .action((id) => openCheck(id));
64
68
  checks
65
69
  .command('create')
66
- .description('Create a new check interactively')
70
+ .description('Create a new check interactively (single-value or grid)')
67
71
  .action(createCheck);
72
+ checks
73
+ .command('update <check>')
74
+ .description('Update a check\'s common fields (by name or ID)')
75
+ .option('--name <name>', 'rename the check')
76
+ .option('--query <sql>', 'replace the SQL query')
77
+ .option('--label-query <sql>', 'replace the grid label-mapping query')
78
+ .option('--interval <interval>', 'minute, five_minutes, fifteen_minutes, thirty_minutes, hourly, daily, weekly')
79
+ .option('--alert-level <level>', 'info, warning, error, or critical')
80
+ .option('--pause', 'disable the check')
81
+ .option('--resume', 'enable the check')
82
+ .action((check, opts) => updateCheck(check, {
83
+ name: opts.name,
84
+ query: opts.query,
85
+ labelQuery: opts.labelQuery,
86
+ interval: opts.interval,
87
+ alertLevel: opts.alertLevel,
88
+ pause: opts.pause,
89
+ resume: opts.resume,
90
+ }));
91
+ checks
92
+ .command('delete <check>')
93
+ .description('Delete a check (by name or ID)')
94
+ .option('-y, --yes', 'skip the confirmation prompt')
95
+ .action((check, opts) => deleteCheck(check, { yes: opts.yes }));
96
+ checks
97
+ .command('snooze <check>')
98
+ .description('Silence a check for the rest of today (by name or ID)')
99
+ .option('--until <ts>', 'silence until an ISO timestamp instead of end of day')
100
+ .option('--tz <zone>', 'timezone for the local day boundary', 'America/New_York')
101
+ .option('--reason <text>', 'why it is being snoozed')
102
+ .option('--format <fmt>', 'output format: table or json', 'table')
103
+ .action((check, opts) => snoozeCheck(check, {
104
+ until: opts.until,
105
+ timezone: opts.tz,
106
+ reason: opts.reason,
107
+ format: opts.format,
108
+ }));
109
+ checks
110
+ .command('quiet <check>')
111
+ .description('Set a recurring quiet window for a check (by name or ID)')
112
+ .option('--before <hh:mm>', 'quiet before this local time, e.g. market open 09:30')
113
+ .option('--after <hh:mm>', 'quiet after this local time, e.g. market close 16:00')
114
+ .option('--weekdays', 'only active Mon-Fri; quiet all weekend')
115
+ .option('--tz <zone>', 'timezone for the window', 'America/New_York')
116
+ .option('--reason <text>', 'why it is quiet')
117
+ .option('--clear', 'remove the recurring quiet window')
118
+ .option('--format <fmt>', 'output format: table or json', 'table')
119
+ .action((check, opts) => setQuietWindow(check, {
120
+ before: opts.before,
121
+ after: opts.after,
122
+ weekdays: opts.weekdays,
123
+ timezone: opts.tz,
124
+ reason: opts.reason,
125
+ clear: opts.clear,
126
+ format: opts.format,
127
+ }));
68
128
  const connections = program
69
129
  .command('connections')
70
130
  .description('Manage database connections');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4NH,wBAAgB,cAAc,IAAI,IAAI,CAuBrC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAucH,wBAAgB,cAAc,IAAI,IAAI,CAuBrC"}
package/dist/mcp.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Start via: alertee mcp (or npx @alertee/cli mcp)
5
5
  */
6
6
  import { createClient } from './api.js';
7
- import { loadConfig, resolveOrgId, usingEnvToken } from './config.js';
7
+ import { loadConfig, resolveOrgId, resolveToken, usingEnvToken } from './config.js';
8
8
  import { MINUTES_TO_INTERVAL } from './intervals.js';
9
9
  /** Org is required unless credentials come from the env (default-org fallback). */
10
10
  function needsOrg(config) {
@@ -30,26 +30,98 @@ const TOOLS = [
30
30
  },
31
31
  {
32
32
  name: 'create_check',
33
- description: 'Create a new Alertee database monitoring check.',
33
+ description: 'Create a new Alertee check. For a single-value check, the query returns one number; set condition_type + threshold. For a multi-dimensional (grid) check, the query returns `name` and `value` columns (one row per dimension); set evaluation_type, and for any_cell/all_cells also set condition_type + threshold as the per-cell comparison.',
34
34
  inputSchema: {
35
35
  type: 'object',
36
36
  properties: {
37
37
  name: { type: 'string', description: 'Human-readable name for the check' },
38
38
  connection_id: { type: 'string', description: 'ID of the database connection to use' },
39
- query: { type: 'string', description: 'SQL query that returns a single numeric value' },
39
+ query: {
40
+ type: 'string',
41
+ description: 'SQL query. Single-value: returns one number. Grid: returns `name` and `value` columns, one row per dimension.',
42
+ },
43
+ evaluation_type: {
44
+ type: 'string',
45
+ enum: ['any_cell', 'all_cells', 'dimension_missing', 'dimension_added'],
46
+ description: 'Set for a grid check. Omit for a single-value check.',
47
+ },
40
48
  condition_type: {
41
49
  type: 'string',
42
- enum: ['greater_than', 'less_than', 'equals', 'not_equals'],
43
- description: 'How to evaluate the query result',
50
+ enum: ['greater_than', 'less_than', 'greater_or_equal', 'less_or_equal', 'equals', 'not_equals'],
51
+ description: 'The comparison. Required for single-value checks and for grid any_cell/all_cells (the per-cell comparison). Not needed for dimension_missing/dimension_added.',
52
+ },
53
+ threshold: {
54
+ type: 'number',
55
+ description: 'Value to compare against. Required whenever condition_type is used.',
56
+ },
57
+ severity: {
58
+ type: 'string',
59
+ enum: ['info', 'warning', 'critical'],
60
+ description: 'Grid only: status applied to matching cells (default warning).',
61
+ },
62
+ custom_message: { type: 'string', description: 'Grid only: custom alert message.' },
63
+ label_query: {
64
+ type: 'string',
65
+ description: 'Grid only (optional): query returning `name` and `label` columns to map dimension keys to display names.',
44
66
  },
45
- threshold: { type: 'number', description: 'Value to compare the result against' },
46
67
  interval_minutes: {
47
68
  type: 'number',
48
69
  enum: [1, 5, 15, 30, 60],
49
70
  description: 'How often to run the check (minutes)',
50
71
  },
51
72
  },
52
- required: ['name', 'connection_id', 'query', 'condition_type', 'threshold', 'interval_minutes'],
73
+ required: ['name', 'connection_id', 'query', 'interval_minutes'],
74
+ },
75
+ },
76
+ {
77
+ name: 'delete_check',
78
+ description: 'Delete an Alertee check by ID. This cannot be undone.',
79
+ inputSchema: {
80
+ type: 'object',
81
+ properties: { id: { type: 'string', description: 'Check ID' } },
82
+ required: ['id'],
83
+ },
84
+ },
85
+ {
86
+ name: 'update_check',
87
+ description: 'Update an Alertee check (partial — only the fields you pass change). Pass condition fields (evaluation_type and/or condition_type+threshold) only to replace the whole condition; call get_check first if you need the current values.',
88
+ inputSchema: {
89
+ type: 'object',
90
+ properties: {
91
+ id: { type: 'string', description: 'Check ID' },
92
+ name: { type: 'string', description: 'New name' },
93
+ query: { type: 'string', description: 'New SQL query' },
94
+ label_query: { type: 'string', description: 'New grid label-mapping query (name -> label)' },
95
+ interval_minutes: {
96
+ type: 'number',
97
+ enum: [1, 5, 15, 30, 60],
98
+ description: 'New interval (minutes)',
99
+ },
100
+ alert_level: {
101
+ type: 'string',
102
+ enum: ['info', 'warning', 'error', 'critical'],
103
+ description: 'New alert level',
104
+ },
105
+ enabled: { type: 'boolean', description: 'Enable (true) or pause (false) the check' },
106
+ evaluation_type: {
107
+ type: 'string',
108
+ enum: ['any_cell', 'all_cells', 'dimension_missing', 'dimension_added'],
109
+ description: 'Replace the condition with a grid condition of this type',
110
+ },
111
+ condition_type: {
112
+ type: 'string',
113
+ enum: ['greater_than', 'less_than', 'greater_or_equal', 'less_or_equal', 'equals', 'not_equals'],
114
+ description: 'Comparison for the replacement condition',
115
+ },
116
+ threshold: { type: 'number', description: 'Threshold for the replacement condition' },
117
+ severity: {
118
+ type: 'string',
119
+ enum: ['info', 'warning', 'critical'],
120
+ description: 'Grid only: cell severity for the replacement condition',
121
+ },
122
+ custom_message: { type: 'string', description: 'Grid only: custom alert message' },
123
+ },
124
+ required: ['id'],
53
125
  },
54
126
  },
55
127
  {
@@ -83,14 +155,98 @@ const TOOLS = [
83
155
  description: 'List organizations the authenticated user belongs to.',
84
156
  inputSchema: { type: 'object', properties: {}, required: [] },
85
157
  },
158
+ {
159
+ name: 'snooze_check',
160
+ description: "Temporarily silence a check's alerts. Defaults to the rest of today; pass `until` for a specific end time. Auto-expires — no need to un-snooze.",
161
+ inputSchema: {
162
+ type: 'object',
163
+ properties: {
164
+ id: { type: 'string', description: 'Check ID' },
165
+ until: {
166
+ type: 'string',
167
+ description: 'ISO 8601 timestamp to snooze until (default: end of the local day)',
168
+ },
169
+ timezone: {
170
+ type: 'string',
171
+ description: 'IANA timezone for the local day, e.g. America/New_York (default).',
172
+ },
173
+ reason: { type: 'string', description: 'Why the check is being snoozed' },
174
+ },
175
+ required: ['id'],
176
+ },
177
+ },
178
+ {
179
+ name: 'set_quiet_window',
180
+ description: 'Set or clear a recurring quiet window for a check (e.g. only alert during market hours). Provide before and/or after (HH:MM) to define active hours, or clear: true to remove the window.',
181
+ inputSchema: {
182
+ type: 'object',
183
+ properties: {
184
+ id: { type: 'string', description: 'Check ID' },
185
+ before: {
186
+ type: 'string',
187
+ description: 'HH:MM — stay quiet before this local time (e.g. 09:30 market open)',
188
+ },
189
+ after: {
190
+ type: 'string',
191
+ description: 'HH:MM — stay quiet after this local time (e.g. 16:00 market close)',
192
+ },
193
+ weekdays: {
194
+ type: 'boolean',
195
+ description: 'Restrict active hours to Mon–Fri and stay quiet all weekend',
196
+ },
197
+ timezone: {
198
+ type: 'string',
199
+ description: 'IANA timezone, e.g. America/New_York (default).',
200
+ },
201
+ reason: { type: 'string', description: 'Why the window exists' },
202
+ clear: { type: 'boolean', description: 'Remove the existing quiet window' },
203
+ },
204
+ required: ['id'],
205
+ },
206
+ },
86
207
  ];
208
+ /**
209
+ * Build a ConditionBody from tool args. Returns null when no condition fields
210
+ * were supplied (caller leaves the condition unchanged), or an { error } when
211
+ * the supplied fields are incomplete.
212
+ */
213
+ function buildConditionFromArgs(args) {
214
+ const evaluationType = args.evaluation_type;
215
+ const hasComparisonInput = args.condition_type !== undefined || args.threshold !== undefined;
216
+ if (!evaluationType && !hasComparisonInput) {
217
+ return null;
218
+ }
219
+ const needsComparison = !evaluationType || evaluationType === 'any_cell' || evaluationType === 'all_cells';
220
+ const hasComparison = !!args.condition_type && args.threshold !== undefined;
221
+ if (needsComparison && !hasComparison) {
222
+ return {
223
+ error: evaluationType
224
+ ? `${evaluationType} requires condition_type and threshold (the per-cell comparison).`
225
+ : 'A single-value condition requires condition_type and threshold.',
226
+ };
227
+ }
228
+ const condition = {};
229
+ if (evaluationType) {
230
+ condition.evaluation_type = evaluationType;
231
+ if (args.severity)
232
+ condition.severity = args.severity;
233
+ if (args.custom_message)
234
+ condition.custom_message = args.custom_message;
235
+ }
236
+ if (needsComparison) {
237
+ condition.type = args.condition_type;
238
+ condition.value = String(args.threshold);
239
+ }
240
+ return condition;
241
+ }
87
242
  // ---- Dispatch ----
88
243
  async function callTool(name, args) {
89
244
  const config = loadConfig();
90
- if (!config?.token) {
91
- return 'Not logged in. Run `alertee login` to authenticate.';
245
+ // Auth comes from `alertee login` (browser OAuth) or the ALERTEE_TOKEN env var.
246
+ if (!resolveToken(config)) {
247
+ return 'Not logged in. Run `alertee login` to authenticate (or set ALERTEE_TOKEN).';
92
248
  }
93
- const client = createClient(config);
249
+ const client = createClient(config ?? { token: '', apiUrl: '' });
94
250
  switch (name) {
95
251
  case 'list_checks': {
96
252
  {
@@ -152,18 +308,101 @@ async function callTool(name, args) {
152
308
  if (!interval) {
153
309
  return `Invalid interval_minutes: ${args.interval_minutes}. Allowed: 1, 5, 15, 30, 60.`;
154
310
  }
311
+ const condition = buildConditionFromArgs(args);
312
+ if (condition === null) {
313
+ return 'A condition is required: provide condition_type + threshold (single-value), or evaluation_type (grid).';
314
+ }
315
+ if ('error' in condition) {
316
+ return condition.error;
317
+ }
155
318
  const resp = await client.createCheck({
156
319
  name: args.name,
157
320
  connection_id: args.connection_id,
158
321
  query: args.query,
159
- condition: {
160
- type: args.condition_type,
161
- value: String(args.threshold),
162
- },
322
+ condition,
163
323
  interval,
324
+ label_query: args.label_query,
164
325
  });
165
326
  return JSON.stringify(resp.check, null, 2);
166
327
  }
328
+ case 'update_check': {
329
+ {
330
+ const m = needsOrg(config);
331
+ if (m)
332
+ return m;
333
+ }
334
+ const body = {};
335
+ if (args.name !== undefined)
336
+ body.name = args.name;
337
+ if (args.query !== undefined)
338
+ body.query = args.query;
339
+ if (args.label_query !== undefined)
340
+ body.label_query = args.label_query;
341
+ if (args.alert_level !== undefined)
342
+ body.alert_level = args.alert_level;
343
+ if (args.enabled !== undefined)
344
+ body.enabled = args.enabled;
345
+ if (args.interval_minutes !== undefined) {
346
+ const interval = MINUTES_TO_INTERVAL[args.interval_minutes];
347
+ if (!interval) {
348
+ return `Invalid interval_minutes: ${args.interval_minutes}. Allowed: 1, 5, 15, 30, 60.`;
349
+ }
350
+ body.interval = interval;
351
+ }
352
+ const condition = buildConditionFromArgs(args);
353
+ if (condition && 'error' in condition) {
354
+ return condition.error;
355
+ }
356
+ if (condition) {
357
+ body.condition = condition;
358
+ }
359
+ if (Object.keys(body).length === 0) {
360
+ return 'Nothing to update. Provide at least one field to change.';
361
+ }
362
+ await client.patchCheck(args.id, body);
363
+ return `Updated check ${args.id}`;
364
+ }
365
+ case 'delete_check': {
366
+ {
367
+ const m = needsOrg(config);
368
+ if (m)
369
+ return m;
370
+ }
371
+ await client.deleteCheck(args.id);
372
+ return `Deleted check ${args.id}`;
373
+ }
374
+ case 'snooze_check': {
375
+ {
376
+ const m = needsOrg(config);
377
+ if (m)
378
+ return m;
379
+ }
380
+ const res = await client.snoozeCheck(args.id, {
381
+ timezone: args.timezone,
382
+ until: args.until,
383
+ reason: args.reason,
384
+ });
385
+ return JSON.stringify(res, null, 2);
386
+ }
387
+ case 'set_quiet_window': {
388
+ {
389
+ const m = needsOrg(config);
390
+ if (m)
391
+ return m;
392
+ }
393
+ if (!args.clear && !args.before && !args.after) {
394
+ return 'Provide before and/or after (HH:MM), or clear: true to remove the window.';
395
+ }
396
+ const res = await client.setCheckQuietWindow(args.id, {
397
+ timezone: args.timezone,
398
+ before: args.before,
399
+ after: args.after,
400
+ weekdays: args.weekdays,
401
+ reason: args.reason,
402
+ clear: args.clear,
403
+ });
404
+ return JSON.stringify(res, null, 2);
405
+ }
167
406
  default:
168
407
  return `Unknown tool: ${name}`;
169
408
  }
@@ -183,7 +422,7 @@ async function handleRequest(req) {
183
422
  respond(req.id, {
184
423
  protocolVersion: '2024-11-05',
185
424
  capabilities: { tools: {} },
186
- serverInfo: { name: 'alertee', version: '0.2.0' },
425
+ serverInfo: { name: 'alertee', version: '0.3.0' },
187
426
  });
188
427
  return;
189
428
  }
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiB,YAAY,EAAkB,MAAM,UAAU,CAAA;AACtE,OAAO,EAAU,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,mFAAmF;AACnF,SAAS,QAAQ,CAAC,MAAqC;IACrD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;QAC9C,CAAC,CAAC,kEAAkE;QACpE,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AAkBD,6BAA6B;AAE7B,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;YAC/D,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,iVAAiV;QACnV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC1E,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBACtF,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+GAA+G;iBAClH;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;oBACvE,WAAW,EAAE,sDAAsD;iBACpE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC;oBAChG,WAAW,EACT,+JAA+J;iBAClK;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qEAAqE;iBACnF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;oBACrC,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBACnF,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0GAA0G;iBAC7G;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;oBACxB,WAAW,EAAE,sCAAsC;iBACpD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,CAAC;SACjE;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;YAC/D,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wOAAwO;QAC1O,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACvD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBAC5F,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;oBACxB,WAAW,EAAE,wBAAwB;iBACtC;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;oBAC9C,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACrF,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;oBACvE,WAAW,EAAE,0DAA0D;iBACxE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC;oBAChG,WAAW,EAAE,0CAA0C;iBACxD;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBACrF,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;oBACrC,WAAW,EAAE,wDAAwD;iBACtE;gBACD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;YAC/D,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,iJAAiJ;QACnJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBAC/C,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE;iBACjF;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAC1E;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,2LAA2L;QAC7L,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBAC/C,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,6DAA6D;iBAC3E;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAChE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAC5E;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;CACF,CAAA;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,IAA6B;IAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,eAA+D,CAAA;IAC3F,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAA;IAC5F,IAAI,CAAC,cAAc,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,eAAe,GACnB,CAAC,cAAc,IAAI,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,WAAW,CAAA;IACpF,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAA;IAC3E,IAAI,eAAe,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,OAAO;YACL,KAAK,EAAE,cAAc;gBACnB,CAAC,CAAC,GAAG,cAAc,mEAAmE;gBACtF,CAAC,CAAC,iEAAiE;SACtE,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAkB,EAAE,CAAA;IACnC,IAAI,cAAc,EAAE,CAAC;QACnB,SAAS,CAAC,eAAe,GAAG,cAAc,CAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAqC,CAAA;QAClF,IAAI,IAAI,CAAC,cAAc;YAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,cAAwB,CAAA;IACnF,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,cAAwB,CAAA;QAC9C,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,qBAAqB;AAErB,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAA6B;IACjE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,gFAAgF;IAChF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,4EAA4E,CAAA;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAa,CAAC,CAAA;IAE5E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;YACtC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7C,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAA;YAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAClD,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAA;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACpD,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAY,CAAC,CAAA;YACrD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,KAAK,GAAI,IAAI,CAAC,KAAgB,IAAI,EAAE,CAAA;YAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAY,EAAE,KAAK,CAAC,CAAA;YACnE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAY,CAAC,CAAA;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,gBAA0B,CAAC,CAAA;YACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,6BAA6B,IAAI,CAAC,gBAAgB,8BAA8B,CAAA;YACzF,CAAC;YAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,wGAAwG,CAAA;YACjH,CAAC;YACD,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,KAAK,CAAA;YACxB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,IAAc;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAuB;gBAC3C,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,SAAS;gBACT,QAAQ;gBACR,WAAW,EAAE,IAAI,CAAC,WAAiC;aACpD,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAE/C,MAAM,IAAI,GAAmB,EAAE,CAAA;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAc,CAAA;YAC5D,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAe,CAAA;YAC/D,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAqB,CAAA;YACjF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAqB,CAAA;YACjF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAkB,CAAA;YACtE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,gBAA0B,CAAC,CAAA;gBACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,6BAA6B,IAAI,CAAC,gBAAgB,8BAA8B,CAAA;gBACzF,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC1B,CAAC;YAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9C,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACtC,OAAO,SAAS,CAAC,KAAK,CAAA;YACxB,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;YAC5B,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,0DAA0D,CAAA;YACnE,CAAC;YAED,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAY,EAAE,IAAI,CAAC,CAAA;YAChD,OAAO,iBAAiB,IAAI,CAAC,EAAY,EAAE,CAAA;QAC7C,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAY,CAAC,CAAA;YAC3C,OAAO,iBAAiB,IAAI,CAAC,EAAY,EAAE,CAAA;QAC7C,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAY,EAAE;gBACtD,QAAQ,EAAE,IAAI,CAAC,QAA8B;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAA2B;gBACvC,MAAM,EAAE,IAAI,CAAC,MAA4B;aAC1C,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,CAAC;gBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;YAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/C,OAAO,2EAA2E,CAAA;YACpF,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAY,EAAE;gBAC9D,QAAQ,EAAE,IAAI,CAAC,QAA8B;gBAC7C,MAAM,EAAE,IAAI,CAAC,MAA4B;gBACzC,KAAK,EAAE,IAAI,CAAC,KAA2B;gBACvC,QAAQ,EAAE,IAAI,CAAC,QAA+B;gBAC9C,MAAM,EAAE,IAAI,CAAC,MAA4B;gBACzC,KAAK,EAAE,IAAI,CAAC,KAA4B;aACzC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACrC,CAAC;QACD;YACE,OAAO,iBAAiB,IAAI,EAAE,CAAA;IAClC,CAAC;AACH,CAAC;AAED,6BAA6B;AAE7B,SAAS,IAAI,CAAC,GAAgB;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,EAAoB,EAAE,MAAe;IACpD,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,KAAK,CAAC,EAAoB,EAAE,IAAY,EAAE,OAAe;IAChE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;AACxD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAe;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;YACd,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;SAClD,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QACjC,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,MAA+D,CAAA;QAClF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;YAClE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAC1C,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAW,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrE,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,2BAA2B,EAAE,CAAC;QAC/C,qBAAqB;QACrB,OAAM;IACR,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAA;QACf,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC,OAAO;gBAAE,SAAQ;YACtB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAA;gBAC7C,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC/B,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,KAAK,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;gBACvD,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alertee/cli",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Alertee CLI — create and manage database monitoring checks",
5
5
  "type": "module",
6
6
  "bin": {