shieldcortex 2.19.3 → 2.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -391
- package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/app/page/react-loadable-manifest.json +3 -3
- package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_25b1b286._.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
- package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/26118d592a545e00.js +3 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/6a6ccfb7834de00a.js +9 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/6b11a7d29e9abffd.js +1 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/ab13d81ce0e121f2.css +3 -0
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/cf05262adfab5818.js +1 -0
- package/dist/api/visualization-server.d.ts.map +1 -1
- package/dist/api/visualization-server.js +218 -3
- package/dist/api/visualization-server.js.map +1 -1
- package/dist/cli/doctor.d.ts +6 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +469 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/database/init.d.ts +8 -0
- package/dist/database/init.d.ts.map +1 -1
- package/dist/database/init.js +208 -4
- package/dist/database/init.js.map +1 -1
- package/dist/events/webhooks.d.ts +21 -0
- package/dist/events/webhooks.d.ts.map +1 -0
- package/dist/events/webhooks.js +61 -0
- package/dist/events/webhooks.js.map +1 -0
- package/dist/graph/backfill.d.ts +6 -2
- package/dist/graph/backfill.d.ts.map +1 -1
- package/dist/graph/backfill.js +32 -4
- package/dist/graph/backfill.js.map +1 -1
- package/dist/graph/extract.d.ts.map +1 -1
- package/dist/graph/extract.js +105 -37
- package/dist/graph/extract.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/memory/consolidate.d.ts +23 -0
- package/dist/memory/consolidate.d.ts.map +1 -1
- package/dist/memory/consolidate.js +239 -2
- package/dist/memory/consolidate.js.map +1 -1
- package/dist/memory/decay.d.ts.map +1 -1
- package/dist/memory/decay.js +9 -0
- package/dist/memory/decay.js.map +1 -1
- package/dist/memory/embedding-cache.d.ts +21 -0
- package/dist/memory/embedding-cache.d.ts.map +1 -0
- package/dist/memory/embedding-cache.js +92 -0
- package/dist/memory/embedding-cache.js.map +1 -0
- package/dist/memory/embedding.d.ts +37 -0
- package/dist/memory/embedding.d.ts.map +1 -0
- package/dist/memory/embedding.js +86 -0
- package/dist/memory/embedding.js.map +1 -0
- package/dist/memory/expiry.d.ts +26 -0
- package/dist/memory/expiry.d.ts.map +1 -0
- package/dist/memory/expiry.js +109 -0
- package/dist/memory/expiry.js.map +1 -0
- package/dist/memory/store.d.ts +14 -0
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +82 -0
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +1 -0
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/setup/hooks.d.ts +3 -0
- package/dist/setup/hooks.d.ts.map +1 -1
- package/dist/setup/hooks.js +76 -11
- package/dist/setup/hooks.js.map +1 -1
- package/dist/tools/recall.d.ts.map +1 -1
- package/dist/tools/recall.js +25 -1
- package/dist/tools/recall.js.map +1 -1
- package/dist/tools/remember.d.ts +2 -2
- package/package.json +1 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/7d04c140073d99aa.js +0 -9
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/94d1921c4f61a608.css +0 -3
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/a3989d0e6629bcf8.js +0 -3
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/cac330f9511d34e5.js +0 -1
- package/dashboard/.next/standalone/dashboard/.next/static/chunks/fc2dbf641aad1448.js +0 -1
- /package/dashboard/.next/standalone/dashboard/.next/static/{x5pEZRSDizF1dS-qqTezT → 3NPHem1lidYcerzR28Shs}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{x5pEZRSDizF1dS-qqTezT → 3NPHem1lidYcerzR28Shs}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/dashboard/.next/static/{x5pEZRSDizF1dS-qqTezT → 3NPHem1lidYcerzR28Shs}/_ssgManifest.js +0 -0
package/dist/database/init.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* Database initialization and connection management
|
|
3
3
|
*/
|
|
4
4
|
import Database from 'better-sqlite3';
|
|
5
|
-
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, unlinkSync } from 'fs';
|
|
5
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, unlinkSync, renameSync, copyFileSync } from 'fs';
|
|
6
6
|
import { dirname, join } from 'path';
|
|
7
7
|
import { homedir } from 'os';
|
|
8
8
|
import { fileURLToPath } from 'url';
|
|
9
|
+
import { execSync } from 'child_process';
|
|
9
10
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
11
|
const __dirname = dirname(__filename);
|
|
11
12
|
let db = null;
|
|
@@ -38,6 +39,99 @@ function getDefaultDbPath() {
|
|
|
38
39
|
// Fall back to legacy path for existing users
|
|
39
40
|
return legacyPath;
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Back up a corrupt database file with a timestamped name.
|
|
44
|
+
* Returns the backup path.
|
|
45
|
+
*/
|
|
46
|
+
function backupCorruptDatabase(dbPath) {
|
|
47
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
48
|
+
const backupPath = `${dbPath}.corrupt.${timestamp}`;
|
|
49
|
+
try {
|
|
50
|
+
renameSync(dbPath, backupPath);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// If rename fails (e.g. cross-device), try copy + delete
|
|
54
|
+
try {
|
|
55
|
+
copyFileSync(dbPath, backupPath);
|
|
56
|
+
unlinkSync(dbPath);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Last resort — just note the backup path
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Also back up WAL and SHM files if present
|
|
63
|
+
for (const suffix of ['-wal', '-shm']) {
|
|
64
|
+
const walPath = dbPath + suffix;
|
|
65
|
+
if (existsSync(walPath)) {
|
|
66
|
+
try {
|
|
67
|
+
renameSync(walPath, backupPath + suffix);
|
|
68
|
+
}
|
|
69
|
+
catch { /* best-effort */ }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return backupPath;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Attempt to recover a corrupt database by dumping and reimporting.
|
|
76
|
+
* Returns a new Database instance on success, or null on failure.
|
|
77
|
+
*/
|
|
78
|
+
function attemptDumpRecovery(dbPath) {
|
|
79
|
+
try {
|
|
80
|
+
// Use sqlite3 CLI to dump — it can often recover partial data
|
|
81
|
+
const dumpOutput = execSync(`sqlite3 "${dbPath}" .dump`, {
|
|
82
|
+
encoding: 'utf-8',
|
|
83
|
+
timeout: 30000,
|
|
84
|
+
maxBuffer: 100 * 1024 * 1024,
|
|
85
|
+
});
|
|
86
|
+
if (!dumpOutput || dumpOutput.trim().length === 0)
|
|
87
|
+
return null;
|
|
88
|
+
// Back up the corrupt file
|
|
89
|
+
const backupPath = backupCorruptDatabase(dbPath);
|
|
90
|
+
console.log(`[database] Backed up corrupt database to: ${backupPath}`);
|
|
91
|
+
// Create fresh database and import the dump
|
|
92
|
+
const freshDb = new Database(dbPath);
|
|
93
|
+
try {
|
|
94
|
+
freshDb.exec(dumpOutput);
|
|
95
|
+
console.log('[database] Successfully recovered data via dump/reimport.');
|
|
96
|
+
return freshDb;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Dump reimport failed — close and let caller handle fresh creation
|
|
100
|
+
freshDb.close();
|
|
101
|
+
if (existsSync(dbPath)) {
|
|
102
|
+
try {
|
|
103
|
+
unlinkSync(dbPath);
|
|
104
|
+
}
|
|
105
|
+
catch { /* best-effort */ }
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// sqlite3 CLI not available or dump failed
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Run integrity check on an open database.
|
|
117
|
+
* Returns 'ok' if healthy, or the error message if corrupt.
|
|
118
|
+
*/
|
|
119
|
+
function runIntegrityCheck(database) {
|
|
120
|
+
try {
|
|
121
|
+
// Quick check first (checks first page only)
|
|
122
|
+
const quickResult = database.pragma('integrity_check(1)');
|
|
123
|
+
const quickStatus = quickResult?.[0]?.integrity_check || 'ok';
|
|
124
|
+
if (quickStatus !== 'ok') {
|
|
125
|
+
return quickStatus;
|
|
126
|
+
}
|
|
127
|
+
// Full check
|
|
128
|
+
const fullResult = database.pragma('integrity_check');
|
|
129
|
+
return fullResult?.[0]?.integrity_check || 'ok';
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
return `integrity check threw: ${e}`;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
41
135
|
/**
|
|
42
136
|
* Initialize the database connection
|
|
43
137
|
*/
|
|
@@ -55,8 +149,43 @@ export function initDatabase(dbPath) {
|
|
|
55
149
|
}
|
|
56
150
|
// Store path for size monitoring
|
|
57
151
|
currentDbPath = expandedPath;
|
|
58
|
-
//
|
|
59
|
-
|
|
152
|
+
// Wrap the initial open in try/catch to handle corrupt files gracefully
|
|
153
|
+
let database;
|
|
154
|
+
try {
|
|
155
|
+
database = new Database(expandedPath);
|
|
156
|
+
}
|
|
157
|
+
catch (openError) {
|
|
158
|
+
// Database file is corrupt or not a valid SQLite database
|
|
159
|
+
console.error('❌ Database file is corrupt or not a valid SQLite database.');
|
|
160
|
+
const backupPath = backupCorruptDatabase(expandedPath);
|
|
161
|
+
console.error(` Backed up to ${backupPath}`);
|
|
162
|
+
console.error(' Creating fresh database...');
|
|
163
|
+
database = new Database(expandedPath);
|
|
164
|
+
}
|
|
165
|
+
// Integrity check on existing databases (skip for newly created files)
|
|
166
|
+
if (existsSync(expandedPath) && statSync(expandedPath).size > 0) {
|
|
167
|
+
const integrityResult = runIntegrityCheck(database);
|
|
168
|
+
if (integrityResult !== 'ok') {
|
|
169
|
+
console.warn(`[database] WARNING: Database integrity check failed: ${integrityResult}`);
|
|
170
|
+
// Close the corrupt connection before attempting recovery
|
|
171
|
+
database.close();
|
|
172
|
+
// Attempt dump/reimport recovery
|
|
173
|
+
const recovered = attemptDumpRecovery(expandedPath);
|
|
174
|
+
if (recovered) {
|
|
175
|
+
database = recovered;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
// Recovery failed — backup and create fresh
|
|
179
|
+
if (existsSync(expandedPath)) {
|
|
180
|
+
const backupPath = backupCorruptDatabase(expandedPath);
|
|
181
|
+
console.error(`[database] Recovery failed. Backed up corrupt file to: ${backupPath}`);
|
|
182
|
+
}
|
|
183
|
+
console.error('[database] Creating fresh database...');
|
|
184
|
+
database = new Database(expandedPath);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
db = database;
|
|
60
189
|
// Enable WAL mode for better concurrency
|
|
61
190
|
db.pragma('journal_mode = WAL');
|
|
62
191
|
db.pragma('synchronous = NORMAL');
|
|
@@ -300,6 +429,10 @@ function runMigrations(database) {
|
|
|
300
429
|
catch {
|
|
301
430
|
// Tables may already exist - safe to ignore
|
|
302
431
|
}
|
|
432
|
+
// Migration: graph_extraction_version column for incremental graph backfill
|
|
433
|
+
if (!columnNames.has('graph_extraction_version')) {
|
|
434
|
+
database.exec('ALTER TABLE memories ADD COLUMN graph_extraction_version INTEGER DEFAULT 0');
|
|
435
|
+
}
|
|
303
436
|
// Migration: Pro feature tables (custom_patterns, iron_dome_policies, firewall_rules)
|
|
304
437
|
try {
|
|
305
438
|
database.exec(`
|
|
@@ -387,6 +520,76 @@ export function closeDatabase() {
|
|
|
387
520
|
}
|
|
388
521
|
}
|
|
389
522
|
}
|
|
523
|
+
/**
|
|
524
|
+
* Repair or verify database health.
|
|
525
|
+
* Intended for `shieldcortex doctor` CLI command.
|
|
526
|
+
*/
|
|
527
|
+
export function repairDatabase() {
|
|
528
|
+
const database = getDatabase();
|
|
529
|
+
// Step 1: Integrity check
|
|
530
|
+
const integrityResult = runIntegrityCheck(database);
|
|
531
|
+
if (integrityResult === 'ok') {
|
|
532
|
+
return { status: 'ok', message: 'Database is healthy' };
|
|
533
|
+
}
|
|
534
|
+
console.warn(`[database] Integrity check failed: ${integrityResult}`);
|
|
535
|
+
console.warn('[database] Attempting repair via VACUUM and REINDEX...');
|
|
536
|
+
// Step 2: Try VACUUM + REINDEX
|
|
537
|
+
try {
|
|
538
|
+
database.exec('REINDEX');
|
|
539
|
+
database.exec('VACUUM');
|
|
540
|
+
// Re-check after repair attempt
|
|
541
|
+
const recheckResult = runIntegrityCheck(database);
|
|
542
|
+
if (recheckResult === 'ok') {
|
|
543
|
+
return { status: 'repaired', message: 'Database repaired successfully via VACUUM/REINDEX' };
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
catch (e) {
|
|
547
|
+
console.warn(`[database] VACUUM/REINDEX failed: ${e}`);
|
|
548
|
+
}
|
|
549
|
+
// Step 3: Still corrupt — backup and recreate
|
|
550
|
+
if (!currentDbPath) {
|
|
551
|
+
return { status: 'recreated', message: 'Database path unknown — cannot backup. Please reinitialise.' };
|
|
552
|
+
}
|
|
553
|
+
// Close current connection
|
|
554
|
+
try {
|
|
555
|
+
database.close();
|
|
556
|
+
}
|
|
557
|
+
catch { /* best-effort */ }
|
|
558
|
+
db = null;
|
|
559
|
+
// Attempt dump recovery first
|
|
560
|
+
const recovered = attemptDumpRecovery(currentDbPath);
|
|
561
|
+
if (recovered) {
|
|
562
|
+
db = recovered;
|
|
563
|
+
// Re-apply pragmas
|
|
564
|
+
db.pragma('journal_mode = WAL');
|
|
565
|
+
db.pragma('synchronous = NORMAL');
|
|
566
|
+
db.pragma('foreign_keys = ON');
|
|
567
|
+
db.pragma('busy_timeout = 10000');
|
|
568
|
+
db.pragma('wal_autocheckpoint = 100');
|
|
569
|
+
return { status: 'repaired', message: 'Database recovered via dump/reimport. Some data may have been lost.' };
|
|
570
|
+
}
|
|
571
|
+
// Full recreation
|
|
572
|
+
const backupPath = backupCorruptDatabase(currentDbPath);
|
|
573
|
+
db = new Database(currentDbPath);
|
|
574
|
+
db.pragma('journal_mode = WAL');
|
|
575
|
+
db.pragma('synchronous = NORMAL');
|
|
576
|
+
db.pragma('foreign_keys = ON');
|
|
577
|
+
db.pragma('busy_timeout = 10000');
|
|
578
|
+
db.pragma('wal_autocheckpoint = 100');
|
|
579
|
+
// Re-apply schema
|
|
580
|
+
const schemaPath = join(__dirname, 'schema.sql');
|
|
581
|
+
if (existsSync(schemaPath)) {
|
|
582
|
+
const schema = readFileSync(schemaPath, 'utf-8');
|
|
583
|
+
db.exec(schema);
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
db.exec(getInlineSchema());
|
|
587
|
+
}
|
|
588
|
+
return {
|
|
589
|
+
status: 'recreated',
|
|
590
|
+
message: `Database was unrecoverable. Corrupt file backed up to ${backupPath}. Fresh database created.`,
|
|
591
|
+
};
|
|
592
|
+
}
|
|
390
593
|
/**
|
|
391
594
|
* Register handlers for graceful shutdown
|
|
392
595
|
*/
|
|
@@ -481,7 +684,8 @@ function getInlineSchema() {
|
|
|
481
684
|
transferable INTEGER DEFAULT 0,
|
|
482
685
|
trust_score REAL DEFAULT 1.0,
|
|
483
686
|
sensitivity_level TEXT DEFAULT 'INTERNAL',
|
|
484
|
-
source TEXT DEFAULT 'user:direct'
|
|
687
|
+
source TEXT DEFAULT 'user:direct',
|
|
688
|
+
graph_extraction_version INTEGER DEFAULT 0
|
|
485
689
|
);
|
|
486
690
|
|
|
487
691
|
CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/database/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/database/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook dispatcher — sends POST notifications on memory events.
|
|
3
|
+
* Config stored in ~/.shieldcortex/config.json under "webhooks" key.
|
|
4
|
+
*/
|
|
5
|
+
export interface WebhookConfig {
|
|
6
|
+
url: string;
|
|
7
|
+
events: string[];
|
|
8
|
+
secret?: string;
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Load webhook configurations from ~/.shieldcortex/config.json.
|
|
13
|
+
* Returns an empty array if missing or malformed.
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadWebhooks(): WebhookConfig[];
|
|
16
|
+
/**
|
|
17
|
+
* Dispatch a webhook event to all matching, enabled webhooks.
|
|
18
|
+
* Fire-and-forget — never throws, never blocks.
|
|
19
|
+
*/
|
|
20
|
+
export declare function dispatchWebhook(event: string, payload: Record<string, unknown>): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/events/webhooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAU9C;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCpG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook dispatcher — sends POST notifications on memory events.
|
|
3
|
+
* Config stored in ~/.shieldcortex/config.json under "webhooks" key.
|
|
4
|
+
*/
|
|
5
|
+
import { readRawConfig } from '../cloud/config.js';
|
|
6
|
+
import { createHmac } from 'crypto';
|
|
7
|
+
/**
|
|
8
|
+
* Load webhook configurations from ~/.shieldcortex/config.json.
|
|
9
|
+
* Returns an empty array if missing or malformed.
|
|
10
|
+
*/
|
|
11
|
+
export function loadWebhooks() {
|
|
12
|
+
try {
|
|
13
|
+
const raw = readRawConfig();
|
|
14
|
+
if (!Array.isArray(raw.webhooks))
|
|
15
|
+
return [];
|
|
16
|
+
return raw.webhooks.filter((w) => w && typeof w.url === 'string' && Array.isArray(w.events) && typeof w.enabled === 'boolean');
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Dispatch a webhook event to all matching, enabled webhooks.
|
|
24
|
+
* Fire-and-forget — never throws, never blocks.
|
|
25
|
+
*/
|
|
26
|
+
export async function dispatchWebhook(event, payload) {
|
|
27
|
+
try {
|
|
28
|
+
const webhooks = loadWebhooks();
|
|
29
|
+
const matching = webhooks.filter((w) => w.enabled && w.events.includes(event));
|
|
30
|
+
if (matching.length === 0)
|
|
31
|
+
return;
|
|
32
|
+
const body = JSON.stringify({ event, payload, timestamp: new Date().toISOString() });
|
|
33
|
+
const timestamp = new Date().toISOString();
|
|
34
|
+
for (const webhook of matching) {
|
|
35
|
+
const headers = {
|
|
36
|
+
'Content-Type': 'application/json',
|
|
37
|
+
'X-ShieldCortex-Event': event,
|
|
38
|
+
'X-ShieldCortex-Timestamp': timestamp,
|
|
39
|
+
};
|
|
40
|
+
if (webhook.secret) {
|
|
41
|
+
const signature = createHmac('sha256', webhook.secret).update(body).digest('hex');
|
|
42
|
+
headers['X-ShieldCortex-Signature'] = signature;
|
|
43
|
+
}
|
|
44
|
+
// Fire-and-forget with 5-second timeout
|
|
45
|
+
const controller = new AbortController();
|
|
46
|
+
const timeoutId = setTimeout(() => controller.abort(), 5000);
|
|
47
|
+
fetch(webhook.url, {
|
|
48
|
+
method: 'POST',
|
|
49
|
+
headers,
|
|
50
|
+
body,
|
|
51
|
+
signal: controller.signal,
|
|
52
|
+
})
|
|
53
|
+
.catch(() => { })
|
|
54
|
+
.finally(() => clearTimeout(timeoutId));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Never throw — all errors are silently caught
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/events/webhooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AASpC;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5C,OAAQ,GAAG,CAAC,QAA4B,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CACnG,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,OAAgC;IACnF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,sBAAsB,EAAE,KAAK;gBAC7B,0BAA0B,EAAE,SAAS;aACtC,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,OAAO,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAC;YAClD,CAAC;YAED,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAE7D,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI;gBACJ,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC;iBACC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;iBACf,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC"}
|
package/dist/graph/backfill.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface BackfillResult {
|
|
2
2
|
entities: number;
|
|
3
3
|
triples: number;
|
|
4
4
|
memoriesProcessed: number;
|
|
5
|
-
|
|
5
|
+
memoriesSkipped: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function backfillGraph(options?: {
|
|
8
|
+
force?: boolean;
|
|
9
|
+
}): BackfillResult;
|
|
6
10
|
//# sourceMappingURL=backfill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/graph/backfill.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/graph/backfill.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,cAAc,CAoE3E"}
|
package/dist/graph/backfill.js
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
import { getDatabase } from '../database/init.js';
|
|
2
2
|
import { extractFromMemory } from './extract.js';
|
|
3
3
|
import { processExtractionResult } from './resolve.js';
|
|
4
|
-
|
|
4
|
+
/** Bump this when extract.ts logic changes to force re-extraction */
|
|
5
|
+
const EXTRACTION_VERSION = 2;
|
|
6
|
+
export function backfillGraph(options) {
|
|
5
7
|
const db = getDatabase();
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
let
|
|
8
|
+
const force = options?.force ?? false;
|
|
9
|
+
// Check whether the graph_extraction_version column exists
|
|
10
|
+
let hasVersionColumn = true;
|
|
11
|
+
try {
|
|
12
|
+
const cols = db.prepare('PRAGMA table_info(memories)').all();
|
|
13
|
+
hasVersionColumn = cols.some(c => c.name === 'graph_extraction_version');
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
hasVersionColumn = false;
|
|
17
|
+
}
|
|
18
|
+
// If no version column or force mode, fall back to processing all memories
|
|
19
|
+
const useIncremental = hasVersionColumn && !force;
|
|
20
|
+
const memories = useIncremental
|
|
21
|
+
? db.prepare('SELECT id, title, content, category FROM memories WHERE graph_extraction_version < ? ORDER BY id').all(EXTRACTION_VERSION)
|
|
22
|
+
: db.prepare('SELECT id, title, content, category FROM memories ORDER BY id').all();
|
|
23
|
+
// Count total memories to report how many were skipped
|
|
24
|
+
const totalMemories = db.prepare('SELECT COUNT(*) as c FROM memories').get().c;
|
|
25
|
+
const memoriesSkipped = totalMemories - memories.length;
|
|
26
|
+
const entitiesBefore = db.prepare('SELECT COUNT(*) as c FROM entities').get().c;
|
|
27
|
+
const triplesBefore = db.prepare('SELECT COUNT(*) as c FROM triples').get().c;
|
|
28
|
+
const updateVersion = hasVersionColumn
|
|
29
|
+
? db.prepare('UPDATE memories SET graph_extraction_version = ? WHERE id = ?')
|
|
30
|
+
: null;
|
|
9
31
|
let processed = 0;
|
|
10
32
|
for (const mem of memories) {
|
|
11
33
|
try {
|
|
@@ -13,6 +35,10 @@ export function backfillGraph() {
|
|
|
13
35
|
if (extraction.entities.length > 0) {
|
|
14
36
|
processExtractionResult(extraction, mem.id);
|
|
15
37
|
}
|
|
38
|
+
// Mark this memory as extracted at the current version
|
|
39
|
+
if (updateVersion) {
|
|
40
|
+
updateVersion.run(EXTRACTION_VERSION, mem.id);
|
|
41
|
+
}
|
|
16
42
|
}
|
|
17
43
|
catch (e) {
|
|
18
44
|
console.error(`[backfill] Failed on memory #${mem.id}: ${e}`);
|
|
@@ -24,10 +50,12 @@ export function backfillGraph() {
|
|
|
24
50
|
}
|
|
25
51
|
const entitiesAfter = db.prepare('SELECT COUNT(*) as c FROM entities').get().c;
|
|
26
52
|
const triplesAfter = db.prepare('SELECT COUNT(*) as c FROM triples').get().c;
|
|
53
|
+
console.log(`[backfill] Incremental extraction: processed ${processed} new memories, ${memoriesSkipped} already up-to-date`);
|
|
27
54
|
return {
|
|
28
55
|
entities: entitiesAfter - entitiesBefore,
|
|
29
56
|
triples: triplesAfter - triplesBefore,
|
|
30
57
|
memoriesProcessed: processed,
|
|
58
|
+
memoriesSkipped,
|
|
31
59
|
};
|
|
32
60
|
}
|
|
33
61
|
//# sourceMappingURL=backfill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/graph/backfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,aAAa;
|
|
1
|
+
{"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/graph/backfill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/graph/extract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAErG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAoED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/graph/extract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAErG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAoED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAiPpG"}
|