@mulmoclaude/core 4.7.0 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/helps/custom-view.md +1 -1
- package/assets/helps/error-recovery.md +124 -0
- package/assets/helps/index.md +1 -1
- package/assets/helps/telegram.md +10 -4
- package/dist/artifacts/paths.cjs +22 -10
- package/dist/artifacts/paths.cjs.map +1 -1
- package/dist/artifacts/paths.d.ts +21 -7
- package/dist/artifacts/paths.js +22 -10
- package/dist/artifacts/paths.js.map +1 -1
- package/dist/plugin-vue/index.cjs +31 -12
- package/dist/plugin-vue/index.cjs.map +1 -1
- package/dist/plugin-vue/index.js +31 -12
- package/dist/plugin-vue/index.js.map +1 -1
- package/dist/remote-host/server/index.cjs +26 -4
- package/dist/remote-host/server/index.cjs.map +1 -1
- package/dist/remote-host/server/index.js +26 -4
- package/dist/remote-host/server/index.js.map +1 -1
- package/dist/remote-host/server/sessionPersistence.d.ts +7 -2
- package/package.json +5 -5
package/dist/plugin-vue/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
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)
|
|
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
|
|
2211
|
-
*
|
|
2212
|
-
*
|
|
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))
|
|
2225
|
-
|
|
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)
|
|
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(
|
|
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);
|