@tienne/gestalt 0.84.1 → 0.85.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 (206) hide show
  1. package/CLAUDE.md +4 -4
  2. package/README.ko.md +72 -22
  3. package/README.md +73 -23
  4. package/dist/benchmarks/runners/passthrough-benchmark-runner.d.ts.map +1 -1
  5. package/dist/benchmarks/runners/passthrough-benchmark-runner.js +8 -7
  6. package/dist/benchmarks/runners/passthrough-benchmark-runner.js.map +1 -1
  7. package/dist/bin/gestalt.js +2 -2
  8. package/dist/package.json +1 -1
  9. package/dist/plugin/skills/dispatch/SKILL.md +14 -2
  10. package/dist/plugin/skills/execute/SKILL.md +219 -52
  11. package/dist/plugin/skills/interview/SKILL.md +15 -2
  12. package/dist/plugin/skills/review/SKILL.md +29 -5
  13. package/dist/plugin/skills/solve/SKILL.md +20 -5
  14. package/dist/plugin/skills/spec/SKILL.md +2 -0
  15. package/dist/src/cli/commands/interview.d.ts.map +1 -1
  16. package/dist/src/cli/commands/interview.js +16 -4
  17. package/dist/src/cli/commands/interview.js.map +1 -1
  18. package/dist/src/cli/commands/memory-merge.d.ts +2 -0
  19. package/dist/src/cli/commands/memory-merge.d.ts.map +1 -0
  20. package/dist/src/cli/commands/memory-merge.js +13 -0
  21. package/dist/src/cli/commands/memory-merge.js.map +1 -0
  22. package/dist/src/cli/index.d.ts.map +1 -1
  23. package/dist/src/cli/index.js +7 -0
  24. package/dist/src/cli/index.js.map +1 -1
  25. package/dist/src/core/constants.d.ts +4 -0
  26. package/dist/src/core/constants.d.ts.map +1 -1
  27. package/dist/src/core/constants.js +8 -0
  28. package/dist/src/core/constants.js.map +1 -1
  29. package/dist/src/core/errors.d.ts +3 -0
  30. package/dist/src/core/errors.d.ts.map +1 -1
  31. package/dist/src/core/errors.js +7 -0
  32. package/dist/src/core/errors.js.map +1 -1
  33. package/dist/src/core/file-lock.d.ts +37 -0
  34. package/dist/src/core/file-lock.d.ts.map +1 -0
  35. package/dist/src/core/file-lock.js +143 -0
  36. package/dist/src/core/file-lock.js.map +1 -0
  37. package/dist/src/core/json-file.d.ts +40 -0
  38. package/dist/src/core/json-file.d.ts.map +1 -0
  39. package/dist/src/core/json-file.js +82 -0
  40. package/dist/src/core/json-file.js.map +1 -0
  41. package/dist/src/core/types.d.ts +86 -9
  42. package/dist/src/core/types.d.ts.map +1 -1
  43. package/dist/src/events/store.d.ts +6 -0
  44. package/dist/src/events/store.d.ts.map +1 -1
  45. package/dist/src/events/store.js +12 -0
  46. package/dist/src/events/store.js.map +1 -1
  47. package/dist/src/events/types.d.ts +7 -0
  48. package/dist/src/events/types.d.ts.map +1 -1
  49. package/dist/src/events/types.js +7 -0
  50. package/dist/src/events/types.js.map +1 -1
  51. package/dist/src/execute/artifact-verifier.d.ts +12 -0
  52. package/dist/src/execute/artifact-verifier.d.ts.map +1 -0
  53. package/dist/src/execute/artifact-verifier.js +211 -0
  54. package/dist/src/execute/artifact-verifier.js.map +1 -0
  55. package/dist/src/execute/drift-detector.d.ts +2 -0
  56. package/dist/src/execute/drift-detector.d.ts.map +1 -1
  57. package/dist/src/execute/drift-detector.js +9 -13
  58. package/dist/src/execute/drift-detector.js.map +1 -1
  59. package/dist/src/execute/orchestrators/evaluation.d.ts +5 -1
  60. package/dist/src/execute/orchestrators/evaluation.d.ts.map +1 -1
  61. package/dist/src/execute/orchestrators/evaluation.js +48 -41
  62. package/dist/src/execute/orchestrators/evaluation.js.map +1 -1
  63. package/dist/src/execute/orchestrators/evolution.d.ts +17 -3
  64. package/dist/src/execute/orchestrators/evolution.d.ts.map +1 -1
  65. package/dist/src/execute/orchestrators/evolution.js +102 -53
  66. package/dist/src/execute/orchestrators/evolution.js.map +1 -1
  67. package/dist/src/execute/orchestrators/execution.d.ts +17 -2
  68. package/dist/src/execute/orchestrators/execution.d.ts.map +1 -1
  69. package/dist/src/execute/orchestrators/execution.js +99 -3
  70. package/dist/src/execute/orchestrators/execution.js.map +1 -1
  71. package/dist/src/execute/orchestrators/planning.d.ts +18 -4
  72. package/dist/src/execute/orchestrators/planning.d.ts.map +1 -1
  73. package/dist/src/execute/orchestrators/planning.js +62 -21
  74. package/dist/src/execute/orchestrators/planning.js.map +1 -1
  75. package/dist/src/execute/orchestrators/types.d.ts +12 -1
  76. package/dist/src/execute/orchestrators/types.d.ts.map +1 -1
  77. package/dist/src/execute/passthrough-engine.d.ts +12 -5
  78. package/dist/src/execute/passthrough-engine.d.ts.map +1 -1
  79. package/dist/src/execute/passthrough-engine.js +10 -4
  80. package/dist/src/execute/passthrough-engine.js.map +1 -1
  81. package/dist/src/execute/repository.d.ts +11 -1
  82. package/dist/src/execute/repository.d.ts.map +1 -1
  83. package/dist/src/execute/repository.js +138 -19
  84. package/dist/src/execute/repository.js.map +1 -1
  85. package/dist/src/execute/session.d.ts +26 -4
  86. package/dist/src/execute/session.d.ts.map +1 -1
  87. package/dist/src/execute/session.js +165 -48
  88. package/dist/src/execute/session.js.map +1 -1
  89. package/dist/src/execute/structural-commands.d.ts +23 -0
  90. package/dist/src/execute/structural-commands.d.ts.map +1 -0
  91. package/dist/src/execute/structural-commands.js +139 -0
  92. package/dist/src/execute/structural-commands.js.map +1 -0
  93. package/dist/src/interview/engine.d.ts +1 -1
  94. package/dist/src/interview/engine.d.ts.map +1 -1
  95. package/dist/src/interview/engine.js +3 -3
  96. package/dist/src/interview/engine.js.map +1 -1
  97. package/dist/src/interview/passthrough-engine.d.ts +1 -1
  98. package/dist/src/interview/passthrough-engine.d.ts.map +1 -1
  99. package/dist/src/interview/passthrough-engine.js +20 -3
  100. package/dist/src/interview/passthrough-engine.js.map +1 -1
  101. package/dist/src/interview/repository.d.ts +8 -0
  102. package/dist/src/interview/repository.d.ts.map +1 -1
  103. package/dist/src/interview/repository.js +16 -1
  104. package/dist/src/interview/repository.js.map +1 -1
  105. package/dist/src/interview/session.d.ts +15 -2
  106. package/dist/src/interview/session.d.ts.map +1 -1
  107. package/dist/src/interview/session.js +67 -23
  108. package/dist/src/interview/session.js.map +1 -1
  109. package/dist/src/knowledge-base/embedding.d.ts +6 -1
  110. package/dist/src/knowledge-base/embedding.d.ts.map +1 -1
  111. package/dist/src/knowledge-base/embedding.js +19 -6
  112. package/dist/src/knowledge-base/embedding.js.map +1 -1
  113. package/dist/src/local-pr/registry.d.ts +1 -21
  114. package/dist/src/local-pr/registry.d.ts.map +1 -1
  115. package/dist/src/local-pr/registry.js +7 -113
  116. package/dist/src/local-pr/registry.js.map +1 -1
  117. package/dist/src/mcp/input-guard.d.ts +17 -0
  118. package/dist/src/mcp/input-guard.d.ts.map +1 -1
  119. package/dist/src/mcp/input-guard.js +1 -1
  120. package/dist/src/mcp/input-guard.js.map +1 -1
  121. package/dist/src/mcp/schemas.d.ts +62 -7
  122. package/dist/src/mcp/schemas.d.ts.map +1 -1
  123. package/dist/src/mcp/schemas.js +28 -1
  124. package/dist/src/mcp/schemas.js.map +1 -1
  125. package/dist/src/mcp/server.d.ts.map +1 -1
  126. package/dist/src/mcp/server.js +26 -40
  127. package/dist/src/mcp/server.js.map +1 -1
  128. package/dist/src/mcp/tools/execute/evaluate.d.ts.map +1 -1
  129. package/dist/src/mcp/tools/execute/evaluate.js +15 -9
  130. package/dist/src/mcp/tools/execute/evaluate.js.map +1 -1
  131. package/dist/src/mcp/tools/execute/evolve.d.ts +1 -0
  132. package/dist/src/mcp/tools/execute/evolve.d.ts.map +1 -1
  133. package/dist/src/mcp/tools/execute/evolve.js +102 -37
  134. package/dist/src/mcp/tools/execute/evolve.js.map +1 -1
  135. package/dist/src/mcp/tools/execute/execution.d.ts.map +1 -1
  136. package/dist/src/mcp/tools/execute/execution.js +66 -7
  137. package/dist/src/mcp/tools/execute/execution.js.map +1 -1
  138. package/dist/src/mcp/tools/execute/planning.d.ts.map +1 -1
  139. package/dist/src/mcp/tools/execute/planning.js +34 -2
  140. package/dist/src/mcp/tools/execute/planning.js.map +1 -1
  141. package/dist/src/mcp/tools/execute/roles.d.ts.map +1 -1
  142. package/dist/src/mcp/tools/execute/roles.js +13 -5
  143. package/dist/src/mcp/tools/execute/roles.js.map +1 -1
  144. package/dist/src/mcp/tools/execute/utility.d.ts.map +1 -1
  145. package/dist/src/mcp/tools/execute/utility.js +26 -0
  146. package/dist/src/mcp/tools/execute/utility.js.map +1 -1
  147. package/dist/src/mcp/tools/execute/utils.d.ts +1 -0
  148. package/dist/src/mcp/tools/execute/utils.d.ts.map +1 -1
  149. package/dist/src/mcp/tools/execute/utils.js +15 -0
  150. package/dist/src/mcp/tools/execute/utils.js.map +1 -1
  151. package/dist/src/mcp/tools/execute-passthrough.d.ts.map +1 -1
  152. package/dist/src/mcp/tools/execute-passthrough.js +21 -1
  153. package/dist/src/mcp/tools/execute-passthrough.js.map +1 -1
  154. package/dist/src/mcp/tools/interview-passthrough.d.ts +2 -1
  155. package/dist/src/mcp/tools/interview-passthrough.d.ts.map +1 -1
  156. package/dist/src/mcp/tools/interview-passthrough.js +4 -3
  157. package/dist/src/mcp/tools/interview-passthrough.js.map +1 -1
  158. package/dist/src/mcp/tools/interview.d.ts.map +1 -1
  159. package/dist/src/mcp/tools/interview.js +2 -1
  160. package/dist/src/mcp/tools/interview.js.map +1 -1
  161. package/dist/src/mcp/tools/review-passthrough.js +15 -19
  162. package/dist/src/mcp/tools/review-passthrough.js.map +1 -1
  163. package/dist/src/mcp/tools/spec-passthrough.d.ts.map +1 -1
  164. package/dist/src/mcp/tools/spec-passthrough.js +16 -8
  165. package/dist/src/mcp/tools/spec-passthrough.js.map +1 -1
  166. package/dist/src/mcp/tools/status.d.ts.map +1 -1
  167. package/dist/src/mcp/tools/status.js +4 -0
  168. package/dist/src/mcp/tools/status.js.map +1 -1
  169. package/dist/src/memory/memory-context-injector.d.ts +22 -8
  170. package/dist/src/memory/memory-context-injector.d.ts.map +1 -1
  171. package/dist/src/memory/memory-context-injector.js +85 -13
  172. package/dist/src/memory/memory-context-injector.js.map +1 -1
  173. package/dist/src/memory/memory-merge.d.ts +19 -0
  174. package/dist/src/memory/memory-merge.d.ts.map +1 -0
  175. package/dist/src/memory/memory-merge.js +120 -0
  176. package/dist/src/memory/memory-merge.js.map +1 -0
  177. package/dist/src/memory/project-memory-store.d.ts +15 -11
  178. package/dist/src/memory/project-memory-store.d.ts.map +1 -1
  179. package/dist/src/memory/project-memory-store.js +97 -120
  180. package/dist/src/memory/project-memory-store.js.map +1 -1
  181. package/dist/src/memory/semantic-search.d.ts +4 -1
  182. package/dist/src/memory/semantic-search.d.ts.map +1 -1
  183. package/dist/src/memory/semantic-search.js +66 -19
  184. package/dist/src/memory/semantic-search.js.map +1 -1
  185. package/dist/src/resilience/lateral.d.ts +8 -1
  186. package/dist/src/resilience/lateral.d.ts.map +1 -1
  187. package/dist/src/resilience/lateral.js +52 -4
  188. package/dist/src/resilience/lateral.js.map +1 -1
  189. package/package.json +1 -1
  190. package/plugin/.codex-plugin/plugin.json +1 -1
  191. package/plugin/.mcp.json +1 -1
  192. package/plugin/mcp.json +1 -1
  193. package/plugin/skills/dispatch/SKILL.md +14 -2
  194. package/plugin/skills/execute/SKILL.md +219 -52
  195. package/plugin/skills/interview/SKILL.md +15 -2
  196. package/plugin/skills/review/SKILL.md +29 -5
  197. package/plugin/skills/solve/SKILL.md +20 -5
  198. package/plugin/skills/spec/SKILL.md +2 -0
  199. package/dist/src/interview/mini-interview-engine.d.ts +0 -33
  200. package/dist/src/interview/mini-interview-engine.d.ts.map +0 -1
  201. package/dist/src/interview/mini-interview-engine.js +0 -102
  202. package/dist/src/interview/mini-interview-engine.js.map +0 -1
  203. package/dist/src/memory/user-profile-store.d.ts +0 -13
  204. package/dist/src/memory/user-profile-store.d.ts.map +0 -1
  205. package/dist/src/memory/user-profile-store.js +0 -85
  206. package/dist/src/memory/user-profile-store.js.map +0 -1
