@northflare/runner 0.0.23 → 0.0.24

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.
@@ -4,8 +4,11 @@
4
4
  import fs from "fs/promises";
5
5
  import path from "path";
6
6
  import envPaths from "env-paths";
7
+ import os from "os";
7
8
  import { createLogger } from './logger.js';
8
9
  import { Command } from "commander";
10
+ import readline from "readline/promises";
11
+ import { stdin as input, stdout as output } from "node:process";
9
12
  const logger = createLogger("ConfigManager");
10
13
  const ENV_PATHS_APP_NAME = "northflare-runner";
11
14
  const ENV_PATHS_OPTIONS = { suffix: "" };
@@ -27,43 +30,57 @@ export class ConfigManager {
27
30
  return path.resolve("./data");
28
31
  }
29
32
  }
33
+ static getDefaultConfigPath() {
34
+ try {
35
+ const paths = envPaths(ENV_PATHS_APP_NAME, ENV_PATHS_OPTIONS);
36
+ return path.join(paths.config, "config.json");
37
+ }
38
+ catch (error) {
39
+ logger.debug("Falling back to ./config/config.json for runner config", error);
40
+ return path.resolve("./config/config.json");
41
+ }
42
+ }
30
43
  /**
31
44
  * Load configuration without parsing command line arguments
32
45
  * Used when arguments have already been parsed by the CLI
33
46
  */
