@yuaone/core 0.1.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 (235) hide show
  1. package/LICENSE +663 -0
  2. package/README.md +15 -0
  3. package/dist/__tests__/context-manager.test.d.ts +6 -0
  4. package/dist/__tests__/context-manager.test.d.ts.map +1 -0
  5. package/dist/__tests__/context-manager.test.js +220 -0
  6. package/dist/__tests__/context-manager.test.js.map +1 -0
  7. package/dist/__tests__/governor.test.d.ts +6 -0
  8. package/dist/__tests__/governor.test.d.ts.map +1 -0
  9. package/dist/__tests__/governor.test.js +210 -0
  10. package/dist/__tests__/governor.test.js.map +1 -0
  11. package/dist/__tests__/model-router.test.d.ts +6 -0
  12. package/dist/__tests__/model-router.test.d.ts.map +1 -0
  13. package/dist/__tests__/model-router.test.js +329 -0
  14. package/dist/__tests__/model-router.test.js.map +1 -0
  15. package/dist/agent-logger.d.ts +384 -0
  16. package/dist/agent-logger.d.ts.map +1 -0
  17. package/dist/agent-logger.js +820 -0
  18. package/dist/agent-logger.js.map +1 -0
  19. package/dist/agent-loop.d.ts +163 -0
  20. package/dist/agent-loop.d.ts.map +1 -0
  21. package/dist/agent-loop.js +609 -0
  22. package/dist/agent-loop.js.map +1 -0
  23. package/dist/agent-modes.d.ts +85 -0
  24. package/dist/agent-modes.d.ts.map +1 -0
  25. package/dist/agent-modes.js +418 -0
  26. package/dist/agent-modes.js.map +1 -0
  27. package/dist/approval.d.ts +137 -0
  28. package/dist/approval.d.ts.map +1 -0
  29. package/dist/approval.js +299 -0
  30. package/dist/approval.js.map +1 -0
  31. package/dist/async-completion-queue.d.ts +56 -0
  32. package/dist/async-completion-queue.d.ts.map +1 -0
  33. package/dist/async-completion-queue.js +77 -0
  34. package/dist/async-completion-queue.js.map +1 -0
  35. package/dist/auto-fix.d.ts +174 -0
  36. package/dist/auto-fix.d.ts.map +1 -0
  37. package/dist/auto-fix.js +319 -0
  38. package/dist/auto-fix.js.map +1 -0
  39. package/dist/codebase-context.d.ts +396 -0
  40. package/dist/codebase-context.d.ts.map +1 -0
  41. package/dist/codebase-context.js +1260 -0
  42. package/dist/codebase-context.js.map +1 -0
  43. package/dist/conflict-resolver.d.ts +191 -0
  44. package/dist/conflict-resolver.d.ts.map +1 -0
  45. package/dist/conflict-resolver.js +524 -0
  46. package/dist/conflict-resolver.js.map +1 -0
  47. package/dist/constants.d.ts +52 -0
  48. package/dist/constants.d.ts.map +1 -0
  49. package/dist/constants.js +141 -0
  50. package/dist/constants.js.map +1 -0
  51. package/dist/context-budget.d.ts +435 -0
  52. package/dist/context-budget.d.ts.map +1 -0
  53. package/dist/context-budget.js +903 -0
  54. package/dist/context-budget.js.map +1 -0
  55. package/dist/context-compressor.d.ts +143 -0
  56. package/dist/context-compressor.d.ts.map +1 -0
  57. package/dist/context-compressor.js +511 -0
  58. package/dist/context-compressor.js.map +1 -0
  59. package/dist/context-manager.d.ts +112 -0
  60. package/dist/context-manager.d.ts.map +1 -0
  61. package/dist/context-manager.js +247 -0
  62. package/dist/context-manager.js.map +1 -0
  63. package/dist/continuous-reflection.d.ts +267 -0
  64. package/dist/continuous-reflection.d.ts.map +1 -0
  65. package/dist/continuous-reflection.js +338 -0
  66. package/dist/continuous-reflection.js.map +1 -0
  67. package/dist/cross-file-refactor.d.ts +352 -0
  68. package/dist/cross-file-refactor.d.ts.map +1 -0
  69. package/dist/cross-file-refactor.js +1544 -0
  70. package/dist/cross-file-refactor.js.map +1 -0
  71. package/dist/dag-orchestrator.d.ts +138 -0
  72. package/dist/dag-orchestrator.d.ts.map +1 -0
  73. package/dist/dag-orchestrator.js +379 -0
  74. package/dist/dag-orchestrator.js.map +1 -0
  75. package/dist/debate-orchestrator.d.ts +301 -0
  76. package/dist/debate-orchestrator.d.ts.map +1 -0
  77. package/dist/debate-orchestrator.js +719 -0
  78. package/dist/debate-orchestrator.js.map +1 -0
  79. package/dist/dependency-analyzer.d.ts +113 -0
  80. package/dist/dependency-analyzer.d.ts.map +1 -0
  81. package/dist/dependency-analyzer.js +444 -0
  82. package/dist/dependency-analyzer.js.map +1 -0
  83. package/dist/design-loop.d.ts +59 -0
  84. package/dist/design-loop.d.ts.map +1 -0
  85. package/dist/design-loop.js +344 -0
  86. package/dist/design-loop.js.map +1 -0
  87. package/dist/doc-intelligence.d.ts +383 -0
  88. package/dist/doc-intelligence.d.ts.map +1 -0
  89. package/dist/doc-intelligence.js +1307 -0
  90. package/dist/doc-intelligence.js.map +1 -0
  91. package/dist/dynamic-role-generator.d.ts +76 -0
  92. package/dist/dynamic-role-generator.d.ts.map +1 -0
  93. package/dist/dynamic-role-generator.js +194 -0
  94. package/dist/dynamic-role-generator.js.map +1 -0
  95. package/dist/errors.d.ts +69 -0
  96. package/dist/errors.d.ts.map +1 -0
  97. package/dist/errors.js +102 -0
  98. package/dist/errors.js.map +1 -0
  99. package/dist/event-bus.d.ts +159 -0
  100. package/dist/event-bus.d.ts.map +1 -0
  101. package/dist/event-bus.js +305 -0
  102. package/dist/event-bus.js.map +1 -0
  103. package/dist/execution-engine.d.ts +425 -0
  104. package/dist/execution-engine.d.ts.map +1 -0
  105. package/dist/execution-engine.js +1555 -0
  106. package/dist/execution-engine.js.map +1 -0
  107. package/dist/git-intelligence.d.ts +306 -0
  108. package/dist/git-intelligence.d.ts.map +1 -0
  109. package/dist/git-intelligence.js +1099 -0
  110. package/dist/git-intelligence.js.map +1 -0
  111. package/dist/governor.d.ts +77 -0
  112. package/dist/governor.d.ts.map +1 -0
  113. package/dist/governor.js +161 -0
  114. package/dist/governor.js.map +1 -0
  115. package/dist/hierarchical-planner.d.ts +313 -0
  116. package/dist/hierarchical-planner.d.ts.map +1 -0
  117. package/dist/hierarchical-planner.js +981 -0
  118. package/dist/hierarchical-planner.js.map +1 -0
  119. package/dist/index.d.ts +121 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +123 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/intent-inference.d.ts +103 -0
  124. package/dist/intent-inference.d.ts.map +1 -0
  125. package/dist/intent-inference.js +605 -0
  126. package/dist/intent-inference.js.map +1 -0
  127. package/dist/interrupt-manager.d.ts +143 -0
  128. package/dist/interrupt-manager.d.ts.map +1 -0
  129. package/dist/interrupt-manager.js +196 -0
  130. package/dist/interrupt-manager.js.map +1 -0
  131. package/dist/kernel.d.ts +564 -0
  132. package/dist/kernel.d.ts.map +1 -0
  133. package/dist/kernel.js +1419 -0
  134. package/dist/kernel.js.map +1 -0
  135. package/dist/language-support.d.ts +232 -0
  136. package/dist/language-support.d.ts.map +1 -0
  137. package/dist/language-support.js +1134 -0
  138. package/dist/language-support.js.map +1 -0
  139. package/dist/llm-client.d.ts +82 -0
  140. package/dist/llm-client.d.ts.map +1 -0
  141. package/dist/llm-client.js +475 -0
  142. package/dist/llm-client.js.map +1 -0
  143. package/dist/mcp-client.d.ts +232 -0
  144. package/dist/mcp-client.d.ts.map +1 -0
  145. package/dist/mcp-client.js +718 -0
  146. package/dist/mcp-client.js.map +1 -0
  147. package/dist/memory-manager.d.ts +200 -0
  148. package/dist/memory-manager.d.ts.map +1 -0
  149. package/dist/memory-manager.js +568 -0
  150. package/dist/memory-manager.js.map +1 -0
  151. package/dist/memory.d.ts +87 -0
  152. package/dist/memory.d.ts.map +1 -0
  153. package/dist/memory.js +341 -0
  154. package/dist/memory.js.map +1 -0
  155. package/dist/model-router.d.ts +245 -0
  156. package/dist/model-router.d.ts.map +1 -0
  157. package/dist/model-router.js +632 -0
  158. package/dist/model-router.js.map +1 -0
  159. package/dist/parallel-executor.d.ts +125 -0
  160. package/dist/parallel-executor.d.ts.map +1 -0
  161. package/dist/parallel-executor.js +201 -0
  162. package/dist/parallel-executor.js.map +1 -0
  163. package/dist/perf-optimizer.d.ts +212 -0
  164. package/dist/perf-optimizer.d.ts.map +1 -0
  165. package/dist/perf-optimizer.js +721 -0
  166. package/dist/perf-optimizer.js.map +1 -0
  167. package/dist/persona.d.ts +305 -0
  168. package/dist/persona.d.ts.map +1 -0
  169. package/dist/persona.js +887 -0
  170. package/dist/persona.js.map +1 -0
  171. package/dist/planner.d.ts +70 -0
  172. package/dist/planner.d.ts.map +1 -0
  173. package/dist/planner.js +264 -0
  174. package/dist/planner.js.map +1 -0
  175. package/dist/qa-pipeline.d.ts +365 -0
  176. package/dist/qa-pipeline.d.ts.map +1 -0
  177. package/dist/qa-pipeline.js +1352 -0
  178. package/dist/qa-pipeline.js.map +1 -0
  179. package/dist/reasoning-adapter.d.ts +116 -0
  180. package/dist/reasoning-adapter.d.ts.map +1 -0
  181. package/dist/reasoning-adapter.js +187 -0
  182. package/dist/reasoning-adapter.js.map +1 -0
  183. package/dist/role-registry.d.ts +55 -0
  184. package/dist/role-registry.d.ts.map +1 -0
  185. package/dist/role-registry.js +192 -0
  186. package/dist/role-registry.js.map +1 -0
  187. package/dist/sandbox-tiers.d.ts +327 -0
  188. package/dist/sandbox-tiers.d.ts.map +1 -0
  189. package/dist/sandbox-tiers.js +928 -0
  190. package/dist/sandbox-tiers.js.map +1 -0
  191. package/dist/security-scanner.d.ts +222 -0
  192. package/dist/security-scanner.d.ts.map +1 -0
  193. package/dist/security-scanner.js +1129 -0
  194. package/dist/security-scanner.js.map +1 -0
  195. package/dist/security.d.ts +93 -0
  196. package/dist/security.d.ts.map +1 -0
  197. package/dist/security.js +393 -0
  198. package/dist/security.js.map +1 -0
  199. package/dist/self-reflection.d.ts +397 -0
  200. package/dist/self-reflection.d.ts.map +1 -0
  201. package/dist/self-reflection.js +908 -0
  202. package/dist/self-reflection.js.map +1 -0
  203. package/dist/session-persistence.d.ts +191 -0
  204. package/dist/session-persistence.d.ts.map +1 -0
  205. package/dist/session-persistence.js +395 -0
  206. package/dist/session-persistence.js.map +1 -0
  207. package/dist/speculative-executor.d.ts +210 -0
  208. package/dist/speculative-executor.d.ts.map +1 -0
  209. package/dist/speculative-executor.js +618 -0
  210. package/dist/speculative-executor.js.map +1 -0
  211. package/dist/state-machine.d.ts +289 -0
  212. package/dist/state-machine.d.ts.map +1 -0
  213. package/dist/state-machine.js +695 -0
  214. package/dist/state-machine.js.map +1 -0
  215. package/dist/sub-agent.d.ts +177 -0
  216. package/dist/sub-agent.d.ts.map +1 -0
  217. package/dist/sub-agent.js +303 -0
  218. package/dist/sub-agent.js.map +1 -0
  219. package/dist/system-prompt.d.ts +26 -0
  220. package/dist/system-prompt.d.ts.map +1 -0
  221. package/dist/system-prompt.js +84 -0
  222. package/dist/system-prompt.js.map +1 -0
  223. package/dist/test-intelligence.d.ts +439 -0
  224. package/dist/test-intelligence.d.ts.map +1 -0
  225. package/dist/test-intelligence.js +1165 -0
  226. package/dist/test-intelligence.js.map +1 -0
  227. package/dist/types.d.ts +632 -0
  228. package/dist/types.d.ts.map +1 -0
  229. package/dist/types.js +6 -0
  230. package/dist/types.js.map +1 -0
  231. package/dist/vector-index.d.ts +314 -0
  232. package/dist/vector-index.d.ts.map +1 -0
  233. package/dist/vector-index.js +618 -0
  234. package/dist/vector-index.js.map +1 -0
  235. package/package.json +41 -0
