@sudocode-ai/local-server 0.1.0 → 0.1.1

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 (115) hide show
  1. package/dist/cli.js +6 -104
  2. package/dist/cli.js.map +1 -7
  3. package/dist/execution/engine/engine.js +10 -0
  4. package/dist/execution/engine/engine.js.map +1 -0
  5. package/dist/execution/engine/simple-engine.js +611 -0
  6. package/dist/execution/engine/simple-engine.js.map +1 -0
  7. package/dist/execution/engine/types.js +10 -0
  8. package/dist/execution/engine/types.js.map +1 -0
  9. package/dist/execution/output/ag-ui-adapter.js +438 -0
  10. package/dist/execution/output/ag-ui-adapter.js.map +1 -0
  11. package/dist/execution/output/ag-ui-integration.js +96 -0
  12. package/dist/execution/output/ag-ui-integration.js.map +1 -0
  13. package/dist/execution/output/claude-code-output-processor.js +769 -0
  14. package/dist/execution/output/claude-code-output-processor.js.map +1 -0
  15. package/dist/execution/output/index.js +15 -0
  16. package/dist/execution/output/index.js.map +1 -0
  17. package/dist/execution/output/types.js +22 -0
  18. package/dist/execution/output/types.js.map +1 -0
  19. package/dist/execution/process/builders/claude.js +59 -0
  20. package/dist/execution/process/builders/claude.js.map +1 -0
  21. package/dist/execution/process/index.js +15 -0
  22. package/dist/execution/process/index.js.map +1 -0
  23. package/dist/execution/process/manager.js +10 -0
  24. package/dist/execution/process/manager.js.map +1 -0
  25. package/dist/execution/process/simple-manager.js +336 -0
  26. package/dist/execution/process/simple-manager.js.map +1 -0
  27. package/dist/execution/process/types.js +10 -0
  28. package/dist/execution/process/types.js.map +1 -0
  29. package/dist/execution/process/utils.js +97 -0
  30. package/dist/execution/process/utils.js.map +1 -0
  31. package/dist/execution/resilience/circuit-breaker.js +291 -0
  32. package/dist/execution/resilience/circuit-breaker.js.map +1 -0
  33. package/dist/execution/resilience/executor.js +10 -0
  34. package/dist/execution/resilience/executor.js.map +1 -0
  35. package/dist/execution/resilience/index.js +15 -0
  36. package/dist/execution/resilience/index.js.map +1 -0
  37. package/dist/execution/resilience/resilient-executor.js +261 -0
  38. package/dist/execution/resilience/resilient-executor.js.map +1 -0
  39. package/dist/execution/resilience/retry.js +234 -0
  40. package/dist/execution/resilience/retry.js.map +1 -0
  41. package/dist/execution/resilience/types.js +30 -0
  42. package/dist/execution/resilience/types.js.map +1 -0
  43. package/dist/execution/transport/event-buffer.js +208 -0
  44. package/dist/execution/transport/event-buffer.js.map +1 -0
  45. package/dist/execution/transport/index.js +10 -0
  46. package/dist/execution/transport/index.js.map +1 -0
  47. package/dist/execution/transport/sse-transport.js +282 -0
  48. package/dist/execution/transport/sse-transport.js.map +1 -0
  49. package/dist/execution/transport/transport-manager.js +231 -0
  50. package/dist/execution/transport/transport-manager.js.map +1 -0
  51. package/dist/execution/workflow/index.js +13 -0
  52. package/dist/execution/workflow/index.js.map +1 -0
  53. package/dist/execution/workflow/linear-orchestrator.js +683 -0
  54. package/dist/execution/workflow/linear-orchestrator.js.map +1 -0
  55. package/dist/execution/workflow/memory-storage.js +68 -0
  56. package/dist/execution/workflow/memory-storage.js.map +1 -0
  57. package/dist/execution/workflow/orchestrator.js +9 -0
  58. package/dist/execution/workflow/orchestrator.js.map +1 -0
  59. package/dist/execution/workflow/types.js +9 -0
  60. package/dist/execution/workflow/types.js.map +1 -0
  61. package/dist/execution/workflow/utils.js +152 -0
  62. package/dist/execution/workflow/utils.js.map +1 -0
  63. package/dist/execution/worktree/config.js +280 -0
  64. package/dist/execution/worktree/config.js.map +1 -0
  65. package/dist/execution/worktree/git-cli.js +189 -0
  66. package/dist/execution/worktree/git-cli.js.map +1 -0
  67. package/dist/execution/worktree/index.js +15 -0
  68. package/dist/execution/worktree/index.js.map +1 -0
  69. package/dist/execution/worktree/manager.js +452 -0
  70. package/dist/execution/worktree/manager.js.map +1 -0
  71. package/dist/execution/worktree/types.js +42 -0
  72. package/dist/execution/worktree/types.js.map +1 -0
  73. package/dist/index.js +356 -104
  74. package/dist/index.js.map +1 -7
  75. package/dist/routes/executions-stream.js +55 -0
  76. package/dist/routes/executions-stream.js.map +1 -0
  77. package/dist/routes/executions.js +267 -0
  78. package/dist/routes/executions.js.map +1 -0
  79. package/dist/routes/feedback.js +329 -0
  80. package/dist/routes/feedback.js.map +1 -0
  81. package/dist/routes/issues.js +280 -0
  82. package/dist/routes/issues.js.map +1 -0
  83. package/dist/routes/relationships.js +308 -0
  84. package/dist/routes/relationships.js.map +1 -0
  85. package/dist/routes/specs.js +270 -0
  86. package/dist/routes/specs.js.map +1 -0
  87. package/dist/services/db.js +85 -0
  88. package/dist/services/db.js.map +1 -0
  89. package/dist/services/execution-lifecycle.js +286 -0
  90. package/dist/services/execution-lifecycle.js.map +1 -0
  91. package/dist/services/execution-service.js +676 -0
  92. package/dist/services/execution-service.js.map +1 -0
  93. package/dist/services/executions.js +164 -0
  94. package/dist/services/executions.js.map +1 -0
  95. package/dist/services/export.js +106 -0
  96. package/dist/services/export.js.map +1 -0
  97. package/dist/services/feedback.js +54 -0
  98. package/dist/services/feedback.js.map +1 -0
  99. package/dist/services/issues.js +35 -0
  100. package/dist/services/issues.js.map +1 -0
  101. package/dist/services/prompt-template-engine.js +212 -0
  102. package/dist/services/prompt-template-engine.js.map +1 -0
  103. package/dist/services/prompt-templates.js +236 -0
  104. package/dist/services/prompt-templates.js.map +1 -0
  105. package/dist/services/relationships.js +42 -0
  106. package/dist/services/relationships.js.map +1 -0
  107. package/dist/services/specs.js +35 -0
  108. package/dist/services/specs.js.map +1 -0
  109. package/dist/services/watcher.js +69 -0
  110. package/dist/services/watcher.js.map +1 -0
  111. package/dist/services/websocket.js +389 -0
  112. package/dist/services/websocket.js.map +1 -0
  113. package/dist/utils/sudocode-dir.js +9 -0
  114. package/dist/utils/sudocode-dir.js.map +1 -0
  115. package/package.json +4 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-output-processor.js","sourceRoot":"","sources":["../../../src/execution/output/claude-code-output-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Output Processing Layer
