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

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 (533) hide show
  1. package/cjs/lib/Dependency.d.ts +5 -5
  2. package/cjs/lib/StartSdk.d.ts +31 -68
  3. package/cjs/lib/StartSdk.js +29 -22
  4. package/cjs/lib/StartSdk.js.map +1 -1
  5. package/cjs/lib/actions/createAction.d.ts +7 -7
  6. package/cjs/lib/actions/createAction.js.map +1 -1
  7. package/cjs/lib/actions/setupActions.d.ts +2 -2
  8. package/cjs/lib/backup/Backups.d.ts +5 -6
  9. package/cjs/lib/backup/Backups.js +98 -68
  10. package/cjs/lib/backup/Backups.js.map +1 -1
  11. package/cjs/lib/backup/setupBackups.d.ts +5 -6
  12. package/cjs/lib/backup/setupBackups.js +2 -2
  13. package/cjs/lib/backup/setupBackups.js.map +1 -1
  14. package/cjs/lib/config/builder/list.d.ts +0 -34
  15. package/cjs/lib/config/builder/list.js +0 -50
  16. package/cjs/lib/config/builder/list.js.map +1 -1
  17. package/cjs/lib/config/builder/variants.d.ts +2 -2
  18. package/cjs/lib/config/builder/variants.js +2 -2
  19. package/cjs/lib/config/builder/variants.js.map +1 -1
  20. package/cjs/lib/config/configConstants.d.ts +6 -6
  21. package/cjs/lib/config/configDependencies.d.ts +5 -6
  22. package/cjs/lib/config/configDependencies.js.map +1 -1
  23. package/cjs/lib/config/configTypes.d.ts +93 -62
  24. package/cjs/lib/config/configTypes.js +1 -3
  25. package/cjs/lib/config/configTypes.js.map +1 -1
  26. package/cjs/lib/config/setupConfig.d.ts +7 -8
  27. package/cjs/lib/config/setupConfig.js.map +1 -1
  28. package/cjs/lib/dependencies/DependencyConfig.d.ts +9 -10
  29. package/cjs/lib/dependencies/DependencyConfig.js.map +1 -1
  30. package/cjs/lib/dependencies/dependencies.d.ts +8 -6
  31. package/cjs/lib/dependencies/dependencies.js +12 -5
  32. package/cjs/lib/dependencies/dependencies.js.map +1 -1
  33. package/cjs/lib/dependencies/setupDependencyConfig.d.ts +3 -4
  34. package/cjs/lib/emverLite/mod.d.ts +4 -4
  35. package/cjs/lib/exver/exver.d.ts +130 -0
  36. package/cjs/lib/exver/exver.js +2358 -0
  37. package/cjs/lib/exver/exver.js.map +1 -0
  38. package/cjs/lib/exver/index.d.ts +62 -0
  39. package/cjs/lib/exver/index.js +366 -0
  40. package/cjs/lib/exver/index.js.map +1 -0
  41. package/cjs/lib/health/HealthCheck.d.ts +4 -4
  42. package/cjs/lib/health/HealthCheck.js.map +1 -1
  43. package/cjs/lib/index.browser.d.ts +3 -5
  44. package/cjs/lib/index.browser.js +8 -9
  45. package/cjs/lib/index.browser.js.map +1 -1
  46. package/cjs/lib/index.d.ts +2 -1
  47. package/cjs/lib/index.js +7 -3
  48. package/cjs/lib/index.js.map +1 -1
  49. package/cjs/lib/inits/migrations/Migration.d.ts +15 -15
  50. package/cjs/lib/inits/migrations/Migration.js.map +1 -1
  51. package/cjs/lib/inits/migrations/setupMigrations.d.ts +7 -8
  52. package/cjs/lib/inits/migrations/setupMigrations.js +9 -7
  53. package/cjs/lib/inits/migrations/setupMigrations.js.map +1 -1
  54. package/cjs/lib/inits/setupInit.d.ts +5 -6
  55. package/cjs/lib/inits/setupInstall.d.ts +7 -8
  56. package/cjs/lib/inits/setupInstall.js.map +1 -1
  57. package/cjs/lib/inits/setupUninstall.d.ts +7 -8
  58. package/cjs/lib/inits/setupUninstall.js.map +1 -1
  59. package/cjs/lib/interfaces/setupInterfaces.d.ts +5 -6
  60. package/cjs/lib/mainFn/CommandController.d.ts +7 -6
  61. package/cjs/lib/mainFn/CommandController.js +10 -4
  62. package/cjs/lib/mainFn/CommandController.js.map +1 -1
  63. package/cjs/lib/mainFn/Daemon.d.ts +5 -5
  64. package/cjs/lib/mainFn/Daemon.js.map +1 -1
  65. package/cjs/lib/mainFn/Daemons.d.ts +12 -11
  66. package/cjs/lib/mainFn/Daemons.js +5 -8
  67. package/cjs/lib/mainFn/Daemons.js.map +1 -1
  68. package/cjs/lib/mainFn/HealthDaemon.d.ts +2 -1
  69. package/cjs/lib/mainFn/HealthDaemon.js +9 -4
  70. package/cjs/lib/mainFn/HealthDaemon.js.map +1 -1
  71. package/cjs/lib/mainFn/Mounts.d.ts +4 -4
  72. package/cjs/lib/mainFn/Mounts.js.map +1 -1
  73. package/cjs/lib/mainFn/index.d.ts +4 -4
  74. package/cjs/lib/mainFn/index.js +2 -1
  75. package/cjs/lib/mainFn/index.js.map +1 -1
  76. package/cjs/lib/manifest/ManifestTypes.d.ts +37 -32
  77. package/cjs/lib/manifest/setupManifest.d.ts +8 -6
  78. package/cjs/lib/manifest/setupManifest.js +40 -1
  79. package/cjs/lib/manifest/setupManifest.js.map +1 -1
  80. package/cjs/lib/osBindings/AddAssetParams.d.ts +1 -2
  81. package/cjs/lib/osBindings/AddVersionParams.d.ts +1 -2
  82. package/cjs/lib/osBindings/AddVersionParams.js +1 -0
  83. package/cjs/lib/osBindings/AddVersionParams.js.map +1 -1
  84. package/cjs/lib/osBindings/AttachParams.d.ts +5 -0
  85. package/cjs/lib/osBindings/AttachParams.js +3 -0
  86. package/cjs/lib/osBindings/AttachParams.js.map +1 -0
  87. package/cjs/lib/osBindings/BackupTargetFS.d.ts +7 -0
  88. package/cjs/lib/osBindings/BackupTargetFS.js +3 -0
  89. package/cjs/lib/osBindings/BackupTargetFS.js.map +1 -0
  90. package/cjs/lib/osBindings/BlockDev.d.ts +3 -0
  91. package/cjs/lib/osBindings/BlockDev.js +4 -0
  92. package/cjs/lib/osBindings/BlockDev.js.map +1 -0
  93. package/cjs/lib/osBindings/CallbackId.d.ts +1 -0
  94. package/cjs/lib/osBindings/CallbackId.js +4 -0
  95. package/cjs/lib/osBindings/CallbackId.js.map +1 -0
  96. package/cjs/lib/osBindings/CheckDependenciesResult.d.ts +5 -1
  97. package/cjs/lib/osBindings/Cifs.d.ts +6 -0
  98. package/cjs/lib/osBindings/Cifs.js +4 -0
  99. package/cjs/lib/osBindings/Cifs.js.map +1 -0
  100. package/cjs/lib/osBindings/CurrentDependencyInfo.d.ts +3 -4
  101. package/cjs/lib/osBindings/DepInfo.d.ts +2 -0
  102. package/cjs/lib/osBindings/DepInfo.js +0 -1
  103. package/cjs/lib/osBindings/DepInfo.js.map +1 -1
  104. package/cjs/lib/osBindings/DependencyMetadata.d.ts +7 -0
  105. package/cjs/lib/osBindings/DependencyMetadata.js +3 -0
  106. package/cjs/lib/osBindings/DependencyMetadata.js.map +1 -0
  107. package/cjs/lib/osBindings/DependencyRequirement.d.ts +2 -4
  108. package/cjs/lib/osBindings/ExecuteAction.d.ts +3 -1
  109. package/cjs/lib/osBindings/ExecuteAction.js +0 -1
  110. package/cjs/lib/osBindings/ExecuteAction.js.map +1 -1
  111. package/cjs/lib/osBindings/FullIndex.d.ts +1 -0
  112. package/cjs/lib/osBindings/GetHostInfoParams.d.ts +2 -2
  113. package/cjs/lib/osBindings/GetOsAssetParams.d.ts +1 -2
  114. package/cjs/lib/osBindings/GetOsAssetParams.js +1 -0
  115. package/cjs/lib/osBindings/GetOsAssetParams.js.map +1 -1
  116. package/cjs/lib/osBindings/GetOsVersionParams.d.ts +6 -0
  117. package/cjs/lib/osBindings/GetOsVersionParams.js +4 -0
  118. package/cjs/lib/osBindings/GetOsVersionParams.js.map +1 -0
  119. package/cjs/lib/osBindings/GetPackageParams.d.ts +3 -2
  120. package/cjs/lib/osBindings/GetPrimaryUrlParams.d.ts +2 -2
  121. package/cjs/lib/osBindings/GetServiceInterfaceParams.d.ts +2 -2
  122. package/cjs/lib/osBindings/GetSslCertificateParams.d.ts +4 -3
  123. package/cjs/lib/osBindings/GetSslKeyParams.d.ts +2 -3
  124. package/cjs/lib/osBindings/GetStoreParams.d.ts +2 -0
  125. package/cjs/lib/osBindings/GetStoreParams.js +0 -1
  126. package/cjs/lib/osBindings/GetStoreParams.js.map +1 -1
  127. package/cjs/lib/osBindings/GetSystemSmtpParams.d.ts +2 -2
  128. package/cjs/lib/osBindings/GetVersionParams.d.ts +2 -0
  129. package/cjs/lib/osBindings/HardwareRequirements.d.ts +2 -1
  130. package/cjs/lib/osBindings/HostAddress.d.ts +3 -0
  131. package/cjs/lib/osBindings/InitProgressRes.d.ts +6 -0
  132. package/cjs/lib/osBindings/InitProgressRes.js +3 -0
  133. package/cjs/lib/osBindings/InitProgressRes.js.map +1 -0
  134. package/cjs/lib/osBindings/InstallParams.d.ts +7 -0
  135. package/cjs/lib/osBindings/InstallParams.js +3 -0
  136. package/cjs/lib/osBindings/InstallParams.js.map +1 -0
  137. package/cjs/lib/osBindings/InstalledVersionParams.d.ts +4 -0
  138. package/cjs/lib/osBindings/InstalledVersionParams.js +3 -0
  139. package/cjs/lib/osBindings/InstalledVersionParams.js.map +1 -0
  140. package/cjs/lib/osBindings/ListServiceInterfacesParams.d.ts +2 -2
  141. package/cjs/lib/osBindings/ListVersionSignersParams.d.ts +1 -2
  142. package/cjs/lib/osBindings/ListVersionSignersParams.js +1 -0
  143. package/cjs/lib/osBindings/ListVersionSignersParams.js.map +1 -1
  144. package/cjs/lib/osBindings/MainStatus.d.ts +0 -2
  145. package/cjs/lib/osBindings/Manifest.d.ts +2 -1
  146. package/cjs/lib/osBindings/OsIndex.d.ts +2 -5
  147. package/cjs/lib/osBindings/OsVersionInfoMap.d.ts +4 -0
  148. package/cjs/lib/osBindings/OsVersionInfoMap.js +3 -0
  149. package/cjs/lib/osBindings/OsVersionInfoMap.js.map +1 -0
  150. package/cjs/lib/osBindings/PackageDetailLevel.d.ts +1 -1
  151. package/cjs/lib/osBindings/PackageVersionInfo.d.ts +9 -2
  152. package/cjs/lib/osBindings/PathOrUrl.d.ts +1 -0
  153. package/cjs/lib/osBindings/PathOrUrl.js +4 -0
  154. package/cjs/lib/osBindings/PathOrUrl.js.map +1 -0
  155. package/cjs/lib/osBindings/ProcedureId.d.ts +4 -0
  156. package/cjs/lib/osBindings/ProcedureId.js +3 -0
  157. package/cjs/lib/osBindings/ProcedureId.js.map +1 -0
  158. package/cjs/lib/osBindings/Public.d.ts +1 -1
  159. package/cjs/lib/osBindings/RecoverySource.d.ts +10 -0
  160. package/cjs/lib/osBindings/RecoverySource.js +3 -0
  161. package/cjs/lib/osBindings/RecoverySource.js.map +1 -0
  162. package/cjs/lib/osBindings/RegistryAsset.d.ts +1 -0
  163. package/cjs/lib/osBindings/RegistryInfo.d.ts +9 -0
  164. package/cjs/lib/osBindings/RegistryInfo.js +3 -0
  165. package/cjs/lib/osBindings/RegistryInfo.js.map +1 -0
  166. package/cjs/lib/osBindings/RemoveVersionParams.d.ts +1 -2
  167. package/cjs/lib/osBindings/RemoveVersionParams.js +1 -0
  168. package/cjs/lib/osBindings/RemoveVersionParams.js.map +1 -1
  169. package/cjs/lib/osBindings/ServerInfo.d.ts +3 -3
  170. package/cjs/lib/osBindings/SetDependenciesParams.d.ts +2 -0
  171. package/cjs/lib/osBindings/SetMainStatusStatus.d.ts +1 -1
  172. package/cjs/lib/osBindings/SetupExecuteParams.d.ts +7 -0
  173. package/cjs/lib/osBindings/SetupExecuteParams.js +3 -0
  174. package/cjs/lib/osBindings/SetupExecuteParams.js.map +1 -0
  175. package/cjs/lib/osBindings/SetupProgress.d.ts +6 -0
  176. package/cjs/lib/osBindings/SetupProgress.js +3 -0
  177. package/cjs/lib/osBindings/SetupProgress.js.map +1 -0
  178. package/cjs/lib/osBindings/SetupResult.d.ts +5 -0
  179. package/cjs/lib/osBindings/SetupResult.js +4 -0
  180. package/cjs/lib/osBindings/SetupResult.js.map +1 -0
  181. package/cjs/lib/osBindings/SetupStatusRes.d.ts +7 -0
  182. package/cjs/lib/osBindings/SetupStatusRes.js +3 -0
  183. package/cjs/lib/osBindings/SetupStatusRes.js.map +1 -0
  184. package/cjs/lib/osBindings/SignAssetParams.d.ts +1 -2
  185. package/cjs/lib/osBindings/SmtpValue.d.ts +7 -0
  186. package/cjs/lib/osBindings/SmtpValue.js +4 -0
  187. package/cjs/lib/osBindings/SmtpValue.js.map +1 -0
  188. package/cjs/lib/osBindings/VerifyCifsParams.d.ts +7 -0
  189. package/cjs/lib/osBindings/VerifyCifsParams.js +3 -0
  190. package/cjs/lib/osBindings/VerifyCifsParams.js.map +1 -0
  191. package/cjs/lib/osBindings/VersionSignerParams.d.ts +1 -2
  192. package/cjs/lib/osBindings/index.d.ts +21 -3
  193. package/cjs/lib/s9pk/index.d.ts +11 -0
  194. package/cjs/lib/s9pk/index.js +50 -0
  195. package/cjs/lib/s9pk/index.js.map +1 -0
  196. package/cjs/lib/s9pk/merkleArchive/directoryContents.d.ts +11 -0
  197. package/cjs/lib/s9pk/merkleArchive/directoryContents.js +72 -0
  198. package/cjs/lib/s9pk/merkleArchive/directoryContents.js.map +1 -0
  199. package/cjs/lib/s9pk/merkleArchive/fileContents.d.ts +7 -0
  200. package/cjs/lib/s9pk/merkleArchive/fileContents.js +23 -0
  201. package/cjs/lib/s9pk/merkleArchive/fileContents.js.map +1 -0
  202. package/cjs/lib/s9pk/merkleArchive/index.d.ts +33 -0
  203. package/cjs/lib/s9pk/merkleArchive/index.js +119 -0
  204. package/cjs/lib/s9pk/merkleArchive/index.js.map +1 -0
  205. package/cjs/lib/s9pk/merkleArchive/varint.d.ts +9 -0
  206. package/cjs/lib/s9pk/merkleArchive/varint.js +60 -0
  207. package/cjs/lib/s9pk/merkleArchive/varint.js.map +1 -0
  208. package/cjs/lib/store/getStore.js +0 -1
  209. package/cjs/lib/store/getStore.js.map +1 -1
  210. package/cjs/lib/test/configBuilder.test.js +6 -31
  211. package/cjs/lib/test/configBuilder.test.js.map +1 -1
  212. package/cjs/lib/test/configTypes.test.js +1 -4
  213. package/cjs/lib/test/configTypes.test.js.map +1 -1
  214. package/cjs/lib/test/emverList.test.js +0 -9
  215. package/cjs/lib/test/emverList.test.js.map +1 -1
  216. package/cjs/lib/test/exverList.test.d.ts +1 -0
  217. package/cjs/lib/test/exverList.test.js +219 -0
  218. package/cjs/lib/test/exverList.test.js.map +1 -0
  219. package/cjs/lib/test/output.d.ts +16 -16
  220. package/cjs/lib/test/output.sdk.d.ts +185 -155
  221. package/cjs/lib/test/output.sdk.js +3 -2
  222. package/cjs/lib/test/output.sdk.js.map +1 -1
  223. package/cjs/lib/test/output.test.js +3 -4
  224. package/cjs/lib/test/output.test.js.map +1 -1
  225. package/cjs/lib/test/setupDependencyConfig.test.js +1 -1
  226. package/cjs/lib/test/setupDependencyConfig.test.js.map +1 -1
  227. package/cjs/lib/test/startosTypeValidation.test.js +1 -0
  228. package/cjs/lib/test/startosTypeValidation.test.js.map +1 -1
  229. package/cjs/lib/types.d.ts +30 -28
  230. package/cjs/lib/types.js.map +1 -1
  231. package/cjs/lib/util/GetSslCertificate.d.ts +20 -0
  232. package/cjs/lib/util/GetSslCertificate.js +48 -0
  233. package/cjs/lib/util/GetSslCertificate.js.map +1 -0
  234. package/cjs/lib/util/GetSystemSmtp.d.ts +3 -3
  235. package/cjs/lib/util/GetSystemSmtp.js +1 -3
  236. package/cjs/lib/util/GetSystemSmtp.js.map +1 -1
  237. package/cjs/lib/util/Overlay.js +17 -21
  238. package/cjs/lib/util/Overlay.js.map +1 -1
  239. package/cjs/lib/util/fileHelper.js +2 -2
  240. package/cjs/lib/util/fileHelper.js.map +1 -1
  241. package/cjs/lib/util/getRandomCharInSet.js +1 -25
  242. package/cjs/lib/util/getRandomCharInSet.js.map +1 -1
  243. package/cjs/lib/util/getServiceInterface.d.ts +5 -5
  244. package/cjs/lib/util/getServiceInterface.js +10 -9
  245. package/cjs/lib/util/getServiceInterface.js.map +1 -1
  246. package/cjs/lib/util/getServiceInterfaces.js +3 -2
  247. package/cjs/lib/util/getServiceInterfaces.js.map +1 -1
  248. package/cjs/lib/util/inMs.d.ts +1 -0
  249. package/cjs/lib/util/inMs.js +42 -0
  250. package/cjs/lib/util/inMs.js.map +1 -0
  251. package/cjs/lib/util/inMs.test.d.ts +1 -0
  252. package/cjs/lib/util/inMs.test.js +36 -0
  253. package/cjs/lib/util/inMs.test.js.map +1 -0
  254. package/cjs/lib/util/index.browser.d.ts +3 -14
  255. package/cjs/lib/util/index.browser.js +24 -5
  256. package/cjs/lib/util/index.browser.js.map +1 -1
  257. package/cjs/lib/util/index.d.ts +2 -14
  258. package/cjs/lib/util/index.js +18 -3
  259. package/cjs/lib/util/index.js.map +1 -1
  260. package/cjs/lib/util/splitCommand.js +1 -7
  261. package/cjs/lib/util/splitCommand.js.map +1 -1
  262. package/cjs/lib/util/typeHelpers.d.ts +15 -0
  263. package/cjs/lib/util/typeHelpers.js +6 -0
  264. package/cjs/lib/util/typeHelpers.js.map +1 -0
  265. package/cjs/scripts/oldSpecToBuilder.js +30 -26
  266. package/cjs/scripts/oldSpecToBuilder.js.map +1 -1
  267. package/mjs/lib/Dependency.d.ts +5 -5
  268. package/mjs/lib/StartSdk.d.ts +31 -68
  269. package/mjs/lib/StartSdk.js +28 -21
  270. package/mjs/lib/StartSdk.js.map +1 -1
  271. package/mjs/lib/actions/createAction.d.ts +7 -7
  272. package/mjs/lib/actions/createAction.js.map +1 -1
  273. package/mjs/lib/actions/setupActions.d.ts +2 -2
  274. package/mjs/lib/backup/Backups.d.ts +5 -6
  275. package/mjs/lib/backup/Backups.js +74 -68
  276. package/mjs/lib/backup/Backups.js.map +1 -1
  277. package/mjs/lib/backup/setupBackups.d.ts +5 -6
  278. package/mjs/lib/backup/setupBackups.js +2 -2
  279. package/mjs/lib/backup/setupBackups.js.map +1 -1
  280. package/mjs/lib/config/builder/list.d.ts +0 -34
  281. package/mjs/lib/config/builder/list.js +1 -51
  282. package/mjs/lib/config/builder/list.js.map +1 -1
  283. package/mjs/lib/config/builder/variants.d.ts +2 -2
  284. package/mjs/lib/config/builder/variants.js +2 -2
  285. package/mjs/lib/config/builder/variants.js.map +1 -1
  286. package/mjs/lib/config/configConstants.d.ts +6 -6
  287. package/mjs/lib/config/configDependencies.d.ts +5 -6
  288. package/mjs/lib/config/configDependencies.js.map +1 -1
  289. package/mjs/lib/config/configTypes.d.ts +93 -62
  290. package/mjs/lib/config/configTypes.js +0 -2
  291. package/mjs/lib/config/configTypes.js.map +1 -1
  292. package/mjs/lib/config/setupConfig.d.ts +7 -8
  293. package/mjs/lib/config/setupConfig.js.map +1 -1
  294. package/mjs/lib/dependencies/DependencyConfig.d.ts +9 -10
  295. package/mjs/lib/dependencies/DependencyConfig.js.map +1 -1
  296. package/mjs/lib/dependencies/dependencies.d.ts +8 -6
  297. package/mjs/lib/dependencies/dependencies.js +12 -5
  298. package/mjs/lib/dependencies/dependencies.js.map +1 -1
  299. package/mjs/lib/dependencies/setupDependencyConfig.d.ts +3 -4
  300. package/mjs/lib/emverLite/mod.d.ts +4 -4
  301. package/mjs/lib/exver/exver.d.ts +130 -0
  302. package/mjs/lib/exver/exver.js +2355 -0
  303. package/mjs/lib/exver/exver.js.map +1 -0
  304. package/mjs/lib/exver/index.d.ts +62 -0
  305. package/mjs/lib/exver/index.js +340 -0
  306. package/mjs/lib/exver/index.js.map +1 -0
  307. package/mjs/lib/health/HealthCheck.d.ts +4 -4
  308. package/mjs/lib/health/HealthCheck.js.map +1 -1
  309. package/mjs/lib/index.browser.d.ts +3 -5
  310. package/mjs/lib/index.browser.js +3 -5
  311. package/mjs/lib/index.browser.js.map +1 -1
  312. package/mjs/lib/index.d.ts +2 -1
  313. package/mjs/lib/index.js +2 -1
  314. package/mjs/lib/index.js.map +1 -1
  315. package/mjs/lib/inits/migrations/Migration.d.ts +15 -15
  316. package/mjs/lib/inits/migrations/Migration.js.map +1 -1
  317. package/mjs/lib/inits/migrations/setupMigrations.d.ts +7 -8
  318. package/mjs/lib/inits/migrations/setupMigrations.js +9 -7
  319. package/mjs/lib/inits/migrations/setupMigrations.js.map +1 -1
  320. package/mjs/lib/inits/setupInit.d.ts +5 -6
  321. package/mjs/lib/inits/setupInstall.d.ts +7 -8
  322. package/mjs/lib/inits/setupInstall.js.map +1 -1
  323. package/mjs/lib/inits/setupUninstall.d.ts +7 -8
  324. package/mjs/lib/inits/setupUninstall.js.map +1 -1
  325. package/mjs/lib/interfaces/setupInterfaces.d.ts +5 -6
  326. package/mjs/lib/mainFn/CommandController.d.ts +7 -6
  327. package/mjs/lib/mainFn/CommandController.js +11 -4
  328. package/mjs/lib/mainFn/CommandController.js.map +1 -1
  329. package/mjs/lib/mainFn/Daemon.d.ts +5 -5
  330. package/mjs/lib/mainFn/Daemon.js.map +1 -1
  331. package/mjs/lib/mainFn/Daemons.d.ts +12 -11
  332. package/mjs/lib/mainFn/Daemons.js +5 -8
  333. package/mjs/lib/mainFn/Daemons.js.map +1 -1
  334. package/mjs/lib/mainFn/HealthDaemon.d.ts +2 -1
  335. package/mjs/lib/mainFn/HealthDaemon.js +10 -4
  336. package/mjs/lib/mainFn/HealthDaemon.js.map +1 -1
  337. package/mjs/lib/mainFn/Mounts.d.ts +4 -4
  338. package/mjs/lib/mainFn/Mounts.js.map +1 -1
  339. package/mjs/lib/mainFn/index.d.ts +4 -4
  340. package/mjs/lib/mainFn/index.js +1 -0
  341. package/mjs/lib/mainFn/index.js.map +1 -1
  342. package/mjs/lib/manifest/ManifestTypes.d.ts +37 -32
  343. package/mjs/lib/manifest/setupManifest.d.ts +8 -6
  344. package/mjs/lib/manifest/setupManifest.js +39 -1
  345. package/mjs/lib/manifest/setupManifest.js.map +1 -1
  346. package/mjs/lib/osBindings/AddAssetParams.d.ts +1 -2
  347. package/mjs/lib/osBindings/AddVersionParams.d.ts +1 -2
  348. package/mjs/lib/osBindings/AddVersionParams.js +1 -0
  349. package/mjs/lib/osBindings/AddVersionParams.js.map +1 -1
  350. package/mjs/lib/osBindings/AttachParams.d.ts +5 -0
  351. package/mjs/lib/osBindings/AttachParams.js +2 -0
  352. package/mjs/lib/osBindings/AttachParams.js.map +1 -0
  353. package/mjs/lib/osBindings/BackupTargetFS.d.ts +7 -0
  354. package/mjs/lib/osBindings/BackupTargetFS.js +2 -0
  355. package/mjs/lib/osBindings/BackupTargetFS.js.map +1 -0
  356. package/mjs/lib/osBindings/BlockDev.d.ts +3 -0
  357. package/mjs/lib/osBindings/BlockDev.js +3 -0
  358. package/mjs/lib/osBindings/BlockDev.js.map +1 -0
  359. package/mjs/lib/osBindings/CallbackId.d.ts +1 -0
  360. package/mjs/lib/osBindings/CallbackId.js +3 -0
  361. package/mjs/lib/osBindings/CallbackId.js.map +1 -0
  362. package/mjs/lib/osBindings/CheckDependenciesResult.d.ts +5 -1
  363. package/mjs/lib/osBindings/Cifs.d.ts +6 -0
  364. package/mjs/lib/osBindings/Cifs.js +3 -0
  365. package/mjs/lib/osBindings/Cifs.js.map +1 -0
  366. package/mjs/lib/osBindings/CurrentDependencyInfo.d.ts +3 -4
  367. package/mjs/lib/osBindings/DepInfo.d.ts +2 -0
  368. package/mjs/lib/osBindings/DepInfo.js +0 -1
  369. package/mjs/lib/osBindings/DepInfo.js.map +1 -1
  370. package/mjs/lib/osBindings/DependencyMetadata.d.ts +7 -0
  371. package/mjs/lib/osBindings/DependencyMetadata.js +2 -0
  372. package/mjs/lib/osBindings/DependencyMetadata.js.map +1 -0
  373. package/mjs/lib/osBindings/DependencyRequirement.d.ts +2 -4
  374. package/mjs/lib/osBindings/ExecuteAction.d.ts +3 -1
  375. package/mjs/lib/osBindings/ExecuteAction.js +0 -1
  376. package/mjs/lib/osBindings/ExecuteAction.js.map +1 -1
  377. package/mjs/lib/osBindings/FullIndex.d.ts +1 -0
  378. package/mjs/lib/osBindings/GetHostInfoParams.d.ts +2 -2
  379. package/mjs/lib/osBindings/GetOsAssetParams.d.ts +1 -2
  380. package/mjs/lib/osBindings/GetOsAssetParams.js +1 -0
  381. package/mjs/lib/osBindings/GetOsAssetParams.js.map +1 -1
  382. package/mjs/lib/osBindings/GetOsVersionParams.d.ts +6 -0
  383. package/mjs/lib/osBindings/GetOsVersionParams.js +3 -0
  384. package/mjs/lib/osBindings/GetOsVersionParams.js.map +1 -0
  385. package/mjs/lib/osBindings/GetPackageParams.d.ts +3 -2
  386. package/mjs/lib/osBindings/GetPrimaryUrlParams.d.ts +2 -2
  387. package/mjs/lib/osBindings/GetServiceInterfaceParams.d.ts +2 -2
  388. package/mjs/lib/osBindings/GetSslCertificateParams.d.ts +4 -3
  389. package/mjs/lib/osBindings/GetSslKeyParams.d.ts +2 -3
  390. package/mjs/lib/osBindings/GetStoreParams.d.ts +2 -0
  391. package/mjs/lib/osBindings/GetStoreParams.js +0 -1
  392. package/mjs/lib/osBindings/GetStoreParams.js.map +1 -1
  393. package/mjs/lib/osBindings/GetSystemSmtpParams.d.ts +2 -2
  394. package/mjs/lib/osBindings/GetVersionParams.d.ts +2 -0
  395. package/mjs/lib/osBindings/HardwareRequirements.d.ts +2 -1
  396. package/mjs/lib/osBindings/HostAddress.d.ts +3 -0
  397. package/mjs/lib/osBindings/InitProgressRes.d.ts +6 -0
  398. package/mjs/lib/osBindings/InitProgressRes.js +2 -0
  399. package/mjs/lib/osBindings/InitProgressRes.js.map +1 -0
  400. package/mjs/lib/osBindings/InstallParams.d.ts +7 -0
  401. package/mjs/lib/osBindings/InstallParams.js +2 -0
  402. package/mjs/lib/osBindings/InstallParams.js.map +1 -0
  403. package/mjs/lib/osBindings/InstalledVersionParams.d.ts +4 -0
  404. package/mjs/lib/osBindings/InstalledVersionParams.js +2 -0
  405. package/mjs/lib/osBindings/InstalledVersionParams.js.map +1 -0
  406. package/mjs/lib/osBindings/ListServiceInterfacesParams.d.ts +2 -2
  407. package/mjs/lib/osBindings/ListVersionSignersParams.d.ts +1 -2
  408. package/mjs/lib/osBindings/ListVersionSignersParams.js +1 -0
  409. package/mjs/lib/osBindings/ListVersionSignersParams.js.map +1 -1
  410. package/mjs/lib/osBindings/MainStatus.d.ts +0 -2
  411. package/mjs/lib/osBindings/Manifest.d.ts +2 -1
  412. package/mjs/lib/osBindings/OsIndex.d.ts +2 -5
  413. package/mjs/lib/osBindings/OsVersionInfoMap.d.ts +4 -0
  414. package/mjs/lib/osBindings/OsVersionInfoMap.js +2 -0
  415. package/mjs/lib/osBindings/OsVersionInfoMap.js.map +1 -0
  416. package/mjs/lib/osBindings/PackageDetailLevel.d.ts +1 -1
  417. package/mjs/lib/osBindings/PackageVersionInfo.d.ts +9 -2
  418. package/mjs/lib/osBindings/PathOrUrl.d.ts +1 -0
  419. package/mjs/lib/osBindings/PathOrUrl.js +3 -0
  420. package/mjs/lib/osBindings/PathOrUrl.js.map +1 -0
  421. package/mjs/lib/osBindings/ProcedureId.d.ts +4 -0
  422. package/mjs/lib/osBindings/ProcedureId.js +2 -0
  423. package/mjs/lib/osBindings/ProcedureId.js.map +1 -0
  424. package/mjs/lib/osBindings/Public.d.ts +1 -1
  425. package/mjs/lib/osBindings/RecoverySource.d.ts +10 -0
  426. package/mjs/lib/osBindings/RecoverySource.js +2 -0
  427. package/mjs/lib/osBindings/RecoverySource.js.map +1 -0
  428. package/mjs/lib/osBindings/RegistryAsset.d.ts +1 -0
  429. package/mjs/lib/osBindings/RegistryInfo.d.ts +9 -0
  430. package/mjs/lib/osBindings/RegistryInfo.js +2 -0
  431. package/mjs/lib/osBindings/RegistryInfo.js.map +1 -0
  432. package/mjs/lib/osBindings/RemoveVersionParams.d.ts +1 -2
  433. package/mjs/lib/osBindings/RemoveVersionParams.js +1 -0
  434. package/mjs/lib/osBindings/RemoveVersionParams.js.map +1 -1
  435. package/mjs/lib/osBindings/ServerInfo.d.ts +3 -3
  436. package/mjs/lib/osBindings/SetDependenciesParams.d.ts +2 -0
  437. package/mjs/lib/osBindings/SetMainStatusStatus.d.ts +1 -1
  438. package/mjs/lib/osBindings/SetupExecuteParams.d.ts +7 -0
  439. package/mjs/lib/osBindings/SetupExecuteParams.js +2 -0
  440. package/mjs/lib/osBindings/SetupExecuteParams.js.map +1 -0
  441. package/mjs/lib/osBindings/SetupProgress.d.ts +6 -0
  442. package/mjs/lib/osBindings/SetupProgress.js +2 -0
  443. package/mjs/lib/osBindings/SetupProgress.js.map +1 -0
  444. package/mjs/lib/osBindings/SetupResult.d.ts +5 -0
  445. package/mjs/lib/osBindings/SetupResult.js +3 -0
  446. package/mjs/lib/osBindings/SetupResult.js.map +1 -0
  447. package/mjs/lib/osBindings/SetupStatusRes.d.ts +7 -0
  448. package/mjs/lib/osBindings/SetupStatusRes.js +2 -0
  449. package/mjs/lib/osBindings/SetupStatusRes.js.map +1 -0
  450. package/mjs/lib/osBindings/SignAssetParams.d.ts +1 -2
  451. package/mjs/lib/osBindings/SmtpValue.d.ts +7 -0
  452. package/mjs/lib/osBindings/SmtpValue.js +3 -0
  453. package/mjs/lib/osBindings/SmtpValue.js.map +1 -0
  454. package/mjs/lib/osBindings/VerifyCifsParams.d.ts +7 -0
  455. package/mjs/lib/osBindings/VerifyCifsParams.js +2 -0
  456. package/mjs/lib/osBindings/VerifyCifsParams.js.map +1 -0
  457. package/mjs/lib/osBindings/VersionSignerParams.d.ts +1 -2
  458. package/mjs/lib/osBindings/index.d.ts +21 -3
  459. package/mjs/lib/s9pk/index.d.ts +11 -0
  460. package/mjs/lib/s9pk/index.js +45 -0
  461. package/mjs/lib/s9pk/index.js.map +1 -0
  462. package/mjs/lib/s9pk/merkleArchive/directoryContents.d.ts +11 -0
  463. package/mjs/lib/s9pk/merkleArchive/directoryContents.js +70 -0
  464. package/mjs/lib/s9pk/merkleArchive/directoryContents.js.map +1 -0
  465. package/mjs/lib/s9pk/merkleArchive/fileContents.d.ts +7 -0
  466. package/mjs/lib/s9pk/merkleArchive/fileContents.js +20 -0
  467. package/mjs/lib/s9pk/merkleArchive/fileContents.js.map +1 -0
  468. package/mjs/lib/s9pk/merkleArchive/index.d.ts +33 -0
  469. package/mjs/lib/s9pk/merkleArchive/index.js +120 -0
  470. package/mjs/lib/s9pk/merkleArchive/index.js.map +1 -0
  471. package/mjs/lib/s9pk/merkleArchive/varint.d.ts +9 -0
  472. package/mjs/lib/s9pk/merkleArchive/varint.js +57 -0
  473. package/mjs/lib/s9pk/merkleArchive/varint.js.map +1 -0
  474. package/mjs/lib/store/getStore.js +0 -1
  475. package/mjs/lib/store/getStore.js.map +1 -1
  476. package/mjs/lib/test/configBuilder.test.js +6 -31
  477. package/mjs/lib/test/configBuilder.test.js.map +1 -1
  478. package/mjs/lib/test/configTypes.test.js +2 -5
  479. package/mjs/lib/test/configTypes.test.js.map +1 -1
  480. package/mjs/lib/test/emverList.test.js +0 -9
  481. package/mjs/lib/test/emverList.test.js.map +1 -1
  482. package/mjs/lib/test/exverList.test.d.ts +1 -0
  483. package/mjs/lib/test/exverList.test.js +217 -0
  484. package/mjs/lib/test/exverList.test.js.map +1 -0
  485. package/mjs/lib/test/output.d.ts +16 -16
  486. package/mjs/lib/test/output.sdk.d.ts +185 -155
  487. package/mjs/lib/test/output.sdk.js +3 -2
  488. package/mjs/lib/test/output.sdk.js.map +1 -1
  489. package/mjs/lib/test/output.test.js +3 -4
  490. package/mjs/lib/test/output.test.js.map +1 -1
  491. package/mjs/lib/test/setupDependencyConfig.test.js +1 -1
  492. package/mjs/lib/test/setupDependencyConfig.test.js.map +1 -1
  493. package/mjs/lib/test/startosTypeValidation.test.js +1 -0
  494. package/mjs/lib/test/startosTypeValidation.test.js.map +1 -1
  495. package/mjs/lib/types.d.ts +30 -28
  496. package/mjs/lib/types.js.map +1 -1
  497. package/mjs/lib/util/GetSslCertificate.d.ts +20 -0
  498. package/mjs/lib/util/GetSslCertificate.js +47 -0
  499. package/mjs/lib/util/GetSslCertificate.js.map +1 -0
  500. package/mjs/lib/util/GetSystemSmtp.d.ts +3 -3
  501. package/mjs/lib/util/GetSystemSmtp.js +1 -3
  502. package/mjs/lib/util/GetSystemSmtp.js.map +1 -1
  503. package/mjs/lib/util/Overlay.js +17 -21
  504. package/mjs/lib/util/Overlay.js.map +1 -1
  505. package/mjs/lib/util/fileHelper.js +2 -2
  506. package/mjs/lib/util/fileHelper.js.map +1 -1
  507. package/mjs/lib/util/getRandomCharInSet.js +1 -2
  508. package/mjs/lib/util/getRandomCharInSet.js.map +1 -1
  509. package/mjs/lib/util/getServiceInterface.d.ts +5 -5
  510. package/mjs/lib/util/getServiceInterface.js +10 -9
  511. package/mjs/lib/util/getServiceInterface.js.map +1 -1
  512. package/mjs/lib/util/getServiceInterfaces.js +3 -2
  513. package/mjs/lib/util/getServiceInterfaces.js.map +1 -1
  514. package/mjs/lib/util/inMs.d.ts +1 -0
  515. package/mjs/lib/util/inMs.js +38 -0
  516. package/mjs/lib/util/inMs.js.map +1 -0
  517. package/mjs/lib/util/inMs.test.d.ts +1 -0
  518. package/mjs/lib/util/inMs.test.js +34 -0
  519. package/mjs/lib/util/inMs.test.js.map +1 -0
  520. package/mjs/lib/util/index.browser.d.ts +3 -14
  521. package/mjs/lib/util/index.browser.js +5 -1
  522. package/mjs/lib/util/index.browser.js.map +1 -1
  523. package/mjs/lib/util/index.d.ts +2 -14
  524. package/mjs/lib/util/index.js +2 -1
  525. package/mjs/lib/util/index.js.map +1 -1
  526. package/mjs/lib/util/splitCommand.js +1 -7
  527. package/mjs/lib/util/splitCommand.js.map +1 -1
  528. package/mjs/lib/util/typeHelpers.d.ts +15 -0
  529. package/mjs/lib/util/typeHelpers.js +2 -0
  530. package/mjs/lib/util/typeHelpers.js.map +1 -0
  531. package/mjs/scripts/oldSpecToBuilder.js +20 -16
  532. package/mjs/scripts/oldSpecToBuilder.js.map +1 -1
  533. package/package.json +10 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,gBAAgB,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEhE,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,gBAAgB,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA"}
