@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-persona-repository.js","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/agent-persona-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IExecutionHistoryRepository.
|
|
3
|
-
* Persists execution records in the `execution_history` table.
|
|
4
|
-
*/
|
|
5
|
-
import Database from "better-sqlite3";
|
|
6
|
-
import { IExecutionRecord } from "../../../utils/execution-history.js";
|
|
7
|
-
import { IExecutionHistoryRepository } from "../interfaces.js";
|
|
8
|
-
export declare class SqliteExecutionHistoryRepository implements IExecutionHistoryRepository {
|
|
9
|
-
private readonly _db;
|
|
10
|
-
constructor(db: Database.Database);
|
|
11
|
-
getRecords(projectPath: string, prdFile: string): IExecutionRecord[];
|
|
12
|
-
addRecord(projectPath: string, prdFile: string, record: IExecutionRecord): void;
|
|
13
|
-
getAllHistory(): Record<string, Record<string, {
|
|
14
|
-
records: IExecutionRecord[];
|
|
15
|
-
}>>;
|
|
16
|
-
replaceAll(history: Record<string, Record<string, {
|
|
17
|
-
records: IExecutionRecord[];
|
|
18
|
-
}>>): void;
|
|
19
|
-
trimRecords(projectPath: string, prdFile: string, maxCount: number): void;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=execution-history-repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"execution-history-repository.d.ts","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/execution-history-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAW/D,qBAAa,gCACX,YAAW,2BAA2B;IAEtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAkBpE,SAAS,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,IAAI;IAiBP,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC,CAAC;IA2BhF,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC,CAAC,GAAG,IAAI;IAmB1F,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CA8B1E"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IExecutionHistoryRepository.
|
|
3
|
-
* Persists execution records in the `execution_history` table.
|
|
4
|
-
*/
|
|
5
|
-
export class SqliteExecutionHistoryRepository {
|
|
6
|
-
_db;
|
|
7
|
-
constructor(db) {
|
|
8
|
-
this._db = db;
|
|
9
|
-
}
|
|
10
|
-
getRecords(projectPath, prdFile) {
|
|
11
|
-
const rows = this._db
|
|
12
|
-
.prepare(`SELECT timestamp, outcome, exit_code, attempt
|
|
13
|
-
FROM execution_history
|
|
14
|
-
WHERE project_path = ? AND prd_file = ?
|
|
15
|
-
ORDER BY timestamp DESC, id DESC`)
|
|
16
|
-
.all(projectPath, prdFile);
|
|
17
|
-
return rows.map((row) => ({
|
|
18
|
-
timestamp: row.timestamp,
|
|
19
|
-
outcome: row.outcome,
|
|
20
|
-
exitCode: row.exit_code,
|
|
21
|
-
attempt: row.attempt,
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
addRecord(projectPath, prdFile, record) {
|
|
25
|
-
this._db
|
|
26
|
-
.prepare(`INSERT INTO execution_history
|
|
27
|
-
(project_path, prd_file, timestamp, outcome, exit_code, attempt)
|
|
28
|
-
VALUES (?, ?, ?, ?, ?, ?)`)
|
|
29
|
-
.run(projectPath, prdFile, record.timestamp, record.outcome, record.exitCode, record.attempt);
|
|
30
|
-
}
|
|
31
|
-
getAllHistory() {
|
|
32
|
-
const rows = this._db
|
|
33
|
-
.prepare(`SELECT project_path, prd_file, timestamp, outcome, exit_code, attempt
|
|
34
|
-
FROM execution_history
|
|
35
|
-
ORDER BY project_path, prd_file, timestamp ASC, id ASC`)
|
|
36
|
-
.all();
|
|
37
|
-
const history = {};
|
|
38
|
-
for (const row of rows) {
|
|
39
|
-
if (!history[row.project_path]) {
|
|
40
|
-
history[row.project_path] = {};
|
|
41
|
-
}
|
|
42
|
-
if (!history[row.project_path][row.prd_file]) {
|
|
43
|
-
history[row.project_path][row.prd_file] = { records: [] };
|
|
44
|
-
}
|
|
45
|
-
history[row.project_path][row.prd_file].records.push({
|
|
46
|
-
timestamp: row.timestamp,
|
|
47
|
-
outcome: row.outcome,
|
|
48
|
-
exitCode: row.exit_code,
|
|
49
|
-
attempt: row.attempt,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return history;
|
|
53
|
-
}
|
|
54
|
-
replaceAll(history) {
|
|
55
|
-
const replaceAll = this._db.transaction(() => {
|
|
56
|
-
this._db.prepare("DELETE FROM execution_history").run();
|
|
57
|
-
const insert = this._db.prepare(`INSERT INTO execution_history
|
|
58
|
-
(project_path, prd_file, timestamp, outcome, exit_code, attempt)
|
|
59
|
-
VALUES (?, ?, ?, ?, ?, ?)`);
|
|
60
|
-
for (const [projectPath, prdMap] of Object.entries(history)) {
|
|
61
|
-
for (const [prdFile, prdHistory] of Object.entries(prdMap)) {
|
|
62
|
-
for (const record of prdHistory.records) {
|
|
63
|
-
insert.run(projectPath, prdFile, record.timestamp, record.outcome, record.exitCode, record.attempt);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
replaceAll();
|
|
69
|
-
}
|
|
70
|
-
trimRecords(projectPath, prdFile, maxCount) {
|
|
71
|
-
// Count current records for this project/prd pair
|
|
72
|
-
const countRow = this._db
|
|
73
|
-
.prepare(`SELECT COUNT(*) as count
|
|
74
|
-
FROM execution_history
|
|
75
|
-
WHERE project_path = ? AND prd_file = ?`)
|
|
76
|
-
.get(projectPath, prdFile);
|
|
77
|
-
const total = countRow?.count ?? 0;
|
|
78
|
-
if (total <= maxCount) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const deleteCount = total - maxCount;
|
|
82
|
-
// Delete the oldest records (lowest timestamp ids)
|
|
83
|
-
this._db
|
|
84
|
-
.prepare(`DELETE FROM execution_history
|
|
85
|
-
WHERE id IN (
|
|
86
|
-
SELECT id FROM execution_history
|
|
87
|
-
WHERE project_path = ? AND prd_file = ?
|
|
88
|
-
ORDER BY timestamp ASC, id ASC
|
|
89
|
-
LIMIT ?
|
|
90
|
-
)`)
|
|
91
|
-
.run(projectPath, prdFile, deleteCount);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=execution-history-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"execution-history-repository.js","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/execution-history-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IPrdStateRepository.
|
|
3
|
-
* Persists PRD state entries in the `prd_states` table.
|
|
4
|
-
*/
|
|
5
|
-
import Database from "better-sqlite3";
|
|
6
|
-
import { IPrdStateEntry } from "../../../utils/prd-states.js";
|
|
7
|
-
import { IPrdStateRepository } from "../interfaces.js";
|
|
8
|
-
export declare class SqlitePrdStateRepository implements IPrdStateRepository {
|
|
9
|
-
private readonly _db;
|
|
10
|
-
constructor(db: Database.Database);
|
|
11
|
-
get(projectPath: string, prdName: string): IPrdStateEntry | null;
|
|
12
|
-
getAll(projectPath: string): Record<string, IPrdStateEntry>;
|
|
13
|
-
readAll(): Record<string, Record<string, IPrdStateEntry>>;
|
|
14
|
-
set(projectPath: string, prdName: string, entry: IPrdStateEntry): void;
|
|
15
|
-
delete(projectPath: string, prdName: string): void;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=prd-state-repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prd-state-repository.d.ts","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/prd-state-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAUvD,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAoBhE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAoB3D,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAqBzD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAatE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAOnD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IPrdStateRepository.
|
|
3
|
-
* Persists PRD state entries in the `prd_states` table.
|
|
4
|
-
*/
|
|
5
|
-
export class SqlitePrdStateRepository {
|
|
6
|
-
_db;
|
|
7
|
-
constructor(db) {
|
|
8
|
-
this._db = db;
|
|
9
|
-
}
|
|
10
|
-
get(projectPath, prdName) {
|
|
11
|
-
const row = this._db
|
|
12
|
-
.prepare(`SELECT status, branch, timestamp
|
|
13
|
-
FROM prd_states
|
|
14
|
-
WHERE project_path = ? AND prd_name = ?`)
|
|
15
|
-
.get(projectPath, prdName);
|
|
16
|
-
if (!row) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
status: row.status,
|
|
21
|
-
branch: row.branch,
|
|
22
|
-
timestamp: row.timestamp,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
getAll(projectPath) {
|
|
26
|
-
const rows = this._db
|
|
27
|
-
.prepare(`SELECT prd_name, status, branch, timestamp
|
|
28
|
-
FROM prd_states
|
|
29
|
-
WHERE project_path = ?`)
|
|
30
|
-
.all(projectPath);
|
|
31
|
-
const result = {};
|
|
32
|
-
for (const row of rows) {
|
|
33
|
-
result[row.prd_name] = {
|
|
34
|
-
status: row.status,
|
|
35
|
-
branch: row.branch,
|
|
36
|
-
timestamp: row.timestamp,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
readAll() {
|
|
42
|
-
const rows = this._db
|
|
43
|
-
.prepare("SELECT project_path, prd_name, status, branch, timestamp FROM prd_states")
|
|
44
|
-
.all();
|
|
45
|
-
const result = {};
|
|
46
|
-
for (const row of rows) {
|
|
47
|
-
if (!result[row.project_path]) {
|
|
48
|
-
result[row.project_path] = {};
|
|
49
|
-
}
|
|
50
|
-
result[row.project_path][row.prd_name] = {
|
|
51
|
-
status: row.status,
|
|
52
|
-
branch: row.branch,
|
|
53
|
-
timestamp: row.timestamp,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
set(projectPath, prdName, entry) {
|
|
59
|
-
this._db
|
|
60
|
-
.prepare(`INSERT INTO prd_states (project_path, prd_name, status, branch, timestamp)
|
|
61
|
-
VALUES (?, ?, ?, ?, ?)
|
|
62
|
-
ON CONFLICT(project_path, prd_name)
|
|
63
|
-
DO UPDATE SET status = excluded.status,
|
|
64
|
-
branch = excluded.branch,
|
|
65
|
-
timestamp = excluded.timestamp`)
|
|
66
|
-
.run(projectPath, prdName, entry.status, entry.branch, entry.timestamp);
|
|
67
|
-
}
|
|
68
|
-
delete(projectPath, prdName) {
|
|
69
|
-
this._db
|
|
70
|
-
.prepare(`DELETE FROM prd_states WHERE project_path = ? AND prd_name = ?`)
|
|
71
|
-
.run(projectPath, prdName);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=prd-state-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prd-state-repository.js","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/prd-state-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAAoB;IAExC,YAAY,EAAqB;QAC/B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,WAAmB,EAAE,OAAe;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;aACjB,OAAO,CACN;;iDAEyC,CAC1C;aACA,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAkC;YAC9C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAmB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;gCAEwB,CACzB;aACA,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpB,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG;gBACrB,MAAM,EAAE,GAAG,CAAC,MAAkC;gBAC9C,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN,0EAA0E,CAC3E;aACA,GAAG,EAAE,CAAC;QAET,MAAM,MAAM,GAAmD,EAAE,CAAC;QAClE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG;gBACvC,MAAM,EAAE,GAAG,CAAC,MAAkC;gBAC9C,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,WAAmB,EAAE,OAAe,EAAE,KAAqB;QAC7D,IAAI,CAAC,GAAG;aACL,OAAO,CACN;;;;;sDAK8C,CAC/C;aACA,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,OAAe;QACzC,IAAI,CAAC,GAAG;aACL,OAAO,CACN,gEAAgE,CACjE;aACA,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IProjectRegistryRepository.
|
|
3
|
-
* Persists project registry entries in the `projects` table.
|
|
4
|
-
*/
|
|
5
|
-
import Database from "better-sqlite3";
|
|
6
|
-
import { IRegistryEntry } from "../../../utils/registry.js";
|
|
7
|
-
import { IProjectRegistryRepository } from "../interfaces.js";
|
|
8
|
-
export declare class SqliteProjectRegistryRepository implements IProjectRegistryRepository {
|
|
9
|
-
private readonly _db;
|
|
10
|
-
constructor(db: Database.Database);
|
|
11
|
-
getAll(): IRegistryEntry[];
|
|
12
|
-
upsert(entry: IRegistryEntry): void;
|
|
13
|
-
remove(projectPath: string): boolean;
|
|
14
|
-
clear(): void;
|
|
15
|
-
updateSlackChannel(path: string, channelId: string): void;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=project-registry-repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-registry-repository.d.ts","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/project-registry-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAS9D,qBAAa,+BACX,YAAW,0BAA0B;IAErC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,MAAM,IAAI,cAAc,EAAE;IAY1B,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAYnC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAQpC,KAAK,IAAI,IAAI;IAIb,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAO1D"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IProjectRegistryRepository.
|
|
3
|
-
* Persists project registry entries in the `projects` table.
|
|
4
|
-
*/
|
|
5
|
-
export class SqliteProjectRegistryRepository {
|
|
6
|
-
_db;
|
|
7
|
-
constructor(db) {
|
|
8
|
-
this._db = db;
|
|
9
|
-
}
|
|
10
|
-
getAll() {
|
|
11
|
-
const rows = this._db
|
|
12
|
-
.prepare("SELECT name, path, slack_channel_id FROM projects ORDER BY name")
|
|
13
|
-
.all();
|
|
14
|
-
return rows.map((row) => ({
|
|
15
|
-
name: row.name,
|
|
16
|
-
path: row.path,
|
|
17
|
-
...(row.slack_channel_id ? { slackChannelId: row.slack_channel_id } : {}),
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
upsert(entry) {
|
|
21
|
-
const createdAt = Math.floor(Date.now() / 1000);
|
|
22
|
-
this._db
|
|
23
|
-
.prepare(`INSERT INTO projects (name, path, created_at, slack_channel_id)
|
|
24
|
-
VALUES (?, ?, ?, ?)
|
|
25
|
-
ON CONFLICT(path) DO UPDATE SET name = excluded.name, slack_channel_id = COALESCE(excluded.slack_channel_id, slack_channel_id)`)
|
|
26
|
-
.run(entry.name, entry.path, createdAt, entry.slackChannelId ?? null);
|
|
27
|
-
}
|
|
28
|
-
remove(projectPath) {
|
|
29
|
-
const result = this._db
|
|
30
|
-
.prepare("DELETE FROM projects WHERE path = ?")
|
|
31
|
-
.run(projectPath);
|
|
32
|
-
return result.changes > 0;
|
|
33
|
-
}
|
|
34
|
-
clear() {
|
|
35
|
-
this._db.prepare("DELETE FROM projects").run();
|
|
36
|
-
}
|
|
37
|
-
updateSlackChannel(path, channelId) {
|
|
38
|
-
this._db
|
|
39
|
-
.prepare(`UPDATE projects SET slack_channel_id = ? WHERE path = ?`)
|
|
40
|
-
.run(channelId || null, path);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=project-registry-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-registry-repository.js","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/project-registry-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,OAAO,+BAA+B;IAGzB,GAAG,CAAoB;IAExC,YAAY,EAAqB;QAC/B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CAAkB,iEAAiE,CAAC;aAC3F,GAAG,EAAE,CAAC;QAET,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAqB;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,GAAG;aACL,OAAO,CACN;;wIAEgI,CACjI;aACA,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,WAAmB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG;aACpB,OAAO,CAAW,qCAAqC,CAAC;aACxD,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpB,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,SAAiB;QAChD,IAAI,CAAC,GAAG;aACL,OAAO,CACN,yDAAyD,CAC1D;aACA,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IRoadmapStateRepository.
|
|
3
|
-
* Persists roadmap state in the `roadmap_states` table, keyed by prd_dir.
|
|
4
|
-
*/
|
|
5
|
-
import Database from "better-sqlite3";
|
|
6
|
-
import { IRoadmapState } from "../../../utils/roadmap-state.js";
|
|
7
|
-
import { IRoadmapStateRepository } from "../interfaces.js";
|
|
8
|
-
export declare class SqliteRoadmapStateRepository implements IRoadmapStateRepository {
|
|
9
|
-
private readonly _db;
|
|
10
|
-
constructor(db: Database.Database);
|
|
11
|
-
load(prdDir: string): IRoadmapState | null;
|
|
12
|
-
save(prdDir: string, state: IRoadmapState): void;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=roadmap-state-repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-state-repository.d.ts","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/roadmap-state-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAS3D,qBAAa,4BAA6B,YAAW,uBAAuB;IAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IA8B1C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;CAcjD"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of IRoadmapStateRepository.
|
|
3
|
-
* Persists roadmap state in the `roadmap_states` table, keyed by prd_dir.
|
|
4
|
-
*/
|
|
5
|
-
export class SqliteRoadmapStateRepository {
|
|
6
|
-
_db;
|
|
7
|
-
constructor(db) {
|
|
8
|
-
this._db = db;
|
|
9
|
-
}
|
|
10
|
-
load(prdDir) {
|
|
11
|
-
const row = this._db
|
|
12
|
-
.prepare(`SELECT version, last_scan, items_json
|
|
13
|
-
FROM roadmap_states
|
|
14
|
-
WHERE prd_dir = ?`)
|
|
15
|
-
.get(prdDir);
|
|
16
|
-
if (!row) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
let items = {};
|
|
20
|
-
try {
|
|
21
|
-
const parsed = JSON.parse(row.items_json);
|
|
22
|
-
if (typeof parsed === "object" && parsed !== null) {
|
|
23
|
-
items = parsed;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
items = {};
|
|
28
|
-
}
|
|
29
|
-
return {
|
|
30
|
-
version: row.version,
|
|
31
|
-
lastScan: row.last_scan,
|
|
32
|
-
items,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
save(prdDir, state) {
|
|
36
|
-
const itemsJson = JSON.stringify(state.items);
|
|
37
|
-
this._db
|
|
38
|
-
.prepare(`INSERT INTO roadmap_states (prd_dir, version, last_scan, items_json)
|
|
39
|
-
VALUES (?, ?, ?, ?)
|
|
40
|
-
ON CONFLICT(prd_dir)
|
|
41
|
-
DO UPDATE SET version = excluded.version,
|
|
42
|
-
last_scan = excluded.last_scan,
|
|
43
|
-
items_json = excluded.items_json`)
|
|
44
|
-
.run(prdDir, state.version, state.lastScan, itemsJson);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=roadmap-state-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-state-repository.js","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/roadmap-state-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,OAAO,4BAA4B;IACtB,GAAG,CAAoB;IAExC,YAAY,EAAqB;QAC/B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;aACjB,OAAO,CACN;;2BAEmB,CACpB;aACA,GAAG,CAAC,MAAM,CAAC,CAAC;QAEf,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,GAA2B,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClD,KAAK,GAAG,MAAgC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QAED,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,KAAoB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,GAAG;aACL,OAAO,CACN;;;;;wDAKgD,CACjD;aACA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of ISlackDiscussionRepository.
|
|
3
|
-
* Persists Slack discussion records in the `slack_discussions` table.
|
|
4
|
-
*/
|
|
5
|
-
import Database from "better-sqlite3";
|
|
6
|
-
import { ConsensusResult, DiscussionStatus, ISlackDiscussion, TriggerType } from "../../../../shared/types.js";
|
|
7
|
-
import { ISlackDiscussionRepository } from "../interfaces.js";
|
|
8
|
-
export declare class SqliteSlackDiscussionRepository implements ISlackDiscussionRepository {
|
|
9
|
-
private readonly _db;
|
|
10
|
-
constructor(db: Database.Database);
|
|
11
|
-
getById(id: string): ISlackDiscussion | null;
|
|
12
|
-
getActive(projectPath: string): ISlackDiscussion[];
|
|
13
|
-
getLatestByTrigger(projectPath: string, triggerType: TriggerType, triggerRef: string): ISlackDiscussion | null;
|
|
14
|
-
create(discussion: Omit<ISlackDiscussion, 'id' | 'createdAt' | 'updatedAt'>): ISlackDiscussion;
|
|
15
|
-
updateStatus(id: string, status: DiscussionStatus, consensusResult?: ConsensusResult): void;
|
|
16
|
-
updateRound(id: string, round: number): void;
|
|
17
|
-
addParticipant(id: string, agentId: string): void;
|
|
18
|
-
close(id: string): void;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=slack-discussion-repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack-discussion-repository.d.ts","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/slack-discussion-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAkC9D,qBAAa,+BAAgC,YAAW,0BAA0B;IAChF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAO5C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAelD,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,GACjB,gBAAgB,GAAG,IAAI;IAa1B,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,gBAAgB;IA4B9F,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI;IAQ3F,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAajD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAGxB"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite implementation of ISlackDiscussionRepository.
|
|
3
|
-
* Persists Slack discussion records in the `slack_discussions` table.
|
|
4
|
-
*/
|
|
5
|
-
import { randomUUID } from "crypto";
|
|
6
|
-
function rowToDiscussion(row) {
|
|
7
|
-
return {
|
|
8
|
-
id: row.id,
|
|
9
|
-
projectPath: row.project_path,
|
|
10
|
-
triggerType: row.trigger_type,
|
|
11
|
-
triggerRef: row.trigger_ref,
|
|
12
|
-
channelId: row.channel_id,
|
|
13
|
-
threadTs: row.thread_ts,
|
|
14
|
-
status: row.status,
|
|
15
|
-
round: row.round,
|
|
16
|
-
participants: JSON.parse(row.participants_json || '[]'),
|
|
17
|
-
consensusResult: row.consensus_result,
|
|
18
|
-
createdAt: row.created_at,
|
|
19
|
-
updatedAt: row.updated_at,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export class SqliteSlackDiscussionRepository {
|
|
23
|
-
_db;
|
|
24
|
-
constructor(db) {
|
|
25
|
-
this._db = db;
|
|
26
|
-
}
|
|
27
|
-
getById(id) {
|
|
28
|
-
const row = this._db
|
|
29
|
-
.prepare('SELECT * FROM slack_discussions WHERE id = ?')
|
|
30
|
-
.get(id);
|
|
31
|
-
return row ? rowToDiscussion(row) : null;
|
|
32
|
-
}
|
|
33
|
-
getActive(projectPath) {
|
|
34
|
-
const rows = projectPath
|
|
35
|
-
? this._db
|
|
36
|
-
.prepare("SELECT * FROM slack_discussions WHERE project_path = ? AND status = 'active' ORDER BY created_at DESC")
|
|
37
|
-
.all(projectPath)
|
|
38
|
-
: this._db
|
|
39
|
-
.prepare("SELECT * FROM slack_discussions WHERE status = 'active' ORDER BY created_at DESC")
|
|
40
|
-
.all();
|
|
41
|
-
return rows.map(rowToDiscussion);
|
|
42
|
-
}
|
|
43
|
-
getLatestByTrigger(projectPath, triggerType, triggerRef) {
|
|
44
|
-
const row = this._db
|
|
45
|
-
.prepare(`SELECT *
|
|
46
|
-
FROM slack_discussions
|
|
47
|
-
WHERE project_path = ? AND trigger_type = ? AND trigger_ref = ?
|
|
48
|
-
ORDER BY created_at DESC
|
|
49
|
-
LIMIT 1`)
|
|
50
|
-
.get(projectPath, triggerType, triggerRef);
|
|
51
|
-
return row ? rowToDiscussion(row) : null;
|
|
52
|
-
}
|
|
53
|
-
create(discussion) {
|
|
54
|
-
const id = randomUUID();
|
|
55
|
-
const now = Date.now();
|
|
56
|
-
this._db
|
|
57
|
-
.prepare(`INSERT INTO slack_discussions
|
|
58
|
-
(id, project_path, trigger_type, trigger_ref, channel_id, thread_ts, status, round, participants_json, consensus_result, created_at, updated_at)
|
|
59
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
60
|
-
.run(id, discussion.projectPath, discussion.triggerType, discussion.triggerRef, discussion.channelId, discussion.threadTs, discussion.status, discussion.round, JSON.stringify(discussion.participants), discussion.consensusResult ?? null, now, now);
|
|
61
|
-
return this.getById(id);
|
|
62
|
-
}
|
|
63
|
-
updateStatus(id, status, consensusResult) {
|
|
64
|
-
this._db
|
|
65
|
-
.prepare('UPDATE slack_discussions SET status = ?, consensus_result = ?, updated_at = ? WHERE id = ?')
|
|
66
|
-
.run(status, consensusResult ?? null, Date.now(), id);
|
|
67
|
-
}
|
|
68
|
-
updateRound(id, round) {
|
|
69
|
-
this._db
|
|
70
|
-
.prepare('UPDATE slack_discussions SET round = ?, updated_at = ? WHERE id = ?')
|
|
71
|
-
.run(round, Date.now(), id);
|
|
72
|
-
}
|
|
73
|
-
addParticipant(id, agentId) {
|
|
74
|
-
const discussion = this.getById(id);
|
|
75
|
-
if (!discussion)
|
|
76
|
-
return;
|
|
77
|
-
if (!discussion.participants.includes(agentId)) {
|
|
78
|
-
discussion.participants.push(agentId);
|
|
79
|
-
this._db
|
|
80
|
-
.prepare('UPDATE slack_discussions SET participants_json = ?, updated_at = ? WHERE id = ?')
|
|
81
|
-
.run(JSON.stringify(discussion.participants), Date.now(), id);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
close(id) {
|
|
85
|
-
this.updateStatus(id, 'closed');
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=slack-discussion-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack-discussion-repository.js","sourceRoot":"","sources":["../../../../../src/storage/repositories/sqlite/slack-discussion-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite database client for Night Watch CLI
|
|
3
|
-
* Opens (or creates) the database at ${NIGHT_WATCH_HOME}/state.db
|
|
4
|
-
* Applies WAL journal mode and busy_timeout pragmas on open.
|
|
5
|
-
*/
|
|
6
|
-
import Database from "better-sqlite3";
|
|
7
|
-
/**
|
|
8
|
-
* Get the path to the SQLite database file.
|
|
9
|
-
* Mirrors the same pattern used by getRegistryPath() and getHistoryPath().
|
|
10
|
-
*/
|
|
11
|
-
export declare function getDbPath(): string;
|
|
12
|
-
/**
|
|
13
|
-
* Return the singleton Database instance, creating it on first call.
|
|
14
|
-
* The database directory is created if it does not exist.
|
|
15
|
-
* Pragmas applied: journal_mode = WAL, busy_timeout = 5000.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getDb(): Database.Database;
|
|
18
|
-
/**
|
|
19
|
-
* Close the current singleton database connection and reset it.
|
|
20
|
-
* Primarily useful in tests to allow re-opening against a different path.
|
|
21
|
-
*/
|
|
22
|
-
export declare function closeDb(): void;
|
|
23
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED;;;;GAIG;AACH,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAezC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite database client for Night Watch CLI
|
|
3
|
-
* Opens (or creates) the database at ${NIGHT_WATCH_HOME}/state.db
|
|
4
|
-
* Applies WAL journal mode and busy_timeout pragmas on open.
|
|
5
|
-
*/
|
|
6
|
-
import * as fs from "fs";
|
|
7
|
-
import * as os from "os";
|
|
8
|
-
import * as path from "path";
|
|
9
|
-
import Database from "better-sqlite3";
|
|
10
|
-
import { GLOBAL_CONFIG_DIR, STATE_DB_FILE_NAME } from "../../constants.js";
|
|
11
|
-
let _db = null;
|
|
12
|
-
/**
|
|
13
|
-
* Get the path to the SQLite database file.
|
|
14
|
-
* Mirrors the same pattern used by getRegistryPath() and getHistoryPath().
|
|
15
|
-
*/
|
|
16
|
-
export function getDbPath() {
|
|
17
|
-
const base = process.env.NIGHT_WATCH_HOME || path.join(os.homedir(), GLOBAL_CONFIG_DIR);
|
|
18
|
-
return path.join(base, STATE_DB_FILE_NAME);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Return the singleton Database instance, creating it on first call.
|
|
22
|
-
* The database directory is created if it does not exist.
|
|
23
|
-
* Pragmas applied: journal_mode = WAL, busy_timeout = 5000.
|
|
24
|
-
*/
|
|
25
|
-
export function getDb() {
|
|
26
|
-
if (_db) {
|
|
27
|
-
return _db;
|
|
28
|
-
}
|
|
29
|
-
const dbPath = getDbPath();
|
|
30
|
-
fs.mkdirSync(path.dirname(dbPath), { recursive: true });
|
|
31
|
-
const db = new Database(dbPath);
|
|
32
|
-
db.pragma("journal_mode = WAL");
|
|
33
|
-
db.pragma("busy_timeout = 5000");
|
|
34
|
-
_db = db;
|
|
35
|
-
return _db;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Close the current singleton database connection and reset it.
|
|
39
|
-
* Primarily useful in tests to allow re-opening against a different path.
|
|
40
|
-
*/
|
|
41
|
-
export function closeDb() {
|
|
42
|
-
if (_db) {
|
|
43
|
-
_db.close();
|
|
44
|
-
_db = null;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,IAAI,GAAG,GAA6B,IAAI,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK;IACnB,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEjC,GAAG,GAAG,EAAE,CAAC;IACT,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite schema migrations for Night Watch CLI.
|
|
3
|
-
* Creates all required tables if they do not already exist (idempotent).
|
|
4
|
-
*/
|
|
5
|
-
import Database from "better-sqlite3";
|
|
6
|
-
/**
|
|
7
|
-
* Run all migrations against the provided database instance.
|
|
8
|
-
* Safe to call multiple times — all DDL statements use IF NOT EXISTS.
|
|
9
|
-
*/
|
|
10
|
-
export declare function runMigrations(db: Database.Database): void;
|
|
11
|
-
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite/migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAqFzD"}
|