jishushell 0.5.15 → 0.5.22

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 (97) hide show
  1. package/Dockerfile.hermes-slim +2 -5
  2. package/apps/filebrowser-container.yaml +1 -0
  3. package/apps/ollama-binary.yaml +44 -0
  4. package/apps/ollama-with-hollama-binary.yaml +45 -1
  5. package/dist/cli/doctor.js +144 -16
  6. package/dist/cli/doctor.js.map +1 -1
  7. package/dist/install.js +1 -1
  8. package/dist/install.js.map +1 -1
  9. package/dist/routes/instances.js +42 -5
  10. package/dist/routes/instances.js.map +1 -1
  11. package/dist/routes/llm.js +29 -0
  12. package/dist/routes/llm.js.map +1 -1
  13. package/dist/server.js +18 -4
  14. package/dist/server.js.map +1 -1
  15. package/dist/services/agent-apps/catalog.d.ts +3 -0
  16. package/dist/services/agent-apps/catalog.js +40 -13
  17. package/dist/services/agent-apps/catalog.js.map +1 -1
  18. package/dist/services/agent-apps/installers/shell-script.d.ts +1 -1
  19. package/dist/services/agent-apps/installers/shell-script.js +19 -2
  20. package/dist/services/agent-apps/installers/shell-script.js.map +1 -1
  21. package/dist/services/agent-apps/types.d.ts +3 -0
  22. package/dist/services/app/app-manager.d.ts +8 -0
  23. package/dist/services/app/app-manager.js +77 -3
  24. package/dist/services/app/app-manager.js.map +1 -1
  25. package/dist/services/app/openclaw-manager.js +17 -2
  26. package/dist/services/app/openclaw-manager.js.map +1 -1
  27. package/dist/services/backup-manager.js +43 -4
  28. package/dist/services/backup-manager.js.map +1 -1
  29. package/dist/services/capability-endpoint-validator.js +26 -7
  30. package/dist/services/capability-endpoint-validator.js.map +1 -1
  31. package/dist/services/instance-manager.js +89 -9
  32. package/dist/services/instance-manager.js.map +1 -1
  33. package/dist/services/llm-proxy/index.d.ts +28 -0
  34. package/dist/services/llm-proxy/index.js +76 -3
  35. package/dist/services/llm-proxy/index.js.map +1 -1
  36. package/dist/services/llm-proxy/validate-key.d.ts +41 -0
  37. package/dist/services/llm-proxy/validate-key.js +672 -0
  38. package/dist/services/llm-proxy/validate-key.js.map +1 -0
  39. package/dist/services/macos-launchd.d.ts +89 -0
  40. package/dist/services/macos-launchd.js +273 -0
  41. package/dist/services/macos-launchd.js.map +1 -0
  42. package/dist/services/nomad-manager.d.ts +7 -0
  43. package/dist/services/nomad-manager.js +290 -79
  44. package/dist/services/nomad-manager.js.map +1 -1
  45. package/dist/services/panel-manager.js +20 -10
  46. package/dist/services/panel-manager.js.map +1 -1
  47. package/dist/services/runtime/adapters/custom.js +56 -0
  48. package/dist/services/runtime/adapters/custom.js.map +1 -1
  49. package/dist/services/runtime/adapters/hermes.d.ts +4 -3
  50. package/dist/services/runtime/adapters/hermes.js +165 -63
  51. package/dist/services/runtime/adapters/hermes.js.map +1 -1
  52. package/dist/services/runtime/adapters/openclaw.d.ts +28 -0
  53. package/dist/services/runtime/adapters/openclaw.js +502 -4
  54. package/dist/services/runtime/adapters/openclaw.js.map +1 -1
  55. package/dist/services/setup-manager.js +97 -50
  56. package/dist/services/setup-manager.js.map +1 -1
  57. package/dist/services/update-manager.js +32 -14
  58. package/dist/services/update-manager.js.map +1 -1
  59. package/dist/types.d.ts +1 -0
  60. package/install/jishu-install.sh +247 -35
  61. package/install/jishu-uninstall.sh +45 -5
  62. package/package.json +5 -2
  63. package/public/assets/ApiKeyField-CvyAOcJS.js +1 -0
  64. package/public/assets/Dashboard-AuJESBlJ.js +1 -0
  65. package/public/assets/{HermesChatPanel-B_2HlVBQ.js → HermesChatPanel-CByPREwb.js} +1 -1
  66. package/public/assets/HermesConfigForm-DRda8FKX.js +4 -0
  67. package/public/assets/InitPassword-ka4wNpM5.js +1 -0
  68. package/public/assets/InstanceDetail-Cg1nS8HX.js +92 -0
  69. package/public/assets/Login-aPajuQzf.js +1 -0
  70. package/public/assets/NewInstance-Dd1ebNIx.js +1 -0
  71. package/public/assets/ProviderRecommendations-DFmADQ7V.js +1 -0
  72. package/public/assets/Settings-BYQnbLYL.js +1 -0
  73. package/public/assets/Setup-D05lwDOV.js +1 -0
  74. package/public/assets/WeixinLoginPanel-D89kdhP4.js +9 -0
  75. package/public/assets/index-HSXCsceK.css +1 -0
  76. package/public/assets/{index-BZc5zH7u.js → index-bnBu0nlQ.js} +7 -7
  77. package/public/assets/registry-C_qeFTkZ.js +2 -0
  78. package/public/assets/usePolling-Bn93fe7M.js +1 -0
  79. package/public/assets/{vendor-i18n-y9V7Sfuu.js → vendor-i18n-flxcMVeP.js} +2 -2
  80. package/public/assets/{vendor-react-BWrEVJVb.js → vendor-react-ZC5T_huj.js} +1 -1
  81. package/public/index.html +4 -4
  82. package/scripts/check-colima-launchd.mjs +230 -0
  83. package/public/assets/Dashboard-BdWPtroF.js +0 -1
  84. package/public/assets/HermesConfigForm-DVlhg3WV.js +0 -4
  85. package/public/assets/InitPassword-D7glTExX.js +0 -1
  86. package/public/assets/InstanceDetail-CxSy2cpe.js +0 -92
  87. package/public/assets/Login-Cfr5c2sv.js +0 -1
  88. package/public/assets/NewInstance-BIYDmJis.js +0 -1
  89. package/public/assets/ProviderRecommendations-BuRnvRcI.js +0 -1
  90. package/public/assets/Settings-Cc-tYBil.js +0 -1
  91. package/public/assets/Setup-lGZEk5jq.js +0 -1
  92. package/public/assets/WeixinLoginPanel-CoGqzxeV.js +0 -9
  93. package/public/assets/index-87IJXG-w.css +0 -1
  94. package/public/assets/input-paste-CrNVAyOy.js +0 -1
  95. package/public/assets/providers-DtNXh9JD.js +0 -1
  96. package/public/assets/registry-BWnkJgZ1.js +0 -2
  97. package/public/assets/usePolling-CwwT9KrC.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-key.js","sourceRoot":"","sources":["../../../src/services/llm-proxy/validate-key.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * macOS is Apple Silicon only. Colima is always launched with these — never
