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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjE,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAmBxD,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,sGAAsG;AACtG,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC/E,OAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,OAAkB,IAAI,IAAI,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,GAAG,SAAS,EAAE,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QAChD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,gBAAgB,EAAE,CAAC,WAAW,CAAC;AACxC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;IAC9F,0EAA0E;IAC1E,mCAAmC;IACnC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO;QACzB,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;YAC9E,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,2EAA2E;QAC3E,2DAA2D;QAC3D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3C,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3D,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,gBAAgB,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,iCAAiC,KAAK,CAAC,KAAK,wBAAwB,EAAE,CAAC;QACxF,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,cAAc,EAAE,EAAE,CAAC;QAC3E,OAAO,EAAE,IAAI,EAAE,sBAAsB,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,+EAA+E;AAE/E,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAE7D,SAAS,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,OAAe;IACvD,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE;QAC1B,QAAQ,EAAE,MAAM;QAChB,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnC,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAwB;IACxC,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChH,MAAM,GAAG,GACP,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,OAAO,GAAG,2FAA2F,CAAC;AAE5G,MAAM,WAAY,SAAQ,KAAK;IAGlB;IAFX,YACE,OAAe,EACN,GAAkC;QAE3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,QAAG,GAAH,GAAG,CAA+B;IAG7C,CAAC;CACF;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAA2D;IACzF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAClE,qEAAqE;IACrE,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACtC,iFAAiF;IACjF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC;YACH,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE;QAC3B,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,IAAI,WAAW,CAClB,IAAI,CAAC,KAA2C,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,EAC1H,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CACtC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,WAAW,CAAC,iCAAiC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnG,CAAC;QACD,GAAG,CAAC,UAAU,MAAM,aAAa,IAAI,IAAI,eAAe,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,sBAAsB,MAAM,GAAG,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,GAAG,CACjB,GAAG,EACH,CAAC,SAAS,EAAE,WAAW,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC,EACvH,EAAE,GAAG,MAAM,CACZ,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/D,MAAM,IAAI,WAAW,CAAC,uBAAuB,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,WAAW,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QAEvF,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,eAAe;QACf,IAAI,SAAS,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACpC,GAAG,CAAC,qDAAqD,OAAO,GAAG,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;YACvF,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,WAAW,CAAC,2BAA2B,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC5G,CAAC;QACH,CAAC;QAED,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACtG,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACtG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;QAC1B,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACtG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: eklavya
3
- description: "Operate Eklavya, the local memory and learning tool that records what this developer's agent did and quizzes them on it. Use when the user mentions Eklavya by name, asks what Eklavya remembers about a project or whether it is still capturing, or asks to change how often or how hard it quizzes them (its quiz, focus, cadence or difficulty dials), see their learning progress or mastery, open the dashboard, check the commit gate, or find where their data lives. Do not use for ordinary coding help, for teaching a concept, or merely because a task is educational."
3
+ description: "Operate Eklavya, the local memory and learning tool that records what this developer's agent did and quizzes them on it. Use when the user mentions Eklavya by name, asks what Eklavya remembers about a project or whether it is still capturing, or asks to change how often or how hard it quizzes them (its quiz, focus, cadence or difficulty dials), see their learning progress or mastery, open the dashboard, check the commit gate, update Eklavya, or find where their data lives. Do not use for ordinary coding help, for teaching a concept, or merely because a task is educational."
4
4
  ---
5
5
 
6
6
  # Eklavya
@@ -149,6 +149,12 @@ Other keys, same `config set` shape: `pass_threshold`,
149
149
  `min_minutes_between_checkpoints`, `level_up_after`, `level_up_accuracy`,
150
150
  `max_new_concepts_per_session`, `max_stop_blocks_per_session`, `quiet`.
151
151
 
152
+ `explain_on_wrong` (default `false`) is the one people ask for by what it does:
153
+ "when I get one wrong, make me a page explaining it". On, a missed answer also
154
+ gets an explainer page, written in the background and opened, while the session
155
+ carries on. It is usually wanted per project, so default to `--project`. The
156
+ pages themselves are the `eklavya-artifacts` skill's job, not this one's.
157
+
152
158
  ## Reading state
