backpack-ontology 0.7.11 → 0.7.12
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/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +11 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/cloud-container-tools.d.ts +16 -0
- package/dist/mcp/tools/cloud-container-tools.d.ts.map +1 -0
- package/dist/mcp/tools/cloud-container-tools.js +250 -0
- package/dist/mcp/tools/cloud-container-tools.js.map +1 -0
- package/dist/storage/backpack-app-backend.d.ts +30 -0
- package/dist/storage/backpack-app-backend.d.ts.map +1 -1
- package/dist/storage/backpack-app-backend.js +53 -1
- package/dist/storage/backpack-app-backend.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBpE,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,SAAS,CAAC,CA0GpB"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -18,6 +18,7 @@ import { registerShareTools } from "./tools/share-tools.js";
|
|
|
18
18
|
import { registerKBTools } from "./tools/kb-tools.js";
|
|
19
19
|
import { registerCloudTools } from "./tools/cloud-tools.js";
|
|
20
20
|
import { registerSignalTools } from "./tools/signal-tools.js";
|
|
21
|
+
import { registerCloudContainerTools } from "./tools/cloud-container-tools.js";
|
|
21
22
|
import { registerViewerStateResource } from "./viewer-state-resource.js";
|
|
22
23
|
/**
|
|
23
24
|
* Create and configure the MCP server.
|
|
@@ -98,14 +99,22 @@ Signals: after running backpack_signal_detect, automatically enrich the HIGH and
|
|
|
98
99
|
registerIntelligenceTools(server, backpack);
|
|
99
100
|
registerRemoteTools(server, backpack, remoteRegistry);
|
|
100
101
|
registerShareTools(server, backpack);
|
|
101
|
-
// Local mode gets backpack
|
|
102
|
-
//
|
|
102
|
+
// Local mode gets path-based backpack folder management + signal
|
|
103
|
+
// tools (which depend on the local viewer's state) + KB tools
|
|
104
|
+
// (which read from local-mounted KB folders).
|
|
105
|
+
// Cloud mode gets the analogous container-management surface
|
|
106
|
+
// (sync_backpacks) exposed via cloud-container-tools. KB tools
|
|
107
|
+
// are local-only for now; the cloud KB has its own /api/kb/*
|
|
108
|
+
// surface that needs a cloud-backed DocumentStore — follow-up.
|
|
103
109
|
if (!config || config.mode === "local") {
|
|
104
110
|
registerBackpackTools(server, backpack);
|
|
105
111
|
registerKBTools(server, backpack);
|
|
106
112
|
registerSignalTools(server, backpack);
|
|
107
113
|
registerCloudTools(server, backpack);
|
|
108
114
|
}
|
|
115
|
+
else {
|
|
116
|
+
registerCloudContainerTools(server, backpack);
|
|
117
|
+
}
|
|
109
118
|
// Viewer-state bridge: exposes the local viewer's current selection /
|
|
110
119
|
// focus / active graph as an MCP resource so any MCP client can ask
|
|
111
120
|
// "what is the user looking at?" without re-typing context. Local mode
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AA0BzE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B;IAE7B,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,mEAAmE;QACnE,8DAA8D;QAC9D,qEAAqE;QACrE,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM;aACpB,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;aAClB,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3E,QAAQ,GAAG,IAAI,QAAQ,CACrB,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAE5B,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;;;;;;;;;;;;;;+bAc2a;KAC1b,CACF,CAAC;IAEF,yEAAyE;IACzE,uEAAuE;IACvE,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAC/D,CAAC;IACF,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;IAElC,2BAA2B;IAC3B,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACtD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,iEAAiE;IACjE,8DAA8D;IAC9D,8CAA8C;IAC9C,6DAA6D;IAC7D,+DAA+D;IAC/D,6DAA6D;IAC7D,+DAA+D;IAC/D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,uEAAuE;IACvE,iDAAiD;IACjD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { Backpack } from "../../core/backpack.js";
|
|
3
|
+
/**
|
|
4
|
+
* Container-level tools for cloud (`mode: "app"`) MCP servers.
|
|
5
|
+
*
|
|
6
|
+
* These manage sync_backpacks — the user's top-level containers (one
|
|
7
|
+
* per local-synced device folder, plus a "cloud" container for
|
|
8
|
+
* cloud-native artifacts). They are deliberately separate from the
|
|
9
|
+
* local-mode `backpack_register` tool, which takes a filesystem path
|
|
10
|
+
* and would be meaningless in the cloud sidecar.
|
|
11
|
+
*
|
|
12
|
+
* Naming overlap with graph-level `backpack_*` tools is unfortunate
|
|
13
|
+
* but kept for backwards-compat; the tool descriptions disambiguate.
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerCloudContainerTools(server: McpServer, backpack: Backpack): void;
|
|
16
|
+
//# sourceMappingURL=cloud-container-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-container-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/cloud-container-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,QAAQ,GACjB,IAAI,CAwQN"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { trackEvent } from "../../core/telemetry.js";
|
|
3
|
+
import { BackpackAppBackend } from "../../storage/backpack-app-backend.js";
|
|
4
|
+
/**
|
|
5
|
+
* Container-level tools for cloud (`mode: "app"`) MCP servers.
|
|
6
|
+
*
|
|
7
|
+
* These manage sync_backpacks — the user's top-level containers (one
|
|
8
|
+
* per local-synced device folder, plus a "cloud" container for
|
|
9
|
+
* cloud-native artifacts). They are deliberately separate from the
|
|
10
|
+
* local-mode `backpack_register` tool, which takes a filesystem path
|
|
11
|
+
* and would be meaningless in the cloud sidecar.
|
|
12
|
+
*
|
|
13
|
+
* Naming overlap with graph-level `backpack_*` tools is unfortunate
|
|
14
|
+
* but kept for backwards-compat; the tool descriptions disambiguate.
|
|
15
|
+
*/
|
|
16
|
+
export function registerCloudContainerTools(server, backpack) {
|
|
17
|
+
// Backend type guard — these tools only make sense against the
|
|
18
|
+
// cloud REST API. Bail out gracefully if the host wired us up wrong.
|
|
19
|
+
const cloud = backpackCloudBackend(backpack);
|
|
20
|
+
if (!cloud)
|
|
21
|
+
return;
|
|
22
|
+
server.registerTool("backpack_list", {
|
|
23
|
+
title: "List Backpacks",
|
|
24
|
+
description: "List all backpack containers the user owns in the cloud. Each entry has id, name, color, origin_kind ('cloud' or 'local'), and origin_device_name when synced from a device. Use this before backpack_switch to see what's available, and to pick a target id for backpack_move_graph or backpack_move_kb.",
|
|
25
|
+
inputSchema: {},
|
|
26
|
+
}, async () => {
|
|
27
|
+
try {
|
|
28
|
+
const list = await cloud.listSyncBackpacks();
|
|
29
|
+
trackEvent("tool_call", { tool: "backpack_list" });
|
|
30
|
+
const lines = list.map((bp) => {
|
|
31
|
+
const where = bp.origin_kind === "cloud"
|
|
32
|
+
? "cloud-native"
|
|
33
|
+
: `synced from ${bp.origin_device_name ?? "device"}`;
|
|
34
|
+
const active = bp.id === cloud.activeSyncBackpackId ? " [active]" : "";
|
|
35
|
+
return `- ${bp.name} · ${where} · ${bp.id}${active}`;
|
|
36
|
+
});
|
|
37
|
+
const text = lines.length === 0
|
|
38
|
+
? "No backpacks yet. Use backpack_register to create one."
|
|
39
|
+
: `Backpacks (${list.length}):\n${lines.join("\n")}`;
|
|
40
|
+
return { content: [{ type: "text", text }] };
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
return errorOut(err);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
server.registerTool("backpack_register", {
|
|
47
|
+
title: "Create Backpack (Cloud Container)",
|
|
48
|
+
description: "Create a new cloud-native backpack container. Use this when the user wants a brand new top-level backpack to organize a separate area of work (e.g. 'project', 'consulting', 'side-projects'). Returns the new backpack's id; pass it to backpack_switch if you want subsequent graph creates to land there.",
|
|
49
|
+
inputSchema: {
|
|
50
|
+
name: z.string().min(1).describe("Display name for the new backpack (e.g. 'project')"),
|
|
51
|
+
color: z.string().optional().describe("Hex color for the picker dot (defaults to a stable cloud blue)"),
|
|
52
|
+
tags: z.array(z.string()).optional().describe("Optional tags for organization"),
|
|
53
|
+
},
|
|
54
|
+
}, async ({ name, color, tags }) => {
|
|
55
|
+
try {
|
|
56
|
+
const created = await cloud.registerSyncBackpack(name, color, tags);
|
|
57
|
+
trackEvent("tool_call", { tool: "backpack_register" });
|
|
58
|
+
return {
|
|
59
|
+
content: [
|
|
60
|
+
{
|
|
61
|
+
type: "text",
|
|
62
|
+
text: `Created backpack "${created.name}" (id: ${created.id}). Call backpack_switch with this id to make it the active target for new graphs.`,
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
return errorOut(err);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
server.registerTool("backpack_switch", {
|
|
72
|
+
title: "Switch Active Backpack",
|
|
73
|
+
description: "Set the active backpack container for this MCP session. Subsequent backpack_create (graph) calls and KB writes will land in this backpack. Pass either the backpack id (preferred) or its display name; ambiguous names error out. Pass an empty string or 'cloud' to revert to the user's cloud-native default.",
|
|
74
|
+
inputSchema: {
|
|
75
|
+
target: z.string().describe("Backpack id (UUID) or unique display name"),
|
|
76
|
+
},
|
|
77
|
+
}, async ({ target }) => {
|
|
78
|
+
try {
|
|
79
|
+
const list = await cloud.listSyncBackpacks();
|
|
80
|
+
const trimmed = target.trim();
|
|
81
|
+
let chosen;
|
|
82
|
+
if (trimmed === "" || trimmed.toLowerCase() === "cloud") {
|
|
83
|
+
chosen = list.find((b) => b.origin_kind === "cloud");
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
chosen = list.find((b) => b.id === trimmed);
|
|
87
|
+
if (!chosen) {
|
|
88
|
+
const byName = list.filter((b) => b.name === trimmed);
|
|
89
|
+
if (byName.length > 1) {
|
|
90
|
+
return {
|
|
91
|
+
content: [{
|
|
92
|
+
type: "text",
|
|
93
|
+
text: `Multiple backpacks named "${trimmed}". Pass an id from backpack_list instead.`,
|
|
94
|
+
}],
|
|
95
|
+
isError: true,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
chosen = byName[0];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (!chosen) {
|
|
102
|
+
return {
|
|
103
|
+
content: [{ type: "text", text: `No backpack found matching "${target}".` }],
|
|
104
|
+
isError: true,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
cloud.activeSyncBackpackId = chosen.id;
|
|
108
|
+
trackEvent("tool_call", { tool: "backpack_switch" });
|
|
109
|
+
return {
|
|
110
|
+
content: [{
|
|
111
|
+
type: "text",
|
|
112
|
+
text: `Active backpack is now "${chosen.name}" (id: ${chosen.id}). New graphs and KB docs will land here.`,
|
|
113
|
+
}],
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
return errorOut(err);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
server.registerTool("backpack_active", {
|
|
121
|
+
title: "Get Active Backpack",
|
|
122
|
+
description: "Return which backpack container is currently the target for new graph and KB writes in this session. If unset, the user's cloud-native default is implied.",
|
|
123
|
+
inputSchema: {},
|
|
124
|
+
}, async () => {
|
|
125
|
+
try {
|
|
126
|
+
const list = await cloud.listSyncBackpacks();
|
|
127
|
+
const active = cloud.activeSyncBackpackId
|
|
128
|
+
? list.find((b) => b.id === cloud.activeSyncBackpackId)
|
|
129
|
+
: list.find((b) => b.origin_kind === "cloud");
|
|
130
|
+
if (!active) {
|
|
131
|
+
return {
|
|
132
|
+
content: [{ type: "text", text: "No active backpack set and no cloud-native default exists yet." }],
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
content: [{
|
|
137
|
+
type: "text",
|
|
138
|
+
text: `Active: "${active.name}" (id: ${active.id}, ${active.origin_kind}).`,
|
|
139
|
+
}],
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
return errorOut(err);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
server.registerTool("backpack_rename", {
|
|
147
|
+
title: "Rename Backpack",
|
|
148
|
+
description: "Rename, recolor, or retag a backpack container. Pass the backpack id from backpack_list. Any field omitted keeps its current value.",
|
|
149
|
+
inputSchema: {
|
|
150
|
+
id: z.string().describe("Backpack id (UUID) — get it from backpack_list"),
|
|
151
|
+
name: z.string().optional().describe("New display name"),
|
|
152
|
+
color: z.string().optional().describe("New hex color"),
|
|
153
|
+
tags: z.array(z.string()).optional().describe("New tags (replaces; not merged)"),
|
|
154
|
+
},
|
|
155
|
+
}, async ({ id, name, color, tags }) => {
|
|
156
|
+
try {
|
|
157
|
+
const updated = await cloud.renameSyncBackpack(id, { name, color, tags });
|
|
158
|
+
trackEvent("tool_call", { tool: "backpack_rename" });
|
|
159
|
+
return { content: [{ type: "text", text: `Updated backpack: "${updated.name}" (${updated.id})` }] };
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
return errorOut(err);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
server.registerTool("backpack_unregister", {
|
|
166
|
+
title: "Delete Backpack",
|
|
167
|
+
description: "Delete an empty backpack container. Refuses if the backpack still contains graphs or KB docs — call backpack_move_graph / backpack_move_kb first to relocate them, or delete each artifact individually.",
|
|
168
|
+
inputSchema: {
|
|
169
|
+
id: z.string().describe("Backpack id (UUID) — get it from backpack_list"),
|
|
170
|
+
},
|
|
171
|
+
}, async ({ id }) => {
|
|
172
|
+
try {
|
|
173
|
+
await cloud.deleteSyncBackpack(id);
|
|
174
|
+
if (cloud.activeSyncBackpackId === id)
|
|
175
|
+
cloud.activeSyncBackpackId = null;
|
|
176
|
+
trackEvent("tool_call", { tool: "backpack_unregister" });
|
|
177
|
+
return { content: [{ type: "text", text: `Deleted backpack ${id}.` }] };
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
return errorOut(err);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
server.registerTool("backpack_describe_container", {
|
|
184
|
+
title: "Describe Backpack",
|
|
185
|
+
description: "Inspect a backpack container's manifest: list of graphs and KB docs it contains, with sync versions. Use this to see what's inside a backpack before deleting or moving things.",
|
|
186
|
+
inputSchema: {
|
|
187
|
+
id: z.string().describe("Backpack id (UUID)"),
|
|
188
|
+
},
|
|
189
|
+
}, async ({ id }) => {
|
|
190
|
+
try {
|
|
191
|
+
const m = await cloud.getSyncBackpackManifest(id);
|
|
192
|
+
const live = m.artifacts.filter((a) => !a.deleted);
|
|
193
|
+
const lines = live.map((a) => `- ${a.artifact_id} (v${a.version})`);
|
|
194
|
+
const text = `Backpack "${m.name}" contains ${live.length} artifact(s):\n${lines.join("\n") || "(empty)"}`;
|
|
195
|
+
return { content: [{ type: "text", text }] };
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
return errorOut(err);
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
server.registerTool("backpack_move_graph", {
|
|
202
|
+
title: "Move Graph to Different Backpack",
|
|
203
|
+
description: "Relocate a graph from its current backpack into a different one. The graph keeps its id, history, and shares; only the parent backpack changes. Use this to fix a misplaced graph (e.g. created in 'cloud' when you wanted it in 'project').",
|
|
204
|
+
inputSchema: {
|
|
205
|
+
graphName: z.string().describe("The graph's name"),
|
|
206
|
+
targetBackpackId: z.string().describe("The destination backpack id (UUID) — get from backpack_list"),
|
|
207
|
+
},
|
|
208
|
+
}, async ({ graphName, targetBackpackId }) => {
|
|
209
|
+
try {
|
|
210
|
+
await cloud.moveGraphToBackpack(targetBackpackId, graphName);
|
|
211
|
+
trackEvent("tool_call", { tool: "backpack_move_graph" });
|
|
212
|
+
return { content: [{ type: "text", text: `Moved graph "${graphName}" to backpack ${targetBackpackId}.` }] };
|
|
213
|
+
}
|
|
214
|
+
catch (err) {
|
|
215
|
+
return errorOut(err);
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
server.registerTool("backpack_move_kb", {
|
|
219
|
+
title: "Move KB Document to Different Backpack",
|
|
220
|
+
description: "Relocate a KB document into a different backpack container. Same idea as backpack_move_graph but for KB docs.",
|
|
221
|
+
inputSchema: {
|
|
222
|
+
docId: z.string().describe("KB doc id"),
|
|
223
|
+
targetBackpackId: z.string().describe("Destination backpack id (UUID)"),
|
|
224
|
+
},
|
|
225
|
+
}, async ({ docId, targetBackpackId }) => {
|
|
226
|
+
try {
|
|
227
|
+
await cloud.moveKBToBackpack(targetBackpackId, docId);
|
|
228
|
+
trackEvent("tool_call", { tool: "backpack_move_kb" });
|
|
229
|
+
return { content: [{ type: "text", text: `Moved KB doc "${docId}" to backpack ${targetBackpackId}.` }] };
|
|
230
|
+
}
|
|
231
|
+
catch (err) {
|
|
232
|
+
return errorOut(err);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/** Best-effort guard so cloud-only tools don't blow up on a local backend. */
|
|
237
|
+
function backpackCloudBackend(backpack) {
|
|
238
|
+
// Backpack stores its backend on `.storage` (see core/backpack.ts).
|
|
239
|
+
const candidate = backpack.storage;
|
|
240
|
+
if (candidate instanceof BackpackAppBackend)
|
|
241
|
+
return candidate;
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
function errorOut(err) {
|
|
245
|
+
return {
|
|
246
|
+
content: [{ type: "text", text: `Error: ${err.message}` }],
|
|
247
|
+
isError: true,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=cloud-container-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-container-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/cloud-container-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,36 @@ export declare class BackpackAppBackend implements StorageBackend {
|
|
|
16
16
|
loadOntology(name: string): Promise<LearningGraphData>;
|
|
17
17
|
saveOntology(name: string, data: LearningGraphData, _expectedVersion?: number): Promise<void>;
|
|
18
18
|
createOntology(name: string, description: string): Promise<LearningGraphData>;
|
|
19
|
+
/**
|
|
20
|
+
* Active sync_backpack for this session. Cloud-mode tools set it via
|
|
21
|
+
* backpack_switch so subsequent createOntology / KB writes go to the
|
|
22
|
+
* right container. Null means "use the user's cloud-native default".
|
|
23
|
+
*/
|
|
24
|
+
activeSyncBackpackId: string | null;
|
|
25
|
+
listSyncBackpacks(): Promise<Array<{
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
color: string;
|
|
29
|
+
origin_kind: string;
|
|
30
|
+
origin_device_id: string | null;
|
|
31
|
+
origin_device_name?: string;
|
|
32
|
+
}>>;
|
|
33
|
+
registerSyncBackpack(name: string, color?: string, tags?: string[]): Promise<{
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
}>;
|
|
37
|
+
deleteSyncBackpack(id: string): Promise<void>;
|
|
38
|
+
renameSyncBackpack(id: string, fields: {
|
|
39
|
+
name?: string;
|
|
40
|
+
color?: string;
|
|
41
|
+
tags?: string[];
|
|
42
|
+
}): Promise<{
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
}>;
|
|
46
|
+
getSyncBackpackManifest(id: string): Promise<unknown>;
|
|
47
|
+
moveGraphToBackpack(targetId: string, graphName: string): Promise<void>;
|
|
48
|
+
moveKBToBackpack(targetId: string, docId: string): Promise<void>;
|
|
19
49
|
renameOntology(oldName: string, newName: string): Promise<void>;
|
|
20
50
|
deleteOntology(name: string): Promise<void>;
|
|
21
51
|
ontologyExists(name: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backpack-app-backend.d.ts","sourceRoot":"","sources":["../../src/storage/backpack-app-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YAMtD,OAAO;YAQP,OAAO;IAgBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAKjD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOtD,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAOV,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"backpack-app-backend.d.ts","sourceRoot":"","sources":["../../src/storage/backpack-app-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YAMtD,OAAO;YAQP,OAAO;IAgBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAKjD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOtD,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAOV,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC;IAyB7B;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAErC,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAMnK,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1G,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAQjI,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQrD"}
|
|
@@ -56,12 +56,64 @@ export class BackpackAppBackend {
|
|
|
56
56
|
nodes: [],
|
|
57
57
|
edges: [],
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
// Respect the session's active sync_backpack so iOS / web Claude
|
|
60
|
+
// can switch containers and have new graphs land in the right one.
|
|
61
|
+
// Falls back to the user's cloud-native default when unset.
|
|
62
|
+
const target = this.activeSyncBackpackId;
|
|
63
|
+
const url = target
|
|
64
|
+
? `/api/graphs?backpack_id=${encodeURIComponent(target)}`
|
|
65
|
+
: "/api/graphs";
|
|
66
|
+
await this.request(url, {
|
|
60
67
|
method: "POST",
|
|
61
68
|
body: JSON.stringify({ name, description, data }),
|
|
62
69
|
});
|
|
63
70
|
return data;
|
|
64
71
|
}
|
|
72
|
+
// --- Sync backpack management (cloud-only) ---
|
|
73
|
+
/**
|
|
74
|
+
* Active sync_backpack for this session. Cloud-mode tools set it via
|
|
75
|
+
* backpack_switch so subsequent createOntology / KB writes go to the
|
|
76
|
+
* right container. Null means "use the user's cloud-native default".
|
|
77
|
+
*/
|
|
78
|
+
activeSyncBackpackId = null;
|
|
79
|
+
async listSyncBackpacks() {
|
|
80
|
+
const res = await this.request("/api/sync/backpacks");
|
|
81
|
+
const body = (await res.json());
|
|
82
|
+
return (body.backpacks ?? []);
|
|
83
|
+
}
|
|
84
|
+
async registerSyncBackpack(name, color, tags) {
|
|
85
|
+
const res = await this.request("/api/sync/register", {
|
|
86
|
+
method: "POST",
|
|
87
|
+
body: JSON.stringify({ name, color, tags }),
|
|
88
|
+
});
|
|
89
|
+
return (await res.json());
|
|
90
|
+
}
|
|
91
|
+
async deleteSyncBackpack(id) {
|
|
92
|
+
await this.request(`/api/sync/backpacks/${encodeURIComponent(id)}`, { method: "DELETE" });
|
|
93
|
+
}
|
|
94
|
+
async renameSyncBackpack(id, fields) {
|
|
95
|
+
const res = await this.request(`/api/sync/backpacks/${encodeURIComponent(id)}`, {
|
|
96
|
+
method: "PATCH",
|
|
97
|
+
body: JSON.stringify(fields),
|
|
98
|
+
});
|
|
99
|
+
return (await res.json());
|
|
100
|
+
}
|
|
101
|
+
async getSyncBackpackManifest(id) {
|
|
102
|
+
const res = await this.request(`/api/sync/backpacks/${encodeURIComponent(id)}/manifest`);
|
|
103
|
+
return await res.json();
|
|
104
|
+
}
|
|
105
|
+
async moveGraphToBackpack(targetId, graphName) {
|
|
106
|
+
await this.request(`/api/sync/backpacks/${encodeURIComponent(targetId)}/move-graph`, {
|
|
107
|
+
method: "POST",
|
|
108
|
+
body: JSON.stringify({ name: graphName }),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async moveKBToBackpack(targetId, docId) {
|
|
112
|
+
await this.request(`/api/sync/backpacks/${encodeURIComponent(targetId)}/move-kb`, {
|
|
113
|
+
method: "POST",
|
|
114
|
+
body: JSON.stringify({ id: docId }),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
65
117
|
async renameOntology(oldName, newName) {
|
|
66
118
|
await this.request(`/api/graphs/${encodeURIComponent(oldName)}/rename`, {
|
|
67
119
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backpack-app-backend.js","sourceRoot":"","sources":["../../src/storage/backpack-app-backend.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACrB,OAAO,CAAS;IAChB,QAAQ,CAAwB;IAExC,YAAY,OAAe,EAAE,KAAuC;QAClE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ;YACX,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO;YACL,aAAa,EAAE,UAAU,WAAW,EAAE;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAkB;QACpD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,GAAG,IAAI;YACP,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAC5B,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC1C,CAAC;QACF,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,IAAuB,EACvB,gBAAyB;QAEzB,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC5D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAY,EACZ,WAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAsB;YAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE;YAC/D,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"backpack-app-backend.js","sourceRoot":"","sources":["../../src/storage/backpack-app-backend.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.12",
|
|
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",
|