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,152 @@
1
+ "use strict";
2
+ /**
3
+ * Session Commands Handler
4
+ * Manages /start, /continue, /approve commands
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.SessionCommands = void 0;
41
+ const path = __importStar(require("path"));
42
+ const runner_core_1 = require("../../core/runner-core");
43
+ /**
44
+ * Session commands handler
45
+ */
46
+ class SessionCommands {
47
+ session;
48
+ config;
49
+ constructor(session, config) {
50
+ this.session = session;
51
+ this.config = config;
52
+ }
53
+ /**
54
+ * Start a new session
55
+ */
56
+ async start(projectPath) {
57
+ const absolutePath = path.resolve(projectPath);
58
+ try {
59
+ // Create new runner with Claude Code enabled for natural language task execution
60
+ // This ensures that when REPL executes natural language tasks (e.g., "Create README.md"),
61
+ // the actual Claude CLI is spawned to perform file operations.
62
+ const runner = new runner_core_1.RunnerCore({
63
+ evidenceDir: this.config.evidenceDir || '',
64
+ useClaudeCode: true,
65
+ claudeCodeTimeout: this.config.timeout || 120000,
66
+ });
67
+ // Initialize runner with project path
68
+ const result = await runner.initialize(absolutePath);
69
+ return {
70
+ success: true,
71
+ sessionId: result.session_id || '',
72
+ runner,
73
+ };
74
+ }
75
+ catch (err) {
76
+ return {
77
+ success: false,
78
+ message: `Failed to start session: ${err.message}`,
79
+ };
80
+ }
81
+ }
82
+ /**
83
+ * Continue an existing session
84
+ */
85
+ async continueSession(sessionId) {
86
+ try {
87
+ // Create new runner with Claude Code enabled and resume session
88
+ const runner = new runner_core_1.RunnerCore({
89
+ evidenceDir: this.config.evidenceDir || '',
90
+ useClaudeCode: true,
91
+ claudeCodeTimeout: this.config.timeout || 120000,
92
+ });
93
+ await runner.resume(sessionId);
94
+ return {
95
+ success: true,
96
+ sessionId: sessionId,
97
+ runner,
98
+ };
99
+ }
100
+ catch (err) {
101
+ return {
102
+ success: false,
103
+ message: `Failed to continue session: ${err.message}`,
104
+ };
105
+ }
106
+ }
107
+ /**
108
+ * Approve continuation for INCOMPLETE session
109
+ */
110
+ async approve(sessionId) {
111
+ if (!this.session.runner) {
112
+ return {
113
+ success: false,
114
+ message: 'No active runner to approve',
115
+ };
116
+ }
117
+ try {
118
+ // Mark session as approved for continuation
119
+ // This would integrate with the runner's state management
120
+ const state = this.session.runner.getSessionState();
121
+ if (!state || !state.session_id) {
122
+ return {
123
+ success: false,
124
+ message: 'Session state not found',
125
+ };
126
+ }
127
+ // Update approval status (this would be persisted)
128
+ // For now, we just return success
129
+ return {
130
+ success: true,
131
+ sessionId: sessionId,
132
+ message: 'Session approved for continuation',
133
+ };
134
+ }
135
+ catch (err) {
136
+ return {
137
+ success: false,
138
+ message: `Failed to approve session: ${err.message}`,
139
+ };
140
+ }
141
+ }
142
+ /**
143
+ * List available sessions
144
+ */
145
+ async listSessions() {
146
+ // This would scan the evidence directory for session folders
147
+ // For now, return empty array
148
+ return [];
149
+ }
150
+ }
151
+ exports.SessionCommands = SessionCommands;
152
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/repl/commands/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Status Commands Handler
3
+ * Manages /status and /tasks commands
4
+ */
5
+ import { RunnerCore } from '../../core/runner-core';
6
+ /**
7
+ * REPL session state (shared with repl-interface)
8
+ */
9
+ export interface REPLSession {
10
+ sessionId: string | null;
11
+ projectPath: string;
12
+ runner: RunnerCore | null;
13
+ supervisor: any;
14
+ status: 'idle' | 'running' | 'paused';
15
+ }
16
+ /**
17
+ * Status commands handler
18
+ */
19
+ export declare class StatusCommands {
20
+ private session;
21
+ constructor(session: REPLSession);
22
+ /**
23
+ * Get current session status
24
+ */
25
+ getStatus(): Promise<string>;
26
+ /**
27
+ * Get current tasks
28
+ */
29
+ getTasks(): Promise<string>;
30
+ /**
31
+ * Format no session message
32
+ */
33
+ private formatNoSession;
34
+ /**
35
+ * Format no runner message
36
+ */
37
+ private formatNoRunner;
38
+ /**
39
+ * Format no state message
40
+ */
41
+ private formatNoState;
42
+ /**
43
+ * Format status from state
44
+ */
45
+ private formatStatus;
46
+ /**
47
+ * Format tasks list
48
+ */
49
+ private formatTasks;
50
+ /**
51
+ * Get status icon
52
+ */
53
+ private getStatusIcon;
54
+ }
55
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/repl/commands/status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWpD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAc;gBAEjB,OAAO,EAAE,WAAW;IAIhC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBlC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAsBjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoCnB;;OAEG;IACH,OAAO,CAAC,aAAa;CActB"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /**
3
+ * Status Commands Handler
4
+ * Manages /status and /tasks commands
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.StatusCommands = void 0;
8
+ const enums_1 = require("../../models/enums");
9
+ /**
10
+ * Helper to normalize status for comparison
11
+ * TaskStatus enum values are UPPERCASE, but some code uses lowercase
12
+ */
13
+ function normalizeStatus(status) {
14
+ return (status || '').toUpperCase();
15
+ }
16
+ /**
17
+ * Status commands handler
18
+ */
19
+ class StatusCommands {
20
+ session;
21
+ constructor(session) {
22
+ this.session = session;
23
+ }
24
+ /**
25
+ * Get current session status
26
+ */
27
+ async getStatus() {
28
+ if (!this.session.sessionId) {
29
+ return this.formatNoSession();
30
+ }
31
+ if (!this.session.runner) {
32
+ return this.formatNoRunner();
33
+ }
34
+ try {
35
+ const sessionState = this.session.runner.getSessionState();
36
+ const overallStatus = this.session.runner.getOverallStatus();
37
+ const taskResults = this.session.runner.getTaskResults();
38
+ if (!sessionState || !sessionState.session_id) {
39
+ return this.formatNoState();
40
+ }
41
+ return this.formatStatus(sessionState, overallStatus, taskResults);
42
+ }
43
+ catch (err) {
44
+ return `Error getting status: ${err.message}`;
45
+ }
46
+ }
47
+ /**
48
+ * Get current tasks
49
+ */
50
+ async getTasks() {
51
+ if (!this.session.sessionId) {
52
+ return 'No active session. Use /start to begin.';
53
+ }
54
+ if (!this.session.runner) {
55
+ return 'Runner not initialized. Use /start first.';
56
+ }
57
+ try {
58
+ const taskResults = this.session.runner.getTaskResults();
59
+ if (!taskResults || taskResults.length === 0) {
60
+ return 'No tasks in current session.';
61
+ }
62
+ return this.formatTasks(taskResults);
63
+ }
64
+ catch (err) {
65
+ return `Error getting tasks: ${err.message}`;
66
+ }
67
+ }
68
+ /**
69
+ * Format no session message
70
+ */
71
+ formatNoSession() {
72
+ return `
73
+ Session Status
74
+ ==============
75
+ Status: No active session
76
+
77
+ To start a session:
78
+ /start [project-path]
79
+
80
+ To continue a session:
81
+ /continue [session-id]
82
+ `;
83
+ }
84
+ /**
85
+ * Format no runner message
86
+ */
87
+ formatNoRunner() {
88
+ return `
89
+ Session Status
90
+ ==============
91
+ Session ID: ${this.session.sessionId}
92
+ Status: Runner not initialized
93
+
94
+ Use /start to initialize the runner.
95
+ `;
96
+ }
97
+ /**
98
+ * Format no state message
99
+ */
100
+ formatNoState() {
101
+ return `
102
+ Session Status
103
+ ==============
104
+ Session ID: ${this.session.sessionId}
105
+ Status: State not available
106
+
107
+ The session may have been corrupted. Try /start to begin a new session.
108
+ `;
109
+ }
110
+ /**
111
+ * Format status from state
112
+ */
113
+ formatStatus(sessionState, overallStatus, taskResults) {
114
+ const lines = [
115
+ '',
116
+ 'Session Status',
117
+ '==============',
118
+ `Session ID: ${sessionState.session_id || this.session.sessionId}`,
119
+ `Phase: ${sessionState.current_phase || 'unknown'}`,
120
+ `Status: ${this.session.status}`,
121
+ `Project: ${this.session.projectPath}`,
122
+ ];
123
+ if (taskResults && taskResults.length > 0) {
124
+ // Use case-insensitive comparison since TaskStatus enum uses UPPERCASE
125
+ // but some code paths may use lowercase
126
+ const completed = taskResults.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETED ||
127
+ normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETE).length;
128
+ const total = taskResults.length;
129
+ lines.push(`Tasks: ${completed}/${total} completed`);
130
+ }
131
+ if (overallStatus) {
132
+ lines.push(`Overall: ${overallStatus}`);
133
+ }
134
+ lines.push('');
135
+ return lines.join('\n');
136
+ }
137
+ /**
138
+ * Format tasks list
139
+ */
140
+ formatTasks(tasks) {
141
+ const lines = [
142
+ '',
143
+ 'Current Tasks',
144
+ '=============',
145
+ ];
146
+ for (const task of tasks) {
147
+ const statusIcon = this.getStatusIcon(task.status);
148
+ const taskId = task.task_id || task.id || 'unknown';
149
+ lines.push(`${statusIcon} ${taskId}: ${task.status || 'unknown'}`);
150
+ }
151
+ // Summary - use case-insensitive comparison for consistency
152
+ const completed = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETED ||
153
+ normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETE).length;
154
+ const pending = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.PENDING).length;
155
+ const running = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.IN_PROGRESS).length;
156
+ const failed = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.ERROR ||
157
+ normalizeStatus(t.status) === 'FAILED').length;
158
+ lines.push('');
159
+ lines.push(`Summary: ${completed} completed, ${running} running, ${pending} pending, ${failed} failed`);
160
+ lines.push('');
161
+ return lines.join('\n');
162
+ }
163
+ /**
164
+ * Get status icon
165
+ */
166
+ getStatusIcon(status) {
167
+ switch (status) {
168
+ case 'completed':
169
+ return '[x]';
170
+ case 'in_progress':
171
+ return '[>]';
172
+ case 'pending':
173
+ return '[ ]';
174
+ case 'failed':
175
+ return '[!]';
176
+ default:
177
+ return '[?]';
178
+ }
179
+ }
180
+ }
181
+ exports.StatusCommands = StatusCommands;
182
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/repl/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * REPL Module Index
3
+ */
4
+ export { REPLInterface, REPLConfig, ReplExecutionMode, EXIT_CODES, ProjectMode, VerifiedFile, TaskLog, } from './repl-interface';
5
+ export * from './commands';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repl/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,UAAU,EAEV,WAAW,EACX,YAAY,EACZ,OAAO,GACR,MAAM,kBAAkB,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * REPL Module Index
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.EXIT_CODES = exports.REPLInterface = void 0;
21
+ var repl_interface_1 = require("./repl-interface");
22
+ Object.defineProperty(exports, "REPLInterface", { enumerable: true, get: function () { return repl_interface_1.REPLInterface; } });
23
+ Object.defineProperty(exports, "EXIT_CODES", { enumerable: true, get: function () { return repl_interface_1.EXIT_CODES; } });
24
+ __exportStar(require("./commands"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repl/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,mDAS0B;AARxB,+GAAA,aAAa,OAAA;AAGb,4GAAA,UAAU,OAAA;AAMZ,6CAA2B"}