codeharbor 0.1.4 → 0.1.5
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/README.md +3 -2
- package/dist/cli.js +28 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -83,8 +83,9 @@ Run local script with custom options:
|
|
|
83
83
|
|
|
84
84
|
Runtime home behavior:
|
|
85
85
|
|
|
86
|
-
- By default, all `codeharbor` commands use
|
|
87
|
-
-
|
|
86
|
+
- By default, all `codeharbor` commands use `~/.codeharbor` for `.env` and relative data paths.
|
|
87
|
+
- Backward compatibility: if `/opt/codeharbor/.env` already exists, it continues to be used automatically.
|
|
88
|
+
- No manual `cd` is required after installation.
|
|
88
89
|
- To use a custom runtime directory, set `CODEHARBOR_HOME` (for example `export CODEHARBOR_HOME=/srv/codeharbor`).
|
|
89
90
|
|
|
90
91
|
Install directly from GitHub:
|
package/dist/cli.js
CHANGED
|
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
));
|
|
25
25
|
|
|
26
26
|
// src/cli.ts
|
|
27
|
-
var
|
|
27
|
+
var import_node_fs10 = __toESM(require("fs"));
|
|
28
28
|
var import_node_path11 = __toESM(require("path"));
|
|
29
29
|
var import_commander = require("commander");
|
|
30
30
|
|
|
@@ -4911,21 +4911,34 @@ function readEnv(env, key) {
|
|
|
4911
4911
|
}
|
|
4912
4912
|
|
|
4913
4913
|
// src/runtime-home.ts
|
|
4914
|
+
var import_node_fs9 = __toESM(require("fs"));
|
|
4915
|
+
var import_node_os2 = __toESM(require("os"));
|
|
4914
4916
|
var import_node_path10 = __toESM(require("path"));
|
|
4915
|
-
var
|
|
4917
|
+
var LEGACY_RUNTIME_HOME = "/opt/codeharbor";
|
|
4918
|
+
var USER_RUNTIME_HOME_DIR = ".codeharbor";
|
|
4919
|
+
var DEFAULT_RUNTIME_HOME = import_node_path10.default.resolve(import_node_os2.default.homedir(), USER_RUNTIME_HOME_DIR);
|
|
4916
4920
|
var RUNTIME_HOME_ENV_KEY = "CODEHARBOR_HOME";
|
|
4917
4921
|
function resolveRuntimeHome(env = process.env) {
|
|
4918
4922
|
const configured = env[RUNTIME_HOME_ENV_KEY]?.trim();
|
|
4919
4923
|
if (configured) {
|
|
4920
4924
|
return import_node_path10.default.resolve(configured);
|
|
4921
4925
|
}
|
|
4922
|
-
|
|
4926
|
+
const legacyEnvPath = import_node_path10.default.resolve(LEGACY_RUNTIME_HOME, ".env");
|
|
4927
|
+
if (import_node_fs9.default.existsSync(legacyEnvPath)) {
|
|
4928
|
+
return LEGACY_RUNTIME_HOME;
|
|
4929
|
+
}
|
|
4930
|
+
return resolveUserRuntimeHome(env);
|
|
4931
|
+
}
|
|
4932
|
+
function resolveUserRuntimeHome(env = process.env) {
|
|
4933
|
+
const home = env.HOME?.trim() || import_node_os2.default.homedir();
|
|
4934
|
+
return import_node_path10.default.resolve(home, USER_RUNTIME_HOME_DIR);
|
|
4923
4935
|
}
|
|
4924
4936
|
|
|
4925
4937
|
// src/cli.ts
|
|
4926
4938
|
var runtimeHome = null;
|
|
4939
|
+
var cliVersion = resolveCliVersion();
|
|
4927
4940
|
var program = new import_commander.Command();
|
|
4928
|
-
program.name("codeharbor").description("Instant-messaging bridge for Codex CLI sessions").version(
|
|
4941
|
+
program.name("codeharbor").description("Instant-messaging bridge for Codex CLI sessions").version(cliVersion);
|
|
4929
4942
|
program.command("init").description("Create or update .env via guided prompts").option("-f, --force", "overwrite existing .env without confirmation").action(async (options) => {
|
|
4930
4943
|
const home = ensureRuntimeHomeOrExit();
|
|
4931
4944
|
await runInitCommand({ force: options.force ?? false, cwd: home });
|
|
@@ -5049,7 +5062,7 @@ function ensureRuntimeHomeOrExit() {
|
|
|
5049
5062
|
}
|
|
5050
5063
|
const home = resolveRuntimeHome();
|
|
5051
5064
|
try {
|
|
5052
|
-
|
|
5065
|
+
import_node_fs10.default.mkdirSync(home, { recursive: true });
|
|
5053
5066
|
} catch (error) {
|
|
5054
5067
|
const message = error instanceof Error ? error.message : String(error);
|
|
5055
5068
|
process.stderr.write(`Runtime setup failed: cannot create ${home}. ${message}
|
|
@@ -5077,6 +5090,16 @@ function parsePortOption(raw, fallback) {
|
|
|
5077
5090
|
}
|
|
5078
5091
|
return parsed;
|
|
5079
5092
|
}
|
|
5093
|
+
function resolveCliVersion() {
|
|
5094
|
+
try {
|
|
5095
|
+
const packagePath = import_node_path11.default.resolve(__dirname, "..", "package.json");
|
|
5096
|
+
const content = import_node_fs10.default.readFileSync(packagePath, "utf8");
|
|
5097
|
+
const parsed = JSON.parse(content);
|
|
5098
|
+
return typeof parsed.version === "string" && parsed.version.trim() ? parsed.version : "0.0.0";
|
|
5099
|
+
} catch {
|
|
5100
|
+
return "0.0.0";
|
|
5101
|
+
}
|
|
5102
|
+
}
|
|
5080
5103
|
function formatError3(error) {
|
|
5081
5104
|
if (error instanceof Error) {
|
|
5082
5105
|
return error.message;
|