guardrail-core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/autopilot.test.d.ts +7 -0
- package/dist/__tests__/autopilot.test.d.ts.map +1 -0
- package/dist/__tests__/autopilot.test.js +156 -0
- package/dist/__tests__/tier-config.test.d.ts +9 -0
- package/dist/__tests__/tier-config.test.d.ts.map +1 -0
- package/dist/__tests__/tier-config.test.js +230 -0
- package/dist/__tests__/utils/hash-inline.test.d.ts +2 -0
- package/dist/__tests__/utils/hash-inline.test.d.ts.map +1 -0
- package/dist/__tests__/utils/hash-inline.test.js +62 -0
- package/dist/__tests__/utils/hash.test.d.ts +3 -0
- package/dist/__tests__/utils/hash.test.d.ts.map +1 -0
- package/dist/__tests__/utils/hash.test.js +95 -0
- package/dist/__tests__/utils/simple.test.d.ts +1 -0
- package/dist/__tests__/utils/simple.test.d.ts.map +1 -0
- package/dist/__tests__/utils/simple.test.js +10 -0
- package/dist/__tests__/utils/utils-simple.test.d.ts +1 -0
- package/dist/__tests__/utils/utils-simple.test.d.ts.map +1 -0
- package/dist/__tests__/utils/utils-simple.test.js +6 -0
- package/dist/__tests__/utils/utils.test.d.ts +15 -0
- package/dist/__tests__/utils/utils.test.d.ts.map +1 -0
- package/dist/__tests__/utils/utils.test.js +172 -0
- package/dist/autopilot/autopilot-runner.d.ts +33 -0
- package/dist/autopilot/autopilot-runner.d.ts.map +1 -0
- package/dist/autopilot/autopilot-runner.js +479 -0
- package/dist/autopilot/index.d.ts +6 -0
- package/dist/autopilot/index.d.ts.map +1 -0
- package/dist/autopilot/index.js +25 -0
- package/dist/autopilot/types.d.ts +102 -0
- package/dist/autopilot/types.d.ts.map +1 -0
- package/dist/autopilot/types.js +18 -0
- package/dist/cache/index.d.ts +7 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +22 -0
- package/dist/cache/redis-cache.d.ts +145 -0
- package/dist/cache/redis-cache.d.ts.map +1 -0
- package/dist/cache/redis-cache.js +459 -0
- package/dist/ci/github-actions.d.ts +77 -0
- package/dist/ci/github-actions.d.ts.map +1 -0
- package/dist/ci/github-actions.js +277 -0
- package/dist/ci/index.d.ts +12 -0
- package/dist/ci/index.d.ts.map +1 -0
- package/dist/ci/index.js +27 -0
- package/dist/ci/pre-commit.d.ts +65 -0
- package/dist/ci/pre-commit.d.ts.map +1 -0
- package/dist/ci/pre-commit.js +286 -0
- package/dist/entitlements.d.ts +149 -0
- package/dist/entitlements.d.ts.map +1 -0
- package/dist/entitlements.js +464 -0
- package/dist/env.d.ts +113 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +204 -0
- package/dist/fix-packs/__tests__/generate-fix-packs.test.d.ts +7 -0
- package/dist/fix-packs/__tests__/generate-fix-packs.test.d.ts.map +1 -0
- package/dist/fix-packs/__tests__/generate-fix-packs.test.js +250 -0
- package/dist/fix-packs/generate-fix-packs.d.ts +15 -0
- package/dist/fix-packs/generate-fix-packs.d.ts.map +1 -0
- package/dist/fix-packs/generate-fix-packs.js +505 -0
- package/dist/fix-packs/index.d.ts +8 -0
- package/dist/fix-packs/index.d.ts.map +1 -0
- package/dist/fix-packs/index.js +23 -0
- package/dist/fix-packs/types.d.ts +113 -0
- package/dist/fix-packs/types.d.ts.map +1 -0
- package/dist/fix-packs/types.js +71 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/metrics/prometheus.d.ts +99 -0
- package/dist/metrics/prometheus.d.ts.map +1 -0
- package/dist/metrics/prometheus.js +306 -0
- package/dist/quota-ledger.d.ts +119 -0
- package/dist/quota-ledger.d.ts.map +1 -0
- package/dist/quota-ledger.js +462 -0
- package/dist/rbac/__tests__/permissions.test.d.ts +8 -0
- package/dist/rbac/__tests__/permissions.test.d.ts.map +1 -0
- package/dist/rbac/__tests__/permissions.test.js +350 -0
- package/dist/rbac/index.d.ts +9 -0
- package/dist/rbac/index.d.ts.map +1 -0
- package/dist/rbac/index.js +32 -0
- package/dist/rbac/permissions.d.ts +71 -0
- package/dist/rbac/permissions.d.ts.map +1 -0
- package/dist/rbac/permissions.js +247 -0
- package/dist/rbac/types.d.ts +69 -0
- package/dist/rbac/types.d.ts.map +1 -0
- package/dist/rbac/types.js +213 -0
- package/dist/tier-config.d.ts +203 -0
- package/dist/tier-config.d.ts.map +1 -0
- package/dist/tier-config.js +675 -0
- package/dist/types.d.ts +365 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/utils.d.ts +36 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +127 -0
- package/dist/verified-autofix/__tests__/format-validator.test.d.ts +11 -0
- package/dist/verified-autofix/__tests__/format-validator.test.d.ts.map +1 -0
- package/dist/verified-autofix/__tests__/format-validator.test.js +285 -0
- package/dist/verified-autofix/__tests__/pipeline.test.d.ts +11 -0
- package/dist/verified-autofix/__tests__/pipeline.test.d.ts.map +1 -0
- package/dist/verified-autofix/__tests__/pipeline.test.js +389 -0
- package/dist/verified-autofix/__tests__/repo-fingerprint.test.d.ts +11 -0
- package/dist/verified-autofix/__tests__/repo-fingerprint.test.d.ts.map +1 -0
- package/dist/verified-autofix/__tests__/repo-fingerprint.test.js +236 -0
- package/dist/verified-autofix/__tests__/workspace.test.d.ts +11 -0
- package/dist/verified-autofix/__tests__/workspace.test.d.ts.map +1 -0
- package/dist/verified-autofix/__tests__/workspace.test.js +314 -0
- package/dist/verified-autofix/format-validator.d.ts +101 -0
- package/dist/verified-autofix/format-validator.d.ts.map +1 -0
- package/dist/verified-autofix/format-validator.js +446 -0
- package/dist/verified-autofix/index.d.ts +14 -0
- package/dist/verified-autofix/index.d.ts.map +1 -0
- package/dist/verified-autofix/index.js +39 -0
- package/dist/verified-autofix/pipeline.d.ts +68 -0
- package/dist/verified-autofix/pipeline.d.ts.map +1 -0
- package/dist/verified-autofix/pipeline.js +330 -0
- package/dist/verified-autofix/repo-fingerprint.d.ts +56 -0
- package/dist/verified-autofix/repo-fingerprint.d.ts.map +1 -0
- package/dist/verified-autofix/repo-fingerprint.js +396 -0
- package/dist/verified-autofix/workspace.d.ts +83 -0
- package/dist/verified-autofix/workspace.d.ts.map +1 -0
- package/dist/verified-autofix/workspace.js +454 -0
- package/dist/verified-autofix.d.ts +182 -0
- package/dist/verified-autofix.d.ts.map +1 -0
- package/dist/verified-autofix.js +1021 -0
- package/dist/visualization/dependency-graph.d.ts +79 -0
- package/dist/visualization/dependency-graph.d.ts.map +1 -0
- package/dist/visualization/dependency-graph.js +399 -0
- package/dist/visualization/index.d.ts +5 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +20 -0
- package/package.json +29 -0
- package/src/__tests__/autopilot.test.ts +196 -0
- package/src/__tests__/tier-config.test.ts +289 -0
- package/src/__tests__/utils/hash-inline.test.ts +76 -0
- package/src/__tests__/utils/hash.test.ts +119 -0
- package/src/__tests__/utils/simple.test.ts +10 -0
- package/src/__tests__/utils/utils-simple.test.ts +5 -0
- package/src/__tests__/utils/utils.test.ts +203 -0
- package/src/autopilot/autopilot-runner.ts +503 -0
- package/src/autopilot/index.ts +6 -0
- package/src/autopilot/types.ts +119 -0
- package/src/cache/index.ts +7 -0
- package/src/cache/redis-cache.d.ts +155 -0
- package/src/cache/redis-cache.d.ts.map +1 -0
- package/src/cache/redis-cache.ts +517 -0
- package/src/ci/github-actions.ts +335 -0
- package/src/ci/index.ts +12 -0
- package/src/ci/pre-commit.ts +338 -0
- package/src/db/usage-schema.prisma +114 -0
- package/src/entitlements.ts +570 -0
- package/src/env.d.ts +68 -0
- package/src/env.d.ts.map +1 -0
- package/src/env.ts +247 -0
- package/src/fix-packs/__tests__/generate-fix-packs.test.ts +317 -0
- package/src/fix-packs/generate-fix-packs.ts +577 -0
- package/src/fix-packs/index.ts +8 -0
- package/src/fix-packs/types.ts +206 -0
- package/src/index.d.ts +7 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.ts +12 -0
- package/src/metrics/prometheus.d.ts +104 -0
- package/src/metrics/prometheus.d.ts.map +1 -0
- package/src/metrics/prometheus.ts +446 -0
- package/src/quota-ledger.ts +548 -0
- package/src/rbac/__tests__/permissions.test.ts +446 -0
- package/src/rbac/index.ts +46 -0
- package/src/rbac/permissions.ts +301 -0
- package/src/rbac/types.ts +298 -0
- package/src/tier-config.json +157 -0
- package/src/tier-config.ts +815 -0
- package/src/types.d.ts +365 -0
- package/src/types.d.ts.map +1 -0
- package/src/types.ts +441 -0
- package/src/utils.d.ts +36 -0
- package/src/utils.d.ts.map +1 -0
- package/src/utils.ts +140 -0
- package/src/verified-autofix/__tests__/format-validator.test.ts +335 -0
- package/src/verified-autofix/__tests__/pipeline.test.ts +419 -0
- package/src/verified-autofix/__tests__/repo-fingerprint.test.ts +241 -0
- package/src/verified-autofix/__tests__/workspace.test.ts +373 -0
- package/src/verified-autofix/format-validator.ts +517 -0
- package/src/verified-autofix/index.ts +63 -0
- package/src/verified-autofix/pipeline.ts +403 -0
- package/src/verified-autofix/repo-fingerprint.ts +459 -0
- package/src/verified-autofix/workspace.ts +531 -0
- package/src/verified-autofix.ts +1187 -0
- package/src/visualization/dependency-graph.d.ts +85 -0
- package/src/visualization/dependency-graph.d.ts.map +1 -0
- package/src/visualization/dependency-graph.ts +495 -0
- package/src/visualization/index.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autopilot/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Autopilot Module Exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.runAutopilot = exports.autopilotRunner = exports.AutopilotRunner = void 0;
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
var autopilot_runner_1 = require("./autopilot-runner");
|
|
23
|
+
Object.defineProperty(exports, "AutopilotRunner", { enumerable: true, get: function () { return autopilot_runner_1.AutopilotRunner; } });
|
|
24
|
+
Object.defineProperty(exports, "autopilotRunner", { enumerable: true, get: function () { return autopilot_runner_1.autopilotRunner; } });
|
|
25
|
+
Object.defineProperty(exports, "runAutopilot", { enumerable: true, get: function () { return autopilot_runner_1.runAutopilot; } });
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autopilot Mode Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Autopilot batch remediation system.
|
|
5
|
+
* PRO/COMPLIANCE+ feature.
|
|
6
|
+
*/
|
|
7
|
+
export type AutopilotMode = 'plan' | 'apply';
|
|
8
|
+
export type AutopilotFixPackCategory = 'security' | 'quality' | 'type-errors' | 'build-blockers' | 'test-failures' | 'placeholders' | 'route-integrity';
|
|
9
|
+
export interface AutopilotFinding {
|
|
10
|
+
id: string;
|
|
11
|
+
category: AutopilotFixPackCategory;
|
|
12
|
+
severity: 'critical' | 'high' | 'medium' | 'low';
|
|
13
|
+
file: string;
|
|
14
|
+
line: number;
|
|
15
|
+
message: string;
|
|
16
|
+
fixable: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface AutopilotFixPack {
|
|
19
|
+
id: string;
|
|
20
|
+
category: AutopilotFixPackCategory;
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
findings: AutopilotFinding[];
|
|
24
|
+
estimatedRisk: 'low' | 'medium' | 'high';
|
|
25
|
+
impactedFiles: string[];
|
|
26
|
+
priority: number;
|
|
27
|
+
}
|
|
28
|
+
export interface AutopilotOptions {
|
|
29
|
+
projectPath: string;
|
|
30
|
+
mode: AutopilotMode;
|
|
31
|
+
profile?: 'quick' | 'full' | 'ship' | 'ci';
|
|
32
|
+
maxFixes?: number;
|
|
33
|
+
verify?: boolean;
|
|
34
|
+
branchStrategy?: 'none' | 'worktree' | 'copy';
|
|
35
|
+
dryRun?: boolean;
|
|
36
|
+
json?: boolean;
|
|
37
|
+
onProgress?: (stage: string, message: string) => void;
|
|
38
|
+
}
|
|
39
|
+
export interface AutopilotVerificationResult {
|
|
40
|
+
passed: boolean;
|
|
41
|
+
typecheck: {
|
|
42
|
+
passed: boolean;
|
|
43
|
+
errors: string[];
|
|
44
|
+
};
|
|
45
|
+
build: {
|
|
46
|
+
passed: boolean;
|
|
47
|
+
errors: string[];
|
|
48
|
+
};
|
|
49
|
+
tests: {
|
|
50
|
+
passed: boolean;
|
|
51
|
+
errors: string[];
|
|
52
|
+
};
|
|
53
|
+
duration: number;
|
|
54
|
+
}
|
|
55
|
+
export interface AppliedFix {
|
|
56
|
+
packId: string;
|
|
57
|
+
findingId: string;
|
|
58
|
+
file: string;
|
|
59
|
+
success: boolean;
|
|
60
|
+
error?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface AutopilotPlanResult {
|
|
63
|
+
mode: 'plan';
|
|
64
|
+
projectPath: string;
|
|
65
|
+
profile: string;
|
|
66
|
+
timestamp: string;
|
|
67
|
+
totalFindings: number;
|
|
68
|
+
fixableFindings: number;
|
|
69
|
+
packs: AutopilotFixPack[];
|
|
70
|
+
estimatedDuration: string;
|
|
71
|
+
riskAssessment: {
|
|
72
|
+
low: number;
|
|
73
|
+
medium: number;
|
|
74
|
+
high: number;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export interface AutopilotApplyResult {
|
|
78
|
+
mode: 'apply';
|
|
79
|
+
projectPath: string;
|
|
80
|
+
profile: string;
|
|
81
|
+
timestamp: string;
|
|
82
|
+
startTime: string;
|
|
83
|
+
endTime: string;
|
|
84
|
+
duration: number;
|
|
85
|
+
packsAttempted: number;
|
|
86
|
+
packsSucceeded: number;
|
|
87
|
+
packsFailed: number;
|
|
88
|
+
appliedFixes: AppliedFix[];
|
|
89
|
+
verification: AutopilotVerificationResult | null;
|
|
90
|
+
remainingFindings: number;
|
|
91
|
+
newScanVerdict: 'pass' | 'fail' | 'skipped';
|
|
92
|
+
errors: string[];
|
|
93
|
+
}
|
|
94
|
+
export type AutopilotResult = AutopilotPlanResult | AutopilotApplyResult;
|
|
95
|
+
export interface AutopilotScanResult {
|
|
96
|
+
findings: AutopilotFinding[];
|
|
97
|
+
score: number;
|
|
98
|
+
verdict: 'pass' | 'fail';
|
|
99
|
+
duration: number;
|
|
100
|
+
}
|
|
101
|
+
export declare const AUTOPILOT_FIX_PACK_PRIORITY: Record<AutopilotFixPackCategory, number>;
|
|
102
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/autopilot/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Autopilot Mode Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for the Autopilot batch remediation system.
|
|
6
|
+
* PRO/COMPLIANCE+ feature.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AUTOPILOT_FIX_PACK_PRIORITY = void 0;
|
|
10
|
+
exports.AUTOPILOT_FIX_PACK_PRIORITY = {
|
|
11
|
+
'security': 1,
|
|
12
|
+
'build-blockers': 2,
|
|
13
|
+
'type-errors': 3,
|
|
14
|
+
'test-failures': 4,
|
|
15
|
+
'route-integrity': 5,
|
|
16
|
+
'placeholders': 6,
|
|
17
|
+
'quality': 7,
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cache Module
|
|
4
|
+
*
|
|
5
|
+
* Provides caching utilities for Guardrail AI
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
__exportStar(require("./redis-cache"), exports);
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redis Caching Layer
|
|
3
|
+
*
|
|
4
|
+
* Production-ready caching implementation with:
|
|
5
|
+
* - Connection pooling
|
|
6
|
+
* - Automatic serialization/deserialization
|
|
7
|
+
* - TTL management
|
|
8
|
+
* - Cache invalidation patterns
|
|
9
|
+
* - Metrics tracking
|
|
10
|
+
*/
|
|
11
|
+
export interface RedisCacheConfig {
|
|
12
|
+
host: string;
|
|
13
|
+
port: number;
|
|
14
|
+
password?: string;
|
|
15
|
+
db?: number;
|
|
16
|
+
keyPrefix?: string;
|
|
17
|
+
defaultTTL?: number;
|
|
18
|
+
maxRetries?: number;
|
|
19
|
+
retryDelay?: number;
|
|
20
|
+
enableMetrics?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface CacheEntry<T> {
|
|
23
|
+
value: T;
|
|
24
|
+
createdAt: number;
|
|
25
|
+
expiresAt: number;
|
|
26
|
+
tags?: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface CacheStats {
|
|
29
|
+
hits: number;
|
|
30
|
+
misses: number;
|
|
31
|
+
sets: number;
|
|
32
|
+
deletes: number;
|
|
33
|
+
errors: number;
|
|
34
|
+
hitRate: number;
|
|
35
|
+
avgLatency: number;
|
|
36
|
+
}
|
|
37
|
+
export declare class RedisCache {
|
|
38
|
+
private client;
|
|
39
|
+
private config;
|
|
40
|
+
private stats;
|
|
41
|
+
private latencies;
|
|
42
|
+
private connected;
|
|
43
|
+
private memoryFallback;
|
|
44
|
+
constructor(config?: Partial<RedisCacheConfig>);
|
|
45
|
+
/**
|
|
46
|
+
* Connect to Redis
|
|
47
|
+
*/
|
|
48
|
+
connect(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Disconnect from Redis
|
|
51
|
+
*/
|
|
52
|
+
disconnect(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Get prefixed key
|
|
55
|
+
*/
|
|
56
|
+
private getKey;
|
|
57
|
+
/**
|
|
58
|
+
* Get value from cache
|
|
59
|
+
*/
|
|
60
|
+
get<T>(key: string): Promise<T | null>;
|
|
61
|
+
/**
|
|
62
|
+
* Set value in cache
|
|
63
|
+
*/
|
|
64
|
+
set<T>(key: string, value: T, ttl?: number, tags?: string[]): Promise<boolean>;
|
|
65
|
+
/**
|
|
66
|
+
* Delete value from cache
|
|
67
|
+
*/
|
|
68
|
+
delete(key: string): Promise<boolean>;
|
|
69
|
+
/**
|
|
70
|
+
* Delete multiple keys by pattern
|
|
71
|
+
*/
|
|
72
|
+
deletePattern(pattern: string): Promise<number>;
|
|
73
|
+
/**
|
|
74
|
+
* Invalidate cache by tag
|
|
75
|
+
*/
|
|
76
|
+
invalidateByTag(tag: string): Promise<number>;
|
|
77
|
+
/**
|
|
78
|
+
* Add key to tag set
|
|
79
|
+
*/
|
|
80
|
+
private addKeyToTag;
|
|
81
|
+
/**
|
|
82
|
+
* Check if key exists
|
|
83
|
+
*/
|
|
84
|
+
exists(key: string): Promise<boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* Get remaining TTL
|
|
87
|
+
*/
|
|
88
|
+
getTTL(key: string): Promise<number>;
|
|
89
|
+
/**
|
|
90
|
+
* Get or set (cache-aside pattern)
|
|
91
|
+
*/
|
|
92
|
+
getOrSet<T>(key: string, factory: () => Promise<T>, ttl?: number, tags?: string[]): Promise<T>;
|
|
93
|
+
/**
|
|
94
|
+
* Flush all cache
|
|
95
|
+
*/
|
|
96
|
+
flush(): Promise<boolean>;
|
|
97
|
+
/**
|
|
98
|
+
* Health check
|
|
99
|
+
*/
|
|
100
|
+
ping(): Promise<boolean>;
|
|
101
|
+
/**
|
|
102
|
+
* Get cache statistics
|
|
103
|
+
*/
|
|
104
|
+
getStats(): CacheStats;
|
|
105
|
+
/**
|
|
106
|
+
* Reset statistics
|
|
107
|
+
*/
|
|
108
|
+
resetStats(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Record latency for metrics
|
|
111
|
+
*/
|
|
112
|
+
private recordLatency;
|
|
113
|
+
/**
|
|
114
|
+
* Update hit rate
|
|
115
|
+
*/
|
|
116
|
+
private updateHitRate;
|
|
117
|
+
/**
|
|
118
|
+
* Check if connected to Redis
|
|
119
|
+
*/
|
|
120
|
+
isConnected(): boolean;
|
|
121
|
+
}
|
|
122
|
+
export declare const CacheKeys: {
|
|
123
|
+
scanResult: (projectId: string, scanType: string) => string;
|
|
124
|
+
knowledgeBase: (projectPath: string) => string;
|
|
125
|
+
embedding: (contentHash: string) => string;
|
|
126
|
+
vulnerability: (packageName: string, version: string) => string;
|
|
127
|
+
license: (packageName: string) => string;
|
|
128
|
+
compliance: (projectId: string, framework: string) => string;
|
|
129
|
+
session: (sessionId: string) => string;
|
|
130
|
+
rateLimit: (identifier: string, action: string) => string;
|
|
131
|
+
};
|
|
132
|
+
export declare const CacheTTL: {
|
|
133
|
+
SHORT: number;
|
|
134
|
+
MEDIUM: number;
|
|
135
|
+
LONG: number;
|
|
136
|
+
WEEK: number;
|
|
137
|
+
SCAN_RESULT: number;
|
|
138
|
+
KNOWLEDGE: number;
|
|
139
|
+
EMBEDDING: number;
|
|
140
|
+
VULNERABILITY: number;
|
|
141
|
+
LICENSE: number;
|
|
142
|
+
SESSION: number;
|
|
143
|
+
};
|
|
144
|
+
export declare const cache: RedisCache;
|
|
145
|
+
//# sourceMappingURL=redis-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-cache.d.ts","sourceRoot":"","sources":["../../src/cache/redis-cache.ts"],"names":[],"mappings":"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"}
|