@ozaiya/openclaw-channel 0.10.36 → 0.10.38

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":"botEmail.js","sourceRoot":"","sources":["../../src/botEmail.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ import { summarizeWithDoubao } from "./doubao.js";
31
31
  import { fetchXueqiuPost, searchXueqiuPosts } from "./xueqiu.js";
32
32
  import { fetchSocialMediaPost, searchSocialMedia, extractSocialMediaContent } from "./socialMedia.js";
33
33
  import { requestConfirmation, parseActionCallback, resolveConfirmation } from "./actionConfirmation.js";
34
+ import { createBotEmailTool, emailAddonOf, newMailNotice, watchMailboxes } from "./botEmail.js";
34
35
  const DEFAULT_API_BASE_URL = "https://api.ozaiya.com";
35
36
  const DEFAULT_WEBHOOK_PATH = "/ozaiya/webhook";
36
37
  const DEFAULT_ACCOUNT_ID = "default";
@@ -104,6 +105,15 @@ function categorize(toolName) {
104
105
  }
105
106
  // Active dispatches keyed by accountId (one dispatch at a time per account)
106
107
  const activeDispatches = new Map();
108
+ /** Bot id → the chat a new-mail turn is running in (the owner's chat with the bot). */
109
+ const mailTurns = new Map();
110
+ /** Bot id → its running mailbox watch, and the config it was started with. */
111
+ const mailWatches = new Map();
112
+ /** Bot id → new-mail turns run one after another. */
113
+ const mailTurnQueues = new Map();
114
+ /** Bot id → when its recent new-mail turns started (a flood of mail doesn't become a flood of turns). */
115
+ const mailTurnTimes = new Map();
116
+ const MAIL_TURNS_PER_HOUR = 20;
107
117
  function buildTaskProgressContent(dispatch, completed) {
108
118
  return {
109
119
  taskProgress: {
@@ -1487,6 +1497,7 @@ function buildChannelTools(account, cfg) {
1487
1497
  createMakePhoneCallTool(account, cfg),
1488
1498
  createHangUpCallTool(account),
1489
1499
  createStartInAppCallTool(account, cfg),
1500
+ createRequestUserApprovalTool(account),
1490
1501
  ];
1491
1502
  // A bot hosted on Ozaiya pays per addon, so its addon-backed tools appear only once the
1492
1503
  // addon is on; a self-hosted gateway keeps every tool its own config enables.
@@ -1508,6 +1519,10 @@ function buildChannelTools(account, cfg) {
1508
1519
  const summarizeTool = addonOn("web_research") ? createSummarizeUrlTool(cfg) : null;
1509
1520
  if (summarizeTool)
1510
1521
  tools.push(summarizeTool);
1522
+ // The bot's own mailbox (email add-on): there only once the owner has added one.
1523
+ const emailConfig = emailAddonOf(account);
1524
+ if (emailConfig)
1525
+ tools.push(createEmailToolFor(account, emailConfig));
1511
1526
  // Plan tool: lets the agent declare + maintain a high-level task plan that the
1512
1527
  // app renders as a live "task progress N/M" checklist (distinct from tool steps).
1513
1528
  tools.push({
@@ -1786,9 +1801,10 @@ export const ozaiyaPlugin = {
1786
1801
  resolveAccount: (cfg, accountId) => resolveAccount(cfg, accountId),
1787
1802
  defaultAccountId: () => DEFAULT_ACCOUNT_ID,
1788
1803
  isConfigured: (account) => {
1789
- // Gateway sentinel is configured if userToken is present
1804
+ // The gateway sentinel is only listed when a userToken (user gateway) or a provisionSecret
1805
+ // (fleet node, whose account has no botToken) is set, so being listed means configured.
1790
1806
  if (account.accountId === GATEWAY_ACCOUNT_ID) {
1791
- return Boolean(account.botToken?.trim());
1807
+ return true;
1792
1808
  }
1793
1809
  // Gateway-loaded bot accounts are always configured
1794
1810
  if (gatewayBotAccounts.has(account.accountId)) {
@@ -1800,7 +1816,7 @@ export const ozaiyaPlugin = {
1800
1816
  accountId: account.accountId,
1801
1817
  enabled: account.enabled,
1802
1818
  configured: account.accountId === GATEWAY_ACCOUNT_ID
1803
- ? Boolean(account.botToken?.trim())
1819
+ ? true
1804
1820
  : Boolean(account.botToken?.trim() && account.botPrivateKey?.trim()),
1805
1821
  webhookPath: account.webhookPath,
1806
1822
  baseUrl: account.apiBaseUrl,
@@ -2088,10 +2104,12 @@ export const ozaiyaPlugin = {
2088
2104
  recordState(botAccount.accountId, { running: false, lastStopAt: Date.now() });
2089
2105
  });
2090
2106
  ctx.log?.info(`[${botAccount.accountId}] registered webhook at ${botAccount.webhookPath}`);
2107
+ syncMailWatch(botAccount, ctx.cfg, stateDir, ctx.log);
2091
2108
  };
2092
2109
  const stopBotHandler = (botId) => {
2093
2110
  botUnregisters.get(botId)?.();
2094
2111
  botUnregisters.delete(botId);
2112
+ stopMailWatch(botId);
2095
2113
  gatewayBotAccounts.delete(botId);
2096
2114
  };
2097
2115
  await startGatewayMode({
@@ -2168,6 +2186,7 @@ export const ozaiyaPlugin = {
2168
2186
  groupToActivePhoneCall.clear();
2169
2187
  for (const id of gatewayBotAccounts.keys()) {
2170
2188
  recordState(id, { running: false, lastStopAt: Date.now() });
2189
+ stopMailWatch(id);
2171
2190
  }
2172
2191
  gatewayBotAccounts.clear();
2173
2192
  recordState(account.accountId, { running: false, lastStopAt: Date.now() });
@@ -3065,6 +3084,187 @@ function createStartInAppCallTool(account, cfg) {
3065
3084
  },
3066
3085
  };
3067
3086
  }
3087
+ /**
3088
+ * Ask the user before an action that can't be undone — paying, placing an order, submitting a
3089
+ * form with their details, posting or sending something in their name. Shows an Approve/Reject
3090
+ * card in the chat and waits for the answer (or the confirmation timeout).
3091
+ */
3092
+ function createRequestUserApprovalTool(account) {
3093
+ return {
3094
+ label: "Request User Approval",
3095
+ name: "request_user_approval",
3096
+ ownerOnly: false,
3097
+ description: "Ask the user to approve an action BEFORE doing it. Required before paying or placing an order, " +
3098
+ "submitting a form with their personal details, or sending a message, email or post on their behalf. " +
3099
+ "Shows Approve/Reject buttons in the chat and waits up to 5 minutes. Returns APPROVED or REJECTED; " +
3100
+ "only go ahead on APPROVED.",
3101
+ parameters: {
3102
+ type: "object",
3103
+ properties: {
3104
+ groupId: { type: "string", description: "The chat to ask in (the current conversation)." },
3105
+ action: { type: "string", description: "Short name of the action, e.g. \"Pay ¥128 for 2 movie tickets\"." },
3106
+ details: {
3107
+ type: "object",
3108
+ description: "Key facts the user should check, as short label → value pairs (amount, recipient, item, date…).",
3109
+ additionalProperties: { type: "string" },
3110
+ },
3111
+ },
3112
+ required: ["groupId", "action"],
3113
+ },
3114
+ execute: async (_toolCallId, rawArgs) => {
3115
+ const args = rawArgs;
3116
+ const params = {};
3117
+ for (const [key, value] of Object.entries(args.details ?? {})) {
3118
+ if (value !== undefined && value !== null && value !== "")
3119
+ params[key] = String(value).slice(0, 200);
3120
+ }
3121
+ const approved = await requestConfirmation(makeConfirmationDeps(account), args.groupId, "request_user_approval", params, String(args.action ?? "").slice(0, 120) || undefined);
3122
+ return { content: [{ type: "text", text: approved ? "APPROVED" : "REJECTED (or no answer in time) — do not do it." }] };
3123
+ },
3124
+ };
3125
+ }
3126
+ // ─── The bot's own mailbox (email add-on) ───────────────────────────────────
3127
+ /**
3128
+ * The email tool for this bot. Its mailbox may only be looked into from the owner's own chat with
3129
+ * the bot — the chat a message or new-mail turn is running in, when that is the only one running —
3130
+ * and every approval card goes to that chat, whoever asked.
3131
+ */
3132
+ function createEmailToolFor(account, config) {
3133
+ const ownerGroupId = config.ownerGroupId;
3134
+ return createBotEmailTool(account, config, {
3135
+ inOwnerChat: () => {
3136
+ const running = [activeDispatches.get(account.accountId)?.groupId, mailTurns.get(account.accountId)].filter(Boolean);
3137
+ return !!ownerGroupId && running.length > 0 && running.every((groupId) => groupId === ownerGroupId);
3138
+ },
3139
+ askOwner: async (label, params) => {
3140
+ if (!ownerGroupId)
3141
+ return false;
3142
+ return requestConfirmation(makeConfirmationDeps(account), ownerGroupId, "email", params, label);
3143
+ },
3144
+ });
3145
+ }
3146
+ /**
3147
+ * New mail reached the bot's own mailbox: run a turn in the owner's chat with the bot, so it tells
3148
+ * them and, where it may, answers. The mail's headers come in marked as outside data; the agent
3149
+ * reads the rest with its email tool.
3150
+ */
3151
+ async function handleNewMail(account, cfg, log, mailbox, mails) {
3152
+ const config = emailAddonOf(account);
3153
+ const groupId = config?.ownerGroupId;
3154
+ if (!config || !groupId)
3155
+ return;
3156
+ const now = Date.now();
3157
+ const recent = (mailTurnTimes.get(account.accountId) ?? []).filter((t) => now - t < 3_600_000);
3158
+ if (recent.length >= MAIL_TURNS_PER_HOUR) {
3159
+ log?.warn?.(`ozaiya: [${account.accountId}] ${mails.length} new email(s) in ${mailbox.email} not announced: over ${MAIL_TURNS_PER_HOUR} new-mail turns this hour`);
3160
+ return;
3161
+ }
3162
+ mailTurnTimes.set(account.accountId, [...recent, now]);
3163
+ recordState(account.accountId, { lastInboundAt: now });
3164
+ await getGroupKeyOrThrow(account, groupId);
3165
+ const ch = getOzaiyaRuntime().channel;
3166
+ const route = ch.routing.resolveAgentRoute({
3167
+ cfg,
3168
+ channel: "ozaiya",
3169
+ accountId: account.accountId,
3170
+ peer: { kind: "group", id: groupId },
3171
+ });
3172
+ const fromAddress = `ozaiya:group:${groupId}`;
3173
+ const conversationLabel = `group:${groupId}`;
3174
+ const storePath = ch.session.resolveStorePath(undefined, { agentId: route.agentId });
3175
+ const notice = newMailNotice(mailbox, mails, config.replyWithoutAsking !== false);
3176
+ const body = ch.reply.formatAgentEnvelope({
3177
+ channel: "Ozaiya",
3178
+ from: `Email to ${mailbox.email} (${conversationLabel})`,
3179
+ timestamp: now,
3180
+ previousTimestamp: ch.session.readSessionUpdatedAt({ storePath, sessionKey: route.sessionKey }),
3181
+ envelope: ch.reply.resolveEnvelopeFormatOptions(cfg),
3182
+ body: notice,
3183
+ });
3184
+ const msgCtx = ch.reply.finalizeInboundContext({
3185
+ GroupSystemPrompt: account.persona,
3186
+ Body: body,
3187
+ BodyForAgent: notice,
3188
+ RawBody: notice,
3189
+ // Mail text never runs as a command.
3190
+ CommandBody: "",
3191
+ From: fromAddress,
3192
+ To: fromAddress,
3193
+ SessionKey: route.sessionKey,
3194
+ AccountId: route.accountId,
3195
+ ChatType: "direct",
3196
+ ConversationLabel: conversationLabel,
3197
+ GroupSubject: groupId,
3198
+ SenderId: "ozaiya-email",
3199
+ SenderName: "Email",
3200
+ Provider: "ozaiya",
3201
+ Surface: "ozaiya",
3202
+ MessageSid: `email-${mailbox.id}-${mails[mails.length - 1]?.uid ?? 0}-${now}`,
3203
+ Timestamp: now,
3204
+ MessageText: notice,
3205
+ CommandAuthorized: false,
3206
+ OriginatingChannel: "ozaiya",
3207
+ OriginatingTo: fromAddress,
3208
+ });
3209
+ void ch.session.recordInboundSession({
3210
+ storePath,
3211
+ sessionKey: route.sessionKey,
3212
+ ctx: msgCtx,
3213
+ onRecordError: (err) => log?.warn?.(`ozaiya: failed recording new-mail session: ${String(err)}`),
3214
+ }).catch((err) => log?.warn?.(`ozaiya: failed recording new-mail session: ${String(err)}`));
3215
+ mailTurns.set(account.accountId, groupId);
3216
+ try {
3217
+ await ch.reply.dispatchReplyWithBufferedBlockDispatcher({
3218
+ ctx: msgCtx,
3219
+ cfg,
3220
+ dispatcherOptions: {
3221
+ deliver: async (replyPayload, _info) => {
3222
+ const replyText = replyPayload.text;
3223
+ if (!replyText?.trim())
3224
+ return;
3225
+ await sendEncryptedChatContent({ account, groupId, content: { text: replyText }, log });
3226
+ },
3227
+ onError: (err) => log?.warn?.(`ozaiya: new-mail turn error: ${String(err)}`),
3228
+ },
3229
+ replyOptions: account.model ? { isHeartbeat: true, heartbeatModelOverride: account.model } : undefined,
3230
+ });
3231
+ }
3232
+ finally {
3233
+ mailTurns.delete(account.accountId);
3234
+ }
3235
+ }
3236
+ /**
3237
+ * Start, restart or stop a bot's mailbox watch to match its email add-on (gateway mode). A reload
3238
+ * that leaves the mailboxes and the owner's chat as they were keeps the running watch.
3239
+ */
3240
+ function syncMailWatch(account, cfg, stateDir, log) {
3241
+ const config = emailAddonOf(account);
3242
+ const signature = config?.ownerGroupId ? JSON.stringify([config.accounts, config.ownerGroupId]) : "";
3243
+ const running = mailWatches.get(account.accountId);
3244
+ if (running?.signature === signature)
3245
+ return;
3246
+ stopMailWatch(account.accountId);
3247
+ if (!signature)
3248
+ return;
3249
+ const botId = account.accountId;
3250
+ const stop = watchMailboxes(account, {
3251
+ stateDir,
3252
+ log: { info: (msg) => log?.info?.(msg), warn: (msg) => log?.warn?.(msg) },
3253
+ onNewMail: (mailbox, mails) => {
3254
+ // One new-mail turn at a time per bot, with the bot's config as it is by then.
3255
+ const next = (mailTurnQueues.get(botId) ?? Promise.resolve())
3256
+ .then(() => handleNewMail(gatewayBotAccounts.get(botId) ?? account, cfg, log, mailbox, mails))
3257
+ .catch((err) => log?.warn?.(`ozaiya: [${botId}] new-mail turn failed: ${String(err)}`));
3258
+ mailTurnQueues.set(botId, next);
3259
+ return next;
3260
+ },
3261
+ });
3262
+ mailWatches.set(botId, { signature, stop });
3263
+ }
3264
+ function stopMailWatch(botId) {
3265
+ mailWatches.get(botId)?.stop();
3266
+ mailWatches.delete(botId);
3267
+ }
3068
3268
  function createMakePhoneCallTool(account, cfg) {
3069
3269
  return {
3070
3270
  label: "Make Phone Call",