@bussolabs/closeyourit-cli 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/commands/alerts/create.d.ts +18 -0
  2. package/dist/commands/alerts/create.js +48 -0
  3. package/dist/commands/alerts/delete.d.ts +12 -0
  4. package/dist/commands/alerts/delete.js +25 -0
  5. package/dist/commands/alerts/list.d.ts +9 -0
  6. package/dist/commands/alerts/list.js +24 -0
  7. package/dist/commands/alerts/show.d.ts +9 -0
  8. package/dist/commands/alerts/show.js +21 -0
  9. package/dist/commands/alerts/update.d.ts +19 -0
  10. package/dist/commands/alerts/update.js +53 -0
  11. package/dist/commands/environments/create.d.ts +15 -0
  12. package/dist/commands/environments/create.js +37 -0
  13. package/dist/commands/environments/delete.d.ts +12 -0
  14. package/dist/commands/environments/delete.js +26 -0
  15. package/dist/commands/environments/list.d.ts +9 -0
  16. package/dist/commands/environments/list.js +25 -0
  17. package/dist/commands/environments/update.d.ts +16 -0
  18. package/dist/commands/environments/update.js +45 -0
  19. package/dist/commands/errors/promote.d.ts +12 -0
  20. package/dist/commands/errors/promote.js +24 -0
  21. package/dist/commands/groups/delete.d.ts +12 -0
  22. package/dist/commands/groups/delete.js +26 -0
  23. package/dist/commands/groups/update.d.ts +13 -0
  24. package/dist/commands/groups/update.js +35 -0
  25. package/dist/commands/invitations/resend.d.ts +9 -0
  26. package/dist/commands/invitations/resend.js +25 -0
  27. package/dist/commands/members/set-access.d.ts +13 -0
  28. package/dist/commands/members/set-access.js +44 -0
  29. package/dist/commands/members/set-role.d.ts +12 -0
  30. package/dist/commands/members/set-role.js +32 -0
  31. package/dist/commands/metrics/promote.d.ts +12 -0
  32. package/dist/commands/metrics/promote.js +24 -0
  33. package/dist/commands/milestones/create.d.ts +14 -0
  34. package/dist/commands/milestones/create.js +38 -0
  35. package/dist/commands/milestones/delete.d.ts +13 -0
  36. package/dist/commands/milestones/delete.js +27 -0
  37. package/dist/commands/milestones/list.d.ts +10 -0
  38. package/dist/commands/milestones/list.js +29 -0
  39. package/dist/commands/milestones/show.d.ts +12 -0
  40. package/dist/commands/milestones/show.js +23 -0
  41. package/dist/commands/milestones/update.d.ts +17 -0
  42. package/dist/commands/milestones/update.js +45 -0
  43. package/dist/commands/monitors/create.d.ts +15 -0
  44. package/dist/commands/monitors/create.js +43 -0
  45. package/dist/commands/monitors/delete.d.ts +13 -0
  46. package/dist/commands/monitors/delete.js +27 -0
  47. package/dist/commands/monitors/list.d.ts +10 -0
  48. package/dist/commands/monitors/list.js +29 -0
  49. package/dist/commands/monitors/pause.d.ts +12 -0
  50. package/dist/commands/monitors/pause.js +21 -0
  51. package/dist/commands/monitors/resume.d.ts +12 -0
  52. package/dist/commands/monitors/resume.js +21 -0
  53. package/dist/commands/monitors/show.d.ts +12 -0
  54. package/dist/commands/monitors/show.js +23 -0
  55. package/dist/commands/monitors/update.d.ts +17 -0
  56. package/dist/commands/monitors/update.js +45 -0
  57. package/dist/commands/org/show.d.ts +6 -0
  58. package/dist/commands/org/show.js +16 -0
  59. package/dist/commands/org/update.d.ts +11 -0
  60. package/dist/commands/org/update.js +35 -0
  61. package/dist/commands/platforms/create.d.ts +15 -0
  62. package/dist/commands/platforms/create.js +36 -0
  63. package/dist/commands/platforms/delete.d.ts +12 -0
  64. package/dist/commands/platforms/delete.js +26 -0
  65. package/dist/commands/platforms/list.d.ts +9 -0
  66. package/dist/commands/platforms/list.js +25 -0
  67. package/dist/commands/platforms/update.d.ts +16 -0
  68. package/dist/commands/platforms/update.js +45 -0
  69. package/dist/commands/projects/create.d.ts +1 -1
  70. package/dist/commands/projects/create.js +3 -4
  71. package/dist/commands/projects/delete.d.ts +10 -0
  72. package/dist/commands/projects/delete.js +24 -0
  73. package/dist/commands/projects/update.d.ts +14 -0
  74. package/dist/commands/projects/update.js +37 -0
  75. package/dist/commands/tickets/assign.d.ts +14 -0
  76. package/dist/commands/tickets/assign.js +38 -0
  77. package/dist/commands/tickets/attach.d.ts +13 -0
  78. package/dist/commands/tickets/attach.js +48 -0
  79. package/dist/commands/tickets/comment-delete.d.ts +14 -0
  80. package/dist/commands/tickets/comment-delete.js +30 -0
  81. package/dist/commands/tickets/comment.d.ts +13 -0
  82. package/dist/commands/tickets/comment.js +29 -0
  83. package/dist/commands/tickets/delete.d.ts +13 -0
  84. package/dist/commands/tickets/delete.js +27 -0
  85. package/dist/commands/tickets/detach.d.ts +14 -0
  86. package/dist/commands/tickets/detach.js +30 -0
  87. package/dist/commands/tickets/milestone.d.ts +14 -0
  88. package/dist/commands/tickets/milestone.js +38 -0
  89. package/dist/commands/tickets/status.d.ts +13 -0
  90. package/dist/commands/tickets/status.js +27 -0
  91. package/dist/commands/tickets/unvote.d.ts +12 -0
  92. package/dist/commands/tickets/unvote.js +24 -0
  93. package/dist/commands/tickets/update.d.ts +25 -0
  94. package/dist/commands/tickets/update.js +71 -0
  95. package/dist/commands/tickets/vote.d.ts +12 -0
  96. package/dist/commands/tickets/vote.js +24 -0
  97. package/dist/lib/api.d.ts +17 -0
  98. package/dist/lib/api.js +40 -12
  99. package/oclif.manifest.json +3220 -462
  100. package/package.json +49 -14
@@ -102,13 +102,19 @@
102
102
  "whoami.js"
103
103
  ]
104
104
  },
