jishushell 0.6.5 → 0.6.18

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 (998) hide show
  1. package/apps/anythingllm-container.yaml +15 -170
  2. package/apps/browserless-chromium-container.yaml +15 -10
  3. package/apps/filebrowser-container.yaml +14 -9
  4. package/apps/hermes-container.yaml +23 -2
  5. package/apps/jishu-kb-container.yaml +29 -161
  6. package/apps/ollama-binary.yaml +32 -28
  7. package/apps/ollama-cpu-container.yaml +5 -0
  8. package/apps/ollama-with-hollama-binary.yaml +33 -28
  9. package/apps/openclaw-binary.yaml +34 -10
  10. package/apps/openclaw-container.yaml +31 -7
  11. package/apps/openclaw-with-ollama-container.yaml +8 -2
  12. package/apps/openclaw-with-searxng-container.yaml +18 -6
  13. package/apps/searxng-container.yaml +11 -6
  14. package/apps/weknora-container.yaml +21 -21
  15. package/dependencies/jishushell-panel-0.6.18.tgz +0 -0
  16. package/dist/cli/app.js +244 -213
  17. package/dist/cli/app.js.map +1 -1
  18. package/dist/cli/backup.js +15 -12
  19. package/dist/cli/backup.js.map +1 -1
  20. package/dist/cli/core.d.ts +4 -3
  21. package/dist/cli/core.js +392 -227
  22. package/dist/cli/core.js.map +1 -1
  23. package/dist/cli/doctor.d.ts +1 -1
  24. package/dist/cli/doctor.js +17 -10
  25. package/dist/cli/doctor.js.map +1 -1
  26. package/dist/cli/job.js +62 -14
  27. package/dist/cli/job.js.map +1 -1
  28. package/dist/cli/llm.js +80 -11
  29. package/dist/cli/llm.js.map +1 -1
  30. package/dist/cli/managed-list.d.ts +1 -3
  31. package/dist/cli/managed-list.js +18 -16
  32. package/dist/cli/managed-list.js.map +1 -1
  33. package/dist/cli/migrate.d.ts +2 -0
  34. package/dist/cli/migrate.js +160 -0
  35. package/dist/cli/migrate.js.map +1 -0
  36. package/dist/cli.js +1 -0
  37. package/dist/cli.js.map +1 -1
  38. package/dist/config.d.ts +23 -19
  39. package/dist/config.js +60 -49
  40. package/dist/config.js.map +1 -1
  41. package/dist/control.d.ts +6 -6
  42. package/dist/control.js +31 -23
  43. package/dist/control.js.map +1 -1
  44. package/dist/core.d.ts +5 -5
  45. package/dist/core.js +5 -5
  46. package/dist/core.js.map +1 -1
  47. package/dist/install.d.ts +2 -2
  48. package/dist/install.js +18 -18
  49. package/dist/install.js.map +1 -1
  50. package/dist/routes/apps.d.ts +1 -1
  51. package/dist/routes/apps.js +101 -193
  52. package/dist/routes/apps.js.map +1 -1
  53. package/dist/routes/auth.js +1 -1
  54. package/dist/routes/auth.js.map +1 -1
  55. package/dist/routes/backup.js +1 -1
  56. package/dist/routes/backup.js.map +1 -1
  57. package/dist/routes/external-mounts.d.ts +1 -1
  58. package/dist/routes/external-mounts.js +1 -1
  59. package/dist/routes/external-mounts.js.map +1 -1
  60. package/dist/routes/file-mounts.d.ts +4 -3
  61. package/dist/routes/file-mounts.js +51 -30
  62. package/dist/routes/file-mounts.js.map +1 -1
  63. package/dist/routes/files-organize.d.ts +2 -2
  64. package/dist/routes/files-organize.js +5 -5
  65. package/dist/routes/files-organize.js.map +1 -1
  66. package/dist/routes/files.d.ts +1 -1
  67. package/dist/routes/files.js +1 -1
  68. package/dist/routes/files.js.map +1 -1
  69. package/dist/routes/instances.d.ts +10 -4
  70. package/dist/routes/instances.js +323 -541
  71. package/dist/routes/instances.js.map +1 -1
  72. package/dist/routes/integration-apps.d.ts +14 -0
  73. package/dist/routes/integration-apps.js +81 -0
  74. package/dist/routes/integration-apps.js.map +1 -0
  75. package/dist/routes/integrations.d.ts +9 -0
  76. package/dist/routes/integrations.js +12 -0
  77. package/dist/routes/integrations.js.map +1 -0
  78. package/dist/routes/llm-proxy.js +26 -3
  79. package/dist/routes/llm-proxy.js.map +1 -1
  80. package/dist/routes/setup.js +53 -38
  81. package/dist/routes/setup.js.map +1 -1
  82. package/dist/routes/system.js +108 -68
  83. package/dist/routes/system.js.map +1 -1
  84. package/dist/routes/webdav.d.ts +1 -1
  85. package/dist/routes/webdav.js +2 -2
  86. package/dist/routes/webdav.js.map +1 -1
  87. package/dist/server.js +315 -213
  88. package/dist/server.js.map +1 -1
  89. package/dist/services/app-common/app-compiler.js +186 -0
  90. package/dist/services/app-common/app-compiler.js.map +1 -0
  91. package/dist/services/app-common/app-shared.d.ts +15 -0
  92. package/dist/services/app-common/app-shared.js +64 -0
  93. package/dist/services/app-common/app-shared.js.map +1 -0
  94. package/dist/services/app-common/capability-service.d.ts +45 -0
  95. package/dist/services/app-common/capability-service.js +331 -0
  96. package/dist/services/app-common/capability-service.js.map +1 -0
  97. package/dist/services/app-common/catalog-service.d.ts +59 -0
  98. package/dist/services/app-common/catalog-service.js +308 -0
  99. package/dist/services/app-common/catalog-service.js.map +1 -0
  100. package/dist/services/app-common/create-pipeline.d.ts +26 -0
  101. package/dist/services/app-common/create-pipeline.js +298 -0
  102. package/dist/services/app-common/create-pipeline.js.map +1 -0
  103. package/dist/services/app-common/delete-service.d.ts +5 -0
  104. package/dist/services/app-common/delete-service.js +104 -0
  105. package/dist/services/app-common/delete-service.js.map +1 -0
  106. package/dist/services/app-common/execution-owner.d.ts +23 -0
  107. package/dist/services/app-common/execution-owner.js +124 -0
  108. package/dist/services/app-common/execution-owner.js.map +1 -0
  109. package/dist/services/app-common/execution-service.d.ts +23 -0
  110. package/dist/services/app-common/execution-service.js +105 -0
  111. package/dist/services/app-common/execution-service.js.map +1 -0
  112. package/dist/services/app-common/id-normalizer.d.ts +31 -0
  113. package/dist/services/app-common/id-normalizer.js +83 -0
  114. package/dist/services/app-common/id-normalizer.js.map +1 -0
  115. package/dist/services/app-common/install-store.d.ts +34 -0
  116. package/dist/services/app-common/install-store.js +261 -0
  117. package/dist/services/app-common/install-store.js.map +1 -0
  118. package/dist/services/app-common/instance-store.d.ts +78 -0
  119. package/dist/services/app-common/instance-store.js +495 -0
  120. package/dist/services/app-common/instance-store.js.map +1 -0
  121. package/dist/services/app-common/integration-refs.d.ts +17 -0
  122. package/dist/services/app-common/integration-refs.js +47 -0
  123. package/dist/services/app-common/integration-refs.js.map +1 -0
  124. package/dist/services/app-common/lifecycle-pipeline.d.ts +62 -0
  125. package/dist/services/app-common/lifecycle-pipeline.js +317 -0
  126. package/dist/services/app-common/lifecycle-pipeline.js.map +1 -0
  127. package/dist/services/app-common/lifecycle-scripts.d.ts +38 -0
  128. package/dist/services/app-common/lifecycle-scripts.js +935 -0
  129. package/dist/services/app-common/lifecycle-scripts.js.map +1 -0
  130. package/dist/services/app-common/lifecycle-service.d.ts +68 -0
  131. package/dist/services/app-common/lifecycle-service.js +467 -0
  132. package/dist/services/app-common/lifecycle-service.js.map +1 -0
  133. package/dist/services/app-common/paths.d.ts +29 -0
  134. package/dist/services/app-common/paths.js +34 -0
  135. package/dist/services/app-common/paths.js.map +1 -0
  136. package/dist/services/app-common/platform-transform.d.ts +32 -0
  137. package/dist/services/app-common/platform-transform.js +65 -0
  138. package/dist/services/app-common/platform-transform.js.map +1 -0
  139. package/dist/services/app-common/provide-resolver.d.ts +29 -0
  140. package/dist/services/app-common/provide-resolver.js +129 -0
  141. package/dist/services/app-common/provide-resolver.js.map +1 -0
  142. package/dist/services/app-common/remote-spec.d.ts +14 -0
  143. package/dist/services/app-common/remote-spec.js +58 -0
  144. package/dist/services/app-common/remote-spec.js.map +1 -0
  145. package/dist/services/app-common/runtime-builder.d.ts +1 -0
  146. package/dist/services/app-common/runtime-builder.js +2 -0
  147. package/dist/services/app-common/runtime-builder.js.map +1 -0
  148. package/dist/services/app-common/runtime-facts.d.ts +19 -0
  149. package/dist/services/app-common/runtime-facts.js +126 -0
  150. package/dist/services/app-common/runtime-facts.js.map +1 -0
  151. package/dist/services/app-common/service.d.ts +9 -0
  152. package/dist/services/app-common/service.js +10 -0
  153. package/dist/services/app-common/service.js.map +1 -0
  154. package/dist/services/app-common/spec-materializer.d.ts +9 -0
  155. package/dist/services/app-common/spec-materializer.js +361 -0
  156. package/dist/services/app-common/spec-materializer.js.map +1 -0
  157. package/dist/services/app-common/status-refresh.d.ts +33 -0
  158. package/dist/services/app-common/status-refresh.js +759 -0
  159. package/dist/services/app-common/status-refresh.js.map +1 -0
  160. package/dist/services/app-common/task-service.d.ts +29 -0
  161. package/dist/services/app-common/task-service.js +93 -0
  162. package/dist/services/app-common/task-service.js.map +1 -0
  163. package/dist/services/app-common/terminal-session-manager.js +157 -0
  164. package/dist/services/app-common/terminal-session-manager.js.map +1 -0
  165. package/dist/services/app-modules/browserless/routes.d.ts +9 -0
  166. package/dist/services/app-modules/browserless/routes.js +517 -0
  167. package/dist/services/app-modules/browserless/routes.js.map +1 -0
  168. package/dist/services/app-modules/routes.d.ts +2 -0
  169. package/dist/services/app-modules/routes.js +5 -0
  170. package/dist/services/app-modules/routes.js.map +1 -0
  171. package/dist/services/backup/backup-admin.d.ts +95 -0
  172. package/dist/services/backup/backup-admin.js +246 -0
  173. package/dist/services/backup/backup-admin.js.map +1 -0
  174. package/dist/services/backup/backup-manager.d.ts +264 -0
  175. package/dist/services/backup/backup-manager.js +2318 -0
  176. package/dist/services/backup/backup-manager.js.map +1 -0
  177. package/dist/services/backup/backup-verify.js +240 -0
  178. package/dist/services/backup/backup-verify.js.map +1 -0
  179. package/dist/services/capabilities/browser-policy.d.ts +14 -0
  180. package/dist/services/capabilities/browser-policy.js +141 -0
  181. package/dist/services/capabilities/browser-policy.js.map +1 -0
  182. package/dist/services/capabilities/contract.d.ts +50 -0
  183. package/dist/services/capabilities/contract.js +129 -0
  184. package/dist/services/capabilities/contract.js.map +1 -0
  185. package/dist/services/capabilities/endpoint-validator.d.ts +42 -0
  186. package/dist/services/capabilities/endpoint-validator.js +114 -0
  187. package/dist/services/capabilities/endpoint-validator.js.map +1 -0
  188. package/dist/services/capabilities/health.d.ts +16 -0
  189. package/dist/services/capabilities/health.js +121 -0
  190. package/dist/services/capabilities/health.js.map +1 -0
  191. package/dist/services/capabilities/registry.d.ts +56 -0
  192. package/dist/services/capabilities/registry.js +222 -0
  193. package/dist/services/capabilities/registry.js.map +1 -0
  194. package/dist/services/capabilities/sync.d.ts +7 -0
  195. package/dist/services/capabilities/sync.js +223 -0
  196. package/dist/services/capabilities/sync.js.map +1 -0
  197. package/dist/services/capability-proxy/html-rewriters/browserless.d.ts +1 -0
  198. package/dist/services/capability-proxy/html-rewriters/browserless.js +83 -0
  199. package/dist/services/capability-proxy/html-rewriters/browserless.js.map +1 -0
  200. package/dist/services/capability-proxy/html-rewriters/index.d.ts +12 -0
  201. package/dist/services/capability-proxy/html-rewriters/index.js +25 -0
  202. package/dist/services/capability-proxy/html-rewriters/index.js.map +1 -0
  203. package/dist/services/capability-proxy/html-rewriters/jishukb.d.ts +1 -0
  204. package/dist/services/capability-proxy/html-rewriters/jishukb.js +161 -0
  205. package/dist/services/capability-proxy/html-rewriters/jishukb.js.map +1 -0
  206. package/dist/services/connections/admin.d.ts +80 -0
  207. package/dist/services/connections/admin.js +327 -0
  208. package/dist/services/connections/admin.js.map +1 -0
  209. package/dist/services/connections/apply.d.ts +110 -0
  210. package/dist/services/connections/apply.js +444 -0
  211. package/dist/services/connections/apply.js.map +1 -0
  212. package/dist/services/connections/resolver.d.ts +82 -0
  213. package/dist/services/connections/resolver.js +289 -0
  214. package/dist/services/connections/resolver.js.map +1 -0
  215. package/dist/services/connections/suggestions.d.ts +27 -0
  216. package/dist/services/connections/suggestions.js +124 -0
  217. package/dist/services/connections/suggestions.js.map +1 -0
  218. package/dist/services/connections/transactor.d.ts +39 -0
  219. package/dist/services/connections/transactor.js +307 -0
  220. package/dist/services/connections/transactor.js.map +1 -0
  221. package/dist/services/files/external-mounts.js +187 -0
  222. package/dist/services/files/external-mounts.js.map +1 -0
  223. package/dist/services/files/files-manager.d.ts +265 -0
  224. package/dist/services/files/files-manager.js +1189 -0
  225. package/dist/services/files/files-manager.js.map +1 -0
  226. package/dist/services/files/files-mounts.d.ts +42 -0
  227. package/dist/services/files/files-mounts.js +207 -0
  228. package/dist/services/files/files-mounts.js.map +1 -0
  229. package/dist/services/files/organize/applier.js +218 -0
  230. package/dist/services/files/organize/applier.js.map +1 -0
  231. package/dist/services/files/organize/rules.js +286 -0
  232. package/dist/services/files/organize/rules.js.map +1 -0
  233. package/dist/services/files/organize/scanner.js +366 -0
  234. package/dist/services/files/organize/scanner.js.map +1 -0
  235. package/dist/services/files/organize/store.js +82 -0
  236. package/dist/services/files/organize/store.js.map +1 -0
  237. package/dist/services/files/webdav/server.d.ts +47 -0
  238. package/dist/services/files/webdav/server.js +329 -0
  239. package/dist/services/files/webdav/server.js.map +1 -0
  240. package/dist/services/files/webdav/xml-builder.js.map +1 -0
  241. package/dist/services/instances/admin.d.ts +23 -0
  242. package/dist/services/instances/admin.js +218 -0
  243. package/dist/services/instances/admin.js.map +1 -0
  244. package/dist/services/instances/clone.d.ts +26 -0
  245. package/dist/services/instances/clone.js +78 -0
  246. package/dist/services/instances/clone.js.map +1 -0
  247. package/dist/services/instances/config-admin.d.ts +17 -0
  248. package/dist/services/instances/config-admin.js +181 -0
  249. package/dist/services/instances/config-admin.js.map +1 -0
  250. package/dist/services/instances/manager.d.ts +231 -0
  251. package/dist/services/instances/manager.js +1348 -0
  252. package/dist/services/instances/manager.js.map +1 -0
  253. package/dist/services/instances/passwords.js +173 -0
  254. package/dist/services/instances/passwords.js.map +1 -0
  255. package/dist/services/instances/types.d.ts +21 -0
  256. package/dist/services/instances/types.js +2 -0
  257. package/dist/services/instances/types.js.map +1 -0
  258. package/dist/services/integrations/anythingllm/integration.d.ts +25 -0
  259. package/dist/services/integrations/anythingllm/integration.js +251 -0
  260. package/dist/services/integrations/anythingllm/integration.js.map +1 -0
  261. package/dist/services/integrations/catalog.d.ts +3 -0
  262. package/dist/services/integrations/catalog.js +73 -0
  263. package/dist/services/integrations/catalog.js.map +1 -0
  264. package/dist/services/integrations/custom/integration.d.ts +28 -0
  265. package/dist/services/integrations/custom/integration.js +179 -0
  266. package/dist/services/integrations/custom/integration.js.map +1 -0
  267. package/dist/services/integrations/hermes/integration.d.ts +194 -0
  268. package/dist/services/integrations/hermes/integration.js +1669 -0
  269. package/dist/services/integrations/hermes/integration.js.map +1 -0
  270. package/dist/services/integrations/index.d.ts +40 -0
  271. package/dist/services/integrations/index.js +59 -0
  272. package/dist/services/integrations/index.js.map +1 -0
  273. package/dist/services/integrations/installable/catalog.d.ts +33 -0
  274. package/dist/services/integrations/installable/catalog.js +88 -0
  275. package/dist/services/integrations/installable/catalog.js.map +1 -0
  276. package/dist/services/integrations/installable/index.d.ts +35 -0
  277. package/dist/services/integrations/installable/index.js +170 -0
  278. package/dist/services/integrations/installable/index.js.map +1 -0
  279. package/dist/services/integrations/installable/installers/integration-probes.d.ts +50 -0
  280. package/dist/services/integrations/installable/installers/integration-probes.js +231 -0
  281. package/dist/services/integrations/installable/installers/integration-probes.js.map +1 -0
  282. package/dist/services/integrations/installable/installers/integration.d.ts +30 -0
  283. package/dist/services/integrations/installable/installers/integration.js +177 -0
  284. package/dist/services/integrations/installable/installers/integration.js.map +1 -0
  285. package/dist/services/integrations/installable/installers/registry-probe.js.map +1 -0
  286. package/dist/services/integrations/installable/installers/shell-script.d.ts +46 -0
  287. package/dist/services/integrations/installable/installers/shell-script.js +487 -0
  288. package/dist/services/integrations/installable/installers/shell-script.js.map +1 -0
  289. package/dist/services/integrations/installable/types.d.ts +130 -0
  290. package/dist/services/integrations/installable/types.js +19 -0
  291. package/dist/services/integrations/installable/types.js.map +1 -0
  292. package/dist/services/integrations/jishukb/integration.d.ts +22 -0
  293. package/dist/services/integrations/jishukb/integration.js +189 -0
  294. package/dist/services/integrations/jishukb/integration.js.map +1 -0
  295. package/dist/services/integrations/openclaw/anythingllm-shim.d.ts +46 -0
  296. package/dist/services/integrations/openclaw/anythingllm-shim.js +281 -0
  297. package/dist/services/integrations/openclaw/anythingllm-shim.js.map +1 -0
  298. package/dist/services/integrations/openclaw/drive-shim.js +490 -0
  299. package/dist/services/integrations/openclaw/drive-shim.js.map +1 -0
  300. package/dist/services/integrations/openclaw/integration.d.ts +424 -0
  301. package/dist/services/integrations/openclaw/integration.js +4402 -0
  302. package/dist/services/integrations/openclaw/integration.js.map +1 -0
  303. package/dist/services/integrations/openclaw/jishukb-shim.d.ts +48 -0
  304. package/dist/services/integrations/openclaw/jishukb-shim.js +750 -0
  305. package/dist/services/integrations/openclaw/jishukb-shim.js.map +1 -0
  306. package/dist/services/integrations/openclaw/mcporter-lite.js +276 -0
  307. package/dist/services/integrations/openclaw/mcporter-lite.js.map +1 -0
  308. package/dist/services/integrations/openclaw/mcporter.d.ts +46 -0
  309. package/dist/services/integrations/openclaw/mcporter.js +112 -0
  310. package/dist/services/integrations/openclaw/mcporter.js.map +1 -0
  311. package/dist/services/integrations/openclaw/routes.d.ts +21 -0
  312. package/dist/services/integrations/openclaw/routes.js +1191 -0
  313. package/dist/services/integrations/openclaw/routes.js.map +1 -0
  314. package/dist/services/integrations/registry.d.ts +17 -0
  315. package/dist/services/integrations/registry.js +36 -0
  316. package/dist/services/integrations/registry.js.map +1 -0
  317. package/dist/services/integrations/routes.d.ts +2 -0
  318. package/dist/services/integrations/routes.js +9 -0
  319. package/dist/services/integrations/routes.js.map +1 -0
  320. package/dist/services/integrations/types.d.ts +469 -0
  321. package/dist/services/integrations/types.js +2 -0
  322. package/dist/services/integrations/types.js.map +1 -0
  323. package/dist/services/legacy-migrator/classifier.d.ts +44 -0
  324. package/dist/services/legacy-migrator/classifier.js +309 -0
  325. package/dist/services/legacy-migrator/classifier.js.map +1 -0
  326. package/dist/services/legacy-migrator/executor.d.ts +42 -0
  327. package/dist/services/legacy-migrator/executor.js +637 -0
  328. package/dist/services/legacy-migrator/executor.js.map +1 -0
  329. package/dist/services/legacy-migrator/index.d.ts +31 -0
  330. package/dist/services/legacy-migrator/index.js +34 -0
  331. package/dist/services/legacy-migrator/index.js.map +1 -0
  332. package/dist/services/legacy-migrator/planner.d.ts +8 -0
  333. package/dist/services/legacy-migrator/planner.js +154 -0
  334. package/dist/services/legacy-migrator/planner.js.map +1 -0
  335. package/dist/services/legacy-migrator/provider-settings.d.ts +6 -0
  336. package/dist/services/legacy-migrator/provider-settings.js +72 -0
  337. package/dist/services/legacy-migrator/provider-settings.js.map +1 -0
  338. package/dist/services/legacy-migrator/report.d.ts +9 -0
  339. package/dist/services/legacy-migrator/report.js +99 -0
  340. package/dist/services/legacy-migrator/report.js.map +1 -0
  341. package/dist/services/legacy-migrator/scanner.d.ts +13 -0
  342. package/dist/services/legacy-migrator/scanner.js +157 -0
  343. package/dist/services/legacy-migrator/scanner.js.map +1 -0
  344. package/dist/services/legacy-migrator/types.d.ts +97 -0
  345. package/dist/services/legacy-migrator/types.js +23 -0
  346. package/dist/services/legacy-migrator/types.js.map +1 -0
  347. package/dist/services/llm-proxy/instance-proxy.d.ts +17 -1
  348. package/dist/services/llm-proxy/instance-proxy.js +171 -44
  349. package/dist/services/llm-proxy/instance-proxy.js.map +1 -1
  350. package/dist/services/llm-proxy/probe.js +5 -14
  351. package/dist/services/llm-proxy/probe.js.map +1 -1
  352. package/dist/services/llm-proxy/providers.js +23 -31
  353. package/dist/services/llm-proxy/providers.js.map +1 -1
  354. package/dist/services/llm-proxy/ssrf.d.ts +11 -4
  355. package/dist/services/llm-proxy/ssrf.js +45 -7
  356. package/dist/services/llm-proxy/ssrf.js.map +1 -1
  357. package/dist/services/llm-proxy/validate-key.js +16 -37
  358. package/dist/services/llm-proxy/validate-key.js.map +1 -1
  359. package/dist/services/repair/runtime-repair.d.ts +22 -0
  360. package/dist/services/repair/runtime-repair.js +307 -0
  361. package/dist/services/repair/runtime-repair.js.map +1 -0
  362. package/dist/services/runtime/driver-registry.d.ts +21 -0
  363. package/dist/services/runtime/driver-registry.js +22 -0
  364. package/dist/services/runtime/driver-registry.js.map +1 -0
  365. package/dist/services/runtime/drivers/nomad.d.ts +260 -0
  366. package/dist/services/runtime/drivers/nomad.js +3092 -0
  367. package/dist/services/runtime/drivers/nomad.js.map +1 -0
  368. package/dist/services/runtime/errors.d.ts +3 -3
  369. package/dist/services/runtime/errors.js +3 -3
  370. package/dist/services/runtime/instance.d.ts +14 -16
  371. package/dist/services/runtime/instance.js +93 -123
  372. package/dist/services/runtime/instance.js.map +1 -1
  373. package/dist/services/runtime/job-id.d.ts +1 -1
  374. package/dist/services/runtime/job-id.js +1 -1
  375. package/dist/services/runtime/mcp-shims/firewall.d.ts +2 -2
  376. package/dist/services/runtime/mcp-shims/firewall.js +2 -2
  377. package/dist/services/runtime/mcp-shims/searxng-shim.d.ts +3 -5
  378. package/dist/services/runtime/mcp-shims/searxng-shim.js +3 -5
  379. package/dist/services/runtime/mcp-shims/searxng-shim.js.map +1 -1
  380. package/dist/services/runtime/mcp-shims/write-mcp-entry.d.ts +20 -20
  381. package/dist/services/runtime/mcp-shims/write-mcp-entry.js +16 -16
  382. package/dist/services/runtime/mcp-shims/write-mcp-entry.js.map +1 -1
  383. package/dist/services/runtime/ownership-marker.d.ts +83 -0
  384. package/dist/services/runtime/ownership-marker.js +109 -0
  385. package/dist/services/runtime/ownership-marker.js.map +1 -0
  386. package/dist/services/runtime/types.d.ts +22 -501
  387. package/dist/services/runtime/types.js +0 -12
  388. package/dist/services/runtime/types.js.map +1 -1
  389. package/dist/services/runtime/workload-compiler.d.ts +17 -0
  390. package/dist/services/runtime/workload-compiler.js +525 -0
  391. package/dist/services/runtime/workload-compiler.js.map +1 -0
  392. package/dist/services/runtime/workload-types.d.ts +11 -0
  393. package/dist/services/runtime/workload-types.js +2 -0
  394. package/dist/services/runtime/workload-types.js.map +1 -0
  395. package/dist/services/setup/core-manager.d.ts +50 -0
  396. package/dist/services/setup/core-manager.js +456 -0
  397. package/dist/services/setup/core-manager.js.map +1 -0
  398. package/dist/services/setup/plugin-installer.js +136 -0
  399. package/dist/services/setup/plugin-installer.js.map +1 -0
  400. package/dist/services/setup/setup-manager.d.ts +158 -0
  401. package/dist/services/setup/setup-manager.js +2768 -0
  402. package/dist/services/setup/setup-manager.js.map +1 -0
  403. package/dist/services/system/cli-command.d.ts +5 -0
  404. package/dist/services/system/cli-command.js +18 -0
  405. package/dist/services/system/cli-command.js.map +1 -0
  406. package/dist/services/system/macos-launchd.js +312 -0
  407. package/dist/services/system/macos-launchd.js.map +1 -0
  408. package/dist/services/system/repair-orchestrator.d.ts +71 -0
  409. package/dist/services/system/repair-orchestrator.js +412 -0
  410. package/dist/services/system/repair-orchestrator.js.map +1 -0
  411. package/dist/services/system/system-monitor.js +96 -0
  412. package/dist/services/system/system-monitor.js.map +1 -0
  413. package/dist/services/system/system-ollama-provider.d.ts +14 -0
  414. package/dist/services/system/system-ollama-provider.js +129 -0
  415. package/dist/services/system/system-ollama-provider.js.map +1 -0
  416. package/dist/services/system/system-reconciler.d.ts +59 -0
  417. package/dist/services/system/system-reconciler.js +710 -0
  418. package/dist/services/system/system-reconciler.js.map +1 -0
  419. package/dist/services/system/update-manager.d.ts +43 -0
  420. package/dist/services/system/update-manager.js +315 -0
  421. package/dist/services/system/update-manager.js.map +1 -0
  422. package/dist/services/system/upgrade-finalize.d.ts +80 -0
  423. package/dist/services/system/upgrade-finalize.js +507 -0
  424. package/dist/services/system/upgrade-finalize.js.map +1 -0
  425. package/dist/services/tasks/registry.d.ts +44 -0
  426. package/dist/services/tasks/registry.js +90 -0
  427. package/dist/services/tasks/registry.js.map +1 -0
  428. package/dist/services/telemetry/activation.d.ts +6 -2
  429. package/dist/services/telemetry/activation.js +6 -2
  430. package/dist/services/telemetry/activation.js.map +1 -1
  431. package/dist/services/telemetry/heartbeat.d.ts +6 -2
  432. package/dist/services/telemetry/heartbeat.js +6 -2
  433. package/dist/services/telemetry/heartbeat.js.map +1 -1
  434. package/dist/services/workspaces/builder.d.ts +29 -0
  435. package/dist/services/workspaces/builder.js +186 -0
  436. package/dist/services/workspaces/builder.js.map +1 -0
  437. package/dist/types.d.ts +331 -45
  438. package/dist/utils/instance-lock.d.ts +2 -2
  439. package/dist/utils/instance-lock.js +2 -2
  440. package/install/jishu-install.sh +107 -26
  441. package/install/jishu-uninstall.sh +8 -0
  442. package/install/post-install.sh +162 -185
  443. package/install/post-uninstall.sh +6 -0
  444. package/node_modules/@fastify/static/.github/workflows/ci.yml +1 -1
  445. package/node_modules/@fastify/static/.github/workflows/lock-threads.yml +19 -0
  446. package/node_modules/@fastify/static/LICENSE +1 -3
  447. package/node_modules/@fastify/static/example/server-benchmark.js +39 -0
  448. package/node_modules/@fastify/static/index.js +169 -23
  449. package/node_modules/@fastify/static/lib/dirList.js +20 -6
  450. package/node_modules/@fastify/static/package.json +10 -8
  451. package/node_modules/@fastify/static/test/dir-list.test.js +82 -0
  452. package/node_modules/@fastify/static/test/static.test.js +326 -4
  453. package/node_modules/@fastify/static/types/index.d.ts +0 -4
  454. package/node_modules/@fastify/static/types/index.test-d.ts +1 -1
  455. package/node_modules/content-disposition/README.md +21 -22
  456. package/node_modules/content-disposition/index.js +122 -44
  457. package/node_modules/content-disposition/package.json +16 -20
  458. package/node_modules/glob/README.md +39 -130
  459. package/node_modules/glob/dist/commonjs/glob.d.ts +8 -0
  460. package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -1
  461. package/node_modules/glob/dist/commonjs/glob.js +2 -1
  462. package/node_modules/glob/dist/commonjs/glob.js.map +1 -1
  463. package/node_modules/glob/dist/commonjs/index.min.js +4 -0
  464. package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
  465. package/node_modules/glob/dist/commonjs/pattern.d.ts +3 -0
  466. package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -1
  467. package/node_modules/glob/dist/commonjs/pattern.js +4 -0
  468. package/node_modules/glob/dist/commonjs/pattern.js.map +1 -1
  469. package/node_modules/glob/dist/esm/glob.d.ts +8 -0
  470. package/node_modules/glob/dist/esm/glob.d.ts.map +1 -1
  471. package/node_modules/glob/dist/esm/glob.js +2 -1
  472. package/node_modules/glob/dist/esm/glob.js.map +1 -1
  473. package/node_modules/glob/dist/esm/index.min.js +4 -0
  474. package/node_modules/glob/dist/esm/index.min.js.map +7 -0
  475. package/node_modules/glob/dist/esm/pattern.d.ts +3 -0
  476. package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -1
  477. package/node_modules/glob/dist/esm/pattern.js +4 -0
  478. package/node_modules/glob/dist/esm/pattern.js.map +1 -1
  479. package/node_modules/glob/package.json +38 -37
  480. package/node_modules/jishushell-panel/README.md +4 -4
  481. package/node_modules/jishushell-panel/output/dist/server.js +17 -6
  482. package/node_modules/jishushell-panel/output/dist/server.js.map +1 -1
  483. package/node_modules/jishushell-panel/output/public/assets/ApiKeyField-NKcbHjNz.js +1 -0
  484. package/node_modules/jishushell-panel/output/public/assets/Dashboard-Da1fL38t.js +1 -0
  485. package/node_modules/jishushell-panel/output/public/assets/HermesChatPanel-DZvmYsoh.js +1 -0
  486. package/node_modules/jishushell-panel/output/public/assets/HermesConfigForm-BLUWlKwm.js +4 -0
  487. package/node_modules/jishushell-panel/output/public/assets/InitPassword-BAKsshzk.js +1 -0
  488. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-Dgyc_TX5.js +14 -0
  489. package/node_modules/jishushell-panel/output/public/assets/Login-DHeOmwI8.js +1 -0
  490. package/node_modules/jishushell-panel/output/public/assets/NewInstance-CIy0cYtp.js +1 -0
  491. package/node_modules/jishushell-panel/output/public/assets/ProviderRecommendations-H0ByEYF0.js +1 -0
  492. package/node_modules/jishushell-panel/output/public/assets/Settings-DAT-UMfP.js +1 -0
  493. package/node_modules/jishushell-panel/output/public/assets/Setup-g3uckFYR.js +1 -0
  494. package/node_modules/jishushell-panel/output/public/assets/WeixinLoginPanel-D-T6BxkQ.js +1 -0
  495. package/node_modules/jishushell-panel/output/public/assets/api-C70Gt678.js +4 -0
  496. package/node_modules/jishushell-panel/output/public/assets/index-DnnqTf7s.css +1 -0
  497. package/node_modules/jishushell-panel/output/public/assets/index-ERt6_ngA.js +23 -0
  498. package/node_modules/jishushell-panel/output/public/assets/registry-DF93EzIb.js +2 -0
  499. package/node_modules/jishushell-panel/output/public/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  500. package/node_modules/jishushell-panel/output/public/assets/setup-task-q21GnI0E.js +1 -0
  501. package/node_modules/jishushell-panel/output/public/assets/usePolling-DeoThIQn.js +1 -0
  502. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-CS8DFbkQ.js +1 -0
  503. package/node_modules/jishushell-panel/output/public/assets/vendor-react-Cc84NArf.js +8 -0
  504. package/node_modules/jishushell-panel/output/public/index.html +6 -4
  505. package/node_modules/jishushell-panel/package.json +2 -2
  506. package/node_modules/semver/classes/range.js +11 -2
  507. package/node_modules/semver/package.json +2 -2
  508. package/package.json +12 -64
  509. package/scripts/check-app-path-boundaries.mjs +121 -0
  510. package/scripts/check-app-spec.mjs +127 -25
  511. package/scripts/check-colima-launchd.mjs +10 -8
  512. package/scripts/check-integration-isolation.ts +541 -0
  513. package/scripts/check-new-file-tests.mjs +11 -3
  514. package/scripts/check-open-core-boundaries.mjs +60 -10
  515. package/scripts/check-test-layering.sh +1 -1
  516. package/scripts/fixtures/instances/hermes-sample/instance.json +3 -2
  517. package/scripts/fixtures/instances/legacy-openclaw-sample/instance.json +1 -1
  518. package/scripts/local-web-upgrade-test.README +4 -3
  519. package/scripts/local-web-upgrade-test.example.env +2 -2
  520. package/scripts/local-web-upgrade-test.sh +14 -1
  521. package/scripts/pack-gui-and-send-pi.sh +41 -0
  522. package/scripts/perf/instances.js +1 -1
  523. package/scripts/prune-open-core-dist.mjs +89 -2
  524. package/scripts/smoke/hermes-bootstrap.sh +5 -5
  525. package/templates/hermes-entrypoint.sh +19 -29
  526. package/apps/openwebui-container.yaml +0 -97
  527. package/apps/playwright-container.yaml +0 -126
  528. package/dependencies/jishushell-panel-0.6.5.tgz +0 -0
  529. package/dist/crypto-shim.d.ts +0 -1
  530. package/dist/crypto-shim.js +0 -2
  531. package/dist/crypto-shim.js.map +0 -1
  532. package/dist/routes/agent-apps.d.ts +0 -14
  533. package/dist/routes/agent-apps.js +0 -77
  534. package/dist/routes/agent-apps.js.map +0 -1
  535. package/dist/routes/internal.d.ts +0 -2
  536. package/dist/routes/internal.js +0 -55
  537. package/dist/routes/internal.js.map +0 -1
  538. package/dist/routes/openclaw-routes.d.ts +0 -22
  539. package/dist/routes/openclaw-routes.js +0 -1020
  540. package/dist/routes/openclaw-routes.js.map +0 -1
  541. package/dist/routes/runtime.d.ts +0 -15
  542. package/dist/routes/runtime.js +0 -76
  543. package/dist/routes/runtime.js.map +0 -1
  544. package/dist/services/agent-apps/catalog.d.ts +0 -33
  545. package/dist/services/agent-apps/catalog.js +0 -88
  546. package/dist/services/agent-apps/catalog.js.map +0 -1
  547. package/dist/services/agent-apps/index.d.ts +0 -36
  548. package/dist/services/agent-apps/index.js +0 -171
  549. package/dist/services/agent-apps/index.js.map +0 -1
  550. package/dist/services/agent-apps/installers/adapter-probes.d.ts +0 -49
  551. package/dist/services/agent-apps/installers/adapter-probes.js +0 -230
  552. package/dist/services/agent-apps/installers/adapter-probes.js.map +0 -1
  553. package/dist/services/agent-apps/installers/adapter.d.ts +0 -30
  554. package/dist/services/agent-apps/installers/adapter.js +0 -171
  555. package/dist/services/agent-apps/installers/adapter.js.map +0 -1
  556. package/dist/services/agent-apps/installers/registry-probe.js.map +0 -1
  557. package/dist/services/agent-apps/installers/shell-script.d.ts +0 -47
  558. package/dist/services/agent-apps/installers/shell-script.js +0 -488
  559. package/dist/services/agent-apps/installers/shell-script.js.map +0 -1
  560. package/dist/services/agent-apps/types.d.ts +0 -128
  561. package/dist/services/agent-apps/types.js +0 -17
  562. package/dist/services/agent-apps/types.js.map +0 -1
  563. package/dist/services/app/app-compiler.js +0 -185
  564. package/dist/services/app/app-compiler.js.map +0 -1
  565. package/dist/services/app/app-manager.d.ts +0 -184
  566. package/dist/services/app/app-manager.js +0 -2933
  567. package/dist/services/app/app-manager.js.map +0 -1
  568. package/dist/services/app/custom-manager.d.ts +0 -27
  569. package/dist/services/app/custom-manager.js +0 -382
  570. package/dist/services/app/custom-manager.js.map +0 -1
  571. package/dist/services/app/hermes-agent-manager.d.ts +0 -20
  572. package/dist/services/app/hermes-agent-manager.js +0 -299
  573. package/dist/services/app/hermes-agent-manager.js.map +0 -1
  574. package/dist/services/app/id-normalizer.d.ts +0 -27
  575. package/dist/services/app/id-normalizer.js +0 -77
  576. package/dist/services/app/id-normalizer.js.map +0 -1
  577. package/dist/services/app/ollama-manager.d.ts +0 -18
  578. package/dist/services/app/ollama-manager.js +0 -224
  579. package/dist/services/app/ollama-manager.js.map +0 -1
  580. package/dist/services/app/openclaw-manager.d.ts +0 -63
  581. package/dist/services/app/openclaw-manager.js +0 -1215
  582. package/dist/services/app/openclaw-manager.js.map +0 -1
  583. package/dist/services/app/paths.d.ts +0 -27
  584. package/dist/services/app/paths.js +0 -40
  585. package/dist/services/app/paths.js.map +0 -1
  586. package/dist/services/app/platform-transform.d.ts +0 -32
  587. package/dist/services/app/platform-transform.js +0 -65
  588. package/dist/services/app/platform-transform.js.map +0 -1
  589. package/dist/services/app/provide-resolver.d.ts +0 -29
  590. package/dist/services/app/provide-resolver.js +0 -135
  591. package/dist/services/app/provide-resolver.js.map +0 -1
  592. package/dist/services/app/registry.d.ts +0 -17
  593. package/dist/services/app/registry.js +0 -31
  594. package/dist/services/app/registry.js.map +0 -1
  595. package/dist/services/app/remote-spec.d.ts +0 -14
  596. package/dist/services/app/remote-spec.js +0 -58
  597. package/dist/services/app/remote-spec.js.map +0 -1
  598. package/dist/services/app/terminal-session-manager.js +0 -157
  599. package/dist/services/app/terminal-session-manager.js.map +0 -1
  600. package/dist/services/app/types.d.ts +0 -74
  601. package/dist/services/app/types.js +0 -16
  602. package/dist/services/app/types.js.map +0 -1
  603. package/dist/services/app-config-admin.d.ts +0 -17
  604. package/dist/services/app-config-admin.js +0 -177
  605. package/dist/services/app-config-admin.js.map +0 -1
  606. package/dist/services/app-create-from-installed.d.ts +0 -23
  607. package/dist/services/app-create-from-installed.js +0 -75
  608. package/dist/services/app-create-from-installed.js.map +0 -1
  609. package/dist/services/app-passwords.js +0 -173
  610. package/dist/services/app-passwords.js.map +0 -1
  611. package/dist/services/backup-admin.d.ts +0 -101
  612. package/dist/services/backup-admin.js +0 -259
  613. package/dist/services/backup-admin.js.map +0 -1
  614. package/dist/services/backup-manager.d.ts +0 -264
  615. package/dist/services/backup-manager.js +0 -2263
  616. package/dist/services/backup-manager.js.map +0 -1
  617. package/dist/services/backup-verify.js +0 -240
  618. package/dist/services/backup-verify.js.map +0 -1
  619. package/dist/services/capability-endpoint-validator.d.ts +0 -41
  620. package/dist/services/capability-endpoint-validator.js +0 -114
  621. package/dist/services/capability-endpoint-validator.js.map +0 -1
  622. package/dist/services/capability-health.d.ts +0 -16
  623. package/dist/services/capability-health.js +0 -121
  624. package/dist/services/capability-health.js.map +0 -1
  625. package/dist/services/capability-registry.d.ts +0 -29
  626. package/dist/services/capability-registry.js +0 -176
  627. package/dist/services/capability-registry.js.map +0 -1
  628. package/dist/services/capability-sync.d.ts +0 -4
  629. package/dist/services/capability-sync.js +0 -220
  630. package/dist/services/capability-sync.js.map +0 -1
  631. package/dist/services/connection-admin.d.ts +0 -74
  632. package/dist/services/connection-admin.js +0 -287
  633. package/dist/services/connection-admin.js.map +0 -1
  634. package/dist/services/connection-apply.d.ts +0 -91
  635. package/dist/services/connection-apply.js +0 -471
  636. package/dist/services/connection-apply.js.map +0 -1
  637. package/dist/services/connection-resolver.d.ts +0 -65
  638. package/dist/services/connection-resolver.js +0 -281
  639. package/dist/services/connection-resolver.js.map +0 -1
  640. package/dist/services/connection-transactor.d.ts +0 -39
  641. package/dist/services/connection-transactor.js +0 -354
  642. package/dist/services/connection-transactor.js.map +0 -1
  643. package/dist/services/core-manager.d.ts +0 -50
  644. package/dist/services/core-manager.js +0 -411
  645. package/dist/services/core-manager.js.map +0 -1
  646. package/dist/services/external-mounts.js +0 -187
  647. package/dist/services/external-mounts.js.map +0 -1
  648. package/dist/services/files-manager.d.ts +0 -252
  649. package/dist/services/files-manager.js +0 -1156
  650. package/dist/services/files-manager.js.map +0 -1
  651. package/dist/services/files-mounts.d.ts +0 -42
  652. package/dist/services/files-mounts.js +0 -207
  653. package/dist/services/files-mounts.js.map +0 -1
  654. package/dist/services/instance-admin.d.ts +0 -26
  655. package/dist/services/instance-admin.js +0 -218
  656. package/dist/services/instance-admin.js.map +0 -1
  657. package/dist/services/instance-manager.d.ts +0 -192
  658. package/dist/services/instance-manager.js +0 -1289
  659. package/dist/services/instance-manager.js.map +0 -1
  660. package/dist/services/macos-launchd.js +0 -312
  661. package/dist/services/macos-launchd.js.map +0 -1
  662. package/dist/services/nomad-manager.d.ts +0 -307
  663. package/dist/services/nomad-manager.js +0 -3958
  664. package/dist/services/nomad-manager.js.map +0 -1
  665. package/dist/services/organize/applier.js +0 -218
  666. package/dist/services/organize/applier.js.map +0 -1
  667. package/dist/services/organize/rules.js +0 -286
  668. package/dist/services/organize/rules.js.map +0 -1
  669. package/dist/services/organize/scanner.js +0 -366
  670. package/dist/services/organize/scanner.js.map +0 -1
  671. package/dist/services/organize/store.js +0 -82
  672. package/dist/services/organize/store.js.map +0 -1
  673. package/dist/services/plugin-installer.js +0 -128
  674. package/dist/services/plugin-installer.js.map +0 -1
  675. package/dist/services/process-manager.d.ts +0 -25
  676. package/dist/services/process-manager.js +0 -568
  677. package/dist/services/process-manager.js.map +0 -1
  678. package/dist/services/runtime/adapters/custom.d.ts +0 -20
  679. package/dist/services/runtime/adapters/custom.js +0 -188
  680. package/dist/services/runtime/adapters/custom.js.map +0 -1
  681. package/dist/services/runtime/adapters/hermes.d.ts +0 -204
  682. package/dist/services/runtime/adapters/hermes.js +0 -1684
  683. package/dist/services/runtime/adapters/hermes.js.map +0 -1
  684. package/dist/services/runtime/adapters/openclaw-mcporter.d.ts +0 -45
  685. package/dist/services/runtime/adapters/openclaw-mcporter.js +0 -108
  686. package/dist/services/runtime/adapters/openclaw-mcporter.js.map +0 -1
  687. package/dist/services/runtime/adapters/openclaw.d.ts +0 -426
  688. package/dist/services/runtime/adapters/openclaw.js +0 -3975
  689. package/dist/services/runtime/adapters/openclaw.js.map +0 -1
  690. package/dist/services/runtime/index.d.ts +0 -34
  691. package/dist/services/runtime/index.js +0 -51
  692. package/dist/services/runtime/index.js.map +0 -1
  693. package/dist/services/runtime/mcp-shims/anythingllm-shim.d.ts +0 -46
  694. package/dist/services/runtime/mcp-shims/anythingllm-shim.js +0 -281
  695. package/dist/services/runtime/mcp-shims/anythingllm-shim.js.map +0 -1
  696. package/dist/services/runtime/mcp-shims/drive-shim.js +0 -490
  697. package/dist/services/runtime/mcp-shims/drive-shim.js.map +0 -1
  698. package/dist/services/runtime/mcp-shims/jishukb-shim.d.ts +0 -48
  699. package/dist/services/runtime/mcp-shims/jishukb-shim.js +0 -723
  700. package/dist/services/runtime/mcp-shims/jishukb-shim.js.map +0 -1
  701. package/dist/services/runtime/mcp-shims/mcporter-lite.js +0 -276
  702. package/dist/services/runtime/mcp-shims/mcporter-lite.js.map +0 -1
  703. package/dist/services/runtime/migrations.d.ts +0 -23
  704. package/dist/services/runtime/migrations.js +0 -125
  705. package/dist/services/runtime/migrations.js.map +0 -1
  706. package/dist/services/runtime/registry.d.ts +0 -13
  707. package/dist/services/runtime/registry.js +0 -32
  708. package/dist/services/runtime/registry.js.map +0 -1
  709. package/dist/services/runtime-identity.d.ts +0 -13
  710. package/dist/services/runtime-identity.js +0 -166
  711. package/dist/services/runtime-identity.js.map +0 -1
  712. package/dist/services/runtime-repair.d.ts +0 -52
  713. package/dist/services/runtime-repair.js +0 -352
  714. package/dist/services/runtime-repair.js.map +0 -1
  715. package/dist/services/setup-manager.d.ts +0 -158
  716. package/dist/services/setup-manager.js +0 -2740
  717. package/dist/services/setup-manager.js.map +0 -1
  718. package/dist/services/suggestions.d.ts +0 -27
  719. package/dist/services/suggestions.js +0 -133
  720. package/dist/services/suggestions.js.map +0 -1
  721. package/dist/services/system-monitor.js +0 -79
  722. package/dist/services/system-monitor.js.map +0 -1
  723. package/dist/services/system-ollama-provider.d.ts +0 -14
  724. package/dist/services/system-ollama-provider.js +0 -125
  725. package/dist/services/system-ollama-provider.js.map +0 -1
  726. package/dist/services/system-reconciler.d.ts +0 -72
  727. package/dist/services/system-reconciler.js +0 -600
  728. package/dist/services/system-reconciler.js.map +0 -1
  729. package/dist/services/task-registry.d.ts +0 -44
  730. package/dist/services/task-registry.js +0 -76
  731. package/dist/services/task-registry.js.map +0 -1
  732. package/dist/services/types-shim.d.ts +0 -16
  733. package/dist/services/types-shim.js +0 -2
  734. package/dist/services/types-shim.js.map +0 -1
  735. package/dist/services/update-manager.d.ts +0 -47
  736. package/dist/services/update-manager.js +0 -351
  737. package/dist/services/update-manager.js.map +0 -1
  738. package/dist/services/webdav/server.d.ts +0 -24
  739. package/dist/services/webdav/server.js +0 -420
  740. package/dist/services/webdav/server.js.map +0 -1
  741. package/dist/services/webdav/xml-builder.js.map +0 -1
  742. package/dist/services/workspace-builder.d.ts +0 -29
  743. package/dist/services/workspace-builder.js +0 -188
  744. package/dist/services/workspace-builder.js.map +0 -1
  745. package/node_modules/@fastify/static/.github/stale.yml +0 -21
  746. package/node_modules/@isaacs/cliui/LICENSE.md +0 -63
  747. package/node_modules/@isaacs/cliui/README.md +0 -151
  748. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts +0 -4
  749. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.d.ts.map +0 -1
  750. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js +0 -16
  751. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js.map +0 -1
  752. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts +0 -34
  753. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.d.ts.map +0 -1
  754. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js +0 -170
  755. package/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js.map +0 -1
  756. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts +0 -6
  757. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.d.ts.map +0 -1
  758. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js +0 -307
  759. package/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js.map +0 -1
  760. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts +0 -2
  761. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.d.ts.map +0 -1
  762. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js +0 -7
  763. package/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js.map +0 -1
  764. package/node_modules/@isaacs/cliui/dist/commonjs/index.d.ts +0 -41
  765. package/node_modules/@isaacs/cliui/dist/commonjs/index.d.ts.map +0 -1
  766. package/node_modules/@isaacs/cliui/dist/commonjs/index.js +0 -322
  767. package/node_modules/@isaacs/cliui/dist/commonjs/index.js.map +0 -1
  768. package/node_modules/@isaacs/cliui/dist/commonjs/index.min.js +0 -12
  769. package/node_modules/@isaacs/cliui/dist/commonjs/index.min.js.map +0 -7
  770. package/node_modules/@isaacs/cliui/dist/commonjs/package.json +0 -3
  771. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.d.ts +0 -5
  772. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.d.ts.map +0 -1
  773. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js +0 -49
  774. package/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js.map +0 -1
  775. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.d.ts +0 -2
  776. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.d.ts.map +0 -1
  777. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js +0 -8
  778. package/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js.map +0 -1
  779. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.d.ts +0 -7
  780. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.d.ts.map +0 -1
  781. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js +0 -176
  782. package/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js.map +0 -1
  783. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.d.ts +0 -4
  784. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.d.ts.map +0 -1
  785. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js +0 -12
  786. package/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js.map +0 -1
  787. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.d.ts +0 -34
  788. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.d.ts.map +0 -1
  789. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js +0 -167
  790. package/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js.map +0 -1
  791. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.d.ts +0 -6
  792. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.d.ts.map +0 -1
  793. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js +0 -299
  794. package/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js.map +0 -1
  795. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.d.ts +0 -2
  796. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.d.ts.map +0 -1
  797. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js +0 -3
  798. package/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js.map +0 -1
  799. package/node_modules/@isaacs/cliui/dist/esm/index.d.ts +0 -41
  800. package/node_modules/@isaacs/cliui/dist/esm/index.d.ts.map +0 -1
  801. package/node_modules/@isaacs/cliui/dist/esm/index.js +0 -317
  802. package/node_modules/@isaacs/cliui/dist/esm/index.js.map +0 -1
  803. package/node_modules/@isaacs/cliui/dist/esm/index.min.js +0 -12
  804. package/node_modules/@isaacs/cliui/dist/esm/index.min.js.map +0 -7
  805. package/node_modules/@isaacs/cliui/dist/esm/package.json +0 -3
  806. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.d.ts +0 -5
  807. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.d.ts.map +0 -1
  808. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.js +0 -46
  809. package/node_modules/@isaacs/cliui/dist/esm/string-width/index.js.map +0 -1
  810. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.d.ts +0 -2
  811. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.d.ts.map +0 -1
  812. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js +0 -4
  813. package/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js.map +0 -1
  814. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.d.ts +0 -7
  815. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.d.ts.map +0 -1
  816. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js +0 -172
  817. package/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js.map +0 -1
  818. package/node_modules/@isaacs/cliui/package.json +0 -163
  819. package/node_modules/content-disposition/HISTORY.md +0 -60
  820. package/node_modules/cross-spawn/LICENSE +0 -21
  821. package/node_modules/cross-spawn/README.md +0 -89
  822. package/node_modules/cross-spawn/index.js +0 -39
  823. package/node_modules/cross-spawn/lib/enoent.js +0 -59
  824. package/node_modules/cross-spawn/lib/parse.js +0 -91
  825. package/node_modules/cross-spawn/lib/util/escape.js +0 -47
  826. package/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  827. package/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  828. package/node_modules/cross-spawn/package.json +0 -73
  829. package/node_modules/foreground-child/LICENSE +0 -15
  830. package/node_modules/foreground-child/README.md +0 -128
  831. package/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +0 -2
  832. package/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +0 -1
  833. package/node_modules/foreground-child/dist/commonjs/all-signals.js +0 -58
  834. package/node_modules/foreground-child/dist/commonjs/all-signals.js.map +0 -1
  835. package/node_modules/foreground-child/dist/commonjs/index.d.ts +0 -58
  836. package/node_modules/foreground-child/dist/commonjs/index.d.ts.map +0 -1
  837. package/node_modules/foreground-child/dist/commonjs/index.js +0 -123
  838. package/node_modules/foreground-child/dist/commonjs/index.js.map +0 -1
  839. package/node_modules/foreground-child/dist/commonjs/package.json +0 -3
  840. package/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +0 -6
  841. package/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +0 -1
  842. package/node_modules/foreground-child/dist/commonjs/proxy-signals.js +0 -38
  843. package/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +0 -1
  844. package/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +0 -10
  845. package/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +0 -1
  846. package/node_modules/foreground-child/dist/commonjs/watchdog.js +0 -50
  847. package/node_modules/foreground-child/dist/commonjs/watchdog.js.map +0 -1
  848. package/node_modules/foreground-child/dist/esm/all-signals.d.ts +0 -2
  849. package/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +0 -1
  850. package/node_modules/foreground-child/dist/esm/all-signals.js +0 -52
  851. package/node_modules/foreground-child/dist/esm/all-signals.js.map +0 -1
  852. package/node_modules/foreground-child/dist/esm/index.d.ts +0 -58
  853. package/node_modules/foreground-child/dist/esm/index.d.ts.map +0 -1
  854. package/node_modules/foreground-child/dist/esm/index.js +0 -115
  855. package/node_modules/foreground-child/dist/esm/index.js.map +0 -1
  856. package/node_modules/foreground-child/dist/esm/package.json +0 -3
  857. package/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +0 -6
  858. package/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +0 -1
  859. package/node_modules/foreground-child/dist/esm/proxy-signals.js +0 -34
  860. package/node_modules/foreground-child/dist/esm/proxy-signals.js.map +0 -1
  861. package/node_modules/foreground-child/dist/esm/watchdog.d.ts +0 -10
  862. package/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +0 -1
  863. package/node_modules/foreground-child/dist/esm/watchdog.js +0 -46
  864. package/node_modules/foreground-child/dist/esm/watchdog.js.map +0 -1
  865. package/node_modules/foreground-child/package.json +0 -106
  866. package/node_modules/glob/dist/esm/bin.d.mts +0 -3
  867. package/node_modules/glob/dist/esm/bin.d.mts.map +0 -1
  868. package/node_modules/glob/dist/esm/bin.mjs +0 -346
  869. package/node_modules/glob/dist/esm/bin.mjs.map +0 -1
  870. package/node_modules/isexe/.npmignore +0 -2
  871. package/node_modules/isexe/LICENSE +0 -15
  872. package/node_modules/isexe/README.md +0 -51
  873. package/node_modules/isexe/index.js +0 -57
  874. package/node_modules/isexe/mode.js +0 -41
  875. package/node_modules/isexe/package.json +0 -31
  876. package/node_modules/isexe/test/basic.js +0 -221
  877. package/node_modules/isexe/windows.js +0 -42
  878. package/node_modules/jackspeak/LICENSE.md +0 -55
  879. package/node_modules/jackspeak/README.md +0 -394
  880. package/node_modules/jackspeak/dist/commonjs/index.d.ts +0 -323
  881. package/node_modules/jackspeak/dist/commonjs/index.d.ts.map +0 -1
  882. package/node_modules/jackspeak/dist/commonjs/index.js +0 -944
  883. package/node_modules/jackspeak/dist/commonjs/index.js.map +0 -1
  884. package/node_modules/jackspeak/dist/commonjs/index.min.js +0 -33
  885. package/node_modules/jackspeak/dist/commonjs/index.min.js.map +0 -7
  886. package/node_modules/jackspeak/dist/commonjs/package.json +0 -3
  887. package/node_modules/jackspeak/dist/esm/index.d.ts +0 -323
  888. package/node_modules/jackspeak/dist/esm/index.d.ts.map +0 -1
  889. package/node_modules/jackspeak/dist/esm/index.js +0 -936
  890. package/node_modules/jackspeak/dist/esm/index.js.map +0 -1
  891. package/node_modules/jackspeak/dist/esm/index.min.js +0 -33
  892. package/node_modules/jackspeak/dist/esm/index.min.js.map +0 -7
  893. package/node_modules/jackspeak/dist/esm/package.json +0 -3
  894. package/node_modules/jackspeak/package.json +0 -115
  895. package/node_modules/jishushell-panel/output/public/assets/ApiKeyField-D1i7zWXR.js +0 -1
  896. package/node_modules/jishushell-panel/output/public/assets/Dashboard-sWIvL43F.js +0 -1
  897. package/node_modules/jishushell-panel/output/public/assets/HermesChatPanel-DQ8RyvQY.js +0 -1
  898. package/node_modules/jishushell-panel/output/public/assets/HermesConfigForm-tIbPP1sB.js +0 -4
  899. package/node_modules/jishushell-panel/output/public/assets/InitPassword-C3Slq3Dd.js +0 -1
  900. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-7JqY9tq4.js +0 -92
  901. package/node_modules/jishushell-panel/output/public/assets/Login-BXLDJlQN.js +0 -1
  902. package/node_modules/jishushell-panel/output/public/assets/NewInstance-dLc5Xrpx.js +0 -1
  903. package/node_modules/jishushell-panel/output/public/assets/ProviderRecommendations-DIAXxesl.js +0 -1
  904. package/node_modules/jishushell-panel/output/public/assets/Settings-Bd5utbBh.js +0 -1
  905. package/node_modules/jishushell-panel/output/public/assets/Setup-Yn9_20FL.js +0 -1
  906. package/node_modules/jishushell-panel/output/public/assets/WeixinLoginPanel-C21doQTJ.js +0 -9
  907. package/node_modules/jishushell-panel/output/public/assets/index-CCkaIEjn.js +0 -20
  908. package/node_modules/jishushell-panel/output/public/assets/index-D7qxy-Vh.css +0 -1
  909. package/node_modules/jishushell-panel/output/public/assets/registry-B2ZQZXWL.js +0 -2
  910. package/node_modules/jishushell-panel/output/public/assets/usePolling-BFZm4do_.js +0 -1
  911. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-DqPtOicc.js +0 -9
  912. package/node_modules/jishushell-panel/output/public/assets/vendor-react-DW5juQin.js +0 -59
  913. package/node_modules/package-json-from-dist/LICENSE.md +0 -63
  914. package/node_modules/package-json-from-dist/README.md +0 -110
  915. package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +0 -89
  916. package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +0 -1
  917. package/node_modules/package-json-from-dist/dist/commonjs/index.js +0 -134
  918. package/node_modules/package-json-from-dist/dist/commonjs/index.js.map +0 -1
  919. package/node_modules/package-json-from-dist/dist/commonjs/package.json +0 -3
  920. package/node_modules/package-json-from-dist/dist/esm/index.d.ts +0 -89
  921. package/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +0 -1
  922. package/node_modules/package-json-from-dist/dist/esm/index.js +0 -129
  923. package/node_modules/package-json-from-dist/dist/esm/index.js.map +0 -1
  924. package/node_modules/package-json-from-dist/dist/esm/package.json +0 -3
  925. package/node_modules/package-json-from-dist/package.json +0 -68
  926. package/node_modules/path-key/index.d.ts +0 -40
  927. package/node_modules/path-key/index.js +0 -16
  928. package/node_modules/path-key/license +0 -9
  929. package/node_modules/path-key/package.json +0 -39
  930. package/node_modules/path-key/readme.md +0 -61
  931. package/node_modules/safe-buffer/LICENSE +0 -21
  932. package/node_modules/safe-buffer/README.md +0 -584
  933. package/node_modules/safe-buffer/index.d.ts +0 -187
  934. package/node_modules/safe-buffer/index.js +0 -65
  935. package/node_modules/safe-buffer/package.json +0 -51
  936. package/node_modules/shebang-command/index.js +0 -19
  937. package/node_modules/shebang-command/license +0 -9
  938. package/node_modules/shebang-command/package.json +0 -34
  939. package/node_modules/shebang-command/readme.md +0 -34
  940. package/node_modules/shebang-regex/index.d.ts +0 -22
  941. package/node_modules/shebang-regex/index.js +0 -2
  942. package/node_modules/shebang-regex/license +0 -9
  943. package/node_modules/shebang-regex/package.json +0 -35
  944. package/node_modules/shebang-regex/readme.md +0 -33
  945. package/node_modules/signal-exit/LICENSE.txt +0 -16
  946. package/node_modules/signal-exit/README.md +0 -74
  947. package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
  948. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
  949. package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  950. package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
  951. package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
  952. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
  953. package/node_modules/signal-exit/dist/cjs/index.js +0 -279
  954. package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
  955. package/node_modules/signal-exit/dist/cjs/package.json +0 -3
  956. package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
  957. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
  958. package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  959. package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
  960. package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
  961. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
  962. package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  963. package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
  964. package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
  965. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
  966. package/node_modules/signal-exit/dist/mjs/index.js +0 -275
  967. package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
  968. package/node_modules/signal-exit/dist/mjs/package.json +0 -3
  969. package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
  970. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
  971. package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  972. package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
  973. package/node_modules/signal-exit/package.json +0 -106
  974. package/node_modules/which/CHANGELOG.md +0 -166
  975. package/node_modules/which/LICENSE +0 -15
  976. package/node_modules/which/README.md +0 -54
  977. package/node_modules/which/bin/node-which +0 -52
  978. package/node_modules/which/package.json +0 -43
  979. package/node_modules/which/which.js +0 -125
  980. package/scripts/check-adapter-isolation.ts +0 -293
  981. /package/dist/services/{app → app-common}/app-compiler.d.ts +0 -0
  982. /package/dist/services/{app → app-common}/terminal-session-manager.d.ts +0 -0
  983. /package/dist/services/{backup-verify.d.ts → backup/backup-verify.d.ts} +0 -0
  984. /package/dist/services/{external-mounts.d.ts → files/external-mounts.d.ts} +0 -0
  985. /package/dist/services/{organize → files/organize}/applier.d.ts +0 -0
  986. /package/dist/services/{organize → files/organize}/rules.d.ts +0 -0
  987. /package/dist/services/{organize → files/organize}/scanner.d.ts +0 -0
  988. /package/dist/services/{organize → files/organize}/store.d.ts +0 -0
  989. /package/dist/services/{webdav → files/webdav}/xml-builder.d.ts +0 -0
  990. /package/dist/services/{webdav → files/webdav}/xml-builder.js +0 -0
  991. /package/dist/services/{app-passwords.d.ts → instances/passwords.d.ts} +0 -0
  992. /package/dist/services/{agent-apps → integrations/installable}/installers/registry-probe.d.ts +0 -0
  993. /package/dist/services/{agent-apps → integrations/installable}/installers/registry-probe.js +0 -0
  994. /package/dist/services/{runtime/mcp-shims → integrations/openclaw}/drive-shim.d.ts +0 -0
  995. /package/dist/services/{runtime/mcp-shims → integrations/openclaw}/mcporter-lite.d.ts +0 -0
  996. /package/dist/services/{plugin-installer.d.ts → setup/plugin-installer.d.ts} +0 -0
  997. /package/dist/services/{macos-launchd.d.ts → system/macos-launchd.d.ts} +0 -0
  998. /package/dist/services/{system-monitor.d.ts → system/system-monitor.d.ts} +0 -0
