beepctl 0.1.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/LICENSE +21 -0
- package/README.md +186 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +34 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/accounts.d.ts +3 -0
- package/dist/commands/accounts.d.ts.map +1 -0
- package/dist/commands/accounts.js +27 -0
- package/dist/commands/accounts.js.map +1 -0
- package/dist/commands/alias.d.ts +3 -0
- package/dist/commands/alias.d.ts.map +1 -0
- package/dist/commands/alias.js +79 -0
- package/dist/commands/alias.js.map +1 -0
- package/dist/commands/archive.d.ts +3 -0
- package/dist/commands/archive.d.ts.map +1 -0
- package/dist/commands/archive.js +35 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +58 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/chats.d.ts +3 -0
- package/dist/commands/chats.d.ts.map +1 -0
- package/dist/commands/chats.js +227 -0
- package/dist/commands/chats.js.map +1 -0
- package/dist/commands/contacts.d.ts +3 -0
- package/dist/commands/contacts.d.ts.map +1 -0
- package/dist/commands/contacts.js +46 -0
- package/dist/commands/contacts.js.map +1 -0
- package/dist/commands/download.d.ts +3 -0
- package/dist/commands/download.d.ts.map +1 -0
- package/dist/commands/download.js +39 -0
- package/dist/commands/download.js.map +1 -0
- package/dist/commands/focus.d.ts +3 -0
- package/dist/commands/focus.d.ts.map +1 -0
- package/dist/commands/focus.js +49 -0
- package/dist/commands/focus.js.map +1 -0
- package/dist/commands/messages.d.ts +3 -0
- package/dist/commands/messages.d.ts.map +1 -0
- package/dist/commands/messages.js +105 -0
- package/dist/commands/messages.js.map +1 -0
- package/dist/commands/reminders.d.ts +3 -0
- package/dist/commands/reminders.d.ts.map +1 -0
- package/dist/commands/reminders.js +58 -0
- package/dist/commands/reminders.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +211 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/send.d.ts +3 -0
- package/dist/commands/send.d.ts.map +1 -0
- package/dist/commands/send.js +58 -0
- package/dist/commands/send.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/aliases.d.ts +8 -0
- package/dist/lib/aliases.d.ts.map +1 -0
- package/dist/lib/aliases.js +19 -0
- package/dist/lib/aliases.js.map +1 -0
- package/dist/lib/client.d.ts +6 -0
- package/dist/lib/client.d.ts.map +1 -0
- package/dist/lib/client.js +15 -0
- package/dist/lib/client.js.map +1 -0
- package/dist/lib/command-utils.d.ts +38 -0
- package/dist/lib/command-utils.d.ts.map +1 -0
- package/dist/lib/command-utils.js +98 -0
- package/dist/lib/command-utils.js.map +1 -0
- package/dist/lib/config.d.ts +9 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +32 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/dates.d.ts +11 -0
- package/dist/lib/dates.d.ts.map +1 -0
- package/dist/lib/dates.js +74 -0
- package/dist/lib/dates.js.map +1 -0
- package/dist/lib/errors.d.ts +2 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +40 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/types.d.ts +58 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/tui/App.d.ts +2 -0
- package/dist/tui/App.d.ts.map +1 -0
- package/dist/tui/App.js +31 -0
- package/dist/tui/App.js.map +1 -0
- package/dist/tui/index.d.ts +2 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +15 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/views/ChatList.d.ts +6 -0
- package/dist/tui/views/ChatList.d.ts.map +1 -0
- package/dist/tui/views/ChatList.js +54 -0
- package/dist/tui/views/ChatList.js.map +1 -0
- package/dist/tui/views/Messages.d.ts +8 -0
- package/dist/tui/views/Messages.d.ts.map +1 -0
- package/dist/tui/views/Messages.js +70 -0
- package/dist/tui/views/Messages.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +62 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 beepcli contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# beepcli 🐝
|
|
2
|
+
|
|
3
|
+
CLI for [Beeper Desktop API](https://developers.beeper.com/desktop-api) - unified messaging from your terminal. Give your AI agents the power to chat across all your messaging platforms.
|
|
4
|
+
|
|
5
|
+
> **Disclaimer:** This is an unofficial project. Not affiliated with, endorsed by, or sponsored by Beeper. The Beeper Desktop API is still in beta — expect breaking changes.
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
- [Beeper Desktop](https://www.beeper.com/download) v4.1.169+
|
|
10
|
+
- Beeper Desktop API enabled (Settings → Developers → Enable)
|
|
11
|
+
- Node.js 20+ or Bun
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# From source
|
|
17
|
+
pnpm install
|
|
18
|
+
pnpm build
|
|
19
|
+
pnpm link --global
|
|
20
|
+
|
|
21
|
+
# Or run directly
|
|
22
|
+
pnpm dev -- <command>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Setup
|
|
26
|
+
|
|
27
|
+
1. Open Beeper Desktop
|
|
28
|
+
2. Go to **Settings → Developers**
|
|
29
|
+
3. Enable **Beeper Desktop API**
|
|
30
|
+
4. Click **"+"** next to "Approved connections" to create a token
|
|
31
|
+
5. Configure the CLI:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
beep auth set <your-token>
|
|
35
|
+
# Or use environment variable
|
|
36
|
+
export BEEPER_TOKEN=<your-token>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Configuration
|
|
40
|
+
|
|
41
|
+
Config stored at `~/.config/beepcli/config.json` with token, base URL, and aliases.
|
|
42
|
+
|
|
43
|
+
**Precedence:** Environment variables (`BEEPER_TOKEN`, `BEEPER_URL`) override config file.
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Auth management
|
|
49
|
+
beep auth show # Check auth status
|
|
50
|
+
beep auth set <token> # Set API token
|
|
51
|
+
beep auth clear # Clear stored token
|
|
52
|
+
|
|
53
|
+
# List connected accounts
|
|
54
|
+
beep accounts
|
|
55
|
+
|
|
56
|
+
# List recent chats
|
|
57
|
+
beep chats
|
|
58
|
+
beep chats --limit 50
|
|
59
|
+
beep chats --search "John"
|
|
60
|
+
|
|
61
|
+
# Search messages and chats
|
|
62
|
+
beep search "meeting tomorrow"
|
|
63
|
+
beep search "deadline" --limit 10
|
|
64
|
+
beep search "deadline" --chat work --sender me --after "1d ago"
|
|
65
|
+
beep search "photo" --media image video
|
|
66
|
+
beep search "discussion" --chat-type group --before "yesterday"
|
|
67
|
+
|
|
68
|
+
# Send messages
|
|
69
|
+
beep send <chat-id> "Hello!"
|
|
70
|
+
beep send myself "Quick note" # Send to yourself
|
|
71
|
+
beep send <chat-id> "Thanks!" --reply-to <message-id> # Reply to message
|
|
72
|
+
|
|
73
|
+
# Archive/unarchive chats
|
|
74
|
+
beep archive <chat-id> # Archive a chat
|
|
75
|
+
beep archive <chat-id> --unarchive # Unarchive a chat
|
|
76
|
+
beep archive work # Use alias to archive
|
|
77
|
+
|
|
78
|
+
# Alias management (shortcuts for chat IDs)
|
|
79
|
+
beep alias list # List all aliases
|
|
80
|
+
beep alias add work <chat-id> # Create alias
|
|
81
|
+
beep alias show work # Show alias value
|
|
82
|
+
beep alias remove work # Remove alias
|
|
83
|
+
beep send work "Using alias!" # Use alias in commands
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Search Filters
|
|
87
|
+
|
|
88
|
+
Filter search results with multiple options:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Filter by chat (supports aliases, space or comma-separated)
|
|
92
|
+
beep search "hello" --chat work family
|
|
93
|
+
beep search "test" --chat id1,id2,id3
|
|
94
|
+
|
|
95
|
+
# Filter by time range (relative dates)
|
|
96
|
+
beep search "meeting" --after "1d ago" --before "1h ago"
|
|
97
|
+
beep search "report" --after "yesterday"
|
|
98
|
+
|
|
99
|
+
# Filter by sender
|
|
100
|
+
beep search "question" --sender me # Only my messages
|
|
101
|
+
beep search "update" --sender others # Messages from others
|
|
102
|
+
|
|
103
|
+
# Filter by media type
|
|
104
|
+
beep search "screenshot" --media image
|
|
105
|
+
beep search "files" --media file link
|
|
106
|
+
|
|
107
|
+
# Filter by chat type
|
|
108
|
+
beep search "announcement" --chat-type group
|
|
109
|
+
beep search "dm" --chat-type single
|
|
110
|
+
|
|
111
|
+
# Filter by account
|
|
112
|
+
beep search "slack message" --account <account-id>
|
|
113
|
+
|
|
114
|
+
# Combine filters
|
|
115
|
+
beep search "deploy" --chat work --sender others --after "1d ago" --media link
|
|
116
|
+
|
|
117
|
+
# Include/exclude options
|
|
118
|
+
beep search "todo" --include-low-priority
|
|
119
|
+
beep search "important" --exclude-muted
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Time formats:** `1h ago`, `2d ago`, `3w ago`, `1mo ago`, `yesterday`, `today`
|
|
123
|
+
|
|
124
|
+
**Media types:** `any`, `video`, `image`, `link`, `file`
|
|
125
|
+
|
|
126
|
+
## Development
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Run in dev mode
|
|
130
|
+
pnpm dev -- accounts
|
|
131
|
+
|
|
132
|
+
# Run tests
|
|
133
|
+
pnpm test
|
|
134
|
+
|
|
135
|
+
# Lint
|
|
136
|
+
pnpm lint
|
|
137
|
+
pnpm lint:fix
|
|
138
|
+
|
|
139
|
+
# Build
|
|
140
|
+
pnpm build
|
|
141
|
+
|
|
142
|
+
# Create standalone binary
|
|
143
|
+
pnpm binary
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Project Structure
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
src/
|
|
150
|
+
├── cli.ts # Entry point - command registration
|
|
151
|
+
├── index.ts # Library exports
|
|
152
|
+
├── version.ts # Version info
|
|
153
|
+
├── commands/ # CLI commands
|
|
154
|
+
│ ├── auth.ts # Token management
|
|
155
|
+
│ ├── accounts.ts # List accounts
|
|
156
|
+
│ ├── alias.ts # Alias management
|
|
157
|
+
│ ├── archive.ts # Archive/unarchive chats
|
|
158
|
+
│ ├── chats.ts # Browse chats
|
|
159
|
+
│ ├── search.ts # Search messages/chats
|
|
160
|
+
│ └── send.ts # Send messages
|
|
161
|
+
└── lib/ # Core logic
|
|
162
|
+
├── client.ts # Beeper API client wrapper
|
|
163
|
+
├── config.ts # Config file management (~/.config/beepcli/)
|
|
164
|
+
├── aliases.ts # Alias resolution utilities
|
|
165
|
+
└── dates.ts # Relative date parsing
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Stack
|
|
169
|
+
|
|
170
|
+
- **TypeScript** with plain `tsc`
|
|
171
|
+
- **Commander** for CLI framework
|
|
172
|
+
- **Kleur** for colors/styling
|
|
173
|
+
- **Vitest** for testing
|
|
174
|
+
- **Biome** + **oxlint** for linting/formatting
|
|
175
|
+
- **Bun** for standalone binary compilation
|
|
176
|
+
- **@beeper/desktop-api** SDK
|
|
177
|
+
|
|
178
|
+
## Acknowledgments
|
|
179
|
+
|
|
180
|
+
Inspired by [beeper-cli](https://github.com/krausefx/beeper-cli) by [@krausefx](https://github.com/krausefx).
|
|
181
|
+
|
|
182
|
+
The author uses beepcli alongside [clawdbot](https://github.com/blqke/clawdbot).
|
|
183
|
+
|
|
184
|
+
## License
|
|
185
|
+
|
|
186
|
+
MIT
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { program } from "commander";
|
|
3
|
+
import kleur from "kleur";
|
|
4
|
+
import { accountsCommand } from "./commands/accounts.js";
|
|
5
|
+
import { aliasCommand } from "./commands/alias.js";
|
|
6
|
+
import { archiveCommand } from "./commands/archive.js";
|
|
7
|
+
import { authCommand } from "./commands/auth.js";
|
|
8
|
+
import { chatsCommand } from "./commands/chats.js";
|
|
9
|
+
import { contactsCommand } from "./commands/contacts.js";
|
|
10
|
+
import { downloadCommand } from "./commands/download.js";
|
|
11
|
+
import { focusCommand } from "./commands/focus.js";
|
|
12
|
+
import { messagesCommand } from "./commands/messages.js";
|
|
13
|
+
import { remindersCommand } from "./commands/reminders.js";
|
|
14
|
+
import { searchCommand } from "./commands/search.js";
|
|
15
|
+
import { sendCommand } from "./commands/send.js";
|
|
16
|
+
import { version } from "./version.js";
|
|
17
|
+
program
|
|
18
|
+
.name("beep")
|
|
19
|
+
.description(kleur.cyan("CLI for Beeper Desktop API - unified messaging from terminal"))
|
|
20
|
+
.version(version)
|
|
21
|
+
.addCommand(authCommand)
|
|
22
|
+
.addCommand(aliasCommand)
|
|
23
|
+
.addCommand(accountsCommand)
|
|
24
|
+
.addCommand(archiveCommand)
|
|
25
|
+
.addCommand(chatsCommand)
|
|
26
|
+
.addCommand(contactsCommand)
|
|
27
|
+
.addCommand(downloadCommand)
|
|
28
|
+
.addCommand(focusCommand)
|
|
29
|
+
.addCommand(messagesCommand)
|
|
30
|
+
.addCommand(remindersCommand)
|
|
31
|
+
.addCommand(sendCommand)
|
|
32
|
+
.addCommand(searchCommand)
|
|
33
|
+
.parse();
|
|
34
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO;KACL,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;KACvF,OAAO,CAAC,OAAO,CAAC;KAChB,UAAU,CAAC,WAAW,CAAC;KACvB,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,cAAc,CAAC;KAC1B,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,gBAAgB,CAAC;KAC5B,UAAU,CAAC,WAAW,CAAC;KACvB,UAAU,CAAC,aAAa,CAAC;KACzB,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,eAAe,SAuBzB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import kleur from "kleur";
|
|
3
|
+
import { getClient } from "../lib/client.js";
|
|
4
|
+
import { handleError } from "../lib/errors.js";
|
|
5
|
+
export const accountsCommand = new Command("accounts")
|
|
6
|
+
.description("List connected accounts")
|
|
7
|
+
.action(async () => {
|
|
8
|
+
try {
|
|
9
|
+
const client = getClient();
|
|
10
|
+
const accounts = await client.accounts.list();
|
|
11
|
+
if (accounts.length === 0) {
|
|
12
|
+
console.log(kleur.yellow("No accounts connected."));
|
|
13
|
+
console.log(kleur.dim("Make sure Beeper Desktop is running with API enabled."));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
console.log(kleur.bold(`\nConnected Accounts (${accounts.length})\n`));
|
|
17
|
+
for (const account of accounts) {
|
|
18
|
+
const name = account.user?.fullName || account.user?.username || account.accountID;
|
|
19
|
+
console.log(` ${kleur.cyan(account.network)} ${kleur.bold(name)}`);
|
|
20
|
+
console.log(kleur.dim(` ID: ${account.accountID}\n`));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
handleError(error);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACpD,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;YAChF,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAEvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;AACF,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["../../src/commands/alias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,YAAY,SAA0D,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import kleur from "kleur";
|
|
3
|
+
import { isValidAliasName, isValidChatId } from "../lib/aliases.js";
|
|
4
|
+
import { getConfig, saveConfig } from "../lib/config.js";
|
|
5
|
+
export const aliasCommand = new Command("alias").description("Manage chat aliases");
|
|
6
|
+
function getAliases() {
|
|
7
|
+
return getConfig().aliases || {};
|
|
8
|
+
}
|
|
9
|
+
function saveAliases(aliases) {
|
|
10
|
+
const config = getConfig();
|
|
11
|
+
config.aliases = aliases;
|
|
12
|
+
saveConfig(config);
|
|
13
|
+
}
|
|
14
|
+
aliasCommand.action(listAliases);
|
|
15
|
+
aliasCommand.command("list").description("List all aliases").action(listAliases);
|
|
16
|
+
aliasCommand
|
|
17
|
+
.command("add")
|
|
18
|
+
.description("Add or update an alias")
|
|
19
|
+
.argument("<name>", "Alias name")
|
|
20
|
+
.argument("<chat-id>", "Chat ID")
|
|
21
|
+
.action((name, chatId) => {
|
|
22
|
+
if (!isValidAliasName(name)) {
|
|
23
|
+
console.error(kleur.red("Alias name must be alphanumeric (underscores allowed, no spaces)"));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
if (!isValidChatId(chatId)) {
|
|
27
|
+
console.error(kleur.red("Chat ID must start with '!' (e.g., !abc123:beeper.local)"));
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const aliases = getAliases();
|
|
31
|
+
if (aliases[name]) {
|
|
32
|
+
console.log(kleur.yellow(`Alias '${name}' already exists (${aliases[name]}). Overwriting...`));
|
|
33
|
+
}
|
|
34
|
+
aliases[name] = chatId;
|
|
35
|
+
saveAliases(aliases);
|
|
36
|
+
console.log(kleur.green(`Alias '${name}' -> '${chatId}' saved`));
|
|
37
|
+
});
|
|
38
|
+
aliasCommand
|
|
39
|
+
.command("remove")
|
|
40
|
+
.description("Remove an alias")
|
|
41
|
+
.argument("<name>", "Alias name to remove")
|
|
42
|
+
.action((name) => {
|
|
43
|
+
const aliases = getAliases();
|
|
44
|
+
if (!aliases[name]) {
|
|
45
|
+
console.error(kleur.red(`Alias '${name}' not found`));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
delete aliases[name];
|
|
49
|
+
saveAliases(aliases);
|
|
50
|
+
console.log(kleur.yellow(`Alias '${name}' removed`));
|
|
51
|
+
});
|
|
52
|
+
aliasCommand
|
|
53
|
+
.command("show")
|
|
54
|
+
.description("Show a specific alias")
|
|
55
|
+
.argument("<name>", "Alias name")
|
|
56
|
+
.action((name) => {
|
|
57
|
+
const aliases = getAliases();
|
|
58
|
+
if (!aliases[name]) {
|
|
59
|
+
console.error(kleur.red(`Alias '${name}' not found`));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
console.log(kleur.bold(`\nAlias: ${name}\n`));
|
|
63
|
+
console.log(` Chat ID: ${kleur.cyan(aliases[name])}`);
|
|
64
|
+
});
|
|
65
|
+
function listAliases() {
|
|
66
|
+
const aliases = getAliases();
|
|
67
|
+
const entries = Object.entries(aliases);
|
|
68
|
+
if (entries.length === 0) {
|
|
69
|
+
console.log(kleur.dim("No aliases configured."));
|
|
70
|
+
console.log(kleur.dim("Add one with: beep alias add <name> <chatId>"));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
console.log(kleur.bold("\nConfigured Aliases\n"));
|
|
74
|
+
for (const [name, chatId] of entries) {
|
|
75
|
+
console.log(` ${kleur.green(name.padEnd(15))} -> ${kleur.cyan(chatId)}`);
|
|
76
|
+
}
|
|
77
|
+
console.log();
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=alias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alias.js","sourceRoot":"","sources":["../../src/commands/alias.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,cAAc,SA6BxB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import kleur from "kleur";
|
|
3
|
+
import { isValidChatId, resolveAlias } from "../lib/aliases.js";
|
|
4
|
+
import { getClient } from "../lib/client.js";
|
|
5
|
+
import { getConfig } from "../lib/config.js";
|
|
6
|
+
import { handleError } from "../lib/errors.js";
|
|
7
|
+
export const archiveCommand = new Command("archive")
|
|
8
|
+
.description("Archive or unarchive a chat")
|
|
9
|
+
.argument("<chat-id>", "Chat ID or alias to archive")
|
|
10
|
+
.option("-u, --unarchive", "Unarchive the chat instead of archiving")
|
|
11
|
+
.option("-q, --quiet", "Don't show confirmation message")
|
|
12
|
+
.action(async (chatIdOrAlias, options) => {
|
|
13
|
+
try {
|
|
14
|
+
const client = getClient();
|
|
15
|
+
const targetChatId = resolveAlias(chatIdOrAlias, getConfig());
|
|
16
|
+
if (!targetChatId && !isValidChatId(chatIdOrAlias)) {
|
|
17
|
+
console.error(kleur.red(`Invalid chat ID or alias: ${chatIdOrAlias}`));
|
|
18
|
+
console.error(kleur.dim(" Chat IDs should start with '!' (e.g., !abc123:beeper.local)"));
|
|
19
|
+
console.error(kleur.dim(` Or add an alias: beep alias add ${chatIdOrAlias} <chatId>`));
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
const chatId = targetChatId || chatIdOrAlias;
|
|
23
|
+
const archived = !options.unarchive;
|
|
24
|
+
await client.chats.archive(chatId, { archived });
|
|
25
|
+
if (!options.quiet) {
|
|
26
|
+
const action = archived ? "archived" : "unarchived";
|
|
27
|
+
console.log(kleur.green(`Chat ${action} successfully!`));
|
|
28
|
+
console.log(kleur.dim(` Chat: ${chatId}`));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
handleError(error);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KAClD,WAAW,CAAC,6BAA6B,CAAC;KAC1C,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,aAAqB,EAAE,OAAO,EAAE,EAAE;IAChD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,aAAa,WAAW,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,IAAI,aAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;QACpC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAM,gBAAgB,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;AACF,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,WAAW,SAA8D,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import kleur from "kleur";
|
|
3
|
+
import { getConfig, getConfigPath, saveConfig } from "../lib/config.js";
|
|
4
|
+
export const authCommand = new Command("auth").description("Configure authentication");
|
|
5
|
+
authCommand
|
|
6
|
+
.command("set")
|
|
7
|
+
.description("Set your Beeper API token")
|
|
8
|
+
.argument("<token>", "Your Beeper API token")
|
|
9
|
+
.action((token) => {
|
|
10
|
+
const config = getConfig();
|
|
11
|
+
config.token = token;
|
|
12
|
+
saveConfig(config);
|
|
13
|
+
console.log(kleur.green("✅ Token saved!"));
|
|
14
|
+
console.log(kleur.dim(` Config: ${getConfigPath()}`));
|
|
15
|
+
});
|
|
16
|
+
authCommand
|
|
17
|
+
.command("show")
|
|
18
|
+
.description("Show current configuration")
|
|
19
|
+
.action(() => {
|
|
20
|
+
const config = getConfig();
|
|
21
|
+
console.log(kleur.bold("\n Beeper CLI Configuration\n"));
|
|
22
|
+
// Display token status
|
|
23
|
+
if (process.env.BEEPER_TOKEN) {
|
|
24
|
+
console.log(` Token: ${kleur.green("set")} ${kleur.dim("(from BEEPER_TOKEN env)")}`);
|
|
25
|
+
}
|
|
26
|
+
else if (config.token) {
|
|
27
|
+
const masked = `${config.token.slice(0, 8)}...${config.token.slice(-4)}`;
|
|
28
|
+
console.log(` Token: ${kleur.green(masked)}`);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
console.log(` Token: ${kleur.red("not set")}`);
|
|
32
|
+
}
|
|
33
|
+
// Display URL with source indication
|
|
34
|
+
let url;
|
|
35
|
+
let urlSource;
|
|
36
|
+
if (process.env.BEEPER_URL) {
|
|
37
|
+
url = process.env.BEEPER_URL;
|
|
38
|
+
urlSource = "(from BEEPER_URL env)";
|
|
39
|
+
}
|
|
40
|
+
else if (config.baseUrl) {
|
|
41
|
+
url = config.baseUrl;
|
|
42
|
+
urlSource = "";
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
url = "http://localhost:23373";
|
|
46
|
+
urlSource = "(default)";
|
|
47
|
+
}
|
|
48
|
+
console.log(` URL: ${kleur.cyan(url)} ${kleur.dim(urlSource)}`);
|
|
49
|
+
console.log(kleur.dim(`\n Config file: ${getConfigPath()}`));
|
|
50
|
+
});
|
|
51
|
+
authCommand
|
|
52
|
+
.command("clear")
|
|
53
|
+
.description("Clear saved token")
|
|
54
|
+
.action(() => {
|
|
55
|
+
saveConfig({});
|
|
56
|
+
console.log(kleur.yellow("🗑️ Token cleared"));
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAEvF,WAAW;KACT,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEJ,WAAW;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,GAAG,EAAE;IACZ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAEzD,uBAAuB;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAW,CAAC;IAChB,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC5B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7B,SAAS,GAAG,uBAAuB,CAAC;IACrC,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QACrB,SAAS,GAAG,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,wBAAwB,CAAC;QAC/B,SAAS,GAAG,WAAW,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEJ,WAAW;KACT,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,GAAG,EAAE;IACZ,UAAU,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/commands/chats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,YAAY,SAAmD,CAAC"}
|