backpack-ontology 0.2.10 → 0.2.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 +3 -3
- package/package.json +1 -3
- package/dist/bin/backpack-app.d.ts +0 -3
- package/dist/bin/backpack-app.d.ts.map +0 -1
- package/dist/bin/backpack-app.js +0 -37
- package/dist/bin/backpack-app.js.map +0 -1
- package/dist/bin/backpack-token.d.ts +0 -3
- package/dist/bin/backpack-token.d.ts.map +0 -1
- package/dist/bin/backpack-token.js +0 -32
- package/dist/bin/backpack-token.js.map +0 -1
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ No copy-pasting. No re-explaining. Your knowledge carries forward.
|
|
|
27
27
|
Sign up for a free account at [app.backpackontology.com](https://app.backpackontology.com), then add Backpack to Claude Code:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
claude mcp add backpack-app -s user --
|
|
30
|
+
claude mcp add backpack-app -s user --transport sse https://app.backpackontology.com/mcp/sse
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Your knowledge syncs across devices, you can share with your team, and you get access to the web-based graph visualizer. On first run, a browser window opens for sign-in. After that, it's automatic.
|
|
@@ -48,7 +48,7 @@ Already using Backpack Local and want to move to the cloud? One command uploads
|
|
|
48
48
|
|
|
49
49
|
> "Sync my backpack to the cloud"
|
|
50
50
|
|
|
51
|
-
Then
|
|
51
|
+
Then add the cloud MCP server and you're done.
|
|
52
52
|
|
|
53
53
|
## What to say to Claude
|
|
54
54
|
|
|
@@ -107,7 +107,7 @@ You have one backpack. It goes everywhere with you. Inside it, you organize know
|
|
|
107
107
|
| Command | What it does |
|
|
108
108
|
|---|---|
|
|
109
109
|
| `npx backpack-ontology@latest` | Start the Backpack Local MCP server |
|
|
110
|
-
| `
|
|
110
|
+
| `claude mcp add backpack-app ... --transport sse` | Connect to Backpack App cloud MCP |
|
|
111
111
|
| `npx -p backpack-ontology@latest backpack-sync` | Upload local ontologies to Backpack App |
|
|
112
112
|
| `npx backpack-viewer` | Open the graph visualizer (http://localhost:5173) |
|
|
113
113
|
| `npx -p backpack-ontology@latest backpack-init` | Reinstall auto-capture hooks if removed |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "backpack-ontology",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "A persistent ontology engine for Claude Code via MCP — progressive discovery of structured knowledge graphs",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Noah Irzinger",
|
|
@@ -8,10 +8,8 @@
|
|
|
8
8
|
"bin": {
|
|
9
9
|
"backpack-ontology": "./dist/bin/backpack.js",
|
|
10
10
|
"backpack-local": "./dist/bin/backpack.js",
|
|
11
|
-
"backpack-app": "./dist/bin/backpack-app.js",
|
|
12
11
|
"backpack-sync": "./dist/bin/backpack-sync.js",
|
|
13
12
|
"backpack-init": "./dist/bin/init.js",
|
|
14
|
-
"backpack-token": "./dist/bin/backpack-token.js",
|
|
15
13
|
"backpack": "./dist/bin/backpack.js"
|
|
16
14
|
},
|
|
17
15
|
"main": "./dist/index.js",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backpack-app.d.ts","sourceRoot":"","sources":["../../src/bin/backpack-app.ts"],"names":[],"mappings":""}
|
package/dist/bin/backpack-app.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
-
import { createMcpServer } from "../mcp/server.js";
|
|
4
|
-
import { ensureHooksInstalled } from "../core/hooks.js";
|
|
5
|
-
import { shutdown as shutdownTelemetry } from "../core/telemetry.js";
|
|
6
|
-
// Production defaults — users never need to configure these.
|
|
7
|
-
// Env vars override for development/testing only.
|
|
8
|
-
const DEFAULTS = {
|
|
9
|
-
url: "https://app.backpackontology.com",
|
|
10
|
-
clientId: "2d84f4b4-0c8c-4eb5-8f26-4dabc7f07551",
|
|
11
|
-
issuerUrl: "https://8522cad6-89da-465d-ad30-7c1ac03c52c7.ciamlogin.com/8522cad6-89da-465d-ad30-7c1ac03c52c7/v2.0",
|
|
12
|
-
};
|
|
13
|
-
async function main() {
|
|
14
|
-
// Install hooks on first run (silent, non-blocking)
|
|
15
|
-
ensureHooksInstalled().catch(() => { });
|
|
16
|
-
const apiUrl = process.env.BACKPACK_APP_URL || DEFAULTS.url;
|
|
17
|
-
const clientId = process.env.BACKPACK_APP_CLIENT_ID || DEFAULTS.clientId;
|
|
18
|
-
const issuerUrl = process.env.BACKPACK_APP_ISSUER_URL || DEFAULTS.issuerUrl;
|
|
19
|
-
const staticToken = process.env.BACKPACK_APP_TOKEN;
|
|
20
|
-
const server = await createMcpServer(staticToken
|
|
21
|
-
? { mode: "app", url: apiUrl, token: staticToken }
|
|
22
|
-
: { mode: "app", url: apiUrl, clientId, issuerUrl });
|
|
23
|
-
const transport = new StdioServerTransport();
|
|
24
|
-
await server.connect(transport);
|
|
25
|
-
console.error(`Backpack App MCP server running on stdio (${apiUrl})`);
|
|
26
|
-
}
|
|
27
|
-
async function gracefulShutdown() {
|
|
28
|
-
await shutdownTelemetry();
|
|
29
|
-
process.exit(0);
|
|
30
|
-
}
|
|
31
|
-
process.on("SIGINT", gracefulShutdown);
|
|
32
|
-
process.on("SIGTERM", gracefulShutdown);
|
|
33
|
-
main().catch((error) => {
|
|
34
|
-
console.error("Fatal error:", error);
|
|
35
|
-
process.exit(1);
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=backpack-app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backpack-app.js","sourceRoot":"","sources":["../../src/bin/backpack-app.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAErE,6DAA6D;AAC7D,kDAAkD;AAClD,MAAM,QAAQ,GAAG;IACf,GAAG,EAAE,kCAAkC;IACvC,QAAQ,EAAE,sCAAsC;IAChD,SAAS,EAAE,sGAAsG;CAClH,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,oDAAoD;IACpD,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,QAAQ,CAAC,GAAG,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,QAAQ,CAAC,QAAQ,CAAC;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,QAAQ,CAAC,SAAS,CAAC;IAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,WAAW;QACT,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;QAClD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CACtD,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,6CAA6C,MAAM,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,iBAAiB,EAAE,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACvC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAExC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backpack-token.d.ts","sourceRoot":"","sources":["../../src/bin/backpack-token.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { OAuthClient } from "../auth/oauth.js";
|
|
3
|
-
const DEFAULTS = {
|
|
4
|
-
clientId: "2d84f4b4-0c8c-4eb5-8f26-4dabc7f07551",
|
|
5
|
-
issuerUrl: "https://8522cad6-89da-465d-ad30-7c1ac03c52c7.ciamlogin.com/8522cad6-89da-465d-ad30-7c1ac03c52c7/v2.0",
|
|
6
|
-
};
|
|
7
|
-
async function main() {
|
|
8
|
-
const clientId = process.env.BACKPACK_APP_CLIENT_ID || DEFAULTS.clientId;
|
|
9
|
-
const issuerUrl = process.env.BACKPACK_APP_ISSUER_URL || DEFAULTS.issuerUrl;
|
|
10
|
-
const url = process.env.BACKPACK_APP_URL || "https://app.backpackontology.com";
|
|
11
|
-
// Static token override
|
|
12
|
-
const staticToken = process.env.BACKPACK_APP_TOKEN;
|
|
13
|
-
if (staticToken) {
|
|
14
|
-
process.stdout.write(`Authorization: Bearer ${staticToken}\n`);
|
|
15
|
-
process.exit(0);
|
|
16
|
-
}
|
|
17
|
-
// Use OAuth client with same cache key as backpack-app
|
|
18
|
-
const crypto = await import("node:crypto");
|
|
19
|
-
const cacheKey = crypto
|
|
20
|
-
.createHash("sha256")
|
|
21
|
-
.update(url)
|
|
22
|
-
.digest("hex")
|
|
23
|
-
.slice(0, 12);
|
|
24
|
-
const oauth = new OAuthClient(clientId, issuerUrl, cacheKey);
|
|
25
|
-
const token = await oauth.getAccessToken();
|
|
26
|
-
process.stdout.write(`Authorization: Bearer ${token}\n`);
|
|
27
|
-
}
|
|
28
|
-
main().catch((err) => {
|
|
29
|
-
console.error("Failed to get token:", err.message);
|
|
30
|
-
process.exit(1);
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=backpack-token.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backpack-token.js","sourceRoot":"","sources":["../../src/bin/backpack-token.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE,sCAAsC;IAChD,SAAS,EACP,sGAAsG;CACzG,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,QAAQ,CAAC,QAAQ,CAAC;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,QAAQ,CAAC,SAAS,CAAC;IAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,kCAAkC,CAAC;IAE/E,wBAAwB;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|