jishushell 0.4.2 → 0.4.17

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.
Files changed (136) hide show
  1. package/Dockerfile.openclaw-slim +58 -0
  2. package/INSTALL-NOTICE +45 -0
  3. package/dist/auth.js +3 -3
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cli/app.d.ts +3 -0
  6. package/dist/cli/app.js +156 -0
  7. package/dist/cli/app.js.map +1 -0
  8. package/dist/{doctor.d.ts → cli/doctor.d.ts} +6 -1
  9. package/dist/{doctor.js → cli/doctor.js} +389 -27
  10. package/dist/cli/doctor.js.map +1 -0
  11. package/dist/cli/helpers.d.ts +4 -0
  12. package/dist/cli/helpers.js +32 -0
  13. package/dist/cli/helpers.js.map +1 -0
  14. package/dist/cli/job.d.ts +3 -0
  15. package/dist/cli/job.js +260 -0
  16. package/dist/cli/job.js.map +1 -0
  17. package/dist/cli/llm.d.ts +24 -0
  18. package/dist/cli/llm.js +593 -0
  19. package/dist/cli/llm.js.map +1 -0
  20. package/dist/cli/openclaw.d.ts +12 -0
  21. package/dist/cli/openclaw.js +156 -0
  22. package/dist/cli/openclaw.js.map +1 -0
  23. package/dist/cli/panel.d.ts +25 -0
  24. package/dist/cli/panel.js +734 -0
  25. package/dist/cli/panel.js.map +1 -0
  26. package/dist/cli.js +476 -219
  27. package/dist/cli.js.map +1 -1
  28. package/dist/config.d.ts +22 -4
  29. package/dist/config.js +96 -55
  30. package/dist/config.js.map +1 -1
  31. package/dist/control.d.ts +13 -41
  32. package/dist/control.js +12 -1355
  33. package/dist/control.js.map +1 -1
  34. package/dist/install.d.ts +1 -1
  35. package/dist/install.js +15 -29
  36. package/dist/install.js.map +1 -1
  37. package/dist/routes/apps.d.ts +3 -0
  38. package/dist/routes/apps.js +99 -0
  39. package/dist/routes/apps.js.map +1 -0
  40. package/dist/routes/backup.d.ts +2 -0
  41. package/dist/routes/backup.js +370 -0
  42. package/dist/routes/backup.js.map +1 -0
  43. package/dist/routes/instances.d.ts +1 -0
  44. package/dist/routes/instances.js +61 -15
  45. package/dist/routes/instances.js.map +1 -1
  46. package/dist/routes/llm.d.ts +15 -0
  47. package/dist/routes/llm.js +246 -0
  48. package/dist/routes/llm.js.map +1 -0
  49. package/dist/routes/setup.js +32 -7
  50. package/dist/routes/setup.js.map +1 -1
  51. package/dist/routes/system.js +31 -6
  52. package/dist/routes/system.js.map +1 -1
  53. package/dist/server.js +69 -5
  54. package/dist/server.js.map +1 -1
  55. package/dist/services/app-compiler.d.ts +15 -0
  56. package/dist/services/app-compiler.js +169 -0
  57. package/dist/services/app-compiler.js.map +1 -0
  58. package/dist/services/app-manager.d.ts +17 -0
  59. package/dist/services/app-manager.js +168 -0
  60. package/dist/services/app-manager.js.map +1 -0
  61. package/dist/services/backup-manager.d.ts +253 -0
  62. package/dist/services/backup-manager.js +2014 -0
  63. package/dist/services/backup-manager.js.map +1 -0
  64. package/dist/services/backup-verify.d.ts +26 -0
  65. package/dist/services/backup-verify.js +240 -0
  66. package/dist/services/backup-verify.js.map +1 -0
  67. package/dist/services/instance-manager.d.ts +73 -5
  68. package/dist/services/instance-manager.js +446 -74
  69. package/dist/services/instance-manager.js.map +1 -1
  70. package/dist/services/job-manager.d.ts +22 -0
  71. package/dist/services/job-manager.js +102 -0
  72. package/dist/services/job-manager.js.map +1 -0
  73. package/dist/services/llm-proxy/adapters.js +5 -1
  74. package/dist/services/llm-proxy/adapters.js.map +1 -1
  75. package/dist/services/llm-proxy/index.d.ts +30 -0
  76. package/dist/services/llm-proxy/index.js +71 -1
  77. package/dist/services/llm-proxy/index.js.map +1 -1
  78. package/dist/services/llm-proxy/ssrf.js +1 -1
  79. package/dist/services/llm-proxy/ssrf.js.map +1 -1
  80. package/dist/services/nomad-manager.js +263 -159
  81. package/dist/services/nomad-manager.js.map +1 -1
  82. package/dist/services/panel-manager.d.ts +40 -0
  83. package/dist/services/panel-manager.js +346 -0
  84. package/dist/services/panel-manager.js.map +1 -0
  85. package/dist/services/process-manager.js +24 -10
  86. package/dist/services/process-manager.js.map +1 -1
  87. package/dist/services/setup-manager.d.ts +4 -2
  88. package/dist/services/setup-manager.js +578 -154
  89. package/dist/services/setup-manager.js.map +1 -1
  90. package/dist/services/telemetry/activation.js +10 -7
  91. package/dist/services/telemetry/activation.js.map +1 -1
  92. package/dist/services/telemetry/client.js +7 -18
  93. package/dist/services/telemetry/client.js.map +1 -1
  94. package/dist/services/telemetry/heartbeat.js +12 -6
  95. package/dist/services/telemetry/heartbeat.js.map +1 -1
  96. package/dist/services/update-manager.d.ts +47 -0
  97. package/dist/services/update-manager.js +305 -0
  98. package/dist/services/update-manager.js.map +1 -0
  99. package/dist/types.d.ts +62 -0
  100. package/dist/utils/fs.d.ts +85 -0
  101. package/dist/utils/fs.js +111 -0
  102. package/dist/utils/fs.js.map +1 -0
  103. package/dist/utils/safe-json.d.ts +2 -0
  104. package/dist/utils/safe-json.js +22 -16
  105. package/dist/utils/safe-json.js.map +1 -1
  106. package/install/jishu-install.sh +582 -138
  107. package/install/jishu-uninstall.sh +276 -391
  108. package/install/post-install.sh +85 -3
  109. package/openclaw-entry.sh +15 -0
  110. package/package.json +12 -5
  111. package/public/assets/Dashboard-CQsp1Mr9.js +1 -0
  112. package/public/assets/InitPassword-BEC8SE4A.js +1 -0
  113. package/public/assets/InstanceDetail-B5wTgNEg.js +17 -0
  114. package/public/assets/{Login-RkjzTNWg.js → Login-D1Bt-Lyk.js} +1 -1
  115. package/public/assets/NewInstance-GQzm3K9D.js +1 -0
  116. package/public/assets/Settings-ByjGlqhP.js +1 -0
  117. package/public/assets/Setup-cMF21Y-8.js +1 -0
  118. package/public/assets/index-B6qQP4mH.css +1 -0
  119. package/public/assets/index-BuTQtuNy.js +16 -0
  120. package/public/assets/logo-black-theme-DywLAtFy.png +0 -0
  121. package/public/assets/logo-white-theme-DXffFAWw.png +0 -0
  122. package/public/assets/{providers-lBSOjUWy.js → providers-V-vwrExZ.js} +1 -1
  123. package/public/assets/{usePolling-CqQ8hrNc.js → usePolling-CK0DfI4h.js} +1 -1
  124. package/public/assets/{vendor-i18n-Bvxxh8Di.js → vendor-i18n-CfW0RvgE.js} +1 -1
  125. package/public/assets/vendor-react-B1-3Yrt-.js +59 -0
  126. package/public/index.html +4 -4
  127. package/dist/doctor.js.map +0 -1
  128. package/public/assets/Dashboard-CAOQDYDR.js +0 -1
  129. package/public/assets/InitPassword-CkehIkJG.js +0 -1
  130. package/public/assets/InstanceDetail-CzW2S95J.js +0 -14
  131. package/public/assets/NewInstance-DdbErdjA.js +0 -1
  132. package/public/assets/Settings-BUD7zwv9.js +0 -1
  133. package/public/assets/Setup-RRTIERGG.js +0 -1
  134. package/public/assets/index-77Ug7feY.css +0 -1
  135. package/public/assets/index-DfRnVUQR.js +0 -16
  136. package/public/assets/vendor-react-DONn7uBV.js +0 -59
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,17 +1,35 @@
1
1
  export declare const JISHUSHELL_HOME: string;
