@lovelybunch/core 1.0.75-alpha.1 → 1.0.75-alpha.10

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 (43) hide show
  1. package/dist/agent-instructions.d.ts +17 -0
  2. package/dist/agent-instructions.d.ts.map +1 -0
  3. package/dist/agent-instructions.js +160 -0
  4. package/dist/agent-instructions.js.map +1 -0
  5. package/dist/context.d.ts +8 -8
  6. package/dist/index.d.ts +2 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/knowledge.d.ts +40 -40
  11. package/dist/knowledge.js +1 -1
  12. package/dist/knowledge.js.map +1 -1
  13. package/dist/logging/index.d.ts +5 -5
  14. package/dist/logging/index.d.ts.map +1 -1
  15. package/dist/logging/index.js +5 -5
  16. package/dist/logging/index.js.map +1 -1
  17. package/dist/logging/kinds.d.ts +24 -24
  18. package/dist/logging/kinds.d.ts.map +1 -1
  19. package/dist/logging/kinds.js +24 -24
  20. package/dist/logging/kinds.js.map +1 -1
  21. package/dist/markdown-storage.d.ts +12 -11
  22. package/dist/markdown-storage.d.ts.map +1 -1
  23. package/dist/markdown-storage.js +213 -143
  24. package/dist/markdown-storage.js.map +1 -1
  25. package/dist/proposals.d.ts +136 -136
  26. package/dist/skill-instructions.d.ts +19 -0
  27. package/dist/skill-instructions.d.ts.map +1 -0
  28. package/dist/skill-instructions.js +165 -0
  29. package/dist/skill-instructions.js.map +1 -0
  30. package/dist/storage.d.ts +21 -24
  31. package/dist/storage.d.ts.map +1 -1
  32. package/dist/storage.js +155 -181
  33. package/dist/storage.js.map +1 -1
  34. package/dist/system-prompts/coconut-assistant.md +40 -6
  35. package/dist/system-prompts/schema/agent.schema.md +1 -1
  36. package/dist/system-prompts/schema/knowledge.schema.md +2 -2
  37. package/dist/system-prompts/schema/skill.schema.md +73 -0
  38. package/dist/system-prompts/schema/{proposal.schema.md → task.schema.md} +2 -2
  39. package/dist/tasks.d.ts +764 -0
  40. package/dist/tasks.d.ts.map +1 -0
  41. package/dist/tasks.js +483 -0
  42. package/dist/tasks.js.map +1 -0
  43. package/package.json +2 -2
@@ -4,20 +4,20 @@ import matter from 'gray-matter';
4
4
  import { schemaTemplates } from './schema-templates.js';
