@openclaw/imessage 2026.10.5-beta.3 → 2026.10.10-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/.setup/{actions-Hxh12myO.mjs → actions-CZHoxlpi.mjs} +6 -10
  2. package/dist/.setup/{actions.runtime-DOIX6Fkf.mjs → actions.runtime-B-OHCffC.mjs} +7 -9
  3. package/dist/.setup/{api-BV8qHfLl.mjs → api-BifRABgX.mjs} +6 -6
  4. package/dist/.setup/{api-DC1yHVGj.mjs → api-dHebtZYA.mjs} +4 -4
  5. package/dist/.setup/{approval-handler.runtime-Dc3KzakG.mjs → approval-handler.runtime-jO19jL0F.mjs} +68 -76
  6. package/dist/.setup/{approval-reactions-JvzJCJ4a.mjs → approval-reactions-DFgEJMz2.mjs} +11 -15
  7. package/dist/.setup/{channel-9TWBUDkP.mjs → channel-D-E9DvQL.mjs} +17 -17
  8. package/dist/.setup/{channel.runtime-DrLDEY4R.mjs → channel.runtime-Cx_lRd-J.mjs} +63 -121
  9. package/dist/.setup/{client-HixFQQWY.mjs → client-BEZ_gLk-.mjs} +4 -27
  10. package/dist/.setup/{conversation-bindings-GDQ_Laxj.mjs → conversation-bindings-DR-dbHjs.mjs} +14 -2
  11. package/dist/.setup/{question-reactions-9jrqVZgE.mjs → question-reactions-BUSvdHlF.mjs} +2 -2
  12. package/dist/.setup/{reaction-context-CRXpeYAr.mjs → reaction-context-DbYCapmR.mjs} +1 -1
  13. package/dist/.setup/{remote-file-Dq5Asi_F.mjs → remote-file-vdoCnZze.mjs} +1 -1
  14. package/dist/.setup/{sanitize-outbound-DpdQERYJ.mjs → sanitize-outbound-BtEY324R.mjs} +14 -14
  15. package/dist/.setup/{send-BZZzMbdi.mjs → send-Jaf5eIJS.mjs} +10 -63
  16. package/dist/.setup/{setup-core-CaRGbZOL.mjs → setup-core-BHyLkAEJ.mjs} +1 -1
  17. package/dist/.setup/{setup-surface-BMWS7VuY.mjs → setup-surface-DPqiLGy0.mjs} +1 -1
  18. package/dist/api.js +6 -6
  19. package/dist/channel-config-api.js +1 -2
  20. package/dist/channel-plugin-api.js +1 -2
  21. package/dist/contract-api.js +1 -2
  22. package/dist/media-contract-api.js +1 -2
  23. package/dist/message-tool-api.js +1 -2
  24. package/dist/runtime-api.js +1 -1
  25. package/dist/session-binding-contract-api.js +1 -2
  26. package/dist/setup-entry.js +1 -1
  27. package/node_modules/typebox/build/value/clean/from_object.mjs +1 -1
  28. package/node_modules/typebox/package.json +1 -1
  29. package/package.json +5 -5
