@fronti/core 1.0.4 → 1.0.6
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.d.ts.map +1 -1
- package/dist/cli.js +55 -18
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +20 -0
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +107 -2
- package/dist/install.js.map +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +3 -2
- package/dist/manifest.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +120 -8
- package/dist/runtime.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -7
- package/runtime/host.bat +0 -2
- package/runtime/host.js +0 -4
- package/runtime/host.sh +0 -3
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":";AAmKA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAM1C"}
|
package/dist/cli.js
CHANGED
|
@@ -9,25 +9,40 @@ const yargs_1 = __importDefault(require("yargs"));
|
|
|
9
9
|
const helpers_1 = require("yargs/helpers");
|
|
10
10
|
const run_1 = require("./run");
|
|
11
11
|
const install_1 = require("./install");
|
|
12
|
+
const constants_1 = require("./constants");
|
|
12
13
|
function hasCommandArguments() {
|
|
13
14
|
return process.argv.length > 2;
|
|
14
15
|
}
|
|
15
16
|
function runInstall(platform, runtimeDir, allowedExtensionIds, options = {}) {
|
|
16
17
|
try {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
// Use smartInstall unless force is specified
|
|
19
|
+
const result = options.force
|
|
20
|
+
? (0, install_1.installNativeHostRuntime)({
|
|
21
|
+
nativeHostPath: runtimeDir,
|
|
22
|
+
platform,
|
|
23
|
+
allowedExtensionIds
|
|
24
|
+
})
|
|
25
|
+
: (0, install_1.smartInstall)({
|
|
26
|
+
nativeHostPath: runtimeDir,
|
|
27
|
+
platform,
|
|
28
|
+
allowedExtensionIds
|
|
29
|
+
});
|
|
22
30
|
if (!options.quiet) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
if (result.usedExisting) {
|
|
32
|
+
console.log(`✔ Native host already installed and up-to-date (v${constants_1.NATIVE_HOST_VERSION})`);
|
|
33
|
+
console.log(` Manifest: ${result.manifestPath}`);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
console.log(`✔ Native host installed (v${constants_1.NATIVE_HOST_VERSION})`);
|
|
37
|
+
console.log(` Manifest: ${result.manifestPath}`);
|
|
38
|
+
console.log(` Runtime: ${runtimeDir}`);
|
|
39
|
+
console.log('You can now use the Fronti Chrome extension.');
|
|
40
|
+
}
|
|
26
41
|
}
|
|
27
42
|
}
|
|
28
43
|
catch (error) {
|
|
29
44
|
if (options.quiet) {
|
|
30
|
-
console.error('[fronti-
|
|
45
|
+
console.error('[fronti-core] Auto-install failed:', error instanceof Error ? error.message : error);
|
|
31
46
|
}
|
|
32
47
|
else {
|
|
33
48
|
throw error;
|
|
@@ -37,7 +52,7 @@ function runInstall(platform, runtimeDir, allowedExtensionIds, options = {}) {
|
|
|
37
52
|
async function runCli() {
|
|
38
53
|
const platform = process.platform;
|
|
39
54
|
await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
40
|
-
.scriptName('fronti-
|
|
55
|
+
.scriptName('fronti-core')
|
|
41
56
|
.command('install', 'Install or update the Fronti native host manifest', (cmd) => cmd
|
|
42
57
|
.option('runtime-dir', {
|
|
43
58
|
type: 'string',
|
|
@@ -47,20 +62,27 @@ async function runCli() {
|
|
|
47
62
|
.option('extensions', {
|
|
48
63
|
type: 'array',
|
|
49
64
|
description: 'Allowed Chrome extension IDs',
|
|
50
|
-
default: ['
|
|
65
|
+
default: ['jojjbmgmggenijlkhjeaiodfoggjcjgj']
|
|
66
|
+
})
|
|
67
|
+
.option('force', {
|
|
68
|
+
type: 'boolean',
|
|
69
|
+
description: 'Force reinstall even if already up-to-date',
|
|
70
|
+
default: false
|
|
51
71
|
}), (args) => {
|
|
52
72
|
const runtimeDir = args['runtime-dir'];
|
|
53
73
|
const allowed = args.extensions.map((id) => id.trim()).filter(Boolean);
|
|
54
|
-
|
|
74
|
+
const force = args.force;
|
|
75
|
+
runInstall(platform, runtimeDir, allowed, { force });
|
|
55
76
|
})
|
|
56
|
-
.command('auto-install', false,
|
|
77
|
+
.command('auto-install', false, // Hidden command for postinstall
|
|
78
|
+
(cmd) => cmd
|
|
57
79
|
.option('runtime-dir', {
|
|
58
80
|
type: 'string',
|
|
59
81
|
default: (0, install_1.getDefaultRuntimeDir)()
|
|
60
82
|
})
|
|
61
83
|
.option('extensions', {
|
|
62
84
|
type: 'array',
|
|
63
|
-
default: ['
|
|
85
|
+
default: ['jojjbmgmggenijlkhjeaiodfoggjcjgj']
|
|
64
86
|
}), (args) => {
|
|
65
87
|
const runtimeDir = args['runtime-dir'];
|
|
66
88
|
const allowed = args.extensions.map((id) => id.trim()).filter(Boolean);
|
|
@@ -73,15 +95,30 @@ async function runCli() {
|
|
|
73
95
|
.command('status', 'Show current native host registration', () => { }, () => {
|
|
74
96
|
const manifestPath = (0, install_1.getRegisteredManifestPath)(platform);
|
|
75
97
|
if (!manifestPath) {
|
|
76
|
-
console.log('Native host: not registered
|
|
98
|
+
console.log('Native host: not registered');
|
|
99
|
+
console.log(`Current version: v${constants_1.NATIVE_HOST_VERSION}`);
|
|
100
|
+
console.log('\nRun "fronti-core install" to register.');
|
|
77
101
|
return;
|
|
78
102
|
}
|
|
79
103
|
const executable = (0, install_1.readManifestExecutable)(manifestPath);
|
|
104
|
+
const needsUpdate = (0, install_1.isInstallNeeded)(platform);
|
|
80
105
|
console.log('Native host: registered');
|
|
81
|
-
console.log(`Manifest
|
|
106
|
+
console.log(`Manifest: ${manifestPath}`);
|
|
82
107
|
console.log(`Executable: ${executable ?? 'unknown'}`);
|
|
108
|
+
console.log(`Current version: v${constants_1.NATIVE_HOST_VERSION}`);
|
|
109
|
+
if (needsUpdate) {
|
|
110
|
+
console.log('\n⚠ Update available. Run "fronti-core install" to update.');
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.log('\n✔ Up-to-date');
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
.command('$0', false, // Default command (hidden) - run as native host daemon
|
|
117
|
+
() => { }, async () => {
|
|
118
|
+
// If run without arguments, act as native host daemon
|
|
119
|
+
// This is for backwards compatibility
|
|
120
|
+
await (0, run_1.runNativeHost)();
|
|
83
121
|
})
|
|
84
|
-
.demandCommand(1)
|
|
85
122
|
.help()
|
|
86
123
|
.parseAsync();
|
|
87
124
|
}
|
|
@@ -94,7 +131,7 @@ async function main() {
|
|
|
94
131
|
}
|
|
95
132
|
}
|
|
96
133
|
main().catch((error) => {
|
|
97
|
-
console.error('[fronti-
|
|
134
|
+
console.error('[fronti-core] Unexpected error:', error);
|
|
98
135
|
process.exit(1);
|
|
99
136
|
});
|
|
100
137
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const NATIVE_HOST_NAME = "com.fronti.core";
|
|
2
2
|
export declare const CONFIG_DIR_NAME = ".fronti";
|
|
3
3
|
export declare const WORKSPACE_CONFIG_FILE = "workspace.json";
|
|
4
|
+
export declare const NATIVE_HOST_DIR_NAME = "native-host";
|
|
5
|
+
export declare const NATIVE_HOST_VERSION = "1.0.6";
|
|
4
6
|
export declare const REGISTRY_PATHS: {
|
|
5
7
|
readonly windows: "HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts\\com.fronti.core";
|
|
6
8
|
readonly darwin: "Library/Application Support/Google/Chrome/NativeMessagingHosts";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAGlD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NATIVE_HOST_FILES = exports.REGISTRY_PATHS = exports.WORKSPACE_CONFIG_FILE = exports.CONFIG_DIR_NAME = exports.NATIVE_HOST_NAME = void 0;
|
|
3
|
+
exports.NATIVE_HOST_FILES = exports.REGISTRY_PATHS = exports.NATIVE_HOST_VERSION = exports.NATIVE_HOST_DIR_NAME = exports.WORKSPACE_CONFIG_FILE = exports.CONFIG_DIR_NAME = exports.NATIVE_HOST_NAME = void 0;
|
|
4
4
|
exports.NATIVE_HOST_NAME = 'com.fronti.core';
|
|
5
5
|
exports.CONFIG_DIR_NAME = '.fronti';
|
|
6
6
|
exports.WORKSPACE_CONFIG_FILE = 'workspace.json';
|
|
7
|
+
exports.NATIVE_HOST_DIR_NAME = 'native-host';
|
|
8
|
+
// Version for smart manifest management
|
|
9
|
+
exports.NATIVE_HOST_VERSION = '1.0.6';
|
|
7
10
|
exports.REGISTRY_PATHS = {
|
|
8
11
|
windows: `HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts\\${exports.NATIVE_HOST_NAME}`,
|
|
9
12
|
darwin: 'Library/Application Support/Google/Chrome/NativeMessagingHosts',
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AACrC,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,qBAAqB,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AACrC,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,qBAAqB,GAAG,gBAAgB,CAAC;AACzC,QAAA,oBAAoB,GAAG,aAAa,CAAC;AAElD,wCAAwC;AAC3B,QAAA,mBAAmB,GAAG,OAAO,CAAC;AAE9B,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yDAAyD,wBAAgB,EAAE;IACpF,MAAM,EAAE,gEAAgE;IACxE,KAAK,EAAE,4CAA4C;CAC3C,CAAC;AAEE,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CACT,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { runNativeHost, terminateActiveProcesses } from './run';
|
|
2
|
-
export { installNativeHostRuntime, uninstallNativeHost, getRegisteredManifestPath, readManifestExecutable, getDefaultRuntimeDir } from './install';
|
|
2
|
+
export { installNativeHostRuntime, smartInstall, isInstallNeeded, uninstallNativeHost, getRegisteredManifestPath, readManifestExecutable, getDefaultRuntimeDir } from './install';
|
|
3
3
|
export { ensureRuntimeFiles } from './runtime';
|
|
4
4
|
export { createManifest } from './manifest';
|
|
5
5
|
export { registerNativeHost, unregisterNativeHost } from './registry';
|
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,aAAa,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtE,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtE,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,12 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.unregisterNativeHost = exports.registerNativeHost = exports.createManifest = exports.ensureRuntimeFiles = exports.getDefaultRuntimeDir = exports.readManifestExecutable = exports.getRegisteredManifestPath = exports.uninstallNativeHost = exports.installNativeHostRuntime = exports.terminateActiveProcesses = exports.runNativeHost = void 0;
|
|
17
|
+
exports.unregisterNativeHost = exports.registerNativeHost = exports.createManifest = exports.ensureRuntimeFiles = exports.getDefaultRuntimeDir = exports.readManifestExecutable = exports.getRegisteredManifestPath = exports.uninstallNativeHost = exports.isInstallNeeded = exports.smartInstall = exports.installNativeHostRuntime = exports.terminateActiveProcesses = exports.runNativeHost = void 0;
|
|
18
18
|
var run_1 = require("./run");
|
|
19
19
|
Object.defineProperty(exports, "runNativeHost", { enumerable: true, get: function () { return run_1.runNativeHost; } });
|
|
20
20
|
Object.defineProperty(exports, "terminateActiveProcesses", { enumerable: true, get: function () { return run_1.terminateActiveProcesses; } });
|
|
21
21
|
var install_1 = require("./install");
|
|
22
22
|
Object.defineProperty(exports, "installNativeHostRuntime", { enumerable: true, get: function () { return install_1.installNativeHostRuntime; } });
|
|
23
|
+
Object.defineProperty(exports, "smartInstall", { enumerable: true, get: function () { return install_1.smartInstall; } });
|
|
24
|
+
Object.defineProperty(exports, "isInstallNeeded", { enumerable: true, get: function () { return install_1.isInstallNeeded; } });
|
|
23
25
|
Object.defineProperty(exports, "uninstallNativeHost", { enumerable: true, get: function () { return install_1.uninstallNativeHost; } });
|
|
24
26
|
Object.defineProperty(exports, "getRegisteredManifestPath", { enumerable: true, get: function () { return install_1.getRegisteredManifestPath; } });
|
|
25
27
|
Object.defineProperty(exports, "readManifestExecutable", { enumerable: true, get: function () { return install_1.readManifestExecutable; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAAgE;AAAvD,oGAAA,aAAa,OAAA;AAAE,+GAAA,wBAAwB,OAAA;AAChD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAAgE;AAAvD,oGAAA,aAAa,OAAA;AAAE,+GAAA,wBAAwB,OAAA;AAChD,qCAQmB;AAPjB,mHAAA,wBAAwB,OAAA;AACxB,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,8GAAA,mBAAmB,OAAA;AACnB,oHAAA,yBAAyB,OAAA;AACzB,iHAAA,sBAAsB,OAAA;AACtB,+GAAA,oBAAoB,OAAA;AAEtB,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAC3B,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,uCAAsE;AAA7D,8GAAA,kBAAkB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AACjD,8CAA4B"}
|
package/dist/install.d.ts
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import type { InstallOptions, InstallResult, Platform } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a fixed system-wide runtime directory that works for both
|
|
4
|
+
* npm global install and VSCode extension installation.
|
|
5
|
+
* Location: ~/.fronti/native-host/
|
|
6
|
+
*/
|
|
2
7
|
export declare function getDefaultRuntimeDir(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Check if installation is needed based on:
|
|
10
|
+
* 1. Manifest doesn't exist
|
|
11
|
+
* 2. Runtime files don't exist
|
|
12
|
+
* 3. Current version is newer than installed version
|
|
13
|
+
*/
|
|
14
|
+
export declare function isInstallNeeded(platform: Platform): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Install or update the native host runtime.
|
|
17
|
+
* Uses smart version checking to avoid unnecessary overwrites.
|
|
18
|
+
*/
|
|
3
19
|
export declare function installNativeHostRuntime(options: InstallOptions): InstallResult;
|
|
20
|
+
/**
|
|
21
|
+
* Smart install - only installs if needed
|
|
22
|
+
*/
|
|
23
|
+
export declare function smartInstall(options: InstallOptions): InstallResult;
|
|
4
24
|
export declare function uninstallNativeHost(platform: Platform): void;
|
|
5
25
|
export declare function getRegisteredManifestPath(platform: Platform): string | null;
|
|
6
26
|
export declare function readManifestExecutable(manifestPath: string): string | null;
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvE,wBAAgB,oBAAoB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAiDD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAgC3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAmB/E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAYnE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE5D;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CA+B3E;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1E"}
|
package/dist/install.js
CHANGED
|
@@ -34,7 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.getDefaultRuntimeDir = getDefaultRuntimeDir;
|
|
37
|
+
exports.isInstallNeeded = isInstallNeeded;
|
|
37
38
|
exports.installNativeHostRuntime = installNativeHostRuntime;
|
|
39
|
+
exports.smartInstall = smartInstall;
|
|
38
40
|
exports.uninstallNativeHost = uninstallNativeHost;
|
|
39
41
|
exports.getRegisteredManifestPath = getRegisteredManifestPath;
|
|
40
42
|
exports.readManifestExecutable = readManifestExecutable;
|
|
@@ -46,22 +48,125 @@ const manifest_1 = require("./manifest");
|
|
|
46
48
|
const registry_1 = require("./registry");
|
|
47
49
|
const runtime_1 = require("./runtime");
|
|
48
50
|
const constants_1 = require("./constants");
|
|
51
|
+
/**
|
|
52
|
+
* Returns a fixed system-wide runtime directory that works for both
|
|
53
|
+
* npm global install and VSCode extension installation.
|
|
54
|
+
* Location: ~/.fronti/native-host/
|
|
55
|
+
*/
|
|
49
56
|
function getDefaultRuntimeDir() {
|
|
50
|
-
|
|
51
|
-
return path.join(packageRoot, 'runtime');
|
|
57
|
+
return path.join(os.homedir(), constants_1.CONFIG_DIR_NAME, constants_1.NATIVE_HOST_DIR_NAME);
|
|
52
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Read the version from an existing manifest
|
|
61
|
+
*/
|
|
62
|
+
function readManifestVersion(manifestPath) {
|
|
63
|
+
try {
|
|
64
|
+
const data = fs.readFileSync(manifestPath, 'utf8');
|
|
65
|
+
const manifest = JSON.parse(data);
|
|
66
|
+
return manifest?.version ?? null;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if the runtime files (host.sh/host.bat, host.js) exist and are valid
|
|
74
|
+
*/
|
|
75
|
+
function runtimeFilesExist(runtimeDir, platform) {
|
|
76
|
+
try {
|
|
77
|
+
const hostJs = path.join(runtimeDir, 'host.js');
|
|
78
|
+
const hostScript = platform === 'win32'
|
|
79
|
+
? path.join(runtimeDir, 'host.bat')
|
|
80
|
+
: path.join(runtimeDir, 'host.sh');
|
|
81
|
+
return fs.existsSync(hostJs) && fs.existsSync(hostScript);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Compare semantic versions. Returns:
|
|
89
|
+
* - positive if v1 > v2
|
|
90
|
+
* - negative if v1 < v2
|
|
91
|
+
* - 0 if equal
|
|
92
|
+
*/
|
|
93
|
+
function compareVersions(v1, v2) {
|
|
94
|
+
const parts1 = v1.split('.').map(Number);
|
|
95
|
+
const parts2 = v2.split('.').map(Number);
|
|
96
|
+
for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
|
|
97
|
+
const p1 = parts1[i] || 0;
|
|
98
|
+
const p2 = parts2[i] || 0;
|
|
99
|
+
if (p1 !== p2)
|
|
100
|
+
return p1 - p2;
|
|
101
|
+
}
|
|
102
|
+
return 0;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Check if installation is needed based on:
|
|
106
|
+
* 1. Manifest doesn't exist
|
|
107
|
+
* 2. Runtime files don't exist
|
|
108
|
+
* 3. Current version is newer than installed version
|
|
109
|
+
*/
|
|
110
|
+
function isInstallNeeded(platform) {
|
|
111
|
+
const manifestPath = getRegisteredManifestPath(platform);
|
|
112
|
+
// No manifest registered - need to install
|
|
113
|
+
if (!manifestPath) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
// Check if manifest file actually exists
|
|
117
|
+
if (!fs.existsSync(manifestPath)) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
// Read manifest to get runtime path
|
|
121
|
+
const executablePath = readManifestExecutable(manifestPath);
|
|
122
|
+
if (!executablePath) {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
// Check if runtime directory exists (parent of executable)
|
|
126
|
+
const runtimeDir = path.dirname(executablePath);
|
|
127
|
+
if (!runtimeFilesExist(runtimeDir, platform)) {
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
// Check version - install if current version is newer
|
|
131
|
+
const installedVersion = readManifestVersion(manifestPath);
|
|
132
|
+
if (!installedVersion) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
return compareVersions(constants_1.NATIVE_HOST_VERSION, installedVersion) > 0;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Install or update the native host runtime.
|
|
139
|
+
* Uses smart version checking to avoid unnecessary overwrites.
|
|
140
|
+
*/
|
|
53
141
|
function installNativeHostRuntime(options) {
|
|
54
142
|
const { nativeHostPath, platform, allowedExtensionIds } = options;
|
|
143
|
+
// Create runtime directory and files
|
|
55
144
|
(0, runtime_1.ensureRuntimeFiles)(nativeHostPath, platform);
|
|
145
|
+
// Create manifest with version
|
|
56
146
|
const manifestPath = path.join(nativeHostPath, 'manifest.json');
|
|
57
147
|
const manifest = (0, manifest_1.createManifest)(nativeHostPath, platform, allowedExtensionIds);
|
|
58
148
|
fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), { encoding: 'utf8' });
|
|
149
|
+
// Register with Chrome
|
|
59
150
|
(0, registry_1.registerNativeHost)(manifestPath, platform);
|
|
60
151
|
return {
|
|
61
152
|
manifestPath,
|
|
62
153
|
usedExisting: false
|
|
63
154
|
};
|
|
64
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Smart install - only installs if needed
|
|
158
|
+
*/
|
|
159
|
+
function smartInstall(options) {
|
|
160
|
+
const { platform } = options;
|
|
161
|
+
if (!isInstallNeeded(platform)) {
|
|
162
|
+
const existingManifest = getRegisteredManifestPath(platform);
|
|
163
|
+
return {
|
|
164
|
+
manifestPath: existingManifest,
|
|
165
|
+
usedExisting: true
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
return installNativeHostRuntime(options);
|
|
169
|
+
}
|
|
65
170
|
function uninstallNativeHost(platform) {
|
|
66
171
|
(0, registry_1.unregisterNativeHost)(platform);
|
|
67
172
|
}
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5D,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAC7B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5D,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAC7B,kBAAkB,CAmBpB"}
|
package/dist/manifest.js
CHANGED
|
@@ -42,13 +42,14 @@ function createManifest(nativeHostPath, platform, allowedExtensionIds) {
|
|
|
42
42
|
: path.join(nativeHostPath, constants_1.NATIVE_HOST_FILES.unix);
|
|
43
43
|
const extensionIds = allowedExtensionIds && allowedExtensionIds.length > 0
|
|
44
44
|
? allowedExtensionIds
|
|
45
|
-
: ['
|
|
45
|
+
: ['jojjbmgmggenijlkhjeaiodfoggjcjgj'];
|
|
46
46
|
return {
|
|
47
47
|
name: constants_1.NATIVE_HOST_NAME,
|
|
48
48
|
description: 'Fronti Core - Bridge component for browser, VS Code, and Claude Code',
|
|
49
49
|
path: hostExecutable,
|
|
50
50
|
type: 'stdio',
|
|
51
|
-
allowed_origins: extensionIds.map((id) => `chrome-extension://${id}/`)
|
|
51
|
+
allowed_origins: extensionIds.map((id) => `chrome-extension://${id}/`),
|
|
52
|
+
version: constants_1.NATIVE_HOST_VERSION
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
55
|
//# sourceMappingURL=manifest.js.map
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wCAuBC;AA3BD,2CAA6B;AAC7B,2CAAuF;AAGvF,SAAgB,cAAc,CAC5B,cAAsB,EACtB,QAAkB,EAClB,mBAA8B;IAE9B,MAAM,cAAc,GAClB,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,6BAAiB,CAAC,OAAO,CAAC;QACtD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,6BAAiB,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,YAAY,GAChB,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;QACnD,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAE3C,OAAO;QACL,IAAI,EAAE,4BAAgB;QACtB,WAAW,EAAE,sEAAsE;QACnF,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;QACb,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,EAAE,GAAG,CAAC;QACtE,OAAO,EAAE,+BAAmB;KAC7B,CAAC;AACJ,CAAC"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiIxC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA+B9E"}
|
package/dist/runtime.js
CHANGED
|
@@ -36,18 +36,126 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.ensureRuntimeFiles = ensureRuntimeFiles;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
/**
|
|
40
|
+
* Host.js content - uses relative path to dist folder
|
|
41
|
+
* which will be copied alongside host.js
|
|
42
|
+
*/
|
|
39
43
|
const HOST_JS_CONTENT = `#!/usr/bin/env node
|
|
40
|
-
const { runNativeHost } = require('
|
|
44
|
+
const { runNativeHost } = require('./dist/index.js');
|
|
41
45
|
|
|
42
46
|
runNativeHost();
|
|
43
47
|
`;
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Windows batch file - dynamically finds Node.js
|
|
50
|
+
* Priority: 1) Common install paths, 2) PATH lookup
|
|
51
|
+
*/
|
|
52
|
+
function buildHostBat() {
|
|
53
|
+
return `@echo off
|
|
54
|
+
setlocal enabledelayedexpansion
|
|
55
|
+
|
|
56
|
+
REM Try common Node.js installation paths first
|
|
57
|
+
set "NODE_PATHS=C:\\Program Files\\nodejs\\node.exe;C:\\Program Files (x86)\\nodejs\\node.exe;%LOCALAPPDATA%\\Programs\\nodejs\\node.exe;%APPDATA%\\nvm\\current\\node.exe"
|
|
58
|
+
|
|
59
|
+
for %%p in (%NODE_PATHS%) do (
|
|
60
|
+
if exist "%%p" (
|
|
61
|
+
set "NODE_BIN=%%p"
|
|
62
|
+
goto :found
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
REM Fall back to PATH lookup
|
|
67
|
+
where node >nul 2>&1
|
|
68
|
+
if %ERRORLEVEL% equ 0 (
|
|
69
|
+
for /f "delims=" %%i in ('where node') do (
|
|
70
|
+
set "NODE_BIN=%%i"
|
|
71
|
+
goto :found
|
|
72
|
+
)
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
echo Fronti: Node.js not found. Please install Node.js 18+ >&2
|
|
76
|
+
exit /b 1
|
|
77
|
+
|
|
78
|
+
:found
|
|
79
|
+
"%NODE_BIN%" "%~dp0host.js" %*
|
|
46
80
|
`;
|
|
47
|
-
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Unix shell script - dynamically finds Node.js
|
|
84
|
+
* Priority: 1) PATH lookup, 2) Common install paths
|
|
85
|
+
*/
|
|
86
|
+
function buildHostSh() {
|
|
87
|
+
return `#!/usr/bin/env bash
|
|
88
|
+
set -e
|
|
89
|
+
|
|
48
90
|
DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
|
|
49
|
-
|
|
91
|
+
|
|
92
|
+
# Try to find Node.js dynamically
|
|
93
|
+
find_node() {
|
|
94
|
+
# First try PATH
|
|
95
|
+
if command -v node >/dev/null 2>&1; then
|
|
96
|
+
command -v node
|
|
97
|
+
return 0
|
|
98
|
+
fi
|
|
99
|
+
|
|
100
|
+
# Try common installation paths
|
|
101
|
+
local paths=(
|
|
102
|
+
"/usr/local/bin/node"
|
|
103
|
+
"/usr/bin/node"
|
|
104
|
+
"$HOME/.nvm/current/bin/node"
|
|
105
|
+
"$HOME/.volta/bin/node"
|
|
106
|
+
"$HOME/.asdf/shims/node"
|
|
107
|
+
"/opt/homebrew/bin/node"
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
for p in "\${paths[@]}"; do
|
|
111
|
+
if [ -x "$p" ]; then
|
|
112
|
+
echo "$p"
|
|
113
|
+
return 0
|
|
114
|
+
fi
|
|
115
|
+
done
|
|
116
|
+
|
|
117
|
+
# Try nvm if available
|
|
118
|
+
if [ -f "$HOME/.nvm/nvm.sh" ]; then
|
|
119
|
+
source "$HOME/.nvm/nvm.sh" >/dev/null 2>&1
|
|
120
|
+
if command -v node >/dev/null 2>&1; then
|
|
121
|
+
command -v node
|
|
122
|
+
return 0
|
|
123
|
+
fi
|
|
124
|
+
fi
|
|
125
|
+
|
|
126
|
+
return 1
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
NODE_BIN="$(find_node)" || {
|
|
130
|
+
echo "Fronti: Node.js not found. Please install Node.js 18+" >&2
|
|
131
|
+
exit 1
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
exec "$NODE_BIN" "\${DIR}/host.js"
|
|
50
135
|
`;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Copy the dist folder to target directory
|
|
139
|
+
*/
|
|
140
|
+
function copyDistFolder(targetDir) {
|
|
141
|
+
const sourceDistDir = path.resolve(__dirname);
|
|
142
|
+
const targetDistDir = path.join(targetDir, 'dist');
|
|
143
|
+
if (!fs.existsSync(targetDistDir)) {
|
|
144
|
+
fs.mkdirSync(targetDistDir, { recursive: true });
|
|
145
|
+
}
|
|
146
|
+
// Copy all .js files from source dist to target dist
|
|
147
|
+
const files = fs.readdirSync(sourceDistDir);
|
|
148
|
+
for (const file of files) {
|
|
149
|
+
if (file.endsWith('.js') || file.endsWith('.json')) {
|
|
150
|
+
const sourcePath = path.join(sourceDistDir, file);
|
|
151
|
+
const targetPath = path.join(targetDistDir, file);
|
|
152
|
+
// Only copy files, not directories
|
|
153
|
+
if (fs.statSync(sourcePath).isFile()) {
|
|
154
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
51
159
|
function ensureRuntimeFiles(targetDir, platform) {
|
|
52
160
|
if (!fs.existsSync(targetDir)) {
|
|
53
161
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
@@ -55,14 +163,18 @@ function ensureRuntimeFiles(targetDir, platform) {
|
|
|
55
163
|
const hostJsPath = path.join(targetDir, 'host.js');
|
|
56
164
|
const hostBatPath = path.join(targetDir, 'host.bat');
|
|
57
165
|
const hostShPath = path.join(targetDir, 'host.sh');
|
|
166
|
+
// Write host files with dynamic Node.js resolution
|
|
58
167
|
fs.writeFileSync(hostJsPath, HOST_JS_CONTENT, { encoding: 'utf8' });
|
|
59
|
-
fs.writeFileSync(hostBatPath,
|
|
60
|
-
fs.writeFileSync(hostShPath,
|
|
168
|
+
fs.writeFileSync(hostBatPath, buildHostBat(), { encoding: 'utf8' });
|
|
169
|
+
fs.writeFileSync(hostShPath, buildHostSh(), { encoding: 'utf8' });
|
|
170
|
+
// Copy dist folder so host.js can require it
|
|
171
|
+
copyDistFolder(targetDir);
|
|
172
|
+
// Set executable permissions
|
|
61
173
|
try {
|
|
62
174
|
fs.chmodSync(hostJsPath, 0o755);
|
|
63
175
|
}
|
|
64
176
|
catch {
|
|
65
|
-
// Ignore
|
|
177
|
+
// Ignore permission errors on Windows
|
|
66
178
|
}
|
|
67
179
|
if (platform !== 'win32') {
|
|
68
180
|
try {
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fronti/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Visual-first AI coding agent for local codebases. Select elements in browser, describe changes, agent applies edits.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,16 +8,12 @@
|
|
|
8
8
|
"fronti-core": "dist/cli.js"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
|
-
"dist"
|
|
12
|
-
"runtime/host.bat",
|
|
13
|
-
"runtime/host.js",
|
|
14
|
-
"runtime/host.sh"
|
|
11
|
+
"dist"
|
|
15
12
|
],
|
|
16
13
|
"scripts": {
|
|
17
14
|
"build": "tsc -p ./tsconfig.json",
|
|
18
15
|
"clean": "rimraf dist",
|
|
19
|
-
"prepare": "npm run build"
|
|
20
|
-
"postinstall": "node ./dist/cli.js auto-install || true"
|
|
16
|
+
"prepare": "npm run build && node ./dist/cli.js auto-install || true"
|
|
21
17
|
},
|
|
22
18
|
"keywords": [
|
|
23
19
|
"fronti",
|
package/runtime/host.bat
DELETED
package/runtime/host.js
DELETED
package/runtime/host.sh
DELETED