obol-ai 0.2.36 → 0.2.37
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/CHANGELOG.md +4 -0
- package/README.md +2 -0
- package/docs/obol-upgrade.png +0 -0
- package/package.json +1 -1
- package/src/cli/config.js +30 -0
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obol-ai",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.37",
|
|
4
4
|
"description": "Self-evolving AI assistant that learns, remembers, and acts on its own. Persistent vector memory, self-rewriting personality, proactive heartbeats.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
package/src/cli/config.js
CHANGED
|
@@ -162,6 +162,7 @@ async function manageUsers(cfg) {
|
|
|
162
162
|
choices: [
|
|
163
163
|
{ name: 'Add user (detect from bot messages)', value: 'detect' },
|
|
164
164
|
{ name: 'Add user (enter ID manually)', value: 'manual' },
|
|
165
|
+
...(currentUsers.length > 0 ? [{ name: 'Rename user', value: 'rename' }] : []),
|
|
165
166
|
...(currentUsers.length > 0 ? [{ name: 'Remove user', value: 'remove' }] : []),
|
|
166
167
|
new inquirer.Separator(),
|
|
167
168
|
{ name: 'Back', value: 'back' },
|
|
@@ -232,6 +233,35 @@ async function manageUsers(cfg) {
|
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
235
|
|
|
236
|
+
if (action === 'rename') {
|
|
237
|
+
const { renameId } = await inquirer.prompt([{
|
|
238
|
+
type: 'list',
|
|
239
|
+
name: 'renameId',
|
|
240
|
+
message: 'Rename which user?',
|
|
241
|
+
choices: [
|
|
242
|
+
...currentUsers.map(id => {
|
|
243
|
+
const name = cfg.users?.[String(id)]?.name;
|
|
244
|
+
return { name: name ? `${id} — ${name}` : String(id), value: id };
|
|
245
|
+
}),
|
|
246
|
+
new inquirer.Separator(),
|
|
247
|
+
{ name: 'Cancel', value: null },
|
|
248
|
+
],
|
|
249
|
+
}]);
|
|
250
|
+
if (renameId !== null) {
|
|
251
|
+
const currentName = cfg.users?.[String(renameId)]?.name || '';
|
|
252
|
+
const { newName } = await inquirer.prompt([{
|
|
253
|
+
type: 'input',
|
|
254
|
+
name: 'newName',
|
|
255
|
+
message: `Name for user ${renameId}:`,
|
|
256
|
+
default: currentName,
|
|
257
|
+
validate: (v) => v.trim().length > 0 ? true : 'Required',
|
|
258
|
+
}]);
|
|
259
|
+
if (!cfg.users) cfg.users = {};
|
|
260
|
+
if (!cfg.users[String(renameId)]) cfg.users[String(renameId)] = {};
|
|
261
|
+
cfg.users[String(renameId)].name = newName.trim();
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
235
265
|
if (action === 'remove') {
|
|
236
266
|
const { removeId } = await inquirer.prompt([{
|
|
237
267
|
type: 'list',
|