@hagicode/hagiscript 0.1.14 → 0.1.15-dev.100.1.6114a75

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 (58) hide show
  1. package/README.md +248 -155
  2. package/dist/cli.js +4 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/manifest-commands.d.ts +2 -0
  5. package/dist/commands/manifest-commands.js +136 -0
  6. package/dist/commands/manifest-commands.js.map +1 -0
  7. package/dist/commands/npm-sync-commands.js +63 -6
  8. package/dist/commands/npm-sync-commands.js.map +1 -1
  9. package/dist/commands/server-commands.d.ts +2 -0
  10. package/dist/commands/server-commands.js +404 -0
  11. package/dist/commands/server-commands.js.map +1 -0
  12. package/dist/index.d.ts +7 -3
  13. package/dist/index.js +7 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/runtime/manifest-manager.d.ts +57 -0
  16. package/dist/runtime/manifest-manager.js +213 -0
  17. package/dist/runtime/manifest-manager.js.map +1 -0
  18. package/dist/runtime/npm-sync.d.ts +3 -1
  19. package/dist/runtime/npm-sync.js +31 -3
  20. package/dist/runtime/npm-sync.js.map +1 -1
  21. package/dist/runtime/pm2-manager.d.ts +5 -2
  22. package/dist/runtime/pm2-manager.js +181 -49
  23. package/dist/runtime/pm2-manager.js.map +1 -1
  24. package/dist/runtime/runtime-executor.d.ts +6 -0
  25. package/dist/runtime/runtime-executor.js +55 -0
  26. package/dist/runtime/runtime-executor.js.map +1 -1
  27. package/dist/runtime/runtime-manager.d.ts +9 -0
  28. package/dist/runtime/runtime-manager.js +146 -16
  29. package/dist/runtime/runtime-manager.js.map +1 -1
  30. package/dist/runtime/runtime-manifest.d.ts +5 -1
  31. package/dist/runtime/runtime-manifest.js +23 -8
  32. package/dist/runtime/runtime-manifest.js.map +1 -1
  33. package/dist/runtime/runtime-paths.d.ts +11 -1
  34. package/dist/runtime/runtime-paths.js +41 -5
  35. package/dist/runtime/runtime-paths.js.map +1 -1
  36. package/dist/runtime/server-config.d.ts +21 -0
  37. package/dist/runtime/server-config.js +169 -0
  38. package/dist/runtime/server-config.js.map +1 -0
  39. package/dist/runtime/server-manager.d.ts +107 -0
  40. package/dist/runtime/server-manager.js +928 -0
  41. package/dist/runtime/server-manager.js.map +1 -0
  42. package/dist/runtime/server-version-state.d.ts +43 -0
  43. package/dist/runtime/server-version-state.js +156 -0
  44. package/dist/runtime/server-version-state.js.map +1 -0
  45. package/dist/runtime/tool-sync-catalog.config.json +0 -18
  46. package/dist/runtime/tool-sync-catalog.js +1 -1
  47. package/dist/runtime/tool-sync-catalog.js.map +1 -1
  48. package/package.json +23 -2
  49. package/runtime/lib/runtime-script-lib.mjs +128 -69
  50. package/runtime/manifest.yaml +96 -81
  51. package/runtime/scripts/configure-code-server.mjs +14 -3
  52. package/runtime/scripts/configure-omniroute.mjs +15 -5
  53. package/runtime/scripts/install-code-server.mjs +20 -23
  54. package/runtime/scripts/install-omniroute.mjs +19 -22
  55. package/runtime/scripts/install-pm2.mjs +39 -0
  56. package/runtime/scripts/remove-pm2.mjs +25 -0
  57. package/runtime/templates/code-server-config.yaml +2 -2
  58. package/runtime/templates/omniroute-config.yaml +1 -1
@@ -5,7 +5,8 @@ import { CommandExecutionError, runCommand } from "./command-launch.js";
5
5
  import { buildManagedRuntimeEnvironment, getManagedRuntimePathEntries } from "./runtime-executor.js";
6
6
  import { getRuntimeExecutablePaths } from "./node-verify.js";
7
7
  import { loadRuntimeManifest } from "./runtime-manifest.js";
8
- import { getComponentConfigDirectory, getComponentManagedRoot, getComponentPm2Home, getComponentRuntimeDataHome, resolveManagedPath, resolveReleasedServicePath, resolveRuntimePaths } from "./runtime-paths.js";
8
+ import { getComponentConfigDirectory, getComponentManagedRoot, getComponentPm2Home, getComponentRuntimeDataHome, getServerSharedDataRoot, resolveManagedPath, resolveReleasedServicePath, resolveRuntimePaths } from "./runtime-paths.js";
9
+ import { getManagedServerVersionStatePath, readManagedServerVersionState } from "./server-version-state.js";
9
10
  export const supportedPm2Services = ["server", "omniroute", "code-server"];
