@start9labs/start-sdk 0.4.0-beta.51 → 0.4.0-beta.52

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 (146) hide show
  1. package/base/lib/actions/input/builder/inputSpec.d.ts +126 -5
  2. package/base/lib/actions/input/builder/inputSpec.js +219 -9
  3. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  4. package/base/lib/actions/input/builder/list.d.ts +21 -0
  5. package/base/lib/actions/input/builder/list.js +21 -0
  6. package/base/lib/actions/input/builder/list.js.map +1 -1
  7. package/base/lib/actions/input/builder/value.d.ts +54 -0
  8. package/base/lib/actions/input/builder/value.js +56 -1
  9. package/base/lib/actions/input/builder/value.js.map +1 -1
  10. package/base/lib/actions/input/builder/variants.d.ts +11 -0
  11. package/base/lib/actions/input/builder/variants.js +17 -2
  12. package/base/lib/actions/input/builder/variants.js.map +1 -1
  13. package/base/lib/actions/input/inputSpecConstants.d.ts +203 -5
  14. package/base/lib/actions/input/inputSpecConstants.js +118 -38
  15. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  16. package/base/lib/actions/input/inputSpecTypes.d.ts +99 -0
  17. package/base/lib/actions/input/inputSpecTypes.js +6 -1
  18. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  19. package/base/lib/actions/setupActions.d.ts +6 -3
  20. package/base/lib/actions/setupActions.js +6 -3
  21. package/base/lib/actions/setupActions.js.map +1 -1
  22. package/base/lib/exver/index.d.ts +233 -2
  23. package/base/lib/exver/index.js +197 -3
  24. package/base/lib/exver/index.js.map +1 -1
  25. package/base/lib/index.d.ts +23 -1
  26. package/base/lib/index.js +3 -2
  27. package/base/lib/index.js.map +1 -1
  28. package/base/lib/inits/setupInit.d.ts +17 -0
  29. package/base/lib/inits/setupInit.js +7 -0
  30. package/base/lib/inits/setupInit.js.map +1 -1
  31. package/base/lib/inits/setupUninit.d.ts +12 -0
  32. package/base/lib/inits/setupUninit.js +7 -0
  33. package/base/lib/inits/setupUninit.js.map +1 -1
  34. package/base/lib/osBindings/ServerHostname.d.ts +1 -0
  35. package/base/lib/osBindings/ServerHostname.js +4 -0
  36. package/base/lib/osBindings/ServerHostname.js.map +1 -0
  37. package/base/lib/osBindings/ServerInfo.d.ts +1 -0
  38. package/base/lib/osBindings/SetServerHostnameParams.d.ts +4 -0
  39. package/base/lib/osBindings/SetServerHostnameParams.js +4 -0
  40. package/base/lib/osBindings/SetServerHostnameParams.js.map +1 -0
  41. package/base/lib/osBindings/SetupExecuteParams.d.ts +3 -1
  42. package/base/lib/osBindings/SmtpSecurity.d.ts +1 -0
  43. package/base/lib/osBindings/SmtpSecurity.js +4 -0
  44. package/base/lib/osBindings/SmtpSecurity.js.map +1 -0
  45. package/base/lib/osBindings/SmtpValue.d.ts +4 -2
  46. package/base/lib/osBindings/SmtpValue.js +0 -1
  47. package/base/lib/osBindings/SmtpValue.js.map +1 -1
  48. package/base/lib/osBindings/StartOsRecoveryInfo.d.ts +2 -2
  49. package/base/lib/osBindings/TestSmtpParams.d.ts +4 -2
  50. package/base/lib/osBindings/TestSmtpParams.js +0 -1
  51. package/base/lib/osBindings/TestSmtpParams.js.map +1 -1
  52. package/base/lib/osBindings/index.d.ts +3 -1
  53. package/base/lib/s9pk/index.d.ts +66 -0
  54. package/base/lib/s9pk/index.js +70 -1
  55. package/base/lib/s9pk/index.js.map +1 -1
  56. package/base/lib/types.d.ts +68 -2
  57. package/base/lib/types.js +14 -0
  58. package/base/lib/types.js.map +1 -1
  59. package/base/lib/util/asError.d.ts +8 -0
  60. package/base/lib/util/asError.js +8 -0
  61. package/base/lib/util/asError.js.map +1 -1
  62. package/base/lib/util/deepEqual.d.ts +15 -0
  63. package/base/lib/util/deepEqual.js +15 -0
  64. package/base/lib/util/deepEqual.js.map +1 -1
  65. package/base/lib/util/deepMerge.d.ts +18 -0
  66. package/base/lib/util/deepMerge.js +18 -0
  67. package/base/lib/util/deepMerge.js.map +1 -1
  68. package/base/lib/util/getDefaultString.d.ts +8 -0
  69. package/base/lib/util/getDefaultString.js +8 -0
  70. package/base/lib/util/getDefaultString.js.map +1 -1
  71. package/base/lib/util/graph.d.ts +57 -0
  72. package/base/lib/util/graph.js +47 -0
  73. package/base/lib/util/graph.js.map +1 -1
  74. package/base/lib/util/inMs.d.ts +15 -0
  75. package/base/lib/util/inMs.js +15 -0
  76. package/base/lib/util/inMs.js.map +1 -1
  77. package/base/lib/util/ip.d.ts +81 -0
  78. package/base/lib/util/ip.js +81 -0
  79. package/base/lib/util/ip.js.map +1 -1
  80. package/base/lib/util/once.d.ts +13 -0
  81. package/base/lib/util/once.js +13 -0
  82. package/base/lib/util/once.js.map +1 -1
  83. package/base/lib/util/patterns.d.ts +11 -0
  84. package/base/lib/util/patterns.js +11 -0
  85. package/base/lib/util/patterns.js.map +1 -1
  86. package/base/lib/util/regexes.d.ts +38 -0
  87. package/base/lib/util/regexes.js +38 -0
  88. package/base/lib/util/regexes.js.map +1 -1
  89. package/base/lib/util/splitCommand.d.ts +14 -0
  90. package/base/lib/util/splitCommand.js +14 -0
  91. package/base/lib/util/splitCommand.js.map +1 -1
  92. package/base/lib/util/stringFromStdErrOut.d.ts +7 -0
  93. package/base/lib/util/stringFromStdErrOut.js +7 -0
  94. package/base/lib/util/stringFromStdErrOut.js.map +1 -1
  95. package/base/lib/util/typeHelpers.d.ts +35 -0
  96. package/base/lib/util/typeHelpers.js +7 -0
  97. package/base/lib/util/typeHelpers.js.map +1 -1
  98. package/package/lib/StartSdk.d.ts +328 -2
  99. package/package/lib/StartSdk.js +142 -1
  100. package/package/lib/StartSdk.js.map +1 -1
  101. package/package/lib/backup/Backups.d.ts +71 -0
  102. package/package/lib/backup/Backups.js +69 -0
  103. package/package/lib/backup/Backups.js.map +1 -1
  104. package/package/lib/backup/setupBackups.d.ts +14 -0
  105. package/package/lib/backup/setupBackups.js +9 -0
  106. package/package/lib/backup/setupBackups.js.map +1 -1
  107. package/package/lib/health/HealthCheck.d.ts +16 -0
  108. package/package/lib/health/HealthCheck.js +15 -0
  109. package/package/lib/health/HealthCheck.js.map +1 -1
  110. package/package/lib/health/checkFns/HealthCheckResult.d.ts +6 -0
  111. package/package/lib/health/checkFns/index.d.ts +8 -0
  112. package/package/lib/health/checkFns/index.js +8 -0
  113. package/package/lib/health/checkFns/index.js.map +1 -1
  114. package/package/lib/mainFn/CommandController.d.ts +29 -0
  115. package/package/lib/mainFn/CommandController.js +29 -0
  116. package/package/lib/mainFn/CommandController.js.map +1 -1
  117. package/package/lib/mainFn/Daemon.d.ts +38 -2
  118. package/package/lib/mainFn/Daemon.js +38 -2
  119. package/package/lib/mainFn/Daemon.js.map +1 -1
  120. package/package/lib/mainFn/Daemons.d.ts +31 -0
  121. package/package/lib/mainFn/Daemons.js +13 -0
  122. package/package/lib/mainFn/Daemons.js.map +1 -1
  123. package/package/lib/mainFn/Mounts.d.ts +38 -0
  124. package/package/lib/mainFn/Mounts.js +38 -0
  125. package/package/lib/mainFn/Mounts.js.map +1 -1
  126. package/package/lib/mainFn/index.d.ts +1 -0
  127. package/package/lib/mainFn/index.js +1 -0
  128. package/package/lib/mainFn/index.js.map +1 -1
  129. package/package/lib/manifest/setupManifest.d.ts +9 -0
  130. package/package/lib/manifest/setupManifest.js +9 -0
  131. package/package/lib/manifest/setupManifest.js.map +1 -1
  132. package/package/lib/test/output.sdk.d.ts +192 -2
  133. package/package/lib/util/SubContainer.d.ts +46 -0
  134. package/package/lib/util/SubContainer.js +10 -0
  135. package/package/lib/util/SubContainer.js.map +1 -1
  136. package/package/lib/util/fileHelper.d.ts +41 -8
  137. package/package/lib/util/fileHelper.js +6 -4
  138. package/package/lib/util/fileHelper.js.map +1 -1
  139. package/package/lib/version/VersionGraph.d.ts +61 -0
  140. package/package/lib/version/VersionGraph.js +61 -0
  141. package/package/lib/version/VersionGraph.js.map +1 -1
  142. package/package/lib/version/VersionInfo.d.ts +17 -0
  143. package/package/lib/version/VersionInfo.js +12 -0
  144. package/package/lib/version/VersionInfo.js.map +1 -1
  145. package/package/package.json +3 -2
  146. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"setupBackups.js","sourceRoot":"","sources":["../../../../package/lib/backup/setupBackups.ts"],"names":[],"mappings":";;AAcA,oCAwBC;AAtCD,uCAAmC;AAcnC,SAAgB,YAAY,CAC1B,OAA8B;IAE9B,IAAI,cAAkE,CAAA;IACtE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,cAAc,GAAG,OAAO,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,iBAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,MAAM,GAAoB;QAC9B,IAAI,YAAY;YACd,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACtE,CAAC,CAAmC,CAAA;QACtC,CAAC;QACD,IAAI,WAAW;YACb,OAAO;gBACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC5B,OAAO,CAAC,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAChE,CAAC;aACF,CAAA;QACH,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"setupBackups.js","sourceRoot":"","sources":["../../../../package/lib/backup/setupBackups.ts"],"names":[],"mappings":";;AA4BA,oCAwBC;AApDD,uCAAmC;AAmBnC;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,OAA8B;IAE9B,IAAI,cAAkE,CAAA;IACtE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,cAAc,GAAG,OAAO,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,iBAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,MAAM,GAAoB;QAC9B,IAAI,YAAY;YACd,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACtE,CAAC,CAAmC,CAAA;QACtC,CAAC;QACD,IAAI,WAAW;YACb,OAAO;gBACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC5B,OAAO,CAAC,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAChE,CAAC;aACF,CAAA;QACH,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -2,6 +2,7 @@ import { Effects, HealthCheckId } from '../../../base/lib/types';
