eklavya 1.47.5 → 1.48.0

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
@@ -81,9 +81,13 @@ npx eklavya db-path
81
81
 
82
82
  The [CLI reference](https://eklavya-run.web.app/docs/cli/) lists all commands and
83
83
  flags. The dashboard reads the database and has two guarded writes: a setting
84
- change and a correction of a missed answer. A request it cannot parse gets a 400
85
- without stopping the server
86
- ([what it is, underneath](https://eklavya-run.web.app/docs/dashboard/#what-it-is-underneath)). [Configuration](https://eklavya-run.web.app/docs/configuration/) lists
84
+ change and a correction of a missed answer. An open page polls `/api/cursor`, a
85
+ counter that moves on every write it would show, and offers a refresh. A request
86
+ it cannot parse gets a 400 without stopping the server
87
+ ([what it is, underneath](https://eklavya-run.web.app/docs/dashboard/#what-it-is-underneath)).
88
+ Its feature tips use Driver.js, bundled in `dist/` at build and served by the
89
+ dashboard itself at `/vendor/driver-hints.js` and `/vendor/driver-hints.css`, so
90
+ the page still requests nothing from another host. [Configuration](https://eklavya-run.web.app/docs/configuration/) lists
87
91
  defaults and scopes. The [memory guide](https://eklavya-run.web.app/docs/memory/)
88
92
  covers retrieval, processing, providers, privacy and sync.
89
93
 
package/dist/artifacts.js CHANGED
@@ -151,17 +151,62 @@ export function artifactIdOf(file, root = artifactsDir()) {
151
151
  */
152
152
  export function listArtifacts(root = artifactsDir()) {
153
153
  const rows = [];
154
+ for (const { folder, name, file, st } of artifactFiles(root)) {
155
+ try {
156
+ const head = readHead(file);
157
+ const title = /<title>([^<]*)<\/title>/i.exec(head)?.[1]?.trim();
158
+ const kind = meta(head, 'eklavya:kind');
159
+ rows.push({
160
+ id: `${folder}/${name}`,
161
+ title: title ? unescHtml(title) : name.replace(/\.html?$/i, ''),
162
+ description: meta(head, 'description') ?? '',
163
+ project: meta(head, 'eklavya:project') || null,
164
+ kind: kind === 'explainer' ? 'explainer' : 'artifact',
165
+ concept: meta(head, 'eklavya:concept') || null,
166
+ attempt: attemptId(meta(head, 'eklavya:attempt')),
167
+ created: meta(head, 'eklavya:created') || st.mtime.toISOString(),
168
+ bytes: st.size,
169
+ });
170
+ }
171
+ catch {
172
+ continue;
173
+ }
174
+ }
175
+ return rows.sort((a, b) => (a.created < b.created ? 1 : a.created > b.created ? -1 : 0));
176
+ }
177
+ /**
178
+ * What changes when the artifact list would: how many pages, their total size
179
+ * and the newest modification time. `lstat` only, never a read, so the
180
+ * dashboard's poll can afford it once a minute. Same folder and file rules as
181
+ * `listArtifacts`; the stamp is only for comparing with an earlier one.
182
+ */
183
+ export function artifactsStamp(root = artifactsDir()) {
184
+ let count = 0;
185
+ let bytes = 0;
186
+ let newest = 0;
187
+ for (const { st } of artifactFiles(root)) {
188
+ count += 1;
189
+ bytes += st.size;
190
+ newest = Math.max(newest, st.mtimeMs);
191
+ }
192
+ return `${count}.${bytes}.${Math.floor(newest)}`;
193
+ }
194
+ /**
195
+ * Every page file under the root, stat'ed but not read. The rules
196
+ * `resolveArtifact` serves by, so nothing is listed that the dashboard would
197
+ * then refuse: no dot-names, no symlinks -- a link's `<head>` would otherwise
198
+ * be read from wherever it points. An unreadable folder or file costs itself.
199
+ */
200
+ function artifactFiles(root) {
201
+ const out = [];
154
202
  let folders;
155
203
  try {
156
204
  folders = fs.readdirSync(root, { withFileTypes: true });
157
205
  }
158
206
  catch {
159
- return rows;
207
+ return out;
160
208
  }
161
209
  for (const folder of folders) {
162
- // The same rules `resolveArtifact` serves by, so nothing is listed that
163
- // the dashboard would then refuse: no dot-names, no symlinks — a link's
164
- // `<head>` would otherwise be read from wherever it points.
165
210
  if (!folder.isDirectory() || folder.name.startsWith('.'))
166
211
  continue;
167
212
  let files;
@@ -177,29 +222,16 @@ export function listArtifacts(root = artifactsDir()) {
177
222
  const file = path.join(root, folder.name, name);
178
223
  try {
179
224
  const st = fs.lstatSync(file);
180
- if (!st.isFile())
181
- continue;
182
- const head = readHead(file);
183
- const title = /<title>([^<]*)<\/title>/i.exec(head)?.[1]?.trim();
184
- const kind = meta(head, 'eklavya:kind');
185
- rows.push({
186
- id: `${folder.name}/${name}`,
187
- title: title ? unescHtml(title) : name.replace(/\.html?$/i, ''),
188
- description: meta(head, 'description') ?? '',
189
- project: meta(head, 'eklavya:project') || null,
190
- kind: kind === 'explainer' ? 'explainer' : 'artifact',
191
- concept: meta(head, 'eklavya:concept') || null,
192
- attempt: attemptId(meta(head, 'eklavya:attempt')),
193
- created: meta(head, 'eklavya:created') || st.mtime.toISOString(),
194
- bytes: st.size,
195
- });
225
+ if (st.isFile())
226
+ out.push({ folder: folder.name, name, file, st });
227
+ /* c8 ignore next 3 -- removed between the listing and the lstat */
196
228
  }
197
229
  catch {
198
230
  continue;
199
231
  }
200
232
  }
201
233
  }
202
- return rows.sort((a, b) => (a.created < b.created ? 1 : a.created > b.created ? -1 : 0));
234
+ return out;
203
235
  }
204
236
  /**
205
237
  * The file behind an id, or null. Exactly `<folder>/<file>.html`, both plain
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,9 @@
44
44
  this page is fetched from anywhere but this loopback server. The font
45
45
  stacks fall through to the system faces they already name. -->
46
46
  <link rel="stylesheet" href="/tokens.css">
47
+ <!-- Feature tips: Driver.js's hints module, pinned and served by this server (see TIP). -->
48
+ <link rel="stylesheet" href="/vendor/driver-hints.css">
49
+ <script src="/vendor/driver-hints.js" defer></script>
47
50
  <style>
48
51
  /* ============================================================
49
52
  Layout: a fixed rail and one scrolling column.
@@ -735,6 +738,31 @@
735
738
  .set__btn:hover { color:var(--ink); border-color:var(--spot); }
736
739
  /* A config path is one unbroken word; on a phone it has to break anywhere. */
737
740
  .counts .mono, .lines .mono { overflow-wrap:anywhere; }
741
+ /* ---------- feature tips: Driver.js hints restyled, vendor CSS untouched ---------- */
742
+ .driver-hint { --driver-hint-color:var(--spot); --driver-hint-size:14px; }
743
+ .driver-popover.driver-hint-popover.coach { background:var(--spot); color:var(--spot-ink); border-radius:0;
744
+ filter:none; box-shadow:var(--shadow-lg); min-width:0; max-width:min(320px, calc(100vw - 32px));
745
+ padding:14px 16px; font-family:var(--font-body); animation:coach-in 160ms var(--ease); }
746
+ @keyframes coach-in { from { opacity:0; } }
747
+ /* The arrow is a border triangle: only the side it points from takes the fill. */
748
+ .coach .driver-popover-arrow-side-left { border-left-color:var(--spot); }
749
+ .coach .driver-popover-arrow-side-right { border-right-color:var(--spot); }
750
+ .coach .driver-popover-arrow-side-top { border-top-color:var(--spot); }
751
+ .coach .driver-popover-arrow-side-bottom { border-bottom-color:var(--spot); }
752
+ .coach .driver-popover-title { position:absolute; width:1px; height:1px; overflow:hidden;
753
+ clip-path:inset(50%); white-space:nowrap; }
754
+ .coach .driver-popover-description { position:relative; margin:0 !important; padding:0 28px 0 30px;
755
+ font-size:14px; line-height:1.45; color:var(--spot-ink); }
756
+ .coach .driver-popover-description b { font-weight:600; }
757
+ .coach__icon { position:absolute; left:0; top:1px; width:18px; height:18px; }
758
+ .coach__x { position:absolute; z-index:1; top:8px; right:8px; width:24px; height:24px; padding:3px; border:0;
759
+ background:none; color:var(--spot-ink); cursor:pointer; display:grid; place-items:center; }
760
+ .coach__x svg { width:16px; height:16px; }
761
+ .coach__x:focus-visible, .coach .driver-popover-footer-btn:focus-visible { outline:none; box-shadow:inset 0 0 0 2px var(--spot-ink); }
762
+ .coach .driver-popover-footer { margin-top:10px; justify-content:flex-end; }
763
+ .coach .driver-popover-footer-btn { font-family:var(--font-mono); font-size:12px; color:var(--spot-ink);
764
+ background:none; border:0; border-radius:0; padding:2px 4px; text-shadow:none; }
765
+ .coach .driver-popover-footer-btn:hover, .coach .driver-popover-footer-btn:focus { background:none; text-decoration:underline; }
738
766
  @media (prefers-reduced-motion:reduce) {
739
767
  html { scroll-behavior:auto; }
740
768
  * { transition:none !important; animation:none !important; }
@@ -799,6 +827,14 @@
799
827
  <button type="button" data-ground="paper" aria-pressed="false">paper</button>
800
828
  </div>
801
829
  </div>
830
+
831
+ <div class="side__group">
832
+ <p class="side__label">Tips</p>
833
+ <div class="ground" role="group" aria-label="Feature tips">
834
+ <button type="button" data-tips="on" aria-pressed="true">on</button>
835
+ <button type="button" data-tips="off" aria-pressed="false">off</button>
836
+ </div>
837
+ </div>
802
838
  </div>
803
839
 
804
840
  </aside>
@@ -1429,6 +1465,7 @@ function fill(id, url, draw) {
1429
1465
  el.removeAttribute('aria-busy');
1430
1466
  focusable(el);
1431
1467
  for (const fn of AFTER.splice(0)) fn();
1468
+ TIP.sync();
1432
1469
  }).catch((e) => {
1433
1470
  const el = $(id);
1434
1471
  if (el && gen === GEN) { el.innerHTML = `<p class="empty">Could not load: ${esc(e.message)}</p>`; el.removeAttribute('aria-busy'); }
@@ -2743,6 +2780,7 @@ function openFix() {
2743
2780
  + `${d.option_notes?.[i] ? `<span class="fix__n">${esc(d.option_notes[i])}</span>` : ''}<span class="fix__tag"></span></button>`).join('');
2744
2781
  fixSay('', '');
2745
2782
  $('fix').showModal();
2783
+ TIP.sync();
2746
2784
  $('fix-opts').querySelector('button').focus();
2747
2785
  }
2748
2786
 
@@ -2792,6 +2830,7 @@ $('fix-opts').addEventListener('keydown', (e) => {
2792
2830
  $('fix-close').addEventListener('click', () => $('fix').close());
2793
2831
  // However it closes -- the button, Escape -- the bar shows where things stand.
2794
2832
  $('fix').addEventListener('close', () => {
2833
+ TIP.sync();
2795
2834
  const bar = $('fixbar');
2796
2835
  const a = FIX && S.artifacts.find((x) => x.id === FIX.artifact);
2797
2836
  if (bar && a) { paintFix(bar, a, FIX.q, FIX.q.corrected_at !== null); $('fix-open')?.focus(); }
@@ -2837,6 +2876,146 @@ for (const ev of ['wheel', 'touchmove', 'keydown']) {
2837
2876
  }, { passive: true });
2838
2877
  }
2839
2878
 
2879
+ /* ---------- feature tips ----------
2880
+ A beacon on each feature this screen has a tip for, and the first of them
2881
+ opened once, by itself. Driver.js's hints module does the placing, the
2882
+ arrow, Escape and click-outside; this keeps the list and what the reader
2883
+ has seen, per browser, in localStorage. Add a tip as one row of TIPS:
2884
+ `id` is never reused (renaming it shows the tip again to everyone who
2885
+ dismissed it), `where` names `<workflow>/<page>` pages from WORKFLOWS, `el`
2886
+ is the feature, `text` says what it does, and an optional `when()` limits
2887
+ it to data that makes it true. Order is priority. The browser suite's
2888
+ registry guard checks every row against the fixture. */
2889
+ const TIPS = [
2890
+ { id: 'wf-switch', where: ['learning/dashboard'], el: '#wf-caret', side: 'right', title: 'Switch workflow',
2891
+ text: 'Eklavya has four workflows: Learning, Memory, Artifacts and Settings. Switch between them here.' },
2892
+ { id: 'how-this-works', where: ['learning/dashboard', 'memory/dashboard'], el: '#view details.about > summary', title: 'How this works',
2893
+ text: 'Every page explains where its numbers come from. Open this to read it.' },
2894
+ { id: 'project-scope', where: ['learning/sessions', 'memory/timeline'], el: '#proj', side: 'right', title: 'Project scope',
2895
+ text: 'Pick a project to narrow every page to its activity. Your scores stay the same everywhere.' },
2896
+ { id: 'concept-filters', where: ['learning/concepts'], el: '#chips', title: 'Concept filters',
2897
+ text: 'Filter concepts by state. The filter is part of the link, so you can bookmark it.' },
2898
+ { id: 'review-tabs', where: ['learning/review'], el: '#tabs', title: 'Review lists',
2899
+ text: 'Due, missed and skipped answers each have their own list here.' },
2900
+ { id: 'timeline-open', where: ['memory/timeline'], el: '#view .tl-item > summary', title: 'Open an entry',
2901
+ text: 'Open a line to read what was remembered and the evidence it came from.' },
2902
+ { id: 'to-correct', where: ['artifacts/dashboard'], el: '#view .chips [data-go*="to-correct"]', title: 'Answers to correct',
2903
+ text: 'Missed answers wait here. Open one, read the page, then correct your answer.',
2904
+ when: () => (S.artifacts ?? []).some((a) => a.correction === 'open') },
2905
+ { id: 'artifact-tabs', where: ['artifacts/view'], el: '#view [role="tablist"]', title: 'Open pages',
2906
+ text: 'Pages you open stay here as tabs, up to eight. All artifacts takes you back.' },
2907
+ { id: 'settings-scope', where: ['settings/dashboard'], el: '#nav', side: 'right', title: 'User or project',
2908
+ text: 'User settings apply everywhere. Project settings override them for one project.' },
2909
+ { id: 'ground', where: ['settings/dashboard'], el: '.ground[aria-label="Colour ground"]', side: 'right', title: 'Ink or paper',
2910
+ text: 'Switch the dashboard between a dark and a light ground.' },
2911
+ ];
2912
+ const TIPS_KEY = 'eklavya-dash-tips';
2913
+ const ICON_TIP = '<svg class="coach__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/><path d="M9 18h6"/><path d="M10 22h4"/></svg>';
2914
+ const TIP = {
2915
+ state: undefined, // { off, done, opened }; null when storage throws, which means no tips
2916
+ hints: null,
2917
+ shown: [], // [id, element] pairs the beacons were last drawn for
2918
+ timer: 0,
2919
+ load() {
2920
+ if (this.state !== undefined) return this.state;
2921
+ let raw = null, v = null;
2922
+ // Without memory a tip would reopen on every load, so no storage means no tips.
2923
+ try { raw = localStorage.getItem(TIPS_KEY); } catch (e) { return (this.state = null); }
2924
+ try { v = JSON.parse(raw); } catch (e) { /* malformed: the defaults */ }
2925
+ const ids = (a) => (Array.isArray(a) ? a.filter((x) => typeof x === 'string') : []);
2926
+ return (this.state = { off: v?.off === true, done: ids(v?.done), opened: ids(v?.opened) });
2927
+ },
2928
+ save() { try { localStorage.setItem(TIPS_KEY, JSON.stringify(this.state)); } catch (e) { this.state = null; } },
2929
+ mark(list, id) { if (this.state && !this.state[list].includes(id)) { this.state[list].push(id); this.save(); } },
2930
+ lib() {
2931
+ if (!this.hints && window.driverHints) {
2932
+ this.hints = window.driverHints.hints({
2933
+ overlay: false,
2934
+ onOpen: (el, h) => this.mark('opened', h.id),
2935
+ onDismiss: (el, h) => this.mark('done', h.id),
2936
+ });
2937
+ }
2938
+ return this.hints;
2939
+ },
2940
+ /** Which tips this screen shows: called after every render and every fill. */
2941
+ sync() {
2942
+ const h = this.lib();
2943
+ const st = S && h ? this.load() : null;
2944
+ clearTimeout(this.timer);
2945
+ if (!st || st.off || drawerOpen || $('fix').open || !menu.hidden || !pmenu.hidden || !smenu.hidden) {
2946
+ h?.hide();
2947
+ this.shown = [];
2948
+ return;
2949
+ }
2950
+ const at = `${CUR.wf}/${CUR.page}`;
2951
+ const eligible = (window.__eklavyaTestTips ?? TIPS).flatMap((t) => {
2952
+ const node = t.where.includes(at) && !st.done.includes(t.id) && (!t.when || t.when()) ? document.querySelector(t.el) : null;
2953
+ // On a narrow screen the rail is a drawer, closed or sliding away, whenever tips can show.
2954
+ return node?.getClientRects().length && !(narrow.matches && side.contains(node)) ? [[t, node]] : [];
2955
+ });
2956
+ // Same features, same nodes: leave a bubble the reader opened alone.
2957
+ if (eligible.length !== this.shown.length || eligible.some(([t, n], i) => this.shown[i][0] !== t.id || this.shown[i][1] !== n)) {
2958
+ this.shown = eligible.map(([t, n]) => [t.id, n]);
2959
+ h.setHints(eligible.map(([t, n]) => ({
2960
+ id: t.id,
2961
+ element: n,
2962
+ popover: {
2963
+ title: esc(t.title),
2964
+ description: `${ICON_TIP}<span><b>Tip:</b> ${esc(t.text)}</span>`,
2965
+ side: t.side ?? 'bottom', align: 'start', buttonText: 'Got it', popoverClass: 'coach',
2966
+ onPopoverRender: (p) => {
2967
+ const x = document.createElement('button');
2968
+ x.type = 'button';
2969
+ x.className = 'coach__x';
2970
+ x.setAttribute('aria-label', 'Close');
2971
+ x.innerHTML = ICON_X;
2972
+ // The library's own × is hidden and its click goes nowhere; this one keeps the beacon.
2973
+ x.addEventListener('click', () => {
2974
+ const beacon = document.querySelector('.driver-hint[aria-expanded="true"]');
2975
+ h.close();
2976
+ beacon?.focus();
2977
+ });
2978
+ p.wrapper.prepend(x);
2979
+ },
2980
+ },
2981
+ })));
2982
+ }
2983
+ h.show();
2984
+ // Only the screen's first tip opens by itself, and only once; the rest stay beacons.
2985
+ const first = eligible[0];
2986
+ if (!first || st.opened.includes(first[0].id)) return;
2987
+ const gen = GEN;
2988
+ this.timer = setTimeout(() => {
2989
+ const r = first[1].getBoundingClientRect();
2990
+ // Off screen, the bubble would scroll the page to itself; the beacon waits instead.
2991
+ if (gen !== GEN || h.getActive() || !first[1].isConnected || r.bottom <= 0 || r.top >= innerHeight) return;
2992
+ // Opening moves focus into the bubble; an automatic one must not take it from the reader.
2993
+ const was = document.activeElement;
2994
+ h.open(first[0].id);
2995
+ if (was && was !== document.body) was.focus({ preventScroll: true });
2996
+ else document.activeElement?.blur();
2997
+ }, 600);
2998
+ },
2999
+ /** The sidebar switch: off hides everything; on starts every tip over. */
3000
+ set(on) {
3001
+ if (!this.load()) return;
3002
+ this.state = on ? { off: false, done: [], opened: [] } : { ...this.state, off: true };
3003
+ this.save();
3004
+ this.paint();
3005
+ this.shown = [];
3006
+ this.sync();
3007
+ },
3008
+ paint() {
3009
+ const on = !this.load()?.off;
3010
+ document.querySelectorAll('[data-tips]').forEach((b) => b.setAttribute('aria-pressed', String((b.dataset.tips === 'on') === on)));
3011
+ },
3012
+ };
3013
+ // Using the feature is proof the tip worked: it goes for good.
3014
+ document.addEventListener('click', (e) => {
3015
+ for (const [id, n] of TIP.shown) if (n.contains(e.target)) TIP.hints.dismiss(id);
3016
+ }, true);
3017
+ document.querySelectorAll('[data-tips]').forEach((b) => b.addEventListener('click', () => TIP.set(b.dataset.tips === 'on')));
3018
+
2840
3019
  /* ---------- artifact tabs ----------
2841
3020
  Open pages stay open as tabs. The URL names the active one; the list itself
2842
3021
  is a per-viewer convenience in localStorage (never the URL, never the
@@ -3542,6 +3721,7 @@ function openPicker() {
3542
3721
  </button>`).join('');
3543
3722
  menu.hidden = false;
3544
3723
  caret.setAttribute('aria-expanded', 'true');
3724
+ TIP.sync();
3545
3725
  placePicker();
3546
3726
  (pickerItems().find((b) => b.dataset.wf === CUR.wf) ?? pickerItems()[0]).focus();
3547
3727
  }
@@ -3551,6 +3731,7 @@ function closePicker(restore = true) {
3551
3731
  const hadFocus = menu.contains(document.activeElement);
3552
3732
  menu.hidden = true;
3553
3733
  caret.setAttribute('aria-expanded', 'false');
3734
+ TIP.sync();
3554
3735
  if (restore || hadFocus) caret.focus();
3555
3736
  }
3556
3737
 
@@ -3618,6 +3799,7 @@ function openProjects() {
3618
3799
  if (pbtn.disabled) return;
3619
3800
  pmenu.hidden = false;
3620
3801
  pbtn.setAttribute('aria-expanded', 'true');
3802
+ TIP.sync();
3621
3803
  placePicker(pmenu, pbtn);
3622
3804
  const cur = projOptions().find((o) => o.getAttribute('aria-selected') === 'true') ?? projOptions()[0];
3623
3805
  cur.focus();
@@ -3629,6 +3811,7 @@ function closeProjects(restore = true) {
3629
3811
  const hadFocus = pmenu.contains(document.activeElement);
3630
3812
  pmenu.hidden = true;
3631
3813
  pbtn.setAttribute('aria-expanded', 'false');
3814
+ TIP.sync();
3632
3815
  if (restore || hadFocus) pbtn.focus();
3633
3816
  }
3634
3817
 
@@ -3730,6 +3913,7 @@ function openSelect(b) {
3730
3913
  smenu.hidden = false;
3731
3914
  sOpen = b;
3732
3915
  b.setAttribute('aria-expanded', 'true');
3916
+ TIP.sync();
3733
3917
  placePicker(smenu, b);
3734
3918
  const cur = selOptions()[Math.max(0, s.selectedIndex)];
3735
3919
  cur?.focus();
@@ -3743,6 +3927,7 @@ function closeSelect(restore = true) {
3743
3927
  smenu.hidden = true;
3744
3928
  sOpen = null;
3745
3929
  b.setAttribute('aria-expanded', 'false');
3930
+ TIP.sync();
3746
3931
  if ((restore || hadFocus) && b.isConnected) b.focus();
3747
3932
  }
3748
3933
 
@@ -3844,6 +4029,7 @@ function syncDrawer() {
3844
4029
  $('scrim').classList.toggle('is-open', drawerOpen);
3845
4030
  document.body.classList.toggle('drawer-open', drawerOpen);
3846
4031
  $('menu').setAttribute('aria-expanded', String(drawerOpen));
4032
+ TIP.sync();
3847
4033
  }
3848
4034
 
3849
4035
  function openDrawer() {
@@ -3926,6 +4112,8 @@ function render(keepFocus) {
3926
4112
 
3927
4113
  AFTER.length = 0;
3928
4114
  LAZY.clear();
4115
+ // A bubble never survives a navigation.
4116
+ TIP.hints?.close();
3929
4117
  // A screen that still has a correction open re-arms this when it draws its bar.
3930
4118
  armLeave(false);
3931
4119
  $('view').innerHTML = !pg ? viewNotFound('#/' + CUR.wf + '/' + CUR.page, false)
@@ -3934,6 +4122,7 @@ function render(keepFocus) {
3934
4122
  // A clickable row has to be reachable by Tab as well as by mouse.
3935
4123
  focusable($('view'));
3936
4124
  for (const fn of AFTER) fn();
4125
+ TIP.sync();
3937
4126
 
3938
4127
  if (keepFocus) {
3939
4128
  const el = $(keepFocus.id);
@@ -4077,11 +4266,10 @@ document.querySelectorAll('[data-ground]').forEach((b) => {
4077
4266
  });
4078
4267
 
4079
4268
  /* ---------- staying honest about how old this page is ---------- */
4080
- // ponytail: a poll, not SSE. Ceiling: a change shows up to POLL_MS late, and
4081
- // each tick rebuilds the whole payload server-side to read one field off it.
4082
- // Both are nothing for one reader over loopback once a minute. The upgrade is
4083
- // SSE over an event cursor (PRD DASH-01) — `s.cursor` is already the cursor,
4084
- // so that swap is this function, not the page.
4269
+ // ponytail: a poll, not SSE. Ceiling: a change shows up to POLL_MS late. Each
4270
+ // tick asks `/api/cursor` for the one string, which costs a single-row read and
4271
+ // a stat of the artifact files, never the payload. The upgrade is SSE over the
4272
+ // same cursor (PRD DASH-01), so that swap is this function, not the page.
4085
4273
  const POLL_MS = 60000;
4086
4274
  let polling = false;
4087
4275
 
@@ -4100,7 +4288,7 @@ function poll() {
4100
4288
  // already up, or nobody is looking — a background tab must not poll at all.
4101
4289
  if (!S || polling || !$('stale').hidden || document.visibilityState !== 'visible') return;
4102
4290
  polling = true;
4103
- fetch('/api/state')
4291
+ fetch('/api/cursor')
4104
4292
  .then((r) => r.json())
4105
4293
  .then((s) => { if (s.cursor !== S.cursor) $('stale').hidden = false; })
4106
4294
  // A failed poll changes nothing: the page keeps working on the data it has.
@@ -4153,6 +4341,7 @@ Promise.all([json('/api/state'), json('/api/projects')]).then(([s, inv]) => {
4153
4341
  // that logged concepts but was never asked a question, or that only ever
4154
4342
  // captured memory, is a project and is listed.
4155
4343
  buildProjects(inv);
4344
+ TIP.paint();
4156
4345
 
4157
4346
  syncFromUrl();
4158
4347
  $('app').classList.remove('booting');
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) Kamran Ahmed
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1 @@
1
+ .driver-popover{all:unset;font-family:var(--driver-popover-font-family,"Helvetica Neue", Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif);box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover-title{zoom:1;margin:0;font-size:19px;font-weight:700;line-height:1.5;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.5}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer-btn{all:unset;box-sizing:border-box;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font-size:12px;line-height:1.3;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}.driver-popover-footer-btn:hover,.driver-popover-footer-btn:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center,.driver-popover-arrow-none{display:none}.driver-hint{all:unset;box-sizing:border-box;width:var(--driver-hint-size,24px);height:var(--driver-hint-size,24px);cursor:pointer;z-index:999999996;display:block;position:fixed;transform:translate(-50%,-50%)}.driver-hint[aria-expanded=true]{z-index:999999998}.driver-hint-hidden{display:none}.driver-hint-dot,.driver-hint-pulse{background-color:var(--driver-hint-color,#818cf8);border-radius:50%;position:absolute}.driver-hint-dot{inset:25%}.driver-hint-pulse{opacity:.6;pointer-events:none;animation:driver-hint-pulse var(--driver-hint-animation-duration,2s) ease-out infinite;inset:0}@keyframes driver-hint-pulse{0%{opacity:.6;transform:scale(.5)}70%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.driver-hint-no-animation .driver-hint-pulse{animation:none}@media (prefers-reduced-motion:reduce){.driver-hint-pulse{animation:none}}.driver-hint-popover .driver-popover-arrow{border-width:7px}.driver-hint-popover.driver-popover{box-shadow:none;filter:drop-shadow(0 1px 4px #00000040)drop-shadow(0 4px 12px #0003)}.driver-hint-overlay{z-index:999999997;pointer-events:none;width:100%;height:100%;animation:.2s ease-out driver-hint-overlay-fade;position:fixed;inset:0}@keyframes driver-hint-overlay-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.driver-hint-overlay{animation:none}}.driver-active .driver-hint{display:none}
@@ -0,0 +1,2 @@
1
+ var driverHints=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=[`pointerdown`,`mousedown`,`pointerup`,`mouseup`,`click`],n=new WeakMap;function r(e,r,a){i(e);let o=t=>{let n=t.target;e.contains(n)&&((!a||a(n))&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),t.type===`click`&&r?.(t))};for(let e of t)document.addEventListener(e,o,!0);n.set(e,o)}function i(e){let r=n.get(e);if(r){for(let e of t)document.removeEventListener(e,r,!0);n.delete(e)}}function a(e,t){let n=e.wrapper.getBoundingClientRect();return{width:n.width+t,height:n.height+t,realWidth:n.width,realHeight:n.height}}function o(e,t){let{elementDimensions:n,popoverDimensions:r,popoverPadding:i,popoverArrowDimensions:a}=t;return e===`start`?Math.max(Math.min(n.top-i,window.innerHeight-r.realHeight-a.width),a.width):e===`end`?Math.max(Math.min(n.top-r?.realHeight+n.height+i,window.innerHeight-r?.realHeight-a.width),a.width):e===`center`?Math.max(Math.min(n.top+n.height/2-r?.realHeight/2,window.innerHeight-r?.realHeight-a.width),a.width):0}function s(e,t){let{elementDimensions:n,popoverDimensions:r,popoverPadding:i,popoverArrowDimensions:a}=t;return e===`start`?Math.max(Math.min(n.left-i,window.innerWidth-r.realWidth-a.width),a.width):e===`end`?Math.max(Math.min(n.left-r?.realWidth+n.width+i,window.innerWidth-r?.realWidth-a.width),a.width):e===`center`?Math.max(Math.min(n.left+n.width/2-r?.realWidth/2,window.innerWidth-r?.realWidth-a.width),a.width):0}function c(e,t,n){let{align:r,side:i}=n,c=n.centered?`over`:i,l=n.padding,u=a(e,n.offset),d=e.arrow.getBoundingClientRect(),p=t.getBoundingClientRect(),m=p.top-u.height,h=m>=0,g=window.innerHeight-(p.bottom+u.height),_=g>=0,v=p.left-u.width,y=v>=0,b=window.innerWidth-(p.right+u.width),x=b>=0,S=!h&&!_&&!y&&!x,C=c;if(c===`top`&&h?x=y=_=!1:c===`bottom`&&_?x=y=h=!1:c===`left`&&y?x=h=_=!1:c===`right`&&x&&(y=h=_=!1),c===`over`){let t=window.innerWidth/2-u.realWidth/2,n=window.innerHeight/2-u.realHeight/2;e.wrapper.style.left=`${t}px`,e.wrapper.style.right=`auto`,e.wrapper.style.top=`${n}px`,e.wrapper.style.bottom=`auto`}else if(S){let t=window.innerWidth/2-u?.realWidth/2;e.wrapper.style.left=`${t}px`,e.wrapper.style.right=`auto`,e.wrapper.style.bottom=`10px`,e.wrapper.style.top=`auto`}else if(y){let t=Math.min(v,window.innerWidth-u?.realWidth-d.width),n=o(r,{elementDimensions:p,popoverDimensions:u,popoverPadding:l,popoverArrowDimensions:d});e.wrapper.style.left=`${t}px`,e.wrapper.style.top=`${n}px`,e.wrapper.style.bottom=`auto`,e.wrapper.style.right=`auto`,C=`left`}else if(x){let t=Math.min(b,window.innerWidth-u?.realWidth-d.width),n=o(r,{elementDimensions:p,popoverDimensions:u,popoverPadding:l,popoverArrowDimensions:d});e.wrapper.style.right=`${t}px`,e.wrapper.style.top=`${n}px`,e.wrapper.style.bottom=`auto`,e.wrapper.style.left=`auto`,C=`right`}else if(h){let t=Math.min(m,window.innerHeight-u.realHeight-d.width),n=s(r,{elementDimensions:p,popoverDimensions:u,popoverPadding:l,popoverArrowDimensions:d});e.wrapper.style.top=`${t}px`,e.wrapper.style.left=`${n}px`,e.wrapper.style.bottom=`auto`,e.wrapper.style.right=`auto`,C=`top`}else if(_){let t=Math.min(g,window.innerHeight-u?.realHeight-d.width),n=s(r,{elementDimensions:p,popoverDimensions:u,popoverPadding:l,popoverArrowDimensions:d});e.wrapper.style.left=`${n}px`,e.wrapper.style.bottom=`${t}px`,e.wrapper.style.top=`auto`,e.wrapper.style.right=`auto`,C=`bottom`}f(e,S?`over`:C,r,t),[...e.wrapper.classList].filter(e=>e.startsWith(`driver-popover-side-`)||e.startsWith(`driver-popover-align-`)).forEach(t=>e.wrapper.classList.remove(t)),e.wrapper.classList.add(`driver-popover-side-${C}`),e.wrapper.classList.add(`driver-popover-align-${r}`)}function l(e,t,n,r,i,a=10){let o=r-n;return e<=n&&t>=r?i===`start`?15+a/2:i===`end`?o-15-a/2:o/2:(Math.min(Math.max(e,n),r)+Math.min(Math.max(t,n),r))/2-n}function u(e,t,n=10){let r=t-15-n;if(r<15)return Math.max(0,(t-n)/2);let i=e-n/2;return Math.min(Math.max(i,15),r)}function d(e,t,n){return e===`left`||e===`right`?t.bottom>n.top&&t.top<n.bottom?e:t.bottom<=n.top?`bottom`:`top`:t.right>n.left&&t.left<n.right?e:t.right<=n.left?`right`:`left`}function f(e,t,n,r){let i=e.arrow;if(i.className=`driver-popover-arrow`,i.style.top=``,i.style.right=``,i.style.bottom=``,i.style.left=``,t===`over`){i.classList.add(`driver-popover-arrow-none`);return}let a=r.getBoundingClientRect(),o=e.wrapper.getBoundingClientRect(),s=d(t,a,o);i.classList.add(`driver-popover-arrow-side-${s}`);let c=i.getBoundingClientRect().width||10;if(s===`left`||s===`right`){let e=l(a.top,a.bottom,o.top,o.bottom,n,c);i.style.top=`${u(e,o.height,c)}px`}else{let e=l(a.left,a.right,o.left,o.right,n,c);i.style.left=`${u(e,o.width,c)}px`}}function p(e){return typeof e==`function`?e():typeof e==`string`?document.querySelector(e):e}function m(e){let t=`a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])`;return e.flatMap(e=>{let n=e.matches(t),r=Array.from(e.querySelectorAll(t));return[...n?[e]:[],...r]}).filter(e=>getComputedStyle(e).pointerEvents!==`none`&&v(e))}function h(e,t){if(!e||_(e))return;let n=e.offsetHeight>window.innerHeight;e.scrollIntoView({behavior:!t||g(e)?`auto`:`smooth`,inline:`center`,block:n?`start`:`center`})}function g(e){if(!e||!e.parentElement)return;let t=e.parentElement;return t.scrollHeight>t.clientHeight}function _(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}function v(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function y(e){e&&(e.wrapper.style.display=`none`)}function b(e,t){let n=S();document.body.appendChild(n.wrapper);let{title:i,description:a,showButtons:o,disableButtons:s,showProgress:l,nextBtnText:u,prevBtnText:d,progressText:f}=t;n.nextButton.innerHTML=u,n.previousButton.innerHTML=d,n.progress.innerHTML=f,n.closeButton.setAttribute(`aria-label`,t.closeBtnLabel),t.doneButton&&n.nextButton.classList.add(`driver-popover-done-btn`),i?(n.title.innerHTML=i,n.title.style.display=`block`):n.title.style.display=`none`,a?(n.description.innerHTML=a,n.description.style.display=`block`):n.description.style.display=`none`;let p=o.includes(`next`)||o.includes(`previous`)||l;n.closeButton.style.display=o.includes(`close`)?`block`:`none`,p?(n.footer.style.display=`flex`,n.progress.style.display=l?`block`:`none`,n.nextButton.style.display=o.includes(`next`)?`block`:`none`,n.previousButton.style.display=o.includes(`previous`)?`block`:`none`):n.footer.style.display=`none`,s.includes(`next`)&&(n.nextButton.disabled=!0,n.nextButton.classList.add(`driver-popover-btn-disabled`)),s.includes(`previous`)&&(n.previousButton.disabled=!0,n.previousButton.classList.add(`driver-popover-btn-disabled`)),s.includes(`close`)&&(n.closeButton.disabled=!0,n.closeButton.classList.add(`driver-popover-btn-disabled`));let g=n.wrapper;g.style.display=`block`,g.style.left=``,g.style.top=``,g.style.bottom=``,g.style.right=``,g.id=`driver-popover-content`,g.setAttribute(`role`,`dialog`),g.setAttribute(`aria-labelledby`,`driver-popover-title`),g.setAttribute(`aria-describedby`,`driver-popover-description`);let _=n.arrow;_.className=`driver-popover-arrow`,g.className=`driver-popover ${t.popoverClass||``}`.trim(),r(n.wrapper,e=>{let n=e.target;if(n.closest(`.driver-popover-next-btn`))return t.onNextClick?.();if(n.closest(`.driver-popover-prev-btn`))return t.onPrevClick?.();if(n.closest(`.driver-popover-close-btn`))return t.onCloseClick?.()},e=>n.description.contains(e)||n.title.contains(e)?!1:!!e.closest(`.driver-popover-prev-btn, .driver-popover-next-btn, .driver-popover-close-btn`)),t.onRender?.(n),c(n,e,t.position),x(n,e,t.position),h(g,t.smoothScroll);let v=m([g,e]);return v.length>0&&v[0].focus(),n}function x(e,t,n){e.wrapper.querySelectorAll(`img`).forEach(r=>{if(r.complete)return;let i=()=>c(e,t,n);r.addEventListener(`load`,i,{once:!0}),r.addEventListener(`error`,i,{once:!0})})}function S(){let e=document.createElement(`div`);e.classList.add(`driver-popover`);let t=document.createElement(`div`);t.classList.add(`driver-popover-arrow`);let n=document.createElement(`header`);n.id=`driver-popover-title`,n.classList.add(`driver-popover-title`),n.style.display=`none`,n.innerText=`Popover Title`;let r=document.createElement(`div`);r.id=`driver-popover-description`,r.classList.add(`driver-popover-description`),r.style.display=`none`,r.innerText=`Popover description is here`;let i=document.createElement(`button`);i.type=`button`,i.classList.add(`driver-popover-close-btn`),i.innerHTML=`&times;`;let a=document.createElement(`footer`);a.classList.add(`driver-popover-footer`);let o=document.createElement(`span`);o.classList.add(`driver-popover-progress-text`),o.innerText=``;let s=document.createElement(`span`);s.classList.add(`driver-popover-navigation-btns`);let c=document.createElement(`button`);c.type=`button`,c.classList.add(`driver-popover-prev-btn`,`driver-popover-footer-btn`),c.innerHTML=`Previous`;let l=document.createElement(`button`);return l.type=`button`,l.classList.add(`driver-popover-next-btn`,`driver-popover-footer-btn`),l.innerHTML=`Next`,s.appendChild(c),s.appendChild(l),a.appendChild(o),a.appendChild(s),e.appendChild(i),e.appendChild(t),e.appendChild(n),e.appendChild(r),e.appendChild(a),{wrapper:e,arrow:t,title:n,description:r,footer:a,previousButton:c,nextButton:l,closeButton:i,footerButtons:s,progress:o}}function C(e){e&&(i(e.wrapper),e.wrapper.parentElement?.removeChild(e.wrapper))}function w(e,t){let n=window.innerWidth,r=window.innerHeight,i=t.padding,a=t.radius,o=e.width+i*2,s=e.height+i*2,c=Math.min(a,o/2,s/2),l=Math.floor(Math.max(c,0)),u=e.x-i+l,d=e.y-i,f=o-l*2,p=s-l*2;return`M${n},0L0,0L0,${r}L${n},${r}L${n},0Z
2
+ M${u},${d} h${f} a${l},${l} 0 0 1 ${l},${l} v${p} a${l},${l} 0 0 1 -${l},${l} h-${f} a${l},${l} 0 0 1 -${l},-${l} v-${p} a${l},${l} 0 0 1 ${l},-${l} z`}function T(e={}){let t={...e},n=new Set,r=[],i=[],a,o,s,l,u=!1;function d(e,t){return e.id??`${t}`}function f(e){return r.find(t=>t.id===`${e}`)}function m(e){return{...t.beacon,...e.beacon}}function h(e,t){let n=document.createElement(`button`),{animate:r,className:i}=m(e);n.type=`button`,n.className=`driver-hint ${i||``}`.trim(),r===!1&&n.classList.add(`driver-hint-no-animation`),n.setAttribute(`aria-label`,e.popover?.title||`Show hint`),n.setAttribute(`aria-haspopup`,`dialog`),n.setAttribute(`aria-expanded`,`false`);let a=document.createElement(`span`);a.className=`driver-hint-pulse`;let o=document.createElement(`span`);return o.className=`driver-hint-dot`,n.appendChild(a),n.appendChild(o),n.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),I(t)}),n}function g(e){let{side:t=`top`,align:n=`end`,offsetX:r=0,offsetY:i=0}=m(e.hint),a=e.element.getBoundingClientRect(),o,s;t===`top`||t===`bottom`?(o=t===`top`?a.top:a.bottom,s=n===`start`?a.left:n===`center`?a.left+a.width/2:a.right):(s=t===`left`?a.left:a.right,o=n===`start`?a.top:n===`center`?a.top+a.height/2:a.bottom),e.beacon.style.top=`${o+i}px`,e.beacon.style.left=`${s+r}px`}function _(e){typeof IntersectionObserver>`u`||(e.observer=new IntersectionObserver(([t])=>{e.beacon.classList.toggle(`driver-hint-hidden`,!t.isIntersecting),!t.isIntersecting&&a===e.id&&P()}),e.observer.observe(e.element))}function v(e,t){let n=p(e.element);if(!n)return;let i=h(e,t);document.body.appendChild(i);let a={hint:e,id:t,element:n,beacon:i};r.push(a),g(a),_(a)}function x(){(t.hints||[]).forEach((e,t)=>{let r=d(e,t);n.has(r)||f(r)||v(e,r)})}function S(){r.forEach(e=>{e.observer?.disconnect(),e.beacon.remove()}),r=[]}function T(){l&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>B())}function E(){let e=e=>{if(!a)return;let t=e.target;o?.wrapper.contains(t)||r.some(e=>e.beacon.contains(t))||P()},t=e=>{if(e.key!==`Escape`||!a)return;let t=f(a)?.beacon;P(),t?.focus()};if(window.addEventListener(`scroll`,T,!0),window.addEventListener(`resize`,T),document.addEventListener(`click`,e),window.addEventListener(`keyup`,t),i=[()=>window.removeEventListener(`scroll`,T,!0),()=>window.removeEventListener(`resize`,T),()=>document.removeEventListener(`click`,e),()=>window.removeEventListener(`keyup`,t)],typeof MutationObserver>`u`)return;let n=new MutationObserver(()=>{document.body.classList.contains(`driver-active`)&&P()});n.observe(document.body,{attributes:!0,attributeFilter:[`class`]}),i.push(()=>n.disconnect())}function D(e){return t.overlay?e.element:e.beacon}function O(e){let n=e.hint.popover?.side||`bottom`,r=e.hint.popover?.align||`start`,i=t.popoverOffset??10;return t.overlay?{side:n,align:r,offset:10+i,padding:10}:{side:n,align:r,offset:i,padding:22-e.beacon.getBoundingClientRect().width/2}}function k(e){let t=e.getBoundingClientRect();return w({x:t.x,y:t.y,width:t.width,height:t.height},{padding:10,radius:5})}function A(e){if(!t.overlay||s)return;let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);n.setAttribute(`class`,`driver-hint-overlay`),n.setAttribute(`viewBox`,`0 0 ${window.innerWidth} ${window.innerHeight}`),n.setAttribute(`preserveAspectRatio`,`xMinYMin slice`),n.style.fillRule=`evenodd`;let r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);r.setAttribute(`d`,k(e.element)),r.style.fill=t.overlayColor||`#000`,r.style.opacity=`${t.overlayOpacity??.7}`,r.style.pointerEvents=`auto`,n.appendChild(r),document.body.appendChild(n),s=n}function j(e){s&&(s.setAttribute(`viewBox`,`0 0 ${window.innerWidth} ${window.innerHeight}`),s.firstElementChild?.setAttribute(`d`,k(e.element)))}function M(){s?.remove(),s=void 0}function N(e){let n=e.hint.popover||{},r=n.showButton??!0;return{title:n.title,description:n.description,showButtons:r?[`next`]:[],disableButtons:[],showProgress:!1,progressText:``,nextBtnText:n.buttonText??t.buttonText??`Got it`,prevBtnText:``,closeBtnLabel:`Close`,popoverClass:`driver-hint-popover ${n.popoverClass||t.popoverClass||``}`.trim(),onNextClick:()=>{let r=n.onButtonClick||t.onButtonClick;if(r)return r(e.element,e.hint,{config:t,hints:W});L(e.id)},onRender:t=>n.onPopoverRender?.(t,{hint:e.hint,hints:W}),position:O(e)}}function P(){if(!o)return;let e=f(a);e&&(e.beacon.setAttribute(`aria-expanded`,`false`),e.beacon.style.display=``),C(o),o=void 0,a=void 0,M()}function F(e){let n=f(e);n&&(P(),a=n.id,n.beacon.setAttribute(`aria-expanded`,`true`),A(n),t.overlay&&(n.beacon.style.display=`none`),o=b(D(n),N(n)),(n.hint.onOpen||t.onOpen)?.(n.element,n.hint,{config:t,hints:W}))}function I(e){if(a===`${e}`){P();return}F(e)}function L(e){let i=f(e);i&&(a===i.id&&P(),n.add(i.id),i.observer?.disconnect(),i.beacon.remove(),r=r.filter(e=>e!==i),(i.hint.onDismiss||t.onDismiss)?.(i.element,i.hint,{config:t,hints:W}))}function R(e){let r=`${e}`;if(!n.delete(r)||!u||f(r))return;let i=t.hints||[],a=i.findIndex((e,t)=>d(e,t)===r);a!==-1&&v(i[a],r)}function z(){n.clear(),u&&x()}function B(){r.forEach(g);let e=a?f(a):void 0;!e||!o||(c(o,D(e),O(e)),j(e),e.beacon.classList.contains(`driver-hint-hidden`)&&y(o))}function V(){u||(u=!0,E()),x(),B()}function H(){u&&(u=!1,P(),S(),i.forEach(e=>e()),i=[],l&&(window.cancelAnimationFrame(l),l=void 0))}function U(e){t.hints=e,n.clear(),u&&(P(),S(),x())}let W={show:V,hide:H,open:F,close:P,dismiss:L,restore:R,restoreAll:z,setHints:U,getHints:()=>t.hints||[],getActive:()=>a?f(a)?.hint:void 0,isVisible:()=>u,refresh:B};return W}return e.hints=T,e})({});
package/dist/dashboard.js CHANGED
@@ -27,12 +27,12 @@ import path from 'node:path';
27
27
  import { fileURLToPath } from 'node:url';
28
28
  import { decayedScore, isKnown, isOwed, MS_PER_DAY } from './srs.js';
29
29
  import { correctionStates, correctionTarget, CorrectionError, GLOBAL_PROJECT, levelStanding, PASSING_GRADE, projectKey, recordRetry, } from './store.js';
30
- import { randomBytes, timingSafeEqual } from 'node:crypto';
30
+ import { createHash, randomBytes, timingSafeEqual } from 'node:crypto';
31
31
  import { loadConfig, loadGlobalConfig, DEFAULT_CONFIG, configFileProblem, isGlobalOnlyKey, mainRepoRoot, readConfigFile, normalizeLegacyKeys, } from './config.js';
32
32
  import { applySetting, knownKeys, SETTING_RULES, valueAt } from './config-path.js';
33
33
  import { dashboardPort, dbPath, DEFAULT_PORT, eklavyaHome, globalConfigPath, projectConfigPath } from './paths.js';
34
34
  import { ownVersion } from './dashboard-daemon.js';
35
- import { artifactThumb, listArtifacts, resolveArtifact } from './artifacts.js';
35
+ import { artifactsStamp, artifactThumb, listArtifacts, resolveArtifact } from './artifacts.js';
36
36
  import { LIMITS } from './tools/types.js';
37
37
  import { DELIVERED, NOT_HELPER_RECEIPT, readTotals, receiptTotals, totalsDelivery } from './memory/store.js';
38
38
  import { ESTIMATOR, savingsFrom, savingsLine } from './memory/tokens.js';
@@ -547,6 +547,27 @@ export function projectInventory(db) {
547
547
  aliases[raw] = id;
548
548
  return { projects, aliases, sessions: sessionProjects };
549
549
  }
550
+ /**
551
+ * What an open page polls to notice that work landed while it was reading it
552
+ * (PRD DASH-01), served alone at `/api/cursor` so a poll builds no payload.
553
+ *
554
+ * Three parts, one per place the page's content comes from:
555
+ * - `change_version` (migration 021), which triggers move on every write to a
556
+ * table the page shows. In-place edits count: a session summary rewritten
557
+ * as the session runs, a receipt delivered, a memory read logged.
558
+ * - The effective config, hashed: the dials the page prints.
559
+ * - The artifact files' count, total size and newest mtime (`artifactsStamp`).
560
+ *
561
+ * Deliberately not `generated_at`, and not a hash of the payload: both change
562
+ * on every call -- scores are decayed against the clock -- and a page that
563
+ * announces new activity every minute is a page whose banner is ignored inside
564
+ * a day. Not watched: the prune stamp and spool drop count in the health panel.
565
+ */
566
+ export function changeCursor(db, config = readConfig()) {
567
+ const version = one(db, 'SELECT n FROM change_version WHERE id = 1').n;
568
+ const dials = createHash('sha256').update(JSON.stringify(config)).digest('hex').slice(0, 12);
569
+ return `${version}:${dials}:${artifactsStamp()}`;
570
+ }
550
571
  /** One entry with its tags, its raw evidence and the candidates it proposed. */
551
572
  export function memoryEntry(db, id) {
552
573
  const entry = one(db, 'SELECT * FROM memory_entries WHERE id = ?', id);
@@ -580,6 +601,9 @@ export function memoryEntry(db, id) {
580
601
  export function dashboardState(db) {
581
602
  const now = new Date();
582
603
  const config = readConfig();
604
+ // First, before any of the payload is read: a write that lands while it is
605
+ // being built then shows as a notice on the next poll, never as a miss.
606
+ const cursor = changeCursor(db, config);
583
607
  // One row per calendar day per project, split three ways. `grade >= 3` is the
584
608
  // same pass line the level ladder uses, so the chart and the promotion agree.
585
609
  const daily = db
@@ -772,33 +796,7 @@ export function dashboardState(db) {
772
796
  return {
773
797
  generated_at: now.toISOString(),
774
798
  db_path: dbPath(),
775
- /**
776
- * What an open page polls to notice that work landed while it was reading
777
- * it (PRD DASH-01). Counts of rows the payload already carries, so it costs
778
- * no extra query and moves exactly when the page's content does.
779
- *
780
- * Deliberately not `generated_at`, and not a hash of the payload: both
781
- * change on every call — scores are decayed against the clock — and a page
782
- * that announces new activity every minute is a page whose banner is
783
- * ignored inside a day.
784
- *
785
- * Ceiling: counts cannot see an edit that leaves the counts alone. Every
786
- * such edit here (a superseded entry, a deleted one) moves a *different*
787
- * count in this list, so the gap is theoretical today; a real event cursor
788
- * is the upgrade if that stops being true.
789
- */
790
- cursor: [
791
- allTime.answers,
792
- allTime.corrected,
793
- logged.length,
794
- sessionCount,
795
- memory.captured,
796
- memory.processed,
797
- memory.entries_total,
798
- memory.superseded,
799
- memory.deleted,
800
- reuse.receipts,
801
- ].join(':'),
799
+ cursor,
802
800
  timeline_days: TIMELINE_DAYS,
803
801
  attempts_shown: attempts.length,
804
802
  attempts_total: allTime.answers,
@@ -1291,6 +1289,8 @@ const MANIFEST = JSON.stringify({
1291
1289
  });
1292
1290
  /** Served from the bundled assets as-is; copied in from `web/public` at build. */
1293
1291
  const APP_ICONS = new Set(['/icon-192.png', '/icon-512.png', '/apple-touch-icon.png']);
1292
+ /** The tips library, copied from node_modules at build by `copy-assets.mjs`. */
1293
+ const VENDOR = { '/vendor/driver-hints.js': 'text/javascript', '/vendor/driver-hints.css': 'text/css' };
1294
1294
  function send(res, status, type, body, extra = {}) {
1295
1295
  res.writeHead(status, {
1296
1296
  'content-type': type,
@@ -1432,6 +1432,9 @@ export function startDashboard(db, opts = {}) {
1432
1432
  if (url.pathname === '/api/settings') {
1433
1433
  return send(res, 200, 'application/json', JSON.stringify(settingsState(db, url.searchParams.get('project'))));
1434
1434
  }
1435
+ if (url.pathname === '/api/cursor') {
1436
+ return send(res, 200, 'application/json', JSON.stringify({ cursor: changeCursor(db) }));
1437
+ }
1435
1438
  if (url.pathname === '/api/state') {
1436
1439
  return send(res, 200, 'application/json', JSON.stringify(dashboardState(db)));
1437
1440
  }
@@ -1507,6 +1510,12 @@ export function startDashboard(db, opts = {}) {
1507
1510
  if (APP_ICONS.has(url.pathname)) {
1508
1511
  return send(res, 200, 'image/png', fs.readFileSync(path.join(assets, url.pathname.slice(1))));
1509
1512
  }
1513
+ const vendor = VENDOR[url.pathname];
1514
+ if (vendor) {
1515
+ return send(res, 200, vendor, fs.readFileSync(path.join(assets, url.pathname.slice(1))), {
1516
+ 'cache-control': 'max-age=3600',
1517
+ });
1518
+ }
1510
1519
  if (url.pathname === '/tokens.css') {
1511
1520
  return send(res, 200, 'text/css', localTokens(fs.readFileSync(path.join(assets, 'tokens.css'), 'utf8')));
1512
1521
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ -- A change counter for the dashboard's stale-data notice.
2
+ --
3
+ -- An open dashboard polls to learn whether work landed since it loaded. It
4
+ -- used to compare a handful of row counts, and a count cannot see a row that
5
+ -- changes in place: a session summary is rewritten as the session runs
6
+ -- (`replaceEntry`), a receipt moves from prepared to delivered, a candidate is
7
+ -- accepted. The page kept showing the old next steps with no notice.
8
+ --
9
+ -- `change_version.n` moves on every insert, update and delete of a table the
10
+ -- dashboard displays, from whichever process writes it: hooks, the MCP server,
11
+ -- the worker, the CLI. The poll reads one integer. It never moves on a read,
12
+ -- so an unchanged database never raises the notice.
13
+ --
14
+ -- Left out on purpose: `meta` (schema and seed bookkeeping), `usage_counts`,
15
+ -- sync and import bookkeeping, checkpoints and stop markers, collections, and
16
+ -- `memory_batches` -- none of them is on the page. Two tables are narrowed:
17
+ -- `gates` is upserted on every turn but the page reads only its `repo`, and a
18
+ -- `memory_jobs` lease renewal is not a change the queue counts show.
19
+ CREATE TABLE IF NOT EXISTS change_version (
20
+ id INTEGER PRIMARY KEY CHECK (id = 1),
21
+ n INTEGER NOT NULL
22
+ );
23
+ INSERT OR IGNORE INTO change_version (id, n) VALUES (1, 0);
24
+
25
+ CREATE TRIGGER IF NOT EXISTS change_version_attempts_i AFTER INSERT ON attempts
26
+ BEGIN UPDATE change_version SET n = n + 1; END;
27
+ CREATE TRIGGER IF NOT EXISTS change_version_attempts_u AFTER UPDATE ON attempts
28
+ BEGIN UPDATE change_version SET n = n + 1; END;
29
+ CREATE TRIGGER IF NOT EXISTS change_version_attempts_d AFTER DELETE ON attempts
30
+ BEGIN UPDATE change_version SET n = n + 1; END;
31
+
32
+ CREATE TRIGGER IF NOT EXISTS change_version_attempt_retries_i AFTER INSERT ON attempt_retries
33
+ BEGIN UPDATE change_version SET n = n + 1; END;
34
+ CREATE TRIGGER IF NOT EXISTS change_version_attempt_retries_u AFTER UPDATE ON attempt_retries
35
+ BEGIN UPDATE change_version SET n = n + 1; END;
36
+ CREATE TRIGGER IF NOT EXISTS change_version_attempt_retries_d AFTER DELETE ON attempt_retries
37
+ BEGIN UPDATE change_version SET n = n + 1; END;
38
+
39
+ CREATE TRIGGER IF NOT EXISTS change_version_concepts_i AFTER INSERT ON concepts
40
+ BEGIN UPDATE change_version SET n = n + 1; END;
41
+ CREATE TRIGGER IF NOT EXISTS change_version_concepts_u AFTER UPDATE ON concepts
42
+ BEGIN UPDATE change_version SET n = n + 1; END;
43
+ CREATE TRIGGER IF NOT EXISTS change_version_concepts_d AFTER DELETE ON concepts
44
+ BEGIN UPDATE change_version SET n = n + 1; END;
45
+
46
+ CREATE TRIGGER IF NOT EXISTS change_version_edges_i AFTER INSERT ON edges
47
+ BEGIN UPDATE change_version SET n = n + 1; END;
48
+ CREATE TRIGGER IF NOT EXISTS change_version_edges_u AFTER UPDATE ON edges
49
+ BEGIN UPDATE change_version SET n = n + 1; END;
50
+ CREATE TRIGGER IF NOT EXISTS change_version_edges_d AFTER DELETE ON edges
51
+ BEGIN UPDATE change_version SET n = n + 1; END;
52
+
53
+ CREATE TRIGGER IF NOT EXISTS change_version_mastery_i AFTER INSERT ON mastery
54
+ BEGIN UPDATE change_version SET n = n + 1; END;
55
+ CREATE TRIGGER IF NOT EXISTS change_version_mastery_u AFTER UPDATE ON mastery
56
+ BEGIN UPDATE change_version SET n = n + 1; END;
57
+ CREATE TRIGGER IF NOT EXISTS change_version_mastery_d AFTER DELETE ON mastery
58
+ BEGIN UPDATE change_version SET n = n + 1; END;
59
+
60
+ CREATE TRIGGER IF NOT EXISTS change_version_session_concepts_i AFTER INSERT ON session_concepts
61
+ BEGIN UPDATE change_version SET n = n + 1; END;
62
+ CREATE TRIGGER IF NOT EXISTS change_version_session_concepts_u AFTER UPDATE ON session_concepts
63
+ BEGIN UPDATE change_version SET n = n + 1; END;
64
+ CREATE TRIGGER IF NOT EXISTS change_version_session_concepts_d AFTER DELETE ON session_concepts
65
+ BEGIN UPDATE change_version SET n = n + 1; END;
66
+
67
+ CREATE TRIGGER IF NOT EXISTS change_version_project_levels_i AFTER INSERT ON project_levels
68
+ BEGIN UPDATE change_version SET n = n + 1; END;
69
+ CREATE TRIGGER IF NOT EXISTS change_version_project_levels_u AFTER UPDATE ON project_levels
70
+ BEGIN UPDATE change_version SET n = n + 1; END;
71
+ CREATE TRIGGER IF NOT EXISTS change_version_project_levels_d AFTER DELETE ON project_levels
72
+ BEGIN UPDATE change_version SET n = n + 1; END;
73
+
74
+ CREATE TRIGGER IF NOT EXISTS change_version_context_receipts_i AFTER INSERT ON context_receipts
75
+ BEGIN UPDATE change_version SET n = n + 1; END;
76
+ CREATE TRIGGER IF NOT EXISTS change_version_context_receipts_u AFTER UPDATE ON context_receipts
77
+ BEGIN UPDATE change_version SET n = n + 1; END;
78
+ CREATE TRIGGER IF NOT EXISTS change_version_context_receipts_d AFTER DELETE ON context_receipts
79
+ BEGIN UPDATE change_version SET n = n + 1; END;
80
+
81
+ CREATE TRIGGER IF NOT EXISTS change_version_context_receipt_items_i AFTER INSERT ON context_receipt_items
82
+ BEGIN UPDATE change_version SET n = n + 1; END;
83
+ CREATE TRIGGER IF NOT EXISTS change_version_context_receipt_items_u AFTER UPDATE ON context_receipt_items
84
+ BEGIN UPDATE change_version SET n = n + 1; END;
85
+ CREATE TRIGGER IF NOT EXISTS change_version_context_receipt_items_d AFTER DELETE ON context_receipt_items
86
+ BEGIN UPDATE change_version SET n = n + 1; END;
87
+
88
+ CREATE TRIGGER IF NOT EXISTS change_version_evidence_events_i AFTER INSERT ON evidence_events
89
+ BEGIN UPDATE change_version SET n = n + 1; END;
90
+ CREATE TRIGGER IF NOT EXISTS change_version_evidence_events_u AFTER UPDATE ON evidence_events
91
+ BEGIN UPDATE change_version SET n = n + 1; END;
92
+ CREATE TRIGGER IF NOT EXISTS change_version_evidence_events_d AFTER DELETE ON evidence_events
93
+ BEGIN UPDATE change_version SET n = n + 1; END;
94
+
95
+ CREATE TRIGGER IF NOT EXISTS change_version_learning_sources_i AFTER INSERT ON learning_sources
96
+ BEGIN UPDATE change_version SET n = n + 1; END;
97
+ CREATE TRIGGER IF NOT EXISTS change_version_learning_sources_u AFTER UPDATE ON learning_sources
98
+ BEGIN UPDATE change_version SET n = n + 1; END;
99
+ CREATE TRIGGER IF NOT EXISTS change_version_learning_sources_d AFTER DELETE ON learning_sources
100
+ BEGIN UPDATE change_version SET n = n + 1; END;
101
+
102
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entries_i AFTER INSERT ON memory_entries
103
+ BEGIN UPDATE change_version SET n = n + 1; END;
104
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entries_u AFTER UPDATE ON memory_entries
105
+ BEGIN UPDATE change_version SET n = n + 1; END;
106
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entries_d AFTER DELETE ON memory_entries
107
+ BEGIN UPDATE change_version SET n = n + 1; END;
108
+
109
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entry_tags_i AFTER INSERT ON memory_entry_tags
110
+ BEGIN UPDATE change_version SET n = n + 1; END;
111
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entry_tags_u AFTER UPDATE ON memory_entry_tags
112
+ BEGIN UPDATE change_version SET n = n + 1; END;
113
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entry_tags_d AFTER DELETE ON memory_entry_tags
114
+ BEGIN UPDATE change_version SET n = n + 1; END;
115
+
116
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entry_events_i AFTER INSERT ON memory_entry_events
117
+ BEGIN UPDATE change_version SET n = n + 1; END;
118
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entry_events_u AFTER UPDATE ON memory_entry_events
119
+ BEGIN UPDATE change_version SET n = n + 1; END;
120
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_entry_events_d AFTER DELETE ON memory_entry_events
121
+ BEGIN UPDATE change_version SET n = n + 1; END;
122
+
123
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_vectors_i AFTER INSERT ON memory_vectors
124
+ BEGIN UPDATE change_version SET n = n + 1; END;
125
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_vectors_u AFTER UPDATE ON memory_vectors
126
+ BEGIN UPDATE change_version SET n = n + 1; END;
127
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_vectors_d AFTER DELETE ON memory_vectors
128
+ BEGIN UPDATE change_version SET n = n + 1; END;
129
+
130
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_reads_i AFTER INSERT ON memory_reads
131
+ BEGIN UPDATE change_version SET n = n + 1; END;
132
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_reads_u AFTER UPDATE ON memory_reads
133
+ BEGIN UPDATE change_version SET n = n + 1; END;
134
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_reads_d AFTER DELETE ON memory_reads
135
+ BEGIN UPDATE change_version SET n = n + 1; END;
136
+
137
+ CREATE TRIGGER IF NOT EXISTS change_version_gates_i AFTER INSERT ON gates
138
+ BEGIN UPDATE change_version SET n = n + 1; END;
139
+ CREATE TRIGGER IF NOT EXISTS change_version_gates_u AFTER UPDATE ON gates
140
+ WHEN old.repo IS NOT new.repo BEGIN UPDATE change_version SET n = n + 1; END;
141
+ CREATE TRIGGER IF NOT EXISTS change_version_gates_d AFTER DELETE ON gates
142
+ BEGIN UPDATE change_version SET n = n + 1; END;
143
+
144
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_jobs_i AFTER INSERT ON memory_jobs
145
+ BEGIN UPDATE change_version SET n = n + 1; END;
146
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_jobs_u AFTER UPDATE ON memory_jobs
147
+ WHEN old.status IS NOT new.status OR old.error_class IS NOT new.error_class
148
+ BEGIN UPDATE change_version SET n = n + 1; END;
149
+ CREATE TRIGGER IF NOT EXISTS change_version_memory_jobs_d AFTER DELETE ON memory_jobs
150
+ BEGIN UPDATE change_version SET n = n + 1; END;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eklavya",
3
3
  "displayName": "Eklavya",
4
- "version": "1.47.5",
4
+ "version": "1.48.0",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eklavya",
3
- "version": "1.47.5",
3
+ "version": "1.48.0",
4
4
  "description": "Learn while your agent works — local knowledge graph, spaced repetition, and quiz gating for agent-assisted development.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -56,6 +56,7 @@
56
56
  "@types/better-sqlite3": "^7.6.11",
57
57
  "@types/node": "^22.0.0",
58
58
  "c8": "^12.0.0",
59
+ "driver.js": "1.9.0",
59
60
  "playwright-core": "^1.63.0",
60
61
  "tsx": "^4.19.0",
61
62
  "typescript": "^5.6.0",