backpack-ontology 0.8.3 → 0.8.5
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 +28 -0
- package/dist/bin/backpack.js +0 -8
- package/dist/bin/backpack.js.map +1 -1
- package/dist/cli/commands/cloud-admin.d.ts +2 -5
- package/dist/cli/commands/cloud-admin.d.ts.map +1 -1
- package/dist/cli/commands/cloud-admin.js +8 -167
- package/dist/cli/commands/cloud-admin.js.map +1 -1
- package/dist/cli/commands/ls.d.ts.map +1 -1
- package/dist/cli/commands/ls.js +2 -20
- package/dist/cli/commands/ls.js.map +1 -1
- package/dist/cli/commands/open.d.ts.map +1 -1
- package/dist/cli/commands/open.js +1 -2
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +2 -13
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +0 -2
- package/dist/cli/router.js.map +1 -1
- package/dist/core/signal-detectors.js +1 -1
- package/dist/core/signal-detectors.js.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +0 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/cloud-tools.d.ts.map +1 -1
- package/dist/mcp/tools/cloud-tools.js +29 -343
- package/dist/mcp/tools/cloud-tools.js.map +1 -1
- package/dist/mcp/tools/share-tools.d.ts.map +1 -1
- package/dist/mcp/tools/share-tools.js +54 -97
- package/dist/mcp/tools/share-tools.js.map +1 -1
- package/dist/ops/context.d.ts +0 -1
- package/dist/ops/context.d.ts.map +1 -1
- package/dist/ops/context.js +3 -24
- package/dist/ops/context.js.map +1 -1
- package/dist/ops/graphs.d.ts.map +1 -1
- package/dist/ops/graphs.js +1 -5
- package/dist/ops/graphs.js.map +1 -1
- package/dist/ops/kb.d.ts.map +1 -1
- package/dist/ops/kb.js +1 -4
- package/dist/ops/kb.js.map +1 -1
- package/dist/sharing/index.d.ts +1 -3
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js +1 -2
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/relay.d.ts +1 -5
- package/dist/sharing/relay.d.ts.map +1 -1
- package/dist/sharing/relay.js +1 -21
- package/dist/sharing/relay.js.map +1 -1
- package/dist/storage/backpack-app-backend.d.ts +0 -30
- package/dist/storage/backpack-app-backend.d.ts.map +1 -1
- package/dist/storage/backpack-app-backend.js +1 -53
- package/dist/storage/backpack-app-backend.js.map +1 -1
- package/package.json +1 -2
- package/dist/bin/backpack-sync.d.ts +0 -3
- package/dist/bin/backpack-sync.d.ts.map +0 -1
- package/dist/bin/backpack-sync.js +0 -372
- package/dist/bin/backpack-sync.js.map +0 -1
- package/dist/cli/commands/containers.d.ts +0 -3
- package/dist/cli/commands/containers.d.ts.map +0 -1
- package/dist/cli/commands/containers.js +0 -29
- package/dist/cli/commands/containers.js.map +0 -1
- package/dist/mcp/tools/cloud-container-tools.d.ts +0 -16
- package/dist/mcp/tools/cloud-container-tools.d.ts.map +0 -1
- package/dist/mcp/tools/cloud-container-tools.js +0 -250
- package/dist/mcp/tools/cloud-container-tools.js.map +0 -1
- package/dist/ops/containers.d.ts +0 -25
- package/dist/ops/containers.d.ts.map +0 -1
- package/dist/ops/containers.js +0 -144
- package/dist/ops/containers.js.map +0 -1
- package/dist/sharing/envelope.d.ts +0 -35
- package/dist/sharing/envelope.d.ts.map +0 -1
- package/dist/sharing/envelope.js +0 -87
- package/dist/sharing/envelope.js.map +0 -1
- package/dist/sync/auto-sync.d.ts +0 -10
- package/dist/sync/auto-sync.d.ts.map +0 -1
- package/dist/sync/auto-sync.js +0 -81
- package/dist/sync/auto-sync.js.map +0 -1
- package/dist/sync/index.d.ts +0 -10
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/sync/index.js +0 -7
- package/dist/sync/index.js.map +0 -1
- package/dist/sync/sync-client.d.ts +0 -103
- package/dist/sync/sync-client.d.ts.map +0 -1
- package/dist/sync/sync-client.js +0 -597
- package/dist/sync/sync-client.js.map +0 -1
- package/dist/sync/sync-relay.d.ts +0 -45
- package/dist/sync/sync-relay.d.ts.map +0 -1
- package/dist/sync/sync-relay.js +0 -147
- package/dist/sync/sync-relay.js.map +0 -1
- package/dist/sync/sync-state.d.ts +0 -7
- package/dist/sync/sync-state.d.ts.map +0 -1
- package/dist/sync/sync-state.js +0 -63
- package/dist/sync/sync-state.js.map +0 -1
- package/dist/sync/types.d.ts +0 -117
- package/dist/sync/types.d.ts.map +0 -1
- package/dist/sync/types.js +0 -20
- package/dist/sync/types.js.map +0 -1
package/README.md
CHANGED
|
@@ -42,6 +42,34 @@ This is where human understanding meets AI-generated knowledge — turning struc
|
|
|
42
42
|
|
|
43
43
|
[Backpack Viewer repo](https://github.com/NoahIrzinger/backpack-viewer)
|
|
44
44
|
|
|
45
|
+
## How this is different
|
|
46
|
+
|
|
47
|
+
**Most AI memory systems are read-side.** You give the AI your documents, it indexes them, you query. Retrieval-augmented generation (RAG), GraphRAG, vector stores, context injection pipelines — all of these operate on knowledge you already have. The AI retrieves; it doesn't accumulate.
|
|
48
|
+
|
|
49
|
+
**Backpack inverts that.** The LLM writes typed nodes and edges directly to the graph as it reasons — observations, decisions, relationships, claims. The graph persists across sessions, accumulates over time, and is navigable by future sessions as structured knowledge rather than retrieved text. The AI builds; it doesn't retrieve.
|
|
50
|
+
|
|
51
|
+
That difference in system shape produces a different kind of memory. Compare:
|
|
52
|
+
|
|
53
|
+
> *RAG:* "What do my documents say about Acme Corp?"
|
|
54
|
+
>
|
|
55
|
+
> *Backpack:* "Sarah Chen is the primary contact at Acme Corp (Ground Truth), who signed the Q4 contract (Decision Point), which superseded the original NDA-only relationship (SUPERSEDES) because of the enterprise tier upgrade (Justification)."
|
|
56
|
+
|
|
57
|
+
The second form isn't just more information — it's structured reasoning with epistemic status attached. The AI knows not just that a fact exists, but what kind of claim it is and how it relates to other claims.
|
|
58
|
+
|
|
59
|
+
### Three things no other agent memory system ships
|
|
60
|
+
|
|
61
|
+
**Typed epistemic schema.** Node types carry semantic meaning beyond generic "Entity." GroundTruth, Recommendation, Tradeoff, DecisionPoint, SUPERSEDES, JUSTIFIES — the AI records the epistemic status of what it knows, not just the facts. This is the difference between a fact store and a knowledge system.
|
|
62
|
+
|
|
63
|
+
**Git-like discipline on knowledge.** Branches, snapshots, rollback, diff, lock heartbeat. `backpack_audit_roles` detects type drift. `backpack_normalize` enforces type convergence. Knowledge is treated like source code: auditable, reversible, and conflict-aware.
|
|
64
|
+
|
|
65
|
+
**MCP-first, no SDK required.** Backpack was designed around MCP as the primary API from day one — not bolted on after. It works identically in Claude Code, Cursor, Windsurf, OpenAI Codex, Cline, Continue, and Zed. The typed graph is the contract between host and store; no SDK lock-in.
|
|
66
|
+
|
|
67
|
+
### How it relates to RAG and GraphRAG
|
|
68
|
+
|
|
69
|
+
Backpack doesn't replace retrieval pipelines — it's what you build them on. GraphRAG (Microsoft) derives a knowledge graph from documents and uses it as Q&A plumbing. Backpack is a write-first knowledge store that GraphRAG could query as input: Backpack accumulates the structured reasoning, GraphRAG synthesizes answers over it. They're stackable.
|
|
70
|
+
|
|
71
|
+
If you need to ask "what do my documents say about X?" — use RAG. If you need "what do I understand about X across months of work, and how did my thinking evolve?" — that's Backpack.
|
|
72
|
+
|
|
45
73
|
## Get started
|
|
46
74
|
|
|
47
75
|
### Recommended: Backpack App (free cloud account)
|
package/dist/bin/backpack.js
CHANGED
|
@@ -4,7 +4,6 @@ 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";
|
|
8
7
|
async function main() {
|
|
9
8
|
const config = await loadConfig();
|
|
10
9
|
// Clean up any hooks installed by older versions (silent, non-blocking)
|
|
@@ -12,14 +11,7 @@ async function main() {
|
|
|
12
11
|
const server = await createMcpServer({ mode: "local", dataDir: config.dataDir });
|
|
13
12
|
const transport = new StdioServerTransport();
|
|
14
13
|
await server.connect(transport);
|
|
15
|
-
// Log to stderr because stdout is reserved for the MCP protocol
|
|
16
14
|
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
|
-
}
|
|
23
15
|
}
|
|
24
16
|
// Graceful shutdown — flush telemetry before exit
|
|
25
17
|
async function gracefulShutdown() {
|
package/dist/bin/backpack.js.map
CHANGED
|
@@ -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;
|
|
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,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,7 +1,4 @@
|
|
|
1
1
|
import { ParsedArgs } from "../parser.js";
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function runContainerDelete(args: ParsedArgs): Promise<number>;
|
|
5
|
-
export declare function runMoveGraph(args: ParsedArgs): Promise<number>;
|
|
6
|
-
export declare function runMoveKB(args: ParsedArgs): Promise<number>;
|
|
2
|
+
export declare function runMoveGraph(_args: ParsedArgs): Promise<number>;
|
|
3
|
+
export declare function runMoveKB(_args: ParsedArgs): Promise<number>;
|
|
7
4
|
//# sourceMappingURL=cloud-admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-admin.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cloud-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"cloud-admin.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cloud-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrE;AACD,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlE"}
|
|
@@ -1,169 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function parseTags(raw) {
|
|
10
|
-
if (raw === undefined)
|
|
11
|
-
return undefined;
|
|
12
|
-
const tags = raw.split(",").map((t) => t.trim()).filter(Boolean);
|
|
13
|
-
return tags;
|
|
14
|
-
}
|
|
15
|
-
export async function runContainerCreate(args) {
|
|
16
|
-
const name = args.positional[0];
|
|
17
|
-
if (!name) {
|
|
18
|
-
process.stderr.write(`bp containers create: name required.\nusage: bp containers create <name> [--color=#RRGGBB] [--tags=a,b,c]\n`);
|
|
19
|
-
return 1;
|
|
20
|
-
}
|
|
21
|
-
const color = flagString(args, "color");
|
|
22
|
-
if (color && !HEX_COLOR.test(color)) {
|
|
23
|
-
process.stderr.write(`${red("✗")} --color must be #RRGGBB hex (got "${color}").\n`);
|
|
24
|
-
return 1;
|
|
25
|
-
}
|
|
26
|
-
const tags = parseTags(flagString(args, "tags"));
|
|
27
|
-
try {
|
|
28
|
-
const { container, created } = await createContainer(name, { color, tags });
|
|
29
|
-
const verb = created ? "created" : "already exists, no change to";
|
|
30
|
-
process.stdout.write(`${green("✓")} ${verb} ${bold(container.name)} ${dim(`(${container.id})`)}\n`);
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
catch (err) {
|
|
34
|
-
process.stderr.write(`${red("✗")} ${err.message}\n`);
|
|
35
|
-
return 1;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export async function runContainerRename(args) {
|
|
39
|
-
const [oldName, newName] = args.positional;
|
|
40
|
-
if (!oldName) {
|
|
41
|
-
process.stderr.write(`bp containers rename: name required.\nusage: bp containers rename <old> <new> [--color=#xxx] [--tags=a,b,c]\n`);
|
|
42
|
-
return 1;
|
|
43
|
-
}
|
|
44
|
-
const color = flagString(args, "color");
|
|
45
|
-
if (color && !HEX_COLOR.test(color)) {
|
|
46
|
-
process.stderr.write(`${red("✗")} --color must be #RRGGBB hex (got "${color}").\n`);
|
|
47
|
-
return 1;
|
|
48
|
-
}
|
|
49
|
-
const tags = parseTags(flagString(args, "tags"));
|
|
50
|
-
try {
|
|
51
|
-
const updated = await renameContainer(oldName, { newName, color, tags });
|
|
52
|
-
if (newName) {
|
|
53
|
-
process.stdout.write(`${green("✓")} ${bold(oldName)} → ${bold(updated.name)}\n`);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
process.stdout.write(`${green("✓")} updated ${bold(updated.name)}\n`);
|
|
57
|
-
}
|
|
58
|
-
return 0;
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
process.stderr.write(`${red("✗")} ${err.message}\n`);
|
|
62
|
-
return 1;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export async function runContainerDelete(args) {
|
|
66
|
-
const name = args.positional[0];
|
|
67
|
-
if (!name) {
|
|
68
|
-
process.stderr.write(`bp containers delete: name required.\nusage: bp containers delete <name> [-y]\n`);
|
|
69
|
-
return 1;
|
|
70
|
-
}
|
|
71
|
-
const ctx = await getContext();
|
|
72
|
-
const wasContainer = ctx.cloudContainer;
|
|
73
|
-
let graphCount = 0;
|
|
74
|
-
let kbCount = 0;
|
|
75
|
-
try {
|
|
76
|
-
const probeCtx = { source: "cloud", cloudContainer: name };
|
|
77
|
-
const { setContext } = await import("../../ops/context.js");
|
|
78
|
-
await setContext(probeCtx);
|
|
79
|
-
try {
|
|
80
|
-
const graphs = await listGraphs();
|
|
81
|
-
graphCount = graphs.length;
|
|
82
|
-
const kbs = await listKB();
|
|
83
|
-
kbCount = kbs.length;
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
await setContext(ctx).catch(() => { });
|
|
87
|
-
void wasContainer;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
}
|
|
92
|
-
const stakes = graphCount + kbCount > 0
|
|
93
|
-
? ` ${yellow(`it has ${graphCount} graph${graphCount === 1 ? "" : "s"} and ${kbCount} KB doc${kbCount === 1 ? "" : "s"} — server will refuse unless you move them out first`)}\n`
|
|
94
|
-
: "";
|
|
95
|
-
process.stderr.write(stakes);
|
|
96
|
-
const ok = await confirm(`delete cloud container ${bold(name)}? [y/N] `, args);
|
|
97
|
-
if (!ok) {
|
|
98
|
-
process.stderr.write(dim("aborted.\n"));
|
|
99
|
-
return 0;
|
|
100
|
-
}
|
|
101
|
-
try {
|
|
102
|
-
await deleteContainer(name);
|
|
103
|
-
process.stdout.write(`${green("✓")} deleted container ${bold(name)}\n`);
|
|
104
|
-
return 0;
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
107
|
-
process.stderr.write(`${red("✗")} ${err.message}\n`);
|
|
108
|
-
return 1;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export async function runMoveGraph(args) {
|
|
112
|
-
const name = args.positional[0];
|
|
113
|
-
const to = flagString(args, "to", "t");
|
|
114
|
-
if (!name) {
|
|
115
|
-
process.stderr.write(`bp graphs move: graph name required.\nusage: bp graphs move <name> --to <container>\n`);
|
|
116
|
-
return 1;
|
|
117
|
-
}
|
|
118
|
-
if (!to) {
|
|
119
|
-
process.stderr.write(`bp graphs move: --to <container> required.\n`);
|
|
120
|
-
return 1;
|
|
121
|
-
}
|
|
122
|
-
let from;
|
|
123
|
-
try {
|
|
124
|
-
const ctx = await getContext();
|
|
125
|
-
const probeCtx = { source: "cloud", cloudContainer: undefined };
|
|
126
|
-
const { setContext } = await import("../../ops/context.js");
|
|
127
|
-
await setContext(probeCtx);
|
|
128
|
-
try {
|
|
129
|
-
const all = await listGraphs();
|
|
130
|
-
from = all.find((g) => g.name === name)?.sourceBackpack;
|
|
131
|
-
}
|
|
132
|
-
finally {
|
|
133
|
-
await setContext(ctx).catch(() => { });
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
catch { }
|
|
137
|
-
try {
|
|
138
|
-
await moveGraphToContainer(name, to);
|
|
139
|
-
const fromStr = from ? `${dim(from)} → ` : "";
|
|
140
|
-
process.stdout.write(`${green("✓")} moved ${bold(name)}: ${fromStr}${bold(to)}\n`);
|
|
141
|
-
return 0;
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
process.stderr.write(`${red("✗")} ${err.message}\n`);
|
|
145
|
-
return 1;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
export async function runMoveKB(args) {
|
|
149
|
-
const id = args.positional[0];
|
|
150
|
-
const to = flagString(args, "to", "t");
|
|
151
|
-
if (!id) {
|
|
152
|
-
process.stderr.write(`bp kbs move: doc id required.\nusage: bp kbs move <id> --to <container>\n`);
|
|
153
|
-
return 1;
|
|
154
|
-
}
|
|
155
|
-
if (!to) {
|
|
156
|
-
process.stderr.write(`bp kbs move: --to <container> required.\n`);
|
|
157
|
-
return 1;
|
|
158
|
-
}
|
|
159
|
-
try {
|
|
160
|
-
await moveKBToContainer(id, to);
|
|
161
|
-
process.stdout.write(`${green("✓")} moved ${bold(id)} → ${bold(to)}\n`);
|
|
162
|
-
return 0;
|
|
163
|
-
}
|
|
164
|
-
catch (err) {
|
|
165
|
-
process.stderr.write(`${red("✗")} ${err.message}\n`);
|
|
166
|
-
return 1;
|
|
167
|
-
}
|
|
1
|
+
import { red } from "../colors.js";
|
|
2
|
+
export async function runMoveGraph(_args) {
|
|
3
|
+
process.stderr.write(`${red("✗")} bp graphs move: cloud containers have been removed. Graphs belong to your cloud account directly.\n`);
|
|
4
|
+
return 1;
|
|
5
|
+
}
|
|
6
|
+
export async function runMoveKB(_args) {
|
|
7
|
+
process.stderr.write(`${red("✗")} bp kbs move: cloud containers have been removed. KB docs belong to your cloud account directly.\n`);
|
|
8
|
+
return 1;
|
|
168
9
|
}
|
|
169
10
|
//# sourceMappingURL=cloud-admin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-admin.js","sourceRoot":"","sources":["../../../src/cli/commands/cloud-admin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloud-admin.js","sourceRoot":"","sources":["../../../src/cli/commands/cloud-admin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAiB;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,sGAAsG,CAAC,CAAC;IACxI,OAAO,CAAC,CAAC;AACb,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,oGAAoG,CAAC,CAAC;IACtI,OAAO,CAAC,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,wBAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAmD7D"}
|
package/dist/cli/commands/ls.js
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import { resolveFormat, emitList } from "../output.js";
|
|
2
2
|
import { dim, red, yellow } from "../colors.js";
|
|
3
3
|
import { listGraphs } from "../../ops/graphs.js";
|
|
4
|
-
import { listContainers } from "../../ops/containers.js";
|
|
5
4
|
import { listKB } from "../../ops/kb.js";
|
|
6
5
|
import { describeContext, getContext } from "../../ops/context.js";
|
|
7
6
|
import { resolveCloudToken } from "../../ops/auth.js";
|
|
8
7
|
const RESOURCE_ALIASES = {
|
|
9
8
|
graphs: "graphs", graph: "graphs", g: "graphs",
|
|
10
|
-
containers: "containers", container: "containers", c: "containers", buckets: "containers",
|
|
11
9
|
kbs: "kbs", kb: "kbs", docs: "kbs", doc: "kbs",
|
|
12
10
|
};
|
|
13
11
|
export async function runLs(args) {
|
|
14
12
|
const target = args.positional[0] ?? "graphs";
|
|
15
13
|
const resource = RESOURCE_ALIASES[target.toLowerCase()];
|
|
16
14
|
if (!resource) {
|
|
17
|
-
process.stderr.write(`bp ls: unknown resource "${target}". try graphs
|
|
15
|
+
process.stderr.write(`bp ls: unknown resource "${target}". try graphs or kbs.\n`);
|
|
18
16
|
return 1;
|
|
19
17
|
}
|
|
20
18
|
const fmt = { format: resolveFormat(args.flags) };
|
|
21
19
|
const ctx = await getContext();
|
|
22
|
-
|
|
23
|
-
if (needsCloud) {
|
|
20
|
+
if (ctx.source === "cloud") {
|
|
24
21
|
const token = await resolveCloudToken();
|
|
25
22
|
if (!token) {
|
|
26
23
|
process.stderr.write(`${yellow("!")} not signed in. run \`bp login\` first to list ${resource}.\n`);
|
|
@@ -44,21 +41,6 @@ export async function runLs(args) {
|
|
|
44
41
|
}, fmt);
|
|
45
42
|
return 0;
|
|
46
43
|
}
|
|
47
|
-
if (resource === "containers") {
|
|
48
|
-
const rows = await listContainers();
|
|
49
|
-
emitList({
|
|
50
|
-
rows,
|
|
51
|
-
pluralLabel: "containers",
|
|
52
|
-
empty: dim("no cloud containers (sign in and try again)."),
|
|
53
|
-
cols: [
|
|
54
|
-
{ header: "NAME", get: (r) => r.name, max: 32 },
|
|
55
|
-
{ header: "ORIGIN", get: (r) => r.origin_kind === "local" ? `device${r.origin_device_name ? ` · ${r.origin_device_name}` : ""}` : "cloud" },
|
|
56
|
-
{ header: "ID", get: (r) => r.id, dim: true, wide: true },
|
|
57
|
-
{ header: "TAGS", get: (r) => (r.tags ?? []).join(",") || "", dim: true, wide: true },
|
|
58
|
-
],
|
|
59
|
-
}, fmt);
|
|
60
|
-
return 0;
|
|
61
|
-
}
|
|
62
44
|
const rows = await listKB();
|
|
63
45
|
emitList({
|
|
64
46
|
rows,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqC1C,wBAAsB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA2D/D"}
|
|
@@ -15,8 +15,7 @@ async function syncViewerContext() {
|
|
|
15
15
|
}
|
|
16
16
|
else if (ctx.source === "cloud") {
|
|
17
17
|
switchName = "__cloud__";
|
|
18
|
-
label =
|
|
19
|
-
container = ctx.cloudContainer;
|
|
18
|
+
label = "cloud";
|
|
20
19
|
}
|
|
21
20
|
if (!switchName)
|
|
22
21
|
return { ok: false, label: null, error: "no active context" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACvD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,uBAAuB,CAAC;AAC9E,KAAK,UAAU,iBAAiB;IAM5B,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,SAA6B,CAAC;IAClC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7C,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,GAAG,SAAS,UAAU,EAAE,CAAC;IAClC,CAAC;SACI,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,UAAU,GAAG,WAAW,CAAC;QACzB,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/cli/commands/open.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,IAAI,IAAI,CAahC;
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,IAAI,IAAI,CAahC;AAmFD,wBAAgB,aAAa,IAAI,IAAI,CAcpC"}
|
package/dist/cli/help.js
CHANGED
|
@@ -17,7 +17,7 @@ const FULL_HELP_SECTIONS = [
|
|
|
17
17
|
{
|
|
18
18
|
title: "Common",
|
|
19
19
|
commands: [
|
|
20
|
-
["bp ls [resource]", "list graphs /
|
|
20
|
+
["bp ls [resource]", "list graphs / kbs in the current scope"],
|
|
21
21
|
["bp cat <name>", "print a graph as JSON (pipe to jq, sed, etc.)"],
|
|
22
22
|
["bp show <name>", "human-friendly summary + type histogram"],
|
|
23
23
|
["bp open <name>", "open the graph in the local viewer"],
|
|
@@ -33,7 +33,7 @@ const FULL_HELP_SECTIONS = [
|
|
|
33
33
|
["bp logout", "sign out everywhere"],
|
|
34
34
|
["bp whoami", "show signed-in identity"],
|
|
35
35
|
["bp where", "show current scope (backpack / container / identity)"],
|
|
36
|
-
["bp use <name>", "switch context (local backpack or cloud
|
|
36
|
+
["bp use <name>", "switch context (local backpack or cloud)"],
|
|
37
37
|
["bp use", "list available contexts"],
|
|
38
38
|
],
|
|
39
39
|
},
|
|
@@ -49,7 +49,6 @@ const FULL_HELP_SECTIONS = [
|
|
|
49
49
|
["bp graphs edit <name>", "open in $EDITOR, save back atomically"],
|
|
50
50
|
["bp graphs rename <old> <new>", "rename in place"],
|
|
51
51
|
["bp graphs delete <name>", "delete with confirm (or -y)"],
|
|
52
|
-
["bp graphs move <name> --to <container>", "relocate between cloud containers"],
|
|
53
52
|
],
|
|
54
53
|
},
|
|
55
54
|
{
|
|
@@ -61,16 +60,6 @@ const FULL_HELP_SECTIONS = [
|
|
|
61
60
|
["bp kbs create --title=… --content=…", "create from flags"],
|
|
62
61
|
["bp kbs edit <id>", "edit body in $EDITOR"],
|
|
63
62
|
["bp kbs delete <id>", "delete with confirm"],
|
|
64
|
-
["bp kbs move <id> --to <container>", "relocate between cloud containers"],
|
|
65
|
-
],
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
title: "Cloud containers",
|
|
69
|
-
commands: [
|
|
70
|
-
["bp containers list", "list your cloud sync_backpacks"],
|
|
71
|
-
["bp containers create <name> [--color=#xxx] [--tags=a,b]", "new cloud container"],
|
|
72
|
-
["bp containers rename <old> <new>", "rename / recolor / retag"],
|
|
73
|
-
["bp containers delete <name>", "delete (refuses if non-empty)"],
|
|
74
63
|
],
|
|
75
64
|
},
|
|
76
65
|
{
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,MAAM,UAAU,SAAS;IACrB,MAAM,KAAK,GAAG;QACV,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC;QACnC,EAAE;QACF,KAAK,IAAI,CAAC,OAAO,CAAC,yDAAyD;QAC3E,KAAK,IAAI,CAAC,QAAQ,CAAC,uDAAuD;QAC1E,KAAK,IAAI,CAAC,SAAS,CAAC,0CAA0C;QAC9D,KAAK,IAAI,CAAC,UAAU,CAAC,qCAAqC;QAC1D,KAAK,IAAI,CAAC,WAAW,CAAC,2CAA2C;QACjE,EAAE;QACF,GAAG,CAAC,kCAAkC,CAAC;KAC1C,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAClD,CAAC;AACD,MAAM,kBAAkB,GAMlB;IACF;QACI,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE;YACN,CAAC,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAuCA,wBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C5D"}
|
package/dist/cli/router.js
CHANGED
|
@@ -11,7 +11,6 @@ import { runShow } from "./commands/show.js";
|
|
|
11
11
|
import { runOpen } from "./commands/open.js";
|
|
12
12
|
import { runSearch } from "./commands/search.js";
|
|
13
13
|
import { runGraphs } from "./commands/graphs.js";
|
|
14
|
-
import { runContainers } from "./commands/containers.js";
|
|
15
14
|
import { runKbs } from "./commands/kbs.js";
|
|
16
15
|
import { runDelete, runRename } from "./commands/mutate.js";
|
|
17
16
|
import { runInit } from "./commands/init.js";
|
|
@@ -35,7 +34,6 @@ const COMMANDS = {
|
|
|
35
34
|
init: runInit,
|
|
36
35
|
completion: runCompletion,
|
|
37
36
|
graphs: runGraphs, graph: runGraphs,
|
|
38
|
-
containers: runContainers, container: runContainers,
|
|
39
37
|
kbs: runKbs, kb: runKbs,
|
|
40
38
|
};
|
|
41
39
|
export async function run(rawArgv) {
|
package/dist/cli/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -428,7 +428,7 @@ export const crossGraphEntityDetector = {
|
|
|
428
428
|
category: "structural",
|
|
429
429
|
severity: uniqueGraphs.length >= 3 ? "high" : "medium",
|
|
430
430
|
title: `"${displayLabel}" appears across ${uniqueGraphs.length} graphs`,
|
|
431
|
-
description: `"${displayLabel}" exists ${perGraph.join(", ")}. ${types.length > 1 ? `
|
|
431
|
+
description: `"${displayLabel}" exists ${perGraph.join(", ")}. ${types.length > 1 ? `Typed differently (${types.join(" vs ")}) — inconsistent modeling.\n→ Action: Standardize the type and re-run signal detection. Use backpack_update_node to retype.` : `This entity bridges your graphs — insights from one apply to the other.\n→ Action: Use connector_synthesize to view these graphs together and see how this entity connects across domains.`}`,
|
|
432
432
|
evidenceNodeIds: nodeIds,
|
|
433
433
|
evidenceDocIds: [],
|
|
434
434
|
graphNames: uniqueGraphs,
|