@ozaiya/openclaw-channel 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Unwrap a group key that was encrypted with the bot's public key.
3
+ * Uses X25519 box decryption (crypto_box_open_easy).
4
+ *
5
+ * @param wrappedKeyBase64 - base64-encoded bundle: ephemeralPubKey(32) + nonce(24) + ciphertext
6
+ * @param botPrivateKeyBase64 - base64-encoded X25519 private key (seed)
7
+ * @returns The unwrapped group key (32 bytes), or null on failure
8
+ */
9
+ export declare function unwrapGroupKey(wrappedKeyBase64: string, botPrivateKeyBase64: string): Promise<Uint8Array | null>;
10
+ /**
11
+ * Generate a random 32-byte AES-256 group key.
12
+ */
13
+ export declare function generateGroupKey(): Promise<Uint8Array>;
14
+ /**
15
+ * Wrap a group key for a recipient using their Curve25519 public key.
16
+ * Produces: base64(ephemeralPK(32) + nonce(24) + ciphertext)
17
+ * Matches the Ozaiya app's encryptBox format.
18
+ *
19
+ * @param groupKey - 32-byte AES-256 group key to wrap
20
+ * @param recipientPublicKeyHex - hex-encoded Curve25519 public key of the recipient
21
+ * @returns base64-encoded wrapped key bundle
22
+ */
23
+ export declare function wrapGroupKey(groupKey: Uint8Array, recipientPublicKeyHex: string): Promise<string>;
24
+ /**
25
+ * Decrypt an Ozaiya chat message.
26
+ *
27
+ * Format: base64 → [0x00 version byte] + [IV(12) + ciphertext + authTag(16)]
28
+ * Content is JSON parsed after decryption.
29
+ *
30
+ * @param contentBase64 - base64-encoded encrypted message
31
+ * @param groupKey - 32-byte AES-256 group key
32
+ * @returns Parsed message content, or null on failure
33
+ */
34
+ export declare function decryptMessage(contentBase64: string, groupKey: Uint8Array): unknown | null;
35
+ /**
36
+ * Encrypt a message for Ozaiya chat.
37
+ *
38
+ * Produces: base64([0x00 version byte] + [IV(12) + ciphertext + authTag(16)])
39
+ * Content is JSON serialized before encryption.
40
+ *
41
+ * @param message - message content object (e.g. { text: "hello" })
42
+ * @param groupKey - 32-byte AES-256 group key
43
+ * @returns base64-encoded encrypted content
44
+ */
45
+ export declare function encryptMessage(message: unknown, groupKey: Uint8Array): string;
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Crypto module matching the Ozaiya client's encryption scheme.
3
+ *
4
+ * Key wrapping: X25519 box (libsodium crypto_box)
5
+ * Format: ephemeralPubKey(32) + nonce(24) + ciphertext
6
+ *
7
+ * Message encryption: AES-256-GCM
8
+ * Format: [0x00 version byte] + [IV(12) + ciphertext + authTag(16)]
9
+ * Content is JSON-serialized before encryption.
10
+ */
11
+ import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
12
+ import _sodium from "libsodium-wrappers";
13
+ let sodiumReady = false;
14
+ async function ensureSodium() {
15
+ if (!sodiumReady) {
16
+ await _sodium.ready;
17
+ sodiumReady = true;
18
+ }
19
+ return _sodium;
20
+ }
21
+ /**
22
+ * Unwrap a group key that was encrypted with the bot's public key.
23
+ * Uses X25519 box decryption (crypto_box_open_easy).
24
+ *
25
+ * @param wrappedKeyBase64 - base64-encoded bundle: ephemeralPubKey(32) + nonce(24) + ciphertext
26
+ * @param botPrivateKeyBase64 - base64-encoded X25519 private key (seed)
27
+ * @returns The unwrapped group key (32 bytes), or null on failure
28
+ */
29
+ export async function unwrapGroupKey(wrappedKeyBase64, botPrivateKeyBase64) {
30
+ const sodium = await ensureSodium();
31
+ const bundle = sodium.from_base64(wrappedKeyBase64, sodium.base64_variants.ORIGINAL);
32
+ const seed = sodium.from_base64(botPrivateKeyBase64, sodium.base64_variants.ORIGINAL);
33
+ // Derive keypair from seed (matches Ozaiya client's crypto_box_seed_keypair)
34
+ const keypair = sodium.crypto_box_seed_keypair(seed);
35
+ // Extract components: ephemeralPubKey(32) + nonce(24) + ciphertext
36
+ const pubKeyLen = sodium.crypto_box_PUBLICKEYBYTES; // 32
37
+ const nonceLen = sodium.crypto_box_NONCEBYTES; // 24
38
+ const ephemeralPubKey = bundle.slice(0, pubKeyLen);
39
+ const nonce = bundle.slice(pubKeyLen, pubKeyLen + nonceLen);
40
+ const ciphertext = bundle.slice(pubKeyLen + nonceLen);
41
+ try {
42
+ return sodium.crypto_box_open_easy(ciphertext, nonce, ephemeralPubKey, keypair.privateKey);
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * Generate a random 32-byte AES-256 group key.
50
+ */
51
+ export async function generateGroupKey() {
52
+ const sodium = await ensureSodium();
53
+ return sodium.randombytes_buf(32);
54
+ }
55
+ /**
56
+ * Wrap a group key for a recipient using their Curve25519 public key.
57
+ * Produces: base64(ephemeralPK(32) + nonce(24) + ciphertext)
58
+ * Matches the Ozaiya app's encryptBox format.
59
+ *
60
+ * @param groupKey - 32-byte AES-256 group key to wrap
61
+ * @param recipientPublicKeyHex - hex-encoded Curve25519 public key of the recipient
62
+ * @returns base64-encoded wrapped key bundle
63
+ */
64
+ export async function wrapGroupKey(groupKey, recipientPublicKeyHex) {
65
+ const sodium = await ensureSodium();
66
+ const recipientPk = sodium.from_hex(recipientPublicKeyHex);
67
+ const ephemeral = sodium.crypto_box_keypair();
68
+ const nonce = sodium.randombytes_buf(sodium.crypto_box_NONCEBYTES);
69
+ const ciphertext = sodium.crypto_box_easy(groupKey, nonce, recipientPk, ephemeral.privateKey);
70
+ // Bundle: ephemeralPK(32) + nonce(24) + ciphertext
71
+ const bundle = new Uint8Array(ephemeral.publicKey.length + nonce.length + ciphertext.length);
72
+ bundle.set(ephemeral.publicKey, 0);
73
+ bundle.set(nonce, ephemeral.publicKey.length);
74
+ bundle.set(ciphertext, ephemeral.publicKey.length + nonce.length);
75
+ return sodium.to_base64(bundle, sodium.base64_variants.ORIGINAL);
76
+ }
77
+ /**
78
+ * Decrypt an Ozaiya chat message.
79
+ *
80
+ * Format: base64 → [0x00 version byte] + [IV(12) + ciphertext + authTag(16)]
81
+ * Content is JSON parsed after decryption.
82
+ *
83
+ * @param contentBase64 - base64-encoded encrypted message
84
+ * @param groupKey - 32-byte AES-256 group key
85
+ * @returns Parsed message content, or null on failure
86
+ */
87
+ export function decryptMessage(contentBase64, groupKey) {
88
+ try {
89
+ const data = Buffer.from(contentBase64, "base64");
90
+ // Check version byte
91
+ if (data[0] !== 0x00) {
92
+ return null;
93
+ }
94
+ // AES-GCM bytes: IV(12) + ciphertext + authTag(16)
95
+ const aesData = data.subarray(1);
96
+ const iv = aesData.subarray(0, 12);
97
+ const authTag = aesData.subarray(aesData.length - 16);
98
+ const ciphertext = aesData.subarray(12, aesData.length - 16);
99
+ const decipher = createDecipheriv("aes-256-gcm", groupKey, iv);
100
+ decipher.setAuthTag(authTag);
101
+ const decrypted = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
102
+ return JSON.parse(decrypted.toString("utf8"));
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }
108
+ /**
109
+ * Encrypt a message for Ozaiya chat.
110
+ *
111
+ * Produces: base64([0x00 version byte] + [IV(12) + ciphertext + authTag(16)])
112
+ * Content is JSON serialized before encryption.
113
+ *
114
+ * @param message - message content object (e.g. { text: "hello" })
115
+ * @param groupKey - 32-byte AES-256 group key
116
+ * @returns base64-encoded encrypted content
117
+ */
118
+ export function encryptMessage(message, groupKey) {
119
+ const plaintext = JSON.stringify(message);
120
+ const iv = randomBytes(12);
121
+ const cipher = createCipheriv("aes-256-gcm", groupKey, iv);
122
+ const encrypted = Buffer.concat([cipher.update(plaintext, "utf8"), cipher.final()]);
123
+ const authTag = cipher.getAuthTag();
124
+ // Format: [0x00] + [IV(12) + ciphertext + authTag(16)]
125
+ const result = Buffer.alloc(1 + iv.length + encrypted.length + authTag.length);
126
+ result[0] = 0x00;
127
+ iv.copy(result, 1);
128
+ encrypted.copy(result, 1 + iv.length);
129
+ authTag.copy(result, 1 + iv.length + encrypted.length);
130
+ return result.toString("base64");
131
+ }
132
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Public API for the Ozaiya channel package.
3
+ *
4
+ * Re-exports crypto helpers, API functions, and high-level bot actions
5
+ * so consumers can import from "@ozaiya/openclaw-channel/src/index.js".
6
+ */
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";
10
+ export type { OzaiyaAccountConfig, OzaiyaChannelConfig, ResolvedOzaiyaAccount, OzaiyaWebhookPayload, OzaiyaWebhookMessage, OzaiyaMessageContent, OzaiyaChatFileUploadResponse, OzaiyaSendMessageResult, } from "./types.js";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Public API for the Ozaiya channel package.
3
+ *
4
+ * Re-exports crypto helpers, API functions, and high-level bot actions
5
+ * so consumers can import from "@ozaiya/openclaw-channel/src/index.js".
6
+ */
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";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Stores the OpenClaw PluginRuntime singleton for access from other modules.
3
+ */
4
+ import type { PluginRuntime } from "openclaw/plugin-sdk";
5
+ export declare function setOzaiyaRuntime(r: PluginRuntime): void;
6
+ export declare function getOzaiyaRuntime(): PluginRuntime;
@@ -0,0 +1,11 @@
1
+ let runtime = null;
2
+ export function setOzaiyaRuntime(r) {
3
+ runtime = r;
4
+ }
5
+ export function getOzaiyaRuntime() {
6
+ if (!runtime) {
7
+ throw new Error("Ozaiya runtime not initialized - plugin not registered");
8
+ }
9
+ return runtime;
10
+ }
11
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAKA,IAAI,OAAO,GAAyB,IAAI,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,OAAO,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Configuration and payload types for the Ozaiya channel plugin.
3
+ */
4
+ /** Per-account credentials for an Ozaiya bot */
5
+ export interface OzaiyaAccountConfig {
6
+ enabled?: boolean;
7
+ botToken: string;
8
+ botPrivateKey: string;
9
+ webhookSecret: string;
10
+ webhookPath?: string;
11
+ }
12
+ /** Config stored at channels.ozaiya in OpenClaw config */
13
+ export interface OzaiyaChannelConfig {
14
+ enabled?: boolean;
15
+ botToken?: string;
16
+ botPrivateKey?: string;
17
+ webhookSecret?: string;
18
+ apiBaseUrl?: string;
19
+ webhookPath?: string;
20
+ accounts?: Record<string, OzaiyaAccountConfig>;
21
+ }
22
+ /** Resolved account after config validation */
23
+ export interface ResolvedOzaiyaAccount {
24
+ accountId: string;
25
+ enabled: boolean;
26
+ botToken: string;
27
+ botPrivateKey: string;
28
+ webhookSecret: string;
29
+ apiBaseUrl: string;
30
+ webhookPath: string;
31
+ }
32
+ /** Webhook payload from Ozaiya server */
33
+ export interface OzaiyaWebhookPayload {
34
+ event: "message.new";
35
+ groupId: string;
36
+ replyAllowed?: boolean;
37
+ context?: OzaiyaWebhookMessage[];
38
+ message: OzaiyaWebhookMessage;
39
+ }
40
+ /** Message within a webhook payload */
41
+ export interface OzaiyaWebhookMessage {
42
+ id: string;
43
+ senderId: string;
44
+ senderName: string;
45
+ seq: number;
46
+ content: string;
47
+ replyToId: string | null;
48
+ createdAt: number;
49
+ }
50
+ /** Response from Ozaiya file upload API */
51
+ export interface OzaiyaChatFileUploadResponse {
52
+ path: string;
53
+ url: string;
54
+ name: string;
55
+ size: number;
56
+ mime: string;
57
+ width: number | null;
58
+ height: number | null;
59
+ thumbhash: string | null;
60
+ duration: number | null;
61
+ thumbnailUrl: string | null;
62
+ }
63
+ /** Decrypted message content format used by the Ozaiya app */
64
+ export interface OzaiyaMessageContent {
65
+ text?: string;
66
+ files?: OzaiyaChatFileUploadResponse[];
67
+ inlineKeyboard?: {
68
+ rows: Array<Array<{
69
+ text: string;
70
+ callbackData: string;
71
+ }>>;
72
+ };
73
+ }
74
+ /** Result from Ozaiya send message API */
75
+ export interface OzaiyaSendMessageResult {
76
+ message: {
77
+ id: string;
78
+ groupId: string;
79
+ senderId: string;
80
+ seq: number;
81
+ content: string;
82
+ replyToId: string | null;
83
+ createdAt: number;
84
+ updatedAt: number;
85
+ deletedAt: number | null;
86
+ };
87
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Configuration and payload types for the Ozaiya channel plugin.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,14 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { OzaiyaWebhookPayload } from "./types.js";
3
+ type WebhookCallback = (payload: OzaiyaWebhookPayload) => Promise<void>;
4
+ /**
5
+ * Create a Node.js HTTP handler for Ozaiya webhook events.
6
+ *
7
+ * Verifies HMAC signature, parses payload, and dispatches to callback.
8
+ */
9
+ export declare function createOzaiyaWebhookHandler(params: {
10
+ webhookSecret: string;
11
+ onMessage: WebhookCallback;
12
+ log?: (msg: string) => void;
13
+ }): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
14
+ export {};
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Webhook handler for incoming Ozaiya chat messages.
3
+ *
4
+ * Verifies HMAC-SHA256 signature, parses payload, and invokes the message callback.
5
+ */
6
+ import { createHmac, timingSafeEqual } from "node:crypto";
7
+ const MAX_BODY_BYTES = 1024 * 1024; // 1 MB
8
+ const BODY_TIMEOUT_MS = 10_000;
9
+ const SIGNATURE_TOLERANCE_SECONDS = 300; // 5 minutes
10
+ /**
11
+ * Verify the X-Webhook-Signature header.
12
+ *
13
+ * Format: t=<timestamp>,v1=<hex>
14
+ * Signed content: "<timestamp>.<json_payload>"
15
+ */
16
+ function verifySignature(rawBody, signatureHeader, webhookSecret) {
17
+ const parts = signatureHeader.split(",");
18
+ let timestamp;
19
+ let signature;
20
+ for (const part of parts) {
21
+ const [key, value] = part.split("=", 2);
22
+ if (key === "t")
23
+ timestamp = value;
24
+ if (key === "v1")
25
+ signature = value;
26
+ }
27
+ if (!timestamp || !signature) {
28
+ return false;
29
+ }
30
+ // Check timestamp freshness
31
+ const ts = parseInt(timestamp, 10);
32
+ if (isNaN(ts)) {
33
+ return false;
34
+ }
35
+ const now = Math.floor(Date.now() / 1000);
36
+ if (Math.abs(now - ts) > SIGNATURE_TOLERANCE_SECONDS) {
37
+ return false;
38
+ }
39
+ // Compute expected signature
40
+ const expected = createHmac("sha256", webhookSecret)
41
+ .update(`${timestamp}.${rawBody}`)
42
+ .digest("hex");
43
+ // Timing-safe comparison
44
+ try {
45
+ return timingSafeEqual(Buffer.from(signature, "hex"), Buffer.from(expected, "hex"));
46
+ }
47
+ catch {
48
+ return false;
49
+ }
50
+ }
51
+ /** Read the request body with size and timeout limits. */
52
+ function readBody(req, maxBytes, timeoutMs) {
53
+ return new Promise((resolve, reject) => {
54
+ const chunks = [];
55
+ let size = 0;
56
+ const timer = setTimeout(() => {
57
+ req.destroy();
58
+ reject(new Error("Request body read timeout"));
59
+ }, timeoutMs);
60
+ req.on("data", (chunk) => {
61
+ size += chunk.length;
62
+ if (size > maxBytes) {
63
+ req.destroy();
64
+ clearTimeout(timer);
65
+ reject(new Error("Request body too large"));
66
+ return;
67
+ }
68
+ chunks.push(chunk);
69
+ });
70
+ req.on("end", () => {
71
+ clearTimeout(timer);
72
+ resolve(Buffer.concat(chunks).toString("utf8"));
73
+ });
74
+ req.on("error", (err) => {
75
+ clearTimeout(timer);
76
+ reject(err);
77
+ });
78
+ });
79
+ }
80
+ /**
81
+ * Create a Node.js HTTP handler for Ozaiya webhook events.
82
+ *
83
+ * Verifies HMAC signature, parses payload, and dispatches to callback.
84
+ */
85
+ export function createOzaiyaWebhookHandler(params) {
86
+ return async (req, res) => {
87
+ // Health check for GET/HEAD
88
+ if (req.method === "GET" || req.method === "HEAD") {
89
+ res.statusCode = 200;
90
+ res.end(JSON.stringify({ status: "ok" }));
91
+ return;
92
+ }
93
+ // Only accept POST
94
+ if (req.method !== "POST") {
95
+ res.statusCode = 405;
96
+ res.end(JSON.stringify({ error: "Method not allowed" }));
97
+ return;
98
+ }
99
+ try {
100
+ // Read body
101
+ const rawBody = await readBody(req, MAX_BODY_BYTES, BODY_TIMEOUT_MS);
102
+ // Verify signature
103
+ const signatureHeader = typeof req.headers["x-webhook-signature"] === "string"
104
+ ? req.headers["x-webhook-signature"]
105
+ : "";
106
+ if (!signatureHeader) {
107
+ res.statusCode = 401;
108
+ res.end(JSON.stringify({ error: "Missing signature" }));
109
+ return;
110
+ }
111
+ if (!verifySignature(rawBody, signatureHeader, params.webhookSecret)) {
112
+ params.log?.("ozaiya: webhook signature verification failed");
113
+ res.statusCode = 401;
114
+ res.end(JSON.stringify({ error: "Invalid signature" }));
115
+ return;
116
+ }
117
+ // Parse payload
118
+ const payload = JSON.parse(rawBody);
119
+ // Respond immediately, process async
120
+ res.statusCode = 200;
121
+ res.end(JSON.stringify({ status: "ok" }));
122
+ // Dispatch to handler
123
+ if (payload.event === "message.new") {
124
+ await params.onMessage(payload).catch((err) => {
125
+ params.log?.(`ozaiya: webhook handler error: ${String(err)}`);
126
+ });
127
+ }
128
+ }
129
+ catch (err) {
130
+ params.log?.(`ozaiya: webhook handler error: ${String(err)}`);
131
+ if (!res.headersSent) {
132
+ res.statusCode = 500;
133
+ res.end(JSON.stringify({ error: "Internal error" }));
134
+ }
135
+ }
136
+ };
137
+ }
138
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/webhook.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@ozaiya/openclaw-channel",
3
+ "version": "0.1.0",
4
+ "description": "OpenClaw channel plugin for Ozaiya Chat",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "types",
18
+ "package.json"
19
+ ],
20
+ "openclaw": {
21
+ "extensions": [
22
+ "./dist/index.js"
23
+ ],
24
+ "channel": {
25
+ "id": "ozaiya",
26
+ "label": "Ozaiya",
27
+ "selectionLabel": "Ozaiya Chat",
28
+ "docsPath": "/channels/ozaiya",
29
+ "blurb": "Connect to Ozaiya E2E encrypted group chat.",
30
+ "order": 90
31
+ },
32
+ "install": {
33
+ "npmSpec": "@ozaiya/openclaw-channel",
34
+ "defaultChoice": "npm"
35
+ }
36
+ },
37
+ "author": "tangojet",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/tangojet/ozaiya.git",
41
+ "directory": "packages/openclaw-ozaiya-channel"
42
+ },
43
+ "homepage": "https://github.com/tangojet/ozaiya/tree/main/packages/openclaw-ozaiya-channel#readme",
44
+ "bugs": {
45
+ "url": "https://github.com/tangojet/ozaiya/issues"
46
+ },
47
+ "keywords": [
48
+ "openclaw",
49
+ "ozaiya",
50
+ "channel",
51
+ "plugin",
52
+ "chat",
53
+ "e2e-encryption",
54
+ "ai-agent"
55
+ ],
56
+ "scripts": {
57
+ "build": "tsc",
58
+ "prepublishOnly": "npm run build"
59
+ },
60
+ "peerDependencies": {
61
+ "openclaw": ">=2026.0.0"
62
+ },
63
+ "dependencies": {
64
+ "libsodium-wrappers": "^0.7.15"
65
+ },
66
+ "devDependencies": {
67
+ "typescript": "^5.9.3"
68
+ },
69
+ "publishConfig": {
70
+ "registry": "https://registry.npmjs.org",
71
+ "access": "public"
72
+ }
73
+ }