eklavya 1.74.0 → 1.75.1
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
|
@@ -136,8 +136,9 @@ it cannot parse gets a 400 without stopping the server
|
|
|
136
136
|
Its Learning page shows your streak and its calendar under the summary tiles; a
|
|
137
137
|
**To be corrected** tile there and on the Artifacts page counts missed answers still
|
|
138
138
|
waiting for a correction; correcting one closes its dialog after three seconds unless you choose **Stay open**. The
|
|
139
|
-
review
|
|
140
|
-
|
|
139
|
+
review page lists due concepts as cards; opening one shows the steps to quiz that single concept in
|
|
140
|
+
Claude Code or Claude desktop, in the project's folder when that folder is available. Every Copy button
|
|
141
|
+
answers with a toast.
|
|
141
142
|
Its feature tips show the archer companion and use Driver.js, bundled in `dist/` at build and served by the
|
|
142
143
|
dashboard itself at `/vendor/driver-hints.js` and `/vendor/driver-hints.css`, so
|
|
143
144
|
the page still requests nothing from another host. [Configuration](https://eklavya-run.web.app/docs/configuration/) lists
|
|
@@ -147,7 +148,9 @@ covers retrieval, processing, providers, privacy and sync.
|
|
|
147
148
|
State is local under `~/.eklavya/`, including `knowledge.db` (SQLite, WAL).
|
|
148
149
|
`EKLAVYA_HOME` and `EKLAVYA_DB` override those paths. Questions and memory have
|
|
149
150
|
independent switches. Set `providers.observer` to `null` for local memory
|
|
150
|
-
summaries and no prompt feedback.
|
|
151
|
+
summaries and no prompt feedback. The observer's instructions are scored by
|
|
152
|
+
`eval/gepa/memory/`, and an end-of-turn batch's output schema requires its
|
|
153
|
+
checkpoint. Each feedback item leads with a verdict that
|
|
151
154
|
says, in words and never a score, whether the prompt left each area clear, left
|
|
152
155
|
it out or did not need it (an older item says "Not flagged" for an area it
|
|
153
156
|
did not name), and shows the project, host, session and time it came
|
|
@@ -714,6 +714,104 @@
|
|
|
714
714
|
.cmd__copy:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
715
715
|
.cmd__note { margin:var(--space-2) 0 0; color:var(--dim); font-size:13px; }
|
|
716
716
|
.starts > .cmd__note { margin-top:var(--space-3); }
|
|
717
|
+
|
|
718
|
+
/* ---------- Core: toast and dialog (use these, never a page-local popup) ---------- */
|
|
719
|
+
.toasts { position:fixed; right:var(--space-4); bottom:var(--space-4); z-index:90; display:flex; flex-direction:column;
|
|
720
|
+
gap:var(--space-3); width:min(400px, calc(100vw - 32px)); pointer-events:none; }
|
|
721
|
+
.toast { pointer-events:auto; display:grid; grid-template-columns:auto 1fr auto; gap:var(--space-3); align-items:start;
|
|
722
|
+
padding:var(--space-3) var(--space-2) var(--space-3) var(--space-3); background:var(--panel);
|
|
723
|
+
border:1px solid var(--line-2); border-left:4px solid var(--spot); animation:toast-in var(--duration-slow) var(--ease); }
|
|
724
|
+
.toast[data-k="caution"] { border-left-color:var(--warning); }
|
|
725
|
+
.toast[data-k="alert"] { border-left-color:var(--error); }
|
|
726
|
+
.toast b { display:block; font-size:14px; }
|
|
727
|
+
.toast p { margin:2px 0 0; color:var(--dim); font-size:13px; }
|
|
728
|
+
.toast__act { margin-top:var(--space-2); border:0; background:none; padding:0; color:var(--spot); font:600 12.5px var(--font-mono);
|
|
729
|
+
text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
|
|
730
|
+
.toast__x { width:28px; height:28px; border:0; background:none; color:var(--dim); font-size:18px; line-height:1; cursor:pointer; }
|
|
731
|
+
.toast__x:hover { color:var(--ink); }
|
|
732
|
+
.toast__x:focus-visible, .toast__act:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
733
|
+
.toast.is-out { opacity:0; transform:translateY(8px); transition:opacity var(--duration-base) var(--ease), transform var(--duration-base) var(--ease); }
|
|
734
|
+
@keyframes toast-in { from { opacity:0; transform:translateY(10px); } }
|
|
735
|
+
dialog.dlg { width:min(460px, calc(100vw - 32px)); margin:auto; padding:0; border:1px solid var(--line-2); border-radius:0;
|
|
736
|
+
background:var(--panel); color:var(--ink); }
|
|
737
|
+
dialog.dlg::backdrop { background:color-mix(in srgb, var(--ink) 40%, transparent); backdrop-filter:blur(6px); }
|
|
738
|
+
.dlg__b { display:grid; grid-template-columns:auto 1fr; gap:var(--space-4); padding:var(--space-5) var(--space-5) var(--space-2); }
|
|
739
|
+
.dlg h2 { margin:0 0 4px; font:900 18px var(--font-disp); }
|
|
740
|
+
.dlg p { margin:0; color:var(--dim); font-size:13.5px; }
|
|
741
|
+
.dlg textarea { grid-column:1 / -1; width:100%; min-height:80px; background:var(--mass); border:1px solid var(--line-2); color:var(--ink); padding:var(--space-3); font:inherit; }
|
|
742
|
+
.dlg textarea:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
743
|
+
.dlg__f { display:flex; justify-content:flex-end; gap:var(--space-3); padding:var(--space-3) var(--space-5) var(--space-5); }
|
|
744
|
+
.btn--spot { background:var(--spot); border-color:var(--spot); color:var(--spot-ink); }
|
|
745
|
+
.btn--danger { background:var(--error); border-color:var(--error); color:var(--bg); }
|
|
746
|
+
@media (max-width:760px) { .toasts { right:0; left:0; bottom:0; width:100%; padding:0 var(--space-4) var(--space-4); } }
|
|
747
|
+
@media (prefers-reduced-motion:reduce) { .toast { animation:none; } .toast.is-out { transition:none; } }
|
|
748
|
+
|
|
749
|
+
/* ---------- Review: one concept at a time ---------- */
|
|
750
|
+
.rv-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:var(--space-6); }
|
|
751
|
+
.rv-intro h2 { margin:0 0 var(--space-2); font:800 15px var(--font-disp); }
|
|
752
|
+
.rv-intro p { margin:0; color:var(--dim); font-size:13.5px; }
|
|
753
|
+
.rv-steps { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--space-4); margin:0; padding:0; list-style:none; counter-reset:rv; }
|
|
754
|
+
.rv-steps li { counter-increment:rv; position:relative; padding-top:28px; color:var(--dim); font-size:13px; }
|
|
755
|
+
.rv-steps li::before { content:counter(rv); position:absolute; top:0; left:0; width:20px; height:20px; border:1px solid var(--spot);
|
|
756
|
+
color:var(--spot); font:600 11px/18px var(--font-mono); text-align:center; }
|
|
757
|
+
.rv-steps b { display:block; color:var(--ink); font-weight:600; }
|
|
758
|
+
.rv-hide { margin-top:var(--space-3); border:0; background:none; padding:0; color:var(--faint); font:11px var(--font-mono); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
|
|
759
|
+
.rv-hide:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
760
|
+
.rv-list { display:grid; gap:var(--space-3); }
|
|
761
|
+
.rv-first { position:relative; margin-left:132px; min-height:150px; display:flex; align-items:center; }
|
|
762
|
+
.rv-first > .rv-card { flex:1; }
|
|
763
|
+
.rv-guide { position:absolute; right:calc(100% + 6px); top:50%; transform:translateY(-50%); width:128px; display:flex; flex-direction:column; align-items:center; pointer-events:none; }
|
|
764
|
+
.rv-tag { font:600 10.5px var(--font-mono); letter-spacing:var(--tracking-caps); text-transform:uppercase; background:var(--spot); color:var(--spot-ink); padding:2px 8px; white-space:nowrap; }
|
|
765
|
+
.rv-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px var(--space-4); align-items:center; width:100%; text-align:left;
|
|
766
|
+
padding:var(--space-4) var(--space-5); background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--line-2);
|
|
767
|
+
color:inherit; font:inherit; cursor:pointer; transition:border-color var(--duration-base) var(--ease), background var(--duration-base) var(--ease); }
|
|
768
|
+
.rv-card:hover { border-left-color:var(--spot); background:var(--mass); }
|
|
769
|
+
.rv-card:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
770
|
+
.rv-first .rv-card { border-color:var(--spot); background:var(--spot-soft); }
|
|
771
|
+
.rv-card__n { font:700 16px var(--font-disp); }
|
|
772
|
+
.rv-card__m { font:12px var(--font-mono); color:var(--dim); }
|
|
773
|
+
.rv-card__m .warn { color:var(--warning); }
|
|
774
|
+
.rv-card__go { grid-row:1 / 3; grid-column:2; color:var(--spot); font:600 12px var(--font-mono); white-space:nowrap; }
|
|
775
|
+
.rv-more > summary { cursor:pointer; color:var(--dim); font-size:13px; padding:var(--space-2) 0; }
|
|
776
|
+
.rv-more > summary:hover { color:var(--spot); }
|
|
777
|
+
.rv-more > summary:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
778
|
+
.rv-more[open] > summary { margin-bottom:var(--space-2); }
|
|
779
|
+
.rv-tips { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--space-3); }
|
|
780
|
+
.rv-tips div { border:1px solid var(--line); padding:var(--space-3) var(--space-4); color:var(--dim); font-size:13px; }
|
|
781
|
+
.rv-tips b { display:block; color:var(--ink); font-size:13.5px; margin-bottom:2px; }
|
|
782
|
+
dialog.sheet { position:fixed; inset:0 0 0 auto; margin:0; width:min(520px, 100vw); height:100vh; max-height:none; padding:0;
|
|
783
|
+
border:0; border-left:1px solid var(--line-2); border-radius:0; background:var(--bg); color:var(--ink); }
|
|
784
|
+
dialog.sheet::backdrop { background:color-mix(in srgb, var(--ink) 40%, transparent); }
|
|
785
|
+
dialog.sheet[open] { animation:sheet-in var(--duration-slow) var(--ease); }
|
|
786
|
+
@keyframes sheet-in { from { transform:translateX(24px); opacity:0; } }
|
|
787
|
+
.sheet__h { display:flex; justify-content:space-between; gap:var(--space-3); padding:var(--space-5) var(--space-5) var(--space-3); border-bottom:1px solid var(--line); }
|
|
788
|
+
.sheet__h h2 { margin:0; font:900 22px/1.15 var(--font-disp); }
|
|
789
|
+
.sheet__h p { margin:3px 0 0; color:var(--dim); font:12px var(--font-mono); }
|
|
790
|
+
.sheet__x { width:32px; height:32px; border:1px solid var(--line-2); background:none; color:var(--ink); font-size:18px; line-height:1; cursor:pointer; flex:none; }
|
|
791
|
+
.sheet__x:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
792
|
+
.sheet__b { padding:var(--space-4) var(--space-5) var(--space-6); }
|
|
793
|
+
.sheet__seg { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line-2); margin-bottom:var(--space-4); }
|
|
794
|
+
.sheet__seg button { border:0; background:none; color:inherit; font:inherit; text-align:left; padding:10px 12px; cursor:pointer; }
|
|
795
|
+
.sheet__seg button + button { border-left:1px solid var(--line-2); }
|
|
796
|
+
.sheet__seg button[aria-pressed="true"] { background:var(--spot-soft); box-shadow:inset 0 -2px 0 var(--spot); }
|
|
797
|
+
.sheet__seg button:focus-visible { outline:none; box-shadow:var(--ring); }
|
|
798
|
+
.sheet__seg b { display:block; font-size:13.5px; }
|
|
799
|
+
.sheet__seg small { font:11px var(--font-mono); color:var(--faint); }
|
|
800
|
+
.sheet__how { list-style:none; margin:0; padding:0; counter-reset:sh; }
|
|
801
|
+
.sheet__how > li { counter-increment:sh; position:relative; padding:0 0 var(--space-4) 38px; }
|
|
802
|
+
.sheet__how > li::before { content:counter(sh); position:absolute; left:0; top:0; width:24px; height:24px; border:1px solid var(--spot); color:var(--spot); font:600 12px/22px var(--font-mono); text-align:center; }
|
|
803
|
+
.sheet__how h3 { margin:0 0 2px; font-size:14px; }
|
|
804
|
+
.sheet__how p { margin:0 0 var(--space-2); color:var(--dim); font-size:13px; }
|
|
805
|
+
.sheet__how .cmd { margin-top:0; }
|
|
806
|
+
.sheet__why { margin-top:var(--space-4); }
|
|
807
|
+
.sheet__why h3 { margin:0 0 var(--space-2); font:500 10.5px var(--font-mono); letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--faint); }
|
|
808
|
+
@media (max-width:760px) {
|
|
809
|
+
.rv-intro, .rv-steps, .rv-tips { grid-template-columns:1fr; }
|
|
810
|
+
.rv-first { margin-left:0; margin-top:60px; }
|
|
811
|
+
.rv-guide { right:auto; left:0; top:-56px; transform:none; flex-direction:row; width:auto; gap:6px; }
|
|
812
|
+
.rv-card { grid-template-columns:1fr; } .rv-card__go { grid-row:auto; grid-column:1; }
|
|
813
|
+
dialog.sheet { inset:auto 0 0 0; width:100vw; height:88vh; border-left:0; border-top:1px solid var(--line-2); }
|
|
814
|
+
}
|
|
717
815
|
/* ---------- Feedback: one reviewed prompt at a time ---------- */
|
|
718
816
|
.fb__rule { border:1px solid var(--line-2); border-left:2px solid var(--spot); background:var(--panel);
|
|
719
817
|
padding:var(--space-4) var(--space-5); }
|
|
@@ -1145,6 +1243,16 @@
|
|
|
1145
1243
|
</main>
|
|
1146
1244
|
</div>
|
|
1147
1245
|
|
|
1246
|
+
<div class="toasts" id="toasts"></div>
|
|
1247
|
+
<dialog class="dlg" id="dlg" aria-labelledby="dlg-h"><form method="dialog">
|
|
1248
|
+
<div class="dlg__b"><span id="dlg-av"></span><div><h2 id="dlg-h"></h2><p id="dlg-p"></p></div><textarea id="dlg-in" hidden></textarea></div>
|
|
1249
|
+
<div class="dlg__f"><button class="btn" value="cancel" id="dlg-c"></button><button class="btn" value="ok" id="dlg-ok"></button></div>
|
|
1250
|
+
</form></dialog>
|
|
1251
|
+
<dialog class="sheet" id="sheet" aria-labelledby="sheet-h">
|
|
1252
|
+
<div class="sheet__h"><div><h2 id="sheet-h"></h2><p id="sheet-s"></p></div><button type="button" class="sheet__x" data-sheet-close aria-label="Close">×</button></div>
|
|
1253
|
+
<div class="sheet__b" id="sheet-b"></div>
|
|
1254
|
+
</dialog>
|
|
1255
|
+
|
|
1148
1256
|
<dialog class="fix" id="fix" aria-labelledby="fix-q">
|
|
1149
1257
|
<p class="fix__eyebrow">Correct your answer</p>
|
|
1150
1258
|
<h2 class="fix__q" id="fix-q"></h2>
|
|
@@ -1627,6 +1735,10 @@ const isWindows = () => navigator.userAgent.includes('Windows');
|
|
|
1627
1735
|
* to the concept's last project, or to `into` (the selected project). Slugs
|
|
1628
1736
|
* are kebab-case already; anything else is dropped rather than quoted.
|
|
1629
1737
|
*/
|
|
1738
|
+
/** The shell line that enters a project folder, quoted for this machine's shell. */
|
|
1739
|
+
const cdTo = (path) => isWindows() ? `Set-Location -LiteralPath '${path.replace(/'/g, "''")}'`
|
|
1740
|
+
: `cd '${path.replace(/'/g, "'\\''")}'`;
|
|
1741
|
+
|
|
1630
1742
|
function startCommand(concepts, into = null) {
|
|
1631
1743
|
const groups = new Map();
|
|
1632
1744
|
for (const c of concepts) {
|
|
@@ -1640,9 +1752,7 @@ function startCommand(concepts, into = null) {
|
|
|
1640
1752
|
const quiz = `claude "/eklavya:quiz ${slugs.join(' ')}"`;
|
|
1641
1753
|
const p = projectById(id);
|
|
1642
1754
|
const here = p?.path && p.available;
|
|
1643
|
-
const command = !here ? quiz
|
|
1644
|
-
: isWindows() ? `Set-Location -LiteralPath '${p.path.replace(/'/g, "''")}'; ${quiz}`
|
|
1645
|
-
: `cd '${p.path.replace(/'/g, "'\\''")}' && ${quiz}`;
|
|
1755
|
+
const command = !here ? quiz : `${cdTo(p.path)}${isWindows() ? '; ' : ' && '}${quiz}`;
|
|
1646
1756
|
return { name: p?.name ?? base(id), count: cs.length, command,
|
|
1647
1757
|
note: here ? '' : 'Run it inside the project you want these answers counted in.' };
|
|
1648
1758
|
}).sort((a, b) => b.count - a.count);
|
|
@@ -1664,19 +1774,73 @@ function startBlocks(title, cmds) {
|
|
|
1664
1774
|
<span class="sr" id="copy-live" aria-live="polite"></span></section>`;
|
|
1665
1775
|
}
|
|
1666
1776
|
|
|
1777
|
+
|
|
1778
|
+
/* ---------- core components: toast and dialog ----------
|
|
1779
|
+
Every page uses these for "something happened" and "are you sure"; none writes its own popup.
|
|
1780
|
+
toast.success|caution|alert(text, { title, id, action: { label, run } }), toast.dismiss(id);
|
|
1781
|
+
ekDialog({ state, title, text, ok, cancel, input, danger, single }) resolves { ok, value }. */
|
|
1782
|
+
const TOAST_FACE = { success: 'success', caution: 'warning', alert: 'error' };
|
|
1783
|
+
const toast = (() => {
|
|
1784
|
+
const show = (kind, text, o = {}) => {
|
|
1785
|
+
const host = $('toasts');
|
|
1786
|
+
const id = o.id ?? `${kind}:${text}`;
|
|
1787
|
+
host.querySelectorAll('.toast').forEach((x) => { if (x.dataset.id === id) x.remove(); });
|
|
1788
|
+
const el = document.createElement('div');
|
|
1789
|
+
el.className = 'toast'; el.dataset.k = kind; el.dataset.id = id;
|
|
1790
|
+
el.setAttribute('role', kind === 'alert' ? 'alert' : 'status');
|
|
1791
|
+
const title = o.title ?? { success: 'Done', caution: 'Careful', alert: 'Something went wrong' }[kind];
|
|
1792
|
+
el.innerHTML = `<eklavya-mascot state="${TOAST_FACE[kind]}" variant="face" size="44"></eklavya-mascot>
|
|
1793
|
+
<div><b>${esc(title)}</b><p>${esc(text)}</p>${o.action ? `<button type="button" class="toast__act">${esc(o.action.label)}</button>` : ''}</div>
|
|
1794
|
+
<button type="button" class="toast__x" aria-label="Dismiss">×</button>`;
|
|
1795
|
+
let timer;
|
|
1796
|
+
const leave = () => { clearTimeout(timer); el.classList.add('is-out'); setTimeout(() => el.remove(), 200); };
|
|
1797
|
+
const arm = () => { clearTimeout(timer); timer = setTimeout(leave, kind === 'alert' ? 8000 : 4000); };
|
|
1798
|
+
el.querySelector('.toast__x').onclick = leave;
|
|
1799
|
+
if (o.action) el.querySelector('.toast__act').onclick = () => { o.action.run(); leave(); };
|
|
1800
|
+
el.addEventListener('mouseenter', () => clearTimeout(timer));
|
|
1801
|
+
el.addEventListener('focusin', () => clearTimeout(timer));
|
|
1802
|
+
el.addEventListener('mouseleave', arm);
|
|
1803
|
+
el.addEventListener('focusout', arm);
|
|
1804
|
+
host.append(el);
|
|
1805
|
+
while (host.children.length > 3) host.firstChild.remove();
|
|
1806
|
+
arm();
|
|
1807
|
+
};
|
|
1808
|
+
return {
|
|
1809
|
+
success: (t, o) => show('success', t, o), caution: (t, o) => show('caution', t, o), alert: (t, o) => show('alert', t, o),
|
|
1810
|
+
dismiss: (id) => $('toasts').querySelectorAll('.toast').forEach((x) => { if (x.dataset.id === id) x.remove(); }),
|
|
1811
|
+
};
|
|
1812
|
+
})();
|
|
1813
|
+
|
|
1814
|
+
function ekDialog({ state = 'info', title, text = '', ok = 'OK', cancel = 'Cancel', input = null, danger = false, single = false }) {
|
|
1815
|
+
const d = $('dlg'), field = $('dlg-in'), yes = $('dlg-ok'), no = $('dlg-c');
|
|
1816
|
+
$('dlg-av').innerHTML = `<eklavya-mascot state="${state}" variant="face" size="56"></eklavya-mascot>`;
|
|
1817
|
+
$('dlg-h').textContent = title; $('dlg-p').textContent = text;
|
|
1818
|
+
field.hidden = !input; field.value = ''; if (input) field.setAttribute('aria-label', input);
|
|
1819
|
+
yes.textContent = ok; yes.className = `btn ${danger ? 'btn--danger' : 'btn--spot'}`;
|
|
1820
|
+
no.textContent = cancel; no.hidden = single;
|
|
1821
|
+
d.returnValue = ''; d.showModal();
|
|
1822
|
+
(danger ? no : input ? field : yes).focus();
|
|
1823
|
+
return new Promise((done) => d.addEventListener('close', () => done({ ok: d.returnValue === 'ok', value: field.value }), { once: true }));
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1667
1826
|
/** Copies a block's command; if the clipboard refuses, selects it for the keyboard shortcut instead. */
|
|
1668
1827
|
function copyCommand(btn) {
|
|
1669
1828
|
// `data-copy` may name the text it copies, for a button that is not beside it; its text is plain, without the marks.
|
|
1829
|
+
// `data-hint` says what to do next, in the toast.
|
|
1670
1830
|
const code = btn.dataset.copy ? $(btn.dataset.copy) : btn.parentElement.querySelector('code');
|
|
1671
1831
|
const label = btn.querySelector('span') ?? btn;
|
|
1672
1832
|
const live = $('copy-live');
|
|
1833
|
+
const say = (t) => { if (live) live.textContent = t; };
|
|
1673
1834
|
Promise.resolve().then(() => navigator.clipboard.writeText(code.textContent)).then(() => {
|
|
1674
1835
|
label.textContent = 'Copied';
|
|
1675
|
-
|
|
1836
|
+
say('Command copied');
|
|
1837
|
+
toast.success(btn.dataset.hint ?? 'It is on your clipboard.', { id: 'copy', title: 'Copied' });
|
|
1676
1838
|
setTimeout(() => { label.textContent = 'Copy'; }, 1500);
|
|
1677
1839
|
}, () => {
|
|
1678
1840
|
getSelection().selectAllChildren(code);
|
|
1679
|
-
|
|
1841
|
+
const key = /Mac|iPhone|iPad/.test(navigator.userAgent) ? '⌘C' : 'Ctrl+C';
|
|
1842
|
+
say(`Press ${key} to copy`);
|
|
1843
|
+
toast.caution(`The browser refused the copy. The text is selected: press ${key}.`, { id: 'copy', title: 'Not copied yet' });
|
|
1680
1844
|
});
|
|
1681
1845
|
}
|
|
1682
1846
|
|
|
@@ -2607,6 +2771,98 @@ function viewConcept(slug) {
|
|
|
2607
2771
|
].join('');
|
|
2608
2772
|
}
|
|
2609
2773
|
|
|
2774
|
+
|
|
2775
|
+
/* ---------- the review page: one concept at a time ---------- */
|
|
2776
|
+
const REVIEW_TOOL_KEY = 'eklavya-dash-review-tool';
|
|
2777
|
+
const REVIEW_INTRO_KEY = 'eklavya-dash-review-intro';
|
|
2778
|
+
const REVIEW_SHOWN = 5, REVIEW_FOLDED = 20;
|
|
2779
|
+
const reviewTool = () => { try { return localStorage.getItem(REVIEW_TOOL_KEY) === 'desktop' ? 'desktop' : 'code'; } catch (e) { return 'code'; } };
|
|
2780
|
+
|
|
2781
|
+
/** Where and how to start a quiz on one concept: the project, its folder if it is on this machine, and the slash command. */
|
|
2782
|
+
function conceptStart(c) {
|
|
2783
|
+
const p = projectById(PROJECT ?? pid(c.repo));
|
|
2784
|
+
const path = p?.path && p.available ? p.path : null;
|
|
2785
|
+
return { project: p?.name ?? null, path, slash: `/eklavya:quiz ${c.slug}`, cd: path ? cdTo(path) : null };
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2788
|
+
function reviewCard(c, first) {
|
|
2789
|
+
const s = conceptStart(c);
|
|
2790
|
+
const btn = `<button type="button" class="rv-card" data-start="${esc(c.slug)}" data-focus="start:${esc(c.slug)}" aria-haspopup="dialog">
|
|
2791
|
+
<span class="rv-card__n">${esc(c.name)}</span>
|
|
2792
|
+
<span class="rv-card__m">${esc(s.project ?? 'no project recorded')} · ${esc(c.domain)} · ${esc(tierLabel(c.tier))} · <span class="warn">${plural(c.overdue_days ?? 0, 'day')} overdue</span> · ${Math.round(c.score * 100)}%</span>
|
|
2793
|
+
<span class="rv-card__go">${first ? 'Start' : 'Open'} →</span></button>`;
|
|
2794
|
+
return first
|
|
2795
|
+
? `<div class="rv-first"><div class="rv-guide"><eklavya-mascot state="review" size="110"></eklavya-mascot><span class="rv-tag">Start here</span></div>${btn}</div>`
|
|
2796
|
+
: btn;
|
|
2797
|
+
}
|
|
2798
|
+
|
|
2799
|
+
function reviewPicker(due) {
|
|
2800
|
+
if (!due.length) return mascotMessage('<p><strong>Nothing is due.</strong> Eklavya will list a concept here the day it comes back.</p>', 'complete');
|
|
2801
|
+
const rest = due.slice(1 + REVIEW_SHOWN - 1);
|
|
2802
|
+
const folded = rest.slice(0, REVIEW_FOLDED);
|
|
2803
|
+
return `<section class="starts"><div class="head"><h2>Pick a concept to review</h2><p>${plural(due.length, 'concept')} due, most overdue first.</p></div>
|
|
2804
|
+
<div class="rv-list">${due.slice(0, REVIEW_SHOWN).map((c, i) => reviewCard(c, i === 0)).join('')}
|
|
2805
|
+
${rest.length ? `<details class="rv-more" data-key="starts-more"><summary>Show ${plural(Math.min(rest.length, REVIEW_FOLDED), 'more concept')}${rest.length > REVIEW_FOLDED ? `. The queue below lists all ${due.length}` : ''}</summary>
|
|
2806
|
+
<div class="rv-list">${folded.map((c) => reviewCard(c, false)).join('')}</div></details>` : ''}</div>
|
|
2807
|
+
<p class="cmd__note">Each session quizzes that one concept. Come back for the next.</p></section>`;
|
|
2808
|
+
}
|
|
2809
|
+
|
|
2810
|
+
function reviewIntro() {
|
|
2811
|
+
try { if (localStorage.getItem(REVIEW_INTRO_KEY) === '1') return ''; } catch (e) { /* shown */ }
|
|
2812
|
+
return `<section class="card rv-intro" aria-labelledby="rv-h"><div><h2 id="rv-h">Bring older concepts back before they fade</h2>
|
|
2813
|
+
<p>Concepts you were quizzed on return on a schedule. When one is due, a short quiz firms it up and moves its next date.</p>
|
|
2814
|
+
<button type="button" class="rv-hide" data-rv-hide data-focus="rv-hide">Hide this, I know how it works</button></div>
|
|
2815
|
+
<ol class="rv-steps"><li><b>Pick one concept</b>Open a card. The one marked Start here is the longest overdue.</li>
|
|
2816
|
+
<li><b>Start a session for it</b>Copy one line into Claude Code or Claude desktop. The steps are on the card.</li>
|
|
2817
|
+
<li><b>Answer, then pick the next</b>One concept per session keeps it short.</li></ol></section>`;
|
|
2818
|
+
}
|
|
2819
|
+
|
|
2820
|
+
const reviewTips = () => `<div class="rv-tips"><div><b>Run it inside the project</b>Answers are counted for the folder you start the session in, so use the project named on the card.</div>
|
|
2821
|
+
<div><b>Short and often beats long and rare</b>A few minutes a few times a week keeps scores up better than one big catch-up.</div>
|
|
2822
|
+
<div><b>Skipped is not forgotten</b>A skipped question comes back a tier lower. You can quiz any concept by name from its page.</div></div>`;
|
|
2823
|
+
|
|
2824
|
+
function reviewSheetBody(c) {
|
|
2825
|
+
const s = conceptStart(c), tool = reviewTool();
|
|
2826
|
+
const cmd = (text, hint, label = 'Copy') => `<div class="cmd"><code>${esc(text)}</code><button type="button" class="cmd__copy" data-copy data-hint="${esc(hint)}" data-focus="copy:${esc(text.slice(0, 40))}">${label}</button></div>`;
|
|
2827
|
+
const noPath = `<div class="next"><p>This project's folder is not on this machine, so no path is shown. Open the folder where you work on it.</p></div>`;
|
|
2828
|
+
const who = esc(s.project ?? 'the project you ran it in');
|
|
2829
|
+
const steps = tool === 'code'
|
|
2830
|
+
? [['Open a terminal in the project', s.cd ? 'Skip this if you are already in it.' : '', s.cd ? cmd(s.cd, 'Paste it in your terminal, then copy the next step.') : noPath],
|
|
2831
|
+
['Start Claude Code with this one concept', 'It opens a session and asks the first question.', cmd(`claude "${s.slash}"`, 'Paste it in your terminal and press Enter.')],
|
|
2832
|
+
['Answer in the session', `The answer is counted for ${who}. When you finish, this page updates by itself.`, '']]
|
|
2833
|
+
: [['Open the project in the Code tab', 'Choose this folder, then start a new session.', s.path ? cmd(s.path, 'Choose this folder in the Code tab.', 'Copy path') : noPath],
|
|
2834
|
+
['Paste this in the message box and send', 'It asks the first question on this concept.', cmd(s.slash, 'Paste it in the Code tab and send.')],
|
|
2835
|
+
['Answer in the chat', `The answer is counted for ${who}. When you finish, this page updates by itself.`, '']];
|
|
2836
|
+
return `<div class="sheet__seg" role="group" aria-label="Where do you run Claude?">
|
|
2837
|
+
<button type="button" data-sheet-tool="code" data-focus="tool:code" aria-pressed="${tool === 'code'}"><b>Claude Code</b><small>terminal</small></button>
|
|
2838
|
+
<button type="button" data-sheet-tool="desktop" data-focus="tool:desktop" aria-pressed="${tool === 'desktop'}"><b>Claude desktop</b><small>Code tab</small></button></div>
|
|
2839
|
+
<ol class="sheet__how">${steps.map(([h, p, x]) => `<li><h3>${h}</h3>${p ? `<p>${p}</p>` : ''}${x}</li>`).join('')}</ol>
|
|
2840
|
+
${tool === 'desktop' ? `<div class="next"><p><strong>Use a new session.</strong> A long-running session keeps its old context, so the quiz is cleaner in a fresh one.</p></div>` : ''}
|
|
2841
|
+
<div class="sheet__why"><h3>Why it is due</h3><p class="cmd__note">${Math.round(c.score * 100)}% score, ${plural(c.overdue_days ?? 0, 'day')} overdue, ${esc(c.domain)}, ${esc(tierLabel(c.tier))}.</p></div>
|
|
2842
|
+
<span class="sr" id="copy-live" aria-live="polite"></span>`;
|
|
2843
|
+
}
|
|
2844
|
+
|
|
2845
|
+
const SHEET = { slug: null, opener: null };
|
|
2846
|
+
function openSheet(slug, opener) {
|
|
2847
|
+
const c = seenConcepts().find((x) => x.slug === slug);
|
|
2848
|
+
if (!c) return;
|
|
2849
|
+
SHEET.slug = slug; SHEET.opener = opener ?? SHEET.opener;
|
|
2850
|
+
$('sheet-h').textContent = c.name;
|
|
2851
|
+
$('sheet-s').textContent = (conceptStart(c).project ?? 'no project recorded') + ' · ' + plural(c.overdue_days ?? 0, 'day') + ' overdue';
|
|
2852
|
+
$('sheet-b').innerHTML = reviewSheetBody(c);
|
|
2853
|
+
if (!$('sheet').open) $('sheet').showModal();
|
|
2854
|
+
TIP.sync();
|
|
2855
|
+
}
|
|
2856
|
+
function closeSheet() { if ($('sheet').open) $('sheet').close(); }
|
|
2857
|
+
$('sheet').addEventListener('close', () => { $('sheet-b').innerHTML = ''; SHEET.slug = null; SHEET.opener?.focus?.(); });
|
|
2858
|
+
$('sheet').addEventListener('click', (e) => {
|
|
2859
|
+
if (e.target === $('sheet') || e.target.closest('[data-sheet-close]')) return closeSheet();
|
|
2860
|
+
const tool = e.target.closest('[data-sheet-tool]');
|
|
2861
|
+
if (tool) { try { localStorage.setItem(REVIEW_TOOL_KEY, tool.dataset.sheetTool); } catch (x) { /* this load only */ } openSheet(SHEET.slug); $('sheet').querySelector(`[data-sheet-tool="${tool.dataset.sheetTool}"]`)?.focus(); return; }
|
|
2862
|
+
const copy = e.target.closest('[data-copy]');
|
|
2863
|
+
if (copy) copyCommand(copy);
|
|
2864
|
+
});
|
|
2865
|
+
|
|
2610
2866
|
const REVIEW_TABS = ['due', 'upcoming', 'skipped'];
|
|
2611
2867
|
|
|
2612
2868
|
function viewReview(param) {
|
|
@@ -2665,7 +2921,10 @@ function viewReview(param) {
|
|
|
2665
2921
|
ease. A score decays about 5% a week while a review is overdue, so this list is also the list of
|
|
2666
2922
|
things quietly getting weaker. A skipped question comes back a tier lower.`),
|
|
2667
2923
|
|
|
2668
|
-
|
|
2924
|
+
reviewIntro(),
|
|
2925
|
+
reviewPicker(due),
|
|
2926
|
+
|
|
2927
|
+
fold('review:tips', 'Tips for reviewing', '3 tips', reviewTips(), { open: true }),
|
|
2669
2928
|
|
|
2670
2929
|
card('The next fortnight', null,
|
|
2671
2930
|
`<div class="chart"><svg id="c-forecast" role="img" aria-label="Scheduled reviews for the next fourteen days"></svg></div>`),
|
|
@@ -6046,6 +6305,12 @@ function onActivate(e) {
|
|
|
6046
6305
|
if (e.target.closest('[data-slot][aria-busy="true"][data-kept]')) return;
|
|
6047
6306
|
const copy = e.target.closest('[data-copy]');
|
|
6048
6307
|
if (copy) return copyCommand(copy);
|
|
6308
|
+
const start = e.target.closest('[data-start]');
|
|
6309
|
+
if (start) return openSheet(start.dataset.start, start);
|
|
6310
|
+
if (e.target.closest('[data-rv-hide]')) {
|
|
6311
|
+
try { localStorage.setItem(REVIEW_INTRO_KEY, '1'); } catch (x) { /* hidden until reload */ }
|
|
6312
|
+
return render();
|
|
6313
|
+
}
|
|
6049
6314
|
const more = e.target.closest('[data-fb-more]');
|
|
6050
6315
|
if (more) return fbToggle(more);
|
|
6051
6316
|
if (e.target.closest('[data-fb-tip-dismiss]')) return fbTipDismiss();
|
package/dist/memory/provider.js
CHANGED
|
@@ -132,6 +132,14 @@ const OUTPUT_SCHEMA = {
|
|
|
132
132
|
},
|
|
133
133
|
},
|
|
134
134
|
};
|
|
135
|
+
/**
|
|
136
|
+
* The schema for a batch that ends a turn: the same, with `checkpoint` required.
|
|
137
|
+
* Left optional, the model omitted it on about one such batch in five even with
|
|
138
|
+
* durable work in it (eval/results/2026-10-16-memory-observer.md), and no
|
|
139
|
+
* wording closed the gap. The worker still writes one only when the session did
|
|
140
|
+
* durable work, so a model with nothing to say leaves `request` empty.
|
|
141
|
+
*/
|
|
142
|
+
const TURN_SCHEMA = { ...OUTPUT_SCHEMA, required: ['observations', 'checkpoint'] };
|
|
135
143
|
/**
|
|
136
144
|
* The observer's instructions. What to record and what to skip follow Claude
|
|
137
145
|
* Mem's observer prompt (`plugin/modes/code.json`), whose observations read as
|
|
@@ -147,7 +155,7 @@ const SYSTEM = [
|
|
|
147
155
|
`Write one observation per distinct finding, decision or change, at most ${LIMIT.observations}; do not merge unrelated work into one. Each fact is one self-contained statement without pronouns, at most ${LIMIT.facts} facts of under ${LIMIT.fact} characters; the narrative is under ${LIMIT.narrative} characters.`,
|
|
148
156
|
'Tool events end with "→" and what the tool returned: record what it showed, not only that it ran. An assistant event is the agent\'s own conclusion for that turn: keep what it found and decided.',
|
|
149
157
|
'Every fact must be supported by the evidence. Omit rather than guess. If the evidence shows no durable work, return an empty observations array.',
|
|
150
|
-
`If the evidence contains an assistant event, the turn has ended: also return a checkpoint for the whole session so far, using <session_so_far> when given. request: what the developer asked for, in one sentence. investigated, learned, completed: short lists of specifics. next_steps: where the work is heading now, or what the developer still has to do. Each under ${LIMIT.checkpointField} characters.
|
|
158
|
+
`If the evidence contains an assistant event, the turn has ended: also return a checkpoint for the whole session so far, using <session_so_far> when given. request: what the developer asked for, in one sentence. investigated, learned, completed: short lists of specifics. next_steps: where the work is heading now, or what the developer still has to do. Each under ${LIMIT.checkpointField} characters. When neither this evidence nor the session so far holds durable work, leave request empty. Without an assistant event, omit checkpoint.`,
|
|
151
159
|
].join('\n');
|
|
152
160
|
/** The tags the prompt fences evidence with, and so the ones evidence may not spell. */
|
|
153
161
|
const FENCE_TAGS = ['event', 'evidence', 'session_so_far'];
|
|
@@ -486,16 +494,20 @@ export function probeLogin(timeoutMs = 10_000) {
|
|
|
486
494
|
}
|
|
487
495
|
export class ProviderSummarizer {
|
|
488
496
|
config;
|
|
497
|
+
system;
|
|
489
498
|
id;
|
|
490
|
-
|
|
499
|
+
/** `system` is for the eval, which scores candidate instructions through this same class. */
|
|
500
|
+
constructor(config, system = SYSTEM) {
|
|
491
501
|
this.config = config;
|
|
502
|
+
this.system = system;
|
|
492
503
|
this.id = `${config.kind}:${config.model}`;
|
|
493
504
|
}
|
|
494
505
|
async summarize(input, opts = {}) {
|
|
495
506
|
if (!input.events.length)
|
|
496
507
|
return [];
|
|
497
508
|
const prior = input.prior ? `<session_so_far>\n${defangFence(input.prior, FENCE_TAGS)}\n</session_so_far>\n` : '';
|
|
498
|
-
const
|
|
509
|
+
const endsTurn = input.events.some((e) => e.kind === 'assistant');
|
|
510
|
+
const stdout = await runClaude(this.config.model, `${prior}<evidence project="${input.project}" session="${input.sessionId}">\n${renderEvidence(input)}\n</evidence>`, { ...opts, spec: { schema: endsTurn ? TURN_SCHEMA : OUTPUT_SCHEMA, system: this.system } });
|
|
499
511
|
const raw = trimToLimits(readResult(stdout));
|
|
500
512
|
const result = ResultSchema.safeParse(raw);
|
|
501
513
|
if (!result.success) {
|
|
@@ -520,7 +532,7 @@ export class ProviderSummarizer {
|
|
|
520
532
|
// the batch's observations are kept rather than failed with it.
|
|
521
533
|
const parsed = CheckpointSchema.safeParse(raw?.checkpoint);
|
|
522
534
|
const cp = parsed.success ? parsed.data : undefined;
|
|
523
|
-
if (cp && cp.request.trim() &&
|
|
535
|
+
if (cp && cp.request.trim() && endsTurn)
|
|
524
536
|
drafts.checkpoint = cp;
|
|
525
537
|
return drafts;
|
|
526
538
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/memory/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/memory/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eklavya",
|
|
3
3
|
"displayName": "Eklavya",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.75.1",
|
|
5
5
|
"description": "Learn while your agent works. Turns coding-agent generation time into adaptive, Socratic learning grounded in the code being written.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Ajay Kumar"
|
package/package.json
CHANGED