@@ -0,0 +1,289 @@
1
+ /**
2
+ * @module state-machine
3
+ * @description LangGraph-style Agent State Machine — 에이전트 실행을 위한 유한 상태 기계.
4
+ *
5
+ * 에이전트 실행 흐름을 명시적 phase 전이로 관리한다.
6
+ * analyze → design → plan → implement/parallel → verify → fix/replan → done
7
+ *
8
+ * 각 phase는 독립적인 핸들러로 구현되며, 전이 조건은 핸들러 반환값으로 결정.
9
+ * EventEmitter를 통해 외부에서 phase 진입/퇴장, 전이, 완료 등을 구독할 수 있다.
10
+ */
11
+ import { EventEmitter } from "node:events";
12
+ import type { ExecutionPlan } from "./types.js";
13
+ /** 에이전트 실행 단계 */
14
+ export type AgentPhase = "idle" | "analyze" | "design" | "plan" | "implement" | "parallel" | "delegate" | "verify" | "fix" | "replan" | "done";
15
+ /** 접근법 옵션 — design phase에서 LLM이 제안하는 구현 방안 */
16
+ export interface ApproachOption {
17
+ /** 옵션 ID */
18
+ id: number;
19
+ /** 옵션 이름 */
20
+ name: string;
21
+ /** 설명 */
22
+ description: string;
23
+ /** 장점 */
24
+ pros: string[];
25
+ /** 단점 */
26
+ cons: string[];
27
+ /** 예상 복잡도 */
28
+ estimatedComplexity: "low" | "medium" | "high";
29
+ /** 추천 여부 */
30
+ recommended: boolean;
31
+ }
32
+ /** 단계 실행 결과 */
33
+ export interface StepResult {
34
+ /** 실행된 단계 인덱스 */
35
+ stepIndex: number;
36
+ /** 실행된 phase */
37
+ phase: AgentPhase;
38
+ /** 성공 여부 */
39
+ success: boolean;
40
+ /** 실행 결과 출력 */
41
+ output: string;
42
+ /** 변경된 파일 목록 */
43
+ changedFiles: string[];
44
+ /** 사용된 토큰 수 */
45
+ tokensUsed: number;
46
+ /** 실행 시간 (ms) */
47
+ durationMs: number;
48
+ }
49
+ /** 단계 실행 에러 */
50
+ export interface StepError {
51
+ /** 에러가 발생한 단계 인덱스 */
52
+ stepIndex: number;
53
+ /** 에러가 발생한 phase */
54
+ phase: AgentPhase;
55
+ /** 에러 메시지 */
56
+ error: string;
57
+ /** 복구 가능 여부 */
58
+ recoverable: boolean;
59
+ /** 자동 수정 제안 */
60
+ suggestedFix?: string;
61
+ }
62
+ /** 검증 결과 — verify phase에서 반환 */
63
+ export interface VerifyResult {
64
+ /** 검증 판정 */
65
+ verdict: "pass" | "concern" | "fail";
66
+ /** 개별 검증 항목 */
67
+ checks: {
68
+ buildSuccess: boolean;
69
+ typesSafe: boolean;
70
+ testsPass: boolean;
71
+ noRegressions: boolean;
72
+ followsPatterns: boolean;
73
+ securityClean: boolean;
74
+ };
75
+ /** 발견된 문제 */
76
+ issues: string[];
77
+ /** 개선 제안 */
78
+ suggestions: string[];
79
+ /** 신뢰도 (0–1) */
80
+ confidence: number;
81
+ }
82
+ /** 에이전트 상태 — 전체 실행 컨텍스트를 담는 단일 객체 */
83
+ export interface AgentState {
84
+ /** 현재 phase */
85
+ phase: AgentPhase;
86
+ /** 에이전트 목표 */
87
+ goal: string;
88
+ /** 실행 계획 */
89
+ plan: ExecutionPlan | null;
90
+ /** 현재 실행 중인 step 인덱스 */
91
+ currentStepIndex: number;
92
+ /** 제안된 접근법 목록 */
93
+ approaches: ApproachOption[];
94
+ /** 선택된 접근법 인덱스 */
95
+ selectedApproach: number;
96
+ /** 단계별 실행 결과 */
97
+ stepResults: StepResult[];
98
+ /** 발생한 에러 */
99
+ errors: StepError[];
100
+ /** 검증 결과 이력 */
101
+ reflections: VerifyResult[];
102
+ /** 현재 수정 시도 횟수 */
103
+ fixAttempts: number;
104
+ /** 최대 수정 시도 횟수 */
105
+ maxFixAttempts: number;
106
+ /** 작업 메모리 (phase 간 데이터 전달) */
107
+ workingMemory: Map<string, unknown>;
108
+ /** 누적 토큰 사용량 */
109
+ tokenUsage: {
110
+ input: number;
111
+ output: number;
112
+ };
113
+ /** 총 도구 호출 횟수 */
114
+ toolCalls: number;
115
+ /** 총 반복 횟수 */
116
+ iterationCount: number;
117
+ /** 실행 시작 시각 (epoch ms) */
118
+ startTime: number;
119
+ /** 중단 시그널 */
120
+ abortSignal?: AbortSignal;
121
+ /** 사용자 피드백 (delegate phase 등에서 수집) */
122
+ userFeedback: string[];
123
+ }
124
+ /** Phase 전이 결과 — 핸들러가 반환 */
125
+ export interface PhaseTransition {
126
+ /** 다음 phase */
127
+ nextPhase: AgentPhase;
128
+ /** 상태 업데이트 (부분 적용) */
129
+ updates: Partial<AgentState>;
130
+ /** 전이 사유 */
131
+ reason: string;
132
+ }
133
+ /** Phase 핸들러 함수 타입 */
134
+ export type PhaseHandler = (state: AgentState, context: StateMachineContext) => Promise<PhaseTransition>;
135
+ /** 상태 기계 컨텍스트 — 외부 시스템 콜백 주입 */
136
+ export interface StateMachineContext {
137
+ /** 코드베이스/요청 분석 */
138
+ analyzeFn: (goal: string, state: AgentState) => Promise<{
139
+ complexity: string;
140
+ context: string;
141
+ }>;
142
+ /** 접근법 설계 */
143
+ designFn: (goal: string, context: string) => Promise<ApproachOption[]>;
144
+ /** 실행 계획 수립 */
145
+ planFn: (goal: string, approach: ApproachOption) => Promise<ExecutionPlan>;
146
+ /** 단일 step 실행 */
147
+ executeFn: (plan: ExecutionPlan, stepIndex: number, state: AgentState) => Promise<StepResult>;
148
+ /** 결과 검증 */
149
+ verifyFn: (state: AgentState) => Promise<VerifyResult>;
150
+ /** 에러 수정 */
151
+ fixFn: (errors: StepError[], state: AgentState) => Promise<StepResult>;
152
+ /** 실패 후 재계획 */
153
+ replanFn: (state: AgentState) => Promise<ExecutionPlan>;
154
+ /** 사용자 위임 (질문/승인) */
155
+ delegateFn: (question: string) => Promise<string>;
156
+ }
157
+ /** 상태 기계 설정 */
158
+ export interface StateMachineConfig {
159
+ /** 최대 수정 시도 횟수 (기본 3) */
160
+ maxFixAttempts: number;
161
+ /** 최대 재계획 횟수 (기본 2) */
162
+ maxReplanAttempts: number;
163
+ /** 단순 태스크 시 design phase 스킵 (기본 true) */
164
+ skipDesignForSimple: boolean;
165
+ /** 병렬 실행 활성화 (기본 true) */
166
+ enableParallel: boolean;
167
+ /** 각 step 후 검증 수행 (기본 false — 전체 완료 후에만) */
168
+ verifyAfterEachStep: boolean;
169
+ }
170
+ /** 상태 기계 이벤트 정의 */
171
+ export interface StateMachineEvents {
172
+ "phase:enter": (phase: AgentPhase, state: AgentState) => void;
173
+ "phase:exit": (phase: AgentPhase, state: AgentState) => void;
174
+ transition: (from: AgentPhase, to: AgentPhase, reason: string) => void;
175
+ "step:complete": (result: StepResult) => void;
176
+ "step:error": (error: StepError) => void;
177
+ "verify:result": (result: VerifyResult) => void;
178
+ done: (state: AgentState) => void;
179
+ abort: (reason: string) => void;
180
+ }
181
+ /**
182
+ * LangGraph-style Agent State Machine.
183
+ *
184
+ * 에이전트 실행을 유한 상태 기계(FSM)로 모델링한다.
185
+ * 각 phase에 대응하는 핸들러가 상태를 변환하고 다음 phase를 결정한다.
186
+ * run()을 호출하면 idle → analyze → ... → done까지 자동 진행.
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * const sm = new AgentStateMachine(context, { maxFixAttempts: 5 });
191
+ * sm.on("transition", (from, to, reason) => console.log(`${from} → ${to}: ${reason}`));
192
+ * const finalState = await sm.run("모든 console.log를 제거해줘");
193
+ * ```
194
+ */
195
+ export declare class AgentStateMachine extends EventEmitter {
196
+ private state;
197
+ private readonly context;
198
+ private readonly config;
199
+ private readonly handlers;
200
+ private replanCount;
201
+ constructor(context: StateMachineContext, config?: Partial<StateMachineConfig>);
202
+ /**
203
+ * 상태 기계를 실행한다.
204
+ * idle → analyze부터 시작하여 done에 도달할 때까지 phase를 자동 전이한다.
205
+ *
206
+ * @param goal - 에이전트 목표
207
+ * @param abortSignal - 외부 중단 시그널 (선택)
208
+ * @returns 최종 에이전트 상태
209
+ */
210
+ run(goal: string, abortSignal?: AbortSignal): Promise<AgentState>;
211
+ /**
212
+ * 현재 상태를 읽기 전용으로 반환한다.
213
+ */
214
+ getState(): Readonly<AgentState>;
215
+ /**
216
+ * 실행 중인 에이전트에 사용자 피드백을 주입한다.
217
+ * delegate phase에서 수집되거나, 외부에서 즉시 주입 가능.
218
+ *
219
+ * @param feedback - 사용자 피드백 문자열
220
+ */
221
+ injectFeedback(feedback: string): void;
222
+ /**
223
+ * 특정 phase로 강제 전이한다 (escape hatch).
224
+ * 디버깅이나 외부 제어에 사용.
225
+ *
226
+ * @param phase - 전이할 phase
227
+ * @param reason - 전이 사유
228
+ */
229
+ forceTransition(phase: AgentPhase, reason: string): void;
230
+ /**
231
+ * analyze phase — 코드베이스와 요청을 분석한다.
232
+ * 복잡도가 trivial이고 skipDesignForSimple이면 plan으로 직행.
233
+ */
234
+ private handleAnalyze;
235
+ /**
236
+ * design phase — 구현 접근법을 제안한다.
237
+ * 추천 접근법이 있으면 자동 선택 후 plan으로, 없으면 delegate로.
238
+ */
239
+ private handleDesign;
240
+ /**
241
+ * plan phase — 실행 계획을 수립한다.
242
+ * 독립적 태스크가 있고 enableParallel이면 parallel로, 아니면 implement로.
243
+ */
244
+ private handlePlan;
245
+ /**
246
+ * implement phase — step을 순차 실행한다.
247
+ * 각 step 후: 복구 불가 에러 → fix, 모든 step 완료 → verify.
248
+ */
249
+ private handleImplement;
250
+ /**
251
+ * parallel phase — 독립 태스크를 병렬 실행한다.
252
+ * DAG 실행 후 verify로 이동.
253
+ */
254
+ private handleParallel;
255
+ /**
256
+ * delegate phase — 사용자에게 질문/승인을 요청한다.
257
+ * 피드백에 따라 analyze 또는 plan으로 전이.
258
+ */
259
+ private handleDelegate;
260
+ /**
261
+ * verify phase — 실행 결과를 검증한다.
262
+ * pass → done, concern + fixAttempts < max → fix, fail → replan.
263
+ */
264
+ private handleVerify;
265
+ /**
266
+ * fix phase — 에러를 자동 수정한다.
267
+ * fixAttempts를 증가시키고 verify로 복귀.
268
+ */
269
+ private handleFix;
270
+ /**
271
+ * replan phase — 실패 후 재계획을 수립한다.
272
+ * maxReplanAttempts 초과 시 done으로 (경고 포함).
273
+ */
274
+ private handleReplan;
275
+ /**
276
+ * phase 전이를 수행한다.
277
+ * phase:exit → 상태 업데이트 → transition 이벤트 → phase:enter.
278
+ */
279
+ private transition;
280
+ /**
281
+ * 초기 상태를 생성한다.
282
+ */
283
+ private createInitialState;
284
+ /**
285
+ * 터미널 phase인지 확인한다.
286
+ */
287
+ private isTerminal;
288
+ }
289
+ //# sourceMappingURL=state-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"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"}