@observeone/cli 1.21.0 → 1.22.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.
@@ -1,7 +1,48 @@
1
+ export type InquirerType = 'input' | 'list' | 'number' | 'confirm';
2
+ export interface FieldSchema {
3
+ /** CLI option key (camelCase). If omitted, no CLI flag is bound to this field. */
4
+ flagName?: string;
5
+ /** Inquirer prompt type for interactive fallback. */
6
+ inquirerType?: InquirerType;
7
+ /** Prompt message (with trailing colon, e.g. "Monitor name:"). */
8
+ label?: string;
9
+ /** Force an interactive prompt on create when the flag is missing. */
10
+ requiredOnCreate?: boolean;
11
+ /** Whether the field appears in update payloads. Default true. */
12
+ updatable?: boolean;
13
+ /** Default value emitted on create when option and prompt are both absent. */
14
+ default?: unknown;
15
+ /** Inquirer choices for list-type fields. */
16
+ choices?: readonly string[];
17
+ /** Synchronous validator (returns true or an error message). */
18
+ validate?: (val: unknown) => boolean | string;
19
+ /** Transform a CLI string or inquirer answer before merging into the payload. */
20
+ transformer?: (val: unknown) => unknown;
21
+ /**
22
+ * Treat an empty array value as if the flag wasn't passed at all.
23
+ *
24
+ * Needed for fields backed by commander's repeatable-option collector
25
+ * (`.option('-a, --foo <v>', 'desc', collectOptionValues, [])`) where the
26
+ * empty `[]` default is indistinguishable from the user explicitly clearing
27
+ * the field. With this opt-in, an empty array falls through to `existing`
28
+ * on update (rather than wiping the existing value).
29
+ */
30
+ treatEmptyArrayAsAbsent?: boolean;
31
+ }
1
32
  export interface ResourceSchema {
2
33
  description: string;
3
34
  required: string[];
4
35
  template: Record<string, unknown>;
36
+ /** Per-field metadata that drives the schema-driven prompt fallback in the resource-command factory. */
37
+ fieldMetadata?: Record<string, FieldSchema>;
38
+ /**
39
+ * Extra CLI flag names (camelCase) that count toward the "any updatable
40
+ * field was passed" check on update, but don't appear in the payload
41
+ * directly. Use for inputs that flow into a custom composer (e.g.
42
+ * alert-channel's --email / --webhook-url which feed buildConfigFromOptions
43
+ * to produce a single `config` field).
44
+ */
45
+ extraUpdateTriggers?: readonly string[];
5
46
  }
6
47
  export declare const schemas: Record<string, ResourceSchema>;
7
48
  export declare function resolveSchema(resource: string): ResourceSchema | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAoFlD,CAAC;AAQF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAG1E;AAED,eAAO,MAAM,aAAa,UAAuB,CAAC;AA8BlD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAarF"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAC9C,iFAAiF;IACjF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;IACxC;;;;;;;;OAQG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,wGAAwG;IACxG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5C;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAyCD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsSlD,CAAC;AAQF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAG1E;AAED,eAAO,MAAM,aAAa,UAAuB,CAAC;AA8BlD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAarF"}
