@openclaw/imessage 2026.10.10-beta.5 → 2026.11.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/.setup/{accounts-DacCvDBt.mjs → accounts-C1Ypv3Wn.mjs} +9 -13
  2. package/dist/.setup/{actions-762Azi-J.mjs → actions-qOuKy8To.mjs} +364 -116
  3. package/dist/.setup/{actions.runtime-DHiRiPHe.mjs → actions.runtime-Ccg9CARL.mjs} +12 -61
  4. package/dist/.setup/{api-Deyo8NDs.mjs → api-BXXuQQCS.mjs} +8 -9
  5. package/dist/.setup/{api-BFGXDHiC.mjs → api-DTbxSOPc.mjs} +9 -9
  6. package/dist/.setup/{approval-handler.runtime-fsSBf2jf.mjs → approval-handler.runtime-B6vrFfZx.mjs} +113 -133
  7. package/dist/.setup/{approval-reactions-CoAkCiwf.mjs → approval-reactions-DBBsqbRC.mjs} +156 -79
  8. package/dist/.setup/{channel-C61YdcZR.mjs → channel-CLaN4mQn.mjs} +151 -137
  9. package/dist/.setup/{channel.runtime-B5jle0g3.mjs → channel.runtime-XJGx1MIH.mjs} +236 -425
  10. package/dist/.setup/chat-context-fTfJVqAi.mjs +77 -0
  11. package/dist/.setup/chat-lookup-xtPsOBkl.mjs +50 -0
  12. package/dist/.setup/client-D_BaG8sC.mjs +367 -0
  13. package/dist/.setup/{config-schema-DXwa_3V5.mjs → config-schema-BjkQV5P5.mjs} +1 -4
  14. package/dist/.setup/{conversation-bindings-DR-dbHjs.mjs → conversation-bindings-8DjxoIYU.mjs} +10 -8
  15. package/dist/.setup/{media-contract-BwWs5PM7.mjs → media-contract-BErFBKV9.mjs} +2 -3
  16. package/dist/.setup/{message-tool-api-B5NfPnFL.mjs → message-tool-api-DtZ1wKbT.mjs} +6 -12
  17. package/dist/.setup/{outbound-send-deps-B-QEsLSM.mjs → outbound-send-deps-_da8jqeo.mjs} +1 -2
  18. package/dist/.setup/{remote-file-B94a787O.mjs → remote-file-DpK3GQFD.mjs} +12 -30
  19. package/dist/.setup/{rolldown-runtime-BBjsoOtd.mjs → rolldown-runtime-782esTHO.mjs} +1 -2
  20. package/dist/.setup/{sanitize-outbound-BtEY324R.mjs → sanitize-outbound-Dhjhz0a-.mjs} +25 -31
  21. package/dist/.setup/{send-BvxKNWzF.mjs → send-DhEW0gfe.mjs} +155 -236
  22. package/dist/.setup/{setup-core-BHyLkAEJ.mjs → setup-core-B1_P_t4T.mjs} +3 -4
  23. package/dist/.setup/{setup-surface-DPqiLGy0.mjs → setup-surface-CD28mXWK.mjs} +13 -29
  24. package/dist/.setup/{targets-B4oU7n-v.mjs → targets-C7CIWJ0k.mjs} +15 -9
  25. package/dist/.source-module-urls/929c518fa2986b0f85f66bceefead22868db0ab452dee914dc6a2bb86b2e60ad.json +1 -1
  26. package/dist/api.js +9 -9
  27. package/dist/channel-config-api.js +1 -1
  28. package/dist/channel-plugin-api.js +1 -1
  29. package/dist/contract-api.js +1 -1
  30. package/dist/doctor-contract-api.js +7 -13
  31. package/dist/index.js +1 -2
  32. package/dist/media-contract-api.js +1 -1
  33. package/dist/message-tool-api.js +1 -1
  34. package/dist/runtime-api.js +1 -3
  35. package/dist/secret-contract-api.js +1 -2
  36. package/dist/session-binding-contract-api.js +1 -1
  37. package/dist/setup-entry.js +2 -3
  38. package/dist/src/chat-db.worker.js +2 -3
  39. package/node_modules/typebox/build/format/duration.d.mts +2 -2
  40. package/node_modules/typebox/build/format/duration.mjs +2 -2
  41. package/node_modules/typebox/build/format/idn_email.d.mts +1 -0
  42. package/node_modules/typebox/build/format/idn_email.mjs +1 -0
  43. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -1
  44. package/node_modules/typebox/build/format/idn_hostname.mjs +1 -1
  45. package/node_modules/typebox/build/format/ipv4.d.mts +2 -2
  46. package/node_modules/typebox/build/format/ipv4.mjs +2 -2
  47. package/node_modules/typebox/build/format/ipv6.d.mts +1 -1
  48. package/node_modules/typebox/build/format/ipv6.mjs +1 -1
  49. package/node_modules/typebox/build/format/relative_json_pointer.d.mts +2 -2
  50. package/node_modules/typebox/build/format/relative_json_pointer.mjs +2 -2
  51. package/node_modules/typebox/build/schema/build.mjs +1 -0
  52. package/node_modules/typebox/build/schema/engine/_unique.d.mts +4 -2
  53. package/node_modules/typebox/build/schema/engine/_unique.mjs +7 -3
  54. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +3 -3
  55. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +0 -3
  56. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +15 -17
  57. package/node_modules/typebox/build/schema/engine/contains.mjs +3 -3
  58. package/node_modules/typebox/build/schema/engine/index.d.mts +1 -0
  59. package/node_modules/typebox/build/schema/engine/index.mjs +1 -0
  60. package/node_modules/typebox/build/schema/engine/items.mjs +7 -4
  61. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -2
  62. package/node_modules/typebox/build/schema/engine/minContains.mjs +3 -3
  63. package/node_modules/typebox/build/schema/engine/oneOf.mjs +2 -2
  64. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +2 -2
  65. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -2
  66. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +2 -2
  67. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +2 -2
  68. package/node_modules/typebox/build/system/hashing/hash.mjs +63 -34
  69. package/node_modules/typebox/build/system/locale/en_US.mjs +2 -1
  70. package/node_modules/typebox/build/system/memory/assign.d.mts +2 -8
  71. package/node_modules/typebox/build/system/memory/assign.mjs +13 -6
  72. package/node_modules/typebox/build/system/memory/clone.d.mts +4 -5
  73. package/node_modules/typebox/build/system/memory/clone.mjs +8 -96
  74. package/node_modules/typebox/build/system/memory/create.d.mts +1 -5
  75. package/node_modules/typebox/build/system/memory/create.mjs +18 -13
  76. package/node_modules/typebox/build/system/memory/deep.d.mts +2 -0
  77. package/node_modules/typebox/build/system/memory/deep.mjs +108 -0
  78. package/node_modules/typebox/build/system/memory/discard.d.mts +1 -1
  79. package/node_modules/typebox/build/system/memory/discard.mjs +9 -8
  80. package/node_modules/typebox/build/system/memory/finalize.d.mts +4 -0
  81. package/node_modules/typebox/build/system/memory/finalize.mjs +30 -0
  82. package/node_modules/typebox/build/system/memory/keys.d.mts +2 -0
  83. package/node_modules/typebox/build/system/memory/keys.mjs +8 -0
  84. package/node_modules/typebox/build/system/memory/update.d.mts +1 -4
  85. package/node_modules/typebox/build/system/memory/update.mjs +43 -16
  86. package/node_modules/typebox/build/type/engine/call/index.d.mts +1 -0
  87. package/node_modules/typebox/build/type/engine/call/index.mjs +1 -0
  88. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +2 -24
  89. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +2 -29
  90. package/node_modules/typebox/build/type/engine/evaluate/index.d.mts +1 -0
  91. package/node_modules/typebox/build/type/engine/evaluate/index.mjs +1 -0
  92. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -1
  93. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +6 -1
  94. package/node_modules/typebox/build/type/engine/evaluate/property.d.mts +30 -0
  95. package/node_modules/typebox/build/type/engine/evaluate/property.mjs +29 -0
  96. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +1 -3
  97. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +1 -4
  98. package/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +2 -2
  99. package/node_modules/typebox/build/type/engine/object/from_intersect.mjs +2 -2
  100. package/node_modules/typebox/build/type/engine/object/from_union.d.mts +2 -2
  101. package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
  102. package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +1 -3
  103. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +1 -4
  104. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +1 -3
  105. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +1 -4
  106. package/node_modules/typebox/build/type/engine/this/index.d.mts +1 -0
  107. package/node_modules/typebox/build/type/engine/this/index.mjs +1 -0
  108. package/node_modules/typebox/build/value/clone/clone.d.mts +4 -3
  109. package/node_modules/typebox/build/value/clone/clone.mjs +5 -7
  110. package/node_modules/typebox/build/value/repair/from_cyclic.d.mts +2 -0
  111. package/node_modules/typebox/build/value/repair/from_cyclic.mjs +6 -0
  112. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +25 -14
  113. package/node_modules/typebox/package.json +1 -1
  114. package/node_modules/typebox/readme.md +1 -1
  115. package/node_modules/zod/package.json +1 -1
  116. package/node_modules/zod/src/v4/classic/tests/array.test.ts +27 -0
  117. package/node_modules/zod/src/v4/classic/tests/map.test.ts +7 -0
  118. package/node_modules/zod/src/v4/classic/tests/set.test.ts +6 -0
  119. package/node_modules/zod/src/v4/core/compile.ts +9 -0
  120. package/node_modules/zod/src/v4/core/schemas.ts +35 -1
  121. package/node_modules/zod/src/v4/core/util.ts +13 -0
  122. package/node_modules/zod/src/v4/core/versions.ts +1 -1
  123. package/node_modules/zod/v4/core/compile.cjs +8 -0
  124. package/node_modules/zod/v4/core/compile.js +8 -0
  125. package/node_modules/zod/v4/core/schemas.cjs +30 -0
  126. package/node_modules/zod/v4/core/schemas.d.cts +3 -1
  127. package/node_modules/zod/v4/core/schemas.d.ts +3 -1
  128. package/node_modules/zod/v4/core/schemas.js +30 -0
  129. package/node_modules/zod/v4/core/util.cjs +15 -0
  130. package/node_modules/zod/v4/core/util.d.cts +2 -0
  131. package/node_modules/zod/v4/core/util.d.ts +2 -0
  132. package/node_modules/zod/v4/core/util.js +14 -0
  133. package/node_modules/zod/v4/core/versions.cjs +1 -1
  134. package/node_modules/zod/v4/core/versions.js +1 -1
  135. package/openclaw.plugin.json +0 -30
  136. package/package.json +6 -6
  137. package/dist/.setup/client-CcROCvRq.mjs +0 -746
  138. package/dist/.setup/question-reactions-BD06B1Lx.mjs +0 -68
  139. package/dist/.setup/reaction-context-Q26DYzQH.mjs +0 -106
  140. package/dist/.setup/runtime-Cza4CY5T.mjs +0 -8
  141. package/node_modules/typebox/build/system/memory/freeze.d.mts +0 -4
  142. package/node_modules/typebox/build/system/memory/freeze.mjs +0 -6
