@ravi-hq/ravi 0.4.1 → 0.5.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.
@@ -28,30 +28,44 @@ export function createSmsChannel() {
28
28
  /**
29
29
  * List all configured account IDs (identity UUIDs) for the ravi-sms channel.
30
30
  *
31
- * @param cfg - The full OpenClaw plugin configuration object.
31
+ * Reads from the plugin config path first (set by `openclaw ravi login`),
32
+ * then falls back to the standard `channels.ravi-sms.accounts` path.
33
+ * Deduplicates when both sources contain the same UUID.
34
+ *
35
+ * @param cfg - The full OpenClaw gateway configuration object.
32
36
  * @returns Array of identity UUID strings.
33
37
  */
34
38
  listAccountIds: (cfg) => {
39
+ // Primary: read from plugin config (set by `openclaw ravi login`)
40
+ const plugins = cfg.plugins;
41
+ const uuid = plugins?.entries?.ravi?.config?.identityUuid;
42
+ // Fallback: standard channel accounts path
35
43
  const channels = cfg.channels;
36
- return Object.keys(channels?.["ravi-sms"]?.accounts ?? {});
44
+ const channelIds = Object.keys(channels?.["ravi-sms"]?.accounts ?? {});
45
+ // Deduplicate — plugin config uuid takes priority
46
+ if (uuid) {
47
+ return [uuid, ...channelIds.filter((id) => id !== uuid)];
48
+ }
49
+ return channelIds;
37
50
  },
38
51
  /**
39
52
  * Resolve an account configuration by its ID (identity UUID).
40
53
  *
41
- * Returns a default empty config if the account is not found rather than
42
- * throwing, so callers can handle missing accounts gracefully.
54
+ * Returns a minimal config with just the UUID if the account is not
55
+ * found in the standard channels path. The gateway adapter will fetch
56
+ * identity details at startup.
43
57
  *
44
- * @param cfg - The full OpenClaw plugin configuration object.
58
+ * @param cfg - The full OpenClaw gateway configuration object.
45
59
  * @param accountId - The identity UUID to look up.
46
60
  * @returns The resolved {@link SmsAccountConfig}.
47
61
  */
48
62
  resolveAccount: (cfg, accountId) => {
49
63
  const channels = cfg.channels;
50
64
  const found = channels?.["ravi-sms"]?.accounts?.[accountId];
51
- if (!found) {
52
- console.warn(`[ravi] SMS account ${accountId} not found in config — using empty defaults`);
53
- }
54
- return found ?? {
65
+ if (found)
66
+ return found;
67
+ // Fallback: return minimal config — gateway adapter fetches details at startup
68
+ return {
55
69
  identityUuid: accountId,
56
70
  identityName: "",
57
71
  phone: "",
@@ -67,7 +81,7 @@ export function createSmsChannel() {
67
81
  *
68
82
  * @param event - The raw {@link SmsEvent} from the SSE stream.
69
83
  * @param account - The {@link SmsAccountConfig} for the receiving identity.
70
- * @returns A normalized {@link SmsInboundEnvelope} (never null).
84
+ * @returns A normalized {@link SmsInboundEnvelope}. Current implementation always returns non-null.
71
85
  */
72
86
  normalizeInbound(event, account) {
73
87
  const isReadOnly = event.sender_type !== "owner" && event.sender_type !== "self";
@@ -134,6 +148,214 @@ export function createSmsChannel() {
134
148
  getSessionKey(agentId, accountId, phoneNumber) {
135
149
  return `agent:${agentId}:ravi-sms:${accountId}:dm:${phoneNumber}`;
136
150
  },
151
+ // ─── Gateway Adapter ──────────────────────────────────────────────────
152
+ gateway: {
153
+ /**
154
+ * Start monitoring inbound SMS for a single identity account.
155
+ *
156
+ * Called by the ChannelManager once per account. Opens an SSE stream
157
+ * to the Ravi backend, dispatches inbound SMS through the OpenClaw
158
+ * reply pipeline, and blocks until the abort signal fires.
159
+ *
160
+ * Bails out early if the identity has no phone number — SMS requires
161
+ * a provisioned phone number.
162
+ *
163
+ * Owner/self senders get full dispatch with reply delivery.
164
+ * External senders trigger an agent turn but reply delivery is suppressed.
165
+ *
166
+ * This gateway adapter is the ChannelManager-driven path, used when
167
+ * OpenClaw manages channel lifecycles directly. The `normalizeInbound` +
168
+ * `RaviListenerService` path in service.ts is the legacy self-managed
169
+ * approach for environments where the gateway doesn't call startAccount.
170
+ *
171
+ * @param ctx - Gateway context provided by the ChannelManager.
172
+ * @returns Promise that resolves when the account is stopped.
173
+ */
174
+ startAccount: async (ctx) => {
175
+ const log = ctx.log ?? {
176
+ info: (...args) => console.log("[ravi-sms]", ...args),
177
+ warn: (...args) => console.warn("[ravi-sms]", ...args),
178
+ error: (...args) => console.error("[ravi-sms]", ...args),
179
+ };
180
+ // Lazy imports — only loaded when the gateway actually starts an account.
181
+ // This avoids pulling in runtime/auth/config/client/sse in test environments
182
+ // where gateway.startAccount() is never called.
183
+ let getRaviRuntime, loadAuth, RAVI_API_URL, RaviClient, RaviSSEClient;
184
+ try {
185
+ ({ getRaviRuntime } = await import("../runtime.js"));
186
+ ({ loadAuth } = await import("../auth.js"));
187
+ ({ RAVI_API_URL } = await import("../config.js"));
188
+ ({ RaviClient } = await import("../client.js"));
189
+ ({ RaviSSEClient } = await import("../sse.js"));
190
+ }
191
+ catch (err) {
192
+ const detail = err instanceof Error ? err.message : String(err);
193
+ log.error(`[ravi-sms] Failed to load dependencies: ${detail}. Is the plugin built correctly?`);
194
+ return;
195
+ }
196
+ const runtime = getRaviRuntime();
197
+ const auth = loadAuth();
198
+ if (!auth?.access_token) {
199
+ log.error("[ravi-sms] No auth credentials — cannot start SMS channel. Run 'openclaw ravi login'.");
200
+ return;
201
+ }
202
+ // Build HTTP client for identity lookup + outbound replies
203
+ const client = new RaviClient({
204
+ apiUrl: RAVI_API_URL,
205
+ token: auth.access_token,
206
+ refreshToken: auth.refresh_token,
207
+ identityUuid: ctx.accountId,
208
+ });
209
+ // Fetch identity details (phone number, name) if not in config
210
+ let phone = ctx.account.phone;
211
+ let identityName = ctx.account.identityName;
212
+ if (!phone) {
213
+ try {
214
+ const identities = await client.listIdentities();
215
+ const identity = identities.find((i) => i.uuid === ctx.accountId);
216
+ phone = identity?.phone ?? "";
217
+ identityName = identity?.display_name ?? identity?.name ?? ctx.accountId;
218
+ }
219
+ catch (err) {
220
+ if (err?.name === "RaviApiError") {
221
+ const status = err.status;
222
+ log.error(`[ravi-sms] Failed to fetch identity details (HTTP ${status}): ${err.message}` +
223
+ (status === 401 ? ". Token may be expired — run 'openclaw ravi login'." : ""));
224
+ }
225
+ else {
226
+ const detail = err instanceof Error ? err.message : String(err);
227
+ log.error(`[ravi-sms] Failed to fetch identity details: ${detail}`);
228
+ }
229
+ return;
230
+ }
231
+ }
232
+ // SMS requires a phone number — bail out if the identity doesn't have one
233
+ if (!phone) {
234
+ log.info(`[ravi-sms] Identity ${identityName} has no phone number — skipping SMS channel`);
235
+ return;
236
+ }
237
+ log.info(`[ravi-sms] Starting SMS channel for ${identityName} (${phone})`);
238
+ // Build SSE client for real-time events
239
+ const sse = new RaviSSEClient({
240
+ apiUrl: RAVI_API_URL,
241
+ token: auth.access_token,
242
+ identityUuid: ctx.accountId,
243
+ });
244
+ sse.onSms((event) => {
245
+ try {
246
+ // Classify sender: owner/self get full reply; external/unknown wakes agent but suppresses delivery
247
+ const isAuthorizedSender = event.sender_type === "owner" || event.sender_type === "self";
248
+ // Resolve agent route — maps (channel, accountId) → agentId + session key
249
+ const route = runtime.channel.routing.resolveAgentRoute({
250
+ cfg: ctx.cfg,
251
+ channel: "ravi-sms",
252
+ accountId: ctx.accountId,
253
+ peer: { kind: "direct", id: event.from_number },
254
+ });
255
+ const sessionKey = route.sessionKey;
256
+ // Build MsgContext for dispatch
257
+ const msgCtx = {
258
+ Body: event.body,
259
+ BodyForAgent: event.body,
260
+ From: `ravi-sms:${event.from_number}`,
261
+ To: `ravi-sms:${phone}`,
262
+ SessionKey: sessionKey,
263
+ AccountId: ctx.accountId,
264
+ ChatType: "direct",
265
+ Provider: "ravi-sms",
266
+ Surface: "ravi-sms",
267
+ OriginatingChannel: "ravi-sms",
268
+ OriginatingTo: ctx.accountId,
269
+ SenderName: event.from_number,
270
+ SenderId: event.from_number,
271
+ Timestamp: Date.now(),
272
+ CommandAuthorized: isAuthorizedSender,
273
+ MessageSid: `ravi-sms:${event.id}`,
274
+ };
275
+ // Record inbound session so follow-ups route back through SMS
276
+ try {
277
+ runtime.channel.session.recordInboundSession({
278
+ storePath: runtime.channel.session.resolveStorePath(ctx.cfg.session?.store, { agentId: route.agentId }),
279
+ sessionKey,
280
+ ctx: msgCtx,
281
+ updateLastRoute: {
282
+ sessionKey,
283
+ channel: "ravi-sms",
284
+ to: ctx.accountId,
285
+ accountId: ctx.accountId,
286
+ phoneNumber: event.from_number,
287
+ },
288
+ onRecordError: (err) => {
289
+ const detail = err instanceof Error ? err.message : String(err);
290
+ log.error(`[ravi-sms] Session record error for ${event.from_number}: ${detail}`);
291
+ },
292
+ });
293
+ }
294
+ catch (err) {
295
+ const detail = err instanceof Error ? err.message : String(err);
296
+ log.error(`[ravi-sms] recordInboundSession threw for ${event.from_number}: ${detail}`);
297
+ }
298
+ // Dispatch — triggers AI agent turn.
299
+ // For external senders: AI wakes up, can use tools, but deliver is suppressed.
300
+ runtime.channel.reply.dispatchReplyWithBufferedBlockDispatcher({
301
+ ctx: msgCtx,
302
+ cfg: ctx.cfg,
303
+ dispatcherOptions: {
304
+ deliver: async (payload) => {
305
+ if (!payload.text) {
306
+ log.info(`[ravi-sms] Deliver called with empty text for ${event.from_number} — skipping`);
307
+ return;
308
+ }
309
+ // Suppress reply delivery for external senders
310
+ if (!isAuthorizedSender) {
311
+ log.info(`[ravi-sms] Suppressing reply to external sender ${event.from_number}`);
312
+ return;
313
+ }
314
+ try {
315
+ await client.sendSms(event.from_number, payload.text);
316
+ }
317
+ catch (err) {
318
+ const detail = err instanceof Error ? err.message : String(err);
319
+ const status = err?.status;
320
+ log.error(`[ravi-sms] Failed to deliver reply to ${event.from_number}` +
321
+ `${status ? ` (HTTP ${status})` : ""}: ${detail}`);
322
+ }
323
+ },
324
+ onError: (err) => {
325
+ log.error(`[ravi-sms] Dispatch error: ${err}`);
326
+ },
327
+ },
328
+ }).catch((err) => {
329
+ const detail = err instanceof Error ? err.message : String(err);
330
+ log.error(`[ravi-sms] dispatchReply failed for ${event.from_number}: ${detail}`);
331
+ });
332
+ }
333
+ catch (err) {
334
+ const detail = err instanceof Error ? err.message : String(err);
335
+ log.error(`[ravi-sms] Unhandled error processing event ${event.id}: ${detail}`);
336
+ }
337
+ });
338
+ sse.onReconnect(() => {
339
+ log.info(`[ravi-sms] SSE reconnecting for ${identityName}`);
340
+ });
341
+ sse.connect();
342
+ log.info(`[ravi-sms] SSE connected for ${identityName} (${ctx.accountId})`);
343
+ // Block until gateway signals shutdown
344
+ await new Promise((resolve) => {
345
+ if (ctx.abortSignal.aborted) {
346
+ log.info(`[ravi-sms] Stopping SMS channel for ${identityName} (already aborted)`);
347
+ sse.disconnect();
348
+ resolve();
349
+ return;
350
+ }
351
+ ctx.abortSignal.addEventListener("abort", () => {
352
+ log.info(`[ravi-sms] Stopping SMS channel for ${identityName}`);
353
+ sse.disconnect();
354
+ resolve();
355
+ });
356
+ });
357
+ },
358
+ },
137
359
  };
138
360
  }
139
361
  /** The singleton ravi-sms channel instance. */
@@ -1 +1 @@
1
- {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../src/channels/sms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../src/channels/sms.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -311,7 +311,7 @@ export const cliCommands = [
311
311
  process.stderr.write(`Select an identity:\n`);
312
312
  for (let i = 0; i < identities.length; i++) {
313
313
  const id = identities[i];
314
- const details = [id.email, id.phone].filter(Boolean).join(", ");
314
+ const details = [id.inbox, id.phone].filter(Boolean).join(", ");
315
315
  process.stderr.write(` ${i + 1}. ${id.name}${details ? ` (${details})` : ""}\n`);
316
316
  }
317
317
  try {
@@ -384,8 +384,8 @@ export const cliCommands = [
384
384
  output += `\nIdentities (${identities.length}):\n`;
385
385
  for (const identity of identities) {
386
386
  output += ` - ${identity.name} (${identity.uuid})\n`;
387
- if (identity.email)
388
- output += ` Email: ${identity.email}\n`;
387
+ if (identity.inbox)
388
+ output += ` Email: ${identity.inbox}\n`;
389
389
  if (identity.phone)
390
390
  output += ` Phone: ${identity.phone}\n`;
391
391
  }
package/dist/index.d.ts CHANGED
@@ -7,7 +7,9 @@
7
7
  *
8
8
  * @module index
9
9
  */
10
- export type { RaviPluginConfig, Identity, EmailThread, EmailMessage, EmailThreadDetail, SmsConversation, SmsMessage, PasswordEntry, SecretEntry, EncryptionMeta, EmailEvent, SmsEvent, SenderType, } from "./types.js";
10
+ export type { RaviPluginConfig, Identity, EmailThread, EmailMessage, EmailThreadDetail, SmsConversation, SmsMessage, PasswordEntry, SecretEntry, EncryptionMeta, EmailEvent, SmsEvent, SenderType, GatewayLogger, PluginRuntimeSubset, BaseGatewayContext, } from "./types.js";
11
+ export type { EmailGatewayContext } from "./channels/email.js";
12
+ export type { SmsGatewayContext } from "./channels/sms.js";
11
13
  export { RaviClient, RaviApiError } from "./client.js";
12
14
  export type { RaviClientConfig } from "./client.js";
13
15
  export type { CryptoManager, KeyPair } from "./crypto.js";
@@ -17,6 +19,8 @@ export type { ToolDefinition, ToolContext } from "./tools/identity.js";
17
19
  export type { EmailAccountConfig, EmailThreadContext, EmailInboundEnvelope } from "./channels/email.js";
18
20
  export type { SmsAccountConfig, SmsThreadContext, SmsInboundEnvelope } from "./channels/sms.js";
19
21
  export type { CliCommand } from "./cli.js";
22
+ export { setRaviRuntime, getRaviRuntime } from "./runtime.js";
23
+ import type { PluginRuntimeSubset } from "./types.js";
20
24
  /**
21
25
  * All agent tools combined into a single flat array.
22
26
  *
@@ -37,6 +41,8 @@ interface PluginAPI {
37
41
  config: Record<string, unknown>;
38
42
  /** Validated plugin-specific config from plugins.entries.ravi.config. */
39
43
  pluginConfig?: Record<string, unknown>;
44
+ /** PluginRuntime — provided by OpenClaw gateway hosts. May be absent in CLI-only or test environments. */
45
+ runtime?: PluginRuntimeSubset;
40
46
  /** Structured logger (info, warn, error, debug). */
41
47
  logger: {
42
48
  info: (...args: unknown[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACpF,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtF,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACxG,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoB9D,OAAO,KAAK,EAAoB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIxE;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,uCAQpB,CAAC;AAIF;;;;;;GAMG;AACH,UAAU,SAAS;IACjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,0GAA0G;IAC1G,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,oDAAoD;IACpD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACrC,CAAC;IACF,+EAA+E;IAC/E,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;YAChE,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAChD,CAAC,CAAC;KACJ,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3C,uDAAuD;IACvD,eAAe,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,4DAA4D;IAC5D,WAAW,CACT,SAAS,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,EACjD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC7B,IAAI,CAAC;IACR,+DAA+D;IAC/D,eAAe,CAAC,GAAG,EAAE;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,GAAG,IAAI,CAAC;IACT,wCAAwC;IACxC,EAAE,CACA,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACxC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,IAAI,CAAC;CACT;AAED,mEAAmE;AACnE,UAAU,UAAU;IAClB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CACnC;AAED,8CAA8C;AAC9C,UAAU,UAAU;IAClB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;CACtE;AAmCD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CA+I3D"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@
8
8
  * @module index
9
9
  */
10
10
  export { RaviClient, RaviApiError } from "./client.js";
11
+ export { setRaviRuntime, getRaviRuntime } from "./runtime.js";
11
12
  // ─── Value Imports ───────────────────────────────────────────────────────────
12
13
  import { RAVI_API_URL } from "./config.js";
13
14
  import { RaviClient } from "./client.js";
@@ -24,6 +25,7 @@ import { passwordTools } from "./tools/passwords.js";
24
25
  import { vaultTools } from "./tools/vault.js";
25
26
  import { feedbackTools } from "./tools/feedback.js";
26
27
  import { cliCommands } from "./cli.js";
28
+ import { setRaviRuntime } from "./runtime.js";
27
29
  // ─── Combined Tools ──────────────────────────────────────────────────────────
28
30
  /**
29
31
  * All agent tools combined into a single flat array.
@@ -85,6 +87,11 @@ export default function registerPlugin(api) {
85
87
  const config = (api.pluginConfig ?? {});
86
88
  // Load auth from ~/.ravi/auth.json (written by `openclaw ravi login`)
87
89
  const auth = loadAuth();
90
+ // Store the PluginRuntime so channel gateway adapters can access it later.
91
+ // Available on the gateway but not in test environments.
92
+ if (api.runtime) {
93
+ setRaviRuntime(api.runtime);
94
+ }
88
95
  // ── Always register CLI commands (login works even without auth) ───────
89
96
  api.registerCli(({ program }) => {
90
97
  const ravi = program
@@ -178,7 +185,7 @@ export default function registerPlugin(api) {
178
185
  emailAccount: {
179
186
  identityUuid,
180
187
  identityName: name,
181
- email: identity?.email ?? "",
188
+ email: identity?.inbox ?? "",
182
189
  },
183
190
  // Only register SMS handler if the identity has a phone number
184
191
  ...(identity?.phone ? {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * PluginRuntime singleton for the Ravi OpenClaw plugin.
3
+ *
4
+ * The OpenClaw gateway injects a `PluginRuntime` object during
5
+ * `registerPlugin()`. Channel gateway adapters need access to this
6
+ * runtime later (in `startAccount()`) to dispatch inbound messages
7
+ * and resolve agent routes. This module bridges that gap with a
8
+ * simple module-level store.
9
+ *
10
+ * Reading the runtime before it is set throws — this surfaces
11
+ * misconfiguration early rather than allowing undefined-property
12
+ * errors downstream in the dispatch pipeline.
13
+ *
14
+ * @module runtime
15
+ */
16
+ import type { PluginRuntimeSubset } from "./types.js";
17
+ /**
18
+ * Store the PluginRuntime reference.
19
+ *
20
+ * Called once during `registerPlugin()` when `api.runtime` is available.
21
+ * Must be called before any channel gateway adapter starts.
22
+ *
23
+ * @param next - The PluginRuntime object from the OpenClaw gateway.
24
+ */
25
+ export declare function setRaviRuntime(next: PluginRuntimeSubset): void;
26
+ /**
27
+ * Retrieve the stored PluginRuntime reference.
28
+ *
29
+ * @throws If called before `setRaviRuntime()` — indicates the plugin
30
+ * was not properly initialized via `registerPlugin()`.
31
+ * @returns The PluginRuntime object.
32
+ */
33
+ export declare function getRaviRuntime(): PluginRuntimeSubset;
34
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAItD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,mBAAmB,CAKpD"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * PluginRuntime singleton for the Ravi OpenClaw plugin.
3
+ *
4
+ * The OpenClaw gateway injects a `PluginRuntime` object during
5
+ * `registerPlugin()`. Channel gateway adapters need access to this
6
+ * runtime later (in `startAccount()`) to dispatch inbound messages
7
+ * and resolve agent routes. This module bridges that gap with a
8
+ * simple module-level store.
9
+ *
10
+ * Reading the runtime before it is set throws — this surfaces
11
+ * misconfiguration early rather than allowing undefined-property
12
+ * errors downstream in the dispatch pipeline.
13
+ *
14
+ * @module runtime
15
+ */
16
+ let runtime = null;
17
+ /**
18
+ * Store the PluginRuntime reference.
19
+ *
20
+ * Called once during `registerPlugin()` when `api.runtime` is available.
21
+ * Must be called before any channel gateway adapter starts.
22
+ *
23
+ * @param next - The PluginRuntime object from the OpenClaw gateway.
24
+ */
25
+ export function setRaviRuntime(next) {
26
+ runtime = next;
27
+ }
28
+ /**
29
+ * Retrieve the stored PluginRuntime reference.
30
+ *
31
+ * @throws If called before `setRaviRuntime()` — indicates the plugin
32
+ * was not properly initialized via `registerPlugin()`.
33
+ * @returns The PluginRuntime object.
34
+ */
35
+ export function getRaviRuntime() {
36
+ if (!runtime) {
37
+ throw new Error("Ravi runtime not initialized — was registerPlugin() called?");
38
+ }
39
+ return runtime;
40
+ }
41
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,IAAI,OAAO,GAA+B,IAAI,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAyB;IACtD,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -14,7 +14,7 @@ export const identityTools = [
14
14
  name: "ravi_identity_list",
15
15
  description: "List all Ravi identities for the authenticated account. " +
16
16
  "Each identity bundles a unique email address, phone number, and encrypted vault into a coherent agent persona. " +
17
- "Returns an array of objects with uuid, name, display_name, email, and phone fields. " +
17
+ "Returns an array of objects with uuid, name, display_name, inbox, and phone fields. " +
18
18
  "Account-level operation — does not require a specific identity to be configured.",
19
19
  parameters: {
20
20
  type: "object",
package/dist/types.d.ts CHANGED
@@ -3,7 +3,7 @@ export interface Identity {
3
3
  uuid: string;
4
4
  name: string;
5
5
  display_name: string;
6
- email: string | null;
6
+ inbox: string | null;
7
7
  phone: string | null;
8
8
  created_dt: string;
9
9
  }
@@ -150,6 +150,65 @@ export interface SmsEvent {
150
150
  sender_type: SenderType;
151
151
  created_dt: string;
152
152
  }
153
+ /** Structured logger available to gateway adapters. */
154
+ export interface GatewayLogger {
155
+ info: (...args: unknown[]) => void;
156
+ warn: (...args: unknown[]) => void;
157
+ error: (...args: unknown[]) => void;
158
+ }
159
+ /**
160
+ * Minimal structural interface for the OpenClaw PluginRuntime.
161
+ *
162
+ * Captures only the methods that the Ravi gateway adapters actually call.
163
+ * This gives compile-time safety without importing OpenClaw types directly.
164
+ * If the OpenClaw runtime API changes, TypeScript will flag breakage here.
165
+ */
166
+ export interface PluginRuntimeSubset {
167
+ channel: {
168
+ routing: {
169
+ resolveAgentRoute(opts: {
170
+ cfg: Record<string, unknown>;
171
+ channel: string;
172
+ accountId: string;
173
+ peer: {
174
+ kind: string;
175
+ id: string;
176
+ };
177
+ }): {
178
+ sessionKey: string;
179
+ agentId: string;
180
+ };
181
+ };
182
+ session: {
183
+ resolveStorePath(store: unknown, opts: {
184
+ agentId: string;
185
+ }): string;
186
+ recordInboundSession(opts: Record<string, unknown>): void;
187
+ };
188
+ reply: {
189
+ dispatchReplyWithBufferedBlockDispatcher(opts: Record<string, unknown>): Promise<unknown>;
190
+ };
191
+ };
192
+ }
193
+ /**
194
+ * Fields common to all channel gateway contexts.
195
+ *
196
+ * Passed by the ChannelManager to `gateway.startAccount()`. The generic
197
+ * parameter `TAccount` is the channel-specific account config type
198
+ * (e.g. {@link EmailAccountConfig} or {@link SmsAccountConfig}).
199
+ */
200
+ export interface BaseGatewayContext<TAccount> {
201
+ /** Full OpenClaw gateway configuration. */
202
+ cfg: Record<string, unknown>;
203
+ /** Identity UUID identifying the account to monitor. */
204
+ accountId: string;
205
+ /** Channel-specific account configuration. */
206
+ account: TAccount;
207
+ /** Signal that fires when the gateway wants to stop this account. */
208
+ abortSignal: AbortSignal;
209
+ /** Structured logger; may be absent in minimal environments. */
210
+ log?: GatewayLogger;
211
+ }
153
212
  /**
154
213
  * Configuration shape for the Ravi OpenClaw plugin.
155
214
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ravi-hq/ravi",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "OpenClaw plugin for Ravi — identity provider for AI agents. Email & SMS channels + full agent toolbox.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",