@start9labs/start-sdk 0.4.0-beta.3 → 0.4.0-beta.31

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 (224) hide show
  1. package/base/lib/Effects.d.ts +8 -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 +15 -26
  6. package/base/lib/actions/input/builder/inputSpec.js +10 -27
  7. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  8. package/base/lib/actions/input/builder/list.d.ts +12 -24
  9. package/base/lib/actions/input/builder/list.js +19 -33
  10. package/base/lib/actions/input/builder/list.js.map +1 -1
  11. package/base/lib/actions/input/builder/value.d.ts +331 -70
  12. package/base/lib/actions/input/builder/value.js +505 -188
  13. package/base/lib/actions/input/builder/value.js.map +1 -1
  14. package/base/lib/actions/input/builder/variants.d.ts +11 -23
  15. package/base/lib/actions/input/builder/variants.js +16 -26
  16. package/base/lib/actions/input/builder/variants.js.map +1 -1
  17. package/base/lib/actions/input/inputSpecConstants.d.ts +6 -6
  18. package/base/lib/actions/input/inputSpecConstants.js +29 -26
  19. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  20. package/base/lib/actions/setupActions.d.ts +19 -15
  21. package/base/lib/actions/setupActions.js +37 -14
  22. package/base/lib/actions/setupActions.js.map +1 -1
  23. package/base/lib/dependencies/dependencies.d.ts +2 -2
  24. package/base/lib/dependencies/dependencies.js +23 -15
  25. package/base/lib/dependencies/dependencies.js.map +1 -1
  26. package/base/lib/dependencies/setupDependencies.d.ts +1 -3
  27. package/base/lib/dependencies/setupDependencies.js +3 -12
  28. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  29. package/base/lib/index.d.ts +1 -0
  30. package/base/lib/index.js +2 -1
  31. package/base/lib/index.js.map +1 -1
  32. package/base/lib/inits/index.d.ts +2 -0
  33. package/base/lib/inits/index.js +19 -0
  34. package/base/lib/inits/index.js.map +1 -0
  35. package/base/lib/inits/setupInit.d.ts +9 -0
  36. package/base/lib/inits/setupInit.js +40 -0
  37. package/base/lib/inits/setupInit.js.map +1 -0
  38. package/base/lib/inits/setupUninit.d.ts +25 -0
  39. package/base/lib/inits/setupUninit.js +24 -0
  40. package/base/lib/inits/setupUninit.js.map +1 -0
  41. package/base/lib/interfaces/Host.js +18 -6
  42. package/base/lib/interfaces/Host.js.map +1 -1
  43. package/base/lib/interfaces/Origin.d.ts +2 -2
  44. package/base/lib/interfaces/Origin.js +3 -3
  45. package/base/lib/interfaces/Origin.js.map +1 -1
  46. package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +2 -2
  47. package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
  48. package/base/lib/interfaces/setupInterfaces.js +8 -19
  49. package/base/lib/interfaces/setupInterfaces.js.map +1 -1
  50. package/base/lib/osBindings/AddCategoryParams.d.ts +0 -2
  51. package/base/lib/osBindings/AddPackageToCategoryParams.d.ts +5 -0
  52. package/base/lib/osBindings/AddPackageToCategoryParams.js +3 -0
  53. package/base/lib/osBindings/AddPackageToCategoryParams.js.map +1 -0
  54. package/base/lib/osBindings/AttachParams.d.ts +1 -0
  55. package/base/lib/osBindings/Category.d.ts +0 -2
  56. package/base/lib/osBindings/Category.js +1 -0
  57. package/base/lib/osBindings/Category.js.map +1 -1
  58. package/base/lib/osBindings/CheckDependenciesResult.d.ts +3 -3
  59. package/base/lib/osBindings/ClearTasksParams.d.ts +5 -0
  60. package/base/lib/osBindings/{UnsetPublicParams.js → ClearTasksParams.js} +1 -1
  61. package/base/lib/osBindings/ClearTasksParams.js.map +1 -0
  62. package/base/lib/osBindings/CreateTaskParams.d.ts +15 -0
  63. package/base/lib/osBindings/CreateTaskParams.js +3 -0
  64. package/base/lib/osBindings/CreateTaskParams.js.map +1 -0
  65. package/base/lib/osBindings/FileType.d.ts +1 -0
  66. package/base/lib/osBindings/{NetworkInterfaceSetPublicParams.js → FileType.js} +1 -1
  67. package/base/lib/osBindings/FileType.js.map +1 -0
  68. package/base/lib/osBindings/GetOsVersionParams.d.ts +3 -3
  69. package/base/lib/osBindings/GetPackageParams.d.ts +1 -1
  70. package/base/lib/osBindings/MainStatus.d.ts +0 -2
  71. package/base/lib/osBindings/Manifest.d.ts +1 -0
  72. package/base/lib/osBindings/MountTarget.d.ts +2 -0
  73. package/base/lib/osBindings/PackageDataEntry.d.ts +4 -5
  74. package/base/lib/osBindings/Progress.d.ts +2 -0
  75. package/base/lib/osBindings/Progress.js +0 -1
  76. package/base/lib/osBindings/Progress.js.map +1 -1
  77. package/base/lib/osBindings/ProgressUnits.d.ts +1 -0
  78. package/base/lib/osBindings/ProgressUnits.js +4 -0
  79. package/base/lib/osBindings/ProgressUnits.js.map +1 -0
  80. package/base/lib/osBindings/Proxies.d.ts +4 -0
  81. package/base/lib/osBindings/Proxies.js +3 -0
  82. package/base/lib/osBindings/Proxies.js.map +1 -0
  83. package/base/lib/osBindings/ProxyInfo.d.ts +4 -0
  84. package/base/lib/osBindings/ProxyInfo.js +4 -0
  85. package/base/lib/osBindings/ProxyInfo.js.map +1 -0
  86. package/base/lib/osBindings/RemoveAdminParams.d.ts +4 -0
  87. package/base/lib/osBindings/RemoveAdminParams.js +3 -0
  88. package/base/lib/osBindings/RemoveAdminParams.js.map +1 -0
  89. package/base/lib/osBindings/RemoveAssetParams.d.ts +4 -0
  90. package/base/lib/osBindings/RemoveAssetParams.js +4 -0
  91. package/base/lib/osBindings/RemoveAssetParams.js.map +1 -0
  92. package/base/lib/osBindings/RemovePackageFromCategoryParams.d.ts +5 -0
  93. package/base/lib/osBindings/RemovePackageFromCategoryParams.js +3 -0
  94. package/base/lib/osBindings/RemovePackageFromCategoryParams.js.map +1 -0
  95. package/base/lib/osBindings/RemovePackageParams.d.ts +6 -0
  96. package/base/lib/osBindings/RemovePackageParams.js +3 -0
  97. package/base/lib/osBindings/RemovePackageParams.js.map +1 -0
  98. package/base/lib/osBindings/ServerInfo.d.ts +1 -0
  99. package/base/lib/osBindings/SetupExecuteParams.d.ts +1 -0
  100. package/base/lib/osBindings/Task.d.ts +13 -0
  101. package/base/lib/osBindings/Task.js +3 -0
  102. package/base/lib/osBindings/Task.js.map +1 -0
  103. package/base/lib/osBindings/TaskCondition.d.ts +1 -0
  104. package/base/lib/osBindings/TaskCondition.js +4 -0
  105. package/base/lib/osBindings/TaskCondition.js.map +1 -0
  106. package/base/lib/osBindings/TaskEntry.d.ts +5 -0
  107. package/base/lib/osBindings/TaskEntry.js +3 -0
  108. package/base/lib/osBindings/TaskEntry.js.map +1 -0
  109. package/base/lib/osBindings/TaskInput.d.ts +4 -0
  110. package/base/lib/osBindings/TaskInput.js +4 -0
  111. package/base/lib/osBindings/TaskInput.js.map +1 -0
  112. package/base/lib/osBindings/TaskSeverity.d.ts +1 -0
  113. package/base/lib/osBindings/TaskSeverity.js +4 -0
  114. package/base/lib/osBindings/TaskSeverity.js.map +1 -0
  115. package/base/lib/osBindings/TaskTrigger.d.ts +5 -0
  116. package/base/lib/osBindings/TaskTrigger.js +3 -0
  117. package/base/lib/osBindings/TaskTrigger.js.map +1 -0
  118. package/base/lib/osBindings/index.d.ts +15 -11
  119. package/base/lib/s9pk/index.js +5 -7
  120. package/base/lib/s9pk/index.js.map +1 -1
  121. package/base/lib/types.d.ts +22 -33
  122. package/base/lib/types.js +13 -0
  123. package/base/lib/types.js.map +1 -1
  124. package/base/lib/util/GetSystemSmtp.d.ts +4 -0
  125. package/base/lib/util/GetSystemSmtp.js +32 -2
  126. package/base/lib/util/GetSystemSmtp.js.map +1 -1
  127. package/base/lib/util/getServiceInterface.d.ts +14 -0
  128. package/base/lib/util/getServiceInterface.js +70 -1
  129. package/base/lib/util/getServiceInterface.js.map +1 -1
  130. package/base/lib/util/getServiceInterfaces.d.ts +4 -0
  131. package/base/lib/util/getServiceInterfaces.js +34 -1
  132. package/base/lib/util/getServiceInterfaces.js.map +1 -1
  133. package/base/lib/util/index.d.ts +0 -1
  134. package/base/lib/util/index.js +1 -3
  135. package/base/lib/util/index.js.map +1 -1
  136. package/package/lib/StartSdk.d.ts +108 -570
  137. package/package/lib/StartSdk.js +112 -428
  138. package/package/lib/StartSdk.js.map +1 -1
  139. package/package/lib/backup/Backups.d.ts +15 -3
  140. package/package/lib/backup/Backups.js +44 -28
  141. package/package/lib/backup/Backups.js.map +1 -1
  142. package/package/lib/backup/setupBackups.d.ts +5 -2
  143. package/package/lib/backup/setupBackups.js +7 -5
  144. package/package/lib/backup/setupBackups.js.map +1 -1
  145. package/package/lib/health/HealthCheck.d.ts +0 -1
  146. package/package/lib/health/HealthCheck.js +1 -7
  147. package/package/lib/health/HealthCheck.js.map +1 -1
  148. package/package/lib/health/checkFns/runHealthScript.d.ts +2 -1
  149. package/package/lib/health/checkFns/runHealthScript.js +1 -1
  150. package/package/lib/health/checkFns/runHealthScript.js.map +1 -1
  151. package/package/lib/index.d.ts +0 -3
  152. package/package/lib/index.js +1 -8
  153. package/package/lib/index.js.map +1 -1
  154. package/package/lib/inits/index.d.ts +2 -3
  155. package/package/lib/inits/index.js +16 -3
  156. package/package/lib/inits/index.js.map +1 -1
  157. package/package/lib/inits/setupInit.d.ts +7 -13
  158. package/package/lib/inits/setupInit.js +22 -48
  159. package/package/lib/inits/setupInit.js.map +1 -1
  160. package/package/lib/inits/setupInstall.d.ts +10 -10
  161. package/package/lib/inits/setupInstall.js.map +1 -1
  162. package/package/lib/inits/setupUninit.d.ts +7 -0
  163. package/package/lib/inits/setupUninit.js +14 -0
  164. package/package/lib/inits/setupUninit.js.map +1 -0
  165. package/package/lib/inits/setupUninstall.d.ts +5 -5
  166. package/package/lib/inits/setupUninstall.js.map +1 -1
  167. package/package/lib/mainFn/CommandController.d.ts +6 -24
  168. package/package/lib/mainFn/CommandController.js +72 -48
  169. package/package/lib/mainFn/CommandController.js.map +1 -1
  170. package/package/lib/mainFn/Daemon.d.ts +15 -22
  171. package/package/lib/mainFn/Daemon.js +56 -13
  172. package/package/lib/mainFn/Daemon.js.map +1 -1
  173. package/package/lib/mainFn/Daemons.d.ts +72 -49
  174. package/package/lib/mainFn/Daemons.js +87 -23
  175. package/package/lib/mainFn/Daemons.js.map +1 -1
  176. package/package/lib/mainFn/HealthDaemon.d.ts +8 -7
  177. package/package/lib/mainFn/HealthDaemon.js +79 -38
  178. package/package/lib/mainFn/HealthDaemon.js.map +1 -1
  179. package/package/lib/mainFn/Mounts.d.ts +38 -43
  180. package/package/lib/mainFn/Mounts.js +19 -48
  181. package/package/lib/mainFn/Mounts.js.map +1 -1
  182. package/package/lib/mainFn/Oneshot.d.ts +12 -0
  183. package/package/lib/mainFn/Oneshot.js +23 -0
  184. package/package/lib/mainFn/Oneshot.js.map +1 -0
  185. package/package/lib/mainFn/index.d.ts +1 -1
  186. package/package/lib/manifest/setupManifest.js +2 -0
  187. package/package/lib/manifest/setupManifest.js.map +1 -1
  188. package/package/lib/store/getStore.js +7 -2
  189. package/package/lib/store/getStore.js.map +1 -1
  190. package/package/lib/test/host.test.js +1 -1
  191. package/package/lib/test/host.test.js.map +1 -1
  192. package/package/lib/test/inputSpecBuilder.test.js +152 -156
  193. package/package/lib/test/inputSpecBuilder.test.js.map +1 -1
  194. package/package/lib/test/output.d.ts +2 -113
  195. package/package/lib/test/output.js +41 -40
  196. package/package/lib/test/output.js.map +1 -1
  197. package/package/lib/test/output.sdk.d.ts +235 -901
  198. package/package/lib/test/output.sdk.js +0 -1
  199. package/package/lib/test/output.sdk.js.map +1 -1
  200. package/package/lib/test/output.test.js +12 -8
  201. package/package/lib/test/output.test.js.map +1 -1
  202. package/package/lib/util/Drop.d.ts +4 -2
  203. package/package/lib/util/Drop.js +32 -8
  204. package/package/lib/util/Drop.js.map +1 -1
  205. package/package/lib/util/GetSslCertificate.d.ts +4 -0
  206. package/package/lib/util/GetSslCertificate.js +34 -2
  207. package/package/lib/util/GetSslCertificate.js.map +1 -1
  208. package/package/lib/util/SubContainer.d.ts +164 -45
  209. package/package/lib/util/SubContainer.js +223 -100
  210. package/package/lib/util/SubContainer.js.map +1 -1
  211. package/package/lib/util/fileHelper.d.ts +46 -17
  212. package/package/lib/util/fileHelper.js +112 -41
  213. package/package/lib/util/fileHelper.js.map +1 -1
  214. package/package/lib/version/VersionGraph.d.ts +26 -5
  215. package/package/lib/version/VersionGraph.js +88 -22
  216. package/package/lib/version/VersionGraph.js.map +1 -1
  217. package/package/package.json +63 -0
  218. package/package/scripts/oldSpecToBuilder.js +5 -4
  219. package/package/scripts/oldSpecToBuilder.js.map +1 -1
  220. package/package.json +7 -8
  221. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.d.ts +0 -4
  222. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +0 -1
  223. package/base/lib/osBindings/UnsetPublicParams.d.ts +0 -3
  224. package/base/lib/osBindings/UnsetPublicParams.js.map +0 -1
