eklavya 1.33.3 → 1.34.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.
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { loadConfig, writeConfigFile, readConfigFile, mainRepoRoot, isGlobalOnlyKey, DEFAULT_CONFIG, } from '../config.js';
2
+ import { loadConfig, loadGlobalConfig, writeConfigFile, readConfigFile, mainRepoRoot, isGlobalOnlyKey, DEFAULT_CONFIG, } from '../config.js';
3
3
  import { UnreadableFileError } from '../safe-write.js';
4
+ import { combinationProblem, normalizeSetting, SETTING_RULES, settingProblem } from '../config-path.js';
4
5
  import { currentSurface } from '../surface.js';
5
6
  import { FALLBACK_SESSION_ID, isSessionOff, resolveSessionId, setSessionOff } from '../session.js';
6
7
  import { CWD_HINT, SESSION_HINT } from './types.js';
@@ -46,6 +47,15 @@ export const getConfig = {
46
47
  };
47
48
  },
48
49
  };
50
+ /**
51
+ * A number field built from `SETTING_RULES`, so the bounds the model reads are
52
+ * the bounds `eklavya config set` and the dashboard enforce -- one table, no copy.
53
+ */
54
+ function num(key) {
55
+ const r = SETTING_RULES[key];
56
+ const n = r.int ? z.number().int().min(r.min).max(r.max) : z.number().min(r.min).max(r.max);
57
+ return r.nullable ? n.nullable().optional() : n.optional();
58
+ }
49
59
  /** A namespace is a config key whose default is an object. */
