@gzoo/cortex 0.5.9 → 0.5.11
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 +1 -1
- package/dist/cortex-mcp.mjs +1668 -55
- package/package.json +1 -1
- package/packages/mcp/dist/server.d.ts.map +1 -1
- package/packages/mcp/dist/server.js +56 -0
- package/packages/mcp/dist/server.js.map +1 -1
- package/packages/mcp/dist/tools/ingest.d.ts +16 -0
- package/packages/mcp/dist/tools/ingest.d.ts.map +1 -0
- package/packages/mcp/dist/tools/ingest.js +65 -0
- package/packages/mcp/dist/tools/ingest.js.map +1 -0
- package/packages/mcp/dist/tools/manage.d.ts +28 -0
- package/packages/mcp/dist/tools/manage.d.ts.map +1 -0
- package/packages/mcp/dist/tools/manage.js +54 -0
- package/packages/mcp/dist/tools/manage.js.map +1 -0
- package/packages/mcp/dist/tools/search.d.ts +20 -0
- package/packages/mcp/dist/tools/search.d.ts.map +1 -0
- package/packages/mcp/dist/tools/search.js +20 -0
- package/packages/mcp/dist/tools/search.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gzoo/cortex",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.11",
|
|
4
4
|
"description": "Local-first knowledge graph that watches your project files, extracts entities and relationships via LLMs, and lets you query across projects in natural language.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAU1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAyNpF"}
|
|
@@ -5,6 +5,9 @@ import { handleFindEntity } from './tools/find.js';
|
|
|
5
5
|
import { handleListProjects } from './tools/projects.js';
|
|
6
6
|
import { handleGetStatus } from './tools/status.js';
|
|
7
7
|
import { handleGetContradictions, handleResolveContradiction } from './tools/contradictions.js';
|
|
8
|
+
import { handleSearchEntities } from './tools/search.js';
|
|
9
|
+
import { handleIngestFile } from './tools/ingest.js';
|
|
10
|
+
import { handleAddProject, handleRemoveProject } from './tools/manage.js';
|
|
8
11
|
export function createCortexMcpServer(bundle, router) {
|
|
9
12
|
const server = new McpServer({
|
|
10
13
|
name: 'cortex',
|
|
@@ -82,6 +85,59 @@ export function createCortexMcpServer(bundle, router) {
|
|
|
82
85
|
const result = await handleResolveContradiction({ id, action }, bundle.store);
|
|
83
86
|
return { content: [{ type: 'text', text: result }] };
|
|
84
87
|
});
|
|
88
|
+
server.registerTool('search_entities', {
|
|
89
|
+
title: 'Search Entities',
|
|
90
|
+
description: 'Search across all entities in the knowledge graph using full-text search. ' +
|
|
91
|
+
'Returns matching entities ranked by relevance. Use this for broad searches ' +
|
|
92
|
+
'when you don\'t know the exact entity name.',
|
|
93
|
+
inputSchema: {
|
|
94
|
+
query: z.string().describe('Search text (keywords, phrases)'),
|
|
95
|
+
limit: z.number().optional().describe('Max results to return (default: 20, max: 100)'),
|
|
96
|
+
type: z.string().optional().describe('Filter by entity type: Decision, Requirement, Pattern, Component, ' +
|
|
97
|
+
'Dependency, Interface, Constraint, ActionItem, Risk, Note'),
|
|
98
|
+
},
|
|
99
|
+
}, async ({ query, limit, type }) => {
|
|
100
|
+
const result = await handleSearchEntities({ query, limit, type }, bundle.store);
|
|
101
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
102
|
+
});
|
|
103
|
+
server.registerTool('ingest_file', {
|
|
104
|
+
title: 'Ingest File',
|
|
105
|
+
description: 'Trigger ingestion of a single file into the knowledge graph. Extracts entities ' +
|
|
106
|
+
'and relationships using LLMs. The file must belong to a registered project. ' +
|
|
107
|
+
'If projectId is omitted, Cortex auto-detects the project from the file path.',
|
|
108
|
+
inputSchema: {
|
|
109
|
+
filePath: z.string().describe('Absolute path to the file to ingest'),
|
|
110
|
+
projectId: z.string().optional().describe('Project ID to ingest into. If omitted, auto-detected from file path.'),
|
|
111
|
+
},
|
|
112
|
+
}, async ({ filePath, projectId }) => {
|
|
113
|
+
const result = await handleIngestFile({ filePath, projectId }, bundle.store, router);
|
|
114
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
115
|
+
});
|
|
116
|
+
server.registerTool('add_project', {
|
|
117
|
+
title: 'Add Project',
|
|
118
|
+
description: 'Register a new project directory for Cortex to watch and index. ' +
|
|
119
|
+
'The path must exist and be a directory.',
|
|
120
|
+
inputSchema: {
|
|
121
|
+
name: z.string().describe('Unique project name (e.g., "my-app", "api-server")'),
|
|
122
|
+
path: z.string().describe('Absolute path to the project root directory'),
|
|
123
|
+
privacyLevel: z.string().optional().describe('Privacy level: standard (default), sensitive, or restricted. ' +
|
|
124
|
+
'Restricted projects are never sent to cloud LLMs.'),
|
|
125
|
+
},
|
|
126
|
+
}, async ({ name, path, privacyLevel }) => {
|
|
127
|
+
const result = await handleAddProject({ name, path, privacyLevel: privacyLevel }, bundle.store);
|
|
128
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
129
|
+
});
|
|
130
|
+
server.registerTool('remove_project', {
|
|
131
|
+
title: 'Remove Project',
|
|
132
|
+
description: 'Unregister a project from Cortex. Removes it from the project registry but ' +
|
|
133
|
+
'preserves all extracted entities in the knowledge graph.',
|
|
134
|
+
inputSchema: {
|
|
135
|
+
name: z.string().describe('Name of the project to remove'),
|
|
136
|
+
},
|
|
137
|
+
}, async ({ name }) => {
|
|
138
|
+
const result = await handleRemoveProject({ name });
|
|
139
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
140
|
+
});
|
|
85
141
|
return server;
|
|
86
142
|
}
|
|
87
143
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,UAAU,qBAAqB,CAAC,MAAmB,EAAE,MAAc;IACvE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,sFAAsF;YACtF,6FAA6F;KAChG,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,4EAA4E;YAC5E,iEAAiE;KACpE,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,2EAA2E;YAC3E,6EAA6E;YAC7E,8EAA8E;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACtE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,uEAAuE,CACxE;YACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,oEAAoE;gBACpE,2DAA2D,CAC5D;SACF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,uEAAuE;YACvE,uDAAuD;YACvD,yEAAyE;YACzE,uCAAuC;QACzC,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACvC,kEAAkE,CACnE;SACF;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,EAAE,QAAQ,EAAE,SAAS,EAAE,EACvB,MAAM,CAAC,WAAW,EAClB,MAAM,EACN,MAAM,CAAC,KAAK,CACb,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,iFAAiF;YACjF,0FAA0F;YAC1F,mFAAmF;QACrF,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpC,iEAAiE,CAClE;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,iDAAiD;YACjD,iEAAiE;YACjE,gFAAgF;YAChF,sDAAsD;QACxD,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB,gEAAgE,CACjE;SACF;KACF,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,4EAA4E;YAC5E,6EAA6E;YAC7E,6CAA6C;QAC/C,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,oEAAoE;gBACpE,2DAA2D,CAC5D;SACF;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,iFAAiF;YACjF,8EAA8E;YAC9E,8EAA8E;QAChF,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACvC,sEAAsE,CACvE;SACF;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,kEAAkE;YAClE,yCAAyC;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,+DAA+D;gBAC/D,mDAAmD,CACpD;SACF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAmE,EAAE,EACjG,MAAM,CAAC,KAAK,CACb,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,6EAA6E;YAC7E,0DAA0D;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SAC3D;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SQLiteStore } from '@cortex/graph';
|
|
2
|
+
import type { Router } from '@cortex/llm';
|
|
3
|
+
export interface IngestFileInput {
|
|
4
|
+
filePath: string;
|
|
5
|
+
projectId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IngestFileResult {
|
|
8
|
+
status: string;
|
|
9
|
+
fileId: string;
|
|
10
|
+
entityIds: string[];
|
|
11
|
+
relationshipIds: string[];
|
|
12
|
+
entityCount: number;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function handleIngestFile(input: IngestFileInput, store: SQLiteStore, router: Router): Promise<IngestFileResult>;
|
|
16
|
+
//# sourceMappingURL=ingest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/tools/ingest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAkE3B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { existsSync, statSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { IngestionPipeline } from '@cortex/ingest';
|
|
4
|
+
import { findProjectByPath } from '@cortex/core';
|
|
5
|
+
export async function handleIngestFile(input, store, router) {
|
|
6
|
+
const filePath = resolve(input.filePath);
|
|
7
|
+
if (!existsSync(filePath)) {
|
|
8
|
+
return { status: 'failed', fileId: '', entityIds: [], relationshipIds: [], entityCount: 0, error: 'File not found' };
|
|
9
|
+
}
|
|
10
|
+
const stat = statSync(filePath);
|
|
11
|
+
if (!stat.isFile()) {
|
|
12
|
+
return { status: 'failed', fileId: '', entityIds: [], relationshipIds: [], entityCount: 0, error: 'Path is not a file' };
|
|
13
|
+
}
|
|
14
|
+
// Find project context
|
|
15
|
+
let project = null;
|
|
16
|
+
if (input.projectId) {
|
|
17
|
+
project = await store.getProject(input.projectId);
|
|
18
|
+
if (!project) {
|
|
19
|
+
return { status: 'failed', fileId: '', entityIds: [], relationshipIds: [], entityCount: 0, error: 'Project not found' };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
// Auto-detect project from file path
|
|
24
|
+
const projects = await store.listProjects();
|
|
25
|
+
for (const p of projects) {
|
|
26
|
+
const root = p.rootPath.replace(/\\/g, '/').toLowerCase();
|
|
27
|
+
const file = filePath.replace(/\\/g, '/').toLowerCase();
|
|
28
|
+
if (file.startsWith(root + '/') || file === root) {
|
|
29
|
+
project = p;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!project) {
|
|
34
|
+
// Try file-based registry
|
|
35
|
+
const entry = findProjectByPath(filePath);
|
|
36
|
+
if (entry) {
|
|
37
|
+
// Find matching DB project by name
|
|
38
|
+
const dbProjects = await store.listProjects();
|
|
39
|
+
project = dbProjects.find((p) => p.name === entry.name) ?? null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (!project) {
|
|
44
|
+
return { status: 'failed', fileId: '', entityIds: [], relationshipIds: [], entityCount: 0, error: 'File does not belong to any registered project' };
|
|
45
|
+
}
|
|
46
|
+
const pipeline = new IngestionPipeline(router, store, {
|
|
47
|
+
projectId: project.id,
|
|
48
|
+
projectName: project.name,
|
|
49
|
+
projectRoot: project.rootPath,
|
|
50
|
+
maxFileSize: 1_048_576,
|
|
51
|
+
batchSize: 10,
|
|
52
|
+
projectPrivacyLevel: project.privacyLevel ?? 'standard',
|
|
53
|
+
mergeConfidenceThreshold: 0.85,
|
|
54
|
+
});
|
|
55
|
+
const result = await pipeline.ingestFile(filePath);
|
|
56
|
+
return {
|
|
57
|
+
status: result.status,
|
|
58
|
+
fileId: result.fileId,
|
|
59
|
+
entityIds: result.entityIds,
|
|
60
|
+
relationshipIds: result.relationshipIds,
|
|
61
|
+
entityCount: result.entityIds.length,
|
|
62
|
+
error: result.error,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=ingest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/tools/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SQLiteStore } from '@cortex/graph';
|
|
2
|
+
export interface AddProjectInput {
|
|
3
|
+
name: string;
|
|
4
|
+
path: string;
|
|
5
|
+
privacyLevel?: 'standard' | 'sensitive' | 'restricted';
|
|
6
|
+
}
|
|
7
|
+
export interface AddProjectResult {
|
|
8
|
+
success: boolean;
|
|
9
|
+
project?: {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
rootPath: string;
|
|
13
|
+
privacyLevel: string;
|
|
14
|
+
};
|
|
15
|
+
error?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function handleAddProject(input: AddProjectInput, store: SQLiteStore): Promise<AddProjectResult>;
|
|
18
|
+
export interface RemoveProjectInput {
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
21
|
+
export interface RemoveProjectResult {
|
|
22
|
+
success: boolean;
|
|
23
|
+
removed?: string;
|
|
24
|
+
note?: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function handleRemoveProject(input: RemoveProjectInput): Promise<RemoveProjectResult>;
|
|
28
|
+
//# sourceMappingURL=manage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/tools/manage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOjD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;CACxD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAwC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAgB9B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { existsSync, statSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { addProject as addProjectToRegistry, removeProject as removeProjectFromRegistry, getProject as getRegistryProject, } from '@cortex/core';
|
|
4
|
+
export async function handleAddProject(input, store) {
|
|
5
|
+
const rootPath = resolve(input.path);
|
|
6
|
+
if (!existsSync(rootPath)) {
|
|
7
|
+
return { success: false, error: 'Path does not exist' };
|
|
8
|
+
}
|
|
9
|
+
const stat = statSync(rootPath);
|
|
10
|
+
if (!stat.isDirectory()) {
|
|
11
|
+
return { success: false, error: 'Path is not a directory' };
|
|
12
|
+
}
|
|
13
|
+
// Check if already registered
|
|
14
|
+
const existing = getRegistryProject(input.name);
|
|
15
|
+
if (existing) {
|
|
16
|
+
return { success: false, error: `Project "${input.name}" already exists` };
|
|
17
|
+
}
|
|
18
|
+
// Add to file-based registry
|
|
19
|
+
addProjectToRegistry(input.name, rootPath);
|
|
20
|
+
// Add to DB
|
|
21
|
+
const privacyLevel = input.privacyLevel ?? 'standard';
|
|
22
|
+
const project = await store.createProject({
|
|
23
|
+
name: input.name,
|
|
24
|
+
rootPath,
|
|
25
|
+
privacyLevel,
|
|
26
|
+
fileCount: 0,
|
|
27
|
+
entityCount: 0,
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
success: true,
|
|
31
|
+
project: {
|
|
32
|
+
id: project.id,
|
|
33
|
+
name: project.name,
|
|
34
|
+
rootPath: project.rootPath,
|
|
35
|
+
privacyLevel: project.privacyLevel,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export async function handleRemoveProject(input) {
|
|
40
|
+
const existing = getRegistryProject(input.name);
|
|
41
|
+
if (!existing) {
|
|
42
|
+
return { success: false, error: `Project "${input.name}" not found in registry` };
|
|
43
|
+
}
|
|
44
|
+
const removed = removeProjectFromRegistry(input.name);
|
|
45
|
+
if (!removed) {
|
|
46
|
+
return { success: false, error: 'Failed to remove project from registry' };
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
success: true,
|
|
50
|
+
removed: input.name,
|
|
51
|
+
note: 'Project removed from registry. Entities are preserved in the knowledge graph.',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=manage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/tools/manage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,UAAU,IAAI,oBAAoB,EAClC,aAAa,IAAI,yBAAyB,EAC1C,UAAU,IAAI,kBAAkB,GACjC,MAAM,cAAc,CAAC;AActB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAsB,EACtB,KAAkB;IAElB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAC9D,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;IAC7E,CAAC;IAED,6BAA6B;IAC7B,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3C,YAAY;IACZ,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;QACxC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ;QACR,YAAY;QACZ,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;KACf,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC;KACF,CAAC;AACJ,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAyB;IAEzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,KAAK,CAAC,IAAI,yBAAyB,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK,CAAC,IAAI;QACnB,IAAI,EAAE,+EAA+E;KACtF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SQLiteStore } from '@cortex/graph';
|
|
2
|
+
export interface SearchEntitiesInput {
|
|
3
|
+
query: string;
|
|
4
|
+
limit?: number;
|
|
5
|
+
type?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SearchEntitiesResult {
|
|
8
|
+
count: number;
|
|
9
|
+
entities: Array<{
|
|
10
|
+
id: string;
|
|
11
|
+
type: string;
|
|
12
|
+
name: string;
|
|
13
|
+
summary?: string;
|
|
14
|
+
sourceFile: string;
|
|
15
|
+
confidence: number;
|
|
16
|
+
tags: string[];
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export declare function handleSearchEntities(input: SearchEntitiesInput, store: SQLiteStore): Promise<SearchEntitiesResult>;
|
|
20
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,oBAAoB,CAAC,CAoB/B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export async function handleSearchEntities(input, store) {
|
|
2
|
+
const limit = Math.max(1, Math.min(input.limit ?? 20, 100));
|
|
3
|
+
let entities = await store.searchEntities(input.query, limit);
|
|
4
|
+
if (input.type) {
|
|
5
|
+
entities = entities.filter((e) => e.type === input.type);
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
8
|
+
count: entities.length,
|
|
9
|
+
entities: entities.map((e) => ({
|
|
10
|
+
id: e.id,
|
|
11
|
+
type: e.type,
|
|
12
|
+
name: e.name,
|
|
13
|
+
summary: e.summary,
|
|
14
|
+
sourceFile: e.sourceFile,
|
|
15
|
+
confidence: e.confidence,
|
|
16
|
+
tags: e.tags,
|
|
17
|
+
})),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAA0B,EAC1B,KAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE9D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|