2
2
  import { HealthCheckResult } from './checkFns/HealthCheckResult';
3
3
  import { Trigger } from '../trigger';
4
4
  import { Drop } from '../util';
5
+ /** Parameters for creating a health check */
5
6
  export type HealthCheckParams = {
6
7
  id: HealthCheckId;
7
8
  name: string;
@@ -9,6 +10,13 @@ export type HealthCheckParams = {
9
10
  gracePeriod?: number;
10
11
  fn(): Promise<HealthCheckResult> | HealthCheckResult;
11
12
  };
13
+ /**
14
+ * A periodic health check that reports daemon readiness to the StartOS UI.
15
+ *
16
+ * Polls at an interval controlled by a {@link Trigger}, reporting results as
17
+ * "starting" (during the grace period), "success", or "failure". Automatically
18
+ * pauses when the daemon is stopped and resumes when restarted.
19
+ */
12
20
  export declare class HealthCheck extends Drop {
13
21
  private started;
14
22
  private setStarted;
@@ -17,8 +25,16 @@ export declare class HealthCheck extends Drop {
17
25
  private currentValue;
18
26
  private promise;
19
27
  private constructor();
28
+ /**
29
+ * Create a new HealthCheck instance and begin its polling loop.
30
+ * @param effects - The effects context for reporting health status
31
+ * @param options - Health check configuration (ID, name, check function, trigger, grace period)
32
+ * @returns A new HealthCheck instance
33
+ */
20
34
  static of(effects: Effects, options: HealthCheckParams): HealthCheck;
35
+ /** Signal that the daemon is running, enabling health check polling */
21
36
  start(): void;
37
+ /** Signal that the daemon has stopped, pausing health check polling */
22
38
  stop(): void;
23
39
  onDrop(): void;
24
40
  }
@@ -3,6 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HealthCheck = void 0;
4
4
  const defaultTrigger_1 = require("../trigger/defaultTrigger");
5
5
  const util_1 = require("../util");
6
+ /**
7
+ * A periodic health check that reports daemon readiness to the StartOS UI.
8
+ *
9
+ * Polls at an interval controlled by a {@link Trigger}, reporting results as
10
+ * "starting" (during the grace period), "success", or "failure". Automatically
11
+ * pauses when the daemon is stopped and resumes when restarted.
12
+ */
6
13
  class HealthCheck extends util_1.Drop {
7
14
  constructor(effects, o) {
8
15
  super();
@@ -78,14 +85,22 @@ class HealthCheck extends util_1.Drop {
78
85
  }
79
86
  });
80
87
  }
88
+ /**
89
+ * Create a new HealthCheck instance and begin its polling loop.
90
+ * @param effects - The effects context for reporting health status
91
+ * @param options - Health check configuration (ID, name, check function, trigger, grace period)
92
+ * @returns A new HealthCheck instance
93
+ */
81
94
  static of(effects, options) {
82
95
  return new HealthCheck(effects, options);
83
96
  }
97
+ /** Signal that the daemon is running, enabling health check polling */
84
98
  start() {
85
99
  if (this.started)
86
100
  return;
87
101
  this.setStarted(performance.now());
88
102
  }
103
+ /** Signal that the daemon has stopped, pausing health check polling */
89
104
  stop() {
90
105
  if (!this.started)
91
106
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../../../package/lib/health/HealthCheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../../../package/lib/health/HealthCheck.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,8 @@
1
1
  import { T } from '../../../../base/lib';
2
+ /**
3
+ * The result of a single health check invocation.
4
+ *
5
+ * Contains a `result` field ("success", "failure", or "starting") and an optional `message`.
6
+ * This is the unnamed variant -- the health check name is added by the framework.
7
+ */
2
8
  export type HealthCheckResult = Omit<T.NamedHealthCheckResult, 'name'>;
@@ -2,6 +2,14 @@ import { runHealthScript } from './runHealthScript';
2
2
  export { checkPortListening } from './checkPortListening';
3
3
  export { HealthCheckResult } from './HealthCheckResult';
4
4
  export { checkWebUrl } from './checkWebUrl';
5
+ /**
6
+ * Create a promise that rejects after the specified timeout.
7
+ * Useful for racing against long-running health checks.
8
+ *
9
+ * @param ms - Timeout duration in milliseconds
10
+ * @param options.message - Custom error message (defaults to "Timed out")
11
+ * @returns A promise that never resolves, only rejects after the timeout
12
+ */
5
13
  export declare function timeoutPromise(ms: number, { message }?: {
6
14
  message?: string | undefined;
7
15
  }): Promise<never>;
@@ -8,6 +8,14 @@ var checkPortListening_1 = require("./checkPortListening");
8
8
  Object.defineProperty(exports, "checkPortListening", { enumerable: true, get: function () { return checkPortListening_1.checkPortListening; } });
9
9
  var checkWebUrl_1 = require("./checkWebUrl");
10
10
  Object.defineProperty(exports, "checkWebUrl", { enumerable: true, get: function () { return checkWebUrl_1.checkWebUrl; } });
11
+ /**
12
+ * Create a promise that rejects after the specified timeout.
13
+ * Useful for racing against long-running health checks.
14
+ *
15
+ * @param ms - Timeout duration in milliseconds
16
+ * @param options.message - Custom error message (defaults to "Timed out")
17
+ * @returns A promise that never resolves, only rejects after the timeout
18
+ */
11
19
  function timeoutPromise(ms, { message = 'Timed out' } = {}) {
12
20
  return new Promise((resolve, reject) => setTimeout(() => reject(new Error(message)), ms));
13
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../package/lib/health/checkFns/index.ts"],"names":[],"mappings":";;;AAKA,wCAIC;AATD,uDAAmD;AAU1C,gGAVA,iCAAe,OAUA;AATxB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAE3B,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AAEpB,SAAgB,cAAc,CAAC,EAAU,EAAE,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE;IACvE,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CACjD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../package/lib/health/checkFns/index.ts"],"names":[],"mappings":";;;AAaA,wCAIC;AAjBD,uDAAmD;AAkB1C,gGAlBA,iCAAe,OAkBA;AAjBxB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAE3B,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AAEpB;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,EAAU,EAAE,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE;IACvE,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CACjD,CAAA;AACH,CAAC"}
@@ -2,6 +2,15 @@ import * as T from '../../../base/lib/types';
2
2
  import { SubContainer } from '../util/SubContainer';
3
3
  import { Drop } from '../util';
4
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
+ */
5
14
  export declare class CommandController<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> extends Drop {
6
15
  readonly runningAnswer: Promise<null>;
7
16
  private state;
@@ -9,10 +18,30 @@ export declare class CommandController<Manifest extends T.SDKManifest, C extends
9
18
  private process;
10
19
  readonly sigtermTimeout: number;
11
20
  private constructor();
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
+ */
12
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
+ */
13
33
  wait({ timeout }?: {
14
34
  timeout?: number | undefined;
15
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
+ */
16
45
  term({ signal, timeout }?: {
17
46
  signal?: NodeJS.Signals | undefined;
18
47
  timeout?: number | undefined;
@@ -39,6 +39,15 @@ const types_1 = require("../../../base/lib/types");
39
39
  const T = __importStar(require("../../../base/lib/types"));
40
40
  const util_1 = require("../util");
41
41
  const fs = __importStar(require("node:fs/promises"));
42
+ /**
43
+ * Low-level controller for a single running process inside a subcontainer (or as a JS function).
44
+ *
45
+ * Manages the child process lifecycle: spawning, waiting, and signal-based termination.
46
+ * Used internally by {@link Daemon} to manage individual command executions.
47
+ *
48
+ * @typeParam Manifest - The service manifest type
49
+ * @typeParam C - The subcontainer type, or `null` for JS-only commands
50
+ */
42
51
  class CommandController extends util_1.Drop {
43
52
  constructor(runningAnswer, state, subcontainer, process, sigtermTimeout = _1.DEFAULT_SIGTERM_TIMEOUT) {
44
53
  super();
@@ -48,6 +57,13 @@ class CommandController extends util_1.Drop {
48
57
  this.process = process;
49
58
  this.sigtermTimeout = sigtermTimeout;
50
59
  }
60
+ /**
61
+ * Factory method to create a new CommandController.
62
+ *
63
+ * Returns a curried async function: `(effects, subcontainer, exec) => CommandController`.
64
+ * If the exec spec has an `fn` property, runs the function; otherwise spawns a shell command
65
+ * in the subcontainer.
66
+ */
51
67
  static of() {
52
68
  return async (effects, subcontainer, exec) => {
53
69
  try {
@@ -126,6 +142,10 @@ class CommandController extends util_1.Drop {
126
142
  }
127
143
  };
128
144
  }
145
+ /**
146
+ * Wait for the command to finish. Optionally terminate after a timeout.
147
+ * @param options.timeout - Milliseconds to wait before terminating. Defaults to no timeout.
148
+ */
129
149
  async wait({ timeout = types_1.NO_TIMEOUT } = {}) {
130
150
  if (timeout > 0)
131
151
  setTimeout(() => {
@@ -150,6 +170,15 @@ class CommandController extends util_1.Drop {
150
170
  await this.subcontainer?.destroy();
151
171
  }
152
172
  }
173
+ /**
174
+ * Terminate the running command by sending a signal.
175
+ *
176
+ * Sends the specified signal (default: SIGTERM), then escalates to SIGKILL
177
+ * after the timeout expires. Destroys the subcontainer after the process exits.
178
+ *
179
+ * @param options.signal - The signal to send (default: SIGTERM)
180
+ * @param options.timeout - Milliseconds before escalating to SIGKILL
181
+ */
153
182
  async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout } = {}) {
154
183
  try {
155
184
  if (!this.state.exited) {
@@ -1 +1 @@
1
- {"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,14 @@ import { CommandController } from './CommandController';
5
5
  import { DaemonCommandType } from './Daemons';
6
6
  import { Oneshot } from './Oneshot';
7
7
  /**
8
- * This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
9
- * 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
10
16
  */
11
17
  export declare class Daemon<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null = SubContainer<Manifest> | null> extends Drop {
12
18
  private subcontainer;
@@ -18,16 +24,46 @@ export declare class Daemon<Manifest extends T.SDKManifest, C extends SubContain
18
24
  private exiting;
19
25
  private onExitFns;
20
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) */
21
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
+ * The daemon auto-terminates when the effects context is left.
34
+ */
22
35
  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>;
36
+ /**
37
+ * Start the daemon. If it is already running, this is a no-op.
38
+ *
39
+ * The daemon will automatically restart on failure with increasing backoff
40
+ * until {@link term} is called.
41
+ */
23
42
  start(): Promise<void>;
43
+ /**
44
+ * Terminate the daemon, stopping its underlying command.
45
+ *
46
+ * Sends the configured signal (default SIGTERM) and waits for the process to exit.
47
+ * Optionally destroys the subcontainer after termination.
48
+ *
49
+ * @param termOptions - Optional termination settings
50
+ * @param termOptions.signal - The signal to send (default: SIGTERM)
51
+ * @param termOptions.timeout - Milliseconds to wait before SIGKILL
52
+ * @param termOptions.destroySubcontainer - Whether to destroy the subcontainer after exit
53
+ */
24
54
  term(termOptions?: {
25
55
  signal?: NodeJS.Signals | undefined;
26
56
  timeout?: number | undefined;
27
57
  destroySubcontainer?: boolean;
28
58
  }): Promise<void>;
59
+ /** Get a reference-counted handle to the daemon's subcontainer, or null if there is none */
29
60
  subcontainerRc(): SubContainerRc<Manifest> | null;
61
+ /** Check whether this daemon shares the same subcontainer as another daemon */
30
62
  sharesSubcontainerWith(other: Daemon<Manifest, SubContainer<Manifest> | null>): boolean;
63
+ /**
64
+ * Register a callback to be invoked each time the daemon's process exits.
65
+ * @param fn - Callback receiving `true` on clean exit, `false` on error
66
+ */
31
67
  onExit(fn: (success: boolean) => void): void;
32
68
  onDrop(): void;
33
69
  }
@@ -7,8 +7,14 @@ const CommandController_1 = require("./CommandController");
7
7
  const TIMEOUT_INCREMENT_MS = 1000;
8
8
  const MAX_TIMEOUT_MS = 30000;
9
9
  /**
10
- * This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
11
- * and the others state of running, where it will keep a living running command
10
+ * A managed long-running process wrapper around {@link CommandController}.
11
+ *
12
+ * When started, the daemon automatically restarts its underlying command on failure
13
+ * with exponential backoff (up to 30 seconds). When stopped, the command is terminated
14
+ * gracefully. Implements {@link Drop} for automatic cleanup when the context is left.
15
+ *
16
+ * @typeParam Manifest - The service manifest type
17
+ * @typeParam C - The subcontainer type, or `null` for JS-only daemons
12
18
  */
13
19
  class Daemon extends util_1.Drop {
14
20
  constructor(subcontainer, startCommand, oneshot = false) {
@@ -22,9 +28,16 @@ class Daemon extends util_1.Drop {
22
28
  this.exiting = null;
23
29
  this.onExitFns = [];
24
30
  }
31
+ /** Returns true if this daemon is a one-shot process (exits after success) */
25
32
  isOneshot() {
26
33
  return this.oneshot;
27
34
  }
35
+ /**
36
+ * Factory method to create a new Daemon.
37
+ *
38
+ * Returns a curried function: `(effects, subcontainer, exec) => Daemon`.
39
+ * The daemon auto-terminates when the effects context is left.
40
+ */
28
41
  static of() {
29
42
  return (effects, subcontainer, exec) => {
30
43
  let subc = subcontainer;
@@ -38,6 +51,12 @@ class Daemon extends util_1.Drop {
38
51
  return res;
39
52
  };
40
53
  }
54
+ /**
55
+ * Start the daemon. If it is already running, this is a no-op.
56
+ *
57
+ * The daemon will automatically restart on failure with increasing backoff
58
+ * until {@link term} is called.
59
+ */
41
60
  async start() {
42
61
  if (this.commandController) {
43
62
  return;
@@ -85,6 +104,17 @@ class Daemon extends util_1.Drop {
85
104
  console.error((0, asError_1.asError)(err));
86
105
  });
87
106
  }
107
+ /**
108
+ * Terminate the daemon, stopping its underlying command.
109
+ *
110
+ * Sends the configured signal (default SIGTERM) and waits for the process to exit.
111
+ * Optionally destroys the subcontainer after termination.
112
+ *
113
+ * @param termOptions - Optional termination settings
114
+ * @param termOptions.signal - The signal to send (default: SIGTERM)
115
+ * @param termOptions.timeout - Milliseconds to wait before SIGKILL
116
+ * @param termOptions.destroySubcontainer - Whether to destroy the subcontainer after exit
117
+ */
88
118
  async term(termOptions) {
89
119
  this.shouldBeRunning = false;
90
120
  this.exitedSuccess = false;
@@ -101,12 +131,18 @@ class Daemon extends util_1.Drop {
101
131
  this.exiting = null;
102
132
  }
103
133
  }
134
+ /** Get a reference-counted handle to the daemon's subcontainer, or null if there is none */
104
135
  subcontainerRc() {
105
136
  return this.subcontainer?.rc() ?? null;
106
137
  }
138
+ /** Check whether this daemon shares the same subcontainer as another daemon */
107
139
  sharesSubcontainerWith(other) {
108
140
  return this.subcontainer?.guid === other.subcontainer?.guid;
109
141
  }
142
+ /**
143
+ * Register a callback to be invoked each time the daemon's process exits.
144
+ * @param fn - Callback receiving `true` on clean exit, `false` on error
145
+ */
110
146
  onExit(fn) {
111
147
  this.onExitFns.push(fn);
112
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,15 @@ export { CommandController } from './CommandController';
8
8
  import { HealthDaemon } from './HealthDaemon';
9
9
  import { Daemon } from './Daemon';
10
10
  import { CommandController } from './CommandController';
11
+ /** Promisified version of `child_process.exec` */
11
12
  export declare const cpExec: typeof CP.exec.__promisify__;
13
+ /** Promisified version of `child_process.execFile` */
12
14
  export declare const cpExecFile: typeof CP.execFile.__promisify__;
15
+ /**
16
+ * Configuration for a daemon's health-check readiness probe.
17
+ *
18
+ * Determines how the system knows when a daemon is healthy and ready to serve.
19
+ */
13
20
  export type Ready = {
14
21
  /** A human-readable display name for the health check. If null, the health check itself will be from the UI */
15
22
  display: string | null;
@@ -36,6 +43,10 @@ export type Ready = {
36
43
  gracePeriod?: number;
37
44
  trigger?: Trigger;
38
45
  };
46
+ /**
47
+ * Options for running a daemon as a shell command inside a subcontainer.
48
+ * Includes the command to run, optional signal/timeout, environment, user, and stdio callbacks.
49
+ */
39
50
  export type ExecCommandOptions = {
40
51
  command: T.CommandType;
41
52
  sigtermTimeout?: number;
@@ -48,10 +59,19 @@ export type ExecCommandOptions = {
48
59
  onStdout?: (chunk: Buffer | string | any) => void;
49
60
  onStderr?: (chunk: Buffer | string | any) => void;
50
61
  };
62
+ /**
63
+ * Options for running a daemon via an async function that may optionally return
64
+ * a command to execute in the subcontainer. The function receives an `AbortSignal`
65
+ * for cooperative cancellation.
66
+ */
51
67
  export type ExecFnOptions<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> = {
52
68
  fn: (subcontainer: C, abort: AbortSignal) => Promise<C extends null ? null : ExecCommandOptions | null>;
53
69
  sigtermTimeout?: number;
54
70
  };
71
+ /**
72
+ * The execution specification for a daemon: either an {@link ExecFnOptions} (async function)
73
+ * or an {@link ExecCommandOptions} (shell command, only valid when a subcontainer is provided).
74
+ */
55
75
  export type DaemonCommandType<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> = ExecFnOptions<Manifest, C> | (C extends null ? never : ExecCommandOptions);
56
76
  type NewDaemonParams<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> = {
57
77
  /** What to run as the daemon: either an async fn or a commandline command to run in the subcontainer */
@@ -157,6 +177,17 @@ export declare class Daemons<Manifest extends T.SDKManifest, Ids extends string>
157
177
  * @returns a new Daemons object
158
178
  */
159
179
  runUntilSuccess(timeout: number | null): Promise<null>;
180
+ /**
181
+ * Gracefully terminate all daemons in reverse dependency order.
182
+ *
183
+ * Daemons with no remaining dependents are shut down first, proceeding
184
+ * until all daemons have been terminated. Falls back to a bulk shutdown
185
+ * if a dependency cycle is detected.
186
+ */
160
187
  term(): Promise<void>;
188
+ /**
189
+ * Start all registered daemons and their health checks.
190
+ * @returns This `Daemons` instance, now running
191
+ */
161
192
  build(): Promise<this>;
162
193
  }
@@ -44,7 +44,9 @@ const HealthDaemon_1 = require("./HealthDaemon");
44
44
  const Daemon_2 = require("./Daemon");
45
45
  const CommandController_2 = require("./CommandController");
46
46
  const Oneshot_1 = require("./Oneshot");
47
+ /** Promisified version of `child_process.exec` */
47
48
  exports.cpExec = (0, node_util_1.promisify)(CP.exec);
49
+ /** Promisified version of `child_process.execFile` */
48
50
  exports.cpExecFile = (0, node_util_1.promisify)(CP.execFile);
49
51
  const runCommand = () => CommandController_2.CommandController.of();
50
52
  exports.runCommand = runCommand;
@@ -191,6 +193,13 @@ class Daemons {
191
193
  }
192
194
  return null;
193
195
  }
196
+ /**
197
+ * Gracefully terminate all daemons in reverse dependency order.
198
+ *
199
+ * Daemons with no remaining dependents are shut down first, proceeding
200
+ * until all daemons have been terminated. Falls back to a bulk shutdown
201
+ * if a dependency cycle is detected.
202
+ */
194
203
  async term() {
195
204
  const remaining = new Set(this.healthDaemons);
196
205
  while (remaining.size > 0) {
@@ -218,6 +227,10 @@ class Daemons {
218
227
  }));
219
228
  }
220
229
  }
230
+ /**
231
+ * Start all registered daemons and their health checks.
232
+ * @returns This `Daemons` instance, now running
233
+ */
221
234
  async build() {
222
235
  for (const daemon of this.healthDaemons) {
223
236
  await daemon.updateStatus();
@@ -1 +1 @@
1
- {"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,yCAAqC;AACrC,uDAAwC;AAExC,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,iDAA2D;AAC3D,qCAAiC;AACjC,2DAAuD;AACvD,uCAAmC;AAEtB,QAAA,MAAM,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AAC3B,QAAA,UAAU,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AA8GzC,MAAM,UAAU,GAAG,GAAmC,EAAE,CAC7D,qCAAiB,CAAC,EAAE,EAAoC,CAAA;AAD7C,QAAA,UAAU,cACmC;AAE1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,OAAO;IAGlB,YACW,OAAkB,EAClB,GAAU,EACV,aAAuC;QAFvC,YAAO,GAAP,OAAO,CAAW;QAClB,QAAG,GAAH,GAAG,CAAO;QACV,kBAAa,GAAb,aAAa,CAA0B;IAC/C,CAAC;IACJ;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,CAAiC,OAA+B;QACvE,OAAO,IAAI,OAAO,CAAkB,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAEO,aAAa,CACnB,EAAM,EACN,MAAyE,EACzE,QAAe,EACf,KAAkC;QAElC,MAAM,YAAY,GAAG,IAAI,2BAAY,CACnC,MAAM,EACN,QAAQ;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EACtC,EAAE,EACF,KAAK,EACL,IAAI,CAAC,OAAO,CACb,CAAA;QACD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAiB,CAAA;QAC7C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAC3D,OAAO,IAAI,OAAO,CAAqB,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,CAAA;IAC1E,CAAC;IA0BD,SAAS,CACP,EAAM,EACN,OAA6D;QAE7D,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,GAAG,GAAG,CAAC,OAAqD,EAAE,EAAE;YACpE,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO;gBACjB,CAAC,CAAC,OAAO,CAAC,MAAM;gBAChB,CAAC,CAAC,eAAM,CAAC,EAAE,EAAY,CACnB,IAAI,CAAC,OAAO,EACZ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,IAAI,CACb,CAAA;YACP,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC,CAAA;QACD,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IA2BD,UAAU,CACR,EAAM,EACN,OAA8D;QAE9D,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,GAAG,GAAG,CAAC,OAAsD,EAAE,EAAE;YACrE,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,MAAM,MAAM,GAAG,iBAAO,CAAC,EAAE,EAAY,CACnC,IAAI,CAAC,OAAO,EACZ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,IAAI,CACb,CAAA;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,2BAAY,CAAC,CAAA;QACvE,CAAC,CAAA;QACD,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IA0BD,cAAc,CACZ,EAAM,EACN,OAAqD;QAErD,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,GAAG,GAAG,CAAC,OAA6C,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACtE,CAAC,CAAA;QACD,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAsB;QAC1C,IAAI,OAAO,GAAG,CAAC,CAAO,EAAE,EAAE,GAAE,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,OAAO,GAAG,GAAG,CAAA;YACb,IAAI,OAAO;gBACT,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa;yBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;yBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;oBACnB,GAAG,CAAC,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC,CAAA;gBACrD,CAAC,EAAE,OAAO,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,iBAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;YAC9C,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,OAAO,EAAE,CAAA;gBACT,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,IAAI,2BAAY,CACnC,MAAM,EACN,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,EACvB,qBAAqB,EACrB,cAAc,EACd,IAAI,CAAC,OAAO,CACb,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAgB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;YACvE,GAAG,IAAI,CAAC,aAAa;YACrB,YAAY;SACb,CAAC,CAAC,KAAK,EAAE,CAAA;QACV,IAAI,CAAC;YACH,MAAM,GAAG,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACtB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE7C,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,4CAA4C;YAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CACvC,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CACvD,CACJ,CAAA;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,2EAA2E;gBAC3E,OAAO,CAAC,IAAI,CACV,4DAA4D,CAC7D,CAAA;gBACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;YAC/C,CAAC;YAED,4BAA4B;YAC5B,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAEzD,6DAA6D;YAC7D,MAAM,OAAO,CAAC,UAAU,CACtB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC/B,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;oBAChD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM;wBACvC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAO,CAAC,CACjD;wBACH,CAAC,CAAC,KAAK,CAAA;oBACT,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,MAAM,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAxRD,0BAwRC"}
1
+ {"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":"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"}
@@ -30,20 +30,58 @@ type DependencyOpts<Manifest extends T.SDKManifest> = {
30
30
  /** Whether or not the resource should be readonly for this subcontainer */
31
31
  readonly: boolean;
32
32
  } & SharedOptions;
33
+ /**
34
+ * Immutable builder for declaring filesystem mounts into a subcontainer.
35
+ *
36
+ * Supports mounting volumes, static assets, dependency volumes, and backup directories.
37
+ * Each `mount*` method returns a new `Mounts` instance (immutable builder pattern).
38
+ *
39
+ * @typeParam Manifest - The service manifest type
40
+ * @typeParam Backups - Tracks whether backup mounts have been added (type-level flag)
41
+ */
33
42
  export declare class Mounts<Manifest extends T.SDKManifest, Backups extends SharedOptions = never> {
34
43
  readonly volumes: VolumeOpts<Manifest>[];
35
44
  readonly assets: SharedOptions[];
36
45
  readonly dependencies: DependencyOpts<T.SDKManifest>[];
37
46
  readonly backups: Backups[];
38
47
  private constructor();
48
+ /**
49
+ * Create an empty Mounts builder with no mounts configured.
50
+ * @returns A new Mounts instance ready for chaining mount declarations
51
+ */
39
52
  static of<Manifest extends T.SDKManifest>(): Mounts<Manifest, never>;
53
+ /**
54
+ * Add a volume mount from the service's own volumes.
55
+ * @param options - Volume ID, mountpoint, readonly flag, and optional subpath
56
+ * @returns A new Mounts instance with this volume added
57
+ */
40
58
  mountVolume(options: VolumeOpts<Manifest>): Mounts<Manifest, Backups>;
59
+ /**
60
+ * Add a read-only mount of the service's packaged static assets.
61
+ * @param options - Mountpoint and optional subpath within the assets directory
62
+ * @returns A new Mounts instance with this asset mount added
63
+ */
41
64
  mountAssets(options: SharedOptions): Mounts<Manifest, Backups>;
65
+ /**
66
+ * Add a mount from a dependency package's volume.
67
+ * @param options - Dependency ID, volume ID, mountpoint, readonly flag, and optional subpath
68
+ * @returns A new Mounts instance with this dependency mount added
69
+ */
42
70
  mountDependency<DependencyManifest extends T.SDKManifest>(options: DependencyOpts<DependencyManifest>): Mounts<Manifest, Backups>;
71
+ /**
72
+ * Add a mount of the backup directory. Only valid during backup/restore operations.
73
+ * @param options - Mountpoint and optional subpath within the backup directory
74
+ * @returns A new Mounts instance with this backup mount added
75
+ */
43
76
  mountBackups(options: SharedOptions): Mounts<Manifest, {
44
77
  subpath: string | null;
45
78
  mountpoint: string;
46
79
  }>;
80
+ /**
81
+ * Compile all declared mounts into the low-level mount array consumed by the subcontainer runtime.
82
+ * @throws If any two mounts share the same mountpoint
83
+ * @returns An array of `{ mountpoint, options }` objects
84
+ */
47
85
  build(): MountArray;
48
86
  }
49
87
  export {};