jishushell 0.6.18 → 0.7.3

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 (343) hide show
  1. package/apps/anythingllm-container.yaml +1 -0
  2. package/apps/browserless-chromium-container.yaml +1 -0
  3. package/apps/filebrowser-container.yaml +1 -0
  4. package/apps/hermes-container.yaml +1 -7
  5. package/apps/immich-container-lite.yaml +337 -0
  6. package/apps/immich-container.yaml +371 -0
  7. package/apps/jishu-kb-container.yaml +26 -21
  8. package/apps/ollama-binary.yaml +1 -0
  9. package/apps/ollama-cpu-container.yaml +1 -0
  10. package/apps/ollama-with-hollama-binary.yaml +2 -0
  11. package/apps/openclaw-binary.yaml +4 -8
  12. package/apps/openclaw-container.yaml +1 -7
  13. package/apps/openclaw-with-ollama-container.yaml +1 -0
  14. package/apps/openclaw-with-searxng-container.yaml +20 -0
  15. package/apps/searxng-container.yaml +20 -0
  16. package/apps/weknora-container.yaml +5 -0
  17. package/dependencies/jishushell-panel-0.7.3.tgz +0 -0
  18. package/dist/cli/core.js +1 -1
  19. package/dist/cli/core.js.map +1 -1
  20. package/dist/cli/doctor.js +96 -0
  21. package/dist/cli/doctor.js.map +1 -1
  22. package/dist/config.d.ts +9 -1
  23. package/dist/config.js +72 -2
  24. package/dist/config.js.map +1 -1
  25. package/dist/install.js +60 -19
  26. package/dist/install.js.map +1 -1
  27. package/dist/routes/admin.d.ts +2 -0
  28. package/dist/routes/admin.js +72 -0
  29. package/dist/routes/admin.js.map +1 -0
  30. package/dist/routes/docker.d.ts +2 -0
  31. package/dist/routes/docker.js +58 -0
  32. package/dist/routes/docker.js.map +1 -0
  33. package/dist/routes/file-mounts.js +5 -8
  34. package/dist/routes/file-mounts.js.map +1 -1
  35. package/dist/routes/instances.d.ts +0 -14
  36. package/dist/routes/instances.js +44 -1184
  37. package/dist/routes/instances.js.map +1 -1
  38. package/dist/server.d.ts +6 -0
  39. package/dist/server.js +53 -20
  40. package/dist/server.js.map +1 -1
  41. package/dist/services/app-common/catalog-service.js +15 -5
  42. package/dist/services/app-common/catalog-service.js.map +1 -1
  43. package/dist/services/app-common/delete-service.js +5 -0
  44. package/dist/services/app-common/delete-service.js.map +1 -1
  45. package/dist/services/app-common/instance-store.js +3 -0
  46. package/dist/services/app-common/instance-store.js.map +1 -1
  47. package/dist/services/app-common/lifecycle-service.js +12 -4
  48. package/dist/services/app-common/lifecycle-service.js.map +1 -1
  49. package/dist/services/app-common/ownership.d.ts +3 -0
  50. package/dist/services/app-common/ownership.js +11 -0
  51. package/dist/services/app-common/ownership.js.map +1 -0
  52. package/dist/services/app-common/runtime-facts.js +2 -0
  53. package/dist/services/app-common/runtime-facts.js.map +1 -1
  54. package/dist/services/app-common/spec-materializer.d.ts +0 -1
  55. package/dist/services/app-common/spec-materializer.js +21 -87
  56. package/dist/services/app-common/spec-materializer.js.map +1 -1
  57. package/dist/services/app-common/status-refresh.js +25 -13
  58. package/dist/services/app-common/status-refresh.js.map +1 -1
  59. package/dist/services/app-modules/browserless/routes.js +5 -3
  60. package/dist/services/app-modules/browserless/routes.js.map +1 -1
  61. package/dist/services/capabilities/contract.d.ts +1 -2
  62. package/dist/services/capabilities/contract.js +0 -10
  63. package/dist/services/capabilities/contract.js.map +1 -1
  64. package/dist/services/capabilities/endpoint-validator.js +0 -1
  65. package/dist/services/capabilities/endpoint-validator.js.map +1 -1
  66. package/dist/services/capabilities/health.js +1 -1
  67. package/dist/services/capabilities/health.js.map +1 -1
  68. package/dist/services/capability-proxy/http.d.ts +7 -0
  69. package/dist/services/capability-proxy/http.js +555 -0
  70. package/dist/services/capability-proxy/http.js.map +1 -0
  71. package/dist/services/capability-proxy/terminal.d.ts +4 -0
  72. package/dist/services/capability-proxy/terminal.js +179 -0
  73. package/dist/services/capability-proxy/terminal.js.map +1 -0
  74. package/dist/services/connections/admin.js +19 -9
  75. package/dist/services/connections/admin.js.map +1 -1
  76. package/dist/services/connections/apply.d.ts +3 -9
  77. package/dist/services/connections/apply.js +0 -29
  78. package/dist/services/connections/apply.js.map +1 -1
  79. package/dist/services/connections/transactor.js +2 -2
  80. package/dist/services/connections/transactor.js.map +1 -1
  81. package/dist/services/files/bootstrap.d.ts +7 -0
  82. package/dist/services/files/bootstrap.js +16 -0
  83. package/dist/services/files/bootstrap.js.map +1 -0
  84. package/dist/services/files/photos/upload-page.d.ts +2 -0
  85. package/dist/services/files/photos/upload-page.js +248 -0
  86. package/dist/services/files/photos/upload-page.js.map +1 -0
  87. package/dist/services/files/photos/upload-store.d.ts +74 -0
  88. package/dist/services/files/photos/upload-store.js +432 -0
  89. package/dist/services/files/photos/upload-store.js.map +1 -0
  90. package/dist/services/http/proxy-utils.d.ts +7 -0
  91. package/dist/services/http/proxy-utils.js +29 -0
  92. package/dist/services/http/proxy-utils.js.map +1 -0
  93. package/dist/services/http/request-utils.d.ts +3 -0
  94. package/dist/services/http/request-utils.js +23 -0
  95. package/dist/services/http/request-utils.js.map +1 -0
  96. package/dist/services/instances/manager.d.ts +6 -5
  97. package/dist/services/instances/manager.js +45 -51
  98. package/dist/services/instances/manager.js.map +1 -1
  99. package/dist/services/instances/pairing.d.ts +17 -0
  100. package/dist/services/instances/pairing.js +53 -0
  101. package/dist/services/instances/pairing.js.map +1 -0
  102. package/dist/services/instances/status.d.ts +2 -0
  103. package/dist/services/instances/status.js +11 -0
  104. package/dist/services/instances/status.js.map +1 -0
  105. package/dist/services/integrations/hermes/integration.d.ts +1 -1
  106. package/dist/services/integrations/hermes/integration.js +7 -8
  107. package/dist/services/integrations/hermes/integration.js.map +1 -1
  108. package/dist/services/integrations/immich/client.d.ts +93 -0
  109. package/dist/services/integrations/immich/client.js +458 -0
  110. package/dist/services/integrations/immich/client.js.map +1 -0
  111. package/dist/services/integrations/immich/config.d.ts +15 -0
  112. package/dist/services/integrations/immich/config.js +178 -0
  113. package/dist/services/integrations/immich/config.js.map +1 -0
  114. package/dist/services/integrations/immich/discovery.d.ts +9 -0
  115. package/dist/services/integrations/immich/discovery.js +101 -0
  116. package/dist/services/integrations/immich/discovery.js.map +1 -0
  117. package/dist/services/integrations/immich/gallery-renderer.d.ts +5 -0
  118. package/dist/services/integrations/immich/gallery-renderer.js +150 -0
  119. package/dist/services/integrations/immich/gallery-renderer.js.map +1 -0
  120. package/dist/services/integrations/immich/immich-shim.d.ts +11 -0
  121. package/dist/services/integrations/immich/immich-shim.js +439 -0
  122. package/dist/services/integrations/immich/immich-shim.js.map +1 -0
  123. package/dist/services/integrations/immich/integration.d.ts +18 -0
  124. package/dist/services/integrations/immich/integration.js +64 -0
  125. package/dist/services/integrations/immich/integration.js.map +1 -0
  126. package/dist/services/integrations/immich/photo-library.d.ts +4 -0
  127. package/dist/services/integrations/immich/photo-library.js +63 -0
  128. package/dist/services/integrations/immich/photo-library.js.map +1 -0
  129. package/dist/services/integrations/immich/review-executor.d.ts +3 -0
  130. package/dist/services/integrations/immich/review-executor.js +41 -0
  131. package/dist/services/integrations/immich/review-executor.js.map +1 -0
  132. package/dist/services/integrations/immich/review-session-service.d.ts +27 -0
  133. package/dist/services/integrations/immich/review-session-service.js +206 -0
  134. package/dist/services/integrations/immich/review-session-service.js.map +1 -0
  135. package/dist/services/integrations/immich/review-store.d.ts +47 -0
  136. package/dist/services/integrations/immich/review-store.js +347 -0
  137. package/dist/services/integrations/immich/review-store.js.map +1 -0
  138. package/dist/services/integrations/immich/routes.d.ts +7 -0
  139. package/dist/services/integrations/immich/routes.js +363 -0
  140. package/dist/services/integrations/immich/routes.js.map +1 -0
  141. package/dist/services/integrations/immich/types.d.ts +186 -0
  142. package/dist/services/integrations/immich/types.js +2 -0
  143. package/dist/services/integrations/immich/types.js.map +1 -0
  144. package/dist/services/integrations/index.d.ts +1 -0
  145. package/dist/services/integrations/index.js +1 -0
  146. package/dist/services/integrations/index.js.map +1 -1
  147. package/dist/services/integrations/installable/installers/integration.js +113 -7
  148. package/dist/services/integrations/installable/installers/integration.js.map +1 -1
  149. package/dist/services/integrations/jishukb/integration.d.ts +3 -1
  150. package/dist/services/integrations/jishukb/integration.js +121 -10
  151. package/dist/services/integrations/jishukb/integration.js.map +1 -1
  152. package/dist/services/integrations/openclaw/integration.d.ts +21 -7
  153. package/dist/services/integrations/openclaw/integration.js +385 -158
  154. package/dist/services/integrations/openclaw/integration.js.map +1 -1
  155. package/dist/services/integrations/openclaw/jishukb-native-mcp.d.ts +58 -0
  156. package/dist/services/integrations/openclaw/jishukb-native-mcp.js +373 -0
  157. package/dist/services/integrations/openclaw/jishukb-native-mcp.js.map +1 -0
  158. package/dist/services/integrations/openclaw/jishukb-shim.d.ts +8 -4
  159. package/dist/services/integrations/openclaw/jishukb-shim.js +624 -17
  160. package/dist/services/integrations/openclaw/jishukb-shim.js.map +1 -1
  161. package/dist/services/integrations/openclaw/mcporter.d.ts +13 -0
  162. package/dist/services/integrations/openclaw/mcporter.js +31 -0
  163. package/dist/services/integrations/openclaw/mcporter.js.map +1 -1
  164. package/dist/services/integrations/openclaw/native-mcp.d.ts +48 -0
  165. package/dist/services/integrations/openclaw/native-mcp.js +125 -0
  166. package/dist/services/integrations/openclaw/native-mcp.js.map +1 -0
  167. package/dist/services/integrations/openclaw/routes.js +4 -1
  168. package/dist/services/integrations/openclaw/routes.js.map +1 -1
  169. package/dist/services/integrations/types.d.ts +5 -17
  170. package/dist/services/repair/runtime-repair.js +68 -1
  171. package/dist/services/repair/runtime-repair.js.map +1 -1
  172. package/dist/services/runtime/docker-network.d.ts +8 -0
  173. package/dist/services/runtime/docker-network.js +123 -0
  174. package/dist/services/runtime/docker-network.js.map +1 -0
  175. package/dist/services/runtime/driver-registry.d.ts +4 -0
  176. package/dist/services/runtime/driver-registry.js.map +1 -1
  177. package/dist/services/runtime/drivers/nomad.d.ts +1 -0
  178. package/dist/services/runtime/drivers/nomad.js +35 -5
  179. package/dist/services/runtime/drivers/nomad.js.map +1 -1
  180. package/dist/services/runtime/service-manager.d.ts +2 -0
  181. package/dist/services/runtime/service-manager.js +18 -0
  182. package/dist/services/runtime/service-manager.js.map +1 -0
  183. package/dist/services/runtime/types.d.ts +1 -0
  184. package/dist/services/runtime/workload-compiler.js +29 -4
  185. package/dist/services/runtime/workload-compiler.js.map +1 -1
  186. package/dist/services/setup/setup-manager.js +29 -73
  187. package/dist/services/setup/setup-manager.js.map +1 -1
  188. package/dist/services/system/runtime-ownership.d.ts +36 -0
  189. package/dist/services/system/runtime-ownership.js +250 -0
  190. package/dist/services/system/runtime-ownership.js.map +1 -0
  191. package/dist/services/system/system-reconciler.js +53 -0
  192. package/dist/services/system/system-reconciler.js.map +1 -1
  193. package/dist/types.d.ts +19 -3
  194. package/dist/utils/path-safety.js +1 -1
  195. package/dist/utils/service-user.d.ts +13 -0
  196. package/dist/utils/service-user.js +129 -0
  197. package/dist/utils/service-user.js.map +1 -0
  198. package/install/jishu-install.sh +0 -1
  199. package/node_modules/brace-expansion/dist/commonjs/index.js +24 -14
  200. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  201. package/node_modules/brace-expansion/dist/esm/index.js +24 -14
  202. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  203. package/node_modules/brace-expansion/package.json +2 -2
  204. package/node_modules/fast-uri/index.js +1 -1
  205. package/node_modules/fast-uri/package.json +1 -1
  206. package/node_modules/fast-uri/test/security.test.js +28 -0
  207. package/node_modules/fastify/SECURITY.md +1 -1
  208. package/node_modules/fastify/SPONSORS.md +6 -4
  209. package/node_modules/fastify/docs/Guides/Database.md +0 -28
  210. package/node_modules/fastify/docs/Guides/Ecosystem.md +13 -2
  211. package/node_modules/fastify/docs/Guides/Serverless.md +2 -2
  212. package/node_modules/fastify/docs/Guides/Write-Plugin.md +1 -1
  213. package/node_modules/fastify/docs/Reference/Encapsulation.md +27 -26
  214. package/node_modules/fastify/docs/Reference/Errors.md +10 -4
  215. package/node_modules/fastify/docs/Reference/HTTP2.md +10 -10
  216. package/node_modules/fastify/docs/Reference/Hooks.md +4 -4
  217. package/node_modules/fastify/docs/Reference/Index.md +14 -16
  218. package/node_modules/fastify/docs/Reference/LTS.md +12 -13
  219. package/node_modules/fastify/docs/Reference/Lifecycle.md +9 -8
  220. package/node_modules/fastify/docs/Reference/Logging.md +44 -39
  221. package/node_modules/fastify/docs/Reference/Middleware.md +21 -25
  222. package/node_modules/fastify/docs/Reference/Principles.md +2 -2
  223. package/node_modules/fastify/docs/Reference/Reply.md +6 -1
  224. package/node_modules/fastify/docs/Reference/Request.md +27 -16
  225. package/node_modules/fastify/docs/Reference/Routes.md +5 -2
  226. package/node_modules/fastify/docs/Reference/Server.md +31 -3
  227. package/node_modules/fastify/docs/Reference/Type-Providers.md +29 -5
  228. package/node_modules/fastify/docs/Reference/Validation-and-Serialization.md +15 -2
  229. package/node_modules/fastify/docs/Reference/Warnings.md +7 -6
  230. package/node_modules/fastify/eslint.config.js +7 -2
  231. package/node_modules/fastify/fastify.d.ts +8 -3
  232. package/node_modules/fastify/fastify.js +43 -14
  233. package/node_modules/fastify/lib/content-type-parser.js +13 -1
  234. package/node_modules/fastify/lib/decorate.js +11 -3
  235. package/node_modules/fastify/lib/error-handler.js +4 -3
  236. package/node_modules/fastify/lib/error-serializer.js +59 -59
  237. package/node_modules/fastify/lib/errors.js +16 -1
  238. package/node_modules/fastify/lib/four-oh-four.js +14 -9
  239. package/node_modules/fastify/lib/handle-request.js +11 -5
  240. package/node_modules/fastify/lib/plugin-override.js +2 -1
  241. package/node_modules/fastify/lib/plugin-utils.js +5 -5
  242. package/node_modules/fastify/lib/reply.js +63 -8
  243. package/node_modules/fastify/lib/request.js +14 -4
  244. package/node_modules/fastify/lib/route.js +20 -6
  245. package/node_modules/fastify/lib/schema-controller.js +1 -1
  246. package/node_modules/fastify/lib/schemas.js +37 -30
  247. package/node_modules/fastify/lib/symbols.js +3 -1
  248. package/node_modules/fastify/lib/validation.js +1 -13
  249. package/node_modules/fastify/lib/warnings.js +3 -3
  250. package/node_modules/fastify/package.json +13 -15
  251. package/node_modules/fastify/scripts/validate-ecosystem-links.js +1 -0
  252. package/node_modules/fastify/test/bundler/esbuild/package.json +1 -1
  253. package/node_modules/fastify/test/close-pipelining.test.js +1 -2
  254. package/node_modules/fastify/test/custom-http-server.test.js +38 -0
  255. package/node_modules/fastify/test/decorator-instance-properties.test.js +63 -0
  256. package/node_modules/fastify/test/diagnostics-channel/async-error-handler.test.js +74 -0
  257. package/node_modules/fastify/test/hooks.test.js +23 -0
  258. package/node_modules/fastify/test/http-methods/get.test.js +1 -1
  259. package/node_modules/fastify/test/http2/plain.test.js +135 -0
  260. package/node_modules/fastify/test/http2/secure-with-fallback.test.js +1 -1
  261. package/node_modules/fastify/test/https/https.test.js +1 -2
  262. package/node_modules/fastify/test/internals/errors.test.js +31 -1
  263. package/node_modules/fastify/test/internals/plugin.test.js +3 -1
  264. package/node_modules/fastify/test/internals/request.test.js +27 -3
  265. package/node_modules/fastify/test/internals/schema-controller-perf.test.js +33 -0
  266. package/node_modules/fastify/test/logger/logging.test.js +18 -1
  267. package/node_modules/fastify/test/logger/options.test.js +38 -1
  268. package/node_modules/fastify/test/reply-error.test.js +1 -1
  269. package/node_modules/fastify/test/reply-trailers.test.js +70 -0
  270. package/node_modules/fastify/test/request-media-type.test.js +105 -0
  271. package/node_modules/fastify/test/route-prefix.test.js +34 -0
  272. package/node_modules/fastify/test/router-options.test.js +222 -11
  273. package/node_modules/fastify/test/schema-serialization.test.js +108 -0
  274. package/node_modules/fastify/test/schema-validation.test.js +24 -0
  275. package/node_modules/fastify/test/scripts/validate-ecosystem-links.test.js +40 -57
  276. package/node_modules/fastify/test/throw.test.js +14 -0
  277. package/node_modules/fastify/test/trust-proxy.test.js +21 -0
  278. package/node_modules/fastify/test/types/content-type-parser.tst.ts +70 -0
  279. package/node_modules/fastify/test/types/{decorate-request-reply.test-d.ts → decorate-request-reply.tst.ts} +4 -4
  280. package/node_modules/fastify/test/types/{dummy-plugin.ts → dummy-plugin.mts} +1 -1
  281. package/node_modules/fastify/test/types/errors.tst.ts +91 -0
  282. package/node_modules/fastify/test/types/fastify.tst.ts +351 -0
  283. package/node_modules/fastify/test/types/hooks.tst.ts +578 -0
  284. package/node_modules/fastify/test/types/instance.tst.ts +597 -0
  285. package/node_modules/fastify/test/types/{logger.test-d.ts → logger.tst.ts} +61 -62
  286. package/node_modules/fastify/test/types/plugin.tst.ts +96 -0
  287. package/node_modules/fastify/test/types/register.tst.ts +245 -0
  288. package/node_modules/fastify/test/types/reply.tst.ts +297 -0
  289. package/node_modules/fastify/test/types/request.tst.ts +199 -0
  290. package/node_modules/fastify/test/types/route.tst.ts +576 -0
  291. package/node_modules/fastify/test/types/{schema.test-d.ts → schema.tst.ts} +22 -22
  292. package/node_modules/fastify/test/types/{serverFactory.test-d.ts → serverFactory.tst.ts} +4 -4
  293. package/node_modules/fastify/test/types/tsconfig.json +9 -0
  294. package/node_modules/fastify/test/types/{type-provider.test-d.ts → type-provider.tst.ts} +256 -250
  295. package/node_modules/fastify/test/types/using.tst.ts +14 -0
  296. package/node_modules/fastify/types/errors.d.ts +3 -0
  297. package/node_modules/fastify/types/request.d.ts +23 -2
  298. package/node_modules/jishushell-panel/output/public/assets/{ApiKeyField-NKcbHjNz.js → ApiKeyField-Ce5d1xna.js} +1 -1
  299. package/node_modules/jishushell-panel/output/public/assets/{Dashboard-Da1fL38t.js → Dashboard-BXame3yg.js} +1 -1
  300. package/node_modules/jishushell-panel/output/public/assets/{HermesChatPanel-DZvmYsoh.js → HermesChatPanel-BHZtPCJd.js} +1 -1
  301. package/node_modules/jishushell-panel/output/public/assets/{HermesConfigForm-BLUWlKwm.js → HermesConfigForm-CB3GbNX9.js} +1 -1
  302. package/node_modules/jishushell-panel/output/public/assets/{InitPassword-BAKsshzk.js → InitPassword-Boab9F6g.js} +1 -1
  303. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-DrIWCqo-.js +14 -0
  304. package/node_modules/jishushell-panel/output/public/assets/{Login-DHeOmwI8.js → Login-CzpOkNau.js} +1 -1
  305. package/node_modules/jishushell-panel/output/public/assets/NewInstance-CANXyCcL.js +1 -0
  306. package/node_modules/jishushell-panel/output/public/assets/{ProviderRecommendations-H0ByEYF0.js → ProviderRecommendations-BABo9VOC.js} +1 -1
  307. package/node_modules/jishushell-panel/output/public/assets/Settings-CKp5XxFh.js +1 -0
  308. package/node_modules/jishushell-panel/output/public/assets/Setup-C7xVDPow.js +1 -0
  309. package/node_modules/jishushell-panel/output/public/assets/{WeixinLoginPanel-D-T6BxkQ.js → WeixinLoginPanel-B765Xz4C.js} +1 -1
  310. package/node_modules/jishushell-panel/output/public/assets/{index-ERt6_ngA.js → index-Bs6DSbiR.js} +6 -6
  311. package/node_modules/jishushell-panel/output/public/assets/{registry-DF93EzIb.js → registry-sWIZsIEF.js} +2 -2
  312. package/node_modules/jishushell-panel/output/public/assets/{usePolling-DeoThIQn.js → usePolling-D4IDOQd_.js} +1 -1
  313. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-Df8aUdv8.js +1 -0
  314. package/node_modules/jishushell-panel/output/public/assets/{vendor-react-Cc84NArf.js → vendor-react-0L0rjmYG.js} +3 -3
  315. package/node_modules/jishushell-panel/output/public/index.html +3 -3
  316. package/node_modules/jishushell-panel/package.json +1 -1
  317. package/node_modules/semver/classes/range.js +6 -2
  318. package/node_modules/semver/package.json +1 -1
  319. package/package.json +4 -4
  320. package/scripts/check-app-spec.mjs +4 -12
  321. package/scripts/check-architecture-boundaries.mjs +178 -0
  322. package/scripts/pack-gui-and-send-pi.sh +5 -3
  323. package/dependencies/jishushell-panel-0.6.18.tgz +0 -0
  324. package/dist/services/connections/suggestions.d.ts +0 -27
  325. package/dist/services/connections/suggestions.js +0 -124
  326. package/dist/services/connections/suggestions.js.map +0 -1
  327. package/node_modules/fastify/test/types/content-type-parser.test-d.ts +0 -72
  328. package/node_modules/fastify/test/types/errors.test-d.ts +0 -90
  329. package/node_modules/fastify/test/types/fastify.test-d.ts +0 -352
  330. package/node_modules/fastify/test/types/hooks.test-d.ts +0 -550
  331. package/node_modules/fastify/test/types/import.ts +0 -2
  332. package/node_modules/fastify/test/types/instance.test-d.ts +0 -588
  333. package/node_modules/fastify/test/types/plugin.test-d.ts +0 -97
  334. package/node_modules/fastify/test/types/register.test-d.ts +0 -237
  335. package/node_modules/fastify/test/types/reply.test-d.ts +0 -254
  336. package/node_modules/fastify/test/types/request.test-d.ts +0 -188
  337. package/node_modules/fastify/test/types/route.test-d.ts +0 -553
  338. package/node_modules/fastify/test/types/using.test-d.ts +0 -17
  339. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-Dgyc_TX5.js +0 -14
  340. package/node_modules/jishushell-panel/output/public/assets/NewInstance-CIy0cYtp.js +0 -1
  341. package/node_modules/jishushell-panel/output/public/assets/Settings-DAT-UMfP.js +0 -1
  342. package/node_modules/jishushell-panel/output/public/assets/Setup-g3uckFYR.js +0 -1
  343. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-CS8DFbkQ.js +0 -1
