@stevederico/dotbot 0.16.1 → 0.17.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ 0.17
2
+
3
+ Default model grok-4-1-fast-reasoning
4
+ Show thinking stream
5
+ Remove chat keyword requirement
6
+ Suppress SQLite warning
7
+ Fix store init signatures
8
+
1
9
  0.16.1
2
10
 
3
11
  Fix store init signatures
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  <img src="https://img.shields.io/github/stars/stevederico/dotbot?style=social" alt="GitHub stars">
13
13
  </a>
14
14
  <a href="https://github.com/stevederico/dotbot">
15
- <img src="https://img.shields.io/badge/version-0.16.1-green" alt="version">
15
+ <img src="https://img.shields.io/badge/version-0.17-green" alt="version">
16
16
  </a>
17
17
  <img src="https://img.shields.io/badge/LOC-11k-orange" alt="Lines of Code">
18
18
  </p>
@@ -40,7 +40,7 @@ A **streaming AI agent** with tool execution, autonomous tasks, and scheduled jo
40
40
 
41
41
  **As a CLI:**
42
42
  ```bash
43
- dotbot chat "What's the weather in San Francisco?"
43
+ dotbot "What's the weather in San Francisco?"
44
44
  dotbot repl
45
45
  dotbot serve --port 3000
46
46
  ```
@@ -64,7 +64,7 @@ npm install -g @stevederico/dotbot
64
64
  export XAI_API_KEY=xai-...
65
65
 
66
66
  # Chat
67
- dotbot chat "Summarize the top 3 AI news stories today"
67
+ dotbot "Summarize the top 3 AI news stories today"
68
68
 
69
69
  # Interactive REPL
70
70
  dotbot repl
@@ -99,7 +99,7 @@ for await (const event of agent.chat({
99
99
  sessionId: session.id,
100
100
  message: 'Search for the latest AI news',
101
101
  provider: 'xai',
102
- model: 'grok-3',
102
+ model: 'grok-4-1-fast-reasoning',
103
103
  })) {
104
104
  if (event.type === 'text_delta') process.stdout.write(event.text);
105
105
  }
