@freshguard/freshguard-core 0.11.3 → 0.13.1

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.
Files changed (105) hide show
  1. package/CHANGELOG.md +172 -0
  2. package/README.md +44 -580
  3. package/dist/cli/index.js +11 -11
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/connectors/base-connector.d.ts +6 -5
  6. package/dist/connectors/base-connector.d.ts.map +1 -1
  7. package/dist/connectors/base-connector.js +23 -22
  8. package/dist/connectors/base-connector.js.map +1 -1
  9. package/dist/connectors/bigquery.d.ts +3 -2
  10. package/dist/connectors/bigquery.d.ts.map +1 -1
  11. package/dist/connectors/bigquery.js +39 -23
  12. package/dist/connectors/bigquery.js.map +1 -1
  13. package/dist/connectors/duckdb.d.ts +3 -2
  14. package/dist/connectors/duckdb.d.ts.map +1 -1
  15. package/dist/connectors/duckdb.js +25 -12
  16. package/dist/connectors/duckdb.js.map +1 -1
  17. package/dist/connectors/mysql.d.ts +3 -2
  18. package/dist/connectors/mysql.d.ts.map +1 -1
  19. package/dist/connectors/mysql.js +24 -20
  20. package/dist/connectors/mysql.js.map +1 -1
  21. package/dist/connectors/postgres.d.ts +3 -2
  22. package/dist/connectors/postgres.d.ts.map +1 -1
  23. package/dist/connectors/postgres.js +34 -26
  24. package/dist/connectors/postgres.js.map +1 -1
  25. package/dist/connectors/redshift.d.ts +3 -2
  26. package/dist/connectors/redshift.d.ts.map +1 -1
  27. package/dist/connectors/redshift.js +39 -30
  28. package/dist/connectors/redshift.js.map +1 -1
  29. package/dist/connectors/snowflake.d.ts +3 -2
  30. package/dist/connectors/snowflake.d.ts.map +1 -1
  31. package/dist/connectors/snowflake.js +27 -14
  32. package/dist/connectors/snowflake.js.map +1 -1
  33. package/dist/db/index.d.ts +2 -4
  34. package/dist/db/index.d.ts.map +1 -1
  35. package/dist/db/migrate.d.ts.map +1 -1
  36. package/dist/db/migrate.js +5 -4
  37. package/dist/db/migrate.js.map +1 -1
  38. package/dist/errors/debug-factory.js +1 -1
  39. package/dist/errors/index.d.ts.map +1 -1
  40. package/dist/errors/index.js.map +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/metadata/duckdb-storage.d.ts.map +1 -1
  44. package/dist/metadata/duckdb-storage.js +3 -2
  45. package/dist/metadata/duckdb-storage.js.map +1 -1
  46. package/dist/metadata/factory.d.ts.map +1 -1
  47. package/dist/metadata/factory.js +2 -1
  48. package/dist/metadata/factory.js.map +1 -1
  49. package/dist/metadata/postgresql-storage.js +11 -11
  50. package/dist/metadata/postgresql-storage.js.map +1 -1
  51. package/dist/metadata/schema-config.js +5 -5
  52. package/dist/metadata/types.d.ts +1 -1
  53. package/dist/metadata/types.d.ts.map +1 -1
  54. package/dist/monitor/baseline-calculator.d.ts.map +1 -1
  55. package/dist/monitor/baseline-calculator.js +3 -5
  56. package/dist/monitor/baseline-calculator.js.map +1 -1
  57. package/dist/monitor/baseline-config.js +7 -7
  58. package/dist/monitor/freshness.d.ts.map +1 -1
  59. package/dist/monitor/freshness.js +4 -4
  60. package/dist/monitor/freshness.js.map +1 -1
  61. package/dist/monitor/schema-baseline.js +1 -1
  62. package/dist/monitor/schema-changes.d.ts.map +1 -1
  63. package/dist/monitor/schema-changes.js +7 -6
  64. package/dist/monitor/schema-changes.js.map +1 -1
  65. package/dist/monitor/volume.d.ts.map +1 -1
  66. package/dist/monitor/volume.js +2 -2
  67. package/dist/monitor/volume.js.map +1 -1
  68. package/dist/observability/logger.d.ts +4 -4
  69. package/dist/observability/logger.d.ts.map +1 -1
  70. package/dist/observability/logger.js +13 -13
  71. package/dist/observability/logger.js.map +1 -1
  72. package/dist/observability/metrics.d.ts.map +1 -1
  73. package/dist/observability/metrics.js +15 -10
  74. package/dist/observability/metrics.js.map +1 -1
  75. package/dist/resilience/circuit-breaker.d.ts.map +1 -1
  76. package/dist/resilience/circuit-breaker.js +14 -13
  77. package/dist/resilience/circuit-breaker.js.map +1 -1
  78. package/dist/resilience/retry-policy.js +15 -15
  79. package/dist/resilience/retry-policy.js.map +1 -1
  80. package/dist/resilience/timeout-manager.d.ts.map +1 -1
  81. package/dist/resilience/timeout-manager.js +5 -8
  82. package/dist/resilience/timeout-manager.js.map +1 -1
  83. package/dist/security/query-analyzer.js +5 -5
  84. package/dist/security/query-analyzer.js.map +1 -1
  85. package/dist/security/schema-cache.js +4 -4
  86. package/dist/types/connector.d.ts.map +1 -1
  87. package/dist/types/connector.js.map +1 -1
  88. package/dist/types/driver-results.d.ts +24 -0
  89. package/dist/types/driver-results.d.ts.map +1 -0
  90. package/dist/types/driver-results.js +12 -0
  91. package/dist/types/driver-results.js.map +1 -0
  92. package/dist/validation/runtime-validator.d.ts +3 -3
  93. package/dist/validation/runtime-validator.d.ts.map +1 -1
  94. package/dist/validation/runtime-validator.js +5 -5
  95. package/dist/validation/runtime-validator.js.map +1 -1
  96. package/dist/validation/sanitizers.d.ts.map +1 -1
  97. package/dist/validation/sanitizers.js +19 -7
  98. package/dist/validation/sanitizers.js.map +1 -1
  99. package/dist/validation/schemas.d.ts.map +1 -1
  100. package/dist/validation/schemas.js +7 -7
  101. package/dist/validation/schemas.js.map +1 -1
  102. package/dist/validators/index.d.ts.map +1 -1
  103. package/dist/validators/index.js +4 -4
  104. package/dist/validators/index.js.map +1 -1
  105. package/package.json +27 -7
