backpack-ontology 0.7.1 → 0.7.2
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/bin/backpack-sync.js +49 -3
- package/dist/bin/backpack-sync.js.map +1 -1
- package/dist/core/backpack.d.ts +7 -0
- package/dist/core/backpack.d.ts.map +1 -1
- package/dist/core/backpack.js +24 -1
- package/dist/core/backpack.js.map +1 -1
- package/dist/core/backpacks-registry.d.ts +22 -0
- package/dist/core/backpacks-registry.d.ts.map +1 -1
- package/dist/core/backpacks-registry.js +67 -0
- package/dist/core/backpacks-registry.js.map +1 -1
- package/dist/core/document-store.d.ts +94 -0
- package/dist/core/document-store.d.ts.map +1 -0
- package/dist/core/document-store.js +430 -0
- package/dist/core/document-store.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/kb-tools.d.ts +4 -0
- package/dist/mcp/tools/kb-tools.d.ts.map +1 -0
- package/dist/mcp/tools/kb-tools.js +229 -0
- package/dist/mcp/tools/kb-tools.js.map +1 -0
- package/dist/mcp/tools/share-tools.d.ts.map +1 -1
- package/dist/mcp/tools/share-tools.js +118 -3
- package/dist/mcp/tools/share-tools.js.map +1 -1
- package/dist/sharing/envelope.d.ts +2 -0
- package/dist/sharing/envelope.d.ts.map +1 -1
- package/dist/sharing/envelope.js +1 -0
- package/dist/sharing/envelope.js.map +1 -1
- package/dist/sharing/index.d.ts +1 -1
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js +1 -1
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/relay.d.ts +0 -10
- package/dist/sharing/relay.d.ts.map +1 -1
- package/dist/sharing/relay.js +0 -28
- package/dist/sharing/relay.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { trackEvent } from "../../core/telemetry.js";
|
|
3
|
+
import { addKBMount, removeKBMount } from "../../core/backpacks-registry.js";
|
|
4
|
+
export function registerKBTools(server, backpack) {
|
|
5
|
+
server.registerTool("backpack_kb_save", {
|
|
6
|
+
title: "Save KB Document",
|
|
7
|
+
description: "Save a document to the knowledge base. Documents are markdown with metadata (tags, source graphs, source nodes). Use this to persist synthesis outputs, reports, analyses, or any derived artifact. Provide an id to update an existing document.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
title: z.string().describe("Document title"),
|
|
10
|
+
content: z.string().describe("Markdown content (body only, no frontmatter)"),
|
|
11
|
+
tags: z.array(z.string()).optional().describe("Tags for organizing and searching"),
|
|
12
|
+
sourceGraphs: z.array(z.string()).optional().describe("Learning graphs that informed this document"),
|
|
13
|
+
sourceNodeIds: z.array(z.string()).optional().describe("Specific node IDs that informed this document"),
|
|
14
|
+
id: z.string().optional().describe("Document ID (omit for new, provide to update existing)"),
|
|
15
|
+
collection: z.string().optional().describe("Which KB mount to save to (defaults to primary writable mount)"),
|
|
16
|
+
},
|
|
17
|
+
}, async ({ title, content, tags, sourceGraphs, sourceNodeIds, id, collection }) => {
|
|
18
|
+
try {
|
|
19
|
+
const docs = await backpack.documents();
|
|
20
|
+
const doc = await docs.save({
|
|
21
|
+
title,
|
|
22
|
+
content,
|
|
23
|
+
tags: tags,
|
|
24
|
+
sourceGraphs: sourceGraphs,
|
|
25
|
+
sourceNodeIds: sourceNodeIds,
|
|
26
|
+
id: id,
|
|
27
|
+
collection: collection,
|
|
28
|
+
});
|
|
29
|
+
trackEvent("tool_call", { tool: "backpack_kb_save" });
|
|
30
|
+
return {
|
|
31
|
+
content: [{
|
|
32
|
+
type: "text",
|
|
33
|
+
text: JSON.stringify({
|
|
34
|
+
id: doc.id,
|
|
35
|
+
title: doc.title,
|
|
36
|
+
collection: doc.collection,
|
|
37
|
+
tags: doc.tags,
|
|
38
|
+
sourceGraphs: doc.sourceGraphs,
|
|
39
|
+
createdAt: doc.createdAt,
|
|
40
|
+
updatedAt: doc.updatedAt,
|
|
41
|
+
}, null, 2),
|
|
42
|
+
}],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
server.registerTool("backpack_kb_list", {
|
|
50
|
+
title: "List KB Documents",
|
|
51
|
+
description: "List documents in the knowledge base. Aggregates across all KB mounts, or filter by collection.",
|
|
52
|
+
annotations: { readOnlyHint: true },
|
|
53
|
+
inputSchema: {
|
|
54
|
+
collection: z.string().optional().describe("Filter to a specific KB mount (omit for all)"),
|
|
55
|
+
limit: z.number().int().optional().describe("Maximum documents to return (pagination)"),
|
|
56
|
+
offset: z.number().int().optional().describe("Number of documents to skip (pagination)"),
|
|
57
|
+
},
|
|
58
|
+
}, async ({ collection, limit, offset }) => {
|
|
59
|
+
try {
|
|
60
|
+
const docs = await backpack.documents();
|
|
61
|
+
const list = await docs.list({
|
|
62
|
+
collection: collection,
|
|
63
|
+
limit: limit,
|
|
64
|
+
offset: offset,
|
|
65
|
+
});
|
|
66
|
+
trackEvent("tool_call", { tool: "backpack_kb_list" });
|
|
67
|
+
return {
|
|
68
|
+
content: [{ type: "text", text: JSON.stringify(list, null, 2) }],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
server.registerTool("backpack_kb_read", {
|
|
76
|
+
title: "Read KB Document",
|
|
77
|
+
description: "Read the full content of a knowledge base document by ID.",
|
|
78
|
+
annotations: { readOnlyHint: true },
|
|
79
|
+
inputSchema: {
|
|
80
|
+
id: z.string().describe("Document ID"),
|
|
81
|
+
},
|
|
82
|
+
}, async ({ id }) => {
|
|
83
|
+
try {
|
|
84
|
+
const docs = await backpack.documents();
|
|
85
|
+
const doc = await docs.read(id);
|
|
86
|
+
trackEvent("tool_call", { tool: "backpack_kb_read" });
|
|
87
|
+
return {
|
|
88
|
+
content: [{ type: "text", text: JSON.stringify(doc, null, 2) }],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
server.registerTool("backpack_kb_delete", {
|
|
96
|
+
title: "Delete KB Document",
|
|
97
|
+
description: "Delete a document from the knowledge base. Cannot delete from read-only mounts.",
|
|
98
|
+
inputSchema: {
|
|
99
|
+
id: z.string().describe("Document ID to delete"),
|
|
100
|
+
},
|
|
101
|
+
}, async ({ id }) => {
|
|
102
|
+
try {
|
|
103
|
+
const docs = await backpack.documents();
|
|
104
|
+
await docs.delete(id);
|
|
105
|
+
trackEvent("tool_call", { tool: "backpack_kb_delete" });
|
|
106
|
+
return {
|
|
107
|
+
content: [{ type: "text", text: `Document "${id}" deleted.` }],
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
server.registerTool("backpack_kb_search", {
|
|
115
|
+
title: "Search KB Documents",
|
|
116
|
+
description: "Search documents by text query across title, tags, and content. Optionally filter by collection.",
|
|
117
|
+
annotations: { readOnlyHint: true },
|
|
118
|
+
inputSchema: {
|
|
119
|
+
query: z.string().describe("Search query (case-insensitive substring match)"),
|
|
120
|
+
collection: z.string().optional().describe("Filter to a specific KB mount"),
|
|
121
|
+
limit: z.number().int().optional().describe("Maximum results to return (pagination)"),
|
|
122
|
+
offset: z.number().int().optional().describe("Number of results to skip (pagination)"),
|
|
123
|
+
},
|
|
124
|
+
}, async ({ query, collection, limit, offset }) => {
|
|
125
|
+
try {
|
|
126
|
+
const docs = await backpack.documents();
|
|
127
|
+
const results = await docs.search(query, {
|
|
128
|
+
collection: collection,
|
|
129
|
+
limit: limit,
|
|
130
|
+
offset: offset,
|
|
131
|
+
});
|
|
132
|
+
trackEvent("tool_call", { tool: "backpack_kb_search" });
|
|
133
|
+
return {
|
|
134
|
+
content: [{ type: "text", text: JSON.stringify(results, null, 2) }],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
server.registerTool("backpack_kb_ingest", {
|
|
142
|
+
title: "Ingest KB Document",
|
|
143
|
+
description: "Read a document from the KB (by ID) or from an arbitrary file path, and return its content formatted for mining into a learning graph. Use this to feed existing documents back into the mine → graph → synthesize cycle.",
|
|
144
|
+
annotations: { readOnlyHint: true },
|
|
145
|
+
inputSchema: {
|
|
146
|
+
id: z.string().optional().describe("Document ID to ingest from the KB"),
|
|
147
|
+
path: z.string().optional().describe("Arbitrary file path to ingest (e.g., a colleague's shared file)"),
|
|
148
|
+
},
|
|
149
|
+
}, async ({ id, path: filePath }) => {
|
|
150
|
+
try {
|
|
151
|
+
const docs = await backpack.documents();
|
|
152
|
+
const result = await docs.ingest({
|
|
153
|
+
id: id,
|
|
154
|
+
path: filePath,
|
|
155
|
+
});
|
|
156
|
+
trackEvent("tool_call", { tool: "backpack_kb_ingest" });
|
|
157
|
+
const wikilinkSection = result.wikilinks.length > 0
|
|
158
|
+
? `\nReferenced documents (via [[wikilinks]]): ${result.wikilinks.map((w) => w.target).join(", ")}\n`
|
|
159
|
+
: "";
|
|
160
|
+
return {
|
|
161
|
+
content: [{
|
|
162
|
+
type: "text",
|
|
163
|
+
text: `Source document: "${result.title}"\n${result.sourceGraphs.length > 0 ? `Derived from graphs: ${result.sourceGraphs.join(", ")}\n` : ""}${wikilinkSection}\n---\n\n${result.content}`,
|
|
164
|
+
}],
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
server.registerTool("backpack_kb_mounts", {
|
|
172
|
+
title: "List KB Mounts",
|
|
173
|
+
description: "List all configured KB mounts for the active backpack, with document counts.",
|
|
174
|
+
annotations: { readOnlyHint: true },
|
|
175
|
+
inputSchema: {},
|
|
176
|
+
}, async () => {
|
|
177
|
+
try {
|
|
178
|
+
const docs = await backpack.documents();
|
|
179
|
+
const mounts = await docs.listMounts();
|
|
180
|
+
trackEvent("tool_call", { tool: "backpack_kb_mounts" });
|
|
181
|
+
return {
|
|
182
|
+
content: [{ type: "text", text: JSON.stringify(mounts, null, 2) }],
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
server.registerTool("backpack_kb_mount", {
|
|
190
|
+
title: "Add/Remove KB Mount",
|
|
191
|
+
description: "Add or remove a KB mount for the active backpack. Mounts are named filesystem paths. Use this to connect an Obsidian vault, shared drive, or any folder as a KB source.",
|
|
192
|
+
inputSchema: {
|
|
193
|
+
action: z.enum(["add", "remove"]).describe("Whether to add or remove a mount"),
|
|
194
|
+
name: z.string().describe("Mount name (e.g., 'team', 'obsidian', 'client-x')"),
|
|
195
|
+
path: z.string().optional().describe("Filesystem path (required for add)"),
|
|
196
|
+
writable: z.boolean().optional().describe("Whether this mount is writable (default true). Set false for read-only access to others' shared folders."),
|
|
197
|
+
},
|
|
198
|
+
}, async ({ action, name, path: mountPath, writable }) => {
|
|
199
|
+
try {
|
|
200
|
+
const entry = backpack.getActiveBackpackEntry();
|
|
201
|
+
if (!entry)
|
|
202
|
+
throw new Error("No active backpack");
|
|
203
|
+
if (action === "add") {
|
|
204
|
+
if (!mountPath)
|
|
205
|
+
throw new Error("path is required for add");
|
|
206
|
+
await addKBMount(entry.path, {
|
|
207
|
+
name,
|
|
208
|
+
path: mountPath,
|
|
209
|
+
...(writable === false ? { writable: false } : {}),
|
|
210
|
+
});
|
|
211
|
+
trackEvent("tool_call", { tool: "backpack_kb_mount", action: "add" });
|
|
212
|
+
return {
|
|
213
|
+
content: [{ type: "text", text: `KB mount "${name}" added at ${mountPath}.` }],
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
await removeKBMount(entry.path, name);
|
|
218
|
+
trackEvent("tool_call", { tool: "backpack_kb_mount", action: "remove" });
|
|
219
|
+
return {
|
|
220
|
+
content: [{ type: "text", text: `KB mount "${name}" removed.` }],
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true };
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=kb-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kb-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/kb-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/share-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"share-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/share-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAsBvD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,QAAQ,GACjB,IAAI,CAoQN"}
|
|
@@ -24,11 +24,29 @@ export function registerShareTools(server, backpack) {
|
|
|
24
24
|
},
|
|
25
25
|
}, async ({ name, relayUrl, relayToken, encrypted }) => {
|
|
26
26
|
const data = await backpack.loadOntology(name);
|
|
27
|
-
|
|
27
|
+
// Load KB documents associated with this graph
|
|
28
|
+
let kbDocs = [];
|
|
29
|
+
try {
|
|
30
|
+
const docs = await backpack.documents();
|
|
31
|
+
const result = await docs.list();
|
|
32
|
+
kbDocs = await Promise.all(result.documents
|
|
33
|
+
.filter((d) => d.sourceGraphs.includes(name))
|
|
34
|
+
.map(async (d) => {
|
|
35
|
+
const full = await docs.read(d.id);
|
|
36
|
+
const { collection: _, ...rest } = full;
|
|
37
|
+
return rest;
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// No KB configured or inaccessible — share graph only
|
|
42
|
+
}
|
|
43
|
+
const shareData = { version: 2, graph: data, documents: kbDocs };
|
|
44
|
+
const plaintext = new TextEncoder().encode(JSON.stringify(shareData));
|
|
28
45
|
const stats = {
|
|
29
46
|
node_count: data.nodes.length,
|
|
30
47
|
edge_count: data.edges.length,
|
|
31
48
|
node_types: [...new Set(data.nodes.map((n) => n.type))],
|
|
49
|
+
document_count: kbDocs.length,
|
|
32
50
|
};
|
|
33
51
|
let payload;
|
|
34
52
|
let format;
|
|
@@ -53,6 +71,9 @@ export function registerShareTools(server, backpack) {
|
|
|
53
71
|
: result.url;
|
|
54
72
|
let text = `Shared "${name}" successfully.\n\nShare link: ${shareLink}`;
|
|
55
73
|
text += `\nGraph stats: ${stats.node_count} nodes, ${stats.edge_count} edges, ${stats.node_types.length} types`;
|
|
74
|
+
if (stats.document_count > 0) {
|
|
75
|
+
text += `\nKB documents: ${stats.document_count} included`;
|
|
76
|
+
}
|
|
56
77
|
if (result.expiresAt) {
|
|
57
78
|
text += `\nExpires: ${result.expiresAt}`;
|
|
58
79
|
}
|
|
@@ -64,6 +85,78 @@ export function registerShareTools(server, backpack) {
|
|
|
64
85
|
}
|
|
65
86
|
return { content: [{ type: "text", text }] };
|
|
66
87
|
});
|
|
88
|
+
// backpack_import_remote — download a cloud graph to local backpack
|
|
89
|
+
server.registerTool("backpack_import_remote", {
|
|
90
|
+
title: "Import Cloud Graph to Local",
|
|
91
|
+
description: "Download a graph from a Backpack cloud relay and save it locally. " +
|
|
92
|
+
"The graph must be plaintext (not encrypted). Requires a Bearer token " +
|
|
93
|
+
"for authentication with the relay. If a local graph with the same " +
|
|
94
|
+
"name exists, it will be overwritten.",
|
|
95
|
+
inputSchema: {
|
|
96
|
+
name: z.string().describe("Name of the cloud graph to download"),
|
|
97
|
+
relayUrl: z
|
|
98
|
+
.string()
|
|
99
|
+
.default("https://app.backpackontology.com")
|
|
100
|
+
.describe("Cloud relay URL"),
|
|
101
|
+
relayToken: z
|
|
102
|
+
.string()
|
|
103
|
+
.describe("Bearer token for the relay (requires a backpack-app account)"),
|
|
104
|
+
},
|
|
105
|
+
}, async ({ name, relayUrl, relayToken }) => {
|
|
106
|
+
try {
|
|
107
|
+
const resp = await fetch(`${relayUrl}/api/graphs/${encodeURIComponent(name)}`, {
|
|
108
|
+
headers: { Authorization: `Bearer ${relayToken}` },
|
|
109
|
+
});
|
|
110
|
+
if (!resp.ok) {
|
|
111
|
+
const body = await resp.text();
|
|
112
|
+
return {
|
|
113
|
+
content: [
|
|
114
|
+
{
|
|
115
|
+
type: "text",
|
|
116
|
+
text: `Error fetching cloud graph "${name}": ${resp.status} ${resp.statusText}\n${body}`,
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
isError: true,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
const data = await resp.json();
|
|
123
|
+
if (!data.nodes || !data.edges) {
|
|
124
|
+
return {
|
|
125
|
+
content: [
|
|
126
|
+
{
|
|
127
|
+
type: "text",
|
|
128
|
+
text: `Error: the cloud graph "${name}" does not contain plaintext graph data (it may be encrypted).`,
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
isError: true,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const exists = await backpack.ontologyExists(name);
|
|
135
|
+
if (exists) {
|
|
136
|
+
await backpack.deleteOntology(name);
|
|
137
|
+
}
|
|
138
|
+
await backpack.createOntologyFromData(name, data);
|
|
139
|
+
return {
|
|
140
|
+
content: [
|
|
141
|
+
{
|
|
142
|
+
type: "text",
|
|
143
|
+
text: `Imported cloud graph "${name}" to local backpack (${data.nodes.length} nodes, ${data.edges.length} edges).`,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
return {
|
|
150
|
+
content: [
|
|
151
|
+
{
|
|
152
|
+
type: "text",
|
|
153
|
+
text: `Error: ${err.message}`,
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
isError: true,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
});
|
|
67
160
|
// backpack_share_local — export as a .bpak file
|
|
68
161
|
server.registerTool("backpack_share_local", {
|
|
69
162
|
title: "Export Backpack",
|
|
@@ -80,7 +173,25 @@ export function registerShareTools(server, backpack) {
|
|
|
80
173
|
},
|
|
81
174
|
}, async ({ name, output, encrypted }) => {
|
|
82
175
|
const data = await backpack.loadOntology(name);
|
|
83
|
-
|
|
176
|
+
// Load KB documents associated with this graph
|
|
177
|
+
let kbDocs = [];
|
|
178
|
+
try {
|
|
179
|
+
const docs = await backpack.documents();
|
|
180
|
+
const result = await docs.list();
|
|
181
|
+
const fullDocs = await Promise.all(result.documents
|
|
182
|
+
.filter((d) => d.sourceGraphs.includes(name))
|
|
183
|
+
.map(async (d) => {
|
|
184
|
+
const full = await docs.read(d.id);
|
|
185
|
+
const { collection: _, ...rest } = full;
|
|
186
|
+
return rest;
|
|
187
|
+
}));
|
|
188
|
+
kbDocs = fullDocs;
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
// No KB configured
|
|
192
|
+
}
|
|
193
|
+
const shareData = { version: 2, graph: data, documents: kbDocs };
|
|
194
|
+
const plaintext = new TextEncoder().encode(JSON.stringify(shareData));
|
|
84
195
|
let payload;
|
|
85
196
|
let format;
|
|
86
197
|
let secretKey = "";
|
|
@@ -94,9 +205,13 @@ export function registerShareTools(server, backpack) {
|
|
|
94
205
|
payload = plaintext;
|
|
95
206
|
format = "plaintext";
|
|
96
207
|
}
|
|
97
|
-
const
|
|
208
|
+
const stats = { document_count: kbDocs.length };
|
|
209
|
+
const envelope = await createEnvelope(name, payload, format, 1, stats);
|
|
98
210
|
await writeFile(output, envelope);
|
|
99
211
|
let text = `Exported "${name}" to ${output}`;
|
|
212
|
+
if (kbDocs.length > 0) {
|
|
213
|
+
text += ` (includes ${kbDocs.length} KB document${kbDocs.length > 1 ? "s" : ""})`;
|
|
214
|
+
}
|
|
100
215
|
if (encrypted) {
|
|
101
216
|
text += `\n\nSecret key (needed to decrypt):\n${secretKey}`;
|
|
102
217
|
text +=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/share-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"share-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/share-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export interface EnvelopeHeader {
|
|
|
11
11
|
created_at: string;
|
|
12
12
|
backpack_name: string;
|
|
13
13
|
graph_count?: number;
|
|
14
|
+
document_count?: number;
|
|
14
15
|
node_count?: number;
|
|
15
16
|
edge_count?: number;
|
|
16
17
|
node_types?: string[];
|
|
@@ -25,6 +26,7 @@ export declare function createEnvelope(backpackName: string, payload: Uint8Array
|
|
|
25
26
|
node_count?: number;
|
|
26
27
|
edge_count?: number;
|
|
27
28
|
node_types?: string[];
|
|
29
|
+
document_count?: number;
|
|
28
30
|
}): Promise<Uint8Array>;
|
|
29
31
|
/** Parse and verify a BPAK envelope. Throws on invalid format or checksum mismatch. */
|
|
30
32
|
export declare function parseEnvelope(data: Uint8Array): Promise<Envelope>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/sharing/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC;CACrB;AAYD,wDAAwD;AACxD,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/sharing/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC;CACrB;AAYD,wDAAwD;AACxD,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACnG,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED,uFAAuF;AACvF,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiDvE"}
|
package/dist/sharing/envelope.js
CHANGED
|
@@ -25,6 +25,7 @@ export async function createEnvelope(backpackName, payload, format, graphCount,
|
|
|
25
25
|
created_at: new Date().toISOString(),
|
|
26
26
|
backpack_name: backpackName,
|
|
27
27
|
graph_count: graphCount,
|
|
28
|
+
document_count: stats?.document_count,
|
|
28
29
|
node_count: stats?.node_count,
|
|
29
30
|
edge_count: stats?.edge_count,
|
|
30
31
|
node_types: stats?.node_types,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/sharing/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;AACjE,MAAM,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/sharing/envelope.ts"],"names":[],"mappings":"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"}
|
package/dist/sharing/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export { createEnvelope, parseEnvelope } from "./envelope.js";
|
|
|
2
2
|
export type { EnvelopeHeader, Envelope } from "./envelope.js";
|
|
3
3
|
export { generateKeyPair, encrypt, decrypt, encodeKeyForFragment, decodeKeyFromFragment, } from "./crypto.js";
|
|
4
4
|
export type { KeyPair } from "./crypto.js";
|
|
5
|
-
export { syncToRelay, createShareLink,
|
|
5
|
+
export { syncToRelay, createShareLink, downloadFromRelay, getShareMeta } from "./relay.js";
|
|
6
6
|
export type { ShareResult, RelayConfig } from "./relay.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sharing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sharing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3F,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/sharing/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createEnvelope, parseEnvelope } from "./envelope.js";
|
|
2
2
|
export { generateKeyPair, encrypt, decrypt, encodeKeyForFragment, decodeKeyFromFragment, } from "./crypto.js";
|
|
3
|
-
export { syncToRelay, createShareLink,
|
|
3
|
+
export { syncToRelay, createShareLink, downloadFromRelay, getShareMeta } from "./relay.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sharing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sharing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/sharing/relay.d.ts
CHANGED
|
@@ -29,16 +29,6 @@ export declare function createShareLink(config: RelayConfig, name: string): Prom
|
|
|
29
29
|
url: string;
|
|
30
30
|
expiresAt?: string;
|
|
31
31
|
}>;
|
|
32
|
-
/**
|
|
33
|
-
* @deprecated Use syncToRelay() + createShareLink() instead.
|
|
34
|
-
* Upload an envelope to the relay. Returns the share token and URL.
|
|
35
|
-
* For encrypted envelopes, the caller appends #k={key} to the URL.
|
|
36
|
-
*/
|
|
37
|
-
export declare function uploadToRelay(config: RelayConfig, envelope: Uint8Array, passphrase?: string): Promise<{
|
|
38
|
-
token: string;
|
|
39
|
-
url: string;
|
|
40
|
-
expiresAt?: string;
|
|
41
|
-
}>;
|
|
42
32
|
/**
|
|
43
33
|
* Download an envelope from the relay by token.
|
|
44
34
|
* For encrypted shares, the ciphertext is opaque — decryption is client-side.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/sharing/relay.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB7D;AAED
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/sharing/relay.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB7D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAMlC"}
|
package/dist/sharing/relay.js
CHANGED
|
@@ -43,34 +43,6 @@ export async function createShareLink(config, name) {
|
|
|
43
43
|
}
|
|
44
44
|
return (await res.json());
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
* @deprecated Use syncToRelay() + createShareLink() instead.
|
|
48
|
-
* Upload an envelope to the relay. Returns the share token and URL.
|
|
49
|
-
* For encrypted envelopes, the caller appends #k={key} to the URL.
|
|
50
|
-
*/
|
|
51
|
-
export async function uploadToRelay(config, envelope, passphrase) {
|
|
52
|
-
const accessToken = typeof config.token === "function"
|
|
53
|
-
? await config.token()
|
|
54
|
-
: config.token;
|
|
55
|
-
const uploadUrl = `${config.url}/v1/share`;
|
|
56
|
-
const headers = {
|
|
57
|
-
"Content-Type": "application/octet-stream",
|
|
58
|
-
Authorization: `Bearer ${accessToken}`,
|
|
59
|
-
};
|
|
60
|
-
if (passphrase) {
|
|
61
|
-
headers["X-Passphrase"] = passphrase;
|
|
62
|
-
}
|
|
63
|
-
const res = await fetch(uploadUrl, {
|
|
64
|
-
method: "POST",
|
|
65
|
-
headers,
|
|
66
|
-
body: envelope,
|
|
67
|
-
});
|
|
68
|
-
if (!res.ok) {
|
|
69
|
-
const body = await res.text().catch(() => "");
|
|
70
|
-
throw new Error(`Relay upload failed (${res.status}): ${body}`);
|
|
71
|
-
}
|
|
72
|
-
return (await res.json());
|
|
73
|
-
}
|
|
74
46
|
/**
|
|
75
47
|
* Download an envelope from the relay by token.
|
|
76
48
|
* For encrypted shares, the ciphertext is opaque — decryption is client-side.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/sharing/relay.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,IAAY,EACZ,QAAoB;IAEpB,MAAM,WAAW,GACf,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;QAChC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE;QACtB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAEnB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,eAAe,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE;QACnF,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,0BAA0B;YAC1C,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;QACD,IAAI,EAAE,QAA+B;KACtC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAmB,EACnB,IAAY;IAEZ,MAAM,WAAW,GACf,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;QAChC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE;QACtB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAEnB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,eAAe,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;QACpF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAIvB,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/sharing/relay.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "backpack-ontology",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "A persistent learning graph engine for Claude Code via MCP — structured knowledge that carries forward across sessions",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Noah Irzinger",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"test": "vitest run",
|
|
25
25
|
"test:watch": "vitest",
|
|
26
26
|
"prepublishOnly": "npm run build",
|
|
27
|
+
"preversion": "npm run build && npm test",
|
|
27
28
|
"release:patch": "npm version patch && git push && git push --tags",
|
|
28
29
|
"release:minor": "npm version minor && git push && git push --tags",
|
|
29
30
|
"release:major": "npm version major && git push && git push --tags"
|