obol-ai 0.2.38 → 0.2.39

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 CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.2.39
2
+ - use bot name from config in all telegram status messages
3
+ - update changelog
4
+
1
5
  ## 0.2.38
2
6
  - use bot name from config in system prompt, backup, and personality files
3
7
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obol-ai",
3
- "version": "0.2.38",
3
+ "version": "0.2.39",
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": {
@@ -9,6 +9,7 @@ const { sendHtml, splitMessage, startTyping } = require('../utils');
9
9
  const pkg = require('../../../package.json');
10
10
 
11
11
  function register(bot, config, createAsk) {
12
+ const botName = config.bot?.name || 'OBOL';
12
13
  bot.command('backup', async (ctx) => {
13
14
  if (!ctx.from) return;
14
15
  try {
@@ -173,7 +174,7 @@ Summarize what was cleaned and secrets migrated.`);
173
174
  const current = getMaxToolIterations();
174
175
 
175
176
  if (!args[0]) {
176
- await ctx.reply(`🔧 Max tool iterations: ${current}\n\nThis limits how many tool calls OBOL can make per message. Higher = more complex tasks, but slower responses.\n\nSet: /toolimit <number>\nExample: /toolimit 50`);
177
+ await ctx.reply(`🔧 Max tool iterations: ${current}\n\nThis limits how many tool calls ${botName} can make per message. Higher = more complex tasks, but slower responses.\n\nSet: /toolimit <number>\nExample: /toolimit 50`);
177
178
  return;
178
179
  }
179
180
 
@@ -3,8 +3,9 @@ const { TERM_SEP } = require('../constants');
3
3
  const pkg = require('../../../package.json');
4
4
 
5
5
  function register(bot, config) {
6
+ const botName = config.bot?.name || 'OBOL';
6
7
  bot.command('start', async (ctx) => {
7
- await ctx.reply(`<pre>◈ OBOL v${pkg.version}\n${TERM_SEP}\nSYSTEM ONLINE\n${TERM_SEP}</pre>`, { parse_mode: 'HTML' });
8
+ await ctx.reply(`<pre>◈ ${botName} v${pkg.version}\n${TERM_SEP}\nSYSTEM ONLINE\n${TERM_SEP}</pre>`, { parse_mode: 'HTML' });
8
9
  });
9
10
 
10
11
  bot.command('new', async (ctx) => {
@@ -7,6 +7,7 @@ const { termBar, formatTraits } = require('../utils');
7
7
  const { TERM_SEP } = require('../constants');
8
8
 
9
9
  function register(bot, config) {
10
+ const botName = config.bot?.name || 'OBOL';
10
11
  bot.command('status', async (ctx) => {
11
12
  if (!ctx.from) return;
12
13
  const tenant = await getTenant(ctx.from.id, config);
@@ -18,7 +19,7 @@ function register(bot, config) {
18
19
  const pkg = require('../../../package.json');
19
20
 
20
21
  const lines = [
21
- `◈ OBOL SYSTEM STATUS`,
22
+ `◈ ${botName} SYSTEM STATUS`,
22
23
  TERM_SEP,
23
24
  ``,
24
25
  `RUNTIME`,
@@ -66,7 +67,7 @@ function register(bot, config) {
66
67
  const state = loadEvolutionState(tenant.userDir);
67
68
 
68
69
  const lines = [
69
- `◈ OBOL EVOLUTION CYCLE`,
70
+ `◈ ${botName} EVOLUTION CYCLE`,
70
71
  TERM_SEP,
71
72
  ``,
72
73
  ` ${state.evolutionCount || 0} completed`,
@@ -108,7 +109,7 @@ function register(bot, config) {
108
109
  if (!ctx.from) return;
109
110
  const tenant = await getTenant(ctx.from.id, config);
110
111
  const running = tenant.bg.getStatus();
111
- const lines = [`◈ OBOL ACTIVE TASKS`, TERM_SEP];
112
+ const lines = [`◈ ${botName} ACTIVE TASKS`, TERM_SEP];
112
113
  if (running.length === 0) {
113
114
  lines.push(``, ` (none)`);
114
115
  } else {
@@ -5,6 +5,7 @@ const { formatTraits } = require('../utils');
5
5
  const { TERM_SEP } = require('../constants');
6
6
 
7
7
  function register(bot, config) {
8
+ const botName = config.bot?.name || 'OBOL';
8
9
  bot.command('traits', async (ctx) => {
9
10
  if (!ctx.from) return;
10
11
  const tenant = await getTenant(ctx.from.id, config);
@@ -15,7 +16,7 @@ function register(bot, config) {
15
16
  saveTraits(personalityDir, { ...DEFAULT_TRAITS });
16
17
  tenant.claude.reloadPersonality();
17
18
  const traits = { ...DEFAULT_TRAITS };
18
- const lines = [`◈ OBOL PERSONALITY MATRIX`, TERM_SEP, `RESET TO DEFAULTS`, ``, formatTraits(traits), TERM_SEP];
19
+ const lines = [`◈ ${botName} PERSONALITY MATRIX`, TERM_SEP, `RESET TO DEFAULTS`, ``, formatTraits(traits), TERM_SEP];
19
20
  await ctx.reply(`<pre>${lines.join('\n')}</pre>`, { parse_mode: 'HTML' });
20
21
  return;
21
22
  }
@@ -35,13 +36,13 @@ function register(bot, config) {
35
36
  traits[traitName] = value;
36
37
  saveTraits(personalityDir, traits);
37
38
  tenant.claude.reloadPersonality();
38
- const lines = [`◈ OBOL PERSONALITY MATRIX`, TERM_SEP, `UPDATED ${traitName} → ${value}`, ``, formatTraits(traits), TERM_SEP];
39
+ const lines = [`◈ ${botName} PERSONALITY MATRIX`, TERM_SEP, `UPDATED ${traitName} → ${value}`, ``, formatTraits(traits), TERM_SEP];
39
40
  await ctx.reply(`<pre>${lines.join('\n')}</pre>`, { parse_mode: 'HTML' });
40
41
  return;
41
42
  }
42
43
 
43
44
  const traits = loadTraits(personalityDir);
44
- const lines = [`◈ OBOL PERSONALITY MATRIX`, TERM_SEP, ``, formatTraits(traits), ``, `/traits &lt;name&gt; &lt;0-100&gt;`, `/traits reset`, TERM_SEP];
45
+ const lines = [`◈ ${botName} PERSONALITY MATRIX`, TERM_SEP, ``, formatTraits(traits), ``, `/traits &lt;name&gt; &lt;0-100&gt;`, `/traits reset`, TERM_SEP];
45
46
  await ctx.reply(`<pre>${lines.join('\n')}</pre>`, { parse_mode: 'HTML' });
46
47
  });
47
48
  }