3
+ *
4
+ * Exports all types and utilities for the Output Processing Layer (Layer 5).
5
+ *
6
+ * Currently focused on Claude Code support with extension points for future
7
+ * multi-agent capabilities (Aider, Gemini, Codex, etc.)
8
+ *
9
+ * @module execution/output
10
+ */
11
+ export { DEFAULT_USAGE_METRICS } from "./types.js";
12
+ export { ClaudeCodeOutputProcessor } from "./claude-code-output-processor.js";
13
+ export { AgUiEventAdapter } from "./ag-ui-adapter.js";
14
+ export { createAgUiSystem, wireManually, createAgUiSystemWithProcessor, } from "./ag-ui-integration.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution/output/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Output Processing Layer Types
3
+ *
4
+ * Core types for the Output Processing Layer (Layer 5) that handles
5
+ * real-time parsing and processing of coding agent output.
6
+ *
7
+ * Currently optimized for Claude Code's stream-json format, but designed
8
+ * with extension points for future multi-agent support (Aider, Gemini, Codex, etc.)
9
+ *
10
+ * @module execution/output/types
11
+ */
12
+ /**
13
+ * Default usage metrics (empty state)
14
+ */
15
+ export const DEFAULT_USAGE_METRICS = {
16
+ inputTokens: 0,
17
+ outputTokens: 0,
18
+ cacheTokens: 0,
19
+ totalTokens: 0,
20
+ cost: 0,
21
+ };
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/execution/output/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkeH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Claude Code Configuration Builder
3
+ *
4
+ * Utility for building ProcessConfig specific to Claude Code CLI.
5
+ * Provides type-safe configuration for Claude Code's flags and options.
6
+ *
7
+ * @module execution/process/builders/claude
8
+ */
9
+ /**
10
+ * Build a generic ProcessConfig from Claude Code specific configuration
11
+ *
12
+ * @param config - Claude Code specific configuration
13
+ * @returns Generic ProcessConfig that can be used with any ProcessManager
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const config = buildClaudeConfig({
18
+ * workDir: '/path/to/project',
19
+ * print: true,
20
+ * outputFormat: 'stream-json',
21
+ * dangerouslySkipPermissions: true,
22
+ * });
23
+ *
24
+ * const process = await manager.acquireProcess(config);
25
+ * ```
26
+ */
27
+ export function buildClaudeConfig(config) {
28
+ const args = [];
29
+ // Add --print flag for non-interactive mode
30
+ if (config.print) {
31
+ args.push('--print');
32
+ }
33
+ // Add --output-format flag
34
+ if (config.outputFormat) {
35
+ args.push('--output-format', config.outputFormat);
36
+ }
37
+ // Add --verbose flag (required for stream-json with print mode)
38
+ if (config.verbose || (config.print && config.outputFormat === 'stream-json')) {
39
+ args.push('--verbose');
40
+ }
41
+ // Add --dangerously-skip-permissions flag
42
+ if (config.dangerouslySkipPermissions) {
43
+ args.push('--dangerously-skip-permissions');
44
+ }
45
+ // Add --permission-mode flag if specified
46
+ if (config.permissionMode) {
47
+ args.push('--permission-mode', config.permissionMode);
48
+ }
49
+ return {
50
+ executablePath: config.claudePath || 'claude',
51
+ args,
52
+ workDir: config.workDir,
53
+ env: config.env,
54
+ timeout: config.timeout,
55
+ idleTimeout: config.idleTimeout,
56
+ retry: config.retry,
57
+ };
58
+ }
59
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/execution/process/builders/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAwB;IACxD,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,4CAA4C;IAC5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,gEAAgE;IAChE,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,KAAK,aAAa,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ;QAC7C,IAAI;QACJ,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Process Layer - Public API
3
+ *
4
+ * Barrel export for the Process Layer (Layer 1) of the execution system.
5
+ * Exports all public types, interfaces, and implementations.
6
+ *
7
+ * @module execution/process
8
+ */
9
+ // Implementations
10
+ export { SimpleProcessManager } from './simple-manager.js';
11
+ // Utilities
12
+ export { generateId, formatDuration, isValidSignal, formatProcessError, } from './utils.js';
13
+ // Configuration Builders
14
+ export { buildClaudeConfig } from './builders/claude.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution/process/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,kBAAkB;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,YAAY;AACZ,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,yBAAyB;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Process Manager Interface
3
+ *
4
+ * Defines the contract for all process managers in the Process Layer.
5
+ * Process managers handle spawning, monitoring, and terminating Claude Code processes.
6
+ *
7
+ * @module execution/process/manager
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/execution/process/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,336 @@
1
+ /**
2
+ * Simple Process Manager Implementation
3
+ *
4
+ * A straightforward implementation of IProcessManager that spawns a fresh
5
+ * process for each task. This is the "simple first" approach that will later
6
+ * be upgraded to support process pooling.
7
+ *
8
+ * Supports any CLI tool/agent (Claude Code, Codex, Gemini CLI, etc.)
9
+ *
10
+ * Key features:
11
+ * - One process per task (no pooling)
12
+ * - Event-based I/O streaming
13
+ * - Graceful termination (SIGTERM → SIGKILL)
14
+ * - Automatic cleanup
15
+ * - Metrics tracking
16
+ * - Agent-agnostic design
17
+ *
18
+ * @module execution/process/simple-manager
19
+ */
20
+ import { spawn } from "child_process";
21
+ import { generateId } from "./utils.js";
22
+ /**
23
+ * Simple process manager that spawns one process per task
24
+ *
25
+ * This implementation follows the "simple first" principle - it provides
26
+ * a production-ready process manager without the complexity of pooling.
27
+ *
28
+ * Works with any CLI tool/agent by accepting executable path and args.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Claude Code example
33
+ * const manager = new SimpleProcessManager({
34
+ * executablePath: 'claude',
35
+ * args: ['--print', '--output-format', 'stream-json'],
36
+ * });
37
+ *
38
+ * const process = await manager.acquireProcess({
39
+ * executablePath: 'claude',
40
+ * args: ['--print', '--output-format', 'stream-json'],
41
+ * workDir: '/path/to/project',
42
+ * timeout: 300000,
43
+ * });
44
+ *
45
+ * // Codex example
46
+ * const codexProcess = await manager.acquireProcess({
47
+ * executablePath: 'codex',
48
+ * args: ['--mode', 'agent', '--json'],
49
+ * workDir: '/path/to/project',
50
+ * });
51
+ * ```
52
+ */
53
+ export class SimpleProcessManager {
54
+ _defaultConfig;
55
+ _activeProcesses = new Map();
56
+ _cleanupTimers = new Map();
57
+ _metrics = {
58
+ totalSpawned: 0,
59
+ currentlyActive: 0,
60
+ totalCompleted: 0,
61
+ totalFailed: 0,
62
+ averageDuration: 0,
63
+ };
64
+ /**
65
+ * Create a new SimpleProcessManager
66
+ *
67
+ * @param defaultConfig - Default configuration to merge with per-process config
68
+ */
69
+ constructor(_defaultConfig = {}) {
70
+ this._defaultConfig = _defaultConfig;
71
+ }
72
+ async acquireProcess(config) {
73
+ // Merge with default config
74
+ const mergedConfig = { ...this._defaultConfig, ...config };
75
+ // Spawn the process
76
+ const childProcess = this.spawnProcess(mergedConfig);
77
+ // Validate process spawned successfully
78
+ if (!childProcess.pid) {
79
+ // Suppress error event to prevent uncaughtException
80
+ childProcess.once("error", () => {
81
+ // Error is expected when process fails to spawn
82
+ });
83
+ throw new Error("Failed to spawn process: no PID assigned");
84
+ }
85
+ // Generate unique ID for this process
86
+ const id = generateId("process");
87
+ // Create managed process object
88
+ const managedProcess = {
89
+ id,
90
+ pid: childProcess.pid,
91
+ status: "busy",
92
+ spawnedAt: new Date(),
93
+ lastActivity: new Date(),
94
+ exitCode: null,
95
+ signal: null,
96
+ process: childProcess,
97
+ streams: {
98
+ stdout: childProcess.stdout,
99
+ stderr: childProcess.stderr,
100
+ stdin: childProcess.stdin,
101
+ },
102
+ metrics: {
103
+ totalDuration: 0,
104
+ tasksCompleted: 0,
105
+ successRate: 1.0,
106
+ },
107
+ };
108
+ // Track the process
109
+ this._activeProcesses.set(id, managedProcess);
110
+ // Update metrics
111
+ this._metrics.totalSpawned++;
112
+ this._metrics.currentlyActive++;
113
+ // Set up event handlers for lifecycle management
114
+ this.setupProcessHandlers(managedProcess, mergedConfig);
115
+ return managedProcess;
116
+ }
117
+ /**
118
+ * Spawn a process with the given configuration
119
+ *
120
+ * @param config - Process configuration
121
+ * @returns ChildProcess instance
122
+ */
123
+ spawnProcess(config) {
124
+ const childProcess = spawn(config.executablePath, config.args, {
125
+ cwd: config.workDir,
126
+ stdio: ["pipe", "pipe", "pipe"],
127
+ env: {
128
+ ...process.env,
129
+ ...config.env,
130
+ },
131
+ });
132
+ return childProcess;
133
+ }
134
+ /**
135
+ * Set up event handlers for a managed process
136
+ *
137
+ * Handles lifecycle events:
138
+ * - exit: Process terminated normally or abnormally
139
+ * - error: Process encountered an error
140
+ * - stdout/stderr data: Track activity for idle detection
141
+ *
142
+ * @param managedProcess - The managed process to set up handlers for
143
+ * @param config - Process configuration (for timeout)
144
+ */
145
+ setupProcessHandlers(managedProcess, config) {
146
+ const { process: childProcess, id } = managedProcess;
147
+ let timeoutHandle = null;
148
+ // Set up timeout if configured
149
+ if (config.timeout) {
150
+ timeoutHandle = setTimeout(() => {
151
+ // Terminate process on timeout using graceful termination
152
+ if (managedProcess.status === "busy") {
153
+ this.terminateProcess(id).catch(() => {
154
+ // Ignore errors during timeout termination
155
+ });
156
+ }
157
+ }, config.timeout);
158
+ }
159
+ // Exit event handler
160
+ childProcess.once("exit", (code, signal) => {
161
+ // Clear timeout
162
+ if (timeoutHandle) {
163
+ clearTimeout(timeoutHandle);
164
+ }
165
+ // Update process state
166
+ managedProcess.exitCode = code;
167
+ managedProcess.signal = signal;
168
+ managedProcess.status = code === 0 ? "completed" : "crashed";
169
+ // Calculate duration
170
+ const duration = Date.now() - managedProcess.spawnedAt.getTime();
171
+ managedProcess.metrics.totalDuration = duration;
172
+ // Update global metrics
173
+ this._metrics.currentlyActive--;
174
+ if (code === 0) {
175
+ this._metrics.totalCompleted++;
176
+ }
177
+ else {
178
+ this._metrics.totalFailed++;
179
+ }
180
+ // Calculate average duration
181
+ const totalProcesses = this._metrics.totalCompleted + this._metrics.totalFailed;
182
+ if (totalProcesses > 0) {
183
+ const currentTotal = this._metrics.averageDuration * (totalProcesses - 1);
184
+ this._metrics.averageDuration =
185
+ (currentTotal + duration) / totalProcesses;
186
+ }
187
+ // Clean up stdio streams to prevent event loop hang
188
+ managedProcess.streams.stdin.destroy();
189
+ managedProcess.streams.stdout.destroy();
190
+ managedProcess.streams.stderr.destroy();
191
+ // Schedule cleanup (delete from activeProcesses after 5s delay)
192
+ const cleanupTimer = setTimeout(() => {
193
+ this._activeProcesses.delete(id);
194
+ this._cleanupTimers.delete(id);
195
+ }, 5000);
196
+ this._cleanupTimers.set(id, cleanupTimer);
197
+ });
198
+ // Error event handler
199
+ childProcess.once("error", (error) => {
200
+ void error; // Error is logged but not used here
201
+ // Clear timeout
202
+ if (timeoutHandle) {
203
+ clearTimeout(timeoutHandle);
204
+ }
205
+ // Update process state
206
+ managedProcess.status = "crashed";
207
+ // Update global metrics
208
+ this._metrics.currentlyActive--;
209
+ this._metrics.totalFailed++;
210
+ });
211
+ // stdout data handler - track activity
212
+ childProcess.stdout?.on("data", () => {
213
+ managedProcess.lastActivity = new Date();
214
+ });
215
+ // stderr data handler - track activity
216
+ childProcess.stderr?.on("data", () => {
217
+ managedProcess.lastActivity = new Date();
218
+ });
219
+ }
220
+ async releaseProcess(processId) {
221
+ await this.terminateProcess(processId);
222
+ }
223
+ async terminateProcess(processId, signal = "SIGTERM") {
224
+ const managed = this._activeProcesses.get(processId);
225
+ if (!managed) {
226
+ return; // Process not found, nothing to terminate
227
+ }
228
+ // If already terminated, do nothing (idempotent)
229
+ if (managed.exitCode !== null) {
230
+ return;
231
+ }
232
+ // Update status to terminating
233
+ managed.status = "terminating";
234
+ // Try graceful shutdown first
235
+ managed.process.kill(signal);
236
+ // Wait for process to exit (with 2 second timeout)
237
+ const exitPromise = new Promise((resolve) => {
238
+ if (managed.exitCode !== null) {
239
+ resolve();
240
+ }
241
+ else {
242
+ managed.process.once("exit", () => resolve());
243
+ }
244
+ });
245
+ const timeoutPromise = new Promise((resolve) => {
246
+ setTimeout(resolve, 2000);
247
+ });
248
+ await Promise.race([exitPromise, timeoutPromise]);
249
+ // Force kill if still running
250
+ if (managed.exitCode === null) {
251
+ managed.process.kill("SIGKILL");
252
+ // Wait for SIGKILL to take effect (with timeout)
253
+ await Promise.race([
254
+ new Promise((resolve) => {
255
+ if (managed.exitCode !== null) {
256
+ resolve();
257
+ }
258
+ else {
259
+ managed.process.once("exit", () => resolve());
260
+ }
261
+ }),
262
+ new Promise((resolve) => setTimeout(resolve, 1000)),
263
+ ]);
264
+ }
265
+ }
266
+ async sendInput(processId, input) {
267
+ const managed = this._activeProcesses.get(processId);
268
+ if (!managed) {
269
+ throw new Error(`Process ${processId} not found`);
270
+ }
271
+ return new Promise((resolve, reject) => {
272
+ managed.streams.stdin.write(input, (error) => {
273
+ if (error)
274
+ reject(error);
275
+ else
276
+ resolve();
277
+ });
278
+ });
279
+ }
280
+ /**
281
+ * Close stdin stream for a process
282
+ *
283
+ * Signals EOF to the process, useful for programs that wait for stdin to close.
284
+ *
285
+ * @param processId - ID of the process
286
+ */
287
+ closeInput(processId) {
288
+ const managed = this._activeProcesses.get(processId);
289
+ if (!managed) {
290
+ throw new Error(`Process ${processId} not found`);
291
+ }
292
+ managed.streams.stdin.end();
293
+ }
294
+ onOutput(processId, handler) {
295
+ const managed = this._activeProcesses.get(processId);
296
+ if (!managed) {
297
+ throw new Error(`Process ${processId} not found`);
298
+ }
299
+ managed.streams.stdout.on("data", (data) => {
300
+ handler(data, "stdout");
301
+ });
302
+ managed.streams.stderr.on("data", (data) => {
303
+ handler(data, "stderr");
304
+ });
305
+ }
306
+ onError(processId, handler) {
307
+ const managed = this._activeProcesses.get(processId);
308
+ if (!managed) {
309
+ throw new Error(`Process ${processId} not found`);
310
+ }
311
+ managed.process.on("error", (error) => {
312
+ handler(error);
313
+ });
314
+ }
315
+ getProcess(processId) {
316
+ return this._activeProcesses.get(processId) || null;
317
+ }
318
+ getActiveProcesses() {
319
+ return Array.from(this._activeProcesses.values());
320
+ }
321
+ getMetrics() {
322
+ // Return a copy to prevent external mutation
323
+ return { ...this._metrics };
324
+ }
325
+ async shutdown() {
326
+ // Terminate all active processes first
327
+ const processIds = Array.from(this._activeProcesses.keys());
328
+ await Promise.all(processIds.map((id) => this.terminateProcess(id, "SIGTERM")));
329
+ // Clear all pending cleanup timers (including ones scheduled by exit handlers)
330
+ for (const [id, timer] of this._cleanupTimers.entries()) {
331
+ clearTimeout(timer);
332
+ this._cleanupTimers.delete(id);
333
+ }
334
+ }
335
+ }
336
+ //# sourceMappingURL=simple-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-manager.js","sourceRoot":"","sources":["../../../src/execution/process/simple-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Process Layer Types
3
+ *
4
+ * Core types and interfaces for the Process Layer (Layer 1) of the execution system.
5
+ * Defines generic types for managing any CLI tool/agent process lifecycle.
6
+ *
7
+ * @module execution/process/types
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/execution/process/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Process Layer Utilities
3
+ *
4
+ * Helper functions for the Process Layer including ID generation,
5
+ * formatting, and validation utilities.
6
+ *
7
+ * @module execution/process/utils
8
+ */
9
+ import { customAlphabet } from 'nanoid';
10
+ /**
11
+ * Generate a unique process ID with a prefix
12
+ *
13
+ * Creates URL-safe, unique identifiers for processes. Uses nanoid for
14
+ * cryptographically strong random IDs.
15
+ *
16
+ * @param prefix - Prefix for the ID (e.g., 'process', 'task')
17
+ * @returns Unique ID string in format: `{prefix}-{randomId}`
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const id = generateId('process');
22
+ * // Returns: 'process-a1b2c3d4'
23
+ * ```
24
+ */
25
+ export function generateId(prefix) {
26
+ // Use nanoid with custom alphabet (alphanumeric, lowercase)
27
+ // 10 characters gives us ~1.5 million years to collision at 1000 IDs/hour
28
+ const nanoid = customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', 10);
29
+ return `${prefix}-${nanoid()}`;
30
+ }
31
+ /**
32
+ * Format duration in milliseconds to human-readable string
33
+ *
34
+ * @param ms - Duration in milliseconds
35
+ * @returns Formatted duration string
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * formatDuration(1500); // "1.5s"
40
+ * formatDuration(65000); // "1m 5s"
41
+ * ```
42
+ */
43
+ export function formatDuration(ms) {
44
+ if (ms < 1000) {
45
+ return `${ms}ms`;
46
+ }
47
+ const seconds = Math.floor(ms / 1000);
48
+ if (seconds < 60) {
49
+ return `${seconds}s`;
50
+ }
51
+ const minutes = Math.floor(seconds / 60);
52
+ const remainingSeconds = seconds % 60;
53
+ if (minutes < 60) {
54
+ return remainingSeconds > 0
55
+ ? `${minutes}m ${remainingSeconds}s`
56
+ : `${minutes}m`;
57
+ }
58
+ const hours = Math.floor(minutes / 60);
59
+ const remainingMinutes = minutes % 60;
60
+ return remainingMinutes > 0
61
+ ? `${hours}h ${remainingMinutes}m`
62
+ : `${hours}h`;
63
+ }
64
+ /**
65
+ * Validate that a signal name is valid for Node.js
66
+ *
67
+ * @param signal - Signal name to validate
68
+ * @returns True if signal is valid
69
+ */
70
+ export function isValidSignal(signal) {
71
+ const validSignals = [
72
+ 'SIGTERM',
73
+ 'SIGKILL',
74
+ 'SIGINT',
75
+ 'SIGHUP',
76
+ 'SIGQUIT',
77
+ 'SIGABRT',
78
+ ];
79
+ return validSignals.includes(signal);
80
+ }
81
+ /**
82
+ * Format error message from process exit
83
+ *
84
+ * @param exitCode - Process exit code
85
+ * @param signal - Signal that terminated the process
86
+ * @returns Formatted error message
87
+ */
88
+ export function formatProcessError(exitCode, signal) {
89
+ if (signal) {
90
+ return `Process terminated by signal: ${signal}`;
91
+ }
92
+ if (exitCode !== null && exitCode !== 0) {
93
+ return `Process exited with code: ${exitCode}`;
94
+ }
95
+ return 'Process exited unexpectedly';
96
+ }
97
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/execution/process/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,4DAA4D;IAC5D,0EAA0E;IAC1E,MAAM,MAAM,GAAG,cAAc,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,gBAAgB,GAAG,CAAC;YACzB,CAAC,CAAC,GAAG,OAAO,KAAK,gBAAgB,GAAG;YACpC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,OAAO,gBAAgB,GAAG,CAAC;QACzB,CAAC,CAAC,GAAG,KAAK,KAAK,gBAAgB,GAAG;QAClC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,YAAY,GAAG;QACnB,SAAS;QACT,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,SAAS;KACV,CAAC;IACF,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,MAAqB;IAErB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,iCAAiC,MAAM,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,6BAA6B,QAAQ,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,6BAA6B,CAAC;AACvC,CAAC"}