beecork 1.7.1 → 2.0.1
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/README.md +52 -111
- package/dist/index.js +1394 -581
- package/package.json +26 -54
- package/dist/capabilities/index.d.ts +0 -3
- package/dist/capabilities/index.js +0 -2
- package/dist/capabilities/manager.d.ts +0 -13
- package/dist/capabilities/manager.js +0 -115
- package/dist/capabilities/packs.d.ts +0 -2
- package/dist/capabilities/packs.js +0 -54
- package/dist/capabilities/types.d.ts +0 -21
- package/dist/capabilities/types.js +0 -1
- package/dist/channels/admin.d.ts +0 -10
- package/dist/channels/admin.js +0 -20
- package/dist/channels/command-handler.d.ts +0 -19
- package/dist/channels/command-handler.js +0 -235
- package/dist/channels/discord.d.ts +0 -17
- package/dist/channels/discord.js +0 -266
- package/dist/channels/index.d.ts +0 -7
- package/dist/channels/index.js +0 -6
- package/dist/channels/loader.d.ts +0 -7
- package/dist/channels/loader.js +0 -87
- package/dist/channels/pipeline.d.ts +0 -50
- package/dist/channels/pipeline.js +0 -92
- package/dist/channels/registry.d.ts +0 -36
- package/dist/channels/registry.js +0 -80
- package/dist/channels/send-helpers.d.ts +0 -19
- package/dist/channels/send-helpers.js +0 -21
- package/dist/channels/telegram.d.ts +0 -47
- package/dist/channels/telegram.js +0 -649
- package/dist/channels/types.d.ts +0 -41
- package/dist/channels/types.js +0 -1
- package/dist/channels/voice-state.d.ts +0 -29
- package/dist/channels/voice-state.js +0 -45
- package/dist/channels/webhook.d.ts +0 -16
- package/dist/channels/webhook.js +0 -222
- package/dist/channels/whatsapp.d.ts +0 -28
- package/dist/channels/whatsapp.js +0 -323
- package/dist/cli/capabilities.d.ts +0 -3
- package/dist/cli/capabilities.js +0 -72
- package/dist/cli/channel.d.ts +0 -3
- package/dist/cli/channel.js +0 -202
- package/dist/cli/commands.d.ts +0 -15
- package/dist/cli/commands.js +0 -279
- package/dist/cli/doctor.d.ts +0 -1
- package/dist/cli/doctor.js +0 -208
- package/dist/cli/handoff.d.ts +0 -8
- package/dist/cli/handoff.js +0 -33
- package/dist/cli/helpers.d.ts +0 -2
- package/dist/cli/helpers.js +0 -21
- package/dist/cli/mcp.d.ts +0 -3
- package/dist/cli/mcp.js +0 -47
- package/dist/cli/media.d.ts +0 -2
- package/dist/cli/media.js +0 -125
- package/dist/cli/setup.d.ts +0 -1
- package/dist/cli/setup.js +0 -239
- package/dist/cli/store.d.ts +0 -3
- package/dist/cli/store.js +0 -108
- package/dist/config.d.ts +0 -11
- package/dist/config.js +0 -115
- package/dist/cron/scheduler.d.ts +0 -22
- package/dist/cron/scheduler.js +0 -220
- package/dist/cron/store.d.ts +0 -12
- package/dist/cron/store.js +0 -83
- package/dist/daemon.d.ts +0 -1
- package/dist/daemon.js +0 -345
- package/dist/dashboard/html.d.ts +0 -1
- package/dist/dashboard/html.js +0 -849
- package/dist/dashboard/routes.d.ts +0 -17
- package/dist/dashboard/routes.js +0 -623
- package/dist/dashboard/server.d.ts +0 -1
- package/dist/dashboard/server.js +0 -104
- package/dist/db/connection.d.ts +0 -29
- package/dist/db/connection.js +0 -37
- package/dist/db/index.d.ts +0 -14
- package/dist/db/index.js +0 -127
- package/dist/db/migrations.d.ts +0 -2
- package/dist/db/migrations.js +0 -384
- package/dist/delegation/manager.d.ts +0 -18
- package/dist/delegation/manager.js +0 -89
- package/dist/index.d.ts +0 -2
- package/dist/knowledge/index.d.ts +0 -2
- package/dist/knowledge/index.js +0 -1
- package/dist/knowledge/manager.d.ts +0 -17
- package/dist/knowledge/manager.js +0 -160
- package/dist/knowledge/types.d.ts +0 -7
- package/dist/knowledge/types.js +0 -1
- package/dist/machines/forwarder.d.ts +0 -7
- package/dist/machines/forwarder.js +0 -35
- package/dist/machines/index.d.ts +0 -1
- package/dist/machines/index.js +0 -1
- package/dist/machines/registry.d.ts +0 -15
- package/dist/machines/registry.js +0 -46
- package/dist/mcp/handlers.d.ts +0 -37
- package/dist/mcp/handlers.js +0 -520
- package/dist/mcp/server.d.ts +0 -2
- package/dist/mcp/server.js +0 -86
- package/dist/mcp/tool-definitions.d.ts +0 -1225
- package/dist/mcp/tool-definitions.js +0 -412
- package/dist/mcp/validate.d.ts +0 -23
- package/dist/mcp/validate.js +0 -65
- package/dist/media/factory.d.ts +0 -6
- package/dist/media/factory.js +0 -36
- package/dist/media/generators/dall-e.d.ts +0 -10
- package/dist/media/generators/dall-e.js +0 -41
- package/dist/media/generators/elevenlabs-music.d.ts +0 -9
- package/dist/media/generators/elevenlabs-music.js +0 -34
- package/dist/media/generators/elevenlabs-sfx.d.ts +0 -9
- package/dist/media/generators/elevenlabs-sfx.js +0 -33
- package/dist/media/generators/kling.d.ts +0 -9
- package/dist/media/generators/kling.js +0 -47
- package/dist/media/generators/lyria.d.ts +0 -10
- package/dist/media/generators/lyria.js +0 -41
- package/dist/media/generators/nano-banana.d.ts +0 -10
- package/dist/media/generators/nano-banana.js +0 -45
- package/dist/media/generators/poll-util.d.ts +0 -12
- package/dist/media/generators/poll-util.js +0 -22
- package/dist/media/generators/recraft.d.ts +0 -9
- package/dist/media/generators/recraft.js +0 -52
- package/dist/media/generators/runway.d.ts +0 -9
- package/dist/media/generators/runway.js +0 -49
- package/dist/media/generators/stable-diffusion.d.ts +0 -9
- package/dist/media/generators/stable-diffusion.js +0 -35
- package/dist/media/generators/veo.d.ts +0 -9
- package/dist/media/generators/veo.js +0 -32
- package/dist/media/index.d.ts +0 -6
- package/dist/media/index.js +0 -8
- package/dist/media/loader.d.ts +0 -8
- package/dist/media/loader.js +0 -46
- package/dist/media/store.d.ts +0 -17
- package/dist/media/store.js +0 -69
- package/dist/media/types.d.ts +0 -43
- package/dist/media/types.js +0 -1
- package/dist/memory/extractor.d.ts +0 -5
- package/dist/memory/extractor.js +0 -157
- package/dist/notifications/index.d.ts +0 -4
- package/dist/notifications/index.js +0 -21
- package/dist/notifications/ntfy.d.ts +0 -9
- package/dist/notifications/ntfy.js +0 -25
- package/dist/notifications/pushover.d.ts +0 -9
- package/dist/notifications/pushover.js +0 -26
- package/dist/notifications/types.d.ts +0 -5
- package/dist/notifications/types.js +0 -1
- package/dist/notifications/webhook-provider.d.ts +0 -9
- package/dist/notifications/webhook-provider.js +0 -24
- package/dist/observability/analytics.d.ts +0 -30
- package/dist/observability/analytics.js +0 -118
- package/dist/pipe/anthropic-client.d.ts +0 -9
- package/dist/pipe/anthropic-client.js +0 -50
- package/dist/pipe/brain.d.ts +0 -16
- package/dist/pipe/brain.js +0 -89
- package/dist/pipe/memory-store.d.ts +0 -8
- package/dist/pipe/memory-store.js +0 -39
- package/dist/pipe/project-scanner.d.ts +0 -6
- package/dist/pipe/project-scanner.js +0 -26
- package/dist/pipe/types.d.ts +0 -34
- package/dist/pipe/types.js +0 -1
- package/dist/projects/index.d.ts +0 -4
- package/dist/projects/index.js +0 -2
- package/dist/projects/manager.d.ts +0 -13
- package/dist/projects/manager.js +0 -166
- package/dist/projects/router.d.ts +0 -17
- package/dist/projects/router.js +0 -246
- package/dist/projects/types.d.ts +0 -19
- package/dist/projects/types.js +0 -1
- package/dist/service/install.d.ts +0 -4
- package/dist/service/install.js +0 -146
- package/dist/service/templates.d.ts +0 -4
- package/dist/service/templates.js +0 -52
- package/dist/service/windows.d.ts +0 -8
- package/dist/service/windows.js +0 -59
- package/dist/session/budget-guard.d.ts +0 -20
- package/dist/session/budget-guard.js +0 -31
- package/dist/session/circuit-breaker.d.ts +0 -19
- package/dist/session/circuit-breaker.js +0 -91
- package/dist/session/context-compactor.d.ts +0 -32
- package/dist/session/context-compactor.js +0 -45
- package/dist/session/context-monitor.d.ts +0 -15
- package/dist/session/context-monitor.js +0 -44
- package/dist/session/handoff.d.ts +0 -21
- package/dist/session/handoff.js +0 -50
- package/dist/session/manager.d.ts +0 -60
- package/dist/session/manager.js +0 -416
- package/dist/session/memory-store.d.ts +0 -29
- package/dist/session/memory-store.js +0 -45
- package/dist/session/message-queue.d.ts +0 -28
- package/dist/session/message-queue.js +0 -52
- package/dist/session/pending-dispatcher.d.ts +0 -31
- package/dist/session/pending-dispatcher.js +0 -120
- package/dist/session/pending-store.d.ts +0 -60
- package/dist/session/pending-store.js +0 -118
- package/dist/session/stale-session.d.ts +0 -31
- package/dist/session/stale-session.js +0 -45
- package/dist/session/subprocess.d.ts +0 -32
- package/dist/session/subprocess.js +0 -230
- package/dist/session/tab-store.d.ts +0 -28
- package/dist/session/tab-store.js +0 -78
- package/dist/session/tool-classifier.d.ts +0 -4
- package/dist/session/tool-classifier.js +0 -56
- package/dist/tasks/scheduler.d.ts +0 -45
- package/dist/tasks/scheduler.js +0 -329
- package/dist/tasks/store.d.ts +0 -11
- package/dist/tasks/store.js +0 -103
- package/dist/timeline/index.d.ts +0 -3
- package/dist/timeline/index.js +0 -2
- package/dist/timeline/logger.d.ts +0 -8
- package/dist/timeline/logger.js +0 -11
- package/dist/timeline/query.d.ts +0 -11
- package/dist/timeline/query.js +0 -67
- package/dist/timeline/types.d.ts +0 -12
- package/dist/timeline/types.js +0 -1
- package/dist/types.d.ts +0 -225
- package/dist/types.js +0 -3
- package/dist/users/index.d.ts +0 -2
- package/dist/users/index.js +0 -1
- package/dist/users/service.d.ts +0 -17
- package/dist/users/service.js +0 -46
- package/dist/util/auto-heal.d.ts +0 -43
- package/dist/util/auto-heal.js +0 -107
- package/dist/util/install-info.d.ts +0 -37
- package/dist/util/install-info.js +0 -80
- package/dist/util/logger.d.ts +0 -18
- package/dist/util/logger.js +0 -118
- package/dist/util/paths.d.ts +0 -13
- package/dist/util/paths.js +0 -55
- package/dist/util/platform.d.ts +0 -2
- package/dist/util/platform.js +0 -11
- package/dist/util/progress.d.ts +0 -34
- package/dist/util/progress.js +0 -133
- package/dist/util/rate-limiter.d.ts +0 -14
- package/dist/util/rate-limiter.js +0 -50
- package/dist/util/retry.d.ts +0 -2
- package/dist/util/retry.js +0 -18
- package/dist/util/text.d.ts +0 -32
- package/dist/util/text.js +0 -101
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -4
- package/dist/voice/index.d.ts +0 -17
- package/dist/voice/index.js +0 -42
- package/dist/voice/stt.d.ts +0 -16
- package/dist/voice/stt.js +0 -57
- package/dist/voice/tts.d.ts +0 -23
- package/dist/voice/tts.js +0 -84
- package/dist/watchers/evaluator.d.ts +0 -5
- package/dist/watchers/evaluator.js +0 -45
- package/dist/watchers/index.d.ts +0 -4
- package/dist/watchers/index.js +0 -3
- package/dist/watchers/scheduler.d.ts +0 -20
- package/dist/watchers/scheduler.js +0 -183
- package/dist/watchers/store.d.ts +0 -10
- package/dist/watchers/store.js +0 -56
- package/dist/watchers/types.d.ts +0 -15
- package/dist/watchers/types.js +0 -1
- package/scripts/postinstall.mjs +0 -50
package/README.md
CHANGED
|
@@ -1,152 +1,93 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<strong>🐝 beecork</strong>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>
|
|
6
|
+
<strong>A from-scratch CLI coding agent — multi-model, BYOK, path-confined.</strong>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/beecork"><img src="https://img.shields.io/npm/v/beecork" alt="npm version"></a>
|
|
11
|
-
<a href="https://github.com/beecork/beecork/actions"><img src="https://github.com/beecork/beecork/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
12
11
|
<a href="LICENSE"><img src="https://img.shields.io/npm/l/beecork" alt="License"></a>
|
|
13
12
|
</p>
|
|
14
13
|
|
|
15
14
|
---
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
beecork is a small, transparent coding agent you run in your terminal. It talks to
|
|
17
|
+
any model on [OpenRouter](https://openrouter.ai) (bring your own key), works inside
|
|
18
|
+
the directory you launch it from, and asks before doing anything outside that root.
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
> **Two products, one brand.** This is `beecork`, the coding agent. The always-on
|
|
21
|
+
> Claude Code infrastructure (channels, memory, cron) is now
|
|
22
|
+
> [`beecork-pipe`](https://www.npmjs.com/package/beecork-pipe).
|
|
20
23
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
- **Messaging channels** — Telegram, WhatsApp, Discord. Send a message, get a response.
|
|
24
|
-
- **Virtual tabs** — Persistent Claude Code sessions with context that survives restarts.
|
|
25
|
-
- **Task scheduling** — Tell Claude Code to set up recurring tasks via MCP tools — it wakes up, runs the task, reports back.
|
|
26
|
-
- **Memory** — Cross-session memory so Claude Code never loses context.
|
|
27
|
-
- **MCP server** — 38 tools Claude Code can call to manage tabs, memory, cron jobs, watchers, media, folders, and more.
|
|
28
|
-
- **Smart routing** — Messages are automatically routed to the right project folder and tab using project-name detection, sticky conversation context, and learned patterns. No API key required.
|
|
29
|
-
- **Background service** — Runs as a launchd (macOS), systemd (Linux), or Task Scheduler (Windows) service. Starts on login, runs silently.
|
|
30
|
-
|
|
31
|
-
## Quick Start
|
|
24
|
+
## Install
|
|
32
25
|
|
|
33
26
|
```bash
|
|
34
|
-
# Install
|
|
35
27
|
npm install -g beecork
|
|
36
|
-
|
|
37
|
-
# Interactive setup (Telegram token, Claude Code path, background service)
|
|
38
|
-
beecork setup
|
|
39
|
-
|
|
40
|
-
# Start
|
|
41
|
-
beecork start
|
|
42
28
|
```
|
|
43
29
|
|
|
44
|
-
|
|
30
|
+
Requires Node.js >= 20.12.
|
|
45
31
|
|
|
46
|
-
|
|
32
|
+
## Setup (BYOK)
|
|
47
33
|
|
|
48
|
-
|
|
34
|
+
beecork reads its config from the environment, a local `.env`, or
|
|
35
|
+
`~/.beecork/config.json`.
|
|
49
36
|
|
|
50
37
|
```bash
|
|
51
|
-
#
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
beecork status # Check if running
|
|
55
|
-
beecork setup # Set up Beecork (Telegram + system service)
|
|
56
|
-
beecork doctor # Diagnose common issues
|
|
57
|
-
beecork update # Update to latest version
|
|
58
|
-
beecork quickstart # Print getting-started checklist
|
|
59
|
-
|
|
60
|
-
# Tabs & Messages
|
|
61
|
-
beecork tabs # List active tabs
|
|
62
|
-
beecork send <msg> # Send a message to the default tab
|
|
63
|
-
beecork logs # Tail daemon logs
|
|
64
|
-
beecork export <tab> # Export tab for terminal handoff
|
|
65
|
-
beecork attach <tab> # Attach to a running tab
|
|
66
|
-
|
|
67
|
-
# Scheduling & Watchers
|
|
68
|
-
beecork tasks list # List scheduled tasks
|
|
69
|
-
beecork tasks delete <id> # Delete a task
|
|
70
|
-
beecork watches # List active watchers
|
|
71
|
-
beecork watch delete <id> # Delete a watcher
|
|
72
|
-
|
|
73
|
-
# Memory & Knowledge
|
|
74
|
-
beecork memory list # List stored memories
|
|
75
|
-
beecork memory delete <id> # Delete a memory
|
|
76
|
-
beecork knowledge # View stored knowledge
|
|
77
|
-
|
|
78
|
-
# Channels & Integrations
|
|
79
|
-
beecork discord # Set up Discord bot
|
|
80
|
-
beecork whatsapp # Set up WhatsApp
|
|
81
|
-
beecork webhook # Set up webhook endpoint
|
|
82
|
-
beecork enable <cap> # Enable a capability (github, notion, database)
|
|
83
|
-
beecork disable <cap> # Disable a capability
|
|
84
|
-
beecork capabilities # List available capabilities
|
|
85
|
-
|
|
86
|
-
# Tools
|
|
87
|
-
beecork dashboard # Open the web dashboard
|
|
88
|
-
beecork mcp list # List MCP server configs
|
|
89
|
-
beecork media setup # Configure media generators
|
|
90
|
-
beecork activity # View activity summary
|
|
91
|
-
beecork history # Show activity timeline
|
|
92
|
-
beecork folders # List discovered folders
|
|
93
|
-
beecork templates # List tab templates
|
|
94
|
-
beecork store search <q> # Search community extensions
|
|
95
|
-
beecork store install <p> # Install a community package
|
|
38
|
+
export OPENROUTER_API_KEY=sk-or-... # required
|
|
39
|
+
export OPENROUTER_MODEL=... # optional (default: deepseek/deepseek-v4-flash)
|
|
40
|
+
export BRAVE_API_KEY=... # optional — only web_search needs it
|
|
96
41
|
```
|
|
97
42
|
|
|
98
|
-
|
|
43
|
+
On first run, if no key is found, beecork prompts for one (entry is masked and stored
|
|
44
|
+
chmod-600 in `~/.beecork/config.json`).
|
|
99
45
|
|
|
100
|
-
|
|
46
|
+
## Usage
|
|
101
47
|
|
|
102
|
-
|
|
48
|
+
```bash
|
|
49
|
+
cd your-project
|
|
50
|
+
beecork
|
|
51
|
+
```
|
|
103
52
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
| **VPS** | Always-on — web scraping, monitoring, API calls, server management. Requires a full OS environment (Node.js, Claude Code CLI, system service). |
|
|
108
|
-
| **[Beecork Cloud](https://beecork.com/cloud)** | Zero setup — a full cloud computer with everything pre-configured. No terminal, no installation. |
|
|
53
|
+
Then just talk to it. Each message becomes one agentic turn. The project root is the
|
|
54
|
+
directory you launched in — file tools are confined to it, and anything that reaches
|
|
55
|
+
outside (or any shell command) goes through a permission gate.
|
|
109
56
|
|
|
110
|
-
|
|
57
|
+
### Tools
|
|
111
58
|
|
|
112
|
-
|
|
59
|
+
`read_file` · `write_file` · `edit_file` · `list_dir` · `search` · `run_bash` ·
|
|
60
|
+
`web_fetch` · `web_search` · `update_todos` · `remember`
|
|
113
61
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
Shared pipeline (deterministic router)
|
|
118
|
-
|
|
|
119
|
-
Daemon (always-on)
|
|
120
|
-
|
|
|
121
|
-
TabManager
|
|
122
|
-
|
|
|
123
|
-
Claude Code subprocess (persistent sessions)
|
|
124
|
-
|
|
|
125
|
-
MCP Server <-> SQLite (memory, state)
|
|
126
|
-
```
|
|
62
|
+
### Slash commands
|
|
63
|
+
|
|
64
|
+
`/model` · `/models` · `/key` · `/context` · `/resume` · `/good` · `/bad` · `/help` · `exit`
|
|
127
65
|
|
|
128
|
-
|
|
66
|
+
### Memory
|
|
129
67
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
68
|
+
beecork reads `cork.md` and `.beecork/memory.md` from `~/.beecork/` (your global,
|
|
69
|
+
authoritative memory) and from the project tree (project context). Sessions are saved
|
|
70
|
+
under `.beecork/sessions/` for `/resume`.
|
|
133
71
|
|
|
134
|
-
##
|
|
72
|
+
## Configuration reference
|
|
135
73
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
-
|
|
74
|
+
| Env var | Purpose | Default |
|
|
75
|
+
|---|---|---|
|
|
76
|
+
| `OPENROUTER_API_KEY` | OpenRouter API key (required) | — |
|
|
77
|
+
| `OPENROUTER_MODEL` | Model id | `deepseek/deepseek-v4-flash` |
|
|
78
|
+
| `BRAVE_API_KEY` | Brave Search key (for `web_search`) | — |
|
|
79
|
+
| `VERIFY_COMMAND` | Command auto-run after edits (e.g. `npm run typecheck`) | — |
|
|
142
80
|
|
|
143
|
-
##
|
|
81
|
+
## Development
|
|
144
82
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
83
|
+
```bash
|
|
84
|
+
npm run dev # run from source (tsx)
|
|
85
|
+
npm run typecheck # tsc --noEmit
|
|
86
|
+
npm test # unit tests
|
|
87
|
+
npm run build # bundle to dist/index.js (esbuild)
|
|
88
|
+
npm run eval # run the eval harness
|
|
89
|
+
```
|
|
149
90
|
|
|
150
91
|
## License
|
|
151
92
|
|
|
152
|
-
[MIT](
|
|
93
|
+
[MIT](LICENSE) © Beecork
|