@geminilight/mindos 1.1.38 → 1.1.40

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 (51) hide show
  1. package/README.md +1 -0
  2. package/README_zh.md +1 -0
  3. package/dist/agent/index.d.ts +1 -1
  4. package/dist/agent/index.d.ts.map +1 -1
  5. package/dist/agent/index.js +1 -1
  6. package/dist/agent/index.js.map +1 -1
  7. package/dist/agent/ledger/run-ledger-types.d.ts +1 -1
  8. package/dist/agent/ledger/run-ledger.js +2 -2
  9. package/dist/agent/mindos-pi/extension/kb-extension.js +1 -1
  10. package/dist/agent/prompt/base-prompt.d.ts +0 -4
  11. package/dist/agent/prompt/base-prompt.d.ts.map +1 -1
  12. package/dist/agent/prompt/base-prompt.js +0 -27
  13. package/dist/agent/prompt/base-prompt.js.map +1 -1
  14. package/dist/agent/prompt/index.d.ts +1 -1
  15. package/dist/agent/prompt/index.d.ts.map +1 -1
  16. package/dist/agent/prompt/index.js +1 -1
  17. package/dist/agent/prompt/index.js.map +1 -1
  18. package/dist/agent/session/index.d.ts +1 -2
  19. package/dist/agent/session/index.d.ts.map +1 -1
  20. package/dist/agent/session/index.js +0 -5
  21. package/dist/agent/session/index.js.map +1 -1
  22. package/dist/agent/tool/capability-registry.js +6 -8
  23. package/dist/agent/tool/capability-registry.js.map +1 -1
  24. package/dist/agent/tool/kb-tools.d.ts +4 -4
  25. package/dist/agent/tool/kb-tools.d.ts.map +1 -1
  26. package/dist/agent/tool/kb-tools.js +4 -4
  27. package/dist/agent/tool/kb-tools.js.map +1 -1
  28. package/dist/agent/tool/permission-policy.d.ts +3 -4
  29. package/dist/agent/tool/permission-policy.d.ts.map +1 -1
  30. package/dist/agent/tool/permission-policy.js +10 -10
  31. package/dist/agent/tool/permission-policy.js.map +1 -1
  32. package/dist/client.d.ts +2 -1
  33. package/dist/client.d.ts.map +1 -1
  34. package/dist/client.js.map +1 -1
  35. package/dist/server/handlers/agent-capabilities.d.ts +5 -3
  36. package/dist/server/handlers/agent-capabilities.d.ts.map +1 -1
  37. package/dist/server/handlers/agent-capabilities.js +11 -10
  38. package/dist/server/handlers/agent-capabilities.js.map +1 -1
  39. package/dist/server/handlers/ask.d.ts +2 -1
  40. package/dist/server/handlers/ask.d.ts.map +1 -1
  41. package/dist/server/handlers/ask.js +3 -2
  42. package/dist/server/handlers/ask.js.map +1 -1
  43. package/dist/server/handlers/assistants.d.ts +20 -2
  44. package/dist/server/handlers/assistants.d.ts.map +1 -1
  45. package/dist/server/handlers/assistants.js +306 -39
  46. package/dist/server/handlers/assistants.js.map +1 -1
  47. package/dist/server/handlers/file.js +6 -4
  48. package/dist/server/handlers/file.js.map +1 -1
  49. package/dist/server/handlers/inbox.js +1 -1
  50. package/dist/server/handlers/inbox.js.map +1 -1
  51. package/package.json +9 -9
@@ -5,18 +5,19 @@ import { json, privateCacheHeaders } from '../response.js';
5
5
  export const MINDOS_ASSISTANTS_ROOT = '.mindos/assistants';
6
6
  const SAFE_ASSISTANT_ID = /^[a-z0-9][a-z0-9-]*$/;
7
7
  const MAX_PROMPT_BYTES = 256 * 1024;
