@jefuriiij/synthra 0.1.21 → 0.1.23
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/CHANGELOG.md +81 -0
- package/dist/cli/index.js +105 -47
- package/dist/cli/index.js.map +1 -1
- package/dist/dashboard/index.js +10 -5
- package/dist/dashboard/index.js.map +1 -1
- package/dist/server/index.js +68 -15
- package/dist/server/index.js.map +1 -1
- package/package.json +3 -3
package/dist/dashboard/index.js
CHANGED
|
@@ -5,15 +5,15 @@ import { Hono } from "hono";
|
|
|
5
5
|
// package.json
|
|
6
6
|
var package_default = {
|
|
7
7
|
name: "@jefuriiij/synthra",
|
|
8
|
-
version: "0.1.
|
|
8
|
+
version: "0.1.23",
|
|
9
9
|
publishConfig: {
|
|
10
10
|
access: "public"
|
|
11
11
|
},
|
|
12
12
|
description: "Local context engine for AI coding assistants \u2014 graph-based context, branch-aware memory, real-time human-activity awareness, deterministic Grep/Glob gating, and a live token dashboard.",
|
|
13
13
|
type: "module",
|
|
14
14
|
bin: {
|
|
15
|
-
syn: "
|
|
16
|
-
synthra: "
|
|
15
|
+
syn: "bin/syn",
|
|
16
|
+
synthra: "bin/syn"
|
|
17
17
|
},
|
|
18
18
|
scripts: {
|
|
19
19
|
build: "tsup",
|
|
@@ -248,13 +248,18 @@ function summarize(p) {
|
|
|
248
248
|
models
|
|
249
249
|
};
|
|
250
250
|
}
|
|
251
|
+
function dedupeEnabled() {
|
|
252
|
+
const v = process.env.SYN_DASHBOARD_DEDUPE;
|
|
253
|
+
return v !== "0" && v !== "off" && v !== "false";
|
|
254
|
+
}
|
|
251
255
|
async function loadProjectFiles(path, name, lastSeen) {
|
|
252
256
|
const paths = resolvePaths(path);
|
|
253
257
|
const [rawTokens, gates] = await Promise.all([
|
|
254
258
|
readJsonl(paths.tokenLog),
|
|
255
259
|
readJsonl(paths.gateLog)
|
|
256
260
|
]);
|
|
257
|
-
|
|
261
|
+
const tokens = dedupeEnabled() ? dedupeTokens(rawTokens) : rawTokens;
|
|
262
|
+
return { path, name, last_seen: lastSeen, tokens, gates };
|
|
258
263
|
}
|
|
259
264
|
function dedupeTokens(entries) {
|
|
260
265
|
const score = (model) => {
|
|
@@ -1026,7 +1031,7 @@ var public_default = `<!doctype html>
|
|
|
1026
1031
|
const el = $('#proj-chart');
|
|
1027
1032
|
el.innerHTML = '';
|
|
1028
1033
|
if (!projects.length) {
|
|
1029
|
-
el.innerHTML = '<div class="empty">No projects yet.</div>';
|
|
1034
|
+
el.innerHTML = '<div class="empty">No projects yet \u2014 run <code>syn .</code> in a project to start.</div>';
|
|
1030
1035
|
return;
|
|
1031
1036
|
}
|
|
1032
1037
|
const ranked = [...projects].sort((a, b) => (b.total_turns || 0) - (a.total_turns || 0));
|