@hasna/mementos 0.7.0 → 0.8.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/cli/index.js +1358 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/synthesis.d.ts +101 -0
- package/dist/db/synthesis.d.ts.map +1 -0
- package/dist/index.js +69 -0
- package/dist/lib/built-in-hooks.d.ts.map +1 -1
- package/dist/lib/synthesis/corpus-builder.d.ts +30 -0
- package/dist/lib/synthesis/corpus-builder.d.ts.map +1 -0
- package/dist/lib/synthesis/executor.d.ts +14 -0
- package/dist/lib/synthesis/executor.d.ts.map +1 -0
- package/dist/lib/synthesis/index.d.ts +37 -0
- package/dist/lib/synthesis/index.d.ts.map +1 -0
- package/dist/lib/synthesis/llm-analyzer.d.ts +18 -0
- package/dist/lib/synthesis/llm-analyzer.d.ts.map +1 -0
- package/dist/lib/synthesis/metrics.d.ts +13 -0
- package/dist/lib/synthesis/metrics.d.ts.map +1 -0
- package/dist/lib/synthesis/scheduler.d.ts +18 -0
- package/dist/lib/synthesis/scheduler.d.ts.map +1 -0
- package/dist/lib/synthesis/validator.d.ts +19 -0
- package/dist/lib/synthesis/validator.d.ts.map +1 -0
- package/dist/mcp/index.js +1348 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1320 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmCtC,wBAAgB,SAAS,IAAI,MAAM,CAkBlC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmCtC,wBAAgB,SAAS,IAAI,MAAM,CAkBlC;AA4WD,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAerD;AA+BD,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAef"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
export interface SynthesisRun {
|
|
3
|
+
id: string;
|
|
4
|
+
triggered_by: "scheduler" | "manual" | "threshold" | "hook";
|
|
5
|
+
project_id: string | null;
|
|
6
|
+
agent_id: string | null;
|
|
7
|
+
corpus_size: number;
|
|
8
|
+
proposals_generated: number;
|
|
9
|
+
proposals_accepted: number;
|
|
10
|
+
proposals_rejected: number;
|
|
11
|
+
status: "pending" | "running" | "completed" | "failed" | "rolled_back";
|
|
12
|
+
error: string | null;
|
|
13
|
+
started_at: string;
|
|
14
|
+
completed_at: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface SynthesisProposal {
|
|
17
|
+
id: string;
|
|
18
|
+
run_id: string;
|
|
19
|
+
proposal_type: "merge" | "archive" | "promote" | "update_value" | "add_tag" | "remove_duplicate";
|
|
20
|
+
memory_ids: string[];
|
|
21
|
+
target_memory_id: string | null;
|
|
22
|
+
proposed_changes: Record<string, unknown>;
|
|
23
|
+
reasoning: string | null;
|
|
24
|
+
confidence: number;
|
|
25
|
+
status: "pending" | "accepted" | "rejected" | "rolled_back";
|
|
26
|
+
created_at: string;
|
|
27
|
+
executed_at: string | null;
|
|
28
|
+
rollback_data: Record<string, unknown> | null;
|
|
29
|
+
}
|
|
30
|
+
export interface SynthesisMetric {
|
|
31
|
+
id: string;
|
|
32
|
+
run_id: string;
|
|
33
|
+
metric_type: string;
|
|
34
|
+
value: number;
|
|
35
|
+
baseline: number | null;
|
|
36
|
+
created_at: string;
|
|
37
|
+
}
|
|
38
|
+
export interface SynthesisEvent {
|
|
39
|
+
id: string;
|
|
40
|
+
event_type: "recalled" | "searched" | "saved" | "updated" | "deleted" | "injected";
|
|
41
|
+
memory_id: string | null;
|
|
42
|
+
agent_id: string | null;
|
|
43
|
+
project_id: string | null;
|
|
44
|
+
session_id: string | null;
|
|
45
|
+
query: string | null;
|
|
46
|
+
importance_at_time: number | null;
|
|
47
|
+
metadata: Record<string, unknown>;
|
|
48
|
+
created_at: string;
|
|
49
|
+
}
|
|
50
|
+
export declare function createSynthesisRun(input: {
|
|
51
|
+
triggered_by: SynthesisRun["triggered_by"];
|
|
52
|
+
project_id?: string | null;
|
|
53
|
+
agent_id?: string | null;
|
|
54
|
+
corpus_size?: number;
|
|
55
|
+
}, db?: Database): SynthesisRun;
|
|
56
|
+
export declare function getSynthesisRun(id: string, db?: Database): SynthesisRun | null;
|
|
57
|
+
export declare function listSynthesisRuns(filter: {
|
|
58
|
+
project_id?: string | null;
|
|
59
|
+
status?: SynthesisRun["status"];
|
|
60
|
+
limit?: number;
|
|
61
|
+
}, db?: Database): SynthesisRun[];
|
|
62
|
+
export declare function updateSynthesisRun(id: string, updates: Partial<Pick<SynthesisRun, "status" | "error" | "corpus_size" | "proposals_generated" | "proposals_accepted" | "proposals_rejected" | "completed_at">>, db?: Database): SynthesisRun;
|
|
63
|
+
export declare function createProposal(input: {
|
|
64
|
+
run_id: string;
|
|
65
|
+
proposal_type: SynthesisProposal["proposal_type"];
|
|
66
|
+
memory_ids: string[];
|
|
67
|
+
target_memory_id?: string | null;
|
|
68
|
+
proposed_changes: Record<string, unknown>;
|
|
69
|
+
reasoning?: string | null;
|
|
70
|
+
confidence: number;
|
|
71
|
+
}, db?: Database): SynthesisProposal;
|
|
72
|
+
export declare function getProposal(id: string, db?: Database): SynthesisProposal | null;
|
|
73
|
+
export declare function listProposals(run_id: string, filter?: {
|
|
74
|
+
status?: SynthesisProposal["status"];
|
|
75
|
+
}, db?: Database): SynthesisProposal[];
|
|
76
|
+
export declare function updateProposal(id: string, updates: Partial<Pick<SynthesisProposal, "status" | "executed_at" | "rollback_data">>, db?: Database): SynthesisProposal;
|
|
77
|
+
export declare function createMetric(input: {
|
|
78
|
+
run_id: string;
|
|
79
|
+
metric_type: string;
|
|
80
|
+
value: number;
|
|
81
|
+
baseline?: number | null;
|
|
82
|
+
}, db?: Database): SynthesisMetric;
|
|
83
|
+
export declare function listMetrics(run_id: string, db?: Database): SynthesisMetric[];
|
|
84
|
+
export declare function recordSynthesisEvent(input: {
|
|
85
|
+
event_type: SynthesisEvent["event_type"];
|
|
86
|
+
memory_id?: string | null;
|
|
87
|
+
agent_id?: string | null;
|
|
88
|
+
project_id?: string | null;
|
|
89
|
+
session_id?: string | null;
|
|
90
|
+
query?: string | null;
|
|
91
|
+
importance_at_time?: number | null;
|
|
92
|
+
metadata?: Record<string, unknown>;
|
|
93
|
+
}, db?: Database): void;
|
|
94
|
+
export declare function listSynthesisEvents(filter: {
|
|
95
|
+
memory_id?: string;
|
|
96
|
+
project_id?: string;
|
|
97
|
+
event_type?: SynthesisEvent["event_type"];
|
|
98
|
+
since?: string;
|
|
99
|
+
limit?: number;
|
|
100
|
+
}, db?: Database): SynthesisEvent[];
|
|
101
|
+
//# sourceMappingURL=synthesis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"synthesis.d.ts","sourceRoot":"","sources":["../../src/db/synthesis.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -348,6 +348,75 @@ var MIGRATIONS = [
|
|
|
348
348
|
INSERT OR IGNORE INTO _migrations (id) VALUES (9);
|
|
349
349
|
`,
|
|
350
350
|
`
|
|
351
|
+
CREATE TABLE IF NOT EXISTS synthesis_events (
|
|
352
|
+
id TEXT PRIMARY KEY,
|
|
353
|
+
event_type TEXT NOT NULL CHECK(event_type IN ('recalled','searched','saved','updated','deleted','injected')),
|
|
354
|
+
memory_id TEXT,
|
|
355
|
+
agent_id TEXT,
|
|
356
|
+
project_id TEXT,
|
|
357
|
+
session_id TEXT,
|
|
358
|
+
query TEXT,
|
|
359
|
+
importance_at_time INTEGER,
|
|
360
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
361
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
362
|
+
);
|
|
363
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_events_memory ON synthesis_events(memory_id);
|
|
364
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_events_project ON synthesis_events(project_id);
|
|
365
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_events_type ON synthesis_events(event_type);
|
|
366
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_events_created ON synthesis_events(created_at);
|
|
367
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (11);
|
|
368
|
+
`,
|
|
369
|
+
`
|
|
370
|
+
CREATE TABLE IF NOT EXISTS synthesis_runs (
|
|
371
|
+
id TEXT PRIMARY KEY,
|
|
372
|
+
triggered_by TEXT NOT NULL DEFAULT 'manual' CHECK(triggered_by IN ('scheduler','manual','threshold','hook')),
|
|
373
|
+
project_id TEXT,
|
|
374
|
+
agent_id TEXT,
|
|
375
|
+
corpus_size INTEGER NOT NULL DEFAULT 0,
|
|
376
|
+
proposals_generated INTEGER NOT NULL DEFAULT 0,
|
|
377
|
+
proposals_accepted INTEGER NOT NULL DEFAULT 0,
|
|
378
|
+
proposals_rejected INTEGER NOT NULL DEFAULT 0,
|
|
379
|
+
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','running','completed','failed','rolled_back')),
|
|
380
|
+
error TEXT,
|
|
381
|
+
started_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
382
|
+
completed_at TEXT
|
|
383
|
+
);
|
|
384
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_runs_project ON synthesis_runs(project_id);
|
|
385
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_runs_status ON synthesis_runs(status);
|
|
386
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_runs_started ON synthesis_runs(started_at);
|
|
387
|
+
|
|
388
|
+
CREATE TABLE IF NOT EXISTS synthesis_proposals (
|
|
389
|
+
id TEXT PRIMARY KEY,
|
|
390
|
+
run_id TEXT NOT NULL REFERENCES synthesis_runs(id) ON DELETE CASCADE,
|
|
391
|
+
proposal_type TEXT NOT NULL CHECK(proposal_type IN ('merge','archive','promote','update_value','add_tag','remove_duplicate')),
|
|
392
|
+
memory_ids TEXT NOT NULL DEFAULT '[]',
|
|
393
|
+
target_memory_id TEXT,
|
|
394
|
+
proposed_changes TEXT NOT NULL DEFAULT '{}',
|
|
395
|
+
reasoning TEXT,
|
|
396
|
+
confidence REAL NOT NULL DEFAULT 0.5,
|
|
397
|
+
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','accepted','rejected','rolled_back')),
|
|
398
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
399
|
+
executed_at TEXT,
|
|
400
|
+
rollback_data TEXT
|
|
401
|
+
);
|
|
402
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_proposals_run ON synthesis_proposals(run_id);
|
|
403
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_proposals_status ON synthesis_proposals(status);
|
|
404
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_proposals_type ON synthesis_proposals(proposal_type);
|
|
405
|
+
|
|
406
|
+
CREATE TABLE IF NOT EXISTS synthesis_metrics (
|
|
407
|
+
id TEXT PRIMARY KEY,
|
|
408
|
+
run_id TEXT NOT NULL REFERENCES synthesis_runs(id) ON DELETE CASCADE,
|
|
409
|
+
metric_type TEXT NOT NULL,
|
|
410
|
+
value REAL NOT NULL,
|
|
411
|
+
baseline REAL,
|
|
412
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
413
|
+
);
|
|
414
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_metrics_run ON synthesis_metrics(run_id);
|
|
415
|
+
CREATE INDEX IF NOT EXISTS idx_synthesis_metrics_type ON synthesis_metrics(metric_type);
|
|
416
|
+
|
|
417
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (12);
|
|
418
|
+
`,
|
|
419
|
+
`
|
|
351
420
|
CREATE TABLE IF NOT EXISTS webhook_hooks (
|
|
352
421
|
id TEXT PRIMARY KEY,
|
|
353
422
|
type TEXT NOT NULL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/built-in-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"built-in-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/built-in-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAwHlD,wBAAgB,kBAAkB,IAAI,IAAI,CAyBzC;AAuBD,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAGD,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import type { Memory } from "../../types/index.js";
|
|
3
|
+
export interface MemoryCorpusItem {
|
|
4
|
+
memory: Memory;
|
|
5
|
+
recallCount: number;
|
|
6
|
+
lastRecalled: string | null;
|
|
7
|
+
searchHits: number;
|
|
8
|
+
similarMemoryIds: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface AnalysisCorpus {
|
|
11
|
+
projectId: string | null;
|
|
12
|
+
totalMemories: number;
|
|
13
|
+
items: MemoryCorpusItem[];
|
|
14
|
+
staleMemories: Memory[];
|
|
15
|
+
duplicateCandidates: Array<{
|
|
16
|
+
a: Memory;
|
|
17
|
+
b: Memory;
|
|
18
|
+
similarity: number;
|
|
19
|
+
}>;
|
|
20
|
+
lowImportanceHighRecall: Memory[];
|
|
21
|
+
highImportanceLowRecall: Memory[];
|
|
22
|
+
generatedAt: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function buildCorpus(options: {
|
|
25
|
+
projectId?: string;
|
|
26
|
+
agentId?: string;
|
|
27
|
+
limit?: number;
|
|
28
|
+
db?: Database;
|
|
29
|
+
}): Promise<AnalysisCorpus>;
|
|
30
|
+
//# sourceMappingURL=corpus-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corpus-builder.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/corpus-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAyDD,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf,GAAG,OAAO,CAAC,cAAc,CAAC,CAyH1B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import { type SynthesisProposal } from "../../db/synthesis.js";
|
|
3
|
+
export interface ExecutionResult {
|
|
4
|
+
runId: string;
|
|
5
|
+
executed: number;
|
|
6
|
+
failed: number;
|
|
7
|
+
rollbackData: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export declare function executeProposals(runId: string, proposals: SynthesisProposal[], db?: Database): Promise<ExecutionResult>;
|
|
10
|
+
export declare function rollbackRun(runId: string, db?: Database): Promise<{
|
|
11
|
+
rolled_back: number;
|
|
12
|
+
errors: string[];
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAMD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,iBAAiB,EAAE,EAC9B,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,eAAe,CAAC,CAsC1B;AAgND,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAmBpD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import { type SynthesisProposal, type SynthesisRun } from "../../db/synthesis.js";
|
|
3
|
+
import { type SafetyConfig } from "./validator.js";
|
|
4
|
+
import { type EffectivenessReport } from "./metrics.js";
|
|
5
|
+
export type { SafetyConfig } from "./validator.js";
|
|
6
|
+
export type { EffectivenessReport } from "./metrics.js";
|
|
7
|
+
export type { AnalysisCorpus, MemoryCorpusItem } from "./corpus-builder.js";
|
|
8
|
+
export type { SynthesisAnalysisResult } from "./llm-analyzer.js";
|
|
9
|
+
export type { ValidationResult, SafetyConfig as SafetyConfigType } from "./validator.js";
|
|
10
|
+
export type { ExecutionResult } from "./executor.js";
|
|
11
|
+
export type { SchedulerConfig, SchedulerState } from "./scheduler.js";
|
|
12
|
+
export interface SynthesisOptions {
|
|
13
|
+
projectId?: string;
|
|
14
|
+
agentId?: string;
|
|
15
|
+
provider?: string;
|
|
16
|
+
maxProposals?: number;
|
|
17
|
+
dryRun?: boolean;
|
|
18
|
+
safetyConfig?: Partial<SafetyConfig>;
|
|
19
|
+
db?: Database;
|
|
20
|
+
}
|
|
21
|
+
export interface SynthesisResult {
|
|
22
|
+
run: SynthesisRun;
|
|
23
|
+
proposals: SynthesisProposal[];
|
|
24
|
+
executed: number;
|
|
25
|
+
metrics: EffectivenessReport | null;
|
|
26
|
+
dryRun: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function runSynthesis(options?: SynthesisOptions): Promise<SynthesisResult>;
|
|
29
|
+
export declare function rollbackSynthesis(runId: string, db?: Database): Promise<{
|
|
30
|
+
rolled_back: number;
|
|
31
|
+
errors: string[];
|
|
32
|
+
}>;
|
|
33
|
+
export declare function getSynthesisStatus(runId?: string, projectId?: string, db?: Database): {
|
|
34
|
+
lastRun: SynthesisRun | null;
|
|
35
|
+
recentRuns: SynthesisRun[];
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAM9E,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzF,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMtE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,YAAY,CAAC;IAClB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwJ3F;AAMD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAUpD;AAMD,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAwB9D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AnalysisCorpus } from "./corpus-builder.js";
|
|
2
|
+
export interface SynthesisAnalysisResult {
|
|
3
|
+
proposals: Array<{
|
|
4
|
+
type: "merge" | "archive" | "promote" | "update_value" | "add_tag" | "remove_duplicate";
|
|
5
|
+
memory_ids: string[];
|
|
6
|
+
target_memory_id?: string;
|
|
7
|
+
proposed_changes: Record<string, unknown>;
|
|
8
|
+
reasoning: string;
|
|
9
|
+
confidence: number;
|
|
10
|
+
}>;
|
|
11
|
+
summary: string;
|
|
12
|
+
analysisDurationMs: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function analyzeCorpus(corpus: AnalysisCorpus, options?: {
|
|
15
|
+
provider?: string;
|
|
16
|
+
maxProposals?: number;
|
|
17
|
+
}): Promise<SynthesisAnalysisResult>;
|
|
18
|
+
//# sourceMappingURL=llm-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-analyzer.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/llm-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,kBAAkB,CAAC;QACxF,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAyFD,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC,uBAAuB,CAAC,CA8ClC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import { type SynthesisMetric } from "../../db/synthesis.js";
|
|
3
|
+
import type { AnalysisCorpus } from "./corpus-builder.js";
|
|
4
|
+
export interface EffectivenessReport {
|
|
5
|
+
runId: string;
|
|
6
|
+
corpusReduction: number;
|
|
7
|
+
importanceDrift: number;
|
|
8
|
+
deduplicationRate: number;
|
|
9
|
+
estimatedRecallImprovement: number;
|
|
10
|
+
metrics: SynthesisMetric[];
|
|
11
|
+
}
|
|
12
|
+
export declare function measureEffectiveness(runId: string, preCorpus: AnalysisCorpus, db?: Database): Promise<EffectivenessReport>;
|
|
13
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAMD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,cAAc,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAmG9B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import { type SynthesisRun } from "../../db/synthesis.js";
|
|
3
|
+
export interface SchedulerConfig {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
minMemoriesForTrigger: number;
|
|
6
|
+
minEventsSinceLastRun: number;
|
|
7
|
+
maxRunIntervalHours: number;
|
|
8
|
+
minRunIntervalHours: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SchedulerState {
|
|
11
|
+
lastRunAt: string | null;
|
|
12
|
+
eventsSinceLastRun: number;
|
|
13
|
+
shouldTrigger: boolean;
|
|
14
|
+
reason: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function checkShouldTrigger(projectId: string | null, config?: Partial<SchedulerConfig>, db?: Database): SchedulerState;
|
|
17
|
+
export declare function triggerIfReady(projectId: string | null, agentId: string | null, config?: Partial<SchedulerConfig>, db?: Database): Promise<SynthesisRun | null>;
|
|
18
|
+
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,EAAE,CAAC,EAAE,QAAQ,GACZ,cAAc,CAwFhB;AAMD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAsB9B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AnalysisCorpus } from "./corpus-builder.js";
|
|
2
|
+
import type { SynthesisAnalysisResult } from "./llm-analyzer.js";
|
|
3
|
+
export interface ValidationResult {
|
|
4
|
+
valid: boolean;
|
|
5
|
+
rejectedProposals: Array<{
|
|
6
|
+
proposalId: string;
|
|
7
|
+
reason: string;
|
|
8
|
+
}>;
|
|
9
|
+
warnings: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface SafetyConfig {
|
|
12
|
+
maxArchivePercent: number;
|
|
13
|
+
maxMergePercent: number;
|
|
14
|
+
minConfidence: number;
|
|
15
|
+
protectPinned: boolean;
|
|
16
|
+
protectHighImportance: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function validateProposals(proposals: SynthesisAnalysisResult["proposals"], corpus: AnalysisCorpus, config?: Partial<SafetyConfig>): ValidationResult;
|
|
19
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAMjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAcD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAC/C,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,gBAAgB,CAyIlB"}
|