50
60
  function isNamespace(key) {
51
61
  const value = DEFAULT_CONFIG[key];
@@ -82,34 +92,25 @@ export const setConfig = {
82
92
  .enum(['interleaved', 'end'])
83
93
  .optional()
84
94
  .describe('When the questions land. "interleaved" (default) asks one question mid-task, at the seam where a concept was logged, and the Stop hook then only sweeps up what is left of max_questions_per_task. "end" is the old behaviour: nothing until the task is finished.'),
85
- min_minutes_between_checkpoints: z.number().int().min(0).max(120).optional(),
95
+ min_minutes_between_checkpoints: num('min_minutes_between_checkpoints'),
86
96
  difficulty: z
87
97
  .enum(['auto', 'easy', 'medium', 'hard'])
88
98
  .optional()
89
99
  .describe('How hard questions on a project may get. "auto" (default) earns the level per project: everyone starts at easy (tiers 1-2), then medium (2-4), then hard (3-5). A literal level pins it and stops progression — "easy" at project scope keeps an onboarding codebase gentle, "hard" globally skips the runway.'),
90
- level_up_after: z
91
- .number()
92
- .int()
93
- .min(1)
94
- .max(1000)
95
- .optional()
100
+ level_up_after: num('level_up_after')
96
101
  .describe('Passing answers needed at a level, in one project, before it promotes. Defaults to 100.'),
97
- level_up_accuracy: z
98
- .number()
99
- .min(0)
100
- .max(1)
101
- .optional()
102
+ level_up_accuracy: num('level_up_accuracy')
102
103
  .describe('Minimum accuracy over those answers, declines excluded. Defaults to 0.7.'),
103
104
  focus_topic: z
104
105
  .string()
105
106
  .nullable()
106
107
  .optional()
107
108
  .describe('The topic "learn" focus teaches, e.g. "caching". Pass null to clear it.'),
108
- pass_threshold: z.number().min(0).max(1).optional(),
109
- max_questions_per_task: z.number().int().min(1).max(10).optional(),
110
- min_minutes_between_quizzes: z.number().int().min(0).optional(),
111
- max_new_concepts_per_session: z.number().int().min(0).max(50).optional(),
112
- max_stop_blocks_per_session: z.number().int().min(0).max(20).optional(),
109
+ pass_threshold: num('pass_threshold'),
110
+ max_questions_per_task: num('max_questions_per_task'),
111
+ min_minutes_between_quizzes: num('min_minutes_between_quizzes'),
112
+ max_new_concepts_per_session: num('max_new_concepts_per_session'),
113
+ max_stop_blocks_per_session: num('max_stop_blocks_per_session'),
113
114
  quiet: z.boolean().optional(),
114
115
  explain_on_wrong: z
115
116
  .boolean()
@@ -132,16 +133,16 @@ export const setConfig = {
132
133
  .object({
133
134
  enabled: z.boolean().optional(),
134
135
  capture: z.enum(['full', 'minimal', 'off']).optional(),
135
- batch_max_events: z.number().int().min(1).max(500).optional(),
136
- retention_days: z.number().int().min(1).nullable().optional(),
136
+ batch_max_events: num('memory.batch_max_events'),
137
+ retention_days: num('memory.retention_days'),
137
138
  })
138
139
  .optional()
139
140
  .describe('Recording what each session did. Independent of `quiz`: silencing questions means no questions, not no history. Turn capture off with enabled:false, or thin it with capture:"minimal" (prompts and session seams only).'),
140
141
  retrieval: z
141
142
  .object({
142
143
  mode: z.enum(['keyword', 'semantic', 'hybrid']).optional(),
143
- max_items: z.number().int().min(1).max(50).optional(),
144
- max_tokens: z.number().int().min(100).max(20000).optional(),
144
+ max_items: num('retrieval.max_items'),
145
+ max_tokens: num('retrieval.max_tokens'),
145
146
  cross_project: z.boolean().optional(),
146
147
  })
147
148
  .optional()
@@ -316,6 +317,24 @@ export const setConfig = {
316
317
  else {
317
318
  target = resolved.globalPath;
318
319
  }
320
+ // The same table and the same words as `eklavya config set` and the
321
+ // dashboard: zod has the types and number bounds, `SETTING_RULES` the rest
322
+ // (list lines, regex compile, text length). Only what this call sent is
323
+ // checked -- a value already in the file is not this call's to refuse.
324
+ for (const key of Object.keys(patch)) {
325
+ if (key === 'project')
326
+ continue;
327
+ const value = patch[key];
328
+ const leaves = isNamespace(key) && value && typeof value === 'object'
329
+ ? Object.keys(value).map((sub) => [`${key}.${sub}`, value, sub])
330
+ : [[key, patch, key]];
331
+ for (const [dotted, holder, field] of leaves) {
332
+ holder[field] = normalizeSetting(dotted, holder[field]);
333
+ const problem = settingProblem(dotted, holder[field]);
334
+ if (problem)
335
+ return { error: 'invalid_value', key: dotted, detail: problem };
336
+ }
337
+ }
319
338
  if (namespaced.length) {
320
339
  const existing = readConfigFile(target);
321
340
  for (const key of namespaced) {
@@ -327,6 +346,10 @@ export const setConfig = {
327
346
  }
328
347
  }
329
348
  try {
349
+ const overlay = { file: target, patch };
350
+ const combo = combinationProblem(scope === 'project' ? loadConfig(cwd, overlay).config : loadGlobalConfig(overlay));
351
+ if (combo)
352
+ return { error: 'invalid_combination', detail: combo };
330
353
  writeConfigFile(target, patch);
331
354
  }
332
355
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"config_tools.js","sourceRoot":"","sources":["../../src/tools/config_tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config_tools.js","sourceRoot":"","sources":["../../src/tools/config_tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAElE,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,qfAAqf;IACvf,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;KACzD;IACD,OAAO,EAAE,CAAC,IAA2C,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB;;;;;eAKG;YACH,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC;YAC1C,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,QAAQ,CAAC,UAAU;YAChC,YAAY,EAAE,QAAQ,CAAC,WAAW;YAClC,SAAS,EAAE,QAAQ,CAAC,QAAQ;YAC5B;;;;;;eAMG;YACH,OAAO,EAAE,cAAc,EAAE;YACzB,gFAAgF;YAChF,2DAA2D;YAC3D,qBAAqB,EAAE,QAAQ,CAAC,SAAS;YACzC,qEAAqE;YACrE,yEAAyE;YACzE,gCAAgC;YAChC,kBAAkB,EAAE,QAAQ,CAAC,OAAO;SACrC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,SAAS,GAAG,CAAC,GAAW;IACtB,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC;IAChG,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAED,8DAA8D;AAC9D,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAI,cAAqD,CAAC,GAAG,CAAC,CAAC;IAC1E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,o3BAAo3B;IACt3B,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;aAC9C,QAAQ,EAAE;aACV,QAAQ,CAAC,4JAA4J,CAAC;QACzK,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxD,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAChC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACxC,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,0fAA0f,CAC3f;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;aACpC,QAAQ,EAAE;aACV,QAAQ,CACP,gQAAgQ,CACjQ;QACH,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACrC,QAAQ,EAAE;aACV,QAAQ,CACP,kMAAkM,CACnM;QACH,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;aAC5B,QAAQ,EAAE;aACV,QAAQ,CACP,oQAAoQ,CACrQ;QACH,+BAA+B,EAAE,GAAG,CAAC,iCAAiC,CAAC;QACvE,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxC,QAAQ,EAAE;aACV,QAAQ,CACP,gTAAgT,CACjT;QACH,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC;aAClC,QAAQ,CAAC,yFAAyF,CAAC;QACtG,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,CAAC;aACxC,QAAQ,CAAC,0EAA0E,CAAC;QACvF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,yEAAyE,CAAC;QACtF,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC;QACrC,sBAAsB,EAAE,GAAG,CAAC,wBAAwB,CAAC;QACrD,2BAA2B,EAAE,GAAG,CAAC,6BAA6B,CAAC;QAC/D,4BAA4B,EAAE,GAAG,CAAC,8BAA8B,CAAC;QACjE,2BAA2B,EAAE,GAAG,CAAC,6BAA6B,CAAC;QAC/D,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC7B,gBAAgB,EAAE,CAAC;aAChB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uIAAuI,CAAC;QACpJ,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,sGAAsG,CAAC;QACnH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,+IAA+I,CAAC;QAC5J,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/C,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;YACtD,gBAAgB,EAAE,GAAG,CAAC,yBAAyB,CAAC;YAChD,cAAc,EAAE,GAAG,CAAC,uBAAuB,CAAC;SAC7C,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,0NAA0N,CAC3N;QACH,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC1D,SAAS,EAAE,GAAG,CAAC,qBAAqB,CAAC;YACrC,UAAU,EAAE,GAAG,CAAC,sBAAsB,CAAC;YACvC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,oMAAoM,CACrM;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC7C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SAChD,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,iHAAiH,CAClH;QACH,aAAa,EAAE,CAAC;aACb,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;gBAClB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;aACvC,CAAC,CACH;iBACA,QAAQ,EAAE;SACd,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,uHAAuH,CACxH;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC5C,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,2HAA2H,CAC5H;QACH,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,QAAQ,EAAE,CAAC;iBACR,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;iBAC3D,QAAQ,EAAE;iBACV,QAAQ,EAAE;YACb,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;iBAC3D,QAAQ,EAAE;iBACV,QAAQ,EAAE;SACd,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,+NAA+N,CAChO;KACJ;IACD,OAAO,EAAE,CAAC,IAA6B,EAAE,GAAG,EAAE,EAAE;QAC9C,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,QAAQ,GAAI,IAAI,CAAC,KAA+D,IAAI,QAAQ,CAAC;QACnG,MAAM,KAAK,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAyB,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAEjC,+EAA+E;QAC/E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,kCAAkC;QAClC,0EAA0E;QAC1E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,qDAAqD;QACrD,EAAE;QACF,0EAA0E;QAC1E,oDAAoD;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAA0B,CAAC;QAChD,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;iBACrE,IAAI,OAAO,KAAK,UAAU;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBAC1E,IAAI,OAAO,KAAK,KAAK;gBAAE,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC9E,CAAC;QAED,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;QACrF,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,wEAAwE;YACxE,kEAAkE;YAClE,wEAAwE;YACxE,qEAAqE;YACrE,kCAAkC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,KAAK,CAAC,IAA2C,CAAC;YACpE,MAAM,SAAS,GAAG,OAAO,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChD,OAAO;oBACL,KAAK,EAAE,4BAA4B;oBACnC,MAAM,EACJ,wRAAwR;iBAC3R,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAgC,EAAE,GAAG,CAAC,CAAC;YAErF,qEAAqE;YACrE,oEAAoE;YACpE,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBACpC,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,MAAM,EACJ,uOAAuO;iBAC1O,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC;YACtB,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAEpC,OAAO;gBACL,KAAK;gBACL,UAAU,EAAE,OAAO;gBACnB,WAAW,EAAE,GAAG;gBAChB,wEAAwE;gBACxE,iEAAiE;gBACjE,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,gEAAgE;gBAChE,wEAAwE;gBACxE,gEAAgE;gBAChE,IAAI,EACF,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;oBAClC,CAAC,CAAC,qPAAqP;oBACvP,CAAC,CAAC,SAAS;aAChB,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,0DAA0D;QAC1D,EAAE;QACF,sEAAsE;QACtE,+DAA+D;QAC/D,mEAAmE;QACnE,IAAI,MAAc,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO;oBACL,KAAK,EAAE,cAAc;oBACrB,MAAM,EACJ,+NAA+N;iBAClO,CAAC;YACJ,CAAC;YACD,uEAAuE;YACvE,qEAAqE;YACrE,0EAA0E;YAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,QAAQ,CAAC,UAAU,mJAAmJ;iBACjP,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC9B,2EAA2E;YAC3E,oEAAoE;YACpE,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,sDAAsD;YACtD,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC/B,CAAC;QAED,oEAAoE;QACpE,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACnE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,KAAgC,EAAE,GAAG,CAAU,CAAC;gBAC/H,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAU,CAAC,CAAC;YACjC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,IAAI,OAAO;oBAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG;oBACX,GAAG,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,GAAI,KAAK,CAAC,GAAG,CAA6B;iBAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpH,IAAI,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAClE,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,wEAAwE;YACxE,iCAAiC;YACjC,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7E,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClG,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACvE,CAAC;CACF,CAAC"}
@@ -263,17 +263,17 @@ eklavya dashboard --port 8080
263
263
  eklavya dashboard --no-open # serve it, print the URL, open nothing
264
264
  ```
265
265
 
266
- It binds to loopback only and reads the local database — that is the whole
267
- security model, and it is worth saying when someone asks where their data
268
- goes. The process runs until interrupted, so start it in the background and
266
+ It binds to loopback only and reads the local database; its one write is a
267
+ settings change, guarded by a per-start token in the page. Worth saying when
268
+ someone asks where their data goes. The process runs until interrupted, so start it in the background and
269
269
  hand back the URL rather than blocking the session on it.
270
270
 
271
271
  It opens the browser itself, so do not tell them to click the URL. Use
272
272
  `--no-open` when they only asked *where* the dashboard is, or when the session
273
273
  is on a machine with no desktop.
274
274
 
275
- Two workflows, Learning and Memory, each with its own Dashboard and every page
276
- deep-linkable — hand back the one that answers what was actually asked rather
275
+ Four workflows, Learning, Memory, Artifacts and Settings, each with its own
276
+ Dashboard and every page deep-linkable — hand back the one that answers what was actually asked rather
277
277
  than the bare root. Add `?project=<absolute repo path>` to open it scoped to one
278
278
  project; the ids are the ones `/api/projects` lists.
279
279
 
@@ -293,6 +293,7 @@ project; the ids are the ones `/api/projects` lists.
293
293
  | is capture healthy | `/#/memory/health` |
294
294
  | the pages Eklavya wrote me, search them | `/#/artifacts/dashboard` (or `/explainer` for explainers only) |
295
295
  | which projects have pages | `/#/artifacts/projects` |
296
+ | change my settings in a page, see what a project overrides | `/#/settings/dashboard`, `/#/settings/user`, `/#/settings/project?project=<path>` |
296
297
 
297
298
  The older single-workflow links (`/#/overview`, `/#/concepts`, `/#/memory`,
298
299
  `/#/entry/<id>` and the rest) still open the right page, but hand back the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eklavya",
3
- "version": "1.33.3",
3
+ "version": "1.34.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": {