@urateam/core 0.1.55 → 0.1.56
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__/auth-monitor.test.js +119 -20
- package/dist/__tests__/auth-monitor.test.js.map +1 -1
- package/dist/__tests__/bec-238-repro.test.d.ts +2 -0
- package/dist/__tests__/bec-238-repro.test.d.ts.map +1 -0
- package/dist/__tests__/bec-238-repro.test.js +116 -0
- package/dist/__tests__/bec-238-repro.test.js.map +1 -0
- package/dist/__tests__/bec146-repro.test.d.ts +2 -0
- package/dist/__tests__/bec146-repro.test.d.ts.map +1 -0
- package/dist/__tests__/bec146-repro.test.js +153 -0
- package/dist/__tests__/bec146-repro.test.js.map +1 -0
- package/dist/__tests__/db-migrations.test.js +7 -3
- package/dist/__tests__/db-migrations.test.js.map +1 -1
- package/dist/__tests__/decision-artifact-schema.test.d.ts +2 -0
- package/dist/__tests__/decision-artifact-schema.test.d.ts.map +1 -0
- package/dist/__tests__/decision-artifact-schema.test.js +45 -0
- package/dist/__tests__/decision-artifact-schema.test.js.map +1 -0
- package/dist/__tests__/decisions-parser.test.d.ts +2 -0
- package/dist/__tests__/decisions-parser.test.d.ts.map +1 -0
- package/dist/__tests__/decisions-parser.test.js +59 -0
- package/dist/__tests__/decisions-parser.test.js.map +1 -0
- package/dist/__tests__/decisions-store.test.d.ts +2 -0
- package/dist/__tests__/decisions-store.test.d.ts.map +1 -0
- package/dist/__tests__/decisions-store.test.js +68 -0
- package/dist/__tests__/decisions-store.test.js.map +1 -0
- package/dist/__tests__/decisions-table-migration.test.d.ts +2 -0
- package/dist/__tests__/decisions-table-migration.test.d.ts.map +1 -0
- package/dist/__tests__/decisions-table-migration.test.js +56 -0
- package/dist/__tests__/decisions-table-migration.test.js.map +1 -0
- package/dist/__tests__/execute-stage-session-opts.test.js +1 -0
- package/dist/__tests__/execute-stage-session-opts.test.js.map +1 -1
- package/dist/__tests__/executor-issue-id.test.js +1 -0
- package/dist/__tests__/executor-issue-id.test.js.map +1 -1
- package/dist/__tests__/extract-handoff-decisions.test.d.ts +2 -0
- package/dist/__tests__/extract-handoff-decisions.test.d.ts.map +1 -0
- package/dist/__tests__/extract-handoff-decisions.test.js +26 -0
- package/dist/__tests__/extract-handoff-decisions.test.js.map +1 -0
- package/dist/__tests__/force-push-agent-branches.test.js +38 -15
- package/dist/__tests__/force-push-agent-branches.test.js.map +1 -1
- package/dist/__tests__/github-webhook.test.js +117 -0
- package/dist/__tests__/github-webhook.test.js.map +1 -1
- package/dist/__tests__/implement-template-decisions.test.d.ts +2 -0
- package/dist/__tests__/implement-template-decisions.test.d.ts.map +1 -0
- package/dist/__tests__/implement-template-decisions.test.js +41 -0
- package/dist/__tests__/implement-template-decisions.test.js.map +1 -0
- package/dist/__tests__/migrator.test.js +137 -39
- package/dist/__tests__/migrator.test.js.map +1 -1
- package/dist/__tests__/pipeline-runner.test.js +118 -0
- package/dist/__tests__/pipeline-runner.test.js.map +1 -1
- package/dist/__tests__/pm-conflict.test.js +145 -5
- package/dist/__tests__/pm-conflict.test.js.map +1 -1
- package/dist/__tests__/preflight-claude-auth.test.js +3 -2
- package/dist/__tests__/preflight-claude-auth.test.js.map +1 -1
- package/dist/__tests__/ralph-review-fix-regression.test.js +1 -0
- package/dist/__tests__/ralph-review-fix-regression.test.js.map +1 -1
- package/dist/__tests__/ralph.test.js +1 -0
- package/dist/__tests__/ralph.test.js.map +1 -1
- package/dist/__tests__/release-manager-qarun-query.test.d.ts +2 -0
- package/dist/__tests__/release-manager-qarun-query.test.d.ts.map +1 -0
- package/dist/__tests__/release-manager-qarun-query.test.js +233 -0
- package/dist/__tests__/release-manager-qarun-query.test.js.map +1 -0
- package/dist/__tests__/release-manager-scheduler.test.js +62 -0
- package/dist/__tests__/release-manager-scheduler.test.js.map +1 -1
- package/dist/__tests__/session-lazy-creation.test.js +1 -0
- package/dist/__tests__/session-lazy-creation.test.js.map +1 -1
- package/dist/__tests__/session-resolver.test.d.ts +13 -0
- package/dist/__tests__/session-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/session-resolver.test.js +152 -0
- package/dist/__tests__/session-resolver.test.js.map +1 -0
- package/dist/__tests__/session-resume-fallback.test.js +1 -0
- package/dist/__tests__/session-resume-fallback.test.js.map +1 -1
- package/dist/__tests__/stage-models.test.js +1 -0
- package/dist/__tests__/stage-models.test.js.map +1 -1
- package/dist/__tests__/surgical-review-fix-prompt.test.d.ts +2 -0
- package/dist/__tests__/surgical-review-fix-prompt.test.d.ts.map +1 -0
- package/dist/__tests__/surgical-review-fix-prompt.test.js +71 -0
- package/dist/__tests__/surgical-review-fix-prompt.test.js.map +1 -0
- package/dist/__tests__/surgical-review-fix-runner.test.d.ts +2 -0
- package/dist/__tests__/surgical-review-fix-runner.test.d.ts.map +1 -0
- package/dist/__tests__/surgical-review-fix-runner.test.js +171 -0
- package/dist/__tests__/surgical-review-fix-runner.test.js.map +1 -0
- package/dist/__tests__/validate-run-mode.test.js +1 -0
- package/dist/__tests__/validate-run-mode.test.js.map +1 -1
- package/dist/__tests__/validate.test.js +1 -0
- package/dist/__tests__/validate.test.js.map +1 -1
- package/dist/audit/auth-error-messages.d.ts +6 -0
- package/dist/audit/auth-error-messages.d.ts.map +1 -0
- package/dist/audit/auth-error-messages.js +18 -0
- package/dist/audit/auth-error-messages.js.map +1 -0
- package/dist/audit/events.d.ts +22 -4
- package/dist/audit/events.d.ts.map +1 -1
- package/dist/audit/events.js +34 -5
- package/dist/audit/events.js.map +1 -1
- package/dist/audit/index.d.ts +1 -0
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/index.js +1 -0
- package/dist/audit/index.js.map +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +10 -0
- package/dist/db/client.js.map +1 -1
- package/dist/db/decisions-store.d.ts +25 -0
- package/dist/db/decisions-store.d.ts.map +1 -0
- package/dist/db/decisions-store.js +56 -0
- package/dist/db/decisions-store.js.map +1 -0
- package/dist/db/index.d.ts +1 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations/postgres/008_sso.sql +9 -20
- package/dist/db/migrations/postgres/009_review_model_runs.sql +9 -18
- package/dist/db/migrations/postgres/009_sso.sql +20 -0
- package/dist/db/migrations/postgres/010_release_manager.sql +9 -38
- package/dist/db/migrations/postgres/010_review_model_runs.sql +18 -0
- package/dist/db/migrations/postgres/011_qa_run_columns.sql +9 -8
- package/dist/db/migrations/postgres/011_release_manager.sql +38 -0
- package/dist/db/migrations/postgres/012_qa_gap_issues.sql +9 -18
- package/dist/db/migrations/postgres/012_qa_run_columns.sql +8 -0
- package/dist/db/migrations/postgres/013_qa_gap_issues.sql +18 -0
- package/dist/db/migrations/postgres/013_stage_runs_cache_tokens.sql +11 -6
- package/dist/db/migrations/postgres/014_missing_indexes.sql +9 -28
- package/dist/db/migrations/postgres/014_stage_runs_cache_tokens.sql +6 -0
- package/dist/db/migrations/postgres/015_missing_indexes.sql +28 -0
- package/dist/db/migrations/postgres/015_triage_results.sql +9 -11
- package/dist/db/migrations/postgres/016_triage_results.sql +11 -0
- package/dist/db/migrations/sqlite/007_sso.sql +9 -20
- package/dist/db/migrations/sqlite/008_review_model_runs.sql +9 -18
- package/dist/db/migrations/sqlite/008_sso.sql +20 -0
- package/dist/db/migrations/sqlite/009_release_manager.sql +9 -43
- package/dist/db/migrations/sqlite/009_review_model_runs.sql +18 -0
- package/dist/db/migrations/sqlite/010_qa_run_columns.sql +9 -9
- package/dist/db/migrations/sqlite/010_release_manager.sql +43 -0
- package/dist/db/migrations/sqlite/011_qa_gap_issues.sql +9 -22
- package/dist/db/migrations/sqlite/011_qa_run_columns.sql +9 -0
- package/dist/db/migrations/sqlite/012_qa_gap_issues.sql +22 -0
- package/dist/db/migrations/sqlite/012_stage_runs_cache_tokens.sql +11 -6
- package/dist/db/migrations/sqlite/013_missing_indexes.sql +10 -28
- package/dist/db/migrations/sqlite/013_stage_runs_cache_tokens.sql +6 -0
- package/dist/db/migrations/sqlite/013_triage_results.sql +10 -11
- package/dist/db/migrations/sqlite/014_missing_indexes.sql +28 -0
- package/dist/db/migrations/sqlite/015_triage_results.sql +11 -0
- package/dist/db/migrator.d.ts +45 -2
- package/dist/db/migrator.d.ts.map +1 -1
- package/dist/db/migrator.js +113 -29
- package/dist/db/migrator.js.map +1 -1
- package/dist/db/schema.d.ts +125 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +13 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/executor/auth-monitor.d.ts.map +1 -1
- package/dist/executor/auth-monitor.js +39 -30
- package/dist/executor/auth-monitor.js.map +1 -1
- package/dist/executor/deep-review.d.ts.map +1 -1
- package/dist/executor/deep-review.js +14 -79
- package/dist/executor/deep-review.js.map +1 -1
- package/dist/executor/executor.d.ts +21 -0
- package/dist/executor/executor.d.ts.map +1 -1
- package/dist/executor/executor.js +41 -90
- package/dist/executor/executor.js.map +1 -1
- package/dist/executor/extract-handoff.d.ts +9 -0
- package/dist/executor/extract-handoff.d.ts.map +1 -1
- package/dist/executor/extract-handoff.js +48 -0
- package/dist/executor/extract-handoff.js.map +1 -1
- package/dist/executor/handoff.d.ts +10 -1
- package/dist/executor/handoff.d.ts.map +1 -1
- package/dist/executor/handoff.js +7 -1
- package/dist/executor/handoff.js.map +1 -1
- package/dist/executor/index.d.ts +1 -0
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +1 -0
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/prompt/templates.d.ts +12 -1
- package/dist/executor/prompt/templates.d.ts.map +1 -1
- package/dist/executor/prompt/templates.js +64 -0
- package/dist/executor/prompt/templates.js.map +1 -1
- package/dist/executor/session-resolver.d.ts +51 -0
- package/dist/executor/session-resolver.d.ts.map +1 -0
- package/dist/executor/session-resolver.js +83 -0
- package/dist/executor/session-resolver.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/notifier/composite.js +1 -1
- package/dist/notifier/composite.js.map +1 -1
- package/dist/notifier/linear.d.ts +1 -1
- package/dist/notifier/linear.d.ts.map +1 -1
- package/dist/notifier/linear.js +49 -9
- package/dist/notifier/linear.js.map +1 -1
- package/dist/pipeline/run-surgical-review-fix.d.ts +29 -0
- package/dist/pipeline/run-surgical-review-fix.d.ts.map +1 -0
- package/dist/pipeline/run-surgical-review-fix.js +48 -0
- package/dist/pipeline/run-surgical-review-fix.js.map +1 -0
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +132 -36
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pm/conflict.d.ts +2 -0
- package/dist/pm/conflict.d.ts.map +1 -1
- package/dist/pm/conflict.js +59 -9
- package/dist/pm/conflict.js.map +1 -1
- package/dist/pm/scheduler.d.ts +2 -0
- package/dist/pm/scheduler.d.ts.map +1 -1
- package/dist/pm/scheduler.js +51 -43
- package/dist/pm/scheduler.js.map +1 -1
- package/dist/pm/slack.d.ts +11 -0
- package/dist/pm/slack.d.ts.map +1 -1
- package/dist/pm/slack.js +48 -5
- package/dist/pm/slack.js.map +1 -1
- package/dist/release-manager/release-helpers.d.ts +19 -2
- package/dist/release-manager/release-helpers.d.ts.map +1 -1
- package/dist/release-manager/release-helpers.js +22 -3
- package/dist/release-manager/release-helpers.js.map +1 -1
- package/dist/release-manager/release-tick.d.ts.map +1 -1
- package/dist/release-manager/release-tick.js +20 -8
- package/dist/release-manager/release-tick.js.map +1 -1
- package/dist/release-manager/state.d.ts.map +1 -1
- package/dist/release-manager/state.js +25 -18
- package/dist/release-manager/state.js.map +1 -1
- package/dist/types.d.ts +232 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +52 -0
- package/dist/types.js.map +1 -1
- package/dist/webhook/github-handler.d.ts +2 -2
- package/dist/webhook/github-handler.d.ts.map +1 -1
- package/dist/webhook/github-handler.js +18 -6
- package/dist/webhook/github-handler.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/db/migrator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/db/migrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAKpC,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAkBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW7D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,EAAE,CAe7E;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAC5B,SAAS,EAAE,CAIb;AAmCD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA2E/D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,eAAe,EAAE,CAWnB;AAMD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCtE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5B"}
|
package/dist/db/migrator.js
CHANGED
|
@@ -11,6 +11,20 @@
|
|
|
11
11
|
* - SQLite ALTER TABLE does not support IF NOT EXISTS, so duplicate-column errors are
|
|
12
12
|
* caught and treated as a no-op (idempotent re-run safety).
|
|
13
13
|
* - Postgres migrations use DO $$ IF NOT EXISTS $$ guards for native idempotency.
|
|
14
|
+
*
|
|
15
|
+
* Numbering policy (enforced as of BEC-149):
|
|
16
|
+
* - Every migration file must have a unique NNN_ numeric prefix.
|
|
17
|
+
* - When adding a new migration, use max(existing prefix) + 1.
|
|
18
|
+
* - Never reuse or duplicate a prefix number — the migrator sorts files alphabetically
|
|
19
|
+
* so duplicate prefixes produce non-deterministic ordering.
|
|
20
|
+
*
|
|
21
|
+
* Tombstone files (BEC-149 rename history):
|
|
22
|
+
* - Files listed as keys in SQLITE_MIGRATION_RENAMES / POSTGRES_MIGRATION_RENAMES are
|
|
23
|
+
* "tombstones": their content has moved to the canonical new name.
|
|
24
|
+
* - Tombstones are SKIPPED during migration processing (no SQL is run, nothing recorded).
|
|
25
|
+
* - Before running any migration, the migrator renames schema_migrations rows from the
|
|
26
|
+
* old name to the new name so existing deployments automatically adopt the canonical
|
|
27
|
+
* numbering without re-running the migration content.
|
|
14
28
|
*/
|
|
15
29
|
import { readdirSync, readFileSync } from "node:fs";
|
|
16
30
|
import { fileURLToPath } from "node:url";
|
|
@@ -31,9 +45,55 @@ const CREATE_SCHEMA_MIGRATIONS_POSTGRES = `
|
|
|
31
45
|
applied_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
32
46
|
)
|
|
33
47
|
`;
|
|
48
|
+
/**
|
|
49
|
+
* BEC-149: Rename map for SQLite migrations.
|
|
50
|
+
*
|
|
51
|
+
* Keys are the old (duplicate-prefix) migration names that were renumbered.
|
|
52
|
+
* Values are the canonical new names.
|
|
53
|
+
*
|
|
54
|
+
* On startup the migrator updates schema_migrations rows from old → new so that
|
|
55
|
+
* existing deployments recognise the renamed files without re-running them.
|
|
56
|
+
* The old files are kept as tombstones (comment-only) and are SKIPPED by the
|
|
57
|
+
* migration runner; only the canonical-named files are processed.
|
|
58
|
+
*/
|
|
59
|
+
export const SQLITE_MIGRATION_RENAMES = {
|
|
60
|
+
"007_sso": "008_sso",
|
|
61
|
+
"008_review_model_runs": "009_review_model_runs",
|
|
62
|
+
"009_release_manager": "010_release_manager",
|
|
63
|
+
"010_qa_run_columns": "011_qa_run_columns",
|
|
64
|
+
"011_qa_gap_issues": "012_qa_gap_issues",
|
|
65
|
+
// BEC-149 follow-on: 3 migrations landed on main after the initial rename
|
|
66
|
+
// map was written and re-introduced prefix collisions (012_qa_gap_issues
|
|
67
|
+
// vs 012_stage_runs_cache_tokens, 013_missing_indexes vs 013_triage_results).
|
|
68
|
+
// Renumbering them keeps prefix-unique invariant intact.
|
|
69
|
+
"012_stage_runs_cache_tokens": "013_stage_runs_cache_tokens",
|
|
70
|
+
"013_missing_indexes": "014_missing_indexes",
|
|
71
|
+
"013_triage_results": "015_triage_results",
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* BEC-149: Rename map for Postgres migrations.
|
|
75
|
+
*
|
|
76
|
+
* Same semantics as SQLITE_MIGRATION_RENAMES above.
|
|
77
|
+
*/
|
|
78
|
+
export const POSTGRES_MIGRATION_RENAMES = {
|
|
79
|
+
"008_sso": "009_sso",
|
|
80
|
+
"009_review_model_runs": "010_review_model_runs",
|
|
81
|
+
"010_release_manager": "011_release_manager",
|
|
82
|
+
"011_qa_run_columns": "012_qa_run_columns",
|
|
83
|
+
"012_qa_gap_issues": "013_qa_gap_issues",
|
|
84
|
+
// BEC-149 follow-on: 3 migrations landed on main after the initial rename
|
|
85
|
+
// map was written and re-introduced prefix collisions on 013.
|
|
86
|
+
"013_stage_runs_cache_tokens": "014_stage_runs_cache_tokens",
|
|
87
|
+
"014_missing_indexes": "015_missing_indexes",
|
|
88
|
+
"015_triage_results": "016_triage_results",
|
|
89
|
+
};
|
|
34
90
|
/**
|
|
35
91
|
* Read all .sql migration files for a driver from the migrations subdirectory,
|
|
36
92
|
* sorted by filename (ascending, so NNN prefix determines order).
|
|
93
|
+
*
|
|
94
|
+
* Tombstone files (those whose names appear as keys in the driver's rename map)
|
|
95
|
+
* are included in the returned list so callers can distinguish them; the migration
|
|
96
|
+
* runners skip them automatically.
|
|
37
97
|
*/
|
|
38
98
|
export function loadMigrationFiles(driver) {
|
|
39
99
|
const dir = join(__dirname, "migrations", driver);
|
|
@@ -52,6 +112,37 @@ export function loadMigrationFiles(driver) {
|
|
|
52
112
|
sql: readFileSync(join(dir, file), "utf8"),
|
|
53
113
|
}));
|
|
54
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Return the active (non-tombstone) migrations for a driver.
|
|
117
|
+
* These are the migrations that the runner will actually process.
|
|
118
|
+
*/
|
|
119
|
+
export function loadActiveMigrationFiles(driver) {
|
|
120
|
+
const renames = driver === "sqlite" ? SQLITE_MIGRATION_RENAMES : POSTGRES_MIGRATION_RENAMES;
|
|
121
|
+
return loadMigrationFiles(driver).filter((m) => !(m.name in renames));
|
|
122
|
+
}
|
|
123
|
+
// ---------------------------------------------------------------------------
|
|
124
|
+
// Shared helpers
|
|
125
|
+
// ---------------------------------------------------------------------------
|
|
126
|
+
/**
|
|
127
|
+
* Build a MigrationStatus array from the active migrations list and the
|
|
128
|
+
* applied-name → timestamp map that each driver-specific status function
|
|
129
|
+
* constructs. Shared between SQLite and Postgres implementations to avoid
|
|
130
|
+
* duplication.
|
|
131
|
+
*/
|
|
132
|
+
function buildMigrationStatus(migrations, appliedMap) {
|
|
133
|
+
// Include any applied migrations that no longer have a file (e.g., squashed)
|
|
134
|
+
const allNames = new Set([
|
|
135
|
+
...migrations.map((m) => m.name),
|
|
136
|
+
...appliedMap.keys(),
|
|
137
|
+
]);
|
|
138
|
+
return Array.from(allNames)
|
|
139
|
+
.sort()
|
|
140
|
+
.map((name) => ({
|
|
141
|
+
name,
|
|
142
|
+
applied: appliedMap.has(name),
|
|
143
|
+
appliedAt: appliedMap.get(name),
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
55
146
|
// ---------------------------------------------------------------------------
|
|
56
147
|
// SQLite
|
|
57
148
|
// ---------------------------------------------------------------------------
|
|
@@ -62,7 +153,14 @@ export function loadMigrationFiles(driver) {
|
|
|
62
153
|
export function runMigrationsSqlite(db) {
|
|
63
154
|
// Ensure tracking table exists
|
|
64
155
|
db.exec(CREATE_SCHEMA_MIGRATIONS_SQLITE);
|
|
65
|
-
|
|
156
|
+
// BEC-149: Rename old migration entries to their canonical names so that
|
|
157
|
+
// existing deployments don't re-run migrations under the new filenames.
|
|
158
|
+
const renameStmt = db.prepare("UPDATE schema_migrations SET name = ? WHERE name = ?");
|
|
159
|
+
for (const [oldName, newName] of Object.entries(SQLITE_MIGRATION_RENAMES)) {
|
|
160
|
+
renameStmt.run(newName, oldName);
|
|
161
|
+
}
|
|
162
|
+
// Only process active (non-tombstone) migrations
|
|
163
|
+
const migrations = loadActiveMigrationFiles("sqlite");
|
|
66
164
|
const getApplied = db.prepare("SELECT name FROM schema_migrations WHERE name = ?");
|
|
67
165
|
const recordApplied = db.prepare("INSERT OR IGNORE INTO schema_migrations (name) VALUES (?)");
|
|
68
166
|
for (const migration of migrations) {
|
|
@@ -111,28 +209,18 @@ export function runMigrationsSqlite(db) {
|
|
|
111
209
|
}
|
|
112
210
|
}
|
|
113
211
|
/**
|
|
114
|
-
* Return the status of every migration file for SQLite.
|
|
212
|
+
* Return the status of every active migration file for SQLite.
|
|
213
|
+
* Tombstone files (renamed migrations) are excluded from the status list.
|
|
115
214
|
*/
|
|
116
215
|
export function getMigrationStatusSqlite(db) {
|
|
117
216
|
// Ensure tracking table exists before querying
|
|
118
217
|
db.exec(CREATE_SCHEMA_MIGRATIONS_SQLITE);
|
|
119
|
-
const migrations =
|
|
218
|
+
const migrations = loadActiveMigrationFiles("sqlite");
|
|
120
219
|
const rows = db
|
|
121
220
|
.prepare("SELECT name, applied_at FROM schema_migrations")
|
|
122
221
|
.all();
|
|
123
222
|
const appliedMap = new Map(rows.map((r) => [r.name, new Date(r.applied_at * 1000)]));
|
|
124
|
-
|
|
125
|
-
const allNames = new Set([
|
|
126
|
-
...migrations.map((m) => m.name),
|
|
127
|
-
...appliedMap.keys(),
|
|
128
|
-
]);
|
|
129
|
-
return Array.from(allNames)
|
|
130
|
-
.sort()
|
|
131
|
-
.map((name) => ({
|
|
132
|
-
name,
|
|
133
|
-
applied: appliedMap.has(name),
|
|
134
|
-
appliedAt: appliedMap.get(name),
|
|
135
|
-
}));
|
|
223
|
+
return buildMigrationStatus(migrations, appliedMap);
|
|
136
224
|
}
|
|
137
225
|
// ---------------------------------------------------------------------------
|
|
138
226
|
// Postgres
|
|
@@ -144,7 +232,12 @@ export function getMigrationStatusSqlite(db) {
|
|
|
144
232
|
export async function runMigrationsPostgres(client) {
|
|
145
233
|
// Ensure tracking table exists
|
|
146
234
|
await client.unsafe(CREATE_SCHEMA_MIGRATIONS_POSTGRES);
|
|
147
|
-
|
|
235
|
+
// BEC-149: Rename old migration entries to their canonical names so that
|
|
236
|
+
// existing deployments don't re-run migrations under the new filenames.
|
|
237
|
+
// All renames are independent, so run them in parallel for faster startup.
|
|
238
|
+
await Promise.all(Object.entries(POSTGRES_MIGRATION_RENAMES).map(([oldName, newName]) => client `UPDATE schema_migrations SET name = ${newName} WHERE name = ${oldName}`));
|
|
239
|
+
// Only process active (non-tombstone) migrations
|
|
240
|
+
const migrations = loadActiveMigrationFiles("postgres");
|
|
148
241
|
for (const migration of migrations) {
|
|
149
242
|
const existing = await client `
|
|
150
243
|
SELECT name FROM schema_migrations WHERE name = ${migration.name}
|
|
@@ -165,24 +258,15 @@ export async function runMigrationsPostgres(client) {
|
|
|
165
258
|
}
|
|
166
259
|
}
|
|
167
260
|
/**
|
|
168
|
-
* Return the status of every migration file for Postgres.
|
|
261
|
+
* Return the status of every active migration file for Postgres.
|
|
262
|
+
* Tombstone files (renamed migrations) are excluded from the status list.
|
|
169
263
|
*/
|
|
170
264
|
export async function getMigrationStatusPostgres(client) {
|
|
171
265
|
// Ensure tracking table exists before querying
|
|
172
266
|
await client.unsafe(CREATE_SCHEMA_MIGRATIONS_POSTGRES);
|
|
173
|
-
const migrations =
|
|
267
|
+
const migrations = loadActiveMigrationFiles("postgres");
|
|
174
268
|
const rows = await client `SELECT name, applied_at FROM schema_migrations`;
|
|
175
269
|
const appliedMap = new Map(rows.map((r) => [r.name, r.applied_at]));
|
|
176
|
-
|
|
177
|
-
...migrations.map((m) => m.name),
|
|
178
|
-
...appliedMap.keys(),
|
|
179
|
-
]);
|
|
180
|
-
return Array.from(allNames)
|
|
181
|
-
.sort()
|
|
182
|
-
.map((name) => ({
|
|
183
|
-
name,
|
|
184
|
-
applied: appliedMap.has(name),
|
|
185
|
-
appliedAt: appliedMap.get(name),
|
|
186
|
-
}));
|
|
270
|
+
return buildMigrationStatus(migrations, appliedMap);
|
|
187
271
|
}
|
|
188
272
|
//# sourceMappingURL=migrator.js.map
|
package/dist/db/migrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/db/migrator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/db/migrator.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema.d.ts
CHANGED
|
@@ -1247,6 +1247,131 @@ export declare const pmApprovals: import("drizzle-orm/sqlite-core").SQLiteTableW
|
|
|
1247
1247
|
};
|
|
1248
1248
|
dialect: "sqlite";
|
|
1249
1249
|
}>;
|
|
1250
|
+
/**
|
|
1251
|
+
* BEC-227 Phase 4 / Track D. Persists the `<decisions>` JSON block emitted
|
|
1252
|
+
* by the implement agent at the end of each implement turn. Multiple rows
|
|
1253
|
+
* per pipeline_run when RALPH iterates (one per (iteration, stage)).
|
|
1254
|
+
*/
|
|
1255
|
+
export declare const pipelineRunDecisions: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1256
|
+
name: "pipeline_run_decisions";
|
|
1257
|
+
schema: undefined;
|
|
1258
|
+
columns: {
|
|
1259
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1260
|
+
name: "id";
|
|
1261
|
+
tableName: "pipeline_run_decisions";
|
|
1262
|
+
dataType: "string";
|
|
1263
|
+
columnType: "SQLiteText";
|
|
1264
|
+
data: string;
|
|
1265
|
+
driverParam: string;
|
|
1266
|
+
notNull: true;
|
|
1267
|
+
hasDefault: false;
|
|
1268
|
+
isPrimaryKey: true;
|
|
1269
|
+
isAutoincrement: false;
|
|
1270
|
+
hasRuntimeDefault: false;
|
|
1271
|
+
enumValues: [string, ...string[]];
|
|
1272
|
+
baseColumn: never;
|
|
1273
|
+
identity: undefined;
|
|
1274
|
+
generated: undefined;
|
|
1275
|
+
}, {}, {
|
|
1276
|
+
length: number | undefined;
|
|
1277
|
+
}>;
|
|
1278
|
+
pipelineRunId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1279
|
+
name: "pipeline_run_id";
|
|
1280
|
+
tableName: "pipeline_run_decisions";
|
|
1281
|
+
dataType: "string";
|
|
1282
|
+
columnType: "SQLiteText";
|
|
1283
|
+
data: string;
|
|
1284
|
+
driverParam: string;
|
|
1285
|
+
notNull: true;
|
|
1286
|
+
hasDefault: false;
|
|
1287
|
+
isPrimaryKey: false;
|
|
1288
|
+
isAutoincrement: false;
|
|
1289
|
+
hasRuntimeDefault: false;
|
|
1290
|
+
enumValues: [string, ...string[]];
|
|
1291
|
+
baseColumn: never;
|
|
1292
|
+
identity: undefined;
|
|
1293
|
+
generated: undefined;
|
|
1294
|
+
}, {}, {
|
|
1295
|
+
length: number | undefined;
|
|
1296
|
+
}>;
|
|
1297
|
+
iteration: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1298
|
+
name: "iteration";
|
|
1299
|
+
tableName: "pipeline_run_decisions";
|
|
1300
|
+
dataType: "number";
|
|
1301
|
+
columnType: "SQLiteInteger";
|
|
1302
|
+
data: number;
|
|
1303
|
+
driverParam: number;
|
|
1304
|
+
notNull: true;
|
|
1305
|
+
hasDefault: false;
|
|
1306
|
+
isPrimaryKey: false;
|
|
1307
|
+
isAutoincrement: false;
|
|
1308
|
+
hasRuntimeDefault: false;
|
|
1309
|
+
enumValues: undefined;
|
|
1310
|
+
baseColumn: never;
|
|
1311
|
+
identity: undefined;
|
|
1312
|
+
generated: undefined;
|
|
1313
|
+
}, {}, {}>;
|
|
1314
|
+
stage: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1315
|
+
name: "stage";
|
|
1316
|
+
tableName: "pipeline_run_decisions";
|
|
1317
|
+
dataType: "string";
|
|
1318
|
+
columnType: "SQLiteText";
|
|
1319
|
+
data: string;
|
|
1320
|
+
driverParam: string;
|
|
1321
|
+
notNull: true;
|
|
1322
|
+
hasDefault: false;
|
|
1323
|
+
isPrimaryKey: false;
|
|
1324
|
+
isAutoincrement: false;
|
|
1325
|
+
hasRuntimeDefault: false;
|
|
1326
|
+
enumValues: [string, ...string[]];
|
|
1327
|
+
baseColumn: never;
|
|
1328
|
+
identity: undefined;
|
|
1329
|
+
generated: undefined;
|
|
1330
|
+
}, {}, {
|
|
1331
|
+
length: number | undefined;
|
|
1332
|
+
}>;
|
|
1333
|
+
payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1334
|
+
name: "payload";
|
|
1335
|
+
tableName: "pipeline_run_decisions";
|
|
1336
|
+
dataType: "string";
|
|
1337
|
+
columnType: "SQLiteText";
|
|
1338
|
+
data: string;
|
|
1339
|
+
driverParam: string;
|
|
1340
|
+
notNull: true;
|
|
1341
|
+
hasDefault: false;
|
|
1342
|
+
isPrimaryKey: false;
|
|
1343
|
+
isAutoincrement: false;
|
|
1344
|
+
hasRuntimeDefault: false;
|
|
1345
|
+
enumValues: [string, ...string[]];
|
|
1346
|
+
baseColumn: never;
|
|
1347
|
+
identity: undefined;
|
|
1348
|
+
generated: undefined;
|
|
1349
|
+
}, {}, {
|
|
1350
|
+
length: number | undefined;
|
|
1351
|
+
}>;
|
|
1352
|
+
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1353
|
+
name: "created_at";
|
|
1354
|
+
tableName: "pipeline_run_decisions";
|
|
1355
|
+
dataType: "custom";
|
|
1356
|
+
columnType: "SQLiteCustomColumn";
|
|
1357
|
+
data: Date;
|
|
1358
|
+
driverParam: string | number | Date;
|
|
1359
|
+
notNull: true;
|
|
1360
|
+
hasDefault: false;
|
|
1361
|
+
isPrimaryKey: false;
|
|
1362
|
+
isAutoincrement: false;
|
|
1363
|
+
hasRuntimeDefault: false;
|
|
1364
|
+
enumValues: undefined;
|
|
1365
|
+
baseColumn: never;
|
|
1366
|
+
identity: undefined;
|
|
1367
|
+
generated: undefined;
|
|
1368
|
+
}, {}, {
|
|
1369
|
+
sqliteColumnBuilderBrand: "SQLiteCustomColumnBuilderBrand";
|
|
1370
|
+
}>;
|
|
1371
|
+
};
|
|
1372
|
+
dialect: "sqlite";
|
|
1373
|
+
}>;
|
|
1374
|
+
export type PipelineRunDecisionRow = typeof pipelineRunDecisions.$inferSelect;
|
|
1250
1375
|
/**
|
|
1251
1376
|
* Dedup table for budget threshold alerts. One row per (date, scope, threshold)
|
|
1252
1377
|
* — the UNIQUE constraint + onConflictDoNothing() guarantees an alert fires at
|
package/dist/db/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,IAAI,aAAa,EAAE,QAAQ,GAAG,UAAqB,CAAC;AAE3D,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAEpE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAkBzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCvB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBpB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYrB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBxB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3B,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe1B,CAAC;AAEH,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB3B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB5B,CAAC;AAEF,mHAAmH;AACnH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBvB,CAAC"}
|
package/dist/db/schema.js
CHANGED
|
@@ -139,6 +139,19 @@ export const pmApprovals = sqliteTable("pm_approvals", {
|
|
|
139
139
|
.$defaultFn(() => new Date()),
|
|
140
140
|
resolvedAt: crossTimestamp("resolved_at"),
|
|
141
141
|
});
|
|
142
|
+
/**
|
|
143
|
+
* BEC-227 Phase 4 / Track D. Persists the `<decisions>` JSON block emitted
|
|
144
|
+
* by the implement agent at the end of each implement turn. Multiple rows
|
|
145
|
+
* per pipeline_run when RALPH iterates (one per (iteration, stage)).
|
|
146
|
+
*/
|
|
147
|
+
export const pipelineRunDecisions = sqliteTable("pipeline_run_decisions", {
|
|
148
|
+
id: text("id").primaryKey(),
|
|
149
|
+
pipelineRunId: text("pipeline_run_id").notNull().references(() => pipelineRuns.id),
|
|
150
|
+
iteration: integer("iteration").notNull(),
|
|
151
|
+
stage: text("stage").notNull(),
|
|
152
|
+
payload: text("payload").notNull(),
|
|
153
|
+
createdAt: crossTimestamp("created_at").notNull(),
|
|
154
|
+
});
|
|
142
155
|
/**
|
|
143
156
|
* Dedup table for budget threshold alerts. One row per (date, scope, threshold)
|
|
144
157
|
* — the UNIQUE constraint + onConflictDoNothing() guarantees an alert fires at
|
package/dist/db/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/F;;;;GAIG;AACH,MAAM,CAAC,IAAI,aAAa,GAA0B,QAAQ,CAAC;AAE3D,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAGrC;IACD,QAAQ;QACN,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IACD,QAAQ,CAAC,KAAW;QAClB,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,UAAU,CAAC,KAA6B;QACtC,IAAI,KAAK,YAAY,IAAI;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAC7D,OAAO,IAAI,IAAI,CAAC,KAAe,CAAC,CAAC;IACnC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE;IACvD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;IACzC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,oHAAoH;IACpH,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;IAC3C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,CAAC;IACjD,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,kFAAkF;IAClF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACvD,6FAA6F;IAC7F,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;IAClC,wFAAwF;IACxF,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACzC,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACvD,gGAAgG;IAChG,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;IAC1C,yGAAyG;IACzG,aAAa,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7D,gHAAgH;IAChH,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;IACjD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;SACnC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;IAC3C,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,wBAAwB,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,oBAAoB,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACzC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;IACjD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;SAC7B,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC;SACnC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE;IACnD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;IACxC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,EAAE;IACvD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE;IACzD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE;IACtC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3D,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE;IACrD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE;IAClD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC;CAC1C,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,wBAAwB,EAAE;IACxE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IAClF,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACzC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IAClC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;CAClD,CAAC,CAAC;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CACrC,eAAe,EACf;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,yDAAyD;IACzD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,2DAA2D;IAC3D,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B,qBAAqB;IACrB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACzC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;SAChC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;CAChC,EACD,CAAC,CAAC,EAAE,EAAE,CAAC;IACL,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;CAC1C,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE;IACrD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC;SACnC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,EAAE;IAC3D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;IACvC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACpC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,WAAW,EAAE,cAAc,CAAC,eAAe,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,EAAE;IACjE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;SACpB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IACtC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACjD,UAAU,EAAE,cAAc,CAAC,cAAc,CAAC;SACvC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,oBAAoB,EAAE;IAChE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC;SACtC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;CAChC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACR,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC;CAC9D,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,mBAAmB,EAAE;IAC9D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;SAC7B,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;IACzC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;IACvC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;CAC5C,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,EAAE;IAC/D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,6DAA6D;IAC7D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACpC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,uEAAuE;IACvE,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;IACtD,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;IAC3B,4FAA4F;IAC5F,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;CAC7B,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CACzC,mBAAmB,EACnB;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC;SACtC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,qCAAqC;IACrC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;IACzC,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC;IACzC,oBAAoB,EAAE,IAAI,CAAC,yBAAyB,CAAC;CACtD,CAIF,CAAC;AAEF,mHAAmH;AACnH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CACpC,eAAe,EACf;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAChC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;IAC7C,uEAAuE;IACvE,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IAChD,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;SAChC,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,qHAAqH;IACrH,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC;CAC1C,CAIF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-monitor.d.ts","sourceRoot":"","sources":["../../src/executor/auth-monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-monitor.d.ts","sourceRoot":"","sources":["../../src/executor/auth-monitor.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI7C,sCAAsC;AACtC,eAAO,MAAM,wBAAwB,QAAqB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,EAAE,CAAC,EAAE,KAAK,CAAC;CACZ;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,kBAAkB,EACxB,UAAU,SAA2B,GACpC,OAAO,CAAC,MAAM,CAAC,CA0EjB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,SAA2B;IAI7F;;;OAGG;YACW,OAAO,CAAC,IAAI,CAAC;EAQ9B;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* AuthMonitor — periodic Claude session health-check (BEC-207).
|
|
2
|
+
* AuthMonitor — periodic Claude session health-check (BEC-207 / BEC-237).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (`claude login` / ~/.config/claude/). The monitor runs every 6 hours:
|
|
4
|
+
* Covers three auth paths:
|
|
6
5
|
*
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
11
|
-
*
|
|
6
|
+
* - ANTHROPIC_API_KEY only (no CLAUDE_CODE_OAUTH_TOKEN) → skip. Static key
|
|
7
|
+
* never expires on its own; probing would add noise with no benefit.
|
|
8
|
+
* - CLAUDE_CODE_OAUTH_TOKEN set → probe with `claude auth status`. OAuth
|
|
9
|
+
* tokens CAN expire or be revoked. On failure: Slack alert + audit event
|
|
10
|
+
* with authMethod "oauth-token" so operators know to run `claude setup-token`.
|
|
11
|
+
* - Neither env var (mounted session) → probe with `claude auth status`.
|
|
12
|
+
* Interactive sessions expire weekly. On failure: Slack alert + audit event
|
|
13
|
+
* with authMethod "mounted-session" so operators know to run `claude login`.
|
|
12
14
|
*
|
|
13
15
|
* The monitor is registered as a step inside the PM scheduler tick so it runs
|
|
14
16
|
* on the same cadence as the PM agent's own health checks.
|
|
@@ -17,6 +19,7 @@ import { execFile } from "node:child_process";
|
|
|
17
19
|
import { createLogger } from "../logger.js";
|
|
18
20
|
import { postSlackMessage } from "../pm/slack-helpers.js";
|
|
19
21
|
import { claudeAuthExpiredEvent } from "../audit/events.js";
|
|
22
|
+
import { getAuthExpiredMessages } from "../audit/auth-error-messages.js";
|
|
20
23
|
import { logAuditEventUnchecked } from "../audit/writer.js";
|
|
21
24
|
import { resetAuthCheckCache } from "./auth-check.js";
|
|
22
25
|
const log = createLogger({ component: "AuthMonitor" });
|
|
@@ -38,12 +41,18 @@ export async function runAuthMonitorCheck(lastCheckTime, opts, intervalMs = AUTH
|
|
|
38
41
|
if (now - lastCheckTime < intervalMs) {
|
|
39
42
|
return lastCheckTime; // Not time to check yet
|
|
40
43
|
}
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
// Skip ONLY when ANTHROPIC_API_KEY is the sole auth mechanism. That key
|
|
45
|
+
// never expires on its own — probing it adds noise with no benefit.
|
|
46
|
+
// CLAUDE_CODE_OAUTH_TOKEN is different: it is an OAuth token that CAN expire
|
|
47
|
+
// or be revoked, so we always probe when it is set (BEC-237).
|
|
48
|
+
if (process.env.ANTHROPIC_API_KEY && !process.env.CLAUDE_CODE_OAUTH_TOKEN) {
|
|
49
|
+
log.debug("AuthMonitor: ANTHROPIC_API_KEY static key detected, skipping session check");
|
|
44
50
|
return now;
|
|
45
51
|
}
|
|
46
|
-
|
|
52
|
+
const authMethod = process.env.CLAUDE_CODE_OAUTH_TOKEN
|
|
53
|
+
? "oauth-token"
|
|
54
|
+
: "mounted-session";
|
|
55
|
+
log.info({ authMethod }, "AuthMonitor: checking Claude auth validity");
|
|
47
56
|
// Force a fresh subprocess call (bypass the 5-min cache in isClaudeAuthValid)
|
|
48
57
|
resetAuthCheckCache();
|
|
49
58
|
const valid = await new Promise((resolve) => {
|
|
@@ -52,21 +61,22 @@ export async function runAuthMonitorCheck(lastCheckTime, opts, intervalMs = AUTH
|
|
|
52
61
|
});
|
|
53
62
|
});
|
|
54
63
|
if (valid) {
|
|
55
|
-
log.debug("AuthMonitor:
|
|
64
|
+
log.debug({ authMethod }, "AuthMonitor: auth is valid");
|
|
56
65
|
return now;
|
|
57
66
|
}
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
// Auth invalid — alert and record.
|
|
68
|
+
const { hint, slackText } = getAuthExpiredMessages(authMethod);
|
|
69
|
+
const logPrefix = authMethod === "oauth-token"
|
|
70
|
+
? "AuthMonitor: CLAUDE_CODE_OAUTH_TOKEN has expired or been revoked. "
|
|
71
|
+
: "AuthMonitor: mounted Claude session expired. ";
|
|
72
|
+
log.error(logPrefix + hint);
|
|
73
|
+
// Slack alert — text branches on auth method so operators get actionable instructions.
|
|
62
74
|
if (opts.slackBotToken && opts.slackErrorChannel) {
|
|
75
|
+
const text = slackText;
|
|
63
76
|
try {
|
|
64
77
|
await postSlackMessage(opts.slackBotToken, {
|
|
65
78
|
channel: opts.slackErrorChannel,
|
|
66
|
-
text
|
|
67
|
-
"Fix: `docker compose exec <service> claude login`\n" +
|
|
68
|
-
"Or switch to `CLAUDE_CODE_OAUTH_TOKEN` (run `claude setup-token` once). " +
|
|
69
|
-
"See `deploy/CLAUDE_AUTH.md` for details.",
|
|
79
|
+
text,
|
|
70
80
|
});
|
|
71
81
|
}
|
|
72
82
|
catch (err) {
|
|
@@ -76,16 +86,15 @@ export async function runAuthMonitorCheck(lastCheckTime, opts, intervalMs = AUTH
|
|
|
76
86
|
// Audit event.
|
|
77
87
|
//
|
|
78
88
|
// We use `logAuditEventUnchecked` (which bypasses the `audit-log` Enterprise
|
|
79
|
-
// feature gate) deliberately: a Claude
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
// PM/RM modules.
|
|
89
|
+
// feature gate) deliberately: a Claude auth expiry is an operational signal
|
|
90
|
+
// that any operator needs to see regardless of license tier. The alternative
|
|
91
|
+
// — `logAuditEvent` — would silently drop the event in OSS and Pro deployments
|
|
92
|
+
// where `audit-log` isn't licensed, leaving the operator wondering why their
|
|
93
|
+
// pipeline runs started failing en masse with no visible event in the audit
|
|
94
|
+
// dashboard. CLAUDE.md's list of bypass call sites should include this one
|
|
95
|
+
// alongside `license.ts` and the Pro-tier PM/RM modules.
|
|
87
96
|
if (opts.db) {
|
|
88
|
-
void logAuditEventUnchecked(opts.db, claudeAuthExpiredEvent({ detectedAt: new Date() }));
|
|
97
|
+
void logAuditEventUnchecked(opts.db, claudeAuthExpiredEvent({ detectedAt: new Date(), authMethod }));
|
|
89
98
|
}
|
|
90
99
|
return now;
|
|
91
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-monitor.js","sourceRoot":"","sources":["../../src/executor/auth-monitor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth-monitor.js","sourceRoot":"","sources":["../../src/executor/auth-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-review.d.ts","sourceRoot":"","sources":["../../src/executor/deep-review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"deep-review.d.ts","sourceRoot":"","sources":["../../src/executor/deep-review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOlE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAiB7C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;IAC1C,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAyDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAS1D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAO/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE5D;AAwND;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB;mEAC+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;0CACsC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;oEACgE;IAChE,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA6D3B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,aAAa,EAAE,CASjB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,eAAe,EAAE,eAAe,GAC/B,MAAM,CAqCR"}
|