@@ -1,3 +1,32 @@
1
+ import { parseKeyValuePairs, parseNumericIds } from './cli-input.js';
2
+ const trimNonEmpty = (label) => (val) => typeof val === 'string' && val.trim().length > 0 ? true : `${label} is required`;
3
+ const validateUrl = (val) => {
4
+ if (typeof val !== 'string')
5
+ return 'Please enter a valid URL (e.g. https://example.com)';
6
+ try {
7
+ new URL(val);
8
+ return true;
9
+ }
10
+ catch {
11
+ return 'Please enter a valid URL (e.g. https://example.com)';
12
+ }
13
+ };
14
+ const validateMinLength = (label, min) => (val) => typeof val === 'string' && val.trim().length >= min ? true : `${label} is required`;
15
+ /** Coerce CLI strings to integers; leave inquirer numbers untouched. */
16
+ const toInt = (val) => (typeof val === 'string' ? parseInt(val, 10) : val);
17
+ const toUpper = (val) => (typeof val === 'string' ? val.toUpperCase() : val);
18
+ const negateBool = (val) => !val;
19
+ const HTTP_METHODS = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'];
20
+ const INCIDENT_PRIORITIES = ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'];
21
+ const ALERT_CHANNEL_TYPES = [
22
+ 'email',
23
+ 'slack',
24
+ 'discord',
25
+ 'teams',
26
+ 'telegram',
27
+ 'sms',
28
+ 'webhook',
29
+ ];
1
30
  export const schemas = {
2
31
  monitor: {
3
32
  description: 'URL monitor — pings an HTTP endpoint on a cron schedule',
@@ -11,6 +40,39 @@ export const schemas = {
11
40
  description: '',
12
41
  channel_ids: [],
13
42
  },
43
+ fieldMetadata: {
44
+ name: {
45
+ flagName: 'name',
46
+ inquirerType: 'input',
47
+ label: 'Monitor name:',
48
+ requiredOnCreate: true,
49
+ validate: trimNonEmpty('Name'),
50
+ },
51
+ url: {
52
+ flagName: 'url',
53
+ inquirerType: 'input',
54
+ label: 'URL to monitor:',
55
+ requiredOnCreate: true,
56
+ validate: validateUrl,
57
+ },
58
+ interval: {
59
+ flagName: 'interval',
60
+ inquirerType: 'input',
61
+ label: 'Cron interval (default: Every 5 mins):',
62
+ default: '*/5 * * * *',
63
+ },
64
+ description: { flagName: 'description', default: '' },
65
+ // `--no-alerts` flag → options.alerts === false on commander; absence
66
+ // is undefined, so the default fires and alert_on_failure stays true.
67
+ alert_on_failure: { flagName: 'alerts', default: true },
68
+ timeout_ms: { default: 30000 },
69
+ channel_ids: {
70
+ flagName: 'alertChannelId',
71
+ default: [],
72
+ treatEmptyArrayAsAbsent: true,
73
+ transformer: (v) => parseNumericIds(v, 'alert-channel-id') ?? [],
74
+ },
75
+ },
14
76
  },
15
77
  check: {
16
78
  description: 'API check — HTTP request with method/headers/body/assertions',
@@ -28,6 +90,52 @@ export const schemas = {
28
90
  description: '',
29
91
  channel_ids: [],
30
92
  },
93
+ fieldMetadata: {
94
+ name: {
95
+ flagName: 'name',
96
+ inquirerType: 'input',
97
+ label: 'Check name:',
98
+ requiredOnCreate: true,
99
+ validate: trimNonEmpty('Name'),
100
+ },
101
+ url: {
102
+ flagName: 'url',
103
+ inquirerType: 'input',
104
+ label: 'API URL:',
105
+ requiredOnCreate: true,
106
+ validate: trimNonEmpty('URL'),
107
+ },
108
+ method: {
109
+ flagName: 'method',
110
+ inquirerType: 'list',
111
+ label: 'HTTP Method:',
112
+ // Not requiredOnCreate — mirrors old behavior where method silently
113
+ // defaults to GET when the flag is missing. Still gets prompted as
114
+ // part of the batch when name or url are missing.
115
+ choices: HTTP_METHODS,
116
+ default: 'GET',
117
+ transformer: toUpper,
118
+ },
119
+ description: { flagName: 'description', default: '' },
120
+ body: { flagName: 'body' },
121
+ cron_expression: { flagName: 'interval' },
122
+ headers: {
123
+ flagName: 'header',
124
+ treatEmptyArrayAsAbsent: true,
125
+ transformer: (v) => parseKeyValuePairs(v, 'header'),
126
+ },
127
+ regions: { flagName: 'regions', treatEmptyArrayAsAbsent: true },
128
+ retry_count: { flagName: 'retryCount', transformer: toInt },
129
+ retry_interval: { flagName: 'retryInterval', transformer: toInt },
130
+ channel_ids: {
131
+ flagName: 'alertChannelId',
132
+ default: [],
133
+ treatEmptyArrayAsAbsent: true,
134
+ transformer: (v) => parseNumericIds(v, 'alert-channel-id') ?? [],
135
+ },
136
+ alert_on_failure: { flagName: 'alerts', default: true },
137
+ timeout_ms: { default: 30000 },
138
+ },
31
139
  },
32
140
  heartbeat: {
33
141
  description: 'Heartbeat — inbound ping receiver with grace period',
@@ -38,6 +146,30 @@ export const schemas = {
38
146
  grace_period: 60,
39
147
  description: '',
40
148
  },
149
+ fieldMetadata: {
150
+ name: {
151
+ flagName: 'name',
152
+ inquirerType: 'input',
153
+ label: 'Heartbeat name:',
154
+ requiredOnCreate: true,
155
+ validate: trimNonEmpty('Name'),
156
+ },
157
+ period: {
158
+ flagName: 'period',
159
+ inquirerType: 'number',
160
+ label: 'Expected period (seconds):',
161
+ default: 300,
162
+ transformer: toInt,
163
+ },
164
+ grace_period: {
165
+ flagName: 'grace',
166
+ inquirerType: 'number',
167
+ label: 'Grace period (seconds):',
168
+ default: 60,
169
+ transformer: toInt,
170
+ },
171
+ description: { flagName: 'description', default: '' },
172
+ },
41
173
  },
42
174
  'alert-channel': {
43
175
  description: 'Alert channel — delivery target for notifications (email, slack, webhook, etc.)',
@@ -49,6 +181,33 @@ export const schemas = {
49
181
  email: 'alerts@example.com',
50
182
  },
51
183
  },
184
+ fieldMetadata: {
185
+ name: {
186
+ flagName: 'name',
187
+ inquirerType: 'input',
188
+ label: 'Channel name:',
189
+ requiredOnCreate: true,
190
+ validate: trimNonEmpty('Name'),
191
+ },
192
+ type: {
193
+ flagName: 'type',
194
+ inquirerType: 'list',
195
+ label: 'Channel type:',
196
+ requiredOnCreate: true,
197
+ choices: ALERT_CHANNEL_TYPES,
198
+ },
199
+ is_default: { flagName: 'default', default: false },
200
+ },
201
+ extraUpdateTriggers: [
202
+ 'email',
203
+ 'webhookUrl',
204
+ 'botToken',
205
+ 'chatId',
206
+ 'accountSid',
207
+ 'authToken',
208
+ 'fromNumber',
209
+ 'phoneNumber',
210
+ ],
52
211
  },