@@ -1,26 +1,78 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { ExecuteSessionNotFoundError } from '../core/errors.js';
3
- import { DEFAULT_SESSION_TTL_MS } from '../core/constants.js';
3
+ import { BASELINE_EVENT_DIRTY_LIMIT, DEFAULT_SESSION_TTL_MS } from '../core/constants.js';
4
4
  import { logger } from '../core/logger.js';
5
5
  import { EventType } from '../events/types.js';
6
- import { ExecuteSessionRepository } from './repository.js';
6
+ import { ExecuteSessionRepository, buildShortCircuitEvaluation } from './repository.js';
7
7
  import { computeReadyTaskIds } from './parallel-groups.js';
8
+ import { redactSecrets } from '../mcp/input-guard.js';
9
+ // evolve_fix 프롬프트가 출력 끝 500자를 쓰므로 그보다 넉넉히 끝을 남긴다
10
+ const EVENT_OUTPUT_TAIL = 2000;
11
+ /**
12
+ * 구조 평가 결과를 이벤트에 싣는 꼴로 바꾼다. 원장은 지워지지 않으므로 빌드 로그 원문을
13
+ * 남기지 않는다. 토큰은 원문 전체에서 가린 뒤 자른다 — 잘린 조각에서는 패턴이 안 걸린다.
14
+ * 메모리의 세션은 원문을 그대로 둔다.
15
+ */
16
+ function toEventStructuralResult(result) {
17
+ if (!result)
18
+ return undefined;
19
+ return {
20
+ ...result,
21
+ commands: result.commands.map((c) => {
22
+ const output = redactSecrets(c.output);
23
+ return {
24
+ ...c,
25
+ command: redactSecrets(c.command),
26
+ output: output.length <= EVENT_OUTPUT_TAIL
27
+ ? output
28
+ : `…(앞 ${output.length - EVENT_OUTPUT_TAIL}자 생략)\n${output.slice(-EVENT_OUTPUT_TAIL)}`,
29
+ };
30
+ }),
31
+ };
32
+ }
33
+ /**
34
+ * 실행 세션의 인메모리 캐시. 기준은 이벤트 스토어다.
35
+ *
36
+ * 같은 DB를 여러 MCP 프로세스(dispatch 워커 등)가 함께 쓴다. 그래서 캐시가 담은
37
+ * 세션마다 그때까지 반영한 이벤트 수를 들고 있다가, get()에서 스토어의 수와 다르면
38
+ * 다시 재구성한다. 모든 변경 메서드가 get()부터 부르므로 쓰기도 최신 상태 위에서 한다.
39
+ */
8
40
  export class ExecuteSessionManager {
9
41
  eventStore;
10
42
  sessions = new Map();
43
+ eventCounts = new Map();
44
+ // 이벤트에 못 남긴 기준 트리(baseline_truncated). 재구성은 이벤트만 보므로 여기 따로 두고 다시 얹는다.
45
+ // 세션당 실행 시작은 한 번뿐이라 세션 id로 묶어도 다른 시작의 기준 트리와 섞이지 않는다
46
+ memoryOnlyBaselines = new Map();
47
+ repo;
11
48
  constructor(eventStore) {
12
49
  this.eventStore = eventStore;
50
+ this.repo = new ExecuteSessionRepository(eventStore);
13
51
  }
14
52
  /**
15
53
  * EventStore에서 기존 세션을 복원하여 메모리 Map에 로드한다.
16
54
  * 서버 시작 시 한 번 호출.
17
55
  */
18
56
  loadFromStore() {
19
- const repo = new ExecuteSessionRepository(this.eventStore);
20
- const restored = repo.reconstructAll();
21
- for (const session of restored) {
22
- this.sessions.set(session.sessionId, session);
57
+ for (const id of this.repo.list())
58
+ this.reload(id);
59
+ }
60
+ reload(sessionId) {
61
+ const loaded = this.repo.load(sessionId);
62
+ if (!loaded)
63
+ return null;
64
+ const kept = this.memoryOnlyBaselines.get(sessionId);
65
+ if (kept && loaded.session.workingTreeBaselineSkipped === 'baseline_truncated') {
66
+ loaded.session.workingTreeBaseline = kept;
67
+ loaded.session.workingTreeBaselineSkipped = undefined;
23
68
  }
69
+ this.sessions.set(sessionId, loaded.session);
70
+ this.eventCounts.set(sessionId, loaded.eventCount);
71
+ return loaded.session;
72
+ }
73
+ record(sessionId, eventType, payload) {
74
+ this.eventStore.append('execute', sessionId, eventType, payload);
75
+ this.eventCounts.set(sessionId, (this.eventCounts.get(sessionId) ?? 0) + 1);
24
76
  }
25
77
  create(spec, opts = {}) {
26
78
  const session = {
@@ -40,12 +92,13 @@ export class ExecuteSessionManager {
40
92
  currentGeneration: 0,
41
93
  lateralTriedPersonas: [],
42
94
  lateralAttempts: 0,
95
+ humanGates: [],
43
96
  codeGraphRepoRoot: opts.codeGraphRepoRoot,
44
97
  createdAt: new Date().toISOString(),
45
98
  updatedAt: new Date().toISOString(),
46
99
  };
47
100
  this.sessions.set(session.sessionId, session);
48
- this.eventStore.append('execute', session.sessionId, EventType.EXECUTE_SESSION_STARTED, {
101
+ this.record(session.sessionId, EventType.EXECUTE_SESSION_STARTED, {
49
102
  specId: spec.metadata.specId,
50
103
  goal: spec.goal,
51
104
  acCount: spec.acceptanceCriteria.length,
@@ -62,7 +115,7 @@ export class ExecuteSessionManager {
62
115
  }
63
116
  /**
64
117
  * updatedAt(마지막 활동) 기준으로 ttlMs를 초과한 인메모리 세션을 제거한다.
65
- * SQLite 이벤트 원장은 보존되므로 재시작 시 loadFromStore로 복원 가능.
118
+ * SQLite 이벤트 원장은 보존되므로 지운 세션도 get()이 다시 재구성한다.
66
119
  * @returns 제거된 세션 수
67
120
  */
68
121
  cleanup(ttlMs = DEFAULT_SESSION_TTL_MS) {
@@ -71,13 +124,19 @@ export class ExecuteSessionManager {
71
124
  for (const [id, session] of this.sessions) {
72
125
  if (now - new Date(session.updatedAt).getTime() > ttlMs) {
73
126
  this.sessions.delete(id);
127
+ this.eventCounts.delete(id);
74
128
  removed++;
75
129
  }
76
130
  }
77
131
  return removed;
78
132
  }
79
133
  get(sessionId) {
80
- const session = this.sessions.get(sessionId);
134
+ const cached = this.sessions.get(sessionId);
135
+ if (cached &&
136
+ this.eventCounts.get(sessionId) === this.eventStore.countByAggregate('execute', sessionId)) {
137
+ return cached;
138
+ }
139
+ const session = this.reload(sessionId);
81
140
  if (!session)
82
141
  throw new ExecuteSessionNotFoundError(sessionId);
83
142
  return session;
@@ -87,31 +146,56 @@ export class ExecuteSessionManager {
87
146
  session.planningSteps.push(stepResult);
88
147
  session.currentStep = session.planningSteps.length + 1;
89
148
  session.updatedAt = new Date().toISOString();
90
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_PLANNING_STEP_COMPLETED, {
149
+ this.record(sessionId, EventType.EXECUTE_PLANNING_STEP_COMPLETED, {
91
150
  principle: stepResult.principle,
92
151
  stepNumber: session.planningSteps.length,
93
152
  stepResult,
94
153
  });
95
154
  }
155
+ /**
156
+ * planningSteps를 앞에서 keepSteps개만 남기고 잘라낸다. DAG가 무효일 때 closure부터 다시 받으려고 쓴다.
157
+ * replay도 같은 길이로 잘라야 하므로 keepSteps를 이벤트에 그대로 싣는다.
158
+ */
159
+ rewindPlanning(sessionId, keepSteps, detail) {
160
+ const session = this.get(sessionId);
161
+ session.planningSteps.splice(keepSteps);
162
+ session.currentStep = session.planningSteps.length + 1;
163
+ session.updatedAt = new Date().toISOString();
164
+ this.record(sessionId, EventType.EXECUTE_PLANNING_REWOUND, { ...detail, keepSteps });
165
+ }
96
166
  completePlan(sessionId, plan) {
97
167
  const session = this.get(sessionId);
98
168
  session.executionPlan = plan;
99
169
  session.status = 'plan_complete';
100
170
  session.updatedAt = new Date().toISOString();
101
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_PLAN_COMPLETED, {
171
+ this.record(sessionId, EventType.EXECUTE_PLAN_COMPLETED, {
102
172
  planId: plan.planId,
103
173
  taskCount: plan.atomicTasks.length,
104
174
  groupCount: plan.taskGroups.length,
105
175
  executionPlan: plan,
106
176
  });
107
177
  }
108
- startExecution(sessionId) {
178
+ startExecution(sessionId, capture) {
109
179
  const session = this.get(sessionId);
180
+ const baseline = capture?.baseline;
110
181
  session.status = 'executing';
182
+ session.workingTreeBaseline = baseline;
183
+ session.workingTreeBaselineSkipped = baseline ? undefined : capture?.skipped;
111
184
  session.updatedAt = new Date().toISOString();
112
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_EXECUTION_STARTED, {
185
+ // 해시가 너무 많으면 이벤트에는 사유만 남긴다. 이 프로세스가 사는 동안은 메모리의 기준 트리로 대조한다
186
+ const dirtyCount = baseline ? Object.keys(baseline.dirty).length : 0;
187
+ const truncated = dirtyCount > BASELINE_EVENT_DIRTY_LIMIT;
188
+ if (baseline && truncated)
189
+ this.memoryOnlyBaselines.set(sessionId, baseline);
190
+ const eventSkipped = truncated
191
+ ? 'baseline_truncated'
192
+ : session.workingTreeBaselineSkipped;
193
+ this.record(sessionId, EventType.EXECUTE_EXECUTION_STARTED, {
113
194
  planId: session.executionPlan?.planId,
114
195
  taskCount: session.executionPlan?.atomicTasks.length,
196
+ ...(baseline && !truncated ? { workingTreeBaseline: baseline } : {}),
197
+ ...(eventSkipped ? { workingTreeBaselineSkipped: eventSkipped } : {}),
198
+ ...(truncated ? { baselineDirtyCount: dirtyCount } : {}),
115
199
  });
116
200
  }
117
201
  addTaskResult(sessionId, taskResult) {
@@ -136,11 +220,12 @@ export class ExecuteSessionManager {
136
220
  session.nextTaskId = session.nextTaskIds[0] ?? null;
137
221
  }
138
222
  session.updatedAt = new Date().toISOString();
139
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_TASK_COMPLETED, {
223
+ this.record(sessionId, EventType.EXECUTE_TASK_COMPLETED, {
140
224
  taskId: taskResult.taskId,
141
225
  status: taskResult.status,
142
226
  output: taskResult.output,
143
227
  artifacts: taskResult.artifacts,
228
+ ...(taskResult.noCodeChange ? { noCodeChange: true } : {}),
144
229
  });
145
230
  logger.info('execute.task_completed', {
146
231
  module: 'execute',
@@ -149,28 +234,32 @@ export class ExecuteSessionManager {
149
234
  status: taskResult.status,
150
235
  });
151
236
  }
152
- startStructuralEvaluation(sessionId) {
237
+ startStructuralEvaluation(sessionId, commands) {
153
238
  const session = this.get(sessionId);
154
239
  session.evaluateStage = 'structural';
240
+ session.structuralCommands = commands;
155
241
  session.updatedAt = new Date().toISOString();
156
- this.eventStore.append('execute', sessionId, EventType.EVALUATE_STRUCTURAL_STARTED, {
242
+ this.record(sessionId, EventType.EVALUATE_STRUCTURAL_STARTED, {
157
243
  taskResultCount: session.taskResults.length,
244
+ commands,
158
245
  });
159
246
  }
160
247
  completeStructuralStage(sessionId, structuralResult) {
161
248
  const session = this.get(sessionId);
162
249
  session.structuralResult = structuralResult;
163
250
  session.updatedAt = new Date().toISOString();
164
- this.eventStore.append('execute', sessionId, EventType.EVALUATE_STRUCTURAL_COMPLETED, {
251
+ this.record(sessionId, EventType.EVALUATE_STRUCTURAL_COMPLETED, {
165
252
  allPassed: structuralResult.allPassed,
253
+ // 축약 commands는 structuralResult를 모르는 이전 버전이 이 원장을 읽을 때 쓴다
166
254
  commands: structuralResult.commands.map((c) => ({ name: c.name, exitCode: c.exitCode })),
255
+ structuralResult: toEventStructuralResult(structuralResult),
167
256
  });
168
257
  }
169
258
  startContextualEvaluation(sessionId) {
170
259
  const session = this.get(sessionId);
171
260
  session.evaluateStage = 'contextual';
172
261
  session.updatedAt = new Date().toISOString();
173
- this.eventStore.append('execute', sessionId, EventType.EVALUATE_CONTEXTUAL_STARTED, {
262
+ this.record(sessionId, EventType.EVALUATE_CONTEXTUAL_STARTED, {
174
263
  structuralPassed: session.structuralResult?.allPassed ?? false,
175
264
  });
176
265
  }
@@ -178,23 +267,14 @@ export class ExecuteSessionManager {
178
267
  const session = this.get(sessionId);
179
268
  session.evaluateStage = 'complete';
180
269
  session.status = 'completed';
181
- session.evaluationResult = {
182
- verifications: session.spec.acceptanceCriteria.map((_, i) => ({
183
- acIndex: i,
184
- satisfied: false,
185
- evidence: 'Short-circuited due to structural failure',
186
- gaps: [reason],
187
- })),
188
- overallScore: 0,
189
- goalAlignment: 0,
190
- recommendations: ['Fix structural issues before contextual evaluation'],
191
- };
270
+ session.evaluationResult = buildShortCircuitEvaluation(session.spec, reason);
192
271
  session.updatedAt = new Date().toISOString();
193
- this.eventStore.append('execute', sessionId, EventType.EVALUATE_SHORT_CIRCUITED, {
272
+ this.record(sessionId, EventType.EVALUATE_SHORT_CIRCUITED, {
194
273
  reason,
195
- structuralResult: session.structuralResult,
274
+ structuralResult: toEventStructuralResult(session.structuralResult),
275
+ evaluationResult: session.evaluationResult,
196
276
  });
197
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_SESSION_COMPLETED, {
277
+ this.record(sessionId, EventType.EXECUTE_SESSION_COMPLETED, {
198
278
  overallScore: 0,
199
279
  shortCircuited: true,
200
280
  });
@@ -205,14 +285,14 @@ export class ExecuteSessionManager {
205
285
  session.evaluateStage = 'complete';
206
286
  session.status = 'completed';
207
287
  session.updatedAt = new Date().toISOString();
208
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_EVALUATION_COMPLETED, {
288
+ this.record(sessionId, EventType.EXECUTE_EVALUATION_COMPLETED, {
209
289
  overallScore: evaluationResult.overallScore,
210
290
  goalAlignment: evaluationResult.goalAlignment,
211
291
  satisfiedCount: evaluationResult.verifications.filter((v) => v.satisfied).length,
212
292
  totalCount: evaluationResult.verifications.length,
213
293
  evaluationResult,
214
294
  });
215
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_SESSION_COMPLETED, {
295
+ this.record(sessionId, EventType.EXECUTE_SESSION_COMPLETED, {
216
296
  overallScore: evaluationResult.overallScore,
217
297
  });
218
298
  logger.info('execute.completed', {
@@ -226,11 +306,12 @@ export class ExecuteSessionManager {
226
306
  const session = this.get(sessionId);
227
307
  session.driftHistory.push(driftScore);
228
308
  session.updatedAt = new Date().toISOString();
229
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_DRIFT_MEASURED, {
309
+ this.record(sessionId, EventType.EXECUTE_DRIFT_MEASURED, {
230
310
  taskId: driftScore.taskId,
231
311
  overall: driftScore.overall,
232
312
  thresholdExceeded: driftScore.thresholdExceeded,
233
313
  dimensions: driftScore.dimensions,
314
+ driftScore,
234
315
  });
235
316
  }
236
317
  // ─── Evolution Loop Methods ─────────────────────────────────
@@ -239,9 +320,9 @@ export class ExecuteSessionManager {
239
320
  session.evolveStage = 'fix';
240
321
  session.status = 'executing';
241
322
  session.updatedAt = new Date().toISOString();
242
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_STRUCTURAL_FIX_STARTED, {
323
+ this.record(sessionId, EventType.EVOLVE_STRUCTURAL_FIX_STARTED, {
243
324
  generation: session.currentGeneration,
244
- structuralResult: session.structuralResult,
325
+ structuralResult: toEventStructuralResult(session.structuralResult),
245
326
  });
246
327
  }
247
328
  completeStructuralFix(sessionId, fixTasks) {
@@ -253,7 +334,7 @@ export class ExecuteSessionManager {
253
334
  session.evaluationResult = undefined;
254
335
  session.status = 'executing';
255
336
  session.updatedAt = new Date().toISOString();
256
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_STRUCTURAL_FIX_COMPLETED, {
337
+ this.record(sessionId, EventType.EVOLVE_STRUCTURAL_FIX_COMPLETED, {
257
338
  generation,
258
339
  fixCount: fixTasks.length,
259
340
  fixTasks,
@@ -272,7 +353,7 @@ export class ExecuteSessionManager {
272
353
  session.spec = newSpec;
273
354
  session.evolveStage = 'patch';
274
355
  session.updatedAt = new Date().toISOString();
275
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_SPEC_PATCHED, {
356
+ this.record(sessionId, EventType.EVOLVE_SPEC_PATCHED, {
276
357
  generation: session.currentGeneration,
277
358
  patch,
278
359
  spec: newSpec,
@@ -286,7 +367,7 @@ export class ExecuteSessionManager {
286
367
  // Clear results for tasks being re-executed
287
368
  session.taskResults = session.taskResults.filter((r) => !taskIds.includes(r.taskId));
288
369
  session.updatedAt = new Date().toISOString();
289
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_RE_EXECUTION_STARTED, {
370
+ this.record(sessionId, EventType.EVOLVE_RE_EXECUTION_STARTED, {
290
371
  generation: session.currentGeneration,
291
372
  taskIds,
292
373
  });
@@ -301,7 +382,7 @@ export class ExecuteSessionManager {
301
382
  session.taskResults.push(taskResult);
302
383
  }
303
384
  session.updatedAt = new Date().toISOString();
304
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_TASK_COMPLETED, {
385
+ this.record(sessionId, EventType.EVOLVE_TASK_COMPLETED, {
305
386
  generation: session.currentGeneration,
306
387
  taskId: taskResult.taskId,
307
388
  status: taskResult.status,
@@ -321,20 +402,22 @@ export class ExecuteSessionManager {
321
402
  session.roleMatches = [];
322
403
  session.roleMatches = matches;
323
404
  session.updatedAt = new Date().toISOString();
324
- this.eventStore.append('execute', sessionId, EventType.ROLE_MATCH_COMPLETED, {
405
+ this.record(sessionId, EventType.ROLE_MATCH_COMPLETED, {
325
406
  taskId,
326
407
  matchCount: matches.length,
327
408
  agents: matches.map((m) => m.agentName),
409
+ matches,
328
410
  });
329
411
  }
330
412
  setRoleConsensus(sessionId, taskId, consensus) {
331
413
  const session = this.get(sessionId);
332
414
  session.roleConsensus = consensus;
333
415
  session.updatedAt = new Date().toISOString();
334
- this.eventStore.append('execute', sessionId, EventType.ROLE_CONSENSUS_COMPLETED, {
416
+ this.record(sessionId, EventType.ROLE_CONSENSUS_COMPLETED, {
335
417
  taskId,
336
418
  participatingAgents: consensus.perspectives.map((p) => p.agentName),
337
419
  conflictCount: consensus.conflictResolutions.length,
420
+ consensus,
338
421
  });
339
422
  }
340
423
  clearRoleState(sessionId) {
@@ -342,23 +425,26 @@ export class ExecuteSessionManager {
342
425
  session.roleMatches = undefined;
343
426
  session.roleConsensus = undefined;
344
427
  session.updatedAt = new Date().toISOString();
428
+ this.record(sessionId, EventType.ROLE_STATE_CLEARED, {});
345
429
  }
346
430
  // ─── Sub-task Methods ───────────────────────────────────────
347
431
  addSubTasks(sessionId, subTasks) {
348
432
  const session = this.get(sessionId);
349
433
  session.subTasks.push(...subTasks);
350
434
  session.updatedAt = new Date().toISOString();
351
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_TASK_COMPLETED, {
435
+ this.record(sessionId, EventType.EXECUTE_TASK_COMPLETED, {
352
436
  type: 'sub_tasks_spawned',
353
437
  parentTaskId: subTasks[0]?.parentTaskId,
354
438
  count: subTasks.length,
355
439
  taskIds: subTasks.map((t) => t.taskId),
440
+ subTasks,
356
441
  });
357
442
  }
358
443
  setAuditResult(sessionId, auditResult) {
359
444
  const session = this.get(sessionId);
360
445
  session.auditResult = auditResult;
361
446
  session.updatedAt = new Date().toISOString();
447
+ this.record(sessionId, EventType.EXECUTE_AUDIT_COMPLETED, { auditResult });
362
448
  }
363
449
  // ─── Lateral Thinking Methods ───────────────────────────────
364
450
  startLateral(sessionId, persona, pattern) {
@@ -368,7 +454,7 @@ export class ExecuteSessionManager {
368
454
  session.lateralCurrentPersona = persona;
369
455
  session.lateralCurrentPattern = pattern;
370
456
  session.updatedAt = new Date().toISOString();
371
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_LATERAL_STARTED, {
457
+ this.record(sessionId, EventType.EVOLVE_LATERAL_STARTED, {
372
458
  generation: session.currentGeneration,
373
459
  persona,
374
460
  pattern,
@@ -382,20 +468,51 @@ export class ExecuteSessionManager {
382
468
  session.lateralCurrentPersona = undefined;
383
469
  session.lateralCurrentPattern = undefined;
384
470
  session.updatedAt = new Date().toISOString();
385
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_LATERAL_COMPLETED, {
471
+ this.record(sessionId, EventType.EVOLVE_LATERAL_COMPLETED, {
386
472
  generation: session.currentGeneration,
387
473
  persona,
388
474
  description,
389
475
  attemptNumber: session.lateralAttempts,
390
476
  });
391
477
  }
478
+ // ─── Human Gate Methods ─────────────────────────────────────
479
+ openHumanGate(sessionId, gate, detail) {
480
+ const session = this.get(sessionId);
481
+ const open = session.humanGates.find((g) => g.status === 'open');
482
+ if (open)
483
+ throw new Error(`Human gate already open: ${open.gateId}`);
484
+ session.humanGates.push(gate);
485
+ session.status = 'awaiting_human';
486
+ session.evolveStage = undefined;
487
+ session.updatedAt = new Date().toISOString();
488
+ this.record(sessionId, EventType.EVOLVE_HUMAN_ESCALATION, {
489
+ ...detail,
490
+ gate,
491
+ });
492
+ }
493
+ resolveHumanGate(sessionId, gateId, resolution, resumes) {
494
+ const session = this.get(sessionId);
495
+ const gate = session.humanGates.find((g) => g.gateId === gateId);
496
+ if (!gate)
497
+ throw new Error(`Gate not found: ${gateId}`);
498
+ gate.status = 'resolved';
499
+ gate.resolution = resolution;
500
+ if (resumes)
501
+ session.status = 'executing';
502
+ session.updatedAt = new Date().toISOString();
503
+ this.record(sessionId, EventType.EVOLVE_HUMAN_GATE_RESOLVED, {
504
+ gateId,
505
+ resolution,
506
+ resumes,
507
+ });
508
+ }
392
509
  terminate(sessionId, reason) {
393
510
  const session = this.get(sessionId);
394
511
  session.terminationReason = reason;
395
512
  session.status = reason === 'success' ? 'completed' : 'failed';
396
513
  session.evolveStage = undefined;
397
514
  session.updatedAt = new Date().toISOString();
398
- this.eventStore.append('execute', sessionId, EventType.EVOLVE_TERMINATED, {
515
+ this.record(sessionId, EventType.EVOLVE_TERMINATED, {
399
516
  reason,
400
517
  generation: session.currentGeneration,
401
518
  scoreHistory: session.evolutionHistory.map((g) => g.evaluationScore),
@@ -406,7 +523,7 @@ export class ExecuteSessionManager {
406
523
  const session = this.get(sessionId);
407
524
  session.status = 'failed';
408
525
  session.updatedAt = new Date().toISOString();
409
- this.eventStore.append('execute', sessionId, EventType.EXECUTE_SESSION_FAILED, {
526
+ this.record(sessionId, EventType.EXECUTE_SESSION_FAILED, {
410
527
  reason,
411
528
  });
412
529
  logger.warn('execute.failed', {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/execute/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,OAAO,qBAAqB;IAGZ;IAFZ,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAErD,YAAoB,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;IAAG,CAAC;IAE/C;;;OAGG;IACH,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAU,EAAE,OAAuC,EAAE;QAC1D,MAAM,OAAO,GAAmB;YAC9B,SAAS,EAAE,UAAU,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,IAAI;YACJ,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,EAAE;YACpB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,EAAE;YACxB,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,uBAAuB,EAAE;YACtF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM;YACvC,IAAI;YACJ,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM;SACxC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,GAAG,sBAAsB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,SAAiB,EAAE,UAA8B;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,+BAA+B,EAAE;YACtF,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;YACxC,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,IAAmB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC;QACjC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE;YAC7E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAClC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,yBAAyB,EAAE;YAChF,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM;YACrC,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM;SACrD,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,UAA+B;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,yDAAyD;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,8CAA8C;QAC9C,IACE,UAAU,CAAC,MAAM,KAAK,WAAW;YACjC,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EACrD,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,uDAAuD;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,WAAW,GAAG,mBAAmB,CACvC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CAAC,gBAAgB,EACnC,OAAO,CAAC,gBAAgB,CACzB,CAAC;YACF,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE;YAC7E,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAiB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;QACrC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,2BAA2B,EAAE;YAClF,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,SAAiB,EAAE,gBAAkC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC5C,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,6BAA6B,EAAE;YACpF,SAAS,EAAE,gBAAgB,CAAC,SAAS;YACrC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzF,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAiB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;QACrC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,2BAA2B,EAAE;YAClF,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,IAAI,KAAK;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,SAAiB,EAAE,MAAc;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,gBAAgB,GAAG;YACzB,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,CAAC,MAAM,CAAC;aACf,CAAC,CAAC;YACH,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC,oDAAoD,CAAC;SACxE,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,wBAAwB,EAAE;YAC/E,MAAM;YACN,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,yBAAyB,EAAE;YAChF,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,SAAiB,EAAE,gBAAkC;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC5C,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,4BAA4B,EAAE;YACnF,YAAY,EAAE,gBAAgB,CAAC,YAAY;YAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;YAC7C,cAAc,EAAE,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAChF,UAAU,EAAE,gBAAgB,CAAC,aAAa,CAAC,MAAM;YACjD,gBAAgB;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,yBAAyB,EAAE;YAChF,YAAY,EAAE,gBAAgB,CAAC,YAAY;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC/B,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,YAAY,EAAE,gBAAgB,CAAC,YAAY;YAC3C,aAAa,EAAE,gBAAgB,CAAC,aAAa;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,UAAsB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE;YAC7E,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;YAC/C,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAE/D,kBAAkB,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAC5B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,6BAA6B,EAAE;YACpF,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,QAAmB;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAE7C,sFAAsF;QACtF,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,+BAA+B,EAAE;YACtF,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,QAAQ;YACR,2EAA2E;YAC3E,UAAU,EAAE;gBACV,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,WAAoB;aAC7B;SACF,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,KAAgB,EAAE,OAAa,EAAE,KAAgB;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,mBAAmB,EAAE;YAC1E,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,KAAK;YACL,IAAI,EAAE,OAAO;YACb,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,OAAiB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC;QACrC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,4CAA4C;QAC5C,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,2BAA2B,EAAE;YAClF,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,UAA+B;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,qBAAqB,EAAE;YAC5E,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAiB,EAAE,UAA+B;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAED,8DAA8D;IAE9D,cAAc,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAoB;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;QACnD,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,oBAAoB,EAAE;YAC3E,MAAM;YACN,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,MAAc,EAAE,SAAwB;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,wBAAwB,EAAE;YAC/E,MAAM;YACN,mBAAmB,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,aAAa,EAAE,SAAS,CAAC,mBAAmB,CAAC,MAAM;SACpD,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAED,+DAA+D;IAE/D,WAAW,CAAC,SAAiB,EAAE,QAAmB;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE;YAC7E,IAAI,EAAE,mBAAmB;YACzB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY;YACvC,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,WAAwB;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAED,+DAA+D;IAE/D,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAe;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC;QACxC,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC;QACxC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE;YAC7E,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,OAAO;YACP,OAAO;YACP,aAAa,EAAE,OAAO,CAAC,eAAe,GAAG,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,SAAiB,EAAE,OAAe,EAAE,WAAmB;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,eAAe,EAAE,CAAC;QAC1B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,wBAAwB,EAAE;YAC/E,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,OAAO;YACP,WAAW;YACX,aAAa,EAAE,OAAO,CAAC,eAAe;SACvC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,MAAyB;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,iBAAiB,EAAE;YACxE,MAAM;YACN,UAAU,EAAE,OAAO,CAAC,iBAAiB;YACrC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YACpE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,MAAc;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE;YAC7E,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5B,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtD,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACvC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/execute/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { StructuralCommand, StructuralResult } from '../core/types.js';
2
+ export type PackageManager = 'pnpm' | 'yarn' | 'bun' | 'npm';
3
+ /**
4
+ * package.json의 packageManager 필드를 먼저 따르고 없으면 lockfile로 추정한다.
5
+ * 둘 다 없으면 npm.
6
+ */
7
+ export declare function detectPackageManager(root: string): PackageManager;
8
+ /**
9
+ * 구조 검사 명령을 만든다. testFiles가 비어 있으면 테스트를 좁히지 않고 전체를 돌린다.
10
+ * package.json에 없는 스크립트는 빼지만 test는 남긴다 — 테스트를 안 돌리고 통과시키는 길을 막기 위해서다.
11
+ */
12
+ export declare function buildStructuralCommands(root: string, testFiles?: string[]): StructuralCommand[];
13
+ /**
14
+ * 직전 커밋과 작업 트리(스테이징, 미스테이징, 추적 안 된 새 파일)의 변경 파일을 합친다.
15
+ * 삭제된 파일도 남긴다. 그 파일을 import하던 테스트를 blast-radius가 찾아야 해서다.
16
+ * 첫 커밋뿐인 레포에서는 HEAD~1 조회만 건너뛴다. 그 밖의 git 실패는 그대로 던진다.
17
+ */
18
+ export declare function collectChangedFiles(repoRoot: string): string[];
19
+ /**
20
+ * 요청한 명령과 제출된 명령을 이름별로 맞춰본다. 빠졌거나 다른 명령을 돌렸으면 사유를 돌려준다.
21
+ */
22
+ export declare function findCommandMismatches(requested: StructuralCommand[], submitted: StructuralResult): string[];
23
+ //# sourceMappingURL=structural-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structural-commands.d.ts","sourceRoot":"","sources":["../../../src/execute/structural-commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAuC7D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAWjE;AAqBD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAM,EAAO,GACvB,iBAAiB,EAAE,CAUrB;AA2BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,EAAE,EAC9B,SAAS,EAAE,gBAAgB,GAC1B,MAAM,EAAE,CAYV"}