eklavya 1.25.3 → 1.27.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.
Files changed (46) hide show
  1. package/dist/artifacts.js +214 -0
  2. package/dist/artifacts.js.map +1 -0
  3. package/dist/assets/artifact-template.html +144 -0
  4. package/dist/assets/dashboard.html +119 -2
  5. package/dist/assets/tutor/SKILL.md +7 -0
  6. package/dist/cli-memory.js +6 -3
  7. package/dist/cli-memory.js.map +1 -1
  8. package/dist/cli.js +185 -5
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.js +10 -2
  11. package/dist/config.js.map +1 -1
  12. package/dist/dashboard.js +41 -1
  13. package/dist/dashboard.js.map +1 -1
  14. package/dist/hooks/memory-lib.js +1 -1
  15. package/dist/hooks/memory-lib.js.map +1 -1
  16. package/dist/hooks/session-start.js +34 -3
  17. package/dist/hooks/session-start.js.map +1 -1
  18. package/dist/install-lock.js +155 -0
  19. package/dist/install-lock.js.map +1 -0
  20. package/dist/install.js +82 -60
  21. package/dist/install.js.map +1 -1
  22. package/dist/memory/reservation.js +15 -5
  23. package/dist/memory/reservation.js.map +1 -1
  24. package/dist/memory/worker.js +72 -31
  25. package/dist/memory/worker.js.map +1 -1
  26. package/dist/migrations/015_event_link_indexes.sql +24 -0
  27. package/dist/onboard.js +29 -15
  28. package/dist/onboard.js.map +1 -1
  29. package/dist/paths.js +8 -0
  30. package/dist/paths.js.map +1 -1
  31. package/dist/plugin/.claude-plugin/plugin.json +1 -1
  32. package/dist/plugin/agents/explainer.md +55 -0
  33. package/dist/plugin/agents/tutor.md +7 -0
  34. package/dist/plugin/hooks/CLAUDE.md +15 -3
  35. package/dist/plugin/hooks/run.mjs +104 -21
  36. package/dist/plugin/skills/CLAUDE.md +7 -0
  37. package/dist/plugin/skills/tutor/SKILL.md +7 -0
  38. package/dist/tools/config_tools.js +8 -0
  39. package/dist/tools/config_tools.js.map +1 -1
  40. package/dist/tools/record_attempt.js +25 -1
  41. package/dist/tools/record_attempt.js.map +1 -1
  42. package/dist/update.js +284 -0
  43. package/dist/update.js.map +1 -0
  44. package/dist/user-skill/eklavya/SKILL.md +18 -1
  45. package/dist/user-skill/eklavya-artifacts/SKILL.md +116 -0
  46. package/package.json +1 -1
