@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
@@ -0,0 +1,45 @@
1
+ export const IMPOSSIBLE = Symbol("IMPOSSIBLE");
2
+ export class VersionInfo {
3
+ options;
4
+ _version = null;
5
+ constructor(options) {
6
+ this.options = options;
7
+ }
8
+ static of(options) {
9
+ return new VersionInfo({ ...options, satisfies: [] });
10
+ }
11
+ /** Specify a version that this version is 100% backwards compatible to */
12
+ satisfies(version) {
13
+ return new VersionInfo({
14
+ ...this.options,
15
+ satisfies: [...this.options.satisfies, version],
16
+ });
17
+ }
18
+ }
19
+ function __type_tests() {
20
+ const version = VersionInfo.of({
21
+ version: "1.0.0:0",
22
+ releaseNotes: "",
23
+ migrations: {},
24
+ })
25
+ .satisfies("#other:1.0.0:0")
26
+ .satisfies("#other:2.0.0:0")
27
+ // @ts-expect-error
28
+ .satisfies("#other:2.f.0:0");
29
+ let a = version;
30
+ // @ts-expect-error
31
+ let b = version;
32
+ VersionInfo.of({
33
+ // @ts-expect-error
34
+ version: "test",
35
+ releaseNotes: "",
36
+ migrations: {},
37
+ });
38
+ VersionInfo.of({
39
+ // @ts-expect-error
40
+ version: "test",
41
+ releaseNotes: "",
42
+ migrations: {},
43
+ });
44
+ }
45
+ //# sourceMappingURL=VersionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../../../lib/version/VersionInfo.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AA4B9C,MAAM,OAAO,WAAW;IAGX;IAFH,QAAQ,GAAmB,IAAI,CAAA;IACvC,YACW,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;IAClE,CAAC;IACJ,MAAM,CAAC,EAAE,CAAyB,OAAgC;QAChE,OAAO,IAAI,WAAW,CAAU,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,0EAA0E;IAC1E,SAAS,CACP,OAA6B;QAE7B,OAAO,IAAI,WAAW,CAAC;YACrB,GAAG,IAAI,CAAC,OAAO;YACf,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAChD,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,YAAY;IACnB,MAAM,OAAO,GAA2B,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;SACC,SAAS,CAAC,gBAAgB,CAAC;SAC3B,SAAS,CAAC,gBAAgB,CAAC;QAC5B,mBAAmB;SAClB,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAE9B,IAAI,CAAC,GAA2B,OAAO,CAAA;IACvC,mBAAmB;IACnB,IAAI,CAAC,GAA2B,OAAO,CAAA;IAEvC,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAgB;QACzB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./VersionGraph";
2
+ export * from "./VersionInfo";
@@ -0,0 +1,3 @@
1
+ export * from "./VersionGraph";
2
+ export * from "./VersionInfo";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/version/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { ValidateExVer } from "../exver";
2
+ import * as T from "../types";
3
+ export declare const IMPOSSIBLE: unique symbol;
4
+ export type VersionOptions<Version extends string> = {
5
+ /** The version being described */
6
+ version: Version & ValidateExVer<Version>;
7
+ /** The release notes for this version */
8
+ releaseNotes: string;
9
+ /** Data migrations for this version */
10
+ migrations: {
11
+ /**
12
+ * A migration from the previous version
13
+ * Leave blank to indicate no migration is necessary
14
+ * Set to `IMPOSSIBLE` to indicate migrating from the previous version is not possible
15
+ */
16
+ up?: ((opts: {
17
+ effects: T.Effects;
18
+ }) => Promise<void>) | typeof IMPOSSIBLE;
19
+ /**
20
+ * A migration to the previous version
21
+ * Leave blank to indicate no migration is necessary
22
+ * Set to `IMPOSSIBLE` to indicate downgrades are prohibited
23
+ */
24
+ down?: ((opts: {
25
+ effects: T.Effects;
26
+ }) => Promise<void>) | typeof IMPOSSIBLE;
27
+ /**
28
+ * Additional migrations, such as fast-forward migrations, or migrations from other flavors
29
+ */
30
+ other?: Record<string, (opts: {
31
+ effects: T.Effects;
32
+ }) => Promise<void>>;
33
+ };
34
+ };
35
+ export declare class VersionInfo<Version extends string> {
36
+ readonly options: VersionOptions<Version> & {
37
+ satisfies: string[];
38
+ };
39
+ private _version;
40
+ private constructor();
41
+ static of<Version extends string>(options: VersionOptions<Version>): VersionInfo<Version>;
42
+ /** Specify a version that this version is 100% backwards compatible to */
43
+ satisfies<V extends string>(version: V & ValidateExVer<V>): VersionInfo<Version>;
44
+ }
@@ -0,0 +1,45 @@
1
+ export const IMPOSSIBLE = Symbol("IMPOSSIBLE");
2
+ export class VersionInfo {
3
+ options;
4
+ _version = null;
5
+ constructor(options) {
6
+ this.options = options;
7
+ }
8
+ static of(options) {
9
+ return new VersionInfo({ ...options, satisfies: [] });
10
+ }
11
+ /** Specify a version that this version is 100% backwards compatible to */
12
+ satisfies(version) {
13
+ return new VersionInfo({
14
+ ...this.options,
15
+ satisfies: [...this.options.satisfies, version],
16
+ });
17
+ }
18
+ }
19
+ function __type_tests() {
20
+ const version = VersionInfo.of({
21
+ version: "1.0.0:0",
22
+ releaseNotes: "",
23
+ migrations: {},
24
+ })
25
+ .satisfies("#other:1.0.0:0")
26
+ .satisfies("#other:2.0.0:0")
27
+ // @ts-expect-error
28
+ .satisfies("#other:2.f.0:0");
29
+ let a = version;
30
+ // @ts-expect-error
31
+ let b = version;
32
+ VersionInfo.of({
33
+ // @ts-expect-error
34
+ version: "test",
35
+ releaseNotes: "",
36
+ migrations: {},
37
+ });
38
+ VersionInfo.of({
39
+ // @ts-expect-error
40
+ version: "test",
41
+ releaseNotes: "",
42
+ migrations: {},
43
+ });
44
+ }
45
+ //# sourceMappingURL=VersionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../../../lib/versionInfo/VersionInfo.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AA4B9C,MAAM,OAAO,WAAW;IAGX;IAFH,QAAQ,GAAmB,IAAI,CAAA;IACvC,YACW,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;IAClE,CAAC;IACJ,MAAM,CAAC,EAAE,CAAyB,OAAgC;QAChE,OAAO,IAAI,WAAW,CAAU,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,0EAA0E;IAC1E,SAAS,CACP,OAA6B;QAE7B,OAAO,IAAI,WAAW,CAAC;YACrB,GAAG,IAAI,CAAC,OAAO;YACf,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAChD,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,YAAY;IACnB,MAAM,OAAO,GAA2B,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;SACC,SAAS,CAAC,gBAAgB,CAAC;SAC3B,SAAS,CAAC,gBAAgB,CAAC;QAC5B,mBAAmB;SAClB,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAE9B,IAAI,CAAC,GAA2B,OAAO,CAAA;IACvC,mBAAmB;IACnB,IAAI,CAAC,GAA2B,OAAO,CAAA;IAEvC,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAgB;QACzB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import * as T from "../types";
3
+ import { VersionInfo } from "./VersionInfo";
4
+ export declare class VersionGraph<CurrentVersion extends string> {
5
+ readonly current: VersionInfo<CurrentVersion>;
6
+ private readonly graph;
7
+ private constructor();
8
+ currentVersion: () => ExtendedVersion;
9
+ static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(currentVersion: VersionInfo<CurrentVersion>, ...other: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
10
+ migrate({ effects, from, to, }: {
11
+ effects: T.Effects;
12
+ from: ExtendedVersion;
13
+ to: ExtendedVersion;
14
+ }): Promise<void>;
15
+ canMigrateFrom: () => VersionRange;
16
+ canMigrateTo: () => VersionRange;
17
+ }
18
+ export declare function setupVersionGraph<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(current: VersionInfo<CurrentVersion>, ...other: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
19
+ export type EnsureUniqueId<A, B = A, OtherVersions = never> = B extends [] ? A : B extends [VersionInfo<infer Version>, ...infer Rest] ? (Version extends OtherVersions ? "One or more versions are not unique"[] : EnsureUniqueId<A, Rest, Version | OtherVersions>) : "There exists a migration that is not a Migration"[];
@@ -0,0 +1,105 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import { Graph } from "../util/graph";
3
+ import { once } from "../util/once";
4
+ import { IMPOSSIBLE } from "./VersionInfo";
5
+ export class VersionGraph {
6
+ current;
7
+ graph;
8
+ constructor(current, versions) {
9
+ this.current = current;
10
+ this.graph = once(() => {
11
+ const graph = new Graph();
12
+ const flavorMap = {};
13
+ for (let version of [current, ...versions]) {
14
+ const v = ExtendedVersion.parse(version.options.version);
15
+ const vertex = graph.addVertex(v, [], []);
16
+ const flavor = v.flavor || "";
17
+ if (!flavorMap[flavor]) {
18
+ flavorMap[flavor] = [];
19
+ }
20
+ flavorMap[flavor].push([v, version, vertex]);
21
+ }
22
+ for (let flavor in flavorMap) {
23
+ flavorMap[flavor].sort((a, b) => a[0].compareForSort(b[0]));
24
+ let prev = undefined;
25
+ for (let [v, version, vertex] of flavorMap[flavor]) {
26
+ if (version.options.migrations.up !== IMPOSSIBLE) {
27
+ let range;
28
+ if (prev) {
29
+ graph.addEdge(version.options.migrations.up, prev[2], vertex);
30
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
31
+ }
32
+ else {
33
+ range = VersionRange.anchor("<", v);
34
+ }
35
+ const vRange = graph.addVertex(range, [], []);
36
+ graph.addEdge(version.options.migrations.up, vRange, vertex);
37
+ }
38
+ if (version.options.migrations.down !== IMPOSSIBLE) {
39
+ let range;
40
+ if (prev) {
41
+ graph.addEdge(version.options.migrations.down, vertex, prev[2]);
42
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
43
+ }
44
+ else {
45
+ range = VersionRange.anchor("<", v);
46
+ }
47
+ const vRange = graph.addVertex(range, [], []);
48
+ graph.addEdge(version.options.migrations.down, vertex, vRange);
49
+ }
50
+ if (version.options.migrations.other) {
51
+ for (let rangeStr in version.options.migrations.other) {
52
+ const range = VersionRange.parse(rangeStr);
53
+ const vRange = graph.addVertex(range, [], []);
54
+ graph.addEdge(version.options.migrations.other[rangeStr], vRange, vertex);
55
+ for (let matching of graph.findVertex((v) => v.metadata instanceof ExtendedVersion &&
56
+ v.metadata.satisfies(range))) {
57
+ graph.addEdge(version.options.migrations.other[rangeStr], matching, vertex);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return graph;
64
+ });
65
+ }
66
+ currentVersion = once(() => ExtendedVersion.parse(this.current.options.version));
67
+ static of(currentVersion, ...other) {
68
+ return new VersionGraph(currentVersion, other);
69
+ }
70
+ async migrate({ effects, from, to, }) {
71
+ const graph = this.graph();
72
+ if (from && to) {
73
+ const path = graph.shortestPath((v) => (v.metadata instanceof VersionRange &&
74
+ v.metadata.satisfiedBy(from)) ||
75
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(from)), (v) => (v.metadata instanceof VersionRange && v.metadata.satisfiedBy(to)) ||
76
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(to)));
77
+ if (path) {
78
+ for (let edge of path) {
79
+ if (edge.metadata) {
80
+ await edge.metadata({ effects });
81
+ }
82
+ await effects.setDataVersion({ version: edge.to.metadata.toString() });
83
+ }
84
+ return;
85
+ }
86
+ }
87
+ throw new Error();
88
+ }
89
+ canMigrateFrom = once(() => Array.from(this.graph().reverseBreadthFirstSearch((v) => (v.metadata instanceof VersionRange &&
90
+ v.metadata.satisfiedBy(this.currentVersion())) ||
91
+ (v.metadata instanceof ExtendedVersion &&
92
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
93
+ ? x.metadata
94
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
95
+ canMigrateTo = once(() => Array.from(this.graph().breadthFirstSearch((v) => (v.metadata instanceof VersionRange &&
96
+ v.metadata.satisfiedBy(this.currentVersion())) ||
97
+ (v.metadata instanceof ExtendedVersion &&
98
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
99
+ ? x.metadata
100
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
101
+ }
102
+ export function setupVersionGraph(current, ...other) {
103
+ return VersionGraph.of(current, ...other);
104
+ }
105
+ //# sourceMappingURL=setupVersionGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVersionGraph.js","sourceRoot":"","sources":["../../../../lib/versionInfo/setupVersionGraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import * as T from "../types";
3
+ import { VersionInfo } from "./VersionInfo";
4
+ export declare class VersionGraph<CurrentVersion extends string> {
5
+ readonly current: VersionInfo<CurrentVersion>;
6
+ private readonly graph;
7
+ private constructor();
8
+ currentVersion: () => ExtendedVersion;
9
+ static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(currentVersion: VersionInfo<CurrentVersion>, ...migrations: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
10
+ migrate({ effects, from, to, }: {
11
+ effects: T.Effects;
12
+ from: ExtendedVersion;
13
+ to: ExtendedVersion;
14
+ }): Promise<void>;
15
+ canMigrateFrom: () => VersionRange;
16
+ canMigrateTo: () => VersionRange;
17
+ }
18
+ export declare function setupMigrations<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(version: VersionInfo<CurrentVersion>, ...migrations: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
19
+ export type EnsureUniqueId<A, B = A, OtherVersions = never> = B extends [] ? A : B extends [VersionInfo<infer Version>, ...infer Rest] ? (Version extends OtherVersions ? "One or more versions are not unique"[] : EnsureUniqueId<A, Rest, Version | OtherVersions>) : "There exists a migration that is not a Migration"[];
@@ -0,0 +1,105 @@
1
+ import { ExtendedVersion, VersionRange } from "../exver";
2
+ import { Graph } from "../util/graph";
3
+ import { once } from "../util/once";
4
+ import { IMPOSSIBLE } from "./VersionInfo";
5
+ export class VersionGraph {
6
+ current;
7
+ graph;
8
+ constructor(current, versions) {
9
+ this.current = current;
10
+ this.graph = once(() => {
11
+ const graph = new Graph();
12
+ const flavorMap = {};
13
+ for (let version of [current, ...versions]) {
14
+ const v = ExtendedVersion.parse(version.options.version);
15
+ const vertex = graph.addVertex(v, [], []);
16
+ const flavor = v.flavor || "";
17
+ if (!flavorMap[flavor]) {
18
+ flavorMap[flavor] = [];
19
+ }
20
+ flavorMap[flavor].push([v, version, vertex]);
21
+ }
22
+ for (let flavor in flavorMap) {
23
+ flavorMap[flavor].sort((a, b) => a[0].compareForSort(b[0]));
24
+ let prev = undefined;
25
+ for (let [v, version, vertex] of flavorMap[flavor]) {
26
+ if (version.options.migrations.up !== IMPOSSIBLE) {
27
+ let range;
28
+ if (prev) {
29
+ graph.addEdge(version.options.migrations.up, prev[2], vertex);
30
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
31
+ }
32
+ else {
33
+ range = VersionRange.anchor("<", v);
34
+ }
35
+ const vRange = graph.addVertex(range, [], []);
36
+ graph.addEdge(version.options.migrations.up, vRange, vertex);
37
+ }
38
+ if (version.options.migrations.down !== IMPOSSIBLE) {
39
+ let range;
40
+ if (prev) {
41
+ graph.addEdge(version.options.migrations.down, vertex, prev[2]);
42
+ range = VersionRange.anchor(">=", prev[0]).and(VersionRange.anchor("<", v));
43
+ }
44
+ else {
45
+ range = VersionRange.anchor("<", v);
46
+ }
47
+ const vRange = graph.addVertex(range, [], []);
48
+ graph.addEdge(version.options.migrations.down, vertex, vRange);
49
+ }
50
+ if (version.options.migrations.other) {
51
+ for (let rangeStr in version.options.migrations.other) {
52
+ const range = VersionRange.parse(rangeStr);
53
+ const vRange = graph.addVertex(range, [], []);
54
+ graph.addEdge(version.options.migrations.other[rangeStr], vRange, vertex);
55
+ for (let matching of graph.findVertex((v) => v.metadata instanceof ExtendedVersion &&
56
+ v.metadata.satisfies(range))) {
57
+ graph.addEdge(version.options.migrations.other[rangeStr], matching, vertex);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return graph;
64
+ });
65
+ }
66
+ currentVersion = once(() => ExtendedVersion.parse(this.current.options.version));
67
+ static of(currentVersion, ...migrations) {
68
+ return new VersionGraph(currentVersion, migrations);
69
+ }
70
+ async migrate({ effects, from, to, }) {
71
+ const graph = this.graph();
72
+ if (from && to) {
73
+ const path = graph.shortestPath((v) => (v.metadata instanceof VersionRange &&
74
+ v.metadata.satisfiedBy(from)) ||
75
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(from)), (v) => (v.metadata instanceof VersionRange && v.metadata.satisfiedBy(to)) ||
76
+ (v.metadata instanceof ExtendedVersion && v.metadata.equals(to)));
77
+ if (path) {
78
+ for (let edge of path) {
79
+ if (edge.metadata) {
80
+ await edge.metadata({ effects });
81
+ }
82
+ await effects.setDataVersion({ version: edge.to.metadata.toString() });
83
+ }
84
+ return;
85
+ }
86
+ }
87
+ throw new Error();
88
+ }
89
+ canMigrateFrom = once(() => Array.from(this.graph().reverseBfs((v) => (v.metadata instanceof VersionRange &&
90
+ v.metadata.satisfiedBy(this.currentVersion())) ||
91
+ (v.metadata instanceof ExtendedVersion &&
92
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
93
+ ? x.metadata
94
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
95
+ canMigrateTo = once(() => Array.from(this.graph().bfs((v) => (v.metadata instanceof VersionRange &&
96
+ v.metadata.satisfiedBy(this.currentVersion())) ||
97
+ (v.metadata instanceof ExtendedVersion &&
98
+ v.metadata.equals(this.currentVersion())))).reduce((acc, x) => acc.or(x.metadata instanceof VersionRange
99
+ ? x.metadata
100
+ : VersionRange.anchor("=", x.metadata)), VersionRange.none()));
101
+ }
102
+ export function setupMigrations(version, ...migrations) {
103
+ return VersionGraph.of(version, ...migrations);
104
+ }
105
+ //# sourceMappingURL=setupVersionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupVersionInfo.js","sourceRoot":"","sources":["../../../../lib/versionInfo/setupVersionInfo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@start9labs/start-sdk",
3
- "version": "0.3.6-alpha6",
3
+ "version": "0.3.6-alpha8",
4
4
  "description": "Software development kit to facilitate packaging services for StartOS",
5
5
  "main": "./cjs/lib/index.js",
6
6
  "types": "./cjs/lib/index.d.ts",
@@ -1,108 +0,0 @@
1
- export type ValidEmVer = string;
2
- export type ValidEmVerRange = string;
3
- /**
4
- * Will take in a range, like `>1.2` or `<1.2.3.4` or `=1.2` or `1.*`
5
- * and return a checker, that has the check function for checking that a version is in the valid
6
- * @param range
7
- * @returns
8
- */
9
- export declare function rangeOf(range: string | Checker): Checker;
10
- /**
11
- * Used to create a checker that will `and` all the ranges passed in
12
- * @param ranges
13
- * @returns
14
- */
15
- export declare function rangeAnd(...ranges: (string | Checker)[]): Checker;
16
- /**
17
- * Used to create a checker that will `or` all the ranges passed in
18
- * @param ranges
19
- * @returns
20
- */
21
- export declare function rangeOr(...ranges: (string | Checker)[]): Checker;
22
- /**
23
- * This will negate the checker, so given a checker that checks for >= 1.0.0, it will check for < 1.0.0
24
- * @param range
25
- * @returns
26
- */
27
- export declare function notRange(range: string | Checker): Checker;
28
- /**
29
- * EmVer is a set of versioning of any pattern like 1 or 1.2 or 1.2.3 or 1.2.3.4 or ..
30
- */
31
- export declare class EmVer {
32
- readonly values: number[];
33
- readonly extra: string | null;
34
- /**
35
- * Convert the range, should be 1.2.* or * into a emver
36
- * Or an already made emver
37
- * IsUnsafe
38
- */
39
- static from(range: string | EmVer): EmVer;
40
- /**
41
- * Convert the range, should be 1.2.* or * into a emver
42
- * IsUnsafe
43
- */
44
- static parse(rangeExtra: string): EmVer;
45
- private constructor();
46
- /**
47
- * Used when we need a new emver that has the last number incremented, used in the 1.* like things
48
- */
49
- withLastIncremented(): EmVer;
50
- greaterThan(other: EmVer): boolean;
51
- equals(other: EmVer): boolean;
52
- greaterThanOrEqual(other: EmVer): boolean;
53
- lessThanOrEqual(other: EmVer): boolean;
54
- lessThan(other: EmVer): boolean;
55
- /**
56
- * Return a enum string that describes (used for switching/iffs)
57
- * to know comparison
58
- * @param other
59
- * @returns
60
- */
61
- compare(other: EmVer): "equal" | "greater" | "less";
62
- /**
63
- * Used when sorting emver's in a list using the sort method
64
- * @param other
65
- * @returns
66
- */
67
- compareForSort(other: EmVer): 0 | 1 | -1;
68
- toString(): string;
69
- }
70
- /**
71
- * A checker is a function that takes a version and returns true if the version matches the checker.
72
- * Used when we are doing range checking, like saying ">=1.0.0".check("1.2.3") will be true
73
- */
74
- export declare class Checker {
75
- /**
76
- * Check is the function that will be given a emver or unparsed emver and should give if it follows
77
- * a pattern
78
- */
79
- readonly check: (value: ValidEmVer | EmVer) => boolean;
80
- private readonly _range;
81
- /**
82
- * Will take in a range, like `>1.2` or `<1.2.3.4` or `=1.2` or `1.*`
83
- * and return a checker, that has the check function for checking that a version is in the valid
84
- * @param range
85
- * @returns
86
- */
87
- static parse(range: string | Checker): Checker;
88
- constructor(
89
- /**
90
- * Check is the function that will be given a emver or unparsed emver and should give if it follows
91
- * a pattern
92
- */
93
- check: (value: ValidEmVer | EmVer) => boolean, _range: string);
94
- get range(): string;
95
- /**
96
- * Used when we want the `and` condition with another checker
97
- */
98
- and(...others: (Checker | string)[]): Checker;
99
- /**
100
- * Used when we want the `or` condition with another checker
101
- */
102
- or(...others: (Checker | string)[]): Checker;
103
- /**
104
- * A useful example is making sure we don't match an exact version, like !=1.2.3
105
- * @returns
106
- */
107
- not(): Checker;
108
- }