@start9labs/start-sdk 0.4.0-beta.4 → 0.4.0-beta.40

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 (324) hide show
  1. package/base/lib/Effects.d.ts +6 -34
  2. package/base/lib/actions/index.d.ts +13 -14
  3. package/base/lib/actions/index.js +4 -4
  4. package/base/lib/actions/index.js.map +1 -1
  5. package/base/lib/actions/input/builder/inputSpec.d.ts +16 -26
  6. package/base/lib/actions/input/builder/inputSpec.js +9 -24
  7. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  8. package/base/lib/actions/input/builder/list.d.ts +13 -24
  9. package/base/lib/actions/input/builder/list.js +19 -30
  10. package/base/lib/actions/input/builder/list.js.map +1 -1
  11. package/base/lib/actions/input/builder/value.d.ts +394 -64
  12. package/base/lib/actions/input/builder/value.js +542 -213
  13. package/base/lib/actions/input/builder/value.js.map +1 -1
  14. package/base/lib/actions/input/builder/variants.d.ts +27 -24
  15. package/base/lib/actions/input/builder/variants.js +25 -24
  16. package/base/lib/actions/input/builder/variants.js.map +1 -1
  17. package/base/lib/actions/input/inputSpecConstants.d.ts +25 -17
  18. package/base/lib/actions/input/inputSpecConstants.js +16 -12
  19. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  20. package/base/lib/actions/input/inputSpecTypes.d.ts +0 -3
  21. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  22. package/base/lib/actions/setupActions.d.ts +21 -15
  23. package/base/lib/actions/setupActions.js +42 -7
  24. package/base/lib/actions/setupActions.js.map +1 -1
  25. package/base/lib/dependencies/dependencies.d.ts +7 -3
  26. package/base/lib/dependencies/dependencies.js +34 -25
  27. package/base/lib/dependencies/dependencies.js.map +1 -1
  28. package/base/lib/dependencies/setupDependencies.d.ts +2 -4
  29. package/base/lib/dependencies/setupDependencies.js +3 -10
  30. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  31. package/base/lib/exver/index.js +1 -1
  32. package/base/lib/exver/index.js.map +1 -1
  33. package/base/lib/index.d.ts +1 -0
  34. package/base/lib/index.js +2 -1
  35. package/base/lib/index.js.map +1 -1
  36. package/base/lib/inits/index.d.ts +2 -0
  37. package/base/lib/inits/index.js +19 -0
  38. package/base/lib/inits/index.js.map +1 -0
  39. package/base/lib/inits/setupInit.d.ts +9 -0
  40. package/base/lib/inits/setupInit.js +40 -0
  41. package/base/lib/inits/setupInit.js.map +1 -0
  42. package/base/lib/inits/setupUninit.d.ts +25 -0
  43. package/base/lib/inits/setupUninit.js +24 -0
  44. package/base/lib/inits/setupUninit.js.map +1 -0
  45. package/base/lib/interfaces/Host.js +18 -6
  46. package/base/lib/interfaces/Host.js.map +1 -1
  47. package/base/lib/interfaces/Origin.d.ts +2 -2
  48. package/base/lib/interfaces/Origin.js +3 -3
  49. package/base/lib/interfaces/Origin.js.map +1 -1
  50. package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +2 -2
  51. package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
  52. package/base/lib/interfaces/setupInterfaces.js +8 -17
  53. package/base/lib/interfaces/setupInterfaces.js.map +1 -1
  54. package/base/lib/osBindings/ActionInput.d.ts +2 -0
  55. package/base/lib/osBindings/ActionInput.js +0 -1
  56. package/base/lib/osBindings/ActionInput.js.map +1 -1
  57. package/base/lib/osBindings/AddCategoryParams.d.ts +0 -2
  58. package/base/lib/osBindings/AddPackageToCategoryParams.d.ts +5 -0
  59. package/base/lib/osBindings/AddPackageToCategoryParams.js +3 -0
  60. package/base/lib/osBindings/AddPackageToCategoryParams.js.map +1 -0
  61. package/base/lib/osBindings/AddProxyParams.d.ts +5 -0
  62. package/base/lib/osBindings/AddProxyParams.js +4 -0
  63. package/base/lib/osBindings/AddProxyParams.js.map +1 -0
  64. package/base/lib/osBindings/AddTunnelParams.d.ts +5 -0
  65. package/base/lib/osBindings/AddTunnelParams.js +4 -0
  66. package/base/lib/osBindings/AddTunnelParams.js.map +1 -0
  67. package/base/lib/osBindings/AttachParams.d.ts +1 -0
  68. package/base/lib/osBindings/BindingGatewaySetEnabledParams.d.ts +6 -0
  69. package/base/lib/osBindings/BindingGatewaySetEnabledParams.js +3 -0
  70. package/base/lib/osBindings/BindingGatewaySetEnabledParams.js.map +1 -0
  71. package/base/lib/osBindings/Category.d.ts +0 -2
  72. package/base/lib/osBindings/Category.js +1 -0
  73. package/base/lib/osBindings/Category.js.map +1 -1
  74. package/base/lib/osBindings/CheckDependenciesResult.d.ts +3 -3
  75. package/base/lib/osBindings/ClearTasksParams.d.ts +5 -0
  76. package/base/lib/osBindings/ClearTasksParams.js +4 -0
  77. package/base/lib/osBindings/ClearTasksParams.js.map +1 -0
  78. package/base/lib/osBindings/CreateTaskParams.d.ts +15 -0
  79. package/base/lib/osBindings/CreateTaskParams.js +3 -0
  80. package/base/lib/osBindings/CreateTaskParams.js.map +1 -0
  81. package/base/lib/osBindings/DepInfo.d.ts +2 -3
  82. package/base/lib/osBindings/DnsSettings.d.ts +4 -0
  83. package/base/lib/osBindings/DnsSettings.js +4 -0
  84. package/base/lib/osBindings/DnsSettings.js.map +1 -0
  85. package/base/lib/osBindings/DomainConfig.d.ts +1 -0
  86. package/base/lib/osBindings/DomainSettings.d.ts +4 -0
  87. package/base/lib/osBindings/DomainSettings.js +3 -0
  88. package/base/lib/osBindings/DomainSettings.js.map +1 -0
  89. package/base/lib/osBindings/Domains.d.ts +7 -0
  90. package/base/lib/osBindings/Domains.js +3 -0
  91. package/base/lib/osBindings/Domains.js.map +1 -0
  92. package/base/lib/osBindings/EventId.d.ts +4 -0
  93. package/base/lib/osBindings/EventId.js +3 -0
  94. package/base/lib/osBindings/EventId.js.map +1 -0
  95. package/base/lib/osBindings/FileType.d.ts +1 -0
  96. package/base/lib/osBindings/FileType.js +4 -0
  97. package/base/lib/osBindings/FileType.js.map +1 -0
  98. package/base/lib/osBindings/ForgetGatewayParams.d.ts +4 -0
  99. package/base/lib/osBindings/ForgetGatewayParams.js +3 -0
  100. package/base/lib/osBindings/ForgetGatewayParams.js.map +1 -0
  101. package/base/lib/osBindings/ForgetInterfaceParams.d.ts +2 -1
  102. package/base/lib/osBindings/ForgetInterfaceParams.js +0 -1
  103. package/base/lib/osBindings/ForgetInterfaceParams.js.map +1 -1
  104. package/base/lib/osBindings/GatewayId.d.ts +1 -0
  105. package/base/lib/osBindings/GatewayId.js +4 -0
  106. package/base/lib/osBindings/GatewayId.js.map +1 -0
  107. package/base/lib/osBindings/GatewayInfo.d.ts +6 -0
  108. package/base/lib/osBindings/GatewayInfo.js +3 -0
  109. package/base/lib/osBindings/GatewayInfo.js.map +1 -0
  110. package/base/lib/osBindings/GetOsVersionParams.d.ts +3 -3
  111. package/base/lib/osBindings/GetPackageParams.d.ts +1 -1
  112. package/base/lib/osBindings/Host.d.ts +4 -3
  113. package/base/lib/osBindings/HostnameInfo.d.ts +2 -1
  114. package/base/lib/osBindings/IpHostname.d.ts +1 -2
  115. package/base/lib/osBindings/IpInfo.d.ts +2 -0
  116. package/base/lib/osBindings/LoginParams.d.ts +1 -2
  117. package/base/lib/osBindings/LoginParams.js +1 -0
  118. package/base/lib/osBindings/LoginParams.js.map +1 -1
  119. package/base/lib/osBindings/MainStatus.d.ts +0 -2
  120. package/base/lib/osBindings/Manifest.d.ts +3 -1
  121. package/base/lib/osBindings/Metadata.d.ts +5 -0
  122. package/base/lib/osBindings/Metadata.js +3 -0
  123. package/base/lib/osBindings/Metadata.js.map +1 -0
  124. package/base/lib/osBindings/MetadataSrc.d.ts +7 -0
  125. package/base/lib/osBindings/MetadataSrc.js +3 -0
  126. package/base/lib/osBindings/MetadataSrc.js.map +1 -0
  127. package/base/lib/osBindings/MountTarget.d.ts +2 -0
  128. package/base/lib/osBindings/NetInfo.d.ts +3 -1
  129. package/base/lib/osBindings/NetInfo.js +0 -1
  130. package/base/lib/osBindings/NetInfo.js.map +1 -1
  131. package/base/lib/osBindings/NetworkInfo.d.ts +5 -2
  132. package/base/lib/osBindings/NetworkInterfaceInfo.d.ts +3 -2
  133. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.d.ts +2 -1
  134. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js +0 -1
  135. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +1 -1
  136. package/base/lib/osBindings/PackageDataEntry.d.ts +5 -5
  137. package/base/lib/osBindings/PackageVersionInfo.d.ts +2 -0
  138. package/base/lib/osBindings/Progress.d.ts +2 -0
  139. package/base/lib/osBindings/Progress.js +0 -1
  140. package/base/lib/osBindings/Progress.js.map +1 -1
  141. package/base/lib/osBindings/ProgressUnits.d.ts +1 -0
  142. package/base/lib/osBindings/ProgressUnits.js +4 -0
  143. package/base/lib/osBindings/ProgressUnits.js.map +1 -0
  144. package/base/lib/osBindings/Proxies.d.ts +4 -0
  145. package/base/lib/osBindings/Proxies.js +3 -0
  146. package/base/lib/osBindings/Proxies.js.map +1 -0
  147. package/base/lib/osBindings/ProxyInfo.d.ts +4 -0
  148. package/base/lib/osBindings/ProxyInfo.js +4 -0
  149. package/base/lib/osBindings/ProxyInfo.js.map +1 -0
  150. package/base/lib/osBindings/PublicDomainConfig.d.ts +6 -0
  151. package/base/lib/osBindings/PublicDomainConfig.js +3 -0
  152. package/base/lib/osBindings/PublicDomainConfig.js.map +1 -0
  153. package/base/lib/osBindings/RemoveAdminParams.d.ts +4 -0
  154. package/base/lib/osBindings/RemoveAdminParams.js +3 -0
  155. package/base/lib/osBindings/RemoveAdminParams.js.map +1 -0
  156. package/base/lib/osBindings/RemoveAssetParams.d.ts +4 -0
  157. package/base/lib/osBindings/RemoveAssetParams.js +4 -0
  158. package/base/lib/osBindings/RemoveAssetParams.js.map +1 -0
  159. package/base/lib/osBindings/RemovePackageFromCategoryParams.d.ts +5 -0
  160. package/base/lib/osBindings/RemovePackageFromCategoryParams.js +3 -0
  161. package/base/lib/osBindings/RemovePackageFromCategoryParams.js.map +1 -0
  162. package/base/lib/osBindings/RemovePackageParams.d.ts +6 -0
  163. package/base/lib/osBindings/RemovePackageParams.js +3 -0
  164. package/base/lib/osBindings/RemovePackageParams.js.map +1 -0
  165. package/base/lib/osBindings/RemoveProxyParams.d.ts +3 -0
  166. package/base/lib/osBindings/RemoveProxyParams.js +4 -0
  167. package/base/lib/osBindings/RemoveProxyParams.js.map +1 -0
  168. package/base/lib/osBindings/RemoveTunnelParams.d.ts +4 -0
  169. package/base/lib/osBindings/RemoveTunnelParams.js +3 -0
  170. package/base/lib/osBindings/RemoveTunnelParams.js.map +1 -0
  171. package/base/lib/osBindings/RenameGatewayParams.d.ts +5 -0
  172. package/base/lib/osBindings/RenameGatewayParams.js +3 -0
  173. package/base/lib/osBindings/RenameGatewayParams.js.map +1 -0
  174. package/base/lib/osBindings/RenameInterfaceParams.d.ts +5 -0
  175. package/base/lib/osBindings/RenameInterfaceParams.js +3 -0
  176. package/base/lib/osBindings/RenameInterfaceParams.js.map +1 -0
  177. package/base/lib/osBindings/ServerInfo.d.ts +2 -1
  178. package/base/lib/osBindings/Sessions.d.ts +2 -5
  179. package/base/lib/osBindings/Sessions.js +0 -1
  180. package/base/lib/osBindings/Sessions.js.map +1 -1
  181. package/base/lib/osBindings/SetupExecuteParams.d.ts +1 -0
  182. package/base/lib/osBindings/Task.d.ts +13 -0
  183. package/base/lib/osBindings/Task.js +3 -0
  184. package/base/lib/osBindings/Task.js.map +1 -0
  185. package/base/lib/osBindings/TaskCondition.d.ts +1 -0
  186. package/base/lib/osBindings/TaskCondition.js +4 -0
  187. package/base/lib/osBindings/TaskCondition.js.map +1 -0
  188. package/base/lib/osBindings/TaskEntry.d.ts +5 -0
  189. package/base/lib/osBindings/TaskEntry.js +3 -0
  190. package/base/lib/osBindings/TaskEntry.js.map +1 -0
  191. package/base/lib/osBindings/TaskInput.d.ts +4 -0
  192. package/base/lib/osBindings/TaskInput.js +4 -0
  193. package/base/lib/osBindings/TaskInput.js.map +1 -0
  194. package/base/lib/osBindings/TaskSeverity.d.ts +1 -0
  195. package/base/lib/osBindings/TaskSeverity.js +4 -0
  196. package/base/lib/osBindings/TaskSeverity.js.map +1 -0
  197. package/base/lib/osBindings/TaskTrigger.d.ts +5 -0
  198. package/base/lib/osBindings/TaskTrigger.js +3 -0
  199. package/base/lib/osBindings/TaskTrigger.js.map +1 -0
  200. package/base/lib/osBindings/UnsetInboundParams.d.ts +2 -1
  201. package/base/lib/osBindings/UnsetInboundParams.js +0 -1
  202. package/base/lib/osBindings/UnsetInboundParams.js.map +1 -1
  203. package/base/lib/osBindings/UnsetPublicParams.d.ts +2 -1
  204. package/base/lib/osBindings/UnsetPublicParams.js +0 -1
  205. package/base/lib/osBindings/UnsetPublicParams.js.map +1 -1
  206. package/base/lib/osBindings/UpdatingState.d.ts +1 -0
  207. package/base/lib/osBindings/index.d.ts +30 -18
  208. package/base/lib/s9pk/index.d.ts +2 -3
  209. package/base/lib/s9pk/index.js +9 -15
  210. package/base/lib/s9pk/index.js.map +1 -1
  211. package/base/lib/types/ManifestTypes.d.ts +4 -0
  212. package/base/lib/types.d.ts +23 -34
  213. package/base/lib/types.js +13 -0
  214. package/base/lib/types.js.map +1 -1
  215. package/base/lib/util/Drop.d.ts +47 -0
  216. package/base/lib/util/Drop.js +130 -0
  217. package/base/lib/util/Drop.js.map +1 -0
  218. package/base/lib/util/GetSystemSmtp.d.ts +11 -2
  219. package/base/lib/util/GetSystemSmtp.js +33 -7
  220. package/base/lib/util/GetSystemSmtp.js.map +1 -1
  221. package/base/lib/util/deepMerge.js +6 -1
  222. package/base/lib/util/deepMerge.js.map +1 -1
  223. package/base/lib/util/getServiceInterface.d.ts +53 -5
  224. package/base/lib/util/getServiceInterface.js +54 -19
  225. package/base/lib/util/getServiceInterface.js.map +1 -1
  226. package/base/lib/util/getServiceInterfaces.d.ts +11 -2
  227. package/base/lib/util/getServiceInterfaces.js +33 -7
  228. package/base/lib/util/getServiceInterfaces.js.map +1 -1
  229. package/base/lib/util/graph.d.ts +1 -0
  230. package/base/lib/util/graph.js +12 -0
  231. package/base/lib/util/graph.js.map +1 -1
  232. package/base/lib/util/index.d.ts +1 -2
  233. package/base/lib/util/index.js +5 -8
  234. package/base/lib/util/index.js.map +1 -1
  235. package/base/lib/util/ip.d.ts +19 -0
  236. package/base/lib/util/ip.js +92 -0
  237. package/base/lib/util/ip.js.map +1 -0
  238. package/package/lib/StartSdk.d.ts +116 -572
  239. package/package/lib/StartSdk.js +111 -435
  240. package/package/lib/StartSdk.js.map +1 -1
  241. package/package/lib/backup/Backups.d.ts +9 -3
  242. package/package/lib/backup/Backups.js +38 -28
  243. package/package/lib/backup/Backups.js.map +1 -1
  244. package/package/lib/backup/setupBackups.d.ts +5 -2
  245. package/package/lib/backup/setupBackups.js +7 -5
  246. package/package/lib/backup/setupBackups.js.map +1 -1
  247. package/package/lib/health/HealthCheck.d.ts +0 -1
  248. package/package/lib/health/HealthCheck.js +1 -7
  249. package/package/lib/health/HealthCheck.js.map +1 -1
  250. package/package/lib/health/checkFns/runHealthScript.js +1 -1
  251. package/package/lib/health/checkFns/runHealthScript.js.map +1 -1
  252. package/package/lib/index.d.ts +0 -3
  253. package/package/lib/index.js +1 -8
  254. package/package/lib/index.js.map +1 -1
  255. package/package/lib/inits/index.d.ts +2 -3
  256. package/package/lib/inits/index.js +16 -3
  257. package/package/lib/inits/index.js.map +1 -1
  258. package/package/lib/inits/setupInit.d.ts +7 -13
  259. package/package/lib/inits/setupInit.js +22 -48
  260. package/package/lib/inits/setupInit.js.map +1 -1
  261. package/package/lib/inits/setupInstall.d.ts +10 -10
  262. package/package/lib/inits/setupInstall.js.map +1 -1
  263. package/package/lib/inits/setupUninit.d.ts +7 -0
  264. package/package/lib/inits/setupUninit.js +14 -0
  265. package/package/lib/inits/setupUninit.js.map +1 -0
  266. package/package/lib/inits/setupUninstall.d.ts +5 -5
  267. package/package/lib/inits/setupUninstall.js.map +1 -1
  268. package/package/lib/mainFn/CommandController.d.ts +6 -22
  269. package/package/lib/mainFn/CommandController.js +68 -41
  270. package/package/lib/mainFn/CommandController.js.map +1 -1
  271. package/package/lib/mainFn/Daemon.d.ts +15 -20
  272. package/package/lib/mainFn/Daemon.js +71 -17
  273. package/package/lib/mainFn/Daemon.js.map +1 -1
  274. package/package/lib/mainFn/Daemons.d.ts +76 -44
  275. package/package/lib/mainFn/Daemons.js +105 -29
  276. package/package/lib/mainFn/Daemons.js.map +1 -1
  277. package/package/lib/mainFn/HealthDaemon.d.ts +6 -5
  278. package/package/lib/mainFn/HealthDaemon.js +79 -38
  279. package/package/lib/mainFn/HealthDaemon.js.map +1 -1
  280. package/package/lib/mainFn/Mounts.d.ts +32 -45
  281. package/package/lib/mainFn/Mounts.js +13 -55
  282. package/package/lib/mainFn/Mounts.js.map +1 -1
  283. package/package/lib/mainFn/Oneshot.d.ts +12 -0
  284. package/package/lib/mainFn/Oneshot.js +23 -0
  285. package/package/lib/mainFn/Oneshot.js.map +1 -0
  286. package/package/lib/mainFn/index.d.ts +1 -1
  287. package/package/lib/manifest/setupManifest.js +3 -0
  288. package/package/lib/manifest/setupManifest.js.map +1 -1
  289. package/package/lib/test/host.test.js +1 -1
  290. package/package/lib/test/host.test.js.map +1 -1
  291. package/package/lib/test/inputSpecBuilder.test.js +153 -158
  292. package/package/lib/test/inputSpecBuilder.test.js.map +1 -1
  293. package/package/lib/test/output.d.ts +8 -37
  294. package/package/lib/test/output.js +41 -40
  295. package/package/lib/test/output.js.map +1 -1
  296. package/package/lib/test/output.sdk.d.ts +154 -949
  297. package/package/lib/test/output.sdk.js +1 -4
  298. package/package/lib/test/output.sdk.js.map +1 -1
  299. package/package/lib/test/output.test.js +12 -8
  300. package/package/lib/test/output.test.js.map +1 -1
  301. package/package/lib/util/Drop.d.ts +4 -2
  302. package/package/lib/util/Drop.js +29 -7
  303. package/package/lib/util/Drop.js.map +1 -1
  304. package/package/lib/util/GetSslCertificate.d.ts +11 -2
  305. package/package/lib/util/GetSslCertificate.js +33 -7
  306. package/package/lib/util/GetSslCertificate.js.map +1 -1
  307. package/package/lib/util/SubContainer.d.ts +131 -37
  308. package/package/lib/util/SubContainer.js +155 -42
  309. package/package/lib/util/SubContainer.js.map +1 -1
  310. package/package/lib/util/fileHelper.d.ts +50 -17
  311. package/package/lib/util/fileHelper.js +166 -52
  312. package/package/lib/util/fileHelper.js.map +1 -1
  313. package/package/lib/util/index.d.ts +1 -2
  314. package/package/lib/util/index.js +2 -4
  315. package/package/lib/util/index.js.map +1 -1
  316. package/package/lib/version/VersionGraph.d.ts +27 -5
  317. package/package/lib/version/VersionGraph.js +110 -24
  318. package/package/lib/version/VersionGraph.js.map +1 -1
  319. package/package/lib/version/VersionInfo.d.ts +8 -3
  320. package/package/lib/version/VersionInfo.js.map +1 -1
  321. package/package/package.json +63 -0
  322. package/package/scripts/oldSpecToBuilder.js +5 -4
  323. package/package/scripts/oldSpecToBuilder.js.map +1 -1
  324. package/package.json +7 -8