@@ -0,0 +1,250 @@
1
+ import { execFileSync } from "child_process";
2
+ import { chmodSync, chownSync, existsSync, lstatSync, readdirSync, statSync } from "fs";
3
+ import { join, resolve } from "path";
4
+ import * as config from "../../config.js";
5
+ import { resolveServiceUser } from "../../utils/service-user.js";
6
+ import { DEFINITION_FILENAME, INSTANCE_METADATA_FILENAME, MANIFEST_FILENAME, RESOLVED_SPEC_FILENAME, resolveAppDir, } from "../app-common/paths.js";
7
+ const BACKUP_SUFFIXES = [".bak", ".bak.1", ".bak.2"];
8
+ function getConfigValue(name) {
9
+ return name in config ? config[name] : undefined;
10
+ }
11
+ const JISHUSHELL_HOME = String(getConfigValue("JISHUSHELL_HOME"));
12
+ const APPS_DIR = String(getConfigValue("APPS_DIR") ?? join(JISHUSHELL_HOME, "apps"));
13
+ const AUTH_FILE = String(getConfigValue("AUTH_FILE") ?? join(JISHUSHELL_HOME, "auth.json"));
14
+ const CORE_CONFIG_FILE = String(getConfigValue("CORE_CONFIG_FILE") ?? join(JISHUSHELL_HOME, "core.json"));
15
+ const FILES_ROOT = String(getConfigValue("FILES_ROOT") ?? join(JISHUSHELL_HOME, "files"));
16
+ const TMP_DIR = String(getConfigValue("TMP_DIR") ?? join(JISHUSHELL_HOME, "tmp"));
17
+ const NOMAD_DIR = join(JISHUSHELL_HOME, "nomad");
18
+ const NOMAD_DATA_DIR = join(NOMAD_DIR, "data");
19
+ function emptyResult() {
20
+ return { ok: true, repaired: [], skipped: [], errors: [] };
21
+ }
22
+ function finalize(result) {
23
+ result.ok = result.errors.length === 0;
24
+ return result;
25
+ }
26
+ function serviceUser() {
27
+ return resolveServiceUser({ jishuHome: JISHUSHELL_HOME });
28
+ }
29
+ function isRoot() {
30
+ return typeof process.getuid === "function" && process.getuid() === 0;
31
+ }
32
+ function sudoFileCommand(args, timeout = 5000) {
33
+ execFileSync("sudo", ["-n", ...args], { timeout, stdio: "pipe" });
34
+ }
35
+ function pathInside(child, parent) {
36
+ const childPath = resolve(child);
37
+ const parentPath = resolve(parent);
38
+ return childPath === parentPath || childPath.startsWith(`${parentPath}/`);
39
+ }
40
+ function shouldSkipPath(path, skip) {
41
+ return pathInside(path, NOMAD_DATA_DIR) || skip?.(path) === true;
42
+ }
43
+ function readLstat(path) {
44
+ try {
45
+ return lstatSync(path);
46
+ }
47
+ catch (e) {
48
+ if (e?.code === "ENOENT")
49
+ return null;
50
+ throw e;
51
+ }
52
+ }
53
+ function ensureOne(path, user, mode) {
54
+ const st = readLstat(path);
55
+ if (!st)
56
+ return "skipped";
57
+ if (st.isSymbolicLink())
58
+ return "skipped";
59
+ const needsOwner = st.uid !== user.uid || st.gid !== user.gid;
60
+ const currentMode = Number(st.mode) & 0o777;
61
+ if (needsOwner) {
62
+ if (isRoot())
63
+ chownSync(path, user.uid, user.gid);
64
+ else
65
+ sudoFileCommand(["chown", `${user.uid}:${user.gid}`, path]);
66
+ }
67
+ if (mode !== undefined && currentMode !== mode) {
68
+ try {
69
+ chmodSync(path, mode);
70
+ }
71
+ catch (e) {
72
+ if (e?.code !== "EACCES")
73
+ throw e;
74
+ sudoFileCommand(["chmod", mode.toString(8), path]);
75
+ }
76
+ }
77
+ return needsOwner || (mode !== undefined && currentMode !== mode) ? "repaired" : "ok";
78
+ }
79
+ export function ensureUserOwned(path, options = {}) {
80
+ const result = options.result ?? emptyResult();
81
+ const user = serviceUser();
82
+ if (!user) {
83
+ result.errors.push("Cannot determine service user");
84
+ return finalize(result);
85
+ }
86
+ if (shouldSkipPath(path, options.skip)) {
87
+ result.skipped.push(path);
88
+ return finalize(result);
89
+ }
90
+ try {
91
+ const st = readLstat(path);
92
+ if (!st) {
93
+ result.skipped.push(path);
94
+ return finalize(result);
95
+ }
96
+ if (st.isSymbolicLink()) {
97
+ result.skipped.push(path);
98
+ return finalize(result);
99
+ }
100
+ const mode = options.mode ?? (st.isDirectory() ? options.dirMode : options.fileMode);
101
+ const status = ensureOne(path, user, mode);
102
+ if (status === "repaired")
103
+ result.repaired.push(path);
104
+ else if (status === "skipped")
105
+ result.skipped.push(path);
106
+ if (options.recursive && st.isDirectory()) {
107
+ for (const entry of readdirSync(path)) {
108
+ ensureUserOwned(join(path, entry), { ...options, mode: undefined, result });
109
+ }
110
+ }
111
+ }
112
+ catch (e) {
113
+ result.errors.push(`${path}: ${e?.message || String(e)}`);
114
+ }
115
+ return finalize(result);
116
+ }
117
+ function ensureTargets(result, targets) {
118
+ for (const target of targets) {
119
+ ensureUserOwned(target.path, { ...target, result });
120
+ }
121
+ }
122
+ export function repairCoreRuntimeOwnership(options = {}) {
123
+ const result = emptyResult();
124
+ const includeApps = options.includeApps !== false;
125
+ const dirs = [
126
+ JISHUSHELL_HOME,
127
+ join(JISHUSHELL_HOME, "bin"),
128
+ join(JISHUSHELL_HOME, "packages"),
129
+ join(JISHUSHELL_HOME, "runtimes"),
130
+ ...(includeApps ? [APPS_DIR] : []),
131
+ FILES_ROOT,
132
+ TMP_DIR,
133
+ join(JISHUSHELL_HOME, "provider-credentials"),
134
+ NOMAD_DIR,
135
+ ];
136
+ ensureTargets(result, dirs.map((path) => ({ path, recursive: false, dirMode: 0o755 })));
137
+ const coreFiles = [
138
+ CORE_CONFIG_FILE,
139
+ ...BACKUP_SUFFIXES.map((suffix) => CORE_CONFIG_FILE + suffix),
140
+ AUTH_FILE,
141
+ join(JISHUSHELL_HOME, "jwt-secret"),
142
+ join(JISHUSHELL_HOME, "internal-mcp-token"),
143
+ join(JISHUSHELL_HOME, "nomad.env"),
144
+ join(NOMAD_DIR, "nomad.hcl"),
145
+ ];
146
+ ensureTargets(result, coreFiles.map((path) => ({
147
+ path,
148
+ recursive: false,
149
+ mode: path.endsWith("jwt-secret") || path.endsWith("internal-mcp-token") || path.endsWith("nomad.env") ? 0o600 : 0o644,
150
+ })));
151
+ return finalize(result);
152
+ }
153
+ export function repairNomadConfigOwnership() {
154
+ const result = emptyResult();
155
+ ensureTargets(result, [
156
+ { path: NOMAD_DIR, dirMode: 0o755 },
157
+ { path: join(NOMAD_DIR, "nomad.hcl"), mode: 0o644 },
158
+ { path: join(JISHUSHELL_HOME, "nomad.env"), mode: 0o600 },
159
+ ]);
160
+ return finalize(result);
161
+ }
162
+ export function repairInstanceWorkspaceOwnership(instanceId) {
163
+ const result = emptyResult();
164
+ const appDir = resolveAppDir(instanceId);
165
+ const metadataFiles = [
166
+ DEFINITION_FILENAME,
167
+ RESOLVED_SPEC_FILENAME,
168
+ MANIFEST_FILENAME,
169
+ INSTANCE_METADATA_FILENAME,
170
+ "jobspec.nomad.hcl",
171
+ "browser-temp-allowlist.json",
172
+ ];
173
+ const filesWithBackups = metadataFiles.flatMap((filename) => [
174
+ join(appDir, filename),
175
+ ...BACKUP_SUFFIXES.map((suffix) => join(appDir, filename + suffix)),
176
+ ]);
177
+ ensureTargets(result, [
178
+ { path: appDir, recursive: false, dirMode: 0o755 },
179
+ ...filesWithBackups.map((path) => ({ path, recursive: false, mode: 0o644 })),
180
+ ]);
181
+ return finalize(result);
182
+ }
183
+ function inspectTarget(path, user, drifts) {
184
+ try {
185
+ if (!existsSync(path))
186
+ return;
187
+ const st = lstatSync(path);
188
+ if (st.isSymbolicLink()) {
189
+ drifts.push({ path, expectedUid: user.uid, expectedGid: user.gid, symlink: true });
190
+ return;
191
+ }
192
+ if (st.uid !== user.uid || st.gid !== user.gid) {
193
+ drifts.push({
194
+ path,
195
+ expectedUid: user.uid,
196
+ expectedGid: user.gid,
197
+ actualUid: st.uid,
198
+ actualGid: st.gid,
199
+ });
200
+ }
201
+ }
202
+ catch (e) {
203
+ drifts.push({ path, expectedUid: user.uid, expectedGid: user.gid, error: e?.message || String(e) });
204
+ }
205
+ }
206
+ export function inspectRuntimeOwnership(options = {}) {
207
+ const user = serviceUser();
208
+ if (!user)
209
+ return [];
210
+ const drifts = [];
211
+ const includeApps = options.includeApps !== false;
212
+ const targets = [
213
+ JISHUSHELL_HOME,
214
+ CORE_CONFIG_FILE,
215
+ ...BACKUP_SUFFIXES.map((suffix) => CORE_CONFIG_FILE + suffix),
216
+ AUTH_FILE,
217
+ join(JISHUSHELL_HOME, "jwt-secret"),
218
+ join(JISHUSHELL_HOME, "internal-mcp-token"),
219
+ join(JISHUSHELL_HOME, "nomad.env"),
220
+ join(JISHUSHELL_HOME, "bin"),
221
+ join(JISHUSHELL_HOME, "packages"),
222
+ join(JISHUSHELL_HOME, "runtimes"),
223
+ ...(includeApps ? [APPS_DIR] : []),
224
+ FILES_ROOT,
225
+ TMP_DIR,
226
+ join(JISHUSHELL_HOME, "provider-credentials"),
227
+ NOMAD_DIR,
228
+ join(NOMAD_DIR, "nomad.hcl"),
229
+ ];
230
+ for (const target of targets)
231
+ inspectTarget(target, user, drifts);
232
+ try {
233
+ if (existsSync(NOMAD_DATA_DIR)) {
234
+ const st = statSync(NOMAD_DATA_DIR);
235
+ if (st.uid === user.uid && st.gid === user.gid) {
236
+ // User-owned Nomad data is not a repair target, but it is not reported as drift:
237
+ // ownership may be valid on macOS or legacy non-systemd installs.
238
+ }
239
+ }
240
+ }
241
+ catch {
242
+ // ignored: Nomad data is outside the Core user zone.
243
+ }
244
+ return drifts;
245
+ }
246
+ export const RUNTIME_OWNERSHIP_PATHS = {
247
+ NOMAD_DIR,
248
+ NOMAD_DATA_DIR,
249
+ };
250
+ //# sourceMappingURL=runtime-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-ownership.js","sourceRoot":"","sources":["../../../src/services/system/runtime-ownership.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import * as setupManager from "../setup/setup-manager.js";
18
18
  import { resolveIntegrationKindFromMetadata } from "../app-common/integration-refs.js";
