@northflare/runner 0.0.30 → 0.0.32
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/bin/northflare-runner +1 -1
- package/dist/chunk-3QTLJ4CG.js +33622 -0
- package/dist/chunk-3QTLJ4CG.js.map +1 -0
- package/dist/chunk-7D4SUZUM.js +38 -0
- package/dist/chunk-7D4SUZUM.js.map +1 -0
- package/dist/dist-W7DZRE4U.js +365 -0
- package/dist/dist-W7DZRE4U.js.map +1 -0
- package/dist/index.d.ts +764 -5
- package/dist/index.js +9872 -202
- package/dist/index.js.map +1 -1
- package/dist/sdk-query-TRMSGGID-EIENWDKW.js +14 -0
- package/dist/sdk-query-TRMSGGID-EIENWDKW.js.map +1 -0
- package/package.json +17 -17
- package/tsup.config.ts +5 -2
- package/dist/components/claude-sdk-manager.d.ts +0 -60
- package/dist/components/claude-sdk-manager.d.ts.map +0 -1
- package/dist/components/claude-sdk-manager.js +0 -1378
- package/dist/components/claude-sdk-manager.js.map +0 -1
- package/dist/components/codex-sdk-manager.d.ts +0 -94
- package/dist/components/codex-sdk-manager.d.ts.map +0 -1
- package/dist/components/codex-sdk-manager.js +0 -1450
- package/dist/components/codex-sdk-manager.js.map +0 -1
- package/dist/components/enhanced-repository-manager.d.ts +0 -173
- package/dist/components/enhanced-repository-manager.d.ts.map +0 -1
- package/dist/components/enhanced-repository-manager.js +0 -1097
- package/dist/components/enhanced-repository-manager.js.map +0 -1
- package/dist/components/message-handler-sse.d.ts +0 -77
- package/dist/components/message-handler-sse.d.ts.map +0 -1
- package/dist/components/message-handler-sse.js +0 -1224
- package/dist/components/message-handler-sse.js.map +0 -1
- package/dist/components/northflare-agent-sdk-manager.d.ts +0 -58
- package/dist/components/northflare-agent-sdk-manager.d.ts.map +0 -1
- package/dist/components/northflare-agent-sdk-manager.js +0 -2032
- package/dist/components/northflare-agent-sdk-manager.js.map +0 -1
- package/dist/components/repository-manager.d.ts +0 -51
- package/dist/components/repository-manager.d.ts.map +0 -1
- package/dist/components/repository-manager.js +0 -256
- package/dist/components/repository-manager.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/runner-sse.d.ts +0 -102
- package/dist/runner-sse.d.ts.map +0 -1
- package/dist/runner-sse.js +0 -877
- package/dist/runner-sse.js.map +0 -1
- package/dist/services/RunnerAPIClient.d.ts +0 -61
- package/dist/services/RunnerAPIClient.d.ts.map +0 -1
- package/dist/services/RunnerAPIClient.js +0 -187
- package/dist/services/RunnerAPIClient.js.map +0 -1
- package/dist/services/SSEClient.d.ts +0 -62
- package/dist/services/SSEClient.d.ts.map +0 -1
- package/dist/services/SSEClient.js +0 -225
- package/dist/services/SSEClient.js.map +0 -1
- package/dist/types/claude.d.ts +0 -80
- package/dist/types/claude.d.ts.map +0 -1
- package/dist/types/claude.js +0 -5
- package/dist/types/claude.js.map +0 -1
- package/dist/types/index.d.ts +0 -52
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -7
- package/dist/types/index.js.map +0 -1
- package/dist/types/messages.d.ts +0 -33
- package/dist/types/messages.d.ts.map +0 -1
- package/dist/types/messages.js +0 -5
- package/dist/types/messages.js.map +0 -1
- package/dist/types/runner-interface.d.ts +0 -38
- package/dist/types/runner-interface.d.ts.map +0 -1
- package/dist/types/runner-interface.js +0 -5
- package/dist/types/runner-interface.js.map +0 -1
- package/dist/utils/StateManager.d.ts +0 -61
- package/dist/utils/StateManager.d.ts.map +0 -1
- package/dist/utils/StateManager.js +0 -170
- package/dist/utils/StateManager.js.map +0 -1
- package/dist/utils/config.d.ts +0 -48
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -378
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/console.d.ts +0 -8
- package/dist/utils/console.d.ts.map +0 -1
- package/dist/utils/console.js +0 -31
- package/dist/utils/console.js.map +0 -1
- package/dist/utils/debug.d.ts +0 -12
- package/dist/utils/debug.d.ts.map +0 -1
- package/dist/utils/debug.js +0 -94
- package/dist/utils/debug.js.map +0 -1
- package/dist/utils/expand-env.d.ts +0 -2
- package/dist/utils/expand-env.d.ts.map +0 -1
- package/dist/utils/expand-env.js +0 -17
- package/dist/utils/expand-env.js.map +0 -1
- package/dist/utils/inactivity-timeout.d.ts +0 -19
- package/dist/utils/inactivity-timeout.d.ts.map +0 -1
- package/dist/utils/inactivity-timeout.js +0 -72
- package/dist/utils/inactivity-timeout.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -10
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -129
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/message-log.d.ts +0 -23
- package/dist/utils/message-log.d.ts.map +0 -1
- package/dist/utils/message-log.js +0 -69
- package/dist/utils/message-log.js.map +0 -1
- package/dist/utils/model.d.ts +0 -8
- package/dist/utils/model.d.ts.map +0 -1
- package/dist/utils/model.js +0 -37
- package/dist/utils/model.js.map +0 -1
- package/dist/utils/status-line.d.ts +0 -34
- package/dist/utils/status-line.d.ts.map +0 -1
- package/dist/utils/status-line.js +0 -131
- package/dist/utils/status-line.js.map +0 -1
- package/dist/utils/tool-response-sanitizer.d.ts +0 -9
- package/dist/utils/tool-response-sanitizer.d.ts.map +0 -1
- package/dist/utils/tool-response-sanitizer.js +0 -118
- package/dist/utils/tool-response-sanitizer.js.map +0 -1
- package/dist/utils/update-coordinator.d.ts +0 -53
- package/dist/utils/update-coordinator.d.ts.map +0 -1
- package/dist/utils/update-coordinator.js +0 -159
- package/dist/utils/update-coordinator.js.map +0 -1
- package/dist/utils/version.d.ts +0 -10
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js +0 -33
- package/dist/utils/version.js.map +0 -1
package/dist/utils/config.js
DELETED
|
@@ -1,378 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration management utilities
|
|
3
|
-
*/
|
|
4
|
-
import fs from "fs/promises";
|
|
5
|
-
import { existsSync } from "fs";
|
|
6
|
-
import path from "path";
|
|
7
|
-
import envPaths from "env-paths";
|
|
8
|
-
import os from "os";
|
|
9
|
-
import { createLogger } from './logger.js';
|
|
10
|
-
import { Command } from "commander";
|
|
11
|
-
import readline from "readline/promises";
|
|
12
|
-
import { stdin as input, stdout as output } from "node:process";
|
|
13
|
-
const logger = createLogger("ConfigManager");
|
|
14
|
-
const ENV_PATHS_APP_NAME = resolveEnvPathsAppName();
|
|
15
|
-
const ENV_PATHS_OPTIONS = { suffix: "" };
|
|
16
|
-
const IS_DEV_APP = ENV_PATHS_APP_NAME.endsWith("-dev");
|
|
17
|
-
function resolveEnvPathsAppName() {
|
|
18
|
-
if (process.env["NODE_ENV"] === "development")
|
|
19
|
-
return "northflare-runner-dev";
|
|
20
|
-
try {
|
|
21
|
-
// When running from workspace (e.g., pnpm exec or direct node dist/...)
|
|
22
|
-
// use the dev app name so config lives under the "-dev" path.
|
|
23
|
-
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
24
|
-
const repoRoot = path.resolve(__dirname, "../..");
|
|
25
|
-
if (existsSync(path.join(repoRoot, "pnpm-workspace.yaml"))) {
|
|
26
|
-
return "northflare-runner-dev";
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
// ignore and fall back to prod name
|
|
31
|
-
}
|
|
32
|
-
return "northflare-runner";
|
|
33
|
-
}
|
|
34
|
-
// ENV_PATHS_APP_NAME/OPTIONS defined above for reuse across helpers
|
|
35
|
-
export class ConfigManager {
|
|
36
|
-
static DEFAULT_CONFIG = {
|
|
37
|
-
dataDir: ConfigManager.resolveDefaultDataDir(),
|
|
38
|
-
heartbeatInterval: 120000, // 2 minutes
|
|
39
|
-
retryStrategy: "exponential",
|
|
40
|
-
retryIntervalSecs: 60,
|
|
41
|
-
retryDurationSecs: 900,
|
|
42
|
-
orchestratorUrl: "https://api.northflare.app",
|
|
43
|
-
};
|
|
44
|
-
static resolveDefaultDataDir() {
|
|
45
|
-
try {
|
|
46
|
-
const paths = envPaths(ENV_PATHS_APP_NAME, ENV_PATHS_OPTIONS);
|
|
47
|
-
return paths.data;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
logger.debug("Falling back to cwd-relative data directory", error);
|
|
51
|
-
// Keep dev and prod state isolated when env-paths cannot resolve
|
|
52
|
-
return path.resolve(IS_DEV_APP ? "./data/dev" : "./data");
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
static getDefaultConfigPath() {
|
|
56
|
-
try {
|
|
57
|
-
const paths = envPaths(ENV_PATHS_APP_NAME, ENV_PATHS_OPTIONS);
|
|
58
|
-
return path.join(paths.config, "config.json");
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
logger.debug("Falling back to repo-relative config path", error);
|
|
62
|
-
// Separate dev/prod config files even when env-paths fails
|
|
63
|
-
const localDir = IS_DEV_APP ? "./config/dev" : "./config";
|
|
64
|
-
return path.resolve(localDir, "config.json");
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Load configuration without parsing command line arguments
|
|
69
|
-
* Used when arguments have already been parsed by the CLI
|
|
70
|
-
*/
|
|
71
|
-
static async loadConfig(configPath, options) {
|
|
72
|
-
this.validateEnvironment();
|
|
73
|
-
let config = { ...this.DEFAULT_CONFIG };
|
|
74
|
-
const effectiveConfigPath = configPath || this.getDefaultConfigPath();
|
|
75
|
-
const fileConfig = await this.loadConfigFile(effectiveConfigPath);
|
|
76
|
-
// Runner repos are now server-owned; ignore any persisted runnerRepos in config files
|
|
77
|
-
if (fileConfig && fileConfig.runnerRepos) {
|
|
78
|
-
delete fileConfig.runnerRepos;
|
|
79
|
-
}
|
|
80
|
-
const migratedWorkspacePath = !fileConfig.workspacePath && fileConfig.workspaceDir
|
|
81
|
-
? fileConfig.workspaceDir
|
|
82
|
-
: undefined;
|
|
83
|
-
config = { ...config, ...fileConfig };
|
|
84
|
-
const envConfig = this.loadFromEnvironment();
|
|
85
|
-
config = { ...config, ...envConfig };
|
|
86
|
-
// Determine the workspacePath to use after env/CLI overrides
|
|
87
|
-
let workspacePath = config.workspacePath;
|
|
88
|
-
const appliedMigration = !workspacePath && !!migratedWorkspacePath;
|
|
89
|
-
let shouldPersistWorkspacePath = false;
|
|
90
|
-
if (appliedMigration) {
|
|
91
|
-
workspacePath = migratedWorkspacePath;
|
|
92
|
-
shouldPersistWorkspacePath = true;
|
|
93
|
-
}
|
|
94
|
-
if (!workspacePath) {
|
|
95
|
-
if (options?.promptForWorkspacePath) {
|
|
96
|
-
workspacePath = await this.promptForWorkspacePath();
|
|
97
|
-
shouldPersistWorkspacePath = true;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
throw new Error("workspacePath is required. Provide NORTHFLARE_WORKSPACE_PATH, --workspace-path, or set it in the runner config file.");
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
const normalizedWorkspacePath = this.normalizeWorkspacePath(workspacePath);
|
|
104
|
-
config.workspacePath = normalizedWorkspacePath;
|
|
105
|
-
if (shouldPersistWorkspacePath) {
|
|
106
|
-
await this.persistConfigFile(effectiveConfigPath, {
|
|
107
|
-
...fileConfig,
|
|
108
|
-
...config,
|
|
109
|
-
workspacePath: normalizedWorkspacePath,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
this.validateConfig(config);
|
|
113
|
-
return config;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Parse command line arguments and load configuration
|
|
117
|
-
*/
|
|
118
|
-
static async parseArgsAndLoadConfig(argv) {
|
|
119
|
-
const program = new Command();
|
|
120
|
-
program
|
|
121
|
-
.name("northflare-runner")
|
|
122
|
-
.description("Northflare Runner - Executes Claude agents for task processing")
|
|
123
|
-
.version("1.0.0")
|
|
124
|
-
.option("-c, --config <path>", "Path to configuration file")
|
|
125
|
-
.option("--retry-strategy <strategy>", "Registration retry strategy (none, interval, exponential)", "exponential")
|
|
126
|
-
.option("--retry-interval-secs <seconds>", "Retry interval in seconds for interval strategy", "60")
|
|
127
|
-
.option("--retry-duration-secs <seconds>", "Max retry duration in seconds for exponential strategy", "900")
|
|
128
|
-
.option("--data-dir <path>", "Data directory path")
|
|
129
|
-
.option("--heartbeat-interval <ms>", "Heartbeat interval in milliseconds", "120000")
|
|
130
|
-
.option("--workspace-path <path>", "Workspace directory path");
|
|
131
|
-
program.parse(argv);
|
|
132
|
-
const options = program.opts();
|
|
133
|
-
// Validate required environment variables
|
|
134
|
-
this.validateEnvironment();
|
|
135
|
-
// Start with defaults
|
|
136
|
-
let config = { ...this.DEFAULT_CONFIG };
|
|
137
|
-
// Load from config file (explicit path or default) and capture legacy workspaceDir for migration
|
|
138
|
-
const effectiveConfigPath = options["config"] || this.getDefaultConfigPath();
|
|
139
|
-
const fileConfig = await this.loadConfigFile(effectiveConfigPath);
|
|
140
|
-
if (fileConfig && fileConfig.runnerRepos) {
|
|
141
|
-
delete fileConfig.runnerRepos;
|
|
142
|
-
}
|
|
143
|
-
const migratedWorkspacePath = !fileConfig.workspacePath && fileConfig.workspaceDir
|
|
144
|
-
? fileConfig.workspaceDir
|
|
145
|
-
: undefined;
|
|
146
|
-
config = { ...config, ...fileConfig };
|
|
147
|
-
// Override with environment variables
|
|
148
|
-
const envConfig = this.loadFromEnvironment();
|
|
149
|
-
config = { ...config, ...envConfig };
|
|
150
|
-
// Override with CLI arguments (highest priority)
|
|
151
|
-
if (options["retryStrategy"]) {
|
|
152
|
-
config.retryStrategy = options["retryStrategy"];
|
|
153
|
-
}
|
|
154
|
-
if (options["retryIntervalSecs"]) {
|
|
155
|
-
config.retryIntervalSecs = parseInt(options["retryIntervalSecs"]);
|
|
156
|
-
}
|
|
157
|
-
if (options["retryDurationSecs"]) {
|
|
158
|
-
config.retryDurationSecs = parseInt(options["retryDurationSecs"]);
|
|
159
|
-
}
|
|
160
|
-
if (options["dataDir"]) {
|
|
161
|
-
config.dataDir = options["dataDir"];
|
|
162
|
-
}
|
|
163
|
-
if (options["heartbeatInterval"]) {
|
|
164
|
-
config.heartbeatInterval = parseInt(options["heartbeatInterval"]);
|
|
165
|
-
}
|
|
166
|
-
if (options["workspacePath"]) {
|
|
167
|
-
config.workspacePath = options["workspacePath"];
|
|
168
|
-
}
|
|
169
|
-
const appliedMigration = !config.workspacePath && !!migratedWorkspacePath;
|
|
170
|
-
let shouldPersistWorkspacePath = false;
|
|
171
|
-
if (appliedMigration) {
|
|
172
|
-
config.workspacePath = migratedWorkspacePath;
|
|
173
|
-
shouldPersistWorkspacePath = true;
|
|
174
|
-
}
|
|
175
|
-
if (!config.workspacePath) {
|
|
176
|
-
// Mirror loadConfig behavior: prompt when missing
|
|
177
|
-
const workspacePath = await this.promptForWorkspacePath();
|
|
178
|
-
config.workspacePath = workspacePath;
|
|
179
|
-
shouldPersistWorkspacePath = true;
|
|
180
|
-
}
|
|
181
|
-
const normalizedWorkspacePath = this.normalizeWorkspacePath(config.workspacePath);
|
|
182
|
-
config.workspacePath = normalizedWorkspacePath;
|
|
183
|
-
if (shouldPersistWorkspacePath) {
|
|
184
|
-
await this.persistConfigFile(effectiveConfigPath, {
|
|
185
|
-
...fileConfig,
|
|
186
|
-
...config,
|
|
187
|
-
workspacePath: normalizedWorkspacePath,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
// Validate final configuration
|
|
191
|
-
this.validateConfig(config);
|
|
192
|
-
return config;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Validate required environment variables
|
|
196
|
-
*/
|
|
197
|
-
static validateEnvironment() {
|
|
198
|
-
const required = ["NORTHFLARE_RUNNER_TOKEN"];
|
|
199
|
-
const missing = required.filter((key) => !process.env[key]);
|
|
200
|
-
if (missing.length > 0) {
|
|
201
|
-
throw new Error(`Missing required environment variables: ${missing.join(", ")}\n` +
|
|
202
|
-
"Please set these environment variables before starting the runner.");
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Load configuration from environment variables
|
|
207
|
-
*/
|
|
208
|
-
static loadFromEnvironment() {
|
|
209
|
-
const config = {};
|
|
210
|
-
if (process.env["NORTHFLARE_ORCHESTRATOR_URL"]) {
|
|
211
|
-
config.orchestratorUrl = process.env["NORTHFLARE_ORCHESTRATOR_URL"];
|
|
212
|
-
}
|
|
213
|
-
// Optional environment overrides
|
|
214
|
-
if (process.env["NORTHFLARE_DATA_DIR"]) {
|
|
215
|
-
config.dataDir = process.env["NORTHFLARE_DATA_DIR"];
|
|
216
|
-
}
|
|
217
|
-
if (process.env["NORTHFLARE_WORKSPACE_PATH"]) {
|
|
218
|
-
config.workspacePath = process.env["NORTHFLARE_WORKSPACE_PATH"];
|
|
219
|
-
}
|
|
220
|
-
return config;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Load configuration from file
|
|
224
|
-
*/
|
|
225
|
-
static async loadConfigFile(configPath) {
|
|
226
|
-
try {
|
|
227
|
-
const absolutePath = path.resolve(configPath);
|
|
228
|
-
const content = await fs.readFile(absolutePath, "utf-8");
|
|
229
|
-
// Support both JSON and YAML formats
|
|
230
|
-
if (configPath.endsWith(".json")) {
|
|
231
|
-
const config = JSON.parse(content);
|
|
232
|
-
// Runner repos are now server-sourced; ignore any persisted copy
|
|
233
|
-
delete config.runnerRepos;
|
|
234
|
-
return config;
|
|
235
|
-
}
|
|
236
|
-
else if (configPath.endsWith(".yaml") || configPath.endsWith(".yml")) {
|
|
237
|
-
// For YAML support, we'd need to add a yaml parser dependency
|
|
238
|
-
throw new Error("YAML configuration files are not yet supported");
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
throw new Error("Configuration file must be .json format");
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
if (error.code === "ENOENT") {
|
|
246
|
-
logger.warn(`Configuration file not found: ${configPath}`);
|
|
247
|
-
return {};
|
|
248
|
-
}
|
|
249
|
-
throw error;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
static async promptForWorkspacePath() {
|
|
253
|
-
const suggestedBase = this.resolveDefaultDataDir();
|
|
254
|
-
const defaultPath = path.join(suggestedBase, "workspaces");
|
|
255
|
-
const rl = readline.createInterface({ input, output });
|
|
256
|
-
try {
|
|
257
|
-
// Keep prompting until an absolute path is provided (tilde is allowed)
|
|
258
|
-
// to avoid silently resolving relative paths.
|
|
259
|
-
while (true) {
|
|
260
|
-
const answer = await rl.question(`Enter a local workspace directory for runner workspaces (default: ${defaultPath}): `);
|
|
261
|
-
const chosen = answer.trim() === "" ? defaultPath : answer.trim();
|
|
262
|
-
try {
|
|
263
|
-
const normalized = this.normalizeWorkspacePath(chosen);
|
|
264
|
-
await fs.mkdir(normalized, { recursive: true });
|
|
265
|
-
logger.info(`Using workspace path: ${normalized}`);
|
|
266
|
-
return normalized;
|
|
267
|
-
}
|
|
268
|
-
catch (error) {
|
|
269
|
-
logger.error(error.message ||
|
|
270
|
-
"workspacePath must be an absolute path. Please try again.");
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
finally {
|
|
275
|
-
rl.close();
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
static normalizeWorkspacePath(workspacePath) {
|
|
279
|
-
const trimmed = workspacePath?.trim();
|
|
280
|
-
if (!trimmed) {
|
|
281
|
-
throw new Error("workspacePath is required");
|
|
282
|
-
}
|
|
283
|
-
// Expand tilde to the user's home directory without accidentally
|
|
284
|
-
// discarding the home path when the remainder begins with a path separator.
|
|
285
|
-
let expanded = trimmed;
|
|
286
|
-
if (trimmed === "~") {
|
|
287
|
-
expanded = os.homedir();
|
|
288
|
-
}
|
|
289
|
-
else if (trimmed.startsWith("~/")) {
|
|
290
|
-
expanded = path.join(os.homedir(), trimmed.slice(2));
|
|
291
|
-
}
|
|
292
|
-
else if (trimmed.startsWith("~\\")) {
|
|
293
|
-
expanded = path.join(os.homedir(), trimmed.slice(2));
|
|
294
|
-
}
|
|
295
|
-
if (!path.isAbsolute(expanded)) {
|
|
296
|
-
throw new Error("workspacePath must be an absolute path");
|
|
297
|
-
}
|
|
298
|
-
return expanded;
|
|
299
|
-
}
|
|
300
|
-
static async persistConfigFile(configPath, config) {
|
|
301
|
-
try {
|
|
302
|
-
const absolutePath = path.resolve(configPath);
|
|
303
|
-
await fs.mkdir(path.dirname(absolutePath), { recursive: true });
|
|
304
|
-
await this.saveConfigFile(absolutePath, config);
|
|
305
|
-
}
|
|
306
|
-
catch (error) {
|
|
307
|
-
logger.error("Failed to persist config file", error);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Validate final configuration
|
|
312
|
-
*/
|
|
313
|
-
static validateConfig(config) {
|
|
314
|
-
// Note: Runner ID will be generated by server during registration
|
|
315
|
-
if (!config.workspacePath || config.workspacePath.trim() === "") {
|
|
316
|
-
throw new Error("workspacePath is required");
|
|
317
|
-
}
|
|
318
|
-
if (!path.isAbsolute(config.workspacePath)) {
|
|
319
|
-
throw new Error("workspacePath must be an absolute path");
|
|
320
|
-
}
|
|
321
|
-
if (!config.orchestratorUrl) {
|
|
322
|
-
throw new Error("orchestratorUrl is required");
|
|
323
|
-
}
|
|
324
|
-
if (!config.dataDir) {
|
|
325
|
-
throw new Error("dataDir is required");
|
|
326
|
-
}
|
|
327
|
-
if (!config.heartbeatInterval || config.heartbeatInterval < 1000) {
|
|
328
|
-
throw new Error("heartbeatInterval must be at least 1000ms");
|
|
329
|
-
}
|
|
330
|
-
// Validate retry strategy
|
|
331
|
-
const validStrategies = [
|
|
332
|
-
"none",
|
|
333
|
-
"interval",
|
|
334
|
-
"exponential",
|
|
335
|
-
];
|
|
336
|
-
if (!config.retryStrategy ||
|
|
337
|
-
!validStrategies.includes(config.retryStrategy)) {
|
|
338
|
-
throw new Error(`retryStrategy must be one of: ${validStrategies.join(", ")}`);
|
|
339
|
-
}
|
|
340
|
-
if (config.retryStrategy === "interval" &&
|
|
341
|
-
(!config.retryIntervalSecs || config.retryIntervalSecs < 1)) {
|
|
342
|
-
throw new Error("retryIntervalSecs must be at least 1 when using interval strategy");
|
|
343
|
-
}
|
|
344
|
-
if (config.retryStrategy === "exponential" &&
|
|
345
|
-
(!config.retryDurationSecs || config.retryDurationSecs < 1)) {
|
|
346
|
-
throw new Error("retryDurationSecs must be at least 1 when using exponential strategy");
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
/**
|
|
350
|
-
* Get all environment configuration
|
|
351
|
-
*/
|
|
352
|
-
static getEnvironmentConfig() {
|
|
353
|
-
return {
|
|
354
|
-
NORTHFLARE_RUNNER_TOKEN: process.env["NORTHFLARE_RUNNER_TOKEN"],
|
|
355
|
-
NORTHFLARE_WORKSPACE_PATH: process.env["NORTHFLARE_WORKSPACE_PATH"],
|
|
356
|
-
NORTHFLARE_ORCHESTRATOR_URL: process.env["NORTHFLARE_ORCHESTRATOR_URL"],
|
|
357
|
-
NORTHFLARE_RUNNER_DEBUG: process.env["NORTHFLARE_RUNNER_DEBUG"],
|
|
358
|
-
DEBUG: process.env["DEBUG"],
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Save configuration file with updated data
|
|
363
|
-
*/
|
|
364
|
-
static async saveConfigFile(configPath, config) {
|
|
365
|
-
try {
|
|
366
|
-
const absolutePath = path.resolve(configPath);
|
|
367
|
-
await fs.mkdir(path.dirname(absolutePath), { recursive: true });
|
|
368
|
-
const content = JSON.stringify(config, null, 2);
|
|
369
|
-
await fs.writeFile(absolutePath, content, "utf-8");
|
|
370
|
-
logger.info(`Updated configuration file: ${absolutePath}`);
|
|
371
|
-
}
|
|
372
|
-
catch (error) {
|
|
373
|
-
logger.error("Failed to save configuration file", error);
|
|
374
|
-
throw error;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/console.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Console wrapper that suppresses output unless the requested subsystem
|
|
3
|
-
* is enabled in the debug filter.
|
|
4
|
-
*/
|
|
5
|
-
import { DebugSubsystem } from './debug.js';
|
|
6
|
-
export declare function createScopedConsole(subsystem?: DebugSubsystem): Console;
|
|
7
|
-
export declare const console: Console;
|
|
8
|
-
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,cAAyB,GACnC,OAAO,CAkBT;AAGD,eAAO,MAAM,OAAO,SAAgC,CAAC"}
|
package/dist/utils/console.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Console wrapper that suppresses output unless the requested subsystem
|
|
3
|
-
* is enabled in the debug filter.
|
|
4
|
-
*/
|
|
5
|
-
import { isDebugEnabledFor } from './debug.js';
|
|
6
|
-
export function createScopedConsole(subsystem = "runner") {
|
|
7
|
-
// Check debug flag on each call, not at creation time, so that
|
|
8
|
-
// environment variables set after module import are respected
|
|
9
|
-
return {
|
|
10
|
-
log: (...args) => {
|
|
11
|
-
if (isDebugEnabledFor(subsystem))
|
|
12
|
-
global.console.log(...args);
|
|
13
|
-
},
|
|
14
|
-
warn: (...args) => {
|
|
15
|
-
if (isDebugEnabledFor(subsystem))
|
|
16
|
-
global.console.warn(...args);
|
|
17
|
-
},
|
|
18
|
-
error: global.console.error.bind(global.console), // Always show errors
|
|
19
|
-
info: (...args) => {
|
|
20
|
-
if (isDebugEnabledFor(subsystem))
|
|
21
|
-
global.console.info(...args);
|
|
22
|
-
},
|
|
23
|
-
debug: (...args) => {
|
|
24
|
-
if (isDebugEnabledFor(subsystem))
|
|
25
|
-
global.console.debug(...args);
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
// Default console scoped to core runner events
|
|
30
|
-
export const console = createScopedConsole("runner");
|
|
31
|
-
//# sourceMappingURL=console.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,UAAU,mBAAmB,CACjC,YAA4B,QAAQ;IAEpC,+DAA+D;IAC/D,8DAA8D;IAC9D,OAAO;QACL,GAAG,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC1B,IAAI,iBAAiB,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,IAAI,iBAAiB,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,qBAAqB;QACvE,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,IAAI,iBAAiB,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,IAAI,iBAAiB,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAClE,CAAC;KACS,CAAC;AACf,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC"}
|
package/dist/utils/debug.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type DebugSubsystem = "runner" | "manager" | "rpc" | "sse" | "sdk" | "repo" | "state" | "messages";
|
|
2
|
-
type DebugConfig = {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
allowAll: boolean;
|
|
5
|
-
subsystems: Set<string>;
|
|
6
|
-
raw: string;
|
|
7
|
-
};
|
|
8
|
-
export declare function getDebugConfig(): DebugConfig;
|
|
9
|
-
export declare function isRunnerDebugEnabled(): boolean;
|
|
10
|
-
export declare function isDebugEnabledFor(subsystem?: DebugSubsystem | string): boolean;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,SAAS,GACT,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,UAAU,CAAC;AAEf,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAeF,wBAAgB,cAAc,IAAI,WAAW,CAqB5C;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,cAAc,GAAG,MAAM,GAClC,OAAO,CAQT"}
|
package/dist/utils/debug.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
const KNOWN_SUBSYSTEMS = new Set([
|
|
2
|
-
"runner",
|
|
3
|
-
"manager",
|
|
4
|
-
"rpc",
|
|
5
|
-
"sse",
|
|
6
|
-
"sdk",
|
|
7
|
-
"repo",
|
|
8
|
-
"state",
|
|
9
|
-
"messages",
|
|
10
|
-
]);
|
|
11
|
-
let cachedConfig = null;
|
|
12
|
-
export function getDebugConfig() {
|
|
13
|
-
// Only use cache if we have already parsed a non-empty debug value.
|
|
14
|
-
// This allows modules that load before CLI sets env vars to re-check
|
|
15
|
-
// the config later once the env vars are actually set.
|
|
16
|
-
if (cachedConfig && cachedConfig.enabled) {
|
|
17
|
-
return cachedConfig;
|
|
18
|
-
}
|
|
19
|
-
const explicitFlag = process.env["NORTHFLARE_RUNNER_DEBUG"];
|
|
20
|
-
const legacyFlag = process.env["DEBUG"];
|
|
21
|
-
const config = parseDebugValue(typeof explicitFlag === "string" ? explicitFlag : legacyFlag);
|
|
22
|
-
// Only cache if debug is enabled (meaning env vars were set)
|
|
23
|
-
if (config.enabled) {
|
|
24
|
-
cachedConfig = config;
|
|
25
|
-
}
|
|
26
|
-
return config;
|
|
27
|
-
}
|
|
28
|
-
export function isRunnerDebugEnabled() {
|
|
29
|
-
return getDebugConfig().enabled;
|
|
30
|
-
}
|
|
31
|
-
export function isDebugEnabledFor(subsystem) {
|
|
32
|
-
const config = getDebugConfig();
|
|
33
|
-
if (!config.enabled)
|
|
34
|
-
return false;
|
|
35
|
-
if (config.allowAll)
|
|
36
|
-
return true;
|
|
37
|
-
if (!subsystem)
|
|
38
|
-
return false;
|
|
39
|
-
const normalized = normalizeSubsystem(subsystem);
|
|
40
|
-
return config.subsystems.has(normalized);
|
|
41
|
-
}
|
|
42
|
-
function parseDebugValue(value) {
|
|
43
|
-
if (!value) {
|
|
44
|
-
return {
|
|
45
|
-
enabled: false,
|
|
46
|
-
allowAll: false,
|
|
47
|
-
subsystems: new Set(),
|
|
48
|
-
raw: "",
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
const trimmed = value.trim();
|
|
52
|
-
const normalized = trimmed.toLowerCase();
|
|
53
|
-
// Support boolean-style flags
|
|
54
|
-
if (isTruthy(normalized) || normalized === "*" || normalized === "all") {
|
|
55
|
-
return {
|
|
56
|
-
enabled: true,
|
|
57
|
-
allowAll: true,
|
|
58
|
-
subsystems: new Set(),
|
|
59
|
-
raw: trimmed,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
const parts = normalized
|
|
63
|
-
.split(",")
|
|
64
|
-
.map((part) => part.trim())
|
|
65
|
-
.filter(Boolean)
|
|
66
|
-
.map((part) => normalizeSubsystem(part));
|
|
67
|
-
return {
|
|
68
|
-
enabled: parts.length > 0,
|
|
69
|
-
allowAll: false,
|
|
70
|
-
subsystems: new Set(parts),
|
|
71
|
-
raw: trimmed,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function normalizeSubsystem(value) {
|
|
75
|
-
const normalized = value.trim().toLowerCase();
|
|
76
|
-
// Common aliases
|
|
77
|
-
if (normalized === "managers")
|
|
78
|
-
return "manager";
|
|
79
|
-
if (normalized === "repos" || normalized === "git")
|
|
80
|
-
return "repo";
|
|
81
|
-
if (normalized === "state-manager")
|
|
82
|
-
return "state";
|
|
83
|
-
if (normalized === "message" || normalized === "msg")
|
|
84
|
-
return "messages";
|
|
85
|
-
return KNOWN_SUBSYSTEMS.has(normalized) ? normalized : normalized;
|
|
86
|
-
}
|
|
87
|
-
function isTruthy(value) {
|
|
88
|
-
const normalized = value.trim().toLowerCase();
|
|
89
|
-
return (normalized === "true" ||
|
|
90
|
-
normalized === "1" ||
|
|
91
|
-
normalized === "yes" ||
|
|
92
|
-
normalized === "on");
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=debug.js.map
|
package/dist/utils/debug.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expand-env.d.ts","sourceRoot":"","sources":["../../src/utils/expand-env.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CACvB,GAAG,EAAE,GAAG,EACR,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,GAAG,CAkBL"}
|
package/dist/utils/expand-env.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function expandEnv(obj, env = process.env) {
|
|
2
|
-
if (typeof obj === "string") {
|
|
3
|
-
return obj.replace(/\$\{([^}]+)\}/g, (match, key) => env[key] || match);
|
|
4
|
-
}
|
|
5
|
-
if (Array.isArray(obj)) {
|
|
6
|
-
return obj.map((item) => expandEnv(item, env));
|
|
7
|
-
}
|
|
8
|
-
if (obj && typeof obj === "object") {
|
|
9
|
-
const result = {};
|
|
10
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
11
|
-
result[key] = expandEnv(value, env);
|
|
12
|
-
}
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
return obj;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=expand-env.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expand-env.js","sourceRoot":"","sources":["../../src/utils/expand-env.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CACvB,GAAQ,EACR,MAA0C,OAAO,CAAC,GAAG;IAErD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utilities for parsing and formatting inactivity timeout values
|
|
3
|
-
*/
|
|
4
|
-
export type InactivityTimeoutUnit = "seconds" | "minutes" | "hours";
|
|
5
|
-
export interface ParsedInactivityTimeout {
|
|
6
|
-
milliseconds: number;
|
|
7
|
-
value: number;
|
|
8
|
-
unit: InactivityTimeoutUnit;
|
|
9
|
-
display: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Parse CLI-provided inactivity timeout values (e.g. 30s, 5m, 1h, 45)
|
|
13
|
-
*/
|
|
14
|
-
export declare function parseInactivityTimeout(rawValue: string): ParsedInactivityTimeout;
|
|
15
|
-
/**
|
|
16
|
-
* Best-effort formatter for a timeout expressed in milliseconds.
|
|
17
|
-
*/
|
|
18
|
-
export declare function formatInactivityTimeoutFromMs(ms: number): string;
|
|
19
|
-
//# sourceMappingURL=inactivity-timeout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inactivity-timeout.d.ts","sourceRoot":"","sources":["../../src/utils/inactivity-timeout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AA+BD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,uBAAuB,CAiCzB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAiBhE"}
|