@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.
- package/dist/agent-instructions.d.ts +17 -0
- package/dist/agent-instructions.d.ts.map +1 -0
- package/dist/agent-instructions.js +160 -0
- package/dist/agent-instructions.js.map +1 -0
- package/dist/context.d.ts +8 -8
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge.d.ts +40 -40
- package/dist/knowledge.js +1 -1
- package/dist/knowledge.js.map +1 -1
- package/dist/logging/index.d.ts +5 -5
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/index.js +5 -5
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/kinds.d.ts +24 -24
- package/dist/logging/kinds.d.ts.map +1 -1
- package/dist/logging/kinds.js +24 -24
- package/dist/logging/kinds.js.map +1 -1
- package/dist/markdown-storage.d.ts +12 -11
- package/dist/markdown-storage.d.ts.map +1 -1
- package/dist/markdown-storage.js +213 -143
- package/dist/markdown-storage.js.map +1 -1
- package/dist/proposals.d.ts +136 -136
- package/dist/skill-instructions.d.ts +19 -0
- package/dist/skill-instructions.d.ts.map +1 -0
- package/dist/skill-instructions.js +165 -0
- package/dist/skill-instructions.js.map +1 -0
- package/dist/storage.d.ts +21 -24
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +155 -181
- package/dist/storage.js.map +1 -1
- package/dist/system-prompts/coconut-assistant.md +40 -6
- package/dist/system-prompts/schema/agent.schema.md +1 -1
- package/dist/system-prompts/schema/knowledge.schema.md +2 -2
- package/dist/system-prompts/schema/skill.schema.md +73 -0
- package/dist/system-prompts/schema/{proposal.schema.md → task.schema.md} +2 -2
- package/dist/tasks.d.ts +764 -0
- package/dist/tasks.d.ts.map +1 -0
- package/dist/tasks.js +483 -0
- package/dist/tasks.js.map +1 -0
- package/package.json +2 -2
package/dist/storage.js
CHANGED
|
@@ -6,20 +6,20 @@ import { MarkdownStorageAdapter } from './markdown-storage.js';
|
|
|
6
6
|
import { schemaTemplates } from './schema-templates.js';
|
|
7
7
|
export class FileStorageAdapter {
|
|
8
8
|
basePath;
|
|
9
|
-
|
|
9
|
+
tasksPath;
|
|
10
10
|
configPath;
|
|
11
|
-
|
|
11
|
+
skillsPath;
|
|
12
12
|
constructor(basePath = '.nut') {
|
|
13
13
|
this.basePath = basePath;
|
|
14
|
-
this.
|
|
14
|
+
this.tasksPath = path.join(basePath, 'tasks');
|
|
15
15
|
this.configPath = path.join(basePath, 'config.json');
|
|
16
|
-
this.
|
|
16
|
+
this.skillsPath = path.join(basePath, 'skills');
|
|
17
17
|
}
|
|
18
18
|
async init() {
|
|
19
19
|
// Create .nut directory structure
|
|
20
20
|
await fs.mkdir(this.basePath, { recursive: true });
|
|
21
|
-
await fs.mkdir(this.
|
|
22
|
-
await fs.mkdir(this.
|
|
21
|
+
await fs.mkdir(this.tasksPath, { recursive: true });
|
|
22
|
+
await fs.mkdir(this.skillsPath, { recursive: true });
|
|
23
23
|
// Create additional directories
|
|
24
24
|
await fs.mkdir(path.join(this.basePath, 'specs'), { recursive: true });
|
|
25
25
|
await fs.mkdir(path.join(this.basePath, 'flags'), { recursive: true });
|
|
@@ -27,7 +27,7 @@ export class FileStorageAdapter {
|
|
|
27
27
|
await fs.mkdir(path.join(this.basePath, 'templates'), { recursive: true });
|
|
28
28
|
await fs.mkdir(path.join(this.basePath, 'context'), { recursive: true });
|
|
29
29
|
await fs.mkdir(path.join(this.basePath, 'context', 'decisions'), { recursive: true });
|
|
30
|
-
await fs.mkdir(path.join(this.basePath, '
|
|
30
|
+
await fs.mkdir(path.join(this.basePath, 'knowledge'), { recursive: true });
|
|
31
31
|
// Create default config if it doesn't exist
|
|
32
32
|
const configExists = await this.fileExists(this.configPath);
|
|
33
33
|
if (!configExists) {
|
|
@@ -133,8 +133,8 @@ This project uses Coconut for intent-driven development.
|
|
|
133
133
|
## Getting Started
|
|
134
134
|
|
|
135
135
|
1. Initialize Coconut: \`nut init\`
|
|
136
|
-
2. Create
|
|
137
|
-
3. View
|
|
136
|
+
2. Create tasks: \`nut task create "Your intent"\`
|
|
137
|
+
3. View tasks: \`nut list\`
|
|
138
138
|
`;
|
|
139
139
|
await this.createContextFile('project.md', minimalProject);
|
|
140
140
|
}
|
|
@@ -145,38 +145,38 @@ This project uses Coconut for intent-driven development.
|
|
|
145
145
|
await fs.writeFile(filePath, content, 'utf-8');
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
async
|
|
149
|
-
const filePath = path.join(this.
|
|
150
|
-
const data = JSON.stringify(
|
|
148
|
+
async saveTask(task) {
|
|
149
|
+
const filePath = path.join(this.tasksPath, `${task.id}.json`);
|
|
150
|
+
const data = JSON.stringify(task, null, 2);
|
|
151
151
|
await fs.writeFile(filePath, data, 'utf-8');
|
|
152
152
|
}
|
|
153
|
-
async
|
|
154
|
-
const filePath = path.join(this.
|
|
153
|
+
async loadTask(id) {
|
|
154
|
+
const filePath = path.join(this.tasksPath, `${id}.json`);
|
|
155
155
|
if (!(await this.fileExists(filePath))) {
|
|
156
156
|
return null;
|
|
157
157
|
}
|
|
158
158
|
const data = await fs.readFile(filePath, 'utf-8');
|
|
159
|
-
const
|
|
159
|
+
const task = JSON.parse(data);
|
|
160
160
|
// Convert date strings back to Date objects
|
|
161
|
-
this.hydrateDates(
|
|
162
|
-
return
|
|
161
|
+
this.hydrateDates(task);
|
|
162
|
+
return task;
|
|
163
163
|
}
|
|
164
|
-
async
|
|
165
|
-
const files = await fs.readdir(this.
|
|
166
|
-
const
|
|
164
|
+
async loadAllTasks() {
|
|
165
|
+
const files = await fs.readdir(this.tasksPath);
|
|
166
|
+
const tasks = [];
|
|
167
167
|
for (const file of files) {
|
|
168
168
|
if (file.endsWith('.json')) {
|
|
169
|
-
const filePath = path.join(this.
|
|
169
|
+
const filePath = path.join(this.tasksPath, file);
|
|
170
170
|
const data = await fs.readFile(filePath, 'utf-8');
|
|
171
|
-
const
|
|
172
|
-
this.hydrateDates(
|
|
173
|
-
|
|
171
|
+
const task = JSON.parse(data);
|
|
172
|
+
this.hydrateDates(task);
|
|
173
|
+
tasks.push(task);
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
|
-
return
|
|
176
|
+
return tasks;
|
|
177
177
|
}
|
|
178
|
-
async
|
|
179
|
-
const filePath = path.join(this.
|
|
178
|
+
async deleteTask(id) {
|
|
179
|
+
const filePath = path.join(this.tasksPath, `${id}.json`);
|
|
180
180
|
if (!(await this.fileExists(filePath))) {
|
|
181
181
|
return false;
|
|
182
182
|
}
|
|
@@ -203,29 +203,29 @@ This project uses Coconut for intent-driven development.
|
|
|
203
203
|
return false;
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
-
hydrateDates(
|
|
206
|
+
hydrateDates(task) {
|
|
207
207
|
// Convert date strings back to Date objects
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
task.metadata.createdAt = new Date(task.metadata.createdAt);
|
|
209
|
+
task.metadata.updatedAt = new Date(task.metadata.updatedAt);
|
|
210
210
|
// Convert other date fields
|
|
211
|
-
|
|
211
|
+
task.planSteps.forEach(step => {
|
|
212
212
|
if (step.executedAt) {
|
|
213
213
|
step.executedAt = new Date(step.executedAt);
|
|
214
214
|
}
|
|
215
215
|
});
|
|
216
|
-
|
|
216
|
+
task.evidence.forEach(e => {
|
|
217
217
|
e.timestamp = new Date(e.timestamp);
|
|
218
218
|
});
|
|
219
|
-
|
|
219
|
+
task.policies.forEach(p => {
|
|
220
220
|
if (p.checkedAt) {
|
|
221
221
|
p.checkedAt = new Date(p.checkedAt);
|
|
222
222
|
}
|
|
223
223
|
});
|
|
224
|
-
|
|
224
|
+
task.featureFlags.forEach(f => {
|
|
225
225
|
f.createdAt = new Date(f.createdAt);
|
|
226
226
|
f.updatedAt = new Date(f.updatedAt);
|
|
227
227
|
});
|
|
228
|
-
|
|
228
|
+
task.experiments.forEach(e => {
|
|
229
229
|
if (e.startedAt) {
|
|
230
230
|
e.startedAt = new Date(e.startedAt);
|
|
231
231
|
}
|
|
@@ -233,15 +233,15 @@ This project uses Coconut for intent-driven development.
|
|
|
233
233
|
e.endedAt = new Date(e.endedAt);
|
|
234
234
|
}
|
|
235
235
|
});
|
|
236
|
-
|
|
236
|
+
task.telemetryContracts.forEach(t => {
|
|
237
237
|
t.approvals.forEach(a => {
|
|
238
238
|
a.approvedAt = new Date(a.approvedAt);
|
|
239
239
|
});
|
|
240
240
|
});
|
|
241
|
-
if (
|
|
242
|
-
|
|
241
|
+
if (task.releasePlan.schedule) {
|
|
242
|
+
task.releasePlan.schedule = new Date(task.releasePlan.schedule);
|
|
243
243
|
}
|
|
244
|
-
|
|
244
|
+
task.metadata.aiInteractions.forEach(ai => {
|
|
245
245
|
ai.timestamp = new Date(ai.timestamp);
|
|
246
246
|
});
|
|
247
247
|
}
|
|
@@ -257,173 +257,147 @@ This project uses Coconut for intent-driven development.
|
|
|
257
257
|
getBasePath(options) {
|
|
258
258
|
return options?.absolute ? path.resolve(this.basePath) : this.basePath;
|
|
259
259
|
}
|
|
260
|
-
//
|
|
261
|
-
async
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
const
|
|
267
|
-
if (existingPath) {
|
|
268
|
-
filePath = existingPath;
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
filePath = path.join(this.agentsPath, `${agent.id}.md`);
|
|
272
|
-
}
|
|
273
|
-
// Ensure directory exists
|
|
274
|
-
const dir = path.dirname(filePath);
|
|
275
|
-
await fs.mkdir(dir, { recursive: true });
|
|
260
|
+
// Skill Management Methods (Agent Skills spec: https://agentskills.io/specification)
|
|
261
|
+
async saveSkill(skill) {
|
|
262
|
+
// Each skill is a directory containing SKILL.md
|
|
263
|
+
const skillDir = path.join(this.skillsPath, skill.id);
|
|
264
|
+
await fs.mkdir(skillDir, { recursive: true });
|
|
265
|
+
const filePath = path.join(skillDir, 'SKILL.md');
|
|
266
|
+
const content = this.skillToMarkdown(skill);
|
|
276
267
|
await fs.writeFile(filePath, content, 'utf-8');
|
|
277
268
|
}
|
|
278
|
-
async
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
return directPath;
|
|
283
|
-
}
|
|
284
|
-
// Search in subdirectories
|
|
285
|
-
const agentFiles = await this.findAgentFiles(this.agentsPath);
|
|
286
|
-
for (const agentPath of agentFiles) {
|
|
287
|
-
const relativePath = path.relative(this.agentsPath, agentPath);
|
|
288
|
-
const agentId = this.pathToId(relativePath);
|
|
289
|
-
if (agentId === id) {
|
|
290
|
-
return agentPath;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
return null;
|
|
294
|
-
}
|
|
295
|
-
pathToId(relativePath) {
|
|
296
|
-
return relativePath.replace(/\.md$/, '').replace(/[\/\\]/g, '-');
|
|
297
|
-
}
|
|
298
|
-
async loadAgent(id) {
|
|
299
|
-
// First try the direct path (for backward compatibility)
|
|
300
|
-
let filePath = path.join(this.agentsPath, `${id}.md`);
|
|
301
|
-
if (await this.fileExists(filePath)) {
|
|
302
|
-
const content = await fs.readFile(filePath, 'utf-8');
|
|
303
|
-
return this.markdownToAgent(content, id);
|
|
304
|
-
}
|
|
305
|
-
// If not found directly, search for it in subdirectories
|
|
306
|
-
const agentFiles = await this.findAgentFiles(this.agentsPath);
|
|
307
|
-
for (const agentPath of agentFiles) {
|
|
308
|
-
const relativePath = path.relative(this.agentsPath, agentPath);
|
|
309
|
-
const agentId = this.pathToId(relativePath);
|
|
310
|
-
if (agentId === id) {
|
|
311
|
-
const content = await fs.readFile(agentPath, 'utf-8');
|
|
312
|
-
return this.markdownToAgent(content, id);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
return null;
|
|
316
|
-
}
|
|
317
|
-
async loadAllAgents() {
|
|
318
|
-
const agentFiles = await this.findAgentFiles(this.agentsPath);
|
|
319
|
-
const agents = [];
|
|
320
|
-
for (const filePath of agentFiles) {
|
|
321
|
-
const content = await fs.readFile(filePath, 'utf-8');
|
|
322
|
-
const relativePath = path.relative(this.agentsPath, filePath);
|
|
323
|
-
const id = this.pathToId(relativePath);
|
|
324
|
-
const agent = this.markdownToAgent(content, id);
|
|
325
|
-
if (agent) {
|
|
326
|
-
agents.push(agent);
|
|
327
|
-
}
|
|
269
|
+
async loadSkill(id) {
|
|
270
|
+
const skillFile = path.join(this.skillsPath, id, 'SKILL.md');
|
|
271
|
+
if (!(await this.fileExists(skillFile))) {
|
|
272
|
+
return null;
|
|
328
273
|
}
|
|
329
|
-
|
|
274
|
+
const content = await fs.readFile(skillFile, 'utf-8');
|
|
275
|
+
return this.markdownToSkill(content, id);
|
|
330
276
|
}
|
|
331
|
-
async
|
|
332
|
-
const
|
|
277
|
+
async loadAllSkills() {
|
|
278
|
+
const skills = [];
|
|
333
279
|
try {
|
|
334
|
-
const entries = await fs.readdir(
|
|
280
|
+
const entries = await fs.readdir(this.skillsPath, { withFileTypes: true });
|
|
335
281
|
for (const entry of entries) {
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
282
|
+
if (!entry.isDirectory())
|
|
283
|
+
continue;
|
|
284
|
+
const skillFile = path.join(this.skillsPath, entry.name, 'SKILL.md');
|
|
285
|
+
if (!(await this.fileExists(skillFile)))
|
|
286
|
+
continue;
|
|
287
|
+
const content = await fs.readFile(skillFile, 'utf-8');
|
|
288
|
+
const skill = this.markdownToSkill(content, entry.name);
|
|
289
|
+
if (skill) {
|
|
290
|
+
skills.push(skill);
|
|
344
291
|
}
|
|
345
292
|
}
|
|
346
293
|
}
|
|
347
294
|
catch (error) {
|
|
348
295
|
// If directory doesn't exist or can't be read, return empty array
|
|
349
|
-
console.warn(`Could not read directory ${
|
|
296
|
+
console.warn(`Could not read skills directory ${this.skillsPath}:`, error);
|
|
350
297
|
}
|
|
351
|
-
return
|
|
298
|
+
return skills;
|
|
352
299
|
}
|
|
353
|
-
async
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
await fs.unlink(filePath);
|
|
358
|
-
return true;
|
|
359
|
-
}
|
|
360
|
-
// If not found directly, search for it in subdirectories
|
|
361
|
-
const agentFiles = await this.findAgentFiles(this.agentsPath);
|
|
362
|
-
for (const agentPath of agentFiles) {
|
|
363
|
-
const relativePath = path.relative(this.agentsPath, agentPath);
|
|
364
|
-
const agentId = this.pathToId(relativePath);
|
|
365
|
-
if (agentId === id) {
|
|
366
|
-
await fs.unlink(agentPath);
|
|
367
|
-
return true;
|
|
368
|
-
}
|
|
300
|
+
async deleteSkill(id) {
|
|
301
|
+
const skillDir = path.join(this.skillsPath, id);
|
|
302
|
+
if (!(await this.fileExists(path.join(skillDir, 'SKILL.md')))) {
|
|
303
|
+
return false;
|
|
369
304
|
}
|
|
370
|
-
|
|
305
|
+
// Remove the entire skill directory
|
|
306
|
+
await fs.rm(skillDir, { recursive: true, force: true });
|
|
307
|
+
return true;
|
|
371
308
|
}
|
|
372
|
-
|
|
309
|
+
skillToMarkdown(skill) {
|
|
373
310
|
const frontmatter = {
|
|
374
|
-
name:
|
|
375
|
-
description:
|
|
376
|
-
...(agent.tools && agent.tools.length > 0 && { tools: agent.tools }),
|
|
377
|
-
...(agent.metadata && {
|
|
378
|
-
createdAt: agent.metadata.createdAt.toISOString(),
|
|
379
|
-
updatedAt: agent.metadata.updatedAt.toISOString(),
|
|
380
|
-
...(agent.metadata.version && { version: agent.metadata.version })
|
|
381
|
-
})
|
|
311
|
+
name: skill.id, // Per spec, name must match directory name (kebab-case)
|
|
312
|
+
description: skill.description,
|
|
382
313
|
};
|
|
383
|
-
|
|
384
|
-
.
|
|
385
|
-
|
|
386
|
-
|
|
314
|
+
if (skill.license) {
|
|
315
|
+
frontmatter.license = skill.license;
|
|
316
|
+
}
|
|
317
|
+
if (skill.compatibility) {
|
|
318
|
+
frontmatter.compatibility = skill.compatibility;
|
|
319
|
+
}
|
|
320
|
+
if (skill.allowedTools) {
|
|
321
|
+
frontmatter['allowed-tools'] = skill.allowedTools;
|
|
322
|
+
}
|
|
323
|
+
// Collect metadata fields
|
|
324
|
+
if (skill.metadata && Object.keys(skill.metadata).length > 0) {
|
|
325
|
+
const meta = {};
|
|
326
|
+
for (const [key, value] of Object.entries(skill.metadata)) {
|
|
327
|
+
if (value === undefined || value === null)
|
|
328
|
+
continue;
|
|
329
|
+
if (value instanceof Date) {
|
|
330
|
+
meta[key] = value.toISOString();
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
meta[key] = value;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (Object.keys(meta).length > 0) {
|
|
337
|
+
frontmatter.metadata = meta;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return matter.stringify(skill.content || '', frontmatter);
|
|
387
341
|
}
|
|
388
|
-
|
|
342
|
+
markdownToSkill(content, id) {
|
|
389
343
|
try {
|
|
390
|
-
const { data, content:
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
344
|
+
const { data, content: body } = matter(content);
|
|
345
|
+
// Parse allowed-tools (space-delimited string per spec)
|
|
346
|
+
const rawAllowedTools = data['allowed-tools'] || data.allowedTools;
|
|
347
|
+
const allowedTools = typeof rawAllowedTools === 'string' ? rawAllowedTools : undefined;
|
|
348
|
+
// Parse metadata map
|
|
349
|
+
const rawMeta = typeof data.metadata === 'object' && data.metadata !== null ? data.metadata : {};
|
|
350
|
+
const metadata = {};
|
|
351
|
+
if (rawMeta.color)
|
|
352
|
+
metadata.color = String(rawMeta.color);
|
|
353
|
+
if (rawMeta.author)
|
|
354
|
+
metadata.author = rawMeta.author;
|
|
355
|
+
if (rawMeta.version)
|
|
356
|
+
metadata.version = String(rawMeta.version);
|
|
357
|
+
if (Array.isArray(rawMeta.tags))
|
|
358
|
+
metadata.tags = rawMeta.tags.map(String);
|
|
359
|
+
if (Array.isArray(rawMeta.focusAreas))
|
|
360
|
+
metadata.focusAreas = rawMeta.focusAreas.map(String);
|
|
361
|
+
if (Array.isArray(rawMeta.contextPreferences))
|
|
362
|
+
metadata.contextPreferences = rawMeta.contextPreferences.map(String);
|
|
363
|
+
if (Array.isArray(rawMeta.mcpServers)) {
|
|
364
|
+
metadata.mcpServers = rawMeta.mcpServers.map(String);
|
|
365
|
+
}
|
|
366
|
+
else if (typeof rawMeta.mcpServers === 'string') {
|
|
367
|
+
metadata.mcpServers = rawMeta.mcpServers.split(/\s+/).filter(Boolean);
|
|
368
|
+
}
|
|
369
|
+
else if (typeof rawMeta['mcp-servers'] === 'string') {
|
|
370
|
+
metadata.mcpServers = rawMeta['mcp-servers'].split(/\s+/).filter(Boolean);
|
|
371
|
+
}
|
|
372
|
+
if (rawMeta.registryId)
|
|
373
|
+
metadata.registryId = String(rawMeta.registryId);
|
|
374
|
+
if (rawMeta.registrySource)
|
|
375
|
+
metadata.registrySource = String(rawMeta.registrySource);
|
|
376
|
+
if (rawMeta.registryEndpoint)
|
|
377
|
+
metadata.registryEndpoint = String(rawMeta.registryEndpoint);
|
|
378
|
+
if (rawMeta.createdAt)
|
|
379
|
+
metadata.createdAt = new Date(rawMeta.createdAt);
|
|
380
|
+
if (rawMeta.updatedAt)
|
|
381
|
+
metadata.updatedAt = new Date(rawMeta.updatedAt);
|
|
382
|
+
// Copy any additional unknown keys
|
|
383
|
+
for (const [key, value] of Object.entries(rawMeta)) {
|
|
384
|
+
if (!(key in metadata)) {
|
|
385
|
+
metadata[key] = value;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
411
388
|
return {
|
|
412
389
|
id,
|
|
413
|
-
name: typeof data.name === 'string' ? data.name :
|
|
390
|
+
name: typeof data.name === 'string' ? data.name : id,
|
|
414
391
|
description: typeof data.description === 'string' ? data.description : '',
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
author: { type: 'human', id: 'current-user', name: 'Current User' },
|
|
421
|
-
version: typeof data.version === 'string' ? data.version : undefined
|
|
422
|
-
}
|
|
392
|
+
license: typeof data.license === 'string' ? data.license : undefined,
|
|
393
|
+
compatibility: typeof data.compatibility === 'string' ? data.compatibility : undefined,
|
|
394
|
+
allowedTools,
|
|
395
|
+
metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
|
|
396
|
+
content: body.trim() || undefined,
|
|
423
397
|
};
|
|
424
398
|
}
|
|
425
399
|
catch (error) {
|
|
426
|
-
console.warn(`Failed to parse
|
|
400
|
+
console.warn(`Failed to parse skill markdown for ${id}:`, error instanceof Error ? error.message : error);
|
|
427
401
|
return null;
|
|
428
402
|
}
|
|
429
403
|
}
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,15 @@ You are primarily focused on **working with knowledge documents** — synthesizi
|
|
|
12
12
|
- Activity events — see what's been happening recently in this Coconut instance
|
|
13
13
|
- Project context — the core definition of what's being built
|
|
14
14
|
- Architecture context — the technical foundation and conventions
|
|
15
|
+
- Resources — browse and search existing media assets
|
|
15
16
|
|
|
16
|
-
✅ **WRITE to documents and
|
|
17
|
+
✅ **WRITE to documents, tasks, and resources:**
|
|
17
18
|
- Knowledge documents — create new, update existing
|
|
18
19
|
- Tasks — create new, update existing (for coding agents to execute)
|
|
19
20
|
- Project context — define and refine the project definition
|
|
20
21
|
- Architecture context — document the technical architecture
|
|
21
|
-
-
|
|
22
|
+
- Resources — generate images, audio, and video via AI; save files from URLs
|
|
23
|
+
- **ONE document/task/generation at a time** — never batch multiple writes
|
|
22
24
|
|
|
23
25
|
✅ **Help users:**
|
|
24
26
|
- Understand and synthesize information
|
|
@@ -28,7 +30,7 @@ You are primarily focused on **working with knowledge documents** — synthesizi
|
|
|
28
30
|
|
|
29
31
|
### Creating Tasks (Important!)
|
|
30
32
|
|
|
31
|
-
You can **create tasks directly** using the `
|
|
33
|
+
You can **create tasks directly** using the `tasks` tool. Tasks are executed by coding agents like:
|
|
32
34
|
- **Claude Code** (Anthropic)
|
|
33
35
|
- **Cursor** (with Claude/GPT)
|
|
34
36
|
- **GitHub Copilot**
|
|
@@ -122,7 +124,7 @@ You can **create tasks directly** using the `change_proposals` tool. Tasks are e
|
|
|
122
124
|
|-----------|-------------|---------|
|
|
123
125
|
| `list` | Search tasks | `{ "operation": "list", "filters": { "search": "keyword" } }` |
|
|
124
126
|
| `get` | Read a task | `{ "operation": "get", "id": "cp-123456" }` |
|
|
125
|
-
| `create` | Create new task | `{ "operation": "create", "
|
|
127
|
+
| `create` | Create new task | `{ "operation": "create", "task": { "intent": "...", "content": "..." } }` |
|
|
126
128
|
| `update` | Update existing | `{ "operation": "update", "id": "cp-123456", "updates": { "status": "in-review" } }` |
|
|
127
129
|
|
|
128
130
|
**Creating tasks:**
|
|
@@ -143,9 +145,9 @@ You can **create tasks directly** using the `change_proposals` tool. Tasks are e
|
|
|
143
145
|
| Operation | Description | Example |
|
|
144
146
|
|-----------|-------------|---------|
|
|
145
147
|
| `list` | Get recent events | `{ "operation": "list", "limit": 20 }` |
|
|
146
|
-
| `list` with filter | Filter by event type | `{ "operation": "list", "limit": 20, "kind": "
|
|
148
|
+
| `list` with filter | Filter by event type | `{ "operation": "list", "limit": 20, "kind": "task" }` |
|
|
147
149
|
|
|
148
|
-
**Event kinds include:** `
|
|
150
|
+
**Event kinds include:** `task.*`, `knowledge.*`, `agent.*`, `code.*`, `context.*`, `job.*`, `resource.*`, `auth.*`
|
|
149
151
|
|
|
150
152
|
**When showing events to users:**
|
|
151
153
|
- Summarize the activity in a readable way (don't just dump raw data)
|
|
@@ -194,6 +196,38 @@ You can **create tasks directly** using the `change_proposals` tool. Tasks are e
|
|
|
194
196
|
|
|
195
197
|
---
|
|
196
198
|
|
|
199
|
+
### resources — READ + WRITE
|
|
200
|
+
|
|
201
|
+
**What it can do:** Browse existing media resources, generate images/audio/video via AI, and save files from URLs into the resource library. Generated media is automatically saved with thumbnails and metadata.
|
|
202
|
+
|
|
203
|
+
| Operation | Description | Example |
|
|
204
|
+
|-----------|-------------|---------|
|
|
205
|
+
| `list` | Browse/search resources | `{ "operation": "list", "query": "logo" }` |
|
|
206
|
+
| `list` with type filter | Filter by media type | `{ "operation": "list", "type_filter": "image" }` |
|
|
207
|
+
| `get` | Get resource details | `{ "operation": "get", "resource_id": "res-..." }` |
|
|
208
|
+
| `generate_image` | Generate an image via AI | `{ "operation": "generate_image", "prompt": "A modern logo for..." }` |
|
|
209
|
+
| `generate_audio` | Generate speech audio | `{ "operation": "generate_audio", "text": "Welcome to..." }` |
|
|
210
|
+
| `generate_video` | Generate a video via AI | `{ "operation": "generate_video", "prompt": "Ocean waves at sunset" }` |
|
|
211
|
+
| `add_from_url` | Save a URL as a resource | `{ "operation": "add_from_url", "url": "https://..." }` |
|
|
212
|
+
|
|
213
|
+
**Image generation models:**
|
|
214
|
+
- `nano-banana-pro` (default) — fast, high-quality general purpose
|
|
215
|
+
- `flux-2-dev` — good for creative/artistic styles
|
|
216
|
+
- `flux-2-pro` — higher quality, more control
|
|
217
|
+
- `gpt-image-1.5` — best for transparent backgrounds, limited aspect ratios (1:1, 3:2, 2:3)
|
|
218
|
+
|
|
219
|
+
**Rules for resource generation:**
|
|
220
|
+
- **Always tell the user what you're about to generate** before calling the tool
|
|
221
|
+
- **After generation, always include the resource ID** (e.g. `res-1234567890-abc123def`) in your response so the user sees an inline preview — also mention it's available at `/resources`
|
|
222
|
+
- **Video generation takes 2–5 minutes** — warn the user before starting; suggest image or audio if they need something quick
|
|
223
|
+
- **One generation at a time** — consistent with the write-once rule
|
|
224
|
+
- **Use `list` first** if the user asks about existing resources — don't guess IDs
|
|
225
|
+
- **Default to `nano-banana-pro`** — only use other models if the user asks or the task benefits (e.g., transparent backgrounds → `gpt-image-1.5`)
|
|
226
|
+
|
|
227
|
+
**When the user pastes a URL** to an image, audio, or video file, offer to save it as a resource using `add_from_url`.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
197
231
|
## Helping Users Define Their Project & Architecture
|
|
198
232
|
|
|
199
233
|
When users want to define or refine their project or architecture, **guide them through discovery** rather than asking them to write everything at once.
|
|
@@ -11,7 +11,7 @@ sources:
|
|
|
11
11
|
- Customer feedback triage 2025-09-18
|
|
12
12
|
related:
|
|
13
13
|
- .nut/context/project.md
|
|
14
|
-
- .nut/.schema/
|
|
14
|
+
- .nut/.schema/task.schema.md
|
|
15
15
|
owner:
|
|
16
16
|
name: Kevin Bluer
|
|
17
17
|
email: kevin@bluer.com
|
|
@@ -30,7 +30,7 @@ List the most important facts, decisions, and rationales.
|
|
|
30
30
|
|
|
31
31
|
## References
|
|
32
32
|
|
|
33
|
-
Link to designs,
|
|
33
|
+
Link to designs, tasks, experiments, and conversations that informed the knowledge.
|
|
34
34
|
|
|
35
35
|
## Follow-ups
|
|
36
36
|
|