2
2
  export declare const INSTANCES_DIR: string;
3
+ export declare const APPS_DIR: string;
4
+ export declare const BACKUPS_DIR: string;
5
+ export declare const TMP_DIR: string;
3
6
  export declare const AUTH_FILE: string;
4
7
  export declare const PANEL_CONFIG_FILE: string;
5
8
  export declare function getJwtSecret(): string;
6
9
  export declare const JWT_ALGORITHM: "HS256";
7
10
  export declare const JWT_EXPIRE_HOURS = 24;
8
11
  export declare const OPENCLAW_BIN: string;
9
- export declare const DEFAULT_OPENCLAW_DOCKER_IMAGE = "jishushell-openclaw:local";
10
- export declare const CUSTOM_IMAGE_PREFIX = "jishushell-openclaw";
12
+ export declare const DEFAULT_OPENCLAW_DOCKER_IMAGE = "ghcr.io/x-aijishu/openclaw-runtime:latest";
11
13
  export declare function getOpenclawDockerImage(): string;
12
- /** Check whether the image is an official remote image (ghcr.io/openclaw/openclaw). */
13
- export declare function isOfficialImage(image?: string): boolean;
14
14
  export declare function setOpenclawDockerImage(tag: string): void;
15
+ /**
16
+ * If panel.json stores a mutable openclaw_image tag (`:latest` or `:slim`),
17
+ * resolve the bundled OpenClaw version from the image's
18
+ * `/app/node_modules/openclaw/package.json` and rewrite panel.json to the
19
+ * immutable `:${version}` tag.
20
+ *
21
+ * Why not read the OCI label? Because it can be wrong. A past CI bug produced
22
+ * images where `org.opencontainers.image.version: 2026.4.9` coexisted with
23
+ * `/app/package.json: 2026.4.8`. We trust the file inside the image, not the
24
+ * metadata around it.
25
+ *
26
+ * Runs once at server startup so upgrades from older JishuShell releases
27
+ * (which defaulted to `:latest`) automatically pin to a stable tag. Stops
28
+ * Nomad from re-pulling the baseline image every time GHCR republishes
29
+ * `:latest`. Silent no-op when Docker is unreachable, the image is not
30
+ * present locally, or the bundled package.json is missing.
31
+ */
32
+ export declare function migrateOpenclawImageTagIfNeeded(): void;
15
33
  export declare function ensureDirs(): void;
