agenticmail 0.5.1 → 0.5.3

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.
Files changed (3) hide show
  1. package/README.md +63 -2
  2. package/dist/cli.js +17 -12
  3. package/package.json +9 -3
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # agenticmail
2
2
 
3
- The main package for [AgenticMail](https://github.com/agenticmail/agenticmail) — email infrastructure for AI agents. This is the package you install to get started.
3
+ The main package for [AgenticMail](https://github.com/agenticmail/agenticmail) — the first platform to give AI agents real email addresses and phone numbers. This is the package you install to get started.
4
4
 
5
- It bundles a setup wizard, API server launcher, and a full interactive shell with 44 commands for managing agents, sending and receiving email, configuring gateways, and more. It also re-exports everything from `@agenticmail/core` so you can use it as an SDK.
5
+ It bundles a setup wizard, API server launcher, and a full interactive shell with 44 commands for managing agents, sending and receiving email and SMS, configuring gateways, and more. It also re-exports everything from `@agenticmail/core` so you can use it as an SDK.
6
6
 
7
7
  ## Install
8
8
 
@@ -76,6 +76,66 @@ Agent emails use proper addresses like `secretary@yourdomain.com`.
76
76
 
77
77
  ---
78
78
 
79
+ ## CLI Commands
80
+
81
+ All commands are available via `agenticmail <command>` or `npx agenticmail@latest <command>`.
82
+
83
+ ### Core Commands
84
+
85
+ | Command | Description |
86
+ |---------|-------------|
87
+ | `agenticmail` | **Start the server.** Runs setup first if not initialized, then starts all services and opens the interactive shell. This is the default — just run `agenticmail` with no arguments. |
88
+ | `agenticmail setup` | **Run the setup wizard.** Walks you through system checks, account creation, service startup, email connection, phone number setup, and OpenClaw integration. Safe to re-run anytime. |
89
+ | `agenticmail start` | **Start the server and open the interactive shell.** Ensures Docker is running, Stalwart is up, and the API server is reachable. Automatically installs the auto-start service. |
90
+ | `agenticmail stop` | **Stop the server.** Kills the background API server process. If auto-start is enabled, it will restart on next boot. |
91
+ | `agenticmail status` | **Show what's running.** Displays Docker, Stalwart, API server, email connection, and auto-start service status. |
92
+
93
+ ### Integration Commands
94
+
95
+ | Command | Description |
96
+ |---------|-------------|
97
+ | `agenticmail openclaw` | **Set up AgenticMail for OpenClaw.** Starts infrastructure, creates an agent, configures the plugin, enables agent auto-spawn via hooks, and restarts the OpenClaw gateway. |
98
+
99
+ ### Service Management (Auto-Start on Boot)
100
+
101
+ AgenticMail installs a system service so your email server starts automatically when your computer boots — no manual intervention needed.
102
+
103
+ | Command | Description |
104
+ |---------|-------------|
105
+ | `agenticmail service` | **Show auto-start status.** Whether the service is installed and running. |
106
+ | `agenticmail service install` | **Install the auto-start service.** On boot, the startup script waits up to 10 minutes for Docker, checks Stalwart (starts it if needed), then launches the API server. |
107
+ | `agenticmail service uninstall` | **Remove the auto-start service.** AgenticMail will no longer start on boot. |
108
+ | `agenticmail service reinstall` | **Reinstall the service.** Use after config changes or updates to refresh the service file. |
109
+
110
+ **How auto-start works on reboot:**
111
+ 1. Computer starts → Docker Desktop launches (its own auto-start)
112
+ 2. Stalwart mail server starts (`restart: unless-stopped` in Docker)
113
+ 3. AgenticMail startup script waits for Docker to be ready (up to 10 min)
114
+ 4. Script verifies Stalwart is running (auto-starts it if needed)
115
+ 5. API server starts and begins accepting requests
116
+ 6. If the server crashes, the system service automatically restarts it
117
+
118
+ On macOS this uses a LaunchAgent (`~/Library/LaunchAgents/com.agenticmail.server.plist`). On Linux it uses a systemd user service (`~/.config/systemd/user/agenticmail.service`).
119
+
120
+ ### Maintenance Commands
121
+
122
+ | Command | Description |
123
+ |---------|-------------|
124
+ | `agenticmail update` | **Update to the latest version.** Checks npm, updates the CLI and OpenClaw plugin, and restarts the gateway. |
125
+ | `agenticmail help` | **Show available commands.** |
126
+
127
+ ### Logs
128
+
129
+ Server logs are stored in `~/.agenticmail/logs/`:
130
+
131
+ | File | Contents |
132
+ |------|----------|
133
+ | `server.log` | API server stdout |
134
+ | `server.err.log` | API server stderr |
135
+ | `startup.log` | Boot sequence log — Docker wait times, Stalwart checks, startup events |
136
+
137
+ ---
138
+
79
139
  ## Starting the Server
80
140
 
81
141
  `agenticmail start` does three things:
@@ -98,6 +158,7 @@ If the server crashes, you get clear error output showing what went wrong.
98
158
  - **Account setup** — whether the config file and database exist
99
159
  - **Server health** — API server connectivity and Stalwart reachability
100
160
  - **Email gateway** — current mode (relay or domain), provider name, domain name, polling status
161
+ - **Auto-start** — whether the system service is installed and running
101
162
 
102
163
  ---
103
164
 
package/dist/cli.js CHANGED
@@ -4574,28 +4574,33 @@ async function cmdSetup() {
4574
4574
  } catch (err) {
4575
4575
  const msg = err.message;
4576
4576
  if (msg === "DOCKER_MANUAL_START") {
4577
- spinner.fail(`Docker installed but couldn't start automatically`);
4577
+ spinner.fail(`Docker needs to be set up manually (first time only)`);
4578
4578
  log2("");
4579
- log2(` ${c2.pink(c2.bold("Don't worry! Here's how to fix this:"))}`);
4579
+ log2(` ${c2.pink(c2.bold("No worries! This only takes a minute:"))}`);
4580
4580
  log2("");
4581
- log2(` ${c2.pink("Step 1:")} Open a ${c2.bold("new terminal window")}`);
4582
- log2(` ${c2.dim("(Command + T on Mac, or open Terminal from your dock)")}`);
4581
+ log2(` ${c2.pink("Step 1:")} Check if Docker Desktop is installed`);
4582
+ log2(` ${c2.dim("Look for Docker in your Applications folder or Launchpad.")}`);
4583
+ log2(` ${c2.dim("If it's not there, install it:")}`);
4584
+ log2(` ${c2.cyan("brew install --cask docker")}`);
4585
+ log2(` ${c2.dim("(You'll need to enter your Mac password when prompted)")}`);
4583
4586
  log2("");
4584
- log2(` ${c2.pink("Step 2:")} Run this command:`);
4587
+ log2(` ${c2.pink("Step 2:")} Open Docker Desktop`);
4588
+ log2(` ${c2.dim("Double-click Docker in Applications, or run:")}`);
4585
4589
  log2(` ${c2.cyan("open -a Docker")}`);
4586
4590
  log2("");
4587
- log2(` ${c2.pink("Step 3:")} Wait for Docker Desktop to fully load`);
4588
- log2(` ${c2.dim("You'll see a whale icon in your menu bar (top of screen).")}`);
4589
- log2(` ${c2.dim("Wait until it stops animating \u2014 that means it's ready.")}`);
4591
+ log2(` ${c2.pink("Step 3:")} Accept the license agreement`);
4592
+ log2(` ${c2.dim("On first launch, Docker shows a license dialog.")}`);
4593
+ log2(` ${c2.dim('Click "Accept" to continue. It will then start loading.')}`);
4590
4594
  log2("");
4591
- log2(` ${c2.pink("Step 4:")} Close that terminal window`);
4592
- log2(` ${c2.dim("Just close the window normally (Command + W). Don't press Ctrl+C.")}`);
4595
+ log2(` ${c2.pink("Step 4:")} Wait for the whale icon`);
4596
+ log2(` ${c2.dim("You'll see a whale icon in your menu bar (top of screen).")}`);
4597
+ log2(` ${c2.dim("Wait until it stops animating \u2014 that means Docker is ready.")}`);
4593
4598
  log2("");
4594
4599
  log2(` ${c2.pink("Step 5:")} Come back here and run:`);
4595
4600
  log2(` ${c2.green("npx agenticmail@latest")}`);
4596
4601
  log2("");
4597
- log2(` ${c2.dim("That's it! Docker only needs this manual start the first time.")}`);
4598
- log2(` ${c2.dim("After that, it starts automatically.")}`);
4602
+ log2(` ${c2.dim("That's it! Docker only needs this manual setup the first time.")}`);
4603
+ log2(` ${c2.dim("After that, it starts automatically on boot.")}`);
4599
4604
  } else {
4600
4605
  spinner.fail(`Couldn't start Docker: ${msg}`);
4601
4606
  log2("");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agenticmail",
3
- "version": "0.5.1",
4
- "description": "Email infrastructure for AI agents send and receive real email programmatically",
3
+ "version": "0.5.3",
4
+ "description": "Email and SMS infrastructure for AI agents \u2014 the first platform to give agents real email addresses and phone numbers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -47,6 +47,8 @@
47
47
  "bugs": "https://github.com/agenticmail/agenticmail/issues",
48
48
  "keywords": [
49
49
  "email",
50
+ "sms",
51
+ "phone",
50
52
  "ai",
51
53
  "agent",
52
54
  "mail",
@@ -57,7 +59,11 @@
57
59
  "agenticmail",
58
60
  "llm",
59
61
  "gateway",
60
- "cloudflare"
62
+ "cloudflare",
63
+ "google-voice",
64
+ "text-message",
65
+ "verification-code",
66
+ "openclaw"
61
67
  ],
62
68
  "publishConfig": {
63
69
  "access": "public"