@@ -126,7 +126,7 @@ for await (const event of agent.chat({
126
126
  - **Weather** — Open-Meteo API (no key required)
127
127
 
128
128
  ### 🔌 **Multi-Provider Support**
129
- - **xAI Grok** — grok-3, with real-time web search and image generation
129
+ - **xAI Grok** — grok-4-1-fast-reasoning, with real-time web search and image generation
130
130
  - **Anthropic Claude** — claude-sonnet-4-5, claude-opus-4, etc.
131
131
  - **OpenAI** — gpt-4o, gpt-4-turbo, etc.
132
132
  - **Cerebras** — ultra-fast inference
@@ -147,16 +147,16 @@ for await (const event of agent.chat({
147
147
  ## CLI Reference
148
148
 
149
149
  ```
150
- dotbot v0.16.1 — AI agent CLI
150
+ dotbot v0.17 — AI agent CLI
151
151
 
152
152
  Usage:
153
- dotbot chat "message" Send a one-shot message
153
+ dotbot "message" Send a message (default)
154
154
  dotbot repl Interactive chat session
155
155
  dotbot serve [--port N] Start HTTP server (default: 3000)
156
156
 
157
157
  Options:
158
158
  --provider, -p AI provider: xai, anthropic, openai, ollama (default: xai)
159
- --model, -m Model name (default: grok-3)
159
+ --model, -m Model name (default: grok-4-1-fast-reasoning)
160
160
  --db SQLite database path (default: ./dotbot.db)
161
161
  --port Server port for 'serve' command
162
162
  --help, -h Show help
@@ -202,7 +202,7 @@ for await (const event of agent.chat({
202
202
  sessionId: 'sess_123',
203
203
  message: 'Hello',
204
204
  provider: 'xai',
205
- model: 'grok-3',
205
+ model: 'grok-4-1-fast-reasoning',
206
206
  signal: abortController.signal, // optional
207
207
  context: { userID: 'user123' }, // passed to tools
208
208
  })) {
@@ -260,7 +260,7 @@ await agent.chat({
260
260
  message: `Create a task to audit our API endpoints.
261
261
  Break it into 5 steps, use auto mode.`,
262
262
  provider: 'xai',
263
- model: 'grok-3',
263
+ model: 'grok-4-1-fast-reasoning',
264
264
  context: { userID: 'user-123' },
265
265
  });
266
266
  // Step 1 runs → schedules Step 2 → ... → task complete
package/bin/dotbot.js CHANGED
@@ -1,5 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ // Suppress SQLite experimental warning (stable but still flagged in Node 24)
4
+ const originalEmit = process.emit;
5
+ process.emit = function (event, error) {
6
+ if (event === 'warning' && error?.name === 'ExperimentalWarning' && error?.message?.includes('SQLite')) {
7
+ return false;
8
+ }
9
+ return originalEmit.apply(process, arguments);
10
+ };
11
+
3
12
  /**
4
13
  * dotbot CLI
5
14
  *
@@ -41,7 +50,7 @@ async function loadModules() {
41
50
  agentLoop = mod.agentLoop;
42
51
  }
43
52
 
44
- const VERSION = '0.16.1';
53
+ const VERSION = '0.17';
45
54
  const DEFAULT_PORT = 3000;
46
55
  const DEFAULT_DB = './dotbot.db';
47
56
 
@@ -53,13 +62,13 @@ function printHelp() {
53
62
  dotbot v${VERSION} — AI agent CLI
54
63
 
55
64
  Usage:
56
- dotbot chat "message" Send a one-shot message
65
+ dotbot "message" Send a message (default command)
57
66
  dotbot repl Interactive chat session
58
67
  dotbot serve [--port N] Start HTTP server (default: ${DEFAULT_PORT})
59
68
 
60
69
  Options:
61
70
  --provider, -p AI provider: xai, anthropic, openai, ollama (default: xai)
62
- --model, -m Model name (default: grok-3)
71
+ --model, -m Model name (default: grok-4-1-fast-reasoning)
63
72
  --db SQLite database path (default: ${DEFAULT_DB})
64
73
  --port Server port for 'serve' command (default: ${DEFAULT_PORT})
65
74
  --help, -h Show this help
@@ -72,8 +81,9 @@ Environment Variables:
72
81
  OLLAMA_BASE_URL Base URL for Ollama (default: http://localhost:11434)
73
82
 
74
83
  Examples:
75
- dotbot chat "What's the weather in SF?"
76
- dotbot repl --provider anthropic --model claude-sonnet-4-5
84
+ dotbot "What's the weather in SF?"
85
+ dotbot "Summarize the news" -p anthropic -m claude-sonnet-4-5
86
+ dotbot repl
77
87
  dotbot serve --port 8080
78
88
  `);
79
89
  }
@@ -89,7 +99,7 @@ function parseCliArgs() {
89
99
  help: { type: 'boolean', short: 'h', default: false },
90
100
  version: { type: 'boolean', short: 'v', default: false },
91
101
  provider: { type: 'string', short: 'p', default: 'xai' },
92
- model: { type: 'string', short: 'm', default: 'grok-3' },
102
+ model: { type: 'string', short: 'm', default: 'grok-4-1-fast-reasoning' },
93
103
  db: { type: 'string', default: DEFAULT_DB },
94
104
  port: { type: 'string', default: String(DEFAULT_PORT) },
95
105
  },
@@ -198,6 +208,11 @@ async function runChat(message, options) {
198
208
  context,
199
209
  })) {
200
210
  switch (event.type) {
211
+ case 'thinking':
212
+ if (event.text) {
213
+ process.stdout.write(`\x1b[2m${event.text}\x1b[0m`);
214
+ }
215
+ break;
201
216
  case 'text_delta':
202
217
  process.stdout.write(event.text);
203
218
  break;
@@ -280,6 +295,11 @@ async function runRepl(options) {
280
295
  context,
281
296
  })) {
282
297
  switch (event.type) {
298
+ case 'thinking':
299
+ if (event.text) {
300
+ process.stdout.write(`\x1b[2m${event.text}\x1b[0m`);
301
+ }
302
+ break;
283
303
  case 'text_delta':
284
304
  process.stdout.write(event.text);
285
305
  assistantContent += event.text;
@@ -432,12 +452,12 @@ async function main() {
432
452
 
433
453
  switch (command) {
434
454
  case 'chat':
435
- const message = args.positionals.slice(1).join(' ');
436
- if (!message) {
437
- console.error('Usage: dotbot chat "your message"');
455
+ const chatMessage = args.positionals.slice(1).join(' ');
456
+ if (!chatMessage) {
457
+ console.error('Usage: dotbot "your message"');
438
458
  process.exit(1);
439
459
  }
440
- await runChat(message, args);
460
+ await runChat(chatMessage, args);
441
461
  break;
442
462
 
443
463
  case 'repl':
@@ -449,9 +469,10 @@ async function main() {
449
469
  break;
450
470
 
451
471
  default:
452
- console.error(`Unknown command: ${command}`);
453
- printHelp();
454
- process.exit(1);
472
+ // Default to chat if not a recognized command
473
+ const message = args.positionals.join(' ');
474
+ await runChat(message, args);
475
+ break;
455
476
  }
456
477
  }
457
478
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stevederico/dotbot",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "AI agent CLI and library for Node.js — streaming, multi-provider, tool execution, autonomous tasks",
5
5
  "type": "module",
6
6
  "main": "index.js",