153
159
 
154
160
  ```bash
@@ -222,6 +228,15 @@ the learning history. Two cases it can't fix on its own, and `doctor` says which
222
228
  `~/.claude/skills/eklavya/`. Never overwrite it. Tell them to move theirs
223
229
  first, then run `eklavya install`.
224
230
 
231
+ **Updates are automatic.** Eklavya checks npm at session start, at most hourly,
232
+ and installs a newer release on its own, settings untouched. So "update
233
+ Eklavya" needs nothing, and if they want it now, run `eklavya update`. If
234
+ session start said `Eklavya can't update itself · <reason> · run: eklavya
235
+ update`, run `eklavya update` to see the full error, and `doctor`'s `updates`
236
+ row says the same. Never suggest `npm install -g eklavya` for an update: the
237
+ `eklavya` command already runs the newer runtime's copy on its own.
238
+ `auto_update false` turns updates off, globally only.
239
+
225
240
  Restarting Claude Code is what picks up a repaired install — the plugin and MCP
226
241
  server are read at session start. There is no background process to restart.
227
242
 
@@ -261,6 +276,8 @@ project; the ids are the ones `/api/projects` lists.
261
276
  | which projects has memory recorded | `/#/memory/projects` |
262
277
  | what has recall actually saved | `/#/memory/reuse` |
263
278
  | is capture healthy | `/#/memory/health` |
279
+ | the pages Eklavya wrote me, search them | `/#/artifacts/dashboard` (or `/explainer` for explainers only) |
280
+ | which projects have pages | `/#/artifacts/projects` |
264
281
 
