@brain-protocol/mcp 0.1.1 → 0.2.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/README.md +76 -122
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +56 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -7
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +166 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +46 -0
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/store/adapter.d.ts +5 -0
- package/dist/store/adapter.d.ts.map +1 -1
- package/dist/store/cloud.d.ts +6 -4
- package/dist/store/cloud.d.ts.map +1 -1
- package/dist/store/cloud.js +66 -115
- package/dist/store/cloud.js.map +1 -1
- package/dist/store/sqlite.d.ts +12 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +267 -12
- package/dist/store/sqlite.js.map +1 -1
- package/dist/tools/delete.d.ts +6 -0
- package/dist/tools/delete.d.ts.map +1 -0
- package/dist/tools/delete.js +7 -0
- package/dist/tools/delete.js.map +1 -0
- package/dist/tools/import.d.ts +5 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +6 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +176 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +63 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/update.d.ts +5 -0
- package/dist/tools/update.d.ts.map +1 -0
- package/dist/tools/update.js +10 -0
- package/dist/tools/update.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/schemas.js
CHANGED
|
@@ -6,6 +6,7 @@ export const queryKnowledgeSchema = z.object({
|
|
|
6
6
|
tags: z.string().optional(),
|
|
7
7
|
limit: z.number().int().min(1).max(100).optional().default(10),
|
|
8
8
|
offset: z.number().int().min(0).optional().default(0),
|
|
9
|
+
brain_id: z.string().uuid().optional(),
|
|
9
10
|
});
|
|
10
11
|
export const archiveKnowledgeSchema = z.object({
|
|
11
12
|
content: z.string().min(1),
|
|
@@ -18,6 +19,8 @@ export const archiveKnowledgeSchema = z.object({
|
|
|
18
19
|
tags: z.array(z.string()).optional().default([]),
|
|
19
20
|
confidence: z.number().min(0).max(1).optional().default(0.8),
|
|
20
21
|
metadata: z.record(z.unknown()).optional().default({}),
|
|
22
|
+
is_public: z.boolean().optional().default(false),
|
|
23
|
+
brain_id: z.string().uuid().optional(),
|
|
21
24
|
});
|
|
22
25
|
export const createEdgeSchema = z.object({
|
|
23
26
|
source_id: z.string().uuid(),
|
|
@@ -49,4 +52,47 @@ export const verifySchema = z.object({
|
|
|
49
52
|
export const exportSchema = z.object({
|
|
50
53
|
format: z.enum(["json"]).optional().default("json"),
|
|
51
54
|
});
|
|
55
|
+
export const updateKnowledgeSchema = z.object({
|
|
56
|
+
id: z.string().uuid(),
|
|
57
|
+
content: z.string().min(1).optional(),
|
|
58
|
+
content_type: z
|
|
59
|
+
.enum(["markdown", "code", "decision", "pattern", "documentation", "git_commit", "json", "structured_data"])
|
|
60
|
+
.optional(),
|
|
61
|
+
author: z.string().optional(),
|
|
62
|
+
category: z.string().optional(),
|
|
63
|
+
tags: z.array(z.string()).optional(),
|
|
64
|
+
confidence: z.number().min(0).max(1).optional(),
|
|
65
|
+
metadata: z.record(z.unknown()).optional(),
|
|
66
|
+
is_public: z.boolean().optional(),
|
|
67
|
+
brain_id: z.string().uuid().optional(),
|
|
68
|
+
});
|
|
69
|
+
export const deleteKnowledgeSchema = z.object({
|
|
70
|
+
id: z.string().uuid(),
|
|
71
|
+
});
|
|
72
|
+
export const importDataSchema = z.object({
|
|
73
|
+
entries: z.array(z.object({
|
|
74
|
+
id: z.string(),
|
|
75
|
+
content: z.string(),
|
|
76
|
+
content_type: z.string().optional().default("markdown"),
|
|
77
|
+
author: z.string().optional().default("user"),
|
|
78
|
+
category: z.string().optional().default("documentation"),
|
|
79
|
+
tags: z.array(z.string()).optional().default([]),
|
|
80
|
+
metadata: z.record(z.unknown()).optional().default({}),
|
|
81
|
+
confidence: z.number().optional().default(0.8),
|
|
82
|
+
created_at: z.string(),
|
|
83
|
+
updated_at: z.string(),
|
|
84
|
+
brain_id: z.string().optional(),
|
|
85
|
+
is_public: z.boolean().optional().default(false),
|
|
86
|
+
})),
|
|
87
|
+
edges: z.array(z.object({
|
|
88
|
+
id: z.string(),
|
|
89
|
+
source_id: z.string(),
|
|
90
|
+
target_id: z.string(),
|
|
91
|
+
edge_type: z.string(),
|
|
92
|
+
confidence: z.number().nullable().optional(),
|
|
93
|
+
created_at: z.string(),
|
|
94
|
+
})).optional().default([]),
|
|
95
|
+
exportedAt: z.string().optional(),
|
|
96
|
+
mode: z.enum(["local", "cloud"]).optional(),
|
|
97
|
+
});
|
|
52
98
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
2
|
import type { StoreAdapter } from "./store/adapter.js";
|
|
3
|
-
export declare function createMCPServer(store: StoreAdapter): Server;
|
|
3
|
+
export declare function createMCPServer(store: StoreAdapter, version?: string): Server;
|
|
4
4
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,SAAU,GAAG,MAAM,CA4B9E"}
|
package/dist/server.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
2
|
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
3
3
|
import { handleTool, toolDefinitions } from "./tools/index.js";
|
|
4
|
-
export function createMCPServer(store) {
|
|
5
|
-
const server = new Server({ name: "brain-protocol", version
|
|
4
|
+
export function createMCPServer(store, version = "0.2.0") {
|
|
5
|
+
const server = new Server({ name: "brain-protocol", version }, { capabilities: { tools: {} } });
|
|
6
6
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
7
7
|
tools: toolDefinitions,
|
|
8
8
|
}));
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,KAAmB;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,KAAmB,EAAE,OAAO,GAAG,OAAO;IACpE,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACnC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC,CAAC;YACtF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACrE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/store/adapter.d.ts
CHANGED
|
@@ -9,10 +9,15 @@ export interface StoreAdapter {
|
|
|
9
9
|
}>;
|
|
10
10
|
create(input: CreateEntryInput): Promise<KnowledgeEntry>;
|
|
11
11
|
getById(id: string): Promise<KnowledgeEntry | null>;
|
|
12
|
+
update(id: string, input: Partial<CreateEntryInput>): Promise<KnowledgeEntry | null>;
|
|
13
|
+
delete(id: string): Promise<boolean>;
|
|
12
14
|
createEdge(input: CreateEdgeInput): Promise<KnowledgeEdge>;
|
|
13
15
|
traverseGraph(entryId: string, depth: number): Promise<GraphResult>;
|
|
14
16
|
getStats(): Promise<StoreStats>;
|
|
15
17
|
exportAll(): Promise<ExportData>;
|
|
18
|
+
importData(data: ExportData): Promise<{
|
|
19
|
+
imported: number;
|
|
20
|
+
}>;
|
|
16
21
|
prove?(entryId: string): Promise<ProveResult>;
|
|
17
22
|
verify?(entryId: string): Promise<VerifyResult>;
|
|
18
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/store/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAEjC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/store/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAEjC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEpE,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE5D,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACjD"}
|
package/dist/store/cloud.d.ts
CHANGED
|
@@ -2,23 +2,25 @@ import type { StoreAdapter } from "./adapter.js";
|
|
|
2
2
|
import type { CreateEdgeInput, CreateEntryInput, ExportData, GraphResult, KnowledgeEdge, KnowledgeEntry, ProveResult, QueryOptions, StoreStats, VerifyResult } from "../types.js";
|
|
3
3
|
export declare class CloudStore implements StoreAdapter {
|
|
4
4
|
readonly mode: "cloud";
|
|
5
|
-
private
|
|
6
|
-
private apiKey;
|
|
5
|
+
private client;
|
|
7
6
|
constructor(baseUrl: string, apiKey?: string);
|
|
8
7
|
initialize(): Promise<void>;
|
|
9
8
|
close(): Promise<void>;
|
|
10
|
-
private fetch;
|
|
11
|
-
private fetchJson;
|
|
12
9
|
query(options: QueryOptions): Promise<{
|
|
13
10
|
entries: KnowledgeEntry[];
|
|
14
11
|
total: number;
|
|
15
12
|
}>;
|
|
16
13
|
create(input: CreateEntryInput): Promise<KnowledgeEntry>;
|
|
17
14
|
getById(id: string): Promise<KnowledgeEntry | null>;
|
|
15
|
+
update(id: string, input: Partial<CreateEntryInput>): Promise<KnowledgeEntry | null>;
|
|
16
|
+
delete(id: string): Promise<boolean>;
|
|
18
17
|
createEdge(input: CreateEdgeInput): Promise<KnowledgeEdge>;
|
|
19
18
|
traverseGraph(entryId: string, depth: number): Promise<GraphResult>;
|
|
20
19
|
getStats(): Promise<StoreStats>;
|
|
21
20
|
exportAll(): Promise<ExportData>;
|
|
21
|
+
importData(data: ExportData): Promise<{
|
|
22
|
+
imported: number;
|
|
23
|
+
}>;
|
|
22
24
|
prove(entryId: string): Promise<ProveResult>;
|
|
23
25
|
verify(entryId: string): Promise<VerifyResult>;
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/store/cloud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/store/cloud.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,qBAAa,UAAW,YAAW,YAAY;IAC7C,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,OAAO,CAAC,MAAM,CAAc;gBAEhB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAInF,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAInD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWpF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpC,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAInE,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAI/B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAQhC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAqC3D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAGrD"}
|
package/dist/store/cloud.js
CHANGED
|
@@ -1,151 +1,102 @@
|
|
|
1
|
+
import { BrainClient } from "@brain-protocol/sdk";
|
|
1
2
|
export class CloudStore {
|
|
2
3
|
mode = "cloud";
|
|
3
|
-
|
|
4
|
-
apiKey;
|
|
4
|
+
client;
|
|
5
5
|
constructor(baseUrl, apiKey) {
|
|
6
|
-
this.
|
|
7
|
-
|
|
6
|
+
this.client = new BrainClient({
|
|
7
|
+
baseUrl,
|
|
8
|
+
apiKey,
|
|
9
|
+
});
|
|
8
10
|
}
|
|
9
11
|
async initialize() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
throw new Error(`Cloud store initialization failed: ${res.status} ${res.statusText}`);
|
|
12
|
+
const ok = await this.client.ping();
|
|
13
|
+
if (!ok) {
|
|
14
|
+
throw new Error("Cloud store initialization failed: health check returned non-200");
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
async close() {
|
|
17
18
|
// No-op for HTTP client
|
|
18
19
|
}
|
|
19
|
-
async fetch(path, options) {
|
|
20
|
-
const headers = {
|
|
21
|
-
"Content-Type": "application/json",
|
|
22
|
-
...options?.headers,
|
|
23
|
-
};
|
|
24
|
-
if (this.apiKey) {
|
|
25
|
-
headers["Authorization"] = `Bearer ${this.apiKey}`;
|
|
26
|
-
}
|
|
27
|
-
return globalThis.fetch(`${this.baseUrl}${path}`, {
|
|
28
|
-
...options,
|
|
29
|
-
headers,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
async fetchJson(path, options) {
|
|
33
|
-
const res = await this.fetch(path, options);
|
|
34
|
-
if (!res.ok) {
|
|
35
|
-
const text = await res.text().catch(() => "Unknown error");
|
|
36
|
-
throw new Error(`Cloud API error ${res.status}: ${text}`);
|
|
37
|
-
}
|
|
38
|
-
const body = await res.json();
|
|
39
|
-
// Brain API wraps responses in { success, data }
|
|
40
|
-
if (body && typeof body === "object" && "data" in body) {
|
|
41
|
-
return body.data;
|
|
42
|
-
}
|
|
43
|
-
return body;
|
|
44
|
-
}
|
|
45
20
|
async query(options) {
|
|
46
|
-
|
|
47
|
-
if (options.q)
|
|
48
|
-
params.set("q", options.q);
|
|
49
|
-
if (options.category)
|
|
50
|
-
params.set("category", options.category);
|
|
51
|
-
if (options.author)
|
|
52
|
-
params.set("author", options.author);
|
|
53
|
-
if (options.tags)
|
|
54
|
-
params.set("tags", options.tags);
|
|
55
|
-
if (options.limit !== undefined)
|
|
56
|
-
params.set("limit", String(options.limit));
|
|
57
|
-
if (options.offset !== undefined)
|
|
58
|
-
params.set("offset", String(options.offset));
|
|
59
|
-
const qs = params.toString();
|
|
60
|
-
const path = `/api/knowledge${qs ? `?${qs}` : ""}`;
|
|
61
|
-
const res = await this.fetch(path);
|
|
62
|
-
if (!res.ok) {
|
|
63
|
-
throw new Error(`Cloud API error ${res.status}`);
|
|
64
|
-
}
|
|
65
|
-
const body = (await res.json());
|
|
66
|
-
const data = body.data;
|
|
67
|
-
const meta = body.meta;
|
|
68
|
-
// Brain API: { success, data: { entries, total } } or { success, data: [...], meta: { total } }
|
|
69
|
-
if (data && !Array.isArray(data) && data.entries) {
|
|
70
|
-
const entries = data.entries;
|
|
71
|
-
return { entries, total: data.total ?? entries.length };
|
|
72
|
-
}
|
|
73
|
-
if (Array.isArray(data)) {
|
|
74
|
-
return { entries: data, total: meta?.total ?? data.length };
|
|
75
|
-
}
|
|
76
|
-
return { entries: [], total: 0 };
|
|
21
|
+
return this.client.knowledge.query(options);
|
|
77
22
|
}
|
|
78
23
|
async create(input) {
|
|
79
|
-
return this.
|
|
80
|
-
method: "POST",
|
|
81
|
-
body: JSON.stringify({
|
|
82
|
-
content: input.content,
|
|
83
|
-
content_type: input.content_type ?? "markdown",
|
|
84
|
-
author: input.author ?? "user",
|
|
85
|
-
category: input.category ?? "documentation",
|
|
86
|
-
tags: input.tags ?? [],
|
|
87
|
-
confidence: input.confidence ?? 0.8,
|
|
88
|
-
metadata: input.metadata ?? {},
|
|
89
|
-
}),
|
|
90
|
-
});
|
|
24
|
+
return this.client.knowledge.create(input);
|
|
91
25
|
}
|
|
92
26
|
async getById(id) {
|
|
27
|
+
return this.client.knowledge.get(id);
|
|
28
|
+
}
|
|
29
|
+
async update(id, input) {
|
|
93
30
|
try {
|
|
94
|
-
return await this.
|
|
31
|
+
return await this.client.knowledge.update(id, input);
|
|
95
32
|
}
|
|
96
|
-
catch {
|
|
97
|
-
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (err instanceof Error && "status" in err && err.status === 404) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
throw err;
|
|
98
38
|
}
|
|
99
39
|
}
|
|
40
|
+
async delete(id) {
|
|
41
|
+
return this.client.knowledge.delete(id);
|
|
42
|
+
}
|
|
100
43
|
async createEdge(input) {
|
|
101
|
-
return this.
|
|
102
|
-
method: "POST",
|
|
103
|
-
body: JSON.stringify(input),
|
|
104
|
-
});
|
|
44
|
+
return this.client.edges.create(input);
|
|
105
45
|
}
|
|
106
46
|
async traverseGraph(entryId, depth) {
|
|
107
|
-
|
|
108
|
-
return {
|
|
109
|
-
nodes: data.nodes ?? [],
|
|
110
|
-
totalNodes: data.totalNodes ?? data.nodes?.length ?? 0,
|
|
111
|
-
totalEdges: data.totalEdges ?? 0,
|
|
112
|
-
};
|
|
47
|
+
return this.client.graph.traverse(entryId, depth);
|
|
113
48
|
}
|
|
114
49
|
async getStats() {
|
|
115
|
-
return this.
|
|
50
|
+
return this.client.stats();
|
|
116
51
|
}
|
|
117
52
|
async exportAll() {
|
|
118
|
-
const
|
|
119
|
-
let offset = 0;
|
|
120
|
-
const limit = 100;
|
|
121
|
-
// Paginated export
|
|
122
|
-
while (true) {
|
|
123
|
-
const { entries } = await this.query({ limit, offset });
|
|
124
|
-
allEntries.push(...entries);
|
|
125
|
-
if (entries.length < limit)
|
|
126
|
-
break;
|
|
127
|
-
offset += limit;
|
|
128
|
-
}
|
|
53
|
+
const result = await this.client.export();
|
|
129
54
|
return {
|
|
130
|
-
|
|
131
|
-
edges: [],
|
|
132
|
-
exportedAt: new Date().toISOString(),
|
|
55
|
+
...result,
|
|
133
56
|
mode: "cloud",
|
|
134
57
|
};
|
|
135
58
|
}
|
|
59
|
+
async importData(data) {
|
|
60
|
+
let imported = 0;
|
|
61
|
+
for (const entry of data.entries) {
|
|
62
|
+
try {
|
|
63
|
+
await this.client.knowledge.create({
|
|
64
|
+
content: entry.content,
|
|
65
|
+
content_type: entry.content_type,
|
|
66
|
+
author: entry.author,
|
|
67
|
+
category: entry.category,
|
|
68
|
+
tags: entry.tags,
|
|
69
|
+
confidence: entry.confidence,
|
|
70
|
+
metadata: entry.metadata,
|
|
71
|
+
brain_id: entry.brain_id,
|
|
72
|
+
is_public: entry.is_public,
|
|
73
|
+
});
|
|
74
|
+
imported++;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Skip entries that fail (e.g., duplicates)
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
for (const edge of data.edges) {
|
|
81
|
+
try {
|
|
82
|
+
await this.client.edges.create({
|
|
83
|
+
source_id: edge.source_id,
|
|
84
|
+
target_id: edge.target_id,
|
|
85
|
+
edge_type: edge.edge_type,
|
|
86
|
+
confidence: edge.confidence ?? undefined,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Skip edges that fail
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return { imported };
|
|
94
|
+
}
|
|
136
95
|
async prove(entryId) {
|
|
137
|
-
return this.
|
|
138
|
-
method: "POST",
|
|
139
|
-
});
|
|
96
|
+
return this.client.knowledge.prove(entryId);
|
|
140
97
|
}
|
|
141
98
|
async verify(entryId) {
|
|
142
|
-
|
|
143
|
-
return {
|
|
144
|
-
verified: !!entry.chain_hash,
|
|
145
|
-
contentHash: entry.chain_hash ?? null,
|
|
146
|
-
txHash: entry.proof_tx ?? null,
|
|
147
|
-
anchorId: entry.anchor_id ?? null,
|
|
148
|
-
};
|
|
99
|
+
return this.client.knowledge.verify(entryId);
|
|
149
100
|
}
|
|
150
101
|
}
|
|
151
102
|
//# sourceMappingURL=cloud.js.map
|
package/dist/store/cloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/store/cloud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/store/cloud.ts"],"names":[],"mappings":"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"}
|
package/dist/store/sqlite.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { StoreAdapter } from "./adapter.js";
|
|
2
2
|
import type { CreateEdgeInput, CreateEntryInput, ExportData, GraphResult, KnowledgeEdge, KnowledgeEntry, QueryOptions, StoreStats } from "../types.js";
|
|
3
|
+
/** Sanitize user query for FTS5 MATCH — strip operators, quote each term */
|
|
4
|
+
export declare function sanitizeFtsQuery(q: string): string;
|
|
3
5
|
export declare class SQLiteStore implements StoreAdapter {
|
|
4
6
|
readonly mode: "local";
|
|
5
7
|
private db;
|
|
@@ -8,15 +10,25 @@ export declare class SQLiteStore implements StoreAdapter {
|
|
|
8
10
|
initialize(): Promise<void>;
|
|
9
11
|
close(): Promise<void>;
|
|
10
12
|
private getDb;
|
|
13
|
+
/** Detect current schema version and run incremental migrations */
|
|
14
|
+
private runMigrations;
|
|
15
|
+
/** Rebuild FTS index from knowledge_entries table */
|
|
16
|
+
private rebuildFtsIndex;
|
|
17
|
+
getSchemaVersion(): number;
|
|
11
18
|
query(options: QueryOptions): Promise<{
|
|
12
19
|
entries: KnowledgeEntry[];
|
|
13
20
|
total: number;
|
|
14
21
|
}>;
|
|
15
22
|
create(input: CreateEntryInput): Promise<KnowledgeEntry>;
|
|
16
23
|
getById(id: string): Promise<KnowledgeEntry | null>;
|
|
24
|
+
update(id: string, input: Partial<CreateEntryInput>): Promise<KnowledgeEntry | null>;
|
|
25
|
+
delete(id: string): Promise<boolean>;
|
|
17
26
|
createEdge(input: CreateEdgeInput): Promise<KnowledgeEdge>;
|
|
18
27
|
traverseGraph(entryId: string, depth: number): Promise<GraphResult>;
|
|
19
28
|
getStats(): Promise<StoreStats>;
|
|
20
29
|
exportAll(): Promise<ExportData>;
|
|
30
|
+
importData(data: ExportData): Promise<{
|
|
31
|
+
imported: number;
|
|
32
|
+
}>;
|
|
21
33
|
}
|
|
22
34
|
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EAEV,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EAEV,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AA+GrB,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQlD;AAoCD,qBAAa,WAAY,YAAW,YAAY;IAC9C,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,KAAK;IAKb,mEAAmE;IACnE,OAAO,CAAC,aAAa;IAkFrB,qDAAqD;IACrD,OAAO,CAAC,eAAe;IASvB,gBAAgB,IAAI,MAAM;IAYpB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA+EnF,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IA6BxD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAMnD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA8DpF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpC,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAe1D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0EnE,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IA4B/B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAchC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAiDlE"}
|