3
+ * derive an Intel/qemu variant in the TS path (mirrors the bash constants
4
+ * block right after `_COLIMA_SOCKET`).
5
+ */
6
+ export declare const COLIMA_ARCH = "aarch64";
7
+ export declare const COLIMA_VM_TYPE = "vz";
8
+ export interface ArchGuardResult {
9
+ ok: boolean;
10
+ message?: string;
11
+ }
12
+ /**
13
+ * jishushell on macOS supports Apple Silicon (arm64) only. The bash
14
+ * installer `exit 1`s on non-arm64 Darwin; the TS path runs in-process so
15
+ * callers RETURN an InstallResult error instead of exiting.
16
+ */
17
+ export declare function appleSiliconGuard(): ArchGuardResult;
18
+ export interface ColimaWrapperArgs {
19
+ colimaHome: string;
20
+ profile: string;
21
+ socket: string;
22
+ colimaBin: string;
23
+ }
24
+ /**
25
+ * `colima-launchd-wrapper.sh` — behaviourally byte-equivalent to the
26
+ * bash-generated wrapper: set -u; mkdir -p COLIMA_HOME; atomic mkdir
27
+ * single-flight lock + trap rmdir EXIT; docker_ok() probe; idempotent
28
+ * early-exit; ≤60s en0 wait; stale-state `colima stop` ONLY (NEVER
29
+ * `colima delete`); ≤5-attempt `colima start … --vm-type vz
30
+ * --arch aarch64 --activate=false` with `sleep attempt*10` backoff.
31
+ */
32
+ export declare function buildColimaWrapperScript(args: ColimaWrapperArgs): string;
33
+ export interface ColimaPlistArgs {
34
+ wrapperPath: string;
35
+ colimaHome: string;
36
+ logPath: string;
37
+ }
38
+ /**
39
+ * `com.jishushell.colima.plist` — ProgramArguments = [wrapper] only;
40
+ * RunAtLoad true; KeepAlive {SuccessfulExit:false}; ThrottleInterval 30;
41
+ * StdOut/StdErr → colima-launchd.log. Mirrors `_install_colima_launchd`.
42
+ */
43
+ export declare function buildColimaPlist(args: ColimaPlistArgs): string;
44
+ export interface NomadWaitWrapperArgs {
45
+ dockerHost: string;
46
+ nomadBin: string;
47
+ configPath: string;
48
+ }
49
+ /**
50
+ * `nomad-launchd-wrapper.sh` — exports DOCKER_HOST + PATH, polls
51
+ * `docker info` for up to 180s, then `exec`s the real `nomad agent`.
52
+ * Without this gate, post-reboot boot ordering poisons the docker driver
53
+ * fingerprint (jobs stuck `pending` / `missing drivers: 1`).
54
+ * Mirrors `_install_nomad_wait_docker_wrapper`.
55
+ */
56
+ export declare function buildNomadWaitWrapper(args: NomadWaitWrapperArgs): string;
57
+ export interface NomadPlistArgs {
58
+ wrapperPath: string;
59
+ dockerHost: string;
60
+ logPath: string;
61
+ }
62
+ /**
63
+ * `com.jishushell.nomad.plist` — ProgramArguments = [nomad-wait-wrapper];
64
+ * DOCKER_HOST + PATH env; RunAtLoad true; KeepAlive true.
65
+ * Mirrors `_install_nomad_launchd`.
66
+ */
67
+ export declare function buildNomadPlist(args: NomadPlistArgs): string;
68
+ export interface PanelGateWrapperArgs {
69
+ socket: string;
70
+ panelStartWrapper: string;
71
+ }
72
+ /**
73
+ * `panel-launchd-wrapper.sh` — lightweight 60s docker-readiness gate so
74
+ * the first post-reboot page load doesn't flash "image missing". On
75
+ * timeout it starts anyway (the UI must be observable). Then it `exec`s
76
+ * the existing panel-start wrapper via `/bin/sh` with `serve`.
77
+ * Mirrors the panel gate block in `install_jishushell_service`.
78
+ */
79
+ export declare function buildPanelGateWrapper(args: PanelGateWrapperArgs): string;
80
+ export interface PanelPlistArgs {
81
+ gateWrapperPath: string;
82
+ logPath: string;
83
+ }
84
+ /**
85
+ * `com.jishushell.panel.plist` — ProgramArguments = [panel-gate];
86
+ * RunAtLoad true; KeepAlive true. Mirrors the panel plist block in
87
+ * `install_jishushell_service`.
88
+ */
89
+ export declare function buildPanelPlist(args: PanelPlistArgs): string;
@@ -0,0 +1,273 @@
1
+ /**
2
+ * Canonical, IO-free builders for the macOS launchd artifacts that keep
3
+ * Colima / Nomad / the panel surviving a headless reboot.
4
+ *
5
+ * These mirror, behaviour-for-behaviour, the artifacts that
6
+ * `install/jishu-install.sh` generates on a real Mac (validated:
7
+ * `check-colima-launchd OK`). The TypeScript install path
8
+ * (`jishushell install` CLI + the Setup wizard API) calls these so
9
+ * reinstalls / updates via the TS path do NOT revert the reboot-recovery
10
+ * fix.
11
+ *
12
+ * TS-escaping rule: these are TS template strings. Install-time values
13
+ * interpolate via `${...}`. Every SHELL-RUNTIME `$` must reach the
14
+ * generated script as a LITERAL dollar, so it is written as `\$` inside
15
+ * the template (e.g. `\${SOCK}`, `\$(date +%s)`, `\$attempt`).
16
+ */
17
+ import { arch as osArch } from "node:os";
18
+ const STD_PATH = "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin";
19
+ /**
20
+ * macOS is Apple Silicon only. Colima is always launched with these — never
21
+ * derive an Intel/qemu variant in the TS path (mirrors the bash constants
22
+ * block right after `_COLIMA_SOCKET`).
23
+ */
24
+ export const COLIMA_ARCH = "aarch64";
25
+ export const COLIMA_VM_TYPE = "vz";
26
+ /**
27
+ * jishushell on macOS supports Apple Silicon (arm64) only. The bash
28
+ * installer `exit 1`s on non-arm64 Darwin; the TS path runs in-process so
29
+ * callers RETURN an InstallResult error instead of exiting.
30
+ */
31
+ export function appleSiliconGuard() {
32
+ if (process.platform === "darwin" && osArch() !== "arm64") {
33
+ return {
34
+ ok: false,
35
+ message: `jishushell on macOS supports Apple Silicon (arm64) only — detected ${osArch()}. Installation aborted.`,
36
+ };
37
+ }
38
+ return { ok: true };
39
+ }
40
+ /**
41
+ * `colima-launchd-wrapper.sh` — behaviourally byte-equivalent to the
42
+ * bash-generated wrapper: set -u; mkdir -p COLIMA_HOME; atomic mkdir
43
+ * single-flight lock + trap rmdir EXIT; docker_ok() probe; idempotent
44
+ * early-exit; ≤60s en0 wait; stale-state `colima stop` ONLY (NEVER
45
+ * `colima delete`); ≤5-attempt `colima start … --vm-type vz
46
+ * --arch aarch64 --activate=false` with `sleep attempt*10` backoff.
47
+ */
48
+ export function buildColimaWrapperScript(args) {
49
+ const { colimaHome, profile, socket, colimaBin } = args;
50
+ return `#!/bin/bash
51
+ # Auto-generated by jishushell (macos-launchd.ts) — do not edit by hand.
52
+ set -u
53
+ export COLIMA_HOME="${colimaHome}"
54
+ export PATH="${STD_PATH}"
55
+ COLIMA_BIN="${colimaBin}"
56
+ PROFILE="${profile}"
57
+ SOCK="${socket}"
58
+ LOCKDIR="${colimaHome}/.colima-launchd.lock.d"
59
+
60
+ # Ensure the colima home exists (launchd runs us at boot, independently).
61
+ mkdir -p "\$COLIMA_HOME"
62
+
63
+ # Reclaim a stale lock orphaned by SIGKILL/power-cut (mkdir-lock has no
64
+ # owner; rmdir only removes it if still empty — safe).
65
+ [ -d "\$LOCKDIR" ] && find "\$LOCKDIR" -maxdepth 0 -type d -mmin +10 -exec rmdir {} \\; 2>/dev/null || true
66
+
67
+ # Single-flight via atomic mkdir (POSIX-atomic, dependency-free, stock macOS
68
+ # compatible). If the lock dir already exists, another start is in progress —
69
+ # exit 0.
70
+ if ! mkdir "\$LOCKDIR" 2>/dev/null; then
71
+ echo "[colima-wrapper] another start in progress; exiting" >&2
72
+ exit 0
73
+ fi
74
+ trap 'rmdir "\$LOCKDIR" 2>/dev/null || true' EXIT
75
+
76
+ docker_ok() { DOCKER_HOST="unix://\$SOCK" /usr/bin/env docker info >/dev/null 2>&1; }
77
+
78
+ # Already up → idempotent no-op.
79
+ if docker_ok; then echo "[colima-wrapper] docker already reachable" >&2; exit 0; fi
80
+
81
+ # Wait up to 60s for the network (--network-host-addresses needs en0 up).
82
+ net_deadline=\$(( \$(date +%s) + 60 ))
83
+ while ! /sbin/ifconfig en0 2>/dev/null | grep -q "inet "; do
84
+ [ \$(date +%s) -ge \$net_deadline ] && break
85
+ sleep 2
86
+ done
87
+
88
+ # Unclean-shutdown residue: stop a half-broken VM, but NEVER delete it
89
+ # (delete destroys the openclaw image and all VM data).
90
+ status="\$("\$COLIMA_BIN" status "\$PROFILE" 2>&1 || true)"
91
+ if echo "\$status" | grep -qiE 'broken|cannot|error'; then
92
+ echo "[colima-wrapper] stale state detected; stopping (never deleting)" >&2
93
+ "\$COLIMA_BIN" stop "\$PROFILE" >/dev/null 2>&1 || true
94
+ fi
95
+
96
+ # Retry start with backoff until docker answers (~5 attempts).
97
+ attempt=0
98
+ while [ \$attempt -lt 5 ]; do
99
+ # Refresh our own lock mtime each attempt so a long (>budget) legit
100
+ # start is never reclaimed as stale by a concurrent launchd fire.
101
+ touch "\$LOCKDIR" 2>/dev/null || true
102
+ attempt=\$(( attempt + 1 ))
103
+ echo "[colima-wrapper] colima start attempt \$attempt" >&2
104
+ "\$COLIMA_BIN" start "\$PROFILE" \\
105
+ --vm-type ${COLIMA_VM_TYPE} --mount-type virtiofs \\
106
+ --network-host-addresses --arch ${COLIMA_ARCH} --activate=false \\
107
+ --cpu 2 --memory 4 --disk 60 >/dev/null 2>&1 || true
108
+ docker_ok && { echo "[colima-wrapper] docker reachable" >&2; exit 0; }
109
+ sleep \$(( attempt * 10 ))
110
+ done
111
+ echo "[colima-wrapper] exhausted retries; docker still unreachable" >&2
112
+ exit 1
113
+ `;
114
+ }
115
+ // NOTE: path values interpolated raw (no XML escaping) — byte-parity with
116
+ // install/jishu-install.sh; real macOS $HOME paths never contain & < >.
117
+ // This applies to every plist builder below (colima/nomad/panel).
118
+ /**
119
+ * `com.jishushell.colima.plist` — ProgramArguments = [wrapper] only;
120
+ * RunAtLoad true; KeepAlive {SuccessfulExit:false}; ThrottleInterval 30;
121
+ * StdOut/StdErr → colima-launchd.log. Mirrors `_install_colima_launchd`.
122
+ */
123
+ export function buildColimaPlist(args) {
124
+ const { wrapperPath, colimaHome, logPath } = args;
125
+ return `<?xml version="1.0" encoding="UTF-8"?>
126
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
127
+ <plist version="1.0">
128
+ <dict>
129
+ <key>Label</key>
130
+ <string>com.jishushell.colima</string>
131
+ <key>ProgramArguments</key>
132
+ <array>
133
+ <string>${wrapperPath}</string>
134
+ </array>
135
+ <key>EnvironmentVariables</key>
136
+ <dict>
137
+ <key>COLIMA_HOME</key>
138
+ <string>${colimaHome}</string>
139
+ <key>PATH</key>
140
+ <string>${STD_PATH}</string>
141
+ </dict>
142
+ <key>RunAtLoad</key>
143
+ <true/>
144
+ <key>KeepAlive</key>
145
+ <dict>
146
+ <key>SuccessfulExit</key>
147
+ <false/>
148
+ </dict>
149
+ <key>ThrottleInterval</key>
150
+ <integer>30</integer>
151
+ <key>StandardOutPath</key>
152
+ <string>${logPath}</string>
153
+ <key>StandardErrorPath</key>
154
+ <string>${logPath}</string>
155
+ </dict>
156
+ </plist>`;
157
+ }
158
+ /**
159
+ * `nomad-launchd-wrapper.sh` — exports DOCKER_HOST + PATH, polls
160
+ * `docker info` for up to 180s, then `exec`s the real `nomad agent`.
161
+ * Without this gate, post-reboot boot ordering poisons the docker driver
162
+ * fingerprint (jobs stuck `pending` / `missing drivers: 1`).
163
+ * Mirrors `_install_nomad_wait_docker_wrapper`.
164
+ */
165
+ export function buildNomadWaitWrapper(args) {
166
+ const { dockerHost, nomadBin, configPath } = args;
167
+ return `#!/bin/bash
168
+ # Auto-generated by jishushell (macos-launchd.ts) — do not edit by hand.
169
+ # Wait for the JishuShell Colima docker socket to come up, then exec nomad.
170
+ export DOCKER_HOST="${dockerHost}"
171
+ export PATH="${STD_PATH}"
172
+
173
+ deadline=\$(( \$(date +%s) + 180 ))
174
+ while ! /usr/bin/env docker info >/dev/null 2>&1; do
175
+ if [ \$(date +%s) -ge \$deadline ]; then
176
+ echo "[nomad-launchd-wrapper] timed out waiting for docker after 180s; starting nomad anyway" >&2
177
+ break
178
+ fi
179
+ sleep 2
180
+ done
181
+
182
+ exec "${nomadBin}" agent -config="${configPath}"
183
+ `;
184
+ }
185
+ /**
186
+ * `com.jishushell.nomad.plist` — ProgramArguments = [nomad-wait-wrapper];
187
+ * DOCKER_HOST + PATH env; RunAtLoad true; KeepAlive true.
188
+ * Mirrors `_install_nomad_launchd`.
189
+ */
190
+ export function buildNomadPlist(args) {
191
+ const { wrapperPath, dockerHost, logPath } = args;
192
+ return `<?xml version="1.0" encoding="UTF-8"?>
193
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
194
+ <plist version="1.0">
195
+ <dict>
196
+ <key>Label</key>
197
+ <string>com.jishushell.nomad</string>
198
+ <key>ProgramArguments</key>
199
+ <array>
200
+ <string>${wrapperPath}</string>
201
+ </array>
202
+ <key>EnvironmentVariables</key>
203
+ <dict>
204
+ <key>DOCKER_HOST</key>
205
+ <string>${dockerHost}</string>
206
+ <key>PATH</key>
207
+ <string>${STD_PATH}</string>
208
+ </dict>
209
+ <key>RunAtLoad</key>
210
+ <true/>
211
+ <key>KeepAlive</key>
212
+ <true/>
213
+ <key>StandardOutPath</key>
214
+ <string>${logPath}</string>
215
+ <key>StandardErrorPath</key>
216
+ <string>${logPath}</string>
217
+ </dict>
218
+ </plist>`;
219
+ }
220
+ /**
221
+ * `panel-launchd-wrapper.sh` — lightweight 60s docker-readiness gate so
222
+ * the first post-reboot page load doesn't flash "image missing". On
223
+ * timeout it starts anyway (the UI must be observable). Then it `exec`s
224
+ * the existing panel-start wrapper via `/bin/sh` with `serve`.
225
+ * Mirrors the panel gate block in `install_jishushell_service`.
226
+ */
227
+ export function buildPanelGateWrapper(args) {
228
+ const { socket, panelStartWrapper } = args;
229
+ return `#!/bin/bash
230
+ set -u
231
+ # Auto-generated by jishushell (macos-launchd.ts) — do not edit by hand.
232
+ # Lightweight 60s docker-readiness gate so the first post-reboot page
233
+ # load doesn't flash "image missing". Panel self-heals afterward, so on
234
+ # timeout we start anyway (the UI must be observable).
235
+ PANEL_DOCKER_WAIT_DEADLINE=60
236
+ export PATH="${STD_PATH}"
237
+ deadline=\$(( \$(date +%s) + \$PANEL_DOCKER_WAIT_DEADLINE ))
238
+ while ! DOCKER_HOST="unix://${socket}" /usr/bin/env docker info >/dev/null 2>&1; do
239
+ [ \$(date +%s) -ge \$deadline ] && { echo "[panel-gate] docker not ready after 60s; starting anyway" >&2; break; }
240
+ sleep 2
241
+ done
242
+ exec /bin/sh "${panelStartWrapper}" serve
243
+ `;
244
+ }
245
+ /**
246
+ * `com.jishushell.panel.plist` — ProgramArguments = [panel-gate];
247
+ * RunAtLoad true; KeepAlive true. Mirrors the panel plist block in
248
+ * `install_jishushell_service`.
249
+ */
250
+ export function buildPanelPlist(args) {
251
+ const { gateWrapperPath, logPath } = args;
252
+ return `<?xml version="1.0" encoding="UTF-8"?>
253
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
254
+ <plist version="1.0">
255
+ <dict>
256
+ <key>Label</key>
257
+ <string>com.jishushell.panel</string>
258
+ <key>ProgramArguments</key>
259
+ <array>
260
+ <string>${gateWrapperPath}</string>
261
+ </array>
262
+ <key>RunAtLoad</key>
263
+ <true/>
264
+ <key>KeepAlive</key>
265
+ <true/>
266
+ <key>StandardOutPath</key>
267
+ <string>${logPath}</string>
268
+ <key>StandardErrorPath</key>
269
+ <string>${logPath}</string>
270
+ </dict>
271
+ </plist>`;
272
+ }
273
+ //# sourceMappingURL=macos-launchd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macos-launchd.js","sourceRoot":"","sources":["../../src/services/macos-launchd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,QAAQ,GAAG,gEAAgE,CAAC;AAElF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAOnC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,sEAAsE,MAAM,EAAE,yBAAyB;SACjH,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAuB;IAC9D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACxD,OAAO;;;sBAGa,UAAU;eACjB,QAAQ;cACT,SAAS;WACZ,OAAO;QACV,MAAM;WACH,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA+CL,cAAc;sCACQ,WAAW;;;;;;;CAOhD,CAAC;AACF,CAAC;AAQD,0EAA0E;AAC1E,wEAAwE;AACxE,kEAAkE;AAElE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAqB;IACpD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClD,OAAO;;;;;;;;kBAQS,WAAW;;;;;kBAKX,UAAU;;kBAEV,QAAQ;;;;;;;;;;;;cAYZ,OAAO;;cAEP,OAAO;;SAEZ,CAAC;AACV,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAClD,OAAO;;;sBAGa,UAAU;eACjB,QAAQ;;;;;;;;;;;QAWf,QAAQ,oBAAoB,UAAU;CAC7C,CAAC;AACF,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClD,OAAO;;;;;;;;kBAQS,WAAW;;;;;kBAKX,UAAU;;kBAEV,QAAQ;;;;;;;cAOZ,OAAO;;cAEP,OAAO;;SAEZ,CAAC;AACV,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC3C,OAAO;;;;;;;eAOM,QAAQ;;8BAEO,MAAM;;;;gBAIpB,iBAAiB;CAChC,CAAC;AACF,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1C,OAAO;;;;;;;;kBAQS,eAAe;;;;;;;cAOnB,OAAO;;cAEP,OAAO;;SAEZ,CAAC;AACV,CAAC"}
@@ -78,6 +78,13 @@ export declare function startInstance(instanceId: string): Promise<Record<string
78
78
  export declare function stopInstance(instanceId: string, purge?: boolean): Promise<Record<string, any>>;
79
79
  export declare function restartInstance(instanceId: string): Promise<Record<string, any>>;
80
80
  export declare function getLogs(instanceId: string, lines?: number, logType?: string): Promise<string[]>;
81
+ /** Field separator for the batched `docker stats --format` line. Exported so
82
+ * tests can construct mock output without hardcoding the literal. */
83
+ export declare const DOCKER_STATS_FIELD_SEP = "__JS__";
84
+ /** Test-only: reset the shared docker-stats snapshot so each test starts from
85
+ * a cold cache (the 30s TTL + single-flight would otherwise leak one test's
86
+ * mocked snapshot into the next). Not used by production code paths. */
87
+ export declare function __resetDockerStatsCacheForTests(): void;
81
88
  export declare function exec(instanceId: string, command: string[], timeoutMs?: number): Promise<{
82
89
  stdout: string;
83
90
  stderr: string;