@proletariat/cli 0.2.0 → 0.3.1
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 +561 -251
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +5 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +23 -0
- package/dist/commands/action/create.d.ts +21 -0
- package/dist/commands/action/create.js +126 -0
- package/dist/commands/action/delete.d.ts +17 -0
- package/dist/commands/action/delete.js +78 -0
- package/dist/commands/action/index.d.ts +15 -0
- package/dist/commands/action/index.js +107 -0
- package/dist/commands/action/list.d.ts +14 -0
- package/dist/commands/action/list.js +89 -0
- package/dist/commands/action/run.d.ts +19 -0
- package/dist/commands/action/run.js +179 -0
- package/dist/commands/action/show.d.ts +15 -0
- package/dist/commands/action/show.js +47 -0
- package/dist/commands/action/update.d.ts +22 -0
- package/dist/commands/action/update.js +168 -0
- package/dist/commands/agent/index.d.ts +13 -0
- package/dist/commands/agent/index.js +131 -0
- package/dist/commands/agent/list.d.ts +7 -0
- package/dist/commands/agent/list.js +126 -0
- package/dist/commands/agent/login.d.ts +16 -0
- package/dist/commands/agent/login.js +146 -0
- package/dist/commands/agent/rebuild.d.ts +18 -0
- package/dist/commands/agent/rebuild.js +133 -0
- package/dist/commands/agent/restart.d.ts +17 -0
- package/dist/commands/agent/restart.js +116 -0
- package/dist/commands/agent/shell.d.ts +23 -0
- package/dist/commands/agent/shell.js +378 -0
- package/dist/commands/agent/staff/add.d.ts +15 -0
- package/dist/commands/agent/staff/add.js +281 -0
- package/dist/commands/agent/staff/index.d.ts +14 -0
- package/dist/commands/agent/staff/index.js +90 -0
- package/dist/commands/agent/staff/list.d.ts +7 -0
- package/dist/commands/agent/staff/list.js +90 -0
- package/dist/commands/agent/staff/remove.d.ts +16 -0
- package/dist/commands/agent/staff/remove.js +137 -0
- package/dist/commands/agent/status.d.ts +17 -0
- package/dist/commands/agent/status.js +139 -0
- package/dist/commands/agent/temp/cleanup.d.ts +23 -0
- package/dist/commands/agent/temp/cleanup.js +388 -0
- package/dist/commands/agent/temp/index.d.ts +14 -0
- package/dist/commands/agent/temp/index.js +82 -0
- package/dist/commands/agent/temp/list.d.ts +7 -0
- package/dist/commands/agent/temp/list.js +108 -0
- package/dist/commands/agent/themes/add-names.d.ts +10 -0
- package/dist/commands/agent/themes/add-names.js +67 -0
- package/dist/commands/agent/themes/create.d.ts +13 -0
- package/dist/commands/agent/themes/create.js +66 -0
- package/dist/commands/agent/themes/index.d.ts +9 -0
- package/dist/commands/agent/themes/index.js +194 -0
- package/dist/commands/agent/themes/list.d.ts +6 -0
- package/dist/commands/agent/themes/list.js +41 -0
- package/dist/commands/agent/themes/set.d.ts +12 -0
- package/dist/commands/agent/themes/set.js +77 -0
- package/dist/commands/agent/visit.d.ts +16 -0
- package/dist/commands/agent/visit.js +88 -0
- package/dist/commands/autocomplete/setup.d.ts +14 -0
- package/dist/commands/autocomplete/setup.js +154 -0
- package/dist/commands/board/index.d.ts +17 -0
- package/dist/commands/board/index.js +255 -0
- package/dist/commands/board/watch.d.ts +13 -0
- package/dist/commands/board/watch.js +52 -0
- package/dist/commands/branch/create.d.ts +50 -0
- package/dist/commands/branch/create.js +624 -0
- package/dist/commands/branch/index.d.ts +13 -0
- package/dist/commands/branch/index.js +50 -0
- package/dist/commands/branch/list.d.ts +17 -0
- package/dist/commands/branch/list.js +120 -0
- package/dist/commands/branch/validate.d.ts +15 -0
- package/dist/commands/branch/validate.js +73 -0
- package/dist/commands/commit.d.ts +71 -0
- package/dist/commands/commit.js +499 -0
- package/dist/commands/docker/clean.d.ts +13 -0
- package/dist/commands/docker/clean.js +224 -0
- package/dist/commands/docker/index.d.ts +19 -0
- package/dist/commands/docker/index.js +274 -0
- package/dist/commands/docker/list.d.ts +16 -0
- package/dist/commands/docker/list.js +200 -0
- package/dist/commands/docker/logs.d.ts +14 -0
- package/dist/commands/docker/logs.js +118 -0
- package/dist/commands/docker/prune.d.ts +14 -0
- package/dist/commands/docker/prune.js +211 -0
- package/dist/commands/docker/restart.d.ts +14 -0
- package/dist/commands/docker/restart.js +129 -0
- package/dist/commands/docker/shell.d.ts +14 -0
- package/dist/commands/docker/shell.js +103 -0
- package/dist/commands/docker/start.d.ts +12 -0
- package/dist/commands/docker/start.js +92 -0
- package/dist/commands/docker/status.d.ts +7 -0
- package/dist/commands/docker/status.js +40 -0
- package/dist/commands/docker/stop.d.ts +14 -0
- package/dist/commands/docker/stop.js +134 -0
- package/dist/commands/docker/sync.d.ts +15 -0
- package/dist/commands/docker/sync.js +112 -0
- package/dist/commands/epic/activate.d.ts +13 -0
- package/dist/commands/epic/activate.js +118 -0
- package/dist/commands/epic/archive.d.ts +14 -0
- package/dist/commands/epic/archive.js +132 -0
- package/dist/commands/epic/create.d.ts +15 -0
- package/dist/commands/epic/create.js +137 -0
- package/dist/commands/epic/index.d.ts +13 -0
- package/dist/commands/epic/index.js +88 -0
- package/dist/commands/epic/link/block.d.ts +14 -0
- package/dist/commands/epic/link/block.js +79 -0
- package/dist/commands/epic/link/duplicates.d.ts +14 -0
- package/dist/commands/epic/link/duplicates.js +66 -0
- package/dist/commands/epic/link/index.d.ts +19 -0
- package/dist/commands/epic/link/index.js +242 -0
- package/dist/commands/epic/link/relates.d.ts +14 -0
- package/dist/commands/epic/link/relates.js +66 -0
- package/dist/commands/epic/link/remove.d.ts +16 -0
- package/dist/commands/epic/link/remove.js +89 -0
- package/dist/commands/epic/list.d.ts +11 -0
- package/dist/commands/epic/list.js +87 -0
- package/dist/commands/epic/move.d.ts +15 -0
- package/dist/commands/epic/move.js +184 -0
- package/dist/commands/epic/progress.d.ts +16 -0
- package/dist/commands/epic/progress.js +166 -0
- package/dist/commands/epic/project.d.ts +15 -0
- package/dist/commands/epic/project.js +219 -0
- package/dist/commands/epic/reorder.d.ts +21 -0
- package/dist/commands/epic/reorder.js +160 -0
- package/dist/commands/epic/spec.d.ts +15 -0
- package/dist/commands/epic/spec.js +191 -0
- package/dist/commands/epic/ticket.d.ts +18 -0
- package/dist/commands/epic/ticket.js +291 -0
- package/dist/commands/epic/view.d.ts +13 -0
- package/dist/commands/epic/view.js +117 -0
- package/dist/commands/execution/index.d.ts +13 -0
- package/dist/commands/execution/index.js +70 -0
- package/dist/commands/execution/list.d.ts +15 -0
- package/dist/commands/execution/list.js +144 -0
- package/dist/commands/execution/logs.d.ts +18 -0
- package/dist/commands/execution/logs.js +161 -0
- package/dist/commands/execution/stop.d.ts +22 -0
- package/dist/commands/execution/stop.js +248 -0
- package/dist/commands/gh/index.d.ts +9 -0
- package/dist/commands/gh/index.js +53 -0
- package/dist/commands/gh/login.d.ts +6 -0
- package/dist/commands/gh/login.js +57 -0
- package/dist/commands/gh/status.d.ts +6 -0
- package/dist/commands/gh/status.js +48 -0
- package/dist/commands/gh/token.d.ts +6 -0
- package/dist/commands/gh/token.js +59 -0
- package/dist/commands/init.d.ts +26 -0
- package/dist/commands/init.js +200 -0
- package/dist/commands/phase/create.d.ts +22 -0
- package/dist/commands/phase/create.js +123 -0
- package/dist/commands/phase/delete.d.ts +17 -0
- package/dist/commands/phase/delete.js +73 -0
- package/dist/commands/phase/list.d.ts +12 -0
- package/dist/commands/phase/list.js +76 -0
- package/dist/commands/phase/move.d.ts +17 -0
- package/dist/commands/phase/move.js +115 -0
- package/dist/commands/phase/template/apply.d.ts +17 -0
- package/dist/commands/phase/template/apply.js +106 -0
- package/dist/commands/phase/template/create.d.ts +16 -0
- package/dist/commands/phase/template/create.js +58 -0
- package/dist/commands/phase/template/delete.d.ts +17 -0
- package/dist/commands/phase/template/delete.js +98 -0
- package/dist/commands/phase/template/index.d.ts +15 -0
- package/dist/commands/phase/template/index.js +128 -0
- package/dist/commands/phase/template/list.d.ts +16 -0
- package/dist/commands/phase/template/list.js +95 -0
- package/dist/commands/phase/template/update.d.ts +17 -0
- package/dist/commands/phase/template/update.js +89 -0
- package/dist/commands/phase/update.d.ts +23 -0
- package/dist/commands/phase/update.js +174 -0
- package/dist/commands/pmo/init.d.ts +25 -0
- package/dist/commands/pmo/init.js +341 -0
- package/dist/commands/pr/create.d.ts +17 -0
- package/dist/commands/pr/create.js +242 -0
- package/dist/commands/pr/index.d.ts +9 -0
- package/dist/commands/pr/index.js +68 -0
- package/dist/commands/pr/link.d.ts +14 -0
- package/dist/commands/pr/link.js +212 -0
- package/dist/commands/pr/status.d.ts +12 -0
- package/dist/commands/pr/status.js +161 -0
- package/dist/commands/project/archive.d.ts +17 -0
- package/dist/commands/project/archive.js +83 -0
- package/dist/commands/project/create.d.ts +22 -0
- package/dist/commands/project/create.js +143 -0
- package/dist/commands/project/delete.d.ts +17 -0
- package/dist/commands/project/delete.js +128 -0
- package/dist/commands/project/index.d.ts +13 -0
- package/dist/commands/project/index.js +64 -0
- package/dist/commands/project/list.d.ts +14 -0
- package/dist/commands/project/list.js +96 -0
- package/dist/commands/project/spec.d.ts +18 -0
- package/dist/commands/project/spec.js +216 -0
- package/dist/commands/project/unarchive.d.ts +15 -0
- package/dist/commands/project/unarchive.js +35 -0
- package/dist/commands/project/view.d.ts +16 -0
- package/dist/commands/project/view.js +94 -0
- package/dist/commands/repo/add.d.ts +21 -0
- package/dist/commands/repo/add.js +118 -0
- package/dist/commands/repo/index.d.ts +13 -0
- package/dist/commands/repo/index.js +114 -0
- package/dist/commands/repo/list.d.ts +13 -0
- package/dist/commands/repo/list.js +96 -0
- package/dist/commands/repo/remove.d.ts +23 -0
- package/dist/commands/repo/remove.js +217 -0
- package/dist/commands/repo/view.d.ts +15 -0
- package/dist/commands/repo/view.js +99 -0
- package/dist/commands/session/attach.d.ts +40 -0
- package/dist/commands/session/attach.js +307 -0
- package/dist/commands/session/index.d.ts +13 -0
- package/dist/commands/session/index.js +64 -0
- package/dist/commands/session/list.d.ts +21 -0
- package/dist/commands/session/list.js +181 -0
- package/dist/commands/spec/create.d.ts +19 -0
- package/dist/commands/spec/create.js +130 -0
- package/dist/commands/spec/index.d.ts +13 -0
- package/dist/commands/spec/index.js +68 -0
- package/dist/commands/spec/link/depends.d.ts +14 -0
- package/dist/commands/spec/link/depends.js +64 -0
- package/dist/commands/spec/link/duplicates.d.ts +14 -0
- package/dist/commands/spec/link/duplicates.js +63 -0
- package/dist/commands/spec/link/index.d.ts +19 -0
- package/dist/commands/spec/link/index.js +200 -0
- package/dist/commands/spec/link/relates.d.ts +14 -0
- package/dist/commands/spec/link/relates.js +63 -0
- package/dist/commands/spec/link/remove.d.ts +16 -0
- package/dist/commands/spec/link/remove.js +94 -0
- package/dist/commands/spec/list.d.ts +12 -0
- package/dist/commands/spec/list.js +75 -0
- package/dist/commands/spec/plan.d.ts +15 -0
- package/dist/commands/spec/plan.js +108 -0
- package/dist/commands/spec/ticket.d.ts +18 -0
- package/dist/commands/spec/ticket.js +160 -0
- package/dist/commands/spec/view.d.ts +15 -0
- package/dist/commands/spec/view.js +163 -0
- package/dist/commands/status/create.d.ts +21 -0
- package/dist/commands/status/create.js +140 -0
- package/dist/commands/status/delete.d.ts +13 -0
- package/dist/commands/status/delete.js +77 -0
- package/dist/commands/status/index.d.ts +14 -0
- package/dist/commands/status/index.js +91 -0
- package/dist/commands/status/list.d.ts +12 -0
- package/dist/commands/status/list.js +93 -0
- package/dist/commands/status/move.d.ts +14 -0
- package/dist/commands/status/move.js +120 -0
- package/dist/commands/status/update.d.ts +20 -0
- package/dist/commands/status/update.js +180 -0
- package/dist/commands/template/delete.d.ts +15 -0
- package/dist/commands/template/delete.js +142 -0
- package/dist/commands/template/index.d.ts +10 -0
- package/dist/commands/template/index.js +64 -0
- package/dist/commands/template/list.d.ts +18 -0
- package/dist/commands/template/list.js +157 -0
- package/dist/commands/template/phase/apply.d.ts +14 -0
- package/dist/commands/template/phase/apply.js +41 -0
- package/dist/commands/template/phase/create.d.ts +12 -0
- package/dist/commands/template/phase/create.js +29 -0
- package/dist/commands/template/phase/delete.d.ts +13 -0
- package/dist/commands/template/phase/delete.js +34 -0
- package/dist/commands/template/phase/index.d.ts +10 -0
- package/dist/commands/template/phase/index.js +62 -0
- package/dist/commands/template/phase/list.d.ts +11 -0
- package/dist/commands/template/phase/list.js +34 -0
- package/dist/commands/template/phase/update.d.ts +13 -0
- package/dist/commands/template/phase/update.js +35 -0
- package/dist/commands/template/ticket/apply.d.ts +17 -0
- package/dist/commands/template/ticket/apply.js +58 -0
- package/dist/commands/template/ticket/delete.d.ts +13 -0
- package/dist/commands/template/ticket/delete.js +34 -0
- package/dist/commands/template/ticket/index.d.ts +10 -0
- package/dist/commands/template/ticket/index.js +62 -0
- package/dist/commands/template/ticket/list.d.ts +11 -0
- package/dist/commands/template/ticket/list.js +34 -0
- package/dist/commands/template/ticket/save.d.ts +13 -0
- package/dist/commands/template/ticket/save.js +35 -0
- package/dist/commands/ticket/bulk.d.ts +13 -0
- package/dist/commands/ticket/bulk.js +145 -0
- package/dist/commands/ticket/complete.d.ts +16 -0
- package/dist/commands/ticket/complete.js +170 -0
- package/dist/commands/ticket/create.d.ts +22 -0
- package/dist/commands/ticket/create.js +390 -0
- package/dist/commands/ticket/delete.d.ts +16 -0
- package/dist/commands/ticket/delete.js +178 -0
- package/dist/commands/ticket/edit.d.ts +27 -0
- package/dist/commands/ticket/edit.js +322 -0
- package/dist/commands/ticket/epic.d.ts +20 -0
- package/dist/commands/ticket/epic.js +333 -0
- package/dist/commands/ticket/index.d.ts +13 -0
- package/dist/commands/ticket/index.js +103 -0
- package/dist/commands/ticket/link/block.d.ts +14 -0
- package/dist/commands/ticket/link/block.js +94 -0
- package/dist/commands/ticket/link/duplicates.d.ts +14 -0
- package/dist/commands/ticket/link/duplicates.js +93 -0
- package/dist/commands/ticket/link/index.d.ts +19 -0
- package/dist/commands/ticket/link/index.js +239 -0
- package/dist/commands/ticket/link/relates.d.ts +14 -0
- package/dist/commands/ticket/link/relates.js +93 -0
- package/dist/commands/ticket/link/remove.d.ts +16 -0
- package/dist/commands/ticket/link/remove.js +128 -0
- package/dist/commands/ticket/list.d.ts +24 -0
- package/dist/commands/ticket/list.js +431 -0
- package/dist/commands/ticket/move.d.ts +18 -0
- package/dist/commands/ticket/move.js +212 -0
- package/dist/commands/ticket/project.d.ts +18 -0
- package/dist/commands/ticket/project.js +254 -0
- package/dist/commands/ticket/reassign.d.ts +19 -0
- package/dist/commands/ticket/reassign.js +279 -0
- package/dist/commands/ticket/spec.d.ts +18 -0
- package/dist/commands/ticket/spec.js +259 -0
- package/dist/commands/ticket/status.d.ts +13 -0
- package/dist/commands/ticket/status.js +87 -0
- package/dist/commands/ticket/template/apply.d.ts +25 -0
- package/dist/commands/ticket/template/apply.js +249 -0
- package/dist/commands/ticket/template/create.d.ts +19 -0
- package/dist/commands/ticket/template/create.js +210 -0
- package/dist/commands/ticket/template/delete.d.ts +17 -0
- package/dist/commands/ticket/template/delete.js +92 -0
- package/dist/commands/ticket/template/index.d.ts +15 -0
- package/dist/commands/ticket/template/index.js +118 -0
- package/dist/commands/ticket/template/list.d.ts +16 -0
- package/dist/commands/ticket/template/list.js +110 -0
- package/dist/commands/ticket/template/save.d.ts +14 -0
- package/dist/commands/ticket/template/save.js +110 -0
- package/dist/commands/ticket/update.d.ts +18 -0
- package/dist/commands/ticket/update.js +325 -0
- package/dist/commands/ticket/view.d.ts +13 -0
- package/dist/commands/ticket/view.js +80 -0
- package/dist/commands/whoami.d.ts +9 -0
- package/dist/commands/whoami.js +103 -0
- package/dist/commands/work/complete.d.ts +13 -0
- package/dist/commands/work/complete.js +121 -0
- package/dist/commands/work/index.d.ts +13 -0
- package/dist/commands/work/index.js +70 -0
- package/dist/commands/work/ready.d.ts +24 -0
- package/dist/commands/work/ready.js +290 -0
- package/dist/commands/work/revise.d.ts +19 -0
- package/dist/commands/work/revise.js +377 -0
- package/dist/commands/work/spawn-all.d.ts +17 -0
- package/dist/commands/work/spawn-all.js +58 -0
- package/dist/commands/work/spawn.d.ts +29 -0
- package/dist/commands/work/spawn.js +728 -0
- package/dist/commands/work/start.d.ts +39 -0
- package/dist/commands/work/start.js +1393 -0
- package/dist/commands/work/watch.d.ts +31 -0
- package/dist/commands/work/watch.js +359 -0
- package/dist/commands/workflow/create.d.ts +18 -0
- package/dist/commands/workflow/create.js +119 -0
- package/dist/commands/workflow/delete.d.ts +17 -0
- package/dist/commands/workflow/delete.js +119 -0
- package/dist/commands/workflow/index.d.ts +15 -0
- package/dist/commands/workflow/index.js +75 -0
- package/dist/commands/workflow/list.d.ts +15 -0
- package/dist/commands/workflow/list.js +75 -0
- package/dist/commands/workflow/switch.d.ts +13 -0
- package/dist/commands/workflow/switch.js +117 -0
- package/dist/commands/workflow/view.d.ts +16 -0
- package/dist/commands/workflow/view.js +114 -0
- package/dist/commands/workspace/add.d.ts +12 -0
- package/dist/commands/workspace/add.js +74 -0
- package/dist/commands/workspace/list.d.ts +9 -0
- package/dist/commands/workspace/list.js +153 -0
- package/dist/commands/workspace/remove.d.ts +13 -0
- package/dist/commands/workspace/remove.js +98 -0
- package/dist/commands/workspace/use.d.ts +12 -0
- package/dist/commands/workspace/use.js +111 -0
- package/dist/hooks/init.d.ts +11 -0
- package/dist/hooks/init.js +57 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/lib/agents/commands.d.ts +189 -0
- package/dist/lib/agents/commands.js +893 -0
- package/dist/lib/agents/index.d.ts +54 -0
- package/dist/lib/agents/index.js +382 -0
- package/dist/lib/branch/index.d.ts +120 -0
- package/dist/lib/branch/index.js +334 -0
- package/dist/lib/colors.d.ts +94 -0
- package/dist/lib/colors.js +68 -0
- package/dist/lib/commands/docker-command.d.ts +21 -0
- package/dist/lib/commands/docker-command.js +27 -0
- package/dist/lib/database/index.d.ts +176 -0
- package/dist/lib/database/index.js +581 -0
- package/dist/lib/docker/resolve.d.ts +38 -0
- package/dist/lib/docker/resolve.js +175 -0
- package/dist/lib/execution/config.d.ts +150 -0
- package/dist/lib/execution/config.js +541 -0
- package/dist/lib/execution/devcontainer.d.ts +85 -0
- package/dist/lib/execution/devcontainer.js +594 -0
- package/dist/lib/execution/index.d.ts +10 -0
- package/dist/lib/execution/index.js +10 -0
- package/dist/lib/execution/runners.d.ts +53 -0
- package/dist/lib/execution/runners.js +1182 -0
- package/dist/lib/execution/spawner.d.ts +85 -0
- package/dist/lib/execution/spawner.js +548 -0
- package/dist/lib/execution/storage.d.ts +159 -0
- package/dist/lib/execution/storage.js +425 -0
- package/dist/lib/execution/types.d.ts +145 -0
- package/dist/lib/execution/types.js +157 -0
- package/dist/lib/init/index.d.ts +75 -0
- package/dist/lib/init/index.js +355 -0
- package/dist/lib/machine-config.d.ts +170 -0
- package/dist/lib/machine-config.js +386 -0
- package/dist/lib/pmo/base-command.d.ts +195 -0
- package/dist/lib/pmo/base-command.js +319 -0
- package/dist/lib/pmo/create-spec-folders.d.ts +43 -0
- package/dist/lib/pmo/create-spec-folders.js +64 -0
- package/dist/lib/pmo/epic-files.d.ts +56 -0
- package/dist/lib/pmo/epic-files.js +195 -0
- package/dist/lib/pmo/find-pmo.d.ts +14 -0
- package/dist/lib/pmo/find-pmo.js +172 -0
- package/dist/lib/pmo/index.d.ts +109 -0
- package/dist/lib/pmo/index.js +501 -0
- package/dist/lib/pmo/markdown.d.ts +31 -0
- package/dist/lib/pmo/markdown.js +245 -0
- package/dist/lib/pmo/pmo-context.d.ts +27 -0
- package/dist/lib/pmo/pmo-context.js +44 -0
- package/dist/lib/pmo/schema.d.ts +82 -0
- package/dist/lib/pmo/schema.js +531 -0
- package/dist/lib/pmo/spec-parser.d.ts +25 -0
- package/dist/lib/pmo/spec-parser.js +205 -0
- package/dist/lib/pmo/spec-types.d.ts +43 -0
- package/dist/lib/pmo/spec-types.js +7 -0
- package/dist/lib/pmo/storage/actions.d.ts +34 -0
- package/dist/lib/pmo/storage/actions.js +177 -0
- package/dist/lib/pmo/storage/base.d.ts +47 -0
- package/dist/lib/pmo/storage/base.js +858 -0
- package/dist/lib/pmo/storage/dependencies.d.ts +61 -0
- package/dist/lib/pmo/storage/dependencies.js +267 -0
- package/dist/lib/pmo/storage/epics.d.ts +46 -0
- package/dist/lib/pmo/storage/epics.js +243 -0
- package/dist/lib/pmo/storage/helpers.d.ts +33 -0
- package/dist/lib/pmo/storage/helpers.js +148 -0
- package/dist/lib/pmo/storage/index.d.ts +186 -0
- package/dist/lib/pmo/storage/index.js +689 -0
- package/dist/lib/pmo/storage/phases.d.ts +65 -0
- package/dist/lib/pmo/storage/phases.js +392 -0
- package/dist/lib/pmo/storage/projects.d.ts +79 -0
- package/dist/lib/pmo/storage/projects.js +303 -0
- package/dist/lib/pmo/storage/specs.d.ts +77 -0
- package/dist/lib/pmo/storage/specs.js +389 -0
- package/dist/lib/pmo/storage/statuses.d.ts +63 -0
- package/dist/lib/pmo/storage/statuses.js +404 -0
- package/dist/lib/pmo/storage/subtasks.d.ts +37 -0
- package/dist/lib/pmo/storage/subtasks.js +184 -0
- package/dist/lib/pmo/storage/templates.d.ts +40 -0
- package/dist/lib/pmo/storage/templates.js +210 -0
- package/dist/lib/pmo/storage/tickets.d.ts +57 -0
- package/dist/lib/pmo/storage/tickets.js +453 -0
- package/dist/lib/pmo/storage/types.d.ts +200 -0
- package/dist/lib/pmo/storage/types.js +5 -0
- package/dist/lib/pmo/storage/views.d.ts +44 -0
- package/dist/lib/pmo/storage/views.js +355 -0
- package/dist/lib/pmo/storage-sqlite.d.ts +7 -0
- package/dist/lib/pmo/storage-sqlite.js +7 -0
- package/dist/lib/pmo/sync-manager.d.ts +92 -0
- package/dist/lib/pmo/sync-manager.js +229 -0
- package/dist/lib/pmo/types.d.ts +710 -0
- package/dist/lib/pmo/types.js +108 -0
- package/dist/lib/pmo/utils.d.ts +122 -0
- package/dist/lib/pmo/utils.js +174 -0
- package/dist/lib/pmo/watcher.d.ts +43 -0
- package/dist/lib/pmo/watcher.js +208 -0
- package/dist/lib/pr/index.d.ts +150 -0
- package/dist/lib/pr/index.js +483 -0
- package/dist/lib/prompt-json.d.ts +231 -0
- package/dist/lib/prompt-json.js +213 -0
- package/dist/lib/repos/index.d.ts +81 -0
- package/dist/lib/repos/index.js +679 -0
- package/dist/lib/styles.d.ts +98 -0
- package/dist/lib/styles.js +195 -0
- package/dist/lib/themes.d.ts +128 -0
- package/dist/lib/themes.js +301 -0
- package/dist/lib/ui/BoardUI.d.ts +21 -0
- package/dist/lib/ui/BoardUI.js +85 -0
- package/dist/lib/ui/ClaimTicketUI.d.ts +17 -0
- package/dist/lib/ui/ClaimTicketUI.js +64 -0
- package/dist/lib/ui/CreateTicketUI.d.ts +13 -0
- package/dist/lib/ui/CreateTicketUI.js +101 -0
- package/dist/lib/workspace.d.ts +66 -0
- package/dist/lib/workspace.js +204 -0
- package/oclif.manifest.json +10593 -0
- package/package.json +103 -56
- package/LICENSE +0 -21
- package/dist/bin/prlt.d.ts +0 -11
- package/dist/bin/prlt.d.ts.map +0 -1
- package/dist/bin/prlt.js +0 -144
- package/dist/bin/prlt.js.map +0 -1
- package/dist/lib/config/index.d.ts +0 -14
- package/dist/lib/config/index.d.ts.map +0 -1
- package/dist/lib/config/index.js +0 -142
- package/dist/lib/config/index.js.map +0 -1
- package/dist/lib/config/upgrade.d.ts +0 -2
- package/dist/lib/config/upgrade.d.ts.map +0 -1
- package/dist/lib/config/upgrade.js +0 -248
- package/dist/lib/config/upgrade.js.map +0 -1
- package/dist/lib/themes/index.d.ts +0 -8
- package/dist/lib/themes/index.d.ts.map +0 -1
- package/dist/lib/themes/index.js +0 -80
- package/dist/lib/themes/index.js.map +0 -1
- package/dist/lib/utils/helpers.d.ts +0 -4
- package/dist/lib/utils/helpers.d.ts.map +0 -1
- package/dist/lib/utils/helpers.js +0 -39
- package/dist/lib/utils/helpers.js.map +0 -1
- package/dist/lib/utils/logger.d.ts +0 -4
- package/dist/lib/utils/logger.d.ts.map +0 -1
- package/dist/lib/utils/logger.js +0 -28
- package/dist/lib/utils/logger.js.map +0 -1
- package/dist/lib/workspace/index.d.ts +0 -13
- package/dist/lib/workspace/index.d.ts.map +0 -1
- package/dist/lib/workspace/index.js +0 -116
- package/dist/lib/workspace/index.js.map +0 -1
- package/dist/lib/worktree/index.d.ts +0 -7
- package/dist/lib/worktree/index.d.ts.map +0 -1
- package/dist/lib/worktree/index.js +0 -362
- package/dist/lib/worktree/index.js.map +0 -1
- package/dist/lib/worktree/migrate.d.ts +0 -2
- package/dist/lib/worktree/migrate.d.ts.map +0 -1
- package/dist/lib/worktree/migrate.js +0 -214
- package/dist/lib/worktree/migrate.js.map +0 -1
- package/dist/lib/worktree/repair.d.ts +0 -3
- package/dist/lib/worktree/repair.d.ts.map +0 -1
- package/dist/lib/worktree/repair.js +0 -320
- package/dist/lib/worktree/repair.js.map +0 -1
- package/dist/types/index.d.ts +0 -57
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Machine-readable output helper for interactive prompts
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for outputting prompt configurations as JSON
|
|
5
|
+
* instead of rendering interactive UI, enabling AI agents and scripts
|
|
6
|
+
* to interact with the CLI programmatically.
|
|
7
|
+
*
|
|
8
|
+
* Design notes:
|
|
9
|
+
* - Stateless functions for easy unit testing
|
|
10
|
+
* - Designed for future extraction as standalone npm package
|
|
11
|
+
* - Supports both explicit --json flag and automatic non-TTY detection
|
|
12
|
+
*
|
|
13
|
+
* Exit code conventions:
|
|
14
|
+
* - EXIT_SUCCESS (0): Command completed successfully
|
|
15
|
+
* - EXIT_ERROR (1): Command failed with an error
|
|
16
|
+
* - EXIT_NEEDS_INPUT (2): Command needs additional input (prompt required)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Exit code for successful command completion
|
|
20
|
+
*/
|
|
21
|
+
export declare const EXIT_SUCCESS = 0;
|
|
22
|
+
/**
|
|
23
|
+
* Exit code for command failure/error
|
|
24
|
+
*/
|
|
25
|
+
export declare const EXIT_ERROR = 1;
|
|
26
|
+
/**
|
|
27
|
+
* Exit code when command needs additional input (prompt required)
|
|
28
|
+
* Use this exit code when outputting a prompt in JSON mode to signal
|
|
29
|
+
* to scripts/agents that the command didn't fail, but needs more input.
|
|
30
|
+
*/
|
|
31
|
+
export declare const EXIT_NEEDS_INPUT = 2;
|
|
32
|
+
/**
|
|
33
|
+
* Choice item for list/checkbox prompts
|
|
34
|
+
*/
|
|
35
|
+
export interface PromptChoice {
|
|
36
|
+
/** Display text shown to user */
|
|
37
|
+
name: string;
|
|
38
|
+
/** Actual value returned when selected */
|
|
39
|
+
value: string;
|
|
40
|
+
/** Optional: indicates if choice is disabled */
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
/** Optional: full CLI command to run for this choice (for AI agents) */
|
|
43
|
+
command?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Form field configuration for multi-field prompts
|
|
47
|
+
*/
|
|
48
|
+
export interface FormField {
|
|
49
|
+
/** Type of field: input, list, checkbox, confirm, editor */
|
|
50
|
+
type: 'input' | 'list' | 'checkbox' | 'confirm' | 'editor';
|
|
51
|
+
/** Field name */
|
|
52
|
+
name: string;
|
|
53
|
+
/** User-facing message */
|
|
54
|
+
message: string;
|
|
55
|
+
/** Available choices (for list/checkbox types) */
|
|
56
|
+
choices?: PromptChoice[];
|
|
57
|
+
/** Default value if applicable */
|
|
58
|
+
default?: string | boolean | string[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Prompt configuration for JSON output
|
|
62
|
+
*/
|
|
63
|
+
export interface PromptConfig {
|
|
64
|
+
/** Type of prompt: list (single select), checkbox (multi select), confirm, input, editor, or form (multi-field) */
|
|
65
|
+
type: 'list' | 'checkbox' | 'confirm' | 'input' | 'editor' | 'form';
|
|
66
|
+
/** Field name for the prompt answer (not used for form type) */
|
|
67
|
+
name?: string;
|
|
68
|
+
/** User-facing prompt message (not used for form type) */
|
|
69
|
+
message?: string;
|
|
70
|
+
/** Available choices (for list/checkbox types) */
|
|
71
|
+
choices?: PromptChoice[];
|
|
72
|
+
/** Default value if applicable */
|
|
73
|
+
default?: string | boolean | string[];
|
|
74
|
+
/** Fields for form type prompts */
|
|
75
|
+
fields?: FormField[];
|
|
76
|
+
/** Optional context data for complex prompts */
|
|
77
|
+
context?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Metadata included with all JSON outputs
|
|
81
|
+
*/
|
|
82
|
+
export interface OutputMetadata {
|
|
83
|
+
/** Command that was invoked (e.g., "work spawn") */
|
|
84
|
+
command: string;
|
|
85
|
+
/** Flags that were passed to the command */
|
|
86
|
+
flags: Record<string, unknown>;
|
|
87
|
+
/** Timestamp of the output */
|
|
88
|
+
timestamp?: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* JSON output when a prompt would be shown
|
|
92
|
+
*/
|
|
93
|
+
export interface PromptJsonOutput {
|
|
94
|
+
/** Prompt configuration, or null if no prompt needed */
|
|
95
|
+
prompt: PromptConfig | null;
|
|
96
|
+
/** Command metadata */
|
|
97
|
+
metadata: OutputMetadata;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* JSON output for successful command execution (no prompt needed)
|
|
101
|
+
*/
|
|
102
|
+
export interface SuccessJsonOutput {
|
|
103
|
+
/** Always null when success output */
|
|
104
|
+
prompt: null;
|
|
105
|
+
/** Indicates successful execution */
|
|
106
|
+
success: true;
|
|
107
|
+
/** Command-specific result data */
|
|
108
|
+
result: Record<string, unknown>;
|
|
109
|
+
/** Command metadata */
|
|
110
|
+
metadata: OutputMetadata;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* JSON output for error conditions
|
|
114
|
+
*/
|
|
115
|
+
export interface ErrorJsonOutput {
|
|
116
|
+
/** Error details */
|
|
117
|
+
error: {
|
|
118
|
+
/** Machine-readable error code (e.g., "NO_TICKETS_AVAILABLE") */
|
|
119
|
+
code: string;
|
|
120
|
+
/** Human-readable error message */
|
|
121
|
+
message: string;
|
|
122
|
+
};
|
|
123
|
+
/** Command metadata */
|
|
124
|
+
metadata: OutputMetadata;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Union type for all JSON output types
|
|
128
|
+
*/
|
|
129
|
+
export type JsonOutput = PromptJsonOutput | SuccessJsonOutput | ErrorJsonOutput;
|
|
130
|
+
/**
|
|
131
|
+
* Flags interface for shouldOutputJson
|
|
132
|
+
*/
|
|
133
|
+
export interface JsonFlags {
|
|
134
|
+
json?: boolean;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if the current environment is non-TTY (piped output)
|
|
138
|
+
*
|
|
139
|
+
* @returns true if stdout is not a TTY (e.g., piped to another process)
|
|
140
|
+
*/
|
|
141
|
+
export declare function isNonTTY(): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Determine if JSON output should be used
|
|
144
|
+
*
|
|
145
|
+
* Returns true if:
|
|
146
|
+
* - The --json flag is explicitly set
|
|
147
|
+
* - The environment is non-TTY (piped output)
|
|
148
|
+
*
|
|
149
|
+
* @param flags - Command flags object
|
|
150
|
+
* @returns true if JSON output should be used
|
|
151
|
+
*/
|
|
152
|
+
export declare function shouldOutputJson(flags: JsonFlags): boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Create metadata object for JSON output
|
|
155
|
+
*
|
|
156
|
+
* @param command - Command name (e.g., "work spawn")
|
|
157
|
+
* @param flags - Flags passed to the command
|
|
158
|
+
* @returns Metadata object
|
|
159
|
+
*/
|
|
160
|
+
export declare function createMetadata(command: string, flags: Record<string, unknown>): OutputMetadata;
|
|
161
|
+
/**
|
|
162
|
+
* Output a prompt configuration as JSON and exit
|
|
163
|
+
*
|
|
164
|
+
* Use this when a command would normally show an interactive prompt.
|
|
165
|
+
* Outputs the prompt config so agents can understand what input is needed,
|
|
166
|
+
* then exits with EXIT_NEEDS_INPUT (2) to signal the command needs more input.
|
|
167
|
+
*
|
|
168
|
+
* @param config - Prompt configuration
|
|
169
|
+
* @param metadata - Command metadata
|
|
170
|
+
*/
|
|
171
|
+
export declare function outputPromptAsJson(config: PromptConfig, metadata: OutputMetadata): never;
|
|
172
|
+
/**
|
|
173
|
+
* Output success result as JSON
|
|
174
|
+
*
|
|
175
|
+
* Use this when all required data was provided via flags
|
|
176
|
+
* and no prompt is needed.
|
|
177
|
+
*
|
|
178
|
+
* @param result - Command-specific result data
|
|
179
|
+
* @param metadata - Command metadata
|
|
180
|
+
*/
|
|
181
|
+
export declare function outputSuccessAsJson(result: Record<string, unknown>, metadata: OutputMetadata): void;
|
|
182
|
+
/**
|
|
183
|
+
* Output error as JSON and exit
|
|
184
|
+
*
|
|
185
|
+
* Use this when an error occurs and --json flag is active.
|
|
186
|
+
* Provides structured error output for programmatic handling,
|
|
187
|
+
* then exits with EXIT_ERROR (1).
|
|
188
|
+
*
|
|
189
|
+
* @param code - Machine-readable error code (e.g., "NO_TICKETS_AVAILABLE")
|
|
190
|
+
* @param message - Human-readable error message
|
|
191
|
+
* @param metadata - Command metadata
|
|
192
|
+
*/
|
|
193
|
+
export declare function outputErrorAsJson(code: string, message: string, metadata: OutputMetadata): never;
|
|
194
|
+
/**
|
|
195
|
+
* Convert inquirer choices to PromptChoice format
|
|
196
|
+
*
|
|
197
|
+
* Handles both simple string choices and object choices,
|
|
198
|
+
* filtering out Separator instances.
|
|
199
|
+
*
|
|
200
|
+
* @param choices - Inquirer choices array
|
|
201
|
+
* @returns Array of PromptChoice objects
|
|
202
|
+
*/
|
|
203
|
+
export declare function normalizeChoices(choices: Array<string | {
|
|
204
|
+
name: string;
|
|
205
|
+
value: string;
|
|
206
|
+
disabled?: boolean | string;
|
|
207
|
+
command?: string;
|
|
208
|
+
} | unknown>): PromptChoice[];
|
|
209
|
+
/**
|
|
210
|
+
* Build a prompt config object from inquirer prompt options
|
|
211
|
+
*
|
|
212
|
+
* @param type - Prompt type
|
|
213
|
+
* @param name - Field name
|
|
214
|
+
* @param message - User-facing message
|
|
215
|
+
* @param choices - Optional choices array
|
|
216
|
+
* @param defaultValue - Optional default value
|
|
217
|
+
* @returns PromptConfig object
|
|
218
|
+
*/
|
|
219
|
+
export declare function buildPromptConfig(type: 'list' | 'checkbox' | 'confirm' | 'input' | 'editor', name: string, message: string, choices?: Array<string | {
|
|
220
|
+
name: string;
|
|
221
|
+
value: string;
|
|
222
|
+
disabled?: boolean | string;
|
|
223
|
+
command?: string;
|
|
224
|
+
} | unknown>, defaultValue?: string | boolean | string[]): PromptConfig;
|
|
225
|
+
/**
|
|
226
|
+
* Build a form prompt config with multiple fields
|
|
227
|
+
*
|
|
228
|
+
* @param fields - Array of form field configurations
|
|
229
|
+
* @returns PromptConfig object with type 'form'
|
|
230
|
+
*/
|
|
231
|
+
export declare function buildFormPromptConfig(fields: FormField[]): PromptConfig;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Machine-readable output helper for interactive prompts
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for outputting prompt configurations as JSON
|
|
5
|
+
* instead of rendering interactive UI, enabling AI agents and scripts
|
|
6
|
+
* to interact with the CLI programmatically.
|
|
7
|
+
*
|
|
8
|
+
* Design notes:
|
|
9
|
+
* - Stateless functions for easy unit testing
|
|
10
|
+
* - Designed for future extraction as standalone npm package
|
|
11
|
+
* - Supports both explicit --json flag and automatic non-TTY detection
|
|
12
|
+
*
|
|
13
|
+
* Exit code conventions:
|
|
14
|
+
* - EXIT_SUCCESS (0): Command completed successfully
|
|
15
|
+
* - EXIT_ERROR (1): Command failed with an error
|
|
16
|
+
* - EXIT_NEEDS_INPUT (2): Command needs additional input (prompt required)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Exit code for successful command completion
|
|
20
|
+
*/
|
|
21
|
+
export const EXIT_SUCCESS = 0;
|
|
22
|
+
/**
|
|
23
|
+
* Exit code for command failure/error
|
|
24
|
+
*/
|
|
25
|
+
export const EXIT_ERROR = 1;
|
|
26
|
+
/**
|
|
27
|
+
* Exit code when command needs additional input (prompt required)
|
|
28
|
+
* Use this exit code when outputting a prompt in JSON mode to signal
|
|
29
|
+
* to scripts/agents that the command didn't fail, but needs more input.
|
|
30
|
+
*/
|
|
31
|
+
export const EXIT_NEEDS_INPUT = 2;
|
|
32
|
+
/**
|
|
33
|
+
* Check if the current environment is non-TTY (piped output)
|
|
34
|
+
*
|
|
35
|
+
* @returns true if stdout is not a TTY (e.g., piped to another process)
|
|
36
|
+
*/
|
|
37
|
+
export function isNonTTY() {
|
|
38
|
+
return !process.stdout.isTTY;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Determine if JSON output should be used
|
|
42
|
+
*
|
|
43
|
+
* Returns true if:
|
|
44
|
+
* - The --json flag is explicitly set
|
|
45
|
+
* - The environment is non-TTY (piped output)
|
|
46
|
+
*
|
|
47
|
+
* @param flags - Command flags object
|
|
48
|
+
* @returns true if JSON output should be used
|
|
49
|
+
*/
|
|
50
|
+
export function shouldOutputJson(flags) {
|
|
51
|
+
// Explicit flag takes precedence
|
|
52
|
+
if (flags.json === true) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
// Automatic detection for non-TTY environments
|
|
56
|
+
return isNonTTY();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create metadata object for JSON output
|
|
60
|
+
*
|
|
61
|
+
* @param command - Command name (e.g., "work spawn")
|
|
62
|
+
* @param flags - Flags passed to the command
|
|
63
|
+
* @returns Metadata object
|
|
64
|
+
*/
|
|
65
|
+
export function createMetadata(command, flags) {
|
|
66
|
+
// Filter out internal/sensitive flags
|
|
67
|
+
const filteredFlags = {};
|
|
68
|
+
for (const [key, value] of Object.entries(flags)) {
|
|
69
|
+
// Skip undefined values and internal flags
|
|
70
|
+
if (value !== undefined && !key.startsWith('_')) {
|
|
71
|
+
filteredFlags[key] = value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
command,
|
|
76
|
+
flags: filteredFlags,
|
|
77
|
+
timestamp: new Date().toISOString(),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Output a prompt configuration as JSON and exit
|
|
82
|
+
*
|
|
83
|
+
* Use this when a command would normally show an interactive prompt.
|
|
84
|
+
* Outputs the prompt config so agents can understand what input is needed,
|
|
85
|
+
* then exits with EXIT_NEEDS_INPUT (2) to signal the command needs more input.
|
|
86
|
+
*
|
|
87
|
+
* @param config - Prompt configuration
|
|
88
|
+
* @param metadata - Command metadata
|
|
89
|
+
*/
|
|
90
|
+
export function outputPromptAsJson(config, metadata) {
|
|
91
|
+
const output = {
|
|
92
|
+
prompt: config,
|
|
93
|
+
metadata,
|
|
94
|
+
};
|
|
95
|
+
console.log(JSON.stringify(output, null, 2));
|
|
96
|
+
process.exit(EXIT_NEEDS_INPUT);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Output success result as JSON
|
|
100
|
+
*
|
|
101
|
+
* Use this when all required data was provided via flags
|
|
102
|
+
* and no prompt is needed.
|
|
103
|
+
*
|
|
104
|
+
* @param result - Command-specific result data
|
|
105
|
+
* @param metadata - Command metadata
|
|
106
|
+
*/
|
|
107
|
+
export function outputSuccessAsJson(result, metadata) {
|
|
108
|
+
const output = {
|
|
109
|
+
prompt: null,
|
|
110
|
+
success: true,
|
|
111
|
+
result,
|
|
112
|
+
metadata,
|
|
113
|
+
};
|
|
114
|
+
console.log(JSON.stringify(output, null, 2));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Output error as JSON and exit
|
|
118
|
+
*
|
|
119
|
+
* Use this when an error occurs and --json flag is active.
|
|
120
|
+
* Provides structured error output for programmatic handling,
|
|
121
|
+
* then exits with EXIT_ERROR (1).
|
|
122
|
+
*
|
|
123
|
+
* @param code - Machine-readable error code (e.g., "NO_TICKETS_AVAILABLE")
|
|
124
|
+
* @param message - Human-readable error message
|
|
125
|
+
* @param metadata - Command metadata
|
|
126
|
+
*/
|
|
127
|
+
export function outputErrorAsJson(code, message, metadata) {
|
|
128
|
+
const output = {
|
|
129
|
+
error: {
|
|
130
|
+
code,
|
|
131
|
+
message,
|
|
132
|
+
},
|
|
133
|
+
metadata,
|
|
134
|
+
};
|
|
135
|
+
console.log(JSON.stringify(output, null, 2));
|
|
136
|
+
process.exit(EXIT_ERROR);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Convert inquirer choices to PromptChoice format
|
|
140
|
+
*
|
|
141
|
+
* Handles both simple string choices and object choices,
|
|
142
|
+
* filtering out Separator instances.
|
|
143
|
+
*
|
|
144
|
+
* @param choices - Inquirer choices array
|
|
145
|
+
* @returns Array of PromptChoice objects
|
|
146
|
+
*/
|
|
147
|
+
export function normalizeChoices(choices) {
|
|
148
|
+
const normalized = [];
|
|
149
|
+
for (const choice of choices) {
|
|
150
|
+
// Skip Separator instances (they have a 'type' property set to 'separator')
|
|
151
|
+
if (typeof choice === 'object' &&
|
|
152
|
+
choice !== null &&
|
|
153
|
+
'type' in choice &&
|
|
154
|
+
choice.type === 'separator') {
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
// Handle string choices
|
|
158
|
+
if (typeof choice === 'string') {
|
|
159
|
+
normalized.push({ name: choice, value: choice });
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
// Handle object choices
|
|
163
|
+
if (typeof choice === 'object' &&
|
|
164
|
+
choice !== null &&
|
|
165
|
+
'name' in choice &&
|
|
166
|
+
'value' in choice) {
|
|
167
|
+
const obj = choice;
|
|
168
|
+
normalized.push({
|
|
169
|
+
name: obj.name,
|
|
170
|
+
value: String(obj.value),
|
|
171
|
+
...(obj.disabled !== undefined && { disabled: Boolean(obj.disabled) }),
|
|
172
|
+
...(obj.command !== undefined && { command: obj.command }),
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return normalized;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Build a prompt config object from inquirer prompt options
|
|
180
|
+
*
|
|
181
|
+
* @param type - Prompt type
|
|
182
|
+
* @param name - Field name
|
|
183
|
+
* @param message - User-facing message
|
|
184
|
+
* @param choices - Optional choices array
|
|
185
|
+
* @param defaultValue - Optional default value
|
|
186
|
+
* @returns PromptConfig object
|
|
187
|
+
*/
|
|
188
|
+
export function buildPromptConfig(type, name, message, choices, defaultValue) {
|
|
189
|
+
const config = {
|
|
190
|
+
type,
|
|
191
|
+
name,
|
|
192
|
+
message,
|
|
193
|
+
};
|
|
194
|
+
if (choices) {
|
|
195
|
+
config.choices = normalizeChoices(choices);
|
|
196
|
+
}
|
|
197
|
+
if (defaultValue !== undefined) {
|
|
198
|
+
config.default = defaultValue;
|
|
199
|
+
}
|
|
200
|
+
return config;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Build a form prompt config with multiple fields
|
|
204
|
+
*
|
|
205
|
+
* @param fields - Array of form field configurations
|
|
206
|
+
* @returns PromptConfig object with type 'form'
|
|
207
|
+
*/
|
|
208
|
+
export function buildFormPromptConfig(fields) {
|
|
209
|
+
return {
|
|
210
|
+
type: 'form',
|
|
211
|
+
fields,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Repository } from '../database/index.js';
|
|
2
|
+
export interface RepoToAdd {
|
|
3
|
+
path: string;
|
|
4
|
+
action: 'move' | 'clone';
|
|
5
|
+
}
|
|
6
|
+
export interface RepoInfo {
|
|
7
|
+
name: string;
|
|
8
|
+
path: string;
|
|
9
|
+
fullPath: string;
|
|
10
|
+
sourceUrl?: string;
|
|
11
|
+
branch?: string;
|
|
12
|
+
status: 'clean' | 'dirty' | 'missing';
|
|
13
|
+
commitsAhead: number;
|
|
14
|
+
commitsBehind: number;
|
|
15
|
+
addedAt?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if we're currently in a git repository
|
|
19
|
+
*/
|
|
20
|
+
export declare function isInGitRepo(dir?: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Get the current repository name
|
|
23
|
+
*/
|
|
24
|
+
export declare function getCurrentRepoName(dir?: string): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Prompt user to add repositories interactively
|
|
27
|
+
*/
|
|
28
|
+
export declare function promptForRepositories(currentDir?: string, existingRepos?: string[]): Promise<RepoToAdd[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Add repositories to HQ
|
|
31
|
+
*/
|
|
32
|
+
export declare function addRepositoriesToHQ(hqPath: string, repos: RepoToAdd[]): Promise<string[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Update HQ config with new repositories
|
|
35
|
+
*/
|
|
36
|
+
export declare function updateHQRepos(hqPath: string, newRepos: string[]): void;
|
|
37
|
+
export interface WorkspaceRepoInfo {
|
|
38
|
+
hqPath: string;
|
|
39
|
+
reposPath: string;
|
|
40
|
+
repositories: RepoInfo[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Find HQ root by traversing upward
|
|
44
|
+
* @deprecated Use findHQRoot from '../workspace.js' instead for PRLT_HQ_PATH support
|
|
45
|
+
*/
|
|
46
|
+
export { findHQRoot } from '../workspace.js';
|
|
47
|
+
/**
|
|
48
|
+
* Get workspace repository information
|
|
49
|
+
*/
|
|
50
|
+
export declare function getWorkspaceRepoInfo(): WorkspaceRepoInfo;
|
|
51
|
+
/**
|
|
52
|
+
* Get detailed status for a repository
|
|
53
|
+
*/
|
|
54
|
+
export declare function getRepoStatus(name: string, fullPath: string, dbRepo?: Repository): RepoInfo;
|
|
55
|
+
/**
|
|
56
|
+
* Add a single repository to the HQ (file system + database + agent worktrees)
|
|
57
|
+
*/
|
|
58
|
+
export declare function addRepository(hqPath: string, repoPath: string, action: 'clone' | 'move'): Promise<{
|
|
59
|
+
success: boolean;
|
|
60
|
+
name: string;
|
|
61
|
+
error?: string;
|
|
62
|
+
}>;
|
|
63
|
+
/**
|
|
64
|
+
* Remove a repository from the HQ
|
|
65
|
+
*/
|
|
66
|
+
export declare function removeRepository(hqPath: string, repoName: string, keepFiles?: boolean): Promise<{
|
|
67
|
+
success: boolean;
|
|
68
|
+
error?: string;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* Prompt to add a single repository
|
|
72
|
+
*/
|
|
73
|
+
export declare function promptAddSingleRepo(): Promise<RepoToAdd | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Prompt to select a repository from the workspace
|
|
76
|
+
*/
|
|
77
|
+
export declare function promptSelectRepo(message?: string, allowCancel?: boolean): Promise<string | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Prompt to select multiple repositories
|
|
80
|
+
*/
|
|
81
|
+
export declare function promptSelectMultipleRepos(message?: string): Promise<string[]>;
|