@ravi-hq/ravi 0.6.3 → 0.7.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.
Files changed (60) hide show
  1. package/README.md +14 -9
  2. package/dist/auth.d.ts +31 -28
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +28 -51
  5. package/dist/auth.js.map +1 -1
  6. package/dist/bin/ravi-secrets.d.ts +1 -2
  7. package/dist/bin/ravi-secrets.d.ts.map +1 -1
  8. package/dist/bin/ravi-secrets.js +7 -34
  9. package/dist/bin/ravi-secrets.js.map +1 -1
  10. package/dist/channels/email-trusted.d.ts +2 -0
  11. package/dist/channels/email-trusted.d.ts.map +1 -1
  12. package/dist/channels/email-trusted.js +18 -51
  13. package/dist/channels/email-trusted.js.map +1 -1
  14. package/dist/channels/email.d.ts +2 -0
  15. package/dist/channels/email.d.ts.map +1 -1
  16. package/dist/channels/email.js +18 -60
  17. package/dist/channels/email.js.map +1 -1
  18. package/dist/cli.d.ts +13 -6
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +65 -382
  21. package/dist/cli.js.map +1 -1
  22. package/dist/client.d.ts +13 -28
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +22 -63
  25. package/dist/client.js.map +1 -1
  26. package/dist/config.d.ts +1 -1
  27. package/dist/config.js +1 -1
  28. package/dist/index.d.ts +17 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +156 -45
  31. package/dist/index.js.map +1 -1
  32. package/dist/polling.d.ts +2 -12
  33. package/dist/polling.d.ts.map +1 -1
  34. package/dist/polling.js +2 -36
  35. package/dist/polling.js.map +1 -1
  36. package/dist/tools/identity.d.ts +0 -7
  37. package/dist/tools/identity.d.ts.map +1 -1
  38. package/dist/tools/identity.js.map +1 -1
  39. package/dist/tools/passwords.d.ts +1 -7
  40. package/dist/tools/passwords.d.ts.map +1 -1
  41. package/dist/tools/passwords.js +18 -58
  42. package/dist/tools/passwords.js.map +1 -1
  43. package/dist/tools/secrets.d.ts +1 -3
  44. package/dist/tools/secrets.d.ts.map +1 -1
  45. package/dist/tools/secrets.js +11 -37
  46. package/dist/tools/secrets.js.map +1 -1
  47. package/dist/types.d.ts +85 -6
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/types.js +1 -2
  50. package/dist/types.js.map +1 -1
  51. package/dist/utils.d.ts +0 -6
  52. package/dist/utils.d.ts.map +1 -1
  53. package/dist/utils.js +0 -18
  54. package/dist/utils.js.map +1 -1
  55. package/openclaw.plugin.json +1 -0
  56. package/package.json +1 -5
  57. package/dist/crypto.d.ts +0 -156
  58. package/dist/crypto.d.ts.map +0 -1
  59. package/dist/crypto.js +0 -350
  60. package/dist/crypto.js.map +0 -1
package/README.md CHANGED
@@ -10,7 +10,7 @@ encrypted secrets store through a single plugin.
10
10
  ## Features
11
11
 
12
12
  - **2 messaging channels** -- real-time email via cursor-based polling (owner, trusted)
13
- - **28 agent tools** -- manage identities, inboxes, passwords, secrets, contacts, and more
13
+ - **29 agent tools** -- manage identities, inboxes, passwords, secrets, contacts, and more
14
14
  - **E2E encryption** -- PIN-based Argon2id + NaCl SealedBox, compatible with Ravi CLI
15
15
  - **DM policy controls** -- allowlist or open policy per channel account
16
16
  - **Lazy crypto** -- encryption keys derived on first use, not at startup
@@ -30,7 +30,7 @@ openclaw ravi onboard
30
30
 
31
31
  `onboard` authenticates (device-code flow + E2E encryption PIN), selects an
32
32
  identity, auto-configures OpenClaw, and sets up the `ravi-secrets` provider.
33
- Credentials are stored in `~/.ravi/auth.json` and `identityUuid` is set via
33
+ Credentials are stored in `~/.ravi/config.json` and `identityUuid` is set via
34
34
  `openclaw config set`. No manual config editing needed.