34
- static async loadConfig(configPath) {
35
- // Validate required environment variables
47
+ static async loadConfig(configPath, options) {
36
48
  this.validateEnvironment();
37
- // Start with defaults
38
49
  let config = { ...this.DEFAULT_CONFIG };
39
- // Determine config path - use provided path or default location
40
- let effectiveConfigPath = configPath;
41
- if (!effectiveConfigPath) {
42
- // Try to use default config location
43
- try {
44
- const paths = envPaths(ENV_PATHS_APP_NAME, ENV_PATHS_OPTIONS);
45
- const defaultConfigPath = path.join(paths.config, "config.json");
46
- // Check if default config exists
47
- const fs = require("fs");
48
- if (fs.existsSync(defaultConfigPath)) {
49
- effectiveConfigPath = defaultConfigPath;
50
- logger.info(`Using default config file: ${defaultConfigPath}`);
51
- }
50
+ const effectiveConfigPath = configPath || this.getDefaultConfigPath();
51
+ const fileConfig = await this.loadConfigFile(effectiveConfigPath);
52
+ const migratedWorkspacePath = !fileConfig.workspacePath && fileConfig.workspaceDir
53
+ ? fileConfig.workspaceDir
54
+ : undefined;
55
+ config = { ...config, ...fileConfig };
56
+ const envConfig = this.loadFromEnvironment();
57
+ config = { ...config, ...envConfig };
58
+ // Determine the workspacePath to use after env/CLI overrides
59
+ let workspacePath = config.workspacePath;
60
+ const appliedMigration = !workspacePath && !!migratedWorkspacePath;
61
+ let shouldPersistWorkspacePath = false;
62
+ if (appliedMigration) {
63
+ workspacePath = migratedWorkspacePath;
64
+ shouldPersistWorkspacePath = true;
65
+ }
66
+ if (!workspacePath) {
67
+ if (options?.promptForWorkspacePath) {
68
+ workspacePath = await this.promptForWorkspacePath();
69
+ shouldPersistWorkspacePath = true;
52
70
  }
53
- catch (error) {
54
- // env-paths not available or error accessing default location
55
- logger.debug("Could not check default config location:", error);
71
+ else {
72
+ throw new Error("workspacePath is required. Provide NORTHFLARE_WORKSPACE_PATH, --workspace-path, or set it in the runner config file.");
56
73
  }
57
74
  }
58
- // Load from config file if we have a path
59
- if (effectiveConfigPath) {
60
- const fileConfig = await this.loadConfigFile(effectiveConfigPath);
61
- config = { ...config, ...fileConfig };
75
+ const normalizedWorkspacePath = this.normalizeWorkspacePath(workspacePath);
76
+ config.workspacePath = normalizedWorkspacePath;
77
+ if (shouldPersistWorkspacePath) {
78
+ await this.persistConfigFile(effectiveConfigPath, {
79
+ ...fileConfig,
80
+ ...config,
81
+ workspacePath: normalizedWorkspacePath,
82
+ });
62
83
  }
63
- // Override with environment variables
64
- const envConfig = this.loadFromEnvironment();
65
- config = { ...config, ...envConfig };
66
- // Validate final configuration
67
84
  this.validateConfig(config);
68
85
  return config;
69
86
  }
@@ -81,18 +98,21 @@ export class ConfigManager {
81
98
  .option("--retry-interval-secs <seconds>", "Retry interval in seconds for interval strategy", "60")
82
99
  .option("--retry-duration-secs <seconds>", "Max retry duration in seconds for exponential strategy", "900")
83
100
  .option("--data-dir <path>", "Data directory path")
84
- .option("--heartbeat-interval <ms>", "Heartbeat interval in milliseconds", "120000");
101
+ .option("--heartbeat-interval <ms>", "Heartbeat interval in milliseconds", "120000")
102
+ .option("--workspace-path <path>", "Workspace directory path");
85
103
  program.parse(argv);
86
104
  const options = program.opts();
87
105
  // Validate required environment variables
88
106
  this.validateEnvironment();
89
107
  // Start with defaults
90
108
  let config = { ...this.DEFAULT_CONFIG };
91
- // Load from config file if provided
92
- if (options["config"]) {
93
- const fileConfig = await this.loadConfigFile(options["config"]);
94
- config = { ...config, ...fileConfig };
95
- }
109
+ // Load from config file (explicit path or default) and capture legacy workspaceDir for migration
110
+ const effectiveConfigPath = options["config"] || this.getDefaultConfigPath();
111
+ const fileConfig = await this.loadConfigFile(effectiveConfigPath);
112
+ const migratedWorkspacePath = !fileConfig.workspacePath && fileConfig.workspaceDir
113
+ ? fileConfig.workspaceDir
114
+ : undefined;
115
+ config = { ...config, ...fileConfig };
96
116
  // Override with environment variables
97
117
  const envConfig = this.loadFromEnvironment();
98
118
  config = { ...config, ...envConfig };
@@ -112,6 +132,30 @@ export class ConfigManager {
112
132
  if (options["heartbeatInterval"]) {
113
133
  config.heartbeatInterval = parseInt(options["heartbeatInterval"]);
114
134
  }
135
+ if (options["workspacePath"]) {
136
+ config.workspacePath = options["workspacePath"];
137
+ }
138
+ const appliedMigration = !config.workspacePath && !!migratedWorkspacePath;
139
+ let shouldPersistWorkspacePath = false;
140
+ if (appliedMigration) {
141
+ config.workspacePath = migratedWorkspacePath;
142
+ shouldPersistWorkspacePath = true;
143
+ }
144
+ if (!config.workspacePath) {
145
+ // Mirror loadConfig behavior: prompt when missing
146
+ const workspacePath = await this.promptForWorkspacePath();
147
+ config.workspacePath = workspacePath;
148
+ shouldPersistWorkspacePath = true;
149
+ }
150
+ const normalizedWorkspacePath = this.normalizeWorkspacePath(config.workspacePath);
151
+ config.workspacePath = normalizedWorkspacePath;
152
+ if (shouldPersistWorkspacePath) {
153
+ await this.persistConfigFile(effectiveConfigPath, {
154
+ ...fileConfig,
155
+ ...config,
156
+ workspacePath: normalizedWorkspacePath,
157
+ });
158
+ }
115
159
  // Validate final configuration
116
160
  this.validateConfig(config);
117
161
  return config;
@@ -120,24 +164,12 @@ export class ConfigManager {
120
164
  * Validate required environment variables
121
165
  */
122
166
  static validateEnvironment() {
123
- // Set default for NORTHFLARE_WORKSPACE_DIR if not provided
124
- if (!process.env["NORTHFLARE_WORKSPACE_DIR"]) {
125
- try {
126
- const paths = envPaths(ENV_PATHS_APP_NAME, ENV_PATHS_OPTIONS);
127
- process.env["NORTHFLARE_WORKSPACE_DIR"] = paths.data;
128
- }
129
- catch (error) {
130
- // Fallback to original default if env-paths is not available
131
- process.env["NORTHFLARE_WORKSPACE_DIR"] = "/workspace";
132
- }
133
- }
134
167
  // Set default for NORTHFLARE_ORCHESTRATOR_URL if not provided
135
168
  if (!process.env["NORTHFLARE_ORCHESTRATOR_URL"]) {
136
169
  process.env["NORTHFLARE_ORCHESTRATOR_URL"] = "https://api.northflare.app";
137
170
  }
138
171
  const required = [
139
172
  "NORTHFLARE_RUNNER_TOKEN",
140
- "NORTHFLARE_WORKSPACE_DIR",
141
173
  "NORTHFLARE_ORCHESTRATOR_URL",
142
174
  ];
143
175
  const missing = required.filter((key) => !process.env[key]);
@@ -157,6 +189,9 @@ export class ConfigManager {
157
189
  if (process.env["NORTHFLARE_DATA_DIR"]) {
158
190
  config.dataDir = process.env["NORTHFLARE_DATA_DIR"];
159
191
  }
192
+ if (process.env["NORTHFLARE_WORKSPACE_PATH"]) {
193
+ config.workspacePath = process.env["NORTHFLARE_WORKSPACE_PATH"];
194
+ }
160
195
  return config;
161
196
  }
162
197
  /**
@@ -191,11 +226,75 @@ export class ConfigManager {
191
226
  throw error;
192
227
  }
193
228
  }
229
+ static async promptForWorkspacePath() {
230
+ const suggestedBase = this.resolveDefaultDataDir();
231
+ const defaultPath = path.join(suggestedBase, "workspaces");
232
+ const rl = readline.createInterface({ input, output });
233
+ try {
234
+ // Keep prompting until an absolute path is provided (tilde is allowed)
235
+ // to avoid silently resolving relative paths.
236
+ while (true) {
237
+ const answer = await rl.question(`Enter a local workspace directory for runner workspaces (default: ${defaultPath}): `);
238
+ const chosen = answer.trim() === "" ? defaultPath : answer.trim();
239
+ try {
240
+ const normalized = this.normalizeWorkspacePath(chosen);
241
+ await fs.mkdir(normalized, { recursive: true });
242
+ logger.info(`Using workspace path: ${normalized}`);
243
+ return normalized;
244
+ }
245
+ catch (error) {
246
+ logger.error(error.message ||
247
+ "workspacePath must be an absolute path. Please try again.");
248
+ }
249
+ }
250
+ }
251
+ finally {
252
+ rl.close();
253
+ }
254
+ }
255
+ static normalizeWorkspacePath(workspacePath) {
256
+ const trimmed = workspacePath?.trim();
257
+ if (!trimmed) {
258
+ throw new Error("workspacePath is required");
259
+ }
260
+ // Expand tilde to the user's home directory without accidentally
261
+ // discarding the home path when the remainder begins with a path separator.
262
+ let expanded = trimmed;
263
+ if (trimmed === "~") {
264
+ expanded = os.homedir();
265
+ }
266
+ else if (trimmed.startsWith("~/")) {
267
+ expanded = path.join(os.homedir(), trimmed.slice(2));
268
+ }
269
+ else if (trimmed.startsWith("~\\")) {
270
+ expanded = path.join(os.homedir(), trimmed.slice(2));
271
+ }
272
+ if (!path.isAbsolute(expanded)) {
273
+ throw new Error("workspacePath must be an absolute path");
274
+ }
275
+ return expanded;
276
+ }
277
+ static async persistConfigFile(configPath, config) {
278
+ try {
279
+ const absolutePath = path.resolve(configPath);
280
+ await fs.mkdir(path.dirname(absolutePath), { recursive: true });
281
+ await this.saveConfigFile(absolutePath, config);
282
+ }
283
+ catch (error) {
284
+ logger.error("Failed to persist config file", error);
285
+ }
286
+ }
194
287
  /**
195
288
  * Validate final configuration
196
289
  */
197
290
  static validateConfig(config) {
198
291
  // Note: Runner ID will be generated by server during registration
292
+ if (!config.workspacePath || config.workspacePath.trim() === "") {
293
+ throw new Error("workspacePath is required");
294
+ }
295
+ if (!path.isAbsolute(config.workspacePath)) {
296
+ throw new Error("workspacePath must be an absolute path");
297
+ }
199
298
  if (!config.orchestratorUrl) {
200
299
  throw new Error("orchestratorUrl is required");
201
300
  }
@@ -230,7 +329,7 @@ export class ConfigManager {
230
329
  static getEnvironmentConfig() {
231
330
  return {
232
331
  NORTHFLARE_RUNNER_TOKEN: process.env["NORTHFLARE_RUNNER_TOKEN"],
233
- NORTHFLARE_WORKSPACE_DIR: process.env["NORTHFLARE_WORKSPACE_DIR"],
332
+ NORTHFLARE_WORKSPACE_PATH: process.env["NORTHFLARE_WORKSPACE_PATH"],
234
333
  NORTHFLARE_ORCHESTRATOR_URL: process.env["NORTHFLARE_ORCHESTRATOR_URL"],
235
334
  NORTHFLARE_RUNNER_DEBUG: process.env["NORTHFLARE_RUNNER_DEBUG"],
236
335
  DEBUG: process.env["DEBUG"],
@@ -242,6 +341,7 @@ export class ConfigManager {
242
341
  static async saveConfigFile(configPath, config) {
243
342
  try {
244
343
  const absolutePath = path.resolve(configPath);
344
+ await fs.mkdir(path.dirname(absolutePath), { recursive: true });
245
345
  const content = JSON.stringify(config, null, 2);
246
346
  await fs.writeFile(absolutePath, content, "utf-8");
247
347
  logger.info(`Updated configuration file: ${absolutePath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -87,5 +87,5 @@ The ClaudeManager classifies errors into the following types:
87
87
 
88
88
  - `ANTHROPIC_API_KEY`: Required for Claude API access
89
89
  - `NORTHFLARE_RUNNER_TOKEN`: Required for orchestrator API authentication
90
- - `NORTHFLARE_WORKSPACE_DIR`: Base directory for Git checkouts
90
+ - `NORTHFLARE_WORKSPACE_PATH`: Base directory for Git checkouts
91
91
  - `DEBUG` (optional): Enable debug logging
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@northflare/runner",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "description": "Distributed conversation runner for Northflare",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -12,7 +12,7 @@
12
12
  "@anthropic-ai/claude-agent-sdk": "0.1.51",
13
13
  "@botanicastudios/claude-code-sdk-ts": "0.2.22-fork",
14
14
  "@botanicastudios/mcp-host-rpc": "^0.4.0",
15
- "@openai/codex-sdk": "^0.60.1",
15
+ "@openai/codex-sdk": "^0.71.0",
16
16
  "@openrouter/ai-sdk-provider": "^1.2.8",
17
17
  "@tanstack/react-query": "^5.x.x",
18
18
  "@types/jsonwebtoken": "^9.0.10",