53
212
  'status-page': {
54
213
  description: 'Public status page — aggregates resource statuses and incident history',
@@ -61,6 +220,40 @@ export const schemas = {
61
220
  show_incident_history: true,
62
221
  show_uptime_percentage: true,
63
222
  },
223
+ fieldMetadata: {
224
+ slug: {
225
+ flagName: 'slug',
226
+ inquirerType: 'input',
227
+ label: 'Status page slug:',
228
+ requiredOnCreate: true,
229
+ validate: trimNonEmpty('Slug'),
230
+ },
231
+ name: {
232
+ flagName: 'name',
233
+ inquirerType: 'input',
234
+ label: 'Status page name:',
235
+ requiredOnCreate: true,
236
+ validate: trimNonEmpty('Name'),
237
+ },
238
+ description: { flagName: 'description', default: '' },
239
+ logo_url: { flagName: 'logoUrl' },
240
+ theme_primary_color: { flagName: 'themePrimaryColor' },
241
+ theme_background_color: { flagName: 'themeBackgroundColor' },
242
+ // Inverted booleans: --private flag presence sets is_public=false.
243
+ // When the flag is absent on update we fall through to existing[field];
244
+ // on create the default (true) wins.
245
+ is_public: { flagName: 'private', transformer: negateBool, default: true },
246
+ show_incident_history: {
247
+ flagName: 'hideIncidentHistory',
248
+ transformer: negateBool,
249
+ default: true,
250
+ },
251
+ show_uptime_percentage: {
252
+ flagName: 'hideUptime',
253
+ transformer: negateBool,
254
+ default: true,
255
+ },
256
+ },
64
257
  },
65
258
  incident: {
66
259
  description: 'Incident — human-authored status event visible on a status page',
@@ -71,6 +264,26 @@ export const schemas = {
71
264
  status: 'OPEN',
72
265
  description: '',
73
266
  },
267
+ fieldMetadata: {
268
+ title: {
269
+ flagName: 'title',
270
+ inquirerType: 'input',
271
+ label: 'Incident title:',
272
+ requiredOnCreate: true,
273
+ validate: validateMinLength('Title', 3),
274
+ },
275
+ priority: {
276
+ flagName: 'priority',
277
+ inquirerType: 'list',
278
+ label: 'Priority:',
279
+ requiredOnCreate: true,
280
+ choices: INCIDENT_PRIORITIES,
281
+ transformer: toUpper,
282
+ },
283
+ description: { flagName: 'description', default: '' },
284
+ assigned_to: { flagName: 'assignedTo' },
285
+ team_id: { flagName: 'teamId', transformer: toInt },
286
+ },
74
287
  },
75
288
  'ai-check': {
76
289
  description: 'AI browser check — prompt-driven Playwright run against a URL',
@@ -81,6 +294,30 @@ export const schemas = {
81
294
  prompt: 'Verify the page loads and the main heading is visible',
82
295
  description: '',
83
296
  },
297
+ fieldMetadata: {
298
+ name: {
299
+ flagName: 'name',
300
+ inquirerType: 'input',
301
+ label: 'AI check name:',
302
+ requiredOnCreate: true,
303
+ validate: trimNonEmpty('Name'),
304
+ },
305
+ url: {
306
+ flagName: 'url',
307
+ inquirerType: 'input',
308
+ label: 'URL to test:',
309
+ requiredOnCreate: true,
310
+ validate: validateUrl,
311
+ },
312
+ prompt: {
313
+ flagName: 'prompt',
314
+ inquirerType: 'input',
315
+ label: 'AI prompt:',
316
+ requiredOnCreate: true,
317
+ validate: trimNonEmpty('Prompt'),
318
+ },
319
+ description: { flagName: 'description', default: '' },
320
+ },
84
321
  },
85
322
  };
86
323
  const resourceAliases = {
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@observeone/cli",
3
- "version": "1.21.0",
3
+ "version": "1.22.0",
4
4
  "type": "module",
5
5
  "description": "ObserveOne CLI - AI-powered website monitoring and testing from the command line",
6
6
  "main": "dist/index.js",