@proletariat/cli 0.3.71 → 0.3.73
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 +6 -2
- package/dist/commands/action/create.js +108 -40
- package/dist/commands/action/create.js.map +1 -1
- package/dist/commands/action/delete.js +1 -1
- package/dist/commands/action/delete.js.map +1 -1
- package/dist/commands/action/list.d.ts +1 -1
- package/dist/commands/action/list.js +12 -10
- package/dist/commands/action/list.js.map +1 -1
- package/dist/commands/action/run.js +3 -3
- package/dist/commands/action/run.js.map +1 -1
- package/dist/commands/action/show.js +25 -4
- package/dist/commands/action/show.js.map +1 -1
- package/dist/commands/action/update.d.ts +6 -2
- package/dist/commands/action/update.js +131 -53
- package/dist/commands/action/update.js.map +1 -1
- package/dist/commands/agent/auth.js +4 -0
- package/dist/commands/agent/auth.js.map +1 -1
- package/dist/commands/agent/cleanup.js +1 -1
- package/dist/commands/agent/cleanup.js.map +1 -1
- package/dist/commands/agent/discover.js +1 -0
- package/dist/commands/agent/discover.js.map +1 -1
- package/dist/commands/agent/index.js +2 -0
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/rebuild.js +1 -1
- package/dist/commands/agent/rebuild.js.map +1 -1
- package/dist/commands/agent/remove.js +1 -1
- package/dist/commands/agent/remove.js.map +1 -1
- package/dist/commands/agent/restart.js +1 -1
- package/dist/commands/agent/restart.js.map +1 -1
- package/dist/commands/agent/visit.js +1 -1
- package/dist/commands/agent/visit.js.map +1 -1
- package/dist/commands/asana/connect.js +6 -5
- package/dist/commands/asana/connect.js.map +1 -1
- package/dist/commands/asana/import.js +4 -4
- package/dist/commands/asana/import.js.map +1 -1
- package/dist/commands/asana/sync.js +3 -3
- package/dist/commands/asana/sync.js.map +1 -1
- package/dist/commands/autocomplete/setup.js +2 -1
- package/dist/commands/autocomplete/setup.js.map +1 -1
- package/dist/commands/board/index.js +1 -0
- package/dist/commands/board/index.js.map +1 -1
- package/dist/commands/board/view.js +1 -1
- package/dist/commands/board/view.js.map +1 -1
- package/dist/commands/branch/create.js +1 -1
- package/dist/commands/branch/create.js.map +1 -1
- package/dist/commands/branch/validate.js +2 -0
- package/dist/commands/branch/validate.js.map +1 -1
- package/dist/commands/branch/where.js +1 -0
- package/dist/commands/branch/where.js.map +1 -1
- package/dist/commands/category/create.js +3 -0
- package/dist/commands/category/create.js.map +1 -1
- package/dist/commands/category/delete.js +3 -0
- package/dist/commands/category/delete.js.map +1 -1
- package/dist/commands/category/rename.js +6 -0
- package/dist/commands/category/rename.js.map +1 -1
- package/dist/commands/claude/index.js +5 -5
- package/dist/commands/claude/index.js.map +1 -1
- package/dist/commands/claude/open.js +5 -0
- package/dist/commands/claude/open.js.map +1 -1
- package/dist/commands/commit.js +1 -1
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/config/index.js +6 -1
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/dashboard.js +1 -0
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/diet.js +1 -0
- package/dist/commands/diet.js.map +1 -1
- package/dist/commands/docker/clean.js +2 -0
- package/dist/commands/docker/clean.js.map +1 -1
- package/dist/commands/docker/index.js +1 -0
- package/dist/commands/docker/index.js.map +1 -1
- package/dist/commands/docker/logs.js +6 -0
- package/dist/commands/docker/logs.js.map +1 -1
- package/dist/commands/docker/prune.js +1 -0
- package/dist/commands/docker/prune.js.map +1 -1
- package/dist/commands/docker/restart.js +5 -0
- package/dist/commands/docker/restart.js.map +1 -1
- package/dist/commands/docker/start.js +4 -0
- package/dist/commands/docker/start.js.map +1 -1
- package/dist/commands/docker/stop.js +4 -0
- package/dist/commands/docker/stop.js.map +1 -1
- package/dist/commands/epic/activate.js +1 -1
- package/dist/commands/epic/activate.js.map +1 -1
- package/dist/commands/epic/archive.js +1 -1
- package/dist/commands/epic/archive.js.map +1 -1
- package/dist/commands/epic/create.js +4 -0
- package/dist/commands/epic/create.js.map +1 -1
- package/dist/commands/epic/delete.js +1 -1
- package/dist/commands/epic/delete.js.map +1 -1
- package/dist/commands/epic/move.js +1 -1
- package/dist/commands/epic/move.js.map +1 -1
- package/dist/commands/epic/progress.js +1 -0
- package/dist/commands/epic/progress.js.map +1 -1
- package/dist/commands/epic/project.js +1 -1
- package/dist/commands/epic/project.js.map +1 -1
- package/dist/commands/epic/reorder.js +1 -1
- package/dist/commands/epic/reorder.js.map +1 -1
- package/dist/commands/epic/spec.js +1 -1
- package/dist/commands/epic/spec.js.map +1 -1
- package/dist/commands/epic/ticket.js +1 -1
- package/dist/commands/epic/ticket.js.map +1 -1
- package/dist/commands/epic/view.js +1 -1
- package/dist/commands/epic/view.js.map +1 -1
- package/dist/commands/execution/config.js +7 -1
- package/dist/commands/execution/config.js.map +1 -1
- package/dist/commands/execution/list.js +1 -0
- package/dist/commands/execution/list.js.map +1 -1
- package/dist/commands/execution/logs.js +1 -0
- package/dist/commands/execution/logs.js.map +1 -1
- package/dist/commands/execution/stop.js +2 -0
- package/dist/commands/execution/stop.js.map +1 -1
- package/dist/commands/execution/view.js +3 -1
- package/dist/commands/execution/view.js.map +1 -1
- package/dist/commands/feedback/list.js +2 -0
- package/dist/commands/feedback/list.js.map +1 -1
- package/dist/commands/feedback/submit.js +2 -0
- package/dist/commands/feedback/submit.js.map +1 -1
- package/dist/commands/feedback/view.js +2 -0
- package/dist/commands/feedback/view.js.map +1 -1
- package/dist/commands/gh/login.js +1 -1
- package/dist/commands/gh/login.js.map +1 -1
- package/dist/commands/gh/token.js +1 -1
- package/dist/commands/gh/token.js.map +1 -1
- package/dist/commands/linear/auth.js +4 -4
- package/dist/commands/linear/auth.js.map +1 -1
- package/dist/commands/linear/connect.js +10 -5
- package/dist/commands/linear/connect.js.map +1 -1
- package/dist/commands/linear/import.js +4 -3
- package/dist/commands/linear/import.js.map +1 -1
- package/dist/commands/linear/sync.js +3 -3
- package/dist/commands/linear/sync.js.map +1 -1
- package/dist/commands/link/create.js +1 -1
- package/dist/commands/link/create.js.map +1 -1
- package/dist/commands/link/list.js +1 -1
- package/dist/commands/link/list.js.map +1 -1
- package/dist/commands/link/remove.js +1 -1
- package/dist/commands/link/remove.js.map +1 -1
- package/dist/commands/media/add.js +2 -1
- package/dist/commands/media/add.js.map +1 -1
- package/dist/commands/media/index.js +2 -0
- package/dist/commands/media/index.js.map +1 -1
- package/dist/commands/media/list.js +1 -0
- package/dist/commands/media/list.js.map +1 -1
- package/dist/commands/media/preprocess.js +1 -1
- package/dist/commands/media/preprocess.js.map +1 -1
- package/dist/commands/media/remove.js +2 -1
- package/dist/commands/media/remove.js.map +1 -1
- package/dist/commands/media/show.js +1 -1
- package/dist/commands/media/show.js.map +1 -1
- package/dist/commands/monday/connect.js +4 -4
- package/dist/commands/monday/connect.js.map +1 -1
- package/dist/commands/monday/sync.js +4 -4
- package/dist/commands/monday/sync.js.map +1 -1
- package/dist/commands/new.js +1 -0
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/orchestrator/start.js +2 -0
- package/dist/commands/orchestrator/start.js.map +1 -1
- package/dist/commands/phase/delete.js +1 -1
- package/dist/commands/phase/delete.js.map +1 -1
- package/dist/commands/phase/move.js +1 -1
- package/dist/commands/phase/move.js.map +1 -1
- package/dist/commands/phase/template/delete.js +1 -0
- package/dist/commands/phase/template/delete.js.map +1 -1
- package/dist/commands/phase/update.js +1 -1
- package/dist/commands/phase/update.js.map +1 -1
- package/dist/commands/pmo/init.js +2 -2
- package/dist/commands/pmo/init.js.map +1 -1
- package/dist/commands/pr/checks.js +1 -1
- package/dist/commands/pr/checks.js.map +1 -1
- package/dist/commands/pr/create.js +1 -1
- package/dist/commands/pr/create.js.map +1 -1
- package/dist/commands/pr/index.js +1 -1
- package/dist/commands/pr/index.js.map +1 -1
- package/dist/commands/pr/link.js +3 -3
- package/dist/commands/pr/link.js.map +1 -1
- package/dist/commands/pr/list.js +1 -1
- package/dist/commands/pr/list.js.map +1 -1
- package/dist/commands/pr/merge.js +1 -1
- package/dist/commands/pr/merge.js.map +1 -1
- package/dist/commands/pr/status.js +1 -1
- package/dist/commands/pr/status.js.map +1 -1
- package/dist/commands/priority/add.js +2 -2
- package/dist/commands/priority/add.js.map +1 -1
- package/dist/commands/priority/remove.js +2 -2
- package/dist/commands/priority/remove.js.map +1 -1
- package/dist/commands/priority/set.js +2 -2
- package/dist/commands/priority/set.js.map +1 -1
- package/dist/commands/project/archive.js +1 -1
- package/dist/commands/project/archive.js.map +1 -1
- package/dist/commands/project/create.js +4 -0
- package/dist/commands/project/create.js.map +1 -1
- package/dist/commands/project/delete.js +1 -1
- package/dist/commands/project/delete.js.map +1 -1
- package/dist/commands/project/spec.js +1 -1
- package/dist/commands/project/spec.js.map +1 -1
- package/dist/commands/project/unarchive.js +1 -1
- package/dist/commands/project/unarchive.js.map +1 -1
- package/dist/commands/project/update.js +1 -1
- package/dist/commands/project/update.js.map +1 -1
- package/dist/commands/project/view.js +1 -1
- package/dist/commands/project/view.js.map +1 -1
- package/dist/commands/pull.js +3 -0
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/qa/index.js +4 -4
- package/dist/commands/qa/index.js.map +1 -1
- package/dist/commands/repo/add.js +1 -1
- package/dist/commands/repo/add.js.map +1 -1
- package/dist/commands/repo/create.js +1 -1
- package/dist/commands/repo/create.js.map +1 -1
- package/dist/commands/repo/remove.js +2 -2
- package/dist/commands/repo/remove.js.map +1 -1
- package/dist/commands/repo/view.js +1 -1
- package/dist/commands/repo/view.js.map +1 -1
- package/dist/commands/roadmap/create.js +1 -0
- package/dist/commands/roadmap/create.js.map +1 -1
- package/dist/commands/session/create.js +4 -0
- package/dist/commands/session/create.js.map +1 -1
- package/dist/commands/session/exec.js +4 -0
- package/dist/commands/session/exec.js.map +1 -1
- package/dist/commands/session/health.js +2 -0
- package/dist/commands/session/health.js.map +1 -1
- package/dist/commands/session/inspect.js +3 -0
- package/dist/commands/session/inspect.js.map +1 -1
- package/dist/commands/session/peek.js +1 -0
- package/dist/commands/session/peek.js.map +1 -1
- package/dist/commands/session/restart.js +4 -0
- package/dist/commands/session/restart.js.map +1 -1
- package/dist/commands/shortcut/connect.js +4 -4
- package/dist/commands/shortcut/connect.js.map +1 -1
- package/dist/commands/staff/remove.js +1 -1
- package/dist/commands/staff/remove.js.map +1 -1
- package/dist/commands/status/delete.js +2 -1
- package/dist/commands/status/delete.js.map +1 -1
- package/dist/commands/status/list.js +1 -0
- package/dist/commands/status/list.js.map +1 -1
- package/dist/commands/status/move.js +2 -1
- package/dist/commands/status/move.js.map +1 -1
- package/dist/commands/status/update.js +1 -1
- package/dist/commands/status/update.js.map +1 -1
- package/dist/commands/telemetry/disable.js +1 -0
- package/dist/commands/telemetry/disable.js.map +1 -1
- package/dist/commands/telemetry/enable.js +1 -0
- package/dist/commands/telemetry/enable.js.map +1 -1
- package/dist/commands/telemetry/index.js +1 -0
- package/dist/commands/telemetry/index.js.map +1 -1
- package/dist/commands/template/apply.js +2 -2
- package/dist/commands/template/apply.js.map +1 -1
- package/dist/commands/template/delete.js +1 -0
- package/dist/commands/template/delete.js.map +1 -1
- package/dist/commands/template/save.js +1 -0
- package/dist/commands/template/save.js.map +1 -1
- package/dist/commands/template/update.js +1 -0
- package/dist/commands/template/update.js.map +1 -1
- package/dist/commands/ticket/complete.js +1 -1
- package/dist/commands/ticket/complete.js.map +1 -1
- package/dist/commands/ticket/create.js +14 -4
- package/dist/commands/ticket/create.js.map +1 -1
- package/dist/commands/ticket/delete.js +23 -8
- package/dist/commands/ticket/delete.js.map +1 -1
- package/dist/commands/ticket/edit.js +2 -2
- package/dist/commands/ticket/edit.js.map +1 -1
- package/dist/commands/ticket/link/block.js +1 -1
- package/dist/commands/ticket/link/block.js.map +1 -1
- package/dist/commands/ticket/link/duplicates.js +1 -1
- package/dist/commands/ticket/link/duplicates.js.map +1 -1
- package/dist/commands/ticket/link/relates.js +1 -1
- package/dist/commands/ticket/link/relates.js.map +1 -1
- package/dist/commands/ticket/list.d.ts +0 -8
- package/dist/commands/ticket/list.js +15 -121
- package/dist/commands/ticket/list.js.map +1 -1
- package/dist/commands/ticket/move.js +34 -7
- package/dist/commands/ticket/move.js.map +1 -1
- package/dist/commands/ticket/resolve.js +2 -2
- package/dist/commands/ticket/resolve.js.map +1 -1
- package/dist/commands/ticket/status.js +1 -1
- package/dist/commands/ticket/status.js.map +1 -1
- package/dist/commands/ticket/template/delete.js +1 -0
- package/dist/commands/ticket/template/delete.js.map +1 -1
- package/dist/commands/ticket/template/save.js +1 -0
- package/dist/commands/ticket/template/save.js.map +1 -1
- package/dist/commands/ticket/update.js +1 -0
- package/dist/commands/ticket/update.js.map +1 -1
- package/dist/commands/ticket/view.js +1 -1
- package/dist/commands/ticket/view.js.map +1 -1
- package/dist/commands/tools/add.js +6 -0
- package/dist/commands/tools/add.js.map +1 -1
- package/dist/commands/tools/remove.js +3 -0
- package/dist/commands/tools/remove.js.map +1 -1
- package/dist/commands/trello/configure.js +5 -5
- package/dist/commands/trello/configure.js.map +1 -1
- package/dist/commands/trello/import.js +4 -4
- package/dist/commands/trello/import.js.map +1 -1
- package/dist/commands/trello/sync.js +3 -3
- package/dist/commands/trello/sync.js.map +1 -1
- package/dist/commands/version/bump.js +3 -0
- package/dist/commands/version/bump.js.map +1 -1
- package/dist/commands/work/complete.js +34 -1
- package/dist/commands/work/complete.js.map +1 -1
- package/dist/commands/work/hooks/add.js +7 -0
- package/dist/commands/work/hooks/add.js.map +1 -1
- package/dist/commands/work/hooks/list.js +2 -0
- package/dist/commands/work/hooks/list.js.map +1 -1
- package/dist/commands/work/hooks/remove.js +4 -0
- package/dist/commands/work/hooks/remove.js.map +1 -1
- package/dist/commands/work/hooks/toggle.js +4 -0
- package/dist/commands/work/hooks/toggle.js.map +1 -1
- package/dist/commands/work/ready.js +48 -7
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/resolve.js +1 -1
- package/dist/commands/work/resolve.js.map +1 -1
- package/dist/commands/work/review.js +3 -1
- package/dist/commands/work/review.js.map +1 -1
- package/dist/commands/work/revise.js +1 -1
- package/dist/commands/work/revise.js.map +1 -1
- package/dist/commands/work/source/set.js +3 -0
- package/dist/commands/work/source/set.js.map +1 -1
- package/dist/commands/work/source.js +1 -0
- package/dist/commands/work/source.js.map +1 -1
- package/dist/commands/work/spawn.js +4 -3
- package/dist/commands/work/spawn.js.map +1 -1
- package/dist/commands/work/start.js +121 -24
- package/dist/commands/work/start.js.map +1 -1
- package/dist/commands/work/watch.js +1 -1
- package/dist/commands/work/watch.js.map +1 -1
- package/dist/commands/workflow/delete.js +1 -1
- package/dist/commands/workflow/delete.js.map +1 -1
- package/dist/commands/workflow/setup.d.ts +24 -0
- package/dist/commands/workflow/setup.js +351 -0
- package/dist/commands/workflow/setup.js.map +1 -0
- package/dist/commands/workflow/switch.js +1 -1
- package/dist/commands/workflow/switch.js.map +1 -1
- package/dist/commands/workflow/view.js +1 -1
- package/dist/commands/workflow/view.js.map +1 -1
- package/dist/commands/workflow-rule/create.d.ts +19 -0
- package/dist/commands/workflow-rule/create.js +141 -0
- package/dist/commands/workflow-rule/create.js.map +1 -0
- package/dist/commands/workflow-rule/delete.d.ts +18 -0
- package/dist/commands/workflow-rule/delete.js +72 -0
- package/dist/commands/workflow-rule/delete.js.map +1 -0
- package/dist/commands/workflow-rule/index.d.ts +16 -0
- package/dist/commands/workflow-rule/index.js +83 -0
- package/dist/commands/workflow-rule/index.js.map +1 -0
- package/dist/commands/workflow-rule/list.d.ts +17 -0
- package/dist/commands/workflow-rule/list.js +72 -0
- package/dist/commands/workflow-rule/list.js.map +1 -0
- package/dist/commands/workflow-rule/update.d.ts +22 -0
- package/dist/commands/workflow-rule/update.js +84 -0
- package/dist/commands/workflow-rule/update.js.map +1 -0
- package/dist/commands/workspace/add.js +5 -0
- package/dist/commands/workspace/add.js.map +1 -1
- package/dist/commands/workspace/remove.js +1 -1
- package/dist/commands/workspace/remove.js.map +1 -1
- package/dist/hooks/init.js +37 -11
- package/dist/hooks/init.js.map +1 -1
- package/dist/hooks/postrun.d.ts +6 -4
- package/dist/hooks/postrun.js +25 -18
- package/dist/hooks/postrun.js.map +1 -1
- package/dist/lib/database/drizzle-schema.d.ts +269 -4
- package/dist/lib/database/drizzle-schema.js +22 -2
- package/dist/lib/database/drizzle-schema.js.map +1 -1
- package/dist/lib/database/migrations/0003_actions_redesign.d.ts +15 -0
- package/dist/lib/database/migrations/0003_actions_redesign.js +105 -0
- package/dist/lib/database/migrations/0003_actions_redesign.js.map +1 -0
- package/dist/lib/database/migrations/0004_workflow_rules.d.ts +2 -0
- package/dist/lib/database/migrations/0004_workflow_rules.js +25 -0
- package/dist/lib/database/migrations/0004_workflow_rules.js.map +1 -0
- package/dist/lib/database/migrations/index.js +4 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/events/events.d.ts +13 -1
- package/dist/lib/execution/commit-validation.d.ts +58 -0
- package/dist/lib/execution/commit-validation.js +252 -0
- package/dist/lib/execution/commit-validation.js.map +1 -0
- package/dist/lib/execution/config.js +3 -0
- package/dist/lib/execution/config.js.map +1 -1
- package/dist/lib/execution/storage.d.ts +24 -1
- package/dist/lib/execution/storage.js +35 -6
- package/dist/lib/execution/storage.js.map +1 -1
- package/dist/lib/flags/resolver.js +3 -6
- package/dist/lib/flags/resolver.js.map +1 -1
- package/dist/lib/linear/client.d.ts +4 -0
- package/dist/lib/linear/client.js +12 -0
- package/dist/lib/linear/client.js.map +1 -1
- package/dist/lib/onboarding/wizard.js +3 -3
- package/dist/lib/onboarding/wizard.js.map +1 -1
- package/dist/lib/pmo/base-command.d.ts +21 -1
- package/dist/lib/pmo/base-command.js +28 -4
- package/dist/lib/pmo/base-command.js.map +1 -1
- package/dist/lib/pmo/schema.d.ts +3 -1
- package/dist/lib/pmo/schema.js +25 -3
- package/dist/lib/pmo/schema.js.map +1 -1
- package/dist/lib/pmo/storage/actions.d.ts +5 -3
- package/dist/lib/pmo/storage/actions.js +89 -23
- package/dist/lib/pmo/storage/actions.js.map +1 -1
- package/dist/lib/pmo/storage/base.d.ts +5 -0
- package/dist/lib/pmo/storage/base.js +203 -20
- package/dist/lib/pmo/storage/base.js.map +1 -1
- package/dist/lib/pmo/storage/index.d.ts +9 -2
- package/dist/lib/pmo/storage/index.js +28 -3
- package/dist/lib/pmo/storage/index.js.map +1 -1
- package/dist/lib/pmo/storage/types.d.ts +19 -2
- package/dist/lib/pmo/storage/workflow-rules.d.ts +35 -0
- package/dist/lib/pmo/storage/workflow-rules.js +183 -0
- package/dist/lib/pmo/storage/workflow-rules.js.map +1 -0
- package/dist/lib/pmo/sync-manager.js +6 -0
- package/dist/lib/pmo/sync-manager.js.map +1 -1
- package/dist/lib/pmo/types.d.ts +59 -4
- package/dist/lib/pmo/types.js.map +1 -1
- package/dist/lib/prompt-command.js +1 -1
- package/dist/lib/prompt-command.js.map +1 -1
- package/dist/lib/prompt-json.d.ts +19 -11
- package/dist/lib/prompt-json.js +32 -17
- package/dist/lib/prompt-json.js.map +1 -1
- package/dist/lib/providers/index.d.ts +11 -0
- package/dist/lib/providers/index.js +11 -0
- package/dist/lib/providers/index.js.map +1 -0
- package/dist/lib/providers/linear-provider.d.ts +26 -0
- package/dist/lib/providers/linear-provider.js +339 -0
- package/dist/lib/providers/linear-provider.js.map +1 -0
- package/dist/lib/providers/pmo-provider.d.ts +20 -0
- package/dist/lib/providers/pmo-provider.js +83 -0
- package/dist/lib/providers/pmo-provider.js.map +1 -0
- package/dist/lib/providers/resolver.d.ts +44 -0
- package/dist/lib/providers/resolver.js +82 -0
- package/dist/lib/providers/resolver.js.map +1 -0
- package/dist/lib/providers/types.d.ts +136 -0
- package/dist/lib/providers/types.js +12 -0
- package/dist/lib/providers/types.js.map +1 -0
- package/dist/lib/telemetry/analytics.d.ts +25 -7
- package/dist/lib/telemetry/analytics.js +123 -58
- package/dist/lib/telemetry/analytics.js.map +1 -1
- package/dist/lib/update-prompt.d.ts +3 -3
- package/dist/lib/update-prompt.js +15 -10
- package/dist/lib/update-prompt.js.map +1 -1
- package/dist/lib/work-lifecycle/action-chaining.d.ts +61 -0
- package/dist/lib/work-lifecycle/action-chaining.js +211 -0
- package/dist/lib/work-lifecycle/action-chaining.js.map +1 -0
- package/dist/lib/work-lifecycle/index.d.ts +4 -0
- package/dist/lib/work-lifecycle/index.js +4 -0
- package/dist/lib/work-lifecycle/index.js.map +1 -1
- package/dist/lib/work-lifecycle/post-execution.d.ts +85 -0
- package/dist/lib/work-lifecycle/post-execution.js +120 -0
- package/dist/lib/work-lifecycle/post-execution.js.map +1 -0
- package/dist/lib/work-lifecycle/rule-evaluator.d.ts +38 -0
- package/dist/lib/work-lifecycle/rule-evaluator.js +102 -0
- package/dist/lib/work-lifecycle/rule-evaluator.js.map +1 -0
- package/oclif.manifest.json +4248 -3757
- package/package.json +1 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ticket Provider Interface
|
|
3
|
+
*
|
|
4
|
+
* Unified interface for all ticket operations across providers.
|
|
5
|
+
* Whether the ticket lives in local PMO, Linear, Jira, or another system,
|
|
6
|
+
* the same provider interface routes to the right backend.
|
|
7
|
+
*
|
|
8
|
+
* The local PMO is just the default provider for users without integrations,
|
|
9
|
+
* not a cache layer.
|
|
10
|
+
*/
|
|
11
|
+
import type { StateCategory, Ticket, TicketFilter, CreateTicketInput } from '../pmo/types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Supported provider names for ticket operations.
|
|
14
|
+
*/
|
|
15
|
+
export type TicketProviderName = 'pmo' | 'linear' | 'jira' | 'asana' | 'shortcut' | 'trello';
|
|
16
|
+
/**
|
|
17
|
+
* Generic result of a provider operation.
|
|
18
|
+
*/
|
|
19
|
+
export interface ProviderResult {
|
|
20
|
+
/** Whether the operation succeeded */
|
|
21
|
+
success: boolean;
|
|
22
|
+
/** The provider that handled the operation */
|
|
23
|
+
provider: TicketProviderName;
|
|
24
|
+
/** Error message if the operation failed */
|
|
25
|
+
error?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of a provider moveTicket operation.
|
|
29
|
+
*/
|
|
30
|
+
export interface ProviderMoveResult extends ProviderResult {
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Result of a provider deleteTicket operation.
|
|
34
|
+
*/
|
|
35
|
+
export interface ProviderDeleteResult extends ProviderResult {
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Result of a provider listTickets operation.
|
|
39
|
+
*/
|
|
40
|
+
export interface ProviderListResult extends ProviderResult {
|
|
41
|
+
/** Tickets returned by the provider */
|
|
42
|
+
tickets: Ticket[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Result of a provider createTicket operation.
|
|
46
|
+
*/
|
|
47
|
+
export interface ProviderCreateResult extends ProviderResult {
|
|
48
|
+
/** The created ticket */
|
|
49
|
+
ticket?: Ticket;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Result of a provider getTicket operation.
|
|
53
|
+
*/
|
|
54
|
+
export interface ProviderGetResult extends ProviderResult {
|
|
55
|
+
/** The retrieved ticket */
|
|
56
|
+
ticket?: Ticket | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Ticket provider interface — same contract for all backends.
|
|
60
|
+
*
|
|
61
|
+
* Implementations:
|
|
62
|
+
* - PMOTicketProvider: writes to local SQLite (emits ticket:status_changed)
|
|
63
|
+
* - LinearTicketProvider: calls Linear API, then updates local PMO
|
|
64
|
+
*/
|
|
65
|
+
export interface TicketProvider {
|
|
66
|
+
/** Which provider this is */
|
|
67
|
+
readonly name: TicketProviderName;
|
|
68
|
+
/**
|
|
69
|
+
* Move a ticket to a new state.
|
|
70
|
+
*
|
|
71
|
+
* @param ticketId - The PMO ticket ID (e.g., "TKT-142")
|
|
72
|
+
* @param newState - The target state name (e.g., "Review")
|
|
73
|
+
* @returns Result of the move operation
|
|
74
|
+
*/
|
|
75
|
+
moveTicket(ticketId: string, newState: string): Promise<ProviderMoveResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Delete a ticket.
|
|
78
|
+
*
|
|
79
|
+
* @param ticketId - The PMO ticket ID (e.g., "TKT-142")
|
|
80
|
+
* @returns Result of the delete operation
|
|
81
|
+
*/
|
|
82
|
+
deleteTicket(ticketId: string): Promise<ProviderDeleteResult>;
|
|
83
|
+
/**
|
|
84
|
+
* List tickets, optionally filtered.
|
|
85
|
+
*
|
|
86
|
+
* @param projectId - Optional project scope
|
|
87
|
+
* @param filter - Optional filters (column, priority, search, etc.)
|
|
88
|
+
* @returns Result with tickets array
|
|
89
|
+
*/
|
|
90
|
+
listTickets(projectId?: string, filter?: TicketFilter): Promise<ProviderListResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Create a ticket.
|
|
93
|
+
*
|
|
94
|
+
* @param projectId - The project to create the ticket in
|
|
95
|
+
* @param input - Ticket creation input
|
|
96
|
+
* @returns Result with the created ticket
|
|
97
|
+
*/
|
|
98
|
+
createTicket(projectId: string, input: CreateTicketInput): Promise<ProviderCreateResult>;
|
|
99
|
+
/**
|
|
100
|
+
* Get a single ticket by ID.
|
|
101
|
+
*
|
|
102
|
+
* @param ticketId - The ticket ID
|
|
103
|
+
* @returns Result with the ticket (or null if not found)
|
|
104
|
+
*/
|
|
105
|
+
getTicket(ticketId: string): Promise<ProviderGetResult>;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Context needed to resolve and create a ticket provider.
|
|
109
|
+
*/
|
|
110
|
+
export interface ProviderContext {
|
|
111
|
+
/** Ticket's external source (from metadata), e.g., 'linear' */
|
|
112
|
+
externalSource?: string | null;
|
|
113
|
+
/** Ticket's external ID in the source system */
|
|
114
|
+
externalId?: string | null;
|
|
115
|
+
/** Ticket's project ID in the PMO */
|
|
116
|
+
projectId?: string | null;
|
|
117
|
+
/** Ticket's current status category */
|
|
118
|
+
statusCategory?: StateCategory | null;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Storage interface required by providers.
|
|
122
|
+
* SQLiteStorage satisfies this interface.
|
|
123
|
+
*/
|
|
124
|
+
export interface ProviderStorage {
|
|
125
|
+
getTicket: (id: string) => Promise<Ticket | null>;
|
|
126
|
+
getProjectBoard: (projectId: string) => Promise<{
|
|
127
|
+
columns: Array<{
|
|
128
|
+
name: string;
|
|
129
|
+
}>;
|
|
130
|
+
} | null>;
|
|
131
|
+
moveTicket: (projectId: string, ticketId: string, columnName: string, position?: number) => Promise<Ticket>;
|
|
132
|
+
deleteTicket: (id: string) => Promise<void>;
|
|
133
|
+
listTickets: (projectId: string | undefined, filter?: TicketFilter) => Promise<Ticket[]>;
|
|
134
|
+
createTicket: (projectId: string, input: CreateTicketInput) => Promise<Ticket>;
|
|
135
|
+
getDatabase: () => import('better-sqlite3').Database;
|
|
136
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ticket Provider Interface
|
|
3
|
+
*
|
|
4
|
+
* Unified interface for all ticket operations across providers.
|
|
5
|
+
* Whether the ticket lives in local PMO, Linear, Jira, or another system,
|
|
6
|
+
* the same provider interface routes to the right backend.
|
|
7
|
+
*
|
|
8
|
+
* The local PMO is just the default provider for users without integrations,
|
|
9
|
+
* not a cache layer.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -12,7 +12,14 @@
|
|
|
12
12
|
* Privacy:
|
|
13
13
|
* - Anonymous machine ID (UUID) stored in ~/.proletariat/telemetry.json
|
|
14
14
|
* - No file paths, usernames, or ticket content ever sent
|
|
15
|
-
* - Events are
|
|
15
|
+
* - Events are written to a local queue file and flushed on the next run
|
|
16
|
+
*
|
|
17
|
+
* Write-ahead log:
|
|
18
|
+
* - trackEvent() writes events to ~/.proletariat/telemetry-queue.json synchronously
|
|
19
|
+
* - On the next command run (or during this run's shutdown if Statsig initialized in time),
|
|
20
|
+
* queued events are flushed to Statsig and the queue is cleared
|
|
21
|
+
* - Events are delayed by at most one command invocation — acceptable for analytics
|
|
22
|
+
* - This adds zero latency and ensures no events are lost regardless of Statsig init timing
|
|
16
23
|
*/
|
|
17
24
|
/**
|
|
18
25
|
* Check if telemetry is disabled by environment variables or config.
|
|
@@ -40,12 +47,23 @@ export declare function getTelemetryStatus(): {
|
|
|
40
47
|
*/
|
|
41
48
|
export declare function getMachineId(): string;
|
|
42
49
|
/**
|
|
43
|
-
*
|
|
50
|
+
* Flush queued events to Statsig. Requires an initialized Statsig client.
|
|
51
|
+
* Called during shutdown or at the start of the next command run.
|
|
52
|
+
*/
|
|
53
|
+
export declare function flushQueuedEvents(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Initialize the Statsig SDK and flush any queued events from previous runs.
|
|
56
|
+
* Called from the init hook. The Statsig init is fire-and-forget — event
|
|
57
|
+
* tracking does not depend on it (events go to the disk queue instead).
|
|
58
|
+
* Statsig is still needed for feature flags.
|
|
59
|
+
*
|
|
44
60
|
* No-op if telemetry is disabled.
|
|
45
61
|
*/
|
|
46
|
-
export declare function initAnalytics(version: string):
|
|
62
|
+
export declare function initAnalytics(version: string): void;
|
|
47
63
|
/**
|
|
48
|
-
* Track an analytics event.
|
|
64
|
+
* Track an analytics event. Writes to a local disk queue synchronously —
|
|
65
|
+
* never blocks on network I/O. Events are flushed to Statsig on the next
|
|
66
|
+
* command run (or during this run's shutdown if Statsig initialized in time).
|
|
49
67
|
*
|
|
50
68
|
* @param eventName - Event name (e.g., 'command_run')
|
|
51
69
|
* @param value - Optional numeric or string value
|
|
@@ -99,8 +117,8 @@ export declare function trackMCPToolCalled(options: {
|
|
|
99
117
|
success: boolean;
|
|
100
118
|
}): void;
|
|
101
119
|
/**
|
|
102
|
-
* Flush
|
|
103
|
-
*
|
|
104
|
-
*
|
|
120
|
+
* Flush queued events (if Statsig is ready) and shut down the Statsig client.
|
|
121
|
+
* No timeout, no waiting for init — events are safely on disk if Statsig
|
|
122
|
+
* didn't initialize in time, and will be flushed on the next command run.
|
|
105
123
|
*/
|
|
106
124
|
export declare function shutdownAnalytics(): Promise<void>;
|
|
@@ -12,7 +12,14 @@
|
|
|
12
12
|
* Privacy:
|
|
13
13
|
* - Anonymous machine ID (UUID) stored in ~/.proletariat/telemetry.json
|
|
14
14
|
* - No file paths, usernames, or ticket content ever sent
|
|
15
|
-
* - Events are
|
|
15
|
+
* - Events are written to a local queue file and flushed on the next run
|
|
16
|
+
*
|
|
17
|
+
* Write-ahead log:
|
|
18
|
+
* - trackEvent() writes events to ~/.proletariat/telemetry-queue.json synchronously
|
|
19
|
+
* - On the next command run (or during this run's shutdown if Statsig initialized in time),
|
|
20
|
+
* queued events are flushed to Statsig and the queue is cleared
|
|
21
|
+
* - Events are delayed by at most one command invocation — acceptable for analytics
|
|
22
|
+
* - This adds zero latency and ensures no events are lost regardless of Statsig init timing
|
|
16
23
|
*/
|
|
17
24
|
import * as fs from 'node:fs';
|
|
18
25
|
import * as path from 'node:path';
|
|
@@ -20,16 +27,13 @@ import * as crypto from 'node:crypto';
|
|
|
20
27
|
import { getMachineConfigDir, ensureMachineConfigDir } from '../machine-config.js';
|
|
21
28
|
// Statsig client SDK key (public — safe to embed in open source repos)
|
|
22
29
|
const STATSIG_CLIENT_KEY = 'client-kvxMxRhn9NFSmH8orl7e2W9nYTfWVS7Kjf7yRTdIecc';
|
|
23
|
-
//
|
|
24
|
-
const
|
|
30
|
+
// Cap the queue size to prevent unbounded growth if events never flush
|
|
31
|
+
const MAX_QUEUE_SIZE = 1000;
|
|
25
32
|
// Module-level state
|
|
26
33
|
let statsigClient = null;
|
|
27
34
|
let telemetryConfig = null;
|
|
28
35
|
let cliVersion = null;
|
|
29
36
|
let initPromise = null;
|
|
30
|
-
// Events logged before the Statsig client finishes initializing.
|
|
31
|
-
// These are replayed once init completes (in shutdownAnalytics).
|
|
32
|
-
let pendingEvents = [];
|
|
33
37
|
// ─── Telemetry Config ────────────────────────────────────────────────────────
|
|
34
38
|
function getTelemetryConfigPath() {
|
|
35
39
|
return path.join(getMachineConfigDir(), 'telemetry.json');
|
|
@@ -158,16 +162,106 @@ function showTelemetryNotice() {
|
|
|
158
162
|
export function getMachineId() {
|
|
159
163
|
return readTelemetryConfig().machineId;
|
|
160
164
|
}
|
|
165
|
+
// ─── Event Queue (Write-Ahead Log) ───────────────────────────────────────────
|
|
166
|
+
function getQueuePath() {
|
|
167
|
+
return path.join(getMachineConfigDir(), 'telemetry-queue.json');
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Append an event to the on-disk queue. Synchronous — adds zero async latency.
|
|
171
|
+
*/
|
|
172
|
+
function writeEventToQueue(event) {
|
|
173
|
+
try {
|
|
174
|
+
ensureMachineConfigDir();
|
|
175
|
+
const queuePath = getQueuePath();
|
|
176
|
+
let queue = [];
|
|
177
|
+
if (fs.existsSync(queuePath)) {
|
|
178
|
+
try {
|
|
179
|
+
const raw = fs.readFileSync(queuePath, 'utf-8');
|
|
180
|
+
const parsed = JSON.parse(raw);
|
|
181
|
+
if (Array.isArray(parsed))
|
|
182
|
+
queue = parsed;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
// Corrupted file — start fresh
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
queue.push(event);
|
|
189
|
+
// Cap queue size to prevent unbounded growth
|
|
190
|
+
if (queue.length > MAX_QUEUE_SIZE) {
|
|
191
|
+
queue = queue.slice(queue.length - MAX_QUEUE_SIZE);
|
|
192
|
+
}
|
|
193
|
+
// Atomic write via temp file + rename
|
|
194
|
+
const tempPath = `${queuePath}.tmp.${process.pid}`;
|
|
195
|
+
fs.writeFileSync(tempPath, JSON.stringify(queue), 'utf-8');
|
|
196
|
+
fs.renameSync(tempPath, queuePath);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
// Never let queue errors affect the CLI
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Atomically read and clear the queue file.
|
|
204
|
+
* Uses rename to claim the file so concurrent processes don't double-send.
|
|
205
|
+
*/
|
|
206
|
+
function readAndClearQueue() {
|
|
207
|
+
const queuePath = getQueuePath();
|
|
208
|
+
const claimPath = `${queuePath}.flush.${process.pid}`;
|
|
209
|
+
try {
|
|
210
|
+
// Atomic rename — only one process can claim the file
|
|
211
|
+
fs.renameSync(queuePath, claimPath);
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// File doesn't exist or another process already claimed it
|
|
215
|
+
return [];
|
|
216
|
+
}
|
|
217
|
+
try {
|
|
218
|
+
const raw = fs.readFileSync(claimPath, 'utf-8');
|
|
219
|
+
const parsed = JSON.parse(raw);
|
|
220
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
return [];
|
|
224
|
+
}
|
|
225
|
+
finally {
|
|
226
|
+
try {
|
|
227
|
+
fs.unlinkSync(claimPath);
|
|
228
|
+
}
|
|
229
|
+
catch { /* ignore */ }
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Flush queued events to Statsig. Requires an initialized Statsig client.
|
|
234
|
+
* Called during shutdown or at the start of the next command run.
|
|
235
|
+
*/
|
|
236
|
+
export function flushQueuedEvents() {
|
|
237
|
+
if (!statsigClient)
|
|
238
|
+
return;
|
|
239
|
+
const events = readAndClearQueue();
|
|
240
|
+
for (const event of events) {
|
|
241
|
+
try {
|
|
242
|
+
statsigClient.logEvent(event.name, event.value, event.metadata);
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
// Drop individual events silently
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
161
249
|
// ─── Statsig Client ──────────────────────────────────────────────────────────
|
|
162
250
|
/**
|
|
163
|
-
* Initialize the Statsig SDK
|
|
251
|
+
* Initialize the Statsig SDK and flush any queued events from previous runs.
|
|
252
|
+
* Called from the init hook. The Statsig init is fire-and-forget — event
|
|
253
|
+
* tracking does not depend on it (events go to the disk queue instead).
|
|
254
|
+
* Statsig is still needed for feature flags.
|
|
255
|
+
*
|
|
164
256
|
* No-op if telemetry is disabled.
|
|
165
257
|
*/
|
|
166
258
|
export function initAnalytics(version) {
|
|
167
259
|
cliVersion = version;
|
|
168
260
|
if (!isTelemetryEnabled())
|
|
169
|
-
return
|
|
261
|
+
return;
|
|
170
262
|
showTelemetryNotice();
|
|
263
|
+
// Start Statsig init in background — not needed for event logging,
|
|
264
|
+
// but enables feature flags and allows queue flush if init completes in time
|
|
171
265
|
initPromise = (async () => {
|
|
172
266
|
try {
|
|
173
267
|
const { StatsigClient: StatsigClientClass } = await import('@statsig/js-client');
|
|
@@ -177,17 +271,20 @@ export function initAnalytics(version) {
|
|
|
177
271
|
// Share Statsig client with feature-flags for synchronous gate checks
|
|
178
272
|
const { setStatsigClient } = await import('./feature-flags.js');
|
|
179
273
|
setStatsigClient(client);
|
|
274
|
+
// Statsig is ready — flush any events queued from previous runs
|
|
275
|
+
flushQueuedEvents();
|
|
180
276
|
}
|
|
181
277
|
catch {
|
|
182
278
|
// If Statsig can't initialize, fail silently — analytics should never break the CLI
|
|
183
279
|
statsigClient = null;
|
|
184
280
|
}
|
|
185
281
|
})();
|
|
186
|
-
return initPromise;
|
|
187
282
|
}
|
|
188
283
|
// ─── Event Tracking ──────────────────────────────────────────────────────────
|
|
189
284
|
/**
|
|
190
|
-
* Track an analytics event.
|
|
285
|
+
* Track an analytics event. Writes to a local disk queue synchronously —
|
|
286
|
+
* never blocks on network I/O. Events are flushed to Statsig on the next
|
|
287
|
+
* command run (or during this run's shutdown if Statsig initialized in time).
|
|
191
288
|
*
|
|
192
289
|
* @param eventName - Event name (e.g., 'command_run')
|
|
193
290
|
* @param value - Optional numeric or string value
|
|
@@ -203,13 +300,12 @@ export function trackEvent(eventName, value, metadata) {
|
|
|
203
300
|
: cliVersion
|
|
204
301
|
? { cli_version: cliVersion }
|
|
205
302
|
: null;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}
|
|
303
|
+
writeEventToQueue({
|
|
304
|
+
name: eventName,
|
|
305
|
+
value,
|
|
306
|
+
metadata: stringMetadata,
|
|
307
|
+
timestamp: new Date().toISOString(),
|
|
308
|
+
});
|
|
213
309
|
}
|
|
214
310
|
catch {
|
|
215
311
|
// Never let analytics errors affect the CLI
|
|
@@ -273,54 +369,23 @@ export function trackMCPToolCalled(options) {
|
|
|
273
369
|
}
|
|
274
370
|
// ─── Shutdown ────────────────────────────────────────────────────────────────
|
|
275
371
|
/**
|
|
276
|
-
*
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
if (!statsigClient || pendingEvents.length === 0)
|
|
280
|
-
return;
|
|
281
|
-
for (const event of pendingEvents) {
|
|
282
|
-
try {
|
|
283
|
-
statsigClient.logEvent(event.name, event.value, event.metadata);
|
|
284
|
-
}
|
|
285
|
-
catch {
|
|
286
|
-
// Drop individual events silently
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
pendingEvents = [];
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Flush pending events and shut down the Statsig client.
|
|
293
|
-
* Called from the postrun hook. Caps total wait at SHUTDOWN_TIMEOUT_MS
|
|
294
|
-
* so analytics never adds more than 500ms to CLI exit time.
|
|
372
|
+
* Flush queued events (if Statsig is ready) and shut down the Statsig client.
|
|
373
|
+
* No timeout, no waiting for init — events are safely on disk if Statsig
|
|
374
|
+
* didn't initialize in time, and will be flushed on the next command run.
|
|
295
375
|
*/
|
|
296
376
|
export async function shutdownAnalytics() {
|
|
297
|
-
//
|
|
298
|
-
|
|
299
|
-
|
|
377
|
+
// Abandon any in-progress init — events are on disk, no need to wait
|
|
378
|
+
initPromise = null;
|
|
379
|
+
// If Statsig initialized during this run, flush queued events and shut down
|
|
380
|
+
if (statsigClient) {
|
|
381
|
+
flushQueuedEvents();
|
|
300
382
|
try {
|
|
301
|
-
|
|
302
|
-
initPromise,
|
|
303
|
-
new Promise((resolve) => setTimeout(resolve, SHUTDOWN_TIMEOUT_MS)),
|
|
304
|
-
]);
|
|
383
|
+
statsigClient.shutdown();
|
|
305
384
|
}
|
|
306
385
|
catch {
|
|
307
|
-
//
|
|
386
|
+
// Never let shutdown errors affect the CLI
|
|
308
387
|
}
|
|
309
|
-
initPromise = null;
|
|
310
|
-
}
|
|
311
|
-
// Replay any events that were buffered while init was in progress
|
|
312
|
-
flushPendingEvents();
|
|
313
|
-
if (!statsigClient)
|
|
314
|
-
return;
|
|
315
|
-
try {
|
|
316
|
-
statsigClient.shutdown();
|
|
317
|
-
}
|
|
318
|
-
catch {
|
|
319
|
-
// Never let shutdown errors affect the CLI
|
|
320
|
-
}
|
|
321
|
-
finally {
|
|
322
388
|
statsigClient = null;
|
|
323
|
-
// Clear feature-flags module reference
|
|
324
389
|
try {
|
|
325
390
|
const { setStatsigClient } = await import('./feature-flags.js');
|
|
326
391
|
setStatsigClient(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/lib/telemetry/analytics.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/lib/telemetry/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,8 +48,8 @@ export declare function showUpdatePrompt(info: UpdateInfo): Promise<UpdateAction
|
|
|
48
48
|
* 3. If an update is available, show interactive prompt
|
|
49
49
|
* 4. Handle the user's choice
|
|
50
50
|
*
|
|
51
|
-
* Returns
|
|
52
|
-
*
|
|
51
|
+
* Returns 'continue' if the command should proceed, or 'stop' if the
|
|
52
|
+
* init hook should halt (e.g., after an update attempt).
|
|
53
53
|
*/
|
|
54
|
-
export declare function handleUpdatePrompt(info: UpdateInfo): Promise<
|
|
54
|
+
export declare function handleUpdatePrompt(info: UpdateInfo): Promise<'continue' | 'stop'>;
|
|
55
55
|
export {};
|
|
@@ -129,8 +129,10 @@ export async function showUpdatePrompt(info) {
|
|
|
129
129
|
// Action handlers
|
|
130
130
|
// ---------------------------------------------------------------------------
|
|
131
131
|
/**
|
|
132
|
-
* Execute the update command, then
|
|
132
|
+
* Execute the update command, then signal the caller to stop.
|
|
133
133
|
* Runs synchronously so the user sees output in real time.
|
|
134
|
+
* Returns 'updated' on success or 'failed' on failure, so the
|
|
135
|
+
* init hook can exit cleanly through oclif lifecycle.
|
|
134
136
|
*/
|
|
135
137
|
async function executeUpdate(info) {
|
|
136
138
|
console.log('');
|
|
@@ -143,7 +145,7 @@ async function executeUpdate(info) {
|
|
|
143
145
|
});
|
|
144
146
|
console.log('');
|
|
145
147
|
console.log('Update complete! Run your command again to use the new version.');
|
|
146
|
-
|
|
148
|
+
return 'updated';
|
|
147
149
|
}
|
|
148
150
|
catch {
|
|
149
151
|
console.error('');
|
|
@@ -153,7 +155,7 @@ async function executeUpdate(info) {
|
|
|
153
155
|
if (info.packageManager === 'brew' && info.staleTap?.isStale) {
|
|
154
156
|
await printStaleTapGuidance();
|
|
155
157
|
}
|
|
156
|
-
|
|
158
|
+
return 'failed';
|
|
157
159
|
}
|
|
158
160
|
}
|
|
159
161
|
// ---------------------------------------------------------------------------
|
|
@@ -166,23 +168,25 @@ async function executeUpdate(info) {
|
|
|
166
168
|
* 3. If an update is available, show interactive prompt
|
|
167
169
|
* 4. Handle the user's choice
|
|
168
170
|
*
|
|
169
|
-
* Returns
|
|
170
|
-
*
|
|
171
|
+
* Returns 'continue' if the command should proceed, or 'stop' if the
|
|
172
|
+
* init hook should halt (e.g., after an update attempt).
|
|
171
173
|
*/
|
|
172
174
|
export async function handleUpdatePrompt(info) {
|
|
173
175
|
if (shouldSuppressPrompt())
|
|
174
|
-
return;
|
|
176
|
+
return 'continue';
|
|
175
177
|
// Show stale tap guidance when detected (even if no version update is cached)
|
|
176
178
|
if (info.staleTap?.isStale) {
|
|
177
179
|
await printStaleTapGuidance();
|
|
178
180
|
}
|
|
179
181
|
if (!info.updateAvailable)
|
|
180
|
-
return;
|
|
182
|
+
return 'continue';
|
|
181
183
|
const action = await showUpdatePrompt(info);
|
|
182
184
|
switch (action) {
|
|
183
|
-
case 'update':
|
|
184
|
-
await executeUpdate(info);
|
|
185
|
-
|
|
185
|
+
case 'update': {
|
|
186
|
+
const result = await executeUpdate(info);
|
|
187
|
+
process.exitCode = result === 'updated' ? 0 : 1;
|
|
188
|
+
return 'stop';
|
|
189
|
+
}
|
|
186
190
|
case 'skip':
|
|
187
191
|
// Session-only dismiss — do nothing, just continue
|
|
188
192
|
break;
|
|
@@ -192,5 +196,6 @@ export async function handleUpdatePrompt(info) {
|
|
|
192
196
|
}
|
|
193
197
|
break;
|
|
194
198
|
}
|
|
199
|
+
return 'continue';
|
|
195
200
|
}
|
|
196
201
|
//# sourceMappingURL=update-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-prompt.js","sourceRoot":"","sources":["../../src/lib/update-prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update-prompt.js","sourceRoot":"","sources":["../../src/lib/update-prompt.ts"],"names":[],"mappings":"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"}
|