@@ -316,23 +316,29 @@ export async function superviseWorker(db, token, config, opts) {
316
316
  // A stop that landed after the last job — SIGTERM, Ctrl-C, a closed
317
317
  // terminal — still means stop: no successor.
318
318
  let handedOff = false;
319
+ // The token that holds the slot now: this run's, or its successor's once handed on.
320
+ let holding = token;
319
321
  if ((result.stopped === 'limit' || result.stopped === 'empty') &&
320
322
  config.providers.observer &&
321
323
  stillOn() &&
322
324
  !cancel.signal.aborted &&
323
325
  !opts.signal?.aborted) {
326
+ let next = null;
324
327
  try {
325
- handedOff = handOffWorker(db, token, () => hasClaimableJob(db) && queueDepth(db).paused === 0);
328
+ next = handOffWorker(db, token, () => hasClaimableJob(db) && queueDepth(db).paused === 0);
326
329
  }
327
330
  catch {
328
- handedOff = false;
331
+ next = null;
332
+ }
333
+ // From here on the slot is `next`'s, and this run's `token` matches
334
+ // nothing. A successor that cannot start is released below under `next`.
335
+ if (next) {
336
+ holding = next;
337
+ handedOff = (opts.launch ?? launchWorker)(db, next);
329
338
  }
330
- // A successor that cannot start releases the slot itself.
331
- if (handedOff)
332
- handedOff = (opts.launch ?? launchWorker)(db, token);
333
339
  }
334
340
  const released = handedOff ? false : await persist(() => {
335
- if (!releaseWorker(db, token))
341
+ if (!releaseWorker(db, holding))
336
342
  throw new Error('busy');
337
343
  });
338
344
  return { ...result, handedOff, released };
@@ -372,26 +378,48 @@ export function queueDepth(db) {
372
378
  * list, never an error. Unsummarised evidence is never touched, however old: it
373
379
  * is work not yet distilled, and deleting it would lose it outright.
374
380
  *
375
- * The same pass bounds the bookkeeping that otherwise grows once per session:
376
- * finished jobs (nothing reads a `done` row), reuse receipts and their items,
377
- * the per-session "already recalled" rows, and notification ledger rows. The
378
- * receipts are the one visible cost — the dashboard's savings then cover the
381
+ * **One project per call.** `retention_days` is resolved per project (a project
382
+ * config can set it or unset it) over one shared database, so the sweep only
383
+ * touches rows it can attribute to `project`: that project's evidence, its
384
+ * batches' finished jobs, its receipts, and the `recalled:`/`notified:` rows of
385
+ * sessions that belong to it and to no other project. A bookkeeping row it
386
+ * cannot place is left alone — a few stale `meta` rows are cheaper than one
387
+ * project's policy deleting another's state, which it once did to every
388
+ * project's evidence.
389
+ *
390
+ * The receipts are the one visible cost — the dashboard's savings then cover the
379
391
  * retention window rather than all time — and they hold only ids and counts.
380
392
  *
381
393
  * `limit` caps the events removed in one call so a seam never pays for a
382
- * backlog in one go. A capped run does not stamp `memory_pruned_at`, so the
383
- * next seam carries on instead of waiting out the interval.
394
+ * backlog in one go. A capped run does not stamp the project's
395
+ * `memory_pruned_at:<project>`, so the next seam carries on instead of waiting
396
+ * out the interval.
384
397
  */
385
- export function pruneEvidence(db, config, opts = {}) {
398
+ export function pruneEvidence(db, config, opts) {
386
399
  const days = config.memory.retention_days;
387
400
  if (!days)
388
401
  return 0;
389
402
  const cutoff = new Date(Date.now() - days * 86_400_000).toISOString();
403
+ const project = opts.project;
390
404
  return db.transaction(() => {
405
+ // Which bookkeeping rows are this project's is read first: the receipts and
406
+ // events that prove a session belongs here are what this pass deletes.
407
+ const keys = (sql, params) => db.prepare(sql).all(params).map((r) => r.key);
408
+ const recalled = keys(`SELECT key FROM meta WHERE key LIKE 'recalled:%' AND ${ownedSession('substr(key, 10)')}`, { project });
409
+ // Ledger rows stop being retried after a day; past the window they only
410
+ // take space. A row this version cannot read is left for what wrote it.
411
+ // `notified:session:<sid>:<sink>` belongs to its session's project;
412
+ // `notified:queue-paused:<project>:…` names the project outright.
413
+ const sessionOf = "substr(key, 18, instr(substr(key, 18), ':') - 1)";
414
+ const notified = keys(`SELECT key FROM meta WHERE key LIKE 'notified:%'
415
+ AND (CASE WHEN json_valid(value) THEN json_extract(value, '$.first') END) < @cutoff
416
+ AND ((key LIKE 'notified:session:%' AND ${ownedSession(sessionOf)})
417
+ OR substr(key, 1, length(@paused)) = @paused)`, { project, cutoff, paused: `notified:queue-paused:${project}:` });
391
418
  const ids = db
392
- .prepare(`SELECT id FROM evidence_events WHERE occurred_at < ? AND status = 'summarized' ORDER BY id
419
+ .prepare(`SELECT id FROM evidence_events
420
+ WHERE project = ? AND occurred_at < ? AND status = 'summarized' ORDER BY id
393
421
  ${opts.limit ? 'LIMIT ?' : ''}`)
394
- .all(...(opts.limit ? [cutoff, opts.limit] : [cutoff])).map((r) => r.id);
422
+ .all(...(opts.limit ? [project, cutoff, opts.limit] : [project, cutoff])).map((r) => r.id);
395
423
  const list = JSON.stringify(ids);
396
424
  const inList = 'IN (SELECT value FROM json_each(?))';
397
425
  // A candidate is a proposal about the learner, not evidence: it outlives the
@@ -401,39 +429,52 @@ export function pruneEvidence(db, config, opts = {}) {
401
429
  // connection opened without it cannot leave links pointing at nothing.
402
430
  db.prepare(`DELETE FROM memory_entry_events WHERE event_id ${inList}`).run(list);
403
431
  const removed = db.prepare(`DELETE FROM evidence_events WHERE id ${inList}`).run(list).changes;
404
- db.prepare("DELETE FROM memory_jobs WHERE status = 'done' AND updated_at < ?").run(cutoff);
405
- db.prepare('DELETE FROM context_receipt_items WHERE receipt_id IN (SELECT id FROM context_receipts WHERE created_at < ?)').run(cutoff);
406
- db.prepare('DELETE FROM context_receipts WHERE created_at < ?').run(cutoff);
432
+ db.prepare(`DELETE FROM memory_jobs WHERE status = 'done' AND updated_at < ?
433
+ AND batch_id IN (SELECT id FROM memory_batches WHERE project = ?)`).run(cutoff, project);
434
+ db.prepare(`DELETE FROM context_receipt_items WHERE receipt_id IN
435
+ (SELECT id FROM context_receipts WHERE project = ? AND created_at < ?)`).run(project, cutoff);
436
+ db.prepare('DELETE FROM context_receipts WHERE project = ? AND created_at < ?').run(project, cutoff);
407
437
  // `recalled:<session>` has no date of its own; every recall writes a
408
- // receipt, so a session with none left inside the window is over.
409
- db.prepare(`DELETE FROM meta WHERE key LIKE 'recalled:%'
410
- AND substr(key, 10) NOT IN (SELECT session_id FROM context_receipts WHERE session_id IS NOT NULL)`).run();
411
- // Ledger rows stop being retried after a day; past the window they only
412
- // take space. A row this version cannot read is left for what wrote it.
413
- db.prepare(`DELETE FROM meta WHERE key LIKE 'notified:%'
414
- AND (CASE WHEN json_valid(value) THEN json_extract(value, '$.first') END) < ?`).run(cutoff);
438
+ // receipt, so a session of this project with none left is over.
439
+ db.prepare(`DELETE FROM meta WHERE key ${inList}
440
+ AND substr(key, 10) NOT IN (SELECT session_id FROM context_receipts WHERE session_id IS NOT NULL)`).run(JSON.stringify(recalled));
441
+ db.prepare(`DELETE FROM meta WHERE key ${inList}`).run(JSON.stringify(notified));
415
442
  if (!opts.limit || ids.length < opts.limit) {
416
- db.prepare("INSERT OR REPLACE INTO meta (key, value) VALUES ('memory_pruned_at', ?)").run(nowIso());
443
+ db.prepare('INSERT OR REPLACE INTO meta (key, value) VALUES (?, ?)').run(prunedKey(project), nowIso());
417
444
  }
418
445
  return removed;
419
446
  })();
420
447
  }
448
+ /**
449
+ * SQL: the session named by `sid` left a trace in `@project` and in no other
450
+ * project. Entries count because they outlive the evidence, so a session stays
451
+ * attributable after its events have aged out.
452
+ */
453
+ function ownedSession(sid) {
454
+ const traces = (cmp) => ['evidence_events', 'memory_entries', 'context_receipts']
455
+ .map((t) => `EXISTS (SELECT 1 FROM ${t} WHERE session_id = ${sid} AND project ${cmp} @project)`)
456
+ .join(' OR ');
457
+ return `((${traces('=')}) AND NOT (${traces('<>')}))`;
458
+ }
459
+ /** Each project's last sweep, so one project's run never postpones another's. */
460
+ export const prunedKey = (project) => `memory_pruned_at:${project}`;
421
461
  /** How often a seam may run the retention sweep. Retention is counted in days. */
422
462
  const PRUNE_EVERY_MS = 6 * 60 * 60 * 1000;
423
463
  /** Events one seam may delete: enough to keep up, small enough to stay unnoticed inside a hook. */
424
464
  const PRUNE_SEAM_LIMIT = 5_000;
425
465
  /**
426
- * The sweep, from a session seam: only with `retention_days` set, at most once
427
- * per `PRUNE_EVERY_MS`, and bounded. `eklavya memory prune` stays the way to run
466
+ * The sweep, from a session seam: this project only, only with its
467
+ * `retention_days` set, at most once per `PRUNE_EVERY_MS` per project, and
468
+ * bounded. `eklavya memory prune` stays the way to run
428
469
  * it now and in full.
429
470
  */
430
- export function pruneIfDue(db, config) {
471
+ export function pruneIfDue(db, config, project) {
431
472
  if (!config.memory.retention_days)
432
473
  return 0;
433
- const row = db.prepare("SELECT value FROM meta WHERE key = 'memory_pruned_at'").get();
474
+ const row = db.prepare('SELECT value FROM meta WHERE key = ?').get(prunedKey(project));
434
475
  const last = row ? parseStamp(row.value) : null;
435
476
  if (last !== null && Date.now() - last < PRUNE_EVERY_MS)
436
477
  return 0;
437
- return pruneEvidence(db, config, { limit: PRUNE_SEAM_LIMIT });
478
+ return pruneEvidence(db, config, { project, limit: PRUNE_SEAM_LIMIT });
438
479
  }
439
480
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/memory/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/memory/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ -- The lookups the retention sweep (`pruneEvidence`) makes, indexed.
2
+ --
3
+ -- First, the two tables that point at an evidence event by `event_id`.
4
+ --
5
+ -- `pruneEvidence` deletes aged-out events, and for every deleted event SQLite
6
+ -- has to find the rows referencing it: the explicit `UPDATE learning_sources
7
+ -- ... WHERE event_id IN (...)` and `DELETE FROM memory_entry_events WHERE
8
+ -- event_id IN (...)`, and the foreign-key actions on both columns. Neither was
9
+ -- indexed -- `memory_entry_events`'s primary key starts with `entry_id`, which
10
+ -- a lookup by `event_id` alone cannot use -- so each deleted event cost a scan
11
+ -- of every link and every candidate. One illustrative fixture, 1,000 expired
12
+ -- events against 10,000 retained links: ~238ms to prune before, ~3ms after.
13
+ --
14
+ -- `context_receipts(session_id)` serves the same sweep: it decides which
15
+ -- `recalled:`/`notified:` rows belong to the project being pruned by asking,
16
+ -- per row, whether any other project's receipt names that session. Without it
17
+ -- each row scanned every receipt -- 2,000 rows against 20,000 receipts took
18
+ -- ~1.1s per sweep inside a hook, ~5ms with it.
19
+ --
20
+ -- Nothing else changes: no row is touched, and both are plain b-tree indexes a
21
+ -- downgrade would simply ignore.
22
+ CREATE INDEX IF NOT EXISTS idx_entry_events_event ON memory_entry_events(event_id);
23
+ CREATE INDEX IF NOT EXISTS idx_sources_event ON learning_sources(event_id);
24
+ CREATE INDEX IF NOT EXISTS idx_receipts_session ON context_receipts(session_id);
package/dist/onboard.js CHANGED
@@ -1,21 +1,27 @@
1
1
  /**
2
- * The dials, one at a time, every time `eklavya install` runs.
2
+ * The dials, one at a time — on a first install, or with `--settings`.
3
3
  *
4
- * There is no "onboarded" flag, on purpose: a first run and a tenth run are the
5
- * same walk. Each step marks what is set now and starts the cursor on it: ↑/↓
6
- * move, Enter (or Space, or →) chooses, and a digit jumps straight to one. A
7
- * first install is six Enters to the defaults; a re-install is how you see
8
- * what you chose and tweak one thing. Once memory is on, one follow-up asks
9
- * which model writes the memories (`providers.observer`), starting on `local`.
4
+ * A first run (no `~/.eklavya/config.json` yet) walks every step; after that
5
+ * `eklavya install` keeps the settings and only prints them, because it is
6
+ * also how Eklavya upgrades — by hand, or by the auto-updater running
7
+ * `install --auto` — and an upgrade that stops for six Enters is one nobody
8
+ * finishes. `eklavya install --settings` walks them again. Each step marks
9
+ * what is set now and starts the cursor on it: ↑/↓ move, Enter (or Space, or
10
+ * →) chooses, and a digit jumps straight to one. Once memory is on, one
11
+ * follow-up asks which model writes the memories (`providers.observer`),
12
+ * starting on `local`.
10
13
  *
11
- * Without a terminal (CI, a pipe, the test suite) nothing is asked: the settings
12
- * are printed and left as they are.
14
+ * Without a terminal (CI, a pipe, the test suite) nothing is asked either.
15
+ * With Claude Mem present and nobody asked, a first install picks the choice
16
+ * that touches nothing of theirs (Claude Mem keeps recording); a re-install
17
+ * decides nothing, and leaves which of the two records exactly as it is.
13
18
  *
14
19
  * Keys arrive as readline keypress events in raw mode, never `fs.readSync(0)`.
15
20
  * After `npm install -g` the inherited stdin is often non-blocking, a sync read
16
21
  * throws EAGAIN, and the old installer took that as "no terminal" — printing a
17
22
  * question and answering it itself.
18
23
  */
24
+ import fs from 'node:fs';
19
25
  import readline from 'node:readline/promises';
20
26
  import { emitKeypressEvents } from 'node:readline';
21
27
  import { globalConfigPath } from './paths.js';
@@ -229,6 +235,7 @@ async function ask(prompt) {
229
235
  * and null otherwise.
230
236
  */
231
237
  export async function onboard(opts) {
238
+ const firstRun = !fs.existsSync(globalConfigPath());
232
239
  const before = loadGlobalConfig();
233
240
  const list = steps(before, opts.claudeMem);
234
241
  const chosen = Object.fromEntries(list.map((s) => [s.key, s.current]));
@@ -236,7 +243,7 @@ export async function onboard(opts) {
236
243
  if (memoryFixed)
237
244
  chosen.memory = opts.memoryFlag;
238
245
  let topic = before.focus_topic;
239
- const tty = Boolean(process.stdin.isTTY && process.stdout.isTTY);
246
+ const tty = opts.ask && Boolean(process.stdin.isTTY && process.stdout.isTTY);
240
247
  if (tty) {
241
248
  plain(`\n${bold('Your settings')} ${dim(`↑↓ move · Enter chooses · ${glyph.ok} is set now`)}`);
242
249
  try {
@@ -267,8 +274,8 @@ export async function onboard(opts) {
267
274
  plain('');
268
275
  }
269
276
  }
270
- else if (opts.claudeMem && !memoryFixed) {
271
- // Nobody to ask: the choice that touches nothing of theirs.
277
+ else if (opts.claudeMem && !memoryFixed && firstRun) {
278
+ // Nobody to ask on a first install: the choice that touches nothing of theirs.
272
279
  chosen.memory = 'claude-mem';
273
280
  }
274
281
  const patch = {};
@@ -297,7 +304,9 @@ export async function onboard(opts) {
297
304
  observer: chosen.model === 'local' ? null : { kind: 'anthropic', model: chosen.model },
298
305
  };
299
306
  }
300
- if (Object.keys(patch).length)
307
+ // After a walk the file is written even with nothing changed: its existence
308
+ // is what tells the next install the settings were chosen, not defaulted.
309
+ if (Object.keys(patch).length || (tty && firstRun))
301
310
  writeConfigFile(globalConfigPath(), patch);
302
311
  plain('');
303
312
  for (const step of list) {
@@ -312,7 +321,12 @@ export async function onboard(opts) {
312
321
  }
313
322
  check(null, '', dim(Object.keys(patch).length ? `settings saved to ${globalConfigPath()}` : 'settings unchanged'));
314
323
  if (!tty)
315
- check(null, '', dim('change them: eklavya install in a terminal, or eklavya config set'));
324
+ check(null, '', dim('change them: eklavya install --settings, or eklavya config set'));
325
+ if (!tty && opts.claudeMem && !memoryFixed && !firstRun && before.memory.enabled) {
326
+ // Unasked is undecided. Picking a recorder here once switched Eklavya's
327
+ // memory off on a plain re-run, which is a setting changed by an upgrade.
328
+ check(null, '', dim('Claude Mem is installed too · pick who records: eklavya install --settings'));
329
+ }
316
330
  // Run from inside a checkout with its own settings, the walk above is not
317
331
  // what applies here — say so, rather than let a global "concept" hide a
318
332
  // project pinned to "project".
@@ -330,6 +344,6 @@ export async function onboard(opts) {
330
344
  if (pinned.length && here.projectPath) {
331
345
  check('warn', 'project', `this checkout overrides ${pinned.join(', ')} ${dim(`— ${here.projectPath}`)}`);
332
346
  }
333
- return opts.claudeMem ? chosen.memory : null;
347
+ return opts.claudeMem && (tty || memoryFixed || firstRun) ? chosen.memory : null;
334
348
  }
335
349
  //# sourceMappingURL=onboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../src/onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAY,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOnE,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AACpD,MAAM,MAAM,GAAa;IACvB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,oDAAoD,EAAE;IAChF,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,sDAAsD,EAAE;IAC5F,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,0CAA0C,EAAE;IAChF,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,iCAAiC,EAAE;CACxE,CAAC;AAEF,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,CAAgB;IACxC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,OAAO,CAAC;IACvD,0DAA0D;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;QACrD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,KAAK,CAAC,CAAgB,EAAE,SAAkB;IACjD,OAAO;QACL;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YACtE,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,4CAA4C,EAAE;gBACrE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,4CAA4C,EAAE;gBAC3E,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE;aAClE;SACF;QACD;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,CAAC,CAAC,KAAK;YAChB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,uCAAuC,EAAE;gBACrE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,uCAAuC,EAAE;gBACrE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAA4C,EAAE;aACzE;SACF;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,8CAA8C,EAAE;gBAChF,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAE;aAC3D;SACF;QACD;YACE,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,4BAA4B;YACnC,OAAO,EAAE,CAAC,CAAC,UAAU;YACrB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kDAAkD,EAAE;gBAC7E,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE;gBAClD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACrC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;aACpC;SACF;QACD,SAAS;YACP,CAAC,CAAC;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,sDAAsD;gBAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBACpD,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gDAAgD,EAAE;oBAC9E,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,mDAAmD,EAAE;iBACrF;aACF;YACH,CAAC,CAAC;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,wCAAwC;gBAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBACxC,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,4DAA4D,EAAE;oBACrF,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAE;iBACjE;aACF;QACL,SAAS,CAAC,CAAC,CAAC;KACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,KAAa,EAAE,GAAQ;IACvD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC;QACV,KAAK,GAAG;YACN,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG;YACN,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC/C,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAED,MAAM,MAAO,SAAQ,KAAK;CAAG;AAE7B,mGAAmG;AACnG,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC;AAE1F;;;;;;;;GAQG;AACH,SAAS,MAAM,CAAC,IAAU;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnH,CAAC,CAAC,CAAC;IACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,GAAoB,EAAE,EAAE;YAChD,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,sEAAsE;YACtE,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,EAAE,CAAC,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC;gBACT,OAAO,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO;YACT,CAAC;YACD,MAAM,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACtG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,OAAe,EAAE,OAAiB;IACzF,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,MAAM;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,GAAG,CAAC,MAAc;IAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrB,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAM7B;IACC,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,MAAM,GAA2B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/D,IAAI,WAAW;QAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAW,CAAC;IAClD,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;IAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7E,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,6BAA6B,KAAK,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,WAAW;oBAAE,SAAS;gBACnD,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAChE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACV,2EAA2E;gBAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACzB,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC9C,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1F,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC;oBACnB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;wBACnE,KAAK,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,MAAM,CAAC;gBAAE,MAAM,GAAG,CAAC;YACxC,KAAK,CAAC,EAAE,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;QACtD,+EAA+E;QAC/E,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAChG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO;YAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1D,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACtE,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;QAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAClF,yEAAyE;IACzE,+BAA+B;IAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;QAC5F,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAE,CAAC,OAAO,EAAE,CAAC;QAC9F,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;QAClG,KAAK,CAAC,SAAS,GAAG;YAChB,GAAG,SAAS;YACZ,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;SACvF,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC;QAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAC;IAE/F,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,SAAS;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7G,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,8CAA8C,IAAI,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC;IACtG,CAAC;IACD,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACnH,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;IACjG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjF,wEAAwE;QACxE,0EAA0E;QAC1E,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,4EAA4E,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,0EAA0E;IAC1E,wEAAwE;IACxE,+BAA+B;IAC/B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,CAAgB,EAA2B,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,2BAA2B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,MAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;AACpG,CAAC"}
package/dist/paths.js CHANGED
@@ -83,6 +83,14 @@ export function projectConfigPath(repoRoot) {
83
83
  export function projectPacksDir(repoRoot) {
84
84
  return path.join(projectsDir(), projectSlug(repoRoot), 'packs');
85
85
  }
86
+ /**
87
+ * Explainer pages and other artifacts, one folder per project, named with the
88
+ * same slug as `projects/`. Outside the checkout for the same reason settings
89
+ * and packs are: Eklavya creates no files in your project.
90
+ */
91
+ export function artifactsDir() {
92
+ return path.join(eklavyaHome(), 'artifacts');
93
+ }
86
94
  /**
87
95
  * Private to the person whose history it is.
88
96
  *
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AAED,0EAA0E;AAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAc;IACxD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO;QAChD,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eklavya",
3
3
  "displayName": "Eklavya",
4
- "version": "1.25.3",
4
+ "version": "1.27.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"
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: eklavya-explainer
3
+ description: Writes an Eklavya explainer page — one concept, in plain English with diagrams — under ~/.eklavya/artifacts/ and opens it. Started in the background after a missed quiz question or when the developer asks for something to be explained, so the session never waits for it.
4
+ tools: Read, Write, Edit, Bash, Glob, Grep
5
+ ---
6
+
7
+ You are Eklavya's explainer. The main session just told a developer they got a
8
+ question wrong, or they asked for something to be explained, and handed the
9
+ page to you so it could get back to work. Nobody is watching this transcript:
10
+ do not ask anything, and do not quiz. Write one page, open it, and report its
11
+ path in one line.
12
+
13
+ You were handed some of: the concept slug and name, the question as it was
14
+ asked, the developer's answer, the right answer, and the code it came from.
15
+ Work with what you have; do not go looking for a conversation you cannot see.
16
+
17
+ ## Make the page
18
+
19
+ 1. If `~/.claude/skills/eklavya-artifacts/SKILL.md` exists, read it: it is the
20
+ full set of rules for an Eklavya artifact, and it wins over the summary
21
+ below.
22
+ 2. Find the binary and write its path into every later command:
23
+ `command -v eklavya || command -v "$HOME/.eklavya/runtime/node_modules/.bin/eklavya"`
24
+ (on Windows, `eklavya.cmd` in that `.bin`; failing both, `npx -y eklavya`).
25
+ 3. Start the page from the directory you were started in:
26
+ `eklavya artifacts new "<Concept name>, explained" --kind explainer --concept <slug> --description "<the one-line answer>"`.
27
+ It prints the file's path. Never pick a path yourself.
28
+ 4. Replace the `<!-- CONTENT … -->` comment in that file with the explanation.
29
+ Leave the `<head>` and the download buttons alone.
30
+ 5. `eklavya artifacts open "<path>"`, then reply with the path, one line.
31
+
32
+ ## What goes on it
33
+
34
+ In this order, each under its own `<h2>`:
35
+
36
+ - **The short answer.** Two or three sentences a newcomer could repeat: what the
37
+ thing *does*, before what it is called.
38
+ - **Where the answer went wrong.** Name the misconception in the answer given
39
+ — kindly, specifically — and why it is tempting. If there was no answer
40
+ ("I don't know"), skip this and start from the mechanism.
41
+ - **How it works.** At least one inline-SVG diagram in a `<figure>`: a
42
+ sequence, a before/after, a decision. Use the template's `.svg-box`,
43
+ `.svg-box-spot`, `.svg-line`, `.svg-line-spot`, `.svg-label`, `.svg-small`
44
+ classes, and a `<figcaption>` that states the takeaway.
45
+ - **A concrete example.** A tiny snippet or a timeline, broken versus fixed,
46
+ ideally in the language the developer was working in.
47
+ - **The rule that transfers.** When this applies in a different codebase, and
48
+ the one gotcha to watch for.
49
+
50
+ Plain English, short sentences, no jargon without a gloss. Role tokens only in
51
+ any CSS you add (`--ink --dim --line --spot …`), square corners, no emoji, one
52
+ self-contained file.
53
+
54
+ Never reveal or restate the answer to a *different* question, and never grade
55
+ anything: the session already recorded the answer.
@@ -82,3 +82,10 @@ You are competing for attention with an agent that is producing code. Ask one qu
82
82
  Never record a grade for a question that was not answered. Record a decline (`outcome: "declined"`) only when they actually say so.
83
83
 
84
84
  "I don't know" is not silence and not a decline — it is a request. Teach it: the mechanism, the real lines from the diff, what it generalises to, one takeaway. Then record grade 0 with `outcome: "dont_know"` and move on. The full shape is in the tutor skill's `skills/tutor/references/grading.md`.
85
+
86
+ ## When `record_attempt` returns `explain`
87
+
88
+ You cannot start another agent, so you cannot follow its `instruction` yourself.
89
+ Give the verdict as usual, then add one line for the main session: start
90
+ `eklavya-explainer` in the background with the concept slug, the question, the
91
+ developer's answer and the right answer. Do not write the explanation here.
@@ -28,8 +28,20 @@ Claude Code updates it; the runtime only moves when npm runs. So when the entry
28
28
  resolved to `~/.eklavya/runtime` and its `package.json` version is older than
29
29
  `plugin.json`'s, `healIfBehind` starts that background install before the
30
30
  import — this run still uses the old runtime and never waits. It never
31
- downgrades (migrations only go forward), and leaves an `EKLAVYA_RUNTIME` or
32
- checkout build alone. `eklavya doctor`'s `versions` row reports the skew.
31
+ downgrades (migrations only go forward), leaves an `EKLAVYA_RUNTIME` or
32
+ checkout build alone, and does nothing when the global config says
33
+ `auto_update: false` — read straight from `config.json`, since the runtime's
34
+ config loader is not reachable here. A *missing* runtime is healed regardless:
35
+ that is bootstrap, not an upgrade. `eklavya doctor`'s `versions` row reports the
36
+ skew.
37
+
38
+ The `.installing` stamp is the one runtime lock, shared with `installRuntime`
39
+ and the updater; `mcp/src/install-lock.ts` states the rules and `run.mjs`
40
+ carries a copy, because it has to work before any runtime exists. After
41
+ spawning npm the heal rewrites the stamp to name npm's pid, so the claim lives
42
+ exactly as long as npm runs; the stamp npm leaves behind also throttles the heal
43
+ to once an hour. `mcp/test/install-lock.test.ts` races all three entry points
44
+ against a fake npm.
33
45
 
34
46
  The `npx` fallback retries `eklavya@latest` once, and only when npm says the
35
47
  pinned version does not exist (`E404`/`ETARGET`/`No matching version`). That is
@@ -52,7 +64,7 @@ PostToolUse, so the table has eight rows.
52
64
 
53
65
  | Event | Matcher | Timeout | Script | Job |
54
66
  |---|---|---|---|---|
55
- | SessionStart | — | 10s | `session-start` | stamp this checkout's session pointer (`meta.current_session:<repo root>`), replay the spool, summarise the last session's batch, recall this project's memory, show the developer the profile banner (`systemMessage`) and hand the model the recall and the standing log directive (`additionalContext`). A database that exists but will not open gets one line to the developer — `Eklavya paused · can't open its database · run: eklavya doctor`, or the SQLite/Node-mismatch variant — and a first run with no database stays silent |
67
+ | SessionStart | — | 10s | `session-start` | stamp this checkout's session pointer (`meta.current_session:<repo root>`), replay the spool, summarise the last session's batch, recall this project's memory, start the background auto-update when one is due (`update.ts`) and add its one line — `Eklavya updated to X` once, or `Eklavya can't update itself · … · run: eklavya update` every session while it fails — to what the developer sees, show the developer the profile banner (`systemMessage`) and hand the model the recall and the standing log directive (`additionalContext`). A database that exists but will not open gets one line to the developer — `Eklavya paused · can't open its database · run: eklavya doctor`, or the SQLite/Node-mismatch variant — and a first run with no database stays silent |
56
68
  | UserPromptSubmit | — | 10s | `prompt-submit-nudge` | re-stamp this checkout's session pointer, then re-state the log directive in one line, but only for a session that has logged nothing after a grace window |
57
69
  | SubagentStart | — | 10s | `subagent-start` | give a delegated agent the log directive the parent's SessionStart never reached it with |
58
70
  | PreToolUse | `Bash` | 10s | `pre-tool-gate` | with `quiz.enforced` only, deny a `git commit` (or `git merge --continue`) whose session gate has not passed. `commit-lib.ts` lexes the command like a shell — newlines, `env`/`sudo`/`timeout`/`VAR=x` prefixes, `bash -c`, subshells, substitutions, `git -C dir` — and accepts missing aliases and scripts: the git hook is the real enforcement |