@@ -0,0 +1,307 @@
1
+ import { getIntegration } from "../integrations/index.js";
2
+ import { resolveIntegrationKindFromMetadata } from "../app-common/integration-refs.js";
3
+ import { resolveNomadJobId } from "../runtime/job-id.js";
4
+ import { dirname, join } from "path";
5
+ import { accessSync, chmodSync, constants, existsSync, statSync } from "fs";
6
+ import { APPS_DIR, JISHUSHELL_HOME } from "../../config.js";
7
+ import { chownToServiceUser, getConfig, getInstance, getRuntimeEnvFiles, listInstances, parseEnvFile, resolveServiceUser, updateInstanceMeta, updateEnvFile, } from "../instances/manager.js";
8
+ import { bootstrapInstanceProxy, ensureInstanceProxyToken, } from "../llm-proxy/instance-proxy.js";
9
+ import { getDefaultLlmProvider } from "../llm-proxy/providers.js";
10
+ export const LEGACY_JOB_SPEC_RESTART_REPAIR_ID = "legacy-prefixed-nomad-job-spec-v1";
11
+ const ANYTHINGLLM_INSTANCE_ID = "anythingllm-container";
12
+ const ANYTHINGLLM_KNOWLEDGE_CAPABILITY = "knowledge-anythingllm";
13
+ const OPENCLAW_KNOWLEDGE_SLOT = "KNOWLEDGE_BASE_URL";
14
+ function runtimeEnv(instanceId) {
15
+ const env = {};
16
+ for (const envFile of getRuntimeEnvFiles(instanceId)) {
17
+ Object.assign(env, parseEnvFile(envFile));
18
+ }
19
+ return env;
20
+ }
21
+ function configUsesProxy(config) {
22
+ if (!config)
23
+ return false;
24
+ if (config["x-jishushell"]?.proxy?.enabled)
25
+ return true;
26
+ const defaultModel = String(config.agents?.defaults?.model || "");
27
+ if (defaultModel.startsWith("jsproxy/") || defaultModel.startsWith("js-"))
28
+ return true;
29
+ const providers = config.models?.providers;
30
+ if (!providers || typeof providers !== "object")
31
+ return false;
32
+ return Object.values(providers).some((provider) => provider && typeof provider.baseUrl === "string" && provider.baseUrl.includes("/proxy"));
33
+ }
34
+ function legacyProviderKeys(env) {
35
+ return Object.keys(env)
36
+ .filter((key) => key.endsWith("_API_KEY") && key !== "JSPROXY_API_KEY")
37
+ .sort();
38
+ }
39
+ function providerEnvPath(instanceId) {
40
+ const envFile = getRuntimeEnvFiles(instanceId)[0];
41
+ return envFile ? join(dirname(envFile), "provider.env") : null;
42
+ }
43
+ function providerSecret(instanceId) {
44
+ const path = providerEnvPath(instanceId);
45
+ return path ? (parseEnvFile(path).UPSTREAM_API_KEY || "") : "";
46
+ }
47
+ function hasAnythingllmCredentials() {
48
+ return existsSync(join(JISHUSHELL_HOME, "provider-credentials", ANYTHINGLLM_INSTANCE_ID, "credentials.json"))
49
+ || existsSync(join(APPS_DIR, ANYTHINGLLM_INSTANCE_ID, "credentials.json"));
50
+ }
51
+ function maybeRepairOpenClawKnowledgeDefault(instanceId, instance, options, repaired, warnings) {
52
+ const connections = instance.connections && typeof instance.connections === "object" && !Array.isArray(instance.connections)
53
+ ? { ...instance.connections }
54
+ : {};
55
+ if (Object.prototype.hasOwnProperty.call(connections, OPENCLAW_KNOWLEDGE_SLOT))
56
+ return;
57
+ if (!hasAnythingllmCredentials())
58
+ return;
59
+ // Runtime repair boundary only: pre-Step-5 OpenClaw treated a missing
60
+ // KNOWLEDGE_BASE_URL binding as "use AnythingLLM if credentials.json exists".
61
+ // The runtime hook no longer guesses that. Repair can safely preserve the old
62
+ // behavior by writing the observed historical default into canonical
63
+ // `instance.connections`, without overwriting explicit user disconnect/binds.
64
+ const nextConnections = {
65
+ ...connections,
66
+ [OPENCLAW_KNOWLEDGE_SLOT]: {
67
+ kind: "single",
68
+ providerId: ANYTHINGLLM_INSTANCE_ID,
69
+ capability: ANYTHINGLLM_KNOWLEDGE_CAPABILITY,
70
+ },
71
+ };
72
+ if (options.dryRun) {
73
+ warnings.push("would materialize legacy OpenClaw AnythingLLM knowledge default into instance.connections");
74
+ return;
75
+ }
76
+ updateInstanceMeta(instanceId, { connections: nextConnections });
77
+ repaired.push("knowledge-default-connection");
78
+ }
79
+ function serviceUserAccessError(path) {
80
+ if (!existsSync(path))
81
+ return null;
82
+ const serviceUser = resolveServiceUser();
83
+ if (serviceUser) {
84
+ try {
85
+ const stat = statSync(path);
86
+ const mode = stat.mode & 0o777;
87
+ const ownedByServiceUser = stat.uid === serviceUser.uid && stat.gid === serviceUser.gid;
88
+ const readableByServiceUser = (stat.uid === serviceUser.uid && (mode & 0o400) !== 0) ||
89
+ (stat.gid === serviceUser.gid && (mode & 0o040) !== 0) ||
90
+ ((mode & 0o004) !== 0);
91
+ if (ownedByServiceUser && readableByServiceUser)
92
+ return null;
93
+ return `service user ${serviceUser.username} cannot safely read ${path} (uid=${stat.uid}, gid=${stat.gid}, mode=${mode.toString(8)})`;
94
+ }
95
+ catch (error) {
96
+ return error?.message ?? String(error);
97
+ }
98
+ }
99
+ try {
100
+ accessSync(path, constants.R_OK);
101
+ return null;
102
+ }
103
+ catch (error) {
104
+ return error?.message ?? String(error);
105
+ }
106
+ }
107
+ function repairReadableFile(path, repairId, label, options, repaired, warnings) {
108
+ if (!path)
109
+ return;
110
+ const before = serviceUserAccessError(path);
111
+ if (!before)
112
+ return;
113
+ if (options.dryRun) {
114
+ warnings.push(`would repair ${label} permissions: ${path}`);
115
+ return;
116
+ }
117
+ try {
118
+ chmodSync(path, 0o600);
119
+ }
120
+ catch {
121
+ // chown below may still recover root-owned files when repair runs with sudo.
122
+ }
123
+ chownToServiceUser(path);
124
+ const after = serviceUserAccessError(path);
125
+ if (after) {
126
+ warnings.push(`${label} is not readable after ownership repair: ${after}`);
127
+ }
128
+ else {
129
+ repaired.push(repairId);
130
+ }
131
+ }
132
+ function proxyUpstreamProviderId(instance, config) {
133
+ return String(config?.["x-jishushell"]?.proxy?.upstream?.providerId
134
+ ?? instance["x-jishushell"]?.proxy?.upstream?.providerId
135
+ ?? "").trim();
136
+ }
137
+ function integrationPrefix(integrationKind) {
138
+ try {
139
+ return getIntegration(integrationKind).nomadJobPrefix ?? "";
140
+ }
141
+ catch {
142
+ return "";
143
+ }
144
+ }
145
+ function appliedRuntimeRepairRestarts(meta) {
146
+ const extension = meta?.["x-jishushell"];
147
+ const current = extension?.runtimeRepairRestartsApplied;
148
+ if (current && typeof current === "object" && !Array.isArray(current))
149
+ return current;
150
+ // Repair boundary only: releases that mixed instance repair into system
151
+ // reconciliation persisted this old acknowledgement field. Read it once so
152
+ // already-applied repairs do not start warning again after upgrade.
153
+ const legacy = extension?.runtimeRestartAdvisoriesApplied;
154
+ return legacy && typeof legacy === "object" && !Array.isArray(legacy) ? legacy : {};
155
+ }
156
+ function isRuntimeRepairRestartApplied(meta, repairId) {
157
+ return Boolean(appliedRuntimeRepairRestarts(meta)[repairId]);
158
+ }
159
+ export function markRuntimeRepairRestartApplied(instanceId, repairId = LEGACY_JOB_SPEC_RESTART_REPAIR_ID) {
160
+ const meta = getInstance(instanceId);
161
+ if (!meta)
162
+ return;
163
+ const extension = meta["x-jishushell"] && typeof meta["x-jishushell"] === "object"
164
+ ? { ...meta["x-jishushell"] }
165
+ : {};
166
+ extension.runtimeRepairRestartsApplied = {
167
+ ...appliedRuntimeRepairRestarts(meta),
168
+ [repairId]: {
169
+ appliedAt: new Date().toISOString(),
170
+ },
171
+ };
172
+ updateInstanceMeta(instanceId, { "x-jishushell": extension });
173
+ }
174
+ export async function repairRuntimeInstance(instance, options = {}) {
175
+ const instanceId = String(instance.id || "");
176
+ const integrationKind = resolveIntegrationKindFromMetadata(instance) ?? "unknown";
177
+ const repaired = [];
178
+ const warnings = [];
179
+ try {
180
+ const envFiles = getRuntimeEnvFiles(instanceId);
181
+ if (integrationKind === "openclaw" || integrationKind === "hermes") {
182
+ for (const envFile of envFiles) {
183
+ repairReadableFile(envFile, "runtime-env-permissions", "runtime env file", options, repaired, warnings);
184
+ }
185
+ repairReadableFile(providerEnvPath(instanceId), "provider-secret-permissions", "provider.env", options, repaired, warnings);
186
+ }
187
+ const beforeEnv = runtimeEnv(instanceId);
188
+ const beforeToken = beforeEnv.JSPROXY_API_KEY || "";
189
+ const beforeConfig = getConfig(instanceId);
190
+ const beforeUsesProxy = configUsesProxy(beforeConfig);
191
+ if (integrationKind === "openclaw") {
192
+ maybeRepairOpenClawKnowledgeDefault(instanceId, instance, options, repaired, warnings);
193
+ if (!options.dryRun) {
194
+ await bootstrapInstanceProxy(instanceId, { allowLegacyConfigFallback: true });
195
+ }
196
+ else if (!beforeToken || !beforeUsesProxy) {
197
+ warnings.push("would bootstrap proxy token and jsproxy config");
198
+ }
199
+ const afterEnv = runtimeEnv(instanceId);
200
+ const afterConfig = getConfig(instanceId);
201
+ if (!beforeToken && afterEnv.JSPROXY_API_KEY)
202
+ repaired.push("proxy-token");
203
+ if (!beforeUsesProxy && configUsesProxy(afterConfig))
204
+ repaired.push("jsproxy-config");
205
+ if (afterEnv.JSPROXY_API_KEY) {
206
+ if (!options.dryRun) {
207
+ const { writeInstanceVariables } = await import("../runtime/drivers/nomad.js");
208
+ await writeInstanceVariables(instanceId);
209
+ repaired.push("nomad-variables");
210
+ }
211
+ else {
212
+ warnings.push("would write Nomad Variables for JSPROXY_API_KEY");
213
+ }
214
+ }
215
+ else {
216
+ warnings.push("JSPROXY_API_KEY is missing; no Nomad Variables were written");
217
+ }
218
+ }
219
+ else if (integrationKind === "hermes") {
220
+ if (!beforeToken) {
221
+ if (!options.dryRun) {
222
+ ensureInstanceProxyToken(instanceId);
223
+ repaired.push("proxy-token");
224
+ }
225
+ else {
226
+ warnings.push("would generate proxy-token");
227
+ }
228
+ }
229
+ const beforeSecret = providerSecret(instanceId);
230
+ const upstreamProviderId = proxyUpstreamProviderId(instance, beforeConfig);
231
+ if (!beforeSecret && upstreamProviderId) {
232
+ const defaultProvider = getDefaultLlmProvider();
233
+ if (defaultProvider?.apiKey && defaultProvider.id === upstreamProviderId) {
234
+ if (!options.dryRun) {
235
+ const path = providerEnvPath(instanceId);
236
+ if (path) {
237
+ updateEnvFile(path, { UPSTREAM_API_KEY: defaultProvider.apiKey });
238
+ repaired.push("provider-secret");
239
+ }
240
+ else {
241
+ warnings.push("Hermes env file is missing; provider.env path cannot be resolved");
242
+ }
243
+ }
244
+ else {
245
+ warnings.push("would write Hermes provider.env UPSTREAM_API_KEY from the default provider");
246
+ }
247
+ }
248
+ else {
249
+ warnings.push(`Hermes provider.env is missing and cannot be auto-repaired for upstream provider '${upstreamProviderId}'`);
250
+ }
251
+ }
252
+ }
253
+ const env = runtimeEnv(instanceId);
254
+ const legacyKeys = legacyProviderKeys(env);
255
+ if (legacyKeys.length > 0) {
256
+ warnings.push(`note: legacy env key(s) kept for backward compatibility: ${legacyKeys.join(", ")}`);
257
+ }
258
+ const prefix = integrationPrefix(integrationKind);
259
+ const resolvedJobId = resolveNomadJobId(instanceId, prefix);
260
+ const hadPrefixedId = !!prefix && instanceId === resolvedJobId && instanceId.startsWith(prefix);
261
+ const restartRequired = (integrationKind === "openclaw" || integrationKind === "hermes")
262
+ && hadPrefixedId
263
+ && !isRuntimeRepairRestartApplied(instance, LEGACY_JOB_SPEC_RESTART_REPAIR_ID);
264
+ const status = restartRequired
265
+ ? "needs-restart"
266
+ : repaired.length > 0
267
+ ? "repaired"
268
+ : warnings.length > 0
269
+ ? "manual"
270
+ : "ok";
271
+ return {
272
+ instanceId,
273
+ integrationKind,
274
+ status,
275
+ repaired,
276
+ warnings,
277
+ restartRequired,
278
+ ...(restartRequired ? { reason: "Nomad job template path may have changed; restart the instance to resubmit the job" } : {}),
279
+ };
280
+ }
281
+ catch (error) {
282
+ return {
283
+ instanceId,
284
+ integrationKind,
285
+ status: "error",
286
+ repaired,
287
+ warnings,
288
+ restartRequired: false,
289
+ error: error?.message ?? String(error),
290
+ };
291
+ }
292
+ }
293
+ export async function repairRuntimeInstances(options = {}) {
294
+ const results = [];
295
+ for (const instance of listInstances()) {
296
+ const integrationKind = resolveIntegrationKindFromMetadata(instance);
297
+ if (integrationKind !== "openclaw" && integrationKind !== "hermes")
298
+ continue;
299
+ results.push(await repairRuntimeInstance(instance, options));
300
+ }
301
+ return {
302
+ ok: results.every((result) => result.status !== "error"),
303
+ dryRun: options.dryRun === true,
304
+ results,
305
+ };
306
+ }
307
+ //# sourceMappingURL=runtime-repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-repair.js","sourceRoot":"","sources":["../../../src/services/repair/runtime-repair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { AppTask, AppTaskRuntime } from "../../types.js";
2
+ import type { RuntimeSpec } from "./types.js";
3
+ import type { TaskRuntimeContribution } from "./workload-types.js";
4
+ export interface RuntimeDriverCompileContext {
5
+ instanceId: string;
6
+ extraEnv: Record<string, string>;
7
+ runtime?: RuntimeSpec;
8
+ contribution?: TaskRuntimeContribution;
9
+ }
10
+ export interface CompiledTaskFragment {
11
+ task: Record<string, unknown>;
12
+ reservedPorts: Array<Record<string, unknown>>;
13
+ }
14
+ export interface RuntimeDriver<TTask extends AppTask = AppTask> {
15
+ readonly kind: AppTaskRuntime;
16
+ compile(task: TTask, ctx: RuntimeDriverCompileContext): CompiledTaskFragment;
17
+ }
18
+ export declare function registerRuntimeDriver(driver: RuntimeDriver): void;
19
+ export declare function hasRuntimeDriver(kind: AppTaskRuntime): boolean;
20
+ export declare function getRuntimeDriver(kind: AppTaskRuntime): RuntimeDriver;
21
+ export declare function __resetRuntimeDriversForTests(): void;
@@ -0,0 +1,22 @@
1
+ const registry = new Map();
2
+ export function registerRuntimeDriver(driver) {
3
+ if (registry.has(driver.kind)) {
4
+ throw new Error(`Runtime driver for kind "${driver.kind}" already registered`);
5
+ }
6
+ registry.set(driver.kind, driver);
7
+ }
8
+ export function hasRuntimeDriver(kind) {
9
+ return registry.has(kind);
10
+ }
11
+ export function getRuntimeDriver(kind) {
12
+ const driver = registry.get(kind);
13
+ if (!driver) {
14
+ throw new Error(`No runtime driver registered for kind="${kind}". ` +
15
+ `Registered kinds: [${[...registry.keys()].join(", ") || "none"}]`);
16
+ }
17
+ return driver;
18
+ }
19
+ export function __resetRuntimeDriversForTests() {
20
+ registry.clear();
21
+ }
22
+ //# sourceMappingURL=driver-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-registry.js","sourceRoot":"","sources":["../../../src/services/runtime/driver-registry.ts"],"names":[],"mappings":"AAqBA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;IACjF,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,0CAA0C,IAAI,KAAK;YACjD,sBAAsB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Nomad runtime driver — kind-agnostic scheduler layer.
3
+ *
4
+ * This file contains no direct knowledge of specific agent kinds. The runtime
5
+ * dispatch surface is now reduced to two compile-path primitives:
6
+ *
7
+ * const kind = resolvePrimaryIntegrationKind(getInstance(id));
8
+ * const integration = getIntegration(kind);
9
+ * const persistedRuntime = await integration.getPersistedRuntimeSpec(id);
10
+ * const contribution = await integration.buildRuntimeContribution?.(id);
11
+ *
12
+ * The persisted runtime spec + contribution are then handed to
13
+ * WorkloadCompiler, which is the single canonical task builder. The app
14
+ * lifecycle pipeline owns integration pre-start materialization before calling
15
+ * the prepared submit path; the legacy direct start wrapper still preserves the
16
+ * older runtime-local hook path until remaining callers are migrated.
17
+ */
18
+ import type { AppSpec, ExecOptions, ExecResult, InstanceStatus, ServiceResult } from "../../../types.js";
19
+ export declare const DOCKER_IMAGE_RE: RegExp;
20
+ /**
21
+ * Linux username validation regex. Shared by integration Nomad task builders
22
+ * (OpenClaw / Hermes) and re-exported here as a neutral framework constant
23
+ * so security-regression tests can assert on it without depending on a
24
+ * specific integration file.
25
+ *
26
+ * Strict form: lowercase letters/digits/dot/dash/underscore only, 1..32 chars.
27
+ * Rejects uppercase, shell metacharacters, paths, and empty strings.
28
+ */
29
+ export declare const VALID_USER_RE: RegExp;
30
+ export declare const MAX_DOCKER_IMAGE_NAME_LEN = 256;
31
+ export declare function setCorePort(port: number): void;
32
+ export declare const VALID_LOG_TYPES: Set<string>;
33
+ export interface ExecStreamHandlers {
34
+ onStdout?: (text: string) => void;
35
+ onStderr?: (text: string) => void;
36
+ }
37
+ declare function jobId(instanceId: string): string;
38
+ /** Exported only for unit tests — not part of the public API. */
39
+ export declare function __jobIdForTests(instanceId: string): string;
40
+ export declare const NOMAD_TEMPLATE_UNSAFE_RE: RegExp;
41
+ declare function assertSafeTemplateId(id: string): void;
42
+ declare function nomadGet(path: string): Promise<any>;
43
+ declare function nomadPut(path: string, body: any): Promise<Response>;
44
+ export declare function writeInstanceVariables(instanceId: string): Promise<void>;
45
+ export declare function purgeInstanceVariables(instanceId: string): Promise<void>;
46
+ /**
47
+ * Resolve the numeric uid:gid for a given username by reading /etc/passwd.
48
+ * Falls back to process.getuid!():process.getgid!() when the lookup fails.
49
+ * Still used here by the kind-agnostic `exec()` helper below (for docker
50
+ * exec user resolution); integrations carry their own copies for task build.
51
+ */
52
+ declare function resolveUidGid(username: string): string;
53
+ export declare function shouldAutoStart(instanceId: string): Promise<boolean>;
54
+ export declare function getStatus(instanceId: string): Promise<Record<string, any>>;
55
+ /**
56
+ * runtime submit phase tags. Returned on every error result so callers and
57
+ * tests can distinguish *where* the failure happened without parsing the
58
+ * message string. Backward-compatible: legacy callers that only read
59
+ * `result.ok` / `result.error` continue to work unchanged.
60
+ */
61
+ export type StartPhase = "running_check" | "home_conflict" | "port_alloc" | "submit";
62
+ export declare function getLogs(instanceId: string, lines?: number, logType?: string): Promise<string[]>;
63
+ /** Field separator for the batched `docker stats --format` line. Exported so
64
+ * tests can construct mock output without hardcoding the literal. */
65
+ export declare const DOCKER_STATS_FIELD_SEP = "__JS__";
66
+ /** Test-only: reset the shared docker-stats snapshot so each test starts from
67
+ * a cold cache (the 30s TTL + single-flight would otherwise leak one test's
68
+ * mocked snapshot into the next). Not used by production code paths. */
69
+ export declare function __resetDockerStatsCacheForTests(): void;
70
+ export declare function exec(instanceId: string, command: string[], timeoutMs?: number, options?: ExecOptions): Promise<{
71
+ stdout: string;
72
+ stderr: string;
73
+ exitCode: number;
74
+ }>;
75
+ /**
76
+ * Clamp container memory reservation/limit to the framework ceilings and
77
+ * ensure `MemoryMaxMB >= MemoryMB`. Shared by every container-runtime app
78
+ * manager (openclaw / custom / ollama / hermes) so they apply the same
79
+ * guard-rails before handing a task spec to Nomad.
80
+ */
81
+ export declare function normalizeDockerResources(instanceId: string, runtime: Record<string, any>): Record<string, any>;
82
+ export { jobId, resolveUidGid, nomadGet, nomadPut, assertSafeTemplateId, };
83
+ declare namespace UnifiedNomadJobs {
84
+ export const DOCKER_IMAGE_RE: RegExp;
85
+ export const MAX_DOCKER_IMAGE_NAME_LEN = 256;
86
+ export const VALID_LOG_TYPES: Set<string>;
87
+ export const NOMAD_TEMPLATE_UNSAFE_RE: RegExp;
88
+ export function isAppJob(id: string): boolean;
89
+ export interface AppJobStatus {
90
+ status: string;
91
+ alloc_id?: string;
92
+ /** Per-task status map; key is task name. */
93
+ tasks: Record<string, {
94
+ state: string;
95
+ restarts: number;
96
+ started_at?: string;
97
+ health_status?: string;
98
+ health_checks?: Array<{
99
+ name: string;
100
+ status: string;
101
+ service?: string;
102
+ output?: string;
103
+ }>;
104
+ }>;
105
+ pid: null;
106
+ uptime: number | null;
107
+ memory_mb: number | null;
108
+ cpu_percent: number | null;
109
+ restarts: number;
110
+ error?: string;
111
+ }
112
+ /**
113
+ * Parse a CPU resource string to Nomad MHz integer.
114
+ * "500m" → 500 (millicores treated as MHz for simplicity)
115
+ * "1" → 1000 (1 core → 1000 MHz)
116
+ * "1000" → 1000 (bare integer treated as MHz already)
117
+ *
118
+ * Nomad doesn't have a concept of "cores"; it schedules by MHz.
119
+ * We treat 1 core = 1000 MHz as a reasonable proxy for a Pi-class host.
120
+ */
121
+ export function parseCpuMHz(cpu: string | number | undefined): number;
122
+ /**
123
+ * Parse a memory resource string to Nomad MB integer.
124
+ * "512Mi" or "512MiB" → 512 MB
125
+ * "1Gi" or "1GiB" → 1024 MB
126
+ * "512M" or "512MB" → 512 MB
127
+ * "1G" or "1GB" → 1024 MB
128
+ * "1024" → 1024 MB (bare integer = MB)
129
+ */
130
+ export function parseMemoryMB(memory: string | number | undefined): number;
131
+ type PortNetworkDeclaration = {
132
+ visibility?: string;
133
+ host_network?: string;
134
+ };
135
+ export function validateNomadPortHostNetworks(ports: PortNetworkDeclaration[]): Promise<string | null>;
136
+ export function buildNomadReservedPort(input: {
137
+ label: string;
138
+ value: number;
139
+ to?: number;
140
+ visibility?: string;
141
+ host_network?: string;
142
+ }): Record<string, any>;
143
+ /**
144
+ * Check whether a binary process is already running on the host OS by
145
+ * matching its command path via pgrep -f.
146
+ *
147
+ * Used by submitGenericAppSpecJob to skip Nomad submission when the binary is already
148
+ * running (e.g. started outside of Nomad or when raw_exec driver is unavailable).
149
+ */
150
+ export function isBinaryRunning(command: string): Promise<boolean>;
151
+ export function aggregateHealthStatus(checks: Array<{
152
+ status: string;
153
+ }>): string;
154
+ /**
155
+ * Returns true if this app job exists in Nomad and was NOT explicitly stopped.
156
+ * Used at JishuShell startup to auto-restart apps that were running before reboot.
157
+ */
158
+ export function shouldAutoStart(instanceId: string): Promise<boolean>;
159
+ /**
160
+ * Get the aggregated status of an app job.
161
+ *
162
+ * @param instanceId App instance ID.
163
+ * @param primaryTask Task name to use for uptime/restarts summary.
164
+ * Defaults to the first service task in the spec.
165
+ * If omitted, the first task state found is used.
166
+ */
167
+ export function getInstanceInstallRecordStatus(instanceId: string, primaryTask?: string): Promise<AppJobStatus>;
168
+ /**
169
+ * Submit a Nomad job for an app.
170
+ *
171
+ * @param spec Validated AppSpec.
172
+ * @param instanceId Unique instance ID (job name suffix).
173
+ * @param extraEnv Env vars injected into every task (e.g. resolved capability addresses).
174
+ */
175
+ export function submitGenericAppSpecJob(spec: AppSpec, instanceId: string, extraEnv?: Record<string, string>): Promise<{
176
+ ok: boolean;
177
+ error?: string;
178
+ eval_id?: string;
179
+ }>;
180
+ /**
181
+ * Poll until the app job reaches "running" status or times out.
182
+ * Returns true if the job is running, false if timed out.
183
+ */
184
+ export function waitForRunning(instanceId: string, timeoutMs?: number, pollIntervalMs?: number): Promise<boolean>;
185
+ export function checkDependencies(spec: AppSpec): Promise<{
186
+ ok: boolean;
187
+ errors: string[];
188
+ }>;
189
+ /**
190
+ * Stop (and optionally purge) a Nomad app job.
191
+ */
192
+ export function stopGenericAppSpecJob(instanceId: string, purge?: boolean): Promise<{
193
+ ok: boolean;
194
+ error?: string;
195
+ }>;
196
+ /**
197
+ * Fetch recent log lines for a task in an app job.
198
+ *
199
+ * @param instanceId App instance ID.
200
+ * @param taskName Nomad task name (task.name from AppSpec).
201
+ * @param lines Number of lines to return (default 200).
202
+ * @param logType "stdout" | "stderr" (default "stderr").
203
+ */
204
+ export function getInstanceInstallRecordLogs(instanceId: string, taskName?: string, lines?: number, logType?: string): Promise<string[]>;
205
+ /**
206
+ * Execute a command inside a running app task.
207
+ *
208
+ * Strategy:
209
+ * 1. Try `docker exec` (fast path for docker-driver tasks, no Nomad dependency).
210
+ * 2. If the container is not found, fall back to the Nomad WebSocket exec API
211
+ * which works for both `docker` and `raw_exec` tasks.
212
+ *
213
+ * @param instanceId App instance ID.
214
+ * @param taskName Task name from AppSpec.
215
+ * @param command Command + args array.
216
+ * @param timeoutMs Execution timeout in ms (default 120 s).
217
+ */
218
+ export function execInApp(instanceId: string, taskName: string | undefined, command: string[], timeoutMs?: number, options?: ExecOptions): Promise<ExecResult>;
219
+ export function streamExecInApp(instanceId: string, taskName: string | undefined, command: string[], handlers?: ExecStreamHandlers, timeoutMs?: number): Promise<ExecResult>;
220
+ export function listInstanceIds(): Promise<string[]>;
221
+ export function readInstanceMeta(nomadJobId: string): Record<string, any> | null;
222
+ export function resolveInstanceId(id?: string): Promise<string>;
223
+ export function resolveInstanceForPairing(instanceId?: string): Promise<string>;
224
+ export function ensureNomadToken(): void;
225
+ export function getInstanceStatus(nomadJobId: string): Promise<InstanceStatus>;
226
+ export function submitIntegrationRuntimeJob(nomadJobId: string): Promise<ServiceResult>;
227
+ export function stopIntegrationRuntimeJob(nomadJobId: string, purge?: boolean): Promise<ServiceResult>;
228
+ export function getInstanceLogs(nomadJobId: string, lines?: number, logType?: string): Promise<string[]>;
229
+ export function execInInstance(nomadJobId: string, command: string[], timeoutMs?: number, options?: ExecOptions): Promise<ExecResult>;
230
+ export function streamExecInInstance(nomadJobId: string, command: string[], handlers?: ExecStreamHandlers, timeoutMs?: number, taskName?: string): Promise<ExecResult>;
231
+ export {};
232
+ }
233
+ export declare const isAppJob: typeof UnifiedNomadJobs.isAppJob;
234
+ export declare const parseCpuMHz: typeof UnifiedNomadJobs.parseCpuMHz;
235
+ export declare const parseMemoryMB: typeof UnifiedNomadJobs.parseMemoryMB;
236
+ export declare const isBinaryRunning: typeof UnifiedNomadJobs.isBinaryRunning;
237
+ export declare const getInstanceInstallRecordStatus: typeof UnifiedNomadJobs.getInstanceInstallRecordStatus;
238
+ export declare const submitGenericAppSpecJob: typeof UnifiedNomadJobs.submitGenericAppSpecJob;
239
+ export declare const waitForRunning: typeof UnifiedNomadJobs.waitForRunning;
240
+ export declare const checkDependencies: typeof UnifiedNomadJobs.checkDependencies;
241
+ export declare const validateNomadPortHostNetworks: typeof UnifiedNomadJobs.validateNomadPortHostNetworks;
242
+ export declare const buildNomadReservedPort: typeof UnifiedNomadJobs.buildNomadReservedPort;
243
+ export declare const stopGenericAppSpecJob: typeof UnifiedNomadJobs.stopGenericAppSpecJob;
244
+ export declare const getInstanceInstallRecordLogs: typeof UnifiedNomadJobs.getInstanceInstallRecordLogs;
245
+ export declare const execInApp: typeof UnifiedNomadJobs.execInApp;
246
+ export declare const streamExecInApp: typeof UnifiedNomadJobs.streamExecInApp;
247
+ export declare const listInstanceIds: typeof UnifiedNomadJobs.listInstanceIds;
248
+ export declare const readInstanceMeta: typeof UnifiedNomadJobs.readInstanceMeta;
249
+ export declare const resolveInstanceId: typeof UnifiedNomadJobs.resolveInstanceId;
250
+ export declare const resolveInstanceForPairing: typeof UnifiedNomadJobs.resolveInstanceForPairing;
251
+ export declare const ensureNomadToken: typeof UnifiedNomadJobs.ensureNomadToken;
252
+ export declare const getInstanceStatus: typeof UnifiedNomadJobs.getInstanceStatus;
253
+ export declare const getInstanceLogs: typeof UnifiedNomadJobs.getInstanceLogs;
254
+ export declare const execInInstance: typeof UnifiedNomadJobs.execInInstance;
255
+ export declare const streamExecInInstance: typeof UnifiedNomadJobs.streamExecInInstance;
256
+ export declare const shouldAutoStartNomadJob: typeof UnifiedNomadJobs.shouldAutoStart;
257
+ export declare const submitIntegrationRuntimeJob: typeof UnifiedNomadJobs.submitIntegrationRuntimeJob;
258
+ export declare const stopIntegrationRuntimeJob: typeof UnifiedNomadJobs.stopIntegrationRuntimeJob;
259
+ export type AppJobStatus = UnifiedNomadJobs.AppJobStatus;
260
+ export declare const __aggregateHealthStatusForTests: typeof UnifiedNomadJobs.aggregateHealthStatus;