@@ -46,6 +46,5 @@ exports.sdk = StartSdk_1.StartSdk.of()
46
46
  },
47
47
  },
48
48
  }))
49
- .withStore()
50
49
  .build(true);
51
50
  //# sourceMappingURL=output.sdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.sdk.js","sourceRoot":"","sources":["../../../../package/lib/test/output.sdk.ts"],"names":[],"mappings":";;;AACA,0CAAsC;AACtC,6DAAyD;AAI5C,QAAA,GAAG,GAAG,mBAAQ,CAAC,EAAE,EAAE;KAC7B,YAAY,CACX,IAAA,6BAAa,EAAC;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT;IACD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB;aAChC;YACD,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC3B,gBAAgB,EAAE,SAAS;SAC5B;KACF;IACD,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX;IACD,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,sCAAsC;SAC7C;KACF;CACF,CAAC,CACH;KACA,SAAS,EAAyC;KAClD,KAAK,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"output.sdk.js","sourceRoot":"","sources":["../../../../package/lib/test/output.sdk.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,6DAAyD;AAI5C,QAAA,GAAG,GAAG,mBAAQ,CAAC,EAAE,EAAE;KAC7B,YAAY,CACX,IAAA,6BAAa,EAAC;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT;IACD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB;aAChC;YACD,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC3B,gBAAgB,EAAE,SAAS;SAC5B;KACF;IACD,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX;IACD,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,sCAAsC;SAC7C;KACF;CACF,CAAC,CACH;KACA,KAAK,CAAC,IAAI,CAAC,CAAA"}
