@start9labs/start-sdk 0.4.0-beta.9 → 1.0.0

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 (1022) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/README.md +97 -12
  3. package/base/lib/Effects.d.ts +35 -39
  4. package/base/lib/actions/index.d.ts +18 -19
  5. package/base/lib/actions/index.js +22 -4
  6. package/base/lib/actions/index.js.map +1 -1
  7. package/base/lib/actions/input/builder/index.d.ts +4 -4
  8. package/base/lib/actions/input/builder/inputSpec.d.ts +156 -29
  9. package/base/lib/actions/input/builder/inputSpec.js +240 -23
  10. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  11. package/base/lib/actions/input/builder/inputSpecTools.d.ts +173 -0
  12. package/base/lib/actions/input/builder/inputSpecTools.js +16 -0
  13. package/base/lib/actions/input/builder/inputSpecTools.js.map +1 -0
  14. package/base/lib/actions/input/builder/list.d.ts +39 -29
  15. package/base/lib/actions/input/builder/list.js +49 -39
  16. package/base/lib/actions/input/builder/list.js.map +1 -1
  17. package/base/lib/actions/input/builder/value.d.ts +482 -76
  18. package/base/lib/actions/input/builder/value.js +629 -230
  19. package/base/lib/actions/input/builder/value.js.map +1 -1
  20. package/base/lib/actions/input/builder/variants.d.ts +43 -29
  21. package/base/lib/actions/input/builder/variants.js +41 -25
  22. package/base/lib/actions/input/builder/variants.js.map +1 -1
  23. package/base/lib/actions/input/index.d.ts +3 -3
  24. package/base/lib/actions/input/inputSpecConstants.d.ts +2246 -19
  25. package/base/lib/actions/input/inputSpecConstants.js +224 -53
  26. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  27. package/base/lib/actions/input/inputSpecTypes.d.ts +123 -23
  28. package/base/lib/actions/input/inputSpecTypes.js +7 -2
  29. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  30. package/base/lib/actions/setupActions.d.ts +32 -21
  31. package/base/lib/actions/setupActions.js +45 -7
  32. package/base/lib/actions/setupActions.js.map +1 -1
  33. package/base/lib/coverage/lcov-report/block-navigation.js +87 -0
  34. package/base/lib/coverage/lcov-report/prettify.js +2 -0
  35. package/base/lib/coverage/lcov-report/sorter.js +196 -0
  36. package/base/lib/dependencies/dependencies.d.ts +8 -4
  37. package/base/lib/dependencies/dependencies.js +41 -32
  38. package/base/lib/dependencies/dependencies.js.map +1 -1
  39. package/base/lib/dependencies/setupDependencies.d.ts +7 -9
  40. package/base/lib/dependencies/setupDependencies.js +3 -10
  41. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  42. package/base/lib/exver/exver.d.ts +5 -5
  43. package/base/lib/exver/exver.js +42 -73
  44. package/base/lib/exver/exver.js.map +1 -1
  45. package/base/lib/exver/index.d.ts +245 -14
  46. package/base/lib/exver/index.js +350 -156
  47. package/base/lib/exver/index.js.map +1 -1
  48. package/base/lib/index.d.ts +11 -10
  49. package/base/lib/index.js +4 -2
  50. package/base/lib/index.js.map +1 -1
  51. package/base/lib/inits/index.d.ts +2 -0
  52. package/base/lib/inits/index.js +19 -0
  53. package/base/lib/inits/index.js.map +1 -0
  54. package/base/lib/inits/setupInit.d.ts +26 -0
  55. package/base/lib/inits/setupInit.js +47 -0
  56. package/base/lib/inits/setupInit.js.map +1 -0
  57. package/base/lib/inits/setupUninit.d.ts +37 -0
  58. package/base/lib/inits/setupUninit.js +31 -0
  59. package/base/lib/inits/setupUninit.js.map +1 -0
  60. package/base/lib/interfaces/Host.d.ts +12 -6
  61. package/base/lib/interfaces/Host.js +34 -18
  62. package/base/lib/interfaces/Host.js.map +1 -1
  63. package/base/lib/interfaces/Origin.d.ts +6 -6
  64. package/base/lib/interfaces/Origin.js +5 -5
  65. package/base/lib/interfaces/Origin.js.map +1 -1
  66. package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +5 -5
  67. package/base/lib/interfaces/setupExportedUrls.d.ts +7 -0
  68. package/base/lib/interfaces/setupExportedUrls.js +27 -0
  69. package/base/lib/interfaces/setupExportedUrls.js.map +1 -0
  70. package/base/lib/interfaces/setupInterfaces.d.ts +4 -6
  71. package/base/lib/interfaces/setupInterfaces.js +8 -17
  72. package/base/lib/interfaces/setupInterfaces.js.map +1 -1
  73. package/base/lib/osBindings/AcceptSigners.d.ts +1 -1
  74. package/base/lib/osBindings/ActionInput.d.ts +2 -0
  75. package/base/lib/osBindings/ActionInput.js +0 -1
  76. package/base/lib/osBindings/ActionInput.js.map +1 -1
  77. package/base/lib/osBindings/ActionMetadata.d.ts +2 -2
  78. package/base/lib/osBindings/ActionResult.d.ts +4 -4
  79. package/base/lib/osBindings/ActionResultMember.d.ts +2 -2
  80. package/base/lib/osBindings/ActionResultV1.d.ts +1 -1
  81. package/base/lib/osBindings/ActionResultValue.d.ts +3 -3
  82. package/base/lib/osBindings/ActionVisibility.d.ts +2 -2
  83. package/base/lib/osBindings/AddAdminParams.d.ts +1 -1
  84. package/base/lib/osBindings/AddAssetParams.d.ts +2 -2
  85. package/base/lib/osBindings/AddCategoryParams.d.ts +2 -3
  86. package/base/lib/osBindings/AddCategoryParams.js +0 -1
  87. package/base/lib/osBindings/AddCategoryParams.js.map +1 -1
  88. package/base/lib/osBindings/AddMirrorParams.d.ts +7 -0
  89. package/base/lib/osBindings/AddMirrorParams.js +3 -0
  90. package/base/lib/osBindings/AddMirrorParams.js.map +1 -0
  91. package/base/lib/osBindings/AddPackageParams.d.ts +3 -3
  92. package/base/lib/osBindings/AddPackageSignerParams.d.ts +8 -0
  93. package/base/lib/osBindings/AddPackageSignerParams.js +3 -0
  94. package/base/lib/osBindings/AddPackageSignerParams.js.map +1 -0
  95. package/base/lib/osBindings/AddPackageToCategoryParams.d.ts +5 -0
  96. package/base/lib/osBindings/AddPackageToCategoryParams.js +3 -0
  97. package/base/lib/osBindings/AddPackageToCategoryParams.js.map +1 -0
  98. package/base/lib/osBindings/AddPrivateDomainParams.d.ts +5 -0
  99. package/base/lib/osBindings/AddPrivateDomainParams.js +3 -0
  100. package/base/lib/osBindings/AddPrivateDomainParams.js.map +1 -0
  101. package/base/lib/osBindings/AddPublicDomainParams.d.ts +8 -0
  102. package/base/lib/osBindings/AddPublicDomainParams.js +3 -0
  103. package/base/lib/osBindings/AddPublicDomainParams.js.map +1 -0
  104. package/base/lib/osBindings/AddPublicDomainRes.d.ts +5 -0
  105. package/base/lib/osBindings/{ActionRequestEntry.js → AddPublicDomainRes.js} +1 -1
  106. package/base/lib/osBindings/AddPublicDomainRes.js.map +1 -0
  107. package/base/lib/osBindings/AddSslOptions.d.ts +2 -1
  108. package/base/lib/osBindings/AddTunnelParams.d.ts +7 -0
  109. package/base/lib/osBindings/AddTunnelParams.js +3 -0
  110. package/base/lib/osBindings/AddTunnelParams.js.map +1 -0
  111. package/base/lib/osBindings/AddressInfo.d.ts +1 -1
  112. package/base/lib/osBindings/Alerts.d.ts +6 -5
  113. package/base/lib/osBindings/Alerts.js +0 -1
  114. package/base/lib/osBindings/Alerts.js.map +1 -1
  115. package/base/lib/osBindings/Algorithm.d.ts +1 -1
  116. package/base/lib/osBindings/AllPackageData.d.ts +2 -2
  117. package/base/lib/osBindings/AllowedStatuses.d.ts +1 -1
  118. package/base/lib/osBindings/AlpnInfo.d.ts +2 -2
  119. package/base/lib/osBindings/ApiState.d.ts +1 -1
  120. package/base/lib/osBindings/AttachParams.d.ts +3 -2
  121. package/base/lib/osBindings/BackupInfo.d.ts +9 -0
  122. package/base/lib/osBindings/{MainStatus.js → BackupInfo.js} +1 -1
  123. package/base/lib/osBindings/BackupInfo.js.map +1 -0
  124. package/base/lib/osBindings/BackupParams.d.ts +9 -0
  125. package/base/lib/osBindings/{DomainConfig.js → BackupParams.js} +1 -1
  126. package/base/lib/osBindings/BackupParams.js.map +1 -0
  127. package/base/lib/osBindings/BackupReport.d.ts +9 -0
  128. package/base/lib/osBindings/BackupReport.js +3 -0
  129. package/base/lib/osBindings/BackupReport.js.map +1 -0
  130. package/base/lib/osBindings/BackupTarget.d.ts +18 -0
  131. package/base/lib/osBindings/BackupTarget.js +3 -0
  132. package/base/lib/osBindings/BackupTarget.js.map +1 -0
  133. package/base/lib/osBindings/BackupTargetFS.d.ts +4 -4
  134. package/base/lib/osBindings/BackupTargetId.d.ts +1 -0
  135. package/base/lib/osBindings/{DependencyKind.js → BackupTargetId.js} +1 -1
  136. package/base/lib/osBindings/BackupTargetId.js.map +1 -0
  137. package/base/lib/osBindings/BindId.d.ts +1 -1
  138. package/base/lib/osBindings/BindInfo.d.ts +4 -2
  139. package/base/lib/osBindings/BindOptions.d.ts +2 -2
  140. package/base/lib/osBindings/BindParams.d.ts +3 -3
  141. package/base/lib/osBindings/BindingSetAddressEnabledParams.d.ts +5 -0
  142. package/base/lib/osBindings/BindingSetAddressEnabledParams.js +4 -0
  143. package/base/lib/osBindings/BindingSetAddressEnabledParams.js.map +1 -0
  144. package/base/lib/osBindings/Bindings.d.ts +4 -0
  145. package/base/lib/osBindings/{HostAddress.js → Bindings.js} +1 -1
  146. package/base/lib/osBindings/Bindings.js.map +1 -0
  147. package/base/lib/osBindings/Blake3Commitment.d.ts +1 -1
  148. package/base/lib/osBindings/CancelInstallParams.d.ts +4 -0
  149. package/base/lib/osBindings/CancelInstallParams.js +3 -0
  150. package/base/lib/osBindings/CancelInstallParams.js.map +1 -0
  151. package/base/lib/osBindings/Category.d.ts +2 -3
  152. package/base/lib/osBindings/Celsius.d.ts +4 -1
  153. package/base/lib/osBindings/CheckDependenciesParam.d.ts +1 -1
  154. package/base/lib/osBindings/CheckDependenciesResult.d.ts +8 -8
  155. package/base/lib/osBindings/CheckDnsParams.d.ts +4 -0
  156. package/base/lib/osBindings/{GetStoreParams.js → CheckDnsParams.js} +1 -1
  157. package/base/lib/osBindings/CheckDnsParams.js.map +1 -0
  158. package/base/lib/osBindings/CheckPortParams.d.ts +5 -0
  159. package/base/lib/osBindings/CheckPortParams.js +3 -0
  160. package/base/lib/osBindings/CheckPortParams.js.map +1 -0
  161. package/base/lib/osBindings/CheckPortRes.d.ts +7 -0
  162. package/base/lib/osBindings/{OnionHostname.js → CheckPortRes.js} +1 -1
  163. package/base/lib/osBindings/CheckPortRes.js.map +1 -0
  164. package/base/lib/osBindings/CifsAddParams.d.ts +6 -0
  165. package/base/lib/osBindings/{ActionSeverity.js → CifsAddParams.js} +1 -1
  166. package/base/lib/osBindings/CifsAddParams.js.map +1 -0
  167. package/base/lib/osBindings/CifsBackupTarget.d.ts +10 -0
  168. package/base/lib/osBindings/CifsBackupTarget.js +3 -0
  169. package/base/lib/osBindings/CifsBackupTarget.js.map +1 -0
  170. package/base/lib/osBindings/CifsRemoveParams.d.ts +4 -0
  171. package/base/lib/osBindings/CifsRemoveParams.js +3 -0
  172. package/base/lib/osBindings/CifsRemoveParams.js.map +1 -0
  173. package/base/lib/osBindings/CifsUpdateParams.d.ts +8 -0
  174. package/base/lib/osBindings/CifsUpdateParams.js +3 -0
  175. package/base/lib/osBindings/CifsUpdateParams.js.map +1 -0
  176. package/base/lib/osBindings/ClearActionsParams.d.ts +1 -1
  177. package/base/lib/osBindings/ClearBindingsParams.d.ts +1 -1
  178. package/base/lib/osBindings/ClearServiceInterfacesParams.d.ts +1 -1
  179. package/base/lib/osBindings/ClearTaskParams.d.ts +7 -0
  180. package/base/lib/osBindings/ClearTaskParams.js +3 -0
  181. package/base/lib/osBindings/ClearTaskParams.js.map +1 -0
  182. package/base/lib/osBindings/{ClearActionRequestsParams.d.ts → ClearTasksParams.d.ts} +1 -1
  183. package/base/lib/osBindings/ClearTasksParams.js +4 -0
  184. package/base/lib/osBindings/ClearTasksParams.js.map +1 -0
  185. package/base/lib/osBindings/ControlParams.d.ts +4 -0
  186. package/base/lib/osBindings/{ActionRequest.js → ControlParams.js} +1 -1
  187. package/base/lib/osBindings/ControlParams.js.map +1 -0
  188. package/base/lib/osBindings/CreateSubcontainerFsParams.d.ts +1 -1
  189. package/base/lib/osBindings/CreateTaskParams.d.ts +15 -0
  190. package/base/lib/osBindings/CreateTaskParams.js +3 -0
  191. package/base/lib/osBindings/CreateTaskParams.js.map +1 -0
  192. package/base/lib/osBindings/CurrentDependencies.d.ts +2 -2
  193. package/base/lib/osBindings/CurrentDependencyInfo.d.ts +5 -4
  194. package/base/lib/osBindings/DepInfo.d.ts +4 -4
  195. package/base/lib/osBindings/Dependencies.d.ts +2 -2
  196. package/base/lib/osBindings/DependencyMetadata.d.ts +4 -3
  197. package/base/lib/osBindings/DependencyRequirement.d.ts +4 -4
  198. package/base/lib/osBindings/DerivedAddressInfo.d.ts +15 -0
  199. package/base/lib/osBindings/DerivedAddressInfo.js +3 -0
  200. package/base/lib/osBindings/DerivedAddressInfo.js.map +1 -0
  201. package/base/lib/osBindings/Description.d.ts +3 -2
  202. package/base/lib/osBindings/Description.js +0 -1
  203. package/base/lib/osBindings/Description.js.map +1 -1
  204. package/base/lib/osBindings/DesiredStatus.d.ts +12 -0
  205. package/base/lib/osBindings/DesiredStatus.js +3 -0
  206. package/base/lib/osBindings/DesiredStatus.js.map +1 -0
  207. package/base/lib/osBindings/DestroySubcontainerFsParams.d.ts +1 -1
  208. package/base/lib/osBindings/DeviceFilter.d.ts +6 -3
  209. package/base/lib/osBindings/DnsSettings.d.ts +4 -0
  210. package/base/lib/osBindings/DnsSettings.js +4 -0
  211. package/base/lib/osBindings/DnsSettings.js.map +1 -0
  212. package/base/lib/osBindings/DomainSettings.d.ts +4 -0
  213. package/base/lib/osBindings/DomainSettings.js +3 -0
  214. package/base/lib/osBindings/DomainSettings.js.map +1 -0
  215. package/base/lib/osBindings/EditSignerParams.d.ts +3 -3
  216. package/base/lib/osBindings/EffectsRunActionParams.d.ts +7 -0
  217. package/base/lib/osBindings/EffectsRunActionParams.js +3 -0
  218. package/base/lib/osBindings/EffectsRunActionParams.js.map +1 -0
  219. package/base/lib/osBindings/ErrorData.d.ts +5 -0
  220. package/base/lib/osBindings/{IpHostname.js → ErrorData.js} +1 -1
  221. package/base/lib/osBindings/ErrorData.js.map +1 -0
  222. package/base/lib/osBindings/EventId.d.ts +4 -0
  223. package/base/lib/osBindings/{ProcedureId.js → EventId.js} +1 -1
  224. package/base/lib/osBindings/EventId.js.map +1 -0
  225. package/base/lib/osBindings/ExportActionParams.d.ts +2 -2
  226. package/base/lib/osBindings/ExportServiceInterfaceParams.d.ts +3 -3
  227. package/base/lib/osBindings/FileType.d.ts +1 -0
  228. package/base/lib/osBindings/FileType.js +4 -0
  229. package/base/lib/osBindings/FileType.js.map +1 -0
  230. package/base/lib/osBindings/ForgetGatewayParams.d.ts +4 -0
  231. package/base/lib/osBindings/ForgetGatewayParams.js +3 -0
  232. package/base/lib/osBindings/ForgetGatewayParams.js.map +1 -0
  233. package/base/lib/osBindings/FullIndex.d.ts +5 -5
  234. package/base/lib/osBindings/FullProgress.d.ts +2 -2
  235. package/base/lib/osBindings/GatewayId.d.ts +1 -0
  236. package/base/lib/osBindings/GatewayId.js +4 -0
  237. package/base/lib/osBindings/GatewayId.js.map +1 -0
  238. package/base/lib/osBindings/GatewayInfo.d.ts +6 -0
  239. package/base/lib/osBindings/GatewayInfo.js +3 -0
  240. package/base/lib/osBindings/GatewayInfo.js.map +1 -0
  241. package/base/lib/osBindings/GatewayType.d.ts +1 -0
  242. package/base/lib/osBindings/GatewayType.js +4 -0
  243. package/base/lib/osBindings/GatewayType.js.map +1 -0
  244. package/base/lib/osBindings/GenerateCertificateParams.d.ts +4 -0
  245. package/base/lib/osBindings/GenerateCertificateParams.js +4 -0
  246. package/base/lib/osBindings/GenerateCertificateParams.js.map +1 -0
  247. package/base/lib/osBindings/GenerateCertificateResponse.d.ts +4 -0
  248. package/base/lib/osBindings/GenerateCertificateResponse.js +4 -0
  249. package/base/lib/osBindings/GenerateCertificateResponse.js.map +1 -0
  250. package/base/lib/osBindings/GetActionInputParams.d.ts +3 -2
  251. package/base/lib/osBindings/GetContainerIpParams.d.ts +2 -2
  252. package/base/lib/osBindings/GetHostInfoParams.d.ts +3 -3
  253. package/base/lib/osBindings/GetOsVersionParams.d.ts +3 -3
  254. package/base/lib/osBindings/GetOutboundGatewayParams.d.ts +4 -0
  255. package/base/lib/osBindings/GetOutboundGatewayParams.js +3 -0
  256. package/base/lib/osBindings/GetOutboundGatewayParams.js.map +1 -0
  257. package/base/lib/osBindings/GetPackageParams.d.ts +5 -5
  258. package/base/lib/osBindings/GetPackageResponse.d.ts +3 -3
  259. package/base/lib/osBindings/GetPackageResponseFull.d.ts +2 -2
  260. package/base/lib/osBindings/GetServiceInterfaceParams.d.ts +3 -3
  261. package/base/lib/osBindings/GetServiceManifestParams.d.ts +6 -0
  262. package/base/lib/osBindings/GetServiceManifestParams.js +3 -0
  263. package/base/lib/osBindings/GetServiceManifestParams.js.map +1 -0
  264. package/base/lib/osBindings/GetServicePortForwardParams.d.ts +2 -2
  265. package/base/lib/osBindings/GetSslCertificateParams.d.ts +2 -2
  266. package/base/lib/osBindings/GetSslKeyParams.d.ts +1 -1
  267. package/base/lib/osBindings/GetStatusParams.d.ts +2 -2
  268. package/base/lib/osBindings/GetSystemSmtpParams.d.ts +1 -1
  269. package/base/lib/osBindings/GigaBytes.d.ts +4 -1
  270. package/base/lib/osBindings/HardwareRequirements.d.ts +1 -1
  271. package/base/lib/osBindings/Host.d.ts +11 -12
  272. package/base/lib/osBindings/HostnameInfo.d.ts +5 -8
  273. package/base/lib/osBindings/HostnameMetadata.d.ts +26 -0
  274. package/base/lib/osBindings/HostnameMetadata.js +3 -0
  275. package/base/lib/osBindings/HostnameMetadata.js.map +1 -0
  276. package/base/lib/osBindings/Hosts.d.ts +2 -2
  277. package/base/lib/osBindings/IdMap.d.ts +5 -0
  278. package/base/lib/osBindings/IdMap.js +4 -0
  279. package/base/lib/osBindings/IdMap.js.map +1 -0
  280. package/base/lib/osBindings/ImageConfig.d.ts +2 -1
  281. package/base/lib/osBindings/ImageSource.d.ts +2 -2
  282. package/base/lib/osBindings/InfoParams.d.ts +6 -0
  283. package/base/lib/osBindings/InfoParams.js +3 -0
  284. package/base/lib/osBindings/InfoParams.js.map +1 -0
  285. package/base/lib/osBindings/InitAcmeParams.d.ts +5 -0
  286. package/base/lib/osBindings/InitAcmeParams.js +3 -0
  287. package/base/lib/osBindings/InitAcmeParams.js.map +1 -0
  288. package/base/lib/osBindings/InitProgressRes.d.ts +2 -2
  289. package/base/lib/osBindings/InstallParams.d.ts +2 -2
  290. package/base/lib/osBindings/InstalledState.d.ts +1 -1
  291. package/base/lib/osBindings/InstalledVersionParams.d.ts +1 -1
  292. package/base/lib/osBindings/InstallingInfo.d.ts +2 -2
  293. package/base/lib/osBindings/InstallingState.d.ts +1 -1
  294. package/base/lib/osBindings/IpInfo.d.ts +3 -1
  295. package/base/lib/osBindings/KeyboardOptions.d.ts +7 -0
  296. package/base/lib/osBindings/KeyboardOptions.js +4 -0
  297. package/base/lib/osBindings/KeyboardOptions.js.map +1 -0
  298. package/base/lib/osBindings/KillParams.d.ts +3 -0
  299. package/base/lib/osBindings/KillParams.js +4 -0
  300. package/base/lib/osBindings/KillParams.js.map +1 -0
  301. package/base/lib/osBindings/ListNotificationParams.d.ts +4 -0
  302. package/base/lib/osBindings/{ActionRequestCondition.js → ListNotificationParams.js} +1 -1
  303. package/base/lib/osBindings/ListNotificationParams.js.map +1 -0
  304. package/base/lib/osBindings/ListPackageSignersParams.d.ts +1 -1
  305. package/base/lib/osBindings/ListServiceInterfacesParams.d.ts +2 -2
  306. package/base/lib/osBindings/LocaleString.d.ts +1 -0
  307. package/base/lib/osBindings/LocaleString.js +4 -0
  308. package/base/lib/osBindings/LocaleString.js.map +1 -0
  309. package/base/lib/osBindings/LogEntry.d.ts +5 -0
  310. package/base/lib/osBindings/LogEntry.js +4 -0
  311. package/base/lib/osBindings/LogEntry.js.map +1 -0
  312. package/base/lib/osBindings/LogFollowResponse.d.ts +5 -0
  313. package/base/lib/osBindings/LogFollowResponse.js +3 -0
  314. package/base/lib/osBindings/LogFollowResponse.js.map +1 -0
  315. package/base/lib/osBindings/LogResponse.d.ts +6 -0
  316. package/base/lib/osBindings/LogResponse.js +3 -0
  317. package/base/lib/osBindings/LogResponse.js.map +1 -0
  318. package/base/lib/osBindings/LoginParams.d.ts +1 -2
  319. package/base/lib/osBindings/LoginParams.js +1 -0
  320. package/base/lib/osBindings/LoginParams.js.map +1 -1
  321. package/base/lib/osBindings/LogsParams.d.ts +6 -0
  322. package/base/lib/osBindings/LogsParams.js +4 -0
  323. package/base/lib/osBindings/LogsParams.js.map +1 -0
  324. package/base/lib/osBindings/LshwDevice.d.ts +4 -4
  325. package/base/lib/osBindings/LshwDisplay.d.ts +4 -1
  326. package/base/lib/osBindings/LshwProcessor.d.ts +3 -1
  327. package/base/lib/osBindings/Manifest.d.ts +27 -22
  328. package/base/lib/osBindings/MebiBytes.d.ts +4 -1
  329. package/base/lib/osBindings/MerkleArchiveCommitment.d.ts +1 -1
  330. package/base/lib/osBindings/Metadata.d.ts +6 -0
  331. package/base/lib/osBindings/Metadata.js +3 -0
  332. package/base/lib/osBindings/Metadata.js.map +1 -0
  333. package/base/lib/osBindings/MetadataSrc.d.ts +7 -0
  334. package/base/lib/osBindings/MetadataSrc.js +3 -0
  335. package/base/lib/osBindings/MetadataSrc.js.map +1 -0
  336. package/base/lib/osBindings/Metrics.d.ts +4 -4
  337. package/base/lib/osBindings/MetricsCpu.d.ts +1 -1
  338. package/base/lib/osBindings/MetricsDisk.d.ts +2 -2
  339. package/base/lib/osBindings/MetricsFollowResponse.d.ts +6 -0
  340. package/base/lib/osBindings/MetricsFollowResponse.js +3 -0
  341. package/base/lib/osBindings/MetricsFollowResponse.js.map +1 -0
  342. package/base/lib/osBindings/MetricsGeneral.d.ts +1 -1
  343. package/base/lib/osBindings/MetricsMemory.d.ts +2 -2
  344. package/base/lib/osBindings/ModifyNotificationBeforeParams.d.ts +3 -0
  345. package/base/lib/osBindings/ModifyNotificationBeforeParams.js +4 -0
  346. package/base/lib/osBindings/ModifyNotificationBeforeParams.js.map +1 -0
  347. package/base/lib/osBindings/ModifyNotificationParams.d.ts +3 -0
  348. package/base/lib/osBindings/ModifyNotificationParams.js +4 -0
  349. package/base/lib/osBindings/ModifyNotificationParams.js.map +1 -0
  350. package/base/lib/osBindings/MountParams.d.ts +1 -1
  351. package/base/lib/osBindings/MountTarget.d.ts +4 -2
  352. package/base/lib/osBindings/NamedHealthCheckResult.d.ts +8 -5
  353. package/base/lib/osBindings/NamedProgress.d.ts +1 -1
  354. package/base/lib/osBindings/NetInfo.d.ts +0 -1
  355. package/base/lib/osBindings/NetworkInfo.d.ts +13 -7
  356. package/base/lib/osBindings/NetworkInterfaceInfo.d.ts +5 -3
  357. package/base/lib/osBindings/NetworkInterfaceType.d.ts +1 -1
  358. package/base/lib/osBindings/Notification.d.ts +12 -0
  359. package/base/lib/osBindings/Notification.js +3 -0
  360. package/base/lib/osBindings/Notification.js.map +1 -0
  361. package/base/lib/osBindings/NotificationLevel.d.ts +1 -0
  362. package/base/lib/osBindings/NotificationLevel.js +4 -0
  363. package/base/lib/osBindings/NotificationLevel.js.map +1 -0
  364. package/base/lib/osBindings/NotificationWithId.d.ts +13 -0
  365. package/base/lib/osBindings/NotificationWithId.js +3 -0
  366. package/base/lib/osBindings/NotificationWithId.js.map +1 -0
  367. package/base/lib/osBindings/OsIndex.d.ts +1 -1
  368. package/base/lib/osBindings/OsVersionInfo.d.ts +3 -3
  369. package/base/lib/osBindings/OsVersionInfoMap.d.ts +1 -1
  370. package/base/lib/osBindings/PackageBackupInfo.d.ts +7 -0
  371. package/base/lib/osBindings/PackageBackupInfo.js +3 -0
  372. package/base/lib/osBindings/PackageBackupInfo.js.map +1 -0
  373. package/base/lib/osBindings/PackageBackupReport.d.ts +3 -0
  374. package/base/lib/osBindings/PackageBackupReport.js +4 -0
  375. package/base/lib/osBindings/PackageBackupReport.js.map +1 -0
  376. package/base/lib/osBindings/PackageDataEntry.d.ts +18 -15
  377. package/base/lib/osBindings/PackageDetailLevel.d.ts +1 -1
  378. package/base/lib/osBindings/PackageIndex.d.ts +3 -3
  379. package/base/lib/osBindings/PackageInfo.d.ts +6 -4
  380. package/base/lib/osBindings/PackageInfoShort.d.ts +2 -1
  381. package/base/lib/osBindings/PackageInfoShort.js +0 -1
  382. package/base/lib/osBindings/PackageInfoShort.js.map +1 -1
  383. package/base/lib/osBindings/PackagePlugin.d.ts +4 -0
  384. package/base/lib/osBindings/PackagePlugin.js +3 -0
  385. package/base/lib/osBindings/PackagePlugin.js.map +1 -0
  386. package/base/lib/osBindings/PackageState.d.ts +8 -8
  387. package/base/lib/osBindings/PackageVersionInfo.d.ts +26 -20
  388. package/base/lib/osBindings/PartitionInfo.d.ts +12 -0
  389. package/base/lib/osBindings/PartitionInfo.js +3 -0
  390. package/base/lib/osBindings/PartitionInfo.js.map +1 -0
  391. package/base/lib/osBindings/PassthroughInfo.d.ts +7 -0
  392. package/base/lib/osBindings/PassthroughInfo.js +4 -0
  393. package/base/lib/osBindings/PassthroughInfo.js.map +1 -0
  394. package/base/lib/osBindings/PasswordType.d.ts +1 -1
  395. package/base/lib/osBindings/Pem.d.ts +1 -0
  396. package/base/lib/osBindings/Pem.js +4 -0
  397. package/base/lib/osBindings/Pem.js.map +1 -0
  398. package/base/lib/osBindings/Percentage.d.ts +4 -1
  399. package/base/lib/osBindings/PluginHostnameInfo.d.ts +12 -0
  400. package/base/lib/osBindings/PluginHostnameInfo.js +3 -0
  401. package/base/lib/osBindings/PluginHostnameInfo.js.map +1 -0
  402. package/base/lib/osBindings/PluginId.d.ts +1 -0
  403. package/base/lib/osBindings/PluginId.js +4 -0
  404. package/base/lib/osBindings/PluginId.js.map +1 -0
  405. package/base/lib/osBindings/PortForward.d.ts +6 -0
  406. package/base/lib/osBindings/PortForward.js +3 -0
  407. package/base/lib/osBindings/PortForward.js.map +1 -0
  408. package/base/lib/osBindings/Progress.d.ts +2 -0
  409. package/base/lib/osBindings/Progress.js +0 -1
  410. package/base/lib/osBindings/Progress.js.map +1 -1
  411. package/base/lib/osBindings/ProgressUnits.d.ts +1 -0
  412. package/base/lib/osBindings/ProgressUnits.js +4 -0
  413. package/base/lib/osBindings/ProgressUnits.js.map +1 -0
  414. package/base/lib/osBindings/Public.d.ts +2 -2
  415. package/base/lib/osBindings/PublicDomainConfig.d.ts +6 -0
  416. package/base/lib/osBindings/PublicDomainConfig.js +3 -0
  417. package/base/lib/osBindings/PublicDomainConfig.js.map +1 -0
  418. package/base/lib/osBindings/QueryDnsParams.d.ts +3 -0
  419. package/base/lib/osBindings/QueryDnsParams.js +4 -0
  420. package/base/lib/osBindings/QueryDnsParams.js.map +1 -0
  421. package/base/lib/osBindings/RebuildParams.d.ts +4 -0
  422. package/base/lib/osBindings/RebuildParams.js +3 -0
  423. package/base/lib/osBindings/RebuildParams.js.map +1 -0
  424. package/base/lib/osBindings/RecoverySource.d.ts +3 -3
  425. package/base/lib/osBindings/RegistryAsset.d.ts +3 -3
  426. package/base/lib/osBindings/RegistryInfo.d.ts +2 -2
  427. package/base/lib/osBindings/RemoveAcmeParams.d.ts +4 -0
  428. package/base/lib/osBindings/RemoveAcmeParams.js +3 -0
  429. package/base/lib/osBindings/RemoveAcmeParams.js.map +1 -0
  430. package/base/lib/osBindings/RemoveAdminParams.d.ts +4 -0
  431. package/base/lib/osBindings/RemoveAdminParams.js +3 -0
  432. package/base/lib/osBindings/RemoveAdminParams.js.map +1 -0
  433. package/base/lib/osBindings/RemoveAssetParams.d.ts +4 -0
  434. package/base/lib/osBindings/RemoveAssetParams.js +4 -0
  435. package/base/lib/osBindings/RemoveAssetParams.js.map +1 -0
  436. package/base/lib/osBindings/RemoveDomainParams.d.ts +3 -0
  437. package/base/lib/osBindings/{ActionRequestInput.js → RemoveDomainParams.js} +1 -1
  438. package/base/lib/osBindings/RemoveDomainParams.js.map +1 -0
  439. package/base/lib/osBindings/RemoveMirrorParams.d.ts +7 -0
  440. package/base/lib/osBindings/RemoveMirrorParams.js +3 -0
  441. package/base/lib/osBindings/RemoveMirrorParams.js.map +1 -0
  442. package/base/lib/osBindings/RemovePackageFromCategoryParams.d.ts +5 -0
  443. package/base/lib/osBindings/RemovePackageFromCategoryParams.js +3 -0
  444. package/base/lib/osBindings/RemovePackageFromCategoryParams.js.map +1 -0
  445. package/base/lib/osBindings/RemovePackageParams.d.ts +8 -0
  446. package/base/lib/osBindings/RemovePackageParams.js +3 -0
  447. package/base/lib/osBindings/RemovePackageParams.js.map +1 -0
  448. package/base/lib/osBindings/RemovePackageSignerParams.d.ts +6 -0
  449. package/base/lib/osBindings/RemovePackageSignerParams.js +3 -0
  450. package/base/lib/osBindings/RemovePackageSignerParams.js.map +1 -0
  451. package/base/lib/osBindings/RemoveTunnelParams.d.ts +4 -0
  452. package/base/lib/osBindings/RemoveTunnelParams.js +3 -0
  453. package/base/lib/osBindings/RemoveTunnelParams.js.map +1 -0
  454. package/base/lib/osBindings/RenameGatewayParams.d.ts +5 -0
  455. package/base/lib/osBindings/RenameGatewayParams.js +3 -0
  456. package/base/lib/osBindings/RenameGatewayParams.js.map +1 -0
  457. package/base/lib/osBindings/RequestCommitment.d.ts +1 -1
  458. package/base/lib/osBindings/ResetPasswordParams.d.ts +5 -0
  459. package/base/lib/osBindings/ResetPasswordParams.js +3 -0
  460. package/base/lib/osBindings/ResetPasswordParams.js.map +1 -0
  461. package/base/lib/osBindings/RestartReason.d.ts +1 -0
  462. package/base/lib/osBindings/RestartReason.js +4 -0
  463. package/base/lib/osBindings/RestartReason.js.map +1 -0
  464. package/base/lib/osBindings/RestorePackageParams.d.ts +8 -0
  465. package/base/lib/osBindings/{ActionRequestTrigger.js → RestorePackageParams.js} +1 -1
  466. package/base/lib/osBindings/RestorePackageParams.js.map +1 -0
  467. package/base/lib/osBindings/RunActionParams.d.ts +6 -4
  468. package/base/lib/osBindings/ServerBackupReport.d.ts +4 -0
  469. package/base/lib/osBindings/ServerBackupReport.js +4 -0
  470. package/base/lib/osBindings/ServerBackupReport.js.map +1 -0
  471. package/base/lib/osBindings/ServerHostname.d.ts +1 -0
  472. package/base/lib/osBindings/ServerHostname.js +4 -0
  473. package/base/lib/osBindings/ServerHostname.js.map +1 -0
  474. package/base/lib/osBindings/ServerInfo.d.ts +12 -6
  475. package/base/lib/osBindings/ServerStatus.d.ts +5 -4
  476. package/base/lib/osBindings/ServiceInterface.d.ts +3 -3
  477. package/base/lib/osBindings/ServiceInterfaceType.d.ts +1 -1
  478. package/base/lib/osBindings/SessionList.d.ts +1 -1
  479. package/base/lib/osBindings/Sessions.d.ts +2 -5
  480. package/base/lib/osBindings/Sessions.js +0 -1
  481. package/base/lib/osBindings/Sessions.js.map +1 -1
  482. package/base/lib/osBindings/SetCountryParams.d.ts +3 -0
  483. package/base/lib/osBindings/SetCountryParams.js +4 -0
  484. package/base/lib/osBindings/SetCountryParams.js.map +1 -0
  485. package/base/lib/osBindings/SetDefaultOutboundParams.d.ts +4 -0
  486. package/base/lib/osBindings/SetDefaultOutboundParams.js +3 -0
  487. package/base/lib/osBindings/SetDefaultOutboundParams.js.map +1 -0
  488. package/base/lib/osBindings/SetDependenciesParams.d.ts +1 -1
  489. package/base/lib/osBindings/SetHealth.d.ts +9 -6
  490. package/base/lib/osBindings/SetIconParams.d.ts +1 -1
  491. package/base/lib/osBindings/SetLanguageParams.d.ts +3 -0
  492. package/base/lib/osBindings/SetLanguageParams.js +4 -0
  493. package/base/lib/osBindings/SetLanguageParams.js.map +1 -0
  494. package/base/lib/osBindings/SetMainStatus.d.ts +1 -1
  495. package/base/lib/osBindings/SetMainStatusStatus.d.ts +1 -1
  496. package/base/lib/osBindings/SetOutboundGatewayParams.d.ts +6 -0
  497. package/base/lib/osBindings/SetOutboundGatewayParams.js +3 -0
  498. package/base/lib/osBindings/SetOutboundGatewayParams.js.map +1 -0
  499. package/base/lib/osBindings/SetServerHostnameParams.d.ts +4 -0
  500. package/base/lib/osBindings/{BindingSetPublicParams.js → SetServerHostnameParams.js} +1 -1
  501. package/base/lib/osBindings/SetServerHostnameParams.js.map +1 -0
  502. package/base/lib/osBindings/SetStaticDnsParams.d.ts +3 -0
  503. package/base/lib/osBindings/SetStaticDnsParams.js +4 -0
  504. package/base/lib/osBindings/SetStaticDnsParams.js.map +1 -0
  505. package/base/lib/osBindings/SetWifiEnabledParams.d.ts +3 -0
  506. package/base/lib/osBindings/SetWifiEnabledParams.js +4 -0
  507. package/base/lib/osBindings/SetWifiEnabledParams.js.map +1 -0
  508. package/base/lib/osBindings/SetupExecuteParams.d.ts +7 -4
  509. package/base/lib/osBindings/SetupInfo.d.ts +5 -0
  510. package/base/lib/osBindings/SetupInfo.js +4 -0
  511. package/base/lib/osBindings/SetupInfo.js.map +1 -0
  512. package/base/lib/osBindings/SetupProgress.d.ts +2 -2
  513. package/base/lib/osBindings/SetupResult.d.ts +3 -3
  514. package/base/lib/osBindings/SetupResult.js +0 -1
  515. package/base/lib/osBindings/SetupResult.js.map +1 -1
  516. package/base/lib/osBindings/SetupStatusRes.d.ts +12 -7
  517. package/base/lib/osBindings/SideloadParams.d.ts +1 -0
  518. package/base/lib/osBindings/SideloadParams.js +4 -0
  519. package/base/lib/osBindings/SideloadParams.js.map +1 -0
  520. package/base/lib/osBindings/SideloadResponse.d.ts +5 -0
  521. package/base/lib/osBindings/SideloadResponse.js +3 -0
  522. package/base/lib/osBindings/SideloadResponse.js.map +1 -0
  523. package/base/lib/osBindings/SignAssetParams.d.ts +1 -1
  524. package/base/lib/osBindings/SignalStrength.d.ts +4 -0
  525. package/base/lib/osBindings/SignalStrength.js +4 -0
  526. package/base/lib/osBindings/SignalStrength.js.map +1 -0
  527. package/base/lib/osBindings/SignerInfo.d.ts +2 -2
  528. package/base/lib/osBindings/SmtpSecurity.d.ts +1 -0
  529. package/base/lib/osBindings/SmtpSecurity.js +4 -0
  530. package/base/lib/osBindings/SmtpSecurity.js.map +1 -0
  531. package/base/lib/osBindings/SmtpValue.d.ts +4 -2
  532. package/base/lib/osBindings/SmtpValue.js +0 -1
  533. package/base/lib/osBindings/SmtpValue.js.map +1 -1
  534. package/base/lib/osBindings/SshAddParams.d.ts +4 -0
  535. package/base/lib/osBindings/SshAddParams.js +3 -0
  536. package/base/lib/osBindings/SshAddParams.js.map +1 -0
  537. package/base/lib/osBindings/SshDeleteParams.d.ts +3 -0
  538. package/base/lib/osBindings/SshDeleteParams.js +4 -0
  539. package/base/lib/osBindings/SshDeleteParams.js.map +1 -0
  540. package/base/lib/osBindings/SshKeyResponse.d.ts +6 -0
  541. package/base/lib/osBindings/SshKeyResponse.js +4 -0
  542. package/base/lib/osBindings/SshKeyResponse.js.map +1 -0
  543. package/base/lib/osBindings/SshPubKey.d.ts +1 -0
  544. package/base/lib/osBindings/SshPubKey.js +4 -0
  545. package/base/lib/osBindings/SshPubKey.js.map +1 -0
  546. package/base/lib/osBindings/Ssid.d.ts +4 -0
  547. package/base/lib/osBindings/Ssid.js +4 -0
  548. package/base/lib/osBindings/Ssid.js.map +1 -0
  549. package/base/lib/osBindings/StartOsRecoveryInfo.d.ts +8 -0
  550. package/base/lib/osBindings/StartOsRecoveryInfo.js +3 -0
  551. package/base/lib/osBindings/StartOsRecoveryInfo.js.map +1 -0
  552. package/base/lib/osBindings/StartStop.d.ts +1 -1
  553. package/base/lib/osBindings/StatusInfo.d.ts +12 -0
  554. package/base/lib/osBindings/StatusInfo.js +3 -0
  555. package/base/lib/osBindings/StatusInfo.js.map +1 -0
  556. package/base/lib/osBindings/Task.d.ts +13 -0
  557. package/base/lib/osBindings/Task.js +3 -0
  558. package/base/lib/osBindings/Task.js.map +1 -0
  559. package/base/lib/osBindings/TaskCondition.d.ts +1 -0
  560. package/base/lib/osBindings/TaskCondition.js +4 -0
  561. package/base/lib/osBindings/TaskCondition.js.map +1 -0
  562. package/base/lib/osBindings/TaskEntry.d.ts +5 -0
  563. package/base/lib/osBindings/TaskEntry.js +3 -0
  564. package/base/lib/osBindings/TaskEntry.js.map +1 -0
  565. package/base/lib/osBindings/TaskInput.d.ts +4 -0
  566. package/base/lib/osBindings/TaskInput.js +4 -0
  567. package/base/lib/osBindings/TaskInput.js.map +1 -0
  568. package/base/lib/osBindings/TaskSeverity.d.ts +1 -0
  569. package/base/lib/osBindings/TaskSeverity.js +4 -0
  570. package/base/lib/osBindings/TaskSeverity.js.map +1 -0
  571. package/base/lib/osBindings/TaskTrigger.d.ts +5 -0
  572. package/base/lib/osBindings/TaskTrigger.js +3 -0
  573. package/base/lib/osBindings/TaskTrigger.js.map +1 -0
  574. package/base/lib/osBindings/TestSmtpParams.d.ts +5 -3
  575. package/base/lib/osBindings/TestSmtpParams.js +0 -1
  576. package/base/lib/osBindings/TestSmtpParams.js.map +1 -1
  577. package/base/lib/osBindings/TimeInfo.d.ts +4 -0
  578. package/base/lib/osBindings/TimeInfo.js +4 -0
  579. package/base/lib/osBindings/TimeInfo.js.map +1 -0
  580. package/base/lib/osBindings/UmountParams.d.ts +4 -0
  581. package/base/lib/osBindings/UmountParams.js +3 -0
  582. package/base/lib/osBindings/UmountParams.js.map +1 -0
  583. package/base/lib/osBindings/UninstallParams.d.ts +6 -0
  584. package/base/lib/osBindings/UninstallParams.js +3 -0
  585. package/base/lib/osBindings/UninstallParams.js.map +1 -0
  586. package/base/lib/osBindings/UpdatingState.d.ts +3 -2
  587. package/base/lib/osBindings/UrlPluginClearUrlsParams.d.ts +4 -0
  588. package/base/lib/osBindings/UrlPluginClearUrlsParams.js +3 -0
  589. package/base/lib/osBindings/UrlPluginClearUrlsParams.js.map +1 -0
  590. package/base/lib/osBindings/UrlPluginExportUrlParams.d.ts +7 -0
  591. package/base/lib/osBindings/UrlPluginExportUrlParams.js +3 -0
  592. package/base/lib/osBindings/UrlPluginExportUrlParams.js.map +1 -0
  593. package/base/lib/osBindings/UrlPluginRegisterParams.d.ts +4 -0
  594. package/base/lib/osBindings/UrlPluginRegisterParams.js +3 -0
  595. package/base/lib/osBindings/UrlPluginRegisterParams.js.map +1 -0
  596. package/base/lib/osBindings/UrlPluginRegistration.d.ts +4 -0
  597. package/base/lib/osBindings/UrlPluginRegistration.js +3 -0
  598. package/base/lib/osBindings/UrlPluginRegistration.js.map +1 -0
  599. package/base/lib/osBindings/VerifyCifsParams.d.ts +1 -1
  600. package/base/lib/osBindings/VersionSignerParams.d.ts +1 -1
  601. package/base/lib/osBindings/WifiAddParams.d.ts +4 -0
  602. package/base/lib/osBindings/WifiAddParams.js +4 -0
  603. package/base/lib/osBindings/WifiAddParams.js.map +1 -0
  604. package/base/lib/osBindings/WifiInfo.d.ts +2 -1
  605. package/base/lib/osBindings/WifiInfo.js +0 -1
  606. package/base/lib/osBindings/WifiInfo.js.map +1 -1
  607. package/base/lib/osBindings/WifiListInfo.d.ts +12 -0
  608. package/base/lib/osBindings/WifiListInfo.js +3 -0
  609. package/base/lib/osBindings/WifiListInfo.js.map +1 -0
  610. package/base/lib/osBindings/WifiListOut.d.ts +7 -0
  611. package/base/lib/osBindings/WifiListOut.js +3 -0
  612. package/base/lib/osBindings/WifiListOut.js.map +1 -0
  613. package/base/lib/osBindings/WifiSsidParams.d.ts +3 -0
  614. package/base/lib/osBindings/WifiSsidParams.js +4 -0
  615. package/base/lib/osBindings/WifiSsidParams.js.map +1 -0
  616. package/base/lib/osBindings/index.d.ts +312 -208
  617. package/base/lib/osBindings/index.js +35 -0
  618. package/base/lib/osBindings/index.js.map +1 -1
  619. package/base/lib/osBindings/tunnel/AddDeviceParams.d.ts +5 -0
  620. package/base/lib/osBindings/tunnel/AddDeviceParams.js +4 -0
  621. package/base/lib/osBindings/tunnel/AddDeviceParams.js.map +1 -0
  622. package/base/lib/osBindings/tunnel/AddKeyParams.d.ts +5 -0
  623. package/base/lib/osBindings/tunnel/AddKeyParams.js +3 -0
  624. package/base/lib/osBindings/tunnel/AddKeyParams.js.map +1 -0
  625. package/base/lib/osBindings/tunnel/AddPortForwardParams.d.ts +5 -0
  626. package/base/lib/osBindings/tunnel/AddPortForwardParams.js +4 -0
  627. package/base/lib/osBindings/tunnel/AddPortForwardParams.js.map +1 -0
  628. package/base/lib/osBindings/tunnel/AddSubnetParams.d.ts +3 -0
  629. package/base/lib/osBindings/tunnel/AddSubnetParams.js +4 -0
  630. package/base/lib/osBindings/tunnel/AddSubnetParams.js.map +1 -0
  631. package/base/lib/osBindings/tunnel/AnyVerifyingKey.d.ts +1 -0
  632. package/base/lib/osBindings/tunnel/AnyVerifyingKey.js +4 -0
  633. package/base/lib/osBindings/tunnel/AnyVerifyingKey.js.map +1 -0
  634. package/base/lib/osBindings/tunnel/Base64.d.ts +1 -0
  635. package/base/lib/osBindings/tunnel/Base64.js +4 -0
  636. package/base/lib/osBindings/tunnel/Base64.js.map +1 -0
  637. package/base/lib/osBindings/tunnel/GatewayId.d.ts +1 -0
  638. package/base/lib/osBindings/tunnel/GatewayId.js +4 -0
  639. package/base/lib/osBindings/tunnel/GatewayId.js.map +1 -0
  640. package/base/lib/osBindings/tunnel/GatewayType.d.ts +1 -0
  641. package/base/lib/osBindings/tunnel/GatewayType.js +4 -0
  642. package/base/lib/osBindings/tunnel/GatewayType.js.map +1 -0
  643. package/base/lib/osBindings/tunnel/IpInfo.d.ts +11 -0
  644. package/base/lib/osBindings/tunnel/IpInfo.js +3 -0
  645. package/base/lib/osBindings/tunnel/IpInfo.js.map +1 -0
  646. package/base/lib/osBindings/tunnel/ListDevicesParams.d.ts +3 -0
  647. package/base/lib/osBindings/tunnel/ListDevicesParams.js +4 -0
  648. package/base/lib/osBindings/tunnel/ListDevicesParams.js.map +1 -0
  649. package/base/lib/osBindings/tunnel/NetworkInterfaceInfo.d.ts +8 -0
  650. package/base/lib/osBindings/tunnel/NetworkInterfaceInfo.js +3 -0
  651. package/base/lib/osBindings/tunnel/NetworkInterfaceInfo.js.map +1 -0
  652. package/base/lib/osBindings/tunnel/NetworkInterfaceType.d.ts +1 -0
  653. package/base/lib/osBindings/tunnel/NetworkInterfaceType.js +4 -0
  654. package/base/lib/osBindings/tunnel/NetworkInterfaceType.js.map +1 -0
  655. package/base/lib/osBindings/tunnel/Pem.d.ts +1 -0
  656. package/base/lib/osBindings/tunnel/Pem.js +4 -0
  657. package/base/lib/osBindings/tunnel/Pem.js.map +1 -0
  658. package/base/lib/osBindings/tunnel/PortForwardEntry.d.ts +5 -0
  659. package/base/lib/osBindings/tunnel/PortForwardEntry.js +4 -0
  660. package/base/lib/osBindings/tunnel/PortForwardEntry.js.map +1 -0
  661. package/base/lib/osBindings/tunnel/PortForwards.d.ts +4 -0
  662. package/base/lib/osBindings/tunnel/PortForwards.js +3 -0
  663. package/base/lib/osBindings/tunnel/PortForwards.js.map +1 -0
  664. package/base/lib/osBindings/tunnel/RemoveDeviceParams.d.ts +4 -0
  665. package/base/lib/osBindings/tunnel/RemoveDeviceParams.js +4 -0
  666. package/base/lib/osBindings/tunnel/RemoveDeviceParams.js.map +1 -0
  667. package/base/lib/osBindings/tunnel/RemoveKeyParams.d.ts +4 -0
  668. package/base/lib/osBindings/tunnel/RemoveKeyParams.js +3 -0
  669. package/base/lib/osBindings/tunnel/RemoveKeyParams.js.map +1 -0
  670. package/base/lib/osBindings/tunnel/RemovePortForwardParams.d.ts +3 -0
  671. package/base/lib/osBindings/tunnel/RemovePortForwardParams.js +4 -0
  672. package/base/lib/osBindings/tunnel/RemovePortForwardParams.js.map +1 -0
  673. package/base/lib/osBindings/tunnel/Session.d.ts +5 -0
  674. package/base/lib/osBindings/tunnel/Session.js +4 -0
  675. package/base/lib/osBindings/tunnel/Session.js.map +1 -0
  676. package/base/lib/osBindings/tunnel/Sessions.d.ts +4 -0
  677. package/base/lib/osBindings/tunnel/Sessions.js +3 -0
  678. package/base/lib/osBindings/tunnel/Sessions.js.map +1 -0
  679. package/base/lib/osBindings/tunnel/SetPasswordParams.d.ts +3 -0
  680. package/base/lib/osBindings/tunnel/SetPasswordParams.js +4 -0
  681. package/base/lib/osBindings/tunnel/SetPasswordParams.js.map +1 -0
  682. package/base/lib/osBindings/tunnel/SetPortForwardEnabledParams.d.ts +4 -0
  683. package/base/lib/osBindings/tunnel/SetPortForwardEnabledParams.js +4 -0
  684. package/base/lib/osBindings/tunnel/SetPortForwardEnabledParams.js.map +1 -0
  685. package/base/lib/osBindings/tunnel/ShowConfigParams.d.ts +5 -0
  686. package/base/lib/osBindings/tunnel/ShowConfigParams.js +4 -0
  687. package/base/lib/osBindings/tunnel/ShowConfigParams.js.map +1 -0
  688. package/base/lib/osBindings/tunnel/SignerInfo.d.ts +3 -0
  689. package/base/lib/osBindings/tunnel/SignerInfo.js +4 -0
  690. package/base/lib/osBindings/tunnel/SignerInfo.js.map +1 -0
  691. package/base/lib/osBindings/tunnel/SubnetParams.d.ts +3 -0
  692. package/base/lib/osBindings/tunnel/SubnetParams.js +4 -0
  693. package/base/lib/osBindings/tunnel/SubnetParams.js.map +1 -0
  694. package/base/lib/osBindings/tunnel/TunnelCertData.d.ts +5 -0
  695. package/base/lib/osBindings/tunnel/TunnelCertData.js +3 -0
  696. package/base/lib/osBindings/tunnel/TunnelCertData.js.map +1 -0
  697. package/base/lib/osBindings/tunnel/TunnelDatabase.d.ts +21 -0
  698. package/base/lib/osBindings/tunnel/TunnelDatabase.js +3 -0
  699. package/base/lib/osBindings/tunnel/TunnelDatabase.js.map +1 -0
  700. package/base/lib/osBindings/tunnel/TunnelUpdateResult.d.ts +14 -0
  701. package/base/lib/osBindings/tunnel/TunnelUpdateResult.js +4 -0
  702. package/base/lib/osBindings/tunnel/TunnelUpdateResult.js.map +1 -0
  703. package/base/lib/osBindings/tunnel/UpdatePortForwardLabelParams.d.ts +4 -0
  704. package/base/lib/osBindings/tunnel/UpdatePortForwardLabelParams.js +4 -0
  705. package/base/lib/osBindings/tunnel/UpdatePortForwardLabelParams.js.map +1 -0
  706. package/base/lib/osBindings/tunnel/WebserverInfo.d.ts +6 -0
  707. package/base/lib/osBindings/tunnel/WebserverInfo.js +3 -0
  708. package/base/lib/osBindings/tunnel/WebserverInfo.js.map +1 -0
  709. package/base/lib/osBindings/tunnel/WgConfig.d.ts +6 -0
  710. package/base/lib/osBindings/tunnel/WgConfig.js +3 -0
  711. package/base/lib/osBindings/tunnel/WgConfig.js.map +1 -0
  712. package/base/lib/osBindings/tunnel/WgServer.d.ts +7 -0
  713. package/base/lib/osBindings/tunnel/WgServer.js +3 -0
  714. package/base/lib/osBindings/tunnel/WgServer.js.map +1 -0
  715. package/base/lib/osBindings/tunnel/WgSubnetClients.d.ts +4 -0
  716. package/base/lib/osBindings/tunnel/WgSubnetClients.js +3 -0
  717. package/base/lib/osBindings/tunnel/WgSubnetClients.js.map +1 -0
  718. package/base/lib/osBindings/tunnel/WgSubnetConfig.d.ts +5 -0
  719. package/base/lib/osBindings/tunnel/WgSubnetConfig.js +3 -0
  720. package/base/lib/osBindings/tunnel/WgSubnetConfig.js.map +1 -0
  721. package/base/lib/osBindings/tunnel/WgSubnetMap.d.ts +4 -0
  722. package/base/lib/osBindings/tunnel/WgSubnetMap.js +3 -0
  723. package/base/lib/osBindings/tunnel/WgSubnetMap.js.map +1 -0
  724. package/base/lib/osBindings/tunnel/index.d.ts +35 -0
  725. package/base/lib/osBindings/tunnel/index.js +3 -0
  726. package/base/lib/osBindings/tunnel/index.js.map +1 -0
  727. package/base/lib/s9pk/index.d.ts +69 -4
  728. package/base/lib/s9pk/index.js +89 -26
  729. package/base/lib/s9pk/index.js.map +1 -1
  730. package/base/lib/s9pk/merkleArchive/directoryContents.d.ts +1 -1
  731. package/base/lib/s9pk/merkleArchive/directoryContents.js +2 -2
  732. package/base/lib/s9pk/merkleArchive/fileContents.d.ts +1 -1
  733. package/base/lib/s9pk/merkleArchive/fileContents.js +1 -1
  734. package/base/lib/s9pk/merkleArchive/index.d.ts +3 -3
  735. package/base/lib/s9pk/merkleArchive/index.js +8 -8
  736. package/base/lib/s9pk/merkleArchive/varint.js +1 -1
  737. package/base/lib/types/ManifestTypes.d.ts +47 -30
  738. package/base/lib/types.d.ts +102 -48
  739. package/base/lib/types.js +29 -2
  740. package/base/lib/types.js.map +1 -1
  741. package/base/lib/util/AbortedError.d.ts +7 -0
  742. package/base/lib/util/AbortedError.js +14 -0
  743. package/base/lib/util/AbortedError.js.map +1 -0
  744. package/base/lib/util/Drop.d.ts +47 -0
  745. package/base/lib/util/Drop.js +130 -0
  746. package/base/lib/util/Drop.js.map +1 -0
  747. package/base/lib/util/GetContainerIp.d.ts +13 -0
  748. package/base/lib/util/GetContainerIp.js +16 -0
  749. package/base/lib/util/GetContainerIp.js.map +1 -0
  750. package/base/lib/util/GetHostInfo.d.ts +15 -0
  751. package/base/lib/util/GetHostInfo.js +16 -0
  752. package/base/lib/util/GetHostInfo.js.map +1 -0
  753. package/base/lib/util/GetOutboundGateway.d.ts +7 -0
  754. package/base/lib/util/GetOutboundGateway.js +15 -0
  755. package/base/lib/util/GetOutboundGateway.js.map +1 -0
  756. package/base/lib/util/GetServiceManifest.d.ts +18 -0
  757. package/base/lib/util/GetServiceManifest.js +24 -0
  758. package/base/lib/util/GetServiceManifest.js.map +1 -0
  759. package/base/lib/util/GetSslCertificate.d.ts +14 -0
  760. package/base/lib/util/GetSslCertificate.js +16 -0
  761. package/base/lib/util/GetSslCertificate.js.map +1 -0
  762. package/base/lib/util/GetStatus.d.ts +13 -0
  763. package/base/lib/util/GetStatus.js +16 -0
  764. package/base/lib/util/GetStatus.js.map +1 -0
  765. package/base/lib/util/GetSystemSmtp.d.ts +6 -20
  766. package/base/lib/util/GetSystemSmtp.js +6 -54
  767. package/base/lib/util/GetSystemSmtp.js.map +1 -1
  768. package/base/lib/util/Watchable.d.ts +56 -0
  769. package/base/lib/util/Watchable.js +138 -0
  770. package/base/lib/util/Watchable.js.map +1 -0
  771. package/base/lib/util/asError.d.ts +8 -0
  772. package/base/lib/util/asError.js +10 -2
  773. package/base/lib/util/asError.js.map +1 -1
  774. package/base/lib/util/deepEqual.d.ts +19 -1
  775. package/base/lib/util/deepEqual.js +24 -4
  776. package/base/lib/util/deepEqual.js.map +1 -1
  777. package/base/lib/util/deepMerge.d.ts +18 -0
  778. package/base/lib/util/deepMerge.js +27 -4
  779. package/base/lib/util/deepMerge.js.map +1 -1
  780. package/base/lib/util/getDefaultString.d.ts +9 -1
  781. package/base/lib/util/getDefaultString.js +9 -1
  782. package/base/lib/util/getDefaultString.js.map +1 -1
  783. package/base/lib/util/getRandomCharInSet.js +9 -9
  784. package/base/lib/util/getRandomString.d.ts +1 -1
  785. package/base/lib/util/getRandomString.js +1 -1
  786. package/base/lib/util/getServiceInterface.d.ts +147 -45
  787. package/base/lib/util/getServiceInterface.js +156 -178
  788. package/base/lib/util/getServiceInterface.js.map +1 -1
  789. package/base/lib/util/getServiceInterfaces.d.ts +16 -21
  790. package/base/lib/util/getServiceInterfaces.js +21 -67
  791. package/base/lib/util/getServiceInterfaces.js.map +1 -1
  792. package/base/lib/util/graph.d.ts +59 -1
  793. package/base/lib/util/graph.js +59 -0
  794. package/base/lib/util/graph.js.map +1 -1
  795. package/base/lib/util/inMs.d.ts +15 -0
  796. package/base/lib/util/inMs.js +22 -7
  797. package/base/lib/util/inMs.js.map +1 -1
  798. package/base/lib/util/index.d.ts +27 -19
  799. package/base/lib/util/index.js +26 -8
  800. package/base/lib/util/index.js.map +1 -1
  801. package/base/lib/util/ip.d.ts +111 -0
  802. package/base/lib/util/ip.js +338 -0
  803. package/base/lib/util/ip.js.map +1 -0
  804. package/base/lib/util/logErrorOnce.d.ts +1 -0
  805. package/base/lib/util/logErrorOnce.js +13 -0
  806. package/base/lib/util/logErrorOnce.js.map +1 -0
  807. package/base/lib/util/once.d.ts +13 -0
  808. package/base/lib/util/once.js +13 -0
  809. package/base/lib/util/once.js.map +1 -1
  810. package/base/lib/util/patterns.d.ts +12 -3
  811. package/base/lib/util/patterns.js +21 -18
  812. package/base/lib/util/patterns.js.map +1 -1
  813. package/base/lib/util/regexes.d.ts +41 -2
  814. package/base/lib/util/regexes.js +45 -3
  815. package/base/lib/util/regexes.js.map +1 -1
  816. package/base/lib/util/splitCommand.d.ts +16 -1
  817. package/base/lib/util/splitCommand.js +16 -3
  818. package/base/lib/util/splitCommand.js.map +1 -1
  819. package/base/lib/util/stringFromStdErrOut.d.ts +7 -0
  820. package/base/lib/util/stringFromStdErrOut.js +7 -0
  821. package/base/lib/util/stringFromStdErrOut.js.map +1 -1
  822. package/base/lib/util/typeHelpers.d.ts +39 -4
  823. package/base/lib/util/typeHelpers.js +8 -1
  824. package/base/lib/util/typeHelpers.js.map +1 -1
  825. package/base/lib/zExport.d.ts +14 -0
  826. package/base/lib/zExport.js +92 -0
  827. package/package/lib/StartSdk.d.ts +2496 -603
  828. package/package/lib/StartSdk.js +289 -493
  829. package/package/lib/StartSdk.js.map +1 -1
  830. package/package/lib/backup/Backups.d.ts +151 -8
  831. package/package/lib/backup/Backups.js +388 -42
  832. package/package/lib/backup/Backups.js.map +1 -1
  833. package/package/lib/backup/index.d.ts +2 -2
  834. package/package/lib/backup/setupBackups.d.ts +22 -5
  835. package/package/lib/backup/setupBackups.js +16 -5
  836. package/package/lib/backup/setupBackups.js.map +1 -1
  837. package/package/lib/health/HealthCheck.d.ts +20 -5
  838. package/package/lib/health/HealthCheck.js +24 -16
  839. package/package/lib/health/HealthCheck.js.map +1 -1
  840. package/package/lib/health/checkFns/HealthCheckResult.d.ts +8 -2
  841. package/package/lib/health/checkFns/checkPortListening.d.ts +2 -2
  842. package/package/lib/health/checkFns/checkPortListening.js +7 -7
  843. package/package/lib/health/checkFns/checkWebUrl.d.ts +3 -3
  844. package/package/lib/health/checkFns/checkWebUrl.js +2 -2
  845. package/package/lib/health/checkFns/index.d.ts +12 -4
  846. package/package/lib/health/checkFns/index.js +9 -1
  847. package/package/lib/health/checkFns/index.js.map +1 -1
  848. package/package/lib/health/checkFns/runHealthScript.d.ts +3 -3
  849. package/package/lib/health/checkFns/runHealthScript.js +2 -2
  850. package/package/lib/health/index.d.ts +2 -2
  851. package/package/lib/i18n/index.d.ts +24 -0
  852. package/package/lib/i18n/index.js +59 -0
  853. package/package/lib/i18n/index.js.map +1 -0
  854. package/package/lib/index.d.ts +22 -23
  855. package/package/lib/index.js +7 -9
  856. package/package/lib/index.js.map +1 -1
  857. package/package/lib/mainFn/CommandController.d.ts +39 -22
  858. package/package/lib/mainFn/CommandController.js +100 -36
  859. package/package/lib/mainFn/CommandController.js.map +1 -1
  860. package/package/lib/mainFn/Daemon.d.ts +67 -23
  861. package/package/lib/mainFn/Daemon.js +155 -33
  862. package/package/lib/mainFn/Daemon.js.map +1 -1
  863. package/package/lib/mainFn/Daemons.d.ts +114 -39
  864. package/package/lib/mainFn/Daemons.js +147 -36
  865. package/package/lib/mainFn/Daemons.js.map +1 -1
  866. package/package/lib/mainFn/HealthDaemon.d.ts +17 -15
  867. package/package/lib/mainFn/HealthDaemon.js +115 -78
  868. package/package/lib/mainFn/HealthDaemon.js.map +1 -1
  869. package/package/lib/mainFn/Mounts.d.ts +72 -47
  870. package/package/lib/mainFn/Mounts.js +57 -58
  871. package/package/lib/mainFn/Mounts.js.map +1 -1
  872. package/package/lib/mainFn/Oneshot.d.ts +12 -0
  873. package/package/lib/mainFn/Oneshot.js +23 -0
  874. package/package/lib/mainFn/Oneshot.js.map +1 -0
  875. package/package/lib/mainFn/index.d.ts +7 -7
  876. package/package/lib/mainFn/index.js +2 -1
  877. package/package/lib/mainFn/index.js.map +1 -1
  878. package/package/lib/manifest/setupManifest.d.ts +13 -4
  879. package/package/lib/manifest/setupManifest.js +28 -15
  880. package/package/lib/manifest/setupManifest.js.map +1 -1
  881. package/package/lib/test/output.sdk.d.ts +2510 -921
  882. package/package/lib/test/output.sdk.js +15 -19
  883. package/package/lib/test/output.sdk.js.map +1 -1
  884. package/package/lib/trigger/TriggerInput.d.ts +1 -1
  885. package/package/lib/trigger/changeOnFirstSuccess.d.ts +1 -1
  886. package/package/lib/trigger/changeOnFirstSuccess.js +1 -1
  887. package/package/lib/trigger/index.d.ts +3 -3
  888. package/package/lib/trigger/lastStatus.d.ts +2 -2
  889. package/package/lib/trigger/lastStatus.js +1 -1
  890. package/package/lib/trigger/successFailure.d.ts +1 -1
  891. package/package/lib/types.d.ts +2 -2
  892. package/package/lib/util/GetServiceManifest.d.ts +36 -0
  893. package/package/lib/util/GetServiceManifest.js +117 -0
  894. package/package/lib/util/GetServiceManifest.js.map +1 -0
  895. package/package/lib/util/GetSslCertificate.d.ts +13 -4
  896. package/package/lib/util/GetSslCertificate.js +37 -9
  897. package/package/lib/util/GetSslCertificate.js.map +1 -1
  898. package/package/lib/util/SubContainer.d.ts +213 -46
  899. package/package/lib/util/SubContainer.js +248 -96
  900. package/package/lib/util/SubContainer.js.map +1 -1
  901. package/package/lib/util/Volume.d.ts +48 -0
  902. package/package/lib/util/Volume.js +91 -0
  903. package/package/lib/util/Volume.js.map +1 -0
  904. package/package/lib/util/fileHelper.d.ts +99 -22
  905. package/package/lib/util/fileHelper.js +168 -104
  906. package/package/lib/util/fileHelper.js.map +1 -1
  907. package/package/lib/util/index.d.ts +3 -4
  908. package/package/lib/util/index.js +4 -6
  909. package/package/lib/util/index.js.map +1 -1
  910. package/package/lib/version/VersionGraph.d.ts +81 -8
  911. package/package/lib/version/VersionGraph.js +164 -29
  912. package/package/lib/version/VersionGraph.js.map +1 -1
  913. package/package/lib/version/VersionInfo.d.ts +28 -6
  914. package/package/lib/version/VersionInfo.js +22 -10
  915. package/package/lib/version/VersionInfo.js.map +1 -1
  916. package/package/lib/version/index.d.ts +2 -2
  917. package/package/package.json +65 -0
  918. package/package.json +15 -14
  919. package/base/lib/osBindings/ActionRequest.d.ts +0 -13
  920. package/base/lib/osBindings/ActionRequest.js.map +0 -1
  921. package/base/lib/osBindings/ActionRequestCondition.d.ts +0 -1
  922. package/base/lib/osBindings/ActionRequestCondition.js.map +0 -1
  923. package/base/lib/osBindings/ActionRequestEntry.d.ts +0 -5
  924. package/base/lib/osBindings/ActionRequestEntry.js.map +0 -1
  925. package/base/lib/osBindings/ActionRequestInput.d.ts +0 -4
  926. package/base/lib/osBindings/ActionRequestInput.js.map +0 -1
  927. package/base/lib/osBindings/ActionRequestTrigger.d.ts +0 -5
  928. package/base/lib/osBindings/ActionRequestTrigger.js.map +0 -1
  929. package/base/lib/osBindings/ActionSeverity.d.ts +0 -1
  930. package/base/lib/osBindings/ActionSeverity.js.map +0 -1
  931. package/base/lib/osBindings/BindingSetPublicParams.d.ts +0 -4
  932. package/base/lib/osBindings/BindingSetPublicParams.js.map +0 -1
  933. package/base/lib/osBindings/ClearActionRequestsParams.js +0 -4
  934. package/base/lib/osBindings/ClearActionRequestsParams.js.map +0 -1
  935. package/base/lib/osBindings/DependencyKind.d.ts +0 -1
  936. package/base/lib/osBindings/DependencyKind.js.map +0 -1
  937. package/base/lib/osBindings/DomainConfig.d.ts +0 -5
  938. package/base/lib/osBindings/DomainConfig.js.map +0 -1
  939. package/base/lib/osBindings/ExposeForDependentsParams.d.ts +0 -3
  940. package/base/lib/osBindings/ExposeForDependentsParams.js +0 -4
  941. package/base/lib/osBindings/ExposeForDependentsParams.js.map +0 -1
  942. package/base/lib/osBindings/ForgetInterfaceParams.d.ts +0 -3
  943. package/base/lib/osBindings/ForgetInterfaceParams.js +0 -4
  944. package/base/lib/osBindings/ForgetInterfaceParams.js.map +0 -1
  945. package/base/lib/osBindings/GetStoreParams.d.ts +0 -7
  946. package/base/lib/osBindings/GetStoreParams.js.map +0 -1
  947. package/base/lib/osBindings/HostAddress.d.ts +0 -10
  948. package/base/lib/osBindings/HostAddress.js.map +0 -1
  949. package/base/lib/osBindings/IpHostname.d.ts +0 -23
  950. package/base/lib/osBindings/IpHostname.js.map +0 -1
  951. package/base/lib/osBindings/MainStatus.d.ts +0 -31
  952. package/base/lib/osBindings/MainStatus.js.map +0 -1
  953. package/base/lib/osBindings/NetworkInterfaceSetInboundParams.d.ts +0 -4
  954. package/base/lib/osBindings/NetworkInterfaceSetInboundParams.js +0 -4
  955. package/base/lib/osBindings/NetworkInterfaceSetInboundParams.js.map +0 -1
  956. package/base/lib/osBindings/OnionHostname.d.ts +0 -5
  957. package/base/lib/osBindings/OnionHostname.js.map +0 -1
  958. package/base/lib/osBindings/PackageSignerParams.d.ts +0 -6
  959. package/base/lib/osBindings/PackageSignerParams.js +0 -3
  960. package/base/lib/osBindings/PackageSignerParams.js.map +0 -1
  961. package/base/lib/osBindings/ProcedureId.d.ts +0 -4
  962. package/base/lib/osBindings/ProcedureId.js.map +0 -1
  963. package/base/lib/osBindings/RequestActionParams.d.ts +0 -15
  964. package/base/lib/osBindings/RequestActionParams.js +0 -3
  965. package/base/lib/osBindings/RequestActionParams.js.map +0 -1
  966. package/base/lib/osBindings/SetStoreParams.d.ts +0 -4
  967. package/base/lib/osBindings/SetStoreParams.js +0 -4
  968. package/base/lib/osBindings/SetStoreParams.js.map +0 -1
  969. package/base/lib/osBindings/UnsetInboundParams.d.ts +0 -3
  970. package/base/lib/osBindings/UnsetInboundParams.js +0 -4
  971. package/base/lib/osBindings/UnsetInboundParams.js.map +0 -1
  972. package/base/lib/util/Hostname.d.ts +0 -2
  973. package/base/lib/util/Hostname.js +0 -25
  974. package/base/lib/util/Hostname.js.map +0 -1
  975. package/base/lib/util/PathBuilder.d.ts +0 -13
  976. package/base/lib/util/PathBuilder.js +0 -23
  977. package/base/lib/util/PathBuilder.js.map +0 -1
  978. package/package/lib/inits/index.d.ts +0 -3
  979. package/package/lib/inits/index.js +0 -6
  980. package/package/lib/inits/index.js.map +0 -1
  981. package/package/lib/inits/setupInit.d.ts +0 -14
  982. package/package/lib/inits/setupInit.js +0 -56
  983. package/package/lib/inits/setupInit.js.map +0 -1
  984. package/package/lib/inits/setupInstall.d.ts +0 -20
  985. package/package/lib/inits/setupInstall.js +0 -46
  986. package/package/lib/inits/setupInstall.js.map +0 -1
  987. package/package/lib/inits/setupUninstall.d.ts +0 -11
  988. package/package/lib/inits/setupUninstall.js +0 -23
  989. package/package/lib/inits/setupUninstall.js.map +0 -1
  990. package/package/lib/store/getStore.d.ts +0 -34
  991. package/package/lib/store/getStore.js +0 -77
  992. package/package/lib/store/getStore.js.map +0 -1
  993. package/package/lib/store/setupExposeStore.d.ts +0 -16
  994. package/package/lib/store/setupExposeStore.js +0 -21
  995. package/package/lib/store/setupExposeStore.js.map +0 -1
  996. package/package/lib/test/health.readyCheck.test.d.ts +0 -1
  997. package/package/lib/test/health.readyCheck.test.js +0 -18
  998. package/package/lib/test/health.readyCheck.test.js.map +0 -1
  999. package/package/lib/test/host.test.d.ts +0 -1
  1000. package/package/lib/test/host.test.js +0 -29
  1001. package/package/lib/test/host.test.js.map +0 -1
  1002. package/package/lib/test/inputSpecBuilder.test.d.ts +0 -1
  1003. package/package/lib/test/inputSpecBuilder.test.js +0 -784
  1004. package/package/lib/test/inputSpecBuilder.test.js.map +0 -1
  1005. package/package/lib/test/makeOutput.d.ts +0 -1
  1006. package/package/lib/test/makeOutput.js +0 -398
  1007. package/package/lib/test/makeOutput.js.map +0 -1
  1008. package/package/lib/test/output.d.ts +0 -187
  1009. package/package/lib/test/output.js +0 -354
  1010. package/package/lib/test/output.js.map +0 -1
  1011. package/package/lib/test/output.test.d.ts +0 -2
  1012. package/package/lib/test/output.test.js +0 -117
  1013. package/package/lib/test/output.test.js.map +0 -1
  1014. package/package/lib/test/store.test.d.ts +0 -1
  1015. package/package/lib/test/store.test.js +0 -90
  1016. package/package/lib/test/store.test.js.map +0 -1
  1017. package/package/lib/util/Drop.d.ts +0 -12
  1018. package/package/lib/util/Drop.js +0 -41
  1019. package/package/lib/util/Drop.js.map +0 -1
  1020. package/package/scripts/oldSpecToBuilder.d.ts +0 -6
  1021. package/package/scripts/oldSpecToBuilder.js +0 -331
  1022. package/package/scripts/oldSpecToBuilder.js.map +0 -1
