@urateam/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/assembler.test.d.ts +2 -0
- package/dist/__tests__/assembler.test.d.ts.map +1 -0
- package/dist/__tests__/assembler.test.js +63 -0
- package/dist/__tests__/assembler.test.js.map +1 -0
- package/dist/__tests__/auth-check.test.d.ts +2 -0
- package/dist/__tests__/auth-check.test.d.ts.map +1 -0
- package/dist/__tests__/auth-check.test.js +88 -0
- package/dist/__tests__/auth-check.test.js.map +1 -0
- package/dist/__tests__/auto-merge.test.d.ts +15 -0
- package/dist/__tests__/auto-merge.test.d.ts.map +1 -0
- package/dist/__tests__/auto-merge.test.js +428 -0
- package/dist/__tests__/auto-merge.test.js.map +1 -0
- package/dist/__tests__/bec89-unified-schema.test.d.ts +2 -0
- package/dist/__tests__/bec89-unified-schema.test.d.ts.map +1 -0
- package/dist/__tests__/bec89-unified-schema.test.js +235 -0
- package/dist/__tests__/bec89-unified-schema.test.js.map +1 -0
- package/dist/__tests__/conflict-detector.test.d.ts +2 -0
- package/dist/__tests__/conflict-detector.test.d.ts.map +1 -0
- package/dist/__tests__/conflict-detector.test.js +206 -0
- package/dist/__tests__/conflict-detector.test.js.map +1 -0
- package/dist/__tests__/coordination.test.d.ts +2 -0
- package/dist/__tests__/coordination.test.d.ts.map +1 -0
- package/dist/__tests__/coordination.test.js +257 -0
- package/dist/__tests__/coordination.test.js.map +1 -0
- package/dist/__tests__/db-postgres.test.d.ts +14 -0
- package/dist/__tests__/db-postgres.test.d.ts.map +1 -0
- package/dist/__tests__/db-postgres.test.js +289 -0
- package/dist/__tests__/db-postgres.test.js.map +1 -0
- package/dist/__tests__/db.test.d.ts +2 -0
- package/dist/__tests__/db.test.d.ts.map +1 -0
- package/dist/__tests__/db.test.js +182 -0
- package/dist/__tests__/db.test.js.map +1 -0
- package/dist/__tests__/deep-review.test.d.ts +2 -0
- package/dist/__tests__/deep-review.test.d.ts.map +1 -0
- package/dist/__tests__/deep-review.test.js +322 -0
- package/dist/__tests__/deep-review.test.js.map +1 -0
- package/dist/__tests__/devcontainer.test.d.ts +2 -0
- package/dist/__tests__/devcontainer.test.d.ts.map +1 -0
- package/dist/__tests__/devcontainer.test.js +89 -0
- package/dist/__tests__/devcontainer.test.js.map +1 -0
- package/dist/__tests__/distributed-lock.test.d.ts +18 -0
- package/dist/__tests__/distributed-lock.test.d.ts.map +1 -0
- package/dist/__tests__/distributed-lock.test.js +237 -0
- package/dist/__tests__/distributed-lock.test.js.map +1 -0
- package/dist/__tests__/e2e-pipeline.test.d.ts +25 -0
- package/dist/__tests__/e2e-pipeline.test.d.ts.map +1 -0
- package/dist/__tests__/e2e-pipeline.test.js +517 -0
- package/dist/__tests__/e2e-pipeline.test.js.map +1 -0
- package/dist/__tests__/error-classifier.test.d.ts +2 -0
- package/dist/__tests__/error-classifier.test.d.ts.map +1 -0
- package/dist/__tests__/error-classifier.test.js +33 -0
- package/dist/__tests__/error-classifier.test.js.map +1 -0
- package/dist/__tests__/executor-integration.test.d.ts +11 -0
- package/dist/__tests__/executor-integration.test.d.ts.map +1 -0
- package/dist/__tests__/executor-integration.test.js +246 -0
- package/dist/__tests__/executor-integration.test.js.map +1 -0
- package/dist/__tests__/executor-issue-id.test.d.ts +13 -0
- package/dist/__tests__/executor-issue-id.test.d.ts.map +1 -0
- package/dist/__tests__/executor-issue-id.test.js +211 -0
- package/dist/__tests__/executor-issue-id.test.js.map +1 -0
- package/dist/__tests__/executor.test.d.ts +2 -0
- package/dist/__tests__/executor.test.d.ts.map +1 -0
- package/dist/__tests__/executor.test.js +164 -0
- package/dist/__tests__/executor.test.js.map +1 -0
- package/dist/__tests__/extract-handoff.test.d.ts +2 -0
- package/dist/__tests__/extract-handoff.test.d.ts.map +1 -0
- package/dist/__tests__/extract-handoff.test.js +131 -0
- package/dist/__tests__/extract-handoff.test.js.map +1 -0
- package/dist/__tests__/fail-on-auto-commit.test.d.ts +2 -0
- package/dist/__tests__/fail-on-auto-commit.test.d.ts.map +1 -0
- package/dist/__tests__/fail-on-auto-commit.test.js +156 -0
- package/dist/__tests__/fail-on-auto-commit.test.js.map +1 -0
- package/dist/__tests__/fixtures/webhook-comment.json +5 -0
- package/dist/__tests__/fixtures/webhook-state-change.json +15 -0
- package/dist/__tests__/force-push-agent-branches.test.d.ts +12 -0
- package/dist/__tests__/force-push-agent-branches.test.d.ts.map +1 -0
- package/dist/__tests__/force-push-agent-branches.test.js +348 -0
- package/dist/__tests__/force-push-agent-branches.test.js.map +1 -0
- package/dist/__tests__/github-webhook.test.d.ts +2 -0
- package/dist/__tests__/github-webhook.test.d.ts.map +1 -0
- package/dist/__tests__/github-webhook.test.js +370 -0
- package/dist/__tests__/github-webhook.test.js.map +1 -0
- package/dist/__tests__/gitlab.test.d.ts +28 -0
- package/dist/__tests__/gitlab.test.d.ts.map +1 -0
- package/dist/__tests__/gitlab.test.js +241 -0
- package/dist/__tests__/gitlab.test.js.map +1 -0
- package/dist/__tests__/integration/auto-commit.test.d.ts +2 -0
- package/dist/__tests__/integration/auto-commit.test.d.ts.map +1 -0
- package/dist/__tests__/integration/auto-commit.test.js +207 -0
- package/dist/__tests__/integration/auto-commit.test.js.map +1 -0
- package/dist/__tests__/integration/bec99-cross-worktree-guard.test.d.ts +10 -0
- package/dist/__tests__/integration/bec99-cross-worktree-guard.test.d.ts.map +1 -0
- package/dist/__tests__/integration/bec99-cross-worktree-guard.test.js +183 -0
- package/dist/__tests__/integration/bec99-cross-worktree-guard.test.js.map +1 -0
- package/dist/__tests__/integration/reproduce-bec99.test.d.ts +32 -0
- package/dist/__tests__/integration/reproduce-bec99.test.d.ts.map +1 -0
- package/dist/__tests__/integration/reproduce-bec99.test.js +243 -0
- package/dist/__tests__/integration/reproduce-bec99.test.js.map +1 -0
- package/dist/__tests__/integration/vitest-changed.test.d.ts +10 -0
- package/dist/__tests__/integration/vitest-changed.test.d.ts.map +1 -0
- package/dist/__tests__/integration/vitest-changed.test.js +128 -0
- package/dist/__tests__/integration/vitest-changed.test.js.map +1 -0
- package/dist/__tests__/license.test.d.ts +2 -0
- package/dist/__tests__/license.test.d.ts.map +1 -0
- package/dist/__tests__/license.test.js +53 -0
- package/dist/__tests__/license.test.js.map +1 -0
- package/dist/__tests__/mcp-resolver.test.d.ts +2 -0
- package/dist/__tests__/mcp-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/mcp-resolver.test.js +65 -0
- package/dist/__tests__/mcp-resolver.test.js.map +1 -0
- package/dist/__tests__/migrator.test.d.ts +2 -0
- package/dist/__tests__/migrator.test.d.ts.map +1 -0
- package/dist/__tests__/migrator.test.js +300 -0
- package/dist/__tests__/migrator.test.js.map +1 -0
- package/dist/__tests__/notifier-discord.test.d.ts +2 -0
- package/dist/__tests__/notifier-discord.test.d.ts.map +1 -0
- package/dist/__tests__/notifier-discord.test.js +166 -0
- package/dist/__tests__/notifier-discord.test.js.map +1 -0
- package/dist/__tests__/notifier-slack.test.d.ts +2 -0
- package/dist/__tests__/notifier-slack.test.d.ts.map +1 -0
- package/dist/__tests__/notifier-slack.test.js +157 -0
- package/dist/__tests__/notifier-slack.test.js.map +1 -0
- package/dist/__tests__/notifier.test.d.ts +2 -0
- package/dist/__tests__/notifier.test.d.ts.map +1 -0
- package/dist/__tests__/notifier.test.js +207 -0
- package/dist/__tests__/notifier.test.js.map +1 -0
- package/dist/__tests__/pipeline-config.test.d.ts +2 -0
- package/dist/__tests__/pipeline-config.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-config.test.js +143 -0
- package/dist/__tests__/pipeline-config.test.js.map +1 -0
- package/dist/__tests__/pipeline-runner.test.d.ts +2 -0
- package/dist/__tests__/pipeline-runner.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-runner.test.js +359 -0
- package/dist/__tests__/pipeline-runner.test.js.map +1 -0
- package/dist/__tests__/pm-approvals-n1.repro.test.d.ts +9 -0
- package/dist/__tests__/pm-approvals-n1.repro.test.d.ts.map +1 -0
- package/dist/__tests__/pm-approvals-n1.repro.test.js +175 -0
- package/dist/__tests__/pm-approvals-n1.repro.test.js.map +1 -0
- package/dist/__tests__/pm-approvals.test.d.ts +2 -0
- package/dist/__tests__/pm-approvals.test.d.ts.map +1 -0
- package/dist/__tests__/pm-approvals.test.js +162 -0
- package/dist/__tests__/pm-approvals.test.js.map +1 -0
- package/dist/__tests__/pm-budget.test.d.ts +2 -0
- package/dist/__tests__/pm-budget.test.d.ts.map +1 -0
- package/dist/__tests__/pm-budget.test.js +65 -0
- package/dist/__tests__/pm-budget.test.js.map +1 -0
- package/dist/__tests__/pm-conflict.test.d.ts +2 -0
- package/dist/__tests__/pm-conflict.test.d.ts.map +1 -0
- package/dist/__tests__/pm-conflict.test.js +87 -0
- package/dist/__tests__/pm-conflict.test.js.map +1 -0
- package/dist/__tests__/pm-promote.test.d.ts +2 -0
- package/dist/__tests__/pm-promote.test.d.ts.map +1 -0
- package/dist/__tests__/pm-promote.test.js +82 -0
- package/dist/__tests__/pm-promote.test.js.map +1 -0
- package/dist/__tests__/pm-recover.test.d.ts +2 -0
- package/dist/__tests__/pm-recover.test.d.ts.map +1 -0
- package/dist/__tests__/pm-recover.test.js +100 -0
- package/dist/__tests__/pm-recover.test.js.map +1 -0
- package/dist/__tests__/pm-scheduler.test.d.ts +2 -0
- package/dist/__tests__/pm-scheduler.test.d.ts.map +1 -0
- package/dist/__tests__/pm-scheduler.test.js +112 -0
- package/dist/__tests__/pm-scheduler.test.js.map +1 -0
- package/dist/__tests__/pm-slack-interface.test.d.ts +2 -0
- package/dist/__tests__/pm-slack-interface.test.d.ts.map +1 -0
- package/dist/__tests__/pm-slack-interface.test.js +372 -0
- package/dist/__tests__/pm-slack-interface.test.js.map +1 -0
- package/dist/__tests__/pm-slack.test.d.ts +2 -0
- package/dist/__tests__/pm-slack.test.d.ts.map +1 -0
- package/dist/__tests__/pm-slack.test.js +83 -0
- package/dist/__tests__/pm-slack.test.js.map +1 -0
- package/dist/__tests__/pm-triage.test.d.ts +2 -0
- package/dist/__tests__/pm-triage.test.d.ts.map +1 -0
- package/dist/__tests__/pm-triage.test.js +198 -0
- package/dist/__tests__/pm-triage.test.js.map +1 -0
- package/dist/__tests__/pm-types.test.d.ts +2 -0
- package/dist/__tests__/pm-types.test.d.ts.map +1 -0
- package/dist/__tests__/pm-types.test.js +76 -0
- package/dist/__tests__/pm-types.test.js.map +1 -0
- package/dist/__tests__/pr-automerge.test.d.ts +18 -0
- package/dist/__tests__/pr-automerge.test.d.ts.map +1 -0
- package/dist/__tests__/pr-automerge.test.js +645 -0
- package/dist/__tests__/pr-automerge.test.js.map +1 -0
- package/dist/__tests__/pr-description.test.d.ts +2 -0
- package/dist/__tests__/pr-description.test.d.ts.map +1 -0
- package/dist/__tests__/pr-description.test.js +728 -0
- package/dist/__tests__/pr-description.test.js.map +1 -0
- package/dist/__tests__/prompt-injection.test.d.ts +2 -0
- package/dist/__tests__/prompt-injection.test.d.ts.map +1 -0
- package/dist/__tests__/prompt-injection.test.js +446 -0
- package/dist/__tests__/prompt-injection.test.js.map +1 -0
- package/dist/__tests__/ralph-gate.test.d.ts +19 -0
- package/dist/__tests__/ralph-gate.test.d.ts.map +1 -0
- package/dist/__tests__/ralph-gate.test.js +593 -0
- package/dist/__tests__/ralph-gate.test.js.map +1 -0
- package/dist/__tests__/ralph-review-fix-regression.test.d.ts +18 -0
- package/dist/__tests__/ralph-review-fix-regression.test.d.ts.map +1 -0
- package/dist/__tests__/ralph-review-fix-regression.test.js +306 -0
- package/dist/__tests__/ralph-review-fix-regression.test.js.map +1 -0
- package/dist/__tests__/ralph.test.d.ts +2 -0
- package/dist/__tests__/ralph.test.d.ts.map +1 -0
- package/dist/__tests__/ralph.test.js +96 -0
- package/dist/__tests__/ralph.test.js.map +1 -0
- package/dist/__tests__/recover-stuck.test.d.ts +8 -0
- package/dist/__tests__/recover-stuck.test.d.ts.map +1 -0
- package/dist/__tests__/recover-stuck.test.js +399 -0
- package/dist/__tests__/recover-stuck.test.js.map +1 -0
- package/dist/__tests__/repo.test.d.ts +2 -0
- package/dist/__tests__/repo.test.d.ts.map +1 -0
- package/dist/__tests__/repo.test.js +295 -0
- package/dist/__tests__/repo.test.js.map +1 -0
- package/dist/__tests__/repro-bec58-n-plus-one.test.d.ts +2 -0
- package/dist/__tests__/repro-bec58-n-plus-one.test.d.ts.map +1 -0
- package/dist/__tests__/repro-bec58-n-plus-one.test.js +187 -0
- package/dist/__tests__/repro-bec58-n-plus-one.test.js.map +1 -0
- package/dist/__tests__/reproduce-bec113-pagination-warning.test.d.ts +16 -0
- package/dist/__tests__/reproduce-bec113-pagination-warning.test.d.ts.map +1 -0
- package/dist/__tests__/reproduce-bec113-pagination-warning.test.js +226 -0
- package/dist/__tests__/reproduce-bec113-pagination-warning.test.js.map +1 -0
- package/dist/__tests__/reproduce-bec43-updatedat.test.d.ts +2 -0
- package/dist/__tests__/reproduce-bec43-updatedat.test.d.ts.map +1 -0
- package/dist/__tests__/reproduce-bec43-updatedat.test.js +76 -0
- package/dist/__tests__/reproduce-bec43-updatedat.test.js.map +1 -0
- package/dist/__tests__/reproduce-bec48-distributed-race.test.d.ts +18 -0
- package/dist/__tests__/reproduce-bec48-distributed-race.test.d.ts.map +1 -0
- package/dist/__tests__/reproduce-bec48-distributed-race.test.js +178 -0
- package/dist/__tests__/reproduce-bec48-distributed-race.test.js.map +1 -0
- package/dist/__tests__/reproduce-bec62.test.d.ts +2 -0
- package/dist/__tests__/reproduce-bec62.test.d.ts.map +1 -0
- package/dist/__tests__/reproduce-bec62.test.js +86 -0
- package/dist/__tests__/reproduce-bec62.test.js.map +1 -0
- package/dist/__tests__/reproduce-bec91-stuck-in-progress.test.d.ts +13 -0
- package/dist/__tests__/reproduce-bec91-stuck-in-progress.test.d.ts.map +1 -0
- package/dist/__tests__/reproduce-bec91-stuck-in-progress.test.js +220 -0
- package/dist/__tests__/reproduce-bec91-stuck-in-progress.test.js.map +1 -0
- package/dist/__tests__/review-feedback.test.d.ts +2 -0
- package/dist/__tests__/review-feedback.test.d.ts.map +1 -0
- package/dist/__tests__/review-feedback.test.js +383 -0
- package/dist/__tests__/review-feedback.test.js.map +1 -0
- package/dist/__tests__/sanitizer.test.d.ts +2 -0
- package/dist/__tests__/sanitizer.test.d.ts.map +1 -0
- package/dist/__tests__/sanitizer.test.js +162 -0
- package/dist/__tests__/sanitizer.test.js.map +1 -0
- package/dist/__tests__/security.test.d.ts +2 -0
- package/dist/__tests__/security.test.d.ts.map +1 -0
- package/dist/__tests__/security.test.js +52 -0
- package/dist/__tests__/security.test.js.map +1 -0
- package/dist/__tests__/server.test.d.ts +2 -0
- package/dist/__tests__/server.test.d.ts.map +1 -0
- package/dist/__tests__/server.test.js +61 -0
- package/dist/__tests__/server.test.js.map +1 -0
- package/dist/__tests__/slack-alerts.test.d.ts +2 -0
- package/dist/__tests__/slack-alerts.test.d.ts.map +1 -0
- package/dist/__tests__/slack-alerts.test.js +214 -0
- package/dist/__tests__/slack-alerts.test.js.map +1 -0
- package/dist/__tests__/stage-models.test.d.ts +14 -0
- package/dist/__tests__/stage-models.test.d.ts.map +1 -0
- package/dist/__tests__/stage-models.test.js +244 -0
- package/dist/__tests__/stage-models.test.js.map +1 -0
- package/dist/__tests__/start-todo.test.d.ts +2 -0
- package/dist/__tests__/start-todo.test.d.ts.map +1 -0
- package/dist/__tests__/start-todo.test.js +175 -0
- package/dist/__tests__/start-todo.test.js.map +1 -0
- package/dist/__tests__/tech-stack.test.d.ts +2 -0
- package/dist/__tests__/tech-stack.test.d.ts.map +1 -0
- package/dist/__tests__/tech-stack.test.js +75 -0
- package/dist/__tests__/tech-stack.test.js.map +1 -0
- package/dist/__tests__/templates.test.d.ts +2 -0
- package/dist/__tests__/templates.test.d.ts.map +1 -0
- package/dist/__tests__/templates.test.js +161 -0
- package/dist/__tests__/templates.test.js.map +1 -0
- package/dist/__tests__/test-quality.test.d.ts +2 -0
- package/dist/__tests__/test-quality.test.d.ts.map +1 -0
- package/dist/__tests__/test-quality.test.js +329 -0
- package/dist/__tests__/test-quality.test.js.map +1 -0
- package/dist/__tests__/token-budget.test.d.ts +2 -0
- package/dist/__tests__/token-budget.test.d.ts.map +1 -0
- package/dist/__tests__/token-budget.test.js +198 -0
- package/dist/__tests__/token-budget.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +2 -0
- package/dist/__tests__/types.test.d.ts.map +1 -0
- package/dist/__tests__/types.test.js +156 -0
- package/dist/__tests__/types.test.js.map +1 -0
- package/dist/__tests__/validate.test.d.ts +2 -0
- package/dist/__tests__/validate.test.d.ts.map +1 -0
- package/dist/__tests__/validate.test.js +128 -0
- package/dist/__tests__/validate.test.js.map +1 -0
- package/dist/__tests__/webhook-handler.test.d.ts +2 -0
- package/dist/__tests__/webhook-handler.test.d.ts.map +1 -0
- package/dist/__tests__/webhook-handler.test.js +286 -0
- package/dist/__tests__/webhook-handler.test.js.map +1 -0
- package/dist/__tests__/webhook.test.d.ts +2 -0
- package/dist/__tests__/webhook.test.d.ts.map +1 -0
- package/dist/__tests__/webhook.test.js +58 -0
- package/dist/__tests__/webhook.test.js.map +1 -0
- package/dist/db/client.d.ts +56 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +201 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/index.d.ts +4 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +4 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations/postgres/001_initial_schema.sql +78 -0
- package/dist/db/migrations/postgres/002_pg_timestamps.sql +78 -0
- package/dist/db/migrations/postgres/003_retry_count.sql +10 -0
- package/dist/db/migrations/postgres/004_review_feedback.sql +20 -0
- package/dist/db/migrations/postgres/005_auto_merge.sql +15 -0
- package/dist/db/migrations/sqlite/001_initial_schema.sql +78 -0
- package/dist/db/migrations/sqlite/002_retry_count.sql +5 -0
- package/dist/db/migrations/sqlite/003_review_feedback.sql +7 -0
- package/dist/db/migrations/sqlite/004_auto_merge.sql +6 -0
- package/dist/db/migrator.d.ts +51 -0
- package/dist/db/migrator.d.ts.map +1 -0
- package/dist/db/migrator.js +188 -0
- package/dist/db/migrator.js.map +1 -0
- package/dist/db/schema.d.ts +1114 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +129 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/entrypoint.d.ts +2 -0
- package/dist/entrypoint.d.ts.map +1 -0
- package/dist/entrypoint.js +113 -0
- package/dist/entrypoint.js.map +1 -0
- package/dist/executor/agent-config.d.ts +10 -0
- package/dist/executor/agent-config.d.ts.map +1 -0
- package/dist/executor/agent-config.js +81 -0
- package/dist/executor/agent-config.js.map +1 -0
- package/dist/executor/agent-stream.d.ts +65 -0
- package/dist/executor/agent-stream.d.ts.map +1 -0
- package/dist/executor/agent-stream.js +101 -0
- package/dist/executor/agent-stream.js.map +1 -0
- package/dist/executor/auth-check.d.ts +10 -0
- package/dist/executor/auth-check.d.ts.map +1 -0
- package/dist/executor/auth-check.js +52 -0
- package/dist/executor/auth-check.js.map +1 -0
- package/dist/executor/deep-review.d.ts +61 -0
- package/dist/executor/deep-review.d.ts.map +1 -0
- package/dist/executor/deep-review.js +308 -0
- package/dist/executor/deep-review.js.map +1 -0
- package/dist/executor/executor.d.ts +27 -0
- package/dist/executor/executor.d.ts.map +1 -0
- package/dist/executor/executor.js +168 -0
- package/dist/executor/executor.js.map +1 -0
- package/dist/executor/extract-handoff.d.ts +14 -0
- package/dist/executor/extract-handoff.d.ts.map +1 -0
- package/dist/executor/extract-handoff.js +80 -0
- package/dist/executor/extract-handoff.js.map +1 -0
- package/dist/executor/handoff.d.ts +24 -0
- package/dist/executor/handoff.d.ts.map +1 -0
- package/dist/executor/handoff.js +63 -0
- package/dist/executor/handoff.js.map +1 -0
- package/dist/executor/index.d.ts +8 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +8 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/mcp-resolver.d.ts +29 -0
- package/dist/executor/mcp-resolver.d.ts.map +1 -0
- package/dist/executor/mcp-resolver.js +80 -0
- package/dist/executor/mcp-resolver.js.map +1 -0
- package/dist/executor/permissions.d.ts +11 -0
- package/dist/executor/permissions.d.ts.map +1 -0
- package/dist/executor/permissions.js +32 -0
- package/dist/executor/permissions.js.map +1 -0
- package/dist/executor/profiles.d.ts +5 -0
- package/dist/executor/profiles.d.ts.map +1 -0
- package/dist/executor/profiles.js +35 -0
- package/dist/executor/profiles.js.map +1 -0
- package/dist/executor/prompt/assembler.d.ts +10 -0
- package/dist/executor/prompt/assembler.d.ts.map +1 -0
- package/dist/executor/prompt/assembler.js +28 -0
- package/dist/executor/prompt/assembler.js.map +1 -0
- package/dist/executor/prompt/index.d.ts +5 -0
- package/dist/executor/prompt/index.d.ts.map +1 -0
- package/dist/executor/prompt/index.js +5 -0
- package/dist/executor/prompt/index.js.map +1 -0
- package/dist/executor/prompt/sanitizer.d.ts +25 -0
- package/dist/executor/prompt/sanitizer.d.ts.map +1 -0
- package/dist/executor/prompt/sanitizer.js +81 -0
- package/dist/executor/prompt/sanitizer.js.map +1 -0
- package/dist/executor/prompt/schema-mapper.d.ts +7 -0
- package/dist/executor/prompt/schema-mapper.d.ts.map +1 -0
- package/dist/executor/prompt/schema-mapper.js +59 -0
- package/dist/executor/prompt/schema-mapper.js.map +1 -0
- package/dist/executor/prompt/templates.d.ts +31 -0
- package/dist/executor/prompt/templates.d.ts.map +1 -0
- package/dist/executor/prompt/templates.js +283 -0
- package/dist/executor/prompt/templates.js.map +1 -0
- package/dist/executor/ralph.d.ts +19 -0
- package/dist/executor/ralph.d.ts.map +1 -0
- package/dist/executor/ralph.js +112 -0
- package/dist/executor/ralph.js.map +1 -0
- package/dist/executor/test-quality.d.ts +117 -0
- package/dist/executor/test-quality.d.ts.map +1 -0
- package/dist/executor/test-quality.js +261 -0
- package/dist/executor/test-quality.js.map +1 -0
- package/dist/executor/validate.d.ts +15 -0
- package/dist/executor/validate.d.ts.map +1 -0
- package/dist/executor/validate.js +124 -0
- package/dist/executor/validate.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/license.d.ts +18 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +44 -0
- package/dist/license.js.map +1 -0
- package/dist/logger.d.ts +43 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +91 -0
- package/dist/logger.js.map +1 -0
- package/dist/notifier/composite.d.ts +13 -0
- package/dist/notifier/composite.d.ts.map +1 -0
- package/dist/notifier/composite.js +28 -0
- package/dist/notifier/composite.js.map +1 -0
- package/dist/notifier/discord.d.ts +14 -0
- package/dist/notifier/discord.d.ts.map +1 -0
- package/dist/notifier/discord.js +105 -0
- package/dist/notifier/discord.js.map +1 -0
- package/dist/notifier/index.d.ts +6 -0
- package/dist/notifier/index.d.ts.map +1 -0
- package/dist/notifier/index.js +6 -0
- package/dist/notifier/index.js.map +1 -0
- package/dist/notifier/linear.d.ts +28 -0
- package/dist/notifier/linear.d.ts.map +1 -0
- package/dist/notifier/linear.js +138 -0
- package/dist/notifier/linear.js.map +1 -0
- package/dist/notifier/slack-alerts.d.ts +62 -0
- package/dist/notifier/slack-alerts.d.ts.map +1 -0
- package/dist/notifier/slack-alerts.js +184 -0
- package/dist/notifier/slack-alerts.js.map +1 -0
- package/dist/notifier/slack.d.ts +14 -0
- package/dist/notifier/slack.d.ts.map +1 -0
- package/dist/notifier/slack.js +146 -0
- package/dist/notifier/slack.js.map +1 -0
- package/dist/pipeline/automerge.d.ts +44 -0
- package/dist/pipeline/automerge.d.ts.map +1 -0
- package/dist/pipeline/automerge.js +135 -0
- package/dist/pipeline/automerge.js.map +1 -0
- package/dist/pipeline/config.d.ts +5 -0
- package/dist/pipeline/config.d.ts.map +1 -0
- package/dist/pipeline/config.js +68 -0
- package/dist/pipeline/config.js.map +1 -0
- package/dist/pipeline/distributed-lock.d.ts +50 -0
- package/dist/pipeline/distributed-lock.d.ts.map +1 -0
- package/dist/pipeline/distributed-lock.js +114 -0
- package/dist/pipeline/distributed-lock.js.map +1 -0
- package/dist/pipeline/error-classifier.d.ts +9 -0
- package/dist/pipeline/error-classifier.d.ts.map +1 -0
- package/dist/pipeline/error-classifier.js +25 -0
- package/dist/pipeline/error-classifier.js.map +1 -0
- package/dist/pipeline/index.d.ts +9 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +9 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/pr-description.d.ts +35 -0
- package/dist/pipeline/pr-description.d.ts.map +1 -0
- package/dist/pipeline/pr-description.js +52 -0
- package/dist/pipeline/pr-description.js.map +1 -0
- package/dist/pipeline/queue.d.ts +7 -0
- package/dist/pipeline/queue.d.ts.map +1 -0
- package/dist/pipeline/queue.js +39 -0
- package/dist/pipeline/queue.js.map +1 -0
- package/dist/pipeline/router.d.ts +6 -0
- package/dist/pipeline/router.d.ts.map +1 -0
- package/dist/pipeline/router.js +19 -0
- package/dist/pipeline/router.js.map +1 -0
- package/dist/pipeline/runner.d.ts +142 -0
- package/dist/pipeline/runner.d.ts.map +1 -0
- package/dist/pipeline/runner.js +1848 -0
- package/dist/pipeline/runner.js.map +1 -0
- package/dist/pm/actions/approval-helpers.d.ts +11 -0
- package/dist/pm/actions/approval-helpers.d.ts.map +1 -0
- package/dist/pm/actions/approval-helpers.js +34 -0
- package/dist/pm/actions/approval-helpers.js.map +1 -0
- package/dist/pm/actions/cancel.d.ts +11 -0
- package/dist/pm/actions/cancel.d.ts.map +1 -0
- package/dist/pm/actions/cancel.js +68 -0
- package/dist/pm/actions/cancel.js.map +1 -0
- package/dist/pm/actions/deprioritize.d.ts +12 -0
- package/dist/pm/actions/deprioritize.d.ts.map +1 -0
- package/dist/pm/actions/deprioritize.js +55 -0
- package/dist/pm/actions/deprioritize.js.map +1 -0
- package/dist/pm/actions/promote.d.ts +11 -0
- package/dist/pm/actions/promote.d.ts.map +1 -0
- package/dist/pm/actions/promote.js +78 -0
- package/dist/pm/actions/promote.js.map +1 -0
- package/dist/pm/actions/recover-stuck.d.ts +42 -0
- package/dist/pm/actions/recover-stuck.d.ts.map +1 -0
- package/dist/pm/actions/recover-stuck.js +143 -0
- package/dist/pm/actions/recover-stuck.js.map +1 -0
- package/dist/pm/actions/recover.d.ts +18 -0
- package/dist/pm/actions/recover.d.ts.map +1 -0
- package/dist/pm/actions/recover.js +56 -0
- package/dist/pm/actions/recover.js.map +1 -0
- package/dist/pm/actions/resolve-approvals.d.ts +17 -0
- package/dist/pm/actions/resolve-approvals.d.ts.map +1 -0
- package/dist/pm/actions/resolve-approvals.js +92 -0
- package/dist/pm/actions/resolve-approvals.js.map +1 -0
- package/dist/pm/actions/start-todo.d.ts +28 -0
- package/dist/pm/actions/start-todo.d.ts.map +1 -0
- package/dist/pm/actions/start-todo.js +117 -0
- package/dist/pm/actions/start-todo.js.map +1 -0
- package/dist/pm/actions/triage.d.ts +13 -0
- package/dist/pm/actions/triage.d.ts.map +1 -0
- package/dist/pm/actions/triage.js +109 -0
- package/dist/pm/actions/triage.js.map +1 -0
- package/dist/pm/budget.d.ts +9 -0
- package/dist/pm/budget.d.ts.map +1 -0
- package/dist/pm/budget.js +62 -0
- package/dist/pm/budget.js.map +1 -0
- package/dist/pm/call-claude.d.ts +3 -0
- package/dist/pm/call-claude.d.ts.map +1 -0
- package/dist/pm/call-claude.js +37 -0
- package/dist/pm/call-claude.js.map +1 -0
- package/dist/pm/conflict-detector.d.ts +42 -0
- package/dist/pm/conflict-detector.d.ts.map +1 -0
- package/dist/pm/conflict-detector.js +116 -0
- package/dist/pm/conflict-detector.js.map +1 -0
- package/dist/pm/conflict.d.ts +20 -0
- package/dist/pm/conflict.d.ts.map +1 -0
- package/dist/pm/conflict.js +63 -0
- package/dist/pm/conflict.js.map +1 -0
- package/dist/pm/coordination.d.ts +50 -0
- package/dist/pm/coordination.d.ts.map +1 -0
- package/dist/pm/coordination.js +163 -0
- package/dist/pm/coordination.js.map +1 -0
- package/dist/pm/linear-helpers.d.ts +2 -0
- package/dist/pm/linear-helpers.d.ts.map +1 -0
- package/dist/pm/linear-helpers.js +16 -0
- package/dist/pm/linear-helpers.js.map +1 -0
- package/dist/pm/scheduler.d.ts +47 -0
- package/dist/pm/scheduler.d.ts.map +1 -0
- package/dist/pm/scheduler.js +346 -0
- package/dist/pm/scheduler.js.map +1 -0
- package/dist/pm/slack-helpers.d.ts +2 -0
- package/dist/pm/slack-helpers.d.ts.map +1 -0
- package/dist/pm/slack-helpers.js +24 -0
- package/dist/pm/slack-helpers.js.map +1 -0
- package/dist/pm/slack-interface.d.ts +133 -0
- package/dist/pm/slack-interface.d.ts.map +1 -0
- package/dist/pm/slack-interface.js +641 -0
- package/dist/pm/slack-interface.js.map +1 -0
- package/dist/pm/slack.d.ts +18 -0
- package/dist/pm/slack.d.ts.map +1 -0
- package/dist/pm/slack.js +144 -0
- package/dist/pm/slack.js.map +1 -0
- package/dist/pm/types.d.ts +99 -0
- package/dist/pm/types.d.ts.map +1 -0
- package/dist/pm/types.js +17 -0
- package/dist/pm/types.js.map +1 -0
- package/dist/repo/config.d.ts +35 -0
- package/dist/repo/config.d.ts.map +1 -0
- package/dist/repo/config.js +72 -0
- package/dist/repo/config.js.map +1 -0
- package/dist/repo/devcontainer.d.ts +33 -0
- package/dist/repo/devcontainer.d.ts.map +1 -0
- package/dist/repo/devcontainer.js +90 -0
- package/dist/repo/devcontainer.js.map +1 -0
- package/dist/repo/git.d.ts +185 -0
- package/dist/repo/git.d.ts.map +1 -0
- package/dist/repo/git.js +586 -0
- package/dist/repo/git.js.map +1 -0
- package/dist/repo/github.d.ts +56 -0
- package/dist/repo/github.d.ts.map +1 -0
- package/dist/repo/github.js +164 -0
- package/dist/repo/github.js.map +1 -0
- package/dist/repo/gitlab.d.ts +47 -0
- package/dist/repo/gitlab.d.ts.map +1 -0
- package/dist/repo/gitlab.js +91 -0
- package/dist/repo/gitlab.js.map +1 -0
- package/dist/repo/index.d.ts +7 -0
- package/dist/repo/index.d.ts.map +1 -0
- package/dist/repo/index.js +5 -0
- package/dist/repo/index.js.map +1 -0
- package/dist/repo/tech-stack.d.ts +13 -0
- package/dist/repo/tech-stack.d.ts.map +1 -0
- package/dist/repo/tech-stack.js +112 -0
- package/dist/repo/tech-stack.js.map +1 -0
- package/dist/security/index.d.ts +3 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +3 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/review-checklist.d.ts +9 -0
- package/dist/security/review-checklist.d.ts.map +1 -0
- package/dist/security/review-checklist.js +46 -0
- package/dist/security/review-checklist.js.map +1 -0
- package/dist/security/sandbox.d.ts +7 -0
- package/dist/security/sandbox.d.ts.map +1 -0
- package/dist/security/sandbox.js +31 -0
- package/dist/security/sandbox.js.map +1 -0
- package/dist/server.d.ts +48 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +90 -0
- package/dist/server.js.map +1 -0
- package/dist/types.d.ts +1230 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +225 -0
- package/dist/types.js.map +1 -0
- package/dist/webhook/github-handler.d.ts +39 -0
- package/dist/webhook/github-handler.d.ts.map +1 -0
- package/dist/webhook/github-handler.js +439 -0
- package/dist/webhook/github-handler.js.map +1 -0
- package/dist/webhook/handler.d.ts +16 -0
- package/dist/webhook/handler.d.ts.map +1 -0
- package/dist/webhook/handler.js +171 -0
- package/dist/webhook/handler.js.map +1 -0
- package/dist/webhook/index.d.ts +5 -0
- package/dist/webhook/index.d.ts.map +1 -0
- package/dist/webhook/index.js +5 -0
- package/dist/webhook/index.js.map +1 -0
- package/dist/webhook/parser.d.ts +18 -0
- package/dist/webhook/parser.d.ts.map +1 -0
- package/dist/webhook/parser.js +30 -0
- package/dist/webhook/parser.js.map +1 -0
- package/dist/webhook/signature.d.ts +2 -0
- package/dist/webhook/signature.d.ts.map +1 -0
- package/dist/webhook/signature.js +14 -0
- package/dist/webhook/signature.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PmSlackNotifier } from "../slack.js";
|
|
2
|
+
import type { AnyDb } from "../../db/client.js";
|
|
3
|
+
import type { ApprovalAction } from "../types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Batch-fetch all pending approvals for a set of issue IDs and an action.
|
|
6
|
+
* Returns a Set of issueIds that already have a pending approval.
|
|
7
|
+
* Use this before a loop to eliminate N+1 SELECT queries.
|
|
8
|
+
*/
|
|
9
|
+
export declare function batchFetchPendingApprovals(db: AnyDb, issueIds: string[], action: ApprovalAction): Promise<Set<string>>;
|
|
10
|
+
export declare function requestApprovalIfNotPending(db: AnyDb, slackNotifier: PmSlackNotifier, issueId: string, action: ApprovalAction, reason: string, issueUrl: string): Promise<boolean>;
|
|
11
|
+
//# sourceMappingURL=approval-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-helpers.d.ts","sourceRoot":"","sources":["../../../src/pm/actions/approval-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,KAAK,EACT,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAOtB;AAED,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,KAAK,EACT,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { pmApprovals } from "../../db/schema.js";
|
|
2
|
+
import { eq, and, inArray } from "drizzle-orm";
|
|
3
|
+
import { nanoid } from "nanoid";
|
|
4
|
+
/**
|
|
5
|
+
* Batch-fetch all pending approvals for a set of issue IDs and an action.
|
|
6
|
+
* Returns a Set of issueIds that already have a pending approval.
|
|
7
|
+
* Use this before a loop to eliminate N+1 SELECT queries.
|
|
8
|
+
*/
|
|
9
|
+
export async function batchFetchPendingApprovals(db, issueIds, action) {
|
|
10
|
+
if (issueIds.length === 0)
|
|
11
|
+
return new Set();
|
|
12
|
+
const rows = await db.select().from(pmApprovals)
|
|
13
|
+
.where(and(inArray(pmApprovals.issueId, issueIds), eq(pmApprovals.action, action), eq(pmApprovals.status, "pending")));
|
|
14
|
+
return new Set(rows.map((r) => r.issueId));
|
|
15
|
+
}
|
|
16
|
+
export async function requestApprovalIfNotPending(db, slackNotifier, issueId, action, reason, issueUrl) {
|
|
17
|
+
const existing = await db.select().from(pmApprovals)
|
|
18
|
+
.where(and(eq(pmApprovals.issueId, issueId), eq(pmApprovals.action, action), eq(pmApprovals.status, "pending")));
|
|
19
|
+
if (existing.length > 0)
|
|
20
|
+
return false;
|
|
21
|
+
const ts = await slackNotifier.postApprovalRequest(issueId, action, reason, issueUrl);
|
|
22
|
+
if (!ts)
|
|
23
|
+
return false;
|
|
24
|
+
await db.insert(pmApprovals).values({
|
|
25
|
+
id: nanoid(),
|
|
26
|
+
issueId,
|
|
27
|
+
action,
|
|
28
|
+
reason,
|
|
29
|
+
slackMessageTs: ts,
|
|
30
|
+
status: "pending",
|
|
31
|
+
});
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=approval-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-helpers.js","sourceRoot":"","sources":["../../../src/pm/actions/approval-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,EAAS,EACT,QAAkB,EAClB,MAAsB;IAEtB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;SAC7C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAS,EACT,aAA8B,EAC9B,OAAe,EACf,MAAsB,EACtB,MAAc,EACd,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;SACjD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtF,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAEtB,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QAClC,EAAE,EAAE,MAAM,EAAE;QACZ,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc,EAAE,EAAE;QAClB,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PmSlackNotifier } from "../slack.js";
|
|
2
|
+
import type { AnyDb } from "../../db/client.js";
|
|
3
|
+
export interface CancelInput {
|
|
4
|
+
linearClient: any;
|
|
5
|
+
teamIds: string[];
|
|
6
|
+
slackNotifier: PmSlackNotifier;
|
|
7
|
+
db: AnyDb;
|
|
8
|
+
abandonedDays: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function cancelAbandonedIssues(input: CancelInput): Promise<string[]>;
|
|
11
|
+
//# sourceMappingURL=cancel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/pm/actions/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,eAAe,CAAC;IAC/B,EAAE,EAAE,KAAK,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwEjF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { batchFetchPendingApprovals } from "./approval-helpers.js";
|
|
2
|
+
import { pmApprovals } from "../../db/schema.js";
|
|
3
|
+
import { createLogger } from "../../logger.js";
|
|
4
|
+
import { nanoid } from "nanoid";
|
|
5
|
+
const log = createLogger({ component: "PmAgent:cancel" });
|
|
6
|
+
export async function cancelAbandonedIssues(input) {
|
|
7
|
+
const { linearClient, teamIds, slackNotifier, db, abandonedDays } = input;
|
|
8
|
+
const requested = [];
|
|
9
|
+
const cutoff = new Date();
|
|
10
|
+
cutoff.setDate(cutoff.getDate() - abandonedDays);
|
|
11
|
+
const commentCutoff = new Date();
|
|
12
|
+
commentCutoff.setDate(commentCutoff.getDate() - 14);
|
|
13
|
+
// Pre-fetch all issues from both states so we can batch-fetch approvals
|
|
14
|
+
const stateIssues = [];
|
|
15
|
+
for (const stateName of ["Backlog", "Icebox"]) {
|
|
16
|
+
const issuesResponse = await linearClient.issues({
|
|
17
|
+
filter: {
|
|
18
|
+
team: { id: { in: teamIds } },
|
|
19
|
+
state: { name: { eq: stateName } },
|
|
20
|
+
priority: { eq: 4 },
|
|
21
|
+
updatedAt: { lt: cutoff.toISOString() },
|
|
22
|
+
},
|
|
23
|
+
first: 10,
|
|
24
|
+
});
|
|
25
|
+
stateIssues.push({ stateName, issues: issuesResponse.nodes ?? [] });
|
|
26
|
+
}
|
|
27
|
+
// Batch-fetch all pending cancel approvals in a single SELECT
|
|
28
|
+
const allIssueIds = stateIssues.flatMap(({ issues }) => issues.map((i) => i.identifier));
|
|
29
|
+
const pendingApprovals = await batchFetchPendingApprovals(db, allIssueIds, "cancel");
|
|
30
|
+
// Process issues using in-memory Set lookup
|
|
31
|
+
for (const { stateName, issues } of stateIssues) {
|
|
32
|
+
for (const issue of issues) {
|
|
33
|
+
try {
|
|
34
|
+
const comments = issue.comments?.nodes ?? [];
|
|
35
|
+
const hasRecentComment = comments.some((c) => new Date(c.createdAt) > commentCutoff);
|
|
36
|
+
if (hasRecentComment)
|
|
37
|
+
continue;
|
|
38
|
+
if (pendingApprovals.has(issue.identifier)) {
|
|
39
|
+
log.debug({ issueId: issue.identifier }, "pending cancel approval already exists, skipping");
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const ageDays = Math.floor((Date.now() - new Date(issue.updatedAt).getTime()) / 86_400_000);
|
|
43
|
+
const reason = `In ${stateName} for ${ageDays} days, priority 4, no comments in 14 days`;
|
|
44
|
+
const issueUrl = issue.url ?? `https://linear.app/issue/${issue.identifier}`;
|
|
45
|
+
const ts = await slackNotifier.postApprovalRequest(issue.identifier, "cancel", reason, issueUrl);
|
|
46
|
+
if (!ts) {
|
|
47
|
+
log.debug({ issueId: issue.identifier }, "Slack post failed, skipping");
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
await db.insert(pmApprovals).values({
|
|
51
|
+
id: nanoid(),
|
|
52
|
+
issueId: issue.identifier,
|
|
53
|
+
action: "cancel",
|
|
54
|
+
reason,
|
|
55
|
+
slackMessageTs: ts,
|
|
56
|
+
status: "pending",
|
|
57
|
+
});
|
|
58
|
+
requested.push(issue.identifier);
|
|
59
|
+
log.info({ issueId: issue.identifier, ageDays, stateName }, "cancel approval requested");
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
log.error({ issueId: issue.identifier, err }, "failed to request cancel approval");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return requested;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=cancel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/pm/actions/cancel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAU1D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAkB;IAC5D,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAC1E,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAEpD,wEAAwE;IACxE,MAAM,WAAW,GAAgD,EAAE,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;gBAClC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACnB,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE;aACxC;YACD,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,8DAA8D;IAC9D,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9F,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAErF,4CAA4C;IAC5C,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CACpC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,aAAa,CAClD,CAAC;gBACF,IAAI,gBAAgB;oBAAE,SAAS;gBAE/B,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,kDAAkD,CAAC,CAAC;oBAC7F,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,MAAM,SAAS,QAAQ,OAAO,2CAA2C,CAAC;gBACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,4BAA4B,KAAK,CAAC,UAAU,EAAE,CAAC;gBAE7E,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACjG,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,6BAA6B,CAAC,CAAC;oBACxE,SAAS;gBACX,CAAC;gBAED,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;oBAClC,EAAE,EAAE,MAAM,EAAE;oBACZ,OAAO,EAAE,KAAK,CAAC,UAAU;oBACzB,MAAM,EAAE,QAAQ;oBAChB,MAAM;oBACN,cAAc,EAAE,EAAE;oBAClB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBAEH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,2BAA2B,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,mCAAmC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PmSlackNotifier } from "../slack.js";
|
|
2
|
+
import type { AnyDb } from "../../db/client.js";
|
|
3
|
+
export interface DeprioritizeInput {
|
|
4
|
+
linearClient: any;
|
|
5
|
+
teamIds: string[];
|
|
6
|
+
slackNotifier: PmSlackNotifier;
|
|
7
|
+
db: AnyDb;
|
|
8
|
+
staleDays: number;
|
|
9
|
+
minPriority: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function deprioritizeStaleIssues(input: DeprioritizeInput): Promise<string[]>;
|
|
12
|
+
//# sourceMappingURL=deprioritize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprioritize.d.ts","sourceRoot":"","sources":["../../../src/pm/actions/deprioritize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,eAAe,CAAC;IAC/B,EAAE,EAAE,KAAK,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyDzF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { batchFetchPendingApprovals } from "./approval-helpers.js";
|
|
2
|
+
import { pmApprovals } from "../../db/schema.js";
|
|
3
|
+
import { createLogger } from "../../logger.js";
|
|
4
|
+
import { nanoid } from "nanoid";
|
|
5
|
+
const log = createLogger({ component: "PmAgent:deprioritize" });
|
|
6
|
+
export async function deprioritizeStaleIssues(input) {
|
|
7
|
+
const { linearClient, teamIds, slackNotifier, db, staleDays, minPriority } = input;
|
|
8
|
+
const requested = [];
|
|
9
|
+
const cutoff = new Date();
|
|
10
|
+
cutoff.setDate(cutoff.getDate() - staleDays);
|
|
11
|
+
const issuesResponse = await linearClient.issues({
|
|
12
|
+
filter: {
|
|
13
|
+
team: { id: { in: teamIds } },
|
|
14
|
+
state: { name: { eq: "Backlog" } },
|
|
15
|
+
priority: { gte: minPriority },
|
|
16
|
+
updatedAt: { lt: cutoff.toISOString() },
|
|
17
|
+
},
|
|
18
|
+
first: 10,
|
|
19
|
+
});
|
|
20
|
+
const issues = issuesResponse.nodes ?? [];
|
|
21
|
+
// Batch-fetch all pending deprioritize approvals in a single SELECT
|
|
22
|
+
const allIssueIds = issues.map((i) => i.identifier);
|
|
23
|
+
const pendingApprovals = await batchFetchPendingApprovals(db, allIssueIds, "deprioritize");
|
|
24
|
+
for (const issue of issues) {
|
|
25
|
+
try {
|
|
26
|
+
if (pendingApprovals.has(issue.identifier)) {
|
|
27
|
+
log.debug({ issueId: issue.identifier }, "pending deprioritize approval already exists, skipping");
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
const ageDays = Math.floor((Date.now() - new Date(issue.updatedAt).getTime()) / 86_400_000);
|
|
31
|
+
const reason = `In Backlog for ${ageDays} days, priority ${issue.priority}, no activity`;
|
|
32
|
+
const issueUrl = issue.url ?? `https://linear.app/issue/${issue.identifier}`;
|
|
33
|
+
const ts = await slackNotifier.postApprovalRequest(issue.identifier, "deprioritize", reason, issueUrl);
|
|
34
|
+
if (!ts) {
|
|
35
|
+
log.debug({ issueId: issue.identifier }, "Slack post failed, skipping");
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
await db.insert(pmApprovals).values({
|
|
39
|
+
id: nanoid(),
|
|
40
|
+
issueId: issue.identifier,
|
|
41
|
+
action: "deprioritize",
|
|
42
|
+
reason,
|
|
43
|
+
slackMessageTs: ts,
|
|
44
|
+
status: "pending",
|
|
45
|
+
});
|
|
46
|
+
requested.push(issue.identifier);
|
|
47
|
+
log.info({ issueId: issue.identifier, ageDays }, "deprioritize approval requested");
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
log.error({ issueId: issue.identifier, err }, "failed to request deprioritize approval");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return requested;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=deprioritize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprioritize.js","sourceRoot":"","sources":["../../../src/pm/actions/deprioritize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PromoteResult, ConflictCheckResult } from "../types.js";
|
|
2
|
+
export interface PromoteInput {
|
|
3
|
+
linearClient: any;
|
|
4
|
+
teamIds: string[];
|
|
5
|
+
slotsAvailable: number;
|
|
6
|
+
checkConflict: (description: string) => Promise<ConflictCheckResult>;
|
|
7
|
+
/** Pre-fetched workflow state map. Falls back to fetching if not provided. */
|
|
8
|
+
stateMap?: Map<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export declare function promoteReadyIssues(input: PromoteInput): Promise<PromoteResult[]>;
|
|
11
|
+
//# sourceMappingURL=promote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/pm/actions/promote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMtE,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrE,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAyFtF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { resolveWorkflowStates } from "../linear-helpers.js";
|
|
2
|
+
import { createLogger } from "../../logger.js";
|
|
3
|
+
const log = createLogger({ component: "PmAgent:promote" });
|
|
4
|
+
export async function promoteReadyIssues(input) {
|
|
5
|
+
const { linearClient, teamIds, slotsAvailable, checkConflict } = input;
|
|
6
|
+
const results = [];
|
|
7
|
+
if (slotsAvailable <= 0)
|
|
8
|
+
return results;
|
|
9
|
+
const issuesResponse = await linearClient.issues({
|
|
10
|
+
filter: {
|
|
11
|
+
team: { id: { in: teamIds } },
|
|
12
|
+
state: { name: { eq: "Backlog" } },
|
|
13
|
+
},
|
|
14
|
+
first: 20,
|
|
15
|
+
orderBy: "createdAt",
|
|
16
|
+
});
|
|
17
|
+
// Sort by priority client-side (1=urgent first, then by creation date)
|
|
18
|
+
const candidates = (issuesResponse.nodes ?? []).sort((a, b) => (a.priority ?? 4) - (b.priority ?? 4));
|
|
19
|
+
if (candidates.length === 0)
|
|
20
|
+
return results;
|
|
21
|
+
const stateMap = input.stateMap ?? await resolveWorkflowStates(linearClient, teamIds);
|
|
22
|
+
const todoStates = new Map();
|
|
23
|
+
for (const [key, id] of stateMap) {
|
|
24
|
+
if (key.endsWith(":Todo")) {
|
|
25
|
+
todoStates.set(key.split(":")[0], id);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
let promotedCount = 0;
|
|
29
|
+
for (const candidate of candidates) {
|
|
30
|
+
if (promotedCount >= slotsAvailable)
|
|
31
|
+
break;
|
|
32
|
+
const team = await candidate.team;
|
|
33
|
+
const teamId = team?.id;
|
|
34
|
+
const todoStateId = teamId ? todoStates.get(teamId) : undefined;
|
|
35
|
+
const conflict = await checkConflict(candidate.description ?? "");
|
|
36
|
+
if (conflict.overlapRisk === "high") {
|
|
37
|
+
results.push({
|
|
38
|
+
issueId: candidate.identifier,
|
|
39
|
+
issueTitle: candidate.title,
|
|
40
|
+
promoted: false,
|
|
41
|
+
reason: `conflict: ${conflict.reasoning}`,
|
|
42
|
+
overlapRisk: "high",
|
|
43
|
+
});
|
|
44
|
+
log.info({ issueId: candidate.identifier }, "skipped ā high conflict risk");
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (!todoStateId) {
|
|
48
|
+
log.warn({ issueId: candidate.identifier, teamId }, "no Todo state found for team, skipping promote");
|
|
49
|
+
results.push({
|
|
50
|
+
issueId: candidate.identifier,
|
|
51
|
+
issueTitle: candidate.title,
|
|
52
|
+
promoted: false,
|
|
53
|
+
reason: "no Todo state found for team",
|
|
54
|
+
});
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
await linearClient.updateIssue(candidate.id, { stateId: todoStateId });
|
|
58
|
+
const overlapNote = conflict.overlapRisk === "low"
|
|
59
|
+
? `\nā ļø *Low overlap risk:* ${conflict.reasoning}`
|
|
60
|
+
: "";
|
|
61
|
+
await linearClient.createComment({
|
|
62
|
+
issueId: candidate.id,
|
|
63
|
+
body: `š¤ **PM Agent ā Promoted to Todo**\n\n` +
|
|
64
|
+
`Highest priority non-conflicting issue in backlog.${overlapNote}`,
|
|
65
|
+
});
|
|
66
|
+
results.push({
|
|
67
|
+
issueId: candidate.identifier,
|
|
68
|
+
issueTitle: candidate.title,
|
|
69
|
+
promoted: true,
|
|
70
|
+
reason: "highest priority, no conflict",
|
|
71
|
+
overlapRisk: conflict.overlapRisk,
|
|
72
|
+
});
|
|
73
|
+
promotedCount++;
|
|
74
|
+
log.info({ issueId: candidate.identifier, overlapRisk: conflict.overlapRisk }, "promoted to Todo");
|
|
75
|
+
}
|
|
76
|
+
return results;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=promote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../../src/pm/actions/promote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAW3D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAmB;IAC1D,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACvE,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,IAAI,cAAc,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAExC,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;QAC/C,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;SACnC;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,uEAAuE;IACvE,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAClD,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAC1D,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAE5C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,aAAa,IAAI,cAAc;YAAE,MAAM;QAE3C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAElE,IAAI,QAAQ,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,SAAS,CAAC,UAAU;gBAC7B,UAAU,EAAE,SAAS,CAAC,KAAK;gBAC3B,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,aAAa,QAAQ,CAAC,SAAS,EAAE;gBACzC,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAC5E,SAAS;QACX,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,gDAAgD,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,SAAS,CAAC,UAAU;gBAC7B,UAAU,EAAE,SAAS,CAAC,KAAK;gBAC3B,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,8BAA8B;aACvC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAEvE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,KAAK,KAAK;YAChD,CAAC,CAAC,4BAA4B,QAAQ,CAAC,SAAS,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,YAAY,CAAC,aAAa,CAAC;YAC/B,OAAO,EAAE,SAAS,CAAC,EAAE;YACrB,IAAI,EACF,wCAAwC;gBACxC,qDAAqD,WAAW,EAAE;SACrE,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,SAAS,CAAC,UAAU;YAC7B,UAAU,EAAE,SAAS,CAAC,KAAK;YAC3B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,+BAA+B;YACvC,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC,CAAC;QAEH,aAAa,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { AnyDb } from "../../db/client.js";
|
|
2
|
+
export interface RecoverStuckInput {
|
|
3
|
+
linearClient: any;
|
|
4
|
+
db: AnyDb;
|
|
5
|
+
teamIds: string[];
|
|
6
|
+
/** Linear state name to move stuck issues into. */
|
|
7
|
+
targetState: "Backlog" | "Todo";
|
|
8
|
+
/** Maximum number of stuck issues to process per PM Agent tick (rate limiter). */
|
|
9
|
+
maxPerTick: number;
|
|
10
|
+
/** Pre-fetched workflow state map (`${teamId}:${stateName}` ā stateId). */
|
|
11
|
+
stateMap?: Map<string, string>;
|
|
12
|
+
/** Called with all successfully recovered issues for Slack notification. */
|
|
13
|
+
postSlackNotification?: (issues: StuckIssueResult[]) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface StuckIssueResult {
|
|
16
|
+
/** Linear issue UUID (internal ID) */
|
|
17
|
+
issueId: string;
|
|
18
|
+
/** Human-readable identifier, e.g. "BEC-91" */
|
|
19
|
+
identifier: string;
|
|
20
|
+
title: string;
|
|
21
|
+
previousState: string;
|
|
22
|
+
lastRunStatus: string | null;
|
|
23
|
+
targetState: "Backlog" | "Todo";
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Detects Linear issues that are stuck in "In Progress" with no active pipeline run,
|
|
27
|
+
* moves them to the configured target state (Backlog or Todo), and returns results.
|
|
28
|
+
*
|
|
29
|
+
* An issue is considered "stuck" when:
|
|
30
|
+
* - Its Linear state is "In Progress"
|
|
31
|
+
* - There is no pipeline_runs row with status "running" or "queued" for that issue
|
|
32
|
+
*
|
|
33
|
+
* Rate-limited to `maxPerTick` issues per tick to prevent flooding.
|
|
34
|
+
*
|
|
35
|
+
* **Hard limit:** The Linear query uses `first: 50`, which means at most 50 issues are
|
|
36
|
+
* returned per tick. If exactly 50 results are returned, the query may be truncated and
|
|
37
|
+
* additional stuck issues may exist beyond the first page. In that case, a warning is
|
|
38
|
+
* logged with the message "stuck-issue query may be truncated ā consider pagination".
|
|
39
|
+
* A future improvement would implement cursor-based pagination to handle this edge case.
|
|
40
|
+
*/
|
|
41
|
+
export declare function recoverStuckInProgressIssues(input: RecoverStuckInput): Promise<StuckIssueResult[]>;
|
|
42
|
+
//# sourceMappingURL=recover-stuck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recover-stuck.d.ts","sourceRoot":"","sources":["../../../src/pm/actions/recover-stuck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAShD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,GAAG,CAAC;IAClB,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mDAAmD;IACnD,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6J7B"}
|