@redplanethq/corebrain 1.0.0 → 2.0.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.
Files changed (181) hide show
  1. package/dist/commands/browser/close.d.ts +10 -0
  2. package/dist/commands/browser/close.d.ts.map +1 -0
  3. package/dist/commands/browser/close.js +60 -0
  4. package/dist/commands/browser/close.js.map +1 -0
  5. package/dist/commands/browser/command.d.ts +10 -0
  6. package/dist/commands/browser/command.d.ts.map +1 -0
  7. package/dist/commands/browser/command.js +67 -0
  8. package/dist/commands/browser/command.js.map +1 -0
  9. package/dist/commands/browser/create-profile.d.ts +10 -0
  10. package/dist/commands/browser/create-profile.d.ts.map +1 -0
  11. package/dist/commands/browser/create-profile.js +29 -0
  12. package/dist/commands/browser/create-profile.js.map +1 -0
  13. package/dist/commands/browser/delete-profile.d.ts +10 -0
  14. package/dist/commands/browser/delete-profile.d.ts.map +1 -0
  15. package/dist/commands/browser/delete-profile.js +27 -0
  16. package/dist/commands/browser/delete-profile.js.map +1 -0
  17. package/dist/commands/browser/install.d.ts +8 -0
  18. package/dist/commands/browser/install.d.ts.map +1 -0
  19. package/dist/commands/browser/install.js +49 -0
  20. package/dist/commands/browser/install.js.map +1 -0
  21. package/dist/commands/browser/open.d.ts +12 -0
  22. package/dist/commands/browser/open.d.ts.map +1 -0
  23. package/dist/commands/browser/open.js +65 -0
  24. package/dist/commands/browser/open.js.map +1 -0
  25. package/dist/commands/browser/status.d.ts +8 -0
  26. package/dist/commands/browser/status.d.ts.map +1 -0
  27. package/dist/commands/browser/status.js +48 -0
  28. package/dist/commands/browser/status.js.map +1 -0
  29. package/dist/commands/coding/[agent]/config.d.ts +18 -0
  30. package/dist/commands/coding/[agent]/config.d.ts.map +1 -0
  31. package/dist/commands/coding/[agent]/config.js +91 -0
  32. package/dist/commands/coding/[agent]/config.js.map +1 -0
  33. package/dist/commands/coding/config.d.ts +23 -0
  34. package/dist/commands/coding/config.d.ts.map +1 -0
  35. package/dist/commands/coding/config.js +116 -0
  36. package/dist/commands/coding/config.js.map +1 -0
  37. package/dist/commands/coding/index.d.ts +8 -0
  38. package/dist/commands/coding/index.d.ts.map +1 -0
  39. package/dist/commands/coding/index.js +42 -0
  40. package/dist/commands/coding/index.js.map +1 -0
  41. package/dist/commands/coding/remove.d.ts +10 -0
  42. package/dist/commands/coding/remove.d.ts.map +1 -0
  43. package/dist/commands/coding/remove.js +37 -0
  44. package/dist/commands/coding/remove.js.map +1 -0
  45. package/dist/commands/coding/setup.d.ts +8 -0
  46. package/dist/commands/coding/setup.d.ts.map +1 -0
  47. package/dist/commands/coding/setup.js +114 -0
  48. package/dist/commands/coding/setup.js.map +1 -0
  49. package/dist/commands/exec/config.d.ts +14 -0
  50. package/dist/commands/exec/config.d.ts.map +1 -0
  51. package/dist/commands/exec/config.js +79 -0
  52. package/dist/commands/exec/config.js.map +1 -0
  53. package/dist/commands/gateway/config.d.ts +8 -0
  54. package/dist/commands/gateway/config.d.ts.map +1 -0
  55. package/dist/commands/gateway/config.js +192 -0
  56. package/dist/commands/gateway/config.js.map +1 -0
  57. package/dist/commands/gateway/index.d.ts +14 -0
  58. package/dist/commands/gateway/index.d.ts.map +1 -0
  59. package/dist/commands/gateway/index.js +10 -0
  60. package/dist/commands/gateway/index.js.map +1 -0
  61. package/dist/commands/gateway/off.d.ts +8 -0
  62. package/dist/commands/gateway/off.d.ts.map +1 -0
  63. package/dist/commands/gateway/off.js +70 -0
  64. package/dist/commands/gateway/off.js.map +1 -0
  65. package/dist/commands/gateway/on.d.ts +8 -0
  66. package/dist/commands/gateway/on.d.ts.map +1 -0
  67. package/dist/commands/gateway/on.js +135 -0
  68. package/dist/commands/gateway/on.js.map +1 -0
  69. package/dist/commands/gateway/restart.d.ts +8 -0
  70. package/dist/commands/gateway/restart.d.ts.map +1 -0
  71. package/dist/commands/gateway/restart.js +70 -0
  72. package/dist/commands/gateway/restart.js.map +1 -0
  73. package/dist/commands/gateway/status.d.ts +8 -0
  74. package/dist/commands/gateway/status.d.ts.map +1 -0
  75. package/dist/commands/gateway/status.js +98 -0
  76. package/dist/commands/gateway/status.js.map +1 -0
  77. package/dist/commands/gateway/uninstall.d.ts +8 -0
  78. package/dist/commands/gateway/uninstall.d.ts.map +1 -0
  79. package/dist/commands/gateway/uninstall.js +80 -0
  80. package/dist/commands/gateway/uninstall.js.map +1 -0
  81. package/dist/commands/index.d.ts +1 -5
  82. package/dist/commands/index.d.ts.map +1 -1
  83. package/dist/commands/login.d.ts +1 -1
  84. package/dist/commands/login.d.ts.map +1 -1
  85. package/dist/commands/logout.d.ts +1 -1
  86. package/dist/commands/logout.d.ts.map +1 -1
  87. package/dist/commands/me.d.ts +1 -1
  88. package/dist/commands/me.d.ts.map +1 -1
  89. package/dist/commands/server.d.ts +10 -0
  90. package/dist/commands/server.d.ts.map +1 -0
  91. package/dist/commands/server.js +60 -0
  92. package/dist/commands/server.js.map +1 -0
  93. package/dist/commands/token.d.ts +1 -1
  94. package/dist/commands/token.d.ts.map +1 -1
  95. package/dist/components/error-message.d.ts.map +1 -1
  96. package/dist/components/error-message.js +6 -1
  97. package/dist/components/error-message.js.map +1 -1
  98. package/dist/components/info-message.d.ts.map +1 -1
  99. package/dist/components/info-message.js +5 -1
  100. package/dist/components/info-message.js.map +1 -1
  101. package/dist/components/success-message.d.ts.map +1 -1
  102. package/dist/components/success-message.js +5 -1
  103. package/dist/components/success-message.js.map +1 -1
  104. package/dist/components/warning-message.d.ts +2 -3
  105. package/dist/components/warning-message.d.ts.map +1 -1
  106. package/dist/components/warning-message.js +10 -4
  107. package/dist/components/warning-message.js.map +1 -1
  108. package/dist/config/index.d.ts +4 -0
  109. package/dist/config/index.d.ts.map +1 -1
  110. package/dist/config/index.js +31 -30
  111. package/dist/config/index.js.map +1 -1
  112. package/dist/config/paths.d.ts.map +1 -1
  113. package/dist/config/paths.js +4 -36
  114. package/dist/config/paths.js.map +1 -1
  115. package/dist/config/preferences.d.ts +14 -0
  116. package/dist/config/preferences.d.ts.map +1 -0
  117. package/dist/config/preferences.js +82 -0
  118. package/dist/config/preferences.js.map +1 -0
  119. package/dist/config/themes.d.ts +5 -0
  120. package/dist/config/themes.d.ts.map +1 -1
  121. package/dist/config/themes.js +5 -0
  122. package/dist/config/themes.js.map +1 -1
  123. package/dist/server/gateway-client.d.ts +75 -0
  124. package/dist/server/gateway-client.d.ts.map +1 -0
  125. package/dist/server/gateway-client.js +264 -0
  126. package/dist/server/gateway-client.js.map +1 -0
  127. package/dist/server/gateway-entry.d.ts +7 -0
  128. package/dist/server/gateway-entry.d.ts.map +1 -0
  129. package/dist/server/gateway-entry.js +113 -0
  130. package/dist/server/gateway-entry.js.map +1 -0
  131. package/dist/server/gateway.d.ts +5 -0
  132. package/dist/server/gateway.d.ts.map +1 -0
  133. package/dist/server/gateway.js +136 -0
  134. package/dist/server/gateway.js.map +1 -0
  135. package/dist/server/tools/browser-tools.d.ts +28 -0
  136. package/dist/server/tools/browser-tools.d.ts.map +1 -0
  137. package/dist/server/tools/browser-tools.js +179 -0
  138. package/dist/server/tools/browser-tools.js.map +1 -0
  139. package/dist/server/tools/coding-tools.d.ts +27 -0
  140. package/dist/server/tools/coding-tools.d.ts.map +1 -0
  141. package/dist/server/tools/coding-tools.js +345 -0
  142. package/dist/server/tools/coding-tools.js.map +1 -0
  143. package/dist/server/tools/exec-tools.d.ts +14 -0
  144. package/dist/server/tools/exec-tools.d.ts.map +1 -0
  145. package/dist/server/tools/exec-tools.js +203 -0
  146. package/dist/server/tools/exec-tools.js.map +1 -0
  147. package/dist/types/config.d.ts +36 -0
  148. package/dist/types/config.d.ts.map +1 -1
  149. package/dist/utils/agent-browser.d.ts +63 -0
  150. package/dist/utils/agent-browser.d.ts.map +1 -0
  151. package/dist/utils/agent-browser.js +301 -0
  152. package/dist/utils/agent-browser.js.map +1 -0
  153. package/dist/utils/coding-runner.d.ts +60 -0
  154. package/dist/utils/coding-runner.d.ts.map +1 -0
  155. package/dist/utils/coding-runner.js +174 -0
  156. package/dist/utils/coding-runner.js.map +1 -0
  157. package/dist/utils/coding-sessions.d.ts +61 -0
  158. package/dist/utils/coding-sessions.d.ts.map +1 -0
  159. package/dist/utils/coding-sessions.js +112 -0
  160. package/dist/utils/coding-sessions.js.map +1 -0
  161. package/dist/utils/process.d.ts +22 -0
  162. package/dist/utils/process.d.ts.map +1 -0
  163. package/dist/utils/process.js +81 -0
  164. package/dist/utils/process.js.map +1 -0
  165. package/dist/utils/service-manager/index.d.ts +49 -0
  166. package/dist/utils/service-manager/index.d.ts.map +1 -0
  167. package/dist/utils/service-manager/index.js +137 -0
  168. package/dist/utils/service-manager/index.js.map +1 -0
  169. package/dist/utils/service-manager/launchd.d.ts +31 -0
  170. package/dist/utils/service-manager/launchd.d.ts.map +1 -0
  171. package/dist/utils/service-manager/launchd.js +208 -0
  172. package/dist/utils/service-manager/launchd.js.map +1 -0
  173. package/dist/utils/service-manager/systemd.d.ts +31 -0
  174. package/dist/utils/service-manager/systemd.d.ts.map +1 -0
  175. package/dist/utils/service-manager/systemd.js +187 -0
  176. package/dist/utils/service-manager/systemd.js.map +1 -0
  177. package/dist/utils/tmux.d.ts +37 -0
  178. package/dist/utils/tmux.d.ts.map +1 -0
  179. package/dist/utils/tmux.js +96 -0
  180. package/dist/utils/tmux.js.map +1 -0
  181. package/package.json +15 -12
