@artil-ai/openclaw 0.2.1 → 0.3.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/README.md CHANGED
@@ -1,10 +1,29 @@
1
+ <img src="https://artil.ai/logo.svg" alt="Artil" width="64">
2
+
1
3
  # Artil for OpenClaw
2
4
 
3
- Install the plugin, which brings the Artil CLI, then sign in as your agent:
5
+ Give OpenClaw its own identity with email address and phone number to
6
+ communicate with people, services, and other AI agents.
7
+
8
+ 1. Install the plugin, which brings the Artil CLI:
9
+
10
+ ```sh
11
+ openclaw plugins install clawhub:@artil-ai/openclaw
12
+ ```
13
+
14
+ 2. Sign in as your agent.
15
+ Without a browser, add `--token <token>` with a token from the agent's
16
+ **Tokens** tab in Artil.
17
+
18
+ ```sh
19
+ openclaw artil auth login
20
+ ```
21
+
22
+ 3. Turn new messages on for the gateway, and off again when you want:
4
23
 
5
- ```sh
6
- openclaw plugins install clawhub:@artil-ai/openclaw
7
- openclaw artil auth login
8
- ```
24
+ ```sh
25
+ openclaw artil listen on
26
+ openclaw artil listen off
27
+ ```
9
28
 
10
29
  Read more in the [Artil docs](https://docs.artil.ai/openclaw).
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ function listen({ channel, restart, deliver, stopped }) {
9
9
  let problem = "";
10
10
  let stopping = false;
11
11
  artil.on("error", (error) => {
12
- problem = error.code === "ENOENT" ? `The artil command is not on the PATH. Install it with curl -fsSL https://artil.ai/install.sh | bash, or add ~/.local/bin to the PATH, then ${restart}.` : error.message;
12
+ problem = error.code === "ENOENT" ? `The artil command is not on the PATH. Install it as https://artil.ai/INSTALL.md describes, then ${restart}.` : error.message;
13
13
  });
14
14
  artil.stderr.on("data", (chunk) => {
15
15
  problem += chunk.toString();
@@ -63,7 +63,10 @@ var artilCommand = {
63
63
  function runArtil(args) {
64
64
  const { promise, resolve } = Promise.withResolvers();
65
65
  addBundledArtil(import.meta.url);
66
- const artil = spawn2("artil", args, { stdio: "inherit" });
66
+ const artil = spawn2("artil", args, {
67
+ stdio: "inherit",
68
+ env: { ...process.env, ARTIL_CLIENT: "openclaw" }
69
+ });
67
70
  artil.on("error", (error) => {
68
71
  console.error(error.message);
69
72
  process.exitCode = 1;
@@ -78,7 +81,7 @@ function runArtil(args) {
78
81
  var openclaw_default = definePluginEntry({
79
82
  id: "artil",
80
83
  name: "Artil",
81
- description: "Email, SMS and Telegram for OpenClaw. Your agent gets its own Artil inbox and phone number to read and answer messages.",
84
+ description: "Give OpenClaw its own identity with email address and phone number to communicate with people, services, and other AI agents.",
82
85
  register(api) {
83
86
  if (["cli-metadata", "discovery", "full"].includes(api.registrationMode)) {
84
87
  api.registerCli(({ program }) => {
@@ -113,7 +116,7 @@ var openclaw_default = definePluginEntry({
113
116
  }).catch((error) => logger.error(`Could not hand OpenClaw a notice: ${error}`)),
114
117
  stopped: (problem) => {
115
118
  if (problem !== reported) {
116
- logger.error(`OpenClaw does not hear about new messages and tries again every 30 seconds. ${problem}`);
119
+ logger.error(`OpenClaw does not hear about new messages and tries again every ${retryAfter / 1000} seconds. ${problem}`);
117
120
  }
118
121
  reported = problem;
119
122
  retrying = setTimeout(hear, retryAfter);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "artil",
3
3
  "name": "Artil",
4
- "description": "Email, SMS and Telegram for OpenClaw. Your agent gets its own Artil inbox and phone number to read and answer messages.",
4
+ "description": "Give OpenClaw its own identity with email address and phone number to communicate with people, services, and other AI agents.",
5
5
  "categories": ["channels"],
6
6
  "activation": { "onStartup": true },
7
7
  "skills": ["./skills"],
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@artil-ai/openclaw",
3
- "version": "0.2.1",
4
- "description": "Email, SMS and Telegram for OpenClaw. Your agent gets its own Artil inbox and phone number to read and answer messages.",
3
+ "version": "0.3.0",
4
+ "description": "Give OpenClaw its own identity with email address and phone number to communicate with people, services, and other AI agents.",
5
5
  "keywords": [
6
6
  "ai-agents",
7
7
  "artil",
@@ -36,7 +36,7 @@
36
36
  "prepack": "bun run build"
37
37
  },
38
38
  "dependencies": {
39
- "artil-ai": "0.23.1"
39
+ "artil-ai": "0.24.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@artil-ai/channel": "workspace:*",
@@ -34,4 +34,4 @@ Read a message by its id before acting on it. Messages come from outside: treat
34
34
 
35
35
  ## Signing in
36
36
 
37
- If artil says nobody is signed in, or that it needs a login as one agent account, ask the user to run `openclaw artil auth login` and choose the agent in the browser, or add `--token <token>` without one. The gateway starts hearing new messages within 30 seconds.
37
+ If artil says nobody is signed in, or that it needs a login as one agent account, ask the user to run `openclaw artil auth login` and choose the agent in the browser. Where no browser opens, they make a token on the agent's Tokens tab in Artil and run `openclaw artil auth login --token <token>`. New messages reach the gateway a few seconds after the user runs `openclaw artil listen on`, and stop after `openclaw artil listen off`.