@lovelybunch/core 1.0.76-alpha.0 → 1.0.76-alpha.2

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/mail.d.ts CHANGED
@@ -8,14 +8,14 @@ export declare const MailAttachmentSchema: z.ZodObject<{
8
8
  contentDisposition: z.ZodOptional<z.ZodString>;
9
9
  contentId: z.ZodOptional<z.ZodString>;
10
10
  }, "strip", z.ZodTypeAny, {
11
- id: string;
12
11
  filename: string;
12
+ id: string;
13
13
  contentType: string;
14
14
  contentDisposition?: string | undefined;
15
15
  contentId?: string | undefined;
16
16
  }, {
17
- id: string;
18
17
  filename: string;
18
+ id: string;
19
19
  contentType: string;
20
20
  contentDisposition?: string | undefined;
21
21
  contentId?: string | undefined;
@@ -36,14 +36,14 @@ export declare const MailMessageSchema: z.ZodObject<{
36
36
  contentDisposition: z.ZodOptional<z.ZodString>;
37
37
  contentId: z.ZodOptional<z.ZodString>;
38
38
  }, "strip", z.ZodTypeAny, {
39
- id: string;
40
39
  filename: string;
40
+ id: string;
41
41
  contentType: string;
42
42
  contentDisposition?: string | undefined;
43
43
  contentId?: string | undefined;
44
44
  }, {
45
- id: string;
46
45
  filename: string;
46
+ id: string;
47
47
  contentType: string;
48
48
  contentDisposition?: string | undefined;
49
49
  contentId?: string | undefined;
@@ -55,8 +55,8 @@ export declare const MailMessageSchema: z.ZodObject<{
55
55
  processing: z.ZodOptional<z.ZodBoolean>;
56
56
  processingStartedAt: z.ZodOptional<z.ZodString>;
57
57
  }, "strip", z.ZodTypeAny, {
58
- id: string;
59
58
  content: string;
59
+ id: string;
60
60
  emailId: string;
61
61
  from: string;
62
62
  to: string[];
@@ -65,8 +65,8 @@ export declare const MailMessageSchema: z.ZodObject<{
65
65
  subject: string;
66
66
  messageId: string;
67
67
  attachments: {
68
- id: string;
69
68
  filename: string;
69
+ id: string;
70
70
  contentType: string;
71
71
  contentDisposition?: string | undefined;
72
72
  contentId?: string | undefined;
@@ -90,8 +90,8 @@ export declare const MailMessageSchema: z.ZodObject<{
90
90
  cc?: string[] | undefined;
91
91
  bcc?: string[] | undefined;
92
92
  attachments?: {
93
- id: string;
94
93
  filename: string;
94
+ id: string;
95
95
  contentType: string;
96
96
  contentDisposition?: string | undefined;
97
97
  contentId?: string | undefined;
@@ -114,14 +114,14 @@ export declare const SaveMailInputSchema: z.ZodObject<{
114
114
  contentDisposition: z.ZodOptional<z.ZodString>;
115
115
  contentId: z.ZodOptional<z.ZodString>;
116
116
  }, "strip", z.ZodTypeAny, {
117
- id: string;
118
117
  filename: string;
118
+ id: string;
119
119
  contentType: string;
120
120
  contentDisposition?: string | undefined;
121
121
  contentId?: string | undefined;
122
122
  }, {
123
- id: string;
124
123
  filename: string;
124
+ id: string;
125
125
  contentType: string;
126
126
  contentDisposition?: string | undefined;
127
127
  contentId?: string | undefined;
@@ -138,8 +138,8 @@ export declare const SaveMailInputSchema: z.ZodObject<{
138
138
  subject: string;
139
139
  messageId: string;
140
140
  attachments: {
141
- id: string;
142
141
  filename: string;
142
+ id: string;
143
143
  contentType: string;
144
144
  contentDisposition?: string | undefined;
145
145
  contentId?: string | undefined;
@@ -155,8 +155,8 @@ export declare const SaveMailInputSchema: z.ZodObject<{
155
155
  subject?: string | undefined;
156
156
  messageId?: string | undefined;
157
157
  attachments?: {
158
- id: string;
159
158
  filename: string;
159
+ id: string;
160
160
  contentType: string;
161
161
  contentDisposition?: string | undefined;
162
162
  contentId?: string | undefined;
@@ -238,14 +238,14 @@ export declare const mailSchemas: {
238
238
  contentDisposition: z.ZodOptional<z.ZodString>;
239
239
  contentId: z.ZodOptional<z.ZodString>;
240
240
  }, "strip", z.ZodTypeAny, {
241
- id: string;
242
241
  filename: string;
242
+ id: string;
243
243
  contentType: string;
244
244
  contentDisposition?: string | undefined;
245
245
  contentId?: string | undefined;
246
246
  }, {
247
- id: string;
248
247
  filename: string;
248
+ id: string;
249
249
  contentType: string;
250
250
  contentDisposition?: string | undefined;
251
251
  contentId?: string | undefined;
@@ -266,14 +266,14 @@ export declare const mailSchemas: {
266
266
  contentDisposition: z.ZodOptional<z.ZodString>;
267
267
  contentId: z.ZodOptional<z.ZodString>;
268
268
  }, "strip", z.ZodTypeAny, {
269
- id: string;
270
269
  filename: string;
270
+ id: string;
271
271
  contentType: string;
272
272
  contentDisposition?: string | undefined;
273
273
  contentId?: string | undefined;
274
274
  }, {
275
- id: string;
276
275
  filename: string;
276
+ id: string;
277
277
  contentType: string;
278
278
  contentDisposition?: string | undefined;
279
279
  contentId?: string | undefined;
@@ -285,8 +285,8 @@ export declare const mailSchemas: {
285
285
  processing: z.ZodOptional<z.ZodBoolean>;
286
286
  processingStartedAt: z.ZodOptional<z.ZodString>;
287
287
  }, "strip", z.ZodTypeAny, {
288
- id: string;
289
288
  content: string;
289
+ id: string;
290
290
  emailId: string;
291
291
  from: string;
292
292
  to: string[];
@@ -295,8 +295,8 @@ export declare const mailSchemas: {
295
295
  subject: string;
296
296
  messageId: string;
297
297
  attachments: {
298
- id: string;
299
298
  filename: string;
299
+ id: string;
300
300
  contentType: string;
301
301
  contentDisposition?: string | undefined;
302
302
  contentId?: string | undefined;
@@ -320,8 +320,8 @@ export declare const mailSchemas: {
320
320
  cc?: string[] | undefined;
321
321
  bcc?: string[] | undefined;
322
322
  attachments?: {
323
- id: string;
324
323
  filename: string;
324
+ id: string;
325
325
  contentType: string;
326
326
  contentDisposition?: string | undefined;
327
327
  contentId?: string | undefined;
@@ -344,14 +344,14 @@ export declare const mailSchemas: {
344
344
  contentDisposition: z.ZodOptional<z.ZodString>;
345
345
  contentId: z.ZodOptional<z.ZodString>;
346
346
  }, "strip", z.ZodTypeAny, {
347
- id: string;
348
347
  filename: string;
348
+ id: string;
349
349
  contentType: string;
350
350
  contentDisposition?: string | undefined;
351
351
  contentId?: string | undefined;
352
352
  }, {
353
- id: string;
354
353
  filename: string;
354
+ id: string;
355
355
  contentType: string;
356
356
  contentDisposition?: string | undefined;
357
357
  contentId?: string | undefined;
@@ -368,8 +368,8 @@ export declare const mailSchemas: {
368
368
  subject: string;
369
369
  messageId: string;
370
370
  attachments: {
371
- id: string;
372
371
  filename: string;
372
+ id: string;
373
373
  contentType: string;
374
374
  contentDisposition?: string | undefined;
375
375
  contentId?: string | undefined;
@@ -385,8 +385,8 @@ export declare const mailSchemas: {
385
385
  subject?: string | undefined;
386
386
  messageId?: string | undefined;
387
387
  attachments?: {
388
- id: string;
389
388
  filename: string;
389
+ id: string;
390
390
  contentType: string;
391
391
  contentDisposition?: string | undefined;
392
392
  contentId?: string | undefined;
@@ -0,0 +1,35 @@
1
+ export type CliAgent = 'claude' | 'gemini' | 'codex' | 'droid' | 'kiro';
2
+ export type PipelineContextType = 'change-task' | 'prepare-task' | 'skill' | 'general';
3
+ export interface PipelineConfig {
4
+ taskId: string;
5
+ contextType: PipelineContextType;
6
+ cliAgent: CliAgent;
7
+ mcpServersMap: Record<string, any>;
8
+ selectedMcpServers: string[];
9
+ skills: {
10
+ id: string;
11
+ name: string;
12
+ }[];
13
+ selectedSkillIds: string[];
14
+ automationEnabled: boolean;
15
+ customInstruction?: string;
16
+ includeDefaultInstructions?: boolean;
17
+ }
18
+ export type BuildCommand = (config: PipelineConfig) => string;
19
+ /**
20
+ * Sanitize instruction text for safe embedding in shell commands.
21
+ * - Backticks -> single quotes (prevents shell command substitution)
22
+ * - Curly/smart quotes -> straight equivalents
23
+ */
24
+ export declare function sanitizeInstruction(text: string): string;
25
+ export declare const buildClaudeCommand: BuildCommand;
26
+ export declare const buildGeminiCommand: BuildCommand;
27
+ export declare const buildCodexCommand: BuildCommand;
28
+ export declare const buildDroidCommand: BuildCommand;
29
+ export declare const buildKiroCommand: BuildCommand;
30
+ /**
31
+ * Build the shell command for a given pipeline configuration.
32
+ * Dispatches to the appropriate per-agent builder.
33
+ */
34
+ export declare function buildPipelineCommand(cfg: PipelineConfig): string;
35
+ //# sourceMappingURL=pipeline-builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-builders.d.ts","sourceRoot":"","sources":["../src/pipeline-builders.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvE,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,cAAc,GAAG,OAAO,GAAG,SAAS,CAAA;AAEtF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,mBAAmB,CAAA;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtC,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,MAAM,CAAA;AAE7D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKxD;AAuBD,eAAO,MAAM,kBAAkB,EAAE,YAYhC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,YAOhC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,YAQ/B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,YAQ/B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,YAS9B,CAAA;AAUD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAMhE"}
@@ -0,0 +1,85 @@
1
+ import { getChangeTaskInstructions, getPrepareChangeTaskInstructions, getSkillInstructions, } from './skill-instructions.js';
2
+ /**
3
+ * Sanitize instruction text for safe embedding in shell commands.
4
+ * - Backticks -> single quotes (prevents shell command substitution)
5
+ * - Curly/smart quotes -> straight equivalents
6
+ */
7
+ export function sanitizeInstruction(text) {
8
+ return text
9
+ .replace(/`/g, "'")
10
+ .replace(/[\u2018\u2019]/g, "'")
11
+ .replace(/[\u201C\u201D]/g, '"');
12
+ }
13
+ function getInstructionParts(cfg) {
14
+ const skillPaths = cfg.selectedSkillIds.map((id) => `.nut/skills/${id}/SKILL.md`);
15
+ const safeCustom = cfg.customInstruction ? sanitizeInstruction(cfg.customInstruction) : cfg.customInstruction;
16
+ const parts = cfg.contextType === 'change-task'
17
+ ? getChangeTaskInstructions(cfg.taskId, skillPaths, safeCustom, cfg.includeDefaultInstructions ?? true)
18
+ : cfg.contextType === 'prepare-task'
19
+ ? getPrepareChangeTaskInstructions(cfg.taskId, skillPaths, safeCustom)
20
+ : getSkillInstructions(skillPaths, safeCustom);
21
+ return parts.join(' ');
22
+ }
23
+ function escapeForNodeE(nodeJs) {
24
+ return `node -e "${nodeJs.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
25
+ }
26
+ function buildMcpSelSet(selectedMcpServers) {
27
+ return selectedMcpServers.map((n) => `'${n.replace(/'/g, "'\\''")}'`).join(',');
28
+ }
29
+ export const buildClaudeCommand = (cfg) => {
30
+ const instruction = getInstructionParts(cfg);
31
+ const selList = buildMcpSelSet(cfg.selectedMcpServers);
32
+ const flags = [cfg.automationEnabled ? '--dangerously-skip-permissions' : '']
33
+ .filter(Boolean)
34
+ .join(' ');
35
+ const argsList = [JSON.stringify(instruction)].concat(flags ? [JSON.stringify('--dangerously-skip-permissions')] : []);
36
+ const nodeJs = `const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${selList}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('claude',[${argsList.join(',')}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`;
37
+ return escapeForNodeE(nodeJs);
38
+ };
39
+ export const buildGeminiCommand = (cfg) => {
40
+ const instruction = getInstructionParts(cfg);
41
+ const selList = buildMcpSelSet(cfg.selectedMcpServers);
42
+ const nodeJs = `const fs=require('fs'),path=require('path'),{spawn}=require('child_process');const s=new Set([${selList}]);const c=require('./.nut/mcp/config.json');const geminiPath=path.join(require('os').homedir(),'.gemini','settings.json');let settings={};try{settings=JSON.parse(fs.readFileSync(geminiPath,'utf8'))}catch(e){}settings.mcpServers=Object.fromEntries(Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)));fs.writeFileSync(geminiPath,JSON.stringify(settings,null,2));const p=spawn('gemini',['-i',${JSON.stringify(instruction)}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`;
43
+ return escapeForNodeE(nodeJs);
44
+ };
45
+ export const buildCodexCommand = (cfg) => {
46
+ const instruction = getInstructionParts(cfg);
47
+ const selList = buildMcpSelSet(cfg.selectedMcpServers);
48
+ const argsList = [JSON.stringify(instruction)].concat(cfg.automationEnabled ? [JSON.stringify('--dangerously-bypass-approvals-and-sandbox')] : []);
49
+ const nodeJs = `const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${selList}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('codex',[${argsList.join(',')}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`;
50
+ return escapeForNodeE(nodeJs);
51
+ };
52
+ export const buildDroidCommand = (cfg) => {
53
+ const instruction = getInstructionParts(cfg);
54
+ const selList = buildMcpSelSet(cfg.selectedMcpServers);
55
+ const argsList = [JSON.stringify(instruction)];
56
+ const nodeJs = `const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${selList}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('droid',[${argsList.join(',')}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`;
57
+ return escapeForNodeE(nodeJs);
58
+ };
59
+ export const buildKiroCommand = (cfg) => {
60
+ const instruction = getInstructionParts(cfg);
61
+ const selList = buildMcpSelSet(cfg.selectedMcpServers);
62
+ const autoFlags = cfg.automationEnabled ? [`'--no-interactive'`, `'--trust-all-tools'`] : [];
63
+ const argsList = [`'chat'`, ...autoFlags, JSON.stringify(instruction)];
64
+ const nodeJs = `const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${selList}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('kiro-cli',[${argsList.join(',')}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`;
65
+ return escapeForNodeE(nodeJs);
66
+ };
67
+ const BUILDERS = {
68
+ claude: buildClaudeCommand,
69
+ gemini: buildGeminiCommand,
70
+ codex: buildCodexCommand,
71
+ droid: buildDroidCommand,
72
+ kiro: buildKiroCommand,
73
+ };
74
+ /**
75
+ * Build the shell command for a given pipeline configuration.
76
+ * Dispatches to the appropriate per-agent builder.
77
+ */
78
+ export function buildPipelineCommand(cfg) {
79
+ const builder = BUILDERS[cfg.cliAgent];
80
+ if (!builder) {
81
+ throw new Error(`Unknown CLI agent: ${cfg.cliAgent}`);
82
+ }
83
+ return builder(cfg);
84
+ }
85
+ //# sourceMappingURL=pipeline-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-builders.js","sourceRoot":"","sources":["../src/pipeline-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { SCHEMA_REFERENCE_INSTRUCTION, PROJECT_REFERENCE_INSTRUCTION, getChangeTaskInstructions, getPrepareChangeTaskInstructions, getSkillInstructions, getAgentInstructions, } from './skill-instructions.js';
2
+ export { sanitizeInstruction, buildClaudeCommand, buildGeminiCommand, buildCodexCommand, buildDroidCommand, buildKiroCommand, buildPipelineCommand, } from './pipeline-builders.js';
3
+ export type { CliAgent, PipelineContextType, PipelineConfig, BuildCommand, } from './pipeline-builders.js';
4
+ //# sourceMappingURL=pipelines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.d.ts","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { SCHEMA_REFERENCE_INSTRUCTION, PROJECT_REFERENCE_INSTRUCTION, getChangeTaskInstructions, getPrepareChangeTaskInstructions, getSkillInstructions, getAgentInstructions, } from './skill-instructions.js';
2
+ export { sanitizeInstruction, buildClaudeCommand, buildGeminiCommand, buildCodexCommand, buildDroidCommand, buildKiroCommand, buildPipelineCommand, } from './pipeline-builders.js';
3
+ //# sourceMappingURL=pipelines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA"}
@@ -1,11 +1,11 @@
1
1
  export declare const SCHEMA_REFERENCE_INSTRUCTION = "Consult the schema references in .nut/.schema (task.schema.md, project.schema.md, architecture.schema.md, skill.schema.md, knowledge.schema.md) so any updates you make follow the documented structure and include complete arrays for plan steps, dependencies, tags, labels, and comments.";
2
2
  export declare const PROJECT_REFERENCE_INSTRUCTION = "Use .nut/context/project.md and .nut/context/architecture.md for reference.";
3
3
  /**
4
- * Get instructions for change task (cp-*) workflows
4
+ * Get instructions for change task (task-*) workflows
5
5
  */
6
- export declare function getChangeTaskInstructions(proposalId: string, skillPaths: string[], customInstruction?: string, includeDefaultInstructions?: boolean): string[];
6
+ export declare function getChangeTaskInstructions(taskId: string, skillPaths: string[], customInstruction?: string, includeDefaultInstructions?: boolean): string[];
7
7
  /**
8
- * Get instructions for reviewing / preparing a change task (cp-*) before implementation.
8
+ * Get instructions for reviewing / preparing a change task (task-*) before implementation.
9
9
  * Assesses readiness without starting any actual work.
10
10
  */
11
11
  export declare function getPrepareChangeTaskInstructions(taskId: string, skillPaths: string[], customInstruction?: string): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"skill-instructions.d.ts","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,kSACwP,CAAC;AAClS,eAAO,MAAM,6BAA6B,gFACqC,CAAA;AAE/E;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,0BAA0B,GAAE,OAAc,GACzC,MAAM,EAAE,CAyEV;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,EAAE,CAoEV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAAE,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,EAAE,CAgBV;AAGD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,6BAAuB,CAAC"}
1
+ {"version":3,"file":"skill-instructions.d.ts","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,kSACwP,CAAC;AAClS,eAAO,MAAM,6BAA6B,gFACqC,CAAA;AAE/E;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,0BAA0B,GAAE,OAAc,GACzC,MAAM,EAAE,CAyFV;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,EAAE,CAqFV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAAE,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,EAAE,CAgBV;AAGD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,6BAAuB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  export const SCHEMA_REFERENCE_INSTRUCTION = 'Consult the schema references in .nut/.schema (task.schema.md, project.schema.md, architecture.schema.md, skill.schema.md, knowledge.schema.md) so any updates you make follow the documented structure and include complete arrays for plan steps, dependencies, tags, labels, and comments.';
2
2
  export const PROJECT_REFERENCE_INSTRUCTION = 'Use .nut/context/project.md and .nut/context/architecture.md for reference.';
3
3
  /**
4
- * Get instructions for change task (cp-*) workflows
4
+ * Get instructions for change task (task-*) workflows
5
5
  */
6
- export function getChangeTaskInstructions(proposalId, skillPaths, customInstruction, includeDefaultInstructions = true) {
6
+ export function getChangeTaskInstructions(taskId, skillPaths, customInstruction, includeDefaultInstructions = true) {
7
7
  const sections = [];
8
8
  // Add default instructions only if requested
9
9
  if (includeDefaultInstructions) {
@@ -12,43 +12,58 @@ export function getChangeTaskInstructions(proposalId, skillPaths, customInstruct
12
12
  `## Task`,
13
13
  ``,
14
14
  `- Review and begin working on the following task:`,
15
- ` .nut/tasks/${proposalId}.md`,
16
- `- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity to address yourself in any task updates, comments, git commits, etc.`,
15
+ ` .nut/tasks/${taskId}.md`,
16
+ `- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity for task updates, comments, git commits, etc.`,
17
17
  ].join('\n'));
18
18
  // Task Lifecycle section
19
19
  sections.push([
20
20
  `## Task Lifecycle`,
21
21
  ``,
22
- `- Before beginning any work: nut task update ${proposalId} --status active`,
23
- `- Add appropriate steps with: nut task step ${proposalId} "Step description" --author "firstName lastName"`,
22
+ `1. Before beginning any work, set the task to active:`,
23
+ ` nut task update ${taskId} --status active`,
24
24
  ``,
25
- `- If you need human clarification or input: nut task update ${proposalId} --status blocked. The clarification can be communicated as follows: nut task comment ${proposalId} "Comments here" --author "firstName lastName". At this point please stop work.`,
25
+ `2. Work through the existing plan steps, updating each as you go:`,
26
+ ` nut task step-update ${taskId} <stepId> --status active (when starting a step)`,
27
+ ` nut task step-update ${taskId} <stepId> --status done (when complete)`,
28
+ ` nut task step-update ${taskId} <stepId> --status failed --error "reason"`,
29
+ ` nut task step-update ${taskId} <stepId> --status skipped (if not applicable)`,
30
+ ` If no steps exist yet, add them: nut task step ${taskId} "Step description"`,
26
31
  ``,
27
- `- When implementation is complete and ready for approval: nut task update ${proposalId} --status review`,
28
- `- Only mark the task complete once approval criteria are satisfied: nut task update ${proposalId} --status done`,
32
+ `3. If you need human clarification or input, block the task and stop work:`,
33
+ ` nut task update ${taskId} --status blocked`,
34
+ ` nut task comment ${taskId} "Describe what you need" --author "firstName lastName"`,
35
+ ``,
36
+ `4. When implementation is complete and ready for review:`,
37
+ ` nut task update ${taskId} --status review`,
38
+ ` nut task comment ${taskId} "Summary of what was done" --author "firstName lastName"`,
39
+ ``,
40
+ `### Handling Revision Requests`,
41
+ ``,
42
+ `If the task status is 'revision', the user has reviewed your work and left feedback.`,
43
+ `Read the most recent comment(s) carefully, address the feedback, then set back to review:`,
44
+ ` nut task update ${taskId} --status review`,
29
45
  ].join('\n'));
30
46
  // Abilities section
31
47
  sections.push([
32
48
  `## Abilities`,
33
49
  ``,
34
- `- The following abilities are at your disposal and should be factored into the plan where appropriate (each command has its own --help):`,
35
- ` - Work with knowledge documents (used for the output of any research-centric tasks):`,
36
- ` - nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"`,
37
- ` - nut knowledge list`,
38
- ` - nut knowledge get example-filename.md`,
39
- ` - Creating media such as images, audio, or video:`,
40
- ` - nut resource`,
41
- ` - Using available skills (specialized, reusable, and portable modules). There is also an official registry you can pull from:`,
42
- ` - nut skill list`,
43
- ` - nut skill registry list`,
44
- `- Similarly, the following are available: git, gh, node, python`,
50
+ `Beyond task management, the following are at your disposal and should be factored into the plan where appropriate (each command has its own --help):`,
51
+ `- Knowledge documents (for research outputs, notes, and reference material):`,
52
+ ` - nut knowledge create "Title" --content "# Title\\n\\nContent here"`,
53
+ ` - nut knowledge list / get / update`,
54
+ `- Resource library (images, audio, video, or existing files):`,
55
+ ` - nut resource ls / add ./file.png`,
56
+ ` - nut resource image "description" --save`,
57
+ ` - nut resource audio "description" --save`,
58
+ `- Skills (specialized, reusable modules with an official registry):`,
59
+ ` - nut skill list / nut skill registry list`,
60
+ `- Also available: git, gh, node, python`,
45
61
  ].join('\n'));
46
62
  // Operational Rules section
47
63
  sections.push([
48
64
  `## Operational Rules`,
49
65
  ``,
50
- `- DO use the nut CLI to update task status as progress changes`,
51
- ` (nut --help or nut task --help for details)`,
66
+ `- DO use the nut CLI to update task and step status as progress changes`,
52
67
  `- DO NOT edit files outside the scope of the approved task (unless instructed by the Additional Instructions below)`,
53
68
  ].join('\n'));
54
69
  }
@@ -72,7 +87,7 @@ export function getChangeTaskInstructions(proposalId, skillPaths, customInstruct
72
87
  return [sections.join('\n\n')];
73
88
  }
74
89
  /**
75
- * Get instructions for reviewing / preparing a change task (cp-*) before implementation.
90
+ * Get instructions for reviewing / preparing a change task (task-*) before implementation.
76
91
  * Assesses readiness without starting any actual work.
77
92
  */
78
93
  export function getPrepareChangeTaskInstructions(taskId, skillPaths, customInstruction) {
@@ -81,43 +96,60 @@ export function getPrepareChangeTaskInstructions(taskId, skillPaths, customInstr
81
96
  sections.push([
82
97
  `## Your Task`,
83
98
  ``,
84
- `- Review the following task (including all the existing comments and implementation steps) to ensure you have enough information and resources (skills, tools, access, etc) to successfully complete it: .nut/tasks/${taskId}.md`,
85
- `- Note: DO NOT start any work at this stage, this is only a preparatory assessment phase.`,
86
- `- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity to address yourself in any task updates, comments, etc.`,
87
- `- Add a readiness score between 0 and 100 where 100 is total confidence that you could complete the task without any mistakes or further user input: nut task update ${taskId} --readiness <score>`,
88
- `- Add a comment that communicates your readiness and any other relevant information: nut task comment ${taskId} "Comment here" --author "firstName lastName".`,
89
- `- If your readiness score is high enough, add appropriate implementation steps with: nut task step ${taskId} "Step description"`,
90
- `- Of particular importance is whether it would make sense to decompose this into separate tasks, although DO NOT do this without user confirmation first.`,
91
- `- Finally, update the task status to either 'ready' or 'blocked' based on your assessment: nut task update ${taskId} --status [ready|blocked]`,
99
+ `Review the following task to assess whether it is ready for implementation.`,
100
+ `This is a preparatory assessment phase only -- DO NOT start any implementation work.`,
101
+ ``,
102
+ `- Read the task (including all existing comments and plan steps): .nut/tasks/${taskId}.md`,
103
+ `- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity for task updates, comments, etc.`,
104
+ ``,
105
+ `### Assessment Steps`,
106
+ ``,
107
+ `1. Set a readiness score (0-100, where 100 = total confidence you could complete the task without mistakes or further input):`,
108
+ ` nut task update ${taskId} --readiness <score>`,
109
+ ``,
110
+ `2. If readiness is high enough, add implementation plan steps:`,
111
+ ` nut task step ${taskId} "Step description"`,
112
+ ``,
113
+ `3. Evaluate whether the task should be decomposed into smaller tasks.`,
114
+ ` If decomposition is recommended, note this in your comment but DO NOT decompose without user confirmation.`,
115
+ ``,
116
+ `4. Add a comment summarizing your assessment (readiness rationale, risks, decomposition recommendation if any):`,
117
+ ` nut task comment ${taskId} "Assessment summary" --author "firstName lastName"`,
118
+ ``,
119
+ `5. Set the task status based on your assessment:`,
120
+ ` nut task update ${taskId} --status ready (if ready for implementation)`,
121
+ ` nut task update ${taskId} --status blocked (if missing information or resources)`,
122
+ ``,
123
+ `### Handling Revision Requests`,
124
+ ``,
125
+ `If the task status is 'revision', the user has reviewed your assessment and left feedback.`,
126
+ `Read the most recent comment(s) carefully, revise your plan steps and readiness accordingly,`,
127
+ `then set status back to 'ready' or 'blocked' as appropriate.`,
92
128
  ].join('\n'));
93
129
  // Abilities section
94
130
  sections.push([
95
131
  `## Abilities`,
96
132
  ``,
97
- `- The following abilities are at your disposal and should be factored into the plan where appropriate (each command has its own --help):`,
98
- ` - Work with knowledge documents (used for the output of any research-centric tasks):`,
99
- ` - nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"`,
100
- ` - nut knowledge list`,
101
- ` - nut knowledge get example-filename.md`,
102
- ` - nut knowledge update example-filename.md --content "# Quick Note\\n\\nSome content here"`,
103
- ` - Creating media such as images, audio, or video or adding existing files to the resource library:`,
104
- ` - nut resource ls`,
105
- ` - nut resource add ./screenshot.png`,
106
- ` - nut resource image "A serene morning in Tokyo" --save`,
107
- ` - nut resource audio "Welcome to the future" --save`,
108
- ` - Using available skills (specialized, reusable, and portable modules). There is also an official registry you can pull from:`,
109
- ` - nut skill list`,
110
- ` - nut skill registry list`,
111
- `- Similarly, the following are available: git, gh, node, python`,
133
+ `Beyond task management, the following are at your disposal and should be factored into the plan where appropriate (each command has its own --help):`,
134
+ `- Knowledge documents (for research outputs, notes, and reference material):`,
135
+ ` - nut knowledge create "Title" --content "# Title\\n\\nContent here"`,
136
+ ` - nut knowledge list / get / update`,
137
+ `- Resource library (images, audio, video, or existing files):`,
138
+ ` - nut resource ls / add ./file.png`,
139
+ ` - nut resource image "description" --save`,
140
+ ` - nut resource audio "description" --save`,
141
+ `- Skills (specialized, reusable modules with an official registry):`,
142
+ ` - nut skill list / nut skill registry list`,
143
+ `- Also available: git, gh, node, python`,
112
144
  ].join('\n'));
113
145
  // Operational Rules section
114
146
  sections.push([
115
147
  `## Operational Rules`,
116
148
  ``,
149
+ `- DO NOT start any implementation work during this phase`,
117
150
  `- DO NOT use 'npx' when running the nut CLI`,
118
- `- DO use the nut CLI to update task status as progress changes`,
119
- ` (nut --help or nut task --help for details)`,
120
- `- DO NOT edit files outside the scope of the approved task (unless instructed by the Additional Instructions below)`,
151
+ `- DO use the nut CLI to update task status and readiness`,
152
+ `- DO NOT edit files outside the scope of the task (unless instructed by the Additional Instructions below)`,
121
153
  ].join('\n'));
122
154
  // Skills section (conditional)
123
155
  if (skillPaths.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-instructions.js","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-instructions.js","sourceRoot":"","sources":["../src/skill-instructions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovelybunch/core",
3
- "version": "1.0.76-alpha.0",
3
+ "version": "1.0.76-alpha.2",
4
4
  "description": "Core Coconut functionality",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,6 +13,10 @@
13
13
  "./logging": {
14
14
  "types": "./dist/logging/index.d.ts",
15
15
  "import": "./dist/logging/index.js"
16
+ },
17
+ "./pipelines": {
18
+ "types": "./dist/pipelines.d.ts",
19
+ "import": "./dist/pipelines.js"
16
20
  }
17
21
  },
18
22
  "files": [
@@ -38,7 +42,7 @@
38
42
  "test:ui": "vitest --ui"
39
43
  },
40
44
  "dependencies": {
41
- "@lovelybunch/types": "^1.0.76-alpha.0",
45
+ "@lovelybunch/types": "^1.0.76-alpha.2",
42
46
  "@slack/web-api": "^7.13.0",
43
47
  "fuse.js": "^7.0.0",
44
48
  "gray-matter": "^4.0.3",