105
- "errors:list": {
105
+ "alerts:create": {
106
106
  "aliases": [],
107
- "args": {},
108
- "description": "List error groups for a project",
107
+ "args": {
108
+ "name": {
109
+ "description": "Rule name",
110
+ "name": "name",
111
+ "required": true
112
+ }
113
+ },
114
+ "description": "Create an alert rule in your organization",
109
115
  "examples": [
110
- "<%= config.bin %> errors list --project acme-api",
111
- "<%= config.bin %> errors list -p acme-api --status unresolved --json"
116
+ "<%= config.bin %> alerts create \"New errors\" --event-type error_new",
117
+ "<%= config.bin %> alerts create \"API down\" --event-type uptime_down --project acme-api --throttle-minutes 30"
112
118
  ],
113
119
  "flags": {
114
120
  "json": {
@@ -118,26 +124,58 @@
118
124
  "allowNo": false,
119
125
  "type": "boolean"
120
126
  },
121
- "project": {
122
- "char": "p",
123
- "description": "Project id (UUID) or key",
124
- "name": "project",
127
+ "event-type": {
128
+ "description": "Event that triggers the rule",
129
+ "name": "event-type",
125
130
  "required": true,
126
131
  "hasDynamicHelp": false,
127
132
  "multiple": false,
133
+ "options": [
134
+ "error_new",
135
+ "error_regression",
136
+ "uptime_down",
137
+ "uptime_up",
138
+ "metric_threshold"
139
+ ],
140
+ "type": "option"
141
+ },
142
+ "min-level": {
143
+ "description": "Minimum error level that triggers the rule",
144
+ "name": "min-level",
145
+ "hasDynamicHelp": false,
146
+ "multiple": false,
128
147
  "type": "option"
129
148
  },
130
- "page": {
131
- "description": "Page number",
132
- "name": "page",
133
- "default": 1,
149
+ "threshold-ms": {
150
+ "description": "Duration threshold in milliseconds (metric rules)",
151
+ "name": "threshold-ms",
134
152
  "hasDynamicHelp": false,
135
153
  "multiple": false,
136
154
  "type": "option"
137
155
  },
138
- "status": {
139
- "description": "Filter by status (e.g. unresolved, resolved, muted)",
140
- "name": "status",
156
+ "throttle-minutes": {
157
+ "description": "Minimum minutes between notifications",
158
+ "name": "throttle-minutes",
159
+ "hasDynamicHelp": false,
160
+ "multiple": false,
161
+ "type": "option"
162
+ },
163
+ "enabled": {
164
+ "description": "Whether the rule is enabled",
165
+ "name": "enabled",
166
+ "allowNo": true,
167
+ "type": "boolean"
168
+ },
169
+ "project": {
170
+ "description": "Scope the rule to a project id (UUID)",
171
+ "name": "project",
172
+ "hasDynamicHelp": false,
173
+ "multiple": false,
174
+ "type": "option"
175
+ },
176
+ "environment": {
177
+ "description": "Scope the rule to an environment id (UUID)",
178
+ "name": "environment",
141
179
  "hasDynamicHelp": false,
142
180
  "multiple": false,
143
181
  "type": "option"
@@ -145,7 +183,7 @@
145
183
  },
146
184
  "hasDynamicHelp": false,
147
185
  "hiddenAliases": [],
148
- "id": "errors:list",
186
+ "id": "alerts:create",
149
187
  "pluginAlias": "@bussolabs/closeyourit-cli",
150
188
  "pluginName": "@bussolabs/closeyourit-cli",
151
189
  "pluginType": "core",
@@ -155,22 +193,22 @@
155
193
  "relativePath": [
156
194
  "dist",
157
195
  "commands",
158
- "errors",
159
- "list.js"
196
+ "alerts",
197
+ "create.js"
160
198
  ]
161
199
  },
162
- "errors:mute": {
200
+ "alerts:delete": {
163
201
  "aliases": [],
164
202
  "args": {
165
203
  "id": {
166
- "description": "Error group id",
204
+ "description": "Alert rule id",
167
205
  "name": "id",
168
206
  "required": true
169
207
  }
170
208
  },
171
- "description": "Mute an error group",
209
+ "description": "Delete an alert rule",
172
210
  "examples": [
173
- "<%= config.bin %> errors mute <group-id> --project acme-api"
211
+ "<%= config.bin %> alerts delete <rule-id> --confirm"
174
212
  ],
175
213
  "flags": {
176
214
  "json": {
@@ -180,19 +218,16 @@
180
218
  "allowNo": false,
181
219
  "type": "boolean"
182
220
  },
183
- "project": {
184
- "char": "p",
185
- "description": "Project id (UUID) or key",
186
- "name": "project",
187
- "required": true,
188
- "hasDynamicHelp": false,
189
- "multiple": false,
190
- "type": "option"
221
+ "confirm": {
222
+ "description": "Required: confirm the deletion",
223
+ "name": "confirm",
224
+ "allowNo": false,
225
+ "type": "boolean"
191
226
  }
192
227
  },
193
228
  "hasDynamicHelp": false,
194
229
  "hiddenAliases": [],
195
- "id": "errors:mute",
230
+ "id": "alerts:delete",
196
231
  "pluginAlias": "@bussolabs/closeyourit-cli",
197
232
  "pluginName": "@bussolabs/closeyourit-cli",
198
233
  "pluginType": "core",
@@ -202,22 +237,17 @@
202
237
  "relativePath": [
203
238
  "dist",
204
239
  "commands",
205
- "errors",
206
- "mute.js"
240
+ "alerts",
241
+ "delete.js"
207
242
  ]
208
243
  },
209
- "errors:reopen": {
244
+ "alerts:list": {
210
245
  "aliases": [],
211
- "args": {
212
- "id": {
213
- "description": "Error group id",
214
- "name": "id",
215
- "required": true
216
- }
217
- },
218
- "description": "Reopen a resolved error group",
246
+ "args": {},
247
+ "description": "List the alert rules in your organization",
219
248
  "examples": [
220
- "<%= config.bin %> errors reopen <group-id> --project acme-api"
249
+ "<%= config.bin %> alerts list",
250
+ "<%= config.bin %> alerts list --page 2 --json"
221
251
  ],
222
252
  "flags": {
223
253
  "json": {
@@ -227,11 +257,10 @@
227
257
  "allowNo": false,
228
258
  "type": "boolean"
229
259
  },
230
- "project": {
231
- "char": "p",
232
- "description": "Project id (UUID) or key",
233
- "name": "project",
234
- "required": true,
260
+ "page": {
261
+ "description": "Page number",
262
+ "name": "page",
263
+ "default": 1,
235
264
  "hasDynamicHelp": false,
236
265
  "multiple": false,
237
266
  "type": "option"
@@ -239,7 +268,7 @@
239
268
  },
240
269
  "hasDynamicHelp": false,
241
270
  "hiddenAliases": [],
242
- "id": "errors:reopen",
271
+ "id": "alerts:list",
243
272
  "pluginAlias": "@bussolabs/closeyourit-cli",
244
273
  "pluginName": "@bussolabs/closeyourit-cli",
245
274
  "pluginType": "core",
@@ -249,22 +278,22 @@
249
278
  "relativePath": [
250
279
  "dist",
251
280
  "commands",
252
- "errors",
253
- "reopen.js"
281
+ "alerts",
282
+ "list.js"
254
283
  ]
255
284
  },
256
- "errors:resolve": {
285
+ "alerts:show": {
257
286
  "aliases": [],
258
287
  "args": {
259
288
  "id": {
260
- "description": "Error group id",
289
+ "description": "Alert rule id",
261
290
  "name": "id",
262
291
  "required": true
263
292
  }
264
293
  },
265
- "description": "Mark an error group as resolved",
294
+ "description": "Show a single alert rule",
266
295
  "examples": [
267
- "<%= config.bin %> errors resolve <group-id> --project acme-api"
296
+ "<%= config.bin %> alerts show <rule-id>"
268
297
  ],
269
298
  "flags": {
270
299
  "json": {
@@ -273,20 +302,11 @@
273
302
  "name": "json",
274
303
  "allowNo": false,
275
304
  "type": "boolean"
276
- },
277
- "project": {
278
- "char": "p",
279
- "description": "Project id (UUID) or key",
280
- "name": "project",
281
- "required": true,
282
- "hasDynamicHelp": false,
283
- "multiple": false,
284
- "type": "option"
285
305
  }
286
306
  },
287
307
  "hasDynamicHelp": false,
288
308
  "hiddenAliases": [],
289
- "id": "errors:resolve",
309
+ "id": "alerts:show",
290
310
  "pluginAlias": "@bussolabs/closeyourit-cli",
291
311
  "pluginName": "@bussolabs/closeyourit-cli",
292
312
  "pluginType": "core",
@@ -296,22 +316,23 @@
296
316
  "relativePath": [
297
317
  "dist",
298
318
  "commands",
299
- "errors",
300
- "resolve.js"
319
+ "alerts",
320
+ "show.js"
301
321
  ]
302
322
  },
303
- "errors:show": {
323
+ "alerts:update": {
304
324
  "aliases": [],
305
325
  "args": {
306
326
  "id": {
307
- "description": "Error group id",
327
+ "description": "Alert rule id",
308
328
  "name": "id",
309
329
  "required": true
310
330
  }
311
331
  },
312
- "description": "Show a single error group",
332
+ "description": "Update an alert rule (send only the fields you want to change)",
313
333
  "examples": [
314
- "<%= config.bin %> errors show <group-id> --project acme-api"
334
+ "<%= config.bin %> alerts update <rule-id> --name \"Critical errors\"",
335
+ "<%= config.bin %> alerts update <rule-id> --no-enabled"
315
336
  ],
316
337
  "flags": {
317
338
  "json": {
@@ -321,11 +342,64 @@
321
342
  "allowNo": false,
322
343
  "type": "boolean"
323
344
  },
345
+ "name": {
346
+ "description": "Rule name",
347
+ "name": "name",
348
+ "hasDynamicHelp": false,
349
+ "multiple": false,
350
+ "type": "option"
351
+ },
352
+ "event-type": {
353
+ "description": "Event that triggers the rule",
354
+ "name": "event-type",
355
+ "hasDynamicHelp": false,
356
+ "multiple": false,
357
+ "options": [
358
+ "error_new",
359
+ "error_regression",
360
+ "uptime_down",
361
+ "uptime_up",
362
+ "metric_threshold"
363
+ ],
364
+ "type": "option"
365
+ },
366
+ "min-level": {
367
+ "description": "Minimum error level that triggers the rule",
368
+ "name": "min-level",
369
+ "hasDynamicHelp": false,
370
+ "multiple": false,
371
+ "type": "option"
372
+ },
373
+ "threshold-ms": {
374
+ "description": "Duration threshold in milliseconds (metric rules)",
375
+ "name": "threshold-ms",
376
+ "hasDynamicHelp": false,
377
+ "multiple": false,
378
+ "type": "option"
379
+ },
380
+ "throttle-minutes": {
381
+ "description": "Minimum minutes between notifications",
382
+ "name": "throttle-minutes",
383
+ "hasDynamicHelp": false,
384
+ "multiple": false,
385
+ "type": "option"
386
+ },
387
+ "enabled": {
388
+ "description": "Whether the rule is enabled",
389
+ "name": "enabled",
390
+ "allowNo": true,
391
+ "type": "boolean"
392
+ },
324
393
  "project": {
325
- "char": "p",
326
- "description": "Project id (UUID) or key",
394
+ "description": "Scope the rule to a project id (UUID)",
327
395
  "name": "project",
328
- "required": true,
396
+ "hasDynamicHelp": false,
397
+ "multiple": false,
398
+ "type": "option"
399
+ },
400
+ "environment": {
401
+ "description": "Scope the rule to an environment id (UUID)",
402
+ "name": "environment",
329
403
  "hasDynamicHelp": false,
330
404
  "multiple": false,
331
405
  "type": "option"
@@ -333,7 +407,7 @@
333
407
  },
334
408
  "hasDynamicHelp": false,
335
409
  "hiddenAliases": [],
336
- "id": "errors:show",
410
+ "id": "alerts:update",
337
411
  "pluginAlias": "@bussolabs/closeyourit-cli",
338
412
  "pluginName": "@bussolabs/closeyourit-cli",
339
413
  "pluginType": "core",
@@ -343,22 +417,23 @@
343
417
  "relativePath": [
344
418
  "dist",
345
419
  "commands",
346
- "errors",
347
- "show.js"
420
+ "alerts",
421
+ "update.js"
348
422
  ]
349
423
  },
350
- "errors:unmute": {
424
+ "groups:create": {
351
425
  "aliases": [],
352
426
  "args": {
353
- "id": {
354
- "description": "Error group id",
355
- "name": "id",
427
+ "name": {
428
+ "description": "Group name",
429
+ "name": "name",
356
430
  "required": true
357
431
  }
358
432
  },
359
- "description": "Unmute an error group",
433
+ "description": "Create a group (a container of related projects, e.g. \"DriverOne\")",
360
434
  "examples": [
361
- "<%= config.bin %> errors unmute <group-id> --project acme-api"
435
+ "<%= config.bin %> groups create DriverOne",
436
+ "<%= config.bin %> groups create DriverOne --color indigo"
362
437
  ],
363
438
  "flags": {
364
439
  "json": {
@@ -368,11 +443,9 @@
368
443
  "allowNo": false,
369
444
  "type": "boolean"
370
445
  },
371
- "project": {
372
- "char": "p",
373
- "description": "Project id (UUID) or key",
374
- "name": "project",
375
- "required": true,
446
+ "color": {
447
+ "description": "Color label",
448
+ "name": "color",
376
449
  "hasDynamicHelp": false,
377
450
  "multiple": false,
378
451
  "type": "option"
@@ -380,7 +453,7 @@
380
453
  },
381
454
  "hasDynamicHelp": false,
382
455
  "hiddenAliases": [],
383
- "id": "errors:unmute",
456
+ "id": "groups:create",
384
457
  "pluginAlias": "@bussolabs/closeyourit-cli",
385
458
  "pluginName": "@bussolabs/closeyourit-cli",
386
459
  "pluginType": "core",
@@ -390,23 +463,22 @@
390
463
  "relativePath": [
391
464
  "dist",
392
465
  "commands",
393
- "errors",
394
- "unmute.js"
466
+ "groups",
467
+ "create.js"
395
468
  ]
396
469
  },
397
- "groups:create": {
470
+ "groups:delete": {
398
471
  "aliases": [],
399
472
  "args": {
400
- "name": {
401
- "description": "Group name",
402
- "name": "name",
473
+ "group": {
474
+ "description": "Group id (UUID) or name",
475
+ "name": "group",
403
476
  "required": true
404
477
  }
405
478
  },
406
- "description": "Create a group (a container of related projects, e.g. \"DriverOne\")",
479
+ "description": "Delete a group (its projects are detached, not deleted)",
407
480
  "examples": [
408
- "<%= config.bin %> groups create DriverOne",
409
- "<%= config.bin %> groups create DriverOne --color indigo"
481
+ "<%= config.bin %> groups delete Backend --confirm"
410
482
  ],
411
483
  "flags": {
412
484
  "json": {
@@ -416,17 +488,16 @@
416
488
  "allowNo": false,
417
489
  "type": "boolean"
418
490
  },
419
- "color": {
420
- "description": "Color label",
421
- "name": "color",
422
- "hasDynamicHelp": false,
423
- "multiple": false,
424
- "type": "option"
491
+ "confirm": {
492
+ "description": "Required: confirm the deletion",
493
+ "name": "confirm",
494
+ "allowNo": false,
495
+ "type": "boolean"
425
496
  }
426
497
  },
427
498
  "hasDynamicHelp": false,
428
499
  "hiddenAliases": [],
429
- "id": "groups:create",
500
+ "id": "groups:delete",
430
501
  "pluginAlias": "@bussolabs/closeyourit-cli",
431
502
  "pluginName": "@bussolabs/closeyourit-cli",
432
503
  "pluginType": "core",
@@ -437,7 +508,7 @@
437
508
  "dist",
438
509
  "commands",
439
510
  "groups",
440
- "create.js"
511
+ "delete.js"
441
512
  ]
442
513
  },
443
514
  "groups:list": {
@@ -481,6 +552,59 @@
481
552
  "list.js"
482
553
  ]
483
554
  },
555
+ "groups:update": {
556
+ "aliases": [],
557
+ "args": {
558
+ "group": {
559
+ "description": "Group id (UUID) or name",
560
+ "name": "group",
561
+ "required": true
562
+ }
563
+ },
564
+ "description": "Update a group (rename or recolor)",
565
+ "examples": [
566
+ "<%= config.bin %> groups update Backend --name \"Backend services\"",
567
+ "<%= config.bin %> groups update Backend --color indigo"
568
+ ],
569
+ "flags": {
570
+ "json": {
571
+ "description": "Format output as json.",
572
+ "helpGroup": "GLOBAL",
573
+ "name": "json",
574
+ "allowNo": false,
575
+ "type": "boolean"
576
+ },
577
+ "name": {
578
+ "description": "New name",
579
+ "name": "name",
580
+ "hasDynamicHelp": false,
581
+ "multiple": false,
582
+ "type": "option"
583
+ },
584
+ "color": {
585
+ "description": "Color label",
586
+ "name": "color",
587
+ "hasDynamicHelp": false,
588
+ "multiple": false,
589
+ "type": "option"
590
+ }
591
+ },
592
+ "hasDynamicHelp": false,
593
+ "hiddenAliases": [],
594
+ "id": "groups:update",
595
+ "pluginAlias": "@bussolabs/closeyourit-cli",
596
+ "pluginName": "@bussolabs/closeyourit-cli",
597
+ "pluginType": "core",
598
+ "strict": true,
599
+ "enableJsonFlag": true,
600
+ "isESM": false,
601
+ "relativePath": [
602
+ "dist",
603
+ "commands",
604
+ "groups",
605
+ "update.js"
606
+ ]
607
+ },
484
608
  "invitations:create": {
485
609
  "aliases": [],
486
610
  "args": {
@@ -574,7 +698,7 @@
574
698
  "list.js"
575
699
  ]
576
700
  },
577
- "invitations:revoke": {
701
+ "invitations:resend": {
578
702
  "aliases": [],
579
703
  "args": {
580
704
  "id": {
@@ -583,9 +707,9 @@
583
707
  "required": true
584
708
  }
585
709
  },
586
- "description": "Revoke a pending invitation",
710
+ "description": "Resend a pending invitation. Prints the acceptance link (shown only once).",
587
711
  "examples": [
588
- "<%= config.bin %> invitations revoke <invitation-uuid>"
712
+ "<%= config.bin %> invitations resend <invitation-uuid>"
589
713
  ],
590
714
  "flags": {
591
715
  "json": {
@@ -598,7 +722,7 @@
598
722
  },
599
723
  "hasDynamicHelp": false,
600
724
  "hiddenAliases": [],
601
- "id": "invitations:revoke",
725
+ "id": "invitations:resend",
602
726
  "pluginAlias": "@bussolabs/closeyourit-cli",
603
727
  "pluginName": "@bussolabs/closeyourit-cli",
604
728
  "pluginType": "core",
@@ -609,16 +733,21 @@
609
733
  "dist",
610
734
  "commands",
611
735
  "invitations",
612
- "revoke.js"
736
+ "resend.js"
613
737
  ]
614
738
  },
615
- "members:list": {
739
+ "invitations:revoke": {
616
740
  "aliases": [],
617
- "args": {},
618
- "description": "List the members of your organization (to resolve emails to account ids)",
741
+ "args": {
742
+ "id": {
743
+ "description": "Invitation id (UUID)",
744
+ "name": "id",
745
+ "required": true
746
+ }
747
+ },
748
+ "description": "Revoke a pending invitation",
619
749
  "examples": [
620
- "<%= config.bin %> members list",
621
- "<%= config.bin %> members list --json"
750
+ "<%= config.bin %> invitations revoke <invitation-uuid>"
622
751
  ],
623
752
  "flags": {
624
753
  "json": {
@@ -627,19 +756,11 @@
627
756
  "name": "json",
628
757
  "allowNo": false,
629
758
  "type": "boolean"
630
- },
631
- "page": {
632
- "description": "Page number",
633
- "name": "page",
634
- "default": 1,
635
- "hasDynamicHelp": false,
636
- "multiple": false,
637
- "type": "option"
638
759
  }
639
760
  },
640
761
  "hasDynamicHelp": false,
641
762
  "hiddenAliases": [],
642
- "id": "members:list",
763
+ "id": "invitations:revoke",
643
764
  "pluginAlias": "@bussolabs/closeyourit-cli",
644
765
  "pluginName": "@bussolabs/closeyourit-cli",
645
766
  "pluginType": "core",
@@ -649,24 +770,17 @@
649
770
  "relativePath": [
650
771
  "dist",
651
772
  "commands",
652
- "members",
653
- "list.js"
773
+ "invitations",
774
+ "revoke.js"
654
775
  ]
655
776
  },
656
- "projects:create": {
777
+ "errors:list": {
657
778
  "aliases": [],
658
- "args": {
659
- "name": {
660
- "description": "Project name",
661
- "name": "name",
662
- "required": true
663
- }
664
- },
665
- "description": "Create a project (optionally inside a group)",
779
+ "args": {},
780
+ "description": "List error groups for a project",
666
781
  "examples": [
667
- "<%= config.bin %> projects create driverone-rails --key DRRA",
668
- "<%= config.bin %> projects create driverone-rails --group DriverOne --key DRRA",
669
- "<%= config.bin %> projects create driverone-flutter -g <group-uuid> -k DRFL"
782
+ "<%= config.bin %> errors list --project acme-api",
783
+ "<%= config.bin %> errors list -p acme-api --status unresolved --json"
670
784
  ],
671
785
  "flags": {
672
786
  "json": {
@@ -676,32 +790,26 @@
676
790
  "allowNo": false,
677
791
  "type": "boolean"
678
792
  },
679
- "color": {
680
- "description": "Color label",
681
- "name": "color",
682
- "hasDynamicHelp": false,
683
- "multiple": false,
684
- "type": "option"
685
- },
686
- "description": {
687
- "description": "Free-form description",
688
- "name": "description",
793
+ "project": {
794
+ "char": "p",
795
+ "description": "Project id (UUID) or key",
796
+ "name": "project",
797
+ "required": true,
689
798
  "hasDynamicHelp": false,
690
799
  "multiple": false,
691
800
  "type": "option"
692
801
  },
693
- "group": {
694
- "char": "g",
695
- "description": "Group id (UUID) or name to place the project in",
696
- "name": "group",
802
+ "page": {
803
+ "description": "Page number",
804
+ "name": "page",
805
+ "default": 1,
697
806
  "hasDynamicHelp": false,
698
807
  "multiple": false,
699
808
  "type": "option"
700
809
  },
701
- "key": {
702
- "char": "k",
703
- "description": "Project key (uppercase A-Z0-9, unique per org; derived from the name if omitted)",
704
- "name": "key",
810
+ "status": {
811
+ "description": "Filter by status (e.g. unresolved, resolved, muted)",
812
+ "name": "status",
705
813
  "hasDynamicHelp": false,
706
814
  "multiple": false,
707
815
  "type": "option"
@@ -709,7 +817,7 @@
709
817
  },
710
818
  "hasDynamicHelp": false,
711
819
  "hiddenAliases": [],
712
- "id": "projects:create",
820
+ "id": "errors:list",
713
821
  "pluginAlias": "@bussolabs/closeyourit-cli",
714
822
  "pluginName": "@bussolabs/closeyourit-cli",
715
823
  "pluginType": "core",
@@ -719,17 +827,22 @@
719
827
  "relativePath": [
720
828
  "dist",
721
829
  "commands",
722
- "projects",
723
- "create.js"
830
+ "errors",
831
+ "list.js"
724
832
  ]
725
833
  },
726
- "projects:list": {
834
+ "errors:mute": {
727
835
  "aliases": [],
728
- "args": {},
729
- "description": "List the projects visible to you",
836
+ "args": {
837
+ "id": {
838
+ "description": "Error group id",
839
+ "name": "id",
840
+ "required": true
841
+ }
842
+ },
843
+ "description": "Mute an error group",
730
844
  "examples": [
731
- "<%= config.bin %> projects list",
732
- "<%= config.bin %> projects list --page 2 --json"
845
+ "<%= config.bin %> errors mute <group-id> --project acme-api"
733
846
  ],
734
847
  "flags": {
735
848
  "json": {
@@ -739,10 +852,11 @@
739
852
  "allowNo": false,
740
853
  "type": "boolean"
741
854
  },
742
- "page": {
743
- "description": "Page number",
744
- "name": "page",
745
- "default": 1,
855
+ "project": {
856
+ "char": "p",
857
+ "description": "Project id (UUID) or key",
858
+ "name": "project",
859
+ "required": true,
746
860
  "hasDynamicHelp": false,
747
861
  "multiple": false,
748
862
  "type": "option"
@@ -750,7 +864,7 @@
750
864
  },
751
865
  "hasDynamicHelp": false,
752
866
  "hiddenAliases": [],
753
- "id": "projects:list",
867
+ "id": "errors:mute",
754
868
  "pluginAlias": "@bussolabs/closeyourit-cli",
755
869
  "pluginName": "@bussolabs/closeyourit-cli",
756
870
  "pluginType": "core",
@@ -760,17 +874,22 @@
760
874
  "relativePath": [
761
875
  "dist",
762
876
  "commands",
763
- "projects",
764
- "list.js"
877
+ "errors",
878
+ "mute.js"
765
879
  ]
766
880
  },
767
- "projects:set-environments": {
881
+ "errors:promote": {
768
882
  "aliases": [],
769
- "args": {},
770
- "description": "Declare the environments a project receives data from (replaces the current set)",
883
+ "args": {
884
+ "id": {
885
+ "description": "Error group id",
886
+ "name": "id",
887
+ "required": true
888
+ }
889
+ },
890
+ "description": "Promote an error group to a ticket",
771
891
  "examples": [
772
- "<%= config.bin %> projects set-environments --project legalbloom-rails --code production",
773
- "<%= config.bin %> projects set-environments -p LBRA --code production --code staging"
892
+ "<%= config.bin %> errors promote <group-id> --project acme-api"
774
893
  ],
775
894
  "flags": {
776
895
  "json": {
@@ -788,27 +907,11 @@
788
907
  "hasDynamicHelp": false,
789
908
  "multiple": false,
790
909
  "type": "option"
791
- },
792
- "code": {
793
- "description": "Environment code, e.g. production (repeatable)",
794
- "name": "code",
795
- "default": [],
796
- "hasDynamicHelp": false,
797
- "multiple": true,
798
- "type": "option"
799
- },
800
- "environment-id": {
801
- "description": "Environment id / UUID (repeatable)",
802
- "name": "environment-id",
803
- "default": [],
804
- "hasDynamicHelp": false,
805
- "multiple": true,
806
- "type": "option"
807
910
  }
808
911
  },
809
912
  "hasDynamicHelp": false,
810
913
  "hiddenAliases": [],
811
- "id": "projects:set-environments",
914
+ "id": "errors:promote",
812
915
  "pluginAlias": "@bussolabs/closeyourit-cli",
813
916
  "pluginName": "@bussolabs/closeyourit-cli",
814
917
  "pluginType": "core",
@@ -818,23 +921,22 @@
818
921
  "relativePath": [
819
922
  "dist",
820
923
  "commands",
821
- "projects",
822
- "set-environments.js"
924
+ "errors",
925
+ "promote.js"
823
926
  ]
824
927
  },
825
- "projects:show": {
928
+ "errors:reopen": {
826
929
  "aliases": [],
827
930
  "args": {
828
931
  "id": {
829
- "description": "Project id (UUID) or key",
932
+ "description": "Error group id",
830
933
  "name": "id",
831
934
  "required": true
832
935
  }
833
936
  },
834
- "description": "Show a single project by id or key",
937
+ "description": "Reopen a resolved error group",
835
938
  "examples": [
836
- "<%= config.bin %> projects show acme-api",
837
- "<%= config.bin %> projects show <uuid> --json"
939
+ "<%= config.bin %> errors reopen <group-id> --project acme-api"
838
940
  ],
839
941
  "flags": {
840
942
  "json": {
@@ -843,11 +945,20 @@
843
945
  "name": "json",
844
946
  "allowNo": false,
845
947
  "type": "boolean"
948
+ },
949
+ "project": {
950
+ "char": "p",
951
+ "description": "Project id (UUID) or key",
952
+ "name": "project",
953
+ "required": true,
954
+ "hasDynamicHelp": false,
955
+ "multiple": false,
956
+ "type": "option"
846
957
  }
847
958
  },
848
959
  "hasDynamicHelp": false,
849
960
  "hiddenAliases": [],
850
- "id": "projects:show",
961
+ "id": "errors:reopen",
851
962
  "pluginAlias": "@bussolabs/closeyourit-cli",
852
963
  "pluginName": "@bussolabs/closeyourit-cli",
853
964
  "pluginType": "core",
@@ -857,22 +968,22 @@
857
968
  "relativePath": [
858
969
  "dist",
859
970
  "commands",
860
- "projects",
861
- "show.js"
971
+ "errors",
972
+ "reopen.js"
862
973
  ]
863
974
  },
864
- "roles:create": {
975
+ "errors:resolve": {
865
976
  "aliases": [],
866
977
  "args": {
867
- "name": {
868
- "description": "Role name",
869
- "name": "name",
978
+ "id": {
979
+ "description": "Error group id",
980
+ "name": "id",
870
981
  "required": true
871
982
  }
872
983
  },
873
- "description": "Create an RBAC role (a named bundle of permission keys)",
984
+ "description": "Mark an error group as resolved",
874
985
  "examples": [
875
- "<%= config.bin %> roles create Client --permission tickets.edit --permission tickets.assign"
986
+ "<%= config.bin %> errors resolve <group-id> --project acme-api"
876
987
  ],
877
988
  "flags": {
878
989
  "json": {
@@ -882,24 +993,19 @@
882
993
  "allowNo": false,
883
994
  "type": "boolean"
884
995
  },
885
- "color": {
886
- "description": "Color label",
887
- "name": "color",
996
+ "project": {
997
+ "char": "p",
998
+ "description": "Project id (UUID) or key",
999
+ "name": "project",
1000
+ "required": true,
888
1001
  "hasDynamicHelp": false,
889
1002
  "multiple": false,
890
1003
  "type": "option"
891
- },
892
- "permission": {
893
- "description": "Permission key from the catalog (repeatable)",
894
- "name": "permission",
895
- "hasDynamicHelp": false,
896
- "multiple": true,
897
- "type": "option"
898
1004
  }
899
1005
  },
900
1006
  "hasDynamicHelp": false,
901
1007
  "hiddenAliases": [],
902
- "id": "roles:create",
1008
+ "id": "errors:resolve",
903
1009
  "pluginAlias": "@bussolabs/closeyourit-cli",
904
1010
  "pluginName": "@bussolabs/closeyourit-cli",
905
1011
  "pluginType": "core",
@@ -909,22 +1015,22 @@
909
1015
  "relativePath": [
910
1016
  "dist",
911
1017
  "commands",
912
- "roles",
913
- "create.js"
1018
+ "errors",
1019
+ "resolve.js"
914
1020
  ]
915
1021
  },
916
- "roles:delete": {
1022
+ "errors:show": {
917
1023
  "aliases": [],
918
1024
  "args": {
919
- "role": {
920
- "description": "Role id (UUID) or name",
921
- "name": "role",
1025
+ "id": {
1026
+ "description": "Error group id",
1027
+ "name": "id",
922
1028
  "required": true
923
1029
  }
924
1030
  },
925
- "description": "Delete a role (its assignments to teams and accounts are removed)",
1031
+ "description": "Show a single error group",
926
1032
  "examples": [
927
- "<%= config.bin %> roles delete Client"
1033
+ "<%= config.bin %> errors show <group-id> --project acme-api"
928
1034
  ],
929
1035
  "flags": {
930
1036
  "json": {
@@ -933,11 +1039,20 @@
933
1039
  "name": "json",
934
1040
  "allowNo": false,
935
1041
  "type": "boolean"
1042
+ },
1043
+ "project": {
1044
+ "char": "p",
1045
+ "description": "Project id (UUID) or key",
1046
+ "name": "project",
1047
+ "required": true,
1048
+ "hasDynamicHelp": false,
1049
+ "multiple": false,
1050
+ "type": "option"
936
1051
  }
937
1052
  },
938
1053
  "hasDynamicHelp": false,
939
1054
  "hiddenAliases": [],
940
- "id": "roles:delete",
1055
+ "id": "errors:show",
941
1056
  "pluginAlias": "@bussolabs/closeyourit-cli",
942
1057
  "pluginName": "@bussolabs/closeyourit-cli",
943
1058
  "pluginType": "core",
@@ -947,17 +1062,22 @@
947
1062
  "relativePath": [
948
1063
  "dist",
949
1064
  "commands",
950
- "roles",
951
- "delete.js"
1065
+ "errors",
1066
+ "show.js"
952
1067
  ]
953
1068
  },
954
- "roles:list": {
1069
+ "errors:unmute": {
955
1070
  "aliases": [],
956
- "args": {},
957
- "description": "List the RBAC roles in your organization",
1071
+ "args": {
1072
+ "id": {
1073
+ "description": "Error group id",
1074
+ "name": "id",
1075
+ "required": true
1076
+ }
1077
+ },
1078
+ "description": "Unmute an error group",
958
1079
  "examples": [
959
- "<%= config.bin %> roles list",
960
- "<%= config.bin %> roles list --json"
1080
+ "<%= config.bin %> errors unmute <group-id> --project acme-api"
961
1081
  ],
962
1082
  "flags": {
963
1083
  "json": {
@@ -967,10 +1087,11 @@
967
1087
  "allowNo": false,
968
1088
  "type": "boolean"
969
1089
  },
970
- "page": {
971
- "description": "Page number",
972
- "name": "page",
973
- "default": 1,
1090
+ "project": {
1091
+ "char": "p",
1092
+ "description": "Project id (UUID) or key",
1093
+ "name": "project",
1094
+ "required": true,
974
1095
  "hasDynamicHelp": false,
975
1096
  "multiple": false,
976
1097
  "type": "option"
@@ -978,7 +1099,7 @@
978
1099
  },
979
1100
  "hasDynamicHelp": false,
980
1101
  "hiddenAliases": [],
981
- "id": "roles:list",
1102
+ "id": "errors:unmute",
982
1103
  "pluginAlias": "@bussolabs/closeyourit-cli",
983
1104
  "pluginName": "@bussolabs/closeyourit-cli",
984
1105
  "pluginType": "core",
@@ -988,22 +1109,23 @@
988
1109
  "relativePath": [
989
1110
  "dist",
990
1111
  "commands",
991
- "roles",
992
- "list.js"
1112
+ "errors",
1113
+ "unmute.js"
993
1114
  ]
994
1115
  },
995
- "roles:show": {
1116
+ "environments:create": {
996
1117
  "aliases": [],
997
1118
  "args": {
998
- "role": {
999
- "description": "Role id (UUID) or name",
1000
- "name": "role",
1119
+ "code": {
1120
+ "description": "Environment code (lowercase, e.g. production)",
1121
+ "name": "code",
1001
1122
  "required": true
1002
1123
  }
1003
1124
  },
1004
- "description": "Show a role by id or name (with its permission keys)",
1125
+ "description": "Create an environment (production, staging, …) in your organization",
1005
1126
  "examples": [
1006
- "<%= config.bin %> roles show Client"
1127
+ "<%= config.bin %> environments create production --label Production",
1128
+ "<%= config.bin %> environments create staging --label Staging --color amber"
1007
1129
  ],
1008
1130
  "flags": {
1009
1131
  "json": {
@@ -1012,11 +1134,40 @@
1012
1134
  "name": "json",
1013
1135
  "allowNo": false,
1014
1136
  "type": "boolean"
1015
- }
1016
- },
1017
- "hasDynamicHelp": false,
1018
- "hiddenAliases": [],
1019
- "id": "roles:show",
1137
+ },
1138
+ "label": {
1139
+ "description": "Human-readable label",
1140
+ "name": "label",
1141
+ "required": true,
1142
+ "hasDynamicHelp": false,
1143
+ "multiple": false,
1144
+ "type": "option"
1145
+ },
1146
+ "color": {
1147
+ "description": "Color label",
1148
+ "name": "color",
1149
+ "default": "emerald",
1150
+ "hasDynamicHelp": false,
1151
+ "multiple": false,
1152
+ "type": "option"
1153
+ },
1154
+ "position": {
1155
+ "description": "Sort position",
1156
+ "name": "position",
1157
+ "hasDynamicHelp": false,
1158
+ "multiple": false,
1159
+ "type": "option"
1160
+ },
1161
+ "active": {
1162
+ "description": "Whether the environment is active",
1163
+ "name": "active",
1164
+ "allowNo": true,
1165
+ "type": "boolean"
1166
+ }
1167
+ },
1168
+ "hasDynamicHelp": false,
1169
+ "hiddenAliases": [],
1170
+ "id": "environments:create",
1020
1171
  "pluginAlias": "@bussolabs/closeyourit-cli",
1021
1172
  "pluginName": "@bussolabs/closeyourit-cli",
1022
1173
  "pluginType": "core",
@@ -1026,23 +1177,109 @@
1026
1177
  "relativePath": [
1027
1178
  "dist",
1028
1179
  "commands",
1029
- "roles",
1030
- "show.js"
1180
+ "environments",
1181
+ "create.js"
1031
1182
  ]
1032
1183
  },
1033
- "roles:update": {
1184
+ "environments:delete": {
1034
1185
  "aliases": [],
1035
1186
  "args": {
1036
- "role": {
1037
- "description": "Role id (UUID) or name",
1038
- "name": "role",
1187
+ "environment": {
1188
+ "description": "Environment id (UUID) or code",
1189
+ "name": "environment",
1039
1190
  "required": true
1040
1191
  }
1041
1192
  },
1042
- "description": "Update a role (rename, recolor, or replace its permission keys)",
1193
+ "description": "Delete an environment (blocked while projects, tokens or monitors reference it)",
1043
1194
  "examples": [
1044
- "<%= config.bin %> roles update Client --permission tickets.edit --permission tickets.assign",
1045
- "<%= config.bin %> roles update Client --name \"Client manager\""
1195
+ "<%= config.bin %> environments delete staging --confirm"
1196
+ ],
1197
+ "flags": {
1198
+ "json": {
1199
+ "description": "Format output as json.",
1200
+ "helpGroup": "GLOBAL",
1201
+ "name": "json",
1202
+ "allowNo": false,
1203
+ "type": "boolean"
1204
+ },
1205
+ "confirm": {
1206
+ "description": "Required: confirm the deletion",
1207
+ "name": "confirm",
1208
+ "allowNo": false,
1209
+ "type": "boolean"
1210
+ }
1211
+ },
1212
+ "hasDynamicHelp": false,
1213
+ "hiddenAliases": [],
1214
+ "id": "environments:delete",
1215
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1216
+ "pluginName": "@bussolabs/closeyourit-cli",
1217
+ "pluginType": "core",
1218
+ "strict": true,
1219
+ "enableJsonFlag": true,
1220
+ "isESM": false,
1221
+ "relativePath": [
1222
+ "dist",
1223
+ "commands",
1224
+ "environments",
1225
+ "delete.js"
1226
+ ]
1227
+ },
1228
+ "environments:list": {
1229
+ "aliases": [],
1230
+ "args": {},
1231
+ "description": "List the environments (production, staging, …) in your organization",
1232
+ "examples": [
1233
+ "<%= config.bin %> environments list",
1234
+ "<%= config.bin %> environments list --page 2 --json"
1235
+ ],
1236
+ "flags": {
1237
+ "json": {
1238
+ "description": "Format output as json.",
1239
+ "helpGroup": "GLOBAL",
1240
+ "name": "json",
1241
+ "allowNo": false,
1242
+ "type": "boolean"
1243
+ },
1244
+ "page": {
1245
+ "description": "Page number",
1246
+ "name": "page",
1247
+ "default": 1,
1248
+ "hasDynamicHelp": false,
1249
+ "multiple": false,
1250
+ "type": "option"
1251
+ }
1252
+ },
1253
+ "hasDynamicHelp": false,
1254
+ "hiddenAliases": [],
1255
+ "id": "environments:list",
1256
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1257
+ "pluginName": "@bussolabs/closeyourit-cli",
1258
+ "pluginType": "core",
1259
+ "strict": true,
1260
+ "enableJsonFlag": true,
1261
+ "isESM": false,
1262
+ "relativePath": [
1263
+ "dist",
1264
+ "commands",
1265
+ "environments",
1266
+ "list.js"
1267
+ ]
1268
+ },
1269
+ "environments:update": {
1270
+ "aliases": [],
1271
+ "args": {
1272
+ "environment": {
1273
+ "description": "Environment id (UUID) or code",
1274
+ "name": "environment",
1275
+ "required": true
1276
+ }
1277
+ },
1278
+ "description": "Update an environment (recode, relabel, recolor, reorder, activate/deactivate)",
1279
+ "examples": [
1280
+ "<%= config.bin %> environments update staging --label \"Staging env\"",
1281
+ "<%= config.bin %> environments update production --color indigo",
1282
+ "<%= config.bin %> environments update staging --no-active"
1046
1283
  ],
1047
1284
  "flags": {
1048
1285
  "json": {
@@ -1052,6 +1289,20 @@
1052
1289
  "allowNo": false,
1053
1290
  "type": "boolean"
1054
1291
  },
1292
+ "code": {
1293
+ "description": "New code (lowercase)",
1294
+ "name": "code",
1295
+ "hasDynamicHelp": false,
1296
+ "multiple": false,
1297
+ "type": "option"
1298
+ },
1299
+ "label": {
1300
+ "description": "New label",
1301
+ "name": "label",
1302
+ "hasDynamicHelp": false,
1303
+ "multiple": false,
1304
+ "type": "option"
1305
+ },
1055
1306
  "color": {
1056
1307
  "description": "Color label",
1057
1308
  "name": "color",
@@ -1059,24 +1310,23 @@
1059
1310
  "multiple": false,
1060
1311
  "type": "option"
1061
1312
  },
1062
- "name": {
1063
- "description": "New name",
1064
- "name": "name",
1313
+ "position": {
1314
+ "description": "Sort position",
1315
+ "name": "position",
1065
1316
  "hasDynamicHelp": false,
1066
1317
  "multiple": false,
1067
1318
  "type": "option"
1068
1319
  },
1069
- "permission": {
1070
- "description": "Permission key (repeatable); when given, REPLACES the whole set",
1071
- "name": "permission",
1072
- "hasDynamicHelp": false,
1073
- "multiple": true,
1074
- "type": "option"
1320
+ "active": {
1321
+ "description": "Whether the environment is active",
1322
+ "name": "active",
1323
+ "allowNo": true,
1324
+ "type": "boolean"
1075
1325
  }
1076
1326
  },
1077
1327
  "hasDynamicHelp": false,
1078
1328
  "hiddenAliases": [],
1079
- "id": "roles:update",
1329
+ "id": "environments:update",
1080
1330
  "pluginAlias": "@bussolabs/closeyourit-cli",
1081
1331
  "pluginName": "@bussolabs/closeyourit-cli",
1082
1332
  "pluginType": "core",
@@ -1086,7 +1336,7 @@
1086
1336
  "relativePath": [
1087
1337
  "dist",
1088
1338
  "commands",
1089
- "roles",
1339
+ "environments",
1090
1340
  "update.js"
1091
1341
  ]
1092
1342
  },
@@ -1147,7 +1397,7 @@
1147
1397
  "list.js"
1148
1398
  ]
1149
1399
  },
1150
- "metrics:show": {
1400
+ "metrics:promote": {
1151
1401
  "aliases": [],
1152
1402
  "args": {
1153
1403
  "id": {
@@ -1156,9 +1406,9 @@
1156
1406
  "required": true
1157
1407
  }
1158
1408
  },
1159
- "description": "Show a single metric group",
1409
+ "description": "Promote a metric group (slow query/method) to a ticket",
1160
1410
  "examples": [
1161
- "<%= config.bin %> metrics show <group-id> --project acme-api"
1411
+ "<%= config.bin %> metrics promote <group-id> --project acme-api"
1162
1412
  ],
1163
1413
  "flags": {
1164
1414
  "json": {
@@ -1180,7 +1430,7 @@
1180
1430
  },
1181
1431
  "hasDynamicHelp": false,
1182
1432
  "hiddenAliases": [],
1183
- "id": "metrics:show",
1433
+ "id": "metrics:promote",
1184
1434
  "pluginAlias": "@bussolabs/closeyourit-cli",
1185
1435
  "pluginName": "@bussolabs/closeyourit-cli",
1186
1436
  "pluginType": "core",
@@ -1191,26 +1441,21 @@
1191
1441
  "dist",
1192
1442
  "commands",
1193
1443
  "metrics",
1194
- "show.js"
1444
+ "promote.js"
1195
1445
  ]
1196
1446
  },
1197
- "teams:add-member": {
1447
+ "metrics:show": {
1198
1448
  "aliases": [],
1199
1449
  "args": {
1200
- "team": {
1201
- "description": "Team id (UUID) or name",
1202
- "name": "team",
1203
- "required": true
1204
- },
1205
- "member": {
1206
- "description": "Member account id or email (must be an org member)",
1207
- "name": "member",
1450
+ "id": {
1451
+ "description": "Metric group id",
1452
+ "name": "id",
1208
1453
  "required": true
1209
1454
  }
1210
1455
  },
1211
- "description": "Add a person to a team, keeping the existing members",
1456
+ "description": "Show a single metric group",
1212
1457
  "examples": [
1213
- "<%= config.bin %> teams add-member DriverOne client@acme.com"
1458
+ "<%= config.bin %> metrics show <group-id> --project acme-api"
1214
1459
  ],
1215
1460
  "flags": {
1216
1461
  "json": {
@@ -1219,11 +1464,20 @@
1219
1464
  "name": "json",
1220
1465
  "allowNo": false,
1221
1466
  "type": "boolean"
1467
+ },
1468
+ "project": {
1469
+ "char": "p",
1470
+ "description": "Project id (UUID) or key",
1471
+ "name": "project",
1472
+ "required": true,
1473
+ "hasDynamicHelp": false,
1474
+ "multiple": false,
1475
+ "type": "option"
1222
1476
  }
1223
1477
  },
1224
1478
  "hasDynamicHelp": false,
1225
1479
  "hiddenAliases": [],
1226
- "id": "teams:add-member",
1480
+ "id": "metrics:show",
1227
1481
  "pluginAlias": "@bussolabs/closeyourit-cli",
1228
1482
  "pluginName": "@bussolabs/closeyourit-cli",
1229
1483
  "pluginType": "core",
@@ -1233,23 +1487,17 @@
1233
1487
  "relativePath": [
1234
1488
  "dist",
1235
1489
  "commands",
1236
- "teams",
1237
- "add-member.js"
1490
+ "metrics",
1491
+ "show.js"
1238
1492
  ]
1239
1493
  },
1240
- "teams:create": {
1494
+ "milestones:create": {
1241
1495
  "aliases": [],
1242
- "args": {
1243
- "name": {
1244
- "description": "Team name",
1245
- "name": "name",
1246
- "required": true
1247
- }
1248
- },
1249
- "description": "Create a team and (optionally) set its roles, group/project scope and members",
1496
+ "args": {},
1497
+ "description": "Create a milestone for a project",
1250
1498
  "examples": [
1251
- "<%= config.bin %> teams create DriverOne --role Client --group DriverOne",
1252
- "<%= config.bin %> teams create DriverOne --role Client --group DriverOne --member client@acme.com"
1499
+ "<%= config.bin %> milestones create --project acme-api --code v1 --label \"Version 1.0\"",
1500
+ "<%= config.bin %> milestones create -p acme-api --code v1 --label \"Version 1.0\" --due-on 2026-12-31"
1253
1501
  ],
1254
1502
  "flags": {
1255
1503
  "json": {
@@ -1259,45 +1507,55 @@
1259
1507
  "allowNo": false,
1260
1508
  "type": "boolean"
1261
1509
  },
1262
- "color": {
1263
- "description": "Color label",
1264
- "name": "color",
1510
+ "project": {
1511
+ "char": "p",
1512
+ "description": "Project id (UUID) or key",
1513
+ "name": "project",
1514
+ "required": true,
1265
1515
  "hasDynamicHelp": false,
1266
1516
  "multiple": false,
1267
1517
  "type": "option"
1268
1518
  },
1269
- "group": {
1270
- "description": "Group id or name to scope the team to (repeatable)",
1271
- "name": "group",
1519
+ "code": {
1520
+ "description": "Milestone code (short identifier)",
1521
+ "name": "code",
1522
+ "required": true,
1272
1523
  "hasDynamicHelp": false,
1273
- "multiple": true,
1524
+ "multiple": false,
1274
1525
  "type": "option"
1275
1526
  },
1276
- "member": {
1277
- "description": "Member account id or email (repeatable; must be an org member)",
1278
- "name": "member",
1527
+ "label": {
1528
+ "description": "Human-readable label",
1529
+ "name": "label",
1530
+ "required": true,
1279
1531
  "hasDynamicHelp": false,
1280
- "multiple": true,
1532
+ "multiple": false,
1281
1533
  "type": "option"
1282
1534
  },
1283
- "project": {
1284
- "description": "Project id or key to scope the team to (repeatable)",
1285
- "name": "project",
1535
+ "color": {
1536
+ "description": "Color label",
1537
+ "name": "color",
1286
1538
  "hasDynamicHelp": false,
1287
- "multiple": true,
1539
+ "multiple": false,
1288
1540
  "type": "option"
1289
1541
  },
1290
- "role": {
1291
- "description": "Role id or name to grant to the team (repeatable)",
1292
- "name": "role",
1542
+ "due-on": {
1543
+ "description": "Due date (YYYY-MM-DD)",
1544
+ "name": "due-on",
1293
1545
  "hasDynamicHelp": false,
1294
- "multiple": true,
1546
+ "multiple": false,
1295
1547
  "type": "option"
1548
+ },
1549
+ "active": {
1550
+ "description": "Whether the milestone is active",
1551
+ "name": "active",
1552
+ "allowNo": true,
1553
+ "type": "boolean"
1296
1554
  }
1297
1555
  },
1298
1556
  "hasDynamicHelp": false,
1299
1557
  "hiddenAliases": [],
1300
- "id": "teams:create",
1558
+ "id": "milestones:create",
1301
1559
  "pluginAlias": "@bussolabs/closeyourit-cli",
1302
1560
  "pluginName": "@bussolabs/closeyourit-cli",
1303
1561
  "pluginType": "core",
@@ -1307,22 +1565,22 @@
1307
1565
  "relativePath": [
1308
1566
  "dist",
1309
1567
  "commands",
1310
- "teams",
1568
+ "milestones",
1311
1569
  "create.js"
1312
1570
  ]
1313
1571
  },
1314
- "teams:delete": {
1572
+ "milestones:delete": {
1315
1573
  "aliases": [],
1316
1574
  "args": {
1317
- "team": {
1318
- "description": "Team id (UUID) or name",
1319
- "name": "team",
1575
+ "id": {
1576
+ "description": "Milestone id",
1577
+ "name": "id",
1320
1578
  "required": true
1321
1579
  }
1322
1580
  },
1323
- "description": "Delete a team (its members lose the access this team granted)",
1581
+ "description": "Delete a milestone (irreversible)",
1324
1582
  "examples": [
1325
- "<%= config.bin %> teams delete DriverOne"
1583
+ "<%= config.bin %> milestones delete <milestone-id> --project acme-api --confirm"
1326
1584
  ],
1327
1585
  "flags": {
1328
1586
  "json": {
@@ -1331,11 +1589,2466 @@
1331
1589
  "name": "json",
1332
1590
  "allowNo": false,
1333
1591
  "type": "boolean"
1592
+ },
1593
+ "project": {
1594
+ "char": "p",
1595
+ "description": "Project id (UUID) or key",
1596
+ "name": "project",
1597
+ "required": true,
1598
+ "hasDynamicHelp": false,
1599
+ "multiple": false,
1600
+ "type": "option"
1601
+ },
1602
+ "confirm": {
1603
+ "description": "Required: confirm the deletion",
1604
+ "name": "confirm",
1605
+ "allowNo": false,
1606
+ "type": "boolean"
1607
+ }
1608
+ },
1609
+ "hasDynamicHelp": false,
1610
+ "hiddenAliases": [],
1611
+ "id": "milestones:delete",
1612
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1613
+ "pluginName": "@bussolabs/closeyourit-cli",
1614
+ "pluginType": "core",
1615
+ "strict": true,
1616
+ "enableJsonFlag": true,
1617
+ "isESM": false,
1618
+ "relativePath": [
1619
+ "dist",
1620
+ "commands",
1621
+ "milestones",
1622
+ "delete.js"
1623
+ ]
1624
+ },
1625
+ "milestones:list": {
1626
+ "aliases": [],
1627
+ "args": {},
1628
+ "description": "List the milestones for a project",
1629
+ "examples": [
1630
+ "<%= config.bin %> milestones list --project acme-api",
1631
+ "<%= config.bin %> milestones list -p acme-api --json"
1632
+ ],
1633
+ "flags": {
1634
+ "json": {
1635
+ "description": "Format output as json.",
1636
+ "helpGroup": "GLOBAL",
1637
+ "name": "json",
1638
+ "allowNo": false,
1639
+ "type": "boolean"
1640
+ },
1641
+ "project": {
1642
+ "char": "p",
1643
+ "description": "Project id (UUID) or key",
1644
+ "name": "project",
1645
+ "required": true,
1646
+ "hasDynamicHelp": false,
1647
+ "multiple": false,
1648
+ "type": "option"
1649
+ },
1650
+ "page": {
1651
+ "description": "Page number",
1652
+ "name": "page",
1653
+ "default": 1,
1654
+ "hasDynamicHelp": false,
1655
+ "multiple": false,
1656
+ "type": "option"
1657
+ }
1658
+ },
1659
+ "hasDynamicHelp": false,
1660
+ "hiddenAliases": [],
1661
+ "id": "milestones:list",
1662
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1663
+ "pluginName": "@bussolabs/closeyourit-cli",
1664
+ "pluginType": "core",
1665
+ "strict": true,
1666
+ "enableJsonFlag": true,
1667
+ "isESM": false,
1668
+ "relativePath": [
1669
+ "dist",
1670
+ "commands",
1671
+ "milestones",
1672
+ "list.js"
1673
+ ]
1674
+ },
1675
+ "milestones:show": {
1676
+ "aliases": [],
1677
+ "args": {
1678
+ "id": {
1679
+ "description": "Milestone id",
1680
+ "name": "id",
1681
+ "required": true
1682
+ }
1683
+ },
1684
+ "description": "Show a single milestone",
1685
+ "examples": [
1686
+ "<%= config.bin %> milestones show <milestone-id> --project acme-api"
1687
+ ],
1688
+ "flags": {
1689
+ "json": {
1690
+ "description": "Format output as json.",
1691
+ "helpGroup": "GLOBAL",
1692
+ "name": "json",
1693
+ "allowNo": false,
1694
+ "type": "boolean"
1695
+ },
1696
+ "project": {
1697
+ "char": "p",
1698
+ "description": "Project id (UUID) or key",
1699
+ "name": "project",
1700
+ "required": true,
1701
+ "hasDynamicHelp": false,
1702
+ "multiple": false,
1703
+ "type": "option"
1704
+ }
1705
+ },
1706
+ "hasDynamicHelp": false,
1707
+ "hiddenAliases": [],
1708
+ "id": "milestones:show",
1709
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1710
+ "pluginName": "@bussolabs/closeyourit-cli",
1711
+ "pluginType": "core",
1712
+ "strict": true,
1713
+ "enableJsonFlag": true,
1714
+ "isESM": false,
1715
+ "relativePath": [
1716
+ "dist",
1717
+ "commands",
1718
+ "milestones",
1719
+ "show.js"
1720
+ ]
1721
+ },
1722
+ "milestones:update": {
1723
+ "aliases": [],
1724
+ "args": {
1725
+ "id": {
1726
+ "description": "Milestone id",
1727
+ "name": "id",
1728
+ "required": true
1729
+ }
1730
+ },
1731
+ "description": "Update a milestone (send only the fields you want to change)",
1732
+ "examples": [
1733
+ "<%= config.bin %> milestones update <milestone-id> --project acme-api --label \"Version 1.1\"",
1734
+ "<%= config.bin %> milestones update <milestone-id> -p acme-api --due-on 2027-01-15 --no-active"
1735
+ ],
1736
+ "flags": {
1737
+ "json": {
1738
+ "description": "Format output as json.",
1739
+ "helpGroup": "GLOBAL",
1740
+ "name": "json",
1741
+ "allowNo": false,
1742
+ "type": "boolean"
1743
+ },
1744
+ "project": {
1745
+ "char": "p",
1746
+ "description": "Project id (UUID) or key",
1747
+ "name": "project",
1748
+ "required": true,
1749
+ "hasDynamicHelp": false,
1750
+ "multiple": false,
1751
+ "type": "option"
1752
+ },
1753
+ "code": {
1754
+ "description": "Milestone code (short identifier)",
1755
+ "name": "code",
1756
+ "hasDynamicHelp": false,
1757
+ "multiple": false,
1758
+ "type": "option"
1759
+ },
1760
+ "label": {
1761
+ "description": "Human-readable label",
1762
+ "name": "label",
1763
+ "hasDynamicHelp": false,
1764
+ "multiple": false,
1765
+ "type": "option"
1766
+ },
1767
+ "color": {
1768
+ "description": "Color label",
1769
+ "name": "color",
1770
+ "hasDynamicHelp": false,
1771
+ "multiple": false,
1772
+ "type": "option"
1773
+ },
1774
+ "due-on": {
1775
+ "description": "Due date (YYYY-MM-DD)",
1776
+ "name": "due-on",
1777
+ "hasDynamicHelp": false,
1778
+ "multiple": false,
1779
+ "type": "option"
1780
+ },
1781
+ "active": {
1782
+ "description": "Whether the milestone is active",
1783
+ "name": "active",
1784
+ "allowNo": true,
1785
+ "type": "boolean"
1786
+ }
1787
+ },
1788
+ "hasDynamicHelp": false,
1789
+ "hiddenAliases": [],
1790
+ "id": "milestones:update",
1791
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1792
+ "pluginName": "@bussolabs/closeyourit-cli",
1793
+ "pluginType": "core",
1794
+ "strict": true,
1795
+ "enableJsonFlag": true,
1796
+ "isESM": false,
1797
+ "relativePath": [
1798
+ "dist",
1799
+ "commands",
1800
+ "milestones",
1801
+ "update.js"
1802
+ ]
1803
+ },
1804
+ "members:list": {
1805
+ "aliases": [],
1806
+ "args": {},
1807
+ "description": "List the members of your organization (to resolve emails to account ids)",
1808
+ "examples": [
1809
+ "<%= config.bin %> members list",
1810
+ "<%= config.bin %> members list --json"
1811
+ ],
1812
+ "flags": {
1813
+ "json": {
1814
+ "description": "Format output as json.",
1815
+ "helpGroup": "GLOBAL",
1816
+ "name": "json",
1817
+ "allowNo": false,
1818
+ "type": "boolean"
1819
+ },
1820
+ "page": {
1821
+ "description": "Page number",
1822
+ "name": "page",
1823
+ "default": 1,
1824
+ "hasDynamicHelp": false,
1825
+ "multiple": false,
1826
+ "type": "option"
1827
+ }
1828
+ },
1829
+ "hasDynamicHelp": false,
1830
+ "hiddenAliases": [],
1831
+ "id": "members:list",
1832
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1833
+ "pluginName": "@bussolabs/closeyourit-cli",
1834
+ "pluginType": "core",
1835
+ "strict": true,
1836
+ "enableJsonFlag": true,
1837
+ "isESM": false,
1838
+ "relativePath": [
1839
+ "dist",
1840
+ "commands",
1841
+ "members",
1842
+ "list.js"
1843
+ ]
1844
+ },
1845
+ "members:set-access": {
1846
+ "aliases": [],
1847
+ "args": {
1848
+ "id": {
1849
+ "description": "Membership id",
1850
+ "name": "id",
1851
+ "required": true
1852
+ }
1853
+ },
1854
+ "description": "Set a member's group and project access (replaces the current set; omit a flag to clear it)",
1855
+ "examples": [
1856
+ "<%= config.bin %> members set-access <membership-id> --project acme-api --project acme-web",
1857
+ "<%= config.bin %> members set-access <membership-id> --group DriverOne",
1858
+ "<%= config.bin %> members set-access <membership-id>"
1859
+ ],
1860
+ "flags": {
1861
+ "json": {
1862
+ "description": "Format output as json.",
1863
+ "helpGroup": "GLOBAL",
1864
+ "name": "json",
1865
+ "allowNo": false,
1866
+ "type": "boolean"
1867
+ },
1868
+ "group": {
1869
+ "description": "Group id or name to grant access to (repeatable; omit to clear group access)",
1870
+ "name": "group",
1871
+ "default": [],
1872
+ "hasDynamicHelp": false,
1873
+ "multiple": true,
1874
+ "type": "option"
1875
+ },
1876
+ "project": {
1877
+ "description": "Project id or key to grant access to (repeatable; omit to clear project access)",
1878
+ "name": "project",
1879
+ "default": [],
1880
+ "hasDynamicHelp": false,
1881
+ "multiple": true,
1882
+ "type": "option"
1883
+ }
1884
+ },
1885
+ "hasDynamicHelp": false,
1886
+ "hiddenAliases": [],
1887
+ "id": "members:set-access",
1888
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1889
+ "pluginName": "@bussolabs/closeyourit-cli",
1890
+ "pluginType": "core",
1891
+ "strict": true,
1892
+ "enableJsonFlag": true,
1893
+ "isESM": false,
1894
+ "relativePath": [
1895
+ "dist",
1896
+ "commands",
1897
+ "members",
1898
+ "set-access.js"
1899
+ ]
1900
+ },
1901
+ "members:set-role": {
1902
+ "aliases": [],
1903
+ "args": {
1904
+ "id": {
1905
+ "description": "Membership id",
1906
+ "name": "id",
1907
+ "required": true
1908
+ }
1909
+ },
1910
+ "description": "Change a member's organization role",
1911
+ "examples": [
1912
+ "<%= config.bin %> members set-role <membership-id> --role admin",
1913
+ "<%= config.bin %> members set-role <membership-id> --role customer"
1914
+ ],
1915
+ "flags": {
1916
+ "json": {
1917
+ "description": "Format output as json.",
1918
+ "helpGroup": "GLOBAL",
1919
+ "name": "json",
1920
+ "allowNo": false,
1921
+ "type": "boolean"
1922
+ },
1923
+ "role": {
1924
+ "description": "Organization role",
1925
+ "name": "role",
1926
+ "required": true,
1927
+ "hasDynamicHelp": false,
1928
+ "multiple": false,
1929
+ "options": [
1930
+ "member",
1931
+ "admin",
1932
+ "owner",
1933
+ "customer"
1934
+ ],
1935
+ "type": "option"
1936
+ }
1937
+ },
1938
+ "hasDynamicHelp": false,
1939
+ "hiddenAliases": [],
1940
+ "id": "members:set-role",
1941
+ "pluginAlias": "@bussolabs/closeyourit-cli",
1942
+ "pluginName": "@bussolabs/closeyourit-cli",
1943
+ "pluginType": "core",
1944
+ "strict": true,
1945
+ "enableJsonFlag": true,
1946
+ "isESM": false,
1947
+ "relativePath": [
1948
+ "dist",
1949
+ "commands",
1950
+ "members",
1951
+ "set-role.js"
1952
+ ]
1953
+ },
1954
+ "monitors:create": {
1955
+ "aliases": [],
1956
+ "args": {},
1957
+ "description": "Create an uptime monitor for a project (one per environment)",
1958
+ "examples": [
1959
+ "<%= config.bin %> monitors create --project acme-api --url https://acme.example.com/up",
1960
+ "<%= config.bin %> monitors create -p acme-api --url https://acme.example.com/up --environment <env-id> --interval-seconds 60 --expected-status 200"
1961
+ ],
1962
+ "flags": {
1963
+ "json": {
1964
+ "description": "Format output as json.",
1965
+ "helpGroup": "GLOBAL",
1966
+ "name": "json",
1967
+ "allowNo": false,
1968
+ "type": "boolean"
1969
+ },
1970
+ "project": {
1971
+ "char": "p",
1972
+ "description": "Project id (UUID) or key",
1973
+ "name": "project",
1974
+ "required": true,
1975
+ "hasDynamicHelp": false,
1976
+ "multiple": false,
1977
+ "type": "option"
1978
+ },
1979
+ "url": {
1980
+ "description": "URL to probe",
1981
+ "name": "url",
1982
+ "required": true,
1983
+ "hasDynamicHelp": false,
1984
+ "multiple": false,
1985
+ "type": "option"
1986
+ },
1987
+ "environment": {
1988
+ "description": "Environment id (must be declared by the project)",
1989
+ "name": "environment",
1990
+ "hasDynamicHelp": false,
1991
+ "multiple": false,
1992
+ "type": "option"
1993
+ },
1994
+ "http-method": {
1995
+ "description": "HTTP method (default GET)",
1996
+ "name": "http-method",
1997
+ "hasDynamicHelp": false,
1998
+ "multiple": false,
1999
+ "type": "option"
2000
+ },
2001
+ "interval-seconds": {
2002
+ "description": "Seconds between checks",
2003
+ "name": "interval-seconds",
2004
+ "hasDynamicHelp": false,
2005
+ "multiple": false,
2006
+ "type": "option"
2007
+ },
2008
+ "expected-status": {
2009
+ "description": "Expected HTTP status code",
2010
+ "name": "expected-status",
2011
+ "hasDynamicHelp": false,
2012
+ "multiple": false,
2013
+ "type": "option"
2014
+ },
2015
+ "timeout-seconds": {
2016
+ "description": "Request timeout in seconds",
2017
+ "name": "timeout-seconds",
2018
+ "hasDynamicHelp": false,
2019
+ "multiple": false,
2020
+ "type": "option"
2021
+ }
2022
+ },
2023
+ "hasDynamicHelp": false,
2024
+ "hiddenAliases": [],
2025
+ "id": "monitors:create",
2026
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2027
+ "pluginName": "@bussolabs/closeyourit-cli",
2028
+ "pluginType": "core",
2029
+ "strict": true,
2030
+ "enableJsonFlag": true,
2031
+ "isESM": false,
2032
+ "relativePath": [
2033
+ "dist",
2034
+ "commands",
2035
+ "monitors",
2036
+ "create.js"
2037
+ ]
2038
+ },
2039
+ "monitors:delete": {
2040
+ "aliases": [],
2041
+ "args": {
2042
+ "id": {
2043
+ "description": "Monitor id",
2044
+ "name": "id",
2045
+ "required": true
2046
+ }
2047
+ },
2048
+ "description": "Delete an uptime monitor (irreversible)",
2049
+ "examples": [
2050
+ "<%= config.bin %> monitors delete <monitor-id> --project acme-api --confirm"
2051
+ ],
2052
+ "flags": {
2053
+ "json": {
2054
+ "description": "Format output as json.",
2055
+ "helpGroup": "GLOBAL",
2056
+ "name": "json",
2057
+ "allowNo": false,
2058
+ "type": "boolean"
2059
+ },
2060
+ "project": {
2061
+ "char": "p",
2062
+ "description": "Project id (UUID) or key",
2063
+ "name": "project",
2064
+ "required": true,
2065
+ "hasDynamicHelp": false,
2066
+ "multiple": false,
2067
+ "type": "option"
2068
+ },
2069
+ "confirm": {
2070
+ "description": "Required: confirm the deletion",
2071
+ "name": "confirm",
2072
+ "allowNo": false,
2073
+ "type": "boolean"
2074
+ }
2075
+ },
2076
+ "hasDynamicHelp": false,
2077
+ "hiddenAliases": [],
2078
+ "id": "monitors:delete",
2079
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2080
+ "pluginName": "@bussolabs/closeyourit-cli",
2081
+ "pluginType": "core",
2082
+ "strict": true,
2083
+ "enableJsonFlag": true,
2084
+ "isESM": false,
2085
+ "relativePath": [
2086
+ "dist",
2087
+ "commands",
2088
+ "monitors",
2089
+ "delete.js"
2090
+ ]
2091
+ },
2092
+ "monitors:list": {
2093
+ "aliases": [],
2094
+ "args": {},
2095
+ "description": "List the uptime monitors for a project",
2096
+ "examples": [
2097
+ "<%= config.bin %> monitors list --project acme-api",
2098
+ "<%= config.bin %> monitors list -p acme-api --json"
2099
+ ],
2100
+ "flags": {
2101
+ "json": {
2102
+ "description": "Format output as json.",
2103
+ "helpGroup": "GLOBAL",
2104
+ "name": "json",
2105
+ "allowNo": false,
2106
+ "type": "boolean"
2107
+ },
2108
+ "project": {
2109
+ "char": "p",
2110
+ "description": "Project id (UUID) or key",
2111
+ "name": "project",
2112
+ "required": true,
2113
+ "hasDynamicHelp": false,
2114
+ "multiple": false,
2115
+ "type": "option"
2116
+ },
2117
+ "page": {
2118
+ "description": "Page number",
2119
+ "name": "page",
2120
+ "default": 1,
2121
+ "hasDynamicHelp": false,
2122
+ "multiple": false,
2123
+ "type": "option"
2124
+ }
2125
+ },
2126
+ "hasDynamicHelp": false,
2127
+ "hiddenAliases": [],
2128
+ "id": "monitors:list",
2129
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2130
+ "pluginName": "@bussolabs/closeyourit-cli",
2131
+ "pluginType": "core",
2132
+ "strict": true,
2133
+ "enableJsonFlag": true,
2134
+ "isESM": false,
2135
+ "relativePath": [
2136
+ "dist",
2137
+ "commands",
2138
+ "monitors",
2139
+ "list.js"
2140
+ ]
2141
+ },
2142
+ "monitors:pause": {
2143
+ "aliases": [],
2144
+ "args": {
2145
+ "id": {
2146
+ "description": "Monitor id",
2147
+ "name": "id",
2148
+ "required": true
2149
+ }
2150
+ },
2151
+ "description": "Pause an uptime monitor (stops scheduling checks)",
2152
+ "examples": [
2153
+ "<%= config.bin %> monitors pause <monitor-id> --project acme-api"
2154
+ ],
2155
+ "flags": {
2156
+ "json": {
2157
+ "description": "Format output as json.",
2158
+ "helpGroup": "GLOBAL",
2159
+ "name": "json",
2160
+ "allowNo": false,
2161
+ "type": "boolean"
2162
+ },
2163
+ "project": {
2164
+ "char": "p",
2165
+ "description": "Project id (UUID) or key",
2166
+ "name": "project",
2167
+ "required": true,
2168
+ "hasDynamicHelp": false,
2169
+ "multiple": false,
2170
+ "type": "option"
2171
+ }
2172
+ },
2173
+ "hasDynamicHelp": false,
2174
+ "hiddenAliases": [],
2175
+ "id": "monitors:pause",
2176
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2177
+ "pluginName": "@bussolabs/closeyourit-cli",
2178
+ "pluginType": "core",
2179
+ "strict": true,
2180
+ "enableJsonFlag": true,
2181
+ "isESM": false,
2182
+ "relativePath": [
2183
+ "dist",
2184
+ "commands",
2185
+ "monitors",
2186
+ "pause.js"
2187
+ ]
2188
+ },
2189
+ "monitors:resume": {
2190
+ "aliases": [],
2191
+ "args": {
2192
+ "id": {
2193
+ "description": "Monitor id",
2194
+ "name": "id",
2195
+ "required": true
2196
+ }
2197
+ },
2198
+ "description": "Resume a paused uptime monitor (re-enables scheduling)",
2199
+ "examples": [
2200
+ "<%= config.bin %> monitors resume <monitor-id> --project acme-api"
2201
+ ],
2202
+ "flags": {
2203
+ "json": {
2204
+ "description": "Format output as json.",
2205
+ "helpGroup": "GLOBAL",
2206
+ "name": "json",
2207
+ "allowNo": false,
2208
+ "type": "boolean"
2209
+ },
2210
+ "project": {
2211
+ "char": "p",
2212
+ "description": "Project id (UUID) or key",
2213
+ "name": "project",
2214
+ "required": true,
2215
+ "hasDynamicHelp": false,
2216
+ "multiple": false,
2217
+ "type": "option"
2218
+ }
2219
+ },
2220
+ "hasDynamicHelp": false,
2221
+ "hiddenAliases": [],
2222
+ "id": "monitors:resume",
2223
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2224
+ "pluginName": "@bussolabs/closeyourit-cli",
2225
+ "pluginType": "core",
2226
+ "strict": true,
2227
+ "enableJsonFlag": true,
2228
+ "isESM": false,
2229
+ "relativePath": [
2230
+ "dist",
2231
+ "commands",
2232
+ "monitors",
2233
+ "resume.js"
2234
+ ]
2235
+ },
2236
+ "monitors:show": {
2237
+ "aliases": [],
2238
+ "args": {
2239
+ "id": {
2240
+ "description": "Monitor id",
2241
+ "name": "id",
2242
+ "required": true
2243
+ }
2244
+ },
2245
+ "description": "Show a single uptime monitor",
2246
+ "examples": [
2247
+ "<%= config.bin %> monitors show <monitor-id> --project acme-api"
2248
+ ],
2249
+ "flags": {
2250
+ "json": {
2251
+ "description": "Format output as json.",
2252
+ "helpGroup": "GLOBAL",
2253
+ "name": "json",
2254
+ "allowNo": false,
2255
+ "type": "boolean"
2256
+ },
2257
+ "project": {
2258
+ "char": "p",
2259
+ "description": "Project id (UUID) or key",
2260
+ "name": "project",
2261
+ "required": true,
2262
+ "hasDynamicHelp": false,
2263
+ "multiple": false,
2264
+ "type": "option"
2265
+ }
2266
+ },
2267
+ "hasDynamicHelp": false,
2268
+ "hiddenAliases": [],
2269
+ "id": "monitors:show",
2270
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2271
+ "pluginName": "@bussolabs/closeyourit-cli",
2272
+ "pluginType": "core",
2273
+ "strict": true,
2274
+ "enableJsonFlag": true,
2275
+ "isESM": false,
2276
+ "relativePath": [
2277
+ "dist",
2278
+ "commands",
2279
+ "monitors",
2280
+ "show.js"
2281
+ ]
2282
+ },
2283
+ "monitors:update": {
2284
+ "aliases": [],
2285
+ "args": {
2286
+ "id": {
2287
+ "description": "Monitor id",
2288
+ "name": "id",
2289
+ "required": true
2290
+ }
2291
+ },
2292
+ "description": "Update an uptime monitor (URL, method, interval, expected status, timeout)",
2293
+ "examples": [
2294
+ "<%= config.bin %> monitors update <monitor-id> --project acme-api --interval-seconds 120",
2295
+ "<%= config.bin %> monitors update <monitor-id> -p acme-api --url https://acme.example.com/health --expected-status 204"
2296
+ ],
2297
+ "flags": {
2298
+ "json": {
2299
+ "description": "Format output as json.",
2300
+ "helpGroup": "GLOBAL",
2301
+ "name": "json",
2302
+ "allowNo": false,
2303
+ "type": "boolean"
2304
+ },
2305
+ "project": {
2306
+ "char": "p",
2307
+ "description": "Project id (UUID) or key",
2308
+ "name": "project",
2309
+ "required": true,
2310
+ "hasDynamicHelp": false,
2311
+ "multiple": false,
2312
+ "type": "option"
2313
+ },
2314
+ "url": {
2315
+ "description": "URL to probe",
2316
+ "name": "url",
2317
+ "hasDynamicHelp": false,
2318
+ "multiple": false,
2319
+ "type": "option"
2320
+ },
2321
+ "http-method": {
2322
+ "description": "HTTP method",
2323
+ "name": "http-method",
2324
+ "hasDynamicHelp": false,
2325
+ "multiple": false,
2326
+ "type": "option"
2327
+ },
2328
+ "interval-seconds": {
2329
+ "description": "Seconds between checks",
2330
+ "name": "interval-seconds",
2331
+ "hasDynamicHelp": false,
2332
+ "multiple": false,
2333
+ "type": "option"
2334
+ },
2335
+ "expected-status": {
2336
+ "description": "Expected HTTP status code",
2337
+ "name": "expected-status",
2338
+ "hasDynamicHelp": false,
2339
+ "multiple": false,
2340
+ "type": "option"
2341
+ },
2342
+ "timeout-seconds": {
2343
+ "description": "Request timeout in seconds",
2344
+ "name": "timeout-seconds",
2345
+ "hasDynamicHelp": false,
2346
+ "multiple": false,
2347
+ "type": "option"
2348
+ }
2349
+ },
2350
+ "hasDynamicHelp": false,
2351
+ "hiddenAliases": [],
2352
+ "id": "monitors:update",
2353
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2354
+ "pluginName": "@bussolabs/closeyourit-cli",
2355
+ "pluginType": "core",
2356
+ "strict": true,
2357
+ "enableJsonFlag": true,
2358
+ "isESM": false,
2359
+ "relativePath": [
2360
+ "dist",
2361
+ "commands",
2362
+ "monitors",
2363
+ "update.js"
2364
+ ]
2365
+ },
2366
+ "org:show": {
2367
+ "aliases": [],
2368
+ "args": {},
2369
+ "description": "Show your organization settings",
2370
+ "examples": [
2371
+ "<%= config.bin %> org show",
2372
+ "<%= config.bin %> org show --json"
2373
+ ],
2374
+ "flags": {
2375
+ "json": {
2376
+ "description": "Format output as json.",
2377
+ "helpGroup": "GLOBAL",
2378
+ "name": "json",
2379
+ "allowNo": false,
2380
+ "type": "boolean"
2381
+ }
2382
+ },
2383
+ "hasDynamicHelp": false,
2384
+ "hiddenAliases": [],
2385
+ "id": "org:show",
2386
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2387
+ "pluginName": "@bussolabs/closeyourit-cli",
2388
+ "pluginType": "core",
2389
+ "strict": true,
2390
+ "enableJsonFlag": true,
2391
+ "isESM": false,
2392
+ "relativePath": [
2393
+ "dist",
2394
+ "commands",
2395
+ "org",
2396
+ "show.js"
2397
+ ]
2398
+ },
2399
+ "org:update": {
2400
+ "aliases": [],
2401
+ "args": {},
2402
+ "description": "Update your organization settings (requires organization.manage)",
2403
+ "examples": [
2404
+ "<%= config.bin %> org update --name \"Acme Inc\"",
2405
+ "<%= config.bin %> org update --slug acme-inc",
2406
+ "<%= config.bin %> org update --projects-view table"
2407
+ ],
2408
+ "flags": {
2409
+ "json": {
2410
+ "description": "Format output as json.",
2411
+ "helpGroup": "GLOBAL",
2412
+ "name": "json",
2413
+ "allowNo": false,
2414
+ "type": "boolean"
2415
+ },
2416
+ "name": {
2417
+ "description": "New organization name",
2418
+ "name": "name",
2419
+ "hasDynamicHelp": false,
2420
+ "multiple": false,
2421
+ "type": "option"
2422
+ },
2423
+ "slug": {
2424
+ "description": "New organization slug (lowercase, a-z 0-9 and hyphens)",
2425
+ "name": "slug",
2426
+ "hasDynamicHelp": false,
2427
+ "multiple": false,
2428
+ "type": "option"
2429
+ },
2430
+ "projects-view": {
2431
+ "description": "Default projects list view",
2432
+ "name": "projects-view",
2433
+ "hasDynamicHelp": false,
2434
+ "multiple": false,
2435
+ "options": [
2436
+ "cards",
2437
+ "table"
2438
+ ],
2439
+ "type": "option"
2440
+ }
2441
+ },
2442
+ "hasDynamicHelp": false,
2443
+ "hiddenAliases": [],
2444
+ "id": "org:update",
2445
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2446
+ "pluginName": "@bussolabs/closeyourit-cli",
2447
+ "pluginType": "core",
2448
+ "strict": true,
2449
+ "enableJsonFlag": true,
2450
+ "isESM": false,
2451
+ "relativePath": [
2452
+ "dist",
2453
+ "commands",
2454
+ "org",
2455
+ "update.js"
2456
+ ]
2457
+ },
2458
+ "projects:create": {
2459
+ "aliases": [],
2460
+ "args": {
2461
+ "name": {
2462
+ "description": "Project name",
2463
+ "name": "name",
2464
+ "required": true
2465
+ }
2466
+ },
2467
+ "description": "Create a project (optionally inside a group)",
2468
+ "examples": [
2469
+ "<%= config.bin %> projects create driverone-rails --key DRRA",
2470
+ "<%= config.bin %> projects create driverone-rails --group DriverOne --key DRRA",
2471
+ "<%= config.bin %> projects create driverone-flutter -g <group-uuid> -k DRFL"
2472
+ ],
2473
+ "flags": {
2474
+ "json": {
2475
+ "description": "Format output as json.",
2476
+ "helpGroup": "GLOBAL",
2477
+ "name": "json",
2478
+ "allowNo": false,
2479
+ "type": "boolean"
2480
+ },
2481
+ "color": {
2482
+ "description": "Color label",
2483
+ "name": "color",
2484
+ "hasDynamicHelp": false,
2485
+ "multiple": false,
2486
+ "type": "option"
2487
+ },
2488
+ "description": {
2489
+ "description": "Free-form description",
2490
+ "name": "description",
2491
+ "hasDynamicHelp": false,
2492
+ "multiple": false,
2493
+ "type": "option"
2494
+ },
2495
+ "group": {
2496
+ "char": "g",
2497
+ "description": "Group id (UUID) or name to place the project in",
2498
+ "name": "group",
2499
+ "hasDynamicHelp": false,
2500
+ "multiple": false,
2501
+ "type": "option"
2502
+ },
2503
+ "key": {
2504
+ "char": "k",
2505
+ "description": "Project key (uppercase A-Z0-9, max 4 chars, unique per org)",
2506
+ "name": "key",
2507
+ "required": true,
2508
+ "hasDynamicHelp": false,
2509
+ "multiple": false,
2510
+ "type": "option"
2511
+ }
2512
+ },
2513
+ "hasDynamicHelp": false,
2514
+ "hiddenAliases": [],
2515
+ "id": "projects:create",
2516
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2517
+ "pluginName": "@bussolabs/closeyourit-cli",
2518
+ "pluginType": "core",
2519
+ "strict": true,
2520
+ "enableJsonFlag": true,
2521
+ "isESM": false,
2522
+ "relativePath": [
2523
+ "dist",
2524
+ "commands",
2525
+ "projects",
2526
+ "create.js"
2527
+ ]
2528
+ },
2529
+ "projects:delete": {
2530
+ "aliases": [],
2531
+ "args": {},
2532
+ "description": "Delete a project (irreversible)",
2533
+ "examples": [
2534
+ "<%= config.bin %> projects delete --project LBRA --confirm"
2535
+ ],
2536
+ "flags": {
2537
+ "json": {
2538
+ "description": "Format output as json.",
2539
+ "helpGroup": "GLOBAL",
2540
+ "name": "json",
2541
+ "allowNo": false,
2542
+ "type": "boolean"
2543
+ },
2544
+ "project": {
2545
+ "char": "p",
2546
+ "description": "Project id (UUID) or key",
2547
+ "name": "project",
2548
+ "required": true,
2549
+ "hasDynamicHelp": false,
2550
+ "multiple": false,
2551
+ "type": "option"
2552
+ },
2553
+ "confirm": {
2554
+ "description": "Required: confirm the irreversible deletion",
2555
+ "name": "confirm",
2556
+ "allowNo": false,
2557
+ "type": "boolean"
2558
+ }
2559
+ },
2560
+ "hasDynamicHelp": false,
2561
+ "hiddenAliases": [],
2562
+ "id": "projects:delete",
2563
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2564
+ "pluginName": "@bussolabs/closeyourit-cli",
2565
+ "pluginType": "core",
2566
+ "strict": true,
2567
+ "enableJsonFlag": true,
2568
+ "isESM": false,
2569
+ "relativePath": [
2570
+ "dist",
2571
+ "commands",
2572
+ "projects",
2573
+ "delete.js"
2574
+ ]
2575
+ },
2576
+ "projects:list": {
2577
+ "aliases": [],
2578
+ "args": {},
2579
+ "description": "List the projects visible to you",
2580
+ "examples": [
2581
+ "<%= config.bin %> projects list",
2582
+ "<%= config.bin %> projects list --page 2 --json"
2583
+ ],
2584
+ "flags": {
2585
+ "json": {
2586
+ "description": "Format output as json.",
2587
+ "helpGroup": "GLOBAL",
2588
+ "name": "json",
2589
+ "allowNo": false,
2590
+ "type": "boolean"
2591
+ },
2592
+ "page": {
2593
+ "description": "Page number",
2594
+ "name": "page",
2595
+ "default": 1,
2596
+ "hasDynamicHelp": false,
2597
+ "multiple": false,
2598
+ "type": "option"
2599
+ }
2600
+ },
2601
+ "hasDynamicHelp": false,
2602
+ "hiddenAliases": [],
2603
+ "id": "projects:list",
2604
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2605
+ "pluginName": "@bussolabs/closeyourit-cli",
2606
+ "pluginType": "core",
2607
+ "strict": true,
2608
+ "enableJsonFlag": true,
2609
+ "isESM": false,
2610
+ "relativePath": [
2611
+ "dist",
2612
+ "commands",
2613
+ "projects",
2614
+ "list.js"
2615
+ ]
2616
+ },
2617
+ "projects:set-environments": {
2618
+ "aliases": [],
2619
+ "args": {},
2620
+ "description": "Declare the environments a project receives data from (replaces the current set)",
2621
+ "examples": [
2622
+ "<%= config.bin %> projects set-environments --project legalbloom-rails --code production",
2623
+ "<%= config.bin %> projects set-environments -p LBRA --code production --code staging"
2624
+ ],
2625
+ "flags": {
2626
+ "json": {
2627
+ "description": "Format output as json.",
2628
+ "helpGroup": "GLOBAL",
2629
+ "name": "json",
2630
+ "allowNo": false,
2631
+ "type": "boolean"
2632
+ },
2633
+ "project": {
2634
+ "char": "p",
2635
+ "description": "Project id (UUID) or key",
2636
+ "name": "project",
2637
+ "required": true,
2638
+ "hasDynamicHelp": false,
2639
+ "multiple": false,
2640
+ "type": "option"
2641
+ },
2642
+ "code": {
2643
+ "description": "Environment code, e.g. production (repeatable)",
2644
+ "name": "code",
2645
+ "default": [],
2646
+ "hasDynamicHelp": false,
2647
+ "multiple": true,
2648
+ "type": "option"
2649
+ },
2650
+ "environment-id": {
2651
+ "description": "Environment id / UUID (repeatable)",
2652
+ "name": "environment-id",
2653
+ "default": [],
2654
+ "hasDynamicHelp": false,
2655
+ "multiple": true,
2656
+ "type": "option"
2657
+ }
2658
+ },
2659
+ "hasDynamicHelp": false,
2660
+ "hiddenAliases": [],
2661
+ "id": "projects:set-environments",
2662
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2663
+ "pluginName": "@bussolabs/closeyourit-cli",
2664
+ "pluginType": "core",
2665
+ "strict": true,
2666
+ "enableJsonFlag": true,
2667
+ "isESM": false,
2668
+ "relativePath": [
2669
+ "dist",
2670
+ "commands",
2671
+ "projects",
2672
+ "set-environments.js"
2673
+ ]
2674
+ },
2675
+ "projects:show": {
2676
+ "aliases": [],
2677
+ "args": {
2678
+ "id": {
2679
+ "description": "Project id (UUID) or key",
2680
+ "name": "id",
2681
+ "required": true
2682
+ }
2683
+ },
2684
+ "description": "Show a single project by id or key",
2685
+ "examples": [
2686
+ "<%= config.bin %> projects show acme-api",
2687
+ "<%= config.bin %> projects show <uuid> --json"
2688
+ ],
2689
+ "flags": {
2690
+ "json": {
2691
+ "description": "Format output as json.",
2692
+ "helpGroup": "GLOBAL",
2693
+ "name": "json",
2694
+ "allowNo": false,
2695
+ "type": "boolean"
2696
+ }
2697
+ },
2698
+ "hasDynamicHelp": false,
2699
+ "hiddenAliases": [],
2700
+ "id": "projects:show",
2701
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2702
+ "pluginName": "@bussolabs/closeyourit-cli",
2703
+ "pluginType": "core",
2704
+ "strict": true,
2705
+ "enableJsonFlag": true,
2706
+ "isESM": false,
2707
+ "relativePath": [
2708
+ "dist",
2709
+ "commands",
2710
+ "projects",
2711
+ "show.js"
2712
+ ]
2713
+ },
2714
+ "projects:update": {
2715
+ "aliases": [],
2716
+ "args": {},
2717
+ "description": "Update a project (name, key, color, description, group)",
2718
+ "examples": [
2719
+ "<%= config.bin %> projects update --project LBRA --name \"New name\"",
2720
+ "<%= config.bin %> projects update -p LBRA --group Backend"
2721
+ ],
2722
+ "flags": {
2723
+ "json": {
2724
+ "description": "Format output as json.",
2725
+ "helpGroup": "GLOBAL",
2726
+ "name": "json",
2727
+ "allowNo": false,
2728
+ "type": "boolean"
2729
+ },
2730
+ "project": {
2731
+ "char": "p",
2732
+ "description": "Project id (UUID) or key",
2733
+ "name": "project",
2734
+ "required": true,
2735
+ "hasDynamicHelp": false,
2736
+ "multiple": false,
2737
+ "type": "option"
2738
+ },
2739
+ "name": {
2740
+ "description": "New project name",
2741
+ "name": "name",
2742
+ "hasDynamicHelp": false,
2743
+ "multiple": false,
2744
+ "type": "option"
2745
+ },
2746
+ "key": {
2747
+ "description": "New project key (uppercase A-Z0-9)",
2748
+ "name": "key",
2749
+ "hasDynamicHelp": false,
2750
+ "multiple": false,
2751
+ "type": "option"
2752
+ },
2753
+ "color": {
2754
+ "description": "Color label",
2755
+ "name": "color",
2756
+ "hasDynamicHelp": false,
2757
+ "multiple": false,
2758
+ "type": "option"
2759
+ },
2760
+ "description": {
2761
+ "description": "Free-form description",
2762
+ "name": "description",
2763
+ "hasDynamicHelp": false,
2764
+ "multiple": false,
2765
+ "type": "option"
2766
+ },
2767
+ "group": {
2768
+ "description": "Group id (UUID) or name to move the project into",
2769
+ "name": "group",
2770
+ "hasDynamicHelp": false,
2771
+ "multiple": false,
2772
+ "type": "option"
2773
+ }
2774
+ },
2775
+ "hasDynamicHelp": false,
2776
+ "hiddenAliases": [],
2777
+ "id": "projects:update",
2778
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2779
+ "pluginName": "@bussolabs/closeyourit-cli",
2780
+ "pluginType": "core",
2781
+ "strict": true,
2782
+ "enableJsonFlag": true,
2783
+ "isESM": false,
2784
+ "relativePath": [
2785
+ "dist",
2786
+ "commands",
2787
+ "projects",
2788
+ "update.js"
2789
+ ]
2790
+ },
2791
+ "platforms:create": {
2792
+ "aliases": [],
2793
+ "args": {
2794
+ "code": {
2795
+ "description": "Platform code (e.g. \"ios\", \"android\", \"web\")",
2796
+ "name": "code",
2797
+ "required": true
2798
+ }
2799
+ },
2800
+ "description": "Create a platform (a device/system your projects run on)",
2801
+ "examples": [
2802
+ "<%= config.bin %> platforms create ios --label iOS",
2803
+ "<%= config.bin %> platforms create android --label Android --color emerald --position 2"
2804
+ ],
2805
+ "flags": {
2806
+ "json": {
2807
+ "description": "Format output as json.",
2808
+ "helpGroup": "GLOBAL",
2809
+ "name": "json",
2810
+ "allowNo": false,
2811
+ "type": "boolean"
2812
+ },
2813
+ "label": {
2814
+ "description": "Human-readable label",
2815
+ "name": "label",
2816
+ "required": true,
2817
+ "hasDynamicHelp": false,
2818
+ "multiple": false,
2819
+ "type": "option"
2820
+ },
2821
+ "color": {
2822
+ "description": "Color label",
2823
+ "name": "color",
2824
+ "default": "sky",
2825
+ "hasDynamicHelp": false,
2826
+ "multiple": false,
2827
+ "type": "option"
2828
+ },
2829
+ "position": {
2830
+ "description": "Sort position",
2831
+ "name": "position",
2832
+ "hasDynamicHelp": false,
2833
+ "multiple": false,
2834
+ "type": "option"
2835
+ },
2836
+ "active": {
2837
+ "description": "Whether the platform is active",
2838
+ "name": "active",
2839
+ "allowNo": true,
2840
+ "type": "boolean"
2841
+ }
2842
+ },
2843
+ "hasDynamicHelp": false,
2844
+ "hiddenAliases": [],
2845
+ "id": "platforms:create",
2846
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2847
+ "pluginName": "@bussolabs/closeyourit-cli",
2848
+ "pluginType": "core",
2849
+ "strict": true,
2850
+ "enableJsonFlag": true,
2851
+ "isESM": false,
2852
+ "relativePath": [
2853
+ "dist",
2854
+ "commands",
2855
+ "platforms",
2856
+ "create.js"
2857
+ ]
2858
+ },
2859
+ "platforms:delete": {
2860
+ "aliases": [],
2861
+ "args": {
2862
+ "platform": {
2863
+ "description": "Platform id (UUID) or code",
2864
+ "name": "platform",
2865
+ "required": true
2866
+ }
2867
+ },
2868
+ "description": "Delete a platform (blocked if any project or ticket still references it)",
2869
+ "examples": [
2870
+ "<%= config.bin %> platforms delete legacy --confirm"
2871
+ ],
2872
+ "flags": {
2873
+ "json": {
2874
+ "description": "Format output as json.",
2875
+ "helpGroup": "GLOBAL",
2876
+ "name": "json",
2877
+ "allowNo": false,
2878
+ "type": "boolean"
2879
+ },
2880
+ "confirm": {
2881
+ "description": "Required: confirm the deletion",
2882
+ "name": "confirm",
2883
+ "allowNo": false,
2884
+ "type": "boolean"
2885
+ }
2886
+ },
2887
+ "hasDynamicHelp": false,
2888
+ "hiddenAliases": [],
2889
+ "id": "platforms:delete",
2890
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2891
+ "pluginName": "@bussolabs/closeyourit-cli",
2892
+ "pluginType": "core",
2893
+ "strict": true,
2894
+ "enableJsonFlag": true,
2895
+ "isESM": false,
2896
+ "relativePath": [
2897
+ "dist",
2898
+ "commands",
2899
+ "platforms",
2900
+ "delete.js"
2901
+ ]
2902
+ },
2903
+ "platforms:list": {
2904
+ "aliases": [],
2905
+ "args": {},
2906
+ "description": "List the platforms (devices/systems) in your organization",
2907
+ "examples": [
2908
+ "<%= config.bin %> platforms list",
2909
+ "<%= config.bin %> platforms list --page 2 --json"
2910
+ ],
2911
+ "flags": {
2912
+ "json": {
2913
+ "description": "Format output as json.",
2914
+ "helpGroup": "GLOBAL",
2915
+ "name": "json",
2916
+ "allowNo": false,
2917
+ "type": "boolean"
2918
+ },
2919
+ "page": {
2920
+ "description": "Page number",
2921
+ "name": "page",
2922
+ "default": 1,
2923
+ "hasDynamicHelp": false,
2924
+ "multiple": false,
2925
+ "type": "option"
2926
+ }
2927
+ },
2928
+ "hasDynamicHelp": false,
2929
+ "hiddenAliases": [],
2930
+ "id": "platforms:list",
2931
+ "pluginAlias": "@bussolabs/closeyourit-cli",
2932
+ "pluginName": "@bussolabs/closeyourit-cli",
2933
+ "pluginType": "core",
2934
+ "strict": true,
2935
+ "enableJsonFlag": true,
2936
+ "isESM": false,
2937
+ "relativePath": [
2938
+ "dist",
2939
+ "commands",
2940
+ "platforms",
2941
+ "list.js"
2942
+ ]
2943
+ },
2944
+ "platforms:update": {
2945
+ "aliases": [],
2946
+ "args": {
2947
+ "platform": {
2948
+ "description": "Platform id (UUID) or code",
2949
+ "name": "platform",
2950
+ "required": true
2951
+ }
2952
+ },
2953
+ "description": "Update a platform (relabel, recolor, reorder, activate/deactivate)",
2954
+ "examples": [
2955
+ "<%= config.bin %> platforms update ios --label \"iOS / iPadOS\"",
2956
+ "<%= config.bin %> platforms update web --color indigo --position 1",
2957
+ "<%= config.bin %> platforms update legacy --no-active"
2958
+ ],
2959
+ "flags": {
2960
+ "json": {
2961
+ "description": "Format output as json.",
2962
+ "helpGroup": "GLOBAL",
2963
+ "name": "json",
2964
+ "allowNo": false,
2965
+ "type": "boolean"
2966
+ },
2967
+ "code": {
2968
+ "description": "New code",
2969
+ "name": "code",
2970
+ "hasDynamicHelp": false,
2971
+ "multiple": false,
2972
+ "type": "option"
2973
+ },
2974
+ "label": {
2975
+ "description": "New label",
2976
+ "name": "label",
2977
+ "hasDynamicHelp": false,
2978
+ "multiple": false,
2979
+ "type": "option"
2980
+ },
2981
+ "color": {
2982
+ "description": "Color label",
2983
+ "name": "color",
2984
+ "hasDynamicHelp": false,
2985
+ "multiple": false,
2986
+ "type": "option"
2987
+ },
2988
+ "position": {
2989
+ "description": "Sort position",
2990
+ "name": "position",
2991
+ "hasDynamicHelp": false,
2992
+ "multiple": false,
2993
+ "type": "option"
2994
+ },
2995
+ "active": {
2996
+ "description": "Whether the platform is active",
2997
+ "name": "active",
2998
+ "allowNo": true,
2999
+ "type": "boolean"
3000
+ }
3001
+ },
3002
+ "hasDynamicHelp": false,
3003
+ "hiddenAliases": [],
3004
+ "id": "platforms:update",
3005
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3006
+ "pluginName": "@bussolabs/closeyourit-cli",
3007
+ "pluginType": "core",
3008
+ "strict": true,
3009
+ "enableJsonFlag": true,
3010
+ "isESM": false,
3011
+ "relativePath": [
3012
+ "dist",
3013
+ "commands",
3014
+ "platforms",
3015
+ "update.js"
3016
+ ]
3017
+ },
3018
+ "roles:create": {
3019
+ "aliases": [],
3020
+ "args": {
3021
+ "name": {
3022
+ "description": "Role name",
3023
+ "name": "name",
3024
+ "required": true
3025
+ }
3026
+ },
3027
+ "description": "Create an RBAC role (a named bundle of permission keys)",
3028
+ "examples": [
3029
+ "<%= config.bin %> roles create Client --permission tickets.edit --permission tickets.assign"
3030
+ ],
3031
+ "flags": {
3032
+ "json": {
3033
+ "description": "Format output as json.",
3034
+ "helpGroup": "GLOBAL",
3035
+ "name": "json",
3036
+ "allowNo": false,
3037
+ "type": "boolean"
3038
+ },
3039
+ "color": {
3040
+ "description": "Color label",
3041
+ "name": "color",
3042
+ "hasDynamicHelp": false,
3043
+ "multiple": false,
3044
+ "type": "option"
3045
+ },
3046
+ "permission": {
3047
+ "description": "Permission key from the catalog (repeatable)",
3048
+ "name": "permission",
3049
+ "hasDynamicHelp": false,
3050
+ "multiple": true,
3051
+ "type": "option"
3052
+ }
3053
+ },
3054
+ "hasDynamicHelp": false,
3055
+ "hiddenAliases": [],
3056
+ "id": "roles:create",
3057
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3058
+ "pluginName": "@bussolabs/closeyourit-cli",
3059
+ "pluginType": "core",
3060
+ "strict": true,
3061
+ "enableJsonFlag": true,
3062
+ "isESM": false,
3063
+ "relativePath": [
3064
+ "dist",
3065
+ "commands",
3066
+ "roles",
3067
+ "create.js"
3068
+ ]
3069
+ },
3070
+ "roles:delete": {
3071
+ "aliases": [],
3072
+ "args": {
3073
+ "role": {
3074
+ "description": "Role id (UUID) or name",
3075
+ "name": "role",
3076
+ "required": true
3077
+ }
3078
+ },
3079
+ "description": "Delete a role (its assignments to teams and accounts are removed)",
3080
+ "examples": [
3081
+ "<%= config.bin %> roles delete Client"
3082
+ ],
3083
+ "flags": {
3084
+ "json": {
3085
+ "description": "Format output as json.",
3086
+ "helpGroup": "GLOBAL",
3087
+ "name": "json",
3088
+ "allowNo": false,
3089
+ "type": "boolean"
3090
+ }
3091
+ },
3092
+ "hasDynamicHelp": false,
3093
+ "hiddenAliases": [],
3094
+ "id": "roles:delete",
3095
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3096
+ "pluginName": "@bussolabs/closeyourit-cli",
3097
+ "pluginType": "core",
3098
+ "strict": true,
3099
+ "enableJsonFlag": true,
3100
+ "isESM": false,
3101
+ "relativePath": [
3102
+ "dist",
3103
+ "commands",
3104
+ "roles",
3105
+ "delete.js"
3106
+ ]
3107
+ },
3108
+ "roles:list": {
3109
+ "aliases": [],
3110
+ "args": {},
3111
+ "description": "List the RBAC roles in your organization",
3112
+ "examples": [
3113
+ "<%= config.bin %> roles list",
3114
+ "<%= config.bin %> roles list --json"
3115
+ ],
3116
+ "flags": {
3117
+ "json": {
3118
+ "description": "Format output as json.",
3119
+ "helpGroup": "GLOBAL",
3120
+ "name": "json",
3121
+ "allowNo": false,
3122
+ "type": "boolean"
3123
+ },
3124
+ "page": {
3125
+ "description": "Page number",
3126
+ "name": "page",
3127
+ "default": 1,
3128
+ "hasDynamicHelp": false,
3129
+ "multiple": false,
3130
+ "type": "option"
3131
+ }
3132
+ },
3133
+ "hasDynamicHelp": false,
3134
+ "hiddenAliases": [],
3135
+ "id": "roles:list",
3136
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3137
+ "pluginName": "@bussolabs/closeyourit-cli",
3138
+ "pluginType": "core",
3139
+ "strict": true,
3140
+ "enableJsonFlag": true,
3141
+ "isESM": false,
3142
+ "relativePath": [
3143
+ "dist",
3144
+ "commands",
3145
+ "roles",
3146
+ "list.js"
3147
+ ]
3148
+ },
3149
+ "roles:show": {
3150
+ "aliases": [],
3151
+ "args": {
3152
+ "role": {
3153
+ "description": "Role id (UUID) or name",
3154
+ "name": "role",
3155
+ "required": true
3156
+ }
3157
+ },
3158
+ "description": "Show a role by id or name (with its permission keys)",
3159
+ "examples": [
3160
+ "<%= config.bin %> roles show Client"
3161
+ ],
3162
+ "flags": {
3163
+ "json": {
3164
+ "description": "Format output as json.",
3165
+ "helpGroup": "GLOBAL",
3166
+ "name": "json",
3167
+ "allowNo": false,
3168
+ "type": "boolean"
3169
+ }
3170
+ },
3171
+ "hasDynamicHelp": false,
3172
+ "hiddenAliases": [],
3173
+ "id": "roles:show",
3174
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3175
+ "pluginName": "@bussolabs/closeyourit-cli",
3176
+ "pluginType": "core",
3177
+ "strict": true,
3178
+ "enableJsonFlag": true,
3179
+ "isESM": false,
3180
+ "relativePath": [
3181
+ "dist",
3182
+ "commands",
3183
+ "roles",
3184
+ "show.js"
3185
+ ]
3186
+ },
3187
+ "roles:update": {
3188
+ "aliases": [],
3189
+ "args": {
3190
+ "role": {
3191
+ "description": "Role id (UUID) or name",
3192
+ "name": "role",
3193
+ "required": true
3194
+ }
3195
+ },
3196
+ "description": "Update a role (rename, recolor, or replace its permission keys)",
3197
+ "examples": [
3198
+ "<%= config.bin %> roles update Client --permission tickets.edit --permission tickets.assign",
3199
+ "<%= config.bin %> roles update Client --name \"Client manager\""
3200
+ ],
3201
+ "flags": {
3202
+ "json": {
3203
+ "description": "Format output as json.",
3204
+ "helpGroup": "GLOBAL",
3205
+ "name": "json",
3206
+ "allowNo": false,
3207
+ "type": "boolean"
3208
+ },
3209
+ "color": {
3210
+ "description": "Color label",
3211
+ "name": "color",
3212
+ "hasDynamicHelp": false,
3213
+ "multiple": false,
3214
+ "type": "option"
3215
+ },
3216
+ "name": {
3217
+ "description": "New name",
3218
+ "name": "name",
3219
+ "hasDynamicHelp": false,
3220
+ "multiple": false,
3221
+ "type": "option"
3222
+ },
3223
+ "permission": {
3224
+ "description": "Permission key (repeatable); when given, REPLACES the whole set",
3225
+ "name": "permission",
3226
+ "hasDynamicHelp": false,
3227
+ "multiple": true,
3228
+ "type": "option"
3229
+ }
3230
+ },
3231
+ "hasDynamicHelp": false,
3232
+ "hiddenAliases": [],
3233
+ "id": "roles:update",
3234
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3235
+ "pluginName": "@bussolabs/closeyourit-cli",
3236
+ "pluginType": "core",
3237
+ "strict": true,
3238
+ "enableJsonFlag": true,
3239
+ "isESM": false,
3240
+ "relativePath": [
3241
+ "dist",
3242
+ "commands",
3243
+ "roles",
3244
+ "update.js"
3245
+ ]
3246
+ },
3247
+ "teams:add-member": {
3248
+ "aliases": [],
3249
+ "args": {
3250
+ "team": {
3251
+ "description": "Team id (UUID) or name",
3252
+ "name": "team",
3253
+ "required": true
3254
+ },
3255
+ "member": {
3256
+ "description": "Member account id or email (must be an org member)",
3257
+ "name": "member",
3258
+ "required": true
3259
+ }
3260
+ },
3261
+ "description": "Add a person to a team, keeping the existing members",
3262
+ "examples": [
3263
+ "<%= config.bin %> teams add-member DriverOne client@acme.com"
3264
+ ],
3265
+ "flags": {
3266
+ "json": {
3267
+ "description": "Format output as json.",
3268
+ "helpGroup": "GLOBAL",
3269
+ "name": "json",
3270
+ "allowNo": false,
3271
+ "type": "boolean"
3272
+ }
3273
+ },
3274
+ "hasDynamicHelp": false,
3275
+ "hiddenAliases": [],
3276
+ "id": "teams:add-member",
3277
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3278
+ "pluginName": "@bussolabs/closeyourit-cli",
3279
+ "pluginType": "core",
3280
+ "strict": true,
3281
+ "enableJsonFlag": true,
3282
+ "isESM": false,
3283
+ "relativePath": [
3284
+ "dist",
3285
+ "commands",
3286
+ "teams",
3287
+ "add-member.js"
3288
+ ]
3289
+ },
3290
+ "teams:create": {
3291
+ "aliases": [],
3292
+ "args": {
3293
+ "name": {
3294
+ "description": "Team name",
3295
+ "name": "name",
3296
+ "required": true
3297
+ }
3298
+ },
3299
+ "description": "Create a team and (optionally) set its roles, group/project scope and members",
3300
+ "examples": [
3301
+ "<%= config.bin %> teams create DriverOne --role Client --group DriverOne",
3302
+ "<%= config.bin %> teams create DriverOne --role Client --group DriverOne --member client@acme.com"
3303
+ ],
3304
+ "flags": {
3305
+ "json": {
3306
+ "description": "Format output as json.",
3307
+ "helpGroup": "GLOBAL",
3308
+ "name": "json",
3309
+ "allowNo": false,
3310
+ "type": "boolean"
3311
+ },
3312
+ "color": {
3313
+ "description": "Color label",
3314
+ "name": "color",
3315
+ "hasDynamicHelp": false,
3316
+ "multiple": false,
3317
+ "type": "option"
3318
+ },
3319
+ "group": {
3320
+ "description": "Group id or name to scope the team to (repeatable)",
3321
+ "name": "group",
3322
+ "hasDynamicHelp": false,
3323
+ "multiple": true,
3324
+ "type": "option"
3325
+ },
3326
+ "member": {
3327
+ "description": "Member account id or email (repeatable; must be an org member)",
3328
+ "name": "member",
3329
+ "hasDynamicHelp": false,
3330
+ "multiple": true,
3331
+ "type": "option"
3332
+ },
3333
+ "project": {
3334
+ "description": "Project id or key to scope the team to (repeatable)",
3335
+ "name": "project",
3336
+ "hasDynamicHelp": false,
3337
+ "multiple": true,
3338
+ "type": "option"
3339
+ },
3340
+ "role": {
3341
+ "description": "Role id or name to grant to the team (repeatable)",
3342
+ "name": "role",
3343
+ "hasDynamicHelp": false,
3344
+ "multiple": true,
3345
+ "type": "option"
3346
+ }
3347
+ },
3348
+ "hasDynamicHelp": false,
3349
+ "hiddenAliases": [],
3350
+ "id": "teams:create",
3351
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3352
+ "pluginName": "@bussolabs/closeyourit-cli",
3353
+ "pluginType": "core",
3354
+ "strict": true,
3355
+ "enableJsonFlag": true,
3356
+ "isESM": false,
3357
+ "relativePath": [
3358
+ "dist",
3359
+ "commands",
3360
+ "teams",
3361
+ "create.js"
3362
+ ]
3363
+ },
3364
+ "teams:delete": {
3365
+ "aliases": [],
3366
+ "args": {
3367
+ "team": {
3368
+ "description": "Team id (UUID) or name",
3369
+ "name": "team",
3370
+ "required": true
3371
+ }
3372
+ },
3373
+ "description": "Delete a team (its members lose the access this team granted)",
3374
+ "examples": [
3375
+ "<%= config.bin %> teams delete DriverOne"
3376
+ ],
3377
+ "flags": {
3378
+ "json": {
3379
+ "description": "Format output as json.",
3380
+ "helpGroup": "GLOBAL",
3381
+ "name": "json",
3382
+ "allowNo": false,
3383
+ "type": "boolean"
3384
+ }
3385
+ },
3386
+ "hasDynamicHelp": false,
3387
+ "hiddenAliases": [],
3388
+ "id": "teams:delete",
3389
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3390
+ "pluginName": "@bussolabs/closeyourit-cli",
3391
+ "pluginType": "core",
3392
+ "strict": true,
3393
+ "enableJsonFlag": true,
3394
+ "isESM": false,
3395
+ "relativePath": [
3396
+ "dist",
3397
+ "commands",
3398
+ "teams",
3399
+ "delete.js"
3400
+ ]
3401
+ },
3402
+ "teams:list": {
3403
+ "aliases": [],
3404
+ "args": {},
3405
+ "description": "List the teams (people with scope) in your organization",
3406
+ "examples": [
3407
+ "<%= config.bin %> teams list",
3408
+ "<%= config.bin %> teams list --json"
3409
+ ],
3410
+ "flags": {
3411
+ "json": {
3412
+ "description": "Format output as json.",
3413
+ "helpGroup": "GLOBAL",
3414
+ "name": "json",
3415
+ "allowNo": false,
3416
+ "type": "boolean"
3417
+ },
3418
+ "page": {
3419
+ "description": "Page number",
3420
+ "name": "page",
3421
+ "default": 1,
3422
+ "hasDynamicHelp": false,
3423
+ "multiple": false,
3424
+ "type": "option"
3425
+ }
3426
+ },
3427
+ "hasDynamicHelp": false,
3428
+ "hiddenAliases": [],
3429
+ "id": "teams:list",
3430
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3431
+ "pluginName": "@bussolabs/closeyourit-cli",
3432
+ "pluginType": "core",
3433
+ "strict": true,
3434
+ "enableJsonFlag": true,
3435
+ "isESM": false,
3436
+ "relativePath": [
3437
+ "dist",
3438
+ "commands",
3439
+ "teams",
3440
+ "list.js"
3441
+ ]
3442
+ },
3443
+ "teams:remove-member": {
3444
+ "aliases": [],
3445
+ "args": {
3446
+ "team": {
3447
+ "description": "Team id (UUID) or name",
3448
+ "name": "team",
3449
+ "required": true
3450
+ },
3451
+ "member": {
3452
+ "description": "Member account id or email",
3453
+ "name": "member",
3454
+ "required": true
3455
+ }
3456
+ },
3457
+ "description": "Remove a person from a team, keeping the other members",
3458
+ "examples": [
3459
+ "<%= config.bin %> teams remove-member DriverOne client@acme.com"
3460
+ ],
3461
+ "flags": {
3462
+ "json": {
3463
+ "description": "Format output as json.",
3464
+ "helpGroup": "GLOBAL",
3465
+ "name": "json",
3466
+ "allowNo": false,
3467
+ "type": "boolean"
3468
+ }
3469
+ },
3470
+ "hasDynamicHelp": false,
3471
+ "hiddenAliases": [],
3472
+ "id": "teams:remove-member",
3473
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3474
+ "pluginName": "@bussolabs/closeyourit-cli",
3475
+ "pluginType": "core",
3476
+ "strict": true,
3477
+ "enableJsonFlag": true,
3478
+ "isESM": false,
3479
+ "relativePath": [
3480
+ "dist",
3481
+ "commands",
3482
+ "teams",
3483
+ "remove-member.js"
3484
+ ]
3485
+ },
3486
+ "teams:show": {
3487
+ "aliases": [],
3488
+ "args": {
3489
+ "team": {
3490
+ "description": "Team id (UUID) or name",
3491
+ "name": "team",
3492
+ "required": true
3493
+ }
3494
+ },
3495
+ "description": "Show a team by id or name (roles, group/project scope, members)",
3496
+ "examples": [
3497
+ "<%= config.bin %> teams show DriverOne"
3498
+ ],
3499
+ "flags": {
3500
+ "json": {
3501
+ "description": "Format output as json.",
3502
+ "helpGroup": "GLOBAL",
3503
+ "name": "json",
3504
+ "allowNo": false,
3505
+ "type": "boolean"
3506
+ }
3507
+ },
3508
+ "hasDynamicHelp": false,
3509
+ "hiddenAliases": [],
3510
+ "id": "teams:show",
3511
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3512
+ "pluginName": "@bussolabs/closeyourit-cli",
3513
+ "pluginType": "core",
3514
+ "strict": true,
3515
+ "enableJsonFlag": true,
3516
+ "isESM": false,
3517
+ "relativePath": [
3518
+ "dist",
3519
+ "commands",
3520
+ "teams",
3521
+ "show.js"
3522
+ ]
3523
+ },
3524
+ "teams:update": {
3525
+ "aliases": [],
3526
+ "args": {
3527
+ "team": {
3528
+ "description": "Team id (UUID) or name",
3529
+ "name": "team",
3530
+ "required": true
3531
+ }
3532
+ },
3533
+ "description": "Update a team. Each given dimension REPLACES the whole set for that dimension.",
3534
+ "examples": [
3535
+ "<%= config.bin %> teams update DriverOne --role Client --group DriverOne",
3536
+ "<%= config.bin %> teams update DriverOne --name \"DriverOne clients\""
3537
+ ],
3538
+ "flags": {
3539
+ "json": {
3540
+ "description": "Format output as json.",
3541
+ "helpGroup": "GLOBAL",
3542
+ "name": "json",
3543
+ "allowNo": false,
3544
+ "type": "boolean"
3545
+ },
3546
+ "color": {
3547
+ "description": "Color label",
3548
+ "name": "color",
3549
+ "hasDynamicHelp": false,
3550
+ "multiple": false,
3551
+ "type": "option"
3552
+ },
3553
+ "group": {
3554
+ "description": "Group id or name (repeatable; replaces the group scope)",
3555
+ "name": "group",
3556
+ "hasDynamicHelp": false,
3557
+ "multiple": true,
3558
+ "type": "option"
3559
+ },
3560
+ "member": {
3561
+ "description": "Member account id or email (repeatable; replaces the members)",
3562
+ "name": "member",
3563
+ "hasDynamicHelp": false,
3564
+ "multiple": true,
3565
+ "type": "option"
3566
+ },
3567
+ "name": {
3568
+ "description": "New name",
3569
+ "name": "name",
3570
+ "hasDynamicHelp": false,
3571
+ "multiple": false,
3572
+ "type": "option"
3573
+ },
3574
+ "project": {
3575
+ "description": "Project id or key (repeatable; replaces the project scope)",
3576
+ "name": "project",
3577
+ "hasDynamicHelp": false,
3578
+ "multiple": true,
3579
+ "type": "option"
3580
+ },
3581
+ "role": {
3582
+ "description": "Role id or name (repeatable; replaces the roles)",
3583
+ "name": "role",
3584
+ "hasDynamicHelp": false,
3585
+ "multiple": true,
3586
+ "type": "option"
3587
+ }
3588
+ },
3589
+ "hasDynamicHelp": false,
3590
+ "hiddenAliases": [],
3591
+ "id": "teams:update",
3592
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3593
+ "pluginName": "@bussolabs/closeyourit-cli",
3594
+ "pluginType": "core",
3595
+ "strict": true,
3596
+ "enableJsonFlag": true,
3597
+ "isESM": false,
3598
+ "relativePath": [
3599
+ "dist",
3600
+ "commands",
3601
+ "teams",
3602
+ "update.js"
3603
+ ]
3604
+ },
3605
+ "tickets:assign": {
3606
+ "aliases": [],
3607
+ "args": {
3608
+ "id": {
3609
+ "description": "Ticket id",
3610
+ "name": "id",
3611
+ "required": true
3612
+ }
3613
+ },
3614
+ "description": "Assign a ticket to an account, or unassign it (--unassign)",
3615
+ "examples": [
3616
+ "<%= config.bin %> tickets assign <ticket-id> --project acme-api --assignee-id <account-id>",
3617
+ "<%= config.bin %> tickets assign <ticket-id> --project acme-api --unassign"
3618
+ ],
3619
+ "flags": {
3620
+ "json": {
3621
+ "description": "Format output as json.",
3622
+ "helpGroup": "GLOBAL",
3623
+ "name": "json",
3624
+ "allowNo": false,
3625
+ "type": "boolean"
3626
+ },
3627
+ "project": {
3628
+ "char": "p",
3629
+ "description": "Project id (UUID) or key",
3630
+ "name": "project",
3631
+ "required": true,
3632
+ "hasDynamicHelp": false,
3633
+ "multiple": false,
3634
+ "type": "option"
3635
+ },
3636
+ "assignee-id": {
3637
+ "description": "Account id to assign",
3638
+ "exclusive": [
3639
+ "unassign"
3640
+ ],
3641
+ "name": "assignee-id",
3642
+ "hasDynamicHelp": false,
3643
+ "multiple": false,
3644
+ "type": "option"
3645
+ },
3646
+ "unassign": {
3647
+ "description": "Remove the current assignee (DELETE)",
3648
+ "exclusive": [
3649
+ "assignee-id"
3650
+ ],
3651
+ "name": "unassign",
3652
+ "allowNo": false,
3653
+ "type": "boolean"
3654
+ }
3655
+ },
3656
+ "hasDynamicHelp": false,
3657
+ "hiddenAliases": [],
3658
+ "id": "tickets:assign",
3659
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3660
+ "pluginName": "@bussolabs/closeyourit-cli",
3661
+ "pluginType": "core",
3662
+ "strict": true,
3663
+ "enableJsonFlag": true,
3664
+ "isESM": false,
3665
+ "relativePath": [
3666
+ "dist",
3667
+ "commands",
3668
+ "tickets",
3669
+ "assign.js"
3670
+ ]
3671
+ },
3672
+ "tickets:attach": {
3673
+ "aliases": [],
3674
+ "args": {
3675
+ "id": {
3676
+ "description": "Ticket id",
3677
+ "name": "id",
3678
+ "required": true
3679
+ }
3680
+ },
3681
+ "description": "Attach one or more local files to a ticket",
3682
+ "examples": [
3683
+ "<%= config.bin %> tickets attach <ticket-id> --project acme-api --file ./screenshot.png",
3684
+ "<%= config.bin %> tickets attach <ticket-id> -p acme-api --file ./log.txt --file ./trace.json"
3685
+ ],
3686
+ "flags": {
3687
+ "json": {
3688
+ "description": "Format output as json.",
3689
+ "helpGroup": "GLOBAL",
3690
+ "name": "json",
3691
+ "allowNo": false,
3692
+ "type": "boolean"
3693
+ },
3694
+ "project": {
3695
+ "char": "p",
3696
+ "description": "Project id (UUID) or key",
3697
+ "name": "project",
3698
+ "required": true,
3699
+ "hasDynamicHelp": false,
3700
+ "multiple": false,
3701
+ "type": "option"
3702
+ },
3703
+ "file": {
3704
+ "description": "Path to a local file to upload (repeatable)",
3705
+ "name": "file",
3706
+ "required": true,
3707
+ "hasDynamicHelp": false,
3708
+ "multiple": true,
3709
+ "type": "option"
3710
+ }
3711
+ },
3712
+ "hasDynamicHelp": false,
3713
+ "hiddenAliases": [],
3714
+ "id": "tickets:attach",
3715
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3716
+ "pluginName": "@bussolabs/closeyourit-cli",
3717
+ "pluginType": "core",
3718
+ "strict": true,
3719
+ "enableJsonFlag": true,
3720
+ "isESM": false,
3721
+ "relativePath": [
3722
+ "dist",
3723
+ "commands",
3724
+ "tickets",
3725
+ "attach.js"
3726
+ ]
3727
+ },
3728
+ "tickets:comment-delete": {
3729
+ "aliases": [],
3730
+ "args": {
3731
+ "id": {
3732
+ "description": "Ticket id",
3733
+ "name": "id",
3734
+ "required": true
3735
+ }
3736
+ },
3737
+ "description": "Delete a comment from a ticket (author, or with tickets.comment.delete_any)",
3738
+ "examples": [
3739
+ "<%= config.bin %> tickets comment-delete <ticket-id> --project acme-api --comment-id <id> --confirm"
3740
+ ],
3741
+ "flags": {
3742
+ "json": {
3743
+ "description": "Format output as json.",
3744
+ "helpGroup": "GLOBAL",
3745
+ "name": "json",
3746
+ "allowNo": false,
3747
+ "type": "boolean"
3748
+ },
3749
+ "project": {
3750
+ "char": "p",
3751
+ "description": "Project id (UUID) or key",
3752
+ "name": "project",
3753
+ "required": true,
3754
+ "hasDynamicHelp": false,
3755
+ "multiple": false,
3756
+ "type": "option"
3757
+ },
3758
+ "comment-id": {
3759
+ "description": "Comment id to delete",
3760
+ "name": "comment-id",
3761
+ "required": true,
3762
+ "hasDynamicHelp": false,
3763
+ "multiple": false,
3764
+ "type": "option"
3765
+ },
3766
+ "confirm": {
3767
+ "description": "Required: confirm the irreversible deletion",
3768
+ "name": "confirm",
3769
+ "allowNo": false,
3770
+ "type": "boolean"
3771
+ }
3772
+ },
3773
+ "hasDynamicHelp": false,
3774
+ "hiddenAliases": [],
3775
+ "id": "tickets:comment-delete",
3776
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3777
+ "pluginName": "@bussolabs/closeyourit-cli",
3778
+ "pluginType": "core",
3779
+ "strict": true,
3780
+ "enableJsonFlag": true,
3781
+ "isESM": false,
3782
+ "relativePath": [
3783
+ "dist",
3784
+ "commands",
3785
+ "tickets",
3786
+ "comment-delete.js"
3787
+ ]
3788
+ },
3789
+ "tickets:comment": {
3790
+ "aliases": [],
3791
+ "args": {
3792
+ "id": {
3793
+ "description": "Ticket id",
3794
+ "name": "id",
3795
+ "required": true
3796
+ }
3797
+ },
3798
+ "description": "Add a comment to a ticket",
3799
+ "examples": [
3800
+ "<%= config.bin %> tickets comment <ticket-id> --project acme-api --body \"Reproduced on staging\""
3801
+ ],
3802
+ "flags": {
3803
+ "json": {
3804
+ "description": "Format output as json.",
3805
+ "helpGroup": "GLOBAL",
3806
+ "name": "json",
3807
+ "allowNo": false,
3808
+ "type": "boolean"
3809
+ },
3810
+ "project": {
3811
+ "char": "p",
3812
+ "description": "Project id (UUID) or key",
3813
+ "name": "project",
3814
+ "required": true,
3815
+ "hasDynamicHelp": false,
3816
+ "multiple": false,
3817
+ "type": "option"
3818
+ },
3819
+ "body": {
3820
+ "description": "Comment body",
3821
+ "name": "body",
3822
+ "required": true,
3823
+ "hasDynamicHelp": false,
3824
+ "multiple": false,
3825
+ "type": "option"
3826
+ }
3827
+ },
3828
+ "hasDynamicHelp": false,
3829
+ "hiddenAliases": [],
3830
+ "id": "tickets:comment",
3831
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3832
+ "pluginName": "@bussolabs/closeyourit-cli",
3833
+ "pluginType": "core",
3834
+ "strict": true,
3835
+ "enableJsonFlag": true,
3836
+ "isESM": false,
3837
+ "relativePath": [
3838
+ "dist",
3839
+ "commands",
3840
+ "tickets",
3841
+ "comment.js"
3842
+ ]
3843
+ },
3844
+ "tickets:create": {
3845
+ "aliases": [],
3846
+ "args": {},
3847
+ "description": "Create a ticket",
3848
+ "examples": [
3849
+ "<%= config.bin %> tickets create --project acme-api --title \"Checkout fails\"",
3850
+ "<%= config.bin %> tickets create -p acme-api --title \"Login bug\" --kind bug --step-given \"logged out\" --step-when \"I submit\" --step-then \"it 500s\""
3851
+ ],
3852
+ "flags": {
3853
+ "json": {
3854
+ "description": "Format output as json.",
3855
+ "helpGroup": "GLOBAL",
3856
+ "name": "json",
3857
+ "allowNo": false,
3858
+ "type": "boolean"
3859
+ },
3860
+ "project": {
3861
+ "char": "p",
3862
+ "description": "Project id (UUID) or key",
3863
+ "name": "project",
3864
+ "required": true,
3865
+ "hasDynamicHelp": false,
3866
+ "multiple": false,
3867
+ "type": "option"
3868
+ },
3869
+ "title": {
3870
+ "description": "Ticket title",
3871
+ "name": "title",
3872
+ "required": true,
3873
+ "hasDynamicHelp": false,
3874
+ "multiple": false,
3875
+ "type": "option"
3876
+ },
3877
+ "kind": {
3878
+ "description": "Ticket kind",
3879
+ "name": "kind",
3880
+ "default": "bug",
3881
+ "hasDynamicHelp": false,
3882
+ "multiple": false,
3883
+ "type": "option"
3884
+ },
3885
+ "description": {
3886
+ "description": "Free-form description",
3887
+ "name": "description",
3888
+ "hasDynamicHelp": false,
3889
+ "multiple": false,
3890
+ "type": "option"
3891
+ },
3892
+ "step-given": {
3893
+ "description": "Given (precondition)",
3894
+ "name": "step-given",
3895
+ "hasDynamicHelp": false,
3896
+ "multiple": false,
3897
+ "type": "option"
3898
+ },
3899
+ "step-when": {
3900
+ "description": "When (action)",
3901
+ "name": "step-when",
3902
+ "hasDynamicHelp": false,
3903
+ "multiple": false,
3904
+ "type": "option"
3905
+ },
3906
+ "step-then": {
3907
+ "description": "Then (outcome)",
3908
+ "name": "step-then",
3909
+ "hasDynamicHelp": false,
3910
+ "multiple": false,
3911
+ "type": "option"
3912
+ },
3913
+ "step-expected": {
3914
+ "description": "Expected result",
3915
+ "name": "step-expected",
3916
+ "hasDynamicHelp": false,
3917
+ "multiple": false,
3918
+ "type": "option"
3919
+ },
3920
+ "status-id": {
3921
+ "description": "Status lookup id",
3922
+ "name": "status-id",
3923
+ "hasDynamicHelp": false,
3924
+ "multiple": false,
3925
+ "type": "option"
3926
+ },
3927
+ "priority-id": {
3928
+ "description": "Priority lookup id",
3929
+ "name": "priority-id",
3930
+ "hasDynamicHelp": false,
3931
+ "multiple": false,
3932
+ "type": "option"
3933
+ }
3934
+ },
3935
+ "hasDynamicHelp": false,
3936
+ "hiddenAliases": [],
3937
+ "id": "tickets:create",
3938
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3939
+ "pluginName": "@bussolabs/closeyourit-cli",
3940
+ "pluginType": "core",
3941
+ "strict": true,
3942
+ "enableJsonFlag": true,
3943
+ "isESM": false,
3944
+ "relativePath": [
3945
+ "dist",
3946
+ "commands",
3947
+ "tickets",
3948
+ "create.js"
3949
+ ]
3950
+ },
3951
+ "tickets:delete": {
3952
+ "aliases": [],
3953
+ "args": {
3954
+ "id": {
3955
+ "description": "Ticket id",
3956
+ "name": "id",
3957
+ "required": true
3958
+ }
3959
+ },
3960
+ "description": "Delete a ticket (irreversible)",
3961
+ "examples": [
3962
+ "<%= config.bin %> tickets delete <ticket-id> --project acme-api --confirm"
3963
+ ],
3964
+ "flags": {
3965
+ "json": {
3966
+ "description": "Format output as json.",
3967
+ "helpGroup": "GLOBAL",
3968
+ "name": "json",
3969
+ "allowNo": false,
3970
+ "type": "boolean"
3971
+ },
3972
+ "project": {
3973
+ "char": "p",
3974
+ "description": "Project id (UUID) or key",
3975
+ "name": "project",
3976
+ "required": true,
3977
+ "hasDynamicHelp": false,
3978
+ "multiple": false,
3979
+ "type": "option"
3980
+ },
3981
+ "confirm": {
3982
+ "description": "Required: confirm the irreversible deletion",
3983
+ "name": "confirm",
3984
+ "allowNo": false,
3985
+ "type": "boolean"
3986
+ }
3987
+ },
3988
+ "hasDynamicHelp": false,
3989
+ "hiddenAliases": [],
3990
+ "id": "tickets:delete",
3991
+ "pluginAlias": "@bussolabs/closeyourit-cli",
3992
+ "pluginName": "@bussolabs/closeyourit-cli",
3993
+ "pluginType": "core",
3994
+ "strict": true,
3995
+ "enableJsonFlag": true,
3996
+ "isESM": false,
3997
+ "relativePath": [
3998
+ "dist",
3999
+ "commands",
4000
+ "tickets",
4001
+ "delete.js"
4002
+ ]
4003
+ },
4004
+ "tickets:detach": {
4005
+ "aliases": [],
4006
+ "args": {
4007
+ "id": {
4008
+ "description": "Ticket id",
4009
+ "name": "id",
4010
+ "required": true
4011
+ }
4012
+ },
4013
+ "description": "Remove an attachment from a ticket (irreversible)",
4014
+ "examples": [
4015
+ "<%= config.bin %> tickets detach <ticket-id> --project acme-api --attachment <attachment-id> --confirm"
4016
+ ],
4017
+ "flags": {
4018
+ "json": {
4019
+ "description": "Format output as json.",
4020
+ "helpGroup": "GLOBAL",
4021
+ "name": "json",
4022
+ "allowNo": false,
4023
+ "type": "boolean"
4024
+ },
4025
+ "project": {
4026
+ "char": "p",
4027
+ "description": "Project id (UUID) or key",
4028
+ "name": "project",
4029
+ "required": true,
4030
+ "hasDynamicHelp": false,
4031
+ "multiple": false,
4032
+ "type": "option"
4033
+ },
4034
+ "attachment": {
4035
+ "description": "Attachment id to remove",
4036
+ "name": "attachment",
4037
+ "required": true,
4038
+ "hasDynamicHelp": false,
4039
+ "multiple": false,
4040
+ "type": "option"
4041
+ },
4042
+ "confirm": {
4043
+ "description": "Required: confirm the irreversible deletion",
4044
+ "name": "confirm",
4045
+ "allowNo": false,
4046
+ "type": "boolean"
1334
4047
  }
1335
4048
  },
1336
4049
  "hasDynamicHelp": false,
1337
4050
  "hiddenAliases": [],
1338
- "id": "teams:delete",
4051
+ "id": "tickets:detach",
1339
4052
  "pluginAlias": "@bussolabs/closeyourit-cli",
1340
4053
  "pluginName": "@bussolabs/closeyourit-cli",
1341
4054
  "pluginType": "core",
@@ -1345,17 +4058,17 @@
1345
4058
  "relativePath": [
1346
4059
  "dist",
1347
4060
  "commands",
1348
- "teams",
1349
- "delete.js"
4061
+ "tickets",
4062
+ "detach.js"
1350
4063
  ]
1351
4064
  },
1352
- "teams:list": {
4065
+ "tickets:list": {
1353
4066
  "aliases": [],
1354
4067
  "args": {},
1355
- "description": "List the teams (people with scope) in your organization",
4068
+ "description": "List tickets for a project",
1356
4069
  "examples": [
1357
- "<%= config.bin %> teams list",
1358
- "<%= config.bin %> teams list --json"
4070
+ "<%= config.bin %> tickets list --project acme-api",
4071
+ "<%= config.bin %> tickets list -p acme-api --json"
1359
4072
  ],
1360
4073
  "flags": {
1361
4074
  "json": {
@@ -1365,6 +4078,15 @@
1365
4078
  "allowNo": false,
1366
4079
  "type": "boolean"
1367
4080
  },
4081
+ "project": {
4082
+ "char": "p",
4083
+ "description": "Project id (UUID) or key",
4084
+ "name": "project",
4085
+ "required": true,
4086
+ "hasDynamicHelp": false,
4087
+ "multiple": false,
4088
+ "type": "option"
4089
+ },
1368
4090
  "page": {
1369
4091
  "description": "Page number",
1370
4092
  "name": "page",
@@ -1376,7 +4098,7 @@
1376
4098
  },
1377
4099
  "hasDynamicHelp": false,
1378
4100
  "hiddenAliases": [],
1379
- "id": "teams:list",
4101
+ "id": "tickets:list",
1380
4102
  "pluginAlias": "@bussolabs/closeyourit-cli",
1381
4103
  "pluginName": "@bussolabs/closeyourit-cli",
1382
4104
  "pluginType": "core",
@@ -1386,27 +4108,23 @@
1386
4108
  "relativePath": [
1387
4109
  "dist",
1388
4110
  "commands",
1389
- "teams",
4111
+ "tickets",
1390
4112
  "list.js"
1391
4113
  ]
1392
4114
  },
1393
- "teams:remove-member": {
4115
+ "tickets:milestone": {
1394
4116
  "aliases": [],
1395
4117
  "args": {
1396
- "team": {
1397
- "description": "Team id (UUID) or name",
1398
- "name": "team",
1399
- "required": true
1400
- },
1401
- "member": {
1402
- "description": "Member account id or email",
1403
- "name": "member",
4118
+ "id": {
4119
+ "description": "Ticket id",
4120
+ "name": "id",
1404
4121
  "required": true
1405
4122
  }
1406
4123
  },
1407
- "description": "Remove a person from a team, keeping the other members",
4124
+ "description": "Set or clear a ticket milestone (--clear)",
1408
4125
  "examples": [
1409
- "<%= config.bin %> teams remove-member DriverOne client@acme.com"
4126
+ "<%= config.bin %> tickets milestone <ticket-id> --project acme-api --milestone-id <milestone-id>",
4127
+ "<%= config.bin %> tickets milestone <ticket-id> --project acme-api --clear"
1410
4128
  ],
1411
4129
  "flags": {
1412
4130
  "json": {
@@ -1415,11 +4133,39 @@
1415
4133
  "name": "json",
1416
4134
  "allowNo": false,
1417
4135
  "type": "boolean"
4136
+ },
4137
+ "project": {
4138
+ "char": "p",
4139
+ "description": "Project id (UUID) or key",
4140
+ "name": "project",
4141
+ "required": true,
4142
+ "hasDynamicHelp": false,
4143
+ "multiple": false,
4144
+ "type": "option"
4145
+ },
4146
+ "milestone-id": {
4147
+ "description": "Milestone id (of this project)",
4148
+ "exclusive": [
4149
+ "clear"
4150
+ ],
4151
+ "name": "milestone-id",
4152
+ "hasDynamicHelp": false,
4153
+ "multiple": false,
4154
+ "type": "option"
4155
+ },
4156
+ "clear": {
4157
+ "description": "Remove the current milestone (DELETE)",
4158
+ "exclusive": [
4159
+ "milestone-id"
4160
+ ],
4161
+ "name": "clear",
4162
+ "allowNo": false,
4163
+ "type": "boolean"
1418
4164
  }
1419
4165
  },
1420
4166
  "hasDynamicHelp": false,
1421
4167
  "hiddenAliases": [],
1422
- "id": "teams:remove-member",
4168
+ "id": "tickets:milestone",
1423
4169
  "pluginAlias": "@bussolabs/closeyourit-cli",
1424
4170
  "pluginName": "@bussolabs/closeyourit-cli",
1425
4171
  "pluginType": "core",
@@ -1429,22 +4175,22 @@
1429
4175
  "relativePath": [
1430
4176
  "dist",
1431
4177
  "commands",
1432
- "teams",
1433
- "remove-member.js"
4178
+ "tickets",
4179
+ "milestone.js"
1434
4180
  ]
1435
4181
  },
1436
- "teams:show": {
4182
+ "tickets:show": {
1437
4183
  "aliases": [],
1438
4184
  "args": {
1439
- "team": {
1440
- "description": "Team id (UUID) or name",
1441
- "name": "team",
4185
+ "id": {
4186
+ "description": "Ticket id or code",
4187
+ "name": "id",
1442
4188
  "required": true
1443
4189
  }
1444
4190
  },
1445
- "description": "Show a team by id or name (roles, group/project scope, members)",
4191
+ "description": "Show a single ticket",
1446
4192
  "examples": [
1447
- "<%= config.bin %> teams show DriverOne"
4193
+ "<%= config.bin %> tickets show <ticket-id> --project acme-api"
1448
4194
  ],
1449
4195
  "flags": {
1450
4196
  "json": {
@@ -1453,11 +4199,20 @@
1453
4199
  "name": "json",
1454
4200
  "allowNo": false,
1455
4201
  "type": "boolean"
4202
+ },
4203
+ "project": {
4204
+ "char": "p",
4205
+ "description": "Project id (UUID) or key",
4206
+ "name": "project",
4207
+ "required": true,
4208
+ "hasDynamicHelp": false,
4209
+ "multiple": false,
4210
+ "type": "option"
1456
4211
  }
1457
4212
  },
1458
4213
  "hasDynamicHelp": false,
1459
4214
  "hiddenAliases": [],
1460
- "id": "teams:show",
4215
+ "id": "tickets:show",
1461
4216
  "pluginAlias": "@bussolabs/closeyourit-cli",
1462
4217
  "pluginName": "@bussolabs/closeyourit-cli",
1463
4218
  "pluginType": "core",
@@ -1467,23 +4222,22 @@
1467
4222
  "relativePath": [
1468
4223
  "dist",
1469
4224
  "commands",
1470
- "teams",
4225
+ "tickets",
1471
4226
  "show.js"
1472
4227
  ]
1473
4228
  },
1474
- "teams:update": {
4229
+ "tickets:status": {
1475
4230
  "aliases": [],
1476
4231
  "args": {
1477
- "team": {
1478
- "description": "Team id (UUID) or name",
1479
- "name": "team",
4232
+ "id": {
4233
+ "description": "Ticket id",
4234
+ "name": "id",
1480
4235
  "required": true
1481
4236
  }
1482
4237
  },
1483
- "description": "Update a team. Each given dimension REPLACES the whole set for that dimension.",
4238
+ "description": "Change a ticket status",
1484
4239
  "examples": [
1485
- "<%= config.bin %> teams update DriverOne --role Client --group DriverOne",
1486
- "<%= config.bin %> teams update DriverOne --name \"DriverOne clients\""
4240
+ "<%= config.bin %> tickets status <ticket-id> --project acme-api --status-id <status-id>"
1487
4241
  ],
1488
4242
  "flags": {
1489
4243
  "json": {
@@ -1493,52 +4247,74 @@
1493
4247
  "allowNo": false,
1494
4248
  "type": "boolean"
1495
4249
  },
1496
- "color": {
1497
- "description": "Color label",
1498
- "name": "color",
4250
+ "project": {
4251
+ "char": "p",
4252
+ "description": "Project id (UUID) or key",
4253
+ "name": "project",
4254
+ "required": true,
1499
4255
  "hasDynamicHelp": false,
1500
4256
  "multiple": false,
1501
4257
  "type": "option"
1502
4258
  },
1503
- "group": {
1504
- "description": "Group id or name (repeatable; replaces the group scope)",
1505
- "name": "group",
1506
- "hasDynamicHelp": false,
1507
- "multiple": true,
1508
- "type": "option"
1509
- },
1510
- "member": {
1511
- "description": "Member account id or email (repeatable; replaces the members)",
1512
- "name": "member",
1513
- "hasDynamicHelp": false,
1514
- "multiple": true,
1515
- "type": "option"
1516
- },
1517
- "name": {
1518
- "description": "New name",
1519
- "name": "name",
4259
+ "status-id": {
4260
+ "description": "Target status lookup id",
4261
+ "name": "status-id",
4262
+ "required": true,
1520
4263
  "hasDynamicHelp": false,
1521
4264
  "multiple": false,
1522
4265
  "type": "option"
4266
+ }
4267
+ },
4268
+ "hasDynamicHelp": false,
4269
+ "hiddenAliases": [],
4270
+ "id": "tickets:status",
4271
+ "pluginAlias": "@bussolabs/closeyourit-cli",
4272
+ "pluginName": "@bussolabs/closeyourit-cli",
4273
+ "pluginType": "core",
4274
+ "strict": true,
4275
+ "enableJsonFlag": true,
4276
+ "isESM": false,
4277
+ "relativePath": [
4278
+ "dist",
4279
+ "commands",
4280
+ "tickets",
4281
+ "status.js"
4282
+ ]
4283
+ },
4284
+ "tickets:unvote": {
4285
+ "aliases": [],
4286
+ "args": {
4287
+ "id": {
4288
+ "description": "Ticket id",
4289
+ "name": "id",
4290
+ "required": true
4291
+ }
4292
+ },
4293
+ "description": "Remove your upvote from a ticket (idempotent)",
4294
+ "examples": [
4295
+ "<%= config.bin %> tickets unvote <ticket-id> --project acme-api"
4296
+ ],
4297
+ "flags": {
4298
+ "json": {
4299
+ "description": "Format output as json.",
4300
+ "helpGroup": "GLOBAL",
4301
+ "name": "json",
4302
+ "allowNo": false,
4303
+ "type": "boolean"
1523
4304
  },
1524
4305
  "project": {
1525
- "description": "Project id or key (repeatable; replaces the project scope)",
4306
+ "char": "p",
4307
+ "description": "Project id (UUID) or key",
1526
4308
  "name": "project",
4309
+ "required": true,
1527
4310
  "hasDynamicHelp": false,
1528
- "multiple": true,
1529
- "type": "option"
1530
- },
1531
- "role": {
1532
- "description": "Role id or name (repeatable; replaces the roles)",
1533
- "name": "role",
1534
- "hasDynamicHelp": false,
1535
- "multiple": true,
4311
+ "multiple": false,
1536
4312
  "type": "option"
1537
4313
  }
1538
4314
  },
1539
4315
  "hasDynamicHelp": false,
1540
4316
  "hiddenAliases": [],
1541
- "id": "teams:update",
4317
+ "id": "tickets:unvote",
1542
4318
  "pluginAlias": "@bussolabs/closeyourit-cli",
1543
4319
  "pluginName": "@bussolabs/closeyourit-cli",
1544
4320
  "pluginType": "core",
@@ -1548,17 +4324,23 @@
1548
4324
  "relativePath": [
1549
4325
  "dist",
1550
4326
  "commands",
1551
- "teams",
1552
- "update.js"
4327
+ "tickets",
4328
+ "unvote.js"
1553
4329
  ]
1554
4330
  },
1555
- "tickets:create": {
4331
+ "tickets:update": {
1556
4332
  "aliases": [],
1557
- "args": {},
1558
- "description": "Create a ticket",
4333
+ "args": {
4334
+ "id": {
4335
+ "description": "Ticket id",
4336
+ "name": "id",
4337
+ "required": true
4338
+ }
4339
+ },
4340
+ "description": "Update a ticket (full replace — fields you omit are cleared server-side)",
1559
4341
  "examples": [
1560
- "<%= config.bin %> tickets create --project acme-api --title \"Checkout fails\"",
1561
- "<%= config.bin %> tickets create -p acme-api --title \"Login bug\" --kind bug --step-given \"logged out\" --step-when \"I submit\" --step-then \"it 500s\""
4342
+ "<%= config.bin %> tickets update <ticket-id> --project acme-api --title \"New title\"",
4343
+ "<%= config.bin %> tickets update <ticket-id> -p acme-api --title \"Login bug\" --kind bug --step-given \"logged out\" --step-when \"I submit\" --step-then \"it 500s\" --step-expected \"dashboard loads\""
1562
4344
  ],
1563
4345
  "flags": {
1564
4346
  "json": {
@@ -1580,15 +4362,13 @@
1580
4362
  "title": {
1581
4363
  "description": "Ticket title",
1582
4364
  "name": "title",
1583
- "required": true,
1584
4365
  "hasDynamicHelp": false,
1585
4366
  "multiple": false,
1586
4367
  "type": "option"
1587
4368
  },
1588
4369
  "kind": {
1589
- "description": "Ticket kind",
4370
+ "description": "Ticket kind (bug, feature, improvement)",
1590
4371
  "name": "kind",
1591
- "default": "bug",
1592
4372
  "hasDynamicHelp": false,
1593
4373
  "multiple": false,
1594
4374
  "type": "option"
@@ -1600,6 +4380,13 @@
1600
4380
  "multiple": false,
1601
4381
  "type": "option"
1602
4382
  },
4383
+ "weight": {
4384
+ "description": "Story points (positive integer)",
4385
+ "name": "weight",
4386
+ "hasDynamicHelp": false,
4387
+ "multiple": false,
4388
+ "type": "option"
4389
+ },
1603
4390
  "step-given": {
1604
4391
  "description": "Given (precondition)",
1605
4392
  "name": "step-given",
@@ -1641,61 +4428,32 @@
1641
4428
  "hasDynamicHelp": false,
1642
4429
  "multiple": false,
1643
4430
  "type": "option"
1644
- }
1645
- },
1646
- "hasDynamicHelp": false,
1647
- "hiddenAliases": [],
1648
- "id": "tickets:create",
1649
- "pluginAlias": "@bussolabs/closeyourit-cli",
1650
- "pluginName": "@bussolabs/closeyourit-cli",
1651
- "pluginType": "core",
1652
- "strict": true,
1653
- "enableJsonFlag": true,
1654
- "isESM": false,
1655
- "relativePath": [
1656
- "dist",
1657
- "commands",
1658
- "tickets",
1659
- "create.js"
1660
- ]
1661
- },
1662
- "tickets:list": {
1663
- "aliases": [],
1664
- "args": {},
1665
- "description": "List tickets for a project",
1666
- "examples": [
1667
- "<%= config.bin %> tickets list --project acme-api",
1668
- "<%= config.bin %> tickets list -p acme-api --json"
1669
- ],
1670
- "flags": {
1671
- "json": {
1672
- "description": "Format output as json.",
1673
- "helpGroup": "GLOBAL",
1674
- "name": "json",
1675
- "allowNo": false,
1676
- "type": "boolean"
1677
4431
  },
1678
- "project": {
1679
- "char": "p",
1680
- "description": "Project id (UUID) or key",
1681
- "name": "project",
1682
- "required": true,
4432
+ "assignee-id": {
4433
+ "description": "Assignee account id",
4434
+ "name": "assignee-id",
1683
4435
  "hasDynamicHelp": false,
1684
4436
  "multiple": false,
1685
4437
  "type": "option"
1686
4438
  },
1687
- "page": {
1688
- "description": "Page number",
1689
- "name": "page",
1690
- "default": 1,
4439
+ "milestone-id": {
4440
+ "description": "Milestone id (of this project)",
4441
+ "name": "milestone-id",
1691
4442
  "hasDynamicHelp": false,
1692
4443
  "multiple": false,
1693
4444
  "type": "option"
4445
+ },
4446
+ "platform-id": {
4447
+ "description": "Affected platform id (repeatable)",
4448
+ "name": "platform-id",
4449
+ "hasDynamicHelp": false,
4450
+ "multiple": true,
4451
+ "type": "option"
1694
4452
  }
1695
4453
  },
1696
4454
  "hasDynamicHelp": false,
1697
4455
  "hiddenAliases": [],
1698
- "id": "tickets:list",
4456
+ "id": "tickets:update",
1699
4457
  "pluginAlias": "@bussolabs/closeyourit-cli",
1700
4458
  "pluginName": "@bussolabs/closeyourit-cli",
1701
4459
  "pluginType": "core",
@@ -1706,21 +4464,21 @@
1706
4464
  "dist",
1707
4465
  "commands",
1708
4466
  "tickets",
1709
- "list.js"
4467
+ "update.js"
1710
4468
  ]
1711
4469
  },
1712
- "tickets:show": {
4470
+ "tickets:vote": {
1713
4471
  "aliases": [],
1714
4472
  "args": {
1715
4473
  "id": {
1716
- "description": "Ticket id or code",
4474
+ "description": "Ticket id",
1717
4475
  "name": "id",
1718
4476
  "required": true
1719
4477
  }
1720
4478
  },
1721
- "description": "Show a single ticket",
4479
+ "description": "Upvote a ticket (idempotent)",
1722
4480
  "examples": [
1723
- "<%= config.bin %> tickets show <ticket-id> --project acme-api"
4481
+ "<%= config.bin %> tickets vote <ticket-id> --project acme-api"
1724
4482
  ],
1725
4483
  "flags": {
1726
4484
  "json": {
@@ -1742,7 +4500,7 @@
1742
4500
  },
1743
4501
  "hasDynamicHelp": false,
1744
4502
  "hiddenAliases": [],
1745
- "id": "tickets:show",
4503
+ "id": "tickets:vote",
1746
4504
  "pluginAlias": "@bussolabs/closeyourit-cli",
1747
4505
  "pluginName": "@bussolabs/closeyourit-cli",
1748
4506
  "pluginType": "core",
@@ -1753,7 +4511,7 @@
1753
4511
  "dist",
1754
4512
  "commands",
1755
4513
  "tickets",
1756
- "show.js"
4514
+ "vote.js"
1757
4515
  ]
1758
4516
  },
1759
4517
  "tokens:create": {
@@ -1950,5 +4708,5 @@
1950
4708
  ]
1951
4709
  }
1952
4710
  },
1953
- "version": "0.0.3"
4711
+ "version": "0.0.4"
1954
4712
  }