@freshguard/freshguard-core 0.12.0 → 0.13.2
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/CHANGELOG.md +172 -0
- package/README.md +44 -580
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata/factory.d.ts.map +1 -1
- package/dist/metadata/factory.js.map +1 -1
- package/dist/monitor/freshness.d.ts.map +1 -1
- package/dist/monitor/freshness.js.map +1 -1
- package/dist/monitor/schema-changes.d.ts.map +1 -1
- package/dist/monitor/schema-changes.js.map +1 -1
- package/dist/monitor/volume.d.ts.map +1 -1
- package/dist/monitor/volume.js.map +1 -1
- package/package.json +25 -6
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
|
package/README.md
CHANGED
|
@@ -1,71 +1,33 @@
|
|
|
1
1
|
# FreshGuard Core
|
|
2
2
|
|
|
3
|
-
**Open source data pipeline freshness monitoring engine
|
|
3
|
+
**Open source data pipeline freshness monitoring engine.**
|
|
4
4
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
-
[](https://www.npmjs.com/package/@freshguard/freshguard-core)
|
|
7
|
+
[](https://freshguard-dev.github.io/freshguard-core)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
Monitor when your data pipelines go stale. Supports PostgreSQL, DuckDB, BigQuery, Snowflake, MySQL, and Redshift. Self-hosted. Free forever.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
- **Data hasn't updated in X minutes** (freshness checks)
|
|
12
|
-
- **Row counts deviate unexpectedly** (volume anomaly detection)
|
|
13
|
-
- **Database schemas change unexpectedly** (schema change monitoring)
|
|
14
|
-
|
|
15
|
-
Supports PostgreSQL, DuckDB, BigQuery, and Snowflake. Self-hosted. Free forever.
|
|
16
|
-
|
|
17
|
-
## 🔒 Security Features
|
|
18
|
-
|
|
19
|
-
FreshGuard Core includes basic security protections for self-hosted deployments:
|
|
20
|
-
|
|
21
|
-
**🛡️ Query Security**
|
|
22
|
-
- ✅ **SQL Injection Protection** - Input validation and pattern analysis
|
|
23
|
-
- ✅ **Query Validation** - Basic checks for dangerous operations
|
|
24
|
-
- ✅ **Input Sanitization** - Identifier validation and parameter checking
|
|
25
|
-
|
|
26
|
-
**🔄 Resilience Features**
|
|
27
|
-
- ✅ **Circuit Breaker Protection** - Automatic failure detection and recovery
|
|
28
|
-
- ✅ **Retry Logic** - Exponential backoff with jitter
|
|
29
|
-
- ✅ **Timeout Protection** - Query and connection timeouts
|
|
30
|
-
- ✅ **Connection Management** - Basic connection pooling
|
|
31
|
-
|
|
32
|
-
**📊 Observability**
|
|
33
|
-
- ✅ **Structured Logging** - JSON logging with Pino
|
|
34
|
-
- ✅ **Error Handling** - Sanitized error messages
|
|
35
|
-
- ✅ **Performance Tracking** - Basic query performance metrics
|
|
36
|
-
|
|
37
|
-
**🔐 Security Basics**
|
|
38
|
-
- ✅ **SSL/TLS Support** - Secure database connections
|
|
39
|
-
- ✅ **Environment Variables** - Secure credential management
|
|
40
|
-
- ✅ **Error Sanitization** - Safe error messages
|
|
41
|
-
|
|
42
|
-
**📋 [Complete Security Guide →](docs/SECURITY_FOR_SELF_HOSTERS.md)** | **🚀 [Integration Guide →](docs/INTEGRATION_GUIDE.md)**
|
|
43
|
-
|
|
44
|
-
## Quick Start
|
|
45
|
-
|
|
46
|
-
### 1. Install
|
|
11
|
+
## Install
|
|
47
12
|
|
|
48
13
|
```bash
|
|
49
14
|
pnpm install @freshguard/freshguard-core
|
|
50
15
|
```
|
|
51
16
|
|
|
52
|
-
|
|
17
|
+
## Quick example
|
|
53
18
|
|
|
54
19
|
```typescript
|
|
55
20
|
import { checkFreshness, PostgresConnector } from '@freshguard/freshguard-core';
|
|
56
|
-
import type { MonitoringRule } from '@freshguard/freshguard-core';
|
|
57
21
|
|
|
58
|
-
// Connect to your database
|
|
59
22
|
const connector = new PostgresConnector({
|
|
60
|
-
host: process.env.DB_HOST
|
|
61
|
-
|
|
62
|
-
database: process.env.DB_NAME || 'mydb',
|
|
23
|
+
host: process.env.DB_HOST!,
|
|
24
|
+
database: process.env.DB_NAME!,
|
|
63
25
|
username: process.env.DB_USER!,
|
|
64
26
|
password: process.env.DB_PASSWORD!,
|
|
65
|
-
ssl: true,
|
|
27
|
+
ssl: true,
|
|
66
28
|
});
|
|
67
29
|
|
|
68
|
-
const
|
|
30
|
+
const result = await checkFreshness(connector, {
|
|
69
31
|
id: 'orders-freshness',
|
|
70
32
|
sourceId: 'prod_db',
|
|
71
33
|
name: 'Orders Freshness',
|
|
@@ -77,568 +39,70 @@ const rule: MonitoringRule = {
|
|
|
77
39
|
isActive: true,
|
|
78
40
|
createdAt: new Date(),
|
|
79
41
|
updatedAt: new Date(),
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const result = await checkFreshness(connector, rule);
|
|
83
|
-
|
|
84
|
-
if (result.status === 'alert') {
|
|
85
|
-
console.log(`⚠️ Data is ${result.lagMinutes}m stale!`);
|
|
86
|
-
} else {
|
|
87
|
-
console.log(`✅ Data is fresh (lag: ${result.lagMinutes}m)`);
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 3. Check Volume Anomalies
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
import { checkVolumeAnomaly, PostgresConnector } from '@freshguard/freshguard-core';
|
|
95
|
-
|
|
96
|
-
const connector = new PostgresConnector({
|
|
97
|
-
host: process.env.DB_HOST!,
|
|
98
|
-
database: process.env.DB_NAME!,
|
|
99
|
-
username: process.env.DB_USER!,
|
|
100
|
-
password: process.env.DB_PASSWORD!,
|
|
101
|
-
ssl: true,
|
|
102
42
|
});
|
|
103
43
|
|
|
104
|
-
const result = await checkVolumeAnomaly(connector, rule);
|
|
105
|
-
|
|
106
44
|
if (result.status === 'alert') {
|
|
107
|
-
console.log(
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### 4. Monitor Schema Changes
|
|
112
|
-
|
|
113
|
-
```typescript
|
|
114
|
-
import { checkSchemaChanges, PostgresConnector } from '@freshguard/freshguard-core';
|
|
115
|
-
|
|
116
|
-
const schemaRule: MonitoringRule = {
|
|
117
|
-
id: 'users-schema',
|
|
118
|
-
sourceId: 'prod_db',
|
|
119
|
-
name: 'Users Table Schema Monitor',
|
|
120
|
-
tableName: 'users',
|
|
121
|
-
ruleType: 'schema_change',
|
|
122
|
-
checkIntervalMinutes: 60,
|
|
123
|
-
isActive: true,
|
|
124
|
-
trackColumnChanges: true,
|
|
125
|
-
trackTableChanges: true,
|
|
126
|
-
schemaChangeConfig: {
|
|
127
|
-
adaptationMode: 'manual', // 'auto' | 'manual' | 'alert_only'
|
|
128
|
-
monitoringMode: 'full', // 'full' | 'partial'
|
|
129
|
-
trackedColumns: {
|
|
130
|
-
alertLevel: 'medium', // 'low' | 'medium' | 'high'
|
|
131
|
-
trackTypes: true, // Monitor data type changes
|
|
132
|
-
trackNullability: false // Don't track nullability changes
|
|
133
|
-
},
|
|
134
|
-
baselineRefreshDays: 30 // Auto-refresh baseline monthly
|
|
135
|
-
},
|
|
136
|
-
createdAt: new Date(),
|
|
137
|
-
updatedAt: new Date(),
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
const result = await checkSchemaChanges(connector, schemaRule, metadataStorage);
|
|
141
|
-
|
|
142
|
-
if (result.status === 'alert') {
|
|
143
|
-
console.log(`⚠️ Schema changes detected: ${result.schemaChanges?.summary}`);
|
|
144
|
-
|
|
145
|
-
// Check specific changes
|
|
146
|
-
if (result.schemaChanges?.addedColumns?.length > 0) {
|
|
147
|
-
console.log('New columns:', result.schemaChanges.addedColumns.map(c => c.columnName));
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
if (result.schemaChanges?.removedColumns?.length > 0) {
|
|
151
|
-
console.log('Removed columns:', result.schemaChanges.removedColumns.map(c => c.columnName));
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
if (result.schemaChanges?.modifiedColumns?.length > 0) {
|
|
155
|
-
console.log('Modified columns:', result.schemaChanges.modifiedColumns.map(c =>
|
|
156
|
-
`${c.columnName} (${c.changeType}): ${c.oldValue} → ${c.newValue}`
|
|
157
|
-
));
|
|
158
|
-
}
|
|
159
|
-
} else {
|
|
160
|
-
console.log(`✅ Schema is stable (${result.schemaChanges?.changeCount || 0} changes)`);
|
|
161
|
-
}
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
**Schema Change Adaptation Modes:**
|
|
165
|
-
- **`auto`** - Automatically adapt to safe changes (column additions, safe type changes)
|
|
166
|
-
- **`manual`** - Require manual approval for all changes (default)
|
|
167
|
-
- **`alert_only`** - Always alert, never update baseline automatically
|
|
168
|
-
|
|
169
|
-
**Monitoring Modes:**
|
|
170
|
-
- **`full`** - Monitor all columns in the table (default)
|
|
171
|
-
- **`partial`** - Monitor only specified columns in `trackedColumns.columns` array
|
|
172
|
-
|
|
173
|
-
## 📊 Metadata Storage
|
|
174
|
-
|
|
175
|
-
FreshGuard tracks execution history for volume anomaly detection and monitoring analytics. Choose between **DuckDB** (embedded, zero-setup) or **PostgreSQL** (production-ready) storage.
|
|
176
|
-
|
|
177
|
-
### Quick Setup (Zero Configuration)
|
|
178
|
-
|
|
179
|
-
```typescript
|
|
180
|
-
import { createMetadataStorage, checkVolumeAnomaly, PostgresConnector } from '@freshguard/freshguard-core';
|
|
181
|
-
|
|
182
|
-
// Create database connector
|
|
183
|
-
const connector = new PostgresConnector({
|
|
184
|
-
host: process.env.DB_HOST!,
|
|
185
|
-
database: process.env.DB_NAME!,
|
|
186
|
-
username: process.env.DB_USER!,
|
|
187
|
-
password: process.env.DB_PASSWORD!,
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
// Automatic setup - creates ./freshguard-metadata.db
|
|
191
|
-
const metadataStorage = await createMetadataStorage();
|
|
192
|
-
|
|
193
|
-
// Use with monitoring functions
|
|
194
|
-
const result = await checkVolumeAnomaly(connector, rule, metadataStorage);
|
|
195
|
-
|
|
196
|
-
// Clean up
|
|
197
|
-
await metadataStorage.close();
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### Storage Options
|
|
201
|
-
|
|
202
|
-
**DuckDB (Recommended for Self-Hosting)**
|
|
203
|
-
- ✅ Zero database server setup
|
|
204
|
-
- ✅ Single file storage (`./freshguard-metadata.db`)
|
|
205
|
-
- ✅ Perfect for Docker containers
|
|
206
|
-
|
|
207
|
-
```typescript
|
|
208
|
-
// Custom path
|
|
209
|
-
const storage = await createMetadataStorage({
|
|
210
|
-
type: 'duckdb',
|
|
211
|
-
path: './my-freshguard-data.db'
|
|
212
|
-
});
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
**PostgreSQL (Recommended for Production)**
|
|
216
|
-
- ✅ Full ACID compliance
|
|
217
|
-
- ✅ Concurrent access support
|
|
218
|
-
- ✅ Backup/restore capabilities
|
|
219
|
-
|
|
220
|
-
```typescript
|
|
221
|
-
// Production setup
|
|
222
|
-
const storage = await createMetadataStorage({
|
|
223
|
-
type: 'postgresql',
|
|
224
|
-
url: 'postgresql://user:pass@host:5432/freshguard_metadata'
|
|
225
|
-
});
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
**📋 [Complete Metadata Storage Guide →](docs/METADATA_STORAGE.md)**
|
|
229
|
-
|
|
230
|
-
### 🚨 Error Handling
|
|
231
|
-
|
|
232
|
-
FreshGuard Core exports comprehensive error classes for proper error handling:
|
|
233
|
-
|
|
234
|
-
```typescript
|
|
235
|
-
import {
|
|
236
|
-
checkFreshness,
|
|
237
|
-
PostgresConnector,
|
|
238
|
-
SecurityError,
|
|
239
|
-
ConnectionError,
|
|
240
|
-
TimeoutError,
|
|
241
|
-
QueryError,
|
|
242
|
-
ConfigurationError,
|
|
243
|
-
MonitoringError
|
|
244
|
-
} from '@freshguard/freshguard-core';
|
|
245
|
-
|
|
246
|
-
try {
|
|
247
|
-
const result = await checkFreshness(connector, rule);
|
|
248
|
-
console.log(`✅ Check completed: ${result.status}`);
|
|
249
|
-
} catch (error) {
|
|
250
|
-
// Handle specific error types
|
|
251
|
-
if (error instanceof SecurityError) {
|
|
252
|
-
console.error('🔒 Security violation:', error.message);
|
|
253
|
-
// Log security incident, block request source
|
|
254
|
-
} else if (error instanceof ConnectionError) {
|
|
255
|
-
console.error('🔌 Database connection failed:', error.message);
|
|
256
|
-
// Retry with backoff, check network connectivity
|
|
257
|
-
} else if (error instanceof TimeoutError) {
|
|
258
|
-
console.error('⏱️ Query timeout:', error.message);
|
|
259
|
-
// Check query complexity, database performance
|
|
260
|
-
} else if (error instanceof QueryError) {
|
|
261
|
-
console.error('📊 Query execution failed:', error.message);
|
|
262
|
-
// Check table exists, column names, permissions
|
|
263
|
-
} else if (error instanceof ConfigurationError) {
|
|
264
|
-
console.error('⚙️ Configuration error:', error.message);
|
|
265
|
-
// Check environment variables, config file
|
|
266
|
-
} else if (error instanceof MonitoringError) {
|
|
267
|
-
console.error('📈 Monitoring check failed:', error.message);
|
|
268
|
-
// Check rule configuration, data availability
|
|
269
|
-
} else {
|
|
270
|
-
console.error('❌ Unknown error:', error.message);
|
|
271
|
-
}
|
|
45
|
+
console.log(`Data is ${result.lagMinutes}m stale!`);
|
|
272
46
|
}
|
|
273
47
|
```
|
|
274
48
|
|
|
275
|
-
|
|
276
|
-
- `error.code` - Machine-readable error code (e.g., "SECURITY_VIOLATION")
|
|
277
|
-
- `error.timestamp` - When the error occurred
|
|
278
|
-
- `error.sanitized` - Whether error message is safe for user display
|
|
49
|
+
## What it does
|
|
279
50
|
|
|
280
|
-
|
|
51
|
+
- **Freshness monitoring** — Alert when a table hasn't been updated within a tolerance window
|
|
52
|
+
- **Volume anomaly detection** — Alert when row counts deviate from a calculated baseline
|
|
53
|
+
- **Schema change detection** — Alert when columns are added, removed, or modified
|
|
281
54
|
|
|
282
|
-
|
|
283
|
-
✅ **Freshness Monitoring** - Detect stale data based on last update time
|
|
284
|
-
✅ **Volume Anomaly Detection** - Identify unexpected row count changes
|
|
285
|
-
✅ **Schema Change Monitoring** - Track database schema evolution with configurable adaptation modes
|
|
55
|
+
## Documentation
|
|
286
56
|
|
|
287
|
-
|
|
288
|
-
✅ **PostgreSQL** - Production-ready with SSL/TLS support
|
|
289
|
-
✅ **DuckDB** - Analytics and local development
|
|
290
|
-
✅ **BigQuery** - Google Cloud data warehouses
|
|
291
|
-
✅ **Snowflake** - Enterprise data platforms
|
|
57
|
+
**[Read the full docs](https://freshguard-dev.github.io/freshguard-core)** — guides, API reference, examples, and self-hosting instructions.
|
|
292
58
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
59
|
+
| Section | Description |
|
|
60
|
+
|---|---|
|
|
61
|
+
| [Getting Started](https://freshguard-dev.github.io/freshguard-core/docs/getting-started/installation) | Install, quick start, configuration |
|
|
62
|
+
| [Guides](https://freshguard-dev.github.io/freshguard-core/docs/guides/freshness-monitoring) | Freshness, volume, schema, connectors, metadata, errors, CLI |
|
|
63
|
+
| [API Reference](https://freshguard-dev.github.io/freshguard-core/docs/api) | Auto-generated from TypeScript source |
|
|
64
|
+
| [Examples](https://freshguard-dev.github.io/freshguard-core/docs/examples/basic-freshness) | Basic checks, multi-database, alerting, Docker |
|
|
65
|
+
| [Security](https://freshguard-dev.github.io/freshguard-core/docs/security/overview) | Security features and self-hosting checklist |
|
|
66
|
+
| [Contributing](https://freshguard-dev.github.io/freshguard-core/docs/contributing/development-setup) | Dev setup, adding connectors, adding monitors, testing |
|
|
297
67
|
|
|
298
|
-
|
|
299
|
-
✅ **Type-Safe** - Written in TypeScript with full type definitions
|
|
300
|
-
✅ **CLI Tool** - Secure command-line interface for self-hosters
|
|
301
|
-
✅ **Self-Hosted** - Run on your own infrastructure
|
|
302
|
-
✅ **MIT Licensed** - Free to use, modify, and distribute
|
|
68
|
+
## Database support
|
|
303
69
|
|
|
304
|
-
|
|
70
|
+
| Database | Connector | Since |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| PostgreSQL | `PostgresConnector` | 0.1.0 |
|
|
73
|
+
| DuckDB | `DuckDBConnector` | 0.1.0 |
|
|
74
|
+
| BigQuery | `BigQueryConnector` | 0.2.0 |
|
|
75
|
+
| Snowflake | `SnowflakeConnector` | 0.2.0 |
|
|
76
|
+
| MySQL | `MySQLConnector` | 0.11.0 |
|
|
77
|
+
| Redshift | `RedshiftConnector` | 0.11.0 |
|
|
305
78
|
|
|
306
|
-
|
|
79
|
+
## CLI
|
|
307
80
|
|
|
308
81
|
```bash
|
|
309
|
-
|
|
310
|
-
export FRESHGUARD_DATABASE_URL="postgresql://user:password@localhost:5432/db?sslmode=require"
|
|
311
|
-
|
|
312
|
-
# Initialize monitoring configuration
|
|
82
|
+
export FRESHGUARD_DATABASE_URL="postgresql://user:password@localhost:5432/db"
|
|
313
83
|
pnpm exec freshguard init
|
|
314
|
-
|
|
315
|
-
# Test connection
|
|
316
84
|
pnpm exec freshguard test
|
|
317
|
-
|
|
318
|
-
# Run monitoring scheduler
|
|
319
85
|
pnpm exec freshguard run
|
|
320
86
|
```
|
|
321
87
|
|
|
322
|
-
**Features:**
|
|
323
|
-
- 🔐 **Environment variables** - Secure credential management
|
|
324
|
-
- 📝 **Configuration validation** - Proper setup verification
|
|
325
|
-
- 🔒 **SSL support** - Secure database connections
|
|
326
|
-
- 📊 **Monitoring commands** - Run checks and view results
|
|
327
|
-
|
|
328
|
-
**📋 [Security Guide →](docs/SECURITY_FOR_SELF_HOSTERS.md)**
|
|
329
|
-
|
|
330
|
-
## 🚀 Self-Hosting
|
|
331
|
-
|
|
332
|
-
### Production Deployment
|
|
333
|
-
|
|
334
|
-
**📋 [Security Guide →](docs/SECURITY_FOR_SELF_HOSTERS.md)**
|
|
335
|
-
|
|
336
|
-
Important considerations for production deployments:
|
|
337
|
-
- **🔒 Security checklist and best practices**
|
|
338
|
-
- **🗄️ Database security configuration** (PostgreSQL, BigQuery, Snowflake)
|
|
339
|
-
- **🌐 Network configuration**
|
|
340
|
-
- **🔑 Credential management**
|
|
341
|
-
- **📊 Monitoring and logging**
|
|
342
|
-
|
|
343
|
-
### Deployment Guides
|
|
344
|
-
|
|
345
|
-
See the [Self-Hosting Guide](docs/SELF_HOSTING.md) for:
|
|
346
|
-
- Docker deployment with security hardening
|
|
347
|
-
- Kubernetes setup with secrets management
|
|
348
|
-
- Environment configuration examples
|
|
349
|
-
- Custom alerting integration
|
|
350
|
-
|
|
351
|
-
## What's Not Included
|
|
352
|
-
|
|
353
|
-
This is the **open source core**. It does not include:
|
|
354
|
-
- Managed hosting (you manage uptime)
|
|
355
|
-
- Multi-user dashboard and config UI (use config files instead)
|
|
356
|
-
|
|
357
|
-
Want these features? Check out **[FreshGuard Cloud](https://freshguard.dev)** - our managed SaaS.
|
|
358
|
-
|
|
359
88
|
## Architecture
|
|
360
89
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
- **`@freshguard/freshguard-core`** (this package) - MIT licensed, open source monitoring engine
|
|
364
|
-
- **`freshguard`** - Proprietary multi-tenant SaaS (optional)
|
|
90
|
+
This is the **open-source core** (MIT licensed). It contains all monitoring logic, connectors, and CLI tooling. It does not include multi-tenant features, authentication, or dashboards — those are part of [FreshGuard Cloud](https://freshguard.dev).
|
|
365
91
|
|
|
366
|
-
|
|
92
|
+
See [ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full technical breakdown.
|
|
367
93
|
|
|
368
94
|
## Contributing
|
|
369
95
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
## Examples
|
|
373
|
-
|
|
374
|
-
### 📊 Database Connections
|
|
375
|
-
|
|
376
|
-
```typescript
|
|
377
|
-
import { PostgresConnector, BigQueryConnector } from '@freshguard/freshguard-core';
|
|
378
|
-
|
|
379
|
-
// PostgreSQL connection
|
|
380
|
-
const pgConfig = {
|
|
381
|
-
host: 'localhost',
|
|
382
|
-
port: 5432,
|
|
383
|
-
database: 'myapp',
|
|
384
|
-
username: process.env.DB_USER!,
|
|
385
|
-
password: process.env.DB_PASSWORD!,
|
|
386
|
-
ssl: true, // Enable SSL for secure connections
|
|
387
|
-
};
|
|
388
|
-
const postgres = new PostgresConnector(pgConfig);
|
|
389
|
-
|
|
390
|
-
// BigQuery connection
|
|
391
|
-
const bqConfig = {
|
|
392
|
-
host: 'bigquery.googleapis.com',
|
|
393
|
-
database: 'my-project',
|
|
394
|
-
password: process.env.BIGQUERY_SERVICE_ACCOUNT_JSON!,
|
|
395
|
-
ssl: true,
|
|
396
|
-
};
|
|
397
|
-
const bigquery = new BigQueryConnector(bqConfig);
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
### 🔔 Custom Alerting
|
|
401
|
-
|
|
402
|
-
```typescript
|
|
403
|
-
import { checkFreshness } from '@freshguard/freshguard-core';
|
|
404
|
-
import { PostgresConnector } from '@freshguard/freshguard-core';
|
|
405
|
-
import { sendSlackAlert } from './alerts.js';
|
|
406
|
-
|
|
407
|
-
// Database connection
|
|
408
|
-
const connector = new PostgresConnector({
|
|
409
|
-
host: process.env.DB_HOST!,
|
|
410
|
-
database: process.env.DB_NAME!,
|
|
411
|
-
username: process.env.DB_USER!,
|
|
412
|
-
password: process.env.DB_PASSWORD!,
|
|
413
|
-
ssl: true,
|
|
414
|
-
});
|
|
415
|
-
|
|
416
|
-
const result = await checkFreshness(connector, rule);
|
|
417
|
-
|
|
418
|
-
if (result.status === 'alert') {
|
|
419
|
-
await sendSlackAlert({
|
|
420
|
-
channel: '#data-alerts',
|
|
421
|
-
message: `⚠️ ${rule.name} is stale (${result.lagMinutes}m lag)`,
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
### 📅 Scheduled Monitoring
|
|
427
|
-
|
|
428
|
-
```typescript
|
|
429
|
-
import { checkFreshness, checkVolumeAnomaly, checkSchemaChanges } from '@freshguard/freshguard-core';
|
|
430
|
-
import { PostgresConnector } from '@freshguard/freshguard-core';
|
|
431
|
-
import cron from 'node-cron';
|
|
432
|
-
|
|
433
|
-
const connector = new PostgresConnector({
|
|
434
|
-
host: process.env.DB_HOST!,
|
|
435
|
-
database: process.env.DB_NAME!,
|
|
436
|
-
username: process.env.DB_USER!,
|
|
437
|
-
password: process.env.DB_PASSWORD!,
|
|
438
|
-
ssl: true,
|
|
439
|
-
});
|
|
440
|
-
|
|
441
|
-
// Run every 5 minutes with comprehensive error handling
|
|
442
|
-
cron.schedule('*/5 * * * *', async () => {
|
|
443
|
-
try {
|
|
444
|
-
const result = await checkFreshness(connector, rule);
|
|
445
|
-
console.log(`✅ Check result: ${result.status}`);
|
|
446
|
-
} catch (error) {
|
|
447
|
-
// Import error classes for specific handling
|
|
448
|
-
const { SecurityError, ConnectionError, TimeoutError } = require('@freshguard/freshguard-core');
|
|
449
|
-
|
|
450
|
-
if (error instanceof ConnectionError) {
|
|
451
|
-
console.error(`🔌 Database connection failed: ${error.message}`);
|
|
452
|
-
// Implement reconnection logic
|
|
453
|
-
} else if (error instanceof TimeoutError) {
|
|
454
|
-
console.error(`⏱️ Query timeout: ${error.message}`);
|
|
455
|
-
// Alert ops team about performance issues
|
|
456
|
-
} else if (error instanceof SecurityError) {
|
|
457
|
-
console.error(`🔒 Security violation: ${error.message}`);
|
|
458
|
-
// Log security incident for investigation
|
|
459
|
-
} else {
|
|
460
|
-
console.error(`❌ Monitoring failed: ${error.message}`);
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
});
|
|
464
|
-
|
|
465
|
-
// Monitor schema changes hourly
|
|
466
|
-
cron.schedule('0 * * * *', async () => {
|
|
467
|
-
try {
|
|
468
|
-
const schemaRule = {
|
|
469
|
-
id: 'user-schema-monitor',
|
|
470
|
-
sourceId: 'prod_db',
|
|
471
|
-
name: 'User Table Schema Monitor',
|
|
472
|
-
tableName: 'users',
|
|
473
|
-
ruleType: 'schema_change',
|
|
474
|
-
checkIntervalMinutes: 60,
|
|
475
|
-
isActive: true,
|
|
476
|
-
schemaChangeConfig: {
|
|
477
|
-
adaptationMode: 'manual', // Require manual approval
|
|
478
|
-
monitoringMode: 'full', // Monitor all columns
|
|
479
|
-
trackedColumns: {
|
|
480
|
-
alertLevel: 'high', // High-priority alerts
|
|
481
|
-
trackTypes: true,
|
|
482
|
-
trackNullability: false
|
|
483
|
-
}
|
|
484
|
-
},
|
|
485
|
-
createdAt: new Date(),
|
|
486
|
-
updatedAt: new Date(),
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
const result = await checkSchemaChanges(connector, schemaRule, metadataStorage);
|
|
490
|
-
|
|
491
|
-
if (result.status === 'alert') {
|
|
492
|
-
console.log(`🚨 Schema changes detected in users table: ${result.schemaChanges?.summary}`);
|
|
493
|
-
// Send critical alert to operations team
|
|
494
|
-
} else {
|
|
495
|
-
console.log(`✅ Schema check passed: ${result.schemaChanges?.changeCount || 0} changes`);
|
|
496
|
-
}
|
|
497
|
-
} catch (error) {
|
|
498
|
-
console.error(`❌ Schema monitoring failed: ${error.message}`);
|
|
499
|
-
}
|
|
500
|
-
});
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
## 📚 API Documentation
|
|
505
|
-
|
|
506
|
-
### Database Connectors
|
|
507
|
-
|
|
508
|
-
```typescript
|
|
509
|
-
// Import connectors, monitoring functions, and error classes
|
|
510
|
-
import {
|
|
511
|
-
PostgresConnector,
|
|
512
|
-
DuckDBConnector,
|
|
513
|
-
BigQueryConnector,
|
|
514
|
-
SnowflakeConnector,
|
|
515
|
-
checkFreshness,
|
|
516
|
-
checkVolumeAnomaly,
|
|
517
|
-
checkSchemaChanges,
|
|
518
|
-
SecurityError,
|
|
519
|
-
ConnectionError,
|
|
520
|
-
TimeoutError,
|
|
521
|
-
QueryError,
|
|
522
|
-
ConfigurationError,
|
|
523
|
-
MonitoringError
|
|
524
|
-
} from '@freshguard/freshguard-core';
|
|
525
|
-
```
|
|
526
|
-
|
|
527
|
-
### Error Classes
|
|
528
|
-
|
|
529
|
-
FreshGuard Core provides comprehensive error handling with specific error types:
|
|
530
|
-
|
|
531
|
-
- **`SecurityError`** - SQL injection attempts, invalid identifiers, blocked queries
|
|
532
|
-
- **`ConnectionError`** - Database connection failures, authentication issues
|
|
533
|
-
- **`TimeoutError`** - Query timeouts, connection timeouts
|
|
534
|
-
- **`QueryError`** - Syntax errors, table/column not found, execution failures
|
|
535
|
-
- **`ConfigurationError`** - Missing required fields, invalid configuration values
|
|
536
|
-
- **`MonitoringError`** - Freshness check failures, volume anomaly detection errors
|
|
537
|
-
|
|
538
|
-
All errors include:
|
|
539
|
-
- `error.code` - Machine-readable error code
|
|
540
|
-
- `error.timestamp` - Error occurrence timestamp
|
|
541
|
-
- `error.sanitized` - Whether the message is safe for user display
|
|
542
|
-
|
|
543
|
-
### `checkFreshness(connector, rule)`
|
|
544
|
-
|
|
545
|
-
Check data freshness for a given monitoring rule.
|
|
546
|
-
|
|
547
|
-
**Parameters:**
|
|
548
|
-
- `connector` - Database connector (PostgresConnector, BigQueryConnector, etc.)
|
|
549
|
-
- `rule` - Monitoring rule configuration
|
|
550
|
-
|
|
551
|
-
**Returns:** `Promise<CheckResult>` with status and lag information
|
|
552
|
-
|
|
553
|
-
### `checkVolumeAnomaly(connector, rule)`
|
|
554
|
-
|
|
555
|
-
Check for volume anomalies in row counts.
|
|
556
|
-
|
|
557
|
-
**Parameters:**
|
|
558
|
-
- `connector` - Database connector
|
|
559
|
-
- `rule` - Monitoring rule configuration
|
|
560
|
-
|
|
561
|
-
**Returns:** `Promise<CheckResult>` with anomaly detection results
|
|
562
|
-
|
|
563
|
-
### `checkSchemaChanges(connector, rule)`
|
|
564
|
-
|
|
565
|
-
Monitor database schema changes with configurable adaptation modes.
|
|
566
|
-
|
|
567
|
-
**Parameters:**
|
|
568
|
-
- `connector` - Secure database connector
|
|
569
|
-
- `rule` - Monitoring rule with `ruleType: 'schema_change'` and optional `schemaChangeConfig`
|
|
570
|
-
- `metadataStorage` (optional) - Metadata storage for baseline persistence
|
|
571
|
-
|
|
572
|
-
**Returns:** `Promise<CheckResult>` with `schemaChanges` field containing:
|
|
573
|
-
- `hasChanges` - Boolean indicating if changes were detected
|
|
574
|
-
- `addedColumns` - Array of newly added columns
|
|
575
|
-
- `removedColumns` - Array of removed columns (breaking changes)
|
|
576
|
-
- `modifiedColumns` - Array of type/constraint changes
|
|
577
|
-
- `summary` - Human-readable change summary
|
|
578
|
-
- `changeCount` - Total number of changes
|
|
579
|
-
- `severity` - Change impact level ('low', 'medium', 'high')
|
|
580
|
-
|
|
581
|
-
### Database Connectors
|
|
582
|
-
|
|
583
|
-
**PostgresConnector** - PostgreSQL databases with SSL support
|
|
584
|
-
```typescript
|
|
585
|
-
const connector = new PostgresConnector({
|
|
586
|
-
host: 'localhost',
|
|
587
|
-
port: 5432,
|
|
588
|
-
database: 'myapp',
|
|
589
|
-
username: process.env.DB_USER!,
|
|
590
|
-
password: process.env.DB_PASSWORD!,
|
|
591
|
-
ssl: true, // Enable SSL for secure connections
|
|
592
|
-
});
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
**BigQueryConnector** - Google Cloud BigQuery data warehouses
|
|
596
|
-
**SnowflakeConnector** - Snowflake data platform integration
|
|
597
|
-
**DuckDBConnector** - DuckDB for analytics and development
|
|
598
|
-
|
|
599
|
-
### 🔧 Environment Setup
|
|
600
|
-
|
|
601
|
-
Copy `.env.example` to `.env` for secure configuration:
|
|
96
|
+
See the [Contributing guide](https://freshguard-dev.github.io/freshguard-core/docs/contributing/development-setup) or [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md).
|
|
602
97
|
|
|
603
98
|
```bash
|
|
604
|
-
|
|
605
|
-
# Edit .env with your secure credentials
|
|
99
|
+
pnpm install && pnpm build && pnpm test
|
|
606
100
|
```
|
|
607
101
|
|
|
608
|
-
|
|
102
|
+
## Changelog
|
|
609
103
|
|
|
610
|
-
|
|
104
|
+
See [CHANGELOG.md](CHANGELOG.md).
|
|
611
105
|
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
## 📞 Support
|
|
615
|
-
|
|
616
|
-
### 📋 Documentation
|
|
617
|
-
|
|
618
|
-
**🚀 Getting Started**
|
|
619
|
-
- **🔧 [Integration Guide](docs/INTEGRATION_GUIDE.md)** - Complete integration examples for developers
|
|
620
|
-
- **🏠 [Self-Hosting Guide](docs/SELF_HOSTING.md)** - Production deployment with security features
|
|
621
|
-
- **🤝 [Contributing Guide](docs/CONTRIBUTING.md)** - Development setup and guidelines
|
|
622
|
-
|
|
623
|
-
**🔒 Security & Production**
|
|
624
|
-
- **🛡️ [Security Guide](docs/SECURITY_FOR_SELF_HOSTERS.md)**
|
|
625
|
-
|
|
626
|
-
**🏗️ Advanced Topics**
|
|
627
|
-
- **⚙️ Configuration Examples** - Environment-specific setups (dev/staging/prod)
|
|
628
|
-
- **📈 Monitoring & Observability** - Structured logging, metrics, and alerting
|
|
629
|
-
- **🔄 Multi-Database Setup** - PostgreSQL, BigQuery, Snowflake, DuckDB integration
|
|
630
|
-
- **🚨 Circuit Breakers & Resilience** - Automatic failure recovery and protection
|
|
631
|
-
|
|
632
|
-
### 💬 Community
|
|
633
|
-
- **🐛 [Issues](https://github.com/freshguard/freshguard/issues)** - Bug reports and feature requests
|
|
634
|
-
- **💭 [Discussions](https://github.com/freshguard/freshguard/discussions)** - Questions and community support
|
|
635
|
-
|
|
636
|
-
## Need Managed Hosting?
|
|
637
|
-
|
|
638
|
-
Self-hosting requires ops. Want a managed experience?
|
|
639
|
-
|
|
640
|
-
**[Try FreshGuard Cloud (COMING SOON)](https://freshguard.dev)**
|
|
641
|
-
|
|
642
|
-
---
|
|
106
|
+
## License
|
|
643
107
|
|
|
644
|
-
|
|
108
|
+
MIT — See [LICENSE](./LICENSE)
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGrJ,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGlF,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGrJ,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAI9G,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/metadata/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/metadata/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA+BxD,wBAAsB,qBAAqB,CACzC,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAoB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/metadata/factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/metadata/factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AA6BpE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAA8B;IAE9B,IAAI,OAAwB,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QAEZ,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACxC,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,GAAU,MAAM,CAAC,IAAI,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,gBAA0B,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/monitor/freshness.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../../src/monitor/freshness.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAsChE,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,cAAc,EACpB,eAAe,CAAC,EAAE,eAAe,EACjC,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,CA2KtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/monitor/freshness.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../src/monitor/freshness.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA8BjF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAoB,EACpB,IAAoB,EACpB,eAAiC,EACjC,MAAyB;IAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAE3F,IAAI,CAAC;QAEH,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,6BAA6B,EAAE;gBAC1D,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAGD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAGrD,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAGpC,IAAI,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,GAAG,KAAK,EAAE,CAAC;YACrD,MAAM,IAAI,kBAAkB,CAAC,wDAAwD,CAAC,CAAC;QACzF,CAAC;QAGD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAC1C,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,EAClG,MAAM,EAAE,SAAS,IAAI,KAAK,EAC1B,+BAA+B,CAChC,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;QAG7C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,uCAAuC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnG,CAAC;QAGD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEnD,MAAM,mBAAmB,CAAC,eAAe,EAAE;gBACzC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,CAAC;gBACX,mBAAmB;gBACnB,UAAU;gBACV,KAAK,EAAE,gBAAgB;aACxB,EAAE,WAAW,CAAC,CAAC;YAEhB,OAAO,uBAAuB,CAAC,OAAO,EAAE;gBACtC,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,gBAAgB;gBACvB,mBAAmB;gBACnB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEnD,MAAM,mBAAmB,CAAC,eAAe,EAAE;gBACzC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,OAAO;gBACf,QAAQ;gBACR,mBAAmB;gBACnB,UAAU;gBACV,KAAK,EAAE,wCAAwC;aAChD,EAAE,WAAW,CAAC,CAAC;YAEhB,OAAO,uBAAuB,CAAC,OAAO,EAAE;gBACtC,QAAQ;gBACR,KAAK,EAAE,wCAAwC;gBAC/C,mBAAmB;gBACnB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAGlD,IAAI,UAAU,GAAG,WAAW,GAAG,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,UAAU,CAAC,yCAAyC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAG7C,MAAM,OAAO,GAAG,UAAU,GAAG,gBAAgB,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/C,MAAM,mBAAmB,CAAC,eAAe,EAAE;YACzC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM;YACN,QAAQ;YACR,UAAU,EAAE,cAAc;YAC1B,mBAAmB;YACnB,UAAU;SACX,EAAE,WAAW,CAAC,CAAC;QAEhB,OAAO,uBAAuB,CAAC,MAAM,EAAE;YACrC,QAAQ;YACR,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;YAChC,UAAU,EAAE,cAAc;YAC1B,mBAAmB;YACnB,UAAU;SACX,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAGnD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,2BAA2B,EAAE;gBAC1D,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,WAAW,CAAC,eAAe,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC3F,QAAQ,EAAE,mBAAmB;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;YACb,MAAM,mBAAmB,CAAC,eAAe,EAAE;gBACzC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,mBAAmB;gBACnB,UAAU;gBACV,KAAK,EAAE,WAAW;aACnB,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC;QAGD,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE;YAC/C,KAAK,EAAE,WAAW;YAClB,mBAAmB;YACnB,UAAU;YACV,OAAO;SACR,CAAC,CAAC;QAGH,IAAI,WAAW,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACtE,MAAM,CAAC,KAAK,GAAI,KAAoD,CAAC,KAAK,CAAC;QAC7E,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,mBAAmB,CAChC,eAA4C,EAC5C,SAQC,EACD,WAAyB;IAEzB,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,aAAa,CAAC;YAClC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAE9E,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACzD,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aACjE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YAEN,OAAO,CAAC,IAAI,CAAC,6CAA6C,SAAS,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;AACH,CAAC;AAKD,SAAS,qBAAqB,CAAC,IAAoB;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,CAAC,0CAA0C,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC9D,MAAM,IAAI,kBAAkB,CAAC,qDAAqD,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACrH,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAGD,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,kBAAkB,CAAC,oDAAoD,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,qBAAqB,CAClC,SAAoB,EACpB,SAAiB,EACjB,eAAuB,EACvB,WAAwB,EACxB,YAA+B;IAE/B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAiB;QACjC,GAAG,EAAE,0BAA0B,SAAS,mCAAmC,SAAS,OAAO,eAAe,IAAI;QAC9G,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,iBAAiB;KAC7B,CAAC;IAEF,IAAI,CAAC;QAEH,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE;gBAC9D,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,eAAe;gBACvB,UAAU,EAAE,WAAW,CAAC,aAAa;oBACnC,CAAC,CAAC,gBAAgB,SAAS,wBAAwB,SAAS,OAAO,eAAe,IAAI;oBACtF,CAAC,CAAC,+BAA+B;aACpC,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;YAChC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;SACtD,CAAC,CAAC;QAEH,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAGtD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,YAAY,CAAC,gBAAgB,CACjC,2CAA2C,EAC3C,SAAS,EACT,YAAY,CACb,CAAC;QACJ,CAAC;QAGD,MAAM,GAAG,GAAG;YACV,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC9B,WAAW,EAAE,UAAU;SACxB,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAGtD,MAAM,YAAY,CAAC,gBAAgB,CACjC,iDAAiD,EACjD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC1C,YAAY,CACb,CAAC;IACJ,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,kBAAkB,CAC/B,SAA2B,EAC3B,SAAiB,EACjB,cAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,IAAI,YAAY,CAAC,cAAc,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,SAAS,EAAE;aACR,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,MAAM,CAAC;aACb,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAKD,SAAS,uBAAuB,CAAC,MAA6B,EAAE,IAA0B;IACxF,OAAO;QACL,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE;QACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-changes.d.ts","sourceRoot":"","sources":["../../src/monitor/schema-changes.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAA8B,MAAM,aAAa,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-changes.d.ts","sourceRoot":"","sources":["../../src/monitor/schema-changes.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAA8B,MAAM,aAAa,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA4ChE,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,cAAc,EACpB,eAAe,CAAC,EAAE,eAAe,EACjC,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,CAqOtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-changes.js","sourceRoot":"","sources":["../../src/monitor/schema-changes.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-changes.js","sourceRoot":"","sources":["../../src/monitor/schema-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../src/monitor/volume.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../src/monitor/volume.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAyChE,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,cAAc,EACpB,eAAe,CAAC,EAAE,eAAe,EACjC,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,CA+LtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volume.js","sourceRoot":"","sources":["../../src/monitor/volume.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"volume.js","sourceRoot":"","sources":["../../src/monitor/volume.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@freshguard/freshguard-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.2",
|
|
4
4
|
"description": "Open source data freshness monitoring engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"drizzle-orm": "^0.45.1",
|
|
31
31
|
"mysql2": "^3.16.3",
|
|
32
32
|
"pg": "^8.18.0",
|
|
33
|
-
"pino": "^10.3.
|
|
33
|
+
"pino": "^10.3.1",
|
|
34
34
|
"postgres": "^3.4.8",
|
|
35
|
-
"snowflake-sdk": "^2.3.
|
|
35
|
+
"snowflake-sdk": "^2.3.4",
|
|
36
36
|
"zod": "^4.3.6"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"eslint": "^9.39.2",
|
|
48
48
|
"eslint-plugin-no-secrets": "^2.2.1",
|
|
49
49
|
"eslint-plugin-security": "^3.0.1",
|
|
50
|
-
"pnpm": "^10.29.
|
|
50
|
+
"pnpm": "^10.29.2",
|
|
51
51
|
"typescript": "^5.9.3",
|
|
52
|
-
"typescript-eslint": "^8.
|
|
52
|
+
"typescript-eslint": "^8.55.0",
|
|
53
53
|
"vitest": "^4.0.18"
|
|
54
54
|
},
|
|
55
55
|
"optionalDependencies": {
|
|
@@ -59,7 +59,24 @@
|
|
|
59
59
|
"node": ">20.0.0",
|
|
60
60
|
"pnpm": ">=10.0.0"
|
|
61
61
|
},
|
|
62
|
+
"keywords": [
|
|
63
|
+
"data-quality",
|
|
64
|
+
"freshness",
|
|
65
|
+
"monitoring",
|
|
66
|
+
"pipeline",
|
|
67
|
+
"data-observability",
|
|
68
|
+
"postgresql",
|
|
69
|
+
"duckdb",
|
|
70
|
+
"bigquery",
|
|
71
|
+
"snowflake",
|
|
72
|
+
"schema-change",
|
|
73
|
+
"volume-anomaly"
|
|
74
|
+
],
|
|
62
75
|
"license": "MIT",
|
|
76
|
+
"homepage": "https://freshguard-dev.github.io/freshguard-core",
|
|
77
|
+
"bugs": {
|
|
78
|
+
"url": "https://github.com/freshguard-dev/freshguard-core/issues"
|
|
79
|
+
},
|
|
63
80
|
"repository": {
|
|
64
81
|
"type": "git",
|
|
65
82
|
"url": "https://github.com/freshguard-dev/freshguard-core.git"
|
|
@@ -87,6 +104,8 @@
|
|
|
87
104
|
"test:full": "pnpm test:services:start && sleep 10 && pnpm test:coverage && pnpm test:services:stop",
|
|
88
105
|
"test:full:complete": "pnpm test:db:setup:all && pnpm test:coverage && pnpm test:services:stop",
|
|
89
106
|
"clean": "rm -rf dist",
|
|
90
|
-
"pre-commit": "pnpm lint:check && pnpm build && pnpm type-check && pnpm test:coverage"
|
|
107
|
+
"pre-commit": "pnpm lint:check && pnpm build && pnpm type-check && pnpm test:coverage",
|
|
108
|
+
"docs:dev": "pnpm --filter @freshguard/docs start",
|
|
109
|
+
"docs:build": "pnpm --filter @freshguard/docs build"
|
|
91
110
|
}
|
|
92
111
|
}
|