@openclaw/imessage 2026.10.10-beta.4 → 2026.10.10-beta.5

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.
@@ -1,7 +1,7 @@
1
1
  import { c as parseIMessageTarget } from "./targets-B4oU7n-v.mjs";
2
2
  import { l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount, u as expandIMessageUserPath } from "./accounts-DacCvDBt.mjs";
3
3
  import { a as setCachedIMessagePrivateApiStatus, n as getCachedIMessagePrivateApiStatus, o as IMESSAGE_ACTIONS, r as imessageRpcSupportsMethod, s as IMESSAGE_ACTION_NAMES, t as describeIMessageMessageTool } from "./message-tool-api-B5NfPnFL.mjs";
4
- import { a as isIMessageCurrentMessageInChatAsync, i as findLatestIMessageEntryForChat, n as createIMessageRpcClient, s as rememberIMessageReplyCache, y as chatContextFromIMessageTarget } from "./client-BEZ_gLk-.mjs";
4
+ import { a as isIMessageCurrentMessageInChatAsync, i as findLatestIMessageEntryForChat, n as createIMessageRpcClient, s as rememberIMessageReplyCache, y as chatContextFromIMessageTarget } from "./client-CcROCvRq.mjs";
5
5
  import { l as isAutoManagedIMessageCliPath, n as IMESSAGE_UPDATE_COMMAND, t as IMESSAGE_INSTALL_COMMAND } from "./setup-core-BHyLkAEJ.mjs";
6
6
  import { filterStringEntries, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
@@ -260,7 +260,7 @@ async function probeIMessage(timeoutMs, opts = {}) {
260
260
  }
261
261
  //#endregion
262
262
  //#region extensions/imessage/src/actions.ts
263
- const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-B-OHCffC.mjs"), "imessageActionsRuntime");
263
+ const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-DHiRiPHe.mjs"), "imessageActionsRuntime");
264
264
  const log = createSubsystemLogger("channels/imessage");
265
265
  const providerId = "imessage";
266
266
  const SUPPORTED_ACTIONS = /* @__PURE__ */ new Set([...IMESSAGE_ACTION_NAMES, "upload-file"]);
@@ -1,6 +1,6 @@
1
- import { l as resolveIMessageMessageId, n as createIMessageRpcClient, r as runIMessageCliJsonCommand, x as normalizeDirectChatIdentifier } from "./client-BEZ_gLk-.mjs";
1
+ import { l as resolveIMessageMessageId, n as createIMessageRpcClient, r as runIMessageCliJsonCommand, x as normalizeDirectChatIdentifier } from "./client-CcROCvRq.mjs";
2
2
  import { n as sanitizeIMessageFinalOutboundText } from "./sanitize-outbound-BtEY324R.mjs";
3
- import { n as authorizeIMessageResourceReference, t as withIMessageRemoteFile } from "./remote-file-vdoCnZze.mjs";
3
+ import { n as authorizeIMessageResourceReference, t as withIMessageRemoteFile } from "./remote-file-B94a787O.mjs";
4
4
  import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { basename, parse, win32 } from "node:path";
6
6
  import { parseStrictInteger } from "openclaw/plugin-sdk/number-runtime";
@@ -1,10 +1,10 @@
1
1
  import { a as looksLikeIMessageExplicitTargetId, c as parseIMessageTarget, d as normalizeIMessageMessagingTarget, i as isAllowedIMessageSender, n as inferIMessageTargetChatType, o as normalizeIMessageHandle, s as parseIMessageAllowTarget, t as formatIMessageChatTarget, u as looksLikeIMessageTargetId } from "./targets-B4oU7n-v.mjs";
2
2
  import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, r as listEnabledIMessageAccounts } from "./accounts-DacCvDBt.mjs";
3
3
  import { o as IMESSAGE_ACTIONS, s as IMESSAGE_ACTION_NAMES } from "./message-tool-api-B5NfPnFL.mjs";
4
- import { _ as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./client-BEZ_gLk-.mjs";
5
- import { n as probeIMessage } from "./actions-CZHoxlpi.mjs";
6
- import { c as matchIMessageAcpConversation, i as resolveIMessageGroupRequireMention, l as normalizeIMessageAcpConversationId, o as resolveIMessageGroupToolPolicy, s as resolveIMessageInboundConversationId, t as imessagePlugin, u as resolveIMessageConversationIdFromTarget } from "./channel-D-E9DvQL.mjs";
4
+ import { _ as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./client-CcROCvRq.mjs";
5
+ import { n as probeIMessage } from "./actions-762Azi-J.mjs";
6
+ import { c as matchIMessageAcpConversation, i as resolveIMessageGroupRequireMention, l as normalizeIMessageAcpConversationId, o as resolveIMessageGroupToolPolicy, s as resolveIMessageInboundConversationId, t as imessagePlugin, u as resolveIMessageConversationIdFromTarget } from "./channel-C61YdcZR.mjs";
7
7
  import { n as createIMessageConversationBindingManagerV2, t as createIMessageConversationBindingManager } from "./conversation-bindings-DR-dbHjs.mjs";
8
- import { a as resolveServicePrefixedChatTarget, c as imessageSetupPlugin, i as resolveServicePrefixedAllowTarget, n as parseChatAllowTargetPrefixes, o as resolveServicePrefixedOrChatAllowTarget, r as parseChatTargetPrefixesOrThrow, s as resolveServicePrefixedTarget, t as createAllowedChatSenderMatcher } from "./api-dHebtZYA.mjs";
8
+ import { a as resolveServicePrefixedChatTarget, c as imessageSetupPlugin, i as resolveServicePrefixedAllowTarget, n as parseChatAllowTargetPrefixes, o as resolveServicePrefixedOrChatAllowTarget, r as parseChatTargetPrefixesOrThrow, s as resolveServicePrefixedTarget, t as createAllowedChatSenderMatcher } from "./api-Deyo8NDs.mjs";
9
9
  import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./outbound-send-deps-B-QEsLSM.mjs";
10
10
  export { DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, IMESSAGE_ACTIONS, IMESSAGE_ACTION_NAMES, IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS, createAllowedChatSenderMatcher, createIMessageConversationBindingManager, createIMessageConversationBindingManagerV2, formatIMessageChatTarget, imessagePlugin, imessageSetupPlugin, inferIMessageTargetChatType, isAllowedIMessageSender, listEnabledIMessageAccounts, listIMessageAccountIds, looksLikeIMessageExplicitTargetId, looksLikeIMessageTargetId, matchIMessageAcpConversation, normalizeIMessageAcpConversationId, normalizeIMessageHandle, normalizeIMessageMessagingTarget, parseChatAllowTargetPrefixes, parseChatTargetPrefixesOrThrow, parseIMessageAllowTarget, parseIMessageTarget, probeIMessage, resolveDefaultIMessageAccountId, resolveIMessageAccount, resolveIMessageConversationIdFromTarget, resolveIMessageGroupRequireMention, resolveIMessageGroupToolPolicy, resolveIMessageInboundConversationId, resolveServicePrefixedAllowTarget, resolveServicePrefixedChatTarget, resolveServicePrefixedOrChatAllowTarget, resolveServicePrefixedTarget };
@@ -1,9 +1,9 @@
1
1
  import "./targets-B4oU7n-v.mjs";
2
2
  import "./accounts-DacCvDBt.mjs";
3
3
  import "./message-tool-api-B5NfPnFL.mjs";
4
- import "./actions-CZHoxlpi.mjs";
4
+ import "./actions-762Azi-J.mjs";
5
5
  import { s as imessageSetupContract } from "./setup-core-BHyLkAEJ.mjs";
6
- import { n as createIMessagePluginBase, r as imessageSetupWizard } from "./channel-D-E9DvQL.mjs";
6
+ import { n as createIMessagePluginBase, r as imessageSetupWizard } from "./channel-C61YdcZR.mjs";
7
7
  import "./conversation-bindings-DR-dbHjs.mjs";
8
8
  import { createAllowedChatSenderMatcher as createAllowedChatSenderMatcher$1, parseChatAllowTargetPrefixes, parseChatTargetPrefixesOrThrow as parseChatTargetPrefixesOrThrow$1, resolveServicePrefixedAllowTarget, resolveServicePrefixedChatTarget as resolveServicePrefixedChatTarget$1, resolveServicePrefixedOrChatAllowTarget as resolveServicePrefixedOrChatAllowTarget$1, resolveServicePrefixedTarget } from "openclaw/plugin-sdk/channel-targets";
9
9
  //#region extensions/imessage/src/channel.setup.ts
@@ -1,11 +1,11 @@
1
1
  import { c as parseIMessageTarget, d as normalizeIMessageMessagingTarget } from "./targets-B4oU7n-v.mjs";
2
2
  import { o as resolveIMessageAccount } from "./accounts-DacCvDBt.mjs";
3
3
  import { n as getCachedIMessagePrivateApiStatus } from "./message-tool-api-B5NfPnFL.mjs";
4
- import { a as normalizeIMessageMessageId } from "./actions-CZHoxlpi.mjs";
5
- import { d as getIMessageApprovalApprovers } from "./channel-D-E9DvQL.mjs";
4
+ import { a as normalizeIMessageMessageId } from "./actions-762Azi-J.mjs";
5
+ import { d as getIMessageApprovalApprovers } from "./channel-C61YdcZR.mjs";
6
6
  import { i as extractMarkdownFormatRuns } from "./sanitize-outbound-BtEY324R.mjs";
7
- import { a as unregisterIMessageApprovalReactionTarget, c as buildIMessageApprovalConversationKeyForTarget, i as registerIMessageApprovalReactionTarget } from "./approval-reactions-DFgEJMz2.mjs";
8
- import { a as iMessageApprovalPollTargets, i as buildApprovalPollOptions, o as mapSentPollOptionsToDecisions, t as sendMessageIMessage } from "./send-Jaf5eIJS.mjs";
7
+ import { a as unregisterIMessageApprovalReactionTarget, c as buildIMessageApprovalConversationKeyForTarget, i as registerIMessageApprovalReactionTarget } from "./approval-reactions-CoAkCiwf.mjs";
8
+ import { a as iMessageApprovalPollTargets, i as buildApprovalPollOptions, o as mapSentPollOptionsToDecisions, t as sendMessageIMessage } from "./send-BvxKNWzF.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, createChannelApprovalNativeRuntimeAdapterAsync, 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-B-OHCffC.mjs"), "imessageActionsRuntime");
18
+ const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-DHiRiPHe.mjs"), "imessageActionsRuntime");
19
19
  const DEFAULT_PROBE_TIMEOUT_MS = 5e3;
