@aikyroon/installer-core 1.0.0 → 1.1.3
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/activate.d.ts +10 -0
- package/dist/activate.d.ts.map +1 -0
- package/dist/activate.js +42 -0
- package/dist/activate.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -2
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +38 -9
- package/dist/install.js.map +1 -1
- package/dist/shortcuts.d.ts +7 -3
- package/dist/shortcuts.d.ts.map +1 -1
- package/dist/shortcuts.js +124 -32
- package/dist/shortcuts.js.map +1 -1
- package/dist/uninstall.js +6 -0
- package/dist/uninstall.js.map +1 -1
- package/dist/verify.d.ts +17 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +51 -0
- package/dist/verify.js.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +22 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ActivateOptions {
|
|
2
|
+
installRoot?: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Registers/activates an already-installed Worker with an activation code by
|
|
6
|
+
* invoking `<worker> activate <code>`. Used by `kyroon worker <CODE>` /
|
|
7
|
+
* `kyroon activate <CODE>` — does NOT re-install anything.
|
|
8
|
+
*/
|
|
9
|
+
export declare function activateWorker(code: string, opts?: ActivateOptions): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=activate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../src/activate.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B5F"}
|
package/dist/activate.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { execa } from 'execa';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import { defaultInstallRoot, stripTrailingSep } from './config.js';
|
|
5
|
+
import { locateBinary } from './extract.js';
|
|
6
|
+
import { detectPlatform, resolveComponent } from './platform.js';
|
|
7
|
+
import * as log from './logger.js';
|
|
8
|
+
/**
|
|
9
|
+
* Registers/activates an already-installed Worker with an activation code by
|
|
10
|
+
* invoking `<worker> activate <code>`. Used by `kyroon worker <CODE>` /
|
|
11
|
+
* `kyroon activate <CODE>` — does NOT re-install anything.
|
|
12
|
+
*/
|
|
13
|
+
export async function activateWorker(code, opts = {}) {
|
|
14
|
+
const trimmed = code?.trim();
|
|
15
|
+
if (!trimmed)
|
|
16
|
+
throw new Error('Activation code is required: `worker <CODE>`.');
|
|
17
|
+
const platform = detectPlatform();
|
|
18
|
+
const installRoot = stripTrailingSep(opts.installRoot ?? defaultInstallRoot(platform));
|
|
19
|
+
const spec = resolveComponent('worker', platform);
|
|
20
|
+
if (!spec)
|
|
21
|
+
throw new Error(`Worker is not distributed for ${platform.slug}.`);
|
|
22
|
+
const workerDir = path.join(installRoot, 'worker');
|
|
23
|
+
if (!(await fs.pathExists(workerDir))) {
|
|
24
|
+
throw new Error(`Worker not installed in ${workerDir}. Run 'install' first.`);
|
|
25
|
+
}
|
|
26
|
+
const bin = await locateBinary(workerDir, spec.binary);
|
|
27
|
+
if (!bin)
|
|
28
|
+
throw new Error(`${spec.binary} not found in ${workerDir}. Try 'repair'.`);
|
|
29
|
+
log.step(`Activating Worker with code: ${trimmed}`);
|
|
30
|
+
const res = await execa(bin, ['activate', trimmed], { reject: false, cwd: path.dirname(bin) });
|
|
31
|
+
if (res.exitCode === 0) {
|
|
32
|
+
log.success('Worker activated.');
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
log.error(`Worker activation failed (exit ${res.exitCode}).`);
|
|
36
|
+
const detail = (res.stderr || res.stdout || '').trim();
|
|
37
|
+
if (detail)
|
|
38
|
+
log.info(detail);
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=activate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activate.js","sourceRoot":"","sources":["../src/activate.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAMnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,OAAwB,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,wBAAwB,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,iBAAiB,SAAS,iBAAiB,CAAC,CAAC;IAErF,GAAG,CAAC,IAAI,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/F,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,GAAG,WAAW,CAAC;IACjC,iEAAiE;IACjE,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B;AAID,oDAAoD;AACpD,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmB9C"}
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { installComponents } from './install.js';
|
|
3
3
|
import { uninstallComponents } from './uninstall.js';
|
|
4
|
+
import { activateWorker } from './activate.js';
|
|
4
5
|
import { doctor } from './doctor.js';
|
|
5
6
|
import { installRagLocal } from './installGl.js';
|
|
6
7
|
import * as log from './logger.js';
|
|
@@ -9,10 +10,17 @@ const VALID_COMPONENTS = ['worker', 'terminal', 'app'];
|
|
|
9
10
|
export function runCli(preset) {
|
|
10
11
|
const program = new Command();
|
|
11
12
|
program.name(preset.bin).description(preset.description).version(preset.cliVersion, '-v, --version');
|
|
13
|
+
program.showHelpAfterError();
|
|
12
14
|
if (preset.kind === 'components')
|
|
13
15
|
buildComponentCommands(program, preset);
|
|
14
16
|
else
|
|
15
17
|
buildRagLocalCommands(program, preset);
|
|
18
|
+
// Bare invocation (e.g. just `kyroon`): list the available options and exit
|
|
19
|
+
// WITHOUT running anything — install must be explicit (`kyroon install`).
|
|
20
|
+
if (process.argv.slice(2).length === 0) {
|
|
21
|
+
program.outputHelp();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
16
24
|
program.parseAsync(process.argv).catch((err) => {
|
|
17
25
|
log.error(err instanceof Error ? err.message : String(err));
|
|
18
26
|
process.exitCode = 1;
|
|
@@ -40,9 +48,18 @@ function buildComponentCommands(program, preset) {
|
|
|
40
48
|
start: opts.start,
|
|
41
49
|
});
|
|
42
50
|
};
|
|
43
|
-
addInstallOptions(program.command('install'
|
|
44
|
-
addInstallOptions(program.command('update').description('
|
|
51
|
+
addInstallOptions(program.command('install').description(`install ${preset.productName}`)).action(runInstall);
|
|
52
|
+
addInstallOptions(program.command('update').description('force-update every component to the latest versions')).action(runInstall);
|
|
45
53
|
addInstallOptions(program.command('repair').description('force a clean re-install')).action(runInstall);
|
|
54
|
+
// `kyroon worker <CODE>` (alias `activate`) — register/activate the Worker.
|
|
55
|
+
program
|
|
56
|
+
.command('worker <code>')
|
|
57
|
+
.alias('activate')
|
|
58
|
+
.description('register/activate the installed Worker with an activation code')
|
|
59
|
+
.option('--install-root <dir>', 'installation root')
|
|
60
|
+
.action(async (code, opts) => {
|
|
61
|
+
await activateWorker(code, { installRoot: opts.installRoot });
|
|
62
|
+
});
|
|
46
63
|
program
|
|
47
64
|
.command('uninstall')
|
|
48
65
|
.description(`remove ${preset.productName}`)
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAcnC,MAAM,gBAAgB,GAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAExE,oDAAoD;AACpD,MAAM,UAAU,MAAM,CAAC,MAAiB;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { runCli, type CliPreset } from './cli.js';
|
|
2
2
|
export { installComponents, type InstallOptions, type InstallResult } from './install.js';
|
|
3
|
+
export { verifyInstall, type VerifyProblem } from './verify.js';
|
|
4
|
+
export { activateWorker, type ActivateOptions } from './activate.js';
|
|
5
|
+
export { versionFrom } from './version.js';
|
|
3
6
|
export { uninstallComponents, type UninstallOptions } from './uninstall.js';
|
|
4
7
|
export { doctor, type DoctorOptions } from './doctor.js';
|
|
5
8
|
export { installRagLocal, type RagLocalOptions } from './installGl.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,MAAM,EACN,QAAQ,GACT,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,MAAM,EACN,QAAQ,GACT,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { runCli } from './cli.js';
|
|
2
2
|
export { installComponents } from './install.js';
|
|
3
|
+
export { verifyInstall } from './verify.js';
|
|
4
|
+
export { activateWorker } from './activate.js';
|
|
5
|
+
export { versionFrom } from './version.js';
|
|
3
6
|
export { uninstallComponents } from './uninstall.js';
|
|
4
7
|
export { doctor } from './doctor.js';
|
|
5
8
|
export { installRagLocal } from './installGl.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAA2C,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAyB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAA2C,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAyB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAC"}
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAA4C,MAAM,YAAY,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrF;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA6HvF"}
|
package/dist/install.js
CHANGED
|
@@ -9,6 +9,7 @@ import { detectPlatform, resolveComponent } from './platform.js';
|
|
|
9
9
|
import { ensurePythonLauncher } from './python.js';
|
|
10
10
|
import { stopKyroonProcesses } from './processes.js';
|
|
11
11
|
import { createShortcuts } from './shortcuts.js';
|
|
12
|
+
import { verifyInstall } from './verify.js';
|
|
12
13
|
import * as log from './logger.js';
|
|
13
14
|
/**
|
|
14
15
|
* Installs the requested components "flat" under `<installRoot>/<component>/`,
|
|
@@ -34,7 +35,7 @@ export async function installComponents(options) {
|
|
|
34
35
|
`InstallRoot : ${installRoot}`,
|
|
35
36
|
]);
|
|
36
37
|
// 1) Detect versions (components + native updater when distributed).
|
|
37
|
-
log.step('[1/
|
|
38
|
+
log.step('[1/7] Detecting latest versions...');
|
|
38
39
|
const updaterSpec = resolveComponent('updater', platform); // win/linux/macOS (null only on unsupported RIDs)
|
|
39
40
|
let updaterInfo = null;
|
|
40
41
|
if (updaterSpec) {
|
|
@@ -48,7 +49,7 @@ export async function installComponents(options) {
|
|
|
48
49
|
log.info(`${spec.display} v${info.versionBuild}`);
|
|
49
50
|
}
|
|
50
51
|
// 2) Download everything (no running binary is touched yet).
|
|
51
|
-
log.step('[2/
|
|
52
|
+
log.step('[2/7] Downloading packages...');
|
|
52
53
|
let updaterArchive = null;
|
|
53
54
|
if (updaterSpec && updaterInfo) {
|
|
54
55
|
updaterArchive = await downloadAndVerify(updaterInfo, 'updater', downloadsDir);
|
|
@@ -58,14 +59,14 @@ export async function installComponents(options) {
|
|
|
58
59
|
archives.set(spec.name, await downloadAndVerify(infos.get(spec.name), spec.name, downloadsDir));
|
|
59
60
|
}
|
|
60
61
|
// 3) Stop running processes.
|
|
61
|
-
log.step('[3/
|
|
62
|
+
log.step('[3/7] Stopping running Kyroon processes...');
|
|
62
63
|
await stopKyroonProcesses(platform);
|
|
63
64
|
// 3.5) Ensure Python launcher for the Worker JSONL hooks.
|
|
64
65
|
if (selected.includes('worker')) {
|
|
65
66
|
await ensurePythonLauncher(platform).catch((err) => log.warn(`ensurePythonLauncher failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
66
67
|
}
|
|
67
68
|
// 4) Install components (+ per-component native updater on win/linux/macOS).
|
|
68
|
-
log.step('[4/
|
|
69
|
+
log.step('[4/7] Installing components...');
|
|
69
70
|
const installed = [];
|
|
70
71
|
const binByComponent = new Map();
|
|
71
72
|
for (const spec of specs) {
|
|
@@ -80,6 +81,7 @@ export async function installComponents(options) {
|
|
|
80
81
|
const binary = await locateBinary(componentDir, spec.binary);
|
|
81
82
|
if (!binary)
|
|
82
83
|
throw new Error(`${spec.binary} not found in ${componentDir} after extraction.`);
|
|
84
|
+
await ensureExecutable(platform, binary);
|
|
83
85
|
if (updaterSpec && updaterInfo && updaterArchive) {
|
|
84
86
|
await installUpdater(componentDir, updaterArchive, updaterInfo, updaterSpec);
|
|
85
87
|
}
|
|
@@ -89,8 +91,8 @@ export async function installComponents(options) {
|
|
|
89
91
|
}
|
|
90
92
|
if (updaterArchive)
|
|
91
93
|
await fs.remove(updaterArchive);
|
|
92
|
-
// 5) Shortcuts.
|
|
93
|
-
log.step('[5/
|
|
94
|
+
// 5) Shortcuts + boot auto-start.
|
|
95
|
+
log.step('[5/7] Creating shortcuts and boot auto-start...');
|
|
94
96
|
if (wantService) {
|
|
95
97
|
const targets = [];
|
|
96
98
|
for (const c of ['app', 'worker']) {
|
|
@@ -104,17 +106,36 @@ export async function installComponents(options) {
|
|
|
104
106
|
log.info('Shortcuts skipped (--no-service).');
|
|
105
107
|
}
|
|
106
108
|
// 6) Activation + start.
|
|
107
|
-
log.step('[6/
|
|
109
|
+
log.step('[6/7] Activation and startup...');
|
|
108
110
|
await activateAndStart(platform, binByComponent, {
|
|
109
111
|
activationCode: options.activationCode,
|
|
110
112
|
service: wantService,
|
|
111
113
|
start: wantStart,
|
|
112
114
|
});
|
|
115
|
+
// 7) Verify the install is complete and runnable ("tudo certinho").
|
|
116
|
+
log.step('[7/7] Verifying installation...');
|
|
117
|
+
const result = { installRoot, components: installed };
|
|
118
|
+
const problems = await verifyInstall(result, platform);
|
|
119
|
+
const hard = problems.filter((p) => p.hard);
|
|
120
|
+
if (hard.length > 0) {
|
|
121
|
+
throw new Error(`Install verification failed: ${hard.map((p) => `${p.component} (${p.message})`).join('; ')}`);
|
|
122
|
+
}
|
|
113
123
|
log.banner('Kyroon Enterprise installed!', [
|
|
114
124
|
`Install root : ${installRoot}`,
|
|
115
125
|
...installed.map((c) => `${c.name} : ${c.dir}`),
|
|
116
126
|
]);
|
|
117
|
-
return
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
/** Guarantees a POSIX binary is executable (zip extraction can drop the bit). */
|
|
130
|
+
async function ensureExecutable(platform, binary) {
|
|
131
|
+
if (platform.os === 'win')
|
|
132
|
+
return;
|
|
133
|
+
try {
|
|
134
|
+
await fs.chmod(binary, 0o755);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
log.warn(`Could not chmod +x ${binary}: ${err instanceof Error ? err.message : String(err)}`);
|
|
138
|
+
}
|
|
118
139
|
}
|
|
119
140
|
function dedupeComponents(components) {
|
|
120
141
|
const out = [];
|
|
@@ -165,6 +186,9 @@ async function installUpdater(componentDir, updaterArchive, updaterInfo, updater
|
|
|
165
186
|
if (!bin) {
|
|
166
187
|
log.warn(`${updaterSpec.binary} not found in updater package.`);
|
|
167
188
|
}
|
|
189
|
+
else if (process.platform !== 'win32') {
|
|
190
|
+
await fs.chmod(bin, 0o755).catch(() => { });
|
|
191
|
+
}
|
|
168
192
|
// Sentinel read by the server-side re-provisioning skip (mirrors install.ps1).
|
|
169
193
|
await writeJsonAtomic(path.join(updaterDir, '.updater-version.json'), {
|
|
170
194
|
fileType: updaterSpec.fileType,
|
|
@@ -191,7 +215,12 @@ async function activateAndStart(platform, binByComponent, opts) {
|
|
|
191
215
|
}
|
|
192
216
|
if (workerBin) {
|
|
193
217
|
try {
|
|
194
|
-
|
|
218
|
+
// Windows: no args -> the Worker opens its System Tray (stays alive and
|
|
219
|
+
// consumes tasks). Linux/macOS: bare invocation only prints help and
|
|
220
|
+
// exits, so it MUST be launched as `run`/daemon to stay alive and pick
|
|
221
|
+
// up tasks (host.WaitForShutdownAsync blocks on SIGINT/SIGTERM).
|
|
222
|
+
const workerArgs = platform.os === 'win' ? [] : ['run'];
|
|
223
|
+
execa(workerBin, workerArgs, { detached: true, stdio: 'ignore', cwd: path.dirname(workerBin) }).unref();
|
|
195
224
|
}
|
|
196
225
|
catch (err) {
|
|
197
226
|
log.warn(`Could not start Worker: ${err instanceof Error ? err.message : String(err)}`);
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/shortcuts.d.ts
CHANGED
|
@@ -5,9 +5,13 @@ export interface ShortcutTarget {
|
|
|
5
5
|
binary: string;
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
|
-
* Creates desktop/start-menu/launcher shortcuts
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Creates desktop/start-menu/launcher shortcuts AND boot auto-start entries for
|
|
9
|
+
* the installed components.
|
|
10
|
+
* Windows -> Desktop `.lnk` + (startup) a `.lnk` in the Startup folder.
|
|
11
|
+
* Linux -> app menu `.desktop` + (startup) XDG autostart `.desktop`
|
|
12
|
+
* in `~/.config/autostart` for both Worker and App.
|
|
13
|
+
* macOS -> `~/Applications` symlink for the App + (startup) a LaunchAgent.
|
|
14
|
+
* Best-effort: a failure to create one shortcut only warns.
|
|
11
15
|
*/
|
|
12
16
|
export declare function createShortcuts(platform: PlatformInfo, targets: ShortcutTarget[], opts?: {
|
|
13
17
|
startup?: boolean;
|
package/dist/shortcuts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,cAAc,EAAE,EACzB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
package/dist/shortcuts.js
CHANGED
|
@@ -4,28 +4,45 @@ import { execa } from 'execa';
|
|
|
4
4
|
import fs from 'fs-extra';
|
|
5
5
|
import * as log from './logger.js';
|
|
6
6
|
/**
|
|
7
|
-
* Creates desktop/start-menu/launcher shortcuts
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Creates desktop/start-menu/launcher shortcuts AND boot auto-start entries for
|
|
8
|
+
* the installed components.
|
|
9
|
+
* Windows -> Desktop `.lnk` + (startup) a `.lnk` in the Startup folder.
|
|
10
|
+
* Linux -> app menu `.desktop` + (startup) XDG autostart `.desktop`
|
|
11
|
+
* in `~/.config/autostart` for both Worker and App.
|
|
12
|
+
* macOS -> `~/Applications` symlink for the App + (startup) a LaunchAgent.
|
|
13
|
+
* Best-effort: a failure to create one shortcut only warns.
|
|
10
14
|
*/
|
|
11
15
|
export async function createShortcuts(platform, targets, opts = {}) {
|
|
16
|
+
const startup = opts.startup ?? true;
|
|
12
17
|
for (const target of targets) {
|
|
13
18
|
try {
|
|
14
19
|
if (platform.os === 'win')
|
|
15
|
-
await createWindowsShortcuts(target,
|
|
20
|
+
await createWindowsShortcuts(target, startup);
|
|
16
21
|
else if (platform.os === 'linux')
|
|
17
|
-
await createLinuxShortcut(target);
|
|
22
|
+
await createLinuxShortcut(target, startup);
|
|
18
23
|
else
|
|
19
|
-
await createMacShortcut(target);
|
|
24
|
+
await createMacShortcut(target, startup);
|
|
20
25
|
}
|
|
21
26
|
catch (err) {
|
|
22
27
|
log.warn(`Could not create shortcut for ${target.component}: ${err instanceof Error ? err.message : String(err)}`);
|
|
23
28
|
}
|
|
24
29
|
}
|
|
25
30
|
}
|
|
31
|
+
function labelFor(component) {
|
|
32
|
+
if (component === 'app')
|
|
33
|
+
return 'Kyroon App';
|
|
34
|
+
if (component === 'worker')
|
|
35
|
+
return 'Kyroon Worker';
|
|
36
|
+
if (component === 'terminal')
|
|
37
|
+
return 'Kyroon Terminal';
|
|
38
|
+
return `Kyroon ${component}`;
|
|
39
|
+
}
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Windows
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
26
43
|
async function createWindowsShortcuts(target, startup) {
|
|
27
44
|
const desktop = path.join(os.homedir(), 'Desktop');
|
|
28
|
-
const label = target.component
|
|
45
|
+
const label = labelFor(target.component);
|
|
29
46
|
const dirs = [desktop];
|
|
30
47
|
if (startup) {
|
|
31
48
|
dirs.push(path.join(os.homedir(), 'AppData', 'Roaming', 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup'));
|
|
@@ -54,36 +71,111 @@ async function createLnk(linkPath, targetPath, description) {
|
|
|
54
71
|
function psStr(value) {
|
|
55
72
|
return `'${value.replace(/'/g, "''")}'`;
|
|
56
73
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
// Linux
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
async function createLinuxShortcut(target, startup) {
|
|
78
|
+
// App: a menu launcher in ~/.local/share/applications.
|
|
79
|
+
if (target.component === 'app') {
|
|
80
|
+
const appsDir = path.join(os.homedir(), '.local', 'share', 'applications');
|
|
81
|
+
await fs.ensureDir(appsDir);
|
|
82
|
+
const entryPath = path.join(appsDir, 'kyroon-enterprise.desktop');
|
|
83
|
+
await writeDesktopEntry(entryPath, {
|
|
84
|
+
name: 'Kyroon Enterprise',
|
|
85
|
+
comment: 'Kyroon Enterprise Desktop App',
|
|
86
|
+
binary: target.binary,
|
|
87
|
+
wmClass: 'kyroon_app',
|
|
88
|
+
});
|
|
89
|
+
log.info(`Launcher created: ${entryPath}`);
|
|
90
|
+
}
|
|
91
|
+
// Boot auto-start (login) for both Worker and App — mirrors the Windows
|
|
92
|
+
// Startup folder. Terminal is headless-managed by the Worker, no autostart.
|
|
93
|
+
if (startup && (target.component === 'app' || target.component === 'worker')) {
|
|
94
|
+
const autostartDir = path.join(os.homedir(), '.config', 'autostart');
|
|
95
|
+
await fs.ensureDir(autostartDir);
|
|
96
|
+
const file = target.component === 'app' ? 'kyroon-app.desktop' : 'kyroon-worker.desktop';
|
|
97
|
+
const entryPath = path.join(autostartDir, file);
|
|
98
|
+
await writeDesktopEntry(entryPath, {
|
|
99
|
+
name: labelFor(target.component),
|
|
100
|
+
comment: target.component === 'worker'
|
|
101
|
+
? 'Kyroon Enterprise Worker (starts at login)'
|
|
102
|
+
: 'Kyroon Enterprise App (starts at login)',
|
|
103
|
+
binary: target.binary,
|
|
104
|
+
// The Worker only stays alive on Linux when launched as `run` (bare
|
|
105
|
+
// invocation just prints help and exits). The App is a GUI, no args.
|
|
106
|
+
args: target.component === 'worker' ? ['run'] : undefined,
|
|
107
|
+
autostart: true,
|
|
108
|
+
wmClass: target.component === 'app' ? 'kyroon_app' : undefined,
|
|
109
|
+
});
|
|
110
|
+
log.info(`Autostart: ${entryPath}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function writeDesktopEntry(entryPath, opts) {
|
|
114
|
+
const exec = [`"${opts.binary}"`, ...(opts.args ?? [])].join(' ');
|
|
115
|
+
const lines = [
|
|
64
116
|
'[Desktop Entry]',
|
|
65
117
|
'Type=Application',
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
`Exec
|
|
69
|
-
`Path=${path.dirname(
|
|
118
|
+
`Name=${opts.name}`,
|
|
119
|
+
`Comment=${opts.comment}`,
|
|
120
|
+
`Exec=${exec}`,
|
|
121
|
+
`Path=${path.dirname(opts.binary)}`,
|
|
70
122
|
'Terminal=false',
|
|
71
123
|
'Categories=Development;Utility;',
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
124
|
+
];
|
|
125
|
+
if (opts.wmClass)
|
|
126
|
+
lines.push(`StartupWMClass=${opts.wmClass}`);
|
|
127
|
+
if (opts.autostart) {
|
|
128
|
+
lines.push('X-GNOME-Autostart-enabled=true');
|
|
129
|
+
lines.push('X-KDE-autostart-after=panel');
|
|
130
|
+
}
|
|
131
|
+
lines.push('');
|
|
132
|
+
await fs.writeFile(entryPath, lines.join('\n'), 'utf8');
|
|
76
133
|
await fs.chmod(entryPath, 0o755);
|
|
77
|
-
log.info(`Launcher created: ${entryPath}`);
|
|
78
134
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
135
|
+
// ---------------------------------------------------------------------------
|
|
136
|
+
// macOS
|
|
137
|
+
// ---------------------------------------------------------------------------
|
|
138
|
+
async function createMacShortcut(target, startup) {
|
|
139
|
+
if (target.component === 'app') {
|
|
140
|
+
const appsDir = path.join(os.homedir(), 'Applications');
|
|
141
|
+
await fs.ensureDir(appsDir);
|
|
142
|
+
const linkPath = path.join(appsDir, 'Kyroon Enterprise.app');
|
|
143
|
+
await fs.remove(linkPath);
|
|
144
|
+
await fs.ensureSymlink(target.binary, linkPath);
|
|
145
|
+
log.info(`Shortcut: ${linkPath}`);
|
|
146
|
+
}
|
|
147
|
+
// Boot auto-start (login) via a per-user LaunchAgent for Worker and App.
|
|
148
|
+
if (startup && (target.component === 'app' || target.component === 'worker')) {
|
|
149
|
+
const agentsDir = path.join(os.homedir(), 'Library', 'LaunchAgents');
|
|
150
|
+
await fs.ensureDir(agentsDir);
|
|
151
|
+
const label = target.component === 'app' ? 'ai.kyroon.app' : 'ai.kyroon.worker';
|
|
152
|
+
const plistPath = path.join(agentsDir, `${label}.plist`);
|
|
153
|
+
// The macOS app is a `.app` bundle — launch it through `open`. The Worker
|
|
154
|
+
// must be launched as `run` to stay alive (bare invocation prints help).
|
|
155
|
+
const programArgs = target.component === 'app' && target.binary.endsWith('.app')
|
|
156
|
+
? ` <string>open</string>\n <string>${target.binary}</string>`
|
|
157
|
+
: target.component === 'worker'
|
|
158
|
+
? ` <string>${target.binary}</string>\n <string>run</string>`
|
|
159
|
+
: ` <string>${target.binary}</string>`;
|
|
160
|
+
const plist = [
|
|
161
|
+
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
162
|
+
'<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">',
|
|
163
|
+
'<plist version="1.0">',
|
|
164
|
+
'<dict>',
|
|
165
|
+
' <key>Label</key>',
|
|
166
|
+
` <string>${label}</string>`,
|
|
167
|
+
' <key>ProgramArguments</key>',
|
|
168
|
+
' <array>',
|
|
169
|
+
programArgs,
|
|
170
|
+
' </array>',
|
|
171
|
+
' <key>RunAtLoad</key>',
|
|
172
|
+
' <true/>',
|
|
173
|
+
'</dict>',
|
|
174
|
+
'</plist>',
|
|
175
|
+
'',
|
|
176
|
+
].join('\n');
|
|
177
|
+
await fs.writeFile(plistPath, plist, 'utf8');
|
|
178
|
+
log.info(`LaunchAgent: ${plistPath}`);
|
|
179
|
+
}
|
|
88
180
|
}
|
|
89
181
|
//# sourceMappingURL=shortcuts.js.map
|
package/dist/shortcuts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAQnC
|
|
1
|
+
{"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"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"}
|
package/dist/uninstall.js
CHANGED
|
@@ -45,7 +45,13 @@ async function removeShortcuts() {
|
|
|
45
45
|
path.join(home, 'AppData', 'Roaming', 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup', 'Kyroon App.lnk'),
|
|
46
46
|
path.join(home, 'AppData', 'Roaming', 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup', 'Kyroon Worker.lnk'),
|
|
47
47
|
path.join(home, '.local', 'share', 'applications', 'kyroon-enterprise.desktop'),
|
|
48
|
+
// Linux boot auto-start (XDG autostart).
|
|
49
|
+
path.join(home, '.config', 'autostart', 'kyroon-app.desktop'),
|
|
50
|
+
path.join(home, '.config', 'autostart', 'kyroon-worker.desktop'),
|
|
48
51
|
path.join(home, 'Applications', 'Kyroon Enterprise.app'),
|
|
52
|
+
// macOS boot auto-start (LaunchAgents).
|
|
53
|
+
path.join(home, 'Library', 'LaunchAgents', 'ai.kyroon.app.plist'),
|
|
54
|
+
path.join(home, 'Library', 'LaunchAgents', 'ai.kyroon.worker.plist'),
|
|
49
55
|
];
|
|
50
56
|
for (const candidate of candidates) {
|
|
51
57
|
try {
|
package/dist/uninstall.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/verify.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { InstallResult } from './install.js';
|
|
2
|
+
import type { PlatformInfo } from './types.js';
|
|
3
|
+
export interface VerifyProblem {
|
|
4
|
+
component: string;
|
|
5
|
+
message: string;
|
|
6
|
+
/** Hard problems fail the install; soft problems only warn. */
|
|
7
|
+
hard: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Post-install guarantee: for every installed component confirm that the
|
|
11
|
+
* binary is present (and executable on POSIX), the `installed-version.json`
|
|
12
|
+
* manifest was written, and the per-component updater is in place. Hard
|
|
13
|
+
* failures (missing binary/manifest) abort the install with a clear message
|
|
14
|
+
* instead of leaving a half-installed tree behind.
|
|
15
|
+
*/
|
|
16
|
+
export declare function verifyInstall(result: InstallResult, platform: PlatformInfo): Promise<VerifyProblem[]>;
|
|
17
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsC1B"}
|
package/dist/verify.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import { readInstalledVersion } from './manifest.js';
|
|
4
|
+
import * as log from './logger.js';
|
|
5
|
+
/**
|
|
6
|
+
* Post-install guarantee: for every installed component confirm that the
|
|
7
|
+
* binary is present (and executable on POSIX), the `installed-version.json`
|
|
8
|
+
* manifest was written, and the per-component updater is in place. Hard
|
|
9
|
+
* failures (missing binary/manifest) abort the install with a clear message
|
|
10
|
+
* instead of leaving a half-installed tree behind.
|
|
11
|
+
*/
|
|
12
|
+
export async function verifyInstall(result, platform) {
|
|
13
|
+
const problems = [];
|
|
14
|
+
for (const c of result.components) {
|
|
15
|
+
// 1) Binary present.
|
|
16
|
+
if (!(await fs.pathExists(c.binary))) {
|
|
17
|
+
problems.push({ component: c.name, message: `binary missing: ${c.binary}`, hard: true });
|
|
18
|
+
}
|
|
19
|
+
else if (platform.os !== 'win') {
|
|
20
|
+
// 2) Executable bit on POSIX (zip extraction can drop it).
|
|
21
|
+
try {
|
|
22
|
+
await fs.access(c.binary, fs.constants.X_OK);
|
|
23
|
+
log.success(`${c.name}: ${path.basename(c.binary)} present and executable`);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
problems.push({ component: c.name, message: `binary not executable: ${c.binary}`, hard: true });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
log.success(`${c.name}: ${path.basename(c.binary)} present`);
|
|
31
|
+
}
|
|
32
|
+
// 3) Manifest written (source of truth for the updater).
|
|
33
|
+
const manifest = await readInstalledVersion(c.dir);
|
|
34
|
+
if (!manifest) {
|
|
35
|
+
problems.push({ component: c.name, message: `installed-version.json missing in ${c.dir}`, hard: true });
|
|
36
|
+
}
|
|
37
|
+
// 4) Updater present (soft — some RIDs may not ship it yet).
|
|
38
|
+
const updaterDir = path.join(c.dir, 'updater');
|
|
39
|
+
if (!(await fs.pathExists(updaterDir))) {
|
|
40
|
+
problems.push({ component: c.name, message: `updater/ missing in ${c.dir}`, hard: false });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for (const p of problems) {
|
|
44
|
+
if (p.hard)
|
|
45
|
+
log.error(`${p.component}: ${p.message}`);
|
|
46
|
+
else
|
|
47
|
+
log.warn(`${p.component}: ${p.message}`);
|
|
48
|
+
}
|
|
49
|
+
return problems;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAWnC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAqB,EACrB,QAAsB;IAEtB,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,qBAAqB;QACrB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACjC,2DAA2D;YAC3D,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,qCAAqC,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,CAAC;QAED,6DAA6D;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;;YACjD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the CLI version from the package.json that ships alongside the
|
|
3
|
+
* caller's build (npm always includes package.json in the published tarball).
|
|
4
|
+
* Pass `import.meta.url` from the thin package's `dist/cli.js`, whose
|
|
5
|
+
* package.json lives one level up (`../package.json`). This keeps
|
|
6
|
+
* `<cli> --version` in lockstep with the published version automatically —
|
|
7
|
+
* no hardcoded version to forget on each release.
|
|
8
|
+
*/
|
|
9
|
+
export declare function versionFrom(metaUrl: string): string;
|
|
10
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnD"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
/**
|
|
5
|
+
* Resolves the CLI version from the package.json that ships alongside the
|
|
6
|
+
* caller's build (npm always includes package.json in the published tarball).
|
|
7
|
+
* Pass `import.meta.url` from the thin package's `dist/cli.js`, whose
|
|
8
|
+
* package.json lives one level up (`../package.json`). This keeps
|
|
9
|
+
* `<cli> --version` in lockstep with the published version automatically —
|
|
10
|
+
* no hardcoded version to forget on each release.
|
|
11
|
+
*/
|
|
12
|
+
export function versionFrom(metaUrl) {
|
|
13
|
+
try {
|
|
14
|
+
const dir = dirname(fileURLToPath(metaUrl));
|
|
15
|
+
const pkg = JSON.parse(readFileSync(join(dir, '..', 'package.json'), 'utf8'));
|
|
16
|
+
return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return '0.0.0';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA0B,CAAC;QACvG,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aikyroon/installer-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Shared bootstrap logic for the Kyroon Enterprise NPM installers (version API, download+SHA256, extract, shortcuts, install/uninstall/doctor, Local AI gateway).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|