backpack-ontology 0.7.6 → 0.7.8

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 (56) hide show
  1. package/dist/bin/backpack-sync.js +243 -65
  2. package/dist/bin/backpack-sync.js.map +1 -1
  3. package/dist/bin/backpack.js +7 -0
  4. package/dist/bin/backpack.js.map +1 -1
  5. package/dist/core/backpack.d.ts +7 -0
  6. package/dist/core/backpack.d.ts.map +1 -1
  7. package/dist/core/backpack.js +17 -0
  8. package/dist/core/backpack.js.map +1 -1
  9. package/dist/core/signal-detectors.d.ts +12 -0
  10. package/dist/core/signal-detectors.d.ts.map +1 -0
  11. package/dist/core/signal-detectors.js +591 -0
  12. package/dist/core/signal-detectors.js.map +1 -0
  13. package/dist/core/signal-store.d.ts +23 -0
  14. package/dist/core/signal-store.d.ts.map +1 -0
  15. package/dist/core/signal-store.js +179 -0
  16. package/dist/core/signal-store.js.map +1 -0
  17. package/dist/core/signal-types.d.ts +71 -0
  18. package/dist/core/signal-types.d.ts.map +1 -0
  19. package/dist/core/signal-types.js +12 -0
  20. package/dist/core/signal-types.js.map +1 -0
  21. package/dist/index.d.ts +5 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp/server.d.ts.map +1 -1
  26. package/dist/mcp/server.js +5 -1
  27. package/dist/mcp/server.js.map +1 -1
  28. package/dist/mcp/tools/signal-tools.d.ts +4 -0
  29. package/dist/mcp/tools/signal-tools.d.ts.map +1 -0
  30. package/dist/mcp/tools/signal-tools.js +295 -0
  31. package/dist/mcp/tools/signal-tools.js.map +1 -0
  32. package/dist/sync/auto-sync.d.ts +10 -0
  33. package/dist/sync/auto-sync.d.ts.map +1 -0
  34. package/dist/sync/auto-sync.js +81 -0
  35. package/dist/sync/auto-sync.js.map +1 -0
  36. package/dist/sync/index.d.ts +10 -0
  37. package/dist/sync/index.d.ts.map +1 -0
  38. package/dist/sync/index.js +7 -0
  39. package/dist/sync/index.js.map +1 -0
  40. package/dist/sync/sync-client.d.ts +80 -0
  41. package/dist/sync/sync-client.d.ts.map +1 -0
  42. package/dist/sync/sync-client.js +539 -0
  43. package/dist/sync/sync-client.js.map +1 -0
  44. package/dist/sync/sync-relay.d.ts +40 -0
  45. package/dist/sync/sync-relay.d.ts.map +1 -0
  46. package/dist/sync/sync-relay.js +118 -0
  47. package/dist/sync/sync-relay.js.map +1 -0
  48. package/dist/sync/sync-state.d.ts +7 -0
  49. package/dist/sync/sync-state.d.ts.map +1 -0
  50. package/dist/sync/sync-state.js +63 -0
  51. package/dist/sync/sync-state.js.map +1 -0
  52. package/dist/sync/types.d.ts +106 -0
  53. package/dist/sync/types.d.ts.map +1 -0
  54. package/dist/sync/types.js +20 -0
  55. package/dist/sync/types.js.map +1 -0
  56. package/package.json +1 -1
@@ -1,4 +1,19 @@
1
1
  #!/usr/bin/env node
2
+ //
3
+ // backpack-sync — Sync Protocol v0.1 CLI for backpack-ontology.
4
+ //
5
+ // Subcommands:
6
+ // register <name> [--color #...] [--tags a,b] Register backpack with relay
7
+ // push [<name>] Push local → relay
8
+ // pull [<name>] Pull relay → local
9
+ // sync [<name>] Bidirectional (pull then push)
10
+ // status [<name>] Show pending changes
11
+ // unregister [<name>] Drop sync state and remote record
12
+ // legacy Run the previous one-shot uploader
13
+ //
14
+ // If <name> is omitted, defaults to the active backpack from
15
+ // backpacks-registry. Authentication: BACKPACK_APP_TOKEN env var (preferred
16
+ // for CI/scripting), otherwise OAuth via .mcp.json discovery (same as legacy).
2
17
  import * as crypto from "node:crypto";