19
19
  import { listRegisteredIntegrations } from "../integrations/index.js";
20
20
  import { chownToServiceUser, listInstances } from "../instances/manager.js";
21
+ import { inspectRuntimeOwnership, repairCoreRuntimeOwnership, repairInstanceWorkspaceOwnership, } from "./runtime-ownership.js";
21
22
  const RECONCILE_STATE_FILE = join(JISHUSHELL_HOME, "reconcile-state.json");
22
23
  const SYSTEM_CLI_LINK = "/usr/local/bin/jishushell";
23
24
  // ── Helpers ────────────────────────────────────────────────────────────────
@@ -639,6 +640,57 @@ async function reconcileDockerImages(results, apply) {
639
640
  }
640
641
  }
641
642
  }
643
+ function reconcileRuntimeOwnership(results, apply) {
644
+ const drifts = inspectRuntimeOwnership({ includeApps: true });
645
+ if (!apply) {
646
+ results.push({
647
+ component: "runtime-ownership",
648
+ id: "runtime-ownership",
649
+ status: drifts.length === 0 ? "ok" : "skipped",
650
+ message: drifts.length === 0
651
+ ? "Core runtime ownership matches the service user"
652
+ : `${drifts.length} Core runtime path(s) need service-user ownership repair`,
653
+ reloadRequired: false,
654
+ manualRequired: drifts.length > 0,
655
+ requiresSudo: drifts.length > 0,
656
+ fix: drifts.length > 0 ? "manual" : "none",
657
+ details: drifts.map((drift) => {
658
+ const actual = drift.actualUid == null ? "unknown" : `${drift.actualUid}:${drift.actualGid}`;
659
+ return `${drift.path}: actual=${actual} expected=${drift.expectedUid}:${drift.expectedGid}`;
660
+ }).join("\n") || undefined,
661
+ severity: drifts.length === 0 ? "info" : "warning",
662
+ });
663
+ return;
664
+ }
665
+ const core = repairCoreRuntimeOwnership({ includeApps: true });
666
+ const instanceErrors = [];
667
+ const instanceRepairs = [];
668
+ for (const instance of listInstances()) {
669
+ if (!instance?.id)
670
+ continue;
671
+ const repaired = repairInstanceWorkspaceOwnership(instance.id);
672
+ instanceRepairs.push(...repaired.repaired);
673
+ instanceErrors.push(...repaired.errors);
674
+ }
675
+ const errors = [...core.errors, ...instanceErrors];
676
+ const repairedCount = core.repaired.length + instanceRepairs.length;
677
+ results.push({
678
+ component: "runtime-ownership",
679
+ id: "runtime-ownership",
680
+ status: errors.length > 0 ? "error" : repairedCount > 0 ? "updated" : "ok",
681
+ message: errors.length > 0
682
+ ? "Runtime ownership repair failed"
683
+ : repairedCount > 0
684
+ ? `Repaired ownership for ${repairedCount} runtime path(s)`
685
+ : "Core runtime ownership matches the service user",
686
+ reloadRequired: false,
687
+ manualRequired: errors.length > 0,
688
+ requiresSudo: errors.length > 0,
689
+ fix: errors.length > 0 ? "manual" : "none",
690
+ details: errors.length > 0 ? errors.join("\n") : undefined,
691
+ severity: errors.length > 0 ? "error" : "info",
692
+ });
693
+ }
642
694
  // ── Main entry points ──────────────────────────────────────────────────────
