@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.
Files changed (223) hide show
  1. package/README.md +168 -0
  2. package/SETUP.md +71 -0
  3. package/SKILL.md +68 -0
  4. package/USAGE.md +152 -0
  5. package/dist/bin/yi-workflow.d.ts +3 -0
  6. package/dist/bin/yi-workflow.d.ts.map +1 -0
  7. package/dist/bin/yi-workflow.js +39 -0
  8. package/dist/bin/yi-workflow.js.map +1 -0
  9. package/dist/src/agents/contracts.d.ts +120 -0
  10. package/dist/src/agents/contracts.d.ts.map +1 -0
  11. package/dist/src/agents/contracts.js +431 -0
  12. package/dist/src/agents/contracts.js.map +1 -0
  13. package/dist/src/agents/dispatcher-enhanced.d.ts +68 -0
  14. package/dist/src/agents/dispatcher-enhanced.d.ts.map +1 -0
  15. package/dist/src/agents/dispatcher-enhanced.js +290 -0
  16. package/dist/src/agents/dispatcher-enhanced.js.map +1 -0
  17. package/dist/src/agents/dispatcher.d.ts +107 -0
  18. package/dist/src/agents/dispatcher.d.ts.map +1 -0
  19. package/dist/src/agents/dispatcher.js +454 -0
  20. package/dist/src/agents/dispatcher.js.map +1 -0
  21. package/dist/src/agents/index.d.ts +11 -0
  22. package/dist/src/agents/index.d.ts.map +1 -0
  23. package/dist/src/agents/index.js +10 -0
  24. package/dist/src/agents/index.js.map +1 -0
  25. package/dist/src/agents/resilience.d.ts +86 -0
  26. package/dist/src/agents/resilience.d.ts.map +1 -0
  27. package/dist/src/agents/resilience.js +183 -0
  28. package/dist/src/agents/resilience.js.map +1 -0
  29. package/dist/src/agents/token-budget.d.ts +47 -0
  30. package/dist/src/agents/token-budget.d.ts.map +1 -0
  31. package/dist/src/agents/token-budget.js +63 -0
  32. package/dist/src/agents/token-budget.js.map +1 -0
  33. package/dist/src/agents/types.d.ts +59 -0
  34. package/dist/src/agents/types.d.ts.map +1 -0
  35. package/dist/src/agents/types.js +5 -0
  36. package/dist/src/agents/types.js.map +1 -0
  37. package/dist/src/guard/main-agent.d.ts +72 -0
  38. package/dist/src/guard/main-agent.d.ts.map +1 -0
  39. package/dist/src/guard/main-agent.js +184 -0
  40. package/dist/src/guard/main-agent.js.map +1 -0
  41. package/dist/src/hooks/builtin/index.d.ts +9 -0
  42. package/dist/src/hooks/builtin/index.d.ts.map +1 -0
  43. package/dist/src/hooks/builtin/index.js +9 -0
  44. package/dist/src/hooks/builtin/index.js.map +1 -0
  45. package/dist/src/hooks/builtin/on-error.d.ts +7 -0
  46. package/dist/src/hooks/builtin/on-error.d.ts.map +1 -0
  47. package/dist/src/hooks/builtin/on-error.js +15 -0
  48. package/dist/src/hooks/builtin/on-error.js.map +1 -0
  49. package/dist/src/hooks/builtin/post-execute.d.ts +7 -0
  50. package/dist/src/hooks/builtin/post-execute.d.ts.map +1 -0
  51. package/dist/src/hooks/builtin/post-execute.js +30 -0
  52. package/dist/src/hooks/builtin/post-execute.js.map +1 -0
  53. package/dist/src/hooks/builtin/post-plan.d.ts +7 -0
  54. package/dist/src/hooks/builtin/post-plan.d.ts.map +1 -0
  55. package/dist/src/hooks/builtin/post-plan.js +15 -0
  56. package/dist/src/hooks/builtin/post-plan.js.map +1 -0
  57. package/dist/src/hooks/builtin/pre-execute.d.ts +7 -0
  58. package/dist/src/hooks/builtin/pre-execute.d.ts.map +1 -0
  59. package/dist/src/hooks/builtin/pre-execute.js +22 -0
  60. package/dist/src/hooks/builtin/pre-execute.js.map +1 -0
  61. package/dist/src/hooks/builtin/pre-plan.d.ts +7 -0
  62. package/dist/src/hooks/builtin/pre-plan.d.ts.map +1 -0
  63. package/dist/src/hooks/builtin/pre-plan.js +19 -0
  64. package/dist/src/hooks/builtin/pre-plan.js.map +1 -0
  65. package/dist/src/hooks/index.d.ts +8 -0
  66. package/dist/src/hooks/index.d.ts.map +1 -0
  67. package/dist/src/hooks/index.js +4 -0
  68. package/dist/src/hooks/index.js.map +1 -0
  69. package/dist/src/hooks/loader.d.ts +16 -0
  70. package/dist/src/hooks/loader.d.ts.map +1 -0
  71. package/dist/src/hooks/loader.js +77 -0
  72. package/dist/src/hooks/loader.js.map +1 -0
  73. package/dist/src/hooks/manager.d.ts +20 -0
  74. package/dist/src/hooks/manager.d.ts.map +1 -0
  75. package/dist/src/hooks/manager.js +76 -0
  76. package/dist/src/hooks/manager.js.map +1 -0
  77. package/dist/src/hooks/types-enhanced.d.ts +30 -0
  78. package/dist/src/hooks/types-enhanced.d.ts.map +1 -0
  79. package/dist/src/hooks/types-enhanced.js +22 -0
  80. package/dist/src/hooks/types-enhanced.js.map +1 -0
  81. package/dist/src/hooks/types.d.ts +27 -0
  82. package/dist/src/hooks/types.d.ts.map +1 -0
  83. package/dist/src/hooks/types.js +2 -0
  84. package/dist/src/hooks/types.js.map +1 -0
  85. package/dist/src/index.d.ts +43 -0
  86. package/dist/src/index.d.ts.map +1 -0
  87. package/dist/src/index.js +41 -0
  88. package/dist/src/index.js.map +1 -0
  89. package/dist/src/persistence/index.d.ts +7 -0
  90. package/dist/src/persistence/index.d.ts.map +1 -0
  91. package/dist/src/persistence/index.js +6 -0
  92. package/dist/src/persistence/index.js.map +1 -0
  93. package/dist/src/persistence/plan-md.d.ts +11 -0
  94. package/dist/src/persistence/plan-md.d.ts.map +1 -0
  95. package/dist/src/persistence/plan-md.js +125 -0
  96. package/dist/src/persistence/plan-md.js.map +1 -0
  97. package/dist/src/persistence/state-md.d.ts +17 -0
  98. package/dist/src/persistence/state-md.d.ts.map +1 -0
  99. package/dist/src/persistence/state-md.js +143 -0
  100. package/dist/src/persistence/state-md.js.map +1 -0
  101. package/dist/src/persistence/types.d.ts +85 -0
  102. package/dist/src/persistence/types.d.ts.map +1 -0
  103. package/dist/src/persistence/types.js +5 -0
  104. package/dist/src/persistence/types.js.map +1 -0
  105. package/dist/src/router/classifier.d.ts +108 -0
  106. package/dist/src/router/classifier.d.ts.map +1 -0
  107. package/dist/src/router/classifier.js +476 -0
  108. package/dist/src/router/classifier.js.map +1 -0
  109. package/dist/src/router/guard.d.ts +128 -0
  110. package/dist/src/router/guard.d.ts.map +1 -0
  111. package/dist/src/router/guard.js +370 -0
  112. package/dist/src/router/guard.js.map +1 -0
  113. package/dist/src/router/index.d.ts +10 -0
  114. package/dist/src/router/index.d.ts.map +1 -0
  115. package/dist/src/router/index.js +8 -0
  116. package/dist/src/router/index.js.map +1 -0
  117. package/dist/src/router/router.d.ts +58 -0
  118. package/dist/src/router/router.d.ts.map +1 -0
  119. package/dist/src/router/router.js +78 -0
  120. package/dist/src/router/router.js.map +1 -0
  121. package/dist/src/router/types.d.ts +100 -0
  122. package/dist/src/router/types.d.ts.map +1 -0
  123. package/dist/src/router/types.js +24 -0
  124. package/dist/src/router/types.js.map +1 -0
  125. package/dist/src/skills/agents-md/index.d.ts +9 -0
  126. package/dist/src/skills/agents-md/index.d.ts.map +1 -0
  127. package/dist/src/skills/agents-md/index.js +28 -0
  128. package/dist/src/skills/agents-md/index.js.map +1 -0
  129. package/dist/src/skills/execute-plan/index.d.ts +141 -0
  130. package/dist/src/skills/execute-plan/index.d.ts.map +1 -0
  131. package/dist/src/skills/execute-plan/index.js +784 -0
  132. package/dist/src/skills/execute-plan/index.js.map +1 -0
  133. package/dist/src/skills/index.d.ts +14 -0
  134. package/dist/src/skills/index.d.ts.map +1 -0
  135. package/dist/src/skills/index.js +10 -0
  136. package/dist/src/skills/index.js.map +1 -0
  137. package/dist/src/skills/quick-task/index.d.ts +75 -0
  138. package/dist/src/skills/quick-task/index.d.ts.map +1 -0
  139. package/dist/src/skills/quick-task/index.js +284 -0
  140. package/dist/src/skills/quick-task/index.js.map +1 -0
  141. package/dist/src/skills/registry.d.ts +15 -0
  142. package/dist/src/skills/registry.d.ts.map +1 -0
  143. package/dist/src/skills/registry.js +44 -0
  144. package/dist/src/skills/registry.js.map +1 -0
  145. package/dist/src/skills/review-diff/index.d.ts +96 -0
  146. package/dist/src/skills/review-diff/index.d.ts.map +1 -0
  147. package/dist/src/skills/review-diff/index.js +316 -0
  148. package/dist/src/skills/review-diff/index.js.map +1 -0
  149. package/dist/src/skills/skill.d.ts +24 -0
  150. package/dist/src/skills/skill.d.ts.map +1 -0
  151. package/dist/src/skills/skill.js +39 -0
  152. package/dist/src/skills/skill.js.map +1 -0
  153. package/dist/src/skills/systematic-debugging/index.d.ts +90 -0
  154. package/dist/src/skills/systematic-debugging/index.d.ts.map +1 -0
  155. package/dist/src/skills/systematic-debugging/index.js +305 -0
  156. package/dist/src/skills/systematic-debugging/index.js.map +1 -0
  157. package/dist/src/skills/tdd/index.d.ts +103 -0
  158. package/dist/src/skills/tdd/index.d.ts.map +1 -0
  159. package/dist/src/skills/tdd/index.js +338 -0
  160. package/dist/src/skills/tdd/index.js.map +1 -0
  161. package/dist/src/skills/to-plan/index-enhanced.d.ts +100 -0
  162. package/dist/src/skills/to-plan/index-enhanced.d.ts.map +1 -0
  163. package/dist/src/skills/to-plan/index-enhanced.js +452 -0
  164. package/dist/src/skills/to-plan/index-enhanced.js.map +1 -0
  165. package/dist/src/skills/to-plan/index.d.ts +131 -0
  166. package/dist/src/skills/to-plan/index.d.ts.map +1 -0
  167. package/dist/src/skills/to-plan/index.js +460 -0
  168. package/dist/src/skills/to-plan/index.js.map +1 -0
  169. package/dist/src/skills/types.d.ts +44 -0
  170. package/dist/src/skills/types.d.ts.map +1 -0
  171. package/dist/src/skills/types.js +2 -0
  172. package/dist/src/skills/types.js.map +1 -0
  173. package/dist/src/state/cleanup.d.ts +22 -0
  174. package/dist/src/state/cleanup.d.ts.map +1 -0
  175. package/dist/src/state/cleanup.js +87 -0
  176. package/dist/src/state/cleanup.js.map +1 -0
  177. package/dist/src/state/index.d.ts +9 -0
  178. package/dist/src/state/index.d.ts.map +1 -0
  179. package/dist/src/state/index.js +5 -0
  180. package/dist/src/state/index.js.map +1 -0
  181. package/dist/src/state/manager.d.ts +15 -0
  182. package/dist/src/state/manager.d.ts.map +1 -0
  183. package/dist/src/state/manager.js +73 -0
  184. package/dist/src/state/manager.js.map +1 -0
  185. package/dist/src/state/persistence.d.ts +13 -0
  186. package/dist/src/state/persistence.d.ts.map +1 -0
  187. package/dist/src/state/persistence.js +68 -0
  188. package/dist/src/state/persistence.js.map +1 -0
  189. package/dist/src/state/types.d.ts +26 -0
  190. package/dist/src/state/types.d.ts.map +1 -0
  191. package/dist/src/state/types.js +2 -0
  192. package/dist/src/state/types.js.map +1 -0
  193. package/dist/src/state/validator.d.ts +12 -0
  194. package/dist/src/state/validator.d.ts.map +1 -0
  195. package/dist/src/state/validator.js +56 -0
  196. package/dist/src/state/validator.js.map +1 -0
  197. package/dist/src/types.d.ts +83 -0
  198. package/dist/src/types.d.ts.map +1 -0
  199. package/dist/src/types.js +5 -0
  200. package/dist/src/types.js.map +1 -0
  201. package/dist/src/utils/compress.d.ts +37 -0
  202. package/dist/src/utils/compress.d.ts.map +1 -0
  203. package/dist/src/utils/compress.js +298 -0
  204. package/dist/src/utils/compress.js.map +1 -0
  205. package/dist/src/utils/git.d.ts +9 -0
  206. package/dist/src/utils/git.d.ts.map +1 -0
  207. package/dist/src/utils/git.js +81 -0
  208. package/dist/src/utils/git.js.map +1 -0
  209. package/dist/src/utils/index.d.ts +7 -0
  210. package/dist/src/utils/index.d.ts.map +1 -0
  211. package/dist/src/utils/index.js +7 -0
  212. package/dist/src/utils/index.js.map +1 -0
  213. package/dist/src/utils/logger.d.ts +6 -0
  214. package/dist/src/utils/logger.d.ts.map +1 -0
  215. package/dist/src/utils/logger.js +19 -0
  216. package/dist/src/utils/logger.js.map +1 -0
  217. package/dist/src/utils/paths.d.ts +12 -0
  218. package/dist/src/utils/paths.d.ts.map +1 -0
  219. package/dist/src/utils/paths.js +44 -0
  220. package/dist/src/utils/paths.js.map +1 -0
  221. package/package.json +76 -0
  222. package/scripts/postinstall.js +69 -0
  223. 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"}