@@ -34,12 +34,42 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.FileHelper = void 0;
37
+ const matches = __importStar(require("ts-matches"));
37
38
  const YAML = __importStar(require("yaml"));
38
39
  const TOML = __importStar(require("@iarna/toml"));
39
40
  const INI = __importStar(require("ini"));
40
41
  const fs = __importStar(require("node:fs/promises"));
41
42
  const util_1 = require("../../../base/lib/util");
43
+ const Drop_1 = require("../../../base/lib/util/Drop");
42
44
  const previousPath = /(.+?)\/([^/]*)$/;
45
+ const deepEq = (left, right) => {
46
+ if (left === right)
47
+ return true;
48
+ if (Array.isArray(left) && Array.isArray(right)) {
49
+ if (left.length === right.length) {
50
+ for (const idx in left) {
51
+ if (!deepEq(left[idx], right[idx]))
52
+ return false;
53
+ }
54
+ return true;
55
+ }
56
+ }
57
+ else if (typeof left === "object" &&
58
+ typeof right === "object" &&
59
+ left &&
60
+ right) {
61
+ const keys = new Set([
62
+ ...Object.keys(left),
63
+ ...Object.keys(right),
64
+ ]);
65
+ for (let key of keys) {
66
+ if (!deepEq(left[key], right[key]))
67
+ return false;
68
+ }
69
+ return true;
70
+ }
71
+ return false;
72
+ };
43
73
  const exists = (path) => fs.access(path).then(() => true, () => false);