20
20
  const APPROVAL_POLL_ORDERING_DELAY_MS = 1100;
21
21
  function classifyIMessageApprovalTargetTransport(params) {
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-BBjsoOtd.mjs";
2
2
  import { c as parseIMessageTarget, o as normalizeIMessageHandle } from "./targets-B4oU7n-v.mjs";
3
- import { i as normalizeIMessageGuid } from "./actions-CZHoxlpi.mjs";
3
+ import { i as normalizeIMessageGuid } from "./actions-762Azi-J.mjs";
4
4
  import { n as getOptionalIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
5
- import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-D-E9DvQL.mjs";
6
- import { t as resolveIMessageReactionContext } from "./reaction-context-DbYCapmR.mjs";
5
+ import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-C61YdcZR.mjs";
6
+ import { t as resolveIMessageReactionContext } from "./reaction-context-Q26DYzQH.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";
@@ -1,7 +1,7 @@
1
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
2
  import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, t as collectIMessageDuplicateAccountSourceWarnings } from "./accounts-DacCvDBt.mjs";
3
- import { S as resolveIMessageDirectChatService } from "./client-BEZ_gLk-.mjs";
4
- import { t as imessageMessageActions } from "./actions-CZHoxlpi.mjs";
3
+ import { S as resolveIMessageDirectChatService } from "./client-CcROCvRq.mjs";
4
+ import { t as imessageMessageActions } from "./actions-762Azi-J.mjs";
5
5
  import { i as createIMessageSetupWizardProxy, s as imessageSetupContract } from "./setup-core-BHyLkAEJ.mjs";
6
6
  import { n as createIMessageConversationBindingManagerV2 } from "./conversation-bindings-DR-dbHjs.mjs";
7
7
  import { n as sanitizeIMessageFinalOutboundText, r as sanitizeOutboundText } from "./sanitize-outbound-BtEY324R.mjs";
@@ -118,7 +118,7 @@ const imessageApproval = createApproverRestrictedNativeApprovalCapabilityFromFor
118
118
  approvalKind,
119
119
  request
120
120
  }),
121
- load: async () => (await import("./approval-handler.runtime-jO19jL0F.mjs")).imessageApprovalNativeRuntime
121
+ load: async () => (await import("./approval-handler.runtime-fsSBf2jf.mjs")).imessageApprovalNativeRuntime
122
122
  })
123
123
  });
124
124
  const imessageApprovalRouting = imessageApproval.routing;
@@ -371,7 +371,7 @@ function createIMessagePluginBase(params) {
371
371
  }
372
372
  //#endregion
373
373
  //#region extensions/imessage/src/channel.ts
