@procedures/server 0.52.2 → 0.53.1

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.
package/dist/host.d.ts CHANGED
@@ -17,6 +17,8 @@
17
17
  * declares its own parts and dependencies with the vocabulary of the runner (CLI-62).
18
18
  * - The probes of the service answer on each listener of the host under `/_probes`, or on a port
19
19
  * of their own with the option `probes` (CLI-9, decision D5). The service gives both.
20
+ * - The option `telemetry` starts the telemetry SDK of the app before the listeners. The phase
21
+ * `flush the output` stops it, after each other part (CLI-130).
20
22
  */
21
23
  import { type Lifecycle, type Profile, type RunOptions, type ServiceBuilder } from "@mark1russell7/service";
22
24
  import { type ProbeKind } from "@mark1russell7/service/http";
@@ -49,6 +51,17 @@ export interface HostProbeServer {
49
51
  */
50
52
  readonly kinds?: readonly ProbeKind[] | undefined;
51
53
  }
54
+ /** The phase of the stop that flushes the telemetry: the last phase of `localDev` and `daemon`. */
55
+ export declare const TELEMETRY_FLUSH_PHASE = "flush the output";
56
+ /** The options that the host gives to the start of the telemetry. The runner owns the signals, thus the SDK adds no signal listener. */
57
+ export interface HostTelemetryOptions {
58
+ readonly stopOnSignals: false;
59
+ }
60
+ /** The telemetry SDK of an app, as the host uses it (CLI-130). `startNodeTelemetry()` of `@mark1russell7/otel-ts/node` gives this shape. */
61
+ export interface HostTelemetry {
62
+ /** This method sends the last spans and metrics, and stops the SDK. */
63
+ shutdown(): Promise<void>;
64
+ }
52
65
  /** The configuration of `runProcedureHost()`. */
