agent-memory-git 0.1.13__tar.gz → 0.1.14__tar.gz
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.
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/PKG-INFO +1 -1
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/pyproject.toml +1 -1
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/pyproject.toml.orig +1 -1
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/ui.py +10 -18
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/app.css +5 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/icons.js +1 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/insights.js +6 -2
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/settings.js +10 -1
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/LICENSE +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/README.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/PROTOCOL.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/__init__.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/__main__.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/capture.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/cli.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/config.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/context.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/personal/2026/08/20260816-blog-publishing-k3qm.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/personal/2026/09/20260906-push-personal-repos-w8re.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/personal/2026/09/20260921-home-server-n2vb.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/personal/2026/10/20261004-options-first-7hcx.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/personal/2026/10/20261009-thesis-setup-fr6e.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/08/20260804-alex-profile-ujzd.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/08/20260804-reply-language-xdnc.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/08/20260812-ask-before-push-pf3d.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/08/20260820-tests-before-done-odzd.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/08/20260827-etl-orders-export-deadline-pft7.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/08/20260828-etl-dashboard-72ce.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/09/20260902-report-eta-is2j.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/09/20260908-shop-web-stripe-checkout-lgmx.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/09/20260910-shop-web-deploys-dn73.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/09/20260915-etl-parquet-partitioning-seh2.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/09/20260922-design-tokens-source-uvw7.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/10/20261002-shop-web-v3-freeze-5xtp.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo/work/2026/10/20261012-payments-runbook-4syw.md +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/demo.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/embed_worker.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/frontmatter.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/gitsync.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/hooks.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/importers.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/install.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/lint.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/profiles.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/select.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/sessions.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/store.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/ui_server.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/update.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/util.py +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/index.html +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/api.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/avatar.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/filters.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/format.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/h.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/main.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/markdown.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/search.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/store.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/list.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/memory.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/overlays.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/profiles.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/shell.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/ui.js +0 -0
- {agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/workdir.py +0 -0
|
@@ -316,19 +316,15 @@ def embed(data_dir, texts):
|
|
|
316
316
|
|
|
317
317
|
|
|
318
318
|
def closeness(vectors):
|
|
319
|
-
"""
|
|
319
|
+
"""The cosine similarity of every pair of unit rows, as it is (below 0 reads as 0), and what a typical pair
|
|
320
|
+
scores: the median over pairs of different memories. Pairs at or below it are not listed as similar.
|
|
320
321
|
|
|
321
|
-
|
|
322
|
-
so the raw number says little; the rescaled one reads like a percentage.
|
|
322
|
+
It is not rescaled: rescaling made the closest pair 100% however far apart it was.
|
|
323
323
|
"""
|
|
324
|
-
|
|
325
|
-
off =
|
|
326
|
-
if not len(off):
|
|
327
|
-
return np.ones_like(raw)
|
|
328
|
-
lo, hi = np.percentile(off, 50), off.max()
|
|
329
|
-
sim = np.clip((raw - lo) / max(hi - lo, 1e-6), 0, 1)
|
|
324
|
+
sim = np.clip(vectors @ vectors.T, 0, 1)
|
|
325
|
+
off = sim[~np.eye(len(sim), dtype=bool)]
|
|
330
326
|
np.fill_diagonal(sim, 1)
|
|
331
|
-
return sim
|
|
327
|
+
return sim, float(np.median(off)) if len(off) else 0.0
|
|
332
328
|
|
|
333
329
|
|
|
334
330
|
# ------------------------------------------------------------ page data
|
|
@@ -366,13 +362,9 @@ def build(data_dir, semantic=True, vectors_out=None):
|
|
|
366
362
|
x, vocab = vectorize(docs)
|
|
367
363
|
forms = _display_forms(clean(t + " " + b) for t, b in docs)
|
|
368
364
|
vectors = embed(data_dir, [prose(t, b) for t, b in docs]) if semantic else None
|
|
369
|
-
if vectors is not None
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
else:
|
|
373
|
-
sim, space = np.clip(x @ x.T, 0, 1), x
|
|
374
|
-
np.fill_diagonal(sim, 1)
|
|
375
|
-
method = "keywords only (no local model)"
|
|
365
|
+
space = vectors if vectors is not None else x
|
|
366
|
+
sim, typical = closeness(space)
|
|
367
|
+
method = f"{MODEL['name']}, local" if vectors is not None else "keywords only (no local model)"
|
|
376
368
|
if vectors_out is not None:
|
|
377
369
|
vectors_out[:] = [space]
|
|
378
370
|
|
|
@@ -399,7 +391,7 @@ def build(data_dir, semantic=True, vectors_out=None):
|
|
|
399
391
|
"host": src.get("host") or "",
|
|
400
392
|
"created": m["created"],
|
|
401
393
|
"updated": m["updated"],
|
|
402
|
-
"similar": [{"i": j, "s": round(float(sim[i, j]), 3)} for j in order if sim[i, j] >
|
|
394
|
+
"similar": [{"i": j, "s": round(float(sim[i, j]), 3)} for j in order if sim[i, j] > typical],
|
|
403
395
|
"keywords": [{"k": vocab[j], "t": forms.get(vocab[j], vocab[j])} for j in picks[i]],
|
|
404
396
|
"terms": [vocab[j] for j in np.flatnonzero(x[i])],
|
|
405
397
|
"issues": [message for _, message in lint.check(m, body, names)],
|
|
@@ -559,6 +559,11 @@ button.hero-meta-item:hover .copy-hint, button.hero-meta-item:focus-visible .cop
|
|
|
559
559
|
.doctor-line .i { width: 13px; height: 13px; }
|
|
560
560
|
.doctor-sum .chev { transition: transform .15s; }
|
|
561
561
|
.doctor-sum .chev.turned { transform: rotate(180deg); }
|
|
562
|
+
.about { display: flex; justify-content: center; align-items: center; gap: 2px; margin-top: 4px; font-size: 12.5px; color: var(--ink-3); }
|
|
563
|
+
.about .sep { margin: 0 4px; }
|
|
564
|
+
.about a { display: inline-flex; height: 28px; align-items: center; gap: 4px; padding: 0 8px; border-radius: 999px; color: var(--ink-3); text-decoration: none; transition: background-color .15s, color .15s; }
|
|
565
|
+
.about a:hover { background: var(--hover); color: var(--ink); }
|
|
566
|
+
.about .i { width: 12px; height: 12px; }
|
|
562
567
|
.checks { width: 100%; margin-top: 12px; padding: 16px 20px 18px; border-radius: var(--r-card); background: var(--panel); animation: rise .15s ease-out; }
|
|
563
568
|
.checks-note { margin-bottom: 10px; font-size: 12px; color: var(--ink-3); }
|
|
564
569
|
.checks-note code { font-size: 11.5px; color: var(--ink-2); }
|
|
@@ -16,6 +16,7 @@ const PATHS = {
|
|
|
16
16
|
"arrow-left": `<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>`,
|
|
17
17
|
"arrow-right": `<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>`,
|
|
18
18
|
"arrow-up": `<path d="m5 12 7-7 7 7"/><path d="M12 19V5"/>`,
|
|
19
|
+
"arrow-up-right": `<path d="M7 7h10v10"/><path d="M7 17 17 7"/>`,
|
|
19
20
|
"chart-column": `<path d="M3 3v16a2 2 0 0 0 2 2h16"/><path d="M18 17V9"/><path d="M13 17V5"/><path d="M8 17v-3"/>`,
|
|
20
21
|
"check": `<path d="M20 6 9 17l-5-5"/>`,
|
|
21
22
|
"chevron-down": `<path d="m6 9 6 6 6-6"/>`,
|
{agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/insights.js
RENAMED
|
@@ -136,7 +136,7 @@ export function insightsPage() {
|
|
|
136
136
|
<section class="card span2"><h2>Possible duplicates</h2><p class="card-note">Pairs that read alike; compare them side by side and keep one.</p>
|
|
137
137
|
${pairs.length ? pairs.map((p, i) => html`<div class="pair"><div class="pair-text"><span class="truncate">${p[0].description}</span><span class="truncate faint2">${p[1].description}</span></div>
|
|
138
138
|
<span class="count">${Math.round(p[2] * 100)}%</span><button type="button" class="btn sm" data-act="compare" data-arg="${i}">Compare</button></div>`)
|
|
139
|
-
: html`<p class="card-note">No two memories are
|
|
139
|
+
: html`<p class="card-note">No likely duplicates: no two memories are ${Math.round(DUPLICATE * 100)}% alike or more.</p>`}
|
|
140
140
|
</section>
|
|
141
141
|
|
|
142
142
|
<section class="card span2"><h2>Changes per week</h2>${chart("changes", changes, WHO, TOOL_COLORS, WHO_LABELS, `No memory changes in the past ${WEEKS} weeks.`)}</section>
|
|
@@ -153,9 +153,13 @@ export function insightsPage() {
|
|
|
153
153
|
</div>`;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
+
/** Cosine similarity at or above which two memories may say the same thing. Set from pairs that were merged as
|
|
157
|
+
* duplicates (0.69-0.70 with the embedding model) and related ones that were not (0.63 and below). */
|
|
158
|
+
const DUPLICATE = 0.65;
|
|
159
|
+
|
|
156
160
|
/** The pairs shown under Possible duplicates, so Compare can find its pair by position. */
|
|
157
161
|
export function duplicatePairs() {
|
|
158
162
|
const M = app.M, pairs = [];
|
|
159
|
-
M.forEach((m, i) => m.similar.forEach((s) => { if (s.i > i && s.s >=
|
|
163
|
+
M.forEach((m, i) => m.similar.forEach((s) => { if (s.i > i && s.s >= DUPLICATE && M[s.i]) pairs.push([m, M[s.i], s.s]); }));
|
|
160
164
|
return pairs.sort((a, b) => b[2] - a[2]).slice(0, 5);
|
|
161
165
|
}
|
{agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/settings.js
RENAMED
|
@@ -123,6 +123,15 @@ function doctor() {
|
|
|
123
123
|
</section>`;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
// ---------------------------------------------------------------- where agent-memory lives
|
|
127
|
+
|
|
128
|
+
/** The project's site and repository, as [project.urls] in pyproject.toml has them. */
|
|
129
|
+
const LINKS = [["Website", "https://ki-seki.github.io/agent-memory/"], ["GitHub", "https://github.com/Ki-Seki/agent-memory"]];
|
|
130
|
+
|
|
131
|
+
function about() {
|
|
132
|
+
return html`<nav class="about" aria-label="agent-memory">${LINKS.map(([text, href], i) => html`${i ? html`<span class="sep">·</span>` : ""}<a${attrs({ href, target: "_blank", rel: "noopener noreferrer" })}>${text}${icon("arrow-up-right")}</a>`)}</nav>`;
|
|
133
|
+
}
|
|
134
|
+
|
|
126
135
|
export function settingsPage() {
|
|
127
|
-
return html`<div class="settings">${hero()}${prefs()}${doctor()}</div>`;
|
|
136
|
+
return html`<div class="settings">${hero()}${prefs()}${doctor()}${about()}</div>`;
|
|
128
137
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/memory.js
RENAMED
|
File without changes
|
{agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/overlays.js
RENAMED
|
File without changes
|
{agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/profiles.js
RENAMED
|
File without changes
|
{agent_memory_git-0.1.13 → agent_memory_git-0.1.14}/src/agent_memory/webui/js/views/shell.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|