3
18
  import * as fs from "node:fs/promises";
4
19
  import * as path from "node:path";
@@ -7,17 +22,14 @@ import { BackpackAppBackend } from "../storage/backpack-app-backend.js";
7
22
  import { OAuthClient } from "../auth/oauth.js";
8
23
  import { loadConfig } from "../core/config.js";
9
24
  import { DocumentStore } from "../core/document-store.js";
10
- import { getKBMounts } from "../core/backpacks-registry.js";
11
- import { getActiveBackpack } from "../core/backpacks-registry.js";
25
+ import { getActiveBackpack, getBackpack, getKBMounts, colorForPath, } from "../core/backpacks-registry.js";
26
+ import { SyncClient } from "../sync/sync-client.js";
27
+ import { SyncRelayClient } from "../sync/sync-relay.js";
12
28
  const DEFAULTS = {
13
29
  url: "https://app.backpackontology.com",
14
30
  clientId: "YOUR_ENTRA_CLIENT_ID_HERE",
15
31
  issuerUrl: "https://YOUR_TENANT.ciamlogin.com/YOUR_TENANT_ID/v2.0",
16
32
  };
17
- /**
18
- * Try to read backpack-app config from .mcp.json in the current directory
19
- * or parent directories. This lets sync reuse the same auth as the MCP server.
20
- */
21
33
  async function discoverMcpConfig() {
22
34
  let dir = process.cwd();
23
35
  for (let i = 0; i < 10; i++) {
@@ -25,16 +37,13 @@ async function discoverMcpConfig() {
25
37
  try {
26
38
  const raw = await fs.readFile(mcpPath, "utf-8");
27
39
  const config = JSON.parse(raw);
28
- // Look for any backpack-app server config
29
40
  for (const [name, server] of Object.entries(config.mcpServers ?? {})) {
30
41
  if (name.startsWith("backpack-app") && server.env) {
31
- // Apply TLS override if configured (for local dev with self-signed certs)
32
42
  if (server.env.NODE_TLS_REJECT_UNAUTHORIZED) {
33
- process.env.NODE_TLS_REJECT_UNAUTHORIZED =
34
- server.env.NODE_TLS_REJECT_UNAUTHORIZED;
43
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = server.env.NODE_TLS_REJECT_UNAUTHORIZED;
35
44
  }
36
45
  return {
37
- url: server.env.BACKPACK_APP_URL,
46
+ apiUrl: server.env.BACKPACK_APP_URL,
38
47
  clientId: server.env.BACKPACK_APP_CLIENT_ID,
39
48
  issuerUrl: server.env.BACKPACK_APP_ISSUER_URL,
40
49
  token: server.env.BACKPACK_APP_TOKEN,
@@ -43,55 +52,177 @@ async function discoverMcpConfig() {
43
52
  }
44
53
  }
45
54
  catch {
46
- // No .mcp.json here, try parent
55
+ // ignore
47
56
  }
48
57
  const parent = path.dirname(dir);
49
58
  if (parent === dir)
50
59
  break;
51
60
  dir = parent;
52
61
  }
53
- return null;
62
+ return {};
54
63
  }
55
- async function main() {
56
- // Auto-discover config from .mcp.json if no env vars are set
64
+ async function buildAuth() {
57
65
  const discovered = await discoverMcpConfig();
58
- const apiUrl = process.env.BACKPACK_APP_URL ||
59
- discovered?.url ||
60
- DEFAULTS.url;
61
- const clientId = process.env.BACKPACK_APP_CLIENT_ID ||
62
- discovered?.clientId ||
63
- DEFAULTS.clientId;
64
- const issuerUrl = process.env.BACKPACK_APP_ISSUER_URL ||
65
- discovered?.issuerUrl ||
66
- DEFAULTS.issuerUrl;
67
- const staticToken = process.env.BACKPACK_APP_TOKEN ||
68
- discovered?.token;
69
- console.log("");
70
- console.log(" Backpack Sync — upload local ontologies to Backpack App");
71
- console.log(` Target: ${apiUrl}`);
72
- console.log("");
73
- // Set up local backend
74
- const config = await loadConfig();
75
- const local = new JsonFileBackend(config.dataDir);
76
- await local.initialize();
77
- // Set up remote backend + token provider for KB sync
78
- let remote;
79
- let getToken;
66
+ const apiUrl = process.env.BACKPACK_APP_URL || discovered.apiUrl || DEFAULTS.url;
67
+ const clientId = process.env.BACKPACK_APP_CLIENT_ID || discovered.clientId || DEFAULTS.clientId;
68
+ const issuerUrl = process.env.BACKPACK_APP_ISSUER_URL || discovered.issuerUrl || DEFAULTS.issuerUrl;
69
+ const staticToken = process.env.BACKPACK_APP_TOKEN || discovered.token;
70
+ let tokenProvider;
80
71
  if (staticToken) {
81
- remote = new BackpackAppBackend(apiUrl, staticToken);
82
- getToken = async () => staticToken;
72
+ tokenProvider = async () => staticToken;
83
73
  }
84
74
  else {
85
- const cacheKey = crypto
86
- .createHash("sha256")
87
- .update(apiUrl)
88
- .digest("hex")
89
- .slice(0, 12);
75
+ const cacheKey = crypto.createHash("sha256").update(apiUrl).digest("hex").slice(0, 12);
90
76
  const oauth = new OAuthClient(clientId, issuerUrl, cacheKey);
91
- remote = new BackpackAppBackend(apiUrl, () => oauth.getAccessToken());
92
- getToken = () => oauth.getAccessToken();
77
+ tokenProvider = () => oauth.getAccessToken();
78
+ }
79
+ return { apiUrl, clientId, issuerUrl, staticToken, tokenProvider };
80
+ }
81
+ async function buildClient(name) {
82
+ const auth = await buildAuth();
83
+ const entry = name ? await getBackpack(name) : await getActiveBackpack();
84
+ if (!entry) {
85
+ throw new Error(`backpack not found: ${name ?? "<active>"}`);
86
+ }
87
+ const relay = new SyncRelayClient({ baseUrl: auth.apiUrl, token: auth.tokenProvider });
88
+ const client = new SyncClient({ backpackPath: entry.path, relay });
89
+ return { client, backpackPath: entry.path, backpackName: entry.name, apiUrl: auth.apiUrl };
90
+ }
91
+ // ---------- subcommands ----------
92
+ function parseFlags(args) {
93
+ const positional = [];
94
+ const flags = {};
95
+ for (let i = 0; i < args.length; i++) {
96
+ const a = args[i];
97
+ if (a.startsWith("--")) {
98
+ const eq = a.indexOf("=");
99
+ if (eq > 0) {
100
+ flags[a.slice(2, eq)] = a.slice(eq + 1);
101
+ }
102
+ else {
103
+ flags[a.slice(2)] = args[++i] ?? "";
104
+ }
105
+ }
106
+ else {
107
+ positional.push(a);
108
+ }
109
+ }
110
+ return { positional, flags };
111
+ }
112
+ async function cmdRegister(args) {
113
+ const { positional, flags } = parseFlags(args);
114
+ if (positional.length === 0) {
115
+ throw new Error("usage: backpack-sync register <name> [--color #hex] [--tags a,b]");
116
+ }
117
+ const name = positional[0];
118
+ const { client, backpackPath, apiUrl } = await buildClient(name);
119
+ const color = flags.color ?? colorForPath(backpackPath);
120
+ const tags = flags.tags ? flags.tags.split(",").map((s) => s.trim()).filter(Boolean) : [];
121
+ const state = await client.register({ name, color, tags });
122
+ console.log("");
123
+ console.log(` Registered "${name}" with ${apiUrl}`);
124
+ console.log(` Backpack ID: ${state.backpack_id}`);
125
+ console.log(` Run \`backpack-sync push ${name}\` to upload artifacts.`);
126
+ console.log("");
127
+ }
128
+ function describeResult(name, result) {
129
+ console.log(` Backpack: ${name}`);
130
+ if (result.pushed.length)
131
+ console.log(` Pushed: ${result.pushed.length}`);
132
+ if (result.pulled.length)
133
+ console.log(` Pulled: ${result.pulled.length}`);
134
+ if (result.deleted_remote.length)
135
+ console.log(` Deleted (cloud): ${result.deleted_remote.length}`);
136
+ if (result.deleted_local.length)
137
+ console.log(` Deleted (local): ${result.deleted_local.length}`);
138
+ if (result.conflicts.length) {
139
+ console.log(` Conflicts: ${result.conflicts.length}`);
140
+ for (const c of result.conflicts) {
141
+ console.log(` - ${c.artifact_id} → ${c.conflict_path}`);
142
+ }
143
+ }
144
+ if (result.errors.length) {
145
+ console.log(` Errors: ${result.errors.length}`);
146
+ for (const e of result.errors) {
147
+ console.log(` - ${e.artifact_id ?? "(none)"}: ${e.message}`);
148
+ }
149
+ }
150
+ if (result.pushed.length === 0 &&
151
+ result.pulled.length === 0 &&
152
+ result.deleted_remote.length === 0 &&
153
+ result.deleted_local.length === 0 &&
154
+ result.conflicts.length === 0 &&
155
+ result.errors.length === 0) {
156
+ console.log(" Already in sync.");
157
+ }
158
+ }
159
+ async function cmdPush(args) {
160
+ const { positional } = parseFlags(args);
161
+ const { client, backpackName } = await buildClient(positional[0]);
162
+ const result = await client.push();
163
+ describeResult(backpackName, result);
164
+ }
165
+ async function cmdPull(args) {
166
+ const { positional } = parseFlags(args);
167
+ const { client, backpackName } = await buildClient(positional[0]);
168
+ const result = await client.pull();
169
+ describeResult(backpackName, result);
170
+ }
171
+ async function cmdSync(args) {
172
+ const { positional } = parseFlags(args);
173
+ const { client, backpackName } = await buildClient(positional[0]);
174
+ const result = await client.sync();
175
+ describeResult(backpackName, result);
176
+ }
177
+ async function cmdStatus(args) {
178
+ const { positional } = parseFlags(args);
179
+ const { client, backpackName } = await buildClient(positional[0]);
180
+ const status = await client.status();
181
+ console.log("");
182
+ console.log(` Backpack: ${backpackName}`);
183
+ if (!status.registered) {
184
+ console.log(" Not registered. Run `backpack-sync register <name>` to enable sync.");
185
+ console.log("");
186
+ return;
187
+ }
188
+ console.log(` Registered: ${status.state?.backpack_id}`);
189
+ console.log(` Last sync: ${status.state?.last_sync_at ?? "never"}`);
190
+ console.log(` Up to date: ${status.upToDate}`);
191
+ console.log(` Local only: ${status.localOnly.length}`);
192
+ if (status.localOnly.length) {
193
+ for (const id of status.localOnly)
194
+ console.log(` + ${id}`);
195
+ }
196
+ console.log(` Remote only: ${status.remoteOnly.length}`);
197
+ if (status.remoteOnly.length) {
198
+ for (const id of status.remoteOnly)
199
+ console.log(` - ${id}`);
93
200
  }
94
- // List local ontologies
201
+ console.log(` Diverged: ${status.diverged.length}`);
202
+ if (status.diverged.length) {
203
+ for (const id of status.diverged)
204
+ console.log(` ! ${id}`);
205
+ }
206
+ console.log("");
207
+ }
208
+ async function cmdUnregister(args) {
209
+ const { positional } = parseFlags(args);
210
+ const { client, backpackName } = await buildClient(positional[0]);
211
+ await client.unregister();
212
+ console.log(` Unregistered ${backpackName} (sync state cleared, remote record deleted if present).`);
213
+ }
214
+ // ---------- legacy one-shot uploader (preserved for backward compat) ----------
215
+ async function cmdLegacy() {
216
+ const auth = await buildAuth();
217
+ console.log("");
218
+ console.log(" Backpack Sync (legacy mode) — upload local ontologies to Backpack App");
219
+ console.log(` Target: ${auth.apiUrl}`);
220
+ console.log("");
221
+ const config = await loadConfig();
222
+ const local = new JsonFileBackend(config.dataDir);
223
+ await local.initialize();
224
+ const tokenProvider = auth.tokenProvider;
225
+ const remote = new BackpackAppBackend(auth.apiUrl, tokenProvider);
95
226
  const localOntologies = await local.listOntologies();
96
227
  if (localOntologies.length === 0) {
97
228
  console.log(" No local ontologies found. Nothing to sync.");
@@ -103,14 +234,13 @@ async function main() {
103
234
  console.log(` - ${o.name} (${o.nodeCount} nodes, ${o.edgeCount} edges)`);
104
235
  }
105
236
  console.log("");
106
- // Check which already exist remotely
107
237
  let remoteNames;
108
238
  try {
109
239
  const remoteOntologies = await remote.listOntologies();
110
240
  remoteNames = new Set(remoteOntologies.map((o) => o.name));
111
241
  }
112
242
  catch (err) {
113
- console.error(` Failed to connect to Backpack App at ${apiUrl}:`, err.message);
243
+ console.error(` Failed to connect to Backpack App at ${auth.apiUrl}:`, err.message);
114
244
  process.exit(1);
115
245
  }
116
246
  let created = 0;
@@ -139,7 +269,7 @@ async function main() {
139
269
  }
140
270
  console.log("");
141
271
  console.log(` Done. ${created} created, ${updated} updated, ${skipped} failed.`);
142
- // --- Sync KB documents ---
272
+ // Sync KB documents from active backpack default mount
143
273
  let docsSynced = 0;
144
274
  try {
145
275
  const activeEntry = await getActiveBackpack();
@@ -152,14 +282,10 @@ async function main() {
152
282
  for (const summary of result.documents) {
153
283
  try {
154
284
  const doc = await docStore.read(summary.id);
155
- // Upload document as a graph-associated resource via the app API
156
- const token = await getToken();
157
- const resp = await fetch(`${apiUrl}/api/kb/documents/${encodeURIComponent(doc.id)}`, {
285
+ const token = await tokenProvider();
286
+ const resp = await fetch(`${auth.apiUrl}/api/kb/documents/${encodeURIComponent(doc.id)}`, {
158
287
  method: "PUT",
159
- headers: {
160
- "Content-Type": "application/json",
161
- Authorization: `Bearer ${token}`,
162
- },
288
+ headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}` },
163
289
  body: JSON.stringify(doc),
164
290
  });
165
291
  if (resp.ok) {
@@ -177,18 +303,70 @@ async function main() {
177
303
  }
178
304
  }
179
305
  catch {
180
- // No KB configured — skip
181
- }
182
- if (created + updated > 0 || docsSynced > 0) {
183
- console.log("");
184
- console.log(` Your ontologies${docsSynced > 0 ? ` and ${docsSynced} KB document(s)` : ""} are now in Backpack App.`);
185
- console.log(" To switch to cloud mode, update your .mcp.json to use backpack-app");
186
- console.log(" instead of backpack.");
306
+ // No KB configured
187
307
  }
188
308
  console.log("");
189
309
  }
310
+ // ---------- entry ----------
311
+ function printHelp() {
312
+ console.log("");
313
+ console.log(" backpack-sync — bidirectional sync for Backpack");
314
+ console.log("");
315
+ console.log(" USAGE:");
316
+ console.log(" backpack-sync register <name> [--color #hex] [--tags a,b]");
317
+ console.log(" backpack-sync push [<name>]");
318
+ console.log(" backpack-sync pull [<name>]");
319
+ console.log(" backpack-sync sync [<name>] (bidirectional, default if no subcommand)");
320
+ console.log(" backpack-sync status [<name>]");
321
+ console.log(" backpack-sync unregister [<name>]");
322
+ console.log(" backpack-sync legacy (one-shot publish, original behavior)");
323
+ console.log("");
324
+ console.log(" AUTH:");
325
+ console.log(" BACKPACK_APP_TOKEN=... Static bearer token");
326
+ console.log(" BACKPACK_APP_URL=... Override relay URL");
327
+ console.log(" Otherwise OAuth via .mcp.json discovery (same as MCP server)");
328
+ console.log("");
329
+ }
330
+ async function main() {
331
+ const argv = process.argv.slice(2);
332
+ const sub = argv[0];
333
+ const rest = argv.slice(1);
334
+ if (!sub || sub === "--help" || sub === "-h" || sub === "help") {
335
+ printHelp();
336
+ return;
337
+ }
338
+ switch (sub) {
339
+ case "register":
340
+ await cmdRegister(rest);
341
+ return;
342
+ case "push":
343
+ await cmdPush(rest);
344
+ return;
345
+ case "pull":
346
+ await cmdPull(rest);
347
+ return;
348
+ case "sync":
349
+ await cmdSync(rest);
350
+ return;
351
+ case "status":
352
+ await cmdStatus(rest);
353
+ return;
354
+ case "unregister":
355
+ await cmdUnregister(rest);
356
+ return;
357
+ case "legacy":
358
+ await cmdLegacy();
359
+ return;
360
+ default:
361
+ // Backward compatibility: if invoked with no subcommand-style arg
362
+ // (e.g. someone passes a backpack name directly), treat as legacy.
363
+ console.error(`unknown subcommand: ${sub}`);
364
+ printHelp();
365
+ process.exit(2);
366
+ }
367
+ }
190
368
  main().catch((error) => {
191
- console.error("Error:", error.message ?? error);
369
+ console.error("Error:", error?.message ?? error);
192
370
  process.exit(1);
193
371
  });
194
372
  //# sourceMappingURL=backpack-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backpack-sync.js","sourceRoot":"","sources":["../../src/bin/backpack-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backpack-sync.js","sourceRoot":"","sources":["../../src/bin/backpack-sync.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { createMcpServer } from "../mcp/server.js";
4
4
  import { loadConfig } from "../core/config.js";
5
5
  import { removeBackpackHooks } from "../core/hooks.js";
6
6
  import { shutdown as shutdownTelemetry } from "../core/telemetry.js";
7
+ import { runStartupSync } from "../sync/auto-sync.js";
7
8
  async function main() {
8
9
  const config = await loadConfig();
9
10
  // Clean up any hooks installed by older versions (silent, non-blocking)
@@ -13,6 +14,12 @@ async function main() {
13
14
  await server.connect(transport);
14
15
  // Log to stderr because stdout is reserved for the MCP protocol
15
16
  console.error("Backpack MCP server running on stdio");
17
+ // Background pull for any sync-registered backpacks. Fire-and-forget;
18
+ // errors go to stderr and never block server startup. Set
19
+ // BACKPACK_SYNC_AUTOPULL=0 to opt out.
20
+ if (process.env.BACKPACK_SYNC_AUTOPULL !== "0") {
21
+ runStartupSync();
22
+ }
16
23
  }
17
24
  // Graceful shutdown — flush telemetry before exit
18
25
  async function gracefulShutdown() {
@@ -1 +1 @@
1
- {"version":3,"file":"backpack.js","sourceRoot":"","sources":["../../src/bin/backpack.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAErE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,wEAAwE;IACxE,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;AACxD,CAAC;AAED,kDAAkD;AAClD,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
+ {"version":3,"file":"backpack.js","sourceRoot":"","sources":["../../src/bin/backpack.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,wEAAwE;IACxE,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAEtD,sEAAsE;IACtE,0DAA0D;IAC1D,uCAAuC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,EAAE,CAAC;QAC/C,cAAc,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,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"}
@@ -4,6 +4,7 @@ import { type DraftResult, type ProposedNode, type ProposedEdge } from "./draft.
4
4
  import { planSummary, type NormalizationPlan } from "./normalize.js";
5
5
  import { type BackpackEntry } from "./backpacks-registry.js";
6
6
  import { DocumentStore } from "./document-store.js";
7
+ import { SignalStore } from "./signal-store.js";
7
8
  /**
8
9
  * The main Backpack API. Composes a StorageBackend with the Graph engine.
9
10
  *
@@ -22,6 +23,7 @@ export declare class Backpack {
22
23
  private tokenCache;
23
24
  private activeBackpack;
24
25
  private _documents;
26
+ private _signals;
25
27
  constructor(storage: StorageBackend);
26
28
  /**
27
29
  * Construct a Backpack whose storage backend reads from the currently
@@ -41,6 +43,11 @@ export declare class Backpack {
41
43
  * Lazily created and cached. Reset on switchBackpack().
42
44
  */
43
45
  documents(): Promise<DocumentStore>;
46
+ /**
47
+ * Get the SignalStore for the active backpack.
48
+ * Lazily created and cached. Reset on switchBackpack().
49
+ */
50
+ signals(): Promise<SignalStore>;
44
51
  listRegisteredBackpacks(): Promise<BackpackEntry[]>;
45
52
  /**
46
53
  * Switch the active backpack for this instance. Updates the persistent
@@ -1 +1 @@
1
- {"version":3,"file":"backpack.d.ts","sourceRoot":"","sources":["../../src/core/backpack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backpack.d.ts","sourceRoot":"","sources":["../../src/core/backpack.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { planNormalization, planSummary, } from "./normalize.js";
6
6
  import { getActiveBackpack, setActiveBackpack, listBackpacks, getKBMounts, } from "./backpacks-registry.js";
7
7
  import { EventSourcedBackend } from "../storage/event-sourced-backend.js";
8
8
  import { DocumentStore } from "./document-store.js";
9
+ import { SignalStore } from "./signal-store.js";
9
10
  /**
10
11
  * The main Backpack API. Composes a StorageBackend with the Graph engine.
11
12
  *
@@ -24,6 +25,7 @@ export class Backpack {
24
25
  tokenCache = new Map();
25
26
  activeBackpack = null;
26
27
  _documents = null;
28
+ _signals = null;
27
29
  constructor(storage) {
28
30
  this.storage = storage;
29
31
  }
@@ -73,6 +75,20 @@ export class Backpack {
73
75
  }
74
76
  return this._documents;
75
77
  }
78
+ /**
79
+ * Get the SignalStore for the active backpack.
80
+ * Lazily created and cached. Reset on switchBackpack().
81
+ */
82
+ async signals() {
83
+ if (!this._signals) {
84
+ const entry = this.activeBackpack;
85
+ if (!entry) {
86
+ throw new Error("No active backpack — cannot resolve signals path");
87
+ }
88
+ this._signals = new SignalStore(entry.path);
89
+ }
90
+ return this._signals;
91
+ }
76
92
  async listRegisteredBackpacks() {
77
93
  return listBackpacks();
78
94
  }
@@ -92,6 +108,7 @@ export class Backpack {
92
108
  this.versions.clear();
93
109
  this.tokenCache.clear();
94
110
  this._documents = null;
111
+ this._signals = null;
95
112
  // Stand up a fresh backend at the new path
96
113
  const newBackend = new EventSourcedBackend(undefined, {
97
114
  graphsDirOverride: entry.path,