uwonbot 1.1.4 → 1.1.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/bin/uwonbot.js CHANGED
@@ -14,7 +14,7 @@ showBanner();
14
14
  program
15
15
  .name('uwonbot')
16
16
  .description('Uwonbot AI Assistant — Your AI controls your computer')
17
- .version('1.1.4');
17
+ .version('1.1.6');
18
18
 
19
19
  program
20
20
  .command('login')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uwonbot",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "Uwonbot AI Assistant CLI — Your AI controls your computer",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -27,7 +27,7 @@
27
27
  "commander": "^12.1.0",
28
28
  "conf": "^13.0.1",
29
29
  "inquirer": "^12.0.0",
30
- "mic": "^2.5.1",
30
+ "mic": "^2.1.2",
31
31
  "node-fetch": "^3.3.2",
32
32
  "open": "^10.1.0",
33
33
  "ora": "^8.1.0",
package/src/chat.js CHANGED
@@ -10,6 +10,8 @@ import { showMiniBar } from './banner.js';
10
10
  import { printOrb, animateOrb } from './terminalOrb.js';
11
11
  import VoiceInput from './voiceInput.js';
12
12
  import {
13
+ fetchAssistants,
14
+ setIdToken,
13
15
  hasRegisteredDevices,
14
16
  createCLISession,
15
17
  checkCLISession,
@@ -119,6 +121,36 @@ export async function startChat(assistantName, assistant, initialCommand, option
119
121
  return;
120
122
  }
121
123
 
124
+ if (!assistant && assistantName) {
125
+ const idToken = config.get('idToken');
126
+ if (idToken) setIdToken(idToken);
127
+
128
+ const spinner = ora({ text: chalk.gray('비서 로딩 중...'), spinner: 'dots', color: 'cyan' }).start();
129
+ try {
130
+ const all = await fetchAssistants(uid);
131
+ const found = all.find(a => a.name.toLowerCase() === assistantName.toLowerCase());
132
+ if (found) {
133
+ assistant = found;
134
+ spinner.stop();
135
+ } else {
136
+ spinner.stop();
137
+ console.log(chalk.yellow(`\n ⚠ "${assistantName}" 비서를 찾을 수 없습니다.`));
138
+ if (all.length > 0) {
139
+ console.log(chalk.gray(' 등록된 비서: ' + all.map(a => a.name).join(', ')));
140
+ } else {
141
+ console.log(chalk.gray(' 등록된 비서가 없습니다. 웹에서 생성해주세요:'));
142
+ console.log(chalk.cyan(' https://chartapp-653e1.web.app/assistant/create'));
143
+ }
144
+ console.log('');
145
+ return;
146
+ }
147
+ } catch (err) {
148
+ spinner.stop();
149
+ console.log(chalk.red(`\n ⚠ 비서 목록 로드 실패: ${err.message}\n`));
150
+ return;
151
+ }
152
+ }
153
+
122
154
  if (!assistant) {
123
155
  console.log(chalk.yellow('\n No assistant selected.\n'));
124
156
  return;
@@ -143,7 +175,8 @@ export async function startChat(assistantName, assistant, initialCommand, option
143
175
  : assistant.brain === 'gemini' ? '#8b5cf6'
144
176
  : '#2563eb';
145
177
 
146
- const orbColorHex = assistant.orbColor || brainColor;
178
+ const colorsArr = assistant.colors;
179
+ const orbColorHex = (Array.isArray(colorsArr) && colorsArr[0]) || assistant.orbColor || brainColor;
147
180
  const orbRgb = hexToRgb(orbColorHex);
148
181
 
149
182
  console.clear();