@ozaiya/openclaw-channel 0.2.0 → 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/dist/src/api.d.ts CHANGED
@@ -91,6 +91,18 @@ export declare function unpinMessage(apiBaseUrl: string, botToken: string, messa
91
91
  * Auth: Bearer <botToken>
92
92
  */
93
93
  export declare function uploadFile(apiBaseUrl: string, botToken: string, groupId: string, filename: string, mime: string, buffer: Buffer): Promise<OzaiyaChatFileUploadResponse>;
94
+ /**
95
+ * Search for human user accounts by username prefix.
96
+ * Returns id, username, firstName, lastName — enough to call botCreateDirect.
97
+ *
98
+ * GET /v1/bot/users/search?q=<query>
99
+ * Auth: Bearer <botToken>
100
+ */
101
+ export declare function searchUsers(apiBaseUrl: string, botToken: string, query: string): Promise<Array<{
102
+ id: string;
103
+ ozaiyaId: string | null;
104
+ nickname: string | null;
105
+ }>>;
94
106
  /**
95
107
  * Create or find an existing direct (1-on-1) chat between the bot and a user.
96
108
  * Bot authenticates with webhookSecret (not botToken).
package/dist/src/api.js CHANGED
@@ -224,6 +224,28 @@ export async function uploadFile(apiBaseUrl, botToken, groupId, filename, mime,
224
224
  }
225
225
  return (await res.json());
226
226
  }
227
+ /**
228
+ * Search for human user accounts by username prefix.
229
+ * Returns id, username, firstName, lastName — enough to call botCreateDirect.
230
+ *
231
+ * GET /v1/bot/users/search?q=<query>
232
+ * Auth: Bearer <botToken>
233
+ */
234
+ export async function searchUsers(apiBaseUrl, botToken, query) {
235
+ const url = new URL(`${apiBaseUrl}/v1/bot/users/search`);
236
+ url.searchParams.set("q", query);
237
+ const res = await fetch(url.toString(), {
238
+ method: "GET",
239
+ headers: { Authorization: `Bearer ${botToken}` },
240
+ signal: AbortSignal.timeout(15_000),
241
+ });
242
+ if (!res.ok) {
243
+ const text = await res.text().catch(() => "");
244
+ throw new Error(`Ozaiya API error ${res.status}: ${text}`);
245
+ }
246
+ const data = (await res.json());
247
+ return data.users;
248
+ }
227
249
  /**
228
250
  * Create or find an existing direct (1-on-1) chat between the bot and a user.
229
251
  * Bot authenticates with webhookSecret (not botToken).
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- interface BotConfig {
1
+ export interface BotConfig {
2
2
  apiBaseUrl: string;
3
3
  botToken: string;
4
4
  botPrivateKey: string;
5
5
  webhookSecret: string;
6
6
  }
7
- interface BotCreateGroupResult {
7
+ export interface BotCreateGroupResult {
8
8
  groupId: string;
9
9
  groupCode: string;
10
10
  groupKey: Uint8Array;
@@ -15,7 +15,7 @@ interface BotCreateGroupResult {
15
15
  *
16
16
  * Flow:
17
17
  * 1. Generate a random 32-byte AES group key
18
- * 2. Derive bot's Curve25519 public key from seed
18
+ * 2. Derive bot's Curve25519 public key from raw private key
19
19
  * 3. Wrap the group key for the bot (creator/owner)
20
20
  * 4. Call createGroup API
21
21
  * 5. If memberUserIds provided: fetch their public keys, wrap for each, and add them
@@ -23,7 +23,7 @@ interface BotCreateGroupResult {
23
23
  * @returns The created group info and the raw group key (for message encryption)
24
24
  */
25
25
  export declare function botCreateGroup(config: BotConfig, name: string, memberUserIds?: string[]): Promise<BotCreateGroupResult>;
26
- interface BotCreateDirectResult {
26
+ export interface BotCreateDirectResult {
27
27
  groupId: string;
28
28
  groupKey: Uint8Array;
29
29
  }
@@ -33,7 +33,7 @@ interface BotCreateDirectResult {
33
33
  *
34
34
  * Flow:
35
35
  * 1. Generate a random 32-byte AES group key
36
- * 2. Derive bot's Curve25519 public key from seed → wrap key for bot
36
+ * 2. Derive bot's Curve25519 public key from raw private key → wrap key for bot
37
37
  * 3. Fetch target user's encryptionPublicKey via /v1/chat/users/public-keys
38
38
  * 4. Wrap the group key for the user
39
39
  * 5. Call POST /v1/bot/direct — server creates or finds the direct chat
@@ -47,4 +47,3 @@ interface BotCreateDirectResult {
47
47
  * @returns groupId and the raw group key (only valid for the newly created chat)
48
48
  */
49
49
  export declare function botCreateDirect(config: BotConfig, userId: string): Promise<BotCreateDirectResult>;
50
- export {};
@@ -13,7 +13,7 @@ import { createGroup, addMember, getUserPublicKeys, createDirectChat } from "./a
13
13
  *
14
14
  * Flow:
15
15
  * 1. Generate a random 32-byte AES group key
16
- * 2. Derive bot's Curve25519 public key from seed
16
+ * 2. Derive bot's Curve25519 public key from raw private key
17
17
  * 3. Wrap the group key for the bot (creator/owner)
18
18
  * 4. Call createGroup API
19
19
  * 5. If memberUserIds provided: fetch their public keys, wrap for each, and add them
@@ -25,10 +25,10 @@ export async function botCreateGroup(config, name, memberUserIds) {
25
25
  const sodium = _sodium;
26
26
  // 1. Generate group key
27
27
  const groupKey = await generateGroupKey();
28
- // 2. Derive bot public key from seed
29
- const seed = sodium.from_base64(config.botPrivateKey, sodium.base64_variants.ORIGINAL);
30
- const botKeypair = sodium.crypto_box_seed_keypair(seed);
31
- const botPublicKeyHex = sodium.to_hex(botKeypair.publicKey);
28
+ // 2. Derive bot public key from raw Curve25519 private key
29
+ const botPrivateKey = sodium.from_base64(config.botPrivateKey, sodium.base64_variants.ORIGINAL);
30
+ const botPublicKey = sodium.crypto_scalarmult_base(botPrivateKey);
31
+ const botPublicKeyHex = sodium.to_hex(botPublicKey);
32
32
  // 3. Wrap for bot (creator)
33
33
  const botWrappedKey = await wrapGroupKey(groupKey, botPublicKeyHex);
34
34
  // 4. Create group
@@ -54,7 +54,7 @@ export async function botCreateGroup(config, name, memberUserIds) {
54
54
  *
55
55
  * Flow:
56
56
  * 1. Generate a random 32-byte AES group key
57
- * 2. Derive bot's Curve25519 public key from seed → wrap key for bot
57
+ * 2. Derive bot's Curve25519 public key from raw private key → wrap key for bot
58
58
  * 3. Fetch target user's encryptionPublicKey via /v1/chat/users/public-keys
59
59
  * 4. Wrap the group key for the user
60
60
  * 5. Call POST /v1/bot/direct — server creates or finds the direct chat
@@ -72,10 +72,10 @@ export async function botCreateDirect(config, userId) {
72
72
  const sodium = _sodium;
73
73
  // 1. Generate group key
74
74
  const groupKey = await generateGroupKey();
75
- // 2. Derive bot public key from seed → wrap for bot
76
- const seed = sodium.from_base64(config.botPrivateKey, sodium.base64_variants.ORIGINAL);
77
- const botKeypair = sodium.crypto_box_seed_keypair(seed);
78
- const botPublicKeyHex = sodium.to_hex(botKeypair.publicKey);
75
+ // 2. Derive bot public key from raw Curve25519 private key → wrap for bot
76
+ const botPrivateKey = sodium.from_base64(config.botPrivateKey, sodium.base64_variants.ORIGINAL);
77
+ const botPublicKey = sodium.crypto_scalarmult_base(botPrivateKey);
78
+ const botPublicKeyHex = sodium.to_hex(botPublicKey);
79
79
  const botWrappedKey = await wrapGroupKey(groupKey, botPublicKeyHex);
80
80
  // 3. Fetch user's encryptionPublicKey
81
81
  const users = await getUserPublicKeys(config.apiBaseUrl, config.botToken, [userId]);
@@ -1 +1 @@
1
- {"version":3,"file":"botActions.js","sourceRoot":"","sources":["../../src/botActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"botActions.js","sourceRoot":"","sources":["../../src/botActions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- /**
2
- * Ozaiya ChannelPlugin implementation for OpenClaw.
3
- *
4
- * Enables OpenClaw AI agents to participate in Ozaiya E2E encrypted chat groups.
5
- * Messages arrive via webhook, are decrypted, processed by the agent, and responses
6
- * are encrypted and sent back via the Ozaiya API.
7
- */
8
1
  import type { ChannelPlugin } from "openclaw/plugin-sdk";
9
2
  import type { ResolvedOzaiyaAccount } from "./types.js";
10
3
  export declare const ozaiyaPlugin: ChannelPlugin<ResolvedOzaiyaAccount>;
@@ -1,6 +1,16 @@
1
+ /**
2
+ * Ozaiya ChannelPlugin implementation for OpenClaw.
3
+ *
4
+ * Enables OpenClaw AI agents to participate in Ozaiya E2E encrypted chat groups.
5
+ * Messages arrive via webhook, are decrypted, processed by the agent, and responses
6
+ * are encrypted and sent back via the Ozaiya API.
7
+ */
8
+ import fs from "node:fs/promises";
9
+ import path from "node:path";
1
10
  import { registerPluginHttpRoute } from "openclaw/plugin-sdk";
2
11
  import { unwrapGroupKey, decryptMessage, encryptMessage } from "./crypto.js";
3
- import { sendMessage, probeApi, fetchGroups, toggleReaction, editMessage, deleteMessage, pinMessage, unpinMessage, uploadFile, } from "./api.js";
12
+ import { sendMessage, probeApi, fetchGroups, toggleReaction, editMessage, deleteMessage, pinMessage, unpinMessage, uploadFile, searchUsers, } from "./api.js";
13
+ import { botCreateDirect } from "./botActions.js";
4
14
  import { createOzaiyaWebhookHandler } from "./webhook.js";
5
15
  import { getOzaiyaRuntime } from "./runtime.js";
6
16
  const DEFAULT_API_BASE_URL = "https://api.ozai.dev";
@@ -104,6 +114,177 @@ function waitForAbort(signal) {
104
114
  signal.addEventListener("abort", () => resolve(), { once: true });
105
115
  });
106
116
  }
117
+ const MIME_EXTENSION_MAP = {
118
+ "image/jpeg": ".jpg",
119
+ "image/png": ".png",
120
+ "image/webp": ".webp",
121
+ "image/gif": ".gif",
122
+ "image/bmp": ".bmp",
123
+ "image/tiff": ".tiff",
124
+ "image/heic": ".heic",
125
+ "image/heif": ".heif",
126
+ "video/mp4": ".mp4",
127
+ "video/quicktime": ".mov",
128
+ "video/webm": ".webm",
129
+ "video/x-matroska": ".mkv",
130
+ "audio/mpeg": ".mp3",
131
+ "audio/mp4": ".m4a",
132
+ "audio/x-m4a": ".m4a",
133
+ "audio/wav": ".wav",
134
+ "audio/x-wav": ".wav",
135
+ "audio/ogg": ".ogg",
136
+ "audio/opus": ".opus",
137
+ "audio/webm": ".webm",
138
+ "application/pdf": ".pdf",
139
+ "text/plain": ".txt",
140
+ };
141
+ function normalizeMessageText(text) {
142
+ const normalized = text?.trim();
143
+ return normalized ? normalized : undefined;
144
+ }
145
+ function classifyAttachment(file) {
146
+ if (file.mime === "image/gif")
147
+ return "gif";
148
+ if (file.mime.startsWith("image/"))
149
+ return "image";
150
+ if (file.mime.startsWith("video/"))
151
+ return "video";
152
+ if (file.mime.startsWith("audio/"))
153
+ return "audio";
154
+ if (file.mime === "application/pdf")
155
+ return "pdf";
156
+ return "file";
157
+ }
158
+ function normalizeAttachments(files) {
159
+ return (files ?? []).map((file) => ({
160
+ kind: classifyAttachment(file),
161
+ name: file.name || "unnamed",
162
+ mime: file.mime,
163
+ size: file.size,
164
+ url: file.url,
165
+ width: file.width,
166
+ height: file.height,
167
+ duration: file.duration,
168
+ thumbnailUrl: file.thumbnailUrl,
169
+ }));
170
+ }
171
+ function formatAttachmentSize(bytes) {
172
+ if (bytes < 1024)
173
+ return `${bytes} B`;
174
+ if (bytes < 1024 * 1024)
175
+ return `${(bytes / 1024).toFixed(1)} KB`;
176
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
177
+ }
178
+ function formatAttachmentDuration(seconds) {
179
+ const totalSeconds = Math.max(0, Math.round(seconds));
180
+ const hours = Math.floor(totalSeconds / 3600);
181
+ const minutes = Math.floor((totalSeconds % 3600) / 60);
182
+ const secs = totalSeconds % 60;
183
+ if (hours > 0) {
184
+ return `${hours}:${String(minutes).padStart(2, "0")}:${String(secs).padStart(2, "0")}`;
185
+ }
186
+ return `${minutes}:${String(secs).padStart(2, "0")}`;
187
+ }
188
+ function formatAttachmentLine(file, index, opts = {}) {
189
+ const { includeUrls = true } = opts;
190
+ const details = [file.mime];
191
+ if (file.size > 0) {
192
+ details.push(formatAttachmentSize(file.size));
193
+ }
194
+ if (file.width && file.height) {
195
+ details.push(`${file.width}x${file.height}`);
196
+ }
197
+ if (typeof file.duration === "number" && Number.isFinite(file.duration) && file.duration > 0) {
198
+ details.push(`duration ${formatAttachmentDuration(file.duration)}`);
199
+ }
200
+ const lines = [`- [${index + 1}] ${file.kind} "${file.name}" (${details.join(", ")})`];
201
+ if (includeUrls) {
202
+ lines.push(` url=${file.url}`);
203
+ }
204
+ if (includeUrls && file.thumbnailUrl) {
205
+ lines.push(` thumbnailUrl=${file.thumbnailUrl}`);
206
+ }
207
+ return lines.join("\n");
208
+ }
209
+ function buildAttachmentSummary(files, opts = {}) {
210
+ if (files.length === 0)
211
+ return undefined;
212
+ return [
213
+ "[Attachments]",
214
+ ...files.map((file, index) => formatAttachmentLine(file, index, opts)),
215
+ ].join("\n");
216
+ }
217
+ function buildAgentInput(content, opts = {}) {
218
+ if (!content)
219
+ return undefined;
220
+ const text = normalizeMessageText(content.text);
221
+ const attachments = normalizeAttachments(content.files);
222
+ const attachmentSummary = buildAttachmentSummary(attachments, opts);
223
+ if (text && attachmentSummary) {
224
+ return `${text}\n\n${attachmentSummary}`;
225
+ }
226
+ return text ?? attachmentSummary;
227
+ }
228
+ function sanitizePathSegment(value, fallback) {
229
+ const sanitized = (value ?? "")
230
+ .trim()
231
+ .replace(/[^a-zA-Z0-9._-]+/g, "_")
232
+ .replace(/_+/g, "_")
233
+ .replace(/^[_-]+|[_-]+$/g, "")
234
+ .slice(0, 80);
235
+ return sanitized || fallback;
236
+ }
237
+ function normalizeMimeValue(value) {
238
+ const trimmed = value?.trim().toLowerCase();
239
+ if (!trimmed)
240
+ return undefined;
241
+ return trimmed.split(";")[0]?.trim() || undefined;
242
+ }
243
+ function resolveAttachmentExtension(fileName, mime) {
244
+ const ext = path.extname(fileName ?? "").trim();
245
+ if (ext)
246
+ return ext.toLowerCase();
247
+ const normalizedMime = normalizeMimeValue(mime);
248
+ return normalizedMime ? (MIME_EXTENSION_MAP[normalizedMime] ?? "") : "";
249
+ }
250
+ async function stageInboundAttachmentsForAgent(params) {
251
+ const { runtime, attachments, groupId, messageId, log } = params;
252
+ if (!attachments?.length) {
253
+ return [];
254
+ }
255
+ const mediaRoot = path.join(runtime.state.resolveStateDir(), "media", "ozaiya", sanitizePathSegment(groupId, "group"));
256
+ await fs.mkdir(mediaRoot, { recursive: true });
257
+ const staged = [];
258
+ for (const [index, attachment] of attachments.entries()) {
259
+ const normalized = normalizeAttachments([attachment])[0];
260
+ if (!normalized?.url) {
261
+ continue;
262
+ }
263
+ try {
264
+ const loaded = await runtime.media.loadWebMedia(normalized.url, {
265
+ optimizeImages: normalized.kind === "image" || normalized.kind === "gif",
266
+ });
267
+ const detectedMime = normalizeMimeValue(loaded.contentType) ?? normalizeMimeValue(normalized.mime);
268
+ const sourceName = loaded.fileName || normalized.name;
269
+ const baseName = path.basename(sourceName, path.extname(sourceName));
270
+ const safeBaseName = sanitizePathSegment(baseName, `attachment-${index + 1}`);
271
+ const safeMessageId = sanitizePathSegment(messageId, "message");
272
+ const ext = resolveAttachmentExtension(sourceName, detectedMime);
273
+ const fileName = `${safeMessageId}-${index + 1}-${safeBaseName}${ext}`;
274
+ const stagedPath = path.join(mediaRoot, fileName);
275
+ await fs.writeFile(stagedPath, Buffer.from(loaded.buffer));
276
+ staged.push({
277
+ ...normalized,
278
+ mime: detectedMime ?? normalized.mime,
279
+ stagedPath,
280
+ });
281
+ }
282
+ catch (err) {
283
+ log?.warn?.(`ozaiya: failed to stage inbound attachment ${normalized.url}: ${err instanceof Error ? err.message : String(err)}`);
284
+ }
285
+ }
286
+ return staged;
287
+ }
107
288
  export const ozaiyaPlugin = {
108
289
  id: "ozaiya",
109
290
  meta: {
@@ -264,6 +445,22 @@ export const ozaiyaPlugin = {
264
445
  const { action, params, cfg, accountId } = ctx;
265
446
  const account = resolveAccount(cfg, accountId);
266
447
  switch (action) {
448
+ case "send": {
449
+ const groupId = params.chatId;
450
+ const content = params.content;
451
+ let groupKey = unwrappedKeys.get(groupId);
452
+ if (!groupKey) {
453
+ await fetchAndUnwrapGroupKeys(account);
454
+ groupKey = unwrappedKeys.get(groupId);
455
+ if (!groupKey) {
456
+ throw new Error(`No group key available for group ${groupId}`);
457
+ }
458
+ }
459
+ const encrypted = encryptMessage({ text: content }, groupKey);
460
+ const result = await sendMessage(account.apiBaseUrl, account.botToken, groupId, encrypted);
461
+ recordState(account.accountId, { lastOutboundAt: Date.now() });
462
+ return { ok: true, messageId: result.message.id };
463
+ }
267
464
  case "react": {
268
465
  const messageId = params.messageId;
269
466
  const emoji = params.emoji;
@@ -341,7 +538,7 @@ export const ozaiyaPlugin = {
341
538
  const account = resolveAccount(cfg);
342
539
  if (!account.botToken?.trim())
343
540
  return [];
344
- return [createScheduleMessageTool(account)];
541
+ return [createScheduleMessageTool(account), createSendDirectMessageTool(account)];
345
542
  }),
346
543
  gateway: {
347
544
  startAccount: async (ctx) => {
@@ -491,6 +688,76 @@ function createScheduleMessageTool(account) {
491
688
  },
492
689
  };
493
690
  }
691
+ /**
692
+ * Create the send_direct_message agent tool.
693
+ *
694
+ * Finds a user by ozaiyaId (or accountId), creates/finds a direct chat
695
+ * via botCreateDirect, then sends an encrypted message.
696
+ */
697
+ function createSendDirectMessageTool(account) {
698
+ return {
699
+ label: "Message User",
700
+ name: "message_user",
701
+ ownerOnly: false,
702
+ description: "Proactively send a private direct message to a user by their Ozaiya ID or account ID. " +
703
+ "First tries to find the user by ozaiyaId; if that fails, treats userId as an internal account ID. " +
704
+ "Creates the direct chat if it does not already exist.",
705
+ parameters: {
706
+ type: "object",
707
+ properties: {
708
+ userId: {
709
+ type: "string",
710
+ description: "The target user's Ozaiya ID (e.g. 'alice') or internal account ID.",
711
+ },
712
+ message: {
713
+ type: "string",
714
+ description: "The message text to send.",
715
+ },
716
+ },
717
+ required: ["userId", "message"],
718
+ },
719
+ execute: async (_toolCallId, rawArgs) => {
720
+ try {
721
+ const args = rawArgs;
722
+ const { userId, message } = args;
723
+ // Try to resolve as ozaiyaId first, fall back to treating as internal accountId
724
+ let accountId = userId;
725
+ const users = await searchUsers(account.apiBaseUrl, account.botToken, userId).catch(() => []);
726
+ const match = users.find((u) => u.ozaiyaId === userId) ?? users[0];
727
+ if (match) {
728
+ accountId = match.id;
729
+ }
730
+ // else: treat userId as a raw accountId (direct lookup)
731
+ // Refresh key cache so we can detect existing direct chats
732
+ await fetchAndUnwrapGroupKeys(account);
733
+ // Create or find direct chat
734
+ const { groupId, groupKey: newKey } = await botCreateDirect({
735
+ apiBaseUrl: account.apiBaseUrl,
736
+ botToken: account.botToken,
737
+ botPrivateKey: account.botPrivateKey,
738
+ webhookSecret: account.webhookSecret,
739
+ }, accountId);
740
+ // Use cached key if available (existing group has a different key from newKey)
741
+ // newKey is only valid for a freshly-created direct chat
742
+ const groupKey = unwrappedKeys.get(groupId) ?? newKey;
743
+ if (!unwrappedKeys.has(groupId)) {
744
+ unwrappedKeys.set(groupId, newKey);
745
+ }
746
+ // Encrypt and send
747
+ const encrypted = encryptMessage({ text: message }, groupKey);
748
+ const result = await sendMessage(account.apiBaseUrl, account.botToken, groupId, encrypted);
749
+ recordState(account.accountId, { lastOutboundAt: Date.now() });
750
+ return {
751
+ content: [{ type: "text", text: `Message sent to user ${userId} (groupId: ${groupId}, messageId: ${result.message.id}).` }],
752
+ };
753
+ }
754
+ catch (err) {
755
+ const msg = err instanceof Error ? err.message : String(err);
756
+ return { content: [{ type: "text", text: `Error: ${msg}` }] };
757
+ }
758
+ },
759
+ };
760
+ }
494
761
  /**
495
762
  * Handle an inbound webhook message:
496
763
  * 1. Decrypt message content
@@ -524,34 +791,52 @@ ctx) {
524
791
  }
525
792
  // Decrypt message
526
793
  const content = decryptMessage(message.content, groupKey);
527
- if (!content?.text) {
528
- ctx.log?.warn?.("ozaiya: failed to decrypt message or empty text");
794
+ if (!content) {
795
+ ctx.log?.warn?.("ozaiya: failed to decrypt message");
529
796
  return;
530
797
  }
531
- ctx.log?.info(`ozaiya: received message from ${message.senderName} in group ${groupId}`);
798
+ const messageText = normalizeMessageText(content.text);
799
+ const inboundAttachments = normalizeAttachments(content.files);
800
+ const attachmentSummary = buildAttachmentSummary(inboundAttachments);
801
+ const agentInput = buildAgentInput(content);
802
+ if (!agentInput) {
803
+ ctx.log?.warn?.("ozaiya: decrypted message had no text or files");
804
+ return;
805
+ }
806
+ ctx.log?.info(`ozaiya: received message from ${message.senderName} in group ${groupId} (attachments=${inboundAttachments.length})`);
532
807
  // Skip reply when server indicates reply is not allowed (mentionToReply setting)
533
808
  if (!replyAllowed) {
534
809
  ctx.log?.info(`ozaiya: replyAllowed=false, skipping reply`);
535
810
  return;
536
811
  }
812
+ const runtime = getOzaiyaRuntime();
813
+ const ch = runtime.channel;
814
+ const stagedInboundAttachments = await stageInboundAttachmentsForAgent({
815
+ runtime,
816
+ attachments: content.files,
817
+ groupId,
818
+ messageId: message.id,
819
+ log: ctx.log,
820
+ });
821
+ if (inboundAttachments.length > 0) {
822
+ ctx.log?.info?.(`ozaiya: staged ${stagedInboundAttachments.length}/${inboundAttachments.length} inbound attachments for OpenClaw media context`);
823
+ }
537
824
  // Decrypt context messages for InboundHistory (recent chat history for agent context)
538
825
  const inboundHistory = [];
539
826
  if (context && context.length > 0) {
540
827
  for (const ctxMsg of context) {
541
828
  const decrypted = decryptMessage(ctxMsg.content, groupKey);
542
- if (decrypted?.text) {
829
+ const historyBody = buildAgentInput(decrypted, { includeUrls: false });
830
+ if (historyBody) {
543
831
  inboundHistory.push({
544
832
  sender: ctxMsg.senderName,
545
- body: decrypted.text,
833
+ body: historyBody,
546
834
  timestamp: ctxMsg.createdAt,
547
835
  });
548
836
  }
549
837
  }
550
838
  ctx.log?.info(`ozaiya: decrypted ${inboundHistory.length} context messages for InboundHistory`);
551
839
  }
552
- // Access agent dispatch APIs via PluginRuntime (set during plugin registration)
553
- const runtime = getOzaiyaRuntime();
554
- const ch = runtime.channel;
555
840
  // Resolve agent route
556
841
  const route = ch.routing.resolveAgentRoute({
557
842
  cfg: ctx.cfg,
@@ -579,14 +864,40 @@ ctx) {
579
864
  timestamp: message.createdAt,
580
865
  previousTimestamp,
581
866
  envelope: envelopeOptions,
582
- body: content.text,
867
+ body: agentInput,
868
+ });
869
+ const mediaContextFields = {
870
+ NumFiles: inboundAttachments.length,
871
+ NumMedia: inboundAttachments.length,
872
+ };
873
+ if (inboundAttachments.length > 0) {
874
+ mediaContextFields.MediaUrl = inboundAttachments[0]?.url;
875
+ mediaContextFields.MediaType = inboundAttachments[0]?.mime;
876
+ mediaContextFields.MediaUrls = inboundAttachments.map((attachment) => attachment.url);
877
+ mediaContextFields.MediaTypes = inboundAttachments.map((attachment) => attachment.mime);
878
+ }
879
+ if (stagedInboundAttachments.length > 0) {
880
+ mediaContextFields.StagedMediaPaths = stagedInboundAttachments.map((attachment) => attachment.stagedPath);
881
+ }
882
+ if (stagedInboundAttachments.length === inboundAttachments.length && stagedInboundAttachments.length > 0) {
883
+ mediaContextFields.MediaPath = stagedInboundAttachments[0]?.stagedPath;
884
+ mediaContextFields.MediaPaths = stagedInboundAttachments.map((attachment) => attachment.stagedPath);
885
+ }
886
+ inboundAttachments.forEach((attachment, index) => {
887
+ mediaContextFields[`AttachmentUrl${index}`] = attachment.url;
888
+ mediaContextFields[`AttachmentMime${index}`] = attachment.mime;
889
+ });
890
+ stagedInboundAttachments.forEach((attachment, index) => {
891
+ mediaContextFields[`AttachmentPath${index}`] = attachment.stagedPath;
892
+ mediaContextFields[`MediaUrl${index}`] = attachment.url;
893
+ mediaContextFields[`MediaContentType${index}`] = attachment.mime;
583
894
  });
584
895
  // Build finalized context for dispatch
585
896
  const msgCtx = ch.reply.finalizeInboundContext({
586
897
  Body: body,
587
- BodyForAgent: content.text,
588
- RawBody: content.text,
589
- CommandBody: content.text,
898
+ BodyForAgent: agentInput,
899
+ RawBody: agentInput,
900
+ CommandBody: messageText ?? agentInput,
590
901
  From: fromAddress,
591
902
  To: fromAddress,
592
903
  SessionKey: route.sessionKey,
@@ -601,10 +912,16 @@ ctx) {
601
912
  MessageSid: message.id,
602
913
  Timestamp: message.createdAt,
603
914
  ReplyToId: message.replyToId ?? undefined,
915
+ MessageText: messageText,
916
+ HasFiles: inboundAttachments.length > 0,
917
+ Attachments: inboundAttachments.length > 0 ? inboundAttachments : undefined,
918
+ StagedAttachments: stagedInboundAttachments.length > 0 ? stagedInboundAttachments : undefined,
919
+ AttachmentSummary: attachmentSummary,
604
920
  CommandAuthorized: true,
605
921
  InboundHistory: inboundHistory.length > 0 ? inboundHistory : undefined,
606
922
  OriginatingChannel: "ozaiya",
607
923
  OriginatingTo: fromAddress,
924
+ ...mediaContextFields,
608
925
  });
609
926
  // Record inbound session
610
927
  void ch.session.recordInboundSession({
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * so consumers can import from "@ozaiya/openclaw-channel/src/index.js".
6
6
  */
7
7
  export { unwrapGroupKey, generateGroupKey, wrapGroupKey, decryptMessage, encryptMessage } from "./crypto.js";
8
- export { sendMessage, fetchGroups, createGroup, addMember, getUserPublicKeys, probeApi, toggleReaction, editMessage, deleteMessage, pinMessage, unpinMessage, uploadFile, } from "./api.js";
9
- export { botCreateGroup } from "./botActions.js";
8
+ export { sendMessage, fetchGroups, createGroup, addMember, getUserPublicKeys, searchUsers, createDirectChat, probeApi, toggleReaction, editMessage, deleteMessage, pinMessage, unpinMessage, uploadFile, } from "./api.js";
9
+ export { botCreateGroup, botCreateDirect } from "./botActions.js";
10
+ export type { BotConfig, BotCreateGroupResult, BotCreateDirectResult } from "./botActions.js";
10
11
  export type { OzaiyaAccountConfig, OzaiyaChannelConfig, ResolvedOzaiyaAccount, OzaiyaWebhookPayload, OzaiyaWebhookMessage, OzaiyaMessageContent, OzaiyaChatFileUploadResponse, OzaiyaSendMessageResult, } from "./types.js";
package/dist/src/index.js CHANGED
@@ -5,6 +5,6 @@
5
5
  * so consumers can import from "@ozaiya/openclaw-channel/src/index.js".
6
6
  */
7
7
  export { unwrapGroupKey, generateGroupKey, wrapGroupKey, decryptMessage, encryptMessage } from "./crypto.js";
8
- export { sendMessage, fetchGroups, createGroup, addMember, getUserPublicKeys, probeApi, toggleReaction, editMessage, deleteMessage, pinMessage, unpinMessage, uploadFile, } from "./api.js";
9
- export { botCreateGroup } from "./botActions.js";
8
+ export { sendMessage, fetchGroups, createGroup, addMember, getUserPublicKeys, searchUsers, createDirectChat, probeApi, toggleReaction, editMessage, deleteMessage, pinMessage, unpinMessage, uploadFile, } from "./api.js";
9
+ export { botCreateGroup, botCreateDirect } from "./botActions.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -60,6 +60,7 @@ export interface OzaiyaChatFileUploadResponse {
60
60
  thumbhash: string | null;
61
61
  duration: number | null;
62
62
  thumbnailUrl: string | null;
63
+ waveform?: number[] | null;
63
64
  }
64
65
  /** Decrypted message content format used by the Ozaiya app */
65
66
  export interface OzaiyaMessageContent {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozaiya/openclaw-channel",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "OpenClaw channel plugin for Ozaiya Chat",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -39,6 +39,23 @@ declare module "openclaw/plugin-sdk" {
39
39
 
40
40
  /** OpenClaw PluginRuntime — channel dispatch APIs available after registration. */
41
41
  export interface PluginRuntime {
42
+ media: {
43
+ loadWebMedia(
44
+ mediaUrl: string,
45
+ opts?: {
46
+ maxBytes?: number;
47
+ optimizeImages?: boolean;
48
+ },
49
+ ): Promise<{
50
+ buffer: Uint8Array;
51
+ contentType?: string;
52
+ kind?: string;
53
+ fileName?: string;
54
+ }>;
55
+ };
56
+ state: {
57
+ resolveStateDir(): string;
58
+ };
42
59
  channel: {
43
60
  routing: {
44
61
  resolveAgentRoute(opts: {