16
34
  export declare function getPanelConfig(): Record<string, any>;
17
35
  export declare function savePanelConfig(config: Record<string, any>): Record<string, any>;
package/dist/config.js CHANGED
@@ -1,13 +1,17 @@
1
1
  import { execFileSync } from "child_process";
2
2
  import { randomBytes } from "crypto";
3
- import { chmodSync, closeSync, existsSync, fdatasyncSync, mkdirSync, openSync, readFileSync, writeFileSync } from "fs";
3
+ import { closeSync, existsSync, fdatasyncSync, openSync, readFileSync } from "fs";
4
4
  import { generateFingerprint } from "./services/telemetry/device-fingerprint.js";
5
5
  import { homedir } from "os";
6
- import { dirname, join, resolve } from "path";
6
+ import { join, resolve } from "path";
7
7
  import { safeReadJson, safeWriteJson } from "./utils/safe-json.js";
8
+ import { ensureDirHost, writeSecretFile } from "./utils/fs.js";
8
9
  import { TtlCache } from "./utils/ttl-cache.js";
9
10
  export const JISHUSHELL_HOME = resolve(process.env.JISHUSHELL_HOME || join(homedir(), ".jishushell"));
10
11
  export const INSTANCES_DIR = join(JISHUSHELL_HOME, "instances");
