@heddleagent/execution-host-client 8.0.0 → 8.0.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/cli/hostctl.js +16 -3
- package/dist/cli/hostctl.js.map +1 -1
- package/package.json +2 -1
package/dist/cli/hostctl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { realpathSync } from 'node:fs';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { Command, CommanderError } from 'commander';
|
|
5
5
|
import { initializeLocalCredentialBundle } from '../node/local-credential-bundle.js';
|
|
@@ -42,8 +42,21 @@ function createHostctl(io) {
|
|
|
42
42
|
});
|
|
43
43
|
return program;
|
|
44
44
|
}
|
|
45
|
-
if (process.argv[1]
|
|
46
|
-
&& resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
|
|
45
|
+
if (isExecutedModule(import.meta.url, process.argv[1])) {
|
|
47
46
|
process.exitCode = await runHostctl(process.argv.slice(2));
|
|
48
47
|
}
|
|
48
|
+
function isExecutedModule(moduleUrl, executablePath) {
|
|
49
|
+
if (!executablePath) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
// Package managers expose binaries through node_modules/.bin symlinks.
|
|
54
|
+
// Compare canonical paths so the installed binary still reaches main.
|
|
55
|
+
return realpathSync(executablePath)
|
|
56
|
+
=== realpathSync(fileURLToPath(moduleUrl));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
49
62
|
//# sourceMappingURL=hostctl.js.map
|
package/dist/cli/hostctl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostctl.js","sourceRoot":"","sources":["../../src/cli/hostctl.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hostctl.js","sourceRoot":"","sources":["../../src/cli/hostctl.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport { realpathSync } from 'node:fs';\nimport { fileURLToPath } from 'node:url';\nimport { Command, CommanderError } from 'commander';\nimport { initializeLocalCredentialBundle } from '../node/local-credential-bundle.js';\n\nexport type HostctlIo = {\n stdout: { write(value: string): unknown };\n stderr: { write(value: string): unknown };\n};\n\nexport async function runHostctl(\n args: readonly string[],\n io: HostctlIo = process,\n): Promise<number> {\n const program = createHostctl(io);\n try {\n await program.parseAsync([...args], { from: 'user' });\n return 0;\n } catch (error) {\n if (error instanceof CommanderError) {\n return error.exitCode;\n }\n const message = error instanceof Error ? error.message : String(error);\n io.stderr.write(`heddle-hostctl: ${message}\\n`);\n return 1;\n }\n}\n\nfunction createHostctl(io: HostctlIo): Command {\n const program = new Command()\n .name('heddle-hostctl')\n .description('Operate a self-hosted Heddle Execution Host.')\n .configureOutput({\n writeOut: (value) => { io.stdout.write(value); },\n writeErr: (value) => { io.stderr.write(value); },\n })\n .exitOverride()\n .showHelpAfterError()\n .allowExcessArguments(false);\n\n program.command('credentials')\n .description('Manage generic local host credentials.')\n .command('init')\n .description('Create or validate an owner-only credential bundle.')\n .requiredOption('-o, --output <directory>', 'credential bundle directory')\n .action(async ({ output }: { output: string }) => {\n const initialized = await initializeLocalCredentialBundle(output);\n io.stdout.write(\n `${initialized.created ? 'Initialized' : 'Validated'} Heddle local hosted credentials.\\n`,\n );\n io.stdout.write(`Directory: ${initialized.paths.directory}\\n`);\n io.stdout.write(`Manifest: ${initialized.paths.manifest}\\n`);\n });\n\n return program;\n}\n\nif (isExecutedModule(import.meta.url, process.argv[1])) {\n process.exitCode = await runHostctl(process.argv.slice(2));\n}\n\nfunction isExecutedModule(\n moduleUrl: string,\n executablePath: string | undefined,\n): boolean {\n if (!executablePath) {\n return false;\n }\n\n try {\n // Package managers expose binaries through node_modules/.bin symlinks.\n // Compare canonical paths so the installed binary still reaches main.\n return realpathSync(executablePath)\n === realpathSync(fileURLToPath(moduleUrl));\n } catch {\n return false;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heddleagent/execution-host-client",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.1",
|
|
4
4
|
"description": "Contracts, execution authority, lifecycle services, and adopter clients for compatible Heddle Execution Hosts",
|
|
5
5
|
"author": "Jay / Fienna Liang <roackb2@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -111,6 +111,7 @@
|
|
|
111
111
|
"contract:generate": "tsx scripts/generate-contract-artifacts.ts",
|
|
112
112
|
"contract:verify": "tsx scripts/generate-contract-artifacts.ts --check",
|
|
113
113
|
"example:node-control-plane": "yarn build && tsx examples/node-control-plane.ts",
|
|
114
|
+
"pack:verify": "tsx scripts/verify-packed-hostctl.ts",
|
|
114
115
|
"test": "vitest run --config vitest.config.ts",
|
|
115
116
|
"typecheck": "tsc -p tsconfig.test.json --noEmit"
|
|
116
117
|
},
|