@@ -1,37 +1,37 @@
1
- import { ManifestVersion, SDKManifest } from "../../manifest/ManifestTypes";
2
- import { Effects } from "../../types";
3
- export declare class Migration<Manifest extends SDKManifest, Store, Version extends ManifestVersion> {
1
+ import { ValidateExVer } from "../../exver";
2
+ import * as T from "../../types";
3
+ export declare class Migration<Manifest extends T.Manifest, Store, Version extends string> {
4
4
  readonly options: {
5
- version: Version;
5
+ version: Version & ValidateExVer<Version>;
6
6
  up: (opts: {
7
- effects: Effects;
7
+ effects: T.Effects;
8
8
  }) => Promise<void>;
9
9
  down: (opts: {
10
- effects: Effects;
10
+ effects: T.Effects;
11
11
  }) => Promise<void>;
12
12
  };
13
13
  constructor(options: {
14
- version: Version;
14
+ version: Version & ValidateExVer<Version>;
15
15
  up: (opts: {
16
- effects: Effects;
16
+ effects: T.Effects;
17
17
  }) => Promise<void>;
18
18
  down: (opts: {
19
- effects: Effects;
19
+ effects: T.Effects;
20
20
  }) => Promise<void>;
21
21
  });
22
- static of<Manifest extends SDKManifest, Store, Version extends ManifestVersion>(options: {
23
- version: Version;
22
+ static of<Manifest extends T.Manifest, Store, Version extends string>(options: {
23
+ version: Version & ValidateExVer<Version>;
24
24
  up: (opts: {
25
- effects: Effects;
25
+ effects: T.Effects;
26
26
  }) => Promise<void>;
27
27
  down: (opts: {
28
- effects: Effects;
28
+ effects: T.Effects;
29
29
  }) => Promise<void>;
30
30
  }): Migration<Manifest, Store, Version>;
31
31
  up(opts: {
32
- effects: Effects;
32
+ effects: T.Effects;
33
33
  }): Promise<void>;
34
34
  down(opts: {
35
- effects: Effects;
35
+ effects: T.Effects;
36
36
  }): Promise<void>;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../../../../lib/inits/migrations/Migration.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAMT;IADX,YACW,OAIR;QAJQ,YAAO,GAAP,OAAO,CAIf;IACA,CAAC;IACJ,MAAM,CAAC,EAAE,CAIP,OAID;QACC,OAAO,IAAI,SAAS,CAA2B,OAAO,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,IAA0B;QACjC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAA0B;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../../../../lib/inits/migrations/Migration.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAMT;IADX,YACW,OAIR;QAJQ,YAAO,GAAP,OAAO,CAIf;IACA,CAAC;IACJ,MAAM,CAAC,EAAE,CAIP,OAID;QACC,OAAO,IAAI,SAAS,CAA2B,OAAO,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,IAA4B;QACnC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAA4B;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;CACF"}
@@ -1,15 +1,14 @@
1
- import { SDKManifest } from "../../manifest/ManifestTypes";
2
- import { ExpectedExports } from "../../types";
1
+ import * as T from "../../types";
3
2
  import { Migration } from "./Migration";
4
- export declare class Migrations<Manifest extends SDKManifest, Store> {
5
- readonly manifest: SDKManifest;
3
+ export declare class Migrations<Manifest extends T.Manifest, Store> {
4
+ readonly manifest: T.Manifest;
6
5
  readonly migrations: Array<Migration<Manifest, Store, any>>;
7
6
  private constructor();
8
7
  private sortedMigrations;
9
8
  private currentVersion;
10
- static of<Manifest extends SDKManifest, Store, Migrations extends Array<Migration<Manifest, Store, any>>>(manifest: SDKManifest, ...migrations: EnsureUniqueId<Migrations>): import("./setupMigrations").Migrations<Manifest, Store>;
11
- init({ effects, previousVersion, }: Parameters<ExpectedExports.init>[0]): Promise<void>;
12
- uninit({ effects, nextVersion, }: Parameters<ExpectedExports.uninit>[0]): Promise<void>;
9
+ static of<Manifest extends T.Manifest, Store, Migrations extends Array<Migration<Manifest, Store, any>>>(manifest: T.Manifest, ...migrations: EnsureUniqueId<Migrations>): import("./setupMigrations").Migrations<Manifest, Store>;
10
+ init({ effects, previousVersion, }: Parameters<T.ExpectedExports.init>[0]): Promise<void>;
11
+ uninit({ effects, nextVersion, }: Parameters<T.ExpectedExports.uninit>[0]): Promise<void>;
13
12
  }
14
- export declare function setupMigrations<Manifest extends SDKManifest, Store, Migrations extends Array<Migration<Manifest, Store, any>>>(manifest: SDKManifest, ...migrations: EnsureUniqueId<Migrations>): import("./setupMigrations").Migrations<Manifest, Store>;
13
+ export declare function setupMigrations<Manifest extends T.Manifest, Store, Migrations extends Array<Migration<Manifest, Store, any>>>(manifest: T.Manifest, ...migrations: EnsureUniqueId<Migrations>): import("./setupMigrations").Migrations<Manifest, Store>;
15
14
  export type EnsureUniqueId<A, B = A, ids = never> = B extends [] ? A : B extends [Migration<any, any, infer id>, ...infer Rest] ? (id extends ids ? "One of the ids are not unique"[] : EnsureUniqueId<A, Rest, id | ids>) : "There exists a migration that is not a Migration"[];
@@ -1,4 +1,4 @@
1
- import { EmVer } from "../../emverLite/mod";
1
+ import { ExtendedVersion } from "../../exver";
2
2
  import { once } from "../../util/once";
3
3
  export class Migrations {
4
4
  manifest;
@@ -8,19 +8,21 @@ export class Migrations {
8
8
  this.migrations = migrations;
9
9
  }
10
10
  sortedMigrations = once(() => {
11
- const migrationsAsVersions = this.migrations.map((x) => [EmVer.parse(x.options.version), x]);
11
+ const migrationsAsVersions = this.migrations
12
+ .map((x) => [ExtendedVersion.parse(x.options.version), x])
13
+ .filter(([v, _]) => v.flavor === this.currentVersion().flavor);
12
14
  migrationsAsVersions.sort((a, b) => a[0].compareForSort(b[0]));
13
15
  return migrationsAsVersions;
14
16
  });
15
- currentVersion = once(() => EmVer.parse(this.manifest.version));
17
+ currentVersion = once(() => ExtendedVersion.parse(this.manifest.version));
16
18
  static of(manifest, ...migrations) {
17
19
  return new Migrations(manifest, migrations);
18
20
  }
19
21
  async init({ effects, previousVersion, }) {
20
22
  if (!!previousVersion) {
21
- const previousVersionEmVer = EmVer.parse(previousVersion);
23
+ const previousVersionExVer = ExtendedVersion.parse(previousVersion);
22
24
  for (const [_, migration] of this.sortedMigrations()
23
- .filter((x) => x[0].greaterThan(previousVersionEmVer))
25
+ .filter((x) => x[0].greaterThan(previousVersionExVer))
24
26
  .filter((x) => x[0].lessThanOrEqual(this.currentVersion()))) {
25
27
  await migration.up({ effects });
26
28
  }
@@ -28,10 +30,10 @@ export class Migrations {
28
30
  }
29
31
  async uninit({ effects, nextVersion, }) {
30
32
  if (!!nextVersion) {
31
- const nextVersionEmVer = EmVer.parse(nextVersion);
33
+ const nextVersionExVer = ExtendedVersion.parse(nextVersion);
32
34
  const reversed = [...this.sortedMigrations()].reverse();
33
35
  for (const [_, migration] of reversed
34
- .filter((x) => x[0].greaterThan(nextVersionEmVer))
36
+ .filter((x) => x[0].greaterThan(nextVersionExVer))
35
37
  .filter((x) => x[0].lessThanOrEqual(this.currentVersion()))) {
36
38
  await migration.down({ effects });
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupMigrations.js","sourceRoot":"","sources":["../../../../../lib/inits/migrations/setupMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAG3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAGtC,MAAM,OAAO,UAAU;IAEV;IACA;IAFX,YACW,QAAqB,EACrB,UAAkD;QADlD,aAAQ,GAAR,QAAQ,CAAa;QACrB,eAAU,GAAV,UAAU,CAAwC;IAC1D,CAAC;IACI,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACnC,MAAM,oBAAoB,GACxB,IAAI,CAAC,UACN,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAU,CAAC,CAAA;QAC1D,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,OAAO,oBAAoB,CAAA;IAC7B,CAAC,CAAC,CAAA;IACM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACvE,MAAM,CAAC,EAAE,CAIP,QAAqB,EAAE,GAAG,UAAsC;QAChE,OAAO,IAAI,UAAU,CACnB,QAAQ,EACR,UAAoD,CACrD,CAAA;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EACT,OAAO,EACP,eAAe,GACqB;QACpC,IAAI,CAAC,CAAC,eAAe,EAAE;YACrB,MAAM,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACzD,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;iBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;iBACrD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;gBAC7D,MAAM,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;aAChC;SACF;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EACX,OAAO,EACP,WAAW,GAC2B;QACtC,IAAI,CAAC,CAAC,WAAW,EAAE;YACjB,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACjD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;YACvD,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,QAAQ;iBAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;iBACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;gBAC7D,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;aAClC;SACF;IACH,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAI7B,QAAqB,EAAE,GAAG,UAAsC;IAChE,OAAO,UAAU,CAAC,EAAE,CAA8B,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAA;AAC5E,CAAC"}
1
+ {"version":3,"file":"setupMigrations.js","sourceRoot":"","sources":["../../../../../lib/inits/migrations/setupMigrations.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  import { DependenciesReceipt } from "../config/setupConfig";
2
2
  import { SetInterfaces } from "../interfaces/setupInterfaces";
3
- import { SDKManifest } from "../manifest/ManifestTypes";
4
3
  import { ExposedStorePaths } from "../store/setupExposeStore";
5
- import { Effects, ExpectedExports } from "../types";
4
+ import * as T from "../types";
6
5
  import { Migrations } from "./migrations/setupMigrations";
7
6
  import { Install } from "./setupInstall";
8
7
  import { Uninstall } from "./setupUninstall";
9
- export declare function setupInit<Manifest extends SDKManifest, Store>(migrations: Migrations<Manifest, Store>, install: Install<Manifest, Store>, uninstall: Uninstall<Manifest, Store>, setInterfaces: SetInterfaces<Manifest, Store, any, any>, setDependencies: (options: {
10
- effects: Effects;
8
+ export declare function setupInit<Manifest extends T.Manifest, Store>(migrations: Migrations<Manifest, Store>, install: Install<Manifest, Store>, uninstall: Uninstall<Manifest, Store>, setInterfaces: SetInterfaces<Manifest, Store, any, any>, setDependencies: (options: {
9
+ effects: T.Effects;
11
10
  input: any;
12
11
  }) => Promise<DependenciesReceipt>, exposedStore: ExposedStorePaths): {
13
- init: ExpectedExports.init;
14
- uninit: ExpectedExports.uninit;
12
+ init: T.ExpectedExports.init;
13
+ uninit: T.ExpectedExports.uninit;
15
14
  };
@@ -1,12 +1,11 @@
1
- import { SDKManifest } from "../manifest/ManifestTypes";
2
- import { Effects, ExpectedExports } from "../types";
3
- export type InstallFn<Manifest extends SDKManifest, Store> = (opts: {
4
- effects: Effects;
1
+ import * as T from "../types";
2
+ export type InstallFn<Manifest extends T.Manifest, Store> = (opts: {
3
+ effects: T.Effects;
5
4
  }) => Promise<void>;
6
- export declare class Install<Manifest extends SDKManifest, Store> {
5
+ export declare class Install<Manifest extends T.Manifest, Store> {
7
6
  readonly fn: InstallFn<Manifest, Store>;
8
7
  private constructor();
9
- static of<Manifest extends SDKManifest, Store>(fn: InstallFn<Manifest, Store>): Install<Manifest, Store>;
10
- init({ effects, previousVersion, }: Parameters<ExpectedExports.init>[0]): Promise<void>;
8
+ static of<Manifest extends T.Manifest, Store>(fn: InstallFn<Manifest, Store>): Install<Manifest, Store>;
9
+ init({ effects, previousVersion, }: Parameters<T.ExpectedExports.init>[0]): Promise<void>;
11
10
  }
12
- export declare function setupInstall<Manifest extends SDKManifest, Store>(fn: InstallFn<Manifest, Store>): Install<Manifest, Store>;
11
+ export declare function setupInstall<Manifest extends T.Manifest, Store>(fn: InstallFn<Manifest, Store>): Install<Manifest, Store>;
@@ -1 +1 @@
1
- {"version":3,"file":"setupInstall.js","sourceRoot":"","sources":["../../../../lib/inits/setupInstall.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,EAA8B;QAA9B,OAAE,GAAF,EAAE,CAA4B;IAAG,CAAC;IAC/D,MAAM,CAAC,EAAE,CACP,EAA8B;QAE9B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EACT,OAAO,EACP,eAAe,GACqB;QACpC,IAAI,CAAC,eAAe;YAClB,MAAM,IAAI,CAAC,EAAE,CAAC;gBACZ,OAAO;aACR,CAAC,CAAA;IACN,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAC1B,EAA8B;IAE9B,OAAO,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"setupInstall.js","sourceRoot":"","sources":["../../../../lib/inits/setupInstall.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,EAA8B;QAA9B,OAAE,GAAF,EAAE,CAA4B;IAAG,CAAC;IAC/D,MAAM,CAAC,EAAE,CACP,EAA8B;QAE9B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EACT,OAAO,EACP,eAAe,GACuB;QACtC,IAAI,CAAC,eAAe;YAClB,MAAM,IAAI,CAAC,EAAE,CAAC;gBACZ,OAAO;aACR,CAAC,CAAA;IACN,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAC1B,EAA8B;IAE9B,OAAO,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC"}
@@ -1,12 +1,11 @@
1
- import { SDKManifest } from "../manifest/ManifestTypes";
2
- import { Effects, ExpectedExports } from "../types";
3
- export type UninstallFn<Manifest extends SDKManifest, Store> = (opts: {
4
- effects: Effects;
1
+ import * as T from "../types";
2
+ export type UninstallFn<Manifest extends T.Manifest, Store> = (opts: {
3
+ effects: T.Effects;
5
4
  }) => Promise<void>;
6
- export declare class Uninstall<Manifest extends SDKManifest, Store> {
5
+ export declare class Uninstall<Manifest extends T.Manifest, Store> {
7
6
  readonly fn: UninstallFn<Manifest, Store>;
8
7
  private constructor();
9
- static of<Manifest extends SDKManifest, Store>(fn: UninstallFn<Manifest, Store>): Uninstall<Manifest, Store>;
10
- uninit({ effects, nextVersion, }: Parameters<ExpectedExports.uninit>[0]): Promise<void>;
8
+ static of<Manifest extends T.Manifest, Store>(fn: UninstallFn<Manifest, Store>): Uninstall<Manifest, Store>;
9
+ uninit({ effects, nextVersion, }: Parameters<T.ExpectedExports.uninit>[0]): Promise<void>;
11
10
  }
12
- export declare function setupUninstall<Manifest extends SDKManifest, Store>(fn: UninstallFn<Manifest, Store>): Uninstall<Manifest, Store>;
11
+ export declare function setupUninstall<Manifest extends T.Manifest, Store>(fn: UninstallFn<Manifest, Store>): Uninstall<Manifest, Store>;
@@ -1 +1 @@
1
- {"version":3,"file":"setupUninstall.js","sourceRoot":"","sources":["../../../../lib/inits/setupUninstall.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,EAAgC;QAAhC,OAAE,GAAF,EAAE,CAA8B;IAAG,CAAC;IACjE,MAAM,CAAC,EAAE,CACP,EAAgC;QAEhC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EACX,OAAO,EACP,WAAW,GAC2B;QACtC,IAAI,CAAC,WAAW;YACd,MAAM,IAAI,CAAC,EAAE,CAAC;gBACZ,OAAO;aACR,CAAC,CAAA;IACN,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAC5B,EAAgC;IAEhC,OAAO,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"setupUninstall.js","sourceRoot":"","sources":["../../../../lib/inits/setupUninstall.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,EAAgC;QAAhC,OAAE,GAAF,EAAE,CAA8B;IAAG,CAAC;IACjE,MAAM,CAAC,EAAE,CACP,EAAgC;QAEhC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EACX,OAAO,EACP,WAAW,GAC6B;QACxC,IAAI,CAAC,WAAW;YACd,MAAM,IAAI,CAAC,EAAE,CAAC;gBACZ,OAAO;aACR,CAAC,CAAA;IACN,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAC5B,EAAgC;IAEhC,OAAO,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AACzB,CAAC"}
@@ -1,12 +1,11 @@
1
1
  import { Config } from "../config/builder/config";
2
- import { SDKManifest } from "../manifest/ManifestTypes";
3
- import { AddressInfo, Effects } from "../types";
2
+ import * as T from "../types";
4
3
  import { AddressReceipt } from "./AddressReceipt";
5
- export type InterfacesReceipt = Array<AddressInfo[] & AddressReceipt>;
6
- export type SetInterfaces<Manifest extends SDKManifest, Store, ConfigInput extends Record<string, any>, Output extends InterfacesReceipt> = (opts: {
7
- effects: Effects;
4
+ export type InterfacesReceipt = Array<T.AddressInfo[] & AddressReceipt>;
5
+ export type SetInterfaces<Manifest extends T.Manifest, Store, ConfigInput extends Record<string, any>, Output extends InterfacesReceipt> = (opts: {
6
+ effects: T.Effects;
8
7
  input: null | ConfigInput;
9
8
  }) => Promise<Output>;
10
- export type SetupInterfaces = <Manifest extends SDKManifest, Store, ConfigInput extends Record<string, any>, Output extends InterfacesReceipt>(config: Config<ConfigInput, Store>, fn: SetInterfaces<Manifest, Store, ConfigInput, Output>) => SetInterfaces<Manifest, Store, ConfigInput, Output>;
9
+ export type SetupInterfaces = <Manifest extends T.Manifest, Store, ConfigInput extends Record<string, any>, Output extends InterfacesReceipt>(config: Config<ConfigInput, Store>, fn: SetInterfaces<Manifest, Store, ConfigInput, Output>) => SetInterfaces<Manifest, Store, ConfigInput, Output>;
11
10
  export declare const NO_INTERFACE_CHANGES: InterfacesReceipt;
12
11
  export declare const setupInterfaces: SetupInterfaces;
@@ -1,17 +1,18 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { SDKManifest } from "../manifest/ManifestTypes";
4
- import { Effects, ImageId, ValidIfNoStupidEscape } from "../types";
3
+ import * as T from "../types";
5
4
  import { MountOptions, Overlay } from "../util/Overlay";
6
5
  export declare class CommandController {
7
6
  readonly runningAnswer: Promise<unknown>;
8
7
  readonly overlay: Overlay;
9
8
  readonly pid: number | undefined;
9
+ readonly sigtermTimeout: number;
10
10
  private constructor();
11
- static of<Manifest extends SDKManifest>(): <A extends string>(effects: Effects, imageId: {
12
- id: keyof Manifest["images"] & ImageId;
11
+ static of<Manifest extends T.Manifest>(): <A extends string>(effects: T.Effects, imageId: {
12
+ id: keyof Manifest["images"] & T.ImageId;
13
13
  sharedRun?: boolean;
14
- }, command: [string, ...string[]] | ValidIfNoStupidEscape<A>, options: {
14
+ }, command: T.CommandType, options: {
15
+ sigtermTimeout?: number | undefined;
15
16
  mounts?: {
16
17
  path: string;
17
18
  options: MountOptions;
@@ -25,7 +26,7 @@ export declare class CommandController {
25
26
  onStdout?: ((x: Buffer) => void) | undefined;
26
27
  onStderr?: ((x: Buffer) => void) | undefined;
27
28
  }) => Promise<CommandController>;
28
- wait(): Promise<unknown>;
29
+ wait(timeout?: number): Promise<unknown>;
29
30
  term({ signal, timeout }?: {
30
31
  signal?: NodeJS.Signals | undefined;
31
32
  timeout?: number | undefined;
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_SIGTERM_TIMEOUT } from ".";
1
2
  import { NO_TIMEOUT, SIGTERM } from "../StartSdk";
2
3
  import { Overlay } from "../util/Overlay";
3
4
  import { splitCommand } from "../util/splitCommand";
@@ -6,10 +7,12 @@ export class CommandController {
6
7
  runningAnswer;
7
8
  overlay;
8
9
  pid;
9
- constructor(runningAnswer, overlay, pid) {
10
+ sigtermTimeout;
11
+ constructor(runningAnswer, overlay, pid, sigtermTimeout = DEFAULT_SIGTERM_TIMEOUT) {
10
12
  this.runningAnswer = runningAnswer;
11
13
  this.overlay = overlay;
12
14
  this.pid = pid;
15
+ this.sigtermTimeout = sigtermTimeout;
13
16
  }
14
17
  static of() {
15
18
  return async (effects, imageId, command, options) => {
@@ -38,10 +41,14 @@ export class CommandController {
38
41
  });
39
42
  });
40
43
  const pid = childProcess.pid;
41
- return new CommandController(answer, overlay, pid);
44
+ return new CommandController(answer, overlay, pid, options.sigtermTimeout);
42
45
  };
43
46
  }
44
- async wait() {
47
+ async wait(timeout = NO_TIMEOUT) {
48
+ if (timeout > 0)
49
+ setTimeout(() => {
50
+ this.term();
51
+ }, timeout);
45
52
  try {
46
53
  return await this.runningAnswer;
47
54
  }
@@ -52,7 +59,7 @@ export class CommandController {
52
59
  await this.overlay.destroy().catch((_) => { });
53
60
  }
54
61
  }
55
- async term({ signal = SIGTERM, timeout = NO_TIMEOUT } = {}) {
62
+ async term({ signal = SIGTERM, timeout = this.sigtermTimeout } = {}) {
56
63
  if (this.pid === undefined)
57
64
  return;
58
65
  try {
@@ -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,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { SDKManifest } from "../manifest/ManifestTypes";
4
- import { Effects, ImageId, ValidIfNoStupidEscape } from "../types";
3
+ import * as T from "../types";
5
4
  import { MountOptions, Overlay } from "../util/Overlay";
6
5
  /**
7
6
  * This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
@@ -12,10 +11,10 @@ export declare class Daemon {
12
11
  private commandController;
13
12
  private shouldBeRunning;
14
13
  private constructor();
15
- static of<Manifest extends SDKManifest>(): <A extends string>(effects: Effects, imageId: {
16
- id: keyof Manifest["images"] & ImageId;
14
+ static of<Manifest extends T.Manifest>(): <A extends string>(effects: T.Effects, imageId: {
15
+ id: keyof Manifest["images"] & T.ImageId;
17
16
  sharedRun?: boolean;
18
- }, command: [string, ...string[]] | ValidIfNoStupidEscape<A>, options: {
17
+ }, command: T.CommandType, options: {
19
18
  mounts?: {
20
19
  path: string;
21
20
  options: MountOptions;
@@ -28,6 +27,7 @@ export declare class Daemon {
28
27
  user?: string | undefined;
29
28
  onStdout?: ((x: Buffer) => void) | undefined;
30
29
  onStderr?: ((x: Buffer) => void) | undefined;
30
+ sigtermTimeout?: number | undefined;
31
31
  }) => Promise<Daemon>;
32
32
  start(): Promise<void>;
33
33
  term(termOptions?: {
@@ -1 +1 @@
1
- {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../lib/mainFn/Daemon.ts"],"names":[],"mappings":"AAGA,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,OAAgB,EAChB,OAGC,EACD,OAAyD,EACzD,OAYC,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":"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"}
@@ -3,9 +3,8 @@
3
3
  import { Signals } from "../StartSdk";
4
4
  import { HealthReceipt } from "../health/HealthReceipt";
5
5
  import { CheckResult } from "../health/checkFns";
6
- import { SDKManifest } from "../manifest/ManifestTypes";
7
6
  import { Trigger } from "../trigger";
8
- import { Effects, ImageId, ValidIfNoStupidEscape } from "../types";
7
+ import * as T from "../types";
9
8
  import { Mounts } from "./Mounts";
10
9
  import { MountOptions, Overlay } from "../util/Overlay";
11
10
  import * as CP from "node:child_process";
@@ -21,22 +20,24 @@ export type Ready = {
21
20
  fn: () => Promise<CheckResult> | CheckResult;
22
21
  trigger?: Trigger;
23
22
  };
24
- type DaemonsParams<Manifest extends SDKManifest, Ids extends string, Command extends string, Id extends string> = {
25
- command: ValidIfNoStupidEscape<Command> | [string, ...string[]];
23
+ type DaemonsParams<Manifest extends T.Manifest, Ids extends string, Command extends string, Id extends string> = {
24
+ command: T.CommandType;
26
25
  image: {
27
- id: keyof Manifest["images"] & ImageId;
26
+ id: keyof Manifest["images"] & T.ImageId;
28
27
  sharedRun?: boolean;
29
28
  };
30
29
  mounts: Mounts<Manifest>;
31
30
  env?: Record<string, string>;
32
31
  ready: Ready;
33
32
  requires: Exclude<Ids, Id>[];
33
+ sigtermTimeout?: number;
34
34
  };
35
35
  type ErrorDuplicateId<Id extends string> = `The id '${Id}' is already used`;
36
- export declare const runCommand: <Manifest extends SDKManifest>() => <A extends string>(effects: Effects, imageId: {
36
+ export declare const runCommand: <Manifest extends T.Manifest>() => <A extends string>(effects: T.Effects, imageId: {
37
37
  id: keyof Manifest["images"] & string;
38
38
  sharedRun?: boolean | undefined;
39
- }, command: [string, ...string[]] | ValidIfNoStupidEscape<A>, options: {
39
+ }, command: T.CommandType, options: {
40
+ sigtermTimeout?: number | undefined;
40
41
  mounts?: {
41
42
  path: string;
42
43
  options: MountOptions;
@@ -73,8 +74,8 @@ Daemons.of({
73
74
  })
74
75
  ```
75
76
  */
76
- export declare class Daemons<Manifest extends SDKManifest, Ids extends string> {
77
- readonly effects: Effects;
77
+ export declare class Daemons<Manifest extends T.Manifest, Ids extends string> {
78
+ readonly effects: T.Effects;
78
79
  readonly started: (onTerm: () => PromiseLike<void>) => PromiseLike<void>;
79
80
  readonly daemons: Promise<Daemon>[];
80
81
  readonly ids: Ids[];
@@ -90,8 +91,8 @@ export declare class Daemons<Manifest extends SDKManifest, Ids extends string> {
90
91
  * @param config
91
92
  * @returns
92
93
  */
93
- static of<Manifest extends SDKManifest>(config: {
94
- effects: Effects;
94
+ static of<Manifest extends T.Manifest>(config: {
95
+ effects: T.Effects;
95
96
  started: (onTerm: () => PromiseLike<void>) => PromiseLike<void>;
96
97
  healthReceipts: HealthReceipt[];
97
98
  }): Daemons<Manifest, never>;
@@ -74,7 +74,7 @@ export class Daemons {
74
74
  const healthDaemon = new HealthDaemon(daemon, daemonIndex, options.requires
75
75
  .map((x) => this.ids.indexOf(id))
76
76
  .filter((x) => x >= 0)
77
- .map((id) => this.healthDaemons[id]), id, this.ids, options.ready, this.effects);
77
+ .map((id) => this.healthDaemons[id]), id, this.ids, options.ready, this.effects, options.sigtermTimeout);
78
78
  const daemons = this.daemons.concat(daemon);
79
79
  const ids = [...this.ids, id];
80
80
  const healthDaemons = [...this.healthDaemons, healthDaemon];
@@ -83,7 +83,7 @@ export class Daemons {
83
83
  async build() {
84
84
  this.updateMainHealth();
85
85
  this.healthDaemons.forEach((x) => x.addWatcher(() => this.updateMainHealth()));
86
- return {
86
+ const built = {
87
87
  term: async (options) => {
88
88
  try {
89
89
  await Promise.all(this.healthDaemons.map((x) => x.term(options)));
@@ -93,14 +93,11 @@ export class Daemons {
93
93
  }
94
94
  },
95
95
  };
96
+ this.started(() => built.term());
97
+ return built;
96
98
  }
97
99
  updateMainHealth() {
98
- if (this.healthDaemons.every((x) => x.health.status === "success")) {
99
- this.effects.setMainStatus({ status: "running" });
100
- }
101
- else {
102
- this.effects.setMainStatus({ status: "starting" });
103
- }
100
+ this.effects.setMainStatus({ status: "running" });
104
101
  }
105
102
  }
106
103
  //# sourceMappingURL=Daemons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../lib/mainFn/Daemons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../lib/mainFn/Daemons.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ export declare class HealthDaemon {
19
19
  readonly ids: string[];
20
20
  readonly ready: Ready;
21
21
  readonly effects: Effects;
22
- constructor(daemon: Promise<Daemon>, daemonIndex: number, dependencies: HealthDaemon[], id: string, ids: string[], ready: Ready, effects: Effects);
22
+ readonly sigtermTimeout: number;
23
+ constructor(daemon: Promise<Daemon>, daemonIndex: number, dependencies: HealthDaemon[], id: string, ids: string[], ready: Ready, effects: Effects, sigtermTimeout?: number);
23
24
  /** Run after we want to do cleanup */
24
25
  term(termOptions?: {
25
26
  signal?: NodeJS.Signals | undefined;
@@ -1,4 +1,5 @@
1
1
  import { defaultTrigger } from "../trigger/defaultTrigger";
2
+ import { DEFAULT_SIGTERM_TIMEOUT } from ".";
2
3
  const oncePromise = () => {
3
4
  let resolve;
4
5
  const promise = new Promise((res) => {
@@ -21,11 +22,12 @@ export class HealthDaemon {
21
22
  ids;
22
23
  ready;
23
24
  effects;
25
+ sigtermTimeout;
24
26
  #health = { status: "starting", message: null };
25
27
  #healthWatchers = [];
26
28
  #running = false;
27
29
  #hadSuccess = false;
28
- constructor(daemon, daemonIndex, dependencies, id, ids, ready, effects) {
30
+ constructor(daemon, daemonIndex, dependencies, id, ids, ready, effects, sigtermTimeout = DEFAULT_SIGTERM_TIMEOUT) {
29
31
  this.daemon = daemon;
30
32
  this.daemonIndex = daemonIndex;
31
33
  this.dependencies = dependencies;
@@ -33,6 +35,7 @@ export class HealthDaemon {
33
35
  this.ids = ids;
34
36
  this.ready = ready;
35
37
  this.effects = effects;
38
+ this.sigtermTimeout = sigtermTimeout;
36
39
  this.updateStatus();
37
40
  this.dependencies.forEach((d) => d.addWatcher(() => this.updateStatus()));
38
41
  }
@@ -41,7 +44,10 @@ export class HealthDaemon {
41
44
  this.#healthWatchers = [];
42
45
  this.#running = false;
43
46
  this.#healthCheckCleanup?.();
44
- await this.daemon.then((d) => d.stop(termOptions));
47
+ await this.daemon.then((d) => d.stop({
48
+ timeout: this.sigtermTimeout,
49
+ ...termOptions,
50
+ }));
45
51
  }
46
52
  /** Want to add another notifier that the health might have changed */
47
53
  addWatcher(watcher) {
@@ -112,7 +118,7 @@ export class HealthDaemon {
112
118
  this.effects.setHealth({
113
119
  result: status,
114
120
  message: health.message,
115
- id: display,
121
+ id: this.id,
116
122
  name: display,
117
123
  });
118
124
  }
@@ -120,7 +126,7 @@ export class HealthDaemon {
120
126
  this.effects.setHealth({
121
127
  result: health.status,
122
128
  message: health.message || "",
123
- id: display,
129
+ id: this.id,
124
130
  name: display,
125
131
  });
126
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HealthDaemon.js","sourceRoot":"","sources":["../../../../lib/mainFn/HealthDaemon.ts"],"names":[],"mappings":"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"}
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"}