@start9labs/start-sdk 0.3.6-alpha6 → 0.3.6-alpha8

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 (411) hide show
  1. package/cjs/lib/StartSdk.d.ts +12 -25
  2. package/cjs/lib/StartSdk.js +5 -23
  3. package/cjs/lib/StartSdk.js.map +1 -1
  4. package/cjs/lib/backup/Backups.js +2 -1
  5. package/cjs/lib/backup/Backups.js.map +1 -1
  6. package/cjs/lib/backup/setupBackups.d.ts +1 -1
  7. package/cjs/lib/backup/setupBackups.js +2 -1
  8. package/cjs/lib/backup/setupBackups.js.map +1 -1
  9. package/cjs/lib/config/setupConfig.js +2 -1
  10. package/cjs/lib/config/setupConfig.js.map +1 -1
  11. package/cjs/lib/dependencies/dependencies.d.ts +15 -15
  12. package/cjs/lib/dependencies/dependencies.js +128 -81
  13. package/cjs/lib/dependencies/dependencies.js.map +1 -1
  14. package/cjs/lib/exver/index.d.ts +30 -8
  15. package/cjs/lib/exver/index.js +61 -54
  16. package/cjs/lib/exver/index.js.map +1 -1
  17. package/cjs/lib/health/HealthCheck.d.ts +4 -10
  18. package/cjs/lib/health/HealthCheck.js +29 -38
  19. package/cjs/lib/health/HealthCheck.js.map +1 -1
  20. package/cjs/lib/health/checkFns/HealthCheckResult.d.ts +2 -0
  21. package/cjs/lib/{osBindings/RemoveAddressParams.js → health/checkFns/HealthCheckResult.js} +1 -1
  22. package/cjs/lib/health/checkFns/HealthCheckResult.js.map +1 -0
  23. package/cjs/lib/health/checkFns/checkPortListening.d.ts +2 -2
  24. package/cjs/lib/health/checkFns/checkPortListening.js +3 -3
  25. package/cjs/lib/health/checkFns/checkPortListening.js.map +1 -1
  26. package/cjs/lib/health/checkFns/checkWebUrl.d.ts +2 -2
  27. package/cjs/lib/health/checkFns/checkWebUrl.js +4 -3
  28. package/cjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
  29. package/cjs/lib/health/checkFns/index.d.ts +1 -1
  30. package/cjs/lib/health/checkFns/runHealthScript.d.ts +3 -4
  31. package/cjs/lib/health/checkFns/runHealthScript.js +3 -3
  32. package/cjs/lib/health/checkFns/runHealthScript.js.map +1 -1
  33. package/cjs/lib/index.d.ts +1 -0
  34. package/cjs/lib/index.js +4 -0
  35. package/cjs/lib/index.js.map +1 -1
  36. package/cjs/lib/inits/migrations/Migration.d.ts +14 -27
  37. package/cjs/lib/inits/migrations/Migration.js +10 -3
  38. package/cjs/lib/inits/migrations/Migration.js.map +1 -1
  39. package/cjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
  40. package/cjs/lib/inits/migrations/setupMigrations.js +90 -26
  41. package/cjs/lib/inits/migrations/setupMigrations.js.map +1 -1
  42. package/cjs/lib/inits/setupInit.d.ts +2 -2
  43. package/cjs/lib/inits/setupInit.js +29 -5
  44. package/cjs/lib/inits/setupInit.js.map +1 -1
  45. package/cjs/lib/inits/setupInstall.d.ts +1 -1
  46. package/cjs/lib/inits/setupInstall.js +4 -5
  47. package/cjs/lib/inits/setupInstall.js.map +1 -1
  48. package/cjs/lib/inits/setupUninstall.d.ts +1 -1
  49. package/cjs/lib/inits/setupUninstall.js +1 -1
  50. package/cjs/lib/inits/setupUninstall.js.map +1 -1
  51. package/cjs/lib/interfaces/Origin.js +1 -2
  52. package/cjs/lib/interfaces/Origin.js.map +1 -1
  53. package/cjs/lib/interfaces/ServiceInterfaceBuilder.d.ts +0 -2
  54. package/cjs/lib/interfaces/ServiceInterfaceBuilder.js.map +1 -1
  55. package/cjs/lib/mainFn/CommandController.d.ts +7 -4
  56. package/cjs/lib/mainFn/CommandController.js +18 -8
  57. package/cjs/lib/mainFn/CommandController.js.map +1 -1
  58. package/cjs/lib/mainFn/Daemon.d.ts +4 -2
  59. package/cjs/lib/mainFn/Daemon.js +7 -2
  60. package/cjs/lib/mainFn/Daemon.js.map +1 -1
  61. package/cjs/lib/mainFn/Daemons.d.ts +4 -4
  62. package/cjs/lib/mainFn/HealthDaemon.d.ts +8 -5
  63. package/cjs/lib/mainFn/HealthDaemon.js +34 -64
  64. package/cjs/lib/mainFn/HealthDaemon.js.map +1 -1
  65. package/cjs/lib/manifest/ManifestTypes.d.ts +1 -10
  66. package/cjs/lib/manifest/setupManifest.d.ts +8 -4
  67. package/cjs/lib/manifest/setupManifest.js +11 -2
  68. package/cjs/lib/manifest/setupManifest.js.map +1 -1
  69. package/cjs/lib/osBindings/ApiState.d.ts +1 -0
  70. package/cjs/lib/osBindings/{Callback.js → ApiState.js} +1 -1
  71. package/cjs/lib/osBindings/ApiState.js.map +1 -0
  72. package/cjs/lib/osBindings/CheckDependenciesParam.d.ts +1 -1
  73. package/cjs/lib/osBindings/CheckDependenciesResult.d.ts +5 -4
  74. package/cjs/lib/osBindings/DependencyRequirement.d.ts +5 -3
  75. package/cjs/lib/osBindings/DependencyRequirement.js +0 -1
  76. package/cjs/lib/osBindings/DependencyRequirement.js.map +1 -1
  77. package/cjs/lib/osBindings/EchoParams.d.ts +3 -0
  78. package/cjs/lib/osBindings/{ChrootParams.js → EchoParams.js} +1 -1
  79. package/cjs/lib/osBindings/EchoParams.js.map +1 -0
  80. package/cjs/lib/osBindings/ExecuteAction.d.ts +4 -4
  81. package/cjs/lib/osBindings/ExportActionParams.d.ts +4 -1
  82. package/cjs/lib/osBindings/ExportServiceInterfaceParams.d.ts +0 -1
  83. package/cjs/lib/osBindings/GetConfiguredParams.d.ts +4 -0
  84. package/cjs/lib/osBindings/GetConfiguredParams.js +3 -0
  85. package/cjs/lib/osBindings/GetConfiguredParams.js.map +1 -0
  86. package/cjs/lib/osBindings/GetHostInfoParams.d.ts +3 -2
  87. package/cjs/lib/osBindings/GetPrimaryUrlParams.d.ts +5 -4
  88. package/cjs/lib/osBindings/GetServiceInterfaceParams.d.ts +3 -2
  89. package/cjs/lib/osBindings/GetServicePortForwardParams.d.ts +3 -2
  90. package/cjs/lib/osBindings/GetSslCertificateParams.d.ts +1 -1
  91. package/cjs/lib/osBindings/GetStoreParams.d.ts +3 -2
  92. package/cjs/lib/osBindings/HardwareRequirements.d.ts +1 -1
  93. package/cjs/lib/osBindings/ListServiceInterfacesParams.d.ts +3 -2
  94. package/cjs/lib/osBindings/LoginParams.d.ts +1 -0
  95. package/cjs/lib/osBindings/LshwDevice.d.ts +7 -0
  96. package/cjs/lib/osBindings/LshwDevice.js +3 -0
  97. package/cjs/lib/osBindings/LshwDevice.js.map +1 -0
  98. package/cjs/lib/osBindings/LshwDisplay.d.ts +3 -0
  99. package/cjs/lib/osBindings/{ParamsPackageId.js → LshwDisplay.js} +1 -1
  100. package/cjs/lib/osBindings/LshwDisplay.js.map +1 -0
  101. package/cjs/lib/osBindings/LshwProcessor.d.ts +3 -0
  102. package/cjs/lib/osBindings/{GetVersionParams.js → LshwProcessor.js} +1 -1
  103. package/cjs/lib/osBindings/LshwProcessor.js.map +1 -0
  104. package/cjs/lib/osBindings/MainStatus.d.ts +3 -3
  105. package/cjs/lib/osBindings/Manifest.d.ts +2 -0
  106. package/cjs/lib/osBindings/MountTarget.d.ts +4 -2
  107. package/cjs/lib/osBindings/MountTarget.js +0 -1
  108. package/cjs/lib/osBindings/MountTarget.js.map +1 -1
  109. package/cjs/lib/osBindings/NamedHealthCheckResult.d.ts +18 -0
  110. package/cjs/lib/osBindings/NamedHealthCheckResult.js +4 -0
  111. package/cjs/lib/osBindings/NamedHealthCheckResult.js.map +1 -0
  112. package/cjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
  113. package/cjs/lib/osBindings/ServiceInterface.d.ts +0 -1
  114. package/cjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
  115. package/cjs/lib/osBindings/{ParamsMaybePackageId.js → SetDataVersionParams.js} +1 -1
  116. package/cjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
  117. package/cjs/lib/osBindings/index.d.ts +5 -6
  118. package/cjs/lib/s9pk/merkleArchive/varint.js +2 -1
  119. package/cjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
  120. package/cjs/lib/test/configBuilder.test.js +7 -4
  121. package/cjs/lib/test/configBuilder.test.js.map +1 -1
  122. package/cjs/lib/test/graph.test.js +78 -0
  123. package/cjs/lib/test/graph.test.js.map +1 -0
  124. package/cjs/lib/test/host.test.js +0 -1
  125. package/cjs/lib/test/host.test.js.map +1 -1
  126. package/cjs/lib/test/output.sdk.d.ts +11 -255
  127. package/cjs/lib/test/output.sdk.js +9 -3
  128. package/cjs/lib/test/output.sdk.js.map +1 -1
  129. package/cjs/lib/test/startosTypeValidation.test.js +4 -6
  130. package/cjs/lib/test/startosTypeValidation.test.js.map +1 -1
  131. package/cjs/lib/trigger/TriggerInput.d.ts +0 -1
  132. package/cjs/lib/trigger/changeOnFirstSuccess.js +5 -3
  133. package/cjs/lib/trigger/changeOnFirstSuccess.js.map +1 -1
  134. package/cjs/lib/trigger/defaultTrigger.js +4 -4
  135. package/cjs/lib/trigger/defaultTrigger.js.map +1 -1
  136. package/cjs/lib/trigger/lastStatus.d.ts +8 -0
  137. package/cjs/lib/trigger/lastStatus.js +30 -0
  138. package/cjs/lib/trigger/lastStatus.js.map +1 -0
  139. package/cjs/lib/trigger/successFailure.d.ts +2 -2
  140. package/cjs/lib/trigger/successFailure.js +2 -19
  141. package/cjs/lib/trigger/successFailure.js.map +1 -1
  142. package/cjs/lib/types.d.ts +121 -156
  143. package/cjs/lib/types.js.map +1 -1
  144. package/cjs/lib/util/Overlay.d.ts +46 -2
  145. package/cjs/lib/util/Overlay.js +51 -6
  146. package/cjs/lib/util/Overlay.js.map +1 -1
  147. package/cjs/lib/util/asError.d.ts +1 -0
  148. package/cjs/lib/util/asError.js +11 -0
  149. package/cjs/lib/util/asError.js.map +1 -0
  150. package/cjs/lib/util/getServiceInterface.d.ts +3 -5
  151. package/cjs/lib/util/getServiceInterface.js +4 -1
  152. package/cjs/lib/util/getServiceInterface.js.map +1 -1
  153. package/cjs/lib/util/getServiceInterfaces.d.ts +3 -3
  154. package/cjs/lib/util/getServiceInterfaces.js +1 -1
  155. package/cjs/lib/util/getServiceInterfaces.js.map +1 -1
  156. package/cjs/lib/util/graph.d.ts +19 -0
  157. package/cjs/lib/util/graph.js +206 -0
  158. package/cjs/lib/util/graph.js.map +1 -0
  159. package/cjs/lib/util/index.d.ts +1 -0
  160. package/cjs/lib/util/index.js +3 -1
  161. package/cjs/lib/util/index.js.map +1 -1
  162. package/cjs/lib/version/VersionGraph.d.ts +18 -0
  163. package/cjs/lib/version/VersionGraph.js +104 -0
  164. package/cjs/lib/version/VersionGraph.js.map +1 -0
  165. package/cjs/lib/version/VersionInfo.d.ts +44 -0
  166. package/cjs/lib/version/VersionInfo.js +48 -0
  167. package/cjs/lib/version/VersionInfo.js.map +1 -0
  168. package/cjs/lib/version/index.d.ts +2 -0
  169. package/cjs/lib/version/index.js +19 -0
  170. package/cjs/lib/version/index.js.map +1 -0
  171. package/cjs/lib/versionInfo/VersionInfo.d.ts +44 -0
  172. package/cjs/lib/versionInfo/VersionInfo.js +48 -0
  173. package/cjs/lib/versionInfo/VersionInfo.js.map +1 -0
  174. package/cjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
  175. package/cjs/lib/versionInfo/setupVersionGraph.js +108 -0
  176. package/cjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
  177. package/mjs/lib/StartSdk.d.ts +12 -25
  178. package/mjs/lib/StartSdk.js +6 -24
  179. package/mjs/lib/StartSdk.js.map +1 -1
  180. package/mjs/lib/backup/Backups.js +2 -1
  181. package/mjs/lib/backup/Backups.js.map +1 -1
  182. package/mjs/lib/backup/setupBackups.d.ts +1 -1
  183. package/mjs/lib/backup/setupBackups.js +2 -1
  184. package/mjs/lib/backup/setupBackups.js.map +1 -1
  185. package/mjs/lib/config/setupConfig.js +1 -1
  186. package/mjs/lib/config/setupConfig.js.map +1 -1
  187. package/mjs/lib/dependencies/dependencies.d.ts +15 -15
  188. package/mjs/lib/dependencies/dependencies.js +126 -79
  189. package/mjs/lib/dependencies/dependencies.js.map +1 -1
  190. package/mjs/lib/exver/index.d.ts +30 -8
  191. package/mjs/lib/exver/index.js +61 -54
  192. package/mjs/lib/exver/index.js.map +1 -1
  193. package/mjs/lib/health/HealthCheck.d.ts +4 -10
  194. package/mjs/lib/health/HealthCheck.js +29 -38
  195. package/mjs/lib/health/HealthCheck.js.map +1 -1
  196. package/mjs/lib/health/checkFns/HealthCheckResult.d.ts +2 -0
  197. package/mjs/lib/health/checkFns/HealthCheckResult.js +2 -0
  198. package/mjs/lib/health/checkFns/HealthCheckResult.js.map +1 -0
  199. package/mjs/lib/health/checkFns/checkPortListening.d.ts +2 -2
  200. package/mjs/lib/health/checkFns/checkPortListening.js +3 -3
  201. package/mjs/lib/health/checkFns/checkPortListening.js.map +1 -1
  202. package/mjs/lib/health/checkFns/checkWebUrl.d.ts +2 -2
  203. package/mjs/lib/health/checkFns/checkWebUrl.js +4 -3
  204. package/mjs/lib/health/checkFns/checkWebUrl.js.map +1 -1
  205. package/mjs/lib/health/checkFns/index.d.ts +1 -1
  206. package/mjs/lib/health/checkFns/runHealthScript.d.ts +3 -4
  207. package/mjs/lib/health/checkFns/runHealthScript.js +3 -3
  208. package/mjs/lib/health/checkFns/runHealthScript.js.map +1 -1
  209. package/mjs/lib/index.d.ts +1 -0
  210. package/mjs/lib/index.js +1 -0
  211. package/mjs/lib/index.js.map +1 -1
  212. package/mjs/lib/inits/migrations/Migration.d.ts +14 -27
  213. package/mjs/lib/inits/migrations/Migration.js +9 -2
  214. package/mjs/lib/inits/migrations/Migration.js.map +1 -1
  215. package/mjs/lib/inits/migrations/setupMigrations.d.ts +10 -5
  216. package/mjs/lib/inits/migrations/setupMigrations.js +92 -28
  217. package/mjs/lib/inits/migrations/setupMigrations.js.map +1 -1
  218. package/mjs/lib/inits/setupInit.d.ts +2 -2
  219. package/mjs/lib/inits/setupInit.js +29 -5
  220. package/mjs/lib/inits/setupInit.js.map +1 -1
  221. package/mjs/lib/inits/setupInstall.d.ts +1 -1
  222. package/mjs/lib/inits/setupInstall.js +4 -5
  223. package/mjs/lib/inits/setupInstall.js.map +1 -1
  224. package/mjs/lib/inits/setupUninstall.d.ts +1 -1
  225. package/mjs/lib/inits/setupUninstall.js +1 -1
  226. package/mjs/lib/inits/setupUninstall.js.map +1 -1
  227. package/mjs/lib/interfaces/Origin.js +1 -2
  228. package/mjs/lib/interfaces/Origin.js.map +1 -1
  229. package/mjs/lib/interfaces/ServiceInterfaceBuilder.d.ts +0 -2
  230. package/mjs/lib/interfaces/ServiceInterfaceBuilder.js.map +1 -1
  231. package/mjs/lib/mainFn/CommandController.d.ts +7 -4
  232. package/mjs/lib/mainFn/CommandController.js +17 -9
  233. package/mjs/lib/mainFn/CommandController.js.map +1 -1
  234. package/mjs/lib/mainFn/Daemon.d.ts +4 -2
  235. package/mjs/lib/mainFn/Daemon.js +7 -3
  236. package/mjs/lib/mainFn/Daemon.js.map +1 -1
  237. package/mjs/lib/mainFn/Daemons.d.ts +4 -4
  238. package/mjs/lib/mainFn/HealthDaemon.d.ts +8 -5
  239. package/mjs/lib/mainFn/HealthDaemon.js +33 -50
  240. package/mjs/lib/mainFn/HealthDaemon.js.map +1 -1
  241. package/mjs/lib/manifest/ManifestTypes.d.ts +1 -10
  242. package/mjs/lib/manifest/setupManifest.d.ts +8 -4
  243. package/mjs/lib/manifest/setupManifest.js +11 -2
  244. package/mjs/lib/manifest/setupManifest.js.map +1 -1
  245. package/mjs/lib/osBindings/ApiState.d.ts +1 -0
  246. package/mjs/lib/osBindings/{Callback.js → ApiState.js} +1 -1
  247. package/mjs/lib/osBindings/ApiState.js.map +1 -0
  248. package/mjs/lib/osBindings/CheckDependenciesParam.d.ts +1 -1
  249. package/mjs/lib/osBindings/CheckDependenciesResult.d.ts +5 -4
  250. package/mjs/lib/osBindings/DependencyRequirement.d.ts +5 -3
  251. package/mjs/lib/osBindings/DependencyRequirement.js +0 -1
  252. package/mjs/lib/osBindings/DependencyRequirement.js.map +1 -1
  253. package/mjs/lib/osBindings/EchoParams.d.ts +3 -0
  254. package/mjs/lib/osBindings/{ChrootParams.js → EchoParams.js} +1 -1
  255. package/mjs/lib/osBindings/EchoParams.js.map +1 -0
  256. package/mjs/lib/osBindings/ExecuteAction.d.ts +4 -4
  257. package/mjs/lib/osBindings/ExportActionParams.d.ts +4 -1
  258. package/mjs/lib/osBindings/ExportServiceInterfaceParams.d.ts +0 -1
  259. package/mjs/lib/osBindings/GetConfiguredParams.d.ts +4 -0
  260. package/mjs/lib/osBindings/GetConfiguredParams.js +2 -0
  261. package/mjs/lib/osBindings/GetConfiguredParams.js.map +1 -0
  262. package/mjs/lib/osBindings/GetHostInfoParams.d.ts +3 -2
  263. package/mjs/lib/osBindings/GetPrimaryUrlParams.d.ts +5 -4
  264. package/mjs/lib/osBindings/GetServiceInterfaceParams.d.ts +3 -2
  265. package/mjs/lib/osBindings/GetServicePortForwardParams.d.ts +3 -2
  266. package/mjs/lib/osBindings/GetSslCertificateParams.d.ts +1 -1
  267. package/mjs/lib/osBindings/GetStoreParams.d.ts +3 -2
  268. package/mjs/lib/osBindings/HardwareRequirements.d.ts +1 -1
  269. package/mjs/lib/osBindings/ListServiceInterfacesParams.d.ts +3 -2
  270. package/mjs/lib/osBindings/LoginParams.d.ts +1 -0
  271. package/mjs/lib/osBindings/LshwDevice.d.ts +7 -0
  272. package/mjs/lib/osBindings/LshwDevice.js +2 -0
  273. package/mjs/lib/osBindings/LshwDevice.js.map +1 -0
  274. package/mjs/lib/osBindings/LshwDisplay.d.ts +3 -0
  275. package/mjs/lib/osBindings/{ParamsPackageId.js → LshwDisplay.js} +1 -1
  276. package/mjs/lib/osBindings/LshwDisplay.js.map +1 -0
  277. package/mjs/lib/osBindings/LshwProcessor.d.ts +3 -0
  278. package/mjs/lib/osBindings/{GetVersionParams.js → LshwProcessor.js} +1 -1
  279. package/mjs/lib/osBindings/LshwProcessor.js.map +1 -0
  280. package/mjs/lib/osBindings/MainStatus.d.ts +3 -3
  281. package/mjs/lib/osBindings/Manifest.d.ts +2 -0
  282. package/mjs/lib/osBindings/MountTarget.d.ts +4 -2
  283. package/mjs/lib/osBindings/MountTarget.js +0 -1
  284. package/mjs/lib/osBindings/MountTarget.js.map +1 -1
  285. package/mjs/lib/osBindings/NamedHealthCheckResult.d.ts +18 -0
  286. package/mjs/lib/osBindings/NamedHealthCheckResult.js +3 -0
  287. package/mjs/lib/osBindings/NamedHealthCheckResult.js.map +1 -0
  288. package/mjs/lib/osBindings/PackageDataEntry.d.ts +2 -0
  289. package/mjs/lib/osBindings/ServiceInterface.d.ts +0 -1
  290. package/mjs/lib/osBindings/SetDataVersionParams.d.ts +3 -0
  291. package/mjs/lib/osBindings/{ParamsMaybePackageId.js → SetDataVersionParams.js} +1 -1
  292. package/mjs/lib/osBindings/SetDataVersionParams.js.map +1 -0
  293. package/mjs/lib/osBindings/index.d.ts +5 -6
  294. package/mjs/lib/s9pk/merkleArchive/varint.js +2 -1
  295. package/mjs/lib/s9pk/merkleArchive/varint.js.map +1 -1
  296. package/mjs/lib/test/configBuilder.test.js +7 -4
  297. package/mjs/lib/test/configBuilder.test.js.map +1 -1
  298. package/mjs/lib/test/graph.test.js +76 -0
  299. package/mjs/lib/test/graph.test.js.map +1 -0
  300. package/mjs/lib/test/host.test.js +0 -1
  301. package/mjs/lib/test/host.test.js.map +1 -1
  302. package/mjs/lib/test/output.sdk.d.ts +11 -255
  303. package/mjs/lib/test/output.sdk.js +9 -3
  304. package/mjs/lib/test/output.sdk.js.map +1 -1
  305. package/mjs/lib/test/startosTypeValidation.test.js +4 -6
  306. package/mjs/lib/test/startosTypeValidation.test.js.map +1 -1
  307. package/mjs/lib/trigger/TriggerInput.d.ts +0 -1
  308. package/mjs/lib/trigger/changeOnFirstSuccess.js +5 -3
  309. package/mjs/lib/trigger/changeOnFirstSuccess.js.map +1 -1
  310. package/mjs/lib/trigger/defaultTrigger.js +4 -4
  311. package/mjs/lib/trigger/defaultTrigger.js.map +1 -1
  312. package/mjs/lib/trigger/lastStatus.d.ts +8 -0
  313. package/mjs/lib/trigger/lastStatus.js +25 -0
  314. package/mjs/lib/trigger/lastStatus.js.map +1 -0
  315. package/mjs/lib/trigger/successFailure.d.ts +2 -2
  316. package/mjs/lib/trigger/successFailure.js +2 -19
  317. package/mjs/lib/trigger/successFailure.js.map +1 -1
  318. package/mjs/lib/types.d.ts +121 -156
  319. package/mjs/lib/types.js.map +1 -1
  320. package/mjs/lib/util/Overlay.d.ts +46 -2
  321. package/mjs/lib/util/Overlay.js +50 -5
  322. package/mjs/lib/util/Overlay.js.map +1 -1
  323. package/mjs/lib/util/asError.d.ts +1 -0
  324. package/mjs/lib/util/asError.js +7 -0
  325. package/mjs/lib/util/asError.js.map +1 -0
  326. package/mjs/lib/util/getServiceInterface.d.ts +3 -5
  327. package/mjs/lib/util/getServiceInterface.js +4 -1
  328. package/mjs/lib/util/getServiceInterface.js.map +1 -1
  329. package/mjs/lib/util/getServiceInterfaces.d.ts +3 -3
  330. package/mjs/lib/util/getServiceInterfaces.js +1 -1
  331. package/mjs/lib/util/getServiceInterfaces.js.map +1 -1
  332. package/mjs/lib/util/graph.d.ts +19 -0
  333. package/mjs/lib/util/graph.js +201 -0
  334. package/mjs/lib/util/graph.js.map +1 -0
  335. package/mjs/lib/util/index.d.ts +1 -0
  336. package/mjs/lib/util/index.js +1 -0
  337. package/mjs/lib/util/index.js.map +1 -1
  338. package/mjs/lib/version/VersionGraph.d.ts +18 -0
  339. package/mjs/lib/version/VersionGraph.js +102 -0
  340. package/mjs/lib/version/VersionGraph.js.map +1 -0
  341. package/mjs/lib/version/VersionInfo.d.ts +44 -0
  342. package/mjs/lib/version/VersionInfo.js +45 -0
  343. package/mjs/lib/version/VersionInfo.js.map +1 -0
  344. package/mjs/lib/version/index.d.ts +2 -0
  345. package/mjs/lib/version/index.js +3 -0
  346. package/mjs/lib/version/index.js.map +1 -0
  347. package/mjs/lib/versionInfo/VersionInfo.d.ts +44 -0
  348. package/mjs/lib/versionInfo/VersionInfo.js +45 -0
  349. package/mjs/lib/versionInfo/VersionInfo.js.map +1 -0
  350. package/mjs/lib/versionInfo/setupVersionGraph.d.ts +19 -0
  351. package/mjs/lib/versionInfo/setupVersionGraph.js +105 -0
  352. package/mjs/lib/versionInfo/setupVersionGraph.js.map +1 -0
  353. package/mjs/lib/versionInfo/setupVersionInfo.d.ts +19 -0
  354. package/mjs/lib/versionInfo/setupVersionInfo.js +105 -0
  355. package/mjs/lib/versionInfo/setupVersionInfo.js.map +1 -0
  356. package/package.json +1 -1
  357. package/cjs/lib/emverLite/mod.d.ts +0 -108
  358. package/cjs/lib/emverLite/mod.js +0 -329
  359. package/cjs/lib/emverLite/mod.js.map +0 -1
  360. package/cjs/lib/osBindings/Callback.d.ts +0 -1
  361. package/cjs/lib/osBindings/Callback.js.map +0 -1
  362. package/cjs/lib/osBindings/ChrootParams.d.ts +0 -8
  363. package/cjs/lib/osBindings/ChrootParams.js.map +0 -1
  364. package/cjs/lib/osBindings/GetVersionParams.d.ts +0 -6
  365. package/cjs/lib/osBindings/GetVersionParams.js.map +0 -1
  366. package/cjs/lib/osBindings/ParamsMaybePackageId.d.ts +0 -3
  367. package/cjs/lib/osBindings/ParamsMaybePackageId.js.map +0 -1
  368. package/cjs/lib/osBindings/ParamsPackageId.d.ts +0 -3
  369. package/cjs/lib/osBindings/ParamsPackageId.js.map +0 -1
  370. package/cjs/lib/osBindings/RemoveActionParams.d.ts +0 -3
  371. package/cjs/lib/osBindings/RemoveActionParams.js +0 -4
  372. package/cjs/lib/osBindings/RemoveActionParams.js.map +0 -1
  373. package/cjs/lib/osBindings/RemoveAddressParams.d.ts +0 -4
  374. package/cjs/lib/osBindings/RemoveAddressParams.js.map +0 -1
  375. package/cjs/lib/osBindings/SetSystemSmtpParams.d.ts +0 -3
  376. package/cjs/lib/osBindings/SetSystemSmtpParams.js +0 -4
  377. package/cjs/lib/osBindings/SetSystemSmtpParams.js.map +0 -1
  378. package/cjs/lib/test/emverList.test.js +0 -227
  379. package/cjs/lib/test/emverList.test.js.map +0 -1
  380. package/cjs/lib/test/utils.splitCommand.test.js +0 -42
  381. package/cjs/lib/test/utils.splitCommand.test.js.map +0 -1
  382. package/mjs/lib/emverLite/mod.d.ts +0 -108
  383. package/mjs/lib/emverLite/mod.js +0 -301
  384. package/mjs/lib/emverLite/mod.js.map +0 -1
  385. package/mjs/lib/osBindings/Callback.d.ts +0 -1
  386. package/mjs/lib/osBindings/Callback.js.map +0 -1
  387. package/mjs/lib/osBindings/ChrootParams.d.ts +0 -8
  388. package/mjs/lib/osBindings/ChrootParams.js.map +0 -1
  389. package/mjs/lib/osBindings/GetVersionParams.d.ts +0 -6
  390. package/mjs/lib/osBindings/GetVersionParams.js.map +0 -1
  391. package/mjs/lib/osBindings/ParamsMaybePackageId.d.ts +0 -3
  392. package/mjs/lib/osBindings/ParamsMaybePackageId.js.map +0 -1
  393. package/mjs/lib/osBindings/ParamsPackageId.d.ts +0 -3
  394. package/mjs/lib/osBindings/ParamsPackageId.js.map +0 -1
  395. package/mjs/lib/osBindings/RemoveActionParams.d.ts +0 -3
  396. package/mjs/lib/osBindings/RemoveActionParams.js +0 -3
  397. package/mjs/lib/osBindings/RemoveActionParams.js.map +0 -1
  398. package/mjs/lib/osBindings/RemoveAddressParams.d.ts +0 -4
  399. package/mjs/lib/osBindings/RemoveAddressParams.js +0 -2
  400. package/mjs/lib/osBindings/RemoveAddressParams.js.map +0 -1
  401. package/mjs/lib/osBindings/SetSystemSmtpParams.d.ts +0 -3
  402. package/mjs/lib/osBindings/SetSystemSmtpParams.js +0 -3
  403. package/mjs/lib/osBindings/SetSystemSmtpParams.js.map +0 -1
  404. package/mjs/lib/test/emverList.test.d.ts +0 -1
  405. package/mjs/lib/test/emverList.test.js +0 -225
  406. package/mjs/lib/test/emverList.test.js.map +0 -1
  407. package/mjs/lib/test/utils.splitCommand.test.d.ts +0 -1
  408. package/mjs/lib/test/utils.splitCommand.test.js +0 -40
  409. package/mjs/lib/test/utils.splitCommand.test.js.map +0 -1
  410. /package/cjs/lib/test/{emverList.test.d.ts → graph.test.d.ts} +0 -0
  411. /package/{cjs/lib/test/utils.splitCommand.test.d.ts → mjs/lib/test/graph.test.d.ts} +0 -0
