@openclaw/imessage 2026.11.1 → 2026.11.2
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-BH0coL46.mjs → accounts-DacCvDBt.mjs} +6 -3
- package/dist/.setup/{actions-CI-2gslW.mjs → actions-FOjSVXxg.mjs} +63 -13
- package/dist/.setup/{actions.runtime-Cv8J2DCK.mjs → actions.runtime-Mh1ED1Pq.mjs} +9 -6
- package/dist/.setup/{api-LHNeKI7K.mjs → api-BpfhqSA4.mjs} +9 -9
- package/dist/.setup/{api-DomgyOq_.mjs → api-BvfhvRlZ.mjs} +9 -8
- package/dist/.setup/{approval-handler.runtime-J_1w5ZFh.mjs → approval-handler.runtime-Bes82dAn.mjs} +11 -10
- package/dist/.setup/{approval-reactions-U8Ku77_2.mjs → approval-reactions-g1TDaSN2.mjs} +12 -9
- package/dist/.setup/{channel-DLQr-Gbj.mjs → channel-BtDnHgzF.mjs} +34 -23
- package/dist/.setup/{channel.runtime-PU6bZMXQ.mjs → channel.runtime-BomnjKt2.mjs} +80 -57
- package/dist/.setup/{client-CKDbW7i2.mjs → client-DlNC08mM.mjs} +25 -12
- package/dist/.setup/{config-schema-DRkdRC21.mjs → config-schema-DXwa_3V5.mjs} +4 -2
- package/dist/.setup/{conversation-bindings-vZFn6sN2.mjs → conversation-bindings-DR-dbHjs.mjs} +2 -1
- package/dist/.setup/{media-contract-CoixpXRX.mjs → media-contract-BwWs5PM7.mjs} +3 -2
- package/dist/.setup/{message-tool-api-CxSY_rh7.mjs → message-tool-api-B5NfPnFL.mjs} +8 -5
- package/dist/.setup/{outbound-send-deps-_da8jqeo.mjs → outbound-send-deps-B-QEsLSM.mjs} +2 -1
- package/dist/.setup/{question-reactions-CggXC4jv.mjs → question-reactions-CgZKeyy3.mjs} +5 -4
- package/dist/.setup/{reaction-context-k7ftOZLV.mjs → reaction-context-7yLnHd5m.mjs} +3 -2
- package/dist/.setup/{remote-file-C3WVb0XZ.mjs → remote-file-D8UX85bK.mjs} +10 -6
- package/dist/.setup/{rolldown-runtime-782esTHO.mjs → rolldown-runtime-BBjsoOtd.mjs} +2 -1
- package/dist/.setup/{runtime-BRQCPuAD.mjs → runtime-Cza4CY5T.mjs} +2 -1
- package/dist/.setup/{sanitize-outbound-C02fJrn6.mjs → sanitize-outbound-BtEY324R.mjs} +4 -2
- package/dist/.setup/{send-COiAb1TU.mjs → send-D44ovNNq.mjs} +24 -14
- package/dist/.setup/{setup-core-BWnW0czE.mjs → setup-core-BHyLkAEJ.mjs} +4 -3
- package/dist/.setup/{setup-surface-aRZhAzzQ.mjs → setup-surface-DPqiLGy0.mjs} +6 -4
- package/dist/.setup/{targets-CIx4BKqL.mjs → targets-B4oU7n-v.mjs} +6 -3
- package/dist/api.js +9 -9
- package/dist/channel-config-api.js +2 -1
- package/dist/channel-plugin-api.js +2 -1
- package/dist/contract-api.js +2 -1
- package/dist/doctor-contract-api.js +13 -7
- package/dist/index.js +2 -1
- package/dist/media-contract-api.js +2 -1
- package/dist/message-tool-api.js +2 -1
- package/dist/runtime-api.js +2 -2
- package/dist/secret-contract-api.js +2 -1
- package/dist/session-binding-contract-api.js +2 -1
- package/dist/setup-entry.js +3 -2
- package/dist/src/chat-db.worker.js +3 -2
- package/package.json +4 -4
- package/dist/.source-module-urls/929c518fa2986b0f85f66bceefead22868db0ab452dee914dc6a2bb86b2e60ad.json +0 -1
|
@@ -8,7 +8,7 @@ import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
import fs from "node:fs/promises";
|
|
10
10
|
import { normalizeScpRemoteHost } from "openclaw/plugin-sdk/host-runtime";
|
|
11
|
-
|
|
11
|
+
//#region extensions/imessage/src/cli-path.ts
|
|
12
12
|
const localCliPathCache = /* @__PURE__ */ new Map();
|
|
13
13
|
const MACH_O_MAGICS = /* @__PURE__ */ new Set([
|
|
14
14
|
"feedface",
|
|
@@ -101,7 +101,8 @@ function resolveLocalIMessageChatDbPath(params) {
|
|
|
101
101
|
const configured = params.dbPath?.trim();
|
|
102
102
|
return configured ? expandIMessageUserPath(configured) : defaultMessagesDbPath();
|
|
103
103
|
}
|
|
104
|
-
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region extensions/imessage/src/remote-host.ts
|
|
105
106
|
const ambiguousSshWrapper = Symbol("ambiguous-ssh-wrapper");
|
|
106
107
|
const detectedRemoteHosts = /* @__PURE__ */ new Map();
|
|
107
108
|
const remoteHostLookups = /* @__PURE__ */ new Map();
|
|
@@ -178,7 +179,8 @@ async function resolveIMessageRemoteHost(params) {
|
|
|
178
179
|
remoteHostLookups.set(key, lookup);
|
|
179
180
|
return await lookup;
|
|
180
181
|
}
|
|
181
|
-
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region extensions/imessage/src/accounts.ts
|
|
182
184
|
const { listAccountIds, resolveDefaultAccountId, resolveAccountConfig: resolveMergedIMessageAccountConfig } = createAccountListHelpers("imessage", { implicitDefaultAccount: { channelKeys: ["cliPath", "dbPath"] } });
|
|
183
185
|
const listIMessageAccountIds = listAccountIds;
|
|
184
186
|
const resolveDefaultIMessageAccountId = resolveDefaultAccountId;
|
|
@@ -330,4 +332,5 @@ function collectIMessageDuplicateAccountSourceWarnings(params) {
|
|
|
330
332
|
}
|
|
331
333
|
return warnings;
|
|
332
334
|
}
|
|
335
|
+
//#endregion
|
|
333
336
|
export { resolveDefaultIMessageAccountId as a, getCachedIMessageRemoteHost as c, resolveIMessageChatDbLookupPath as d, resolveIMessageHomeDir as f, listIMessageAccountIds as i, resolveIMessageRemoteHost as l, hasExclusiveIMessageLocalDatabase as n, resolveIMessageAccount as o, resolveLocalIMessageChatDbPath as p, listEnabledIMessageAccounts as r, resolveIMessageDuplicateSourceOwner as s, collectIMessageDuplicateAccountSourceWarnings as t, expandIMessageUserPath as u };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { c as parseIMessageTarget } from "./targets-
|
|
2
|
-
import { l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount, u as expandIMessageUserPath } from "./accounts-
|
|
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-
|
|
4
|
-
import { a as
|
|
5
|
-
import {
|
|
1
|
+
import { c as parseIMessageTarget } from "./targets-B4oU7n-v.mjs";
|
|
2
|
+
import { l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount, u as expandIMessageUserPath } from "./accounts-DacCvDBt.mjs";
|
|
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 findLatestIMessageEntryForChat, b as chatContextFromIMessageTarget, c as rememberIMessageReplyCache, n as createIMessageRpcClient, o as isIMessageCurrentMessageInChatAsync, r as normalizeIMessageAutomationError } from "./client-DlNC08mM.mjs";
|
|
5
|
+
import { n as getOptionalIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
|
|
6
|
+
import { l as isAutoManagedIMessageCliPath, n as IMESSAGE_UPDATE_COMMAND, t as IMESSAGE_INSTALL_COMMAND } from "./setup-core-BHyLkAEJ.mjs";
|
|
6
7
|
import { filterStringEntries, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
8
|
import { createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
|
|
8
9
|
import path from "node:path";
|
|
@@ -17,7 +18,7 @@ import { runCommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
|
|
|
17
18
|
import { captureRuntimeConfigAsyncReader } from "openclaw/plugin-sdk/runtime-config-snapshot";
|
|
18
19
|
import { detectBinary } from "openclaw/plugin-sdk/setup";
|
|
19
20
|
import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
20
|
-
|
|
21
|
+
//#region extensions/imessage/src/message-action-reference.ts
|
|
21
22
|
async function resolveAuthorizedIMessageActionReference(params) {
|
|
22
23
|
const options = {
|
|
23
24
|
requireKnownShortId: true,
|
|
@@ -44,7 +45,8 @@ async function resolveAuthorizedIMessageActionReference(params) {
|
|
|
44
45
|
chatGuid
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region extensions/imessage/src/message-guid.ts
|
|
48
50
|
/** Strip the `p:<n>/` part prefix Messages puts on some GUIDs so keys match. */
|
|
49
51
|
function normalizeIMessageGuid(value) {
|
|
50
52
|
return value.trim().replace(/^p:\d+\//iu, "");
|
|
@@ -54,7 +56,8 @@ function normalizeIMessageMessageId(value) {
|
|
|
54
56
|
const id = value?.trim();
|
|
55
57
|
return id && id !== "ok" && id !== "unknown" ? id : void 0;
|
|
56
58
|
}
|
|
57
|
-
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region extensions/imessage/src/probe.ts
|
|
58
61
|
const RPC_SUPPORT_CACHE_TTL_MS = 3e5;
|
|
59
62
|
const PRIVATE_API_NEGATIVE_TTL_MS = 1e4;
|
|
60
63
|
const rpcSupportCache = /* @__PURE__ */ new Map();
|
|
@@ -256,8 +259,53 @@ async function probeIMessage(timeoutMs, opts = {}) {
|
|
|
256
259
|
await client.stop();
|
|
257
260
|
}
|
|
258
261
|
}
|
|
259
|
-
|
|
260
|
-
|
|
262
|
+
//#endregion
|
|
263
|
+
//#region extensions/imessage/src/send-status.ts
|
|
264
|
+
const SEND_STATUS_CAPABILITY = "imessage-send-status";
|
|
265
|
+
function registerIMessageSendStatus(ctx) {
|
|
266
|
+
return ctx.channelRuntime?.runtimeContexts.register({
|
|
267
|
+
channelId: "imessage",
|
|
268
|
+
accountId: ctx.accountId,
|
|
269
|
+
capability: SEND_STATUS_CAPABILITY,
|
|
270
|
+
context: {
|
|
271
|
+
getStatus: ctx.getStatus,
|
|
272
|
+
setStatus: ctx.setStatus
|
|
273
|
+
},
|
|
274
|
+
abortSignal: ctx.abortSignal
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
function getSendStatus(accountId) {
|
|
278
|
+
return getOptionalIMessageRuntime()?.channel.runtimeContexts.get({
|
|
279
|
+
channelId: "imessage",
|
|
280
|
+
accountId,
|
|
281
|
+
capability: SEND_STATUS_CAPABILITY
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
function recordIMessageSendFailure(accountId, error) {
|
|
285
|
+
const guidance = error instanceof Error ? normalizeIMessageAutomationError(error.message) : void 0;
|
|
286
|
+
if (guidance) getSendStatus(accountId)?.setStatus({
|
|
287
|
+
accountId,
|
|
288
|
+
lastError: guidance
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
async function withIMessageSendFailureStatus(accountId, send) {
|
|
292
|
+
try {
|
|
293
|
+
return await send();
|
|
294
|
+
} catch (error) {
|
|
295
|
+
recordIMessageSendFailure(accountId, error);
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
function clearIMessageSendFailure(accountId) {
|
|
300
|
+
const status = getSendStatus(accountId);
|
|
301
|
+
if (status && normalizeIMessageAutomationError(status.getStatus().lastError ?? "")) status.setStatus({
|
|
302
|
+
accountId,
|
|
303
|
+
lastError: null
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
//#endregion
|
|
307
|
+
//#region extensions/imessage/src/actions.ts
|
|
308
|
+
const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-Mh1ED1Pq.mjs"), "imessageActionsRuntime");
|
|
261
309
|
const log = createSubsystemLogger("channels/imessage");
|
|
262
310
|
const providerId = "imessage";
|
|
263
311
|
const SUPPORTED_ACTIONS = /* @__PURE__ */ new Set([...IMESSAGE_ACTION_NAMES, "upload-file"]);
|
|
@@ -559,6 +607,7 @@ const imessageMessageActions = {
|
|
|
559
607
|
timestamp: Date.now(),
|
|
560
608
|
isFromMe: true
|
|
561
609
|
});
|
|
610
|
+
if (result.messageId !== "unknown") clearIMessageSendFailure(account.accountId);
|
|
562
611
|
return jsonResult({
|
|
563
612
|
ok: true,
|
|
564
613
|
messageId: result.messageId,
|
|
@@ -718,13 +767,13 @@ const imessageMessageActions = {
|
|
|
718
767
|
const filename = readStringParam(params, "filename", { required: true });
|
|
719
768
|
const asVoice = readBooleanParam(params, "asVoice");
|
|
720
769
|
const resolvedChatGuid = await chatGuid();
|
|
721
|
-
return await completeOutboundBridgeMessage(await runtime.sendAttachment({
|
|
770
|
+
return await completeOutboundBridgeMessage(await withIMessageSendFailureStatus(account.accountId, () => runtime.sendAttachment({
|
|
722
771
|
chatGuid: resolvedChatGuid,
|
|
723
772
|
buffer: decodeBase64Buffer(params, action),
|
|
724
773
|
filename,
|
|
725
774
|
asVoice: asVoice ?? void 0,
|
|
726
775
|
options: opts
|
|
727
|
-
}), resolvedChatGuid);
|
|
776
|
+
})), resolvedChatGuid);
|
|
728
777
|
}
|
|
729
778
|
if (action === "poll") {
|
|
730
779
|
if (privateApiStatus?.selectors?.pollPayloadMessage !== true) await probePrivateApiStatus(true);
|
|
@@ -773,4 +822,5 @@ const imessageMessageActions = {
|
|
|
773
822
|
throw new Error(`Action ${action} is not supported for provider ${providerId}.`);
|
|
774
823
|
}
|
|
775
824
|
};
|
|
776
|
-
|
|
825
|
+
//#endregion
|
|
826
|
+
export { probeIMessage as a, normalizeIMessageMessageId as c, withIMessageSendFailureStatus as i, clearIMessageSendFailure as n, probeIMessagePrivateApi as o, registerIMessageSendStatus as r, normalizeIMessageGuid as s, imessageMessageActions as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as sanitizeIMessageFinalOutboundText } from "./sanitize-outbound-
|
|
3
|
-
import { n as authorizeIMessageResourceReference, t as withIMessageRemoteFile } from "./remote-file-
|
|
1
|
+
import { S as normalizeDirectChatIdentifier, i as runIMessageCliJsonCommand, n as createIMessageRpcClient, u as resolveIMessageMessageId } from "./client-DlNC08mM.mjs";
|
|
2
|
+
import { n as sanitizeIMessageFinalOutboundText } from "./sanitize-outbound-BtEY324R.mjs";
|
|
3
|
+
import { n as authorizeIMessageResourceReference, t as withIMessageRemoteFile } from "./remote-file-D8UX85bK.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";
|
|
@@ -8,7 +8,7 @@ import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
|
8
8
|
import { captureChannelReadAuthority, captureEffectAuthority } from "openclaw/plugin-sdk/fetch-runtime";
|
|
9
9
|
import { sanitizeUntrustedFileName } from "openclaw/plugin-sdk/security-runtime";
|
|
10
10
|
import { resolvePreferredOpenClawTmpDir, withTempWorkspace } from "openclaw/plugin-sdk/temp-path";
|
|
11
|
-
|
|
11
|
+
//#region extensions/imessage/src/actions-chat-guid.ts
|
|
12
12
|
const CHAT_LIST_CACHE_TTL_MS = 3e4;
|
|
13
13
|
const chatListCache = /* @__PURE__ */ new Map();
|
|
14
14
|
function numberFromUnknown(value) {
|
|
@@ -50,7 +50,8 @@ async function resolveIMessageActionChatGuid(params) {
|
|
|
50
50
|
await client.stop();
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region extensions/imessage/src/actions-transport.ts
|
|
54
55
|
var IMessageRemoteUnsupportedError = class extends Error {
|
|
55
56
|
constructor(message) {
|
|
56
57
|
super(message);
|
|
@@ -85,7 +86,8 @@ async function runIMessageAction(options, method, params, args) {
|
|
|
85
86
|
await client.stop();
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region extensions/imessage/src/actions.runtime.ts
|
|
89
91
|
/**
|
|
90
92
|
* Messages mints the option UUIDs, so the send response is the only place they
|
|
91
93
|
* appear before someone votes. Approval bindings key decisions off these ids
|
|
@@ -328,4 +330,5 @@ const imessageActionsRuntime = {
|
|
|
328
330
|
});
|
|
329
331
|
}
|
|
330
332
|
};
|
|
333
|
+
//#endregion
|
|
331
334
|
export { imessageActionsRuntime };
|
|
@@ -1,10 +1,10 @@
|
|
|
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-
|
|
2
|
-
import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, r as listEnabledIMessageAccounts } from "./accounts-
|
|
3
|
-
import { o as IMESSAGE_ACTIONS, s as IMESSAGE_ACTION_NAMES } from "./message-tool-api-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
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-
|
|
7
|
-
import { n as createIMessageConversationBindingManagerV2, t as createIMessageConversationBindingManager } from "./conversation-bindings-
|
|
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-
|
|
9
|
-
import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./outbound-send-deps-
|
|
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
|
+
import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, r as listEnabledIMessageAccounts } from "./accounts-DacCvDBt.mjs";
|
|
3
|
+
import { o as IMESSAGE_ACTIONS, s as IMESSAGE_ACTION_NAMES } from "./message-tool-api-B5NfPnFL.mjs";
|
|
4
|
+
import { v as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./client-DlNC08mM.mjs";
|
|
5
|
+
import { a as probeIMessage } from "./actions-FOjSVXxg.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-BtDnHgzF.mjs";
|
|
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-BvfhvRlZ.mjs";
|
|
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,14 +1,15 @@
|
|
|
1
|
-
import "./targets-
|
|
2
|
-
import "./accounts-
|
|
3
|
-
import "./message-tool-api-
|
|
4
|
-
import "./actions-
|
|
5
|
-
import { s as imessageSetupContract } from "./setup-core-
|
|
6
|
-
import { n as createIMessagePluginBase, r as imessageSetupWizard } from "./channel-
|
|
7
|
-
import "./conversation-bindings-
|
|
1
|
+
import "./targets-B4oU7n-v.mjs";
|
|
2
|
+
import "./accounts-DacCvDBt.mjs";
|
|
3
|
+
import "./message-tool-api-B5NfPnFL.mjs";
|
|
4
|
+
import "./actions-FOjSVXxg.mjs";
|
|
5
|
+
import { s as imessageSetupContract } from "./setup-core-BHyLkAEJ.mjs";
|
|
6
|
+
import { n as createIMessagePluginBase, r as imessageSetupWizard } from "./channel-BtDnHgzF.mjs";
|
|
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
|
|
10
10
|
const imessageSetupPlugin = createIMessagePluginBase({
|
|
11
11
|
setupWizard: imessageSetupWizard,
|
|
12
12
|
setupContract: imessageSetupContract
|
|
13
13
|
});
|
|
14
|
+
//#endregion
|
|
14
15
|
export { resolveServicePrefixedChatTarget$1 as a, imessageSetupPlugin as c, resolveServicePrefixedAllowTarget as i, parseChatAllowTargetPrefixes as n, resolveServicePrefixedOrChatAllowTarget$1 as o, parseChatTargetPrefixesOrThrow$1 as r, resolveServicePrefixedTarget as s, createAllowedChatSenderMatcher$1 as t };
|
package/dist/.setup/{approval-handler.runtime-J_1w5ZFh.mjs → approval-handler.runtime-Bes82dAn.mjs}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as parseIMessageTarget, d as normalizeIMessageMessagingTarget } from "./targets-
|
|
2
|
-
import { o as resolveIMessageAccount } from "./accounts-
|
|
3
|
-
import { n as getCachedIMessagePrivateApiStatus } from "./message-tool-api-
|
|
4
|
-
import {
|
|
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, 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 { c as normalizeIMessageMessageId } from "./actions-FOjSVXxg.mjs";
|
|
5
|
+
import { d as getIMessageApprovalApprovers } from "./channel-BtDnHgzF.mjs";
|
|
6
|
+
import { i as extractMarkdownFormatRuns } from "./sanitize-outbound-BtEY324R.mjs";
|
|
7
|
+
import { a as unregisterIMessageApprovalReactionTarget, c as buildIMessageApprovalConversationKeyForTarget, i as registerIMessageApprovalReactionTarget } from "./approval-reactions-g1TDaSN2.mjs";
|
|
8
|
+
import { a as iMessageApprovalPollTargets, i as buildApprovalPollOptions, o as mapSentPollOptionsToDecisions, t as sendMessageIMessage } from "./send-D44ovNNq.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";
|
|
@@ -13,9 +13,9 @@ import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approva
|
|
|
13
13
|
import { buildApprovalNativeControlsPromptText, buildApprovalReactionPendingContent } from "openclaw/plugin-sdk/approval-reaction-runtime";
|
|
14
14
|
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-
|
|
18
|
+
const loadIMessageActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-Mh1ED1Pq.mjs"), "imessageActionsRuntime");
|
|
19
19
|
const DEFAULT_PROBE_TIMEOUT_MS = 5e3;
|
|
20
20
|
const APPROVAL_POLL_ORDERING_DELAY_MS = 1100;
|
|
21
21
|
function classifyIMessageApprovalTargetTransport(params) {
|
|
@@ -363,4 +363,5 @@ const imessageApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapterA
|
|
|
363
363
|
log.error(`imessage approvals: failed to send request ${request.id}: ${String(error)}`);
|
|
364
364
|
} }
|
|
365
365
|
});
|
|
366
|
+
//#endregion
|
|
366
367
|
export { imessageApprovalNativeRuntime };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-
|
|
2
|
-
import { c as parseIMessageTarget, o as normalizeIMessageHandle } from "./targets-
|
|
3
|
-
import {
|
|
4
|
-
import { n as getOptionalIMessageRuntime } from "./runtime-
|
|
5
|
-
import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-
|
|
6
|
-
import { t as resolveIMessageReactionContext } from "./reaction-context-
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-BBjsoOtd.mjs";
|
|
2
|
+
import { c as parseIMessageTarget, o as normalizeIMessageHandle } from "./targets-B4oU7n-v.mjs";
|
|
3
|
+
import { s as normalizeIMessageGuid } from "./actions-FOjSVXxg.mjs";
|
|
4
|
+
import { n as getOptionalIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
|
|
5
|
+
import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-BtDnHgzF.mjs";
|
|
6
|
+
import { t as resolveIMessageReactionContext } from "./reaction-context-7yLnHd5m.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";
|
|
10
10
|
import { addApprovalReactionHintToText, approvalReactionDecisionSetsMatch, buildApprovalReactionDeliveredBindingMarker, buildApprovalReactionHint, createApprovalReactionTargetStore, listApprovalReactionBindings, normalizeApprovalReactionDecision, readApprovalReactionDecisionList, readApprovalReactionDeliveredBinding, readApprovalReactionPresentationBinding, readApprovalReactionTargetRecord, resolveTypedApprovalReactionTarget, settleApprovalReaction } from "openclaw/plugin-sdk/approval-reaction-runtime";
|
|
11
11
|
import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
|
|
12
|
-
|
|
12
|
+
//#region extensions/imessage/src/approval-target-keys.ts
|
|
13
13
|
function chatIdToKeyValue(chatId) {
|
|
14
14
|
if (chatId == null || chatId === "") return null;
|
|
15
15
|
if (typeof chatId === "number") return Number.isFinite(chatId) && chatId > 0 ? String(chatId) : null;
|
|
@@ -69,7 +69,8 @@ function resolveIMessageApprovalControlActor(message) {
|
|
|
69
69
|
const destination = normalizeIMessageHandle(message.destination_caller_id ?? "");
|
|
70
70
|
return (message.is_from_me !== true && Boolean(sender) && sender === destination ? "" : sender) || (message.is_from_me === true ? destination : "");
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region extensions/imessage/src/approval-reaction-poll-targets.ts
|
|
73
74
|
const PERSISTENT_POLL_TARGET_NAMESPACE = "imessage.approval-reaction-poll-targets";
|
|
74
75
|
const PERSISTENT_MAX_ENTRIES$1 = 1e3;
|
|
75
76
|
const DEFAULT_REACTION_TARGET_TTL_MS$1 = 864e5;
|
|
@@ -209,7 +210,8 @@ function clearIMessageApprovalReactionPollTargetsForTest() {
|
|
|
209
210
|
pendingReactionPollTargets.clear();
|
|
210
211
|
pendingReactionPollTargetStore = void 0;
|
|
211
212
|
}
|
|
212
|
-
|
|
213
|
+
//#endregion
|
|
214
|
+
//#region extensions/imessage/src/approval-reactions.ts
|
|
213
215
|
var approval_reactions_exports = /* @__PURE__ */ __exportAll({
|
|
214
216
|
addIMessageApprovalReactionHintToStructuredPayload: () => addIMessageApprovalReactionHintToStructuredPayload,
|
|
215
217
|
buildIMessageApprovalConversationKeyForTarget: () => buildIMessageApprovalConversationKeyForTarget,
|
|
@@ -507,4 +509,5 @@ function clearIMessageApprovalReactionTargetsForTest() {
|
|
|
507
509
|
clearIMessageApprovalReactionPollTargetsForTest();
|
|
508
510
|
loadResolveApprovalOverGateway.clear();
|
|
509
511
|
}
|
|
512
|
+
//#endregion
|
|
510
513
|
export { unregisterIMessageApprovalReactionTarget as a, buildIMessageApprovalConversationKeyForTarget as c, resolveIMessageApprovalControlActor 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, normalizeConversationKey as u };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { a as looksLikeIMessageExplicitTargetId, c as parseIMessageTarget, d as normalizeIMessageMessagingTarget, f as isIMessagePhoneLikeHandle, n as inferIMessageTargetChatType, o as normalizeIMessageHandle } from "./targets-
|
|
2
|
-
import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, t as collectIMessageDuplicateAccountSourceWarnings } from "./accounts-
|
|
3
|
-
import {
|
|
4
|
-
import { t as imessageMessageActions } from "./actions-
|
|
5
|
-
import { i as createIMessageSetupWizardProxy, s as imessageSetupContract } from "./setup-core-
|
|
6
|
-
import { n as createIMessageConversationBindingManagerV2 } from "./conversation-bindings-
|
|
7
|
-
import { n as sanitizeIMessageFinalOutboundText, r as sanitizeOutboundText } from "./sanitize-outbound-
|
|
8
|
-
import { t as IMessageChannelConfigSchema } from "./config-schema-
|
|
9
|
-
import { n as resolveIMessageAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots } from "./media-contract-
|
|
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-DlNC08mM.mjs";
|
|
4
|
+
import { r as registerIMessageSendStatus, t as imessageMessageActions } from "./actions-FOjSVXxg.mjs";
|
|
5
|
+
import { i as createIMessageSetupWizardProxy, s as imessageSetupContract } from "./setup-core-BHyLkAEJ.mjs";
|
|
6
|
+
import { n as createIMessageConversationBindingManagerV2 } from "./conversation-bindings-DR-dbHjs.mjs";
|
|
7
|
+
import { n as sanitizeIMessageFinalOutboundText, r as sanitizeOutboundText } from "./sanitize-outbound-BtEY324R.mjs";
|
|
8
|
+
import { t as IMessageChannelConfigSchema } from "./config-schema-DXwa_3V5.mjs";
|
|
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";
|
|
@@ -30,7 +30,7 @@ import { getExecApprovalReplyMetadata, resolveExecApprovalCommandDisplay, resolv
|
|
|
30
30
|
import { createChannelApprovalAuth } from "openclaw/plugin-sdk/approval-auth-runtime";
|
|
31
31
|
import { buildChannelGroupsScopeTree, createRestrictSendersChannelSecurity, resolveScopeRequireMention, resolveScopeToolsPolicy } from "openclaw/plugin-sdk/channel-policy";
|
|
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
35
|
const normalized = normalizeIMessageHandle(String(value));
|
|
36
36
|
if (!normalized || normalized.startsWith("chat_id:") || normalized.startsWith("chat_guid:") || normalized.startsWith("chat_identifier:")) return;
|
|
@@ -53,11 +53,13 @@ const imessageApproval$1 = createChannelApprovalAuth({
|
|
|
53
53
|
});
|
|
54
54
|
const getIMessageApprovalApprovers = imessageApproval$1.resolveApprovers;
|
|
55
55
|
const imessageApprovalAuth = imessageApproval$1.approvalAuth;
|
|
56
|
-
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region extensions/imessage/src/approval-text.ts
|
|
57
58
|
function replaceApprovalIdPlaceholder(text, approvalId) {
|
|
58
59
|
return (text ?? "").replace(/\/approve\s+<id>/g, () => `/approve ${approvalId}`);
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region extensions/imessage/src/approval-native.ts
|
|
61
63
|
const DEFAULT_PLUGIN_APPROVAL_DECISIONS = [
|
|
62
64
|
"allow-once",
|
|
63
65
|
"allow-always",
|
|
@@ -116,7 +118,7 @@ const imessageApproval = createApproverRestrictedNativeApprovalCapabilityFromFor
|
|
|
116
118
|
approvalKind,
|
|
117
119
|
request
|
|
118
120
|
}),
|
|
119
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
121
|
+
load: async () => (await import("./approval-handler.runtime-Bes82dAn.mjs")).imessageApprovalNativeRuntime
|
|
120
122
|
})
|
|
121
123
|
});
|
|
122
124
|
const imessageApprovalRouting = imessageApproval.routing;
|
|
@@ -215,7 +217,8 @@ function buildIMessagePluginPendingPayload(params) {
|
|
|
215
217
|
};
|
|
216
218
|
}
|
|
217
219
|
const imessageApprovalCapability = imessageApproval.capability;
|
|
218
|
-
|
|
220
|
+
//#endregion
|
|
221
|
+
//#region extensions/imessage/src/conversation-id-core.ts
|
|
219
222
|
function normalizeIMessageAcpConversationId(conversationId) {
|
|
220
223
|
const trimmed = conversationId.trim();
|
|
221
224
|
if (!trimmed) return null;
|
|
@@ -246,17 +249,20 @@ function matchIMessageAcpConversation(params) {
|
|
|
246
249
|
function resolveIMessageConversationIdFromTarget(target) {
|
|
247
250
|
return normalizeIMessageAcpConversationId(target)?.conversationId;
|
|
248
251
|
}
|
|
249
|
-
|
|
252
|
+
//#endregion
|
|
253
|
+
//#region extensions/imessage/src/conversation-id.ts
|
|
250
254
|
function resolveIMessageInboundConversationId(params) {
|
|
251
255
|
if (params.isGroup) return params.chatId != null && Number.isFinite(params.chatId) ? String(params.chatId) : void 0;
|
|
252
256
|
return normalizeIMessageHandle(params.sender) || void 0;
|
|
253
257
|
}
|
|
254
|
-
|
|
258
|
+
//#endregion
|
|
259
|
+
//#region extensions/imessage/src/doctor.ts
|
|
255
260
|
const imessageDoctor = {
|
|
256
261
|
groupAllowFromFallbackToAllowFrom: false,
|
|
257
262
|
collectPreviewWarnings: ({ cfg }) => collectIMessageDuplicateAccountSourceWarnings({ cfg })
|
|
258
263
|
};
|
|
259
|
-
|
|
264
|
+
//#endregion
|
|
265
|
+
//#region extensions/imessage/src/group-policy.ts
|
|
260
266
|
function resolveScopePath(params) {
|
|
261
267
|
return params.groupId ? [params.groupId] : [];
|
|
262
268
|
}
|
|
@@ -278,9 +284,10 @@ function resolveIMessageGroupSystemPrompt(params) {
|
|
|
278
284
|
const prompt = params.groupConfig?.systemPrompt ?? params.defaultConfig?.systemPrompt;
|
|
279
285
|
return typeof prompt === "string" ? prompt.trim() || void 0 : void 0;
|
|
280
286
|
}
|
|
281
|
-
|
|
287
|
+
//#endregion
|
|
288
|
+
//#region extensions/imessage/src/shared.ts
|
|
282
289
|
const IMESSAGE_CHANNEL = "imessage";
|
|
283
|
-
const imessageSetupWizard = createIMessageSetupWizardProxy(async () => (await import("./setup-surface-
|
|
290
|
+
const imessageSetupWizard = createIMessageSetupWizardProxy(async () => (await import("./setup-surface-DPqiLGy0.mjs")).imessageSetupWizard);
|
|
284
291
|
const imessageConfigAdapter = createScopedChannelConfigAdapter({
|
|
285
292
|
sectionKey: IMESSAGE_CHANNEL,
|
|
286
293
|
listAccountIds: listIMessageAccountIds,
|
|
@@ -362,8 +369,9 @@ function createIMessagePluginBase(params) {
|
|
|
362
369
|
}
|
|
363
370
|
};
|
|
364
371
|
}
|
|
365
|
-
|
|
366
|
-
|
|
372
|
+
//#endregion
|
|
373
|
+
//#region extensions/imessage/src/channel.ts
|
|
374
|
+
const loadIMessageChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-BomnjKt2.mjs"));
|
|
367
375
|
async function sendIMessageOutbound(ctx, kind, options = {}) {
|
|
368
376
|
return await (await loadIMessageChannelRuntime()).sendIMessageOutbound({
|
|
369
377
|
cfg: ctx.cfg,
|
|
@@ -399,8 +407,8 @@ function toIMessageMessageSendResult(result, kind, replyToId) {
|
|
|
399
407
|
...result.meta && Object.keys(result.meta).length > 0 ? { meta: result.meta } : {}
|
|
400
408
|
};
|
|
401
409
|
}
|
|
402
|
-
const loadIMessageApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-
|
|
403
|
-
const loadIMessageQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-
|
|
410
|
+
const loadIMessageApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-g1TDaSN2.mjs").then((n) => n.t));
|
|
411
|
+
const loadIMessageQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-CgZKeyy3.mjs").then((n) => n.r));
|
|
404
412
|
const imessageMessageAdapter = defineChannelMessageAdapter({
|
|
405
413
|
id: "imessage",
|
|
406
414
|
durableFinal: { capabilities: {
|
|
@@ -573,9 +581,11 @@ const imessagePlugin = createChatChannelPlugin({
|
|
|
573
581
|
cfg: ctx.cfg,
|
|
574
582
|
accountId: ctx.accountId
|
|
575
583
|
});
|
|
584
|
+
const sendStatus = registerIMessageSendStatus(ctx);
|
|
576
585
|
try {
|
|
577
586
|
return await (await loadIMessageChannelRuntime()).startIMessageGatewayAccount(ctx);
|
|
578
587
|
} finally {
|
|
588
|
+
sendStatus?.dispose();
|
|
579
589
|
conversationBindings.stop();
|
|
580
590
|
}
|
|
581
591
|
}
|
|
@@ -667,4 +677,5 @@ const imessagePlugin = createChatChannelPlugin({
|
|
|
667
677
|
}
|
|
668
678
|
}
|
|
669
679
|
});
|
|
680
|
+
//#endregion
|
|
670
681
|
export { resolveIMessageGroupSystemPrompt as a, matchIMessageAcpConversation as c, getIMessageApprovalApprovers as d, imessageApprovalAuth as f, resolveIMessageGroupRequireMention as i, normalizeIMessageAcpConversationId as l, createIMessagePluginBase as n, resolveIMessageGroupToolPolicy as o, imessageSetupWizard as r, resolveIMessageInboundConversationId as s, imessagePlugin as t, resolveIMessageConversationIdFromTarget as u };
|