53
66
  export interface ProcedureHostRunConfig {
54
67
  /** The name of the service of the process. */
@@ -96,6 +109,19 @@ export interface ProcedureHostRunConfig {
96
109
  * and the lockfile goes at the end.
97
110
  */
98
111
  readonly idle?: HostIdle | undefined;
112
+ /**
113
+ * This function starts the telemetry SDK of the app (CLI-130), for example
114
+ * `(options) => startNodeTelemetry({ ...settings, ...options })`.
115
+ *
116
+ * - The host starts it one time, after the declaration of the service and before `run()`. Thus the SDK
117
+ * starts before each dependency and each listener.
118
+ * - The host gives `{ stopOnSignals: false }`, because the runner owns the signals.
119
+ * - The phase `flush the output` starts `shutdown()`, after each other part stops. The cap of the phase
120
+ * limits the wait. A longer flush needs a profile with a longer cap.
121
+ * - The profile must have the phase `flush the output`. Without it, the host throws before it starts the SDK.
122
+ * - When `run()` throws, the host stops the SDK and throws the error again.
123
+ */
124
+ readonly telemetry?: ((options: HostTelemetryOptions) => HostTelemetry) | undefined;
99
125
  }
100
126
  /** A host that runs under `run()`: the host, the service of the process and its lifecycle. */
101
127
  export interface RunningHost {
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvI,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAkC,KAAK,QAAQ,EAAqC,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAA6C,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAyC,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEjF,+FAA+F;AAC/F,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtD,uGAAuG;AACvG,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAA+D,CAAC;AAEjI;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,6HAA6H;IAC7H,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;CACnD;AAED,iDAAiD;AACjD,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uGAAuG;IACvG,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,wGAAwG;IACxG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC7C,2FAA2F;IAC3F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD,oGAAoG;IACpG,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpF;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACtC;AAED,8FAA8F;AAC9F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,gIAAgI;IAChI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;;OAGG;IACH,MAAM,IAAI,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAkE3F"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/host.js CHANGED
@@ -17,6 +17,8 @@
17
17
  * declares its own parts and dependencies with the vocabulary of the runner (CLI-62).
18
18
  * - The probes of the service answer on each listener of the host under `/_probes`, or on a port
19
19
  * of their own with the option `probes` (CLI-9, decision D5). The service gives both.
20
+ * - The option `telemetry` starts the telemetry SDK of the app before the listeners. The phase
21
+ * `flush the output` stops it, after each other part (CLI-130).
20
22
  */
21
23
  import { daemon, localDev, service } from "@mark1russell7/service";
22
24
  import { probeServer } from "@mark1russell7/service/http";
@@ -26,12 +28,19 @@ import { lockfileHandle } from "@procedures/peer/lockfile";
26
28
  import { idleInterceptor, idleTimer, idleTimes } from "./idle.js";
27
29
  /** The profile of each mode, as data: `localDev` in the foreground, and `daemon` in the background. */
28
30
  export const HOST_PROFILES = Object.freeze({ foreground: localDev, background: daemon });
31
+ /** The phase of the stop that flushes the telemetry: the last phase of `localDev` and `daemon`. */
32
+ export const TELEMETRY_FLUSH_PHASE = "flush the output";
29
33
  /**
30
34
  * This function declares the service of a procedures host and starts `run()`. It gives the host
31
35
  * when the startup ends. After a startup that failed, `life.errors` tells why, and the process
32
36
  * exits with the code 1 after the shutdown.
33
37
  */
34
38
  export async function runProcedureHost(config) {
39
+ const profile = config.profile ?? HOST_PROFILES[config.mode];
40
+ // The telemetry needs its phase of the stop: without it, the SDK does not start (CLI-130)
41
+ if (config.telemetry && !profile.phases?.some((phase) => phase.name === TELEMETRY_FLUSH_PHASE)) {
42
+ throw new Error(`runProcedureHost: the option telemetry needs the phase "${TELEMETRY_FLUSH_PHASE}" in the profile of the service ${config.name}`);
43
+ }
35
44
  const clock = config.run?.clock;
36
45
  // A probe server of its own: the listeners of the host then answer no probes, unless the host options say so (D5)
37
46
  const dedicated = config.probes;
@@ -58,7 +67,6 @@ export async function runProcedureHost(config) {
58
67
  ...(clock ? { clock } : {}),
59
68
  ...(dedicated && config.host.probes === undefined ? { probes: false } : {}),
60
69
  });
61
- const profile = config.profile ?? HOST_PROFILES[config.mode];
62
70
  const svc = service(config.name).profile(profile);
63
71
  const probes = dedicated
64
72
  ? probeServer({
@@ -90,7 +98,19 @@ export async function runProcedureHost(config) {
90
98
  const log = config.log;
91
99
  if (log && profile.phases?.some((phase) => phase.name === "stop intake"))
92
100
  svc.onPhase("stop intake", () => log("\nShutting down..."));
93
- life = await svc.run(config.run);
101
+ // The telemetry (CLI-130): it starts after the declaration, thus a declaration that throws starts no SDK.
102
+ // The last phase of the stop flushes it, after the listeners and the dependencies.
103
+ let telemetry;
104
+ if (config.telemetry)
105
+ svc.onPhase(TELEMETRY_FLUSH_PHASE, () => telemetry?.shutdown());
106
+ telemetry = config.telemetry?.({ stopOnSignals: false });
107
+ try {
108
+ life = await svc.run(config.run);
109
+ }
110
+ catch (error) {
111
+ await telemetry?.shutdown();
112
+ throw error;
113
+ }
94
114
  if (idle) {
95
115
  // The timer stops with the lifecycle, also after a stop for another cause
96
116
  void life.done.then(() => idle.cancel());
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  export { parseConfig, parseTopicPatterns } from "./config.js";
9
9
  export { runServer, startServer, loadProcedureModule, type RunningServer, type ServerRunOptions } from "./run.js";
10
10
  export { runProcedureHost, HOST_PROFILES, type ProcedureHostRunConfig, type RunningHost, type HostRunMode } from "./host.js";
11
+ export { TELEMETRY_FLUSH_PHASE, type HostTelemetry, type HostTelemetryOptions } from "./host.js";
11
12
  export { IDLE_POLL_MS, type HostIdle } from "./idle.js";
12
13
  export type { ServerConfig, TransportConfig, ServerCreateResult, ServerStartInput, ServerStartOutput, ServerStopInput, ServerStopOutput, ServerStatusInput, ServerStatusOutput, } from "./types.js";
13
14
  export * from "./module.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,sBAAsB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7H,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACvJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,sBAAsB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7H,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACvJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,8 @@ export { parseConfig, parseTopicPatterns } from "./config.js";
9
9
  export { runServer, startServer, loadProcedureModule } from "./run.js";
10
10
  // The runner entry of the procedures host (CLI-8): the only entry that starts run()
11
11
  export { runProcedureHost, HOST_PROFILES } from "./host.js";
12
+ // The telemetry SDK of the app (CLI-130): the option `telemetry` of runProcedureHost()
13
+ export { TELEMETRY_FLUSH_PHASE } from "./host.js";
12
14
  // The idle stop of a host (CLI-27): the option `idle` of runProcedureHost()
13
15
  export { IDLE_POLL_MS } from "./idle.js";
14
16
  // server.start, server.stop and server.status (from @procedures/peer). The root registers
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAA6C,MAAM,UAAU,CAAC;AAClH,oFAAoF;AACpF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAmE,MAAM,WAAW,CAAC;AAC7H,4EAA4E;AAC5E,OAAO,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AAaxD,0FAA0F;AAC1F,yFAAyF;AACzF,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAoE,MAAM,8BAA8B,CAAC;AACvJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAA6C,MAAM,UAAU,CAAC;AAClH,oFAAoF;AACpF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAmE,MAAM,WAAW,CAAC;AAC7H,uFAAuF;AACvF,OAAO,EAAE,qBAAqB,EAAiD,MAAM,WAAW,CAAC;AACjG,4EAA4E;AAC5E,OAAO,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AAaxD,0FAA0F;AAC1F,yFAAyF;AACzF,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAoE,MAAM,8BAA8B,CAAC;AACvJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
@@ -11,6 +11,8 @@
11
11
  import { type ChildProcess, type SpawnOptions } from "node:child_process";
12
12
  import { type Effects, type FsRootRules, type Procedure } from "@procedures/client";
13
13
  import type { ServerStartInput, ServerStartOutput } from "../types.js";
14
+ /** The log file of a server that `server.start` starts: `~/.mark/server.log`. */
15
+ export declare const SERVER_LOG_PATH: string;
14
16
  /** The default time to wait for the readiness of the server: 15 s. */
15
17
  export declare const SERVER_START_TIMEOUT_MS = 15000;
16
18
  /** The URL of the readiness probe on the listener of a server (CLI-9). An address of all interfaces gives loopback. */
@@ -1 +1 @@
1
- {"version":3,"file":"server.start.d.ts","sourceRoot":"","sources":["../../src/procedures/server.start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIjF,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQvE,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AA8B9C,uHAAuH;AACvH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/D;AA0FD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CA2BpC;AAED,oHAAoH;AACpH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,KAAK,YAAY,CAAC;AAI9G,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,wHAAwH;IACxH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,yGAAyG;IACzG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C;AAED,qGAAqG;AACrG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAkE3E;AAUD,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAC1C,gBAAgB,EAChB,iBAAiB,EACjB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAmEtG,CAAC;AAEX,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"server.start.d.ts","sourceRoot":"","sources":["../../src/procedures/server.start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKvE,iFAAiF;AACjF,eAAO,MAAM,eAAe,EAAE,MAA0C,CAAC;AAKzE,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AA8B9C,uHAAuH;AACvH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/D;AA0FD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CA2BpC;AAED,oHAAoH;AACpH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,KAAK,YAAY,CAAC;AAI9G,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,wHAAwH;IACxH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,yGAAyG;IACzG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C;AAED,qGAAqG;AACrG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAkE3E;AAUD,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAC1C,gBAAgB,EAChB,iBAAiB,EACjB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAmEtG,CAAC;AAEX,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -11,14 +11,16 @@
11
11
  import { spawn } from "node:child_process";
12
12
  import * as fs from "node:fs";
13
13
  import * as path from "node:path";
14
- import * as os from "node:os";
15
14
  import { createProcedure } from "@procedures/client";
16
15
  import { HOST_PROBE_PREFIX } from "@procedures/peer";
17
- import { checkServer, readLockfileForPort } from "@procedures/peer/lockfile";
16
+ import { checkServer, getMarkDir, getServersDir, readLockfileForPort } from "@procedures/peer/lockfile";
18
17
  import { ServerStartOutputSchema, serverStartInputSchema } from "../schemas.js";
19
- const MARK_DIR = path.join(os.homedir(), ".mark");
20
- const SERVERS_DIR = path.join(MARK_DIR, "servers");
21
- const LOG_PATH = path.join(MARK_DIR, "server.log");
18
+ // The folders come from the lockfile module of @procedures/peer, the one home of `~/.mark`
19
+ const MARK_DIR = getMarkDir();
20
+ const SERVERS_DIR = getServersDir();
21
+ /** The log file of a server that `server.start` starts: `~/.mark/server.log`. */
22
+ export const SERVER_LOG_PATH = path.join(MARK_DIR, "server.log");
23
+ const LOG_PATH = SERVER_LOG_PATH;
22
24
  const LOG_PREV_PATH = path.join(MARK_DIR, "server.log.1");
23
25
  /** The default time to wait for the readiness of the server: 15 s. */
24
26
  export const SERVER_START_TIMEOUT_MS = 15_000;
@@ -1 +1 @@
1
- {"version":3,"file":"server.start.js","sourceRoot":"","sources":["../../src/procedures/server.start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.start.js","sourceRoot":"","sources":["../../src/procedures/server.start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAkD,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAqB,MAAM,2BAA2B,CAAC;AAC3H,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGhF,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;AAC9B,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;AACpC,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACzE,MAAM,QAAQ,GAAG,eAAe,CAAC;AACjC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAG1D,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C,yDAAyD;AACzD,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,sEAAsE;AACtE,MAAM,eAAe,GAAG,KAAK,CAAC;AAK9B,wHAAwH;AACxH,SAAS,KAAK,CAAC,KAAmB;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,SAAS,OAAO,CAAC,GAAa;IAC5B,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,kBAAkB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;IAClE,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,yBAAyB,GAAG,CAAC,MAAM,EAAE,CAAC;IACtE,OAAO,wBAAwB,GAAG,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;AACzD,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACvF,OAAO,UAAU,KAAK,IAAI,IAAI,GAAG,iBAAiB,YAAY,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACpF,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,OAAO,CAAC;QAC5C,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAA0B;IAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACvG,OAAO,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAKD;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAAC,OAM5B;IACC,IAAI,KAA2B,CAAC;IAChC,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAChD,SAAS,CAAC;QACR,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,IAAI,KAAgD,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9G,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACzC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,MAAc;IAC/B,0CAA0C;IAC1C,OAAO,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,iEAAiE;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,uBAAuB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,+DAA+D;IAC/D,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACxD,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC3C,CAAC;IAEF,+BAA+B;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC;AAKD,MAAM,cAAc,GAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AA0BrG;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9C,kBAAkB;IAClB,SAAS,EAAE,CAAC;IAEZ,2BAA2B;IAC3B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEzC,gBAAgB;IAChB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,8DAA8D;IAC9D,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,UAAU;QACV,QAAQ;QACR,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QACpB,QAAQ;QACR,OAAO,CAAC,IAAI;KACb,CAAC;IACF,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,yBAAyB;IACzB,IAAI,QAAgB,CAAC;IACrB,IAAI,SAAmB,CAAC;IAExB,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1F,4BAA4B;QAC5B,QAAQ,GAAG,OAAO,CAAC;QACnB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,8BAA8B;QAC9B,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5B,SAAS,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC/D,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;YAC/B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,kDAAkD;YAClD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,6FAA6F;IAC7F,4CAA4C;IAC5C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAErC,2BAA2B;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAgB;IACtC,MAAM,EAAE,yHAAyH;CAClI,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAI7B,eAAe,EAAE;KAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACzB,KAAK,CAAC,sBAAsB,CAAC;KAC7B,MAAM,CAAC,uBAAuB,CAAC;KAC/B,IAAI,CAAC;IACJ,WAAW,EAAE,uCAAuC;IACpD,2FAA2F;IAC3F,qBAAqB;IACrB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;IACpF,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;CACjC,CAAC;KACD,OAAO,CAAC,KAAK,EAAE,KAAuB,EAA8B,EAAE;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;IAChC,+EAA+E;IAC/E,2CAA2C;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAE3D,kDAAkD;IAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,QAAQ,IAAI,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kCAAkC,IAAI,SAAS,QAAQ,CAAC,GAAG,GAAG;SACxE,CAAC;IACJ,CAAC;IAED,yGAAyG;IACzG,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7D,2FAA2F;IAC3F,6CAA6C;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzB,wGAAwG;IACxG,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IACtH,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;YACrB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACvB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,uBAAuB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG;SACpD,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,qBAAqB,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,QAAQ,eAAe;SACpJ,CAAC;IACJ,CAAC;IACD,qGAAqG;IACrG,OAAO;QACL,OAAO,EAAE,KAAK;QACd,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,IAAI;QACJ,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,iCAAiC,SAAS,yBAAyB,GAAG,IAAI,SAAS,yBAAyB,QAAQ,uCAAuC;KACrK,CAAC;AACJ,CAAC,CAAC;KACD,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.status.d.ts","sourceRoot":"","sources":["../../src/procedures/server.status.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGrG,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA4CzE,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAC3C,iBAAiB,EACjB,kBAAkB,EAClB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAuFtE,CAAC;AAEX,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"server.status.d.ts","sourceRoot":"","sources":["../../src/procedures/server.status.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGrG,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA0CzE,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAC3C,iBAAiB,EACjB,kBAAkB,EAClB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAuFtE,CAAC;AAEX,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -4,13 +4,10 @@
4
4
  *
5
5
  * The procedure came from `@procedures/peer`: it belongs to the host.
6
6
  */
7
- import * as path from "node:path";
8
- import * as os from "node:os";
9
7
  import { createProcedure } from "@procedures/client";
10
8
  import { checkServer, readAllLockfiles, readLockfileForPort, removeLockfileForPort } from "@procedures/peer/lockfile";
11
9
  import { ServerStatusOutputSchema, serverStatusInputSchema } from "../schemas.js";
12
- const MARK_DIR = path.join(os.homedir(), ".mark");
13
- const LOG_PATH = path.join(MARK_DIR, "server.log");
10
+ import { SERVER_LOG_PATH as LOG_PATH } from "./server.start.js";
14
11
  /**
15
12
  * Format uptime as human-readable string
16
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"server.status.js","sourceRoot":"","sources":["../../src/procedures/server.status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.status.js","sourceRoot":"","sources":["../../src/procedures/server.status.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/server",
4
- "version": "0.52.2",
4
+ "version": "0.53.1",
5
5
  "description": "A standalone procedure server: load procedure packages and serve them over HTTP and WebSocket with a token and an expose list. Its procedures server.start, server.stop and server.status manage the background server of the mark CLI.",
6
6
  "keywords": [
7
7
  "server",
@@ -60,20 +60,20 @@
60
60
  "provenance": true
61
61
  },
62
62
  "dependencies": {
63
- "@mark1russell7/service": "^0.6.0",
64
- "@procedures/client": "0.52.2",
65
- "@procedures/peer": "0.52.2",
63
+ "@mark1russell7/service": "^0.8.3",
64
+ "@procedures/client": "0.53.1",
65
+ "@procedures/peer": "0.53.1",
66
66
  "zod": "^4.6.5"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@mark1russell7/cue": "^2.1.1",
70
- "@procedures/fs": "0.52.2",
70
+ "@procedures/fs": "0.53.1",
71
71
  "@types/node": "^22.0.0",
72
72
  "typescript": "^7.0.2",
73
73
  "vitest": "^5.0.3"
74
74
  },
75
75
  "peerDependencies": {
76
- "@procedures/fs": "^0.52.2"
76
+ "@procedures/fs": "^0.53.1"
77
77
  },
78
78
  "peerDependenciesMeta": {
79
79
  "@procedures/fs": {
package/src/host.ts CHANGED
@@ -17,6 +17,8 @@
17
17
  * declares its own parts and dependencies with the vocabulary of the runner (CLI-62).
18
18
  * - The probes of the service answer on each listener of the host under `/_probes`, or on a port
19
19
  * of their own with the option `probes` (CLI-9, decision D5). The service gives both.
20
+ * - The option `telemetry` starts the telemetry SDK of the app before the listeners. The phase
21
+ * `flush the output` stops it, after each other part (CLI-130).
20
22
  */
21
23
 
22
24
  import { daemon, localDev, service, type Lifecycle, type Profile, type RunOptions, type ServiceBuilder } from "@mark1russell7/service";
@@ -54,6 +56,20 @@ export interface HostProbeServer {
54
56
  readonly kinds?: readonly ProbeKind[] | undefined;
55
57
  }
56
58
 
59
+ /** The phase of the stop that flushes the telemetry: the last phase of `localDev` and `daemon`. */
60
+ export const TELEMETRY_FLUSH_PHASE = "flush the output";
61
+
62
+ /** The options that the host gives to the start of the telemetry. The runner owns the signals, thus the SDK adds no signal listener. */
63
+ export interface HostTelemetryOptions {
64
+ readonly stopOnSignals: false;
65
+ }
66
+
67
+ /** The telemetry SDK of an app, as the host uses it (CLI-130). `startNodeTelemetry()` of `@mark1russell7/otel-ts/node` gives this shape. */
68
+ export interface HostTelemetry {
69
+ /** This method sends the last spans and metrics, and stops the SDK. */
70
+ shutdown(): Promise<void>;
71
+ }
72
+
57
73
  /** The configuration of `runProcedureHost()`. */
58
74
  export interface ProcedureHostRunConfig {
59
75
  /** The name of the service of the process. */
@@ -101,6 +117,19 @@ export interface ProcedureHostRunConfig {
101
117
  * and the lockfile goes at the end.
102
118
  */
103
119
  readonly idle?: HostIdle | undefined;
120
+ /**
121
+ * This function starts the telemetry SDK of the app (CLI-130), for example
122
+ * `(options) => startNodeTelemetry({ ...settings, ...options })`.
123
+ *
124
+ * - The host starts it one time, after the declaration of the service and before `run()`. Thus the SDK
125
+ * starts before each dependency and each listener.
126
+ * - The host gives `{ stopOnSignals: false }`, because the runner owns the signals.
127
+ * - The phase `flush the output` starts `shutdown()`, after each other part stops. The cap of the phase
128
+ * limits the wait. A longer flush needs a profile with a longer cap.
129
+ * - The profile must have the phase `flush the output`. Without it, the host throws before it starts the SDK.
130
+ * - When `run()` throws, the host stops the SDK and throws the error again.
131
+ */
132
+ readonly telemetry?: ((options: HostTelemetryOptions) => HostTelemetry) | undefined;
104
133
  }
105
134
 
106
135
  /** A host that runs under `run()`: the host, the service of the process and its lifecycle. */
@@ -122,6 +151,11 @@ export interface RunningHost {
122
151
  * exits with the code 1 after the shutdown.
123
152
  */
124
153
  export async function runProcedureHost(config: ProcedureHostRunConfig): Promise<RunningHost> {
154
+ const profile = config.profile ?? HOST_PROFILES[config.mode];
155
+ // The telemetry needs its phase of the stop: without it, the SDK does not start (CLI-130)
156
+ if (config.telemetry && !profile.phases?.some((phase) => phase.name === TELEMETRY_FLUSH_PHASE)) {
157
+ throw new Error(`runProcedureHost: the option telemetry needs the phase "${TELEMETRY_FLUSH_PHASE}" in the profile of the service ${config.name}`);
158
+ }
125
159
  const clock = config.run?.clock;
126
160
  // A probe server of its own: the listeners of the host then answer no probes, unless the host options say so (D5)
127
161
  const dedicated = config.probes;
@@ -147,7 +181,6 @@ export async function runProcedureHost(config: ProcedureHostRunConfig): Promise<
147
181
  ...(clock ? { clock } : {}),
148
182
  ...(dedicated && config.host.probes === undefined ? { probes: false } : {}),
149
183
  });
150
- const profile = config.profile ?? HOST_PROFILES[config.mode];
151
184
  const svc = service(config.name).profile(profile);
152
185
  const probes = dedicated
153
186
  ? probeServer({
@@ -173,7 +206,17 @@ export async function runProcedureHost(config: ProcedureHostRunConfig): Promise<
173
206
  if (config.lockfile) svc.dependency("lockfile", { system: null, knobs: {}, operations: {} }, lockfileHandle(config.lockfile));
174
207
  const log = config.log;
175
208
  if (log && profile.phases?.some((phase) => phase.name === "stop intake")) svc.onPhase("stop intake", () => log("\nShutting down..."));
176
- life = await svc.run(config.run);
209
+ // The telemetry (CLI-130): it starts after the declaration, thus a declaration that throws starts no SDK.
210
+ // The last phase of the stop flushes it, after the listeners and the dependencies.
211
+ let telemetry: HostTelemetry | undefined;
212
+ if (config.telemetry) svc.onPhase(TELEMETRY_FLUSH_PHASE, () => telemetry?.shutdown());
213
+ telemetry = config.telemetry?.({ stopOnSignals: false });
214
+ try {
215
+ life = await svc.run(config.run);
216
+ } catch (error) {
217
+ await telemetry?.shutdown();
218
+ throw error;
219
+ }
177
220
  if (idle) {
178
221
  // The timer stops with the lifecycle, also after a stop for another cause
179
222
  void life.done.then(() => idle.cancel());
package/src/index.ts CHANGED
@@ -10,6 +10,8 @@ export { parseConfig, parseTopicPatterns } from "./config.js";
10
10
  export { runServer, startServer, loadProcedureModule, type RunningServer, type ServerRunOptions } from "./run.js";
11
11
  // The runner entry of the procedures host (CLI-8): the only entry that starts run()
12
12
  export { runProcedureHost, HOST_PROFILES, type ProcedureHostRunConfig, type RunningHost, type HostRunMode } from "./host.js";
13
+ // The telemetry SDK of the app (CLI-130): the option `telemetry` of runProcedureHost()
14
+ export { TELEMETRY_FLUSH_PHASE, type HostTelemetry, type HostTelemetryOptions } from "./host.js";
13
15
  // The idle stop of a host (CLI-27): the option `idle` of runProcedureHost()
14
16
  export { IDLE_POLL_MS, type HostIdle } from "./idle.js";
15
17
  export type {
@@ -12,16 +12,18 @@
12
12
  import { spawn, type ChildProcess, type SpawnOptions } from "node:child_process";
13
13
  import * as fs from "node:fs";
14
14
  import * as path from "node:path";
15
- import * as os from "node:os";
16
15
  import { createProcedure, type Effects, type FsRootRules, type Procedure } from "@procedures/client";
17
16
  import { HOST_PROBE_PREFIX } from "@procedures/peer";
18
- import { checkServer, readLockfileForPort, type LockfileData } from "@procedures/peer/lockfile";
17
+ import { checkServer, getMarkDir, getServersDir, readLockfileForPort, type LockfileData } from "@procedures/peer/lockfile";
19
18
  import { ServerStartOutputSchema, serverStartInputSchema } from "../schemas.js";
20
19
  import type { ServerStartInput, ServerStartOutput } from "../types.js";
21
20
 
22
- const MARK_DIR = path.join(os.homedir(), ".mark");
23
- const SERVERS_DIR = path.join(MARK_DIR, "servers");
24
- const LOG_PATH = path.join(MARK_DIR, "server.log");
21
+ // The folders come from the lockfile module of @procedures/peer, the one home of `~/.mark`
22
+ const MARK_DIR = getMarkDir();
23
+ const SERVERS_DIR = getServersDir();
24
+ /** The log file of a server that `server.start` starts: `~/.mark/server.log`. */
25
+ export const SERVER_LOG_PATH: string = path.join(MARK_DIR, "server.log");
26
+ const LOG_PATH = SERVER_LOG_PATH;
25
27
  const LOG_PREV_PATH = path.join(MARK_DIR, "server.log.1");
26
28
 
27
29
 
@@ -5,15 +5,11 @@
5
5
  * The procedure came from `@procedures/peer`: it belongs to the host.
6
6
  */
7
7
 
8
- import * as path from "node:path";
9
- import * as os from "node:os";
10
8
  import { createProcedure, type Effects, type FsRootRules, type Procedure } from "@procedures/client";
11
9
  import { checkServer, readAllLockfiles, readLockfileForPort, removeLockfileForPort, type LockfileData } from "@procedures/peer/lockfile";
12
10
  import { ServerStatusOutputSchema, serverStatusInputSchema } from "../schemas.js";
13
11
  import type { ServerStatusInput, ServerStatusOutput } from "../types.js";
14
-
15
- const MARK_DIR = path.join(os.homedir(), ".mark");
16
- const LOG_PATH = path.join(MARK_DIR, "server.log");
12
+ import { SERVER_LOG_PATH as LOG_PATH } from "./server.start.js";
17
13
 
18
14
 
19
15