35
35
 
36
36
  The auth flow matches the Ravi Go CLI exactly:
@@ -43,7 +43,7 @@ Use `openclaw ravi login` to re-authenticate without changing identity or config
43
43
 
44
44
  ## Configuration
45
45
 
46
- Authentication is stored in `~/.ravi/auth.json` (written by `openclaw ravi login` or `onboard`).
46
+ Authentication is stored in `~/.ravi/config.json` (written by `openclaw ravi login` or `onboard`).
47
47
  The `identityUuid` is set automatically by `openclaw ravi onboard` via `openclaw config set`.
48
48
 
49
49
  Manual plugin config is only needed for multi-agent setups where different agents
@@ -90,7 +90,7 @@ Real-time email channel powered by cursor-based polling from the Ravi backend.
90
90
 
91
91
  ## Agent Tools
92
92
 
93
- The plugin registers 28 tools that agents can invoke.
93
+ The plugin registers 29 tools that agents can invoke.
94
94
 
95
95
  ### Identity
96
96
 
@@ -164,6 +164,7 @@ Run these via `openclaw ravi <command>`:
164
164
  | `login` | Authenticate via device-code flow and set up E2E encryption PIN |
165
165
  | `onboard` | Full setup: auth + identity selection + OpenClaw config + secrets provider |
166
166
  | `status` | Show auth status and list available identities |
167
+ | `create-agent-key <uuid> [label]` | Create an identity key for a sub-agent (requires management key) |
167
168
 
168
169
  ## E2E Encryption
169
170
 
@@ -177,7 +178,7 @@ end-to-end using a 6-digit PIN.
177
178
  - **Returning login:** Enter PIN (3 attempts), verify against server verifier + public key match
178
179
  - **Recovery key:** Saved to `~/.ravi/recovery-key.txt` during first-time setup
179
180
 
180
- After login, the derived keypair is stored in `~/.ravi/auth.json`. Subsequent operations
181
+ After login, the derived keypair is stored in `~/.ravi/config.json`. Subsequent operations
181
182
  use the stored keypair directly — no PIN re-entry needed.
182
183
 
183
184
  ## Secrets Provider
@@ -207,7 +208,7 @@ Then reference secrets anywhere a secret is accepted:
207
208
  ### Requirements
208
209
 
209
210
  - You must run `openclaw ravi onboard` (or `login`) first -- the binary reads
210
- credentials from `~/.ravi/auth.json`.
211
+ credentials from `~/.ravi/config.json`.
211
212
  - Secrets are decrypted automatically using the E2E keypair stored
212
213
  during login. If no keypair is found, raw (encrypted) values are returned.
213
214
 
@@ -220,7 +221,7 @@ Agent (OpenClaw runtime)
220
221
  | '-- Polling --> GET /api/email-messages/?direction=incoming&created_after=...
221
222
  | Events arrive in plaintext (server decrypts before dispatch)
222
223
  |
223
- +-- Tools (28 agent tools)
224
+ +-- Tools (29 agent tools)
224
225
  | '-- REST calls --> GET/POST/DELETE /api/...
225
226
  | Identity-scoped via bound JWT claims (identity_uuid in token)
226
227
  | Returns MCP-style content arrays
@@ -285,9 +286,13 @@ src/
285
286
  types.ts # TypeScript interfaces for API responses and polling events
286
287
  client.ts # RaviClient -- typed HTTP client for all REST endpoints
287
288
  polling.ts # RaviPollingClient -- cursor-based polling for email events
288
- crypto.ts # E2E encryption (Argon2id + NaCl SealedBox)
289
289
  polling-pool.ts # Polling connection pool (ref-counted, one client per identity)
290
- cli.ts # CLI commands (login, onboard, status)
290
+ auth.ts # Auth persistence (loadConfig, saveConfig, resolveApiKey)
291
+ config.ts # Build-time API URL configuration
292
+ utils.ts # Shared utilities (tryDecrypt, wrapInHtml)
293
+ runtime.ts # PluginRuntime singleton for channel gateway adapters
294
+ attachments.ts # Email attachment validation helpers
295
+ cli.ts # CLI commands (login, onboard, status, create-agent-key)
291
296
  bin/
