contradiction-mcp 0.1.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/LICENSE +21 -0
- package/README.md +536 -0
- package/bin/cli.js +182 -0
- package/dist/analysis/claimMatcher.d.ts +48 -0
- package/dist/analysis/claimMatcher.js +131 -0
- package/dist/analysis/claimMatcher.js.map +1 -0
- package/dist/analysis/claimRelationship.d.ts +15 -0
- package/dist/analysis/claimRelationship.js +12 -0
- package/dist/analysis/claimRelationship.js.map +1 -0
- package/dist/analysis/confidenceScorer.d.ts +40 -0
- package/dist/analysis/confidenceScorer.js +59 -0
- package/dist/analysis/confidenceScorer.js.map +1 -0
- package/dist/analysis/contextAnalyzer.d.ts +13 -0
- package/dist/analysis/contextAnalyzer.js +187 -0
- package/dist/analysis/contextAnalyzer.js.map +1 -0
- package/dist/analysis/contradictionClassifier.d.ts +16 -0
- package/dist/analysis/contradictionClassifier.js +141 -0
- package/dist/analysis/contradictionClassifier.js.map +1 -0
- package/dist/analysis/contradictionEngine.d.ts +29 -0
- package/dist/analysis/contradictionEngine.js +284 -0
- package/dist/analysis/contradictionEngine.js.map +1 -0
- package/dist/analysis/explanationBuilder.d.ts +36 -0
- package/dist/analysis/explanationBuilder.js +77 -0
- package/dist/analysis/explanationBuilder.js.map +1 -0
- package/dist/analysis/valueComparator.d.ts +38 -0
- package/dist/analysis/valueComparator.js +418 -0
- package/dist/analysis/valueComparator.js.map +1 -0
- package/dist/config/env.d.ts +46 -0
- package/dist/config/env.js +34 -0
- package/dist/config/env.js.map +1 -0
- package/dist/connectors/base/connectorUtils.d.ts +26 -0
- package/dist/connectors/base/connectorUtils.js +63 -0
- package/dist/connectors/base/connectorUtils.js.map +1 -0
- package/dist/connectors/base/security.d.ts +11 -0
- package/dist/connectors/base/security.js +9 -0
- package/dist/connectors/base/security.js.map +1 -0
- package/dist/connectors/connectorRegistry.d.ts +43 -0
- package/dist/connectors/connectorRegistry.js +91 -0
- package/dist/connectors/connectorRegistry.js.map +1 -0
- package/dist/connectors/document/documentConnector.d.ts +45 -0
- package/dist/connectors/document/documentConnector.js +410 -0
- package/dist/connectors/document/documentConnector.js.map +1 -0
- package/dist/connectors/github/githubClient.d.ts +52 -0
- package/dist/connectors/github/githubClient.js +207 -0
- package/dist/connectors/github/githubClient.js.map +1 -0
- package/dist/connectors/github/githubConnector.d.ts +26 -0
- package/dist/connectors/github/githubConnector.js +169 -0
- package/dist/connectors/github/githubConnector.js.map +1 -0
- package/dist/connectors/github/githubExtractor.d.ts +26 -0
- package/dist/connectors/github/githubExtractor.js +469 -0
- package/dist/connectors/github/githubExtractor.js.map +1 -0
- package/dist/connectors/github/githubNormalizer.d.ts +11 -0
- package/dist/connectors/github/githubNormalizer.js +24 -0
- package/dist/connectors/github/githubNormalizer.js.map +1 -0
- package/dist/connectors/github/githubTypes.d.ts +55 -0
- package/dist/connectors/github/githubTypes.js +2 -0
- package/dist/connectors/github/githubTypes.js.map +1 -0
- package/dist/connectors/syncService.d.ts +60 -0
- package/dist/connectors/syncService.js +176 -0
- package/dist/connectors/syncService.js.map +1 -0
- package/dist/connectors/types/connector.d.ts +34 -0
- package/dist/connectors/types/connector.js +2 -0
- package/dist/connectors/types/connector.js.map +1 -0
- package/dist/connectors/types/fetchResult.d.ts +39 -0
- package/dist/connectors/types/fetchResult.js +2 -0
- package/dist/connectors/types/fetchResult.js.map +1 -0
- package/dist/connectors/website/ssrfGuard.d.ts +11 -0
- package/dist/connectors/website/ssrfGuard.js +122 -0
- package/dist/connectors/website/ssrfGuard.js.map +1 -0
- package/dist/connectors/website/websiteConnector.d.ts +30 -0
- package/dist/connectors/website/websiteConnector.js +231 -0
- package/dist/connectors/website/websiteConnector.js.map +1 -0
- package/dist/discovery/candidateGenerator.d.ts +12 -0
- package/dist/discovery/candidateGenerator.js +110 -0
- package/dist/discovery/candidateGenerator.js.map +1 -0
- package/dist/discovery/contradictionScanner.d.ts +30 -0
- package/dist/discovery/contradictionScanner.js +47 -0
- package/dist/discovery/contradictionScanner.js.map +1 -0
- package/dist/discovery/discoveryService.d.ts +37 -0
- package/dist/discovery/discoveryService.js +131 -0
- package/dist/discovery/discoveryService.js.map +1 -0
- package/dist/discovery/rankingService.d.ts +34 -0
- package/dist/discovery/rankingService.js +52 -0
- package/dist/discovery/rankingService.js.map +1 -0
- package/dist/discovery/similarityIndex.d.ts +20 -0
- package/dist/discovery/similarityIndex.js +89 -0
- package/dist/discovery/similarityIndex.js.map +1 -0
- package/dist/domain/entities/claim.d.ts +99 -0
- package/dist/domain/entities/claim.js +92 -0
- package/dist/domain/entities/claim.js.map +1 -0
- package/dist/domain/entities/contradiction.d.ts +110 -0
- package/dist/domain/entities/contradiction.js +74 -0
- package/dist/domain/entities/contradiction.js.map +1 -0
- package/dist/domain/entities/source.d.ts +43 -0
- package/dist/domain/entities/source.js +35 -0
- package/dist/domain/entities/source.js.map +1 -0
- package/dist/domain/types/common.d.ts +46 -0
- package/dist/domain/types/common.js +74 -0
- package/dist/domain/types/common.js.map +1 -0
- package/dist/httpServer.d.ts +25 -0
- package/dist/httpServer.js +164 -0
- package/dist/httpServer.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +94 -0
- package/dist/index.js.map +1 -0
- package/dist/intelligence/authorityScorer.d.ts +20 -0
- package/dist/intelligence/authorityScorer.js +103 -0
- package/dist/intelligence/authorityScorer.js.map +1 -0
- package/dist/intelligence/entityResolver.d.ts +33 -0
- package/dist/intelligence/entityResolver.js +152 -0
- package/dist/intelligence/entityResolver.js.map +1 -0
- package/dist/intelligence/evidenceEvaluator.d.ts +15 -0
- package/dist/intelligence/evidenceEvaluator.js +63 -0
- package/dist/intelligence/evidenceEvaluator.js.map +1 -0
- package/dist/intelligence/freshnessScorer.d.ts +25 -0
- package/dist/intelligence/freshnessScorer.js +90 -0
- package/dist/intelligence/freshnessScorer.js.map +1 -0
- package/dist/intelligence/provenanceAnalyzer.d.ts +19 -0
- package/dist/intelligence/provenanceAnalyzer.js +33 -0
- package/dist/intelligence/provenanceAnalyzer.js.map +1 -0
- package/dist/intelligence/resolutionAdvisor.d.ts +40 -0
- package/dist/intelligence/resolutionAdvisor.js +118 -0
- package/dist/intelligence/resolutionAdvisor.js.map +1 -0
- package/dist/intelligence/semanticMatcher.d.ts +21 -0
- package/dist/intelligence/semanticMatcher.js +71 -0
- package/dist/intelligence/semanticMatcher.js.map +1 -0
- package/dist/scripts/comprehensiveVerification.d.ts +5 -0
- package/dist/scripts/comprehensiveVerification.js +961 -0
- package/dist/scripts/comprehensiveVerification.js.map +1 -0
- package/dist/scripts/finalLiveDemo.d.ts +5 -0
- package/dist/scripts/finalLiveDemo.js +226 -0
- package/dist/scripts/finalLiveDemo.js.map +1 -0
- package/dist/scripts/liveMcpSmoke.d.ts +1 -0
- package/dist/scripts/liveMcpSmoke.js +89 -0
- package/dist/scripts/liveMcpSmoke.js.map +1 -0
- package/dist/scripts/seedDemoData.d.ts +6 -0
- package/dist/scripts/seedDemoData.js +179 -0
- package/dist/scripts/seedDemoData.js.map +1 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.js +1264 -0
- package/dist/server.js.map +1 -0
- package/dist/services/analysisService.d.ts +40 -0
- package/dist/services/analysisService.js +65 -0
- package/dist/services/analysisService.js.map +1 -0
- package/dist/services/healthService.d.ts +42 -0
- package/dist/services/healthService.js +50 -0
- package/dist/services/healthService.js.map +1 -0
- package/dist/services/metricsService.d.ts +35 -0
- package/dist/services/metricsService.js +57 -0
- package/dist/services/metricsService.js.map +1 -0
- package/dist/services/rateLimiter.d.ts +23 -0
- package/dist/services/rateLimiter.js +45 -0
- package/dist/services/rateLimiter.js.map +1 -0
- package/dist/services/reviewService.d.ts +32 -0
- package/dist/services/reviewService.js +94 -0
- package/dist/services/reviewService.js.map +1 -0
- package/dist/services/schedulerService.d.ts +30 -0
- package/dist/services/schedulerService.js +89 -0
- package/dist/services/schedulerService.js.map +1 -0
- package/dist/storage/backupService.d.ts +14 -0
- package/dist/storage/backupService.js +90 -0
- package/dist/storage/backupService.js.map +1 -0
- package/dist/storage/database.d.ts +119 -0
- package/dist/storage/database.js +935 -0
- package/dist/storage/database.js.map +1 -0
- package/dist/storage/migrations/001_initial.sql +63 -0
- package/dist/storage/migrations/002_discovery_uniqueness.sql +8 -0
- package/dist/storage/migrations/003_connector_identity.sql +7 -0
- package/dist/storage/migrations/004_claim_context.sql +15 -0
- package/dist/storage/migrations/005_claim_history.sql +26 -0
- package/dist/storage/migrations/006_contradiction_resolution.sql +27 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.js +48 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
-- Enable foreign keys enforcement
|
|
2
|
+
PRAGMA foreign_keys = ON;
|
|
3
|
+
|
|
4
|
+
-- 1. Sources table
|
|
5
|
+
CREATE TABLE IF NOT EXISTS sources (
|
|
6
|
+
id TEXT PRIMARY KEY,
|
|
7
|
+
type TEXT NOT NULL,
|
|
8
|
+
name TEXT NOT NULL,
|
|
9
|
+
uri TEXT,
|
|
10
|
+
last_fetched_at TEXT,
|
|
11
|
+
created_at TEXT NOT NULL,
|
|
12
|
+
updated_at TEXT NOT NULL,
|
|
13
|
+
trust_score REAL NOT NULL DEFAULT 1.0 CHECK (trust_score >= 0.0 AND trust_score <= 1.0),
|
|
14
|
+
metadata TEXT NOT NULL DEFAULT '{}'
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
CREATE INDEX IF NOT EXISTS idx_sources_type ON sources(type);
|
|
18
|
+
CREATE INDEX IF NOT EXISTS idx_sources_created_at ON sources(created_at);
|
|
19
|
+
|
|
20
|
+
-- 2. Claims table
|
|
21
|
+
CREATE TABLE IF NOT EXISTS claims (
|
|
22
|
+
id TEXT PRIMARY KEY,
|
|
23
|
+
source_id TEXT NOT NULL,
|
|
24
|
+
subject TEXT NOT NULL,
|
|
25
|
+
predicate TEXT NOT NULL,
|
|
26
|
+
value TEXT NOT NULL,
|
|
27
|
+
value_type TEXT NOT NULL,
|
|
28
|
+
normalized_value TEXT,
|
|
29
|
+
confidence REAL NOT NULL DEFAULT 1.0 CHECK (confidence >= 0.0 AND confidence <= 1.0),
|
|
30
|
+
observed_at TEXT NOT NULL,
|
|
31
|
+
created_at TEXT NOT NULL,
|
|
32
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
33
|
+
FOREIGN KEY (source_id) REFERENCES sources(id) ON DELETE CASCADE
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_claims_source_id ON claims(source_id);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS idx_claims_subject_predicate ON claims(subject, predicate);
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_claims_value_type ON claims(value_type);
|
|
39
|
+
CREATE INDEX IF NOT EXISTS idx_claims_created_at ON claims(created_at);
|
|
40
|
+
|
|
41
|
+
-- 3. Contradictions table
|
|
42
|
+
CREATE TABLE IF NOT EXISTS contradictions (
|
|
43
|
+
id TEXT PRIMARY KEY,
|
|
44
|
+
claim_a_id TEXT NOT NULL,
|
|
45
|
+
claim_b_id TEXT NOT NULL,
|
|
46
|
+
contradiction_type TEXT NOT NULL,
|
|
47
|
+
severity TEXT NOT NULL,
|
|
48
|
+
confidence REAL NOT NULL DEFAULT 1.0 CHECK (confidence >= 0.0 AND confidence <= 1.0),
|
|
49
|
+
explanation TEXT NOT NULL,
|
|
50
|
+
status TEXT NOT NULL DEFAULT 'OPEN',
|
|
51
|
+
detected_at TEXT NOT NULL,
|
|
52
|
+
resolved_at TEXT,
|
|
53
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
54
|
+
CHECK (claim_a_id != claim_b_id),
|
|
55
|
+
FOREIGN KEY (claim_a_id) REFERENCES claims(id) ON DELETE CASCADE,
|
|
56
|
+
FOREIGN KEY (claim_b_id) REFERENCES claims(id) ON DELETE CASCADE
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_claims ON contradictions(claim_a_id, claim_b_id);
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_type ON contradictions(contradiction_type);
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_severity ON contradictions(severity);
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_status ON contradictions(status);
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_detected_at ON contradictions(detected_at);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- Migration 002: Enforce unique contradiction per claim pair regardless of order (A-B == B-A)
|
|
2
|
+
|
|
3
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_contradictions_pair_unique ON contradictions (
|
|
4
|
+
CASE WHEN claim_a_id < claim_b_id THEN claim_a_id ELSE claim_b_id END,
|
|
5
|
+
CASE WHEN claim_a_id < claim_b_id THEN claim_b_id ELSE claim_a_id END
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_confidence ON contradictions(confidence);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- Migration 003: Add external_id to sources and claims for stable connector identity and deduplication
|
|
2
|
+
|
|
3
|
+
ALTER TABLE sources ADD COLUMN external_id TEXT;
|
|
4
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_sources_external_id ON sources(external_id);
|
|
5
|
+
|
|
6
|
+
ALTER TABLE claims ADD COLUMN external_id TEXT;
|
|
7
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_claims_external_id ON claims(external_id);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- Migration 004: Add contextual and temporal dimensions to claims table for false-positive reduction
|
|
2
|
+
|
|
3
|
+
ALTER TABLE claims ADD COLUMN environment TEXT DEFAULT 'unknown';
|
|
4
|
+
ALTER TABLE claims ADD COLUMN scope TEXT DEFAULT 'unknown';
|
|
5
|
+
ALTER TABLE claims ADD COLUMN source_role TEXT DEFAULT 'unknown';
|
|
6
|
+
ALTER TABLE claims ADD COLUMN is_historical INTEGER NOT NULL DEFAULT 0;
|
|
7
|
+
ALTER TABLE claims ADD COLUMN valid_from TEXT;
|
|
8
|
+
ALTER TABLE claims ADD COLUMN valid_until TEXT;
|
|
9
|
+
ALTER TABLE claims ADD COLUMN value_constraint TEXT;
|
|
10
|
+
ALTER TABLE claims ADD COLUMN multi_value_context TEXT;
|
|
11
|
+
|
|
12
|
+
CREATE INDEX IF NOT EXISTS idx_claims_environment ON claims(environment);
|
|
13
|
+
CREATE INDEX IF NOT EXISTS idx_claims_scope ON claims(scope);
|
|
14
|
+
CREATE INDEX IF NOT EXISTS idx_claims_source_role ON claims(source_role);
|
|
15
|
+
CREATE INDEX IF NOT EXISTS idx_claims_is_historical ON claims(is_historical);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- Migration 005: Add claim history and lifecycle tracking
|
|
2
|
+
PRAGMA foreign_keys = ON;
|
|
3
|
+
|
|
4
|
+
ALTER TABLE claims ADD COLUMN first_seen_at TEXT;
|
|
5
|
+
ALTER TABLE claims ADD COLUMN last_seen_at TEXT;
|
|
6
|
+
ALTER TABLE claims ADD COLUMN superseded_by TEXT;
|
|
7
|
+
|
|
8
|
+
CREATE TABLE IF NOT EXISTS claim_history (
|
|
9
|
+
id TEXT PRIMARY KEY,
|
|
10
|
+
claim_id TEXT NOT NULL,
|
|
11
|
+
source_id TEXT NOT NULL,
|
|
12
|
+
value TEXT NOT NULL,
|
|
13
|
+
normalized_value TEXT,
|
|
14
|
+
observed_at TEXT NOT NULL,
|
|
15
|
+
first_seen_at TEXT NOT NULL,
|
|
16
|
+
last_seen_at TEXT NOT NULL,
|
|
17
|
+
superseded_at TEXT,
|
|
18
|
+
superseded_by TEXT,
|
|
19
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
20
|
+
FOREIGN KEY (claim_id) REFERENCES claims(id) ON DELETE CASCADE,
|
|
21
|
+
FOREIGN KEY (source_id) REFERENCES sources(id) ON DELETE CASCADE
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_claim_history_claim_id ON claim_history(claim_id);
|
|
25
|
+
CREATE INDEX IF NOT EXISTS idx_claim_history_source_id ON claim_history(source_id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_claim_history_superseded_at ON claim_history(superseded_at);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-- Migration 006: Add contradiction resolution lifecycle and audit history
|
|
2
|
+
PRAGMA foreign_keys = ON;
|
|
3
|
+
|
|
4
|
+
ALTER TABLE contradictions ADD COLUMN resolution_reason TEXT;
|
|
5
|
+
ALTER TABLE contradictions ADD COLUMN resolved_by TEXT;
|
|
6
|
+
ALTER TABLE contradictions ADD COLUMN resolution_source TEXT;
|
|
7
|
+
ALTER TABLE contradictions ADD COLUMN chosen_claim_id TEXT;
|
|
8
|
+
ALTER TABLE contradictions ADD COLUMN audit_notes TEXT;
|
|
9
|
+
|
|
10
|
+
CREATE INDEX IF NOT EXISTS idx_contradictions_chosen_claim ON contradictions(chosen_claim_id);
|
|
11
|
+
|
|
12
|
+
CREATE TABLE IF NOT EXISTS contradiction_history (
|
|
13
|
+
id TEXT PRIMARY KEY,
|
|
14
|
+
contradiction_id TEXT NOT NULL,
|
|
15
|
+
action TEXT NOT NULL,
|
|
16
|
+
previous_status TEXT NOT NULL,
|
|
17
|
+
new_status TEXT NOT NULL,
|
|
18
|
+
performed_by TEXT NOT NULL,
|
|
19
|
+
performed_at TEXT NOT NULL,
|
|
20
|
+
reason TEXT,
|
|
21
|
+
chosen_claim_id TEXT,
|
|
22
|
+
notes TEXT,
|
|
23
|
+
FOREIGN KEY (contradiction_id) REFERENCES contradictions(id) ON DELETE CASCADE
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_contradiction_history_contradiction_id ON contradiction_history(contradiction_id);
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_contradiction_history_performed_at ON contradiction_history(performed_at);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
2
|
+
export interface LogEntry {
|
|
3
|
+
timestamp: string;
|
|
4
|
+
level: LogLevel;
|
|
5
|
+
message: string;
|
|
6
|
+
context?: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export declare class Logger {
|
|
9
|
+
private level;
|
|
10
|
+
constructor(level?: LogLevel);
|
|
11
|
+
setLevel(level: LogLevel): void;
|
|
12
|
+
getLevel(): LogLevel;
|
|
13
|
+
private shouldLog;
|
|
14
|
+
private write;
|
|
15
|
+
debug(message: string, context?: Record<string, unknown>): void;
|
|
16
|
+
info(message: string, context?: Record<string, unknown>): void;
|
|
17
|
+
warn(message: string, context?: Record<string, unknown>): void;
|
|
18
|
+
error(message: string, context?: Record<string, unknown>): void;
|
|
19
|
+
}
|
|
20
|
+
export declare const logger: Logger;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const LOG_LEVEL_PRIORITY = {
|
|
2
|
+
debug: 10,
|
|
3
|
+
info: 20,
|
|
4
|
+
warn: 30,
|
|
5
|
+
error: 40,
|
|
6
|
+
};
|
|
7
|
+
export class Logger {
|
|
8
|
+
level;
|
|
9
|
+
constructor(level = 'info') {
|
|
10
|
+
this.level = level;
|
|
11
|
+
}
|
|
12
|
+
setLevel(level) {
|
|
13
|
+
this.level = level;
|
|
14
|
+
}
|
|
15
|
+
getLevel() {
|
|
16
|
+
return this.level;
|
|
17
|
+
}
|
|
18
|
+
shouldLog(level) {
|
|
19
|
+
return LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[this.level];
|
|
20
|
+
}
|
|
21
|
+
write(level, message, context) {
|
|
22
|
+
if (!this.shouldLog(level)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const entry = {
|
|
26
|
+
timestamp: new Date().toISOString(),
|
|
27
|
+
level,
|
|
28
|
+
message,
|
|
29
|
+
...(context && Object.keys(context).length > 0 ? { context } : {}),
|
|
30
|
+
};
|
|
31
|
+
// ALWAYS write to stderr to prevent corrupting stdio transport in MCP
|
|
32
|
+
process.stderr.write(`${JSON.stringify(entry)}\n`);
|
|
33
|
+
}
|
|
34
|
+
debug(message, context) {
|
|
35
|
+
this.write('debug', message, context);
|
|
36
|
+
}
|
|
37
|
+
info(message, context) {
|
|
38
|
+
this.write('info', message, context);
|
|
39
|
+
}
|
|
40
|
+
warn(message, context) {
|
|
41
|
+
this.write('warn', message, context);
|
|
42
|
+
}
|
|
43
|
+
error(message, context) {
|
|
44
|
+
this.write('error', message, context);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const logger = new Logger(process.env.LOG_LEVEL || 'info');
|
|
48
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAA6B;IACnD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;CACV,CAAC;AASF,MAAM,OAAO,MAAM;IACT,KAAK,CAAW;IAExB,YAAY,QAAkB,MAAM;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,KAAe;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,KAAe,EAAE,OAAe,EAAE,OAAiC;QAC/E,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,OAAO;YACP,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;QAEF,sEAAsE;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAiC;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAiC;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAiC;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAiC;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAE,OAAO,CAAC,GAAG,CAAC,SAAsB,IAAI,MAAM,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "contradiction-mcp",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Production-quality MCP server for detecting conflicting and inconsistent information across connected sources",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"contradiction-mcp": "bin/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc -p tsconfig.build.json && mkdir -p dist/storage/migrations && cp src/storage/migrations/*.sql dist/storage/migrations/",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"dev": "tsx src/index.ts",
|
|
14
|
+
"typecheck": "tsc --noEmit",
|
|
15
|
+
"lint": "eslint .",
|
|
16
|
+
"format:check": "prettier --check .",
|
|
17
|
+
"format": "prettier --write .",
|
|
18
|
+
"test": "vitest run",
|
|
19
|
+
"test:coverage": "vitest run --coverage",
|
|
20
|
+
"seed": "tsx -e \"import { DatabaseManager } from './src/storage/database.js'; import { seedDemoData } from './src/scripts/seedDemoData.js'; const db = new DatabaseManager('./data/contradiction.db'); db.initialize(); seedDemoData(db); db.close();\"",
|
|
21
|
+
"smoke": "tsx src/scripts/liveMcpSmoke.ts",
|
|
22
|
+
"migrate": "tsx -e \"import { DatabaseManager } from './src/storage/database.js'; const db = new DatabaseManager('./data/contradiction.db'); db.initialize(); console.log('Migrations executed successfully'); db.close();\"",
|
|
23
|
+
"backup": "tsx -e \"import { DatabaseManager } from './src/storage/database.js'; import { BackupService } from './src/storage/backupService.js'; const db = new DatabaseManager('./data/contradiction.db'); db.initialize(); const b = new BackupService(db); b.createBackup('./backups').then(p => { console.log('Backup created:', p); db.close(); });\"",
|
|
24
|
+
"restore": "tsx -e \"import { DatabaseManager } from './src/storage/database.js'; import { BackupService } from './src/storage/backupService.js'; const db = new DatabaseManager('./data/contradiction.db'); const b = new BackupService(db); const latest = process.argv[2]; if (!latest) { console.error('Provide backup file path: npm run restore <path>'); process.exit(1); } b.restoreBackup(latest, './data/contradiction.db'); console.log('Restored successfully');\"",
|
|
25
|
+
"health": "tsx -e \"import { DatabaseManager } from './src/storage/database.js'; import { HealthService } from './src/services/healthService.js'; import { config } from './src/config/env.js'; const db = new DatabaseManager('./data/contradiction.db'); db.initialize(); const h = new HealthService(db, config); h.getHealth().then(r => { console.log(JSON.stringify(r, null, 2)); db.close(); });\"",
|
|
26
|
+
"live-test": "npm run smoke && vitest run tests/protocol/mcpStreamableHttp.test.ts",
|
|
27
|
+
"verify": "npm run build && tsx src/scripts/comprehensiveVerification.ts",
|
|
28
|
+
"demo": "npm run build && tsx src/scripts/finalLiveDemo.ts",
|
|
29
|
+
"security:check": "npm audit",
|
|
30
|
+
"install-mcp": "node scripts/install-mcp.js"
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"mcp",
|
|
34
|
+
"model-context-protocol",
|
|
35
|
+
"contradiction-detection",
|
|
36
|
+
"knowledge-consistency",
|
|
37
|
+
"ai-agent"
|
|
38
|
+
],
|
|
39
|
+
"author": "Contradiction MCP Team",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@modelcontextprotocol/client": "^2.0.0",
|
|
43
|
+
"@modelcontextprotocol/core": "^2.0.0",
|
|
44
|
+
"@modelcontextprotocol/node": "^2.0.0",
|
|
45
|
+
"@modelcontextprotocol/server": "^2.0.0",
|
|
46
|
+
"better-sqlite3": "^13.0.3",
|
|
47
|
+
"dotenv": "^17.4.2",
|
|
48
|
+
"pdf-parse": "^2.4.5",
|
|
49
|
+
"semver": "^7.8.5",
|
|
50
|
+
"zod": "^4.6.2"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@eslint/js": "^10.0.1",
|
|
54
|
+
"@types/better-sqlite3": "^9.6.0",
|
|
55
|
+
"@types/node": "^22.20.2",
|
|
56
|
+
"@types/pdf-parse": "^1.1.5",
|
|
57
|
+
"@types/semver": "^7.8.0",
|
|
58
|
+
"@vitest/coverage-v8": "^5.0.0",
|
|
59
|
+
"eslint": "^10.10.0",
|
|
60
|
+
"globals": "^17.12.0",
|
|
61
|
+
"prettier": "^3.9.6",
|
|
62
|
+
"tsx": "^4.23.13",
|
|
63
|
+
"typescript": "^6.0.3",
|
|
64
|
+
"typescript-eslint": "^8.70.0",
|
|
65
|
+
"vitest": "^5.0.0"
|
|
66
|
+
},
|
|
67
|
+
"files": [
|
|
68
|
+
"dist",
|
|
69
|
+
"bin",
|
|
70
|
+
"README.md",
|
|
71
|
+
"LICENSE"
|
|
72
|
+
]
|
|
73
|
+
}
|