374
- const loadIMessageChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-Cx_lRd-J.mjs"));
374
+ const loadIMessageChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-B5jle0g3.mjs"));
375
375
  async function sendIMessageOutbound(ctx, kind, options = {}) {
376
376
  return await (await loadIMessageChannelRuntime()).sendIMessageOutbound({
377
377
  cfg: ctx.cfg,
@@ -407,8 +407,8 @@ function toIMessageMessageSendResult(result, kind, replyToId) {
407
407
  ...result.meta && Object.keys(result.meta).length > 0 ? { meta: result.meta } : {}
408
408
  };
409
409
  }
410
- const loadIMessageApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-DFgEJMz2.mjs").then((n) => n.t));
411
- const loadIMessageQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-BUSvdHlF.mjs").then((n) => n.r));
410
+ const loadIMessageApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-CoAkCiwf.mjs").then((n) => n.t));
411
+ const loadIMessageQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-BD06B1Lx.mjs").then((n) => n.r));
412
412
  const imessageMessageAdapter = defineChannelMessageAdapter({
413
413
  id: "imessage",
414
414
  durableFinal: { capabilities: {
@@ -1,18 +1,18 @@
1
1
  import { c as parseIMessageTarget, o as normalizeIMessageHandle, r as isAllowedIMessageReplyContextSender, s as parseIMessageAllowTarget, t as formatIMessageChatTarget } from "./targets-B4oU7n-v.mjs";
2
2
  import { d as resolveIMessageChatDbLookupPath, f as resolveIMessageHomeDir, l as resolveIMessageRemoteHost, o as resolveIMessageAccount, r as listEnabledIMessageAccounts, s as resolveIMessageDuplicateSourceOwner } from "./accounts-DacCvDBt.mjs";
3
3
  import { r as imessageRpcSupportsMethod } from "./message-tool-api-B5NfPnFL.mjs";
4
- import { S as resolveIMessageDirectChatService, h as resolveIMessageEchoMediaKey, m as resolveIMessageCatchupCursorKey, n as createIMessageRpcClient, o as isKnownFromMeIMessageTarget, p as capFailureRetriesMap, s as rememberIMessageReplyCache, u as IMESSAGE_CATCHUP_CURSOR_NAMESPACE } from "./client-BEZ_gLk-.mjs";
5
- import { a as normalizeIMessageMessageId, i as normalizeIMessageGuid, n as probeIMessage, r as probeIMessagePrivateApi } from "./actions-CZHoxlpi.mjs";
4
+ import { S as resolveIMessageDirectChatService, h as resolveIMessageEchoMediaKey, m as resolveIMessageCatchupCursorKey, n as createIMessageRpcClient, o as isKnownFromMeIMessageTarget, p as capFailureRetriesMap, s as rememberIMessageReplyCache, u as IMESSAGE_CATCHUP_CURSOR_NAMESPACE } from "./client-CcROCvRq.mjs";
5
+ import { a as normalizeIMessageMessageId, i as normalizeIMessageGuid, n as probeIMessage, r as probeIMessagePrivateApi } from "./actions-762Azi-J.mjs";
6
6
  import { t as getIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
7
- import { a as resolveIMessageGroupSystemPrompt, s as resolveIMessageInboundConversationId } from "./channel-D-E9DvQL.mjs";
7
+ import { a as resolveIMessageGroupSystemPrompt, s as resolveIMessageInboundConversationId } from "./channel-C61YdcZR.mjs";
8
8
  import { r as sanitizeOutboundText } from "./sanitize-outbound-BtEY324R.mjs";
9
9
  import { n as resolveIMessageAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots } from "./media-contract-BwWs5PM7.mjs";
10
10
  import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./outbound-send-deps-B-QEsLSM.mjs";
11
- import { i as resolveIMessageStartupRowidWatermark } from "./remote-file-vdoCnZze.mjs";
12
- import { i as registerIMessageApprovalReactionTarget, n as handleIMessageApprovalReaction, o as listPendingIMessageApprovalReactionPollTargets, r as maybeResolveIMessageApprovalReaction } from "./approval-reactions-DFgEJMz2.mjs";
13
- import { n as hasPersistedIMessageEcho, r as normalizeIMessageEchoText, s as maybeResolveIMessageApprovalPollVote, t as sendMessageIMessage } from "./send-Jaf5eIJS.mjs";
14
- import { t as resolveIMessageReactionContext } from "./reaction-context-DbYCapmR.mjs";
15
- import { n as maybeResolveIMessageQuestionReaction, t as hasIMessageQuestionReactionTarget } from "./question-reactions-BUSvdHlF.mjs";
11
+ import { i as resolveIMessageStartupRowidWatermark } from "./remote-file-B94a787O.mjs";
12
+ import { i as registerIMessageApprovalReactionTarget, n as handleIMessageApprovalReaction, o as listPendingIMessageApprovalReactionPollTargets, r as maybeResolveIMessageApprovalReaction } from "./approval-reactions-CoAkCiwf.mjs";
13
+ import { n as hasPersistedIMessageEcho, r as normalizeIMessageEchoText, s as maybeResolveIMessageApprovalPollVote, t as sendMessageIMessage } from "./send-BvxKNWzF.mjs";
14
+ import { t as resolveIMessageReactionContext } from "./reaction-context-Q26DYzQH.mjs";
15
+ import { n as maybeResolveIMessageQuestionReaction, t as hasIMessageQuestionReactionTarget } from "./question-reactions-BD06B1Lx.mjs";
16
16
  import { imessageSetupWizard } from "./setup-surface-DPqiLGy0.mjs";
17
17
  import { asSafeIntegerInRange, hasNonEmptyString, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
18
18
  import { normalizeChannelDmPolicy } from "openclaw/plugin-sdk/channel-config-helpers";
@@ -1453,10 +1453,9 @@ async function resolveIMessageInboundDecision(params) {
1453
1453
  const inboundMessageId = inboundMessageIds[0];
1454
1454
  const hasInboundGuid = Boolean(normalizeReplyField(params.message.guid));
1455
1455
  const echoScope = [];
1456
- if (isGroup) {
1457
- const chatIdScope = formatIMessageChatTarget(chatId);
1458
- if (chatIdScope) echoScope.push(`${params.accountId}:${chatIdScope}`);
1459
- } else echoScope.push(`${params.accountId}:imessage:${sender}`);
1456
+ const chatIdScope = formatIMessageChatTarget(chatId);
1457
+ if (chatIdScope && (isGroup || isSelfChat)) echoScope.push(`${params.accountId}:${chatIdScope}`);
1458
+ if (!isGroup) echoScope.push(`${params.accountId}:imessage:${sender}`);
1460
1459
  if (chatGuid) echoScope.push(`${params.accountId}:chat_guid:${chatGuid}`);
1461
1460
  if (chatIdentifier) echoScope.push(`${params.accountId}:chat_identifier:${chatIdentifier}`);
1462
1461
  if (params.message.is_from_me) {
@@ -1,7 +1,7 @@
1
1
  import { u as expandIMessageUserPath } from "./accounts-DacCvDBt.mjs";
2
2
  import { i as invalidateCachedIMessagePrivateApiStatus } from "./message-tool-api-B5NfPnFL.mjs";
3
3
  import { t as getIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
4
- import { asNullableRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
+ import { asNullableRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution";
6
6
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
7
7
  import { createHash } from "node:crypto";
@@ -458,6 +458,10 @@ var IMessageRpcRequestError = class extends Error {
458
458
  }
459
459
  };
460
460
  function isIMessageBridgeStall(error) {
461
+ if (error instanceof IMessageRpcRequestError && isRecord(error.data)) {
462
+ const { transport, detail } = error.data;
463
+ if (transport === "bridge_v2" && typeof detail === "string" && detail.startsWith("The bridge response deadline expired.")) return true;
464
+ }
461
465
  return error instanceof Error && error.message.includes("Timed out waiting for response");
462
466
  }
463
467
  const BRIDGE_STALL_GUIDANCE = "The imsg private API bridge stopped responding. Run `imsg launch` to re-inject the dylib, then `openclaw channels status --probe` to refresh capability detection.";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-BBjsoOtd.mjs";
2
- import { i as normalizeIMessageGuid } from "./actions-CZHoxlpi.mjs";
3
- import { t as resolveIMessageReactionContext } from "./reaction-context-DbYCapmR.mjs";
2
+ import { i as normalizeIMessageGuid } from "./actions-762Azi-J.mjs";
3
+ import { t as resolveIMessageReactionContext } from "./reaction-context-Q26DYzQH.mjs";
4
4
  import { createQuestionReactionTargetStore, questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
5
5
  //#region extensions/imessage/src/question-reactions.ts
6
6
  var question_reactions_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { i as normalizeIMessageGuid } from "./actions-CZHoxlpi.mjs";
1
+ import { i as normalizeIMessageGuid } from "./actions-762Azi-J.mjs";
2
2
  //#region extensions/imessage/src/monitor/reaction-context.ts
3
3
  const TAPBACK_TEXT_PATTERNS = [
4
4
  {
@@ -1,5 +1,5 @@
1
1
  import { p as resolveLocalIMessageChatDbPath } from "./accounts-DacCvDBt.mjs";
2
- import { b as isIMessageEmailChatIdentifier, c as resolveIMessageCachedResourceBinding, l as resolveIMessageMessageId, y as chatContextFromIMessageTarget } from "./client-BEZ_gLk-.mjs";
2
+ import { b as isIMessageEmailChatIdentifier, c as resolveIMessageCachedResourceBinding, l as resolveIMessageMessageId, y as chatContextFromIMessageTarget } from "./client-CcROCvRq.mjs";
3
3
  import path from "node:path";
4
4
  import { normalizeScpRemoteHost } from "openclaw/plugin-sdk/host-runtime";
5
5
  import { createActionGate } from "openclaw/plugin-sdk/channel-actions";
@@ -1,12 +1,12 @@
1
1
  import { c as parseIMessageTarget, o as normalizeIMessageHandle, t as formatIMessageChatTarget } from "./targets-B4oU7n-v.mjs";
2
2
  import { d as resolveIMessageChatDbLookupPath, l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount } from "./accounts-DacCvDBt.mjs";
3
- import { S as resolveIMessageDirectChatService, d as IMESSAGE_SENT_ECHOES_NAMESPACE, f as IMESSAGE_SENT_ECHOES_TTL_MS, g as resolveIMessageSentEchoEntryKey, h as resolveIMessageEchoMediaKey, n as createIMessageRpcClient, r as runIMessageCliJsonCommand, s as rememberIMessageReplyCache, t as IMessageRpcRequestError, y as chatContextFromIMessageTarget } from "./client-BEZ_gLk-.mjs";
4
- import { a as normalizeIMessageMessageId, i as normalizeIMessageGuid } from "./actions-CZHoxlpi.mjs";
3
+ import { S as resolveIMessageDirectChatService, d as IMESSAGE_SENT_ECHOES_NAMESPACE, f as IMESSAGE_SENT_ECHOES_TTL_MS, g as resolveIMessageSentEchoEntryKey, h as resolveIMessageEchoMediaKey, n as createIMessageRpcClient, r as runIMessageCliJsonCommand, s as rememberIMessageReplyCache, t as IMessageRpcRequestError, y as chatContextFromIMessageTarget } from "./client-CcROCvRq.mjs";
4
+ import { a as normalizeIMessageMessageId, i as normalizeIMessageGuid } from "./actions-762Azi-J.mjs";
5
5
  import { n as getOptionalIMessageRuntime, t as getIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
6
- import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-D-E9DvQL.mjs";
6
+ import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-C61YdcZR.mjs";
7
7
  import { n as sanitizeIMessageFinalOutboundText, t as protectIMessageFencedRoleMarkers } from "./sanitize-outbound-BtEY324R.mjs";
8
- import { a as withIMessageReceiptGuidReader, r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-vdoCnZze.mjs";
9
- import { d as resolveIMessageApprovalControlActor, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as normalizeConversationKey } from "./approval-reactions-DFgEJMz2.mjs";
8
+ import { a as withIMessageReceiptGuidReader, r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-B94a787O.mjs";
9
+ import { d as resolveIMessageApprovalControlActor, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as normalizeConversationKey } from "./approval-reactions-CoAkCiwf.mjs";
10
10
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
12
12
  import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
@@ -1 +1 @@
1
- {"version":3,"entries":[{"output":"api.js","source":"extensions/imessage/api.ts"},{"output":"channel-config-api.js","source":"extensions/imessage/channel-config-api.ts"},{"output":"channel-plugin-api.js","source":"extensions/imessage/channel-plugin-api.ts"},{"output":"contract-api.js","source":"extensions/imessage/contract-api.ts"},{"output":"doctor-contract-api.js","source":"extensions/imessage/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/imessage/index.ts"},{"output":"media-contract-api.js","source":"extensions/imessage/media-contract-api.ts"},{"output":"message-tool-api.js","source":"extensions/imessage/message-tool-api.ts"},{"output":"runtime-api.js","source":"extensions/imessage/runtime-api.ts"},{"output":"secret-contract-api.js","source":"extensions/imessage/secret-contract-api.ts"},{"output":"session-binding-contract-api.js","source":"extensions/imessage/session-binding-contract-api.ts"},{"output":"setup-entry.js","source":"extensions/imessage/setup-entry.ts"},{"output":"src/chat-db.worker.js","source":"extensions/imessage/src/chat-db.worker.ts"}],"chunks":[{"output":".setup/accounts-DacCvDBt.mjs","sha256":"c2877a158bc691e0ee05739937a9bee0ed51a6d64d0b542bd3eca2516824d884","facadeSource":null,"sources":["extensions/imessage/src/accounts.ts","extensions/imessage/src/cli-path.ts","extensions/imessage/src/remote-host.ts"]},{"output":".setup/actions-CZHoxlpi.mjs","sha256":"ee7af31f1ef958c6cafa57fc8ed3c05fb737136bb22affa1558aa9cf76eb748d","facadeSource":null,"sources":["extensions/imessage/src/actions.ts","extensions/imessage/src/message-action-reference.ts","extensions/imessage/src/message-guid.ts","extensions/imessage/src/probe.ts"]},{"output":".setup/actions.runtime-B-OHCffC.mjs","sha256":"c768c54670555e8efea01aaec04f511df7dd8b0615d913da93d15806af45c2a6","facadeSource":"extensions/imessage/src/actions.runtime.ts","sources":["extensions/imessage/src/actions-chat-guid.ts","extensions/imessage/src/actions-transport.ts","extensions/imessage/src/actions.runtime.ts"]},{"output":".setup/api-BifRABgX.mjs","sha256":"fbd5af357135147c24427e7c3d6c9e16a0e55b15805214eb46b4bd8bf4d137ed","facadeSource":"extensions/imessage/api.ts","sources":[]},{"output":".setup/api-dHebtZYA.mjs","sha256":"ba6312c3cd3f00cccb342847c430edd8cf30a7437442df8d9f0234f82fcf902d","facadeSource":null,"sources":["extensions/imessage/src/channel.setup.ts"]},{"output":".setup/approval-handler.runtime-jO19jL0F.mjs","sha256":"d0fb7cfdce7c3cda5cc8833b832ead5aab61e66c978d1040fd93db1f087ed2d5","facadeSource":"extensions/imessage/src/approval-handler.runtime.ts","sources":["extensions/imessage/src/approval-handler.runtime.ts"]},{"output":".setup/approval-reactions-DFgEJMz2.mjs","sha256":"b58099e06cf6aff1f7a52d028853a61155f3f635ffbf68990425e76161e59842","facadeSource":null,"sources":["extensions/imessage/src/approval-reaction-poll-targets.ts","extensions/imessage/src/approval-reactions.ts","extensions/imessage/src/approval-target-keys.ts"]},{"output":".setup/channel-D-E9DvQL.mjs","sha256":"ca1fb332cddf8771d7adb578cbf5504b4ce2923f75a80aef13a1e59b88669f4f","facadeSource":null,"sources":["extensions/imessage/src/approval-auth.ts","extensions/imessage/src/approval-native.ts","extensions/imessage/src/approval-text.ts","extensions/imessage/src/channel.ts","extensions/imessage/src/conversation-id-core.ts","extensions/imessage/src/conversation-id.ts","extensions/imessage/src/doctor.ts","extensions/imessage/src/group-policy.ts","extensions/imessage/src/shared.ts"]},{"output":".setup/channel.runtime-Cx_lRd-J.mjs","sha256":"0c649f7ac10ab5b84dd46b61036d7c29cbb988080c8d565aa26dad746c76dace","facadeSource":"extensions/imessage/src/channel.runtime.ts","sources":["extensions/imessage/src/approval-reaction-poller.ts","extensions/imessage/src/channel.runtime.ts","extensions/imessage/src/chat.ts","extensions/imessage/src/conversation-route.ts","extensions/imessage/src/monitor/abort-handler.ts","extensions/imessage/src/monitor/catchup-bridge.ts","extensions/imessage/src/monitor/catchup.ts","extensions/imessage/src/monitor/coalesce.ts","extensions/imessage/src/monitor/conversation-repair.ts","extensions/imessage/src/monitor/deliver.ts","extensions/imessage/src/monitor/dm-history.ts","extensions/imessage/src/monitor/drop-diagnostic-cache.ts","extensions/imessage/src/monitor/echo-cache.ts","extensions/imessage/src/monitor/group-allowlist-warnings.ts","extensions/imessage/src/monitor/inbound-dedupe.ts","extensions/imessage/src/monitor/inbound-processing.ts","extensions/imessage/src/monitor/ingress.ts","extensions/imessage/src/monitor/loop-rate-limiter.ts","extensions/imessage/src/monitor/media-staging.ts","extensions/imessage/src/monitor/mention-policy.ts","extensions/imessage/src/monitor/monitor-provider.ts","extensions/imessage/src/monitor/parse-notification.ts","extensions/imessage/src/monitor/poll-comment.ts","extensions/imessage/src/monitor/poll-render.ts","extensions/imessage/src/monitor/reaction-system-event.ts","extensions/imessage/src/monitor/recovery-cursor.ts","extensions/imessage/src/monitor/reflection-guard.ts","extensions/imessage/src/monitor/self-chat-cache.ts","extensions/imessage/src/monitor/strip-imsg-length-prefixed-text.ts","extensions/imessage/src/monitor/watch-error-log.ts","src/channels/mention-gating.ts"]},{"output":".setup/client-BEZ_gLk-.mjs","sha256":"d0d3e530142be82d966297f37f3a8873b7568d0204c69ebc63f7017282db7ade","facadeSource":null,"sources":["extensions/imessage/src/bridge-recovery.ts","extensions/imessage/src/chat-context.ts","extensions/imessage/src/cli-output.ts","extensions/imessage/src/client.ts","extensions/imessage/src/constants.ts","extensions/imessage/src/monitor-reply-cache.ts","extensions/imessage/src/state-contract.ts"]},{"output":".setup/config-schema-DXwa_3V5.mjs","sha256":"be1d6d2e2e6d75a7bc64ada17b92e4bd5ca98cc53392aaa5baf8f0ba1b1e10dc","facadeSource":null,"sources":["extensions/imessage/src/config-schema.ts","extensions/imessage/src/config-ui-hints.ts"]},{"output":".setup/conversation-bindings-DR-dbHjs.mjs","sha256":"b0a2675bca57adac784052844e0a37cb87c289b2ea73918a05fce19a09a17786","facadeSource":null,"sources":["extensions/imessage/src/conversation-bindings.ts"]},{"output":".setup/media-contract-BwWs5PM7.mjs","sha256":"8eacc24753b4680c7adc28e2db442c6eb4592c086084a7c93647fc637f50f2ca","facadeSource":null,"sources":["extensions/imessage/src/media-contract.ts"]},{"output":".setup/message-tool-api-B5NfPnFL.mjs","sha256":"4ce07ffe7660e90414936eeff52a13f6e0b0e17f3209d46f98fd6d61b49aa615","facadeSource":null,"sources":["extensions/imessage/src/actions-contract.ts","extensions/imessage/src/message-tool-api.ts","extensions/imessage/src/private-api-status.ts"]},{"output":".setup/outbound-send-deps-B-QEsLSM.mjs","sha256":"28b6012e64a5dc9e21c19bcd761119f4896a71e88fe3b91fdeb52a6fb3da4c3e","facadeSource":null,"sources":["extensions/imessage/src/outbound-send-deps.ts"]},{"output":".setup/question-reactions-BUSvdHlF.mjs","sha256":"23bc2f3679dca146fd633bcc4b1b4bb331ad365cc94aea4becfa1cb8aa1f9a65","facadeSource":null,"sources":["extensions/imessage/src/question-reactions.ts"]},{"output":".setup/reaction-context-DbYCapmR.mjs","sha256":"6da462470477de99512b1353836796e67449f04b8aa414f2482e6639f462f7cb","facadeSource":null,"sources":["extensions/imessage/src/monitor/reaction-context.ts"]},{"output":".setup/remote-file-vdoCnZze.mjs","sha256":"aab66e0bda41924188a21f146e78135425f90eda4ed8f98580e3dadcc6d8b96c","facadeSource":null,"sources":["extensions/imessage/src/chat-db.ts","extensions/imessage/src/message-resource-db.ts","extensions/imessage/src/message-resource.ts","extensions/imessage/src/remote-file.ts"]},{"output":".setup/rolldown-runtime-BBjsoOtd.mjs","sha256":"bc1c4c6b4073846c33e02846e4b262d6747c77fc72ca9f9cc2f23b8ff135c35d","facadeSource":null,"sources":[]},{"output":".setup/runtime-Cza4CY5T.mjs","sha256":"fd11e8011276ea865411da786bf849d26582daa75a5e060b45014ab46c91e58a","facadeSource":null,"sources":["extensions/imessage/src/runtime.ts"]},{"output":".setup/sanitize-outbound-BtEY324R.mjs","sha256":"afe87d6671ec4a50463a60478d3c815a5374bfc2803f46640bba489abdb38120","facadeSource":null,"sources":["extensions/imessage/src/markdown-format.ts","extensions/imessage/src/monitor/sanitize-outbound.ts"]},{"output":".setup/send-Jaf5eIJS.mjs","sha256":"3086ea5aed665ed2568eba5da0cbb57577dde2bb5945f4e7149e7d61cef4a110","facadeSource":null,"sources":["extensions/imessage/src/approval-polls.ts","extensions/imessage/src/monitor/echo-text-corruption.ts","extensions/imessage/src/monitor/persisted-echo-cache.ts","extensions/imessage/src/send-transport.ts","extensions/imessage/src/send.ts"]},{"output":".setup/setup-core-BHyLkAEJ.mjs","sha256":"f239c646b14a5c17ab012de77002494f05081fe75dde385c8d6817cf14be0884","facadeSource":null,"sources":["extensions/imessage/src/setup-core.ts"]},{"output":".setup/setup-surface-DPqiLGy0.mjs","sha256":"a4d3a3d10a27663273460e2888d9c6fd14c92d10639e4ed2ba992ef044fc1157","facadeSource":"extensions/imessage/src/setup-surface.ts","sources":["extensions/imessage/src/install-imsg.ts","extensions/imessage/src/setup-surface.ts"]},{"output":".setup/targets-B4oU7n-v.mjs","sha256":"c2370a39e0faedfbf53681c28092aa2b12c0a3b621862e0065dd253184f71ebc","facadeSource":null,"sources":["extensions/imessage/src/normalize.ts","extensions/imessage/src/target-identifiers.ts","extensions/imessage/src/targets.ts"]},{"output":"api.js","sha256":"d497388b9c197fc0598e18445a3e909a823b265a0d3c9e42336270474ee167e1","facadeSource":"extensions/imessage/api.ts","sources":[]},{"output":"channel-config-api.js","sha256":"6d6ffc5834dad60c9e2d5a0b864799b6b1900a463c2196a8998ca795716b058b","facadeSource":"extensions/imessage/channel-config-api.ts","sources":[]},{"output":"channel-plugin-api.js","sha256":"9b9c186511fcb8c25f44f0e788da29d9695bc9002bd60b0cfdbfab13ef92bff2","facadeSource":"extensions/imessage/channel-plugin-api.ts","sources":[]},{"output":"contract-api.js","sha256":"524b5f141cae7aa330b34f9c68355cd58c876e49f83e0d02fd8dcc55b7dbf86d","facadeSource":"extensions/imessage/contract-api.ts","sources":[]},{"output":"doctor-contract-api.js","sha256":"f027dfd3b392e9aef4dc2043de2c6ac21af95b58fda6522db0391e89de123bcc","facadeSource":"extensions/imessage/doctor-contract-api.ts","sources":["extensions/imessage/config-doctor-api.ts","extensions/imessage/doctor-contract-api.ts","packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":"index.js","sha256":"06fe1fcb149e14ca5a7df7fccb7a43537b54a5464e526335c320012ffc06ed07","facadeSource":"extensions/imessage/index.ts","sources":["extensions/imessage/index.ts"]},{"output":"media-contract-api.js","sha256":"eae8f937ad22a8d065617d2f197a1129502a7be579554ed4621fe2cf5949325c","facadeSource":"extensions/imessage/media-contract-api.ts","sources":[]},{"output":"message-tool-api.js","sha256":"3f9912cf3e4d3d084f58c99c59a43f6725e16fd1a613e5119fcb5c1b3d955382","facadeSource":"extensions/imessage/message-tool-api.ts","sources":[]},{"output":"runtime-api.js","sha256":"8b538a5bd07d61c7a68381a0ec38e267e7a35d15aa35c058a9717394d12098d2","facadeSource":"extensions/imessage/runtime-api.ts","sources":[]},{"output":"secret-contract-api.js","sha256":"0c96b240319b07052877c2ed76965fcf7e85ac3fed712eda34a0a0c7326d7e67","facadeSource":"extensions/imessage/secret-contract-api.ts","sources":["extensions/imessage/secret-contract-api.ts"]},{"output":"session-binding-contract-api.js","sha256":"a6518a2e2eb56193843144b60c15c60621d90b78fe4a4a13474880c4ebf286e5","facadeSource":"extensions/imessage/session-binding-contract-api.ts","sources":[]},{"output":"setup-entry.js","sha256":"1e6f010a16b1e34dfe0b717496da3dc96206bf37f2e468b7d8e25880ec81e75b","facadeSource":"extensions/imessage/setup-entry.ts","sources":["extensions/imessage/setup-entry.ts"]},{"output":"src/chat-db.worker.js","sha256":"08cdd1116e374a68e5e97507415a7cbbe427d6f3a7779599894aab5c42f08f38","facadeSource":"extensions/imessage/src/chat-db.worker.ts","sources":["extensions/imessage/src/chat-db.worker.ts"]}],"unrenderedSources":["extensions/imessage/api.ts","extensions/imessage/channel-config-api.ts","extensions/imessage/channel-plugin-api.ts","extensions/imessage/contract-api.ts","extensions/imessage/media-contract-api.ts","extensions/imessage/message-tool-api.ts","extensions/imessage/runtime-api.ts","extensions/imessage/session-binding-contract-api.ts","extensions/imessage/src/monitor.ts"]}
1
+ {"version":3,"entries":[{"output":"api.js","source":"extensions/imessage/api.ts"},{"output":"channel-config-api.js","source":"extensions/imessage/channel-config-api.ts"},{"output":"channel-plugin-api.js","source":"extensions/imessage/channel-plugin-api.ts"},{"output":"contract-api.js","source":"extensions/imessage/contract-api.ts"},{"output":"doctor-contract-api.js","source":"extensions/imessage/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/imessage/index.ts"},{"output":"media-contract-api.js","source":"extensions/imessage/media-contract-api.ts"},{"output":"message-tool-api.js","source":"extensions/imessage/message-tool-api.ts"},{"output":"runtime-api.js","source":"extensions/imessage/runtime-api.ts"},{"output":"secret-contract-api.js","source":"extensions/imessage/secret-contract-api.ts"},{"output":"session-binding-contract-api.js","source":"extensions/imessage/session-binding-contract-api.ts"},{"output":"setup-entry.js","source":"extensions/imessage/setup-entry.ts"},{"output":"src/chat-db.worker.js","source":"extensions/imessage/src/chat-db.worker.ts"}],"chunks":[{"output":".setup/accounts-DacCvDBt.mjs","sha256":"c2877a158bc691e0ee05739937a9bee0ed51a6d64d0b542bd3eca2516824d884","facadeSource":null,"sources":["extensions/imessage/src/accounts.ts","extensions/imessage/src/cli-path.ts","extensions/imessage/src/remote-host.ts"]},{"output":".setup/actions-762Azi-J.mjs","sha256":"ae1adb094afe0a927ddee4ec8bb7ca42abaffee65de6267bdf17c305e757623a","facadeSource":null,"sources":["extensions/imessage/src/actions.ts","extensions/imessage/src/message-action-reference.ts","extensions/imessage/src/message-guid.ts","extensions/imessage/src/probe.ts"]},{"output":".setup/actions.runtime-DHiRiPHe.mjs","sha256":"67a35082c61f4aa98bac1ee69b26088c413238a4b7cc649c9b44fe9f46a734ff","facadeSource":"extensions/imessage/src/actions.runtime.ts","sources":["extensions/imessage/src/actions-chat-guid.ts","extensions/imessage/src/actions-transport.ts","extensions/imessage/src/actions.runtime.ts"]},{"output":".setup/api-BFGXDHiC.mjs","sha256":"85d4893b7dbf298ecc3baa4a6d6997e266f7e6546d439f6fb23c9d3b6c949396","facadeSource":"extensions/imessage/api.ts","sources":[]},{"output":".setup/api-Deyo8NDs.mjs","sha256":"5e462c120ac85722a0ee84f0920b1f30ac3e2a3304b271acebf4479102e0200b","facadeSource":null,"sources":["extensions/imessage/src/channel.setup.ts"]},{"output":".setup/approval-handler.runtime-fsSBf2jf.mjs","sha256":"7398389cf90f6628000d972a9983d5a989ce8fedc842ffb034b07c2723797a78","facadeSource":"extensions/imessage/src/approval-handler.runtime.ts","sources":["extensions/imessage/src/approval-handler.runtime.ts"]},{"output":".setup/approval-reactions-CoAkCiwf.mjs","sha256":"adeca7b83466bdb05c8e9ddf8bb615de2911250918f3148a4c9a6bf4b7fbff86","facadeSource":null,"sources":["extensions/imessage/src/approval-reaction-poll-targets.ts","extensions/imessage/src/approval-reactions.ts","extensions/imessage/src/approval-target-keys.ts"]},{"output":".setup/channel-C61YdcZR.mjs","sha256":"90a7dfd18c1f023efc557ceee3b9ae828b9765b4820e00087681b9bd26a07e51","facadeSource":null,"sources":["extensions/imessage/src/approval-auth.ts","extensions/imessage/src/approval-native.ts","extensions/imessage/src/approval-text.ts","extensions/imessage/src/channel.ts","extensions/imessage/src/conversation-id-core.ts","extensions/imessage/src/conversation-id.ts","extensions/imessage/src/doctor.ts","extensions/imessage/src/group-policy.ts","extensions/imessage/src/shared.ts"]},{"output":".setup/channel.runtime-B5jle0g3.mjs","sha256":"d332d251abd80dc11ace8199fb76832e9881fb5d05883f3c5a22c46e140ae869","facadeSource":"extensions/imessage/src/channel.runtime.ts","sources":["extensions/imessage/src/approval-reaction-poller.ts","extensions/imessage/src/channel.runtime.ts","extensions/imessage/src/chat.ts","extensions/imessage/src/conversation-route.ts","extensions/imessage/src/monitor/abort-handler.ts","extensions/imessage/src/monitor/catchup-bridge.ts","extensions/imessage/src/monitor/catchup.ts","extensions/imessage/src/monitor/coalesce.ts","extensions/imessage/src/monitor/conversation-repair.ts","extensions/imessage/src/monitor/deliver.ts","extensions/imessage/src/monitor/dm-history.ts","extensions/imessage/src/monitor/drop-diagnostic-cache.ts","extensions/imessage/src/monitor/echo-cache.ts","extensions/imessage/src/monitor/group-allowlist-warnings.ts","extensions/imessage/src/monitor/inbound-dedupe.ts","extensions/imessage/src/monitor/inbound-processing.ts","extensions/imessage/src/monitor/ingress.ts","extensions/imessage/src/monitor/loop-rate-limiter.ts","extensions/imessage/src/monitor/media-staging.ts","extensions/imessage/src/monitor/mention-policy.ts","extensions/imessage/src/monitor/monitor-provider.ts","extensions/imessage/src/monitor/parse-notification.ts","extensions/imessage/src/monitor/poll-comment.ts","extensions/imessage/src/monitor/poll-render.ts","extensions/imessage/src/monitor/reaction-system-event.ts","extensions/imessage/src/monitor/recovery-cursor.ts","extensions/imessage/src/monitor/reflection-guard.ts","extensions/imessage/src/monitor/self-chat-cache.ts","extensions/imessage/src/monitor/strip-imsg-length-prefixed-text.ts","extensions/imessage/src/monitor/watch-error-log.ts","src/channels/mention-gating.ts"]},{"output":".setup/client-CcROCvRq.mjs","sha256":"4df6862984e51d30ec895a35af62b4cdaa747d2911d6422b61c61377cc0d89cb","facadeSource":null,"sources":["extensions/imessage/src/bridge-recovery.ts","extensions/imessage/src/chat-context.ts","extensions/imessage/src/cli-output.ts","extensions/imessage/src/client.ts","extensions/imessage/src/constants.ts","extensions/imessage/src/monitor-reply-cache.ts","extensions/imessage/src/state-contract.ts"]},{"output":".setup/config-schema-DXwa_3V5.mjs","sha256":"be1d6d2e2e6d75a7bc64ada17b92e4bd5ca98cc53392aaa5baf8f0ba1b1e10dc","facadeSource":null,"sources":["extensions/imessage/src/config-schema.ts","extensions/imessage/src/config-ui-hints.ts"]},{"output":".setup/conversation-bindings-DR-dbHjs.mjs","sha256":"b0a2675bca57adac784052844e0a37cb87c289b2ea73918a05fce19a09a17786","facadeSource":null,"sources":["extensions/imessage/src/conversation-bindings.ts"]},{"output":".setup/media-contract-BwWs5PM7.mjs","sha256":"8eacc24753b4680c7adc28e2db442c6eb4592c086084a7c93647fc637f50f2ca","facadeSource":null,"sources":["extensions/imessage/src/media-contract.ts"]},{"output":".setup/message-tool-api-B5NfPnFL.mjs","sha256":"4ce07ffe7660e90414936eeff52a13f6e0b0e17f3209d46f98fd6d61b49aa615","facadeSource":null,"sources":["extensions/imessage/src/actions-contract.ts","extensions/imessage/src/message-tool-api.ts","extensions/imessage/src/private-api-status.ts"]},{"output":".setup/outbound-send-deps-B-QEsLSM.mjs","sha256":"28b6012e64a5dc9e21c19bcd761119f4896a71e88fe3b91fdeb52a6fb3da4c3e","facadeSource":null,"sources":["extensions/imessage/src/outbound-send-deps.ts"]},{"output":".setup/question-reactions-BD06B1Lx.mjs","sha256":"cbdfb2bba7660bf53baaa8a31851c0da8848be2eb5e9347338d8c97db70288b9","facadeSource":null,"sources":["extensions/imessage/src/question-reactions.ts"]},{"output":".setup/reaction-context-Q26DYzQH.mjs","sha256":"259e53a1c5eb40c02a9a09c2976f06475d02bd1912e6799199d43e62b5cbd205","facadeSource":null,"sources":["extensions/imessage/src/monitor/reaction-context.ts"]},{"output":".setup/remote-file-B94a787O.mjs","sha256":"ff659adb99c11fb1b2e249ea13abe683042acb0bfc365a659d83392d86c69196","facadeSource":null,"sources":["extensions/imessage/src/chat-db.ts","extensions/imessage/src/message-resource-db.ts","extensions/imessage/src/message-resource.ts","extensions/imessage/src/remote-file.ts"]},{"output":".setup/rolldown-runtime-BBjsoOtd.mjs","sha256":"bc1c4c6b4073846c33e02846e4b262d6747c77fc72ca9f9cc2f23b8ff135c35d","facadeSource":null,"sources":[]},{"output":".setup/runtime-Cza4CY5T.mjs","sha256":"fd11e8011276ea865411da786bf849d26582daa75a5e060b45014ab46c91e58a","facadeSource":null,"sources":["extensions/imessage/src/runtime.ts"]},{"output":".setup/sanitize-outbound-BtEY324R.mjs","sha256":"afe87d6671ec4a50463a60478d3c815a5374bfc2803f46640bba489abdb38120","facadeSource":null,"sources":["extensions/imessage/src/markdown-format.ts","extensions/imessage/src/monitor/sanitize-outbound.ts"]},{"output":".setup/send-BvxKNWzF.mjs","sha256":"0b64f20fd18077ea928af8404d7a50f33a02bfeee3c303d90b257042d7120058","facadeSource":null,"sources":["extensions/imessage/src/approval-polls.ts","extensions/imessage/src/monitor/echo-text-corruption.ts","extensions/imessage/src/monitor/persisted-echo-cache.ts","extensions/imessage/src/send-transport.ts","extensions/imessage/src/send.ts"]},{"output":".setup/setup-core-BHyLkAEJ.mjs","sha256":"f239c646b14a5c17ab012de77002494f05081fe75dde385c8d6817cf14be0884","facadeSource":null,"sources":["extensions/imessage/src/setup-core.ts"]},{"output":".setup/setup-surface-DPqiLGy0.mjs","sha256":"a4d3a3d10a27663273460e2888d9c6fd14c92d10639e4ed2ba992ef044fc1157","facadeSource":"extensions/imessage/src/setup-surface.ts","sources":["extensions/imessage/src/install-imsg.ts","extensions/imessage/src/setup-surface.ts"]},{"output":".setup/targets-B4oU7n-v.mjs","sha256":"c2370a39e0faedfbf53681c28092aa2b12c0a3b621862e0065dd253184f71ebc","facadeSource":null,"sources":["extensions/imessage/src/normalize.ts","extensions/imessage/src/target-identifiers.ts","extensions/imessage/src/targets.ts"]},{"output":"api.js","sha256":"df343de19bbcb5cc400856e5c3339148dab9803b9fee39dedaa0639cda7b4b03","facadeSource":"extensions/imessage/api.ts","sources":[]},{"output":"channel-config-api.js","sha256":"6d6ffc5834dad60c9e2d5a0b864799b6b1900a463c2196a8998ca795716b058b","facadeSource":"extensions/imessage/channel-config-api.ts","sources":[]},{"output":"channel-plugin-api.js","sha256":"8f54b90e25a8987e6e2320a9d7e689e03ea88bba52bf75af6c099467e87fe0df","facadeSource":"extensions/imessage/channel-plugin-api.ts","sources":[]},{"output":"contract-api.js","sha256":"524b5f141cae7aa330b34f9c68355cd58c876e49f83e0d02fd8dcc55b7dbf86d","facadeSource":"extensions/imessage/contract-api.ts","sources":[]},{"output":"doctor-contract-api.js","sha256":"f027dfd3b392e9aef4dc2043de2c6ac21af95b58fda6522db0391e89de123bcc","facadeSource":"extensions/imessage/doctor-contract-api.ts","sources":["extensions/imessage/config-doctor-api.ts","extensions/imessage/doctor-contract-api.ts","packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":"index.js","sha256":"06fe1fcb149e14ca5a7df7fccb7a43537b54a5464e526335c320012ffc06ed07","facadeSource":"extensions/imessage/index.ts","sources":["extensions/imessage/index.ts"]},{"output":"media-contract-api.js","sha256":"eae8f937ad22a8d065617d2f197a1129502a7be579554ed4621fe2cf5949325c","facadeSource":"extensions/imessage/media-contract-api.ts","sources":[]},{"output":"message-tool-api.js","sha256":"3f9912cf3e4d3d084f58c99c59a43f6725e16fd1a613e5119fcb5c1b3d955382","facadeSource":"extensions/imessage/message-tool-api.ts","sources":[]},{"output":"runtime-api.js","sha256":"9a59cb10a5ffb95f9a2a3b9ef64bc9148d2cff776f5af63fa57e1b842a800d81","facadeSource":"extensions/imessage/runtime-api.ts","sources":[]},{"output":"secret-contract-api.js","sha256":"0c96b240319b07052877c2ed76965fcf7e85ac3fed712eda34a0a0c7326d7e67","facadeSource":"extensions/imessage/secret-contract-api.ts","sources":["extensions/imessage/secret-contract-api.ts"]},{"output":"session-binding-contract-api.js","sha256":"a6518a2e2eb56193843144b60c15c60621d90b78fe4a4a13474880c4ebf286e5","facadeSource":"extensions/imessage/session-binding-contract-api.ts","sources":[]},{"output":"setup-entry.js","sha256":"2f6663afb20e17b2d8fca006051c2c4af314e72c2a78ccd714eb796666dd4a0b","facadeSource":"extensions/imessage/setup-entry.ts","sources":["extensions/imessage/setup-entry.ts"]},{"output":"src/chat-db.worker.js","sha256":"08cdd1116e374a68e5e97507415a7cbbe427d6f3a7779599894aab5c42f08f38","facadeSource":"extensions/imessage/src/chat-db.worker.ts","sources":["extensions/imessage/src/chat-db.worker.ts"]}],"unrenderedSources":["extensions/imessage/api.ts","extensions/imessage/channel-config-api.ts","extensions/imessage/channel-plugin-api.ts","extensions/imessage/contract-api.ts","extensions/imessage/media-contract-api.ts","extensions/imessage/message-tool-api.ts","extensions/imessage/runtime-api.ts","extensions/imessage/session-binding-contract-api.ts","extensions/imessage/src/monitor.ts"]}
package/dist/api.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { a as looksLikeIMessageExplicitTargetId, c as parseIMessageTarget, d as normalizeIMessageMessagingTarget, i as isAllowedIMessageSender, n as inferIMessageTargetChatType, o as normalizeIMessageHandle, s as parseIMessageAllowTarget, t as formatIMessageChatTarget, u as looksLikeIMessageTargetId } from "./.setup/targets-B4oU7n-v.mjs";
2
2
  import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, r as listEnabledIMessageAccounts } from "./.setup/accounts-DacCvDBt.mjs";
3
3
  import { o as IMESSAGE_ACTIONS, s as IMESSAGE_ACTION_NAMES } from "./.setup/message-tool-api-B5NfPnFL.mjs";
4
- import { _ as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./.setup/client-BEZ_gLk-.mjs";
5
- import { n as probeIMessage } from "./.setup/actions-CZHoxlpi.mjs";
6
- import { c as matchIMessageAcpConversation, i as resolveIMessageGroupRequireMention, l as normalizeIMessageAcpConversationId, o as resolveIMessageGroupToolPolicy, s as resolveIMessageInboundConversationId, t as imessagePlugin, u as resolveIMessageConversationIdFromTarget } from "./.setup/channel-D-E9DvQL.mjs";
4
+ import { _ as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./.setup/client-CcROCvRq.mjs";
5
+ import { n as probeIMessage } from "./.setup/actions-762Azi-J.mjs";
6
+ import { c as matchIMessageAcpConversation, i as resolveIMessageGroupRequireMention, l as normalizeIMessageAcpConversationId, o as resolveIMessageGroupToolPolicy, s as resolveIMessageInboundConversationId, t as imessagePlugin, u as resolveIMessageConversationIdFromTarget } from "./.setup/channel-C61YdcZR.mjs";
7
7
  import { n as createIMessageConversationBindingManagerV2, t as createIMessageConversationBindingManager } from "./.setup/conversation-bindings-DR-dbHjs.mjs";
8
- import { a as resolveServicePrefixedChatTarget, c as imessageSetupPlugin, i as resolveServicePrefixedAllowTarget, n as parseChatAllowTargetPrefixes, o as resolveServicePrefixedOrChatAllowTarget, r as parseChatTargetPrefixesOrThrow, s as resolveServicePrefixedTarget, t as createAllowedChatSenderMatcher } from "./.setup/api-dHebtZYA.mjs";
8
+ import { a as resolveServicePrefixedChatTarget, c as imessageSetupPlugin, i as resolveServicePrefixedAllowTarget, n as parseChatAllowTargetPrefixes, o as resolveServicePrefixedOrChatAllowTarget, r as parseChatTargetPrefixesOrThrow, s as resolveServicePrefixedTarget, t as createAllowedChatSenderMatcher } from "./.setup/api-Deyo8NDs.mjs";
9
9
  import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./.setup/outbound-send-deps-B-QEsLSM.mjs";
10
10
  export { DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, IMESSAGE_ACTIONS, IMESSAGE_ACTION_NAMES, IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS, createAllowedChatSenderMatcher, createIMessageConversationBindingManager, createIMessageConversationBindingManagerV2, formatIMessageChatTarget, imessagePlugin, imessageSetupPlugin, inferIMessageTargetChatType, isAllowedIMessageSender, listEnabledIMessageAccounts, listIMessageAccountIds, looksLikeIMessageExplicitTargetId, looksLikeIMessageTargetId, matchIMessageAcpConversation, normalizeIMessageAcpConversationId, normalizeIMessageHandle, normalizeIMessageMessagingTarget, parseChatAllowTargetPrefixes, parseChatTargetPrefixesOrThrow, parseIMessageAllowTarget, parseIMessageTarget, probeIMessage, resolveDefaultIMessageAccountId, resolveIMessageAccount, resolveIMessageConversationIdFromTarget, resolveIMessageGroupRequireMention, resolveIMessageGroupToolPolicy, resolveIMessageInboundConversationId, resolveServicePrefixedAllowTarget, resolveServicePrefixedChatTarget, resolveServicePrefixedOrChatAllowTarget, resolveServicePrefixedTarget };
@@ -1 +1 @@
1
- export { t as imessagePlugin } from "./.setup/channel-D-E9DvQL.mjs";
1
+ export { t as imessagePlugin } from "./.setup/channel-C61YdcZR.mjs";
@@ -1,3 +1,3 @@
1
- import { t as imessageMessageActions } from "./.setup/actions-CZHoxlpi.mjs";
1
+ import { t as imessageMessageActions } from "./.setup/actions-762Azi-J.mjs";
2
2
  import { r as setIMessageRuntime } from "./.setup/runtime-Cza4CY5T.mjs";
3
3
  export { imessageMessageActions, setIMessageRuntime };
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/api-BifRABgX.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/api-BFGXDHiC.mjs", import.meta.url).href),
8
8
  exportName: "imessageSetupPlugin"
9
9
  }
10
10
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/imessage",
3
- "version": "2026.10.10-beta.4",
3
+ "version": "2026.10.10-beta.5",
4
4
  "description": "OpenClaw iMessage channel plugin using imsg on a signed-in Mac",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  "zod": "4.6.5"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.10.10-beta.4"
15
+ "openclaw": ">=2026.10.10-beta.5"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -92,10 +92,10 @@
92
92
  "allowInvalidConfigRecovery": true
93
93
  },
94
94
  "compat": {
95
- "pluginApi": ">=2026.10.10-beta.4"
95
+ "pluginApi": ">=2026.10.10-beta.5"
96
96
  },
97
97
  "build": {
98
- "openclawVersion": "2026.10.10-beta.4",
98
+ "openclawVersion": "2026.10.10-beta.5",
99
99
  "bundledDist": false,
100
100
  "workerEntries": [
101
101
  "./src/chat-db.worker.ts"