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.
- package/LICENSE +21 -0
- package/README.md +108 -0
- package/dist/cli/cli-interface.d.ts +150 -0
- package/dist/cli/cli-interface.d.ts.map +1 -0
- package/dist/cli/cli-interface.js +606 -0
- package/dist/cli/cli-interface.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +243 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/llm-sentinel.d.ts +15 -0
- package/dist/cli/llm-sentinel.d.ts.map +1 -0
- package/dist/cli/llm-sentinel.js +184 -0
- package/dist/cli/llm-sentinel.js.map +1 -0
- package/dist/config/configuration-manager.d.ts +149 -0
- package/dist/config/configuration-manager.d.ts.map +1 -0
- package/dist/config/configuration-manager.js +241 -0
- package/dist/config/configuration-manager.js.map +1 -0
- package/dist/continuation/continuation-control-manager.d.ts +154 -0
- package/dist/continuation/continuation-control-manager.d.ts.map +1 -0
- package/dist/continuation/continuation-control-manager.js +303 -0
- package/dist/continuation/continuation-control-manager.js.map +1 -0
- package/dist/core/runner-core.d.ts +474 -0
- package/dist/core/runner-core.d.ts.map +1 -0
- package/dist/core/runner-core.js +1311 -0
- package/dist/core/runner-core.js.map +1 -0
- package/dist/errors/error-codes.d.ts +105 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +198 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/runner-error.d.ts +14 -0
- package/dist/errors/runner-error.d.ts.map +1 -0
- package/dist/errors/runner-error.js +33 -0
- package/dist/errors/runner-error.js.map +1 -0
- package/dist/evidence/evidence-manager.d.ts +112 -0
- package/dist/evidence/evidence-manager.d.ts.map +1 -0
- package/dist/evidence/evidence-manager.js +337 -0
- package/dist/evidence/evidence-manager.js.map +1 -0
- package/dist/executor/claude-code-executor.d.ts +136 -0
- package/dist/executor/claude-code-executor.d.ts.map +1 -0
- package/dist/executor/claude-code-executor.js +643 -0
- package/dist/executor/claude-code-executor.js.map +1 -0
- package/dist/executor/deterministic-executor.d.ts +40 -0
- package/dist/executor/deterministic-executor.d.ts.map +1 -0
- package/dist/executor/deterministic-executor.js +269 -0
- package/dist/executor/deterministic-executor.js.map +1 -0
- package/dist/lifecycle/lifecycle-controller.d.ts +270 -0
- package/dist/lifecycle/lifecycle-controller.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle-controller.js +596 -0
- package/dist/lifecycle/lifecycle-controller.js.map +1 -0
- package/dist/limits/resource-limit-manager.d.ts +200 -0
- package/dist/limits/resource-limit-manager.d.ts.map +1 -0
- package/dist/limits/resource-limit-manager.js +376 -0
- package/dist/limits/resource-limit-manager.js.map +1 -0
- package/dist/locks/lock-manager.d.ts +116 -0
- package/dist/locks/lock-manager.d.ts.map +1 -0
- package/dist/locks/lock-manager.js +306 -0
- package/dist/locks/lock-manager.js.map +1 -0
- package/dist/logging/index.d.ts +8 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +22 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/sensitive-data-masker.d.ts +90 -0
- package/dist/logging/sensitive-data-masker.d.ts.map +1 -0
- package/dist/logging/sensitive-data-masker.js +228 -0
- package/dist/logging/sensitive-data-masker.js.map +1 -0
- package/dist/logging/task-log-manager.d.ts +215 -0
- package/dist/logging/task-log-manager.d.ts.map +1 -0
- package/dist/logging/task-log-manager.js +743 -0
- package/dist/logging/task-log-manager.js.map +1 -0
- package/dist/mediation/fail-closed-runner.d.ts +131 -0
- package/dist/mediation/fail-closed-runner.d.ts.map +1 -0
- package/dist/mediation/fail-closed-runner.js +245 -0
- package/dist/mediation/fail-closed-runner.js.map +1 -0
- package/dist/mediation/llm-client-with-evidence.d.ts +123 -0
- package/dist/mediation/llm-client-with-evidence.d.ts.map +1 -0
- package/dist/mediation/llm-client-with-evidence.js +245 -0
- package/dist/mediation/llm-client-with-evidence.js.map +1 -0
- package/dist/mediation/llm-client.d.ts +102 -0
- package/dist/mediation/llm-client.d.ts.map +1 -0
- package/dist/mediation/llm-client.js +206 -0
- package/dist/mediation/llm-client.js.map +1 -0
- package/dist/mediation/llm-evidence-manager.d.ts +108 -0
- package/dist/mediation/llm-evidence-manager.d.ts.map +1 -0
- package/dist/mediation/llm-evidence-manager.js +230 -0
- package/dist/mediation/llm-evidence-manager.js.map +1 -0
- package/dist/mediation/llm-mediation-layer.d.ts +175 -0
- package/dist/mediation/llm-mediation-layer.d.ts.map +1 -0
- package/dist/mediation/llm-mediation-layer.js +315 -0
- package/dist/mediation/llm-mediation-layer.js.map +1 -0
- package/dist/mediation/llm-sentinel.d.ts +107 -0
- package/dist/mediation/llm-sentinel.d.ts.map +1 -0
- package/dist/mediation/llm-sentinel.js +187 -0
- package/dist/mediation/llm-sentinel.js.map +1 -0
- package/dist/mediation/real-llm-mediation-layer.d.ts +104 -0
- package/dist/mediation/real-llm-mediation-layer.d.ts.map +1 -0
- package/dist/mediation/real-llm-mediation-layer.js +322 -0
- package/dist/mediation/real-llm-mediation-layer.js.map +1 -0
- package/dist/mediation/verdict-reporter.d.ts +61 -0
- package/dist/mediation/verdict-reporter.d.ts.map +1 -0
- package/dist/mediation/verdict-reporter.js +178 -0
- package/dist/mediation/verdict-reporter.js.map +1 -0
- package/dist/models/enums.d.ts +133 -0
- package/dist/models/enums.d.ts.map +1 -0
- package/dist/models/enums.js +201 -0
- package/dist/models/enums.js.map +1 -0
- package/dist/models/evidence.d.ts +60 -0
- package/dist/models/evidence.d.ts.map +1 -0
- package/dist/models/evidence.js +135 -0
- package/dist/models/evidence.js.map +1 -0
- package/dist/models/execution-result.d.ts +89 -0
- package/dist/models/execution-result.d.ts.map +1 -0
- package/dist/models/execution-result.js +197 -0
- package/dist/models/execution-result.js.map +1 -0
- package/dist/models/file-lock.d.ts +62 -0
- package/dist/models/file-lock.d.ts.map +1 -0
- package/dist/models/file-lock.js +133 -0
- package/dist/models/file-lock.js.map +1 -0
- package/dist/models/index.d.ts +12 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +91 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/repl/index.d.ts +7 -0
- package/dist/models/repl/index.d.ts.map +1 -0
- package/dist/models/repl/index.js +32 -0
- package/dist/models/repl/index.js.map +1 -0
- package/dist/models/repl/model-registry.d.ts +73 -0
- package/dist/models/repl/model-registry.d.ts.map +1 -0
- package/dist/models/repl/model-registry.js +116 -0
- package/dist/models/repl/model-registry.js.map +1 -0
- package/dist/models/repl/repl-state.d.ts +86 -0
- package/dist/models/repl/repl-state.d.ts.map +1 -0
- package/dist/models/repl/repl-state.js +152 -0
- package/dist/models/repl/repl-state.js.map +1 -0
- package/dist/models/repl/task-log.d.ts +247 -0
- package/dist/models/repl/task-log.d.ts.map +1 -0
- package/dist/models/repl/task-log.js +178 -0
- package/dist/models/repl/task-log.js.map +1 -0
- package/dist/models/session.d.ts +71 -0
- package/dist/models/session.d.ts.map +1 -0
- package/dist/models/session.js +140 -0
- package/dist/models/session.js.map +1 -0
- package/dist/models/supporting.d.ts +97 -0
- package/dist/models/supporting.d.ts.map +1 -0
- package/dist/models/supporting.js +208 -0
- package/dist/models/supporting.js.map +1 -0
- package/dist/models/task.d.ts +77 -0
- package/dist/models/task.d.ts.map +1 -0
- package/dist/models/task.js +170 -0
- package/dist/models/task.js.map +1 -0
- package/dist/output/output-control-manager.d.ts +217 -0
- package/dist/output/output-control-manager.d.ts.map +1 -0
- package/dist/output/output-control-manager.js +378 -0
- package/dist/output/output-control-manager.js.map +1 -0
- package/dist/pool/agent-pool.d.ts +284 -0
- package/dist/pool/agent-pool.d.ts.map +1 -0
- package/dist/pool/agent-pool.js +451 -0
- package/dist/pool/agent-pool.js.map +1 -0
- package/dist/repl/commands/index.d.ts +12 -0
- package/dist/repl/commands/index.d.ts.map +1 -0
- package/dist/repl/commands/index.js +26 -0
- package/dist/repl/commands/index.js.map +1 -0
- package/dist/repl/commands/init.d.ts +31 -0
- package/dist/repl/commands/init.d.ts.map +1 -0
- package/dist/repl/commands/init.js +234 -0
- package/dist/repl/commands/init.js.map +1 -0
- package/dist/repl/commands/keys.d.ts +63 -0
- package/dist/repl/commands/keys.d.ts.map +1 -0
- package/dist/repl/commands/keys.js +114 -0
- package/dist/repl/commands/keys.js.map +1 -0
- package/dist/repl/commands/logs.d.ts +91 -0
- package/dist/repl/commands/logs.d.ts.map +1 -0
- package/dist/repl/commands/logs.js +200 -0
- package/dist/repl/commands/logs.js.map +1 -0
- package/dist/repl/commands/model.d.ts +85 -0
- package/dist/repl/commands/model.d.ts.map +1 -0
- package/dist/repl/commands/model.js +225 -0
- package/dist/repl/commands/model.js.map +1 -0
- package/dist/repl/commands/models.d.ts +50 -0
- package/dist/repl/commands/models.d.ts.map +1 -0
- package/dist/repl/commands/models.js +180 -0
- package/dist/repl/commands/models.js.map +1 -0
- package/dist/repl/commands/provider.d.ts +79 -0
- package/dist/repl/commands/provider.d.ts.map +1 -0
- package/dist/repl/commands/provider.js +291 -0
- package/dist/repl/commands/provider.js.map +1 -0
- package/dist/repl/commands/session.d.ts +50 -0
- package/dist/repl/commands/session.d.ts.map +1 -0
- package/dist/repl/commands/session.js +152 -0
- package/dist/repl/commands/session.js.map +1 -0
- package/dist/repl/commands/status.d.ts +55 -0
- package/dist/repl/commands/status.d.ts.map +1 -0
- package/dist/repl/commands/status.js +182 -0
- package/dist/repl/commands/status.js.map +1 -0
- package/dist/repl/index.d.ts +6 -0
- package/dist/repl/index.d.ts.map +1 -0
- package/dist/repl/index.js +25 -0
- package/dist/repl/index.js.map +1 -0
- package/dist/repl/repl-interface.d.ts +371 -0
- package/dist/repl/repl-interface.d.ts.map +1 -0
- package/dist/repl/repl-interface.js +1214 -0
- package/dist/repl/repl-interface.js.map +1 -0
- package/dist/session/session-manager.d.ts +85 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +217 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/supervisor/executor-supervisor.d.ts +90 -0
- package/dist/supervisor/executor-supervisor.d.ts.map +1 -0
- package/dist/supervisor/executor-supervisor.js +223 -0
- package/dist/supervisor/executor-supervisor.js.map +1 -0
- package/dist/supervisor/index.d.ts +5 -0
- package/dist/supervisor/index.d.ts.map +1 -0
- package/dist/supervisor/index.js +9 -0
- package/dist/supervisor/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration Manager
|
|
4
|
+
* Based on 04_COMPONENTS.md L52-82
|
|
5
|
+
*
|
|
6
|
+
* Responsible for:
|
|
7
|
+
* - Loading and validating project configuration
|
|
8
|
+
* - Enforcing configuration schema
|
|
9
|
+
* - Applying default values
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.ConfigurationManager = exports.ConfigurationError = void 0;
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const error_codes_1 = require("../errors/error-codes");
|
|
49
|
+
/**
|
|
50
|
+
* Configuration error
|
|
51
|
+
*/
|
|
52
|
+
class ConfigurationError extends Error {
|
|
53
|
+
code;
|
|
54
|
+
details;
|
|
55
|
+
constructor(code, message, details) {
|
|
56
|
+
super(message || (0, error_codes_1.getErrorMessage)(code));
|
|
57
|
+
this.name = 'ConfigurationError';
|
|
58
|
+
this.code = code;
|
|
59
|
+
this.details = details;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ConfigurationError = ConfigurationError;
|
|
63
|
+
/**
|
|
64
|
+
* Default configuration values
|
|
65
|
+
*/
|
|
66
|
+
const DEFAULTS = {
|
|
67
|
+
task_limits: {
|
|
68
|
+
files: 5,
|
|
69
|
+
tests: 10,
|
|
70
|
+
seconds: 300,
|
|
71
|
+
},
|
|
72
|
+
parallel_limits: {
|
|
73
|
+
subagents: 9,
|
|
74
|
+
executors: 4,
|
|
75
|
+
},
|
|
76
|
+
timeouts: {
|
|
77
|
+
deadlock_timeout_seconds: 60,
|
|
78
|
+
operation_timeout_seconds: 120,
|
|
79
|
+
},
|
|
80
|
+
evidence_settings: {
|
|
81
|
+
retention_days: 30,
|
|
82
|
+
compression_enabled: true,
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Validation ranges
|
|
87
|
+
*/
|
|
88
|
+
const RANGES = {
|
|
89
|
+
task_limits: {
|
|
90
|
+
files: { min: 1, max: 20 },
|
|
91
|
+
tests: { min: 1, max: 50 },
|
|
92
|
+
seconds: { min: 30, max: 900 },
|
|
93
|
+
},
|
|
94
|
+
parallel_limits: {
|
|
95
|
+
subagents: { min: 1, max: 9 },
|
|
96
|
+
executors: { min: 1, max: 4 },
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Configuration Manager class
|
|
101
|
+
*/
|
|
102
|
+
class ConfigurationManager {
|
|
103
|
+
/**
|
|
104
|
+
* Load configuration from project path
|
|
105
|
+
* @throws ConfigurationError if configuration is invalid
|
|
106
|
+
*/
|
|
107
|
+
loadConfiguration(projectPath) {
|
|
108
|
+
// Validate project path exists
|
|
109
|
+
if (!fs.existsSync(projectPath)) {
|
|
110
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E102_INVALID_PROJECT_PATH, `Project path does not exist: ${projectPath}`, { projectPath });
|
|
111
|
+
}
|
|
112
|
+
// Check for .claude directory
|
|
113
|
+
const claudeDir = path.join(projectPath, '.claude');
|
|
114
|
+
if (!fs.existsSync(claudeDir)) {
|
|
115
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E101_MISSING_CLAUDE_DIRECTORY, `Missing .claude directory in project path: ${projectPath}`, { projectPath, expectedPath: claudeDir });
|
|
116
|
+
}
|
|
117
|
+
// Check required files and directories
|
|
118
|
+
this.validateRequiredStructure(claudeDir);
|
|
119
|
+
// Load and parse settings.json
|
|
120
|
+
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
121
|
+
const rawSettings = this.loadSettingsJson(settingsPath);
|
|
122
|
+
// Validate and apply configuration
|
|
123
|
+
const config = this.buildConfiguration(rawSettings, projectPath, claudeDir);
|
|
124
|
+
return config;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Validate required project structure
|
|
128
|
+
*/
|
|
129
|
+
validateRequiredStructure(claudeDir) {
|
|
130
|
+
const requiredFiles = ['CLAUDE.md', 'settings.json'];
|
|
131
|
+
const requiredDirs = ['agents', 'rules'];
|
|
132
|
+
for (const file of requiredFiles) {
|
|
133
|
+
const filePath = path.join(claudeDir, file);
|
|
134
|
+
if (!fs.existsSync(filePath)) {
|
|
135
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E103_CONFIGURATION_FILE_MISSING, `Missing required file: ${file} in .claude directory`, { missingFile: file, claudeDir });
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
for (const dir of requiredDirs) {
|
|
139
|
+
const dirPath = path.join(claudeDir, dir);
|
|
140
|
+
if (!fs.existsSync(dirPath)) {
|
|
141
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E103_CONFIGURATION_FILE_MISSING, `Missing required directory: ${dir} in .claude directory`, { missingDir: dir, claudeDir });
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Load and parse settings.json
|
|
147
|
+
*/
|
|
148
|
+
loadSettingsJson(settingsPath) {
|
|
149
|
+
try {
|
|
150
|
+
const content = fs.readFileSync(settingsPath, 'utf-8');
|
|
151
|
+
return JSON.parse(content);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
if (error instanceof SyntaxError) {
|
|
155
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E105_CRITICAL_CONFIGURATION_CORRUPTION, `Malformed JSON in settings.json: ${error.message}`, { settingsPath, parseError: error.message });
|
|
156
|
+
}
|
|
157
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E103_CONFIGURATION_FILE_MISSING, `Failed to read settings.json: ${error.message}`, { settingsPath });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Build and validate configuration
|
|
162
|
+
*/
|
|
163
|
+
buildConfiguration(rawSettings, projectPath, claudeDir) {
|
|
164
|
+
// Apply defaults and merge with provided settings
|
|
165
|
+
const taskLimits = {
|
|
166
|
+
files: rawSettings.task_limits?.files ?? DEFAULTS.task_limits.files,
|
|
167
|
+
tests: rawSettings.task_limits?.tests ?? DEFAULTS.task_limits.tests,
|
|
168
|
+
seconds: rawSettings.task_limits?.seconds ?? DEFAULTS.task_limits.seconds,
|
|
169
|
+
};
|
|
170
|
+
const parallelLimits = {
|
|
171
|
+
subagents: rawSettings.parallel_limits?.subagents ?? DEFAULTS.parallel_limits.subagents,
|
|
172
|
+
executors: rawSettings.parallel_limits?.executors ?? DEFAULTS.parallel_limits.executors,
|
|
173
|
+
};
|
|
174
|
+
const timeouts = {
|
|
175
|
+
deadlock_timeout_seconds: rawSettings.timeouts?.deadlock_timeout_seconds ??
|
|
176
|
+
DEFAULTS.timeouts.deadlock_timeout_seconds,
|
|
177
|
+
operation_timeout_seconds: rawSettings.timeouts?.operation_timeout_seconds ??
|
|
178
|
+
DEFAULTS.timeouts.operation_timeout_seconds,
|
|
179
|
+
};
|
|
180
|
+
const evidenceSettings = {
|
|
181
|
+
retention_days: rawSettings.evidence_settings?.retention_days ??
|
|
182
|
+
DEFAULTS.evidence_settings.retention_days,
|
|
183
|
+
compression_enabled: rawSettings.evidence_settings?.compression_enabled ??
|
|
184
|
+
DEFAULTS.evidence_settings.compression_enabled,
|
|
185
|
+
};
|
|
186
|
+
// Validate ranges
|
|
187
|
+
this.validateTaskLimits(taskLimits);
|
|
188
|
+
this.validateParallelLimits(parallelLimits);
|
|
189
|
+
return {
|
|
190
|
+
task_limits: taskLimits,
|
|
191
|
+
parallel_limits: parallelLimits,
|
|
192
|
+
timeouts,
|
|
193
|
+
evidence_settings: evidenceSettings,
|
|
194
|
+
project_path: projectPath,
|
|
195
|
+
claude_dir: claudeDir,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Validate task limits are within range
|
|
200
|
+
*/
|
|
201
|
+
validateTaskLimits(limits) {
|
|
202
|
+
const { files, tests, seconds } = limits;
|
|
203
|
+
const ranges = RANGES.task_limits;
|
|
204
|
+
if (files < ranges.files.min || files > ranges.files.max) {
|
|
205
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E104_CONFIGURATION_SCHEMA_VALIDATION_FAILURE, `task_limits.files must be between ${ranges.files.min} and ${ranges.files.max}, got ${files}`, { field: 'task_limits.files', value: files, range: ranges.files });
|
|
206
|
+
}
|
|
207
|
+
if (tests < ranges.tests.min || tests > ranges.tests.max) {
|
|
208
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E104_CONFIGURATION_SCHEMA_VALIDATION_FAILURE, `task_limits.tests must be between ${ranges.tests.min} and ${ranges.tests.max}, got ${tests}`, { field: 'task_limits.tests', value: tests, range: ranges.tests });
|
|
209
|
+
}
|
|
210
|
+
if (seconds < ranges.seconds.min || seconds > ranges.seconds.max) {
|
|
211
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E104_CONFIGURATION_SCHEMA_VALIDATION_FAILURE, `task_limits.seconds must be between ${ranges.seconds.min} and ${ranges.seconds.max}, got ${seconds}`, { field: 'task_limits.seconds', value: seconds, range: ranges.seconds });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Validate parallel limits are within range
|
|
216
|
+
*/
|
|
217
|
+
validateParallelLimits(limits) {
|
|
218
|
+
const { subagents, executors } = limits;
|
|
219
|
+
const ranges = RANGES.parallel_limits;
|
|
220
|
+
if (subagents < ranges.subagents.min || subagents > ranges.subagents.max) {
|
|
221
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E104_CONFIGURATION_SCHEMA_VALIDATION_FAILURE, `parallel_limits.subagents must be between ${ranges.subagents.min} and ${ranges.subagents.max}, got ${subagents}`, { field: 'parallel_limits.subagents', value: subagents, range: ranges.subagents });
|
|
222
|
+
}
|
|
223
|
+
if (executors < ranges.executors.min || executors > ranges.executors.max) {
|
|
224
|
+
throw new ConfigurationError(error_codes_1.ErrorCode.E104_CONFIGURATION_SCHEMA_VALIDATION_FAILURE, `parallel_limits.executors must be between ${ranges.executors.min} and ${ranges.executors.max}, got ${executors}`, { field: 'parallel_limits.executors', value: executors, range: ranges.executors });
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get default configuration
|
|
229
|
+
*/
|
|
230
|
+
getDefaults() {
|
|
231
|
+
return { ...DEFAULTS };
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get validation ranges
|
|
235
|
+
*/
|
|
236
|
+
getRanges() {
|
|
237
|
+
return { ...RANGES };
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
exports.ConfigurationManager = ConfigurationManager;
|
|
241
|
+
//# sourceMappingURL=configuration-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-manager.js","sourceRoot":"","sources":["../../src/config/configuration-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Continuation Control Manager
|
|
3
|
+
* Based on 04_COMPONENTS.md L156-166
|
|
4
|
+
*
|
|
5
|
+
* Responsible for:
|
|
6
|
+
* - Automatic progression prevention
|
|
7
|
+
* - Explicit approval requirement
|
|
8
|
+
* - Continuation condition validation
|
|
9
|
+
* - Meaningless continuation rejection
|
|
10
|
+
* - next_action determination
|
|
11
|
+
*/
|
|
12
|
+
import { OverallStatus } from '../models/enums';
|
|
13
|
+
import { ErrorCode } from '../errors/error-codes';
|
|
14
|
+
/**
|
|
15
|
+
* Continuation Control Manager Error
|
|
16
|
+
*/
|
|
17
|
+
export declare class ContinuationControlError extends Error {
|
|
18
|
+
readonly code: ErrorCode;
|
|
19
|
+
readonly details?: Record<string, unknown>;
|
|
20
|
+
constructor(code: ErrorCode, message?: string, details?: Record<string, unknown>);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Session state interface for continuation checks
|
|
24
|
+
*/
|
|
25
|
+
interface SessionState {
|
|
26
|
+
session_id: string;
|
|
27
|
+
overall_status: OverallStatus;
|
|
28
|
+
tasks_completed: number;
|
|
29
|
+
tasks_total: number;
|
|
30
|
+
has_explicit_approval?: boolean;
|
|
31
|
+
evidence_valid?: boolean;
|
|
32
|
+
no_critical_errors?: boolean;
|
|
33
|
+
current_phase?: string;
|
|
34
|
+
remaining_work?: string[];
|
|
35
|
+
continuation_in_progress?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Approval record interface
|
|
39
|
+
*/
|
|
40
|
+
interface ApprovalRecord {
|
|
41
|
+
session_id: string;
|
|
42
|
+
approved_by: string;
|
|
43
|
+
timestamp: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Validation result interface
|
|
47
|
+
*/
|
|
48
|
+
interface ValidationResult {
|
|
49
|
+
valid: boolean;
|
|
50
|
+
failed_conditions: string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Continuation request interface
|
|
54
|
+
*/
|
|
55
|
+
interface ContinuationRequest {
|
|
56
|
+
request_id: string;
|
|
57
|
+
session_id: string;
|
|
58
|
+
status: 'pending' | 'approved' | 'rejected' | 'expired';
|
|
59
|
+
requested_at: string;
|
|
60
|
+
approved_at?: string;
|
|
61
|
+
rejection_reason?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Next action determination interface
|
|
65
|
+
*/
|
|
66
|
+
interface NextAction {
|
|
67
|
+
next_action: boolean;
|
|
68
|
+
next_action_reason: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Incomplete task reason interface
|
|
72
|
+
*/
|
|
73
|
+
interface IncompleteTaskReason {
|
|
74
|
+
task_id: string;
|
|
75
|
+
reason: string;
|
|
76
|
+
timestamp: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Continuation Control Manager class
|
|
80
|
+
*/
|
|
81
|
+
export declare class ContinuationControlManager {
|
|
82
|
+
private requests;
|
|
83
|
+
private requestTimes;
|
|
84
|
+
private incompleteReasons;
|
|
85
|
+
private approvals;
|
|
86
|
+
/**
|
|
87
|
+
* Create a new ContinuationControlManager
|
|
88
|
+
*/
|
|
89
|
+
constructor();
|
|
90
|
+
/**
|
|
91
|
+
* Check if continuation is allowed based on session state
|
|
92
|
+
*/
|
|
93
|
+
canContinue(sessionState: SessionState): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Check if phase progression is allowed
|
|
96
|
+
*/
|
|
97
|
+
canProgressPhase(sessionState: SessionState): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Check if approval is required
|
|
100
|
+
*/
|
|
101
|
+
requiresApproval(sessionState: SessionState): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Record an approval
|
|
104
|
+
* @throws ContinuationControlError with E201 if session ID is missing
|
|
105
|
+
*/
|
|
106
|
+
recordApproval(sessionId: string, approvedBy: string): ApprovalRecord;
|
|
107
|
+
/**
|
|
108
|
+
* Validate all continuation conditions
|
|
109
|
+
*/
|
|
110
|
+
validateContinuationConditions(sessionState: SessionState): ValidationResult;
|
|
111
|
+
/**
|
|
112
|
+
* Request continuation
|
|
113
|
+
* @throws ContinuationControlError with E207 if continuation is meaningless
|
|
114
|
+
*/
|
|
115
|
+
requestContinuation(sessionState: SessionState): void;
|
|
116
|
+
/**
|
|
117
|
+
* Create a continuation request
|
|
118
|
+
*/
|
|
119
|
+
createContinuationRequest(sessionState: SessionState): ContinuationRequest;
|
|
120
|
+
/**
|
|
121
|
+
* Approve a continuation request
|
|
122
|
+
*/
|
|
123
|
+
approveContinuationRequest(requestId: string): ContinuationRequest;
|
|
124
|
+
/**
|
|
125
|
+
* Reject a continuation request
|
|
126
|
+
*/
|
|
127
|
+
rejectContinuationRequest(requestId: string, reason: string): ContinuationRequest;
|
|
128
|
+
/**
|
|
129
|
+
* Set request time for testing purposes
|
|
130
|
+
*/
|
|
131
|
+
setRequestTimeForTesting(requestId: string, timestamp: number): void;
|
|
132
|
+
/**
|
|
133
|
+
* Expire old pending requests
|
|
134
|
+
*/
|
|
135
|
+
expireOldRequests(timeoutMs: number): void;
|
|
136
|
+
/**
|
|
137
|
+
* Get a continuation request by ID
|
|
138
|
+
*/
|
|
139
|
+
getContinuationRequest(requestId: string): ContinuationRequest;
|
|
140
|
+
/**
|
|
141
|
+
* Determine next action based on session state
|
|
142
|
+
*/
|
|
143
|
+
determineNextAction(sessionState: SessionState): NextAction;
|
|
144
|
+
/**
|
|
145
|
+
* Record a reason for incomplete task
|
|
146
|
+
*/
|
|
147
|
+
recordIncompleteReason(taskId: string, reason: string): void;
|
|
148
|
+
/**
|
|
149
|
+
* Get all incomplete task reasons
|
|
150
|
+
*/
|
|
151
|
+
getIncompleteTaskReasons(): IncompleteTaskReason[];
|
|
152
|
+
}
|
|
153
|
+
export {};
|
|
154
|
+
//# sourceMappingURL=continuation-control-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation-control-manager.d.ts","sourceRoot":"","sources":["../../src/continuation/continuation-control-manager.ts"],"names":[],"mappings":"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"}
|