@haoyiyin/workflow 0.2.0
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 +168 -0
- package/SETUP.md +71 -0
- package/SKILL.md +68 -0
- package/USAGE.md +152 -0
- package/dist/bin/yi-workflow.d.ts +3 -0
- package/dist/bin/yi-workflow.d.ts.map +1 -0
- package/dist/bin/yi-workflow.js +39 -0
- package/dist/bin/yi-workflow.js.map +1 -0
- package/dist/src/agents/contracts.d.ts +120 -0
- package/dist/src/agents/contracts.d.ts.map +1 -0
- package/dist/src/agents/contracts.js +431 -0
- package/dist/src/agents/contracts.js.map +1 -0
- package/dist/src/agents/dispatcher-enhanced.d.ts +68 -0
- package/dist/src/agents/dispatcher-enhanced.d.ts.map +1 -0
- package/dist/src/agents/dispatcher-enhanced.js +290 -0
- package/dist/src/agents/dispatcher-enhanced.js.map +1 -0
- package/dist/src/agents/dispatcher.d.ts +107 -0
- package/dist/src/agents/dispatcher.d.ts.map +1 -0
- package/dist/src/agents/dispatcher.js +454 -0
- package/dist/src/agents/dispatcher.js.map +1 -0
- package/dist/src/agents/index.d.ts +11 -0
- package/dist/src/agents/index.d.ts.map +1 -0
- package/dist/src/agents/index.js +10 -0
- package/dist/src/agents/index.js.map +1 -0
- package/dist/src/agents/resilience.d.ts +86 -0
- package/dist/src/agents/resilience.d.ts.map +1 -0
- package/dist/src/agents/resilience.js +183 -0
- package/dist/src/agents/resilience.js.map +1 -0
- package/dist/src/agents/token-budget.d.ts +47 -0
- package/dist/src/agents/token-budget.d.ts.map +1 -0
- package/dist/src/agents/token-budget.js +63 -0
- package/dist/src/agents/token-budget.js.map +1 -0
- package/dist/src/agents/types.d.ts +59 -0
- package/dist/src/agents/types.d.ts.map +1 -0
- package/dist/src/agents/types.js +5 -0
- package/dist/src/agents/types.js.map +1 -0
- package/dist/src/guard/main-agent.d.ts +72 -0
- package/dist/src/guard/main-agent.d.ts.map +1 -0
- package/dist/src/guard/main-agent.js +184 -0
- package/dist/src/guard/main-agent.js.map +1 -0
- package/dist/src/hooks/builtin/index.d.ts +9 -0
- package/dist/src/hooks/builtin/index.d.ts.map +1 -0
- package/dist/src/hooks/builtin/index.js +9 -0
- package/dist/src/hooks/builtin/index.js.map +1 -0
- package/dist/src/hooks/builtin/on-error.d.ts +7 -0
- package/dist/src/hooks/builtin/on-error.d.ts.map +1 -0
- package/dist/src/hooks/builtin/on-error.js +15 -0
- package/dist/src/hooks/builtin/on-error.js.map +1 -0
- package/dist/src/hooks/builtin/post-execute.d.ts +7 -0
- package/dist/src/hooks/builtin/post-execute.d.ts.map +1 -0
- package/dist/src/hooks/builtin/post-execute.js +30 -0
- package/dist/src/hooks/builtin/post-execute.js.map +1 -0
- package/dist/src/hooks/builtin/post-plan.d.ts +7 -0
- package/dist/src/hooks/builtin/post-plan.d.ts.map +1 -0
- package/dist/src/hooks/builtin/post-plan.js +15 -0
- package/dist/src/hooks/builtin/post-plan.js.map +1 -0
- package/dist/src/hooks/builtin/pre-execute.d.ts +7 -0
- package/dist/src/hooks/builtin/pre-execute.d.ts.map +1 -0
- package/dist/src/hooks/builtin/pre-execute.js +22 -0
- package/dist/src/hooks/builtin/pre-execute.js.map +1 -0
- package/dist/src/hooks/builtin/pre-plan.d.ts +7 -0
- package/dist/src/hooks/builtin/pre-plan.d.ts.map +1 -0
- package/dist/src/hooks/builtin/pre-plan.js +19 -0
- package/dist/src/hooks/builtin/pre-plan.js.map +1 -0
- package/dist/src/hooks/index.d.ts +8 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +4 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/loader.d.ts +16 -0
- package/dist/src/hooks/loader.d.ts.map +1 -0
- package/dist/src/hooks/loader.js +77 -0
- package/dist/src/hooks/loader.js.map +1 -0
- package/dist/src/hooks/manager.d.ts +20 -0
- package/dist/src/hooks/manager.d.ts.map +1 -0
- package/dist/src/hooks/manager.js +76 -0
- package/dist/src/hooks/manager.js.map +1 -0
- package/dist/src/hooks/types-enhanced.d.ts +30 -0
- package/dist/src/hooks/types-enhanced.d.ts.map +1 -0
- package/dist/src/hooks/types-enhanced.js +22 -0
- package/dist/src/hooks/types-enhanced.js.map +1 -0
- package/dist/src/hooks/types.d.ts +27 -0
- package/dist/src/hooks/types.d.ts.map +1 -0
- package/dist/src/hooks/types.js +2 -0
- package/dist/src/hooks/types.js.map +1 -0
- package/dist/src/index.d.ts +43 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +41 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/persistence/index.d.ts +7 -0
- package/dist/src/persistence/index.d.ts.map +1 -0
- package/dist/src/persistence/index.js +6 -0
- package/dist/src/persistence/index.js.map +1 -0
- package/dist/src/persistence/plan-md.d.ts +11 -0
- package/dist/src/persistence/plan-md.d.ts.map +1 -0
- package/dist/src/persistence/plan-md.js +125 -0
- package/dist/src/persistence/plan-md.js.map +1 -0
- package/dist/src/persistence/state-md.d.ts +17 -0
- package/dist/src/persistence/state-md.d.ts.map +1 -0
- package/dist/src/persistence/state-md.js +143 -0
- package/dist/src/persistence/state-md.js.map +1 -0
- package/dist/src/persistence/types.d.ts +85 -0
- package/dist/src/persistence/types.d.ts.map +1 -0
- package/dist/src/persistence/types.js +5 -0
- package/dist/src/persistence/types.js.map +1 -0
- package/dist/src/router/classifier.d.ts +108 -0
- package/dist/src/router/classifier.d.ts.map +1 -0
- package/dist/src/router/classifier.js +476 -0
- package/dist/src/router/classifier.js.map +1 -0
- package/dist/src/router/guard.d.ts +128 -0
- package/dist/src/router/guard.d.ts.map +1 -0
- package/dist/src/router/guard.js +370 -0
- package/dist/src/router/guard.js.map +1 -0
- package/dist/src/router/index.d.ts +10 -0
- package/dist/src/router/index.d.ts.map +1 -0
- package/dist/src/router/index.js +8 -0
- package/dist/src/router/index.js.map +1 -0
- package/dist/src/router/router.d.ts +58 -0
- package/dist/src/router/router.d.ts.map +1 -0
- package/dist/src/router/router.js +78 -0
- package/dist/src/router/router.js.map +1 -0
- package/dist/src/router/types.d.ts +100 -0
- package/dist/src/router/types.d.ts.map +1 -0
- package/dist/src/router/types.js +24 -0
- package/dist/src/router/types.js.map +1 -0
- package/dist/src/skills/agents-md/index.d.ts +9 -0
- package/dist/src/skills/agents-md/index.d.ts.map +1 -0
- package/dist/src/skills/agents-md/index.js +28 -0
- package/dist/src/skills/agents-md/index.js.map +1 -0
- package/dist/src/skills/execute-plan/index.d.ts +141 -0
- package/dist/src/skills/execute-plan/index.d.ts.map +1 -0
- package/dist/src/skills/execute-plan/index.js +784 -0
- package/dist/src/skills/execute-plan/index.js.map +1 -0
- package/dist/src/skills/index.d.ts +14 -0
- package/dist/src/skills/index.d.ts.map +1 -0
- package/dist/src/skills/index.js +10 -0
- package/dist/src/skills/index.js.map +1 -0
- package/dist/src/skills/quick-task/index.d.ts +75 -0
- package/dist/src/skills/quick-task/index.d.ts.map +1 -0
- package/dist/src/skills/quick-task/index.js +284 -0
- package/dist/src/skills/quick-task/index.js.map +1 -0
- package/dist/src/skills/registry.d.ts +15 -0
- package/dist/src/skills/registry.d.ts.map +1 -0
- package/dist/src/skills/registry.js +44 -0
- package/dist/src/skills/registry.js.map +1 -0
- package/dist/src/skills/review-diff/index.d.ts +96 -0
- package/dist/src/skills/review-diff/index.d.ts.map +1 -0
- package/dist/src/skills/review-diff/index.js +316 -0
- package/dist/src/skills/review-diff/index.js.map +1 -0
- package/dist/src/skills/skill.d.ts +24 -0
- package/dist/src/skills/skill.d.ts.map +1 -0
- package/dist/src/skills/skill.js +39 -0
- package/dist/src/skills/skill.js.map +1 -0
- package/dist/src/skills/systematic-debugging/index.d.ts +90 -0
- package/dist/src/skills/systematic-debugging/index.d.ts.map +1 -0
- package/dist/src/skills/systematic-debugging/index.js +305 -0
- package/dist/src/skills/systematic-debugging/index.js.map +1 -0
- package/dist/src/skills/tdd/index.d.ts +103 -0
- package/dist/src/skills/tdd/index.d.ts.map +1 -0
- package/dist/src/skills/tdd/index.js +338 -0
- package/dist/src/skills/tdd/index.js.map +1 -0
- package/dist/src/skills/to-plan/index-enhanced.d.ts +100 -0
- package/dist/src/skills/to-plan/index-enhanced.d.ts.map +1 -0
- package/dist/src/skills/to-plan/index-enhanced.js +452 -0
- package/dist/src/skills/to-plan/index-enhanced.js.map +1 -0
- package/dist/src/skills/to-plan/index.d.ts +131 -0
- package/dist/src/skills/to-plan/index.d.ts.map +1 -0
- package/dist/src/skills/to-plan/index.js +460 -0
- package/dist/src/skills/to-plan/index.js.map +1 -0
- package/dist/src/skills/types.d.ts +44 -0
- package/dist/src/skills/types.d.ts.map +1 -0
- package/dist/src/skills/types.js +2 -0
- package/dist/src/skills/types.js.map +1 -0
- package/dist/src/state/cleanup.d.ts +22 -0
- package/dist/src/state/cleanup.d.ts.map +1 -0
- package/dist/src/state/cleanup.js +87 -0
- package/dist/src/state/cleanup.js.map +1 -0
- package/dist/src/state/index.d.ts +9 -0
- package/dist/src/state/index.d.ts.map +1 -0
- package/dist/src/state/index.js +5 -0
- package/dist/src/state/index.js.map +1 -0
- package/dist/src/state/manager.d.ts +15 -0
- package/dist/src/state/manager.d.ts.map +1 -0
- package/dist/src/state/manager.js +73 -0
- package/dist/src/state/manager.js.map +1 -0
- package/dist/src/state/persistence.d.ts +13 -0
- package/dist/src/state/persistence.d.ts.map +1 -0
- package/dist/src/state/persistence.js +68 -0
- package/dist/src/state/persistence.js.map +1 -0
- package/dist/src/state/types.d.ts +26 -0
- package/dist/src/state/types.d.ts.map +1 -0
- package/dist/src/state/types.js +2 -0
- package/dist/src/state/types.js.map +1 -0
- package/dist/src/state/validator.d.ts +12 -0
- package/dist/src/state/validator.d.ts.map +1 -0
- package/dist/src/state/validator.js +56 -0
- package/dist/src/state/validator.js.map +1 -0
- package/dist/src/types.d.ts +83 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +5 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/compress.d.ts +37 -0
- package/dist/src/utils/compress.d.ts.map +1 -0
- package/dist/src/utils/compress.js +298 -0
- package/dist/src/utils/compress.js.map +1 -0
- package/dist/src/utils/git.d.ts +9 -0
- package/dist/src/utils/git.d.ts.map +1 -0
- package/dist/src/utils/git.js +81 -0
- package/dist/src/utils/git.js.map +1 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +7 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/logger.d.ts +6 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +19 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/paths.d.ts +12 -0
- package/dist/src/utils/paths.d.ts.map +1 -0
- package/dist/src/utils/paths.js +44 -0
- package/dist/src/utils/paths.js.map +1 -0
- package/package.json +76 -0
- package/scripts/postinstall.js +69 -0
- package/yi-workflow.js +17 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Router system types - Controls all user input routing
|
|
3
|
+
*/
|
|
4
|
+
/** Main Agent is NEVER allowed to do these */
|
|
5
|
+
export const MAIN_AGENT_PROHIBITED = {
|
|
6
|
+
readSourceFiles: true, // ❌ Cannot read .ts, .js, .py, etc.
|
|
7
|
+
searchCodebase: true, // ❌ Cannot search/grep
|
|
8
|
+
writeFiles: true, // ❌ Cannot write any files
|
|
9
|
+
runBuildCommands: true, // ❌ Cannot npm build, tsc, etc.
|
|
10
|
+
runTests: true, // ❌ Cannot run tests
|
|
11
|
+
editLargeFiles: true, // ❌ Cannot edit >50 lines
|
|
12
|
+
longRunningTasks: true, // ❌ Cannot run >30s tasks
|
|
13
|
+
};
|
|
14
|
+
/** Keywords that trigger specific routes */
|
|
15
|
+
export const ROUTE_KEYWORDS = {
|
|
16
|
+
plan: ['plan', 'implement', 'add feature', 'refactor', 'migrate', 'create'],
|
|
17
|
+
'quick-task': ['fix typo', 'rename', 'small change', 'quick', 'trivial'],
|
|
18
|
+
execute: ['execute', 'run plan', 'do plan', 'implement plan'],
|
|
19
|
+
review: ['review', 'check code', 'audit', 'review diff', 'cr'],
|
|
20
|
+
debug: ['debug', 'fix bug', 'investigate', 'root cause', 'flaky'],
|
|
21
|
+
tdd: ['tdd', 'test first', 'red green', 'write test'],
|
|
22
|
+
general: ['what', 'how', 'explain', 'tell me', 'search', 'find'],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/router/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwGH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe,EAAE,IAAI,EAAO,oCAAoC;IAChE,cAAc,EAAE,IAAI,EAAQ,uBAAuB;IACnD,UAAU,EAAE,IAAI,EAAY,2BAA2B;IACvD,gBAAgB,EAAE,IAAI,EAAM,gCAAgC;IAC5D,QAAQ,EAAE,IAAI,EAAc,qBAAqB;IACjD,cAAc,EAAE,IAAI,EAAQ,0BAA0B;IACtD,gBAAgB,EAAE,IAAI,EAAM,0BAA0B;CACvD,CAAA;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;IAC3E,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC;IACxE,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC;IAC7D,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;IACjE,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC;IACrD,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;CACjE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Skill } from '../skill.js';
|
|
2
|
+
import type { SkillContext } from '../types.js';
|
|
3
|
+
export declare class AgentsMdSkill extends Skill<any, any> {
|
|
4
|
+
constructor();
|
|
5
|
+
execute(input: any, context: SkillContext): Promise<any>;
|
|
6
|
+
}
|
|
7
|
+
export declare const agentsMdSkill: AgentsMdSkill;
|
|
8
|
+
export default agentsMdSkill;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skills/agents-md/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ/C,qBAAa,aAAc,SAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;IAE1C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;CAkB/D;AACD,eAAO,MAAM,aAAa,eAAsB,CAAA;AAChD,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Skill } from '../skill.js';
|
|
3
|
+
import { createDispatcher } from '../../agents/dispatcher.js';
|
|
4
|
+
import { createMainAgentGuard } from '../../guard/main-agent.js';
|
|
5
|
+
const P = { readFiles: true, searchCode: false, runCommands: false, writeFiles: false, gitOperations: false };
|
|
6
|
+
const PRW = { readFiles: true, searchCode: false, runCommands: false, writeFiles: true, gitOperations: false };
|
|
7
|
+
const AgentsMdInputSchema = z.object({ type: z.enum(['CLAUDE', 'AGENTS', 'CONTEXT']).default('CLAUDE'), update: z.boolean().default(false), model: z.string().optional() });
|
|
8
|
+
export class AgentsMdSkill extends Skill {
|
|
9
|
+
constructor() { super({ name: 'agents-md', description: 'Create/update agent instructions', requires: [], inputSchema: AgentsMdInputSchema }); }
|
|
10
|
+
async execute(input, context) {
|
|
11
|
+
const { config, logger } = context;
|
|
12
|
+
const dispatcher = createDispatcher(logger);
|
|
13
|
+
const guard = createMainAgentGuard({}, logger);
|
|
14
|
+
const filename = `${input.type}.md`;
|
|
15
|
+
guard.activateEmbargo();
|
|
16
|
+
try {
|
|
17
|
+
const explore = await dispatcher.dispatch({ role: 'explorer', model: input.model || config.defaultModel }, { permissions: P, prompt: `Collect repo evidence: package.json, README, configs.`, owns: [], reads: ['package.json', 'README.md', filename] });
|
|
18
|
+
await dispatcher.dispatch({ role: 'implementer', model: input.model || 'sonnet' }, { permissions: PRW, prompt: `${input.update ? 'Update' : 'Create'} ${filename}. Evidence: ${explore.output.slice(0, 3000)}. Include: Overview, Tech Stack, Commands, Conventions.`, owns: [filename], reads: [] });
|
|
19
|
+
return { filePath: filename, mode: input.update ? 'updated' : 'created', evidence: ['package.json'], rules: ['Overview'], assumptions: [], summary: `${filename} done` };
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
guard.deactivateEmbargo();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export const agentsMdSkill = new AgentsMdSkill();
|
|
27
|
+
export default agentsMdSkill;
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/agents-md/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Execute Plan Skill - Orchestrates TDD and Review skills
|
|
3
|
+
*
|
|
4
|
+
* Architecture: Orchestrator pattern
|
|
5
|
+
* - Executes waves sequentially
|
|
6
|
+
* - Each task uses TDD skill (RED/GREEN/REFACTOR)
|
|
7
|
+
* - Verification uses review-diff skill
|
|
8
|
+
* - Lifecycle managed via hooks
|
|
9
|
+
* - Task-level worktree isolation via worktreeContract subagent
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { Skill } from '../skill.js';
|
|
13
|
+
import type { SkillContext } from '../types.js';
|
|
14
|
+
declare const ExecuteInputSchema: z.ZodObject<{
|
|
15
|
+
plan: z.ZodAny;
|
|
16
|
+
waves: z.ZodArray<z.ZodAny, "many">;
|
|
17
|
+
skipVerify: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
model: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
waves: any[];
|
|
21
|
+
model?: string | undefined;
|
|
22
|
+
plan?: any;
|
|
23
|
+
skipVerify?: boolean | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
waves: any[];
|
|
26
|
+
model?: string | undefined;
|
|
27
|
+
plan?: any;
|
|
28
|
+
skipVerify?: boolean | undefined;
|
|
29
|
+
}>;
|
|
30
|
+
declare const ExecuteOutputSchema: z.ZodObject<{
|
|
31
|
+
success: z.ZodBoolean;
|
|
32
|
+
results: z.ZodArray<z.ZodAny, "many">;
|
|
33
|
+
verification: z.ZodAny;
|
|
34
|
+
wavesCompleted: z.ZodNumber;
|
|
35
|
+
totalWaves: z.ZodNumber;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
success: boolean;
|
|
38
|
+
results: any[];
|
|
39
|
+
wavesCompleted: number;
|
|
40
|
+
totalWaves: number;
|
|
41
|
+
verification?: any;
|
|
42
|
+
}, {
|
|
43
|
+
success: boolean;
|
|
44
|
+
results: any[];
|
|
45
|
+
wavesCompleted: number;
|
|
46
|
+
totalWaves: number;
|
|
47
|
+
verification?: any;
|
|
48
|
+
}>;
|
|
49
|
+
type ExecuteInput = z.infer<typeof ExecuteInputSchema>;
|
|
50
|
+
type ExecuteOutput = z.infer<typeof ExecuteOutputSchema>;
|
|
51
|
+
export declare class ExecutePlanSkill extends Skill<ExecuteInput, ExecuteOutput> {
|
|
52
|
+
constructor();
|
|
53
|
+
execute(input: ExecuteInput, context: SkillContext): Promise<ExecuteOutput>;
|
|
54
|
+
/**
|
|
55
|
+
* Execute a wave using TDD skill for each task
|
|
56
|
+
* Parallel execution with Promise.allSettled
|
|
57
|
+
*/
|
|
58
|
+
private executeWaveWithTDD;
|
|
59
|
+
/**
|
|
60
|
+
* Execute single task using TDD skill with task-level worktree isolation
|
|
61
|
+
* Each task gets its own worktree for true isolation
|
|
62
|
+
* Uses worktreeContract instead of worktree-start skill
|
|
63
|
+
*/
|
|
64
|
+
private executeTaskWithTDD;
|
|
65
|
+
/**
|
|
66
|
+
* Run verification using review-diff skill
|
|
67
|
+
* Returns structured verification result
|
|
68
|
+
*/
|
|
69
|
+
private runVerificationWithReviewDiff;
|
|
70
|
+
/**
|
|
71
|
+
* Verify goals using review-diff skill
|
|
72
|
+
*/
|
|
73
|
+
private verifyGoalsWithReviewDiff;
|
|
74
|
+
/**
|
|
75
|
+
* Verify code quality using review-diff skill
|
|
76
|
+
*/
|
|
77
|
+
private verifyQualityWithReviewDiff;
|
|
78
|
+
/**
|
|
79
|
+
* Verify tests by checking TDD results
|
|
80
|
+
*/
|
|
81
|
+
private verifyTests;
|
|
82
|
+
/**
|
|
83
|
+
* Handle wave failure
|
|
84
|
+
*/
|
|
85
|
+
private handleWaveFailure;
|
|
86
|
+
/**
|
|
87
|
+
* Merge completed task worktrees back to main worktree with automatic conflict resolution
|
|
88
|
+
* Called after each successful wave
|
|
89
|
+
*
|
|
90
|
+
* Conflict Resolution Strategy:
|
|
91
|
+
* 1. Try merge --no-ff
|
|
92
|
+
* 2. If conflict, analyze with debugger subagent
|
|
93
|
+
* 3. Auto-resolve based on conflict type (imports, adjacent changes, etc.)
|
|
94
|
+
* 4. If cannot auto-resolve, try rebase-merging or manual merge
|
|
95
|
+
* 5. Last resort: mark for manual resolution
|
|
96
|
+
*/
|
|
97
|
+
private mergeTaskWorktrees;
|
|
98
|
+
/**
|
|
99
|
+
* Merge a single branch with conflict detection and auto-resolution
|
|
100
|
+
*/
|
|
101
|
+
private mergeSingleBranch;
|
|
102
|
+
/**
|
|
103
|
+
* Parse merge result from subagent output
|
|
104
|
+
*/
|
|
105
|
+
private parseMergeResult;
|
|
106
|
+
/**
|
|
107
|
+
* Auto-resolve merge conflicts using debugger subagent
|
|
108
|
+
*/
|
|
109
|
+
private autoResolveConflicts;
|
|
110
|
+
/**
|
|
111
|
+
* Resolve a single file conflict
|
|
112
|
+
*/
|
|
113
|
+
private resolveSingleFile;
|
|
114
|
+
/**
|
|
115
|
+
* Parse conflict analysis from subagent output
|
|
116
|
+
*/
|
|
117
|
+
private parseConflictAnalysis;
|
|
118
|
+
/**
|
|
119
|
+
* Apply conflict resolution strategy
|
|
120
|
+
*/
|
|
121
|
+
private applyConflictStrategy;
|
|
122
|
+
/**
|
|
123
|
+
* Intelligently combine changes from both branches
|
|
124
|
+
*/
|
|
125
|
+
private combineFileChanges;
|
|
126
|
+
/**
|
|
127
|
+
* Parse resolution result
|
|
128
|
+
*/
|
|
129
|
+
private parseResolutionResult;
|
|
130
|
+
/**
|
|
131
|
+
* Parse worktree output from subagent
|
|
132
|
+
*/
|
|
133
|
+
private parseWorktreeOutput;
|
|
134
|
+
/**
|
|
135
|
+
* Helper to trigger hooks with error handling
|
|
136
|
+
*/
|
|
137
|
+
private triggerHook;
|
|
138
|
+
}
|
|
139
|
+
export declare const executePlanSkill: ExecutePlanSkill;
|
|
140
|
+
export {};
|
|
141
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skills/execute-plan/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAmB/C,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKtB,CAAA;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMvB,CAAA;AAEF,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACtD,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAExD,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC;;IAShE,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAmHjF;;;OAGG;YACW,kBAAkB;IA2EhC;;;;OAIG;YACW,kBAAkB;IAyDhC;;;OAGG;YACW,6BAA6B;IAsC3C;;OAEG;YACW,yBAAyB;IA8BvC;;OAEG;YACW,2BAA2B;IA4BzC;;OAEG;YACW,WAAW;IAgDzB;;OAEG;YACW,iBAAiB;IAc/B;;;;;;;;;;OAUG;YACW,kBAAkB;IA4ChC;;OAEG;YACW,iBAAiB;IA6E/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;YACW,oBAAoB;IAyBlC;;OAEG;YACW,iBAAiB;IAyD/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;YACW,qBAAqB;IA6CnC;;OAEG;YACW,kBAAkB;IAqDhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;OAEG;YACW,WAAW;CAc1B;AACD,eAAO,MAAM,gBAAgB,kBAAyB,CAAA"}
|