12
+ export const APPS_DIR = join(JISHUSHELL_HOME, "apps");
13
+ export const BACKUPS_DIR = join(JISHUSHELL_HOME, "backups");
14
+ export const TMP_DIR = join(JISHUSHELL_HOME, "tmp");
11
15
  export const AUTH_FILE = join(JISHUSHELL_HOME, "auth.json");
12
16
  export const PANEL_CONFIG_FILE = join(JISHUSHELL_HOME, "panel.json");
13
17
  const JWT_SECRET_FILE = join(JISHUSHELL_HOME, "jwt-secret");
@@ -33,8 +37,8 @@ export function getJwtSecret() {
33
37
  }
34
38
  // 3. Auto-generate and persist (fsync to protect against RPi power loss)
35
39
  _jwtSecret = randomBytes(48).toString("base64url");
36
- mkdirSync(dirname(JWT_SECRET_FILE), { recursive: true, mode: 0o700 });
37
- writeFileSync(JWT_SECRET_FILE, _jwtSecret, { mode: 0o600 });
40
+ ensureDirHost(join(JISHUSHELL_HOME));
41
+ writeSecretFile(JWT_SECRET_FILE, _jwtSecret);
38
42
  try {
39
43
  const fd = openSync(JWT_SECRET_FILE, "r");
40
44
  fdatasyncSync(fd);
@@ -46,48 +50,104 @@ export function getJwtSecret() {
46
50
  export const JWT_ALGORITHM = "HS256";
47
51
  export const JWT_EXPIRE_HOURS = 24;
48
52
  export const OPENCLAW_BIN = process.env.OPENCLAW_BIN || "openclaw-gateway";
49
- // Default Docker image: locally built from npm package + Python.
50
- export const DEFAULT_OPENCLAW_DOCKER_IMAGE = "jishushell-openclaw:local";
51
- const OFFICIAL_IMAGE_PREFIX = "ghcr.io/openclaw/openclaw";
52
- // Custom image built locally (npm install openclaw + Python)
53
- export const CUSTOM_IMAGE_PREFIX = "jishushell-openclaw";
53
+ // Docker image: pre-built slim image from registry.
54
+ export const DEFAULT_OPENCLAW_DOCKER_IMAGE = "ghcr.io/x-aijishu/openclaw-runtime:latest";
54
55
  export function getOpenclawDockerImage() {
55
- if (process.env.OPENCLAW_DOCKER_IMAGE)
56
- return process.env.OPENCLAW_DOCKER_IMAGE;
57
56
  const stored = getPanelConfig().openclaw_image;
58
- if (typeof stored === "string" && stored.trim())
59
- return stored;
60
- // panel.json has no image try scanning local Docker daemon
61
- try {
62
- const lines = execFileSync("docker", ["images", "--format", "{{.Repository}}:{{.Tag}}"], { encoding: "utf8", timeout: 5000 }).split("\n");
63
- const found = lines.find((l) => l.startsWith(CUSTOM_IMAGE_PREFIX + ":"))
64
- || lines.find((l) => l.startsWith(OFFICIAL_IMAGE_PREFIX + ":"));
65
- if (found) {
66
- // Persist so we don't scan every call
67
- setOpenclawDockerImage(found);
68
- return found;
57
+ if (typeof stored === "string" && stored.trim()) {
58
+ // Migrate truly incompatible old image name formats to the registry default.
59
+ // - jishushell/openclaw:* and jishushell-base:* used a different architecture
60
+ // (full image with baked-in npm package) — incompatible with the current
61
+ // slim bind-mount model. Replace them so a fresh pull/build is triggered.
62
+ // NOTE: jishushell-openclaw:* is NOT included here — those images were built
63
+ // by jishu-install-china.sh using the same slim base architecture as
64
+ // ghcr.io/x-aijishu/openclaw-runtime:*. Migrating that tag to an absent
65
+ // DEFAULT would corrupt panel.json with a non-existent image reference.
66
+ if (/^jishushell\/openclaw:/.test(stored) || /^jishushell-base:/.test(stored)) {
67
+ setOpenclawDockerImage(DEFAULT_OPENCLAW_DOCKER_IMAGE);
68
+ return DEFAULT_OPENCLAW_DOCKER_IMAGE;
69
69
  }
70
+ return stored;
70
71
  }
71
- catch { }
72
72
  return DEFAULT_OPENCLAW_DOCKER_IMAGE;
73
73
  }
74
- /** Check whether the image is an official remote image (ghcr.io/openclaw/openclaw). */
75
- export function isOfficialImage(image) {
76
- const img = image || getOpenclawDockerImage();
77
- return img.startsWith(OFFICIAL_IMAGE_PREFIX + ":") || img === OFFICIAL_IMAGE_PREFIX;
78
- }
79
74
  export function setOpenclawDockerImage(tag) {
80
75
  const config = getPanelConfig();
81
76
  config.openclaw_image = tag;
82
77
  savePanelConfig(config);
83
78
  }
79
+ /**
80
+ * If panel.json stores a mutable openclaw_image tag (`:latest` or `:slim`),
81
+ * resolve the bundled OpenClaw version from the image's
82
+ * `/app/node_modules/openclaw/package.json` and rewrite panel.json to the
83
+ * immutable `:${version}` tag.
84
+ *
85
+ * Why not read the OCI label? Because it can be wrong. A past CI bug produced
86
+ * images where `org.opencontainers.image.version: 2026.4.9` coexisted with
87
+ * `/app/package.json: 2026.4.8`. We trust the file inside the image, not the
88
+ * metadata around it.
89
+ *
90
+ * Runs once at server startup so upgrades from older JishuShell releases
91
+ * (which defaulted to `:latest`) automatically pin to a stable tag. Stops
92
+ * Nomad from re-pulling the baseline image every time GHCR republishes
93
+ * `:latest`. Silent no-op when Docker is unreachable, the image is not
94
+ * present locally, or the bundled package.json is missing.
95
+ */
96
+ export function migrateOpenclawImageTagIfNeeded() {
97
+ const stored = getPanelConfig().openclaw_image;
98
+ if (typeof stored !== "string" || !stored.trim())
99
+ return;
100
+ // Only migrate known mutable suffixes.
101
+ if (!/:(latest|slim)$/.test(stored))
102
+ return;
103
+ // Read the real bundled version by spawning a throw-away container with
104
+ // --entrypoint node, bypassing openclaw-entry.sh's `.npm-global/` override
105
+ // so we see exactly what's in the image layer, not a host mount.
106
+ let version = "";
107
+ try {
108
+ version = execFileSync("docker", [
109
+ "run", "--rm",
110
+ "--entrypoint", "node",
111
+ stored,
112
+ "-p",
113
+ "require('/app/node_modules/openclaw/package.json').version",
114
+ ], { timeout: 20000, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] }).trim();
115
+ }
116
+ catch {
117
+ return; // docker missing, image not present, or path not bundled
118
+ }
119
+ if (!/^\d+\.\d+\.\d+/.test(version))
120
+ return;
121
+ // Build the pinned tag: ghcr.io/.../openclaw-runtime:latest → ...:2026.4.9
122
+ const colonIdx = stored.lastIndexOf(":");
123
+ const slashIdx = stored.lastIndexOf("/");
124
+ if (colonIdx <= slashIdx)
125
+ return; // no tag part to replace
126
+ const repo = stored.slice(0, colonIdx);
127
+ const pinnedTag = `${repo}:${version}`;
128
+ if (pinnedTag === stored)
129
+ return;
130
+ // Create a local tag alias so Docker/Nomad can resolve the pinned tag
131
+ // without going back to the registry.
132
+ try {
133
+ execFileSync("docker", ["tag", stored, pinnedTag], { timeout: 10000, stdio: "ignore" });
134
+ }
135
+ catch {
136
+ return; // tag creation failed, keep the mutable tag
137
+ }
138
+ // Drop the mutable source tag (`:latest` / `:slim`) now that the pinned
139
+ // alias exists. The image itself stays alive via the new pinned reference.
140
+ // Best-effort: silent when the tag is already gone or in use.
141
+ try {
142
+ execFileSync("docker", ["rmi", stored], { timeout: 10000, stdio: "ignore" });
143
+ }
144
+ catch { /* best-effort cleanup */ }
145
+ setOpenclawDockerImage(pinnedTag);
146
+ console.log(`[config] migrated openclaw_image: ${stored} → ${pinnedTag}`);
147
+ }
84
148
  export function ensureDirs() {
85
- for (const dir of [JISHUSHELL_HOME, INSTANCES_DIR]) {
86
- mkdirSync(dir, { recursive: true, mode: 0o775 });
87
- try {
88
- chmodSync(dir, 0o775);
89
- }
90
- catch { /* ignore if not owner */ }
149
+ for (const dir of [JISHUSHELL_HOME, INSTANCES_DIR, APPS_DIR]) {
150
+ ensureDirHost(dir);
91
151
  }
92
152
  }
93
153
  const _panelConfigCache = new TtlCache(5_000);
@@ -110,23 +170,6 @@ export function ensurePanelConfig() {
110
170
  safeWriteJson(PANEL_CONFIG_FILE, JSON.stringify(defaults, null, 2), true);
111
171
  _panelConfigCache.invalidate();
112
172
  }
113
- const cfg = getPanelConfig();
114
- if (!cfg.openclaw_image) {
115
- try {
116
- const lines = execFileSync("docker", ["images", "--format", "{{.Repository}}:{{.Tag}}"], { encoding: "utf8", timeout: 5000 }).split("\n");
117
- // Prefer custom image (with Python), then official, then legacy
118
- const custom = lines.find((l) => l.startsWith(CUSTOM_IMAGE_PREFIX + ":"));
119
- const official = lines.find((l) => l.startsWith(OFFICIAL_IMAGE_PREFIX + ":"));
120
- const legacy = lines.find((l) => l.startsWith("openclaw:"));
121
- const raw = custom || official || legacy || "";
122
- if (raw) {
123
- cfg.openclaw_image = raw;
124
- savePanelConfig({ ...defaults, ...cfg });
125
- }
126
- }
127
- catch {
128
- }
129
- }
130
173
  }
131
174
  export function getServiceManagerType() {
132
175
  return getPanelConfig().service_manager || "nomad";
@@ -155,8 +198,7 @@ export function getDeviceId() {
155
198
  }
156
199
  }
157
200
  _deviceId = generateFingerprint();
158
- mkdirSync(dirname(DEVICE_ID_FILE), { recursive: true, mode: 0o700 });
159
- writeFileSync(DEVICE_ID_FILE, _deviceId, { mode: 0o600 });
201
+ writeSecretFile(DEVICE_ID_FILE, _deviceId);
160
202
  try {
161
203
  const fd = openSync(DEVICE_ID_FILE, "r");
162
204
  fdatasyncSync(fd);
@@ -190,8 +232,7 @@ export function getAesKey() {
190
232
  }
191
233
  // 3. Auto-generate and persist (fsync to protect against RPi power loss)
192
234
  _aesKey = randomBytes(32);
193
- mkdirSync(dirname(ENCRYPTION_KEY_FILE), { recursive: true, mode: 0o700 });
194
- writeFileSync(ENCRYPTION_KEY_FILE, _aesKey, { mode: 0o600 });
235
+ writeSecretFile(ENCRYPTION_KEY_FILE, _aesKey);
195
236
  try {
196
237
  const fd = openSync(ENCRYPTION_KEY_FILE, "r");
197
238
  fdatasyncSync(fd);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/control.d.ts CHANGED
@@ -1,44 +1,16 @@
1
1
  /**
2
- * JishuShell process control start / stop / restart / doctor
2
+ * src/control.ts 向后兼容 re-export
3
3
  *
4
- * Supports three run modes (detected automatically):
5
- * systemd — /etc/systemd/system/jishushell.service exists
6
- * launchd — ~/Library/LaunchAgents/com.jishushell.panel.plist exists (macOS)
7
- * process PID file at ~/.jishushell/jishushell.pid (fallback)
8
- */
9
- import { DoctorOptions } from "./doctor.js";
10
- export type RunMode = "systemd" | "launchd" | "process";
11
- export declare function detectRunMode(): RunMode;
12
- export declare function startPanel(port?: number): Promise<void>;
13
- export declare function stopPanel(): Promise<void>;
14
- export declare function restartPanel(port?: number): Promise<void>;
15
- export declare function runOnboard(opts?: {
16
- force?: boolean;
17
- }): Promise<void>;
18
- export declare function runDoctor(opts?: DoctorOptions): Promise<boolean>;
19
- export declare function showStatus(): Promise<void>;
20
- export declare function stopWithJobs(): Promise<void>;
21
- export declare function resetAll(opts?: {
22
- yes?: boolean;
23
- }): Promise<void>;
24
- export interface UpdateInfo {
25
- hasUpdate: boolean;
26
- currentVersion: string;
27
- latestVersion: string;
28
- }
29
- export declare function checkUpdate(): Promise<UpdateInfo>;
30
- /**
31
- * Install the latest version of jishushell via npm then restart the panel.
32
- * Resolves npm from the same bin directory as the running Node.js executable
33
- * so it works even when PATH does not include nvm's bin dir (e.g. systemd).
4
+ * 业务逻辑已迁移至:
5
+ * services/panel-manager.ts面板进程生命周期(纯逻辑,无 I/O)
6
+ * services/update-manager.ts 版本检查与升级(纯逻辑,无 I/O)
7
+ * services/job-manager.ts ServiceManager 与实例数据(纯逻辑,无 I/O)
8
+ *
9
+ * CLI 输出逻辑已迁移至 cli/ 各子模块。
10
+ * 本文件仅保留 re-exports 供尚未迁移的外部引用使用。
34
11
  */
35
- export declare function runUpdate(): Promise<void>;
36
- export declare function runPairingList(opts?: {
37
- instanceId?: string;
38
- }): Promise<boolean>;
39
- export declare function runPairingApprove(opts: {
40
- instanceId?: string;
41
- channel: string;
42
- code: string;
43
- notify?: boolean;
44
- }): Promise<boolean>;
12
+ export type { RunMode, StartResult } from "./services/panel-manager.js";
13
+ export { detectRunMode, getPanelPort, isPortListening, readAlivePid, waitForPortFree, waitForPortOpen, killPortProcess, systemdStatus, startPanel, stopPanel, restartPanel, PID_FILE, LOG_FILE, SYSTEMD_SERVICE, LAUNCHD_PLIST, CLI_PATH, } from "./services/panel-manager.js";
14
+ export type { UpdateInfo } from "./services/update-manager.js";
15
+ export { checkUpdate, upgradePackage, scheduleRestart, } from "./services/update-manager.js";
16
+ export { getSvc, listInstanceIds, readInstanceMeta, resolveInstanceId, resolveInstanceForPairing, } from "./services/job-manager.js";