@@ -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, lets check for a working directory config
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
- // Next lets check the $HOME for a hidden file. This should only be for
35
- // legacy support
36
- if (existsSync(join(homedir(), `.${fileName}`))) {
37
- confDirMap[fileName] = join(homedir(), `.${fileName}`);
38
- return join(homedir(), `.${fileName}`);
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(join(configDir, fileName))) {
43
- createDefaultConfFile(configDir, fileName);
58
+ if (!existsSync(configPath)) {
59
+ writeFileSync(configPath, JSON.stringify({}, null, 2), 'utf-8');
44
60
  }
45
- confDirMap[fileName] = join(configDir, fileName);
46
- return join(configDir, fileName);
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 = getClosestConfigFile('config.json');
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 = getClosestConfigFile('config.json');
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();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
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":"AAGA,wBAAgB,cAAc,IAAI,MAAM,CA4BvC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAqBtC"}
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"}
@@ -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
- // Check XDG_DATA_HOME first (works cross-platform for testing)
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
- // Platform-specific defaults
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
@@ -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,cAAc;IAC7B,mDAAmD;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,yCAAyC;IACzC,IAAI,eAAuB,CAAC;IAC5B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,eAAe;gBACd,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM;QACP,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACpE,MAAM;QACP,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACT,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACtC,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,6BAA6B;IAC7B,IAAI,cAAsB,CAAC;IAC3B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,OAAO;YACX,cAAc;gBACb,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM;QACP,KAAK,QAAQ;YACZ,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM;QACP;YACC,cAAc;gBACb,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
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"}
@@ -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"}
@@ -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,75 @@
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
+ }
13
+ export type GatewayClientState = 'disconnected' | 'connecting' | 'connected' | 'ready';
14
+ export declare class GatewayClient {
15
+ private ws;
16
+ private config;
17
+ private state;
18
+ private gatewayId;
19
+ private reconnectAttempts;
20
+ private maxReconnectAttempts;
21
+ private reconnectTimer;
22
+ private shouldReconnect;
23
+ private pingInterval;
24
+ constructor(config: GatewayClientConfig);
25
+ /**
26
+ * Build the WebSocket URL from config
27
+ */
28
+ private buildWsUrl;
29
+ /**
30
+ * Connect to the gateway WebSocket server
31
+ */
32
+ connect(): void;
33
+ /**
34
+ * Handle incoming messages from server
35
+ */
36
+ private handleMessage;
37
+ /**
38
+ * Handle disconnect and attempt reconnection
39
+ */
40
+ private handleDisconnect;
41
+ /**
42
+ * Send a message to the server
43
+ */
44
+ private send;
45
+ /**
46
+ * Start ping interval to keep connection alive
47
+ */
48
+ private startPingInterval;
49
+ /**
50
+ * Stop ping interval
51
+ */
52
+ private stopPingInterval;
53
+ /**
54
+ * Disconnect from the gateway
55
+ */
56
+ disconnect(): void;
57
+ /**
58
+ * Get the current state
59
+ */
60
+ getState(): GatewayClientState;
61
+ /**
62
+ * Get the gateway ID (if ready)
63
+ */
64
+ getGatewayId(): string | null;
65
+ /**
66
+ * Check if connected and ready
67
+ */
68
+ isReady(): boolean;
69
+ }
70
+ /**
71
+ * Create and connect a gateway client
72
+ */
73
+ export declare function createGatewayClient(config: GatewayClientConfig): GatewayClient;
74
+ export {};
75
+ //# 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;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,UAAU;IAqBlB;;OAEG;IACH,OAAO,IAAI,IAAI;IAsDf;;OAEG;YACW,aAAa;IAsE3B;;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"}