modular-studio 1.0.3 → 1.0.5
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 +101 -20
- package/dist/assets/Badge-22Ai0eyi.js +1 -0
- package/dist/assets/Input-Bgp734xs.js +1 -0
- package/dist/assets/KnowledgeTab-DABxirZh.js +4 -0
- package/dist/assets/MemoryTab-DZeYElIT.js +16 -0
- package/dist/assets/QualificationTab-Dfpy3J30.js +1 -0
- package/dist/assets/ReviewTab-SD8lQuCc.js +103 -0
- package/dist/assets/Section-DoJrmytO.js +1 -0
- package/dist/assets/TestTab-PDyMF8Fw.js +33 -0
- package/dist/assets/ToolsTab-B83qGCmG.js +1 -0
- package/dist/assets/conversationStore-CkfEU2eV.js +1 -0
- package/dist/assets/icons-C2EV-le6.js +1 -0
- package/dist/assets/index-DkpMAxX7.css +1 -0
- package/dist/assets/index-q24ug5Qs.js +143 -0
- package/dist/assets/{jszip.min-DByyLalk.js → jszip.min-wf-D3Ix_.js} +1 -1
- package/dist/assets/markdown-DWF7F0i0.js +29 -0
- package/dist/assets/services-BaKotDf0.js +343 -0
- package/dist/assets/stores-CeKWz7ou.js +1 -0
- package/dist/assets/vendor-D1h_O76p.js +9 -0
- package/dist/index.html +8 -4
- package/dist-server/bin/modular-mcp.js +0 -1
- package/dist-server/bin/modular-studio.js +0 -1
- package/dist-server/server/config.js +0 -1
- package/dist-server/server/data/mcp-tokens.json +3 -3
- package/dist-server/server/index.d.ts.map +1 -1
- package/dist-server/server/index.js +12 -1
- package/dist-server/server/index.js.map +1 -1
- package/dist-server/server/mcp/manager.js +0 -1
- package/dist-server/server/mcp/modular-server.js +0 -1
- package/dist-server/server/mcp/transport.js +0 -1
- package/dist-server/server/routes/agent-sdk.js +0 -1
- package/dist-server/server/routes/agents.d.ts +9 -5
- package/dist-server/server/routes/agents.d.ts.map +1 -1
- package/dist-server/server/routes/agents.js +81 -8
- package/dist-server/server/routes/auth-codex.js +0 -1
- package/dist-server/server/routes/capabilities.js +0 -1
- package/dist-server/server/routes/claude-config.js +0 -1
- package/dist-server/server/routes/connectors.d.ts.map +1 -1
- package/dist-server/server/routes/connectors.js +194 -1
- package/dist-server/server/routes/conversations.js +0 -1
- package/dist-server/server/routes/embeddings.d.ts.map +1 -1
- package/dist-server/server/routes/embeddings.js +16 -2
- package/dist-server/server/routes/embeddings.js.map +1 -1
- package/dist-server/server/routes/health.d.ts.map +1 -1
- package/dist-server/server/routes/health.js +10 -2
- package/dist-server/server/routes/health.js.map +1 -1
- package/dist-server/server/routes/knowledge.js +0 -1
- package/dist-server/server/routes/llm.js +0 -1
- package/dist-server/server/routes/mcp-oauth.js +0 -1
- package/dist-server/server/routes/mcp.js +0 -1
- package/dist-server/server/routes/memory.d.ts +3 -0
- package/dist-server/server/routes/memory.d.ts.map +1 -0
- package/dist-server/server/routes/memory.js +283 -0
- package/dist-server/server/routes/pipeline.js +0 -1
- package/dist-server/server/routes/providers.js +0 -1
- package/dist-server/server/routes/qualification.d.ts.map +1 -1
- package/dist-server/server/routes/qualification.js +382 -74
- package/dist-server/server/routes/repo-index.js +0 -1
- package/dist-server/server/routes/runtime.js +0 -1
- package/dist-server/server/routes/skills-search.d.ts.map +1 -1
- package/dist-server/server/routes/skills-search.js +44 -5
- package/dist-server/server/routes/skills-search.js.map +1 -1
- package/dist-server/server/routes/worktrees.js +0 -1
- package/dist-server/server/services/__tests__/embeddingService.test.js +0 -1
- package/dist-server/server/services/adapters/postgresAdapter.d.ts +29 -0
- package/dist-server/server/services/adapters/postgresAdapter.d.ts.map +1 -0
- package/dist-server/server/services/adapters/postgresAdapter.js +224 -0
- package/dist-server/server/services/adapters/sqliteAdapter.d.ts +28 -0
- package/dist-server/server/services/adapters/sqliteAdapter.d.ts.map +1 -0
- package/dist-server/server/services/adapters/sqliteAdapter.js +219 -0
- package/dist-server/server/services/adapters/storageAdapter.d.ts +22 -0
- package/dist-server/server/services/adapters/storageAdapter.d.ts.map +1 -0
- package/dist-server/server/services/adapters/storageAdapter.js +1 -0
- package/dist-server/server/services/agentRunner.js +0 -1
- package/dist-server/server/services/agentStore.d.ts +18 -3
- package/dist-server/server/services/agentStore.d.ts.map +1 -1
- package/dist-server/server/services/agentStore.js +116 -23
- package/dist-server/server/services/contentStore.js +0 -1
- package/dist-server/server/services/embeddingService.d.ts +2 -0
- package/dist-server/server/services/embeddingService.d.ts.map +1 -1
- package/dist-server/server/services/embeddingService.js +30 -19
- package/dist-server/server/services/factExtractor.js +0 -1
- package/dist-server/server/services/githubIndexer.js +0 -1
- package/dist-server/server/services/mcpOAuth.js +0 -1
- package/dist-server/server/services/memoryScorer.js +0 -1
- package/dist-server/server/services/repoIndexer.js +0 -1
- package/dist-server/server/services/sqliteStore.js +0 -1
- package/dist-server/server/services/teamRunner.js +0 -1
- package/dist-server/server/services/worktreeManager.js +0 -1
- package/dist-server/server/types.d.ts +5 -0
- package/dist-server/server/types.d.ts.map +1 -1
- package/dist-server/server/types.js +0 -1
- package/dist-server/server/utils/pathSecurity.js +0 -1
- package/dist-server/src/services/budgetAllocator.js +0 -1
- package/dist-server/src/services/contradictionDetector.js +0 -1
- package/dist-server/src/services/treeIndexer.js +0 -1
- package/dist-server/src/store/knowledgeBase.d.ts +10 -0
- package/dist-server/src/store/knowledgeBase.d.ts.map +1 -1
- package/dist-server/src/store/knowledgeBase.js +13 -1
- package/dist-server/src/store/memoryStore.d.ts +107 -0
- package/dist-server/src/store/memoryStore.d.ts.map +1 -0
- package/dist-server/src/store/memoryStore.js +263 -0
- package/dist-server/tsconfig.server.tsbuildinfo +1 -1
- package/package.json +104 -97
- package/dist/assets/graphPopulator-DH0qM1Fu.js +0 -1
- package/dist/assets/index-B0RRTCSi.css +0 -1
- package/dist/assets/index-LWCi_4Hu.js +0 -662
|
@@ -1,27 +1,96 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agent Store — Persistent agent state on disk
|
|
3
|
-
* Directory: ~/.modular-studio/agents/
|
|
4
|
-
*
|
|
2
|
+
* Agent Store — Persistent agent state on disk with versioning
|
|
3
|
+
* Directory: ~/.modular-studio/agents/{agentId}/
|
|
4
|
+
* Latest state: latest.json
|
|
5
|
+
* Versions: versions/{timestamp}-v{major}.{minor}.{patch}.json
|
|
5
6
|
*/
|
|
6
7
|
import { existsSync, mkdirSync, readFileSync, writeFileSync, unlinkSync, readdirSync } from 'node:fs';
|
|
7
8
|
import { join } from 'node:path';
|
|
8
9
|
import { homedir } from 'node:os';
|
|
9
10
|
const AGENTS_DIR = join(homedir(), '.modular-studio', 'agents');
|
|
10
|
-
function ensureDir() {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
function ensureDir(path) {
|
|
12
|
+
const dir = path || AGENTS_DIR;
|
|
13
|
+
if (!existsSync(dir)) {
|
|
14
|
+
mkdirSync(dir, { recursive: true, mode: 0o755 });
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
|
-
function
|
|
17
|
+
function agentDir(id) {
|
|
16
18
|
const safe = id.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
17
|
-
return join(AGENTS_DIR,
|
|
19
|
+
return join(AGENTS_DIR, safe);
|
|
20
|
+
}
|
|
21
|
+
function agentPath(id) {
|
|
22
|
+
return join(agentDir(id), 'latest.json');
|
|
23
|
+
}
|
|
24
|
+
function versionsDir(id) {
|
|
25
|
+
return join(agentDir(id), 'versions');
|
|
18
26
|
}
|
|
19
27
|
export function saveAgent(id, state) {
|
|
20
|
-
|
|
28
|
+
const dir = agentDir(id);
|
|
29
|
+
ensureDir(dir);
|
|
21
30
|
state.id = id;
|
|
22
31
|
state.savedAt = new Date().toISOString();
|
|
23
32
|
writeFileSync(agentPath(id), JSON.stringify(state, null, 2), 'utf-8');
|
|
24
33
|
}
|
|
34
|
+
export function createAgentVersion(id, version, label) {
|
|
35
|
+
const current = loadAgent(id);
|
|
36
|
+
if (!current)
|
|
37
|
+
return null;
|
|
38
|
+
const dir = versionsDir(id);
|
|
39
|
+
ensureDir(dir);
|
|
40
|
+
const timestamp = Date.now();
|
|
41
|
+
const versionData = {
|
|
42
|
+
id: `${timestamp}-${version.replace(/\./g, '_')}`,
|
|
43
|
+
version,
|
|
44
|
+
timestamp,
|
|
45
|
+
label,
|
|
46
|
+
snapshot: current,
|
|
47
|
+
};
|
|
48
|
+
const filename = `${timestamp}-v${version.replace(/\./g, '_')}.json`;
|
|
49
|
+
const path = join(dir, filename);
|
|
50
|
+
writeFileSync(path, JSON.stringify(versionData, null, 2), 'utf-8');
|
|
51
|
+
return versionData;
|
|
52
|
+
}
|
|
53
|
+
export function listAgentVersions(id) {
|
|
54
|
+
const dir = versionsDir(id);
|
|
55
|
+
if (!existsSync(dir))
|
|
56
|
+
return [];
|
|
57
|
+
const files = readdirSync(dir).filter(f => f.endsWith('.json'));
|
|
58
|
+
const versions = [];
|
|
59
|
+
for (const file of files) {
|
|
60
|
+
try {
|
|
61
|
+
const data = JSON.parse(readFileSync(join(dir, file), 'utf-8'));
|
|
62
|
+
versions.push(data);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// skip corrupt files
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return versions.sort((a, b) => a.timestamp - b.timestamp);
|
|
69
|
+
}
|
|
70
|
+
export function getAgentVersion(id, version) {
|
|
71
|
+
const versions = listAgentVersions(id);
|
|
72
|
+
return versions.find(v => v.version === version) || null;
|
|
73
|
+
}
|
|
74
|
+
export function restoreAgentVersion(id, version) {
|
|
75
|
+
const versionData = getAgentVersion(id, version);
|
|
76
|
+
if (!versionData)
|
|
77
|
+
return false;
|
|
78
|
+
saveAgent(id, versionData.snapshot);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
export function deleteAgentVersion(id, version) {
|
|
82
|
+
const versions = listAgentVersions(id);
|
|
83
|
+
const target = versions.find(v => v.version === version);
|
|
84
|
+
if (!target)
|
|
85
|
+
return false;
|
|
86
|
+
const dir = versionsDir(id);
|
|
87
|
+
const files = readdirSync(dir);
|
|
88
|
+
const targetFile = files.find(f => f.includes(version.replace(/\./g, '_')));
|
|
89
|
+
if (!targetFile)
|
|
90
|
+
return false;
|
|
91
|
+
unlinkSync(join(dir, targetFile));
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
25
94
|
export function loadAgent(id) {
|
|
26
95
|
const p = agentPath(id);
|
|
27
96
|
if (!existsSync(p))
|
|
@@ -35,28 +104,52 @@ export function loadAgent(id) {
|
|
|
35
104
|
}
|
|
36
105
|
export function listAgents() {
|
|
37
106
|
ensureDir();
|
|
38
|
-
const
|
|
107
|
+
const dirs = readdirSync(AGENTS_DIR, { withFileTypes: true })
|
|
108
|
+
.filter(d => d.isDirectory())
|
|
109
|
+
.map(d => d.name);
|
|
39
110
|
const summaries = [];
|
|
40
|
-
for (const
|
|
111
|
+
for (const dir of dirs) {
|
|
41
112
|
try {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
113
|
+
const agent = loadAgent(dir);
|
|
114
|
+
if (agent) {
|
|
115
|
+
summaries.push({
|
|
116
|
+
id: agent.id,
|
|
117
|
+
agentMeta: agent.agentMeta,
|
|
118
|
+
savedAt: agent.savedAt,
|
|
119
|
+
currentVersion: agent.version || '0.1.0',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
48
122
|
}
|
|
49
123
|
catch {
|
|
50
|
-
// skip corrupt
|
|
124
|
+
// skip corrupt agents
|
|
51
125
|
}
|
|
52
126
|
}
|
|
53
127
|
return summaries;
|
|
54
128
|
}
|
|
55
129
|
export function deleteAgent(id) {
|
|
56
|
-
const
|
|
57
|
-
if (!existsSync(
|
|
130
|
+
const dir = agentDir(id);
|
|
131
|
+
if (!existsSync(dir))
|
|
58
132
|
return false;
|
|
59
|
-
|
|
60
|
-
|
|
133
|
+
try {
|
|
134
|
+
// Delete all version files
|
|
135
|
+
const vDir = versionsDir(id);
|
|
136
|
+
if (existsSync(vDir)) {
|
|
137
|
+
const files = readdirSync(vDir);
|
|
138
|
+
for (const file of files) {
|
|
139
|
+
unlinkSync(join(vDir, file));
|
|
140
|
+
}
|
|
141
|
+
unlinkSync(vDir);
|
|
142
|
+
}
|
|
143
|
+
// Delete latest.json
|
|
144
|
+
const latestPath = agentPath(id);
|
|
145
|
+
if (existsSync(latestPath)) {
|
|
146
|
+
unlinkSync(latestPath);
|
|
147
|
+
}
|
|
148
|
+
// Delete directory
|
|
149
|
+
unlinkSync(dir);
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
61
155
|
}
|
|
62
|
-
//# sourceMappingURL=agentStore.js.map
|
|
@@ -23,6 +23,8 @@ declare class EmbeddingServiceImpl implements EmbeddingService {
|
|
|
23
23
|
private cache;
|
|
24
24
|
private maxCacheSize;
|
|
25
25
|
initialize(): Promise<void>;
|
|
26
|
+
private static readonly MAX_RETRIES;
|
|
27
|
+
private static readonly RETRY_DELAYS_MS;
|
|
26
28
|
private _doInitialize;
|
|
27
29
|
isReady(): boolean;
|
|
28
30
|
private hashText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddingService.d.ts","sourceRoot":"","sources":["../../../server/services/embeddingService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAC3F,OAAO,IAAI,OAAO,CAAC;CACpB;AAOD,cAAM,oBAAqB,YAAW,gBAAgB;IACpD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA8B;IAGjD,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAAS;IAEvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"embeddingService.d.ts","sourceRoot":"","sources":["../../../server/services/embeddingService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAC3F,OAAO,IAAI,OAAO,CAAC;CACpB;AAOD,cAAM,oBAAqB,YAAW,gBAAgB;IACpD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA8B;IAGjD,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,YAAY,CAAS;IAEvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAuB;YAEhD,aAAa;IAoC3B,OAAO,IAAI,OAAO;IAIlB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,qBAAqB;YAgBf,MAAM;IA0Cd,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ5C,4EAA4E;IAC5E,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,gBAAgB;IAIlB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IA2DtD,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IA4B5C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE;IAgBpF,SAAS;;;;;;;CAUhB;AAGD,QAAA,MAAM,gBAAgB,sBAA6B,CAAC;AAEpD,4CAA4C;AAC5C,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,eAAe,gBAAgB,CAAC"}
|
|
@@ -21,25 +21,37 @@ class EmbeddingServiceImpl {
|
|
|
21
21
|
this.initPromise = this._doInitialize();
|
|
22
22
|
return this.initPromise;
|
|
23
23
|
}
|
|
24
|
+
static MAX_RETRIES = 3;
|
|
25
|
+
static RETRY_DELAYS_MS = [2000, 5000, 10000];
|
|
24
26
|
async _doInitialize() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
const { pipeline, env } = await import('@huggingface/transformers');
|
|
28
|
+
env.allowLocalModels = true; // Use cached model if available
|
|
29
|
+
env.useBrowserCache = false;
|
|
30
|
+
for (let attempt = 0; attempt <= EmbeddingServiceImpl.MAX_RETRIES; attempt++) {
|
|
31
|
+
try {
|
|
32
|
+
const label = attempt === 0 ? '' : ` (retry ${attempt}/${EmbeddingServiceImpl.MAX_RETRIES})`;
|
|
33
|
+
console.log(`[Embedding] Loading model Xenova/all-MiniLM-L6-v2...${label}`);
|
|
34
|
+
const startTime = Date.now();
|
|
35
|
+
this.model = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
|
|
36
|
+
const loadTime = Date.now() - startTime;
|
|
37
|
+
console.log(`[Embedding] Model loaded in ${loadTime}ms`);
|
|
38
|
+
this.ready = true;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
const isNetworkError = error instanceof TypeError &&
|
|
43
|
+
(error.message.includes('fetch failed') || error.message.includes('ECONNRESET'));
|
|
44
|
+
if (isNetworkError && attempt < EmbeddingServiceImpl.MAX_RETRIES) {
|
|
45
|
+
const delay = EmbeddingServiceImpl.RETRY_DELAYS_MS[attempt];
|
|
46
|
+
console.warn(`[Embedding] Network error, retrying in ${delay}ms...`, error?.cause?.code ?? error);
|
|
47
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
console.error('[Embedding] Failed to load model after all attempts:', error);
|
|
51
|
+
this.ready = false;
|
|
52
|
+
this.initPromise = null; // Allow retry on next call
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
43
55
|
}
|
|
44
56
|
}
|
|
45
57
|
isReady() {
|
|
@@ -210,4 +222,3 @@ export function _resetForTesting() {
|
|
|
210
222
|
}
|
|
211
223
|
export { embeddingService };
|
|
212
224
|
export default embeddingService;
|
|
213
|
-
//# sourceMappingURL=embeddingService.js.map
|
|
@@ -18,9 +18,14 @@ export interface McpServerConfig {
|
|
|
18
18
|
url?: string;
|
|
19
19
|
headers?: Record<string, string>;
|
|
20
20
|
}
|
|
21
|
+
export interface MemoryConfig {
|
|
22
|
+
backend: string;
|
|
23
|
+
connectionString?: string;
|
|
24
|
+
}
|
|
21
25
|
export interface AppConfig {
|
|
22
26
|
providers: ProviderConfig[];
|
|
23
27
|
mcpServers: McpServerConfig[];
|
|
28
|
+
memory?: MemoryConfig;
|
|
24
29
|
}
|
|
25
30
|
export interface ApiResponse<T = unknown> {
|
|
26
31
|
status: 'ok' | 'error';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -42,6 +42,14 @@ export declare const DEPTH_LEVELS: {
|
|
|
42
42
|
label: DepthLevel;
|
|
43
43
|
pct: number;
|
|
44
44
|
}[];
|
|
45
|
+
/** Depth as continuous percentage (10-100). Used by UI depth slider. */
|
|
46
|
+
export declare const DEPTH_MIN = 10;
|
|
47
|
+
export declare const DEPTH_MAX = 100;
|
|
48
|
+
export declare const DEPTH_STEP = 10;
|
|
49
|
+
/** Convert depth percentage (10-100) to fraction (0.1-1.0) */
|
|
50
|
+
export declare function depthPctToFraction(depthPct: number): number;
|
|
51
|
+
/** Convert legacy depth index (0-4) to depth percentage (10-100) */
|
|
52
|
+
export declare function legacyDepthToPercent(depthIndex: number): number;
|
|
45
53
|
export interface ChannelConfig {
|
|
46
54
|
sourceId: string;
|
|
47
55
|
name: string;
|
|
@@ -60,6 +68,8 @@ export interface ChannelConfig {
|
|
|
60
68
|
features: string[];
|
|
61
69
|
};
|
|
62
70
|
contentSourceId?: string;
|
|
71
|
+
effectiveTokens?: number;
|
|
72
|
+
hint?: string;
|
|
63
73
|
}
|
|
64
74
|
export type PlanningMode = 'single-shot' | 'chain-of-thought' | 'react';
|
|
65
75
|
export interface AgentConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledgeBase.d.ts","sourceRoot":"","sources":["../../../src/store/knowledgeBase.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKpD,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAE9G,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAOtH,CAAC;AA6DF,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAEnF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,oBAAoB,CA+DtF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAKzE;AAGD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhH,eAAO,MAAM,cAAc,EAAE;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAS1F,CAAC;AAGF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAU/D;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAID,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEjF,eAAO,MAAM,YAAY,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAM5D,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"knowledgeBase.d.ts","sourceRoot":"","sources":["../../../src/store/knowledgeBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -171,6 +171,19 @@ export const DEPTH_LEVELS = [
|
|
|
171
171
|
{ label: 'Headlines', pct: 0.25 },
|
|
172
172
|
{ label: 'Mention', pct: 0.1 },
|
|
173
173
|
];
|
|
174
|
+
/** Depth as continuous percentage (10-100). Used by UI depth slider. */
|
|
175
|
+
export const DEPTH_MIN = 10;
|
|
176
|
+
export const DEPTH_MAX = 100;
|
|
177
|
+
export const DEPTH_STEP = 10;
|
|
178
|
+
/** Convert depth percentage (10-100) to fraction (0.1-1.0) */
|
|
179
|
+
export function depthPctToFraction(depthPct) {
|
|
180
|
+
return Math.max(0.1, Math.min(1.0, depthPct / 100));
|
|
181
|
+
}
|
|
182
|
+
/** Convert legacy depth index (0-4) to depth percentage (10-100) */
|
|
183
|
+
export function legacyDepthToPercent(depthIndex) {
|
|
184
|
+
const pct = DEPTH_LEVELS[depthIndex]?.pct ?? 1.0;
|
|
185
|
+
return Math.round(pct * 100);
|
|
186
|
+
}
|
|
174
187
|
export const DEFAULT_AGENT_CONFIG = {
|
|
175
188
|
model: 'claude-opus-4',
|
|
176
189
|
temperature: 0.7,
|
|
@@ -296,4 +309,3 @@ export const PRESETS = [
|
|
|
296
309
|
],
|
|
297
310
|
},
|
|
298
311
|
];
|
|
299
|
-
//# sourceMappingURL=knowledgeBase.js.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export type SessionStrategy = 'full' | 'sliding_window' | 'summarize_and_recent' | 'rag';
|
|
2
|
+
export type SummaryModel = 'same' | 'fast';
|
|
3
|
+
export type StoreBackend = 'local_sqlite' | 'postgres' | 'redis' | 'chromadb' | 'pinecone' | 'custom';
|
|
4
|
+
export type EmbeddingModel = 'text-embedding-3-small' | 'text-embedding-3-large' | 'voyage-3' | 'custom';
|
|
5
|
+
export type RecallStrategy = 'top_k' | 'threshold' | 'hybrid';
|
|
6
|
+
export type WriteMode = 'auto_extract' | 'explicit' | 'both';
|
|
7
|
+
export type ExtractType = 'user_preferences' | 'decisions' | 'facts' | 'feedback' | 'entities';
|
|
8
|
+
export type MemoryScope = 'per_user' | 'per_agent' | 'global';
|
|
9
|
+
export type WorkingFormat = 'json' | 'markdown' | 'freeform';
|
|
10
|
+
export type FactType = 'preference' | 'decision' | 'fact' | 'entity' | 'custom';
|
|
11
|
+
export type MemoryDomain = 'shared' | 'agent_private' | 'run_scratchpad';
|
|
12
|
+
export type SandboxIsolation = 'reset_each_run' | 'persistent_sandbox' | 'clone_from_shared';
|
|
13
|
+
export type FactGranularity = 'raw' | 'fact' | 'episode';
|
|
14
|
+
export interface Fact {
|
|
15
|
+
id: string;
|
|
16
|
+
content: string;
|
|
17
|
+
tags: string[];
|
|
18
|
+
type: FactType;
|
|
19
|
+
timestamp: number;
|
|
20
|
+
domain: MemoryDomain;
|
|
21
|
+
granularity: FactGranularity;
|
|
22
|
+
embedding?: number[];
|
|
23
|
+
embeddingPending?: boolean;
|
|
24
|
+
/** Owner agent ID — used to scope agent_private facts */
|
|
25
|
+
ownerAgentId?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface SandboxConfig {
|
|
28
|
+
isolation: SandboxIsolation;
|
|
29
|
+
allowPromoteToShared: boolean;
|
|
30
|
+
domains: {
|
|
31
|
+
shared: {
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
};
|
|
34
|
+
agentPrivate: {
|
|
35
|
+
enabled: boolean;
|
|
36
|
+
};
|
|
37
|
+
runScratchpad: {
|
|
38
|
+
enabled: boolean;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface SessionMemoryConfig {
|
|
43
|
+
strategy: SessionStrategy;
|
|
44
|
+
windowSize: number;
|
|
45
|
+
summarizeAfter: number;
|
|
46
|
+
summaryModel: SummaryModel;
|
|
47
|
+
tokenBudget: number;
|
|
48
|
+
maxMessages: number;
|
|
49
|
+
summarizeEnabled: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface RecallConfig {
|
|
52
|
+
strategy: RecallStrategy;
|
|
53
|
+
k: number;
|
|
54
|
+
minScore: number;
|
|
55
|
+
}
|
|
56
|
+
export interface WriteConfig {
|
|
57
|
+
mode: WriteMode;
|
|
58
|
+
extractTypes: ExtractType[];
|
|
59
|
+
}
|
|
60
|
+
export interface LongTermMemoryConfig {
|
|
61
|
+
enabled: boolean;
|
|
62
|
+
store: StoreBackend;
|
|
63
|
+
embeddingModel: EmbeddingModel;
|
|
64
|
+
recall: RecallConfig;
|
|
65
|
+
write: WriteConfig;
|
|
66
|
+
scope: MemoryScope;
|
|
67
|
+
maxEntries: number;
|
|
68
|
+
ttl: string | null;
|
|
69
|
+
tokenBudget: number;
|
|
70
|
+
}
|
|
71
|
+
export interface WorkingMemoryConfig {
|
|
72
|
+
enabled: boolean;
|
|
73
|
+
maxTokens: number;
|
|
74
|
+
persist: boolean;
|
|
75
|
+
format: WorkingFormat;
|
|
76
|
+
content: string;
|
|
77
|
+
tokenBudget: number;
|
|
78
|
+
}
|
|
79
|
+
export interface MemoryState {
|
|
80
|
+
session: SessionMemoryConfig;
|
|
81
|
+
longTerm: LongTermMemoryConfig;
|
|
82
|
+
working: WorkingMemoryConfig;
|
|
83
|
+
facts: Fact[];
|
|
84
|
+
sandbox: SandboxConfig;
|
|
85
|
+
sessionMemory: SessionMemoryConfig;
|
|
86
|
+
longTermMemory: Fact[];
|
|
87
|
+
workingMemory: string;
|
|
88
|
+
setSessionConfig: (patch: Partial<SessionMemoryConfig>) => void;
|
|
89
|
+
setLongTermConfig: (patch: Partial<LongTermMemoryConfig>) => void;
|
|
90
|
+
setRecallConfig: (patch: Partial<RecallConfig>) => void;
|
|
91
|
+
setWriteConfig: (patch: Partial<WriteConfig>) => void;
|
|
92
|
+
toggleExtractType: (type: ExtractType) => void;
|
|
93
|
+
setWorkingConfig: (patch: Partial<WorkingMemoryConfig>) => void;
|
|
94
|
+
updateScratchpad: (text: string) => void;
|
|
95
|
+
addFact: (content: string, tags?: string[], type?: FactType, domain?: MemoryDomain, granularity?: FactGranularity, ownerAgentId?: string) => void;
|
|
96
|
+
removeFact: (id: string) => void;
|
|
97
|
+
updateFact: (id: string, patch: Partial<Omit<Fact, 'id'>>) => void;
|
|
98
|
+
addEpisode: (summary: string, tags?: string[]) => void;
|
|
99
|
+
computeEmbeddings: () => Promise<void>;
|
|
100
|
+
setSandboxConfig: (patch: Partial<SandboxConfig>) => void;
|
|
101
|
+
setSandboxDomain: (domain: keyof SandboxConfig['domains'], enabled: boolean) => void;
|
|
102
|
+
getFactsByDomain: (domain: MemoryDomain) => Fact[];
|
|
103
|
+
getRecallableFacts: (agentId?: string) => Fact[];
|
|
104
|
+
toYaml: () => Record<string, unknown>;
|
|
105
|
+
}
|
|
106
|
+
export declare const useMemoryStore: import("zustand").UseBoundStore<import("zustand").StoreApi<MemoryState>>;
|
|
107
|
+
//# sourceMappingURL=memoryStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryStore.d.ts","sourceRoot":"","sources":["../../../src/store/memoryStore.ts"],"names":[],"mappings":"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"}
|