5
5
  export class MarkdownStorageAdapter {
6
6
  basePath;
7
- proposalsPath;
7
+ tasksPath;
8
8
  configPath;
9
- agentsPath;
9
+ skillsPath;
10
10
  constructor(basePath = '.nut') {
11
11
  this.basePath = basePath;
12
- this.proposalsPath = path.join(basePath, 'proposals');
12
+ this.tasksPath = path.join(basePath, 'tasks');
13
13
  this.configPath = path.join(basePath, 'config.json');
14
- this.agentsPath = path.join(basePath, 'agents');
14
+ this.skillsPath = path.join(basePath, 'skills');
15
15
  }
16
16
  async init() {
17
17
  // Create .nut directory structure
18
18
  await fs.mkdir(this.basePath, { recursive: true });
19
- await fs.mkdir(this.proposalsPath, { recursive: true });
20
- await fs.mkdir(this.agentsPath, { recursive: true });
19
+ await fs.mkdir(this.tasksPath, { recursive: true });
20
+ await fs.mkdir(this.skillsPath, { recursive: true });
21
21
  // Create MCP directory and config
22
22
  const mcpPath = path.join(this.basePath, 'mcp');
23
23
  await fs.mkdir(mcpPath, { recursive: true });
@@ -65,63 +65,63 @@ export class MarkdownStorageAdapter {
65
65
  async resetSchemas() {
66
66
  await this.ensureSchemaFiles({ force: true });
67
67
  }
68
- async saveProposal(proposal) {
69
- // Ensure the proposals directory exists
70
- await fs.mkdir(this.proposalsPath, { recursive: true });
71
- const filePath = path.join(this.proposalsPath, `${proposal.id}.md`);
72
- // Check for duplicate ID on new proposals (createdAt equals updatedAt)
73
- const isNewProposal = proposal.metadata.createdAt.getTime() === proposal.metadata.updatedAt.getTime();
74
- if (isNewProposal && await this.fileExists(filePath)) {
75
- throw new Error(`Proposal with ID "${proposal.id}" already exists. This can happen if proposals are created too quickly. Please try again.`);
68
+ async saveTask(task) {
69
+ // Ensure the tasks directory exists
70
+ await fs.mkdir(this.tasksPath, { recursive: true });
71
+ const filePath = path.join(this.tasksPath, `${task.id}.md`);
72
+ // Check for duplicate ID on new tasks (createdAt equals updatedAt)
73
+ const isNewTask = task.metadata.createdAt.getTime() === task.metadata.updatedAt.getTime();
74
+ if (isNewTask && await this.fileExists(filePath)) {
75
+ throw new Error(`Task with ID "${task.id}" already exists. This can happen if tasks are created too quickly. Please try again.`);
76
76
  }
77
77
  // Create frontmatter (filter out undefined values)
78
78
  // Normalize date fields in case callers passed ISO strings
79
- const createdAt = proposal.metadata.createdAt instanceof Date
80
- ? proposal.metadata.createdAt
81
- : new Date(proposal.metadata.createdAt);
82
- const updatedAt = proposal.metadata.updatedAt instanceof Date
83
- ? proposal.metadata.updatedAt
84
- : new Date(proposal.metadata.updatedAt);
79
+ const createdAt = task.metadata.createdAt instanceof Date
80
+ ? task.metadata.createdAt
81
+ : new Date(task.metadata.createdAt);
82
+ const updatedAt = task.metadata.updatedAt instanceof Date
83
+ ? task.metadata.updatedAt
84
+ : new Date(task.metadata.updatedAt);
85
85
  const frontmatter = {
86
- id: proposal.id,
87
- title: proposal.title,
86
+ id: task.id,
87
+ title: task.title,
88
88
  // Deprecated: intent is kept for backward compatibility during migration
89
89
  // TODO: Remove intent field in future version
90
- ...(proposal.intent && { intent: proposal.intent }),
90
+ ...(task.intent && { intent: task.intent }),
91
91
  author: {
92
- name: proposal.author.name,
93
- role: this.getAuthorRole(proposal.author),
94
- type: proposal.author.type
92
+ name: task.author.name,
93
+ role: this.getAuthorRole(task.author),
94
+ type: task.author.type
95
95
  },
96
- status: proposal.status,
96
+ status: task.status,
97
97
  createdAt: createdAt.toISOString(),
98
98
  updatedAt: updatedAt.toISOString()
99
99
  };
100
100
  // Add optional fields only if they have values
101
- if (proposal.author.email) {
102
- frontmatter.author.email = proposal.author.email;
101
+ if (task.author.email) {
102
+ frontmatter.author.email = task.author.email;
103
103
  }
104
- if (proposal.featureFlags.length > 0) {
105
- frontmatter.featureFlags = proposal.featureFlags.map(f => f.name);
104
+ if (task.featureFlags.length > 0) {
105
+ frontmatter.featureFlags = task.featureFlags.map(f => f.name);
106
106
  }
107
- if (proposal.experiments.length > 0) {
108
- frontmatter.experiments = proposal.experiments.map(e => e.name);
107
+ if (task.experiments.length > 0) {
108
+ frontmatter.experiments = task.experiments.map(e => e.name);
109
109
  }
110
- if (proposal.metadata.reviewers && proposal.metadata.reviewers.length > 0) {
111
- frontmatter.reviewers = proposal.metadata.reviewers;
110
+ if (task.metadata.reviewers && task.metadata.reviewers.length > 0) {
111
+ frontmatter.reviewers = task.metadata.reviewers;
112
112
  }
113
- if (proposal.metadata.tags && proposal.metadata.tags.length > 0) {
114
- frontmatter.tags = proposal.metadata.tags;
113
+ if (task.metadata.tags && task.metadata.tags.length > 0) {
114
+ frontmatter.tags = task.metadata.tags;
115
115
  }
116
- if (proposal.metadata.priority) {
117
- frontmatter.priority = proposal.metadata.priority;
116
+ if (task.metadata.priority) {
117
+ frontmatter.priority = task.metadata.priority;
118
118
  }
119
- if (proposal.productSpecRef) {
120
- frontmatter.productSpecRef = proposal.productSpecRef;
119
+ if (task.productSpecRef) {
120
+ frontmatter.productSpecRef = task.productSpecRef;
121
121
  }
122
122
  // Save steps to frontmatter for reliable round-trip
123
- if (proposal.planSteps && proposal.planSteps.length > 0) {
124
- frontmatter.steps = proposal.planSteps.map(step => ({
123
+ if (task.planSteps && task.planSteps.length > 0) {
124
+ frontmatter.steps = task.planSteps.map(step => ({
125
125
  id: step.id,
126
126
  description: step.description,
127
127
  status: step.status,
@@ -132,8 +132,8 @@ export class MarkdownStorageAdapter {
132
132
  }));
133
133
  }
134
134
  // Save comments to frontmatter
135
- if (proposal.comments && proposal.comments.length > 0) {
136
- frontmatter.comments = proposal.comments.map(comment => ({
135
+ if (task.comments && task.comments.length > 0) {
136
+ frontmatter.comments = task.comments.map(comment => ({
137
137
  id: comment.id,
138
138
  author: comment.author,
139
139
  content: comment.content,
@@ -141,7 +141,7 @@ export class MarkdownStorageAdapter {
141
141
  }));
142
142
  }
143
143
  // Create markdown content
144
- const content = this.generateMarkdownContent(proposal);
144
+ const content = this.generateMarkdownContent(task);
145
145
  // Sanitize undefined before YAML dump
146
146
  const sanitize = (value) => {
147
147
  if (value === undefined)
@@ -168,8 +168,8 @@ export class MarkdownStorageAdapter {
168
168
  const fileContent = matter.stringify(content, sanitize(frontmatter));
169
169
  await fs.writeFile(filePath, fileContent, 'utf-8');
170
170
  }
171
- async loadProposal(id) {
172
- const filePath = path.join(this.proposalsPath, `${id}.md`);
171
+ async loadTask(id) {
172
+ const filePath = path.join(this.tasksPath, `${id}.md`);
173
173
  if (!(await this.fileExists(filePath))) {
174
174
  return null;
175
175
  }
@@ -178,26 +178,34 @@ export class MarkdownStorageAdapter {
178
178
  const frontmatter = parsed.data;
179
179
  // Parse the markdown content to extract structured data
180
180
  const structuredData = this.parseMarkdownContent(parsed.content);
181
- // Load steps from frontmatter (preferred) or fall back to parsed content
182
- const planSteps = frontmatter.steps?.map(step => ({
183
- id: step.id,
184
- description: step.description,
185
- status: step.status,
186
- command: step.command,
187
- expectedOutcome: step.expectedOutcome,
188
- output: step.output,
189
- executedAt: step.executedAt ? new Date(step.executedAt) : undefined,
190
- })) || structuredData.planSteps;
191
- // Load comments from frontmatter
192
- const comments = frontmatter.comments?.map(comment => ({
181
+ // Load steps from frontmatter (preferred) or fall back to parsed content.
182
+ // Support both CLI format (top-level `steps`) and API format (`plan.steps`).
183
+ const rawSteps = frontmatter.steps || frontmatter.plan?.steps || [];
184
+ const planSteps = rawSteps.length > 0
185
+ ? rawSteps.map((step) => ({
186
+ id: step.id,
187
+ description: step.description || step.title || '',
188
+ status: step.status,
189
+ command: step.command,
190
+ expectedOutcome: step.expectedOutcome,
191
+ output: step.output,
192
+ executedAt: step.executedAt ? new Date(step.executedAt) : undefined,
193
+ }))
194
+ : structuredData.planSteps;
195
+ // Load comments from frontmatter.
196
+ // Support both CLI format (content/createdAt) and API format (text/timestamp).
197
+ const rawComments = frontmatter.comments || [];
198
+ const comments = rawComments.map((comment) => ({
193
199
  id: comment.id,
194
- author: comment.author,
195
- content: comment.content,
196
- createdAt: comment.createdAt,
197
- })) || [];
200
+ author: typeof comment.author === 'string'
201
+ ? comment.author
202
+ : comment.author?.name || 'Unknown',
203
+ content: comment.content || comment.text || '',
204
+ createdAt: comment.createdAt || comment.timestamp || new Date().toISOString(),
205
+ }));
198
206
  // Use title as primary, fall back to deprecated intent for backward compatibility
199
207
  const titleValue = frontmatter.title || frontmatter.intent || '';
200
- const proposal = {
208
+ const task = {
201
209
  id: frontmatter.id,
202
210
  title: titleValue,
203
211
  // Keep intent for backward compatibility (deprecated)
@@ -228,24 +236,24 @@ export class MarkdownStorageAdapter {
228
236
  priority: frontmatter.priority
229
237
  }
230
238
  };
231
- return proposal;
239
+ return task;
232
240
  }
233
- async loadAllProposals() {
234
- const files = await fs.readdir(this.proposalsPath);
235
- const proposals = [];
241
+ async loadAllTasks() {
242
+ const files = await fs.readdir(this.tasksPath);
243
+ const tasks = [];
236
244
  for (const file of files) {
237
245
  if (file.endsWith('.md')) {
238
246
  const id = path.basename(file, '.md');
239
- const proposal = await this.loadProposal(id);
240
- if (proposal) {
241
- proposals.push(proposal);
247
+ const task = await this.loadTask(id);
248
+ if (task) {
249
+ tasks.push(task);
242
250
  }
243
251
  }
244
252
  }
245
- return proposals;
253
+ return tasks;
246
254
  }
247
- async deleteProposal(id) {
248
- const filePath = path.join(this.proposalsPath, `${id}.md`);
255
+ async deleteTask(id) {
256
+ const filePath = path.join(this.tasksPath, `${id}.md`);
249
257
  if (!(await this.fileExists(filePath))) {
250
258
  return false;
251
259
  }
@@ -285,31 +293,31 @@ export class MarkdownStorageAdapter {
285
293
  }
286
294
  return author.type === 'agent' ? 'AI Agent' : 'Team Member';
287
295
  }
288
- generateMarkdownContent(proposal) {
296
+ generateMarkdownContent(task) {
289
297
  // If content is provided, use it as-is without template
290
- if (proposal.content) {
291
- return proposal.content;
298
+ if (task.content) {
299
+ return task.content;
292
300
  }
293
- let content = `# ${proposal.title}\n\n`;
301
+ let content = `# ${task.title}\n\n`;
294
302
  // Problem Statement / Description
295
303
  content += `## Problem Statement\n`;
296
- content += `*Describe the problem this change proposal aims to solve.*\n\n`;
304
+ content += `*Describe the problem this task aims to solve.*\n\n`;
297
305
  // Success Criteria
298
306
  content += `## Success Criteria\n`;
299
- if (proposal.planSteps.length > 0) {
300
- proposal.planSteps.forEach(step => {
307
+ if (task.planSteps.length > 0) {
308
+ task.planSteps.forEach(step => {
301
309
  const checked = step.status === 'completed' ? 'x' : ' ';
302
310
  content += `- [${checked}] ${step.description}\n`;
303
311
  });
304
312
  }
305
313
  else {
306
- content += `- [ ] Define success criteria for this proposal\n`;
314
+ content += `- [ ] Define success criteria for this task\n`;
307
315
  }
308
316
  content += `\n`;
309
317
  // Implementation Plan
310
318
  content += `## Implementation Plan\n`;
311
- if (proposal.planSteps.length > 0) {
312
- proposal.planSteps.forEach((step, index) => {
319
+ if (task.planSteps.length > 0) {
320
+ task.planSteps.forEach((step, index) => {
313
321
  content += `${index + 1}. **${step.description}**\n`;
314
322
  if (step.command) {
315
323
  content += ` - Command: \`${step.command}\`\n`;
@@ -332,25 +340,25 @@ export class MarkdownStorageAdapter {
332
340
  content += `## Design Artifacts\n`;
333
341
  content += `*Links to design files, mockups, or other relevant artifacts*\n\n`;
334
342
  // Evidence
335
- if (proposal.evidence.length > 0) {
343
+ if (task.evidence.length > 0) {
336
344
  content += `## Evidence\n`;
337
- proposal.evidence.forEach(evidence => {
345
+ task.evidence.forEach(evidence => {
338
346
  content += `### ${evidence.type.toUpperCase()}: ${evidence.description}\n`;
339
347
  content += `*Collected on ${evidence.timestamp.toLocaleDateString()}*\n\n`;
340
348
  });
341
349
  }
342
350
  // Feature Flags
343
- if (proposal.featureFlags.length > 0) {
351
+ if (task.featureFlags.length > 0) {
344
352
  content += `## Feature Flags\n`;
345
- proposal.featureFlags.forEach(flag => {
353
+ task.featureFlags.forEach(flag => {
346
354
  content += `- **${flag.name}**: ${flag.description}\n`;
347
355
  });
348
356
  content += `\n`;
349
357
  }
350
358
  // Experiments
351
- if (proposal.experiments.length > 0) {
359
+ if (task.experiments.length > 0) {
352
360
  content += `## Experiments\n`;
353
- proposal.experiments.forEach(exp => {
361
+ task.experiments.forEach(exp => {
354
362
  content += `- **${exp.name}**: ${exp.hypothesis}\n`;
355
363
  });
356
364
  content += `\n`;
@@ -358,12 +366,12 @@ export class MarkdownStorageAdapter {
358
366
  // AI Suggestions
359
367
  content += `## AI Suggestions\n`;
360
368
  content += `*Last updated by AI Assistant on ${new Date().toLocaleDateString()}*\n\n`;
361
- if (proposal.metadata.aiInteractions.length > 0) {
362
- const lastInteraction = proposal.metadata.aiInteractions[proposal.metadata.aiInteractions.length - 1];
369
+ if (task.metadata.aiInteractions.length > 0) {
370
+ const lastInteraction = task.metadata.aiInteractions[task.metadata.aiInteractions.length - 1];
363
371
  content += `${lastInteraction.response}\n\n`;
364
372
  }
365
373
  else {
366
- content += `*No AI suggestions yet. Use \`gait ask\` to get AI assistance with this proposal.*\n\n`;
374
+ content += `*No AI suggestions yet. Use \`gait ask\` to get AI assistance with this task.*\n\n`;
367
375
  }
368
376
  return content;
369
377
  }
@@ -393,75 +401,137 @@ export class MarkdownStorageAdapter {
393
401
  getBasePath(options) {
394
402
  return options?.absolute ? path.resolve(this.basePath) : this.basePath;
395
403
  }
396
- // Agent Management Methods
397
- async saveAgent(agent) {
398
- const filePath = path.join(this.agentsPath, `${agent.id}.md`);
399
- // Create frontmatter for agent
404
+ // Skill Management Methods (Agent Skills spec: https://agentskills.io/specification)
405
+ async saveSkill(skill) {
406
+ // Each skill is a directory containing SKILL.md
407
+ const skillDir = path.join(this.skillsPath, skill.id);
408
+ await fs.mkdir(skillDir, { recursive: true });
409
+ const filePath = path.join(skillDir, 'SKILL.md');
410
+ // Build frontmatter per Agent Skills spec
400
411
  const frontmatter = {
401
- name: agent.name,
402
- description: agent.description
412
+ name: skill.id,
413
+ description: skill.description,
403
414
  };
404
- // Add optional fields if they exist
405
- if (agent.tools && agent.tools.length > 0) {
406
- frontmatter.tools = agent.tools;
407
- }
408
- if (agent.metadata) {
409
- frontmatter.createdAt = agent.metadata.createdAt.toISOString();
410
- frontmatter.updatedAt = agent.metadata.updatedAt.toISOString();
411
- if (agent.metadata.version) {
412
- frontmatter.version = agent.metadata.version;
415
+ if (skill.license)
416
+ frontmatter.license = skill.license;
417
+ if (skill.compatibility)
418
+ frontmatter.compatibility = skill.compatibility;
419
+ if (skill.allowedTools)
420
+ frontmatter['allowed-tools'] = skill.allowedTools;
421
+ if (skill.metadata && Object.keys(skill.metadata).length > 0) {
422
+ const meta = {};
423
+ for (const [key, value] of Object.entries(skill.metadata)) {
424
+ if (value === undefined || value === null)
425
+ continue;
426
+ if (value instanceof Date) {
427
+ meta[key] = value.toISOString();
428
+ }
429
+ else {
430
+ meta[key] = value;
431
+ }
432
+ }
433
+ if (Object.keys(meta).length > 0) {
434
+ frontmatter.metadata = meta;
413
435
  }
414
436
  }
415
- // Create markdown content with frontmatter
416
- const content = agent.content || '';
437
+ const content = skill.content || '';
417
438
  const fileContent = matter.stringify(content, frontmatter);
418
439
  await fs.writeFile(filePath, fileContent, 'utf-8');
419
440
  }
420
- async loadAgent(id) {
421
- const filePath = path.join(this.agentsPath, `${id}.md`);
441
+ async loadSkill(id) {
442
+ const filePath = path.join(this.skillsPath, id, 'SKILL.md');
422
443
  if (!(await this.fileExists(filePath))) {
423
444
  return null;
424
445
  }
425
446
  const fileContent = await fs.readFile(filePath, 'utf-8');
426
- const parsed = matter(fileContent);
427
- const frontmatter = parsed.data;
428
- const agent = {
429
- id,
430
- name: frontmatter.name || '',
431
- description: frontmatter.description || '',
432
- tools: frontmatter.tools,
433
- content: parsed.content.trim() || undefined,
434
- metadata: {
435
- createdAt: frontmatter.createdAt ? new Date(frontmatter.createdAt) : new Date(),
436
- updatedAt: frontmatter.updatedAt ? new Date(frontmatter.updatedAt) : new Date(),
437
- author: { type: 'human', id: 'current-user', name: 'Current User' },
438
- version: frontmatter.version
439
- }
440
- };
441
- return agent;
447
+ return this.parseSkillMarkdown(fileContent, id);
442
448
  }
443
- async loadAllAgents() {
444
- const files = await fs.readdir(this.agentsPath);
445
- const agents = [];
446
- for (const file of files) {
447
- if (file.endsWith('.md')) {
448
- const id = path.basename(file, '.md');
449
- const agent = await this.loadAgent(id);
450
- if (agent) {
451
- agents.push(agent);
449
+ async loadAllSkills() {
450
+ const skills = [];
451
+ try {
452
+ const entries = await fs.readdir(this.skillsPath, { withFileTypes: true });
453
+ for (const entry of entries) {
454
+ if (!entry.isDirectory())
455
+ continue;
456
+ const skill = await this.loadSkill(entry.name);
457
+ if (skill) {
458
+ skills.push(skill);
452
459
  }
453
460
  }
454
461
  }
455
- return agents;
462
+ catch {
463
+ // Skills directory may not exist yet
464
+ }
465
+ return skills;
456
466
  }
457
- async deleteAgent(id) {
458
- const filePath = path.join(this.agentsPath, `${id}.md`);
459
- if (!(await this.fileExists(filePath))) {
467
+ async deleteSkill(id) {
468
+ const skillDir = path.join(this.skillsPath, id);
469
+ const skillFile = path.join(skillDir, 'SKILL.md');
470
+ if (!(await this.fileExists(skillFile))) {
460
471
  return false;
461
472
  }
462
- await fs.unlink(filePath);
473
+ await fs.rm(skillDir, { recursive: true, force: true });
463
474
  return true;
464
475
  }
476
+ parseSkillMarkdown(content, id) {
477
+ try {
478
+ const { data, content: body } = matter(content);
479
+ const rawAllowedTools = data['allowed-tools'] || data.allowedTools;
480
+ const allowedTools = typeof rawAllowedTools === 'string' ? rawAllowedTools : undefined;
481
+ const rawMeta = typeof data.metadata === 'object' && data.metadata !== null ? data.metadata : {};
482
+ const metadata = {};
483
+ if (rawMeta.color)
484
+ metadata.color = String(rawMeta.color);
485
+ if (rawMeta.author)
486
+ metadata.author = rawMeta.author;
487
+ if (rawMeta.version)
488
+ metadata.version = String(rawMeta.version);
489
+ if (Array.isArray(rawMeta.tags))
490
+ metadata.tags = rawMeta.tags.map(String);
491
+ if (Array.isArray(rawMeta.focusAreas))
492
+ metadata.focusAreas = rawMeta.focusAreas.map(String);
493
+ if (Array.isArray(rawMeta.contextPreferences))
494
+ metadata.contextPreferences = rawMeta.contextPreferences.map(String);
495
+ if (Array.isArray(rawMeta.mcpServers)) {
496
+ metadata.mcpServers = rawMeta.mcpServers.map(String);
497
+ }
498
+ else if (typeof rawMeta.mcpServers === 'string') {
499
+ metadata.mcpServers = rawMeta.mcpServers.split(/\s+/).filter(Boolean);
500
+ }
501
+ else if (typeof rawMeta['mcp-servers'] === 'string') {
502
+ metadata.mcpServers = rawMeta['mcp-servers'].split(/\s+/).filter(Boolean);
503
+ }
504
+ if (rawMeta.registryId)
505
+ metadata.registryId = String(rawMeta.registryId);
506
+ if (rawMeta.registrySource)
507
+ metadata.registrySource = String(rawMeta.registrySource);
508
+ if (rawMeta.registryEndpoint)
509
+ metadata.registryEndpoint = String(rawMeta.registryEndpoint);
510
+ if (rawMeta.createdAt)
511
+ metadata.createdAt = new Date(rawMeta.createdAt);
512
+ if (rawMeta.updatedAt)
513
+ metadata.updatedAt = new Date(rawMeta.updatedAt);
514
+ for (const [key, value] of Object.entries(rawMeta)) {
515
+ if (!(key in metadata)) {
516
+ metadata[key] = value;
517
+ }
518
+ }
519
+ return {
520
+ id,
521
+ name: typeof data.name === 'string' ? data.name : id,
522
+ description: typeof data.description === 'string' ? data.description : '',
523
+ license: typeof data.license === 'string' ? data.license : undefined,
524
+ compatibility: typeof data.compatibility === 'string' ? data.compatibility : undefined,
525
+ allowedTools,
526
+ metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
527
+ content: body.trim() || undefined,
528
+ };
529
+ }
530
+ catch (error) {
531
+ console.warn(`Failed to parse skill markdown for ${id}:`, error instanceof Error ? error.message : error);
532
+ return null;
533
+ }
534
+ }
465
535
  }
466
536
  // Export a singleton instance
467
537
  export const markdownStorage = new MarkdownStorageAdapter();
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-storage.js","sourceRoot":"","sources":["../src/markdown-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-storage.js","sourceRoot":"","sources":["../src/markdown-storage.ts"],"names":[],"mappings":"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"}