@fingerskier/augment 0.1.5 → 0.1.6

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 CHANGED
@@ -2,17 +2,86 @@
2
2
 
3
3
  Local RAG memory for coding agents.
4
4
 
5
- Augment stores durable memories as markdown files, maintains a local rebuildable index, and exposes the memory system through an MCP server.
6
- The MCP server connects to a shared local daemon, so multiple coding agents can use the same memory folder without each running its own watcher/indexer.
5
+ ## Quickstart
6
+
7
+ One command wires Augment into your agent. No clone, no build.
8
+
9
+ **Claude Code:**
10
+
11
+ ```powershell
12
+ npx -y @fingerskier/augment install claude --scope user --memory-root "C:\Users\you\Dropbox\augment-memories"
13
+ ```
14
+
15
+ **Codex:**
16
+
17
+ ```powershell
18
+ npx -y @fingerskier/augment install codex --scope user --memory-root "C:\Users\you\Dropbox\augment-memories"
19
+ ```
20
+
21
+ **Both at once:**
22
+
23
+ ```powershell
24
+ npx -y @fingerskier/augment install all --scope user --memory-root "C:\Users\you\Dropbox\augment-memories"
25
+ ```
26
+
27
+ Restart the agent and the `augment` memory tools appear. Swap `--scope user`
28
+ (your home dir) for `--scope repo` to install into the current project. Add
29
+ `--dry-run` to preview every file write first. Details:
30
+ [Install Agent Integrations](#install-agent-integrations).
31
+
32
+ ## CLI Commands
33
+
34
+ Run any command without a clone via `npx -y @fingerskier/augment <command>`:
35
+
36
+ | Command | What it does |
37
+ | --- | --- |
38
+ | `status` | Print the resolved config (memory root, state dir, daemon). Default command; `config` is an alias. |
39
+ | `dashboard` | Start the daemon (if needed) and open the memory graph web UI. `--no-open` just prints the URL. |
40
+ | `install <codex\|claude\|all>` | Wire Augment into an agent. See [Quickstart](#quickstart). |
41
+ | `recall "<task>"` | Print the memory that would be recalled for a task (what the hooks auto-inject). |
42
+ | `hook <event>` | Run a lifecycle hook over stdin JSON. Host-wired by `install`; you rarely call it directly. |
43
+ | `help` | Show full usage (also `--help`, `-h`). |
44
+
45
+ Examples:
46
+
47
+ ```powershell
48
+ npx -y @fingerskier/augment status
49
+ npx -y @fingerskier/augment dashboard
50
+ npx -y @fingerskier/augment dashboard --no-open
51
+ npx -y @fingerskier/augment recall "fix the daemon reconnect bug" --project fingerskier/augment --limit 5
52
+ ```
53
+
54
+ `status`, `dashboard`, and `recall` honor `AUGMENT_MEMORY_ROOT` /
55
+ `~/.augment/config.json`; `dashboard` also honors `AUGMENT_DAEMON_PORT`. Inside
56
+ this repo use the compiled bin instead — see
57
+ [Run Locally](#run-locally).
58
+
59
+ ## Overview
60
+
61
+ Augment is durable, local, project-scoped memory for coding agents.
62
+ It stores memories as plain markdown files, maintains a rebuildable local index, and serves them over an MCP server backed by a shared local daemon —
63
+ so several agents can share one memory folder without each running its own watcher/indexer.
64
+ Your memories stay on disk; nothing leaves the machine.
65
+
66
+ The point is to close the loop on every coding session:
67
+ 1. **You prompt.** The agent starts a task and searches Augment for relevant prior context.
68
+ 2. **Memories retrieved.** Governing specs, architecture decisions, known issues, and past work surface as direct context — no re-explaining what was already decided.
69
+ 3. **Work done.** The agent implements against that context instead of guessing.
70
+ 4. **Memories updated.** Durable outcomes — requirements (`SPEC`), decisions (`ARCH`), bugs (`ISSUE`), deferred work (`TODO`), milestones (`WORK`) — are written back and linked, ready for the next session.
71
+
72
+ Over time the memory folder becomes a project's institutional knowledge:
73
+ queryable by semantic search, browsable as a graph in the [dashboard](#dashboard), and portable across machines via relative paths.
74
+ For example, you could set your memory-root at a Dropbox folder and use them on multiple machines-
75
+ paths and linkages are relative to that path so the search index is rebuildable and useable on multiple systems at once.
7
76
 
8
77
  Feature details live in [docs/FEATURES.md](docs/FEATURES.md).
9
78
  The implementation plan lives in [PLAN.md](PLAN.md).
10
79
 
11
80
  ----
12
81
 
13
- ## Install
82
+ ## Install From Source
14
83
 
15
- From this repo:
84
+ For development inside this repo:
16
85
 
17
86
  ```powershell
18
87
  npm install
@@ -196,6 +265,27 @@ under `~/.augment/npm-exec` so they work even when launched from this repository
196
265
  Run these package commands from outside this repository. When developing inside
197
266
  this repo, use `node .\dist\bin\augment.js install ...` after `npm run build`.
198
267
 
268
+ ## Dashboard
269
+
270
+ A local web UI for browsing and editing memories as a graph:
271
+
272
+ ```powershell
273
+ npx -y @fingerskier/augment dashboard
274
+ ```
275
+
276
+ This starts the shared daemon (if needed) and opens the dashboard in your browser.
277
+ It shows a graph of all projects; click a project to drill into its memory
278
+ subgraph (nodes colored by kind, edges labeled by link type). You can run an ad
279
+ hoc semantic search, create/edit/delete memories, and create/delete links — all
280
+ against the daemon's localhost API.
281
+
282
+ - `augment dashboard` — start the daemon and open the UI.
283
+ - `augment dashboard --no-open` — just print the URL (honors `AUGMENT_DAEMON_PORT`).
284
+
285
+ The page authenticates to the daemon with the token passed in its URL, so only a
286
+ process that can read the local daemon state can open it. Developing inside this
287
+ repo, use `node .\dist\bin\augment.js dashboard` after `npm run build`.
288
+
199
289
  ## Package Check
200
290
 
201
291
  Before publishing:
package/dist/cli.d.ts CHANGED
@@ -1,8 +1,15 @@
1
1
  import { type RecallOptions } from "./recall.js";
2
- /** Injectable seams so `recall`/`hook` are testable without touching the daemon or real stdin. */
2
+ /** Endpoint + token the dashboard page needs to reach the daemon's authed API. */
3
+ export interface DashboardDaemon {
4
+ endpoint: string;
5
+ token: string;
6
+ }
7
+ /** Injectable seams so `recall`/`hook`/`dashboard` are testable without touching the daemon, browser, or real stdin. */
3
8
  export interface RunCliDeps {
4
9
  recall?: (options: RecallOptions) => Promise<string>;
5
10
  readStdin?: () => Promise<string>;
11
+ connectDashboardDaemon?: () => Promise<DashboardDaemon>;
12
+ openUrl?: (url: string) => Promise<void>;
6
13
  }
7
14
  export declare function runCli(args: string[], deps?: RunCliDeps): Promise<void>;
8
15
  /** Human-readable usage shown by `augment help`, `--help`, `-h`, and on unknown commands. */
package/dist/cli.js CHANGED
@@ -1,4 +1,6 @@
1
+ import { spawn } from "node:child_process";
1
2
  import { loadConfig } from "./config.js";
3
+ import { connectOrStartDaemon } from "./daemon/client.js";
2
4
  import { runHook } from "./hooks.js";
3
5
  import { defaultClaudeRunner, installIntegration } from "./install.js";
4
6
  import { recall as defaultRecall } from "./recall.js";
@@ -24,6 +26,17 @@ export async function runCli(args, deps = {}) {
24
26
  }
25
27
  return;
26
28
  }
29
+ if (command === "dashboard") {
30
+ const { open } = parseDashboardArgs(args.slice(1));
31
+ const connect = deps.connectDashboardDaemon ?? defaultConnectDashboardDaemon;
32
+ const { endpoint, token } = await connect();
33
+ const url = `${endpoint}/dashboard?token=${token}`;
34
+ console.log(`Augment dashboard: ${url}`);
35
+ if (open) {
36
+ await (deps.openUrl ?? defaultOpenUrl)(url);
37
+ }
38
+ return;
39
+ }
27
40
  if (command === "recall") {
28
41
  const recall = deps.recall ?? defaultRecall;
29
42
  const text = await recall(parseRecallArgs(args.slice(1)));
@@ -59,10 +72,15 @@ export function helpText() {
59
72
  " status Print the resolved configuration (default command).",
60
73
  " config Alias for status.",
61
74
  " install <target> Install an agent integration (see below).",
75
+ " dashboard Open the memory dashboard (project/memory graph + search + CRUD).",
62
76
  " recall <query> Print memory recalled for a task (auto-injected by hooks).",
63
77
  " hook <event> Run a lifecycle hook over stdin JSON (host-wired; see below).",
64
78
  " help Show this help (also --help, -h).",
65
79
  "",
80
+ "DASHBOARD",
81
+ " augment dashboard [--no-open] Start the daemon (if needed) and open the web UI.",
82
+ " Honors AUGMENT_DAEMON_PORT; --no-open just prints the URL.",
83
+ "",
66
84
  "RECALL",
67
85
  " augment recall \"<task text>\" [--project ORG/REPO] [--cwd PATH]",
68
86
  " [--limit N] [--max-chars N] [--min-score F]",
@@ -90,6 +108,30 @@ export function helpText() {
90
108
  "Docs: https://www.npmjs.com/package/@fingerskier/augment",
91
109
  ].join("\n");
92
110
  }
111
+ function parseDashboardArgs(args) {
112
+ let open = true;
113
+ for (const arg of args) {
114
+ if (arg === "--no-open") {
115
+ open = false;
116
+ }
117
+ else {
118
+ throw new Error(`Unknown dashboard option: ${arg}`);
119
+ }
120
+ }
121
+ return { open };
122
+ }
123
+ async function defaultConnectDashboardDaemon() {
124
+ const client = await connectOrStartDaemon();
125
+ return { endpoint: client.endpoint, token: client.token };
126
+ }
127
+ async function defaultOpenUrl(url) {
128
+ const platform = process.platform;
129
+ const command = platform === "win32" ? "cmd" : platform === "darwin" ? "open" : "xdg-open";
130
+ // On Windows, `start` treats the first quoted arg as the window title, so pass an empty one.
131
+ const commandArgs = platform === "win32" ? ["/c", "start", "", url] : [url];
132
+ const child = spawn(command, commandArgs, { detached: true, stdio: "ignore" });
133
+ child.unref();
134
+ }
93
135
  function parseRecallArgs(args) {
94
136
  const queryParts = [];
95
137
  const options = { query: "" };
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import type { DaemonInfo } from "../types.js";
3
3
  export declare class DaemonClient {
4
4
  private readonly info;
5
5
  constructor(info: DaemonInfo);
6
+ get endpoint(): string;
7
+ get token(): string;
6
8
  initProject(input: unknown): Promise<unknown>;
7
9
  listProjects(name?: string): Promise<unknown>;
8
10
  search(input: unknown): Promise<unknown>;
@@ -9,6 +9,12 @@ export class DaemonClient {
9
9
  constructor(info) {
10
10
  this.info = info;
11
11
  }
12
+ get endpoint() {
13
+ return this.info.endpoint;
14
+ }
15
+ get token() {
16
+ return this.info.token;
17
+ }
12
18
  async initProject(input) {
13
19
  return this.post("/projects/init", input);
14
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/daemon/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/daemon/client.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { writeFile } from "node:fs/promises";
3
3
  import http from "node:http";
4
4
  import chokidar from "chokidar";
5
5
  import { EMBEDDING_MODEL_ID } from "../constants.js";
6
+ import { cytoscapeBundleJs, dashboardAsset } from "../dashboard/assets.js";
6
7
  export async function startHttpDaemon(config, service) {
7
8
  await service.init();
8
9
  const token = randomBytes(32).toString("hex");
@@ -67,6 +68,20 @@ async function handleRequest(service, token, request, response) {
67
68
  sendJson(response, 200, { ok: true, pid: process.pid, title: process.title });
68
69
  return;
69
70
  }
71
+ // The dashboard UI shell is static (no data) and is fetched by the browser, which
72
+ // can't send the bearer header — serve it unauthenticated. All data routes below
73
+ // still require the token, which the page reads from `?token=` and sends on its API calls.
74
+ if (request.method === "GET" && url.pathname === "/dashboard/cytoscape.min.js") {
75
+ sendText(response, 200, "application/javascript; charset=utf-8", await cytoscapeBundleJs());
76
+ return;
77
+ }
78
+ if (request.method === "GET") {
79
+ const asset = dashboardAsset(url.pathname);
80
+ if (asset) {
81
+ sendText(response, 200, asset.contentType, asset.body);
82
+ return;
83
+ }
84
+ }
70
85
  if (!authorized(request, token)) {
71
86
  sendJson(response, 401, { error: "unauthorized" });
72
87
  return;
@@ -79,6 +94,21 @@ async function handleRequest(service, token, request, response) {
79
94
  sendJson(response, 200, await service.listProjects(url.searchParams.get("name") ?? undefined));
80
95
  return;
81
96
  }
97
+ const graphMatch = /^\/projects\/(\d+)\/graph$/.exec(url.pathname);
98
+ if (request.method === "GET" && graphMatch) {
99
+ sendJson(response, 200, await service.projectGraph(Number(graphMatch[1])));
100
+ return;
101
+ }
102
+ if (request.method === "GET" && url.pathname === "/memories") {
103
+ const raw = url.searchParams.get("project_id");
104
+ const projectId = Number(raw);
105
+ if (raw === null || !Number.isInteger(projectId) || projectId <= 0) {
106
+ sendJson(response, 400, { error: "project_id query parameter must be a positive integer" });
107
+ return;
108
+ }
109
+ sendJson(response, 200, await service.listMemoriesByProject(projectId));
110
+ return;
111
+ }
82
112
  if (request.method === "POST" && url.pathname === "/memories/search") {
83
113
  sendJson(response, 200, await service.search(await readJson(request)));
84
114
  return;
@@ -92,6 +122,10 @@ async function handleRequest(service, token, request, response) {
92
122
  sendJson(response, 200, await service.read(Number(memoryMatch[1])));
93
123
  return;
94
124
  }
125
+ if (request.method === "DELETE" && memoryMatch) {
126
+ sendJson(response, 200, await service.deleteMemory(Number(memoryMatch[1])));
127
+ return;
128
+ }
95
129
  if (request.method === "POST" && url.pathname === "/links") {
96
130
  const body = (await readJson(request));
97
131
  sendJson(response, 200, await service.link(body.from_memory_id, body.to_memory_id, body.type));
@@ -136,6 +170,10 @@ function sendJson(response, status, body) {
136
170
  response.writeHead(status, { "content-type": "application/json; charset=utf-8" });
137
171
  response.end(JSON.stringify(body));
138
172
  }
173
+ function sendText(response, status, contentType, body) {
174
+ response.writeHead(status, { "content-type": contentType });
175
+ response.end(body);
176
+ }
139
177
  function errorMessage(error) {
140
178
  return error instanceof Error ? error.message : String(error);
141
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/daemon/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/daemon/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAmD,MAAM,WAAW,CAAC;AAC5E,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU3E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAqB,EAAE,OAAuB;IAClF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACrD,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,GAAe;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE;QAC5C,KAAK;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IACF,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE1E,IAAI,YAAwC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;QAChD,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QACD,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC;QAClG,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI;QACJ,KAAK,CAAC,KAAK;YACT,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAuB,EACvB,KAAa,EACb,OAAwB,EACxB,QAAwB;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,kFAAkF;IAClF,iFAAiF;IACjF,2FAA2F;IAC3F,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,6BAA6B,EAAE,CAAC;QAC/E,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,uCAAuC,EAAE,MAAM,iBAAiB,EAAE,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACrE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACrE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,WAAW,EAAE,CAAC;QAC5C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC/C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAoE,CAAC;QAC1G,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC7C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,OAAwB,EAAE,KAAa;IACzD,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IACpD,IAAI,aAAa,KAAK,UAAU,KAAK,EAAE,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,KAAK,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAwB;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,QAAwB,EAAE,MAAc,EAAE,IAAa;IACvE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAClF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,QAAwB,EAAE,MAAc,EAAE,WAAmB,EAAE,IAAY;IAC3F,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The dashboard is a single static page (served by the daemon) that talks to the
3
+ * daemon's JSON API. Assets are embedded as string constants so `tsc` compiles them
4
+ * straight into `dist/` — no asset-copy step, matching the project's no-frontend-build
5
+ * approach. The only external file is Cytoscape, resolved from node_modules at runtime
6
+ * (works offline; ships as a normal dependency of the published package).
7
+ */
8
+ export interface DashboardAsset {
9
+ contentType: string;
10
+ body: string;
11
+ }
12
+ export declare const DASHBOARD_HTML = "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <title>Augment \u2014 Memory Dashboard</title>\n <link rel=\"stylesheet\" href=\"/dashboard/styles.css\" />\n <script src=\"/dashboard/cytoscape.min.js\"></script>\n</head>\n<body>\n <header>\n <div class=\"brand\">augment</div>\n <nav id=\"breadcrumb\"><a href=\"#\" data-nav=\"projects\">Projects</a></nav>\n <form id=\"search-form\" autocomplete=\"off\">\n <input id=\"search-input\" type=\"search\" placeholder=\"Search memories\u2026\" />\n <button type=\"submit\">Search</button>\n </form>\n <button id=\"new-memory-btn\" type=\"button\" title=\"New memory\">+ Memory</button>\n </header>\n <main>\n <div id=\"cy\"></div>\n <aside id=\"inspector\">\n <div id=\"inspector-body\" class=\"muted\">Select a project to explore its memories.</div>\n </aside>\n </main>\n <div id=\"toast\" hidden></div>\n <script src=\"/dashboard/app.js\"></script>\n</body>\n</html>\n";
13
+ export declare const DASHBOARD_CSS = ":root {\n --bg: #0f1419; --panel: #161b22; --line: #2a313c; --fg: #e6edf3; --muted: #8b949e;\n --accent: #58a6ff; --danger: #f85149; --ok: #3fb950;\n --spec: #58a6ff; --arch: #bc8cff; --issue: #f85149; --todo: #d29922; --work: #3fb950;\n}\n* { box-sizing: border-box; }\nhtml, body { margin: 0; height: 100%; background: var(--bg); color: var(--fg);\n font: 14px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }\nheader { display: flex; align-items: center; gap: 12px; padding: 8px 14px;\n background: var(--panel); border-bottom: 1px solid var(--line); }\n.brand { font-weight: 700; letter-spacing: .5px; color: var(--accent); }\n#breadcrumb { flex: 0 0 auto; color: var(--muted); }\n#breadcrumb a { color: var(--accent); text-decoration: none; }\n#breadcrumb span.sep { color: var(--muted); margin: 0 6px; }\n#search-form { margin-left: auto; display: flex; gap: 6px; }\ninput, select, textarea, button { font: inherit; color: var(--fg);\n background: var(--bg); border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; }\ninput:focus, select:focus, textarea:focus { outline: 1px solid var(--accent); }\nbutton { background: #21262d; cursor: pointer; }\nbutton:hover { border-color: var(--accent); }\nbutton.primary { background: var(--accent); color: #04121f; border-color: var(--accent); font-weight: 600; }\nbutton.danger { color: var(--danger); border-color: var(--danger); }\nmain { display: flex; height: calc(100% - 49px); }\n#cy { flex: 1; height: 100%; }\n#inspector { width: 360px; flex: 0 0 360px; height: 100%; overflow-y: auto;\n background: var(--panel); border-left: 1px solid var(--line); padding: 14px; }\n#inspector h2 { font-size: 15px; margin: 0 0 4px; }\n#inspector .meta { color: var(--muted); font-size: 12px; margin-bottom: 10px; word-break: break-all; }\n#inspector label { display: block; color: var(--muted); font-size: 12px; margin: 10px 0 3px; }\n#inspector input, #inspector select, #inspector textarea { width: 100%; }\n#inspector textarea { min-height: 180px; resize: vertical; font-family: ui-monospace, monospace; }\n.row { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }\n.row button { flex: 1 1 auto; }\n.muted { color: var(--muted); }\n.kind-pill { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px;\n font-weight: 600; color: #04121f; }\n.result { padding: 8px; border: 1px solid var(--line); border-radius: 6px; margin-bottom: 6px; cursor: pointer; }\n.result:hover { border-color: var(--accent); }\n.result .name { font-weight: 600; }\n.result .sub { color: var(--muted); font-size: 12px; }\n#toast { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%);\n background: #21262d; border: 1px solid var(--line); border-radius: 6px; padding: 8px 14px; }\n#toast.err { border-color: var(--danger); color: var(--danger); }\n#toast.ok { border-color: var(--ok); color: var(--ok); }\n";
14
+ export declare const DASHBOARD_JS: string;
15
+ /** Static dashboard asset for a pathname, or undefined if the path is not a dashboard asset. */
16
+ export declare function dashboardAsset(pathname: string): DashboardAsset | undefined;
17
+ /** The bundled Cytoscape UMD build (resolved from node_modules), cached after first read. */
18
+ export declare function cytoscapeBundleJs(): Promise<string>;
@@ -0,0 +1,359 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { createRequire } from "node:module";
3
+ export const DASHBOARD_HTML = `<!DOCTYPE html>
4
+ <html lang="en">
5
+ <head>
6
+ <meta charset="utf-8" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+ <title>Augment — Memory Dashboard</title>
9
+ <link rel="stylesheet" href="/dashboard/styles.css" />
10
+ <script src="/dashboard/cytoscape.min.js"></script>
11
+ </head>
12
+ <body>
13
+ <header>
14
+ <div class="brand">augment</div>
15
+ <nav id="breadcrumb"><a href="#" data-nav="projects">Projects</a></nav>
16
+ <form id="search-form" autocomplete="off">
17
+ <input id="search-input" type="search" placeholder="Search memories…" />
18
+ <button type="submit">Search</button>
19
+ </form>
20
+ <button id="new-memory-btn" type="button" title="New memory">+ Memory</button>
21
+ </header>
22
+ <main>
23
+ <div id="cy"></div>
24
+ <aside id="inspector">
25
+ <div id="inspector-body" class="muted">Select a project to explore its memories.</div>
26
+ </aside>
27
+ </main>
28
+ <div id="toast" hidden></div>
29
+ <script src="/dashboard/app.js"></script>
30
+ </body>
31
+ </html>
32
+ `;
33
+ export const DASHBOARD_CSS = `:root {
34
+ --bg: #0f1419; --panel: #161b22; --line: #2a313c; --fg: #e6edf3; --muted: #8b949e;
35
+ --accent: #58a6ff; --danger: #f85149; --ok: #3fb950;
36
+ --spec: #58a6ff; --arch: #bc8cff; --issue: #f85149; --todo: #d29922; --work: #3fb950;
37
+ }
38
+ * { box-sizing: border-box; }
39
+ html, body { margin: 0; height: 100%; background: var(--bg); color: var(--fg);
40
+ font: 14px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
41
+ header { display: flex; align-items: center; gap: 12px; padding: 8px 14px;
42
+ background: var(--panel); border-bottom: 1px solid var(--line); }
43
+ .brand { font-weight: 700; letter-spacing: .5px; color: var(--accent); }
44
+ #breadcrumb { flex: 0 0 auto; color: var(--muted); }
45
+ #breadcrumb a { color: var(--accent); text-decoration: none; }
46
+ #breadcrumb span.sep { color: var(--muted); margin: 0 6px; }
47
+ #search-form { margin-left: auto; display: flex; gap: 6px; }
48
+ input, select, textarea, button { font: inherit; color: var(--fg);
49
+ background: var(--bg); border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; }
50
+ input:focus, select:focus, textarea:focus { outline: 1px solid var(--accent); }
51
+ button { background: #21262d; cursor: pointer; }
52
+ button:hover { border-color: var(--accent); }
53
+ button.primary { background: var(--accent); color: #04121f; border-color: var(--accent); font-weight: 600; }
54
+ button.danger { color: var(--danger); border-color: var(--danger); }
55
+ main { display: flex; height: calc(100% - 49px); }
56
+ #cy { flex: 1; height: 100%; }
57
+ #inspector { width: 360px; flex: 0 0 360px; height: 100%; overflow-y: auto;
58
+ background: var(--panel); border-left: 1px solid var(--line); padding: 14px; }
59
+ #inspector h2 { font-size: 15px; margin: 0 0 4px; }
60
+ #inspector .meta { color: var(--muted); font-size: 12px; margin-bottom: 10px; word-break: break-all; }
61
+ #inspector label { display: block; color: var(--muted); font-size: 12px; margin: 10px 0 3px; }
62
+ #inspector input, #inspector select, #inspector textarea { width: 100%; }
63
+ #inspector textarea { min-height: 180px; resize: vertical; font-family: ui-monospace, monospace; }
64
+ .row { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
65
+ .row button { flex: 1 1 auto; }
66
+ .muted { color: var(--muted); }
67
+ .kind-pill { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px;
68
+ font-weight: 600; color: #04121f; }
69
+ .result { padding: 8px; border: 1px solid var(--line); border-radius: 6px; margin-bottom: 6px; cursor: pointer; }
70
+ .result:hover { border-color: var(--accent); }
71
+ .result .name { font-weight: 600; }
72
+ .result .sub { color: var(--muted); font-size: 12px; }
73
+ #toast { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%);
74
+ background: #21262d; border: 1px solid var(--line); border-radius: 6px; padding: 8px 14px; }
75
+ #toast.err { border-color: var(--danger); color: var(--danger); }
76
+ #toast.ok { border-color: var(--ok); color: var(--ok); }
77
+ `;
78
+ export const DASHBOARD_JS = String.raw `(() => {
79
+ "use strict";
80
+ const params = new URLSearchParams(location.search);
81
+ const token = params.get("token") || localStorage.getItem("augment_token") || "";
82
+ if (token) localStorage.setItem("augment_token", token);
83
+ // The token is a daemon credential; don't leave it sitting in the address bar
84
+ // or browser history. We've persisted it to localStorage, so strip it from the
85
+ // visible URL — a reload still authenticates from storage.
86
+ if (params.has("token") && window.history && history.replaceState) {
87
+ params.delete("token");
88
+ const query = params.toString();
89
+ history.replaceState(null, "", location.pathname + (query ? "?" + query : "") + location.hash);
90
+ }
91
+
92
+ const KIND_COLORS = { SPEC: "#58a6ff", ARCH: "#bc8cff", ISSUE: "#f85149", TODO: "#d29922", WORK: "#3fb950" };
93
+ const KINDS = ["ISSUE", "ARCH", "TODO", "SPEC", "WORK"];
94
+ const LINK_TYPES = ["DEPENDS_ON", "BLOCKS", "IMPLEMENTS", "PARENT", "RELATED"];
95
+
96
+ const $ = (sel) => document.querySelector(sel);
97
+ const inspector = $("#inspector-body");
98
+ const breadcrumb = $("#breadcrumb");
99
+
100
+ function h(tag, props, ...kids) {
101
+ const node = document.createElement(tag);
102
+ for (const [k, v] of Object.entries(props || {})) {
103
+ if (k === "class") node.className = v;
104
+ else if (k === "text") node.textContent = v;
105
+ else if (k.startsWith("on") && typeof v === "function") node.addEventListener(k.slice(2), v);
106
+ else if (v !== undefined && v !== null) node.setAttribute(k, v);
107
+ }
108
+ for (const kid of kids) node.append(kid && kid.nodeType ? kid : document.createTextNode(kid ?? ""));
109
+ return node;
110
+ }
111
+
112
+ function toast(message, kind) {
113
+ const t = $("#toast");
114
+ t.textContent = message;
115
+ t.className = kind || "";
116
+ t.hidden = false;
117
+ clearTimeout(toast._timer);
118
+ toast._timer = setTimeout(() => { t.hidden = true; }, 2600);
119
+ }
120
+
121
+ async function api(method, path, body) {
122
+ const res = await fetch(path, {
123
+ method,
124
+ headers: { "content-type": "application/json", ...(token ? { authorization: "Bearer " + token } : {}) },
125
+ body: body === undefined ? undefined : JSON.stringify(body),
126
+ });
127
+ const payload = await res.json().catch(() => ({}));
128
+ if (!res.ok) throw new Error(payload.error || (method + " " + path + " -> " + res.status));
129
+ return payload;
130
+ }
131
+
132
+ const state = { view: "projects", project: null, linkFrom: null };
133
+
134
+ const cy = cytoscape({
135
+ container: $("#cy"),
136
+ minZoom: 0.2,
137
+ maxZoom: 2.5,
138
+ style: [
139
+ { selector: "node", style: {
140
+ "label": "data(label)", "color": "#e6edf3", "font-size": 11, "text-wrap": "wrap",
141
+ "text-max-width": 120, "text-valign": "bottom", "text-margin-y": 4,
142
+ "background-color": "#30363d", "width": 26, "height": 26, "border-width": 2, "border-color": "#484f58" } },
143
+ { selector: 'node[type="project"]', style: {
144
+ "background-color": "#1f6feb", "border-color": "#58a6ff", "shape": "round-rectangle",
145
+ "width": 40, "height": 40, "font-size": 12, "font-weight": "bold" } },
146
+ { selector: "node[color]", style: { "background-color": "data(color)", "border-color": "data(color)" } },
147
+ { selector: "node:selected", style: { "border-color": "#ffffff", "border-width": 3 } },
148
+ { selector: "edge", style: {
149
+ "label": "data(label)", "font-size": 9, "color": "#8b949e", "curve-style": "bezier",
150
+ "width": 1.5, "line-color": "#484f58", "target-arrow-color": "#484f58",
151
+ "target-arrow-shape": "triangle", "text-rotation": "autorotate" } },
152
+ { selector: "edge:selected", style: { "line-color": "#58a6ff", "target-arrow-color": "#58a6ff", "width": 2.5 } },
153
+ ],
154
+ });
155
+
156
+ function layout() {
157
+ cy.layout({ name: "cose", animate: false, padding: 30, nodeRepulsion: 9000, idealEdgeLength: 90 }).run();
158
+ }
159
+
160
+ function setBreadcrumb() {
161
+ breadcrumb.replaceChildren(h("a", { href: "#", "data-nav": "projects", onclick: navProjects }, "Projects"));
162
+ if (state.view === "project" && state.project) {
163
+ breadcrumb.append(h("span", { class: "sep" }, "/"), h("span", { text: state.project.name }));
164
+ }
165
+ }
166
+
167
+ function navProjects(event) { if (event) event.preventDefault(); showProjects(); }
168
+
169
+ async function showProjects() {
170
+ state.view = "projects"; state.project = null; state.linkFrom = null;
171
+ setBreadcrumb();
172
+ inspector.replaceChildren(h("p", { class: "muted" }, "Click a project to reveal its memory graph."));
173
+ try {
174
+ const projects = await api("GET", "/projects");
175
+ cy.elements().remove();
176
+ cy.add(projects.map((p) => ({ data: { id: "p" + p.id, pid: p.id, type: "project", label: p.name } })));
177
+ layout();
178
+ } catch (err) { toast(err.message, "err"); }
179
+ }
180
+
181
+ async function openProject(projectId) {
182
+ try {
183
+ const graph = await api("GET", "/projects/" + projectId + "/graph");
184
+ state.view = "project"; state.project = graph.project; state.linkFrom = null;
185
+ setBreadcrumb();
186
+ const nodes = graph.memories.map((m) => ({
187
+ data: { id: "m" + m.id, mid: m.id, type: "memory", label: m.name, kind: m.kind, color: KIND_COLORS[m.kind] },
188
+ }));
189
+ const edges = graph.links.map((l) => ({
190
+ data: { id: "l" + l.id, lid: l.id, source: "m" + l.from_memory_id, target: "m" + l.to_memory_id,
191
+ label: l.type, type: "link" },
192
+ }));
193
+ cy.elements().remove();
194
+ cy.add([...nodes, ...edges]);
195
+ layout();
196
+ inspector.replaceChildren(h("p", { class: "muted" },
197
+ graph.memories.length + " memories, " + graph.links.length + " links. Click a node or edge."));
198
+ } catch (err) { toast(err.message, "err"); }
199
+ }
200
+
201
+ function kindPill(kind) {
202
+ return h("span", { class: "kind-pill", style: "background:" + (KIND_COLORS[kind] || "#888") }, kind);
203
+ }
204
+
205
+ async function selectMemory(memoryId) {
206
+ if (state.linkFrom && state.linkFrom !== memoryId) { return createLink(state.linkFrom, memoryId); }
207
+ try {
208
+ const m = await api("GET", "/memories/" + memoryId);
209
+ const kindSel = h("select", {}, ...KINDS.map((k) =>
210
+ h("option", { value: k, ...(k === m.kind ? { selected: "selected" } : {}) }, k)));
211
+ kindSel.disabled = true; // kind is fixed by the file path; edit body/tags here.
212
+ const tags = h("input", { type: "text", value: (m.tags || []).join(", ") });
213
+ const body = h("textarea", {}, m.body || "");
214
+ inspector.replaceChildren(
215
+ h("h2", {}, m.name, " ", kindPill(m.kind)),
216
+ h("div", { class: "meta" }, m.relative_path),
217
+ h("label", {}, "Tags (comma-separated)"), tags,
218
+ h("label", {}, "Body"), body,
219
+ h("div", { class: "row" },
220
+ h("button", { class: "primary", onclick: async () => {
221
+ try {
222
+ await api("POST", "/memories/upsert", {
223
+ project_id: m.project_id, memory_id: m.id, name: m.name,
224
+ content: body.value, tags: tags.value.split(",").map((s) => s.trim()).filter(Boolean),
225
+ });
226
+ toast("Saved", "ok");
227
+ } catch (err) { toast(err.message, "err"); }
228
+ } }, "Save"),
229
+ h("button", { onclick: () => { state.linkFrom = memoryId; toast("Pick a target node to link", "ok"); } }, "Link from here"),
230
+ h("button", { class: "danger", onclick: async () => {
231
+ try {
232
+ await api("DELETE", "/memories/" + m.id);
233
+ toast("Deleted", "ok");
234
+ openProject(state.project.id);
235
+ } catch (err) { toast(err.message, "err"); }
236
+ } }, "Delete"),
237
+ ),
238
+ );
239
+ } catch (err) { toast(err.message, "err"); }
240
+ }
241
+
242
+ async function createLink(fromId, toId) {
243
+ state.linkFrom = null;
244
+ const type = h("select", {}, ...LINK_TYPES.map((t) => h("option", { value: t }, t)));
245
+ inspector.replaceChildren(
246
+ h("h2", {}, "New link"),
247
+ h("div", { class: "meta" }, "memory " + fromId + " → memory " + toId),
248
+ h("label", {}, "Type"), type,
249
+ h("div", { class: "row" },
250
+ h("button", { class: "primary", onclick: async () => {
251
+ try {
252
+ await api("POST", "/links", { from_memory_id: fromId, to_memory_id: toId, type: type.value });
253
+ toast("Linked", "ok");
254
+ openProject(state.project.id);
255
+ } catch (err) { toast(err.message, "err"); }
256
+ } }, "Create link"),
257
+ h("button", { onclick: () => openProject(state.project.id) }, "Cancel"),
258
+ ),
259
+ );
260
+ }
261
+
262
+ function selectEdge(edge) {
263
+ const lid = edge.data("lid");
264
+ inspector.replaceChildren(
265
+ h("h2", {}, "Link"),
266
+ h("div", { class: "meta" }, edge.data("label")),
267
+ h("div", { class: "row" },
268
+ h("button", { class: "danger", onclick: async () => {
269
+ try {
270
+ await api("DELETE", "/links/" + lid);
271
+ toast("Link removed", "ok");
272
+ openProject(state.project.id);
273
+ } catch (err) { toast(err.message, "err"); }
274
+ } }, "Delete link"),
275
+ ),
276
+ );
277
+ }
278
+
279
+ function newMemoryForm() {
280
+ if (!state.project) { toast("Open a project first", "err"); return; }
281
+ const kind = h("select", {}, ...KINDS.map((k) => h("option", { value: k }, k)));
282
+ const name = h("input", { type: "text", placeholder: "memory-name" });
283
+ const tags = h("input", { type: "text", placeholder: "tag1, tag2" });
284
+ const body = h("textarea", {}, "");
285
+ inspector.replaceChildren(
286
+ h("h2", {}, "New memory in ", state.project.name),
287
+ h("label", {}, "Kind"), kind,
288
+ h("label", {}, "Name"), name,
289
+ h("label", {}, "Tags"), tags,
290
+ h("label", {}, "Body"), body,
291
+ h("div", { class: "row" },
292
+ h("button", { class: "primary", onclick: async () => {
293
+ if (!name.value.trim() || !body.value.trim()) { toast("Name and body required", "err"); return; }
294
+ try {
295
+ await api("POST", "/memories/upsert", {
296
+ project_id: state.project.id, kind: kind.value, name: name.value.trim(),
297
+ content: body.value, tags: tags.value.split(",").map((s) => s.trim()).filter(Boolean),
298
+ });
299
+ toast("Created", "ok");
300
+ openProject(state.project.id);
301
+ } catch (err) { toast(err.message, "err"); }
302
+ } }, "Create"),
303
+ h("button", { onclick: () => openProject(state.project.id) }, "Cancel"),
304
+ ),
305
+ );
306
+ }
307
+
308
+ async function runSearch(query) {
309
+ try {
310
+ const out = await api("POST", "/memories/search", { query, limit: 20, min_score: 0 });
311
+ const results = out.results || [];
312
+ const list = h("div", {}, h("h2", {}, "Search"), h("div", { class: "meta" }, results.length + " results for “" + query + "”"));
313
+ for (const r of results) {
314
+ const m = r.memory;
315
+ list.append(h("div", { class: "result", onclick: async () => { await openProject(m.project_id); selectMemory(m.id); } },
316
+ h("div", { class: "name" }, m.name, " ", kindPill(m.kind)),
317
+ h("div", { class: "sub" }, m.project_name + " · score " + r.score.toFixed(2)),
318
+ ));
319
+ }
320
+ inspector.replaceChildren(list);
321
+ } catch (err) { toast(err.message, "err"); }
322
+ }
323
+
324
+ cy.on("tap", 'node[type="project"]', (e) => openProject(e.target.data("pid")));
325
+ cy.on("tap", 'node[type="memory"]', (e) => selectMemory(e.target.data("mid")));
326
+ cy.on("tap", "edge", (e) => selectEdge(e.target));
327
+
328
+ $("#search-form").addEventListener("submit", (e) => {
329
+ e.preventDefault();
330
+ const q = $("#search-input").value.trim();
331
+ if (q) runSearch(q);
332
+ });
333
+ $("#new-memory-btn").addEventListener("click", newMemoryForm);
334
+
335
+ showProjects();
336
+ })();
337
+ `;
338
+ const STATIC_ASSETS = {
339
+ "/dashboard": { contentType: "text/html; charset=utf-8", body: DASHBOARD_HTML },
340
+ "/dashboard/": { contentType: "text/html; charset=utf-8", body: DASHBOARD_HTML },
341
+ "/dashboard/index.html": { contentType: "text/html; charset=utf-8", body: DASHBOARD_HTML },
342
+ "/dashboard/styles.css": { contentType: "text/css; charset=utf-8", body: DASHBOARD_CSS },
343
+ "/dashboard/app.js": { contentType: "application/javascript; charset=utf-8", body: DASHBOARD_JS },
344
+ };
345
+ /** Static dashboard asset for a pathname, or undefined if the path is not a dashboard asset. */
346
+ export function dashboardAsset(pathname) {
347
+ return STATIC_ASSETS[pathname];
348
+ }
349
+ let cytoscapeBundle;
350
+ /** The bundled Cytoscape UMD build (resolved from node_modules), cached after first read. */
351
+ export async function cytoscapeBundleJs() {
352
+ if (cytoscapeBundle === undefined) {
353
+ const require = createRequire(import.meta.url);
354
+ const file = require.resolve("cytoscape/dist/cytoscape.min.js");
355
+ cytoscapeBundle = await readFile(file, "utf8");
356
+ }
357
+ return cytoscapeBundle;
358
+ }
359
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/dashboard/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAe5C,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B7B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C5B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmQrC,CAAC;AAEF,MAAM,aAAa,GAAmC;IACpD,YAAY,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE;IAC/E,aAAa,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE;IAChF,uBAAuB,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE;IAC1F,uBAAuB,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,aAAa,EAAE;IACxF,mBAAmB,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,IAAI,EAAE,YAAY,EAAE;CAClG,CAAC;AAEF,gGAAgG;AAChG,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,eAAmC,CAAC;AAExC,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAChE,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
package/dist/db.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare class AugmentDatabase {
11
11
  getProjectById(id: number): Promise<ProjectRecord | undefined>;
12
12
  getProjectByName(name: string): Promise<ProjectRecord | undefined>;
13
13
  upsertMemory(memory: ParsedMemory): Promise<MemoryRecord>;
14
+ deleteMemory(id: number): Promise<void>;
14
15
  removeMissingMemories(relativePaths: string[]): Promise<void>;
15
16
  rebuildLinks(): Promise<void>;
16
17
  getMemoryById(id: number): Promise<MemoryRecord | undefined>;
package/dist/db.js CHANGED
@@ -139,6 +139,10 @@ export class AugmentDatabase {
139
139
  }
140
140
  return record;
141
141
  }
142
+ async deleteMemory(id) {
143
+ // ON DELETE CASCADE removes the row's embeddings and any links touching it.
144
+ await this.execute(`DELETE FROM memories WHERE id = ?`, [id]);
145
+ }
142
146
  async removeMissingMemories(relativePaths) {
143
147
  if (relativePaths.length === 0) {
144
148
  await this.execute(`DELETE FROM memories`);
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare function memoryRelativePath(projectName: string, kind: MemoryKind
6
6
  export declare function relativePathToMetadata(relativePath: string): Pick<MemoryFrontmatter, "project" | "kind" | "name">;
7
7
  export declare function readMemory(memoryRoot: string, relativePath: string): Promise<ParsedMemory>;
8
8
  export declare function writeMemory(memoryRoot: string, relativePath: string, frontmatter: MemoryFrontmatter, body: string): Promise<void>;
9
+ export declare function deleteMemoryFile(memoryRoot: string, relativePath: string): Promise<void>;
9
10
  export declare function normalizeRelativePath(value: string): string;
10
11
  export declare function normalizeFrontmatter(value: Record<string, unknown>, fallback: Pick<MemoryFrontmatter, "project" | "kind" | "name">): MemoryFrontmatter;
11
12
  export declare function memoryToEmbeddingText(memory: Pick<ParsedMemory, "frontmatter" | "body" | "relativePath">): string;
@@ -1,4 +1,4 @@
1
- import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
1
+ import { mkdir, readFile, rm, stat, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import matter from "gray-matter";
4
4
  import { LINK_TYPES, MEMORY_KINDS } from "../constants.js";
@@ -64,6 +64,10 @@ export async function writeMemory(memoryRoot, relativePath, frontmatter, body) {
64
64
  const file = matter.stringify(`${body.trim()}\n`, frontmatter);
65
65
  await writeFile(absolutePath, file, "utf8");
66
66
  }
67
+ export async function deleteMemoryFile(memoryRoot, relativePath) {
68
+ const absolutePath = path.join(memoryRoot, normalizeRelativePath(relativePath));
69
+ await rm(absolutePath, { force: true });
70
+ }
67
71
  export function normalizeRelativePath(value) {
68
72
  const normalized = value.replace(/\\/g, "/").replace(/^\/+/, "");
69
73
  const parts = normalized.split("/").filter(Boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/memory/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/memory/files.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { AugmentConfig } from "./config.js";
2
2
  import { AugmentDatabase } from "./db.js";
3
3
  import type { EmbeddingProvider } from "./embeddings.js";
4
- import type { LinkRecord, MemoryRecord, ProjectRecord, SearchInput, SearchResult, UpsertInput } from "./types.js";
4
+ import type { LinkRecord, MemoryRecord, ProjectGraph, ProjectRecord, SearchInput, SearchResult, UpsertInput } from "./types.js";
5
5
  export interface InitProjectInput {
6
6
  project_name?: string;
7
7
  }
@@ -29,6 +29,16 @@ export declare class AugmentService {
29
29
  }>;
30
30
  upsert(input: UpsertInput): Promise<UpsertResult>;
31
31
  read(id: number): Promise<MemoryRecord>;
32
+ listMemoriesByProject(projectId: number): Promise<MemoryRecord[]>;
33
+ /** Project node plus its memories and the links among them — the dashboard subgraph. */
34
+ projectGraph(projectId: number): Promise<ProjectGraph>;
35
+ deleteMemory(id: number): Promise<{
36
+ id: number;
37
+ relative_path: string;
38
+ text: string;
39
+ }>;
40
+ /** Remove every frontmatter link pointing at `targetPath` from all other memories. */
41
+ private scrubInboundLinks;
32
42
  link(fromMemoryId: number, toMemoryId: number, typeInput?: string): Promise<{
33
43
  link: LinkRecord;
34
44
  text: string;
package/dist/service.js CHANGED
@@ -2,7 +2,7 @@ import { DEFAULT_MEMORY_HARD_LIMIT_CHARS, DEFAULT_SEARCH_LIMIT, DEFAULT_SEARCH_M
2
2
  import { ensureConfigDirs } from "./config.js";
3
3
  import { AugmentDatabase } from "./db.js";
4
4
  import { TransformersEmbeddingProvider } from "./embeddings.js";
5
- import { normalizeKind, normalizeLinkType, memoryRelativePath, readMemory, writeMemory } from "./memory/files.js";
5
+ import { deleteMemoryFile, normalizeKind, normalizeLinkType, memoryRelativePath, readMemory, writeMemory } from "./memory/files.js";
6
6
  import { inferProjectName } from "./memory/project.js";
7
7
  import { findMemoryFiles } from "./memory/scan.js";
8
8
  import { clamp01, cosineSimilarity, lexicalScore } from "./util/text.js";
@@ -128,6 +128,55 @@ export class AugmentService {
128
128
  }
129
129
  return memory;
130
130
  }
131
+ async listMemoriesByProject(projectId) {
132
+ await this.init();
133
+ return this.db.listMemoriesForProject(projectId);
134
+ }
135
+ /** Project node plus its memories and the links among them — the dashboard subgraph. */
136
+ async projectGraph(projectId) {
137
+ await this.init();
138
+ const project = await this.db.getProjectById(projectId);
139
+ if (!project) {
140
+ throw new Error(`Unknown project_id: ${projectId}`);
141
+ }
142
+ const memories = await this.db.listMemoriesForProject(projectId);
143
+ const ids = new Set(memories.map((memory) => memory.id));
144
+ const links = (await this.db.getAllLinks()).filter((link) => ids.has(link.from_memory_id) && ids.has(link.to_memory_id));
145
+ return { project, memories, links };
146
+ }
147
+ async deleteMemory(id) {
148
+ await this.init();
149
+ const memory = await this.read(id);
150
+ await deleteMemoryFile(this.config.memoryRoot, memory.relative_path);
151
+ await this.db.deleteMemory(id);
152
+ // Scrub inbound frontmatter references in other memories so a future memory
153
+ // recreated at this deterministic path can't silently inherit links that were
154
+ // pointing at the now-deleted one. `unlink` rewrites source frontmatter for the
155
+ // same reason; deletion needs the analogous cleanup.
156
+ await this.scrubInboundLinks(memory.relative_path);
157
+ await this.db.rebuildLinks();
158
+ return { id, relative_path: memory.relative_path, text: `deleted memory ${id} at ${memory.relative_path}` };
159
+ }
160
+ /** Remove every frontmatter link pointing at `targetPath` from all other memories. */
161
+ async scrubInboundLinks(targetPath) {
162
+ for (const memory of await this.db.listMemories()) {
163
+ if (!memory.links.some((link) => link.to === targetPath)) {
164
+ continue;
165
+ }
166
+ const frontmatter = normalizeMemoryFrontmatter({
167
+ project: memory.project_name,
168
+ kind: memory.kind,
169
+ name: memory.name,
170
+ tags: memory.tags,
171
+ links: memory.links.filter((link) => link.to !== targetPath),
172
+ created_at: memory.created_at,
173
+ updated_at: new Date().toISOString(),
174
+ });
175
+ await writeMemory(this.config.memoryRoot, memory.relative_path, frontmatter, memory.body);
176
+ const parsed = await readMemory(this.config.memoryRoot, memory.relative_path);
177
+ await this.db.upsertMemory(parsed);
178
+ }
179
+ }
131
180
  async link(fromMemoryId, toMemoryId, typeInput) {
132
181
  await this.init();
133
182
  const from = await this.read(fromMemoryId);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -83,6 +83,11 @@ export interface SearchResult {
83
83
  linkedFrom?: number;
84
84
  linkType?: LinkType;
85
85
  }
86
+ export interface ProjectGraph {
87
+ project: ProjectRecord;
88
+ memories: MemoryRecord[];
89
+ links: LinkRecord[];
90
+ }
86
91
  export interface UpsertInput {
87
92
  project_id: number;
88
93
  memory_id?: number;
@@ -1,56 +1,58 @@
1
- # Augment Memory Workflow
2
-
3
- When the Augment MCP server is configured, use it as the local project memory.
4
-
5
- ## Session Start
6
-
7
- - Call `init_project`.
8
- - Call `search` with the user's task summary.
9
- - Read exact memories when search results identify governing context.
10
-
11
- ## Before Implementation
12
-
13
- - Search for the specific file, subsystem, behavior, command, or error.
14
- - If the work depends on a prior decision, read and follow the relevant `SPEC`
15
- or `ARCH` memory.
16
- - If no relevant memory exists but the task creates a durable requirement or
17
- decision, create one before implementation.
18
-
19
- ## Memory Triggers
20
-
21
- Call `upsert` whenever one of these durable events happens:
22
-
23
- - A requirement, API contract, data model, or tool contract is clarified:
24
- use `SPEC`.
25
- - An implementation approach, tradeoff, transport choice, persistence model, or
26
- architecture decision is made: use `ARCH`.
27
- - A bug, risk, failing behavior, or blocker is discovered: use `ISSUE`.
28
- - Follow-up work is intentionally deferred: use `TODO`.
29
- - A meaningful implementation milestone is completed: use `WORK`.
30
- - A test scenario, regression case, or verification rule is learned: use `SPEC`
31
- or `WORK`, whichever is more durable.
32
-
33
- ## Links
34
-
35
- After creating or updating a memory:
36
-
37
- - Use `link` when one memory depends on, implements, blocks, parents, or relates
38
- to another.
39
- - Prefer linking new `WORK` notes to the `SPEC`, `ARCH`, `ISSUE`, or `TODO` they
40
- address.
41
-
42
- ## Completion
43
-
44
- - Upsert a concise `WORK` memory with what changed, key files, and verification.
45
- - Upsert or update `TODO` memories for known remaining work.
46
- - Link the final `WORK` memory to the relevant planning/decision memories.
47
-
48
- ## Rules
49
-
50
- - Do not store secrets, credentials, tokens, or private keys.
51
- - Do not store large logs, generated files, dependency dumps, or full source files.
52
- - Keep memories small and focused.
53
- - Use returned search text directly as context; do not ask Augment to summarize.
54
- - Numeric memory IDs are local to the machine. Relative paths are durable across systems.
55
- - Do not create memories for trivial edits, transient exploration, or facts that
56
- are already obvious from the current diff.
1
+ # Augment Memory Workflow
2
+
3
+ When the Augment MCP server is configured, use it as the local project memory.
4
+
5
+ ## Session Start
6
+
7
+ 1. Call `init_project`.
8
+ 2. Call `search` with the user's task summary.
9
+ 3. Read exact memories when search results identify likely governing context.
10
+
11
+ ## Before Code Changes
12
+
13
+ 1. Search for the file, component, command, error, or behavior being touched.
14
+ 2. If the work depends on a prior decision, read and follow the relevant `SPEC`
15
+ or `ARCH` memory.
16
+ 3. If no relevant memory exists but the task creates a durable requirement or
17
+ decision, create one before implementation.
18
+
19
+ ## Memory Triggers
20
+
21
+ Call `upsert` whenever one of these durable events happens:
22
+
23
+ - A requirement, API contract, data model, or tool contract is clarified:
24
+ use `SPEC`.
25
+ - An implementation approach, tradeoff, transport choice, persistence model, or
26
+ architecture decision is made: use `ARCH`.
27
+ - A bug, risk, failing behavior, or blocker is discovered: use `ISSUE`.
28
+ - Follow-up work is intentionally deferred: use `TODO`.
29
+ - A meaningful implementation milestone is completed: use `WORK`.
30
+ - A test scenario, regression case, or verification rule is learned: use `SPEC`
31
+ or `WORK`, whichever is more durable.
32
+
33
+ ## Links
34
+
35
+ After creating or updating a memory:
36
+
37
+ 1. Use `link` when a memory implements, depends on, blocks, parents, or relates
38
+ to another memory.
39
+ 2. Prefer linking new `WORK` notes to the `SPEC`, `ARCH`, `ISSUE`, or `TODO`
40
+ they address.
41
+
42
+ ## Session Finish
43
+
44
+ For every non-trivial session:
45
+
46
+ 1. Upsert a concise `WORK` memory with what changed, key files, and verification.
47
+ 2. Upsert or update `TODO` memories for known remaining work.
48
+ 3. Link the final `WORK` memory to the relevant planning/decision memories.
49
+
50
+ ## Guardrails
51
+
52
+ - Do not store secrets, credentials, tokens, or private keys.
53
+ - Do not store huge logs, dependency dumps, generated files, or full source files.
54
+ - Keep each memory focused; split large notes before calling `upsert`.
55
+ - Treat numeric memory IDs as local handles. Relative paths are the durable identity.
56
+ - Use returned search text directly as context; do not ask Augment to summarize.
57
+ - Do not create memories for trivial edits, transient exploration, or facts that
58
+ are already obvious from the current diff.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fingerskier/augment",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Local RAG memory system for coding agents",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -30,6 +30,7 @@
30
30
  "@libsql/client": "^0.15.15",
31
31
  "@modelcontextprotocol/sdk": "^1.23.0",
32
32
  "chokidar": "^4.0.3",
33
+ "cytoscape": "^3.34.0",
33
34
  "gray-matter": "^4.0.3",
34
35
  "zod": "^3.25.76"
35
36
  },