@proletariat/cli 0.3.33 → 0.3.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/action/create.d.ts +1 -0
- package/dist/commands/action/delete.d.ts +1 -0
- package/dist/commands/action/index.d.ts +1 -0
- package/dist/commands/action/list.d.ts +1 -0
- package/dist/commands/action/list.js +0 -6
- package/dist/commands/action/run.d.ts +1 -0
- package/dist/commands/action/show.d.ts +1 -0
- package/dist/commands/action/update.d.ts +1 -0
- package/dist/commands/agent/auth.d.ts +5 -2
- package/dist/commands/agent/auth.js +10 -17
- package/dist/commands/agent/cleanup.d.ts +2 -1
- package/dist/commands/agent/cleanup.js +0 -6
- package/dist/commands/agent/discover.d.ts +2 -1
- package/dist/commands/agent/discover.js +2 -6
- package/dist/commands/agent/index.d.ts +1 -0
- package/dist/commands/agent/index.js +11 -9
- package/dist/commands/agent/list.d.ts +1 -0
- package/dist/commands/agent/login.d.ts +1 -0
- package/dist/commands/agent/login.js +1 -7
- package/dist/commands/agent/rebuild.d.ts +2 -1
- package/dist/commands/agent/rebuild.js +0 -6
- package/dist/commands/agent/remove.d.ts +2 -1
- package/dist/commands/agent/remove.js +0 -6
- package/dist/commands/agent/restart.d.ts +1 -0
- package/dist/commands/agent/restart.js +1 -7
- package/dist/commands/agent/shell.d.ts +1 -0
- package/dist/commands/agent/shell.js +1 -7
- package/dist/commands/agent/staff/add.d.ts +1 -0
- package/dist/commands/agent/staff/add.js +1 -0
- package/dist/commands/agent/staff/index.d.ts +15 -0
- package/dist/commands/agent/staff/index.js +83 -0
- package/dist/commands/agent/staff/list.d.ts +1 -0
- package/dist/commands/agent/staff/list.js +1 -0
- package/dist/commands/agent/staff/remove.d.ts +1 -0
- package/dist/commands/agent/staff/remove.js +1 -0
- package/dist/commands/agent/status.d.ts +1 -0
- package/dist/commands/agent/status.js +1 -7
- package/dist/commands/agent/themes/add-names.d.ts +1 -0
- package/dist/commands/agent/themes/add-names.js +1 -0
- package/dist/commands/agent/themes/create.d.ts +1 -0
- package/dist/commands/agent/themes/create.js +1 -0
- package/dist/commands/agent/themes/index.d.ts +10 -0
- package/dist/commands/agent/themes/index.js +144 -0
- package/dist/commands/agent/themes/list.d.ts +1 -0
- package/dist/commands/agent/themes/list.js +1 -0
- package/dist/commands/agent/themes/set.d.ts +1 -0
- package/dist/commands/agent/themes/set.js +1 -0
- package/dist/commands/agent/visit.d.ts +1 -0
- package/dist/commands/agent/visit.js +1 -7
- package/dist/commands/agents/themes/add-names.d.ts +1 -0
- package/dist/commands/agents/themes/add-names.js +1 -0
- package/dist/commands/agents/themes/create.d.ts +1 -0
- package/dist/commands/agents/themes/create.js +1 -0
- package/dist/commands/agents/themes/list.d.ts +1 -0
- package/dist/commands/agents/themes/list.js +1 -0
- package/dist/commands/autocomplete/setup.d.ts +1 -0
- package/dist/commands/board/index.d.ts +1 -0
- package/dist/commands/board/view.d.ts +1 -0
- package/dist/commands/board/watch.d.ts +1 -0
- package/dist/commands/branch/create.d.ts +1 -0
- package/dist/commands/branch/create.js +0 -6
- package/dist/commands/branch/index.d.ts +1 -0
- package/dist/commands/branch/index.js +0 -7
- package/dist/commands/branch/list.d.ts +1 -0
- package/dist/commands/branch/validate.d.ts +1 -0
- package/dist/commands/branch/where.d.ts +1 -0
- package/dist/commands/branch/where.js +3 -9
- package/dist/commands/category/create.d.ts +1 -0
- package/dist/commands/category/delete.d.ts +1 -0
- package/dist/commands/category/index.d.ts +1 -0
- package/dist/commands/category/list.d.ts +1 -0
- package/dist/commands/category/list.js +2 -2
- package/dist/commands/category/rename.d.ts +1 -0
- package/dist/commands/claude.d.ts +2 -1
- package/dist/commands/claude.js +2 -6
- package/dist/commands/commit.d.ts +2 -1
- package/dist/commands/commit.js +2 -6
- package/dist/commands/config/index.d.ts +2 -1
- package/dist/commands/config/index.js +3 -7
- package/dist/commands/diet.d.ts +1 -0
- package/dist/commands/docker/clean.d.ts +1 -0
- package/dist/commands/docker/index.d.ts +1 -0
- package/dist/commands/docker/list.d.ts +1 -0
- package/dist/commands/docker/logs.d.ts +2 -0
- package/dist/commands/docker/logs.js +2 -0
- package/dist/commands/docker/prune.d.ts +1 -0
- package/dist/commands/docker/restart.d.ts +1 -0
- package/dist/commands/docker/shell.d.ts +2 -0
- package/dist/commands/docker/shell.js +2 -0
- package/dist/commands/docker/start.d.ts +2 -0
- package/dist/commands/docker/start.js +2 -0
- package/dist/commands/docker/status.d.ts +1 -0
- package/dist/commands/docker/stop.d.ts +1 -0
- package/dist/commands/epic/activate.d.ts +1 -0
- package/dist/commands/epic/activate.js +1 -7
- package/dist/commands/epic/archive.d.ts +2 -1
- package/dist/commands/epic/archive.js +0 -6
- package/dist/commands/epic/create.d.ts +2 -1
- package/dist/commands/epic/create.js +0 -6
- package/dist/commands/epic/delete.d.ts +1 -0
- package/dist/commands/epic/index.d.ts +1 -0
- package/dist/commands/epic/index.js +0 -7
- package/dist/commands/epic/list.d.ts +1 -0
- package/dist/commands/epic/move.d.ts +2 -1
- package/dist/commands/epic/move.js +0 -6
- package/dist/commands/epic/progress.d.ts +2 -1
- package/dist/commands/epic/progress.js +0 -6
- package/dist/commands/epic/project.d.ts +2 -1
- package/dist/commands/epic/project.js +0 -6
- package/dist/commands/epic/reorder.d.ts +1 -0
- package/dist/commands/epic/reorder.js +0 -6
- package/dist/commands/epic/spec.d.ts +2 -1
- package/dist/commands/epic/spec.js +0 -6
- package/dist/commands/epic/ticket.d.ts +2 -1
- package/dist/commands/epic/ticket.js +0 -6
- package/dist/commands/epic/view.d.ts +1 -0
- package/dist/commands/epic/view.js +1 -7
- package/dist/commands/execution/config.d.ts +2 -1
- package/dist/commands/execution/config.js +1 -7
- package/dist/commands/execution/index.d.ts +1 -0
- package/dist/commands/execution/index.js +1 -8
- package/dist/commands/execution/list.d.ts +1 -0
- package/dist/commands/execution/logs.d.ts +1 -0
- package/dist/commands/execution/logs.js +1 -7
- package/dist/commands/execution/stop.d.ts +1 -0
- package/dist/commands/execution/stop.js +1 -7
- package/dist/commands/execution/view.d.ts +1 -0
- package/dist/commands/execution/view.js +2 -8
- package/dist/commands/feedback/index.d.ts +1 -0
- package/dist/commands/feedback/list.d.ts +1 -0
- package/dist/commands/feedback/submit.d.ts +1 -0
- package/dist/commands/feedback/view.d.ts +1 -0
- package/dist/commands/gh/index.d.ts +1 -0
- package/dist/commands/gh/login.d.ts +1 -0
- package/dist/commands/gh/status.d.ts +1 -0
- package/dist/commands/gh/token.d.ts +1 -0
- package/dist/commands/init.d.ts +2 -1
- package/dist/commands/init.js +3 -8
- package/dist/commands/label/create.d.ts +20 -0
- package/dist/commands/label/create.js +56 -0
- package/dist/commands/label/delete.d.ts +17 -0
- package/dist/commands/label/delete.js +31 -0
- package/dist/commands/label/group/create.d.ts +20 -0
- package/dist/commands/label/group/create.js +54 -0
- package/dist/commands/label/group/list.d.ts +14 -0
- package/dist/commands/label/group/list.js +51 -0
- package/dist/commands/label/index.d.ts +15 -0
- package/dist/commands/label/index.js +58 -0
- package/dist/commands/label/list.d.ts +16 -0
- package/dist/commands/label/list.js +82 -0
- package/dist/commands/link/create.d.ts +1 -0
- package/dist/commands/link/create.js +0 -6
- package/dist/commands/link/index.d.ts +1 -0
- package/dist/commands/link/index.js +1 -7
- package/dist/commands/link/list.d.ts +1 -0
- package/dist/commands/link/list.js +3 -8
- package/dist/commands/link/remove.d.ts +1 -0
- package/dist/commands/link/remove.js +0 -6
- package/dist/commands/mcp-server.js +2 -1
- package/dist/commands/phase/create.d.ts +1 -0
- package/dist/commands/phase/create.js +1 -1
- package/dist/commands/phase/delete.d.ts +1 -0
- package/dist/commands/phase/delete.js +1 -1
- package/dist/commands/phase/list.d.ts +1 -0
- package/dist/commands/phase/move.d.ts +1 -0
- package/dist/commands/phase/move.js +2 -2
- package/dist/commands/phase/template/apply.d.ts +26 -0
- package/dist/commands/phase/template/apply.js +14 -0
- package/dist/commands/phase/template/create.d.ts +23 -0
- package/dist/commands/phase/template/create.js +14 -0
- package/dist/commands/phase/template/delete.d.ts +18 -0
- package/dist/commands/phase/template/delete.js +61 -0
- package/dist/commands/phase/template/list.d.ts +17 -0
- package/dist/commands/phase/template/list.js +88 -0
- package/dist/commands/phase/template/update.d.ts +1 -0
- package/dist/commands/phase/template/update.js +1 -0
- package/dist/commands/phase/update.d.ts +1 -0
- package/dist/commands/phase/update.js +2 -2
- package/dist/commands/pmo/init.d.ts +4 -3
- package/dist/commands/pmo/init.js +2 -7
- package/dist/commands/pr/create.d.ts +1 -0
- package/dist/commands/pr/index.d.ts +1 -0
- package/dist/commands/pr/link.d.ts +1 -0
- package/dist/commands/pr/list.d.ts +1 -0
- package/dist/commands/pr/status.d.ts +1 -0
- package/dist/commands/priority/add.d.ts +1 -0
- package/dist/commands/priority/add.js +1 -1
- package/dist/commands/priority/list.d.ts +1 -0
- package/dist/commands/priority/remove.d.ts +1 -0
- package/dist/commands/priority/set.d.ts +1 -0
- package/dist/commands/project/archive.d.ts +1 -0
- package/dist/commands/project/create.d.ts +1 -0
- package/dist/commands/project/delete.d.ts +1 -0
- package/dist/commands/project/index.d.ts +1 -0
- package/dist/commands/project/list.d.ts +1 -0
- package/dist/commands/project/spec.d.ts +1 -0
- package/dist/commands/project/unarchive.d.ts +1 -0
- package/dist/commands/project/update.d.ts +1 -0
- package/dist/commands/project/update.js +0 -2
- package/dist/commands/project/view.d.ts +1 -0
- package/dist/commands/pull.d.ts +1 -0
- package/dist/commands/repo/add.d.ts +1 -0
- package/dist/commands/repo/add.js +0 -6
- package/dist/commands/repo/create.d.ts +1 -0
- package/dist/commands/repo/index.d.ts +1 -0
- package/dist/commands/repo/list.d.ts +1 -0
- package/dist/commands/repo/remove.d.ts +1 -0
- package/dist/commands/repo/view.d.ts +1 -0
- package/dist/commands/roadmap/add-project.d.ts +1 -0
- package/dist/commands/roadmap/add-project.js +0 -6
- package/dist/commands/roadmap/create.d.ts +1 -0
- package/dist/commands/roadmap/create.js +0 -6
- package/dist/commands/roadmap/delete.d.ts +1 -0
- package/dist/commands/roadmap/delete.js +0 -6
- package/dist/commands/roadmap/generate.d.ts +1 -0
- package/dist/commands/roadmap/generate.js +1 -8
- package/dist/commands/roadmap/index.d.ts +1 -0
- package/dist/commands/roadmap/index.js +0 -7
- package/dist/commands/roadmap/list.d.ts +1 -0
- package/dist/commands/roadmap/remove-project.d.ts +1 -0
- package/dist/commands/roadmap/remove-project.js +0 -6
- package/dist/commands/roadmap/reorder.d.ts +1 -0
- package/dist/commands/roadmap/reorder.js +0 -6
- package/dist/commands/roadmap/update.d.ts +1 -0
- package/dist/commands/roadmap/update.js +0 -6
- package/dist/commands/roadmap/view.d.ts +1 -0
- package/dist/commands/roadmap/view.js +1 -7
- package/dist/commands/session/attach.d.ts +2 -1
- package/dist/commands/session/attach.js +0 -6
- package/dist/commands/session/health.d.ts +1 -0
- package/dist/commands/session/health.js +1 -1
- package/dist/commands/session/index.d.ts +1 -0
- package/dist/commands/session/index.js +0 -7
- package/dist/commands/session/list.d.ts +1 -0
- package/dist/commands/spec/create.d.ts +1 -0
- package/dist/commands/spec/delete.d.ts +1 -0
- package/dist/commands/spec/edit.d.ts +1 -0
- package/dist/commands/spec/index.d.ts +1 -0
- package/dist/commands/spec/link/depends.d.ts +18 -0
- package/dist/commands/spec/link/depends.js +86 -0
- package/dist/commands/spec/link/index.d.ts +17 -0
- package/dist/commands/spec/link/index.js +92 -0
- package/dist/commands/spec/link/remove.d.ts +18 -0
- package/dist/commands/spec/link/remove.js +90 -0
- package/dist/commands/spec/list.d.ts +1 -0
- package/dist/commands/spec/plan.d.ts +1 -0
- package/dist/commands/spec/ticket.d.ts +1 -0
- package/dist/commands/spec/view.d.ts +1 -0
- package/dist/commands/staff/add.d.ts +3 -2
- package/dist/commands/staff/add.js +2 -6
- package/dist/commands/staff/index.d.ts +2 -1
- package/dist/commands/staff/index.js +0 -6
- package/dist/commands/staff/list.d.ts +1 -0
- package/dist/commands/staff/remove.d.ts +2 -1
- package/dist/commands/staff/remove.js +0 -6
- package/dist/commands/status/category.d.ts +1 -0
- package/dist/commands/status/create.d.ts +1 -0
- package/dist/commands/status/delete.d.ts +1 -0
- package/dist/commands/status/index.d.ts +1 -0
- package/dist/commands/status/list.d.ts +1 -0
- package/dist/commands/status/move.d.ts +1 -0
- package/dist/commands/status/update.d.ts +1 -0
- package/dist/commands/support/book.d.ts +1 -0
- package/dist/commands/support/discord.d.ts +1 -0
- package/dist/commands/support/docs.d.ts +1 -0
- package/dist/commands/support/index.d.ts +1 -0
- package/dist/commands/support/issues.d.ts +1 -0
- package/dist/commands/support/logs.d.ts +1 -0
- package/dist/commands/support/logs.js +2 -2
- package/dist/commands/template/apply.d.ts +1 -0
- package/dist/commands/template/apply.js +5 -10
- package/dist/commands/template/create.d.ts +1 -0
- package/dist/commands/template/create.js +1 -7
- package/dist/commands/template/delete.d.ts +1 -0
- package/dist/commands/template/delete.js +0 -6
- package/dist/commands/template/index.d.ts +1 -0
- package/dist/commands/template/index.js +2 -7
- package/dist/commands/template/list.d.ts +1 -0
- package/dist/commands/template/list.js +1 -7
- package/dist/commands/template/save.d.ts +1 -0
- package/dist/commands/template/save.js +0 -6
- package/dist/commands/template/update.d.ts +1 -0
- package/dist/commands/template/update.js +0 -6
- package/dist/commands/terminal/title.d.ts +1 -0
- package/dist/commands/theme/index.d.ts +1 -0
- package/dist/commands/theme/index.js +2 -7
- package/dist/commands/theme/list.d.ts +1 -0
- package/dist/commands/theme/set.d.ts +1 -0
- package/dist/commands/theme/set.js +3 -7
- package/dist/commands/ticket/bulk.d.ts +1 -0
- package/dist/commands/ticket/bulk.js +0 -7
- package/dist/commands/ticket/category.d.ts +1 -0
- package/dist/commands/ticket/complete.d.ts +2 -1
- package/dist/commands/ticket/complete.js +2 -8
- package/dist/commands/ticket/create.d.ts +2 -1
- package/dist/commands/ticket/create.js +0 -6
- package/dist/commands/ticket/delete.d.ts +2 -1
- package/dist/commands/ticket/delete.js +0 -6
- package/dist/commands/ticket/edit.d.ts +1 -0
- package/dist/commands/ticket/edit.js +0 -6
- package/dist/commands/ticket/epic.d.ts +2 -1
- package/dist/commands/ticket/epic.js +0 -6
- package/dist/commands/ticket/index.d.ts +1 -0
- package/dist/commands/ticket/index.js +6 -9
- package/dist/commands/ticket/link/block.d.ts +15 -0
- package/dist/commands/ticket/link/block.js +95 -0
- package/dist/commands/ticket/link/index.d.ts +14 -0
- package/dist/commands/ticket/link/index.js +96 -0
- package/dist/commands/ticket/list.d.ts +2 -0
- package/dist/commands/ticket/list.js +6 -0
- package/dist/commands/ticket/move.d.ts +2 -1
- package/dist/commands/ticket/move.js +2 -8
- package/dist/commands/ticket/project.d.ts +2 -1
- package/dist/commands/ticket/project.js +0 -6
- package/dist/commands/ticket/reassign.d.ts +2 -1
- package/dist/commands/ticket/reassign.js +0 -6
- package/dist/commands/ticket/resolve.d.ts +68 -0
- package/dist/commands/ticket/resolve.js +294 -0
- package/dist/commands/ticket/spec.d.ts +2 -1
- package/dist/commands/ticket/spec.js +0 -6
- package/dist/commands/ticket/status.d.ts +1 -0
- package/dist/commands/ticket/status.js +1 -7
- package/dist/commands/ticket/template/apply.d.ts +26 -0
- package/dist/commands/ticket/template/apply.js +14 -0
- package/dist/commands/ticket/template/delete.d.ts +18 -0
- package/dist/commands/ticket/template/delete.js +61 -0
- package/dist/commands/ticket/template/list.d.ts +17 -0
- package/dist/commands/ticket/template/list.js +77 -0
- package/dist/commands/ticket/template/save.d.ts +17 -0
- package/dist/commands/ticket/template/save.js +97 -0
- package/dist/commands/ticket/update.d.ts +2 -1
- package/dist/commands/ticket/update.js +0 -6
- package/dist/commands/ticket/view.d.ts +2 -0
- package/dist/commands/ticket/view.js +2 -7
- package/dist/commands/whoami.d.ts +1 -0
- package/dist/commands/work/complete.d.ts +1 -0
- package/dist/commands/work/complete.js +1 -7
- package/dist/commands/work/index.d.ts +1 -0
- package/dist/commands/work/index.js +4 -7
- package/dist/commands/work/ready.d.ts +2 -1
- package/dist/commands/work/ready.js +38 -14
- package/dist/commands/work/resolve.d.ts +15 -0
- package/dist/commands/work/resolve.js +76 -0
- package/dist/commands/work/revise.d.ts +2 -1
- package/dist/commands/work/revise.js +0 -6
- package/dist/commands/work/spawn-all.d.ts +2 -1
- package/dist/commands/work/spawn-all.js +2 -6
- package/dist/commands/work/spawn.d.ts +2 -1
- package/dist/commands/work/spawn.js +4 -10
- package/dist/commands/work/start.d.ts +3 -1
- package/dist/commands/work/start.js +52 -23
- package/dist/commands/work/watch.d.ts +2 -1
- package/dist/commands/work/watch.js +0 -6
- package/dist/commands/workflow/create.d.ts +1 -0
- package/dist/commands/workflow/delete.d.ts +1 -0
- package/dist/commands/workflow/index.d.ts +1 -0
- package/dist/commands/workflow/index.js +1 -7
- package/dist/commands/workflow/list.d.ts +1 -0
- package/dist/commands/workflow/switch.d.ts +1 -0
- package/dist/commands/workflow/view.d.ts +1 -0
- package/dist/commands/workspace/add.d.ts +2 -0
- package/dist/commands/workspace/add.js +2 -0
- package/dist/commands/workspace/list.d.ts +1 -0
- package/dist/commands/workspace/list.js +4 -8
- package/dist/commands/workspace/prune.d.ts +1 -0
- package/dist/commands/workspace/prune.js +4 -6
- package/dist/commands/workspace/remove.d.ts +1 -0
- package/dist/commands/workspace/remove.js +3 -7
- package/dist/commands/workspace/use.d.ts +1 -0
- package/dist/commands/workspace/use.js +3 -7
- package/dist/lib/database/drizzle-schema.d.ts +1 -1
- package/dist/lib/database/index.d.ts +1 -1
- package/dist/lib/database/index.js +20 -0
- package/dist/lib/execution/devcontainer.js +3 -1
- package/dist/lib/execution/runners.d.ts +7 -2
- package/dist/lib/execution/runners.js +18 -10
- package/dist/lib/execution/types.d.ts +1 -0
- package/dist/lib/flags/resolver.js +1 -0
- package/dist/lib/mcp/helpers.d.ts +1 -2
- package/dist/lib/mcp/tools/diet.js +1 -0
- package/dist/lib/mcp/tools/index.d.ts +1 -0
- package/dist/lib/mcp/tools/index.js +1 -0
- package/dist/lib/mcp/tools/label.d.ts +6 -0
- package/dist/lib/mcp/tools/label.js +338 -0
- package/dist/lib/mcp/tools/ticket.js +53 -17
- package/dist/lib/multiline-input.js +6 -18
- package/dist/lib/pmo/base-command.d.ts +4 -2
- package/dist/lib/pmo/base-command.js +9 -4
- package/dist/lib/pmo/schema.d.ts +6 -0
- package/dist/lib/pmo/schema.js +44 -0
- package/dist/lib/pmo/storage/base.d.ts +6 -0
- package/dist/lib/pmo/storage/base.js +185 -7
- package/dist/lib/pmo/storage/index.d.ts +23 -1
- package/dist/lib/pmo/storage/index.js +59 -1
- package/dist/lib/pmo/storage/labels.d.ts +55 -0
- package/dist/lib/pmo/storage/labels.js +346 -0
- package/dist/lib/pmo/storage/tickets.js +17 -0
- package/dist/lib/pmo/storage/types.d.ts +24 -0
- package/dist/lib/pmo/types.d.ts +44 -0
- package/dist/lib/pmo/utils.js +1 -1
- package/dist/lib/prompt-json.d.ts +5 -2
- package/dist/lib/prompt-json.js +4 -4
- package/oclif.manifest.json +6571 -3748
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ export default class ActionCreate extends PMOCommand {
|
|
|
12
12
|
'move-to': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
13
|
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
17
|
};
|
|
17
18
|
protected getPMOOptions(): {
|
|
@@ -8,6 +8,7 @@ export default class ActionDelete extends PMOCommand {
|
|
|
8
8
|
static flags: {
|
|
9
9
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
};
|
|
13
14
|
protected getPMOOptions(): {
|
|
@@ -5,6 +5,7 @@ export default class Action extends PMOCommand {
|
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static flags: {
|
|
7
7
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
9
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
10
|
};
|
|
10
11
|
protected getPMOOptions(): {
|
|
@@ -7,6 +7,7 @@ export default class ActionList extends PMOCommand {
|
|
|
7
7
|
custom: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
8
|
'suggested-for': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
execute(): Promise<void>;
|
|
@@ -24,12 +24,6 @@ export default class ActionList extends PMOCommand {
|
|
|
24
24
|
description: 'Filter to actions suggested for a category',
|
|
25
25
|
options: ['backlog', 'unstarted', 'started', 'completed', 'canceled'],
|
|
26
26
|
}),
|
|
27
|
-
json: Flags.boolean({
|
|
28
|
-
char: 'm',
|
|
29
|
-
aliases: ['machine'],
|
|
30
|
-
description: 'Output as JSON',
|
|
31
|
-
default: false,
|
|
32
|
-
}),
|
|
33
27
|
};
|
|
34
28
|
async execute() {
|
|
35
29
|
const { flags } = await this.parse(ActionList);
|
|
@@ -13,6 +13,7 @@ export default class ActionRun extends PMOCommand {
|
|
|
13
13
|
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
17
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
18
|
};
|
|
18
19
|
execute(): Promise<void>;
|
|
@@ -7,6 +7,7 @@ export default class ActionShow extends PMOCommand {
|
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
9
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
protected getPMOOptions(): {
|
|
@@ -13,6 +13,7 @@ export default class ActionUpdate extends PMOCommand {
|
|
|
13
13
|
'move-to': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
14
|
interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
17
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
18
|
};
|
|
18
19
|
protected getPMOOptions(): {
|
|
@@ -3,9 +3,10 @@ export default class Auth extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
6
8
|
check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
9
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
10
|
};
|
|
10
11
|
/**
|
|
11
12
|
* Check if the claude-credentials volume exists
|
|
@@ -16,7 +17,9 @@ export default class Auth extends Command {
|
|
|
16
17
|
*/
|
|
17
18
|
private createVolume;
|
|
18
19
|
/**
|
|
19
|
-
* Check if valid credentials exist in the volume
|
|
20
|
+
* Check if valid credentials exist in the volume.
|
|
21
|
+
* Don't check expiration - access tokens are short-lived but Claude Code
|
|
22
|
+
* handles token refresh internally using stored refresh tokens.
|
|
20
23
|
*/
|
|
21
24
|
private credentialsExist;
|
|
22
25
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
2
|
import { execSync, spawnSync } from 'node:child_process';
|
|
3
3
|
import { colors } from '../../lib/colors.js';
|
|
4
|
+
import { machineOutputFlags } from '../../lib/pmo/index.js';
|
|
4
5
|
import { isDockerRunning } from '../../lib/execution/runners.js';
|
|
5
6
|
import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
|
|
6
7
|
const CLAUDE_CREDENTIALS_VOLUME = 'claude-credentials';
|
|
@@ -20,12 +21,7 @@ export default class Auth extends Command {
|
|
|
20
21
|
description: 'Force re-authentication even if credentials exist',
|
|
21
22
|
default: false,
|
|
22
23
|
}),
|
|
23
|
-
|
|
24
|
-
char: 'm',
|
|
25
|
-
aliases: ['machine'],
|
|
26
|
-
description: 'Output status as JSON',
|
|
27
|
-
default: false,
|
|
28
|
-
}),
|
|
24
|
+
...machineOutputFlags,
|
|
29
25
|
};
|
|
30
26
|
/**
|
|
31
27
|
* Check if the claude-credentials volume exists
|
|
@@ -51,19 +47,16 @@ export default class Auth extends Command {
|
|
|
51
47
|
}
|
|
52
48
|
}
|
|
53
49
|
/**
|
|
54
|
-
* Check if valid credentials exist in the volume
|
|
50
|
+
* Check if valid credentials exist in the volume.
|
|
51
|
+
* Don't check expiration - access tokens are short-lived but Claude Code
|
|
52
|
+
* handles token refresh internally using stored refresh tokens.
|
|
55
53
|
*/
|
|
56
54
|
credentialsExist() {
|
|
57
55
|
try {
|
|
58
56
|
const result = execSync(`docker run --rm -v ${CLAUDE_CREDENTIALS_VOLUME}:/data alpine cat /data/.credentials.json 2>/dev/null`, { stdio: 'pipe', encoding: 'utf-8' });
|
|
59
|
-
// Parse and validate the credentials
|
|
60
57
|
const creds = JSON.parse(result);
|
|
61
|
-
if (creds.claudeAiOauth?.accessToken
|
|
62
|
-
|
|
63
|
-
const expiresAt = creds.claudeAiOauth.expiresAt;
|
|
64
|
-
if (expiresAt > Date.now()) {
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
58
|
+
if (creds.claudeAiOauth?.accessToken) {
|
|
59
|
+
return true;
|
|
67
60
|
}
|
|
68
61
|
return false;
|
|
69
62
|
}
|
|
@@ -97,8 +90,7 @@ export default class Auth extends Command {
|
|
|
97
90
|
this.log(colors.primary('🔐 Starting Claude Code authentication...'));
|
|
98
91
|
this.log('');
|
|
99
92
|
this.log(colors.text('A temporary container will start with Claude Code.'));
|
|
100
|
-
this.log(colors.text('
|
|
101
|
-
this.log(colors.text('Then complete the browser authentication.'));
|
|
93
|
+
this.log(colors.text('Complete the browser authentication when prompted.'));
|
|
102
94
|
this.log('');
|
|
103
95
|
this.log(colors.textSecondary('Press Ctrl+C to cancel.'));
|
|
104
96
|
this.log('');
|
|
@@ -112,7 +104,8 @@ export default class Auth extends Command {
|
|
|
112
104
|
'node:20',
|
|
113
105
|
'bash', '-c',
|
|
114
106
|
// Install as root, then run claude as node user (so credentials have correct ownership)
|
|
115
|
-
|
|
107
|
+
// Pass "/login" as initial prompt so user doesn't have to type it manually
|
|
108
|
+
'npm install -g @anthropic-ai/claude-code@latest --silent 2>/dev/null && chown -R node:node /home/node/.claude && su -s /bin/bash -c "HOME=/home/node CLAUDE_CONFIG_DIR=/home/node/.claude claude \\"/login\\"" node'
|
|
116
109
|
], { stdio: 'inherit' });
|
|
117
110
|
return result.status === 0;
|
|
118
111
|
}
|
|
@@ -12,8 +12,9 @@ export default class Cleanup extends PMOCommand {
|
|
|
12
12
|
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
push: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
15
|
'no-interactive': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
18
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
19
|
};
|
|
19
20
|
protected getPMOOptions(): {
|
|
@@ -47,12 +47,6 @@ export default class Cleanup extends PMOCommand {
|
|
|
47
47
|
description: 'Push unpushed commits before cleanup',
|
|
48
48
|
default: false,
|
|
49
49
|
}),
|
|
50
|
-
json: Flags.boolean({
|
|
51
|
-
char: 'm',
|
|
52
|
-
aliases: ['machine'],
|
|
53
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
54
|
-
default: false,
|
|
55
|
-
}),
|
|
56
50
|
'no-interactive': Flags.boolean({
|
|
57
51
|
description: 'Alias for --json flag',
|
|
58
52
|
default: false,
|
|
@@ -3,8 +3,9 @@ export default class Discover extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
6
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
9
|
};
|
|
9
10
|
run(): Promise<void>;
|
|
10
11
|
}
|
|
@@ -2,6 +2,7 @@ import { Command, Flags } from '@oclif/core';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { getWorkspaceInfo } from '../../lib/agents/commands.js';
|
|
4
4
|
import { discoverAgentsOnDisk } from '../../lib/database/index.js';
|
|
5
|
+
import { machineOutputFlags } from '../../lib/pmo/index.js';
|
|
5
6
|
import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
|
|
6
7
|
export default class Discover extends Command {
|
|
7
8
|
static description = 'Discover agents on disk that are not registered in the database';
|
|
@@ -14,12 +15,7 @@ export default class Discover extends Command {
|
|
|
14
15
|
description: 'Show what would be discovered without making changes',
|
|
15
16
|
default: false,
|
|
16
17
|
}),
|
|
17
|
-
|
|
18
|
-
char: 'm',
|
|
19
|
-
aliases: ['machine'],
|
|
20
|
-
description: 'Output discovery results as JSON',
|
|
21
|
-
default: false,
|
|
22
|
-
}),
|
|
18
|
+
...machineOutputFlags,
|
|
23
19
|
};
|
|
24
20
|
async run() {
|
|
25
21
|
const { flags } = await this.parse(Discover);
|
|
@@ -4,6 +4,7 @@ export default class Agent extends PMOCommand {
|
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
6
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
8
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
9
|
};
|
|
9
10
|
protected getPMOOptions(): {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Flags } from '@oclif/core';
|
|
2
1
|
import { colors } from '../../lib/colors.js';
|
|
3
2
|
import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
|
|
4
3
|
import { shouldOutputJson } from '../../lib/prompt-json.js';
|
|
@@ -18,12 +17,6 @@ export default class Agent extends PMOCommand {
|
|
|
18
17
|
];
|
|
19
18
|
static flags = {
|
|
20
19
|
...pmoBaseFlags,
|
|
21
|
-
json: Flags.boolean({
|
|
22
|
-
char: 'm',
|
|
23
|
-
aliases: ['machine'],
|
|
24
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
25
|
-
default: false,
|
|
26
|
-
}),
|
|
27
20
|
};
|
|
28
21
|
getPMOOptions() {
|
|
29
22
|
return { promptIfMultiple: false };
|
|
@@ -52,6 +45,7 @@ export default class Agent extends PMOCommand {
|
|
|
52
45
|
{ name: '🗑️ Remove agent', value: 'remove', command: 'prlt agent remove --machine' },
|
|
53
46
|
// Management group
|
|
54
47
|
{ name: '👔 Manage staff agents', value: 'staff', command: 'prlt agent staff --machine' },
|
|
48
|
+
{ name: '⏱️ Manage temp agents', value: 'temp', command: 'prlt agent temp --machine' },
|
|
55
49
|
{ name: '🧹 Cleanup agents', value: 'cleanup', command: 'prlt agent cleanup --machine' },
|
|
56
50
|
{ name: '🎨 Manage themes', value: 'themes', command: 'prlt agent themes --machine' },
|
|
57
51
|
// Operations group
|
|
@@ -96,11 +90,19 @@ export default class Agent extends PMOCommand {
|
|
|
96
90
|
break;
|
|
97
91
|
}
|
|
98
92
|
case 'staff': {
|
|
99
|
-
const { default: StaffCommand } = await import('
|
|
93
|
+
const { default: StaffCommand } = await import('./staff/index.js');
|
|
100
94
|
const cmd = new StaffCommand([], this.config);
|
|
101
95
|
await cmd.run();
|
|
102
96
|
break;
|
|
103
97
|
}
|
|
98
|
+
case 'temp': {
|
|
99
|
+
// @ts-expect-error -- temp subcommand not yet implemented
|
|
100
|
+
// eslint-disable-next-line import/no-unresolved -- temp subcommand not yet implemented
|
|
101
|
+
const { default: TempCommand } = await import('./temp/index.js');
|
|
102
|
+
const cmd = new TempCommand([], this.config);
|
|
103
|
+
await cmd.run();
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
104
106
|
case 'cleanup': {
|
|
105
107
|
const { default: CleanupCommand } = await import('./cleanup.js');
|
|
106
108
|
const cmd = new CleanupCommand([], this.config);
|
|
@@ -108,7 +110,7 @@ export default class Agent extends PMOCommand {
|
|
|
108
110
|
break;
|
|
109
111
|
}
|
|
110
112
|
case 'themes': {
|
|
111
|
-
const { default: ThemeCommand } = await import('
|
|
113
|
+
const { default: ThemeCommand } = await import('./themes/index.js');
|
|
112
114
|
const cmd = new ThemeCommand([], this.config);
|
|
113
115
|
await cmd.run();
|
|
114
116
|
break;
|
|
@@ -5,6 +5,7 @@ export default class List extends PMOCommand {
|
|
|
5
5
|
static flags: {
|
|
6
6
|
type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
7
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
9
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
10
|
};
|
|
10
11
|
protected getPMOOptions(): {
|
|
@@ -7,6 +7,7 @@ export default class Login extends PMOCommand {
|
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
9
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
protected getPMOOptions(): {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Args
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import * as fs from 'node:fs';
|
|
4
4
|
import { execSync } from 'node:child_process';
|
|
@@ -21,12 +21,6 @@ export default class Login extends PMOCommand {
|
|
|
21
21
|
};
|
|
22
22
|
static flags = {
|
|
23
23
|
...pmoBaseFlags,
|
|
24
|
-
json: Flags.boolean({
|
|
25
|
-
char: 'm',
|
|
26
|
-
aliases: ['machine'],
|
|
27
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
28
|
-
default: false,
|
|
29
|
-
}),
|
|
30
24
|
};
|
|
31
25
|
getPMOOptions() {
|
|
32
26
|
return { promptIfMultiple: false };
|
|
@@ -6,8 +6,9 @@ export default class AgentRebuild extends PMOCommand {
|
|
|
6
6
|
name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
9
|
'no-cache': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
};
|
|
13
14
|
protected getPMOOptions(): {
|
|
@@ -25,12 +25,6 @@ export default class AgentRebuild extends PMOCommand {
|
|
|
25
25
|
};
|
|
26
26
|
static flags = {
|
|
27
27
|
...pmoBaseFlags,
|
|
28
|
-
json: Flags.boolean({
|
|
29
|
-
char: 'm',
|
|
30
|
-
aliases: ['machine'],
|
|
31
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
32
|
-
default: false,
|
|
33
|
-
}),
|
|
34
28
|
'no-cache': Flags.boolean({
|
|
35
29
|
description: 'Build without using cache',
|
|
36
30
|
default: false,
|
|
@@ -6,8 +6,9 @@ export default class Remove extends PMOCommand {
|
|
|
6
6
|
name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
-
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
9
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
};
|
|
13
14
|
protected getPMOOptions(): {
|
|
@@ -18,12 +18,6 @@ export default class Remove extends PMOCommand {
|
|
|
18
18
|
};
|
|
19
19
|
static flags = {
|
|
20
20
|
...pmoBaseFlags,
|
|
21
|
-
json: Flags.boolean({
|
|
22
|
-
char: 'm',
|
|
23
|
-
aliases: ['machine'],
|
|
24
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
25
|
-
default: false,
|
|
26
|
-
}),
|
|
27
21
|
force: Flags.boolean({
|
|
28
22
|
char: 'f',
|
|
29
23
|
description: 'Skip confirmation prompt (for non-interactive use)',
|
|
@@ -7,6 +7,7 @@ export default class AgentRestart extends PMOCommand {
|
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
9
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
protected getPMOOptions(): {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Args
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
2
|
import { exec } from 'node:child_process';
|
|
3
3
|
import { promisify } from 'node:util';
|
|
4
4
|
import * as path from 'node:path';
|
|
@@ -24,12 +24,6 @@ export default class AgentRestart extends PMOCommand {
|
|
|
24
24
|
};
|
|
25
25
|
static flags = {
|
|
26
26
|
...pmoBaseFlags,
|
|
27
|
-
json: Flags.boolean({
|
|
28
|
-
char: 'm',
|
|
29
|
-
aliases: ['machine'],
|
|
30
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
31
|
-
default: false,
|
|
32
|
-
}),
|
|
33
27
|
};
|
|
34
28
|
getPMOOptions() {
|
|
35
29
|
return { promptIfMultiple: false };
|
|
@@ -7,6 +7,7 @@ export default class Shell extends PMOCommand {
|
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
9
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
protected getPMOOptions(): {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Args
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import * as fs from 'node:fs';
|
|
4
4
|
import { execSync, spawn } from 'node:child_process';
|
|
@@ -24,12 +24,6 @@ export default class Shell extends PMOCommand {
|
|
|
24
24
|
};
|
|
25
25
|
static flags = {
|
|
26
26
|
...pmoBaseFlags,
|
|
27
|
-
json: Flags.boolean({
|
|
28
|
-
char: 'm',
|
|
29
|
-
aliases: ['machine'],
|
|
30
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
31
|
-
default: false,
|
|
32
|
-
}),
|
|
33
27
|
};
|
|
34
28
|
getPMOOptions() {
|
|
35
29
|
return { promptIfMultiple: false };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../staff/add.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../staff/add.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PMOCommand } from '../../../lib/pmo/index.js';
|
|
2
|
+
export default class AgentStaff extends PMOCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
'no-interactive': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
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
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import inquirer from 'inquirer';
|
|
3
|
+
import { colors } from '../../../lib/colors.js';
|
|
4
|
+
import { PMOCommand, pmoBaseFlags } from '../../../lib/pmo/index.js';
|
|
5
|
+
import { shouldOutputJson, outputPromptAsJson, createMetadata, buildPromptConfig, } from '../../../lib/prompt-json.js';
|
|
6
|
+
export default class AgentStaff extends PMOCommand {
|
|
7
|
+
static description = 'Manage staff (persistent) agents';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> <%= command.id %> list',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> add',
|
|
11
|
+
'<%= config.bin %> <%= command.id %> remove camry',
|
|
12
|
+
];
|
|
13
|
+
static flags = {
|
|
14
|
+
...pmoBaseFlags,
|
|
15
|
+
'no-interactive': Flags.boolean({
|
|
16
|
+
description: 'Alias for --json flag',
|
|
17
|
+
default: false,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
getPMOOptions() {
|
|
21
|
+
return { promptIfMultiple: false };
|
|
22
|
+
}
|
|
23
|
+
async execute() {
|
|
24
|
+
const { flags } = await this.parse(AgentStaff);
|
|
25
|
+
const jsonMode = shouldOutputJson(flags);
|
|
26
|
+
const menuChoices = [
|
|
27
|
+
{ name: 'List staff agents', value: 'list', command: 'prlt agent staff list --machine' },
|
|
28
|
+
{ name: 'Add staff agent', value: 'add', command: 'prlt agent staff add --machine' },
|
|
29
|
+
{ name: 'Remove staff agent', value: 'remove', command: 'prlt agent staff remove --machine' },
|
|
30
|
+
{ name: 'Cancel', value: 'cancel', command: '' },
|
|
31
|
+
];
|
|
32
|
+
const message = 'What would you like to do?';
|
|
33
|
+
if (jsonMode) {
|
|
34
|
+
outputPromptAsJson(buildPromptConfig('list', 'action', message, menuChoices), createMetadata('agent staff', flags));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.log(colors.primary('Staff Agents'));
|
|
38
|
+
this.log(colors.textMuted('Persistent agents with dedicated worktrees.\n'));
|
|
39
|
+
const { action } = await this.prompt([{
|
|
40
|
+
type: 'list',
|
|
41
|
+
name: 'action',
|
|
42
|
+
message,
|
|
43
|
+
choices: [
|
|
44
|
+
{ name: '📋 ' + menuChoices[0].name, value: menuChoices[0].value },
|
|
45
|
+
{ name: '➕ ' + menuChoices[1].name, value: menuChoices[1].value },
|
|
46
|
+
{ name: '🗑️ ' + menuChoices[2].name, value: menuChoices[2].value },
|
|
47
|
+
new inquirer.Separator(),
|
|
48
|
+
{ name: '❌ ' + menuChoices[3].name, value: menuChoices[3].value },
|
|
49
|
+
]
|
|
50
|
+
}], null);
|
|
51
|
+
if (action === 'cancel') {
|
|
52
|
+
this.log(colors.textMuted('Operation cancelled.'));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
switch (action) {
|
|
57
|
+
case 'list': {
|
|
58
|
+
const { default: ListCommand } = await import('./list.js');
|
|
59
|
+
const cmd = new ListCommand([], this.config);
|
|
60
|
+
await cmd.run();
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case 'add': {
|
|
64
|
+
const { default: AddCommand } = await import('./add.js');
|
|
65
|
+
const cmd = new AddCommand([], this.config);
|
|
66
|
+
await cmd.run();
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case 'remove': {
|
|
70
|
+
const { default: RemoveCommand } = await import('./remove.js');
|
|
71
|
+
const cmd = new RemoveCommand([], this.config);
|
|
72
|
+
await cmd.run();
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
default:
|
|
76
|
+
this.error(`Unknown action: ${action}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
this.error(`Failed to execute staff ${action}: ${error instanceof Error ? error.message : String(error)}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../staff/list.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../staff/list.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../staff/remove.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../staff/remove.js';
|
|
@@ -7,6 +7,7 @@ export default class Status extends PMOCommand {
|
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
9
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
protected getPMOOptions(): {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Args
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
2
|
import { colors, format } from '../../lib/colors.js';
|
|
3
3
|
import { getWorkspaceInfo, getAgentStatus, formatAgentList } from '../../lib/agents/commands.js';
|
|
4
4
|
import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
|
|
@@ -17,12 +17,6 @@ export default class Status extends PMOCommand {
|
|
|
17
17
|
};
|
|
18
18
|
static flags = {
|
|
19
19
|
...pmoBaseFlags,
|
|
20
|
-
json: Flags.boolean({
|
|
21
|
-
char: 'm',
|
|
22
|
-
aliases: ['machine'],
|
|
23
|
-
description: 'Output prompt configuration as JSON (for AI agents/scripts)',
|
|
24
|
-
default: false,
|
|
25
|
-
}),
|
|
26
20
|
};
|
|
27
21
|
getPMOOptions() {
|
|
28
22
|
return { promptIfMultiple: false };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../theme/add-names.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../theme/add-names.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../theme/create.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '../../theme/create.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PromptCommand } from '../../../lib/prompt-command.js';
|
|
2
|
+
export default class AgentThemes extends PromptCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|