643
695
  function persistResult(result) {
644
696
  try {
@@ -667,6 +719,7 @@ async function runSystemReconciliation(options) {
667
719
  const sudoAvailable = hasSudoAccess();
668
720
  reconcileExpectedFiles(items, options, sudoAvailable);
669
721
  reconcileSystemCliLink(items, options.apply, sudoAvailable);
722
+ reconcileRuntimeOwnership(items, options.apply);
670
723
  await reconcileDockerImages(items, options.apply);
671
724
  const result = finalizeResult(items, sudoAvailable);
672
725
  persistResult(result);
@@ -1 +1 @@
1
- {"version":3,"file":"system-reconciler.js","sourceRoot":"","sources":["../../../src/services/system/system-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-reconciler.js","sourceRoot":"","sources":["../../../src/services/system/system-reconciler.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -198,6 +198,21 @@ export interface AppTaskMount {
198
198
  target: string;
199
199
  readonly?: boolean;
200
200
  }
201
+ export interface AppNetworkSpec {
202
+ /**
203
+ * Put container tasks on an app-scoped Docker user-defined bridge network.
204
+ * Runtime infrastructure owns ensuring the network exists before Nomad starts
205
+ * the tasks; AppSpecs only declare the network intent. Existing same-name
206
+ * Docker bridge networks are reused, same-name non-bridge networks are
207
+ * replaced, and uninstall removes the app-scoped network by exact name.
208
+ * Container tasks are registered with their task name as a Docker network
209
+ * alias, which lets peer containers resolve `database`, `redis`, etc.
210
+ * without publishing those ports on the host.
211
+ */
212
+ mode: "docker-bridge";
213
+ /** Defaults to `jishushell-${instance.id}` after token materialization. */
214
+ name?: string;
215
+ }
201
216
  export interface AppTask {
202
217
  name: string;
203
218
  role?: AppTaskRole;
@@ -257,10 +272,10 @@ export interface AppTerminalConfig {
257
272
  /**
258
273
  * Health-probe spec attached to a provide. When omitted, the prober derives
259
274
  * a default strategy from `protocol` (§5.6: http→HEAD, ws/tcp→connect,
260
- * mcp→initialize, terminal→no-op).
275
+ * terminal→no-op).
261
276
  */
262
277
  export interface ProvideHealthSpec {
263
- kind?: "http" | "tcp" | "mcp" | "none";
278
+ kind?: "http" | "tcp" | "none";
264
279
  /** HTTP path to probe (defaults to "/"). Ignored for non-http kinds. */
265
280
  path?: string;
266
281
  /** Custom port to probe; defaults to the provide's resolved hostPort. */
@@ -328,7 +343,7 @@ export interface AppProvide {
328
343
  * top-level provide field; do not add endpoint.protocol unless the whole
329
344
  * schema is migrated intentionally.
330
345
  */
331
- protocol?: "http" | "https" | "tcp" | "udp" | "ws" | "wss" | "sse" | "mcp" | "terminal" | (string & {});
346
+ protocol?: "http" | "https" | "tcp" | "udp" | "ws" | "wss" | "sse" | "terminal" | (string & {});
332
347
  visibility?: string;
333
348
  description?: string;
334
349
  terminal?: AppTerminalConfig;
@@ -609,6 +624,7 @@ export interface AppSpec {
609
624
  instancePrefix?: string;
610
625
  integrations?: AppIntegrationRef[];
611
626
  storage?: Record<string, AppStorageSpec>;
627
+ network?: AppNetworkSpec;
612
628
  tasks: AppTask[];
613
629
  depends_on?: Record<string, AppDependsOnEntry>;
614
630
  provides?: AppProvide[];
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Path safety utilities for the Files module (W1).
3
3
  *
4
- * Three layers of defense (per .omc/plans/files-w1.md § 7.1):
4
+ * Three layers of defense:
5
5
  * 1. validateRelativePath — string-level checks (this module, no IO)
6
6
  * 2. resolveSafe — path.resolve + prefix check (this module, no IO)
7
7
  * 3. realpath/symlink — performed by FilesManager (defense 3, IO)
@@ -0,0 +1,13 @@
1
+ export interface ServiceUser {
2
+ username: string;
3
+ uid: number;
4
+ gid: number;
5
+ home?: string;
6
+ shell?: string;
7
+ }
8
+ export declare function resolveServiceUser(options?: {
9
+ jishuHome?: string;
10
+ }): ServiceUser | null;
11
+ export declare function requireServiceUser(options?: {
12
+ jishuHome?: string;
13
+ }): ServiceUser;
@@ -0,0 +1,129 @@
1
+ import { execFileSync } from "child_process";
2
+ import { existsSync, statSync } from "fs";
3
+ import { homedir, userInfo } from "os";
4
+ import { join, resolve } from "path";
5
+ function parsePasswdEntry(entry) {
6
+ const cols = entry.trim().split(":");
7
+ if (cols.length < 7)
8
+ return null;
9
+ const uid = Number.parseInt(cols[2] ?? "", 10);
10
+ const gid = Number.parseInt(cols[3] ?? "", 10);
11
+ if (!cols[0] || !Number.isFinite(uid) || !Number.isFinite(gid))
12
+ return null;
13
+ return {
14
+ username: cols[0],
15
+ uid,
16
+ gid,
17
+ home: cols[5] || undefined,
18
+ shell: cols[6] || undefined,
19
+ };
20
+ }
21
+ function lookupPasswdByUid(uid) {
22
+ try {
23
+ const entry = execFileSync("getent", ["passwd", String(uid)], {
24
+ encoding: "utf8",
25
+ timeout: 3000,
26
+ }).trim();
27
+ const user = parsePasswdEntry(entry);
28
+ return user?.uid === uid ? user : null;
29
+ }
30
+ catch {
31
+ try {
32
+ const username = execFileSync("id", ["-un", String(uid)], {
33
+ encoding: "utf8",
34
+ timeout: 3000,
35
+ }).trim();
36
+ const gid = Number.parseInt(execFileSync("id", ["-g", username], {
37
+ encoding: "utf8",
38
+ timeout: 3000,
39
+ }).trim(), 10);
40
+ return username && Number.isFinite(gid) ? { username, uid, gid } : null;
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ }
47
+ function lookupPasswdByName(username) {
48
+ try {
49
+ const uid = Number.parseInt(execFileSync("id", ["-u", username], {
50
+ encoding: "utf8",
51
+ timeout: 3000,
52
+ }).trim(), 10);
53
+ const gid = Number.parseInt(execFileSync("id", ["-g", username], {
54
+ encoding: "utf8",
55
+ timeout: 3000,
56
+ }).trim(), 10);
57
+ if (!Number.isFinite(uid) || !Number.isFinite(gid))
58
+ return null;
59
+ return { username, uid, gid };
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ }
65
+ function firstRealPasswdUser() {
66
+ try {
67
+ const entry = execFileSync("getent", ["passwd"], {
68
+ encoding: "utf8",
69
+ timeout: 3000,
70
+ })
71
+ .split("\n")
72
+ .map(parsePasswdEntry)
73
+ .find((user) => {
74
+ if (!user || user.uid < 1000 || user.uid >= 65534)
75
+ return false;
76
+ return !/(?:nologin|false)$/.test(user.shell ?? "");
77
+ });
78
+ return entry ?? null;
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ }
84
+ export function resolveServiceUser(options = {}) {
85
+ const current = userInfo();
86
+ if (current.uid !== 0) {
87
+ return {
88
+ username: current.username,
89
+ uid: current.uid,
90
+ gid: current.gid,
91
+ home: current.homedir,
92
+ };
93
+ }
94
+ const sudoUid = Number.parseInt(process.env.SUDO_UID || "", 10);
95
+ if (Number.isFinite(sudoUid) && sudoUid >= 1000 && sudoUid < 65534) {
96
+ const byUid = lookupPasswdByUid(sudoUid);
97
+ if (byUid)
98
+ return byUid;
99
+ }
100
+ const sudoUser = (process.env.SUDO_USER || "").trim();
101
+ if (sudoUser && sudoUser !== "root") {
102
+ const byName = lookupPasswdByName(sudoUser);
103
+ if (byName && byName.uid >= 1000 && byName.uid < 65534)
104
+ return byName;
105
+ }
106
+ const jishuHome = resolve(options.jishuHome || process.env.JISHUSHELL_HOME || join(homedir(), ".jishushell"));
107
+ try {
108
+ if (existsSync(jishuHome)) {
109
+ const stat = statSync(jishuHome);
110
+ if (stat.uid !== 0) {
111
+ const user = lookupPasswdByUid(stat.uid);
112
+ if (user)
113
+ return { ...user, gid: stat.gid };
114
+ }
115
+ }
116
+ }
117
+ catch {
118
+ // Ignore and fall back to /etc/passwd scan.
119
+ }
120
+ return firstRealPasswdUser();
121
+ }
122
+ export function requireServiceUser(options = {}) {
123
+ const user = resolveServiceUser(options);
124
+ if (!user) {
125
+ throw new Error("Cannot determine service user. Run as a non-root user or through sudo with SUDO_UID/SUDO_USER set.");
126
+ }
127
+ return user;
128
+ }
129
+ //# sourceMappingURL=service-user.js.map