@@ -1,33 +1,50 @@
1
- import * as T from "../../../base/lib/types";
2
- import { SubContainerHandle, SubContainer } from "../util/SubContainer";
3
- import { Drop } from "../util";
4
- export declare class CommandController<Manifest extends T.SDKManifest> extends Drop {
5
- readonly runningAnswer: Promise<unknown>;
1
+ import * as T from '../../../base/lib/types';
2
+ import { SubContainer } from '../util/SubContainer';
3
+ import { Drop } from '../util';
4
+ import { DaemonCommandType } from './Daemons';
5
+ /**
6
+ * Low-level controller for a single running process inside a subcontainer (or as a JS function).
7
+ *
8
+ * Manages the child process lifecycle: spawning, waiting, and signal-based termination.
9
+ * Used internally by {@link Daemon} to manage individual command executions.
10
+ *
11
+ * @typeParam Manifest - The service manifest type
12
+ * @typeParam C - The subcontainer type, or `null` for JS-only commands
13
+ */
14
+ export declare class CommandController<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> extends Drop {
15
+ readonly runningAnswer: Promise<null>;
6
16
  private state;
7
17
  private readonly subcontainer;
8
18
  private process;
9
19
  readonly sigtermTimeout: number;
10
20
  private constructor();
11
- static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, command: T.CommandType, options: {
12
- sigtermTimeout?: number;
13
- runAsInit?: boolean;
14
- env?: {
15
- [variable: string]: string;
16
- } | undefined;
17
- cwd?: string | undefined;
18
- user?: string | undefined;
19
- onStdout?: (chunk: Buffer | string | any) => void;
20
- onStderr?: (chunk: Buffer | string | any) => void;
21
- }) => Promise<CommandController<Manifest>>;
22
- get subContainerHandle(): SubContainerHandle;
23
- wait({ timeout, keepSubcontainer }?: {
21
+ /**
22
+ * Factory method to create a new CommandController.
23
+ *
24
+ * Returns a curried async function: `(effects, subcontainer, exec) => CommandController`.
25
+ * If the exec spec has an `fn` property, runs the function; otherwise spawns a shell command
26
+ * in the subcontainer.
27
+ */
28
+ static of<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null>(): (effects: T.Effects, subcontainer: C, exec: DaemonCommandType<Manifest, C>) => Promise<CommandController<Manifest, C>>;
29
+ /**
30
+ * Wait for the command to finish. Optionally terminate after a timeout.
31
+ * @param options.timeout - Milliseconds to wait before terminating. Defaults to no timeout.
32
+ */
33
+ wait({ timeout }?: {
24
34
  timeout?: number | undefined;
25
- keepSubcontainer?: boolean | undefined;
26
- }): Promise<unknown>;
27
- term({ signal, timeout, keepSubcontainer, }?: {
35
+ }): Promise<void>;
36
+ /**
37
+ * Terminate the running command by sending a signal.
38
+ *
39
+ * Sends the specified signal (default: SIGTERM), then escalates to SIGKILL
40
+ * after the timeout expires. Destroys the subcontainer after the process exits.
41
+ *
42
+ * @param options.signal - The signal to send (default: SIGTERM)
43
+ * @param options.timeout - Milliseconds before escalating to SIGKILL
44
+ */
45
+ term({ signal, timeout }?: {
28
46
  signal?: NodeJS.Signals | undefined;
29
47
  timeout?: number | undefined;
30
- keepSubcontainer?: boolean | undefined;
31
48
  }): Promise<void>;
32
49
  onDrop(): void;
33
50
  }
@@ -37,9 +37,18 @@ exports.CommandController = void 0;
37
37
  const _1 = require(".");
38
38
  const types_1 = require("../../../base/lib/types");
39
39
  const T = __importStar(require("../../../base/lib/types"));
40
- const SubContainer_1 = require("../util/SubContainer");
41
40
  const util_1 = require("../util");
42
41
  const fs = __importStar(require("node:fs/promises"));
42
+ const logErrorOnce_1 = require("../../../base/lib/util/logErrorOnce");
43
+ /**
44
+ * Low-level controller for a single running process inside a subcontainer (or as a JS function).
45
+ *
46
+ * Manages the child process lifecycle: spawning, waiting, and signal-based termination.
47
+ * Used internally by {@link Daemon} to manage individual command executions.
48
+ *
49
+ * @typeParam Manifest - The service manifest type
50
+ * @typeParam C - The subcontainer type, or `null` for JS-only commands
51
+ */
43
52
  class CommandController extends util_1.Drop {
44
53
  constructor(runningAnswer, state, subcontainer, process, sigtermTimeout = _1.DEFAULT_SIGTERM_TIMEOUT) {
45
54
  super();
@@ -49,45 +58,73 @@ class CommandController extends util_1.Drop {
49
58
  this.process = process;
50
59
  this.sigtermTimeout = sigtermTimeout;
51
60
  }
61
+ /**
62
+ * Factory method to create a new CommandController.
63
+ *
64
+ * Returns a curried async function: `(effects, subcontainer, exec) => CommandController`.
65
+ * If the exec spec has an `fn` property, runs the function; otherwise spawns a shell command
66
+ * in the subcontainer.
67
+ */
52
68
  static of() {
53
- return async (effects, subcontainer, command, options) => {
69
+ return async (effects, subcontainer, exec) => {
54
70
  try {
71
+ if ('fn' in exec) {
72
+ const abort = new AbortController();
73
+ const cell = {
74
+ ctrl: new CommandController(exec.fn(subcontainer, abort.signal).then(async (command) => {
75
+ if (subcontainer && command && !abort.signal.aborted) {
76
+ const newCtrl = (await CommandController.of()(effects, subcontainer, command)).leak();
77
+ Object.assign(cell.ctrl, newCtrl);
78
+ return await cell.ctrl.runningAnswer;
79
+ }
80
+ else {
81
+ cell.ctrl.state.exited = true;
82
+ }
83
+ return null;
84
+ }), { exited: false }, subcontainer, abort, exec.sigtermTimeout),
85
+ };
86
+ return cell.ctrl;
87
+ }
55
88
  let commands;
56
- if (command instanceof T.UseEntrypoint) {
89
+ if (T.isUseEntrypoint(exec.command)) {
57
90
  const imageMeta = await fs
58
91
  .readFile(`/media/startos/images/${subcontainer.imageId}.json`, {
59
- encoding: "utf8",
92
+ encoding: 'utf8',
60
93
  })
61
- .catch(() => "{}")
94
+ .catch(() => '{}')
62
95
  .then(JSON.parse);
63
96
  commands = imageMeta.entrypoint ?? [];
64
- commands = commands.concat(...(command.overridCmd ?? imageMeta.cmd ?? []));
97
+ commands = commands.concat(...(exec.command.overridCmd ?? imageMeta.cmd ?? []));
65
98
  }
66
99
  else
67
- commands = (0, util_1.splitCommand)(command);
100
+ commands = (0, util_1.splitCommand)(exec.command);
68
101
  let childProcess;
69
- if (options.runAsInit) {
102
+ if (exec.runAsInit) {
70
103
  childProcess = await subcontainer.launch(commands, {
71
- env: options.env,
104
+ env: exec.env,
105
+ user: exec.user,
106
+ cwd: exec.cwd,
72
107
  });
73
108
  }
74
109
  else {
75
110
  childProcess = await subcontainer.spawn(commands, {
76
- env: options.env,
77
- stdio: options.onStdout || options.onStderr ? "pipe" : "inherit",
111
+ env: exec.env,
112
+ user: exec.user,
113
+ cwd: exec.cwd,
114
+ stdio: exec.onStdout || exec.onStderr ? 'pipe' : 'inherit',
78
115
  });
79
116
  }
80
- if (options.onStdout)
81
- childProcess.stdout?.on("data", options.onStdout);
82
- if (options.onStderr)
83
- childProcess.stderr?.on("data", options.onStderr);
117
+ if (exec.onStdout)
118
+ childProcess.stdout?.on('data', exec.onStdout);
119
+ if (exec.onStderr)
120
+ childProcess.stderr?.on('data', exec.onStderr);
84
121
  const state = { exited: false };
85
122
  const answer = new Promise((resolve, reject) => {
86
- childProcess.on("exit", (code) => {
123
+ childProcess.on('exit', (code) => {
87
124
  state.exited = true;
88
125
  if (code === 0 ||
89
126
  code === 143 ||
90
- (code === null && childProcess.signalCode == "SIGTERM")) {
127
+ (code === null && childProcess.signalCode == 'SIGTERM')) {
91
128
  return resolve(null);
92
129
  }
93
130
  if (code) {
@@ -98,55 +135,82 @@ class CommandController extends util_1.Drop {
98
135
  }
99
136
  });
100
137
  });
101
- return new CommandController(answer, state, subcontainer, childProcess, options.sigtermTimeout);
138
+ return new CommandController(answer, state, subcontainer, childProcess, exec.sigtermTimeout);
102
139
  }
103
140
  catch (e) {
104
- await subcontainer.destroy();
141
+ await subcontainer?.destroy();
105
142
  throw e;
106
143
  }
107
144
  };
108
145
  }
109
- get subContainerHandle() {
110
- return new SubContainer_1.SubContainerHandle(this.subcontainer);
111
- }
112
- async wait({ timeout = types_1.NO_TIMEOUT, keepSubcontainer = false } = {}) {
146
+ /**
147
+ * Wait for the command to finish. Optionally terminate after a timeout.
148
+ * @param options.timeout - Milliseconds to wait before terminating. Defaults to no timeout.
149
+ */
150
+ async wait({ timeout = types_1.NO_TIMEOUT } = {}) {
113
151
  if (timeout > 0)
114
152
  setTimeout(() => {
115
- this.term({ keepSubcontainer });
153
+ this.term();
116
154
  }, timeout);
117
155
  try {
118
- return await this.runningAnswer;
156
+ if (timeout > 0 && this.process instanceof AbortController)
157
+ await Promise.race([
158
+ this.runningAnswer,
159
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Timed out waiting for js command to exit')), timeout * 2)),
160
+ ]);
161
+ else
162
+ await this.runningAnswer;
119
163
  }
120
164
  finally {
121
165
  if (!this.state.exited) {
122
- this.process.kill("SIGKILL");
166
+ if (this.process instanceof AbortController)
167
+ this.process.abort();
168
+ else
169
+ this.process.kill('SIGKILL');
123
170
  }
124
- if (!keepSubcontainer)
125
- await this.subcontainer.destroy();
171
+ await this.subcontainer?.destroy();
126
172
  }
127
173
  }
128
- async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout, keepSubcontainer = false, } = {}) {
174
+ /**
175
+ * Terminate the running command by sending a signal.
176
+ *
177
+ * Sends the specified signal (default: SIGTERM), then escalates to SIGKILL
178
+ * after the timeout expires. Destroys the subcontainer after the process exits.
179
+ *
180
+ * @param options.signal - The signal to send (default: SIGTERM)
181
+ * @param options.timeout - Milliseconds before escalating to SIGKILL
182
+ */
183
+ async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout } = {}) {
129
184
  try {
130
185
  if (!this.state.exited) {
131
- if (signal !== "SIGKILL") {
186
+ if (this.process instanceof AbortController)
187
+ return this.process.abort();
188
+ if (signal !== 'SIGKILL') {
132
189
  setTimeout(() => {
133
- if (!this.state.exited)
134
- this.process.kill("SIGKILL");
190
+ if (this.process instanceof AbortController)
191
+ this.process.abort();
192
+ else
193
+ this.process.kill('SIGKILL');
135
194
  }, timeout);
136
195
  }
137
196
  if (!this.process.kill(signal)) {
138
197
  console.error(`failed to send signal ${signal} to pid ${this.process.pid}`);
139
198
  }
140
199
  }
141
- await this.runningAnswer;
200
+ if (this.process instanceof AbortController)
201
+ await Promise.race([
202
+ this.runningAnswer,
203
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Timed out waiting for js command to exit')), timeout * 2)),
204
+ ]);
205
+ else
206
+ await this.runningAnswer;
142
207
  }
143
208
  finally {
144
- if (!keepSubcontainer)
145
- await this.subcontainer.destroy();
209
+ await this.subcontainer?.destroy();
146
210
  }
147
211
  }
148
212
  onDrop() {
149
- this.term({ keepSubcontainer: true }).catch(console.error);
213
+ this.term().catch(logErrorOnce_1.logErrorOnce);
150
214
  }
151
215
  }
152
216
  exports.CommandController = CommandController;
@@ -1 +1 @@
1
- {"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAA2C;AAC3C,mDAA6D;AAE7D,2DAA4C;AAC5C,uDAI6B;AAC7B,kCAA4C;AAE5C,qDAAsC;AAGtC,MAAa,iBAAkD,SAAQ,WAAI;IACzE,YACW,aAA+B,EAChC,KAA0B,EACjB,YAAoC,EAC7C,OAAwB,EACvB,iBAAyB,0BAAuB;QAEzD,KAAK,EAAE,CAAA;QANE,kBAAa,GAAb,aAAa,CAAkB;QAChC,UAAK,GAAL,KAAK,CAAqB;QACjB,iBAAY,GAAZ,YAAY,CAAwB;QAC7C,YAAO,GAAP,OAAO,CAAiB;QACvB,mBAAc,GAAd,cAAc,CAAkC;IAG3D,CAAC;IACD,MAAM,CAAC,EAAE;QACP,OAAO,KAAK,EACV,OAAkB,EAClB,YAAoC,EACpC,OAAsB,EACtB,OAaC,EACD,EAAE;YACF,IAAI,CAAC;gBACH,IAAI,QAAkB,CAAA;gBACtB,IAAI,OAAO,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;oBACvC,MAAM,SAAS,GAAoB,MAAM,EAAE;yBACxC,QAAQ,CAAC,yBAAyB,YAAY,CAAC,OAAO,OAAO,EAAE;wBAC9D,QAAQ,EAAE,MAAM;qBACjB,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;yBACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACnB,QAAQ,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAA;oBACrC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAC/C,CAAA;gBACH,CAAC;;oBAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAA;gBAEvC,IAAI,YAA6B,CAAA;gBACjC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACjD,GAAG,EAAE,OAAO,CAAC,GAAG;qBACjB,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE;wBAChD,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;qBACjE,CAAC,CAAA;gBACJ,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ;oBAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACvE,IAAI,OAAO,CAAC,QAAQ;oBAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAEvE,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAC/B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;wBACnB,IACE,IAAI,KAAK,CAAC;4BACV,IAAI,KAAK,GAAG;4BACZ,CAAC,IAAI,KAAK,IAAI,IAAI,YAAY,CAAC,UAAU,IAAI,SAAS,CAAC,EACvD,CAAC;4BACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;wBACtB,CAAC;wBACD,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC,CACrD,CAAA;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,MAAM,CACX,IAAI,KAAK,CACP,GAAG,QAAQ,CAAC,CAAC,CAAC,uBAAuB,YAAY,CAAC,UAAU,EAAE,CAC/D,CACF,CAAA;wBACH,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBAEF,OAAO,IAAI,iBAAiB,CAC1B,MAAM,EACN,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,OAAO,CAAC,cAAc,CACvB,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;gBAC5B,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IACD,IAAI,kBAAkB;QACpB,OAAO,IAAI,iCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,kBAAU,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE;QAChE,IAAI,OAAO,GAAG,CAAC;YACb,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA;YACjC,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,aAAa,CAAA;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC;YACD,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EACT,MAAM,GAAG,eAAO,EAChB,OAAO,GAAG,IAAI,CAAC,cAAc,EAC7B,gBAAgB,GAAG,KAAK,GACzB,GAAG,EAAE;QACJ,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;4BAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBACtD,CAAC,EAAE,OAAO,CAAC,CAAA;gBACb,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,yBAAyB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAC7D,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AA9ID,8CA8IC"}
1
+ {"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,77 @@
1
- import * as T from "../../../base/lib/types";
2
- import { ExecSpawnable, SubContainer } from "../util/SubContainer";
3
- import { CommandController } from "./CommandController";
1
+ import * as T from '../../../base/lib/types';
2
+ import { Drop } from '../util';
3
+ import { SubContainer, SubContainerRc } from '../util/SubContainer';
4
+ import { CommandController } from './CommandController';
5
+ import { DaemonCommandType } from './Daemons';
6
+ import { Oneshot } from './Oneshot';
4
7
  /**
5
- * This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
6
- * and the others state of running, where it will keep a living running command
8
+ * A managed long-running process wrapper around {@link CommandController}.
9
+ *
10
+ * When started, the daemon automatically restarts its underlying command on failure
11
+ * with exponential backoff (up to 30 seconds). When stopped, the command is terminated
12
+ * gracefully. Implements {@link Drop} for automatic cleanup when the context is left.
13
+ *
14
+ * @typeParam Manifest - The service manifest type
15
+ * @typeParam C - The subcontainer type, or `null` for JS-only daemons
7
16
  */
8
- export declare class Daemon<Manifest extends T.SDKManifest> {
17
+ export declare class Daemon<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null = SubContainer<Manifest> | null> extends Drop {
18
+ private subcontainer;
9
19
  private startCommand;
20
+ readonly oneshot: boolean;
10
21
  private commandController;
11
- private shouldBeRunning;
12
- constructor(startCommand: () => Promise<CommandController<Manifest>>);
13
- get subContainerHandle(): undefined | ExecSpawnable;
14
- static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, command: T.CommandType, options: {
15
- env?: {
16
- [variable: string]: string;
17
- } | undefined;
18
- cwd?: string | undefined;
19
- user?: string | undefined;
20
- onStdout?: (chunk: Buffer | string | any) => void;
21
- onStderr?: (chunk: Buffer | string | any) => void;
22
- sigtermTimeout?: number;
23
- }) => Promise<Daemon<Manifest>>;
22
+ protected exitedSuccess: boolean;
23
+ private onExitFns;
24
+ private loop;
25
+ private _managed;
26
+ protected constructor(subcontainer: C, startCommand: () => Promise<CommandController<Manifest, C>>, oneshot?: boolean);
27
+ /** Returns true if this daemon is a one-shot process (exits after success) */
28
+ isOneshot(): this is Oneshot<Manifest>;
29
+ /**
30
+ * Factory method to create a new Daemon.
31
+ *
32
+ * Returns a curried function: `(effects, subcontainer, exec) => Daemon`.
33
+ * Registers an `onLeaveContext` callback that terminates the daemon when the
34
+ * effects context is left.
35
+ */
36
+ static of<Manifest extends T.SDKManifest>(): <C extends SubContainer<Manifest> | null>(effects: T.Effects, subcontainer: C, exec: DaemonCommandType<Manifest, C>) => Daemon<Manifest, SubContainer<Manifest, T.Effects> | null>;
37
+ /**
38
+ * Start the daemon. If it is already running, this is a no-op.
39
+ *
40
+ * The daemon will automatically restart on failure with increasing backoff
41
+ * until {@link term} is called.
42
+ */
24
43
  start(): Promise<void>;
44
+ private runLoop;
45
+ /**
46
+ * Terminate the daemon, stopping its underlying command.
47
+ *
48
+ * Sends the configured signal (default SIGTERM) and waits for the process to exit.
49
+ * Optionally destroys the subcontainer after termination.
50
+ *
51
+ * @param termOptions - Optional termination settings
52
+ * @param termOptions.signal - The signal to send (default: SIGTERM)
53
+ * @param termOptions.timeout - Milliseconds to wait before SIGKILL
54
+ * @param termOptions.destroySubcontainer - Whether to destroy the subcontainer after exit
55
+ */
25
56
  term(termOptions?: {
26
57
  signal?: NodeJS.Signals | undefined;
27
58
  timeout?: number | undefined;
59
+ destroySubcontainer?: boolean;
28
60
  }): Promise<void>;
29
- stop(termOptions?: {
30
- signal?: NodeJS.Signals | undefined;
31
- timeout?: number | undefined;
32
- }): Promise<void>;
61
+ /**
62
+ * Mark this daemon as managed by a {@link Daemons} instance.
63
+ * Suppresses the individual `onLeaveContext` termination since the
64
+ * `Daemons` instance handles ordered shutdown.
65
+ */
66
+ markManaged(): void;
67
+ /** Get a reference-counted handle to the daemon's subcontainer, or null if there is none */
68
+ subcontainerRc(): SubContainerRc<Manifest> | null;
69
+ /** Check whether this daemon shares the same subcontainer as another daemon */
70
+ sharesSubcontainerWith(other: Daemon<Manifest, SubContainer<Manifest> | null>): boolean;
71
+ /**
72
+ * Register a callback to be invoked each time the daemon's process exits.
73
+ * @param fn - Callback receiving `true` on clean exit, `false` on error
74
+ */
75
+ onExit(fn: (success: boolean) => void): void;
76
+ onDrop(): void;
33
77
  }
@@ -2,61 +2,183 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Daemon = void 0;
4
4
  const asError_1 = require("../../../base/lib/util/asError");
5
+ const logErrorOnce_1 = require("../../../base/lib/util/logErrorOnce");
6
+ const util_1 = require("../util");
5
7
  const CommandController_1 = require("./CommandController");
6
8
  const TIMEOUT_INCREMENT_MS = 1000;
7
9
  const MAX_TIMEOUT_MS = 30000;
8
10
  /**
9
- * This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
10
- * and the others state of running, where it will keep a living running command
11
+ * A managed long-running process wrapper around {@link CommandController}.
12
+ *
13
+ * When started, the daemon automatically restarts its underlying command on failure
14
+ * with exponential backoff (up to 30 seconds). When stopped, the command is terminated
15
+ * gracefully. Implements {@link Drop} for automatic cleanup when the context is left.
16
+ *
17
+ * @typeParam Manifest - The service manifest type
18
+ * @typeParam C - The subcontainer type, or `null` for JS-only daemons
11
19
  */
12
- class Daemon {
13
- constructor(startCommand) {
20
+ class Daemon extends util_1.Drop {
21
+ constructor(subcontainer, startCommand, oneshot = false) {
22
+ super();
23
+ this.subcontainer = subcontainer;
14
24
  this.startCommand = startCommand;
25
+ this.oneshot = oneshot;
15
26
  this.commandController = null;
16
- this.shouldBeRunning = false;
27
+ this.exitedSuccess = false;
28
+ this.onExitFns = [];
29
+ this.loop = null;
30
+ this._managed = false;
17
31
  }
18
- get subContainerHandle() {
19
- return this.commandController?.subContainerHandle;
32
+ /** Returns true if this daemon is a one-shot process (exits after success) */
33
+ isOneshot() {
34
+ return this.oneshot;
20
35
  }
36
+ /**
37
+ * Factory method to create a new Daemon.
38
+ *
39
+ * Returns a curried function: `(effects, subcontainer, exec) => Daemon`.
40
+ * Registers an `onLeaveContext` callback that terminates the daemon when the
41
+ * effects context is left.
42
+ */
21
43
  static of() {
22
- return async (effects, subcontainer, command, options) => {
23
- const startCommand = () => CommandController_1.CommandController.of()(effects, subcontainer, command, options);
24
- return new Daemon(startCommand);
44
+ return (effects, subcontainer, exec) => {
45
+ let subc = subcontainer;
46
+ if (subcontainer && subcontainer.isOwned())
47
+ subc = subcontainer.rc();
48
+ const startCommand = () => CommandController_1.CommandController.of()(effects, (subc?.rc() ?? null), exec);
49
+ const res = new Daemon(subc, startCommand);
50
+ effects.onLeaveContext(() => {
51
+ if (!res._managed) {
52
+ res.term({ destroySubcontainer: true }).catch((e) => (0, logErrorOnce_1.logErrorOnce)(e));
53
+ }
54
+ });
55
+ return res;
25
56
  };
26
57
  }
58
+ /**
59
+ * Start the daemon. If it is already running, this is a no-op.
60
+ *
61
+ * The daemon will automatically restart on failure with increasing backoff
62
+ * until {@link term} is called.
63
+ */
27
64
  async start() {
28
- if (this.commandController) {
65
+ if (this.loop) {
29
66
  return;
30
67
  }
31
- this.shouldBeRunning = true;
68
+ const abort = new AbortController();
69
+ const done = this.runLoop(abort.signal);
70
+ this.loop = { abort, done };
71
+ }
72
+ async runLoop(signal) {
32
73
  let timeoutCounter = 0;
33
- (async () => {
34
- while (this.shouldBeRunning) {
35
- if (this.commandController)
36
- await this.commandController
37
- .term({ keepSubcontainer: true })
38
- .catch((err) => console.error(err));
39
- this.commandController = await this.startCommand();
40
- await this.commandController
41
- .wait({ keepSubcontainer: true })
42
- .catch((err) => console.error(err));
43
- await new Promise((resolve) => setTimeout(resolve, timeoutCounter));
74
+ try {
75
+ while (!signal.aborted) {
76
+ if (this.commandController) {
77
+ await this.commandController.term({}).catch(logErrorOnce_1.logErrorOnce);
78
+ this.commandController = null;
79
+ }
80
+ try {
81
+ this.commandController = await this.startCommand();
82
+ if (signal.aborted) {
83
+ await this.commandController.term({}).catch(logErrorOnce_1.logErrorOnce);
84
+ this.commandController = null;
85
+ break;
86
+ }
87
+ const success = await this.commandController.wait().then((_) => true, (err) => {
88
+ if (!signal.aborted)
89
+ (0, logErrorOnce_1.logErrorOnce)(err);
90
+ return false;
91
+ });
92
+ this.commandController = null;
93
+ if (signal.aborted)
94
+ break;
95
+ for (const fn of this.onExitFns) {
96
+ try {
97
+ fn(success);
98
+ }
99
+ catch (e) {
100
+ console.error('EXIT handler', e);
101
+ }
102
+ }
103
+ if (success && this.oneshot) {
104
+ this.exitedSuccess = true;
105
+ break;
106
+ }
107
+ }
108
+ catch (e) {
109
+ if (!signal.aborted)
110
+ console.error(e);
111
+ }
112
+ if (signal.aborted)
113
+ break;
114
+ await new Promise((resolve) => {
115
+ const timer = setTimeout(resolve, timeoutCounter);
116
+ signal.addEventListener('abort', () => {
117
+ clearTimeout(timer);
118
+ resolve();
119
+ }, { once: true });
120
+ });
44
121
  timeoutCounter += TIMEOUT_INCREMENT_MS;
45
122
  timeoutCounter = Math.min(MAX_TIMEOUT_MS, timeoutCounter);
46
123
  }
47
- })().catch((err) => {
48
- console.error((0, asError_1.asError)(err));
49
- });
124
+ }
125
+ finally {
126
+ this.loop = null;
127
+ }
50
128
  }
129
+ /**
130
+ * Terminate the daemon, stopping its underlying command.
131
+ *
132
+ * Sends the configured signal (default SIGTERM) and waits for the process to exit.
133
+ * Optionally destroys the subcontainer after termination.
134
+ *
135
+ * @param termOptions - Optional termination settings
136
+ * @param termOptions.signal - The signal to send (default: SIGTERM)
137
+ * @param termOptions.timeout - Milliseconds to wait before SIGKILL
138
+ * @param termOptions.destroySubcontainer - Whether to destroy the subcontainer after exit
139
+ */
51
140
  async term(termOptions) {
52
- return this.stop(termOptions);
53
- }
54
- async stop(termOptions) {
55
- this.shouldBeRunning = false;
56
- await this.commandController
57
- ?.term({ ...termOptions })
58
- .catch((e) => console.error((0, asError_1.asError)(e)));
141
+ this.exitedSuccess = false;
142
+ this.onExitFns = [];
143
+ if (this.loop) {
144
+ this.loop.abort.abort();
145
+ }
146
+ const exiting = this.commandController?.term({ ...termOptions });
59
147
  this.commandController = null;
148
+ if (exiting)
149
+ await exiting.catch(logErrorOnce_1.logErrorOnce);
150
+ if (this.loop) {
151
+ await this.loop.done;
152
+ }
153
+ if (termOptions?.destroySubcontainer) {
154
+ await this.subcontainer?.destroy();
155
+ }
156
+ }
157
+ /**
158
+ * Mark this daemon as managed by a {@link Daemons} instance.
159
+ * Suppresses the individual `onLeaveContext` termination since the
160
+ * `Daemons` instance handles ordered shutdown.
161
+ */
162
+ markManaged() {
163
+ this._managed = true;
164
+ }
165
+ /** Get a reference-counted handle to the daemon's subcontainer, or null if there is none */
166
+ subcontainerRc() {
167
+ return this.subcontainer?.rc() ?? null;
168
+ }
169
+ /** Check whether this daemon shares the same subcontainer as another daemon */
170
+ sharesSubcontainerWith(other) {
171
+ return this.subcontainer?.guid === other.subcontainer?.guid;
172
+ }
173
+ /**
174
+ * Register a callback to be invoked each time the daemon's process exits.
175
+ * @param fn - Callback receiving `true` on clean exit, `false` on error
176
+ */
177
+ onExit(fn) {
178
+ this.onExitFns.push(fn);
179
+ }
180
+ onDrop() {
181
+ this.term().catch((e) => (0, logErrorOnce_1.logErrorOnce)((0, asError_1.asError)(e)));
60
182
  }
61
183
  }
62
184
  exports.Daemon = Daemon;