@@ -1,15 +1,14 @@
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 { C as resolveIMessageDirectChatService, _ as resolveIMessageSentEchoEntryKey, b as chatContextFromIMessageTarget, c as rememberIMessageReplyCache, f as IMESSAGE_SENT_ECHOES_NAMESPACE, g as resolveIMessageEchoMediaKey, n as createIMessageRpcClient, p as IMESSAGE_SENT_ECHOES_TTL_MS, r as runIMessageCliJsonCommand, t as IMessageRpcRequestError } from "./client-HixFQQWY.mjs";
4
- import { a as normalizeIMessageMessageId, i as normalizeIMessageGuid } from "./actions-Hxh12myO.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";
5
5
  import { n as getOptionalIMessageRuntime, t as getIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
6
- import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-9TWBUDkP.mjs";
7
- import { n as sanitizeIMessageFinalOutboundText, t as protectIMessageFencedRoleMarkers } from "./sanitize-outbound-DpdQERYJ.mjs";
8
- import { a as withIMessageReceiptGuidReader, r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-Dq5Asi_F.mjs";
9
- import { d as normalizeConversationKey, f as resolveIMessageApprovalControlActor, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as enumerateConversationKeyForms } from "./approval-reactions-JvzJCJ4a.mjs";
6
+ import { d as getIMessageApprovalApprovers, f as imessageApprovalAuth } from "./channel-D-E9DvQL.mjs";
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";
10
10
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
12
- import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
13
12
  import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
14
13
  import { accessSync, constants } from "node:fs";
15
14
  import { basename } from "node:path";
@@ -18,7 +17,6 @@ import { logVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
18
17
  import { asDateTimestampMs } from "openclaw/plugin-sdk/number-runtime";
19
18
  import { PlatformMessageNotDispatchedError, isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
20
19
  import { captureChannelReadAuthority, captureEffectAuthority } from "openclaw/plugin-sdk/fetch-runtime";
21
- import { racePromiseWithAbortSignal } from "openclaw/plugin-sdk/time-runtime";
22
20
  import { addApprovalReactionHintToText, createApprovalReactionTargetStore, listApprovalReactionBindings } from "openclaw/plugin-sdk/approval-reaction-runtime";
23
21
  import { convertMarkdownTables, stripInlineDirectiveTagsForDelivery } from "openclaw/plugin-sdk/text-chunking";
24
22
  import { createChannelPartialDeliveryError } from "openclaw/plugin-sdk/channel-inbound";
@@ -26,57 +24,6 @@ import { resolvePreferredOpenClawTmpDir, withTempWorkspace } from "openclaw/plug
26
24
  import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
27
25
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
28
26
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
29
- //#region extensions/imessage/src/approval-control-binding-window.ts
30
- const pendingByConversation = /* @__PURE__ */ new Map();
31
- function approvalControlBindingAbortError(signal) {
32
- const reason = signal?.reason;
33
- return reason instanceof Error ? reason : new Error("iMessage approval control binding aborted", { cause: reason });
34
- }
35
- function bindingKeys(accountId, conversation) {
36
- const account = accountId.trim();
37
- return account ? enumerateConversationKeyForms(conversation).map((form) => `${account}:${form}`) : [];
38
- }
39
- /** Marks the send-to-binding interval during which a visible control is not yet resolvable. */
40
- function beginIMessageApprovalControlBinding(params) {
41
- const keys = bindingKeys(params.accountId, params.conversation);
42
- const { promise, resolve } = createDeferred();
43
- const window = {
44
- done: promise,
45
- close: () => {
46
- for (const key of keys) {
47
- const windows = pendingByConversation.get(key);
48
- windows?.delete(window);
49
- if (windows?.size === 0) pendingByConversation.delete(key);
50
- }
51
- resolve();
52
- }
53
- };
54
- for (const key of keys) {
55
- const windows = pendingByConversation.get(key) ?? /* @__PURE__ */ new Set();
56
- windows.add(window);
57
- pendingByConversation.set(key, windows);
58
- }
59
- return { close: window.close };
60
- }
61
- /** Waits for one matching delivery to finish binding; callers recheck until none remain. */
62
- async function waitForIMessageApprovalControlBinding(params) {
63
- const windows = /* @__PURE__ */ new Set();
64
- for (const key of bindingKeys(params.accountId, params.conversation)) for (const window of pendingByConversation.get(key) ?? []) windows.add(window);
65
- if (windows.size === 0) return false;
66
- if (params.abortSignal?.aborted) throw approvalControlBindingAbortError(params.abortSignal);
67
- await racePromiseWithAbortSignal(Promise.race([...windows].map((window) => window.done)), params.abortSignal, approvalControlBindingAbortError);
68
- return true;
69
- }
70
- function clearIMessageApprovalControlBindingsForTest() {
71
- for (const windows of pendingByConversation.values()) for (const window of windows) window.close();
72
- pendingByConversation.clear();
73
- }
74
- const iMessageApprovalControlBindings = {
75
- begin: beginIMessageApprovalControlBinding,
76
- wait: waitForIMessageApprovalControlBinding,
77
- clearForTest: clearIMessageApprovalControlBindingsForTest
78
- };
79
- //#endregion
80
27
  //#region extensions/imessage/src/approval-polls.ts
81
28
  const TARGET_NAMESPACE = "imessage.approval-polls";
82
29
  const TOMBSTONE_NAMESPACE = "imessage.approval-poll-tombstones";
@@ -115,7 +62,7 @@ const pollTargets = createApprovalReactionTargetStore({
115
62
  namespace: TARGET_NAMESPACE,
116
63
  maxEntries: MAX_ENTRIES,
117
64
  defaultTtlMs: DEFAULT_TARGET_TTL_MS,
118
- openStore: (params) => getOptionalIMessageRuntime()?.state.openKeyedStore(params),
65
+ openStore: (params) => getOptionalIMessageRuntime()?.state.openKeyedStoreV2(params),
119
66
  logPersistentError: reportPersistentError,
120
67
  readPersistedTarget
121
68
  });
@@ -123,7 +70,7 @@ const pollTombstones = createApprovalReactionTargetStore({
123
70
  namespace: TOMBSTONE_NAMESPACE,
124
71
  maxEntries: MAX_ENTRIES,
125
72
  defaultTtlMs: TOMBSTONE_TTL_MS,
126
- openStore: (params) => getOptionalIMessageRuntime()?.state.openKeyedStore(params),
73
+ openStore: (params) => getOptionalIMessageRuntime()?.state.openKeyedStoreV2(params),
127
74
  logPersistentError: reportPersistentError,
128
75
  readPersistedTarget: (value) => {
129
76
  const approvalId = value?.approvalId;
@@ -439,7 +386,7 @@ function normalizeMedia(media) {
439
386
  };
440
387
  }
441
388
  function openPersistedEchoStore() {
442
- return getIMessageRuntime().state.openKeyedStore({
389
+ return getIMessageRuntime().state.openKeyedStoreV2({
443
390
  namespace: IMESSAGE_SENT_ECHOES_NAMESPACE,
444
391
  maxEntries: 256
445
392
  });
@@ -1103,4 +1050,4 @@ async function sendMessageIMessage(to, text, opts) {
1103
1050
  }
1104
1051
  }
1105
1052
  //#endregion
1106
- export { iMessageApprovalPollTargets as a, iMessageApprovalControlBindings as c, buildApprovalPollOptions as i, hasPersistedIMessageEcho as n, mapSentPollOptionsToDecisions as o, normalizeIMessageEchoText as r, maybeResolveIMessageApprovalPollVote as s, sendMessageIMessage as t };
1053
+ export { iMessageApprovalPollTargets as a, buildApprovalPollOptions as i, hasPersistedIMessageEcho as n, mapSentPollOptionsToDecisions as o, normalizeIMessageEchoText as r, maybeResolveIMessageApprovalPollVote as s, sendMessageIMessage as t };
@@ -104,7 +104,7 @@ const imessageCompletionNote = {
104
104
  `Update imsg after imsg fixes or missing-capability errors: ${IMESSAGE_UPDATE_COMMAND}`,
105
105
  "Private API mode is strongly encouraged for replies, tapbacks, effects, polls, attachments, and group actions.",
106
106
  "After Private API setup, run `imsg launch`, then `openclaw channels status --probe`.",
107
- "Ensure OpenClaw has Full Disk Access to Messages DB.",
107
+ "Give OpenClaw Full Disk Access to the Messages database.",
108
108
  "Grant Automation permission for Messages when prompted.",
109
109
  "List chats with: imsg chats --limit 20",
110
110
  `Docs: ${formatDocsLink("/imessage", "imessage")}`
@@ -1,5 +1,5 @@
1
1
  import { o as resolveIMessageAccount } from "./accounts-DacCvDBt.mjs";
2
- import { a as imessageCompletionNote, c as imessageSetupStatusBase, l as isAutoManagedIMessageCliPath, o as imessageDmPolicy, r as createIMessageCliPathTextInput, t as IMESSAGE_INSTALL_COMMAND, u as normalizeIMessageCliPathForSetup } from "./setup-core-CaRGbZOL.mjs";
2
+ import { a as imessageCompletionNote, c as imessageSetupStatusBase, l as isAutoManagedIMessageCliPath, o as imessageDmPolicy, r as createIMessageCliPathTextInput, t as IMESSAGE_INSTALL_COMMAND, u as normalizeIMessageCliPathForSetup } from "./setup-core-BHyLkAEJ.mjs";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
  import { createDetectedBinaryStatus, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
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 { v as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./.setup/client-HixFQQWY.mjs";
5
- import { n as probeIMessage } from "./.setup/actions-Hxh12myO.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-9TWBUDkP.mjs";
7
- import { t as createIMessageConversationBindingManager } from "./.setup/conversation-bindings-GDQ_Laxj.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-DC1yHVGj.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";
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";
9
9
  import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./.setup/outbound-send-deps-B-QEsLSM.mjs";
10
- export { DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, IMESSAGE_ACTIONS, IMESSAGE_ACTION_NAMES, IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS, createAllowedChatSenderMatcher, createIMessageConversationBindingManager, 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 };
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,2 +1 @@
1
- import { t as IMessageChannelConfigSchema } from "./.setup/config-schema-DXwa_3V5.mjs";
2
- export { IMessageChannelConfigSchema };
1
+ export { t as IMessageChannelConfigSchema } from "./.setup/config-schema-DXwa_3V5.mjs";
@@ -1,2 +1 @@
1
- import { t as imessagePlugin } from "./.setup/channel-9TWBUDkP.mjs";
2
- export { imessagePlugin };
1
+ export { t as imessagePlugin } from "./.setup/channel-D-E9DvQL.mjs";
@@ -1,3 +1,2 @@
1
- import { n as resolveIMessageAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots, t as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./.setup/media-contract-BwWs5PM7.mjs";
1
+ export { t as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, n as resolveIMessageAttachmentRoots, n as resolveInboundAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots, r as resolveRemoteInboundAttachmentRoots } from "./.setup/media-contract-BwWs5PM7.mjs";
2
2
  import "./media-contract-api.js";
3
- export { DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, resolveIMessageAttachmentRoots, resolveIMessageAttachmentRoots as resolveInboundAttachmentRoots, resolveIMessageRemoteAttachmentRoots, resolveIMessageRemoteAttachmentRoots as resolveRemoteInboundAttachmentRoots };
@@ -1,2 +1 @@
1
- import { n as resolveIMessageAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots, t as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./.setup/media-contract-BwWs5PM7.mjs";
2
- export { DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, resolveIMessageAttachmentRoots, resolveIMessageAttachmentRoots as resolveInboundAttachmentRoots, resolveIMessageRemoteAttachmentRoots, resolveIMessageRemoteAttachmentRoots as resolveRemoteInboundAttachmentRoots };
1
+ export { t as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, n as resolveIMessageAttachmentRoots, n as resolveInboundAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots, r as resolveRemoteInboundAttachmentRoots } from "./.setup/media-contract-BwWs5PM7.mjs";
@@ -1,2 +1 @@
1
- import { t as describeIMessageMessageTool } from "./.setup/message-tool-api-B5NfPnFL.mjs";
2
- export { describeIMessageMessageTool as describeMessageTool };
1
+ export { t as describeMessageTool } from "./.setup/message-tool-api-B5NfPnFL.mjs";
@@ -1,3 +1,3 @@
1
- import { t as imessageMessageActions } from "./.setup/actions-Hxh12myO.mjs";
1
+ import { t as imessageMessageActions } from "./.setup/actions-CZHoxlpi.mjs";
2
2
  import { r as setIMessageRuntime } from "./.setup/runtime-Cza4CY5T.mjs";
3
3
  export { imessageMessageActions, setIMessageRuntime };
@@ -1,2 +1 @@
1
- import { n as testing, t as createIMessageConversationBindingManager } from "./.setup/conversation-bindings-GDQ_Laxj.mjs";
2
- export { createIMessageConversationBindingManager, testing as imessageConversationBindingTesting };
1
+ export { n as createIMessageConversationBindingManagerV2, r as imessageConversationBindingTesting } from "./.setup/conversation-bindings-DR-dbHjs.mjs";
@@ -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-BV8qHfLl.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/api-BifRABgX.mjs", import.meta.url).href),
8
8
  exportName: "imessageSetupPlugin"
9
9
  }
10
10
  });
@@ -12,7 +12,7 @@ export function FromObject(context, type, value) {
12
12
  return value;
13
13
  const additionalProperties = GetAdditionalProperties(type);
14
14
  for (const key of Guard.Keys(value)) {
15
- if (Guard.HasPropertyKey(type.properties, key)) {
15
+ if (Guard.HasPropertyKey(type.properties, key) && IsSchema(type.properties[key])) {
16
16
  value[key] = FromType(context, type.properties[key], value[key]);
17
17
  continue;
18
18
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typebox",
3
3
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
4
- "version": "1.3.34",
4
+ "version": "1.3.35",
5
5
  "keywords": [
6
6
  "typescript",
7
7
  "jsonschema"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/imessage",
3
- "version": "2026.10.5-beta.3",
3
+ "version": "2026.10.10-beta.1",
4
4
  "description": "OpenClaw iMessage channel plugin using imsg on a signed-in Mac",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,11 +8,11 @@
8
8
  },
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "typebox": "1.3.34",
11
+ "typebox": "1.3.35",
12
12
  "zod": "4.6.5"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.10.5-beta.3"
15
+ "openclaw": ">=2026.10.10-beta.1"
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.5-beta.3"
95
+ "pluginApi": ">=2026.10.10-beta.1"
96
96
  },
97
97
  "build": {
98
- "openclawVersion": "2026.10.5-beta.3",
98
+ "openclawVersion": "2026.10.10-beta.1",
99
99
  "bundledDist": false,
100
100
  "workerEntries": [
101
101
  "./src/chat-db.worker.ts"