@hagicode/hagiscript 0.1.6-dev.36.1.bfa23c6 → 0.1.6-dev.38.1.7802f56
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/README.md +38 -0
- package/bin/runtime +16 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/runtime-commands.d.ts +2 -0
- package/dist/commands/runtime-commands.js +136 -0
- package/dist/commands/runtime-commands.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/command-launch.js +1 -0
- package/dist/runtime/command-launch.js.map +1 -1
- package/dist/runtime/runtime-executor.d.ts +27 -0
- package/dist/runtime/runtime-executor.js +86 -0
- package/dist/runtime/runtime-executor.js.map +1 -0
- package/dist/runtime/runtime-manager.d.ts +68 -0
- package/dist/runtime/runtime-manager.js +554 -0
- package/dist/runtime/runtime-manager.js.map +1 -0
- package/dist/runtime/runtime-manifest.d.ts +63 -0
- package/dist/runtime/runtime-manifest.js +231 -0
- package/dist/runtime/runtime-manifest.js.map +1 -0
- package/dist/runtime/runtime-paths.d.ts +24 -0
- package/dist/runtime/runtime-paths.js +62 -0
- package/dist/runtime/runtime-paths.js.map +1 -0
- package/dist/runtime/runtime-state.d.ts +43 -0
- package/dist/runtime/runtime-state.js +82 -0
- package/dist/runtime/runtime-state.js.map +1 -0
- package/package.json +8 -3
- package/runtime/lib/runtime-script-lib.mjs +103 -0
- package/runtime/manifest.yaml +122 -0
- package/runtime/scripts/configure-code-server.mjs +14 -0
- package/runtime/scripts/configure-omniroute.mjs +16 -0
- package/runtime/scripts/install-code-server.mjs +32 -0
- package/runtime/scripts/install-dotnet.mjs +24 -0
- package/runtime/scripts/install-node.mjs +4 -0
- package/runtime/scripts/install-npm-packages.mjs +4 -0
- package/runtime/scripts/install-omniroute.mjs +34 -0
- package/runtime/scripts/remove-npm-packages.mjs +4 -0
- package/runtime/scripts/update-npm-packages.mjs +4 -0
- package/runtime/scripts/verify-dotnet.mjs +10 -0
- package/runtime/scripts/verify-node.mjs +4 -0
- package/runtime/templates/code-server-config.yaml +5 -0
- package/runtime/templates/omniroute-config.yaml +4 -0
package/README.md
CHANGED
|
@@ -215,6 +215,44 @@ Synced: @openspec/cli (sync)
|
|
|
215
215
|
|
|
216
216
|
When fallback is triggered, HagiScript logs `Fallback used: ...` during execution and records `Fallback detail: ...` in the final summary so CI or desktop automation can see which mirror failed, which official registry retry was used, and whether that retry succeeded.
|
|
217
217
|
|
|
218
|
+
### Runtime Package Management
|
|
219
|
+
|
|
220
|
+
`hagiscript runtime` adds a manifest-driven package manager for the broader `hagicode-runtime` contract. By default it loads `runtime/manifest.yaml` from the installed package, resolves the managed runtime root to `~/.hagicode/runtime`, and keeps all mutable state under that root unless `--runtime-root <path>` overrides it for a specific install, deployment mode, or automation run.
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
hagiscript runtime install
|
|
224
|
+
hagiscript runtime install --components node,npm-packages --dry-run
|
|
225
|
+
hagiscript runtime update --runtime-root /opt/hagicode/runtime --check-only
|
|
226
|
+
hagiscript runtime remove --components code-server --purge
|
|
227
|
+
hagiscript runtime state --json
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
The packaged runtime manifest aligns its default component boundaries with HagiCode Desktop:
|
|
231
|
+
|
|
232
|
+
- Node is governed as a Desktop-aligned Node 22 toolchain component.
|
|
233
|
+
- `.NET` is modeled as a Desktop-aligned 10.0 runtime component.
|
|
234
|
+
- Mutable npm packages are installed into a managed prefix under the selected runtime root instead of the immutable Node payload or host-global npm locations.
|
|
235
|
+
- `code-server` and `omniroute` stay grouped as vendored bundled-runtime components rather than npm-managed packages.
|
|
236
|
+
|
|
237
|
+
The runtime layout is explicit and stable for downstream consumers:
|
|
238
|
+
|
|
239
|
+
```text
|
|
240
|
+
<runtime-root>/
|
|
241
|
+
bin/
|
|
242
|
+
config/
|
|
243
|
+
logs/
|
|
244
|
+
data/
|
|
245
|
+
state.json
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
`state.json` is the canonical contract for install, update, remove, and downstream inspection. Use `hagiscript runtime state --json` instead of probing files directly when Desktop, local bootstrap flows, or automation needs to know which components are installed, which managed paths are active, and whether the last lifecycle run succeeded.
|
|
249
|
+
|
|
250
|
+
The package also ships a thin `hagicode-runtime` wrapper binary that delegates to `hagiscript runtime ...` for automation that prefers a runtime-oriented entrypoint:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
hagicode-runtime install --runtime-root /srv/hagicode/runtime
|
|
254
|
+
```
|
|
255
|
+
|
|
218
256
|
Use the library API from ESM consumers:
|
|
219
257
|
|
|
220
258
|
```ts
|
package/bin/runtime
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { runCli } from "../dist/cli.js"
|
|
4
|
+
|
|
5
|
+
const argv = [
|
|
6
|
+
process.argv[0] ?? process.execPath,
|
|
7
|
+
"hagicode-runtime",
|
|
8
|
+
"runtime",
|
|
9
|
+
...process.argv.slice(2)
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
runCli(argv).catch((error) => {
|
|
13
|
+
const message = error instanceof Error ? error.message : String(error)
|
|
14
|
+
process.stderr.write(`${message}\n`)
|
|
15
|
+
process.exitCode = 1
|
|
16
|
+
})
|
package/dist/cli.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Command } from "commander";
|
|
|
5
5
|
import { createRuntimeInfo, packageVersion } from "./index.js";
|
|
6
6
|
import { registerNpmSyncCommand } from "./commands/npm-sync-commands.js";
|
|
7
7
|
import { registerNodeRuntimeCommands } from "./commands/node-runtime-commands.js";
|
|
8
|
+
import { registerRuntimeCommands } from "./commands/runtime-commands.js";
|
|
8
9
|
export function createCli() {
|
|
9
10
|
const program = new Command();
|
|
10
11
|
program
|
|
@@ -20,6 +21,7 @@ export function createCli() {
|
|
|
20
21
|
});
|
|
21
22
|
registerNodeRuntimeCommands(program);
|
|
22
23
|
registerNpmSyncCommand(program);
|
|
24
|
+
registerRuntimeCommands(program);
|
|
23
25
|
program.action(() => {
|
|
24
26
|
program.outputHelp();
|
|
25
27
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAE5E,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEL,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;IAC9C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAC3B,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,eAAe,EAAE,EAAE,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { InvalidArgumentError } from "commander";
|
|
2
|
+
import { installRuntime, queryRuntimeState, removeRuntime, renderRuntimeStateText, updateRuntime } from "../runtime/runtime-manager.js";
|
|
3
|
+
export function registerRuntimeCommands(program) {
|
|
4
|
+
const runtime = program
|
|
5
|
+
.command("runtime")
|
|
6
|
+
.description("manage manifest-driven hagicode-runtime components");
|
|
7
|
+
runtime
|
|
8
|
+
.command("install")
|
|
9
|
+
.description("install runtime components into a managed runtime root")
|
|
10
|
+
.option("--from-manifest <path>", "override the default runtime manifest")
|
|
11
|
+
.option("--runtime-root <path>", "managed runtime root override")
|
|
12
|
+
.option("--components <list>", "comma-separated runtime component names to install", parseComponentList)
|
|
13
|
+
.option("--dry-run", "print the install plan without mutating managed files")
|
|
14
|
+
.option("--force", "force reinstall of mutable managed components")
|
|
15
|
+
.option("--verbose", "print detailed lifecycle output")
|
|
16
|
+
.action(async (options, command) => {
|
|
17
|
+
await runLifecycleCommand("install", options, command);
|
|
18
|
+
});
|
|
19
|
+
runtime
|
|
20
|
+
.command("remove")
|
|
21
|
+
.description("remove runtime components from the managed runtime root")
|
|
22
|
+
.option("--from-manifest <path>", "override the default runtime manifest")
|
|
23
|
+
.option("--runtime-root <path>", "managed runtime root override")
|
|
24
|
+
.option("--components <list>", "comma-separated runtime component names to remove", parseComponentList)
|
|
25
|
+
.option("--dry-run", "print the removal plan without mutating managed files")
|
|
26
|
+
.option("--force", "reserved compatibility flag for scripted removals")
|
|
27
|
+
.option("--purge", "remove retained managed config and data where supported")
|
|
28
|
+
.option("--verbose", "print detailed lifecycle output")
|
|
29
|
+
.action(async (options, command) => {
|
|
30
|
+
await runLifecycleCommand("remove", options, command);
|
|
31
|
+
});
|
|
32
|
+
runtime
|
|
33
|
+
.command("update")
|
|
34
|
+
.description("update installed runtime components")
|
|
35
|
+
.option("--from-manifest <path>", "override the default runtime manifest")
|
|
36
|
+
.option("--runtime-root <path>", "managed runtime root override")
|
|
37
|
+
.option("--components <list>", "comma-separated runtime component names to update", parseComponentList)
|
|
38
|
+
.option("--dry-run", "print the update plan without mutating managed files")
|
|
39
|
+
.option("--check-only", "report components that would be updated")
|
|
40
|
+
.option("--force", "force update execution for mutable managed components")
|
|
41
|
+
.option("--verbose", "print detailed lifecycle output")
|
|
42
|
+
.action(async (options, command) => {
|
|
43
|
+
await runLifecycleCommand("update", options, command);
|
|
44
|
+
});
|
|
45
|
+
runtime
|
|
46
|
+
.command("state")
|
|
47
|
+
.description("query the canonical managed runtime state")
|
|
48
|
+
.option("--from-manifest <path>", "override the default runtime manifest")
|
|
49
|
+
.option("--runtime-root <path>", "managed runtime root override")
|
|
50
|
+
.option("--json", "emit machine-readable JSON output")
|
|
51
|
+
.action(async (options, command) => {
|
|
52
|
+
try {
|
|
53
|
+
const report = await queryRuntimeState({
|
|
54
|
+
manifestPath: validatePathOption(options.fromManifest, "--from-manifest"),
|
|
55
|
+
runtimeRoot: validatePathOption(options.runtimeRoot, "--runtime-root")
|
|
56
|
+
});
|
|
57
|
+
process.stdout.write(options.json
|
|
58
|
+
? `${JSON.stringify(report, null, 2)}\n`
|
|
59
|
+
: `${renderRuntimeStateText(report)}\n`);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
command.error(formatRuntimeError(error), { exitCode: 1 });
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async function runLifecycleCommand(phase, options, command) {
|
|
67
|
+
const runtimeOptions = {
|
|
68
|
+
manifestPath: validatePathOption(options.fromManifest, "--from-manifest"),
|
|
69
|
+
runtimeRoot: validatePathOption(options.runtimeRoot, "--runtime-root"),
|
|
70
|
+
components: options.components ?? [],
|
|
71
|
+
dryRun: options.dryRun ?? false,
|
|
72
|
+
force: options.force ?? false,
|
|
73
|
+
purge: "purge" in options ? options.purge ?? false : false,
|
|
74
|
+
checkOnly: "checkOnly" in options ? options.checkOnly ?? false : false,
|
|
75
|
+
verbose: options.verbose ?? false,
|
|
76
|
+
logger: (message) => process.stdout.write(`${message}\n`)
|
|
77
|
+
};
|
|
78
|
+
try {
|
|
79
|
+
const result = phase === "install"
|
|
80
|
+
? await installRuntime(runtimeOptions)
|
|
81
|
+
: phase === "remove"
|
|
82
|
+
? await removeRuntime(runtimeOptions)
|
|
83
|
+
: await updateRuntime(runtimeOptions);
|
|
84
|
+
printLifecycleSummary(phase, runtimeOptions, result);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
command.error(formatRuntimeError(error), { exitCode: 1 });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function parseComponentList(value) {
|
|
91
|
+
const components = value
|
|
92
|
+
.split(",")
|
|
93
|
+
.map((item) => item.trim())
|
|
94
|
+
.filter(Boolean);
|
|
95
|
+
if (components.length === 0) {
|
|
96
|
+
throw new InvalidArgumentError("--components must include at least one component name.");
|
|
97
|
+
}
|
|
98
|
+
return Array.from(new Set(components));
|
|
99
|
+
}
|
|
100
|
+
function validatePathOption(value, optionName) {
|
|
101
|
+
if (value === undefined) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
const normalized = value.trim();
|
|
105
|
+
if (!normalized) {
|
|
106
|
+
throw new InvalidArgumentError(`${optionName} must be a non-empty path.`);
|
|
107
|
+
}
|
|
108
|
+
if (normalized.includes("\0")) {
|
|
109
|
+
throw new InvalidArgumentError(`${optionName} contains an invalid null byte.`);
|
|
110
|
+
}
|
|
111
|
+
return normalized;
|
|
112
|
+
}
|
|
113
|
+
function printLifecycleSummary(phase, options, result) {
|
|
114
|
+
const modeSuffix = options.dryRun || (phase === "update" && options.checkOnly)
|
|
115
|
+
? options.checkOnly
|
|
116
|
+
? " (check-only)"
|
|
117
|
+
: " (dry-run)"
|
|
118
|
+
: "";
|
|
119
|
+
process.stdout.write(`Runtime ${phase} complete${modeSuffix}.\n`);
|
|
120
|
+
process.stdout.write(`Manifest: ${result.manifest.manifestPath}\n`);
|
|
121
|
+
process.stdout.write(`Managed root: ${result.paths.root}\n`);
|
|
122
|
+
process.stdout.write(`Planned components: ${result.plan.length}\n`);
|
|
123
|
+
process.stdout.write(`Changed components: ${result.changedComponents.length}\n`);
|
|
124
|
+
if (result.skipped.length > 0) {
|
|
125
|
+
for (const skipped of result.skipped) {
|
|
126
|
+
process.stdout.write(`Skipped: ${skipped.componentName} (${skipped.reason})\n`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (result.logFilePath) {
|
|
130
|
+
process.stdout.write(`Log: ${result.logFilePath}\n`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function formatRuntimeError(error) {
|
|
134
|
+
return error instanceof Error ? error.message : String(error);
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=runtime-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-commands.js","sourceRoot":"","sources":["../../src/commands/runtime-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,3 +9,7 @@ export { getDefaultManagedNodeRuntimeDirectory, installNodeRuntime, resolveManag
|
|
|
9
9
|
export { verifyNodeRuntime, type NodeRuntimeVerificationResult } from "./runtime/node-verify.js";
|
|
10
10
|
export { createNpmSyncPlan, loadNpmSyncManifest, normalizeGlobalInventory, syncNpmGlobals, validateNpmSyncManifest, type InstalledGlobalPackages, type NpmSyncActionKind, type NpmSyncActionResult, type NpmSyncCommandKind, type NpmSyncFallbackEvent, type NpmSyncFallbackPolicy, type NpmSyncManifest, type NpmSyncManifestEntry, type NpmSyncPlannedAction, type NpmSyncRuntimeMetadata, type NpmSyncSummary } from "./runtime/npm-sync.js";
|
|
11
11
|
export { buildToolSyncPackageSet, builtInToolSyncCatalog, normalizeToolSyncEntry, validateToolSyncCatalog, type CustomAgentCliToolInput, type ToolSyncCatalogEntry, type ToolSyncGroupId, type ToolSyncPackageConstraint, type ToolSyncRequirement, type ToolSyncSelection } from "./runtime/tool-sync-catalog.js";
|
|
12
|
+
export { getDefaultRuntimeManifestPath, loadRuntimeManifest, type LoadedRuntimeManifest, type RuntimeComponentDefinition, type RuntimeLifecyclePhase, type RuntimeManifestPaths } from "./runtime/runtime-manifest.js";
|
|
13
|
+
export { defaultRuntimeRoot, getComponentConfigDirectory, getComponentManagedRoot, resolveRuntimePaths, type ResolvedRuntimePaths } from "./runtime/runtime-paths.js";
|
|
14
|
+
export { createInitialRuntimeState, mergeRuntimeState, readRuntimeState, writeRuntimeState, type RuntimeComponentState, type RuntimeOperationState, type RuntimeState } from "./runtime/runtime-state.js";
|
|
15
|
+
export { installRuntime, planRuntimeLifecycle, queryRuntimeState, removeRuntime, renderRuntimeStateText, runRuntimeLifecycle, updateRuntime, type RuntimeLifecycleOptions, type RuntimeLifecycleResult, type RuntimePlannedAction, type RuntimeStateReport } from "./runtime/runtime-manager.js";
|
package/dist/index.js
CHANGED
|
@@ -11,4 +11,8 @@ export { getDefaultManagedNodeRuntimeDirectory, installNodeRuntime, resolveManag
|
|
|
11
11
|
export { verifyNodeRuntime } from "./runtime/node-verify.js";
|
|
12
12
|
export { createNpmSyncPlan, loadNpmSyncManifest, normalizeGlobalInventory, syncNpmGlobals, validateNpmSyncManifest } from "./runtime/npm-sync.js";
|
|
13
13
|
export { buildToolSyncPackageSet, builtInToolSyncCatalog, normalizeToolSyncEntry, validateToolSyncCatalog } from "./runtime/tool-sync-catalog.js";
|
|
14
|
+
export { getDefaultRuntimeManifestPath, loadRuntimeManifest } from "./runtime/runtime-manifest.js";
|
|
15
|
+
export { defaultRuntimeRoot, getComponentConfigDirectory, getComponentManagedRoot, resolveRuntimePaths } from "./runtime/runtime-paths.js";
|
|
16
|
+
export { createInitialRuntimeState, mergeRuntimeState, readRuntimeState, writeRuntimeState } from "./runtime/runtime-state.js";
|
|
17
|
+
export { installRuntime, planRuntimeLifecycle, queryRuntimeState, removeRuntime, renderRuntimeStateText, runRuntimeLifecycle, updateRuntime } from "./runtime/runtime-manager.js";
|
|
14
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EAEf,MAAM,cAAc,CAAC;AAQtB,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC;AAED,OAAO,EACL,qCAAqC,EACrC,kBAAkB,EAClB,yBAAyB,EAG1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EAYxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EAOxB,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EAEf,MAAM,cAAc,CAAC;AAQtB,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC;AAED,OAAO,EACL,qCAAqC,EACrC,kBAAkB,EAClB,yBAAyB,EAG1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EAYxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EAOxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EAKpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EAKd,MAAM,8BAA8B,CAAC"}
|
|
@@ -19,6 +19,7 @@ export function normalizeCommandPath(commandPath) {
|
|
|
19
19
|
return trimmed;
|
|
20
20
|
}
|
|
21
21
|
export function requiresShellLaunch(_commandPath, _platform = process.platform) {
|
|
22
|
+
void _platform;
|
|
22
23
|
// Execa already handles Windows command shims without a shell wrapper.
|
|
23
24
|
// Keeping direct execution preserves argv boundaries for paths with spaces.
|
|
24
25
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-launch.js","sourceRoot":"","sources":["../../src/runtime/command-launch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-launch.js","sourceRoot":"","sources":["../../src/runtime/command-launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CommandRunner } from "./command-launch.js";
|
|
2
|
+
import type { LoadedRuntimeManifest, RuntimeComponentDefinition, RuntimeLifecyclePhase } from "./runtime-manifest.js";
|
|
3
|
+
import type { ResolvedRuntimePaths } from "./runtime-paths.js";
|
|
4
|
+
export interface RuntimeScriptExecutionContext {
|
|
5
|
+
component: RuntimeComponentDefinition;
|
|
6
|
+
phase: RuntimeLifecyclePhase;
|
|
7
|
+
manifest: LoadedRuntimeManifest;
|
|
8
|
+
paths: ResolvedRuntimePaths;
|
|
9
|
+
componentRoot: string;
|
|
10
|
+
componentConfigDir: string;
|
|
11
|
+
logFilePath?: string;
|
|
12
|
+
purge?: boolean;
|
|
13
|
+
verbose?: boolean;
|
|
14
|
+
runner?: CommandRunner;
|
|
15
|
+
}
|
|
16
|
+
export interface RuntimeScriptExecutionResult {
|
|
17
|
+
command: string;
|
|
18
|
+
args: string[];
|
|
19
|
+
stdout: string;
|
|
20
|
+
stderr: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function executeRuntimeScript(scriptPath: string, context: RuntimeScriptExecutionContext): Promise<RuntimeScriptExecutionResult>;
|
|
23
|
+
export declare function writeRuntimeLog(logFilePath: string, content: string): Promise<void>;
|
|
24
|
+
export declare function getRuntimeScriptLaunch(scriptPath: string): {
|
|
25
|
+
command: string;
|
|
26
|
+
args: string[];
|
|
27
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { appendFile, mkdir } from "node:fs/promises";
|
|
2
|
+
import { basename, dirname, extname } from "node:path";
|
|
3
|
+
import process from "node:process";
|
|
4
|
+
import { runCommand } from "./command-launch.js";
|
|
5
|
+
export async function executeRuntimeScript(scriptPath, context) {
|
|
6
|
+
const runner = context.runner ?? runCommand;
|
|
7
|
+
const { command, args } = getRuntimeScriptLaunch(scriptPath);
|
|
8
|
+
const result = await runner(command, args, {
|
|
9
|
+
cwd: context.manifest.manifestDir,
|
|
10
|
+
env: buildRuntimeScriptEnvironment(context),
|
|
11
|
+
maxBuffer: 10 * 1024 * 1024
|
|
12
|
+
});
|
|
13
|
+
if (context.logFilePath) {
|
|
14
|
+
await writeRuntimeLog(context.logFilePath, [
|
|
15
|
+
`# ${context.phase}:${context.component.name}`,
|
|
16
|
+
`$ ${command} ${args.join(" ")}`,
|
|
17
|
+
result.stdout ? `stdout:\n${result.stdout}` : "",
|
|
18
|
+
result.stderr ? `stderr:\n${result.stderr}` : ""
|
|
19
|
+
]
|
|
20
|
+
.filter(Boolean)
|
|
21
|
+
.join("\n"));
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
command,
|
|
25
|
+
args,
|
|
26
|
+
stdout: result.stdout,
|
|
27
|
+
stderr: result.stderr
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export async function writeRuntimeLog(logFilePath, content) {
|
|
31
|
+
await mkdir(dirname(logFilePath), { recursive: true });
|
|
32
|
+
await appendFile(logFilePath, `${content}\n`, "utf8");
|
|
33
|
+
}
|
|
34
|
+
export function getRuntimeScriptLaunch(scriptPath) {
|
|
35
|
+
const extension = extname(scriptPath).toLowerCase();
|
|
36
|
+
if (extension === ".mjs" || extension === ".js" || extension === ".cjs") {
|
|
37
|
+
return {
|
|
38
|
+
command: process.execPath,
|
|
39
|
+
args: [scriptPath]
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
command: scriptPath,
|
|
44
|
+
args: []
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function buildRuntimeScriptEnvironment(context) {
|
|
48
|
+
return withManagedBinPath({
|
|
49
|
+
...process.env,
|
|
50
|
+
HAGISCRIPT_RUNTIME_ROOT: context.paths.root,
|
|
51
|
+
HAGISCRIPT_RUNTIME_BIN_DIR: context.paths.bin,
|
|
52
|
+
HAGISCRIPT_RUNTIME_CONFIG_DIR: context.paths.config,
|
|
53
|
+
HAGISCRIPT_RUNTIME_LOGS_DIR: context.paths.logs,
|
|
54
|
+
HAGISCRIPT_RUNTIME_DATA_DIR: context.paths.data,
|
|
55
|
+
HAGISCRIPT_RUNTIME_STATE_PATH: context.paths.stateFile,
|
|
56
|
+
HAGISCRIPT_RUNTIME_TEMPLATE_DIR: `${context.manifest.manifestDir}/templates`,
|
|
57
|
+
HAGISCRIPT_RUNTIME_COMPONENT_NAME: context.component.name,
|
|
58
|
+
HAGISCRIPT_RUNTIME_COMPONENT_TYPE: context.component.type,
|
|
59
|
+
HAGISCRIPT_RUNTIME_COMPONENT_VERSION: context.component.version ?? "",
|
|
60
|
+
HAGISCRIPT_RUNTIME_COMPONENT_ROOT: context.componentRoot,
|
|
61
|
+
HAGISCRIPT_RUNTIME_COMPONENT_CONFIG_DIR: context.componentConfigDir,
|
|
62
|
+
HAGISCRIPT_RUNTIME_PHASE: context.phase,
|
|
63
|
+
HAGISCRIPT_RUNTIME_PURGE: context.purge ? "1" : "0",
|
|
64
|
+
HAGISCRIPT_RUNTIME_VERBOSE: context.verbose ? "1" : "0",
|
|
65
|
+
HAGISCRIPT_RUNTIME_SCRIPT_BASENAME: basename(scriptPathForEnv(context.component, context.phase))
|
|
66
|
+
}, context.paths.bin);
|
|
67
|
+
}
|
|
68
|
+
function withManagedBinPath(env, binPath) {
|
|
69
|
+
const pathKey = process.platform === "win32" ? "Path" : "PATH";
|
|
70
|
+
const currentPath = env[pathKey] ?? env.PATH ?? "";
|
|
71
|
+
return {
|
|
72
|
+
...env,
|
|
73
|
+
[pathKey]: [binPath, currentPath].filter(Boolean).join(process.platform === "win32" ? ";" : ":")
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function scriptPathForEnv(component, phase) {
|
|
77
|
+
switch (phase) {
|
|
78
|
+
case "install":
|
|
79
|
+
return component.scripts.install;
|
|
80
|
+
case "remove":
|
|
81
|
+
return component.scripts.remove ?? component.scripts.install;
|
|
82
|
+
case "update":
|
|
83
|
+
return component.scripts.update ?? component.scripts.install;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=runtime-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-executor.js","sourceRoot":"","sources":["../../src/runtime/runtime-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type LoadedRuntimeManifest, type RuntimeLifecyclePhase } from "./runtime-manifest.js";
|
|
2
|
+
import { type ResolvedRuntimePaths } from "./runtime-paths.js";
|
|
3
|
+
import { type RuntimeComponentStatus, type RuntimeState } from "./runtime-state.js";
|
|
4
|
+
export interface RuntimeLifecycleOptions {
|
|
5
|
+
manifestPath?: string;
|
|
6
|
+
runtimeRoot?: string;
|
|
7
|
+
components?: readonly string[];
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
force?: boolean;
|
|
10
|
+
purge?: boolean;
|
|
11
|
+
checkOnly?: boolean;
|
|
12
|
+
verbose?: boolean;
|
|
13
|
+
logger?: (message: string) => void;
|
|
14
|
+
now?: () => Date;
|
|
15
|
+
}
|
|
16
|
+
export interface RuntimePlannedAction {
|
|
17
|
+
componentName: string;
|
|
18
|
+
phase: RuntimeLifecyclePhase;
|
|
19
|
+
strategy: "builtin" | "script" | "fallback-install" | "fallback-cleanup";
|
|
20
|
+
scriptPath?: string;
|
|
21
|
+
reason?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface RuntimeLifecycleResult {
|
|
24
|
+
manifest: LoadedRuntimeManifest;
|
|
25
|
+
paths: ResolvedRuntimePaths;
|
|
26
|
+
state: RuntimeState;
|
|
27
|
+
plan: RuntimePlannedAction[];
|
|
28
|
+
skipped: {
|
|
29
|
+
componentName: string;
|
|
30
|
+
reason: string;
|
|
31
|
+
}[];
|
|
32
|
+
changedComponents: string[];
|
|
33
|
+
logFilePath?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface RuntimeStateReport {
|
|
36
|
+
runtime: {
|
|
37
|
+
name: string;
|
|
38
|
+
version: string;
|
|
39
|
+
manifestPath: string;
|
|
40
|
+
};
|
|
41
|
+
managedRoot: string;
|
|
42
|
+
managedPaths: ResolvedRuntimePaths;
|
|
43
|
+
ready: boolean;
|
|
44
|
+
components: Array<{
|
|
45
|
+
name: string;
|
|
46
|
+
type: string;
|
|
47
|
+
status: RuntimeComponentStatus;
|
|
48
|
+
version: string | null;
|
|
49
|
+
managedPaths: string[];
|
|
50
|
+
}>;
|
|
51
|
+
lastOperation: RuntimeState["lastOperation"];
|
|
52
|
+
}
|
|
53
|
+
export declare class RuntimeLifecycleError extends Error {
|
|
54
|
+
constructor(message: string, options?: ErrorOptions);
|
|
55
|
+
}
|
|
56
|
+
export declare function installRuntime(options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
|
|
57
|
+
export declare function removeRuntime(options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
|
|
58
|
+
export declare function updateRuntime(options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
|
|
59
|
+
export declare function runRuntimeLifecycle(phase: RuntimeLifecyclePhase, options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
|
|
60
|
+
export declare function queryRuntimeState(options: Pick<RuntimeLifecycleOptions, "manifestPath" | "runtimeRoot">): Promise<RuntimeStateReport>;
|
|
61
|
+
export declare function renderRuntimeStateText(report: RuntimeStateReport): string;
|
|
62
|
+
export declare function planRuntimeLifecycle(phase: RuntimeLifecyclePhase, manifest: LoadedRuntimeManifest, state: RuntimeState, options?: RuntimeLifecycleOptions): {
|
|
63
|
+
plan: RuntimePlannedAction[];
|
|
64
|
+
skipped: {
|
|
65
|
+
componentName: string;
|
|
66
|
+
reason: string;
|
|
67
|
+
}[];
|
|
68
|
+
};
|