package/CHANGELOG.md ADDED
@@ -0,0 +1,172 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+ - Documentation site with versioned API reference
12
+
13
+ ## [0.12.0] - 2026-02-10
14
+
15
+ ### Added
16
+ - Security linting enforced in CI pipeline
17
+ - ESLint security plugins (`eslint-plugin-no-secrets`, `eslint-plugin-security`)
18
+
19
+ ### Changed
20
+ - Updated all dependencies to latest versions
21
+
22
+ ## [0.11.3] - 2026-02-07
23
+
24
+ ### Changed
25
+ - Updated dependencies and bumped version
26
+
27
+ ## [0.11.2] - 2026-02-01
28
+
29
+ ### Added
30
+ - Comprehensive `SECURITY.md` with threat model documentation
31
+
32
+ ### Fixed
33
+ - Override `fast-xml-parser` to address CVE-2026-25128
34
+
35
+ ### Changed
36
+ - Migrated repository from `thias-se` to `freshguard-dev` organization
37
+
38
+ ## [0.11.1] - 2026-01-28
39
+
40
+ ### Changed
41
+ - Documentation overhaul — README and docs updated to reflect actual project state
42
+
43
+ ## [0.11.0] - 2026-01-27
44
+
45
+ ### Added
46
+ - **MySQL connector** (`MySQLConnector`)
47
+ - **Amazon Redshift connector** (`RedshiftConnector`)
48
+
49
+ ## [0.10.0] - 2026-01-27
50
+
51
+ ### Added
52
+ - **Schema change monitoring** (`checkSchemaChanges`) — detect added, removed, and modified columns
53
+ - Configurable adaptation modes: `auto`, `manual`, `alert_only`
54
+ - Monitoring modes: `full` (all columns) and `partial` (selected columns)
55
+ - Schema baseline management and persistence via metadata storage
56
+
57
+ ## [0.9.1] - 2026-01-27
58
+
59
+ ### Fixed
60
+ - Security query patterns updated to support new Connector interface operations
61
+ - Resolved pnpm security vulnerabilities in CI workflows
62
+
63
+ ## [0.9.0] - 2026-01-26
64
+
65
+ ### Changed
66
+ - **BREAKING**: Monitoring functions (`checkFreshness`, `checkVolumeAnomaly`) now accept a `Connector` interface instead of raw database connections. Update call sites to pass a connector instance.
67
+
68
+ ## [0.8.0] - 2026-01-26
69
+
70
+ ### Added
71
+ - Comprehensive debug mode for enhanced developer experience when troubleshooting monitoring pipelines
72
+
73
+ ## [0.7.0] - 2026-01-25
74
+
75
+ ### Added
76
+ - Configurable PostgreSQL schema support (custom schema names)
77
+ - Enhanced baseline calculation for freshness monitoring
78
+
79
+ ## [0.6.0] - 2026-01-24
80
+
81
+ ### Added
82
+ - **Metadata storage abstraction** — `MetadataStorage` interface with DuckDB and PostgreSQL backends
83
+ - `createMetadataStorage()` factory for zero-setup self-hosting
84
+ - Historical execution tracking for volume anomaly detection
85
+
86
+ ## [0.5.2] - 2026-01-23
87
+
88
+ ### Fixed
89
+ - Multiline SQL validation no longer rejects legitimate queries
90
+
91
+ ## [0.5.1] - 2026-01-23
92
+
93
+ ### Fixed
94
+ - PostgreSQL multiline query pattern matching bug
95
+
96
+ ## [0.5.0] - 2026-01-23
97
+
98
+ ### Added
99
+ - Integration test infrastructure with real database setup (`docker-compose.test.yml`)
100
+
101
+ ## [0.4.2] - 2026-01-22
102
+
103
+ ### Added
104
+ - `BigQueryConnector` and `SnowflakeConnector` exported from public API
105
+
106
+ ## [0.4.1] - 2026-01-22
107
+
108
+ ### Fixed
109
+ - `pino-pretty` made an optional dependency with graceful fallback
110
+
111
+ ## [0.3.0] - 2026-01-22
112
+
113
+ ### Added
114
+ - Comprehensive security hardening for database connectors (Phase 1 & 2)
115
+ - SQL injection protection and query validation
116
+ - Input sanitization and identifier validation
117
+ - Error sanitization (no credential leakage)
118
+ - Circuit breaker, retry, and timeout protection
119
+ - Error classes exported from main module API (`SecurityError`, `ConnectionError`, `TimeoutError`, `QueryError`, `ConfigurationError`, `MonitoringError`)
120
+ - SBOM generation and cosign package signing in publish workflow
121
+
122
+ ## [0.2.0] - 2026-01-21
123
+
124
+ ### Added
125
+ - **BigQuery connector** (`BigQueryConnector`)
126
+ - **Snowflake connector** (`SnowflakeConnector`)
127
+
128
+ ## [0.1.2] - 2026-01-21
129
+
130
+ ### Fixed
131
+ - Ensure pnpm is available during npm publish
132
+ - Enable automatic release notes in CI
133
+
134
+ ## [0.1.1] - 2026-01-21
135
+
136
+ ### Fixed
137
+ - CI/CD publishing workflow fixes for npm trusted publishing
138
+
139
+ ## [0.1.0] - 2026-01-21
140
+
141
+ ### Added
142
+ - Initial release
143
+ - **Freshness monitoring** (`checkFreshness`) — detect stale data based on timestamp columns
144
+ - **Volume anomaly detection** (`checkVolumeAnomaly`) — identify unexpected row count changes
145
+ - **PostgreSQL connector** (`PostgresConnector`)
146
+ - **DuckDB connector** (`DuckDBConnector`)
147
+ - CLI tool (`freshguard` command)
148
+ - Drizzle ORM database schema and migrations
149
+ - MIT license
150
+
151
+ [Unreleased]: https://github.com/freshguard-dev/freshguard-core/compare/v0.12.0...HEAD
152
+ [0.12.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.3...v0.12.0
153
+ [0.11.3]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.2...v0.11.3
154
+ [0.11.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.1...v0.11.2
155
+ [0.11.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.0...v0.11.1
156
+ [0.11.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.10.0...v0.11.0
157
+ [0.10.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.9.1...v0.10.0
158
+ [0.9.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.9.0...v0.9.1
159
+ [0.9.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.8.0...v0.9.0
160
+ [0.8.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.7.0...v0.8.0
161
+ [0.7.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.6.0...v0.7.0
162
+ [0.6.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.5.2...v0.6.0
163
+ [0.5.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.5.1...v0.5.2
164
+ [0.5.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.5.0...v0.5.1
165
+ [0.5.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.4.2...v0.5.0
166
+ [0.4.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.4.1...v0.4.2
167
+ [0.4.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.3.0...v0.4.1
168
+ [0.3.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.2.0...v0.3.0
169
+ [0.2.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.1.2...v0.2.0
170
+ [0.1.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.1.1...v0.1.2
171
+ [0.1.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.1.0...v0.1.1
172
+ [0.1.0]: https://github.com/freshguard-dev/freshguard-core/releases/tag/v0.1.0