obol-ai 0.2.28 → 0.2.30

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,9 @@
1
+ ## 0.2.30
2
+ - remove github and vercel from onboarding
3
+
4
+ ## 0.2.29
5
+ - remove vercel from dynamic tools, fix silent decrypt failure on hostname change
6
+
1
7
  ## 0.2.28
2
8
  - fix telegram 429 rate limiting with auto-retry, slower timers, verbose batching
3
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obol-ai",
3
- "version": "0.2.28",
3
+ "version": "0.2.30",
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": {
@@ -19,11 +19,6 @@ const OPTIONAL_TOOLS = {
19
19
  tools: ['create_pdf'],
20
20
  config: {},
21
21
  },
22
- vercel: {
23
- label: 'Vercel Deploy',
24
- tools: ['vercel_deploy', 'vercel_list'],
25
- config: {},
26
- },
27
22
  background: {
28
23
  label: 'Background Tasks',
29
24
  tools: ['background_task'],
@@ -117,9 +117,6 @@ Cannot access paths outside workspace or /tmp.
117
117
  ### Web (\`web_search\`)
118
118
  Search the web for current information.
119
119
 
120
- ### Vercel (\`vercel_deploy\`, \`vercel_list\`)
121
- Deploy directories to Vercel. Ship websites, dashboards, web apps.
122
-
123
120
  ### Background Tasks (\`background_task\`)
124
121
  Spawn heavy work (research, site building, complex analysis) in the background.
125
122
  The main conversation stays responsive. User gets progress updates every 30s.
@@ -5,7 +5,6 @@ const memoryTool = require('./tools/memory');
5
5
  const webTool = require('./tools/web');
6
6
  const filesTool = require('./tools/files');
7
7
  const secretsTool = require('./tools/secrets');
8
- const vercelTool = require('./tools/vercel');
9
8
  const backgroundTool = require('./tools/background');
10
9
  const telegramTool = require('./tools/telegram');
11
10
  const schedulerTool = require('./tools/scheduler');
@@ -21,7 +20,6 @@ const TOOL_MODULES = [
21
20
  webTool,
22
21
  filesTool,
23
22
  secretsTool,
24
- vercelTool,
25
23
  backgroundTool,
26
24
  telegramTool,
27
25
  schedulerTool,
package/src/cli/init.js CHANGED
@@ -6,7 +6,7 @@ const { execSync } = require('child_process');
6
6
  const { getConfigDir, saveConfig, loadConfig, CONFIG_FILE, ensureUserDir } = require('../config');
7
7
  const { generatePKCE, buildAuthorizationUrl, exchangeCodeForTokens } = require('../oauth');
8
8
  const {
9
- validateAnthropic, validateTelegram, validateSupabase, validateVercel,
9
+ validateAnthropic, validateTelegram, validateSupabase,
10
10
  } = require('../validators');
11
11
 
12
12
  const OBOL_DIR = getConfigDir();
@@ -120,7 +120,7 @@ async function init(opts = {}) {
120
120
 
121
121
  const config = {};
122
122
  let step = 0;
123
- const totalSteps = 7;
123
+ const totalSteps = 5;
124
124
  const stepLabel = (name) => `─── Step ${++step}/${totalSteps}: ${name} ───`;
125
125
 
126
126
  // Step 1: Anthropic
@@ -223,65 +223,7 @@ async function init(opts = {}) {
223
223
  console.log('');
224
224
  }
225
225
 
226
- // Step 4: GitHub
227
- console.log(stepLabel('GitHub (backup)') + '\n');
228
- const { setupGithub } = await inquirer.prompt([{
229
- type: 'confirm',
230
- name: 'setupGithub',
231
- message: 'Set up GitHub backup?',
232
- default: true,
233
- }]);
234
- if (setupGithub) {
235
- console.log(' OBOL backs up its personality, scripts, and commands to a');
236
- console.log(' private GitHub repo daily. This lets you restore on any server.\n');
237
- console.log(' How to get a token:');
238
- console.log(' 1. Go to https://github.com/settings/tokens');
239
- console.log(' 2. Click "Generate new token (classic)"');
240
- console.log(' 3. Name it "obol"');
241
- console.log(' 4. Check the "repo" scope (full control of private repos)');
242
- console.log(' 5. Click "Generate token" and copy it\n');
243
- const { githubToken } = await inquirer.prompt([{
244
- type: 'password',
245
- name: 'githubToken',
246
- message: 'GitHub personal access token:',
247
- mask: '*',
248
- }]);
249
- config.github = await setupGitHub(githubToken);
250
- } else {
251
- config.github = null;
252
- console.log(' Skipped — no backup configured\n');
253
- }
254
-
255
- // Step 5: Vercel
256
- console.log(stepLabel('Vercel (deploy sites)') + '\n');
257
- const { setupVercel } = await inquirer.prompt([{
258
- type: 'confirm',
259
- name: 'setupVercel',
260
- message: 'Set up Vercel deployments?',
261
- default: true,
262
- }]);
263
- if (setupVercel) {
264
- console.log(' OBOL can deploy websites and apps to Vercel for you.\n');
265
- console.log(' How to get a token:');
266
- console.log(' 1. Go to https://vercel.com (sign up free if needed)');
267
- console.log(' 2. Go to https://vercel.com/account/tokens');
268
- console.log(' 3. Click "Create" and name it "obol"');
269
- console.log(' 4. Copy the token\n');
270
- const { vercelToken } = await inquirer.prompt([{
271
- type: 'password',
272
- name: 'vercelToken',
273
- message: 'Vercel token:',
274
- mask: '*',
275
- }]);
276
- config.vercel = { token: vercelToken };
277
- await validateCredential('Vercel', () => validateVercel(vercelToken));
278
- } else {
279
- config.vercel = null;
280
- console.log(' Skipped — no deploy target configured\n');
281
- }
282
- console.log('');
283
-
284
- // Step 6: Identity
226
+ // Step 4: Identity
285
227
  console.log(stepLabel('Identity') + '\n');
286
228
  console.log(' Give your bot a name and tell it who you are.');
287
229
  console.log(' The bot name appears in personality files. Change later with `obol config`.\n');
@@ -292,7 +234,7 @@ async function init(opts = {}) {
292
234
  config.owner = { name: ownerName };
293
235
  config.bot = { name: botName };
294
236
 
295
- // Step 7: Allowed Telegram users
237
+ // Step 5: Allowed Telegram users
296
238
  console.log('\n' + stepLabel('Access control') + '\n');
297
239
  console.log(' Each allowed user gets their own isolated brain — separate');
298
240
  console.log(' personality, memory, evolution cycle, and workspace.');
package/src/config.js CHANGED
@@ -86,7 +86,10 @@ function decryptSensitiveFields(config) {
86
86
  if (ENCRYPTED_RE.test(val)) {
87
87
  try {
88
88
  setPath(config, p, decrypt(val, key));
89
- } catch {}
89
+ } catch {
90
+ setPath(config, p, null);
91
+ console.warn(`[config] Could not decrypt ${p} — hostname may have changed. Run: obol config`);
92
+ }
90
93
  } else {
91
94
  hadPlaintext = true;
92
95
  }