@jonit-dev/night-watch-cli 1.7.29 → 1.7.31
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/bin/night-watch.mjs +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/{src/cli.js → cli.js} +1 -0
- package/dist/cli.js.map +1 -0
- package/dist/{src/commands → commands}/audit.d.ts +2 -2
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +105 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/{src/commands → commands}/board.d.ts +1 -1
- package/dist/commands/board.d.ts.map +1 -0
- package/dist/commands/board.js +664 -0
- package/dist/commands/board.js.map +1 -0
- package/dist/{src/commands → commands}/cancel.d.ts +3 -3
- package/dist/commands/cancel.d.ts.map +1 -0
- package/dist/{src/commands → commands}/cancel.js +18 -20
- package/dist/commands/cancel.js.map +1 -0
- package/dist/commands/dashboard/tab-actions.d.ts.map +1 -0
- package/dist/commands/dashboard/tab-actions.js.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-config.d.ts +3 -3
- package/dist/commands/dashboard/tab-config.d.ts.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-config.js +250 -187
- package/dist/commands/dashboard/tab-config.js.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-logs.d.ts +1 -1
- package/dist/commands/dashboard/tab-logs.d.ts.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-logs.js +62 -38
- package/dist/commands/dashboard/tab-logs.js.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-schedules.d.ts +1 -1
- package/dist/commands/dashboard/tab-schedules.d.ts.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-schedules.js +85 -76
- package/dist/commands/dashboard/tab-schedules.js.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-status.d.ts +7 -7
- package/dist/commands/dashboard/tab-status.d.ts.map +1 -0
- package/dist/{src/commands → commands}/dashboard/tab-status.js +98 -95
- package/dist/commands/dashboard/tab-status.js.map +1 -0
- package/dist/{src/commands → commands}/dashboard/types.d.ts +3 -4
- package/dist/commands/dashboard/types.d.ts.map +1 -0
- package/dist/commands/dashboard/types.js.map +1 -0
- package/dist/{src/commands → commands}/dashboard.d.ts +2 -2
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/{src/commands → commands}/dashboard.js +32 -33
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/{src/commands → commands}/doctor.d.ts +2 -2
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/{src/commands → commands}/doctor.js +40 -43
- package/dist/commands/doctor.js.map +1 -0
- package/dist/{src/commands → commands}/history.d.ts +1 -1
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/{src/commands → commands}/history.js +11 -18
- package/dist/commands/history.js.map +1 -0
- package/dist/{src/commands → commands}/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/{src/commands → commands}/init.js +62 -36
- package/dist/commands/init.js.map +1 -0
- package/dist/{src/commands → commands}/install.d.ts +2 -2
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/{src/commands → commands}/install.js +48 -50
- package/dist/commands/install.js.map +1 -0
- package/dist/{src/commands → commands}/logs.d.ts +1 -1
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/{src/commands → commands}/logs.js +29 -30
- package/dist/commands/logs.js.map +1 -0
- package/dist/{src/commands → commands}/prd-state.d.ts +1 -1
- package/dist/commands/prd-state.d.ts.map +1 -0
- package/dist/{src/commands → commands}/prd-state.js +14 -14
- package/dist/commands/prd-state.js.map +1 -0
- package/dist/{src/commands → commands}/prd.d.ts +1 -1
- package/dist/commands/prd.d.ts.map +1 -0
- package/dist/{src/commands → commands}/prd.js +57 -66
- package/dist/commands/prd.js.map +1 -0
- package/dist/{src/commands → commands}/prds.d.ts +1 -1
- package/dist/commands/prds.d.ts.map +1 -0
- package/dist/{src/commands → commands}/prds.js +51 -53
- package/dist/commands/prds.js.map +1 -0
- package/dist/{src/commands → commands}/prs.d.ts +1 -1
- package/dist/commands/prs.d.ts.map +1 -0
- package/dist/{src/commands → commands}/prs.js +22 -24
- package/dist/commands/prs.js.map +1 -0
- package/dist/{src/commands → commands}/qa.d.ts +2 -2
- package/dist/commands/qa.d.ts.map +1 -0
- package/dist/{src/commands → commands}/qa.js +50 -51
- package/dist/commands/qa.js.map +1 -0
- package/dist/{src/commands → commands}/retry.d.ts +1 -1
- package/dist/commands/retry.d.ts.map +1 -0
- package/dist/{src/commands → commands}/retry.js +9 -10
- package/dist/commands/retry.js.map +1 -0
- package/dist/{src/commands → commands}/review.d.ts +2 -2
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/{src/commands → commands}/review.js +68 -59
- package/dist/commands/review.js.map +1 -0
- package/dist/{src/commands → commands}/run.d.ts +2 -2
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/{src/commands → commands}/run.js +87 -83
- package/dist/commands/run.js.map +1 -0
- package/dist/{src/commands → commands}/serve.d.ts +2 -2
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/{src/commands → commands}/serve.js +18 -18
- package/dist/commands/serve.js.map +1 -0
- package/dist/{src/commands → commands}/slice.d.ts +2 -2
- package/dist/commands/slice.d.ts.map +1 -0
- package/dist/{src/commands → commands}/slice.js +50 -46
- package/dist/commands/slice.js.map +1 -0
- package/dist/{src/commands → commands}/state.d.ts +1 -1
- package/dist/commands/state.d.ts.map +1 -0
- package/dist/{src/commands → commands}/state.js +20 -22
- package/dist/commands/state.js.map +1 -0
- package/dist/{src/commands → commands}/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/{src/commands → commands}/status.js +75 -54
- package/dist/commands/status.js.map +1 -0
- package/dist/{src/commands → commands}/uninstall.d.ts +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/{src/commands → commands}/uninstall.js +12 -14
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/{src/commands → commands}/update.d.ts +1 -1
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/{src/commands → commands}/update.js +23 -23
- package/dist/commands/update.js.map +1 -0
- package/package.json +18 -42
- package/LICENSE +0 -21
- package/README.md +0 -132
- package/dist/shared/types.d.ts +0 -226
- package/dist/shared/types.d.ts.map +0 -1
- package/dist/shared/types.js +0 -7
- package/dist/shared/types.js.map +0 -1
- package/dist/src/agents/soul-compiler.d.ts +0 -11
- package/dist/src/agents/soul-compiler.d.ts.map +0 -1
- package/dist/src/agents/soul-compiler.js +0 -157
- package/dist/src/agents/soul-compiler.js.map +0 -1
- package/dist/src/board/factory.d.ts +0 -3
- package/dist/src/board/factory.d.ts.map +0 -1
- package/dist/src/board/factory.js +0 -10
- package/dist/src/board/factory.js.map +0 -1
- package/dist/src/board/providers/github-graphql.d.ts +0 -16
- package/dist/src/board/providers/github-graphql.d.ts.map +0 -1
- package/dist/src/board/providers/github-graphql.js +0 -43
- package/dist/src/board/providers/github-graphql.js.map +0 -1
- package/dist/src/board/providers/github-projects.d.ts +0 -51
- package/dist/src/board/providers/github-projects.d.ts.map +0 -1
- package/dist/src/board/providers/github-projects.js +0 -672
- package/dist/src/board/providers/github-projects.js.map +0 -1
- package/dist/src/board/types.d.ts +0 -60
- package/dist/src/board/types.d.ts.map +0 -1
- package/dist/src/board/types.js +0 -4
- package/dist/src/board/types.js.map +0 -1
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js.map +0 -1
- package/dist/src/commands/audit.d.ts.map +0 -1
- package/dist/src/commands/audit.js +0 -98
- package/dist/src/commands/audit.js.map +0 -1
- package/dist/src/commands/board.d.ts.map +0 -1
- package/dist/src/commands/board.js +0 -294
- package/dist/src/commands/board.js.map +0 -1
- package/dist/src/commands/cancel.d.ts.map +0 -1
- package/dist/src/commands/cancel.js.map +0 -1
- package/dist/src/commands/dashboard/tab-actions.d.ts.map +0 -1
- package/dist/src/commands/dashboard/tab-actions.js.map +0 -1
- package/dist/src/commands/dashboard/tab-config.d.ts.map +0 -1
- package/dist/src/commands/dashboard/tab-config.js.map +0 -1
- package/dist/src/commands/dashboard/tab-logs.d.ts.map +0 -1
- package/dist/src/commands/dashboard/tab-logs.js.map +0 -1
- package/dist/src/commands/dashboard/tab-schedules.d.ts.map +0 -1
- package/dist/src/commands/dashboard/tab-schedules.js.map +0 -1
- package/dist/src/commands/dashboard/tab-status.d.ts.map +0 -1
- package/dist/src/commands/dashboard/tab-status.js.map +0 -1
- package/dist/src/commands/dashboard/types.d.ts.map +0 -1
- package/dist/src/commands/dashboard/types.js.map +0 -1
- package/dist/src/commands/dashboard.d.ts.map +0 -1
- package/dist/src/commands/dashboard.js.map +0 -1
- package/dist/src/commands/doctor.d.ts.map +0 -1
- package/dist/src/commands/doctor.js.map +0 -1
- package/dist/src/commands/history.d.ts.map +0 -1
- package/dist/src/commands/history.js.map +0 -1
- package/dist/src/commands/init.d.ts.map +0 -1
- package/dist/src/commands/init.js.map +0 -1
- package/dist/src/commands/install.d.ts.map +0 -1
- package/dist/src/commands/install.js.map +0 -1
- package/dist/src/commands/logs.d.ts.map +0 -1
- package/dist/src/commands/logs.js.map +0 -1
- package/dist/src/commands/prd-state.d.ts.map +0 -1
- package/dist/src/commands/prd-state.js.map +0 -1
- package/dist/src/commands/prd.d.ts.map +0 -1
- package/dist/src/commands/prd.js.map +0 -1
- package/dist/src/commands/prds.d.ts.map +0 -1
- package/dist/src/commands/prds.js.map +0 -1
- package/dist/src/commands/prs.d.ts.map +0 -1
- package/dist/src/commands/prs.js.map +0 -1
- package/dist/src/commands/qa.d.ts.map +0 -1
- package/dist/src/commands/qa.js.map +0 -1
- package/dist/src/commands/retry.d.ts.map +0 -1
- package/dist/src/commands/retry.js.map +0 -1
- package/dist/src/commands/review.d.ts.map +0 -1
- package/dist/src/commands/review.js.map +0 -1
- package/dist/src/commands/run.d.ts.map +0 -1
- package/dist/src/commands/run.js.map +0 -1
- package/dist/src/commands/serve.d.ts.map +0 -1
- package/dist/src/commands/serve.js.map +0 -1
- package/dist/src/commands/slice.d.ts.map +0 -1
- package/dist/src/commands/slice.js.map +0 -1
- package/dist/src/commands/state.d.ts.map +0 -1
- package/dist/src/commands/state.js.map +0 -1
- package/dist/src/commands/status.d.ts.map +0 -1
- package/dist/src/commands/status.js.map +0 -1
- package/dist/src/commands/uninstall.d.ts.map +0 -1
- package/dist/src/commands/uninstall.js.map +0 -1
- package/dist/src/commands/update.d.ts.map +0 -1
- package/dist/src/commands/update.js.map +0 -1
- package/dist/src/config.d.ts +0 -23
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -671
- package/dist/src/config.js.map +0 -1
- package/dist/src/constants.d.ts +0 -67
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -131
- package/dist/src/constants.js.map +0 -1
- package/dist/src/server/index.d.ts +0 -23
- package/dist/src/server/index.d.ts.map +0 -1
- package/dist/src/server/index.js +0 -1704
- package/dist/src/server/index.js.map +0 -1
- package/dist/src/slack/channel-manager.d.ts +0 -32
- package/dist/src/slack/channel-manager.d.ts.map +0 -1
- package/dist/src/slack/channel-manager.js +0 -128
- package/dist/src/slack/channel-manager.js.map +0 -1
- package/dist/src/slack/client.d.ts +0 -76
- package/dist/src/slack/client.d.ts.map +0 -1
- package/dist/src/slack/client.js +0 -193
- package/dist/src/slack/client.js.map +0 -1
- package/dist/src/slack/deliberation.d.ts +0 -87
- package/dist/src/slack/deliberation.d.ts.map +0 -1
- package/dist/src/slack/deliberation.js +0 -1354
- package/dist/src/slack/deliberation.js.map +0 -1
- package/dist/src/slack/index.d.ts +0 -6
- package/dist/src/slack/index.d.ts.map +0 -1
- package/dist/src/slack/index.js +0 -5
- package/dist/src/slack/index.js.map +0 -1
- package/dist/src/slack/interaction-listener.d.ts +0 -130
- package/dist/src/slack/interaction-listener.d.ts.map +0 -1
- package/dist/src/slack/interaction-listener.js +0 -1329
- package/dist/src/slack/interaction-listener.js.map +0 -1
- package/dist/src/storage/json-state-migrator.d.ts +0 -24
- package/dist/src/storage/json-state-migrator.d.ts.map +0 -1
- package/dist/src/storage/json-state-migrator.js +0 -197
- package/dist/src/storage/json-state-migrator.js.map +0 -1
- package/dist/src/storage/repositories/index.d.ts +0 -25
- package/dist/src/storage/repositories/index.d.ts.map +0 -1
- package/dist/src/storage/repositories/index.js +0 -45
- package/dist/src/storage/repositories/index.js.map +0 -1
- package/dist/src/storage/repositories/interfaces.d.ts +0 -60
- package/dist/src/storage/repositories/interfaces.d.ts.map +0 -1
- package/dist/src/storage/repositories/interfaces.js +0 -6
- package/dist/src/storage/repositories/interfaces.js.map +0 -1
- package/dist/src/storage/repositories/sqlite/agent-persona-repository.d.ts +0 -33
- package/dist/src/storage/repositories/sqlite/agent-persona-repository.d.ts.map +0 -1
- package/dist/src/storage/repositories/sqlite/agent-persona-repository.js +0 -715
- package/dist/src/storage/repositories/sqlite/agent-persona-repository.js.map +0 -1
- package/dist/src/storage/repositories/sqlite/execution-history-repository.d.ts +0 -21
- package/dist/src/storage/repositories/sqlite/execution-history-repository.d.ts.map +0 -1
- package/dist/src/storage/repositories/sqlite/execution-history-repository.js +0 -94
- package/dist/src/storage/repositories/sqlite/execution-history-repository.js.map +0 -1
- package/dist/src/storage/repositories/sqlite/prd-state-repository.d.ts +0 -17
- package/dist/src/storage/repositories/sqlite/prd-state-repository.d.ts.map +0 -1
- package/dist/src/storage/repositories/sqlite/prd-state-repository.js +0 -74
- package/dist/src/storage/repositories/sqlite/prd-state-repository.js.map +0 -1
- package/dist/src/storage/repositories/sqlite/project-registry-repository.d.ts +0 -17
- package/dist/src/storage/repositories/sqlite/project-registry-repository.d.ts.map +0 -1
- package/dist/src/storage/repositories/sqlite/project-registry-repository.js +0 -43
- package/dist/src/storage/repositories/sqlite/project-registry-repository.js.map +0 -1
- package/dist/src/storage/repositories/sqlite/roadmap-state-repository.d.ts +0 -14
- package/dist/src/storage/repositories/sqlite/roadmap-state-repository.d.ts.map +0 -1
- package/dist/src/storage/repositories/sqlite/roadmap-state-repository.js +0 -47
- package/dist/src/storage/repositories/sqlite/roadmap-state-repository.js.map +0 -1
- package/dist/src/storage/repositories/sqlite/slack-discussion-repository.d.ts +0 -20
- package/dist/src/storage/repositories/sqlite/slack-discussion-repository.d.ts.map +0 -1
- package/dist/src/storage/repositories/sqlite/slack-discussion-repository.js +0 -88
- package/dist/src/storage/repositories/sqlite/slack-discussion-repository.js.map +0 -1
- package/dist/src/storage/sqlite/client.d.ts +0 -23
- package/dist/src/storage/sqlite/client.d.ts.map +0 -1
- package/dist/src/storage/sqlite/client.js +0 -47
- package/dist/src/storage/sqlite/client.js.map +0 -1
- package/dist/src/storage/sqlite/migrations.d.ts +0 -11
- package/dist/src/storage/sqlite/migrations.d.ts.map +0 -1
- package/dist/src/storage/sqlite/migrations.js +0 -94
- package/dist/src/storage/sqlite/migrations.js.map +0 -1
- package/dist/src/templates/prd-template.d.ts +0 -11
- package/dist/src/templates/prd-template.d.ts.map +0 -1
- package/dist/src/templates/prd-template.js +0 -166
- package/dist/src/templates/prd-template.js.map +0 -1
- package/dist/src/templates/slicer-prompt.d.ts +0 -54
- package/dist/src/templates/slicer-prompt.d.ts.map +0 -1
- package/dist/src/templates/slicer-prompt.js +0 -163
- package/dist/src/templates/slicer-prompt.js.map +0 -1
- package/dist/src/types.d.ts +0 -140
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -5
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/avatar-generator.d.ts +0 -6
- package/dist/src/utils/avatar-generator.d.ts.map +0 -1
- package/dist/src/utils/avatar-generator.js +0 -133
- package/dist/src/utils/avatar-generator.js.map +0 -1
- package/dist/src/utils/checks.d.ts +0 -55
- package/dist/src/utils/checks.d.ts.map +0 -1
- package/dist/src/utils/checks.js +0 -246
- package/dist/src/utils/checks.js.map +0 -1
- package/dist/src/utils/config-writer.d.ts +0 -16
- package/dist/src/utils/config-writer.d.ts.map +0 -1
- package/dist/src/utils/config-writer.js +0 -45
- package/dist/src/utils/config-writer.js.map +0 -1
- package/dist/src/utils/crontab.d.ts +0 -62
- package/dist/src/utils/crontab.d.ts.map +0 -1
- package/dist/src/utils/crontab.js +0 -168
- package/dist/src/utils/crontab.js.map +0 -1
- package/dist/src/utils/execution-history.d.ts +0 -54
- package/dist/src/utils/execution-history.d.ts.map +0 -1
- package/dist/src/utils/execution-history.js +0 -80
- package/dist/src/utils/execution-history.js.map +0 -1
- package/dist/src/utils/github.d.ts +0 -40
- package/dist/src/utils/github.d.ts.map +0 -1
- package/dist/src/utils/github.js +0 -126
- package/dist/src/utils/github.js.map +0 -1
- package/dist/src/utils/notify.d.ts +0 -64
- package/dist/src/utils/notify.d.ts.map +0 -1
- package/dist/src/utils/notify.js +0 -405
- package/dist/src/utils/notify.js.map +0 -1
- package/dist/src/utils/prd-states.d.ts +0 -16
- package/dist/src/utils/prd-states.d.ts.map +0 -1
- package/dist/src/utils/prd-states.js +0 -28
- package/dist/src/utils/prd-states.js.map +0 -1
- package/dist/src/utils/registry.d.ts +0 -45
- package/dist/src/utils/registry.d.ts.map +0 -1
- package/dist/src/utils/registry.js +0 -86
- package/dist/src/utils/registry.js.map +0 -1
- package/dist/src/utils/roadmap-parser.d.ts +0 -45
- package/dist/src/utils/roadmap-parser.d.ts.map +0 -1
- package/dist/src/utils/roadmap-parser.js +0 -136
- package/dist/src/utils/roadmap-parser.js.map +0 -1
- package/dist/src/utils/roadmap-scanner.d.ts +0 -92
- package/dist/src/utils/roadmap-scanner.d.ts.map +0 -1
- package/dist/src/utils/roadmap-scanner.js +0 -349
- package/dist/src/utils/roadmap-scanner.js.map +0 -1
- package/dist/src/utils/roadmap-state.d.ts +0 -90
- package/dist/src/utils/roadmap-state.d.ts.map +0 -1
- package/dist/src/utils/roadmap-state.js +0 -154
- package/dist/src/utils/roadmap-state.js.map +0 -1
- package/dist/src/utils/script-result.d.ts +0 -12
- package/dist/src/utils/script-result.d.ts.map +0 -1
- package/dist/src/utils/script-result.js +0 -46
- package/dist/src/utils/script-result.js.map +0 -1
- package/dist/src/utils/shell.d.ts +0 -27
- package/dist/src/utils/shell.d.ts.map +0 -1
- package/dist/src/utils/shell.js +0 -64
- package/dist/src/utils/shell.js.map +0 -1
- package/dist/src/utils/status-data.d.ts +0 -148
- package/dist/src/utils/status-data.d.ts.map +0 -1
- package/dist/src/utils/status-data.js +0 -548
- package/dist/src/utils/status-data.js.map +0 -1
- package/dist/src/utils/ui.d.ts +0 -55
- package/dist/src/utils/ui.d.ts.map +0 -1
- package/dist/src/utils/ui.js +0 -121
- package/dist/src/utils/ui.js.map +0 -1
- package/scripts/night-watch-audit-cron.sh +0 -149
- package/scripts/night-watch-cron.sh +0 -484
- package/scripts/night-watch-helpers.sh +0 -499
- package/scripts/night-watch-pr-reviewer-cron.sh +0 -528
- package/scripts/night-watch-qa-cron.sh +0 -281
- package/scripts/night-watch-slicer-cron.sh +0 -90
- package/scripts/test-helpers.bats +0 -77
- package/templates/night-watch-pr-reviewer.md +0 -174
- package/templates/night-watch-qa.md +0 -157
- package/templates/night-watch-slicer.md +0 -219
- package/templates/night-watch.config.json +0 -30
- package/templates/night-watch.md +0 -94
- package/templates/prd-executor.md +0 -235
- package/templates/prd.md +0 -26
- package/web/dist/assets/index-BiJf9LFT.js +0 -458
- package/web/dist/assets/index-OpSgvsYu.css +0 -1
- package/web/dist/avatars/carlos.webp +0 -0
- package/web/dist/avatars/dev.webp +0 -0
- package/web/dist/avatars/maya.webp +0 -0
- package/web/dist/avatars/priya.webp +0 -0
- package/web/dist/index.html +0 -82
- /package/dist/{src/commands → commands}/dashboard/tab-actions.d.ts +0 -0
- /package/dist/{src/commands → commands}/dashboard/tab-actions.js +0 -0
- /package/dist/{src/commands → commands}/dashboard/types.js +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Roadmap State Manager for Night Watch CLI
|
|
3
|
-
* Manages roadmap processing state via the SQLite repository layer.
|
|
4
|
-
* Writes the legacy .roadmap-state.json file alongside SQLite for backward
|
|
5
|
-
* compatibility and falls back to it when no SQLite row exists for a given
|
|
6
|
-
* prdDir (migration path).
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Represents the state of a single processed roadmap item
|
|
10
|
-
*/
|
|
11
|
-
export interface IRoadmapStateItem {
|
|
12
|
-
/** Original title from roadmap */
|
|
13
|
-
title: string;
|
|
14
|
-
/** Path to the generated PRD file */
|
|
15
|
-
prdFile: string;
|
|
16
|
-
/** ISO timestamp when item was processed */
|
|
17
|
-
createdAt: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Represents the full roadmap state persisted to .roadmap-state.json
|
|
21
|
-
*/
|
|
22
|
-
export interface IRoadmapState {
|
|
23
|
-
/** State file format version */
|
|
24
|
-
version: number;
|
|
25
|
-
/** ISO timestamp of last scan */
|
|
26
|
-
lastScan: string;
|
|
27
|
-
/** Map of item hash to state item */
|
|
28
|
-
items: Record<string, IRoadmapStateItem>;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Get the path to the roadmap state file
|
|
32
|
-
*/
|
|
33
|
-
export declare function getStateFilePath(prdDir: string): string;
|
|
34
|
-
/**
|
|
35
|
-
* Load the roadmap state.
|
|
36
|
-
* Checks the SQLite repository first; falls back to the legacy JSON file when
|
|
37
|
-
* no SQLite entry exists for prdDir (supports migration from old installs).
|
|
38
|
-
* Returns an empty state if neither source has data.
|
|
39
|
-
*
|
|
40
|
-
* @param prdDir - Directory containing PRD files (primary key in SQLite)
|
|
41
|
-
* @returns The loaded or empty roadmap state
|
|
42
|
-
*/
|
|
43
|
-
export declare function loadRoadmapState(prdDir: string): IRoadmapState;
|
|
44
|
-
/**
|
|
45
|
-
* Save the roadmap state.
|
|
46
|
-
* Writes to SQLite (primary) and also writes the legacy .roadmap-state.json
|
|
47
|
-
* file so that external tooling and existing tests continue to work.
|
|
48
|
-
*
|
|
49
|
-
* @param prdDir - Directory containing PRD files (primary key in SQLite)
|
|
50
|
-
* @param state - The state to save
|
|
51
|
-
*/
|
|
52
|
-
export declare function saveRoadmapState(prdDir: string, state: IRoadmapState): void;
|
|
53
|
-
/**
|
|
54
|
-
* Create an empty roadmap state
|
|
55
|
-
*/
|
|
56
|
-
export declare function createEmptyState(): IRoadmapState;
|
|
57
|
-
/**
|
|
58
|
-
* Check if an item has already been processed
|
|
59
|
-
*
|
|
60
|
-
* @param state - The roadmap state
|
|
61
|
-
* @param hash - The item hash to check
|
|
62
|
-
* @returns True if the item has been processed
|
|
63
|
-
*/
|
|
64
|
-
export declare function isItemProcessed(state: IRoadmapState, hash: string): boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Mark an item as processed in the state
|
|
67
|
-
*
|
|
68
|
-
* @param state - The roadmap state (will be mutated)
|
|
69
|
-
* @param hash - The item hash
|
|
70
|
-
* @param item - The state item data
|
|
71
|
-
* @returns The updated state
|
|
72
|
-
*/
|
|
73
|
-
export declare function markItemProcessed(state: IRoadmapState, hash: string, item: IRoadmapStateItem): IRoadmapState;
|
|
74
|
-
/**
|
|
75
|
-
* Remove an item from the state (e.g., if PRD was deleted)
|
|
76
|
-
*
|
|
77
|
-
* @param state - The roadmap state (will be mutated)
|
|
78
|
-
* @param hash - The item hash to remove
|
|
79
|
-
* @returns True if the item was found and removed
|
|
80
|
-
*/
|
|
81
|
-
export declare function unmarkItemProcessed(state: IRoadmapState, hash: string): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Get all processed item hashes
|
|
84
|
-
*/
|
|
85
|
-
export declare function getProcessedHashes(state: IRoadmapState): string[];
|
|
86
|
-
/**
|
|
87
|
-
* Get state item by hash
|
|
88
|
-
*/
|
|
89
|
-
export declare function getStateItem(state: IRoadmapState, hash: string): IRoadmapStateItem | undefined;
|
|
90
|
-
//# sourceMappingURL=roadmap-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-state.d.ts","sourceRoot":"","sources":["../../../src/utils/roadmap-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC1C;AAQD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAa9D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAe3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAMhD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,aAAa,CAGf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAM/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,GACX,iBAAiB,GAAG,SAAS,CAE/B"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Roadmap State Manager for Night Watch CLI
|
|
3
|
-
* Manages roadmap processing state via the SQLite repository layer.
|
|
4
|
-
* Writes the legacy .roadmap-state.json file alongside SQLite for backward
|
|
5
|
-
* compatibility and falls back to it when no SQLite row exists for a given
|
|
6
|
-
* prdDir (migration path).
|
|
7
|
-
*/
|
|
8
|
-
import * as fs from "fs";
|
|
9
|
-
import * as path from "path";
|
|
10
|
-
import { getRepositories } from "../storage/repositories/index.js";
|
|
11
|
-
/** Current version of the state file format */
|
|
12
|
-
const STATE_VERSION = 1;
|
|
13
|
-
/** Name of the state file */
|
|
14
|
-
const STATE_FILE_NAME = ".roadmap-state.json";
|
|
15
|
-
/**
|
|
16
|
-
* Get the path to the roadmap state file
|
|
17
|
-
*/
|
|
18
|
-
export function getStateFilePath(prdDir) {
|
|
19
|
-
return path.join(prdDir, STATE_FILE_NAME);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Attempt to read state from the legacy JSON file.
|
|
23
|
-
* Returns null if the file does not exist or is invalid.
|
|
24
|
-
*/
|
|
25
|
-
function readJsonState(prdDir) {
|
|
26
|
-
const statePath = getStateFilePath(prdDir);
|
|
27
|
-
if (!fs.existsSync(statePath)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
try {
|
|
31
|
-
const content = fs.readFileSync(statePath, "utf-8");
|
|
32
|
-
const parsed = JSON.parse(content);
|
|
33
|
-
if (typeof parsed !== "object" || parsed === null) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
const obj = parsed;
|
|
37
|
-
if (typeof obj.version !== "number" || typeof obj.items !== "object") {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
if (obj.lastScan !== undefined && typeof obj.lastScan !== "string") {
|
|
41
|
-
obj.lastScan = new Date().toISOString();
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
version: obj.version,
|
|
45
|
-
lastScan: typeof obj.lastScan === "string" ? obj.lastScan : "",
|
|
46
|
-
items: (obj.items ?? {}),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Load the roadmap state.
|
|
55
|
-
* Checks the SQLite repository first; falls back to the legacy JSON file when
|
|
56
|
-
* no SQLite entry exists for prdDir (supports migration from old installs).
|
|
57
|
-
* Returns an empty state if neither source has data.
|
|
58
|
-
*
|
|
59
|
-
* @param prdDir - Directory containing PRD files (primary key in SQLite)
|
|
60
|
-
* @returns The loaded or empty roadmap state
|
|
61
|
-
*/
|
|
62
|
-
export function loadRoadmapState(prdDir) {
|
|
63
|
-
const { roadmapState } = getRepositories();
|
|
64
|
-
const fromDb = roadmapState.load(prdDir);
|
|
65
|
-
if (fromDb !== null) {
|
|
66
|
-
return fromDb;
|
|
67
|
-
}
|
|
68
|
-
const fromJson = readJsonState(prdDir);
|
|
69
|
-
if (fromJson !== null) {
|
|
70
|
-
return fromJson;
|
|
71
|
-
}
|
|
72
|
-
return createEmptyState();
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Save the roadmap state.
|
|
76
|
-
* Writes to SQLite (primary) and also writes the legacy .roadmap-state.json
|
|
77
|
-
* file so that external tooling and existing tests continue to work.
|
|
78
|
-
*
|
|
79
|
-
* @param prdDir - Directory containing PRD files (primary key in SQLite)
|
|
80
|
-
* @param state - The state to save
|
|
81
|
-
*/
|
|
82
|
-
export function saveRoadmapState(prdDir, state) {
|
|
83
|
-
// Update lastScan timestamp
|
|
84
|
-
state.lastScan = new Date().toISOString();
|
|
85
|
-
// Persist to SQLite
|
|
86
|
-
const { roadmapState } = getRepositories();
|
|
87
|
-
roadmapState.save(prdDir, state);
|
|
88
|
-
// Also write the legacy JSON file for backward compatibility
|
|
89
|
-
const statePath = getStateFilePath(prdDir);
|
|
90
|
-
const dir = path.dirname(statePath);
|
|
91
|
-
if (!fs.existsSync(dir)) {
|
|
92
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
93
|
-
}
|
|
94
|
-
fs.writeFileSync(statePath, JSON.stringify(state, null, 2) + "\n", "utf-8");
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Create an empty roadmap state
|
|
98
|
-
*/
|
|
99
|
-
export function createEmptyState() {
|
|
100
|
-
return {
|
|
101
|
-
version: STATE_VERSION,
|
|
102
|
-
lastScan: "",
|
|
103
|
-
items: {},
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Check if an item has already been processed
|
|
108
|
-
*
|
|
109
|
-
* @param state - The roadmap state
|
|
110
|
-
* @param hash - The item hash to check
|
|
111
|
-
* @returns True if the item has been processed
|
|
112
|
-
*/
|
|
113
|
-
export function isItemProcessed(state, hash) {
|
|
114
|
-
return hash in state.items;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Mark an item as processed in the state
|
|
118
|
-
*
|
|
119
|
-
* @param state - The roadmap state (will be mutated)
|
|
120
|
-
* @param hash - The item hash
|
|
121
|
-
* @param item - The state item data
|
|
122
|
-
* @returns The updated state
|
|
123
|
-
*/
|
|
124
|
-
export function markItemProcessed(state, hash, item) {
|
|
125
|
-
state.items[hash] = item;
|
|
126
|
-
return state;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Remove an item from the state (e.g., if PRD was deleted)
|
|
130
|
-
*
|
|
131
|
-
* @param state - The roadmap state (will be mutated)
|
|
132
|
-
* @param hash - The item hash to remove
|
|
133
|
-
* @returns True if the item was found and removed
|
|
134
|
-
*/
|
|
135
|
-
export function unmarkItemProcessed(state, hash) {
|
|
136
|
-
if (hash in state.items) {
|
|
137
|
-
delete state.items[hash];
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Get all processed item hashes
|
|
144
|
-
*/
|
|
145
|
-
export function getProcessedHashes(state) {
|
|
146
|
-
return Object.keys(state.items);
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Get state item by hash
|
|
150
|
-
*/
|
|
151
|
-
export function getStateItem(state, hash) {
|
|
152
|
-
return state.items[hash];
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=roadmap-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-state.js","sourceRoot":"","sources":["../../../src/utils/roadmap-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parse machine-readable execution markers emitted by bash scripts.
|
|
3
|
-
*
|
|
4
|
-
* Format:
|
|
5
|
-
* NIGHT_WATCH_RESULT:<status>|key=value|key=value
|
|
6
|
-
*/
|
|
7
|
-
export interface IScriptResult {
|
|
8
|
-
status: string;
|
|
9
|
-
data: Record<string, string>;
|
|
10
|
-
}
|
|
11
|
-
export declare function parseScriptResult(output: string): IScriptResult | null;
|
|
12
|
-
//# sourceMappingURL=script-result.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"script-result.d.ts","sourceRoot":"","sources":["../../../src/utils/script-result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2CtE"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parse machine-readable execution markers emitted by bash scripts.
|
|
3
|
-
*
|
|
4
|
-
* Format:
|
|
5
|
-
* NIGHT_WATCH_RESULT:<status>|key=value|key=value
|
|
6
|
-
*/
|
|
7
|
-
const RESULT_PREFIX = "NIGHT_WATCH_RESULT:";
|
|
8
|
-
export function parseScriptResult(output) {
|
|
9
|
-
if (!output || output.trim().length === 0) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
const lines = output.split(/\r?\n/);
|
|
13
|
-
// Use the most recent marker in case multiple scripts were chained.
|
|
14
|
-
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
15
|
-
const line = lines[i].trim();
|
|
16
|
-
if (!line.startsWith(RESULT_PREFIX)) {
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
const payload = line.slice(RESULT_PREFIX.length).trim();
|
|
20
|
-
if (!payload) {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
const [statusRaw, ...parts] = payload.split("|");
|
|
24
|
-
const status = statusRaw.trim();
|
|
25
|
-
if (!status) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
const data = {};
|
|
29
|
-
for (const part of parts) {
|
|
30
|
-
const trimmed = part.trim();
|
|
31
|
-
if (!trimmed)
|
|
32
|
-
continue;
|
|
33
|
-
const eqIndex = trimmed.indexOf("=");
|
|
34
|
-
if (eqIndex <= 0)
|
|
35
|
-
continue;
|
|
36
|
-
const key = trimmed.slice(0, eqIndex).trim();
|
|
37
|
-
const value = trimmed.slice(eqIndex + 1).trim();
|
|
38
|
-
if (!key)
|
|
39
|
-
continue;
|
|
40
|
-
data[key] = value;
|
|
41
|
-
}
|
|
42
|
-
return { status, data };
|
|
43
|
-
}
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=script-result.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"script-result.js","sourceRoot":"","sources":["../../../src/utils/script-result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAO5C,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,oEAAoE;IACpE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,OAAO,IAAI,CAAC;gBAAE,SAAS;YAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shell execution utility for running bash scripts
|
|
3
|
-
*/
|
|
4
|
-
export interface IExecuteScriptResult {
|
|
5
|
-
exitCode: number;
|
|
6
|
-
stdout: string;
|
|
7
|
-
stderr: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Execute a bash script with arguments and environment variables
|
|
11
|
-
*
|
|
12
|
-
* @param scriptPath - Absolute path to the bash script to execute
|
|
13
|
-
* @param args - Arguments to pass to the script
|
|
14
|
-
* @param env - Environment variables to set for the child process
|
|
15
|
-
* @returns Promise that resolves with the exit code (0 for success)
|
|
16
|
-
*/
|
|
17
|
-
export declare function executeScript(scriptPath: string, args?: string[], env?: Record<string, string>): Promise<number>;
|
|
18
|
-
/**
|
|
19
|
-
* Execute a bash script and capture streamed stdout/stderr output.
|
|
20
|
-
*
|
|
21
|
-
* @param scriptPath - Absolute path to the bash script to execute
|
|
22
|
-
* @param args - Arguments to pass to the script
|
|
23
|
-
* @param env - Environment variables to set for the child process
|
|
24
|
-
* @returns Promise that resolves with exit code plus collected output
|
|
25
|
-
*/
|
|
26
|
-
export declare function executeScriptWithOutput(scriptPath: string, args?: string[], env?: Record<string, string>): Promise<IExecuteScriptResult>;
|
|
27
|
-
//# sourceMappingURL=shell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
|
package/dist/src/utils/shell.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shell execution utility for running bash scripts
|
|
3
|
-
*/
|
|
4
|
-
import { spawn } from "child_process";
|
|
5
|
-
/**
|
|
6
|
-
* Execute a bash script with arguments and environment variables
|
|
7
|
-
*
|
|
8
|
-
* @param scriptPath - Absolute path to the bash script to execute
|
|
9
|
-
* @param args - Arguments to pass to the script
|
|
10
|
-
* @param env - Environment variables to set for the child process
|
|
11
|
-
* @returns Promise that resolves with the exit code (0 for success)
|
|
12
|
-
*/
|
|
13
|
-
export async function executeScript(scriptPath, args = [], env = {}) {
|
|
14
|
-
const result = await executeScriptWithOutput(scriptPath, args, env);
|
|
15
|
-
return result.exitCode;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Execute a bash script and capture streamed stdout/stderr output.
|
|
19
|
-
*
|
|
20
|
-
* @param scriptPath - Absolute path to the bash script to execute
|
|
21
|
-
* @param args - Arguments to pass to the script
|
|
22
|
-
* @param env - Environment variables to set for the child process
|
|
23
|
-
* @returns Promise that resolves with exit code plus collected output
|
|
24
|
-
*/
|
|
25
|
-
export async function executeScriptWithOutput(scriptPath, args = [], env = {}) {
|
|
26
|
-
return new Promise((resolve, reject) => {
|
|
27
|
-
// Merge provided env with process.env, with provided env taking precedence
|
|
28
|
-
const childEnv = {
|
|
29
|
-
...process.env,
|
|
30
|
-
...env,
|
|
31
|
-
};
|
|
32
|
-
const stdoutChunks = [];
|
|
33
|
-
const stderrChunks = [];
|
|
34
|
-
const child = spawn("bash", [scriptPath, ...args], {
|
|
35
|
-
env: childEnv,
|
|
36
|
-
stdio: ["inherit", "pipe", "pipe"],
|
|
37
|
-
});
|
|
38
|
-
// Stream stdout to console in real-time
|
|
39
|
-
child.stdout?.on("data", (data) => {
|
|
40
|
-
stdoutChunks.push(data.toString("utf-8"));
|
|
41
|
-
process.stdout.write(data);
|
|
42
|
-
});
|
|
43
|
-
// Stream stderr to console in real-time
|
|
44
|
-
child.stderr?.on("data", (data) => {
|
|
45
|
-
stderrChunks.push(data.toString("utf-8"));
|
|
46
|
-
process.stderr.write(data);
|
|
47
|
-
});
|
|
48
|
-
// Handle process errors
|
|
49
|
-
child.on("error", (error) => {
|
|
50
|
-
console.error(`Failed to execute script: ${scriptPath}`);
|
|
51
|
-
console.error(error.message);
|
|
52
|
-
reject(error);
|
|
53
|
-
});
|
|
54
|
-
// Handle process completion
|
|
55
|
-
child.on("close", (code) => {
|
|
56
|
-
resolve({
|
|
57
|
-
exitCode: code ?? 1,
|
|
58
|
-
stdout: stdoutChunks.join(""),
|
|
59
|
-
stderr: stderrChunks.join(""),
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=shell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQtC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,OAAiB,EAAE,EACnB,MAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,OAAiB,EAAE,EACnB,MAA8B,EAAE;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,2EAA2E;QAC3E,MAAM,QAAQ,GAAsB;YAClC,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,GAAG;SACP,CAAC;QAEF,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE;YACjD,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;SACnC,CAAC,CAAC;QAEH,wCAAwC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,OAAO,CAAC;gBACN,QAAQ,EAAE,IAAI,IAAI,CAAC;gBACnB,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Status data layer for Night Watch CLI
|
|
3
|
-
* Provides data-fetching functions used by both the status command and the dashboard TUI.
|
|
4
|
-
*/
|
|
5
|
-
import { INightWatchConfig } from "../types.js";
|
|
6
|
-
/**
|
|
7
|
-
* Information about a single PRD file
|
|
8
|
-
*/
|
|
9
|
-
export interface IPrdInfo {
|
|
10
|
-
name: string;
|
|
11
|
-
status: "ready" | "blocked" | "in-progress" | "pending-review" | "done";
|
|
12
|
-
dependencies: string[];
|
|
13
|
-
unmetDependencies: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Information about a running process
|
|
17
|
-
*/
|
|
18
|
-
export interface IProcessInfo {
|
|
19
|
-
name: string;
|
|
20
|
-
running: boolean;
|
|
21
|
-
pid: number | null;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Information about a pull request
|
|
25
|
-
*/
|
|
26
|
-
export interface IPrInfo {
|
|
27
|
-
number: number;
|
|
28
|
-
title: string;
|
|
29
|
-
branch: string;
|
|
30
|
-
url: string;
|
|
31
|
-
ciStatus: "pass" | "fail" | "pending" | "unknown";
|
|
32
|
-
reviewScore: number | null;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Information about a log file
|
|
36
|
-
*/
|
|
37
|
-
export interface ILogInfo {
|
|
38
|
-
name: string;
|
|
39
|
-
path: string;
|
|
40
|
-
exists: boolean;
|
|
41
|
-
size: number;
|
|
42
|
-
lastLines: string[];
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Complete status snapshot of the project
|
|
46
|
-
*/
|
|
47
|
-
export interface IStatusSnapshot {
|
|
48
|
-
projectName: string;
|
|
49
|
-
projectDir: string;
|
|
50
|
-
config: INightWatchConfig;
|
|
51
|
-
prds: IPrdInfo[];
|
|
52
|
-
processes: IProcessInfo[];
|
|
53
|
-
prs: IPrInfo[];
|
|
54
|
-
logs: ILogInfo[];
|
|
55
|
-
crontab: {
|
|
56
|
-
installed: boolean;
|
|
57
|
-
entries: string[];
|
|
58
|
-
};
|
|
59
|
-
activePrd: string | null;
|
|
60
|
-
timestamp: Date;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Get the project name from directory or package.json
|
|
64
|
-
*/
|
|
65
|
-
export declare function getProjectName(projectDir: string): string;
|
|
66
|
-
/**
|
|
67
|
-
* Compute the runtime key for a project directory.
|
|
68
|
-
* Must stay in sync with project_runtime_key() in night-watch-helpers.sh.
|
|
69
|
-
*/
|
|
70
|
-
export declare function projectRuntimeKey(projectDir: string): string;
|
|
71
|
-
/**
|
|
72
|
-
* Compute the lock file path for the executor of a given project directory.
|
|
73
|
-
*/
|
|
74
|
-
export declare function executorLockPath(projectDir: string): string;
|
|
75
|
-
/**
|
|
76
|
-
* Compute the lock file path for the reviewer of a given project directory.
|
|
77
|
-
*/
|
|
78
|
-
export declare function reviewerLockPath(projectDir: string): string;
|
|
79
|
-
/**
|
|
80
|
-
* Compute the lock file path for the code auditor of a given project directory.
|
|
81
|
-
*/
|
|
82
|
-
export declare function auditLockPath(projectDir: string): string;
|
|
83
|
-
/**
|
|
84
|
-
* Check if a process with the given PID is running
|
|
85
|
-
*/
|
|
86
|
-
export declare function isProcessRunning(pid: number): boolean;
|
|
87
|
-
/**
|
|
88
|
-
* Read PID from lock file and check if process is running
|
|
89
|
-
*/
|
|
90
|
-
export declare function checkLockFile(lockPath: string): {
|
|
91
|
-
running: boolean;
|
|
92
|
-
pid: number | null;
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Count PRDs in the PRD directory and return counts
|
|
96
|
-
*/
|
|
97
|
-
export declare function countPRDs(projectDir: string, prdDir: string, maxRuntime: number): {
|
|
98
|
-
pending: number;
|
|
99
|
-
claimed: number;
|
|
100
|
-
done: number;
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Parse dependency references from a PRD file.
|
|
104
|
-
* Looks for a line matching "depends on: `name1`, `name2`" (case-insensitive).
|
|
105
|
-
*/
|
|
106
|
-
export declare function parsePrdDependencies(prdPath: string): string[];
|
|
107
|
-
/**
|
|
108
|
-
* Collect PRD info items from the PRD directory
|
|
109
|
-
* Cross-validates claim files with executor lock to avoid stale "in-progress" status
|
|
110
|
-
*/
|
|
111
|
-
export declare function collectPrdInfo(projectDir: string, prdDir: string, maxRuntime: number): IPrdInfo[];
|
|
112
|
-
/**
|
|
113
|
-
* Count open PRs on night-watch/ or feat/ branches using gh CLI
|
|
114
|
-
*/
|
|
115
|
-
export declare function countOpenPRs(projectDir: string, branchPatterns: string[]): number;
|
|
116
|
-
/**
|
|
117
|
-
* Collect open PR info using gh CLI
|
|
118
|
-
*/
|
|
119
|
-
export declare function collectPrInfo(projectDir: string, branchPatterns: string[]): IPrInfo[];
|
|
120
|
-
/**
|
|
121
|
-
* Get last N lines from a log file
|
|
122
|
-
*/
|
|
123
|
-
export declare function getLastLogLines(logPath: string, lines: number): string[];
|
|
124
|
-
/**
|
|
125
|
-
* Get log file info
|
|
126
|
-
*/
|
|
127
|
-
export declare function getLogInfo(logPath: string, lastLines?: number): {
|
|
128
|
-
path: string;
|
|
129
|
-
lastLines: string[];
|
|
130
|
-
exists: boolean;
|
|
131
|
-
size: number;
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Collect log info as ILogInfo items
|
|
135
|
-
*/
|
|
136
|
-
export declare function collectLogInfo(projectDir: string): ILogInfo[];
|
|
137
|
-
/**
|
|
138
|
-
* Get crontab information for a project
|
|
139
|
-
*/
|
|
140
|
-
export declare function getCrontabInfo(projectName: string, projectDir: string): {
|
|
141
|
-
installed: boolean;
|
|
142
|
-
entries: string[];
|
|
143
|
-
};
|
|
144
|
-
/**
|
|
145
|
-
* Fetch a complete status snapshot for the given project
|
|
146
|
-
*/
|
|
147
|
-
export declare function fetchStatusSnapshot(projectDir: string, config: INightWatchConfig): IStatusSnapshot;
|
|
148
|
-
//# sourceMappingURL=status-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-data.d.ts","sourceRoot":"","sources":["../../../src/utils/status-data.ts"],"names":[],"mappings":"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"}
|