@@ -34,7 +34,7 @@ export class Origin {
34
34
  async export(serviceInterfaces) {
35
35
  const addressesInfo = [];
36
36
  for (let serviceInterface of serviceInterfaces) {
37
- const { name, description, hasPrimary, disabled, id, type, username, path, search, schemeOverride, masked, } = serviceInterface.options;
37
+ const { name, description, hasPrimary, id, type, username, path, search, schemeOverride, masked, } = serviceInterface.options;
38
38
  const addressInfo = this.build({
39
39
  username,
40
40
  path,
@@ -46,7 +46,6 @@ export class Origin {
46
46
  name,
47
47
  description,
48
48
  hasPrimary,
49
- disabled,
50
49
  addressInfo,
51
50
  type,
52
51
  masked,
@@ -1 +1 @@
1
- {"version":3,"file":"Origin.js","sourceRoot":"","sources":["../../../../lib/interfaces/Origin.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,MAAM;IAEN;IACA;IACA;IACA;IAJX,YACW,IAAO,EACP,YAAoB,EACpB,MAAqB,EACrB,SAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAG;QACP,iBAAY,GAAZ,YAAY,CAAQ;QACpB,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAe;IAChC,CAAC;IAEJ,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAgB;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACrC,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CACxE;aACA,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAElD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YAC3D,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;YAC/D,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE;YACtB,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,iBAA4C;QAE5C,MAAM,aAAa,GAAG,EAAE,CAAA;QACxB,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;YAC9C,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,cAAc,EACd,MAAM,GACP,GAAG,gBAAgB,CAAC,OAAO,CAAA;YAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,cAAc;aACf,CAAC,CAAA;YAEF,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAC5D,EAAE;gBACF,IAAI;gBACJ,WAAW;gBACX,UAAU;gBACV,QAAQ;gBACR,WAAW;gBACX,IAAI;gBACJ,MAAM;aACP,CAAC,CAAA;YAEF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAChC;QAED,OAAO,aAA+C,CAAA;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"Origin.js","sourceRoot":"","sources":["../../../../lib/interfaces/Origin.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,MAAM;IAEN;IACA;IACA;IACA;IAJX,YACW,IAAO,EACP,YAAoB,EACpB,MAAqB,EACrB,SAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAG;QACP,iBAAY,GAAZ,YAAY,CAAQ;QACpB,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAe;IAChC,CAAC;IAEJ,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAgB;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACrC,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CACxE;aACA,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAElD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YAC3D,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;YAC/D,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE;YACtB,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,iBAA4C;QAE5C,MAAM,aAAa,GAAG,EAAE,CAAA;QACxB,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;YAC9C,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,UAAU,EACV,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,cAAc,EACd,MAAM,GACP,GAAG,gBAAgB,CAAC,OAAO,CAAA;YAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,cAAc;aACf,CAAC,CAAA;YAEF,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAC5D,EAAE;gBACF,IAAI;gBACJ,WAAW;gBACX,UAAU;gBACV,WAAW;gBACX,IAAI;gBACJ,MAAM;aACP,CAAC,CAAA;YAEF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAChC;QAED,OAAO,aAA+C,CAAA;IACxD,CAAC;CACF"}
@@ -19,7 +19,6 @@ export declare class ServiceInterfaceBuilder {
19
19
  id: string;
20
20
  description: string;
21
21
  hasPrimary: boolean;
22
- disabled: boolean;
23
22
  type: ServiceInterfaceType;
24
23
  username: string | null;
25
24
  path: string;
@@ -36,7 +35,6 @@ export declare class ServiceInterfaceBuilder {
36
35
  id: string;
37
36
  description: string;
38
37
  hasPrimary: boolean;
39
- disabled: boolean;
40
38
  type: ServiceInterfaceType;
41
39
  username: string | null;
42
40
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceInterfaceBuilder.js","sourceRoot":"","sources":["../../../../lib/interfaces/ServiceInterfaceBuilder.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,uBAAuB;IAEvB;IADX,YACW,OAaR;QAbQ,YAAO,GAAP,OAAO,CAaf;IACA,CAAC;CACL"}
1
+ {"version":3,"file":"ServiceInterfaceBuilder.js","sourceRoot":"","sources":["../../../../lib/interfaces/ServiceInterfaceBuilder.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,uBAAuB;IAEvB;IADX,YACW,OAYR;QAZQ,YAAO,GAAP,OAAO,CAYf;IACA,CAAC;CACL"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import * as T from "../types";
4
- import { MountOptions, Overlay } from "../util/Overlay";
4
+ import { ExecSpawnable, MountOptions, NonDestroyableOverlay } from "../util/Overlay";
5
5
  export declare class CommandController {
6
6
  readonly runningAnswer: Promise<unknown>;
7
- readonly overlay: Overlay;
7
+ private readonly overlay;
8
8
  readonly pid: number | undefined;
9
9
  readonly sigtermTimeout: number;
10
10
  private constructor();
@@ -17,7 +17,7 @@ export declare class CommandController {
17
17
  path: string;
18
18
  options: MountOptions;
19
19
  }[] | undefined;
20
- overlay?: Overlay | undefined;
20
+ overlay?: ExecSpawnable | undefined;
21
21
  env?: {
22
22
  [variable: string]: string;
23
23
  } | undefined;
@@ -26,7 +26,10 @@ export declare class CommandController {
26
26
  onStdout?: ((x: Buffer) => void) | undefined;
27
27
  onStderr?: ((x: Buffer) => void) | undefined;
28
28
  }) => Promise<CommandController>;
29
- wait(timeout?: number): Promise<unknown>;
29
+ get nonDestroyableOverlay(): NonDestroyableOverlay;
30
+ wait({ timeout }?: {
31
+ timeout?: number | undefined;
32
+ }): Promise<unknown>;
30
33
  term({ signal, timeout }?: {
31
34
  signal?: NodeJS.Signals | undefined;
32
35
  timeout?: number | undefined;
@@ -1,6 +1,7 @@
1
1
  import { DEFAULT_SIGTERM_TIMEOUT } from ".";
2
2
  import { NO_TIMEOUT, SIGTERM } from "../StartSdk";
3
- import { Overlay } from "../util/Overlay";
3
+ import { asError } from "../util/asError";
4
+ import { NonDestroyableOverlay, Overlay, } from "../util/Overlay";
4
5
  import { splitCommand } from "../util/splitCommand";
5
6
  import { cpExecFile } from "./Daemons";
6
7
  export class CommandController {
@@ -17,10 +18,14 @@ export class CommandController {
17
18
  static of() {
18
19
  return async (effects, imageId, command, options) => {
19
20
  const commands = splitCommand(command);
20
- const overlay = options.overlay || (await Overlay.of(effects, imageId));
21
- for (let mount of options.mounts || []) {
22
- await overlay.mount(mount.options, mount.path);
23
- }
21
+ const overlay = options.overlay ||
22
+ (await (async () => {
23
+ const overlay = await Overlay.of(effects, imageId);
24
+ for (let mount of options.mounts || []) {
25
+ await overlay.mount(mount.options, mount.path);
26
+ }
27
+ return overlay;
28
+ })());
24
29
  const childProcess = await overlay.spawn(commands, {
25
30
  env: options.env,
26
31
  });
@@ -31,7 +36,7 @@ export class CommandController {
31
36
  }));
32
37
  childProcess.stderr.on("data", options.onStderr ??
33
38
  ((data) => {
34
- console.error(data.toString());
39
+ console.error(asError(data));
35
40
  }));
36
41
  childProcess.on("exit", (code) => {
37
42
  if (code === 0) {
@@ -44,7 +49,10 @@ export class CommandController {
44
49
  return new CommandController(answer, overlay, pid, options.sigtermTimeout);
45
50
  };
46
51
  }
47
- async wait(timeout = NO_TIMEOUT) {
52
+ get nonDestroyableOverlay() {
53
+ return new NonDestroyableOverlay(this.overlay);
54
+ }
55
+ async wait({ timeout = NO_TIMEOUT } = {}) {
48
56
  if (timeout > 0)
49
57
  setTimeout(() => {
50
58
  this.term();
@@ -56,7 +64,7 @@ export class CommandController {
56
64
  if (this.pid !== undefined) {
57
65
  await cpExecFile("pkill", ["-9", "-s", String(this.pid)]).catch((_) => { });
58
66
  }
59
- await this.overlay.destroy().catch((_) => { });
67
+ await this.overlay.destroy?.().catch((_) => { });
60
68
  }
61
69
  }
62
70
  async term({ signal = SIGTERM, timeout = this.sigtermTimeout } = {}) {
@@ -74,7 +82,7 @@ export class CommandController {
74
82
  }
75
83
  }
76
84
  finally {
77
- await this.overlay.destroy();
85
+ await this.overlay.destroy?.();
78
86
  }
79
87
  }
80
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import * as T from "../types";
4
- import { MountOptions, Overlay } from "../util/Overlay";
4
+ import { ExecSpawnable, MountOptions, Overlay } from "../util/Overlay";
5
+ import { CommandController } from "./CommandController";
5
6
  /**
6
7
  * This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
7
8
  * and the others state of running, where it will keep a living running command
@@ -10,7 +11,8 @@ export declare class Daemon {
10
11
  private startCommand;
11
12
  private commandController;
12
13
  private shouldBeRunning;
13
- private constructor();
14
+ constructor(startCommand: () => Promise<CommandController>);
15
+ get overlay(): undefined | ExecSpawnable;
14
16
  static of<Manifest extends T.Manifest>(): <A extends string>(effects: T.Effects, imageId: {
15
17
  id: keyof Manifest["images"] & T.ImageId;
16
18
  sharedRun?: boolean;
@@ -1,3 +1,4 @@
1
+ import { asError } from "../util/asError";
1
2
  import { CommandController } from "./CommandController";
2
3
  const TIMEOUT_INCREMENT_MS = 1000;
3
4
  const MAX_TIMEOUT_MS = 30000;
@@ -12,6 +13,9 @@ export class Daemon {
12
13
  constructor(startCommand) {
13
14
  this.startCommand = startCommand;
14
15
  }
16
+ get overlay() {
17
+ return this.commandController?.nonDestroyableOverlay;
18
+ }
15
19
  static of() {
16
20
  return async (effects, imageId, command, options) => {
17
21
  const startCommand = () => CommandController.of()(effects, imageId, command, options);
@@ -33,7 +37,7 @@ export class Daemon {
33
37
  timeoutCounter = Math.max(MAX_TIMEOUT_MS, timeoutCounter);
34
38
  }
35
39
  }).catch((err) => {
36
- console.error(err);
40
+ console.error(asError(err));
37
41
  });
38
42
  }
39
43
  async term(termOptions) {
@@ -42,8 +46,8 @@ export class Daemon {
42
46
  async stop(termOptions) {
43
47
  this.shouldBeRunning = false;
44
48
  await this.commandController
45
- ?.term(termOptions)
46
- .catch((e) => console.error(e));
49
+ ?.term({ ...termOptions })
50
+ .catch((e) => console.error(asError(e)));
47
51
  this.commandController = null;
48
52
  }
49
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../lib/mainFn/Daemon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,MAAM,cAAc,GAAG,KAAK,CAAA;AAC5B;;;GAGG;AAEH,MAAM,OAAO,MAAM;IAGW;IAFpB,iBAAiB,GAA6B,IAAI,CAAA;IAClD,eAAe,GAAG,KAAK,CAAA;IAC/B,YAA4B,YAA8C;QAA9C,iBAAY,GAAZ,YAAY,CAAkC;IAAG,CAAC;IAC9E,MAAM,CAAC,EAAE;QACP,OAAO,KAAK,EACV,OAAkB,EAClB,OAGC,EACD,OAAsB,EACtB,OAaC,EACD,EAAE;YACF,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,iBAAiB,CAAC,EAAE,EAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACtE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAM;SACP;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;YACrB,OAAO,IAAI,CAAC,eAAe,EAAE;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;gBAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;gBACnE,cAAc,IAAI,oBAAoB,CAAA;gBACtC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;aAC1D;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAGV;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAGV;QACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;QAC5B,MAAM,IAAI,CAAC,iBAAiB;YAC1B,EAAE,IAAI,CAAC,WAAW,CAAC;aAClB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../lib/mainFn/Daemon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,MAAM,cAAc,GAAG,KAAK,CAAA;AAC5B;;;GAGG;AAEH,MAAM,OAAO,MAAM;IAGG;IAFZ,iBAAiB,GAA6B,IAAI,CAAA;IAClD,eAAe,GAAG,KAAK,CAAA;IAC/B,YAAoB,YAA8C;QAA9C,iBAAY,GAAZ,YAAY,CAAkC;IAAG,CAAC;IACtE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAA;IACtD,CAAC;IACD,MAAM,CAAC,EAAE;QACP,OAAO,KAAK,EACV,OAAkB,EAClB,OAGC,EACD,OAAsB,EACtB,OAaC,EACD,EAAE;YACF,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,iBAAiB,CAAC,EAAE,EAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACtE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IACD,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAM;SACP;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;YACrB,OAAO,IAAI,CAAC,eAAe,EAAE;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;gBAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;gBACnE,cAAc,IAAI,oBAAoB,CAAA;gBACtC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;aAC1D;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAGV;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAGV;QACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;QAC5B,MAAM,IAAI,CAAC,iBAAiB;YAC1B,EAAE,IAAI,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;aACzB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC/B,CAAC;CACF"}
@@ -2,11 +2,11 @@
2
2
  /// <reference types="node" />
3
3
  import { Signals } from "../StartSdk";
4
4
  import { HealthReceipt } from "../health/HealthReceipt";
5
- import { CheckResult } from "../health/checkFns";
5
+ import { HealthCheckResult } from "../health/checkFns";
6
6
  import { Trigger } from "../trigger";
7
7
  import * as T from "../types";
8
8
  import { Mounts } from "./Mounts";
9
- import { MountOptions, Overlay } from "../util/Overlay";
9
+ import { MountOptions } from "../util/Overlay";
10
10
  import * as CP from "node:child_process";
11
11
  export { Daemon } from "./Daemon";
12
12
  export { CommandController } from "./CommandController";
@@ -17,7 +17,7 @@ export declare const cpExec: typeof CP.exec.__promisify__;
17
17
  export declare const cpExecFile: typeof CP.execFile.__promisify__;
18
18
  export type Ready = {
19
19
  display: string | null;
20
- fn: () => Promise<CheckResult> | CheckResult;
20
+ fn: () => Promise<HealthCheckResult> | HealthCheckResult;
21
21
  trigger?: Trigger;
22
22
  };
23
23
  type DaemonsParams<Manifest extends T.Manifest, Ids extends string, Command extends string, Id extends string> = {
@@ -42,7 +42,7 @@ export declare const runCommand: <Manifest extends T.Manifest>() => <A extends s
42
42
  path: string;
43
43
  options: MountOptions;
44
44
  }[] | undefined;
45
- overlay?: Overlay | undefined;
45
+ overlay?: import("../util/Overlay").ExecSpawnable | undefined;
46
46
  env?: {
47
47
  [variable: string]: string;
48
48
  } | undefined;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { CheckResult } from "../health/checkFns";
2
+ import { HealthCheckResult } from "../health/checkFns";
3
3
  import { Ready } from "./Daemons";
4
4
  import { Daemon } from "./Daemon";
5
5
  import { Effects } from "../types";
@@ -11,15 +11,17 @@ import { Effects } from "../types";
11
11
  *
12
12
  */
13
13
  export declare class HealthDaemon {
14
- #private;
15
- readonly daemon: Promise<Daemon>;
14
+ private readonly daemon;
16
15
  readonly daemonIndex: number;
17
- readonly dependencies: HealthDaemon[];
16
+ private readonly dependencies;
18
17
  readonly id: string;
19
18
  readonly ids: string[];
20
19
  readonly ready: Ready;
21
20
  readonly effects: Effects;
22
21
  readonly sigtermTimeout: number;
22
+ private _health;
23
+ private healthWatchers;
24
+ private running;
23
25
  constructor(daemon: Promise<Daemon>, daemonIndex: number, dependencies: HealthDaemon[], id: string, ids: string[], ready: Ready, effects: Effects, sigtermTimeout?: number);
24
26
  /** Run after we want to do cleanup */
25
27
  term(termOptions?: {
@@ -28,8 +30,9 @@ export declare class HealthDaemon {
28
30
  }): Promise<void>;
29
31
  /** Want to add another notifier that the health might have changed */
30
32
  addWatcher(watcher: () => unknown): void;
31
- get health(): Readonly<CheckResult>;
33
+ get health(): Readonly<HealthCheckResult>;
32
34
  private changeRunning;
35
+ private healthCheckCleanup;
33
36
  private turnOffHealthCheck;
34
37
  private setupHealthCheck;
35
38
  private setHealth;
@@ -1,5 +1,6 @@
1
1
  import { defaultTrigger } from "../trigger/defaultTrigger";
2
2
  import { DEFAULT_SIGTERM_TIMEOUT } from ".";
3
+ import { asError } from "../util/asError";
3
4
  const oncePromise = () => {
4
5
  let resolve;
5
6
  const promise = new Promise((res) => {
@@ -23,10 +24,9 @@ export class HealthDaemon {
23
24
  ready;
24
25
  effects;
25
26
  sigtermTimeout;
26
- #health = { status: "starting", message: null };
27
- #healthWatchers = [];
28
- #running = false;
29
- #hadSuccess = false;
27
+ _health = { result: "starting", message: null };
28
+ healthWatchers = [];
29
+ running = false;
30
30
  constructor(daemon, daemonIndex, dependencies, id, ids, ready, effects, sigtermTimeout = DEFAULT_SIGTERM_TIMEOUT) {
31
31
  this.daemon = daemon;
32
32
  this.daemonIndex = daemonIndex;
@@ -41,25 +41,25 @@ export class HealthDaemon {
41
41
  }
42
42
  /** Run after we want to do cleanup */
43
43
  async term(termOptions) {
44
- this.#healthWatchers = [];
45
- this.#running = false;
46
- this.#healthCheckCleanup?.();
47
- await this.daemon.then((d) => d.stop({
44
+ this.healthWatchers = [];
45
+ this.running = false;
46
+ this.healthCheckCleanup?.();
47
+ await this.daemon.then((d) => d.term({
48
48
  timeout: this.sigtermTimeout,
49
49
  ...termOptions,
50
50
  }));
51
51
  }
52
52
  /** Want to add another notifier that the health might have changed */
53
53
  addWatcher(watcher) {
54
- this.#healthWatchers.push(watcher);
54
+ this.healthWatchers.push(watcher);
55
55
  }
56
56
  get health() {
57
- return Object.freeze(this.#health);
57
+ return Object.freeze(this._health);
58
58
  }
59
59
  async changeRunning(newStatus) {
60
- if (this.#running === newStatus)
60
+ if (this.running === newStatus)
61
61
  return;
62
- this.#running = newStatus;
62
+ this.running = newStatus;
63
63
  if (newStatus) {
64
64
  ;
65
65
  (await this.daemon).start();
@@ -69,71 +69,54 @@ export class HealthDaemon {
69
69
  ;
70
70
  (await this.daemon).stop();
71
71
  this.turnOffHealthCheck();
72
- this.setHealth({ status: "starting", message: null });
72
+ this.setHealth({ result: "starting", message: null });
73
73
  }
74
74
  }
75
- #healthCheckCleanup = null;
75
+ healthCheckCleanup = null;
76
76
  turnOffHealthCheck() {
77
- this.#healthCheckCleanup?.();
77
+ this.healthCheckCleanup?.();
78
78
  }
79
79
  async setupHealthCheck() {
80
- if (this.#healthCheckCleanup)
80
+ if (this.healthCheckCleanup)
81
81
  return;
82
82
  const trigger = (this.ready.trigger ?? defaultTrigger)(() => ({
83
- hadSuccess: this.#hadSuccess,
84
- lastResult: this.#health.status,
83
+ lastResult: this._health.result,
85
84
  }));
86
85
  const { promise: status, resolve: setStatus } = oncePromise();
87
86
  new Promise(async () => {
88
87
  for (let res = await Promise.race([status, trigger.next()]); !res.done; res = await Promise.race([status, trigger.next()])) {
89
88
  const response = await Promise.resolve(this.ready.fn()).catch((err) => {
90
- console.error(err);
89
+ console.error(asError(err));
91
90
  return {
92
- status: "failure",
91
+ result: "failure",
93
92
  message: "message" in err ? err.message : String(err),
94
93
  };
95
94
  });
96
- this.setHealth(response);
97
- if (response.status === "success") {
98
- this.#hadSuccess = true;
99
- }
95
+ await this.setHealth(response);
100
96
  }
101
97
  }).catch((err) => console.error(`Daemon ${this.id} failed: ${err}`));
102
- this.#healthCheckCleanup = () => {
98
+ this.healthCheckCleanup = () => {
103
99
  setStatus({ done: true });
104
- this.#healthCheckCleanup = null;
100
+ this.healthCheckCleanup = null;
105
101
  };
106
102
  }
107
- setHealth(health) {
108
- this.#health = health;
109
- this.#healthWatchers.forEach((watcher) => watcher());
103
+ async setHealth(health) {
104
+ this._health = health;
105
+ this.healthWatchers.forEach((watcher) => watcher());
110
106
  const display = this.ready.display;
111
- const status = health.status;
107
+ const result = health.result;
112
108
  if (!display) {
113
109
  return;
114
110
  }
115
- if (status === "success" ||
116
- status === "disabled" ||
117
- status === "starting") {
118
- this.effects.setHealth({
119
- result: status,
120
- message: health.message,
121
- id: this.id,
122
- name: display,
123
- });
124
- }
125
- else {
126
- this.effects.setHealth({
127
- result: health.status,
128
- message: health.message || "",
129
- id: this.id,
130
- name: display,
131
- });
132
- }
111
+ await this.effects.setHealth({
112
+ ...health,
113
+ id: this.id,
114
+ name: display,
115
+ });
133
116
  }
134
117
  async updateStatus() {
135
- const healths = this.dependencies.map((d) => d.#health);
136
- this.changeRunning(healths.every((x) => x.status === "success"));
118
+ const healths = this.dependencies.map((d) => d._health);
119
+ this.changeRunning(healths.every((x) => x.result === "success"));
137
120
  }
138
121
  }
139
122
  //# sourceMappingURL=HealthDaemon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HealthDaemon.js","sourceRoot":"","sources":["../../../../lib/mainFn/HealthDaemon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,GAAG,CAAA;AAE3C,MAAM,WAAW,GAAG,GAAM,EAAE;IAC1B,IAAI,OAA2B,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,EAAE;QACrC,OAAO,GAAG,GAAG,CAAA;IACf,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,OAAO,EAAE,OAAQ,EAAE,OAAO,EAAE,CAAA;AACvC,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAMZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAZX,OAAO,GAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC5D,eAAe,GAAyB,EAAE,CAAA;IAC1C,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,GAAG,KAAK,CAAA;IACnB,YACW,MAAuB,EACvB,WAAmB,EACnB,YAA4B,EAC5B,EAAU,EACV,GAAa,EACb,KAAY,EACZ,OAAgB,EAChB,iBAAyB,uBAAuB;QAPhD,WAAM,GAAN,MAAM,CAAiB;QACvB,gBAAW,GAAX,WAAW,CAAQ;QACnB,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,OAAE,GAAF,EAAE,CAAQ;QACV,QAAG,GAAH,GAAG,CAAU;QACb,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAkC;QAEzD,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,WAGV;QACC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAA;QAE5B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,CAAC,CAAC,IAAI,CAAC;YACL,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,GAAG,WAAW;SACf,CAAC,CACH,CAAA;IACH,CAAC;IAED,sEAAsE;IACtE,UAAU,CAAC,OAAsB;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,SAAkB;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAM;QAEvC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QAEzB,IAAI,SAAS,EAAE;YACb,CAAC;YAAA,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAA;SACxB;aAAM;YACL,CAAC;YAAA,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAEzB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;SACtD;IACH,CAAC;IAED,mBAAmB,GAAwB,IAAI,CAAA;IACvC,kBAAkB;QACxB,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAA;IAC9B,CAAC;IACO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAM;QACpC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAChC,CAAC,CAAC,CAAA;QAEH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAEvD,CAAA;QACJ,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;YACrB,KACE,IAAI,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EACtD,CAAC,GAAG,CAAC,IAAI,EACT,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAClD;gBACA,MAAM,QAAQ,GAAgB,MAAM,OAAO,CAAC,OAAO,CACjD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAChB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAClB,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CAAA;gBACH,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;oBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;iBACxB;aACF;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAA;QAEpE,IAAI,CAAC,mBAAmB,GAAG,GAAG,EAAE;YAC9B,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAEO,SAAS,CAAC,MAAmB;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QACD,IACE,MAAM,KAAK,SAAS;YACpB,MAAM,KAAK,UAAU;YACrB,MAAM,KAAK,UAAU,EACrB;YACA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,OAAO;aACd,CAAC,CAAA;SACH;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,OAAO;aACd,CAAC,CAAA;SACH;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAA;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"HealthDaemon.js","sourceRoot":"","sources":["../../../../lib/mainFn/HealthDaemon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,GAAG,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,WAAW,GAAG,GAAM,EAAE;IAC1B,IAAI,OAA2B,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,EAAE;QACrC,OAAO,GAAG,GAAG,CAAA;IACf,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,OAAO,EAAE,OAAQ,EAAE,OAAO,EAAE,CAAA;AACvC,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAKJ;IACR;IACQ;IACR;IACA;IACA;IACA;IACA;IAXH,OAAO,GAAsB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAClE,cAAc,GAAyB,EAAE,CAAA;IACzC,OAAO,GAAG,KAAK,CAAA;IACvB,YACmB,MAAuB,EAC/B,WAAmB,EACX,YAA4B,EACpC,EAAU,EACV,GAAa,EACb,KAAY,EACZ,OAAgB,EAChB,iBAAyB,uBAAuB;QAPxC,WAAM,GAAN,MAAM,CAAiB;QAC/B,gBAAW,GAAX,WAAW,CAAQ;QACX,iBAAY,GAAZ,YAAY,CAAgB;QACpC,OAAE,GAAF,EAAE,CAAQ;QACV,QAAG,GAAH,GAAG,CAAU;QACb,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAkC;QAEzD,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,WAGV;QACC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAA;QAE3B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,CAAC,CAAC,IAAI,CAAC;YACL,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,GAAG,WAAW;SACf,CAAC,CACH,CAAA;IACH,CAAC;IAED,sEAAsE;IACtE,UAAU,CAAC,OAAsB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,SAAkB;QAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAM;QAEtC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAExB,IAAI,SAAS,EAAE;YACb,CAAC;YAAA,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAA;SACxB;aAAM;YACL,CAAC;YAAA,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAEzB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;SACtD;IACH,CAAC;IAEO,kBAAkB,GAAwB,IAAI,CAAA;IAC9C,kBAAkB;QACxB,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAA;IAC7B,CAAC;IACO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAM;QACnC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAChC,CAAC,CAAC,CAAA;QAEH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAEvD,CAAA;QACJ,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;YACrB,KACE,IAAI,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EACtD,CAAC,GAAG,CAAC,IAAI,EACT,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAClD;gBACA,MAAM,QAAQ,GAAsB,MAAM,OAAO,CAAC,OAAO,CACvD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAChB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC3B,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CAAA;gBACH,CAAC,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;aAC/B;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAA;QAEpE,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE;YAC7B,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAyB;QAC/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,GAAG,MAAM;YACT,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,OAAO;SACD,CAAC,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAA;IAClE,CAAC;CACF"}
@@ -1,18 +1,9 @@
1
- import { ValidateExVer, ValidateExVers } from "../exver";
2
1
  import { ImageId, ImageSource } from "../types";
3
- export type SDKManifest<Version extends string, Satisfies extends string[] = []> = {
2
+ export type SDKManifest = {
4
3
  /** The package identifier used by the OS. This must be unique amongst all other known packages */
5
4
  readonly id: string;
6
5
  /** A human readable service title */
7
6
  readonly title: string;
8
- /** Service version - accepts up to four digits, where the last confirms to revisions necessary for StartOs
9
- * - see documentation: https://github.com/Start9Labs/emver-rs. This value will change with each release of
10
- * the service
11
- */
12
- readonly version: Version & ValidateExVer<Version>;
13
- readonly satisfies?: Satisfies & ValidateExVers<Satisfies>;
14
- /** Release notes for the update - can be a string, paragraph or URL */
15
- readonly releaseNotes: string;
16
7
  /** The type of license for the project. Include the LICENSE in the root of the project directory. A license is required for a Start9 package.*/
17
8
  readonly license: string;
18
9
  /** The Start9 wrapper repository URL for the package. This repo contains the manifest file (this),
@@ -1,12 +1,16 @@
1
1
  import * as T from "../types";
2
2
  import { ImageId, VolumeId } from "../osBindings";
3
3
  import { SDKManifest, SDKImageConfig } from "./ManifestTypes";
4
- export declare function setupManifest<Id extends string, Version extends string, Dependencies extends Record<string, unknown>, VolumesTypes extends VolumeId, AssetTypes extends VolumeId, ImagesTypes extends ImageId, Manifest extends SDKManifest<Version, Satisfies> & {
4
+ import { VersionGraph } from "../version/VersionGraph";
5
+ /**
6
+ * This is an example of a function that takes a manifest and returns a new manifest with additional properties
7
+ * @param manifest Manifests are the description of the package
8
+ * @returns The manifest with additional properties
9
+ */
10
+ export declare function setupManifest<Id extends string, Version extends string, Dependencies extends Record<string, unknown>, VolumesTypes extends VolumeId, AssetTypes extends VolumeId, ImagesTypes extends ImageId, Manifest extends {
5
11
  dependencies: Dependencies;
6
12
  id: Id;
7
13
  assets: AssetTypes[];
8
14
  images: Record<ImagesTypes, SDKImageConfig>;
9
15
  volumes: VolumesTypes[];
10
- }, Satisfies extends string[] = []>(manifest: Manifest & {
11
- version: Version;
12
- }): Manifest & T.Manifest;
16
+ }, Satisfies extends string[] = []>(versions: VersionGraph<Version>, manifest: SDKManifest & Manifest): Manifest & T.Manifest;
@@ -1,5 +1,10 @@
1
1
  import { SDKVersion } from "../StartSdk";
2
- export function setupManifest(manifest) {
2
+ /**
3
+ * This is an example of a function that takes a manifest and returns a new manifest with additional properties
4
+ * @param manifest Manifests are the description of the package
5
+ * @returns The manifest with additional properties
6
+ */
7
+ export function setupManifest(versions, manifest) {
3
8
  const images = Object.entries(manifest.images).reduce((images, [k, v]) => {
4
9
  v.arch = v.arch || ["aarch64", "x86_64"];
5
10
  if (v.emulateMissingAs === undefined)
@@ -11,7 +16,11 @@ export function setupManifest(manifest) {
11
16
  ...manifest,
12
17
  gitHash: null,
13
18
  osVersion: SDKVersion,
14
- satisfies: manifest.satisfies || [],
19
+ version: versions.current.options.version,
20
+ releaseNotes: versions.current.options.releaseNotes,
21
+ satisfies: versions.current.options.satisfies || [],
22
+ canMigrateTo: versions.canMigrateTo().toString(),
23
+ canMigrateFrom: versions.canMigrateFrom().toString(),
15
24
  images,
16
25
  alerts: {
17
26
  install: manifest.alerts?.install || null,
@@ -1 +1 @@
1
- {"version":3,"file":"setupManifest.js","sourceRoot":"","sources":["../../../../lib/manifest/setupManifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,UAAU,aAAa,CAe3B,QAAyC;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CACnD,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACjB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,CAAC,gBAAgB,KAAK,SAAS;YAClC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAgB,CAAA;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC,EACD,EAAkC,CACnC,CAAA;IACD,OAAO;QACL,GAAG,QAAQ;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;QACnC,MAAM;QACN,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI;YACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;YACvC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI;YAC7C,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI;YACzC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI;YACrC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI;SACpC;QACD,SAAS,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS;QACvE,oBAAoB,EAAE;YACpB,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAC7D,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAC1B,CACF;YACD,GAAG,EAAE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,IAAI,IAAI;YAC/C,IAAI,EACF,QAAQ,CAAC,oBAAoB,EAAE,IAAI,KAAK,SAAS;gBAC/C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;oBACf,IAAI,MAAM,CAAC,gBAAgB,EAAE;wBAC3B,OAAO,IAAI,CAAA;qBACZ;oBACD,IAAI,IAAI,KAAK,IAAI,EAAE;wBACjB,OAAO,MAAM,CAAC,IAAI,CAAA;qBACnB;oBACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpD,CAAC,EACD,IAAuB,CACxB;gBACH,CAAC,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI;SAC1C;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"setupManifest.js","sourceRoot":"","sources":["../../../../lib/manifest/setupManifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export type ApiState = "error" | "initializing" | "running";
@@ -1,3 +1,3 @@
1
1
  // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
2
  export {};
3
- //# sourceMappingURL=Callback.js.map
3
+ //# sourceMappingURL=ApiState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiState.js","sourceRoot":"","sources":["../../../../lib/osBindings/ApiState.ts"],"names":[],"mappings":"AAAA,4GAA4G"}
@@ -1,4 +1,4 @@
1
1
  import type { PackageId } from "./PackageId";
2
2
  export type CheckDependenciesParam = {
3
- packageIds: Array<PackageId> | null;
3
+ packageIds?: Array<PackageId>;
4
4
  };
@@ -1,13 +1,14 @@
1
1
  import type { HealthCheckId } from "./HealthCheckId";
2
- import type { HealthCheckResult } from "./HealthCheckResult";
2
+ import type { NamedHealthCheckResult } from "./NamedHealthCheckResult";
3
3
  import type { PackageId } from "./PackageId";
4
4
  export type CheckDependenciesResult = {
5
5
  packageId: PackageId;
6
- isInstalled: boolean;
6
+ title: string | null;
7
+ installedVersion: string | null;
8
+ satisfies: string[];
7
9
  isRunning: boolean;
8
10
  configSatisfied: boolean;
9
11
  healthChecks: {
10
- [key: HealthCheckId]: HealthCheckResult;
12
+ [key: HealthCheckId]: NamedHealthCheckResult;
11
13
  };
12
- version: string | null;
13
14
  };
@@ -1,10 +1,12 @@
1
+ import type { HealthCheckId } from "./HealthCheckId";
2
+ import type { PackageId } from "./PackageId";
1
3
  export type DependencyRequirement = {
2
4
  kind: "running";
3
- id: string;
4
- healthChecks: string[];
5
+ id: PackageId;
6
+ healthChecks: Array<HealthCheckId>;
5
7
  versionRange: string;
6
8
  } | {
7
9
  kind: "exists";
8
- id: string;
10
+ id: PackageId;
9
11
  versionRange: string;
10
12
  };
@@ -1,3 +1,2 @@
1
- // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
1
  export {};
3
2
  //# sourceMappingURL=DependencyRequirement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyRequirement.js","sourceRoot":"","sources":["../../../../lib/osBindings/DependencyRequirement.ts"],"names":[],"mappings":"AAAA,4GAA4G"}
1
+ {"version":3,"file":"DependencyRequirement.js","sourceRoot":"","sources":["../../../../lib/osBindings/DependencyRequirement.ts"],"names":[],"mappings":""}