265
282
  The older single-workflow links (`/#/overview`, `/#/concepts`, `/#/memory`,
266
283
  `/#/entry/<id>` and the rest) still open the right page, but hand back the
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: eklavya-artifacts
3
+ description: "Use when the user asks for an Eklavya artifact, an explainer page, a visual doc, a one-pager, a report, a diagram writeup, or to \"make this into a page\" — or asks Eklavya to explain a concept or a question they got wrong as a page. Writes a local HTML file under ~/.eklavya/artifacts/<project>/ and opens it. Not for publishing a shareable link."
4
+ ---
5
+
6
+ # Eklavya artifacts
7
+
8
+ An artifact is a single self-contained HTML page on this machine, filed under
9
+ `~/.eklavya/artifacts/<project>/` and listed in the Artifacts section of
10
+ `eklavya dashboard`. It never becomes a link: nothing here publishes, uploads or
11
+ shares, and the page makes no request except for its web fonts.
12
+
13
+ **Announce at start:** "Writing this as an Eklavya artifact."
14
+
15
+ ## Step 1: Find the binary
16
+
17
+ `eklavya` is usually not on `PATH`. Resolve it once:
18
+
19
+ ```bash
20
+ command -v eklavya || command -v "$HOME/.eklavya/runtime/node_modules/.bin/eklavya"
21
+ ```
22
+
23
+ Write the printed path into every later command — shell variables do not
24
+ survive between tool calls. On Windows it is `eklavya.cmd` in that same `.bin`
25
+ directory. If both print nothing, use `npx -y eklavya`; if that fails too,
26
+ Eklavya is not installed — say so and give `npx eklavya install`.
27
+
28
+ ## Step 2: Start the page
29
+
30
+ Run it from the directory the work is about, so it is filed under that project
31
+ (a worktree files under its main checkout):
32
+
33
+ ```bash
34
+ eklavya artifacts new "<Title>" --description "<one line: what this page answers>"
35
+ ```
36
+
37
+ Add `--kind explainer --concept <slug>` when the page explains an Eklavya
38
+ concept, so the dashboard links it to that concept.
39
+
40
+ It prints the path of a new file, already carrying the Eklavya template: the
41
+ design tokens inlined, dark by default, the print stylesheet, the PDF and HTML
42
+ download buttons, the title, the lede and the metadata the dashboard reads.
43
+ Never write a page from scratch and never pick the path yourself — `new` is the
44
+ one place both are decided, and a page without its metadata is listed as a bare
45
+ filename.
46
+
47
+ ## Step 3: Write the content
48
+
49
+ Edit the file: replace the `<!-- CONTENT … -->` comment with the page, and
50
+ adjust the lede if the description was too short. Leave the `<head>`, the
51
+ `.actions` toolbar and its script alone.
52
+
53
+ **Write for the person reading it.** Plain English first: what the thing *does*
54
+ before what it is called. One idea per section under an `<h2>`. A concrete
55
+ example — a timeline, a snippet with the broken and the fixed line — beats a
56
+ paragraph of definition. Name the gotcha at the end, in plain terms.
57
+
58
+ **Draw whenever an idea has moving parts.** A sequence, a branch, a
59
+ before/after, a hierarchy or a number worth comparing is a diagram that has not
60
+ been drawn yet; two or three in a medium page is normal.
61
+
62
+ | The thing being explained | Draw |
63
+ |---|---|
64
+ | Ordered process, pipeline | Step / flow diagram |
65
+ | Decision, branch, retry | Gate or decision diagram |
66
+ | Who calls whom, over time | Sequence diagram |
67
+ | Boxes and boundaries | Architecture diagram |
68
+ | States and transitions | State diagram |
69
+ | Two options side by side | Comparison table plus a before/after pair |
70
+
71
+ Draw them as **inline SVG** inside `<figure>`, with the template's classes —
72
+ `.svg-box`, `.svg-box-spot` (the one node that matters), `.svg-line`,
73
+ `.svg-line-spot`, `.svg-label`, `.svg-small`, `.svg-muted` — and a
74
+ `<figcaption>` that states the takeaway, not the title. Never a raster image,
75
+ ASCII boxes or a Mermaid script: inline SVG themes and prints, the others do
76
+ not.
77
+
78
+ **Stay on the design system.** Components already in the template: `.eyebrow`,
79
+ `.lede`, `.card`, `.grid`, `.chip` (`.warn`, `.bad`), `.stat` (`.k`, `.v`,
80
+ `.d`), `.callout`, `td.num`. Any new CSS names a role — `--bg --panel --mass
81
+ --ink --dim --faint --line --line-2 --spot --spot-soft --warning --error` —
82
+ never a raw hex, and keeps `border-radius: 0`. One accent, verdigris `--spot`,
83
+ spent sparingly. No emoji.
84
+
85
+ **Keep it one file.** Everything inline. An external stylesheet, script or
86
+ image breaks the HTML download, which hands over the page itself.
87
+
88
+ Print rules the template already carries, and that new CSS must not undo:
89
+ `break-inside: avoid` only on things shorter than a page (rows, cards,
90
+ figures); never on a tall wrapper, or the PDF gets half-empty pages. No
91
+ `@page` margin — it prints a white frame round a dark page. No
92
+ `prefers-color-scheme` block: dark is the default, and `data-mode="paper"` on
93
+ `<html>` is the light ground.
94
+
95
+ ## Step 4: Open it
96
+
97
+ ```bash
98
+ eklavya artifacts open "<the path new printed>"
99
+ ```
100
+
101
+ Report the path in one line. Do not mention links, publishing or sharing.
102
+
103
+ `eklavya artifacts list` shows every page, newest first (`--here` for this
104
+ project, `--json` for the ids); `eklavya dashboard` then **Artifacts** is the
105
+ searchable view.
106
+
107
+ ## Common mistakes
108
+
109
+ | Mistake | Fix |
110
+ |---|---|
111
+ | Writing the file into the project repository | Artifacts live under `~/.eklavya/artifacts/`, always — `new` puts them there |
112
+ | A wall of prose describing a sequence | That is a step diagram. Draw it |
113
+ | Raw hex, rounded cards, drop shadows | Role tokens, square chrome, hairlines |
114
+ | `html2pdf` or `jspdf` from a CDN | The PDF button is `window.print()` plus the print stylesheet |
115
+ | A PDF page two-thirds empty | A `break-inside: avoid` on a block taller than a page |
116
+ | White band on top and bottom of the PDF | The print dialog's *Headers and footers* setting; CSS cannot reach it |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eklavya",
3
- "version": "1.25.3",
3
+ "version": "1.27.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": {