8
+ const ASSISTANT_PROFILE_VERSION = 1;
8
9
  const BUILTIN_ASSISTANT_IDS = new Set([
9
10
  'inbox-organizer',
10
11
  'dreaming',
11
- 'daily-signal',
12
- 'decision-synthesizer',
13
- 'rule-keeper',
14
- 'boundary-reviewer',
15
- 'method-organizer',
16
- 'checklist-builder',
17
- 'tool-inventory',
18
- 'resource-auditor',
19
12
  ]);
13
+ const DEFAULT_ASSISTANT_PROFILE = {
14
+ version: ASSISTANT_PROFILE_VERSION,
15
+ mode: 'subagent',
16
+ runtime: 'mindos',
17
+ model: 'default',
18
+ permission: 'ask',
19
+ hidden: false,
20
+ };
20
21
  export function handleAssistantsGet(services) {
21
22
  try {
22
23
  return json({
@@ -42,35 +43,40 @@ export function handleAssistantsPost(body, services) {
42
43
  if (isMindosBuiltinAssistantId(assistantId)) {
43
44
  return json({ error: 'Built-in assistants are managed by MindOS' }, { status: 409 });
44
45
  }
45
- const rootRelPath = posix.join(MINDOS_ASSISTANTS_ROOT, assistantId);
46
46
  ensureAssistantsRoot(services.mindRoot);
47
- const rootPath = resolveSafe(services.mindRoot, rootRelPath);
48
- if (existsSync(rootPath)) {
47
+ const fileRelPath = assistantMarkdownPath(assistantId);
48
+ const legacyRootRelPath = assistantLegacyRootPath(assistantId);
49
+ const filePath = resolveSafe(services.mindRoot, fileRelPath);
50
+ const legacyRootPath = resolveSafe(services.mindRoot, legacyRootRelPath);
51
+ if (existsSync(filePath) || existsSync(legacyRootPath)) {
49
52
  return json({ error: 'Assistant already exists' }, { status: 409 });
50
53
  }
51
- mkdirSync(rootPath, { recursive: false });
52
- resolveExistingSafe(services.mindRoot, rootRelPath);
54
+ resolveExistingSafe(services.mindRoot, fileRelPath);
53
55
  const name = sanitizeString(record.name, 80) ?? titleizeAssistantId(assistantId);
54
56
  const description = sanitizeString(record.description, 280) ?? '';
55
- const preferredAgent = sanitizeString(record.preferredAgent, 120) ?? 'mindos-agent';
57
+ const prompt = sanitizeMultiline(record.prompt) ?? defaultAssistantPrompt(name, description);
58
+ const runtime = sanitizeRuntime(record.runtime) ?? 'mindos';
56
59
  const profile = {
57
60
  name,
58
- description,
59
- schemaVersion: 1,
60
- preferredAgent,
61
- skills: sanitizeStringArray(record.skills) ?? [],
62
- mcp: sanitizeStringArray(record.mcp) ?? [],
61
+ description: description || 'Describe what this assistant should help with.',
62
+ version: sanitizeAssistantVersion(record.version).version,
63
+ mode: 'subagent',
64
+ runtime,
65
+ model: sanitizeString(record.model, 120) ?? 'default',
66
+ permission: sanitizePermission(record.permission),
67
+ hidden: readBoolean(record.hidden, false),
68
+ color: sanitizeString(record.color, 48) ?? 'amber',
69
+ steps: sanitizePositiveInteger(record.steps) ?? 12,
63
70
  };
64
- const prompt = sanitizeMultiline(record.prompt) ?? defaultAssistantPrompt(name, description);
65
- writeFileSync(resolveSafe(services.mindRoot, posix.join(rootRelPath, 'profile.json')), `${JSON.stringify(profile, null, 2)}\n`, 'utf-8');
66
- writeFileSync(resolveSafe(services.mindRoot, posix.join(rootRelPath, 'prompt.md')), prompt.endsWith('\n') ? prompt : `${prompt}\n`, 'utf-8');
71
+ writeFileSync(filePath, serializeAssistantMarkdown(profile, prompt), 'utf-8');
67
72
  return json({
68
73
  ok: true,
69
74
  id: assistantId,
70
75
  paths: {
71
- root: rootRelPath,
72
- profile: posix.join(rootRelPath, 'profile.json'),
73
- prompt: posix.join(rootRelPath, 'prompt.md'),
76
+ root: MINDOS_ASSISTANTS_ROOT,
77
+ profile: fileRelPath,
78
+ prompt: fileRelPath,
79
+ file: fileRelPath,
74
80
  },
75
81
  }, { status: 201 });
76
82
  }
@@ -88,7 +94,16 @@ export function handleAssistantsDelete(body, services) {
88
94
  if (isMindosBuiltinAssistantId(assistantId)) {
89
95
  return json({ error: 'Built-in assistants cannot be deleted' }, { status: 403 });
90
96
  }
91
- const rootRelPath = posix.join(MINDOS_ASSISTANTS_ROOT, assistantId);
97
+ const fileRelPath = assistantMarkdownPath(assistantId);
98
+ const filePath = resolveExistingSafe(services.mindRoot, fileRelPath);
99
+ if (existsSync(filePath)) {
100
+ if (!lstatSync(filePath).isFile()) {
101
+ return json({ error: 'Assistant path is not a file' }, { status: 409 });
102
+ }
103
+ rmSync(filePath, { force: false });
104
+ return json({ ok: true, id: assistantId });
105
+ }
106
+ const rootRelPath = assistantLegacyRootPath(assistantId);
92
107
  const rootPath = resolveExistingSafe(services.mindRoot, rootRelPath);
93
108
  if (!existsSync(rootPath)) {
94
109
  return json({ error: 'Assistant not found' }, { status: 404 });
@@ -109,16 +124,81 @@ export function listLocalAssistants(mindRoot) {
109
124
  return [];
110
125
  if (!statSync(rootPath).isDirectory())
111
126
  return [];
112
- return readdirSync(rootPath, { withFileTypes: true })
113
- .filter((entry) => entry.isDirectory() && SAFE_ASSISTANT_ID.test(entry.name))
114
- .map((entry) => readAssistantDirectory(mindRoot, entry.name))
115
- .sort((a, b) => a.name.localeCompare(b.name) || a.id.localeCompare(b.id));
127
+ const entries = readdirSync(rootPath, { withFileTypes: true });
128
+ const markdownIds = new Set();
129
+ const assistants = [];
130
+ for (const entry of entries) {
131
+ if (!entry.isFile() || !entry.name.endsWith('.md'))
132
+ continue;
133
+ const assistantId = entry.name.slice(0, -3);
134
+ if (!SAFE_ASSISTANT_ID.test(assistantId))
135
+ continue;
136
+ markdownIds.add(assistantId);
137
+ assistants.push(readAssistantMarkdownFile(mindRoot, assistantId));
138
+ }
139
+ for (const entry of entries) {
140
+ if (!entry.isDirectory() || !SAFE_ASSISTANT_ID.test(entry.name) || markdownIds.has(entry.name))
141
+ continue;
142
+ assistants.push(readAssistantDirectory(mindRoot, entry.name));
143
+ }
144
+ return assistants.sort((a, b) => a.name.localeCompare(b.name) || a.id.localeCompare(b.id));
116
145
  }
117
146
  export function isMindosBuiltinAssistantId(assistantId) {
118
147
  return BUILTIN_ASSISTANT_IDS.has(assistantId);
119
148
  }
149
+ function readAssistantMarkdownFile(mindRoot, assistantId) {
150
+ const filePath = assistantMarkdownPath(assistantId);
151
+ const file = readAssistantPrompt(mindRoot, filePath);
152
+ const parsed = parseAssistantMarkdown(file.content);
153
+ const promptBody = file.tooLarge ? '' : parsed.body;
154
+ const promptTitle = extractPromptTitle(promptBody);
155
+ const fallbackName = promptTitle ?? titleizeAssistantId(assistantId);
156
+ const source = isMindosBuiltinAssistantId(assistantId) ? 'builtin' : 'custom';
157
+ const healthIssues = assistantMarkdownHealthIssues(parsed, file);
158
+ const description = firstNonEmptyString(parsed.profile.description, makePreview(promptBody), 'Local assistant profile.');
159
+ return {
160
+ id: assistantId,
161
+ name: firstNonEmptyString(parsed.profile.name, fallbackName),
162
+ description,
163
+ version: parsed.profile.version,
164
+ mode: parsed.profile.mode,
165
+ runtime: parsed.profile.runtime,
166
+ model: parsed.profile.model,
167
+ permission: parsed.profile.permission,
168
+ hidden: parsed.profile.hidden,
169
+ ...(parsed.profile.color ? { color: parsed.profile.color } : {}),
170
+ ...(parsed.profile.steps ? { steps: parsed.profile.steps } : {}),
171
+ preferredAgent: runtimeToPreferredAgent(parsed.profile.runtime),
172
+ skills: [],
173
+ mcp: [],
174
+ source,
175
+ format: 'markdown',
176
+ deletable: source === 'custom',
177
+ paths: {
178
+ root: MINDOS_ASSISTANTS_ROOT,
179
+ profile: filePath,
180
+ prompt: filePath,
181
+ file: filePath,
182
+ },
183
+ prompt: {
184
+ exists: file.exists,
185
+ ...(promptBody ? { content: promptBody } : {}),
186
+ },
187
+ health: {
188
+ state: healthIssues.length > 0 ? 'warning' : 'ready',
189
+ issues: healthIssues,
190
+ },
191
+ promptPath: filePath,
192
+ profilePath: filePath,
193
+ promptReady: file.exists && !file.tooLarge && promptBody.trim().length > 0,
194
+ profileReady: parsed.ready,
195
+ ...(promptTitle ? { promptTitle } : {}),
196
+ promptPreview: makePreview(promptBody),
197
+ ...(parsed.error ? { profileError: parsed.error } : {}),
198
+ };
199
+ }
120
200
  function readAssistantDirectory(mindRoot, assistantId) {
121
- const rootRelPath = posix.join(MINDOS_ASSISTANTS_ROOT, assistantId);
201
+ const rootRelPath = assistantLegacyRootPath(assistantId);
122
202
  const promptPath = posix.join(MINDOS_ASSISTANTS_ROOT, assistantId, 'prompt.md');
123
203
  const profilePath = posix.join(MINDOS_ASSISTANTS_ROOT, assistantId, 'profile.json');
124
204
  const profile = readAssistantProfile(mindRoot, profilePath);
@@ -127,17 +207,24 @@ function readAssistantDirectory(mindRoot, assistantId) {
127
207
  const promptTitle = extractPromptTitle(promptBody);
128
208
  const fallbackName = promptTitle ?? titleizeAssistantId(assistantId);
129
209
  const source = isMindosBuiltinAssistantId(assistantId) ? 'builtin' : 'custom';
130
- const healthIssues = assistantHealthIssues(profile, prompt);
210
+ const healthIssues = legacyAssistantHealthIssues(profile, prompt);
131
211
  const description = firstNonEmptyString(profile.description, prompt.promptPreview, 'Local assistant profile.');
212
+ const runtime = normalizeLegacyPreferredAgent(profile.preferredAgent);
132
213
  return {
133
214
  id: assistantId,
134
215
  name: firstNonEmptyString(profile.name, fallbackName),
135
216
  description,
136
- schemaVersion: 1,
217
+ version: ASSISTANT_PROFILE_VERSION,
218
+ mode: DEFAULT_ASSISTANT_PROFILE.mode,
219
+ runtime,
220
+ model: DEFAULT_ASSISTANT_PROFILE.model,
221
+ permission: DEFAULT_ASSISTANT_PROFILE.permission,
222
+ hidden: false,
137
223
  ...(profile.preferredAgent ? { preferredAgent: profile.preferredAgent } : {}),
138
224
  skills: profile.skills,
139
225
  mcp: profile.mcp,
140
226
  source,
227
+ format: 'legacy-directory',
141
228
  deletable: source === 'custom',
142
229
  paths: {
143
230
  root: rootRelPath,
@@ -239,6 +326,95 @@ function readAssistantPrompt(mindRoot, promptPath) {
239
326
  return { exists: false, content: '', promptPreview: '' };
240
327
  }
241
328
  }
329
+ function parseAssistantMarkdown(content) {
330
+ const split = splitMarkdownFrontmatter(content);
331
+ const rawVersion = split.fields.version;
332
+ const version = sanitizeAssistantVersion(rawVersion);
333
+ const name = sanitizeString(split.fields.name, 80);
334
+ const description = sanitizeString(split.fields.description, 280);
335
+ const color = sanitizeString(split.fields.color, 48);
336
+ const steps = sanitizePositiveInteger(split.fields.steps);
337
+ const profile = {
338
+ ...(name ? { name } : {}),
339
+ ...(description ? { description } : {}),
340
+ version: version.version,
341
+ mode: sanitizeMode(split.fields.mode),
342
+ runtime: sanitizeRuntime(split.fields.runtime) ?? DEFAULT_ASSISTANT_PROFILE.runtime,
343
+ model: sanitizeString(split.fields.model, 120) ?? DEFAULT_ASSISTANT_PROFILE.model,
344
+ permission: sanitizePermission(split.fields.permission),
345
+ hidden: readBoolean(split.fields.hidden, DEFAULT_ASSISTANT_PROFILE.hidden),
346
+ ...(color ? { color } : {}),
347
+ ...(steps ? { steps } : {}),
348
+ };
349
+ const hasInvalidVersion = rawVersion !== undefined && version.invalid;
350
+ const ready = !split.invalid && !hasInvalidVersion && !split.missing;
351
+ return {
352
+ ready,
353
+ profile,
354
+ body: split.body,
355
+ missingFrontmatter: split.missing,
356
+ invalidVersion: hasInvalidVersion,
357
+ missingDescription: !description,
358
+ ...(split.invalid ? { error: 'invalid_frontmatter' } : {}),
359
+ };
360
+ }
361
+ function splitMarkdownFrontmatter(content) {
362
+ const normalized = content.replace(/\r\n/g, '\n');
363
+ if (!normalized.startsWith('---\n')) {
364
+ return { fields: {}, body: content.trim(), missing: true, invalid: false };
365
+ }
366
+ const match = normalized.match(/^---\n([\s\S]*?)\n---(?:\n|$)/);
367
+ if (!match) {
368
+ return { fields: {}, body: content.trim(), missing: false, invalid: true };
369
+ }
370
+ const parsed = parseFrontmatterFields(match[1] ?? '');
371
+ return {
372
+ fields: parsed.fields,
373
+ body: normalized.slice(match[0].length).replace(/^\n+/, '').trim(),
374
+ missing: false,
375
+ invalid: parsed.invalid,
376
+ };
377
+ }
378
+ function parseFrontmatterFields(raw) {
379
+ const fields = {};
380
+ let invalid = false;
381
+ for (const line of raw.split('\n')) {
382
+ const trimmed = line.trim();
383
+ if (!trimmed || trimmed.startsWith('#'))
384
+ continue;
385
+ const separator = trimmed.indexOf(':');
386
+ if (separator <= 0) {
387
+ invalid = true;
388
+ continue;
389
+ }
390
+ const key = trimmed.slice(0, separator).trim();
391
+ if (!/^[A-Za-z_][A-Za-z0-9_-]*$/.test(key)) {
392
+ invalid = true;
393
+ continue;
394
+ }
395
+ fields[key] = parseFrontmatterScalar(trimmed.slice(separator + 1).trim());
396
+ }
397
+ return { fields, invalid };
398
+ }
399
+ function parseFrontmatterScalar(value) {
400
+ if (!value)
401
+ return '';
402
+ if (value === 'true')
403
+ return true;
404
+ if (value === 'false')
405
+ return false;
406
+ if (/^-?\d+$/.test(value))
407
+ return Number(value);
408
+ if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
409
+ try {
410
+ return value.startsWith('"') ? JSON.parse(value) : value.slice(1, -1).replace(/''/g, "'");
411
+ }
412
+ catch {
413
+ return value.slice(1, -1);
414
+ }
415
+ }
416
+ return value;
417
+ }
242
418
  function sanitizeString(value, maxLength) {
243
419
  if (typeof value !== 'string')
244
420
  return undefined;
@@ -273,15 +449,52 @@ function sanitizeSchemaVersion(value) {
273
449
  return 1;
274
450
  return value;
275
451
  }
452
+ function sanitizeAssistantVersion(value) {
453
+ if (value === undefined)
454
+ return { version: ASSISTANT_PROFILE_VERSION, invalid: false };
455
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < 1) {
456
+ return { version: ASSISTANT_PROFILE_VERSION, invalid: true };
457
+ }
458
+ return { version: value, invalid: false };
459
+ }
460
+ function sanitizeMode(value) {
461
+ return value === 'subagent' ? 'subagent' : DEFAULT_ASSISTANT_PROFILE.mode;
462
+ }
463
+ function sanitizeRuntime(value) {
464
+ const runtime = sanitizeString(value, 80);
465
+ if (!runtime)
466
+ return undefined;
467
+ if (runtime === 'mindos-agent')
468
+ return 'mindos';
469
+ if (runtime === 'claude')
470
+ return 'claude-code';
471
+ return runtime;
472
+ }
473
+ function normalizeLegacyPreferredAgent(value) {
474
+ return sanitizeRuntime(value) ?? DEFAULT_ASSISTANT_PROFILE.runtime;
475
+ }
476
+ function runtimeToPreferredAgent(runtime) {
477
+ return runtime === 'mindos' ? 'mindos-agent' : runtime;
478
+ }
479
+ function sanitizePermission(value) {
480
+ if (value === 'read' || value === 'ask' || value === 'auto' || value === 'full')
481
+ return value;
482
+ return DEFAULT_ASSISTANT_PROFILE.permission;
483
+ }
484
+ function sanitizePositiveInteger(value) {
485
+ return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : undefined;
486
+ }
487
+ function readBoolean(value, fallback) {
488
+ return typeof value === 'boolean' ? value : fallback;
489
+ }
276
490
  function stripLeadingFrontmatter(content) {
277
491
  const normalized = content.replace(/\r\n/g, '\n');
278
492
  if (!normalized.startsWith('---\n'))
279
493
  return content.trim();
280
- const end = normalized.indexOf('\n---', 4);
281
- if (end === -1)
494
+ const match = normalized.match(/^---\n[\s\S]*?\n---(?:\n|$)/);
495
+ if (!match)
282
496
  return content.trim();
283
- const afterFence = normalized.slice(end + 4).replace(/^\n+/, '');
284
- return afterFence.trim();
497
+ return normalized.slice(match[0].length).replace(/^\n+/, '').trim();
285
498
  }
286
499
  function extractPromptTitle(content) {
287
500
  const match = content.match(/^#\s+(.+?)\s*$/m);
@@ -294,7 +507,7 @@ function makePreview(content, maxLength = 180) {
294
507
  .trim();
295
508
  if (normalized.length <= maxLength)
296
509
  return normalized;
297
- return `${normalized.slice(0, maxLength - 1).trimEnd()}…`;
510
+ return `${normalized.slice(0, maxLength - 1).trimEnd()}...`;
298
511
  }
299
512
  function titleizeAssistantId(assistantId) {
300
513
  return assistantId
@@ -317,6 +530,12 @@ function ensureAssistantsRoot(mindRoot) {
317
530
  mkdirSync(rootPath, { recursive: true });
318
531
  resolveExistingSafe(mindRoot, MINDOS_ASSISTANTS_ROOT);
319
532
  }
533
+ function assistantMarkdownPath(assistantId) {
534
+ return posix.join(MINDOS_ASSISTANTS_ROOT, `${assistantId}.md`);
535
+ }
536
+ function assistantLegacyRootPath(assistantId) {
537
+ return posix.join(MINDOS_ASSISTANTS_ROOT, assistantId);
538
+ }
320
539
  function defaultAssistantPrompt(name, description) {
321
540
  return `# ${name}
322
541
 
@@ -338,6 +557,33 @@ Return a concise, reviewable result.
338
557
  - Do not read secrets or credentials.
339
558
  `;
340
559
  }
560
+ function serializeAssistantMarkdown(profile, body) {
561
+ const frontmatter = [
562
+ ['name', profile.name],
563
+ ['description', profile.description],
564
+ ['version', profile.version],
565
+ ['mode', profile.mode],
566
+ ['runtime', profile.runtime],
567
+ ['model', profile.model],
568
+ ['permission', profile.permission],
569
+ ['hidden', profile.hidden],
570
+ ['color', profile.color],
571
+ ['steps', profile.steps],
572
+ ];
573
+ const lines = frontmatter
574
+ .filter((entry) => entry[1] !== undefined && entry[1] !== '')
575
+ .map(([key, value]) => `${key}: ${formatFrontmatterScalar(value)}`);
576
+ const normalizedBody = body.replace(/\r\n/g, '\n').trim();
577
+ return `---\n${lines.join('\n')}\n---\n\n${normalizedBody}\n`;
578
+ }
579
+ function formatFrontmatterScalar(value) {
580
+ if (typeof value === 'number' || typeof value === 'boolean')
581
+ return String(value);
582
+ if (/^[A-Za-z0-9][A-Za-z0-9 ._/-]*$/.test(value) && !/^(true|false|null)$/i.test(value)) {
583
+ return value;
584
+ }
585
+ return JSON.stringify(value);
586
+ }
341
587
  function assistantErrorResponse(error) {
342
588
  const message = error instanceof Error ? error.message : String(error);
343
589
  if (/access denied|outside root|absolute paths|symlink/i.test(message)) {
@@ -345,7 +591,28 @@ function assistantErrorResponse(error) {
345
591
  }
346
592
  return json({ error: message }, { status: 500 });
347
593
  }
348
- function assistantHealthIssues(profile, prompt) {
594
+ function assistantMarkdownHealthIssues(parsed, prompt) {
595
+ const issues = [];
596
+ if (!prompt.exists)
597
+ issues.push({ code: 'missing_prompt' });
598
+ if (parsed.missingFrontmatter)
599
+ issues.push({ code: 'missing_frontmatter' });
600
+ if (parsed.error === 'invalid_frontmatter')
601
+ issues.push({ code: 'invalid_frontmatter' });
602
+ if (parsed.invalidVersion)
603
+ issues.push({ code: 'invalid_version' });
604
+ if (parsed.missingDescription)
605
+ issues.push({ code: 'missing_description' });
606
+ if (prompt.tooLarge) {
607
+ issues.push({
608
+ code: 'prompt_too_large',
609
+ sizeBytes: prompt.tooLarge.sizeBytes,
610
+ maxBytes: prompt.tooLarge.maxBytes,
611
+ });
612
+ }
613
+ return issues;
614
+ }
615
+ function legacyAssistantHealthIssues(profile, prompt) {
349
616
  const issues = [];
350
617
  if (!prompt.exists)
351
618
  issues.push({ code: 'missing_prompt' });
@@ -1 +1 @@
1
- {"version":3,"file":"assistants.js","sourceRoot":"","sources":["../../../src/server/handlers/assistants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistants.js","sourceRoot":"","sources":["../../../src/server/handlers/assistants.ts"],"names":[],"mappings":"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"}
@@ -210,10 +210,12 @@ function existingKnowledgePath(mindRoot, filePath) {
210
210
  function isBuiltinAssistantPath(filePath) {
211
211
  const normalized = filePath.split('\\').join('/').replace(/^\/+/, '').replace(/\/+$/, '');
212
212
  const parts = normalized.split('/');
213
- return parts[0] === '.mindos'
214
- && parts[1] === 'assistants'
215
- && typeof parts[2] === 'string'
216
- && isMindosBuiltinAssistantId(parts[2]);
213
+ if (parts[0] !== '.mindos' || parts[1] !== 'assistants' || typeof parts[2] !== 'string')
214
+ return false;
215
+ if (parts.length === 3 && parts[2].endsWith('.md')) {
216
+ return isMindosBuiltinAssistantId(parts[2].slice(0, -3));
217
+ }
218
+ return isMindosBuiltinAssistantId(parts[2]);
217
219
  }
218
220
  function assertNotBuiltinAssistantDestructivePath(filePath, operation) {
219
221
  if (!isBuiltinAssistantPath(filePath))