eklavya 1.52.4 → 1.52.5

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eklavya",
3
3
  "displayName": "Eklavya",
4
- "version": "1.52.4",
4
+ "version": "1.52.5",
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"
@@ -221,12 +221,17 @@ async function submit($: EngineInterface, wanted: PanelPending | null): Promise<
221
221
 
222
222
  // A miss with explain_on_wrong on: the panel starts the explainer itself in
223
223
  // the background, so no prompt shows in the transcript and nothing waits.
224
- // A refused spawn falls back to the queued prompt the model acts on.
224
+ // Auto mode judges every spawn (it drops Agent allow rules), and its
225
+ // classifier can be briefly unavailable, so a refusal is asked once more.
226
+ // A second refusal falls back to the queued prompt the model acts on.
225
227
  if (out.explain?.instruction && explainedAttempt !== out.attempt_id) {
226
228
  explainedAttempt = out.attempt_id
227
- const spawned = await $.agent
228
- .spawn({ subagentType: EXPLAINER, description: 'Eklavya explainer', prompt: explainerBrief(out.explain) })
229
- .catch(() => null)
229
+ let spawned = null
230
+ for (let tries = 0; tries < 2 && (!spawned || spawned.deny); tries += 1) {
231
+ spawned = await $.agent
232
+ .spawn({ subagentType: EXPLAINER, description: 'Eklavya explainer', prompt: explainerBrief(out.explain) })
233
+ .catch(() => null)
234
+ }
230
235
  if (!spawned || spawned.deny) await $.prompt.submit({ text: String(out.explain.instruction) })
231
236
  }
232
237
  } catch {
@@ -270,6 +270,10 @@ it is missing, and leave the file valid JSON. Do not allow the whole
270
270
  `mcp__plugin_eklavya_eklavya` server instead: that would also let
271
271
  `memory_delete` and `set_config` run unasked. Show them the entries you added.
272
272
  If the denial continues, a restart of Claude Code reloads the settings.
273
+ `eklavya:eklavya-explainer denied by auto mode` needs no fix and has none: auto
274
+ mode drops `Agent` allow rules, so do not add one. The panel asks once more,
275
+ then queues a prompt for you to start the explainer; do that and tell them
276
+ the page is on its way.
273
277
 
274
278
  **Updates are automatic.** Eklavya checks npm at session start, at most hourly,
275
279
  and installs a newer release on its own, settings untouched. So "update
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eklavya",
3
- "version": "1.52.4",
3
+ "version": "1.52.5",
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": {