@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.
- package/dist/cli.js +6 -104
- package/dist/cli.js.map +1 -7
- package/dist/execution/engine/engine.js +10 -0
- package/dist/execution/engine/engine.js.map +1 -0
- package/dist/execution/engine/simple-engine.js +611 -0
- package/dist/execution/engine/simple-engine.js.map +1 -0
- package/dist/execution/engine/types.js +10 -0
- package/dist/execution/engine/types.js.map +1 -0
- package/dist/execution/output/ag-ui-adapter.js +438 -0
- package/dist/execution/output/ag-ui-adapter.js.map +1 -0
- package/dist/execution/output/ag-ui-integration.js +96 -0
- package/dist/execution/output/ag-ui-integration.js.map +1 -0
- package/dist/execution/output/claude-code-output-processor.js +769 -0
- package/dist/execution/output/claude-code-output-processor.js.map +1 -0
- package/dist/execution/output/index.js +15 -0
- package/dist/execution/output/index.js.map +1 -0
- package/dist/execution/output/types.js +22 -0
- package/dist/execution/output/types.js.map +1 -0
- package/dist/execution/process/builders/claude.js +59 -0
- package/dist/execution/process/builders/claude.js.map +1 -0
- package/dist/execution/process/index.js +15 -0
- package/dist/execution/process/index.js.map +1 -0
- package/dist/execution/process/manager.js +10 -0
- package/dist/execution/process/manager.js.map +1 -0
- package/dist/execution/process/simple-manager.js +336 -0
- package/dist/execution/process/simple-manager.js.map +1 -0
- package/dist/execution/process/types.js +10 -0
- package/dist/execution/process/types.js.map +1 -0
- package/dist/execution/process/utils.js +97 -0
- package/dist/execution/process/utils.js.map +1 -0
- package/dist/execution/resilience/circuit-breaker.js +291 -0
- package/dist/execution/resilience/circuit-breaker.js.map +1 -0
- package/dist/execution/resilience/executor.js +10 -0
- package/dist/execution/resilience/executor.js.map +1 -0
- package/dist/execution/resilience/index.js +15 -0
- package/dist/execution/resilience/index.js.map +1 -0
- package/dist/execution/resilience/resilient-executor.js +261 -0
- package/dist/execution/resilience/resilient-executor.js.map +1 -0
- package/dist/execution/resilience/retry.js +234 -0
- package/dist/execution/resilience/retry.js.map +1 -0
- package/dist/execution/resilience/types.js +30 -0
- package/dist/execution/resilience/types.js.map +1 -0
- package/dist/execution/transport/event-buffer.js +208 -0
- package/dist/execution/transport/event-buffer.js.map +1 -0
- package/dist/execution/transport/index.js +10 -0
- package/dist/execution/transport/index.js.map +1 -0
- package/dist/execution/transport/sse-transport.js +282 -0
- package/dist/execution/transport/sse-transport.js.map +1 -0
- package/dist/execution/transport/transport-manager.js +231 -0
- package/dist/execution/transport/transport-manager.js.map +1 -0
- package/dist/execution/workflow/index.js +13 -0
- package/dist/execution/workflow/index.js.map +1 -0
- package/dist/execution/workflow/linear-orchestrator.js +683 -0
- package/dist/execution/workflow/linear-orchestrator.js.map +1 -0
- package/dist/execution/workflow/memory-storage.js +68 -0
- package/dist/execution/workflow/memory-storage.js.map +1 -0
- package/dist/execution/workflow/orchestrator.js +9 -0
- package/dist/execution/workflow/orchestrator.js.map +1 -0
- package/dist/execution/workflow/types.js +9 -0
- package/dist/execution/workflow/types.js.map +1 -0
- package/dist/execution/workflow/utils.js +152 -0
- package/dist/execution/workflow/utils.js.map +1 -0
- package/dist/execution/worktree/config.js +280 -0
- package/dist/execution/worktree/config.js.map +1 -0
- package/dist/execution/worktree/git-cli.js +189 -0
- package/dist/execution/worktree/git-cli.js.map +1 -0
- package/dist/execution/worktree/index.js +15 -0
- package/dist/execution/worktree/index.js.map +1 -0
- package/dist/execution/worktree/manager.js +452 -0
- package/dist/execution/worktree/manager.js.map +1 -0
- package/dist/execution/worktree/types.js +42 -0
- package/dist/execution/worktree/types.js.map +1 -0
- package/dist/index.js +356 -104
- package/dist/index.js.map +1 -7
- package/dist/routes/executions-stream.js +55 -0
- package/dist/routes/executions-stream.js.map +1 -0
- package/dist/routes/executions.js +267 -0
- package/dist/routes/executions.js.map +1 -0
- package/dist/routes/feedback.js +329 -0
- package/dist/routes/feedback.js.map +1 -0
- package/dist/routes/issues.js +280 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/relationships.js +308 -0
- package/dist/routes/relationships.js.map +1 -0
- package/dist/routes/specs.js +270 -0
- package/dist/routes/specs.js.map +1 -0
- package/dist/services/db.js +85 -0
- package/dist/services/db.js.map +1 -0
- package/dist/services/execution-lifecycle.js +286 -0
- package/dist/services/execution-lifecycle.js.map +1 -0
- package/dist/services/execution-service.js +676 -0
- package/dist/services/execution-service.js.map +1 -0
- package/dist/services/executions.js +164 -0
- package/dist/services/executions.js.map +1 -0
- package/dist/services/export.js +106 -0
- package/dist/services/export.js.map +1 -0
- package/dist/services/feedback.js +54 -0
- package/dist/services/feedback.js.map +1 -0
- package/dist/services/issues.js +35 -0
- package/dist/services/issues.js.map +1 -0
- package/dist/services/prompt-template-engine.js +212 -0
- package/dist/services/prompt-template-engine.js.map +1 -0
- package/dist/services/prompt-templates.js +236 -0
- package/dist/services/prompt-templates.js.map +1 -0
- package/dist/services/relationships.js +42 -0
- package/dist/services/relationships.js.map +1 -0
- package/dist/services/specs.js +35 -0
- package/dist/services/specs.js.map +1 -0
- package/dist/services/watcher.js +69 -0
- package/dist/services/watcher.js.map +1 -0
- package/dist/services/websocket.js +389 -0
- package/dist/services/websocket.js.map +1 -0
- package/dist/utils/sudocode-dir.js +9 -0
- package/dist/utils/sudocode-dir.js.map +1 -0
- 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"}
|