pm-orchestrator-runner 1.0.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 (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -0
  3. package/dist/cli/cli-interface.d.ts +150 -0
  4. package/dist/cli/cli-interface.d.ts.map +1 -0
  5. package/dist/cli/cli-interface.js +606 -0
  6. package/dist/cli/cli-interface.js.map +1 -0
  7. package/dist/cli/index.d.ts +13 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/cli/index.js +243 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/cli/llm-sentinel.d.ts +15 -0
  12. package/dist/cli/llm-sentinel.d.ts.map +1 -0
  13. package/dist/cli/llm-sentinel.js +184 -0
  14. package/dist/cli/llm-sentinel.js.map +1 -0
  15. package/dist/config/configuration-manager.d.ts +149 -0
  16. package/dist/config/configuration-manager.d.ts.map +1 -0
  17. package/dist/config/configuration-manager.js +241 -0
  18. package/dist/config/configuration-manager.js.map +1 -0
  19. package/dist/continuation/continuation-control-manager.d.ts +154 -0
  20. package/dist/continuation/continuation-control-manager.d.ts.map +1 -0
  21. package/dist/continuation/continuation-control-manager.js +303 -0
  22. package/dist/continuation/continuation-control-manager.js.map +1 -0
  23. package/dist/core/runner-core.d.ts +474 -0
  24. package/dist/core/runner-core.d.ts.map +1 -0
  25. package/dist/core/runner-core.js +1311 -0
  26. package/dist/core/runner-core.js.map +1 -0
  27. package/dist/errors/error-codes.d.ts +105 -0
  28. package/dist/errors/error-codes.d.ts.map +1 -0
  29. package/dist/errors/error-codes.js +198 -0
  30. package/dist/errors/error-codes.js.map +1 -0
  31. package/dist/errors/runner-error.d.ts +14 -0
  32. package/dist/errors/runner-error.d.ts.map +1 -0
  33. package/dist/errors/runner-error.js +33 -0
  34. package/dist/errors/runner-error.js.map +1 -0
  35. package/dist/evidence/evidence-manager.d.ts +112 -0
  36. package/dist/evidence/evidence-manager.d.ts.map +1 -0
  37. package/dist/evidence/evidence-manager.js +337 -0
  38. package/dist/evidence/evidence-manager.js.map +1 -0
  39. package/dist/executor/claude-code-executor.d.ts +136 -0
  40. package/dist/executor/claude-code-executor.d.ts.map +1 -0
  41. package/dist/executor/claude-code-executor.js +643 -0
  42. package/dist/executor/claude-code-executor.js.map +1 -0
  43. package/dist/executor/deterministic-executor.d.ts +40 -0
  44. package/dist/executor/deterministic-executor.d.ts.map +1 -0
  45. package/dist/executor/deterministic-executor.js +269 -0
  46. package/dist/executor/deterministic-executor.js.map +1 -0
  47. package/dist/lifecycle/lifecycle-controller.d.ts +270 -0
  48. package/dist/lifecycle/lifecycle-controller.d.ts.map +1 -0
  49. package/dist/lifecycle/lifecycle-controller.js +596 -0
  50. package/dist/lifecycle/lifecycle-controller.js.map +1 -0
  51. package/dist/limits/resource-limit-manager.d.ts +200 -0
  52. package/dist/limits/resource-limit-manager.d.ts.map +1 -0
  53. package/dist/limits/resource-limit-manager.js +376 -0
  54. package/dist/limits/resource-limit-manager.js.map +1 -0
  55. package/dist/locks/lock-manager.d.ts +116 -0
  56. package/dist/locks/lock-manager.d.ts.map +1 -0
  57. package/dist/locks/lock-manager.js +306 -0
  58. package/dist/locks/lock-manager.js.map +1 -0
  59. package/dist/logging/index.d.ts +8 -0
  60. package/dist/logging/index.d.ts.map +1 -0
  61. package/dist/logging/index.js +22 -0
  62. package/dist/logging/index.js.map +1 -0
  63. package/dist/logging/sensitive-data-masker.d.ts +90 -0
  64. package/dist/logging/sensitive-data-masker.d.ts.map +1 -0
  65. package/dist/logging/sensitive-data-masker.js +228 -0
  66. package/dist/logging/sensitive-data-masker.js.map +1 -0
  67. package/dist/logging/task-log-manager.d.ts +215 -0
  68. package/dist/logging/task-log-manager.d.ts.map +1 -0
  69. package/dist/logging/task-log-manager.js +743 -0
  70. package/dist/logging/task-log-manager.js.map +1 -0
  71. package/dist/mediation/fail-closed-runner.d.ts +131 -0
  72. package/dist/mediation/fail-closed-runner.d.ts.map +1 -0
  73. package/dist/mediation/fail-closed-runner.js +245 -0
  74. package/dist/mediation/fail-closed-runner.js.map +1 -0
  75. package/dist/mediation/llm-client-with-evidence.d.ts +123 -0
  76. package/dist/mediation/llm-client-with-evidence.d.ts.map +1 -0
  77. package/dist/mediation/llm-client-with-evidence.js +245 -0
  78. package/dist/mediation/llm-client-with-evidence.js.map +1 -0
  79. package/dist/mediation/llm-client.d.ts +102 -0
  80. package/dist/mediation/llm-client.d.ts.map +1 -0
  81. package/dist/mediation/llm-client.js +206 -0
  82. package/dist/mediation/llm-client.js.map +1 -0
  83. package/dist/mediation/llm-evidence-manager.d.ts +108 -0
  84. package/dist/mediation/llm-evidence-manager.d.ts.map +1 -0
  85. package/dist/mediation/llm-evidence-manager.js +230 -0
  86. package/dist/mediation/llm-evidence-manager.js.map +1 -0
  87. package/dist/mediation/llm-mediation-layer.d.ts +175 -0
  88. package/dist/mediation/llm-mediation-layer.d.ts.map +1 -0
  89. package/dist/mediation/llm-mediation-layer.js +315 -0
  90. package/dist/mediation/llm-mediation-layer.js.map +1 -0
  91. package/dist/mediation/llm-sentinel.d.ts +107 -0
  92. package/dist/mediation/llm-sentinel.d.ts.map +1 -0
  93. package/dist/mediation/llm-sentinel.js +187 -0
  94. package/dist/mediation/llm-sentinel.js.map +1 -0
  95. package/dist/mediation/real-llm-mediation-layer.d.ts +104 -0
  96. package/dist/mediation/real-llm-mediation-layer.d.ts.map +1 -0
  97. package/dist/mediation/real-llm-mediation-layer.js +322 -0
  98. package/dist/mediation/real-llm-mediation-layer.js.map +1 -0
  99. package/dist/mediation/verdict-reporter.d.ts +61 -0
  100. package/dist/mediation/verdict-reporter.d.ts.map +1 -0
  101. package/dist/mediation/verdict-reporter.js +178 -0
  102. package/dist/mediation/verdict-reporter.js.map +1 -0
  103. package/dist/models/enums.d.ts +133 -0
  104. package/dist/models/enums.d.ts.map +1 -0
  105. package/dist/models/enums.js +201 -0
  106. package/dist/models/enums.js.map +1 -0
  107. package/dist/models/evidence.d.ts +60 -0
  108. package/dist/models/evidence.d.ts.map +1 -0
  109. package/dist/models/evidence.js +135 -0
  110. package/dist/models/evidence.js.map +1 -0
  111. package/dist/models/execution-result.d.ts +89 -0
  112. package/dist/models/execution-result.d.ts.map +1 -0
  113. package/dist/models/execution-result.js +197 -0
  114. package/dist/models/execution-result.js.map +1 -0
  115. package/dist/models/file-lock.d.ts +62 -0
  116. package/dist/models/file-lock.d.ts.map +1 -0
  117. package/dist/models/file-lock.js +133 -0
  118. package/dist/models/file-lock.js.map +1 -0
  119. package/dist/models/index.d.ts +12 -0
  120. package/dist/models/index.d.ts.map +1 -0
  121. package/dist/models/index.js +91 -0
  122. package/dist/models/index.js.map +1 -0
  123. package/dist/models/repl/index.d.ts +7 -0
  124. package/dist/models/repl/index.d.ts.map +1 -0
  125. package/dist/models/repl/index.js +32 -0
  126. package/dist/models/repl/index.js.map +1 -0
  127. package/dist/models/repl/model-registry.d.ts +73 -0
  128. package/dist/models/repl/model-registry.d.ts.map +1 -0
  129. package/dist/models/repl/model-registry.js +116 -0
  130. package/dist/models/repl/model-registry.js.map +1 -0
  131. package/dist/models/repl/repl-state.d.ts +86 -0
  132. package/dist/models/repl/repl-state.d.ts.map +1 -0
  133. package/dist/models/repl/repl-state.js +152 -0
  134. package/dist/models/repl/repl-state.js.map +1 -0
  135. package/dist/models/repl/task-log.d.ts +247 -0
  136. package/dist/models/repl/task-log.d.ts.map +1 -0
  137. package/dist/models/repl/task-log.js +178 -0
  138. package/dist/models/repl/task-log.js.map +1 -0
  139. package/dist/models/session.d.ts +71 -0
  140. package/dist/models/session.d.ts.map +1 -0
  141. package/dist/models/session.js +140 -0
  142. package/dist/models/session.js.map +1 -0
  143. package/dist/models/supporting.d.ts +97 -0
  144. package/dist/models/supporting.d.ts.map +1 -0
  145. package/dist/models/supporting.js +208 -0
  146. package/dist/models/supporting.js.map +1 -0
  147. package/dist/models/task.d.ts +77 -0
  148. package/dist/models/task.d.ts.map +1 -0
  149. package/dist/models/task.js +170 -0
  150. package/dist/models/task.js.map +1 -0
  151. package/dist/output/output-control-manager.d.ts +217 -0
  152. package/dist/output/output-control-manager.d.ts.map +1 -0
  153. package/dist/output/output-control-manager.js +378 -0
  154. package/dist/output/output-control-manager.js.map +1 -0
  155. package/dist/pool/agent-pool.d.ts +284 -0
  156. package/dist/pool/agent-pool.d.ts.map +1 -0
  157. package/dist/pool/agent-pool.js +451 -0
  158. package/dist/pool/agent-pool.js.map +1 -0
  159. package/dist/repl/commands/index.d.ts +12 -0
  160. package/dist/repl/commands/index.d.ts.map +1 -0
  161. package/dist/repl/commands/index.js +26 -0
  162. package/dist/repl/commands/index.js.map +1 -0
  163. package/dist/repl/commands/init.d.ts +31 -0
  164. package/dist/repl/commands/init.d.ts.map +1 -0
  165. package/dist/repl/commands/init.js +234 -0
  166. package/dist/repl/commands/init.js.map +1 -0
  167. package/dist/repl/commands/keys.d.ts +63 -0
  168. package/dist/repl/commands/keys.d.ts.map +1 -0
  169. package/dist/repl/commands/keys.js +114 -0
  170. package/dist/repl/commands/keys.js.map +1 -0
  171. package/dist/repl/commands/logs.d.ts +91 -0
  172. package/dist/repl/commands/logs.d.ts.map +1 -0
  173. package/dist/repl/commands/logs.js +200 -0
  174. package/dist/repl/commands/logs.js.map +1 -0
  175. package/dist/repl/commands/model.d.ts +85 -0
  176. package/dist/repl/commands/model.d.ts.map +1 -0
  177. package/dist/repl/commands/model.js +225 -0
  178. package/dist/repl/commands/model.js.map +1 -0
  179. package/dist/repl/commands/models.d.ts +50 -0
  180. package/dist/repl/commands/models.d.ts.map +1 -0
  181. package/dist/repl/commands/models.js +180 -0
  182. package/dist/repl/commands/models.js.map +1 -0
  183. package/dist/repl/commands/provider.d.ts +79 -0
  184. package/dist/repl/commands/provider.d.ts.map +1 -0
  185. package/dist/repl/commands/provider.js +291 -0
  186. package/dist/repl/commands/provider.js.map +1 -0
  187. package/dist/repl/commands/session.d.ts +50 -0
  188. package/dist/repl/commands/session.d.ts.map +1 -0
  189. package/dist/repl/commands/session.js +152 -0
  190. package/dist/repl/commands/session.js.map +1 -0
  191. package/dist/repl/commands/status.d.ts +55 -0
  192. package/dist/repl/commands/status.d.ts.map +1 -0
  193. package/dist/repl/commands/status.js +182 -0
  194. package/dist/repl/commands/status.js.map +1 -0
  195. package/dist/repl/index.d.ts +6 -0
  196. package/dist/repl/index.d.ts.map +1 -0
  197. package/dist/repl/index.js +25 -0
  198. package/dist/repl/index.js.map +1 -0
  199. package/dist/repl/repl-interface.d.ts +371 -0
  200. package/dist/repl/repl-interface.d.ts.map +1 -0
  201. package/dist/repl/repl-interface.js +1214 -0
  202. package/dist/repl/repl-interface.js.map +1 -0
  203. package/dist/session/session-manager.d.ts +85 -0
  204. package/dist/session/session-manager.d.ts.map +1 -0
  205. package/dist/session/session-manager.js +217 -0
  206. package/dist/session/session-manager.js.map +1 -0
  207. package/dist/supervisor/executor-supervisor.d.ts +90 -0
  208. package/dist/supervisor/executor-supervisor.d.ts.map +1 -0
  209. package/dist/supervisor/executor-supervisor.js +223 -0
  210. package/dist/supervisor/executor-supervisor.js.map +1 -0
  211. package/dist/supervisor/index.d.ts +5 -0
  212. package/dist/supervisor/index.d.ts.map +1 -0
  213. package/dist/supervisor/index.js +9 -0
  214. package/dist/supervisor/index.js.map +1 -0
  215. package/package.json +57 -0
@@ -0,0 +1,474 @@
1
+ /**
2
+ * Runner Core
3
+ * Based on 04_COMPONENTS.md L196-240
4
+ *
5
+ * Responsible for:
6
+ * - Orchestrating all components
7
+ * - Managing lifecycle execution
8
+ * - Task coordination
9
+ * - Resource management
10
+ * - Error handling
11
+ * - Evidence collection
12
+ * - Session state management
13
+ */
14
+ import { EventEmitter } from 'events';
15
+ import { ConfigurationManager } from '../config/configuration-manager';
16
+ import { SessionManager } from '../session/session-manager';
17
+ import { EvidenceManager } from '../evidence/evidence-manager';
18
+ import { LockManager } from '../locks/lock-manager';
19
+ import { ResourceLimitManager } from '../limits/resource-limit-manager';
20
+ import { ContinuationControlManager } from '../continuation/continuation-control-manager';
21
+ import { OutputControlManager } from '../output/output-control-manager';
22
+ import { LifecycleController } from '../lifecycle/lifecycle-controller';
23
+ import { L1SubagentPool, L2ExecutorPool } from '../pool/agent-pool';
24
+ import { OverallStatus, Phase, TaskStatus } from '../models/enums';
25
+ import { Session, SessionStatus } from '../models/session';
26
+ import { ErrorCode } from '../errors/error-codes';
27
+ import { IExecutor } from '../executor/claude-code-executor';
28
+ import { ClarificationReason } from '../mediation/llm-mediation-layer';
29
+ /**
30
+ * Runner Core Error
31
+ */
32
+ export declare class RunnerCoreError extends Error {
33
+ readonly code: ErrorCode;
34
+ readonly details?: Record<string, unknown>;
35
+ constructor(code: ErrorCode, message?: string, details?: Record<string, unknown>);
36
+ }
37
+ /**
38
+ * Runner options
39
+ */
40
+ export interface RunnerOptions {
41
+ evidenceDir: string;
42
+ continueOnTaskFailure?: boolean;
43
+ resourceLimits?: {
44
+ max_files?: number;
45
+ max_tests?: number;
46
+ max_seconds?: number;
47
+ };
48
+ /** Enable Claude Code CLI execution for natural language tasks */
49
+ useClaudeCode?: boolean;
50
+ /** Timeout for Claude Code execution in milliseconds */
51
+ claudeCodeTimeout?: number;
52
+ /**
53
+ * Injected executor for dependency injection (testing).
54
+ * If provided, this executor is used instead of creating ClaudeCodeExecutor.
55
+ * Requires useClaudeCode: true.
56
+ */
57
+ executor?: IExecutor;
58
+ }
59
+ /**
60
+ * Task definition
61
+ */
62
+ interface Task {
63
+ id: string;
64
+ description?: string;
65
+ dependencies?: string[];
66
+ willFail?: boolean;
67
+ naturalLanguageTask?: string;
68
+ expectedOutcome?: {
69
+ type: string;
70
+ path?: string;
71
+ };
72
+ sideEffectVerification?: {
73
+ type: string;
74
+ path?: string;
75
+ };
76
+ }
77
+ /**
78
+ * Task result
79
+ */
80
+ interface TaskResult {
81
+ task_id: string;
82
+ status: TaskStatus;
83
+ started_at: string;
84
+ completed_at?: string;
85
+ error?: Error;
86
+ evidence?: Record<string, unknown>;
87
+ /** True if Runner needs clarification before proceeding */
88
+ clarification_needed?: boolean;
89
+ /** Structured reason code for clarification (LLM layer generates questions) */
90
+ clarification_reason?: ClarificationReason;
91
+ /** Target file if identified (fact, not conversation) */
92
+ target_file?: string;
93
+ /** Original prompt for context */
94
+ original_prompt?: string;
95
+ }
96
+ /**
97
+ * Execution config
98
+ */
99
+ interface ExecutionConfig {
100
+ tasks: Task[];
101
+ /** Model to use for Claude Code execution (from REPL .claude/repl.json) */
102
+ selectedModel?: string;
103
+ }
104
+ /**
105
+ * Execution result
106
+ */
107
+ interface ExecutionResult {
108
+ session_id: string;
109
+ overall_status: OverallStatus;
110
+ tasks_completed: number;
111
+ tasks_total: number;
112
+ next_action: boolean;
113
+ /** Structured reason code when next_action=true (LLM layer generates questions) */
114
+ clarification_reason?: ClarificationReason;
115
+ /** Target file if identified (fact, not conversation) */
116
+ target_file?: string;
117
+ /** Original prompt for context */
118
+ original_prompt?: string;
119
+ error?: Error;
120
+ incomplete_task_reasons?: Array<{
121
+ task_id: string;
122
+ reason: string;
123
+ }>;
124
+ }
125
+ /**
126
+ * Check result for resource limits
127
+ */
128
+ interface CheckResult {
129
+ allowed: boolean;
130
+ violation?: {
131
+ limit_type: string;
132
+ current: number;
133
+ limit: number;
134
+ };
135
+ }
136
+ /**
137
+ * Time limit check result
138
+ */
139
+ interface TimeLimitResult {
140
+ exceeded: boolean;
141
+ }
142
+ /**
143
+ * Resource limits
144
+ */
145
+ interface ResourceLimits {
146
+ max_files: number;
147
+ max_tests: number;
148
+ max_seconds: number;
149
+ }
150
+ /**
151
+ * Resource statistics
152
+ */
153
+ interface ResourceStats {
154
+ files_used: number;
155
+ tests_run: number;
156
+ elapsed_seconds: number;
157
+ }
158
+ /**
159
+ * Pool statistics
160
+ */
161
+ interface PoolStats {
162
+ total_capacity: number;
163
+ active_count: number;
164
+ available_slots: number;
165
+ }
166
+ /**
167
+ * Session state for external access
168
+ */
169
+ interface SessionState {
170
+ session_id: string;
171
+ status: SessionStatus;
172
+ current_phase: Phase;
173
+ started_at: string;
174
+ target_project: string;
175
+ }
176
+ /**
177
+ * Error evidence
178
+ */
179
+ interface ErrorEvidence {
180
+ error: Error;
181
+ task_id?: string;
182
+ timestamp: string;
183
+ }
184
+ /**
185
+ * Advance phase options
186
+ */
187
+ interface AdvancePhaseOptions {
188
+ evidence: Record<string, unknown>;
189
+ }
190
+ /**
191
+ * Output result
192
+ */
193
+ interface OutputResult {
194
+ session_id: string;
195
+ overall_status: OverallStatus;
196
+ next_action: boolean;
197
+ incomplete_task_reasons?: Array<{
198
+ task_id: string;
199
+ reason: string;
200
+ }>;
201
+ }
202
+ /**
203
+ * Runner Core class
204
+ */
205
+ export declare class RunnerCore extends EventEmitter {
206
+ private readonly options;
207
+ private readonly continueOnTaskFailure;
208
+ private configManager;
209
+ private sessionManager;
210
+ private evidenceManager;
211
+ private lockManager;
212
+ private resourceLimitManager;
213
+ private continuationManager;
214
+ private outputManager;
215
+ private lifecycleController;
216
+ private l1Pool;
217
+ private l2Pool;
218
+ private session;
219
+ private sessionDir;
220
+ private taskResults;
221
+ private errorEvidence;
222
+ private overallStatus;
223
+ private incompleteReasons;
224
+ private resourceStats;
225
+ private resourceLimits;
226
+ private elapsedTimeOverride;
227
+ private initialized;
228
+ private claudeCodeExecutor;
229
+ private taskLogManager;
230
+ private taskLogThread;
231
+ private taskLogRun;
232
+ private currentSelectedModel;
233
+ /**
234
+ * Create a new RunnerCore
235
+ */
236
+ constructor(options: RunnerOptions);
237
+ /**
238
+ * Initialize the runner with a target project
239
+ */
240
+ initialize(targetProject: string): Promise<Session>;
241
+ /**
242
+ * Parse and apply configuration from YAML
243
+ */
244
+ private parseAndApplyConfig;
245
+ /**
246
+ * Execute the full lifecycle with tasks
247
+ */
248
+ execute(config: ExecutionConfig): Promise<ExecutionResult>;
249
+ /**
250
+ * Execute tasks sequentially
251
+ */
252
+ executeTasksSequentially(tasks: Task[]): Promise<void>;
253
+ /**
254
+ * Execute tasks in parallel
255
+ */
256
+ executeTasksParallel(tasks: Task[]): Promise<void>;
257
+ /**
258
+ * Execute tasks respecting dependencies
259
+ */
260
+ executeTasksWithDependencies(tasks: Task[]): Promise<void>;
261
+ /**
262
+ * Execute a single task
263
+ * Per spec 06_CORRECTNESS_PROPERTIES.md Property 7 & 8:
264
+ * - All operations MUST generate Evidence
265
+ * - COMPLETE only when task completed + evidence collected
266
+ * Per spec 06_CORRECTNESS_PROPERTIES.md Property 26: Fail-Closed Logging
267
+ * - TaskLog MUST be saved for ALL terminal states (COMPLETE, INCOMPLETE, ERROR)
268
+ */
269
+ private executeTask;
270
+ /**
271
+ * Structured clarification result from Runner
272
+ * Runner returns ONLY facts and structured reason codes.
273
+ * LLM Mediation Layer is responsible for generating questions.
274
+ */
275
+ private ClarificationResult;
276
+ /**
277
+ * Check if a task needs clarification before execution.
278
+ * Per spec Property 8: Runner is sole completion authority.
279
+ * Runner may request clarification BEFORE calling Executor if task is ambiguous.
280
+ *
281
+ * ARCHITECTURAL RULE: Runner returns ONLY structured signals (facts).
282
+ * LLM Mediation Layer generates all natural language questions.
283
+ *
284
+ * Trigger conditions:
285
+ * - "create/add/update" type keywords + file exists → target_file_exists
286
+ * - "create/add/update" type keywords + no identifiable target → target_file_ambiguous
287
+ * - "fix/change/modify" type keywords + no identifiable target → target_action_ambiguous
288
+ *
289
+ * @param task - Task to check
290
+ * @returns Structured clarification signal (no conversational text)
291
+ */
292
+ private needsClarification;
293
+ /**
294
+ * Check if prompt is truly ambiguous (no identifiable target at all).
295
+ * Examples of truly ambiguous: "何か作成して", "create something"
296
+ * Examples of not ambiguous: "configを作って" (mentions a recognizable name)
297
+ */
298
+ private isTrulyAmbiguous;
299
+ /**
300
+ * Extract target file/path from natural language prompt.
301
+ * Returns the file path if identifiable, or null if ambiguous.
302
+ *
303
+ * @param prompt - Natural language prompt
304
+ * @returns Extracted file path or null
305
+ */
306
+ private extractTargetFile;
307
+ /**
308
+ * Parse natural language task for file creation
309
+ */
310
+ private parseFileCreationTask;
311
+ /**
312
+ * Generate file content based on task
313
+ */
314
+ private generateFileContent;
315
+ /**
316
+ * Complete all lifecycle phases
317
+ */
318
+ private completeLifecycle;
319
+ /**
320
+ * Get evidence for a specific phase
321
+ */
322
+ private getPhaseEvidence;
323
+ /**
324
+ * Advance to the next phase
325
+ */
326
+ advancePhase(options: AdvancePhaseOptions): void;
327
+ /**
328
+ * Save session state
329
+ */
330
+ saveState(): Promise<void>;
331
+ /**
332
+ * Complete the session - update status to COMPLETED or FAILED
333
+ * Must be called before saveState() to ensure correct status is persisted
334
+ */
335
+ completeSession(failed?: boolean): Promise<void>;
336
+ /**
337
+ * Resume from a saved session
338
+ */
339
+ resume(sessionId: string): Promise<void>;
340
+ /**
341
+ * Shutdown the runner
342
+ */
343
+ shutdown(): Promise<void>;
344
+ /**
345
+ * Generate output result
346
+ */
347
+ generateOutput(): OutputResult;
348
+ /**
349
+ * Record a file operation
350
+ */
351
+ recordFileOperation(filePath: string): void;
352
+ /**
353
+ * Check and record a file operation
354
+ */
355
+ checkAndRecordFileOperation(filePath: string): CheckResult;
356
+ /**
357
+ * Set elapsed time for testing
358
+ */
359
+ setElapsedTimeForTesting(seconds: number): void;
360
+ /**
361
+ * Check time limit
362
+ */
363
+ checkTimeLimit(): TimeLimitResult;
364
+ /**
365
+ * Acquire an executor
366
+ */
367
+ acquireExecutor(executorId: string): Promise<void>;
368
+ /**
369
+ * Mark status as incomplete
370
+ */
371
+ markIncomplete(reason: string): void;
372
+ /**
373
+ * Mark status as no evidence
374
+ */
375
+ markNoEvidence(reason: string): void;
376
+ /**
377
+ * Mark status as invalid
378
+ */
379
+ markInvalid(reason: string): void;
380
+ /**
381
+ * Trigger a critical error
382
+ */
383
+ triggerCriticalError(error: Error): void;
384
+ /**
385
+ * Get session directory
386
+ */
387
+ getSessionDirectory(): string;
388
+ /**
389
+ * Get current phase
390
+ */
391
+ getCurrentPhase(): Phase;
392
+ /**
393
+ * Get L1 pool statistics
394
+ */
395
+ getL1PoolStats(): PoolStats;
396
+ /**
397
+ * Get L2 pool statistics
398
+ */
399
+ getL2PoolStats(): PoolStats;
400
+ /**
401
+ * Get session ID
402
+ */
403
+ getSessionId(): string;
404
+ /**
405
+ * Get task results
406
+ */
407
+ getTaskResults(): TaskResult[];
408
+ /**
409
+ * Get overall status
410
+ */
411
+ getOverallStatus(): OverallStatus;
412
+ /**
413
+ * Get resource limits
414
+ */
415
+ getResourceLimits(): ResourceLimits;
416
+ /**
417
+ * Get resource statistics
418
+ */
419
+ getResourceStats(): ResourceStats;
420
+ /**
421
+ * Get session state
422
+ */
423
+ getSessionState(): SessionState;
424
+ /**
425
+ * Get error evidence
426
+ */
427
+ getErrorEvidence(): ErrorEvidence[];
428
+ /**
429
+ * Get evidence files
430
+ */
431
+ getEvidenceFiles(): string[];
432
+ /**
433
+ * Get configuration manager
434
+ */
435
+ getConfigManager(): ConfigurationManager;
436
+ /**
437
+ * Get session manager
438
+ */
439
+ getSessionManager(): SessionManager;
440
+ /**
441
+ * Get evidence manager
442
+ */
443
+ getEvidenceManager(): EvidenceManager;
444
+ /**
445
+ * Get lock manager
446
+ */
447
+ getLockManager(): LockManager;
448
+ /**
449
+ * Get resource limit manager
450
+ */
451
+ getResourceLimitManager(): ResourceLimitManager;
452
+ /**
453
+ * Get continuation manager
454
+ */
455
+ getContinuationManager(): ContinuationControlManager;
456
+ /**
457
+ * Get output manager
458
+ */
459
+ getOutputManager(): OutputControlManager;
460
+ /**
461
+ * Get lifecycle controller
462
+ */
463
+ getLifecycleController(): LifecycleController;
464
+ /**
465
+ * Get L1 pool
466
+ */
467
+ getL1Pool(): L1SubagentPool;
468
+ /**
469
+ * Get L2 pool
470
+ */
471
+ getL2Pool(): L2ExecutorPool;
472
+ }
473
+ export {};
474
+ //# sourceMappingURL=runner-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-core.d.ts","sourceRoot":"","sources":["../../src/core/runner-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE,OAAO,EACL,aAAa,EACb,KAAK,EAEL,UAAU,EAMX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAsC,SAAS,EAAkB,MAAM,kCAAkC,CAAC;AAEjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMjF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,aAAa,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uBAAuB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,SAAS;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,KAAK,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,aAAa,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAGhD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAG/B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,aAAa,CAInB;IACF,OAAO,CAAC,cAAc,CAIpB;IACF,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,WAAW,CAAkB;IAGrC,OAAO,CAAC,kBAAkB,CAA0B;IAIpD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAoB;IAItC,OAAO,CAAC,oBAAoB,CAAiC;IAE7D;;OAEG;gBACS,OAAO,EAAE,aAAa;IAsClC;;OAEG;IACG,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2EzD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAwEhE;;OAEG;IACG,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;OAEG;IACG,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACG,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkChE;;;;;;;OAOG;YACW,WAAW;IA4UzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAKL;IAEtB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IAyE1B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwExB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAchD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBhC;;;OAGG;IACG,eAAe,CAAC,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7D;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD9C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB/B;;OAEG;IACH,cAAc,IAAI,YAAY;IAU9B;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO3C;;OAEG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAgB1D;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/C;;OAEG;IACH,cAAc,IAAI,eAAe;IAOjC;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOpC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKjC;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAYxC;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,eAAe,IAAI,KAAK;IAIxB;;OAEG;IACH,cAAc,IAAI,SAAS;IAS3B;;OAEG;IACH,cAAc,IAAI,SAAS;IAS3B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,cAAc,IAAI,UAAU,EAAE;IAI9B;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,eAAe,IAAI,YAAY;IAmC/B;;OAEG;IACH,gBAAgB,IAAI,aAAa,EAAE;IAInC;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAU5B;;OAEG;IACH,gBAAgB,IAAI,oBAAoB;IAIxC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,uBAAuB,IAAI,oBAAoB;IAI/C;;OAEG;IACH,sBAAsB,IAAI,0BAA0B;IAIpD;;OAEG;IACH,gBAAgB,IAAI,oBAAoB;IAIxC;;OAEG;IACH,sBAAsB,IAAI,mBAAmB;IAI7C;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,SAAS,IAAI,cAAc;CAG5B"}