@geminilight/mindos 1.1.37 → 1.1.39
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.
- package/README.md +4 -2
- package/README_zh.md +4 -2
- package/bin/mindos-shim.cjs +58 -9
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/ledger/run-ledger-types.d.ts +1 -1
- package/dist/agent/ledger/run-ledger.js +2 -2
- package/dist/agent/mindos-pi/extension/kb-extension.js +1 -1
- package/dist/agent/prompt/base-prompt.d.ts +0 -4
- package/dist/agent/prompt/base-prompt.d.ts.map +1 -1
- package/dist/agent/prompt/base-prompt.js +0 -27
- package/dist/agent/prompt/base-prompt.js.map +1 -1
- package/dist/agent/prompt/context-prompt.d.ts +10 -8
- package/dist/agent/prompt/context-prompt.d.ts.map +1 -1
- package/dist/agent/prompt/context-prompt.js +13 -2
- package/dist/agent/prompt/context-prompt.js.map +1 -1
- package/dist/agent/prompt/index.d.ts +2 -2
- package/dist/agent/prompt/index.d.ts.map +1 -1
- package/dist/agent/prompt/index.js +1 -1
- package/dist/agent/prompt/index.js.map +1 -1
- package/dist/agent/session/index.d.ts +4 -2
- package/dist/agent/session/index.d.ts.map +1 -1
- package/dist/agent/session/index.js +11 -7
- package/dist/agent/session/index.js.map +1 -1
- package/dist/agent/tool/capability-registry.js +6 -8
- package/dist/agent/tool/capability-registry.js.map +1 -1
- package/dist/agent/tool/kb-tools.d.ts +4 -4
- package/dist/agent/tool/kb-tools.d.ts.map +1 -1
- package/dist/agent/tool/kb-tools.js +4 -4
- package/dist/agent/tool/kb-tools.js.map +1 -1
- package/dist/agent/tool/permission-policy.d.ts +3 -4
- package/dist/agent/tool/permission-policy.d.ts.map +1 -1
- package/dist/agent/tool/permission-policy.js +10 -10
- package/dist/agent/tool/permission-policy.js.map +1 -1
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/knowledge/spaces/index.d.ts.map +1 -1
- package/dist/knowledge/spaces/index.js +5 -0
- package/dist/knowledge/spaces/index.js.map +1 -1
- package/dist/server/handlers/agent-capabilities.d.ts +5 -3
- package/dist/server/handlers/agent-capabilities.d.ts.map +1 -1
- package/dist/server/handlers/agent-capabilities.js +11 -10
- package/dist/server/handlers/agent-capabilities.js.map +1 -1
- package/dist/server/handlers/ask.d.ts +2 -1
- package/dist/server/handlers/ask.d.ts.map +1 -1
- package/dist/server/handlers/ask.js +3 -2
- package/dist/server/handlers/ask.js.map +1 -1
- package/dist/server/handlers/assistants.d.ts +20 -2
- package/dist/server/handlers/assistants.d.ts.map +1 -1
- package/dist/server/handlers/assistants.js +306 -39
- package/dist/server/handlers/assistants.js.map +1 -1
- package/dist/server/handlers/file.js +11 -5
- package/dist/server/handlers/file.js.map +1 -1
- package/dist/server/handlers/inbox.js +1 -1
- package/dist/server/handlers/inbox.js.map +1 -1
- package/dist/server/handlers/setup.d.ts +2 -2
- package/dist/server/handlers/setup.d.ts.map +1 -1
- package/dist/server/handlers/setup.js +1 -1
- package/dist/server/handlers/setup.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/runtime.d.ts.map +1 -1
- package/dist/server/runtime.js +5 -1
- package/dist/server/runtime.js.map +1 -1
- package/dist/setup/index.d.ts +9 -10
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +26 -24
- package/dist/setup/index.js.map +1 -1
- package/package.json +9 -9
- package/src/cli.js +0 -1
|
@@ -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
|
|
48
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
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:
|
|
72
|
-
profile:
|
|
73
|
-
prompt:
|
|
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
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
|
281
|
-
if (
|
|
494
|
+
const match = normalized.match(/^---\n[\s\S]*?\n---(?:\n|$)/);
|
|
495
|
+
if (!match)
|
|
282
496
|
return content.trim();
|
|
283
|
-
|
|
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
|
|
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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"}
|
|
@@ -129,7 +129,7 @@ function listDetailedSpaces(mindRoot) {
|
|
|
129
129
|
if (!existsSync(root))
|
|
130
130
|
return [];
|
|
131
131
|
return readdirSync(root, { withFileTypes: true })
|
|
132
|
-
.filter((entry) => entry.isDirectory() && !entry.name.startsWith('.'))
|
|
132
|
+
.filter((entry) => entry.isDirectory() && !entry.name.startsWith('.') && isMindSpaceDirectory(root, entry.name))
|
|
133
133
|
.map((entry) => {
|
|
134
134
|
const spacePath = entry.name;
|
|
135
135
|
return {
|
|
@@ -142,6 +142,10 @@ function listDetailedSpaces(mindRoot) {
|
|
|
142
142
|
.filter((space) => space.fileCount > 0 || space.description)
|
|
143
143
|
.sort((a, b) => a.path.localeCompare(b.path));
|
|
144
144
|
}
|
|
145
|
+
function isMindSpaceDirectory(root, name) {
|
|
146
|
+
const instructionPath = join(root, name, 'INSTRUCTION.md');
|
|
147
|
+
return existsSync(instructionPath) && statSync(instructionPath).isFile();
|
|
148
|
+
}
|
|
145
149
|
function listDirectories(mindRoot) {
|
|
146
150
|
const root = resolve(mindRoot);
|
|
147
151
|
if (!existsSync(root))
|
|
@@ -206,10 +210,12 @@ function existingKnowledgePath(mindRoot, filePath) {
|
|
|
206
210
|
function isBuiltinAssistantPath(filePath) {
|
|
207
211
|
const normalized = filePath.split('\\').join('/').replace(/^\/+/, '').replace(/\/+$/, '');
|
|
208
212
|
const parts = normalized.split('/');
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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]);
|
|
213
219
|
}
|
|
214
220
|
function assertNotBuiltinAssistantDestructivePath(filePath, operation) {
|
|
215
221
|
if (!isBuiltinAssistantPath(filePath))
|