jishushell 0.5.22 → 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 (3198) hide show
  1. package/apps/anythingllm-container.yaml +20 -177
  2. package/apps/browserless-chromium-container.yaml +17 -12
  3. package/apps/filebrowser-container.yaml +22 -9
  4. package/apps/hermes-container.yaml +23 -2
  5. package/apps/jishu-kb-container.yaml +152 -0
  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 +33 -8
  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 +12 -7
  14. package/apps/weknora-container.yaml +29 -23
  15. package/dependencies/jishushell-panel-0.6.18.tgz +0 -0
  16. package/dist/cli/app.js +494 -192
  17. package/dist/cli/app.js.map +1 -1
  18. package/dist/cli/backup.js +112 -139
  19. package/dist/cli/backup.js.map +1 -1
  20. package/dist/cli/core.d.ts +30 -0
  21. package/dist/cli/core.js +1415 -0
  22. package/dist/cli/core.js.map +1 -0
  23. package/dist/cli/doctor.d.ts +1 -1
  24. package/dist/cli/doctor.js +50 -61
  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.d.ts +1 -18
  29. package/dist/cli/llm.js +103 -83
  30. package/dist/cli/llm.js.map +1 -1
  31. package/dist/cli/managed-list.d.ts +1 -3
  32. package/dist/cli/managed-list.js +18 -16
  33. package/dist/cli/managed-list.js.map +1 -1
  34. package/dist/cli/migrate.d.ts +2 -0
  35. package/dist/cli/migrate.js +160 -0
  36. package/dist/cli/migrate.js.map +1 -0
  37. package/dist/cli.js +26 -2
  38. package/dist/cli.js.map +1 -1
  39. package/dist/config.d.ts +53 -44
  40. package/dist/config.js +216 -146
  41. package/dist/config.js.map +1 -1
  42. package/dist/constants.d.ts +0 -1
  43. package/dist/constants.js +0 -4
  44. package/dist/constants.js.map +1 -1
  45. package/dist/control.d.ts +7 -7
  46. package/dist/control.js +32 -24
  47. package/dist/control.js.map +1 -1
  48. package/dist/core.d.ts +5 -0
  49. package/dist/core.js +6 -0
  50. package/dist/core.js.map +1 -0
  51. package/dist/install.d.ts +3 -10
  52. package/dist/install.js +118 -43
  53. package/dist/install.js.map +1 -1
  54. package/dist/routes/apps.d.ts +1 -1
  55. package/dist/routes/apps.js +100 -234
  56. package/dist/routes/apps.js.map +1 -1
  57. package/dist/routes/auth.d.ts +1 -3
  58. package/dist/routes/auth.js +7 -14
  59. package/dist/routes/auth.js.map +1 -1
  60. package/dist/routes/backup.js +137 -334
  61. package/dist/routes/backup.js.map +1 -1
  62. package/dist/routes/external-mounts.d.ts +1 -1
  63. package/dist/routes/external-mounts.js +7 -7
  64. package/dist/routes/external-mounts.js.map +1 -1
  65. package/dist/routes/file-mounts.d.ts +4 -3
  66. package/dist/routes/file-mounts.js +51 -30
  67. package/dist/routes/file-mounts.js.map +1 -1
  68. package/dist/routes/files-organize.d.ts +2 -2
  69. package/dist/routes/files-organize.js +5 -5
  70. package/dist/routes/files-organize.js.map +1 -1
  71. package/dist/routes/files.d.ts +1 -1
  72. package/dist/routes/files.js +1 -1
  73. package/dist/routes/files.js.map +1 -1
  74. package/dist/routes/instances.d.ts +11 -4
  75. package/dist/routes/instances.js +482 -923
  76. package/dist/routes/instances.js.map +1 -1
  77. package/dist/routes/integration-apps.d.ts +14 -0
  78. package/dist/routes/integration-apps.js +81 -0
  79. package/dist/routes/integration-apps.js.map +1 -0
  80. package/dist/routes/integrations.d.ts +9 -0
  81. package/dist/routes/integrations.js +12 -0
  82. package/dist/routes/integrations.js.map +1 -0
  83. package/dist/routes/llm-proxy.d.ts +2 -0
  84. package/dist/routes/llm-proxy.js +294 -0
  85. package/dist/routes/llm-proxy.js.map +1 -0
  86. package/dist/routes/llm.d.ts +1 -1
  87. package/dist/routes/llm.js +25 -75
  88. package/dist/routes/llm.js.map +1 -1
  89. package/dist/routes/setup.js +93 -93
  90. package/dist/routes/setup.js.map +1 -1
  91. package/dist/routes/system.js +248 -54
  92. package/dist/routes/system.js.map +1 -1
  93. package/dist/routes/webdav.d.ts +1 -1
  94. package/dist/routes/webdav.js +2 -2
  95. package/dist/routes/webdav.js.map +1 -1
  96. package/dist/server.d.ts +2 -0
  97. package/dist/server.js +343 -312
  98. package/dist/server.js.map +1 -1
  99. package/dist/services/app-common/app-compiler.js +186 -0
  100. package/dist/services/app-common/app-compiler.js.map +1 -0
  101. package/dist/services/app-common/app-shared.d.ts +15 -0
  102. package/dist/services/app-common/app-shared.js +64 -0
  103. package/dist/services/app-common/app-shared.js.map +1 -0
  104. package/dist/services/app-common/capability-service.d.ts +45 -0
  105. package/dist/services/app-common/capability-service.js +331 -0
  106. package/dist/services/app-common/capability-service.js.map +1 -0
  107. package/dist/services/app-common/catalog-service.d.ts +59 -0
  108. package/dist/services/app-common/catalog-service.js +308 -0
  109. package/dist/services/app-common/catalog-service.js.map +1 -0
  110. package/dist/services/app-common/create-pipeline.d.ts +26 -0
  111. package/dist/services/app-common/create-pipeline.js +298 -0
  112. package/dist/services/app-common/create-pipeline.js.map +1 -0
  113. package/dist/services/app-common/delete-service.d.ts +5 -0
  114. package/dist/services/app-common/delete-service.js +104 -0
  115. package/dist/services/app-common/delete-service.js.map +1 -0
  116. package/dist/services/app-common/execution-owner.d.ts +23 -0
  117. package/dist/services/app-common/execution-owner.js +124 -0
  118. package/dist/services/app-common/execution-owner.js.map +1 -0
  119. package/dist/services/app-common/execution-service.d.ts +23 -0
  120. package/dist/services/app-common/execution-service.js +105 -0
  121. package/dist/services/app-common/execution-service.js.map +1 -0
  122. package/dist/services/app-common/id-normalizer.d.ts +31 -0
  123. package/dist/services/app-common/id-normalizer.js +83 -0
  124. package/dist/services/app-common/id-normalizer.js.map +1 -0
  125. package/dist/services/app-common/install-store.d.ts +34 -0
  126. package/dist/services/app-common/install-store.js +261 -0
  127. package/dist/services/app-common/install-store.js.map +1 -0
  128. package/dist/services/app-common/instance-store.d.ts +78 -0
  129. package/dist/services/app-common/instance-store.js +495 -0
  130. package/dist/services/app-common/instance-store.js.map +1 -0
  131. package/dist/services/app-common/integration-refs.d.ts +17 -0
  132. package/dist/services/app-common/integration-refs.js +47 -0
  133. package/dist/services/app-common/integration-refs.js.map +1 -0
  134. package/dist/services/app-common/lifecycle-pipeline.d.ts +62 -0
  135. package/dist/services/app-common/lifecycle-pipeline.js +317 -0
  136. package/dist/services/app-common/lifecycle-pipeline.js.map +1 -0
  137. package/dist/services/app-common/lifecycle-scripts.d.ts +38 -0
  138. package/dist/services/app-common/lifecycle-scripts.js +935 -0
  139. package/dist/services/app-common/lifecycle-scripts.js.map +1 -0
  140. package/dist/services/app-common/lifecycle-service.d.ts +68 -0
  141. package/dist/services/app-common/lifecycle-service.js +467 -0
  142. package/dist/services/app-common/lifecycle-service.js.map +1 -0
  143. package/dist/services/app-common/paths.d.ts +29 -0
  144. package/dist/services/app-common/paths.js +34 -0
  145. package/dist/services/app-common/paths.js.map +1 -0
  146. package/dist/services/app-common/platform-transform.d.ts +32 -0
  147. package/dist/services/app-common/platform-transform.js +65 -0
  148. package/dist/services/app-common/platform-transform.js.map +1 -0
  149. package/dist/services/app-common/provide-resolver.d.ts +29 -0
  150. package/dist/services/app-common/provide-resolver.js +129 -0
  151. package/dist/services/app-common/provide-resolver.js.map +1 -0
  152. package/dist/services/app-common/remote-spec.d.ts +14 -0
  153. package/dist/services/app-common/remote-spec.js +58 -0
  154. package/dist/services/app-common/remote-spec.js.map +1 -0
  155. package/dist/services/app-common/runtime-builder.d.ts +1 -0
  156. package/dist/services/app-common/runtime-builder.js +2 -0
  157. package/dist/services/app-common/runtime-builder.js.map +1 -0
  158. package/dist/services/app-common/runtime-facts.d.ts +19 -0
  159. package/dist/services/app-common/runtime-facts.js +126 -0
  160. package/dist/services/app-common/runtime-facts.js.map +1 -0
  161. package/dist/services/app-common/service.d.ts +9 -0
  162. package/dist/services/app-common/service.js +10 -0
  163. package/dist/services/app-common/service.js.map +1 -0
  164. package/dist/services/app-common/spec-materializer.d.ts +9 -0
  165. package/dist/services/app-common/spec-materializer.js +361 -0
  166. package/dist/services/app-common/spec-materializer.js.map +1 -0
  167. package/dist/services/app-common/status-refresh.d.ts +33 -0
  168. package/dist/services/app-common/status-refresh.js +759 -0
  169. package/dist/services/app-common/status-refresh.js.map +1 -0
  170. package/dist/services/app-common/task-service.d.ts +29 -0
  171. package/dist/services/app-common/task-service.js +93 -0
  172. package/dist/services/app-common/task-service.js.map +1 -0
  173. package/dist/services/app-common/terminal-session-manager.js +157 -0
  174. package/dist/services/app-common/terminal-session-manager.js.map +1 -0
  175. package/dist/services/app-modules/browserless/routes.d.ts +9 -0
  176. package/dist/services/app-modules/browserless/routes.js +517 -0
  177. package/dist/services/app-modules/browserless/routes.js.map +1 -0
  178. package/dist/services/app-modules/routes.d.ts +2 -0
  179. package/dist/services/app-modules/routes.js +5 -0
  180. package/dist/services/app-modules/routes.js.map +1 -0
  181. package/dist/services/backup/backup-admin.d.ts +95 -0
  182. package/dist/services/backup/backup-admin.js +246 -0
  183. package/dist/services/backup/backup-admin.js.map +1 -0
  184. package/dist/services/backup/backup-manager.d.ts +264 -0
  185. package/dist/services/backup/backup-manager.js +2318 -0
  186. package/dist/services/backup/backup-manager.js.map +1 -0
  187. package/dist/services/backup/backup-verify.js +240 -0
  188. package/dist/services/backup/backup-verify.js.map +1 -0
  189. package/dist/services/capabilities/browser-policy.d.ts +14 -0
  190. package/dist/services/capabilities/browser-policy.js +141 -0
  191. package/dist/services/capabilities/browser-policy.js.map +1 -0
  192. package/dist/services/capabilities/contract.d.ts +50 -0
  193. package/dist/services/capabilities/contract.js +129 -0
  194. package/dist/services/capabilities/contract.js.map +1 -0
  195. package/dist/services/capabilities/endpoint-validator.d.ts +42 -0
  196. package/dist/services/capabilities/endpoint-validator.js +114 -0
  197. package/dist/services/capabilities/endpoint-validator.js.map +1 -0
  198. package/dist/services/capabilities/health.d.ts +16 -0
  199. package/dist/services/capabilities/health.js +121 -0
  200. package/dist/services/capabilities/health.js.map +1 -0
  201. package/dist/services/capabilities/registry.d.ts +56 -0
  202. package/dist/services/capabilities/registry.js +222 -0
  203. package/dist/services/capabilities/registry.js.map +1 -0
  204. package/dist/services/capabilities/sync.d.ts +7 -0
  205. package/dist/services/capabilities/sync.js +223 -0
  206. package/dist/services/capabilities/sync.js.map +1 -0
  207. package/dist/services/capability-proxy/html-rewriters/browserless.d.ts +1 -0
  208. package/dist/services/capability-proxy/html-rewriters/browserless.js +83 -0
  209. package/dist/services/capability-proxy/html-rewriters/browserless.js.map +1 -0
  210. package/dist/services/capability-proxy/html-rewriters/index.d.ts +12 -0
  211. package/dist/services/capability-proxy/html-rewriters/index.js +25 -0
  212. package/dist/services/capability-proxy/html-rewriters/index.js.map +1 -0
  213. package/dist/services/capability-proxy/html-rewriters/jishukb.d.ts +1 -0
  214. package/dist/services/capability-proxy/html-rewriters/jishukb.js +161 -0
  215. package/dist/services/capability-proxy/html-rewriters/jishukb.js.map +1 -0
  216. package/dist/services/connections/admin.d.ts +80 -0
  217. package/dist/services/connections/admin.js +327 -0
  218. package/dist/services/connections/admin.js.map +1 -0
  219. package/dist/services/connections/apply.d.ts +110 -0
  220. package/dist/services/connections/apply.js +444 -0
  221. package/dist/services/connections/apply.js.map +1 -0
  222. package/dist/services/connections/resolver.d.ts +82 -0
  223. package/dist/services/connections/resolver.js +289 -0
  224. package/dist/services/connections/resolver.js.map +1 -0
  225. package/dist/services/connections/suggestions.d.ts +27 -0
  226. package/dist/services/connections/suggestions.js +124 -0
  227. package/dist/services/connections/suggestions.js.map +1 -0
  228. package/dist/services/connections/transactor.d.ts +39 -0
  229. package/dist/services/connections/transactor.js +307 -0
  230. package/dist/services/connections/transactor.js.map +1 -0
  231. package/dist/services/files/external-mounts.js +187 -0
  232. package/dist/services/files/external-mounts.js.map +1 -0
  233. package/dist/services/files/files-manager.d.ts +265 -0
  234. package/dist/services/files/files-manager.js +1189 -0
  235. package/dist/services/files/files-manager.js.map +1 -0
  236. package/dist/services/files/files-mounts.d.ts +42 -0
  237. package/dist/services/files/files-mounts.js +207 -0
  238. package/dist/services/files/files-mounts.js.map +1 -0
  239. package/dist/services/files/organize/applier.js +218 -0
  240. package/dist/services/files/organize/applier.js.map +1 -0
  241. package/dist/services/files/organize/rules.js +286 -0
  242. package/dist/services/files/organize/rules.js.map +1 -0
  243. package/dist/services/files/organize/scanner.js +366 -0
  244. package/dist/services/files/organize/scanner.js.map +1 -0
  245. package/dist/services/files/organize/store.js +82 -0
  246. package/dist/services/files/organize/store.js.map +1 -0
  247. package/dist/services/files/webdav/server.d.ts +47 -0
  248. package/dist/services/files/webdav/server.js +329 -0
  249. package/dist/services/files/webdav/server.js.map +1 -0
  250. package/dist/services/files/webdav/xml-builder.js.map +1 -0
  251. package/dist/services/instances/admin.d.ts +23 -0
  252. package/dist/services/instances/admin.js +218 -0
  253. package/dist/services/instances/admin.js.map +1 -0
  254. package/dist/services/instances/clone.d.ts +26 -0
  255. package/dist/services/instances/clone.js +78 -0
  256. package/dist/services/instances/clone.js.map +1 -0
  257. package/dist/services/instances/config-admin.d.ts +17 -0
  258. package/dist/services/instances/config-admin.js +181 -0
  259. package/dist/services/instances/config-admin.js.map +1 -0
  260. package/dist/services/instances/manager.d.ts +231 -0
  261. package/dist/services/instances/manager.js +1348 -0
  262. package/dist/services/instances/manager.js.map +1 -0
  263. package/dist/services/instances/passwords.js +173 -0
  264. package/dist/services/instances/passwords.js.map +1 -0
  265. package/dist/services/instances/types.d.ts +21 -0
  266. package/dist/services/instances/types.js +2 -0
  267. package/dist/services/instances/types.js.map +1 -0
  268. package/dist/services/integrations/anythingllm/integration.d.ts +25 -0
  269. package/dist/services/integrations/anythingllm/integration.js +251 -0
  270. package/dist/services/integrations/anythingllm/integration.js.map +1 -0
  271. package/dist/services/integrations/catalog.d.ts +3 -0
  272. package/dist/services/integrations/catalog.js +73 -0
  273. package/dist/services/integrations/catalog.js.map +1 -0
  274. package/dist/services/integrations/custom/integration.d.ts +28 -0
  275. package/dist/services/integrations/custom/integration.js +179 -0
  276. package/dist/services/integrations/custom/integration.js.map +1 -0
  277. package/dist/services/integrations/hermes/integration.d.ts +194 -0
  278. package/dist/services/integrations/hermes/integration.js +1669 -0
  279. package/dist/services/integrations/hermes/integration.js.map +1 -0
  280. package/dist/services/integrations/index.d.ts +40 -0
  281. package/dist/services/integrations/index.js +59 -0
  282. package/dist/services/integrations/index.js.map +1 -0
  283. package/dist/services/integrations/installable/catalog.d.ts +33 -0
  284. package/dist/services/integrations/installable/catalog.js +88 -0
  285. package/dist/services/integrations/installable/catalog.js.map +1 -0
  286. package/dist/services/integrations/installable/index.d.ts +35 -0
  287. package/dist/services/integrations/installable/index.js +170 -0
  288. package/dist/services/integrations/installable/index.js.map +1 -0
  289. package/dist/services/integrations/installable/installers/integration-probes.d.ts +50 -0
  290. package/dist/services/integrations/installable/installers/integration-probes.js +231 -0
  291. package/dist/services/integrations/installable/installers/integration-probes.js.map +1 -0
  292. package/dist/services/integrations/installable/installers/integration.d.ts +30 -0
  293. package/dist/services/integrations/installable/installers/integration.js +177 -0
  294. package/dist/services/integrations/installable/installers/integration.js.map +1 -0
  295. package/dist/services/integrations/installable/installers/registry-probe.js.map +1 -0
  296. package/dist/services/integrations/installable/installers/shell-script.d.ts +46 -0
  297. package/dist/services/integrations/installable/installers/shell-script.js +487 -0
  298. package/dist/services/integrations/installable/installers/shell-script.js.map +1 -0
  299. package/dist/services/integrations/installable/types.d.ts +130 -0
  300. package/dist/services/integrations/installable/types.js +19 -0
  301. package/dist/services/integrations/installable/types.js.map +1 -0
  302. package/dist/services/integrations/jishukb/integration.d.ts +22 -0
  303. package/dist/services/integrations/jishukb/integration.js +189 -0
  304. package/dist/services/integrations/jishukb/integration.js.map +1 -0
  305. package/dist/services/integrations/openclaw/anythingllm-shim.d.ts +46 -0
  306. package/dist/services/integrations/openclaw/anythingllm-shim.js +281 -0
  307. package/dist/services/integrations/openclaw/anythingllm-shim.js.map +1 -0
  308. package/dist/services/integrations/openclaw/drive-shim.d.ts +54 -0
  309. package/dist/services/integrations/openclaw/drive-shim.js +490 -0
  310. package/dist/services/integrations/openclaw/drive-shim.js.map +1 -0
  311. package/dist/services/integrations/openclaw/integration.d.ts +424 -0
  312. package/dist/services/integrations/openclaw/integration.js +4402 -0
  313. package/dist/services/integrations/openclaw/integration.js.map +1 -0
  314. package/dist/services/integrations/openclaw/jishukb-shim.d.ts +48 -0
  315. package/dist/services/integrations/openclaw/jishukb-shim.js +750 -0
  316. package/dist/services/integrations/openclaw/jishukb-shim.js.map +1 -0
  317. package/dist/services/integrations/openclaw/mcporter-lite.d.ts +24 -0
  318. package/dist/services/integrations/openclaw/mcporter-lite.js +276 -0
  319. package/dist/services/integrations/openclaw/mcporter-lite.js.map +1 -0
  320. package/dist/services/integrations/openclaw/mcporter.d.ts +46 -0
  321. package/dist/services/integrations/openclaw/mcporter.js +112 -0
  322. package/dist/services/integrations/openclaw/mcporter.js.map +1 -0
  323. package/dist/services/integrations/openclaw/routes.d.ts +21 -0
  324. package/dist/services/integrations/openclaw/routes.js +1191 -0
  325. package/dist/services/integrations/openclaw/routes.js.map +1 -0
  326. package/dist/services/integrations/registry.d.ts +17 -0
  327. package/dist/services/integrations/registry.js +36 -0
  328. package/dist/services/integrations/registry.js.map +1 -0
  329. package/dist/services/integrations/routes.d.ts +2 -0
  330. package/dist/services/integrations/routes.js +9 -0
  331. package/dist/services/integrations/routes.js.map +1 -0
  332. package/dist/services/integrations/types.d.ts +469 -0
  333. package/dist/services/integrations/types.js +2 -0
  334. package/dist/services/integrations/types.js.map +1 -0
  335. package/dist/services/legacy-migrator/classifier.d.ts +44 -0
  336. package/dist/services/legacy-migrator/classifier.js +309 -0
  337. package/dist/services/legacy-migrator/classifier.js.map +1 -0
  338. package/dist/services/legacy-migrator/executor.d.ts +42 -0
  339. package/dist/services/legacy-migrator/executor.js +637 -0
  340. package/dist/services/legacy-migrator/executor.js.map +1 -0
  341. package/dist/services/legacy-migrator/index.d.ts +31 -0
  342. package/dist/services/legacy-migrator/index.js +34 -0
  343. package/dist/services/legacy-migrator/index.js.map +1 -0
  344. package/dist/services/legacy-migrator/planner.d.ts +8 -0
  345. package/dist/services/legacy-migrator/planner.js +154 -0
  346. package/dist/services/legacy-migrator/planner.js.map +1 -0
  347. package/dist/services/legacy-migrator/provider-settings.d.ts +6 -0
  348. package/dist/services/legacy-migrator/provider-settings.js +72 -0
  349. package/dist/services/legacy-migrator/provider-settings.js.map +1 -0
  350. package/dist/services/legacy-migrator/report.d.ts +9 -0
  351. package/dist/services/legacy-migrator/report.js +99 -0
  352. package/dist/services/legacy-migrator/report.js.map +1 -0
  353. package/dist/services/legacy-migrator/scanner.d.ts +13 -0
  354. package/dist/services/legacy-migrator/scanner.js +157 -0
  355. package/dist/services/legacy-migrator/scanner.js.map +1 -0
  356. package/dist/services/legacy-migrator/types.d.ts +97 -0
  357. package/dist/services/legacy-migrator/types.js +23 -0
  358. package/dist/services/legacy-migrator/types.js.map +1 -0
  359. package/dist/services/llm-proxy/adapters.js +5 -4
  360. package/dist/services/llm-proxy/adapters.js.map +1 -1
  361. package/dist/services/llm-proxy/index.d.ts +8 -105
  362. package/dist/services/llm-proxy/index.js +12 -889
  363. package/dist/services/llm-proxy/index.js.map +1 -1
  364. package/dist/services/llm-proxy/instance-proxy.d.ts +61 -0
  365. package/dist/services/llm-proxy/instance-proxy.js +702 -0
  366. package/dist/services/llm-proxy/instance-proxy.js.map +1 -0
  367. package/dist/services/llm-proxy/probe.js +5 -14
  368. package/dist/services/llm-proxy/probe.js.map +1 -1
  369. package/dist/services/llm-proxy/providers.d.ts +21 -0
  370. package/dist/services/llm-proxy/providers.js +88 -0
  371. package/dist/services/llm-proxy/providers.js.map +1 -0
  372. package/dist/services/llm-proxy/proxy-runtime.d.ts +12 -0
  373. package/dist/services/llm-proxy/proxy-runtime.js +65 -0
  374. package/dist/services/llm-proxy/proxy-runtime.js.map +1 -0
  375. package/dist/services/llm-proxy/sse.d.ts +13 -3
  376. package/dist/services/llm-proxy/sse.js.map +1 -1
  377. package/dist/services/llm-proxy/ssrf.d.ts +11 -4
  378. package/dist/services/llm-proxy/ssrf.js +45 -7
  379. package/dist/services/llm-proxy/ssrf.js.map +1 -1
  380. package/dist/services/llm-proxy/validate-key.js +27 -51
  381. package/dist/services/llm-proxy/validate-key.js.map +1 -1
  382. package/dist/services/repair/runtime-repair.d.ts +22 -0
  383. package/dist/services/repair/runtime-repair.js +307 -0
  384. package/dist/services/repair/runtime-repair.js.map +1 -0
  385. package/dist/services/runtime/driver-registry.d.ts +21 -0
  386. package/dist/services/runtime/driver-registry.js +22 -0
  387. package/dist/services/runtime/driver-registry.js.map +1 -0
  388. package/dist/services/runtime/drivers/nomad.d.ts +260 -0
  389. package/dist/services/runtime/drivers/nomad.js +3092 -0
  390. package/dist/services/runtime/drivers/nomad.js.map +1 -0
  391. package/dist/services/runtime/errors.d.ts +3 -3
  392. package/dist/services/runtime/errors.js +3 -3
  393. package/dist/services/runtime/instance.d.ts +14 -16
  394. package/dist/services/runtime/instance.js +93 -110
  395. package/dist/services/runtime/instance.js.map +1 -1
  396. package/dist/services/runtime/job-id.d.ts +9 -0
  397. package/dist/services/runtime/job-id.js +15 -0
  398. package/dist/services/runtime/job-id.js.map +1 -0
  399. package/dist/services/runtime/mcp-shims/firewall.d.ts +2 -2
  400. package/dist/services/runtime/mcp-shims/firewall.js +2 -2
  401. package/dist/services/runtime/mcp-shims/searxng-shim.d.ts +3 -5
  402. package/dist/services/runtime/mcp-shims/searxng-shim.js +3 -5
  403. package/dist/services/runtime/mcp-shims/searxng-shim.js.map +1 -1
  404. package/dist/services/runtime/mcp-shims/write-mcp-entry.d.ts +20 -20
  405. package/dist/services/runtime/mcp-shims/write-mcp-entry.js +16 -16
  406. package/dist/services/runtime/mcp-shims/write-mcp-entry.js.map +1 -1
  407. package/dist/services/runtime/ownership-marker.d.ts +83 -0
  408. package/dist/services/runtime/ownership-marker.js +109 -0
  409. package/dist/services/runtime/ownership-marker.js.map +1 -0
  410. package/dist/services/runtime/types.d.ts +23 -511
  411. package/dist/services/runtime/types.js +0 -12
  412. package/dist/services/runtime/types.js.map +1 -1
  413. package/dist/services/runtime/workload-compiler.d.ts +17 -0
  414. package/dist/services/runtime/workload-compiler.js +525 -0
  415. package/dist/services/runtime/workload-compiler.js.map +1 -0
  416. package/dist/services/runtime/workload-types.d.ts +11 -0
  417. package/dist/services/runtime/workload-types.js +2 -0
  418. package/dist/services/runtime/workload-types.js.map +1 -0
  419. package/dist/services/setup/core-manager.d.ts +50 -0
  420. package/dist/services/setup/core-manager.js +456 -0
  421. package/dist/services/setup/core-manager.js.map +1 -0
  422. package/dist/services/setup/plugin-installer.js +136 -0
  423. package/dist/services/setup/plugin-installer.js.map +1 -0
  424. package/dist/services/setup/setup-manager.d.ts +158 -0
  425. package/dist/services/setup/setup-manager.js +2768 -0
  426. package/dist/services/setup/setup-manager.js.map +1 -0
  427. package/dist/services/system/cli-command.d.ts +5 -0
  428. package/dist/services/system/cli-command.js +18 -0
  429. package/dist/services/system/cli-command.js.map +1 -0
  430. package/dist/services/system/macos-launchd.d.ts +100 -0
  431. package/dist/services/system/macos-launchd.js +312 -0
  432. package/dist/services/system/macos-launchd.js.map +1 -0
  433. package/dist/services/system/repair-orchestrator.d.ts +71 -0
  434. package/dist/services/system/repair-orchestrator.js +412 -0
  435. package/dist/services/system/repair-orchestrator.js.map +1 -0
  436. package/dist/services/system/system-monitor.js +96 -0
  437. package/dist/services/system/system-monitor.js.map +1 -0
  438. package/dist/services/system/system-ollama-provider.d.ts +14 -0
  439. package/dist/services/system/system-ollama-provider.js +129 -0
  440. package/dist/services/system/system-ollama-provider.js.map +1 -0
  441. package/dist/services/system/system-reconciler.d.ts +59 -0
  442. package/dist/services/system/system-reconciler.js +710 -0
  443. package/dist/services/system/system-reconciler.js.map +1 -0
  444. package/dist/services/system/update-manager.d.ts +43 -0
  445. package/dist/services/system/update-manager.js +315 -0
  446. package/dist/services/system/update-manager.js.map +1 -0
  447. package/dist/services/system/upgrade-finalize.d.ts +80 -0
  448. package/dist/services/system/upgrade-finalize.js +507 -0
  449. package/dist/services/system/upgrade-finalize.js.map +1 -0
  450. package/dist/services/tasks/registry.d.ts +44 -0
  451. package/dist/services/tasks/registry.js +90 -0
  452. package/dist/services/tasks/registry.js.map +1 -0
  453. package/dist/services/telemetry/activation.d.ts +8 -4
  454. package/dist/services/telemetry/activation.js +12 -8
  455. package/dist/services/telemetry/activation.js.map +1 -1
  456. package/dist/services/telemetry/device-fingerprint.js +6 -1
  457. package/dist/services/telemetry/device-fingerprint.js.map +1 -1
  458. package/dist/services/telemetry/heartbeat.d.ts +8 -4
  459. package/dist/services/telemetry/heartbeat.js +12 -8
  460. package/dist/services/telemetry/heartbeat.js.map +1 -1
  461. package/dist/services/workspaces/builder.d.ts +29 -0
  462. package/dist/services/workspaces/builder.js +186 -0
  463. package/dist/services/workspaces/builder.js.map +1 -0
  464. package/dist/types.d.ts +361 -72
  465. package/dist/utils/docker-inspect.d.ts +19 -0
  466. package/dist/utils/docker-inspect.js +74 -0
  467. package/dist/utils/docker-inspect.js.map +1 -0
  468. package/dist/utils/instance-lock.d.ts +2 -2
  469. package/dist/utils/instance-lock.js +2 -2
  470. package/dist/utils/sudo-askpass.d.ts +23 -0
  471. package/dist/utils/sudo-askpass.js +83 -0
  472. package/dist/utils/sudo-askpass.js.map +1 -0
  473. package/install/jishu-install.sh +627 -109
  474. package/install/jishu-uninstall.sh +48 -12
  475. package/install/post-install.sh +316 -93
  476. package/install/post-uninstall.sh +99 -9
  477. package/node_modules/@fastify/accept-negotiator/LICENSE +22 -0
  478. package/node_modules/@fastify/accept-negotiator/README.md +52 -0
  479. package/node_modules/@fastify/accept-negotiator/index.js +170 -0
  480. package/node_modules/@fastify/accept-negotiator/package.json +77 -0
  481. package/node_modules/@fastify/accept-negotiator/types/index.d.ts +17 -0
  482. package/node_modules/@fastify/ajv-compiler/.gitattributes +2 -0
  483. package/node_modules/@fastify/ajv-compiler/.github/.stale.yml +21 -0
  484. package/node_modules/@fastify/ajv-compiler/.github/dependabot.yml +13 -0
  485. package/node_modules/@fastify/ajv-compiler/.github/tests_checker.yml +8 -0
  486. package/node_modules/@fastify/ajv-compiler/.github/workflows/ci.yml +33 -0
  487. package/node_modules/@fastify/ajv-compiler/LICENSE +23 -0
  488. package/node_modules/@fastify/ajv-compiler/README.md +237 -0
  489. package/node_modules/@fastify/ajv-compiler/benchmark/small-object.mjs +37 -0
  490. package/node_modules/@fastify/ajv-compiler/eslint.config.js +6 -0
  491. package/node_modules/@fastify/ajv-compiler/index.js +53 -0
  492. package/node_modules/@fastify/ajv-compiler/lib/default-ajv-options.js +14 -0
  493. package/node_modules/@fastify/ajv-compiler/lib/serializer-compiler.js +27 -0
  494. package/node_modules/@fastify/ajv-compiler/lib/validator-compiler.js +58 -0
  495. package/node_modules/@fastify/ajv-compiler/package.json +84 -0
  496. package/node_modules/@fastify/ajv-compiler/standalone.js +44 -0
  497. package/node_modules/@fastify/ajv-compiler/test/.gitkeep +0 -0
  498. package/node_modules/@fastify/ajv-compiler/test/duplicated-id-compile.test.js +55 -0
  499. package/node_modules/@fastify/ajv-compiler/test/index.test.js +307 -0
  500. package/node_modules/@fastify/ajv-compiler/test/plugins.test.js +246 -0
  501. package/node_modules/@fastify/ajv-compiler/test/serialization.test.js +279 -0
  502. package/node_modules/@fastify/ajv-compiler/test/standalone.test.js +203 -0
  503. package/node_modules/@fastify/ajv-compiler/types/index.d.ts +87 -0
  504. package/node_modules/@fastify/ajv-compiler/types/index.test-d.ts +302 -0
  505. package/node_modules/@fastify/error/.gitattributes +2 -0
  506. package/node_modules/@fastify/error/.github/dependabot.yml +13 -0
  507. package/node_modules/@fastify/error/.github/workflows/ci.yml +28 -0
  508. package/node_modules/@fastify/error/LICENSE +21 -0
  509. package/node_modules/@fastify/error/README.md +140 -0
  510. package/node_modules/@fastify/error/benchmarks/create.js +9 -0
  511. package/node_modules/@fastify/error/benchmarks/instantiate.js +18 -0
  512. package/node_modules/@fastify/error/benchmarks/no-stack.js +13 -0
  513. package/node_modules/@fastify/error/benchmarks/toString.js +11 -0
  514. package/node_modules/@fastify/error/eslint.config.js +6 -0
  515. package/node_modules/@fastify/error/index.js +100 -0
  516. package/node_modules/@fastify/error/package.json +75 -0
  517. package/node_modules/@fastify/error/test/index.test.js +232 -0
  518. package/node_modules/@fastify/error/test/instanceof.test.js +263 -0
  519. package/node_modules/@fastify/error/types/index.d.ts +49 -0
  520. package/node_modules/@fastify/error/types/index.test-d.ts +92 -0
  521. package/node_modules/@fastify/fast-json-stringify-compiler/.eslintrc +1 -0
  522. package/node_modules/@fastify/fast-json-stringify-compiler/.gitattributes +2 -0
  523. package/node_modules/@fastify/fast-json-stringify-compiler/.github/dependabot.yml +13 -0
  524. package/node_modules/@fastify/fast-json-stringify-compiler/.github/workflows/ci.yml +28 -0
  525. package/node_modules/@fastify/fast-json-stringify-compiler/LICENSE +21 -0
  526. package/node_modules/@fastify/fast-json-stringify-compiler/README.md +128 -0
  527. package/node_modules/@fastify/fast-json-stringify-compiler/eslint.config.js +6 -0
  528. package/node_modules/@fastify/fast-json-stringify-compiler/index.js +8 -0
  529. package/node_modules/@fastify/fast-json-stringify-compiler/package.json +71 -0
  530. package/node_modules/@fastify/fast-json-stringify-compiler/standalone.js +58 -0
  531. package/node_modules/@fastify/fast-json-stringify-compiler/test/duplicate-schema.test.js +26 -0
  532. package/node_modules/@fastify/fast-json-stringify-compiler/test/plugin.test.js +78 -0
  533. package/node_modules/@fastify/fast-json-stringify-compiler/test/standalone.test.js +230 -0
  534. package/node_modules/@fastify/fast-json-stringify-compiler/types/index.d.ts +41 -0
  535. package/node_modules/@fastify/fast-json-stringify-compiler/types/index.test-d.ts +142 -0
  536. package/node_modules/@fastify/forwarded/LICENSE +24 -0
  537. package/node_modules/@fastify/forwarded/README.md +43 -0
  538. package/node_modules/@fastify/forwarded/index.js +59 -0
  539. package/node_modules/@fastify/forwarded/package.json +74 -0
  540. package/node_modules/@fastify/forwarded/types/index.d.ts +14 -0
  541. package/node_modules/@fastify/merge-json-schemas/.gitattributes +2 -0
  542. package/node_modules/@fastify/merge-json-schemas/.github/dependabot.yml +13 -0
  543. package/node_modules/@fastify/merge-json-schemas/.github/workflows/ci.yml +23 -0
  544. package/node_modules/@fastify/merge-json-schemas/LICENSE +21 -0
  545. package/node_modules/@fastify/merge-json-schemas/README.md +119 -0
  546. package/node_modules/@fastify/merge-json-schemas/eslint.config.js +6 -0
  547. package/node_modules/@fastify/merge-json-schemas/index.js +357 -0
  548. package/node_modules/@fastify/merge-json-schemas/lib/errors.js +36 -0
  549. package/node_modules/@fastify/merge-json-schemas/lib/resolvers.js +127 -0
  550. package/node_modules/@fastify/merge-json-schemas/package.json +67 -0
  551. package/node_modules/@fastify/merge-json-schemas/test/additional-items.test.js +164 -0
  552. package/node_modules/@fastify/merge-json-schemas/test/additional-properties.test.js +129 -0
  553. package/node_modules/@fastify/merge-json-schemas/test/all-of.test.js +43 -0
  554. package/node_modules/@fastify/merge-json-schemas/test/any-of.test.js +81 -0
  555. package/node_modules/@fastify/merge-json-schemas/test/const.test.js +58 -0
  556. package/node_modules/@fastify/merge-json-schemas/test/contains.test.js +55 -0
  557. package/node_modules/@fastify/merge-json-schemas/test/custom-resolvers.test.js +50 -0
  558. package/node_modules/@fastify/merge-json-schemas/test/default-resolver.test.js +111 -0
  559. package/node_modules/@fastify/merge-json-schemas/test/default.test.js +50 -0
  560. package/node_modules/@fastify/merge-json-schemas/test/definitions.test.js +46 -0
  561. package/node_modules/@fastify/merge-json-schemas/test/defs.test.js +46 -0
  562. package/node_modules/@fastify/merge-json-schemas/test/dependencies.test.js +75 -0
  563. package/node_modules/@fastify/merge-json-schemas/test/dependent-required.test.js +75 -0
  564. package/node_modules/@fastify/merge-json-schemas/test/dependent-schemas.test.js +76 -0
  565. package/node_modules/@fastify/merge-json-schemas/test/enum.test.js +44 -0
  566. package/node_modules/@fastify/merge-json-schemas/test/exclusive-maximum.test.js +30 -0
  567. package/node_modules/@fastify/merge-json-schemas/test/exclusive-minimum.test.js +30 -0
  568. package/node_modules/@fastify/merge-json-schemas/test/format.test.js +36 -0
  569. package/node_modules/@fastify/merge-json-schemas/test/id.test.js +22 -0
  570. package/node_modules/@fastify/merge-json-schemas/test/if-then-else.test.js +550 -0
  571. package/node_modules/@fastify/merge-json-schemas/test/items.test.js +152 -0
  572. package/node_modules/@fastify/merge-json-schemas/test/max-items.test.js +30 -0
  573. package/node_modules/@fastify/merge-json-schemas/test/max-length.test.js +30 -0
  574. package/node_modules/@fastify/merge-json-schemas/test/max-properties.test.js +30 -0
  575. package/node_modules/@fastify/merge-json-schemas/test/maximum.test.js +30 -0
  576. package/node_modules/@fastify/merge-json-schemas/test/merge-schema.test.js +29 -0
  577. package/node_modules/@fastify/merge-json-schemas/test/min-items.test.js +30 -0
  578. package/node_modules/@fastify/merge-json-schemas/test/min-length.test.js +30 -0
  579. package/node_modules/@fastify/merge-json-schemas/test/min-properties.test.js +30 -0
  580. package/node_modules/@fastify/merge-json-schemas/test/minimum.test.js +30 -0
  581. package/node_modules/@fastify/merge-json-schemas/test/multiple-of.test.js +36 -0
  582. package/node_modules/@fastify/merge-json-schemas/test/not.test.js +29 -0
  583. package/node_modules/@fastify/merge-json-schemas/test/nullable.test.js +30 -0
  584. package/node_modules/@fastify/merge-json-schemas/test/one-of.test.js +144 -0
  585. package/node_modules/@fastify/merge-json-schemas/test/properties.test.js +312 -0
  586. package/node_modules/@fastify/merge-json-schemas/test/property-names.test.js +49 -0
  587. package/node_modules/@fastify/merge-json-schemas/test/required.test.js +30 -0
  588. package/node_modules/@fastify/merge-json-schemas/test/type.test.js +52 -0
  589. package/node_modules/@fastify/merge-json-schemas/test/unique-items.test.js +38 -0
  590. package/node_modules/@fastify/merge-json-schemas/test/utils.js +9 -0
  591. package/node_modules/@fastify/merge-json-schemas/types/index.d.ts +61 -0
  592. package/node_modules/@fastify/merge-json-schemas/types/index.test-d.ts +52 -0
  593. package/node_modules/@fastify/proxy-addr/.gitattributes +2 -0
  594. package/node_modules/@fastify/proxy-addr/.github/dependabot.yml +13 -0
  595. package/node_modules/@fastify/proxy-addr/.github/stale.yml +21 -0
  596. package/node_modules/@fastify/proxy-addr/.github/workflows/ci.yml +28 -0
  597. package/node_modules/@fastify/proxy-addr/LICENSE +24 -0
  598. package/node_modules/@fastify/proxy-addr/README.md +141 -0
  599. package/node_modules/@fastify/proxy-addr/benchmark/compiling.js +50 -0
  600. package/node_modules/@fastify/proxy-addr/benchmark/index.js +30 -0
  601. package/node_modules/@fastify/proxy-addr/benchmark/kind.js +57 -0
  602. package/node_modules/@fastify/proxy-addr/benchmark/matching.js +78 -0
  603. package/node_modules/@fastify/proxy-addr/eslint.config.js +6 -0
  604. package/node_modules/@fastify/proxy-addr/index.js +331 -0
  605. package/node_modules/@fastify/proxy-addr/package.json +73 -0
  606. package/node_modules/@fastify/proxy-addr/test/all.test.js +55 -0
  607. package/node_modules/@fastify/proxy-addr/test/base.test.js +365 -0
  608. package/node_modules/@fastify/proxy-addr/test/compile.test.js +58 -0
  609. package/node_modules/@fastify/proxy-addr/types/index.d.ts +18 -0
  610. package/node_modules/@fastify/proxy-addr/types/index.test-d.ts +27 -0
  611. package/node_modules/@fastify/send/.gitattributes +2 -0
  612. package/node_modules/@fastify/send/.github/dependabot.yml +13 -0
  613. package/node_modules/@fastify/send/.github/workflows/ci.yml +28 -0
  614. package/node_modules/@fastify/send/HISTORY.md +521 -0
  615. package/node_modules/@fastify/send/LICENSE +23 -0
  616. package/node_modules/@fastify/send/README.md +310 -0
  617. package/node_modules/@fastify/send/benchmarks/collapseLeadingSlashes.js +13 -0
  618. package/node_modules/@fastify/send/benchmarks/containsDotFile.js +15 -0
  619. package/node_modules/@fastify/send/benchmarks/isUtf8MimeType.js +23 -0
  620. package/node_modules/@fastify/send/benchmarks/normalizeList.js +14 -0
  621. package/node_modules/@fastify/send/benchmarks/parseBytesRange.js +15 -0
  622. package/node_modules/@fastify/send/eslint.config.js +6 -0
  623. package/node_modules/@fastify/send/examples/index.html +1 -0
  624. package/node_modules/@fastify/send/examples/simple.js +15 -0
  625. package/node_modules/@fastify/send/index.js +28 -0
  626. package/node_modules/@fastify/send/lib/collapseLeadingSlashes.js +25 -0
  627. package/node_modules/@fastify/send/lib/containsDotFile.js +23 -0
  628. package/node_modules/@fastify/send/lib/contentRange.js +18 -0
  629. package/node_modules/@fastify/send/lib/createHtmlDocument.js +29 -0
  630. package/node_modules/@fastify/send/lib/createHttpError.js +23 -0
  631. package/node_modules/@fastify/send/lib/isUtf8MimeType.js +12 -0
  632. package/node_modules/@fastify/send/lib/normalizeList.js +28 -0
  633. package/node_modules/@fastify/send/lib/parseBytesRange.js +133 -0
  634. package/node_modules/@fastify/send/lib/parseTokenList.js +46 -0
  635. package/node_modules/@fastify/send/lib/send.js +729 -0
  636. package/node_modules/@fastify/send/package.json +81 -0
  637. package/node_modules/@fastify/send/test/collapseLeadingSlashes.test.js +22 -0
  638. package/node_modules/@fastify/send/test/containsDotFile.test.js +18 -0
  639. package/node_modules/@fastify/send/test/fixtures/.hidden.txt +1 -0
  640. package/node_modules/@fastify/send/test/fixtures/.mine/.hidden.txt +1 -0
  641. package/node_modules/@fastify/send/test/fixtures/.mine/name.txt +1 -0
  642. package/node_modules/@fastify/send/test/fixtures/do..ts.txt +1 -0
  643. package/node_modules/@fastify/send/test/fixtures/empty.txt +0 -0
  644. package/node_modules/@fastify/send/test/fixtures/images/node-js.png +0 -0
  645. package/node_modules/@fastify/send/test/fixtures/name.d/name.txt +1 -0
  646. package/node_modules/@fastify/send/test/fixtures/name.dir/name.txt +1 -0
  647. package/node_modules/@fastify/send/test/fixtures/name.html +1 -0
  648. package/node_modules/@fastify/send/test/fixtures/name.txt +1 -0
  649. package/node_modules/@fastify/send/test/fixtures/no_ext +1 -0
  650. package/node_modules/@fastify/send/test/fixtures/nums.txt +1 -0
  651. package/node_modules/@fastify/send/test/fixtures/pets/.hidden.txt +1 -0
  652. package/node_modules/@fastify/send/test/fixtures/pets/index.html +3 -0
  653. package/node_modules/@fastify/send/test/fixtures/snow /342/230/203/index.html +0 -0
  654. package/node_modules/@fastify/send/test/fixtures/some thing.txt +1 -0
  655. package/node_modules/@fastify/send/test/fixtures/thing.html.html +1 -0
  656. package/node_modules/@fastify/send/test/fixtures/tobi.html +1 -0
  657. package/node_modules/@fastify/send/test/isUtf8MimeType.test.js +22 -0
  658. package/node_modules/@fastify/send/test/mime.test.js +56 -0
  659. package/node_modules/@fastify/send/test/normalizeList.test.js +28 -0
  660. package/node_modules/@fastify/send/test/parseBytesRange.test.js +103 -0
  661. package/node_modules/@fastify/send/test/send.1.test.js +646 -0
  662. package/node_modules/@fastify/send/test/send.2.test.js +977 -0
  663. package/node_modules/@fastify/send/test/send.3.test.js +133 -0
  664. package/node_modules/@fastify/send/test/utils.js +36 -0
  665. package/node_modules/@fastify/send/types/index.d.ts +167 -0
  666. package/node_modules/@fastify/send/types/index.test-d.ts +67 -0
  667. package/node_modules/@fastify/static/.gitattributes +5 -0
  668. package/node_modules/@fastify/static/.github/dependabot.yml +13 -0
  669. package/node_modules/@fastify/static/.github/workflows/ci.yml +33 -0
  670. package/node_modules/@fastify/static/.github/workflows/lock-threads.yml +19 -0
  671. package/node_modules/@fastify/static/LICENSE +21 -0
  672. package/node_modules/@fastify/static/README.md +538 -0
  673. package/node_modules/@fastify/static/eslint.config.js +7 -0
  674. package/node_modules/@fastify/static/example/public/.hidden/sample.json +1 -0
  675. package/node_modules/@fastify/static/example/public/images/sample.jpg +0 -0
  676. package/node_modules/@fastify/static/example/public/index.css +9 -0
  677. package/node_modules/@fastify/static/example/public/index.html +11 -0
  678. package/node_modules/@fastify/static/example/public/index.js +8 -0
  679. package/node_modules/@fastify/static/example/public2/test.css +4 -0
  680. package/node_modules/@fastify/static/example/public2/test.html +8 -0
  681. package/node_modules/@fastify/static/example/server-benchmark.js +39 -0
  682. package/node_modules/@fastify/static/example/server-compress.js +15 -0
  683. package/node_modules/@fastify/static/example/server-dir-list.js +38 -0
  684. package/node_modules/@fastify/static/example/server-hidden-file.js +15 -0
  685. package/node_modules/@fastify/static/example/server.js +13 -0
  686. package/node_modules/@fastify/static/index.js +726 -0
  687. package/node_modules/@fastify/static/lib/dirList.js +225 -0
  688. package/node_modules/@fastify/static/package.json +89 -0
  689. package/node_modules/@fastify/static/test/content-type/binary +0 -0
  690. package/node_modules/@fastify/static/test/content-type/binary.br +1 -0
  691. package/node_modules/@fastify/static/test/content-type/index.css +0 -0
  692. package/node_modules/@fastify/static/test/content-type/index.css.br +1 -0
  693. package/node_modules/@fastify/static/test/content-type/index.html +5 -0
  694. package/node_modules/@fastify/static/test/content-type/index.html.br +0 -0
  695. package/node_modules/@fastify/static/test/content-type/sample.jpg +0 -0
  696. package/node_modules/@fastify/static/test/content-type/test.txt +0 -0
  697. package/node_modules/@fastify/static/test/content-type/test.txt.br +1 -0
  698. package/node_modules/@fastify/static/test/content-type.test.js +144 -0
  699. package/node_modules/@fastify/static/test/dir-list.test.js +820 -0
  700. package/node_modules/@fastify/static/test/static/.example +1 -0
  701. package/node_modules/@fastify/static/test/static/100%.txt +1 -0
  702. package/node_modules/@fastify/static/test/static/a .md +1 -0
  703. package/node_modules/@fastify/static/test/static/deep/path/for/test/index.html +5 -0
  704. package/node_modules/@fastify/static/test/static/deep/path/for/test/purpose/foo.html +5 -0
  705. package/node_modules/@fastify/static/test/static/foo.html +3 -0
  706. package/node_modules/@fastify/static/test/static/foobar.html +3 -0
  707. package/node_modules/@fastify/static/test/static/index.css +0 -0
  708. package/node_modules/@fastify/static/test/static/index.html +5 -0
  709. package/node_modules/@fastify/static/test/static/shallow/sample.jpg +0 -0
  710. package/node_modules/@fastify/static/test/static-dotfiles/.aaa +0 -0
  711. package/node_modules/@fastify/static/test/static-dotfiles/dir/index.html +0 -0
  712. package/node_modules/@fastify/static/test/static-dotfiles/test.txt +0 -0
  713. package/node_modules/@fastify/static/test/static-encode/[...]/a .md +1 -0
  714. package/node_modules/@fastify/static/test/static-filtered/bar.private +1 -0
  715. package/node_modules/@fastify/static/test/static-filtered/deep/path/to/baz.html +3 -0
  716. package/node_modules/@fastify/static/test/static-filtered/deep/path/to/baz.private +1 -0
  717. package/node_modules/@fastify/static/test/static-filtered/index.html +3 -0
  718. package/node_modules/@fastify/static/test/static-hidden/.hidden/sample.json +1 -0
  719. package/node_modules/@fastify/static/test/static-pre-compressed/all-three.html +5 -0
  720. package/node_modules/@fastify/static/test/static-pre-compressed/all-three.html.br +0 -0
  721. package/node_modules/@fastify/static/test/static-pre-compressed/all-three.html.gz +0 -0
  722. package/node_modules/@fastify/static/test/static-pre-compressed/baz.json +3 -0
  723. package/node_modules/@fastify/static/test/static-pre-compressed/dir/index.html +5 -0
  724. package/node_modules/@fastify/static/test/static-pre-compressed/dir/index.html.br +0 -0
  725. package/node_modules/@fastify/static/test/static-pre-compressed/dir-gz/index.html +5 -0
  726. package/node_modules/@fastify/static/test/static-pre-compressed/dir-gz/index.html.gz +0 -0
  727. package/node_modules/@fastify/static/test/static-pre-compressed/empty/.gitkeep +0 -0
  728. package/node_modules/@fastify/static/test/static-pre-compressed/gzip-only.html +3 -0
  729. package/node_modules/@fastify/static/test/static-pre-compressed/gzip-only.html.gz +0 -0
  730. package/node_modules/@fastify/static/test/static-pre-compressed/index.html +5 -0
  731. package/node_modules/@fastify/static/test/static-pre-compressed/index.html.br +0 -0
  732. package/node_modules/@fastify/static/test/static-pre-compressed/sample.jpg +0 -0
  733. package/node_modules/@fastify/static/test/static-pre-compressed/sample.jpg.br +0 -0
  734. package/node_modules/@fastify/static/test/static-pre-compressed/uncompressed.html +3 -0
  735. package/node_modules/@fastify/static/test/static-symbolic-link/origin/subdir/subdir/index.html +3 -0
  736. package/node_modules/@fastify/static/test/static.test.js +4115 -0
  737. package/node_modules/@fastify/static/test/static2/bar.html +3 -0
  738. package/node_modules/@fastify/static/test/static2/index.html +3 -0
  739. package/node_modules/@fastify/static/types/index.d.ts +136 -0
  740. package/node_modules/@fastify/static/types/index.test-d.ts +240 -0
  741. package/node_modules/@lukeed/ms/dist/index.js +37 -0
  742. package/node_modules/@lukeed/ms/dist/index.min.js +1 -0
  743. package/node_modules/@lukeed/ms/dist/index.mjs +34 -0
  744. package/node_modules/@lukeed/ms/index.d.ts +2 -0
  745. package/node_modules/@lukeed/ms/license +9 -0
  746. package/node_modules/@lukeed/ms/package.json +48 -0
  747. package/node_modules/@lukeed/ms/readme.md +133 -0
  748. package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
  749. package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
  750. package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
  751. package/node_modules/@pinojs/redact/LICENSE +21 -0
  752. package/node_modules/@pinojs/redact/README.md +350 -0
  753. package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
  754. package/node_modules/@pinojs/redact/eslint.config.js +1 -0
  755. package/node_modules/@pinojs/redact/index.d.ts +52 -0
  756. package/node_modules/@pinojs/redact/index.js +529 -0
  757. package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
  758. package/node_modules/@pinojs/redact/package.json +37 -0
  759. package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
  760. package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
  761. package/node_modules/@pinojs/redact/test/index.test.js +824 -0
  762. package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
  763. package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
  764. package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
  765. package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
  766. package/node_modules/@pinojs/redact/tsconfig.json +19 -0
  767. package/node_modules/abstract-logging/Readme.md +47 -0
  768. package/node_modules/abstract-logging/index.js +18 -0
  769. package/node_modules/abstract-logging/package.json +25 -0
  770. package/node_modules/abstract-logging/test.js +17 -0
  771. package/node_modules/ajv/.runkit_example.js +23 -0
  772. package/node_modules/ajv/LICENSE +22 -0
  773. package/node_modules/ajv/README.md +207 -0
  774. package/node_modules/ajv/dist/2019.d.ts +19 -0
  775. package/node_modules/ajv/dist/2019.js +61 -0
  776. package/node_modules/ajv/dist/2019.js.map +1 -0
  777. package/node_modules/ajv/dist/2020.d.ts +19 -0
  778. package/node_modules/ajv/dist/2020.js +55 -0
  779. package/node_modules/ajv/dist/2020.js.map +1 -0
  780. package/node_modules/ajv/dist/ajv.d.ts +18 -0
  781. package/node_modules/ajv/dist/ajv.js +50 -0
  782. package/node_modules/ajv/dist/ajv.js.map +1 -0
  783. package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
  784. package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  785. package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  786. package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  787. package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  788. package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  789. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  790. package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  791. package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  792. package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  793. package/node_modules/ajv/dist/compile/errors.js +123 -0
  794. package/node_modules/ajv/dist/compile/errors.js.map +1 -0
  795. package/node_modules/ajv/dist/compile/index.d.ts +80 -0
  796. package/node_modules/ajv/dist/compile/index.js +242 -0
  797. package/node_modules/ajv/dist/compile/index.js.map +1 -0
  798. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  799. package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  800. package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  801. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  802. package/node_modules/ajv/dist/compile/jtd/serialize.js +236 -0
  803. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  804. package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  805. package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  806. package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  807. package/node_modules/ajv/dist/compile/names.d.ts +20 -0
  808. package/node_modules/ajv/dist/compile/names.js +28 -0
  809. package/node_modules/ajv/dist/compile/names.js.map +1 -0
  810. package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
  811. package/node_modules/ajv/dist/compile/ref_error.js +12 -0
  812. package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  813. package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  814. package/node_modules/ajv/dist/compile/resolve.js +155 -0
  815. package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  816. package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  817. package/node_modules/ajv/dist/compile/rules.js +26 -0
  818. package/node_modules/ajv/dist/compile/rules.js.map +1 -0
  819. package/node_modules/ajv/dist/compile/util.d.ts +40 -0
  820. package/node_modules/ajv/dist/compile/util.js +178 -0
  821. package/node_modules/ajv/dist/compile/util.js.map +1 -0
  822. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  823. package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  824. package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  825. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  826. package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  827. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  828. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  829. package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  830. package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  831. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  832. package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  833. package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  834. package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  835. package/node_modules/ajv/dist/compile/validate/index.js +520 -0
  836. package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  837. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  838. package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  839. package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  840. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  841. package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  842. package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  843. package/node_modules/ajv/dist/core.d.ts +174 -0
  844. package/node_modules/ajv/dist/core.js +618 -0
  845. package/node_modules/ajv/dist/core.js.map +1 -0
  846. package/node_modules/ajv/dist/jtd.d.ts +47 -0
  847. package/node_modules/ajv/dist/jtd.js +72 -0
  848. package/node_modules/ajv/dist/jtd.js.map +1 -0
  849. package/node_modules/ajv/dist/refs/data.json +13 -0
  850. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  851. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  852. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  853. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  854. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  855. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  856. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  857. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  858. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  859. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  860. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  861. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  862. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  863. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  864. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  865. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  866. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  867. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  868. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  869. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  870. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  871. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  872. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  873. package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  874. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  875. package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  876. package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  877. package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  878. package/node_modules/ajv/dist/runtime/equal.js +7 -0
  879. package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  880. package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  881. package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
  882. package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  883. package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  884. package/node_modules/ajv/dist/runtime/quote.js +30 -0
  885. package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  886. package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  887. package/node_modules/ajv/dist/runtime/re2.js +6 -0
  888. package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  889. package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  890. package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  891. package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  892. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  893. package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  894. package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  895. package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
  896. package/node_modules/ajv/dist/runtime/uri.js +6 -0
  897. package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  898. package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  899. package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  900. package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  901. package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  902. package/node_modules/ajv/dist/standalone/index.js +90 -0
  903. package/node_modules/ajv/dist/standalone/index.js.map +1 -0
  904. package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  905. package/node_modules/ajv/dist/standalone/instance.js +35 -0
  906. package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  907. package/node_modules/ajv/dist/types/index.d.ts +183 -0
  908. package/node_modules/ajv/dist/types/index.js +3 -0
  909. package/node_modules/ajv/dist/types/index.js.map +1 -0
  910. package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
  911. package/node_modules/ajv/dist/types/json-schema.js +3 -0
  912. package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  913. package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
  914. package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  915. package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  916. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  917. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  918. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  919. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  920. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  921. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  922. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  923. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  924. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  925. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  926. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  927. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  928. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  929. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  930. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  931. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  932. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  933. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  934. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  935. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  936. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  937. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  938. package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  939. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  940. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  941. package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  942. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  943. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  944. package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  945. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  946. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  947. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  948. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  949. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  950. package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  951. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  952. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  953. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  954. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  955. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  956. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  957. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  958. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  959. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  960. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  961. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  962. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  963. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  964. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  965. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  966. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  967. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  968. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  969. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  970. package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  971. package/node_modules/ajv/dist/vocabularies/code.js +131 -0
  972. package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  973. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  974. package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  975. package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  976. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  977. package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  978. package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  979. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  980. package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  981. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  982. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  983. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  984. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  985. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  986. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  987. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  988. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  989. package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  990. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  991. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  992. package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  993. package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  994. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  995. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  996. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  997. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  998. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  999. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  1000. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  1001. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  1002. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  1003. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  1004. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  1005. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  1006. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  1007. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  1008. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  1009. package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  1010. package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  1011. package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  1012. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  1013. package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  1014. package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  1015. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  1016. package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  1017. package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  1018. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  1019. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  1020. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  1021. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  1022. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  1023. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  1024. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  1025. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  1026. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  1027. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  1028. package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  1029. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  1030. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  1031. package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  1032. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  1033. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  1034. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  1035. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  1036. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  1037. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  1038. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  1039. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  1040. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  1041. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  1042. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  1043. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
  1044. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  1045. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  1046. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
  1047. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  1048. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  1049. package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  1050. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  1051. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  1052. package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  1053. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  1054. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  1055. package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
  1056. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  1057. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  1058. package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  1059. package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  1060. package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  1061. package/node_modules/ajv/dist/vocabularies/next.js +8 -0
  1062. package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  1063. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  1064. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  1065. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  1066. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  1067. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  1068. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  1069. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  1070. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  1071. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  1072. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  1073. package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  1074. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  1075. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  1076. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  1077. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  1078. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  1079. package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  1080. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  1081. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  1082. package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  1083. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  1084. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  1085. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  1086. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  1087. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  1088. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  1089. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  1090. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  1091. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  1092. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  1093. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  1094. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  1095. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  1096. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  1097. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  1098. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  1099. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  1100. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  1101. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  1102. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  1103. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
  1104. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  1105. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  1106. package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  1107. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  1108. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  1109. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  1110. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  1111. package/node_modules/ajv/lib/2019.ts +81 -0
  1112. package/node_modules/ajv/lib/2020.ts +75 -0
  1113. package/node_modules/ajv/lib/ajv.ts +70 -0
  1114. package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
  1115. package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
  1116. package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  1117. package/node_modules/ajv/lib/compile/errors.ts +184 -0
  1118. package/node_modules/ajv/lib/compile/index.ts +324 -0
  1119. package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  1120. package/node_modules/ajv/lib/compile/jtd/serialize.ts +277 -0
  1121. package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  1122. package/node_modules/ajv/lib/compile/names.ts +27 -0
  1123. package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
  1124. package/node_modules/ajv/lib/compile/resolve.ts +149 -0
  1125. package/node_modules/ajv/lib/compile/rules.ts +50 -0
  1126. package/node_modules/ajv/lib/compile/util.ts +213 -0
  1127. package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  1128. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  1129. package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
  1130. package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  1131. package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
  1132. package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  1133. package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  1134. package/node_modules/ajv/lib/core.ts +892 -0
  1135. package/node_modules/ajv/lib/jtd.ts +132 -0
  1136. package/node_modules/ajv/lib/refs/data.json +13 -0
  1137. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  1138. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  1139. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  1140. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  1141. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  1142. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  1143. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  1144. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  1145. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  1146. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  1147. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  1148. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  1149. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  1150. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  1151. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  1152. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  1153. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  1154. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  1155. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  1156. package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  1157. package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  1158. package/node_modules/ajv/lib/runtime/equal.ts +7 -0
  1159. package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
  1160. package/node_modules/ajv/lib/runtime/quote.ts +31 -0
  1161. package/node_modules/ajv/lib/runtime/re2.ts +6 -0
  1162. package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  1163. package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  1164. package/node_modules/ajv/lib/runtime/uri.ts +6 -0
  1165. package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  1166. package/node_modules/ajv/lib/standalone/index.ts +100 -0
  1167. package/node_modules/ajv/lib/standalone/instance.ts +36 -0
  1168. package/node_modules/ajv/lib/types/index.ts +244 -0
  1169. package/node_modules/ajv/lib/types/json-schema.ts +187 -0
  1170. package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
  1171. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  1172. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  1173. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  1174. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  1175. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  1176. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  1177. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  1178. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  1179. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  1180. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  1181. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  1182. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  1183. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  1184. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  1185. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  1186. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  1187. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  1188. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  1189. package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  1190. package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  1191. package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  1192. package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  1193. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
  1194. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  1195. package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  1196. package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  1197. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  1198. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  1199. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  1200. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  1201. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  1202. package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  1203. package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  1204. package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  1205. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  1206. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  1207. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  1208. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  1209. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  1210. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  1211. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  1212. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  1213. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
  1214. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
  1215. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  1216. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  1217. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
  1218. package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  1219. package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  1220. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  1221. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  1222. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  1223. package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  1224. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  1225. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
  1226. package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  1227. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  1228. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  1229. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  1230. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  1231. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  1232. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  1233. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +39 -0
  1234. package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  1235. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  1236. package/node_modules/ajv/package.json +127 -0
  1237. package/node_modules/ajv-formats/LICENSE +21 -0
  1238. package/node_modules/ajv-formats/README.md +125 -0
  1239. package/node_modules/ajv-formats/dist/formats.d.ts +9 -0
  1240. package/node_modules/ajv-formats/dist/formats.js +208 -0
  1241. package/node_modules/ajv-formats/dist/formats.js.map +1 -0
  1242. package/node_modules/ajv-formats/dist/index.d.ts +15 -0
  1243. package/node_modules/ajv-formats/dist/index.js +37 -0
  1244. package/node_modules/ajv-formats/dist/index.js.map +1 -0
  1245. package/node_modules/ajv-formats/dist/limit.d.ts +10 -0
  1246. package/node_modules/ajv-formats/dist/limit.js +69 -0
  1247. package/node_modules/ajv-formats/dist/limit.js.map +1 -0
  1248. package/node_modules/ajv-formats/package.json +74 -0
  1249. package/node_modules/ajv-formats/src/formats.ts +269 -0
  1250. package/node_modules/ajv-formats/src/index.ts +62 -0
  1251. package/node_modules/ajv-formats/src/limit.ts +99 -0
  1252. package/node_modules/atomic-sleep/.travis.yml +11 -0
  1253. package/node_modules/atomic-sleep/LICENSE +22 -0
  1254. package/node_modules/atomic-sleep/index.js +38 -0
  1255. package/node_modules/atomic-sleep/package.json +37 -0
  1256. package/node_modules/atomic-sleep/readme.md +58 -0
  1257. package/node_modules/atomic-sleep/test.js +47 -0
  1258. package/node_modules/avvio/.borp.yaml +2 -0
  1259. package/node_modules/avvio/.gitattributes +2 -0
  1260. package/node_modules/avvio/.github/dependabot.yml +13 -0
  1261. package/node_modules/avvio/.github/release-drafter.yml +4 -0
  1262. package/node_modules/avvio/.github/workflows/ci.yml +33 -0
  1263. package/node_modules/avvio/LICENSE +24 -0
  1264. package/node_modules/avvio/README.md +700 -0
  1265. package/node_modules/avvio/boot.js +621 -0
  1266. package/node_modules/avvio/eslint.config.js +6 -0
  1267. package/node_modules/avvio/examples/example.js +72 -0
  1268. package/node_modules/avvio/index.d.ts +95 -0
  1269. package/node_modules/avvio/lib/create-promise.js +45 -0
  1270. package/node_modules/avvio/lib/debug.js +19 -0
  1271. package/node_modules/avvio/lib/errors.js +38 -0
  1272. package/node_modules/avvio/lib/execute-with-thenable.js +36 -0
  1273. package/node_modules/avvio/lib/get-plugin-name.js +34 -0
  1274. package/node_modules/avvio/lib/is-bundled-or-typescript-plugin.js +23 -0
  1275. package/node_modules/avvio/lib/is-promise-like.js +17 -0
  1276. package/node_modules/avvio/lib/plugin.js +279 -0
  1277. package/node_modules/avvio/lib/symbols.js +26 -0
  1278. package/node_modules/avvio/lib/thenify.js +60 -0
  1279. package/node_modules/avvio/lib/time-tree.js +200 -0
  1280. package/node_modules/avvio/lib/validate-plugin.js +26 -0
  1281. package/node_modules/avvio/package.json +74 -0
  1282. package/node_modules/avvio/test/after-and-ready.test.js +903 -0
  1283. package/node_modules/avvio/test/after-pass-through.test.js +33 -0
  1284. package/node_modules/avvio/test/after-self-promise.test.js +20 -0
  1285. package/node_modules/avvio/test/after-throw.test.js +26 -0
  1286. package/node_modules/avvio/test/after-use-after.test.js +87 -0
  1287. package/node_modules/avvio/test/async-await.test.js +323 -0
  1288. package/node_modules/avvio/test/await-after.test.js +448 -0
  1289. package/node_modules/avvio/test/await-self.test.js +31 -0
  1290. package/node_modules/avvio/test/await-use.test.js +295 -0
  1291. package/node_modules/avvio/test/basic.test.js +459 -0
  1292. package/node_modules/avvio/test/callbacks.test.js +116 -0
  1293. package/node_modules/avvio/test/catch-override-exception.test.js +27 -0
  1294. package/node_modules/avvio/test/chainable.test.js +70 -0
  1295. package/node_modules/avvio/test/close.test.js +562 -0
  1296. package/node_modules/avvio/test/errors.test.js +26 -0
  1297. package/node_modules/avvio/test/esm.mjs +12 -0
  1298. package/node_modules/avvio/test/esm.test.js +8 -0
  1299. package/node_modules/avvio/test/events-listeners.test.js +23 -0
  1300. package/node_modules/avvio/test/expose.test.js +76 -0
  1301. package/node_modules/avvio/test/fixtures/dummy.txt +1 -0
  1302. package/node_modules/avvio/test/fixtures/esm.mjs +3 -0
  1303. package/node_modules/avvio/test/fixtures/plugin-no-next.js +5 -0
  1304. package/node_modules/avvio/test/gh-issues/bug-205.test.js +17 -0
  1305. package/node_modules/avvio/test/lib/create-promise.test.js +56 -0
  1306. package/node_modules/avvio/test/lib/execute-with-thenable.test.js +86 -0
  1307. package/node_modules/avvio/test/lib/get-plugin-name.test.js +67 -0
  1308. package/node_modules/avvio/test/lib/is-bundled-or-typescript-plugin.test.js +20 -0
  1309. package/node_modules/avvio/test/lib/is-promise-like.test.js +20 -0
  1310. package/node_modules/avvio/test/lib/thenify.test.js +140 -0
  1311. package/node_modules/avvio/test/lib/time-tree.test.js +391 -0
  1312. package/node_modules/avvio/test/lib/validate-plugin.test.js +19 -0
  1313. package/node_modules/avvio/test/load-plugin.test.js +132 -0
  1314. package/node_modules/avvio/test/no-done.test.js +19 -0
  1315. package/node_modules/avvio/test/on-ready-timeout-await.test.js +33 -0
  1316. package/node_modules/avvio/test/override.test.js +385 -0
  1317. package/node_modules/avvio/test/plugin-loaded-so-far.test.js +81 -0
  1318. package/node_modules/avvio/test/plugin-name.test.js +58 -0
  1319. package/node_modules/avvio/test/plugin-timeout-await.test.js +33 -0
  1320. package/node_modules/avvio/test/plugin-timeout.test.js +227 -0
  1321. package/node_modules/avvio/test/pretty-print.test.js +76 -0
  1322. package/node_modules/avvio/test/reentrant.test.js +126 -0
  1323. package/node_modules/avvio/test/symbol-async-dispose.test.js +28 -0
  1324. package/node_modules/avvio/test/to-json.test.js +130 -0
  1325. package/node_modules/avvio/test/twice-done.test.js +23 -0
  1326. package/node_modules/avvio/test/types/index.ts +412 -0
  1327. package/node_modules/avvio/test/types/tsconfig.json +9 -0
  1328. package/node_modules/balanced-match/LICENSE.md +23 -0
  1329. package/node_modules/balanced-match/README.md +57 -0
  1330. package/node_modules/balanced-match/dist/commonjs/index.d.ts +9 -0
  1331. package/node_modules/balanced-match/dist/commonjs/index.d.ts.map +1 -0
  1332. package/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  1333. package/node_modules/balanced-match/dist/commonjs/index.js.map +1 -0
  1334. package/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  1335. package/node_modules/balanced-match/dist/esm/index.d.ts +9 -0
  1336. package/node_modules/balanced-match/dist/esm/index.d.ts.map +1 -0
  1337. package/node_modules/balanced-match/dist/esm/index.js +54 -0
  1338. package/node_modules/balanced-match/dist/esm/index.js.map +1 -0
  1339. package/node_modules/balanced-match/dist/esm/package.json +3 -0
  1340. package/node_modules/balanced-match/package.json +68 -0
  1341. package/node_modules/brace-expansion/LICENSE +23 -0
  1342. package/node_modules/brace-expansion/README.md +94 -0
  1343. package/node_modules/brace-expansion/dist/commonjs/index.d.ts +6 -0
  1344. package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
  1345. package/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
  1346. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
  1347. package/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  1348. package/node_modules/brace-expansion/dist/esm/index.d.ts +6 -0
  1349. package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -0
  1350. package/node_modules/brace-expansion/dist/esm/index.js +197 -0
  1351. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
  1352. package/node_modules/brace-expansion/dist/esm/package.json +3 -0
  1353. package/node_modules/brace-expansion/package.json +64 -0
  1354. package/node_modules/content-disposition/LICENSE +22 -0
  1355. package/node_modules/content-disposition/README.md +141 -0
  1356. package/node_modules/content-disposition/index.js +536 -0
  1357. package/node_modules/content-disposition/package.json +40 -0
  1358. package/node_modules/cookie/LICENSE +24 -0
  1359. package/node_modules/cookie/README.md +295 -0
  1360. package/node_modules/cookie/dist/index.d.ts +148 -0
  1361. package/node_modules/cookie/dist/index.js +350 -0
  1362. package/node_modules/cookie/dist/index.js.map +1 -0
  1363. package/node_modules/cookie/package.json +47 -0
  1364. package/node_modules/depd/History.md +103 -0
  1365. package/node_modules/depd/LICENSE +22 -0
  1366. package/node_modules/depd/Readme.md +280 -0
  1367. package/node_modules/depd/index.js +538 -0
  1368. package/node_modules/depd/lib/browser/index.js +77 -0
  1369. package/node_modules/depd/package.json +45 -0
  1370. package/node_modules/dequal/dist/index.js +86 -0
  1371. package/node_modules/dequal/dist/index.min.js +1 -0
  1372. package/node_modules/dequal/dist/index.mjs +84 -0
  1373. package/node_modules/dequal/index.d.ts +1 -0
  1374. package/node_modules/dequal/license +21 -0
  1375. package/node_modules/dequal/lite/index.d.ts +1 -0
  1376. package/node_modules/dequal/lite/index.js +31 -0
  1377. package/node_modules/dequal/lite/index.min.js +1 -0
  1378. package/node_modules/dequal/lite/index.mjs +29 -0
  1379. package/node_modules/dequal/package.json +57 -0
  1380. package/node_modules/dequal/readme.md +112 -0
  1381. package/node_modules/escape-html/LICENSE +24 -0
  1382. package/node_modules/escape-html/Readme.md +43 -0
  1383. package/node_modules/escape-html/index.js +78 -0
  1384. package/node_modules/escape-html/package.json +24 -0
  1385. package/node_modules/fast-decode-uri-component/.travis.yml +12 -0
  1386. package/node_modules/fast-decode-uri-component/LICENSE +23 -0
  1387. package/node_modules/fast-decode-uri-component/README.md +43 -0
  1388. package/node_modules/fast-decode-uri-component/bench.js +35 -0
  1389. package/node_modules/fast-decode-uri-component/index.js +115 -0
  1390. package/node_modules/fast-decode-uri-component/package.json +33 -0
  1391. package/node_modules/fast-decode-uri-component/test.js +32 -0
  1392. package/node_modules/fast-deep-equal/LICENSE +21 -0
  1393. package/node_modules/fast-deep-equal/README.md +96 -0
  1394. package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  1395. package/node_modules/fast-deep-equal/es6/index.js +72 -0
  1396. package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  1397. package/node_modules/fast-deep-equal/es6/react.js +79 -0
  1398. package/node_modules/fast-deep-equal/index.d.ts +4 -0
  1399. package/node_modules/fast-deep-equal/index.js +46 -0
  1400. package/node_modules/fast-deep-equal/package.json +61 -0
  1401. package/node_modules/fast-deep-equal/react.d.ts +2 -0
  1402. package/node_modules/fast-deep-equal/react.js +53 -0
  1403. package/node_modules/fast-json-stringify/.gitattributes +2 -0
  1404. package/node_modules/fast-json-stringify/.github/dependabot.yml +13 -0
  1405. package/node_modules/fast-json-stringify/.github/workflows/ci.yml +33 -0
  1406. package/node_modules/fast-json-stringify/.github/workflows/lock-threads.yml +19 -0
  1407. package/node_modules/fast-json-stringify/LICENSE +22 -0
  1408. package/node_modules/fast-json-stringify/README.md +742 -0
  1409. package/node_modules/fast-json-stringify/benchmark/bench-cmp-branch.js +116 -0
  1410. package/node_modules/fast-json-stringify/benchmark/bench-cmp-lib.js +339 -0
  1411. package/node_modules/fast-json-stringify/benchmark/bench-thread.js +33 -0
  1412. package/node_modules/fast-json-stringify/benchmark/bench.js +391 -0
  1413. package/node_modules/fast-json-stringify/build/build-schema-validator.js +26 -0
  1414. package/node_modules/fast-json-stringify/eslint.config.js +9 -0
  1415. package/node_modules/fast-json-stringify/examples/example.js +81 -0
  1416. package/node_modules/fast-json-stringify/examples/server.js +42 -0
  1417. package/node_modules/fast-json-stringify/index.js +1312 -0
  1418. package/node_modules/fast-json-stringify/lib/location.js +24 -0
  1419. package/node_modules/fast-json-stringify/lib/merge-schemas.js +9 -0
  1420. package/node_modules/fast-json-stringify/lib/schema-validator.js +1134 -0
  1421. package/node_modules/fast-json-stringify/lib/serializer.js +141 -0
  1422. package/node_modules/fast-json-stringify/lib/standalone.js +34 -0
  1423. package/node_modules/fast-json-stringify/lib/validator.js +96 -0
  1424. package/node_modules/fast-json-stringify/package.json +89 -0
  1425. package/node_modules/fast-json-stringify/test/additionalProperties.test.js +332 -0
  1426. package/node_modules/fast-json-stringify/test/allof.test.js +751 -0
  1427. package/node_modules/fast-json-stringify/test/any.test.js +231 -0
  1428. package/node_modules/fast-json-stringify/test/anyof.test.js +812 -0
  1429. package/node_modules/fast-json-stringify/test/array.test.js +688 -0
  1430. package/node_modules/fast-json-stringify/test/asNumber.test.js +13 -0
  1431. package/node_modules/fast-json-stringify/test/basic.test.js +400 -0
  1432. package/node_modules/fast-json-stringify/test/bigint.test.js +76 -0
  1433. package/node_modules/fast-json-stringify/test/clean-cache.test.js +47 -0
  1434. package/node_modules/fast-json-stringify/test/const.test.js +314 -0
  1435. package/node_modules/fast-json-stringify/test/date.test.js +639 -0
  1436. package/node_modules/fast-json-stringify/test/debug-mode.test.js +142 -0
  1437. package/node_modules/fast-json-stringify/test/defaults.test.js +376 -0
  1438. package/node_modules/fast-json-stringify/test/enum.test.js +37 -0
  1439. package/node_modules/fast-json-stringify/test/fix-604.test.js +25 -0
  1440. package/node_modules/fast-json-stringify/test/fixtures/.keep +0 -0
  1441. package/node_modules/fast-json-stringify/test/if-then-else.test.js +540 -0
  1442. package/node_modules/fast-json-stringify/test/inferType.test.js +92 -0
  1443. package/node_modules/fast-json-stringify/test/infinity.test.js +55 -0
  1444. package/node_modules/fast-json-stringify/test/integer.test.js +194 -0
  1445. package/node_modules/fast-json-stringify/test/invalidSchema.test.js +38 -0
  1446. package/node_modules/fast-json-stringify/test/issue-479.test.js +57 -0
  1447. package/node_modules/fast-json-stringify/test/issue-793.test.js +107 -0
  1448. package/node_modules/fast-json-stringify/test/issue-794.test.js +177 -0
  1449. package/node_modules/fast-json-stringify/test/issue-836.test.js +183 -0
  1450. package/node_modules/fast-json-stringify/test/json-add-comma.test.js +57 -0
  1451. package/node_modules/fast-json-stringify/test/json-schema-test-suite/README.md +10 -0
  1452. package/node_modules/fast-json-stringify/test/json-schema-test-suite/draft4/required.json +54 -0
  1453. package/node_modules/fast-json-stringify/test/json-schema-test-suite/draft4.test.js +12 -0
  1454. package/node_modules/fast-json-stringify/test/json-schema-test-suite/draft6/required.json +70 -0
  1455. package/node_modules/fast-json-stringify/test/json-schema-test-suite/draft6.test.js +12 -0
  1456. package/node_modules/fast-json-stringify/test/json-schema-test-suite/draft7/required.json +70 -0
  1457. package/node_modules/fast-json-stringify/test/json-schema-test-suite/draft7.test.js +12 -0
  1458. package/node_modules/fast-json-stringify/test/json-schema-test-suite/util.js +31 -0
  1459. package/node_modules/fast-json-stringify/test/missing-values.test.js +88 -0
  1460. package/node_modules/fast-json-stringify/test/multi-type-serializer.test.js +19 -0
  1461. package/node_modules/fast-json-stringify/test/nestedObjects.test.js +63 -0
  1462. package/node_modules/fast-json-stringify/test/nullable.test.js +543 -0
  1463. package/node_modules/fast-json-stringify/test/oneof.test.js +510 -0
  1464. package/node_modules/fast-json-stringify/test/patternProperties.test.js +168 -0
  1465. package/node_modules/fast-json-stringify/test/recursion.test.js +245 -0
  1466. package/node_modules/fast-json-stringify/test/ref.json +12 -0
  1467. package/node_modules/fast-json-stringify/test/ref.test.js +2077 -0
  1468. package/node_modules/fast-json-stringify/test/regex.test.js +32 -0
  1469. package/node_modules/fast-json-stringify/test/required.test.js +204 -0
  1470. package/node_modules/fast-json-stringify/test/requiresAjv.test.js +50 -0
  1471. package/node_modules/fast-json-stringify/test/sanitize.test.js +141 -0
  1472. package/node_modules/fast-json-stringify/test/sanitize2.test.js +18 -0
  1473. package/node_modules/fast-json-stringify/test/sanitize3.test.js +17 -0
  1474. package/node_modules/fast-json-stringify/test/sanitize4.test.js +16 -0
  1475. package/node_modules/fast-json-stringify/test/sanitize5.test.js +16 -0
  1476. package/node_modules/fast-json-stringify/test/sanitize6.test.js +22 -0
  1477. package/node_modules/fast-json-stringify/test/sanitize7.test.js +68 -0
  1478. package/node_modules/fast-json-stringify/test/side-effect.test.js +196 -0
  1479. package/node_modules/fast-json-stringify/test/standalone-mode.test.js +219 -0
  1480. package/node_modules/fast-json-stringify/test/string.test.js +84 -0
  1481. package/node_modules/fast-json-stringify/test/surrogate.test.js +67 -0
  1482. package/node_modules/fast-json-stringify/test/toJSON.test.js +203 -0
  1483. package/node_modules/fast-json-stringify/test/typebox.test.js +36 -0
  1484. package/node_modules/fast-json-stringify/test/typesArray.test.js +550 -0
  1485. package/node_modules/fast-json-stringify/test/unknownFormats.test.js +27 -0
  1486. package/node_modules/fast-json-stringify/test/webpack.test.js +50 -0
  1487. package/node_modules/fast-json-stringify/types/index.d.ts +231 -0
  1488. package/node_modules/fast-json-stringify/types/index.tst.ts +259 -0
  1489. package/node_modules/fast-querystring/LICENSE +25 -0
  1490. package/node_modules/fast-querystring/README.md +114 -0
  1491. package/node_modules/fast-querystring/lib/index.d.ts +14 -0
  1492. package/node_modules/fast-querystring/lib/index.js +20 -0
  1493. package/node_modules/fast-querystring/lib/internals/querystring.js +96 -0
  1494. package/node_modules/fast-querystring/lib/parse.js +126 -0
  1495. package/node_modules/fast-querystring/lib/stringify.js +69 -0
  1496. package/node_modules/fast-querystring/package.json +56 -0
  1497. package/node_modules/fast-uri/.gitattributes +2 -0
  1498. package/node_modules/fast-uri/.github/dependabot.yml +13 -0
  1499. package/node_modules/fast-uri/.github/workflows/ci.yml +106 -0
  1500. package/node_modules/fast-uri/.github/workflows/lock-threads.yml +19 -0
  1501. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
  1502. package/node_modules/fast-uri/LICENSE +30 -0
  1503. package/node_modules/fast-uri/README.md +152 -0
  1504. package/node_modules/fast-uri/benchmark/benchmark.mjs +159 -0
  1505. package/node_modules/fast-uri/benchmark/equal.mjs +51 -0
  1506. package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +22 -0
  1507. package/node_modules/fast-uri/benchmark/package.json +17 -0
  1508. package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +24 -0
  1509. package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +65 -0
  1510. package/node_modules/fast-uri/eslint.config.js +6 -0
  1511. package/node_modules/fast-uri/index.js +406 -0
  1512. package/node_modules/fast-uri/lib/schemes.js +267 -0
  1513. package/node_modules/fast-uri/lib/utils.js +443 -0
  1514. package/node_modules/fast-uri/package.json +68 -0
  1515. package/node_modules/fast-uri/test/ajv.test.js +43 -0
  1516. package/node_modules/fast-uri/test/equal.test.js +117 -0
  1517. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +501 -0
  1518. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +120 -0
  1519. package/node_modules/fast-uri/test/parse.test.js +323 -0
  1520. package/node_modules/fast-uri/test/resolve.test.js +87 -0
  1521. package/node_modules/fast-uri/test/rfc-3986.test.js +90 -0
  1522. package/node_modules/fast-uri/test/security-normalization.test.js +39 -0
  1523. package/node_modules/fast-uri/test/security.test.js +133 -0
  1524. package/node_modules/fast-uri/test/serialize.test.js +151 -0
  1525. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +33 -0
  1526. package/node_modules/fast-uri/test/uri-js.test.js +912 -0
  1527. package/node_modules/fast-uri/test/util.test.js +38 -0
  1528. package/node_modules/fast-uri/tsconfig.json +9 -0
  1529. package/node_modules/fast-uri/types/index.d.ts +60 -0
  1530. package/node_modules/fast-uri/types/index.test-d.ts +17 -0
  1531. package/node_modules/fastify/.borp.yaml +3 -0
  1532. package/node_modules/fastify/.markdownlint-cli2.yaml +22 -0
  1533. package/node_modules/fastify/.prettierignore +1 -0
  1534. package/node_modules/fastify/GOVERNANCE.md +4 -0
  1535. package/node_modules/fastify/LICENSE +21 -0
  1536. package/node_modules/fastify/PROJECT_CHARTER.md +126 -0
  1537. package/node_modules/fastify/README.md +423 -0
  1538. package/node_modules/fastify/SECURITY.md +220 -0
  1539. package/node_modules/fastify/SPONSORS.md +24 -0
  1540. package/node_modules/fastify/build/build-error-serializer.js +35 -0
  1541. package/node_modules/fastify/build/build-validation.js +169 -0
  1542. package/node_modules/fastify/build/sync-version.js +11 -0
  1543. package/node_modules/fastify/docs/Guides/Benchmarking.md +60 -0
  1544. package/node_modules/fastify/docs/Guides/Database.md +321 -0
  1545. package/node_modules/fastify/docs/Guides/Delay-Accepting-Requests.md +608 -0
  1546. package/node_modules/fastify/docs/Guides/Detecting-When-Clients-Abort.md +172 -0
  1547. package/node_modules/fastify/docs/Guides/Ecosystem.md +730 -0
  1548. package/node_modules/fastify/docs/Guides/Fluent-Schema.md +127 -0
  1549. package/node_modules/fastify/docs/Guides/Getting-Started.md +620 -0
  1550. package/node_modules/fastify/docs/Guides/Index.md +43 -0
  1551. package/node_modules/fastify/docs/Guides/Migration-Guide-V3.md +287 -0
  1552. package/node_modules/fastify/docs/Guides/Migration-Guide-V4.md +267 -0
  1553. package/node_modules/fastify/docs/Guides/Migration-Guide-V5.md +727 -0
  1554. package/node_modules/fastify/docs/Guides/Plugins-Guide.md +520 -0
  1555. package/node_modules/fastify/docs/Guides/Prototype-Poisoning.md +383 -0
  1556. package/node_modules/fastify/docs/Guides/Recommendations.md +378 -0
  1557. package/node_modules/fastify/docs/Guides/Serverless.md +604 -0
  1558. package/node_modules/fastify/docs/Guides/Style-Guide.md +246 -0
  1559. package/node_modules/fastify/docs/Guides/Testing.md +481 -0
  1560. package/node_modules/fastify/docs/Guides/Write-Plugin.md +103 -0
  1561. package/node_modules/fastify/docs/Guides/Write-Type-Provider.md +34 -0
  1562. package/node_modules/fastify/docs/Reference/ContentTypeParser.md +271 -0
  1563. package/node_modules/fastify/docs/Reference/Decorators.md +436 -0
  1564. package/node_modules/fastify/docs/Reference/Encapsulation.md +194 -0
  1565. package/node_modules/fastify/docs/Reference/Errors.md +377 -0
  1566. package/node_modules/fastify/docs/Reference/HTTP2.md +94 -0
  1567. package/node_modules/fastify/docs/Reference/Hooks.md +958 -0
  1568. package/node_modules/fastify/docs/Reference/Index.md +73 -0
  1569. package/node_modules/fastify/docs/Reference/LTS.md +86 -0
  1570. package/node_modules/fastify/docs/Reference/Lifecycle.md +99 -0
  1571. package/node_modules/fastify/docs/Reference/Logging.md +268 -0
  1572. package/node_modules/fastify/docs/Reference/Middleware.md +79 -0
  1573. package/node_modules/fastify/docs/Reference/Plugins.md +245 -0
  1574. package/node_modules/fastify/docs/Reference/Principles.md +73 -0
  1575. package/node_modules/fastify/docs/Reference/Reply.md +1001 -0
  1576. package/node_modules/fastify/docs/Reference/Request.md +295 -0
  1577. package/node_modules/fastify/docs/Reference/Routes.md +802 -0
  1578. package/node_modules/fastify/docs/Reference/Server.md +2389 -0
  1579. package/node_modules/fastify/docs/Reference/Type-Providers.md +256 -0
  1580. package/node_modules/fastify/docs/Reference/TypeScript.md +1729 -0
  1581. package/node_modules/fastify/docs/Reference/Validation-and-Serialization.md +1130 -0
  1582. package/node_modules/fastify/docs/Reference/Warnings.md +58 -0
  1583. package/node_modules/fastify/docs/index.md +24 -0
  1584. package/node_modules/fastify/docs/resources/encapsulation_context.drawio +1 -0
  1585. package/node_modules/fastify/docs/resources/encapsulation_context.svg +3 -0
  1586. package/node_modules/fastify/eslint.config.js +35 -0
  1587. package/node_modules/fastify/examples/asyncawait.js +38 -0
  1588. package/node_modules/fastify/examples/benchmark/body.json +3 -0
  1589. package/node_modules/fastify/examples/benchmark/hooks-benchmark-async-await.js +44 -0
  1590. package/node_modules/fastify/examples/benchmark/hooks-benchmark.js +52 -0
  1591. package/node_modules/fastify/examples/benchmark/parser.js +47 -0
  1592. package/node_modules/fastify/examples/benchmark/simple.js +30 -0
  1593. package/node_modules/fastify/examples/benchmark/webstream.js +27 -0
  1594. package/node_modules/fastify/examples/hooks.js +91 -0
  1595. package/node_modules/fastify/examples/http2.js +39 -0
  1596. package/node_modules/fastify/examples/https.js +38 -0
  1597. package/node_modules/fastify/examples/parser.js +53 -0
  1598. package/node_modules/fastify/examples/plugin.js +12 -0
  1599. package/node_modules/fastify/examples/route-prefix.js +38 -0
  1600. package/node_modules/fastify/examples/shared-schema.js +38 -0
  1601. package/node_modules/fastify/examples/simple-stream.js +20 -0
  1602. package/node_modules/fastify/examples/simple.js +32 -0
  1603. package/node_modules/fastify/examples/simple.mjs +27 -0
  1604. package/node_modules/fastify/examples/typescript-server.ts +79 -0
  1605. package/node_modules/fastify/examples/use-plugin.js +29 -0
  1606. package/node_modules/fastify/fastify.d.ts +253 -0
  1607. package/node_modules/fastify/fastify.js +985 -0
  1608. package/node_modules/fastify/integration/server.js +29 -0
  1609. package/node_modules/fastify/integration/test.sh +23 -0
  1610. package/node_modules/fastify/lib/config-validator.js +1266 -0
  1611. package/node_modules/fastify/lib/content-type-parser.js +413 -0
  1612. package/node_modules/fastify/lib/content-type.js +160 -0
  1613. package/node_modules/fastify/lib/context.js +98 -0
  1614. package/node_modules/fastify/lib/decorate.js +152 -0
  1615. package/node_modules/fastify/lib/error-handler.js +173 -0
  1616. package/node_modules/fastify/lib/error-serializer.js +134 -0
  1617. package/node_modules/fastify/lib/error-status.js +14 -0
  1618. package/node_modules/fastify/lib/errors.js +516 -0
  1619. package/node_modules/fastify/lib/four-oh-four.js +190 -0
  1620. package/node_modules/fastify/lib/handle-request.js +195 -0
  1621. package/node_modules/fastify/lib/head-route.js +45 -0
  1622. package/node_modules/fastify/lib/hooks.js +429 -0
  1623. package/node_modules/fastify/lib/initial-config-validation.js +37 -0
  1624. package/node_modules/fastify/lib/logger-factory.js +136 -0
  1625. package/node_modules/fastify/lib/logger-pino.js +68 -0
  1626. package/node_modules/fastify/lib/noop-set.js +10 -0
  1627. package/node_modules/fastify/lib/plugin-override.js +90 -0
  1628. package/node_modules/fastify/lib/plugin-utils.js +169 -0
  1629. package/node_modules/fastify/lib/promise.js +23 -0
  1630. package/node_modules/fastify/lib/reply.js +1030 -0
  1631. package/node_modules/fastify/lib/req-id-gen-factory.js +52 -0
  1632. package/node_modules/fastify/lib/request.js +387 -0
  1633. package/node_modules/fastify/lib/route.js +686 -0
  1634. package/node_modules/fastify/lib/schema-controller.js +164 -0
  1635. package/node_modules/fastify/lib/schemas.js +207 -0
  1636. package/node_modules/fastify/lib/server.js +441 -0
  1637. package/node_modules/fastify/lib/symbols.js +71 -0
  1638. package/node_modules/fastify/lib/validation.js +280 -0
  1639. package/node_modules/fastify/lib/warnings.js +57 -0
  1640. package/node_modules/fastify/lib/wrap-thenable.js +84 -0
  1641. package/node_modules/fastify/package.json +225 -0
  1642. package/node_modules/fastify/scripts/validate-ecosystem-links.js +179 -0
  1643. package/node_modules/fastify/test/404s.test.js +2035 -0
  1644. package/node_modules/fastify/test/500s.test.js +422 -0
  1645. package/node_modules/fastify/test/allow-unsafe-regex.test.js +92 -0
  1646. package/node_modules/fastify/test/als.test.js +65 -0
  1647. package/node_modules/fastify/test/async-await.test.js +705 -0
  1648. package/node_modules/fastify/test/async-dispose.test.js +20 -0
  1649. package/node_modules/fastify/test/async_hooks.test.js +52 -0
  1650. package/node_modules/fastify/test/body-limit.test.js +224 -0
  1651. package/node_modules/fastify/test/buffer.test.js +74 -0
  1652. package/node_modules/fastify/test/build/error-serializer.test.js +36 -0
  1653. package/node_modules/fastify/test/build/version.test.js +14 -0
  1654. package/node_modules/fastify/test/build-certificate.js +109 -0
  1655. package/node_modules/fastify/test/bundler/README.md +29 -0
  1656. package/node_modules/fastify/test/bundler/esbuild/bundler-test.js +32 -0
  1657. package/node_modules/fastify/test/bundler/esbuild/package.json +10 -0
  1658. package/node_modules/fastify/test/bundler/esbuild/src/fail-plugin-version.js +14 -0
  1659. package/node_modules/fastify/test/bundler/esbuild/src/index.js +9 -0
  1660. package/node_modules/fastify/test/bundler/webpack/bundler-test.js +32 -0
  1661. package/node_modules/fastify/test/bundler/webpack/package.json +11 -0
  1662. package/node_modules/fastify/test/bundler/webpack/src/fail-plugin-version.js +14 -0
  1663. package/node_modules/fastify/test/bundler/webpack/src/index.js +9 -0
  1664. package/node_modules/fastify/test/bundler/webpack/webpack.config.js +15 -0
  1665. package/node_modules/fastify/test/case-insensitive.test.js +102 -0
  1666. package/node_modules/fastify/test/chainable.test.js +40 -0
  1667. package/node_modules/fastify/test/child-logger-factory.test.js +128 -0
  1668. package/node_modules/fastify/test/client-timeout.test.js +38 -0
  1669. package/node_modules/fastify/test/close-pipelining.test.js +78 -0
  1670. package/node_modules/fastify/test/close.test.js +706 -0
  1671. package/node_modules/fastify/test/conditional-pino.test.js +47 -0
  1672. package/node_modules/fastify/test/connection-timeout.test.js +42 -0
  1673. package/node_modules/fastify/test/constrained-routes.test.js +1138 -0
  1674. package/node_modules/fastify/test/content-length.test.js +174 -0
  1675. package/node_modules/fastify/test/content-parser.test.js +739 -0
  1676. package/node_modules/fastify/test/content-type.test.js +181 -0
  1677. package/node_modules/fastify/test/context-config.test.js +164 -0
  1678. package/node_modules/fastify/test/custom-http-server.test.js +118 -0
  1679. package/node_modules/fastify/test/custom-parser-async.test.js +59 -0
  1680. package/node_modules/fastify/test/custom-parser.0.test.js +701 -0
  1681. package/node_modules/fastify/test/custom-parser.1.test.js +266 -0
  1682. package/node_modules/fastify/test/custom-parser.2.test.js +91 -0
  1683. package/node_modules/fastify/test/custom-parser.3.test.js +208 -0
  1684. package/node_modules/fastify/test/custom-parser.4.test.js +218 -0
  1685. package/node_modules/fastify/test/custom-parser.5.test.js +130 -0
  1686. package/node_modules/fastify/test/custom-querystring-parser.test.js +129 -0
  1687. package/node_modules/fastify/test/decorator.test.js +1330 -0
  1688. package/node_modules/fastify/test/delete.test.js +344 -0
  1689. package/node_modules/fastify/test/diagnostics-channel/404.test.js +49 -0
  1690. package/node_modules/fastify/test/diagnostics-channel/async-delay-request.test.js +65 -0
  1691. package/node_modules/fastify/test/diagnostics-channel/async-request.test.js +64 -0
  1692. package/node_modules/fastify/test/diagnostics-channel/error-before-handler.test.js +35 -0
  1693. package/node_modules/fastify/test/diagnostics-channel/error-request.test.js +53 -0
  1694. package/node_modules/fastify/test/diagnostics-channel/error-status.test.js +123 -0
  1695. package/node_modules/fastify/test/diagnostics-channel/init.test.js +50 -0
  1696. package/node_modules/fastify/test/diagnostics-channel/sync-delay-request.test.js +49 -0
  1697. package/node_modules/fastify/test/diagnostics-channel/sync-request-reply.test.js +51 -0
  1698. package/node_modules/fastify/test/diagnostics-channel/sync-request.test.js +54 -0
  1699. package/node_modules/fastify/test/encapsulated-child-logger-factory.test.js +69 -0
  1700. package/node_modules/fastify/test/encapsulated-error-handler.test.js +237 -0
  1701. package/node_modules/fastify/test/esm/errorCodes.test.mjs +10 -0
  1702. package/node_modules/fastify/test/esm/esm.test.mjs +13 -0
  1703. package/node_modules/fastify/test/esm/index.test.js +8 -0
  1704. package/node_modules/fastify/test/esm/named-exports.mjs +14 -0
  1705. package/node_modules/fastify/test/esm/other.mjs +8 -0
  1706. package/node_modules/fastify/test/esm/plugin.mjs +8 -0
  1707. package/node_modules/fastify/test/fastify-instance.test.js +300 -0
  1708. package/node_modules/fastify/test/find-route.test.js +152 -0
  1709. package/node_modules/fastify/test/fluent-schema.test.js +209 -0
  1710. package/node_modules/fastify/test/genReqId.test.js +426 -0
  1711. package/node_modules/fastify/test/handler-context.test.js +45 -0
  1712. package/node_modules/fastify/test/handler-timeout.test.js +367 -0
  1713. package/node_modules/fastify/test/has-route.test.js +88 -0
  1714. package/node_modules/fastify/test/header-overflow.test.js +55 -0
  1715. package/node_modules/fastify/test/helper.js +496 -0
  1716. package/node_modules/fastify/test/hooks-async.test.js +1099 -0
  1717. package/node_modules/fastify/test/hooks.on-listen.test.js +1162 -0
  1718. package/node_modules/fastify/test/hooks.on-ready.test.js +421 -0
  1719. package/node_modules/fastify/test/hooks.test.js +3578 -0
  1720. package/node_modules/fastify/test/http-methods/copy.test.js +35 -0
  1721. package/node_modules/fastify/test/http-methods/custom-http-methods.test.js +114 -0
  1722. package/node_modules/fastify/test/http-methods/get.test.js +412 -0
  1723. package/node_modules/fastify/test/http-methods/head.test.js +263 -0
  1724. package/node_modules/fastify/test/http-methods/lock.test.js +108 -0
  1725. package/node_modules/fastify/test/http-methods/mkcalendar.test.js +143 -0
  1726. package/node_modules/fastify/test/http-methods/mkcol.test.js +35 -0
  1727. package/node_modules/fastify/test/http-methods/move.test.js +42 -0
  1728. package/node_modules/fastify/test/http-methods/propfind.test.js +136 -0
  1729. package/node_modules/fastify/test/http-methods/proppatch.test.js +105 -0
  1730. package/node_modules/fastify/test/http-methods/report.test.js +142 -0
  1731. package/node_modules/fastify/test/http-methods/search.test.js +233 -0
  1732. package/node_modules/fastify/test/http-methods/trace.test.js +21 -0
  1733. package/node_modules/fastify/test/http-methods/unlock.test.js +38 -0
  1734. package/node_modules/fastify/test/http2/closing.test.js +270 -0
  1735. package/node_modules/fastify/test/http2/constraint.test.js +109 -0
  1736. package/node_modules/fastify/test/http2/head.test.js +34 -0
  1737. package/node_modules/fastify/test/http2/plain.test.js +68 -0
  1738. package/node_modules/fastify/test/http2/secure-with-fallback.test.js +113 -0
  1739. package/node_modules/fastify/test/http2/secure.test.js +67 -0
  1740. package/node_modules/fastify/test/http2/unknown-http-method.test.js +34 -0
  1741. package/node_modules/fastify/test/https/custom-https-server.test.js +58 -0
  1742. package/node_modules/fastify/test/https/https.test.js +136 -0
  1743. package/node_modules/fastify/test/imports.test.js +17 -0
  1744. package/node_modules/fastify/test/inject.test.js +502 -0
  1745. package/node_modules/fastify/test/input-validation.js +335 -0
  1746. package/node_modules/fastify/test/internals/all.test.js +38 -0
  1747. package/node_modules/fastify/test/internals/content-type-parser.test.js +111 -0
  1748. package/node_modules/fastify/test/internals/context.test.js +31 -0
  1749. package/node_modules/fastify/test/internals/decorator.test.js +156 -0
  1750. package/node_modules/fastify/test/internals/errors.test.js +982 -0
  1751. package/node_modules/fastify/test/internals/handle-request.test.js +270 -0
  1752. package/node_modules/fastify/test/internals/hook-runner.test.js +449 -0
  1753. package/node_modules/fastify/test/internals/hooks.test.js +96 -0
  1754. package/node_modules/fastify/test/internals/initial-config.test.js +383 -0
  1755. package/node_modules/fastify/test/internals/logger.test.js +163 -0
  1756. package/node_modules/fastify/test/internals/plugin.test.js +170 -0
  1757. package/node_modules/fastify/test/internals/promise.test.js +63 -0
  1758. package/node_modules/fastify/test/internals/reply-serialize.test.js +714 -0
  1759. package/node_modules/fastify/test/internals/reply.test.js +1920 -0
  1760. package/node_modules/fastify/test/internals/req-id-gen-factory.test.js +133 -0
  1761. package/node_modules/fastify/test/internals/request-validate.test.js +1402 -0
  1762. package/node_modules/fastify/test/internals/request.test.js +506 -0
  1763. package/node_modules/fastify/test/internals/schema-controller-perf.test.js +40 -0
  1764. package/node_modules/fastify/test/internals/server.test.js +91 -0
  1765. package/node_modules/fastify/test/internals/validation.test.js +352 -0
  1766. package/node_modules/fastify/test/issue-4959.test.js +118 -0
  1767. package/node_modules/fastify/test/keep-alive-timeout.test.js +42 -0
  1768. package/node_modules/fastify/test/listen.1.test.js +154 -0
  1769. package/node_modules/fastify/test/listen.2.test.js +113 -0
  1770. package/node_modules/fastify/test/listen.3.test.js +83 -0
  1771. package/node_modules/fastify/test/listen.4.test.js +168 -0
  1772. package/node_modules/fastify/test/listen.5.test.js +122 -0
  1773. package/node_modules/fastify/test/logger/instantiation.test.js +341 -0
  1774. package/node_modules/fastify/test/logger/logger-test-utils.js +47 -0
  1775. package/node_modules/fastify/test/logger/logging.test.js +460 -0
  1776. package/node_modules/fastify/test/logger/options.test.js +579 -0
  1777. package/node_modules/fastify/test/logger/request.test.js +292 -0
  1778. package/node_modules/fastify/test/logger/response.test.js +183 -0
  1779. package/node_modules/fastify/test/logger/tap-parallel-not-ok +0 -0
  1780. package/node_modules/fastify/test/max-requests-per-socket.test.js +113 -0
  1781. package/node_modules/fastify/test/middleware.test.js +37 -0
  1782. package/node_modules/fastify/test/noop-set.test.js +19 -0
  1783. package/node_modules/fastify/test/nullable-validation.test.js +187 -0
  1784. package/node_modules/fastify/test/options.error-handler.test.js +5 -0
  1785. package/node_modules/fastify/test/options.test.js +5 -0
  1786. package/node_modules/fastify/test/output-validation.test.js +140 -0
  1787. package/node_modules/fastify/test/patch.error-handler.test.js +5 -0
  1788. package/node_modules/fastify/test/patch.test.js +5 -0
  1789. package/node_modules/fastify/test/plugin.1.test.js +230 -0
  1790. package/node_modules/fastify/test/plugin.2.test.js +314 -0
  1791. package/node_modules/fastify/test/plugin.3.test.js +287 -0
  1792. package/node_modules/fastify/test/plugin.4.test.js +504 -0
  1793. package/node_modules/fastify/test/plugin.helper.js +8 -0
  1794. package/node_modules/fastify/test/plugin.name.display.js +10 -0
  1795. package/node_modules/fastify/test/post-empty-body.test.js +38 -0
  1796. package/node_modules/fastify/test/pretty-print.test.js +366 -0
  1797. package/node_modules/fastify/test/promises.test.js +125 -0
  1798. package/node_modules/fastify/test/proto-poisoning.test.js +145 -0
  1799. package/node_modules/fastify/test/put.error-handler.test.js +5 -0
  1800. package/node_modules/fastify/test/put.test.js +5 -0
  1801. package/node_modules/fastify/test/register.test.js +184 -0
  1802. package/node_modules/fastify/test/reply-code.test.js +148 -0
  1803. package/node_modules/fastify/test/reply-early-hints.test.js +100 -0
  1804. package/node_modules/fastify/test/reply-error.test.js +815 -0
  1805. package/node_modules/fastify/test/reply-trailers.test.js +445 -0
  1806. package/node_modules/fastify/test/reply-web-stream-locked.test.js +37 -0
  1807. package/node_modules/fastify/test/request-error.test.js +624 -0
  1808. package/node_modules/fastify/test/request-header-host.test.js +339 -0
  1809. package/node_modules/fastify/test/request-id.test.js +118 -0
  1810. package/node_modules/fastify/test/request-port.test.js +72 -0
  1811. package/node_modules/fastify/test/request-timeout.test.js +53 -0
  1812. package/node_modules/fastify/test/route-hooks.test.js +635 -0
  1813. package/node_modules/fastify/test/route-prefix.test.js +904 -0
  1814. package/node_modules/fastify/test/route-shorthand.test.js +48 -0
  1815. package/node_modules/fastify/test/route.1.test.js +259 -0
  1816. package/node_modules/fastify/test/route.2.test.js +100 -0
  1817. package/node_modules/fastify/test/route.3.test.js +213 -0
  1818. package/node_modules/fastify/test/route.4.test.js +127 -0
  1819. package/node_modules/fastify/test/route.5.test.js +211 -0
  1820. package/node_modules/fastify/test/route.6.test.js +306 -0
  1821. package/node_modules/fastify/test/route.7.test.js +406 -0
  1822. package/node_modules/fastify/test/route.8.test.js +225 -0
  1823. package/node_modules/fastify/test/router-options.test.js +1108 -0
  1824. package/node_modules/fastify/test/same-shape.test.js +124 -0
  1825. package/node_modules/fastify/test/schema-examples.test.js +661 -0
  1826. package/node_modules/fastify/test/schema-feature.test.js +2198 -0
  1827. package/node_modules/fastify/test/schema-serialization.test.js +1171 -0
  1828. package/node_modules/fastify/test/schema-special-usage.test.js +1348 -0
  1829. package/node_modules/fastify/test/schema-validation.test.js +1593 -0
  1830. package/node_modules/fastify/test/scripts/validate-ecosystem-links.test.js +339 -0
  1831. package/node_modules/fastify/test/serialize-response.test.js +186 -0
  1832. package/node_modules/fastify/test/server.test.js +347 -0
  1833. package/node_modules/fastify/test/set-error-handler.test.js +69 -0
  1834. package/node_modules/fastify/test/skip-reply-send.test.js +317 -0
  1835. package/node_modules/fastify/test/stream-serializers.test.js +40 -0
  1836. package/node_modules/fastify/test/stream.1.test.js +94 -0
  1837. package/node_modules/fastify/test/stream.2.test.js +129 -0
  1838. package/node_modules/fastify/test/stream.3.test.js +198 -0
  1839. package/node_modules/fastify/test/stream.4.test.js +176 -0
  1840. package/node_modules/fastify/test/stream.5.test.js +188 -0
  1841. package/node_modules/fastify/test/sync-routes.test.js +32 -0
  1842. package/node_modules/fastify/test/throw.test.js +359 -0
  1843. package/node_modules/fastify/test/toolkit.js +63 -0
  1844. package/node_modules/fastify/test/trust-proxy.test.js +274 -0
  1845. package/node_modules/fastify/test/type-provider.test.js +22 -0
  1846. package/node_modules/fastify/test/types/content-type-parser.test-d.ts +72 -0
  1847. package/node_modules/fastify/test/types/decorate-request-reply.test-d.ts +18 -0
  1848. package/node_modules/fastify/test/types/dummy-plugin.ts +9 -0
  1849. package/node_modules/fastify/test/types/errors.test-d.ts +90 -0
  1850. package/node_modules/fastify/test/types/fastify.test-d.ts +352 -0
  1851. package/node_modules/fastify/test/types/hooks.test-d.ts +550 -0
  1852. package/node_modules/fastify/test/types/import.ts +2 -0
  1853. package/node_modules/fastify/test/types/instance.test-d.ts +588 -0
  1854. package/node_modules/fastify/test/types/logger.test-d.ts +277 -0
  1855. package/node_modules/fastify/test/types/plugin.test-d.ts +97 -0
  1856. package/node_modules/fastify/test/types/register.test-d.ts +237 -0
  1857. package/node_modules/fastify/test/types/reply.test-d.ts +254 -0
  1858. package/node_modules/fastify/test/types/request.test-d.ts +188 -0
  1859. package/node_modules/fastify/test/types/route.test-d.ts +553 -0
  1860. package/node_modules/fastify/test/types/schema.test-d.ts +135 -0
  1861. package/node_modules/fastify/test/types/serverFactory.test-d.ts +37 -0
  1862. package/node_modules/fastify/test/types/type-provider.test-d.ts +1213 -0
  1863. package/node_modules/fastify/test/types/using.test-d.ts +17 -0
  1864. package/node_modules/fastify/test/upgrade.test.js +52 -0
  1865. package/node_modules/fastify/test/url-rewriting.test.js +122 -0
  1866. package/node_modules/fastify/test/use-semicolon-delimiter.test.js +168 -0
  1867. package/node_modules/fastify/test/validation-error-handling.test.js +900 -0
  1868. package/node_modules/fastify/test/versioned-routes.test.js +603 -0
  1869. package/node_modules/fastify/test/web-api.test.js +616 -0
  1870. package/node_modules/fastify/test/wrap-thenable.test.js +30 -0
  1871. package/node_modules/fastify/types/content-type-parser.d.ts +75 -0
  1872. package/node_modules/fastify/types/context.d.ts +22 -0
  1873. package/node_modules/fastify/types/errors.d.ts +92 -0
  1874. package/node_modules/fastify/types/hooks.d.ts +875 -0
  1875. package/node_modules/fastify/types/instance.d.ts +609 -0
  1876. package/node_modules/fastify/types/logger.d.ts +107 -0
  1877. package/node_modules/fastify/types/plugin.d.ts +44 -0
  1878. package/node_modules/fastify/types/register.d.ts +42 -0
  1879. package/node_modules/fastify/types/reply.d.ts +81 -0
  1880. package/node_modules/fastify/types/request.d.ts +95 -0
  1881. package/node_modules/fastify/types/route.d.ts +199 -0
  1882. package/node_modules/fastify/types/schema.d.ts +61 -0
  1883. package/node_modules/fastify/types/server-factory.d.ts +19 -0
  1884. package/node_modules/fastify/types/type-provider.d.ts +130 -0
  1885. package/node_modules/fastify/types/utils.d.ts +98 -0
  1886. package/node_modules/fastify-plugin/.gitattributes +2 -0
  1887. package/node_modules/fastify-plugin/.github/dependabot.yml +13 -0
  1888. package/node_modules/fastify-plugin/.github/stale.yml +21 -0
  1889. package/node_modules/fastify-plugin/.github/workflows/ci.yml +28 -0
  1890. package/node_modules/fastify-plugin/LICENSE +23 -0
  1891. package/node_modules/fastify-plugin/README.md +188 -0
  1892. package/node_modules/fastify-plugin/eslint.config.js +6 -0
  1893. package/node_modules/fastify-plugin/lib/getPluginName.js +25 -0
  1894. package/node_modules/fastify-plugin/lib/toCamelCase.js +10 -0
  1895. package/node_modules/fastify-plugin/package.json +70 -0
  1896. package/node_modules/fastify-plugin/plugin.js +67 -0
  1897. package/node_modules/fastify-plugin/test/bundlers.test.js +110 -0
  1898. package/node_modules/fastify-plugin/test/checkVersion.test.js +67 -0
  1899. package/node_modules/fastify-plugin/test/composite.test.js +14 -0
  1900. package/node_modules/fastify-plugin/test/esm/esm.mjs +11 -0
  1901. package/node_modules/fastify-plugin/test/esm/index.test.js +11 -0
  1902. package/node_modules/fastify-plugin/test/extractPluginName.test.js +49 -0
  1903. package/node_modules/fastify-plugin/test/mu1tip1e.composite.test.js +15 -0
  1904. package/node_modules/fastify-plugin/test/test.js +396 -0
  1905. package/node_modules/fastify-plugin/test/toCamelCase.test.js +24 -0
  1906. package/node_modules/fastify-plugin/types/example-async.test-d.ts +19 -0
  1907. package/node_modules/fastify-plugin/types/example-callback.test-d.ts +19 -0
  1908. package/node_modules/fastify-plugin/types/plugin.d.ts +61 -0
  1909. package/node_modules/fastify-plugin/types/plugin.test-d.ts +166 -0
  1910. package/node_modules/fastq/LICENSE +13 -0
  1911. package/node_modules/fastq/README.md +310 -0
  1912. package/node_modules/fastq/SECURITY.md +15 -0
  1913. package/node_modules/fastq/bench.js +66 -0
  1914. package/node_modules/fastq/eslint.config.js +11 -0
  1915. package/node_modules/fastq/example.js +14 -0
  1916. package/node_modules/fastq/example.mjs +9 -0
  1917. package/node_modules/fastq/index.d.ts +59 -0
  1918. package/node_modules/fastq/package.json +49 -0
  1919. package/node_modules/fastq/queue.js +346 -0
  1920. package/node_modules/fastq/test/example.ts +83 -0
  1921. package/node_modules/fastq/test/promise.js +325 -0
  1922. package/node_modules/fastq/test/test.js +733 -0
  1923. package/node_modules/fastq/test/tsconfig.json +11 -0
  1924. package/node_modules/find-my-way/.github/dependabot.yml +34 -0
  1925. package/node_modules/find-my-way/.github/workflows/node.js.yml +68 -0
  1926. package/node_modules/find-my-way/LICENSE +21 -0
  1927. package/node_modules/find-my-way/README.md +885 -0
  1928. package/node_modules/find-my-way/benchmark/bench-thread.js +35 -0
  1929. package/node_modules/find-my-way/benchmark/bench.js +156 -0
  1930. package/node_modules/find-my-way/benchmark/compare-branches.js +113 -0
  1931. package/node_modules/find-my-way/benchmark/uri-decoding.js +55 -0
  1932. package/node_modules/find-my-way/example.js +29 -0
  1933. package/node_modules/find-my-way/index.d.ts +247 -0
  1934. package/node_modules/find-my-way/index.js +872 -0
  1935. package/node_modules/find-my-way/lib/constrainer.js +172 -0
  1936. package/node_modules/find-my-way/lib/handler-storage.js +175 -0
  1937. package/node_modules/find-my-way/lib/http-methods.js +13 -0
  1938. package/node_modules/find-my-way/lib/node.js +228 -0
  1939. package/node_modules/find-my-way/lib/null-object.js +8 -0
  1940. package/node_modules/find-my-way/lib/pretty-print.js +168 -0
  1941. package/node_modules/find-my-way/lib/strategies/accept-host.js +36 -0
  1942. package/node_modules/find-my-way/lib/strategies/accept-version.js +64 -0
  1943. package/node_modules/find-my-way/lib/strategies/http-method.js +15 -0
  1944. package/node_modules/find-my-way/lib/url-sanitizer.js +105 -0
  1945. package/node_modules/find-my-way/package.json +57 -0
  1946. package/node_modules/find-my-way/test/case-insensitive.test.js +230 -0
  1947. package/node_modules/find-my-way/test/constraint.custom-versioning.test.js +130 -0
  1948. package/node_modules/find-my-way/test/constraint.custom.async.test.js +111 -0
  1949. package/node_modules/find-my-way/test/constraint.custom.test.js +273 -0
  1950. package/node_modules/find-my-way/test/constraint.default-versioning.test.js +289 -0
  1951. package/node_modules/find-my-way/test/constraint.host.test.js +104 -0
  1952. package/node_modules/find-my-way/test/constraints.test.js +108 -0
  1953. package/node_modules/find-my-way/test/custom-querystring-parser.test.js +46 -0
  1954. package/node_modules/find-my-way/test/errors.test.js +484 -0
  1955. package/node_modules/find-my-way/test/fastify-issue-3129.test.js +34 -0
  1956. package/node_modules/find-my-way/test/fastify-issue-3957.test.js +23 -0
  1957. package/node_modules/find-my-way/test/find-route.test.js +275 -0
  1958. package/node_modules/find-my-way/test/find.test.js +16 -0
  1959. package/node_modules/find-my-way/test/for-in-loop.test.js +22 -0
  1960. package/node_modules/find-my-way/test/full-url.test.js +30 -0
  1961. package/node_modules/find-my-way/test/has-route.test.js +218 -0
  1962. package/node_modules/find-my-way/test/host-storage.test.js +27 -0
  1963. package/node_modules/find-my-way/test/http2/constraint.host.test.js +44 -0
  1964. package/node_modules/find-my-way/test/issue-101.test.js +31 -0
  1965. package/node_modules/find-my-way/test/issue-104.test.js +206 -0
  1966. package/node_modules/find-my-way/test/issue-110.test.js +31 -0
  1967. package/node_modules/find-my-way/test/issue-132.test.js +80 -0
  1968. package/node_modules/find-my-way/test/issue-145.test.js +24 -0
  1969. package/node_modules/find-my-way/test/issue-149.test.js +21 -0
  1970. package/node_modules/find-my-way/test/issue-151.test.js +54 -0
  1971. package/node_modules/find-my-way/test/issue-154.test.js +21 -0
  1972. package/node_modules/find-my-way/test/issue-161.test.js +88 -0
  1973. package/node_modules/find-my-way/test/issue-17.test.js +397 -0
  1974. package/node_modules/find-my-way/test/issue-175.test.js +80 -0
  1975. package/node_modules/find-my-way/test/issue-182.test.js +18 -0
  1976. package/node_modules/find-my-way/test/issue-190.test.js +44 -0
  1977. package/node_modules/find-my-way/test/issue-20.test.js +79 -0
  1978. package/node_modules/find-my-way/test/issue-206.test.js +121 -0
  1979. package/node_modules/find-my-way/test/issue-221.test.js +50 -0
  1980. package/node_modules/find-my-way/test/issue-234.test.js +94 -0
  1981. package/node_modules/find-my-way/test/issue-238.test.js +119 -0
  1982. package/node_modules/find-my-way/test/issue-240.test.js +30 -0
  1983. package/node_modules/find-my-way/test/issue-241.test.js +32 -0
  1984. package/node_modules/find-my-way/test/issue-247.test.js +51 -0
  1985. package/node_modules/find-my-way/test/issue-254.test.js +31 -0
  1986. package/node_modules/find-my-way/test/issue-28.test.js +618 -0
  1987. package/node_modules/find-my-way/test/issue-280.test.js +14 -0
  1988. package/node_modules/find-my-way/test/issue-285.test.js +37 -0
  1989. package/node_modules/find-my-way/test/issue-330.test.js +231 -0
  1990. package/node_modules/find-my-way/test/issue-44.test.js +149 -0
  1991. package/node_modules/find-my-way/test/issue-46.test.js +75 -0
  1992. package/node_modules/find-my-way/test/issue-49.test.js +108 -0
  1993. package/node_modules/find-my-way/test/issue-59.test.js +131 -0
  1994. package/node_modules/find-my-way/test/issue-62.test.js +28 -0
  1995. package/node_modules/find-my-way/test/issue-63.test.js +23 -0
  1996. package/node_modules/find-my-way/test/issue-67.test.js +50 -0
  1997. package/node_modules/find-my-way/test/issue-93.test.js +19 -0
  1998. package/node_modules/find-my-way/test/lookup-async.test.js +29 -0
  1999. package/node_modules/find-my-way/test/lookup.test.js +58 -0
  2000. package/node_modules/find-my-way/test/matching-order.test.js +17 -0
  2001. package/node_modules/find-my-way/test/max-param-length.test.js +44 -0
  2002. package/node_modules/find-my-way/test/methods.test.js +830 -0
  2003. package/node_modules/find-my-way/test/null-object.test.js +36 -0
  2004. package/node_modules/find-my-way/test/on-bad-url.test.js +72 -0
  2005. package/node_modules/find-my-way/test/optional-params.test.js +216 -0
  2006. package/node_modules/find-my-way/test/params-collisions.test.js +126 -0
  2007. package/node_modules/find-my-way/test/path-params-match.test.js +53 -0
  2008. package/node_modules/find-my-way/test/path-utils.test.js +68 -0
  2009. package/node_modules/find-my-way/test/pretty-print-tree.test.js +596 -0
  2010. package/node_modules/find-my-way/test/pretty-print.test.js +680 -0
  2011. package/node_modules/find-my-way/test/querystring.test.js +54 -0
  2012. package/node_modules/find-my-way/test/regex.test.js +269 -0
  2013. package/node_modules/find-my-way/test/repro-issue-414.test.js +57 -0
  2014. package/node_modules/find-my-way/test/routes-registered.test.js +45 -0
  2015. package/node_modules/find-my-way/test/server.test.js +368 -0
  2016. package/node_modules/find-my-way/test/shorthands.test.js +44 -0
  2017. package/node_modules/find-my-way/test/store.test.js +49 -0
  2018. package/node_modules/find-my-way/test/types/router.test-d.ts +188 -0
  2019. package/node_modules/find-my-way/test/url-sanitizer.test.js +43 -0
  2020. package/node_modules/glob/LICENSE.md +63 -0
  2021. package/node_modules/glob/README.md +1203 -0
  2022. package/node_modules/glob/dist/commonjs/glob.d.ts +396 -0
  2023. package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  2024. package/node_modules/glob/dist/commonjs/glob.js +248 -0
  2025. package/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  2026. package/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  2027. package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  2028. package/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  2029. package/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  2030. package/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
  2031. package/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  2032. package/node_modules/glob/dist/commonjs/ignore.js +119 -0
  2033. package/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  2034. package/node_modules/glob/dist/commonjs/index.d.ts +97 -0
  2035. package/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  2036. package/node_modules/glob/dist/commonjs/index.js +68 -0
  2037. package/node_modules/glob/dist/commonjs/index.js.map +1 -0
  2038. package/node_modules/glob/dist/commonjs/index.min.js +4 -0
  2039. package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
  2040. package/node_modules/glob/dist/commonjs/package.json +3 -0
  2041. package/node_modules/glob/dist/commonjs/pattern.d.ts +79 -0
  2042. package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  2043. package/node_modules/glob/dist/commonjs/pattern.js +223 -0
  2044. package/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  2045. package/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
  2046. package/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  2047. package/node_modules/glob/dist/commonjs/processor.js +301 -0
  2048. package/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  2049. package/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
  2050. package/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  2051. package/node_modules/glob/dist/commonjs/walker.js +387 -0
  2052. package/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  2053. package/node_modules/glob/dist/esm/glob.d.ts +396 -0
  2054. package/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  2055. package/node_modules/glob/dist/esm/glob.js +244 -0
  2056. package/node_modules/glob/dist/esm/glob.js.map +1 -0
  2057. package/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  2058. package/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  2059. package/node_modules/glob/dist/esm/has-magic.js +23 -0
  2060. package/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  2061. package/node_modules/glob/dist/esm/ignore.d.ts +24 -0
  2062. package/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  2063. package/node_modules/glob/dist/esm/ignore.js +115 -0
  2064. package/node_modules/glob/dist/esm/ignore.js.map +1 -0
  2065. package/node_modules/glob/dist/esm/index.d.ts +97 -0
  2066. package/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  2067. package/node_modules/glob/dist/esm/index.js +55 -0
  2068. package/node_modules/glob/dist/esm/index.js.map +1 -0
  2069. package/node_modules/glob/dist/esm/index.min.js +4 -0
  2070. package/node_modules/glob/dist/esm/index.min.js.map +7 -0
  2071. package/node_modules/glob/dist/esm/package.json +3 -0
  2072. package/node_modules/glob/dist/esm/pattern.d.ts +79 -0
  2073. package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  2074. package/node_modules/glob/dist/esm/pattern.js +219 -0
  2075. package/node_modules/glob/dist/esm/pattern.js.map +1 -0
  2076. package/node_modules/glob/dist/esm/processor.d.ts +59 -0
  2077. package/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  2078. package/node_modules/glob/dist/esm/processor.js +294 -0
  2079. package/node_modules/glob/dist/esm/processor.js.map +1 -0
  2080. package/node_modules/glob/dist/esm/walker.d.ts +97 -0
  2081. package/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  2082. package/node_modules/glob/dist/esm/walker.js +381 -0
  2083. package/node_modules/glob/dist/esm/walker.js.map +1 -0
  2084. package/node_modules/glob/package.json +98 -0
  2085. package/node_modules/http-errors/HISTORY.md +186 -0
  2086. package/node_modules/http-errors/LICENSE +23 -0
  2087. package/node_modules/http-errors/README.md +169 -0
  2088. package/node_modules/http-errors/index.js +290 -0
  2089. package/node_modules/http-errors/package.json +54 -0
  2090. package/node_modules/inherits/LICENSE +16 -0
  2091. package/node_modules/inherits/README.md +42 -0
  2092. package/node_modules/inherits/inherits.js +9 -0
  2093. package/node_modules/inherits/inherits_browser.js +27 -0
  2094. package/node_modules/inherits/package.json +29 -0
  2095. package/node_modules/ipaddr.js/LICENSE +19 -0
  2096. package/node_modules/ipaddr.js/README.md +229 -0
  2097. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  2098. package/node_modules/ipaddr.js/lib/ipaddr.js +1082 -0
  2099. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +72 -0
  2100. package/node_modules/ipaddr.js/package.json +36 -0
  2101. package/node_modules/jishushell-panel/LICENSE +6 -0
  2102. package/node_modules/jishushell-panel/README.md +47 -0
  2103. package/node_modules/jishushell-panel/output/dist/server.d.ts +13 -0
  2104. package/node_modules/jishushell-panel/output/dist/server.js +466 -0
  2105. package/node_modules/jishushell-panel/output/dist/server.js.map +1 -0
  2106. package/node_modules/jishushell-panel/output/public/assets/ApiKeyField-NKcbHjNz.js +1 -0
  2107. package/node_modules/jishushell-panel/output/public/assets/Dashboard-Da1fL38t.js +1 -0
  2108. package/node_modules/jishushell-panel/output/public/assets/HermesChatPanel-DZvmYsoh.js +1 -0
  2109. package/node_modules/jishushell-panel/output/public/assets/HermesConfigForm-BLUWlKwm.js +4 -0
  2110. package/node_modules/jishushell-panel/output/public/assets/InitPassword-BAKsshzk.js +1 -0
  2111. package/node_modules/jishushell-panel/output/public/assets/InstanceDetail-Dgyc_TX5.js +14 -0
  2112. package/node_modules/jishushell-panel/output/public/assets/Login-DHeOmwI8.js +1 -0
  2113. package/node_modules/jishushell-panel/output/public/assets/NewInstance-CIy0cYtp.js +1 -0
  2114. package/node_modules/jishushell-panel/output/public/assets/ProviderRecommendations-H0ByEYF0.js +1 -0
  2115. package/node_modules/jishushell-panel/output/public/assets/Settings-DAT-UMfP.js +1 -0
  2116. package/node_modules/jishushell-panel/output/public/assets/Setup-g3uckFYR.js +1 -0
  2117. package/node_modules/jishushell-panel/output/public/assets/WeixinLoginPanel-D-T6BxkQ.js +1 -0
  2118. package/node_modules/jishushell-panel/output/public/assets/api-C70Gt678.js +4 -0
  2119. package/node_modules/jishushell-panel/output/public/assets/index-DnnqTf7s.css +1 -0
  2120. package/node_modules/jishushell-panel/output/public/assets/index-ERt6_ngA.js +23 -0
  2121. package/node_modules/jishushell-panel/output/public/assets/registry-DF93EzIb.js +2 -0
  2122. package/node_modules/jishushell-panel/output/public/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  2123. package/node_modules/jishushell-panel/output/public/assets/setup-task-q21GnI0E.js +1 -0
  2124. package/node_modules/jishushell-panel/output/public/assets/usePolling-DeoThIQn.js +1 -0
  2125. package/node_modules/jishushell-panel/output/public/assets/vendor-i18n-CS8DFbkQ.js +1 -0
  2126. package/node_modules/jishushell-panel/output/public/assets/vendor-react-Cc84NArf.js +8 -0
  2127. package/node_modules/jishushell-panel/output/public/index.html +22 -0
  2128. package/node_modules/jishushell-panel/package.json +33 -0
  2129. package/node_modules/json-schema-ref-resolver/.gitattributes +2 -0
  2130. package/node_modules/json-schema-ref-resolver/.github/dependabot.yml +13 -0
  2131. package/node_modules/json-schema-ref-resolver/.github/workflows/ci.yml +25 -0
  2132. package/node_modules/json-schema-ref-resolver/LICENSE +21 -0
  2133. package/node_modules/json-schema-ref-resolver/README.md +406 -0
  2134. package/node_modules/json-schema-ref-resolver/eslint.config.js +6 -0
  2135. package/node_modules/json-schema-ref-resolver/index.js +284 -0
  2136. package/node_modules/json-schema-ref-resolver/package.json +76 -0
  2137. package/node_modules/json-schema-ref-resolver/test/anchor.test.js +56 -0
  2138. package/node_modules/json-schema-ref-resolver/test/collisions.test.js +199 -0
  2139. package/node_modules/json-schema-ref-resolver/test/deref-schema.test.js +287 -0
  2140. package/node_modules/json-schema-ref-resolver/test/get-deref-schema.test.js +363 -0
  2141. package/node_modules/json-schema-ref-resolver/test/get-schema-dependencies.test.js +158 -0
  2142. package/node_modules/json-schema-ref-resolver/test/get-schema-refs.test.js +87 -0
  2143. package/node_modules/json-schema-ref-resolver/test/get-schema.test.js +222 -0
  2144. package/node_modules/json-schema-ref-resolver/test/has-schema.test.js +28 -0
  2145. package/node_modules/json-schema-ref-resolver/types/index.d.ts +67 -0
  2146. package/node_modules/json-schema-ref-resolver/types/index.test-d.ts +23 -0
  2147. package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  2148. package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  2149. package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  2150. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  2151. package/node_modules/json-schema-traverse/LICENSE +21 -0
  2152. package/node_modules/json-schema-traverse/README.md +95 -0
  2153. package/node_modules/json-schema-traverse/index.d.ts +40 -0
  2154. package/node_modules/json-schema-traverse/index.js +93 -0
  2155. package/node_modules/json-schema-traverse/package.json +43 -0
  2156. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  2157. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  2158. package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  2159. package/node_modules/light-my-request/.gitattributes +2 -0
  2160. package/node_modules/light-my-request/.github/dependabot.yml +13 -0
  2161. package/node_modules/light-my-request/.github/stale.yml +21 -0
  2162. package/node_modules/light-my-request/.github/workflows/benchmark.yml +30 -0
  2163. package/node_modules/light-my-request/.github/workflows/ci.yml +23 -0
  2164. package/node_modules/light-my-request/LICENSE +32 -0
  2165. package/node_modules/light-my-request/README.md +261 -0
  2166. package/node_modules/light-my-request/benchmark/benchmark.js +164 -0
  2167. package/node_modules/light-my-request/build/build-validation.js +100 -0
  2168. package/node_modules/light-my-request/eslint.config.js +9 -0
  2169. package/node_modules/light-my-request/index.js +194 -0
  2170. package/node_modules/light-my-request/lib/config-validator.js +919 -0
  2171. package/node_modules/light-my-request/lib/form-data.js +79 -0
  2172. package/node_modules/light-my-request/lib/parse-url.js +47 -0
  2173. package/node_modules/light-my-request/lib/request.js +290 -0
  2174. package/node_modules/light-my-request/lib/response.js +240 -0
  2175. package/node_modules/light-my-request/node_modules/process-warning/.gitattributes +2 -0
  2176. package/node_modules/light-my-request/node_modules/process-warning/.github/dependabot.yml +13 -0
  2177. package/node_modules/light-my-request/node_modules/process-warning/.github/workflows/ci.yml +24 -0
  2178. package/node_modules/light-my-request/node_modules/process-warning/.taprc +2 -0
  2179. package/node_modules/light-my-request/node_modules/process-warning/LICENSE +21 -0
  2180. package/node_modules/light-my-request/node_modules/process-warning/README.md +118 -0
  2181. package/node_modules/light-my-request/node_modules/process-warning/benchmarks/warn.js +25 -0
  2182. package/node_modules/light-my-request/node_modules/process-warning/eslint.config.js +6 -0
  2183. package/node_modules/light-my-request/node_modules/process-warning/examples/example.js +11 -0
  2184. package/node_modules/light-my-request/node_modules/process-warning/index.js +124 -0
  2185. package/node_modules/light-my-request/node_modules/process-warning/package.json +73 -0
  2186. package/node_modules/light-my-request/node_modules/process-warning/test/emit-interpolated-string.test.js +29 -0
  2187. package/node_modules/light-my-request/node_modules/process-warning/test/emit-once-only.test.js +28 -0
  2188. package/node_modules/light-my-request/node_modules/process-warning/test/emit-reset.test.js +36 -0
  2189. package/node_modules/light-my-request/node_modules/process-warning/test/emit-set.test.js +30 -0
  2190. package/node_modules/light-my-request/node_modules/process-warning/test/emit-unlimited.test.js +37 -0
  2191. package/node_modules/light-my-request/node_modules/process-warning/test/index.test.js +99 -0
  2192. package/node_modules/light-my-request/node_modules/process-warning/test/issue-88.test.js +33 -0
  2193. package/node_modules/light-my-request/node_modules/process-warning/test/jest.test.js +22 -0
  2194. package/node_modules/light-my-request/node_modules/process-warning/test/no-warnings.test.js +80 -0
  2195. package/node_modules/light-my-request/node_modules/process-warning/types/index.d.ts +37 -0
  2196. package/node_modules/light-my-request/node_modules/process-warning/types/index.test-d.ts +36 -0
  2197. package/node_modules/light-my-request/package.json +85 -0
  2198. package/node_modules/light-my-request/test/async-await.test.js +55 -0
  2199. package/node_modules/light-my-request/test/index.test.js +2316 -0
  2200. package/node_modules/light-my-request/test/request.test.js +16 -0
  2201. package/node_modules/light-my-request/test/response.test.js +19 -0
  2202. package/node_modules/light-my-request/test/stream.test.js +359 -0
  2203. package/node_modules/light-my-request/types/index.d.ts +128 -0
  2204. package/node_modules/light-my-request/types/index.test-d.ts +149 -0
  2205. package/node_modules/mime/CHANGELOG.md +312 -0
  2206. package/node_modules/mime/LICENSE +21 -0
  2207. package/node_modules/mime/Mime.js +97 -0
  2208. package/node_modules/mime/README.md +178 -0
  2209. package/node_modules/mime/cli.js +46 -0
  2210. package/node_modules/mime/index.js +4 -0
  2211. package/node_modules/mime/lite.js +4 -0
  2212. package/node_modules/mime/package.json +52 -0
  2213. package/node_modules/mime/types/other.js +1 -0
  2214. package/node_modules/mime/types/standard.js +1 -0
  2215. package/node_modules/minimatch/LICENSE.md +55 -0
  2216. package/node_modules/minimatch/README.md +528 -0
  2217. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  2218. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  2219. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  2220. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  2221. package/node_modules/minimatch/dist/commonjs/ast.d.ts +22 -0
  2222. package/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  2223. package/node_modules/minimatch/dist/commonjs/ast.js +845 -0
  2224. package/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  2225. package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
  2226. package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  2227. package/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
  2228. package/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  2229. package/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
  2230. package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  2231. package/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  2232. package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  2233. package/node_modules/minimatch/dist/commonjs/index.d.ts +174 -0
  2234. package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  2235. package/node_modules/minimatch/dist/commonjs/index.js +1127 -0
  2236. package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  2237. package/node_modules/minimatch/dist/commonjs/package.json +3 -0
  2238. package/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
  2239. package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  2240. package/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  2241. package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  2242. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  2243. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  2244. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  2245. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  2246. package/node_modules/minimatch/dist/esm/ast.d.ts +22 -0
  2247. package/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  2248. package/node_modules/minimatch/dist/esm/ast.js +841 -0
  2249. package/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  2250. package/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
  2251. package/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  2252. package/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
  2253. package/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  2254. package/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
  2255. package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  2256. package/node_modules/minimatch/dist/esm/escape.js +26 -0
  2257. package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  2258. package/node_modules/minimatch/dist/esm/index.d.ts +174 -0
  2259. package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  2260. package/node_modules/minimatch/dist/esm/index.js +1114 -0
  2261. package/node_modules/minimatch/dist/esm/index.js.map +1 -0
  2262. package/node_modules/minimatch/dist/esm/package.json +3 -0
  2263. package/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
  2264. package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  2265. package/node_modules/minimatch/dist/esm/unescape.js +34 -0
  2266. package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  2267. package/node_modules/minimatch/package.json +73 -0
  2268. package/node_modules/minipass/LICENSE.md +55 -0
  2269. package/node_modules/minipass/README.md +825 -0
  2270. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  2271. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  2272. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  2273. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  2274. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  2275. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  2276. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  2277. package/node_modules/minipass/dist/esm/index.js +1020 -0
  2278. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  2279. package/node_modules/minipass/dist/esm/package.json +3 -0
  2280. package/node_modules/minipass/package.json +77 -0
  2281. package/node_modules/on-exit-leak-free/.github/dependabot.yml +12 -0
  2282. package/node_modules/on-exit-leak-free/.github/workflows/ci.yml +46 -0
  2283. package/node_modules/on-exit-leak-free/LICENSE +21 -0
  2284. package/node_modules/on-exit-leak-free/README.md +54 -0
  2285. package/node_modules/on-exit-leak-free/index.js +108 -0
  2286. package/node_modules/on-exit-leak-free/package.json +37 -0
  2287. package/node_modules/on-exit-leak-free/test/base.test.js +30 -0
  2288. package/node_modules/on-exit-leak-free/test/event-emitter-leak.test.js +23 -0
  2289. package/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js +33 -0
  2290. package/node_modules/on-exit-leak-free/test/fixtures/close.js +21 -0
  2291. package/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js +24 -0
  2292. package/node_modules/on-exit-leak-free/test/fixtures/unregister.js +24 -0
  2293. package/node_modules/path-scurry/LICENSE.md +55 -0
  2294. package/node_modules/path-scurry/README.md +636 -0
  2295. package/node_modules/path-scurry/dist/commonjs/index.d.ts +1115 -0
  2296. package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  2297. package/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
  2298. package/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  2299. package/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  2300. package/node_modules/path-scurry/dist/esm/index.d.ts +1115 -0
  2301. package/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  2302. package/node_modules/path-scurry/dist/esm/index.js +1983 -0
  2303. package/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  2304. package/node_modules/path-scurry/dist/esm/package.json +3 -0
  2305. package/node_modules/path-scurry/node_modules/lru-cache/LICENSE.md +55 -0
  2306. package/node_modules/path-scurry/node_modules/lru-cache/README.md +469 -0
  2307. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  2308. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  2309. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  2310. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  2311. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
  2312. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  2313. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js +1726 -0
  2314. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  2315. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  2316. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  2317. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  2318. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  2319. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
  2320. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  2321. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  2322. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  2323. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
  2324. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
  2325. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
  2326. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  2327. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +1726 -0
  2328. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  2329. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  2330. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  2331. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  2332. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  2333. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  2334. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  2335. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
  2336. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  2337. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js +1726 -0
  2338. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  2339. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  2340. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  2341. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  2342. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  2343. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
  2344. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  2345. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  2346. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  2347. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  2348. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
  2349. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  2350. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  2351. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  2352. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
  2353. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
  2354. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
  2355. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
  2356. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js +1722 -0
  2357. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
  2358. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
  2359. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
  2360. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  2361. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  2362. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
  2363. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  2364. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  2365. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
  2366. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
  2367. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
  2368. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
  2369. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  2370. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +1722 -0
  2371. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  2372. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  2373. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  2374. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  2375. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  2376. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
  2377. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
  2378. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
  2379. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
  2380. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js +1722 -0
  2381. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
  2382. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  2383. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
  2384. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  2385. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  2386. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
  2387. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  2388. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/package.json +3 -0
  2389. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  2390. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  2391. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js +7 -0
  2392. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  2393. package/node_modules/path-scurry/node_modules/lru-cache/package.json +154 -0
  2394. package/node_modules/path-scurry/package.json +72 -0
  2395. package/node_modules/pino/.nojekyll +0 -0
  2396. package/node_modules/pino/.prettierignore +1 -0
  2397. package/node_modules/pino/CNAME +1 -0
  2398. package/node_modules/pino/CONTRIBUTING.md +30 -0
  2399. package/node_modules/pino/LICENSE +21 -0
  2400. package/node_modules/pino/README.md +177 -0
  2401. package/node_modules/pino/SECURITY.md +87 -0
  2402. package/node_modules/pino/benchmarks/basic.bench.js +95 -0
  2403. package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
  2404. package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
  2405. package/node_modules/pino/benchmarks/child.bench.js +62 -0
  2406. package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
  2407. package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
  2408. package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
  2409. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
  2410. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
  2411. package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
  2412. package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
  2413. package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
  2414. package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
  2415. package/node_modules/pino/benchmarks/multistream.js +98 -0
  2416. package/node_modules/pino/benchmarks/object.bench.js +82 -0
  2417. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
  2418. package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
  2419. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
  2420. package/node_modules/pino/bin.js +6 -0
  2421. package/node_modules/pino/browser.js +547 -0
  2422. package/node_modules/pino/build/sync-version.js +25 -0
  2423. package/node_modules/pino/docs/api.md +1593 -0
  2424. package/node_modules/pino/docs/asynchronous.md +40 -0
  2425. package/node_modules/pino/docs/benchmarks.md +55 -0
  2426. package/node_modules/pino/docs/browser.md +278 -0
  2427. package/node_modules/pino/docs/bundling.md +40 -0
  2428. package/node_modules/pino/docs/child-loggers.md +95 -0
  2429. package/node_modules/pino/docs/diagnostics.md +16 -0
  2430. package/node_modules/pino/docs/ecosystem.md +86 -0
  2431. package/node_modules/pino/docs/help.md +345 -0
  2432. package/node_modules/pino/docs/lts.md +64 -0
  2433. package/node_modules/pino/docs/pretty.md +35 -0
  2434. package/node_modules/pino/docs/redaction.md +135 -0
  2435. package/node_modules/pino/docs/transports.md +1376 -0
  2436. package/node_modules/pino/docs/web.md +309 -0
  2437. package/node_modules/pino/eslint.config.js +28 -0
  2438. package/node_modules/pino/examples/basic.js +43 -0
  2439. package/node_modules/pino/examples/transport.js +68 -0
  2440. package/node_modules/pino/favicon.ico +0 -0
  2441. package/node_modules/pino/file.js +12 -0
  2442. package/node_modules/pino/inc-version.sh +42 -0
  2443. package/node_modules/pino/index.html +55 -0
  2444. package/node_modules/pino/lib/caller.js +30 -0
  2445. package/node_modules/pino/lib/constants.js +28 -0
  2446. package/node_modules/pino/lib/deprecations.js +8 -0
  2447. package/node_modules/pino/lib/levels.js +241 -0
  2448. package/node_modules/pino/lib/meta.js +3 -0
  2449. package/node_modules/pino/lib/multistream.js +203 -0
  2450. package/node_modules/pino/lib/proto.js +256 -0
  2451. package/node_modules/pino/lib/redaction.js +114 -0
  2452. package/node_modules/pino/lib/symbols.js +74 -0
  2453. package/node_modules/pino/lib/time.js +39 -0
  2454. package/node_modules/pino/lib/tools.js +427 -0
  2455. package/node_modules/pino/lib/transport-stream.js +56 -0
  2456. package/node_modules/pino/lib/transport.js +289 -0
  2457. package/node_modules/pino/lib/worker.js +194 -0
  2458. package/node_modules/pino/package.json +120 -0
  2459. package/node_modules/pino/pino.d.ts +908 -0
  2460. package/node_modules/pino/pino.js +234 -0
  2461. package/node_modules/pino/test/basic.test.js +886 -0
  2462. package/node_modules/pino/test/broken-pipe.test.js +59 -0
  2463. package/node_modules/pino/test/browser-child.test.js +132 -0
  2464. package/node_modules/pino/test/browser-disabled.test.js +87 -0
  2465. package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
  2466. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  2467. package/node_modules/pino/test/browser-levels.test.js +241 -0
  2468. package/node_modules/pino/test/browser-serializers.test.js +352 -0
  2469. package/node_modules/pino/test/browser-timestamp.test.js +88 -0
  2470. package/node_modules/pino/test/browser-transmit.test.js +417 -0
  2471. package/node_modules/pino/test/browser.test.js +698 -0
  2472. package/node_modules/pino/test/complex-objects.test.js +36 -0
  2473. package/node_modules/pino/test/crlf.test.js +34 -0
  2474. package/node_modules/pino/test/custom-levels.test.js +267 -0
  2475. package/node_modules/pino/test/diagnostics.test.js +107 -0
  2476. package/node_modules/pino/test/error-key.test.js +37 -0
  2477. package/node_modules/pino/test/error.test.js +403 -0
  2478. package/node_modules/pino/test/escaping.test.js +93 -0
  2479. package/node_modules/pino/test/esm/esm.mjs +14 -0
  2480. package/node_modules/pino/test/esm/index.test.js +21 -0
  2481. package/node_modules/pino/test/esm/named-exports.mjs +29 -0
  2482. package/node_modules/pino/test/exit.test.js +79 -0
  2483. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
  2484. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
  2485. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
  2486. package/node_modules/pino/test/fixtures/console-transport.js +13 -0
  2487. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  2488. package/node_modules/pino/test/fixtures/default-exit.js +8 -0
  2489. package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
  2490. package/node_modules/pino/test/fixtures/eval/index.js +13 -0
  2491. package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
  2492. package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
  2493. package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
  2494. package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
  2495. package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
  2496. package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
  2497. package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
  2498. package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
  2499. package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
  2500. package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
  2501. package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
  2502. package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
  2503. package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
  2504. package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
  2505. package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
  2506. package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
  2507. package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
  2508. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
  2509. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
  2510. package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
  2511. package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
  2512. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
  2513. package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
  2514. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  2515. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
  2516. package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
  2517. package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
  2518. package/node_modules/pino/test/fixtures/transport/index.js +12 -0
  2519. package/node_modules/pino/test/fixtures/transport/package.json +5 -0
  2520. package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  2521. package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
  2522. package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
  2523. package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
  2524. package/node_modules/pino/test/fixtures/transport-main.js +9 -0
  2525. package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
  2526. package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
  2527. package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
  2528. package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
  2529. package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
  2530. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
  2531. package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
  2532. package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
  2533. package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
  2534. package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
  2535. package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
  2536. package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
  2537. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  2538. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
  2539. package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
  2540. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  2541. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  2542. package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  2543. package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
  2544. package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
  2545. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
  2546. package/node_modules/pino/test/formatters.test.js +364 -0
  2547. package/node_modules/pino/test/helper.d.ts +4 -0
  2548. package/node_modules/pino/test/helper.js +155 -0
  2549. package/node_modules/pino/test/hooks.test.js +114 -0
  2550. package/node_modules/pino/test/http.test.js +214 -0
  2551. package/node_modules/pino/test/internals/version.test.js +17 -0
  2552. package/node_modules/pino/test/is-level-enabled.test.js +179 -0
  2553. package/node_modules/pino/test/jest/basic.spec.js +10 -0
  2554. package/node_modules/pino/test/levels.test.js +810 -0
  2555. package/node_modules/pino/test/metadata.test.js +120 -0
  2556. package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
  2557. package/node_modules/pino/test/mixin.test.js +241 -0
  2558. package/node_modules/pino/test/multistream.test.js +729 -0
  2559. package/node_modules/pino/test/redact.test.js +893 -0
  2560. package/node_modules/pino/test/serializers.test.js +257 -0
  2561. package/node_modules/pino/test/stdout-protection.test.js +41 -0
  2562. package/node_modules/pino/test/syncfalse.test.js +186 -0
  2563. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  2564. package/node_modules/pino/test/timestamp.test.js +124 -0
  2565. package/node_modules/pino/test/transport/big.test.js +42 -0
  2566. package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
  2567. package/node_modules/pino/test/transport/caller.test.js +24 -0
  2568. package/node_modules/pino/test/transport/core.test.js +733 -0
  2569. package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
  2570. package/node_modules/pino/test/transport/crash.test.js +36 -0
  2571. package/node_modules/pino/test/transport/module-link.test.js +241 -0
  2572. package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
  2573. package/node_modules/pino/test/transport/node-options.test.js +116 -0
  2574. package/node_modules/pino/test/transport/pipeline.test.js +137 -0
  2575. package/node_modules/pino/test/transport/preload.test.js +54 -0
  2576. package/node_modules/pino/test/transport/repl.test.js +15 -0
  2577. package/node_modules/pino/test/transport/sync-false.test.js +67 -0
  2578. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  2579. package/node_modules/pino/test/transport/targets.test.js +48 -0
  2580. package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
  2581. package/node_modules/pino/test/transport-stream.test.js +40 -0
  2582. package/node_modules/pino/test/types/pino-import.test-d.cts +30 -0
  2583. package/node_modules/pino/test/types/pino-multistream.test-d.ts +28 -0
  2584. package/node_modules/pino/test/types/pino-top-export.test-d.ts +34 -0
  2585. package/node_modules/pino/test/types/pino-transport.test-d.ts +156 -0
  2586. package/node_modules/pino/test/types/pino-type-only.test-d.ts +75 -0
  2587. package/node_modules/pino/test/types/pino.test-d.ts +683 -0
  2588. package/node_modules/pino/test/types/pino.ts +91 -0
  2589. package/node_modules/pino/tsconfig.json +14 -0
  2590. package/node_modules/pino-abstract-transport/.github/dependabot.yml +13 -0
  2591. package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +80 -0
  2592. package/node_modules/pino-abstract-transport/.husky/pre-commit +4 -0
  2593. package/node_modules/pino-abstract-transport/LICENSE +21 -0
  2594. package/node_modules/pino-abstract-transport/README.md +171 -0
  2595. package/node_modules/pino-abstract-transport/index.d.ts +122 -0
  2596. package/node_modules/pino-abstract-transport/index.js +128 -0
  2597. package/node_modules/pino-abstract-transport/package.json +41 -0
  2598. package/node_modules/pino-abstract-transport/test/base.test.js +473 -0
  2599. package/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
  2600. package/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
  2601. package/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
  2602. package/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
  2603. package/node_modules/pino-abstract-transport/test/match.js +24 -0
  2604. package/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
  2605. package/node_modules/pino-abstract-transport/test/worker.test.js +372 -0
  2606. package/node_modules/pino-std-serializers/.editorconfig +13 -0
  2607. package/node_modules/pino-std-serializers/.github/dependabot.yml +13 -0
  2608. package/node_modules/pino-std-serializers/.github/workflows/ci.yml +81 -0
  2609. package/node_modules/pino-std-serializers/LICENSE +7 -0
  2610. package/node_modules/pino-std-serializers/Readme.md +182 -0
  2611. package/node_modules/pino-std-serializers/eslint.config.js +7 -0
  2612. package/node_modules/pino-std-serializers/index.d.ts +145 -0
  2613. package/node_modules/pino-std-serializers/index.js +36 -0
  2614. package/node_modules/pino-std-serializers/lib/err-helpers.js +118 -0
  2615. package/node_modules/pino-std-serializers/lib/err-proto.js +48 -0
  2616. package/node_modules/pino-std-serializers/lib/err-with-cause.js +48 -0
  2617. package/node_modules/pino-std-serializers/lib/err.js +45 -0
  2618. package/node_modules/pino-std-serializers/lib/req.js +100 -0
  2619. package/node_modules/pino-std-serializers/lib/res.js +47 -0
  2620. package/node_modules/pino-std-serializers/package.json +42 -0
  2621. package/node_modules/pino-std-serializers/test/err-with-cause.test.js +187 -0
  2622. package/node_modules/pino-std-serializers/test/err.test.js +200 -0
  2623. package/node_modules/pino-std-serializers/test/req.test.js +477 -0
  2624. package/node_modules/pino-std-serializers/test/res.test.js +120 -0
  2625. package/node_modules/pino-std-serializers/test/types/index.test-d.ts +71 -0
  2626. package/node_modules/pino-std-serializers/tsconfig.json +13 -0
  2627. package/node_modules/process-warning/.gitattributes +2 -0
  2628. package/node_modules/process-warning/.github/dependabot.yml +13 -0
  2629. package/node_modules/process-warning/.github/workflows/ci.yml +22 -0
  2630. package/node_modules/process-warning/LICENSE +21 -0
  2631. package/node_modules/process-warning/README.md +118 -0
  2632. package/node_modules/process-warning/benchmarks/warn.js +25 -0
  2633. package/node_modules/process-warning/eslint.config.js +6 -0
  2634. package/node_modules/process-warning/examples/example.js +11 -0
  2635. package/node_modules/process-warning/index.js +124 -0
  2636. package/node_modules/process-warning/package.json +73 -0
  2637. package/node_modules/process-warning/test/emit-interpolated-string.test.js +34 -0
  2638. package/node_modules/process-warning/test/emit-once-only.test.js +33 -0
  2639. package/node_modules/process-warning/test/emit-reset.test.js +40 -0
  2640. package/node_modules/process-warning/test/emit-set.test.js +35 -0
  2641. package/node_modules/process-warning/test/emit-unlimited.test.js +42 -0
  2642. package/node_modules/process-warning/test/index.test.js +99 -0
  2643. package/node_modules/process-warning/test/issue-88.test.js +38 -0
  2644. package/node_modules/process-warning/test/jest.test.js +24 -0
  2645. package/node_modules/process-warning/test/no-warnings.test.js +80 -0
  2646. package/node_modules/process-warning/test/promise.js +10 -0
  2647. package/node_modules/process-warning/types/index.d.ts +37 -0
  2648. package/node_modules/process-warning/types/index.test-d.ts +36 -0
  2649. package/node_modules/quick-format-unescaped/.github/workflows/ci.yml +21 -0
  2650. package/node_modules/quick-format-unescaped/LICENSE +21 -0
  2651. package/node_modules/quick-format-unescaped/benchmark.js +24 -0
  2652. package/node_modules/quick-format-unescaped/index.js +109 -0
  2653. package/node_modules/quick-format-unescaped/package.json +29 -0
  2654. package/node_modules/quick-format-unescaped/readme.md +66 -0
  2655. package/node_modules/quick-format-unescaped/test/index.js +136 -0
  2656. package/node_modules/real-require/LICENSE.md +21 -0
  2657. package/node_modules/real-require/README.md +51 -0
  2658. package/node_modules/real-require/package.json +49 -0
  2659. package/node_modules/real-require/src/index.js +14 -0
  2660. package/node_modules/require-from-string/index.js +34 -0
  2661. package/node_modules/require-from-string/license +21 -0
  2662. package/node_modules/require-from-string/package.json +28 -0
  2663. package/node_modules/require-from-string/readme.md +56 -0
  2664. package/node_modules/ret/LICENSE +21 -0
  2665. package/node_modules/ret/README.md +539 -0
  2666. package/node_modules/ret/dist/index.d.ts +7 -0
  2667. package/node_modules/ret/dist/index.js +26 -0
  2668. package/node_modules/ret/dist/index.js.map +1 -0
  2669. package/node_modules/ret/dist/reconstruct.d.ts +2 -0
  2670. package/node_modules/ret/dist/reconstruct.js +77 -0
  2671. package/node_modules/ret/dist/reconstruct.js.map +1 -0
  2672. package/node_modules/ret/dist/sets-lookup.d.ts +5 -0
  2673. package/node_modules/ret/dist/sets-lookup.js +51 -0
  2674. package/node_modules/ret/dist/sets-lookup.js.map +1 -0
  2675. package/node_modules/ret/dist/sets.d.ts +9 -0
  2676. package/node_modules/ret/dist/sets.js +43 -0
  2677. package/node_modules/ret/dist/sets.js.map +1 -0
  2678. package/node_modules/ret/dist/tokenizer.d.ts +8 -0
  2679. package/node_modules/ret/dist/tokenizer.js +361 -0
  2680. package/node_modules/ret/dist/tokenizer.js.map +1 -0
  2681. package/node_modules/ret/dist/types/index.d.ts +3 -0
  2682. package/node_modules/ret/dist/types/index.js +16 -0
  2683. package/node_modules/ret/dist/types/index.js.map +1 -0
  2684. package/node_modules/ret/dist/types/set-lookup.d.ts +8 -0
  2685. package/node_modules/ret/dist/types/set-lookup.js +3 -0
  2686. package/node_modules/ret/dist/types/set-lookup.js.map +1 -0
  2687. package/node_modules/ret/dist/types/tokens.d.ts +41 -0
  2688. package/node_modules/ret/dist/types/tokens.js +3 -0
  2689. package/node_modules/ret/dist/types/tokens.js.map +1 -0
  2690. package/node_modules/ret/dist/types/types.d.ts +10 -0
  2691. package/node_modules/ret/dist/types/types.js +15 -0
  2692. package/node_modules/ret/dist/types/types.js.map +1 -0
  2693. package/node_modules/ret/dist/util.d.ts +18 -0
  2694. package/node_modules/ret/dist/util.js +82 -0
  2695. package/node_modules/ret/dist/util.js.map +1 -0
  2696. package/node_modules/ret/dist/write-set-tokens.d.ts +14 -0
  2697. package/node_modules/ret/dist/write-set-tokens.js +108 -0
  2698. package/node_modules/ret/dist/write-set-tokens.js.map +1 -0
  2699. package/node_modules/ret/package.json +42 -0
  2700. package/node_modules/reusify/.github/dependabot.yml +7 -0
  2701. package/node_modules/reusify/.github/workflows/ci.yml +96 -0
  2702. package/node_modules/reusify/LICENSE +22 -0
  2703. package/node_modules/reusify/README.md +139 -0
  2704. package/node_modules/reusify/SECURITY.md +15 -0
  2705. package/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
  2706. package/node_modules/reusify/benchmarks/fib.js +13 -0
  2707. package/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
  2708. package/node_modules/reusify/eslint.config.js +14 -0
  2709. package/node_modules/reusify/package.json +50 -0
  2710. package/node_modules/reusify/reusify.d.ts +14 -0
  2711. package/node_modules/reusify/reusify.js +33 -0
  2712. package/node_modules/reusify/test.js +66 -0
  2713. package/node_modules/reusify/tsconfig.json +11 -0
  2714. package/node_modules/rfdc/.github/workflows/ci.yml +21 -0
  2715. package/node_modules/rfdc/LICENSE +15 -0
  2716. package/node_modules/rfdc/default.js +3 -0
  2717. package/node_modules/rfdc/index.d.ts +13 -0
  2718. package/node_modules/rfdc/index.js +198 -0
  2719. package/node_modules/rfdc/index.test-d.ts +13 -0
  2720. package/node_modules/rfdc/package.json +73 -0
  2721. package/node_modules/rfdc/readme.md +181 -0
  2722. package/node_modules/rfdc/test/index.js +306 -0
  2723. package/node_modules/safe-regex2/.gitattributes +2 -0
  2724. package/node_modules/safe-regex2/.github/dependabot.yml +13 -0
  2725. package/node_modules/safe-regex2/.github/workflows/ci.yml +33 -0
  2726. package/node_modules/safe-regex2/.github/workflows/lock-threads.yml +19 -0
  2727. package/node_modules/safe-regex2/LICENSE +21 -0
  2728. package/node_modules/safe-regex2/README.md +68 -0
  2729. package/node_modules/safe-regex2/bin/safe-regex2.js +58 -0
  2730. package/node_modules/safe-regex2/eslint.config.js +6 -0
  2731. package/node_modules/safe-regex2/example/safe.js +5 -0
  2732. package/node_modules/safe-regex2/index.js +76 -0
  2733. package/node_modules/safe-regex2/package.json +78 -0
  2734. package/node_modules/safe-regex2/test/regex.test.js +58 -0
  2735. package/node_modules/safe-regex2/types/index.d.ts +9 -0
  2736. package/node_modules/safe-regex2/types/index.test-d.ts +12 -0
  2737. package/node_modules/safe-stable-stringify/LICENSE +21 -0
  2738. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  2739. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  2740. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  2741. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  2742. package/node_modules/safe-stable-stringify/index.js +625 -0
  2743. package/node_modules/safe-stable-stringify/package.json +65 -0
  2744. package/node_modules/safe-stable-stringify/readme.md +179 -0
  2745. package/node_modules/secure-json-parse/.airtap.yml +7 -0
  2746. package/node_modules/secure-json-parse/.gitattributes +2 -0
  2747. package/node_modules/secure-json-parse/.github/dependabot.yml +13 -0
  2748. package/node_modules/secure-json-parse/.github/stale.yml +21 -0
  2749. package/node_modules/secure-json-parse/.github/workflows/ci.yml +149 -0
  2750. package/node_modules/secure-json-parse/LICENSE +19 -0
  2751. package/node_modules/secure-json-parse/README.md +132 -0
  2752. package/node_modules/secure-json-parse/benchmarks/ignore.js +35 -0
  2753. package/node_modules/secure-json-parse/benchmarks/no__proto__.js +40 -0
  2754. package/node_modules/secure-json-parse/benchmarks/package.json +15 -0
  2755. package/node_modules/secure-json-parse/benchmarks/remove.js +39 -0
  2756. package/node_modules/secure-json-parse/benchmarks/throw.js +49 -0
  2757. package/node_modules/secure-json-parse/benchmarks/valid.js +49 -0
  2758. package/node_modules/secure-json-parse/eslint.config.js +6 -0
  2759. package/node_modules/secure-json-parse/index.js +161 -0
  2760. package/node_modules/secure-json-parse/package.json +74 -0
  2761. package/node_modules/secure-json-parse/test/index.test.js +649 -0
  2762. package/node_modules/secure-json-parse/types/index.d.ts +60 -0
  2763. package/node_modules/secure-json-parse/types/index.test-d.ts +43 -0
  2764. package/node_modules/semver/LICENSE +15 -0
  2765. package/node_modules/semver/README.md +680 -0
  2766. package/node_modules/semver/bin/semver.js +195 -0
  2767. package/node_modules/semver/classes/comparator.js +143 -0
  2768. package/node_modules/semver/classes/index.js +7 -0
  2769. package/node_modules/semver/classes/range.js +573 -0
  2770. package/node_modules/semver/classes/semver.js +350 -0
  2771. package/node_modules/semver/functions/clean.js +8 -0
  2772. package/node_modules/semver/functions/cmp.js +54 -0
  2773. package/node_modules/semver/functions/coerce.js +62 -0
  2774. package/node_modules/semver/functions/compare-build.js +9 -0
  2775. package/node_modules/semver/functions/compare-loose.js +5 -0
  2776. package/node_modules/semver/functions/compare.js +7 -0
  2777. package/node_modules/semver/functions/diff.js +60 -0
  2778. package/node_modules/semver/functions/eq.js +5 -0
  2779. package/node_modules/semver/functions/gt.js +5 -0
  2780. package/node_modules/semver/functions/gte.js +5 -0
  2781. package/node_modules/semver/functions/inc.js +21 -0
  2782. package/node_modules/semver/functions/lt.js +5 -0
  2783. package/node_modules/semver/functions/lte.js +5 -0
  2784. package/node_modules/semver/functions/major.js +5 -0
  2785. package/node_modules/semver/functions/minor.js +5 -0
  2786. package/node_modules/semver/functions/neq.js +5 -0
  2787. package/node_modules/semver/functions/parse.js +18 -0
  2788. package/node_modules/semver/functions/patch.js +5 -0
  2789. package/node_modules/semver/functions/prerelease.js +8 -0
  2790. package/node_modules/semver/functions/rcompare.js +5 -0
  2791. package/node_modules/semver/functions/rsort.js +5 -0
  2792. package/node_modules/semver/functions/satisfies.js +12 -0
  2793. package/node_modules/semver/functions/sort.js +5 -0
  2794. package/node_modules/semver/functions/truncate.js +48 -0
  2795. package/node_modules/semver/functions/valid.js +8 -0
  2796. package/node_modules/semver/index.js +93 -0
  2797. package/node_modules/semver/internal/constants.js +37 -0
  2798. package/node_modules/semver/internal/debug.js +11 -0
  2799. package/node_modules/semver/internal/identifiers.js +29 -0
  2800. package/node_modules/semver/internal/lrucache.js +42 -0
  2801. package/node_modules/semver/internal/parse-options.js +17 -0
  2802. package/node_modules/semver/internal/re.js +223 -0
  2803. package/node_modules/semver/package.json +78 -0
  2804. package/node_modules/semver/preload.js +4 -0
  2805. package/node_modules/semver/range.bnf +17 -0
  2806. package/node_modules/semver/ranges/gtr.js +6 -0
  2807. package/node_modules/semver/ranges/intersects.js +9 -0
  2808. package/node_modules/semver/ranges/ltr.js +6 -0
  2809. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  2810. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  2811. package/node_modules/semver/ranges/min-version.js +63 -0
  2812. package/node_modules/semver/ranges/outside.js +82 -0
  2813. package/node_modules/semver/ranges/simplify.js +49 -0
  2814. package/node_modules/semver/ranges/subset.js +249 -0
  2815. package/node_modules/semver/ranges/to-comparators.js +10 -0
  2816. package/node_modules/semver/ranges/valid.js +13 -0
  2817. package/node_modules/set-cookie-parser/LICENSE +21 -0
  2818. package/node_modules/set-cookie-parser/README.md +202 -0
  2819. package/node_modules/set-cookie-parser/lib/set-cookie.js +242 -0
  2820. package/node_modules/set-cookie-parser/package.json +45 -0
  2821. package/node_modules/setprototypeof/LICENSE +13 -0
  2822. package/node_modules/setprototypeof/README.md +31 -0
  2823. package/node_modules/setprototypeof/index.d.ts +2 -0
  2824. package/node_modules/setprototypeof/index.js +17 -0
  2825. package/node_modules/setprototypeof/package.json +38 -0
  2826. package/node_modules/setprototypeof/test/index.js +24 -0
  2827. package/node_modules/sonic-boom/.eslintignore +2 -0
  2828. package/node_modules/sonic-boom/.taprc +3 -0
  2829. package/node_modules/sonic-boom/LICENSE +21 -0
  2830. package/node_modules/sonic-boom/README.md +153 -0
  2831. package/node_modules/sonic-boom/bench.js +98 -0
  2832. package/node_modules/sonic-boom/check.js +18 -0
  2833. package/node_modules/sonic-boom/example.js +8 -0
  2834. package/node_modules/sonic-boom/fixtures/firehose.js +22 -0
  2835. package/node_modules/sonic-boom/index.js +733 -0
  2836. package/node_modules/sonic-boom/package.json +52 -0
  2837. package/node_modules/sonic-boom/test/destroy.test.js +49 -0
  2838. package/node_modules/sonic-boom/test/end.test.js +98 -0
  2839. package/node_modules/sonic-boom/test/flush-sync.test.js +140 -0
  2840. package/node_modules/sonic-boom/test/flush.test.js +419 -0
  2841. package/node_modules/sonic-boom/test/fsync.test.js +63 -0
  2842. package/node_modules/sonic-boom/test/helper.js +42 -0
  2843. package/node_modules/sonic-boom/test/minlength.test.js +35 -0
  2844. package/node_modules/sonic-boom/test/mode.test.js +116 -0
  2845. package/node_modules/sonic-boom/test/periodicflush.test.js +61 -0
  2846. package/node_modules/sonic-boom/test/reopen.test.js +239 -0
  2847. package/node_modules/sonic-boom/test/retry.test.js +414 -0
  2848. package/node_modules/sonic-boom/test/sync.test.js +261 -0
  2849. package/node_modules/sonic-boom/test/write.test.js +515 -0
  2850. package/node_modules/sonic-boom/types/index.d.ts +63 -0
  2851. package/node_modules/sonic-boom/types/tests/test.ts +4 -0
  2852. package/node_modules/split2/LICENSE +13 -0
  2853. package/node_modules/split2/README.md +85 -0
  2854. package/node_modules/split2/bench.js +27 -0
  2855. package/node_modules/split2/index.js +141 -0
  2856. package/node_modules/split2/package.json +39 -0
  2857. package/node_modules/split2/test.js +409 -0
  2858. package/node_modules/statuses/HISTORY.md +87 -0
  2859. package/node_modules/statuses/LICENSE +23 -0
  2860. package/node_modules/statuses/README.md +139 -0
  2861. package/node_modules/statuses/codes.json +65 -0
  2862. package/node_modules/statuses/index.js +146 -0
  2863. package/node_modules/statuses/package.json +49 -0
  2864. package/node_modules/thread-stream/.claude/settings.local.json +15 -0
  2865. package/node_modules/thread-stream/.github/dependabot.yml +13 -0
  2866. package/node_modules/thread-stream/.github/workflows/ci.yml +74 -0
  2867. package/node_modules/thread-stream/LICENSE +21 -0
  2868. package/node_modules/thread-stream/README.md +138 -0
  2869. package/node_modules/thread-stream/bench.js +85 -0
  2870. package/node_modules/thread-stream/eslint.config.js +10 -0
  2871. package/node_modules/thread-stream/index.d.ts +99 -0
  2872. package/node_modules/thread-stream/index.js +645 -0
  2873. package/node_modules/thread-stream/lib/indexes.js +11 -0
  2874. package/node_modules/thread-stream/lib/wait.js +77 -0
  2875. package/node_modules/thread-stream/lib/worker.js +298 -0
  2876. package/node_modules/thread-stream/node_modules/real-require/LICENSE.md +21 -0
  2877. package/node_modules/thread-stream/node_modules/real-require/README.md +51 -0
  2878. package/node_modules/thread-stream/node_modules/real-require/package.json +38 -0
  2879. package/node_modules/thread-stream/node_modules/real-require/src/index.js +14 -0
  2880. package/node_modules/thread-stream/package.json +50 -0
  2881. package/node_modules/thread-stream/test/base.test.js +259 -0
  2882. package/node_modules/thread-stream/test/bench.test.js +38 -0
  2883. package/node_modules/thread-stream/test/bundlers.test.js +59 -0
  2884. package/node_modules/thread-stream/test/close-on-gc.js +37 -0
  2885. package/node_modules/thread-stream/test/commonjs-fallback.test.js +75 -0
  2886. package/node_modules/thread-stream/test/context.test.js +21 -0
  2887. package/node_modules/thread-stream/test/create-and-exit.js +16 -0
  2888. package/node_modules/thread-stream/test/custom-worker.js +9 -0
  2889. package/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
  2890. package/node_modules/thread-stream/test/emit-event.js +22 -0
  2891. package/node_modules/thread-stream/test/end.test.js +56 -0
  2892. package/node_modules/thread-stream/test/error.js +14 -0
  2893. package/node_modules/thread-stream/test/esm.test.mjs +46 -0
  2894. package/node_modules/thread-stream/test/event.test.js +24 -0
  2895. package/node_modules/thread-stream/test/exit.js +14 -0
  2896. package/node_modules/thread-stream/test/flush-worker.js +68 -0
  2897. package/node_modules/thread-stream/test/flush.test.js +112 -0
  2898. package/node_modules/thread-stream/test/get-context.js +22 -0
  2899. package/node_modules/thread-stream/test/helper.d.ts +1 -0
  2900. package/node_modules/thread-stream/test/helper.js +26 -0
  2901. package/node_modules/thread-stream/test/indexes.test.js +11 -0
  2902. package/node_modules/thread-stream/test/message-without-code.js +19 -0
  2903. package/node_modules/thread-stream/test/multibyte-chars.test.mjs +75 -0
  2904. package/node_modules/thread-stream/test/multibyte-overrun.test.mjs +33 -0
  2905. package/node_modules/thread-stream/test/on-message.js +18 -0
  2906. package/node_modules/thread-stream/test/pkg/index.js +37 -0
  2907. package/node_modules/thread-stream/test/pkg/pkg.config.json +14 -0
  2908. package/node_modules/thread-stream/test/pkg/pkg.test.js +45 -0
  2909. package/node_modules/thread-stream/test/port.js +16 -0
  2910. package/node_modules/thread-stream/test/post-message.test.js +23 -0
  2911. package/node_modules/thread-stream/test/report-thread-name.js +16 -0
  2912. package/node_modules/thread-stream/test/string-limit-2.test.js +35 -0
  2913. package/node_modules/thread-stream/test/string-limit.test.js +37 -0
  2914. package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
  2915. package/node_modules/thread-stream/test/thread-management.test.js +150 -0
  2916. package/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
  2917. package/node_modules/thread-stream/test/to-file-on-final.js +24 -0
  2918. package/node_modules/thread-stream/test/to-file.js +12 -0
  2919. package/node_modules/thread-stream/test/to-file.mjs +8 -0
  2920. package/node_modules/thread-stream/test/to-next.js +9 -0
  2921. package/node_modules/thread-stream/test/transpiled.test.js +29 -0
  2922. package/node_modules/thread-stream/test/ts/to-file.ts +10 -0
  2923. package/node_modules/thread-stream/test/ts/transpile.sh +19 -0
  2924. package/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
  2925. package/node_modules/thread-stream/test/ts-native.test.mjs +35 -0
  2926. package/node_modules/thread-stream/test/ts-node-fallback.test.js +35 -0
  2927. package/node_modules/thread-stream/test/uncaughtException.js +21 -0
  2928. package/node_modules/thread-stream/test/unhandledRejection.js +21 -0
  2929. package/node_modules/thread-stream/test/watch-mode.test.js +30 -0
  2930. package/node_modules/thread-stream/test/worker-name.test.js +43 -0
  2931. package/node_modules/thread-stream/test/yarnrc.yml +7 -0
  2932. package/node_modules/thread-stream/tsconfig.json +8 -0
  2933. package/node_modules/toad-cache/LICENSE +21 -0
  2934. package/node_modules/toad-cache/README.md +265 -0
  2935. package/node_modules/toad-cache/dist/toad-cache.cjs +878 -0
  2936. package/node_modules/toad-cache/dist/toad-cache.mjs +852 -0
  2937. package/node_modules/toad-cache/package.json +84 -0
  2938. package/node_modules/toad-cache/toad-cache.d.cts +138 -0
  2939. package/node_modules/toad-cache/toad-cache.d.ts +128 -0
  2940. package/node_modules/toidentifier/HISTORY.md +9 -0
  2941. package/node_modules/toidentifier/LICENSE +21 -0
  2942. package/node_modules/toidentifier/README.md +61 -0
  2943. package/node_modules/toidentifier/index.js +32 -0
  2944. package/node_modules/toidentifier/package.json +38 -0
  2945. package/package.json +43 -20
  2946. package/scripts/build-local.sh +10 -11
  2947. package/scripts/check-app-path-boundaries.mjs +121 -0
  2948. package/scripts/check-app-spec.mjs +127 -25
  2949. package/scripts/check-colima-launchd.mjs +26 -22
  2950. package/scripts/check-integration-isolation.ts +541 -0
  2951. package/scripts/check-new-file-tests.mjs +16 -47
  2952. package/scripts/check-open-core-boundaries.mjs +334 -0
  2953. package/scripts/check-test-layering.sh +86 -0
  2954. package/scripts/fixtures/instances/hermes-sample/instance.json +3 -2
  2955. package/scripts/fixtures/instances/legacy-openclaw-sample/instance.json +1 -1
  2956. package/scripts/local-web-upgrade-test.README +147 -0
  2957. package/scripts/local-web-upgrade-test.example.env +54 -0
  2958. package/scripts/local-web-upgrade-test.sh +894 -0
  2959. package/scripts/pack-gui-and-send-pi.sh +41 -0
  2960. package/scripts/pack-with-gui.mjs +391 -0
  2961. package/scripts/perf/instances.js +1 -1
  2962. package/scripts/prune-open-core-dist.mjs +91 -0
  2963. package/scripts/run.sh +24 -25
  2964. package/scripts/setup-pi.sh +2 -2
  2965. package/scripts/smoke/hermes-bootstrap.sh +7 -7
  2966. package/scripts/smoke-backend.mjs +33 -1
  2967. package/templates/hermes-entrypoint.sh +19 -29
  2968. package/apps/openwebui-container.yaml +0 -97
  2969. package/apps/playwright-container.yaml +0 -126
  2970. package/dist/cli/panel.d.ts +0 -27
  2971. package/dist/cli/panel.js +0 -805
  2972. package/dist/cli/panel.js.map +0 -1
  2973. package/dist/crypto-shim.d.ts +0 -1
  2974. package/dist/crypto-shim.js +0 -2
  2975. package/dist/crypto-shim.js.map +0 -1
  2976. package/dist/routes/agent-apps.d.ts +0 -15
  2977. package/dist/routes/agent-apps.js +0 -78
  2978. package/dist/routes/agent-apps.js.map +0 -1
  2979. package/dist/routes/internal.d.ts +0 -2
  2980. package/dist/routes/internal.js +0 -59
  2981. package/dist/routes/internal.js.map +0 -1
  2982. package/dist/routes/runtime.d.ts +0 -15
  2983. package/dist/routes/runtime.js +0 -69
  2984. package/dist/routes/runtime.js.map +0 -1
  2985. package/dist/services/agent-apps/catalog.d.ts +0 -33
  2986. package/dist/services/agent-apps/catalog.js +0 -88
  2987. package/dist/services/agent-apps/catalog.js.map +0 -1
  2988. package/dist/services/agent-apps/index.d.ts +0 -36
  2989. package/dist/services/agent-apps/index.js +0 -171
  2990. package/dist/services/agent-apps/index.js.map +0 -1
  2991. package/dist/services/agent-apps/installers/adapter-probes.d.ts +0 -49
  2992. package/dist/services/agent-apps/installers/adapter-probes.js +0 -223
  2993. package/dist/services/agent-apps/installers/adapter-probes.js.map +0 -1
  2994. package/dist/services/agent-apps/installers/adapter.d.ts +0 -30
  2995. package/dist/services/agent-apps/installers/adapter.js +0 -171
  2996. package/dist/services/agent-apps/installers/adapter.js.map +0 -1
  2997. package/dist/services/agent-apps/installers/registry-probe.js.map +0 -1
  2998. package/dist/services/agent-apps/installers/shell-script.d.ts +0 -47
  2999. package/dist/services/agent-apps/installers/shell-script.js +0 -488
  3000. package/dist/services/agent-apps/installers/shell-script.js.map +0 -1
  3001. package/dist/services/agent-apps/types.d.ts +0 -128
  3002. package/dist/services/agent-apps/types.js +0 -17
  3003. package/dist/services/agent-apps/types.js.map +0 -1
  3004. package/dist/services/app/app-compiler.js +0 -172
  3005. package/dist/services/app/app-compiler.js.map +0 -1
  3006. package/dist/services/app/app-manager.d.ts +0 -174
  3007. package/dist/services/app/app-manager.js +0 -2741
  3008. package/dist/services/app/app-manager.js.map +0 -1
  3009. package/dist/services/app/custom-manager.d.ts +0 -27
  3010. package/dist/services/app/custom-manager.js +0 -285
  3011. package/dist/services/app/custom-manager.js.map +0 -1
  3012. package/dist/services/app/hermes-agent-manager.d.ts +0 -20
  3013. package/dist/services/app/hermes-agent-manager.js +0 -292
  3014. package/dist/services/app/hermes-agent-manager.js.map +0 -1
  3015. package/dist/services/app/id-normalizer.d.ts +0 -27
  3016. package/dist/services/app/id-normalizer.js +0 -77
  3017. package/dist/services/app/id-normalizer.js.map +0 -1
  3018. package/dist/services/app/ollama-manager.d.ts +0 -18
  3019. package/dist/services/app/ollama-manager.js +0 -207
  3020. package/dist/services/app/ollama-manager.js.map +0 -1
  3021. package/dist/services/app/openclaw-manager.d.ts +0 -63
  3022. package/dist/services/app/openclaw-manager.js +0 -1210
  3023. package/dist/services/app/openclaw-manager.js.map +0 -1
  3024. package/dist/services/app/paths.d.ts +0 -47
  3025. package/dist/services/app/paths.js +0 -68
  3026. package/dist/services/app/paths.js.map +0 -1
  3027. package/dist/services/app/platform-transform.d.ts +0 -32
  3028. package/dist/services/app/platform-transform.js +0 -65
  3029. package/dist/services/app/platform-transform.js.map +0 -1
  3030. package/dist/services/app/provide-resolver.d.ts +0 -29
  3031. package/dist/services/app/provide-resolver.js +0 -112
  3032. package/dist/services/app/provide-resolver.js.map +0 -1
  3033. package/dist/services/app/registry.d.ts +0 -17
  3034. package/dist/services/app/registry.js +0 -31
  3035. package/dist/services/app/registry.js.map +0 -1
  3036. package/dist/services/app/remote-spec.d.ts +0 -14
  3037. package/dist/services/app/remote-spec.js +0 -58
  3038. package/dist/services/app/remote-spec.js.map +0 -1
  3039. package/dist/services/app/terminal-session-manager.js +0 -157
  3040. package/dist/services/app/terminal-session-manager.js.map +0 -1
  3041. package/dist/services/app/types.d.ts +0 -72
  3042. package/dist/services/app/types.js +0 -16
  3043. package/dist/services/app/types.js.map +0 -1
  3044. package/dist/services/app-passwords.js +0 -173
  3045. package/dist/services/app-passwords.js.map +0 -1
  3046. package/dist/services/backup-manager.d.ts +0 -264
  3047. package/dist/services/backup-manager.js +0 -2264
  3048. package/dist/services/backup-manager.js.map +0 -1
  3049. package/dist/services/backup-verify.js +0 -240
  3050. package/dist/services/backup-verify.js.map +0 -1
  3051. package/dist/services/capability-endpoint-validator.d.ts +0 -41
  3052. package/dist/services/capability-endpoint-validator.js +0 -123
  3053. package/dist/services/capability-endpoint-validator.js.map +0 -1
  3054. package/dist/services/capability-health.d.ts +0 -16
  3055. package/dist/services/capability-health.js +0 -121
  3056. package/dist/services/capability-health.js.map +0 -1
  3057. package/dist/services/capability-registry.d.ts +0 -106
  3058. package/dist/services/capability-registry.js +0 -313
  3059. package/dist/services/capability-registry.js.map +0 -1
  3060. package/dist/services/connection-apply.d.ts +0 -91
  3061. package/dist/services/connection-apply.js +0 -475
  3062. package/dist/services/connection-apply.js.map +0 -1
  3063. package/dist/services/connection-resolver.d.ts +0 -65
  3064. package/dist/services/connection-resolver.js +0 -281
  3065. package/dist/services/connection-resolver.js.map +0 -1
  3066. package/dist/services/connection-transactor.d.ts +0 -39
  3067. package/dist/services/connection-transactor.js +0 -351
  3068. package/dist/services/connection-transactor.js.map +0 -1
  3069. package/dist/services/external-mounts.js +0 -187
  3070. package/dist/services/external-mounts.js.map +0 -1
  3071. package/dist/services/files-manager.d.ts +0 -252
  3072. package/dist/services/files-manager.js +0 -1075
  3073. package/dist/services/files-manager.js.map +0 -1
  3074. package/dist/services/files-mounts.d.ts +0 -42
  3075. package/dist/services/files-mounts.js +0 -207
  3076. package/dist/services/files-mounts.js.map +0 -1
  3077. package/dist/services/instance-manager.d.ts +0 -191
  3078. package/dist/services/instance-manager.js +0 -1296
  3079. package/dist/services/instance-manager.js.map +0 -1
  3080. package/dist/services/macos-launchd.d.ts +0 -89
  3081. package/dist/services/macos-launchd.js +0 -273
  3082. package/dist/services/macos-launchd.js.map +0 -1
  3083. package/dist/services/nomad-manager.d.ts +0 -290
  3084. package/dist/services/nomad-manager.js +0 -3953
  3085. package/dist/services/nomad-manager.js.map +0 -1
  3086. package/dist/services/organize/applier.js +0 -218
  3087. package/dist/services/organize/applier.js.map +0 -1
  3088. package/dist/services/organize/rules.js +0 -286
  3089. package/dist/services/organize/rules.js.map +0 -1
  3090. package/dist/services/organize/scanner.js +0 -366
  3091. package/dist/services/organize/scanner.js.map +0 -1
  3092. package/dist/services/organize/store.js +0 -82
  3093. package/dist/services/organize/store.js.map +0 -1
  3094. package/dist/services/panel-manager.d.ts +0 -50
  3095. package/dist/services/panel-manager.js +0 -472
  3096. package/dist/services/panel-manager.js.map +0 -1
  3097. package/dist/services/plugin-installer.js +0 -128
  3098. package/dist/services/plugin-installer.js.map +0 -1
  3099. package/dist/services/process-manager.d.ts +0 -25
  3100. package/dist/services/process-manager.js +0 -568
  3101. package/dist/services/process-manager.js.map +0 -1
  3102. package/dist/services/runtime/adapters/custom.d.ts +0 -20
  3103. package/dist/services/runtime/adapters/custom.js +0 -146
  3104. package/dist/services/runtime/adapters/custom.js.map +0 -1
  3105. package/dist/services/runtime/adapters/hermes.d.ts +0 -204
  3106. package/dist/services/runtime/adapters/hermes.js +0 -1631
  3107. package/dist/services/runtime/adapters/hermes.js.map +0 -1
  3108. package/dist/services/runtime/adapters/openclaw-mcporter.d.ts +0 -45
  3109. package/dist/services/runtime/adapters/openclaw-mcporter.js +0 -108
  3110. package/dist/services/runtime/adapters/openclaw-mcporter.js.map +0 -1
  3111. package/dist/services/runtime/adapters/openclaw-routes.d.ts +0 -23
  3112. package/dist/services/runtime/adapters/openclaw-routes.js +0 -1014
  3113. package/dist/services/runtime/adapters/openclaw-routes.js.map +0 -1
  3114. package/dist/services/runtime/adapters/openclaw.d.ts +0 -393
  3115. package/dist/services/runtime/adapters/openclaw.js +0 -3853
  3116. package/dist/services/runtime/adapters/openclaw.js.map +0 -1
  3117. package/dist/services/runtime/index.d.ts +0 -34
  3118. package/dist/services/runtime/index.js +0 -51
  3119. package/dist/services/runtime/index.js.map +0 -1
  3120. package/dist/services/runtime/mcp-shims/anythingllm-shim.d.ts +0 -46
  3121. package/dist/services/runtime/mcp-shims/anythingllm-shim.js +0 -281
  3122. package/dist/services/runtime/mcp-shims/anythingllm-shim.js.map +0 -1
  3123. package/dist/services/runtime/mcp-shims/drive-shim.d.ts +0 -54
  3124. package/dist/services/runtime/mcp-shims/drive-shim.js +0 -489
  3125. package/dist/services/runtime/mcp-shims/drive-shim.js.map +0 -1
  3126. package/dist/services/runtime/migrations.d.ts +0 -23
  3127. package/dist/services/runtime/migrations.js +0 -125
  3128. package/dist/services/runtime/migrations.js.map +0 -1
  3129. package/dist/services/runtime/registry.d.ts +0 -13
  3130. package/dist/services/runtime/registry.js +0 -32
  3131. package/dist/services/runtime/registry.js.map +0 -1
  3132. package/dist/services/setup-manager.d.ts +0 -136
  3133. package/dist/services/setup-manager.js +0 -2149
  3134. package/dist/services/setup-manager.js.map +0 -1
  3135. package/dist/services/suggestions.d.ts +0 -27
  3136. package/dist/services/suggestions.js +0 -133
  3137. package/dist/services/suggestions.js.map +0 -1
  3138. package/dist/services/system-monitor.js +0 -79
  3139. package/dist/services/system-monitor.js.map +0 -1
  3140. package/dist/services/task-registry.d.ts +0 -44
  3141. package/dist/services/task-registry.js +0 -76
  3142. package/dist/services/task-registry.js.map +0 -1
  3143. package/dist/services/types-shim.d.ts +0 -16
  3144. package/dist/services/types-shim.js +0 -2
  3145. package/dist/services/types-shim.js.map +0 -1
  3146. package/dist/services/update-manager.d.ts +0 -47
  3147. package/dist/services/update-manager.js +0 -323
  3148. package/dist/services/update-manager.js.map +0 -1
  3149. package/dist/services/webdav/server.d.ts +0 -24
  3150. package/dist/services/webdav/server.js +0 -420
  3151. package/dist/services/webdav/server.js.map +0 -1
  3152. package/dist/services/webdav/xml-builder.js.map +0 -1
  3153. package/dist/services/workspace-builder.d.ts +0 -29
  3154. package/dist/services/workspace-builder.js +0 -188
  3155. package/dist/services/workspace-builder.js.map +0 -1
  3156. package/public/assets/ApiKeyField-CvyAOcJS.js +0 -1
  3157. package/public/assets/Dashboard-AuJESBlJ.js +0 -1
  3158. package/public/assets/HermesChatPanel-CByPREwb.js +0 -1
  3159. package/public/assets/HermesConfigForm-DRda8FKX.js +0 -4
  3160. package/public/assets/InitPassword-ka4wNpM5.js +0 -1
  3161. package/public/assets/InstanceDetail-Cg1nS8HX.js +0 -92
  3162. package/public/assets/Login-aPajuQzf.js +0 -1
  3163. package/public/assets/NewInstance-Dd1ebNIx.js +0 -1
  3164. package/public/assets/ProviderRecommendations-DFmADQ7V.js +0 -1
  3165. package/public/assets/Settings-BYQnbLYL.js +0 -1
  3166. package/public/assets/Setup-D05lwDOV.js +0 -1
  3167. package/public/assets/WeixinLoginPanel-D89kdhP4.js +0 -9
  3168. package/public/assets/index-HSXCsceK.css +0 -1
  3169. package/public/assets/index-bnBu0nlQ.js +0 -19
  3170. package/public/assets/registry-C_qeFTkZ.js +0 -2
  3171. package/public/assets/usePolling-Bn93fe7M.js +0 -1
  3172. package/public/assets/vendor-i18n-flxcMVeP.js +0 -9
  3173. package/public/assets/vendor-react-ZC5T_huj.js +0 -59
  3174. package/public/index.html +0 -20
  3175. package/scripts/build-image.sh +0 -55
  3176. package/scripts/check-adapter-isolation.ts +0 -293
  3177. package/scripts/check-i18n.mjs +0 -154
  3178. /package/dist/services/{app → app-common}/app-compiler.d.ts +0 -0
  3179. /package/dist/services/{app → app-common}/terminal-session-manager.d.ts +0 -0
  3180. /package/dist/services/{backup-verify.d.ts → backup/backup-verify.d.ts} +0 -0
  3181. /package/dist/services/{external-mounts.d.ts → files/external-mounts.d.ts} +0 -0
  3182. /package/dist/services/{organize → files/organize}/applier.d.ts +0 -0
  3183. /package/dist/services/{organize → files/organize}/rules.d.ts +0 -0
  3184. /package/dist/services/{organize → files/organize}/scanner.d.ts +0 -0
  3185. /package/dist/services/{organize → files/organize}/store.d.ts +0 -0
  3186. /package/dist/services/{webdav → files/webdav}/xml-builder.d.ts +0 -0
  3187. /package/dist/services/{webdav → files/webdav}/xml-builder.js +0 -0
  3188. /package/dist/services/{app-passwords.d.ts → instances/passwords.d.ts} +0 -0
  3189. /package/dist/services/{agent-apps → integrations/installable}/installers/registry-probe.d.ts +0 -0
  3190. /package/dist/services/{agent-apps → integrations/installable}/installers/registry-probe.js +0 -0
  3191. /package/dist/services/{plugin-installer.d.ts → setup/plugin-installer.d.ts} +0 -0
  3192. /package/dist/services/{system-monitor.d.ts → system/system-monitor.d.ts} +0 -0
  3193. /package/{public → node_modules/jishushell-panel/output/public}/assets/logo-black-theme-DywLAtFy.png +0 -0
  3194. /package/{public → node_modules/jishushell-panel/output/public}/assets/logo-white-theme-DXffFAWw.png +0 -0
  3195. /package/{public → node_modules/jishushell-panel/output/public}/favicon.png +0 -0
  3196. /package/{public → node_modules/jishushell-panel/output/public}/logos/hermes.png +0 -0
  3197. /package/{public → node_modules/jishushell-panel/output/public}/logos/ollama.png +0 -0
  3198. /package/{public → node_modules/jishushell-panel/output/public}/logos/openclaw.svg +0 -0
@@ -0,0 +1,2768 @@
1
+ import { execFileSync, execSync, spawn as nodeSpawn } from "child_process";
2
+ import { chmodSync, copyFileSync, existsSync, lstatSync, mkdtempSync, readFileSync, renameSync, rmSync, symlinkSync, unlinkSync } from "fs";
3
+ import { userInfo, platform as osPlatform, arch as osArch, cpus as osCpus } from "node:os";
4
+ import { randomBytes } from "node:crypto";
5
+ import { tmpdir } from "node:os";
6
+ import { basename, dirname, join } from "path";
7
+ import { StringDecoder } from "string_decoder";
8
+ import { fileURLToPath } from "url";
9
+ import { JISHUSHELL_HOME, getCoreConfig, saveCoreConfig, setOpenclawDockerImage, getOpenclawDockerImage, DEFAULT_OPENCLAW_DOCKER_IMAGE, getIntegrationRuntimeEntry, OPENCLAW_MODULES, OPENCLAW_BIN_DIR, } from "../../config.js";
10
+ import { ensureDirContainer, ensureDirHost, writeConfigFile, writeSecretFile, writeExecutableFile, writeSystemTmpFile } from "../../utils/fs.js";
11
+ import { buildDockerClientEnv, managedColimaSocketPath, managedColimaDockerHost, resolveDockerHost } from "../../utils/docker-host.js";
12
+ import { appleSiliconGuard, buildColimaWrapperScript, buildColimaPlist, buildNomadWaitWrapper, buildNomadPlist, buildCoreGateWrapper, buildCorePlist, buildPanelPlist, } from "../system/macos-launchd.js";
13
+ import { getIntegration, listRegisteredIntegrations } from "../integrations/index.js";
14
+ import { hasLlmProviderSetup } from "../llm-proxy/providers.js";
15
+ // Internal usage of task primitives — re-exports further down preserve the
16
+ // public import surface used by integration modules, routes, and CLI.
17
+ import { createTask, emitTask, getRunningTasks } from "../tasks/registry.js";
18
+ const __filename = fileURLToPath(import.meta.url);
19
+ const __dirname = dirname(__filename);
20
+ // ── Paths ──────────────────────────────────────────────────────────
21
+ const BIN_DIR = join(JISHUSHELL_HOME, "bin");
22
+ const NOMAD_BIN = join(BIN_DIR, "nomad");
23
+ const NOMAD_CONFIG_DIR = join(JISHUSHELL_HOME, "nomad");
24
+ const NOMAD_DATA_DIR = join(JISHUSHELL_HOME, "nomad", "data");
25
+ const NOMAD_ALLOC_DIR = join(JISHUSHELL_HOME, "nomad", "data", "alloc");
26
+ const _COLIMA_DIR = join(JISHUSHELL_HOME, "colima");
27
+ const COLIMA_PROFILE = "jishushell";
28
+ const _COLIMA_SOCKET = managedColimaSocketPath(JISHUSHELL_HOME, COLIMA_PROFILE);
29
+ const NOMAD_VERSION = "1.6.5";
30
+ const DEFAULT_CORE_PORT = 8091;
31
+ const DEFAULT_PANEL_PORT = 8090;
32
+ const SYSTEMD_CORE_SERVICE_PATH = "/etc/systemd/system/jishushell.service";
33
+ const SYSTEMD_PANEL_SERVICE_PATH = "/etc/systemd/system/jishushell-panel.service";
34
+ const SYSTEMD_NOMAD_SERVICE_PATH = "/etc/systemd/system/nomad.service";
35
+ let _serverPort = DEFAULT_CORE_PORT;
36
+ export function setServerPort(port) { _serverPort = port; }
37
+ function shellQuote(value) {
38
+ return `'${value.replace(/'/g, "'\\''")}'`;
39
+ }
40
+ function sudoCopySystemFile(content, destination, mode) {
41
+ const stagingDir = mkdtempSync(join(tmpdir(), "jishushell-system-"));
42
+ const stagingPath = join(stagingDir, basename(destination));
43
+ try {
44
+ writeSystemTmpFile(stagingPath, content);
45
+ execFileSync("sudo", ["cp", stagingPath, destination], { timeout: 5000 });
46
+ execFileSync("sudo", ["chown", "root:root", destination], { timeout: 5000 });
47
+ execFileSync("sudo", ["chmod", mode, destination], { timeout: 5000 });
48
+ }
49
+ finally {
50
+ rmSync(stagingDir, { recursive: true, force: true });
51
+ }
52
+ }
53
+ function removeSymlinkIfPresent(path) {
54
+ try {
55
+ if (lstatSync(path).isSymbolicLink())
56
+ unlinkSync(path);
57
+ }
58
+ catch (e) {
59
+ if (e?.code !== "ENOENT")
60
+ throw e;
61
+ }
62
+ }
63
+ function chownToUser(path, user, recursive = false) {
64
+ if (!user)
65
+ return;
66
+ const args = recursive ? ["-R", `${user}:`, path] : [`${user}:`, path];
67
+ const timeout = recursive ? 60000 : 5000;
68
+ if (typeof process.getuid === "function" && process.getuid() === 0) {
69
+ execFileSync("chown", args, { timeout });
70
+ }
71
+ else {
72
+ execFileSync("sudo", ["chown", ...args], { timeout });
73
+ }
74
+ }
75
+ function writeManagedExecutableFile(path, content, ownerUser) {
76
+ try {
77
+ writeExecutableFile(path, content);
78
+ }
79
+ catch (e) {
80
+ if (e?.code !== "EACCES" || !ownerUser)
81
+ throw e;
82
+ sudoCopySystemFile(content, path, "755");
83
+ }
84
+ chownToUser(path, ownerUser);
85
+ }
86
+ function resolveCoreCliBin() {
87
+ const candidates = [
88
+ process.env.JISHUSHELL_CORE_BIN,
89
+ join(__dirname, "..", "cli.js"),
90
+ ]
91
+ .map((candidate) => candidate?.trim())
92
+ .filter((candidate) => Boolean(candidate));
93
+ for (const candidate of candidates) {
94
+ if (existsSync(candidate))
95
+ return candidate;
96
+ }
97
+ throw new Error("Cannot locate jishushell entrypoint. Set JISHUSHELL_CORE_BIN to the bundled CLI path.");
98
+ }
99
+ function resolveBundledPanelServerBin() {
100
+ const packageRoot = join(__dirname, "..", "..", "..");
101
+ const candidates = [
102
+ process.env.JISHUSHELL_PANEL_BIN,
103
+ join(packageRoot, "node_modules", "jishushell-panel", "output", "dist", "server.js"),
104
+ ]
105
+ .map((candidate) => candidate?.trim())
106
+ .filter((candidate) => Boolean(candidate));
107
+ for (const candidate of candidates) {
108
+ if (existsSync(candidate))
109
+ return candidate;
110
+ }
111
+ throw new Error("Cannot locate bundled jishushell-panel entrypoint. Install the GUI jishushell package or set JISHUSHELL_PANEL_BIN.");
112
+ }
113
+ function buildWrapperEnvPrelude() {
114
+ return `_WRAPPER_DIR="$(cd "$(dirname "$0")" && pwd)"
115
+ _DEFAULT_JISHUSHELL_HOME="$(cd "$_WRAPPER_DIR/.." && pwd)"
116
+
117
+ _resolve_sudo_home() {
118
+ if [ -n "\${SUDO_UID:-}" ] && command -v getent >/dev/null 2>&1; then
119
+ _entry="$(getent passwd "$SUDO_UID" 2>/dev/null || true)"
120
+ if [ -n "$_entry" ]; then
121
+ printf '%s\\n' "$_entry" | cut -d: -f6
122
+ return
123
+ fi
124
+ fi
125
+ }
126
+
127
+ _SUDO_HOME="$(_resolve_sudo_home || true)"
128
+ if [ -z "\${JISHUSHELL_HOME:-}" ]; then
129
+ case "$_DEFAULT_JISHUSHELL_HOME" in
130
+ /usr|/usr/local|/opt/homebrew|/opt/local)
131
+ if [ -n "$_SUDO_HOME" ]; then
132
+ JISHUSHELL_HOME="$_SUDO_HOME/.jishushell"
133
+ else
134
+ JISHUSHELL_HOME="$_DEFAULT_JISHUSHELL_HOME"
135
+ fi
136
+ ;;
137
+ *) JISHUSHELL_HOME="$_DEFAULT_JISHUSHELL_HOME" ;;
138
+ esac
139
+ fi
140
+
141
+ _resolve_home() {
142
+ if [ -n "$_SUDO_HOME" ]; then
143
+ printf '%s\\n' "$_SUDO_HOME"
144
+ return
145
+ fi
146
+ case "$JISHUSHELL_HOME" in
147
+ */.jishushell) printf '%s\\n' "\${JISHUSHELL_HOME%/.jishushell}" ;;
148
+ *) printf '%s\\n' "\${HOME:-$PWD}" ;;
149
+ esac
150
+ }
151
+ HOME="$(_resolve_home)"
152
+ export JISHUSHELL_HOME HOME`;
153
+ }
154
+ function buildCoreStartWrapperContent(opts) {
155
+ const pathPrefix = [
156
+ "/opt/homebrew/bin",
157
+ "/opt/homebrew/sbin",
158
+ "/usr/local/bin",
159
+ "/usr/local/sbin",
160
+ "/usr/bin",
161
+ "/bin",
162
+ "/usr/sbin",
163
+ "/sbin",
164
+ dirname(opts.nodeBin),
165
+ dirname(opts.cliBin),
166
+ ].join(":");
167
+ const cliExec = opts.cliBin.endsWith(".js")
168
+ ? `${shellQuote(opts.nodeBin)} ${shellQuote(opts.cliBin)}`
169
+ : shellQuote(opts.cliBin);
170
+ return `#!/bin/sh
171
+ set -eu
172
+ ${buildWrapperEnvPrelude()}
173
+ [ -f "\${JISHUSHELL_HOME}/nomad.env" ] && . "\${JISHUSHELL_HOME}/nomad.env"
174
+ export JISHUSHELL_CORE_BIN=${shellQuote(opts.cliBin)}
175
+ export JISHUSHELL_CORE_PORT=${opts.port}
176
+ export NODE_ENV=production
177
+ export PATH=${shellQuote(pathPrefix)}\${PATH:+:\$PATH}
178
+ if command -v ss >/dev/null 2>&1 && ss -tln 2>/dev/null | grep -Eq '(^|[[:space:]])[^[:space:]]*:${opts.port}[[:space:]]'; then
179
+ echo "JishuShell core port ${opts.port} is already listening; not starting another core."
180
+ exit 0
181
+ fi
182
+ exec ${cliExec} serve --port ${opts.port}
183
+ `;
184
+ }
185
+ function buildCoreCliWrapperContent(opts) {
186
+ const pathPrefix = [
187
+ "/opt/homebrew/bin",
188
+ "/opt/homebrew/sbin",
189
+ "/usr/local/bin",
190
+ "/usr/local/sbin",
191
+ "/usr/bin",
192
+ "/bin",
193
+ "/usr/sbin",
194
+ "/sbin",
195
+ dirname(opts.nodeBin),
196
+ dirname(opts.cliBin),
197
+ ].join(":");
198
+ const cliExec = opts.cliBin.endsWith(".js")
199
+ ? `${shellQuote(opts.nodeBin)} ${shellQuote(opts.cliBin)}`
200
+ : shellQuote(opts.cliBin);
201
+ return `#!/bin/sh
202
+ set -eu
203
+ ${buildWrapperEnvPrelude()}
204
+ [ -f "\${JISHUSHELL_HOME}/nomad.env" ] && . "\${JISHUSHELL_HOME}/nomad.env"
205
+ export JISHUSHELL_CORE_BIN=${shellQuote(opts.cliBin)}
206
+ export JISHUSHELL_CORE_PORT=${opts.port}
207
+ export NODE_ENV=\${NODE_ENV:-production}
208
+ export PATH=${shellQuote(pathPrefix)}\${PATH:+:\$PATH}
209
+ exec ${cliExec} "$@"
210
+ `;
211
+ }
212
+ function buildPanelStartWrapperContent(opts) {
213
+ const manageCoreDefault = opts.manageCoreDefault ? "1" : "0";
214
+ const pathPrefix = [
215
+ "/opt/homebrew/bin",
216
+ "/opt/homebrew/sbin",
217
+ "/usr/local/bin",
218
+ "/usr/local/sbin",
219
+ "/usr/bin",
220
+ "/bin",
221
+ "/usr/sbin",
222
+ "/sbin",
223
+ dirname(opts.nodeBin),
224
+ dirname(opts.panelBin),
225
+ ].join(":");
226
+ return `#!/bin/sh
227
+ set -eu
228
+ ${buildWrapperEnvPrelude()}
229
+ export NODE_ENV=\${NODE_ENV:-production}
230
+ export JISHUSHELL_CORE_BASE_URL=\${JISHUSHELL_CORE_BASE_URL:-http://127.0.0.1:${opts.corePort}}
231
+ export JISHUSHELL_PANEL_PORT=\${JISHUSHELL_PANEL_PORT:-${opts.panelPort}}
232
+ export JISHUSHELL_PANEL_MANAGE_CORE=\${JISHUSHELL_PANEL_MANAGE_CORE:-${manageCoreDefault}}
233
+ export PATH=${shellQuote(pathPrefix)}\${PATH:+:\$PATH}
234
+ exec ${shellQuote(opts.nodeBin)} ${shellQuote(opts.panelBin)} "$@"
235
+ `;
236
+ }
237
+ // ── Resolve non-root service user (board-agnostic) ─────────────────
238
+ /**
239
+ * Determine which user the systemd service should run as.
240
+ *
241
+ * Strategy (in order):
242
+ * 1. If current process is NOT root, return the real username directly.
243
+ * 2. Under sudo, trust the kernel-set SUDO_UID (numeric, hard to spoof)
244
+ * and reverse-lookup via `getent passwd <uid>`.
245
+ * 3. Fallback: scan /etc/passwd for the first user with UID >= 1000
246
+ * (works on any board — pi, orangepi, rock, nvidia, etc.).
247
+ * 4. Throw instead of guessing — running as the wrong user is worse
248
+ * than a visible installation error.
249
+ */
250
+ function resolveServiceUser() {
251
+ const current = userInfo();
252
+ if (current.uid !== 0)
253
+ return current.username;
254
+ // Under sudo: SUDO_UID is set by the kernel and is numeric
255
+ const sudoUid = parseInt(process.env.SUDO_UID || "", 10);
256
+ if (Number.isFinite(sudoUid) && sudoUid >= 1000) {
257
+ try {
258
+ const entry = execFileSync("getent", ["passwd", String(sudoUid)], {
259
+ encoding: "utf8",
260
+ timeout: 3000,
261
+ }).trim();
262
+ const name = entry.split(":")[0];
263
+ if (name)
264
+ return name;
265
+ }
266
+ catch { /* getent failed, continue */ }
267
+ }
268
+ // Board-agnostic fallback: first real user (UID >= 1000, exclude nobody)
269
+ try {
270
+ const firstUser = execFileSync("getent", ["passwd"], {
271
+ encoding: "utf8",
272
+ timeout: 3000,
273
+ })
274
+ .split("\n")
275
+ .map((line) => line.split(":"))
276
+ .find((cols) => {
277
+ const uid = parseInt(cols[2], 10);
278
+ return uid >= 1000 && uid < 65534;
279
+ });
280
+ if (firstUser?.[0])
281
+ return firstUser[0];
282
+ }
283
+ catch { /* /etc/passwd unreadable */ }
284
+ throw new Error("Cannot determine service user. Run with a non-root user or set SUDO_UID.");
285
+ }
286
+ function resolveRealHome() {
287
+ return dirname(JISHUSHELL_HOME);
288
+ }
289
+ function resolveLaunchAgentsDir(realHome = resolveRealHome()) {
290
+ return join(process.env.HOME || realHome, "Library/LaunchAgents");
291
+ }
292
+ function resolveNomadExecutable() {
293
+ if (existsSync(NOMAD_BIN))
294
+ return NOMAD_BIN;
295
+ try {
296
+ return execFileSync("which", ["nomad"], { encoding: "utf-8", timeout: 5000 }).trim();
297
+ }
298
+ catch {
299
+ return "nomad";
300
+ }
301
+ }
302
+ function resolveColimaExecutable() {
303
+ try {
304
+ return execFileSync("which", ["colima"], { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
305
+ }
306
+ catch {
307
+ if (existsSync("/opt/homebrew/bin/colima"))
308
+ return "/opt/homebrew/bin/colima";
309
+ if (existsSync("/usr/local/bin/colima"))
310
+ return "/usr/local/bin/colima";
311
+ return "colima";
312
+ }
313
+ }
314
+ function buildJishushellCoreSystemdUnit(opts) {
315
+ return `[Unit]
316
+ Description=JishuShell Core
317
+ After=network-online.target nomad.service
318
+ Wants=network-online.target
319
+
320
+ [Service]
321
+ Type=simple
322
+ User=${opts.currentUser}
323
+ SupplementaryGroups=docker
324
+ Environment=HOME=${opts.realHome}
325
+ Environment=JISHUSHELL_HOME=${JISHUSHELL_HOME}
326
+ EnvironmentFile=-/etc/jishushell/nomad.env
327
+ ExecStart=${opts.coreStartWrapperPath}
328
+ Restart=on-failure
329
+ RestartSec=3
330
+ Environment=NODE_ENV=production
331
+ ProtectSystem=strict
332
+ PrivateTmp=true
333
+ ReadWritePaths=${JISHUSHELL_HOME} /etc/jishushell /usr/local
334
+
335
+ [Install]
336
+ WantedBy=multi-user.target
337
+ `;
338
+ }
339
+ function buildJishushellPanelSystemdUnit(opts) {
340
+ return `[Unit]
341
+ Description=JishuShell Panel
342
+ After=network-online.target jishushell.service
343
+ Wants=network-online.target jishushell.service
344
+
345
+ [Service]
346
+ Type=simple
347
+ User=${opts.currentUser}
348
+ Environment=HOME=${opts.realHome}
349
+ Environment=JISHUSHELL_HOME=${JISHUSHELL_HOME}
350
+ Environment=JISHUSHELL_CORE_BASE_URL=http://127.0.0.1:${opts.corePort}
351
+ Environment=JISHUSHELL_PANEL_PORT=${opts.panelPort}
352
+ Environment=JISHUSHELL_PANEL_MANAGE_CORE=0
353
+ Environment=NODE_ENV=production
354
+ ExecStart=${opts.panelStartWrapperPath}
355
+ Restart=on-failure
356
+ RestartSec=3
357
+ ProtectSystem=strict
358
+ PrivateTmp=true
359
+ ReadWritePaths=${JISHUSHELL_HOME}
360
+
361
+ [Install]
362
+ WantedBy=multi-user.target
363
+ `;
364
+ }
365
+ function buildNomadSystemdUnit(opts) {
366
+ return `[Unit]
367
+ Description=Nomad Agent
368
+ After=network-online.target docker.service
369
+ Wants=network-online.target
370
+
371
+ [Service]
372
+ User=root
373
+ Type=simple
374
+ EnvironmentFile=-/etc/jishushell/nomad.env
375
+ ExecStart=${opts.nomadPath} agent -config=${opts.configPath}
376
+ Restart=on-failure
377
+ RestartSec=3
378
+ Delegate=yes
379
+ TasksMax=infinity
380
+
381
+ [Install]
382
+ WantedBy=multi-user.target
383
+ `;
384
+ }
385
+ export function hasBundledPanel() {
386
+ try {
387
+ resolveBundledPanelServerBin();
388
+ return true;
389
+ }
390
+ catch {
391
+ return false;
392
+ }
393
+ }
394
+ export function getExpectedCoreSystemFiles(port = _serverPort) {
395
+ const nodeBin = process.execPath;
396
+ const cliBin = resolveCoreCliBin();
397
+ const realHome = resolveRealHome();
398
+ const coreStartWrapperPath = join(BIN_DIR, "jishushell-core-start");
399
+ const coreCliWrapperPath = join(BIN_DIR, "jishushell");
400
+ const files = [
401
+ {
402
+ component: "wrapper",
403
+ id: "core.start-wrapper",
404
+ path: coreStartWrapperPath,
405
+ content: buildCoreStartWrapperContent({ nodeBin, cliBin, realHome, port }),
406
+ installScope: "core",
407
+ requiresSudo: false,
408
+ reloadRequired: true,
409
+ fix: "system-reload",
410
+ },
411
+ {
412
+ component: "wrapper",
413
+ id: "core.cli-wrapper",
414
+ path: coreCliWrapperPath,
415
+ content: buildCoreCliWrapperContent({ nodeBin, cliBin, realHome, port }),
416
+ installScope: "core",
417
+ requiresSudo: false,
418
+ reloadRequired: true,
419
+ fix: "system-reload",
420
+ },
421
+ ];
422
+ if (process.platform === "darwin") {
423
+ const gateWrapperPath = join(BIN_DIR, "core-launchd-wrapper.sh");
424
+ files.push({
425
+ component: "wrapper",
426
+ id: "core.launchd-gate-wrapper",
427
+ path: gateWrapperPath,
428
+ content: buildCoreGateWrapper({
429
+ socket: managedColimaSocketPath(JISHUSHELL_HOME, COLIMA_PROFILE),
430
+ coreStartWrapper: coreStartWrapperPath,
431
+ }),
432
+ installScope: "core",
433
+ requiresSudo: false,
434
+ reloadRequired: true,
435
+ fix: "system-reload",
436
+ }, {
437
+ component: "launchd",
438
+ id: "core.launchd-agent",
439
+ path: join(resolveLaunchAgentsDir(realHome), "com.jishushell.core.plist"),
440
+ content: buildCorePlist({
441
+ gateWrapperPath,
442
+ logPath: join(JISHUSHELL_HOME, "jishushell-core.log"),
443
+ }),
444
+ installScope: "core",
445
+ requiresSudo: false,
446
+ reloadRequired: true,
447
+ fix: "system-reload",
448
+ });
449
+ return files;
450
+ }
451
+ files.push({
452
+ component: "systemd",
453
+ id: "core.systemd-unit",
454
+ path: SYSTEMD_CORE_SERVICE_PATH,
455
+ content: buildJishushellCoreSystemdUnit({
456
+ currentUser: resolveServiceUser(),
457
+ realHome,
458
+ coreStartWrapperPath,
459
+ }),
460
+ installScope: "core",
461
+ requiresSudo: true,
462
+ reloadRequired: true,
463
+ fix: "system-reload",
464
+ });
465
+ return files;
466
+ }
467
+ export function getExpectedPanelSystemFiles(corePort = _serverPort, panelPort = DEFAULT_PANEL_PORT) {
468
+ const nodeBin = process.execPath;
469
+ const panelBin = resolveBundledPanelServerBin();
470
+ const realHome = resolveRealHome();
471
+ const panelStartWrapperPath = join(BIN_DIR, "jishushell-panel-start");
472
+ const files = [
473
+ {
474
+ component: "wrapper",
475
+ id: "panel.start-wrapper",
476
+ path: panelStartWrapperPath,
477
+ content: buildPanelStartWrapperContent({
478
+ nodeBin,
479
+ panelBin,
480
+ realHome,
481
+ corePort,
482
+ panelPort,
483
+ }),
484
+ installScope: "panel",
485
+ requiresSudo: false,
486
+ reloadRequired: true,
487
+ fix: "system-reload",
488
+ },
489
+ ];
490
+ if (process.platform === "darwin") {
491
+ files.push({
492
+ component: "launchd",
493
+ id: "panel.launchd-agent",
494
+ path: join(resolveLaunchAgentsDir(realHome), "com.jishushell.panel.plist"),
495
+ content: buildPanelPlist({
496
+ panelWrapperPath: panelStartWrapperPath,
497
+ logPath: join(JISHUSHELL_HOME, "jishushell-panel.log"),
498
+ home: realHome,
499
+ jishuHome: JISHUSHELL_HOME,
500
+ corePort,
501
+ panelPort,
502
+ }),
503
+ installScope: "panel",
504
+ requiresSudo: false,
505
+ reloadRequired: true,
506
+ fix: "system-reload",
507
+ });
508
+ return files;
509
+ }
510
+ files.push({
511
+ component: "systemd",
512
+ id: "panel.systemd-unit",
513
+ path: SYSTEMD_PANEL_SERVICE_PATH,
514
+ content: buildJishushellPanelSystemdUnit({
515
+ currentUser: resolveServiceUser(),
516
+ realHome,
517
+ panelStartWrapperPath,
518
+ corePort,
519
+ panelPort,
520
+ }),
521
+ installScope: "panel",
522
+ requiresSudo: true,
523
+ reloadRequired: true,
524
+ fix: "system-reload",
525
+ });
526
+ return files;
527
+ }
528
+ export function getExpectedNomadSystemFiles() {
529
+ const configPath = join(NOMAD_CONFIG_DIR, "nomad.hcl");
530
+ const files = [
531
+ {
532
+ component: "nomad",
533
+ id: "nomad.config",
534
+ path: configPath,
535
+ content: buildExpectedNomadConfigContent(),
536
+ installScope: "nomad",
537
+ requiresSudo: false,
538
+ reloadRequired: true,
539
+ fix: "system-reload",
540
+ },
541
+ ];
542
+ const nomadPath = resolveNomadExecutable();
543
+ if (process.platform === "darwin") {
544
+ const laDir = resolveLaunchAgentsDir();
545
+ const colimaSocket = managedColimaSocketPath(JISHUSHELL_HOME, COLIMA_PROFILE);
546
+ const colimaDockerHost = managedColimaDockerHost(JISHUSHELL_HOME, COLIMA_PROFILE);
547
+ const colimaWrapperPath = join(BIN_DIR, "colima-launchd-wrapper.sh");
548
+ const nomadWrapperPath = join(BIN_DIR, "nomad-launchd-wrapper.sh");
549
+ files.push({
550
+ component: "wrapper",
551
+ id: "nomad.colima-wrapper",
552
+ path: colimaWrapperPath,
553
+ content: buildColimaWrapperScript({
554
+ colimaHome: _COLIMA_DIR,
555
+ profile: COLIMA_PROFILE,
556
+ socket: colimaSocket,
557
+ colimaBin: resolveColimaExecutable(),
558
+ }),
559
+ installScope: "nomad",
560
+ requiresSudo: false,
561
+ reloadRequired: true,
562
+ fix: "system-reload",
563
+ }, {
564
+ component: "launchd",
565
+ id: "nomad.colima-launchd-agent",
566
+ path: join(laDir, "com.jishushell.colima.plist"),
567
+ content: buildColimaPlist({
568
+ wrapperPath: colimaWrapperPath,
569
+ colimaHome: _COLIMA_DIR,
570
+ logPath: join(_COLIMA_DIR, "colima-launchd.log"),
571
+ }),
572
+ installScope: "nomad",
573
+ requiresSudo: false,
574
+ reloadRequired: true,
575
+ fix: "system-reload",
576
+ }, {
577
+ component: "wrapper",
578
+ id: "nomad.launchd-wrapper",
579
+ path: nomadWrapperPath,
580
+ content: buildNomadWaitWrapper({
581
+ dockerHost: colimaDockerHost,
582
+ nomadBin: nomadPath,
583
+ configPath,
584
+ }),
585
+ installScope: "nomad",
586
+ requiresSudo: false,
587
+ reloadRequired: true,
588
+ fix: "system-reload",
589
+ }, {
590
+ component: "launchd",
591
+ id: "nomad.launchd-agent",
592
+ path: join(laDir, "com.jishushell.nomad.plist"),
593
+ content: buildNomadPlist({
594
+ wrapperPath: nomadWrapperPath,
595
+ dockerHost: colimaDockerHost,
596
+ logPath: join(NOMAD_CONFIG_DIR, "nomad.log"),
597
+ }),
598
+ installScope: "nomad",
599
+ requiresSudo: false,
600
+ reloadRequired: true,
601
+ fix: "system-reload",
602
+ });
603
+ return files;
604
+ }
605
+ files.push({
606
+ component: "systemd",
607
+ id: "nomad.systemd-unit",
608
+ path: SYSTEMD_NOMAD_SERVICE_PATH,
609
+ content: buildNomadSystemdUnit({ nomadPath, configPath }),
610
+ installScope: "nomad",
611
+ requiresSudo: true,
612
+ reloadRequired: true,
613
+ fix: "system-reload",
614
+ });
615
+ return files;
616
+ }
617
+ export function getExpectedSystemFiles(options = {}) {
618
+ const config = getCoreConfig();
619
+ const envCorePort = Number(process.env.JISHUSHELL_CORE_PORT);
620
+ const corePort = options.corePort ??
621
+ (Number.isFinite(envCorePort) && envCorePort > 0 ? envCorePort : Number(config.core_port) || _serverPort);
622
+ const panelPort = options.panelPort ?? DEFAULT_PANEL_PORT;
623
+ const includePanel = options.includePanel ?? hasBundledPanel();
624
+ const includeNomad = options.includeNomad ?? config.service_manager === "nomad";
625
+ const files = getExpectedCoreSystemFiles(corePort);
626
+ if (includePanel)
627
+ files.push(...getExpectedPanelSystemFiles(corePort, panelPort));
628
+ if (includeNomad)
629
+ files.push(...getExpectedNomadSystemFiles());
630
+ return files;
631
+ }
632
+ function persistCoreServicePort(port) {
633
+ const config = getCoreConfig();
634
+ if (Number(config.core_port) === port)
635
+ return;
636
+ config.core_port = port;
637
+ saveCoreConfig(config);
638
+ }
639
+ // ── Task tracker (for SSE progress) ────────────────────────────────
640
+ // Storage, event dispatch, and subscribe plumbing now live in
641
+ // task-registry.ts so non-setup callers can publish tasks without pulling in
642
+ // the rest of setup-manager's bootstrap surface. These re-exports preserve the
643
+ // original import surface used by integration modules, routes, and CLI.
644
+ export { createTask, emitTask, getTask, getTaskSnapshot, getRunningTasks, subscribeTask, } from "../tasks/registry.js";
645
+ const ANSI_ESCAPE_RE = /\u001B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g;
646
+ function sanitizeTaskLine(line) {
647
+ return line
648
+ .replace(ANSI_ESCAPE_RE, "")
649
+ .replace(/[\u0000-\u0008\u000B-\u001F\u007F]/g, "")
650
+ .trimEnd();
651
+ }
652
+ /** Run a shell command as a spawned process, streaming output to a task */
653
+ export function spawnWithTask(task, cmd, args, options = {}) {
654
+ return new Promise((resolve) => {
655
+ const env = { ...process.env, ...options.env };
656
+ const child = nodeSpawn(cmd, args, {
657
+ env,
658
+ cwd: options.cwd,
659
+ timeout: options.timeout || 600000,
660
+ });
661
+ let output = "";
662
+ const stdoutDecoder = new StringDecoder("utf8");
663
+ const stderrDecoder = new StringDecoder("utf8");
664
+ let stdoutPending = "";
665
+ let stderrPending = "";
666
+ const emitLine = (rawLine) => {
667
+ const line = sanitizeTaskLine(rawLine);
668
+ if (!line.trim())
669
+ return;
670
+ // Try to parse progress
671
+ if (options.progressParser) {
672
+ const pct = options.progressParser(line);
673
+ if (pct !== null) {
674
+ emitTask(task, { type: "progress", message: line, progress: pct });
675
+ return;
676
+ }
677
+ }
678
+ emitTask(task, { type: "log", message: line });
679
+ };
680
+ const handleDecodedText = (text, stream) => {
681
+ if (!text)
682
+ return;
683
+ output += text;
684
+ const normalized = `${stream === "stdout" ? stdoutPending : stderrPending}${text}`
685
+ .replace(/\r\n/g, "\n")
686
+ .replace(/\r/g, "\n");
687
+ const lines = normalized.split("\n");
688
+ const pending = lines.pop() ?? "";
689
+ if (stream === "stdout")
690
+ stdoutPending = pending;
691
+ else
692
+ stderrPending = pending;
693
+ for (const line of lines) {
694
+ emitLine(line);
695
+ }
696
+ };
697
+ child.stdout?.on("data", (data) => {
698
+ handleDecodedText(stdoutDecoder.write(data), "stdout");
699
+ });
700
+ child.stderr?.on("data", (data) => {
701
+ handleDecodedText(stderrDecoder.write(data), "stderr");
702
+ });
703
+ child.on("close", (code) => {
704
+ handleDecodedText(stdoutDecoder.end(), "stdout");
705
+ handleDecodedText(stderrDecoder.end(), "stderr");
706
+ emitLine(stdoutPending);
707
+ emitLine(stderrPending);
708
+ resolve({ ok: code === 0, output });
709
+ });
710
+ child.on("error", (err) => {
711
+ emitTask(task, { type: "log", message: `Error: ${err.message}` });
712
+ resolve({ ok: false, output: err.message });
713
+ });
714
+ });
715
+ }
716
+ // ── Progress parsers ───────────────────────────────────────────────
717
+ export function npmProgressParser(line) {
718
+ // npm shows "added X packages" at the end
719
+ if (line.includes("added") && line.includes("packages"))
720
+ return 100;
721
+ // npm progress: "reify:packagename: timing"
722
+ if (line.includes("reify:"))
723
+ return null; // just a log line
724
+ return null;
725
+ }
726
+ export function dockerBuildProgressParser(line) {
727
+ // Docker build steps: "Step 1/6", "Step 2/6", etc.
728
+ const legacyMatch = line.match(/Step\s+(\d+)\/(\d+)/);
729
+ if (legacyMatch) {
730
+ return Math.round((parseInt(legacyMatch[1], 10) / parseInt(legacyMatch[2], 10)) * 100);
731
+ }
732
+ // BuildKit plain output: "#5 [2/4] COPY node_modules ..."
733
+ const buildkitMatch = line.match(/\[(\d+)\/(\d+)\]/);
734
+ if (buildkitMatch) {
735
+ return Math.round((parseInt(buildkitMatch[1], 10) / parseInt(buildkitMatch[2], 10)) * 100);
736
+ }
737
+ if (/exporting to image/i.test(line))
738
+ return 95;
739
+ if (/naming to /i.test(line))
740
+ return 98;
741
+ return null;
742
+ }
743
+ function curlProgressParser(line) {
744
+ // curl with -# shows progress
745
+ const match = line.match(/(\d+\.?\d*)%/);
746
+ if (match)
747
+ return Math.round(parseFloat(match[1]));
748
+ return null;
749
+ }
750
+ // ── Dir size tracker for npm installs ──────────────────────────────
751
+ export function getDirSizeMB(dir) {
752
+ try {
753
+ const result = execFileSync("du", ["-sm", dir], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
754
+ return parseInt(result.split("\t")[0], 10) || 0;
755
+ }
756
+ catch {
757
+ return 0;
758
+ }
759
+ }
760
+ function checkCommand(cmd, versionFlag = "--version") {
761
+ try {
762
+ const version = execFileSync(cmd, [versionFlag], { encoding: "utf-8", timeout: 10000, stdio: ["pipe", "pipe", "pipe"] }).trim();
763
+ let cmdPath = "";
764
+ try {
765
+ cmdPath = execFileSync("which", [cmd], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] }).trim();
766
+ }
767
+ catch { }
768
+ return { ok: true, version, path: cmdPath };
769
+ }
770
+ catch {
771
+ return { ok: false, version: "", path: "" };
772
+ }
773
+ }
774
+ function isPortListening(port) {
775
+ if (!Number.isInteger(port) || port < 1 || port > 65535)
776
+ return false;
777
+ const p = String(port);
778
+ const matchesPort = (output) => new RegExp(`:${p}\\s`).test(output);
779
+ try {
780
+ if (process.platform === "darwin") {
781
+ try {
782
+ const result = execFileSync("lsof", ["-iTCP:" + p, "-sTCP:LISTEN", "-t"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
783
+ if (result.trim().length > 0)
784
+ return true;
785
+ }
786
+ catch {
787
+ }
788
+ try {
789
+ const result = execFileSync("ss", ["-tlnp"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
790
+ if (matchesPort(result))
791
+ return true;
792
+ }
793
+ catch {
794
+ }
795
+ const result = execFileSync("netstat", ["-tlnp"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
796
+ return matchesPort(result);
797
+ }
798
+ // Linux: prefer ss, fall back to netstat
799
+ try {
800
+ const result = execFileSync("ss", ["-tlnp"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
801
+ return matchesPort(result);
802
+ }
803
+ catch {
804
+ const result = execFileSync("netstat", ["-tlnp"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] });
805
+ return matchesPort(result);
806
+ }
807
+ }
808
+ catch {
809
+ return false;
810
+ }
811
+ }
812
+ function waitForListeningPort(port, timeoutSeconds) {
813
+ const deadline = Date.now() + timeoutSeconds * 1000;
814
+ while (Date.now() < deadline) {
815
+ if (isPortListening(port))
816
+ return true;
817
+ try {
818
+ execFileSync("sleep", ["1"], { timeout: 2000 });
819
+ }
820
+ catch {
821
+ return isPortListening(port);
822
+ }
823
+ }
824
+ return isPortListening(port);
825
+ }
826
+ function checkSudo() {
827
+ try {
828
+ execSync("sudo -n true 2>/dev/null", { timeout: 3000 });
829
+ return true;
830
+ }
831
+ catch {
832
+ return false;
833
+ }
834
+ }
835
+ /** Check if kernel memory cgroup is enabled (required for Docker memory stats on RPi) */
836
+ function isCgroupMemoryEnabled() {
837
+ try {
838
+ const cgroups = readFileSync("/proc/cgroups", "utf-8");
839
+ const memLine = cgroups.split("\n").find(l => l.startsWith("memory\t"));
840
+ if (!memLine)
841
+ return false;
842
+ // Format: name hierarchy num_cgroups enabled
843
+ return memLine.trim().endsWith("1");
844
+ }
845
+ catch {
846
+ return true; /* non-Linux or unreadable — assume ok */
847
+ }
848
+ }
849
+ /** Enable cgroup memory in boot cmdline if not already enabled. Returns true if a reboot is needed. */
850
+ export function ensureCgroupMemory() {
851
+ if (isCgroupMemoryEnabled())
852
+ return false;
853
+ const candidates = ["/boot/firmware/cmdline.txt", "/boot/cmdline.txt"];
854
+ for (const f of candidates) {
855
+ if (!existsSync(f))
856
+ continue;
857
+ try {
858
+ const content = readFileSync(f, "utf-8").trim();
859
+ if (content.includes("cgroup_memory=1"))
860
+ return false; // already in cmdline, just needs reboot
861
+ const patched = `${content} cgroup_memory=1 cgroup_enable=memory`;
862
+ execFileSync("sudo", ["cp", f, f + ".bak"], { timeout: 5000 });
863
+ sudoCopySystemFile(patched + "\n", f, "644");
864
+ console.log(`[setup] enabled cgroup memory in ${f} (reboot required)`);
865
+ return true;
866
+ }
867
+ catch (e) {
868
+ console.warn(`[setup] failed to patch ${f}:`, e.message);
869
+ }
870
+ }
871
+ return false;
872
+ }
873
+ function canAccessDockerDaemon(timeout = 10000) {
874
+ const env = buildDockerClientEnv({
875
+ jishuHome: JISHUSHELL_HOME,
876
+ colimaProfile: COLIMA_PROFILE,
877
+ });
878
+ try {
879
+ execFileSync("docker", ["info"], { timeout, stdio: "ignore", env });
880
+ return true;
881
+ }
882
+ catch { }
883
+ try {
884
+ execFileSync("sudo", ["-n", "docker", "info"], { timeout, stdio: "ignore", env });
885
+ return true;
886
+ }
887
+ catch { }
888
+ return false;
889
+ }
890
+ function getDockerVersionLine(timeout = 10000) {
891
+ try {
892
+ return execFileSync("docker", ["--version"], { encoding: "utf-8", timeout }).trim();
893
+ }
894
+ catch { }
895
+ try {
896
+ return execFileSync("sudo", ["-n", "docker", "--version"], { encoding: "utf-8", timeout }).trim();
897
+ }
898
+ catch { }
899
+ return "installed";
900
+ }
901
+ export async function getSetupStatus() {
902
+ // Fast path: if setup is already complete, do lightweight checks before returning cached result
903
+ const config = getCoreConfig();
904
+ if (config.service_manager) {
905
+ const localBin = join(OPENCLAW_BIN_DIR, "openclaw");
906
+ const localBinOk = existsSync(localBin);
907
+ const fastDockerImageReady = checkDockerImageExists();
908
+ const openclawOk = localBinOk || fastDockerImageReady;
909
+ // Lightweight validation: verify critical services are actually available
910
+ const dockerOk = canAccessDockerDaemon(5000);
911
+ const nomadOk = isPortListening(4646);
912
+ const hasSudo = checkSudo();
913
+ // If any critical check fails, fall through to the slow full check path
914
+ if (!openclawOk || !dockerOk || !nomadOk || !hasSudo) {
915
+ // Fall through to full check below
916
+ }
917
+ else {
918
+ // Fetch real versions (cheap execs, no fallback to slow path)
919
+ let dockerVer = "installed";
920
+ try {
921
+ dockerVer = execFileSync("docker", ["--version"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] }).trim().split("\n")[0];
922
+ }
923
+ catch { }
924
+ let nomadVer = "installed";
925
+ try {
926
+ nomadVer = execFileSync(NOMAD_BIN, ["--version"], { encoding: "utf-8", timeout: 5000, stdio: ["pipe", "pipe", "pipe"] }).trim().split("\n")[0];
927
+ }
928
+ catch { }
929
+ let openclawVer = "installed";
930
+ let openclawPath = localBin;
931
+ // Prefer npm package.json for accurate OpenClaw version.
932
+ try {
933
+ const pkg = join(OPENCLAW_MODULES, "openclaw", "package.json");
934
+ if (existsSync(pkg))
935
+ openclawVer = JSON.parse(readFileSync(pkg, "utf-8")).version || openclawVer;
936
+ }
937
+ catch { }
938
+ const runtimes = await buildRuntimesStatus();
939
+ const ready = requiredRuntimesReady(runtimes);
940
+ return {
941
+ node: { name: "Node.js", installed: true, running: true, version: process.version, path: process.execPath },
942
+ docker: { name: "Docker", installed: true, running: true, version: dockerVer, path: "" },
943
+ nomad: { name: "Nomad", installed: true, running: true, version: nomadVer, path: NOMAD_BIN },
944
+ openclaw: { name: "OpenClaw", installed: openclawOk, running: false, version: openclawVer, path: openclawPath },
945
+ runtimeImageReady: fastDockerImageReady,
946
+ ready,
947
+ providerConfigured: hasLlmProviderSetup(),
948
+ hasSudo: true,
949
+ runtimes,
950
+ };
951
+ }
952
+ }
953
+ const NODE_MINIMUM_MAJOR = 22;
954
+ // Use the currently-running Node binary (process.execPath) as the ground
955
+ // truth — avoids false-negative when PATH doesn't include nvm's bin dir
956
+ // (e.g. when started via systemd with a minimal environment).
957
+ const nodeVersion = process.version;
958
+ const nodeMajor = parseInt(nodeVersion.replace("v", "").split(".")[0], 10);
959
+ const nodeStatus = {
960
+ name: "Node.js",
961
+ installed: true,
962
+ running: true,
963
+ version: nodeVersion,
964
+ path: process.execPath,
965
+ needsUpgrade: nodeMajor < NODE_MINIMUM_MAJOR,
966
+ };
967
+ const docker = checkCommand("docker");
968
+ // Use docker info to verify daemon accessibility (not just process existence)
969
+ // Also try sudo in case the user hasn't logged out since being added to the docker group
970
+ const dockerRunning = canAccessDockerDaemon(10000);
971
+ const dockerStatus = {
972
+ name: "Docker",
973
+ installed: docker.ok,
974
+ running: dockerRunning,
975
+ version: docker.version.split("\n")[0],
976
+ path: docker.path,
977
+ };
978
+ let nomad = checkCommand("nomad");
979
+ if (!nomad.ok && existsSync(NOMAD_BIN)) {
980
+ nomad = checkCommand(NOMAD_BIN);
981
+ }
982
+ const nomadRunning = isPortListening(4646);
983
+ const nomadStatus = {
984
+ name: "Nomad",
985
+ installed: nomad.ok,
986
+ running: nomadRunning,
987
+ version: nomad.version.split("\n")[0],
988
+ path: nomad.path || NOMAD_BIN,
989
+ };
990
+ let openclaw = checkCommand("openclaw");
991
+ if (!openclaw.ok) {
992
+ const localBin = join(OPENCLAW_BIN_DIR, "openclaw");
993
+ if (existsSync(localBin)) {
994
+ let ver = "installed";
995
+ try {
996
+ const pkg = join(OPENCLAW_MODULES, "openclaw", "package.json");
997
+ if (existsSync(pkg)) {
998
+ const pkgJson = JSON.parse(readFileSync(pkg, "utf-8"));
999
+ ver = pkgJson.version || "installed";
1000
+ }
1001
+ }
1002
+ catch { }
1003
+ openclaw = { ok: true, version: ver, path: localBin };
1004
+ }
1005
+ }
1006
+ const runtimeImageReady = checkDockerImageExists();
1007
+ // If the Docker image already exists, treat openclaw as installed even when
1008
+ // the local npm package is absent — the image is all that's needed to run instances.
1009
+ if (!openclaw.ok && runtimeImageReady) {
1010
+ const imageTag = resolveDockerImageTag();
1011
+ const tagVersion = imageTag.split(":").pop() || "local";
1012
+ openclaw = { ok: true, version: tagVersion, path: imageTag };
1013
+ }
1014
+ const openclawStatus = {
1015
+ name: "OpenClaw",
1016
+ installed: openclaw.ok,
1017
+ running: false,
1018
+ version: openclaw.version.split("\n")[0],
1019
+ path: openclaw.path,
1020
+ };
1021
+ const runtimes = await buildRuntimesStatus();
1022
+ const ready = nodeStatus.installed
1023
+ && !nodeStatus.needsUpgrade
1024
+ && dockerStatus.installed
1025
+ && dockerStatus.running
1026
+ && nomadStatus.installed
1027
+ && nomadStatus.running
1028
+ && requiredRuntimesReady(runtimes);
1029
+ const providerConfigured = hasLlmProviderSetup();
1030
+ // Read-only check: report whether cgroup memory needs fixing (actual fix is in POST install routes)
1031
+ let needsReboot;
1032
+ if (dockerStatus.installed && !isCgroupMemoryEnabled()) {
1033
+ needsReboot = true;
1034
+ }
1035
+ const runningTasks = getRunningTasks();
1036
+ return { node: nodeStatus, docker: dockerStatus, nomad: nomadStatus, openclaw: openclawStatus, ready, providerConfigured, runtimeImageReady, hasSudo: checkSudo(), needsReboot, runningTasks: runningTasks.length ? runningTasks : undefined, runtimes };
1037
+ }
1038
+ /**
1039
+ * Build the per-runtime install status block by iterating over every
1040
+ * registered integration. A new integration that implements `getInstallStatus()`
1041
+ * automatically appears here — no change required in this function.
1042
+ *
1043
+ * Each probe is bounded by a short timeout so a hung integration (slow docker
1044
+ * socket, DNS stall) cannot block the `/api/setup/status` endpoint. This
1045
+ * mirrors the pattern used by `services/integrations/catalog.ts` so the
1046
+ * Setup wizard and `/api/integrations` see a consistent view.
1047
+ */
1048
+ const BUILD_RUNTIMES_PROBE_TIMEOUT_MS = 2500;
1049
+ function requiredRuntimesReady(runtimes) {
1050
+ const required = listRegisteredIntegrations().filter((integration) => integration.manifest?.requiredForSetupReady === true);
1051
+ if (required.length === 0)
1052
+ return false;
1053
+ return required.every((integration) => {
1054
+ const status = runtimes?.[integration.kind];
1055
+ return status?.installed === true && status.imageReady === true;
1056
+ });
1057
+ }
1058
+ async function buildRuntimesStatus() {
1059
+ const integrations = listRegisteredIntegrations().filter((a) => typeof a.getInstallStatus === "function");
1060
+ const probes = integrations.map(async (integration) => {
1061
+ let timer;
1062
+ try {
1063
+ const status = await Promise.race([
1064
+ Promise.resolve(integration.getInstallStatus()),
1065
+ new Promise((_, reject) => {
1066
+ timer = setTimeout(() => reject(new Error("install-status probe timed out")), BUILD_RUNTIMES_PROBE_TIMEOUT_MS);
1067
+ }),
1068
+ ]);
1069
+ if (!status)
1070
+ return null;
1071
+ const sync = status;
1072
+ return [integration.kind, { ...sync, required: integration.manifest?.requiredForSetupReady === true }];
1073
+ }
1074
+ catch {
1075
+ return null;
1076
+ }
1077
+ finally {
1078
+ if (timer)
1079
+ clearTimeout(timer);
1080
+ }
1081
+ });
1082
+ const out = {};
1083
+ for (const result of await Promise.all(probes)) {
1084
+ if (result)
1085
+ out[result[0]] = result[1];
1086
+ }
1087
+ return Object.keys(out).length ? out : undefined;
1088
+ }
1089
+ // ── Upgrade Node.js ────────────────────────────────────────────────
1090
+ export async function upgradeNode(targetMajor = 22) {
1091
+ try {
1092
+ const current = process.version; // e.g. "v20.20.1"
1093
+ const currentMajor = parseInt(current.replace("v", "").split(".")[0], 10);
1094
+ if (currentMajor >= targetMajor) {
1095
+ return { ok: true, message: `Node.js ${current} already meets requirement (>= ${targetMajor})` };
1096
+ }
1097
+ const task = createTask("node-upgrade");
1098
+ emitTask(task, { type: "progress", message: `升级 Node.js: ${current} → v${targetMajor}`, progress: 0 });
1099
+ if (process.platform === "darwin") {
1100
+ try {
1101
+ execSync("brew --version", { timeout: 5000 });
1102
+ }
1103
+ catch {
1104
+ emitTask(task, { type: "error", message: "未找到 Homebrew" });
1105
+ task.status = "error";
1106
+ return { ok: false, message: "Homebrew not found", error: "Install Homebrew first: https://brew.sh", taskId: task.id };
1107
+ }
1108
+ emitTask(task, { type: "progress", message: `安装 Node.js ${targetMajor} (brew)...`, progress: 20 });
1109
+ const installResult = await spawnWithTask(task, "brew", ["install", `node@${targetMajor}`], { timeout: 300000 });
1110
+ if (!installResult.ok) {
1111
+ emitTask(task, { type: "error", message: "Node.js 安装失败" });
1112
+ task.status = "error";
1113
+ return { ok: false, message: "Node.js install failed", error: installResult.output, taskId: task.id };
1114
+ }
1115
+ emitTask(task, { type: "progress", message: "链接 Node.js...", progress: 80 });
1116
+ try {
1117
+ execSync(`brew link --overwrite --force node@${targetMajor}`, { timeout: 30000 });
1118
+ }
1119
+ catch { }
1120
+ }
1121
+ else {
1122
+ // Use NodeSource setup script
1123
+ emitTask(task, { type: "log", message: "下载 NodeSource 安装脚本..." });
1124
+ emitTask(task, { type: "progress", message: "配置软件源...", progress: 10 });
1125
+ // Use a unique temp path to prevent TOCTOU race: a fixed name like
1126
+ // /tmp/nodesource_setup_22.sh could be replaced by another process
1127
+ // between download (curl) and execution (sudo bash).
1128
+ const nsScriptPath = join(tmpdir(), `nodesource_setup_${targetMajor}_${randomBytes(8).toString("hex")}.sh`);
1129
+ const dlResult = await spawnWithTask(task, "curl", ["-fsSL", `https://deb.nodesource.com/setup_${targetMajor}.x`, "-o", nsScriptPath], { timeout: 60000 });
1130
+ if (!dlResult.ok) {
1131
+ emitTask(task, { type: "error", message: "NodeSource 脚本下载失败" });
1132
+ task.status = "error";
1133
+ return { ok: false, message: "NodeSource script download failed", error: dlResult.output, taskId: task.id };
1134
+ }
1135
+ const setupResult = await spawnWithTask(task, "sudo", ["-E", "bash", nsScriptPath], { timeout: 120000 });
1136
+ if (!setupResult.ok) {
1137
+ emitTask(task, { type: "error", message: "NodeSource 配置失败" });
1138
+ task.status = "error";
1139
+ return { ok: false, message: "Node.js source setup failed", error: setupResult.output, taskId: task.id };
1140
+ }
1141
+ emitTask(task, { type: "progress", message: "安装 Node.js...", progress: 50 });
1142
+ const installResult = await spawnWithTask(task, "sudo", ["apt-get", "install", "-y", "nodejs"], { timeout: 300000 });
1143
+ if (!installResult.ok) {
1144
+ emitTask(task, { type: "error", message: "Node.js 安装失败" });
1145
+ task.status = "error";
1146
+ return { ok: false, message: "Node.js install failed", error: installResult.output, taskId: task.id };
1147
+ }
1148
+ }
1149
+ const newVersion = execSync("node --version", { encoding: "utf-8", timeout: 5000 }).trim();
1150
+ emitTask(task, { type: "done", message: `Node.js 升级完成: ${newVersion}`, progress: 100 });
1151
+ task.status = "done";
1152
+ return { ok: true, message: `Node.js upgraded to ${newVersion}. 请重启 JishuShell 以使用新版本。`, taskId: task.id };
1153
+ }
1154
+ catch (e) {
1155
+ return { ok: false, message: "Node.js upgrade failed", error: e.message };
1156
+ }
1157
+ }
1158
+ // ── Install Docker (async with progress) ───────────────────────────
1159
+ async function installDockerWithTask(task) {
1160
+ try {
1161
+ emitTask(task, { type: "progress", message: "开始安装 Docker...", progress: 0 });
1162
+ // macOS short-circuit: the rest of this function targets apt/get.docker.com,
1163
+ // both of which silently no-op or hard-fail on Darwin. Docker on macOS is
1164
+ // provided by Colima (auto-installed by the bash installer at
1165
+ // install/jishu-install.sh) — not by this code path. Refuse early with a
1166
+ // clear pointer so the user doesn't see a confusing apt error.
1167
+ if (process.platform === "darwin") {
1168
+ const msg = "macOS Docker 需要 Colima。请运行 shell 安装器 (curl -fsSL https://raw.githubusercontent.com/nicepkg/jishushell/main/install/jishu-install.sh | bash),或参阅 docs/macos-colima.md 手动安装 Colima。";
1169
+ emitTask(task, { type: "error", message: msg });
1170
+ task.status = "error";
1171
+ return { ok: false, message: msg, error: "darwin-not-supported-via-this-path" };
1172
+ }
1173
+ const user = execSync("whoami", { encoding: "utf-8", timeout: 5000 }).trim();
1174
+ // ── Try the get.docker.com convenience script ─────────────────
1175
+ emitTask(task, { type: "log", message: "下载 Docker 安装脚本..." });
1176
+ emitTask(task, { type: "progress", message: "下载中...", progress: 5 });
1177
+ // Unique temp path prevents TOCTOU: another user can't swap a fixed /tmp/get-docker.sh
1178
+ // between our download and the sudo sh invocation.
1179
+ const dockerScriptPath = join(tmpdir(), `get-docker_${randomBytes(8).toString("hex")}.sh`);
1180
+ const dlResult = await spawnWithTask(task, "curl", ["-fsSL", "https://get.docker.com", "-o", dockerScriptPath], {
1181
+ timeout: 60000,
1182
+ });
1183
+ let scriptOk = false;
1184
+ if (dlResult.ok) {
1185
+ emitTask(task, { type: "log", message: "运行 Docker 安装脚本..." });
1186
+ const scriptResult = await spawnWithTask(task, "sudo", ["sh", dockerScriptPath], {
1187
+ timeout: 600000,
1188
+ progressParser: (line) => {
1189
+ if (line.includes("Executing docker install script"))
1190
+ return 10;
1191
+ if (line.includes("apt-get update"))
1192
+ return 20;
1193
+ if (line.includes("Installing packages"))
1194
+ return 40;
1195
+ if (line.includes("docker-ce"))
1196
+ return 60;
1197
+ if (line.includes("containerd"))
1198
+ return 70;
1199
+ if (line.includes("Created symlink"))
1200
+ return 85;
1201
+ return null;
1202
+ },
1203
+ });
1204
+ scriptOk = scriptResult.ok;
1205
+ if (!scriptOk) {
1206
+ emitTask(task, { type: "log", message: "便捷脚本安装失败,尝试 apt 仓库方式..." });
1207
+ }
1208
+ }
1209
+ else {
1210
+ emitTask(task, { type: "log", message: "下载便捷脚本失败,尝试 apt 仓库方式..." });
1211
+ }
1212
+ // ── Fallback: apt-repo manual install (handles Debian trixie pre-releases) ─
1213
+ if (!scriptOk) {
1214
+ emitTask(task, { type: "progress", message: "通过 apt 仓库安装 Docker...", progress: 15 });
1215
+ // Detect system ID + codename; downgrade trixie/sid to bookworm.
1216
+ let codename = "bookworm";
1217
+ let repoOs = "debian";
1218
+ try {
1219
+ const osRelease = readFileSync("/etc/os-release", "utf-8");
1220
+ const codenameMatch = osRelease.match(/^VERSION_CODENAME=(.+)$/m);
1221
+ const distroId = (osRelease.match(/^ID=(.+)$/m)?.[1] || "debian").trim();
1222
+ const raw = (codenameMatch?.[1] || "").trim();
1223
+ repoOs = (distroId === "ubuntu") ? "ubuntu" : "debian";
1224
+ // Debian testing/unstable (trixie, sid) → use the previous stable repo.
1225
+ const unstableCodenames = new Set(["trixie", "forky", "sid", "unstable", "testing"]);
1226
+ const ubuntuFallback = "noble";
1227
+ if (distroId === "ubuntu" && unstableCodenames.has(raw)) {
1228
+ codename = ubuntuFallback;
1229
+ }
1230
+ else if (unstableCodenames.has(raw)) {
1231
+ codename = "bookworm";
1232
+ }
1233
+ else {
1234
+ codename = raw || "bookworm";
1235
+ }
1236
+ }
1237
+ catch { }
1238
+ emitTask(task, { type: "log", message: `使用仓库 codename: ${codename} (OS: ${repoOs})` });
1239
+ const aptSteps = [
1240
+ ["sudo", ["apt-get", "update", "-qq"]],
1241
+ ["sudo", ["apt-get", "install", "-y", "-qq", "ca-certificates", "curl", "gnupg"]],
1242
+ ["sudo", ["install", "-m", "0755", "-d", "/etc/apt/keyrings"]],
1243
+ ["sudo", ["bash", "-c",
1244
+ `curl -fsSL https://download.docker.com/linux/${repoOs}/gpg | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg && chmod a+r /etc/apt/keyrings/docker.gpg`
1245
+ ]],
1246
+ ["sudo", ["bash", "-c",
1247
+ `echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/${repoOs} ${codename} stable" > /etc/apt/sources.list.d/docker.list`
1248
+ ]],
1249
+ ["sudo", ["apt-get", "update", "-qq"]],
1250
+ ["sudo", ["apt-get", "install", "-y", "-qq",
1251
+ "docker-ce", "docker-ce-cli", "containerd.io", "docker-buildx-plugin", "docker-compose-plugin"
1252
+ ]],
1253
+ ];
1254
+ const progressSteps = [5, 15, 20, 30, 35, 45, 80];
1255
+ for (let i = 0; i < aptSteps.length; i++) {
1256
+ const [cmd, args] = aptSteps[i];
1257
+ emitTask(task, { type: "progress", message: `${cmd} ${args[0]}...`, progress: progressSteps[i] });
1258
+ const r = await spawnWithTask(task, cmd, args, { timeout: 300000 });
1259
+ if (!r.ok) {
1260
+ emitTask(task, { type: "error", message: `apt 安装失败 (步骤 ${i + 1}): ${args.join(" ")}` });
1261
+ task.status = "error";
1262
+ return { ok: false, message: "Docker apt installation failed", error: r.output, taskId: task.id };
1263
+ }
1264
+ }
1265
+ }
1266
+ // ── Wrap up ────────────────────────────────────────────────────
1267
+ emitTask(task, { type: "progress", message: "配置用户权限...", progress: 90 });
1268
+ try {
1269
+ execFileSync("sudo", ["groupadd", "docker"], { timeout: 10000 });
1270
+ }
1271
+ catch { }
1272
+ try {
1273
+ execFileSync("sudo", ["usermod", "-aG", "docker", user], { timeout: 10000 });
1274
+ }
1275
+ catch { }
1276
+ emitTask(task, { type: "log", message: "注意: Docker 用户组变更可能需要重新登录才能生效" });
1277
+ emitTask(task, { type: "progress", message: "启动 Docker 服务...", progress: 93 });
1278
+ try {
1279
+ execSync("sudo systemctl enable --now docker", { timeout: 30000 });
1280
+ }
1281
+ catch { }
1282
+ // Enable cgroup memory for Docker stats (RPi default has it disabled)
1283
+ const needsReboot = ensureCgroupMemory();
1284
+ if (needsReboot) {
1285
+ emitTask(task, { type: "log", message: "已启用内存 cgroup(需要重启生效,Docker 内存统计才会正常)" });
1286
+ }
1287
+ const version = getDockerVersionLine(10000);
1288
+ // Verify the daemon via `sudo docker` (needed when the current user is not in the docker group yet).
1289
+ const daemonOk = canAccessDockerDaemon(10000);
1290
+ if (daemonOk) {
1291
+ const doneMsg = needsReboot
1292
+ ? `Docker 安装完成: ${version}(需要重启以启用内存统计)`
1293
+ : `Docker 安装完成: ${version}`;
1294
+ emitTask(task, { type: "done", message: doneMsg, progress: 100 });
1295
+ task.status = "done";
1296
+ return { ok: true, message: `Docker installed: ${version}`, needsReboot, taskId: task.id };
1297
+ }
1298
+ else {
1299
+ emitTask(task, { type: "error", message: `Docker 已安装但 daemon 未运行: ${version}` });
1300
+ task.status = "error";
1301
+ return { ok: false, message: `Docker installed but daemon not accessible`, error: "Try: sudo systemctl start docker", taskId: task.id };
1302
+ }
1303
+ }
1304
+ catch (e) {
1305
+ return { ok: false, message: "Docker installation failed", error: e.message };
1306
+ }
1307
+ }
1308
+ /** Ensure current user is in docker group and service is enabled (idempotent) */
1309
+ function ensureDockerPostInstall() {
1310
+ try {
1311
+ const user = execSync("whoami", { encoding: "utf-8", timeout: 5000 }).trim();
1312
+ try {
1313
+ execFileSync("sudo", ["groupadd", "docker"], { timeout: 5000, stdio: "pipe" });
1314
+ }
1315
+ catch { }
1316
+ try {
1317
+ execFileSync("sudo", ["usermod", "-aG", "docker", user], { timeout: 5000 });
1318
+ }
1319
+ catch { }
1320
+ try {
1321
+ execFileSync("sudo", ["systemctl", "enable", "--now", "docker"], { timeout: 10000 });
1322
+ }
1323
+ catch { }
1324
+ }
1325
+ catch { }
1326
+ }
1327
+ export async function installDocker() {
1328
+ if (canAccessDockerDaemon(5000)) {
1329
+ ensureDockerPostInstall();
1330
+ const needsReboot = ensureCgroupMemory();
1331
+ return { ok: true, message: "Docker already installed", needsReboot };
1332
+ }
1333
+ const task = createTask("docker");
1334
+ return installDockerWithTask(task);
1335
+ }
1336
+ export function startInstallDocker() {
1337
+ if (canAccessDockerDaemon(5000)) {
1338
+ ensureDockerPostInstall();
1339
+ ensureCgroupMemory();
1340
+ return { ok: true, message: "Docker already installed" };
1341
+ }
1342
+ const task = createTask("docker");
1343
+ void installDockerWithTask(task).catch((err) => {
1344
+ emitTask(task, { type: "error", message: `Docker 安装失败: ${err?.message || err}` });
1345
+ task.status = "error";
1346
+ });
1347
+ return { ok: true, message: "Docker install started", taskId: task.id };
1348
+ }
1349
+ // ── Install Nomad (async with progress) ────────────────────────────
1350
+ function getNomadDownloadUrl() {
1351
+ const arch = process.arch === "arm64" ? "arm64" : "amd64";
1352
+ const os = process.platform === "linux" ? "linux" : "darwin";
1353
+ return `https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_${os}_${arch}.zip`;
1354
+ }
1355
+ /**
1356
+ * Signal nomad agents by exact process name (pgrep -x nomad) to avoid the
1357
+ * classic pkill -f self-match bug: a command line like "pkill -f 'nomad agent'"
1358
+ * literally contains the pattern and pkill kills itself before reaching the
1359
+ * real nomad process. pgrep's own comm is "pgrep" (not "nomad") so -x nomad
1360
+ * cannot self-match. Unprivileged kill is tried first; sudo -n as a fallback
1361
+ * if the running nomad is owned by root (1.6.5 User=root unit).
1362
+ */
1363
+ function killNomadByProcName() {
1364
+ const collect = () => {
1365
+ try {
1366
+ const out = execSync("pgrep -x nomad 2>/dev/null || true", { encoding: "utf-8" }).trim();
1367
+ return out.split("\n").filter(Boolean);
1368
+ }
1369
+ catch {
1370
+ return [];
1371
+ }
1372
+ };
1373
+ const sendSignal = (sig, pids) => {
1374
+ if (pids.length === 0)
1375
+ return;
1376
+ try {
1377
+ execFileSync("sudo", ["-n", "kill", `-${sig}`, ...pids], { timeout: 5000, stdio: "pipe" });
1378
+ return;
1379
+ }
1380
+ catch { }
1381
+ try {
1382
+ execSync(`kill -${sig} ${pids.join(" ")} 2>/dev/null || true`, { timeout: 5000 });
1383
+ }
1384
+ catch { }
1385
+ };
1386
+ let pids = collect();
1387
+ sendSignal("TERM", pids);
1388
+ if (pids.length > 0) {
1389
+ // Short grace period, then SIGKILL any survivors.
1390
+ execSync("sleep 2");
1391
+ pids = collect();
1392
+ sendSignal("KILL", pids);
1393
+ }
1394
+ }
1395
+ /** Compare two "a.b.c" semver strings; returns a > b. */
1396
+ function isNomadVersionGreater(a, b) {
1397
+ const parse = (v) => v.replace(/^v/, "").split(".").map(n => parseInt(n, 10) || 0);
1398
+ const [aMaj, aMin, aPat] = parse(a);
1399
+ const [bMaj, bMin, bPat] = parse(b);
1400
+ if (aMaj !== bMaj)
1401
+ return aMaj > bMaj;
1402
+ if (aMin !== bMin)
1403
+ return aMin > bMin;
1404
+ return aPat > bPat;
1405
+ }
1406
+ /**
1407
+ * Auto-migrate from a higher Nomad version (e.g. 1.11.3 BSL) back to the
1408
+ * jishushell target (1.6.5 MPL). Called when installNomad detects a local
1409
+ * binary whose semver is > NOMAD_VERSION. Destructive to Nomad's raft state
1410
+ * (schema is not backward compatible) but preserves instance configs under
1411
+ * ~/.jishushell/instances/*. A single tar.gz snapshot of the old data_dir
1412
+ * is kept under ~/.jishushell/nomad/backups/ for forensic inspection.
1413
+ *
1414
+ * Safe-first: the new binary is downloaded and verified BEFORE any existing
1415
+ * state is touched. If any stage 1 step fails, state is untouched.
1416
+ *
1417
+ * Throws on failure so the caller's outer catch reports the error.
1418
+ */
1419
+ async function migrateNomadToTarget(currentVersion) {
1420
+ console.log(`[nomad] Auto-migrating v${currentVersion} → v${NOMAD_VERSION} (BSL → MPL)`);
1421
+ console.log("[nomad] Raft state is not backward-compatible; allocation history will be reset.");
1422
+ console.log("[nomad] Instance configs under ~/.jishushell/instances/ are preserved.");
1423
+ // ── Stage 1: download + verify new binary into a staging dir ─────────
1424
+ const stageDir = mkdtempSync(join(tmpdir(), "nomad-migrate-"));
1425
+ let backupFile = "";
1426
+ try {
1427
+ const stagedBin = join(stageDir, "nomad");
1428
+ const zipPath = join(stageDir, "nomad.zip");
1429
+ const url = getNomadDownloadUrl();
1430
+ const arch = process.arch === "arm64" ? "arm64" : "amd64";
1431
+ const os = process.platform === "linux" ? "linux" : "darwin";
1432
+ const sumsUrl = `https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_SHA256SUMS`;
1433
+ const sumsPath = join(stageDir, "SHA256SUMS");
1434
+ console.log(`[nomad] Staging v${NOMAD_VERSION} (${os}/${arch})...`);
1435
+ execFileSync("curl", ["-fsSL", url, "-o", zipPath], { timeout: 300000, stdio: "pipe" });
1436
+ execFileSync("curl", ["-fsSL", sumsUrl, "-o", sumsPath], { timeout: 30000, stdio: "pipe" });
1437
+ const sums = readFileSync(sumsPath, "utf-8");
1438
+ const sumLine = sums.split("\n").find(l => l.includes(`nomad_${NOMAD_VERSION}_${os}_${arch}.zip`));
1439
+ if (!sumLine)
1440
+ throw new Error(`No checksum entry for nomad_${NOMAD_VERSION}_${os}_${arch}.zip`);
1441
+ const expected = sumLine.split(/\s+/)[0];
1442
+ // Match the bash installer: prefer sha256sum (GNU coreutils, Linux),
1443
+ // fall back to shasum -a 256 (BSD, macOS default — sha256sum is not
1444
+ // preinstalled there). Without this, triggering auto-migration from
1445
+ // the WebUI / Node path on macOS would fail even though the shell
1446
+ // installer works fine.
1447
+ let actual;
1448
+ try {
1449
+ actual = execSync(`sha256sum "${zipPath}" | awk '{print $1}'`, { encoding: "utf-8" }).trim();
1450
+ }
1451
+ catch {
1452
+ actual = execSync(`shasum -a 256 "${zipPath}" | awk '{print $1}'`, { encoding: "utf-8" }).trim();
1453
+ }
1454
+ if (expected !== actual) {
1455
+ throw new Error(`Nomad checksum mismatch: expected ${expected}, got ${actual}`);
1456
+ }
1457
+ console.log("[nomad] Checksum verified");
1458
+ execFileSync("unzip", ["-o", zipPath, "-d", stageDir], { timeout: 30000 });
1459
+ chmodSync(stagedBin, 0o755);
1460
+ const stagedVersionLine = execFileSync(stagedBin, ["version"], { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
1461
+ if (!stagedVersionLine.includes(`v${NOMAD_VERSION}`)) {
1462
+ throw new Error(`Staged binary reports "${stagedVersionLine}", expected v${NOMAD_VERSION}`);
1463
+ }
1464
+ console.log(`[nomad] Staged ${stagedVersionLine}`);
1465
+ // ── Stage 2: destructive state changes begin ───────────────────────
1466
+ console.log("[nomad] Stopping services...");
1467
+ try {
1468
+ execFileSync("sudo", ["-n", "systemctl", "stop", "jishushell"], { timeout: 15000, stdio: "pipe" });
1469
+ }
1470
+ catch { }
1471
+ try {
1472
+ execFileSync("sudo", ["-n", "systemctl", "stop", "nomad"], { timeout: 15000, stdio: "pipe" });
1473
+ }
1474
+ catch { }
1475
+ // pkill -f 'nomad agent' matches pkill's own cmdline and self-terminates
1476
+ // before reaching the real nomad process. Use pgrep -x nomad (exact proc
1477
+ // name match; pgrep's comm is "pgrep") to avoid the self-match bug.
1478
+ killNomadByProcName();
1479
+ await new Promise(r => setTimeout(r, 2000));
1480
+ // ── Stage 3: tar backup (single snapshot, overwrite any previous) ──
1481
+ const backupDir = join(NOMAD_CONFIG_DIR, "backups");
1482
+ if (existsSync(NOMAD_DATA_DIR)) {
1483
+ try {
1484
+ ensureDirHost(backupDir);
1485
+ }
1486
+ catch { }
1487
+ const ts = new Date().toISOString().replace(/[-:]/g, "").replace(/\..+/, "").replace("T", "-");
1488
+ const candidate = join(backupDir, `data-${ts}.tar.gz`);
1489
+ console.log(`[nomad] Backing up raft state → ${candidate}`);
1490
+ try {
1491
+ execSync(`tar czf "${candidate}" -C "${NOMAD_CONFIG_DIR}" data 2>/dev/null`, { timeout: 120000 });
1492
+ backupFile = candidate;
1493
+ // Keep only the most recent snapshot
1494
+ try {
1495
+ const list = execSync(`ls -t "${backupDir}"/data-*.tar.gz 2>/dev/null | tail -n +2 || true`, { encoding: "utf-8" }).trim();
1496
+ for (const old of list.split("\n").filter(Boolean)) {
1497
+ try {
1498
+ unlinkSync(old);
1499
+ }
1500
+ catch { }
1501
+ }
1502
+ }
1503
+ catch { }
1504
+ }
1505
+ catch {
1506
+ console.warn("[nomad] Backup tar failed — continuing (raft state will still be wiped)");
1507
+ }
1508
+ }
1509
+ // ── Stage 4: wipe raft state + env files (schema incompatible) ─────
1510
+ try {
1511
+ execFileSync("sudo", ["-n", "rm", "-rf", NOMAD_DATA_DIR], { timeout: 15000, stdio: "pipe" });
1512
+ }
1513
+ catch {
1514
+ try {
1515
+ rmSync(NOMAD_DATA_DIR, { recursive: true, force: true });
1516
+ }
1517
+ catch { }
1518
+ }
1519
+ try {
1520
+ unlinkSync(join(JISHUSHELL_HOME, "nomad.env"));
1521
+ }
1522
+ catch { }
1523
+ try {
1524
+ execFileSync("sudo", ["-n", "rm", "-f", "/etc/jishushell/nomad.env"], { timeout: 5000, stdio: "pipe" });
1525
+ }
1526
+ catch { }
1527
+ // ── Stage 5: orphaned gateway containers ───────────────────────────
1528
+ // Panel normally has docker group via jishushell.service SupplementaryGroups,
1529
+ // but postinstall may run this helper from a shell where the invoking
1530
+ // user is not in docker group. Probe first, fall back to sudo docker.
1531
+ try {
1532
+ let dockerCmd = "docker";
1533
+ try {
1534
+ execSync("docker ps >/dev/null 2>&1", { timeout: 5000 });
1535
+ }
1536
+ catch {
1537
+ dockerCmd = "sudo -n docker";
1538
+ }
1539
+ const names = execSync(`${dockerCmd} ps -a --format '{{.Names}}' 2>/dev/null | grep '^gateway-' || true`, { encoding: "utf-8" }).trim();
1540
+ if (names) {
1541
+ const rows = names.split("\n").filter(Boolean);
1542
+ for (const name of rows) {
1543
+ try {
1544
+ execSync(`${dockerCmd} rm -f "${name}" 2>/dev/null`, { timeout: 10000 });
1545
+ }
1546
+ catch { }
1547
+ }
1548
+ console.log(`[nomad] Removed ${rows.length} orphaned gateway container(s)`);
1549
+ }
1550
+ }
1551
+ catch { }
1552
+ // ── Stage 6: swap binary into place (atomic via temp name + rename)
1553
+ ensureDirHost(BIN_DIR);
1554
+ const destTmp = `${NOMAD_BIN}.tmp.${process.pid}`;
1555
+ copyFileSync(stagedBin, destTmp);
1556
+ chmodSync(destTmp, 0o755);
1557
+ renameSync(destTmp, NOMAD_BIN);
1558
+ console.log(`[nomad] Migrated to v${NOMAD_VERSION}`);
1559
+ if (backupFile)
1560
+ console.log(`[nomad] Backup (forensic, not self-recovery): ${backupFile}`);
1561
+ console.log("[nomad] JishuShell will re-bootstrap ACL and resubmit jobs on next start.");
1562
+ }
1563
+ catch (err) {
1564
+ if (backupFile) {
1565
+ console.error(`[nomad] Migration failed — backup preserved at ${backupFile}`);
1566
+ }
1567
+ throw err;
1568
+ }
1569
+ finally {
1570
+ try {
1571
+ rmSync(stageDir, { recursive: true, force: true });
1572
+ }
1573
+ catch { }
1574
+ }
1575
+ }
1576
+ export async function installNomad() {
1577
+ try {
1578
+ if (existsSync(NOMAD_BIN)) {
1579
+ // Boundary check 1: is it a regular file?
1580
+ try {
1581
+ const stat = (await import("fs")).statSync(NOMAD_BIN);
1582
+ if (!stat.isFile()) {
1583
+ try {
1584
+ unlinkSync(NOMAD_BIN);
1585
+ }
1586
+ catch { }
1587
+ }
1588
+ }
1589
+ catch { }
1590
+ if (existsSync(NOMAD_BIN)) {
1591
+ // Boundary check 2: is it executable?
1592
+ try {
1593
+ chmodSync(NOMAD_BIN, 0o755);
1594
+ }
1595
+ catch { }
1596
+ // Boundary check 3: does it actually run?
1597
+ let versionLine = "";
1598
+ try {
1599
+ versionLine = execSync(`"${NOMAD_BIN}" version`, { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
1600
+ }
1601
+ catch {
1602
+ // Binary is corrupt or wrong arch — remove and reinstall
1603
+ try {
1604
+ unlinkSync(NOMAD_BIN);
1605
+ }
1606
+ catch { }
1607
+ }
1608
+ if (versionLine) {
1609
+ const match = versionLine.match(/v(\d+\.\d+\.\d+)/);
1610
+ const currentVersion = match ? match[1] : "";
1611
+ let migrated = false;
1612
+ if (currentVersion && isNomadVersionGreater(currentVersion, NOMAD_VERSION)) {
1613
+ // Current > target — auto-migrate (nomad 1.11.3 BSL → 1.6.5 MPL).
1614
+ // Migration failure is a hard stop: the old state has been
1615
+ // partially mutated (or about to be), returning falls through
1616
+ // to the reinstall path which would make a bad situation worse.
1617
+ try {
1618
+ await migrateNomadToTarget(currentVersion);
1619
+ }
1620
+ catch (migErr) {
1621
+ return {
1622
+ ok: false,
1623
+ message: "Nomad auto-migration failed",
1624
+ error: migErr?.message || String(migErr),
1625
+ };
1626
+ }
1627
+ migrated = true;
1628
+ versionLine = execSync(`"${NOMAD_BIN}" version`, { encoding: "utf-8", timeout: 5000 }).trim().split("\n")[0];
1629
+ }
1630
+ // Always (re)write config so the installed nomad.hcl stays up-to-date
1631
+ // with the current defaults (e.g. raw_exec plugin, acl, limits).
1632
+ writeNomadConfig();
1633
+ // Ensure Nomad is started even if already installed
1634
+ if (!isPortListening(4646)) {
1635
+ try {
1636
+ installNomadSystemd();
1637
+ }
1638
+ catch { }
1639
+ if (!isPortListening(4646)) {
1640
+ await startNomad();
1641
+ }
1642
+ }
1643
+ return migrated
1644
+ ? { ok: true, message: `Nomad migrated to ${versionLine}` }
1645
+ : { ok: true, message: `Nomad already installed: ${versionLine}` };
1646
+ }
1647
+ }
1648
+ }
1649
+ // Fallback: if NOMAD_BIN still doesn't exist, check for a system-installed Nomad
1650
+ // (e.g. installed via apt/dnf) and create a symlink so the systemd service path resolves.
1651
+ if (!existsSync(NOMAD_BIN)) {
1652
+ try {
1653
+ const systemNomad = execSync("which nomad 2>/dev/null", { encoding: "utf-8" }).trim();
1654
+ if (systemNomad && existsSync(systemNomad)) {
1655
+ ensureDirHost(BIN_DIR);
1656
+ symlinkSync(systemNomad, NOMAD_BIN);
1657
+ const version = execSync(`${NOMAD_BIN} version`, { encoding: "utf-8", timeout: 5000 }).trim();
1658
+ console.log(`[nomad] Linked system nomad ${systemNomad} → ${NOMAD_BIN}`);
1659
+ writeNomadConfig();
1660
+ return { ok: true, message: `Nomad linked from system: ${version.split("\n")[0]}` };
1661
+ }
1662
+ }
1663
+ catch { /* system nomad not found — proceed to download */ }
1664
+ }
1665
+ const task = createTask("nomad");
1666
+ ensureDirHost(BIN_DIR);
1667
+ const url = getNomadDownloadUrl();
1668
+ const zipPath = join(BIN_DIR, "nomad.zip");
1669
+ emitTask(task, { type: "progress", message: "下载 Nomad...", progress: 0 });
1670
+ const result = await spawnWithTask(task, "curl", ["-fL", "--progress-bar", url, "-o", zipPath], {
1671
+ timeout: 300000,
1672
+ progressParser: curlProgressParser,
1673
+ });
1674
+ if (!result.ok) {
1675
+ emitTask(task, { type: "error", message: "Nomad 下载失败" });
1676
+ task.status = "error";
1677
+ return { ok: false, message: "Nomad download failed", error: result.output, taskId: task.id };
1678
+ }
1679
+ emitTask(task, { type: "progress", message: "解压 Nomad...", progress: 80 });
1680
+ try {
1681
+ execSync("which unzip", { stdio: "ignore" });
1682
+ }
1683
+ catch {
1684
+ emitTask(task, { type: "log", message: "未找到 unzip,尝试安装..." });
1685
+ try {
1686
+ if (process.platform === "linux") {
1687
+ execSync("sudo apt-get update -qq && sudo apt-get install -y -qq unzip", { timeout: 60000 });
1688
+ }
1689
+ else if (process.platform === "darwin") {
1690
+ execSync("brew install unzip", { timeout: 60000 });
1691
+ }
1692
+ }
1693
+ catch (e) {
1694
+ emitTask(task, { type: "error", message: "安装 unzip 失败,请手动安装后重试" });
1695
+ throw e;
1696
+ }
1697
+ }
1698
+ execFileSync("unzip", ["-o", zipPath, "-d", BIN_DIR], { timeout: 30000 });
1699
+ chmodSync(NOMAD_BIN, 0o755);
1700
+ try {
1701
+ unlinkSync(zipPath);
1702
+ }
1703
+ catch { }
1704
+ const version = execFileSync(NOMAD_BIN, ["version"], { encoding: "utf-8", timeout: 5000 }).trim();
1705
+ emitTask(task, { type: "done", message: `Nomad 安装完成: ${version}`, progress: 100 });
1706
+ task.status = "done";
1707
+ return { ok: true, message: `Nomad installed: ${version}`, taskId: task.id };
1708
+ }
1709
+ catch (e) {
1710
+ return { ok: false, message: "Nomad installation failed", error: e.message };
1711
+ }
1712
+ }
1713
+ // ── Configure & start Nomad ────────────────────────────────────────
1714
+ /** Fix ~/.jishushell dirs if they were accidentally created as root (e.g. from an old sudo install). */
1715
+ function fixNomadDirOwnership() {
1716
+ try {
1717
+ const { statSync } = require("fs");
1718
+ const stat = statSync(NOMAD_CONFIG_DIR);
1719
+ if (stat.uid === 0) {
1720
+ // Directory is owned by root — try to repair with sudo -n (non-interactive)
1721
+ const currentUser = process.env.USER || process.env.LOGNAME || "";
1722
+ if (currentUser) {
1723
+ try {
1724
+ execFileSync("sudo", ["-n", "chown", "-R", `${currentUser}:${currentUser}`, JISHUSHELL_HOME], { timeout: 10000, stdio: "pipe" });
1725
+ }
1726
+ catch { /* sudo not available or no NOPASSWD — ignore */ }
1727
+ }
1728
+ }
1729
+ }
1730
+ catch { /* stat failed — dir doesn't exist yet, no action needed */ }
1731
+ }
1732
+ export function buildExpectedNomadConfigContent() {
1733
+ const platform = osPlatform();
1734
+ const loopbackIface = platform === "darwin" ? "lo0" : "lo";
1735
+ const externalIface = detectNomadExternalInterface(loopbackIface);
1736
+ const externalHostNetworkBlock = externalIface
1737
+ ? `
1738
+ host_network "external" {
1739
+ interface = "${externalIface}"
1740
+ }
1741
+ `
1742
+ : "";
1743
+ // Detect docker0 bridge CIDR so multi-container apps (weknora etc.) can
1744
+ // declare `host_network: docker_bridge` on their ports and have Nomad
1745
+ // publish them on the docker0 IP — which is what `host.docker.internal`
1746
+ // resolves to inside peer containers. Hardcoding 172.17.0.0/16 would
1747
+ // break setups where docker daemon.json overrides `bip` /
1748
+ // `default-address-pools`. Fall back to the Docker default if detection
1749
+ // fails (e.g. docker not yet installed at panel install time; doctor
1750
+ // will regenerate later).
1751
+ const dockerBridgeCidr = detectDockerBridgeCidr() || "172.17.0.0/16";
1752
+ const dockerBridgeHostNetworkBlock = `
1753
+ host_network "docker_bridge" {
1754
+ cidr = "${dockerBridgeCidr}"
1755
+ }
1756
+ `;
1757
+ // Apple Silicon CPU fingerprint workaround. Nomad 1.6.x on darwin/arm64
1758
+ // reads `hw.tbfrequency` (timebase, e.g. 24 MHz on M-series) as the CPU
1759
+ // clock, so a 14-core M4 Max reports as 48 MHz total compute and every
1760
+ // job that asks for CPU>48 gets rejected with "Resources exhausted on
1761
+ // dimension cpu". Override with a conservative estimate (cores × 2500
1762
+ // MHz) — M-series base clock is at least 2.5 GHz, so this never
1763
+ // overcommits relative to actual silicon. Intel Macs fingerprint
1764
+ // correctly and don't need the override.
1765
+ const cpuTotalComputeBlock = platform === "darwin" && osArch() === "arm64"
1766
+ ? ` cpu_total_compute = ${osCpus().length * 2500} # Apple Silicon workaround: Nomad mis-fingerprints CPU freq via tbfrequency\n`
1767
+ : "";
1768
+ // macOS docker driver endpoint. macOS users run Docker via Colima
1769
+ // (managed by this panel under `~/.jishushell/colima/jishushell/`) or
1770
+ // Docker Desktop (`~/.docker/run/docker.sock`); neither exposes
1771
+ // `/var/run/docker.sock` out of the box. Resolve the correct host once
1772
+ // and bake it into the HCL so Nomad doesn't fall back to the default
1773
+ // `unix:///var/run/docker.sock` and fail. Linux keeps the default
1774
+ // (empty endpoint = Docker's standard /var/run/docker.sock).
1775
+ const dockerHost = platform === "darwin"
1776
+ ? resolveDockerHost({ jishuHome: JISHUSHELL_HOME, colimaProfile: COLIMA_PROFILE })
1777
+ : undefined;
1778
+ const dockerEndpointLine = dockerHost ? `\n endpoint = "${dockerHost}"` : "";
1779
+ const config = `
1780
+ data_dir = "${NOMAD_DATA_DIR}"
1781
+
1782
+ bind_addr = "127.0.0.1"
1783
+
1784
+ leave_on_terminate = false
1785
+
1786
+ advertise {
1787
+ http = "127.0.0.1"
1788
+ rpc = "127.0.0.1"
1789
+ serf = "127.0.0.1"
1790
+ }
1791
+
1792
+ server {
1793
+ enabled = true
1794
+ bootstrap_expect = 1
1795
+ }
1796
+
1797
+ client {
1798
+ ${cpuTotalComputeBlock} enabled = true
1799
+ servers = ["127.0.0.1:4647"]
1800
+ network_interface = "${loopbackIface}"
1801
+ alloc_dir = "${NOMAD_ALLOC_DIR}"
1802
+ ${externalHostNetworkBlock}${dockerBridgeHostNetworkBlock}
1803
+
1804
+ # drain_on_shutdown intentionally omitted: on single-node Pi there is
1805
+ # nowhere to drain workloads to, and draining on every systemctl restart
1806
+ # would kill every running OpenClaw instance. Without this block Nomad
1807
+ # leaves allocations running across client restarts — the docker driver
1808
+ # re-attaches to the existing containers on startup.
1809
+ }
1810
+
1811
+ plugin "docker" {
1812
+ config {${dockerEndpointLine}
1813
+ gc {
1814
+ image = false
1815
+ }
1816
+ volumes {
1817
+ enabled = true
1818
+ }
1819
+ }
1820
+ }
1821
+
1822
+ plugin "raw_exec" {
1823
+ config {
1824
+ enabled = true
1825
+ }
1826
+ }
1827
+
1828
+ acl {
1829
+ enabled = true
1830
+ }
1831
+
1832
+ limits {
1833
+ http_max_conns_per_client = 0
1834
+ }
1835
+ `;
1836
+ return config;
1837
+ }
1838
+ function writeNomadConfig() {
1839
+ fixNomadDirOwnership();
1840
+ ensureDirHost(NOMAD_CONFIG_DIR);
1841
+ ensureDirContainer(NOMAD_DATA_DIR);
1842
+ ensureDirContainer(NOMAD_ALLOC_DIR);
1843
+ writeConfigFile(join(NOMAD_CONFIG_DIR, "nomad.hcl"), buildExpectedNomadConfigContent());
1844
+ }
1845
+ function detectDockerBridgeCidr() {
1846
+ // `docker network inspect bridge` returns the CIDR for docker0. The exact
1847
+ // value depends on /etc/docker/daemon.json `bip` / `default-address-pools`
1848
+ // — Docker's default is 172.17.0.0/16 but isn't guaranteed. We need the
1849
+ // real value because Nomad uses `host_network "docker_bridge" { cidr = …}`
1850
+ // to pick which interface to publish a port on for specs that declare
1851
+ // `host_network: docker_bridge`. Wrong CIDR → port silently published on
1852
+ // wrong interface → cross-task host.docker.internal calls get refused.
1853
+ try {
1854
+ const raw = execFileSync("docker", ["network", "inspect", "bridge", "--format", "{{(index .IPAM.Config 0).Subnet}}"], { encoding: "utf8", timeout: 3000, stdio: ["pipe", "pipe", "pipe"] }).trim();
1855
+ return /^\d{1,3}(\.\d{1,3}){3}\/\d{1,2}$/.test(raw) ? raw : "";
1856
+ }
1857
+ catch {
1858
+ return "";
1859
+ }
1860
+ }
1861
+ function detectNomadExternalInterface(loopbackIface) {
1862
+ try {
1863
+ if (osPlatform() === "darwin") {
1864
+ const route = execFileSync("route", ["-n", "get", "default"], {
1865
+ encoding: "utf8",
1866
+ timeout: 3000,
1867
+ });
1868
+ const match = route.match(/interface:\s*(\S+)/);
1869
+ const iface = match?.[1]?.trim() ?? "";
1870
+ return iface && iface !== loopbackIface ? iface : "";
1871
+ }
1872
+ const route = execFileSync("ip", ["route", "show", "default"], {
1873
+ encoding: "utf8",
1874
+ timeout: 3000,
1875
+ });
1876
+ const match = route.match(/\bdev\s+(\S+)/);
1877
+ const iface = match?.[1]?.trim() ?? "";
1878
+ return iface && iface !== loopbackIface ? iface : "";
1879
+ }
1880
+ catch {
1881
+ return "";
1882
+ }
1883
+ }
1884
+ export function loadNomadToken() {
1885
+ if (process.env.NOMAD_TOKEN)
1886
+ return;
1887
+ const candidates = [
1888
+ join(JISHUSHELL_HOME, "nomad.env"),
1889
+ "/etc/jishushell/nomad.env",
1890
+ ];
1891
+ for (const envFile of candidates) {
1892
+ if (!existsSync(envFile))
1893
+ continue;
1894
+ try {
1895
+ const match = readFileSync(envFile, "utf-8").match(/^NOMAD_TOKEN=(.+)$/m);
1896
+ if (match) {
1897
+ process.env.NOMAD_TOKEN = match[1].trim();
1898
+ return;
1899
+ }
1900
+ }
1901
+ catch {
1902
+ // no read permission, try next candidate
1903
+ }
1904
+ }
1905
+ const legacy = getCoreConfig().nomad_token;
1906
+ if (legacy)
1907
+ process.env.NOMAD_TOKEN = legacy;
1908
+ }
1909
+ /** Verify the current NOMAD_TOKEN is accepted by the Nomad API. Returns false if it is missing or rejected (HTTP 403/401). */
1910
+ async function isNomadTokenValid() {
1911
+ const token = process.env.NOMAD_TOKEN || getCoreConfig().nomad_token;
1912
+ if (!token)
1913
+ return false;
1914
+ try {
1915
+ const resp = await fetch("http://127.0.0.1:4646/v1/acl/token/self", {
1916
+ headers: { "X-Nomad-Token": token },
1917
+ signal: AbortSignal.timeout(5000),
1918
+ });
1919
+ return resp.status === 200;
1920
+ }
1921
+ catch {
1922
+ return false;
1923
+ }
1924
+ }
1925
+ function nomadApiHeaders(extra = {}) {
1926
+ const token = process.env.NOMAD_TOKEN || getCoreConfig().nomad_token;
1927
+ return token ? { "X-Nomad-Token": token, ...extra } : extra;
1928
+ }
1929
+ export async function ensureNomadMemoryOversubscriptionEnabled() {
1930
+ try {
1931
+ const resp = await fetch("http://127.0.0.1:4646/v1/operator/scheduler/configuration", {
1932
+ headers: nomadApiHeaders(),
1933
+ signal: AbortSignal.timeout(5000),
1934
+ });
1935
+ if (resp.status !== 200)
1936
+ return;
1937
+ const payload = await resp.json();
1938
+ const scheduler = payload?.SchedulerConfig;
1939
+ if (!scheduler || typeof scheduler !== "object")
1940
+ return;
1941
+ if (scheduler.MemoryOversubscriptionEnabled === true)
1942
+ return;
1943
+ const putResp = await fetch("http://127.0.0.1:4646/v1/operator/scheduler/configuration", {
1944
+ method: "PUT",
1945
+ headers: nomadApiHeaders({ "Content-Type": "application/json" }),
1946
+ body: JSON.stringify({ ...scheduler, MemoryOversubscriptionEnabled: true }),
1947
+ signal: AbortSignal.timeout(5000),
1948
+ });
1949
+ if (putResp.status === 200) {
1950
+ console.log("[nomad] Enabled memory oversubscription so MemoryMaxMB becomes an actual task limit.");
1951
+ }
1952
+ else {
1953
+ console.warn(`[nomad] Failed to enable memory oversubscription: HTTP ${putResp.status}`);
1954
+ }
1955
+ }
1956
+ catch (e) {
1957
+ console.warn("[nomad] Failed to enable memory oversubscription:", e.message);
1958
+ }
1959
+ }
1960
+ /** Shared post-start sequence: load token, bootstrap ACL, enable oversubscription, enable node. */
1961
+ async function finalizeNomadStartup() {
1962
+ loadNomadToken();
1963
+ await bootstrapNomadACL();
1964
+ await ensureNomadMemoryOversubscriptionEnabled();
1965
+ enableNomadNodeEligibility();
1966
+ }
1967
+ async function bootstrapNomadACL() {
1968
+ // If a token is already loaded, verify it's still valid before trusting it.
1969
+ if (process.env.NOMAD_TOKEN || getCoreConfig().nomad_token) {
1970
+ if (await isNomadTokenValid())
1971
+ return;
1972
+ console.log("[nomad] Stored ACL token is invalid — re-bootstrapping...");
1973
+ delete process.env.NOMAD_TOKEN;
1974
+ }
1975
+ const nomadPath = existsSync(NOMAD_BIN) ? NOMAD_BIN : "nomad";
1976
+ const doBootstrap = async () => {
1977
+ try {
1978
+ const raw = execFileSync(nomadPath, ["acl", "bootstrap", "-json"], {
1979
+ timeout: 10000,
1980
+ encoding: "utf-8",
1981
+ env: { ...process.env, NOMAD_ADDR: "http://127.0.0.1:4646" },
1982
+ });
1983
+ return JSON.parse(raw).SecretID ?? null;
1984
+ }
1985
+ catch (e) {
1986
+ // Return the raw stderr/stdout so caller can inspect it
1987
+ throw e;
1988
+ }
1989
+ };
1990
+ const saveToken = (token) => {
1991
+ const envFile = join(JISHUSHELL_HOME, "nomad.env");
1992
+ const envContent = `NOMAD_TOKEN=${token}\n`;
1993
+ writeSecretFile(envFile, envContent);
1994
+ try {
1995
+ execFileSync("sudo", ["-n", "mkdir", "-p", "/etc/jishushell"], { timeout: 5000, stdio: "pipe" });
1996
+ sudoCopySystemFile(envContent, "/etc/jishushell/nomad.env", "600");
1997
+ }
1998
+ catch (copyErr) {
1999
+ console.warn("[nomad] Could not sync token to /etc/jishushell/nomad.env:", copyErr.message);
2000
+ }
2001
+ process.env.NOMAD_TOKEN = token;
2002
+ console.log("[nomad] ACL token saved to", envFile);
2003
+ };
2004
+ try {
2005
+ const token = await doBootstrap();
2006
+ if (token)
2007
+ saveToken(token);
2008
+ return;
2009
+ }
2010
+ catch (e) {
2011
+ const msg = (e.stderr || e.stdout || e.message || "").toString();
2012
+ // "ACL bootstrap already done" — extract reset index and perform a reset
2013
+ const resetMatch = msg.match(/reset index[:\s]+(\d+)/i);
2014
+ if (!resetMatch) {
2015
+ if (!msg.includes("bootstrap"))
2016
+ console.warn("[nomad] ACL bootstrap warning:", msg);
2017
+ return;
2018
+ }
2019
+ const resetIndex = resetMatch[1];
2020
+ console.log(`[nomad] Bootstrap already done (reset index: ${resetIndex}). Performing ACL bootstrap reset...`);
2021
+ // Write the reset trigger file (Nomad reads this on startup to allow re-bootstrap).
2022
+ // NOMAD_DATA_DIR/server is owned by root because nomad.service runs as User=root
2023
+ // (docker driver on 1.6.5 requires euid==0). The panel runs as a non-root user, so
2024
+ // plain writeConfigFile would fail with EACCES — route through `sudo tee` instead.
2025
+ const resetFile = join(NOMAD_DATA_DIR, "server", "acl-bootstrap-reset");
2026
+ try {
2027
+ writeConfigFile(resetFile, resetIndex);
2028
+ }
2029
+ catch (writeErr) {
2030
+ try {
2031
+ execFileSync("sudo", ["-n", "mkdir", "-p", dirname(resetFile)], { timeout: 5000, stdio: "pipe" });
2032
+ execFileSync("sudo", ["-n", "tee", resetFile], {
2033
+ timeout: 5000,
2034
+ input: resetIndex,
2035
+ stdio: ["pipe", "ignore", "pipe"],
2036
+ });
2037
+ }
2038
+ catch (sudoErr) {
2039
+ console.warn("[nomad] Could not write acl-bootstrap-reset file:", sudoErr.message || writeErr.message);
2040
+ return;
2041
+ }
2042
+ }
2043
+ // Restart Nomad so it picks up the reset file
2044
+ try {
2045
+ execFileSync("sudo", ["-n", "systemctl", "restart", "nomad"], { timeout: 15000, stdio: "pipe" });
2046
+ }
2047
+ catch {
2048
+ // No passwordless sudo — try pkill/re-spawn path (best effort)
2049
+ try {
2050
+ execFileSync("sudo", ["-n", "pkill", "-TERM", "-f", "nomad agent"], { stdio: "pipe" });
2051
+ }
2052
+ catch {
2053
+ try {
2054
+ execFileSync("pkill", ["-TERM", "-f", "nomad agent"], { stdio: "pipe" });
2055
+ }
2056
+ catch { }
2057
+ }
2058
+ }
2059
+ // Wait for Nomad to come back
2060
+ for (let i = 0; i < 20; i++) {
2061
+ await new Promise(r => setTimeout(r, 1000));
2062
+ if (isPortListening(4646))
2063
+ break;
2064
+ }
2065
+ // Bootstrap again — reset file is consumed by Nomad on first start after restart
2066
+ try {
2067
+ const token = await doBootstrap();
2068
+ if (token)
2069
+ saveToken(token);
2070
+ }
2071
+ catch (e2) {
2072
+ console.warn("[nomad] ACL bootstrap after reset failed:", (e2.stderr || e2.message || "").toString().split("\n")[0]);
2073
+ }
2074
+ }
2075
+ }
2076
+ function enableNomadNodeEligibility() {
2077
+ const nomadPath = existsSync(NOMAD_BIN) ? NOMAD_BIN : "nomad";
2078
+ try {
2079
+ const raw = execSync(`${nomadPath} node status -self -json`, {
2080
+ timeout: 5000,
2081
+ encoding: "utf-8",
2082
+ env: { ...process.env, NOMAD_ADDR: "http://127.0.0.1:4646" },
2083
+ });
2084
+ const nodeId = JSON.parse(raw).ID;
2085
+ if (!nodeId)
2086
+ return;
2087
+ execSync(`${nomadPath} node eligibility -enable ${nodeId}`, {
2088
+ timeout: 5000,
2089
+ env: { ...process.env, NOMAD_ADDR: "http://127.0.0.1:4646" },
2090
+ });
2091
+ }
2092
+ catch {
2093
+ }
2094
+ }
2095
+ export async function startNomad() {
2096
+ try {
2097
+ const configPath = join(NOMAD_CONFIG_DIR, "nomad.hcl");
2098
+ const readConfig = () => {
2099
+ try {
2100
+ return existsSync(configPath) ? readFileSync(configPath, "utf-8") : "";
2101
+ }
2102
+ catch {
2103
+ return "";
2104
+ }
2105
+ };
2106
+ const oldConfig = readConfig();
2107
+ writeNomadConfig();
2108
+ const newConfig = readConfig();
2109
+ const drifted = oldConfig.length > 0 && newConfig.length > 0 && oldConfig !== newConfig;
2110
+ if (isPortListening(4646)) {
2111
+ // Nomad already running, but if the rewritten config differs (typically
2112
+ // because detectNomadExternalInterface() now resolves to a different
2113
+ // interface — e.g. older install missing the host_network block, or
2114
+ // network interface renamed across reboots), reload nomad so allocations
2115
+ // bind to the right host network on next placement.
2116
+ if (drifted) {
2117
+ try {
2118
+ execFileSync("sudo", ["-n", "systemctl", "restart", "nomad"], { stdio: "pipe", timeout: 15000 });
2119
+ for (let i = 0; i < 15; i++) {
2120
+ await new Promise(r => setTimeout(r, 1000));
2121
+ if (isPortListening(4646)) {
2122
+ await finalizeNomadStartup();
2123
+ return { ok: true, message: "Nomad restarted (config reconciled)" };
2124
+ }
2125
+ }
2126
+ return { ok: false, message: "Nomad restart timed out after config reconcile", error: "Port 4646 not listening after 15s" };
2127
+ }
2128
+ catch (e) {
2129
+ console.warn(`[nomad] config drift detected but restart failed (${e.message}); existing nomad continues with stale config`);
2130
+ }
2131
+ }
2132
+ await finalizeNomadStartup();
2133
+ return { ok: true, message: "Nomad already running" };
2134
+ }
2135
+ // If systemd manages nomad, delegate to systemctl to avoid spawning a competing process
2136
+ const isSystemdManaged = (() => {
2137
+ try {
2138
+ const result = execFileSync("systemctl", ["is-enabled", "nomad"], { stdio: "pipe", timeout: 3000 });
2139
+ return result.toString().trim() === "enabled";
2140
+ }
2141
+ catch {
2142
+ return false;
2143
+ }
2144
+ })();
2145
+ if (isSystemdManaged) {
2146
+ try {
2147
+ execFileSync("sudo", ["-n", "systemctl", "start", "nomad"], { stdio: "pipe", timeout: 10000 });
2148
+ }
2149
+ catch {
2150
+ // sudo -n failed (no passwordless sudo); service may start on its own
2151
+ }
2152
+ for (let i = 0; i < 15; i++) {
2153
+ await new Promise(r => setTimeout(r, 1000));
2154
+ if (isPortListening(4646)) {
2155
+ await finalizeNomadStartup();
2156
+ return { ok: true, message: "Nomad started via systemd" };
2157
+ }
2158
+ }
2159
+ return { ok: false, message: "Nomad start timed out", error: "Port 4646 not listening after 15s" };
2160
+ }
2161
+ if (process.platform === "darwin") {
2162
+ const launchdPlist = join(process.env.HOME || dirname(JISHUSHELL_HOME), "Library/LaunchAgents/com.jishushell.nomad.plist");
2163
+ if (existsSync(launchdPlist)) {
2164
+ for (let i = 0; i < 30; i++) {
2165
+ await new Promise(r => setTimeout(r, 1000));
2166
+ if (isPortListening(4646)) {
2167
+ await finalizeNomadStartup();
2168
+ return { ok: true, message: "Nomad started" };
2169
+ }
2170
+ }
2171
+ return { ok: false, message: "Nomad start timed out", error: "Port 4646 not listening after 30s" };
2172
+ }
2173
+ }
2174
+ const nomadPath = existsSync(NOMAD_BIN) ? NOMAD_BIN : "nomad";
2175
+ try {
2176
+ execFileSync(nomadPath, ["version"], { timeout: 5000, stdio: "pipe" });
2177
+ }
2178
+ catch {
2179
+ return { ok: false, message: "Nomad not installed", error: "Install Nomad first" };
2180
+ }
2181
+ const logPath = join(NOMAD_CONFIG_DIR, "nomad.log");
2182
+ // Use spawn with detached to avoid execSync shell injection and ensure proper daemonization
2183
+ try {
2184
+ const { openSync, closeSync } = await import("fs");
2185
+ const logFd = openSync(logPath, "a");
2186
+ // Run as current (non-root) user — Nomad only binds to 127.0.0.1:4646/4647/4648
2187
+ // (non-privileged ports) and all data dirs live under ~/.jishushell/, so sudo is not needed.
2188
+ const cmd = nomadPath;
2189
+ const args = ["agent", `-config=${configPath}`];
2190
+ const child = nodeSpawn(cmd, args, {
2191
+ detached: true,
2192
+ stdio: ["ignore", logFd, logFd],
2193
+ });
2194
+ child.unref();
2195
+ closeSync(logFd);
2196
+ }
2197
+ catch (e) {
2198
+ return { ok: false, message: "Failed to start Nomad", error: `launch failed: ${e.message}. Check sudo/permissions.` };
2199
+ }
2200
+ for (let i = 0; i < 15; i++) {
2201
+ await new Promise(r => setTimeout(r, 1000));
2202
+ if (isPortListening(4646)) {
2203
+ await finalizeNomadStartup();
2204
+ return { ok: true, message: "Nomad started" };
2205
+ }
2206
+ }
2207
+ return { ok: false, message: "Nomad start timed out", error: "Port 4646 not listening after 15s" };
2208
+ }
2209
+ catch (e) {
2210
+ return { ok: false, message: "Failed to start Nomad", error: e.message };
2211
+ }
2212
+ }
2213
+ export async function stopNomad() {
2214
+ try {
2215
+ if (!isPortListening(4646))
2216
+ return { ok: true, message: "Nomad not running" };
2217
+ // SIGTERM: graceful shutdown — Nomad flushes state and detaches from
2218
+ // running allocs without killing them (drain_on_shutdown is deliberately
2219
+ // not configured, so the docker containers keep running and will be
2220
+ // re-attached when Nomad comes back).
2221
+ // Use killNomadByProcName (pgrep -x) to avoid pkill -f self-matching.
2222
+ killNomadByProcName();
2223
+ // Wait up to 10s for the process to exit. No drain means shutdown is
2224
+ // near-instant — most of this budget is slack for slow disks on Pi.
2225
+ for (let i = 0; i < 10; i++) {
2226
+ await new Promise(r => setTimeout(r, 1000));
2227
+ if (!isPortListening(4646))
2228
+ return { ok: true, message: "Nomad stopped" };
2229
+ }
2230
+ return { ok: true, message: "Nomad stop requested" };
2231
+ }
2232
+ catch (e) {
2233
+ return { ok: false, message: "Failed to stop Nomad", error: e.message };
2234
+ }
2235
+ }
2236
+ // ── Install Nomad as systemd service ───────────────────────────────
2237
+ export function installNomadSystemd() {
2238
+ try {
2239
+ const nomadPath = resolveNomadExecutable();
2240
+ const configPath = join(NOMAD_CONFIG_DIR, "nomad.hcl");
2241
+ writeNomadConfig();
2242
+ if (process.platform === "darwin") {
2243
+ // macOS is Apple Silicon only — fail fast (mirrors the bash uname guard).
2244
+ const guard = appleSiliconGuard();
2245
+ if (!guard.ok)
2246
+ return { ok: false, message: guard.message };
2247
+ const laDir = join(process.env.HOME || dirname(JISHUSHELL_HOME), "Library/LaunchAgents");
2248
+ // Always use JishuShell's private Colima socket — hardcoded, not
2249
+ // runtime-detected. Colima may not be running yet when the plist is
2250
+ // written; runtime fallback would pick the wrong socket (Docker
2251
+ // Desktop or /var/run/docker.sock). Mirrors the bash _COLIMA_SOCKET use.
2252
+ const colimaSocket = managedColimaSocketPath(JISHUSHELL_HOME, COLIMA_PROFILE);
2253
+ const colimaDockerHost = managedColimaDockerHost(JISHUSHELL_HOME, COLIMA_PROFILE);
2254
+ // ── 1. Colima self-retrying launchd agent ───────────────────────
2255
+ // colima binary: prefer PATH, fall back to both Homebrew prefixes
2256
+ // (mirrors the bash COLIMA_BIN resolution).
2257
+ const colimaBin = resolveColimaExecutable();
2258
+ const colimaWrapperPath = join(BIN_DIR, "colima-launchd-wrapper.sh");
2259
+ writeExecutableFile(colimaWrapperPath, buildColimaWrapperScript({
2260
+ colimaHome: _COLIMA_DIR,
2261
+ profile: COLIMA_PROFILE,
2262
+ socket: colimaSocket,
2263
+ colimaBin,
2264
+ }));
2265
+ const colimaPlistPath = join(laDir, "com.jishushell.colima.plist");
2266
+ writeConfigFile(colimaPlistPath, buildColimaPlist({
2267
+ wrapperPath: colimaWrapperPath,
2268
+ colimaHome: _COLIMA_DIR,
2269
+ logPath: join(_COLIMA_DIR, "colima-launchd.log"),
2270
+ }));
2271
+ try {
2272
+ execSync(`launchctl unload "${colimaPlistPath}" 2>/dev/null`);
2273
+ }
2274
+ catch { }
2275
+ try {
2276
+ execSync(`launchctl load -w "${colimaPlistPath}"`, { timeout: 15000 });
2277
+ }
2278
+ catch { }
2279
+ // ── 2. Nomad gated behind a docker-readiness wrapper ────────────
2280
+ const logPath = join(NOMAD_CONFIG_DIR, "nomad.log");
2281
+ const nomadWrapperPath = join(BIN_DIR, "nomad-launchd-wrapper.sh");
2282
+ writeExecutableFile(nomadWrapperPath, buildNomadWaitWrapper({
2283
+ dockerHost: colimaDockerHost,
2284
+ nomadBin: nomadPath,
2285
+ configPath,
2286
+ }));
2287
+ const plistContent = buildNomadPlist({
2288
+ wrapperPath: nomadWrapperPath,
2289
+ dockerHost: colimaDockerHost,
2290
+ logPath,
2291
+ });
2292
+ const plistPath = join(laDir, "com.jishushell.nomad.plist");
2293
+ writeConfigFile(plistPath, plistContent);
2294
+ try {
2295
+ execSync(`launchctl unload "${plistPath}" 2>/dev/null`);
2296
+ }
2297
+ catch { }
2298
+ execSync(`launchctl load -w "${plistPath}"`, { timeout: 15000 });
2299
+ return { ok: true, message: "Nomad launchd agent installed and started (Colima gated)" };
2300
+ }
2301
+ // Nomad 1.6.5's docker driver fingerprint requires euid==0 — PR #18197 lifted
2302
+ // that restriction only in 1.7+, and we intentionally stay on the 1.6 MPL line.
2303
+ // The core server stays as the installing user via a separate jishushell.service unit;
2304
+ // it talks to this agent over HTTP, so no files under ~/.jishushell/nomad/data/
2305
+ // are read directly by the core process.
2306
+ const serviceContent = buildNomadSystemdUnit({ nomadPath, configPath });
2307
+ const servicePath = SYSTEMD_NOMAD_SERVICE_PATH;
2308
+ execFileSync("sudo", ["mkdir", "-p", "/etc/jishushell"], { timeout: 5000 });
2309
+ sudoCopySystemFile(serviceContent, servicePath, "644");
2310
+ execFileSync("sudo", ["systemctl", "daemon-reload"], { timeout: 5000 });
2311
+ execFileSync("sudo", ["systemctl", "enable", "--now", "nomad"], { timeout: 15000 });
2312
+ // Also restart if already running so it picks up the new User= directive
2313
+ try {
2314
+ execFileSync("sudo", ["systemctl", "restart", "nomad"], { timeout: 15000 });
2315
+ }
2316
+ catch { }
2317
+ return { ok: true, message: "Nomad systemd service installed and started" };
2318
+ }
2319
+ catch (e) {
2320
+ return { ok: false, message: "Failed to install Nomad systemd service", error: e.message };
2321
+ }
2322
+ }
2323
+ // ── Install JishuShell as systemd service ─────────────────────────
2324
+ export function installJishushellSystemd(port, startNow = false) {
2325
+ try {
2326
+ const resolvedPort = port || _serverPort;
2327
+ persistCoreServicePort(resolvedPort);
2328
+ const serviceUser = process.platform === "darwin" ? undefined : resolveServiceUser();
2329
+ // Use the node binary that is currently running this process — avoids
2330
+ // "which node" failing when PATH doesn't include nvm's bin dir.
2331
+ const nodeBin = process.execPath;
2332
+ const cliBin = resolveCoreCliBin();
2333
+ // The real owner home: prefer JISHUSHELL_HOME's parent so we don't rely on $HOME.
2334
+ const realHome = resolveRealHome();
2335
+ const coreStartWrapperPath = join(BIN_DIR, "jishushell-core-start");
2336
+ const coreCliWrapperPath = join(BIN_DIR, "jishushell");
2337
+ removeSymlinkIfPresent(coreCliWrapperPath);
2338
+ writeManagedExecutableFile(coreStartWrapperPath, buildCoreStartWrapperContent({
2339
+ nodeBin,
2340
+ cliBin,
2341
+ realHome,
2342
+ port: resolvedPort,
2343
+ }), serviceUser);
2344
+ writeManagedExecutableFile(coreCliWrapperPath, buildCoreCliWrapperContent({
2345
+ nodeBin,
2346
+ cliBin,
2347
+ realHome,
2348
+ port: resolvedPort,
2349
+ }), serviceUser);
2350
+ chownToUser(JISHUSHELL_HOME, serviceUser, true);
2351
+ if (process.platform === "darwin") {
2352
+ // macOS is Apple Silicon only — fail fast (mirrors the bash uname guard).
2353
+ const guard = appleSiliconGuard();
2354
+ if (!guard.ok)
2355
+ return { ok: false, message: guard.message };
2356
+ const logPath = join(JISHUSHELL_HOME, "jishushell-core.log");
2357
+ // 60s docker-readiness gate before core starts; on timeout it starts anyway.
2358
+ const gateWrapperPath = join(BIN_DIR, "core-launchd-wrapper.sh");
2359
+ writeExecutableFile(gateWrapperPath, buildCoreGateWrapper({
2360
+ socket: managedColimaSocketPath(JISHUSHELL_HOME, COLIMA_PROFILE),
2361
+ coreStartWrapper: coreStartWrapperPath,
2362
+ }));
2363
+ const plistContent = buildCorePlist({
2364
+ gateWrapperPath,
2365
+ logPath,
2366
+ });
2367
+ // Symmetric with installNomadSystemd()'s laDir (realHome === dirname(JISHUSHELL_HOME),
2368
+ // so process.env.HOME || dirname(JISHUSHELL_HOME) is provably the same path).
2369
+ const laDir = resolveLaunchAgentsDir(realHome);
2370
+ const plistPath = join(laDir, "com.jishushell.core.plist");
2371
+ writeConfigFile(plistPath, plistContent);
2372
+ if (startNow || !isPortListening(resolvedPort)) {
2373
+ try {
2374
+ execSync(`launchctl unload "${plistPath}" 2>/dev/null`);
2375
+ }
2376
+ catch { }
2377
+ execSync(`launchctl load -w "${plistPath}"`, { timeout: 15000 });
2378
+ if (!waitForListeningPort(resolvedPort, 30)) {
2379
+ return {
2380
+ ok: false,
2381
+ message: "JishuShell core launchd agent installed, but the core port is not ready yet",
2382
+ };
2383
+ }
2384
+ return { ok: true, message: "JishuShell core launchd agent installed and started (port " + resolvedPort + ")" };
2385
+ }
2386
+ return { ok: true, message: "JishuShell core launchd agent installed and enabled (port " + resolvedPort + ")" };
2387
+ }
2388
+ const currentUser = serviceUser ?? resolveServiceUser();
2389
+ const serviceContent = buildJishushellCoreSystemdUnit({
2390
+ currentUser,
2391
+ realHome,
2392
+ coreStartWrapperPath,
2393
+ });
2394
+ execFileSync("sudo", ["mkdir", "-p", "/etc/jishushell"], { timeout: 5000 });
2395
+ sudoCopySystemFile(serviceContent, SYSTEMD_CORE_SERVICE_PATH, "644");
2396
+ execFileSync("sudo", ["systemctl", "daemon-reload"], { timeout: 5000 });
2397
+ execFileSync("sudo", ["systemctl", "enable", "jishushell"], { timeout: 15000, stdio: "pipe" });
2398
+ if (!startNow) {
2399
+ return { ok: true, message: "JishuShell core systemd service installed and enabled (port " + resolvedPort + ")" };
2400
+ }
2401
+ execFileSync("sudo", ["systemctl", "restart", "jishushell"], { timeout: 15000 });
2402
+ if (!waitForListeningPort(resolvedPort, 30)) {
2403
+ return {
2404
+ ok: false,
2405
+ message: "JishuShell core systemd service installed, but the core port is not ready yet",
2406
+ };
2407
+ }
2408
+ return { ok: true, message: "JishuShell core systemd service installed and started (port " + resolvedPort + ")" };
2409
+ }
2410
+ catch (e) {
2411
+ return { ok: false, message: "Failed to install JishuShell systemd service", error: e.message };
2412
+ }
2413
+ }
2414
+ export function installJishushellPanelSystemd(corePort, panelPort = DEFAULT_PANEL_PORT, startNow = true) {
2415
+ try {
2416
+ const resolvedCorePort = corePort || _serverPort;
2417
+ const serviceUser = process.platform === "darwin" ? undefined : resolveServiceUser();
2418
+ const nodeBin = process.execPath;
2419
+ const panelBin = resolveBundledPanelServerBin();
2420
+ const realHome = resolveRealHome();
2421
+ const panelStartWrapperPath = join(BIN_DIR, "jishushell-panel-start");
2422
+ writeManagedExecutableFile(panelStartWrapperPath, buildPanelStartWrapperContent({
2423
+ nodeBin,
2424
+ panelBin,
2425
+ realHome,
2426
+ corePort: resolvedCorePort,
2427
+ panelPort,
2428
+ }), serviceUser);
2429
+ if (process.platform === "darwin") {
2430
+ const guard = appleSiliconGuard();
2431
+ if (!guard.ok)
2432
+ return { ok: false, message: guard.message };
2433
+ const laDir = resolveLaunchAgentsDir(realHome);
2434
+ const plistPath = join(laDir, "com.jishushell.panel.plist");
2435
+ writeConfigFile(plistPath, buildPanelPlist({
2436
+ panelWrapperPath: panelStartWrapperPath,
2437
+ logPath: join(JISHUSHELL_HOME, "jishushell-panel.log"),
2438
+ home: realHome,
2439
+ jishuHome: JISHUSHELL_HOME,
2440
+ corePort: resolvedCorePort,
2441
+ panelPort,
2442
+ }));
2443
+ if (!waitForListeningPort(resolvedCorePort, 30)) {
2444
+ return {
2445
+ ok: false,
2446
+ message: "JishuShell Panel launchd agent was written but not started because the core port is not ready",
2447
+ };
2448
+ }
2449
+ try {
2450
+ execSync(`launchctl unload "${plistPath}" 2>/dev/null`);
2451
+ }
2452
+ catch { }
2453
+ execSync(`launchctl load -w "${plistPath}"`, { timeout: 15000 });
2454
+ if (!waitForListeningPort(panelPort, 15)) {
2455
+ return {
2456
+ ok: false,
2457
+ message: "JishuShell Panel launchd agent started, but the panel port is not ready yet",
2458
+ };
2459
+ }
2460
+ return { ok: true, message: "JishuShell Panel launchd agent installed and started (port " + panelPort + ")" };
2461
+ }
2462
+ const currentUser = serviceUser ?? resolveServiceUser();
2463
+ const serviceContent = buildJishushellPanelSystemdUnit({
2464
+ currentUser,
2465
+ realHome,
2466
+ panelStartWrapperPath,
2467
+ corePort: resolvedCorePort,
2468
+ panelPort,
2469
+ });
2470
+ execFileSync("sudo", ["mkdir", "-p", "/etc/jishushell"], { timeout: 5000 });
2471
+ sudoCopySystemFile(serviceContent, SYSTEMD_PANEL_SERVICE_PATH, "644");
2472
+ execFileSync("sudo", ["systemctl", "daemon-reload"], { timeout: 5000 });
2473
+ execFileSync("sudo", ["systemctl", "enable", "jishushell-panel"], { timeout: 15000, stdio: "pipe" });
2474
+ if (!startNow) {
2475
+ return { ok: true, message: "JishuShell Panel systemd service installed and enabled (port " + panelPort + ")" };
2476
+ }
2477
+ if (!waitForListeningPort(resolvedCorePort, 30)) {
2478
+ return {
2479
+ ok: false,
2480
+ message: "JishuShell Panel systemd service was enabled but not started because the core port is not ready",
2481
+ };
2482
+ }
2483
+ execFileSync("sudo", ["systemctl", "restart", "jishushell-panel"], { timeout: 15000 });
2484
+ if (!waitForListeningPort(panelPort, 15)) {
2485
+ return {
2486
+ ok: false,
2487
+ message: "JishuShell Panel systemd service started, but the panel port is not ready yet",
2488
+ };
2489
+ }
2490
+ return { ok: true, message: "JishuShell Panel systemd service installed and started (port " + panelPort + ")" };
2491
+ }
2492
+ catch (e) {
2493
+ return { ok: false, message: "Failed to install JishuShell Panel systemd service", error: e.message };
2494
+ }
2495
+ }
2496
+ // ── Install OpenClaw (async with progress) ─────────────────────────
2497
+ /**
2498
+ * Install OpenClaw runtime — thin dispatch wrapper.
2499
+ *
2500
+ * The heavy lifting lives in `OpenClawIntegration.installRuntime()`.
2501
+ * This wrapper is kept only for back-compat with the existing
2502
+ * `routes/setup.ts` endpoint and the CLI installer.
2503
+ */
2504
+ export async function installOpenclaw(version = "latest") {
2505
+ const integration = getIntegration("openclaw");
2506
+ if (typeof integration.installRuntime !== "function") {
2507
+ return { ok: false, message: "OpenClawIntegration.installRuntime is not implemented" };
2508
+ }
2509
+ return integration.installRuntime({ version });
2510
+ }
2511
+ // ── Hermes install ─────────────────────────────────────────────────
2512
+ //
2513
+ // Hermes constants (HERMES_DEFAULT_IMAGE, HERMES_RUNTIME_DIR,
2514
+ // HERMES_SHIM_FILENAME) and the shim template resolver have moved to
2515
+ // `src/config.ts`. setup-manager no longer defines them.
2516
+ // The HermesIntegration imports them directly from config.ts.
2517
+ /**
2518
+ * Capture the immutable digest of a locally-present image so HermesIntegration
2519
+ * can pin via digest rather than the mutable tag. Returns undefined if the
2520
+ * image has no RepoDigests (e.g. locally-built image) — caller may still
2521
+ * proceed using the tag alone.
2522
+ */
2523
+ export function captureImageDigest(imageRef) {
2524
+ try {
2525
+ const raw = execFileSync("docker", [
2526
+ "image",
2527
+ "inspect",
2528
+ "--format",
2529
+ "{{range .RepoDigests}}{{.}}{{\"\\n\"}}{{end}}",
2530
+ imageRef,
2531
+ ], { encoding: "utf-8", timeout: 10000, stdio: ["pipe", "pipe", "pipe"] });
2532
+ const first = raw.split("\n").map((l) => l.trim()).find(Boolean);
2533
+ return first || undefined;
2534
+ }
2535
+ catch {
2536
+ return undefined;
2537
+ }
2538
+ }
2539
+ /**
2540
+ * Install Hermes runtime — thin dispatch wrapper.
2541
+ *
2542
+ * Heavy lifting lives in `HermesIntegration.installRuntime()`.
2543
+ */
2544
+ export async function installHermes() {
2545
+ const integration = getIntegration("hermes");
2546
+ if (typeof integration.installRuntime !== "function") {
2547
+ return { ok: false, message: "HermesIntegration.installRuntime is not implemented" };
2548
+ }
2549
+ return integration.installRuntime();
2550
+ }
2551
+ /**
2552
+ * Non-blocking variant — returns a task id immediately. Implementation
2553
+ * dispatches via `HermesIntegration.startInstallRuntime()`.
2554
+ */
2555
+ export function startInstallHermes() {
2556
+ const integration = getIntegration("hermes");
2557
+ if (typeof integration.startInstallRuntime !== "function") {
2558
+ return { ok: false, message: "HermesIntegration.startInstallRuntime is not implemented" };
2559
+ }
2560
+ return integration.startInstallRuntime();
2561
+ }
2562
+ /** Helper for setup status — true when Hermes has a persisted runtime install record. */
2563
+ export function isHermesInstalled() {
2564
+ const entry = getIntegrationRuntimeEntry("hermes");
2565
+ return !!entry && !!entry.defaultImage;
2566
+ }
2567
+ export function resolveDockerInvocation() {
2568
+ try {
2569
+ execFileSync("docker", ["info"], { timeout: 5000, stdio: "ignore" });
2570
+ return { cmd: "docker", argsPrefix: [] };
2571
+ }
2572
+ catch { }
2573
+ try {
2574
+ execFileSync("sudo", ["-n", "docker", "info"], { timeout: 5000, stdio: "ignore" });
2575
+ return { cmd: "sudo", argsPrefix: ["-n", "docker"] };
2576
+ }
2577
+ catch { }
2578
+ return { cmd: "docker", argsPrefix: [] };
2579
+ }
2580
+ function checkDockerImageExists() {
2581
+ const tag = resolveDockerImageTag();
2582
+ try {
2583
+ const invocation = resolveDockerInvocation();
2584
+ execFileSync(invocation.cmd, [...invocation.argsPrefix, "image", "inspect", tag], { timeout: 5000, stdio: "ignore" });
2585
+ return true;
2586
+ }
2587
+ catch {
2588
+ // Fallback scan: list all local images and try to find any known runtime image.
2589
+ // This handles two scenarios:
2590
+ // 1. core.json was wiped (e.g. after `jishushell reset`) and the pinned version
2591
+ // tag is no longer stored, causing getOpenclawDockerImage() to return the default
2592
+ // `:latest` tag which may have been removed locally during the first-run migration.
2593
+ // 2. The environment uses a locally built runtime image (e.g. jishushell-hermes:latest)
2594
+ // that differs from the registry default.
2595
+ // When a candidate is found we restore core.json (self-heal) so the fast path works next time.
2596
+ try {
2597
+ const invocation = resolveDockerInvocation();
2598
+ const out = execFileSync(invocation.cmd, [...invocation.argsPrefix, "images", "--format", "{{.Repository}}:{{.Tag}}"], { encoding: "utf8", timeout: 5000 });
2599
+ const lines = out.split("\n").map((l) => l.trim()).filter(Boolean);
2600
+ // 1. Same repository as DEFAULT_OPENCLAW_DOCKER_IMAGE (e.g. after pinned-tag migration).
2601
+ const defaultImage = DEFAULT_OPENCLAW_DOCKER_IMAGE;
2602
+ const repoColonIdx = defaultImage.lastIndexOf(":");
2603
+ const repoSlashIdx = defaultImage.lastIndexOf("/");
2604
+ if (repoColonIdx > repoSlashIdx) {
2605
+ const repo = defaultImage.slice(0, repoColonIdx);
2606
+ const repoPrefix = repo + ":";
2607
+ const found = lines.find((l) => l.startsWith(repoPrefix) && !l.endsWith(":<none>") && !l.endsWith(":none"));
2608
+ if (found) {
2609
+ setOpenclawDockerImage(found);
2610
+ return true;
2611
+ }
2612
+ }
2613
+ // 2. Backward compat: older locally-built jishushell-openclaw:* image names.
2614
+ // These use the same slim base architecture as ghcr.io/x-aijishu/openclaw-runtime:*
2615
+ // and are fully compatible. Self-heal core.json so the tag stored there becomes
2616
+ // the concrete existing tag, preventing repeated DEFAULT-migration side effects.
2617
+ const legacyFound = lines.find((l) => /^jishushell-openclaw:[^\s]+/.test(l) && !l.endsWith(":<none>") && !l.endsWith(":none"));
2618
+ if (legacyFound) {
2619
+ setOpenclawDockerImage(legacyFound);
2620
+ return true;
2621
+ }
2622
+ }
2623
+ catch { }
2624
+ return false;
2625
+ }
2626
+ }
2627
+ // The stable tag for the JishuShell base image. Reads core.json — framework-level.
2628
+ function resolveDockerImageTag() {
2629
+ return getOpenclawDockerImage();
2630
+ }
2631
+ // ── Docker image build dispatch wrappers ───────────────────────────────
2632
+ //
2633
+ // All OpenClaw-specific image build logic now lives in
2634
+ // `OpenClawIntegration.buildRuntimeImage()`. These
2635
+ // exports remain as thin wrappers so `routes/setup.ts` and
2636
+ // `install.ts` callers don't need to learn integration dispatch.
2637
+ /** Blocking: pull or build the OpenClaw docker image. */
2638
+ export async function buildSlimOpenclawImage(tag) {
2639
+ const integration = getIntegration("openclaw");
2640
+ if (typeof integration.buildRuntimeImage !== "function") {
2641
+ return { ok: false, message: "OpenClawIntegration.buildRuntimeImage is not implemented" };
2642
+ }
2643
+ return integration.buildRuntimeImage({ tag });
2644
+ }
2645
+ /** Non-blocking: returns immediately with a task id for SSE polling. */
2646
+ export function startBuildSlimOpenclawImage(tag) {
2647
+ const integration = getIntegration("openclaw");
2648
+ if (typeof integration.startBuildRuntimeImage !== "function") {
2649
+ return { ok: false, message: "OpenClawIntegration.startBuildRuntimeImage is not implemented" };
2650
+ }
2651
+ return integration.startBuildRuntimeImage({ tag });
2652
+ }
2653
+ /** @deprecated Use buildSlimOpenclawImage instead */
2654
+ export async function buildCustomOpenclawImage(tag) {
2655
+ return buildSlimOpenclawImage(tag);
2656
+ }
2657
+ /** @deprecated Use startBuildSlimOpenclawImage instead */
2658
+ export function startBuildCustomOpenclawImage(tag) {
2659
+ return startBuildSlimOpenclawImage(tag);
2660
+ }
2661
+ export async function runFullSetup(options = {}) {
2662
+ const steps = [];
2663
+ let allOk = true;
2664
+ const defaults = {
2665
+ installNomad: true,
2666
+ buildDockerImage: true,
2667
+ ...options,
2668
+ };
2669
+ // Check Docker by daemon accessibility (docker info), not just binary existence
2670
+ const dockerReady = canAccessDockerDaemon(10000);
2671
+ if (!dockerReady) {
2672
+ steps.push({ step: "docker", status: "running", message: "Installing Docker..." });
2673
+ const result = await installDocker();
2674
+ steps[steps.length - 1].status = result.ok ? "done" : "error";
2675
+ steps[steps.length - 1].message = result.message;
2676
+ if (!result.ok)
2677
+ allOk = false;
2678
+ }
2679
+ if (defaults.installNomad) {
2680
+ steps.push({ step: "nomad", status: "running", message: "Installing Nomad..." });
2681
+ const result = await installNomad();
2682
+ steps[steps.length - 1].status = result.ok ? "done" : "error";
2683
+ steps[steps.length - 1].message = result.message;
2684
+ if (!result.ok)
2685
+ allOk = false;
2686
+ if (result.ok) {
2687
+ steps.push({ step: "nomad-systemd", status: "running", message: "Configuring Nomad auto-start..." });
2688
+ const sysResult = installNomadSystemd();
2689
+ steps[steps.length - 1].status = sysResult.ok ? "done" : "error";
2690
+ steps[steps.length - 1].message = sysResult.message;
2691
+ if (!sysResult.ok) {
2692
+ // Fallback to manual start if systemd fails
2693
+ steps.push({ step: "nomad-start", status: "running", message: "Starting Nomad..." });
2694
+ const startResult = await startNomad();
2695
+ steps[steps.length - 1].status = startResult.ok ? "done" : "error";
2696
+ steps[steps.length - 1].message = startResult.message;
2697
+ if (!startResult.ok)
2698
+ allOk = false;
2699
+ }
2700
+ }
2701
+ }
2702
+ // First-time setup prepares only required App workload images. Merely
2703
+ // registering an optional Integration must not download its App image: the
2704
+ // user installs optional Apps explicitly through Panel or CLI.
2705
+ if (defaults.buildDockerImage) {
2706
+ // Restart Nomad so it re-detects Docker driver after Docker was installed
2707
+ try {
2708
+ execSync("sudo systemctl restart nomad 2>/dev/null || true", { timeout: 15000 });
2709
+ for (let i = 0; i < 10; i++) {
2710
+ await new Promise(r => setTimeout(r, 2000));
2711
+ if (isPortListening(4646))
2712
+ break;
2713
+ }
2714
+ }
2715
+ catch { }
2716
+ for (const integration of listRegisteredIntegrations().filter((item) => item.manifest?.requiredForSetupReady === true)) {
2717
+ const stepName = `runtime-${integration.kind}`;
2718
+ // Prefer buildRuntimeImage (pure docker image prep) over
2719
+ // installRuntime (legacy host-mode npm install). Integrations that only
2720
+ // implement one will use whichever is present; integrations with neither
2721
+ // are skipped silently.
2722
+ const runner = integration.buildRuntimeImage
2723
+ ? integration.buildRuntimeImage.bind(integration)
2724
+ : integration.installRuntime
2725
+ ? integration.installRuntime.bind(integration)
2726
+ : null;
2727
+ if (!runner)
2728
+ continue;
2729
+ steps.push({
2730
+ step: stepName,
2731
+ status: "running",
2732
+ message: `Preparing ${integration.kind} runtime…`,
2733
+ });
2734
+ try {
2735
+ const imgResult = (await runner());
2736
+ const okStep = !!imgResult.ok;
2737
+ steps[steps.length - 1].status = okStep ? "done" : "error";
2738
+ steps[steps.length - 1].message = imgResult.message;
2739
+ if (!okStep)
2740
+ allOk = false;
2741
+ }
2742
+ catch (e) {
2743
+ const msg = e?.message || "runtime prepare failed";
2744
+ steps[steps.length - 1].status = "error";
2745
+ steps[steps.length - 1].message = msg;
2746
+ allOk = false;
2747
+ }
2748
+ }
2749
+ }
2750
+ if (isPortListening(4646)) {
2751
+ await finalizeNomadStartup();
2752
+ }
2753
+ // Only mark setup as complete if all critical steps succeeded
2754
+ if (!allOk) {
2755
+ return { ok: false, steps };
2756
+ }
2757
+ const config = getCoreConfig();
2758
+ config.service_manager = "nomad";
2759
+ config.nomad_driver = "docker";
2760
+ saveCoreConfig(config);
2761
+ // Install jishushell systemd service (best-effort — does not block setup completion)
2762
+ steps.push({ step: "jishushell-systemd", status: "running", message: "Configuring JishuShell auto-start..." });
2763
+ const jsResult = installJishushellSystemd();
2764
+ steps[steps.length - 1].status = jsResult.ok ? "done" : "error";
2765
+ steps[steps.length - 1].message = jsResult.message;
2766
+ return { ok: allOk, steps };
2767
+ }
2768
+ //# sourceMappingURL=setup-manager.js.map