@@ -78,18 +78,22 @@ describe("Inputs", () => {
78
78
  bloomfilters: { peerbloomfilters: false },
79
79
  },
80
80
  };
81
- test("test valid input", () => {
82
- const output = output_1.matchInputSpecSpec.unsafeCast(validInput);
81
+ test("test valid input", async () => {
82
+ const { validator } = await output_1.inputSpecSpec.build({});
83
+ const output = validator.unsafeCast(validInput);
83
84
  expect(output).toEqual(validInput);
84
85
  });
85
- test("test no longer care about the conversion of min/max and validating", () => {
86
- output_1.matchInputSpecSpec.unsafeCast((0, util_1.deepMerge)({}, validInput, { rpc: { advanced: { threads: 0 } } }));
86
+ test("test no longer care about the conversion of min/max and validating", async () => {
87
+ const { validator } = await output_1.inputSpecSpec.build({});
88
+ validator.unsafeCast((0, util_1.deepMerge)({}, validInput, { rpc: { advanced: { threads: 0 } } }));
87
89
  });
88
- test("test errors should throw for number in string", () => {
89
- expect(() => output_1.matchInputSpecSpec.unsafeCast((0, util_1.deepMerge)({}, validInput, { rpc: { enable: 2 } }))).toThrowError();
90
+ test("test errors should throw for number in string", async () => {
91
+ const { validator } = await output_1.inputSpecSpec.build({});
92
+ expect(() => validator.unsafeCast((0, util_1.deepMerge)({}, validInput, { rpc: { enable: 2 } }))).toThrowError();
90
93
  });
91
- test("Test that we set serialversion to something not segwit or non-segwit", () => {
92
- expect(() => output_1.matchInputSpecSpec.unsafeCast((0, util_1.deepMerge)({}, validInput, {
94
+ test("Test that we set serialversion to something not segwit or non-segwit", async () => {
95
+ const { validator } = await output_1.inputSpecSpec.build({});
96
+ expect(() => validator.unsafeCast((0, util_1.deepMerge)({}, validInput, {
93
97
  rpc: { advanced: { serialversion: "testing" } },
94
98
  }))).toThrowError();
95
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../../package/lib/test/output.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../../package/lib/test/output.test.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ export declare abstract class Drop {
2
2
  private static weak;
3
3
  private static registry;
4
4
  private static idCtr;
5
- private id;
6
- private ref;
5
+ private dropId?;
6
+ private dropRef?;
7
7
  protected constructor();
8
+ protected register(): void;
8
9
  protected weak(): this;
9
10
  abstract onDrop(): void;
10
11
  drop(): void;
12
+ leak(): this;
11
13
  }
@@ -3,26 +3,50 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Drop = void 0;
4
4
  class Drop {
5
5
  constructor() {
6
- this.id = Drop.idCtr++;
7
- this.ref = { id: this.id };
8
- Drop.weak[this.id] = this.weak();
9
- Drop.registry.register(this, this.id, this);
6
+ this.dropId = Drop.idCtr++;
7
+ this.dropRef = { id: this.dropId };
8
+ const weak = this.weak();
9
+ Drop.weak[this.dropId] = weak;
10
+ Drop.registry.register(this.dropRef, this.dropId, this.dropRef);
11
+ return new Proxy(this, {
12
+ set(target, prop, value) {
13
+ if (prop === "dropRef" || prop == "dropId")
14
+ return false;
15
+ target[prop] = value;
16
+ weak[prop] = value;
17
+ return true;
18
+ },
19
+ });
10
20
  }
21
+ register() { }
11
22
  weak() {
12
23
  const weak = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
13
- weak.ref = new WeakRef(this.ref);
24
+ if (this.dropRef)
25
+ weak.ref = new WeakRef(this.dropRef);
14
26
  return weak;
15
27
  }
16
28
  drop() {
29
+ if (!this.dropRef || !this.dropId)
30
+ return;
17
31
  this.onDrop();
18
- Drop.registry.unregister(this);
19
- delete Drop.weak[this.id];
32
+ this.leak();
33
+ }
34
+ leak() {
35
+ if (!this.dropRef || !this.dropId)
36
+ return this;
37
+ Drop.registry.unregister(this.dropRef);
38
+ delete Drop.weak[this.dropId];
39
+ delete this.dropRef;
40
+ delete this.dropId;
41
+ return this;
20
42
  }
21
43
  }
22
44
  exports.Drop = Drop;
23
45
  Drop.weak = {};
24
46
  Drop.registry = new FinalizationRegistry((id) => {
25
- Drop.weak[id].drop();
47
+ const weak = Drop.weak[id];
48
+ if (weak)
49
+ weak.drop();
26
50
  });
27
51
  Drop.idCtr = 0;
28
52
  //# sourceMappingURL=Drop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drop.js","sourceRoot":"","sources":["../../../../package/lib/util/Drop.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;IAQxB;QACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IACS,IAAI;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5E,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC;;AAxBH,oBAyBC;AAxBgB,SAAI,GAA2B,EAAE,CAAA;AACjC,aAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,EAAU,EAAE,EAAE;IAChE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AACtB,CAAC,CAAC,CAAA;AACa,UAAK,GAAW,CAAC,CAAA"}
1
+ {"version":3,"file":"Drop.js","sourceRoot":"","sources":["../../../../package/lib/util/Drop.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;IASxB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAE/D,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,CAAC,MAAW,EAAE,IAAI,EAAE,KAAK;gBAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,QAAQ;oBAAE,OAAO,KAAK,CAAA;gBACxD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CACnB;gBAAC,IAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBAC5B,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACS,QAAQ,KAAI,CAAC;IACb,IAAI;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5E,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACzC,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IACD,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;;AA5CH,oBA6CC;AA5CgB,SAAI,GAA2B,EAAE,CAAA;AACjC,aAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,EAAU,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1B,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC,CAAC,CAAA;AACa,UAAK,GAAW,CAAC,CAAA"}
@@ -21,4 +21,8 @@ export declare class GetSslCertificate {
21
21
  * Watches the SSL Certificate for the given hostnames if permitted. Takes a custom callback function to run whenever it changes
22
22
  */
23
23
  onChange(callback: (value: [string, string, string] | null, error?: Error) => void | Promise<void>): void;
24
+ /**
25
+ * Watches the SSL Certificate for the given hostnames if permitted. Returns when the predicate is true
26
+ */
27
+ waitFor(pred: (value: [string, string, string] | null) => boolean): Promise<[string, string, string] | null>;
24
28
  }
@@ -31,10 +31,15 @@ class GetSslCertificate {
31
31
  * Watches the SSL Certificate for the given hostnames if permitted. Returns an async iterator that yields whenever the value changes
32
32
  */
33
33
  async *watch() {
34
- while (true) {
35
- let callback;
34
+ const resolveCell = { resolve: () => { } };
35
+ this.effects.onLeaveContext(() => {
36
+ resolveCell.resolve();
37
+ });
38
+ while (this.effects.isInContext) {
39
+ let callback = () => { };
36
40
  const waitForNext = new Promise((resolve) => {
37
41
  callback = resolve;
42
+ resolveCell.resolve = resolve;
38
43
  });
39
44
  yield await this.effects.getSslCertificate({
40
45
  hostnames: this.hostnames,
@@ -62,6 +67,33 @@ class GetSslCertificate {
62
67
  .catch((e) => callback(null, e))
63
68
  .catch((e) => console.error("callback function threw an error @ GetSslCertificate.onChange", e));
64
69
  }
70
+ /**
71
+ * Watches the SSL Certificate for the given hostnames if permitted. Returns when the predicate is true
72
+ */
73
+ async waitFor(pred) {
74
+ const resolveCell = { resolve: () => { } };
75
+ this.effects.onLeaveContext(() => {
76
+ resolveCell.resolve();
77
+ });
78
+ while (this.effects.isInContext) {
79
+ let callback = () => { };
80
+ const waitForNext = new Promise((resolve) => {
81
+ callback = resolve;
82
+ resolveCell.resolve = resolve;
83
+ });
84
+ const res = await this.effects.getSslCertificate({
85
+ hostnames: this.hostnames,
86
+ algorithm: this.algorithm,
87
+ callback: () => callback(),
88
+ });
89
+ if (pred(res)) {
90
+ resolveCell.resolve();
91
+ return res;
92
+ }
93
+ await waitForNext;
94
+ }
95
+ return null;
96
+ }
65
97
  }
66
98
  exports.GetSslCertificate = GetSslCertificate;
67
99
  //# sourceMappingURL=GetSslCertificate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetSslCertificate.js","sourceRoot":"","sources":["../../../../package/lib/util/GetSslCertificate.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAC5B,YACW,OAAgB,EAChB,SAAmB,EACnB,SAAuB;QAFvB,YAAO,GAAP,OAAO,CAAS;QAChB,cAAS,GAAT,SAAS,CAAU;QACnB,cAAS,GAAT,SAAS,CAAc;IAC/B,CAAC;IAEJ;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EACN,IAAI,CAAC,OAAO,CAAC,UAAU;gBACvB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;SAC/D,CAAC,CAAA;IACJ,CAAC;IACD;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,KAAK;QACV,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,QAAoB,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChD,QAAQ,GAAG,OAAO,CAAA;YACpB,CAAC,CAAC,CAAA;YACF,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBACzC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;aAC3B,CAAC,CAAA;YACF,MAAM,WAAW,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,QAGyB;QAEzB,CAAC;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACvB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,+DAA+D,EAC/D,CAAC,CACF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC/B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACX,OAAO,CAAC,KAAK,CACX,+DAA+D,EAC/D,CAAC,CACF,CACF,CAAA;IACL,CAAC;CACF;AA5ED,8CA4EC"}
1
+ {"version":3,"file":"GetSslCertificate.js","sourceRoot":"","sources":["../../../../package/lib/util/GetSslCertificate.ts"],"names":[],"mappings":"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"}
@@ -1,84 +1,200 @@
1
1
  import * as T from "../../../base/lib/types";
2
2
  import * as cp from "child_process";
3
3
  import { Buffer } from "node:buffer";
4
+ import { Drop } from "./Drop";
5
+ import { Mounts } from "../mainFn/Mounts";
6
+ import { BackupEffects } from "../backup/Backups";
4
7
  export declare const execFile: typeof cp.execFile.__promisify__;
5
- type ExecResults = {
6
- exitCode: number | null;
7
- exitSignal: NodeJS.Signals | null;
8
- stdout: string | Buffer;
9
- stderr: string | Buffer;
10
- };
11
8
  export type ExecOptions = {
12
9
  input?: string | Buffer;
13
10
  };
14
- /**
15
- * This is the type that is going to describe what an subcontainer could do. The main point of the
16
- * subcontainer is to have commands that run in a chrooted environment. This is useful for running
17
- * commands in a containerized environment. But, I wanted the destroy to sometimes be doable, for example the
18
- * case where the subcontainer isn't owned by the process, the subcontainer shouldn't be destroyed.
19
- */
20
- export interface ExecSpawnable {
21
- get destroy(): undefined | (() => Promise<null>);
22
- exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null): Promise<ExecResults>;
11
+ export interface SubContainer<Manifest extends T.SDKManifest, Effects extends T.Effects = T.Effects> extends Drop {
12
+ readonly imageId: keyof Manifest["images"] & T.ImageId;
13
+ readonly rootfs: string;
14
+ readonly guid: T.Guid;
15
+ mount(mounts: Effects extends BackupEffects ? Mounts<Manifest, {
16
+ subpath: string | null;
17
+ mountpoint: string;
18
+ }> : Mounts<Manifest, never>): Promise<this>;
19
+ destroy: () => Promise<null>;
20
+ /**
21
+ * @description run a command inside this subcontainer
22
+ * DOES NOT THROW ON NONZERO EXIT CODE (see execFail)
23
+ * @param commands an array representing the command and args to execute
24
+ * @param options
25
+ * @param timeoutMs how long to wait before killing the command in ms
26
+ * @returns
27
+ */
28
+ exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
29
+ throw: () => {
30
+ stdout: string | Buffer;
31
+ stderr: string | Buffer;
32
+ };
33
+ exitCode: number | null;
34
+ exitSignal: NodeJS.Signals | null;
35
+ stdout: string | Buffer;
36
+ stderr: string | Buffer;
37
+ }>;
38
+ /**
39
+ * @description run a command inside this subcontainer, throwing on non-zero exit status
40
+ * @param commands an array representing the command and args to execute
41
+ * @param options
42
+ * @param timeoutMs how long to wait before killing the command in ms
43
+ * @returns
44
+ */
45
+ execFail(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
46
+ stdout: string | Buffer;
47
+ stderr: string | Buffer;
48
+ }>;
49
+ launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
23
50
  spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
51
+ rc(): SubContainerRc<Manifest, Effects>;
52
+ isOwned(): this is SubContainerOwned<Manifest, Effects>;
24
53
  }
25
54
  /**
26
55
  * Want to limit what we can do in a container, so we want to launch a container with a specific image and the mounts.
27
- *
28
- * Implements:
29
- * @see {@link ExecSpawnable}
30
56
  */
31
- export declare class SubContainer implements ExecSpawnable {
32
- readonly effects: T.Effects;
33
- readonly imageId: T.ImageId;
57
+ export declare class SubContainerOwned<Manifest extends T.SDKManifest, Effects extends T.Effects = T.Effects> extends Drop implements SubContainer<Manifest, Effects> {
58
+ readonly effects: Effects;
59
+ readonly imageId: keyof Manifest["images"] & T.ImageId;
34
60
  readonly rootfs: string;
35
61
  readonly guid: T.Guid;
36
- private static finalizationEffects;
37
- private static registry;
62
+ private destroyed;
63
+ rcs: number;
38
64
  private leader;
39
65
  private leaderExited;
40
66
  private waitProc;
41
67
  private constructor();
42
- static of(effects: T.Effects, image: {
43
- imageId: T.ImageId;
68
+ static of<Manifest extends T.SDKManifest, Effects extends T.Effects>(effects: Effects, image: {
69
+ imageId: keyof Manifest["images"] & T.ImageId;
44
70
  sharedRun?: boolean;
45
- }, name: string): Promise<SubContainer>;
46
- static with<T>(effects: T.Effects, image: {
47
- imageId: T.ImageId;
71
+ }, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
72
+ subpath: string | null;
73
+ mountpoint: string;
74
+ }> : Mounts<Manifest, never>) | null, name: string): Promise<SubContainerOwned<Manifest, Effects>>;
75
+ static withTemp<Manifest extends T.SDKManifest, T, Effects extends T.Effects>(effects: Effects, image: {
76
+ imageId: keyof Manifest["images"] & T.ImageId;
48
77
  sharedRun?: boolean;
49
- }, mounts: {
50
- options: MountOptions;
78
+ }, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
79
+ subpath: string | null;
80
+ mountpoint: string;
81
+ }> : Mounts<Manifest, never>) | null, name: string, fn: (subContainer: SubContainer<Manifest, Effects>) => Promise<T>): Promise<T>;
82
+ mount(mounts: Effects extends BackupEffects ? Mounts<Manifest, {
83
+ subpath: string | null;
51
84
  mountpoint: string;
52
- }[], name: string, fn: (subContainer: SubContainer) => Promise<T>): Promise<T>;
53
- mount(options: MountOptions, path: string): Promise<SubContainer>;
85
+ }> : Mounts<Manifest, never>): Promise<this>;
54
86
  private killLeader;
55
87
  get destroy(): () => Promise<null>;
56
- exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null): Promise<{
88
+ onDrop(): void;
89
+ /**
90
+ * @description run a command inside this subcontainer
91
+ * DOES NOT THROW ON NONZERO EXIT CODE (see execFail)
92
+ * @param commands an array representing the command and args to execute
93
+ * @param options
94
+ * @param timeoutMs how long to wait before killing the command in ms
95
+ * @returns
96
+ */
97
+ exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
98
+ throw: () => {
99
+ stdout: string | Buffer;
100
+ stderr: string | Buffer;
101
+ };
57
102
  exitCode: number | null;
58
103
  exitSignal: NodeJS.Signals | null;
59
104
  stdout: string | Buffer;
60
105
  stderr: string | Buffer;
61
106
  }>;
107
+ /**
108
+ * @description run a command inside this subcontainer, throwing on non-zero exit status
109
+ * @param commands an array representing the command and args to execute
110
+ * @param options
111
+ * @param timeoutMs how long to wait before killing the command in ms
112
+ * @returns
113
+ */
114
+ execFail(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
115
+ stdout: string | Buffer;
116
+ stderr: string | Buffer;
117
+ }>;
62
118
  launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
63
119
  spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
120
+ rc(): SubContainerRc<Manifest, Effects>;
121
+ isOwned(): this is SubContainerOwned<Manifest, Effects>;
64
122
  }
65
- /**
66
- * Take an subcontainer but remove the ability to add the mounts and the destroy function.
67
- * Lets other functions, like health checks, to not destroy the parents.
68
- *
69
- */
70
- export declare class SubContainerHandle implements ExecSpawnable {
71
- private subContainer;
72
- constructor(subContainer: ExecSpawnable);
73
- get destroy(): undefined;
74
- exec(command: string[], options?: CommandOptions, timeoutMs?: number | null): Promise<ExecResults>;
123
+ export declare class SubContainerRc<Manifest extends T.SDKManifest, Effects extends T.Effects = T.Effects> extends Drop implements SubContainer<Manifest, Effects> {
124
+ private readonly subcontainer;
125
+ get imageId(): keyof Manifest["images"] & string;
126
+ get rootfs(): string;
127
+ get guid(): string;
128
+ private destroyed;
129
+ constructor(subcontainer: SubContainerOwned<Manifest, Effects>);
130
+ static of<Manifest extends T.SDKManifest, Effects extends T.Effects>(effects: Effects, image: {
131
+ imageId: keyof Manifest["images"] & T.ImageId;
132
+ sharedRun?: boolean;
133
+ }, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
134
+ subpath: string | null;
135
+ mountpoint: string;
136
+ }> : Mounts<Manifest, never>) | null, name: string): Promise<SubContainerRc<Manifest, Effects>>;
137
+ static withTemp<Manifest extends T.SDKManifest, T, Effects extends T.Effects>(effects: Effects, image: {
138
+ imageId: keyof Manifest["images"] & T.ImageId;
139
+ sharedRun?: boolean;
140
+ }, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
141
+ subpath: string | null;
142
+ mountpoint: string;
143
+ }> : Mounts<Manifest, never>) | null, name: string, fn: (subContainer: SubContainer<Manifest, Effects>) => Promise<T>): Promise<T>;
144
+ mount(mounts: Effects extends BackupEffects ? Mounts<Manifest, {
145
+ subpath: string | null;
146
+ mountpoint: string;
147
+ }> : Mounts<Manifest, never>): Promise<this>;
148
+ get destroy(): () => Promise<null>;
149
+ onDrop(): void;
150
+ /**
151
+ * @description run a command inside this subcontainer
152
+ * DOES NOT THROW ON NONZERO EXIT CODE (see execFail)
153
+ * @param commands an array representing the command and args to execute
154
+ * @param options
155
+ * @param timeoutMs how long to wait before killing the command in ms
156
+ * @returns
157
+ */
158
+ exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
159
+ throw: () => {
160
+ stdout: string | Buffer;
161
+ stderr: string | Buffer;
162
+ };
163
+ exitCode: number | null;
164
+ exitSignal: NodeJS.Signals | null;
165
+ stdout: string | Buffer;
166
+ stderr: string | Buffer;
167
+ }>;
168
+ /**
169
+ * @description run a command inside this subcontainer, throwing on non-zero exit status
170
+ * @param commands an array representing the command and args to execute
171
+ * @param options
172
+ * @param timeoutMs how long to wait before killing the command in ms
173
+ * @returns
174
+ */
175
+ execFail(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
176
+ stdout: string | Buffer;
177
+ stderr: string | Buffer;
178
+ }>;
179
+ launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
75
180
  spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
181
+ rc(): SubContainerRc<Manifest, Effects>;
182
+ isOwned(): this is SubContainerOwned<Manifest, Effects>;
76
183
  }
77
184
  export type CommandOptions = {
185
+ /**
186
+ * Environment variables to set for this command
187
+ */
78
188
  env?: {
79
189
  [variable: string]: string;
80
190
  };
191
+ /**
192
+ * the working directory to run this command in
193
+ */
81
194
  cwd?: string;
195
+ /**
196
+ * the user to run this command as
197
+ */
82
198
  user?: string;
83
199
  };
84
200
  export type StdioOptions = {
@@ -87,13 +203,15 @@ export type StdioOptions = {
87
203
  export type MountOptions = MountOptionsVolume | MountOptionsAssets | MountOptionsPointer | MountOptionsBackup;
88
204
  export type MountOptionsVolume = {
89
205
  type: "volume";
90
- id: string;
206
+ volumeId: string;
91
207
  subpath: string | null;
92
208
  readonly: boolean;
209
+ filetype: "file" | "directory" | "infer";
93
210
  };
94
211
  export type MountOptionsAssets = {
95
212
  type: "assets";
96
213
  subpath: string | null;
214
+ filetype: "file" | "directory" | "infer";
97
215
  };
98
216
  export type MountOptionsPointer = {
99
217
  type: "pointer";
@@ -101,10 +219,12 @@ export type MountOptionsPointer = {
101
219
  volumeId: string;
102
220
  subpath: string | null;
103
221
  readonly: boolean;
222
+ filetype: "file" | "directory" | "infer";
104
223
  };
105
224
  export type MountOptionsBackup = {
106
225
  type: "backup";
107
226
  subpath: string | null;
227
+ filetype: "file" | "directory" | "infer";
108
228
  };
109
229
  export declare class ExitError extends Error {
110
230
  readonly command: string;
@@ -121,4 +241,3 @@ export declare class ExitError extends Error {
121
241
  stderr: string | Buffer;
122
242
  });
123
243
  }
124
- export {};