@redplanethq/corebrain 1.0.0 → 2.1.0
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/commands/browser/close.d.ts +10 -0
- package/dist/commands/browser/close.d.ts.map +1 -0
- package/dist/commands/browser/close.js +60 -0
- package/dist/commands/browser/close.js.map +1 -0
- package/dist/commands/browser/command.d.ts +10 -0
- package/dist/commands/browser/command.d.ts.map +1 -0
- package/dist/commands/browser/command.js +67 -0
- package/dist/commands/browser/command.js.map +1 -0
- package/dist/commands/browser/create-profile.d.ts +10 -0
- package/dist/commands/browser/create-profile.d.ts.map +1 -0
- package/dist/commands/browser/create-profile.js +29 -0
- package/dist/commands/browser/create-profile.js.map +1 -0
- package/dist/commands/browser/delete-profile.d.ts +10 -0
- package/dist/commands/browser/delete-profile.d.ts.map +1 -0
- package/dist/commands/browser/delete-profile.js +27 -0
- package/dist/commands/browser/delete-profile.js.map +1 -0
- package/dist/commands/browser/install.d.ts +8 -0
- package/dist/commands/browser/install.d.ts.map +1 -0
- package/dist/commands/browser/install.js +49 -0
- package/dist/commands/browser/install.js.map +1 -0
- package/dist/commands/browser/open.d.ts +12 -0
- package/dist/commands/browser/open.d.ts.map +1 -0
- package/dist/commands/browser/open.js +65 -0
- package/dist/commands/browser/open.js.map +1 -0
- package/dist/commands/browser/status.d.ts +8 -0
- package/dist/commands/browser/status.d.ts.map +1 -0
- package/dist/commands/browser/status.js +48 -0
- package/dist/commands/browser/status.js.map +1 -0
- package/dist/commands/coding/[agent]/config.d.ts +18 -0
- package/dist/commands/coding/[agent]/config.d.ts.map +1 -0
- package/dist/commands/coding/[agent]/config.js +91 -0
- package/dist/commands/coding/[agent]/config.js.map +1 -0
- package/dist/commands/coding/config.d.ts +23 -0
- package/dist/commands/coding/config.d.ts.map +1 -0
- package/dist/commands/coding/config.js +116 -0
- package/dist/commands/coding/config.js.map +1 -0
- package/dist/commands/coding/index.d.ts +8 -0
- package/dist/commands/coding/index.d.ts.map +1 -0
- package/dist/commands/coding/index.js +42 -0
- package/dist/commands/coding/index.js.map +1 -0
- package/dist/commands/coding/remove.d.ts +10 -0
- package/dist/commands/coding/remove.d.ts.map +1 -0
- package/dist/commands/coding/remove.js +37 -0
- package/dist/commands/coding/remove.js.map +1 -0
- package/dist/commands/coding/setup.d.ts +8 -0
- package/dist/commands/coding/setup.d.ts.map +1 -0
- package/dist/commands/coding/setup.js +114 -0
- package/dist/commands/coding/setup.js.map +1 -0
- package/dist/commands/exec/config.d.ts +14 -0
- package/dist/commands/exec/config.d.ts.map +1 -0
- package/dist/commands/exec/config.js +79 -0
- package/dist/commands/exec/config.js.map +1 -0
- package/dist/commands/gateway/config.d.ts +8 -0
- package/dist/commands/gateway/config.d.ts.map +1 -0
- package/dist/commands/gateway/config.js +192 -0
- package/dist/commands/gateway/config.js.map +1 -0
- package/dist/commands/gateway/index.d.ts +14 -0
- package/dist/commands/gateway/index.d.ts.map +1 -0
- package/dist/commands/gateway/index.js +10 -0
- package/dist/commands/gateway/index.js.map +1 -0
- package/dist/commands/gateway/off.d.ts +8 -0
- package/dist/commands/gateway/off.d.ts.map +1 -0
- package/dist/commands/gateway/off.js +70 -0
- package/dist/commands/gateway/off.js.map +1 -0
- package/dist/commands/gateway/on.d.ts +8 -0
- package/dist/commands/gateway/on.d.ts.map +1 -0
- package/dist/commands/gateway/on.js +135 -0
- package/dist/commands/gateway/on.js.map +1 -0
- package/dist/commands/gateway/restart.d.ts +8 -0
- package/dist/commands/gateway/restart.d.ts.map +1 -0
- package/dist/commands/gateway/restart.js +70 -0
- package/dist/commands/gateway/restart.js.map +1 -0
- package/dist/commands/gateway/status.d.ts +8 -0
- package/dist/commands/gateway/status.d.ts.map +1 -0
- package/dist/commands/gateway/status.js +98 -0
- package/dist/commands/gateway/status.js.map +1 -0
- package/dist/commands/gateway/uninstall.d.ts +8 -0
- package/dist/commands/gateway/uninstall.d.ts.map +1 -0
- package/dist/commands/gateway/uninstall.js +80 -0
- package/dist/commands/gateway/uninstall.js.map +1 -0
- package/dist/commands/index.d.ts +1 -5
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/logout.d.ts +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/me.d.ts +1 -1
- package/dist/commands/me.d.ts.map +1 -1
- package/dist/commands/server.d.ts +10 -0
- package/dist/commands/server.d.ts.map +1 -0
- package/dist/commands/server.js +60 -0
- package/dist/commands/server.js.map +1 -0
- package/dist/commands/token.d.ts +1 -1
- package/dist/commands/token.d.ts.map +1 -1
- package/dist/components/error-message.d.ts.map +1 -1
- package/dist/components/error-message.js +6 -1
- package/dist/components/error-message.js.map +1 -1
- package/dist/components/info-message.d.ts.map +1 -1
- package/dist/components/info-message.js +5 -1
- package/dist/components/info-message.js.map +1 -1
- package/dist/components/success-message.d.ts.map +1 -1
- package/dist/components/success-message.js +5 -1
- package/dist/components/success-message.js.map +1 -1
- package/dist/components/warning-message.d.ts +2 -3
- package/dist/components/warning-message.d.ts.map +1 -1
- package/dist/components/warning-message.js +10 -4
- package/dist/components/warning-message.js.map +1 -1
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +31 -30
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +4 -36
- package/dist/config/paths.js.map +1 -1
- package/dist/config/preferences.d.ts +14 -0
- package/dist/config/preferences.d.ts.map +1 -0
- package/dist/config/preferences.js +82 -0
- package/dist/config/preferences.js.map +1 -0
- package/dist/config/themes.d.ts +5 -0
- package/dist/config/themes.d.ts.map +1 -1
- package/dist/config/themes.js +5 -0
- package/dist/config/themes.js.map +1 -1
- package/dist/server/gateway-client.d.ts +80 -0
- package/dist/server/gateway-client.d.ts.map +1 -0
- package/dist/server/gateway-client.js +280 -0
- package/dist/server/gateway-client.js.map +1 -0
- package/dist/server/gateway-entry.d.ts +7 -0
- package/dist/server/gateway-entry.d.ts.map +1 -0
- package/dist/server/gateway-entry.js +138 -0
- package/dist/server/gateway-entry.js.map +1 -0
- package/dist/server/gateway.d.ts +5 -0
- package/dist/server/gateway.d.ts.map +1 -0
- package/dist/server/gateway.js +136 -0
- package/dist/server/gateway.js.map +1 -0
- package/dist/server/tools/browser-tools.d.ts +28 -0
- package/dist/server/tools/browser-tools.d.ts.map +1 -0
- package/dist/server/tools/browser-tools.js +179 -0
- package/dist/server/tools/browser-tools.js.map +1 -0
- package/dist/server/tools/coding-tools.d.ts +27 -0
- package/dist/server/tools/coding-tools.d.ts.map +1 -0
- package/dist/server/tools/coding-tools.js +345 -0
- package/dist/server/tools/coding-tools.js.map +1 -0
- package/dist/server/tools/exec-tools.d.ts +14 -0
- package/dist/server/tools/exec-tools.d.ts.map +1 -0
- package/dist/server/tools/exec-tools.js +203 -0
- package/dist/server/tools/exec-tools.js.map +1 -0
- package/dist/types/config.d.ts +36 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/agent-browser.d.ts +63 -0
- package/dist/utils/agent-browser.d.ts.map +1 -0
- package/dist/utils/agent-browser.js +301 -0
- package/dist/utils/agent-browser.js.map +1 -0
- package/dist/utils/coding-runner.d.ts +60 -0
- package/dist/utils/coding-runner.d.ts.map +1 -0
- package/dist/utils/coding-runner.js +174 -0
- package/dist/utils/coding-runner.js.map +1 -0
- package/dist/utils/coding-sessions.d.ts +61 -0
- package/dist/utils/coding-sessions.d.ts.map +1 -0
- package/dist/utils/coding-sessions.js +112 -0
- package/dist/utils/coding-sessions.js.map +1 -0
- package/dist/utils/process.d.ts +22 -0
- package/dist/utils/process.d.ts.map +1 -0
- package/dist/utils/process.js +81 -0
- package/dist/utils/process.js.map +1 -0
- package/dist/utils/service-manager/index.d.ts +49 -0
- package/dist/utils/service-manager/index.d.ts.map +1 -0
- package/dist/utils/service-manager/index.js +137 -0
- package/dist/utils/service-manager/index.js.map +1 -0
- package/dist/utils/service-manager/launchd.d.ts +31 -0
- package/dist/utils/service-manager/launchd.d.ts.map +1 -0
- package/dist/utils/service-manager/launchd.js +208 -0
- package/dist/utils/service-manager/launchd.js.map +1 -0
- package/dist/utils/service-manager/systemd.d.ts +31 -0
- package/dist/utils/service-manager/systemd.d.ts.map +1 -0
- package/dist/utils/service-manager/systemd.js +187 -0
- package/dist/utils/service-manager/systemd.js.map +1 -0
- package/dist/utils/tmux.d.ts +37 -0
- package/dist/utils/tmux.d.ts.map +1 -0
- package/dist/utils/tmux.js +96 -0
- package/dist/utils/tmux.js.map +1 -0
- package/package.json +15 -12
package/dist/config/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
2
2
|
import { join, dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
-
import { homedir } from 'os';
|
|
5
4
|
import { config as loadEnv } from 'dotenv';
|
|
6
5
|
import { logError } from '../utils/message-queue.js';
|
|
7
6
|
import { getThemeColors, defaultTheme } from '../config/themes.js';
|
|
@@ -22,28 +21,45 @@ if (existsSync(envPath)) {
|
|
|
22
21
|
}
|
|
23
22
|
// Hold a map of what config files are where
|
|
24
23
|
export const confDirMap = {};
|
|
24
|
+
/**
|
|
25
|
+
* Get the config.json file path, creating it if it doesn't exist
|
|
26
|
+
*/
|
|
27
|
+
export function getConfigFilePath() {
|
|
28
|
+
const configDir = getConfigPath();
|
|
29
|
+
const configPath = join(configDir, 'config.json');
|
|
30
|
+
// Ensure directory exists
|
|
31
|
+
if (!existsSync(configDir)) {
|
|
32
|
+
mkdirSync(configDir, { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
// Create config file if it doesn't exist
|
|
35
|
+
if (!existsSync(configPath)) {
|
|
36
|
+
writeFileSync(configPath, JSON.stringify({}, null, 2), 'utf-8');
|
|
37
|
+
}
|
|
38
|
+
confDirMap['config.json'] = configPath;
|
|
39
|
+
return configPath;
|
|
40
|
+
}
|
|
25
41
|
// Find the closest config file for the requested configuration file
|
|
42
|
+
// Now simplified - always uses ~/.corebrain/config.json
|
|
26
43
|
export function getClosestConfigFile(fileName) {
|
|
27
44
|
try {
|
|
28
45
|
const configDir = getConfigPath();
|
|
29
|
-
// First,
|
|
46
|
+
// First, check for a working directory config (for local overrides)
|
|
30
47
|
if (existsSync(join(process.cwd(), fileName))) {
|
|
31
48
|
confDirMap[fileName] = join(process.cwd(), fileName);
|
|
32
49
|
return join(process.cwd(), fileName);
|
|
33
50
|
}
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
51
|
+
// Use ~/.corebrain directory
|
|
52
|
+
const configPath = join(configDir, fileName);
|
|
53
|
+
// Ensure directory exists
|
|
54
|
+
if (!existsSync(configDir)) {
|
|
55
|
+
mkdirSync(configDir, { recursive: true });
|
|
39
56
|
}
|
|
40
|
-
// Last, lets look for an user level config.
|
|
41
57
|
// If the file doesn't exist, create it
|
|
42
|
-
if (!existsSync(
|
|
43
|
-
|
|
58
|
+
if (!existsSync(configPath)) {
|
|
59
|
+
writeFileSync(configPath, JSON.stringify({}, null, 2), 'utf-8');
|
|
44
60
|
}
|
|
45
|
-
confDirMap[fileName] =
|
|
46
|
-
return
|
|
61
|
+
confDirMap[fileName] = configPath;
|
|
62
|
+
return configPath;
|
|
47
63
|
}
|
|
48
64
|
catch (error) {
|
|
49
65
|
logError(`Failed to load ${fileName}: ${String(error)}`);
|
|
@@ -51,24 +67,9 @@ export function getClosestConfigFile(fileName) {
|
|
|
51
67
|
// The code should never hit this, but it makes the TS compiler happy.
|
|
52
68
|
return fileName;
|
|
53
69
|
}
|
|
54
|
-
function createDefaultConfFile(filePath, fileName) {
|
|
55
|
-
try {
|
|
56
|
-
// If we cant find any, lets assume this is the first user run, create the
|
|
57
|
-
// correct file and direct the user to configure them correctly,
|
|
58
|
-
if (!existsSync(join(filePath, fileName))) {
|
|
59
|
-
// Maybe add a better sample config?
|
|
60
|
-
const sampleConfig = {};
|
|
61
|
-
mkdirSync(filePath, { recursive: true });
|
|
62
|
-
writeFileSync(join(filePath, fileName), JSON.stringify(sampleConfig, null, 2), 'utf-8');
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
logError(`Failed to write ${filePath}: ${String(error)}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
70
|
// Function to load app configuration from config.json if it exists
|
|
70
71
|
function loadAppConfig() {
|
|
71
|
-
const configJsonPath =
|
|
72
|
+
const configJsonPath = getConfigFilePath();
|
|
72
73
|
try {
|
|
73
74
|
const rawData = readFileSync(configJsonPath, 'utf-8');
|
|
74
75
|
const configData = JSON.parse(rawData);
|
|
@@ -93,7 +94,7 @@ export function getConfig() {
|
|
|
93
94
|
}
|
|
94
95
|
// Function to update app configuration
|
|
95
96
|
export function updateConfig(newConfig) {
|
|
96
|
-
const configJsonPath =
|
|
97
|
+
const configJsonPath = getConfigFilePath();
|
|
97
98
|
try {
|
|
98
99
|
// Read current config
|
|
99
100
|
const rawData = readFileSync(configJsonPath, 'utf-8');
|
|
@@ -103,7 +104,7 @@ export function updateConfig(newConfig) {
|
|
|
103
104
|
configData.core = {};
|
|
104
105
|
}
|
|
105
106
|
Object.assign(configData.core, newConfig);
|
|
106
|
-
// Write back to file
|
|
107
|
+
// Write back to file (preserving preferences)
|
|
107
108
|
writeFileSync(configJsonPath, JSON.stringify(configData, null, 2), 'utf-8');
|
|
108
109
|
// Reload config to update in-memory cache
|
|
109
110
|
reloadAppConfig();
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,IAAI,CAAC;AACtE,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAClC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,IAAI,MAAM,CAOvC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAOtC"}
|
package/dist/config/paths.js
CHANGED
|
@@ -1,51 +1,19 @@
|
|
|
1
1
|
import { homedir } from 'os';
|
|
2
2
|
import { join } from 'path';
|
|
3
|
+
// Single config directory for all platforms: ~/.corebrain
|
|
4
|
+
const CONFIG_DIR = join(homedir(), '.corebrain');
|
|
3
5
|
export function getAppDataPath() {
|
|
4
6
|
// Allow explicit override via environment variable
|
|
5
7
|
if (process.env.CORE_DATA_DIR) {
|
|
6
8
|
return process.env.CORE_DATA_DIR;
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
if (process.env.XDG_DATA_HOME) {
|
|
10
|
-
return join(process.env.XDG_DATA_HOME, 'core');
|
|
11
|
-
}
|
|
12
|
-
// Platform-specific app data directories
|
|
13
|
-
let baseAppDataPath;
|
|
14
|
-
switch (process.platform) {
|
|
15
|
-
case 'win32': {
|
|
16
|
-
baseAppDataPath =
|
|
17
|
-
process.env.APPDATA ?? join(homedir(), 'AppData', 'Roaming');
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
case 'darwin': {
|
|
21
|
-
baseAppDataPath = join(homedir(), 'Library', 'Application Support');
|
|
22
|
-
break;
|
|
23
|
-
}
|
|
24
|
-
default: {
|
|
25
|
-
baseAppDataPath = join(homedir(), '.local', 'share');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return join(baseAppDataPath, 'core');
|
|
10
|
+
return CONFIG_DIR;
|
|
29
11
|
}
|
|
30
12
|
export function getConfigPath() {
|
|
31
13
|
// Allow explicit override via environment variable
|
|
32
14
|
if (process.env.CORE_CONFIG_DIR) {
|
|
33
15
|
return process.env.CORE_CONFIG_DIR;
|
|
34
16
|
}
|
|
35
|
-
|
|
36
|
-
let baseConfigPath;
|
|
37
|
-
switch (process.platform) {
|
|
38
|
-
case 'win32':
|
|
39
|
-
baseConfigPath =
|
|
40
|
-
process.env.APPDATA ?? join(homedir(), 'AppData', 'Roaming');
|
|
41
|
-
break;
|
|
42
|
-
case 'darwin':
|
|
43
|
-
baseConfigPath = join(homedir(), 'Library', 'Preferences');
|
|
44
|
-
break;
|
|
45
|
-
default:
|
|
46
|
-
baseConfigPath =
|
|
47
|
-
process.env.XDG_CONFIG_HOME ?? join(homedir(), '.config');
|
|
48
|
-
}
|
|
49
|
-
return join(baseConfigPath, 'core');
|
|
17
|
+
return CONFIG_DIR;
|
|
50
18
|
}
|
|
51
19
|
//# sourceMappingURL=paths.js.map
|
package/dist/config/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAE1B,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAE1B,0DAA0D;AAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AAEjD,MAAM,UAAU,cAAc;IAC7B,mDAAmD;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,mDAAmD;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACpC,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { UserPreferences } from '../types/config.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get current user preferences
|
|
4
|
+
*/
|
|
5
|
+
export declare function getPreferences(): UserPreferences;
|
|
6
|
+
/**
|
|
7
|
+
* Update user preferences
|
|
8
|
+
*/
|
|
9
|
+
export declare function updatePreferences(newPreferences: Partial<UserPreferences>): void;
|
|
10
|
+
/**
|
|
11
|
+
* Reload preferences from disk (useful after external changes)
|
|
12
|
+
*/
|
|
13
|
+
export declare function reloadPreferences(): void;
|
|
14
|
+
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/config/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAyDtD;;GAEG;AACH,wBAAgB,cAAc,IAAI,eAAe,CAKhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAsBhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { getConfigPath } from '../config/paths.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get the config.json file path
|
|
6
|
+
*/
|
|
7
|
+
function getConfigFilePath() {
|
|
8
|
+
const configDir = getConfigPath();
|
|
9
|
+
return join(configDir, 'config.json');
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Ensure config directory and file exist
|
|
13
|
+
*/
|
|
14
|
+
function ensureConfigFile() {
|
|
15
|
+
const configDir = getConfigPath();
|
|
16
|
+
const configPath = join(configDir, 'config.json');
|
|
17
|
+
// Create directory if it doesn't exist
|
|
18
|
+
if (!existsSync(configDir)) {
|
|
19
|
+
mkdirSync(configDir, { recursive: true });
|
|
20
|
+
}
|
|
21
|
+
// Create config file if it doesn't exist
|
|
22
|
+
if (!existsSync(configPath)) {
|
|
23
|
+
writeFileSync(configPath, JSON.stringify({}, null, 2), 'utf-8');
|
|
24
|
+
}
|
|
25
|
+
return configPath;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Load full config from config.json
|
|
29
|
+
*/
|
|
30
|
+
function loadFullConfig() {
|
|
31
|
+
const configPath = ensureConfigFile();
|
|
32
|
+
try {
|
|
33
|
+
const rawData = readFileSync(configPath, 'utf-8');
|
|
34
|
+
return JSON.parse(rawData);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Load user preferences from config.json (under "preferences" key)
|
|
42
|
+
*/
|
|
43
|
+
function loadPreferences() {
|
|
44
|
+
const config = loadFullConfig();
|
|
45
|
+
return config.preferences || {};
|
|
46
|
+
}
|
|
47
|
+
let cachedPreferences = null;
|
|
48
|
+
/**
|
|
49
|
+
* Get current user preferences
|
|
50
|
+
*/
|
|
51
|
+
export function getPreferences() {
|
|
52
|
+
if (!cachedPreferences) {
|
|
53
|
+
cachedPreferences = loadPreferences();
|
|
54
|
+
}
|
|
55
|
+
return cachedPreferences;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Update user preferences
|
|
59
|
+
*/
|
|
60
|
+
export function updatePreferences(newPreferences) {
|
|
61
|
+
const configPath = ensureConfigFile();
|
|
62
|
+
try {
|
|
63
|
+
const fullConfig = loadFullConfig();
|
|
64
|
+
const currentPreferences = fullConfig.preferences || {};
|
|
65
|
+
const updatedPreferences = { ...currentPreferences, ...newPreferences };
|
|
66
|
+
// Update preferences in full config
|
|
67
|
+
fullConfig.preferences = updatedPreferences;
|
|
68
|
+
writeFileSync(configPath, JSON.stringify(fullConfig, null, 2), 'utf-8');
|
|
69
|
+
// Update cache
|
|
70
|
+
cachedPreferences = updatedPreferences;
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.warn('Failed to update preferences:', error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Reload preferences from disk (useful after external changes)
|
|
78
|
+
*/
|
|
79
|
+
export function reloadPreferences() {
|
|
80
|
+
cachedPreferences = loadPreferences();
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/config/preferences.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,SAAS,iBAAiB;IACzB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACxB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAElD,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACtB,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACvB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAQ,MAAM,CAAC,WAA+B,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,IAAI,iBAAiB,GAA2B,IAAI,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,iBAAiB,GAAG,eAAe,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAwC;IACzE,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAI,UAAU,CAAC,WAA+B,IAAI,EAAE,CAAC;QAC7E,MAAM,kBAAkB,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,cAAc,EAAE,CAAC;QAExE,oCAAoC;QACpC,UAAU,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAE5C,aAAa,CACZ,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACnC,OAAO,CACP,CAAC;QAEF,eAAe;QACf,iBAAiB,GAAG,kBAAkB,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,iBAAiB,GAAG,eAAe,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/config/themes.d.ts
CHANGED
|
@@ -7,4 +7,9 @@ export declare function detectTerminalTheme(): 'dark' | 'light';
|
|
|
7
7
|
export declare const themes: Record<ThemePreset, Theme>;
|
|
8
8
|
export declare function getThemeColors(themePreset: ThemePreset): Colors;
|
|
9
9
|
export declare const defaultTheme: ThemePreset;
|
|
10
|
+
export declare const themeContextValue: {
|
|
11
|
+
currentTheme: "main";
|
|
12
|
+
colors: Colors;
|
|
13
|
+
setCurrentTheme: () => void;
|
|
14
|
+
};
|
|
10
15
|
//# sourceMappingURL=themes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/config/themes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AA+B3D;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,OAAO,CA4BtD;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAO7C,CAAC;AAEF,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED,eAAO,MAAM,YAAY,EAAE,WAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/config/themes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AA+B3D;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,OAAO,CA4BtD;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAO7C,CAAC;AAEF,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED,eAAO,MAAM,YAAY,EAAE,WAAoB,CAAC;AAEhD,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC"}
|
package/dist/config/themes.js
CHANGED
|
@@ -63,4 +63,9 @@ export function getThemeColors(themePreset) {
|
|
|
63
63
|
return themes[themePreset].colors;
|
|
64
64
|
}
|
|
65
65
|
export const defaultTheme = 'main';
|
|
66
|
+
export const themeContextValue = {
|
|
67
|
+
currentTheme: defaultTheme,
|
|
68
|
+
colors: getThemeColors(defaultTheme),
|
|
69
|
+
setCurrentTheme: () => { },
|
|
70
|
+
};
|
|
66
71
|
//# sourceMappingURL=themes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/config/themes.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAW;IAC/B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,aAAa;IAEb,SAAS;IACT,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,MAAM,EAAE,6CAA6C;CAChE,CAAC;AAEF,MAAM,gBAAgB,GAAW;IAChC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IAClC,yEAAyE;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACxC,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,EAAE,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,4DAA4D;YAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;IAED,yDAAyD;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAE5C,IACC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnC,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAA+B;IACjD,IAAI,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,MAAM,EACL,mBAAmB,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;KACtE;CACD,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,WAAwB;IACtD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAgB,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/config/themes.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAW;IAC/B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,aAAa;IAEb,SAAS;IACT,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,MAAM,EAAE,6CAA6C;CAChE,CAAC;AAEF,MAAM,gBAAgB,GAAW;IAChC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IAClC,yEAAyE;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACxC,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,EAAE,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,4DAA4D;YAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;IAED,yDAAyD;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAE5C,IACC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnC,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAA+B;IACjD,IAAI,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,MAAM,EACL,mBAAmB,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;KACtE;CACD,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,WAAwB;IACtD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAgB,MAAM,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,YAAY,EAAE,YAAY;IAC1B,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC;IACpC,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
interface GatewayClientConfig {
|
|
2
|
+
url: string;
|
|
3
|
+
apiKey: string;
|
|
4
|
+
gatewayId?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
onConnect?: () => void;
|
|
8
|
+
onDisconnect?: () => void;
|
|
9
|
+
onReady?: (gatewayId: string) => void;
|
|
10
|
+
onError?: (error: Error) => void;
|
|
11
|
+
onMaxReconnectReached?: () => void;
|
|
12
|
+
logger?: (message: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export type GatewayClientState = 'disconnected' | 'connecting' | 'connected' | 'ready';
|
|
15
|
+
export declare class GatewayClient {
|
|
16
|
+
private ws;
|
|
17
|
+
private config;
|
|
18
|
+
private state;
|
|
19
|
+
private gatewayId;
|
|
20
|
+
private reconnectAttempts;
|
|
21
|
+
private maxReconnectAttempts;
|
|
22
|
+
private reconnectTimer;
|
|
23
|
+
private shouldReconnect;
|
|
24
|
+
private pingInterval;
|
|
25
|
+
constructor(config: GatewayClientConfig);
|
|
26
|
+
/**
|
|
27
|
+
* Log a message using the provided logger or console
|
|
28
|
+
*/
|
|
29
|
+
private log;
|
|
30
|
+
/**
|
|
31
|
+
* Build the WebSocket URL from config
|
|
32
|
+
*/
|
|
33
|
+
private buildWsUrl;
|
|
34
|
+
/**
|
|
35
|
+
* Connect to the gateway WebSocket server
|
|
36
|
+
*/
|
|
37
|
+
connect(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Handle incoming messages from server
|
|
40
|
+
*/
|
|
41
|
+
private handleMessage;
|
|
42
|
+
/**
|
|
43
|
+
* Handle disconnect and attempt reconnection
|
|
44
|
+
*/
|
|
45
|
+
private handleDisconnect;
|
|
46
|
+
/**
|
|
47
|
+
* Send a message to the server
|
|
48
|
+
*/
|
|
49
|
+
private send;
|
|
50
|
+
/**
|
|
51
|
+
* Start ping interval to keep connection alive
|
|
52
|
+
*/
|
|
53
|
+
private startPingInterval;
|
|
54
|
+
/**
|
|
55
|
+
* Stop ping interval
|
|
56
|
+
*/
|
|
57
|
+
private stopPingInterval;
|
|
58
|
+
/**
|
|
59
|
+
* Disconnect from the gateway
|
|
60
|
+
*/
|
|
61
|
+
disconnect(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Get the current state
|
|
64
|
+
*/
|
|
65
|
+
getState(): GatewayClientState;
|
|
66
|
+
/**
|
|
67
|
+
* Get the gateway ID (if ready)
|
|
68
|
+
*/
|
|
69
|
+
getGatewayId(): string | null;
|
|
70
|
+
/**
|
|
71
|
+
* Check if connected and ready
|
|
72
|
+
*/
|
|
73
|
+
isReady(): boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create and connect a gateway client
|
|
77
|
+
*/
|
|
78
|
+
export declare function createGatewayClient(config: GatewayClientConfig): GatewayClient;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=gateway-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/server/gateway-client.ts"],"names":[],"mappings":"AAgBA,UAAU,mBAAmB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AA+BD,MAAM,MAAM,kBAAkB,GAC3B,cAAc,GACd,YAAY,GACZ,WAAW,GACX,OAAO,CAAC;AAEX,qBAAa,aAAa;IACzB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAM;IAClC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,YAAY,CAA+B;gBAEvC,MAAM,EAAE,mBAAmB;IAIvC;;OAEG;IACH,OAAO,CAAC,GAAG;IAQX;;OAEG;IACH,OAAO,CAAC,UAAU;IAqBlB;;OAEG;IACH,OAAO,IAAI,IAAI;IAsDf;;OAEG;YACW,aAAa;IA2E3B;;OAEG;YACW,gBAAgB;IA4C9B;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,UAAU,IAAI,IAAI;IAmBlB;;OAEG;IACH,QAAQ,IAAI,kBAAkB;IAI9B;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,OAAO,IAAI,OAAO;CAGlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,mBAAmB,GACzB,aAAa,CAIf"}
|