@ozaiya/openclaw-channel 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -0
- package/dist/index.d.ts +119 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/src/api.d.ts +20 -1
- package/dist/src/api.js +48 -0
- package/dist/src/api.js.map +1 -1
- package/dist/src/botActions.d.ts +5 -6
- package/dist/src/botActions.js +10 -10
- package/dist/src/botActions.js.map +1 -1
- package/dist/src/callbackQuery.d.ts +8 -0
- package/dist/src/callbackQuery.js +27 -0
- package/dist/src/callbackQuery.js.map +1 -0
- package/dist/src/channel.d.ts +0 -7
- package/dist/src/channel.js +763 -70
- package/dist/src/channel.js.map +1 -1
- package/dist/src/configSchema.d.ts +119 -0
- package/dist/src/configSchema.js +102 -0
- package/dist/src/configSchema.js.map +1 -0
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/messageEnrichment.d.ts +15 -0
- package/dist/src/messageEnrichment.js +215 -0
- package/dist/src/messageEnrichment.js.map +1 -0
- package/dist/src/richContent.d.ts +39 -0
- package/dist/src/richContent.js +326 -0
- package/dist/src/richContent.js.map +1 -0
- package/dist/src/transcribeAudio.d.ts +45 -0
- package/dist/src/transcribeAudio.js +241 -0
- package/dist/src/transcribeAudio.js.map +1 -0
- package/dist/src/types.d.ts +97 -8
- package/dist/src/webhook.d.ts +1 -1
- package/dist/src/webhook.js +3 -5
- package/dist/src/webhook.js.map +1 -1
- package/openclaw.plugin.json +97 -1
- package/package.json +1 -1
- package/types/openclaw-plugin-sdk.d.ts +37 -0
package/README.md
CHANGED
|
@@ -19,6 +19,69 @@ openclaw plugins install @ozaiya/openclaw-channel
|
|
|
19
19
|
|
|
20
20
|
Add the Ozaiya channel in your OpenClaw config. No additional configuration is required — the channel authenticates using your Ozaiya account credentials managed by OpenClaw.
|
|
21
21
|
|
|
22
|
+
### Optional STT
|
|
23
|
+
|
|
24
|
+
Inbound voice messages can be auto-transcribed on the OpenClaw host before they are dispatched to the agent. This does not use `ozaiya-server`, and transcripts are not cached by the plugin.
|
|
25
|
+
|
|
26
|
+
Available modes:
|
|
27
|
+
|
|
28
|
+
- `disabled`: default
|
|
29
|
+
- `openai`: uploads the staged audio file directly from the OpenClaw host to OpenAI STT
|
|
30
|
+
- `local-command`: runs a local command and expects the transcript on `stdout`
|
|
31
|
+
|
|
32
|
+
Example:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"channels": {
|
|
37
|
+
"ozaiya": {
|
|
38
|
+
"stt": {
|
|
39
|
+
"mode": "local-command",
|
|
40
|
+
"timeoutMs": 20000,
|
|
41
|
+
"maxDurationSeconds": 180,
|
|
42
|
+
"localCommand": {
|
|
43
|
+
"command": "/usr/local/bin/whisper-cli",
|
|
44
|
+
"args": ["--output-txt", "--stdout", "{input}"]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
OpenAI mode example:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"channels": {
|
|
57
|
+
"ozaiya": {
|
|
58
|
+
"stt": {
|
|
59
|
+
"mode": "openai",
|
|
60
|
+
"openai": {
|
|
61
|
+
"model": "gpt-4o-mini-transcribe"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Notes:
|
|
70
|
+
|
|
71
|
+
- Auto-transcription only runs for inbound audio messages that do not already contain text.
|
|
72
|
+
- The first staged audio attachment is used.
|
|
73
|
+
- Messages longer than `maxDurationSeconds` are skipped.
|
|
74
|
+
- `openai.apiKey` can be set directly or inherited from `OPENAI_API_KEY`.
|
|
75
|
+
- `local-command.args` supports `{input}`, `{filename}`, `{mime}`, and `{url}` placeholders. If `{input}` is omitted, the staged file path is appended automatically.
|
|
76
|
+
|
|
77
|
+
## Bot Output Guide
|
|
78
|
+
|
|
79
|
+
- Use plain text for normal prose, code blocks, markdown tables, and Mermaid. `chat-v2` already renders those directly.
|
|
80
|
+
- Use `options` for simple one-choice-per-row questions such as approvals, next-step prompts, and short menus.
|
|
81
|
+
- Use `buttons` only when you need custom `callbackData` values or multiple buttons in the same row.
|
|
82
|
+
- Use `attachments` in `send_rich_message` when the bot is intentionally sending generated files, images, video, audio, or PDFs.
|
|
83
|
+
- Plain text replies also auto-upgrade some media cases: standalone file/media URLs, markdown images, and markdown attachment links are uploaded as chat attachments automatically.
|
|
84
|
+
|
|
22
85
|
## Requirements
|
|
23
86
|
|
|
24
87
|
- [OpenClaw](https://openclaw.ai) >= 2026.0.0
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,125 @@ declare const plugin: {
|
|
|
10
10
|
id: string;
|
|
11
11
|
name: string;
|
|
12
12
|
description: string;
|
|
13
|
-
configSchema:
|
|
13
|
+
configSchema: {
|
|
14
|
+
readonly type: "object";
|
|
15
|
+
readonly additionalProperties: false;
|
|
16
|
+
readonly properties: {
|
|
17
|
+
readonly enabled: {
|
|
18
|
+
readonly type: "boolean";
|
|
19
|
+
};
|
|
20
|
+
readonly botToken: {
|
|
21
|
+
readonly type: "string";
|
|
22
|
+
};
|
|
23
|
+
readonly botPrivateKey: {
|
|
24
|
+
readonly type: "string";
|
|
25
|
+
};
|
|
26
|
+
readonly webhookSecret: {
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
};
|
|
29
|
+
readonly apiBaseUrl: {
|
|
30
|
+
readonly type: "string";
|
|
31
|
+
};
|
|
32
|
+
readonly webhookPath: {
|
|
33
|
+
readonly type: "string";
|
|
34
|
+
};
|
|
35
|
+
readonly accounts: {
|
|
36
|
+
readonly type: "object";
|
|
37
|
+
readonly additionalProperties: {
|
|
38
|
+
readonly type: "object";
|
|
39
|
+
readonly additionalProperties: false;
|
|
40
|
+
readonly properties: {
|
|
41
|
+
readonly enabled: {
|
|
42
|
+
readonly type: "boolean";
|
|
43
|
+
};
|
|
44
|
+
readonly botToken: {
|
|
45
|
+
readonly type: "string";
|
|
46
|
+
};
|
|
47
|
+
readonly botPrivateKey: {
|
|
48
|
+
readonly type: "string";
|
|
49
|
+
};
|
|
50
|
+
readonly webhookSecret: {
|
|
51
|
+
readonly type: "string";
|
|
52
|
+
};
|
|
53
|
+
readonly webhookPath: {
|
|
54
|
+
readonly type: "string";
|
|
55
|
+
};
|
|
56
|
+
readonly stt: {
|
|
57
|
+
readonly $ref: "#/$defs/stt";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
readonly stt: {
|
|
63
|
+
readonly $ref: "#/$defs/stt";
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
readonly $defs: {
|
|
67
|
+
readonly stt: {
|
|
68
|
+
readonly type: "object";
|
|
69
|
+
readonly additionalProperties: false;
|
|
70
|
+
readonly properties: {
|
|
71
|
+
readonly mode: {
|
|
72
|
+
readonly type: "string";
|
|
73
|
+
readonly enum: readonly ["disabled", "openai", "local-command"];
|
|
74
|
+
};
|
|
75
|
+
readonly timeoutMs: {
|
|
76
|
+
readonly type: "integer";
|
|
77
|
+
readonly minimum: 1;
|
|
78
|
+
};
|
|
79
|
+
readonly maxDurationSeconds: {
|
|
80
|
+
readonly type: "integer";
|
|
81
|
+
readonly minimum: 1;
|
|
82
|
+
};
|
|
83
|
+
readonly openai: {
|
|
84
|
+
readonly type: "object";
|
|
85
|
+
readonly additionalProperties: false;
|
|
86
|
+
readonly properties: {
|
|
87
|
+
readonly apiKey: {
|
|
88
|
+
readonly type: "string";
|
|
89
|
+
};
|
|
90
|
+
readonly baseUrl: {
|
|
91
|
+
readonly type: "string";
|
|
92
|
+
};
|
|
93
|
+
readonly model: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
};
|
|
96
|
+
readonly organization: {
|
|
97
|
+
readonly type: "string";
|
|
98
|
+
};
|
|
99
|
+
readonly project: {
|
|
100
|
+
readonly type: "string";
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
readonly localCommand: {
|
|
105
|
+
readonly type: "object";
|
|
106
|
+
readonly additionalProperties: false;
|
|
107
|
+
readonly properties: {
|
|
108
|
+
readonly command: {
|
|
109
|
+
readonly type: "string";
|
|
110
|
+
};
|
|
111
|
+
readonly args: {
|
|
112
|
+
readonly type: "array";
|
|
113
|
+
readonly items: {
|
|
114
|
+
readonly type: "string";
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
readonly cwd: {
|
|
118
|
+
readonly type: "string";
|
|
119
|
+
};
|
|
120
|
+
readonly env: {
|
|
121
|
+
readonly type: "object";
|
|
122
|
+
readonly additionalProperties: {
|
|
123
|
+
readonly type: "string";
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
};
|
|
14
132
|
register(api: OpenClawPluginApi): void;
|
|
15
133
|
};
|
|
16
134
|
export default plugin;
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { emptyPluginConfigSchema } from "openclaw/plugin-sdk";
|
|
2
1
|
import { ozaiyaPlugin } from "./src/channel.js";
|
|
2
|
+
import { ozaiyaPluginConfigSchema } from "./src/configSchema.js";
|
|
3
3
|
import { setOzaiyaRuntime } from "./src/runtime.js";
|
|
4
4
|
const plugin = {
|
|
5
5
|
id: "ozaiya",
|
|
6
6
|
name: "Ozaiya",
|
|
7
7
|
description: "Ozaiya E2E encrypted chat channel plugin",
|
|
8
|
-
configSchema:
|
|
8
|
+
configSchema: ozaiyaPluginConfigSchema,
|
|
9
9
|
register(api) {
|
|
10
10
|
setOzaiyaRuntime(api.runtime);
|
|
11
11
|
api.registerChannel({ plugin: ozaiyaPlugin });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,0CAA0C;IACvD,YAAY,EAAE,wBAAwB;IACtC,QAAQ,CAAC,GAAsB;QAC7B,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/src/api.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ozaiya API client for sending messages and probing connectivity.
|
|
3
3
|
*/
|
|
4
|
-
import type { OzaiyaSendMessageResult, OzaiyaChatFileUploadResponse } from "./types.js";
|
|
4
|
+
import type { OzaiyaSendMessageResult, OzaiyaChatFileUploadResponse, OzaiyaLinkPreview } from "./types.js";
|
|
5
5
|
/**
|
|
6
6
|
* Send an encrypted message to an Ozaiya chat group.
|
|
7
7
|
*
|
|
@@ -91,6 +91,25 @@ 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
|
+
}>>;
|
|
106
|
+
/**
|
|
107
|
+
* Fetch a server-side link preview card for a URL.
|
|
108
|
+
*
|
|
109
|
+
* POST /v1/chat/link-preview
|
|
110
|
+
* Auth: Bearer <botToken>
|
|
111
|
+
*/
|
|
112
|
+
export declare function fetchLinkPreview(apiBaseUrl: string, botToken: string, url: string): Promise<OzaiyaLinkPreview | null>;
|
|
94
113
|
/**
|
|
95
114
|
* Create or find an existing direct (1-on-1) chat between the bot and a user.
|
|
96
115
|
* Bot authenticates with webhookSecret (not botToken).
|
package/dist/src/api.js
CHANGED
|
@@ -224,6 +224,54 @@ 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
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Fetch a server-side link preview card for a URL.
|
|
251
|
+
*
|
|
252
|
+
* POST /v1/chat/link-preview
|
|
253
|
+
* Auth: Bearer <botToken>
|
|
254
|
+
*/
|
|
255
|
+
export async function fetchLinkPreview(apiBaseUrl, botToken, url) {
|
|
256
|
+
const res = await fetch(`${apiBaseUrl}/v1/chat/link-preview`, {
|
|
257
|
+
method: "POST",
|
|
258
|
+
headers: {
|
|
259
|
+
"Content-Type": "application/json",
|
|
260
|
+
Authorization: `Bearer ${botToken}`,
|
|
261
|
+
},
|
|
262
|
+
body: JSON.stringify({ url }),
|
|
263
|
+
signal: AbortSignal.timeout(15_000),
|
|
264
|
+
});
|
|
265
|
+
if (res.status === 404) {
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
if (!res.ok) {
|
|
269
|
+
const text = await res.text().catch(() => "");
|
|
270
|
+
throw new Error(`Ozaiya API error ${res.status}: ${text}`);
|
|
271
|
+
}
|
|
272
|
+
const data = (await res.json());
|
|
273
|
+
return data.preview ?? null;
|
|
274
|
+
}
|
|
227
275
|
/**
|
|
228
276
|
* Create or find an existing direct (1-on-1) chat between the bot and a user.
|
|
229
277
|
* Bot authenticates with webhookSecret (not botToken).
|
package/dist/src/api.js.map
CHANGED
|
@@ -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":"AAKA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,aAAqB,EACrB,SAAkB;IAElB,MAAM,IAAI,GAA2B,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,mBAAmB,OAAO,WAAW,EAAE;QAC1E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,iBAAiB,EAAE;QACtD,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;QAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,QAAgB,EAChB,IAAY,EACZ,eAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,iBAAiB,EAAE;QACtD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QAC/C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,MAAc,EACd,eAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,mBAAmB,OAAO,UAAU,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACjD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,QAAgB,EAChB,OAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,4BAA4B,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACjC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,KAAa;IAEb,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,qBAAqB,SAAS,YAAY,EAAE;QAC/E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,aAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,qBAAqB,SAAS,EAAE,EAAE;QACrE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,QAAgB,EAChB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,qBAAqB,SAAS,EAAE,EAAE;QACrE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;QAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,QAAgB,EAChB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,qBAAqB,SAAS,MAAM,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;QAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,QAAgB,EAChB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,qBAAqB,SAAS,MAAM,EAAE;QACzE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;QAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,IAAY,EACZ,MAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEtF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,mBAAmB,OAAO,SAAS,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;QAChD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,QAAgB,EAChB,KAAa;IAEb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,sBAAsB,CAAC,CAAC;IACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;QAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,QAAgB,EAChB,GAAW;IAEX,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,uBAAuB,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2C,CAAC;IAC1E,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,aAAqB,EACrB,MAAc,EACd,kBAA0B,EAC1B,mBAA2B;IAE3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,gBAAgB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,aAAa,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;QACzE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,QAAgB,EAChB,SAAS,GAAG,IAAI;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,UAAU,EAAE;YAC/C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;YAChD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
package/dist/src/botActions.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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 {};
|
package/dist/src/botActions.js
CHANGED
|
@@ -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
|
|
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
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const botPublicKeyHex = sodium.to_hex(
|
|
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
|
|
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
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const botPublicKeyHex = sodium.to_hex(
|
|
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":"AAAA;;;;;GAKG;AACH,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAevF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,IAAY,EACZ,aAAwB;IAExB,MAAM,OAAO,CAAC,KAAK,CAAC;IACpB,MAAM,MAAM,GAAG,OAAO,CAAC;IAEvB,wBAAwB;IACxB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE1C,
|
|
1
|
+
{"version":3,"file":"botActions.js","sourceRoot":"","sources":["../../src/botActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OzaiyaCallbackQueryWebhookPayload } from "./types.js";
|
|
2
|
+
export declare function normalizeCallbackQueryPayload(payload: OzaiyaCallbackQueryWebhookPayload): {
|
|
3
|
+
parsedCallback: import("./richContent.js").StructuredCallbackPayload | null;
|
|
4
|
+
callbackLabel: string | undefined;
|
|
5
|
+
callbackCommand: string;
|
|
6
|
+
callbackOptionIndex: number | undefined;
|
|
7
|
+
callbackBody: string;
|
|
8
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { normalizeMessageText, parseStructuredCallbackData } from "./richContent.js";
|
|
2
|
+
export function normalizeCallbackQueryPayload(payload) {
|
|
3
|
+
const parsedCallback = parseStructuredCallbackData(payload.callbackData);
|
|
4
|
+
const callbackLabel = normalizeMessageText(payload.buttonText) ?? parsedCallback?.label;
|
|
5
|
+
const callbackCommand = callbackLabel ?? payload.callbackData;
|
|
6
|
+
const callbackOptionIndex = parsedCallback && callbackLabel === parsedCallback.label
|
|
7
|
+
? parsedCallback.index
|
|
8
|
+
: undefined;
|
|
9
|
+
const callbackBodyLines = [
|
|
10
|
+
"[Inline Button Callback]",
|
|
11
|
+
callbackLabel ? `buttonText=${callbackLabel}` : null,
|
|
12
|
+
typeof payload.buttonRowIndex === "number" ? `buttonRowIndex=${payload.buttonRowIndex}` : null,
|
|
13
|
+
typeof payload.buttonIndex === "number" ? `buttonIndex=${payload.buttonIndex}` : null,
|
|
14
|
+
typeof callbackOptionIndex === "number" ? `optionIndex=${callbackOptionIndex}` : null,
|
|
15
|
+
`callbackData=${payload.callbackData}`,
|
|
16
|
+
`messageId=${payload.messageId}`,
|
|
17
|
+
`from=${payload.from}`,
|
|
18
|
+
].filter((value) => Boolean(value));
|
|
19
|
+
return {
|
|
20
|
+
parsedCallback,
|
|
21
|
+
callbackLabel,
|
|
22
|
+
callbackCommand,
|
|
23
|
+
callbackOptionIndex,
|
|
24
|
+
callbackBody: callbackBodyLines.join("\n"),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=callbackQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbackQuery.js","sourceRoot":"","sources":["../../src/callbackQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAGrF,MAAM,UAAU,6BAA6B,CAAC,OAA0C;IACtF,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,cAAc,EAAE,KAAK,CAAC;IACxF,MAAM,eAAe,GAAG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;IAC9D,MAAM,mBAAmB,GAAG,cAAc,IAAI,aAAa,KAAK,cAAc,CAAC,KAAK;QAClF,CAAC,CAAC,cAAc,CAAC,KAAK;QACtB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,iBAAiB,GAAG;QACxB,0BAA0B;QAC1B,aAAa,CAAC,CAAC,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI;QACpD,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI;QAC9F,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;QACrF,OAAO,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI;QACrF,gBAAgB,OAAO,CAAC,YAAY,EAAE;QACtC,aAAa,OAAO,CAAC,SAAS,EAAE;QAChC,QAAQ,OAAO,CAAC,IAAI,EAAE;KACvB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,OAAO;QACL,cAAc;QACd,aAAa;QACb,eAAe;QACf,mBAAmB;QACnB,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|
package/dist/src/channel.d.ts
CHANGED
|
@@ -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>;
|