backpack-ontology 0.7.0 → 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.
Files changed (41) hide show
  1. package/dist/bin/backpack-sync.js +49 -3
  2. package/dist/bin/backpack-sync.js.map +1 -1
  3. package/dist/core/backpack.d.ts +7 -0
  4. package/dist/core/backpack.d.ts.map +1 -1
  5. package/dist/core/backpack.js +24 -1
  6. package/dist/core/backpack.js.map +1 -1
  7. package/dist/core/backpacks-registry.d.ts +22 -0
  8. package/dist/core/backpacks-registry.d.ts.map +1 -1
  9. package/dist/core/backpacks-registry.js +67 -0
  10. package/dist/core/backpacks-registry.js.map +1 -1
  11. package/dist/core/document-store.d.ts +94 -0
  12. package/dist/core/document-store.d.ts.map +1 -0
  13. package/dist/core/document-store.js +430 -0
  14. package/dist/core/document-store.js.map +1 -0
  15. package/dist/index.d.ts +6 -3
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +5 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/mcp/server.d.ts.map +1 -1
  20. package/dist/mcp/server.js +2 -0
  21. package/dist/mcp/server.js.map +1 -1
  22. package/dist/mcp/tools/kb-tools.d.ts +4 -0
  23. package/dist/mcp/tools/kb-tools.d.ts.map +1 -0
  24. package/dist/mcp/tools/kb-tools.js +229 -0
  25. package/dist/mcp/tools/kb-tools.js.map +1 -0
  26. package/dist/mcp/tools/share-tools.d.ts.map +1 -1
  27. package/dist/mcp/tools/share-tools.js +130 -11
  28. package/dist/mcp/tools/share-tools.js.map +1 -1
  29. package/dist/sharing/envelope.d.ts +10 -1
  30. package/dist/sharing/envelope.d.ts.map +1 -1
  31. package/dist/sharing/envelope.js +5 -1
  32. package/dist/sharing/envelope.js.map +1 -1
  33. package/dist/sharing/index.d.ts +1 -1
  34. package/dist/sharing/index.d.ts.map +1 -1
  35. package/dist/sharing/index.js +1 -1
  36. package/dist/sharing/index.js.map +1 -1
  37. package/dist/sharing/relay.d.ts +6 -3
  38. package/dist/sharing/relay.d.ts.map +1 -1
  39. package/dist/sharing/relay.js +26 -14
  40. package/dist/sharing/relay.js.map +1 -1
  41. package/package.json +2 -1
@@ -5,29 +5,41 @@
5
5
  * The decryption key never leaves the client.
6
6
  */
7
7
  /**
8
- * Upload an envelope to the relay. Returns the share token and URL.
9
- * For encrypted envelopes, the caller appends #k={key} to the URL.
8
+ * Sync a BPAK envelope to the relay. The relay stores the latest version.
10
9
  */
11
- export async function uploadToRelay(config, envelope, passphrase) {
10
+ export async function syncToRelay(config, name, envelope) {
12
11
  const accessToken = typeof config.token === "function"
13
12
  ? await config.token()
14
13
  : config.token;
15
- const uploadUrl = `${config.url}/v1/share`;
16
- const headers = {
17
- "Content-Type": "application/octet-stream",
18
- Authorization: `Bearer ${accessToken}`,
19
- };
20
- if (passphrase) {
21
- headers["X-Passphrase"] = passphrase;
14
+ const res = await fetch(`${config.url}/api/graphs/${encodeURIComponent(name)}/sync`, {
15
+ method: "PUT",
16
+ headers: {
17
+ "Content-Type": "application/octet-stream",
18
+ Authorization: `Bearer ${accessToken}`,
19
+ },
20
+ body: envelope,
21
+ });
22
+ if (!res.ok) {
23
+ const body = await res.text().catch(() => "");
24
+ throw new Error(`Relay sync failed (${res.status}): ${body}`);
22
25
  }
23
- const res = await fetch(uploadUrl, {
26
+ }
27
+ /**
28
+ * Create a share link for a synced graph. Returns the share URL and token.
29
+ */
30
+ export async function createShareLink(config, name) {
31
+ const accessToken = typeof config.token === "function"
32
+ ? await config.token()
33
+ : config.token;
34
+ const res = await fetch(`${config.url}/api/graphs/${encodeURIComponent(name)}/share`, {
24
35
  method: "POST",
25
- headers,
26
- body: envelope,
36
+ headers: {
37
+ Authorization: `Bearer ${accessToken}`,
38
+ },
27
39
  });
28
40
  if (!res.ok) {
29
41
  const body = await res.text().catch(() => "");
30
- throw new Error(`Relay upload failed (${res.status}): ${body}`);
42
+ throw new Error(`Relay share failed (${res.status}): ${body}`);
31
43
  }
32
44
  return (await res.json());
33
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/sharing/relay.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAmB,EACnB,QAAoB,EACpB,UAAmB;IAEnB,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,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC;IAE3C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,0BAA0B;QAC1C,aAAa,EAAE,UAAU,WAAW,EAAE;KACvC,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;IACvC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,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,wBAAwB,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAIvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,KAAa,EACb,UAAmB;IAEnB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;IACvC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,aAAa,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAEtE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,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,0BAA0B,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,KAAa;IAEb,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,aAAa,KAAK,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;AACvD,CAAC"}
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.0",
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"