@proletariat/cli 0.1.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +510 -255
- 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 +104 -52
- 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 -139
- 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 -173
- 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 -212
- 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 -140
- 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,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docker Container Resolution
|
|
3
|
+
*
|
|
4
|
+
* Resolves various identifiers to Docker container IDs.
|
|
5
|
+
* Accepts: execution ID (WORK-XXX), agent name, or container ID.
|
|
6
|
+
*/
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
/**
|
|
9
|
+
* Validate and sanitize a container ID to prevent shell injection.
|
|
10
|
+
* Docker container IDs are 64-character hex strings (or 12-char short form).
|
|
11
|
+
* Container names can contain alphanumeric, underscore, hyphen, and period.
|
|
12
|
+
*
|
|
13
|
+
* @throws Error if the ID contains invalid characters
|
|
14
|
+
*/
|
|
15
|
+
export function sanitizeContainerId(id) {
|
|
16
|
+
// Docker IDs/names: alphanumeric, underscore, hyphen, period only
|
|
17
|
+
// This prevents shell injection via characters like ; | & $ ` etc.
|
|
18
|
+
if (!/^[a-zA-Z0-9_.-]+$/.test(id)) {
|
|
19
|
+
throw new Error(`Invalid container ID: contains disallowed characters`);
|
|
20
|
+
}
|
|
21
|
+
// Reasonable length check (full SHA is 64, short is 12, names vary)
|
|
22
|
+
if (id.length > 128) {
|
|
23
|
+
throw new Error(`Invalid container ID: too long`);
|
|
24
|
+
}
|
|
25
|
+
return id;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolve a target identifier to a Docker container ID.
|
|
29
|
+
*
|
|
30
|
+
* @param target - Execution ID (WORK-XXX), agent name, or container ID
|
|
31
|
+
* @param executionStorage - ExecutionStorage instance
|
|
32
|
+
* @returns ResolveResult with containerId or error
|
|
33
|
+
*/
|
|
34
|
+
export function resolveContainerId(target, executionStorage) {
|
|
35
|
+
// Try as execution ID first (WORK-XXX pattern)
|
|
36
|
+
if (target.toUpperCase().startsWith('WORK-')) {
|
|
37
|
+
const execution = executionStorage.getExecution(target.toUpperCase());
|
|
38
|
+
if (!execution) {
|
|
39
|
+
return {
|
|
40
|
+
containerId: null,
|
|
41
|
+
displayName: target,
|
|
42
|
+
error: `Execution ${target} not found`,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (!execution.containerId) {
|
|
46
|
+
return {
|
|
47
|
+
containerId: null,
|
|
48
|
+
executionId: execution.id,
|
|
49
|
+
agentName: execution.agentName,
|
|
50
|
+
displayName: `${execution.id} (${execution.agentName})`,
|
|
51
|
+
error: `Execution ${execution.id} has no associated container (environment: ${execution.environment})`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
containerId: execution.containerId,
|
|
56
|
+
executionId: execution.id,
|
|
57
|
+
agentName: execution.agentName,
|
|
58
|
+
displayName: `${execution.id} (${execution.agentName})`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// Try as agent name - look for running executions
|
|
62
|
+
const agentExecutions = executionStorage.getAgentRunningExecutions(target);
|
|
63
|
+
if (agentExecutions.length > 0) {
|
|
64
|
+
// Filter to those with containers
|
|
65
|
+
const withContainers = agentExecutions.filter((e) => e.containerId);
|
|
66
|
+
if (withContainers.length === 0) {
|
|
67
|
+
return {
|
|
68
|
+
containerId: null,
|
|
69
|
+
agentName: target,
|
|
70
|
+
displayName: target,
|
|
71
|
+
error: `Agent ${target} has ${agentExecutions.length} running execution(s) but none with containers`,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (withContainers.length > 1) {
|
|
75
|
+
const ids = withContainers.map((e) => e.id).join(', ');
|
|
76
|
+
return {
|
|
77
|
+
containerId: null,
|
|
78
|
+
agentName: target,
|
|
79
|
+
displayName: target,
|
|
80
|
+
error: `Agent ${target} has multiple running containers. Specify an execution ID: ${ids}`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const execution = withContainers[0];
|
|
84
|
+
return {
|
|
85
|
+
containerId: execution.containerId,
|
|
86
|
+
executionId: execution.id,
|
|
87
|
+
agentName: execution.agentName,
|
|
88
|
+
displayName: `${execution.id} (${execution.agentName})`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Try as container ID (full or partial)
|
|
92
|
+
const containerId = resolveDockerContainerId(target);
|
|
93
|
+
if (containerId) {
|
|
94
|
+
// Try to find matching execution
|
|
95
|
+
const allExecutions = executionStorage.listExecutions({ limit: 100 });
|
|
96
|
+
const matchingExecution = allExecutions.find((e) => e.containerId &&
|
|
97
|
+
(e.containerId === containerId ||
|
|
98
|
+
e.containerId.startsWith(target) ||
|
|
99
|
+
containerId.startsWith(e.containerId)));
|
|
100
|
+
return {
|
|
101
|
+
containerId,
|
|
102
|
+
executionId: matchingExecution?.id,
|
|
103
|
+
agentName: matchingExecution?.agentName,
|
|
104
|
+
displayName: matchingExecution
|
|
105
|
+
? `${matchingExecution.id} (${matchingExecution.agentName})`
|
|
106
|
+
: `container ${target}`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
containerId: null,
|
|
111
|
+
displayName: target,
|
|
112
|
+
error: `Could not find container for "${target}". Specify an execution ID (WORK-XXX), agent name, or container ID.`,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Resolve a partial container ID to full ID using docker.
|
|
117
|
+
*/
|
|
118
|
+
function resolveDockerContainerId(partialId) {
|
|
119
|
+
try {
|
|
120
|
+
// Sanitize before using in shell command
|
|
121
|
+
const safeId = sanitizeContainerId(partialId);
|
|
122
|
+
const output = execSync(`docker ps -aq --filter "id=${safeId}" --no-trunc`, {
|
|
123
|
+
encoding: 'utf-8',
|
|
124
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
125
|
+
}).trim();
|
|
126
|
+
const lines = output.split('\n').filter(Boolean);
|
|
127
|
+
if (lines.length === 1) {
|
|
128
|
+
return lines[0];
|
|
129
|
+
}
|
|
130
|
+
// Also try by name
|
|
131
|
+
const byName = execSync(`docker ps -aq --filter "name=${safeId}" --no-trunc`, {
|
|
132
|
+
encoding: 'utf-8',
|
|
133
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
134
|
+
}).trim();
|
|
135
|
+
const nameLines = byName.split('\n').filter(Boolean);
|
|
136
|
+
if (nameLines.length === 1) {
|
|
137
|
+
return nameLines[0];
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Check if a container is currently running.
|
|
147
|
+
*/
|
|
148
|
+
export function isContainerRunning(containerId) {
|
|
149
|
+
try {
|
|
150
|
+
const safeId = sanitizeContainerId(containerId);
|
|
151
|
+
const output = execSync(`docker inspect -f '{{.State.Running}}' ${safeId}`, {
|
|
152
|
+
encoding: 'utf-8',
|
|
153
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
154
|
+
}).trim();
|
|
155
|
+
return output === 'true';
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Check if a container exists (running or stopped).
|
|
163
|
+
*/
|
|
164
|
+
export function containerExists(containerId) {
|
|
165
|
+
try {
|
|
166
|
+
const safeId = sanitizeContainerId(containerId);
|
|
167
|
+
execSync(`docker inspect ${safeId}`, {
|
|
168
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
169
|
+
});
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Configuration Storage
|
|
3
|
+
*
|
|
4
|
+
* Stores user preferences for execution settings in the workspace SQLite database.
|
|
5
|
+
* Uses the workspace_settings table (not pmo_settings - execution is workspace-level).
|
|
6
|
+
*/
|
|
7
|
+
import Database from 'better-sqlite3';
|
|
8
|
+
import { ExecutionConfig, TerminalApp, Shell, DisplayMode, OutputMode, ExecutionEnvironment } from './types.js';
|
|
9
|
+
declare const CONFIG_KEYS: {
|
|
10
|
+
terminalApp: string;
|
|
11
|
+
shell: string;
|
|
12
|
+
defaultMode: string;
|
|
13
|
+
defaultExecutor: string;
|
|
14
|
+
autoExecute: string;
|
|
15
|
+
tmuxSession: string;
|
|
16
|
+
tmuxLayout: string;
|
|
17
|
+
tmuxControlMode: string;
|
|
18
|
+
dockerImage: string;
|
|
19
|
+
dockerNetwork: string;
|
|
20
|
+
dockerMemory: string;
|
|
21
|
+
dockerCpus: string;
|
|
22
|
+
vmDefaultHost: string;
|
|
23
|
+
vmUser: string;
|
|
24
|
+
vmKeyPath: string;
|
|
25
|
+
vmSyncMethod: string;
|
|
26
|
+
coderName: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Load execution config from database, merging with defaults
|
|
30
|
+
*/
|
|
31
|
+
export declare function loadExecutionConfig(db: Database.Database): ExecutionConfig;
|
|
32
|
+
/**
|
|
33
|
+
* Save a single execution config setting to database
|
|
34
|
+
*/
|
|
35
|
+
export declare function saveExecutionSetting(db: Database.Database, key: keyof typeof CONFIG_KEYS, value: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Save terminal app preference
|
|
38
|
+
*/
|
|
39
|
+
export declare function saveTerminalApp(db: Database.Database, app: TerminalApp): void;
|
|
40
|
+
/**
|
|
41
|
+
* Save shell preference
|
|
42
|
+
*/
|
|
43
|
+
export declare function saveShell(db: Database.Database, shell: Shell): void;
|
|
44
|
+
/**
|
|
45
|
+
* Save tmux control mode preference.
|
|
46
|
+
* When enabled and using iTerm, tmux -CC is used for native tab integration.
|
|
47
|
+
*/
|
|
48
|
+
export declare function saveTmuxControlMode(db: Database.Database, enabled: boolean): void;
|
|
49
|
+
/**
|
|
50
|
+
* Check if terminal app preference has been set
|
|
51
|
+
*/
|
|
52
|
+
export declare function hasTerminalPreference(db: Database.Database): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Check if shell preference has been set
|
|
55
|
+
*/
|
|
56
|
+
export declare function hasShellPreference(db: Database.Database): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Auto-detect terminal app from environment.
|
|
59
|
+
* Uses TERM_PROGRAM env var set by most terminal emulators.
|
|
60
|
+
*/
|
|
61
|
+
export declare function detectTerminalApp(): TerminalApp | null;
|
|
62
|
+
/**
|
|
63
|
+
* Auto-detect shell from environment.
|
|
64
|
+
* Uses SHELL env var.
|
|
65
|
+
*/
|
|
66
|
+
export declare function detectShell(): Shell | null;
|
|
67
|
+
/**
|
|
68
|
+
* Prompt user for terminal app preference (first-time setup)
|
|
69
|
+
*/
|
|
70
|
+
export declare function promptTerminalPreference(db: Database.Database): Promise<TerminalApp>;
|
|
71
|
+
/**
|
|
72
|
+
* Prompt user for tmux control mode preference (iTerm only).
|
|
73
|
+
* When enabled, tmux -CC is used for native iTerm tab/window integration.
|
|
74
|
+
*/
|
|
75
|
+
export declare function promptTmuxControlModePreference(db: Database.Database): Promise<boolean>;
|
|
76
|
+
/**
|
|
77
|
+
* Get terminal app, auto-detecting or prompting if not set
|
|
78
|
+
*/
|
|
79
|
+
export declare function getTerminalApp(db: Database.Database): Promise<TerminalApp>;
|
|
80
|
+
/**
|
|
81
|
+
* Prompt user for shell preference (first-time setup)
|
|
82
|
+
*/
|
|
83
|
+
export declare function promptShellPreference(db: Database.Database): Promise<Shell>;
|
|
84
|
+
/**
|
|
85
|
+
* Get shell, auto-detecting or prompting if not set
|
|
86
|
+
*/
|
|
87
|
+
export declare function getShell(db: Database.Database): Promise<Shell>;
|
|
88
|
+
export interface ExecutionPromptOptions {
|
|
89
|
+
/** Display mode selected by user */
|
|
90
|
+
displayMode: DisplayMode;
|
|
91
|
+
/** Environment selected by user */
|
|
92
|
+
environment: ExecutionEnvironment;
|
|
93
|
+
/** Skip output mode prompt and use this value instead */
|
|
94
|
+
outputMode?: OutputMode;
|
|
95
|
+
/** Skip permission prompt and use this value instead */
|
|
96
|
+
skipPermissions?: boolean;
|
|
97
|
+
/** Skip PR prompt and use this value instead */
|
|
98
|
+
createPR?: boolean;
|
|
99
|
+
/** Force re-prompt for terminal preferences */
|
|
100
|
+
reconfigure?: boolean;
|
|
101
|
+
/** Log function for status messages */
|
|
102
|
+
log?: (msg: string) => void;
|
|
103
|
+
}
|
|
104
|
+
export interface ExecutionPromptResult {
|
|
105
|
+
/** Execution config with terminal/shell/output settings */
|
|
106
|
+
executionConfig: ExecutionConfig;
|
|
107
|
+
/** Whether to skip permission checks */
|
|
108
|
+
skipPermissions: boolean;
|
|
109
|
+
/** Whether to create PR when work is ready */
|
|
110
|
+
createPR: boolean;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Prompt for all execution settings in a consistent way.
|
|
114
|
+
* Used by work start, work spawn, and work watch commands.
|
|
115
|
+
*/
|
|
116
|
+
export declare function promptExecutionSettings(db: Database.Database, options: ExecutionPromptOptions): Promise<ExecutionPromptResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Get GitHub username via gh CLI.
|
|
119
|
+
* Returns null if gh is not installed or not authenticated.
|
|
120
|
+
*/
|
|
121
|
+
export declare function getGitHubUsername(): string | null;
|
|
122
|
+
/**
|
|
123
|
+
* Get git config user.name as default coder name.
|
|
124
|
+
* Returns null if git user.name is not configured.
|
|
125
|
+
*/
|
|
126
|
+
export declare function getGitUserName(): string | null;
|
|
127
|
+
/**
|
|
128
|
+
* Get the configured coder name from the database.
|
|
129
|
+
* Returns null if not configured.
|
|
130
|
+
*/
|
|
131
|
+
export declare function getCoderName(db: Database.Database): string | null;
|
|
132
|
+
/**
|
|
133
|
+
* Save coder name preference to database.
|
|
134
|
+
*/
|
|
135
|
+
export declare function saveCoderName(db: Database.Database, name: string): void;
|
|
136
|
+
/**
|
|
137
|
+
* Check if coder name has been configured.
|
|
138
|
+
*/
|
|
139
|
+
export declare function hasCoderName(db: Database.Database): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Prompt user for coder name preference (first-time setup).
|
|
142
|
+
* Uses git config user.name as default if available.
|
|
143
|
+
*/
|
|
144
|
+
export declare function promptCoderName(db: Database.Database): Promise<string>;
|
|
145
|
+
/**
|
|
146
|
+
* Get coder name, auto-detecting from GitHub if not set.
|
|
147
|
+
* Priority: saved setting > GitHub username > git user.name > prompt
|
|
148
|
+
*/
|
|
149
|
+
export declare function getOrPromptCoderName(db: Database.Database): Promise<string>;
|
|
150
|
+
export {};
|