292
297
  ravi-secrets.ts # OpenClaw exec secrets provider binary
293
298
  channels/
package/dist/auth.d.ts CHANGED
@@ -1,41 +1,44 @@
1
1
  /**
2
2
  * Auth and config persistence for the Ravi plugin.
3
3
  *
4
- * Mirrors the Go CLI's config package reads/writes ~/.ravi/auth.json
5
- * and ~/.ravi/config.json with the same format and permissions.
4
+ * All keys and identity config live in a single file: ~/.ravi/config.json
5
+ * Per-directory .ravi/config.json can override the global file.
6
6
  *
7
7
  * @module auth
8
8
  */
9
- /** Auth config matching the Go CLI's AuthConfig struct. */
10
- export interface AuthConfig {
11
- access_token: string;
12
- refresh_token: string;
13
- expires_at?: string;
9
+ /** Ravi config all keys and identity info in one file. */
10
+ export interface RaviConfig {
11
+ management_key?: string;
14
12
  user_email?: string;
15
- pin_salt?: string;
16
- public_key?: string;
17
- private_key?: string;
18
- bound_access_token?: string;
19
- bound_refresh_token?: string;
20
- }
21
- /** Identity config matching the Go CLI's Config struct. */
22
- export interface IdentityConfig {
13
+ identity_key?: string;
23
14
  identity_uuid?: string;
24
15
  identity_name?: string;
25
16
  }
26
17
  /** Returns the global config directory (~/.ravi/). */
27
18
  export declare function configDir(): string;
28
- /** Load auth config from ~/.ravi/auth.json. Returns null if file doesn't exist. */
29
- export declare function loadAuth(): AuthConfig | null;
30
- /** Save auth config to ~/.ravi/auth.json with 0600 permissions. */
31
- export declare function saveAuth(cfg: AuthConfig): void;
32
- /** Update specific fields in auth.json without overwriting the rest.
33
- * Not safe for concurrent callers — serialize externally (e.g. via RaviClient's refreshPromise). */
34
- export declare function updateAuth(updates: Partial<AuthConfig>): void;
35
- /** Load identity config from ~/.ravi/config.json. Returns null if file doesn't exist. */
36
- export declare function loadConfig(): IdentityConfig | null;
37
- /** Save identity config to ~/.ravi/config.json with 0600 permissions. */
38
- export declare function saveConfig(cfg: IdentityConfig): void;
39
- /** Save recovery key to ~/.ravi/recovery-key.txt with 0600 permissions. */
40
- export declare function saveRecoveryKey(key: string): string;
19
+ /** Load config from ~/.ravi/config.json. Returns null if file doesn't exist. */
20
+ export declare function loadConfig(): RaviConfig | null;
21
+ /** Save config to ~/.ravi/config.json with 0600 permissions. */
22
+ export declare function saveConfig(cfg: RaviConfig): void;
23
+ /** Prefix for management API keys. */
24
+ export declare const MGMT_KEY_PREFIX = "ravi_mgmt_";
25
+ /** Prefix for identity-scoped API keys. */
26
+ export declare const IDENTITY_KEY_PREFIX = "ravi_id_";
27
+ /**
28
+ * Resolve the API key to use for Ravi API calls.
29
+ *
30
+ * Priority:
31
+ * 1. pluginConfig.identityKey (per-agent, from OpenClaw config)
32
+ * 2. file identity_key (global ~/.ravi/config.json)
33
+ * 3. file management_key (main agent fallback)
34
+ *
35
+ * Call without arguments for file-only resolution (e.g. ravi-secrets binary).
36
+ */
37
+ export declare function resolveApiKey(pluginConfig?: {
38
+ identityKey?: string;
39
+ }): string | null;
40
+ export type AuthConfig = RaviConfig;
41
+ export type IdentityConfig = RaviConfig;
42
+ export declare const loadAuth: typeof loadConfig;
43
+ export declare const saveAuth: typeof saveConfig;
41
44
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,sDAAsD;AACtD,wBAAgB,SAAS,IAAI,MAAM,CAElC;AASD,mFAAmF;AACnF,wBAAgB,QAAQ,IAAI,UAAU,GAAG,IAAI,CAiB5C;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAI9C;AAED;qGACqG;AACrG,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAQ7D;AAID,yFAAyF;AACzF,wBAAgB,UAAU,IAAI,cAAc,GAAG,IAAI,CAiBlD;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAIpD;AAID,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,sDAAsD;AACtD,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAOD,gFAAgF;AAChF,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAiB9C;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAIhD;AAID,sCAAsC;AACtC,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAI9C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAIpF;AAGD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC;AACpC,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AACxC,eAAO,MAAM,QAAQ,mBAAa,CAAC;AACnC,eAAO,MAAM,QAAQ,mBAAa,CAAC"}
package/dist/auth.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Auth and config persistence for the Ravi plugin.
3
3
  *
4
- * Mirrors the Go CLI's config package reads/writes ~/.ravi/auth.json
5
- * and ~/.ravi/config.json with the same format and permissions.
4
+ * All keys and identity config live in a single file: ~/.ravi/config.json
5
+ * Per-directory .ravi/config.json can override the global file.
6
6
  *
7
7
  * @module auth
8
8
  */
@@ -10,9 +10,7 @@ import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
10
10
  import { join } from "node:path";
11
11
  import { homedir } from "node:os";
12
12
  const CONFIG_DIR_NAME = ".ravi";
13
- const AUTH_FILE_NAME = "auth.json";
14
13
  const CONFIG_FILE_NAME = "config.json";
15
- const RECOVERY_KEY_FILE_NAME = "recovery-key.txt";
16
14
  const DIR_PERM = 0o700;
17
15
  const FILE_PERM = 0o600;
18
16
  /** Returns the global config directory (~/.ravi/). */
@@ -23,44 +21,7 @@ export function configDir() {
23
21
  function ensureDir() {
24
22
  mkdirSync(configDir(), { recursive: true, mode: DIR_PERM });
25
23
  }
26
- // ─── Auth ─────────────────────────────────────────────────────────────────────
27
- /** Load auth config from ~/.ravi/auth.json. Returns null if file doesn't exist. */
28
- export function loadAuth() {
29
- const filePath = join(configDir(), AUTH_FILE_NAME);
30
- let data;
31
- try {
32
- data = readFileSync(filePath, "utf-8");
33
- }
34
- catch (err) {
35
- if (err.code === "ENOENT")
36
- return null;
37
- throw err;
38
- }
39
- try {
40
- return JSON.parse(data);
41
- }
42
- catch {
43
- throw new Error(`Failed to parse ${filePath}: file may be corrupted. ` +
44
- `Delete it and run 'openclaw ravi login' to re-authenticate.`);
45
- }
46
- }
47
- /** Save auth config to ~/.ravi/auth.json with 0600 permissions. */
48
- export function saveAuth(cfg) {
49
- ensureDir();
50
- const data = JSON.stringify(cfg, null, 2) + "\n";
51
- writeFileSync(join(configDir(), AUTH_FILE_NAME), data, { mode: FILE_PERM });
52
- }
53
- /** Update specific fields in auth.json without overwriting the rest.
54
- * Not safe for concurrent callers — serialize externally (e.g. via RaviClient's refreshPromise). */
55
- export function updateAuth(updates) {
56
- const existing = loadAuth();
57
- if (!existing) {
58
- throw new Error("Cannot update auth: ~/.ravi/auth.json not found. Run 'openclaw ravi login' first.");
59
- }
60
- saveAuth({ ...existing, ...updates });
61
- }
62
- // ─── Config (identity selector) ───────────────────────────────────────────────
63
- /** Load identity config from ~/.ravi/config.json. Returns null if file doesn't exist. */
24
+ /** Load config from ~/.ravi/config.json. Returns null if file doesn't exist. */
64
25
  export function loadConfig() {
65
26
  const filePath = join(configDir(), CONFIG_FILE_NAME);
66
27
  let data;
@@ -77,21 +38,37 @@ export function loadConfig() {
77
38
  }
78
39
  catch {
79
40
  throw new Error(`Failed to parse ${filePath}: file may be corrupted. ` +
80
- `Delete it and run 'openclaw ravi login' to reconfigure.`);
41
+ `Delete it and run 'openclaw ravi login' to re-authenticate.`);
81
42
  }
82
43
  }
83
- /** Save identity config to ~/.ravi/config.json with 0600 permissions. */
44
+ /** Save config to ~/.ravi/config.json with 0600 permissions. */
84
45
  export function saveConfig(cfg) {
85
46
  ensureDir();
86
47
  const data = JSON.stringify(cfg, null, 2) + "\n";
87
48
  writeFileSync(join(configDir(), CONFIG_FILE_NAME), data, { mode: FILE_PERM });
88
49
  }
89
- // ─── Recovery Key ─────────────────────────────────────────────────────────────
90
- /** Save recovery key to ~/.ravi/recovery-key.txt with 0600 permissions. */
91
- export function saveRecoveryKey(key) {
92
- ensureDir();
93
- const filePath = join(configDir(), RECOVERY_KEY_FILE_NAME);
94
- writeFileSync(filePath, key + "\n", { mode: FILE_PERM });
95
- return filePath;
50
+ // ─── Key Prefix Constants ───────────────────────────────────────────────────
51
+ /** Prefix for management API keys. */
52
+ export const MGMT_KEY_PREFIX = "ravi_mgmt_";
53
+ /** Prefix for identity-scoped API keys. */
54
+ export const IDENTITY_KEY_PREFIX = "ravi_id_";
55
+ // ─── Centralized Key Resolution ─────────────────────────────────────────────
56
+ /**
57
+ * Resolve the API key to use for Ravi API calls.
58
+ *
59
+ * Priority:
60
+ * 1. pluginConfig.identityKey (per-agent, from OpenClaw config)
61
+ * 2. file identity_key (global ~/.ravi/config.json)
62
+ * 3. file management_key (main agent fallback)
63
+ *
64
+ * Call without arguments for file-only resolution (e.g. ravi-secrets binary).
65
+ */
66
+ export function resolveApiKey(pluginConfig) {
67
+ if (pluginConfig?.identityKey)
68
+ return pluginConfig.identityKey;
69
+ const config = loadConfig();
70
+ return config?.identity_key || config?.management_key || null;
96
71
  }
72
+ export const loadAuth = loadConfig;
73
+ export const saveAuth = saveConfig;
97
74
  //# sourceMappingURL=auth.js.map
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AACvC,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,SAAS,GAAG,KAAK,CAAC;AAWxB,sDAAsD;AACtD,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC1C,CAAC;AAED,oDAAoD;AACpD,SAAS,SAAS;IAChB,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,2BAA2B;YACpD,6DAA6D,CAChE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,UAAU,CAAC,GAAe;IACxC,SAAS,EAAE,CAAC;IACZ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,+EAA+E;AAE/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,YAAuC;IACnE,IAAI,YAAY,EAAE,WAAW;QAAE,OAAO,YAAY,CAAC,WAAW,CAAC;IAC/D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,EAAE,YAAY,IAAI,MAAM,EAAE,cAAc,IAAI,IAAI,CAAC;AAChE,CAAC;AAKD,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC"}
@@ -6,8 +6,7 @@
6
6
  * stdin: { "protocolVersion": 1, "provider": "ravi", "ids": ["key1", "key2"] }
7
7
  * stdout: { "protocolVersion": 1, "values": { "key1": "val1", "key2": "val2" } }
8
8
  *
9
- * Reads auth credentials from ~/.ravi/auth.json (written by `openclaw ravi onboard`).
10
- * Decrypts secrets using the stored E2E keypair.
9
+ * Reads auth credentials from ~/.ravi/config.json (written by `openclaw ravi onboard`).
11
10
  *
12
11
  * Usage in OpenClaw config:
13
12
  * secrets:
@@ -1 +1 @@
1
- {"version":3,"file":"ravi-secrets.d.ts","sourceRoot":"","sources":["../../src/bin/ravi-secrets.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
1
+ {"version":3,"file":"ravi-secrets.d.ts","sourceRoot":"","sources":["../../src/bin/ravi-secrets.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -6,8 +6,7 @@
6
6
  * stdin: { "protocolVersion": 1, "provider": "ravi", "ids": ["key1", "key2"] }
7
7
  * stdout: { "protocolVersion": 1, "values": { "key1": "val1", "key2": "val2" } }
8
8
  *
9
- * Reads auth credentials from ~/.ravi/auth.json (written by `openclaw ravi onboard`).
10
- * Decrypts secrets using the stored E2E keypair.
9
+ * Reads auth credentials from ~/.ravi/config.json (written by `openclaw ravi onboard`).
11
10
  *
12
11
  * Usage in OpenClaw config:
13
12
  * secrets:
@@ -21,8 +20,7 @@
21
20
  */
22
21
  import { RAVI_API_URL } from "../config.js";
23
22
  import { RaviClient } from "../client.js";
24
- import { createCryptoManagerFromKeyPair } from "../crypto.js";
25
- import { loadAuth } from "../auth.js";
23
+ import { resolveApiKey } from "../auth.js";
26
24
  async function main() {
27
25
  // Read JSON request from stdin
28
26
  const chunks = [];
@@ -50,45 +48,20 @@ async function main() {
50
48
  writeResponse({ protocolVersion: 1, values: {} });
51
49
  return;
52
50
  }
53
- // Load auth
54
- const auth = loadAuth();
55
- if (!auth?.access_token) {
51
+ // Load API key from file config (no pluginConfig in standalone binary)
52
+ const apiKey = resolveApiKey();
53
+ if (!apiKey) {
56
54
  writeError("Not authenticated. Run 'openclaw ravi onboard' first.");
57
55
  return;
58
56
  }
59
- // Create client prefer bound (identity-scoped) tokens when available
60
- const client = new RaviClient({
61
- apiUrl: RAVI_API_URL,
62
- token: auth.bound_access_token || auth.access_token,
63
- refreshToken: auth.bound_refresh_token || auth.refresh_token,
64
- });
65
- // Create crypto manager for decryption
66
- let decrypt;
67
- if (auth.public_key && auth.private_key) {
68
- try {
69
- const crypto = createCryptoManagerFromKeyPair(auth.public_key, auth.private_key);
70
- decrypt = (value) => crypto.decrypt(value);
71
- }
72
- catch {
73
- // Continue without decryption — return raw (encrypted) values
74
- }
75
- }
57
+ const client = new RaviClient({ apiUrl: RAVI_API_URL, apiKey });
76
58
  // Fetch each requested secret
77
59
  const values = {};
78
60
  const errors = {};
79
61
  await Promise.all(request.ids.map(async (key) => {
80
62
  try {
81
63
  const secret = await client.getSecret(key);
82
- let value = secret.value;
83
- if (decrypt && value) {
84
- try {
85
- value = await decrypt(value);
86
- }
87
- catch {
88
- // Return raw value if decryption fails
89
- }
90
- }
91
- values[key] = value;
64
+ values[key] = secret.value;
92
65
  }
93
66
  catch (err) {
94
67
  errors[key] = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"ravi-secrets.js","sourceRoot":"","sources":["../../src/bin/ravi-secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ravi-secrets.js","sourceRoot":"","sources":["../../src/bin/ravi-secrets.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface EmailTrustedAccountConfig {
7
7
  identityName: string;
8
8
  /** The email address provisioned for this identity. */
9
9
  email: string;
10
+ /** Per-agent identity key from OpenClaw plugin config (multi-agent setups). */
11
+ identityKey?: string;
10
12
  }
11
13
  /** Normalized inbound message envelope produced by {@link normalizeInbound}. */
12
14
  export interface EmailTrustedInboundEnvelope {
@@ -1 +1 @@
1
- {"version":3,"file":"email-trusted.d.ts","sourceRoot":"","sources":["../../src/channels/email-trusted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIlE,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACxC,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAID,gFAAgF;AAChF,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAID,wEAAwE;AACxE,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;AAIvF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;;;QAkBnC;;WAEG;8BACmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,EAAE;QAiBxD;;WAEG;8BAEI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACjB,MAAM,KAChB,yBAAyB;;IAe9B;;;;OAIG;4BAEM,UAAU,WACR,yBAAyB,GACjC,2BAA2B,GAAG,IAAI;IAgBrC;;;;OAIG;2BACoB,MAAM,aAAa,MAAM,YAAY,MAAM,GAAG,MAAM;;QAOzE;;;;;WAKG;4BACuB,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAAC;;EAmMzE;AAED,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;QAzR9B;;WAEG;8BACmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,EAAE;QAiBxD;;WAEG;8BAEI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACjB,MAAM,KAChB,yBAAyB;;IAe9B;;;;OAIG;4BAEM,UAAU,WACR,yBAAyB,GACjC,2BAA2B,GAAG,IAAI;IAgBrC;;;;OAIG;2BACoB,MAAM,aAAa,MAAM,YAAY,MAAM,GAAG,MAAM;;QAOzE;;;;;WAKG;4BACuB,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAAC;;CAsMR,CAAC"}
1
+ {"version":3,"file":"email-trusted.d.ts","sourceRoot":"","sources":["../../src/channels/email-trusted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIlE,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACxC,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,gFAAgF;AAChF,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAID,wEAAwE;AACxE,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;AAIvF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;;;QAkBnC;;WAEG;8BACmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,EAAE;QAiBxD;;WAEG;8BAEI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACjB,MAAM,KAChB,yBAAyB;;IA0B9B;;;;OAIG;4BAEM,UAAU,WACR,yBAAyB,GACjC,2BAA2B,GAAG,IAAI;IAgBrC;;;;OAIG;2BACoB,MAAM,aAAa,MAAM,YAAY,MAAM,GAAG,MAAM;;QAOzE;;;;;WAKG;4BACuB,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAAC;;EA2JzE;AAED,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;QA5P9B;;WAEG;8BACmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,EAAE;QAiBxD;;WAEG;8BAEI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACjB,MAAM,KAChB,yBAAyB;;IA0B9B;;;;OAIG;4BAEM,UAAU,WACR,yBAAyB,GACjC,2BAA2B,GAAG,IAAI;IAgBrC;;;;OAIG;2BACoB,MAAM,aAAa,MAAM,YAAY,MAAM,GAAG,MAAM;;QAOzE;;;;;WAKG;4BACuB,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAAC;;CA8JR,CAAC"}
@@ -41,12 +41,19 @@ export function createEmailTrustedChannel() {
41
41
  resolveAccount: (cfg, accountId) => {
42
42
  const channels = cfg.channels;
43
43
  const found = channels?.["ravi-email-trusted"]?.accounts?.[accountId];
44
- if (found)
44
+ // Extract per-agent identity key from plugin config (multi-agent setups)
45
+ const plugins = cfg.plugins;
46
+ const pluginIdentityKey = plugins?.entries?.ravi?.config?.identityKey;
47
+ if (found) {
48
+ if (pluginIdentityKey)
49
+ found.identityKey = pluginIdentityKey;
45
50
  return found;
51
+ }
46
52
  return {
47
53
  identityUuid: accountId,
48
54
  identityName: "",
49
55
  email: "",
56
+ identityKey: pluginIdentityKey,
50
57
  };
51
58
  },
52
59
  },
@@ -92,10 +99,10 @@ export function createEmailTrustedChannel() {
92
99
  warn: (...args) => console.warn("[ravi-email-trusted]", ...args),
93
100
  error: (...args) => console.error("[ravi-email-trusted]", ...args),
94
101
  };
95
- let getRaviRuntime, loadAuth, updateAuth, RAVI_API_URL, RaviClient, acquirePollingClient, releasePollingClient;
102
+ let getRaviRuntime, resolveApiKey, RAVI_API_URL, RaviClient, acquirePollingClient, releasePollingClient;
96
103
  try {
97
104
  ({ getRaviRuntime } = await import("../runtime.js"));
98
- ({ loadAuth, updateAuth } = await import("../auth.js"));
105
+ ({ resolveApiKey } = await import("../auth.js"));
99
106
  ({ RAVI_API_URL } = await import("../config.js"));
100
107
  ({ RaviClient } = await import("../client.js"));
101
108
  ({ acquirePollingClient, releasePollingClient } = await import("../polling-pool.js"));
@@ -106,29 +113,12 @@ export function createEmailTrustedChannel() {
106
113
  return;
107
114
  }
108
115
  const runtime = getRaviRuntime();
109
- const auth = loadAuth();
110
- if (!auth?.access_token) {
111
- log.error("[ravi-email-trusted] No auth credentials — cannot start email-trusted channel. Run 'openclaw ravi login'.");
116
+ const apiKey = ctx.account.identityKey || resolveApiKey();
117
+ if (!apiKey) {
118
+ log.error("[ravi-email-trusted] No API key — cannot start email-trusted channel. Run 'openclaw ravi login'.");
112
119
  return;
113
120
  }
114
- let currentToken = auth.bound_access_token || auth.access_token;
115
- let poller = null;
116
- const client = new RaviClient({
117
- apiUrl: RAVI_API_URL,
118
- token: auth.bound_access_token || auth.access_token,
119
- refreshToken: auth.bound_refresh_token || auth.refresh_token,
120
- onTokenRefresh: (newToken) => {
121
- currentToken = newToken;
122
- try {
123
- updateAuth({ bound_access_token: newToken });
124
- }
125
- catch (err) {
126
- const detail = err instanceof Error ? err.message : String(err);
127
- log.error(`[ravi-email-trusted] Failed to persist refreshed token: ${detail}`);
128
- }
129
- poller?.updateToken(newToken);
130
- },
131
- });
121
+ const client = new RaviClient({ apiUrl: RAVI_API_URL, apiKey });
132
122
  let email = ctx.account.email;
133
123
  let identityName = ctx.account.identityName;
134
124
  if (!email) {
@@ -139,15 +129,8 @@ export function createEmailTrustedChannel() {
139
129
  identityName = identity?.display_name ?? identity?.name ?? ctx.accountId;
140
130
  }
141
131
  catch (err) {
142
- if (err?.name === "RaviApiError") {
143
- const status = err.status;
144
- log.error(`[ravi-email-trusted] Failed to fetch identity details (HTTP ${status}): ${err.message}` +
145
- (status === 401 ? ". Token may be expired — run 'openclaw ravi login'." : ""));
146
- }
147
- else {
148
- const detail = err instanceof Error ? err.message : String(err);
149
- log.error(`[ravi-email-trusted] Failed to fetch identity details: ${detail}`);
150
- }
132
+ const detail = err instanceof Error ? err.message : String(err);
133
+ log.error(`[ravi-email-trusted] Failed to fetch identity details: ${detail}`);
151
134
  return;
152
135
  }
153
136
  }
@@ -156,25 +139,9 @@ export function createEmailTrustedChannel() {
156
139
  return;
157
140
  }
158
141
  log.info(`[ravi-email-trusted] Starting email-trusted channel for ${identityName} (${email})`);
159
- poller = acquirePollingClient({
142
+ const poller = acquirePollingClient({
160
143
  apiUrl: RAVI_API_URL,
161
- token: currentToken,
162
- onAuthFailure: async () => {
163
- const tokenBefore = currentToken;
164
- try {
165
- await client.listIdentities();
166
- }
167
- catch (err) {
168
- const detail = err instanceof Error ? err.message : String(err);
169
- log.error(`[ravi-email-trusted] Auth refresh failed during polling reconnect: ${detail}. Run 'openclaw ravi login' to re-authenticate.`);
170
- return null;
171
- }
172
- if (currentToken === tokenBefore) {
173
- log.warn(`[ravi-email-trusted] Auth refresh did not produce a new token — polling auth failure is not recoverable via REST refresh`);
174
- return null;
175
- }
176
- return currentToken;
177
- },
144
+ apiKey,
178
145
  }, ctx.accountId);
179
146
  poller.onEmailTrusted((event) => {
180
147
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"email-trusted.js","sourceRoot":"","sources":["../../src/channels/email-trusted.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-trusted.js","sourceRoot":"","sources":["../../src/channels/email-trusted.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface EmailAccountConfig {
8
8
  identityName: string;
9
9
  /** The email address provisioned for this identity. */
10
10
  email: string;
11
+ /** Per-agent identity key from OpenClaw plugin config (multi-agent setups). */
12
+ identityKey?: string;
11
13
  }
12
14
  /**
13
15
  * Thread context passed alongside outbound messages so the channel
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/channels/email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/channels/email.ts"],"names":[],"mappings":"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"}