@openclaw/imessage 2026.10.1 → 2026.10.5-beta.1
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/.setup/{accounts-evTpvJMv.mjs → accounts-DacCvDBt.mjs} +23 -45
- package/dist/.setup/{actions-DJqbUmbN.mjs → actions-Hxh12myO.mjs} +54 -101
- package/dist/.setup/{actions.runtime-DL5i-Y4J.mjs → actions.runtime-DOIX6Fkf.mjs} +29 -37
- package/dist/.setup/{api-oq_MryN7.mjs → api-BV8qHfLl.mjs} +7 -7
- package/dist/.setup/{api-SAVMfMoY.mjs → api-DC1yHVGj.mjs} +8 -8
- package/dist/.setup/{approval-handler.runtime-Bj2NGNXF.mjs → approval-handler.runtime-Dc3KzakG.mjs} +38 -66
- package/dist/.setup/{approval-reactions-L9Ul7PAu.mjs → approval-reactions-JvzJCJ4a.mjs} +26 -33
- package/dist/.setup/{channel-CL73qdMG.mjs → channel-9TWBUDkP.mjs} +14 -16
- package/dist/.setup/{channel.runtime-DY7JJ0_9.mjs → channel.runtime-DrLDEY4R.mjs} +198 -362
- package/dist/.setup/{client-12apu4Ip.mjs → client-HixFQQWY.mjs} +34 -38
- package/dist/.setup/{media-contract-DjQGZlfl.mjs → media-contract-BwWs5PM7.mjs} +1 -1
- package/dist/.setup/{message-tool-api-CqfRxLlT.mjs → message-tool-api-B5NfPnFL.mjs} +2 -2
- package/dist/.setup/{question-reactions-DJV-TnA8.mjs → question-reactions-9jrqVZgE.mjs} +20 -25
- package/dist/.setup/{reaction-context-By7kUMBC.mjs → reaction-context-CRXpeYAr.mjs} +1 -1
- package/dist/.setup/{remote-file-BU7pA-Zi.mjs → remote-file-Dq5Asi_F.mjs} +10 -16
- package/dist/.setup/{sanitize-outbound-C0x4BPky.mjs → sanitize-outbound-DpdQERYJ.mjs} +27 -62
- package/dist/.setup/{send-pkYwL6Rt.mjs → send-BZZzMbdi.mjs} +186 -251
- package/dist/.setup/{setup-core-DqOBe-n0.mjs → setup-core-CaRGbZOL.mjs} +15 -46
- package/dist/.setup/{setup-surface-zKhIinwY.mjs → setup-surface-BMWS7VuY.mjs} +2 -2
- package/dist/.setup/{targets-BicBiYsM.mjs → targets-B4oU7n-v.mjs} +47 -69
- package/dist/api.js +7 -7
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +1 -1
- package/dist/doctor-contract-api.js +21 -45
- package/dist/media-contract-api.js +1 -1
- package/dist/message-tool-api.js +1 -1
- package/dist/runtime-api.js +1 -1
- package/dist/setup-entry.js +1 -1
- package/dist/src/chat-db.worker.js +1 -1
- package/package.json +4 -4
package/dist/.setup/{approval-handler.runtime-Bj2NGNXF.mjs → approval-handler.runtime-Dc3KzakG.mjs}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as parseIMessageTarget,
|
|
2
|
-
import { o as resolveIMessageAccount } from "./accounts-
|
|
3
|
-
import { n as getCachedIMessagePrivateApiStatus } from "./message-tool-api-
|
|
4
|
-
import { a as normalizeIMessageMessageId } from "./actions-
|
|
5
|
-
import { d as getIMessageApprovalApprovers } from "./channel-
|
|
6
|
-
import { i as extractMarkdownFormatRuns } from "./sanitize-outbound-
|
|
7
|
-
import { a as unregisterIMessageApprovalReactionTarget, c as buildIMessageApprovalConversationKeyForTarget, i as registerIMessageApprovalReactionTarget } from "./approval-reactions-
|
|
8
|
-
import { a as iMessageApprovalPollTargets, c as iMessageApprovalControlBindings, i as buildApprovalPollOptions, o as mapSentPollOptionsToDecisions, t as sendMessageIMessage } from "./send-
|
|
1
|
+
import { c as parseIMessageTarget, d as normalizeIMessageMessagingTarget } from "./targets-B4oU7n-v.mjs";
|
|
2
|
+
import { o as resolveIMessageAccount } from "./accounts-DacCvDBt.mjs";
|
|
3
|
+
import { n as getCachedIMessagePrivateApiStatus } from "./message-tool-api-B5NfPnFL.mjs";
|
|
4
|
+
import { a as normalizeIMessageMessageId } from "./actions-Hxh12myO.mjs";
|
|
5
|
+
import { d as getIMessageApprovalApprovers } from "./channel-9TWBUDkP.mjs";
|
|
6
|
+
import { i as extractMarkdownFormatRuns } from "./sanitize-outbound-DpdQERYJ.mjs";
|
|
7
|
+
import { a as unregisterIMessageApprovalReactionTarget, c as buildIMessageApprovalConversationKeyForTarget, i as registerIMessageApprovalReactionTarget } from "./approval-reactions-JvzJCJ4a.mjs";
|
|
8
|
+
import { a as iMessageApprovalPollTargets, c as iMessageApprovalControlBindings, i as buildApprovalPollOptions, o as mapSentPollOptionsToDecisions, t as sendMessageIMessage } from "./send-BZZzMbdi.mjs";
|
|
9
9
|
import { createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
|
|
10
10
|
import { createActionGate } from "openclaw/plugin-sdk/channel-actions";
|
|
11
11
|
import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
|
|
@@ -15,7 +15,7 @@ import { setTimeout } from "node:timers/promises";
|
|
|
15
15
|
import { buildChannelApprovalExpiredText, buildChannelApprovalResolvedText, createChannelApprovalNativeRuntimeAdapter, resolvePreparedApprovalAccountId } from "openclaw/plugin-sdk/approval-handler-runtime";
|
|
16
16
|
//#region extensions/imessage/src/approval-handler.runtime.ts
|
|
17
17
|
const log = createSubsystemLogger("imessage/approvals");
|
|
18
|
-
const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-
|
|
18
|
+
const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-DOIX6Fkf.mjs"), "imessageActionsRuntime");
|
|
19
19
|
const DEFAULT_PROBE_TIMEOUT_MS = 5e3;
|
|
20
20
|
const APPROVAL_POLL_ORDERING_DELAY_MS = 1100;
|
|
21
21
|
function classifyIMessageApprovalTargetTransport(params) {
|
|
@@ -56,27 +56,28 @@ function canIMessageApprovalUsePoll(params) {
|
|
|
56
56
|
return false;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
function resolveIMessageApprovalCliOptions(params) {
|
|
60
|
-
const account = resolveIMessageAccount({
|
|
61
|
-
cfg: params.cfg,
|
|
62
|
-
accountId: params.target.accountId
|
|
63
|
-
});
|
|
64
|
-
return {
|
|
65
|
-
cliPath: account.config.cliPath?.trim() || "imsg",
|
|
66
|
-
dbPath: account.config.dbPath?.trim() || void 0,
|
|
67
|
-
timeoutMs: account.config.probeTimeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
59
|
async function deliverIMessageApprovalPoll(params) {
|
|
71
60
|
const options = buildApprovalPollOptions({ allowedDecisions: params.allowedDecisions });
|
|
72
61
|
try {
|
|
73
|
-
const
|
|
62
|
+
const account = resolveIMessageAccount({
|
|
74
63
|
cfg: params.cfg,
|
|
75
|
-
|
|
64
|
+
accountId: params.target.accountId
|
|
76
65
|
});
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
66
|
+
const cliOptions = {
|
|
67
|
+
cliPath: account.config.cliPath?.trim() || "imsg",
|
|
68
|
+
dbPath: account.config.dbPath?.trim() || void 0,
|
|
69
|
+
timeoutMs: account.config.probeTimeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS
|
|
70
|
+
};
|
|
71
|
+
const target = parseIMessageTarget(params.target.to);
|
|
72
|
+
let chatGuid;
|
|
73
|
+
if (target.kind === "chat_guid") chatGuid = target.chatGuid;
|
|
74
|
+
else chatGuid = await (await loadIMessageActionsRuntime()).resolveChatGuidForTarget({
|
|
75
|
+
target: target.kind === "handle" ? {
|
|
76
|
+
kind: "chat_identifier",
|
|
77
|
+
chatIdentifier: `${target.service === "sms" ? "SMS" : "iMessage"};-;${target.to}`
|
|
78
|
+
} : target,
|
|
79
|
+
options: cliOptions,
|
|
80
|
+
conversationReadOrigin: "direct-operator"
|
|
80
81
|
});
|
|
81
82
|
if (!chatGuid || /^SMS;/i.test(chatGuid)) return null;
|
|
82
83
|
await setTimeout(APPROVAL_POLL_ORDERING_DELAY_MS);
|
|
@@ -139,40 +140,6 @@ async function deliverIMessageApprovalPoll(params) {
|
|
|
139
140
|
return null;
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
|
-
async function resolveIMessageApprovalChatGuid(params) {
|
|
143
|
-
const target = parseIMessageTarget(params.to);
|
|
144
|
-
if (target.kind === "chat_guid") return target.chatGuid;
|
|
145
|
-
const runtime = await loadIMessageActionsRuntime();
|
|
146
|
-
if (target.kind === "chat_id" || target.kind === "chat_identifier") return await runtime.resolveChatGuidForTarget({
|
|
147
|
-
target,
|
|
148
|
-
options: params.cliOptions,
|
|
149
|
-
conversationReadOrigin: "direct-operator"
|
|
150
|
-
});
|
|
151
|
-
if (target.kind !== "handle") return null;
|
|
152
|
-
const service = target.service === "sms" ? "SMS" : "iMessage";
|
|
153
|
-
return await runtime.resolveChatGuidForTarget({
|
|
154
|
-
target: {
|
|
155
|
-
kind: "chat_identifier",
|
|
156
|
-
chatIdentifier: `${service};-;${target.to}`
|
|
157
|
-
},
|
|
158
|
-
options: params.cliOptions,
|
|
159
|
-
conversationReadOrigin: "direct-operator"
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
async function recoverIMessageApprovalTextFallback(params) {
|
|
163
|
-
try {
|
|
164
|
-
return (await sendMessageIMessage(params.target.to, params.fallbackText, {
|
|
165
|
-
config: params.cfg,
|
|
166
|
-
approvalPrompt: params.approvalPrompt,
|
|
167
|
-
conversationReadOrigin: "direct-operator",
|
|
168
|
-
...params.target.accountId ? { accountId: params.target.accountId } : {},
|
|
169
|
-
...params.promptMessageId ? { replyToId: params.promptMessageId } : {}
|
|
170
|
-
})).guid;
|
|
171
|
-
} catch (error) {
|
|
172
|
-
log.error(`imessage approvals: text-fallback recovery failed: ${String(error)}`);
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
143
|
/** Clear both controls together; a stale binding would resolve a dead approval. */
|
|
177
144
|
async function clearIMessageApprovalBindings(entry) {
|
|
178
145
|
const accountId = entry.accountId?.trim();
|
|
@@ -337,13 +304,18 @@ const imessageApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter(
|
|
|
337
304
|
question: pendingPayload.pollText,
|
|
338
305
|
allowedDecisions: pendingPayload.allowedDecisions
|
|
339
306
|
}) : null;
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
307
|
+
let hintMessageId;
|
|
308
|
+
if (expectPoll && !poll && !reactionFallbackVisible) try {
|
|
309
|
+
hintMessageId = (await sendMessageIMessage(preparedTarget.to, pendingPayload.text, {
|
|
310
|
+
config: cfg,
|
|
311
|
+
approvalPrompt,
|
|
312
|
+
conversationReadOrigin: "direct-operator",
|
|
313
|
+
...preparedTarget.accountId ? { accountId: preparedTarget.accountId } : {},
|
|
314
|
+
replyToId: result.guid
|
|
315
|
+
})).guid;
|
|
316
|
+
} catch (error) {
|
|
317
|
+
log.error(`imessage approvals: text-fallback recovery failed: ${String(error)}`);
|
|
318
|
+
}
|
|
347
319
|
const entry = {
|
|
348
320
|
accountId,
|
|
349
321
|
to: preparedTarget.to,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BBjsoOtd.mjs";
|
|
2
|
-
import { c as parseIMessageTarget, o as normalizeIMessageHandle } from "./targets-
|
|
3
|
-
import { i as normalizeIMessageGuid } from "./actions-
|
|
2
|
+
import { c as parseIMessageTarget, o as normalizeIMessageHandle } from "./targets-B4oU7n-v.mjs";
|
|
3
|
+
import { i as normalizeIMessageGuid } from "./actions-Hxh12myO.mjs";
|
|
4
4
|
import { n as getOptionalIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
|
|
5
|
-
import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-
|
|
6
|
-
import { t as resolveIMessageReactionContext } from "./reaction-context-
|
|
5
|
+
import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-9TWBUDkP.mjs";
|
|
6
|
+
import { t as resolveIMessageReactionContext } from "./reaction-context-CRXpeYAr.mjs";
|
|
7
7
|
import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
|
|
9
9
|
import { asDateTimestampMs, isFutureDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
|
|
@@ -56,14 +56,19 @@ function buildIMessageApprovalConversationKeyForTarget(to) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
/** Conversation key for an inbound event, mirroring the outbound key forms. */
|
|
59
|
-
function buildIMessageApprovalConversationKeyForInbound(
|
|
59
|
+
function buildIMessageApprovalConversationKeyForInbound(message, actorHandle) {
|
|
60
60
|
return {
|
|
61
|
-
...
|
|
62
|
-
...
|
|
63
|
-
...chatIdToKeyValue(
|
|
64
|
-
...
|
|
61
|
+
...message.chat_guid?.trim() ? { chatGuid: message.chat_guid.trim() } : {},
|
|
62
|
+
...message.chat_identifier?.trim() ? { chatIdentifier: message.chat_identifier.trim() } : {},
|
|
63
|
+
...chatIdToKeyValue(message.chat_id ?? void 0) ? { chatId: message.chat_id } : {},
|
|
64
|
+
...message.is_group ? {} : { handle: actorHandle }
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
+
function resolveIMessageApprovalControlActor(message) {
|
|
68
|
+
const sender = normalizeIMessageHandle(message.sender ?? "");
|
|
69
|
+
const destination = normalizeIMessageHandle(message.destination_caller_id ?? "");
|
|
70
|
+
return (message.is_from_me !== true && Boolean(sender) && sender === destination ? "" : sender) || (message.is_from_me === true ? destination : "");
|
|
71
|
+
}
|
|
67
72
|
//#endregion
|
|
68
73
|
//#region extensions/imessage/src/approval-reaction-poll-targets.ts
|
|
69
74
|
const PERSISTENT_POLL_TARGET_NAMESPACE = "imessage.approval-reaction-poll-targets";
|
|
@@ -382,14 +387,6 @@ async function unregisterIMessageApprovalReactionTarget(params) {
|
|
|
382
387
|
const keys = enumerateApprovalTargetKeys(params);
|
|
383
388
|
await Promise.all([...keys.map((key) => imessageApprovalReactionTargets.delete(key)), deleteIMessageApprovalReactionPollTargets(keys)]);
|
|
384
389
|
}
|
|
385
|
-
function resolveTarget(params) {
|
|
386
|
-
const target = resolveTypedApprovalReactionTarget(params);
|
|
387
|
-
return target ? {
|
|
388
|
-
approvalId: target.approvalId,
|
|
389
|
-
approvalKind: target.approvalKind,
|
|
390
|
-
decision: target.decision
|
|
391
|
-
} : null;
|
|
392
|
-
}
|
|
393
390
|
function formatCanonicalApprovalTerminalState(approval) {
|
|
394
391
|
const decision = approval.status === "allowed" || approval.status === "denied" ? ` decision=${approval.decision}` : "";
|
|
395
392
|
return `status=${approval.status}${decision} reason=${approval.reason}`;
|
|
@@ -397,35 +394,31 @@ function formatCanonicalApprovalTerminalState(approval) {
|
|
|
397
394
|
async function resolveIMessageApprovalReactionTargetWithPersistence(params) {
|
|
398
395
|
const keys = enumerateApprovalTargetKeys(params);
|
|
399
396
|
for (const key of keys) {
|
|
400
|
-
const target =
|
|
397
|
+
const target = resolveTypedApprovalReactionTarget({
|
|
401
398
|
target: await imessageApprovalReactionTargets.lookup(key),
|
|
402
399
|
reactionKey: params.reactionKey
|
|
403
400
|
});
|
|
404
|
-
if (target) return
|
|
401
|
+
if (target) return {
|
|
402
|
+
approvalId: target.approvalId,
|
|
403
|
+
approvalKind: target.approvalKind,
|
|
404
|
+
decision: target.decision
|
|
405
|
+
};
|
|
405
406
|
}
|
|
406
407
|
return null;
|
|
407
408
|
}
|
|
408
409
|
function readApprovalReactionEvent(message, bodyText) {
|
|
409
410
|
const reaction = resolveIMessageReactionContext(message, bodyText);
|
|
410
411
|
if (!reaction) return null;
|
|
411
|
-
const reactionKey = reaction.emoji
|
|
412
|
-
const
|
|
413
|
-
const
|
|
414
|
-
const messageIdCandidates = candidates.length > 0 ? candidates : primary ? [primary] : [];
|
|
415
|
-
const actorHandle = normalizeIMessageHandle((message.sender ?? "").trim());
|
|
412
|
+
const reactionKey = reaction.emoji;
|
|
413
|
+
const primary = reaction.targetGuid;
|
|
414
|
+
const actorHandle = normalizeIMessageHandle(message.sender ?? "");
|
|
416
415
|
if (!reactionKey || !primary || !actorHandle) return null;
|
|
417
|
-
const conversation = buildIMessageApprovalConversationKeyForInbound(
|
|
418
|
-
chatGuid: message.chat_guid,
|
|
419
|
-
chatIdentifier: message.chat_identifier,
|
|
420
|
-
chatId: message.chat_id,
|
|
421
|
-
isGroup: message.is_group,
|
|
422
|
-
actorHandle
|
|
423
|
-
});
|
|
416
|
+
const conversation = buildIMessageApprovalConversationKeyForInbound(message, actorHandle);
|
|
424
417
|
if (!normalizeConversationKey(conversation)) return null;
|
|
425
418
|
return {
|
|
426
419
|
conversation,
|
|
427
420
|
messageId: primary,
|
|
428
|
-
messageIdCandidates,
|
|
421
|
+
messageIdCandidates: reaction.targetGuids ?? [],
|
|
429
422
|
actorHandle,
|
|
430
423
|
reactionKey,
|
|
431
424
|
action: reaction.action
|
|
@@ -521,4 +514,4 @@ function clearIMessageApprovalReactionTargetsForTest() {
|
|
|
521
514
|
loadResolveApprovalOverGateway.clear();
|
|
522
515
|
}
|
|
523
516
|
//#endregion
|
|
524
|
-
export { unregisterIMessageApprovalReactionTarget as a, buildIMessageApprovalConversationKeyForTarget as c, normalizeConversationKey as d, registerIMessageApprovalReactionTarget as i, enumerateApprovalTargetKeys as l, handleIMessageApprovalReaction as n, listPendingIMessageApprovalReactionPollTargets as o, maybeResolveIMessageApprovalReaction as r, buildIMessageApprovalConversationKeyForInbound as s, approval_reactions_exports as t, enumerateConversationKeyForms as u };
|
|
517
|
+
export { unregisterIMessageApprovalReactionTarget as a, buildIMessageApprovalConversationKeyForTarget as c, normalizeConversationKey as d, resolveIMessageApprovalControlActor as f, registerIMessageApprovalReactionTarget as i, enumerateApprovalTargetKeys as l, handleIMessageApprovalReaction as n, listPendingIMessageApprovalReactionPollTargets as o, maybeResolveIMessageApprovalReaction as r, buildIMessageApprovalConversationKeyForInbound as s, approval_reactions_exports as t, enumerateConversationKeyForms as u };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { a as looksLikeIMessageExplicitTargetId, c as parseIMessageTarget, d as isIMessagePhoneLikeHandle, n as inferIMessageTargetChatType, o as normalizeIMessageHandle
|
|
2
|
-
import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, t as collectIMessageDuplicateAccountSourceWarnings } from "./accounts-
|
|
3
|
-
import { C as resolveIMessageDirectChatService } from "./client-
|
|
4
|
-
import { t as imessageMessageActions } from "./actions-
|
|
5
|
-
import { i as createIMessageSetupWizardProxy, s as imessageSetupContract } from "./setup-core-
|
|
1
|
+
import { a as looksLikeIMessageExplicitTargetId, c as parseIMessageTarget, d as normalizeIMessageMessagingTarget, f as isIMessagePhoneLikeHandle, n as inferIMessageTargetChatType, o as normalizeIMessageHandle } from "./targets-B4oU7n-v.mjs";
|
|
2
|
+
import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, t as collectIMessageDuplicateAccountSourceWarnings } from "./accounts-DacCvDBt.mjs";
|
|
3
|
+
import { C as resolveIMessageDirectChatService } from "./client-HixFQQWY.mjs";
|
|
4
|
+
import { t as imessageMessageActions } from "./actions-Hxh12myO.mjs";
|
|
5
|
+
import { i as createIMessageSetupWizardProxy, s as imessageSetupContract } from "./setup-core-CaRGbZOL.mjs";
|
|
6
6
|
import { t as createIMessageConversationBindingManager } from "./conversation-bindings-GDQ_Laxj.mjs";
|
|
7
|
-
import { n as sanitizeIMessageFinalOutboundText, r as sanitizeOutboundText } from "./sanitize-outbound-
|
|
7
|
+
import { n as sanitizeIMessageFinalOutboundText, r as sanitizeOutboundText } from "./sanitize-outbound-DpdQERYJ.mjs";
|
|
8
8
|
import { t as IMessageChannelConfigSchema } from "./config-schema-DXwa_3V5.mjs";
|
|
9
|
-
import { n as resolveIMessageAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots } from "./media-contract-
|
|
9
|
+
import { n as resolveIMessageAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots } from "./media-contract-BwWs5PM7.mjs";
|
|
10
10
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
11
11
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
12
12
|
import { buildDmGroupAccountAllowlistAdapter } from "openclaw/plugin-sdk/allowlist-config-edit";
|
|
@@ -32,9 +32,7 @@ import { buildChannelGroupsScopeTree, createRestrictSendersChannelSecurity, reso
|
|
|
32
32
|
import { createChannelPluginBase, getChatChannelMeta } from "openclaw/plugin-sdk/core";
|
|
33
33
|
//#region extensions/imessage/src/approval-auth.ts
|
|
34
34
|
function normalizeIMessageApproverId(value) {
|
|
35
|
-
const
|
|
36
|
-
if (!raw) return;
|
|
37
|
-
const normalized = normalizeIMessageHandle(raw);
|
|
35
|
+
const normalized = normalizeIMessageHandle(String(value));
|
|
38
36
|
if (!normalized || normalized.startsWith("chat_id:") || normalized.startsWith("chat_guid:") || normalized.startsWith("chat_identifier:")) return;
|
|
39
37
|
return normalized;
|
|
40
38
|
}
|
|
@@ -120,7 +118,7 @@ const imessageApproval = createApproverRestrictedNativeApprovalCapabilityFromFor
|
|
|
120
118
|
approvalKind,
|
|
121
119
|
request
|
|
122
120
|
}),
|
|
123
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
121
|
+
load: async () => (await import("./approval-handler.runtime-Dc3KzakG.mjs")).imessageApprovalNativeRuntime
|
|
124
122
|
})
|
|
125
123
|
});
|
|
126
124
|
const imessageApprovalRouting = imessageApproval.routing;
|
|
@@ -289,7 +287,7 @@ function resolveIMessageGroupSystemPrompt(params) {
|
|
|
289
287
|
//#endregion
|
|
290
288
|
//#region extensions/imessage/src/shared.ts
|
|
291
289
|
const IMESSAGE_CHANNEL = "imessage";
|
|
292
|
-
const imessageSetupWizard = createIMessageSetupWizardProxy(async () => (await import("./setup-surface-
|
|
290
|
+
const imessageSetupWizard = createIMessageSetupWizardProxy(async () => (await import("./setup-surface-BMWS7VuY.mjs")).imessageSetupWizard);
|
|
293
291
|
const imessageConfigAdapter = createScopedChannelConfigAdapter({
|
|
294
292
|
sectionKey: IMESSAGE_CHANNEL,
|
|
295
293
|
listAccountIds: listIMessageAccountIds,
|
|
@@ -373,7 +371,7 @@ function createIMessagePluginBase(params) {
|
|
|
373
371
|
}
|
|
374
372
|
//#endregion
|
|
375
373
|
//#region extensions/imessage/src/channel.ts
|
|
376
|
-
const loadIMessageChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-
|
|
374
|
+
const loadIMessageChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-DrLDEY4R.mjs"));
|
|
377
375
|
async function sendIMessageOutbound(ctx, kind, options = {}) {
|
|
378
376
|
return await (await loadIMessageChannelRuntime()).sendIMessageOutbound({
|
|
379
377
|
cfg: ctx.cfg,
|
|
@@ -409,8 +407,8 @@ function toIMessageMessageSendResult(result, kind, replyToId) {
|
|
|
409
407
|
...result.meta && Object.keys(result.meta).length > 0 ? { meta: result.meta } : {}
|
|
410
408
|
};
|
|
411
409
|
}
|
|
412
|
-
const loadIMessageApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-
|
|
413
|
-
const loadIMessageQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-
|
|
410
|
+
const loadIMessageApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-JvzJCJ4a.mjs").then((n) => n.t));
|
|
411
|
+
const loadIMessageQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-9jrqVZgE.mjs").then((n) => n.r));
|
|
414
412
|
const imessageMessageAdapter = defineChannelMessageAdapter({
|
|
415
413
|
id: "imessage",
|
|
416
414
|
durableFinal: { capabilities: {
|
|
@@ -528,7 +526,7 @@ const imessagePlugin = createChatChannelPlugin({
|
|
|
528
526
|
messaging: {
|
|
529
527
|
normalizeTarget: normalizeIMessageMessagingTarget,
|
|
530
528
|
inferTargetChatType: ({ to }) => inferIMessageTargetChatType(to),
|
|
531
|
-
resolveOutboundSessionRoute:
|
|
529
|
+
resolveOutboundSessionRoute: resolveIMessageOutboundSessionRoute,
|
|
532
530
|
targetResolver: {
|
|
533
531
|
looksLikeId: looksLikeIMessageExplicitTargetId,
|
|
534
532
|
hint: "<phone|email|chat_id:ID|auto:contact|imessage:contact|sms:contact>",
|