10
11
  export class ManagedPm2Error extends Error {
11
12
  constructor(message, options) {
@@ -17,18 +18,34 @@ const DEFAULT_PM2_STATUS_RETRY_DELAY_MS = 500;
17
18
  const DEFAULT_PM2_STATUS_MAX_RETRIES = 3;
18
19
  const PM2_NAME_IDENTIFIER_PATTERN = /^[a-z0-9_]+$/u;
19
20
  const PM2_NAME_IDENTIFIER_BOOTSTRAP_DEFAULT = "hagicode";
21
+ const DEFAULT_PM2_NAME_IDENTIFIER_ENV = "hagicode_instance";
20
22
  export async function runManagedPm2Command(options) {
21
23
  const manifest = await loadRuntimeManifest({ manifestPath: options.manifestPath });
22
24
  const paths = resolveRuntimePaths(manifest, { runtimeRoot: options.runtimeRoot });
23
- const definition = await resolveManagedPm2ServiceDefinition(manifest, paths, options.service);
25
+ const definition = await resolveManagedPm2ServiceDefinition(manifest, paths, options.service, options.nameIdentifierValue, options.environmentOverrides);
24
26
  const runner = options.runner ?? runCommand;
25
27
  switch (options.action) {
26
28
  case "start":
27
- if (definition.launchStrategy === "released-service") {
28
- await prepareReleasedServicePm2Files(definition);
29
+ {
30
+ const existingStatus = await readManagedPm2Status(definition, "start", runner);
31
+ if (existingStatus.status === "online") {
32
+ return existingStatus;
33
+ }
34
+ if (existingStatus.exists) {
35
+ if (definition.launchStrategy === "released-service") {
36
+ await prepareReleasedServicePm2Files(definition);
37
+ }
38
+ await executePm2(definition, buildPm2ActionArgs(definition, "restart"), runner, {
39
+ allowMissingProcess: true
40
+ });
41
+ return readManagedPm2Status(definition, "start", runner);
42
+ }
43
+ if (definition.launchStrategy === "released-service") {
44
+ await prepareReleasedServicePm2Files(definition);
45
+ }
46
+ await executePm2(definition, buildPm2ActionArgs(definition, "start"), runner);
47
+ return readManagedPm2Status(definition, "start", runner);
29
48
  }
30
- await executePm2(definition, buildPm2ActionArgs(definition, "start"), runner);
31
- return readManagedPm2Status(definition, "start", runner);
32
49
  case "restart":
33
50
  if (definition.launchStrategy === "released-service") {
34
51
  await prepareReleasedServicePm2Files(definition);
@@ -52,7 +69,7 @@ export async function runManagedPm2Command(options) {
52
69
  export async function resolveManagedPm2Environment(options) {
53
70
  const manifest = await loadRuntimeManifest({ manifestPath: options.manifestPath });
54
71
  const paths = resolveRuntimePaths(manifest, { runtimeRoot: options.runtimeRoot });
55
- const definition = await resolveManagedPm2ServiceDefinition(manifest, paths, options.service);
72
+ const definition = await resolveManagedPm2ServiceDefinition(manifest, paths, options.service, options.nameIdentifierValue, options.environmentOverrides);
56
73
  const env = buildManagedPm2Environment(definition);
57
74
  return {
58
75
  service: definition.service,
@@ -60,7 +77,7 @@ export async function resolveManagedPm2Environment(options) {
60
77
  appName: definition.appName,
61
78
  nameIdentifierEnv: definition.nameIdentifierEnv,
62
79
  nameIdentifier: definition.nameIdentifier,
63
- bootstrapNameIdentifierValue: PM2_NAME_IDENTIFIER_BOOTSTRAP_DEFAULT,
80
+ bootstrapNameIdentifierValue: definition.defaultNameIdentifier,
64
81
  cwd: definition.cwd,
65
82
  script: definition.script,
66
83
  args: [...definition.args],
@@ -81,19 +98,19 @@ export async function resolveManagedPm2Environment(options) {
81
98
  envFilePath: definition.envFilePath
82
99
  };
83
100
  }
84
- export async function resolveManagedPm2ServiceDefinition(manifest, paths, service) {
101
+ export async function resolveManagedPm2ServiceDefinition(manifest, paths, service, nameIdentifierValue, environmentOverrides) {
85
102
  assertSupportedPm2Service(service);
86
103
  const component = manifest.componentMap.get(service);
87
104
  if (!component) {
88
105
  throw new ManagedPm2Error(`Runtime manifest does not define the ${service} service.`);
89
106
  }
90
- const componentRoot = getComponentManagedRoot(paths, component.name);
91
- const runtimeDataHome = getComponentRuntimeDataHome(paths, component.name, component.runtimeDataDir);
92
- const componentConfigDir = getComponentConfigDirectory(paths, component.name, component.runtimeDataDir);
93
- const pm2Home = getComponentPm2Home(paths, component.name, component.runtimeDataDir, component.pm2?.pm2Home);
107
+ const defaultComponentRoot = getComponentManagedRoot(paths, component.name);
108
+ const defaultRuntimeDataHome = getComponentRuntimeDataHome(paths, component.name, component.runtimeDataDir);
109
+ const defaultComponentConfigDir = getComponentConfigDirectory(paths, component.name, component.runtimeDataDir);
94
110
  const nodePath = getRuntimeExecutablePaths(paths.nodeRuntime).nodePath;
95
111
  const pm2Entrypoint = getManagedPm2Entrypoint(paths.npmPrefix);
96
- const { baseAppName, nameIdentifierEnv, nameIdentifier } = resolvePm2NameIdentifier(component, service);
112
+ const { baseAppName, nameIdentifierEnv, defaultNameIdentifier, nameIdentifier } = resolvePm2NameIdentifier(manifest, component, service, nameIdentifierValue);
113
+ const defaultPm2Home = getComponentPm2Home(paths, component.name, component.runtimeDataDir, component.pm2?.pm2Home, baseAppName);
97
114
  await Promise.all([
98
115
  validateManagedPath(pm2Entrypoint, "Managed PM2 binary is missing from the configured runtime npm prefix. Install pm2 into that prefix before using `hagiscript pm2 ...`."),
99
116
  validateManagedPath(nodePath, "Managed Node runtime is missing. Install the runtime node component first.")
@@ -103,9 +120,17 @@ export async function resolveManagedPm2ServiceDefinition(manifest, paths, servic
103
120
  if (!releasedService) {
104
121
  throw new ManagedPm2Error(`Runtime manifest component ${component.name} is missing releasedService metadata.`);
105
122
  }
106
- const cwd = resolveReleasedServicePath(releasedService.workingDirectory, componentRoot);
107
- const script = resolveReleasedServicePath(releasedService.dllPath, componentRoot);
108
- const runtimeFilesDir = join(runtimeDataHome, releasedService.runtimeFilesDir ?? "pm2-runtime");
123
+ const resolvedServerPaths = service === "server"
124
+ ? await resolveManagedServerActivePaths(paths, baseAppName, component.pm2?.pm2Home)
125
+ : {
126
+ componentRoot: defaultComponentRoot,
127
+ runtimeDataHome: defaultRuntimeDataHome,
128
+ componentConfigDir: defaultComponentConfigDir,
129
+ pm2Home: defaultPm2Home
130
+ };
131
+ const cwd = resolveReleasedServicePath(releasedService.workingDirectory, resolvedServerPaths.componentRoot);
132
+ const script = resolveReleasedServicePath(releasedService.dllPath, resolvedServerPaths.componentRoot);
133
+ const runtimeFilesDir = join(resolvedServerPaths.runtimeDataHome, releasedService.runtimeFilesDir ?? "pm2-runtime");
109
134
  const ecosystemPath = join(runtimeFilesDir, "ecosystem.config.cjs");
110
135
  const envFilePath = join(runtimeFilesDir, ".env");
111
136
  const dotnetPath = join(paths.dotnetRuntime, "current", process.platform === "win32" ? "dotnet.exe" : "dotnet");
@@ -122,16 +147,17 @@ export async function resolveManagedPm2ServiceDefinition(manifest, paths, servic
122
147
  baseAppName,
123
148
  appName: `${baseAppName}-${nameIdentifier}`,
124
149
  nameIdentifierEnv,
150
+ defaultNameIdentifier,
125
151
  nameIdentifier,
126
152
  cwd,
127
153
  script,
128
154
  args: component.pm2?.args ?? [],
129
- env: component.pm2?.env ?? {},
155
+ env: mergeManagedEnvironment(component.pm2?.env, environmentOverrides),
130
156
  runtimeHome: paths.runtimeHome,
131
- runtimeDataHome,
132
- componentRoot,
133
- componentConfigDir,
134
- pm2Home,
157
+ runtimeDataHome: resolvedServerPaths.runtimeDataHome,
158
+ componentRoot: resolvedServerPaths.componentRoot,
159
+ componentConfigDir: resolvedServerPaths.componentConfigDir,
160
+ pm2Home: resolvedServerPaths.pm2Home,
135
161
  pm2Binary: pm2Entrypoint,
136
162
  nodePath,
137
163
  launchStrategy: "released-service",
@@ -141,10 +167,10 @@ export async function resolveManagedPm2ServiceDefinition(manifest, paths, servic
141
167
  envFilePath
142
168
  };
143
169
  }
144
- const script = resolveManagedPath(component.pm2?.script ?? defaultPm2Script(component.name), componentRoot);
145
- const cwd = resolveManagedPath(component.pm2?.cwd ?? ".", componentRoot);
170
+ const script = resolveManagedPath(component.pm2?.script ?? defaultPm2Script(component.name), defaultComponentRoot);
171
+ const cwd = resolveManagedPath(component.pm2?.cwd ?? ".", defaultComponentRoot);
146
172
  await Promise.all([
147
- validateManagedPath(script, `Managed launcher for ${service} is missing.`),
173
+ validateManagedPath(script, `Managed runtime entrypoint for ${service} is missing.`),
148
174
  validateManagedPath(cwd, `Managed working directory for ${service} is missing.`)
149
175
  ]);
150
176
  return {
@@ -155,19 +181,38 @@ export async function resolveManagedPm2ServiceDefinition(manifest, paths, servic
155
181
  baseAppName,
156
182
  appName: `${baseAppName}-${nameIdentifier}`,
157
183
  nameIdentifierEnv,
184
+ defaultNameIdentifier,
158
185
  nameIdentifier,
159
186
  cwd,
160
187
  script,
161
- args: component.pm2?.args ?? [],
162
- env: component.pm2?.env ?? {},
188
+ args: component.pm2?.args ?? defaultBundledRuntimePm2Args(component.name, defaultComponentConfigDir),
189
+ env: mergeManagedEnvironment(component.pm2?.env, environmentOverrides),
163
190
  runtimeHome: paths.runtimeHome,
164
- runtimeDataHome,
165
- componentRoot,
166
- componentConfigDir,
167
- pm2Home,
191
+ runtimeDataHome: defaultRuntimeDataHome,
192
+ componentRoot: defaultComponentRoot,
193
+ componentConfigDir: defaultComponentConfigDir,
194
+ pm2Home: defaultPm2Home,
168
195
  pm2Binary: pm2Entrypoint,
169
196
  nodePath,
170
- launchStrategy: "node-script"
197
+ launchStrategy: resolveBundledRuntimeLaunchStrategy(script)
198
+ };
199
+ }
200
+ async function resolveManagedServerActivePaths(paths, serviceHomeName, pm2HomeOverride) {
201
+ const runtimeDataHome = getServerSharedDataRoot(paths);
202
+ const state = await readManagedServerVersionState(getManagedServerVersionStatePath(paths));
203
+ const activeVersion = state.activeVersion;
204
+ if (!activeVersion) {
205
+ throw new ManagedPm2Error("Managed server does not have an active version. Run `hagiscript server install` or `hagiscript server use <version>` first.");
206
+ }
207
+ const installedVersion = state.versions[activeVersion];
208
+ if (!installedVersion) {
209
+ throw new ManagedPm2Error(`Managed server active version ${activeVersion} is missing from the installed version inventory.`);
210
+ }
211
+ return {
212
+ componentRoot: installedVersion.installPath,
213
+ runtimeDataHome,
214
+ componentConfigDir: join(runtimeDataHome, "config"),
215
+ pm2Home: getComponentPm2Home(paths, "server", undefined, pm2HomeOverride, serviceHomeName)
171
216
  };
172
217
  }
173
218
  export function renderManagedPm2StatusText(result) {
@@ -203,8 +248,8 @@ export function renderManagedPm2EnvironmentText(result) {
203
248
  `App: ${result.appName}`,
204
249
  `Name identifier env: ${result.nameIdentifierEnv}`,
205
250
  `Name identifier: ${result.nameIdentifier}`,
206
- `Bootstrap default: ${result.nameIdentifierEnv}=${result.bootstrapNameIdentifierValue}`,
207
- "Override the bootstrap default when running multiple runtime instances on one host.",
251
+ `Default instance: ${result.nameIdentifierEnv}=${result.bootstrapNameIdentifierValue}`,
252
+ "Use --instance to override the manifest-defined runtime instance when needed.",
208
253
  `Launch strategy: ${result.launchStrategy}`,
209
254
  `Working directory: ${result.cwd}`,
210
255
  `Script: ${result.script}`,
@@ -312,9 +357,9 @@ async function prepareReleasedServicePm2Files(definition) {
312
357
  const env = buildManagedPm2Environment(definition);
313
358
  await mkdir(definition.runtimeFilesDir, { recursive: true });
314
359
  await writeFile(definition.envFilePath, buildPm2EnvFile(definition, env), "utf8");
315
- await writeFile(definition.ecosystemPath, buildReleasedServiceEcosystemConfig(definition), "utf8");
360
+ await writeFile(definition.ecosystemPath, buildReleasedServiceEcosystemConfig(definition, env), "utf8");
316
361
  }
317
- function buildReleasedServiceEcosystemConfig(definition) {
362
+ function buildReleasedServiceEcosystemConfig(definition, env) {
318
363
  if (!definition.dotnetPath || !definition.envFilePath) {
319
364
  throw new ManagedPm2Error(`Released-service PM2 launch files are unavailable for ${definition.service}.`);
320
365
  }
@@ -331,6 +376,7 @@ function buildReleasedServiceEcosystemConfig(definition) {
331
376
  ' exec_mode: "fork",',
332
377
  " autorestart: true,",
333
378
  " watch: false,",
379
+ ` env: ${serializePm2Environment(env)},`,
334
380
  ` env_file: ${JSON.stringify(definition.envFilePath)}`,
335
381
  " }",
336
382
  " ]",
@@ -340,15 +386,30 @@ function buildReleasedServiceEcosystemConfig(definition) {
340
386
  }
341
387
  function buildPm2EnvFile(definition, env) {
342
388
  return ([
343
- `# Bootstrap default: ${definition.nameIdentifierEnv}=${PM2_NAME_IDENTIFIER_BOOTSTRAP_DEFAULT}`,
344
- `# Override ${definition.nameIdentifierEnv} when running multiple runtime instances on one host.`,
389
+ `# Default instance: ${definition.nameIdentifierEnv}=${definition.defaultNameIdentifier}`,
390
+ `# Use --instance to override the manifest-defined runtime instance when needed.`,
345
391
  ...Object.entries(env)
346
392
  .filter(([key, value]) => key.trim().length > 0 && value !== undefined)
347
393
  .sort(([left], [right]) => left.localeCompare(right))
348
394
  .map(([key, value]) => `${key}=${String(value).replace(/\r?\n/g, "\\n")}`)
349
395
  ].join("\n") + "\n");
350
396
  }
397
+ function serializePm2Environment(env) {
398
+ const normalizedEntries = Object.entries(env)
399
+ .filter(([key, value]) => key.trim().length > 0 && value !== undefined)
400
+ .sort(([left], [right]) => left.localeCompare(right));
401
+ return JSON.stringify(Object.fromEntries(normalizedEntries), null, 8);
402
+ }
351
403
  function buildManagedPm2Environment(definition, baseEnv = process.env) {
404
+ const resolvedBaseEnv = {
405
+ ...baseEnv,
406
+ ...definition.env,
407
+ [definition.nameIdentifierEnv]: definition.nameIdentifier
408
+ };
409
+ if (definition.service === "server" &&
410
+ !normalizeManagedEnvironmentValue(resolvedBaseEnv.ASPNETCORE_ENVIRONMENT)) {
411
+ resolvedBaseEnv.ASPNETCORE_ENVIRONMENT = "Production";
412
+ }
352
413
  return buildManagedRuntimeEnvironment({
353
414
  component: definition.component,
354
415
  manifest: { manifestDir: definition.manifestDir },
@@ -358,19 +419,39 @@ function buildManagedPm2Environment(definition, baseEnv = process.env) {
358
419
  componentDataHome: definition.runtimeDataHome,
359
420
  pm2Home: definition.pm2Home,
360
421
  scriptBasename: basename(definition.script)
361
- }, { ...baseEnv, ...definition.env });
422
+ }, resolvedBaseEnv);
362
423
  }
363
- function resolvePm2NameIdentifier(component, service) {
364
- const nameIdentifierEnv = component.pm2?.nameIdentifierEnv?.trim();
365
- if (!nameIdentifierEnv) {
366
- throw new ManagedPm2Error(`Runtime manifest component ${component.name} must define pm2.nameIdentifierEnv for managed PM2 service ${service}.`);
424
+ function mergeManagedEnvironment(baseEnvironment, overrides) {
425
+ const merged = {
426
+ ...(baseEnvironment ?? {})
427
+ };
428
+ if (!overrides) {
429
+ return merged;
367
430
  }
368
- if (!PM2_NAME_IDENTIFIER_PATTERN.test(nameIdentifierEnv)) {
369
- throw new ManagedPm2Error(`Runtime manifest component ${component.name} declares invalid pm2.nameIdentifierEnv "${nameIdentifierEnv}". Only lowercase letters, digits, and underscores are allowed.`);
431
+ for (const [key, value] of Object.entries(overrides)) {
432
+ if (!key.trim()) {
433
+ continue;
434
+ }
435
+ if (value === undefined) {
436
+ delete merged[key];
437
+ continue;
438
+ }
439
+ merged[key] = value;
370
440
  }
371
- const nameIdentifier = process.env[nameIdentifierEnv]?.trim();
441
+ return merged;
442
+ }
443
+ function normalizeManagedEnvironmentValue(value) {
444
+ const normalized = value?.trim();
445
+ return normalized ? normalized : undefined;
446
+ }
447
+ function resolvePm2NameIdentifier(manifest, component, service, nameIdentifierValue) {
448
+ const nameIdentifierEnv = DEFAULT_PM2_NAME_IDENTIFIER_ENV;
449
+ const defaultNameIdentifier = manifest.runtime.hagicodeInstance?.trim() || PM2_NAME_IDENTIFIER_BOOTSTRAP_DEFAULT;
450
+ const nameIdentifier = nameIdentifierValue?.trim() ||
451
+ manifest.runtime.hagicodeInstance?.trim() ||
452
+ process.env[nameIdentifierEnv]?.trim();
372
453
  if (!nameIdentifier) {
373
- throw new ManagedPm2Error(`Managed PM2 service ${service} requires environment variable ${nameIdentifierEnv}. Bootstrap with ${nameIdentifierEnv}=${PM2_NAME_IDENTIFIER_BOOTSTRAP_DEFAULT} and override it when running multiple runtime instances on one host.`);
454
+ throw new ManagedPm2Error(`Managed PM2 service ${service} requires a runtime instance name. Set runtime.hagicodeInstance in the manifest, pass --instance, or set ${nameIdentifierEnv}.`);
374
455
  }
375
456
  if (!PM2_NAME_IDENTIFIER_PATTERN.test(nameIdentifier)) {
376
457
  throw new ManagedPm2Error(`Managed PM2 service ${service} requires ${nameIdentifierEnv} to use only lowercase letters, digits, and underscores. Received "${nameIdentifier}".`);
@@ -378,6 +459,7 @@ function resolvePm2NameIdentifier(component, service) {
378
459
  return {
379
460
  baseAppName: component.pm2?.appName ?? `hagicode-${component.name}`,
380
461
  nameIdentifierEnv,
462
+ defaultNameIdentifier,
381
463
  nameIdentifier
382
464
  };
383
465
  }
@@ -508,13 +590,24 @@ function isPm2ProcessRecord(value) {
508
590
  function defaultPm2Script(componentName) {
509
591
  switch (componentName) {
510
592
  case "omniroute":
511
- return "current/omniroute-launcher.mjs";
593
+ return process.platform === "win32" ? "current/omniroute.cmd" : "current/omniroute.sh";
512
594
  case "code-server":
513
- return "current/code-server-launcher.mjs";
595
+ return process.platform === "win32" ? "current/bin/code-server.cmd" : "current/bin/code-server";
514
596
  default:
515
597
  throw new ManagedPm2Error(`Unsupported PM2 component ${componentName}.`);
516
598
  }
517
599
  }
600
+ function defaultBundledRuntimePm2Args(componentName, componentConfigDir) {
601
+ const configPath = join(componentConfigDir, "config.yaml");
602
+ switch (componentName) {
603
+ case "omniroute":
604
+ return ["--config", configPath, "--no-open"];
605
+ case "code-server":
606
+ return ["--config", configPath];
607
+ default:
608
+ return [];
609
+ }
610
+ }
518
611
  function toPm2Args(args) {
519
612
  return args.length > 0 ? ["--", ...args] : [];
520
613
  }
@@ -550,6 +643,9 @@ function buildPm2ActionArgs(definition, action) {
550
643
  ...toPm2Args(definition.args)
551
644
  ];
552
645
  }
646
+ if (definition.launchStrategy === "native-wrapper") {
647
+ return buildNativeWrapperPm2StartArgs(definition);
648
+ }
553
649
  return [
554
650
  "start",
555
651
  definition.script,
@@ -568,10 +664,46 @@ function buildPm2ActionArgs(definition, action) {
568
664
  return ["delete", definition.appName];
569
665
  }
570
666
  }
667
+ function buildNativeWrapperPm2StartArgs(definition) {
668
+ if (process.platform === "win32" && isWindowsBatchScript(definition.script)) {
669
+ const cmdExe = process.env.ComSpec || "C:\\Windows\\System32\\cmd.exe";
670
+ return [
671
+ "start",
672
+ cmdExe,
673
+ "--name",
674
+ definition.appName,
675
+ "--cwd",
676
+ definition.cwd,
677
+ "--interpreter",
678
+ "none",
679
+ "--update-env",
680
+ ...toPm2Args(["/d", "/s", "/c", definition.script, ...definition.args])
681
+ ];
682
+ }
683
+ return [
684
+ "start",
685
+ definition.script,
686
+ "--name",
687
+ definition.appName,
688
+ "--cwd",
689
+ definition.cwd,
690
+ "--interpreter",
691
+ "none",
692
+ "--update-env",
693
+ ...toPm2Args(definition.args)
694
+ ];
695
+ }
571
696
  function isNodeLauncherScript(scriptPath) {
572
697
  const extension = extname(scriptPath).toLowerCase();
573
698
  return extension === ".js" || extension === ".mjs" || extension === ".cjs";
574
699
  }
700
+ function isWindowsBatchScript(scriptPath) {
701
+ const extension = extname(scriptPath).toLowerCase();
702
+ return extension === ".cmd" || extension === ".bat";
703
+ }
704
+ function resolveBundledRuntimeLaunchStrategy(scriptPath) {
705
+ return isNodeLauncherScript(scriptPath) ? "node-script" : "native-wrapper";
706
+ }
575
707
  function getManagedPm2Entrypoint(npmPrefix) {
576
708
  return process.platform === "win32"
577
709
  ? join(npmPrefix, "node_modules", "pm2", "bin", "pm2")
@@ -1 +1 @@
1
- {"version":3,"file":"pm2-manager.js","sourceRoot":"","sources":["../../src/runtime/pm2-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm2-manager.js","sourceRoot":"","sources":["../../src/runtime/pm2-manager.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface RuntimeScriptExecutionContext {
13
13
  verbose?: boolean;
14
14
  downloadCache?: boolean;
15
15
  downloadCacheDir?: string;
16
+ npmRegistryMirror?: string;
17
+ pm2VersionOverride?: string;
16
18
  runner?: CommandRunner;
17
19
  }
18
20
  export interface ManagedRuntimeEnvironmentContext {
@@ -29,6 +31,8 @@ export interface ManagedRuntimeEnvironmentContext {
29
31
  verbose?: boolean;
30
32
  downloadCache?: boolean;
31
33
  downloadCacheDir?: string;
34
+ npmRegistryMirror?: string;
35
+ pm2VersionOverride?: string;
32
36
  scriptBasename?: string;
33
37
  }
34
38
  export interface RuntimeScriptExecutionResult {
@@ -46,4 +50,6 @@ export declare function getRuntimeScriptLaunch(scriptPath: string): {
46
50
  export declare function buildManagedRuntimeEnvironment(context: ManagedRuntimeEnvironmentContext, baseEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
47
51
  export declare function prependPathEntries(env: NodeJS.ProcessEnv, pathEntries: readonly string[], platform?: NodeJS.Platform): NodeJS.ProcessEnv;
48
52
  export declare function getManagedRuntimePathEntries(paths: ResolvedRuntimePaths): string[];
53
+ export declare function getManagedNpmPackagesPrefix(paths: ResolvedRuntimePaths): string;
49
54
  export declare function getManagedNpmBinDirectory(npmPrefix: string): string;
55
+ export declare function getManagedNpmModulesDirectory(npmPrefix: string): string;
@@ -90,10 +90,17 @@ function buildRuntimeScriptEnvironment(context) {
90
90
  phase: context.phase,
91
91
  purge: context.purge,
92
92
  verbose: context.verbose,
93
+ npmRegistryMirror: context.npmRegistryMirror,
94
+ pm2VersionOverride: context.pm2VersionOverride,
93
95
  scriptBasename: basename(scriptPathForEnv(context.component, context.phase))
94
96
  });
95
97
  }
96
98
  export function buildManagedRuntimeEnvironment(context, baseEnv = process.env) {
99
+ const runtimeExecutables = getRuntimeExecutablePaths(context.paths.nodeRuntime);
100
+ const bundledNpmModulesDirectory = getManagedNpmModulesDirectory(context.paths.npmPrefix);
101
+ const managedNpmPackagesPrefix = getManagedNpmPackagesPrefix(context.paths);
102
+ const managedNpmBinDirectory = getManagedNpmBinDirectory(managedNpmPackagesPrefix);
103
+ const managedNpmModulesDirectory = getManagedNpmModulesDirectory(managedNpmPackagesPrefix);
97
104
  const componentDataHome = context.componentDataHome ??
98
105
  getComponentRuntimeDataHome(context.paths, context.component.name, context.component.runtimeDataDir);
99
106
  const componentLogsDir = context.componentLogsDir ??
@@ -123,6 +130,21 @@ export function buildManagedRuntimeEnvironment(context, baseEnv = process.env) {
123
130
  HAGISCRIPT_RUNTIME_NODE_RUNTIME_DIR: context.paths.nodeRuntime,
124
131
  HAGISCRIPT_RUNTIME_DOTNET_RUNTIME_DIR: context.paths.dotnetRuntime,
125
132
  HAGISCRIPT_RUNTIME_NPM_PREFIX: context.paths.npmPrefix,
133
+ HAGISCRIPT_RUNTIME_NPM_PACKAGES_PREFIX: managedNpmPackagesPrefix,
134
+ NODE_PATH: prependNodePathEntries(baseEnv.NODE_PATH, [
135
+ managedNpmModulesDirectory,
136
+ bundledNpmModulesDirectory
137
+ ]),
138
+ NODE: runtimeExecutables.nodePath,
139
+ npm_node_execpath: runtimeExecutables.nodePath,
140
+ npm_execpath: runtimeExecutables.npmPath,
141
+ HAGICODE_AGENT_CLI_PATH: managedNpmBinDirectory,
142
+ HAGICODE_NPM_GLOBAL_PATH: managedNpmPackagesPrefix,
143
+ HAGICODE_NPM_GLOBAL_PREFIX: managedNpmPackagesPrefix,
144
+ HAGICODE_NPM_GLOBAL_BIN_ROOT: managedNpmBinDirectory,
145
+ HAGICODE_NPM_GLOBAL_MODULES_ROOT: managedNpmModulesDirectory,
146
+ NPM_CONFIG_PREFIX: managedNpmPackagesPrefix,
147
+ npm_config_prefix: managedNpmPackagesPrefix,
126
148
  ...buildReleasedServiceEnvironment(context.component.releasedService, context.componentRoot),
127
149
  ...(context.phase ? { HAGISCRIPT_RUNTIME_PHASE: context.phase } : {}),
128
150
  ...(context.purge !== undefined
@@ -135,6 +157,12 @@ export function buildManagedRuntimeEnvironment(context, baseEnv = process.env) {
135
157
  ...(context.downloadCacheDir
136
158
  ? { HAGISCRIPT_DOWNLOAD_CACHE_DIR: context.downloadCacheDir }
137
159
  : {}),
160
+ ...(context.npmRegistryMirror
161
+ ? { HAGISCRIPT_RUNTIME_NPM_REGISTRY_MIRROR: context.npmRegistryMirror }
162
+ : {}),
163
+ ...(context.pm2VersionOverride
164
+ ? { HAGISCRIPT_RUNTIME_PM2_VERSION_OVERRIDE: context.pm2VersionOverride }
165
+ : {}),
138
166
  ...(context.scriptBasename
139
167
  ? { HAGISCRIPT_RUNTIME_SCRIPT_BASENAME: context.scriptBasename }
140
168
  : {})
@@ -183,13 +211,40 @@ export function getManagedRuntimePathEntries(paths) {
183
211
  const nodeExecutables = getRuntimeExecutablePaths(paths.nodeRuntime);
184
212
  return [
185
213
  dirname(nodeExecutables.nodePath),
214
+ getManagedNpmBinDirectory(getManagedNpmPackagesPrefix(paths)),
186
215
  getManagedNpmBinDirectory(paths.npmPrefix),
187
216
  paths.bin
188
217
  ];
189
218
  }
219
+ export function getManagedNpmPackagesPrefix(paths) {
220
+ return paths.npmPrefix;
221
+ }
190
222
  export function getManagedNpmBinDirectory(npmPrefix) {
191
223
  return process.platform === "win32" ? npmPrefix : `${npmPrefix}/bin`;
192
224
  }
225
+ export function getManagedNpmModulesDirectory(npmPrefix) {
226
+ return process.platform === "win32"
227
+ ? `${npmPrefix}/node_modules`
228
+ : `${npmPrefix}/lib/node_modules`;
229
+ }
230
+ function prependNodePathEntries(currentNodePath, pathEntries, platform = process.platform) {
231
+ const delimiter = platform === "win32" ? ";" : ":";
232
+ const normalizedEntries = dedupeEntries([...pathEntries, ...(currentNodePath?.split(delimiter) ?? [])].filter(Boolean));
233
+ return normalizedEntries.join(delimiter);
234
+ }
235
+ function dedupeEntries(entries) {
236
+ const seen = new Set();
237
+ const unique = [];
238
+ for (const entry of entries) {
239
+ const normalized = entry.trim();
240
+ if (!normalized || seen.has(normalized)) {
241
+ continue;
242
+ }
243
+ seen.add(normalized);
244
+ unique.push(normalized);
245
+ }
246
+ return unique;
247
+ }
193
248
  function getPathValue(env, platform) {
194
249
  if (platform !== "win32") {
195
250
  return env.PATH ?? "";