@@ -1,5 +1,5 @@
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-BHyLkAEJ.mjs";
1
+ import { o as resolveIMessageAccount } from "./accounts-C1Ypv3Wn.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-B1_P_t4T.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";
@@ -7,7 +7,7 @@ import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
7
7
  import { detectBinary as detectBinary$1, resolveBrewExecutable } from "openclaw/plugin-sdk/setup-tools";
8
8
  import { isPathStrictlyInside } from "openclaw/plugin-sdk/file-access-runtime";
9
9
  import { runPluginCommandWithTimeout } from "openclaw/plugin-sdk/run-command";
10
- //#region extensions/imessage/src/install-imsg.ts
10
+ // extensions/imessage/src/install-imsg.ts
11
11
  const IMESSAGE_BREW_FORMULA = "steipete/tap/imsg";
12
12
  async function resolveBrewManagedIMessageCliPath(brewExe, cliPath) {
13
13
  try {
@@ -76,44 +76,29 @@ async function installIMessageCli(runtime, opts) {
76
76
  runtime.log("Keeping the detected imsg binary because Homebrew does not manage it.");
77
77
  return { ok: true };
78
78
  }
79
- const update = await runPluginCommandWithTimeout({
80
- argv: [brewExe, "update"],
81
- timeoutMs: 3e5
79
+ }
80
+ const commands = opts?.upgrade ? [["update"], ["upgrade", "imsg"]] : [["install", "steipete/tap/imsg"]];
81
+ for (const command of commands) {
82
+ const result = await runPluginCommandWithTimeout({
83
+ argv: [brewExe, ...command],
84
+ timeoutMs: (command[0] === "update" ? 5 : 15) * 6e4
82
85
  });
83
- if (update.code !== 0) return {
86
+ if (result.code !== 0) return {
84
87
  ok: false,
85
- error: `brew update failed (exit ${update.code}): ${truncateUtf16Safe(update.stderr.trim(), 200)}`
88
+ error: `brew ${command.join(" ")} failed (exit ${result.code}): ${truncateUtf16Safe(result.stderr.trim(), 200)}`
86
89
  };
87
90
  }
88
- const command = opts?.upgrade ? ["upgrade", "imsg"] : ["install", "steipete/tap/imsg"];
89
- const result = await runPluginCommandWithTimeout({
90
- argv: [brewExe, ...command],
91
- timeoutMs: 9e5
92
- });
93
- if (result.code !== 0) return {
94
- ok: false,
95
- error: `brew ${command.join(" ")} failed (exit ${result.code}): ${truncateUtf16Safe(result.stderr.trim(), 200)}`
96
- };
97
91
  const cliPath = await resolveBrewIMessageCliPath(brewExe);
98
92
  if (!cliPath) return {
99
93
  ok: false,
100
94
  error: "brew install succeeded but imsg binary was not found."
101
95
  };
102
- let version;
103
- try {
104
- version = (await runPluginCommandWithTimeout({
105
- argv: [cliPath, "--version"],
106
- timeoutMs: 1e4
107
- })).stdout.trim() || void 0;
108
- } catch {}
109
96
  return {
110
97
  ok: true,
111
- cliPath,
112
- version
98
+ cliPath
113
99
  };
114
100
  }
115
- //#endregion
116
- //#region extensions/imessage/src/setup-surface.ts
101
+ // extensions/imessage/src/setup-surface.ts
117
102
  const channel = "imessage";
118
103
  const imessageDetectedBinaryStatus = createDetectedBinaryStatus({
119
104
  channelLabel: "iMessage",
@@ -180,5 +165,4 @@ const imessageSetupWizard = {
180
165
  dmPolicy: imessageDmPolicy,
181
166
  disable: (cfg) => setSetupChannelEnabled(cfg, channel, false)
182
167
  };
183
- //#endregion
184
168
  export { imessageSetupWizard };
@@ -1,7 +1,7 @@
1
1
  import { createAllowedChatSenderMatcher, parseChatTargetPrefixesOrThrow, resolveServicePrefixedChatTarget, resolveServicePrefixedOrChatAllowTarget } from "openclaw/plugin-sdk/channel-targets";
2
2
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution";
4
- //#region extensions/imessage/src/target-identifiers.ts
4
+ // extensions/imessage/src/target-identifiers.ts
5
5
  const BARE_CHAT_IDENTIFIER_RE = /^[0-9a-f]{32}$/i;
6
6
  function isIMessagePhoneLikeHandle(raw) {
7
7
  return /^(?:tel:)?[+\d\s().-]+$/i.test(raw.trim());
@@ -11,8 +11,7 @@ function normalizeBareIMessageChatIdentifier(raw) {
11
11
  if (!BARE_CHAT_IDENTIFIER_RE.test(trimmed)) return;
12
12
  return trimmed.toLowerCase();
13
13
  }
14
- //#endregion
15
- //#region extensions/imessage/src/normalize.ts
14
+ // extensions/imessage/src/normalize.ts
16
15
  const IMESSAGE_SERVICE_PREFIXES = [
17
16
  "imessage",
18
17
  "sms",
@@ -79,8 +78,7 @@ function looksLikeIMessageTargetId(raw) {
79
78
  if (normalizeBareIMessageChatIdentifier(trimmed)) return true;
80
79
  return /^(imessage:|sms:|auto:)/i.test(trimmed) || trimmed.includes("@") || isIMessagePhoneLikeHandle(trimmed) && Boolean(normalizeE164(trimmed));
81
80
  }
82
- //#endregion
83
- //#region extensions/imessage/src/targets.ts
81
+ // extensions/imessage/src/targets.ts
84
82
  function parseServicePrefixedBareChatIdentifier(params) {
85
83
  for (const { prefix } of IMESSAGE_SERVICE_PREFIXES) {
86
84
  if (!params.lower.startsWith(prefix)) continue;
@@ -143,8 +141,11 @@ function looksLikeIMessageExplicitTargetId(raw) {
143
141
  }
144
142
  function inferIMessageTargetChatType(raw) {
145
143
  try {
146
- if (parseIMessageTarget(raw).kind === "handle") return "direct";
147
- return "group";
144
+ const parsed = parseIMessageTarget(raw);
145
+ if (parsed.kind === "handle") return "direct";
146
+ const identifier = parsed.kind === "chat_guid" ? parsed.chatGuid : parsed.kind === "chat_identifier" ? parsed.chatIdentifier : "";
147
+ if (/^(?:imessage|sms|any);[-+];.+$/i.test(identifier)) return identifier.includes(";+;") ? "group" : "direct";
148
+ return;
148
149
  } catch {
149
150
  return;
150
151
  }
@@ -189,5 +190,10 @@ function formatIMessageChatTarget(chatId) {
189
190
  if (!chatId || !Number.isFinite(chatId)) return "";
190
191
  return `chat_id:${chatId}`;
191
192
  }
192
- //#endregion
193
- export { looksLikeIMessageExplicitTargetId as a, parseIMessageTarget as c, normalizeIMessageMessagingTarget as d, isIMessagePhoneLikeHandle as f, isAllowedIMessageSender as i, IMESSAGE_CHAT_TARGET_PREFIX_RE as l, inferIMessageTargetChatType as n, normalizeIMessageHandle as o, isAllowedIMessageReplyContextSender as r, parseIMessageAllowTarget as s, formatIMessageChatTarget as t, looksLikeIMessageTargetId as u };
193
+ function iMessageTargetRpcParams(target) {
194
+ if (target.kind === "chat_id") return { chat_id: target.chatId };
195
+ if (target.kind === "chat_guid") return { chat_guid: target.chatGuid };
196
+ if (target.kind === "chat_identifier") return { chat_identifier: target.chatIdentifier };
197
+ return { to: target.to };
198
+ }
199
+ export { isAllowedIMessageSender as a, parseIMessageAllowTarget as c, looksLikeIMessageTargetId as d, normalizeIMessageMessagingTarget as f, isAllowedIMessageReplyContextSender as i, parseIMessageTarget as l, iMessageTargetRpcParams as n, looksLikeIMessageExplicitTargetId as o, isIMessagePhoneLikeHandle as p, inferIMessageTargetChatType as r, normalizeIMessageHandle as s, formatIMessageChatTarget as t, IMESSAGE_CHAT_TARGET_PREFIX_RE as u };
@@ -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-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"]}
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-C1Ypv3Wn.mjs","sha256":"5348684b7bd48227952801dd9fa406ddb0ae377e157ef913ff0f6f6f285ef787","facadeSource":null,"sources":["extensions/imessage/src/accounts.ts","extensions/imessage/src/cli-path.ts","extensions/imessage/src/remote-host.ts"]},{"output":".setup/actions-qOuKy8To.mjs","sha256":"d9d759e1c328c6fe90326be23b187fbbf3f3d3bbd3d72292e630f3a1913cb609","facadeSource":null,"sources":["extensions/imessage/src/actions.ts","extensions/imessage/src/message-action-reference.ts","extensions/imessage/src/message-guid.ts","extensions/imessage/src/monitor-reply-cache.ts","extensions/imessage/src/persistence-failure.ts","extensions/imessage/src/probe.ts","extensions/imessage/src/runtime.ts","extensions/imessage/src/state-contract.ts"]},{"output":".setup/actions.runtime-Ccg9CARL.mjs","sha256":"5f49e470f08709cabc4e99252e6641acfe69bfd31724abb6102587b886f34fcb","facadeSource":"extensions/imessage/src/actions.runtime.ts","sources":["extensions/imessage/src/actions-transport.ts","extensions/imessage/src/actions.runtime.ts"]},{"output":".setup/api-BXXuQQCS.mjs","sha256":"53bea920a5723924b898362830241739f1c041d09cf1bf7080635e7a0f297a1e","facadeSource":null,"sources":["extensions/imessage/src/channel.setup.ts"]},{"output":".setup/api-DTbxSOPc.mjs","sha256":"58dcc2900f6e01cf027d42b0231eddfa6a6a1f355770f647782c6c7b1315d7b6","facadeSource":"extensions/imessage/api.ts","sources":[]},{"output":".setup/approval-handler.runtime-B6vrFfZx.mjs","sha256":"607f7b5c30fc09b01c5743fa0e4462e596da80620a1b083a0d20b33f66b0142c","facadeSource":"extensions/imessage/src/approval-handler.runtime.ts","sources":["extensions/imessage/src/approval-handler.runtime.ts"]},{"output":".setup/approval-reactions-DBBsqbRC.mjs","sha256":"a3cdad40d3682d7c08e736b6bae8ddcb61ce45033d63f6f8e9ca39b4a5b5d4a5","facadeSource":null,"sources":["extensions/imessage/src/approval-reaction-poll-targets.ts","extensions/imessage/src/approval-reactions.ts","extensions/imessage/src/approval-target-keys.ts","extensions/imessage/src/monitor/reaction-context.ts"]},{"output":".setup/channel-CLaN4mQn.mjs","sha256":"3cf6112d66b57370a699374d141d19d671caf1b7f22fdcd026e83fddb5791a5f","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-XJGx1MIH.mjs","sha256":"331629b0e2f755b8eda1a55f6565f4ade51c5e4261992b2de4c9c7fe961653fb","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/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/chat-context-fTfJVqAi.mjs","sha256":"74ad6e4e6c6c0ccf50a25987bb2c7ec6ff18adf6d55dfcc1c03e38acc8129f24","facadeSource":null,"sources":["extensions/imessage/src/chat-context.ts"]},{"output":".setup/chat-lookup-xtPsOBkl.mjs","sha256":"cb05322b31b0b65b8388fb06253d0c126858cf4a5d8009eeb71f0349743c6242","facadeSource":"extensions/imessage/src/chat-lookup.ts","sources":["extensions/imessage/src/chat-lookup.ts"]},{"output":".setup/client-D_BaG8sC.mjs","sha256":"31c80631d65b37b2720fb54106f2aca3c8b4d3f2c3c9c13e70f8a60258acef00","facadeSource":null,"sources":["extensions/imessage/src/bridge-recovery.ts","extensions/imessage/src/cli-output.ts","extensions/imessage/src/client.ts","extensions/imessage/src/constants.ts","extensions/imessage/src/process-diagnostics.ts"]},{"output":".setup/config-schema-BjkQV5P5.mjs","sha256":"7d20af2d3d949a6370d02f8c8964648a0c8750d992ab8ac5ddc7b73d0af259a7","facadeSource":null,"sources":["extensions/imessage/src/config-schema.ts"]},{"output":".setup/conversation-bindings-8DjxoIYU.mjs","sha256":"53378cae522f21919cddcb0c2e609cf470679d95c23e01279461052b29805ab8","facadeSource":null,"sources":["extensions/imessage/src/conversation-bindings.ts"]},{"output":".setup/media-contract-BErFBKV9.mjs","sha256":"d2fad4cac6fe8ccb4d8b956747b83ac49ffb9e93853f3c16b3e6d7348e482ccf","facadeSource":null,"sources":["extensions/imessage/src/media-contract.ts"]},{"output":".setup/message-tool-api-DtZ1wKbT.mjs","sha256":"801ceb5b2a6a9aa8582de81373e1154c017b9c68f040590026f825abc9ccee49","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-_da8jqeo.mjs","sha256":"0635bb28f7b137bbf61e085d3470d925c60d6057c0a4e67282546a70d2ec6341","facadeSource":null,"sources":["extensions/imessage/src/outbound-send-deps.ts"]},{"output":".setup/remote-file-DpK3GQFD.mjs","sha256":"66ba039966bcee9c6548d217de01890bfeb520752b95c2174b194ac433a66aab","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-782esTHO.mjs","sha256":"5ee95aea427a7c3b63d18f4d901f7c824b836077e85aee06ae7d598c1974e2a6","facadeSource":null,"sources":[]},{"output":".setup/sanitize-outbound-Dhjhz0a-.mjs","sha256":"95abecb11bdfb27953ea6a1e9e39e53fd6b872742ad24a8e12f84b618a359a7d","facadeSource":null,"sources":["extensions/imessage/src/markdown-format.ts","extensions/imessage/src/monitor/sanitize-outbound.ts"]},{"output":".setup/send-DhEW0gfe.mjs","sha256":"fe99723226168c829714bb22599c2d05a19b3e996349b3b53bc2ff4e7a2307c3","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-B1_P_t4T.mjs","sha256":"817f8646f06df175a9d53ef184a1d8a52800d2a8f4e58a26b9ca75dd3b50aa6a","facadeSource":null,"sources":["extensions/imessage/src/setup-core.ts"]},{"output":".setup/setup-surface-CD28mXWK.mjs","sha256":"f1252e92455d1f111311536d42e9c1b43bd5ecdc1bee0f0af4821c05572ec57d","facadeSource":"extensions/imessage/src/setup-surface.ts","sources":["extensions/imessage/src/install-imsg.ts","extensions/imessage/src/setup-surface.ts"]},{"output":".setup/targets-C7CIWJ0k.mjs","sha256":"d8c0c1bf41f07a98ffd113ad1de1fc4f873075eba6c58ae8b74640d9af2278aa","facadeSource":null,"sources":["extensions/imessage/src/normalize.ts","extensions/imessage/src/target-identifiers.ts","extensions/imessage/src/targets.ts"]},{"output":"api.js","sha256":"03b16f792a3bc73533a26519088a0b4190d05067f08cd67e0b89c62ddeccc8a5","facadeSource":"extensions/imessage/api.ts","sources":[]},{"output":"channel-config-api.js","sha256":"2d6b2a7d6d5c87b569dd485730e4f1ef7e3393645ea183acae598cdad80e6c30","facadeSource":"extensions/imessage/channel-config-api.ts","sources":[]},{"output":"channel-plugin-api.js","sha256":"b28a5974f37b686e32895b61857594dc4760efb8a8ac7c96fc3070d66f9ca508","facadeSource":"extensions/imessage/channel-plugin-api.ts","sources":[]},{"output":"contract-api.js","sha256":"6c6d1ad635b8129db0d9db360d6cfa0b962e3d67892bbb20de378db99d4dcab3","facadeSource":"extensions/imessage/contract-api.ts","sources":[]},{"output":"doctor-contract-api.js","sha256":"a9cbc5e727b821983de78d1bdf9b863859b14c86a1c6b8f70fd7b05b9547f36a","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":"e3fcf6fd886eaf196d9e38f504ba3cbc46345d5c21c86c1090dea834b3020ce4","facadeSource":"extensions/imessage/index.ts","sources":["extensions/imessage/index.ts"]},{"output":"media-contract-api.js","sha256":"893382965120344a612575189cd08ffa5a021f1a345c9d4e96c1d2e8e22332c5","facadeSource":"extensions/imessage/media-contract-api.ts","sources":[]},{"output":"message-tool-api.js","sha256":"28c4c0f3612e1aa899b100997f7fed7898f50c0f9d6b9d2145bfebc412d547a7","facadeSource":"extensions/imessage/message-tool-api.ts","sources":[]},{"output":"runtime-api.js","sha256":"e82084d4c478e4fa9d0942dc2bd05aef5c3a9cc6aefed8c6ffb5c5ef2ec19334","facadeSource":"extensions/imessage/runtime-api.ts","sources":[]},{"output":"secret-contract-api.js","sha256":"5a5d910629d837d8176ce71f084a37ea874acef6d27935d5a8ec2d9d855a83db","facadeSource":"extensions/imessage/secret-contract-api.ts","sources":["extensions/imessage/secret-contract-api.ts"]},{"output":"session-binding-contract-api.js","sha256":"ee6a8d03e2272b04d1a71d825ed19758b2ebabaacae5ec1afa32aa2613eb0986","facadeSource":"extensions/imessage/session-binding-contract-api.ts","sources":[]},{"output":"setup-entry.js","sha256":"a84e6b5887f21a08fef4149f9f0b737e408de73d2ac83cabf9c2f14102751efd","facadeSource":"extensions/imessage/setup-entry.ts","sources":["extensions/imessage/setup-entry.ts"]},{"output":"src/chat-db.worker.js","sha256":"2796c8742ae30e289c310f1bfaf9dd6afca6d7b61f4e45249dbf79b62e9063a9","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"]}
package/dist/api.js CHANGED
@@ -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 "./.setup/targets-B4oU7n-v.mjs";
2
- import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, r as listEnabledIMessageAccounts } from "./.setup/accounts-DacCvDBt.mjs";
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-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
- 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-Deyo8NDs.mjs";
9
- import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./.setup/outbound-send-deps-B-QEsLSM.mjs";
1
+ import { a as isAllowedIMessageSender, c as parseIMessageAllowTarget, d as looksLikeIMessageTargetId, f as normalizeIMessageMessagingTarget, l as parseIMessageTarget, o as looksLikeIMessageExplicitTargetId, r as inferIMessageTargetChatType, s as normalizeIMessageHandle, t as formatIMessageChatTarget } from "./.setup/targets-C7CIWJ0k.mjs";
2
+ import { a as resolveDefaultIMessageAccountId, i as listIMessageAccountIds, o as resolveIMessageAccount, r as listEnabledIMessageAccounts } from "./.setup/accounts-C1Ypv3Wn.mjs";
3
+ import { o as IMESSAGE_ACTIONS, s as IMESSAGE_ACTION_NAMES } from "./.setup/message-tool-api-DtZ1wKbT.mjs";
4
+ import { a as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS } from "./.setup/client-D_BaG8sC.mjs";
5
+ import { n as probeIMessage } from "./.setup/actions-qOuKy8To.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-CLaN4mQn.mjs";
7
+ import { n as createIMessageConversationBindingManagerV2, t as createIMessageConversationBindingManager } from "./.setup/conversation-bindings-8DjxoIYU.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-BXXuQQCS.mjs";
9
+ import { t as IMESSAGE_LEGACY_OUTBOUND_SEND_DEP_KEYS } from "./.setup/outbound-send-deps-_da8jqeo.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 IMessageChannelConfigSchema } from "./.setup/config-schema-DXwa_3V5.mjs";
1
+ export { t as IMessageChannelConfigSchema } from "./.setup/config-schema-BjkQV5P5.mjs";
@@ -1 +1 @@
1
- export { t as imessagePlugin } from "./.setup/channel-C61YdcZR.mjs";
1
+ export { t as imessagePlugin } from "./.setup/channel-CLaN4mQn.mjs";
@@ -1,2 +1,2 @@
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
+ export { t as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, n as resolveIMessageAttachmentRoots, n as resolveInboundAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots, r as resolveRemoteInboundAttachmentRoots } from "./.setup/media-contract-BErFBKV9.mjs";
2
2
  import "./media-contract-api.js";
@@ -1,7 +1,7 @@
1
- import { n as __reExport, t as __exportAll } from "./.setup/rolldown-runtime-BBjsoOtd.mjs";
1
+ import { n as __reExport, t as __exportAll } from "./.setup/rolldown-runtime-782esTHO.mjs";
2
2
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import path from "node:path";
4
- //#region packages/normalization-core/src/record-coerce.ts
4
+ // packages/normalization-core/src/record-coerce.ts
5
5
  /** Type guard for non-array object records at browser-safe boundaries. */
6
6
  function isRecord$1(value) {
7
7
  return value !== null && typeof value === "object" && !Array.isArray(value);
@@ -10,8 +10,7 @@ function isRecord$1(value) {
10
10
  function asNullableRecord$1(value) {
11
11
  return isRecord$1(value) ? value : null;
12
12
  }
13
- //#endregion
14
- //#region src/config/channel-config-normalization.ts
13
+ // src/config/channel-config-normalization.ts
15
14
  /** Applies one channel-specific doctor migration to every object-shaped account. */
16
15
  function normalizeChannelAccounts(params) {
17
16
  const rawAccounts = asNullableRecord$1(params.entry.accounts);
@@ -87,8 +86,7 @@ function normalizeChannelConfigEntries$1(params) {
87
86
  changes
88
87
  };
89
88
  }
90
- //#endregion
91
- //#region src/plugin-sdk/legacy-webhook-listener-migration.ts
89
+ // src/plugin-sdk/legacy-webhook-listener-migration.ts
92
90
  /** Preserve explicitly configured webhook listeners while moving ingress onto Gateway routes. */
93
91
  function createLegacyWebhookListenerDoctorContract(params) {
94
92
  const portKey = params.portKey ?? "webhookPort";
@@ -158,13 +156,11 @@ function createLegacyWebhookListenerDoctorContract(params) {
158
156
  }
159
157
  };
160
158
  }
161
- //#endregion
162
- //#region \0openclaw:bundled-sdk:openclaw/plugin-sdk/runtime-doctor-migrations
159
+ // \0openclaw:bundled-sdk:openclaw/plugin-sdk/runtime-doctor-migrations
163
160
  var runtime_doctor_migrations_exports = /* @__PURE__ */ __exportAll({ createLegacyWebhookListenerDoctorContract: () => createLegacyWebhookListenerDoctorContract });
164
161
  import * as import_openclaw_plugin_sdk_runtime_doctor_migrations from "openclaw/plugin-sdk/runtime-doctor-migrations";
165
162
  __reExport(runtime_doctor_migrations_exports, import_openclaw_plugin_sdk_runtime_doctor_migrations);
166
- //#endregion
167
- //#region extensions/imessage/config-doctor-api.ts
163
+ // extensions/imessage/config-doctor-api.ts
168
164
  function isEnabledCatchup(value) {
169
165
  return isRecord(value) && value.enabled === true;
170
166
  }
@@ -210,8 +206,7 @@ function normalizeCompatibilityConfig({ cfg }) {
210
206
  changes: catchup.changes
211
207
  });
212
208
  }
213
- //#endregion
214
- //#region extensions/imessage/doctor-contract-api.ts
209
+ // extensions/imessage/doctor-contract-api.ts
215
210
  const stateMigrations = [(0, runtime_doctor_migrations_exports.defineRetiredPluginStateMigration)({
216
211
  id: "imessage-retired-state",
217
212
  label: "iMessage retired monitor state",
@@ -225,5 +220,4 @@ const stateMigrations = [(0, runtime_doctor_migrations_exports.defineRetiredPlug
225
220
  }
226
221
  ]
227
222
  })];
228
- //#endregion
229
223
  export { legacyConfigRules, normalizeCompatibilityConfig, stateMigrations };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
- //#region extensions/imessage/index.ts
2
+ // extensions/imessage/index.ts
3
3
  var imessage_default = defineBundledChannelEntry({
4
4
  id: "imessage",
5
5
  name: "iMessage",
@@ -14,5 +14,4 @@ var imessage_default = defineBundledChannelEntry({
14
14
  exportName: "setIMessageRuntime"
15
15
  }
16
16
  });
17
- //#endregion
18
17
  export { imessage_default as default };
@@ -1 +1 @@
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
+ export { t as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, n as resolveIMessageAttachmentRoots, n as resolveInboundAttachmentRoots, r as resolveIMessageRemoteAttachmentRoots, r as resolveRemoteInboundAttachmentRoots } from "./.setup/media-contract-BErFBKV9.mjs";
@@ -1 +1 @@
1
- export { t as describeMessageTool } from "./.setup/message-tool-api-B5NfPnFL.mjs";
1
+ export { t as describeMessageTool } from "./.setup/message-tool-api-DtZ1wKbT.mjs";
@@ -1,3 +1 @@
1
- import { t as imessageMessageActions } from "./.setup/actions-762Azi-J.mjs";
2
- import { r as setIMessageRuntime } from "./.setup/runtime-Cza4CY5T.mjs";
3
- export { imessageMessageActions, setIMessageRuntime };
1
+ export { t as imessageMessageActions, _ as setIMessageRuntime } from "./.setup/actions-qOuKy8To.mjs";
@@ -1,5 +1,4 @@
1
- //#region extensions/imessage/secret-contract-api.ts
1
+ // extensions/imessage/secret-contract-api.ts
2
2
  const secretTargetRegistryEntries = [];
3
3
  function collectRuntimeConfigAssignments() {}
4
- //#endregion
5
4
  export { collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1 +1 @@
1
- export { n as createIMessageConversationBindingManagerV2, r as imessageConversationBindingTesting } from "./.setup/conversation-bindings-DR-dbHjs.mjs";
1
+ export { n as createIMessageConversationBindingManagerV2 } from "./.setup/conversation-bindings-8DjxoIYU.mjs";
@@ -1,12 +1,11 @@
1
1
  import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
2
  import { fileURLToPath } from "node:url";
3
- //#region extensions/imessage/setup-entry.ts
3
+ // extensions/imessage/setup-entry.ts
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/api-BFGXDHiC.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/api-DTbxSOPc.mjs", import.meta.url).href),
8
8
  exportName: "imessageSetupPlugin"
9
9
  }
10
10
  });
11
- //#endregion
12
11
  export { setup_entry_default as default };
@@ -1,6 +1,6 @@
1
- import { o as normalizeIMessageHandle } from "../.setup/targets-B4oU7n-v.mjs";
1
+ import { s as normalizeIMessageHandle } from "../.setup/targets-C7CIWJ0k.mjs";
2
2
  import { executeSqliteQuerySync, executeSqliteQueryTakeFirstSync, getNodeSqliteKysely, openNodeSqliteDatabase } from "openclaw/plugin-sdk/sqlite-worker-runtime";
3
- //#region extensions/imessage/src/chat-db.worker.ts
3
+ // extensions/imessage/src/chat-db.worker.ts
4
4
  function appleMessageDateLowerBoundMs(sentAfterMs) {
5
5
  if (typeof sentAfterMs !== "number" || !Number.isFinite(sentAfterMs)) return null;
6
6
  return Math.max(0, Math.floor((sentAfterMs - 9783072e5 - 5e3) * 1e6));
@@ -41,5 +41,4 @@ function openExistingSqliteWorkerBackend(_input, context) {
41
41
  }
42
42
  };
43
43
  }
44
- //#endregion
45
44
  export { openExistingSqliteWorkerBackend };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a valid ISO-8601 duration.
3
- * @specification https://tools.ietf.org/html/rfc3339
2
+ * Returns true if the value is a valid duration.
3
+ * @specification https://www.rfc-editor.org/rfc/rfc3339.html#appendix-A
4
4
  */
5
5
  export declare function IsDuration(value: string): boolean;
@@ -1,7 +1,7 @@
1
1
  const Duration = /^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/;
2
2
  /**
3
- * Returns true if the value is a valid ISO-8601 duration.
4
- * @specification https://tools.ietf.org/html/rfc3339
3
+ * Returns true if the value is a valid duration.
4
+ * @specification https://www.rfc-editor.org/rfc/rfc3339.html#appendix-A
5
5
  */
6
6
  export function IsDuration(value) {
7
7
  return Duration.test(value);
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Returns true if the value is an IdnEmail
3
3
  * @specification https://datatracker.ietf.org/doc/html/rfc4952
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc6531
4
5
  */
5
6
  export declare function IsIdnEmail(value: string): boolean;
@@ -2,6 +2,7 @@ const IdnEmail = /^(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+(?:\.[A
2
2
  /**
3
3
  * Returns true if the value is an IdnEmail
4
4
  * @specification https://datatracker.ietf.org/doc/html/rfc4952
5
+ * @specification https://datatracker.ietf.org/doc/html/rfc6531
5
6
  */
6
7
  export function IsIdnEmail(value) {
7
8
  return IdnEmail.test(value.normalize('NFC'));
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Returns true if the value is a valid internationalized (IDN) hostname.
3
- * @specification https://tools.ietf.org/html/rfc3490
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc5890
4
4
  * @specification https://tools.ietf.org/html/rfc5891
5
5
  * @specification https://tools.ietf.org/html/rfc5892
6
6
  * @specification https://tools.ietf.org/html/rfc5893
@@ -1,7 +1,7 @@
1
1
  import * as Idna from './idna/index.mjs';
2
2
  /**
3
3
  * Returns true if the value is a valid internationalized (IDN) hostname.
4
- * @specification https://tools.ietf.org/html/rfc3490
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc5890
5
5
  * @specification https://tools.ietf.org/html/rfc5891
6
6
  * @specification https://tools.ietf.org/html/rfc5892
7
7
  * @specification https://tools.ietf.org/html/rfc5893
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a IPV4 address
3
- * @specification http://tools.ietf.org/html/rfc2673#section-3.2
2
+ * Returns true if the value is an IPv4 address
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2
4
4
  */
5
5
  export declare function IsIPv4(value: string): boolean;
@@ -1,7 +1,7 @@
1
1
  const IPv4 = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
2
2
  /**
3
- * Returns true if the value is a IPV4 address
4
- * @specification http://tools.ietf.org/html/rfc2673#section-3.2
3
+ * Returns true if the value is an IPv4 address
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2
5
5
  */
6
6
  export function IsIPv4(value) {
7
7
  return IPv4.test(value);
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Returns true if the value is an IPv6 address
3
- * @specification http://tools.ietf.org/html/rfc2373#section-2.2
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc4291#section-2.2
4
4
  */
5
5
  export declare function IsIPv6(value: string): boolean;
@@ -1,7 +1,7 @@
1
1
  const IPv6 = /^(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:)?[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)$/i;
2
2
  /**
3
3
  * Returns true if the value is an IPv6 address
4
- * @specification http://tools.ietf.org/html/rfc2373#section-2.2
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc4291#section-2.2
5
5
  */
6
6
  export function IsIPv6(value) {
7
7
  return IPv6.test(value);
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Returns true if the value is a relative json pointer
3
- * @specification https://datatracker.ietf.org/doc/html/rfc6901
2
+ * Returns true if the value is a relative JSON Pointer
3
+ * @specification https://datatracker.ietf.org/doc/html/draft-handrews-relative-json-pointer/
4
4
  * @source https://github.com/ajv-validator/ajv-formats
5
5
  */
6
6
  export declare function IsRelativeJsonPointer(value: string): boolean;
@@ -1,7 +1,7 @@
1
1
  const RelativeJsonPointer = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;
2
2
  /**
3
- * Returns true if the value is a relative json pointer
4
- * @specification https://datatracker.ietf.org/doc/html/rfc6901
3
+ * Returns true if the value is a relative JSON Pointer
4
+ * @specification https://datatracker.ietf.org/doc/html/draft-handrews-relative-json-pointer/
5
5
  * @source https://github.com/ajv-validator/ajv-formats
6
6
  */
7
7
  export function IsRelativeJsonPointer(value) {
@@ -106,6 +106,7 @@ export function Build(...args) {
106
106
  2: (context, schema) => [context, schema],
107
107
  1: (schema) => [{}, schema]
108
108
  });
109
+ Engine.ResetUnique();
109
110
  Engine.ResetExternal();
110
111
  Engine.ResetFunctions();
111
112
  const stack = Engine.Stack(context, schema);
@@ -1,2 +1,4 @@
1
- /** Returns a Unique Variable Name */
2
- export declare function Unique(): string;
1
+ /** Creates a unique variable name */
2
+ export declare function CreateUnique(): string;
3
+ /** Resets the unique variable name counter */
4
+ export declare function ResetUnique(): void;
@@ -1,5 +1,9 @@
1
1
  let index = 0;
2
- /** Returns a Unique Variable Name */
3
- export function Unique() {
4
- return `var_${index++}`;
2
+ /** Creates a unique variable name */
3
+ export function CreateUnique() {
4
+ return `unique_${index++}`;
5
+ }
6
+ /** Resets the unique variable name counter */
7
+ export function ResetUnique() {
8
+ index = 0;
5
9
  }
@@ -1,6 +1,6 @@
1
1
  // deno-fmt-ignore-file
2
2
  import * as Schema from '../types/index.mjs';
3
- import { Unique } from './_unique.mjs';
3
+ import * as Unique from './_unique.mjs';
4
4
  import { Guard as G, EmitGuard as E } from '../../guard/index.mjs';
5
5
  import { BuildSchemaPushStack, CheckSchemaPushStack, ErrorSchemaPushStack } from './schema.mjs';
6
6
  // ------------------------------------------------------------------
@@ -13,14 +13,14 @@ function IsValid(schema) {
13
13
  // Build
14
14
  // ------------------------------------------------------------------
15
15
  function BuildAdditionalItemsStandard(stack, context, schema, value) {
16
- const [item, index] = [Unique(), Unique()];
16
+ const [item, index] = [Unique.CreateUnique(), Unique.CreateUnique()];
17
17
  const isSchema = BuildSchemaPushStack(stack, context, schema.additionalItems, item);
18
18
  const isLength = E.IsLessThan(index, E.Constant(schema.items.length));
19
19
  const addIndex = context.AddIndex(index);
20
20
  return E.Every(value, E.Constant(0), [item, index], E.Or(isLength, E.And(isSchema, addIndex)));
21
21
  }
22
22
  function BuildAdditionalItemsFast(stack, context, schema, value) {
23
- const [item, index] = [Unique(), Unique()];
23
+ const [item, index] = [Unique.CreateUnique(), Unique.CreateUnique()];
24
24
  const isSchema = BuildSchemaPushStack(stack, context, schema.additionalItems, item);
25
25
  const isLength = E.IsLessThan(index, E.Constant(schema.items.length));
26
26
  return E.Every(value, E.Constant(0), [item, index], E.Or(isLength, isSchema));
@@ -1,9 +1,6 @@
1
1
  import * as Schema from '../types/index.mjs';
2
2
  import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function CanAdditionalPropertiesFast(_context: BuildContext, schema: Schema.XAdditionalProperties, _value: string): schema is Schema.XAdditionalProperties & Schema.XRequired;
5
- export declare function BuildAdditionalPropertiesFast(_context: BuildContext, schema: Schema.XAdditionalProperties & Schema.XRequired, value: string): string;
6
- export declare function BuildAdditionalPropertiesStandard(stack: Stack.XStack, context: BuildContext, schema: Schema.XAdditionalProperties, value: string): string;
7
4
  export declare function BuildAdditionalProperties(stack: Stack.XStack, context: BuildContext, schema: Schema.XAdditionalProperties, value: string): string;
8
5
  export declare function CheckAdditionalProperties(stack: Stack.XStack, context: CheckContext, schema: Schema.XAdditionalProperties, value: Record<PropertyKey, unknown>): boolean;
9
6
  export declare function ErrorAdditionalProperties(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAdditionalProperties, value: Record<PropertyKey, unknown>): boolean;