44
74
  async function onCreated(path) {
45
75
  if (path === "/")
@@ -55,8 +85,12 @@ async function onCreated(path) {
55
85
  await onCreated(parent);
56
86
  const ctrl = new AbortController();
57
87
  const watch = fs.watch(parent, { persistent: false, signal: ctrl.signal });
88
+ if (await exists(path)) {
89
+ ctrl.abort();
90
+ return;
91
+ }
58
92
  if (await fs.access(path).then(() => true, () => false)) {
59
- ctrl.abort("finished");
93
+ ctrl.abort();
60
94
  return;
61
95
  }
62
96
  for await (let event of watch) {
@@ -71,7 +105,9 @@ function fileMerge(...args) {
71
105
  for (const arg of args) {
72
106
  if (res === arg)
73
107
  continue;
74
- else if (typeof res === "object" &&
108
+ else if (res &&
109
+ arg &&
110
+ typeof res === "object" &&
75
111
  typeof arg === "object" &&
76
112
  !Array.isArray(res) &&
77
113
  !Array.isArray(arg)) {
@@ -84,6 +120,25 @@ function fileMerge(...args) {
84
120
  }
85
121
  return res;
86
122
  }
123
+ function filterUndefined(a) {
124
+ if (a && typeof a === "object") {
125
+ if (Array.isArray(a)) {
126
+ return a.map(filterUndefined);
127
+ }
128
+ return Object.entries(a).reduce((acc, [k, v]) => {
129
+ if (v !== undefined) {
130
+ acc[k] = filterUndefined(v);
131
+ }
132
+ return acc;
133
+ }, {});
134
+ }
135
+ return a;
136
+ }
137
+ function toPath(path) {
138
+ return typeof path === "string"
139
+ ? path
140
+ : `/media/startos/volumes/${path.volumeId}/${path.subpath}`;
141
+ }
87
142
  /**
88
143
  * @description Use this class to read/write an underlying configuration file belonging to the upstream service.
89
144
  *
@@ -162,44 +217,53 @@ class FileHelper {
162
217
  /**
163
218
  * Reads the file from disk and converts it to structured data.
164
219
  */
165
- async readOnce() {
220
+ async readOnce(map) {
166
221
  const data = await this.readFile();
167
222
  if (!data)
168
223
  return null;
169
- return this.validate(data);
224
+ return map(this.validate(data));
170
225
  }
171
- async readConst(effects) {
172
- const watch = this.readWatch(effects);
226
+ async readConst(effects, map, eq) {
227
+ const watch = this.readWatch(effects, map, eq);
173
228
  const res = await watch.next();
174
229
  if (effects.constRetry) {
175
- if (!this.consts.includes(effects.constRetry))
176
- this.consts.push(effects.constRetry);
230
+ const record = [
231
+ effects.constRetry,
232
+ res.value,
233
+ map,
234
+ eq,
235
+ ];
236
+ this.consts.push(record);
177
237
  watch.next().then(() => {
178
- this.consts = this.consts.filter((a) => a === effects.constRetry);
238
+ this.consts = this.consts.filter((r) => r !== record);
179
239
  effects.constRetry && effects.constRetry();
180
240
  });
181
241
  }
182
242
  return res.value;
183
243
  }
184
- async *readWatch(effects) {
185
- let res;
186
- while (effects.isInContext) {
244
+ async *readWatch(effects, map, eq, abort) {
245
+ let prev = null;
246
+ while (effects.isInContext && !abort?.aborted) {
187
247
  if (await exists(this.path)) {
188
248
  const ctrl = new AbortController();
249
+ abort?.addEventListener("abort", () => ctrl.abort());
189
250
  const watch = fs.watch(this.path, {
190
251
  persistent: false,
191
252
  signal: ctrl.signal,
192
253
  });
193
- res = await this.readOnce();
254
+ const newRes = await this.readOnce(map);
194
255
  const listen = Promise.resolve()
195
256
  .then(async () => {
196
257
  for await (const _ of watch) {
197
- ctrl.abort("finished");
258
+ ctrl.abort();
198
259
  return null;
199
260
  }
200
261
  })
201
262
  .catch((e) => console.error((0, util_1.asError)(e)));
202
- yield res;
263
+ if (!prev || !eq(prev.value, newRes)) {
264
+ yield newRes;
265
+ }
266
+ prev = { value: newRes };
203
267
  await listen;
204
268
  }
205
269
  else {
@@ -209,12 +273,15 @@ class FileHelper {
209
273
  }
210
274
  return null;
211
275
  }
212
- readOnChange(effects, callback) {
276
+ readOnChange(effects, callback, map, eq) {
213
277
  ;
214
278
  (async () => {
215
- for await (const value of this.readWatch(effects)) {
279
+ const ctrl = new AbortController();
280
+ for await (const value of this.readWatch(effects, map, eq, ctrl.signal)) {
216
281
  try {
217
- await callback(value);
282
+ const res = await callback(value);
283
+ if (res.cancel)
284
+ ctrl.abort();
218
285
  }
219
286
  catch (e) {
220
287
  console.error("callback function threw an error @ FileHelper.read.onChange", e);
@@ -224,27 +291,67 @@ class FileHelper {
224
291
  .catch((e) => callback(null, e))
225
292
  .catch((e) => console.error("callback function threw an error @ FileHelper.read.onChange", e));
226
293
  }
227
- get read() {
294
+ readWaitFor(effects, pred, map) {
295
+ const ctrl = new AbortController();
296
+ return Drop_1.DropPromise.of(Promise.resolve().then(async () => {
297
+ const watch = this.readWatch(effects, map, (_) => false, ctrl.signal);
298
+ while (true) {
299
+ try {
300
+ const res = await watch.next();
301
+ if (pred(res.value)) {
302
+ ctrl.abort();
303
+ return res.value;
304
+ }
305
+ if (res.done) {
306
+ break;
307
+ }
308
+ }
309
+ catch (e) {
310
+ if (pred(null, e)) {
311
+ break;
312
+ }
313
+ }
314
+ }
315
+ ctrl.abort();
316
+ return null;
317
+ }), () => ctrl.abort());
318
+ }
319
+ read(map, eq) {
320
+ map = map ?? ((a) => a);
321
+ eq = eq ?? deepEq;
228
322
  return {
229
- once: () => this.readOnce(),
230
- const: (effects) => this.readConst(effects),
231
- watch: (effects) => this.readWatch(effects),
232
- onChange: (effects, callback) => this.readOnChange(effects, callback),
323
+ once: () => this.readOnce(map),
324
+ const: (effects) => this.readConst(effects, map, eq),
325
+ watch: (effects, abort) => {
326
+ const ctrl = new AbortController();
327
+ abort?.addEventListener("abort", () => ctrl.abort());
328
+ return Drop_1.DropGenerator.of(this.readWatch(effects, map, eq, ctrl.signal), () => ctrl.abort());
329
+ },
330
+ onChange: (effects, callback) => this.readOnChange(effects, callback, map, eq),
331
+ waitFor: (effects, pred) => this.readWaitFor(effects, pred, map),
233
332
  };
234
333
  }
235
334
  /**
236
335
  * Accepts full structured data and overwrites the existing file on disk if it exists.
237
336
  */
238
- async write(effects, data) {
239
- await this.writeFile(this.validate(data));
240
- if (effects.constRetry && this.consts.includes(effects.constRetry))
241
- throw new Error(`Canceled: write after const: ${this.path}`);
337
+ async write(effects, data, options = {}) {
338
+ const newData = this.validate(data);
339
+ await this.writeFile(newData);
340
+ if (!options.allowWriteAfterConst && effects.constRetry) {
341
+ const records = this.consts.filter(([c]) => c === effects.constRetry);
342
+ for (const record of records) {
343
+ const [_, prev, map, eq] = record;
344
+ if (!eq(prev, map(newData))) {
345
+ throw new Error(`Canceled: write after const: ${this.path}`);
346
+ }
347
+ }
348
+ }
242
349
  return null;
243
350
  }
244
351
  /**
245
352
  * Accepts partial structured data and performs a merge with the existing file on disk.
246
353
  */
247
- async merge(effects, data) {
354
+ async merge(effects, data, options = {}) {
248
355
  const fileDataRaw = await this.readFileRaw();
249
356
  let fileData = fileDataRaw === null ? null : this.readData(fileDataRaw);
250
357
  try {
@@ -255,12 +362,14 @@ class FileHelper {
255
362
  const toWrite = this.writeData(mergeData);
256
363
  if (toWrite !== fileDataRaw) {
257
364
  this.writeFile(mergeData);
258
- if (effects.constRetry && this.consts.includes(effects.constRetry)) {
259
- const diff = (0, util_1.partialDiff)(fileData, mergeData);
260
- if (!diff) {
261
- return null;
365
+ if (!options.allowWriteAfterConst && effects.constRetry) {
366
+ const records = this.consts.filter(([c]) => c === effects.constRetry);
367
+ for (const record of records) {
368
+ const [_, prev, map, eq] = record;
369
+ if (!eq(prev, map(mergeData))) {
370
+ throw new Error(`Canceled: write after const: ${this.path}`);
371
+ }
262
372
  }
263
- throw new Error(`Canceled: write after const: ${this.path}`);
264
373
  }
265
374
  }
266
375
  return null;
@@ -270,7 +379,7 @@ class FileHelper {
270
379
  * Like one behavior of another dependency or something similar.
271
380
  */
272
381
  withPath(path) {
273
- return new FileHelper(path, this.writeData, this.readData, this.validate);
382
+ return new FileHelper(toPath(path), this.writeData, this.readData, this.validate);
274
383
  }
275
384
  /**
276
385
  * Create a File Helper for an arbitrary file type.
@@ -278,37 +387,42 @@ class FileHelper {
278
387
  * Provide custom functions for translating data to/from the file format.
279
388
  */
280
389
  static raw(path, toFile, fromFile, validate) {
281
- return new FileHelper(path, toFile, fromFile, validate);
390
+ return new FileHelper(toPath(path), toFile, fromFile, validate);
391
+ }
392
+ static rawTransformed(path, toFile, fromFile, validate, transformers) {
393
+ return FileHelper.raw(path, (inData) => {
394
+ if (transformers) {
395
+ return toFile(transformers.onWrite(inData));
396
+ }
397
+ return toFile(inData);
398
+ }, fromFile, validate);
399
+ }
400
+ static string(path, shape, transformers) {
401
+ return FileHelper.rawTransformed(path, (inData) => inData, (inString) => inString, (data) => (shape || matches.string).unsafeCast(data), transformers);
282
402
  }
283
403
  /**
284
404
  * Create a File Helper for a .json file.
285
405
  */
286
- static json(path, shape) {
287
- return new FileHelper(path, (inData) => JSON.stringify(inData, null, 2), (inString) => JSON.parse(inString), (data) => shape.unsafeCast(data));
406
+ static json(path, shape, transformers) {
407
+ return FileHelper.rawTransformed(path, (inData) => JSON.stringify(inData, null, 2), (inString) => JSON.parse(inString), (data) => shape.unsafeCast(data), transformers);
288
408
  }
289
- /**
290
- * Create a File Helper for a .toml file
291
- */
292
- static toml(path, shape) {
293
- return new FileHelper(path, (inData) => TOML.stringify(inData), (inString) => TOML.parse(inString), (data) => shape.unsafeCast(data));
409
+ static yaml(path, shape, transformers) {
410
+ return FileHelper.rawTransformed(path, (inData) => YAML.stringify(inData, null, 2), (inString) => YAML.parse(inString), (data) => shape.unsafeCast(data), transformers);
294
411
  }
295
- /**
296
- * Create a File Helper for a .yaml file
297
- */
298
- static yaml(path, shape) {
299
- return new FileHelper(path, (inData) => YAML.stringify(inData, null, 2), (inString) => YAML.parse(inString), (data) => shape.unsafeCast(data));
412
+ static toml(path, shape, transformers) {
413
+ return FileHelper.rawTransformed(path, (inData) => TOML.stringify(inData), (inString) => TOML.parse(inString), (data) => shape.unsafeCast(data), transformers);
300
414
  }
301
- static ini(path, shape, options) {
302
- return new FileHelper(path, (inData) => INI.stringify(inData, options), (inString) => INI.parse(inString, options), (data) => shape.unsafeCast(data));
415
+ static ini(path, shape, options, transformers) {
416
+ return FileHelper.rawTransformed(path, (inData) => INI.stringify(filterUndefined(inData), options), (inString) => INI.parse(inString, options), (data) => shape.unsafeCast(data), transformers);
303
417
  }
304
- static env(path, shape) {
305
- return new FileHelper(path, (inData) => Object.entries(inData)
418
+ static env(path, shape, transformers) {
419
+ return FileHelper.rawTransformed(path, (inData) => Object.entries(inData)
306
420
  .map(([k, v]) => `${k}=${v}`)
307
421
  .join("\n"), (inString) => Object.fromEntries(inString
308
422
  .split("\n")
309
423
  .map((line) => line.trim())
310
424
  .filter((line) => !line.startsWith("#") && line.includes("="))
311
- .map((line) => line.split("=", 2))), (data) => shape.unsafeCast(data));
425
+ .map((line) => line.split("=", 2))), (data) => shape.unsafeCast(data), transformers);
312
426
  }
313
427
  }
314
428
  exports.FileHelper = FileHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"fileHelper.js","sourceRoot":"","sources":["../../../../package/lib/util/fileHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileHelper.js","sourceRoot":"","sources":["../../../../package/lib/util/fileHelper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export * from "../../../base/lib/util";
2
2
  export { GetSslCertificate } from "./GetSslCertificate";
3
- export { hostnameInfoToAddress } from "../../../base/lib/util/Hostname";
4
- export { Drop } from "./Drop";
3
+ export { Drop } from "../../../base/lib/util/Drop";
@@ -14,12 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Drop = exports.hostnameInfoToAddress = exports.GetSslCertificate = void 0;
17
+ exports.Drop = exports.GetSslCertificate = void 0;
18
18
  __exportStar(require("../../../base/lib/util"), exports);
19
19
  var GetSslCertificate_1 = require("./GetSslCertificate");
20
20
  Object.defineProperty(exports, "GetSslCertificate", { enumerable: true, get: function () { return GetSslCertificate_1.GetSslCertificate; } });
21
- var Hostname_1 = require("../../../base/lib/util/Hostname");
22
- Object.defineProperty(exports, "hostnameInfoToAddress", { enumerable: true, get: function () { return Hostname_1.hostnameInfoToAddress; } });
23
- var Drop_1 = require("./Drop");
21
+ var Drop_1 = require("../../../base/lib/util/Drop");
24
22
  Object.defineProperty(exports, "Drop", { enumerable: true, get: function () { return Drop_1.Drop; } });
25
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../package/lib/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAE1B,4DAAuE;AAA9D,iHAAA,qBAAqB,OAAA;AAC9B,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../package/lib/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAE1B,oDAAkD;AAAzC,4FAAA,IAAI,OAAA"}
@@ -1,9 +1,18 @@
1
1
  import { ExtendedVersion, VersionRange } from "../../../base/lib/exver";
2
2
  import * as T from "../../../base/lib/types";
3
+ import { InitKind, InitScript, InitScriptOrFn, UninitScript, UninitScriptOrFn } from "../../../base/lib/inits";
3
4
  import { VersionInfo } from "./VersionInfo";
4
- export declare class VersionGraph<CurrentVersion extends string> {
5
+ export declare function getDataVersion(effects: T.Effects): Promise<ExtendedVersion | VersionRange | null>;
6
+ export declare function setDataVersion(effects: T.Effects, version: ExtendedVersion | VersionRange | null): Promise<null>;
7
+ export declare function overlaps(a: ExtendedVersion | VersionRange, b: ExtendedVersion | VersionRange): boolean;
8
+ export declare class VersionGraph<CurrentVersion extends string> implements InitScript, UninitScript {
5
9
  readonly current: VersionInfo<CurrentVersion>;
10
+ private readonly preInstall?;
11
+ private readonly uninstall?;
12
+ protected initFn: (effects: T.Effects, kind: InitKind) => Promise<void>;
13
+ protected uninitFn: (effects: T.Effects, target: VersionRange | ExtendedVersion | null) => Promise<void>;
6
14
  private readonly graph;
15
+ dump(): string;
7
16
  private constructor();
8
17
  currentVersion: () => ExtendedVersion;
9
18
  /**
@@ -11,13 +20,26 @@ export declare class VersionGraph<CurrentVersion extends string> {
11
20
  *
12
21
  * ** The current version must be the FIRST argument. **
13
22
  */
14
- static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(currentVersion: VersionInfo<CurrentVersion>, ...other: EnsureUniqueId<OtherVersions, OtherVersions, CurrentVersion>): VersionGraph<CurrentVersion>;
23
+ static of<CurrentVersion extends string, OtherVersions extends Array<VersionInfo<any>>>(options: {
24
+ current: VersionInfo<CurrentVersion>;
25
+ other: OtherVersions;
26
+ /**
27
+ * A script to run only on fresh install
28
+ */
29
+ preInstall?: InitScriptOrFn<"install">;
30
+ /**
31
+ * A script to run only on uninstall
32
+ */
33
+ uninstall?: UninitScriptOrFn;
34
+ }): VersionGraph<CurrentVersion>;
15
35
  migrate({ effects, from, to, }: {
16
36
  effects: T.Effects;
17
- from: ExtendedVersion;
18
- to: ExtendedVersion;
19
- }): Promise<void>;
37
+ from: ExtendedVersion | VersionRange;
38
+ to: ExtendedVersion | VersionRange;
39
+ }): Promise<ExtendedVersion | VersionRange>;
20
40
  canMigrateFrom: () => VersionRange;
21
41
  canMigrateTo: () => VersionRange;
42
+ init(effects: T.Effects, kind: InitKind): Promise<void>;
43
+ uninit(effects: T.Effects, target: VersionRange | ExtendedVersion | null): Promise<void>;
22
44
  }
23
45
  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"[];