@hagicode/hagiscript 0.1.14 → 0.1.15-dev.94.1.64ce9f6

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 +104 -0
  40. package/dist/runtime/server-manager.js +899 -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 +0 -5
  58. package/runtime/templates/omniroute-config.yaml +0 -4
@@ -5,46 +5,43 @@ import {
5
5
  ensureDirectory,
6
6
  installVendoredPackage,
7
7
  materializeTemplate,
8
+ quoteYamlString,
8
9
  readRuntimeScriptContext,
9
10
  writeCommandWrapper,
10
- writeComponentMarker,
11
- writeManagedPackageLauncher
11
+ writeComponentMarker
12
12
  } from "../lib/runtime-script-lib.mjs"
13
13
 
14
14
  const context = readRuntimeScriptContext()
15
15
  const currentRoot = path.join(context.componentRoot, "current")
16
- const launcherPath = path.join(currentRoot, "omniroute-launcher.mjs")
17
16
  const configPath = path.join(context.componentConfigDir, "config.yaml")
17
+ const wrapperPath = path.join(
18
+ currentRoot,
19
+ process.platform === "win32" ? "omniroute.cmd" : "omniroute.sh"
20
+ )
18
21
 
19
22
  await ensureDirectory(currentRoot)
20
- await materializeTemplate("omniroute-config.yaml", configPath, {
21
- RUNTIME_ROOT: context.runtimeHome,
22
- DATA_DIR: context.runtimeDataHome,
23
- LOGS_DIR: context.componentLogsDir
24
- })
25
23
  const installedPackage = await installVendoredPackage(context, {
26
24
  prefixRoot: currentRoot,
27
25
  packageName: "omniroute",
28
26
  entrypointRelativePath: path.join("bin", "omniroute.mjs")
29
27
  })
30
- await writeManagedPackageLauncher(
31
- launcherPath,
28
+ await materializeTemplate(
29
+ "omniroute-config.yaml",
30
+ configPath,
32
31
  {
33
- entrypointPath: installedPackage.entrypointPath,
34
- configPath,
35
- baseArgs: ["--no-open"],
36
- defaultEnv: {
37
- DATA_DIR: context.runtimeDataHome,
38
- LOG_DIR: context.componentLogsDir,
39
- PORT: "39001"
40
- },
41
- serviceKind: "omniroute"
42
- }
32
+ RUNTIME_ROOT: quoteYamlString(context.runtimeHome),
33
+ LISTEN_ADDR: quoteYamlString("127.0.0.1:39001"),
34
+ DATA_DIR: quoteYamlString(context.runtimeDataHome),
35
+ LOGS_DIR: quoteYamlString(context.componentLogsDir)
36
+ },
37
+ path.join(currentRoot, "templates")
43
38
  )
44
- await writeCommandWrapper(context.binDir, "omniroute", launcherPath)
39
+ await writeCommandWrapper(context.binDir, "omniroute", wrapperPath, {
40
+ baseArgs: ["--config", configPath, "--no-open"]
41
+ })
45
42
  await writeComponentMarker(context, {
46
43
  configPath,
47
- launcherPath,
44
+ wrapperPath,
48
45
  entrypointPath: installedPackage.entrypointPath,
49
46
  vendoredReleaseRepository: installedPackage.releaseRepository,
50
47
  vendoredReleaseTag: installedPackage.releaseTag,
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ import process from "node:process"
3
+ import {
4
+ ensureDirectory,
5
+ readRuntimeScriptContext,
6
+ runManagedCommand,
7
+ writeComponentMarker
8
+ } from "../lib/runtime-script-lib.mjs"
9
+
10
+ const context = readRuntimeScriptContext()
11
+ const npmExecPath = process.env.npm_execpath?.trim()
12
+
13
+ if (!npmExecPath) {
14
+ throw new Error("Missing npm_execpath for managed pm2 installation")
15
+ }
16
+
17
+ const versionSpec = context.pm2VersionOverride || context.componentVersion || "*"
18
+ const installSpec = versionSpec === "*" ? "pm2" : `pm2@${versionSpec}`
19
+ const args = ["install", "--global", installSpec, "--prefix", context.runtimeNpmPrefix]
20
+
21
+ if (context.npmRegistryMirror) {
22
+ args.push("--registry", context.npmRegistryMirror)
23
+ }
24
+
25
+ await ensureDirectory(context.componentRoot)
26
+ await ensureDirectory(context.runtimeNpmPrefix)
27
+ await runManagedCommand(npmExecPath, args, {
28
+ env: process.env,
29
+ cwd: context.runtimeHome
30
+ })
31
+
32
+ await writeComponentMarker(context, {
33
+ packageName: "pm2",
34
+ installSpec,
35
+ npmPrefix: context.runtimeNpmPrefix,
36
+ ownership: "runtime-managed-package"
37
+ })
38
+
39
+ process.stdout.write(`Prepared pm2 in ${context.runtimeNpmPrefix}\n`)
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ import process from "node:process"
3
+ import { readRuntimeScriptContext, runManagedCommand } from "../lib/runtime-script-lib.mjs"
4
+
5
+ const context = readRuntimeScriptContext()
6
+ const npmExecPath = process.env.npm_execpath?.trim()
7
+
8
+ if (!npmExecPath) {
9
+ throw new Error("Missing npm_execpath for managed pm2 removal")
10
+ }
11
+
12
+ try {
13
+ await runManagedCommand(
14
+ npmExecPath,
15
+ ["uninstall", "--global", "pm2", "--prefix", context.runtimeNpmPrefix],
16
+ {
17
+ env: process.env,
18
+ cwd: context.runtimeHome
19
+ }
20
+ )
21
+ } catch {
22
+ process.stdout.write(`pm2 uninstall skipped for ${context.runtimeNpmPrefix}\n`)
23
+ }
24
+
25
+ process.stdout.write(`Removed pm2 from ${context.runtimeNpmPrefix}\n`)
@@ -1,5 +0,0 @@
1
- bind-addr: 127.0.0.1:8080
2
- auth: none
3
- user-data-dir: {{DATA_DIR}}
4
- extensions-dir: {{DATA_DIR}}/extensions
5
- log: info
@@ -1,4 +0,0 @@
1
- runtimeHome: {{RUNTIME_ROOT}}
2
- listen: "127.0.0.1:39001"
3
- dataDir: {{DATA_DIR}}
4
- logDir: {{LOGS_DIR}}