v2.3.0 - Transaction status tool and schema validation hardening#75
Merged
neverinfamous merged 17 commits intomainfrom Mar 9, 2026
Merged
v2.3.0 - Transaction status tool and schema validation hardening#75neverinfamous merged 17 commits intomainfrom
neverinfamous merged 17 commits intomainfrom
Conversation
added 15 commits
March 9, 2026 06:59
…on groups, FTS export
pg_detect_query_anomalies({threshold: 'abc'}), pg_detect_query_anomalies({minCalls: 'abc'}),
pg_detect_bloat_risk({minRows: 'abc'}), and pg_detect_connection_spike({warningPercent: 'abc'})
now silently fall back to default values instead of producing raw MCP -32602 Output validation
errors. Number('abc') produced NaN which propagated through Math.max()/Math.min() into SQL
queries causing PostgreSQL errors. Added safeNum() helper with NaN fallback to default.
…hema
pg_dependency_graph, pg_topological_sort, and pg_constraint_analysis
now return structured {success: false, error} for nonexistent schemas
instead of silently returning empty results.
Extracted shared checkSchemaExists() helper from pg_schema_snapshot
inline validation. Refactored pg_schema_snapshot to use the same
shared helper. Updated 3 unit tests.
Also includes pg_transaction_status ServerInstructions docs.
…or nonexistent tables - Add checkTableExists() helper to graph.ts mirroring checkSchemaExists() - Validate table existence in pg_constraint_analysis before running queries - Remove hint-based fallback for nonexistent tables - Update unit test to expect structured error response
…count, NaN-safe topN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v2.3.0 - Transaction Status & Schema Validation Hardening
Highlights
pg_transaction_statustool — Check active transaction state (active,aborted,not_found) without modifying itpg_dependency_graph,pg_topological_sort, andpg_constraint_analysisreturn structured{success: false}errors instead of silently returning empty resultsvalidateIdentifier()in diagnostics and anomaly detection toolsjose6.2.0 → 6.2.1, npm-bundledtar7.5.10 → 7.5.11,minimatchpinned to 10.2.4Added
pg_transaction_status— Read-only tool to probe active managed transactions viaSELECT 1, returning{status, transactionId, active, message}. Exposed in Code Mode aspg.transactions.status(). Transaction tools: 7 → 8Fixed
pg_dependency_graph,pg_topological_sort,pg_constraint_analysis) now return{success: false}for nonexistent schemas via sharedcheckSchemaExists()helperpg_constraint_analysisreturns{success: false}for nonexistent tables via sharedcheckTableExists()helperpg_cascade_simulatorreturns clean{success: false}error instead of mixing error and success fieldspg_migration_recordnow inserts with explicitstatus: 'recorded'instead of defaulting to'applied'; added'recorded'to CHECK constraint, Zod enum, and dashboard countspg_detect_query_anomalies,pg_detect_bloat_risk,pg_detect_connection_spike) handle NaN for wrong-type numeric params viasafeNum()helper"migration"group instead of"introspection"validateIdentifier()replaces ad-hoc.replace()indiagnostics.tsandanomaly-detection.tsInvalidFtsConfigErrornow properly exported fromfts-config.tsChanged
jose: 6.2.0 → 6.2.1tar7.5.10 → 7.5.11,minimatchpinned to 10.2.4package.jsonoverrides: exactly pinnedtarto 7.5.11 andminimatchto 10.2.4Full Compare
Install:
Docker: