@mulmoclaude/core 4.8.0 → 4.9.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 (93) hide show
  1. package/assets/helps/bug-report-faq.md +12 -0
  2. package/assets/helps/custom-view.md +1 -1
  3. package/assets/helps/error-recovery.md +234 -26
  4. package/assets/helps/index.md +1 -1
  5. package/assets/helps/sandbox.md +2 -2
  6. package/assets/helps/telegram.md +10 -4
  7. package/dist/collection/index.cjs +3 -2
  8. package/dist/collection/index.cjs.map +1 -1
  9. package/dist/collection/index.js +3 -2
  10. package/dist/collection/index.js.map +1 -1
  11. package/dist/collection/registry/server/index.cjs +3 -3
  12. package/dist/collection/registry/server/index.js +3 -3
  13. package/dist/collection/server/index.cjs +2 -2
  14. package/dist/collection/server/index.js +2 -2
  15. package/dist/collection-watchers/index.cjs +4 -4
  16. package/dist/collection-watchers/index.js +4 -4
  17. package/dist/{discovery-BY-nMCuh.js → discovery-BkIKvdh0.js} +3 -3
  18. package/dist/{discovery-BY-nMCuh.js.map → discovery-BkIKvdh0.js.map} +1 -1
  19. package/dist/{discovery-2TvulIz8.cjs → discovery-tvFo-bUJ.cjs} +3 -3
  20. package/dist/{discovery-2TvulIz8.cjs.map → discovery-tvFo-bUJ.cjs.map} +1 -1
  21. package/dist/{dist-D8zokgGo.js → dist-BzoA9pDR.js} +6 -1
  22. package/dist/dist-BzoA9pDR.js.map +1 -0
  23. package/dist/{dist-CsgSfWwR.cjs → dist-Gj7ygaW2.cjs} +6 -1
  24. package/dist/dist-Gj7ygaW2.cjs.map +1 -0
  25. package/dist/errorMessage-BQNpSYdT.js +1 -0
  26. package/dist/errorMessage-CT-va_Pv.cjs +1 -0
  27. package/dist/errors-C7TI_t_4.js +10 -0
  28. package/dist/errors-C7TI_t_4.js.map +1 -0
  29. package/dist/errors-CdXsfFCF.cjs +15 -0
  30. package/dist/errors-CdXsfFCF.cjs.map +1 -0
  31. package/dist/feeds/server/index.cjs +4 -4
  32. package/dist/feeds/server/index.js +4 -4
  33. package/dist/google/index.cjs +3 -2
  34. package/dist/google/index.cjs.map +1 -1
  35. package/dist/google/index.js +3 -2
  36. package/dist/google/index.js.map +1 -1
  37. package/dist/{listen-UZA68Upt.cjs → listen-BXthb-9C.cjs} +2 -2
  38. package/dist/{listen-UZA68Upt.cjs.map → listen-BXthb-9C.cjs.map} +1 -1
  39. package/dist/{listen-D5av7GzB.js → listen-Dca-NoBi.js} +2 -2
  40. package/dist/{listen-D5av7GzB.js.map → listen-Dca-NoBi.js.map} +1 -1
  41. package/dist/notifier/index.cjs +1 -1
  42. package/dist/notifier/index.js +1 -1
  43. package/dist/notifier/types.d.ts +20 -11
  44. package/dist/{notifier-DZJj0sOh.cjs → notifier-B65Mvngb.cjs} +12 -7
  45. package/dist/notifier-B65Mvngb.cjs.map +1 -0
  46. package/dist/{notifier-DhnwR82U.js → notifier-vAp5t6wL.js} +12 -7
  47. package/dist/notifier-vAp5t6wL.js.map +1 -0
  48. package/dist/plugin-vue/index.cjs +31 -12
  49. package/dist/plugin-vue/index.cjs.map +1 -1
  50. package/dist/plugin-vue/index.js +31 -12
  51. package/dist/plugin-vue/index.js.map +1 -1
  52. package/dist/{promptSafety-Bte62OvU.js → promptSafety-BpBTh5xO.js} +2 -2
  53. package/dist/{promptSafety-Bte62OvU.js.map → promptSafety-BpBTh5xO.js.map} +1 -1
  54. package/dist/{promptSafety-Cv-SoTd4.cjs → promptSafety-caJWd1ZQ.cjs} +2 -2
  55. package/dist/{promptSafety-Cv-SoTd4.cjs.map → promptSafety-caJWd1ZQ.cjs.map} +1 -1
  56. package/dist/remote-host/index.cjs +1 -1
  57. package/dist/remote-host/index.js +1 -1
  58. package/dist/remote-host/server/index.cjs +30 -7
  59. package/dist/remote-host/server/index.cjs.map +1 -1
  60. package/dist/remote-host/server/index.js +30 -7
  61. package/dist/remote-host/server/index.js.map +1 -1
  62. package/dist/remote-host/server/sessionPersistence.d.ts +7 -2
  63. package/dist/{remote-host-CFnl1I-L.js → remote-host-Cjox2F2J.js} +2 -2
  64. package/dist/{remote-host-CFnl1I-L.js.map → remote-host-Cjox2F2J.js.map} +1 -1
  65. package/dist/{remote-host-EQPlccB9.cjs → remote-host-DhAHBYzN.cjs} +2 -2
  66. package/dist/{remote-host-EQPlccB9.cjs.map → remote-host-DhAHBYzN.cjs.map} +1 -1
  67. package/dist/remote-view/index.cjs +1 -1
  68. package/dist/remote-view/index.js +1 -1
  69. package/dist/scheduler/index.cjs +2 -1
  70. package/dist/scheduler/index.cjs.map +1 -1
  71. package/dist/scheduler/index.js +2 -1
  72. package/dist/scheduler/index.js.map +1 -1
  73. package/dist/{server-DXUt34Rt.cjs → server-Div1i_k5.cjs} +5 -4
  74. package/dist/{server-DXUt34Rt.cjs.map → server-Div1i_k5.cjs.map} +1 -1
  75. package/dist/{server-DyYwfNB6.js → server-Dk9x1VLG.js} +5 -4
  76. package/dist/{server-DyYwfNB6.js.map → server-Dk9x1VLG.js.map} +1 -1
  77. package/dist/utils/index.cjs +3 -10
  78. package/dist/utils/index.js +2 -9
  79. package/dist/whisper/index.cjs +2 -1
  80. package/dist/whisper/index.cjs.map +1 -1
  81. package/dist/whisper/index.js +2 -1
  82. package/dist/whisper/index.js.map +1 -1
  83. package/dist/wiki/index.cjs +1 -1
  84. package/dist/wiki/index.js +1 -1
  85. package/dist/workspace-setup/index.js +5 -0
  86. package/dist/workspace-setup/index.js.map +1 -1
  87. package/package.json +7 -7
  88. package/dist/dist-CsgSfWwR.cjs.map +0 -1
  89. package/dist/dist-D8zokgGo.js.map +0 -1
  90. package/dist/notifier-DZJj0sOh.cjs.map +0 -1
  91. package/dist/notifier-DhnwR82U.js.map +0 -1
  92. package/dist/utils/index.cjs.map +0 -1
  93. package/dist/utils/index.js.map +0 -1
@@ -137,7 +137,7 @@ IconGlyph.props = {
137
137
  };
138
138
  //#endregion
139
139
  //#region ../../node_modules/dompurify/dist/purify.es.mjs
140
- /*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */
140
+ /*! @license DOMPurify 3.4.15 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.15/LICENSE */
141
141
  function _arrayLikeToArray(r, a) {
142
142
  (null == a || a > r.length) && (a = r.length);
143
143
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
@@ -1132,7 +1132,7 @@ var _resolveObjectOption = function _resolveObjectOption(cfg, key, makeFallback)
1132
1132
  function createDOMPurify() {
1133
1133
  let window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
1134
1134
  const DOMPurify = (root) => createDOMPurify(root);
1135
- DOMPurify.version = "3.4.14";
1135
+ DOMPurify.version = "3.4.15";
1136
1136
  DOMPurify.removed = [];
1137
1137
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
1138
1138
  DOMPurify.isSupported = false;
@@ -1149,6 +1149,7 @@ function createDOMPurify() {
1149
1149
  const ElementPrototype = Element.prototype;
1150
1150
  const cloneNode = lookupGetter(ElementPrototype, "cloneNode");
1151
1151
  const remove = lookupGetter(ElementPrototype, "remove");
1152
+ const removeAttributeNode = lookupGetter(ElementPrototype, "removeAttributeNode");
1152
1153
  const getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
1153
1154
  const getChildNodes = lookupGetter(ElementPrototype, "childNodes");
1154
1155
  const getParentNode = lookupGetter(ElementPrototype, "parentNode");
@@ -1603,7 +1604,7 @@ function createDOMPurify() {
1603
1604
  */
1604
1605
  const _stripAttributeNode = function _stripAttributeNode(element, attribute, name) {
1605
1606
  try {
1606
- element.removeAttributeNode(attribute);
1607
+ removeAttributeNode(element, attribute);
1607
1608
  } catch (_) {
1608
1609
  try {
1609
1610
  element.removeAttribute(name);
@@ -1676,7 +1677,7 @@ function createDOMPurify() {
1676
1677
  from: element
1677
1678
  });
1678
1679
  try {
1679
- if (attr) element.removeAttributeNode(attr);
1680
+ if (attr) removeAttributeNode(element, attr);
1680
1681
  else element.removeAttribute(name);
1681
1682
  } catch (_) {
1682
1683
  try {
@@ -1922,7 +1923,7 @@ function createDOMPurify() {
1922
1923
  const realTagName = getNodeName ? getNodeName(element) : null;
1923
1924
  if (typeof realTagName !== "string") return false;
1924
1925
  if (transformCaseFunc(realTagName) !== "form") return false;
1925
- return typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || element.attributes !== getAttributes(element) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function" || element.nodeType !== getNodeType(element) || element.childNodes !== getChildNodes(element);
1926
+ return typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || element.attributes !== getAttributes(element) || typeof element.removeAttribute !== "function" || typeof element.removeAttributeNode !== "function" || typeof element.getAttributeNode !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function" || element.nodeType !== getNodeType(element) || element.childNodes !== getChildNodes(element);
1926
1927
  };
1927
1928
  /**
1928
1929
  * Checks whether the given value is a DocumentFragment from any realm.
@@ -2207,24 +2208,38 @@ function createDOMPurify() {
2207
2208
  /**
2208
2209
  * Write a modified attribute value back onto the element. On
2209
2210
  * success, re-probe for clobbering introduced by the new value and
2210
- * remove the element when found; otherwise pop the removal entry
2211
- * recorded by the earlier _removeAttribute (long-standing pairing
2212
- * with the SANITIZE_NAMED_PROPS path - do not "fix" casually). On
2211
+ * remove the element when found; otherwise, when this writeback is the
2212
+ * recreate half of the SANITIZE_NAMED_PROPS remove-and-recreate, pop the
2213
+ * removal entry that path recorded so it does not show as removed. On
2213
2214
  * failure, remove the attribute instead.
2214
2215
  *
2216
+ * Returns true only on a clean write (the value was set and the new value
2217
+ * introduced no clobbering). The caller uses that, together with its own
2218
+ * knowledge of whether this attribute pushed a DOMPurify.removed record, to
2219
+ * decide whether to pop that record. The pop must happen ONLY for the
2220
+ * named-prop remove-and-recreate; popping on any other value change (trim,
2221
+ * template scrubbing, Trusted Types) would consume an unrelated _forceRemove
2222
+ * subtree-cleanup record and let that detached subtree keep a live event
2223
+ * handler through the IN_PLACE neutralization pass (SO-001).
2224
+ *
2215
2225
  * @param currentNode the element carrying the attribute
2216
2226
  * @param name the attribute name as present on the element
2217
2227
  * @param namespaceURI the attribute's namespace, if any
2218
2228
  * @param value the new attribute value
2229
+ * @return true if the value was written without introducing clobbering
2219
2230
  */
2220
2231
  const _setAttributeValue = function _setAttributeValue(currentNode, name, namespaceURI, value) {
2221
2232
  try {
2222
2233
  if (namespaceURI) currentNode.setAttributeNS(namespaceURI, name, value);
2223
2234
  else currentNode.setAttribute(name, value);
2224
- if (_isClobbered(currentNode)) _forceRemove(currentNode);
2225
- else arrayPop(DOMPurify.removed);
2235
+ if (_isClobbered(currentNode)) {
2236
+ _forceRemove(currentNode);
2237
+ return false;
2238
+ }
2239
+ return true;
2226
2240
  } catch (_) {
2227
2241
  _removeAttribute(name, currentNode);
2242
+ return false;
2228
2243
  }
2229
2244
  };
2230
2245
  /**
@@ -2257,6 +2272,7 @@ function createDOMPurify() {
2257
2272
  const lcName = transformCaseFunc(name);
2258
2273
  const initValue = attrValue;
2259
2274
  let value = name === "value" ? initValue : stringTrim(initValue);
2275
+ let recreatedNamedProp = false;
2260
2276
  hookEvent.attrName = lcName;
2261
2277
  hookEvent.attrValue = value;
2262
2278
  hookEvent.keepAttr = true;
@@ -2266,6 +2282,7 @@ function createDOMPurify() {
2266
2282
  if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name") && stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0) {
2267
2283
  _removeAttribute(name, currentNode, attr);
2268
2284
  value = SANITIZE_NAMED_PROPS_PREFIX + value;
2285
+ recreatedNamedProp = true;
2269
2286
  }
2270
2287
  if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
2271
2288
  _removeAttribute(name, currentNode, attr);
@@ -2290,7 +2307,9 @@ function createDOMPurify() {
2290
2307
  continue;
2291
2308
  }
2292
2309
  value = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);
2293
- if (value !== initValue) _setAttributeValue(currentNode, name, namespaceURI, value);
2310
+ if (value !== initValue) {
2311
+ if (_setAttributeValue(currentNode, name, namespaceURI, value) && recreatedNamedProp) arrayPop(DOMPurify.removed);
2312
+ }
2294
2313
  }
2295
2314
  _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
2296
2315
  };
@@ -2424,7 +2443,7 @@ function createDOMPurify() {
2424
2443
  if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") body = importedNode;
2425
2444
  else if (importedNode.nodeName === "HTML") body = importedNode;
2426
2445
  else body.appendChild(importedNode);
2427
- _sanitizeAttachedShadowRoots(importedNode);
2446
+ _sanitizeAttachedShadowRoots(body);
2428
2447
  } else {
2429
2448
  if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;
2430
2449
  body = _initDocument(dirty);