@proletariat/cli 0.3.80 → 0.3.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -46
- package/dist/commands/action/run.js +2 -2
- package/dist/commands/action/run.js.map +1 -1
- package/dist/commands/agent/staff/add.d.ts +17 -1
- package/dist/commands/agent/staff/add.js +274 -1
- package/dist/commands/agent/staff/add.js.map +1 -1
- package/dist/commands/agent/staff/list.d.ts +10 -1
- package/dist/commands/agent/staff/list.js +103 -1
- package/dist/commands/agent/staff/list.js.map +1 -1
- package/dist/commands/agent/staff/remove.d.ts +18 -1
- package/dist/commands/agent/staff/remove.js +143 -1
- package/dist/commands/agent/staff/remove.js.map +1 -1
- package/dist/commands/{epic/activate.d.ts → pr/close.d.ts} +8 -2
- package/dist/commands/pr/close.js +157 -0
- package/dist/commands/pr/close.js.map +1 -0
- package/dist/commands/pr/index.js +6 -2
- package/dist/commands/pr/index.js.map +1 -1
- package/dist/commands/pr/list.d.ts +1 -0
- package/dist/commands/pr/list.js +37 -3
- package/dist/commands/pr/list.js.map +1 -1
- package/dist/commands/pr/merge.js +1 -1
- package/dist/commands/pr/merge.js.map +1 -1
- package/dist/commands/pr/status.js +33 -1
- package/dist/commands/pr/status.js.map +1 -1
- package/dist/commands/self-update.d.ts +7 -14
- package/dist/commands/self-update.js +11 -179
- package/dist/commands/self-update.js.map +1 -1
- package/dist/commands/{workflow/switch.d.ts → ticket/cancel.d.ts} +4 -2
- package/dist/commands/ticket/cancel.js +204 -0
- package/dist/commands/ticket/cancel.js.map +1 -0
- package/dist/commands/ticket/create.d.ts +7 -2
- package/dist/commands/ticket/create.js +45 -29
- package/dist/commands/ticket/create.js.map +1 -1
- package/dist/commands/ticket/link/index.js +0 -12
- package/dist/commands/ticket/link/index.js.map +1 -1
- package/dist/commands/ticket/move.d.ts +1 -0
- package/dist/commands/ticket/move.js +10 -3
- package/dist/commands/ticket/move.js.map +1 -1
- package/dist/commands/update.d.ts +18 -0
- package/dist/commands/update.js +184 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/lib/database/index.js +0 -134
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/database/migrations/0006_drop_theme_names_used.d.ts +8 -0
- package/dist/lib/database/migrations/0006_drop_theme_names_used.js +30 -0
- package/dist/lib/database/migrations/0006_drop_theme_names_used.js.map +1 -0
- package/dist/lib/database/migrations/0007_add_worktree_columns.d.ts +8 -0
- package/dist/lib/database/migrations/0007_add_worktree_columns.js +24 -0
- package/dist/lib/database/migrations/0007_add_worktree_columns.js.map +1 -0
- package/dist/lib/database/migrations/0008_add_agent_mount_mode.d.ts +8 -0
- package/dist/lib/database/migrations/0008_add_agent_mount_mode.js +18 -0
- package/dist/lib/database/migrations/0008_add_agent_mount_mode.js.map +1 -0
- package/dist/lib/database/migrations/0009_create_media_items.d.ts +7 -0
- package/dist/lib/database/migrations/0009_create_media_items.js +29 -0
- package/dist/lib/database/migrations/0009_create_media_items.js.map +1 -0
- package/dist/lib/database/migrations/0010_add_ticket_position.d.ts +9 -0
- package/dist/lib/database/migrations/0010_add_ticket_position.js +44 -0
- package/dist/lib/database/migrations/0010_add_ticket_position.js.map +1 -0
- package/dist/lib/database/migrations/index.js +10 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/events/events.d.ts +2 -1
- package/dist/lib/pmo/storage/dependencies.js +45 -21
- package/dist/lib/pmo/storage/dependencies.js.map +1 -1
- package/dist/lib/pmo/storage/statuses.d.ts +2 -0
- package/dist/lib/pmo/storage/statuses.js +209 -150
- package/dist/lib/pmo/storage/statuses.js.map +1 -1
- package/dist/lib/pr/index.d.ts +14 -0
- package/dist/lib/pr/index.js +48 -0
- package/dist/lib/pr/index.js.map +1 -1
- package/dist/lib/update-check.js +1 -1
- package/dist/lib/update-check.js.map +1 -1
- package/dist/lib/update-prompt.js +1 -1
- package/dist/lib/work-lifecycle/events.d.ts +11 -0
- package/oclif.manifest.json +5060 -11723
- package/package.json +1 -1
- package/dist/commands/agents/index.d.ts +0 -11
- package/dist/commands/agents/index.js +0 -105
- package/dist/commands/agents/index.js.map +0 -1
- package/dist/commands/agents/themes/add-names.d.ts +0 -1
- package/dist/commands/agents/themes/add-names.js +0 -2
- package/dist/commands/agents/themes/add-names.js.map +0 -1
- package/dist/commands/agents/themes/create.d.ts +0 -1
- package/dist/commands/agents/themes/create.js +0 -2
- package/dist/commands/agents/themes/create.js.map +0 -1
- package/dist/commands/agents/themes/list.d.ts +0 -1
- package/dist/commands/agents/themes/list.js +0 -2
- package/dist/commands/agents/themes/list.js.map +0 -1
- package/dist/commands/category/create.d.ts +0 -19
- package/dist/commands/category/create.js +0 -130
- package/dist/commands/category/create.js.map +0 -1
- package/dist/commands/category/delete.d.ts +0 -18
- package/dist/commands/category/delete.js +0 -124
- package/dist/commands/category/delete.js.map +0 -1
- package/dist/commands/category/index.d.ts +0 -16
- package/dist/commands/category/index.js +0 -88
- package/dist/commands/category/index.js.map +0 -1
- package/dist/commands/category/list.d.ts +0 -19
- package/dist/commands/category/list.js +0 -111
- package/dist/commands/category/list.js.map +0 -1
- package/dist/commands/category/rename.d.ts +0 -19
- package/dist/commands/category/rename.js +0 -160
- package/dist/commands/category/rename.js.map +0 -1
- package/dist/commands/epic/activate.js +0 -107
- package/dist/commands/epic/activate.js.map +0 -1
- package/dist/commands/epic/archive.d.ts +0 -15
- package/dist/commands/epic/archive.js +0 -118
- package/dist/commands/epic/archive.js.map +0 -1
- package/dist/commands/epic/create.d.ts +0 -17
- package/dist/commands/epic/create.js +0 -179
- package/dist/commands/epic/create.js.map +0 -1
- package/dist/commands/epic/delete.d.ts +0 -15
- package/dist/commands/epic/delete.js +0 -129
- package/dist/commands/epic/delete.js.map +0 -1
- package/dist/commands/epic/index.d.ts +0 -14
- package/dist/commands/epic/index.js +0 -88
- package/dist/commands/epic/index.js.map +0 -1
- package/dist/commands/epic/list.d.ts +0 -13
- package/dist/commands/epic/list.js +0 -103
- package/dist/commands/epic/list.js.map +0 -1
- package/dist/commands/epic/move.d.ts +0 -16
- package/dist/commands/epic/move.js +0 -162
- package/dist/commands/epic/move.js.map +0 -1
- package/dist/commands/epic/progress.d.ts +0 -17
- package/dist/commands/epic/progress.js +0 -170
- package/dist/commands/epic/progress.js.map +0 -1
- package/dist/commands/epic/project.d.ts +0 -16
- package/dist/commands/epic/project.js +0 -199
- package/dist/commands/epic/project.js.map +0 -1
- package/dist/commands/epic/reorder.d.ts +0 -22
- package/dist/commands/epic/reorder.js +0 -152
- package/dist/commands/epic/reorder.js.map +0 -1
- package/dist/commands/epic/show.d.ts +0 -13
- package/dist/commands/epic/show.js +0 -17
- package/dist/commands/epic/show.js.map +0 -1
- package/dist/commands/epic/spec.d.ts +0 -17
- package/dist/commands/epic/spec.js +0 -189
- package/dist/commands/epic/spec.js.map +0 -1
- package/dist/commands/epic/ticket.d.ts +0 -21
- package/dist/commands/epic/ticket.js +0 -300
- package/dist/commands/epic/ticket.js.map +0 -1
- package/dist/commands/epic/view.d.ts +0 -14
- package/dist/commands/epic/view.js +0 -141
- package/dist/commands/epic/view.js.map +0 -1
- package/dist/commands/execution/kill.d.ts +0 -12
- package/dist/commands/execution/kill.js +0 -18
- package/dist/commands/execution/kill.js.map +0 -1
- package/dist/commands/label/create.d.ts +0 -20
- package/dist/commands/label/create.js +0 -58
- package/dist/commands/label/create.js.map +0 -1
- package/dist/commands/label/delete.d.ts +0 -17
- package/dist/commands/label/delete.js +0 -33
- package/dist/commands/label/delete.js.map +0 -1
- package/dist/commands/label/group/create.d.ts +0 -20
- package/dist/commands/label/group/create.js +0 -56
- package/dist/commands/label/group/create.js.map +0 -1
- package/dist/commands/label/group/list.d.ts +0 -14
- package/dist/commands/label/group/list.js +0 -53
- package/dist/commands/label/group/list.js.map +0 -1
- package/dist/commands/label/index.d.ts +0 -15
- package/dist/commands/label/index.js +0 -59
- package/dist/commands/label/index.js.map +0 -1
- package/dist/commands/label/list.d.ts +0 -16
- package/dist/commands/label/list.js +0 -84
- package/dist/commands/label/list.js.map +0 -1
- package/dist/commands/link/create.d.ts +0 -16
- package/dist/commands/link/create.js +0 -136
- package/dist/commands/link/create.js.map +0 -1
- package/dist/commands/link/index.d.ts +0 -14
- package/dist/commands/link/index.js +0 -82
- package/dist/commands/link/index.js.map +0 -1
- package/dist/commands/link/list.d.ts +0 -18
- package/dist/commands/link/list.js +0 -178
- package/dist/commands/link/list.js.map +0 -1
- package/dist/commands/link/remove.d.ts +0 -16
- package/dist/commands/link/remove.js +0 -115
- package/dist/commands/link/remove.js.map +0 -1
- package/dist/commands/media/add.d.ts +0 -19
- package/dist/commands/media/add.js +0 -98
- package/dist/commands/media/add.js.map +0 -1
- package/dist/commands/media/index.d.ts +0 -14
- package/dist/commands/media/index.js +0 -93
- package/dist/commands/media/index.js.map +0 -1
- package/dist/commands/media/list.d.ts +0 -15
- package/dist/commands/media/list.js +0 -94
- package/dist/commands/media/list.js.map +0 -1
- package/dist/commands/media/preprocess.d.ts +0 -19
- package/dist/commands/media/preprocess.js +0 -91
- package/dist/commands/media/preprocess.js.map +0 -1
- package/dist/commands/media/remove.d.ts +0 -18
- package/dist/commands/media/remove.js +0 -105
- package/dist/commands/media/remove.js.map +0 -1
- package/dist/commands/media/show.d.ts +0 -17
- package/dist/commands/media/show.js +0 -122
- package/dist/commands/media/show.js.map +0 -1
- package/dist/commands/phase/create.d.ts +0 -22
- package/dist/commands/phase/create.js +0 -165
- package/dist/commands/phase/create.js.map +0 -1
- package/dist/commands/phase/delete.d.ts +0 -18
- package/dist/commands/phase/delete.js +0 -75
- package/dist/commands/phase/delete.js.map +0 -1
- package/dist/commands/phase/list.d.ts +0 -13
- package/dist/commands/phase/list.js +0 -75
- package/dist/commands/phase/list.js.map +0 -1
- package/dist/commands/phase/move.d.ts +0 -18
- package/dist/commands/phase/move.js +0 -124
- package/dist/commands/phase/move.js.map +0 -1
- package/dist/commands/phase/template/apply.d.ts +0 -26
- package/dist/commands/phase/template/apply.js +0 -15
- package/dist/commands/phase/template/apply.js.map +0 -1
- package/dist/commands/phase/template/create.d.ts +0 -23
- package/dist/commands/phase/template/create.js +0 -15
- package/dist/commands/phase/template/create.js.map +0 -1
- package/dist/commands/phase/template/delete.d.ts +0 -18
- package/dist/commands/phase/template/delete.js +0 -63
- package/dist/commands/phase/template/delete.js.map +0 -1
- package/dist/commands/phase/template/list.d.ts +0 -17
- package/dist/commands/phase/template/list.js +0 -90
- package/dist/commands/phase/template/list.js.map +0 -1
- package/dist/commands/phase/template/update.d.ts +0 -1
- package/dist/commands/phase/template/update.js +0 -2
- package/dist/commands/phase/template/update.js.map +0 -1
- package/dist/commands/phase/update.d.ts +0 -23
- package/dist/commands/phase/update.js +0 -209
- package/dist/commands/phase/update.js.map +0 -1
- package/dist/commands/priority/add.d.ts +0 -16
- package/dist/commands/priority/add.js +0 -71
- package/dist/commands/priority/add.js.map +0 -1
- package/dist/commands/priority/list.d.ts +0 -11
- package/dist/commands/priority/list.js +0 -35
- package/dist/commands/priority/list.js.map +0 -1
- package/dist/commands/priority/remove.d.ts +0 -14
- package/dist/commands/priority/remove.js +0 -55
- package/dist/commands/priority/remove.js.map +0 -1
- package/dist/commands/priority/set.d.ts +0 -15
- package/dist/commands/priority/set.js +0 -61
- package/dist/commands/priority/set.js.map +0 -1
- package/dist/commands/roadmap/add-project.d.ts +0 -19
- package/dist/commands/roadmap/add-project.js +0 -119
- package/dist/commands/roadmap/add-project.js.map +0 -1
- package/dist/commands/roadmap/create.d.ts +0 -22
- package/dist/commands/roadmap/create.js +0 -168
- package/dist/commands/roadmap/create.js.map +0 -1
- package/dist/commands/roadmap/delete.d.ts +0 -18
- package/dist/commands/roadmap/delete.js +0 -96
- package/dist/commands/roadmap/delete.js.map +0 -1
- package/dist/commands/roadmap/generate.d.ts +0 -24
- package/dist/commands/roadmap/generate.js +0 -201
- package/dist/commands/roadmap/generate.js.map +0 -1
- package/dist/commands/roadmap/index.d.ts +0 -14
- package/dist/commands/roadmap/index.js +0 -57
- package/dist/commands/roadmap/index.js.map +0 -1
- package/dist/commands/roadmap/list.d.ts +0 -14
- package/dist/commands/roadmap/list.js +0 -58
- package/dist/commands/roadmap/list.js.map +0 -1
- package/dist/commands/roadmap/remove-project.d.ts +0 -19
- package/dist/commands/roadmap/remove-project.js +0 -124
- package/dist/commands/roadmap/remove-project.js.map +0 -1
- package/dist/commands/roadmap/reorder.d.ts +0 -18
- package/dist/commands/roadmap/reorder.js +0 -147
- package/dist/commands/roadmap/reorder.js.map +0 -1
- package/dist/commands/roadmap/update.d.ts +0 -20
- package/dist/commands/roadmap/update.js +0 -134
- package/dist/commands/roadmap/update.js.map +0 -1
- package/dist/commands/roadmap/view.d.ts +0 -17
- package/dist/commands/roadmap/view.js +0 -93
- package/dist/commands/roadmap/view.js.map +0 -1
- package/dist/commands/staff/add.d.ts +0 -17
- package/dist/commands/staff/add.js +0 -275
- package/dist/commands/staff/add.js.map +0 -1
- package/dist/commands/staff/index.d.ts +0 -15
- package/dist/commands/staff/index.js +0 -88
- package/dist/commands/staff/index.js.map +0 -1
- package/dist/commands/staff/list.d.ts +0 -10
- package/dist/commands/staff/list.js +0 -104
- package/dist/commands/staff/list.js.map +0 -1
- package/dist/commands/staff/remove.d.ts +0 -18
- package/dist/commands/staff/remove.js +0 -144
- package/dist/commands/staff/remove.js.map +0 -1
- package/dist/commands/status/category.d.ts +0 -15
- package/dist/commands/status/category.js +0 -64
- package/dist/commands/status/category.js.map +0 -1
- package/dist/commands/status/create.d.ts +0 -21
- package/dist/commands/status/create.js +0 -161
- package/dist/commands/status/create.js.map +0 -1
- package/dist/commands/status/delete.d.ts +0 -14
- package/dist/commands/status/delete.js +0 -86
- package/dist/commands/status/delete.js.map +0 -1
- package/dist/commands/status/index.d.ts +0 -15
- package/dist/commands/status/index.js +0 -98
- package/dist/commands/status/index.js.map +0 -1
- package/dist/commands/status/list.d.ts +0 -13
- package/dist/commands/status/list.js +0 -97
- package/dist/commands/status/list.js.map +0 -1
- package/dist/commands/status/move.d.ts +0 -15
- package/dist/commands/status/move.js +0 -126
- package/dist/commands/status/move.js.map +0 -1
- package/dist/commands/status/update.d.ts +0 -20
- package/dist/commands/status/update.js +0 -214
- package/dist/commands/status/update.js.map +0 -1
- package/dist/commands/template/apply.d.ts +0 -28
- package/dist/commands/template/apply.js +0 -258
- package/dist/commands/template/apply.js.map +0 -1
- package/dist/commands/template/create.d.ts +0 -28
- package/dist/commands/template/create.js +0 -238
- package/dist/commands/template/create.js.map +0 -1
- package/dist/commands/template/delete.d.ts +0 -16
- package/dist/commands/template/delete.js +0 -141
- package/dist/commands/template/delete.js.map +0 -1
- package/dist/commands/template/index.d.ts +0 -11
- package/dist/commands/template/index.js +0 -65
- package/dist/commands/template/index.js.map +0 -1
- package/dist/commands/template/list.d.ts +0 -19
- package/dist/commands/template/list.js +0 -155
- package/dist/commands/template/list.js.map +0 -1
- package/dist/commands/template/save.d.ts +0 -17
- package/dist/commands/template/save.js +0 -101
- package/dist/commands/template/save.js.map +0 -1
- package/dist/commands/template/update.d.ts +0 -19
- package/dist/commands/template/update.js +0 -94
- package/dist/commands/template/update.js.map +0 -1
- package/dist/commands/ticket/template/apply.d.ts +0 -26
- package/dist/commands/ticket/template/apply.js +0 -15
- package/dist/commands/ticket/template/apply.js.map +0 -1
- package/dist/commands/ticket/template/delete.d.ts +0 -18
- package/dist/commands/ticket/template/delete.js +0 -63
- package/dist/commands/ticket/template/delete.js.map +0 -1
- package/dist/commands/ticket/template/list.d.ts +0 -17
- package/dist/commands/ticket/template/list.js +0 -79
- package/dist/commands/ticket/template/list.js.map +0 -1
- package/dist/commands/ticket/template/save.d.ts +0 -17
- package/dist/commands/ticket/template/save.js +0 -99
- package/dist/commands/ticket/template/save.js.map +0 -1
- package/dist/commands/work/spawn-all.d.ts +0 -19
- package/dist/commands/work/spawn-all.js +0 -64
- package/dist/commands/work/spawn-all.js.map +0 -1
- package/dist/commands/workflow/create.d.ts +0 -19
- package/dist/commands/workflow/create.js +0 -118
- package/dist/commands/workflow/create.js.map +0 -1
- package/dist/commands/workflow/delete.d.ts +0 -18
- package/dist/commands/workflow/delete.js +0 -108
- package/dist/commands/workflow/delete.js.map +0 -1
- package/dist/commands/workflow/index.d.ts +0 -16
- package/dist/commands/workflow/index.js +0 -73
- package/dist/commands/workflow/index.js.map +0 -1
- package/dist/commands/workflow/list.d.ts +0 -16
- package/dist/commands/workflow/list.js +0 -73
- package/dist/commands/workflow/list.js.map +0 -1
- package/dist/commands/workflow/setup.d.ts +0 -24
- package/dist/commands/workflow/setup.js +0 -351
- package/dist/commands/workflow/setup.js.map +0 -1
- package/dist/commands/workflow/show.d.ts +0 -13
- package/dist/commands/workflow/show.js +0 -17
- package/dist/commands/workflow/show.js.map +0 -1
- package/dist/commands/workflow/switch.js +0 -144
- package/dist/commands/workflow/switch.js.map +0 -1
- package/dist/commands/workflow/view.d.ts +0 -17
- package/dist/commands/workflow/view.js +0 -106
- package/dist/commands/workflow/view.js.map +0 -1
- package/dist/commands/workflow-rule/create.d.ts +0 -19
- package/dist/commands/workflow-rule/create.js +0 -141
- package/dist/commands/workflow-rule/create.js.map +0 -1
- package/dist/commands/workflow-rule/delete.d.ts +0 -18
- package/dist/commands/workflow-rule/delete.js +0 -72
- package/dist/commands/workflow-rule/delete.js.map +0 -1
- package/dist/commands/workflow-rule/index.d.ts +0 -16
- package/dist/commands/workflow-rule/index.js +0 -83
- package/dist/commands/workflow-rule/index.js.map +0 -1
- package/dist/commands/workflow-rule/list.d.ts +0 -17
- package/dist/commands/workflow-rule/list.js +0 -72
- package/dist/commands/workflow-rule/list.js.map +0 -1
- package/dist/commands/workflow-rule/update.d.ts +0 -22
- package/dist/commands/workflow-rule/update.js +0 -84
- package/dist/commands/workflow-rule/update.js.map +0 -1
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import inquirer from 'inquirer';
|
|
3
|
-
import { colors, format } from '../../lib/colors.js';
|
|
4
|
-
import { getWorkspaceInfo, removeAgentsFromWorkspace, formatAgentList } from '../../lib/agents/commands.js';
|
|
5
|
-
import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
|
|
6
|
-
import { shouldOutputJson, outputPromptAsJson, outputErrorAsJson, createMetadata, buildPromptConfig, } from '../../lib/prompt-json.js';
|
|
7
|
-
export default class Remove extends PMOCommand {
|
|
8
|
-
static description = 'Remove a specific agent from the workspace';
|
|
9
|
-
static examples = [
|
|
10
|
-
'<%= config.bin %> <%= command.id %> camry',
|
|
11
|
-
'<%= config.bin %> <%= command.id %>',
|
|
12
|
-
];
|
|
13
|
-
static args = {
|
|
14
|
-
name: Args.string({
|
|
15
|
-
description: 'Agent name to remove',
|
|
16
|
-
required: false,
|
|
17
|
-
}),
|
|
18
|
-
};
|
|
19
|
-
static flags = {
|
|
20
|
-
...pmoBaseFlags,
|
|
21
|
-
force: Flags.boolean({
|
|
22
|
-
char: 'f',
|
|
23
|
-
description: 'Skip confirmation prompt (for non-interactive use)',
|
|
24
|
-
default: false,
|
|
25
|
-
}),
|
|
26
|
-
};
|
|
27
|
-
getPMOOptions() {
|
|
28
|
-
return { promptIfMultiple: false };
|
|
29
|
-
}
|
|
30
|
-
async execute() {
|
|
31
|
-
const { args, flags } = await this.parse(Remove);
|
|
32
|
-
// Check if JSON output mode is active
|
|
33
|
-
const jsonMode = shouldOutputJson(flags);
|
|
34
|
-
// Helper to handle errors in JSON mode
|
|
35
|
-
const handleError = (code, message) => {
|
|
36
|
-
if (jsonMode) {
|
|
37
|
-
outputErrorAsJson(code, message, createMetadata('staff remove', flags));
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
this.error(message);
|
|
41
|
-
};
|
|
42
|
-
// Get workspace information
|
|
43
|
-
const workspaceInfo = getWorkspaceInfo();
|
|
44
|
-
// Filter to staff (persistent) agents only
|
|
45
|
-
const staffAgents = workspaceInfo.agents.filter(a => a.type === 'persistent');
|
|
46
|
-
if (staffAgents.length === 0) {
|
|
47
|
-
if (jsonMode) {
|
|
48
|
-
outputErrorAsJson('NO_AGENTS', 'No staff agents to remove.', createMetadata('staff remove', flags));
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this.log(colors.warning('No staff agents to remove.'));
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
let agentName = args.name;
|
|
55
|
-
// Interactive mode if no agent specified
|
|
56
|
-
if (!agentName) {
|
|
57
|
-
// Build choices once, use for both JSON and interactive modes
|
|
58
|
-
const agentChoices = [
|
|
59
|
-
...staffAgents.map((agent) => ({ name: agent.name, value: agent.name })),
|
|
60
|
-
{ name: 'Cancel', value: 'cancel' },
|
|
61
|
-
];
|
|
62
|
-
const selectMessage = 'Select agent to remove:';
|
|
63
|
-
// In JSON mode, output agent selection prompt
|
|
64
|
-
if (jsonMode) {
|
|
65
|
-
outputPromptAsJson(buildPromptConfig('list', 'name', selectMessage, agentChoices), createMetadata('staff remove', flags));
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
const { selected } = await this.prompt([
|
|
69
|
-
{
|
|
70
|
-
type: 'list',
|
|
71
|
-
name: 'selected',
|
|
72
|
-
message: selectMessage,
|
|
73
|
-
choices: [
|
|
74
|
-
...agentChoices.slice(0, -1),
|
|
75
|
-
new inquirer.Separator(),
|
|
76
|
-
{ name: '❌ ' + agentChoices[agentChoices.length - 1].name, value: agentChoices[agentChoices.length - 1].value }
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
], null);
|
|
80
|
-
if (selected === 'cancel') {
|
|
81
|
-
this.log(colors.textMuted('Operation cancelled.'));
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
agentName = selected;
|
|
85
|
-
}
|
|
86
|
-
// Validate agent exists and is a staff agent
|
|
87
|
-
const agent = staffAgents.find((a) => a.name === agentName);
|
|
88
|
-
if (!agent) {
|
|
89
|
-
return handleError('AGENT_NOT_FOUND', `Staff agent "${agentName}" not found. Available: ${formatAgentList(staffAgents)}`);
|
|
90
|
-
}
|
|
91
|
-
const agentsToRemove = [agentName];
|
|
92
|
-
// Skip confirmation if --force flag is passed
|
|
93
|
-
if (!flags.force) {
|
|
94
|
-
// Build choices once, use for both JSON and interactive modes
|
|
95
|
-
const confirmChoices = [
|
|
96
|
-
{ name: 'No, cancel', value: 'false' },
|
|
97
|
-
{ name: 'Yes, remove agent', value: 'true' },
|
|
98
|
-
];
|
|
99
|
-
const confirmMessage = `Are you sure you want to remove agent "${agentName}"? This will delete its worktree.`;
|
|
100
|
-
// Confirm removal
|
|
101
|
-
// In JSON mode, output confirmation prompt
|
|
102
|
-
if (jsonMode) {
|
|
103
|
-
outputPromptAsJson(buildPromptConfig('list', 'confirmed', confirmMessage, confirmChoices), createMetadata('staff remove', flags));
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
const { confirm } = await this.prompt([
|
|
107
|
-
{
|
|
108
|
-
type: 'list',
|
|
109
|
-
name: 'confirm',
|
|
110
|
-
message: confirmMessage,
|
|
111
|
-
choices: [
|
|
112
|
-
{ name: '❌ ' + confirmChoices[0].name, value: false },
|
|
113
|
-
{ name: '⚠️ ' + confirmChoices[1].name, value: true }
|
|
114
|
-
],
|
|
115
|
-
default: 0 // Default to "No, cancel"
|
|
116
|
-
}
|
|
117
|
-
], null);
|
|
118
|
-
if (!confirm) {
|
|
119
|
-
this.log(colors.textMuted('Removal cancelled.'));
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// Remove agents
|
|
124
|
-
this.log(colors.primary(`Removing agent "${agentName}"...`));
|
|
125
|
-
const { removed, failed } = await removeAgentsFromWorkspace(workspaceInfo, agentsToRemove);
|
|
126
|
-
// Show results for each agent
|
|
127
|
-
for (const agentName of agentsToRemove) {
|
|
128
|
-
if (removed.includes(agentName)) {
|
|
129
|
-
this.log(format.success(`Agent ${agentName} removed`));
|
|
130
|
-
}
|
|
131
|
-
else if (failed.includes(agentName)) {
|
|
132
|
-
this.log(format.error(`Failed to remove agent ${agentName}`));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// Summary
|
|
136
|
-
if (removed.length > 0) {
|
|
137
|
-
this.log(format.success(`\nSuccessfully removed ${removed.length} agent(s): ${removed.join(', ')}`));
|
|
138
|
-
}
|
|
139
|
-
if (failed.length > 0) {
|
|
140
|
-
this.log(format.error(`\nFailed to remove ${failed.length} agent(s): ${failed.join(', ')}`));
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=remove.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/staff/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAC5C,MAAM,CAAC,WAAW,GAAG,4CAA4C,CAAC;IAElE,MAAM,CAAC,QAAQ,GAAG;QAChB,2CAA2C;QAC3C,qCAAqC;KACtC,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG;QACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,YAAY;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEQ,aAAa;QACrB,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEjD,sCAAsC;QACtC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEzC,uCAAuC;QACvC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAQ,EAAE;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxE,OAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,4BAA4B;QAC5B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QAEzC,2CAA2C;QAC3C,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAE9E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,iBAAiB,CAAC,WAAW,EAAE,4BAA4B,EAAE,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;gBACpG,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1B,yCAAyC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,8DAA8D;YAC9D,MAAM,YAAY,GAAG;gBACnB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpC,CAAC;YACF,MAAM,aAAa,GAAG,yBAAyB,CAAC;YAEhD,8CAA8C;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACb,kBAAkB,CAChB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,EAC9D,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CACtC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAuB;gBAC3D;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,aAAa;oBACtB,OAAO,EAAE;wBACP,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC5B,IAAI,QAAQ,CAAC,SAAS,EAAE;wBACxB,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;qBAChH;iBACF;aACF,EAAE,IAAI,CAAC,CAAC;YAET,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,SAAS,GAAG,QAAQ,CAAC;QACvB,CAAC;QAED,6CAA6C;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,SAAS,2BAA2B,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5H,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,SAAU,CAAC,CAAC;QAEpC,8CAA8C;QAC9C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,8DAA8D;YAC9D,MAAM,cAAc,GAAG;gBACrB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;gBACtC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE;aAC7C,CAAC;YACF,MAAM,cAAc,GAAG,0CAA0C,SAAU,mCAAmC,CAAC;YAE/G,kBAAkB;YAClB,2CAA2C;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,kBAAkB,CAChB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,EACtE,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CACtC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAuB;gBAC1D;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;wBACrD,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;qBACvD;oBACD,OAAO,EAAE,CAAC,CAAC,0BAA0B;iBACtC;aACF,EAAE,IAAI,CAAC,CAAC;YAET,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,SAAU,MAAM,CAAC,CAAC,CAAC;QAE9D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAE3F,8BAA8B;QAC9B,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,SAAS,UAAU,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,UAAU;QACV,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PMOCommand } from '../../lib/pmo/index.js';
|
|
2
|
-
export default class StatusCategory extends PMOCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static aliases: string[];
|
|
5
|
-
static examples: string[];
|
|
6
|
-
static flags: {
|
|
7
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
};
|
|
11
|
-
protected getPMOOptions(): {
|
|
12
|
-
promptIfMultiple: boolean;
|
|
13
|
-
};
|
|
14
|
-
execute(): Promise<void>;
|
|
15
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Flags } from '@oclif/core';
|
|
2
|
-
import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
|
|
3
|
-
import { shouldOutputJson } from '../../lib/prompt-json.js';
|
|
4
|
-
export default class StatusCategory extends PMOCommand {
|
|
5
|
-
static description = 'Manage status categories (backlog, started, completed, etc.)';
|
|
6
|
-
static aliases = ['status:categories'];
|
|
7
|
-
static examples = [
|
|
8
|
-
'<%= config.bin %> <%= command.id %>',
|
|
9
|
-
'<%= config.bin %> <%= command.id %> list',
|
|
10
|
-
'<%= config.bin %> <%= command.id %> create reviewing',
|
|
11
|
-
'<%= config.bin %> <%= command.id %> rename reviewing in-review',
|
|
12
|
-
'<%= config.bin %> <%= command.id %> delete reviewing',
|
|
13
|
-
];
|
|
14
|
-
static flags = {
|
|
15
|
-
...pmoBaseFlags,
|
|
16
|
-
json: Flags.boolean({
|
|
17
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
18
|
-
default: false,
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
21
|
-
getPMOOptions() {
|
|
22
|
-
return { promptIfMultiple: false };
|
|
23
|
-
}
|
|
24
|
-
async execute() {
|
|
25
|
-
const { flags } = await this.parse(StatusCategory);
|
|
26
|
-
// Check if JSON output mode is active
|
|
27
|
-
const jsonMode = shouldOutputJson(flags);
|
|
28
|
-
// Show the action menu for status categories
|
|
29
|
-
const menuChoices = [
|
|
30
|
-
{ id: 'list', name: 'List all status categories', command: 'prlt category list --type status' },
|
|
31
|
-
{ id: 'create', name: 'Create new status category', command: 'prlt category create --type status --json' },
|
|
32
|
-
{ id: 'rename', name: 'Rename status category', command: 'prlt category rename --type status --json' },
|
|
33
|
-
{ id: 'delete', name: 'Delete status category', command: 'prlt category delete --type status --json' },
|
|
34
|
-
{ id: 'cancel', name: 'Cancel', command: '' },
|
|
35
|
-
];
|
|
36
|
-
const action = await this.selectFromList({
|
|
37
|
-
message: '📊 Status Categories - What would you like to do?',
|
|
38
|
-
items: menuChoices,
|
|
39
|
-
getName: (c) => c.name,
|
|
40
|
-
getValue: (c) => c.id,
|
|
41
|
-
getCommand: (c) => c.command,
|
|
42
|
-
jsonMode: jsonMode ? { flags, commandName: 'status category' } : null,
|
|
43
|
-
});
|
|
44
|
-
if (action === 'cancel' || !action) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
// Run the selected subcommand
|
|
48
|
-
switch (action) {
|
|
49
|
-
case 'list':
|
|
50
|
-
await this.config.runCommand('category:list', ['--type', 'status']);
|
|
51
|
-
break;
|
|
52
|
-
case 'create':
|
|
53
|
-
await this.config.runCommand('category:create', ['--type', 'status']);
|
|
54
|
-
break;
|
|
55
|
-
case 'rename':
|
|
56
|
-
await this.config.runCommand('category:rename', ['--type', 'status']);
|
|
57
|
-
break;
|
|
58
|
-
case 'delete':
|
|
59
|
-
await this.config.runCommand('category:delete', ['--type', 'status']);
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=category.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"category.js","sourceRoot":"","sources":["../../../src/commands/status/category.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { PMOCommand } from '../../lib/pmo/index.js';
|
|
2
|
-
export default class StatusCreate extends PMOCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static args: {
|
|
6
|
-
name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
7
|
-
};
|
|
8
|
-
static flags: {
|
|
9
|
-
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
category: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
color: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
-
description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
-
default: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
-
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
-
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
-
};
|
|
19
|
-
execute(): Promise<void>;
|
|
20
|
-
private getCategoryDescription;
|
|
21
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { Flags, Args } from '@oclif/core';
|
|
2
|
-
import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
|
|
3
|
-
import { styles } from '../../lib/styles.js';
|
|
4
|
-
import { STATE_CATEGORY_ORDER } from '../../lib/pmo/types.js';
|
|
5
|
-
import { FlagResolver, shouldOutputJson } from '../../lib/flags/index.js';
|
|
6
|
-
export default class StatusCreate extends PMOCommand {
|
|
7
|
-
static description = 'Create a new workflow status';
|
|
8
|
-
static examples = [
|
|
9
|
-
'<%= config.bin %> <%= command.id %> "In Review" --category started',
|
|
10
|
-
'<%= config.bin %> <%= command.id %> --name "Blocked" --category started --color "#EF4444"',
|
|
11
|
-
'<%= config.bin %> <%= command.id %> -i # Interactive mode',
|
|
12
|
-
];
|
|
13
|
-
static args = {
|
|
14
|
-
name: Args.string({
|
|
15
|
-
description: 'Status name',
|
|
16
|
-
required: false,
|
|
17
|
-
}),
|
|
18
|
-
};
|
|
19
|
-
static flags = {
|
|
20
|
-
...pmoBaseFlags,
|
|
21
|
-
name: Flags.string({
|
|
22
|
-
char: 'n',
|
|
23
|
-
description: 'Status name',
|
|
24
|
-
}),
|
|
25
|
-
category: Flags.string({
|
|
26
|
-
char: 'c',
|
|
27
|
-
description: 'Status category',
|
|
28
|
-
options: ['backlog', 'unstarted', 'started', 'completed', 'canceled'],
|
|
29
|
-
}),
|
|
30
|
-
color: Flags.string({
|
|
31
|
-
description: 'Hex color code (e.g., #FF0000)',
|
|
32
|
-
}),
|
|
33
|
-
description: Flags.string({
|
|
34
|
-
char: 'd',
|
|
35
|
-
description: 'Status description',
|
|
36
|
-
}),
|
|
37
|
-
default: Flags.boolean({
|
|
38
|
-
description: 'Set as default status for new tickets',
|
|
39
|
-
default: false,
|
|
40
|
-
}),
|
|
41
|
-
interactive: Flags.boolean({
|
|
42
|
-
char: 'i',
|
|
43
|
-
description: 'Interactive mode',
|
|
44
|
-
default: false,
|
|
45
|
-
}),
|
|
46
|
-
};
|
|
47
|
-
async execute() {
|
|
48
|
-
const { args, flags } = await this.parse(StatusCreate);
|
|
49
|
-
// Check if JSON output mode is active
|
|
50
|
-
const jsonMode = shouldOutputJson(flags);
|
|
51
|
-
// This command requires project context - get projectId (with JSON mode support)
|
|
52
|
-
const projectId = await this.requireProject({
|
|
53
|
-
jsonMode: jsonMode ? {
|
|
54
|
-
flags,
|
|
55
|
-
commandName: 'status create',
|
|
56
|
-
baseCommand: 'prlt status create',
|
|
57
|
-
} : undefined,
|
|
58
|
-
});
|
|
59
|
-
// Determine initial name from args or flags
|
|
60
|
-
const initialName = args.name || flags.name;
|
|
61
|
-
// Create FlagResolver for prompts
|
|
62
|
-
const resolver = new FlagResolver({
|
|
63
|
-
commandName: 'status create',
|
|
64
|
-
baseCommand: 'prlt status create',
|
|
65
|
-
jsonMode,
|
|
66
|
-
flags: { ...flags, name: initialName, category: flags.category },
|
|
67
|
-
context: { projectId },
|
|
68
|
-
});
|
|
69
|
-
// Add name prompt
|
|
70
|
-
resolver.addPrompt({
|
|
71
|
-
flagName: 'name',
|
|
72
|
-
type: 'input',
|
|
73
|
-
message: 'Status name:',
|
|
74
|
-
default: initialName,
|
|
75
|
-
validate: (value) => value.trim() ? true : 'Name cannot be empty',
|
|
76
|
-
when: (ctx) => !ctx.flags.name || flags.interactive,
|
|
77
|
-
});
|
|
78
|
-
// Add category prompt
|
|
79
|
-
resolver.addPrompt({
|
|
80
|
-
flagName: 'category',
|
|
81
|
-
type: 'list',
|
|
82
|
-
message: 'Category:',
|
|
83
|
-
choices: () => STATE_CATEGORY_ORDER.map(cat => ({
|
|
84
|
-
name: `${cat} - ${this.getCategoryDescription(cat)}`,
|
|
85
|
-
value: cat,
|
|
86
|
-
command: `prlt status create --category ${cat} --machine`,
|
|
87
|
-
})),
|
|
88
|
-
default: flags.category || 'backlog',
|
|
89
|
-
when: (ctx) => !ctx.flags.category || flags.interactive,
|
|
90
|
-
});
|
|
91
|
-
// Optional prompts - only shown in interactive mode
|
|
92
|
-
// In JSON/machine mode, optional fields should be passed as flags or omitted
|
|
93
|
-
if (flags.interactive) {
|
|
94
|
-
// Add color prompt
|
|
95
|
-
resolver.addPrompt({
|
|
96
|
-
flagName: 'color',
|
|
97
|
-
type: 'input',
|
|
98
|
-
message: 'Color (hex, optional):',
|
|
99
|
-
default: flags.color,
|
|
100
|
-
validate: (value) => {
|
|
101
|
-
const v = value;
|
|
102
|
-
if (!v)
|
|
103
|
-
return true;
|
|
104
|
-
return /^#[0-9A-Fa-f]{6}$/.test(v) || 'Invalid hex color (e.g., #FF0000)';
|
|
105
|
-
},
|
|
106
|
-
when: (ctx) => ctx.flags.color === undefined,
|
|
107
|
-
});
|
|
108
|
-
// Add description prompt
|
|
109
|
-
resolver.addPrompt({
|
|
110
|
-
flagName: 'description',
|
|
111
|
-
type: 'input',
|
|
112
|
-
message: 'Description (optional):',
|
|
113
|
-
default: flags.description,
|
|
114
|
-
when: (ctx) => ctx.flags.description === undefined,
|
|
115
|
-
});
|
|
116
|
-
// Add default prompt
|
|
117
|
-
resolver.addPrompt({
|
|
118
|
-
flagName: 'default',
|
|
119
|
-
type: 'list',
|
|
120
|
-
message: 'Set as default status for new tickets?',
|
|
121
|
-
choices: () => [
|
|
122
|
-
{ name: 'No', value: false, command: 'prlt status create --json' },
|
|
123
|
-
{ name: 'Yes', value: true, command: 'prlt status create --default --json' },
|
|
124
|
-
],
|
|
125
|
-
default: flags.default || false,
|
|
126
|
-
when: (ctx) => ctx.flags.default === undefined,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
// Resolve all flags
|
|
130
|
-
const resolved = await resolver.resolve();
|
|
131
|
-
const status = await this.storage.createStatus(projectId, {
|
|
132
|
-
name: resolved.name,
|
|
133
|
-
category: resolved.category,
|
|
134
|
-
color: resolved.color,
|
|
135
|
-
description: resolved.description,
|
|
136
|
-
isDefault: resolved.default,
|
|
137
|
-
});
|
|
138
|
-
const projectName = await this.getProjectName(projectId);
|
|
139
|
-
this.log(styles.success(`\nCreated status "${styles.emphasis(status.name)}"`));
|
|
140
|
-
this.log(styles.muted(` Category: ${status.category}`));
|
|
141
|
-
this.log(styles.muted(` Project: ${projectName}`));
|
|
142
|
-
if (status.color) {
|
|
143
|
-
this.log(styles.muted(` Color: ${status.color}`));
|
|
144
|
-
}
|
|
145
|
-
if (status.isDefault) {
|
|
146
|
-
this.log(styles.muted(` Default: yes`));
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
getCategoryDescription(category) {
|
|
150
|
-
const descriptions = {
|
|
151
|
-
triage: 'Inbox - needs review before entering workflow',
|
|
152
|
-
backlog: 'Not yet scheduled for work',
|
|
153
|
-
unstarted: 'Scheduled but work hasn\'t begun',
|
|
154
|
-
started: 'Work is actively in progress',
|
|
155
|
-
completed: 'Work finished successfully',
|
|
156
|
-
canceled: 'Work won\'t be done',
|
|
157
|
-
};
|
|
158
|
-
return descriptions[category];
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/status/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { PMOCommand } from '../../lib/pmo/index.js';
|
|
2
|
-
export default class StatusDelete extends PMOCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static args: {
|
|
6
|
-
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
-
};
|
|
8
|
-
static flags: {
|
|
9
|
-
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
-
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
};
|
|
13
|
-
execute(): Promise<void>;
|
|
14
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Flags, Args } from '@oclif/core';
|
|
2
|
-
import { PMOCommand, machineOutputFlags } from '../../lib/pmo/index.js';
|
|
3
|
-
import { styles } from '../../lib/styles.js';
|
|
4
|
-
import { FlagResolver, shouldOutputJson } from '../../lib/flags/index.js';
|
|
5
|
-
import { outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
|
|
6
|
-
export default class StatusDelete extends PMOCommand {
|
|
7
|
-
static description = 'Delete a workflow status';
|
|
8
|
-
static examples = [
|
|
9
|
-
'<%= config.bin %> <%= command.id %> my-project-blocked',
|
|
10
|
-
'<%= config.bin %> <%= command.id %> my-project-review --force',
|
|
11
|
-
];
|
|
12
|
-
static args = {
|
|
13
|
-
id: Args.string({
|
|
14
|
-
description: 'Status ID',
|
|
15
|
-
required: true,
|
|
16
|
-
}),
|
|
17
|
-
};
|
|
18
|
-
static flags = {
|
|
19
|
-
...machineOutputFlags,
|
|
20
|
-
force: Flags.boolean({
|
|
21
|
-
char: 'f',
|
|
22
|
-
description: 'Skip confirmation prompt',
|
|
23
|
-
default: false,
|
|
24
|
-
}),
|
|
25
|
-
};
|
|
26
|
-
async execute() {
|
|
27
|
-
const { args, flags } = await this.parse(StatusDelete);
|
|
28
|
-
// Check if JSON output mode is active
|
|
29
|
-
const jsonMode = shouldOutputJson(flags);
|
|
30
|
-
// Helper to handle errors in JSON mode
|
|
31
|
-
const handleError = (code, message) => {
|
|
32
|
-
if (jsonMode) {
|
|
33
|
-
outputErrorAsJson(code, message, createMetadata('status delete', flags));
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.error(message);
|
|
37
|
-
};
|
|
38
|
-
// Get existing status
|
|
39
|
-
const existing = await this.storage.getStatus(args.id);
|
|
40
|
-
if (!existing) {
|
|
41
|
-
return handleError('STATUS_NOT_FOUND', `Status not found: ${args.id}`);
|
|
42
|
-
}
|
|
43
|
-
// Confirm deletion if not forced
|
|
44
|
-
if (!flags.force) {
|
|
45
|
-
// Create FlagResolver for confirmation
|
|
46
|
-
const resolver = new FlagResolver({
|
|
47
|
-
commandName: 'status delete',
|
|
48
|
-
baseCommand: `prlt status delete ${args.id}`,
|
|
49
|
-
jsonMode,
|
|
50
|
-
flags: { ...flags, confirm: flags.force ? true : undefined },
|
|
51
|
-
context: { statusId: args.id, existing },
|
|
52
|
-
});
|
|
53
|
-
// Add confirmation prompt (use list instead of confirm per CLAUDE.md guidelines)
|
|
54
|
-
resolver.addPrompt({
|
|
55
|
-
flagName: 'confirm',
|
|
56
|
-
type: 'list',
|
|
57
|
-
message: `Delete status "${existing.name}" (${existing.category})?`,
|
|
58
|
-
choices: () => [
|
|
59
|
-
{ name: 'No, cancel', value: false, command: '' },
|
|
60
|
-
{ name: 'Yes, delete', value: true, command: `prlt status delete ${args.id} --force --machine` },
|
|
61
|
-
],
|
|
62
|
-
when: (ctx) => ctx.flags.confirm === undefined,
|
|
63
|
-
});
|
|
64
|
-
const resolved = await resolver.resolve();
|
|
65
|
-
if (!resolved.confirm) {
|
|
66
|
-
this.log(styles.muted('Cancelled'));
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
try {
|
|
71
|
-
await this.storage.deleteStatus(args.id);
|
|
72
|
-
this.log(styles.success(`Deleted status "${existing.name}"`));
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
if (error instanceof Error && error.message.includes('ticket(s) are using it')) {
|
|
76
|
-
if (jsonMode) {
|
|
77
|
-
outputErrorAsJson('STATUS_IN_USE', error.message + ' Move tickets to another status before deleting.', createMetadata('status delete', flags));
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
this.error(error.message + '\nMove tickets to another status before deleting.');
|
|
81
|
-
}
|
|
82
|
-
throw error;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/status/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PMOCommand } from '../../lib/pmo/index.js';
|
|
2
|
-
export default class Status extends PMOCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static aliases: string[];
|
|
5
|
-
static examples: string[];
|
|
6
|
-
static flags: {
|
|
7
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
};
|
|
11
|
-
protected getPMOOptions(): {
|
|
12
|
-
promptIfMultiple: boolean;
|
|
13
|
-
};
|
|
14
|
-
execute(): Promise<void>;
|
|
15
|
-
}
|